From 89a17c3a055376c2f2fc908ff135e502bb15707c Mon Sep 17 00:00:00 2001 From: xCrystal Date: Sat, 21 Oct 2023 19:29:29 +0200 Subject: [PATCH] Make sure overworld sprites don't appear after returning from overworld [bugfix] (#17) --- engine/menus/game_menu.asm | 1 + home/map.asm | 22 ++++++++-------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/engine/menus/game_menu.asm b/engine/menus/game_menu.asm index 2ddf122ad..e5134bfd7 100755 --- a/engine/menus/game_menu.asm +++ b/engine/menus/game_menu.asm @@ -130,6 +130,7 @@ GameMenu_WorldMap: farcall OverworldLoop ; return from overworld loop + call ClearObjectStructs call ClearBGPalettes call ClearSprites farcall AutoSaveGameOutsideOverworld diff --git a/home/map.asm b/home/map.asm index 13bc1d343..0ed187d26 100644 --- a/home/map.asm +++ b/home/map.asm @@ -551,7 +551,7 @@ ReadBGEvents:: ReadObjectEvents:: push hl - call ClearObjectStructs + call ClearNonPlayerObjectStructs pop de ld hl, wMap1Object ld a, [de] @@ -618,22 +618,16 @@ CopyMapObjectEvents:: ret ClearObjectStructs:: + ld hl, wObjectStructs + ld bc, OBJECT_LENGTH * NUM_OBJECT_STRUCTS + xor a + jp ByteFill + +ClearNonPlayerObjectStructs:: ld hl, wObject1Struct ld bc, OBJECT_LENGTH * (NUM_OBJECT_STRUCTS - 1) xor a - call ByteFill - -; Just to make sure (this is rather pointless) - ld hl, wObject1Struct - ld de, OBJECT_LENGTH - ld c, NUM_OBJECT_STRUCTS - 1 - xor a -.loop - ld [hl], a - add hl, de - dec c - jr nz, .loop - ret + jp ByteFill GetWarpDestCoords:: call GetMapScriptsBank