From 6c25592b8c43afe9780968da88f9b06cbb526e72 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 19 Oct 2015 16:49:29 -0400 Subject: [PATCH] So very jumb --- battle/anim_commands.asm | 6 +- battle/core.asm | 217 ++++---- constants/trainer_constants.asm | 4 +- engine/battle_start.asm | 20 +- engine/credits.asm | 16 +- engine/pack.asm | 48 +- engine/pokedex.asm | 44 +- engine/scripting.asm | 18 +- engine/title.asm | 84 +-- event/mom.asm | 172 +++--- home/init.asm | 9 +- home/serial.asm | 2 +- main.asm | 904 ++++++++++++++++---------------- misc/mobile_40.asm | 14 +- misc/mobile_42.asm | 30 +- misc/mobile_45.asm | 128 ++--- misc/mobile_5f.asm | 2 +- misc/unused_title.asm | 2 +- wram.asm | 12 +- 19 files changed, 885 insertions(+), 847 deletions(-) diff --git a/battle/anim_commands.asm b/battle/anim_commands.asm index 9118b091d..82d5eab62 100644 --- a/battle/anim_commands.asm +++ b/battle/anim_commands.asm @@ -237,16 +237,16 @@ Functioncc220: ; cc220 ; Appears to be unused. xor a ld [hBGMapMode], a - ld a, $80 + ld a, (VBGMap0 tile $28) % $100 ld [hBGMapAddress], a - ld a, $9a + ld a, (VBGMap0 tile $28) / $100 ld [hBGMapAddress + 1], a call Function3200 ld a, $60 ld [hWY], a xor a ld [hBGMapAddress], a - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a call BattleAnimDelayFrame ret diff --git a/battle/core.asm b/battle/core.asm index 64246f723..d090593bb 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -149,7 +149,7 @@ WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5 call StdBattleTextBox .asm_3c118 - call Function3ceec + call StopDangerSound call Function3d2e0 jr c, .asm_3c126 @@ -264,40 +264,40 @@ Function3c1c0: ; 3c1c0 Function3c1d6: ; 3c1d6 ld a, [$ffcb] cp $1 - jr z, .asm_3c1fe - call Function3c23c + jr z, .CheckEnemyFirst + call CheckFaint_PlayerThenEnemy ret c call Function3ca26 - call Function3c23c + call CheckFaint_PlayerThenEnemy ret c call HandleWeather - call Function3c23c + call CheckFaint_PlayerThenEnemy ret c call Function3c874 - call Function3c23c + call CheckFaint_PlayerThenEnemy ret c call Function3c801 - call Function3c23c + call CheckFaint_PlayerThenEnemy ret c - jr .asm_3c21e + jr .NoMoreFaintingConditions -.asm_3c1fe - call Function3c25c +.CheckEnemyFirst + call CheckFaint_EnemyThenPlayer ret c call Function3ca26 - call Function3c25c + call CheckFaint_EnemyThenPlayer ret c call HandleWeather - call Function3c25c + call CheckFaint_EnemyThenPlayer ret c call Function3c874 - call Function3c25c + call CheckFaint_EnemyThenPlayer ret c call Function3c801 - call Function3c25c + call CheckFaint_EnemyThenPlayer ret c -.asm_3c21e +.NoMoreFaintingConditions call Function3c8eb call Function3c93c call HanleDefrost @@ -310,52 +310,52 @@ Function3c1d6: ; 3c1d6 jp Function3c4df ; 3c23c -Function3c23c: ; 3c23c +CheckFaint_PlayerThenEnemy: ; 3c23c call HasPlayerFainted - jr nz, .asm_3c24a - call Function3d14e + jr nz, .PlayerNotFainted + call HandlePlayerMonFaint ld a, [BattleEnded] and a - jr nz, .asm_3c25a + jr nz, .BattleIsOver -.asm_3c24a +.PlayerNotFainted call HasEnemyFainted - jr nz, .asm_3c258 - call Function3cd55 + jr nz, .BattleContinues + call HandleEnemyMonFaint ld a, [BattleEnded] and a - jr nz, .asm_3c25a + jr nz, .BattleIsOver -.asm_3c258 +.BattleContinues and a ret -.asm_3c25a +.BattleIsOver scf ret ; 3c25c -Function3c25c: ; 3c25c +CheckFaint_EnemyThenPlayer: ; 3c25c call HasEnemyFainted - jr nz, .asm_3c26a - call Function3cd55 + jr nz, .EnemyNotFainted + call HandleEnemyMonFaint ld a, [BattleEnded] and a - jr nz, .asm_3c27a + jr nz, .BattleIsOver -.asm_3c26a +.EnemyNotFainted call HasPlayerFainted - jr nz, .asm_3c278 - call Function3d14e + jr nz, .BattleContinues + call HandlePlayerMonFaint ld a, [BattleEnded] and a - jr nz, .asm_3c27a + jr nz, .BattleIsOver -.asm_3c278 +.BattleContinues and a ret -.asm_3c27a +.BattleIsOver scf ret ; 3c27c @@ -952,14 +952,14 @@ Function3c5fe: ; 3c5fe and a ret nz call HasPlayerFainted - jp z, Function3d14e + jp z, HandlePlayerMonFaint call HasEnemyFainted - jp z, Function3cd55 + jp z, HandleEnemyMonFaint .asm_3c62f call SetEnemyTurn call ResidualDamage - jp z, Function3cd55 + jp z, HandleEnemyMonFaint call RefreshBattleHuds call Function3c6cf call Function3d2e0 @@ -968,12 +968,12 @@ Function3c5fe: ; 3c5fe and a ret nz call HasEnemyFainted - jp z, Function3cd55 + jp z, HandleEnemyMonFaint call HasPlayerFainted - jp z, Function3d14e + jp z, HandlePlayerMonFaint call SetPlayerTurn call ResidualDamage - jp z, Function3d14e + jp z, HandlePlayerMonFaint call RefreshBattleHuds xor a ld [wd0ec], a @@ -994,14 +994,14 @@ Function3c664: ; 3c664 call Function3d2e0 ret c call HasEnemyFainted - jp z, Function3cd55 + jp z, HandleEnemyMonFaint call HasPlayerFainted - jp z, Function3d14e + jp z, HandlePlayerMonFaint push bc call SetPlayerTurn call ResidualDamage pop bc - jp z, Function3d14e + jp z, HandlePlayerMonFaint push bc call RefreshBattleHuds pop af @@ -1016,14 +1016,14 @@ Function3c664: ; 3c664 and a ret nz call HasPlayerFainted - jp z, Function3d14e + jp z, HandlePlayerMonFaint call HasEnemyFainted - jp z, Function3cd55 + jp z, HandleEnemyMonFaint .asm_3c6be call SetEnemyTurn call ResidualDamage - jp z, Function3cd55 + jp z, HandleEnemyMonFaint call RefreshBattleHuds xor a ld [wd0ec], a @@ -2095,12 +2095,12 @@ Function3cd3c: ; 3cd3c ret ; 3cd55 -Function3cd55: ; 3cd55 - call Function3cf14 +HandleEnemyMonFaint: ; 3cd55 + call FaintEnemyPokemon ld hl, BattleMonHP ld a, [hli] or [hl] - call z, Function3cef1 + call z, FaintYourPokemon xor a ld [wc6f7], a call Function3ce01 @@ -2121,15 +2121,15 @@ Function3cd55: ; 3cd55 ld a, [wBattleMode] dec a - jr nz, .asm_3cd8c + jr nz, .trainer ld a, 1 ld [BattleEnded], a ret -.asm_3cd8c - call Function3cf35 - jp z, Function3cfa4 +.trainer + call CheckEnemyTrainerDefeated + jp z, WinTrainerBattle ld hl, BattleMonHP ld a, [hli] @@ -2221,7 +2221,7 @@ Function3ce01: ; 3ce01 jr .asm_3ce37 .asm_3ce2f - call Function3ceec + call StopDangerSound ld a, $1 ld [wc6fd], a @@ -2342,20 +2342,20 @@ Function3ceaa: ; 3ceaa -Function3ceec: ; 3ceec +StopDangerSound: ; 3ceec xor a ld [Danger], a ret ; 3cef1 -Function3cef1: ; 3cef1 - call Function3ceec +FaintYourPokemon: ; 3cef1 + call StopDangerSound call WaitSFX ld a, $f0 ld [CryTracks], a ld a, [BattleMonSpecies] call PlayStereoCry - call Function3d43b + call PlayerMonFaintedAnimation hlcoord 9, 7 lb bc, 5, 11 call ClearBox @@ -2363,11 +2363,11 @@ Function3cef1: ; 3cef1 jp StdBattleTextBox ; 3cf14 -Function3cf14: ; 3cf14 +FaintEnemyPokemon: ; 3cf14 call WaitSFX ld de, SFX_KINESIS call PlaySFX - call Function3d432 + call EnemyMonFaintedAnimation ld de, SFX_FAINT call PlaySFX hlcoord 1, 0 @@ -2377,20 +2377,22 @@ Function3cf14: ; 3cf14 jp StdBattleTextBox ; 3cf35 -Function3cf35: ; 3cf35 +CheckEnemyTrainerDefeated: ; 3cf35 ld a, [OTPartyCount] ld b, a xor a ld hl, OTPartyMon1HP ld de, PartyMon2 - PartyMon1 -.asm_3cf40 + +.loop or [hl] inc hl or [hl] dec hl add hl, de dec b - jr nz, .asm_3cf40 + jr nz, .loop + and a ret ; 3cf4a @@ -2447,8 +2449,8 @@ EnemyPartyMonEntrance: ; 3cf78 ret ; 3cfa4 -Function3cfa4: ; 3cfa4 - call Function3ceec +WinTrainerBattle: ; 3cfa4 + call StopDangerSound ld a, $1 ld [wc6fd], a ld [BattleEnded], a @@ -2750,12 +2752,12 @@ KantoGymLeaders: db -1 -Function3d14e: ; 3d14e - call Function3cef1 +HandlePlayerMonFaint: ; 3d14e + call FaintYourPokemon ld hl, EnemyMonHP ld a, [hli] or [hl] - call z, Function3cf14 + call z, FaintEnemyPokemon ld a, $1 ld [wc6f7], a call Function3d1aa @@ -2766,20 +2768,20 @@ Function3d14e: ; 3d14e ld hl, EnemyMonHP ld a, [hli] or [hl] - jr nz, .asm_3d185 + jr nz, .notfainted call Function3ce01 ld a, [wBattleMode] dec a - jr nz, .asm_3d17f + jr nz, .trainer ld a, $1 ld [BattleEnded], a ret -.asm_3d17f - call Function3cf35 - jp z, Function3cfa4 +.trainer + call CheckEnemyTrainerDefeated + jp z, WinTrainerBattle -.asm_3d185 +.notfainted call Function3d1f8 jr nc, .asm_3d190 ld a, $1 @@ -3086,7 +3088,7 @@ LostBattle: ; 3d38e ; Remove the enemy from the screen. hlcoord 0, 0 - ld bc, $0815 + lb bc, 8, 21 call ClearBox call Function3ebd8 @@ -3103,7 +3105,7 @@ LostBattle: ; 3d38e .asm_3d3bd ; Remove the enemy from the screen. hlcoord 0, 0 - ld bc, $0815 + lb bc, 8, 21 call ClearBox call Function3ebd8 @@ -3131,7 +3133,7 @@ LostBattle: ; 3d38e .LostLinkBattle call UpdateEnemyMonInParty - call Function3cf35 + call CheckEnemyTrainerDefeated jr nz, .asm_3d40a ld hl, TiedAgainstText ld a, [wd0ee] @@ -3155,7 +3157,7 @@ LostBattle: ; 3d38e .asm_3d417 ; Remove the enemy from the screen. hlcoord 0, 0 - ld bc, $0815 + lb bc, 8, 21 call ClearBox call Function3ebd8 @@ -3169,38 +3171,40 @@ LostBattle: ; 3d38e ; 3d432 -Function3d432: ; 3d432 +EnemyMonFaintedAnimation: ; 3d432 hlcoord 12, 5 decoord 12, 6 - jp Function3d444 + jp MonFaintedAnimation ; 3d43b -Function3d43b: ; 3d43b +PlayerMonFaintedAnimation: ; 3d43b hlcoord 1, 10 decoord 1, 11 - jp Function3d444 + jp MonFaintedAnimation ; 3d444 -Function3d444: ; 3d444 +MonFaintedAnimation: ; 3d444 ld a, [wcfbe] push af set 6, a ld [wcfbe], a - ld b, $7 -.asm_3d44f + ld b, 7 + +.OuterLoop push bc push de push hl - ld b, $6 -.asm_3d454 + ld b, 6 + +.InnerLoop push bc push hl push de - ld bc, $0007 + ld bc, 7 call CopyBytes pop de pop hl - ld bc, -20 + ld bc, -SCREEN_WIDTH add hl, bc push hl ld h, d @@ -3211,7 +3215,8 @@ Function3d444: ; 3d444 pop hl pop bc dec b - jr nz, .asm_3d454 + jr nz, .InnerLoop + ld bc, 20 add hl, bc ld de, .Spaces @@ -3222,7 +3227,8 @@ Function3d444: ; 3d444 pop de pop bc dec b - jr nz, .asm_3d44f + jr nz, .OuterLoop + pop af ld [wcfbe], a ret @@ -4007,7 +4013,7 @@ Function3d8b3: ; 3d8b3 and $c0 add b ld [wd0ee], a - call Function3ceec + call StopDangerSound push de ld de, SFX_RUN call WaitPlaySFX @@ -4021,7 +4027,7 @@ Function3d8b3: ; 3d8b3 ret .asm_3d9f5 - call Function3ceec + call StopDangerSound ld hl, wcd2a bit 4, [hl] jr nz, .asm_3da05 @@ -4387,7 +4393,7 @@ Function3dc5b: ; 3dc5b ld hl, wc664 ld b, $0 predef FlagPredef - call Function3d43b + call PlayerMonFaintedAnimation ld hl, BattleText_PkmnFainted jr .asm_3dcdf @@ -4403,7 +4409,7 @@ Function3dc5b: ; 3dc5b ld de, SFX_FAINT call PlaySFX call WaitSFX - call Function3d432 + call EnemyMonFaintedAnimation ld hl, BattleText_EnemyPkmnFainted .asm_3dcdf @@ -6837,7 +6843,8 @@ Function3ebd8: ; 3ebd8 callab GetTrainerPic hlcoord 19, 0 ld c, $0 -.asm_3ebf3 + +.outer_loop inc c ld a, c cp $7 @@ -6848,14 +6855,16 @@ Function3ebd8: ; 3ebd8 ld d, $0 push bc push hl -.asm_3ec01 + +.inner_loop call Function3ec1a inc hl ld a, $7 add d ld d, a dec c - jr nz, .asm_3ec01 + jr nz, .inner_loop + ld a, $1 ld [hBGMapMode], a ld c, $4 @@ -6863,7 +6872,7 @@ Function3ebd8: ; 3ebd8 pop hl pop bc dec hl - jr .asm_3ebf3 + jr .outer_loop ; 3ec1a Function3ec1a: ; 3ec1a @@ -6871,13 +6880,15 @@ Function3ec1a: ; 3ec1a push de push bc ld e, $7 -.asm_3ec1f + +.loop ld [hl], d - ld bc, $0014 + ld bc, SCREEN_WIDTH add hl, bc inc d dec e - jr nz, .asm_3ec1f + jr nz, .loop + pop bc pop de pop hl diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 807eb74ee..9da19e44e 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -1,5 +1,7 @@ ; trainer groups - enum_start 1 + enum_start + trainerclass PHONE ; 0 + trainerclass FALKNER ; 1 trainerclass WHITNEY ; 2 diff --git a/engine/battle_start.asm b/engine/battle_start.asm index e78bfad3b..430904552 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -13,7 +13,7 @@ Predef_StartBattle: ; 8c20f ld [hl], $1 .loop - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .done call FlashyTransitionToBattle @@ -72,7 +72,7 @@ Function8c26d: ; 8c26d call DelayFrame xor a ld [hBGMapMode], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer xor a rept 2 ld [hli], a @@ -146,7 +146,7 @@ INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp" FlashyTransitionToBattle: ; 8c314 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, .jumptable @@ -230,7 +230,7 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) ld hl, .StartingPoints add hl, de ld a, [hl] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 8c38f (23:438f) @@ -242,11 +242,11 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) StartTrainerBattle_Finish: ; 8c393 (23:4393) call ClearSprites ld a, $80 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret StartTrainerBattle_NextScene: ; 8c39c (23:439c) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -331,7 +331,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408) .end ld a, $20 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .DoSineWave: ; 8c419 (23:4419) @@ -416,7 +416,7 @@ endr xor a ld [hBGMapMode], a ; $ff00+$d4 ld a, $20 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 8c490 (23:4490) @@ -540,7 +540,7 @@ StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) xor a ld [hBGMapMode], a ; $ff00+$d4 ld a, $20 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .BlackOutRandomTile: ; 8c5b8 (23:45b8) @@ -836,7 +836,7 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) .done ld a, $20 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 8c792 (23:4792) diff --git a/engine/credits.asm b/engine/credits.asm index dabdb6ea1..c6b0b9d56 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -124,7 +124,7 @@ Function109847:: ; 109847 jr z, .asm_10984f ld a, $40 .asm_10984f - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, [rSVBK] push af @@ -225,7 +225,7 @@ Function1098fd: ; 1098fd ld a, [hJoypadDown] and $1 ret z - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a ret ; 109908 @@ -234,7 +234,7 @@ Function109908: ; 109908 ld a, [hJoypadDown] and $2 ret z - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 6, a ret z ld hl, CreditsPos @@ -255,7 +255,7 @@ Function109908: ; 109908 ; 109926 Function109926: ; 109926 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] and $f ld e, a ld d, 0 @@ -287,12 +287,12 @@ Jumptable_109937: ; 109937 (42:5937) Function109951: ; 109951 (42:5951) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret Function109956: ; 109956 (42:5956) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld a, [hl] and $f0 ld [hl], a @@ -348,7 +348,7 @@ Function1099a3: ; 1099a3 (42:59a3) ParseCredits: ; 1099aa - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer bit 7, [hl] jp nz, .done @@ -488,7 +488,7 @@ endr .end ; Stop execution. - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ld a, $20 ld [MusicFade], a diff --git a/engine/pack.asm b/engine/pack.asm index 408930823..310be0fea 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -5,7 +5,7 @@ Pack: ; 10000 call Function1068a .loop call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .done call Function10026 @@ -21,7 +21,7 @@ Pack: ; 10000 ; 10026 Function10026: ; 10026 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_10030 call Function1086b jp [hl] @@ -47,7 +47,7 @@ Function10046: ; 10046 (4:4046) ld [hBGMapMode], a ; $ff00+$d4 call Function10955 ld a, [wcf64] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function10a40 ret @@ -486,7 +486,7 @@ Function10355: ; 10355 (4:4355) and a jr z, Function1032d ld a, $a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 10364 (4:4364) @@ -605,7 +605,7 @@ Function103fd: ; 103fd call PrintText jr .asm_10427 .asm_10453 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af ld a, [wcf64] push af @@ -618,7 +618,7 @@ Function103fd: ; 103fd pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a .asm_10475 pop af ld [Options], a @@ -652,7 +652,7 @@ BattlePack: ; 10493 call Function1068a .asm_1049b call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_104ad call Function104b9 @@ -668,7 +668,7 @@ BattlePack: ; 10493 ; 104b9 Function104b9: ; 104b9 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_104c3 call Function1086b jp [hl] @@ -694,7 +694,7 @@ Function104d9: ; 104d9 (4:44d9) ld [hBGMapMode], a ; $ff00+$d4 call Function10955 ld a, [wcf64] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function10a40 ret @@ -922,7 +922,7 @@ Function10671: ; 10671 (4:4671) jr z, asm_10684 asm_1067e: ; 1067e (4:467e) ld a, $a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret asm_10684: ; 10684 (4:4684) xor a @@ -937,7 +937,7 @@ Function10689: ; 10689 Function1068a: ; 1068a xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, [wd0d6] and $3 ld [wcf65], a @@ -955,7 +955,7 @@ Function1068a: ; 1068a Function106a5: ; 106a5 xor a ld [hBGMapMode], a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -974,7 +974,7 @@ Function106be: ; 106be ; 106c7 Function106c7: ; 106c7 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_106d1 call Function1086b jp [hl] @@ -1083,10 +1083,10 @@ Function1076f: ; 1076f ret .asm_10795 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] dec a and $3 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a push de ld de, SFX_UNKNOWN_62 call PlaySFX @@ -1095,10 +1095,10 @@ Function1076f: ; 1076f ret .asm_107a8 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] inc a and $3 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a push de ld de, SFX_UNKNOWN_62 call PlaySFX @@ -1124,7 +1124,7 @@ Function107bb: ; 107bb ; 107d7 Function107d7: ; 107d7 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_107e1 call Function1086b jp [hl] @@ -1228,7 +1228,7 @@ Function1085a: ; 1085a (4:485a) ret Function10866: ; 10866 (4:4866) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -1245,14 +1245,14 @@ endr ; 10874 Function10874: ; 10874 (4:4874) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] xor a ld [wcf66], a ret Function1087e: ; 1087e (4:487e) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ld a, $1 ld [wcf66], a @@ -1336,12 +1336,12 @@ Function108d4: ; 108d4 (4:48d4) ret .asm_108fa ld a, $9 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a scf ret .asm_10901 ld a, b - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a push de ld de, SFX_UNKNOWN_62 @@ -1351,7 +1351,7 @@ Function108d4: ; 108d4 (4:48d4) ret .asm_10912 ld a, c - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a push de ld de, SFX_UNKNOWN_62 diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 5c86aace1..4e9d137b4 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -28,7 +28,7 @@ Pokedex: ; 40000 .main call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .exit call Function4010b @@ -75,7 +75,7 @@ ENDC call ByteFill xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -173,7 +173,7 @@ Function400ed: ; 400ed ; 4010b Function4010b: ; 4010b - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_40115 call Function41432 jp [hl] @@ -198,12 +198,12 @@ Jumptable_40115: ; 40115 (10:4115) Function40131: ; 40131 (10:4131) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret Function40136: ; 40136 (10:4136) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -283,7 +283,7 @@ Function401ae: ; 401ae (10:41ae) call Function40bd0 ret z ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, $0 ld [wcf64], a ret @@ -291,7 +291,7 @@ Function401ae: ; 401ae (10:41ae) .select call Function41401 ld a, $7 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [hSCX], a ; $ff00+$cf ld a, $a7 @@ -302,7 +302,7 @@ Function401ae: ; 401ae (10:41ae) .start call Function41401 ld a, $5 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [hSCX], a ; $ff00+$cf ld a, $a7 @@ -312,7 +312,7 @@ Function401ae: ; 401ae (10:41ae) .b ld a, $d - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function40217: ; 40217 (10:4217) @@ -372,7 +372,7 @@ Function40258: ; 40258 (10:4258) .asm_40288 call MaxVolume ld a, [wcf64] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 40292 (10:4292) @@ -408,7 +408,7 @@ Function402aa: ; 402aa (10:42aa) call Function41423 ld a, [CurPartySpecies] call PlayCry - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer dec [hl] ret ; 402e8 (10:42e8) @@ -478,11 +478,11 @@ Function4034f: ; 4034f push af ld a, [wcf64] push af - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af callba Function8442c pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a pop af ld [wcf64], a pop af @@ -552,7 +552,7 @@ Function403be: ; 403be (10:43be) .asm_403ea call Function41401 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 403f3 (10:43f3) @@ -604,13 +604,13 @@ Function40417: ; 40417 (10:4417) .asm_40431 call Function41401 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function4043a: ; 4043a (10:443a) call Function41401 ld a, $b - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function40443: ; 40443 (10:4443) @@ -656,7 +656,7 @@ Function40471: ; 40471 (10:4471) .asm_40495 call Function41401 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 4049e (10:449e) @@ -710,14 +710,14 @@ Function404b7: ; 404b7 ld [wc7d1], a call Function41401 ld a, $9 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 40501 Function40501: ; 40501 call Function41401 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 4050a @@ -779,7 +779,7 @@ Function40562: ; 40562 (10:4562) call Function40bd0 ret z ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, $9 ld [wcf64], a ret @@ -795,7 +795,7 @@ Function40562: ; 40562 (10:4562) call ClearSprites call Function40bdc ld a, $5 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [hSCX], a ; $ff00+$cf ld a, $a7 @@ -827,7 +827,7 @@ Function405df: ; 405df (10:45df) .asm_405eb call Function41401 ld a, $7 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call DelayFrame call Function41a24 jr nz, .asm_40603 diff --git a/engine/scripting.asm b/engine/scripting.asm index 5cd62a22d..351dcc744 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -1558,23 +1558,25 @@ Script_returnafterbattle: ; 0x97459 ld a, [wd0ee] and $3f cp $1 - jr nz, .asm_97470 ; 0x97466 $8 + jr nz, .notblackedout ; 0x97466 $8 ld b, BANK(UnknownScript_0x124c1) ld hl, UnknownScript_0x124c1 jp ScriptJump -.asm_97470 + +.notblackedout bit 0, d jr z, .asm_9747c ; 0x97472 $8 - callba Functionfcfec - jr .asm_9748e ; 0x9747a $12 + callba MomTriesToBuySomething + jr .done ; 0x9747a $12 + .asm_9747c ld a, [wd0ee] bit 7, a - jr z, .asm_9748e ; 0x97481 $b - ld b, BANK(UnknownScript_0x90255) - ld de, UnknownScript_0x90255 + jr z, .done ; 0x97481 $b + ld b, BANK(Script_SpecialBillCall) + ld de, Script_SpecialBillCall callba Function97c4f -.asm_9748e +.done jp Script_reloadmap ; 0x97491 diff --git a/engine/title.asm b/engine/title.asm index 675bab2f3..8296641dc 100644 --- a/engine/title.asm +++ b/engine/title.asm @@ -9,7 +9,7 @@ _TitleScreen: ; 10ed67 ld [hBGMapMode], a ; Reset timing variables - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld [hli], a ; cf63 ; Scene? ld [hli], a ; cf64 ld [hli], a ; cf65 ; Timer lo @@ -130,10 +130,10 @@ _TitleScreen: ; 10ed67 ; Initialize running Suicune? ld d, $0 - call Function10eed2 + call LoadSuicuneFrame ; Initialize background crystal - call Function10ef06 + call InitializeBackground ; Save WRAM bank ld a, [rSVBK] @@ -145,12 +145,12 @@ _TitleScreen: ; 10ed67 ; Update palette colors ld hl, TitleScreenPalettes ld de, Unkn1Pals - ld bc, $0080 + ld bc, 4 * 32 call CopyBytes ld hl, TitleScreenPalettes ld de, BGPals - ld bc, $0080 + ld bc, 4 * 32 call CopyBytes ; Restore WRAM bank @@ -220,7 +220,7 @@ _TitleScreen: ; 10ed67 ld [hBGMapMode], a xor a - ld [DefaultFlypoint], a + ld [UnknPals1 + 2], a ; Play starting sound effect call SFXChannelsOff @@ -230,25 +230,28 @@ _TitleScreen: ; 10ed67 ret ; 10eea7 -Function10eea7: ; 10eea7 - ld hl, DefaultFlypoint +SuicuneFrameIterator: ; 10eea7 + ld hl, UnknPals1 + 2 ld a, [hl] ld c, a inc [hl] - and $7 + +; Only do this once every eight frames + and (1 << 3) - 1 ret nz + ld a, c - and $18 + and 3 << 3 sla a swap a ld e, a ld d, $0 - ld hl, Unknown_10eece + ld hl, .Frames add hl, de ld d, [hl] xor a ld [hBGMapMode], a - call Function10eed2 + call LoadSuicuneFrame ld a, $1 ld [hBGMapMode], a ld a, $3 @@ -256,33 +259,36 @@ Function10eea7: ; 10eea7 ret ; 10eece -Unknown_10eece: ; 10eece - db $80, $88, $00, $08 +.Frames: ; 10eece + db $80 ; VTiles4 tile $00 + db $88 ; VTiles4 tile $08 + db $00 ; VTiles5 tile $00 + db $08 ; VTiles5 tile $08 ; 10eed2 -Function10eed2: ; 10eed2 +LoadSuicuneFrame: ; 10eed2 hlcoord 6, 12 - ld b, $6 -.asm_10eed7 - ld c, $8 -.asm_10eed9 + ld b, 6 +.row + ld c, 8 +.col ld a, d ld [hli], a inc d dec c - jr nz, .asm_10eed9 - ld a, $c + jr nz, .col + ld a, SCREEN_WIDTH - 8 add l ld l, a - ld a, $0 + ld a, 0 adc h ld h, a - ld a, $8 + ld a, 8 add d ld d, a dec b - jr nz, .asm_10eed7 + jr nz, .row ret ; 10eeef @@ -293,18 +299,18 @@ DrawTitleGraphic: ; 10eeef ; c: width ; d: tile to start drawing from ; e: number of tiles to advance for each row -.asm_10eeef +.row push de push bc push hl -.asm_10eef2 +.col ld a, d ld [hli], a inc d dec c - jr nz, .asm_10eef2 + jr nz, .col pop hl - ld bc, $0014 + ld bc, SCREEN_WIDTH add hl, bc pop bc pop de @@ -312,31 +318,31 @@ DrawTitleGraphic: ; 10eeef add d ld d, a dec b - jr nz, .asm_10eeef + jr nz, .row ret ; 10ef06 -Function10ef06: ; 10ef06 +InitializeBackground: ; 10ef06 ld hl, Sprites - ld d, $de + ld d, -$22 ld e, $0 - ld c, $5 -.asm_10ef0f + ld c, 5 +.loop push bc - call Function10ef1c + call .InitColumn pop bc ld a, $10 add d ld d, a dec c - jr nz, .asm_10ef0f + jr nz, .loop ret ; 10ef1c -Function10ef1c: ; 10ef1c +.InitColumn: ; 10ef1c ld c, $6 ld b, $40 -.asm_10ef20 +.loop ld a, d ld [hli], a ld a, b @@ -351,7 +357,7 @@ endr ld a, $80 ld [hli], a dec c - jr nz, .asm_10ef20 + jr nz, .loop ret ; 10ef32 @@ -363,7 +369,7 @@ AnimateTitleCrystal: ; 10ef32 ; y is really from the bottom of the sprite, which is two tiles high ld hl, Sprites ld a, [hl] - cp 6 + 16 + cp 6 + $10 ret z ; Move all 30 parts of the crystal down by 2 diff --git a/event/mom.asm b/event/mom.asm index e994d9e43..29d88e8f5 100644 --- a/event/mom.asm +++ b/event/mom.asm @@ -4,9 +4,9 @@ Special_BankOfMom: ; 16218 ld a, $1 ld [hInMenu], a xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a .asm_16223 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_1622f call Function16233 @@ -19,10 +19,10 @@ Special_BankOfMom: ; 16218 ; 16233 Function16233: ; 16233 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 - ld hl, Jumptable_16242 + ld hl, .jumptable rept 2 add hl, de endr @@ -32,75 +32,75 @@ endr jp [hl] ; 16242 -Jumptable_16242: ; 16242 - dw Function16254 - dw Function1626a - dw Function16290 - dw Function162a8 - dw Function162e0 - dw Function16373 - dw Function16406 - dw Function1642d - dw Function16433 +.jumptable: ; 16242 + dw .CheckIfBankInitialized + dw .InitializeBank + dw .IsThisAboutYourMoney + dw .AccessBankOfMom + dw .StoreMoney + dw .TakeMoney + dw .StopOrStartSavingMoney + dw .AskDST + dw .JustDoWhatYouCan ; 16254 -Function16254: ; 16254 - ld a, [wd854] +.CheckIfBankInitialized: ; 16254 + ld a, [wBankOfMomMode] bit 7, a - jr nz, .asm_16264 + jr nz, .savingmoneyalready set 7, a - ld [wd854], a + ld [wBankOfMomMode], a ld a, $1 - jr .asm_16266 + jr .done_0 -.asm_16264 +.savingmoneyalready ld a, $2 -.asm_16266 - ld [wcf63], a +.done_0 + ld [wJumptableEntryIndexBuffer], a ret ; 1626a -Function1626a: ; 1626a +.InitializeBank: ; 1626a ld hl, UnknownText_0x16649 call PrintText call YesNoBox - jr c, .asm_1627f + jr c, .DontSaveMoney ld hl, UnknownText_0x1664e call PrintText - ld a, $81 - jr .asm_16281 + ld a, %10000001 + jr .done_1 -.asm_1627f - ld a, $80 +.DontSaveMoney + ld a, %10000000 -.asm_16281 - ld [wd854], a +.done_1 + ld [wBankOfMomMode], a ld hl, UnknownText_0x16653 call PrintText ld a, $8 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 16290 -Function16290: ; 16290 +.IsThisAboutYourMoney: ; 16290 ld hl, UnknownText_0x16658 call PrintText call YesNoBox - jr c, .asm_1629f + jr c, .nope ld a, $3 - jr .asm_162a4 + jr .done_2 -.asm_1629f +.nope call DSTChecks ld a, $7 -.asm_162a4 - ld [wcf63], a +.done_2 + ld [wJumptableEntryIndexBuffer], a ret ; 162a8 -Function162a8: ; 162a8 +.AccessBankOfMom: ; 162a8 ld hl, UnknownText_0x1665d call PrintText call Function1d6e @@ -108,36 +108,36 @@ Function162a8: ; 162a8 call CopyMenuDataHeader call InterpretMenu2 call WriteBackup - jr c, .asm_162ce + jr c, .cancel ld a, [wcfa9] cp $1 - jr z, .asm_162d2 + jr z, .withdraw cp $2 - jr z, .asm_162d6 + jr z, .deposit cp $3 - jr z, .asm_162da + jr z, .stopsaving -.asm_162ce +.cancel ld a, $7 - jr .asm_162dc + jr .done_3 -.asm_162d2 +.withdraw ld a, $5 - jr .asm_162dc + jr .done_3 -.asm_162d6 +.deposit ld a, $4 - jr .asm_162dc + jr .done_3 -.asm_162da +.stopsaving ld a, $6 -.asm_162dc - ld [wcf63], a +.done_3 + ld [wJumptableEntryIndexBuffer], a ret ; 162e0 -Function162e0: ; 162e0 +.StoreMoney: ; 162e0 ld hl, UnknownText_0x16662 call PrintText xor a @@ -153,31 +153,31 @@ endr call Function1656b call Function16571 call WriteBackup - jr c, .asm_1636d + jr c, .CancelDeposit ld hl, StringBuffer2 ld a, [hli] or [hl] inc hl or [hl] - jr z, .asm_1636d + jr z, .CancelDeposit ld de, Money ld bc, StringBuffer2 callba CheckMoney - jr c, .asm_1635f + jr c, .DontHaveThatMuchToDeposit ld hl, StringBuffer2 ld de, StringBuffer2 + 3 - ld bc, $0003 + ld bc, 3 call CopyBytes ld bc, wd851 ld de, StringBuffer2 callba GiveMoney - jr c, .asm_16366 + jr c, .CantDepositThatMuch ld bc, StringBuffer2 + 3 ld de, Money callba TakeMoney ld hl, StringBuffer2 ld de, wd851 - ld bc, $0003 + ld bc, 3 call CopyBytes ld de, SFX_TRANSACTION call PlaySFX @@ -185,27 +185,27 @@ endr ld hl, UnknownText_0x1668a call PrintText ld a, $8 - jr .asm_1636f + jr .done_4 -.asm_1635f +.DontHaveThatMuchToDeposit ld hl, UnknownText_0x1667b call PrintText ret -.asm_16366 +.CantDepositThatMuch ld hl, UnknownText_0x16680 call PrintText ret -.asm_1636d +.CancelDeposit ld a, $7 -.asm_1636f - ld [wcf63], a +.done_4 + ld [wJumptableEntryIndexBuffer], a ret ; 16373 -Function16373: ; 16373 +.TakeMoney: ; 16373 ld hl, UnknownText_0x16667 call PrintText xor a @@ -221,13 +221,13 @@ endr call Function1656b call Function16571 call WriteBackup - jr c, .asm_16400 + jr c, .CancelWithdraw ld hl, StringBuffer2 ld a, [hli] or [hl] inc hl or [hl] - jr z, .asm_16400 + jr z, .CancelWithdraw ld hl, StringBuffer2 ld de, StringBuffer2 + 3 ld bc, 3 @@ -235,11 +235,11 @@ endr ld de, wd851 ld bc, StringBuffer2 callba CheckMoney - jr c, .asm_163f2 + jr c, .InsufficientFundsInBank ld bc, Money ld de, StringBuffer2 callba GiveMoney - jr c, .asm_163f9 + jr c, .NotEnoughRoomInWallet ld bc, StringBuffer2 + 3 ld de, wd851 callba TakeMoney @@ -253,53 +253,53 @@ endr ld hl, UnknownText_0x1668f call PrintText ld a, $8 - jr .asm_16402 + jr .done_5 -.asm_163f2 +.InsufficientFundsInBank ld hl, UnknownText_0x16671 call PrintText ret -.asm_163f9 +.NotEnoughRoomInWallet ld hl, UnknownText_0x16676 call PrintText ret -.asm_16400 - ld a, 7 +.CancelWithdraw + ld a, $7 -.asm_16402 - ld [wcf63], a +.done_5 + ld [wJumptableEntryIndexBuffer], a ret ; 16406 -Function16406: ; 16406 +.StopOrStartSavingMoney: ; 16406 ld hl, UnknownText_0x1666c call PrintText call YesNoBox - jr c, .asm_16422 + jr c, .StopSavingMoney ld a, $81 - ld [wd854], a + ld [wBankOfMomMode], a ld hl, UnknownText_0x16685 call PrintText ld a, $8 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret -.asm_16422 +.StopSavingMoney ld a, $80 - ld [wd854], a + ld [wBankOfMomMode], a ld a, $7 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 1642d -Function1642d: ; 1642d +.AskDST: ; 1642d ld hl, UnknownText_0x16694 call PrintText -Function16433: ; 16433 - ld hl, wcf63 +.JustDoWhatYouCan: ; 16433 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 16439 diff --git a/home/init.asm b/home/init.asm index 6ada3e267..8325f6294 100644 --- a/home/init.asm +++ b/home/init.asm @@ -136,15 +136,14 @@ Init:: ; 17d ; BG on ld [rLCDC], a - ld a, $ff + ld a, -1 ld [$ffcb], a callba Function9890 - ld a, $9c - ld [$ffd7], a - - xor a + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a + xor a ; VBGMap1 % $100 ld [hBGMapAddress], a callba StartClock diff --git a/home/serial.asm b/home/serial.asm index ab97d6b2e..d5df52a23 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -15,7 +15,7 @@ Serial:: ; 6ef jr nz, .asm_721 ld a, [$ffcb] - inc a + inc a ; is it equal to -1? jr z, .asm_726 ld a, [rSB] diff --git a/main.asm b/main.asm index ef5f7ab14..f3b0ba040 100644 --- a/main.asm +++ b/main.asm @@ -727,7 +727,7 @@ DisplayGameTime: ; 5f84 OakSpeech: ; 0x5f99 - callba Function90672 + callba InitClock call Function4dd call ClearTileMap @@ -1082,6 +1082,7 @@ Function6219: ; 6219 .loop call Function627b jr nc, .loop + call ClearSprites call WhiteBGMap pop af @@ -1133,16 +1134,16 @@ TitleScreen: ; 6274 ; 627b Function627b: ; 627b - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a - jr nz, .true + jr nz, .done_title call TitleScreenScene callba Function10eea7 call DelayFrame and a ret -.true +.done_title scf ret ; 6292 @@ -1180,7 +1181,7 @@ endr ; 62b7 Function62b7: ; 62b7 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; 62bc @@ -1221,7 +1222,7 @@ TitleScreenEntrance: ; 62bc .done ; Next scene - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] xor a ld [hLCDStatCustom], a @@ -1239,7 +1240,7 @@ TitleScreenEntrance: ; 62bc TitleScreenTimer: ; 62f6 ; Next scene - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ; Start a timer @@ -1323,13 +1324,13 @@ TitleScreenMain: ; 6304 ld [wcf64], a ; Return to the intro sequence. - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret .end ; Next scene - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ; Fade out the title screen music @@ -1348,7 +1349,7 @@ TitleScreenMain: ; 6304 ld [wcf64], a ; Return to the intro sequence. - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 6375 @@ -1368,7 +1369,7 @@ TitleScreenEnd: ; 6375 ld [wcf64], a ; Back to the intro. - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 6389 @@ -1464,7 +1465,7 @@ GameInit:: ; 642e call ResetTextRelatedRAM call WhiteBGMap call ClearTileMap - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a xor a ld [hBGMapAddress], a @@ -10759,7 +10760,7 @@ Function118ca: ; 118ca Function11915: ; 11915 call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_11930 call Function11968 @@ -10805,7 +10806,7 @@ Function11940: ; 11940 ; 11968 Function11968: ; 11968 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, $0 ld hl, Jumptable_11977 @@ -10842,7 +10843,7 @@ Function1197b: ; 1197b (4:597b) ld hl, $e add hl, bc ld [hl], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -10896,7 +10897,7 @@ Function119a1: ; 119a1 (4:59a1) .asm_119eb call Function11bf7 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -11326,7 +11327,7 @@ Function11c51: ; 11c51 ld [wc3bf], a ld [hSCX], a ld [wc3c0], a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [hBGMapMode], a ld [wc6d2], a @@ -11499,7 +11500,7 @@ Function11fa9: ; 11fa9 (4:5fa9) Function11fc0: ; 11fc0 (4:5fc0) call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_11fdb call Function12008 @@ -11534,7 +11535,7 @@ Function11feb: ; 11feb (4:5feb) ret Function12008: ; 12008 (4:6008) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_12017 @@ -11565,7 +11566,7 @@ Function1201b: ; 1201b (4:601b) ld hl, $e add hl, bc ld [hl], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -11635,7 +11636,7 @@ Function1203a: ; 1203a (4:603a) .asm_120a1 call Function11bf7 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -20494,7 +20495,7 @@ Function16be4: ; 16be4 call PlaceString xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function16cc8 call WaitBGMap @@ -20524,12 +20525,12 @@ Function16be4: ; 16be4 jr .asm_16c6b .asm_16c82 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af callba Function84560 call RestartMapMusic pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a jr .asm_16c6b .asm_16c95 @@ -20551,7 +20552,7 @@ Function16ca0: ; 16ca0 ret .asm_16cad - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld a, [hl] and a jr nz, .asm_16cb6 @@ -20562,7 +20563,7 @@ Function16ca0: ; 16ca0 jr .asm_16cc4 .asm_16cb9 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld a, [hl] cp $1a jr c, .asm_16cc3 @@ -20577,7 +20578,7 @@ Function16ca0: ; 16ca0 ; 16cc8 Function16cc8: ; 16cc8 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp 26 jr z, Function16d20 inc a @@ -21430,7 +21431,7 @@ Function1727f: ; 1727f (5:727f) Function1728f: ; 1728f (5:728f) ld a, [wd265] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, [CurSpecies] push af ld de, MUSIC_NONE @@ -21444,7 +21445,7 @@ Function1728f: ; 1728f (5:728f) call FarCopyBytes callba Function8cf53 ld de, VTiles2 tile $00 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] call Function1723c ld de, VTiles2 tile $31 ld a, EGG @@ -21502,11 +21503,11 @@ Function1728f: ; 1728f (5:728f) hlcoord 6, 3 ld b, $98 ld c, $0 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] call Function17254 call Function17418 call WaitSFX - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld [CurPartySpecies], a hlcoord 6, 3 ld d, $0 @@ -24789,7 +24790,7 @@ Function25105: ; 25105 .asm_25117 call UpdateTime call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_25132 ld a, [hJoyLast] @@ -24831,7 +24832,7 @@ Function2513b: ; 2513b (9:513b) call GetSGBLayout call Function32f9 call WaitBGMap - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer xor a rept 3 ld [hli], a @@ -24840,7 +24841,7 @@ endr ret Function2518e: ; 2518e (9:518e) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, $0 ld hl, Jumptable_2519d @@ -24863,12 +24864,12 @@ Jumptable_2519d: ; 2519d (9:519d) Function251ab: ; 251ab (9:51ab) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret Function251b0: ; 251b0 (9:51b0) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -24895,7 +24896,7 @@ Function251d7: ; 251d7 (9:51d7) ret .asm_251e3 ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 251e9 (9:51e9) @@ -24904,7 +24905,7 @@ Function251e9: ; 251e9 and a ret z ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 251f4 @@ -24939,7 +24940,7 @@ Function25221: ; 25221 (9:5221) ret .asm_25235 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 2523b (9:523b) @@ -24948,13 +24949,13 @@ Function2523b: ; 2523b and a ret z ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 25246 Function25246: ; 25246 ld a, $6 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function2524c: ; 2524c (9:524c) @@ -24988,11 +24989,11 @@ Function25279: ; 25279 (9:5279) ret .asm_2528d ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_25293 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function25299: ; 25299 (9:5299) @@ -29385,7 +29386,7 @@ Function28fa1: ; 28fa1 Function28fdb: ; 28fdb xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call WhiteBGMap call ClearSprites call ClearTileMap @@ -29451,7 +29452,7 @@ Function28fdb: ; 28fdb ; 29082 Function29082: ; 29082 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_2909b call Function290a0 @@ -29469,7 +29470,7 @@ Function29082: ; 29082 ; 290a0 Function290a0: ; 290a0 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, JumpTable290af @@ -29534,7 +29535,7 @@ JumpTable290af: ; 290af ; 2910f Function2910f: ; 2910f - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; 29114 @@ -29545,7 +29546,7 @@ Function29114: ; 29114 inc hl ld d, [hl] ld a, [de] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a inc de ld [hl], d dec hl @@ -29554,7 +29555,7 @@ Function29114: ; 29114 ; 29123 Function29123: ; 29123 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 29129 @@ -29839,7 +29840,7 @@ Function292f6: ; 292f6 push af call WhiteBGMap call WaitTop - ld a, $9c + ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a call ClearTileMap hlcoord 0, 0 @@ -29869,7 +29870,7 @@ Function292f6: ; 292f6 call ByteFill call WaitBGMap call WaitTop - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a call ClearTileMap ret @@ -29980,7 +29981,7 @@ Function293de: ; 293de Function293ea: ; 293ea call WaitTop - ld a, $9c + ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a call WaitBGMap ld a, $7 @@ -29989,7 +29990,7 @@ Function293ea: ; 293ea ld [hWY], a call DelayFrame call WaitTop - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a call ClearTileMap call Function2910f @@ -30005,14 +30006,14 @@ Function2940c: ; 2940c ret .asm_29417 - ld a, $9c + ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a call WaitBGMap ld a, $7 ld [hWX], a ld a, $90 ld [hWY], a - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a call Function29114 ret @@ -30199,7 +30200,7 @@ Function29549: ; 29549 Function29573: ; 29573 call WaitTop call Function297cf - ld a, $9c + ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a hlcoord 3, 0 ld b, $6 @@ -30221,7 +30222,7 @@ String29591: ; 29591 Function295a1: ; 295a1 call WaitTop call Function297cf - ld a, $9c + ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a hlcoord 3, 0 ld b, $6 @@ -30243,7 +30244,7 @@ String295c2: ; 295c2 Function295d8: ; 295d8 call WaitBGMap call WaitTop - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a ret ; 295e3 @@ -30898,7 +30899,7 @@ Special_EnterTimeCapsule: ; 29c7b Special_AbortLink: ; 29c92 ld c, $3 call DelayFrames - ld a, $ff + ld a, -1 ld [$ffcb], a xor a ld [rSB], a @@ -30924,7 +30925,7 @@ Special_AbortLink: ; 29c92 ld [rSC], a ld c, $3 call DelayFrames - ld a, $ff + ld a, -1 ld [$ffcb], a ld a, [rIF] push af @@ -30999,7 +31000,7 @@ Special_WaitForLinkedFriend: ; 29d11 jr z, .asm_29d79 cp $1 jr z, .asm_29d79 - ld a, $ff + ld a, -1 ld [$ffcb], a ld a, $2 ld [rSB], a @@ -31275,7 +31276,7 @@ Special_FailedLinkToPast: ; 29efa Function29f04: ; 29f04 ld c, $3 call DelayFrames - ld a, $ff + ld a, -1 ld [$ffcb], a ld a, $2 ld [rSB], a @@ -39477,7 +39478,7 @@ Special_CelebiShrineEvent: ; 4989a ld [wcf64], a ld d, $0 .loop - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .done push bc @@ -39532,7 +39533,7 @@ LoadCelebiGFX: ; 49912 lb bc, BANK(SpecialCelebiGFX), $10 call Request2bpp xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 49935 @@ -39545,7 +39546,7 @@ Function49935: ; 49935 ret .asm_4993e - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 49944 @@ -40080,7 +40081,7 @@ Function49e3d: ; 49e3d decoord 4, 16 ld a, [hHours] ld c, a - callba Function90b3e + callba PrintHour ld [hl], ":" inc hl ld de, hMinutes @@ -43948,7 +43949,7 @@ StatsScreenInit_gotaddress: ; 4dc94 ld [$ffde], a ; disable overworld tile animations ld a, [wc2c6] ; whether sprite is to be mirrorred push af - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld b, a ld a, [wcf64] ld c, a @@ -43967,7 +43968,7 @@ StatsScreenInit_gotaddress: ; 4dc94 ; restore old values ld a, b - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, c ld [wcf64], a pop af @@ -43979,19 +43980,19 @@ StatsScreenInit_gotaddress: ; 4dc94 StatsScreenMain: ; 0x4dcd2 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld a, [wcf64] and $fc or $1 ld [wcf64], a .loop ; 4dce3 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] and $7f ld hl, StatsScreenPointerTable rst JumpTable call Function4dd3a ; check for keys? - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr z, .loop ret @@ -43999,7 +44000,7 @@ StatsScreenMain: ; 0x4dcd2 StatsScreenBattle: ; 4dcf7 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld a, [wcf64] and $fc @@ -44007,14 +44008,14 @@ StatsScreenBattle: ; 4dcf7 ld [wcf64], a .asm_4dd08 callba Function100dd2 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] and $7f ld hl, StatsScreenPointerTable rst JumpTable call Function4dd3a callba Function100dfd jr c, .asm_4dd29 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr z, .asm_4dd08 @@ -44054,14 +44055,14 @@ Function4dd3a: ; 4dd3a (13:5d3a) ret Function4dd62: ; 4dd62 (13:5d62) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] and $80 or h - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function4dd6c: ; 4dd6c (13:5d6c) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -44088,9 +44089,9 @@ Function4dd72: ; 4dd72 (13:5d72) EggStatsInit: ; 4dda1 call EggStatsScreen - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] inc a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 0x4ddac @@ -44115,9 +44116,9 @@ Function4ddc6: ; 4ddc6 (13:5dc6) call Function4dfb6 ld hl, wcf64 res 4, [hl] - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] inc a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function4ddd6: ; 4ddd6 (13:5dd6) @@ -44133,9 +44134,9 @@ Function4ddd6: ; 4ddd6 (13:5dd6) Function4dde6: ; 4dde6 (13:5de6) call IsSFXPlaying ret nc - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] inc a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function4ddf2: ; 4ddf2 (13:5df2) @@ -45436,7 +45437,7 @@ Function4e7a6: ; 4e7a6 ret nz ld de, SFX_EVOLVED call PlaySFX - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld a, [hl] push af ld [hl], $0 @@ -45453,12 +45454,12 @@ Function4e7a6: ; 4e7a6 dec c jr nz, .asm_4e7c4 pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 4e7cf Function4e7cf: ; 4e7cf - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld a, [hl] cp $20 ret nc @@ -45483,7 +45484,7 @@ Function4e7e8: ; 4e7e8 call Function3b2a ld hl, $000b add hl, bc - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] and $e sla a pop de @@ -50212,11 +50213,11 @@ ColorTest: ; 818ac ld de, MUSIC_NONE call PlayMusic xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf66], a ld [wd003], a .asm_818de - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_818f0 call Function81a74 @@ -50474,7 +50475,7 @@ Palette_81a34: ; 81a34 Function81a74: ; 81a74 call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $4 jr nc, .asm_81a8b ld hl, hJoyLast @@ -50486,7 +50487,7 @@ Function81a74: ; 81a74 jr nz, .asm_81aab .asm_81a8b - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_81acf @@ -50521,7 +50522,7 @@ endr .asm_81aba ld [wcf66], a ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 81ac3 @@ -50630,7 +50631,7 @@ Function81adb: ; 81adb .asm_81ba9 ld a, $1 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 81baf @@ -50701,7 +50702,7 @@ Function81c18: ; 81c18 .asm_81c2a call WaitBGMap ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 81c33 @@ -50726,7 +50727,7 @@ Function81c33: ; 81c33 ld a, $1 ld [hCGBPalUpdate], a ld a, $3 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a pop af ld [rSVBK], a ret @@ -50761,7 +50762,7 @@ endr ld de, wc608 + 2 call Function81ca7 ld a, $3 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 81ca7 @@ -50809,7 +50810,7 @@ endr .asm_81cdf ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_81ce5 @@ -50825,7 +50826,7 @@ endr add hl, bc call Function818fd ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 81d02 @@ -50917,7 +50918,7 @@ Function81d77: ; 81d77 Function81d7b: ; 81d7b call Function81e67 ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function81d84: ; 81d84 @@ -50943,7 +50944,7 @@ Function81d8e: ; 81d8e ld [wd004], a call Function81df4 ld a, $5 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 81daf @@ -50957,12 +50958,12 @@ Function81daf: ; 81daf .asm_81dbb ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 81dc1 Function81dc1: ; 81dc1 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 81dc7 @@ -51259,7 +51260,7 @@ Function81f5e: ; 81f5e ld [hl], a hlcoord 1, 15 ld [hl], a - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $3 jr nz, .asm_81fc9 ld a, [wcf64] @@ -51332,7 +51333,7 @@ INCBIN "gfx/debug/color_test.2bpp" TilesetColorTest: ret xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -51350,7 +51351,7 @@ TilesetColorTest: ld hl, VTiles1 lb bc, BANK(DebugColorTestGFX), 1 call Request2bpp - ld a, $9c + ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -51375,7 +51376,7 @@ TilesetColorTest: call Function821f4 call Function8220f call Function3200 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, $40 ld [hWY], a ret @@ -51723,12 +51724,12 @@ Function84000: ; 84000 ld a, [GBPrinter] ld [wcbfb], a xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 84022 Function84022: ; 84022 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_84031 @@ -51766,19 +51767,19 @@ Jumptable_84031: ; 84031 (21:4031) Function84059: ; 84059 (21:4059) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret Function8405e: ; 8405e (21:405e) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer dec [hl] ret Function84063: ; 84063 (21:4063) xor a ld [wca89], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -51788,7 +51789,7 @@ Function8406d: ; 8406d (21:406d) Function84071: ; 84071 (21:4071) ld a, $1 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function84077: ; 84077 (21:4077) @@ -51828,7 +51829,7 @@ Function84099: ; 84099 (21:4099) Function840c5: ; 840c5 (21:40c5) ld a, $6 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld hl, Unknown_842c9 call Function841e2 xor a @@ -51920,7 +51921,7 @@ Function84143: ; 84143 (21:4143) ld [wca88], a ld [wca89], a ld a, $e - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function84180: ; 84180 (21:4180) @@ -51940,7 +51941,7 @@ Function84180: ; 84180 (21:4180) ret .asm_8419b ld a, $12 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function841a1: ; 841a1 (21:41a1) @@ -51964,7 +51965,7 @@ Function841b3: ; 841b3 (21:41b3) and $f0 ret nz xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function841c3: ; 841c3 (21:41c3) @@ -52322,7 +52323,7 @@ Function843f0: ; 843f0 call JoyTextDelay call Function846f6 jr c, .asm_8440f - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_8440d call Function84022 @@ -52540,11 +52541,11 @@ Function84560: ; 84560 call JoyTextDelay call Function846f6 jr c, .asm_845c0 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_845c0 call Function84022 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $2 jr nc, .asm_845b5 ld a, $3 @@ -53290,7 +53291,7 @@ Function864b4: ; 864b4 Function864c3: ; 864c3 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function8671c jr c, .done ld de, SCREEN_WIDTH @@ -53515,13 +53516,13 @@ endr Function86650: ; 86650 call Functione58 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a .asm_86657 call Function8671c ret c call Function86665 ret c - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] jr .asm_86657 ; 86665 @@ -53630,7 +53631,7 @@ String_8670c: Function8671c: ; 8671c - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp NUM_HOF_TEAMS jr nc, .asm_86746 ld hl, sHallOfFame @@ -54276,13 +54277,13 @@ TreeRelativeLocationTable: ; 8c938 Function8c940: ; 8c940 ld a, e and $1 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function8c96d call WaitSFX ld de, SFX_PLACE_PUZZLE_PIECE_DOWN call PlaySFX .asm_8c952 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_8c96c ld a, $90 @@ -54318,7 +54319,7 @@ INCBIN "gfx/unknown/08c9cc.2bpp" ; 8ca0c Function8ca0c: ; 8ca0c - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_8ca1b @@ -54348,7 +54349,7 @@ Function8ca23: ; 8ca23 (23:4a23) ld [hl], $84 ld a, $20 ld [wcf64], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer rept 2 inc [hl] endr @@ -54366,14 +54367,14 @@ Function8ca3c: ; 8ca3c (23:4a3c) call Function8ca73 ld a, $20 ld [wcf64], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret Function8ca5c: ; 8ca5c (23:4a5c) ld a, $1 ld [hBGMapMode], a ; $ff00+$d4 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] Function8ca64: ; 8ca64 (23:4a64) @@ -54384,7 +54385,7 @@ Function8ca64: ; 8ca64 (23:4a64) dec [hl] ret .asm_8ca6d - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -54491,7 +54492,7 @@ Function8caed: ; 8caed ld a, $80 ld [wcf64], a .asm_8cb14 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_8cb2e ld a, $0 @@ -54528,7 +54529,7 @@ Function8cb33: ; 8cb33 ld a, $40 ld [wcf64], a .asm_8cb60 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_8cb7a ld a, $0 @@ -54577,7 +54578,7 @@ Function8cb9b: ; 8cb9b (23:4b9b) ld e, $84 callba Function8e9bc xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function8cbc8: ; 8cbc8 (23:4bc8) @@ -54595,7 +54596,7 @@ Function8cbc8: ; 8cbc8 (23:4bc8) call PlaySFX ret .asm_8cbe0 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -54658,7 +54659,7 @@ Special_MagnetTrain: ; 8cc04 push af ld [hl], $1 .loop - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] and a jr z, .initialize bit 7, a @@ -54765,7 +54766,7 @@ Function8ccc9: ; 8ccc9 ld c, $4 call Request2bpp call Function8cda6 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer xor a ld [hli], a ld a, [wd192] @@ -54911,7 +54912,7 @@ SetMagnetTrainPals: ; 8cdc3 ; 8cdf7 Function8cdf7: ; 8cdf7 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_8ce06 @@ -54935,7 +54936,7 @@ Jumptable_8ce06: ; 8ce06 ; 8ce14 Function8ce14: ; 8ce14 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; 8ce19 @@ -55039,7 +55040,7 @@ endr Function8cea2: ; 8cea2 ld a, $80 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld de, SFX_TRAIN_ARRIVED call PlaySFX ret @@ -58661,9 +58662,9 @@ CheckPhoneCall:: ; 90074 (24:4074) jr nc, .no_call ld e, a - call Function9020d - ld a, BANK(UnknownScript_0x90241) - ld hl, UnknownScript_0x90241 + call LoadCallerScript + ld a, BANK(Script_SpecialPhoneCall) + ld hl, Script_SpecialPhoneCall call CallScript scf ret @@ -58761,7 +58762,8 @@ Function900de: ; 900de (24:40de) Function90136:: ; 90136 (24:4136) ld a, [wSpecialPhoneCallID] and a - jr z, .asm_90171 + jr z, .NoPhoneCall + dec a ld c, a ld b, 0 @@ -58772,15 +58774,16 @@ Function90136:: ; 90136 (24:4136) ld h, [hl] ld l, a call _hl_ - jr nc, .asm_90171 - call Function90178 + jr nc, .NoPhoneCall + + call .DoSpecialPhoneCall rept 2 inc hl endr ld a, [hli] ld e, a push hl - call Function9020d + call LoadCallerScript pop hl ld de, wd048 ld a, [hli] @@ -58791,22 +58794,22 @@ endr inc de ld a, [hli] ld [de], a - ld a, BANK(UnknownScript_0x90173) - ld hl, UnknownScript_0x90173 + ld a, BANK(.script) + ld hl, .script call CallScript scf ret -.asm_90171 +.NoPhoneCall xor a ret ; 90173 (24:4173) -UnknownScript_0x90173: ; 0x90173 +.script: ; 0x90173 pause 30 - jump UnknownScript_0x90241 + jump Script_SpecialPhoneCall ; 0x90178 -Function90178: ; 90178 (24:4178) +.DoSpecialPhoneCall: ; 90178 (24:4178) ld a, [wSpecialPhoneCallID] dec a ld c, a @@ -58816,19 +58819,20 @@ Function90178: ; 90178 (24:4178) call AddNTimes ret -Function90188: ; 90188 +SpecialCallOnlyWhenOutside: ; 90188 ld a, [wPermission] - cp $1 - jr z, .asm_90195 - cp $2 - jr z, .asm_90195 + cp TOWN + jr z, .outside + cp ROUTE + jr z, .outside xor a ret -.asm_90195 + +.outside scf ret -Function90197: ; 90197 +SpecialCallWhereverYouAre: ; 90197 scf ret @@ -58905,41 +58909,43 @@ UnknownScript_0x90209: ; 0x90209 return ; 0x9020d -Function9020d: ; 9020d (24:420d) +LoadCallerScript: ; 9020d (24:420d) nop nop ld a, e ld [wCurrentCaller], a and a - jr nz, .asm_9021d - ld a, BANK(Unknown_90233) - ld hl, Unknown_90233 - jr .asm_90229 -.asm_9021d + jr nz, .actualcaller + ld a, BANK(WrongNumber) + ld hl, WrongNumber + jr .proceed + +.actualcaller ld hl, PhoneContacts ld bc, 12 ld a, e call AddNTimes ld a, BANK(PhoneContacts) -.asm_90229 +.proceed ld de, wd03f ld bc, 12 call FarCopyBytes ret ; 90233 (24:4233) -Unknown_90233: ; 90233 - db 0, 0 - dba UnknownScript_0x90238 -UnknownScript_0x90238: - writetext UnknownText_0x9023c +WrongNumber: ; 90233 + db PHONE, PHONE_NONE + dba .script +.script: + writetext .text end -UnknownText_0x9023c: +.text: + ; Huh? Sorry, wrong number! text_jump UnknownText_0x1c5565 db "@" ; 90241 -UnknownScript_0x90241: ; 0x90241 +Script_SpecialPhoneCall: ; 0x90241 refreshscreen $0 callasm Function9026f ptcall wd048 @@ -58950,25 +58956,25 @@ UnknownScript_0x90241: ; 0x90241 end ; 0x90255 -UnknownScript_0x90255:: ; 0x90255 +Script_SpecialBillCall:: ; 0x90255 callasm Function9025c - jump UnknownScript_0x90241 + jump Script_SpecialPhoneCall ; 0x9025c Function9025c: ; 9025c - ld e, $3 - jp Function9020d + ld e, PHONE_BILL + jp LoadCallerScript ; 90261 UnknownScript_0x90261: ; 0x90261 callasm Function9026a pause 30 - jump UnknownScript_0x90241 + jump Script_SpecialPhoneCall ; 0x9026a Function9026a: ; 9026a - ld e, $4 - jp Function9020d + ld e, PHONE_ELM + jp LoadCallerScript ; 9026f Function9026f: ; 9026f @@ -59276,77 +59282,77 @@ phone: MACRO dba \7 ; script 2 ENDM - phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone 0, 1, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript - phone 0, 2, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone 0, 3, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2 - phone 0, 4, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2 - phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2 - phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2 - phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2 - phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2 - phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2 - phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2 - phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2 - phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2 - phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2 - phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2 - phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2 - phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2 - phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2 - phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2 - phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2 - phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2 - phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2 - phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2 - phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2 - phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2 - phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2 - phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2 - phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2 - phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2 - phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2 - phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2 - phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2 - phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2 - phone 0, 5, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2 + phone PHONE, PHONE_NONE, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone PHONE, PHONE_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript + phone PHONE, PHONE_OAK, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone PHONE, PHONE_BILL, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2 + phone PHONE, PHONE_ELM, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2 + phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2 + phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2 + phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2 + phone PHONE, PHONE_NONE, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone PHONE, PHONE_NONE, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone PHONE, PHONE_NONE, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2 + phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2 + phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2 + phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2 + phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2 + phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2 + phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2 + phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2 + phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2 + phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2 + phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2 + phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2 + phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2 + phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2 + phone PHONE, PHONE_NONE, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2 + phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2 + phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2 + phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2 + phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2 + phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2 + phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2 + phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2 + phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2 + phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2 + phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2 + phone PHONE, PHONE_BUENA, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2 ; 90627 SpecialPhoneCallList: ; 90627 - dw Function90188 - db 4 + dw SpecialCallOnlyWhenOutside + db PHONE_ELM dba ElmPhoneScript2 - dw Function90188 - db 4 + dw SpecialCallOnlyWhenOutside + db PHONE_ELM dba ElmPhoneScript2 - dw Function90188 - db 4 + dw SpecialCallOnlyWhenOutside + db PHONE_ELM dba ElmPhoneScript2 - dw Function90188 - db 4 + dw SpecialCallOnlyWhenOutside + db PHONE_ELM dba ElmPhoneScript2 - dw Function90197 - db 4 + dw SpecialCallWhereverYouAre + db PHONE_ELM dba ElmPhoneScript2 - dw Function90197 - db 2 + dw SpecialCallWhereverYouAre + db PHONE_OAK ; ???????? dba BikeShopPhoneScript ; bike shop - dw Function90197 - db 1 + dw SpecialCallWhereverYouAre + db PHONE_MOM dba MomPhoneLectureScript - dw Function90188 - db 4 + dw SpecialCallOnlyWhenOutside + db PHONE_ELM dba ElmPhoneScript2 ; 90657 @@ -59383,11 +59389,13 @@ UnknownText_0x9066d: ; 0x9066d db "@" ; 0x90672 -Function90672: ; 90672 (24:4672) +InitClock: ; 90672 (24:4672) +; Ask the player to set the time. ld a, [hInMenu] push af ld a, $1 ld [hInMenu], a + ld a, $0 ld [wc2ce], a ld a, $10 @@ -59418,82 +59426,89 @@ Function90672: ; 90672 (24:4672) ld hl, VTiles2 tile $02 lb bc, BANK(GFX_9090b), 1 call Request1bpp - call Function90783 + call .ClearScreen call WaitBGMap call Function4a3 ld hl, UnknownText_0x90874 call PrintText ld hl, wc608 - ld bc, $32 + ld bc, 50 xor a call ByteFill ld a, $a - ld [wc608 + 20], a -.asm_906e8 + ld [wInitHourBuffer], a + +.loop ld hl, UnknownText_0x90879 call PrintText hlcoord 3, 7 - ld b, $2 - ld c, $f + ld b, 2 + ld c, 15 call TextBox hlcoord 11, 7 ld [hl], $1 hlcoord 11, 10 ld [hl], $2 hlcoord 4, 9 - call Function907de + call DisplayHourOClock ld c, $a call DelayFrames -.asm_9070d + +.SetHourLoop call JoyTextDelay - call Function90795 - jr nc, .asm_9070d - ld a, [wc608 + 20] + call SetHour + jr nc, .SetHourLoop + + ld a, [wInitHourBuffer] ld [StringBuffer2 + 1], a - call Function90783 + call .ClearScreen ld hl, UnknownText_0x90886 call PrintText call YesNoBox - jr nc, .asm_9072e - call Function90783 - jr .asm_906e8 -.asm_9072e + jr nc, .HourIsSet + call .ClearScreen + jr .loop + +.HourIsSet ld hl, UnknownText_0x9089a call PrintText hlcoord 11, 7 - ld bc, $207 + lb bc, 2, 7 call TextBox hlcoord 15, 7 ld [hl], $1 hlcoord 15, 10 ld [hl], $2 hlcoord 12, 9 - call Function90859 + call DisplayMinutesWithMinString ld c, 10 call DelayFrames -.asm_90752 + +.SetMinutesLoop call JoyTextDelay - call Function90810 - jr nc, .asm_90752 + call SetMinutes + jr nc, .SetMinutesLoop + ld a, [BattleMonNick + 5] ld [StringBuffer2 + 2], a - call Function90783 + call .ClearScreen ld hl, UnknownText_0x908a4 call PrintText call YesNoBox - jr nc, .asm_90773 - call Function90783 - jr .asm_9072e -.asm_90773 + jr nc, .MinutesAreSet + call .ClearScreen + jr .HourIsSet + +.MinutesAreSet call Function658 - ld hl, UnknownText_0x908b8 + ld hl, OakText_ResponseToSetTime call PrintText call Functiona80 pop af ld [hInMenu], a ret -Function90783: ; 90783 (24:4783) +.ClearScreen: ; 90783 (24:4783) xor a ld [hBGMapMode], a ; $ff00+$d4 hlcoord 0, 0 @@ -59504,10 +59519,10 @@ Function90783: ; 90783 (24:4783) ld [hBGMapMode], a ; $ff00+$d4 ret -Function90795: ; 90795 (24:4795) +SetHour: ; 90795 (24:4795) ld a, [hJoyPressed] and A_BUTTON - jr nz, .asm_907dc + jr nz, .Confirm ld hl, hJoyLast ld a, [hl] @@ -59521,50 +59536,50 @@ Function90795: ; 90795 (24:4795) ret .down - ld hl, wc608 + 20 + ld hl, wInitHourBuffer ld a, [hl] and a - jr nz, .asm_907b6 + jr nz, .DecreaseThroughMidnight ld a, 23 + 1 -.asm_907b6 +.DecreaseThroughMidnight dec a ld [hl], a - jr .asm_907c6 + jr .okay .up - ld hl, wc608 + 20 + ld hl, wInitHourBuffer ld a, [hl] cp 23 - jr c, .asm_907c4 + jr c, .AdvanceThroughMidnight ld a, -1 -.asm_907c4 +.AdvanceThroughMidnight inc a ld [hl], a -.asm_907c6 +.okay hlcoord 4, 9 ld a, " " ld bc, 15 call ByteFill hlcoord 4, 9 - call Function907de + call DisplayHourOClock call WaitBGMap and a ret -.asm_907dc +.Confirm scf ret -Function907de: ; 907de (24:47de) +DisplayHourOClock: ; 907de (24:47de) push hl - ld a, [wc608 + 20] + ld a, [wInitHourBuffer] ld c, a ld e, l ld d, h - call Function90b3e + call PrintHour inc hl - ld de, String_9087e + ld de, String_oclock call PlaceString pop hl ret @@ -59574,7 +59589,7 @@ Function907f1: ; 907f1 ld h, d ld l, e push hl - call Function907de + call DisplayHourOClock pop de rept 2 inc de @@ -59591,14 +59606,14 @@ endr ld a, [de] ld [hl], a pop hl - call Function90859 + call DisplayMinutesWithMinString rept 3 inc hl endr ret ; 90810 -Function90810: ; 90810 (24:4810) +SetMinutes: ; 90810 (24:4810) ld a, [hJoyPressed] ; $ff00+$a7 and A_BUTTON jr nz, .asm_90857 @@ -59637,7 +59652,7 @@ Function90810: ; 90810 (24:4810) ld bc, 7 call ByteFill hlcoord 12, 9 - call Function90859 + call DisplayMinutesWithMinString call WaitBGMap and a ret @@ -59645,15 +59660,15 @@ Function90810: ; 90810 (24:4810) scf ret -Function90859: ; 90859 (24:4859) +DisplayMinutesWithMinString: ; 90859 (24:4859) ld de, BattleMonNick + 5 - call Function90867 + call PrintTwoDigitNumberRightAlign inc hl - ld de, String_9089f + ld de, String_min call PlaceString ret -Function90867: ; 90867 (24:4867) +PrintTwoDigitNumberRightAlign: ; 90867 (24:4867) push hl ld a, " " ld [hli], a @@ -59676,7 +59691,7 @@ UnknownText_0x90879: ; 0x90879 db "@" ; 0x9087e -String_9087e: +String_oclock: db "o'clock@" ; 90886 @@ -59685,7 +59700,7 @@ UnknownText_0x90886: ; 0x90886 text_jump UnknownText_0x1bc2fd start_asm hlcoord 1, 16 - call Function907de + call DisplayHourOClock ld hl, UnknownText_0x90895 ret ; 90895 (24:4895) @@ -59702,7 +59717,7 @@ UnknownText_0x9089a: ; 0x9089a db "@" ; 0x9089f -String_9089f: +String_min: db "min.@" ; 908a4 @@ -59712,7 +59727,7 @@ UnknownText_0x908a4: ; 0x908a4 start_asm ; 0x908a9 hlcoord 7, 14 - call Function90859 + call DisplayMinutesWithMinString ld hl, UnknownText_0x908b3 ret ; 908b3 (24:48b3) @@ -59723,12 +59738,12 @@ UnknownText_0x908b3: ; 0x908b3 db "@" ; 0x908b8 -UnknownText_0x908b8: ; 0x908b8 +OakText_ResponseToSetTime: ; 0x908b8 start_asm decoord 1, 14 - ld a, [wc608 + 20] + ld a, [wInitHourBuffer] ld c, a - call Function90b3e + call PrintHour ld [hl], ":" inc hl ld de, BattleMonNick + 5 @@ -59736,37 +59751,37 @@ UnknownText_0x908b8: ; 0x908b8 call PrintNum ld b, h ld c, l - ld a, [wc608 + 20] + ld a, [wInitHourBuffer] cp 4 - jr c, .asm_908e0 + jr c, .NITE cp 11 - jr c, .asm_908e4 + jr c, .MORN cp 18 - jr c, .asm_908e8 -.asm_908e0 - ld hl, UnknownText_0x908f6 + jr c, .DAY +.NITE + ld hl, .sodark ret -.asm_908e4 - ld hl, UnknownText_0x908ec +.MORN + ld hl, .overslept ret -.asm_908e8 - ld hl, UnknownText_0x908f1 +.DAY + ld hl, .yikes ret ; 908ec (24:48ec) -UnknownText_0x908ec: ; 0x908ec +.overslept: ; 0x908ec ; ! I overslept! text_jump UnknownText_0x1bc326 db "@" ; 0x908f1 -UnknownText_0x908f1: ; 0x908f1 +.yikes: ; 0x908f1 ; ! Yikes! I over- slept! text_jump UnknownText_0x1bc336 db "@" ; 0x908f6 -UnknownText_0x908f6: ; 0x908f6 +.sodark: ; 0x908f6 ; ! No wonder it's so dark! text_jump UnknownText_0x1bc34f db "@" @@ -59797,14 +59812,14 @@ Special_SetDayOfWeek: ; 90913 ld [DefaultFlypoint], a .asm_90936 hlcoord 0, 12 - ld bc, $0412 + lb bc, 4, 18 call TextBox call Function1d6e ld hl, UnknownText_0x90a3f call PrintText hlcoord 9, 3 - ld b, $2 - ld c, $9 + ld b, 2 + ld c, 9 call TextBox hlcoord 14, 3 ld [hl], $ef @@ -60010,7 +60025,7 @@ UnknownText_0x90ab7: ; 0x90ab7 Function90abc: ; 90abc hlcoord 1, 14 - ld bc, $0312 + lb bc, 3, 12 call ClearBox ld hl, UnknownText_0x90acc call PlaceWholeStringInBoxAtOnce @@ -60071,8 +60086,7 @@ UnknownText_0x90acc: ; 0x90acc ; 90b13 UnknownText_0x90b13: ; 0x90b13 - db $0 - para "Now on DEBUG…" + text "Now on DEBUG…" prompt ; 0x90b23 @@ -60092,23 +60106,23 @@ Function90b23: ; 90b23 ret ; 90b3e -Function90b3e: ; 90b3e (24:4b3e) +PrintHour: ; 90b3e (24:4b3e) ld l, e ld h, d push bc - call Function90b58 + call GetTimeOfDayString call PlaceString ld l, c ld h, b inc hl pop bc - call Function90b7f + call AdjustHourForAMorPM ld [wd265], a ld de, wd265 - call Function90867 + call PrintTwoDigitNumberRightAlign ret -Function90b58: ; 90b58 (24:4b58) +GetTimeOfDayString: ; 90b58 (24:4b58) ld a, c cp 4 jr c, .nite @@ -60117,31 +60131,33 @@ Function90b58: ; 90b58 (24:4b58) cp 18 jr c, .day .nite - ld de, String_90b71 + ld de, .NITE ret .morn - ld de, String_90b76 + ld de, .MORN ret .day - ld de, String_90b7b + ld de, .DAY ret ; 90b71 (24:4b71) -String_90b71: db "NITE@" -String_90b76: db "MORN@" -String_90b7b: db "DAY@" +.NITE: db "NITE@" +.MORN: db "MORN@" +.DAY: db "DAY@" ; 90b7f -Function90b7f: ; 90b7f (24:4b7f) +AdjustHourForAMorPM: +; Convert the hour stored in c (0-23) to a 1-12 value ld a, c or a - jr z, .asm_90b8a + jr z, .midnight cp 12 ret c ret z sub 12 ret -.asm_90b8a + +.midnight ld a, 12 ret @@ -60164,7 +60180,7 @@ Function90b8d: ; 90b8d (24:4b8d) .loop call UpdateTime call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .done call Function90f04 @@ -60185,7 +60201,7 @@ Function90b8d: ; 90b8d (24:4b8d) call WhiteBGMap xor a ld [hBGMapAddress], a - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a ld a, $90 ld [hWY], a @@ -60211,7 +60227,7 @@ Function90bea: ; 90bea (24:4bea) ld [rLCDC], a call Function90d70 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -60367,7 +60383,7 @@ Function90d70: ; 90d70 (24:4d70) Function90d9e: ; 90d9e (24:4d9e) ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [wcf64], a ret @@ -60402,7 +60418,7 @@ Function90da8: ; 90da8 (24:4da8) xor a ld [hBGMapAddress], a - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a call Function90e00 ld a, $90 @@ -60411,7 +60427,7 @@ Function90da8: ; 90da8 (24:4da8) .asm_90de8 xor a ld [hBGMapAddress], a - ld a, $9c + ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a call Function90e00 xor a @@ -60575,7 +60591,7 @@ Function90ef7: ; 90ef7 (24:4ef7) ret Function90f04: ; 90f04 (24:4f04) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_90f13 @@ -60607,7 +60623,7 @@ Function90f2d: ; 90f2d (24:4f2d) call Function90da8 ld hl, UnknownText_0x914d3 call PrintText - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] call Function91492 ret @@ -60652,7 +60668,7 @@ Function90f3e: ; 90f3e (24:4f3e) ret .asm_90f75 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -60703,7 +60719,7 @@ Function90fb4: ; 90fb4 (24:4fb4) .kanto ld a, 5 .done - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function91492 ret @@ -60717,7 +60733,7 @@ Function90fcd: ; 90fcd (24:4fcd) ld [wc6d5], a ld a, b ld [wc6d6], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -60765,7 +60781,7 @@ Function90ff2: ; 90ff2 (24:4ff2) call Function91480 ret .cancel - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -60913,7 +60929,7 @@ Function910f9: ; 910f9 (24:50f9) add hl, bc ld [hl], $8 call _UpdateRadioStation - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -60959,12 +60975,12 @@ Function91112: ; 91112 (24:5112) ret .cancel - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret Function91156: ; 91156 (24:5156) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] xor a ld [wc6d2], a @@ -61017,7 +61033,7 @@ Function91171: ; 91171 (24:5171) ret .b - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -61044,13 +61060,13 @@ Function91171: ; 91171 (24:5171) call Function91342 jr c, .asm_911e5 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret .asm_911e5 ld a, $8 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function911eb: ; 911eb (24:51eb) @@ -61081,7 +61097,7 @@ Function911eb: ; 911eb (24:51eb) ld a, $1 ld [hInMenu], a call Function912b7 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret .asm_91234 @@ -61089,7 +61105,7 @@ Function911eb: ; 911eb (24:51eb) ld hl, OutOfServiceAreaText call PrintText ld a, $8 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld hl, UnknownText_0x914ce call PrintText ret @@ -61113,7 +61129,7 @@ Function91256: ; 91256 (24:5256) ret z callba HangUp ld a, $8 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld hl, UnknownText_0x914ce call PrintText ret @@ -61482,7 +61498,7 @@ Function91480: ; 91480 (24:5480) ld de, SFX_READ_TEXT_2 call PlaySFX ld a, c - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, b ld [wcf64], a call Function914ab @@ -61901,7 +61917,7 @@ _FlyMap: ; 91af3 ld [hWY], a xor a ld [hBGMapAddress], a - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a ld a, [DefaultFlypoint] ld e, a @@ -62833,7 +62849,7 @@ Function92311: ; 92311 ld [hWY], a xor a ld [hBGMapAddress], a - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a ld a, [DefaultFlypoint] ld e, a @@ -62968,7 +62984,7 @@ Function926f7: ; 926f7 (24:66f7) ld [hli], a ld [hl], $40 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, $ff ld [wc709], a ld de, MUSIC_GAME_CORNER @@ -62995,7 +63011,7 @@ Function9279b: ; 9279b (24:679b) ret Function927af: ; 927af (24:67af) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_927d1 call Function92844 @@ -63091,7 +63107,7 @@ endr ; 92844 Function92844: ; 92844 (24:6844) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_92853 @@ -63128,7 +63144,7 @@ Jumptable_92853: ; 92853 (24:6853) Function92879: ; 92879 (24:6879) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -63145,7 +63161,7 @@ Function9288e: ; 9288e (24:688e) call Function9307c jr nc, .asm_92899 ld a, $12 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_92899 call Function92879 @@ -63336,15 +63352,15 @@ Function929d9: ; 929d9 (24:69d9) call Function930e9 jr c, .asm_929ea ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_929ea ld a, $12 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function929f0: ; 929f0 (24:69f0) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -65962,11 +65978,11 @@ Functionb929a: ; b929a ret .asm_b92a8 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af callab Function845d4 pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a jr .asm_b929a ; b92b8 @@ -67414,14 +67430,14 @@ _CardFlip: ; e00ee (38:40ee) call DmgToCgbObjPals call DelayFrame xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, $2 ld [wcf64], a ld [wcf65], a ld de, MUSIC_GAME_CORNER call PlayMusic .MasterLoop - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .leavethegame call .CardFlip @@ -67437,7 +67453,7 @@ _CardFlip: ; e00ee (38:40ee) ret .CardFlip: ; e0191 (38:4191) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, .Jumptable @@ -67462,7 +67478,7 @@ endr ; e01b0 .Increment: ; e01b0 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; e01b5 @@ -67478,7 +67494,7 @@ endr .SaidNo ld a, $7 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e01cd @@ -67502,7 +67518,7 @@ endr ld hl, .NotEnoughCoinsText call Functione0489 ld a, $7 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .deduct @@ -67699,7 +67715,7 @@ endr .LoopAround ld a, $1 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e0356 @@ -67716,7 +67732,7 @@ endr ; 0xe0360 .Quit: ; e0360 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; e0366 @@ -69120,7 +69136,7 @@ Functione1190: ; e1190 ld [hSCY], a ld [hSCX], a ld [rWY], a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -69138,7 +69154,7 @@ Functione1190: ; e1190 call DelayFrame .asm_e1217 call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_e123d call Functione12ca @@ -69246,7 +69262,7 @@ Functione128d: ; e128d ; e12ca Functione12ca: ; e12ca - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_e12d9 @@ -69420,7 +69436,7 @@ Functione1376: ; e1376 ld [wd0ec], a Functione13de: ; e13de - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -69968,7 +69984,7 @@ Functione1e67: ; e1e67 (38:5e67) ld [hSCY], a ; $ff00+$d0 ld [hSCX], a ; $ff00+$cf ld [rWY], a ; $ff00+$4a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, $1 ld [hBGMapMode], a ; $ff00+$d4 ld a, $e3 @@ -69980,7 +69996,7 @@ Functione1e67: ; e1e67 (38:5e67) ret Functione1ebb: ; e1ebb (38:5ebb) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_e1ed0 call Functione1ed2 @@ -69993,7 +70009,7 @@ Functione1ebb: ; e1ebb (38:5ebb) ret Functione1ed2: ; e1ed2 (38:5ed2) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_e1ee1 @@ -70020,7 +70036,7 @@ Jumptable_e1ee1: ; e1ee1 Functione1ef3: ; e1ef3 call Functione2152 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; e1efb @@ -70028,13 +70044,13 @@ Functione1ef3: ; e1ef3 Functione1efb: ; e1efb call Functione00ed jr nc, .asm_e1f06 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret .asm_e1f06 call Functione209d - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] xor a ld [wc708], a @@ -70063,7 +70079,7 @@ Functione1f1c: ; e1f1c call Function3b2a ld a, $5 ld [wc702], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; e1f42 @@ -70078,14 +70094,14 @@ Functione1f42: ; e1f42 and a jr nz, .asm_e1f58 ld a, $7 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_e1f58 dec [hl] xor a ld [wcf64], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] Functione1f61: ; e1f61 @@ -70108,7 +70124,7 @@ Functione1f61: ; e1f61 call Functione2128 xor a ld [wcf64], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; e1f8b @@ -70136,7 +70152,7 @@ Functione1f8b: ; e1f8b call Functione2128 ld a, $40 ld [wc708], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] Functione1fba: ; e1fba @@ -70150,7 +70166,7 @@ Functione1fba: ; e1fba .asm_e1fc3 call Functione2010 ld a, $3 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e1fcc @@ -70184,19 +70200,19 @@ Functione1fcc: ; e1fcc .asm_e1ff9 call Functiona80 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] Functione2000: ; e2000 call Functione00ed jr nc, .asm_e200b - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret .asm_e200b xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e2010 @@ -70455,7 +70471,7 @@ Functione2183: ; e2183 ; e21a1 Functione21a1: ; e21a1 (38:61a1) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $7 jr nc, .asm_e21c8 call JoyTextDelay @@ -70566,7 +70582,7 @@ Functione2391: ; e2391 (38:6391) call DelayFrame .asm_e23b4 call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_e23c6 call Functione23d5 @@ -70583,7 +70599,7 @@ Functione2391: ; e2391 (38:6391) ret Functione23d5: ; e23d5 (38:63d5) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_e23df call Functione33df jp [hl] @@ -70645,18 +70661,18 @@ Functione241a: ; e241a (38:641a) cp $ff jr z, .asm_e2457 ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e2452 (38:6452) .asm_e2452 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer dec [hl] ret .asm_e2457 ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Functione245d: ; e245d (38:645d) @@ -70708,7 +70724,7 @@ BillsPCDepositFuncDeposit: ; e24a9 (38:64a9) call Functione307c jr c, .asm_e24c1 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [wcb2b], a ld [wcb2a], a @@ -70755,7 +70771,7 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0) callba Functione039 call Functione3180 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [wcb2b], a ld [wcb2a], a @@ -70770,7 +70786,7 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0) BillsPCDepositFuncCancel: ; e2537 (38:6537) ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e253d (38:653d) @@ -70828,7 +70844,7 @@ Functione2583: ; e2583 (38:6583) call DelayFrame .asm_e25a7 call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_e25b9 call Functione25c8 @@ -70845,7 +70861,7 @@ Functione2583: ; e2583 (38:6583) ret Functione25c8: ; e25c8 (38:65c8) - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, .jumptable call Functione33df jp [hl] @@ -70909,18 +70925,18 @@ Functione2612: ; e2612 (38:6612) cp $ff jr z, .asm_e264f ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e264a (38:664a) .asm_e264a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer dec [hl] ret .asm_e264f ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e2655 @@ -70973,7 +70989,7 @@ endr call TryWithdrawPokemon jr c, .FailedWithdraw ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [wcb2b], a ld [wcb2a], a @@ -71018,7 +71034,7 @@ endr callba Functione039 call Functione3180 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [wcb2b], a ld [wcb2a], a @@ -71033,7 +71049,7 @@ endr .cancel: ; e272b (38:672b) ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e2731 (38:6731) @@ -71077,7 +71093,7 @@ Functione2759: ; e2759 call DelayFrame .asm_e2781 call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_e2793 call Functione27a2 @@ -71096,7 +71112,7 @@ Functione2759: ; e2759 ; e27a2 Functione27a2: ; e27a2 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_e27ac call Functione33df jp [hl] @@ -71162,7 +71178,7 @@ Functione27eb: ; e27eb ld [wcb2b], a ld [wcb2a], a ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_e2823 @@ -71172,16 +71188,16 @@ Functione27eb: ; e27eb cp $ff jr z, .asm_e2837 ld a, $2 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer dec [hl] ret .asm_e2837 ld a, $6 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e283d @@ -71239,7 +71255,7 @@ Functione2887: ; e2887 ld a, [wcb2e] ld [wcb31], a ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e28a5 @@ -71257,7 +71273,7 @@ Functione28a5: ; e28a5 Functione28bd: ; e28bd ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e28c3 @@ -71321,7 +71337,7 @@ Functione2903: ; e2903 ld [wcb2b], a ld [wcb2a], a ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_e2938 @@ -71329,11 +71345,11 @@ Functione2903: ; e2903 jr c, .asm_e2946 call Functione31e7 ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_e2946 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer dec [hl] ret @@ -71345,7 +71361,7 @@ Functione2903: ; e2903 ld a, [wcb31] ld [wcb2e], a ld a, $0 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e2963 @@ -71359,7 +71375,7 @@ Functione2963: ; e2963 (38:6963) xor a call ByteFill xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -71368,12 +71384,12 @@ Functione2963: ; e2963 (38:6963) ret Functione298d: ; e298d (38:698d) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret Functione2992: ; e2992 (38:6992) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -73221,7 +73237,7 @@ _OptionsMenu: ; e41d0 ld de, StringOptions call PlaceString xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld c, $6 ;number of items on the menu minus 1 (for cancel) .asm_e41f3 ;this next will display the settings of each option when the menu is opened push bc @@ -73229,13 +73245,13 @@ _OptionsMenu: ; e41d0 ld [hJoyLast], a call GetOptionPointer pop bc - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] dec c jr nz, .asm_e41f3 call Functione4512 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a inc a ld [hBGMapMode], a call WaitBGMap @@ -73287,7 +73303,7 @@ StringOptions: ; e4241 GetOptionPointer: ; e42d6 - ld a, [wcf63] ;load the cursor position to a + ld a, [wJumptableEntryIndexBuffer] ;load the cursor position to a ld e, a ;copy it to de ld d, 0 ld hl, .Pointers @@ -73727,7 +73743,7 @@ Options_Cancel: ; e4520 ; e452a OptionsControl: ; e452a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld a, [hJoyLast] cp D_DOWN jr z, .DownPressed @@ -73784,7 +73800,7 @@ Functione455c: ; e455c jr nz, .asm_e4564 hlcoord 1, 2 ld bc, $0028 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] call AddNTimes ld [hl], $ed ret @@ -73796,7 +73812,7 @@ Functione4579: ; e4579 call PlayMusic call WhiteBGMap call ClearTileMap - ld a, $98 + ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a xor a ld [hBGMapAddress], a @@ -73823,7 +73839,7 @@ Functione4579: ; e4579 ld a, [hJoyLast] and BUTTONS jr nz, .asm_e45de - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_e45e3 call Functione4670 @@ -73879,7 +73895,7 @@ Functione45e8: ; e45e8 add hl, bc ld [hl], $30 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [hSCX], a @@ -73903,7 +73919,7 @@ Functione465e: ; e465e ; e4670 Functione4670: ; e4670 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_e467f @@ -73924,7 +73940,7 @@ Jumptable_e467f: ; e467f ; e4687 Functione4687: ; e4687 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; e468c @@ -73993,7 +74009,7 @@ Functione46dd: ; e46dd ret .asm_e46e7 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; e46ed @@ -74171,7 +74187,7 @@ CrystalIntro: ; e48ac ld a, [hJoyLast] and BUTTONS jr nz, .ShutOffMusic - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .done call IntroSceneJumper @@ -74210,12 +74226,12 @@ Functione4901: ; e4901 ld [hInMenu], a xor a ld [$ffde], a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; e490f IntroSceneJumper: ; e490f - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, IntroScenes @@ -74261,7 +74277,7 @@ IntroScenes: ; e491e (39:491e) NextIntroScene: ; e4956 (39:4956) - ld hl, wIntroSceneIndex + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -75298,7 +75314,7 @@ IntroScene28: ; e5152 (39:5152) ret .done - ld hl, wIntroSceneIndex + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret @@ -77374,7 +77390,7 @@ TRADE_AFTER EQU 4 NPCTrade:: ; fcba8 ld a, e - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Functionfcc59 ld b, CHECK_FLAG call TradeFlagAction @@ -77429,7 +77445,7 @@ NPCTrade:: ; fcba8 Functionfcc07: ; fcc07 call Function2ed3 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af ld a, [wcf64] push af @@ -77437,7 +77453,7 @@ Functionfcc07: ; fcc07 pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function2b74 ret ; fcc23 @@ -77473,7 +77489,7 @@ CheckTradeGender: ; fcc23 TradeFlagAction: ; fcc4a ld hl, wd960 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld c, a predef FlagPredef ld a, c @@ -77655,7 +77671,7 @@ Functionfcc63: ; fcc63 GetTradeAttribute: ; 0xfcdc2 ld d, 0 push de - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] and $f swap a ld e, a @@ -77974,7 +77990,7 @@ TradeAfterText3: ; 0xfcfe7 ; 0xfcfec -Functionfcfec:: ; fcfec +MomTriesToBuySomething:: ; fcfec ld a, [wd45c] and a ret nz @@ -77996,7 +78012,7 @@ Functionfcfec:: ; fcfec UnknownScript_0xfd00f: ; 0xfd00f callasm Functionfd017 - farjump UnknownScript_0x90241 + farjump Script_SpecialPhoneCall ; 0xfd017 Functionfd017: ; fd017 diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index 59e6e58e3..fa3c18d97 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -6612,12 +6612,12 @@ Function102c71: ; 102c71 ; 102c87 Function102c87: ; 102c87 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af ld a, [wcf64] push af ld a, [wcd4c] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, [PartyCount] ld [wcf64], a ld a, $0 @@ -6632,7 +6632,7 @@ Function102c87: ; 102c87 ld bc, $011a call Function102d3e ld a, [wcd4d] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, [OTPartyCount] ld [wcf64], a ld a, $5 @@ -6649,18 +6649,18 @@ Function102c87: ; 102c87 pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 102cee Function102cee: ; 102cee - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] dec a call Function102d34 ld de, DefaultFlypoint ld bc, $002f call CopyBytes - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld c, a ld a, $6 sub c @@ -6669,7 +6669,7 @@ Function102cee: ; 102cee ld hl, $0000 call AddNTimes push hl - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] dec a call Function102d34 ld d, h diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm index 98597b6a1..4d4d84fb6 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -124,7 +124,7 @@ Function108089: ; 108089 Function1080b7: ; 1080b7 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call WhiteBGMap call ClearSprites call ClearTileMap @@ -187,7 +187,7 @@ Function1080b7: ; 1080b7 Function108157: ; 108157 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call WhiteBGMap call ClearSprites call ClearTileMap @@ -310,7 +310,7 @@ Function108239: ; 108239 ; 10824b Function10824b: ; 10824b - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_10825a call Function10827b @@ -335,7 +335,7 @@ Function10824b: ; 10824b ; 10827b Function10827b: ; 10827b - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_10828a @@ -372,7 +372,7 @@ Jumptable_10828a: ; 10828a ; 1082b2 Function1082b2: ; 1082b2 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; 1082b7 @@ -383,7 +383,7 @@ Function1082b7: ; 1082b7 inc hl ld d, [hl] ld a, [de] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a inc de ld [hl], d dec hl @@ -392,7 +392,7 @@ Function1082b7: ; 1082b7 ; 1082c6 Function1082c6: ; 1082c6 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 1082cc @@ -1270,8 +1270,8 @@ Function1089d2: asm_1089fc call WaitTop call Function108ac8 - ld a, $9c - ld [$ffd7], a + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a hlcoord 5, 0 ld b, $6 ld c, $9 @@ -1293,8 +1293,8 @@ String_108a1d: ; 108a1d Function108a33: ; 108a33 call WaitTop call Function108ac8 - ld a, $9c - ld [$ffd7], a + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a hlcoord 5, 0 ld b, $6 ld c, $9 @@ -1313,8 +1313,8 @@ String_108a54: ; 108a54 Function108a5b: ; 108a5b call WaitTop call Function108ac8 - ld a, $9c - ld [$ffd7], a + ld a, VBGMap1 / $100 + ld [hBGMapAddress + 1], a hlcoord 4, 0 ld b, $6 ld c, $a @@ -1336,8 +1336,8 @@ String_108a79: ; 108a79 Function108a87: ; 108a87 call WaitBGMap call WaitTop - ld a, $98 - ld [$ffd7], a + ld a, VBGMap0 / $100 + ld [hBGMapAddress + 1], a ret ; 108a92 diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm index ce2ea1d21..2ee01f8c0 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -8168,7 +8168,7 @@ Function117a8d: ; 0x117a8d Function117a94: ; 0x117a94 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -8190,7 +8190,7 @@ Function117ab4: ; 0x117ab4 Function117acd: ; 0x117acd call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_117ae2 ; 0x117ad5 $b call Function117ae9 @@ -8202,7 +8202,7 @@ Function117acd: ; 0x117acd ret Function117ae9: ; 0x117ae9 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, $0 ld hl, Pointers117af8 @@ -8306,7 +8306,7 @@ Function117b4f: call ExitMenu callba Function104061 ld a, $80 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function117bb6: @@ -8325,11 +8325,11 @@ Function117bb6: ld [wc303], a callba Function17f555 ld a, $80 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_117be1 ld a, $80 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_117be7 ld a, [rSVBK] @@ -8411,7 +8411,7 @@ Function117c4a: pop af ld [rSVBK], a ld a, $80 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret Function117c89: @@ -8464,7 +8464,7 @@ MobileStadiumSuccessText: ; 0x117cd8 db "@" Function117cdd: ; 0x117cdd - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret @@ -11817,7 +11817,7 @@ Function119800: ; 119800 ld [wc702], a ld a, [wcd81] ld [wc74e], a - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af ld a, [wcf64] push af @@ -11840,7 +11840,7 @@ Function119800: ; 119800 pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a callba Function115dc3 jp Function119e2e ; 11984e @@ -11853,7 +11853,7 @@ Function11984e: ; 11984e and a jr nz, .asm_1198a8 callba Function170000 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af ld a, [wcf64] push af @@ -11876,7 +11876,7 @@ Function11984e: ; 11984e pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a callba Function115dc3 jp Function119e2e @@ -11887,7 +11887,7 @@ Function11984e: ; 11984e .asm_1198a8 callba Function17005a - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] push af ld a, [wcf64] push af @@ -11910,7 +11910,7 @@ Function11984e: ; 11984e pop af ld [wcf64], a pop af - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a callba Function115dc3 jp Function119e2e ; 1198ee @@ -14343,7 +14343,7 @@ Function11ac51: ; 11ac51 call DelayFrame .asm_11ac82 call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_11aca8 call Function11b314 @@ -14444,7 +14444,7 @@ Function11ad1b: ; 11ad1b xor a call ByteFill xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -14456,7 +14456,7 @@ Function11ad1b: ; 11ad1b ; 11ad6e Function11ad6e: ; 11ad6e - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld hl, Jumptable_11ad78 call Function11b239 jp [hl] @@ -14475,13 +14475,13 @@ Jumptable_11ad78: ; 11ad78 ; 11ad8a Function11ad8a: ; 11ad8a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; 11ad8f Function11ad8f: ; 11ad8f - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret ; 11ad95 @@ -14522,7 +14522,7 @@ Function11adc4: ret z call PlayClickSFX xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a jr .asm_11ae2e .asm_11ade6 @@ -14643,7 +14643,7 @@ Function11ae98: ld a, $7f ld [hl], a ld a, $1 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a jr .asm_11aef7 .asm_11aec1 @@ -14734,7 +14734,7 @@ Function11af4e: ld a, $7f ld [hl], a ld a, $1 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a jr .asm_11afaa .asm_11af77 @@ -14765,7 +14765,7 @@ Function11af4e: cp $2 jr z, .asm_11af6a ld a, $6 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a xor a ld [ScriptVar], a @@ -15057,7 +15057,7 @@ Function11b0ff: ; 11b0ff jr .asm_11b148 .asm_11b141 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer ld a, $7 ld [hl], a ret @@ -15090,7 +15090,7 @@ Function11b0ff: ; 11b0ff .asm_11b16c ld [wcd30], a ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 11b175 @@ -15411,7 +15411,7 @@ Function11b314: ; 11b314 Function11b31b: ; 11b31b ld hl, Unknown_11b350 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $2 jr c, .asm_11b349 ld a, [wc7d1] @@ -15419,7 +15419,7 @@ Function11b31b: ; 11b31b jr nc, .asm_11b344 cp $3 jr c, .asm_11b349 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $2 jr z, .asm_11b349 cp $3 @@ -15553,7 +15553,7 @@ Function11b3d9: ; 11b3d9 ld [hli], a cp $41 jr c, .asm_11b42b - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $4 jr z, .asm_11b43b cp $5 @@ -15592,7 +15592,7 @@ Function11b444: ; 11b444 Function11b44b: ; 11b44b xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -15604,14 +15604,14 @@ Function11b45c: ; 11b45c .asm_11b45c call Function11b46a call DelayFrame - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $4 jr nz, .asm_11b45c ret ; 11b46a Function11b46a: ; 11b46a - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_11b479 @@ -15813,7 +15813,7 @@ Function11b570: ; 11b570 .asm_11b57f ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 11b585 @@ -15913,14 +15913,14 @@ Function11b64c: ; 11b64c .asm_11b64c call Function11b65a call DelayFrame - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $1 jr nz, .asm_11b64c ret ; 11b65a Function11b65a: ; 11b65a - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_11b669 @@ -16677,7 +16677,7 @@ Function11c08f: ; 11c08f Function11c0c6: ; 11c0c6 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld l, a ld a, [wcf64] ld h, a @@ -16687,7 +16687,7 @@ Function11c0c6: ; 11c0c6 ld [hli], a push de xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, $12 ld [wcf64], a ld a, $6 @@ -16720,9 +16720,9 @@ Function11c0c6: ; 11c0c6 .asm_11c102 cp e jr nc, .asm_11c11c - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] inc a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [hl], $4e rra jr c, .asm_11c113 @@ -16763,7 +16763,7 @@ Function11c0c6: ; 11c0c6 call PlaceWholeStringInBoxAtOnce pop hl ld a, l - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, h ld [wcf64], a ret @@ -16856,7 +16856,7 @@ Function11c1b9: ; 11c1b9 Function11c1ca: ; 11c1ca xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -16938,7 +16938,7 @@ Function11c283: ; 11c283 call JoyTextDelay ld a, [hJoyPressed] ld [hJoypadPressed], a - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_11c2a2 call Function11c2ac @@ -16953,7 +16953,7 @@ Function11c283: ; 11c283 ; 11c2ac Function11c2ac: ; 11c2ac - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_11c2bb @@ -17219,7 +17219,7 @@ Function11c3ed: ; 11c3ed (47:43ed) .asm_11c472 call Function11c4a5 .asm_11c475 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call PlayClickSFX ret .asm_11c47c @@ -17383,7 +17383,7 @@ Function11c53d: ; 11c53d (47:453d) .asm_11c59f ld hl, wcd24 set 1, [hl] - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call PlayClickSFX ret @@ -17599,7 +17599,7 @@ Function11c675: ; 11c675 (47:4675) .asm_11c6fa ld a, $15 .asm_11c6fc - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld hl, wcd24 set 3, [hl] call PlayClickSFX @@ -18119,7 +18119,7 @@ Function11c9c3: ; 11c9c3 (47:49c3) ld hl, wcd24 set 4, [hl] ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call PlayClickSFX ret .asm_11c9f7 @@ -18271,7 +18271,7 @@ Function11cab3: ; 11cab3 (47:4ab3) ld [wcd2a], a ret .asm_11caf3 - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret .asm_11caf9 @@ -18280,7 +18280,7 @@ Function11cab3: ; 11cab3 (47:4ab3) ld hl, wcd24 set 4, [hl] ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld a, [wcd35] cp $ff ret nz @@ -18389,7 +18389,7 @@ endr ld d, a hlcoord 1, 14 call PlaceString - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] inc hl ld a, $10 @@ -18404,7 +18404,7 @@ endr ld hl, wcd24 set 4, [hl] ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret .asm_11cbeb ld a, [hl] @@ -18490,7 +18490,7 @@ Function11cd04: ; 11cd04 (47:4d04) and a ret z ld a, $4 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret ; 11cd10 (47:4d10) @@ -18551,7 +18551,7 @@ Function11cd54: ; 11cd54 (47:4d54) .asm_11cd7d ld a, $15 .asm_11cd7f - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld hl, wcd24 set 5, [hl] call PlayClickSFX @@ -18692,7 +18692,7 @@ Function11ce2b: ; 11ce2b (47:4e2b) .asm_11ce96 ld a, $13 .asm_11ce98 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld hl, wcd24 set 2, [hl] call PlayClickSFX @@ -18778,7 +18778,7 @@ String_11cf79: ; 11cf79 ; 11cfb5 Function11cfb5: ; 11cfb5 (47:4fb5) - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; 11cfba (47:4fba) @@ -21327,7 +21327,7 @@ Function16c000: ; 16c000 Function16c031: ; 16c031 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [DefaultFlypoint], a ld [wd003], a @@ -22784,7 +22784,7 @@ Function17020c: ; 17020c Function170215: ; 170215 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a call Function17022c ret ; 17021d @@ -22795,7 +22795,7 @@ Function17021d: ; 17021d Function17021e: ; 17021e xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a @@ -22806,14 +22806,14 @@ Function17022c: ; 17022c .asm_17022c call Jumpto_BattleTowerBattleFunction call DelayFrame - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] cp $1 jr nz, .asm_17022c ret ; 17023a Jumpto_BattleTowerBattleFunction: ; 17023a - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_BattleTowerBattleFunctions @@ -22871,7 +22871,7 @@ RunBattleTowerBattle: ; 17024d pop af ld [Options], a ld a, $1 - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ret @@ -23229,7 +23229,7 @@ Function1704f1: ; 1704f1 call ClearScreen .asm_1704fa call JoyTextDelay - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] bit 7, a jr nz, .asm_17050f call Function170510 @@ -23241,7 +23241,7 @@ Function1704f1: ; 1704f1 ; 170510 Function170510: ; 170510 - ld a, [wcf63] + ld a, [wJumptableEntryIndexBuffer] ld e, a ld d, 0 ld hl, Jumptable_17051f @@ -23332,12 +23332,12 @@ Function170577: ret .asm_1705ac - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer set 7, [hl] ret Function1705b2: - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer inc [hl] ret ; 1705b7 diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm index 95eb07557..411f22234 100644 --- a/misc/mobile_5f.asm +++ b/misc/mobile_5f.asm @@ -521,7 +521,7 @@ Function17d2b6: ; 17d2b6 Function17d2c0: ; 17d2c0 xor a - ld [wcf63], a + ld [wJumptableEntryIndexBuffer], a ld [wcf64], a ld [wcf65], a ld [wcf66], a diff --git a/misc/unused_title.asm b/misc/unused_title.asm index 6783f98a0..0f3658c34 100644 --- a/misc/unused_title.asm +++ b/misc/unused_title.asm @@ -9,7 +9,7 @@ UnusedTitleScreen: ; 10c000 xor a ld [hBGMapMode], a - ld hl, wcf63 + ld hl, wJumptableEntryIndexBuffer rept 3 ld [hli], a endr diff --git a/wram.asm b/wram.asm index a6e76deec..97cc47a71 100644 --- a/wram.asm +++ b/wram.asm @@ -135,7 +135,7 @@ INCLUDE "vram.asm" SECTION "Stack", WRAM0 wc000:: StackBottom:: - ds $ff + ds $100 - 1 Stack:: StackTop:: ds 1 @@ -441,6 +441,8 @@ wc60f:: wPlayerMoveStruct:: ds MOVE_LENGTH ; c60f wc616:: EnemyMonNick:: ds PKMN_NAME_LENGTH ; c616 + ds -5 +wInitHourBuffer:: ds 5 BattleMonNick:: ds PKMN_NAME_LENGTH ; c621 BattleMon:: battle_struct BattleMon ; c62c @@ -1179,9 +1181,9 @@ MonType:: ; cf5f CurSpecies:: ; cf60 ds 1 -wNamedObjectTypeBuffer:: ds 2 -wIntroSceneIndex:: -wcf63:: ds 1 +wNamedObjectTypeBuffer:: ds 1 + ds 1 +wJumptableEntryIndexBuffer:: ds 1 wNrOfBeatenBattleTowerTrainers:: wMomBankDigitCursorPosition:: wIntroSceneFrameCounter:: @@ -2126,7 +2128,7 @@ Money:: ; d84e wd851:: wMomsMoney:: ; d851 ds 3 -wd854:: +wBankOfMomMode:: wMomSavingMoney:: ; d854 ds 1