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

@ -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;
}