Refactored some tooling.
This commit is contained in:
@ -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
|
||||
)
|
@ -9,6 +9,8 @@
|
||||
|
||||
void engineInit(engine_t *engine) {
|
||||
randSeed(123);
|
||||
|
||||
engine->name = SETTING_GAME_NAME;
|
||||
|
||||
epochInit(&engine->time);
|
||||
renderInit();
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user