Moving some code around
This commit is contained in:
@ -7,13 +7,17 @@
|
||||
|
||||
#include "poker.h"
|
||||
|
||||
void pokerInit(poker_t *poker) {
|
||||
void pokerInit(poker_t *poker, render_t *render) {
|
||||
// Load the main shader
|
||||
assetShaderLoad(&poker->shader,
|
||||
"shaders/textured.vert", "shaders/textured.frag"
|
||||
);
|
||||
|
||||
// Load the main font
|
||||
assetFontLoad(&poker->font, "fonts/opensans/OpenSans-Bold.ttf");
|
||||
|
||||
// Initialize the render stuffs.
|
||||
pokerFrameInit(poker, render);
|
||||
pokerWorldInit(poker);
|
||||
pokerCardInit(poker);
|
||||
pokerPlayerInit(poker);
|
||||
@ -33,15 +37,15 @@ void pokerUpdate(poker_t *poker, render_t *render) {
|
||||
}
|
||||
|
||||
// Rendering
|
||||
cameraPerspective(&poker->camera, 20,render->width/render->height,0.001,1000);
|
||||
shaderUse(&poker->shader);
|
||||
shaderUseCamera(&poker->shader, &poker->camera);
|
||||
|
||||
pokerFrameWorld(poker, render);
|
||||
pokerWorldRender(poker);
|
||||
for(uint8_t pi = 0; pi < POKER_PLAYER_COUNT; pi++) {
|
||||
uint8_t seat = pokerPlayerGetSeatForPlayer(pi);
|
||||
pokerPlayerRender(poker, poker->players + pi, seat);
|
||||
}
|
||||
|
||||
pokerFrameGui(poker, render);
|
||||
}
|
||||
|
||||
void pokerDispose(poker_t * poker) {
|
||||
|
@ -7,20 +7,25 @@
|
||||
|
||||
#pragma once
|
||||
#include <dawn/dawn.h>
|
||||
|
||||
#include "round/match.h"
|
||||
#include "render/frame.h"
|
||||
#include "render/world.h"
|
||||
#include "render/card.h"
|
||||
#include "render/player.h"
|
||||
#include "render/look.h"
|
||||
|
||||
#include "../file/asset.h"
|
||||
#include "../display/shader.h"
|
||||
#include "../display/camera.h"
|
||||
#include "../display/gui/font.h"
|
||||
|
||||
/**
|
||||
* Initializes the poker context for the first time.
|
||||
* @param poker Poker context to initialize.
|
||||
* @param render Rendering context.
|
||||
*/
|
||||
void pokerInit(poker_t *poker);
|
||||
void pokerInit(poker_t *poker, render_t *render);
|
||||
|
||||
/**
|
||||
* Updates the poker context.
|
||||
|
53
src/poker/render/frame.c
Normal file
53
src/poker/render/frame.c
Normal file
@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "frame.h"
|
||||
|
||||
primitive_t bruh;
|
||||
|
||||
void pokerFrameInit(poker_t *poker, render_t *render) {
|
||||
frameBufferInit(&poker->frameWorld, render->width, render->height);
|
||||
frameBufferInit(&poker->frameGui, render->width, render->height);
|
||||
|
||||
fonttextinfo_t info;
|
||||
char *text = "Hello\n World";
|
||||
info = fontGetTextInfo(&poker->font, text);
|
||||
fontmeasure_t *measure = fontTextMeasure(&poker->font, text, &info, 16);
|
||||
fontTextInitFromMeasure(&poker->font, &bruh, text, &info, measure);
|
||||
fontTextMeasureDispose(measure);
|
||||
}
|
||||
|
||||
void pokerFrameWorld(poker_t *poker, render_t *render) {
|
||||
// Update the frame buffer
|
||||
frameBufferResize(&poker->frameWorld, render->width, render->height);
|
||||
|
||||
// Correct the aspect on the perspective camera for the world
|
||||
cameraPerspective(&poker->cameraWorld, 20,
|
||||
render->width / render->height,
|
||||
0.001, 1000
|
||||
);
|
||||
shaderUseCamera(&poker->shader, &poker->cameraWorld);
|
||||
}
|
||||
|
||||
void pokerFrameGui(poker_t *poker, render_t *render) {
|
||||
// Update FB
|
||||
frameBufferResize(&poker->frameGui, render->width, render->height);
|
||||
// frameBufferUse(&poker->frameGui, true);
|
||||
|
||||
// Correct aspect on the ortho camera
|
||||
cameraOrtho(&poker->cameraGui,
|
||||
0, render->width,
|
||||
render->height, 0,
|
||||
0.01, 100
|
||||
);
|
||||
cameraLookAt(&poker->cameraGui, 0, 0, 5, 0, 0, 0);
|
||||
shaderUseCamera(&poker->shader, &poker->cameraGui);
|
||||
|
||||
shaderUsePosition(&poker->shader, 0,0,0, 0,0,0);
|
||||
shaderUseTexture(&poker->shader, &poker->font.texture);
|
||||
primitiveDraw(&bruh, 0, -1);
|
||||
}
|
41
src/poker/render/frame.h
Normal file
41
src/poker/render/frame.h
Normal file
@ -0,0 +1,41 @@
|
||||
/**
|
||||
* 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 "../../display/framebuffer.h"
|
||||
#include "../../display/primitive.h"
|
||||
#include "../../display/texture.h"
|
||||
#include "../../display/shader.h"
|
||||
#include "../../display/camera.h"
|
||||
#include "../../display/primitives/quad.h"
|
||||
|
||||
#include "../../display/gui/font.h"
|
||||
|
||||
/**
|
||||
* Initializes the various frame buffers for the poker game.
|
||||
*
|
||||
* @param poker Poker game to initialize for
|
||||
* @param render Rendering context.
|
||||
*/
|
||||
void pokerFrameInit(poker_t *poker, render_t *render);
|
||||
|
||||
/**
|
||||
* Bind the world frame, this will also correct the camera angles.
|
||||
*
|
||||
* @param poker Poker game context.
|
||||
* @param render Rendering engine context.
|
||||
*/
|
||||
void pokerFrameWorld(poker_t *poker, render_t *render);
|
||||
|
||||
/**
|
||||
* Bind the frame for GUI rendering.
|
||||
*
|
||||
* @param poker Poker game context.
|
||||
* @param render Rendering engine context.
|
||||
*/
|
||||
void pokerFrameGui(poker_t *poker, render_t *render);
|
8
src/poker/render/talk.c
Normal file
8
src/poker/render/talk.c
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "talk.h"
|
11
src/poker/render/talk.h
Normal file
11
src/poker/render/talk.h
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
* 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 "../../display/gui/font.h"
|
||||
#include "../../display/primitive.h"
|
@ -32,7 +32,7 @@ void pokerDealInit(poker_t *poker) {
|
||||
}
|
||||
|
||||
// Hard look at the dealer
|
||||
pokerLookAtPlayer(&poker->camera, POKER_SEAT_DEALER);
|
||||
pokerLookAtPlayer(&poker->cameraWorld, POKER_SEAT_DEALER);
|
||||
|
||||
// Shuffle the deck
|
||||
for(x = 0; x < CARD_DECK_SIZE - 1; x++) {
|
||||
|
@ -8,6 +8,10 @@
|
||||
|
||||
void pokerMatchInit(poker_t *poker) {
|
||||
uint8_t x;
|
||||
|
||||
// Look at the dealer
|
||||
pokerLookAtPlayer(&poker->cameraWorld, POKER_SEAT_DEALER);
|
||||
|
||||
// Reset the main game state. This does not init the round.
|
||||
poker->blindBig = POKER_BLIND_BIG_DEFAULT;
|
||||
poker->blindSmall = POKER_BLIND_SMALL_DEFAULT;
|
||||
@ -17,6 +21,8 @@ void pokerMatchInit(poker_t *poker) {
|
||||
poker->players[x].state = 0x00;
|
||||
poker->players[x].chips = POKER_PLAYER_CHIPS_DEFAULT;
|
||||
}
|
||||
|
||||
printf("Match start\n");
|
||||
}
|
||||
|
||||
void pokerMatchUpdate(poker_t *poker) {
|
||||
|
@ -8,6 +8,7 @@
|
||||
#pragma once
|
||||
#include <dawn/dawn.h>
|
||||
#include "deal.h"
|
||||
#include "../render/look.h"
|
||||
|
||||
/**
|
||||
* Init the poker match round.
|
||||
|
Reference in New Issue
Block a user