diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/battle_start.asm | 20 | ||||
-rw-r--r-- | engine/credits.asm | 16 | ||||
-rw-r--r-- | engine/pack.asm | 48 | ||||
-rw-r--r-- | engine/pokedex.asm | 44 | ||||
-rw-r--r-- | engine/scripting.asm | 18 | ||||
-rw-r--r-- | engine/title.asm | 84 |
6 files changed, 119 insertions, 111 deletions
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 |