Handle white out transition from overworld (incl. battle) to game menu (#27)

This commit is contained in:
xCrystal 2023-10-23 18:40:08 +02:00
parent 866729d024
commit ad345222ae
5 changed files with 20 additions and 8 deletions

View File

@ -333,5 +333,6 @@ DEF NUM_BOARD_EVENTS EQU const_value - 1
; exitoverworld arguments ; exitoverworld arguments
const_def const_def
const ABANDONED_LEVEL ; 0 const ABANDONED_LEVEL ; 0
const CLEARED_LEVEL ; 1 const CLEARED_LEVEL ; 1
const WHITED_OUT_IN_LEVEL ; 2

View File

@ -57,6 +57,7 @@ BoardMenuScript::
.exit: .exit:
wait 300 wait 300
exitoverworld ABANDONED_LEVEL exitoverworld ABANDONED_LEVEL
endall
.ConfirmExitText: .ConfirmExitText:
text "Abandon level and" text "Abandon level and"

View File

@ -55,7 +55,7 @@ EndSpaceScript::
callasm .FadeOutSlow ; 800 ms callasm .FadeOutSlow ; 800 ms
wait 400 wait 400
exitoverworld CLEARED_LEVEL exitoverworld CLEARED_LEVEL
end endall
.FadeOutSlow: .FadeOutSlow:
; clear spaces left sprites ; clear spaces left sprites

View File

@ -15,10 +15,8 @@ Script_Whiteout:
checkflag ENGINE_BUG_CONTEST_TIMER checkflag ENGINE_BUG_CONTEST_TIMER
iftrue .bug_contest iftrue .bug_contest
callasm HalveCoins callasm HalveCoins
callasm GetWhiteoutSpawn
farscall Script_AbortBugContest farscall Script_AbortBugContest
special WarpToSpawnPoint exitoverworld WHITED_OUT_IN_LEVEL
newloadmap MAPSETUP_WARP
endall endall
.bug_contest .bug_contest
@ -32,9 +30,17 @@ OverworldBGMap:
call ClearPalettes call ClearPalettes
call ClearScreen call ClearScreen
call WaitBGMap2 call WaitBGMap2
call HideSprites call DisableOverworldHUD
xor a
ld [wDisplaySecondarySprites], a
farcall ClearSpriteAnims
call ClearSprites
call LoadStandardFont
call LoadFrame
call RotateThreePalettesLeft call RotateThreePalettesLeft
ret ld a, FALSE
ld [wText2bpp], a
jp SpeechTextbox1bpp
BattleBGMap: BattleBGMap:
ld b, CGB_BATTLE_GRAYSCALE ld b, CGB_BATTLE_GRAYSCALE

View File

@ -1157,6 +1157,8 @@ Script_loadtrainer:
Script_startbattle: Script_startbattle:
call DisableOverworldHUD call DisableOverworldHUD
ld a, FALSE
ld [wText2bpp], a
call BufferScreen call BufferScreen
predef StartBattle predef StartBattle
ld a, [wBattleResult] ld a, [wBattleResult]
@ -1175,6 +1177,8 @@ Script_reloadmapafterbattle:
ld hl, wBattleScriptFlags ld hl, wBattleScriptFlags
ld d, [hl] ld d, [hl]
ld [hl], 0 ld [hl], 0
ld a, TRUE
ld [wText2bpp], a
ld a, [wBattleResult] ld a, [wBattleResult]
and ~BATTLERESULT_BITMASK and ~BATTLERESULT_BITMASK
cp LOSE cp LOSE