From 8349fed5a845504681fb2e90b4497223f12ff2ae Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Mon, 10 May 2021 21:42:09 -0700 Subject: [PATCH] working on some render tools --- assets/models/Poker Table/Poker Table.blend | Bin 813124 -> 813124 bytes assets/models/Poker Table/Poker Table.blend1 | Bin 0 -> 813124 bytes include/dawn/cards/poker/holdem.h | 20 +++ src/card/poker/action/action.c | 50 ++++++ src/card/poker/action/action.h | 32 ++++ src/card/poker/action/start.c | 35 ++++ src/card/poker/action/start.h | 15 ++ src/card/poker/holdemgame.c | 145 ++-------------- src/card/poker/holdemgame.h | 25 +-- src/card/poker/render/holdemrender.c | 172 +++++++++++++++++-- src/card/poker/render/holdemrender.h | 20 +++ 11 files changed, 358 insertions(+), 156 deletions(-) create mode 100644 assets/models/Poker Table/Poker Table.blend1 create mode 100644 src/card/poker/action/action.c create mode 100644 src/card/poker/action/action.h create mode 100644 src/card/poker/action/start.c create mode 100644 src/card/poker/action/start.h diff --git a/assets/models/Poker Table/Poker Table.blend b/assets/models/Poker Table/Poker Table.blend index 4f9cb55b197685efdcd31b802222ea8bceb3a4ae..73c6cb05d1bc3bf71f395f7ed9e77241b2585267 100644 GIT binary patch delta 2784 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 W{aXlui(TCAX}-YK<_p1J4F3-}PI@;0 diff --git a/assets/models/Poker Table/Poker Table.blend1 b/assets/models/Poker Table/Poker Table.blend1 new file mode 100644 index 0000000000000000000000000000000000000000..4f9cb55b197685efdcd31b802222ea8bceb3a4ae GIT binary patch literal 813124 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%0AKK|Eu6fCC=%3wi-OZ7H?;!SCJz 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

