mirror of
https://github.com/italicsjenga/agb.git
synced 2025-01-22 15:16:40 +11:00
Clear the backgrounds once they aren't used any more
This commit is contained in:
parent
bdcd5b5e6d
commit
d896adfad5
3 changed files with 15 additions and 8 deletions
|
@ -649,6 +649,10 @@ impl<'a> InfiniteScrolledMap<'a> {
|
|||
pub fn commit(&mut self) {
|
||||
self.map.commit();
|
||||
}
|
||||
|
||||
pub fn clear(&mut self, vram: &mut VRamManager) {
|
||||
self.map.clear(vram);
|
||||
}
|
||||
}
|
||||
|
||||
fn div_floor(x: i32, y: i32) -> i32 {
|
||||
|
|
|
@ -660,6 +660,11 @@ impl<'a, 'b, 'c> PlayingLevel<'a, 'b> {
|
|||
self.background.background.hide();
|
||||
}
|
||||
|
||||
fn clear_backgrounds(&mut self, vram: &mut VRamManager) {
|
||||
self.background.background.clear(vram);
|
||||
self.background.foreground.clear(vram);
|
||||
}
|
||||
|
||||
fn dead_start(&mut self) {
|
||||
self.player.wizard.velocity = (0, -1).into();
|
||||
self.player.wizard.sprite.set_priority(Priority::P0);
|
||||
|
@ -812,7 +817,7 @@ fn main(mut agb: agb::Gba) -> ! {
|
|||
let mut music_box = sfx::MusicBox::new();
|
||||
|
||||
let vblank = agb::interrupt::VBlank::get();
|
||||
let mut current_level = 10;
|
||||
let mut current_level = 11;
|
||||
|
||||
loop {
|
||||
if current_level == map_tiles::LEVELS.len() as u32 {
|
||||
|
@ -934,6 +939,7 @@ fn main(mut agb: agb::Gba) -> ! {
|
|||
}
|
||||
|
||||
level.hide_backgrounds();
|
||||
level.clear_backgrounds(&mut vram);
|
||||
}
|
||||
|
||||
splash_screen::show_splash_screen(
|
||||
|
|
|
@ -19,16 +19,14 @@ pub fn show_splash_screen(
|
|||
vram: &mut VRamManager,
|
||||
) {
|
||||
map.set_scroll_pos((0u16, 0u16).into());
|
||||
let tile_set_ref = match which {
|
||||
let (tile_set_ref, palette) = match which {
|
||||
SplashScreen::Start => {
|
||||
let tile_set_ref = vram.add_tileset(TileSet::new(
|
||||
splash_screens::splash.tiles,
|
||||
TileFormat::FourBpp,
|
||||
));
|
||||
|
||||
vram.set_background_palettes(splash_screens::splash.palettes);
|
||||
|
||||
tile_set_ref
|
||||
(tile_set_ref, splash_screens::splash.palettes)
|
||||
}
|
||||
SplashScreen::End => {
|
||||
let tile_set_ref = vram.add_tileset(TileSet::new(
|
||||
|
@ -36,9 +34,7 @@ pub fn show_splash_screen(
|
|||
TileFormat::FourBpp,
|
||||
));
|
||||
|
||||
vram.set_background_palettes(splash_screens::thanks_for_playing.palettes);
|
||||
|
||||
tile_set_ref
|
||||
(tile_set_ref, splash_screens::thanks_for_playing.palettes)
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -71,6 +67,7 @@ pub fn show_splash_screen(
|
|||
}
|
||||
|
||||
map.commit();
|
||||
vram.set_background_palettes(palette);
|
||||
map.show();
|
||||
|
||||
loop {
|
||||
|
|
Loading…
Add table
Reference in a new issue