56 lines
1.4 KiB
C
56 lines
1.4 KiB
C
/**
|
|
* Copyright (c) 2021 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#include "pokergame.h"
|
|
|
|
bool pokerGameInit(game_t *game) {
|
|
pokergame_t *pokerGame = &game->pokerGame;
|
|
|
|
// Load the Assets
|
|
pokerGameAssetsInit(&pokerGame->assets);
|
|
|
|
// Initialize the world
|
|
pokerRenderInit(&pokerGame->render);
|
|
|
|
// Initialize the UI.
|
|
pokerUiInit(pokerGame);
|
|
|
|
// Prep the VN Conversation Engine.
|
|
vnSceneInit(&pokerGame->scene, &pokerGame->assets.font, &pokerGame->assets.testTexture);
|
|
pokerGameActionStartAdd(pokerGame);
|
|
queueNext(&pokerGame->scene.conversation.actionQueue);
|
|
|
|
return true;
|
|
}
|
|
|
|
void pokerGameUpdate(game_t *game) {
|
|
pokergame_t *pokerGame;
|
|
pokerGame = &game->pokerGame;
|
|
|
|
// Update the scene
|
|
vnSceneUpdate(&pokerGame->scene, &game->engine);
|
|
|
|
// Bind the shader.
|
|
shaderUse(&pokerGame->assets.shader);
|
|
|
|
// Render the visual novel scene
|
|
vnSceneRenderWorld(&pokerGame->scene,&game->engine,&pokerGame->assets.shader);
|
|
|
|
// Render the world
|
|
pokerRenderRender(&pokerGame->render, &game->engine, &pokerGame->assets);
|
|
|
|
// Render the UI
|
|
vnSceneRenderGui(&pokerGame->scene, &game->engine, &pokerGame->assets.shader);
|
|
pokerUiRender(pokerGame);
|
|
}
|
|
|
|
void pokerGameDispose(game_t *game) {
|
|
pokerUiDispose(&game->pokerGame);
|
|
pokerRenderDispose(&game->pokerGame.render);
|
|
vnSceneDispose(&game->pokerGame.scene);
|
|
pokerGameAssetsDispose(&game->pokerGame.assets);
|
|
} |