{)%Y;^xC;0P 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 + +/** + * Initializes the action manager. + */ +void holdemActionInit(); + +/** + * Adds an action to the action queue. + * + * @param action Action to add to the queue. + */ +void holdemActionAdd(holdemaction_t action); + +/** + * Updates the action manager, which (in turn) updates all actions that are + * currently running. + */ +void holdemActionUpdate(); + +/** + * Cleans up the action manager and all actions. + */ +void holdemActionDispose(); \ No newline at end of file diff --git a/src/card/poker/action/start.c b/src/card/poker/action/start.c new file mode 100644 index 00000000..76aa27c4 --- /dev/null +++ b/src/card/poker/action/start.c @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2021 Dominic Masters + * + * This software is released under the MIT License. + * https://opensource.org/licenses/MIT + */ + +#include "start.h" + +holdemaction_t actionStart() { + holdemaction_t action = { + .init = &actionStartInit, + .update = &actionStartUpdate, + .dispose = &actionStartDispose + }; + + return action; +} + +void actionStartInit(int32_t index, void *data) { + // holdemactionstart_t *convData = data; + + // Prepare the match + holdemMatchInit(&HOLDEM_GAME_STATE.match); + holdemRoundInit(&HOLDEM_GAME_STATE.match); + cardShuffle(HOLDEM_GAME_STATE.match.deck, HOLDEM_GAME_STATE.match.deckSize); + holdemFlop(&HOLDEM_GAME_STATE.match); +} + +void actionStartUpdate(int32_t index, void *data) { +} + +void actionStartDispose(int32_t index, void *data) { + +} \ No newline at end of file diff --git a/src/card/poker/action/start.h b/src/card/poker/action/start.h new file mode 100644 index 00000000..15107b8a --- /dev/null +++ b/src/card/poker/action/start.h @@ -0,0 +1,15 @@ +/** + * Copyright (c) 2021 Dominic Masters + * + * This software is released under the MIT License. + * https://opensource.org/licenses/MIT + */ + +#pragma once +#include + +holdemaction_t actionStart(); + +void actionStartInit(int32_t index, void *data); +void actionStartUpdate(int32_t index, void *data); +void actionStartDispose(int32_t index, void *data); \ No newline at end of file diff --git a/src/card/poker/holdemgame.c b/src/card/poker/holdemgame.c index f5f3b8e4..1bf1427d 100644 --- a/src/card/poker/holdemgame.c +++ b/src/card/poker/holdemgame.c @@ -9,144 +9,21 @@ holdemgame_t HOLDEM_GAME_STATE; void holdemGameInit() { - int32_t lWidth, rWidth, height; - card_t card; - tilesetdiv_t *cardBack; + // Prepare the renderer. + holdemRenderInit(); - // Create the initial frame buffers - lWidth = HOLDEM_GAME_FRAME_LEFT_WIDTH, rWidth = HOLDEM_GAME_FRAME_RIGHT_WIDTH; - height = HOLDEM_GAME_FRAME_HEIGHT; - HOLDEM_GAME_STATE.frameLeft = frameBufferCreate(lWidth, height); - HOLDEM_GAME_STATE.frameRight = frameBufferCreate(rWidth, height); - HOLDEM_GAME_STATE.quadLeft = quadCreate(0, 0, 0, 0, 0, lWidth, height, 1, 1); - HOLDEM_GAME_STATE.quadRight = quadCreate(0, 0, 0, 0, 0, rWidth, height, 1, 1); + // Prepare the action manager + holdemActionInit(); - // Font - HOLDEM_GAME_STATE.fontTexture = assetTextureLoad("font.png"); - HOLDEM_GAME_STATE.fontTileset = tilesetCreate(20, 20, - HOLDEM_GAME_STATE.fontTexture->width, - HOLDEM_GAME_STATE.fontTexture->height, - 1, 1, 1, 1 - ); - HOLDEM_GAME_STATE.fontBatch = spriteBatchCreate(1024); - - // Poker Table - HOLDEM_GAME_STATE.tablePrimitive = pokerTableCreate(); - HOLDEM_GAME_STATE.tableTexture = assetTextureLoad("pokertable.png"); - - // Kagami - HOLDEM_GAME_STATE.kagamiTexture = assetTextureLoad("kagami.png"); - HOLDEM_GAME_STATE.kagamiTileset = tilesetCreate(3, 2, - HOLDEM_GAME_STATE.kagamiTexture->width, - HOLDEM_GAME_STATE.kagamiTexture->height, - 0, 0, 0, 0 - ); - HOLDEM_GAME_STATE.kagamiQuad = quadCreate(0, 0, 0, 0, 0, 1, 1, 1, 1); - - // Load Cards Texture - HOLDEM_GAME_STATE.cardTexture = assetTextureLoad("cards_normal.png"); - HOLDEM_GAME_STATE.cardTileset = tilesetCreate(CARD_COUNT_PER_SUIT, 6, - HOLDEM_GAME_STATE.cardTexture->width, HOLDEM_GAME_STATE.cardTexture->height, - 0, 0, 0, 0 - ); - - // Cards Primitive - cardBack = HOLDEM_GAME_STATE.cardTileset->divisions+( - HOLDEM_GAME_STATE.cardTileset->columns * 4 - ); - HOLDEM_GAME_STATE.cardPrimitive = primitiveCreate( - QUAD_VERTICE_COUNT * 2, QUAD_INDICE_COUNT * 2 - ); - quadBuffer(HOLDEM_GAME_STATE.cardPrimitive, -HOLDEM_GAME_CARD_DEPTH, - -HOLDEM_GAME_CARD_WIDTH, -HOLDEM_GAME_CARD_HEIGHT, - cardBack->x0, cardBack->y1, - HOLDEM_GAME_CARD_WIDTH, HOLDEM_GAME_CARD_HEIGHT, - cardBack->x1, cardBack->y0, - QUAD_VERTICE_COUNT, QUAD_INDICE_COUNT - ); - - // Prepare match - holdemMatchInit(&HOLDEM_GAME_STATE.match); - holdemRoundInit(&HOLDEM_GAME_STATE.match); - cardShuffle(HOLDEM_GAME_STATE.match.deck, HOLDEM_GAME_STATE.match.deckSize); - holdemFlop(&HOLDEM_GAME_STATE.match); + // Start the first action + holdemActionAdd(actionStart()); } void holdemGameUpdate() { - int32_t lWidth, rWidth, height; + holdemActionUpdate(); + holdemRender(); +} - if(true) { - cameraPerspective(&HOLDEM_GAME_STATE.cameraLeft, 45, - ((float)RENDER_STATE.width/(float)RENDER_STATE.height), 1.0f, 1000.0f - ); - cameraLookAt(&HOLDEM_GAME_STATE.cameraLeft, 2, 2, 2, 0, 0, 0); - shaderUseCamera(GAME_STATE.shaderWorld, &HOLDEM_GAME_STATE.cameraLeft); - holdemRenderWorld(); - return; - } - - // Resize Frame buffers. - lWidth = HOLDEM_GAME_FRAME_LEFT_WIDTH, rWidth = HOLDEM_GAME_FRAME_RIGHT_WIDTH; - height = HOLDEM_GAME_FRAME_HEIGHT; - if( - HOLDEM_GAME_STATE.frameLeft->texture->width != lWidth || - HOLDEM_GAME_STATE.frameLeft->texture->height != height - ) { - frameBufferDispose(HOLDEM_GAME_STATE.frameLeft); - frameBufferDispose(HOLDEM_GAME_STATE.frameRight); - HOLDEM_GAME_STATE.frameLeft = frameBufferCreate(lWidth, height); - HOLDEM_GAME_STATE.frameRight = frameBufferCreate(rWidth, height); - quadBuffer(HOLDEM_GAME_STATE.quadLeft, 0, - 0, 0, 0, 1, - lWidth, height, 1, 0, - 0, 0 - ); - quadBuffer(HOLDEM_GAME_STATE.quadRight, 0, - 0, 0, 0, 1, - rWidth, height, 1, 0, - 0, 0 - ); - } - - // Render things on the left frame buffer - glClearColor(0.3, 0, 0, 1); - frameBufferUse(HOLDEM_GAME_STATE.frameLeft, true); - cameraPerspective(&HOLDEM_GAME_STATE.cameraLeft, 45, - ((float)lWidth/height), 1.0f, 1000.0f - ); - cameraLookAt(&HOLDEM_GAME_STATE.cameraLeft, 2, 2, 2, 0, 0, 0); - shaderUseCamera(GAME_STATE.shaderWorld, &HOLDEM_GAME_STATE.cameraLeft); - holdemRenderWorld(); - - - // Render things on the right frame buffer - glClearColor(0.3, 0.3, 0, 1); - frameBufferUse(HOLDEM_GAME_STATE.frameRight, true); - cameraPerspective(&HOLDEM_GAME_STATE.cameraRight, 45, - ((float)rWidth/height), 0.25f, 100.0f - ); - cameraLookAt(&HOLDEM_GAME_STATE.cameraRight, 0, 3, 3, 0, 0, 0); - shaderUseCamera(GAME_STATE.shaderWorld, &HOLDEM_GAME_STATE.cameraRight); - holdemRenderWorld(); - - - // Finally, render the frame buffers to the back buffer. - glClearColor(0, 0, 0, 1); - frameBufferUse(NULL, true); - cameraOrtho(&GAME_STATE.cameraWorld, 0, - RENDER_STATE.width, RENDER_STATE.height, 1, 0, 1 - ); - cameraLookAt(&GAME_STATE.cameraWorld, 0, 0, 0.5f, 0, 0, 0); - shaderUseCamera(GAME_STATE.shaderWorld, &GAME_STATE.cameraWorld); - - // L - shaderUsePosition(GAME_STATE.shaderWorld, 0, 0, 0, 0, 0, 0); - shaderUseTexture(GAME_STATE.shaderWorld, HOLDEM_GAME_STATE.frameLeft->texture); - primitiveDraw(HOLDEM_GAME_STATE.quadLeft, 0, -1); - // R - shaderUsePosition(GAME_STATE.shaderWorld, - RENDER_STATE.width-rWidth, 0, 0, 0, 0, 0 - ); - shaderUseTexture(GAME_STATE.shaderWorld, HOLDEM_GAME_STATE.frameRight->texture); - primitiveDraw(HOLDEM_GAME_STATE.quadRight, 0, -1); +void holdemGameDispose() { + holdemActionDispose(); } \ No newline at end of file diff --git a/src/card/poker/holdemgame.h b/src/card/poker/holdemgame.h index 142174f2..e3bb453a 100644 --- a/src/card/poker/holdemgame.h +++ b/src/card/poker/holdemgame.h @@ -10,19 +10,22 @@ #include "holdem.h" #include "render/holdemrender.h" #include "../card.h" -#include "../../display/framebuffer.h" -#include "../../display/debug/position.h" -#include "../../display/primitive.h" -#include "../../display/shader.h" -#include "../../display/camera.h" -#include "../../display/primitives/cube.h" -#include "../../display/tileset.h" -#include "../../display/primitives/quad.h" #include "../../file/asset.h" #include "../../display/gui/font.h" -#include "model/pokertable.h" - +#include "action/action.h" +#include "action/start.h" +/** + * Initializes the Texas Hold'em game + */ void holdemGameInit(); -void holdemGameUpdate(); \ No newline at end of file +/** + * Update the Texas Hold'em game. + */ +void holdemGameUpdate(); + +/** + * Dispose the Texas Hold'em game. + */ +void holdemGameDispose(); \ No newline at end of file diff --git a/src/card/poker/render/holdemrender.c b/src/card/poker/render/holdemrender.c index a0f82384..67caf428 100644 --- a/src/card/poker/render/holdemrender.c +++ b/src/card/poker/render/holdemrender.c @@ -7,9 +7,159 @@ #include "holdemrender.h" +void holdemRenderInit() { + int32_t lWidth, rWidth, height; + card_t card; + tilesetdiv_t *cardBack; + + // Prepare the two frame buffers. + lWidth = HOLDEM_GAME_FRAME_LEFT_WIDTH, rWidth = HOLDEM_GAME_FRAME_RIGHT_WIDTH; + height = HOLDEM_GAME_FRAME_HEIGHT; + HOLDEM_GAME_STATE.frameLeft = frameBufferCreate(lWidth, height); + HOLDEM_GAME_STATE.frameRight = frameBufferCreate(rWidth, height); + HOLDEM_GAME_STATE.quadLeft = quadCreate(0, 0, 0, 0, 0, lWidth, height, 1, 1); + HOLDEM_GAME_STATE.quadRight = quadCreate(0, 0, 0, 0, 0, rWidth, height, 1, 1); + + // Font + HOLDEM_GAME_STATE.fontTexture = assetTextureLoad("font.png"); + HOLDEM_GAME_STATE.fontTileset = tilesetCreate(20, 20, + HOLDEM_GAME_STATE.fontTexture->width, + HOLDEM_GAME_STATE.fontTexture->height, + 1, 1, 1, 1 + ); + HOLDEM_GAME_STATE.fontBatch = spriteBatchCreate(1024); + + // Poker Table + HOLDEM_GAME_STATE.tablePrimitive = pokerTableCreate(); + HOLDEM_GAME_STATE.tableTexture = assetTextureLoad("pokertable.png"); + + // Kagami + HOLDEM_GAME_STATE.kagamiTexture = assetTextureLoad("kagami.png"); + HOLDEM_GAME_STATE.kagamiTileset = tilesetCreate(3, 2, + HOLDEM_GAME_STATE.kagamiTexture->width, + HOLDEM_GAME_STATE.kagamiTexture->height, + 0, 0, 0, 0 + ); + HOLDEM_GAME_STATE.kagamiQuad = quadCreate(0, 0, 0, 0, 0, 1, 1, 1, 1); + + // Load Cards Texture + HOLDEM_GAME_STATE.cardTexture = assetTextureLoad("cards_normal.png"); + HOLDEM_GAME_STATE.cardTileset = tilesetCreate(CARD_COUNT_PER_SUIT, 6, + HOLDEM_GAME_STATE.cardTexture->width, HOLDEM_GAME_STATE.cardTexture->height, + 0, 0, 0, 0 + ); + + // Cards Primitive + cardBack = HOLDEM_GAME_STATE.cardTileset->divisions+( + HOLDEM_GAME_STATE.cardTileset->columns * 4 + ); + HOLDEM_GAME_STATE.cardPrimitive = primitiveCreate( + QUAD_VERTICE_COUNT * 2, QUAD_INDICE_COUNT * 2 + ); + quadBuffer(HOLDEM_GAME_STATE.cardPrimitive, -HOLDEM_GAME_CARD_DEPTH, + -HOLDEM_GAME_CARD_WIDTH, -HOLDEM_GAME_CARD_HEIGHT, + cardBack->x0, cardBack->y1, + HOLDEM_GAME_CARD_WIDTH, HOLDEM_GAME_CARD_HEIGHT, + cardBack->x1, cardBack->y0, + QUAD_VERTICE_COUNT, QUAD_INDICE_COUNT + ); +} + +void holdemRender() { + int32_t lWidth, rWidth, height; + + // Resize Frame buffers. + lWidth = HOLDEM_GAME_FRAME_LEFT_WIDTH, rWidth = HOLDEM_GAME_FRAME_RIGHT_WIDTH; + height = HOLDEM_GAME_FRAME_HEIGHT; + if( + HOLDEM_GAME_STATE.frameLeft->texture->width != lWidth || + HOLDEM_GAME_STATE.frameLeft->texture->height != height + ) { + frameBufferDispose(HOLDEM_GAME_STATE.frameLeft); + frameBufferDispose(HOLDEM_GAME_STATE.frameRight); + HOLDEM_GAME_STATE.frameLeft = frameBufferCreate(lWidth, height); + HOLDEM_GAME_STATE.frameRight = frameBufferCreate(rWidth, height); + quadBuffer(HOLDEM_GAME_STATE.quadLeft, 0, + 0, 0, 0, 1, + lWidth, height, 1, 0, + 0, 0 + ); + quadBuffer(HOLDEM_GAME_STATE.quadRight, 0, + 0, 0, 0, 1, + rWidth, height, 1, 0, + 0, 0 + ); + } + + // Render things on the left frame buffer + glClearColor(0.3, 0, 0, 1); + frameBufferUse(HOLDEM_GAME_STATE.frameLeft, true); + cameraPerspective(&HOLDEM_GAME_STATE.cameraLeft, 25, + ((float)lWidth/height), 0.2f, 1000.0f + ); + // cameraLookAt(&HOLDEM_GAME_STATE.cameraLeft, 2, 2, 2, 0, 0, 0); + holdemLookHand(&HOLDEM_GAME_STATE.cameraLeft, 0x00); + shaderUseCamera(GAME_STATE.shaderWorld, &HOLDEM_GAME_STATE.cameraLeft); + holdemRenderWorld(); + + // Render things on the right frame buffer + glClearColor(0.3, 0.3, 0, 1); + frameBufferUse(HOLDEM_GAME_STATE.frameRight, true); + cameraPerspective(&HOLDEM_GAME_STATE.cameraRight, 45, + ((float)rWidth/height), 0.25f, 100.0f + ); + cameraLookAt(&HOLDEM_GAME_STATE.cameraRight, 0, 3, 3, 0, 0, 0); + shaderUseCamera(GAME_STATE.shaderWorld, &HOLDEM_GAME_STATE.cameraRight); + holdemRenderWorld(); + + // Finally, render the frame buffers to the back buffer. + glClearColor(0, 0, 0, 1); + frameBufferUse(NULL, true); + cameraOrtho(&GAME_STATE.cameraWorld, 0, + RENDER_STATE.width, RENDER_STATE.height, 1, 0, 1 + ); + cameraLookAt(&GAME_STATE.cameraWorld, 0, 0, 0.5f, 0, 0, 0); + shaderUseCamera(GAME_STATE.shaderWorld, &GAME_STATE.cameraWorld); + shaderUsePosition(GAME_STATE.shaderWorld, + 0, 0, 0, 0, 0, 0 + ); + shaderUseTexture(GAME_STATE.shaderWorld, HOLDEM_GAME_STATE.frameLeft->texture); + primitiveDraw(HOLDEM_GAME_STATE.quadLeft, 0, -1); + shaderUsePosition(GAME_STATE.shaderWorld, + RENDER_STATE.width-rWidth, 0, 0, 0, 0, 0 + ); + shaderUseTexture(GAME_STATE.shaderWorld, HOLDEM_GAME_STATE.frameRight->texture); + primitiveDraw(HOLDEM_GAME_STATE.quadRight, 0, -1); +} + +void holdemLookSeat(camera_t *camera, uint8_t seat) { + float x, z, angle; + + angle = mathDeg2Rad(-45*seat); + x = sin(angle); + z = cos(angle); + cameraLookAt(&HOLDEM_GAME_STATE.cameraLeft, + x, 0.2, z, + -x, 0.2, -z + ); +} + +void holdemLookHand(camera_t *camera, uint8_t seat) { + float x, lx, z, lz, angle, distance; + + angle = mathDeg2Rad(-45*seat); + x = sin(angle); + z = cos(angle); + + cameraLookAt(&HOLDEM_GAME_STATE.cameraLeft, + x*0.1, 0.8, z*0.1, + -x*0.5, 0.2, -z*0.5 + ); +} + void holdemRenderPlayer(float x, float y, float z, float yaw) { float w, h; - w = 0.75, h = ( + w = 0.6, h = ( (float)HOLDEM_GAME_STATE.kagamiTileset->divY / (float)HOLDEM_GAME_STATE.kagamiTileset->divX ) * w; @@ -55,15 +205,15 @@ void holdemRenderWorld() { // Poker Table shaderUsePositionAndScale(GAME_STATE.shaderWorld, - 0, -0.01, 0.05, + 0, -0.01, 0, 0, 0, 0, - 3.29, 3.29, 3.29 + 3.4, 3.4, 3.4 ); shaderUseTexture(GAME_STATE.shaderWorld, HOLDEM_GAME_STATE.tableTexture); primitiveDraw(HOLDEM_GAME_STATE.tablePrimitive, 0, -1); - + + pitch = mathDeg2Rad(-90); for(j = 0; j < HOLDEM_GAME_STATE.match.cardsFacing; j++) { - pitch = mathDeg2Rad(-90); holdemRenderCard(HOLDEM_GAME_STATE.match.cards[j], j*0.2, 0, -0.2, pitch, 0, 0); } @@ -100,10 +250,10 @@ void holdemRenderWorld() { spriteBatchDraw(HOLDEM_GAME_STATE.fontBatch, 0, -1); // Draw the players - float playerY = 0; + float playerY = 0.34; holdemRenderPlayer(0, playerY, -1, 0); - holdemRenderPlayer(-1, playerY, -0, 90); - holdemRenderPlayer(-0.75, playerY, 0.75, -45); - holdemRenderPlayer(0.75, playerY, 0.75, 45); - holdemRenderPlayer(1, playerY, 0, -90); -} \ No newline at end of file + // holdemRenderPlayer(-1, playerY, -0, 90); + // holdemRenderPlayer(-0.75, playerY, 0.75, -45); + // holdemRenderPlayer(0.75, playerY, 0.75, 45); + // holdemRenderPlayer(1, playerY, 0, -90); +} diff --git a/src/card/poker/render/holdemrender.h b/src/card/poker/render/holdemrender.h index a2ef9a4c..2395feb2 100644 --- a/src/card/poker/render/holdemrender.h +++ b/src/card/poker/render/holdemrender.h @@ -12,10 +12,30 @@ #include "../../../display/primitives/quad.h" #include "../../../display/spritebatch.h" #include "../../../display/gui/font.h" +#include "../../../display/framebuffer.h" +#include "../../../display/camera.h" +#include "../../../display/primitives/cube.h" +#include "../../../display/tileset.h" #include "../../../util/math.h" +#include "../model/pokertable.h" + +/** + * Prepare the Hold'em Game Renderer. + */ +void holdemRenderInit(); + +/** + * Render the Texas Hold'em Game. + */ +void holdemRender(); + +void holdemLookSeat(camera_t *camera, uint8_t seat); +void holdemLookHand(camera_t *camera, uint8_t seat); void holdemRenderPlayer(float x, float y, float z, float yaw); + void holdemRenderCard(card_t card, float x, float y, float z, float pitch, float yaw, float roll ); + void holdemRenderWorld(); \ No newline at end of file