Render x/y for UI elements.

This commit is contained in:
2021-09-03 19:02:37 -07:00
parent 4b55ec7b93
commit c0d13042b4
32 changed files with 196 additions and 155 deletions

View File

@ -13,12 +13,10 @@
#include "../../vn/vnscene.h"
#include "../../util/array.h"
#include "actions/start.h"
#include "pokerui.h"
#include "ui/pokerui.h"
#include "pokerworld.h"
#include "actions/start.h"
#include "../../ui/menulist.h"
/**
* Initializes the game state for the poker game.
*

View File

@ -1,68 +0,0 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#include "pokerui.h"
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;
labelInit(&playerUi->labelInfo);
playerUi->labelInfo.fontSize = 12.0;
}
labelInit(&pokerGame->ui.labelGameInfo);
pokerGame->ui.labelGameInfo.fontSize = 12.0f;
}
void pokerUiRender(pokergame_t *pokerGame) {
pokerplayerui_t *playerUi;
pokerplayer_t *playerPoker;
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++) {
playerUi = pokerGame->ui.players + i;
playerPoker = pokerGame->poker.players + i;
// Player Chips
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);
}
}
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->labelInfo);
}
}

View File

@ -0,0 +1,51 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#include "pokerplayerui.h"
void pokerPlayerUiInit(pokerplayerui_t *ui) {
labelInit(&ui->label);
}
void pokerPlayerUiRender(
pokerplayerui_t *ui, pokergame_t *game, shader_t *shader, font_t *font,
int32_t playerIndex, float x, float y
) {
pokerplayer_t *player;
char buffer[32];
float scale;
scale = fontGetScale(FONT_SIZE_DEFAULT);
player = game->poker.players + playerIndex;
// Render chips
sprintf(buffer, "$%i", player->chips);
labelSetText(&ui->label, font, buffer);
labelRender(&ui->label, shader, x, y);
// Render state
if(player->state & POKER_PLAYER_STATE_OUT) {
sprintf(buffer, "Out");
} else if(player->state & POKER_PLAYER_STATE_FOLDED) {
sprintf(buffer, "Folded");
} else if(player->state & POKER_PLAYER_STATE_SHOWING) {
sprintf(buffer, "Showing");
} else if(game->poker.bet.better == playerIndex) {
sprintf(buffer, "Thinking");
} else {
sprintf(buffer, "Whatever");
}
labelSetText(&ui->label, font, buffer);
labelRender(&ui->label, shader, x, y + scale * FONT_LINE_HEIGHT);
// Render face?
}
void pokerPlayerUiDispose(pokerplayerui_t *ui) {
labelDispose(&ui->label);
}

View File

@ -0,0 +1,20 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include <dawn/dawn.h>
#include "../../../ui/label.h"
void pokerPlayerUiInit(pokerplayerui_t *ui);
void pokerPlayerUiRender(
pokerplayerui_t *ui, pokergame_t *game, shader_t *shader, font_t *font,
int32_t playerIndex, float x, float y
);
void pokerPlayerUiDispose(pokerplayerui_t *ui);

View File

@ -0,0 +1,39 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#include "pokerui.h"
void pokerUiInit(pokergame_t *pokerGame) {
uint8_t i;
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
pokerPlayerUiInit(pokerGame->ui.player + i);
}
}
void pokerUiRender(pokergame_t *pokerGame) {
uint8_t i;
pokerplayerui_t *ui;
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
ui = pokerGame->ui.player + i;
pokerPlayerUiRender(ui, pokerGame,
&pokerGame->assets.shader, &pokerGame->assets.font,
i,
i * 150.0f, 0
);
}
}
void pokerUiDispose(pokergame_t *pokerGame) {
uint8_t i;
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
pokerPlayerUiDispose(pokerGame->ui.player + i);
}
}

View File

@ -7,7 +7,8 @@
#pragma once
#include <dawn/dawn.h>
#include "../../ui/label.h"
#include "../../../ui/label.h"
#include "pokerplayerui.h"
/**
* Initializes the UI Module.