fix: hide leftover sprites on game over/victory and add VICTORY text

This commit is contained in:
2026-06-18 13:27:21 +02:00
parent 48c7c07afa
commit 0dceedc842
4 changed files with 99 additions and 31 deletions
+13
View File
@@ -154,6 +154,14 @@ void main(void) {
while (1) {
if (game_over_flag || victory_flag) {
HIDE_SPRITES;
// Nascondi tutti gli sprite (spostandoli fuori dallo schermo visibile)
// Questo spiega perché prima vedevi i topi fermi: lo schermo era
// cambiato, ma gli sprite erano rimasti nelle loro posizioni.
for (uint8_t i = 0; i < 40; i++) {
move_sprite(i, 0, 0);
}
move_bkg(0, 0); // Resetta lo scrolling hardware
// Ripristina la palette normale (Nero=3, Bianco=0)
@@ -239,6 +247,11 @@ void main(void) {
uint8_t keys = joypad();
// Debug cheat: forza vittoria con il tasto B
if ((keys & J_B) && !(main_prev_keys & J_B)) {
victory_flag = 1;
}
// Controllo per la Pausa
if ((keys & J_START) && !(main_prev_keys & J_START)) {
// Effetto sonoro pausa
+34 -28
View File
@@ -1,6 +1,6 @@
#include "victory_bg.h"
const uint8_t victory_bg_tiles[2384] = {
const uint8_t victory_bg_tiles[2480] = {
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, 0xFE, 0xFF, 0xF4, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x7F, 0xFF,
@@ -112,28 +112,34 @@ const uint8_t victory_bg_tiles[2384] = {
0x3C, 0xFF, 0x1B, 0xFF, 0x39, 0xFF, 0x48, 0xFF, 0x64, 0xFF, 0x38, 0xFF, 0x18, 0xFF, 0x0C, 0xFF,
0x3C, 0xFF, 0xD8, 0xFF, 0x9C, 0xFF, 0x12, 0xFF, 0x26, 0xFF, 0x1C, 0xFF, 0x18, 0xFF, 0x30, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xFF, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xE0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x07, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF,
0xFC, 0xFF, 0xF0, 0xFF, 0xE3, 0xFF, 0xC7, 0xFF, 0x07, 0xFF, 0x10, 0xFF, 0x0C, 0xFF, 0x03, 0xFF,
0x00, 0xFF, 0x00, 0xFF, 0xC0, 0xFF, 0xCC, 0xFF, 0xCA, 0xFF, 0x02, 0xFF, 0x73, 0xFF, 0xE3, 0xFF,
0x60, 0xFF, 0x60, 0xFF, 0xF8, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xDC, 0xFF, 0xC4, 0xFF, 0xE0, 0xFF,
0x06, 0xFF, 0x0A, 0xFF, 0x1F, 0xFF, 0x1F, 0xFF, 0x9F, 0xFF, 0x3B, 0xFF, 0x23, 0xFF, 0x07, 0xFF,
0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFF, 0x33, 0xFF, 0x53, 0xFF, 0x40, 0xFF, 0xCE, 0xFF, 0xC7, 0xFF,
0x3F, 0xFF, 0x0F, 0xFF, 0xC7, 0xFF, 0xE3, 0xFF, 0xE0, 0xFF, 0x08, 0xFF, 0x18, 0xFF, 0xC0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF,
0xFE, 0xFF, 0xF8, 0xFF, 0xFD, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x0D, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xF0, 0xFF,
0x60, 0xFF, 0xC0, 0xFF, 0x07, 0xFF, 0x0E, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x07, 0xFF,
0xF9, 0xFF, 0xFB, 0xFF, 0x7B, 0xFF, 0x09, 0xFF, 0x0C, 0xFF, 0x3D, 0xFF, 0x37, 0xFF, 0x63, 0xFF,
0x9F, 0xFF, 0xDF, 0xFF, 0xDE, 0xFF, 0x90, 0xFF, 0x30, 0xFF, 0xBC, 0xFF, 0xEC, 0xFF, 0xC6, 0xFF,
0x07, 0xFF, 0x03, 0xFF, 0xE0, 0xFF, 0x70, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xE0, 0xFF,
0xB0, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x0F, 0xFF,
0x7F, 0xFF, 0x1F, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C, 0x3C, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0x3F, 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xCC, 0xCC, 0xCC,
0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCC, 0xCC, 0xCC, 0xCC, 0xF3, 0xF3, 0xF3, 0xF3,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0xFC, 0xFC,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x0F, 0x0F, 0x0F, 0x0F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0xC0, 0xC0, 0xC0,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x30, 0x30, 0x30, 0x30, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xF3, 0xF3, 0xF3, 0xF3,
0x0F, 0x0F, 0x0F, 0x0F, 0x3F, 0x3F, 0x3F, 0x3F, 0xCF, 0xCF, 0xCF, 0xCF, 0xF3, 0xF3, 0xF3, 0xF3,
0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
0x3F, 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xF0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x0E, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x07, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7B, 0xFF, 0x09, 0xFF, 0x0C, 0xFF, 0x3D, 0xFF, 0x37, 0xFF, 0x63, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xFF, 0x90, 0xFF, 0x30, 0xFF, 0xBC, 0xFF, 0xEC, 0xFF, 0xC6, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0x70, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xE0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x0F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xF8, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xE3, 0xFF,
0x88, 0xFF, 0x1C, 0xFF, 0x3E, 0xFF, 0x3E, 0xFF, 0x88, 0xFF, 0x47, 0xFF, 0x1F, 0xFF, 0xFE, 0xFF,
0x03, 0xFF, 0x02, 0xFF, 0x86, 0xFF, 0x66, 0xFF, 0x7C, 0xFF, 0x3C, 0xFF, 0x39, 0xFF, 0x19, 0xFF,
@@ -166,9 +172,9 @@ const uint8_t victory_bg_map[360] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x6C, 0x6D, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x72, 0x75, 0x76, 0x77, 0x78, 0x6F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7C, 0x7F, 0x80, 0x81, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
+1 -1
View File
@@ -3,7 +3,7 @@
#include <stdint.h>
extern const uint8_t victory_bg_tiles[4096];
extern const uint8_t victory_bg_tiles[2480];
extern const uint8_t victory_bg_map[360];
#endif