hate
This commit is contained in:
BIN
assets/images/card_back_small.png
Normal file
BIN
assets/images/card_back_small.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 178 B |
BIN
assets/images/card_back_small.pxo
Normal file
BIN
assets/images/card_back_small.pxo
Normal file
Binary file not shown.
@@ -10,6 +10,7 @@
|
||||
|
||||
void conversationQueueGameBegin() {
|
||||
char buffer[TEXTBOX_BUFFER_MAX];
|
||||
sprintf(STR_GAME_BEGIN, POKER_GAME_BLINDS_CURRENT * 2, POKER_GAME_BLINDS_CURRENT);
|
||||
sprintf(buffer, STR_GAME_BEGIN, POKER_GAME_BLINDS_CURRENT * 2, POKER_GAME_BLINDS_CURRENT);
|
||||
conversationTextboxSetText(buffer);
|
||||
QUEUE_ITEM = QUEUE_DEAL_CARDS;
|
||||
}
|
@@ -23,7 +23,7 @@ void conversationQueueDebug() {
|
||||
|
||||
void conversationQueueDealCards() {
|
||||
QUEUE_ITEM = QUEUE_BEGIN_BETTING;
|
||||
conversationTextboxSetText(STR_POKER_GAME_CARDS_DEALT);
|
||||
conversationQueueNext();
|
||||
}
|
||||
|
||||
void conversationQueueStart() {
|
||||
|
19
src/drawing/playerchips.c
Normal file
19
src/drawing/playerchips.c
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "playerchips.h"
|
||||
|
||||
// POKER_HUMAN_INDEX
|
||||
inline void playerChipsDraw() {
|
||||
char stringBuffer[24];
|
||||
char tileBuffer[24];// TODO convert magics into a definition
|
||||
uint8_t i;
|
||||
|
||||
sprintf(stringBuffer, STR_CHIPS_DISPLAY, POKER_PLAYERS[POKER_HUMAN_INDEX].chips);
|
||||
i = spriteFontBufferStringToTiles(stringBuffer, tileBuffer);
|
||||
spriteBufferBackground(0x00, 0x0C, i, 0x01, tileBuffer);
|
||||
}
|
15
src/drawing/playerchips.h
Normal file
15
src/drawing/playerchips.h
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../libs.h"
|
||||
#include "../sprites/spritefont.h"
|
||||
#include "../poker/poker.h"
|
||||
#include "../strings.h"
|
||||
#include "../sprites/sprites.h"
|
||||
|
||||
inline void playerChipsDraw();
|
15
src/drawing/playerdeal.c
Normal file
15
src/drawing/playerdeal.c
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "playerdeal.h"
|
||||
|
||||
const uint8_t DEAL_CARD_X = 0x00;
|
||||
const uint8_t DEAL_CARD_Y = 0x00;
|
||||
|
||||
void playerDealCardRender() {
|
||||
|
||||
}
|
16
src/drawing/playerdeal.h
Normal file
16
src/drawing/playerdeal.h
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../libs.h"
|
||||
#include "../poker/poker.h"
|
||||
|
||||
#define PLAYER_DEAL_SPRITE_0 0x00
|
||||
#define PLAYER_DEAL_SPRITE_1 PLAYER_DEAL_SPRITE_0 + 0x01
|
||||
|
||||
extern const uint8_t DEAL_CARD_X;
|
||||
extern const uint8_t DEAL_CARD_Y;
|
@@ -10,6 +10,7 @@
|
||||
void interruptOnScanline() {
|
||||
if(LYC_REG == 0) {
|
||||
LCDC_REG |= LCDCF_BG8000;
|
||||
|
||||
if((TEXTBOX_STATE & TEXTBOX_STATE_VISIBLE) != 0) {
|
||||
LYC_REG = INTERRUPT_TEXTBOX_VRAM;
|
||||
}
|
||||
|
32
src/main.c
32
src/main.c
@@ -6,7 +6,9 @@
|
||||
*/
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#include "drawing/playerchips.h"
|
||||
#include "sprites/sprites.h"
|
||||
#include "sprites/spritecardsmall.h"
|
||||
|
||||
void main() {
|
||||
int16_t j;
|
||||
@@ -18,14 +20,7 @@ void main() {
|
||||
// Create a critical section for some video stuff
|
||||
CRITICAL {
|
||||
DISPLAY_OFF;
|
||||
LCDC_REG = LCDCF_OFF | LCDCF_WIN9C00 | LCDCF_BG8000 | LCDCF_BG9800 | LCDCF_BGON;
|
||||
/*
|
||||
* LCD = Off
|
||||
* WindowBank = 0x9C00
|
||||
* BG Chr = 0x8800
|
||||
* BG Bank = 0x9800
|
||||
* BG = On
|
||||
*/
|
||||
LCDC_REG = LCDCF_OFF | LCDCF_WIN9C00 | LCDCF_BG8000 | LCDCF_BG9800 | LCDCF_BGON | LCDCF_OBJ16 | LCDCF_OBJON;
|
||||
|
||||
STAT_REG |= STATF_LYC;
|
||||
LYC_REG = 0x00;
|
||||
@@ -48,6 +43,7 @@ void main() {
|
||||
spriteCardsBuffer();
|
||||
spriteFontBuffer();
|
||||
spriteBorderBuffer();
|
||||
spriteCardSmallBuffer();
|
||||
|
||||
conversationTextboxInit();
|
||||
conversationQueueInit();
|
||||
@@ -59,11 +55,6 @@ void main() {
|
||||
}
|
||||
spriteBufferBackground(0x00, 0x00, GB_BACKGROUND_COLUMNS, GB_BACKGROUND_ROWS, filled);
|
||||
|
||||
// Card Test
|
||||
uint8_t cardTiles[SPRITE_CARD_TILE_COUNT];
|
||||
spriteCardBufferTiles(cardTiles, CARD_SPADES_QUEEN);
|
||||
spriteBufferBackground(0x00, 0x00, SPRITE_CARD_WIDTH, SPRITE_CARD_HEIGHT, cardTiles);
|
||||
|
||||
// Now turn the screen on
|
||||
DISPLAY_ON;
|
||||
enable_interrupts();
|
||||
@@ -72,11 +63,21 @@ void main() {
|
||||
// Begin game
|
||||
conversationQueueNext();
|
||||
|
||||
spriteBufferSprite(0x00, SPRITE_CARD_SMALL);
|
||||
spriteBufferSprite(0x01, SPRITE_CARD_SMALL);
|
||||
set_sprite_prop(0x01, S_FLIPX);
|
||||
|
||||
// Begin the loop
|
||||
while(1) {
|
||||
// Perform non-graphical code updates
|
||||
wait_vbl_done();
|
||||
|
||||
uint8_t posX, posY;
|
||||
posX = 16;
|
||||
posY = 16;
|
||||
move_sprite(0x00, posX, posY);
|
||||
move_sprite(0x01, posX + 0x08, posY);
|
||||
|
||||
// Update the input state
|
||||
INPUT_LAST = INPUT_STATE;
|
||||
INPUT_STATE = joypad();
|
||||
@@ -94,7 +95,6 @@ void main() {
|
||||
|
||||
// Update conversation fade effect
|
||||
conversationFadeUpdate();
|
||||
// mainDebugDraw();
|
||||
LCDC_REG |= LCDCF_BG8000;
|
||||
playerChipsDraw();
|
||||
}
|
||||
}
|
@@ -13,6 +13,7 @@
|
||||
#include "../sprites.h"
|
||||
|
||||
#define SPRITE_CARD_VRAM_START SPRITE_TILESET_VRAM_END_LOW
|
||||
#define SPRITE_CARD_VRAM_END SPRITE_CARD_VRAM_START + CARDS_TILES_IMAGE_TILES
|
||||
#define SPRITE_CARD_BLANK SPRITE_TILESET_WHITE_LOW
|
||||
|
||||
// Information about the card as a tilemap
|
||||
|
13
src/sprites/spritecardsmall.c
Normal file
13
src/sprites/spritecardsmall.c
Normal file
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "spritecardsmall.h"
|
||||
|
||||
inline void spriteCardSmallBuffer() {
|
||||
spriteBufferLow(SPRITE_CARD_SMALL_VRAM_START, CARD_BACK_SMALL_IMAGE_TILES, CARD_BACK_SMALL_IMAGE);
|
||||
}
|
||||
|
19
src/sprites/spritecardsmall.h
Normal file
19
src/sprites/spritecardsmall.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../libs.h"
|
||||
#include "sprites.h"
|
||||
#include "CARD_BACK_SMALL.h"
|
||||
#include "spritecards.h"
|
||||
|
||||
#define SPRITE_CARD_SMALL_VRAM_START SPRITE_CARD_VRAM_END
|
||||
#define SPRITE_CARD_SMALL_VRAM_END SPRITE_CARD_SMALL_VRAM_START + CARD_BACK_SMALL_IMAGE_TILES
|
||||
|
||||
#define SPRITE_CARD_SMALL SPRITE_CARD_SMALL_VRAM_START
|
||||
|
||||
inline void spriteCardSmallBuffer();
|
@@ -13,4 +13,16 @@ inline void spriteFontBuffer() {
|
||||
|
||||
inline uint8_t spriteFontTileFromChar(char character) {
|
||||
return character - SPRITE_FONT_FIRST_CHARACTER + SPRITE_FONT_VRAM_START;
|
||||
}
|
||||
|
||||
inline uint8_t spriteFontBufferStringToTiles(char *string, char *tiles) {
|
||||
char c;
|
||||
uint8_t i;
|
||||
|
||||
i = 0;
|
||||
while((c = string[i]) != '\0') {
|
||||
tiles[i++] = spriteFontTileFromChar(c);
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
@@ -28,4 +28,14 @@ inline void spriteFontBuffer();
|
||||
* @param character Character to get the tile index from.
|
||||
* @return The tile index for the given character.
|
||||
*/
|
||||
inline uint8_t spriteFontTileFromChar(char character);
|
||||
inline uint8_t spriteFontTileFromChar(char character);
|
||||
|
||||
/**
|
||||
* Buffers a character array into a tile array, does not care about length nor
|
||||
* newlines, you will need to handle this yourself.
|
||||
*
|
||||
* @param string String to buffer.
|
||||
* @param tiles Tile array to buffer in to.
|
||||
* @return The length of the string.
|
||||
*/
|
||||
inline uint8_t spriteFontBufferStringToTiles(char *string, char *tiles);
|
@@ -43,4 +43,8 @@ inline void spriteBufferWindow(
|
||||
SPRITE_VRAM_TILEMAP_WINDOW_LOW,
|
||||
tiles
|
||||
);
|
||||
}
|
||||
|
||||
inline void spriteBufferSprite(uint8_t spriteIndex, uint8_t tile) {
|
||||
set_sprite_tile(spriteIndex, tile);
|
||||
}
|
@@ -43,4 +43,6 @@ inline void spriteBufferWindow(
|
||||
uint8_t x, uint8_t y,
|
||||
uint8_t width, uint8_t height,
|
||||
uint8_t *tiles
|
||||
);
|
||||
);
|
||||
|
||||
inline void spriteBufferSprite(uint8_t spriteIndex, uint8_t tile);
|
@@ -7,16 +7,11 @@
|
||||
|
||||
#include "strings.h"
|
||||
|
||||
const char STR_GAME_BEGIN[] = "The blinds are set %u for the big, and %u for the small blinds.";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const char STR_ERROR[] = "An error\nhas occured";
|
||||
const char STR_GAME_BEGIN[] = "The blinds are set %u for the big, and %u for the small blinds.";
|
||||
const char STR_CHIPS_DISPLAY[] = "Chips $%u";
|
||||
|
||||
|
||||
const char STR_HELLO[] = "Hello World, How are you today?\nGood thanks. Thank god!";
|
||||
|
||||
const char STR_POKER_GAME_START[] = "Poker game started";
|
||||
|
@@ -8,14 +8,11 @@
|
||||
#pragma once
|
||||
#include "libs.h"
|
||||
|
||||
extern const char STR_GAME_BEGIN[];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern const char STR_ERROR[];
|
||||
extern const char STR_GAME_BEGIN[];
|
||||
extern const char STR_CHIPS_DISPLAY[];
|
||||
|
||||
|
||||
extern const char STR_HELLO[];
|
||||
|
||||
extern const char STR_POKER_GAME_START[];
|
||||
|
Reference in New Issue
Block a user