Fixed a buffer overflow.

This commit is contained in:
2021-09-03 07:59:36 -07:00
parent b61c78cec0
commit 4b55ec7b93
12 changed files with 104 additions and 103 deletions

View File

@ -7,8 +7,6 @@
#include "pokergame.h"
menulist_t ml;
bool pokerGameInit(game_t *game) {
pokergame_t *pokerGame = &game->pokerGame;
@ -31,11 +29,6 @@ bool pokerGameInit(game_t *game) {
pokerGameActionStartAdd(pokerGame);
queueNext(&pokerGame->scene.conversation.actionQueue);
// TESTING
menuListInit(&ml, &pokerGame->assets.testTexture);
menuListAdd(&ml, &pokerGame->assets.font, "One");
menuListAdd(&ml, &pokerGame->assets.font, "Two");
return true;
}
@ -58,9 +51,6 @@ void pokerGameUpdate(game_t *game) {
// Render the UI
vnSceneRenderGui(&pokerGame->scene, &game->engine, &pokerGame->assets.shader);
pokerUiRender(pokerGame);
menuListUpdate(&ml, &game->engine);
menuListRender(&ml, &game->pokerGame.assets.shader);
}
void pokerGameDispose(game_t *game) {

View File

@ -18,15 +18,12 @@ void pokerUiInit(pokergame_t *pokerGame) {
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);
labelInit(&playerUi->labelInfo);
playerUi->labelInfo.fontSize = 12.0;
}
labelInit(&pokerGame->ui.labelGameInfo);
pokerGame->ui.labelGameInfo.fontSize = 12.0f;
}
void pokerUiRender(pokergame_t *pokerGame) {
@ -35,19 +32,28 @@ void pokerUiRender(pokergame_t *pokerGame) {
uint8_t i;
char buffer[256];
sprintf(buffer, "Pot %i\n", pokerGame->poker.bet.pot);
labelSetText(&pokerGame->ui.labelGameInfo, &pokerGame->assets.font, buffer);
pokerGame->ui.labelGameInfo.x = 350;
labelRender(&pokerGame->ui.labelGameInfo, &pokerGame->assets.shader);
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
break;
playerUi = pokerGame->ui.players + i;
playerPoker = pokerGame->poker.players + i;
// Player Chips
sprintf(buffer, "%u chips", playerPoker->chips);
playerUi->labelChips.y = ((float)i+1.0f) * 32.0f;
labelSetText(&playerUi->labelChips, &pokerGame->assets.font, buffer);
labelRender(&playerUi->labelChips, &pokerGame->assets.shader);
// Player Name
labelRender(&playerUi->labelName, &pokerGame->assets.shader);
sprintf(buffer, "Player %u - %u chips - %s%s",
i,
playerPoker->chips,
i == POKER_PLAYER_HUMAN_INDEX ? "Human" : "AI",
i == pokerGame->poker.bet.better ? " Betting" :
playerPoker->state & POKER_PLAYER_STATE_FOLDED ? " Folded" :
playerPoker->state & POKER_PLAYER_STATE_OUT ? " Out" :
""
);
playerUi->labelInfo.y = (float)i * 32.0f;
labelSetText(&playerUi->labelInfo, &pokerGame->assets.font, buffer);
labelRender(&playerUi->labelInfo, &pokerGame->assets.shader);
}
}
@ -57,6 +63,6 @@ void pokerUiDispose(pokergame_t *pokerGame) {
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
player = pokerGame->ui.players + i;
labelDispose(&player->labelChips);
labelDispose(&player->labelInfo);
}
}