Render x/y for UI elements.
This commit is contained in:
@ -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.
|
||||
*
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
51
src/game/poker/ui/pokerplayerui.c
Normal file
51
src/game/poker/ui/pokerplayerui.c
Normal 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);
|
||||
}
|
20
src/game/poker/ui/pokerplayerui.h
Normal file
20
src/game/poker/ui/pokerplayerui.h
Normal 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);
|
39
src/game/poker/ui/pokerui.c
Normal file
39
src/game/poker/ui/pokerui.c
Normal 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);
|
||||
}
|
||||
}
|
@ -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.
|
Reference in New Issue
Block a user