Render cards in standard manner
This commit is contained in:
15
src/main.c
15
src/main.c
@@ -20,7 +20,9 @@ void main() {
|
||||
DISPLAY_OFF;
|
||||
LCDC_REG = LCDCF_OFF | LCDCF_BG8000 | LCDCF_BG9800 | LCDCF_BGON;
|
||||
STAT_REG |= STATF_LYC;
|
||||
LYC_REG = 0;
|
||||
LYC_REG = 0x00;
|
||||
SCX_REG = 0x00;
|
||||
SCY_REG = 0x00;
|
||||
add_LCD(interruptOnScanline);
|
||||
}
|
||||
set_interrupts(VBL_IFLAG | LCD_IFLAG);
|
||||
@@ -46,13 +48,14 @@ void main() {
|
||||
filled[j] = SPRITE_TILESET_WHITE_LOW;
|
||||
}
|
||||
spriteBufferBackgroundLow(0x00, 0x00, GB_BACKGROUND_COLUMNS, GB_BACKGROUND_ROWS, filled);
|
||||
SCX_REG = 0x00;
|
||||
SCY_REG = 0x00;
|
||||
|
||||
// Card Test
|
||||
uint8_t cardTiles[SPRITE_CARD_TILE_COUNT];
|
||||
spriteCardBufferTiles(cardTiles, CARD_HEARTS_TWO);
|
||||
spriteBufferBackgroundLow(0x00, 0x00, SPRITE_CARD_WIDTH, SPRITE_CARD_HEIGHT, cardTiles);
|
||||
uint8_t i;
|
||||
for(i = 0; i < 0x03; i++) {
|
||||
uint8_t cardTiles[SPRITE_CARD_TILE_COUNT];
|
||||
spriteCardBufferTiles(cardTiles, i);
|
||||
spriteBufferBackgroundLow(i * SPRITE_CARD_WIDTH, 0x00, SPRITE_CARD_WIDTH, SPRITE_CARD_HEIGHT, cardTiles);
|
||||
}
|
||||
|
||||
// Now turn the screen on
|
||||
DISPLAY_ON;
|
||||
|
@@ -371,13 +371,70 @@ const uint8_t SPRITE_CLUBS_TEN[SPRITE_CARD_TILE_COUNT] = {
|
||||
SPRITE_CARD_BOTTOM_LEFT, SPRITE_CARD_BOTTOM, SPRITE_CARD_BOTTOM, SPRITE_CARD_TEN_BOTTOM
|
||||
};
|
||||
|
||||
const uint8_t *SPRITE_CARDS[] = {
|
||||
SPRITE_CLUBS_TWO,
|
||||
SPRITE_CLUBS_THREE,
|
||||
SPRITE_CLUBS_FOUR,
|
||||
SPRITE_CLUBS_FIVE,
|
||||
SPRITE_CLUBS_SIX,
|
||||
SPRITE_CLUBS_SEVEN,
|
||||
SPRITE_CLUBS_EIGHT,
|
||||
SPRITE_CLUBS_NINE,
|
||||
SPRITE_CLUBS_TEN,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
SPRITE_CLUBS_ACE,
|
||||
|
||||
SPRITE_DIAMONDS_TWO,
|
||||
SPRITE_DIAMONDS_THREE,
|
||||
SPRITE_DIAMONDS_FOUR,
|
||||
SPRITE_DIAMONDS_FIVE,
|
||||
SPRITE_DIAMONDS_SIX,
|
||||
SPRITE_DIAMONDS_SEVEN,
|
||||
SPRITE_DIAMONDS_EIGHT,
|
||||
SPRITE_DIAMONDS_NINE,
|
||||
SPRITE_DIAMONDS_TEN,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
SPRITE_DIAMONDS_ACE,
|
||||
|
||||
SPRITE_HEARTS_TWO,
|
||||
SPRITE_HEARTS_THREE,
|
||||
SPRITE_HEARTS_FOUR,
|
||||
SPRITE_HEARTS_FIVE,
|
||||
SPRITE_HEARTS_SIX,
|
||||
SPRITE_HEARTS_SEVEN,
|
||||
SPRITE_HEARTS_EIGHT,
|
||||
SPRITE_HEARTS_NINE,
|
||||
SPRITE_HEARTS_TEN,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
SPRITE_HEARTS_ACE,
|
||||
|
||||
SPRITE_SPADES_TWO,
|
||||
SPRITE_SPADES_THREE,
|
||||
SPRITE_SPADES_FOUR,
|
||||
SPRITE_SPADES_FIVE,
|
||||
SPRITE_SPADES_SIX,
|
||||
SPRITE_SPADES_SEVEN,
|
||||
SPRITE_SPADES_EIGHT,
|
||||
SPRITE_SPADES_NINE,
|
||||
SPRITE_SPADES_TEN,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
SPRITE_SPADES_ACE
|
||||
};
|
||||
|
||||
inline void spriteCardsBuffer() {
|
||||
spriteBufferLow(SPRITE_CARD_VRAM_START, CARDS_TILES_IMAGE_TILES, CARDS_TILES_IMAGE);
|
||||
}
|
||||
|
||||
inline uint8_t * spriteCardsForCard(uint8_t card) {
|
||||
return SPRITE_CLUBS_ACE;
|
||||
return SPRITE_CARDS[card];
|
||||
}
|
||||
|
||||
inline void spriteCardBufferTiles(uint8_t *buffer, uint8_t card) {
|
||||
|
@@ -185,6 +185,8 @@ extern const uint8_t SPRITE_CLUBS_EIGHT[];
|
||||
extern const uint8_t SPRITE_CLUBS_NINE[];
|
||||
extern const uint8_t SPRITE_CLUBS_TEN[];
|
||||
|
||||
extern const uint8_t *SPRITE_CARDS[];
|
||||
|
||||
inline void spriteCardsBuffer();
|
||||
|
||||
inline uint8_t * spriteCardsForCard(uint8_t card);
|
||||
|
10
test.sh
Normal file → Executable file
10
test.sh
Normal file → Executable file
@@ -1,8 +1,2 @@
|
||||
#!/bin/bash
|
||||
# Send over latest build
|
||||
scp ./build/Penny.gb root@ywbud3:/storage/roms/gb/Penny.gb
|
||||
|
||||
systemctl stop emustation.service
|
||||
killall emulationstation
|
||||
retroarch -L /lib/libretro/gambatte_libretro.so "/storage/roms/gb/Penny.gb"
|
||||
systemctl start emustation.service
|
||||
#!/bin/bash
|
||||
scp ./build/Penny.gb root@ywbud3.local:/storage/roms/gb/Penny.gb
|
Reference in New Issue
Block a user