Aggiungi schermata istruzioni testuale (font IBM)

Schermata istruzioni mostrata all'inizio del livello 1, chiudibile con B,
ri-apribile in gioco con SELECT. Testo con font IBM (stesso pattern del
finale game_over==3 e della sconfitta game_over==1).

Contenuto: titolo, obiettivo (find the hatch), controlli (DPAD walk,
A jump abyss, B run), istruzioni di chiusura (press B, select help).

Per fare spazio: rimosso claimed.png (schermata di morte ora testuale
con lo stesso font, stesso pattern del finale).
This commit is contained in:
2026-06-25 22:16:28 +02:00
parent 1fecf81395
commit d75a44c2d1
7 changed files with 80 additions and 852 deletions
+1
View File
@@ -17,3 +17,4 @@ assets/finale_music.txt
# Python caches
__pycache__/
*.pyc
assets/claimed.png
+1 -3
View File
@@ -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)/stamina.c $(SRC_DIR)/level.c $(SRC_DIR)/claimed.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)/title_bg.c
all: $(BUILD_DIR)/hello_iso.gb $(BUILD_DIR)/test_gameover.gb $(BUILD_DIR)/test_finale.gb
@@ -29,7 +29,6 @@ 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)
@@ -53,5 +52,4 @@ clean:
rm -f $(SRC_DIR)/gameover.c $(SRC_DIR)/gameover.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
-813
View File
@@ -1,813 +0,0 @@
//AUTOGENERATED FILE FROM png2asset
#include <stdint.h>
#include <gbdk/platform.h>
#include <gbdk/metasprites.h>
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[3104] = {
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,
0x83,0x81,0xe7,0xef,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x66,0x74,0x66,0x75,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x0f,0x1f,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xe0,0xf1,0xee,0xf6,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xe3,0xf7,0x73,0xeb,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x83,0x86,0xbb,0xba,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x67,0xef,0x4f,0xdf,
0xe7,0xef,0xe7,0xef,
0xe7,0xef,0xe7,0xef,
0xe7,0xef,0xff,0xff,
0xff,0xff,0xff,0xff,
0x66,0x75,0x06,0x04,
0x66,0x75,0x67,0x74,
0x66,0x74,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x1f,0x1f,
0xff,0xff,0xff,0xff,
0x0f,0x1f,0xff,0xff,
0xff,0xff,0xff,0xff,
0xee,0xf7,0xee,0xf7,
0xee,0xf7,0xec,0xf6,
0xe0,0xf1,0xff,0xff,
0xff,0xff,0xff,0xff,
0xeb,0x6b,0x5b,0x6d,
0xc1,0x41,0x5c,0xdd,
0xfd,0x9e,0xff,0xff,
0xff,0xff,0xff,0xff,
0xb3,0xba,0x83,0x86,
0xbf,0xa6,0xb3,0xb6,
0x3b,0xba,0x7f,0xff,
0xbf,0xff,0xbf,0xff,
0x1f,0xbf,0x1f,0x3f,
0xdf,0x5f,0x4f,0xef,
0x7f,0xe7,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x67,0x77,
0x66,0x77,0x66,0x76,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x78,0x3c,
0xbb,0x3b,0xdb,0xb9,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x3f,0x7f,
0xbf,0xbf,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xf3,0xe1,
0xfc,0xcd,0xcf,0xdf,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x9f,0xbf,
0x9e,0xbf,0x9e,0xbf,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xbf,0xff,0x3e,0x9c,
0xdf,0x1f,0x2f,0x5f,
0xff,0xff,0xff,0xff,
0xff,0xff,0xfd,0xff,
0xf3,0xff,0x2b,0x13,
0x59,0x73,0x3f,0x70,
0xbf,0xff,0x7f,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x60,0x20,
0x6f,0x2f,0xef,0x2f,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xc7,0xc3,
0x9f,0xd9,0x99,0xdd,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xfc,0xfe,
0xff,0xfe,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xe6,0xec,
0xd9,0x6d,0x1f,0x59,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x77,0x37,
0x97,0xb7,0xb7,0xd7,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x7f,0x7f,
0x7f,0x7f,0x7f,0x7f,
0x06,0x06,0x66,0x74,
0x65,0x75,0x61,0x75,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xde,0xdc,0x1f,0x1f,
0xfb,0xcb,0xe8,0xec,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x3f,0x7f,0xbf,0xbf,
0xbf,0xbf,0x7f,0x3f,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xcf,0xdf,0xcf,0xdf,
0xce,0xed,0xf3,0xe1,
0xef,0xff,0xef,0xff,
0xef,0xff,0xef,0xff,
0x9e,0xbf,0x1d,0xbe,
0x1c,0xbe,0x00,0x82,
0x7d,0xff,0x7d,0xff,
0x3d,0xff,0xbd,0xff,
0x6f,0x6f,0x0f,0x0f,
0x7e,0xe7,0xe6,0xf4,
0xfe,0xff,0xfe,0xff,
0xfc,0xff,0xf9,0xff,
0x78,0x74,0x79,0x76,
0x7a,0x77,0x3a,0x17,
0xf9,0xff,0xfb,0xff,
0xf3,0xff,0xf7,0xff,
0x21,0xa0,0x2f,0xaf,
0x2f,0xaf,0x60,0xa0,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x9d,0xdd,0x99,0xdd,
0x9f,0xd9,0x07,0xc3,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x1b,0xb9,0xbf,0xb9,
0xb9,0xbd,0xbe,0xbc,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x97,0xd7,0xb7,0xd7,
0x92,0xb7,0x70,0x38,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x7f,0x7f,0x7f,0x7f,
0x7f,0x7f,0x7f,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xe7,0xff,0xf3,0xff,
0xb9,0xff,0xbc,0xff,
0xbe,0xff,0xdf,0xff,
0xf7,0xff,0xff,0xff,
0x9f,0xff,0xdc,0xff,
0xcd,0xff,0xed,0xff,
0xed,0xff,0x25,0xff,
0xb2,0xff,0x90,0xff,
0xdd,0xff,0x9d,0xff,
0x9d,0xff,0x3b,0xff,
0x73,0xff,0x63,0xff,
0x43,0xff,0xc7,0xff,
0xf7,0xff,0xe7,0xff,
0xef,0xff,0xdf,0xff,
0xff,0xff,0xde,0xff,
0xfd,0xff,0xfb,0xff,
0xff,0xff,0xff,0xff,
0xdf,0xff,0xbf,0xff,
0x7f,0xff,0xff,0xff,
0xff,0xff,0xfe,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xfd,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x7f,0xff,0xff,0xff,
0x89,0xff,0x8f,0xff,
0xef,0xff,0xf7,0xff,
0xdb,0xff,0xef,0xff,
0xb7,0xff,0x9f,0xff,
0x8d,0xff,0x99,0xff,
0x15,0xfb,0x31,0xf7,
0xfb,0xe7,0xfd,0xff,
0xf9,0xff,0xf3,0xff,
0xef,0xff,0xdf,0xff,
0x9f,0xff,0x3f,0xff,
0x7f,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xfe,0xff,0xfe,0xff,
0xff,0xff,0xf7,0xff,
0xe3,0xff,0xe0,0xff,
0xec,0xff,0xf6,0xff,
0x7f,0xff,0x7f,0xff,
0x7f,0xff,0x3f,0xff,
0xbf,0xff,0x9f,0xff,
0xff,0xff,0x7f,0xff,
0xfe,0xff,0xf8,0xff,
0xff,0xff,0xfa,0xfa,
0xfa,0xfa,0xfd,0xfd,
0xfd,0xfd,0xff,0xff,
0x9e,0xfe,0x3d,0xfd,
0xdd,0xd5,0xa7,0xb7,
0xb7,0xb7,0xf7,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xef,0xff,
0xef,0xff,0xef,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xfd,0xff,
0xfc,0xff,0xfc,0xff,
0xfe,0xff,0xfe,0xff,
0x7f,0xff,0x9f,0xff,
0xff,0xff,0xf3,0xff,
0xf3,0xff,0x7f,0xff,
0x37,0xff,0x37,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xfd,0xfd,
0xfe,0xfc,0xfe,0xf6,
0xfe,0xf3,0xfd,0xd9,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xdf,0xdf,
0x7f,0xdf,0x1f,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xdf,0xdf,
0xcb,0xcf,0xea,0xea,
0xff,0xff,0xf0,0xff,
0xbf,0xbf,0xdf,0xdf,
0x7f,0x5f,0x6f,0x7f,
0x2f,0xbf,0xcf,0xff,
0x1f,0xff,0x7f,0xff,
0xfe,0xff,0xfe,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x37,0xff,0x1f,0xff,
0x6f,0xff,0xbf,0xff,
0xff,0xff,0xf3,0xff,
0x87,0xff,0x0e,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xdf,0xff,
0xdf,0xff,0xbf,0xff,
0x3f,0xff,0x7f,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xfd,0xff,0xff,0xff,
0xee,0xcd,0xfe,0xe2,
0xfc,0xf8,0xfc,0xff,
0xfe,0xff,0xff,0xfe,
0xfe,0xfe,0xff,0xf8,
0x2f,0x1f,0x2b,0x47,
0x45,0xa3,0x24,0x83,
0x01,0x1c,0x50,0x3c,
0x92,0x7c,0xfe,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x3f,0xff,
0x97,0x7f,0x97,0x7f,
0x57,0x3f,0x27,0xff,
0xff,0xff,0xfe,0xff,
0xfc,0xff,0xfc,0xff,
0xf9,0xff,0xf9,0xff,
0xf0,0xff,0xf0,0xff,
0x1e,0xff,0x1b,0xff,
0x67,0xff,0xef,0xff,
0xbf,0xff,0x7f,0xff,
0x7f,0xff,0xff,0xff,
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,0xef,0xff,
0x5f,0xff,0x0d,0xfe,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x7f,0xff,
0xcd,0xff,0xf3,0xff,
0xfc,0xff,0xf1,0xff,
0xff,0xff,0xe3,0xff,
0xff,0xff,0xc7,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xfc,0xff,0xf9,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xfe,0xff,
0xfc,0xff,0xc0,0xff,
0x3c,0xff,0xe5,0xff,
0xe9,0xff,0x82,0xff,
0x09,0xff,0x07,0xff,
0x1f,0xff,0x1f,0xff,
0x3f,0xff,0x3f,0xff,
0xbf,0xff,0x0f,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xf8,0xff,
0xf0,0xff,0xf0,0xff,
0xff,0xff,0xe1,0xff,
0xe0,0xff,0xc5,0xff,
0x05,0xff,0x0b,0xff,
0x0f,0xff,0x1f,0xff,
0xff,0xff,0xfc,0xff,
0xfe,0xff,0xfc,0xff,
0xfc,0xff,0xfa,0xff,
0xfd,0xff,0xfd,0xff,
0x19,0xf9,0xb3,0xf3,
0xb2,0xe9,0x70,0xe2,
0x75,0xe6,0xb5,0xe7,
0xb6,0xf6,0x26,0xf6,
0xff,0xff,0x8f,0x93,
0xb0,0xb1,0x0a,0x09,
0x0b,0x8b,0x19,0xc5,
0x8b,0xc5,0x47,0x0b,
0xff,0xff,0xff,0xff,
0xfe,0xff,0x7f,0xff,
0x3f,0xff,0xdf,0xbf,
0x0f,0x5f,0x48,0x5f,
0xff,0xff,0xff,0xff,
0x7f,0xff,0x0f,0xff,
0xe0,0xff,0x1e,0xff,
0xc1,0xff,0x7c,0xbf,
0xf3,0xff,0xfb,0xf7,
0xe7,0xff,0xe7,0xef,
0xef,0xef,0x6f,0xef,
0x2f,0xff,0x2f,0xff,
0xc6,0xff,0xce,0xff,
0x8c,0xff,0xbd,0xff,
0x7d,0xff,0x7d,0xff,
0x3d,0x7f,0x79,0x7f,
0x3f,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xbf,0xff,0xbc,0xff,
0xbf,0xff,0xbf,0xbf,
0xf8,0xff,0x9c,0xff,
0x0f,0xff,0x0f,0xff,
0x3f,0xff,0x7f,0xff,
0xff,0xff,0x3f,0xff,
0x3f,0xff,0xbf,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xf8,0xff,0xc0,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x7b,0xff,0x03,0xff,
0x07,0xff,0x07,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xfe,0xff,
0xff,0xff,0x8f,0xff,
0x6e,0xf6,0xd4,0xfb,
0x9f,0xfc,0xdf,0xff,
0xbe,0xff,0xff,0xfd,
0xfd,0xfe,0xff,0xff,
0x07,0xc3,0x00,0x17,
0xc0,0x19,0x20,0xff,
0x01,0xff,0xfe,0x9f,
0xbf,0x7f,0xff,0xff,
0x52,0x3c,0xf4,0x39,
0x69,0xf7,0xce,0xff,
0x90,0xff,0x22,0xff,
0xc8,0xff,0xf0,0xff,
0xc3,0x7f,0xb8,0xff,
0x30,0xff,0x00,0xff,
0x00,0xff,0x04,0xff,
0x0b,0xff,0x7f,0xff,
0x1d,0xff,0x0d,0xff,
0x04,0xff,0x18,0xff,
0x09,0xff,0xc3,0xff,
0xc6,0xff,0x1c,0xff,
0x7f,0xfb,0x7b,0xfb,
0xcb,0xff,0xcf,0xff,
0x9d,0xff,0x39,0xff,
0x7b,0xff,0xf7,0xff,
0x9e,0xbf,0xfd,0xff,
0xdf,0xff,0xdc,0xff,
0xd8,0xff,0xd8,0xff,
0xf8,0xff,0xfb,0xff,
0x47,0xff,0x87,0xff,
0x07,0xff,0x03,0xff,
0x03,0xff,0x41,0xff,
0x99,0xff,0x8f,0xff,
0x00,0xff,0x00,0xff,
0x81,0xff,0x84,0xff,
0xa0,0xff,0xfb,0xff,
0xdf,0xff,0xff,0xff,
0x1f,0xff,0x5b,0xff,
0x76,0xff,0xfc,0xff,
0xf9,0xff,0xfe,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xbf,0xff,0xfb,0xff,
0xfb,0xff,0x3b,0xff,
0x73,0xff,0xf7,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xaf,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xe7,0xff,
0xc7,0xff,0x8f,0xff,
0xfe,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xf9,0xfe,
0x62,0x99,0x09,0xf7,
0x7f,0xff,0xff,0xff,
0xf9,0xfe,0xe2,0xf9,
0x07,0xe7,0xdf,0x3f,
0x7f,0xff,0xff,0xff,
0x9f,0xff,0x07,0xff,
0x2f,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xdf,0xff,0xff,0xff,
0xff,0xff,0xc6,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x1f,0xff,
0x81,0xff,0xe0,0xff,
0xec,0xff,0xf8,0xff,
0xf8,0xff,0xfc,0xff,
0xff,0xff,0xf7,0xef,
0xff,0xff,0x1f,0xff,
0x03,0xff,0x00,0xff,
0x00,0xff,0x28,0xff,
0xf0,0xff,0xf8,0xff,
0xf3,0xff,0xe7,0xff,
0xff,0xff,0xff,0xff,
0x3f,0xff,0x49,0xff,
0x90,0xff,0x20,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x1e,0xfe,0x30,0xfc,
0xfb,0xff,0xff,0xff,
0xcf,0xdf,0x9f,0xbf,
0xff,0x3f,0x3f,0x7f,
0x23,0x1c,0x50,0x01,
0xe7,0xff,0xfb,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0x7f,0xff,0xff,
0xcf,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x04,0xff,0x94,0xff,
0xe8,0xff,0xf8,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x1f,0xff,0x1f,0xff,
0x3f,0xff,0x7f,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xfd,0xff,
0xfc,0xff,0xe8,0xff,
0xff,0xff,0xff,0xff,
0xeb,0xe7,0xe7,0xe7,
0xff,0xff,0x6c,0xff,
0x38,0xff,0xfe,0xff,
0xff,0xff,0xff,0xff,
0xfb,0xff,0xf9,0xfe,
0xcf,0xff,0x5f,0xff,
0x3f,0xff,0x20,0xff,
0xff,0xff,0xff,0xff,
0x64,0xff,0xff,0xff,
0x3f,0xef,0x8f,0x9f,
0x73,0xff,0x0d,0xff,
0xfc,0xff,0xff,0xff,
0x08,0xff,0xff,0xff,
0xff,0xff,0xfc,0xff,
0xe7,0xff,0x00,0xff,
0x00,0xff,0xf0,0xff,
0x01,0xff,0xff,0xff,
0xfe,0xff,0x7c,0xff,
0x81,0xff,0x03,0xff,
0x03,0xff,0x7f,0xff,
0x97,0xff,0xff,0xff,
0x67,0xff,0xaf,0xdf,
0x82,0xff,0x20,0xdf,
0x00,0xff,0xc0,0xff,
0xfe,0xff,0xff,0xff,
0xbf,0xff,0x07,0xff,
0x07,0xff,0x00,0xff,
0x00,0xff,0xff,0xff,
0x44,0xff,0xc4,0xff,
0xf8,0xff,0xff,0xff,
0x3f,0xff,0xf8,0xff,
0x01,0xff,0xff,0xff,
0x30,0xe8,0x6f,0xf0,
0x60,0xff,0xff,0xff,
0xff,0xff,0xde,0xff,
0xc0,0xff,0x80,0xff,
0x47,0x1f,0x8e,0x01,
0x07,0x1f,0x02,0xc1,
0xcf,0xff,0x73,0xff,
0x73,0xff,0x3d,0xff,
0xff,0xff,0x3f,0xff,
0xff,0xff,0x67,0xff,
0xcf,0xff,0x1f,0xff,
0x1f,0xff,0xfc,0xff,
0xff,0xff,0x8f,0xff,
0xe3,0xff,0xff,0xff,
0x87,0xfb,0xf1,0xff,
0xf1,0xff,0xf9,0xff,
0xfe,0xff,0xf8,0xff,
0xf5,0xff,0xff,0xff,
0xff,0xff,0x07,0xff,
0x2f,0xff,0xd7,0xef,
0x37,0xff,0x63,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xf0,0xff,
0xf1,0xff,0x71,0xff,
0xf9,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x00,0xff,0x7f,0xff,
0xff,0xff,0xff,0xff,
0xc1,0xff,0xf3,0xff,
0xe7,0xff,0xc9,0xff,
0x13,0xff,0xa0,0xff,
0xff,0xff,0xff,0xff,
0xfd,0xff,0x97,0xff,
0xc3,0xff,0xf8,0xff,
0xc0,0xff,0x00,0xff,
0xf8,0xff,0xff,0xff,
0x80,0xff,0xc0,0xff,
0x01,0xff,0x03,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0xfe,0xff,
0xe0,0xff,0xe0,0xff,
0x90,0xff,0xe0,0xff,
0x00,0xff,0x00,0xff,
0x01,0xff,0x07,0xff,
0x0f,0xff,0x0f,0xff,
0x08,0xff,0x10,0xff,
0x60,0xff,0xc0,0xff,
0x80,0xfe,0xe0,0xfc,
0x80,0xff,0x80,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x10,0xef,
0x18,0xe7,0x10,0xcf,
0x08,0xc7,0x46,0x81,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x03,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0xf2,0xff,0x00,0xff,
0x03,0xff,0xfc,0xff,
0x7f,0xff,0x7f,0xff,
0x0f,0xff,0x04,0xff,
0x07,0xff,0x1c,0xff,
0xe1,0xff,0x0f,0xff,
0xff,0xff,0xff,0xff,
0xcb,0xff,0x00,0xff,
0xe0,0xff,0x30,0xff,
0xfc,0xff,0xfc,0xff,
0xf2,0xfc,0xf1,0xf6,
0xf0,0xf3,0x7c,0xf8,
0x0c,0xff,0x03,0xff,
0x0f,0xff,0x12,0xf3,
0x3f,0xff,0xbb,0x7f,
0x0f,0xff,0x1e,0xfe,
0xf8,0x3d,0xf0,0xf3,
0xf0,0xf8,0x78,0x7f,
0xef,0x97,0xb3,0x8f,
0x17,0x6b,0x97,0xeb,
0x0b,0xf7,0x07,0xdf,
0x0f,0x7f,0x3e,0xfe,
0x3f,0xff,0xbf,0xff,
0xe0,0xff,0xaf,0xff,
0xbf,0xff,0xc0,0xff,
0x00,0xff,0x10,0xff,
0xff,0xff,0xfb,0xff,
0x7f,0xff,0xf7,0xff,
0xcf,0xff,0xef,0xff,
0x6f,0xff,0x76,0xff,
0xff,0xff,0xf0,0xff,
0xf9,0xff,0xfd,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0x00,0xff,0x00,0xff,
0x80,0xff,0x01,0xff,
0x00,0xff,0xc0,0xff,
0xc0,0xff,0xff,0xff,
0x0f,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x09,0xf7,0x07,0xff,
0x06,0xff,0xfe,0xff,
0xff,0xff,0x38,0xff,
0x70,0xff,0xc0,0xff,
0x80,0xff,0x00,0xff,
0x00,0xff,0x00,0xfe,
0xfd,0xfd,0x00,0xfe,
0x00,0xff,0x00,0xff,
0x00,0xf3,0x00,0xcf,
0x00,0x3f,0x00,0x7f,
0xfe,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0xe6,0x01,0xc3,0x00,
0x81,0x00,0xc1,0x18,
0x40,0x99,0x00,0xef,
0x00,0xff,0x00,0xff,
0x3f,0xff,0x62,0xff,
0x17,0xff,0x1f,0xff,
0x1f,0xff,0x3f,0xff,
0x3e,0xff,0x00,0xff,
0xc0,0xff,0x13,0xff,
0xff,0xff,0xff,0xff,
0xfc,0xff,0xc0,0xff,
0x00,0xff,0x00,0xff,
0x3f,0xff,0xff,0xff,
0xff,0xff,0xe0,0xff,
0x01,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0xf0,0xff,0xc3,0xff,
0xff,0xff,0x03,0xff,
0xc3,0xff,0x02,0xff,
0x06,0xff,0x0e,0xff,
0x0c,0xff,0xff,0xff,
0xff,0xff,0xc0,0xff,
0x00,0xff,0x03,0xff,
0x0f,0xff,0x00,0xff,
0xef,0xff,0xff,0xdf,
0xff,0xff,0x00,0xff,
0x00,0xff,0xfc,0xff,
0xe3,0xff,0x1c,0xff,
0xf8,0xff,0xff,0xff,
0xff,0xff,0x00,0xff,
0x10,0xf7,0x4f,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0xff,0xff,
0xff,0xff,0xf8,0xff,
0xe0,0xff,0xe3,0xff,
0xf7,0xff,0xf3,0xff,
0x71,0xff,0xff,0xff,
0xff,0xff,0x03,0xff,
0x3f,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x80,0xff,
0xc0,0xff,0xf0,0xff,
0xfc,0xff,0xff,0xff,
0xff,0xff,0x82,0xc6,
0xff,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x81,0xff,
0xf3,0xff,0x38,0x10,
0x80,0xef,0xf0,0xff,
0x7f,0xff,0x14,0xfb,
0x60,0xff,0xe0,0xff,
0xe0,0xff,0xa5,0x42,
0x00,0xff,0x00,0xff,
0xfe,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0x1f,
0x00,0xff,0x00,0xff,
0x00,0xff,0x3f,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x20,0xc2,
0x00,0xff,0x00,0xff,
0x00,0xff,0xff,0xff,
0x0f,0xff,0x3e,0xff,
0x06,0xff,0x1c,0x0c,
0x00,0xff,0x02,0xff,
0x08,0xff,0xff,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x23,0xc0,
0x00,0xff,0x07,0xff,
0xff,0xff,0xff,0xff,
0x12,0xff,0x02,0xff,
0x02,0xff,0x01,0x0f,
0x3e,0xff,0xfe,0xff,
0xff,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x20,0xc1,
0x00,0xff,0x00,0xff,
0xff,0xff,0x1f,0xff,
0x00,0xff,0x00,0xff,
0x00,0xff,0x9d,0x0f,
0xe0,0xff,0x00,0xff,
0xff,0xff,0xff,0xff,
0x06,0xff,0x06,0xff,
0xe6,0xff,0xc0,0xe3,
0x03,0xff,0x07,0xff,
0xff,0xff,0xff,0xff,
0xe6,0xff,0x7e,0xff,
0x70,0xff,0x04,0x08,
0xf2,0xff,0xf7,0xff,
0xff,0xff,0xff,0xff,
0x3c,0xff,0xdf,0xff,
0xff,0xff,0x23,0x21,
0x3f,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,
0xff,0xff,0x6f,0x77,
0xba,0xda,0xba,0xda,
0x9e,0xc6,0xbe,0xde,
0xbe,0xde,0xff,0xff,
0xff,0xff,0xff,0xff,
0xeb,0xd7,0xeb,0xd0,
0xbb,0x17,0xbb,0xd7,
0xe8,0xd0,0xff,0xff,
0xff,0xff,0xff,0xff,
0xd7,0xda,0xf6,0xcf,
0xf3,0xfb,0xdb,0xfa,
0xee,0x43,0xff,0xff,
0xff,0xff,0xff,0xff,
0x4f,0xff,0x5f,0x3f,
0xaf,0xdf,0xdf,0xef,
0x5f,0x1f,0xff,0xff,
0xff,0xff,0xff,0xff,
0xc4,0xdb,0xeb,0xc7,
0xf3,0xfb,0xfd,0xdb,
0xef,0xc3,0xff,0xff,
0xff,0xff,0xff,0xff,
0x1d,0xbc,0xbb,0xbc,
0xb8,0xb8,0xbb,0xbb,
0xbb,0xb7,0xff,0xff,
0xff,0xff,0xff,0xff,
0x32,0xcd,0xa6,0x59,
0x23,0x43,0xa3,0x5b,
0x2b,0xdd,0xff,0xff,
0xff,0xff,0xff,0xff,
0x00,0xbf,0x0e,0xbf,
0x9f,0xbf,0x9f,0xbf,
0xbf,0xbf,0xff,0xff,
0xff,0xff,0xff,0xff,
0xd2,0xf7,0x32,0xf7,
0xf6,0xf7,0xf3,0xf7,
0xf7,0xf7,0xff,0xff,
0xff,0xff,0xff,0xff,
0x6c,0x6f,0xa6,0x6f,
0x87,0x6f,0x6f,0x6f,
0x0f,0x9f,0xff,0xff,
0xff,0xff,0xff,0xff,
0x55,0xed,0x19,0xed,
0xc3,0xe3,0xdb,0xeb,
0xdd,0xed,0xff,0xff,
0xff,0xff,0xff,0xff,
0x7e,0x7e,0x7e,0x0e,
0x7e,0x7e,0x7e,0x7e,
0x06,0x0e,0xff,0xff,
0xff,0xff,0xff,0xff,
0xed,0xed,0xed,0xed,
0xe9,0xe3,0xed,0xeb,
0xed,0xed,0xff,0xff,
0xff,0xff,0xff,0xff,
0xef,0xaf,0xef,0x9f,
0xdf,0xdf,0xdf,0xdf,
0xdf,0xdf,0xff,0xff,
0xff,0xff,0xff,0xff
};
const unsigned char claimed_map[360] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x00,0x25,0x26,0x27,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x29,0x2a,0x2b,0x2c,0x00,0x2d,0x2e,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x30,0x31,0x32,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x35,0x36,0x37,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x39,0x3a,0x00,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x42,0x43,0x00,0x00,0x44,0x45,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x46,0x47,0x48,0x00,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x00,0x00,
0x00,0x00,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x00,0x00,0x73,0x74,0x75,0x00,0x00,
0x00,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,0x80,0x81,0x82,0x83,0x84,0x85,0x00,0x00,0x00,
0x00,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x00,0x00,0x00,
0x00,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0x00,0x00,0x00,
0x00,0x00,0x00,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0x00,0x00,0x00,
0x00,0x00,0x00,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,0xc0,0xc1,0x00,0x00,0x00,
};
-27
View File
@@ -1,27 +0,0 @@
//AUTOGENERATED FILE FROM png2asset
#ifndef METASPRITE_claimed_H
#define METASPRITE_claimed_H
#include <stdint.h>
#include <gbdk/platform.h>
#include <gbdk/metasprites.h>
#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 194
#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[3104];
#endif
+66 -6
View File
@@ -19,7 +19,6 @@
#include "gameover.h"
#include "stamina.h"
#include "level.h"
#include "claimed.h"
#include "title_bg.h"
/**
@@ -69,6 +68,12 @@ void engine_init(void) {
NR50_REG = 0x77;
NR51_REG = 0xFF;
// Reset hint SUBITO (all'inizio della funzione, non alla fine:
// la ROM a 32KB e' piena e il linker potrebbe troncare la coda).
hint_active = 0;
hint_displayed = 0;
if (level == 1) hint_active = 1;
// Carica il font testuale di sistema (IBM)
font_init();
font_t ibm_font = font_load(font_ibm);
@@ -221,6 +226,50 @@ void engine_update(uint8_t keys, uint8_t prev_keys) {
// `game_over` e' attivo (sconfitta/vittoria) grazie al check interno.
update_level_display();
// --- SCHERMATA ISTRUZIONI (livello 1 o SELECT per ri-mostrarla) ---
// Testuale con font IBM. Stesso pattern del finale (game_over==3) e della
// sconfitta (game_over==1). Si chiude con B; SELECT la ri-apre in gioco.
if (hint_active) {
if (!hint_displayed) {
hint_displayed = 1;
HIDE_SPRITES;
SCX_REG = 0;
SCY_REG = 0;
font_init();
font_t hint_font = font_load(font_ibm);
font_set(hint_font);
BGP_REG = 0x1B;
memset(map_buffer, 0, sizeof(map_buffer));
ending_puttext(3, 2, "A SCREAM FROM");
ending_puttext(6, 3, "THE DARK");
ending_puttext(3, 5, "FIND THE HATCH");
ending_puttext(4, 8, "DPAD WALK");
ending_puttext(2, 9, "A JUMP ABYSS");
ending_puttext(2, 10, "B RUN");
ending_puttext(2, 12, "PRESS B START");
ending_puttext(4, 14, "SELECT HELP");
set_bkg_tiles(0, 0, 32, 32, map_buffer);
}
// B chiude la schermata e riprende il gioco
if ((keys & J_B) && !(prev_keys & J_B)) {
BGP_REG = 0xE4;
set_bkg_data(0, tiles_TILE_COUNT, tiles_tiles);
draw_map(player_lx, player_ly);
update_camera();
update_player_sprite();
SHOW_SPRITES;
hint_active = 0;
}
return; // gioco in pausa mentre la schermata e' attiva
}
// SELECT in gioco: ri-mostra la schermata istruzioni
if ((keys & J_SELECT) && !(prev_keys & J_SELECT) && !game_over) {
hint_active = 1;
hint_displayed = 0;
}
// --- GESTIONE STATO DI FINE GIOCO (Sconfitta o Vittoria) ---
// --- GESTIONE STATO DI FINE GIOCO (Sconfitta o Vittoria) ---
if (game_over) {
if (game_over_timer > 0) {
@@ -228,17 +277,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) {
// Sconfitta: schermata "claimed" a tutto schermo + metasprite GAME OVER
// Sconfitta: schermata testuale a tutto schermo (font IBM).
// (Era l'immagine claimed.png, sostituita con testo per ridurre
// l'occupazione ROM e fare spazio alla schermata istruzioni.)
HIDE_SPRITES;
SCX_REG = 0;
SCY_REG = 0;
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);
BGP_REG = 0x1B; // palette invertita (sfondo nero, testo chiaro)
font_init();
font_t dead_font = font_load(font_ibm);
font_set(dead_font);
memset(map_buffer, 0, sizeof(map_buffer));
ending_puttext(5, 3, "YOU DIED");
ending_puttext(2, 5, "THE DARK CLAIMS");
ending_puttext(5, 6, "ANOTHER");
ending_puttext(2, 9, "JUST ANOTHER SCREAM");
ending_puttext(3, 10, "FROM THE DARK.");
ending_puttext(5, 14, "GAME OVER");
set_bkg_tiles(0, 0, 32, 32, map_buffer);
} 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.)
// e fare spazio alla schermata istruzioni.)
HIDE_SPRITES;
SCX_REG = 0;
SCY_REG = 0;
+2
View File
@@ -45,3 +45,5 @@ int8_t enemy_target_lx[MAX_ENEMIES], enemy_target_ly[MAX_ENEMIES];
int16_t enemy_start_px[MAX_ENEMIES], enemy_start_py[MAX_ENEMIES];
int16_t enemy_target_px[MAX_ENEMIES], enemy_target_py[MAX_ENEMIES];
uint8_t enemy_cooldown[MAX_ENEMIES] = {0};
volatile uint8_t hint_active = 0;
volatile uint8_t hint_displayed = 0;
+7
View File
@@ -75,4 +75,11 @@ extern int16_t enemy_start_px[MAX_ENEMIES], enemy_start_py[MAX_ENEMIES];
extern int16_t enemy_target_px[MAX_ENEMIES], enemy_target_py[MAX_ENEMIES];
extern uint8_t enemy_cooldown[MAX_ENEMIES];
// --- Instructions Screen ---
// hint_active: 1 = mostra la schermata istruzioni (all'inizio del livello 1,
// o quando il giocatore preme SELECT). Chiusura con B.
// hint_displayed: 1 = la schermata e' gia' stata renderizzata questo frame.
extern volatile uint8_t hint_active;
extern volatile uint8_t hint_displayed;
#endif