From b4f22b7100cd24cfd4dcaac9e665ec60014ec35e Mon Sep 17 00:00:00 2001 From: Matteo Benedetto Date: Wed, 24 Jun 2026 16:58:16 +0200 Subject: [PATCH] Death screen: usa assets/claimed.png; Going Deeper ora testuale - assets/claimed.png (160x144, 2-bit GB) usata come schermata di morte al posto dello schermo nero. Il tile data e' caricato con set_bkg_data e la mappa 20x18 con set_bkg_tiles; il GAME OVER metasprite resta sovrapposto sopra l'immagine. - Going Deeper (game_over==2) ora usa una schermata testuale col font IBM ('GOING DEEPER / LEVEL N') invece dell'immagine next_level.png. Necessario per ridurre l'occupazione ROM (la ROM era >32KB con title_bg + next_level + claimed + maze + tutto il resto) e far entrare la schermata claimed. Rimosso next_level.c/.h e l'asset. - engine.c: nuovi helper ending_putdigit per scrivere una cifra; game_over==2/3 entrambi usano il font IBM per le schermate di transizione. - Makefile: rimosso next_level da SRCS e dal clean; aggiunto claimed.png/png2asset/-c claimed.c. Verificato via PyBoy: schermata di morte mostra l'immagine claimed (sfondo nero + carta 128x96 centrata), going deeper mostra il testo 'GOING DEEPER / LEVEL 2'. --- Makefile | 5 +- assets/claimed.png | Bin 11057 -> 2256 bytes src/claimed.c | 509 +++++++++++++++++++++++++++++++++++++++++++++ src/claimed.h | 27 +++ src/engine.c | 34 ++- 5 files changed, 565 insertions(+), 10 deletions(-) create mode 100644 src/claimed.c create mode 100644 src/claimed.h diff --git a/Makefile b/Makefile index 63403fe..c64cccf 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ SCRIPTS_DIR = scripts BUILD_DIR = build # C source files -SRCS = $(SRC_DIR)/main.c $(SRC_DIR)/engine.c $(SRC_DIR)/globals.c $(SRC_DIR)/maze.c $(SRC_DIR)/sound.c $(SRC_DIR)/render.c $(SRC_DIR)/player_logic.c $(SRC_DIR)/enemy_logic.c $(SRC_DIR)/tiles.c $(SRC_DIR)/player.c $(SRC_DIR)/enemy.c $(SRC_DIR)/gameover.c $(SRC_DIR)/next_level.c $(SRC_DIR)/stamina.c $(SRC_DIR)/level.c $(SRC_DIR)/title_bg.c +SRCS = $(SRC_DIR)/main.c $(SRC_DIR)/engine.c $(SRC_DIR)/globals.c $(SRC_DIR)/maze.c $(SRC_DIR)/sound.c $(SRC_DIR)/render.c $(SRC_DIR)/player_logic.c $(SRC_DIR)/enemy_logic.c $(SRC_DIR)/tiles.c $(SRC_DIR)/player.c $(SRC_DIR)/enemy.c $(SRC_DIR)/gameover.c $(SRC_DIR)/stamina.c $(SRC_DIR)/level.c $(SRC_DIR)/claimed.c $(SRC_DIR)/title_bg.c all: $(BUILD_DIR)/hello_iso.gb $(BUILD_DIR)/test_gameover.gb $(BUILD_DIR)/test_finale.gb @@ -29,6 +29,7 @@ generate_c_assets: generate_images $(PNG2ASSET) $(ASSETS_DIR)/stamina.png -c $(SRC_DIR)/stamina.c -bpp 2 -noflip -keep_palette_order $(PNG2ASSET) $(ASSETS_DIR)/level.png -c $(SRC_DIR)/level.c -sw 8 -sh 16 -bpp 2 -noflip -keep_palette_order -keep_duplicate_tiles $(PNG2ASSET) $(ASSETS_DIR)/title_bg.png -c $(SRC_DIR)/title_bg.c -map -bpp 2 -noflip -keep_palette_order -max_palettes 1 + $(PNG2ASSET) $(ASSETS_DIR)/claimed.png -c $(SRC_DIR)/claimed.c -map -bpp 2 -noflip -max_palettes 1 # Main ROM target $(BUILD_DIR)/hello_iso.gb: generate_c_assets $(SRCS) @@ -50,7 +51,7 @@ clean: rm -f $(SRC_DIR)/player.c $(SRC_DIR)/player.h rm -f $(SRC_DIR)/enemy.c $(SRC_DIR)/enemy.h rm -f $(SRC_DIR)/gameover.c $(SRC_DIR)/gameover.h - rm -f $(SRC_DIR)/next_level.c $(SRC_DIR)/next_level.h rm -f $(SRC_DIR)/stamina.c $(SRC_DIR)/stamina.h rm -f $(SRC_DIR)/level.c $(SRC_DIR)/level.h + rm -f $(SRC_DIR)/claimed.c $(SRC_DIR)/claimed.h rm -f $(SRC_DIR)/title_bg.c $(SRC_DIR)/title_bg.h diff --git a/assets/claimed.png b/assets/claimed.png index 0ec52646cb7361255b2a8ea087b177115e10ea91..72cc7d863382859a08429e518b6c56a503012b75 100644 GIT binary patch literal 2256 zcmeH|`#aMM9LK+3o4K92a;tQbYmv(&N#=55Zb@Vn zTeUmFGk%1?VH(3ek|l&sI!ZW0@Ak z$8@-l;nPE~r65Rj71;3InF-jPg4pUQ-k>z4Q5Y&zE}9tRUEZ(}t|mbHJCuWMzeWDExyX&a9YLgnH|+De?|+T&`XzcT2G7lQ}HoTo2tK%@&qz zdcy)%wtI78kUScOGR>KJN8*hI)Q9_J>$xvWws*-KSL3qJy4s*+jF{S}Z-F24pqoB%b;E<;zD3QrIaYHU zqADTNZ-y;sHjNbaqmhXu(}z2!$?NYJLehk7&GE;8EQ9r4ajKy=p?A2gj)_d+SO$SyytgO}C#+j?ThfgTK=sycb*ayZ^@I=`*JmbG2Z ze-&JIVw;%gx5U4ogq-NUhCA6(Z8E4UO$D!x^B;SJO$(B}`Gxe3JrmX$*NR}-(X^M za<_(vW&_J!@S8(X%k|IjOK)Dkrj)zxs@$T{0})!ezNr|!|8eFt?e4Z2ghOwj)9p6n z`5tN#t9Q90vJZuE*aRie2h?j7-vDIe%6)TdYWmw;^a(7A3ddpS=34>wgd4$`Wc^bZ zZFk=03O?#xRtm}Px1_@Sg98~9pHP|ujnS@xL4N7nd%L5xEiBGID%7|zN4~^yMv(qI zYCUR#2MhvJkyU}KXBY07?U|Q-Ri}k3s!SYiH~AD)l`|jNv&e(CE{iV-C#}VN&Xzv` zlDqAGnc3mtKRlUWh6g)>?SEyMBE?R$(l+C$X5wtg6;frNv(9Xu;f)7o3ppS9PbL<$^YjK@QN6jUOs;d89Tl$Q8 zV*k)$wuGRhpVjF^TElvvop1RRb=Pk$^WwtOgDCB#=eOGjSdPkI)ynWV$6~KyPxs#xBvXpTA1VEl|2{nkm&C$>FeVuQMXrw}u=eIO??SOpAu^ zYQ%3DjLvhHvs}vBUjWU01_)y8VsjW>KA4ctDlEjbbJNMnY;UP*u=virw1x#SY6P;3 zXAA}w)AKJ>OqTTidJq`KZKaz5ul(CXczXhlVdtCh4^3aw0RR91 literal 11057 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 S&jAfANJdgYqDIUp@c#f#01YVs diff --git a/src/claimed.c b/src/claimed.c new file mode 100644 index 0000000..224c4fe --- /dev/null +++ b/src/claimed.c @@ -0,0 +1,509 @@ +//AUTOGENERATED FILE FROM png2asset + +#include +#include +#include + +BANKREF(claimed) + +const palette_color_t claimed_palettes[4] = { + RGB8(224,248,207), RGB8(134,192,108), RGB8( 48,104, 80), RGB8( 7, 24, 33) + +}; + +const uint8_t claimed_tiles[1888] = { + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xfd,0xff, + 0xfd,0xff,0xfd,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xf2,0xf9, + 0xf2,0xf9,0xf2,0xf9, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xfe,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xb3,0xf6, + 0xf6,0xba,0xb4,0xf8, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0x36,0xb6, + 0xb4,0xb6,0x37,0x35, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xe7,0xaf, + 0xcf,0x9f,0xef,0xaf, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xf3,0xfb,0xf2,0xfa, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x70,0x39,0xf7,0xb3, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xfe,0xfc,0xfd, + 0xfd,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x33,0x37,0xf3,0xf7, + 0xf2,0xf9,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xdf,0xff, + 0xde,0xcc,0x97,0xef, + 0xfd,0xff,0xfe,0xff, + 0xfe,0xff,0xfd,0xff, + 0xff,0xff,0xe7,0xff, + 0x15,0x24,0x3f,0x60, + 0xb1,0xf5,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x84,0x84,0xbd,0xbd, + 0xd4,0xf5,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x7f,0x3f,0xbf,0xff, + 0xe7,0xb7,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x32,0xb4,0xcf,0xed, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x6d,0x2d,0xad,0xed, + 0xc2,0xc2,0xf1,0xf9, + 0xf1,0xf9,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xfc,0xf9,0xf6,0xd6, + 0xd1,0xd8,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xfc,0xfd,0xfc,0xfe, + 0xff,0xfe,0xfe,0xff, + 0xfe,0xff,0xfe,0xff, + 0xff,0xff,0xff,0xff, + 0xf3,0xf7,0xc3,0xf7, + 0x20,0x30,0xef,0xff, + 0xe7,0xff,0x73,0xff, + 0x3b,0xff,0xdf,0xff, + 0xb7,0xf7,0x3e,0xb3, + 0x32,0xb8,0x7e,0xff, + 0x7c,0xff,0xed,0xff, + 0x0d,0xff,0x5f,0xff, + 0x70,0x6a,0x74,0x6e, + 0x35,0x2e,0xf3,0xff, + 0xe7,0xff,0xef,0xff, + 0xcf,0xff,0xfe,0xff, + 0x8d,0x85,0xbd,0xbd, + 0x80,0x84,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xbf,0xbf, + 0x7f,0x3f,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xcf,0xdd,0xdd,0xdd, + 0xde,0xdc,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xad,0xed,0xa5,0xad, + 0x61,0x33,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xfd,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdf,0xff,0xe5,0xff, + 0xf0,0xff,0xf3,0xff, + 0xfd,0xff,0xfa,0xff, + 0xff,0xff,0xf3,0xff, + 0x7b,0xff,0x73,0xff, + 0x23,0xff,0xcd,0xff, + 0xdd,0xfb,0xff,0xf3, + 0xfd,0xff,0xfb,0xff, + 0xfd,0xff,0xff,0xff, + 0xf7,0xff,0xff,0xff, + 0x3f,0xff,0x7f,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xf7,0xff,0xf3,0xff, + 0xfb,0xff,0x9f,0xff, + 0x85,0xff,0xf3,0xff, + 0x7f,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xef, + 0xff,0xff,0xff,0xff, + 0xff,0xfe,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x8f,0xfe,0xff,0xe9, + 0xff,0x9b,0xfb,0x7f, + 0xff,0x7f,0xff,0xff, + 0xff,0xff,0xff,0xef, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xdf,0xff, + 0xdf,0xff,0xff,0xbf, + 0xff,0xff,0xdf,0x7f, + 0xfb,0xff,0xff,0xff, + 0xe7,0xff,0xe3,0xff, + 0xf3,0xff,0xf3,0xff, + 0xf1,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x3f,0xff,0xff,0xff, + 0x7f,0xff,0x7f,0xff, + 0xff,0xff,0xfb,0xff, + 0xff,0xf5,0xf3,0xdd, + 0xf9,0x4f,0xff,0x90, + 0xf9,0xc6,0xf6,0xf9, + 0xfd,0xf3,0xff,0xc7, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xbf,0x7f, + 0xff,0x3f,0x31,0xcf, + 0x39,0xc7,0xc5,0xff, + 0xff,0xf6,0xff,0xff, + 0xf8,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdf,0xff,0x3f,0xff, + 0x7f,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xfc,0xff, + 0xf8,0xff,0xf1,0xff, + 0xe2,0xff,0xcf,0xff, + 0xc3,0xff,0xc7,0xff, + 0x37,0xff,0x67,0xff, + 0xcf,0xff,0xbf,0xff, + 0x7f,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xfe,0xff,0xff,0xff, + 0xfc,0xff,0xfc,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xdf,0xff, + 0x19,0xff,0x3f,0xf3, + 0xbe,0xe6,0x7b,0xc4, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x3f,0x5f,0xf3,0x0f, + 0xfb,0xff,0xff,0xff, + 0xfc,0xff,0xfc,0xff, + 0xf9,0xff,0xff,0xff, + 0xff,0xff,0xe3,0xff, + 0x7f,0xff,0x3f,0xff, + 0x7f,0xff,0xff,0xff, + 0xfd,0xff,0xfb,0xff, + 0xff,0xfb,0xfb,0xf7, + 0xff,0xff,0xfc,0xff, + 0xfc,0xff,0xc0,0xff, + 0xc8,0xff,0xcc,0xff, + 0xdf,0xff,0xbb,0xff, + 0x8f,0xff,0x0f,0xff, + 0x3f,0xff,0x7f,0xff, + 0xff,0xff,0xff,0xff, + 0xfd,0xff,0xf8,0xff, + 0xff,0xff,0xfc,0xff, + 0xf9,0xff,0x82,0xff, + 0x03,0xff,0x87,0xff, + 0xd7,0xff,0xff,0xff, + 0xff,0xff,0x3f,0xff, + 0x7f,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xfc,0xff,0xfd,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xfe,0xff,0xc7,0xff, + 0x79,0xce,0xbe,0xef, + 0x5c,0xef,0xeb,0xf4, + 0xbf,0xf8,0xfc,0xff, + 0xff,0xfa,0xff,0xff, + 0xfb,0x1f,0xda,0x29, + 0xfd,0x1b,0x87,0x7b, + 0xb2,0x4f,0x84,0xff, + 0xf2,0x7f,0xff,0xff, + 0xfc,0xff,0xf8,0xff, + 0x38,0xcf,0x56,0xbf, + 0xa4,0x7f,0xc0,0xff, + 0x01,0xff,0x0f,0xff, + 0x3f,0xf7,0x57,0xff, + 0xcd,0xff,0x05,0xff, + 0x00,0xff,0x0c,0xff, + 0x23,0xff,0xcc,0xff, + 0x7a,0xff,0xba,0x7f, + 0x7f,0xf6,0x7f,0xf7, + 0xd7,0xff,0xdf,0xff, + 0x33,0xff,0xef,0xff, + 0xfb,0xff,0xff,0xff, + 0x70,0xff,0xec,0xff, + 0x78,0xff,0x60,0xff, + 0x40,0xff,0xdc,0xff, + 0xff,0xff,0xfe,0xff, + 0x60,0xff,0x60,0xff, + 0x70,0xff,0x31,0xff, + 0x3e,0xff,0xff,0xff, + 0xff,0xff,0x03,0xff, + 0x0f,0xff,0x2f,0xff, + 0x7a,0xff,0x3c,0xff, + 0xfe,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xbf,0xff,0xf7,0xff, + 0x37,0xff,0xee,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xfe,0xff,0xbc,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x7f,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xfa,0xfd,0xff,0xfe, + 0xff,0xfe,0xea,0xff, + 0xcf,0xff,0xfe,0xff, + 0xfd,0xfe,0xe3,0xfd, + 0x4f,0xbf,0xbe,0x7f, + 0xfe,0x7f,0xcb,0xff, + 0xcf,0xff,0x57,0xbf, + 0xbf,0x7f,0xff,0xff, + 0xff,0xff,0xf0,0xff, + 0x7f,0xbf,0xf7,0xcf, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0x10,0xff, + 0xff,0xff,0xf9,0xff, + 0xfc,0xff,0xfe,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0x0d,0xff, + 0xff,0xff,0xe6,0xfd, + 0x3f,0xff,0xc0,0xff, + 0x80,0xff,0x80,0xff, + 0xfc,0xff,0x7f,0xff, + 0xff,0xff,0xe1,0xff, + 0xfb,0xff,0xff,0xff, + 0x3f,0xff,0x1f,0xff, + 0x08,0xff,0xa0,0xff, + 0xe0,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xfe,0xff,0xfc, + 0x3f,0xfc,0x2f,0xd0, + 0x5f,0xe0,0xfc,0xff, + 0xde,0xff,0xbf,0x7f, + 0x7f,0xff,0xff,0xff, + 0x9f,0x63,0xbf,0x7f, + 0xf3,0x0f,0xf2,0x0f, + 0x7f,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xf3,0xff,0x7f,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xfe,0xff, + 0xfc,0xff,0xff,0xff, + 0xdc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0x2f,0xff, + 0x47,0xff,0xff,0xff, + 0x21,0xff,0x83,0xff, + 0xc3,0xff,0xff,0xff, + 0xff,0xff,0xcf,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xfc,0xff, + 0xfe,0xff,0xff,0xff, + 0xe3,0xff,0x87,0xff, + 0xff,0xff,0xdd,0xff, + 0xbc,0xff,0x5c,0xff, + 0x80,0xff,0xff,0xff, + 0x87,0xff,0xc4,0xff, + 0xff,0xff,0x78,0xff, + 0x20,0xff,0x00,0xff, + 0x00,0xff,0x80,0xff, + 0xfb,0xff,0x05,0xff, + 0xff,0xff,0x30,0xff, + 0x48,0xff,0x00,0xff, + 0x00,0xff,0x01,0xff, + 0xce,0xff,0x00,0xff, + 0xe1,0xff,0x1e,0xff, + 0x10,0xff,0x40,0xff, + 0xc0,0xff,0x80,0xff, + 0x0c,0xff,0x1a,0xfd, + 0xfc,0xff,0x00,0xff, + 0x00,0xff,0x01,0xfe, + 0x03,0xfc,0x03,0xfc, + 0x01,0xff,0x00,0xff, + 0x1f,0xff,0x00,0xff, + 0x00,0xff,0x80,0x7f, + 0x00,0xff,0x80,0x7f, + 0xdf,0xff,0x3c,0xff, + 0xff,0xff,0x00,0xff, + 0x00,0xff,0xfa,0xff, + 0x00,0xff,0x03,0xff, + 0xff,0xff,0xfd,0xff, + 0x80,0xff,0x7f,0xff, + 0x1f,0xff,0x0f,0xff, + 0x38,0xff,0xc3,0xff, + 0x3c,0xff,0xd9,0xff, + 0xef,0xff,0xff,0xff, + 0x1f,0xff,0x80,0xff, + 0xc0,0xff,0xe0,0xff, + 0xf1,0xfe,0xfc,0xff, + 0xde,0xff,0x36,0x4f, + 0x43,0x3f,0xde,0xe7, + 0x3c,0xfc,0xfc,0xfe, + 0xff,0xff,0x43,0xff, + 0x6b,0xf7,0xfb,0xc7, + 0xcb,0xf7,0x07,0x7b, + 0x13,0xef,0x07,0x3f, + 0xfc,0xff,0xe1,0xff, + 0x63,0xff,0xbf,0xff, + 0xc1,0xff,0xbf,0xff, + 0xc3,0xff,0x01,0xff, + 0x07,0xff,0xff,0xff, + 0xff,0xff,0xdf,0xff, + 0xff,0xff,0x3f,0xff, + 0xbf,0xff,0xbf,0xff, + 0xf8,0xff,0xcc,0xff, + 0xe8,0xff,0xfc,0xff, + 0xfc,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x03,0xff,0x00,0xff, + 0x20,0xff,0x01,0xff, + 0x01,0xff,0xff,0xff, + 0xf0,0xff,0xfc,0xff, + 0xff,0xff,0x38,0xff, + 0x20,0xff,0xc0,0xff, + 0x80,0xff,0x80,0xfe, + 0x00,0xff,0x00,0xff, + 0xfb,0xfb,0x00,0xff, + 0x00,0xff,0x00,0xdf, + 0x00,0x3f,0x00,0x7f, + 0xe0,0xff,0x28,0xf7, + 0xf6,0xf8,0x06,0xf8, + 0x04,0xf9,0x01,0xfe, + 0x00,0xff,0x00,0xff, + 0x00,0xff,0x03,0xff, + 0xc7,0x3f,0x21,0x1f, + 0x63,0x9f,0x07,0xff, + 0x07,0xff,0x00,0xff, + 0x00,0xff,0xff,0xff, + 0xe0,0xff,0xff,0xff, + 0xff,0xff,0xe0,0xff, + 0x80,0xff,0x00,0xff, + 0x02,0xff,0xff,0xff, + 0x3f,0xff,0xff,0xff, + 0xc0,0xff,0x00,0xff, + 0x00,0xff,0x00,0xff, + 0x0f,0xff,0xfc,0xff, + 0xc0,0xff,0xff,0xff, + 0x1c,0xff,0x10,0xff, + 0x30,0xff,0x30,0xff, + 0xf0,0xff,0x01,0xff, + 0xdf,0xff,0xff,0xff, + 0x00,0xff,0x3f,0xff, + 0xfc,0xff,0x03,0xff, + 0x00,0xff,0xff,0xff, + 0xfc,0xff,0xff,0xff, + 0x00,0xff,0x27,0xff, + 0xc0,0xff,0x00,0xff, + 0x03,0xff,0xff,0xff, + 0x01,0xff,0xff,0xff, + 0xf0,0xff,0xc7,0xff, + 0xef,0xff,0xe7,0xff, + 0xef,0xff,0xff,0xff, + 0xcf,0xff,0xff,0xff, + 0x1f,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xf0,0xf9, + 0xf6,0xfa,0xf6,0xfa, + 0xf7,0xfb,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0x9c,0x88, + 0xb7,0xab,0xb7,0xa8, + 0x9f,0xab,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x00,0xff,0x69,0xc4, + 0xf5,0xff,0xed,0xdc, + 0xf7,0xf7,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x40,0xff,0x02,0x7c, + 0x78,0xbd,0xe6,0xfc, + 0x7f,0xbd,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x00,0xff,0x00,0x03, + 0x40,0xb7,0xb5,0x76, + 0xf7,0xb6,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x03,0xff,0xd1,0x22, + 0xd3,0x2d,0x1b,0xe5, + 0xf6,0xef,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xc0,0xff,0x00,0x1f, + 0x00,0xbf,0x00,0xbf, + 0x03,0xbf,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x24,0xff,0x85,0x08, + 0x00,0xfa,0x06,0xfa, + 0xd2,0xfa,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x00,0xff,0x04,0xf8, + 0x04,0xfb,0x7a,0xff, + 0xf8,0xfe,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x01,0xff,0x80,0x44, + 0x7c,0x7e,0x44,0x46, + 0x7e,0xfe,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xb2,0xff,0x04,0x01, + 0x98,0xda,0xdb,0xda, + 0xdb,0xd7,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x3b,0xff,0xbf,0xff, + 0xbf,0xbf,0xbf,0x7f, + 0x7f,0x7f,0xff,0xff, + 0xff,0xff,0xff,0xff + }; + + +const unsigned char claimed_map[360] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1b,0x1c,0x1d,0x1e,0x1f,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x22,0x23,0x24,0x25,0x26,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x1b,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x00,0x00,0x00, + 0x00,0x00,0x00,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x00,0x00,0x00,0x00, + 0x00,0x00,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +}; diff --git a/src/claimed.h b/src/claimed.h new file mode 100644 index 0000000..a09afce --- /dev/null +++ b/src/claimed.h @@ -0,0 +1,27 @@ +//AUTOGENERATED FILE FROM png2asset +#ifndef METASPRITE_claimed_H +#define METASPRITE_claimed_H + +#include +#include +#include + +#define claimed_TILE_ORIGIN 0 +#define claimed_TILE_W 8 +#define claimed_TILE_H 8 +#define claimed_WIDTH 160 +#define claimed_HEIGHT 144 +#define claimed_TILE_COUNT 118 +#define claimed_PALETTE_COUNT 1 +#define claimed_COLORS_PER_PALETTE 4 +#define claimed_TOTAL_COLORS 4 +#define claimed_MAP_ATTRIBUTES 0 +extern const unsigned char claimed_map[360]; +#define claimed_map_attributes claimed_map + +BANKREF_EXTERN(claimed) + +extern const palette_color_t claimed_palettes[4]; +extern const uint8_t claimed_tiles[1888]; + +#endif diff --git a/src/engine.c b/src/engine.c index 8ee2e35..1960841 100644 --- a/src/engine.c +++ b/src/engine.c @@ -17,9 +17,9 @@ #include "player.h" #include "enemy.h" #include "gameover.h" -#include "next_level.h" #include "stamina.h" #include "level.h" +#include "claimed.h" #include "title_bg.h" /** @@ -205,6 +205,12 @@ static void ending_puttext(uint8_t col, uint8_t row, const char *s) { } } +static void ending_putdigit(uint8_t col, uint8_t row, uint8_t digit) { + if (col < 32) { + map_buffer[(uint16_t)row * 32 + col] = (uint8_t)(digit + ('0' - ' ')); + } +} + /** * Loop Principale di Aggiornamento del Gioco (chiamato ad ogni Frame ~60 FPS). * Questo metodo funge da "Direttore d'Orchestra", delegando i compiti ai moduli specializzati. @@ -222,16 +228,28 @@ void engine_update(uint8_t keys, uint8_t prev_keys) { // Quando scade il timer drammatico... if (game_over_timer == 0) { if (game_over == 1) { - // ...Svuota lo schermo - memset(map_buffer, 0, sizeof(map_buffer)); - set_bkg_tiles(0, 0, 32, 32, map_buffer); - } else if (game_over == 2) { - // Mostra la schermata "Going Deeper" + // Sconfitta: schermata "claimed" a tutto schermo + metasprite GAME OVER HIDE_SPRITES; SCX_REG = 0; SCY_REG = 0; - set_bkg_data(0, next_level_TILE_COUNT, next_level_tiles); - set_bkg_tiles(0, 0, 20, 18, next_level_map); + BGP_REG = 0xE4; // palette standard (claimed ha la sua) + set_bkg_data(0, claimed_TILE_COUNT, claimed_tiles); + set_bkg_tiles(0, 0, 20, 18, claimed_map); + } else if (game_over == 2) { + // Going Deeper: schermata di transizione testuale (font IBM). + // (Era un'immagine, sostituita con testo per ridurre l'occupazione ROM + // e fare spazio alla schermata "claimed" della morte.) + HIDE_SPRITES; + SCX_REG = 0; + SCY_REG = 0; + font_init(); + font_t gd_font = font_load(font_ibm); + font_set(gd_font); + memset(map_buffer, 0, sizeof(map_buffer)); + ending_puttext(2, 7, "GOING DEEPER"); + ending_puttext(3, 9, "LEVEL"); + ending_putdigit(9, 9, (uint8_t)(level + 1)); + set_bkg_tiles(0, 0, 32, 32, map_buffer); } else if (game_over == 3) { // FINALE TRAGICO: livello 8 superato, ma non e' una fuga. La traccia // si e' esaurita, sei intrappolato. Sfondo nero (BGP invertito) + testo