Refactoring some of the poker game logic again.
This commit is contained in:
68
temp/render/player.c
Normal file
68
temp/render/player.c
Normal file
@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "player.h"
|
||||
|
||||
void pokerPlayerInit(poker_t *poker) {
|
||||
uint8_t i;
|
||||
pokerplayer_t *player;
|
||||
float w, h;
|
||||
|
||||
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
|
||||
player = poker->players + i;
|
||||
assetTextureLoad(&player->bodyTexture, "characters/penny/textures/body.png");
|
||||
assetTextureLoad(&player->faceTexture, "characters/penny/textures/face.png");
|
||||
|
||||
w = 0.6;
|
||||
h=((float)player->faceTexture.width)/((float)player->faceTexture.height)*w;
|
||||
w = w / 2;
|
||||
h = h / 2;
|
||||
quadInit(&player->bodyPrimitive, 0,
|
||||
-w, -h, 0, 1,
|
||||
w, h, 1, 0
|
||||
);
|
||||
quadInit(&player->facePrimitive, 0,
|
||||
-w, -h, 0, 1,
|
||||
w, h, 1, 0
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t pokerPlayerGetSeatForPlayer(uint8_t player) {
|
||||
switch(player) {
|
||||
case 0x01:
|
||||
return POKER_SEAT_PLAYER1;
|
||||
case 0x02:
|
||||
return POKER_SEAT_PLAYER2;
|
||||
case 0x03:
|
||||
return POKER_SEAT_PLAYER3;
|
||||
case 0x04:
|
||||
return POKER_SEAT_PLAYER4;
|
||||
default:
|
||||
return POKER_SEAT_PLAYER0;
|
||||
}
|
||||
}
|
||||
|
||||
void pokerPlayerRender(poker_t* poker, pokerplayer_t *player, uint8_t seat) {
|
||||
float x, z, angle;
|
||||
float w, h;
|
||||
|
||||
// Determine position
|
||||
angle = POKER_SEAT_ANGLE(seat);
|
||||
x = sin(angle) * -1;
|
||||
z = cos(angle) * -1;
|
||||
|
||||
shaderUsePosition(&poker->shader, x,0.34,z, 0,angle,0);
|
||||
|
||||
// Render Body
|
||||
shaderUseTexture(&poker->shader, &player->bodyTexture);
|
||||
primitiveDraw(&player->bodyPrimitive, 0, -1);
|
||||
|
||||
// Render Face
|
||||
shaderUseTexture(&poker->shader, &player->faceTexture);
|
||||
primitiveDraw(&player->facePrimitive, 0, -1);
|
||||
}
|
Reference in New Issue
Block a user