Refactored some tooling.

This commit is contained in:
2021-10-16 20:06:17 -07:00
parent 97a8d936b5
commit d8ded38fd5
11 changed files with 260 additions and 46 deletions

View File

@ -14,16 +14,10 @@ target_link_libraries(game PUBLIC
stb
)
# Set up flags
target_compile_definitions(game PRIVATE
add_compile_definitions(
SETTING_PLATFORM_GLFW=1
SETTING_PLATFORM=1
SETTING_PLATFORM_USE_GLAD=1
SETTING_ASSET_PREFIX="../../../assets/"
SETTING_GAME_NAME="DawnGame"
SETTING_GAME_POKER=1
SETTING_GAME_DAWN=2
SETTING_GAME_SANDBOX=3
SETTING_GAME=3
)

View File

@ -9,6 +9,8 @@
void engineInit(engine_t *engine) {
randSeed(123);
engine->name = SETTING_GAME_NAME;
epochInit(&engine->time);
renderInit();

View File

@ -34,6 +34,7 @@ char * assetStringLoad(char *assetName) {
assetbuffer_t * assetBufferOpen(char *assetName) {
// Get the directory based on the raw input by creating a new string.
FILE *fptr;
size_t lenAsset = strlen(assetName);// Get the length of asset
size_t lenPrefix = strlen(SETTING_ASSET_PREFIX);// Get the length of the prefix
@ -48,7 +49,7 @@ assetbuffer_t * assetBufferOpen(char *assetName) {
printf("Opening up %s\n", joined);
// Open the file pointer now.
FILE *fptr = fopen(joined, "rb");
fptr = fopen(joined, "rb");
free(joined);// Free the string we just created
if(!fptr) return NULL;// File available?
return (assetbuffer_t *)fptr;

View File

@ -4,36 +4,24 @@
// https://opensource.org/licenses/MIT
#pragma once
#if !defined(GAME_TYPE)
#error You need to define the GAME_TYPE struct
#elif !defined(GAME_INIT)
#error You need to define the GAME_INIT method
#elif !defined(GAME_UPDATE)
#error You need to define the GAME_UPDATE method
#elif !defined(GAME_DISPOSE)
#error You need to define the GAME_DISPOSE method
#elif !defined(GAME_FILE)
#error You need to define the GAME_FILE string
#endif
#include "../libs.h"
#include "../engine/engine.h"
#include "../locale/language.h"
#include GAME_FILE
#define SETTING_GAME_SANDBOX 3
#define SETTING_GAME SETTING_GAME_SANDBOX
/** Describes the current game */
#if SETTING_GAME == SETTING_GAME_POKER
#include "poker/game.h"
typedef pokergame_t game_t;
#define GAME_INIT pokerGameInit
#define GAME_UPDATE pokerGameUpdate
#define GAME_DISPOSE pokerGameDispose
#elif SETTING_GAME == SETTING_GAME_DAWN
#include "dawn/dawngame.h"
typedef dawngame_t game_t;
#define GAME_INIT dawnGameInit
#define GAME_UPDATE dawnGameUpdate
#define GAME_DISPOSE dawnGameDispose
#elif SETTING_GAME == SETTING_GAME_SANDBOX
#include "sandbox/sandboxscene.h"
typedef sandboxscene_t game_t;
#define GAME_INIT sandboxSceneInit
#define GAME_UPDATE sandboxSceneUpdate
#define GAME_DISPOSE sandboxSceneDispose
#endif
typedef GAME_TYPE game_t;
/**
* Initialize the game context.

View File

@ -9,22 +9,22 @@
bool pokerGameAssetsInit(pokergameassets_t *assets) {
// Load the game's shader
assetShaderLoad(&assets->shader,
"shaders/textured.vert", "shaders/textured.frag"
"shared/shaders/textured.vert", "shared/shaders/textured.frag"
);
// Load the game's font
assetFontLoad(&assets->font, "fonts/opensans/OpenSans-Bold.ttf");
assetFontLoad(&assets->font, "shared/fonts/opensans/OpenSans-Bold.ttf");
// Initialize the language buffer.
languageInit(&assets->language, "locale/language/en-US.csv");
// Load the world textures.
assetTextureLoad(&assets->testTexture, "test_texture.png");
assetTextureLoad(&assets->cardTexture, "cards_normal.png");
assetTextureLoad(&assets->roomTexture, "world/pub/pub_skywall.png");
assetTextureLoad(&assets->testTexture, "shared/test_texture.png");
assetTextureLoad(&assets->cardTexture, "poker/cards_normal.png");
assetTextureLoad(&assets->roomTexture, "poker/world/pub/pub_skywall.png");
// Load the character textures.
assetTextureLoad(&assets->pennyTexture, "characters/penny/sprites/sheet.png");
assetTextureLoad(&assets->pennyTexture, "poker/characters/penny/sprites/sheet.png");
return true;
}