Improved Language Support

This commit is contained in:
2021-08-04 21:58:31 -07:00
parent 23f1cb3d7e
commit b62beee3e4
13 changed files with 221 additions and 43 deletions

View File

@ -7,6 +7,8 @@
#include <dawn/dawn.h>
#include "../engine/engine.h"
#include "../locale/language.h"
#if SETTING_GAME == SETTING_GAME_POKER
#include "poker/pokergame.h"
#elif SETTING_GAME == SETTING_GAME_DAWN

View File

@ -7,8 +7,6 @@
#include "pokergame.h"
label_t label;
bool pokerGameInit(game_t *game) {
pokergame_t *pokerGame = &game->pokerGame;
@ -17,26 +15,13 @@ bool pokerGameInit(game_t *game) {
// Load the Assets
pokerGameAssetsInit(&pokerGame->assets);
// Initialize the UI.
pokerUiInit(pokerGame);
// Prep the VN Conversation Engine.
vnSceneInit(&pokerGame->scene, &pokerGame->assets.font);
pokerGameActionStartAdd(pokerGame);
labelInit(&label);
label.y = 32;
label.fontSize = 8.0;
labelSetText(&label, &pokerGame->assets.font, "Hello World");
// pokerActionMatchAdd(&pokerGame->scene.conversation.actionQueue, &pokerGame->poker);
// pokerActionMatchAdd(&pokerGame->scene.conversation.actionQueue, &pokerGame->poker);
// pokerActionRoundAdd(&pokerGame->scene.conversation.actionQueue, &pokerGame->poker);
// pokerActionBlindsAdd(&pokerGame->scene.conversation.actionQueue, &pokerGame->poker);
// pokerActionDealAdd(&pokerGame->scene.conversation.actionQueue, &pokerGame->poker);
// vnConversationTalk(&pokerGame->scene.conversation, "Betting Round", NULL);
// pokerActionFlopAdd(&pokerGame->scene.conversation.actionQueue, &pokerGame->poker);
// Begin the VN conversation queue.
queueNext(&pokerGame->scene.conversation.actionQueue);
return true;
@ -54,11 +39,13 @@ void pokerGameUpdate(game_t *game) {
// Render the visual novel scene
vnSceneRenderWorld(&pokerGame->scene, &game->engine, &pokerGame->assets.shader);
vnSceneRenderGui(&pokerGame->scene, &game->engine, &pokerGame->assets.shader);
labelRender(&label, &pokerGame->assets.shader);
pokerUiRender(pokerGame);
}
void pokerGameDispose(game_t *game) {
pokerUiDispose(&game->pokerGame);
vnSceneDispose(&game->pokerGame.scene);
pokerGameAssetsDispose(&game->pokerGame.assets);
}

View File

@ -12,8 +12,7 @@
#include "../../vn/conversation/talk.h"
#include "../../vn/vnscene.h"
#include "actions/start.h"
#include "../../ui/label.h"
#include "pokerui.h"
/**
* Initializes the game state for the poker game.

View File

@ -7,6 +7,55 @@
#include "pokerui.h"
void pokerUiInit(pokerui_t *ui) {
void pokerUiInit(pokergame_t *pokerGame) {
pokerplayerui_t *playerUi;
pokerplayer_t *playerPoker;
vncharacter_t *character;
uint8_t i;
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
playerUi = pokerGame->ui.players + i;
playerPoker = pokerGame->poker.players + i;
character = pokerGame->scene.characters + i;
// Chips label
labelInit(&playerUi->labelChips);
playerUi->labelChips.fontSize = 12.0;
// Name Label
labelInit(&playerUi->labelName);
playerUi->labelName.fontSize = 12.0;
// labelSetText(&playerUi->labelChips, &pokerGame->assets.font, character->name);
}
}
void pokerUiRender(pokergame_t *pokerGame) {
pokerplayerui_t *playerUi;
pokerplayer_t *playerPoker;
uint8_t i;
char buffer[256];
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
playerUi = pokerGame->ui.players + i;
playerPoker = pokerGame->poker.players + i;
// Player Chips
sprintf(buffer, "%u chips", playerPoker->chips);
playerUi->labelChips.y = (i+1) * 32;
labelSetText(&playerUi->labelChips, &pokerGame->assets.font, buffer);
labelRender(&playerUi->labelChips, &pokerGame->assets.shader);
// Player Name
labelRender(&playerUi->labelName, &pokerGame->assets.shader);
}
}
void pokerUiDispose(pokergame_t *pokerGame) {
pokerplayerui_t *player;
uint8_t i;
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
player = pokerGame->ui.players + i;
labelDispose(&player->labelChips);
}
}

View File

@ -9,4 +9,8 @@
#include <dawn/dawn.h>
#include "../../ui/label.h"
void pokerUiInit(pokerui_t *ui);
void pokerUiInit(pokergame_t *pokerGame);
void pokerUiRender(pokergame_t *pokerGame);
void pokerUiDispose(pokergame_t *pokerGame);