diff --git a/crates/core/src/machine.rs b/crates/core/src/machine.rs index f202d076..d16fab04 100644 --- a/crates/core/src/machine.rs +++ b/crates/core/src/machine.rs @@ -117,7 +117,7 @@ impl Machine { } // 512 Sprites (usando Banco 2 - Indigo e Amarelo) - for i in 0..512 { + for i in 0..511 { let s = &mut self.gfx.sprites[i]; s.active = true; s.bank_id = 2; @@ -142,6 +142,29 @@ impl Machine { self.gfx.scene_fade_level = level as u8; self.gfx.scene_fade_color = Color::BLACK; self.gfx.hud_fade_level = 31; + + + + // --- INTERATIVIDADE COM TOUCH --- + let cursor = &mut self.gfx.sprites[511]; + cursor.active = true; + cursor.bank_id = 0; // Banco Verde + cursor.tile.id = 1; + cursor.priority = 4; + + // Se o dedo/mouse estiver pressionado agora (down) + if self.touch.f.down { + cursor.x = self.touch.x - 4; // Centraliza tile 8x8 + cursor.y = self.touch.y - 4; + cursor.tile.palette_id = 0; // Verde + } else { + cursor.tile.palette_id = 1; // Vermelho (se configurado) + } + + // Teste de Pressed: se clicou JUSTO AGORA, reseta o frame_index + if self.touch.f.pressed { + self.frame_index = 0; + } } /// Final do frame: troca buffers.