Dawn/src/game/poker/pokergame.c
2021-08-19 23:07:20 -07:00

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