summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2015-12-01 21:54:11 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2015-12-01 21:54:11 -0500
commit92a8c491c3a8c39a7c51b300d759f93aa5157447 (patch)
tree2b0fca0ca289327e65b3b4339f1523f6060c4437 /engine
parentffbf2c0f5d28c05c14f67a3cfb123d37157c2ef9 (diff)
Break up engine/sprites.asm; address yenatch's comments
Diffstat (limited to 'engine')
-rwxr-xr-xengine/breeding/egg.asm4
-rwxr-xr-xengine/compose_mail.asm2
-rwxr-xr-xengine/crystal_intro.asm22
-rwxr-xr-xengine/dummy_game.asm2
-rw-r--r--engine/events_2.asm2
-rwxr-xr-xengine/evolution_animation.asm6
-rwxr-xr-xengine/link.asm12
-rwxr-xr-xengine/mail.asm4
-rw-r--r--engine/map_setup.asm2
-rwxr-xr-xengine/mart.asm2
-rwxr-xr-xengine/namingscreen.asm4
-rw-r--r--engine/party_menu.asm2
-rwxr-xr-xengine/pokecenter_pc.asm8
-rwxr-xr-xengine/pokegear.asm6
-rw-r--r--engine/scripting.asm24
-rwxr-xr-xengine/selectmenu.asm2
-rwxr-xr-xengine/slot_machine.asm4
-rw-r--r--engine/specials.asm4
-rwxr-xr-xengine/sprite_anims.asm818
-rwxr-xr-xengine/sprites.asm2275
-rwxr-xr-xengine/startmenu.asm12
-rwxr-xr-xengine/town_map.asm2
-rwxr-xr-xengine/trade/animation.asm6
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, " "