diff options
Diffstat (limited to 'event')
-rwxr-xr-x | event/basement_key.asm | 10 | ||||
-rw-r--r-- | event/battle_tower.asm | 110 | ||||
-rw-r--r-- | event/buena.asm | 62 | ||||
-rwxr-xr-x | event/bug_contest_2.asm | 6 | ||||
-rwxr-xr-x | event/bug_contest_judging.asm | 23 | ||||
-rwxr-xr-x | event/card_key.asm | 12 | ||||
-rwxr-xr-x | event/celebi.asm | 240 | ||||
-rwxr-xr-x | event/daycare.asm | 472 | ||||
-rw-r--r-- | event/dratini.asm | 7 | ||||
-rwxr-xr-x | event/elevator.asm | 112 | ||||
-rwxr-xr-x | event/field_moves.asm | 330 | ||||
-rwxr-xr-x | event/halloffame.asm | 102 | ||||
-rwxr-xr-x | event/itemball.asm | 12 | ||||
-rwxr-xr-x | event/itemfinder.asm | 10 | ||||
-rw-r--r-- | event/kurt.asm | 44 | ||||
-rw-r--r-- | event/magikarp.asm | 4 | ||||
-rwxr-xr-x | event/magnet_train.asm | 178 | ||||
-rw-r--r-- | event/mom.asm | 91 | ||||
-rwxr-xr-x | event/mom_phone.asm | 77 | ||||
-rw-r--r-- | event/move_deleter.asm | 76 | ||||
-rwxr-xr-x | event/photo.asm | 26 | ||||
-rwxr-xr-x | event/poisonstep.asm | 6 | ||||
-rwxr-xr-x | event/sacred_ash.asm | 8 | ||||
-rwxr-xr-x | event/squirtbottle.asm | 2 | ||||
-rwxr-xr-x | event/sweet_scent.asm | 10 | ||||
-rw-r--r-- | event/unown.asm | 4 | ||||
-rwxr-xr-x | event/whiteout.asm | 8 |
27 files changed, 1121 insertions, 921 deletions
diff --git a/event/basement_key.asm b/event/basement_key.asm index 605b2af88..8fa47df5f 100755 --- a/event/basement_key.asm +++ b/event/basement_key.asm @@ -18,17 +18,17 @@ _BasementKey: ; 507b4 ; Let's use the Basement Key ld hl, .BasementKeyScript call QueueScript - ld a, 1 - ld [wd0ec], a + ld a, TRUE + ld [wItemEffectSucceeded], a ret .nope - ld a, $0 - ld [wd0ec], a + ld a, FALSE + ld [wItemEffectSucceeded], a ret ; 507e1 .BasementKeyScript: ; 0x507e1 - loadmovesprites + closetext farjump BasementDoorScript ; 0x507e6 diff --git a/event/battle_tower.asm b/event/battle_tower.asm index 9c494b168..a938e34c7 100644 --- a/event/battle_tower.asm +++ b/event/battle_tower.asm @@ -1,29 +1,29 @@ -Function8b1e1: ; 8b1e1 - ld de, Unknown_8b1ed - call Function8b25b +CheckForMobileBattleRules: ; 8b1e1 + ld de, .PointerTables + call BattleTower_ExecuteJumptable ret z - call Function8b231 + call BattleTower_PleaseReturnWhenReady scf ret ; 8b1ed -Unknown_8b1ed: ; 8b1ed +.PointerTables: ; 8b1ed db 2 - dw Unknown_8b1f2 - dw Unknown_8b1f6 + dw .Functions + dw .TextPointers -Unknown_8b1f2: ; 8b1f2 - dw Function8b2bb - dw Function8b2c1 +.Functions: ; 8b1f2 + dw BattleTower_CheckPartyLengthIs3 + dw BattleTower_CheckPartyHasThreeMonsThatAreNotEggs ; 8b1f6 -Unknown_8b1f6: ; 8b1f6 - dw UnknownText_0x8b1fc - dw UnknownText_0x8b23d - dw UnknownText_0x8b242 +.TextPointers: ; 8b1f6 + dw .ExcuseMeText + dw JumpText_NeedAtLeastThreeMon + dw JumpText_EggDoesNotQualify ; 8b1fc -UnknownText_0x8b1fc: ; 0x8b1fc +.ExcuseMeText: ; 0x8b1fc ; Excuse me! text_jump UnknownText_0x1c5937 db "@" @@ -34,27 +34,27 @@ CheckForBattleTowerRules: ; 8b201 ld [hl], "3" inc hl ld [hl], "@" - ld de, CheckForBattleTowerRules_FunctionsText - call Function8b25b + ld de, .PointerTables + call BattleTower_ExecuteJumptable ret z - call Function8b231 + call BattleTower_PleaseReturnWhenReady scf ret ; 8b215 -CheckForBattleTowerRules_FunctionsText: ; 8b215 +.PointerTables: ; 8b215 db 4 - dw CheckForBattleTowerRules_Functions - dw CheckForBattleTowerRules_Text + dw .Functions + dw .TextPointers -CheckForBattleTowerRules_Functions: ; 8b21a +.Functions: ; 8b21a dw Function_PartyCountEq3 dw Function_PartySpeciesAreUnique dw Function_PartyItemsAreUnique dw Function_HasPartyAnEgg ; 8b222 -CheckForBattleTowerRules_Text: ; 8b222 +.TextPointers: ; 8b222 dw JumpText_ExcuseMeYoureNotReady dw JumpText_OnlyThreePkmnMayBeEntered dw JumpText_ThePkmnMustAllBeDifferentKinds @@ -68,25 +68,25 @@ JumpText_ExcuseMeYoureNotReady: ; 0x8b22c db "@" ; 0x8b231 -Function8b231: ; 8b231 - ld hl, UnknownText_0x8b238 +BattleTower_PleaseReturnWhenReady: ; 8b231 + ld hl, .PleaseReturnWhenReady call PrintText ret ; 8b238 -UnknownText_0x8b238: ; 0x8b238 +.PleaseReturnWhenReady: ; 0x8b238 ; Please return when you're ready. text_jump UnknownText_0x1c5962 db "@" ; 0x8b23d -UnknownText_0x8b23d: ; 0x8b23d +JumpText_NeedAtLeastThreeMon: ; 0x8b23d ; You need at least three #MON. text_jump UnknownText_0x1c5983 db "@" ; 0x8b242 -UnknownText_0x8b242: ; 0x8b242 +JumpText_EggDoesNotQualify: ; 0x8b242 ; Sorry, an EGG doesn't qualify. text_jump UnknownText_0x1c59a3 db "@" @@ -116,22 +116,22 @@ JumpText_YouCantTakeAnEgg: ; 0x8b256 db "@" ; 0x8b25b -Function8b25b: ; 8b25b +BattleTower_ExecuteJumptable: ; 8b25b ld bc, 0 -.asm_8b25e - call Function8b26c - call c, Function8b28e - call Function8b276 - jr nz, .asm_8b25e +.loop + call .DoJumptableFunction + call c, .PrintFailureText + call .Next_CheckReachedEnd + jr nz, .loop ld a, b and a ret ; 8b26c -Function8b26c: ; 8b26c +.DoJumptableFunction: ; 8b26c push de push bc - call Function8b27a + call .GetFunctionPointer ld a, c rst JumpTable pop bc @@ -139,14 +139,14 @@ Function8b26c: ; 8b26c ret ; 8b276 -Function8b276: ; 8b276 +.Next_CheckReachedEnd: ; 8b276 inc c ld a, [de] cp c ret ; 8b27a -Function8b27a: ; 8b27a +.GetFunctionPointer: ; 8b27a inc de ld a, [de] ld l, a @@ -156,7 +156,7 @@ Function8b27a: ; 8b27a ret ; 8b281 -Function8b281: ; 8b281 +.GetTextPointers: ; 8b281 rept 3 inc de endr @@ -168,38 +168,38 @@ endr ret ; 8b28a -Function8b28a: ; 8b28a +.LoadTextPointer: ; 8b28a ld a, [hli] ld h, [hl] ld l, a ret ; 8b28e -Function8b28e: ; 8b28e +.PrintFailureText: ; 8b28e push de push bc ld a, b and a - call z, Function8b29d + call z, .PrintFirstText pop bc - call Function8b2a9 + call .PrintNthText ld b, $1 pop de ret ; 8b29d -Function8b29d: ; 8b29d +.PrintFirstText: ; 8b29d push de - call Function8b281 - call Function8b28a + call .GetTextPointers + call .LoadTextPointer call PrintText pop de ret ; 8b2a9 -Function8b2a9: ; 8b2a9 +.PrintNthText: ; 8b2a9 push bc - call Function8b281 + call .GetTextPointers rept 2 inc hl endr @@ -207,32 +207,32 @@ endr rept 2 add hl, bc endr - call Function8b28a + call .LoadTextPointer call PrintText pop bc ret ; 8b2bb -Function8b2bb: ; 8b2bb +BattleTower_CheckPartyLengthIs3: ; 8b2bb ld a, [PartyCount] cp 3 ret ; 8b2c1 -Function8b2c1: ; 8b2c1 +BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: ; 8b2c1 ld hl, PartyCount ld a, [hli] ld b, $0 ld c, a -.asm_8b2c8 +.loop ld a, [hli] cp EGG - jr z, .asm_8b2ce + jr z, .egg inc b -.asm_8b2ce +.egg dec c - jr nz, .asm_8b2c8 + jr nz, .loop ld a, [PartyCount] cp b ret z diff --git a/event/buena.asm b/event/buena.asm index 76a378549..97aab0c05 100644 --- a/event/buena.asm +++ b/event/buena.asm @@ -1,6 +1,6 @@ SpecialBuenasPassword: ; 8af6b xor a - ld [wcf76], a + ld [wWhichIndexSet], a ld hl, .MenuDataHeader call CopyMenuDataHeader ld a, [wBuenasPassword] @@ -10,7 +10,7 @@ SpecialBuenasPassword: ; 8af6b add c add $2 ld [wMenuBorderRightCoord], a - call BackUpTiles + call PushWindow call DoNthMenu ; menu callba Buena_ExitMenu ld b, $0 @@ -69,8 +69,8 @@ SpecialBuenaPrize: ; 8afd4 ld [wMenuScrollPosition], a ld a, $1 ld [MenuSelection], a - call Function8b0d6 - call Function8b090 + call Buena_PlacePrizeMenuBox + call Buena_DisplayBlueCardBalance ld hl, .Text_AskWhichPrize call PrintText jr .okay @@ -82,20 +82,20 @@ SpecialBuenaPrize: ; 8afd4 .okay call DelayFrame call UpdateSprites - call Function8b097 - call Function8b0e2 + call PrintBlueCardBalance + call Buena_PrizeMenu jr z, .done - ld [wcf75], a + ld [MenuSelectionQuantity], a call Buena_getprize ld a, [hl] - ld [wd265], a + ld [wNamedObjectIndexBuffer], a call GetItemName ld hl, .Text_IsThatRight call BuenaPrintText call YesNoBox jr c, .loop - ld a, [wcf75] + ld a, [MenuSelectionQuantity] call Buena_getprize inc hl ld a, [hld] @@ -118,7 +118,7 @@ SpecialBuenaPrize: ; 8afd4 ld a, [wBlueCardBalance] sub c ld [wBlueCardBalance], a - call Function8b097 + call PrintBlueCardBalance jr .Purchase .InsufficientBalance @@ -139,8 +139,8 @@ SpecialBuenaPrize: ; 8afd4 jr .loop .done - call WriteBackup - call WriteBackup + call CloseWindow + call CloseWindow ld hl, .Text_PleaseComeBackAgain call PrintText call JoyWaitAorB @@ -183,35 +183,35 @@ SpecialBuenaPrize: ; 8afd4 db "@" ; 0x8b090 -Function8b090: ; 8b090 - ld hl, MenuDataHeader_0x8b0d1 +Buena_DisplayBlueCardBalance: ; 8b090 + ld hl, BlueCardBalanceMenuDataHeader call LoadMenuDataHeader ret ; 8b097 -Function8b097: ; 8b097 +PrintBlueCardBalance: ; 8b097 ld de, wBlueCardBalance - call Function8b09e + call .DrawBox ret ; 8b09e -Function8b09e: ; 8b09e +.DrawBox: ; 8b09e push de xor a ld [hBGMapMode], a - ld hl, MenuDataHeader_0x8b0d1 + ld hl, BlueCardBalanceMenuDataHeader call CopyMenuDataHeader call MenuBox call UpdateSprites call MenuBoxCoord2Tile - ld bc, $0015 + ld bc, SCREEN_WIDTH + 1 add hl, bc ld de, .Points_string call PlaceString ld h, b ld l, c inc hl - ld a, $7f + ld a, " " ld [hli], a ld [hld], a pop de @@ -224,13 +224,13 @@ Function8b09e: ; 8b09e db "Points@" ; 8b0d1 -MenuDataHeader_0x8b0d1: ; 0x8b0d1 +BlueCardBalanceMenuDataHeader: ; 0x8b0d1 db $40 ; flags db 11, 00 ; start coords db 13, 11 ; end coords ; 8b0d6 -Function8b0d6: ; 8b0d6 +Buena_PlacePrizeMenuBox: ; 8b0d6 ld hl, .menudataheader call LoadMenuDataHeader ret @@ -242,29 +242,29 @@ Function8b0d6: ; 8b0d6 db 11, 17 ; end coords ; 8b0e2 -Function8b0e2: ; 8b0e2 +Buena_PrizeMenu: ; 8b0e2 ld hl, .MenuDataHeader call CopyMenuDataHeader ld a, [MenuSelection] ld [wMenuCursorBuffer], a xor a - ld [wcf76], a + ld [wWhichIndexSet], a ld [hBGMapMode], a call InitScrollingMenu call UpdateSprites - call HandleScrollingMenu + call ScrollingMenu ld a, [MenuSelection] ld c, a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [MenuSelection], a - ld a, [wcf73] + ld a, [wMenuJoypad] cp $2 - jr z, .asm_8b111 + jr z, .cancel ld a, c and a ret nz -.asm_8b111 +.cancel xor a ret ; 8b113 @@ -281,8 +281,8 @@ Function8b0e2: ; 8b0e2 .MenuData2: ; 0x8b11c db $10 ; flags - db 4 ; items - db $d, $1 + db 4, 13 ; rows, columns + db 1 ; spacing dba .indices dba .prizeitem dba .prizepoints diff --git a/event/bug_contest_2.asm b/event/bug_contest_2.asm index 4aa4390eb..72fa8a31b 100755 --- a/event/bug_contest_2.asm +++ b/event/bug_contest_2.asm @@ -27,9 +27,9 @@ endr .next ; Choose a flag at uniform random to be set. call Random - cp $fa ; 250 + cp 250 jr nc, .next - ld c, $19 ; 25 + ld c, 25 call SimpleDivide ld e, b ld d, 0 @@ -124,7 +124,7 @@ ContestReturnMons: ; 13a31 ld b, $1 .loop ld a, [hli] - cp $ff + cp -1 jr z, .done inc b jr .loop diff --git a/event/bug_contest_judging.asm b/event/bug_contest_judging.asm index 4180391e1..420c46aac 100755 --- a/event/bug_contest_judging.asm +++ b/event/bug_contest_judging.asm @@ -1,7 +1,7 @@ _BugContestJudging: ; 1369d call ContestScore callba MobileFn_105f79 - call Function13819 + call BugContest_JudgeContestants ld a, [wBugContestThirdPlacePersonID] call LoadContestantName ld a, [wBugContestThirdPlaceMon] @@ -23,13 +23,12 @@ _BugContestJudging: ; 1369d call GetPokemonName ld hl, BugContest_FirstPlaceText call PrintText - jp Function13807 + jp BugContest_GetPlayersResult ; 136eb BugContest_FirstPlaceText: ; 0x136eb text_jump ContestJudging_FirstPlaceText start_asm -BugContest_FirstPlace: ; 136f0 ld de, SFX_1ST_PLACE call PlaySFX call WaitSFX @@ -47,7 +46,6 @@ BugContest_SecondPlaceText: ; 0x13702 ; Placing second was @ , who caught a @ !@ @ text_jump ContestJudging_SecondPlaceText start_asm -BugContest_SecondPlace: ; 13707 ld de, SFX_2ND_PLACE call PlaySFX call WaitSFX @@ -65,9 +63,6 @@ BugContest_ThirdPlaceText: ; 0x13719 ; Placing third was @ , who caught a @ !@ @ text_jump ContestJudging_ThirdPlaceText start_asm -; 0x1371e - -BugContest_ThirdPlace: ; 1371e ld de, SFX_3RD_PLACE call PlaySFX call WaitSFX @@ -215,13 +210,13 @@ BugContestant_SchoolboyKipp: dbw KAKUNA, 259 ; 13807 -Function13807: ; 13807 +BugContest_GetPlayersResult: ; 13807 ld hl, wBugContestThirdPlacePersonID ld de, -4 ld b, 3 .loop ld a, [hl] - cp 1 + cp 1 ; Player jr z, .done add hl, de dec b @@ -231,25 +226,25 @@ Function13807: ; 13807 ret ; 13819 -Function13819: ; 13819 +BugContest_JudgeContestants: ; 13819 call ClearContestResults call ComputeAIContestantScores ld hl, wBugContestTempPersonID - ld a, 1 + ld a, 1 ; Player ld [hli], a ld a, [wContestMon] ld [hli], a ld a, [hProduct] ld [hli], a - ld a, [hMultiplicand] + ld a, [hProduct + 1] ld [hl], a call DetermineContestWinners ret ; 13833 ClearContestResults: ; 13833 - ld hl, wBugContestFirstPlacePersonID - ld b, 12 + ld hl, wBugContestResults + ld b, wBugContestWinnersEnd - wBugContestResults xor a .loop ld [hli], a diff --git a/event/card_key.asm b/event/card_key.asm index b442ba184..dc4c73ad2 100755 --- a/event/card_key.asm +++ b/event/card_key.asm @@ -9,7 +9,7 @@ _CardKey: ; 50779 jr nz, .nope ; Are we facing the slot? ld a, [PlayerDirection] - and $c + and %1100 cp OW_UP jr nz, .nope @@ -23,17 +23,17 @@ _CardKey: ; 50779 ; Let's use the Card Key. ld hl, .CardKeyScript call QueueScript - ld a, $1 - ld [wd0ec], a + ld a, TRUE + ld [wItemEffectSucceeded], a ret .nope - ld a, $0 - ld [wd0ec], a + ld a, FALSE + ld [wItemEffectSucceeded], a ret ; 507af .CardKeyScript: ; 0x507af - loadmovesprites + closetext farjump MapRadioTower3FSignpost2Script ; 0x507b4 diff --git a/event/celebi.asm b/event/celebi.asm index 46c78ed91..d9c188f1a 100755 --- a/event/celebi.asm +++ b/event/celebi.asm @@ -8,17 +8,17 @@ Special_CelebiShrineEvent: ; 4989a depixel 0, 10, 7, 0 ld a, SPRITE_ANIM_INDEX_2C call _InitSpriteAnimStruct - ld hl, $3 + ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], $84 - ld hl, $2 + ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld [hl], $1f - ld hl, $f + ld [hl], SPRITE_ANIM_SEQ_1F + ld hl, SPRITEANIMSTRUCT_0F add hl, bc ld a, $80 ld [hl], a - ld a, $a0 + ld a, 160 ; frame count ld [wcf64], a ld d, $0 .loop @@ -26,76 +26,83 @@ Special_CelebiShrineEvent: ; 4989a bit 7, a jr nz, .done push bc - call Function49bae + call GetCelebiSpriteTile inc d push de ld a, $90 - ld [wc3b5], a - callba Function8cf7a - call Function49935 + ld [wCurrSpriteOAMAddr], a + callba DoNextFrameForAllSprites + call CelebiEvent_CountDown ld c, 2 call DelayFrames pop de pop bc jr .loop + .done pop af ld [VramState], a - call Function498f9 - call Function49bf3 + call .RefreshPlayerSprite_ClearAllOthers + call CelebiEvent_SetBattleType ret + ; 498f9 -Function498f9: ; 498f9 +.RefreshPlayerSprite_ClearAllOthers: ; 498f9 ld hl, Sprites + 2 xor a ld c, $4 -.loop +.OAMloop ld [hli], a rept 3 inc hl endr inc a dec c - jr nz, .loop + jr nz, .OAMloop ld hl, Sprites + $10 ld bc, $90 xor a call ByteFill ret + ; 49912 LoadCelebiGFX: ; 49912 - callba Function8cf53 + callba ClearSpriteAnims ld de, SpecialCelebiLeafGFX ld hl, VTiles1 lb bc, BANK(SpecialCelebiLeafGFX), 4 call Request2bpp ld de, SpecialCelebiGFX - ld hl, VTiles1 tile $04 + ld hl, VTiles0 tile $84 lb bc, BANK(SpecialCelebiGFX), $10 call Request2bpp xor a ld [wJumptableIndex], a ret + ; 49935 -Function49935: ; 49935 +CelebiEvent_CountDown: ; 49935 ld hl, wcf64 ld a, [hl] and a - jr z, .asm_4993e + jr z, .done dec [hl] ret -.asm_4993e + +.done ld hl, wJumptableIndex set 7, [hl] ret + ; 49944 -Function49944: ; 49944 +CelebiEvent_SpawnLeaf: ; 49944 +; unused ld hl, wcf65 ld a, [hl] inc [hl] @@ -107,12 +114,13 @@ Function49944: ; 49944 add $40 ld d, a ld e, $0 - ld a, SPRITE_ANIM_INDEX_18 ; fly land + ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land call _InitSpriteAnimStruct - ld hl, $3 + ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], $80 ret + ; 49962 SpecialCelebiLeafGFX: ; 49962 @@ -124,126 +132,133 @@ INCBIN "gfx/special/celebi/3.2bpp" INCBIN "gfx/special/celebi/4.2bpp" -Function49aa2: ; 49aa2 (12:5aa2) - ld hl, $6 +UpdateCelebiPosition: ; 49aa2 (12:5aa2) + ld hl, SPRITEANIMSTRUCT_XOFFSET add hl, bc ld a, [hl] push af - ld hl, $5 + ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] - cp $52 - jp nc, Function49b30 - ld hl, $5 + cp 8 * 10 + 2 + jp nc, .FreezeCelebiPosition + ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc inc [hl] - ld hl, $f + ld hl, SPRITEANIMSTRUCT_0F add hl, bc ld a, [hl] ld d, a cp $3a - jr c, .asm_49ac6 - jr z, .asm_49ac6 + jr c, .skip + jr z, .skip sub $3 ld [hl], a -.asm_49ac6 - ld hl, $e +.skip + ld hl, SPRITEANIMSTRUCT_0E add hl, bc ld a, [hl] inc [hl] - call Function49b3b - ld hl, $6 + call CelebiEvent_Cosine + ld hl, SPRITEANIMSTRUCT_XOFFSET add hl, bc ld [hl], a ld d, a - ld hl, $4 + ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc add [hl] - cp $5c - jr nc, .asm_49ae2 - cp $44 - jr nc, .asm_49b0d -.asm_49ae2 + cp 8 * 11 + 4 + jr nc, .ShiftY + cp 8 * 8 + 4 + jr nc, .ReinitSpriteAnimFrame +.ShiftY pop af push af cp d - jr nc, .asm_49af2 - ld hl, $4 + jr nc, .moving_left + ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc add [hl] - cp $50 - jr c, .asm_49b05 - jr .asm_49afb -.asm_49af2 - ld hl, $4 + cp 8 * 10 + jr c, .float_up + jr .float_down + +.moving_left + ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc add [hl] - cp $50 - jr nc, .asm_49b05 -.asm_49afb - ld hl, $5 + cp 8 * 10 + jr nc, .float_up +.float_down + ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] sub $2 ld [hl], a - jr .asm_49b0d -.asm_49b05 - ld hl, $5 + jr .ReinitSpriteAnimFrame + +.float_up + ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] add $1 ld [hl], a -.asm_49b0d +.ReinitSpriteAnimFrame pop af - ld hl, $4 + ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc add [hl] - cp $50 - jr c, .asm_49b26 - cp $e6 - jr nc, .asm_49b26 - ld hl, $1 + cp 8 * 10 + jr c, .left + cp -(8 * 3 + 2) + jr nc, .left + ld hl, SPRITEANIMSTRUCT_FRAMESET_ID add hl, bc ld a, $41 - call Function3b3c - jr .asm_49b2f -.asm_49b26 - ld hl, $1 + call ReinitSpriteAnimFrame + jr .done + +.left + ld hl, SPRITEANIMSTRUCT_FRAMESET_ID add hl, bc ld a, $40 - call Function3b3c -.asm_49b2f + call ReinitSpriteAnimFrame +.done ret -Function49b30: ; 49b30 (12:5b30) + +.FreezeCelebiPosition: ; 49b30 (12:5b30) pop af - ld hl, $1 + ld hl, SPRITEANIMSTRUCT_FRAMESET_ID add hl, bc ld a, $40 - call Function3b3c + call ReinitSpriteAnimFrame ret -Function49b3b: ; 49b3b (12:5b3b) + +CelebiEvent_Cosine: ; 49b3b (12:5b3b) add $10 and $3f cp $20 - jr nc, .asm_49b48 - call Function49b52 + jr nc, .negative + call .SineFunction ld a, h ret -.asm_49b48 + +.negative and $1f - call Function49b52 + call .SineFunction ld a, h xor $ff inc a ret -Function49b52: ; 49b52 (12:5b52) + +.SineFunction: ; 49b52 (12:5b52) ld e, a ld a, d ld d, $0 - ld hl, Unknown_49b6e + ld hl, .sinewave rept 2 add hl, de endr @@ -251,23 +266,24 @@ endr inc hl ld d, [hl] ld hl, 0 -.asm_49b61 +.multiply srl a - jr nc, .asm_49b66 + jr nc, .even add hl, de -.asm_49b66 +.even sla e rl d and a - jr nz, .asm_49b61 + jr nz, .multiply ret + ; 49b6e (12:5b6e) -Unknown_49b6e: ; 49b6e +.sinewave: ; 49b6e sine_wave $100 ; 49bae -Function49bae: ; 49bae +GetCelebiSpriteTile: ; 49bae push hl push bc push de @@ -275,66 +291,74 @@ Function49bae: ; 49bae ld d, $3 ld e, d cp $0 - jr z, .asm_49bd0 + jr z, .Frame1 cp d - jr z, .asm_49bd4 - call Function49bed + jr z, .Frame2 + call .AddE cp d - jr z, .asm_49bd8 - call Function49bed + jr z, .Frame3 + call .AddE cp d - jr z, .asm_49bdc - call Function49bed + jr z, .Frame4 + call .AddE cp d - jr c, .asm_49be9 - jr .asm_49be5 + jr c, .done + jr .restart + -.asm_49bd0 +.Frame1 ld a, $84 - jr .asm_49bde + jr .load_tile -.asm_49bd4 + +.Frame2 ld a, $88 - jr .asm_49bde + jr .load_tile + -.asm_49bd8 +.Frame3 ld a, $8c - jr .asm_49bde + jr .load_tile -.asm_49bdc + +.Frame4 ld a, $90 -.asm_49bde - ld hl, $3 +.load_tile + ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], a - jr .asm_49be9 + jr .done -.asm_49be5 + +.restart pop de ld d, $ff push de -.asm_49be9 +.done pop de pop bc pop hl ret + ; 49bed -Function49bed: ; 49bed +.AddE: ; 49bed push af ld a, d add e ld d, a pop af ret + ; 49bf3 -Function49bf3: ; 49bf3 +CelebiEvent_SetBattleType: ; 49bf3 ld a, BATTLETYPE_CELEBI ld [BattleType], a ret + ; 49bf9 CheckCaughtCelebi: ; 49bf9 @@ -345,10 +369,12 @@ CheckCaughtCelebi: ; 49bf9 ld [ScriptVar], a jr .done + .false xor a ld [ScriptVar], a .done ret + ; 49c0c diff --git a/event/daycare.asm b/event/daycare.asm index 3ea64d38c..c83701e28 100755 --- a/event/daycare.asm +++ b/event/daycare.asm @@ -1,231 +1,252 @@ + const_def + const DAYCARETEXT_MAN_INTRO + const DAYCARETEXT_MAN_EGG + const DAYCARETEXT_LADY_INTRO + const DAYCARETEXT_LADY_EGG + const DAYCARETEXT_WHICH_ONE + const DAYCARETEXT_DEPOSIT + const DAYCARETEXT_CANT_BREED_EGG + const DAYCARETEXT_LAST_MON + const DAYCARETEXT_LAST_ALIVE_MON + const DAYCARETEXT_COME_BACK_LATER + const DAYCARETEXT_REMOVE_MAIL + const DAYCARETEXT_GENIUSES + const DAYCARETEXT_ASK_WITHDRAW + const DAYCARETEXT_WITHDRAW + const DAYCARETEXT_TOO_SOON + const DAYCARETEXT_PARTY_FULL + const DAYCARETEXT_NOT_ENOUGH_MONEY + const DAYCARETEXT_OH_FINE + const DAYCARETEXT_COME_AGAIN + const DAYCARETEXT_13 + Special_DayCareMan: ; 166d6 ld hl, wDaycareMan bit 0, [hl] - jr nz, .asm_166fe + jr nz, .AskWithdrawMon ld hl, wDaycareMan - ld a, $0 - call Function1678f - jr c, .asm_16724 - call Function16798 - jr c, .asm_16721 - callba Functionde2a + ld a, DAYCARETEXT_MAN_INTRO + call DayCareManIntroText + jr c, .cancel + call DayCareAskDepositPokemon + jr c, .print_text + callba DepositMonWithDaycareMan ld hl, wDaycareMan set 0, [hl] - call Function167f6 - call Function16a3b + call DayCare_DepositPokemonText + call DayCare_InitBreeding ret -.asm_166fe - callba Functione698 +.AskWithdrawMon + callba GetBreedMon1LevelGrowth ld hl, wBreedMon1Nick - call Function1686d - call Function16807 - jr c, .asm_16721 - callba Functiondd21 - call Function16850 + call GetPriceToRetrieveBreedmon + call DayCare_AskWithdrawBreedMon + jr c, .print_text + callba RetrievePokemonFromDaycareMan + call DayCare_TakeMoney_PlayCry ld hl, wDaycareMan res 0, [hl] res 5, [hl] - jr .asm_16724 + jr .cancel -.asm_16721 - call Function1689b +.print_text + call PrintDayCareText -.asm_16724 - ld a, $13 - call Function1689b +.cancel + ld a, DAYCARETEXT_13 + call PrintDayCareText ret ; 1672a Special_DayCareLady: ; 1672a ld hl, wDaycareLady bit 0, [hl] - jr nz, .asm_16752 + jr nz, .AskWithdrawMon ld hl, wDaycareLady - ld a, $2 - call Function16781 - jr c, .asm_1677b - call Function16798 - jr c, .asm_16778 - callba Functionde37 + ld a, DAYCARETEXT_LADY_INTRO + call DayCareLadyIntroText + jr c, .cancel + call DayCareAskDepositPokemon + jr c, .print_text + callba DepositMonWithDaycareLady ld hl, wDaycareLady set 0, [hl] - call Function167f6 - call Function16a3b + call DayCare_DepositPokemonText + call DayCare_InitBreeding ret -.asm_16752 - callba Functione6b3 +.AskWithdrawMon + callba GetBreedMon2LevelGrowth ld hl, wBreedMon2Nick - call Function1686d - call Function16807 - jr c, .asm_16778 - callba Functiondd42 - call Function16850 + call GetPriceToRetrieveBreedmon + call DayCare_AskWithdrawBreedMon + jr c, .print_text + callba RetrievePokemonFromDaycareLady + call DayCare_TakeMoney_PlayCry ld hl, wDaycareLady res 0, [hl] ld hl, wDaycareMan res 5, [hl] - jr .asm_1677b + jr .cancel -.asm_16778 - call Function1689b +.print_text + call PrintDayCareText -.asm_1677b - ld a, $13 - call Function1689b +.cancel + ld a, DAYCARETEXT_13 + call PrintDayCareText ret ; 16781 -Function16781: ; 16781 +DayCareLadyIntroText: ; 16781 bit 7, [hl] - jr nz, .asm_16788 + jr nz, .okay set 7, [hl] inc a - -.asm_16788 - call Function1689b +.okay + call PrintDayCareText call YesNoBox ret ; 1678f -Function1678f: ; 1678f +DayCareManIntroText: ; 1678f set 7, [hl] - call Function1689b + call PrintDayCareText call YesNoBox ret ; 16798 -Function16798: ; 16798 +DayCareAskDepositPokemon: ; 16798 ld a, [PartyCount] cp 2 - jr c, .asm_167e5 - ld a, 4 - call Function1689b + jr c, .OnlyOneMon + ld a, DAYCARETEXT_WHICH_ONE + call PrintDayCareText ld b, 6 - callba Function5001d - jr c, .asm_167dd + callba SelectTradeOrDaycareMon + jr c, .Declined ld a, [CurPartySpecies] cp EGG - jr z, .asm_167e1 + jr z, .Egg callba CheckCurPartyMonFainted - jr c, .asm_167e9 + jr c, .OutOfUsableMons ld hl, PartyMon1Item ld bc, PARTYMON_STRUCT_LENGTH ld a, [CurPartyMon] call AddNTimes ld d, [hl] callba ItemIsMail - jr c, .asm_167ed + jr c, .HoldingMail ld hl, PartyMonNicknames ld a, [CurPartyMon] call GetNick and a ret -.asm_167dd - ld a, $12 +.Declined + ld a, DAYCARETEXT_COME_AGAIN scf ret -.asm_167e1 - ld a, $6 +.Egg + ld a, DAYCARETEXT_CANT_BREED_EGG scf ret -.asm_167e5 - ld a, $7 +.OnlyOneMon + ld a, DAYCARETEXT_LAST_MON scf ret -.asm_167e9 - ld a, $8 +.OutOfUsableMons + ld a, DAYCARETEXT_LAST_ALIVE_MON scf ret -.asm_167ed - ld a, $a +.HoldingMail + ld a, DAYCARETEXT_REMOVE_MAIL scf ret ; 167f1 -UnknownText_0x167f1: ; 0x167f1 +.DummyText: ; 0x167f1 ; text_jump UnknownText_0x1bdaa7 db "@" ; 0x167f6 -Function167f6: ; 167f6 - ld a, $5 - call Function1689b +DayCare_DepositPokemonText: ; 167f6 + ld a, DAYCARETEXT_DEPOSIT + call PrintDayCareText ld a, [CurPartySpecies] call PlayCry - ld a, $9 - call Function1689b + ld a, DAYCARETEXT_COME_BACK_LATER + call PrintDayCareText ret ; 16807 -Function16807: ; 16807 +DayCare_AskWithdrawBreedMon: ; 16807 ld a, [StringBuffer2 + 1] and a - jr nz, .asm_16819 - ld a, $f - call Function1689b + jr nz, .grew_at_least_one_level + ld a, DAYCARETEXT_PARTY_FULL + call PrintDayCareText call YesNoBox - jr c, .asm_16844 - jr .asm_1682d + jr c, .refused + jr .check_money -.asm_16819 - ld a, $b - call Function1689b +.grew_at_least_one_level + ld a, DAYCARETEXT_GENIUSES + call PrintDayCareText call YesNoBox - jr c, .asm_16844 - ld a, $c - call Function1689b + jr c, .refused + ld a, DAYCARETEXT_ASK_WITHDRAW + call PrintDayCareText call YesNoBox - jr c, .asm_16844 + jr c, .refused -.asm_1682d +.check_money ld de, Money ld bc, StringBuffer2 + 2 callba CompareMoney - jr c, .asm_16848 + jr c, .not_enough_money ld a, [PartyCount] - cp $6 - jr nc, .asm_1684c + cp PARTY_LENGTH + jr nc, .PartyFull and a ret -.asm_16844 - ld a, $12 +.refused + ld a, DAYCARETEXT_COME_AGAIN scf ret -.asm_16848 - ld a, $11 +.not_enough_money + ld a, DAYCARETEXT_OH_FINE scf ret -.asm_1684c - ld a, $10 +.PartyFull + ld a, DAYCARETEXT_NOT_ENOUGH_MONEY scf ret ; 16850 -Function16850: ; 16850 +DayCare_TakeMoney_PlayCry: ; 16850 ld bc, StringBuffer2 + 2 ld de, Money callba TakeMoney - ld a, $d - call Function1689b + ld a, DAYCARETEXT_WITHDRAW + call PrintDayCareText ld a, [CurPartySpecies] call PlayCry - ld a, $e - call Function1689b + ld a, DAYCARETEXT_TOO_SOON + call PrintDayCareText ret ; 1686d -Function1686d: ; 1686d +GetPriceToRetrieveBreedmon: ; 1686d ld a, b ld [StringBuffer2], a ld a, d @@ -234,10 +255,10 @@ Function1686d: ; 1686d ld bc, NAME_LENGTH call CopyBytes ld hl, 0 - ld bc, $64 + ld bc, 100 ld a, [StringBuffer2 + 1] call AddNTimes - ld de, $64 + ld de, 100 add hl, de xor a ld [StringBuffer2 + 2], a @@ -248,13 +269,12 @@ Function1686d: ; 1686d ret ; 1689b -Function1689b: ; 1689b +PrintDayCareText: ; 1689b ld e, a ld d, 0 - ld hl, TextTable_168aa -rept 2 + ld hl, .TextTable + add hl, de add hl, de -endr ld a, [hli] ld h, [hl] ld l, a @@ -262,144 +282,144 @@ endr ret ; 168aa -TextTable_168aa: ; 168aa - dw UnknownText_0x168d2 - dw UnknownText_0x168d7 - dw UnknownText_0x168dc - dw UnknownText_0x168e1 - dw UnknownText_0x168e6 - dw UnknownText_0x168ff - dw UnknownText_0x168f0 - dw UnknownText_0x168eb - dw UnknownText_0x168fa - dw UnknownText_0x16904 - dw UnknownText_0x168f5 - dw UnknownText_0x16909 - dw UnknownText_0x1690e - dw UnknownText_0x16913 - dw UnknownText_0x16918 - dw UnknownText_0x1691d - dw UnknownText_0x16922 - dw UnknownText_0x16927 - dw UnknownText_0x1692c - dw UnknownText_0x16931 +.TextTable: ; 168aa + dw .DayCareManIntro ; 00 + dw .DayCareManOddEgg ; 01 + dw .DayCareLadyIntro ; 02 + dw .DayCareLadyOddEgg ; 03 + dw .WhichOne ; 04 + dw .OkayIllRaiseYourMon ; 05 + dw .CantAcceptEgg ; 06 + dw .JustOneMon ; 07 + dw .LastHealthyMon ; 08 + dw .ComeBackForItLater ; 09 + dw .RemoveMail ; 0a + dw .AreWeGeniusesOrWhat ; 0b + dw .AskRetrieveMon ; 0c + dw .PerfectHeresYourMon ; 0d + dw .GotBackMon ; 0e + dw .ImmediatelyWithdrawMon ; 0f + dw .PartyFull ; 10 + dw .NotEnoughMoney ; 11 + dw .OhFineThen ; 12 + dw .ComeAgain ; 13 ; 168d2 -UnknownText_0x168d2: ; 0x168d2 +.DayCareManIntro: ; 0x168d2 ; I'm the DAY-CARE MAN. Want me to raise a #MON? text_jump UnknownText_0x1bdaa9 db "@" ; 0x168d7 -UnknownText_0x168d7: ; 0x168d7 +.DayCareManOddEgg: ; 0x168d7 ; I'm the DAY-CARE MAN. Do you know about EGGS? I was raising #MON with my wife, you see. We were shocked to find an EGG! How incredible is that? So, want me to raise a #MON? text_jump UnknownText_0x1bdad8 db "@" ; 0x168dc -UnknownText_0x168dc: ; 0x168dc +.DayCareLadyIntro: ; 0x168dc ; I'm the DAY-CARE LADY. Should I raise a #MON for you? text_jump UnknownText_0x1bdb85 db "@" ; 0x168e1 -UnknownText_0x168e1: ; 0x168e1 +.DayCareLadyOddEgg: ; 0x168e1 ; I'm the DAY-CARE LADY. Do you know about EGGS? My husband and I were raising some #MON, you see. We were shocked to find an EGG! How incredible could that be? Should I raise a #MON for you? text_jump UnknownText_0x1bdbbb db "@" ; 0x168e6 -UnknownText_0x168e6: ; 0x168e6 +.WhichOne: ; 0x168e6 ; What should I raise for you? text_jump UnknownText_0x1bdc79 db "@" ; 0x168eb -UnknownText_0x168eb: ; 0x168eb +.JustOneMon: ; 0x168eb ; Oh? But you have just one #MON. text_jump UnknownText_0x1bdc97 db "@" ; 0x168f0 -UnknownText_0x168f0: ; 0x168f0 +.CantAcceptEgg: ; 0x168f0 ; Sorry, but I can't accept an EGG. text_jump UnknownText_0x1bdcb8 db "@" ; 0x168f5 -UnknownText_0x168f5: ; 0x168f5 +.RemoveMail: ; 0x168f5 ; Remove MAIL before you come see me. text_jump UnknownText_0x1bdcda db "@" ; 0x168fa -UnknownText_0x168fa: ; 0x168fa +.LastHealthyMon: ; 0x168fa ; If you give me that, what will you battle with? text_jump UnknownText_0x1bdcff db "@" ; 0x168ff -UnknownText_0x168ff: ; 0x168ff +.OkayIllRaiseYourMon: ; 0x168ff ; OK. I'll raise your @ . text_jump UnknownText_0x1bdd30 db "@" ; 0x16904 -UnknownText_0x16904: ; 0x16904 +.ComeBackForItLater: ; 0x16904 ; Come back for it later. text_jump UnknownText_0x1bdd4b db "@" ; 0x16909 -UnknownText_0x16909: ; 0x16909 +.AreWeGeniusesOrWhat: ; 0x16909 ; Are we geniuses or what? Want to see your @ ? text_jump UnknownText_0x1bdd64 db "@" ; 0x1690e -UnknownText_0x1690e: ; 0x1690e +.AskRetrieveMon: ; 0x1690e ; Your @ has grown a lot. By level, it's grown by @ . If you want your #MON back, it will cost ¥@ . text_jump UnknownText_0x1bdd96 db "@" ; 0x16913 -UnknownText_0x16913: ; 0x16913 +.PerfectHeresYourMon: ; 0x16913 ; Perfect! Here's your #MON. text_jump UnknownText_0x1bde04 db "@" ; 0x16918 -UnknownText_0x16918: ; 0x16918 +.GotBackMon: ; 0x16918 ; got back @ . text_jump UnknownText_0x1bde1f db "@" ; 0x1691d -UnknownText_0x1691d: ; 0x1691d +.ImmediatelyWithdrawMon: ; 0x1691d ; Huh? Back already? Your @ needs a little more time with us. If you want your #MON back, it will cost ¥100. text_jump UnknownText_0x1bde32 db "@" ; 0x16922 -UnknownText_0x16922: ; 0x16922 +.PartyFull: ; 0x16922 ; You have no room for it. text_jump UnknownText_0x1bdea2 db "@" ; 0x16927 -UnknownText_0x16927: ; 0x16927 +.NotEnoughMoney: ; 0x16927 ; You don't have enough money. text_jump UnknownText_0x1bdebc db "@" ; 0x1692c -UnknownText_0x1692c: ; 0x1692c +.OhFineThen: ; 0x1692c ; Oh, fine then. text_jump UnknownText_0x1bded9 db "@" ; 0x16931 -UnknownText_0x16931: ; 0x16931 +.ComeAgain: ; 0x16931 ; Come again. text_jump UnknownText_0x1bdee9 db "@" @@ -408,94 +428,95 @@ UnknownText_0x16931: ; 0x16931 Special_DayCareManOutside: ; 16936 ld hl, wDaycareMan bit 6, [hl] - jr nz, Function16949 - ld hl, UnknownText_0x16944 + jr nz, .AskGiveEgg + ld hl, .NotYet call PrintText ret -UnknownText_0x16944: ; 0x16944 +.NotYet: ; 0x16944 ; Not yet… text_jump UnknownText_0x1bdef6 db "@" ; 0x16949 -Function16949: ; 16949 - ld hl, UnknownText_0x16993 +.AskGiveEgg: ; 16949 + ld hl, .IntroText call PrintText call YesNoBox - jr c, .asm_1697c + jr c, .Declined ld a, [PartyCount] cp PARTY_LENGTH - jr nc, .asm_16987 - call Function169ac + jr nc, .PartyFull + call DayCare_GiveEgg ld hl, wDaycareMan res 6, [hl] - call Function16a3b - ld hl, UnknownText_0x16998 + call DayCare_InitBreeding + ld hl, .GotEggText call PrintText ld de, SFX_GET_EGG_FROM_DAYCARE_LADY call PlaySFX ld c, 120 call DelayFrames - ld hl, UnknownText_0x1699d - jr .asm_1697f + ld hl, .TakeGoodCareOfItText + jr .Load0 -.asm_1697c - ld hl, UnknownText_0x169a2 +.Declined + ld hl, .IllKeepItThanksText -.asm_1697f +.Load0 call PrintText xor a ld [ScriptVar], a ret -.asm_16987 - ld hl, UnknownText_0x169a7 +.PartyFull + ld hl, .PartyFullText call PrintText ld a, $1 ld [ScriptVar], a ret ; 16993 -UnknownText_0x16993: ; 0x16993 +.IntroText: ; 0x16993 ; Ah, it's you! We were raising your #MON, and my goodness, were we surprised! Your #MON had an EGG! We don't know how it got there, but your #MON had it. You want it? text_jump UnknownText_0x1bdf00 db "@" ; 0x16998 -UnknownText_0x16998: ; 0x16998 +.GotEggText: ; 0x16998 ; received the EGG! text_jump UnknownText_0x1bdfa5 db "@" ; 0x1699d -UnknownText_0x1699d: ; 0x1699d +.TakeGoodCareOfItText: ; 0x1699d ; Take good care of it. text_jump UnknownText_0x1bdfba db "@" ; 0x169a2 -UnknownText_0x169a2: ; 0x169a2 +.IllKeepItThanksText: ; 0x169a2 ; Well then, I'll keep it. Thanks! text_jump UnknownText_0x1bdfd1 db "@" ; 0x169a7 -UnknownText_0x169a7: ; 0x169a7 +.PartyFullText: ; 0x169a7 ; You have no room in your party. Come back later. text_jump UnknownText_0x1bdff2 db "@" ; 0x169ac -Function169ac: ; 169ac +DayCare_GiveEgg: ; 169ac ld a, [wEggMonLevel] ld [CurPartyLevel], a ld hl, PartyCount ld a, [hl] cp PARTY_LENGTH - jr nc, .asm_16a2f + jr nc, .PartyFull inc a ld [hl], a + ld c, a ld b, 0 add hl, bc @@ -504,24 +525,28 @@ Function169ac: ; 169ac ld a, [wEggMonSpecies] ld [CurSpecies], a ld [CurPartySpecies], a - ld a, $ff + ld a, -1 ld [hl], a + ld hl, PartyMonNicknames ld bc, PKMN_NAME_LENGTH - call Function16a31 + call DayCare_GetCurrentPartyMember ld hl, wEggNick call CopyBytes + ld hl, PartyMonOT ld bc, NAME_LENGTH - call Function16a31 + call DayCare_GetCurrentPartyMember ld hl, wEggOT call CopyBytes + ld hl, PartyMon1 ld bc, PARTYMON_STRUCT_LENGTH - call Function16a31 + call DayCare_GetCurrentPartyMember ld hl, wEggMon ld bc, wEggMonEnd - wEggMon call CopyBytes + call GetBaseData ld a, [PartyCount] dec a @@ -550,12 +575,12 @@ Function169ac: ; 169ac and a ret -.asm_16a2f +.PartyFull scf ret ; 16a31 -Function16a31: ; 16a31 +DayCare_GetCurrentPartyMember: ; 16a31 ld a, [PartyCount] dec a call AddNTimes @@ -564,14 +589,14 @@ Function16a31: ; 16a31 ret ; 16a3b -Function16a3b: ; 16a3b +DayCare_InitBreeding: ; 16a3b ld a, [wDaycareLady] bit 0, a ret z ld a, [wDaycareMan] bit 0, a ret z - callab Function16e1d + callab CheckBreedmonCompatibility ld a, [wd265] and a ret z @@ -579,15 +604,15 @@ Function16a3b: ; 16a3b ret z ld hl, wDaycareMan set 5, [hl] -.asm_16a59 +.loop call Random cp 150 - jr c, .asm_16a59 + jr c, .loop ld [wStepsToEgg], a - jp Function16a66 + jp .UselessJump ; 16a66 -Function16a66: ; 16a66 +.UselessJump: ; 16a66 xor a ld hl, wEggMon ld bc, wEggMonEnd - wEggMon @@ -609,24 +634,24 @@ Function16a66: ; 16a66 ld a, [wBreedMon1Species] cp DITTO ld a, $1 - jr z, .asm_16ab6 + jr z, .LoadWhichBreedmonIsTheMother ld a, [wBreedMon2Species] cp DITTO ld a, $0 - jr z, .asm_16ab6 + jr z, .LoadWhichBreedmonIsTheMother callba GetGender ld a, $0 - jr z, .asm_16ab6 + jr z, .LoadWhichBreedmonIsTheMother inc a -.asm_16ab6 - ld [wDittoInDaycare], a +.LoadWhichBreedmonIsTheMother + ld [wBreedMotherOrNonDitto], a and a ld a, [wBreedMon1Species] - jr z, .asm_16ac2 + jr z, .GotMother ld a, [wBreedMon2Species] -.asm_16ac2 +.GotMother ld [CurPartySpecies], a callab GetPreEvolution callab GetPreEvolution @@ -635,20 +660,20 @@ Function16a66: ; 16a66 ld a, [CurPartySpecies] cp NIDORAN_F - jr nz, .asm_16ae8 + jr nz, .GotEggSpecies call Random - cp $80 + cp 1 + 50 percent ld a, NIDORAN_F - jr c, .asm_16ae8 + jr c, .GotEggSpecies ld a, NIDORAN_M -.asm_16ae8 +.GotEggSpecies ld [CurPartySpecies], a ld [CurSpecies], a ld [wEggMonSpecies], a call GetBaseData ld hl, wEggNick - ld de, String_16be0 + ld de, .String_EGG call CopyName2 ld hl, PlayerName ld de, wEggOT @@ -660,7 +685,7 @@ Function16a66: ; 16a66 xor a ld [Buffer1], a predef FillMoves - callba Function170bf + callba InitEggMoves ld hl, wEggMonID ld a, [PlayerID] ld [hli], a @@ -672,17 +697,17 @@ Function16a66: ; 16a66 ld hl, wEggMonExp ld a, [hMultiplicand] ld [hli], a - ld a, [$ffb5] + ld a, [hMultiplicand + 1] ld [hli], a - ld a, [$ffb6] + ld a, [hMultiplicand + 2] ld [hl], a xor a - ld b, $a + ld b, wEggMonDVs - wEggMonStatExp ld hl, wEggMonStatExp -.asm_16b46 +.loop2 ld [hli], a dec b - jr nz, .asm_16b46 + jr nz, .loop2 ld hl, wEggMonDVs call Random ld [hli], a @@ -693,35 +718,35 @@ Function16a66: ; 16a66 ld de, wBreedMon1DVs ld a, [wBreedMon1Species] cp DITTO - jr z, .asm_16b98 + jr z, .GotDVs ld de, wBreedMon2DVs ld a, [wBreedMon2Species] cp DITTO - jr z, .asm_16b98 - ld a, $3 + jr z, .GotDVs + ld a, BREEDMON ld [MonType], a push hl callba GetGender pop hl ld de, wBreedMon1DVs ld bc, wBreedMon2DVs - jr c, .asm_16bab - jr z, .asm_16b90 - ld a, [wDittoInDaycare] + jr c, .SkipDVs + jr z, .ParentCheck2 + ld a, [wBreedMotherOrNonDitto] and a - jr z, .asm_16b98 + jr z, .GotDVs ld d, b ld e, c - jr .asm_16b98 + jr .GotDVs -.asm_16b90 - ld a, [wDittoInDaycare] +.ParentCheck2 + ld a, [wBreedMotherOrNonDitto] and a - jr nz, .asm_16b98 + jr nz, .GotDVs ld d, b ld e, c -.asm_16b98 +.GotDVs ld a, [de] inc de and $f @@ -738,15 +763,15 @@ Function16a66: ; 16a66 add b ld [hl], a -.asm_16bab +.SkipDVs ld hl, StringBuffer1 - ld de, wd050 + ld de, wMonOrItemNameBuffer ld bc, NAME_LENGTH call CopyBytes ld hl, wEggMonMoves ld de, wEggMonPP predef FillPP - ld hl, wd050 + ld hl, wMonOrItemNameBuffer ld de, StringBuffer1 ld bc, NAME_LENGTH call CopyBytes @@ -754,15 +779,14 @@ Function16a66: ; 16a66 ld hl, wEggMonHappiness ld [hli], a xor a -rept 2 ld [hli], a -endr + ld [hli], a ld [hl], a ld a, [CurPartyLevel] ld [wEggMonLevel], a ret ; 16be0 -String_16be0: ; 16be0 +.String_EGG: ; 16be0 db "EGG@" ; 16be4 diff --git a/event/dratini.asm b/event/dratini.asm index 24876f9f4..d8ecdc803 100644 --- a/event/dratini.asm +++ b/event/dratini.asm @@ -8,8 +8,8 @@ SpecialDratini: ; 0x8b170 ret nc ld bc, PartyCount ld a, [bc] - ld hl, 0 - call GetNthPartyMon + ld hl, MON_SPECIES + call .GetNthPartyMon ld a, [bc] ld c, a ld de, PARTYMON_STRUCT_LENGTH @@ -85,7 +85,7 @@ endr db TWISTER db 0 -GetNthPartyMon: ; 0x8b1ce +.GetNthPartyMon: ; 0x8b1ce ; inputs: ; hl must be set to 0 before calling this function. ; a must be set to the number of Pokémon in the party. @@ -106,6 +106,7 @@ GetNthPartyMon: ; 0x8b1ce dec a jr nz, .loop ret + .EmptyParty scf ret diff --git a/event/elevator.asm b/event/elevator.asm index 0aa5c1f05..316bf382a 100755 --- a/event/elevator.asm +++ b/event/elevator.asm @@ -1,62 +1,62 @@ Elevator:: ; 1342d - call Function1344a - call Function1347d - jr c, .asm_13448 - ld [wd041], a - call Function134dd - jr c, .asm_13448 - ld hl, wd041 + call .LoadPointer + call .FindCurrentFloor + jr c, .quit + ld [wElevatorOriginFloor], a + call Elevator_AskWhichFloor + jr c, .quit + ld hl, wElevatorOriginFloor cp [hl] - jr z, .asm_13448 - call Function134c0 + jr z, .quit + call Elevator_GoToFloor and a ret -.asm_13448 +.quit scf ret ; 1344a -Function1344a: ; 1344a +.LoadPointer: ; 1344a ld a, b - ld [EngineBuffer1], a + ld [wElevatorPointerBank], a ld a, e - ld [wd03f], a + ld [wElevatorPointerLo], a ld a, d - ld [wd040], a - call Function1345a + ld [wElevatorPointerHi], a + call .LoadFloors ret ; 1345a -Function1345a: ; 1345a - ld de, OBPals + 8 * 6 +.LoadFloors: ; 1345a + ld de, CurElevator ld bc, 4 - ld hl, wd03f + ld hl, wElevatorPointerLo ld a, [hli] ld h, [hl] ld l, a - ld a, [EngineBuffer1] + ld a, [wElevatorPointerBank] call GetFarByte inc hl ld [de], a inc de -.asm_1346f - ld a, [EngineBuffer1] +.loop + ld a, [wElevatorPointerBank] call GetFarByte ld [de], a inc de add hl, bc - cp $ff - jr nz, .asm_1346f + cp -1 + jr nz, .loop ret ; 1347d -Function1347d: ; 1347d - ld hl, wd03f +.FindCurrentFloor: ; 1347d + ld hl, wElevatorPointerLo ld a, [hli] ld h, [hl] ld l, a - ld a, [EngineBuffer1] + ld a, [wElevatorPointerBank] call GetFarByte ld c, a inc hl @@ -64,47 +64,46 @@ Function1347d: ; 1347d ld d, a ld a, [BackupMapNumber] ld e, a - ld b, $0 -.asm_13495 - ld a, [EngineBuffer1] + ld b, 0 +.loop2 + ld a, [wElevatorPointerBank] call GetFarByte - cp $ff - jr z, .asm_134be + cp -1 + jr z, .fail rept 2 inc hl endr - ld a, [EngineBuffer1] + ld a, [wElevatorPointerBank] call GetFarByte inc hl cp d - jr nz, .asm_134b7 - ld a, [EngineBuffer1] + jr nz, .next1 + ld a, [wElevatorPointerBank] call GetFarByte inc hl cp e - jr nz, .asm_134b8 - jr .asm_134bb + jr nz, .next2 + jr .done -.asm_134b7 +.next1 inc hl - -.asm_134b8 +.next2 inc b - jr .asm_13495 + jr .loop2 -.asm_134bb +.done xor a ld a, b ret -.asm_134be +.fail scf ret ; 134c0 -Function134c0: ; 134c0 +Elevator_GoToFloor: ; 134c0 push af - ld hl, wd03f + ld hl, wElevatorPointerLo ld a, [hli] ld h, [hl] ld l, a @@ -114,13 +113,13 @@ Function134c0: ; 134c0 call AddNTimes inc hl ld de, BackupWarpNumber - ld a, [EngineBuffer1] + ld a, [wElevatorPointerBank] ld bc, 3 call FarCopyBytes ret ; 134dd -Function134dd: ; 134dd +Elevator_AskWhichFloor: ; 134dd call LoadStandardMenuDataHeader ld hl, Elevator_WhichFloorText call PrintText @@ -131,16 +130,16 @@ Function134dd: ; 134dd call UpdateSprites xor a ld [wMenuScrollPosition], a - call HandleScrollingMenu - call WriteBackup - ld a, [wcf73] - cp $2 - jr z, .asm_1350b + call ScrollingMenu + call CloseWindow + ld a, [wMenuJoypad] + cp B_BUTTON + jr z, .cancel xor a - ld a, [wcf77] + ld a, [wScrollingMenuCursorPosition] ret -.asm_1350b +.cancel scf ret ; 1350d @@ -178,10 +177,10 @@ Elevator_CurrentFloorText: ; 13537 Elevator_GetCurrentFloorString: ; 1353f push hl - ld a, [wd041] + ld a, [wElevatorOriginFloor] ld e, a ld d, 0 - ld hl, wd0f1 + ld hl, CurElevatorFloors add hl, de ld a, [hl] pop de @@ -201,7 +200,7 @@ Elevator_MenuData2: ; 0x13558 db $10 ; flags db 4, 0 ; rows, columns db 1 ; horizontal spacing - dbw 0, OBPals + 8 * 6 + dbw 0, CurElevator dba GetElevatorFlorStrings dba NULL dba NULL @@ -209,7 +208,6 @@ Elevator_MenuData2: ; 0x13558 GetElevatorFlorStrings: ; 13568 ld a, [MenuSelection] - GetFloorString: ; 1356b push de call FloorToString diff --git a/event/field_moves.asm b/event/field_moves.asm index d6fa4a0bb..d2125b16e 100755 --- a/event/field_moves.asm +++ b/event/field_moves.asm @@ -9,18 +9,18 @@ PlayWhirlpoolSound: ; 8c7d4 BlindingFlash: ; 8c7e1 callba FadeOutPalettes ld hl, StatusFlags - set 2, [hl] - callba Function8c0e5 - callba Function8c001 - ld b, SCGB_09 + set 2, [hl] ; Flash + callba ReplaceTimeOfDayPals + callba UpdateTimeOfDayPal + ld b, SCGB_MAPPALS call GetSGBLayout - callba Function49409 + callba LoadOW_BGPal7 callba FadeInPalettes ret ; 8c80a ShakeHeadbuttTree: ; 8c80a - callba Function8cf53 + callba ClearSpriteAnims ld de, CutGrassGFX ld hl, VTiles1 lb bc, BANK(CutGrassGFX), 4 @@ -29,16 +29,16 @@ ShakeHeadbuttTree: ; 8c80a ld hl, VTiles1 tile $04 lb bc, BANK(HeadbuttTreeGFX), 8 call Request2bpp - call Function8cad3 + call Cut_Headbutt_GetPixelFacing ld a, SPRITE_ANIM_INDEX_1B call _InitSpriteAnimStruct - ld hl, $3 + ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], $84 - ld a, $90 - ld [wc3b5], a - callba Function8cf7a - call GetHeadbuttTreeRelativeLocation + ld a, 36 * 4 + ld [wCurrSpriteOAMAddr], a + callba DoNextFrameForAllSprites + call HideHeadbuttTree ld a, $20 ld [wcf64], a call WaitSFX @@ -50,9 +50,9 @@ ShakeHeadbuttTree: ; 8c80a and a jr z, .done dec [hl] - ld a, $90 - ld [wc3b5], a - callba Function8cf7a + ld a, 36 * 4 + ld [wCurrSpriteOAMAddr], a + callba DoNextFrameForAllSprites call DelayFrame jr .loop @@ -61,14 +61,14 @@ ShakeHeadbuttTree: ; 8c80a call WaitBGMap xor a ld [hBGMapMode], a - callba Function8cf53 - ld hl, Sprites + $90 - ld bc, $10 + callba ClearSpriteAnims + ld hl, Sprites + 36 * 4 + ld bc, SpritesEnd - (Sprites + 36 * 4) xor a call ByteFill ld de, Font ld hl, VTiles1 - lb bc, BANK(Font), $c + lb bc, BANK(Font), 12 call Get1bpp call ReplaceKrisSprite ret @@ -78,7 +78,7 @@ HeadbuttTreeGFX: ; 8c893 INCBIN "gfx/unknown/08c893.2bpp" ; 8c913 -GetHeadbuttTreeRelativeLocation: ; 8c913 +HideHeadbuttTree: ; 8c913 xor a ld [hBGMapMode], a ld a, [PlayerDirection] @@ -113,6 +113,9 @@ TreeRelativeLocationTable: ; 8c938 ; 8c940 OWCutAnimation: ; 8c940 + ; Animation index in e + ; 0: Split tree in half + ; 1: Mow the lawn ld a, e and $1 ld [wJumptableIndex], a @@ -124,9 +127,9 @@ OWCutAnimation: ; 8c940 ld a, [wJumptableIndex] bit 7, a jr nz, .finish - ld a, $90 - ld [wc3b5], a - callab Function8cf7a + ld a, 36 * 4 + ld [wCurrSpriteOAMAddr], a + callab DoNextFrameForAllSprites call OWCutJumptable call DelayFrame jr .loop @@ -136,7 +139,7 @@ OWCutAnimation: ; 8c940 ; 8c96d .LoadCutGFX: ; 8c96d - callab Function8cf53 ; pointless to farcall + callab ClearSpriteAnims ; pointless to farcall ld de, CutGrassGFX ld hl, VTiles1 lb bc, BANK(CutGrassGFX), 4 @@ -160,7 +163,7 @@ OWCutJumptable: ; 8ca0c ld a, [wJumptableIndex] ld e, a ld d, 0 - ld hl, .jumptable + ld hl, .dw rept 2 add hl, de endr @@ -171,97 +174,101 @@ endr ; 8ca1b -.jumptable: ; 8ca1b (23:4a1b) - dw Function8ca23 - dw Function8ca3c - dw Function8ca5c - dw Function8ca64 +.dw: ; 8ca1b (23:4a1b) + dw Cut_SpawnAnimateTree + dw Cut_SpawnAnimateLeaves + dw Cut_StartWaiting + dw Cut_WaitAnimSFX -Function8ca23: ; 8ca23 (23:4a23) - call Function8cad3 - ld a, SPRITE_ANIM_INDEX_17 ; leaf +Cut_SpawnAnimateTree: ; 8ca23 (23:4a23) + call Cut_Headbutt_GetPixelFacing + ld a, SPRITE_ANIM_INDEX_CUT_TREE ; cut tree call _InitSpriteAnimStruct - ld hl, $3 + ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], $84 - ld a, $20 + ld a, 32 ld [wcf64], a +; Cut_StartWaiting ld hl, wJumptableIndex rept 2 inc [hl] endr ret -Function8ca3c: ; 8ca3c (23:4a3c) - call Function8ca8e +Cut_SpawnAnimateLeaves: ; 8ca3c (23:4a3c) + call Cut_GetLeafSpawnCoords xor a - call Function8ca73 + call Cut_SpawnLeaf ld a, $10 - call Function8ca73 + call Cut_SpawnLeaf ld a, $20 - call Function8ca73 + call Cut_SpawnLeaf ld a, $30 - call Function8ca73 - ld a, $20 + call Cut_SpawnLeaf + ld a, 32 ; frames ld [wcf64], a +; Cut_StartWaiting ld hl, wJumptableIndex inc [hl] ret -Function8ca5c: ; 8ca5c (23:4a5c) +Cut_StartWaiting: ; 8ca5c (23:4a5c) ld a, $1 ld [hBGMapMode], a +; Cut_WaitAnimSFX ld hl, wJumptableIndex inc [hl] -Function8ca64: ; 8ca64 (23:4a64) +Cut_WaitAnimSFX: ; 8ca64 (23:4a64) ld hl, wcf64 ld a, [hl] and a - jr z, .asm_8ca6d + jr z, .finished dec [hl] ret -.asm_8ca6d + +.finished ld hl, wJumptableIndex set 7, [hl] ret -Function8ca73: ; 8ca73 (23:4a73) +Cut_SpawnLeaf: ; 8ca73 (23:4a73) push de push af - ld a, SPRITE_ANIM_INDEX_16 ; fly takeoff + ld a, SPRITE_ANIM_INDEX_LEAF ; leaf call _InitSpriteAnimStruct - ld hl, $3 + ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], $80 - ld hl, $e + ld hl, SPRITEANIMSTRUCT_0E add hl, bc ld [hl], $4 pop af - ld hl, $c + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld [hl], a pop de ret -Function8ca8e: ; 8ca8e (23:4a8e) +Cut_GetLeafSpawnCoords: ; 8ca8e (23:4a8e) ld de, 0 - ld a, [wd197] + ld a, [wMetatileStandingX] bit 0, a - jr z, .asm_8ca9a + jr z, .left_side set 0, e -.asm_8ca9a - ld a, [wd196] +.left_side + ld a, [wMetatileStandingY] bit 0, a - jr z, .asm_8caa3 + jr z, .top_side set 1, e -.asm_8caa3 +.top_side ld a, [PlayerDirection] - and $c + and %00001100 add e ld e, a - ld hl, Unknown_8cab3 + ld hl, .Coords rept 2 add hl, de endr @@ -271,32 +278,35 @@ endr ret ; 8cab3 (23:4ab3) -Unknown_8cab3: ; 8cab3 - db $58, $60 - db $48, $60 - db $58, $70 - db $48, $70 - db $58, $40 - db $48, $40 - db $58, $50 - db $48, $50 - db $38, $60 - db $48, $60 - db $38, $50 - db $48, $50 - db $58, $60 - db $68, $60 - db $58, $50 - db $68, $50 +.Coords: ; 8cab3 + dbpixel 11, 12 ; facing down, top left + dbpixel 9, 12 ; facing down, top right + dbpixel 11, 14 ; facing down, bottom left + dbpixel 9, 14 ; facing down, bottom right + + dbpixel 11, 8 ; facing up, top left + dbpixel 9, 8 ; facing up, top right + dbpixel 11, 10 ; facing up, bottom left + dbpixel 9, 10 ; facing up, bottom right + + dbpixel 7, 12 ; facing left, top left + dbpixel 9, 12 ; facing left, top right + dbpixel 7, 10 ; facing left, bottom left + dbpixel 9, 10 ; facing left, bottom right + + dbpixel 11, 12 ; facing right, top left + dbpixel 13, 12 ; facing right, top right + dbpixel 11, 10 ; facing right, bottom left + dbpixel 13, 10 ; facing right, bottom right ; 8cad3 -Function8cad3: ; 8cad3 (23:4ad3) +Cut_Headbutt_GetPixelFacing: ; 8cad3 (23:4ad3) ld a, [PlayerDirection] - and $c + and %00001100 srl a ld e, a ld d, 0 - ld hl, Unknown_8cae5 + ld hl, .Coords add hl, de ld e, [hl] inc hl @@ -304,9 +314,159 @@ Function8cad3: ; 8cad3 (23:4ad3) ret ; 8cae5 (23:4ae5) -Unknown_8cae5: ; 8cae5 - db $50, $68 - db $50, $48 - db $40, $58 - db $60, $58 +.Coords: ; 8cae5 + dbpixel 10, 13 + dbpixel 10, 9 + dbpixel 8, 11 + dbpixel 12, 11 ; 8caed + + +FlyFromAnim: ; 8caed + call DelayFrame + ld a, [VramState] + push af + xor a + ld [VramState], a + call FlyFunction_InitGFX + depixel 10, 10, 4, 0 + ld a, SPRITE_ANIM_INDEX_WALK_CYCLE + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $84 + ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID + add hl, bc + ld [hl], SPRITE_ANIM_SEQ_FLY_FROM + ld a, 128 + ld [wcf64], a +.loop + ld a, [wJumptableIndex] + bit 7, a + jr nz, .exit + ld a, 0 * 4 + ld [wCurrSpriteOAMAddr], a + callab DoNextFrameForAllSprites + call FlyFunction_FrameTimer + call DelayFrame + jr .loop + +.exit + pop af + ld [VramState], a + ret +; 8cb33 + +FlyToAnim: ; 8cb33 + call DelayFrame + ld a, [VramState] + push af + xor a + ld [VramState], a + call FlyFunction_InitGFX + depixel 31, 10, 4, 0 + ld a, SPRITE_ANIM_INDEX_WALK_CYCLE + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $84 + ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID + add hl, bc + ld [hl], SPRITE_ANIM_SEQ_FLY_TO + ld hl, SPRITEANIMSTRUCT_0F + add hl, bc + ld [hl], 11 * 8 + ld a, 64 + ld [wcf64], a +.loop + ld a, [wJumptableIndex] + bit 7, a + jr nz, .exit + ld a, 0 * 4 + ld [wCurrSpriteOAMAddr], a + callab DoNextFrameForAllSprites + call FlyFunction_FrameTimer + call DelayFrame + jr .loop + +.exit + pop af + ld [VramState], a + call .RestorePlayerSprite_DespawnLeaves + ret + +.RestorePlayerSprite_DespawnLeaves: ; 8cb82 (23:4b82) + ld hl, Sprites + 2 ; Tile ID + xor a + ld c, $4 +.loop2 + ld [hli], a +rept 3 + inc hl +endr + inc a + dec c + jr nz, .loop2 + ld hl, Sprites + 4 * 4 + ld bc, SpritesEnd - (Sprites + 4 * 4) + xor a + call ByteFill + ret + +FlyFunction_InitGFX: ; 8cb9b (23:4b9b) + callab ClearSpriteAnims + ld de, CutGrassGFX + ld hl, VTiles1 tile $00 + lb bc, BANK(CutGrassGFX), 4 + call Request2bpp + ld a, [CurPartyMon] + ld hl, PartySpecies + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + ld [wd265], a + ld e, $84 + callba FlyFunction_GetMonIcon + xor a + ld [wJumptableIndex], a + ret + +FlyFunction_FrameTimer: ; 8cbc8 (23:4bc8) + call .SpawnLeaf + ld hl, wcf64 + ld a, [hl] + and a + jr z, .exit + dec [hl] + cp $40 + ret c + and $7 + ret nz + ld de, SFX_FLY + call PlaySFX + ret + +.exit + ld hl, wJumptableIndex + set 7, [hl] + ret + +.SpawnLeaf: ; 8cbe6 (23:4be6) + ld hl, wcf65 + ld a, [hl] + inc [hl] + and $7 + ret nz + ld a, [hl] + and (6 * 8) >> 1 + sla a + add 8 * 8 ; gives a number in [$40, $50, $60, $70] + ld d, a + ld e, $0 + ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land + call _InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $80 + ret diff --git a/event/halloffame.asm b/event/halloffame.asm index d4b86286d..95554a870 100755 --- a/event/halloffame.asm +++ b/event/halloffame.asm @@ -1,5 +1,5 @@ HallOfFame:: ; 0x8640e - call Function8648e + call HallOfFame_FadeOutMusic ld a, [StatusFlags] push af ld a, 1 @@ -12,7 +12,7 @@ HallOfFame:: ; 0x8640e ld hl, StatusFlags set 6, [hl] ; hall of fame - callba Function14da0 + callba HallOfFame_InitSaveIfNeeded ld hl, wHallOfFameCount ld a, [hl] @@ -26,10 +26,10 @@ HallOfFame:: ; 0x8640e xor a ld [wc2cd], a - call Function864c3 + call AnimateHallOfFame pop af ld b, a - callba Function109847 + callba Credits ret ; 0x86455 @@ -38,7 +38,7 @@ RedCredits:: ; 86455 ld [MusicFadeIDLo], a ld a, MUSIC_NONE / $100 ld [MusicFadeIDHi], a - ld a, $a + ld a, 10 ld [MusicFade], a callba FadeOutPalettes xor a @@ -52,11 +52,11 @@ RedCredits:: ; 86455 ld [wSpawnAfterChampion], a ld a, [StatusFlags] ld b, a - callba Function109847 + callba Credits ret ; 8648e -Function8648e: ; 8648e +HallOfFame_FadeOutMusic: ; 8648e ld a, MUSIC_NONE % $100 ld [MusicFadeIDLo], a ld a, MUSIC_NONE / $100 @@ -72,7 +72,7 @@ Function8648e: ; 8648e jp DelayFrames ; 864b4 -Function864b4: ; 864b4 +HallOfFame_PlayMusicDE: ; 864b4 push de ld de, MUSIC_NONE call PlayMusic @@ -82,29 +82,29 @@ Function864b4: ; 864b4 ret ; 864c3 -Function864c3: ; 864c3 +AnimateHallOfFame: ; 864c3 xor a ld [wJumptableIndex], a - call Function8671c + call LoadHOFTeam jr c, .done - ld de, SCREEN_WIDTH - call Function864b4 + ld de, MUSIC_HALL_OF_FAME + call HallOfFame_PlayMusicDE xor a ld [wcf64], a .loop ld a, [wcf64] - cp 6 + cp PARTY_LENGTH jr nc, .done - ld hl, wc608 + 1 - ld bc, $10 + ld hl, wHallOfFameTempMon1 + ld bc, wHallOfFameTempMon1End - wHallOfFameTempMon1 call AddNTimes ld a, [hl] cp -1 jr z, .done push hl - call Function865b5 + call AnimateHOFMonEntrance pop hl - call Function8650c + call .DisplayNewHallOfFamer jr c, .done ld hl, wcf64 inc [hl] @@ -120,9 +120,9 @@ Function864c3: ; 864c3 ret ; 8650c -Function8650c: ; 8650c - call Function86748 - ld de, String_8652c +.DisplayNewHallOfFamer: ; 8650c + call DisplayHOFMon + ld de, .String_NewHallOfFamer hlcoord 1, 2 call PlaceString call WaitBGMap @@ -135,7 +135,7 @@ Function8650c: ; 8650c ret ; 8652c -String_8652c: +.String_NewHallOfFamer: db "New Hall of Famer!@" ; 8653f @@ -227,7 +227,7 @@ GetHallOfFameParty: ; 8653f ret ; 865b5 -Function865b5: ; 865b5 +AnimateHOFMonEntrance: ; 865b5 push hl call ClearBGPalettes callba Function4e906 @@ -265,9 +265,9 @@ endr ld b, SCGB_1A call GetSGBLayout call SetPalettes - call Function86635 + call HOF_SlideBackpic xor a - ld [wc2c6], a + ld [wBoxAlignment], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " @@ -278,23 +278,23 @@ endr xor a ld [hBGMapMode], a ld [hSCY], a - call Function86643 + call HOF_SlideFrontpic ret ; 86635 -Function86635: ; 86635 -.loop +HOF_SlideBackpic: +.backpicloop ld a, [hSCX] cp $70 ret z add $4 ld [hSCX], a call DelayFrame - jr .loop + jr .backpicloop ; 86643 -Function86643: ; 86643 -.loop +HOF_SlideFrontpic: +.frontpicloop ld a, [hSCX] and a ret z @@ -303,7 +303,7 @@ rept 2 endr ld [hSCX], a call DelayFrame - jr .loop + jr .frontpicloop ; 86650 _HallOfFamePC: ; 86650 @@ -311,7 +311,7 @@ _HallOfFamePC: ; 86650 xor a ld [wJumptableIndex], a .loop - call Function8671c + call LoadHOFTeam ret c call Function86665 ret c @@ -361,8 +361,8 @@ Function86692: ; 86692 ld a, [wcf64] cp $6 jr nc, .fail - ld hl, wc608 + 1 - ld bc, $10 + ld hl, wHallOfFameTempMon1 + ld bc, wHallOfFameTempMon1End - wHallOfFameTempMon1 call AddNTimes ld a, [hl] cp $ff @@ -376,8 +376,8 @@ Function86692: ; 86692 push hl call ClearBGPalettes pop hl - call Function86748 - ld a, [wc608] + call DisplayHOFMon + ld a, [wHallOfFameTempWinCount] cp 200 + 1 jr c, .print_num_hof ld de, String_866fc @@ -391,7 +391,7 @@ Function86692: ; 86692 hlcoord 1, 2 call PlaceString hlcoord 2, 2 - ld de, wc608 + ld de, wHallOfFameTempWinCount lb bc, 1, 3 call PrintNum hlcoord 11, 2 @@ -423,10 +423,10 @@ String_8670c: ; 8671c -Function8671c: ; 8671c +LoadHOFTeam: ; 8671c ld a, [wJumptableIndex] cp NUM_HOF_TEAMS - jr nc, .full + jr nc, .invalid ld hl, sHallOfFame ld bc, HOF_LENGTH call AddNTimes @@ -434,23 +434,23 @@ Function8671c: ; 8671c call GetSRAMBank ld a, [hl] and a - jr z, .fail - ld de, wc608 + jr z, .absent + ld de, wHallOfFameTemp ld bc, HOF_LENGTH call CopyBytes call CloseSRAM and a ret -.fail +.absent call CloseSRAM -.full +.invalid scf ret ; 86748 -Function86748: ; 86748 +DisplayHOFMon: ; 86748 xor a ld [hBGMapMode], a ld a, [hli] @@ -466,7 +466,7 @@ Function86748: ; 86748 ld a, [hli] ld [TempMonLevel], a ld de, StringBuffer2 - ld bc, 10 + ld bc, PKMN_NAME_LENGTH - 1 call CopyBytes ld a, "@" ld [StringBuffer2 + 10], a @@ -486,7 +486,7 @@ Function86748: ; 86748 ld hl, TempMonDVs predef GetUnownLetter xor a - ld [wc2c6], a + ld [wBoxAlignment], a hlcoord 6, 5 call _PrepMonFrontpic ld a, [CurPartySpecies] @@ -540,7 +540,7 @@ Function86748: ; 86748 Function86810: ; 86810 call ClearBGPalettes ld hl, VTiles2 tile $63 - ld de, FontExtra + $d0 + ld de, FontExtra + 13 tiles lb bc, BANK(FontExtra), 1 call Request2bpp hlcoord 0, 0 @@ -564,9 +564,9 @@ Function86810: ; 86810 ld b, SCGB_1A call GetSGBLayout call SetPalettes - call Function86635 + call HOF_SlideBackpic xor a - ld [wc2c6], a + ld [wBoxAlignment], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " @@ -583,7 +583,7 @@ Function86810: ; 86810 xor a ld [hBGMapMode], a ld [hSCY], a - call Function86643 + call HOF_SlideFrontpic xor a ld [hBGMapMode], a hlcoord 0, 2 @@ -618,7 +618,7 @@ Function86810: ; 86810 lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum call WaitBGMap - callba Function26601 + callba ProfOaksPCRating ret ; 868ed diff --git a/event/itemball.asm b/event/itemball.asm index 0e74cbd27..083d7efc2 100755 --- a/event/itemball.asm +++ b/event/itemball.asm @@ -2,22 +2,22 @@ FindItemInBallScript:: ; 0x122ce callasm .TryReceiveItem iffalse .no_room disappear LAST_TALKED - loadfont + opentext writetext .text_found playsound SFX_ITEM pause 60 itemnotify - loadmovesprites + closetext end ; 0x122e3 .no_room: ; 0x122e3 - loadfont + opentext writetext .text_found - closetext + waitbutton writetext .text_bag_full + waitbutton closetext - loadmovesprites end ; 0x122ee @@ -37,7 +37,7 @@ FindItemInBallScript:: ; 0x122ce xor a ld [ScriptVar], a ld a, [EngineBuffer1] - ld [wd265], a + ld [wNamedObjectIndexBuffer], a call GetItemName ld hl, StringBuffer3 call CopyName2 diff --git a/event/itemfinder.asm b/event/itemfinder.asm index 23de57058..5356a1f86 100755 --- a/event/itemfinder.asm +++ b/event/itemfinder.asm @@ -1,5 +1,5 @@ ItemFinder: ; 12580 - callba CheckForSignpostItems + callba CheckForHiddenItems jr c, .found_something ld hl, .Script_FoundNothing jr .resume @@ -10,12 +10,12 @@ ItemFinder: ; 12580 .resume call QueueScript ld a, $1 - ld [wd0ec], a + ld [wItemEffectSucceeded], a ret ; 12599 .ItemfinderSound: ; 12599 - ld c, $4 + ld c, 4 .sfx_loop push bc ld de, SFX_SECOND_PART_OF_ITEMFINDER @@ -33,7 +33,7 @@ ItemFinder: ; 12580 special UpdateTimePals callasm .ItemfinderSound writetext .Text_FoundSomething - loadmovesprites + closetext end ; 0x125ba @@ -41,7 +41,7 @@ ItemFinder: ; 12580 reloadmappart special UpdateTimePals writetext .Text_FoundNothing - loadmovesprites + closetext end ; 0x125c3 diff --git a/event/kurt.asm b/event/kurt.asm index bb24f26ab..d9239b7fa 100644 --- a/event/kurt.asm +++ b/event/kurt.asm @@ -1,22 +1,22 @@ Kurt_PrintTextWhichApricorn: ; 88000 - ld hl, UnknownText_0x88007 + ld hl, .Text call PrintText ret ; 88007 -UnknownText_0x88007: ; 0x88007 +.Text: ; 0x88007 ; Which APRICORN should I use? text_jump UnknownText_0x1bc06b db "@" ; 0x8800c Kurt_PrintTextHowMany: ; 8800c - ld hl, UnknownText_0x88013 + ld hl, .Text call PrintText ret ; 88013 -UnknownText_0x88013: ; 0x88013 +.Text: ; 0x88013 ; How many should I make? text_jump UnknownText_0x1bc089 db "@" @@ -40,7 +40,7 @@ Special_SelectApricornForKurt: ; 88018 and a jr z, .done ld [CurItem], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld c, a push bc call Kurt_PrintTextHowMany @@ -67,9 +67,9 @@ Kurt_SelectApricorn: ; 88055 ld [hBGMapMode], a call InitScrollingMenu call UpdateSprites - call HandleScrollingMenu - ld a, [wcf73] - cp $2 + call ScrollingMenu + ld a, [wMenuJoypad] + cp B_BUTTON jr z, .nope ld a, [MenuSelection] cp -1 @@ -116,7 +116,7 @@ Kurt_SelectApricorn: ; 88055 call Kurt_GetQuantityOfApricorn ret z ld a, [wItemQuantityChangeBuffer] - ld [wcf75], a + ld [MenuSelectionQuantity], a callba PlaceMenuItemQuantity ret ; 880c2 @@ -154,7 +154,7 @@ Kurt_SelectQuantity: ; 880c2 scf .done - call WriteBackup + call CloseWindow ret ; 8810d @@ -167,7 +167,7 @@ Kurt_SelectQuantity: ; 880c2 .PlaceApricornName: ; 88116 call MenuBoxCoord2Tile - ld de, $0015 + ld de, SCREEN_WIDTH + 1 add hl, de ld d, h ld e, l @@ -177,7 +177,7 @@ Kurt_SelectQuantity: ; 880c2 PlaceApricornQuantity: ; 88126 call MenuBoxCoord2Tile - ld de, $0032 + ld de, 2 * SCREEN_WIDTH + 10 add hl, de ld [hl], "×" inc hl @@ -231,16 +231,16 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161 ld c, a ld e, $0 xor a - ld [ItemCountBuffer], a + ld [CurItemQuantity], a ld a, -1 - ld [wd002], a + ld [wApricorns], a ; Search for [CurItem] in the bag. .loop1 ; Increase the total count. - ld a, [ItemCountBuffer] + ld a, [CurItemQuantity] inc a - ld [ItemCountBuffer], a + ld [CurItemQuantity], a ; Get the index of the next item. inc hl ld a, [hli] @@ -253,10 +253,10 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161 ; Increment the result counter and store the bag index of the match. ld d, $0 push hl - ld hl, wd002 + ld hl, wApricorns add hl, de inc e - ld a, [ItemCountBuffer] + ld a, [CurItemQuantity] dec a ld [hli], a ld a, -1 @@ -271,7 +271,7 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161 jr z, .done dec a jr z, .OnlyOne - ld hl, wd002 + ld hl, wApricorns .loop2 ld a, [hl] @@ -316,13 +316,13 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161 jr nz, .loop2 .OnlyOne - ld hl, wd002 + ld hl, wApricorns .loop4 ld a, [hl] cp -1 jr z, .done push hl - ld [ItemCountBuffer], a + ld [CurItemQuantity], a call Kurt_GetRidOfItem pop hl ld a, [wItemQuantityChangeBuffer] @@ -375,7 +375,7 @@ endr Kurt_GetRidOfItem: ; 88211 push bc ld hl, NumItems - ld a, [ItemCountBuffer] + ld a, [CurItemQuantity] ld c, a ld b, $0 inc hl diff --git a/event/magikarp.asm b/event/magikarp.asm index a60d90336..2a5b98332 100644 --- a/event/magikarp.asm +++ b/event/magikarp.asm @@ -1,5 +1,3 @@ - - Special_CheckMagikarpLength: ; fbb32 ; Returns 3 if you select a Magikarp that beats the previous record. ; Returns 2 if you select a Magikarp, but the current record is longer. @@ -81,7 +79,7 @@ Special_CheckMagikarpLength: ; fbb32 ; 0xfbbae Magikarp_LoadFeetInchesChars: ; fbbae - ld hl, VTiles2 + "′" * $10 + ld hl, VTiles2 tile "′" ld de, .feetinchchars lb bc, BANK(.feetinchchars), 2 call Request2bpp diff --git a/event/magnet_train.asm b/event/magnet_train.asm index d9c1a3ae9..eb29fd296 100755 --- a/event/magnet_train.asm +++ b/event/magnet_train.asm @@ -3,14 +3,14 @@ Special_MagnetTrain: ; 8cc04 and a jr nz, .ToGoldenrod ld a, 1 ; forwards - lb bc, $40, $60 - ld de, $fca0 + lb bc, $40, $60 + lb de, (11 * 8) - (11 * 8 + 4), -$60 jr .continue .ToGoldenrod ld a, -1 ; backwards - lb bc, $c0, $a0 - ld de, $b460 + lb bc, -$40, -$60 + lb de, (11 * 8) + (11 * 8 + 4), $60 .continue ld h, a @@ -18,21 +18,23 @@ Special_MagnetTrain: ; 8cc04 push af ld a, $5 ld [rSVBK], a + ld a, h - ld [w5_d191], a + ld [wMagnetTrainDirection], a ld a, c - ld [w5_d192], a + ld [wMagnetTrainInitPosition], a ld a, b - ld [w5_d193], a + ld [wMagnetTrainHoldPosition], a ld a, e - ld [w5_d194], a + ld [wMagnetTrainFinalPosition], a ld a, d - ld [w5_d195], a + ld [wMagnetTrainPlayerSpriteInitX], a + ld a, [hSCX] push af ld a, [hSCY] push af - call Function8ccc9 + call MagntTrain_LoadGFX_PlayMusic ld hl, hVBlank ld a, [hl] push af @@ -43,15 +45,15 @@ Special_MagnetTrain: ; 8cc04 jr z, .initialize bit 7, a jr nz, .done - callab Function8cf69 - call Function8cdf7 - call Function8cc99 + callab PlaySpriteAnimations + call MagnetTrain_Jumptable + call MagnetTrain_UpdateLYOverrides call Function3b0c call DelayFrame jr .loop .initialize - call Function8ceae + call MagnetTrain_Jumptable_FirstRunThrough jr .loop .done @@ -59,9 +61,9 @@ Special_MagnetTrain: ; 8cc04 ld [hVBlank], a call ClearBGPalettes xor a - ld [hLCDStatCustom], a - ld [hLCDStatCustom + 1], a - ld [hLCDStatCustom + 2], a + ld [hFFC6], a + ld [hFFC7], a + ld [hFFC8], a ld [hSCX], a ld [Requested2bppSource], a ld [Requested2bppSource + 1], a @@ -69,6 +71,7 @@ Special_MagnetTrain: ; 8cc04 ld [Requested2bppDest + 1], a ld [Requested2bpp], a call ClearTileMap + pop af ld [hSCY], a pop af @@ -80,21 +83,21 @@ Special_MagnetTrain: ; 8cc04 ret ; 8cc99 -Function8cc99: ; 8cc99 +MagnetTrain_UpdateLYOverrides: ; 8cc99 ld hl, LYOverridesBackup ld c, $2f ld a, [wcf64] add a ld [hSCX], a - call Function8ccc4 + call .loadloop ld c, $30 ld a, [wcf65] - call Function8ccc4 + call .loadloop ld c, $31 ld a, [wcf64] add a - call Function8ccc4 - ld a, [wd191] + call .loadloop + ld a, [wMagnetTrainDirection] ld d, a ld hl, wcf64 ld a, [hl] @@ -103,21 +106,19 @@ rept 2 endr ld [hl], a ret -; 8ccc4 -Function8ccc4: ; 8ccc4 -.asm_8ccc4 +.loadloop ld [hli], a dec c - jr nz, .asm_8ccc4 + jr nz, .loadloop ret ; 8ccc9 -Function8ccc9: ; 8ccc9 +MagntTrain_LoadGFX_PlayMusic: ; 8ccc9 call ClearBGPalettes call ClearSprites call DisableLCD - callab Function8cf53 + callab ClearSpriteAnims call SetMagnetTrainPals call DrawMagnetTrain ld a, $90 @@ -135,20 +136,20 @@ Function8ccc9: ; 8ccc9 pop af ld [rSVBK], a ld hl, VTiles0 - ld c, $4 + ld c, 4 call Request2bpp - ld hl, $c0 + ld hl, 12 tiles add hl, de ld d, h ld e, l ld hl, VTiles0 tile $04 - ld c, $4 + ld c, 4 call Request2bpp - call Function8cda6 + call MagnetTrain_InitLYOverrides ld hl, wJumptableIndex xor a ld [hli], a - ld a, [wd192] + ld a, [wMagnetTrainInitPosition] rept 3 ld [hli], a endr @@ -160,13 +161,13 @@ endr DrawMagnetTrain: ; 8cd27 hlbgcoord 0, 0 xor a -.asm_8cd2b +.loop call GetMagnetTrainBGTiles ld b, 32 / 2 call .FillAlt inc a cp $12 - jr c, .asm_8cd2b + jr c, .loop hlbgcoord 0, 6 ld de, MagnetTrainTilemap1 ld c, 20 @@ -243,17 +244,17 @@ MagnetTrainBGTiles: ; 8cd82 db $5c, $5d ; bush ; 8cda6 -Function8cda6: ; 8cda6 +MagnetTrain_InitLYOverrides: ; 8cda6 ld hl, LYOverrides - ld bc, $90 - ld a, [wd192] + ld bc, LYOverridesEnd - LYOverrides + ld a, [wMagnetTrainInitPosition] call ByteFill ld hl, LYOverridesBackup - ld bc, $90 - ld a, [wd192] + ld bc, LYOverridesBackupEnd - LYOverridesBackup + ld a, [wMagnetTrainInitPosition] call ByteFill ld a, $43 - ld [hLCDStatCustom], a + ld [hFFC6], a ret ; 8cdc3 @@ -290,11 +291,11 @@ SetMagnetTrainPals: ; 8cdc3 ret ; 8cdf7 -Function8cdf7: ; 8cdf7 +MagnetTrain_Jumptable: ; 8cdf7 ld a, [wJumptableIndex] ld e, a ld d, 0 - ld hl, Jumptable_8ce06 + ld hl, .Jumptable rept 2 add hl, de endr @@ -304,25 +305,26 @@ endr jp [hl] ; 8ce06 -Jumptable_8ce06: ; 8ce06 - dw Function8ce19 - dw Function8ce6d - dw Function8ce47 - dw Function8ce6d - dw Function8ce7a - dw Function8ce6d - dw Function8cea2 +.Jumptable: ; 8ce06 + + dw .InitPlayerSpriteAnim + dw .WaitScene + dw .MoveTrain1 + dw .WaitScene + dw .MoveTrain2 + dw .WaitScene + dw .TrainArrived ; 8ce14 -Function8ce14: ; 8ce14 +.Next: ; 8ce14 ld hl, wJumptableIndex inc [hl] ret ; 8ce19 -Function8ce19: ; 8ce19 - ld d, $55 - ld a, [wd194 + 1] +.InitPlayerSpriteAnim: ; 8ce19 + ld d, 10 * 8 + 5 + ld a, [wMagnetTrainPlayerSpriteInitX] ld e, a ld b, SPRITE_ANIM_INDEX_15 ld a, [rSVBK] @@ -331,67 +333,67 @@ Function8ce19: ; 8ce19 ld [rSVBK], a ld a, [PlayerGender] bit 0, a - jr z, .asm_8ce31 + jr z, .got_gender ld b, SPRITE_ANIM_INDEX_1F -.asm_8ce31 +.got_gender pop af ld [rSVBK], a ld a, b call _InitSpriteAnimStruct - ld hl, $3 + ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], $0 - call Function8ce14 + call .Next ld a, $80 ld [wcf66], a ret ; 8ce47 -Function8ce47: ; 8ce47 - ld hl, wd193 +.MoveTrain1: ; 8ce47 + ld hl, wMagnetTrainHoldPosition ld a, [wcf65] cp [hl] - jr z, .asm_8ce64 + jr z, .PrepareToHoldTrain ld e, a - ld a, [wd191] + ld a, [wMagnetTrainDirection] xor $ff inc a add e ld [wcf65], a - ld hl, wc3c0 - ld a, [wd191] + ld hl, wGlobalAnimXOffset + ld a, [wMagnetTrainDirection] add [hl] ld [hl], a ret -.asm_8ce64 - call Function8ce14 +.PrepareToHoldTrain + call .Next ld a, $80 ld [wcf66], a ret ; 8ce6d -Function8ce6d: ; 8ce6d +.WaitScene: ; 8ce6d ld hl, wcf66 ld a, [hl] and a - jr z, .asm_8ce76 + jr z, .DoneWaiting dec [hl] ret -.asm_8ce76 - call Function8ce14 +.DoneWaiting + call .Next ret ; 8ce7a -Function8ce7a: ; 8ce7a - ld hl, wd194 +.MoveTrain2: ; 8ce7a + ld hl, wMagnetTrainFinalPosition ld a, [wcf65] cp [hl] - jr z, .asm_8ce9e + jr z, .PrepareToFinishAnim ld e, a - ld a, [wd191] + ld a, [wMagnetTrainDirection] xor $ff inc a ld d, a @@ -400,8 +402,8 @@ rept 2 add d endr ld [wcf65], a - ld hl, wc3c0 - ld a, [wd191] + ld hl, wGlobalAnimXOffset + ld a, [wMagnetTrainDirection] ld d, a ld a, [hl] rept 2 @@ -412,12 +414,12 @@ endr ret -.asm_8ce9e - call Function8ce14 +.PrepareToFinishAnim + call .Next ret ; 8cea2 -Function8cea2: ; 8cea2 +.TrainArrived: ; 8cea2 ld a, $80 ld [wJumptableIndex], a ld de, SFX_TRAIN_ARRIVED @@ -425,10 +427,10 @@ Function8cea2: ; 8cea2 ret ; 8ceae -Function8ceae: ; 8ceae - callba Function8cf69 - call Function8cdf7 - call Function8cc99 +MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae + callba PlaySpriteAnimations + call MagnetTrain_Jumptable + call MagnetTrain_UpdateLYOverrides call Function3b0c call DelayFrame ld a, [rSVBK] @@ -444,15 +446,15 @@ Function8ceae: ; 8ceae ld [TimeOfDayPal], a ld a, $1 ld [wPermission], a - ld b, SCGB_09 + ld b, SCGB_MAPPALS call GetSGBLayout call UpdateTimePals ld a, [rBGP] - ld [wcfc7], a + ld [wBGP], a ld a, [rOBP0] - ld [wcfc8], a + ld [wOBP0], a ld a, [rOBP1] - ld [wcfc9], a + ld [wOBP1], a pop af ld [wPermission], a pop af diff --git a/event/mom.asm b/event/mom.asm index 61d374de9..ab405a27c 100644 --- a/event/mom.asm +++ b/event/mom.asm @@ -5,24 +5,24 @@ Special_BankOfMom: ; 16218 ld [hInMenu], a xor a ld [wJumptableIndex], a -.asm_16223 +.loop ld a, [wJumptableIndex] bit 7, a - jr nz, .asm_1622f - call Function16233 - jr .asm_16223 + jr nz, .done + call .RunJumptable + jr .loop -.asm_1622f +.done pop af ld [hInMenu], a ret ; 16233 -Function16233: ; 16233 +.RunJumptable: ; 16233 ld a, [wJumptableIndex] ld e, a ld d, 0 - ld hl, .jumptable + ld hl, .dw rept 2 add hl, de endr @@ -32,7 +32,8 @@ endr jp [hl] ; 16242 -.jumptable: ; 16242 +.dw: ; 16242 + dw .CheckIfBankInitialized dw .InitializeBank dw .IsThisAboutYourMoney @@ -106,10 +107,10 @@ endr call LoadStandardMenuDataHeader ld hl, MenuDataHeader_0x166b5 call CopyMenuDataHeader - call InterpretMenu2 - call WriteBackup + call VerticalMenu + call CloseWindow jr c, .cancel - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $1 jr z, .withdraw cp $2 @@ -152,7 +153,7 @@ endr call Function16517 call Function1656b call Function16571 - call WriteBackup + call CloseWindow jr c, .CancelDeposit ld hl, StringBuffer2 ld a, [hli] @@ -220,7 +221,7 @@ endr call Function16512 call Function1656b call Function16571 - call WriteBackup + call CloseWindow jr c, .CancelWithdraw ld hl, StringBuffer2 ld a, [hli] @@ -309,72 +310,72 @@ DSTChecks: ; 16439 ld a, [wDST] bit 7, a ld a, [hHours] - jr z, .asm_16447 + jr z, .NotDST and a ; within one hour of 00:00? jr z, .LostBooklet jr .loop -.asm_16447 +.NotDST cp 23 ; within one hour of 23:00? jr nz, .loop ; fallthrough .LostBooklet - call Function164ea + call .ClearBox bccoord 1, 14 - ld hl, UnknownText_0x164f4 + ld hl, .Text_AdjustClock call PlaceWholeStringInBoxAtOnce call YesNoBox ret c - call Function164ea + call .ClearBox bccoord 1, 14 - ld hl, LostInstructionBookletText + ld hl, .Text_LostInstructionBooklet call PlaceWholeStringInBoxAtOnce ret .loop - call Function164ea + call .ClearBox bccoord 1, 14 ld a, [wDST] bit 7, a - jr z, .asm_16497 - ld hl, UnknownText_0x16508 + jr z, .SetDST + ld hl, .Text_IsDSTOver call PlaceWholeStringInBoxAtOnce call YesNoBox ret c ld a, [wDST] res 7, a ld [wDST], a - call Function164d1 - call Function164ea + call .SetClockBack + call .ClearBox bccoord 1, 14 - ld hl, UnknownText_0x1650d + ld hl, .Text_SetClockBack call PlaceWholeStringInBoxAtOnce ret -.asm_16497 - ld hl, UnknownText_0x164fe +.SetDST + ld hl, .Text_SwitchToDST call PlaceWholeStringInBoxAtOnce call YesNoBox ret c ld a, [wDST] set 7, a ld [wDST], a - call Function164b9 - call Function164ea + call .SetClockForward + call .ClearBox bccoord 1, 14 - ld hl, UnknownText_0x16503 + ld hl, .Text_SetClockForward call PlaceWholeStringInBoxAtOnce ret ; 164b9 -Function164b9: ; 164b9 +.SetClockForward: ; 164b9 ld a, [StartHour] add 1 sub 24 - jr nc, .asm_164c4 + jr nc, .DontLoopHourForward add 24 -.asm_164c4 +.DontLoopHourForward ld [StartHour], a ccf ld a, [StartDay] @@ -383,61 +384,61 @@ Function164b9: ; 164b9 ret ; 164d1 -Function164d1: ; 164d1 +.SetClockBack: ; 164d1 ld a, [StartHour] sub 1 - jr nc, .asm_164da + jr nc, .DontLoopHourBack add 24 -.asm_164da +.DontLoopHourBack ld [StartHour], a ld a, [StartDay] sbc 0 - jr nc, .asm_164e6 + jr nc, .DontLoopDayBack add 7 -.asm_164e6 +.DontLoopDayBack ld [StartDay], a ret ; 164ea -Function164ea: ; 164ea +.ClearBox: ; 164ea hlcoord 1, 14 lb bc, 3, 18 call ClearBox ret ; 164f4 -UnknownText_0x164f4: ; 0x164f4 +.Text_AdjustClock: ; 0x164f4 ; Do you want to adjust your clock for Daylight Saving Time? text_jump UnknownText_0x1c6095 db "@" ; 0x164f9 -LostInstructionBookletText: ; 0x164f9 +.Text_LostInstructionBooklet: ; 0x164f9 ; I lost the instruction booklet for the POKéGEAR. ; Come back again in a while. text_jump UnknownText_0x1c60d1 db "@" ; 0x164fe -UnknownText_0x164fe: ; 0x164fe +.Text_SwitchToDST: ; 0x164fe ; Do you want to switch to Daylight Saving Time? text_jump UnknownText_0x1c6000 db "@" ; 0x16503 -UnknownText_0x16503: ; 0x16503 +.Text_SetClockForward: ; 0x16503 ; I set the clock forward by one hour. text_jump UnknownText_0x1c6030 db "@" ; 0x16508 -UnknownText_0x16508: ; 0x16508 +.Text_IsDSTOver: ; 0x16508 ; Is Daylight Saving Time over? text_jump UnknownText_0x1c6056 db "@" ; 0x1650d -UnknownText_0x1650d: ; 0x1650d +.Text_SetClockBack: ; 0x1650d ; I put the clock back one hour. text_jump UnknownText_0x1c6075 db "@" diff --git a/event/mom_phone.asm b/event/mom_phone.asm index b2bf0d2fd..e7d2a1493 100755 --- a/event/mom_phone.asm +++ b/event/mom_phone.asm @@ -6,43 +6,43 @@ MomTriesToBuySomething:: ; fcfec and a ret nz xor a - ld [wdc18], a + ld [wWhichMomItemSet], a call CheckBalance_MomItem2 ret nc - call Functionfd0c3 + call Mom_GiveItemOrDoll ret nc - ld b, BANK(UnknownScript_0xfd00f) - ld de, UnknownScript_0xfd00f + ld b, BANK(.Script) + ld de, .Script callba LoadScriptBDE scf ret ; fd00f -UnknownScript_0xfd00f: ; 0xfd00f - callasm Functionfd017 +.Script: ; 0xfd00f + callasm .ASMFunction farjump Script_ReceivePhoneCall ; 0xfd017 -Functionfd017: ; fd017 +.ASMFunction: ; fd017 call MomBuysItem_DeductFunds - call Functionfd0eb - ld a, [wdc18] + call Mom_GetScriptPointer + ld a, [wWhichMomItemSet] and a jr nz, .ok - ld hl, wdc17 + ld hl, wWhichMomItem inc [hl] .ok - ld a, 1 + ld a, PHONE_MOM ld [wCurrentCaller], a - ld bc, wd03f + ld bc, EngineBuffer2 ld hl, 0 add hl, bc ld [hl], 0 inc hl ld [hl], 1 - ld hl, 9 + ld hl, wPhoneScriptPointer - EngineBuffer2 add hl, bc - ld a, $3f + ld a, BANK(Mom_GetScriptPointer) ld [hli], a ld a, e ld [hli], a @@ -52,7 +52,7 @@ Functionfd017: ; fd017 ; fd044 CheckBalance_MomItem2: ; fd044 - ld a, [wdc17] + ld a, [wWhichMomItem] cp 10 jr nc, .nope call GetItemFromMom @@ -82,12 +82,12 @@ CheckBalance_MomItem2: ; fd044 inc hl ld [hl], (2300 % $100) ; $fc .loop - ld de, wdc19 + ld de, MomItemTriggerBalance ld bc, wMomsMoney callba CompareMoney jr z, .exact jr nc, .less_than - call Functionfd099 + call .AddMoney jr .loop .less_than @@ -95,17 +95,16 @@ CheckBalance_MomItem2: ; fd044 ret .exact - call Functionfd099 + call .AddMoney ld a, 5 call RandomRange inc a - ld [wdc18], a + ld [wWhichMomItemSet], a scf ret -; fd099 -Functionfd099: ; fd099 - ld de, wdc19 +.AddMoney + ld de, MomItemTriggerBalance ld bc, hMoneyTemp callba AddMoney ret @@ -114,7 +113,7 @@ Functionfd099: ; fd099 MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6) call GetItemFromMom - ld de, 3 + ld de, 3 ; cost add hl, de ld a, [hli] ld [hMoneyTemp], a @@ -128,12 +127,12 @@ MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6) ret -Functionfd0c3: ; fd0c3 +Mom_GiveItemOrDoll: ; fd0c3 call GetItemFromMom - ld de, 6 + ld de, 6 ; item type add hl, de ld a, [hli] - cp 1 + cp MOM_ITEM jr z, .not_doll ld a, [hl] ld c, a @@ -145,7 +144,7 @@ Functionfd0c3: ; fd0c3 .not_doll ld a, [hl] ld [CurItem], a - ld a, $1 + ld a, 1 ld [wItemQuantityChangeBuffer], a ld hl, PCItems call ReceiveItem @@ -153,19 +152,19 @@ Functionfd0c3: ; fd0c3 ; fd0eb -Functionfd0eb: ; fd0eb (3f:50eb) +Mom_GetScriptPointer: ; fd0eb (3f:50eb) call GetItemFromMom - ld de, 6 ; field + ld de, 6 ; item type add hl, de ld a, [hli] - ld de, Script_MomBoughtItem - cp 1 + ld de, .ItemScript + cp MOM_ITEM ret z - ld de, Script_MomBoughtDoll + ld de, .DollScript ret ; fd0fd (3f:50fd) -Script_MomBoughtItem: ; 0xfd0fd +.ItemScript: ; 0xfd0fd writetext _MomText_HiHowAreYou writetext _MomText_FoundAnItem writetext _MomText_BoughtWithYourMoney @@ -173,7 +172,7 @@ Script_MomBoughtItem: ; 0xfd0fd end ; 0xfd10a -Script_MomBoughtDoll: ; 0xfd10a +.DollScript: ; 0xfd10a writetext _MomText_HiHowAreYou writetext _MomText_FoundADoll writetext _MomText_BoughtWithYourMoney @@ -183,15 +182,15 @@ Script_MomBoughtDoll: ; 0xfd10a GetItemFromMom: ; fd117 - ld a, [wdc18] + ld a, [wWhichMomItemSet] and a jr z, .zero dec a ld de, MomItems_1 - jr .incave + jr .GetFromList1 .zero - ld a, [wdc17] + ld a, [wWhichMomItem] cp 10 ; length of MomItems_2 jr c, .ok xor a @@ -199,7 +198,7 @@ GetItemFromMom: ; fd117 .ok ld de, MomItems_2 -.incave +.GetFromList1 ld l, a ld h, 0 rept 3 ; multiply hl by 8 @@ -223,8 +222,6 @@ MomItems_1: ; fd136 momitem 0, 180, MOM_ITEM, POKE_BALL momitem 0, 450, MOM_ITEM, ESCAPE_ROPE momitem 0, 500, MOM_ITEM, GREAT_BALL -; fd15e - MomItems_2: ; fd15e momitem 900, 600, MOM_ITEM, SUPER_POTION momitem 4000, 270, MOM_ITEM, REPEL diff --git a/event/move_deleter.asm b/event/move_deleter.asm index 617e3b86d..aa8a1e915 100644 --- a/event/move_deleter.asm +++ b/event/move_deleter.asm @@ -1,113 +1,113 @@ MoveDeletion: - ld hl, UnknownText_0x2c5ef + ld hl, .IntroText call PrintText call YesNoBox - jr c, .asm_2c5c3 - ld hl, UnknownText_0x2c5f4 + jr c, .declined + ld hl, .AskWhichMonText call PrintText callba SelectMonFromParty - jr c, .asm_2c5c3 + jr c, .declined ld a, [CurPartySpecies] cp EGG - jr z, .asm_2c5bc + jr z, .egg ld a, [CurPartyMon] ld hl, PartyMon1Moves + 1 ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes ld a, [hl] and a - jr z, .asm_2c5ca - ld hl, UnknownText_0x2c5ea + jr z, .onlyonemove + ld hl, .AskWhichMoveText call PrintText call LoadStandardMenuDataHeader - callba Function12f5b + callba ChooseMoveToDelete push af - call Function2b74 + call ReturnToMapWithSpeechTextbox pop af - jr c, .asm_2c5c3 - ld a, [MenuSelection2] + jr c, .declined + ld a, [wMenuCursorY] push af ld a, [CurSpecies] ld [wd265], a call GetMoveName - ld hl, UnknownText_0x2c5d6 + ld hl, .ConfirmDeleteText call PrintText call YesNoBox pop bc - jr c, .asm_2c5c3 - call Function2c5f9 + jr c, .declined + call .DeleteMove call WaitSFX ld de, SFX_MOVE_DELETED call PlaySFX call WaitSFX - ld hl, UnknownText_0x2c5db + ld hl, .MoveDeletedText call PrintText ret -.asm_2c5bc - ld hl, UnknownText_0x2c5e0 +.egg + ld hl, .EggText call PrintText ret -.asm_2c5c3 - ld hl, UnknownText_0x2c5e5 +.declined + ld hl, .DeclinedDeletionText call PrintText ret -.asm_2c5ca - ld hl, UnknownText_0x2c5d1 +.onlyonemove + ld hl, .OnlyOneMoveText call PrintText ret -UnknownText_0x2c5d1: ; 0x2c5d1 +.OnlyOneMoveText: ; 0x2c5d1 ; That #MON knows only one move. text_jump UnknownText_0x1c5eba db "@" ; 0x2c5d6 -UnknownText_0x2c5d6: ; 0x2c5d6 +.ConfirmDeleteText: ; 0x2c5d6 ; Oh, make it forget @ ? text_jump UnknownText_0x1c5eda db "@" ; 0x2c5db -UnknownText_0x2c5db: ; 0x2c5db +.MoveDeletedText: ; 0x2c5db ; Done! Your #MON forgot the move. text_jump UnknownText_0x1c5ef5 db "@" ; 0x2c5e0 -UnknownText_0x2c5e0: ; 0x2c5e0 +.EggText: ; 0x2c5e0 ; An EGG doesn't know any moves! text_jump UnknownText_0x1c5f17 db "@" ; 0x2c5e5 -UnknownText_0x2c5e5: ; 0x2c5e5 +.DeclinedDeletionText: ; 0x2c5e5 ; No? Come visit me again. text_jump UnknownText_0x1c5f36 db "@" ; 0x2c5ea -UnknownText_0x2c5ea: ; 0x2c5ea +.AskWhichMoveText: ; 0x2c5ea ; Which move should it forget, then? text_jump UnknownText_0x1c5f50 db "@" ; 0x2c5ef -UnknownText_0x2c5ef: ; 0x2c5ef +.IntroText: ; 0x2c5ef ; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget? text_jump UnknownText_0x1c5f74 db "@" ; 0x2c5f4 -UnknownText_0x2c5f4: ; 0x2c5f4 +.AskWhichMonText: ; 0x2c5f4 ; Which #MON? text_jump UnknownText_0x1c5fd1 db "@" ; 0x2c5f9 -Function2c5f9: ; 2c5f9 +.DeleteMove: ; 2c5f9 ld a, b push bc dec a @@ -121,18 +121,18 @@ Function2c5f9: ; 2c5f9 pop bc push bc inc b -.asm_2c60f +.loop ld a, b cp NUM_MOVES + 1 - jr z, .asm_2c61b + jr z, .okay inc hl ld a, [hld] ld [hl], a inc hl inc b - jr .asm_2c60f + jr .loop -.asm_2c61b +.okay xor a ld [hl], a pop bc @@ -149,18 +149,18 @@ Function2c5f9: ; 2c5f9 call AddNTimes pop bc inc b -.asm_2c633 +.loop2 ld a, b cp NUM_MOVES + 1 - jr z, .asm_2c63f + jr z, .done inc hl ld a, [hld] ld [hl], a inc hl inc b - jr .asm_2c633 + jr .loop2 -.asm_2c63f +.done xor a ld [hl], a ret diff --git a/event/photo.asm b/event/photo.asm index 712107ed0..75915716a 100755 --- a/event/photo.asm +++ b/event/photo.asm @@ -50,7 +50,7 @@ UnownPrinter: ; 16be4 xor a ld [wJumptableIndex], a - call Function16cc8 + call .UpdateUnownFrontpic call WaitBGMap ld a, UNOWN @@ -59,7 +59,7 @@ UnownPrinter: ; 16be4 ld [TempMonDVs], a ld [TempMonDVs + 1], a - ld b, SCGB_1C + ld b, SCGB_FRONTPICPALS call GetSGBLayout call SetPalettes @@ -74,7 +74,7 @@ UnownPrinter: ; 16be4 and A_BUTTON jr nz, .pressed_a - call Function16ca0 + call .LeftRight call DelayFrame jr .joy_loop @@ -96,7 +96,7 @@ UnownPrinter: ; 16be4 ret ; 16ca0 -Function16ca0: ; 16ca0 +.LeftRight: ; 16ca0 ld a, [hJoyLast] and D_RIGHT jr nz, .press_right @@ -110,8 +110,7 @@ Function16ca0: ; 16ca0 ld a, [hl] and a jr nz, .wrap_around_left - ld [hl], $1b - + ld [hl], 26 + 1 .wrap_around_left dec [hl] jr .return @@ -119,19 +118,18 @@ Function16ca0: ; 16ca0 .press_right ld hl, wJumptableIndex ld a, [hl] - cp $1a + cp 26 jr c, .wrap_around_right - ld [hl], $ff - + ld [hl], -1 .wrap_around_right inc [hl] .return - call Function16cc8 + call .UpdateUnownFrontpic ret ; 16cc8 -Function16cc8: ; 16cc8 +.UpdateUnownFrontpic: ; 16cc8 ld a, [wJumptableIndex] cp 26 jr z, Function16d20 @@ -140,7 +138,7 @@ Function16cc8: ; 16cc8 ld a, UNOWN ld [CurPartySpecies], a xor a - ld [wc2c6], a + ld [wBoxAlignment], a ld de, VTiles2 predef GetFrontpic call Function16cff @@ -162,7 +160,7 @@ Function16cff: ; 16cff ld a, BANK(sScratch) call GetSRAMBank - ld de, w6_d000 + ld de, wDecompressScratch ld hl, sScratch ld a, [hROMBank] ld b, a @@ -249,7 +247,7 @@ PhotoStudio: ; 16dc7 call PrintText call DisableSpriteUpdates callba PrintPartymon - call Function2b74 + call ReturnToMapWithSpeechTextbox ld a, [hPrinter] and a jr nz, .cancel diff --git a/event/poisonstep.asm b/event/poisonstep.asm index 1fafd63a5..c0f2e1b9c 100755 --- a/event/poisonstep.asm +++ b/event/poisonstep.asm @@ -104,17 +104,17 @@ DoPoisonStep:: ; 505da ld de, SFX_POISON call PlaySFX ld b, $2 - predef Functioncbcdd + predef LoadPoisonBGPals call DelayFrame ret ; 50669 .Script_MonFaintedToPoison: ; 50669 callasm .PlayPoisonSFX - loadfont + opentext callasm .CheckWhitedOut iffalse .whiteout - loadmovesprites + closetext end ; 50677 diff --git a/event/sacred_ash.asm b/event/sacred_ash.asm index 00b80bb46..cc46eac9f 100755 --- a/event/sacred_ash.asm +++ b/event/sacred_ash.asm @@ -1,14 +1,14 @@ _SacredAsh: ; 507e6 ld a, $0 - ld [wd0ec], a + ld [wItemEffectSucceeded], a call CheckAnyFaintedMon ret nc ld hl, SacredAshScript call QueueScript ld a, $1 - ld [wd0ec], a + ld [wItemEffectSucceeded], a ret ; 507fb @@ -58,12 +58,12 @@ SacredAshScript: ; 0x50821 special FadeInPalettes special FadeOutPalettes special FadeInPalettes - waitbutton + waitsfx writetext UnknownText_0x50845 playsound SFX_CAUGHT_MON + waitsfx waitbutton closetext - loadmovesprites end ; 0x50845 diff --git a/event/squirtbottle.asm b/event/squirtbottle.asm index b59cdc3f1..5f43e4029 100755 --- a/event/squirtbottle.asm +++ b/event/squirtbottle.asm @@ -2,7 +2,7 @@ _Squirtbottle: ; 50730 ld hl, UnknownScript_0x5073c call QueueScript ld a, $1 - ld [wd0ec], a + ld [wItemEffectSucceeded], a ret ; 5073c diff --git a/event/sweet_scent.asm b/event/sweet_scent.asm index ebe0d4266..01c43f8b9 100755 --- a/event/sweet_scent.asm +++ b/event/sweet_scent.asm @@ -2,7 +2,7 @@ SweetScentFromMenu: ; 506bc ld hl, UnknownScript_0x506c8 call QueueScript ld a, $1 - ld [wd0ec], a + ld [wFieldMoveSucceeded], a ret ; 506c8 @@ -11,14 +11,14 @@ UnknownScript_0x506c8: ; 0x506c8 special UpdateTimePals callasm GetPartyNick writetext UnknownText_0x50726 - closetext + waitbutton callasm SweetScentEncounter iffalse UnknownScript_0x506e9 checkflag ENGINE_BUG_CONTEST_TIMER iftrue UnknownScript_0x506e5 - battlecheck + randomwildmon startbattle - returnafterbattle + reloadmapafterbattle end ; 0x506e5 @@ -28,8 +28,8 @@ UnknownScript_0x506e5: ; 0x506e5 UnknownScript_0x506e9: ; 0x506e9 writetext UnknownText_0x5072b + waitbutton closetext - loadmovesprites end ; 0x506ef diff --git a/event/unown.asm b/event/unown.asm index 789629ae0..b37df3b3a 100644 --- a/event/unown.asm +++ b/event/unown.asm @@ -150,10 +150,10 @@ endr ld bc, AttrMap - TileMap add hl, bc call Function8aee9 - call Function3200 + call WaitBGMap2 call JoyWaitAorB call PlayClickSFX - call WriteBackup + call CloseWindow ret ; 8aebc diff --git a/event/whiteout.asm b/event/whiteout.asm index 2e8774b8f..a076bdcb6 100755 --- a/event/whiteout.asm +++ b/event/whiteout.asm @@ -9,7 +9,7 @@ Script_OverworldWhiteout:: ; 0x124c8 Script_Whiteout: ; 0x124ce writetext .WhitedOutText - closetext + waitbutton special FadeOutPalettes pause 40 special HealParty @@ -20,7 +20,7 @@ Script_Whiteout: ; 0x124ce farscall Script_AbortBugContest special WarpToSpawnPoint newloadmap MAPSETUP_WARP - resetfuncs + end_all .bug_contest jumpstd bugcontestresultswarp @@ -35,14 +35,14 @@ Script_Whiteout: ; 0x124ce OverworldBGMap: ; 124fa call ClearPalettes call ClearScreen - call Function3200 + call WaitBGMap2 call HideSprites call RotateThreePalettesLeft ret ; 1250a BattleBGMap: ; 1250a - ld b, SCGB_00 + ld b, SCGB_BATTLE_GRAYSCALE call GetSGBLayout call SetPalettes ret |