From 0530c60da8afb677c8aeea87133435801e8bd587 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Sun, 8 May 2022 21:56:32 -0700 Subject: [PATCH] Render cards in standard manner --- src/main.c | 15 ++++++---- src/sprites/spritecards.c | 59 ++++++++++++++++++++++++++++++++++++++- src/sprites/spritecards.h | 2 ++ test.sh | 10 ++----- 4 files changed, 71 insertions(+), 15 deletions(-) mode change 100644 => 100755 test.sh diff --git a/src/main.c b/src/main.c index 22ae750..a1a2a4e 100644 --- a/src/main.c +++ b/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; diff --git a/src/sprites/spritecards.c b/src/sprites/spritecards.c index 25d3be3..827f030 100644 --- a/src/sprites/spritecards.c +++ b/src/sprites/spritecards.c @@ -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) { diff --git a/src/sprites/spritecards.h b/src/sprites/spritecards.h index 33ae4db..52cd53f 100644 --- a/src/sprites/spritecards.h +++ b/src/sprites/spritecards.h @@ -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); diff --git a/test.sh b/test.sh old mode 100644 new mode 100755 index 80fc2e4..6b739b7 --- a/test.sh +++ b/test.sh @@ -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 \ No newline at end of file +#!/bin/bash +scp ./build/Penny.gb root@ywbud3.local:/storage/roms/gb/Penny.gb \ No newline at end of file