diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-12-01 21:54:11 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-12-01 21:54:11 -0500 |
commit | 92a8c491c3a8c39a7c51b300d759f93aa5157447 (patch) | |
tree | 2b0fca0ca289327e65b3b4339f1523f6060c4437 /engine | |
parent | ffbf2c0f5d28c05c14f67a3cfb123d37157c2ef9 (diff) |
Break up engine/sprites.asm; address yenatch's comments
Diffstat (limited to 'engine')
-rwxr-xr-x | engine/breeding/egg.asm | 4 | ||||
-rwxr-xr-x | engine/compose_mail.asm | 2 | ||||
-rwxr-xr-x | engine/crystal_intro.asm | 22 | ||||
-rwxr-xr-x | engine/dummy_game.asm | 2 | ||||
-rw-r--r-- | engine/events_2.asm | 2 | ||||
-rwxr-xr-x | engine/evolution_animation.asm | 6 | ||||
-rwxr-xr-x | engine/link.asm | 12 | ||||
-rwxr-xr-x | engine/mail.asm | 4 | ||||
-rw-r--r-- | engine/map_setup.asm | 2 | ||||
-rwxr-xr-x | engine/mart.asm | 2 | ||||
-rwxr-xr-x | engine/namingscreen.asm | 4 | ||||
-rw-r--r-- | engine/party_menu.asm | 2 | ||||
-rwxr-xr-x | engine/pokecenter_pc.asm | 8 | ||||
-rwxr-xr-x | engine/pokegear.asm | 6 | ||||
-rw-r--r-- | engine/scripting.asm | 24 | ||||
-rwxr-xr-x | engine/selectmenu.asm | 2 | ||||
-rwxr-xr-x | engine/slot_machine.asm | 4 | ||||
-rw-r--r-- | engine/specials.asm | 4 | ||||
-rwxr-xr-x | engine/sprite_anims.asm | 818 | ||||
-rwxr-xr-x | engine/sprites.asm | 2275 | ||||
-rwxr-xr-x | engine/startmenu.asm | 12 | ||||
-rwxr-xr-x | engine/town_map.asm | 2 | ||||
-rwxr-xr-x | engine/trade/animation.asm | 6 |
23 files changed, 896 insertions, 2329 deletions
diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index fa649a0ac..f0a8ac0fd 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -699,7 +699,7 @@ Function1728f: ; 1728f (5:728f) ld bc, $20 ld a, BANK(EggHatchGFX) call FarCopyBytes - callba Function8cf53 + callba ClearSpriteAnims ld de, VTiles2 tile $00 ld a, [wJumptableIndex] call Function1723c @@ -806,7 +806,7 @@ INCBIN "gfx/unknown/017393.2bpp" ; 173b3 Function173b3: ; 173b3 (5:73b3) - callba Function8cf53 + callba ClearSpriteAnims ld hl, .SpriteData .loop ld a, [hli] diff --git a/engine/compose_mail.asm b/engine/compose_mail.asm index f02f99326..e02feb2a1 100755 --- a/engine/compose_mail.asm +++ b/engine/compose_mail.asm @@ -129,7 +129,7 @@ INCBIN "gfx/icon/mail2.2bpp" and a ret .exit_mail - callab Function8cf53 + callab ClearSpriteAnims call ClearSprites xor a ld [hSCX], a diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm index beada9f84..216e4ad69 100755 --- a/engine/crystal_intro.asm +++ b/engine/crystal_intro.asm @@ -96,7 +96,7 @@ Functione45e8: ; e45e8 pop af ld [rSVBK], a - callba Function8cf53 + callba ClearSpriteAnims depixel 10, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_03 call _InitSpriteAnimStruct @@ -125,7 +125,7 @@ Functione45e8: ; e45e8 ; e465e Functione465e: ; e465e - callba Function8cf53 + callba ClearSpriteAnims call ClearTileMap call ClearSprites ld c, 16 @@ -540,7 +540,7 @@ IntroScene1: ; e495b (39:495b) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims call Functione549e xor a ld [wIntroSceneFrameCounter], a @@ -678,7 +678,7 @@ IntroScene5: ; e4a7a (39:4a7a) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims call Functione549e xor a ld [wcf64], a @@ -776,7 +776,7 @@ IntroScene7: ; e4b3f (39:4b3f) ld a, $90 ld [hWY], a call Functione5516 - callba Function8cf53 + callba ClearSpriteAnims depixel 13, 27, 4, 0 ld a, SPRITE_ANIM_INDEX_26 call _InitSpriteAnimStruct @@ -925,7 +925,7 @@ IntroScene11: ; e4c86 (39:4c86) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims call Functione549e xor a ld [wIntroSceneFrameCounter], a @@ -1050,7 +1050,7 @@ IntroScene13: ; e4d6d (39:4d6d) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims depixel 13, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_26 call _InitSpriteAnimStruct @@ -1160,7 +1160,7 @@ IntroScene15: ; e4e40 (39:4e40) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims call Functione549e depixel 8, 5 ld a, SPRITE_ANIM_INDEX_2A @@ -1233,7 +1233,7 @@ IntroScene17: ; e4ef5 (39:4ef5) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims call Functione549e xor a ld [wcf64], a @@ -1308,7 +1308,7 @@ IntroScene19: ; e4f7e (39:4f7e) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims ld hl, wc300 xor a ld [hli], a @@ -1475,7 +1475,7 @@ IntroScene26: ; e50bb (39:50bb) ld [hWX], a ld a, $90 ld [hWY], a - callba Function8cf53 + callba ClearSpriteAnims call Functione549e xor a ld [wcf64], a diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm index 756486ff8..6313fdc38 100755 --- a/engine/dummy_game.asm +++ b/engine/dummy_game.asm @@ -10,7 +10,7 @@ Functione1e67: ; e1e67 (38:5e67) call DisableLCD ld b, SCGB_08 call GetSGBLayout - callab Function8cf53 + callab ClearSpriteAnims ld hl, LZ_e2221 ld de, VTiles2 tile $00 call Decompress diff --git a/engine/events_2.asm b/engine/events_2.asm index 5be1d4226..7722ec72b 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -142,7 +142,7 @@ RandomEncounter:: ; 97cc0 ; 97cf9 WildBattleScript: ; 97cf9 - setup_random_encounter + randomwildmon startbattle returnafterbattle end diff --git a/engine/evolution_animation.asm b/engine/evolution_animation.asm index 5cf655980..ee55d8e25 100755 --- a/engine/evolution_animation.asm +++ b/engine/evolution_animation.asm @@ -36,7 +36,7 @@ _EvolutionAnimation: ; 4e607 ld de, MUSIC_NONE call PlayMusic - callba Function8cf53 + callba ClearSpriteAnims ld de, EvolutionGFX ld hl, VTiles0 @@ -107,7 +107,7 @@ _EvolutionAnimation: ; 4e607 ld c, $0 call .GetSGBLayout call Function4e7a6 - callba Function8cf53 + callba ClearSpriteAnims call Function4e794 jr c, .asm_4e6de @@ -144,7 +144,7 @@ _EvolutionAnimation: ; 4e607 ld c, $0 call .GetSGBLayout call Function4e7a6 - callba Function8cf53 + callba ClearSpriteAnims call Function4e794 ret c diff --git a/engine/link.asm b/engine/link.asm index 619cc1375..854b47ab8 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -474,7 +474,7 @@ Function283b2: ; 283b2 ld b, $a .asm_283b7 call DelayFrame - call LinkCommunicationsSignalDataReceived + call LinkDataReceived dec b jr nz, .asm_283b7 xor a @@ -2295,9 +2295,9 @@ Special_WaitForLinkedFriend: ; 29d11 jr .asm_29d39 .asm_29d79 - call LinkCommunicationsSignalDataReceived + call LinkDataReceived call DelayFrame - call LinkCommunicationsSignalDataReceived + call LinkDataReceived ld c, $32 call DelayFrames ld a, $1 @@ -2426,7 +2426,7 @@ Function29e47: ; 29e47 ld b, $a .asm_29e49 call DelayFrame - call LinkCommunicationsSignalDataReceived + call LinkDataReceived dec b jr nz, .asm_29e49 ret @@ -2467,9 +2467,9 @@ Special_CheckBothSelectedSameRoom: ; 29e82 ld a, [wd265] call Function29f17 push af - call LinkCommunicationsSignalDataReceived + call LinkDataReceived call DelayFrame - call LinkCommunicationsSignalDataReceived + call LinkDataReceived pop af ld b, a ld a, [wd265] diff --git a/engine/mail.asm b/engine/mail.asm index 82d27d4be..dec445d94 100755 --- a/engine/mail.asm +++ b/engine/mail.asm @@ -443,7 +443,7 @@ Function4484a: ; 0x4484a dec a ld b, a call ReadMailMessage - jp ReturnToCallingMenu + jp CloseSubmenu ; 0x44877 .PutInPack ; 0x44877 @@ -539,7 +539,7 @@ Function4484a: ; 0x4484a call PrintText .exit2 - jp ReturnToCallingMenu + jp CloseSubmenu ; 0x4493c .HoldingMailText ; 0x4493c diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 7444c7fbe..e8b8c0090 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -252,7 +252,7 @@ MapSetupCommands: ; 15440 dba RotatePalettesRightMapAndMusic ; 06 dba EnterMapMusic ; 07 dba ForceMapMusic ; 08 - dba RotatePalettesLeftMusic ; 09 + dba FadeInMusic ; 09 dba LoadBlockData ; 0a dba LoadNeighboringBlockData ; 0b dba SaveScreen ; 0c diff --git a/engine/mart.asm b/engine/mart.asm index 87c805c25..9d7940a5d 100755 --- a/engine/mart.asm +++ b/engine/mart.asm @@ -377,7 +377,7 @@ BuyMenu: ; 15c62 .loop call BuyMenuLoop ; menu loop jr nc, .loop - call ReturnToCallingMenu + call CloseSubmenu ret ; 15c7d diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index 93cd97199..b31913015 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -345,7 +345,7 @@ Function11915: ; 11915 ret .asm_11930 - callab Function8cf53 + callab ClearSpriteAnims call ClearSprites xor a ld [hSCX], a @@ -866,7 +866,7 @@ Function11c11: ; 11c11 (4:5c11) Function11c51: ; 11c51 call ClearSprites - callab Function8cf53 + callab ClearSpriteAnims call LoadStandardFont call LoadFontsExtra diff --git a/engine/party_menu.asm b/engine/party_menu.asm index 1c2c70eee..e5d8cbd1e 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -41,7 +41,7 @@ Function5003f: ; 5003f LoadPartyMenuGFX: ; 5004f call LoadFontsBattleExtra callab Function8ad1 ; engine/color.asm - callab ClearSpriteAnims + callab ClearSpriteAnims2 ret ; 5005f diff --git a/engine/pokecenter_pc.asm b/engine/pokecenter_pc.asm index 064b35a6c..4cf3f79b6 100755 --- a/engine/pokecenter_pc.asm +++ b/engine/pokecenter_pc.asm @@ -140,7 +140,7 @@ HallOfFamePC: ; 1569a call PC_PlayChoosePCSound call FadeToMenu callba _HallOfFamePC - call ReturnToCallingMenu + call CloseSubmenu and a ret ; 156ab @@ -323,7 +323,7 @@ KrisWithdrawItemMenu: ; 0x157d1 jr .asm_157da .asm_157e4 - call ReturnToCallingMenu + call CloseSubmenu xor a ret ; 0x157e9 @@ -403,7 +403,7 @@ KrisTossItemMenu: ; 0x1585f jr .asm_15868 .asm_15878 - call ReturnToCallingMenu + call CloseSubmenu xor a ret ; 0x1587d @@ -442,7 +442,7 @@ KrisDepositItemMenu: ; 0x1588b jr .asm_1589c .asm_158b3 - call ReturnToCallingMenu + call CloseSubmenu .asm_158b6 xor a diff --git a/engine/pokegear.asm b/engine/pokegear.asm index a89e48b5e..319640961 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -59,7 +59,7 @@ Function90bea: ; 90bea (24:4bea) ld a, $7 ld [hWX], a call Function90c4e - callba Function8cf53 + callba ClearSpriteAnims call Function90d32 ld a, 8 call SkipMusic @@ -1944,7 +1944,7 @@ _FlyMap: ; 91af3 ld [hl], $1 xor a ld [hBGMapMode], a - callba Function8cf53 + callba ClearSpriteAnims call Function91ff2 ld de, GFX_922e1 ld hl, VTiles2 tile $30 @@ -2866,7 +2866,7 @@ Function92311: ; unreferenced ld [hl], $1 xor a ld [hBGMapMode], a - callba Function8cf53 + callba ClearSpriteAnims call Function91ff2 ld de, GFX_922e1 ld hl, VTiles2 tile $30 diff --git a/engine/scripting.asm b/engine/scripting.asm index b6042a04a..1ba592edc 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -163,10 +163,10 @@ ENDC dw Script_interpretmenu dw Script_interpretmenu2 dw Script_loadpikachudata - dw Script_setup_random_encounter - dw Script_memtrainerdata - dw Script_scriptedpokedata - dw Script_scriptedtrainerdata + dw Script_randomwildmon + dw Script_loadmemtrainer + dw Script_loadwildmon + dw Script_loadtrainer dw Script_startbattle dw Script_returnafterbattle dw Script_catchtutorial @@ -1482,7 +1482,7 @@ Script_loadpikachudata: ; 973f0 ret ; 973fb -Script_setup_random_encounter: ; 973fb +Script_randomwildmon: ; 973fb ; script command 0x5b xor a @@ -1490,19 +1490,19 @@ Script_setup_random_encounter: ; 973fb ret ; 97400 -Script_memtrainerdata: ; 97400 +Script_loadmemtrainer: ; 97400 ; script command 0x5c ld a, (1 << 7) | 1 ld [wBattleScriptFlags], a - ld a, [WalkingDirection] + ld a, [wTempTrainerClass] ld [OtherTrainerClass], a - ld a, [FacingDirection] + ld a, [wTempTrainerID] ld [OtherTrainerID], a ret ; 97412 -Script_scriptedpokedata: ; 97412 +Script_loadwildmon: ; 97412 ; script command 0x5d ; parameters: ; pokemon (PokemonParam) @@ -1517,7 +1517,7 @@ Script_scriptedpokedata: ; 97412 ret ; 97424 -Script_scriptedtrainerdata: ; 97424 +Script_loadtrainer: ; 97424 ; script command 0x5e ; parameters: ; trainer_group (TrainerGroupParam) @@ -1655,7 +1655,7 @@ ScriptCall: ; 974cb ld e, [hl] inc [hl] ld d, $0 - ld hl, wScriptStackBA1 + ld hl, wScriptStack rept 3 add hl, de endr @@ -3166,7 +3166,7 @@ ExitScriptSubroutine: ; 97b9a dec [hl] ld e, [hl] ld d, $0 - ld hl, wScriptStackBA1 + ld hl, wScriptStack rept 3 add hl,de endr diff --git a/engine/selectmenu.asm b/engine/selectmenu.asm index 9de31192b..8d23abb66 100755 --- a/engine/selectmenu.asm +++ b/engine/selectmenu.asm @@ -158,7 +158,7 @@ UseRegisteredItem: ; 133c3 call ResetWindow call FadeToMenu call DoItemEffect - call ReturnToCallingMenu + call CloseSubmenu call CloseText and a ret diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index afd038588..9f07aa8cd 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -32,7 +32,7 @@ Function926f7: ; 926f7 (24:66f7) call ByteFill ld b, SCGB_05 call GetSGBLayout - callab Function8cf53 + callab ClearSpriteAnims ld hl, wc6d0 ld bc, $48 xor a @@ -101,7 +101,7 @@ Function927af: ; 927af (24:67af) call Function92b0f xor a ld [wc3b5], a - callab Function8cfa8 + callab DoNextFrameForFirst16Sprites call Function927f8 call Function927d3 call DelayFrame diff --git a/engine/specials.asm b/engine/specials.asm index 09edbb263..29c4da492 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -126,7 +126,7 @@ SpecialsPointers:: ; c029 add_special SpecialTrainerHouse add_special PhotoStudio add_special InitRoamMons - add_special Special_RotatePalettesRightMusic + add_special Special_FadeOutMusic add_special Diploma add_special PrintDiploma @@ -616,7 +616,7 @@ SpecialGameboyCheck: ; c478 ret -Special_RotatePalettesRightMusic: ; c48f +Special_FadeOutMusic: ; c48f ld a, MUSIC_NONE % $100 ld [MusicFadeIDLo], a ld a, MUSIC_NONE / $100 diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm new file mode 100755 index 000000000..f93f43c58 --- /dev/null +++ b/engine/sprite_anims.asm @@ -0,0 +1,818 @@ +DoAnimFrame: ; 8d24b + ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID + add hl, bc + ld e, [hl] + ld d, 0 + ld hl, .Jumptable +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 8d25b + + +.Jumptable: ; 8d25b (23:525b) + dw .zero ; town map + dw .one ; bouncing mon icons + dw .two + dw .three + dw .four + dw .five + dw .six ; Game Freak logo + dw .seven + dw .eight + dw .nine + dw .ten + dw .eleven + dw .twelve ; blinking cursor + dw .thirteen + dw .fourteen + dw .fifteen + dw .sixteen + dw .seventeen + dw .eighteen + dw .nineteen ; finish egg hatching animation + dw .twenty + dw .twentyone + dw .twentytwo ; flying sprite + dw .twentythree ; flying leaves + dw .twentyfour + dw .twentyfive + dw .twentysix + dw .twentyseven + dw .twentyeight + dw .twentynine ; intro suicune + dw .thirty ; intro pichu wooper + dw .thirtyone + dw .thirtytwo ; intro unown + dw .thirtythree ; intro unown F with suicune leaping up + dw .thirtyfour ; intro suicune facing away from us + + +.zero: ; 8d2a1 (23:52a1) + ret + +.one: ; 8d2a2 (23:52a2) + ld a, [MenuSelection2] + ld hl, 0 + add hl, bc + cp [hl] + jr z, .two + ld hl, $4 + add hl, bc + ld [hl], $10 + ld hl, $7 + add hl, bc + ld [hl], $0 + ret + +.two: ; 8d2b9 (23:52b9) + ld hl, $4 + add hl, bc + ld [hl], $18 + ld hl, $c + add hl, bc + ld a, [hl] + ld d, a + inc [hl] + and $f + ret nz + ld hl, $d + add hl, bc + ld e, [hl] + ld hl, $7 + add hl, bc + ld a, d + and $10 ; bit 4 + jr z, .asm_8d2df + ld a, e + and a + jr z, .asm_8d2e6 + cp $1 + jr z, .asm_8d2e2 +.asm_8d2df + xor a + ld [hl], a + ret +.asm_8d2e2 + ld a, $ff + ld [hl], a + ret +.asm_8d2e6 + ld a, $fe + ld [hl], a + ret + +.three: ; 8d2ea (23:52ea) + ld a, [MenuSelection2] + ld hl, 0 + add hl, bc + cp [hl] + jr z, .asm_8d2fb + ld hl, $4 + add hl, bc + ld [hl], $10 + ret +.asm_8d2fb + ld hl, $4 + add hl, bc + ld [hl], $18 + ret + +.four: ; 8d302 (23:5302) + call .anonymous_jumptable + jp [hl] +; 8d306 (23:5306) + +; Anonymous jumptable (see .anonymous_jumptable) + dw .four_zero + dw .four_one +; 8d30a + +.four_zero: ; 8d30a + call .asm_8d6d8 + ld hl, 0 + add hl, bc + ld a, [hl] + ld hl, $d + add hl, bc + and $3 + ld [hl], a + inc [hl] + swap a + ld hl, $c + add hl, bc + ld [hl], a + +.four_one: ; 8d321 + ld hl, $4 + add hl, bc + ld a, [hl] + cp $a4 + jr nc, .asm_8d356 + ld hl, $d + add hl, bc + add $4 + ld hl, $4 + add hl, bc + ld [hl], a + ld hl, $5 + add hl, bc + inc [hl] + ld hl, $d + add hl, bc + ld a, [hl] + sla a + sla a + ld d, $2 + ld hl, $c + add hl, bc + ld a, [hl] + add $3 + ld [hl], a + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + ret + +.asm_8d356 + call Function8d036 + ret +; 8d35a + +.twentyfive: ; 8d35a (23:535a) + ld hl, $c + add hl, bc + ld a, [hl] + inc a + ld [hl], a + ld d, $2 + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + ret + +.five: ; 8d36c (23:536c) + callab Function11a3b + ret + +.twelve: ; 8d373 (23:5373) + callab Function120c1 + ret + +.six: ; 8d37a (23:537a) + callab GameFreakLogoJumper + ret + +.seven: ; 8d381 (23:5381) + ld hl, $c + add hl, bc + ld a, [hl] + and a + jr z, .asm_8d3ba +rept 2 + dec [hl] +endr + ld d, a + and $1f + jr nz, .asm_8d395 + ld hl, $d + add hl, bc + dec [hl] +.asm_8d395 + ld hl, $b + add hl, bc + ld a, [hl] + push af + push de + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + pop de + pop af + call .ApplyXOffset + ld hl, $6 + add hl, bc + ld [hl], a + ld hl, $d + add hl, bc + ld a, [hl] + ld hl, $b + add hl, bc + add [hl] + ld [hl], a + ret +.asm_8d3ba + ld a, $1 + ld [wcf64], a + call Function8d036 + ret + +.eight: ; 8d3c3 (23:53c3) + ld hl, $c + add hl, bc + ld a, [hli] + or [hl] + jr z, .asm_8d41e + ld hl, $f + add hl, bc + ld d, [hl] + ld hl, $b + add hl, bc + ld a, [hl] + push af + push de + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + pop de + pop af + call .ApplyXOffset + ld hl, $6 + add hl, bc + ld [hl], a + ld hl, $c + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $e + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, $e + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $c + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, -$10 + add hl, de + ld e, l + ld d, h + ld hl, $c + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $b + add hl, bc + ld a, [hl] + xor $20 + ld [hl], a + ret +.asm_8d41e + call Function8d036 + ret + +.nine: ; 8d422 (23:5422) + callab Function9321d + ret + +.ten: ; 8d429 (23:5429) + callab Function932ac + ld hl, wcf64 + ld a, [hl] + cp $2 + ret nz + ld [hl], $3 + ld a, $f + call Function8d120 + ret + +.eleven: ; 8d43e (23:543e) + ld hl, $b + add hl, bc + ld a, [hl] + dec [hl] + ld e, a + and $1 + jr z, .asm_8d462 + ld hl, $4 + add hl, bc + ld a, [hl] + cp $78 + jr c, .asm_8d461 + call Function8d036 + ld a, $4 + ld [wcf64], a + ld de, SFX_PLACE_PUZZLE_PIECE_DOWN + call PlaySFX + ret +.asm_8d461 + inc [hl] +.asm_8d462 + ld a, e + ld d, $20 + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + ret + +.thirteen: ; 8d46e (23:546e) + callab ret_e00ed + ret + +.fifteen: ; 8d475 (23:5475) + callab Function90d41 + ret + +.fourteen: ; 8d47c (23:547c) + callab Functione21a1 + ret + +.sixteen: ; 8d483 (23:5483) + call .anonymous_jumptable + jp [hl] +; 8d487 (23:5487) + +; Anonymous jumptable (see .anonymous_jumptable) + dw .sixteen_zero + dw .sixteen_one + dw .sixteen_two + dw .sixteen_three + dw .sixteen_four + dw .sixteen_five +; 8d493 + +.sixteen_zero: ; 8d493 + ld a, $14 + call Function8d120 + ld hl, $b + add hl, bc + ld [hl], $2 + ld hl, $c + add hl, bc + ld [hl], $20 + ret +; 8d4a5 + +.sixteen_two: ; 8d4a5 + ld hl, $c + add hl, bc + ld a, [hl] + and a + jr z, .asm_8d4af + dec [hl] + ret + +.asm_8d4af + call .asm_8d6d8 + ld hl, $c + add hl, bc + ld [hl], $40 + +.sixteen_three: ; 8d4b8 + ld hl, $c + add hl, bc + ld a, [hl] + cp $30 + jr c, .asm_8d4cd + dec [hl] + ld d, $28 + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + ret + +.asm_8d4cd + ld de, SFX_GOT_SAFARI_BALLS + call PlaySFX + jr .sixteen_five +; 8d4d5 + +.sixteen_one: ; 8d4d5 + ld hl, $b + add hl, bc + ld [hl], $4 + ld hl, $c + add hl, bc + ld [hl], $30 + ld hl, $d + add hl, bc + ld [hl], $24 + ret +; 8d4e8 + +.sixteen_four: ; 8d4e8 + ld hl, $d + add hl, bc + ld a, [hl] + and a + jr z, .asm_8d51c + ld d, a + ld hl, $c + add hl, bc + ld a, [hl] + call ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + ld hl, $c + add hl, bc + inc [hl] + ld a, [hl] + and $3f + ret nz + ld hl, $c + add hl, bc + ld [hl], $20 + ld hl, $d + add hl, bc + ld a, [hl] + sub $c + ld [hl], a + ld de, SFX_SWITCH_POKEMON + call PlaySFX + ret + +.asm_8d51c + xor a + ld hl, $7 + add hl, bc + ld [hl], a + call .asm_8d6d8 + ret + +.sixteen_five: ; 8d526 + call Function8d036 + ret +; 8d52a + +.seventeen: ; 8d52a (23:552a) + ld hl, $4 + add hl, bc + ld a, [hl] +rept 2 + inc [hl] +endr + cp $b0 + jr nc, .asm_8d53f + and $3 + ret nz + ld de, SFX_POKEBALLS_PLACED_ON_TABLE + call PlaySFX + ret + +.asm_8d53f + call Function8d036 + ret + +.eighteen: ; 8d543 (23:5543) + callab Function29676 + ret + +.nineteen: ; 8d54a (23:554a) + ld hl, SpriteAnim1Sprite0c - SpriteAnim1 + add hl, bc + ld a, [hl] + cp $80 + jr nc, .finish_nineteen + ld d, a + add $8 + ld [hl], a + ld hl, SpriteAnim1Sprite0b - SpriteAnim1 + add hl, bc + ld a, [hl] + xor $20 + ld [hl], a + + push af + push de + call .ApplyYOffset + ld hl, SpriteAnim1YOffset - SpriteAnim1 + add hl, bc + ld [hl], a + + pop de + pop af + call .ApplyXOffset + ld hl, SpriteAnim1XOffset - SpriteAnim1 + add hl, bc + ld [hl], a + ret + +.finish_nineteen + call Function8d036 + ret + +.twenty: ; 8d578 (23:5578) + callab Function91640 + ret + +.twentyone: ; 8d57f (23:557f) + ld hl, $d + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $80 + add hl, de + ld e, l + ld d, h + ld hl, $d + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $c + add hl, bc + ld a, [hl] +rept 3 + inc [hl] +endr + push af + push de + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + pop de + pop af + call .ApplyXOffset + ld hl, $6 + add hl, bc + ld [hl], a + ret + +.twentytwo: ; 8d5b0 (23:55b0) + ld hl, $5 + add hl, bc + ld a, [hl] + and a + ret z + ld hl, $d + add hl, bc + ld a, [hl] + inc [hl] + cp $40 + ret c + ld hl, $5 + add hl, bc +rept 2 + dec [hl] +endr + ld hl, $f + add hl, bc + ld a, [hl] + ld d, a + cp $40 + jr nc, .asm_8d5d3 + add $8 + ld [hl], a +.asm_8d5d3 + ld hl, $e + add hl, bc + ld a, [hl] + inc [hl] + call .ApplyXOffset + ld hl, $6 + add hl, bc + ld [hl], a + ret + +.twentythree: ; 8d5e2 (23:55e2) + ld hl, $4 + add hl, bc + ld a, [hl] + cp $b8 + jr nc, .asm_8d603 +rept 2 + inc [hl] +endr + ld hl, $5 + add hl, bc + dec [hl] + ld d, $40 + ld hl, $c + add hl, bc + ld a, [hl] + inc [hl] + call .ApplyXOffset + ld hl, $6 + add hl, bc + ld [hl], a + ret +.asm_8d603 + call Function8d036 + ret + +.twentyfour: ; 8d607 (23:5607) + ld hl, $5 + add hl, bc + ld a, [hl] + cp $54 + ret z + ld hl, $5 + add hl, bc +rept 2 + inc [hl] +endr + ld hl, $f + add hl, bc + ld a, [hl] + ld d, a + and a + jr z, .asm_8d621 + sub $2 + ld [hl], a +.asm_8d621 + ld hl, $e + add hl, bc + ld a, [hl] + inc [hl] + call .ApplyXOffset + ld hl, $6 + add hl, bc + ld [hl], a + ret + +.twentyseven: ; 8d630 (23:5630) + callba Function108bc7 + ret + +.twentyeight: ; 8d637 (23:5637) + callba Function108be0 + ret + +.twentynine: ; 8d63e (23:563e) + ld a, [wcf65] + and a + jr nz, .asm_8d645 + ret +.asm_8d645 + ld hl, $7 + add hl, bc + ld [hl], $0 + ld hl, $d + add hl, bc + ld a, [hl] + add $2 + ld [hl], a + xor $ff + inc a + ld d, $20 + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + ld a, $36 + call Function8d120 + ret + +.thirty: ; 8d666 (23:5666) + ld hl, $c + add hl, bc + ld a, [hl] + cp $14 + jr nc, .asm_8d67f + add $2 + ld [hl], a + xor $ff + inc a + ld d, $20 + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a +.asm_8d67f + ret + +.thirtytwo: ; 8d680 (23:5680) + ld hl, $b + add hl, bc + ld d, [hl] +rept 3 + inc [hl] +endr + ld hl, $c + add hl, bc + ld a, [hl] + push af + push de + call .ApplyYOffset + ld hl, $7 + add hl, bc + ld [hl], a + pop de + pop af + call .ApplyXOffset + ld hl, $6 + add hl, bc + ld [hl], a + ret + +.thirtythree: ; 8d6a2 (23:56a2) + ld a, [wcf64] + cp $40 + ret nz + ld a, $3d + call Function8d120 + ret + +.thirtyfour: ; 8d6ae (23:56ae) + ld hl, $5 + add hl, bc + ld a, [hl] + add $10 + ld [hl], a + ret + +.twentysix: ; 8d6b7 (23:56b7) + callba Function11d0b6 + ret + +.thirtyone: ; 8d6be (23:56be) + callba Function49aa2 + ret + +.anonymous_jumptable: ; 8d6c5 (23:56c5) + ld hl, [sp+$0] + ld e, [hl] + inc hl + ld d, [hl] + inc de + ld hl, $b + add hl, bc + ld l, [hl] + ld h, $0 + add hl, hl + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret +; 8d6d8 (23:56d8) + +.asm_8d6d8: ; 8d6d8 + ld hl, $b + add hl, bc + inc [hl] + ret +; 8d6de + +.ApplyYOffset: ; 8d6de (23:56de) + call ApplyYOffset + ret + +.ApplyXOffset: ; 8d6e2 (23:56e2) + call ApplyXOffset + ret +; 8d6e6 (23:56e6) diff --git a/engine/sprites.asm b/engine/sprites.asm index 5c9ea69b8..3bcad90b3 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -1,6 +1,6 @@ -Function8cf53: ; 8cf53 - ld hl, wc300 - ld bc, wc3c1 - wc300 +ClearSpriteAnims: ; 8cf53 + ld hl, wSpriteAnimDict + ld bc, wSpriteAnimsEnd - wSpriteAnimDict .loop ld [hl], $0 inc hl @@ -46,7 +46,7 @@ DoNextFrameForAllSprites: ; 8cf7a ld b, h push hl push de - call Function8d24b ; Uses a massive jumptable + call DoAnimFrame ; Uses a massive jumptable call Function8d04c pop de pop hl @@ -74,7 +74,7 @@ DoNextFrameForAllSprites: ; 8cf7a ret ; 8cfa8 -Function8cfa8: ; 8cfa8 (23:4fa8) +DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8) ld hl, wSpriteAnimationStructs ld e, 10 @@ -86,7 +86,7 @@ Function8cfa8: ; 8cfa8 (23:4fa8) ld b, h push hl push de - call Function8d24b ; Uses a massive jumptable + call DoAnimFrame ; Uses a massive jumptable call Function8d04c pop de pop hl @@ -104,7 +104,7 @@ Function8cfa8: ; 8cfa8 (23:4fa8) .loop2 ; Clear (Sprites + [wc3b5] --> Sprites + $40) ld a, l - cp (Sprites + $40) % $100 + cp (Sprites + 16 * 4) % $100 jr nc, .done xor a ld [hli], a @@ -588,2262 +588,11 @@ Unknown_8d1c4: ; 8d1c4 db $40, SPRITE_ANIM_SEQ_00, $00 ; 2c ; 8d24b +INCLUDE "engine/sprite_anims.asm" ; DoAnimFrame -Function8d24b: ; 8d24b - ld hl, $2 ; field 2, see the second column in the above table - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, .Jumptable -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 8d25b - - -.Jumptable: ; 8d25b (23:525b) - dw .zero ; town map - dw .one ; bouncing mon icons - dw .two - dw .three - dw .four - dw .five - dw .six ; Game Freak logo - dw .seven - dw .eight - dw .nine - dw .ten - dw .eleven - dw .twelve ; blinking cursor - dw .thirteen - dw .fourteen - dw .fifteen - dw .sixteen - dw .seventeen - dw .eighteen - dw .nineteen ; finish egg hatching animation - dw .twenty - dw .twentyone - dw .twentytwo ; flying sprite - dw .twentythree ; flying leaves - dw .twentyfour - dw .twentyfive - dw .twentysix - dw .twentyseven - dw .twentyeight - dw .twentynine ; intro suicune - dw .thirty ; intro pichu wooper - dw .thirtyone - dw .thirtytwo ; intro unown - dw .thirtythree ; intro unown F with suicune leaping up - dw .thirtyfour ; intro suicune facing away from us - - -.zero: ; 8d2a1 (23:52a1) - ret - -.one: ; 8d2a2 (23:52a2) - ld a, [MenuSelection2] - ld hl, 0 - add hl, bc - cp [hl] - jr z, .two - ld hl, $4 - add hl, bc - ld [hl], $10 - ld hl, $7 - add hl, bc - ld [hl], $0 - ret - -.two: ; 8d2b9 (23:52b9) - ld hl, $4 - add hl, bc - ld [hl], $18 - ld hl, $c - add hl, bc - ld a, [hl] - ld d, a - inc [hl] - and $f - ret nz - ld hl, $d - add hl, bc - ld e, [hl] - ld hl, $7 - add hl, bc - ld a, d - and $10 ; bit 4 - jr z, .asm_8d2df - ld a, e - and a - jr z, .asm_8d2e6 - cp $1 - jr z, .asm_8d2e2 -.asm_8d2df - xor a - ld [hl], a - ret -.asm_8d2e2 - ld a, $ff - ld [hl], a - ret -.asm_8d2e6 - ld a, $fe - ld [hl], a - ret - -.three: ; 8d2ea (23:52ea) - ld a, [MenuSelection2] - ld hl, 0 - add hl, bc - cp [hl] - jr z, .asm_8d2fb - ld hl, $4 - add hl, bc - ld [hl], $10 - ret -.asm_8d2fb - ld hl, $4 - add hl, bc - ld [hl], $18 - ret - -.four: ; 8d302 (23:5302) - call .anonymous_jumptable - jp [hl] -; 8d306 (23:5306) - -; Anonymous jumptable (see .anonymous_jumptable) - dw .four_zero - dw .four_one -; 8d30a - -.four_zero: ; 8d30a - call .asm_8d6d8 - ld hl, 0 - add hl, bc - ld a, [hl] - ld hl, $d - add hl, bc - and $3 - ld [hl], a - inc [hl] - swap a - ld hl, $c - add hl, bc - ld [hl], a - -.four_one: ; 8d321 - ld hl, $4 - add hl, bc - ld a, [hl] - cp $a4 - jr nc, .asm_8d356 - ld hl, $d - add hl, bc - add $4 - ld hl, $4 - add hl, bc - ld [hl], a - ld hl, $5 - add hl, bc - inc [hl] - ld hl, $d - add hl, bc - ld a, [hl] - sla a - sla a - ld d, $2 - ld hl, $c - add hl, bc - ld a, [hl] - add $3 - ld [hl], a - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.asm_8d356 - call Function8d036 - ret -; 8d35a - -.twentyfive: ; 8d35a (23:535a) - ld hl, $c - add hl, bc - ld a, [hl] - inc a - ld [hl], a - ld d, $2 - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.five: ; 8d36c (23:536c) - callab Function11a3b - ret - -.twelve: ; 8d373 (23:5373) - callab Function120c1 - ret - -.six: ; 8d37a (23:537a) - callab GameFreakLogoJumper - ret - -.seven: ; 8d381 (23:5381) - ld hl, $c - add hl, bc - ld a, [hl] - and a - jr z, .asm_8d3ba -rept 2 - dec [hl] -endr - ld d, a - and $1f - jr nz, .asm_8d395 - ld hl, $d - add hl, bc - dec [hl] -.asm_8d395 - ld hl, $b - add hl, bc - ld a, [hl] - push af - push de - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call .ApplyXOffset - ld hl, $6 - add hl, bc - ld [hl], a - ld hl, $d - add hl, bc - ld a, [hl] - ld hl, $b - add hl, bc - add [hl] - ld [hl], a - ret -.asm_8d3ba - ld a, $1 - ld [wcf64], a - call Function8d036 - ret - -.eight: ; 8d3c3 (23:53c3) - ld hl, $c - add hl, bc - ld a, [hli] - or [hl] - jr z, .asm_8d41e - ld hl, $f - add hl, bc - ld d, [hl] - ld hl, $b - add hl, bc - ld a, [hl] - push af - push de - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call .ApplyXOffset - ld hl, $6 - add hl, bc - ld [hl], a - ld hl, $c - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $e - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, $e - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $c - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, -$10 - add hl, de - ld e, l - ld d, h - ld hl, $c - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $b - add hl, bc - ld a, [hl] - xor $20 - ld [hl], a - ret -.asm_8d41e - call Function8d036 - ret - -.nine: ; 8d422 (23:5422) - callab Function9321d - ret - -.ten: ; 8d429 (23:5429) - callab Function932ac - ld hl, wcf64 - ld a, [hl] - cp $2 - ret nz - ld [hl], $3 - ld a, $f - call Function8d120 - ret - -.eleven: ; 8d43e (23:543e) - ld hl, $b - add hl, bc - ld a, [hl] - dec [hl] - ld e, a - and $1 - jr z, .asm_8d462 - ld hl, $4 - add hl, bc - ld a, [hl] - cp $78 - jr c, .asm_8d461 - call Function8d036 - ld a, $4 - ld [wcf64], a - ld de, SFX_PLACE_PUZZLE_PIECE_DOWN - call PlaySFX - ret -.asm_8d461 - inc [hl] -.asm_8d462 - ld a, e - ld d, $20 - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.thirteen: ; 8d46e (23:546e) - callab ret_e00ed - ret - -.fifteen: ; 8d475 (23:5475) - callab Function90d41 - ret - -.fourteen: ; 8d47c (23:547c) - callab Functione21a1 - ret - -.sixteen: ; 8d483 (23:5483) - call .anonymous_jumptable - jp [hl] -; 8d487 (23:5487) - -; Anonymous jumptable (see .anonymous_jumptable) - dw .sixteen_zero - dw .sixteen_one - dw .sixteen_two - dw .sixteen_three - dw .sixteen_four - dw .sixteen_five -; 8d493 - -.sixteen_zero: ; 8d493 - ld a, $14 - call Function8d120 - ld hl, $b - add hl, bc - ld [hl], $2 - ld hl, $c - add hl, bc - ld [hl], $20 - ret -; 8d4a5 - -.sixteen_two: ; 8d4a5 - ld hl, $c - add hl, bc - ld a, [hl] - and a - jr z, .asm_8d4af - dec [hl] - ret - -.asm_8d4af - call .asm_8d6d8 - ld hl, $c - add hl, bc - ld [hl], $40 - -.sixteen_three: ; 8d4b8 - ld hl, $c - add hl, bc - ld a, [hl] - cp $30 - jr c, .asm_8d4cd - dec [hl] - ld d, $28 - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.asm_8d4cd - ld de, SFX_GOT_SAFARI_BALLS - call PlaySFX - jr .sixteen_five -; 8d4d5 - -.sixteen_one: ; 8d4d5 - ld hl, $b - add hl, bc - ld [hl], $4 - ld hl, $c - add hl, bc - ld [hl], $30 - ld hl, $d - add hl, bc - ld [hl], $24 - ret -; 8d4e8 - -.sixteen_four: ; 8d4e8 - ld hl, $d - add hl, bc - ld a, [hl] - and a - jr z, .asm_8d51c - ld d, a - ld hl, $c - add hl, bc - ld a, [hl] - call ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - ld hl, $c - add hl, bc - inc [hl] - ld a, [hl] - and $3f - ret nz - ld hl, $c - add hl, bc - ld [hl], $20 - ld hl, $d - add hl, bc - ld a, [hl] - sub $c - ld [hl], a - ld de, SFX_SWITCH_POKEMON - call PlaySFX - ret - -.asm_8d51c - xor a - ld hl, $7 - add hl, bc - ld [hl], a - call .asm_8d6d8 - ret - -.sixteen_five: ; 8d526 - call Function8d036 - ret -; 8d52a - -.seventeen: ; 8d52a (23:552a) - ld hl, $4 - add hl, bc - ld a, [hl] -rept 2 - inc [hl] -endr - cp $b0 - jr nc, .asm_8d53f - and $3 - ret nz - ld de, SFX_POKEBALLS_PLACED_ON_TABLE - call PlaySFX - ret - -.asm_8d53f - call Function8d036 - ret - -.eighteen: ; 8d543 (23:5543) - callab Function29676 - ret - -.nineteen: ; 8d54a (23:554a) - ld hl, SpriteAnim1Sprite0c - SpriteAnim1 - add hl, bc - ld a, [hl] - cp $80 - jr nc, .finish_nineteen - ld d, a - add $8 - ld [hl], a - ld hl, SpriteAnim1Sprite0b - SpriteAnim1 - add hl, bc - ld a, [hl] - xor $20 - ld [hl], a - - push af - push de - call .ApplyYOffset - ld hl, SpriteAnim1YOffset - SpriteAnim1 - add hl, bc - ld [hl], a - - pop de - pop af - call .ApplyXOffset - ld hl, SpriteAnim1XOffset - SpriteAnim1 - add hl, bc - ld [hl], a - ret - -.finish_nineteen - call Function8d036 - ret - -.twenty: ; 8d578 (23:5578) - callab Function91640 - ret - -.twentyone: ; 8d57f (23:557f) - ld hl, $d - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $80 - add hl, de - ld e, l - ld d, h - ld hl, $d - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $c - add hl, bc - ld a, [hl] -rept 3 - inc [hl] -endr - push af - push de - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call .ApplyXOffset - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.twentytwo: ; 8d5b0 (23:55b0) - ld hl, $5 - add hl, bc - ld a, [hl] - and a - ret z - ld hl, $d - add hl, bc - ld a, [hl] - inc [hl] - cp $40 - ret c - ld hl, $5 - add hl, bc -rept 2 - dec [hl] -endr - ld hl, $f - add hl, bc - ld a, [hl] - ld d, a - cp $40 - jr nc, .asm_8d5d3 - add $8 - ld [hl], a -.asm_8d5d3 - ld hl, $e - add hl, bc - ld a, [hl] - inc [hl] - call .ApplyXOffset - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.twentythree: ; 8d5e2 (23:55e2) - ld hl, $4 - add hl, bc - ld a, [hl] - cp $b8 - jr nc, .asm_8d603 -rept 2 - inc [hl] -endr - ld hl, $5 - add hl, bc - dec [hl] - ld d, $40 - ld hl, $c - add hl, bc - ld a, [hl] - inc [hl] - call .ApplyXOffset - ld hl, $6 - add hl, bc - ld [hl], a - ret -.asm_8d603 - call Function8d036 - ret - -.twentyfour: ; 8d607 (23:5607) - ld hl, $5 - add hl, bc - ld a, [hl] - cp $54 - ret z - ld hl, $5 - add hl, bc -rept 2 - inc [hl] -endr - ld hl, $f - add hl, bc - ld a, [hl] - ld d, a - and a - jr z, .asm_8d621 - sub $2 - ld [hl], a -.asm_8d621 - ld hl, $e - add hl, bc - ld a, [hl] - inc [hl] - call .ApplyXOffset - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.twentyseven: ; 8d630 (23:5630) - callba Function108bc7 - ret - -.twentyeight: ; 8d637 (23:5637) - callba Function108be0 - ret - -.twentynine: ; 8d63e (23:563e) - ld a, [wcf65] - and a - jr nz, .asm_8d645 - ret -.asm_8d645 - ld hl, $7 - add hl, bc - ld [hl], $0 - ld hl, $d - add hl, bc - ld a, [hl] - add $2 - ld [hl], a - xor $ff - inc a - ld d, $20 - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - ld a, $36 - call Function8d120 - ret - -.thirty: ; 8d666 (23:5666) - ld hl, $c - add hl, bc - ld a, [hl] - cp $14 - jr nc, .asm_8d67f - add $2 - ld [hl], a - xor $ff - inc a - ld d, $20 - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a -.asm_8d67f - ret - -.thirtytwo: ; 8d680 (23:5680) - ld hl, $b - add hl, bc - ld d, [hl] -rept 3 - inc [hl] -endr - ld hl, $c - add hl, bc - ld a, [hl] - push af - push de - call .ApplyYOffset - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call .ApplyXOffset - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.thirtythree: ; 8d6a2 (23:56a2) - ld a, [wcf64] - cp $40 - ret nz - ld a, $3d - call Function8d120 - ret - -.thirtyfour: ; 8d6ae (23:56ae) - ld hl, $5 - add hl, bc - ld a, [hl] - add $10 - ld [hl], a - ret - -.twentysix: ; 8d6b7 (23:56b7) - callba Function11d0b6 - ret - -.thirtyone: ; 8d6be (23:56be) - callba Function49aa2 - ret - -.anonymous_jumptable: ; 8d6c5 (23:56c5) - ld hl, [sp+$0] - ld e, [hl] - inc hl - ld d, [hl] - inc de - ld hl, $b - add hl, bc - ld l, [hl] - ld h, $0 - add hl, hl - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 8d6d8 (23:56d8) - -.asm_8d6d8: ; 8d6d8 - ld hl, $b - add hl, bc - inc [hl] - ret -; 8d6de - -.ApplyYOffset: ; 8d6de (23:56de) - call ApplyYOffset - ret - -.ApplyXOffset: ; 8d6e2 (23:56e2) - call ApplyXOffset - ret -; 8d6e6 (23:56e6) - -Unknown_8d6e6: ; 8d6e6 - dw Unknown_8d76a ; 00 - dw Unknown_8d76d ; 01 - dw Unknown_8d772 ; 02 - dw Unknown_8d777 ; 03 - dw Unknown_8d77c ; 04 - dw Unknown_8d781 ; 05 - dw Unknown_8d786 ; 06 - dw Unknown_8d7a6 ; 07 - dw Unknown_8d7ab ; 08 - dw Unknown_8d7b0 ; 09 - dw Unknown_8d7b5 ; 0a - dw Unknown_8d7d4 ; 0b - dw Unknown_8d7d9 ; 0c - dw Unknown_8d7e2 ; 0d - dw Unknown_8d7eb ; 0e - dw Unknown_8d7f4 ; 0f - dw Unknown_8d7ff ; 10 - dw Unknown_8d78b ; 11 - dw Unknown_8d802 ; 12 - dw Unknown_8d805 ; 13 - dw Unknown_8d808 ; 14 - dw Unknown_8d811 ; 15 - dw Unknown_8d818 ; 16 - dw Unknown_8d81d ; 17 - dw Unknown_8d822 ; 18 - dw Unknown_8d825 ; 19 - dw Unknown_8d82c ; 1a - dw Unknown_8d82f ; 1b - dw Unknown_8d861 ; 1c - dw Unknown_8d864 ; 1d - dw Unknown_8d867 ; 1e - dw Unknown_8d874 ; 1f - dw Unknown_8d877 ; 20 - dw Unknown_8d87a ; 21 - dw Unknown_8d87d ; 22 - dw Unknown_8d880 ; 23 - dw Unknown_8d883 ; 24 - dw Unknown_8d890 ; 25 - dw Unknown_8d899 ; 26 - dw Unknown_8d89c ; 27 - dw Unknown_8d89f ; 28 - dw Unknown_8d8a2 ; 29 - dw Unknown_8d8a5 ; 2a - dw Unknown_8d8a8 ; 2b - dw Unknown_8d8ab ; 2c - dw Unknown_8d794 ; 2d - dw Unknown_8d79d ; 2e - dw Unknown_8d8ae ; 2f - dw Unknown_8d8cd ; 30 - dw Unknown_8d8ec ; 31 - dw Unknown_8d8f1 ; 32 - dw Unknown_8d8f4 ; 33 - dw Unknown_8d8f7 ; 34 - dw Unknown_8d8fe ; 35 - dw Unknown_8d907 ; 36 - dw Unknown_8d90c ; 37 - dw Unknown_8d913 ; 38 - dw Unknown_8d916 ; 39 - dw Unknown_8d91d ; 3a - dw Unknown_8d924 ; 3b - dw Unknown_8d92b ; 3c - dw Unknown_8d932 ; 3d - dw Unknown_8d93d ; 3e - dw Unknown_8d940 ; 3f - dw Unknown_8d943 ; 40 - dw Unknown_8d948 ; 41 -; 8d76a - -Unknown_8d76a: dw $2000 - db -1 -Unknown_8d76d: dw $0800, $0801 - db -2 -Unknown_8d772: dw $083d, $083e - db -2 -Unknown_8d777: dw $083f, $0840 - db -2 -Unknown_8d77c: dw $0400, $0401 - db -2 -Unknown_8d781: dw $043d, $043e - db -2 -Unknown_8d786: dw $043f, $0440 - db -2 -Unknown_8d78b: dw $0800, $0801, $0800, $4801 - db -2 -Unknown_8d794: dw $0863, $0864, $0863, $4864 - db -2 -Unknown_8d79d: dw $0865, $0866, $0865, $4866 - db -2 -Unknown_8d7a6: dw $011e, $011f - db -2 -Unknown_8d7ab: dw $0120, $01fd - db -2 -Unknown_8d7b0: dw $0121, $01fd - db -2 -Unknown_8d7b5: dw $0c81, $0182, $0183, $0482, $0c81, $0c82, $0483, $2084, $0385, $0386, $0487, $0488, $0489, $0a8a, $078b - db -1 -Unknown_8d7d4: dw $0323, $8323 - db -2 -Unknown_8d7d9: dw $0224, $0225, $0226, $0225 - db -2 -Unknown_8d7e2: dw $0727, $0728, $8727, $4728 - db -2 -Unknown_8d7eb: dw $0729, $072a, $0729, $072b - db -2 -Unknown_8d7f4: dw $0729, $072c, $072d, $072c, $0729 - db -1 -Unknown_8d7ff: dw $142e - db -1 -Unknown_8d802: dw $202f - db -1 -Unknown_8d805: dw $2030 - db -1 -Unknown_8d808: dw $0330, $0331, $0330, $4331 - db -2 -Unknown_8d811: dw $0432, $0433, $0434 - db -4 -Unknown_8d818: dw $0335, $0336 - db -2 -Unknown_8d81d: dw $0737, $0738 - db -2 -Unknown_8d822: dw $2039 - db -1 -Unknown_8d825: dw $023b, $023a, $023b - db -1 -Unknown_8d82c: dw $203c - db -1 -Unknown_8d82f: dw $0841, $0842, $0841, $4842 - db -2 - dw $0843, $0844 - db -2 - dw $0845, $0846 - db -2 - dw $0847, $0848 - db -2 - dw $0149, $4149, $c149, $8149 - db -2 - dw $204a - db -1 - dw $204b - db -1 - dw $204c - db -1 - dw $204d - db -1 - dw $034e, $03fd - db -2 -Unknown_8d861: dw $20fd - db -1 -Unknown_8d864: dw $204f - db -1 -Unknown_8d867: dw $0250, $1051, $01fd, $0152, $01fd, $0153 - db -4 -Unknown_8d874: dw $2054 - db -1 -Unknown_8d877: dw $2055 - db -1 -Unknown_8d87a: dw $6055 - db -1 -Unknown_8d87d: dw $a055 - db -1 -Unknown_8d880: dw $e055 - db -1 -Unknown_8d883: dw $0a56, $0957, $0a58, $0a59, $0958, $0a5a - db -2 -Unknown_8d890: dw $0250, $025b, $0250, $425b - db -2 -Unknown_8d899: dw $025c - db -1 -Unknown_8d89c: dw $025d - db -1 -Unknown_8d89f: dw $025e - db -1 -Unknown_8d8a2: dw $025f - db -1 -Unknown_8d8a5: dw $0260 - db -1 -Unknown_8d8a8: dw $0261 - db -1 -Unknown_8d8ab: dw $0262 - db -1 -Unknown_8d8ae: dw $0332, $0333, $0334, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331 - db -1 -Unknown_8d8cd: dw $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0332, $0333, $0334 - db -4 -Unknown_8d8ec: dw $0367, $0368 - db -2 -Unknown_8d8f1: dw $036c - db -1 -Unknown_8d8f4: dw $036d - db -1 -Unknown_8d8f7: dw $0269, $026a, $026b - db -4 -Unknown_8d8fe: dw $036e, $036f, $0370, $0371 - db -2 -Unknown_8d907: dw $0371, $076e - db -1 -Unknown_8d90c: dw $2072, $0773, $0774 - db -1 -Unknown_8d913: dw $0375 - db -1 -Unknown_8d916: dw $0376, $0377, $0778 - db -4 -Unknown_8d91d: dw $4376, $4377, $4778 - db -4 -Unknown_8d924: dw $8376, $8377, $8778 - db -4 -Unknown_8d92b: dw $c376, $c377, $c778 - db -4 -Unknown_8d932: dw $0379, $037a, $037b, $077c, $077d - db -1 -Unknown_8d93d: dw $037e - db -1 -Unknown_8d940: dw $00fd - db -1 -Unknown_8d943: dw $087f, $0880 - db -1 -Unknown_8d948: dw $487f, $4880 - db -1 -; 8d94d - -Unknown_8d94d: ; 8d94d - dbw $00, Unknown_8dd8a ; 00 - dbw $04, Unknown_8dd8a ; 01 - dbw $4c, Unknown_8daf1 ; 02 - dbw $5c, Unknown_8daf1 ; 03 - dbw $6c, Unknown_8daf6 ; 04 - dbw $6e, Unknown_8daf6 ; 05 - dbw $2d, Unknown_8ddf0 ; 06 - dbw $4d, Unknown_8ddf0 ; 07 - dbw $60, Unknown_8de09 ; 08 - dbw $00, Unknown_8de09 ; 09 - dbw $00, Unknown_8de09 ; 0a - dbw $06, Unknown_8de09 ; 0b - dbw $0c, Unknown_8de7e ; 0c - dbw $0d, Unknown_8daf1 ; 0d - dbw $00, Unknown_8dc53 ; 0e - dbw $04, Unknown_8dc53 ; 0f - dbw $08, Unknown_8dc53 ; 10 - dbw $40, Unknown_8dc53 ; 11 - dbw $44, Unknown_8dc53 ; 12 - dbw $48, Unknown_8dc53 ; 13 - dbw $4c, Unknown_8dc53 ; 14 - dbw $80, Unknown_8de87 ; 15 - dbw $85, Unknown_8de87 ; 16 - dbw $8a, Unknown_8de87 ; 17 - dbw $00, Unknown_8db29 ; 18 - dbw $01, Unknown_8db5c ; 19 - dbw $09, Unknown_8db9d ; 1a - dbw $10, Unknown_8dc94 ; 1b - dbw $29, Unknown_8dc94 ; 1c - dbw $42, Unknown_8dc94 ; 1d - dbw $f8, Unknown_8e17e ; 1e - dbw $fa, Unknown_8e17e ; 1f - dbw $00, Unknown_8deb2 ; 20 - dbw $00, Unknown_8dec3 ; 21 - dbw $00, Unknown_8deec ; 22 - dbw $0f, Unknown_8db07 ; 23 - dbw $11, Unknown_8daf1 ; 24 - dbw $12, Unknown_8daf1 ; 25 - dbw $13, Unknown_8daf1 ; 26 - dbw $00, Unknown_8df29 ; 27 - dbw $08, Unknown_8df29 ; 28 - dbw $10, Unknown_8df42 ; 29 - dbw $10, Unknown_8df5b ; 2a - dbw $10, Unknown_8df74 ; 2b - dbw $10, Unknown_8df8d ; 2c - dbw $10, Unknown_8dfa6 ; 2d - dbw $3a, Unknown_8daf1 ; 2e - dbw $00, Unknown_8dd8a ; 2f - dbw $00, Unknown_8db18 ; 30 - dbw $02, Unknown_8dd9b ; 31 - dbw $06, Unknown_8db5c ; 32 - dbw $0a, Unknown_8db5c ; 33 - dbw $0e, Unknown_8db5c ; 34 - dbw $12, Unknown_8db3a ; 35 - dbw $13, Unknown_8db3a ; 36 - dbw $00, Unknown_8dd8a ; 37 - dbw $04, Unknown_8dd8a ; 38 - dbw $10, Unknown_8db5c ; 39 - dbw $00, Unknown_8dd9b ; 3a - dbw $04, Unknown_8daf1 ; 3b - dbw $00, Unknown_8dfbf ; 3c - dbw $00, Unknown_8ddac ; 3d - dbw $00, Unknown_8ddbd ; 3e - dbw $00, Unknown_8ddce ; 3f - dbw $00, Unknown_8dddf ; 40 - dbw $00, Unknown_8dd9b ; 41 - dbw $04, Unknown_8dd9b ; 42 - dbw $00, Unknown_8dc2e ; 43 - dbw $30, Unknown_8dc2e ; 44 - dbw $03, Unknown_8dc2e ; 45 - dbw $33, Unknown_8dc2e ; 46 - dbw $06, Unknown_8dc2e ; 47 - dbw $36, Unknown_8dc2e ; 48 - dbw $09, Unknown_8dc2e ; 49 - dbw $39, Unknown_8dc2e ; 4a - dbw $0c, Unknown_8dfcc ; 4b - dbw $0c, Unknown_8dfe5 ; 4c - dbw $3c, Unknown_8daf1 ; 4d - dbw $3e, Unknown_8daf1 ; 4e - dbw $00, Unknown_8de9c ; 4f - dbw $00, Unknown_8dea1 ; 50 - dbw $00, Unknown_8dff6 ; 51 - dbw $00, Unknown_8e007 ; 52 - dbw $00, Unknown_8e018 ; 53 - dbw $00, Unknown_8daf1 ; 54 - dbw $01, Unknown_8daf1 ; 55 - dbw $00, Unknown_8e029 ; 56 - dbw $00, Unknown_8e076 ; 57 - dbw $00, Unknown_8e0b7 ; 58 - dbw $00, Unknown_8e0f4 ; 59 - dbw $00, Unknown_8e139 ; 5a - dbw $04, Unknown_8dea1 ; 5b - dbw $00, Unknown_8e183 ; 5c - dbw $00, Unknown_8e1b4 ; 5d - dbw $00, Unknown_8e1b9 ; 5e - dbw $00, Unknown_8e1ca ; 5f - dbw $00, Unknown_8e1eb ; 60 - dbw $00, Unknown_8e1f0 ; 61 - dbw $00, Unknown_8e1f9 ; 62 - dbw $00, Unknown_8e202 ; 63 - dbw $04, Unknown_8e202 ; 64 - dbw $00, Unknown_8e213 ; 65 - dbw $04, Unknown_8e213 ; 66 - dbw $20, Unknown_8e224 ; 67 - dbw $21, Unknown_8e224 ; 68 - dbw $22, Unknown_8e24b ; 69 - dbw $23, Unknown_8e25c ; 6a - dbw $27, Unknown_8e27d ; 6b - dbw $2a, Unknown_8e229 ; 6c - dbw $2a, Unknown_8e23a ; 6d - dbw $00, Unknown_8e2ae ; 6e - dbw $08, Unknown_8e33f ; 6f - dbw $60, Unknown_8e3b0 ; 70 - dbw $68, Unknown_8e429 ; 71 - dbw $00, Unknown_8e4a6 ; 72 - dbw $05, Unknown_8e4a6 ; 73 - dbw $0a, Unknown_8e4a6 ; 74 - dbw $50, Unknown_8e50b ; 75 - dbw $00, Unknown_8e54c ; 76 - dbw $01, Unknown_8e551 ; 77 - dbw $04, Unknown_8e55e ; 78 - dbw $00, Unknown_8db29 ; 79 - dbw $01, Unknown_8e57b ; 7a - dbw $03, Unknown_8e59c ; 7b - dbw $08, Unknown_8e5cd ; 7c - dbw $1c, Unknown_8e5cd ; 7d - dbw $80, Unknown_8e61e ; 7e - dbw $00, Unknown_8e66f ; 7f - dbw $04, Unknown_8e66f ; 80 - dbw $d0, Unknown_8e680 ; 81 - dbw $d3, Unknown_8e680 ; 82 - dbw $d6, Unknown_8e680 ; 83 - dbw $6c, Unknown_8e6a5 ; 84 - dbw $68, Unknown_8e6a5 ; 85 - dbw $64, Unknown_8e6a5 ; 86 - dbw $60, Unknown_8e6a5 ; 87 - dbw $0c, Unknown_8e6a5 ; 88 - dbw $08, Unknown_8e6a5 ; 89 - dbw $04, Unknown_8e6a5 ; 8a - dbw $00, Unknown_8e6a5 ; 8b -; 8daf1 - - -Unknown_8daf1: ; 8daf1 - db 1 - db $fc, $fc, $00, $00 -; 8daf6 - -Unknown_8daf6: ; 8daf6 - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $10, $00 - db $00, $00, $11, $00 -; 8db07 - -Unknown_8db07: ; 8db07 - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $00, $20 - db $00, $f8, $01, $00 - db $00, $00, $01, $20 -; 8db18 - -Unknown_8db18: ; 8db18 - db 4 - db $f8, $f8, $00, $80 - db $f8, $00, $00, $a0 - db $00, $f8, $01, $80 - db $00, $00, $01, $a0 -; 8db29 - -Unknown_8db29: ; 8db29 - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $00, $20 - db $00, $f8, $00, $40 - db $00, $00, $00, $60 -; 8db3a - -Unknown_8db3a: ; 8db3a - db 4 - db $f8, $f8, $00, $07 - db $f8, $00, $00, $27 - db $00, $f8, $00, $47 - db $00, $00, $00, $67 -; 8db4b - -; 8db4b - db 4 - db $f8, $f8, $00, $80 - db $f8, $00, $00, $a0 - db $00, $f8, $00, $c0 - db $00, $00, $00, $e0 -; 8db5c - -Unknown_8db5c: ; 8db5c - db 16 - db $f0, $f0, $00, $00 - db $f0, $f8, $01, $00 - db $f8, $f0, $02, $00 - db $f8, $f8, $03, $00 - db $f0, $00, $01, $20 - db $f0, $08, $00, $20 - db $f8, $00, $03, $20 - db $f8, $08, $02, $20 - db $00, $f0, $02, $40 - db $00, $f8, $03, $40 - db $08, $f0, $00, $40 - db $08, $f8, $01, $40 - db $00, $00, $03, $60 - db $00, $08, $02, $60 - db $08, $00, $01, $60 - db $08, $08, $00, $60 -; 8db9d - -Unknown_8db9d: ; 8db9d - db 36 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $f0, $e8, $03, $00 - db $f0, $f0, $04, $00 - db $f0, $f8, $05, $00 - db $f8, $e8, $06, $00 - db $f8, $f0, $05, $00 - db $f8, $f8, $05, $00 - db $e8, $00, $02, $20 - db $e8, $08, $01, $20 - db $e8, $10, $00, $20 - db $f0, $00, $05, $20 - db $f0, $08, $04, $20 - db $f0, $10, $03, $20 - db $f8, $00, $05, $20 - db $f8, $08, $05, $20 - db $f8, $10, $06, $20 - db $00, $e8, $06, $40 - db $00, $f0, $05, $40 - db $00, $f8, $05, $40 - db $08, $e8, $03, $40 - db $08, $f0, $04, $40 - db $08, $f8, $05, $40 - db $10, $e8, $00, $40 - db $10, $f0, $01, $40 - db $10, $f8, $02, $40 - db $00, $00, $05, $60 - db $00, $08, $05, $60 - db $00, $10, $06, $60 - db $08, $00, $05, $60 - db $08, $08, $04, $60 - db $08, $10, $03, $60 - db $10, $00, $02, $60 - db $10, $08, $01, $60 - db $10, $10, $00, $60 -; 8dc2e - -Unknown_8dc2e: ; 8dc2e - db 9 - db $f4, $f4, $00, $00 - db $f4, $fc, $01, $00 - db $f4, $04, $02, $00 - db $fc, $f4, $10, $00 - db $fc, $fc, $11, $00 - db $fc, $04, $12, $00 - db $04, $f4, $20, $00 - db $04, $fc, $21, $00 - db $04, $04, $22, $00 -; 8dc53 - -Unknown_8dc53: ; 8dc53 - db 16 - db $f0, $f0, $00, $00 - db $f0, $f8, $01, $00 - db $f0, $00, $02, $00 - db $f0, $08, $03, $00 - db $f8, $f0, $10, $00 - db $f8, $f8, $11, $00 - db $f8, $00, $12, $00 - db $f8, $08, $13, $00 - db $00, $f0, $20, $00 - db $00, $f8, $21, $00 - db $00, $00, $22, $00 - db $00, $08, $23, $00 - db $08, $f0, $30, $00 - db $08, $f8, $31, $00 - db $08, $00, $32, $00 - db $08, $08, $33, $00 -; 8dc94 - -Unknown_8dc94: ; 8dc94 - db 25 - db $ec, $ec, $00, $00 - db $f4, $ec, $01, $00 - db $fc, $ec, $02, $00 - db $04, $ec, $03, $00 - db $0c, $ec, $04, $00 - db $ec, $f4, $05, $00 - db $f4, $f4, $06, $00 - db $fc, $f4, $07, $00 - db $04, $f4, $08, $00 - db $0c, $f4, $09, $00 - db $ec, $fc, $0a, $00 - db $f4, $fc, $0b, $00 - db $fc, $fc, $0c, $00 - db $04, $fc, $0d, $00 - db $0c, $fc, $0e, $00 - db $ec, $04, $0f, $00 - db $f4, $04, $10, $00 - db $fc, $04, $11, $00 - db $04, $04, $12, $00 - db $0c, $04, $13, $00 - db $ec, $0c, $14, $00 - db $f4, $0c, $15, $00 - db $fc, $0c, $16, $00 - db $04, $0c, $17, $00 - db $0c, $0c, $18, $00 -; 8dcf9 - -; 8dcf9 - db 36 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $e8, $00, $03, $00 - db $e8, $08, $04, $00 - db $e8, $10, $05, $00 - db $f0, $e8, $06, $00 - db $f0, $f0, $07, $00 - db $f0, $f8, $08, $00 - db $f0, $00, $09, $00 - db $f0, $08, $0a, $00 - db $f0, $10, $0b, $00 - db $f8, $e8, $0c, $00 - db $f8, $f0, $0d, $00 - db $f8, $f8, $0e, $00 - db $f8, $00, $0f, $00 - db $f8, $08, $10, $00 - db $f8, $10, $11, $00 - db $00, $e8, $12, $00 - db $00, $f0, $13, $00 - db $00, $f8, $14, $00 - db $00, $00, $15, $00 - db $00, $08, $16, $00 - db $00, $10, $17, $00 - db $08, $e8, $18, $00 - db $08, $f0, $19, $00 - db $08, $f8, $1a, $00 - db $08, $00, $1b, $00 - db $08, $08, $1c, $00 - db $08, $10, $1d, $00 - db $10, $e8, $1e, $00 - db $10, $f0, $1f, $00 - db $10, $f8, $20, $00 - db $10, $00, $21, $00 - db $10, $08, $22, $00 - db $10, $10, $23, $00 -; 8dd8a - -Unknown_8dd8a: ; 8dd8a - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $02, $00 - db $00, $00, $03, $00 -; 8dd9b - -Unknown_8dd9b: ; 8dd9b - db 4 - db $f8, $f8, $00, $80 - db $f8, $00, $01, $80 - db $00, $f8, $02, $80 - db $00, $00, $03, $80 -; 8ddac - -Unknown_8ddac: ; 8ddac - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $08, $00 - db $00, $00, $03, $00 -; 8ddbd - -Unknown_8ddbd: ; 8ddbd - db 4 - db $f8, $f8, $04, $00 - db $f8, $00, $05, $00 - db $00, $f8, $08, $00 - db $00, $00, $07, $00 -; 8ddce - -Unknown_8ddce: ; 8ddce - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $09, $00 - db $00, $00, $03, $00 -; 8dddf - -Unknown_8dddf: ; 8dddf - db 4 - db $f8, $f8, $04, $00 - db $f8, $00, $05, $00 - db $00, $f8, $09, $00 - db $00, $00, $07, $00 -; 8ddf0 - -Unknown_8ddf0: ; 8ddf0 - db 6 - db $f8, $f4, $00, $01 - db $f8, $fc, $01, $01 - db $f8, $04, $02, $01 - db $00, $f4, $10, $01 - db $00, $fc, $11, $01 - db $00, $04, $12, $01 -; 8de09 - -Unknown_8de09: ; 8de09 - db 29 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $e8, $00, $03, $00 - db $f0, $e8, $10, $00 - db $f0, $f0, $11, $00 - db $f0, $f8, $12, $00 - db $f0, $00, $13, $00 - db $f8, $e8, $20, $00 - db $f8, $f0, $21, $00 - db $f8, $f8, $22, $00 - db $f8, $00, $23, $00 - db $f8, $08, $24, $00 - db $00, $e8, $30, $80 - db $00, $f0, $31, $80 - db $00, $f8, $32, $80 - db $00, $00, $33, $80 - db $00, $08, $34, $80 - db $08, $e8, $40, $80 - db $08, $f0, $41, $80 - db $08, $f8, $42, $80 - db $08, $00, $43, $80 - db $08, $08, $44, $80 - db $08, $10, $45, $80 - db $10, $f0, $51, $80 - db $10, $f8, $52, $80 - db $10, $00, $53, $80 - db $10, $08, $54, $80 - db $10, $10, $55, $80 -; 8de7e - -Unknown_8de7e: ; 8de7e - db 2 - db $f8, $fc, $00, $00 - db $00, $fc, $10, $00 -; 8de87 - -Unknown_8de87: ; 8de87 - db 5 - db $f0, $18, $00, $00 - db $f0, $20, $01, $00 - db $f8, $10, $02, $00 - db $f8, $18, $03, $00 - db $00, $10, $04, $00 -; 8de9c - -Unknown_8de9c: ; 8de9c - db 1 - db $fc, $fc, $00, $06 -; 8dea1 - -Unknown_8dea1: ; 8dea1 - db 4 - db $f8, $f8, $00, $06 - db $f8, $00, $01, $06 - db $00, $f8, $02, $06 - db $00, $00, $03, $06 -; 8deb2 - -Unknown_8deb2: ; 8deb2 - db 4 - db $ff, $ff, $00, $00 - db $ff, $00, $00, $20 - db $00, $ff, $00, $40 - db $00, $00, $00, $60 -; 8dec3 - -Unknown_8dec3: ; 8dec3 - db 10 - db $ff, $00, $00, $00 - db $ff, $08, $01, $00 - db $ff, $10, $01, $00 - db $ff, $18, $01, $00 - db $ff, $20, $00, $20 - db $00, $00, $00, $40 - db $00, $08, $01, $40 - db $00, $10, $01, $40 - db $00, $18, $01, $40 - db $00, $20, $00, $60 -; 8deec - -Unknown_8deec: ; 8deec - db 15 - db $ec, $f4, $00, $11 - db $ec, $fc, $01, $11 - db $ec, $04, $02, $11 - db $f4, $f4, $03, $11 - db $f4, $fc, $04, $11 - db $f4, $04, $05, $11 - db $fc, $f4, $06, $11 - db $fc, $fc, $07, $11 - db $fc, $04, $08, $11 - db $04, $f4, $09, $11 - db $04, $fc, $0a, $11 - db $04, $04, $0b, $11 - db $0c, $f4, $0c, $11 - db $0c, $fc, $0d, $11 - db $0c, $04, $0e, $11 -; 8df29 - -Unknown_8df29: ; 8df29 - db 6 - db $f4, $f4, $00, $15 - db $f4, $fc, $02, $15 - db $f4, $04, $00, $35 - db $04, $f4, $04, $15 - db $04, $fc, $06, $15 - db $04, $04, $04, $35 -; 8df42 - -Unknown_8df42: ; 8df42 - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $06, $16 - db $04, $fc, $08, $16 - db $04, $04, $0a, $16 -; 8df5b - -Unknown_8df5b: ; 8df5b - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $0c, $16 - db $04, $fc, $0e, $16 - db $04, $04, $10, $16 -; 8df74 - -Unknown_8df74: ; 8df74 - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $12, $16 - db $04, $fc, $14, $16 - db $04, $04, $16, $16 -; 8df8d - -Unknown_8df8d: ; 8df8d - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $18, $16 - db $04, $fc, $1a, $16 - db $04, $04, $1c, $16 -; 8dfa6 - -Unknown_8dfa6: ; 8dfa6 - db 6 - db $f4, $f4, $1e, $16 - db $f4, $fc, $20, $16 - db $f4, $04, $22, $16 - db $04, $f4, $24, $16 - db $04, $fc, $26, $16 - db $04, $04, $28, $16 -; 8dfbf - -Unknown_8dfbf: ; 8dfbf - db 3 - db $f4, $fc, $00, $10 - db $fc, $fc, $00, $10 - db $04, $fc, $00, $10 -; 8dfcc - -Unknown_8dfcc: ; 8dfcc - db 6 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $00, $10, $01, $00 - db $00, $18, $01, $00 - db $00, $20, $02, $00 - db $00, $28, $03, $00 -; 8dfe5 - -Unknown_8dfe5: ; 8dfe5 - db 4 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $00, $10, $02, $00 - db $00, $18, $03, $00 -; 8dff6 - -Unknown_8dff6: ; 8dff6 - db 4 - db $f8, $f6, $00, $06 - db $f8, $02, $01, $06 - db $00, $f6, $02, $06 - db $00, $02, $03, $06 -; 8e007 - -Unknown_8e007: ; 8e007 - db 4 - db $f8, $f4, $00, $06 - db $f8, $04, $01, $06 - db $00, $f4, $02, $06 - db $00, $04, $03, $06 -; 8e018 - -Unknown_8e018: ; 8e018 - db 4 - db $f8, $f0, $00, $06 - db $f8, $08, $01, $06 - db $00, $f0, $02, $06 - db $00, $08, $03, $06 -; 8e029 - -Unknown_8e029: ; 8e029 - db 19 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $e8, $f0, $06, $00 - db $f8, $f0, $08, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $0c, $00 - db $f8, $f8, $0e, $00 - db $08, $f8, $10, $00 - db $e8, $00, $12, $00 - db $f8, $00, $14, $00 - db $08, $00, $16, $00 - db $e8, $08, $18, $00 - db $f8, $08, $1a, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e076 - -Unknown_8e076: ; 8e076 - db 16 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $26, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $28, $00 - db $f8, $f8, $2a, $00 - db $08, $f8, $10, $00 - db $f8, $00, $2c, $00 - db $08, $00, $16, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e0b7 - -Unknown_8e0b7: ; 8e0b7 - db 15 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $32, $00 - db $f8, $f0, $34, $00 - db $08, $f0, $36, $00 - db $f8, $f8, $38, $00 - db $08, $f8, $3a, $00 - db $f8, $00, $3c, $00 - db $08, $00, $3e, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e0f4 - -Unknown_8e0f4: ; 8e0f4 - db 17 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $40, $00 - db $08, $f0, $42, $00 - db $18, $f0, $44, $00 - db $f8, $f8, $46, $00 - db $08, $f8, $48, $00 - db $18, $f8, $4a, $00 - db $f8, $00, $4c, $00 - db $08, $00, $4e, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e139 - -Unknown_8e139: ; 8e139 - db 17 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $50, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $52, $00 - db $f8, $f8, $54, $00 - db $08, $f8, $10, $00 - db $e8, $00, $56, $00 - db $f8, $00, $2e, $00 - db $08, $00, $16, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e17e - -Unknown_8e17e: ; 8e17e - db 1 - db $fc, $fc, $00, $11 -; 8e183 - -Unknown_8e183: ; 8e183 - db 12 - db $00, $00, $30, $00 - db $00, $08, $31, $00 - db $00, $10, $31, $00 - db $00, $18, $31, $00 - db $00, $20, $31, $00 - db $00, $28, $32, $00 - db $08, $00, $33, $00 - db $08, $08, $34, $00 - db $08, $10, $34, $00 - db $08, $18, $34, $00 - db $08, $20, $34, $00 - db $08, $28, $35, $00 -; 8e1b4 - -Unknown_8e1b4: ; 8e1b4 - db 1 - db $00, $00, $ed, $00 -; 8e1b9 - -Unknown_8e1b9: ; 8e1b9 - db 4 - db $ff, $ff, $30, $00 - db $ff, $01, $32, $00 - db $01, $ff, $33, $00 - db $01, $01, $35, $00 -; 8e1ca - -Unknown_8e1ca: ; 8e1ca - db 8 - db $ff, $ff, $30, $00 - db $ff, $04, $31, $00 - db $ff, $0c, $31, $00 - db $ff, $11, $32, $00 - db $01, $ff, $33, $00 - db $01, $04, $34, $00 - db $01, $0c, $34, $00 - db $01, $11, $35, $00 -; 8e1eb - -Unknown_8e1eb: ; 8e1eb - db 1 - db $00, $00, $34, $00 -; 8e1f0 - -Unknown_8e1f0: ; 8e1f0 - db 2 - db $00, $00, $30, $00 - db $08, $00, $33, $00 -; 8e1f9 - -Unknown_8e1f9: ; 8e1f9 - db 2 - db $00, $00, $32, $00 - db $08, $00, $35, $00 -; 8e202 - -Unknown_8e202: ; 8e202 - db 4 - db $f8, $f8, $00, $01 - db $f8, $00, $01, $01 - db $00, $f8, $02, $01 - db $00, $00, $03, $01 -; 8e213 - -Unknown_8e213: ; 8e213 - db 4 - db $f8, $f8, $00, $81 - db $f8, $00, $01, $81 - db $00, $f8, $02, $81 - db $00, $00, $03, $81 -; 8e224 - -Unknown_8e224: ; 8e224 - db 1 - db $fc, $fc, $00, $02 -; 8e229 - -Unknown_8e229: ; 8e229 - db 4 - db $f0, $fc, $00, $03 - db $f8, $fc, $01, $03 - db $00, $fc, $02, $03 - db $08, $fc, $03, $03 -; 8e23a - -Unknown_8e23a: ; 8e23a - db 4 - db $f0, $fc, $03, $44 - db $f8, $fc, $02, $44 - db $00, $fc, $01, $44 - db $08, $fc, $00, $44 -; 8e24b - -Unknown_8e24b: ; 8e24b - db 4 - db $f8, $f8, $00, $01 - db $f8, $00, $00, $21 - db $00, $f8, $00, $41 - db $00, $00, $00, $61 -; 8e25c - -Unknown_8e25c: ; 8e25c - db 8 - db $f4, $f4, $00, $01 - db $f4, $fc, $01, $01 - db $f4, $04, $00, $21 - db $fc, $f4, $02, $01 - db $fc, $04, $02, $21 - db $04, $f4, $00, $41 - db $04, $fc, $01, $41 - db $04, $04, $00, $61 -; 8e27d - -Unknown_8e27d: ; 8e27d - db 12 - db $f0, $f0, $00, $01 - db $f0, $f8, $01, $01 - db $f8, $f0, $02, $01 - db $f0, $00, $01, $21 - db $f0, $08, $00, $21 - db $f8, $08, $02, $21 - db $00, $f0, $02, $41 - db $08, $f0, $00, $41 - db $08, $f8, $01, $41 - db $00, $08, $02, $61 - db $08, $00, $01, $61 - db $08, $08, $00, $61 -; 8e2ae - -Unknown_8e2ae: ; 8e2ae - db 36 - db $e8, $08, $05, $00 - db $e8, $10, $06, $00 - db $e8, $18, $07, $00 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f0, $18, $17, $00 - db $f8, $e0, $20, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $f8, $18, $27, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $00, $10, $36, $00 - db $08, $e0, $40, $00 - db $08, $e8, $41, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $08, $10, $46, $00 - db $08, $18, $47, $00 - db $10, $e0, $50, $00 - db $10, $e8, $51, $00 - db $10, $18, $57, $00 -; 8e33f - -Unknown_8e33f: ; 8e33f - db 28 - db $e8, $00, $04, $00 - db $e8, $08, $05, $00 - db $e8, $10, $06, $00 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $10, $f8, $53, $00 - db $10, $00, $54, $00 - db $10, $08, $55, $00 -; 8e3b0 - -Unknown_8e3b0: ; 8e3b0 - db 30 - db $e8, $00, $04, $00 - db $e8, $08, $05, $00 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f0, $18, $17, $00 - db $f8, $e0, $20, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $10, $f0, $52, $00 - db $10, $f8, $53, $00 - db $10, $00, $54, $00 - db $10, $08, $55, $00 -; 8e429 - -Unknown_8e429: ; 8e429 - db 31 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f0, $18, $17, $00 - db $f8, $e0, $20, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $f8, $18, $27, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $00, $10, $36, $00 - db $08, $e8, $41, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $10, $e8, $51, $00 - db $10, $f0, $52, $00 - db $10, $00, $54, $00 - db $10, $08, $55, $00 -; 8e4a6 - -Unknown_8e4a6: ; 8e4a6 - db 25 - db $ec, $ec, $00, $09 - db $ec, $f4, $01, $09 - db $ec, $fc, $02, $09 - db $ec, $04, $03, $09 - db $ec, $0c, $04, $09 - db $f4, $ec, $10, $09 - db $f4, $f4, $11, $09 - db $f4, $fc, $12, $09 - db $f4, $04, $13, $09 - db $f4, $0c, $14, $09 - db $fc, $ec, $20, $09 - db $fc, $f4, $21, $09 - db $fc, $fc, $22, $09 - db $fc, $04, $23, $09 - db $fc, $0c, $24, $09 - db $04, $ec, $30, $09 - db $04, $f4, $31, $09 - db $04, $fc, $32, $09 - db $04, $04, $33, $09 - db $04, $0c, $34, $09 - db $0c, $ec, $40, $09 - db $0c, $f4, $41, $09 - db $0c, $fc, $42, $09 - db $0c, $04, $43, $09 - db $0c, $0c, $44, $09 -; 8e50b - -Unknown_8e50b: ; 8e50b - db 16 - db $f0, $ec, $00, $0a - db $f0, $f4, $01, $0a - db $f0, $fc, $02, $0a - db $f0, $04, $03, $0a - db $f8, $ec, $04, $0a - db $f8, $f4, $05, $0a - db $f8, $fc, $06, $0a - db $f8, $04, $07, $0a - db $00, $ec, $08, $0a - db $00, $f4, $09, $0a - db $00, $fc, $0a, $0a - db $00, $04, $0b, $0a - db $08, $ec, $0c, $0a - db $08, $f4, $0d, $0a - db $08, $fc, $0e, $0a - db $08, $04, $0f, $0a -; 8e54c - -Unknown_8e54c: ; 8e54c - db 1 - db $fc, $fc, $00, $00 -; 8e551 - -Unknown_8e551: ; 8e551 - db 3 - db $00, $f8, $00, $00 - db $f8, $f8, $01, $00 - db $f8, $00, $02, $00 -; 8e55e - -Unknown_8e55e: ; 8e55e - db 7 - db $08, $f0, $00, $00 - db $00, $f0, $01, $00 - db $f8, $f0, $02, $00 - db $f8, $f8, $03, $00 - db $f0, $f8, $04, $00 - db $f0, $00, $05, $00 - db $f0, $08, $06, $00 -; 8e57b - -Unknown_8e57b: ; 8e57b - db 8 - db $f8, $f0, $00, $00 - db $f8, $f8, $01, $00 - db $f8, $00, $01, $20 - db $f8, $08, $00, $20 - db $00, $f0, $00, $40 - db $00, $f8, $01, $40 - db $00, $00, $01, $60 - db $00, $08, $00, $60 -; 8e59c - -Unknown_8e59c: ; 8e59c - db 12 - db $e8, $f8, $00, $00 - db $f0, $f8, $01, $00 - db $f8, $f8, $02, $00 - db $e8, $00, $00, $20 - db $f0, $00, $01, $20 - db $f8, $00, $02, $20 - db $00, $f8, $02, $40 - db $08, $f8, $01, $40 - db $10, $f8, $00, $40 - db $00, $00, $02, $60 - db $08, $00, $01, $60 - db $10, $00, $00, $60 -; 8e5cd - -Unknown_8e5cd: ; 8e5cd - db 20 - db $ec, $f0, $00, $00 - db $ec, $f8, $01, $00 - db $ec, $00, $02, $00 - db $ec, $08, $03, $00 - db $f4, $f0, $04, $00 - db $f4, $f8, $05, $00 - db $f4, $00, $06, $00 - db $f4, $08, $07, $00 - db $fc, $f0, $08, $00 - db $fc, $f8, $09, $00 - db $fc, $00, $0a, $00 - db $fc, $08, $0b, $00 - db $04, $f0, $0c, $00 - db $04, $f8, $0d, $00 - db $04, $00, $0e, $00 - db $04, $08, $0f, $00 - db $0c, $f0, $10, $00 - db $0c, $f8, $11, $00 - db $0c, $00, $12, $00 - db $0c, $08, $13, $00 -; 8e61e - -Unknown_8e61e: ; 8e61e - db 20 - db $00, $08, $00, $81 - db $08, $10, $00, $81 - db $10, $18, $00, $81 - db $18, $20, $00, $81 - db $20, $28, $00, $81 - db $18, $30, $00, $81 - db $10, $38, $00, $81 - db $08, $40, $00, $81 - db $00, $48, $00, $81 - db $08, $50, $00, $81 - db $10, $58, $00, $81 - db $18, $60, $00, $81 - db $20, $68, $00, $81 - db $18, $70, $00, $81 - db $10, $78, $00, $81 - db $08, $80, $00, $81 - db $00, $88, $00, $81 - db $08, $90, $00, $81 - db $10, $98, $00, $81 - db $18, $a0, $00, $81 -; 8e66f - -Unknown_8e66f: ; 8e66f - db 4 - db $f8, $f8, $00, $02 - db $f8, $00, $01, $02 - db $00, $f8, $02, $02 - db $00, $00, $03, $02 -; 8e680 - -Unknown_8e680: ; 8e680 - db 9 - db $f0, $f4, $00, $01 - db $f0, $fc, $01, $01 - db $f0, $04, $02, $01 - db $f8, $f4, $10, $01 - db $f8, $fc, $11, $01 - db $f8, $04, $12, $01 - db $00, $f4, $20, $01 - db $00, $fc, $21, $01 - db $00, $04, $22, $01 -; 8e6a5 - -Unknown_8e6a5: ; 8e6a5 - db 24 - db $d8, $f4, $00, $01 - db $d8, $fc, $01, $01 - db $d8, $04, $02, $01 - db $d8, $0c, $03, $01 - db $e0, $f4, $10, $01 - db $e0, $fc, $11, $01 - db $e0, $04, $12, $01 - db $e0, $0c, $13, $01 - db $e8, $f4, $20, $01 - db $e8, $fc, $21, $01 - db $e8, $04, $22, $01 - db $e8, $0c, $23, $01 - db $f0, $f4, $30, $01 - db $f0, $fc, $31, $01 - db $f0, $04, $32, $01 - db $f0, $0c, $33, $01 - db $f8, $f4, $40, $01 - db $f8, $fc, $41, $01 - db $f8, $04, $42, $01 - db $f8, $0c, $43, $01 - db $00, $f4, $50, $01 - db $00, $fc, $51, $01 - db $00, $04, $52, $01 - db $00, $0c, $53, $01 -; 8e706 -Unknown_8e706: ; Broken 2bpp pointers - dbbw $80, $01, $672a ; 128-tile 2bpp at 1:672a (inside Multiply) - dbbw $80, $01, $672a - dbbw $80, $01, $672a - dbbw $80, $01, $672a - dbbw $10, $37, $672a ; 16-tile 2bpp at 37:672a (within Tileset11GFX) - dbbw $10, $11, $672a ; 16-tile 2bpp at 11:672a (empty data) - dbbw $10, $39, $672a ; 16-tile 2bpp at 39:672a (empty data) - dbbw $10, $24, $672a ; 16-tile 2bpp at 24:672a (inside Function926f7) - dbbw $10, $21, $672a ; 16-tile 2bpp at 21:672a (inside Function8671c) +INCLUDE "data/sprite_engine.asm" +; Unknown_8d6e6 +; Unknown_8d94d ApplyXOffset: ; 8e72a add $10 @@ -2963,7 +712,7 @@ INCBIN "gfx/battle/expbarend.2bpp" SGBEndOfExpBarGFX: ; 8e804 INCBIN "gfx/battle/expbarend_sgb.2bpp" -ClearSpriteAnims: ; 8e814 +ClearSpriteAnims2: ; 8e814 push hl push de push bc diff --git a/engine/startmenu.asm b/engine/startmenu.asm index a0b6c5c0e..1a8f605ae 100755 --- a/engine/startmenu.asm +++ b/engine/startmenu.asm @@ -469,7 +469,7 @@ StartMenu_Status: ; 12928 call FadeToMenu callba TrainerCard - call ReturnToCallingMenu + call CloseSubmenu ld a, 0 ret ; 12937 @@ -483,7 +483,7 @@ StartMenu_Pokedex: ; 12937 call FadeToMenu callba Pokedex - call ReturnToCallingMenu + call CloseSubmenu .asm_12949 ld a, 0 @@ -495,7 +495,7 @@ StartMenu_Pokegear: ; 1294c call FadeToMenu callba PokeGear - call ReturnToCallingMenu + call CloseSubmenu ld a, 0 ret ; 1295b @@ -508,7 +508,7 @@ StartMenu_Pack: ; 1295b ld a, [wcf66] and a jr nz, .used_item - call ReturnToCallingMenu + call CloseSubmenu ld a, 0 ret @@ -557,7 +557,7 @@ StartMenu_Pokemon: ; 12976 jr z, .quit .return - call ReturnToCallingMenu + call CloseSubmenu ld a, 0 ret @@ -1761,7 +1761,7 @@ SetUpMoveScreenBG: ; 13172 xor a ld [hBGMapMode], a callba Functionfb571 - callba ClearSpriteAnims + callba ClearSpriteAnims2 ld a, [CurPartyMon] ld e, a ld d, $0 diff --git a/engine/town_map.asm b/engine/town_map.asm index e9a3a5001..a7a7713a3 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -20,7 +20,7 @@ _TownMap: ; 9191c call ClearSprites call DisableLCD call Function90c4e - callba Function8cf53 + callba ClearSpriteAnims ld a, 8 call SkipMusic ld a, $e3 diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index ec02fc667..d966ddae0 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -142,7 +142,7 @@ Function28fdb: ; 28fdb call ClearTileMap call DisableLCD call LoadFontsBattleExtra - callab Function8cf53 + callab ClearSpriteAnims ld a, [hCGB] and a jr z, .asm_2900b @@ -336,7 +336,7 @@ Function2914e: ; 2914e push de push af call DisableLCD - callab Function8cf53 + callab ClearSpriteAnims hlbgcoord 20, 3 ld bc, $c ld a, $60 @@ -466,7 +466,7 @@ TradeAnim_TubeToPlayer8: ; 29229 call ClearTileMap call ClearSprites call DisableLCD - callab Function8cf53 + callab ClearSpriteAnims hlbgcoord 0, 0 ld bc, sScratch - VBGMap0 ld a, " " |