summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--asm/battle_ai.s6
-rw-r--r--asm/battle_anim.s4729
-rw-r--r--asm/battle_anim_813F0F4.s5740
-rw-r--r--asm/berry_tag_screen.s1115
-rw-r--r--asm/cable_club.s53
-rw-r--r--asm/calculate_base_damage.s1165
-rw-r--r--asm/credits.s4182
-rw-r--r--asm/field_ground_effect.s588
-rw-r--r--asm/field_region_map.s274
-rw-r--r--asm/fldeff_cut.s797
-rw-r--r--asm/hall_of_fame.s3402
-rw-r--r--asm/intro.s4710
-rw-r--r--asm/item_menu.s4
-rw-r--r--asm/load_save.s444
-rw-r--r--asm/mail.s892
-rw-r--r--asm/metatile_behavior.s2345
-rw-r--r--asm/money.s480
-rw-r--r--asm/mystery_event_menu.s581
-rw-r--r--asm/mystery_event_script.s175
-rw-r--r--asm/player_pc.s1179
-rw-r--r--asm/pokeball.s2787
-rw-r--r--asm/pokeblock.s2675
-rw-r--r--asm/pokeblock_feed.s1836
-rw-r--r--asm/pokemon_3.s2826
-rw-r--r--asm/pokemon_item_effect.s1970
-rw-r--r--asm/record_mixing.s4
-rw-r--r--asm/rom3.s4
-rw-r--r--asm/rom6.s9389
-rw-r--r--asm/rom_800D42C.s118
-rw-r--r--asm/rom_803D1FC.s5839
-rw-r--r--asm/rom_804373C.s3009
-rw-r--r--asm/rom_806D7F8.s6
-rw-r--r--asm/rom_8077ABC.s (renamed from asm/rom_8074BAC.s)4720
-rw-r--r--asm/rom_8094928.s1592
-rw-r--r--asm/rom_80A2B18.s813
-rw-r--r--asm/rom_810CBB4.s6732
-rw-r--r--asm/rom_813BA94.s18272
-rw-r--r--asm/rom_81473B8.s1827
-rw-r--r--asm/save_failed_screen.s779
-rw-r--r--asm/script_menu.s1237
-rw-r--r--asm/script_pokemon_util_80C4BF0.s2
-rw-r--r--asm/smokescreen.s226
-rw-r--r--asm/trade.s8
-rw-r--r--data/berry_blender.s447
-rw-r--r--data/data2.s29289
-rw-r--r--data/data_83760F0.s24837
-rw-r--r--data/event_scripts.s5
-rw-r--r--data/field_door.s416
-rw-r--r--data/field_ground_effect.s72
-rw-r--r--data/field_map_obj.s2107
-rw-r--r--data/field_player_avatar.s184
-rw-r--r--data/graphics/field_objects/base_oam.inc16
-rw-r--r--data/graphics/field_objects/field_effect_object_graphics.inc272
-rw-r--r--data/maps.s10
-rw-r--r--data/metatile_behavior.s246
-rw-r--r--data/pokeball.s137
-rw-r--r--data/rom4.s66
-rw-r--r--data/specials.inc8
-rw-r--r--data/text/battle_strings.inc15
-rw-r--r--data/tilesets.s8
-rw-r--r--data/tilesets/graphics.inc228
-rw-r--r--data/tilesets/headers.inc116
-rw-r--r--data/trade.s774
-rw-r--r--include/asm.inc.h74
-rw-r--r--include/berry_tag_screen.h6
-rw-r--r--include/config.h25
-rw-r--r--include/decompress.h1
-rw-r--r--include/global.h24
-rw-r--r--include/hold_effects.h72
-rw-r--r--include/link.h2
-rw-r--r--include/load_save.h17
-rw-r--r--include/mail.h15
-rw-r--r--include/main.h1
-rw-r--r--include/menu.h6
-rw-r--r--include/metatile_behavior.h136
-rw-r--r--include/metatile_behaviors.h173
-rw-r--r--include/money.h17
-rw-r--r--include/mystery_event_menu.h6
-rw-r--r--include/pokemon.h19
-rw-r--r--include/rom4.h2
-rw-r--r--include/save_failed_screen.h6
-rw-r--r--include/sprite.h3
-rw-r--r--include/start_menu.h2
-rw-r--r--include/text.h3
-rw-r--r--ld_script.txt56
-rw-r--r--shared_syms.txt2
-rw-r--r--src/battle_setup.c2
-rw-r--r--src/berry_tag_screen.c877
-rw-r--r--src/blend_palette.c1
-rw-r--r--src/calculate_base_damage.c1484
-rw-r--r--src/coins.c1
-rw-r--r--src/decompress.c2
-rw-r--r--src/field_camera.c2
-rw-r--r--src/field_door.c3
-rw-r--r--src/field_ground_effect.c256
-rw-r--r--src/field_player_avatar.c5
-rw-r--r--src/fieldmap.c22
-rw-r--r--src/intro.c2
-rw-r--r--src/item.c2
-rw-r--r--src/link.c30
-rw-r--r--src/load_save.c164
-rw-r--r--src/mail.c683
-rw-r--r--src/main.c15
-rw-r--r--src/main_menu.c1
-rw-r--r--src/matsuda_debug_menu.c179
-rw-r--r--src/menu.c33
-rw-r--r--src/metatile_behavior.c1064
-rw-r--r--src/money.c240
-rw-r--r--src/mori_debug_menu.c17
-rw-r--r--src/mystery_event_menu.c346
-rw-r--r--src/mystery_event_script.c97
-rw-r--r--src/new_game.c12
-rw-r--r--src/player_pc.c818
-rw-r--r--src/pokedex.c4
-rw-r--r--src/pokemon_1.c7
-rw-r--r--src/pokemon_2.c6
-rw-r--r--src/pokemon_3.c477
-rw-r--r--src/pokemon_size_record.c1
-rw-r--r--src/rom4.c38
-rw-r--r--src/rtc.c10
-rw-r--r--src/save.c28
-rw-r--r--src/save_failed_screen.c301
-rw-r--r--src/scrcmd.c5
-rw-r--r--src/script_menu.c431
-rw-r--r--src/sound.c3
-rw-r--r--src/sprite.c18
-rw-r--r--src/start_menu.c37
-rw-r--r--src/starter_choose.c8
-rw-r--r--src/text.c57
-rw-r--r--src/trainer_card.c23
-rw-r--r--src/trainer_see.c37
-rw-r--r--src/truck_scene.c4
-rw-r--r--src/weather.c2
-rw-r--r--src/wild_encounter.c1
-rw-r--r--sym_ewram.txt6
136 files changed, 81567 insertions, 85750 deletions
diff --git a/Makefile b/Makefile
index 3ca1f7a34..11f59093c 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ AS := $(DEVKITARM)/bin/arm-none-eabi-as
ASFLAGS := -mcpu=arm7tdmi
CC1 := tools/agbcc/bin/agbcc
-override CFLAGS += -mthumb-interwork -Wimplicit -O2 -fhex-asm
+override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm
CPP := $(DEVKITARM)/bin/arm-none-eabi-cpp
CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef
diff --git a/asm/battle_ai.s b/asm/battle_ai.s
index 78e928ac7..5df4635b2 100644
--- a/asm/battle_ai.s
+++ b/asm/battle_ai.s
@@ -5,7 +5,7 @@
.syntax unified
.text
-
+
thumb_func_start BattleAICmd_if_status_in_party
BattleAICmd_if_status_in_party: @ 8108964
push {r4-r7,lr}
@@ -212,7 +212,7 @@ _08108AE8: .4byte gAIScriptPtr
thumb_func_start BattleAICmd_unk_36
BattleAICmd_unk_36: @ 8108AEC
push {lr}
- ldr r2, _08108B3C @ =word_2024DB8
+ ldr r2, _08108B3C @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x7
ands r0, r1
@@ -255,7 +255,7 @@ _08108B2E:
pop {r0}
bx r0
.align 2, 0
-_08108B3C: .4byte word_2024DB8
+_08108B3C: .4byte gBattleWeather
_08108B40: .4byte 0x02016800
_08108B44: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_unk_36
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
new file mode 100644
index 000000000..b26392e61
--- /dev/null
+++ b/asm/battle_anim.s
@@ -0,0 +1,4729 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8075624
+sub_8075624: @ 8075624
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r0, _080756B8 @ =gUnknown_0202F7B0
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _080756BC @ =gUnknown_0202F7B1
+ strb r1, [r0]
+ ldr r0, _080756C0 @ =gUnknown_0202F7B2
+ strb r1, [r0]
+ ldr r0, _080756C4 @ =gUnknown_0202F7B3
+ strb r1, [r0]
+ ldr r0, _080756C8 @ =gUnknown_0202F7B4
+ movs r1, 0
+ str r1, [r0]
+ ldr r0, _080756CC @ =gUnknown_0202F7B8
+ str r1, [r0]
+ ldr r0, _080756D0 @ =gUnknown_0202F7BC
+ movs r2, 0
+ strh r1, [r0]
+ ldr r0, _080756D4 @ =gUnknown_0202F7BE
+ strb r2, [r0]
+ ldr r4, _080756D8 @ =gUnknown_0202F7C2
+ ldr r5, _080756DC @ =gUnknown_0202F7C4
+ ldr r6, _080756E0 @ =gUnknown_0202F7C5
+ ldr r7, _080756E4 @ =gUnknown_0202F7C6
+ ldr r0, _080756E8 @ =gUnknown_0202F7C8
+ mov r12, r0
+ ldr r1, _080756EC @ =gUnknown_0202F7C9
+ mov r8, r1
+ ldr r0, _080756F0 @ =gUnknown_0202F7D2
+ mov r9, r0
+ ldr r1, _080756F4 @ =0x0000ffff
+ adds r3, r1, 0
+ ldr r1, _080756F8 @ =gUnknown_03004B10
+ movs r2, 0x7
+_0807566E:
+ ldrh r0, [r1]
+ orrs r0, r3
+ strh r0, [r1]
+ adds r1, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0807566E
+ ldr r1, _080756FC @ =gUnknown_03004B00
+ movs r2, 0
+ adds r0, r1, 0
+ adds r0, 0xE
+_08075684:
+ strh r2, [r0]
+ subs r0, 0x2
+ cmp r0, r1
+ bge _08075684
+ movs r1, 0
+ movs r0, 0xFF
+ strb r0, [r4]
+ movs r0, 0x1
+ negs r0, r0
+ strb r0, [r4, 0x1]
+ strb r1, [r5]
+ strb r1, [r6]
+ movs r0, 0
+ strh r1, [r7]
+ mov r1, r12
+ strb r0, [r1]
+ mov r1, r8
+ strb r0, [r1]
+ mov r1, r9
+ strb r0, [r1]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080756B8: .4byte gUnknown_0202F7B0
+_080756BC: .4byte gUnknown_0202F7B1
+_080756C0: .4byte gUnknown_0202F7B2
+_080756C4: .4byte gUnknown_0202F7B3
+_080756C8: .4byte gUnknown_0202F7B4
+_080756CC: .4byte gUnknown_0202F7B8
+_080756D0: .4byte gUnknown_0202F7BC
+_080756D4: .4byte gUnknown_0202F7BE
+_080756D8: .4byte gUnknown_0202F7C2
+_080756DC: .4byte gUnknown_0202F7C4
+_080756E0: .4byte gUnknown_0202F7C5
+_080756E4: .4byte gUnknown_0202F7C6
+_080756E8: .4byte gUnknown_0202F7C8
+_080756EC: .4byte gUnknown_0202F7C9
+_080756F0: .4byte gUnknown_0202F7D2
+_080756F4: .4byte 0x0000ffff
+_080756F8: .4byte gUnknown_03004B10
+_080756FC: .4byte gUnknown_03004B00
+ thumb_func_end sub_8075624
+
+ thumb_func_start move_anim_start_t1
+move_anim_start_t1: @ 8075700
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, _08075724 @ =gUnknown_0202F7C8
+ ldr r0, _08075728 @ =gUnknown_02024C07
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r2, _0807572C @ =gUnknown_0202F7C9
+ ldr r0, _08075730 @ =gUnknown_02024C08
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r0, _08075734 @ =gBattleAnims_Moves
+ movs r2, 0x1
+ bl move_something
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075724: .4byte gUnknown_0202F7C8
+_08075728: .4byte gUnknown_02024C07
+_0807572C: .4byte gUnknown_0202F7C9
+_08075730: .4byte gUnknown_02024C08
+_08075734: .4byte gBattleAnims_Moves
+ thumb_func_end move_anim_start_t1
+
+ thumb_func_start move_something
+move_something: @ 8075738
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ str r0, [sp]
+ lsls r1, 16
+ lsrs r1, 16
+ mov r8, r1
+ lsls r2, 24
+ lsrs r2, 24
+ mov r9, r2
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080757D8
+ bl sub_8079E24
+ movs r0, 0
+ bl sub_8043EB4
+ movs r4, 0
+ mov r0, r8
+ lsls r0, 2
+ mov r10, r0
+ ldr r6, _0807578C @ =gUnknown_02024A6A
+ movs r7, 0x64
+ ldr r5, _08075790 @ =gUnknown_0202F7CA
+_08075774:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _08075798
+ ldrh r0, [r6]
+ muls r0, r7
+ ldr r1, _08075794 @ =gEnemyParty
+ b _0807579E
+ .align 2, 0
+_0807578C: .4byte gUnknown_02024A6A
+_08075790: .4byte gUnknown_0202F7CA
+_08075794: .4byte gEnemyParty
+_08075798:
+ ldrh r0, [r6]
+ muls r0, r7
+ ldr r1, _080757C0 @ =gPlayerParty
+_0807579E:
+ adds r0, r1
+ movs r1, 0xB
+ bl GetMonData
+ strh r0, [r5]
+ adds r6, 0x2
+ adds r5, 0x2
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08075774
+ ldr r3, _080757C4 @ =gUnknown_0202F7C6
+ ldr r5, _080757C8 @ =gUnknown_0202F7C2
+ ldr r1, _080757CC @ =gUnknown_0202F7B1
+ mov r12, r1
+ ldr r7, _080757D0 @ =gUnknown_0202F7AC
+ ldr r6, _080757D4 @ =sub_80759D0
+ b _080757FC
+ .align 2, 0
+_080757C0: .4byte gPlayerParty
+_080757C4: .4byte gUnknown_0202F7C6
+_080757C8: .4byte gUnknown_0202F7C2
+_080757CC: .4byte gUnknown_0202F7B1
+_080757D0: .4byte gUnknown_0202F7AC
+_080757D4: .4byte sub_80759D0
+_080757D8:
+ ldr r3, _08075808 @ =gUnknown_0202F7C6
+ ldr r5, _0807580C @ =gUnknown_0202F7C2
+ mov r0, r8
+ lsls r0, 2
+ mov r10, r0
+ ldr r1, _08075810 @ =gUnknown_0202F7B1
+ mov r12, r1
+ ldr r7, _08075814 @ =gUnknown_0202F7AC
+ ldr r6, _08075818 @ =sub_80759D0
+ ldr r2, _0807581C @ =0x02019348
+ ldr r1, _08075820 @ =gUnknown_0202F7CA
+ movs r4, 0x3
+_080757F0:
+ ldrh r0, [r2]
+ strh r0, [r1]
+ adds r1, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080757F0
+_080757FC:
+ mov r0, r9
+ cmp r0, 0
+ bne _08075824
+ strh r0, [r3]
+ b _08075828
+ .align 2, 0
+_08075808: .4byte gUnknown_0202F7C6
+_0807580C: .4byte gUnknown_0202F7C2
+_08075810: .4byte gUnknown_0202F7B1
+_08075814: .4byte gUnknown_0202F7AC
+_08075818: .4byte sub_80759D0
+_0807581C: .4byte 0x02019348
+_08075820: .4byte gUnknown_0202F7CA
+_08075824:
+ mov r1, r8
+ strh r1, [r3]
+_08075828:
+ ldr r1, _0807587C @ =gUnknown_03004B00
+ movs r2, 0
+ adds r0, r1, 0
+ adds r0, 0xE
+_08075830:
+ strh r2, [r0]
+ subs r0, 0x2
+ cmp r0, r1
+ bge _08075830
+ movs r0, 0xFF
+ strb r0, [r5]
+ movs r0, 0x1
+ negs r0, r0
+ strb r0, [r5, 0x1]
+ ldr r0, [sp]
+ add r0, r10
+ ldr r0, [r0]
+ ldr r1, _08075880 @ =gUnknown_0202F7A4
+ str r0, [r1]
+ movs r0, 0x1
+ mov r1, r12
+ strb r0, [r1]
+ movs r0, 0
+ ldr r1, _08075884 @ =gUnknown_0202F7B0
+ strb r0, [r1]
+ str r6, [r7]
+ ldr r0, _08075888 @ =0x0000ffff
+ adds r2, r0, 0
+ ldr r1, _0807588C @ =gUnknown_03004B10
+ movs r4, 0x7
+_08075862:
+ ldrh r0, [r1]
+ orrs r0, r2
+ strh r0, [r1]
+ adds r1, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08075862
+ mov r1, r9
+ cmp r1, 0
+ beq _080758AE
+ movs r4, 0
+ ldr r2, _08075890 @ =gUnknown_081C7160
+ b _08075896
+ .align 2, 0
+_0807587C: .4byte gUnknown_03004B00
+_08075880: .4byte gUnknown_0202F7A4
+_08075884: .4byte gUnknown_0202F7B0
+_08075888: .4byte 0x0000ffff
+_0807588C: .4byte gUnknown_03004B10
+_08075890: .4byte gUnknown_081C7160
+_08075894:
+ adds r4, 0x1
+_08075896:
+ lsls r0, r4, 1
+ adds r0, r2
+ ldrh r0, [r0]
+ ldr r1, _080758D0 @ =0x0000ffff
+ cmp r0, r1
+ beq _080758AE
+ cmp r8, r0
+ bne _08075894
+ ldr r0, _080758D4 @ =gMPlay_BGM
+ movs r2, 0x80
+ bl m4aMPlayVolumeControl
+_080758AE:
+ ldr r0, _080758D8 @ =gUnknown_030042C4
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080758DC @ =gUnknown_03004240
+ strh r1, [r0]
+ ldr r0, _080758E0 @ =gUnknown_03004200
+ strh r1, [r0]
+ ldr r0, _080758E4 @ =gUnknown_03004244
+ strh r1, [r0]
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080758D0: .4byte 0x0000ffff
+_080758D4: .4byte gMPlay_BGM
+_080758D8: .4byte gUnknown_030042C4
+_080758DC: .4byte gUnknown_03004240
+_080758E0: .4byte gUnknown_03004200
+_080758E4: .4byte gUnknown_03004244
+ thumb_func_end move_something
+
+ thumb_func_start move_anim_8072740
+move_anim_8072740: @ 80758E8
+ push {r4,lr}
+ adds r4, r0, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r4, 0
+ bl DestroySprite
+ ldr r1, _08075904 @ =gUnknown_0202F7B2
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075904: .4byte gUnknown_0202F7B2
+ thumb_func_end move_anim_8072740
+
+ thumb_func_start move_anim_task_del
+move_anim_task_del: @ 8075908
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ ldr r1, _08075920 @ =gUnknown_0202F7B2
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075920: .4byte gUnknown_0202F7B2
+ thumb_func_end move_anim_task_del
+
+ thumb_func_start move_anim_related_task_del
+move_anim_related_task_del: @ 8075924
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ ldr r1, _0807593C @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807593C: .4byte gUnknown_0202F7B3
+ thumb_func_end move_anim_related_task_del
+
+ thumb_func_start sub_8075940
+sub_8075940: @ 8075940
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ ldr r4, _08075958 @ =0x0000ffff
+ ldr r1, _0807595C @ =gUnknown_03004B10
+_0807594C:
+ ldrh r0, [r1]
+ cmp r0, r4
+ bne _08075960
+ strh r3, [r1]
+ b _08075968
+ .align 2, 0
+_08075958: .4byte 0x0000ffff
+_0807595C: .4byte gUnknown_03004B10
+_08075960:
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _0807594C
+_08075968:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8075940
+
+ thumb_func_start sub_8075970
+sub_8075970: @ 8075970
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ ldr r0, _0807598C @ =0x0000ffff
+ adds r4, r0, 0
+ ldr r1, _08075990 @ =gUnknown_03004B10
+_0807597E:
+ ldrh r0, [r1]
+ cmp r0, r3
+ bne _08075994
+ orrs r0, r4
+ strh r0, [r1]
+ b _0807599C
+ .align 2, 0
+_0807598C: .4byte 0x0000ffff
+_08075990: .4byte gUnknown_03004B10
+_08075994:
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _0807597E
+_0807599C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8075970
+
+ thumb_func_start move_anim_waiter
+move_anim_waiter: @ 80759A4
+ push {lr}
+ ldr r2, _080759BC @ =gUnknown_0202F7B0
+ ldrb r1, [r2]
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ cmp r0, 0
+ bgt _080759C8
+ ldr r0, _080759C0 @ =gUnknown_0202F7AC
+ ldr r1, _080759C4 @ =sub_80759D0
+ str r1, [r0]
+ movs r0, 0
+ b _080759CA
+ .align 2, 0
+_080759BC: .4byte gUnknown_0202F7B0
+_080759C0: .4byte gUnknown_0202F7AC
+_080759C4: .4byte sub_80759D0
+_080759C8:
+ subs r0, r1, 0x1
+_080759CA:
+ strb r0, [r2]
+ pop {r0}
+ bx r0
+ thumb_func_end move_anim_waiter
+
+ thumb_func_start sub_80759D0
+sub_80759D0: @ 80759D0
+ push {r4,lr}
+ ldr r4, _08075A00 @ =gUnknown_0837F4B8
+_080759D4:
+ ldr r0, _08075A04 @ =gUnknown_0202F7A4
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, _08075A08 @ =gUnknown_0202F7B0
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0
+ bne _080759F8
+ ldr r0, _08075A0C @ =gUnknown_0202F7B1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080759D4
+_080759F8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075A00: .4byte gUnknown_0837F4B8
+_08075A04: .4byte gUnknown_0202F7A4
+_08075A08: .4byte gUnknown_0202F7B0
+_08075A0C: .4byte gUnknown_0202F7B1
+ thumb_func_end sub_80759D0
+
+ thumb_func_start ma00_load_graphics
+ma00_load_graphics: @ 8075A10
+ push {r4-r6,lr}
+ ldr r6, _08075A5C @ =gUnknown_0202F7A4
+ ldr r0, [r6]
+ adds r1, r0, 0x1
+ str r1, [r6]
+ ldrb r4, [r0, 0x1]
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ orrs r4, r0
+ lsls r5, r4, 3
+ ldr r0, _08075A60 @ =gBattleAnimPicTable - (10000 * 8)
+ adds r0, r5, r0
+ bl LoadCompressedObjectPic
+ ldr r0, _08075A64 @ =gBattleAnimPaletteTable - (10000 * 8)
+ adds r5, r0
+ adds r0, r5, 0
+ bl LoadCompressedObjectPalette
+ ldr r0, [r6]
+ adds r0, 0x2
+ str r0, [r6]
+ ldr r0, _08075A68 @ =0xffffd8f0
+ adds r4, r0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r4, 0
+ bl sub_8075940
+ ldr r1, _08075A6C @ =gUnknown_0202F7B0
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r1, _08075A70 @ =gUnknown_0202F7AC
+ ldr r0, _08075A74 @ =move_anim_waiter
+ str r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075A5C: .4byte gUnknown_0202F7A4
+_08075A60: .4byte gBattleAnimPicTable - (10000 * 8)
+_08075A64: .4byte gBattleAnimPaletteTable - (10000 * 8)
+_08075A68: .4byte 0xffffd8f0
+_08075A6C: .4byte gUnknown_0202F7B0
+_08075A70: .4byte gUnknown_0202F7AC
+_08075A74: .4byte move_anim_waiter
+ thumb_func_end ma00_load_graphics
+
+ thumb_func_start ma01_080728D0
+ma01_080728D0: @ 8075A78
+ push {r4-r6,lr}
+ ldr r6, _08075AB8 @ =gUnknown_0202F7A4
+ ldr r0, [r6]
+ adds r1, r0, 0x1
+ str r1, [r6]
+ ldrb r4, [r0, 0x1]
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ orrs r4, r0
+ ldr r1, _08075ABC @ =gBattleAnimPicTable
+ ldr r0, _08075AC0 @ =0xffffd8f0
+ adds r4, r0
+ lsls r0, r4, 3
+ adds r0, r1
+ ldrh r5, [r0, 0x6]
+ adds r0, r5, 0
+ bl FreeSpriteTilesByTag
+ adds r0, r5, 0
+ bl FreeSpritePaletteByTag
+ ldr r0, [r6]
+ adds r0, 0x2
+ str r0, [r6]
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r4, 0
+ bl sub_8075970
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075AB8: .4byte gUnknown_0202F7A4
+_08075ABC: .4byte gBattleAnimPicTable
+_08075AC0: .4byte 0xffffd8f0
+ thumb_func_end ma01_080728D0
+
+ thumb_func_start ma02_instanciate_template
+ma02_instanciate_template: @ 8075AC4
+ push {r4-r7,lr}
+ ldr r5, _08075B2C @ =gUnknown_0202F7A4
+ ldr r1, [r5]
+ adds r3, r1, 0x1
+ str r3, [r5]
+ ldrb r2, [r1, 0x1]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ adds r2, r0
+ ldrb r0, [r3, 0x2]
+ lsls r0, 16
+ adds r2, r0
+ ldrb r0, [r3, 0x3]
+ lsls r0, 24
+ adds r7, r2, r0
+ adds r0, r1, 0x5
+ str r0, [r5]
+ ldrb r4, [r1, 0x5]
+ adds r0, r1, 0x6
+ str r0, [r5]
+ ldrb r0, [r1, 0x6]
+ adds r1, 0x7
+ str r1, [r5]
+ cmp r0, 0
+ beq _08075B14
+ adds r6, r5, 0
+ ldr r5, _08075B30 @ =gUnknown_03004B00
+ adds r3, r0, 0
+_08075AFC:
+ ldr r2, [r6]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ strh r1, [r5]
+ adds r2, 0x2
+ str r2, [r6]
+ adds r5, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08075AFC
+_08075B14:
+ movs r0, 0x80
+ ands r0, r4
+ cmp r0, 0
+ beq _08075B44
+ movs r0, 0x80
+ eors r4, r0
+ cmp r4, 0x3F
+ bls _08075B34
+ adds r0, r4, 0
+ subs r0, 0x40
+ b _08075B36
+ .align 2, 0
+_08075B2C: .4byte gUnknown_0202F7A4
+_08075B30: .4byte gUnknown_03004B00
+_08075B34:
+ negs r0, r4
+_08075B36:
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08075B40 @ =gUnknown_0202F7C9
+ b _08075B56
+ .align 2, 0
+_08075B40: .4byte gUnknown_0202F7C9
+_08075B44:
+ cmp r4, 0x3F
+ bls _08075B4E
+ adds r0, r4, 0
+ subs r0, 0x40
+ b _08075B50
+_08075B4E:
+ negs r0, r4
+_08075B50:
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08075BAC @ =gUnknown_0202F7C8
+_08075B56:
+ ldrb r0, [r0]
+ bl sub_8079E90
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r4, 24
+ asrs r1, 24
+ adds r0, r1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r0, r6, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bgt _08075B74
+ movs r6, 0x3
+_08075B74:
+ ldr r5, _08075BB0 @ =gUnknown_0202F7C9
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl sub_8077ABC
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl sub_8077ABC
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, r6, 24
+ lsrs r3, 24
+ adds r0, r7, 0
+ adds r1, r4, 0
+ bl CreateSpriteAndAnimate
+ ldr r1, _08075BB4 @ =gUnknown_0202F7B2
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075BAC: .4byte gUnknown_0202F7C8
+_08075BB0: .4byte gUnknown_0202F7C9
+_08075BB4: .4byte gUnknown_0202F7B2
+ thumb_func_end ma02_instanciate_template
+
+ thumb_func_start sub_8075BB8
+sub_8075BB8: @ 8075BB8
+ push {r4-r7,lr}
+ ldr r4, _08075C28 @ =gUnknown_0202F7A4
+ ldr r1, [r4]
+ adds r3, r1, 0x1
+ str r3, [r4]
+ ldrb r2, [r1, 0x1]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ adds r2, r0
+ ldrb r0, [r3, 0x2]
+ lsls r0, 16
+ adds r2, r0
+ ldrb r0, [r3, 0x3]
+ lsls r0, 24
+ adds r6, r2, r0
+ adds r0, r1, 0x5
+ str r0, [r4]
+ ldrb r7, [r1, 0x5]
+ adds r0, r1, 0x6
+ str r0, [r4]
+ ldrb r0, [r1, 0x6]
+ adds r1, 0x7
+ str r1, [r4]
+ cmp r0, 0
+ beq _08075C08
+ adds r5, r4, 0
+ ldr r4, _08075C2C @ =gUnknown_03004B00
+ adds r3, r0, 0
+_08075BF0:
+ ldr r2, [r5]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ strh r1, [r4]
+ adds r2, 0x2
+ str r2, [r5]
+ adds r4, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08075BF0
+_08075C08:
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ bl _call_via_r6
+ ldr r1, _08075C30 @ =gUnknown_0202F7B2
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075C28: .4byte gUnknown_0202F7A4
+_08075C2C: .4byte gUnknown_03004B00
+_08075C30: .4byte gUnknown_0202F7B2
+ thumb_func_end sub_8075BB8
+
+ thumb_func_start ma04_wait_countdown
+ma04_wait_countdown: @ 8075C34
+ push {r4,lr}
+ ldr r1, _08075C64 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r2, r0, 0x1
+ str r2, [r1]
+ ldr r3, _08075C68 @ =gUnknown_0202F7B0
+ ldrb r0, [r0, 0x1]
+ strb r0, [r3]
+ lsls r0, 24
+ cmp r0, 0
+ bne _08075C52
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ strb r0, [r3]
+_08075C52:
+ adds r0, r2, 0x1
+ str r0, [r1]
+ ldr r1, _08075C6C @ =gUnknown_0202F7AC
+ ldr r0, _08075C70 @ =move_anim_waiter
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075C64: .4byte gUnknown_0202F7A4
+_08075C68: .4byte gUnknown_0202F7B0
+_08075C6C: .4byte gUnknown_0202F7AC
+_08075C70: .4byte move_anim_waiter
+ thumb_func_end ma04_wait_countdown
+
+ thumb_func_start sub_8075C74
+sub_8075C74: @ 8075C74
+ push {lr}
+ ldr r0, _08075C8C @ =gUnknown_0202F7B2
+ ldrb r2, [r0]
+ cmp r2, 0
+ bne _08075C98
+ ldr r0, _08075C90 @ =gUnknown_0202F7A4
+ ldr r1, [r0]
+ adds r1, 0x1
+ str r1, [r0]
+ ldr r0, _08075C94 @ =gUnknown_0202F7B0
+ strb r2, [r0]
+ b _08075C9E
+ .align 2, 0
+_08075C8C: .4byte gUnknown_0202F7B2
+_08075C90: .4byte gUnknown_0202F7A4
+_08075C94: .4byte gUnknown_0202F7B0
+_08075C98:
+ ldr r1, _08075CA4 @ =gUnknown_0202F7B0
+ movs r0, 0x1
+ strb r0, [r1]
+_08075C9E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075CA4: .4byte gUnknown_0202F7B0
+ thumb_func_end sub_8075C74
+
+ thumb_func_start nullsub_53
+nullsub_53: @ 8075CA8
+ bx lr
+ thumb_func_end nullsub_53
+
+ thumb_func_start nullsub_88
+nullsub_88: @ 8075CAC
+ bx lr
+ thumb_func_end nullsub_88
+
+ thumb_func_start sub_8075CB0
+sub_8075CB0: @ 8075CB0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r0, 0
+ mov r8, r0
+ ldr r0, _08075CE0 @ =gUnknown_0202F7B2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08075CD8
+ ldr r0, _08075CE4 @ =gUnknown_0202F7B3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08075CD8
+ ldr r1, _08075CE8 @ =gUnknown_0202F7C2
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _08075CD8
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0xFF
+ beq _08075CF0
+_08075CD8:
+ ldr r1, _08075CEC @ =gUnknown_03004AF0
+ movs r0, 0
+ strh r0, [r1]
+ b _08075D0A
+ .align 2, 0
+_08075CE0: .4byte gUnknown_0202F7B2
+_08075CE4: .4byte gUnknown_0202F7B3
+_08075CE8: .4byte gUnknown_0202F7C2
+_08075CEC: .4byte gUnknown_03004AF0
+_08075CF0:
+ bl IsSEPlaying
+ lsls r0, 24
+ cmp r0, 0
+ beq _08075D28
+ ldr r1, _08075D14 @ =gUnknown_03004AF0
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x5A
+ bhi _08075D1C
+_08075D0A:
+ ldr r1, _08075D18 @ =gUnknown_0202F7B0
+ movs r0, 0x1
+ strb r0, [r1]
+ b _08075D8E
+ .align 2, 0
+_08075D14: .4byte gUnknown_03004AF0
+_08075D18: .4byte gUnknown_0202F7B0
+_08075D1C:
+ ldr r0, _08075D98 @ =gMPlay_SE1
+ bl m4aMPlayStop
+ ldr r0, _08075D9C @ =gMPlay_SE2
+ bl m4aMPlayStop
+_08075D28:
+ ldr r1, _08075DA0 @ =gUnknown_03004AF0
+ movs r0, 0
+ strh r0, [r1]
+ movs r5, 0
+ ldr r7, _08075DA4 @ =0x0000ffff
+ ldr r6, _08075DA8 @ =gBattleAnimPicTable
+ ldr r4, _08075DAC @ =gUnknown_03004B10
+_08075D36:
+ ldrh r0, [r4]
+ cmp r0, r7
+ beq _08075D5A
+ lsls r0, 3
+ adds r0, r6
+ ldrh r0, [r0, 0x6]
+ bl FreeSpriteTilesByTag
+ ldrh r0, [r4]
+ lsls r0, 3
+ adds r0, r6
+ ldrh r0, [r0, 0x6]
+ bl FreeSpritePaletteByTag
+ ldrh r1, [r4]
+ adds r0, r7, 0
+ orrs r0, r1
+ strh r0, [r4]
+_08075D5A:
+ adds r4, 0x2
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _08075D36
+ mov r1, r8
+ cmp r1, 0
+ bne _08075D8E
+ ldr r0, _08075DB0 @ =gMPlay_BGM
+ ldr r1, _08075DA4 @ =0x0000ffff
+ movs r2, 0x80
+ lsls r2, 1
+ bl m4aMPlayVolumeControl
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08075D88
+ bl sub_8079E24
+ movs r0, 0x1
+ bl sub_8043EB4
+_08075D88:
+ ldr r0, _08075DB4 @ =gUnknown_0202F7B1
+ mov r1, r8
+ strb r1, [r0]
+_08075D8E:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075D98: .4byte gMPlay_SE1
+_08075D9C: .4byte gMPlay_SE2
+_08075DA0: .4byte gUnknown_03004AF0
+_08075DA4: .4byte 0x0000ffff
+_08075DA8: .4byte gBattleAnimPicTable
+_08075DAC: .4byte gUnknown_03004B10
+_08075DB0: .4byte gMPlay_BGM
+_08075DB4: .4byte gUnknown_0202F7B1
+ thumb_func_end sub_8075CB0
+
+ thumb_func_start ma09_play_sound
+ma09_play_sound: @ 8075DB8
+ push {r4,lr}
+ ldr r4, _08075DDC @ =gUnknown_0202F7A4
+ ldr r0, [r4]
+ adds r1, r0, 0x1
+ str r1, [r4]
+ ldrb r0, [r0, 0x1]
+ ldrb r1, [r1, 0x1]
+ lsls r1, 8
+ orrs r0, r1
+ bl PlaySE
+ ldr r0, [r4]
+ adds r0, 0x2
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075DDC: .4byte gUnknown_0202F7A4
+ thumb_func_end ma09_play_sound
+
+ thumb_func_start sub_8075DE0
+sub_8075DE0: @ 8075DE0
+ push {r4-r7,lr}
+ ldr r0, _08075DF4 @ =gUnknown_0202F7A4
+ ldr r2, [r0]
+ adds r1, r2, 0x1
+ str r1, [r0]
+ ldrb r6, [r2, 0x1]
+ cmp r6, 0
+ bne _08075DF8
+ movs r6, 0x2
+ b _08075E02
+ .align 2, 0
+_08075DF4: .4byte gUnknown_0202F7A4
+_08075DF8:
+ cmp r6, 0x1
+ bne _08075DFE
+ movs r6, 0x3
+_08075DFE:
+ cmp r6, 0
+ beq _08075E06
+_08075E02:
+ cmp r6, 0x2
+ bne _08075E10
+_08075E06:
+ ldr r0, _08075E0C @ =gUnknown_0202F7C8
+ b _08075E12
+ .align 2, 0
+_08075E0C: .4byte gUnknown_0202F7C8
+_08075E10:
+ ldr r0, _08075E44 @ =gUnknown_0202F7C9
+_08075E12:
+ ldrb r5, [r0]
+ adds r0, r5, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _08075ECE
+ adds r0, r5, 0
+ bl battle_get_per_side_status
+ lsls r0, 24
+ movs r1, 0xFF
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08075E3E
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08075E48
+_08075E3E:
+ movs r7, 0
+ b _08075E4A
+ .align 2, 0
+_08075E44: .4byte gUnknown_0202F7C9
+_08075E48:
+ movs r7, 0x1
+_08075E4A:
+ adds r0, r5, 0
+ adds r1, r7, 0
+ bl sub_8076034
+ ldr r0, _08075E98 @ =gUnknown_02024BE0
+ adds r0, r5, r0
+ ldrb r4, [r0]
+ ldr r0, _08075E9C @ =task_pA_ma0A_obj_to_bg_pal
+ movs r1, 0xA
+ bl CreateTask
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r1, _08075EA0 @ =gTasks
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r2, r0, r1
+ strh r4, [r2, 0x8]
+ ldr r1, _08075EA4 @ =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x24]
+ ldrh r4, [r0, 0x20]
+ adds r1, r4
+ strh r1, [r2, 0xA]
+ ldrh r1, [r0, 0x26]
+ ldrh r0, [r0, 0x22]
+ adds r1, r0
+ strh r1, [r2, 0xC]
+ cmp r7, 0
+ bne _08075EB0
+ ldr r0, _08075EA8 @ =gUnknown_030042C0
+ ldrh r0, [r0]
+ strh r0, [r2, 0xE]
+ ldr r0, _08075EAC @ =gUnknown_030041B4
+ b _08075EB8
+ .align 2, 0
+_08075E98: .4byte gUnknown_02024BE0
+_08075E9C: .4byte task_pA_ma0A_obj_to_bg_pal
+_08075EA0: .4byte gTasks
+_08075EA4: .4byte gSprites
+_08075EA8: .4byte gUnknown_030042C0
+_08075EAC: .4byte gUnknown_030041B4
+_08075EB0:
+ ldr r0, _08075F04 @ =gUnknown_03004288
+ ldrh r0, [r0]
+ strh r0, [r2, 0xE]
+ ldr r0, _08075F08 @ =gUnknown_03004280
+_08075EB8:
+ ldrh r0, [r0]
+ strh r0, [r2, 0x10]
+ ldr r0, _08075F0C @ =gTasks
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ strh r7, [r1, 0x12]
+ strh r5, [r1, 0x14]
+ ldr r0, _08075F10 @ =gUnknown_0202F7C2
+ strb r3, [r0]
+_08075ECE:
+ movs r0, 0x2
+ eors r5, r0
+ cmp r6, 0x1
+ bls _08075F9A
+ adds r0, r5, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _08075F9A
+ adds r0, r5, 0
+ bl battle_get_per_side_status
+ lsls r0, 24
+ movs r1, 0xFF
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08075F00
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08075F14
+_08075F00:
+ movs r7, 0
+ b _08075F16
+ .align 2, 0
+_08075F04: .4byte gUnknown_03004288
+_08075F08: .4byte gUnknown_03004280
+_08075F0C: .4byte gTasks
+_08075F10: .4byte gUnknown_0202F7C2
+_08075F14:
+ movs r7, 0x1
+_08075F16:
+ adds r0, r5, 0
+ adds r1, r7, 0
+ bl sub_8076034
+ ldr r0, _08075F64 @ =gUnknown_02024BE0
+ adds r0, r5, r0
+ ldrb r4, [r0]
+ ldr r0, _08075F68 @ =task_pA_ma0A_obj_to_bg_pal
+ movs r1, 0xA
+ bl CreateTask
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r1, _08075F6C @ =gTasks
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r2, r0, r1
+ strh r4, [r2, 0x8]
+ ldr r1, _08075F70 @ =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x24]
+ ldrh r4, [r0, 0x20]
+ adds r1, r4
+ strh r1, [r2, 0xA]
+ ldrh r1, [r0, 0x26]
+ ldrh r0, [r0, 0x22]
+ adds r1, r0
+ strh r1, [r2, 0xC]
+ cmp r7, 0
+ bne _08075F7C
+ ldr r0, _08075F74 @ =gUnknown_030042C0
+ ldrh r0, [r0]
+ strh r0, [r2, 0xE]
+ ldr r0, _08075F78 @ =gUnknown_030041B4
+ b _08075F84
+ .align 2, 0
+_08075F64: .4byte gUnknown_02024BE0
+_08075F68: .4byte task_pA_ma0A_obj_to_bg_pal
+_08075F6C: .4byte gTasks
+_08075F70: .4byte gSprites
+_08075F74: .4byte gUnknown_030042C0
+_08075F78: .4byte gUnknown_030041B4
+_08075F7C:
+ ldr r0, _08075FA8 @ =gUnknown_03004288
+ ldrh r0, [r0]
+ strh r0, [r2, 0xE]
+ ldr r0, _08075FAC @ =gUnknown_03004280
+_08075F84:
+ ldrh r0, [r0]
+ strh r0, [r2, 0x10]
+ ldr r0, _08075FB0 @ =gTasks
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ strh r7, [r1, 0x12]
+ strh r5, [r1, 0x14]
+ ldr r0, _08075FB4 @ =gUnknown_0202F7C2
+ strb r3, [r0, 0x1]
+_08075F9A:
+ ldr r1, _08075FB8 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08075FA8: .4byte gUnknown_03004288
+_08075FAC: .4byte gUnknown_03004280
+_08075FB0: .4byte gTasks
+_08075FB4: .4byte gUnknown_0202F7C2
+_08075FB8: .4byte gUnknown_0202F7A4
+ thumb_func_end sub_8075DE0
+
+ thumb_func_start b_side_obj__get_some_boolean
+b_side_obj__get_some_boolean: @ 8075FBC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08075FDC
+ ldr r0, _08075FD8 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ cmp r4, r0
+ beq _0807601C
+ b _0807602C
+ .align 2, 0
+_08075FD8: .4byte gUnknown_0202F7C8
+_08075FDC:
+ adds r0, r4, 0
+ bl sub_8078874
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807602C
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807601C
+ lsls r0, r5, 2
+ ldr r1, _08076020 @ =0x02017800
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0807601C
+ ldr r2, _08076024 @ =gSprites
+ ldr r0, _08076028 @ =gUnknown_02024BE0
+ adds r0, r5, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ lsls r0, 29
+ cmp r0, 0
+ blt _0807602C
+_0807601C:
+ movs r0, 0x1
+ b _0807602E
+ .align 2, 0
+_08076020: .4byte 0x02017800
+_08076024: .4byte gSprites
+_08076028: .4byte gUnknown_02024BE0
+_0807602C:
+ movs r0, 0
+_0807602E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end b_side_obj__get_some_boolean
+
+ thumb_func_start sub_8076034
+sub_8076034: @ 8076034
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ lsls r1, 24
+ cmp r1, 0
+ beq _0807604E
+ b _08076220
+_0807604E:
+ add r4, sp, 0x10
+ adds r0, r4, 0
+ bl sub_8078914
+ ldr r2, [sp, 0x10]
+ movs r3, 0x80
+ lsls r3, 6
+ add r6, sp, 0x1C
+ add r0, sp, 0x20
+ mov r10, r0
+ mov r1, r9
+ lsls r1, 5
+ str r1, [sp, 0x24]
+ movs r5, 0
+ ldr r1, _08076194 @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ mov r12, r6
+ ldr r7, _08076198 @ =0x85000400
+ movs r0, 0x85
+ lsls r0, 24
+ mov r8, r0
+_0807607A:
+ str r5, [sp, 0x1C]
+ mov r0, r12
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _0807607A
+ str r5, [sp, 0x1C]
+ str r6, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ mov r2, r8
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ add r0, sp, 0xC
+ movs r1, 0
+ strb r1, [r0]
+ strb r1, [r0]
+ ldr r1, [sp, 0x14]
+ movs r0, 0xFF
+ mov r3, r10
+ strh r0, [r3]
+ ldr r0, _08076194 @ =0x040000d4
+ str r3, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _0807619C @ =0x81000800
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldr r2, _080761A0 @ =REG_BG1CNT
+ ldrb r1, [r2]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2, 0x1]
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ ldr r0, _080761A4 @ =gUnknown_02024BE0
+ add r0, r9
+ ldrb r4, [r0]
+ ldr r5, _080761A8 @ =gUnknown_030042C0
+ ldr r0, _080761AC @ =gSprites
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1, 0x24]
+ ldrh r1, [r1, 0x20]
+ adds r0, r1
+ negs r0, r0
+ adds r0, 0x20
+ strh r0, [r5]
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807611C
+ ldr r0, _080761B0 @ =0x02019348
+ ldrh r0, [r0]
+ bl sub_80AEB1C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807611C
+ ldrh r0, [r5]
+ subs r0, 0x1
+ strh r0, [r5]
+_0807611C:
+ ldr r3, _080761B4 @ =gUnknown_030041B4
+ ldr r2, _080761AC @ =gSprites
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ adds r1, r2
+ ldrh r0, [r1, 0x26]
+ ldrh r1, [r1, 0x22]
+ adds r0, r1
+ negs r0, r0
+ adds r0, 0x20
+ strh r0, [r3]
+ ldr r0, _080761A4 @ =gUnknown_02024BE0
+ add r0, r9
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ ldr r1, _080761B8 @ =REG_BG1HOFS
+ ldr r0, _080761A8 @ =gUnknown_030042C0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldrh r0, [r3]
+ strh r0, [r1]
+ ldr r4, _080761BC @ =gPlttBufferUnfaded + 0x200
+ ldr r0, [sp, 0x24]
+ adds r4, r0, r4
+ mov r2, sp
+ ldrb r1, [r2, 0x18]
+ lsls r1, 4
+ adds r0, r4, 0
+ movs r2, 0x20
+ bl LoadPalette
+ mov r3, sp
+ ldrb r0, [r3, 0x18]
+ lsls r0, 5
+ movs r1, 0xA0
+ lsls r1, 19
+ adds r0, r1
+ ldr r1, _08076194 @ =0x040000d4
+ str r4, [r1]
+ str r0, [r1, 0x4]
+ ldr r0, _080761C0 @ =0x84000008
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080761C4
+ movs r2, 0
+ b _080761CE
+ .align 2, 0
+_08076194: .4byte 0x040000d4
+_08076198: .4byte 0x85000400
+_0807619C: .4byte 0x81000800
+_080761A0: .4byte REG_BG1CNT
+_080761A4: .4byte gUnknown_02024BE0
+_080761A8: .4byte gUnknown_030042C0
+_080761AC: .4byte gSprites
+_080761B0: .4byte 0x02019348
+_080761B4: .4byte gUnknown_030041B4
+_080761B8: .4byte REG_BG1HOFS
+_080761BC: .4byte gPlttBufferUnfaded + 0x200
+_080761C0: .4byte 0x84000008
+_080761C4:
+ mov r0, r9
+ bl battle_get_per_side_status
+ lsls r0, 24
+ lsrs r2, r0, 24
+_080761CE:
+ mov r0, sp
+ ldrb r3, [r0, 0x18]
+ ldr r0, [sp, 0x10]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp]
+ ldr r4, [sp, 0x14]
+ movs r1, 0xFA
+ lsls r1, 24
+ adds r0, r4, r1
+ cmp r0, 0
+ bge _080761EA
+ ldr r1, _08076218 @ =0xfa0007ff
+ adds r0, r4, r1
+_080761EA:
+ asrs r0, 11
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ ldr r0, _0807621C @ =REG_BG1CNT
+ ldr r0, [r0]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0
+ bl sub_80E4EF8
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08076210
+ b _08076338
+_08076210:
+ bl sub_8076380
+ b _08076338
+ .align 2, 0
+_08076218: .4byte 0xfa0007ff
+_0807621C: .4byte REG_BG1CNT
+_08076220:
+ ldr r3, _08076348 @ =0x06006000
+ movs r5, 0x80
+ lsls r5, 6
+ add r6, sp, 0x1C
+ ldr r2, _0807634C @ =gSprites
+ mov r10, r2
+ mov r0, r9
+ lsls r0, 5
+ str r0, [sp, 0x24]
+ movs r4, 0
+ ldr r1, _08076350 @ =0x040000d4
+ movs r2, 0x80
+ lsls r2, 5
+ mov r12, r6
+ ldr r7, _08076354 @ =0x85000400
+ movs r0, 0x85
+ lsls r0, 24
+ mov r8, r0
+_08076244:
+ str r4, [sp, 0x1C]
+ mov r0, r12
+ str r0, [r1]
+ str r3, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r3, r2
+ subs r5, r2
+ cmp r5, r2
+ bhi _08076244
+ str r4, [sp, 0x1C]
+ str r6, [r1]
+ str r3, [r1, 0x4]
+ lsrs r0, r5, 2
+ mov r2, r8
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ add r0, sp, 0xC
+ movs r1, 0
+ strb r1, [r0]
+ strb r1, [r0]
+ ldr r1, _08076358 @ =0x0600f000
+ movs r0, 0
+ str r0, [sp, 0x1C]
+ ldr r5, _08076350 @ =0x040000d4
+ str r6, [r5]
+ str r1, [r5, 0x4]
+ ldr r0, _0807635C @ =0x85000200
+ str r0, [r5, 0x8]
+ ldr r0, [r5, 0x8]
+ ldr r6, _08076360 @ =REG_BG2CNT
+ ldrb r1, [r6]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r6]
+ ldrb r1, [r6, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r6, 0x1]
+ ldrb r1, [r6, 0x1]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r6, 0x1]
+ ldr r2, _08076364 @ =gUnknown_02024BE0
+ add r2, r9
+ ldrb r4, [r2]
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ add r1, r10
+ ldrh r0, [r1, 0x24]
+ ldrh r3, [r1, 0x20]
+ adds r0, r3
+ negs r0, r0
+ adds r0, 0x20
+ ldr r3, _08076368 @ =gUnknown_03004288
+ strh r0, [r3]
+ ldrh r0, [r1, 0x26]
+ ldrh r1, [r1, 0x22]
+ adds r0, r1
+ negs r0, r0
+ adds r0, 0x20
+ ldr r1, _0807636C @ =gUnknown_03004280
+ strh r0, [r1]
+ ldrb r1, [r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r10
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ ldr r1, _08076370 @ =REG_BG2HOFS
+ ldrh r0, [r3]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r2, _0807636C @ =gUnknown_03004280
+ ldrh r0, [r2]
+ strh r0, [r1]
+ ldr r3, [sp, 0x24]
+ ldr r0, _08076374 @ =gPlttBufferUnfaded + 0x200
+ adds r4, r3, r0
+ adds r0, r4, 0
+ movs r1, 0x90
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _08076378 @ =0x05000120
+ str r4, [r5]
+ str r0, [r5, 0x4]
+ ldr r0, _0807637C @ =0x84000008
+ str r0, [r5, 0x8]
+ ldr r0, [r5, 0x8]
+ mov r0, r9
+ bl battle_get_per_side_status
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ movs r0, 0xC0
+ lsls r0, 7
+ str r0, [sp]
+ movs r0, 0x1E
+ str r0, [sp, 0x4]
+ ldr r0, [r6]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0
+ movs r3, 0x9
+ bl sub_80E4EF8
+_08076338:
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076348: .4byte 0x06006000
+_0807634C: .4byte gSprites
+_08076350: .4byte 0x040000d4
+_08076354: .4byte 0x85000400
+_08076358: .4byte 0x0600f000
+_0807635C: .4byte 0x85000200
+_08076360: .4byte REG_BG2CNT
+_08076364: .4byte gUnknown_02024BE0
+_08076368: .4byte gUnknown_03004288
+_0807636C: .4byte gUnknown_03004280
+_08076370: .4byte REG_BG2HOFS
+_08076374: .4byte gPlttBufferUnfaded + 0x200
+_08076378: .4byte 0x05000120
+_0807637C: .4byte 0x84000008
+ thumb_func_end sub_8076034
+
+ thumb_func_start sub_8076380
+sub_8076380: @ 8076380
+ push {r4-r7,lr}
+ sub sp, 0xC
+ ldr r0, _080763F8 @ =0x02019348
+ ldrh r0, [r0]
+ bl sub_80AEB1C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080763EE
+ mov r0, sp
+ bl sub_8078914
+ ldr r6, [sp, 0x4]
+ movs r5, 0
+ movs r0, 0x7
+ mov r12, r0
+ movs r7, 0
+_080763A2:
+ movs r4, 0
+ adds r3, r7, r6
+ mov r1, r12
+ lsls r0, r1, 1
+ adds r2, r0, r6
+_080763AC:
+ ldrh r1, [r3]
+ ldrh r0, [r2]
+ strh r0, [r3]
+ strh r1, [r2]
+ adds r3, 0x2
+ subs r2, 0x2
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080763AC
+ movs r0, 0x20
+ add r12, r0
+ adds r7, 0x40
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _080763A2
+ movs r5, 0
+ movs r1, 0x80
+ lsls r1, 3
+ adds r3, r1, 0
+_080763D2:
+ adds r2, r5, 0x1
+ lsls r0, r5, 6
+ adds r1, r0, r6
+ movs r4, 0x7
+_080763DA:
+ ldrh r0, [r1]
+ eors r0, r3
+ strh r0, [r1]
+ adds r1, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080763DA
+ adds r5, r2, 0
+ cmp r5, 0x7
+ ble _080763D2
+_080763EE:
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080763F8: .4byte 0x02019348
+ thumb_func_end sub_8076380
+
+ thumb_func_start sub_80763FC
+sub_80763FC: @ 80763FC
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ mov r12, r1
+ adds r7, r2, 0
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r3, 24
+ movs r0, 0x40
+ mov r9, r0
+ cmp r3, 0
+ bne _0807641A
+ movs r1, 0x20
+ mov r9, r1
+_0807641A:
+ lsls r0, r6, 28
+ lsrs r6, r0, 16
+ movs r0, 0
+ cmp r0, r9
+ bcs _08076452
+ ldr r1, _08076460 @ =0x00000fff
+ mov r8, r1
+_08076428:
+ movs r3, 0
+ adds r5, r0, 0x1
+ lsls r4, r0, 5
+_0807642E:
+ adds r1, r4, r3
+ lsls r1, 1
+ add r1, r12
+ ldrh r2, [r1]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r6
+ adds r0, r7
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x1F
+ bls _0807642E
+ lsls r0, r5, 24
+ lsrs r0, 24
+ cmp r0, r9
+ bcc _08076428
+_08076452:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076460: .4byte 0x00000fff
+ thumb_func_end sub_80763FC
+
+ thumb_func_start sub_8076464
+sub_8076464: @ 8076464
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ add r5, sp, 0x4
+ adds r0, r5, 0
+ bl sub_8078914
+ cmp r4, 0
+ beq _0807648C
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080764F0
+_0807648C:
+ ldr r2, [sp, 0x4]
+ movs r3, 0x80
+ lsls r3, 6
+ add r5, sp, 0x10
+ ldr r0, _080764E0 @ =gUnknown_030042C0
+ mov r9, r0
+ ldr r0, _080764E4 @ =gUnknown_030041B4
+ mov r10, r0
+ movs r6, 0
+ ldr r1, _080764E8 @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ mov r12, r5
+ ldr r7, _080764EC @ =0x85000400
+ movs r0, 0x85
+ lsls r0, 24
+ mov r8, r0
+_080764AE:
+ str r6, [sp, 0x10]
+ mov r0, r12
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _080764AE
+ str r6, [sp, 0x10]
+ str r5, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ mov r2, r8
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ mov r0, sp
+ movs r1, 0
+ strb r1, [r0]
+ strb r1, [r0]
+ ldr r1, [sp, 0x8]
+ b _08076540
+ .align 2, 0
+_080764E0: .4byte gUnknown_030042C0
+_080764E4: .4byte gUnknown_030041B4
+_080764E8: .4byte 0x040000d4
+_080764EC: .4byte 0x85000400
+_080764F0:
+ ldr r2, _08076568 @ =0x06006000
+ movs r3, 0x80
+ lsls r3, 6
+ add r5, sp, 0x10
+ ldr r0, _0807656C @ =gUnknown_03004288
+ mov r9, r0
+ ldr r0, _08076570 @ =gUnknown_03004280
+ mov r10, r0
+ movs r6, 0
+ ldr r1, _08076574 @ =0x040000d4
+ movs r4, 0x80
+ lsls r4, 5
+ mov r12, r5
+ ldr r7, _08076578 @ =0x85000400
+ movs r0, 0x85
+ lsls r0, 24
+ mov r8, r0
+_08076512:
+ str r6, [sp, 0x10]
+ mov r0, r12
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r4
+ subs r3, r4
+ cmp r3, r4
+ bhi _08076512
+ str r6, [sp, 0x10]
+ str r5, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 2
+ mov r2, r8
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ mov r0, sp
+ movs r1, 0
+ strb r1, [r0]
+ strb r1, [r0]
+ ldr r1, _0807657C @ =0x0600f000
+_08076540:
+ movs r2, 0
+ str r2, [sp, 0x10]
+ ldr r0, _08076574 @ =0x040000d4
+ str r5, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _08076580 @ =0x85000200
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ mov r0, r9
+ strh r2, [r0]
+ mov r0, r10
+ strh r2, [r0]
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076568: .4byte 0x06006000
+_0807656C: .4byte gUnknown_03004288
+_08076570: .4byte gUnknown_03004280
+_08076574: .4byte 0x040000d4
+_08076578: .4byte 0x85000400
+_0807657C: .4byte 0x0600f000
+_08076580: .4byte 0x85000200
+ thumb_func_end sub_8076464
+
+ thumb_func_start task_pA_ma0A_obj_to_bg_pal
+task_pA_ma0A_obj_to_bg_pal: @ 8076584
+ push {r4-r6,lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080765FC @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r5, r1, r2
+ ldrb r4, [r5, 0x8]
+ ldrb r6, [r5, 0x14]
+ mov r0, sp
+ bl sub_8078914
+ ldr r0, _08076600 @ =gSprites
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ adds r1, r0
+ ldrh r2, [r1, 0x24]
+ ldrh r0, [r1, 0x20]
+ adds r2, r0
+ ldrh r0, [r5, 0xA]
+ subs r0, r2
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldrh r2, [r1, 0x26]
+ ldrh r1, [r1, 0x22]
+ adds r2, r1
+ ldrh r0, [r5, 0xC]
+ subs r0, r2
+ lsls r0, 16
+ lsrs r2, r0, 16
+ movs r1, 0x12
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _08076614
+ ldr r1, _08076604 @ =gUnknown_030042C0
+ lsls r0, r3, 16
+ asrs r0, 16
+ ldrh r3, [r5, 0xE]
+ adds r0, r3
+ strh r0, [r1]
+ ldr r1, _08076608 @ =gUnknown_030041B4
+ lsls r0, r2, 16
+ asrs r0, 16
+ ldrh r5, [r5, 0x10]
+ adds r0, r5
+ strh r0, [r1]
+ lsls r2, r6, 5
+ ldr r1, _0807660C @ =gPlttBufferFaded + 0x200
+ adds r2, r1
+ mov r0, sp
+ ldrb r0, [r0, 0x8]
+ lsls r0, 5
+ ldr r3, _08076610 @ =0xfffffe00
+ adds r1, r3
+ adds r0, r1
+ b _08076634
+ .align 2, 0
+_080765FC: .4byte gTasks
+_08076600: .4byte gSprites
+_08076604: .4byte gUnknown_030042C0
+_08076608: .4byte gUnknown_030041B4
+_0807660C: .4byte gPlttBufferFaded + 0x200
+_08076610: .4byte 0xfffffe00
+_08076614:
+ ldr r1, _08076648 @ =gUnknown_03004288
+ lsls r0, r3, 16
+ asrs r0, 16
+ ldrh r3, [r5, 0xE]
+ adds r0, r3
+ strh r0, [r1]
+ ldr r1, _0807664C @ =gUnknown_03004280
+ lsls r0, r2, 16
+ asrs r0, 16
+ ldrh r5, [r5, 0x10]
+ adds r0, r5
+ strh r0, [r1]
+ lsls r2, r6, 5
+ ldr r0, _08076650 @ =gPlttBufferFaded + 0x200
+ adds r2, r0
+ subs r0, 0xE0
+_08076634:
+ ldr r1, _08076654 @ =0x040000d4
+ str r2, [r1]
+ str r0, [r1, 0x4]
+ ldr r0, _08076658 @ =0x84000008
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076648: .4byte gUnknown_03004288
+_0807664C: .4byte gUnknown_03004280
+_08076650: .4byte gPlttBufferFaded + 0x200
+_08076654: .4byte 0x040000d4
+_08076658: .4byte 0x84000008
+ thumb_func_end task_pA_ma0A_obj_to_bg_pal
+
+ thumb_func_start ma0B_0807324C
+ma0B_0807324C: @ 807665C
+ push {r4,r5,lr}
+ ldr r0, _08076670 @ =gUnknown_0202F7A4
+ ldr r2, [r0]
+ adds r1, r2, 0x1
+ str r1, [r0]
+ ldrb r4, [r2, 0x1]
+ cmp r4, 0
+ bne _08076674
+ movs r4, 0x2
+ b _0807667E
+ .align 2, 0
+_08076670: .4byte gUnknown_0202F7A4
+_08076674:
+ cmp r4, 0x1
+ bne _0807667A
+ movs r4, 0x3
+_0807667A:
+ cmp r4, 0
+ beq _08076682
+_0807667E:
+ cmp r4, 0x2
+ bne _0807668C
+_08076682:
+ ldr r0, _08076688 @ =gUnknown_0202F7C8
+ b _0807668E
+ .align 2, 0
+_08076688: .4byte gUnknown_0202F7C8
+_0807668C:
+ ldr r0, _080766E4 @ =gUnknown_0202F7C9
+_0807668E:
+ ldrb r5, [r0]
+ ldr r3, _080766E8 @ =gUnknown_0202F7C2
+ ldrb r0, [r3]
+ cmp r0, 0xFF
+ beq _080766B4
+ ldr r2, _080766EC @ =gSprites
+ ldr r0, _080766F0 @ =gUnknown_02024BE0
+ adds r0, r5, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+_080766B4:
+ cmp r4, 0x1
+ bls _080766F4
+ ldrb r0, [r3, 0x1]
+ cmp r0, 0xFF
+ beq _080766F4
+ ldr r3, _080766EC @ =gSprites
+ ldr r2, _080766F0 @ =gUnknown_02024BE0
+ movs r1, 0x2
+ adds r0, r5, 0
+ eors r0, r1
+ adds r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ b _080766F6
+ .align 2, 0
+_080766E4: .4byte gUnknown_0202F7C9
+_080766E8: .4byte gUnknown_0202F7C2
+_080766EC: .4byte gSprites
+_080766F0: .4byte gUnknown_02024BE0
+_080766F4:
+ movs r4, 0
+_080766F6:
+ ldr r0, _08076720 @ =sub_807672C
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08076724 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0x8]
+ strh r5, [r1, 0xC]
+ ldr r1, _08076728 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076720: .4byte sub_807672C
+_08076724: .4byte gTasks
+_08076728: .4byte gUnknown_0202F7A4
+ thumb_func_end ma0B_0807324C
+
+ thumb_func_start sub_807672C
+sub_807672C: @ 807672C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _0807676C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r1, r0, r1
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ beq _080767B6
+ ldrb r0, [r1, 0xC]
+ bl battle_get_per_side_status
+ lsls r0, 24
+ movs r1, 0xFF
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08076768
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076770
+_08076768:
+ movs r4, 0
+ b _08076772
+ .align 2, 0
+_0807676C: .4byte gTasks
+_08076770:
+ movs r4, 0x1
+_08076772:
+ ldr r6, _080767BC @ =gUnknown_0202F7C2
+ ldrb r0, [r6]
+ cmp r0, 0xFF
+ beq _0807678A
+ adds r0, r4, 0
+ bl sub_8076464
+ ldrb r0, [r6]
+ bl DestroyTask
+ movs r0, 0xFF
+ strb r0, [r6]
+_0807678A:
+ ldr r0, _080767C0 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ ble _080767B0
+ movs r0, 0x1
+ eors r4, r0
+ adds r0, r4, 0
+ bl sub_8076464
+ ldrb r0, [r6, 0x1]
+ bl DestroyTask
+ movs r0, 0xFF
+ strb r0, [r6, 0x1]
+_080767B0:
+ adds r0, r5, 0
+ bl DestroyTask
+_080767B6:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080767BC: .4byte gUnknown_0202F7C2
+_080767C0: .4byte gTasks
+ thumb_func_end sub_807672C
+
+ thumb_func_start sub_80767C4
+sub_80767C4: @ 80767C4
+ push {r4,r5,lr}
+ ldr r0, _080767D8 @ =gUnknown_0202F7A4
+ ldr r2, [r0]
+ adds r1, r2, 0x1
+ str r1, [r0]
+ ldrb r5, [r2, 0x1]
+ cmp r5, 0
+ bne _080767DC
+ movs r5, 0x2
+ b _080767E6
+ .align 2, 0
+_080767D8: .4byte gUnknown_0202F7A4
+_080767DC:
+ cmp r5, 0x1
+ bne _080767E2
+ movs r5, 0x3
+_080767E2:
+ cmp r5, 0
+ beq _080767EA
+_080767E6:
+ cmp r5, 0x2
+ bne _080767F4
+_080767EA:
+ ldr r0, _080767F0 @ =gUnknown_0202F7C8
+ b _080767F6
+ .align 2, 0
+_080767F0: .4byte gUnknown_0202F7C8
+_080767F4:
+ ldr r0, _08076828 @ =gUnknown_0202F7C9
+_080767F6:
+ ldrb r4, [r0]
+ adds r0, r4, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076850
+ adds r0, r4, 0
+ bl battle_get_per_side_status
+ lsls r0, 24
+ movs r1, 0xFF
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08076822
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807682C
+_08076822:
+ movs r1, 0
+ b _0807682E
+ .align 2, 0
+_08076828: .4byte gUnknown_0202F7C9
+_0807682C:
+ movs r1, 0x1
+_0807682E:
+ adds r0, r4, 0
+ bl sub_8076034
+ ldr r2, _08076888 @ =gSprites
+ ldr r0, _0807688C @ =gUnknown_02024BE0
+ adds r0, r4, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+_08076850:
+ movs r0, 0x2
+ eors r4, r0
+ cmp r5, 0x1
+ bls _080768B4
+ adds r0, r4, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _080768B4
+ adds r0, r4, 0
+ bl battle_get_per_side_status
+ lsls r0, 24
+ movs r1, 0xFF
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08076882
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076890
+_08076882:
+ movs r1, 0
+ b _08076892
+ .align 2, 0
+_08076888: .4byte gSprites
+_0807688C: .4byte gUnknown_02024BE0
+_08076890:
+ movs r1, 0x1
+_08076892:
+ adds r0, r4, 0
+ bl sub_8076034
+ ldr r2, _080768C4 @ =gSprites
+ ldr r0, _080768C8 @ =gUnknown_02024BE0
+ adds r0, r4, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+_080768B4:
+ ldr r1, _080768CC @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080768C4: .4byte gSprites
+_080768C8: .4byte gUnknown_02024BE0
+_080768CC: .4byte gUnknown_0202F7A4
+ thumb_func_end sub_80767C4
+
+ thumb_func_start ma23_8073484
+ma23_8073484: @ 80768D0
+ push {r4-r6,lr}
+ ldr r0, _080768E4 @ =gUnknown_0202F7A4
+ ldr r2, [r0]
+ adds r1, r2, 0x1
+ str r1, [r0]
+ ldrb r5, [r2, 0x1]
+ cmp r5, 0
+ bne _080768E8
+ movs r5, 0x2
+ b _080768F2
+ .align 2, 0
+_080768E4: .4byte gUnknown_0202F7A4
+_080768E8:
+ cmp r5, 0x1
+ bne _080768EE
+ movs r5, 0x3
+_080768EE:
+ cmp r5, 0
+ beq _080768F6
+_080768F2:
+ cmp r5, 0x2
+ bne _08076900
+_080768F6:
+ ldr r0, _080768FC @ =gUnknown_0202F7C8
+ b _08076902
+ .align 2, 0
+_080768FC: .4byte gUnknown_0202F7C8
+_08076900:
+ ldr r0, _08076960 @ =gUnknown_0202F7C9
+_08076902:
+ ldrb r6, [r0]
+ adds r0, r6, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807692C
+ ldr r2, _08076964 @ =gSprites
+ ldr r0, _08076968 @ =gUnknown_02024BE0
+ adds r0, r6, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+_0807692C:
+ cmp r5, 0x1
+ bls _0807696C
+ movs r0, 0x2
+ adds r4, r6, 0
+ eors r4, r0
+ adds r0, r4, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807696C
+ ldr r2, _08076964 @ =gSprites
+ ldr r0, _08076968 @ =gUnknown_02024BE0
+ adds r0, r4, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ b _0807696E
+ .align 2, 0
+_08076960: .4byte gUnknown_0202F7C9
+_08076964: .4byte gSprites
+_08076968: .4byte gUnknown_02024BE0
+_0807696C:
+ movs r5, 0
+_0807696E:
+ ldr r0, _08076998 @ =sub_80769A4
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0807699C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r5, [r1, 0x8]
+ strh r6, [r1, 0xC]
+ ldr r1, _080769A0 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076998: .4byte sub_80769A4
+_0807699C: .4byte gTasks
+_080769A0: .4byte gUnknown_0202F7A4
+ thumb_func_end ma23_8073484
+
+ thumb_func_start sub_80769A4
+sub_80769A4: @ 80769A4
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080769E8 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r1, r0, r1
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x1
+ strh r0, [r1, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ beq _08076A32
+ ldrb r4, [r1, 0xC]
+ adds r0, r4, 0
+ bl battle_get_per_side_status
+ lsls r0, 24
+ movs r1, 0xFF
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _080769E2
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080769EC
+_080769E2:
+ movs r5, 0
+ b _080769EE
+ .align 2, 0
+_080769E8: .4byte gTasks
+_080769EC:
+ movs r5, 0x1
+_080769EE:
+ adds r0, r4, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076A00
+ adds r0, r5, 0
+ bl sub_8076464
+_08076A00:
+ ldr r0, _08076A38 @ =gTasks
+ lsls r1, r6, 2
+ adds r1, r6
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ ble _08076A2C
+ movs r0, 0x2
+ eors r4, r0
+ adds r0, r4, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076A2C
+ movs r0, 0x1
+ eors r5, r0
+ adds r0, r5, 0
+ bl sub_8076464
+_08076A2C:
+ adds r0, r6, 0
+ bl DestroyTask
+_08076A32:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076A38: .4byte gTasks
+ thumb_func_end sub_80769A4
+
+ thumb_func_start sub_8076A3C
+sub_8076A3C: @ 8076A3C
+ push {r4,lr}
+ ldr r2, _08076A6C @ =gUnknown_0202F7A4
+ ldr r0, [r2]
+ adds r1, r0, 0x1
+ str r1, [r2]
+ ldrb r3, [r0, 0x1]
+ adds r0, r1, 0x1
+ str r0, [r2]
+ ldrb r1, [r1, 0x1]
+ lsls r1, 8
+ adds r0, 0x1
+ str r0, [r2]
+ ldr r2, _08076A70 @ =REG_BLDCNT
+ movs r4, 0xFD
+ lsls r4, 6
+ adds r0, r4, 0
+ strh r0, [r2]
+ ldr r0, _08076A74 @ =REG_BLDALPHA
+ orrs r3, r1
+ strh r3, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076A6C: .4byte gUnknown_0202F7A4
+_08076A70: .4byte REG_BLDCNT
+_08076A74: .4byte REG_BLDALPHA
+ thumb_func_end sub_8076A3C
+
+ thumb_func_start sub_8076A78
+sub_8076A78: @ 8076A78
+ ldr r2, _08076A98 @ =gUnknown_0202F7A4
+ ldr r0, [r2]
+ adds r1, r0, 0x1
+ str r1, [r2]
+ ldrb r3, [r0, 0x1]
+ adds r0, r1, 0x1
+ str r0, [r2]
+ ldrb r1, [r1, 0x1]
+ lsls r1, 8
+ adds r0, 0x1
+ str r0, [r2]
+ ldr r0, _08076A9C @ =REG_BLDCNT
+ orrs r3, r1
+ strh r3, [r0]
+ bx lr
+ .align 2, 0
+_08076A98: .4byte gUnknown_0202F7A4
+_08076A9C: .4byte REG_BLDCNT
+ thumb_func_end sub_8076A78
+
+ thumb_func_start sub_8076AA0
+sub_8076AA0: @ 8076AA0
+ ldr r1, _08076AB4 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ ldr r0, _08076AB8 @ =REG_BLDCNT
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_08076AB4: .4byte gUnknown_0202F7A4
+_08076AB8: .4byte REG_BLDCNT
+ thumb_func_end sub_8076AA0
+
+ thumb_func_start ma0E_call
+ma0E_call: @ 8076ABC
+ push {r4,lr}
+ ldr r4, _08076AE8 @ =gUnknown_0202F7A4
+ ldr r1, [r4]
+ adds r3, r1, 0x1
+ str r3, [r4]
+ ldr r2, _08076AEC @ =gUnknown_0202F7A8
+ adds r0, r1, 0x5
+ str r0, [r2]
+ ldrb r1, [r1, 0x1]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ adds r1, r0
+ ldrb r0, [r3, 0x2]
+ lsls r0, 16
+ adds r1, r0
+ ldrb r0, [r3, 0x3]
+ lsls r0, 24
+ adds r1, r0
+ str r1, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076AE8: .4byte gUnknown_0202F7A4
+_08076AEC: .4byte gUnknown_0202F7A8
+ thumb_func_end ma0E_call
+
+ thumb_func_start sub_8076AF0
+sub_8076AF0: @ 8076AF0
+ ldr r0, _08076AFC @ =gUnknown_0202F7A4
+ ldr r1, _08076B00 @ =gUnknown_0202F7A8
+ ldr r1, [r1]
+ str r1, [r0]
+ bx lr
+ .align 2, 0
+_08076AFC: .4byte gUnknown_0202F7A4
+_08076B00: .4byte gUnknown_0202F7A8
+ thumb_func_end sub_8076AF0
+
+ thumb_func_start ma10_080736AC
+ma10_080736AC: @ 8076B04
+ push {r4,r5,lr}
+ ldr r5, _08076B30 @ =gUnknown_0202F7A4
+ ldr r1, [r5]
+ adds r0, r1, 0x1
+ str r0, [r5]
+ ldrb r2, [r1, 0x1]
+ adds r3, r0, 0x1
+ str r3, [r5]
+ ldrb r4, [r0, 0x1]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r4, r0
+ adds r1, 0x4
+ str r1, [r5]
+ ldr r0, _08076B34 @ =gUnknown_03004B00
+ lsls r2, 1
+ adds r2, r0
+ strh r4, [r2]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076B30: .4byte gUnknown_0202F7A4
+_08076B34: .4byte gUnknown_03004B00
+ thumb_func_end ma10_080736AC
+
+ thumb_func_start ma11_if_else
+ma11_if_else: @ 8076B38
+ push {lr}
+ ldr r3, _08076B70 @ =gUnknown_0202F7A4
+ ldr r2, [r3]
+ adds r0, r2, 0x1
+ str r0, [r3]
+ ldr r0, _08076B74 @ =gUnknown_0202F7C4
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08076B52
+ adds r0, r2, 0x5
+ str r0, [r3]
+_08076B52:
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ adds r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ adds r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ adds r1, r0
+ str r1, [r3]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076B70: .4byte gUnknown_0202F7A4
+_08076B74: .4byte gUnknown_0202F7C4
+ thumb_func_end ma11_if_else
+
+ thumb_func_start ma12_cond_if
+ma12_cond_if: @ 8076B78
+ push {r4,r5,lr}
+ ldr r5, _08076BA8 @ =gUnknown_0202F7A4
+ ldr r4, [r5]
+ adds r2, r4, 0x1
+ str r2, [r5]
+ ldrb r1, [r4, 0x1]
+ adds r3, r2, 0x1
+ str r3, [r5]
+ ldr r0, _08076BAC @ =gUnknown_0202F7C4
+ ldrb r0, [r0]
+ cmp r1, r0
+ bne _08076BB0
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ adds r1, r0
+ ldrb r0, [r3, 0x2]
+ lsls r0, 16
+ adds r1, r0
+ ldrb r0, [r3, 0x3]
+ lsls r0, 24
+ adds r1, r0
+ str r1, [r5]
+ b _08076BB4
+ .align 2, 0
+_08076BA8: .4byte gUnknown_0202F7A4
+_08076BAC: .4byte gUnknown_0202F7C4
+_08076BB0:
+ adds r0, r4, 0x6
+ str r0, [r5]
+_08076BB4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end ma12_cond_if
+
+ thumb_func_start sub_8076BBC
+sub_8076BBC: @ 8076BBC
+ ldr r3, _08076BDC @ =gUnknown_0202F7A4
+ ldr r0, [r3]
+ adds r2, r0, 0x1
+ str r2, [r3]
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ adds r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ adds r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ adds r1, r0
+ str r1, [r3]
+ bx lr
+ .align 2, 0
+_08076BDC: .4byte gUnknown_0202F7A4
+ thumb_func_end sub_8076BBC
+
+ thumb_func_start sub_8076BE0
+sub_8076BE0: @ 8076BE0
+ push {lr}
+ ldr r0, _08076BF8 @ =gMain
+ ldr r1, _08076BFC @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08076C00
+ movs r0, 0
+ b _08076C02
+ .align 2, 0
+_08076BF8: .4byte gMain
+_08076BFC: .4byte 0x0000043d
+_08076C00:
+ movs r0, 0x1
+_08076C02:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8076BE0
+
+ thumb_func_start ma14_load_background
+ma14_load_background: @ 8076C08
+ push {r4,lr}
+ ldr r1, _08076C3C @ =gUnknown_0202F7A4
+ ldr r2, [r1]
+ adds r0, r2, 0x1
+ str r0, [r1]
+ ldrb r4, [r2, 0x1]
+ adds r0, 0x1
+ str r0, [r1]
+ ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08076C44 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0x8]
+ ldr r1, _08076C48 @ =gUnknown_0202F7C5
+ movs r0, 0x1
+ strb r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076C3C: .4byte gUnknown_0202F7A4
+_08076C40: .4byte task_p5_load_battle_screen_elements
+_08076C44: .4byte gTasks
+_08076C48: .4byte gUnknown_0202F7C5
+ thumb_func_end ma14_load_background
+
+ thumb_func_start sub_8076C4C
+sub_8076C4C: @ 8076C4C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r2, _08076C8C @ =gUnknown_0202F7A4
+ ldr r1, [r2]
+ adds r0, r1, 0x1
+ str r0, [r2]
+ ldrb r3, [r1, 0x1]
+ mov r8, r3
+ ldrb r7, [r0, 0x1]
+ ldrb r6, [r0, 0x2]
+ adds r1, 0x4
+ str r1, [r2]
+ ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076C98
+ ldr r1, _08076C94 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r6, [r0, 0x8]
+ b _08076CCA
+ .align 2, 0
+_08076C8C: .4byte gUnknown_0202F7A4
+_08076C90: .4byte task_p5_load_battle_screen_elements
+_08076C94: .4byte gTasks
+_08076C98:
+ ldr r0, _08076CB4 @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _08076CBC
+ ldr r1, _08076CB8 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r7, [r0, 0x8]
+ b _08076CCA
+ .align 2, 0
+_08076CB4: .4byte gUnknown_0202F7C9
+_08076CB8: .4byte gTasks
+_08076CBC:
+ ldr r1, _08076CDC @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ mov r1, r8
+ strh r1, [r0, 0x8]
+_08076CCA:
+ ldr r1, _08076CE0 @ =gUnknown_0202F7C5
+ movs r0, 0x1
+ strb r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076CDC: .4byte gTasks
+_08076CE0: .4byte gUnknown_0202F7C5
+ thumb_func_end sub_8076C4C
+
+ thumb_func_start task_p5_load_battle_screen_elements
+task_p5_load_battle_screen_elements: @ 8076CE4
+ push {r4-r7,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _08076D18 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r6, [r4, 0x1C]
+ movs r0, 0x1C
+ ldrsh r3, [r4, r0]
+ adds r7, r1, 0
+ cmp r3, 0
+ bne _08076D1C
+ str r3, [sp]
+ movs r0, 0xE8
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginHardwarePaletteFade
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x1
+ strh r0, [r4, 0x1C]
+ b _08076DAC
+ .align 2, 0
+_08076D18: .4byte gTasks
+_08076D1C:
+ ldr r2, _08076D38 @ =gPaletteFade
+ ldrb r1, [r2, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08076DAC
+ cmp r3, 0x1
+ bne _08076D40
+ adds r0, r6, 0x1
+ strh r0, [r4, 0x1C]
+ ldr r1, _08076D3C @ =gUnknown_0202F7C5
+ movs r0, 0x2
+ strb r0, [r1]
+ b _08076D84
+ .align 2, 0
+_08076D38: .4byte gPaletteFade
+_08076D3C: .4byte gUnknown_0202F7C5
+_08076D40:
+ cmp r3, 0x2
+ bne _08076D84
+ ldrh r0, [r4, 0x8]
+ lsls r2, r0, 16
+ asrs r1, r2, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ bne _08076D58
+ bl dp01t_11_3_message_for_player_only
+ b _08076D5E
+_08076D58:
+ lsrs r0, r2, 16
+ bl sub_8076DB8
+_08076D5E:
+ movs r0, 0x1
+ str r0, [sp]
+ movs r0, 0xE8
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginHardwarePaletteFade
+ ldr r1, _08076D80 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x1C]
+ adds r1, 0x1
+ strh r1, [r0, 0x1C]
+ b _08076DAC
+ .align 2, 0
+_08076D80: .4byte gTasks
+_08076D84:
+ ldrb r1, [r2, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _08076DAC
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r7
+ movs r1, 0x1C
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x3
+ bne _08076DAC
+ adds r0, r5, 0
+ bl DestroyTask
+ ldr r0, _08076DB4 @ =gUnknown_0202F7C5
+ strb r4, [r0]
+_08076DAC:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076DB4: .4byte gUnknown_0202F7C5
+ thumb_func_end task_p5_load_battle_screen_elements
+
+ thumb_func_start sub_8076DB8
+sub_8076DB8: @ 8076DB8
+ push {r4-r7,lr}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076E70
+ ldr r7, _08076E54 @ =gBattleAnimBackgroundTable
+ lsls r0, r6, 1
+ adds r0, r6
+ lsls r4, r0, 2
+ adds r0, r7, 0
+ adds r0, 0x8
+ adds r0, r4, r0
+ ldr r5, [r0]
+ bl sub_8076BE0
+ lsls r0, 24
+ ldr r1, _08076E58 @ =0x02018000
+ cmp r0, 0
+ beq _08076DE8
+ ldr r0, _08076E5C @ =0xffffc800
+ adds r1, r0
+_08076DE8:
+ adds r0, r5, 0
+ bl sub_800D238
+ bl sub_80789BC
+ lsls r0, 24
+ lsrs r5, r0, 24
+ bl sub_8076BE0
+ lsls r0, 24
+ ldr r1, _08076E58 @ =0x02018000
+ cmp r0, 0
+ beq _08076E06
+ ldr r0, _08076E5C @ =0xffffc800
+ adds r1, r0
+_08076E06:
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r5, 0
+ movs r3, 0
+ bl sub_80763FC
+ bl sub_8076BE0
+ lsls r0, 24
+ ldr r2, _08076E58 @ =0x02018000
+ cmp r0, 0
+ beq _08076E22
+ ldr r0, _08076E5C @ =0xffffc800
+ adds r2, r0
+_08076E22:
+ ldr r1, _08076E60 @ =0x0600d000
+ ldr r0, _08076E64 @ =0x040000d4
+ str r2, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _08076E68 @ =0x84000200
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ adds r0, r4, r7
+ ldr r0, [r0]
+ ldr r1, _08076E6C @ =0x06002000
+ bl LZDecompressVram
+ adds r0, r7, 0x4
+ adds r0, r4, r0
+ ldr r4, [r0]
+ bl sub_80789BC
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 20
+ adds r0, r4, 0
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ b _08076E9E
+ .align 2, 0
+_08076E54: .4byte gBattleAnimBackgroundTable
+_08076E58: .4byte 0x02018000
+_08076E5C: .4byte 0xffffc800
+_08076E60: .4byte 0x0600d000
+_08076E64: .4byte 0x040000d4
+_08076E68: .4byte 0x84000200
+_08076E6C: .4byte 0x06002000
+_08076E70:
+ ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable
+ lsls r4, r6, 1
+ adds r4, r6
+ lsls r4, 2
+ adds r0, r5, 0
+ adds r0, 0x8
+ adds r0, r4, r0
+ ldr r0, [r0]
+ ldr r1, _08076EA8 @ =0x0600d000
+ bl LZDecompressVram
+ adds r0, r4, r5
+ ldr r0, [r0]
+ ldr r1, _08076EAC @ =0x06008000
+ bl LZDecompressVram
+ adds r5, 0x4
+ adds r4, r5
+ ldr r0, [r4]
+ movs r1, 0x20
+ movs r2, 0x20
+ bl LoadCompressedPalette
+_08076E9E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076EA4: .4byte gBattleAnimBackgroundTable
+_08076EA8: .4byte 0x0600d000
+_08076EAC: .4byte 0x06008000
+ thumb_func_end sub_8076DB8
+
+ thumb_func_start dp01t_11_3_message_for_player_only
+dp01t_11_3_message_for_player_only: @ 8076EB0
+ push {lr}
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08076EC2
+ bl sub_80AB2AC
+ b _08076EC6
+_08076EC2:
+ bl sub_800D7B8
+_08076EC6:
+ pop {r0}
+ bx r0
+ thumb_func_end dp01t_11_3_message_for_player_only
+
+ thumb_func_start ma15_load_battle_screen_elements
+ma15_load_battle_screen_elements: @ 8076ECC
+ push {lr}
+ ldr r1, _08076EFC @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08076F04 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, _08076F08 @ =0x0000ffff
+ strh r0, [r1, 0x8]
+ ldr r1, _08076F0C @ =gUnknown_0202F7C5
+ movs r0, 0x1
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076EFC: .4byte gUnknown_0202F7A4
+_08076F00: .4byte task_p5_load_battle_screen_elements
+_08076F04: .4byte gTasks
+_08076F08: .4byte 0x0000ffff
+_08076F0C: .4byte gUnknown_0202F7C5
+ thumb_func_end ma15_load_battle_screen_elements
+
+ thumb_func_start ma16_wait_for_battle_screen_elements_s2
+ma16_wait_for_battle_screen_elements_s2: @ 8076F10
+ push {lr}
+ ldr r0, _08076F28 @ =gUnknown_0202F7C5
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _08076F34
+ ldr r1, _08076F2C @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ ldr r1, _08076F30 @ =gUnknown_0202F7B0
+ movs r0, 0
+ b _08076F38
+ .align 2, 0
+_08076F28: .4byte gUnknown_0202F7C5
+_08076F2C: .4byte gUnknown_0202F7A4
+_08076F30: .4byte gUnknown_0202F7B0
+_08076F34:
+ ldr r1, _08076F40 @ =gUnknown_0202F7B0
+ movs r0, 0x1
+_08076F38:
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076F40: .4byte gUnknown_0202F7B0
+ thumb_func_end ma16_wait_for_battle_screen_elements_s2
+
+ thumb_func_start sub_8076F44
+sub_8076F44: @ 8076F44
+ push {lr}
+ ldr r0, _08076F5C @ =gUnknown_0202F7C5
+ ldrb r2, [r0]
+ cmp r2, 0
+ bne _08076F68
+ ldr r0, _08076F60 @ =gUnknown_0202F7A4
+ ldr r1, [r0]
+ adds r1, 0x1
+ str r1, [r0]
+ ldr r0, _08076F64 @ =gUnknown_0202F7B0
+ strb r2, [r0]
+ b _08076F6E
+ .align 2, 0
+_08076F5C: .4byte gUnknown_0202F7C5
+_08076F60: .4byte gUnknown_0202F7A4
+_08076F64: .4byte gUnknown_0202F7B0
+_08076F68:
+ ldr r1, _08076F74 @ =gUnknown_0202F7B0
+ movs r0, 0x1
+ strb r0, [r1]
+_08076F6E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076F74: .4byte gUnknown_0202F7B0
+ thumb_func_end sub_8076F44
+
+ thumb_func_start ma18_load_background_probably
+ma18_load_background_probably: @ 8076F78
+ push {r4,lr}
+ ldr r4, _08076F94 @ =gUnknown_0202F7A4
+ ldr r1, [r4]
+ adds r0, r1, 0x1
+ str r0, [r4]
+ ldrb r0, [r1, 0x1]
+ bl sub_8076DB8
+ ldr r0, [r4]
+ adds r0, 0x1
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08076F94: .4byte gUnknown_0202F7A4
+ thumb_func_end ma18_load_background_probably
+
+ thumb_func_start sub_8076F98
+sub_8076F98: @ 8076F98
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08076FDC
+ ldr r0, _08076FD4 @ =gUnknown_0202F7C8
+ ldrb r2, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, _08076FD8 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08076FDC
+ adds r0, r2, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ movs r4, 0xC0
+ cmp r0, 0
+ beq _0807706E
+ movs r4, 0x3F
+ b _0807706E
+ .align 2, 0
+_08076FD4: .4byte gUnknown_0202F7C8
+_08076FD8: .4byte 0x02017810
+_08076FDC:
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08077004
+ ldr r0, _08076FFC @ =gUnknown_0202F7C8
+ ldr r1, _08077000 @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _08077068
+ cmp r0, 0x2
+ bne _08077068
+ cmp r4, 0x3F
+ beq _0807707A
+ b _08077068
+ .align 2, 0
+_08076FFC: .4byte gUnknown_0202F7C8
+_08077000: .4byte gUnknown_0202F7C9
+_08077004:
+ ldr r0, _0807702C @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _08077042
+ ldr r0, _08077030 @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807706E
+ lsls r0, r4, 24
+ asrs r1, r0, 24
+ cmp r1, 0x3F
+ bne _08077034
+ movs r4, 0xC0
+ b _0807706E
+ .align 2, 0
+_0807702C: .4byte gUnknown_0202F7C8
+_08077030: .4byte gUnknown_0202F7C9
+_08077034:
+ movs r0, 0x40
+ negs r0, r0
+ cmp r1, r0
+ beq _0807706E
+ negs r0, r1
+ lsls r0, 24
+ b _0807706C
+_08077042:
+ ldr r0, _08077064 @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08077068
+ lsls r0, r4, 24
+ asrs r0, 24
+ movs r1, 0x40
+ negs r1, r1
+ cmp r0, r1
+ bne _0807706E
+ movs r4, 0x3F
+ b _0807706E
+ .align 2, 0
+_08077064: .4byte gUnknown_0202F7C9
+_08077068:
+ lsls r0, r4, 24
+ negs r0, r0
+_0807706C:
+ lsrs r4, r0, 24
+_0807706E:
+ lsls r0, r4, 24
+ asrs r0, 24
+ cmp r0, 0x3F
+ ble _0807707A
+ movs r4, 0x3F
+ b _08077088
+_0807707A:
+ lsls r0, r4, 24
+ asrs r0, 24
+ movs r1, 0x40
+ negs r1, r1
+ cmp r0, r1
+ bge _08077088
+ movs r4, 0xC0
+_08077088:
+ lsls r0, r4, 24
+ asrs r0, 24
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8076F98
+
+ thumb_func_start sub_8077094
+sub_8077094: @ 8077094
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080770D8
+ ldr r0, _080770D0 @ =gUnknown_0202F7C8
+ ldrb r2, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ ldr r1, _080770D4 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080770D8
+ adds r0, r2, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ movs r4, 0xC0
+ cmp r0, 0
+ beq _080770F6
+ movs r4, 0x3F
+ b _080770F6
+ .align 2, 0
+_080770D0: .4byte gUnknown_0202F7C8
+_080770D4: .4byte 0x02017810
+_080770D8:
+ ldr r0, _08077100 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _080770F0
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080770F6
+_080770F0:
+ lsls r0, r4, 24
+ negs r0, r0
+ lsrs r4, r0, 24
+_080770F6:
+ lsls r0, r4, 24
+ asrs r0, 24
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08077100: .4byte gUnknown_0202F7C8
+ thumb_func_end sub_8077094
+
+ thumb_func_start sub_8077104
+sub_8077104: @ 8077104
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ asrs r2, r0, 16
+ cmp r2, 0x3F
+ ble _08077114
+ movs r1, 0x3F
+ b _0807711E
+_08077114:
+ movs r0, 0x40
+ negs r0, r0
+ cmp r2, r0
+ bge _0807711E
+ ldr r1, _08077128 @ =0x0000ffc0
+_0807711E:
+ lsls r0, r1, 16
+ asrs r0, 16
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08077128: .4byte 0x0000ffc0
+ thumb_func_end sub_8077104
+
+ thumb_func_start sub_807712C
+sub_807712C: @ 807712C
+ push {lr}
+ lsls r2, 16
+ lsrs r2, 16
+ adds r3, r2, 0
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ cmp r0, r1
+ bge _0807714A
+ lsls r0, r2, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _0807715A
+ b _08077158
+_0807714A:
+ cmp r0, r1
+ ble _08077160
+ lsls r0, r3, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _08077158
+ negs r0, r0
+_08077158:
+ negs r0, r0
+_0807715A:
+ lsls r0, 16
+ lsrs r0, 16
+ b _08077162
+_08077160:
+ movs r0, 0
+_08077162:
+ lsls r0, 16
+ asrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_807712C
+
+ thumb_func_start ma19_08073BC8
+ma19_08073BC8: @ 807716C
+ push {r4,r5,lr}
+ ldr r5, _080771A0 @ =gUnknown_0202F7A4
+ ldr r0, [r5]
+ adds r1, r0, 0x1
+ str r1, [r5]
+ ldrb r4, [r0, 0x1]
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ orrs r4, r0
+ movs r0, 0x2
+ ldrsb r0, [r1, r0]
+ bl sub_8076F98
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ adds r0, r4, 0
+ bl PlaySE12WithPanning
+ ldr r0, [r5]
+ adds r0, 0x3
+ str r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080771A0: .4byte gUnknown_0202F7A4
+ thumb_func_end ma19_08073BC8
+
+ thumb_func_start ma1A_8073C00
+ma1A_8073C00: @ 80771A4
+ push {r4,lr}
+ ldr r4, _080771CC @ =gUnknown_0202F7A4
+ ldr r1, [r4]
+ adds r0, r1, 0x1
+ str r0, [r4]
+ movs r0, 0x1
+ ldrsb r0, [r1, r0]
+ bl sub_8076F98
+ lsls r0, 24
+ asrs r0, 24
+ bl SE12PanpotControl
+ ldr r0, [r4]
+ adds r0, 0x1
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080771CC: .4byte gUnknown_0202F7A4
+ thumb_func_end ma1A_8073C00
+
+ thumb_func_start ma1B_8073C2C
+ma1B_8073C2C: @ 80771D0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r0, _08077280 @ =gUnknown_0202F7A4
+ mov r10, r0
+ ldr r0, [r0]
+ adds r1, r0, 0x1
+ mov r2, r10
+ str r1, [r2]
+ ldrb r0, [r0, 0x1]
+ mov r9, r0
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ mov r2, r9
+ orrs r2, r0
+ mov r9, r2
+ ldrb r4, [r1, 0x3]
+ ldrb r6, [r1, 0x4]
+ ldrb r7, [r1, 0x5]
+ movs r0, 0x2
+ ldrsb r0, [r1, r0]
+ bl sub_8076F98
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r4, 24
+ asrs r4, 24
+ adds r0, r4, 0
+ bl sub_8076F98
+ mov r8, r0
+ lsls r5, 24
+ asrs r5, 24
+ mov r0, r8
+ lsls r0, 24
+ asrs r0, 24
+ mov r8, r0
+ lsls r6, 24
+ asrs r6, 24
+ adds r0, r5, 0
+ mov r1, r8
+ adds r2, r6, 0
+ bl sub_807712C
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _08077284 @ =c3_08073CEC
+ movs r1, 0x1
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08077288 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r5, [r1, 0x8]
+ mov r2, r8
+ strh r2, [r1, 0xA]
+ lsls r4, 24
+ asrs r4, 24
+ strh r4, [r1, 0xC]
+ strh r7, [r1, 0xE]
+ strh r5, [r1, 0x10]
+ mov r0, r9
+ adds r1, r5, 0
+ bl PlaySE12WithPanning
+ ldr r1, _0807728C @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, 0x6
+ str r0, [r1]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077280: .4byte gUnknown_0202F7A4
+_08077284: .4byte c3_08073CEC
+_08077288: .4byte gTasks
+_0807728C: .4byte gUnknown_0202F7B3
+ thumb_func_end ma1B_8073C2C
+
+ thumb_func_start c3_08073CEC
+c3_08073CEC: @ 8077290
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r7, 0
+ ldr r1, _080772D4 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r2, r0, r1
+ ldrh r0, [r2, 0x18]
+ adds r1, r0, 0x1
+ strh r1, [r2, 0x18]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0xE
+ ldrsh r1, [r2, r3]
+ cmp r0, r1
+ blt _08077314
+ strh r7, [r2, 0x18]
+ ldrh r6, [r2, 0x8]
+ ldrh r3, [r2, 0xA]
+ movs r4, 0x10
+ ldrsh r0, [r2, r4]
+ movs r4, 0xC
+ ldrsh r1, [r2, r4]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ strh r4, [r2, 0x10]
+ cmp r1, 0
+ bne _080772D8
+ lsls r2, r3, 16
+ b _080772FC
+ .align 2, 0
+_080772D4: .4byte gTasks
+_080772D8:
+ lsls r1, r6, 16
+ lsls r0, r3, 16
+ asrs r3, r0, 16
+ adds r2, r0, 0
+ cmp r1, r2
+ bge _080772EE
+ lsls r0, r4, 16
+ asrs r0, 16
+ cmp r0, r3
+ blt _080772F8
+ b _080772FC
+_080772EE:
+ lsls r0, r4, 16
+ asrs r0, 16
+ cmp r0, r3
+ bgt _080772F8
+ movs r7, 0x1
+_080772F8:
+ cmp r7, 0
+ beq _0807730C
+_080772FC:
+ lsrs r4, r2, 16
+ adds r0, r5, 0
+ bl DestroyTask
+ ldr r1, _0807731C @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+_0807730C:
+ lsls r0, r4, 24
+ asrs r0, 24
+ bl SE12PanpotControl
+_08077314:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807731C: .4byte gUnknown_0202F7B3
+ thumb_func_end c3_08073CEC
+
+ thumb_func_start sub_8077320
+sub_8077320: @ 8077320
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ ldr r0, _080773A4 @ =gUnknown_0202F7A4
+ mov r9, r0
+ ldr r0, [r0]
+ adds r1, r0, 0x1
+ mov r2, r9
+ str r1, [r2]
+ ldrb r0, [r0, 0x1]
+ mov r8, r0
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ mov r2, r8
+ orrs r2, r0
+ mov r8, r2
+ ldrb r4, [r1, 0x2]
+ ldrb r5, [r1, 0x3]
+ ldrb r6, [r1, 0x4]
+ ldrb r1, [r1, 0x5]
+ mov r10, r1
+ ldr r0, _080773A8 @ =c3_08073CEC
+ movs r1, 0x1
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080773AC @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ lsls r4, 24
+ asrs r4, 24
+ strh r4, [r1, 0x8]
+ lsls r5, 24
+ asrs r5, 24
+ strh r5, [r1, 0xA]
+ lsls r6, 24
+ asrs r6, 24
+ strh r6, [r1, 0xC]
+ mov r0, r10
+ strh r0, [r1, 0xE]
+ strh r4, [r1, 0x10]
+ mov r0, r8
+ adds r1, r4, 0
+ bl PlaySE12WithPanning
+ ldr r1, _080773B0 @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, 0x6
+ str r0, [r1]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080773A4: .4byte gUnknown_0202F7A4
+_080773A8: .4byte c3_08073CEC
+_080773AC: .4byte gTasks
+_080773B0: .4byte gUnknown_0202F7B3
+ thumb_func_end sub_8077320
+
+ thumb_func_start sub_80773B4
+sub_80773B4: @ 80773B4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r0, _08077464 @ =gUnknown_0202F7A4
+ mov r10, r0
+ ldr r0, [r0]
+ adds r1, r0, 0x1
+ mov r2, r10
+ str r1, [r2]
+ ldrb r0, [r0, 0x1]
+ mov r9, r0
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ mov r2, r9
+ orrs r2, r0
+ mov r9, r2
+ ldrb r4, [r1, 0x3]
+ ldrb r0, [r1, 0x4]
+ mov r8, r0
+ ldrb r7, [r1, 0x5]
+ movs r0, 0x2
+ ldrsb r0, [r1, r0]
+ bl sub_8077094
+ adds r6, r0, 0
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ adds r0, r4, 0
+ bl sub_8077094
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ mov r0, r8
+ bl sub_8077094
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _08077468 @ =c3_08073CEC
+ movs r1, 0x1
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0807746C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ lsls r6, 24
+ asrs r6, 24
+ strh r6, [r1, 0x8]
+ lsls r5, 24
+ asrs r5, 24
+ strh r5, [r1, 0xA]
+ lsls r4, 24
+ asrs r4, 24
+ strh r4, [r1, 0xC]
+ strh r7, [r1, 0xE]
+ strh r6, [r1, 0x10]
+ mov r0, r9
+ adds r1, r6, 0
+ bl PlaySE12WithPanning
+ ldr r1, _08077470 @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ mov r2, r10
+ ldr r0, [r2]
+ adds r0, 0x6
+ str r0, [r2]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077464: .4byte gUnknown_0202F7A4
+_08077468: .4byte c3_08073CEC
+_0807746C: .4byte gTasks
+_08077470: .4byte gUnknown_0202F7B3
+ thumb_func_end sub_80773B4
+
+ thumb_func_start ma1C_8073ED0
+ma1C_8073ED0: @ 8077474
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ ldr r6, _080774EC @ =gUnknown_0202F7A4
+ ldr r0, [r6]
+ adds r1, r0, 0x1
+ str r1, [r6]
+ ldrb r5, [r0, 0x1]
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ orrs r5, r0
+ ldrb r0, [r1, 0x3]
+ mov r8, r0
+ ldrb r2, [r1, 0x4]
+ mov r9, r2
+ movs r0, 0x2
+ ldrsb r0, [r1, r0]
+ bl sub_8076F98
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080774F0 @ =sub_80774FC
+ movs r1, 0x1
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080774F4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r5, [r1, 0x8]
+ lsls r4, 24
+ asrs r4, 24
+ strh r4, [r1, 0xA]
+ mov r2, r8
+ strh r2, [r1, 0xC]
+ mov r2, r9
+ strh r2, [r1, 0xE]
+ mov r2, r8
+ strh r2, [r1, 0x18]
+ ldr r1, [r1]
+ bl _call_via_r1
+ ldr r1, _080774F8 @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, 0x5
+ str r0, [r6]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080774EC: .4byte gUnknown_0202F7A4
+_080774F0: .4byte sub_80774FC
+_080774F4: .4byte gTasks
+_080774F8: .4byte gUnknown_0202F7B3
+ thumb_func_end ma1C_8073ED0
+
+ thumb_func_start sub_80774FC
+sub_80774FC: @ 80774FC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _08077550 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r2, r0, r1
+ ldrh r0, [r2, 0x18]
+ adds r1, r0, 0x1
+ strh r1, [r2, 0x18]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0xC
+ ldrsh r1, [r2, r3]
+ cmp r0, r1
+ blt _0807754A
+ movs r0, 0
+ strh r0, [r2, 0x18]
+ ldrh r0, [r2, 0x8]
+ ldrb r1, [r2, 0xA]
+ ldrh r4, [r2, 0xE]
+ subs r4, 0x1
+ strh r4, [r2, 0xE]
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r1, 24
+ asrs r1, 24
+ bl PlaySE12WithPanning
+ cmp r4, 0
+ bne _0807754A
+ adds r0, r5, 0
+ bl DestroyTask
+ ldr r1, _08077554 @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+_0807754A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077550: .4byte gTasks
+_08077554: .4byte gUnknown_0202F7B3
+ thumb_func_end sub_80774FC
+
+ thumb_func_start ma1D_08073FB4
+ma1D_08073FB4: @ 8077558
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ ldr r6, _080775BC @ =gUnknown_0202F7A4
+ ldr r0, [r6]
+ adds r1, r0, 0x1
+ str r1, [r6]
+ ldrb r5, [r0, 0x1]
+ ldrb r0, [r1, 0x1]
+ lsls r0, 8
+ orrs r5, r0
+ ldrb r0, [r1, 0x3]
+ mov r8, r0
+ movs r0, 0x2
+ ldrsb r0, [r1, r0]
+ bl sub_8076F98
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080775C0 @ =sub_80775CC
+ movs r1, 0x1
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080775C4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r5, [r1, 0x8]
+ lsls r4, 24
+ asrs r4, 24
+ strh r4, [r1, 0xA]
+ mov r0, r8
+ strh r0, [r1, 0xC]
+ ldr r1, _080775C8 @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, 0x4
+ str r0, [r6]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080775BC: .4byte gUnknown_0202F7A4
+_080775C0: .4byte sub_80775CC
+_080775C4: .4byte gTasks
+_080775C8: .4byte gUnknown_0202F7B3
+ thumb_func_end ma1D_08073FB4
+
+ thumb_func_start sub_80775CC
+sub_80775CC: @ 80775CC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _08077608 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r2, r0, r1
+ ldrh r0, [r2, 0xC]
+ subs r1, r0, 0x1
+ strh r1, [r2, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08077600
+ ldrh r0, [r2, 0x8]
+ movs r1, 0xA
+ ldrsb r1, [r2, r1]
+ bl PlaySE12WithPanning
+ adds r0, r4, 0
+ bl DestroyTask
+ ldr r1, _0807760C @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+_08077600:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077608: .4byte gTasks
+_0807760C: .4byte gUnknown_0202F7B3
+ thumb_func_end sub_80775CC
+
+ thumb_func_start sub_8077610
+sub_8077610: @ 8077610
+ push {r4-r6,lr}
+ ldr r4, _08077678 @ =gUnknown_0202F7A4
+ ldr r1, [r4]
+ adds r3, r1, 0x1
+ str r3, [r4]
+ ldrb r2, [r1, 0x1]
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ adds r2, r0
+ ldrb r0, [r3, 0x2]
+ lsls r0, 16
+ adds r2, r0
+ ldrb r0, [r3, 0x3]
+ lsls r0, 24
+ adds r6, r2, r0
+ adds r0, r1, 0x5
+ str r0, [r4]
+ ldrb r0, [r1, 0x5]
+ adds r1, 0x6
+ str r1, [r4]
+ cmp r0, 0
+ beq _0807765A
+ adds r5, r4, 0
+ ldr r4, _0807767C @ =gUnknown_03004B00
+ adds r3, r0, 0
+_08077642:
+ ldr r2, [r5]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ strh r1, [r4]
+ adds r2, 0x2
+ str r2, [r5]
+ adds r4, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08077642
+_0807765A:
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ bl _call_via_r6
+ ldr r1, _08077680 @ =gUnknown_0202F7B3
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077678: .4byte gUnknown_0202F7A4
+_0807767C: .4byte gUnknown_03004B00
+_08077680: .4byte gUnknown_0202F7B3
+ thumb_func_end sub_8077610
+
+ thumb_func_start ma20_wait_for_something
+ma20_wait_for_something: @ 8077684
+ push {r4,r5,lr}
+ ldr r0, _080776BC @ =gUnknown_0202F7B3
+ ldrb r5, [r0]
+ cmp r5, 0
+ bne _080776CC
+ bl IsSEPlaying
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _080776E4
+ ldr r4, _080776C0 @ =gUnknown_03004AF0
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x5A
+ bls _080776D2
+ ldr r0, _080776C4 @ =gMPlay_SE1
+ bl m4aMPlayStop
+ ldr r0, _080776C8 @ =gMPlay_SE2
+ bl m4aMPlayStop
+ strh r5, [r4]
+ b _080776F6
+ .align 2, 0
+_080776BC: .4byte gUnknown_0202F7B3
+_080776C0: .4byte gUnknown_03004AF0
+_080776C4: .4byte gMPlay_SE1
+_080776C8: .4byte gMPlay_SE2
+_080776CC:
+ ldr r1, _080776DC @ =gUnknown_03004AF0
+ movs r0, 0
+ strh r0, [r1]
+_080776D2:
+ ldr r1, _080776E0 @ =gUnknown_0202F7B0
+ movs r0, 0x1
+ strb r0, [r1]
+ b _080776F6
+ .align 2, 0
+_080776DC: .4byte gUnknown_03004AF0
+_080776E0: .4byte gUnknown_0202F7B0
+_080776E4:
+ ldr r0, _080776FC @ =gUnknown_03004AF0
+ movs r2, 0
+ strh r1, [r0]
+ ldr r1, _08077700 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ ldr r0, _08077704 @ =gUnknown_0202F7B0
+ strb r2, [r0]
+_080776F6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080776FC: .4byte gUnknown_03004AF0
+_08077700: .4byte gUnknown_0202F7A4
+_08077704: .4byte gUnknown_0202F7B0
+ thumb_func_end ma20_wait_for_something
+
+ thumb_func_start ma21_08074164
+ma21_08074164: @ 8077708
+ push {r4-r6,lr}
+ ldr r5, _08077748 @ =gUnknown_0202F7A4
+ ldr r4, [r5]
+ adds r3, r4, 0x1
+ str r3, [r5]
+ ldrb r2, [r4, 0x1]
+ ldrb r1, [r3, 0x1]
+ ldrb r0, [r3, 0x2]
+ lsls r0, 8
+ orrs r1, r0
+ ldr r0, _0807774C @ =gUnknown_03004B00
+ lsls r2, 1
+ adds r2, r0
+ lsls r1, 16
+ asrs r1, 16
+ movs r6, 0
+ ldrsh r0, [r2, r6]
+ cmp r1, r0
+ bne _08077750
+ ldrb r1, [r3, 0x3]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 8
+ adds r1, r0
+ ldrb r0, [r3, 0x5]
+ lsls r0, 16
+ adds r1, r0
+ ldrb r0, [r3, 0x6]
+ lsls r0, 24
+ adds r1, r0
+ str r1, [r5]
+ b _08077756
+ .align 2, 0
+_08077748: .4byte gUnknown_0202F7A4
+_0807774C: .4byte gUnknown_03004B00
+_08077750:
+ adds r0, r4, 0
+ adds r0, 0x8
+ str r0, [r5]
+_08077756:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end ma21_08074164
+
+ thumb_func_start sub_807775C
+sub_807775C: @ 807775C
+ push {r4,lr}
+ ldr r4, _0807778C @ =gUnknown_0202F7A4
+ ldr r0, [r4]
+ adds r0, 0x1
+ str r0, [r4]
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08077790
+ ldr r2, [r4]
+ ldrb r1, [r2]
+ ldrb r0, [r2, 0x1]
+ lsls r0, 8
+ adds r1, r0
+ ldrb r0, [r2, 0x2]
+ lsls r0, 16
+ adds r1, r0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 24
+ adds r1, r0
+ str r1, [r4]
+ b _08077796
+ .align 2, 0
+_0807778C: .4byte gUnknown_0202F7A4
+_08077790:
+ ldr r0, [r4]
+ adds r0, 0x4
+ str r0, [r4]
+_08077796:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807775C
+
+ thumb_func_start sub_807779C
+sub_807779C: @ 807779C
+ push {r4,lr}
+ ldr r0, _080777B0 @ =gUnknown_0202F7A4
+ ldr r1, [r0]
+ ldrb r2, [r1, 0x1]
+ adds r1, 0x2
+ str r1, [r0]
+ cmp r2, 0
+ beq _080777B8
+ ldr r0, _080777B4 @ =gUnknown_0202F7C9
+ b _080777BA
+ .align 2, 0
+_080777B0: .4byte gUnknown_0202F7A4
+_080777B4: .4byte gUnknown_0202F7C9
+_080777B8:
+ ldr r0, _080777FC @ =gUnknown_0202F7C8
+_080777BA:
+ ldrb r0, [r0]
+ bl battle_get_per_side_status
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080777F4
+ cmp r4, 0
+ beq _080777D6
+ cmp r4, 0x3
+ bne _080777F4
+_080777D6:
+ ldr r3, _08077800 @ =REG_BG1CNT
+ ldrb r2, [r3]
+ movs r1, 0x4
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ movs r2, 0x1
+ orrs r0, r2
+ strb r0, [r3]
+ ldr r2, _08077804 @ =REG_BG2CNT
+ ldrb r0, [r2]
+ ands r1, r0
+ movs r0, 0x2
+ orrs r1, r0
+ strb r1, [r2]
+_080777F4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080777FC: .4byte gUnknown_0202F7C8
+_08077800: .4byte REG_BG1CNT
+_08077804: .4byte REG_BG2CNT
+ thumb_func_end sub_807779C
+
+ thumb_func_start sub_8077808
+sub_8077808: @ 8077808
+ push {lr}
+ ldr r0, _08077840 @ =gUnknown_0202F7A4
+ ldr r1, [r0]
+ adds r1, 0x1
+ str r1, [r0]
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807783A
+ ldr r3, _08077844 @ =REG_BG1CNT
+ ldrb r2, [r3]
+ movs r1, 0x4
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ movs r2, 0x1
+ orrs r0, r2
+ strb r0, [r3]
+ ldr r2, _08077848 @ =REG_BG2CNT
+ ldrb r0, [r2]
+ ands r1, r0
+ movs r0, 0x2
+ orrs r1, r0
+ strb r1, [r2]
+_0807783A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077840: .4byte gUnknown_0202F7A4
+_08077844: .4byte REG_BG1CNT
+_08077848: .4byte REG_BG2CNT
+ thumb_func_end sub_8077808
+
+ thumb_func_start sub_807784C
+sub_807784C: @ 807784C
+ push {r4-r7,lr}
+ ldr r1, _0807787C @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ ldrb r6, [r0, 0x1]
+ adds r0, 0x2
+ str r0, [r1]
+ ldr r7, _08077880 @ =gUnknown_0202F7C8
+ ldrb r0, [r7]
+ bl battle_side_get_owner
+ adds r4, r0, 0
+ ldr r5, _08077884 @ =gUnknown_0202F7C9
+ ldrb r0, [r5]
+ bl battle_side_get_owner
+ lsls r4, 24
+ lsls r0, 24
+ cmp r4, r0
+ beq _080778C2
+ cmp r6, 0
+ beq _08077888
+ ldrb r0, [r5]
+ b _0807788A
+ .align 2, 0
+_0807787C: .4byte gUnknown_0202F7A4
+_08077880: .4byte gUnknown_0202F7C8
+_08077884: .4byte gUnknown_0202F7C9
+_08077888:
+ ldrb r0, [r7]
+_0807788A:
+ bl battle_get_per_side_status
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080778C2
+ cmp r4, 0
+ beq _080778A4
+ cmp r4, 0x3
+ bne _080778C2
+_080778A4:
+ ldr r3, _080778C8 @ =REG_BG1CNT
+ ldrb r2, [r3]
+ movs r1, 0x4
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ movs r2, 0x1
+ orrs r0, r2
+ strb r0, [r3]
+ ldr r2, _080778CC @ =REG_BG2CNT
+ ldrb r0, [r2]
+ ands r1, r0
+ movs r0, 0x2
+ orrs r1, r0
+ strb r1, [r2]
+_080778C2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080778C8: .4byte REG_BG1CNT
+_080778CC: .4byte REG_BG2CNT
+ thumb_func_end sub_807784C
+
+ thumb_func_start ma2B_make_side_invisible
+ma2B_make_side_invisible: @ 80778D0
+ push {r4,lr}
+ ldr r4, _08077904 @ =gUnknown_0202F7A4
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _080778F8
+ ldr r1, _08077908 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+_080778F8:
+ ldr r0, [r4]
+ adds r0, 0x2
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077904: .4byte gUnknown_0202F7A4
+_08077908: .4byte gSprites
+ thumb_func_end ma2B_make_side_invisible
+
+ thumb_func_start ma2C_make_side_visible
+ma2C_make_side_visible: @ 807790C
+ push {r4,lr}
+ ldr r4, _08077944 @ =gUnknown_0202F7A4
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x1]
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _08077936
+ ldr r1, _08077948 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+_08077936:
+ ldr r0, [r4]
+ adds r0, 0x2
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077944: .4byte gUnknown_0202F7A4
+_08077948: .4byte gSprites
+ thumb_func_end ma2C_make_side_visible
+
+ thumb_func_start sub_807794C
+sub_807794C: @ 807794C
+ push {r4-r7,lr}
+ ldr r1, _08077998 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ ldrb r7, [r0, 0x1]
+ adds r0, 0x2
+ str r0, [r1]
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080779F6
+ bl battle_type_is_double
+ lsls r0, 24
+ cmp r0, 0
+ beq _080779F6
+ ldr r6, _0807799C @ =gUnknown_0202F7C8
+ ldrb r0, [r6]
+ bl battle_side_get_owner
+ adds r4, r0, 0
+ ldr r5, _080779A0 @ =gUnknown_0202F7C9
+ ldrb r0, [r5]
+ bl battle_side_get_owner
+ lsls r4, 24
+ lsls r0, 24
+ cmp r4, r0
+ bne _080779F6
+ cmp r7, 0
+ bne _080779A4
+ ldrb r0, [r6]
+ bl battle_get_per_side_status_permutated
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0
+ b _080779B0
+ .align 2, 0
+_08077998: .4byte gUnknown_0202F7A4
+_0807799C: .4byte gUnknown_0202F7C8
+_080779A0: .4byte gUnknown_0202F7C9
+_080779A4:
+ ldrb r0, [r5]
+ bl battle_get_per_side_status_permutated
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+_080779B0:
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _080779F6
+ ldr r1, _080779EC @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r2, r0, r1
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r1, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r3]
+ cmp r4, 0x2
+ bne _080779E0
+ ldrb r0, [r2, 0x5]
+ movs r1, 0xC
+ orrs r0, r1
+ strb r0, [r2, 0x5]
+_080779E0:
+ cmp r4, 0x1
+ bne _080779F0
+ movs r0, 0
+ bl sub_8076464
+ b _080779F6
+ .align 2, 0
+_080779EC: .4byte gSprites
+_080779F0:
+ movs r0, 0x1
+ bl sub_8076464
+_080779F6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807794C
+
+ thumb_func_start sub_80779FC
+sub_80779FC: @ 80779FC
+ push {r4-r7,lr}
+ ldr r1, _08077A48 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ ldrb r7, [r0, 0x1]
+ adds r0, 0x2
+ str r0, [r1]
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08077A88
+ bl battle_type_is_double
+ lsls r0, 24
+ cmp r0, 0
+ beq _08077A88
+ ldr r6, _08077A4C @ =gUnknown_0202F7C8
+ ldrb r0, [r6]
+ bl battle_side_get_owner
+ adds r4, r0, 0
+ ldr r5, _08077A50 @ =gUnknown_0202F7C9
+ ldrb r0, [r5]
+ bl battle_side_get_owner
+ lsls r4, 24
+ lsls r0, 24
+ cmp r4, r0
+ bne _08077A88
+ cmp r7, 0
+ bne _08077A54
+ ldrb r0, [r6]
+ bl battle_get_per_side_status_permutated
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0
+ b _08077A60
+ .align 2, 0
+_08077A48: .4byte gUnknown_0202F7A4
+_08077A4C: .4byte gUnknown_0202F7C8
+_08077A50: .4byte gUnknown_0202F7C9
+_08077A54:
+ ldrb r0, [r5]
+ bl battle_get_per_side_status_permutated
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+_08077A60:
+ bl obj_id_for_side_relative_to_move
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _08077A88
+ cmp r4, 0x2
+ bne _08077A88
+ ldr r1, _08077A90 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r2
+ movs r2, 0x8
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+_08077A88:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077A90: .4byte gSprites
+ thumb_func_end sub_80779FC
+
+ thumb_func_start ma2F_stop_music
+ma2F_stop_music: @ 8077A94
+ push {lr}
+ ldr r0, _08077AB0 @ =gMPlay_SE1
+ bl m4aMPlayStop
+ ldr r0, _08077AB4 @ =gMPlay_SE2
+ bl m4aMPlayStop
+ ldr r1, _08077AB8 @ =gUnknown_0202F7A4
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08077AB0: .4byte gMPlay_SE1
+_08077AB4: .4byte gMPlay_SE2
+_08077AB8: .4byte gUnknown_0202F7A4
+ thumb_func_end ma2F_stop_music
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s
new file mode 100644
index 000000000..5c2c3e8f3
--- /dev/null
+++ b/asm/battle_anim_813F0F4.s
@@ -0,0 +1,5740 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start unref_sub_813F0F4
+unref_sub_813F0F4: @ 813F0F4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x10]
+ ldr r0, _0813F2AC @ =gUnknown_0202F7C8
+ ldrb r3, [r0]
+ ldr r0, _0813F2B0 @ =gUnknown_030042C4
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _0813F2B4 @ =gUnknown_03004240
+ strh r1, [r0]
+ ldr r1, _0813F2B8 @ =REG_WININ
+ ldr r2, _0813F2BC @ =0x00003f3f
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r4, _0813F2C0 @ =0x00003f3d
+ adds r0, r4, 0
+ strh r0, [r1]
+ movs r2, 0x80
+ lsls r2, 19
+ ldrh r0, [r2]
+ movs r4, 0x80
+ lsls r4, 8
+ adds r1, r4, 0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0813F2C4 @ =REG_BLDCNT
+ ldr r2, _0813F2C8 @ =0x00003f42
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r4, 0x80
+ lsls r4, 5
+ adds r0, r4, 0
+ strh r0, [r1]
+ ldr r2, _0813F2CC @ =REG_BG1CNT
+ ldrb r1, [r2]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ ldrb r0, [r2, 0x1]
+ movs r1, 0x20
+ orrs r0, r1
+ strb r0, [r2, 0x1]
+ ldrb r1, [r2]
+ movs r0, 0xD
+ negs r0, r0
+ mov r9, r0
+ ands r0, r1
+ movs r1, 0x4
+ mov r8, r1
+ mov r4, r8
+ orrs r0, r4
+ strb r0, [r2]
+ ldr r0, _0813F2D0 @ =gUnknown_03004340
+ adds r3, r0
+ ldrb r0, [r3]
+ ldr r1, _0813F2D4 @ =gSprites
+ mov r10, r1
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ add r4, r10
+ ldrb r7, [r4, 0x6]
+ ldrh r6, [r4, 0x38]
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r0, _0813F2D8 @ =SpriteCallbackDummy
+ bl object_new_hidden_with_callback
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x14]
+ ldr r0, _0813F2D8 @ =SpriteCallbackDummy
+ bl object_new_hidden_with_callback
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x18]
+ ldrb r1, [r4, 0x5]
+ mov r0, r9
+ ands r0, r1
+ mov r2, r8
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r5, r7, 4
+ adds r5, r7
+ lsls r5, 2
+ add r5, r10
+ ldrb r1, [r5, 0x5]
+ mov r0, r9
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r5, 0x5]
+ lsls r1, r6, 4
+ adds r1, r6
+ lsls r1, 2
+ add r1, r10
+ ldrb r2, [r1, 0x5]
+ mov r0, r9
+ ands r0, r2
+ mov r2, r8
+ orrs r0, r2
+ strb r0, [r1, 0x5]
+ ldr r0, [sp, 0x14]
+ lsls r6, r0, 4
+ adds r6, r0
+ lsls r6, 2
+ mov r1, r10
+ adds r7, r6, r1
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0x44
+ bl memcpy
+ ldr r2, [sp, 0x18]
+ lsls r4, r2, 4
+ adds r4, r2
+ lsls r4, 2
+ adds r0, r4, 0
+ add r0, r10
+ mov r8, r0
+ adds r1, r5, 0
+ movs r2, 0x44
+ bl memcpy
+ ldrb r1, [r7, 0x1]
+ mov r0, r9
+ ands r0, r1
+ movs r1, 0x8
+ orrs r0, r1
+ strb r0, [r7, 0x1]
+ mov r2, r8
+ ldrb r0, [r2, 0x1]
+ mov r2, r9
+ ands r2, r0
+ orrs r2, r1
+ mov r0, r8
+ strb r2, [r0, 0x1]
+ movs r1, 0x1C
+ add r10, r1
+ add r6, r10
+ ldr r2, _0813F2D8 @ =SpriteCallbackDummy
+ str r2, [r6]
+ add r4, r10
+ str r2, [r4]
+ mov r0, sp
+ bl sub_8078914
+ ldr r1, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0xC]
+ ldr r2, _0813F2DC @ =0x040000d4
+ add r0, sp, 0xC
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ ldr r0, _0813F2E0 @ =0x85000400
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ ldr r0, _0813F2E4 @ =gUnknown_08D2EE48
+ bl LZDecompressVram
+ ldr r0, _0813F2E8 @ =gUnknown_08D2EDFC
+ ldr r1, [sp]
+ bl LZDecompressVram
+ ldr r0, _0813F2EC @ =gUnknown_08D2E150
+ mov r1, sp
+ ldrb r1, [r1, 0x8]
+ lsls r1, 4
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ ldr r1, _0813F2F0 @ =gUnknown_030042C0
+ ldrh r0, [r7, 0x20]
+ negs r0, r0
+ adds r0, 0x20
+ strh r0, [r1]
+ ldr r1, _0813F2F4 @ =gUnknown_030041B4
+ ldrh r0, [r7, 0x22]
+ negs r0, r0
+ subs r0, 0x20
+ strh r0, [r1]
+ ldr r1, _0813F2F8 @ =gTasks
+ ldr r4, [sp, 0x10]
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xA0
+ lsls r1, 2
+ strh r1, [r0, 0xA]
+ mov r1, sp
+ ldrh r1, [r1, 0x14]
+ strh r1, [r0, 0x8]
+ mov r2, sp
+ ldrh r2, [r2, 0x18]
+ strh r2, [r0, 0xC]
+ ldr r1, _0813F2FC @ =sub_813F300
+ str r1, [r0]
+ add sp, 0x1C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F2AC: .4byte gUnknown_0202F7C8
+_0813F2B0: .4byte gUnknown_030042C4
+_0813F2B4: .4byte gUnknown_03004240
+_0813F2B8: .4byte REG_WININ
+_0813F2BC: .4byte 0x00003f3f
+_0813F2C0: .4byte 0x00003f3d
+_0813F2C4: .4byte REG_BLDCNT
+_0813F2C8: .4byte 0x00003f42
+_0813F2CC: .4byte REG_BG1CNT
+_0813F2D0: .4byte gUnknown_03004340
+_0813F2D4: .4byte gSprites
+_0813F2D8: .4byte SpriteCallbackDummy
+_0813F2DC: .4byte 0x040000d4
+_0813F2E0: .4byte 0x85000400
+_0813F2E4: .4byte gUnknown_08D2EE48
+_0813F2E8: .4byte gUnknown_08D2EDFC
+_0813F2EC: .4byte gUnknown_08D2E150
+_0813F2F0: .4byte gUnknown_030042C0
+_0813F2F4: .4byte gUnknown_030041B4
+_0813F2F8: .4byte gTasks
+_0813F2FC: .4byte sub_813F300
+ thumb_func_end unref_sub_813F0F4
+
+ thumb_func_start sub_813F300
+sub_813F300: @ 813F300
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, _0813F34C @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ mov r9, r0
+ ldr r1, _0813F350 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r1, [r4, 0xA]
+ ldrh r0, [r4, 0x22]
+ adds r1, r0
+ movs r3, 0
+ strh r1, [r4, 0x22]
+ ldr r2, _0813F354 @ =gUnknown_030041B4
+ lsls r0, r1, 16
+ lsrs r0, 24
+ ldrh r5, [r2]
+ adds r0, r5
+ strh r0, [r2]
+ movs r0, 0xFF
+ ands r1, r0
+ strh r1, [r4, 0x22]
+ movs r1, 0x26
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _0813F394
+ cmp r0, 0x1
+ bgt _0813F358
+ cmp r0, 0
+ beq _0813F35E
+ b _0813F4B2
+ .align 2, 0
+_0813F34C: .4byte gUnknown_0202F7C8
+_0813F350: .4byte gTasks
+_0813F354: .4byte gUnknown_030041B4
+_0813F358:
+ cmp r0, 0x2
+ beq _0813F3AC
+ b _0813F4B2
+_0813F35E:
+ ldrh r0, [r4, 0x1E]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x1E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bgt _0813F36E
+ b _0813F4B2
+_0813F36E:
+ strh r3, [r4, 0x1E]
+ ldrh r1, [r4, 0x20]
+ adds r1, 0x1
+ strh r1, [r4, 0x20]
+ ldr r2, _0813F390 @ =REG_BLDALPHA
+ movs r0, 0x10
+ subs r0, r1
+ lsls r0, 8
+ orrs r1, r0
+ strh r1, [r2]
+ movs r2, 0x20
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x8
+ beq _0813F38C
+ b _0813F4B2
+_0813F38C:
+ b _0813F3A4
+ .align 2, 0
+_0813F390: .4byte REG_BLDALPHA
+_0813F394:
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x1
+ strh r0, [r4, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1E
+ beq _0813F3A4
+ b _0813F4B2
+_0813F3A4:
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x1
+ strh r0, [r4, 0x26]
+ b _0813F4B2
+_0813F3AC:
+ ldrh r0, [r4, 0x1E]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x1E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0813F4B2
+ strh r3, [r4, 0x1E]
+ ldrh r1, [r4, 0x20]
+ subs r1, 0x1
+ strh r1, [r4, 0x20]
+ ldr r6, _0813F4C0 @ =REG_BLDALPHA
+ movs r0, 0x10
+ subs r0, r1
+ lsls r0, 8
+ orrs r1, r0
+ strh r1, [r6]
+ movs r3, 0x20
+ ldrsh r5, [r4, r3]
+ cmp r5, 0
+ bne _0813F4B2
+ movs r0, 0
+ bl sub_8076464
+ ldr r0, _0813F4C4 @ =gUnknown_030042C4
+ strh r5, [r0]
+ ldr r0, _0813F4C8 @ =gUnknown_03004240
+ strh r5, [r0]
+ ldr r0, _0813F4CC @ =REG_WININ
+ ldr r2, _0813F4D0 @ =0x00003f3f
+ adds r1, r2, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bl sub_8076BE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813F406
+ ldr r2, _0813F4D4 @ =REG_BG1CNT
+ ldrb r1, [r2]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+_0813F406:
+ movs r2, 0x80
+ lsls r2, 19
+ ldrh r0, [r2]
+ movs r3, 0x80
+ lsls r3, 8
+ adds r1, r3, 0
+ eors r0, r1
+ strh r0, [r2]
+ ldr r0, _0813F4D8 @ =REG_BLDCNT
+ strh r5, [r0]
+ strh r5, [r6]
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _0813F4DC @ =gSprites
+ mov r8, r1
+ add r0, r8
+ bl DestroySprite
+ movs r2, 0xC
+ ldrsh r1, [r4, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r8
+ bl DestroySprite
+ mov r0, sp
+ bl sub_8078914
+ ldr r2, [sp, 0x4]
+ str r5, [sp, 0xC]
+ ldr r1, _0813F4E0 @ =0x040000d4
+ add r0, sp, 0xC
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ ldr r0, _0813F4E4 @ =0x85000200
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ ldr r2, _0813F4D4 @ =REG_BG1CNT
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ ldr r0, _0813F4E8 @ =gUnknown_03004340
+ add r0, r9
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r8
+ ldrb r6, [r1, 0x6]
+ ldrh r4, [r1, 0x38]
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r3, [r1, 0x5]
+ movs r2, 0xD
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ movs r5, 0x4
+ orrs r0, r5
+ strb r0, [r1, 0x5]
+ lsls r1, r6, 4
+ adds r1, r6
+ lsls r1, 2
+ add r1, r8
+ ldrb r3, [r1, 0x5]
+ adds r0, r2, 0
+ ands r0, r3
+ orrs r0, r5
+ strb r0, [r1, 0x5]
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ add r0, r8
+ ldrb r1, [r0, 0x5]
+ ands r2, r1
+ orrs r2, r5
+ strb r2, [r0, 0x5]
+ adds r0, r7, 0
+ bl move_anim_task_del
+_0813F4B2:
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F4C0: .4byte REG_BLDALPHA
+_0813F4C4: .4byte gUnknown_030042C4
+_0813F4C8: .4byte gUnknown_03004240
+_0813F4CC: .4byte REG_WININ
+_0813F4D0: .4byte 0x00003f3f
+_0813F4D4: .4byte REG_BG1CNT
+_0813F4D8: .4byte REG_BLDCNT
+_0813F4DC: .4byte gSprites
+_0813F4E0: .4byte 0x040000d4
+_0813F4E4: .4byte 0x85000200
+_0813F4E8: .4byte gUnknown_03004340
+ thumb_func_end sub_813F300
+
+ thumb_func_start sub_813F4EC
+sub_813F4EC: @ 813F4EC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ ldr r1, _0813F5D0 @ =gUnknown_03004340
+ ldr r0, _0813F5D4 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ ldr r7, _0813F5D8 @ =gSprites
+ lsls r6, r0, 4
+ adds r6, r0
+ lsls r6, 2
+ adds r6, r7
+ ldrb r0, [r6, 0x6]
+ str r0, [sp, 0x4]
+ ldrh r4, [r6, 0x38]
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _0813F5DC @ =0x0000d709
+ bl AllocSpritePalette
+ mov r8, r0
+ mov r1, r8
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ ldr r0, _0813F5E0 @ =0x0000d70a
+ bl AllocSpritePalette
+ mov r9, r0
+ mov r2, r9
+ lsls r2, 24
+ lsrs r2, 24
+ mov r9, r2
+ ldrb r0, [r6, 0x5]
+ lsrs r0, 4
+ lsls r0, 4
+ movs r1, 0x80
+ lsls r1, 1
+ adds r3, r1, 0
+ orrs r0, r3
+ lsls r5, r4, 4
+ adds r5, r4
+ lsls r5, 2
+ adds r5, r7
+ ldrb r4, [r5, 0x5]
+ lsrs r4, 4
+ lsls r4, 4
+ orrs r4, r3
+ lsls r0, 1
+ ldr r2, _0813F5E4 @ =gPlttBufferUnfaded
+ mov r10, r2
+ add r0, r10
+ mov r1, r8
+ lsls r1, 4
+ mov r8, r1
+ adds r1, r3, r1
+ movs r2, 0x20
+ str r3, [sp, 0x8]
+ bl LoadPalette
+ lsls r4, 1
+ add r4, r10
+ mov r2, r9
+ lsls r2, 4
+ mov r9, r2
+ ldr r3, [sp, 0x8]
+ add r3, r9
+ adds r0, r4, 0
+ adds r1, r3, 0
+ movs r2, 0x20
+ bl LoadPalette
+ ldrb r1, [r6, 0x5]
+ movs r2, 0xF
+ adds r0, r2, 0
+ ands r0, r1
+ mov r3, r8
+ orrs r0, r3
+ strb r0, [r6, 0x5]
+ ldr r0, [sp, 0x4]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ ldrb r3, [r1, 0x5]
+ adds r0, r2, 0
+ ands r0, r3
+ mov r3, r8
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r0, [r5, 0x5]
+ ands r2, r0
+ mov r0, r9
+ orrs r2, r0
+ strb r2, [r5, 0x5]
+ ldr r0, [sp]
+ bl move_anim_task_del
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F5D0: .4byte gUnknown_03004340
+_0813F5D4: .4byte gUnknown_0202F7C8
+_0813F5D8: .4byte gSprites
+_0813F5DC: .4byte 0x0000d709
+_0813F5E0: .4byte 0x0000d70a
+_0813F5E4: .4byte gPlttBufferUnfaded
+ thumb_func_end sub_813F4EC
+
+ thumb_func_start sub_813F5E8
+sub_813F5E8: @ 813F5E8
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ mov r8, r0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r1, _0813F684 @ =gUnknown_03004340
+ ldr r0, _0813F688 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ ldr r1, _0813F68C @ =gSprites
+ mov r9, r1
+ lsls r5, r0, 4
+ adds r5, r0
+ lsls r5, 2
+ add r5, r9
+ ldrb r0, [r5, 0x6]
+ mov r10, r0
+ ldrh r6, [r5, 0x38]
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r0, _0813F690 @ =0x0000d709
+ bl FreeSpritePaletteByTag
+ ldr r0, _0813F694 @ =0x0000d70a
+ bl FreeSpritePaletteByTag
+ ldr r0, _0813F698 @ =0x0000d6ff
+ bl IndexOfSpritePaletteTag
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _0813F69C @ =0x0000d704
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsls r4, 4
+ ldrb r2, [r5, 0x5]
+ movs r3, 0xF
+ adds r1, r3, 0
+ ands r1, r2
+ orrs r1, r4
+ strb r1, [r5, 0x5]
+ mov r1, r10
+ lsls r2, r1, 4
+ add r2, r10
+ lsls r2, 2
+ add r2, r9
+ ldrb r5, [r2, 0x5]
+ adds r1, r3, 0
+ ands r1, r5
+ orrs r1, r4
+ strb r1, [r2, 0x5]
+ lsls r1, r6, 4
+ adds r1, r6
+ lsls r1, 2
+ add r1, r9
+ lsrs r0, 20
+ ldrb r2, [r1, 0x5]
+ ands r3, r2
+ orrs r3, r0
+ strb r3, [r1, 0x5]
+ mov r0, r8
+ bl move_anim_task_del
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F684: .4byte gUnknown_03004340
+_0813F688: .4byte gUnknown_0202F7C8
+_0813F68C: .4byte gSprites
+_0813F690: .4byte 0x0000d709
+_0813F694: .4byte 0x0000d70a
+_0813F698: .4byte 0x0000d6ff
+_0813F69C: .4byte 0x0000d704
+ thumb_func_end sub_813F5E8
+
+ thumb_func_start sub_813F6A0
+sub_813F6A0: @ 813F6A0
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0813F6C0 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r2, _0813F6C4 @ =gUnknown_03004B00
+ ldrh r0, [r2]
+ strh r0, [r1, 0x1C]
+ ldrh r0, [r2, 0x2]
+ strh r0, [r1, 0x1E]
+ ldr r0, _0813F6C8 @ =sub_813F6CC
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0813F6C0: .4byte gTasks
+_0813F6C4: .4byte gUnknown_03004B00
+_0813F6C8: .4byte sub_813F6CC
+ thumb_func_end sub_813F6A0
+
+ thumb_func_start sub_813F6CC
+sub_813F6CC: @ 813F6CC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _0813F718 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ movs r6, 0
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x1E
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ blt _0813F78C
+ strh r6, [r4, 0x8]
+ ldr r0, _0813F71C @ =0x0000d709
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r3, 0x1C
+ ldrsh r0, [r4, r3]
+ movs r1, 0x2
+ cmp r0, 0
+ bne _0813F70A
+ movs r1, 0x6
+_0813F70A:
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _0813F720
+ cmp r0, 0x1
+ beq _0813F75C
+ b _0813F78C
+ .align 2, 0
+_0813F718: .4byte gTasks
+_0813F71C: .4byte 0x0000d709
+_0813F720:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x2
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ ble _0813F732
+ movs r0, 0x10
+ strh r0, [r4, 0xC]
+_0813F732:
+ lsls r0, r2, 4
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2
+ orrs r0, r1
+ ldrb r2, [r4, 0xC]
+ ldr r3, _0813F758 @ =0x00007f74
+ movs r1, 0x1
+ bl BlendPalette
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x10
+ bne _0813F78C
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ b _0813F78C
+ .align 2, 0
+_0813F758: .4byte 0x00007f74
+_0813F75C:
+ ldrh r0, [r4, 0xC]
+ subs r0, 0x2
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ bge _0813F76A
+ strh r6, [r4, 0xC]
+_0813F76A:
+ lsls r0, r2, 4
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2
+ orrs r0, r1
+ ldrb r2, [r4, 0xC]
+ ldr r3, _0813F794 @ =0x00007f74
+ movs r1, 0x1
+ bl BlendPalette
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bne _0813F78C
+ adds r0, r5, 0
+ bl move_anim_task_del
+_0813F78C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F794: .4byte 0x00007f74
+ thumb_func_end sub_813F6CC
+
+ thumb_func_start sub_813F798
+sub_813F798: @ 813F798
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _0813F7C4 @ =gUnknown_02024BE0
+ ldr r0, _0813F7C8 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r5, [r0]
+ ldr r1, _0813F7CC @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r4, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _0813F7E6
+ cmp r0, 0x1
+ bgt _0813F7D0
+ cmp r0, 0
+ beq _0813F7D6
+ b _0813F838
+ .align 2, 0
+_0813F7C4: .4byte gUnknown_02024BE0
+_0813F7C8: .4byte gUnknown_0202F7C8
+_0813F7CC: .4byte gTasks
+_0813F7D0:
+ cmp r0, 0x2
+ beq _0813F818
+ b _0813F838
+_0813F7D6:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_8078E70
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r4, 0x1C]
+ b _0813F80A
+_0813F7E6:
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x30
+ strh r0, [r4, 0x1C]
+ movs r0, 0x1C
+ ldrsh r2, [r4, r0]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ adds r0, r5, 0
+ bl sub_8079A64
+ movs r0, 0x1C
+ ldrsh r1, [r4, r0]
+ ldr r0, _0813F814 @ =0x000002cf
+ cmp r1, r0
+ ble _0813F838
+_0813F80A:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _0813F838
+ .align 2, 0
+_0813F814: .4byte 0x000002cf
+_0813F818:
+ adds r0, r5, 0
+ bl sub_8078F40
+ ldr r1, _0813F840 @ =gSprites
+ lsls r0, r5, 4
+ adds r0, r5
+ lsls r0, 2
+ adds r0, r1
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r6, 0
+ bl move_anim_task_del
+_0813F838:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F840: .4byte gSprites
+ thumb_func_end sub_813F798
+
+ thumb_func_start sub_813F844
+sub_813F844: @ 813F844
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _0813F87C @ =gUnknown_02024BE0
+ ldr r4, _0813F880 @ =gUnknown_0202F7C8
+ ldrb r0, [r4]
+ adds r1, r0, r1
+ ldrb r1, [r1]
+ mov r9, r1
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813F88C
+ ldr r1, _0813F884 @ =gUnknown_02024A6A
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _0813F888 @ =gPlayerParty
+ b _0813F89C
+ .align 2, 0
+_0813F87C: .4byte gUnknown_02024BE0
+_0813F880: .4byte gUnknown_0202F7C8
+_0813F884: .4byte gUnknown_02024A6A
+_0813F888: .4byte gPlayerParty
+_0813F88C:
+ ldr r1, _0813F8CC @ =gUnknown_02024A6A
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _0813F8D0 @ =gEnemyParty
+_0813F89C:
+ adds r0, r1
+ movs r1, 0x26
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ bl ball_number_to_ball_processing_index
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r2, _0813F8D4 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r6, r0, r2
+ movs r0, 0x8
+ ldrsh r7, [r6, r0]
+ cmp r7, 0
+ beq _0813F8D8
+ cmp r7, 0x1
+ beq _0813F958
+ b _0813F982
+ .align 2, 0
+_0813F8CC: .4byte gUnknown_02024A6A
+_0813F8D0: .4byte gEnemyParty
+_0813F8D4: .4byte gTasks
+_0813F8D8:
+ ldr r5, _0813F950 @ =gUnknown_0202F7C8
+ ldrb r0, [r5]
+ movs r1, 0
+ bl sub_8077ABC
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl sub_8077ABC
+ adds r1, r0, 0
+ lsls r1, 24
+ ldr r2, _0813F954 @ =gSprites
+ mov r3, r9
+ lsls r0, r3, 4
+ add r0, r9
+ lsls r0, 2
+ adds r0, r2
+ ldrb r2, [r0, 0x5]
+ lsls r2, 28
+ lsrs r2, 30
+ adds r0, 0x43
+ ldrb r3, [r0]
+ movs r0, 0x80
+ lsls r0, 22
+ adds r1, r0
+ lsrs r1, 24
+ mov r0, r8
+ str r0, [sp]
+ adds r0, r4, 0
+ bl sub_814086C
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x1C]
+ str r7, [sp]
+ str r7, [sp, 0x4]
+ str r7, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_80791A8
+ adds r2, r0, 0
+ ldrb r1, [r5]
+ movs r0, 0
+ mov r3, r8
+ bl sub_8141314
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x1E]
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ strh r0, [r6, 0x8]
+ b _0813F982
+ .align 2, 0
+_0813F950: .4byte gUnknown_0202F7C8
+_0813F954: .4byte gSprites
+_0813F958:
+ movs r1, 0x1C
+ ldrsh r0, [r6, r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ bne _0813F982
+ movs r3, 0x1E
+ ldrsh r0, [r6, r3]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ bne _0813F982
+ adds r0, r5, 0
+ bl move_anim_task_del
+_0813F982:
+ add sp, 0xC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813F844
+
+ thumb_func_start sub_813F990
+sub_813F990: @ 813F990
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _0813F9B4 @ =gUnknown_02024C04
+ ldrh r0, [r0]
+ bl ball_number_to_ball_processing_index
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80478DC
+ adds r0, r4, 0
+ bl move_anim_task_del
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F9B4: .4byte gUnknown_02024C04
+ thumb_func_end sub_813F990
+
+ thumb_func_start sub_813F9B8
+sub_813F9B8: @ 813F9B8
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _0813F9DC @ =gUnknown_02024C04
+ ldrh r0, [r0]
+ bl ball_number_to_ball_processing_index
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_804794C
+ adds r0, r4, 0
+ bl move_anim_task_del
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F9DC: .4byte gUnknown_02024C04
+ thumb_func_end sub_813F9B8
+
+ thumb_func_start sub_813F9E0
+sub_813F9E0: @ 813F9E0
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _0813F9F4 @ =0x02017840
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0x5
+ bne _0813FA00
+ ldr r1, _0813F9F8 @ =gUnknown_03004B00
+ ldr r0, _0813F9FC @ =0x0000ffff
+ b _0813FA04
+ .align 2, 0
+_0813F9F4: .4byte 0x02017840
+_0813F9F8: .4byte gUnknown_03004B00
+_0813F9FC: .4byte 0x0000ffff
+_0813FA00:
+ ldr r1, _0813FA10 @ =gUnknown_03004B00
+ movs r0, 0
+_0813FA04:
+ strh r0, [r1, 0xE]
+ adds r0, r2, 0
+ bl move_anim_task_del
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FA10: .4byte gUnknown_03004B00
+ thumb_func_end sub_813F9E0
+
+ thumb_func_start ball_number_to_ball_processing_index
+ball_number_to_ball_processing_index: @ 813FA14
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ subs r0, 0x1
+ cmp r0, 0xB
+ bhi _0813FA8C
+ lsls r0, 2
+ ldr r1, _0813FA2C @ =_0813FA30
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813FA2C: .4byte _0813FA30
+ .align 2, 0
+_0813FA30:
+ .4byte _0813FA60
+ .4byte _0813FA64
+ .4byte _0813FA68
+ .4byte _0813FA8C
+ .4byte _0813FA6C
+ .4byte _0813FA70
+ .4byte _0813FA74
+ .4byte _0813FA78
+ .4byte _0813FA7C
+ .4byte _0813FA80
+ .4byte _0813FA84
+ .4byte _0813FA88
+_0813FA60:
+ movs r0, 0x4
+ b _0813FA8E
+_0813FA64:
+ movs r0, 0x3
+ b _0813FA8E
+_0813FA68:
+ movs r0, 0x1
+ b _0813FA8E
+_0813FA6C:
+ movs r0, 0x2
+ b _0813FA8E
+_0813FA70:
+ movs r0, 0x5
+ b _0813FA8E
+_0813FA74:
+ movs r0, 0x6
+ b _0813FA8E
+_0813FA78:
+ movs r0, 0x7
+ b _0813FA8E
+_0813FA7C:
+ movs r0, 0x8
+ b _0813FA8E
+_0813FA80:
+ movs r0, 0x9
+ b _0813FA8E
+_0813FA84:
+ movs r0, 0xA
+ b _0813FA8E
+_0813FA88:
+ movs r0, 0xB
+ b _0813FA8E
+_0813FA8C:
+ movs r0, 0
+_0813FA8E:
+ pop {r1}
+ bx r1
+ thumb_func_end ball_number_to_ball_processing_index
+
+ thumb_func_start sub_813FA94
+sub_813FA94: @ 813FA94
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ mov r10, r0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r0, _0813FB58 @ =gUnknown_02024C04
+ ldrh r0, [r0]
+ bl ball_number_to_ball_processing_index
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, _0813FB5C @ =gSpriteTemplate_820AAB4
+ adds r0, r1
+ movs r1, 0x20
+ movs r2, 0x50
+ movs r3, 0x1D
+ bl CreateSprite
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r1, _0813FB60 @ =gSprites
+ mov r9, r1
+ lsls r4, r5, 4
+ adds r4, r5
+ lsls r4, 2
+ adds r6, r4, r1
+ movs r0, 0x22
+ strh r0, [r6, 0x2E]
+ ldr r2, _0813FB64 @ =gUnknown_0202F7C9
+ mov r8, r2
+ ldrb r0, [r2]
+ movs r1, 0
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x30]
+ mov r1, r8
+ ldrb r0, [r1]
+ movs r1, 0x1
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x10
+ strh r0, [r6, 0x32]
+ mov r0, r9
+ adds r0, 0x1C
+ adds r4, r0
+ ldr r0, _0813FB68 @ =sub_813FD90
+ str r0, [r4]
+ ldr r3, _0813FB6C @ =0x02017840
+ ldr r1, _0813FB70 @ =gUnknown_02024BE0
+ mov r2, r8
+ ldrb r0, [r2]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r9
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ lsls r1, 29
+ lsrs r1, 31
+ lsls r1, 1
+ ldrb r2, [r3, 0x9]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, 0x9]
+ ldr r1, _0813FB74 @ =gTasks
+ mov r2, r10
+ lsls r0, r2, 2
+ add r0, r10
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x8]
+ ldr r1, _0813FB78 @ =sub_813FB7C
+ str r1, [r0]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FB58: .4byte gUnknown_02024C04
+_0813FB5C: .4byte gSpriteTemplate_820AAB4
+_0813FB60: .4byte gSprites
+_0813FB64: .4byte gUnknown_0202F7C9
+_0813FB68: .4byte sub_813FD90
+_0813FB6C: .4byte 0x02017840
+_0813FB70: .4byte gUnknown_02024BE0
+_0813FB74: .4byte gTasks
+_0813FB78: .4byte sub_813FB7C
+ thumb_func_end sub_813FA94
+
+ thumb_func_start sub_813FB7C
+sub_813FB7C: @ 813FB7C
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r1, _0813FBAC @ =gTasks
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0, 0x8]
+ ldr r2, _0813FBB0 @ =gSprites
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x2E]
+ ldr r0, _0813FBB4 @ =0x0000ffff
+ cmp r1, r0
+ bne _0813FBA6
+ adds r0, r3, 0
+ bl move_anim_task_del
+_0813FBA6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FBAC: .4byte gTasks
+_0813FBB0: .4byte gSprites
+_0813FBB4: .4byte 0x0000ffff
+ thumb_func_end sub_813FB7C
+
+ thumb_func_start sub_813FBB8
+sub_813FBB8: @ 813FBB8
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, _0813FBD8 @ =gUnknown_020239F8
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 2
+ ands r0, r1
+ cmp r0, 0
+ beq _0813FBDC
+ movs r6, 0x20
+ movs r5, 0xB
+ b _0813FBE0
+ .align 2, 0
+_0813FBD8: .4byte gUnknown_020239F8
+_0813FBDC:
+ movs r6, 0x17
+ movs r5, 0x5
+_0813FBE0:
+ ldr r0, _0813FC9C @ =gUnknown_02024C04
+ ldrh r0, [r0]
+ bl ball_number_to_ball_processing_index
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8079E90
+ adds r3, r0, 0
+ adds r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _0813FCA0 @ =gSpriteTemplate_820AAB4
+ adds r0, r1
+ adds r1, r6, 0
+ adds r1, 0x20
+ movs r2, 0x50
+ orrs r5, r2
+ adds r2, r5, 0
+ bl CreateSprite
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, _0813FCA4 @ =gSprites
+ mov r9, r0
+ lsls r4, r5, 4
+ adds r4, r5
+ lsls r4, 2
+ adds r6, r4, r0
+ movs r0, 0x22
+ strh r0, [r6, 0x2E]
+ ldr r1, _0813FCA8 @ =gUnknown_0202F7C9
+ mov r8, r1
+ ldrb r0, [r1]
+ movs r1, 0
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x30]
+ mov r1, r8
+ ldrb r0, [r1]
+ movs r1, 0x1
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x10
+ strh r0, [r6, 0x32]
+ mov r0, r9
+ adds r0, 0x1C
+ adds r4, r0
+ ldr r0, _0813FCAC @ =SpriteCallbackDummy
+ str r0, [r4]
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ ldr r1, _0813FCB0 @ =gUnknown_02024BE0
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r9
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r1, _0813FCB4 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x8]
+ ldr r1, _0813FCB8 @ =sub_813FCBC
+ str r1, [r0]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FC9C: .4byte gUnknown_02024C04
+_0813FCA0: .4byte gSpriteTemplate_820AAB4
+_0813FCA4: .4byte gSprites
+_0813FCA8: .4byte gUnknown_0202F7C9
+_0813FCAC: .4byte SpriteCallbackDummy
+_0813FCB0: .4byte gUnknown_02024BE0
+_0813FCB4: .4byte gTasks
+_0813FCB8: .4byte sub_813FCBC
+ thumb_func_end sub_813FBB8
+
+ thumb_func_start sub_813FCBC
+sub_813FCBC: @ 813FCBC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r6, _0813FD1C @ =gSprites
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ ldr r1, _0813FD20 @ =gUnknown_02024BE0
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x2B
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0813FD16
+ movs r0, 0x3D
+ movs r1, 0
+ bl PlaySE12WithPanning
+ ldr r0, _0813FD24 @ =gTasks
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r0
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r6, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _0813FD28 @ =sub_813FD90
+ str r1, [r0]
+ ldr r0, _0813FD2C @ =sub_813FD34
+ movs r1, 0xA
+ bl CreateTask
+ ldr r0, _0813FD30 @ =sub_813FB7C
+ str r0, [r4]
+_0813FD16:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FD1C: .4byte gSprites
+_0813FD20: .4byte gUnknown_02024BE0
+_0813FD24: .4byte gTasks
+_0813FD28: .4byte sub_813FD90
+_0813FD2C: .4byte sub_813FD34
+_0813FD30: .4byte sub_813FB7C
+ thumb_func_end sub_813FCBC
+
+ thumb_func_start sub_813FD34
+sub_813FD34: @ 813FD34
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r6, _0813FD88 @ =gSprites
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ ldr r4, _0813FD8C @ =gUnknown_02024BE0
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 27
+ cmp r0, 0
+ bge _0813FD80
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0
+ bl StartSpriteAnim
+ adds r0, r5, 0
+ bl DestroyTask
+_0813FD80:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FD88: .4byte gSprites
+_0813FD8C: .4byte gUnknown_02024BE0
+ thumb_func_end sub_813FD34
+
+ thumb_func_start sub_813FD90
+sub_813FD90: @ 813FD90
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x30]
+ ldrh r2, [r4, 0x32]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r4, 0x30]
+ strh r1, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ strh r2, [r4, 0x36]
+ ldr r0, _0813FDB8 @ =0x0000ffd8
+ strh r0, [r4, 0x38]
+ adds r0, r4, 0
+ bl sub_80786EC
+ ldr r0, _0813FDBC @ =sub_813FDC0
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FDB8: .4byte 0x0000ffd8
+_0813FDBC: .4byte sub_813FDC0
+ thumb_func_end sub_813FD90
+
+ thumb_func_start sub_813FDC0
+sub_813FDC0: @ 813FDC0
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ bl sub_8078718
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813FE5A
+ ldr r0, _0813FDE0 @ =0x02017840
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0x5
+ bne _0813FDE8
+ ldr r0, _0813FDE4 @ =sub_81407B8
+ str r0, [r4, 0x1C]
+ b _0813FE5A
+ .align 2, 0
+_0813FDE0: .4byte 0x02017840
+_0813FDE4: .4byte sub_81407B8
+_0813FDE8:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x26]
+ ldrh r2, [r4, 0x22]
+ adds r0, r2
+ strh r0, [r4, 0x22]
+ strh r1, [r4, 0x24]
+ strh r1, [r4, 0x26]
+ adds r1, r4, 0
+ adds r1, 0x2E
+ movs r2, 0
+ adds r0, r4, 0
+ adds r0, 0x3C
+_0813FE10:
+ strh r2, [r0]
+ subs r0, 0x2
+ cmp r0, r1
+ bge _0813FE10
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldr r0, _0813FE64 @ =sub_813FE70
+ str r0, [r4, 0x1C]
+ ldr r0, _0813FE68 @ =gUnknown_02024C04
+ ldrh r0, [r0]
+ bl ball_number_to_ball_processing_index
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xB
+ bgt _0813FE5A
+ cmp r5, 0
+ blt _0813FE5A
+ ldrh r0, [r4, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x22]
+ subs r1, 0x5
+ lsls r1, 24
+ lsrs r1, 24
+ str r5, [sp]
+ movs r2, 0x1
+ movs r3, 0x1C
+ bl sub_814086C
+ ldr r0, _0813FE6C @ =gUnknown_0202F7C9
+ ldrb r1, [r0]
+ movs r0, 0
+ movs r2, 0xE
+ adds r3, r5, 0
+ bl sub_8141314
+_0813FE5A:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FE64: .4byte sub_813FE70
+_0813FE68: .4byte gUnknown_02024C04
+_0813FE6C: .4byte gUnknown_0202F7C9
+ thumb_func_end sub_813FDC0
+
+ thumb_func_start sub_813FE70
+sub_813FE70: @ 813FE70
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xA
+ bne _0813FEAC
+ ldr r0, _0813FEB4 @ =TaskDummy
+ movs r1, 0x32
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x38]
+ ldr r0, _0813FEB8 @ =sub_813FEC8
+ str r0, [r4, 0x1C]
+ ldr r2, _0813FEBC @ =gSprites
+ ldr r1, _0813FEC0 @ =gUnknown_02024BE0
+ ldr r0, _0813FEC4 @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0
+ strh r1, [r0, 0x30]
+_0813FEAC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813FEB4: .4byte TaskDummy
+_0813FEB8: .4byte sub_813FEC8
+_0813FEBC: .4byte gSprites
+_0813FEC0: .4byte gUnknown_02024BE0
+_0813FEC4: .4byte gUnknown_0202F7C9
+ thumb_func_end sub_813FE70
+
+ thumb_func_start sub_813FEC8
+sub_813FEC8: @ 813FEC8
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ ldr r1, _0813FF0C @ =gUnknown_02024BE0
+ ldr r0, _0813FF10 @ =gUnknown_0202F7C9
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r4, [r0]
+ ldrh r0, [r7, 0x38]
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _0813FF14 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r5, r0, r1
+ ldrh r0, [r5, 0xA]
+ adds r0, 0x1
+ strh r0, [r5, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xB
+ bne _0813FEFA
+ movs r0, 0x3C
+ bl PlaySE
+_0813FEFA:
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _0813FF70
+ cmp r0, 0x1
+ bgt _0813FF18
+ cmp r0, 0
+ beq _0813FF1E
+ b _0813FFDC
+ .align 2, 0
+_0813FF0C: .4byte gUnknown_02024BE0
+_0813FF10: .4byte gUnknown_0202F7C9
+_0813FF14: .4byte gTasks
+_0813FF18:
+ cmp r0, 0x2
+ beq _0813FFB4
+ b _0813FFDC
+_0813FF1E:
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8078E70
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r5, 0x1C]
+ ldr r1, _0813FF60 @ =gUnknown_03005F0C
+ movs r0, 0x1C
+ str r0, [r1]
+ ldr r2, _0813FF64 @ =gUnknown_03005F14
+ ldr r1, _0813FF68 @ =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ ldrh r0, [r0, 0x22]
+ adds r1, r0
+ ldrh r0, [r7, 0x26]
+ ldrh r7, [r7, 0x22]
+ adds r0, r7
+ subs r1, r0
+ strh r1, [r2]
+ ldr r4, _0813FF6C @ =gUnknown_03005F10
+ ldrh r0, [r2]
+ lsls r0, 8
+ movs r1, 0x1C
+ bl __udivsi3
+ strh r0, [r4]
+ strh r0, [r5, 0xC]
+ b _0813FFCE
+ .align 2, 0
+_0813FF60: .4byte gUnknown_03005F0C
+_0813FF64: .4byte gUnknown_03005F14
+_0813FF68: .4byte gSprites
+_0813FF6C: .4byte gUnknown_03005F10
+_0813FF70:
+ ldrh r0, [r5, 0x1C]
+ adds r0, 0x20
+ strh r0, [r5, 0x1C]
+ movs r0, 0x1C
+ ldrsh r2, [r5, r0]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldrh r0, [r5, 0xC]
+ ldrh r1, [r5, 0xE]
+ adds r0, r1
+ strh r0, [r5, 0xE]
+ ldr r0, _0813FFAC @ =gSprites
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ adds r1, r0
+ movs r2, 0xE
+ ldrsh r0, [r5, r2]
+ negs r0, r0
+ asrs r0, 8
+ strh r0, [r1, 0x26]
+ movs r0, 0x1C
+ ldrsh r1, [r5, r0]
+ ldr r0, _0813FFB0 @ =0x0000047f
+ cmp r1, r0
+ ble _08140004
+ b _0813FFCE
+ .align 2, 0
+_0813FFAC: .4byte gSprites
+_0813FFB0: .4byte 0x0000047f
+_0813FFB4:
+ adds r0, r4, 0
+ bl sub_8078F40
+ ldr r1, _0813FFD8 @ =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+_0813FFCE:
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ b _08140004
+ .align 2, 0
+_0813FFD8: .4byte gSprites
+_0813FFDC:
+ ldr r0, _0814000C @ =gTasks
+ lsls r1, r6, 2
+ adds r1, r6
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ cmp r0, 0xA
+ ble _08140004
+ adds r0, r6, 0
+ bl DestroyTask
+ adds r0, r7, 0
+ movs r1, 0x2
+ bl StartSpriteAnim
+ movs r0, 0
+ strh r0, [r7, 0x38]
+ ldr r0, _08140010 @ =sub_8140014
+ str r0, [r7, 0x1C]
+_08140004:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814000C: .4byte gTasks
+_08140010: .4byte sub_8140014
+ thumb_func_end sub_813FEC8
+
+ thumb_func_start sub_8140014
+sub_8140014: @ 8140014
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0814004E
+ movs r1, 0
+ strh r1, [r4, 0x34]
+ movs r0, 0x20
+ strh r0, [r4, 0x36]
+ strh r1, [r4, 0x38]
+ movs r0, 0
+ movs r1, 0x20
+ bl Cos
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ movs r0, 0x36
+ ldrsh r1, [r4, r0]
+ movs r0, 0
+ bl Cos
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldr r0, _08140054 @ =sub_8140058
+ str r0, [r4, 0x1C]
+_0814004E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140054: .4byte sub_8140058
+ thumb_func_end sub_8140014
+
+ thumb_func_start sub_8140058
+sub_8140058: @ 8140058
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ ldrh r0, [r4, 0x34]
+ movs r1, 0xFF
+ ands r1, r0
+ cmp r1, 0
+ beq _0814006E
+ cmp r1, 0x1
+ beq _081400E2
+ b _0814010E
+_0814006E:
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl Cos
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r1, [r4, 0x38]
+ adds r1, 0x4
+ ldrh r2, [r4, 0x34]
+ lsls r0, r2, 16
+ asrs r0, 24
+ adds r1, r0
+ strh r1, [r4, 0x38]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x3F
+ ble _0814010E
+ ldrh r0, [r4, 0x36]
+ subs r0, 0xA
+ strh r0, [r4, 0x36]
+ ldr r1, _081400B8 @ =0x00000101
+ adds r0, r2, r1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 24
+ cmp r0, 0x4
+ bne _081400AA
+ movs r5, 0x1
+_081400AA:
+ cmp r0, 0x2
+ beq _081400CA
+ cmp r0, 0x2
+ bgt _081400BC
+ cmp r0, 0x1
+ beq _081400C2
+ b _081400DA
+ .align 2, 0
+_081400B8: .4byte 0x00000101
+_081400BC:
+ cmp r0, 0x3
+ beq _081400D2
+ b _081400DA
+_081400C2:
+ movs r0, 0x38
+ bl PlaySE
+ b _0814010E
+_081400CA:
+ movs r0, 0x39
+ bl PlaySE
+ b _0814010E
+_081400D2:
+ movs r0, 0x3A
+ bl PlaySE
+ b _0814010E
+_081400DA:
+ movs r0, 0x3B
+ bl PlaySE
+ b _0814010E
+_081400E2:
+ movs r2, 0x38
+ ldrsh r0, [r4, r2]
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl Cos
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r1, [r4, 0x38]
+ subs r1, 0x4
+ ldrh r2, [r4, 0x34]
+ lsls r0, r2, 16
+ asrs r0, 24
+ subs r1, r0
+ strh r1, [r4, 0x38]
+ lsls r1, 16
+ cmp r1, 0
+ bgt _0814010E
+ strh r5, [r4, 0x38]
+ ldr r0, _08140138 @ =0xffffff00
+ ands r0, r2
+ strh r0, [r4, 0x34]
+_0814010E:
+ cmp r5, 0
+ beq _0814014E
+ movs r5, 0
+ strh r5, [r4, 0x34]
+ movs r0, 0x40
+ movs r1, 0x20
+ bl Cos
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ strh r5, [r4, 0x26]
+ ldr r0, _0814013C @ =0x02017840
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _08140144
+ strh r5, [r4, 0x38]
+ ldr r0, _08140140 @ =sub_8140410
+ str r0, [r4, 0x1C]
+ b _0814014E
+ .align 2, 0
+_08140138: .4byte 0xffffff00
+_0814013C: .4byte 0x02017840
+_08140140: .4byte sub_8140410
+_08140144:
+ ldr r0, _08140154 @ =sub_8140158
+ str r0, [r4, 0x1C]
+ movs r0, 0x1
+ strh r0, [r4, 0x36]
+ strh r5, [r4, 0x38]
+_0814014E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140154: .4byte sub_8140158
+ thumb_func_end sub_8140058
+
+ thumb_func_start sub_8140158
+sub_8140158: @ 8140158
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ movs r5, 0
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _08140190
+ strh r5, [r4, 0x34]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ ldr r0, _08140198 @ =0x02017840
+ strh r5, [r0, 0xC]
+ ldr r0, _0814019C @ =sub_81401A0
+ str r0, [r4, 0x1C]
+ movs r0, 0x17
+ bl PlaySE
+_08140190:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140198: .4byte 0x02017840
+_0814019C: .4byte sub_81401A0
+ thumb_func_end sub_8140158
+
+ thumb_func_start sub_81401A0
+sub_81401A0: @ 81401A0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x34]
+ movs r1, 0xFF
+ ands r1, r0
+ cmp r1, 0x6
+ bls _081401B0
+ b _081403C4
+_081401B0:
+ lsls r0, r1, 2
+ ldr r1, _081401BC @ =_081401C0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081401BC: .4byte _081401C0
+ .align 2, 0
+_081401C0:
+ .4byte _081401DC
+ .4byte _08140226
+ .4byte _0814026C
+ .4byte _081402C0
+ .4byte _08140310
+ .4byte _08140368
+ .4byte _081403C4
+_081401DC:
+ ldr r0, _081401F8 @ =0x02017840
+ ldrh r2, [r0, 0xC]
+ movs r3, 0xC
+ ldrsh r1, [r0, r3]
+ adds r5, r0, 0
+ cmp r1, 0xFF
+ ble _081401FC
+ ldrh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ movs r0, 0xFF
+ ands r0, r2
+ b _08140200
+ .align 2, 0
+_081401F8: .4byte 0x02017840
+_081401FC:
+ adds r0, r2, 0
+ adds r0, 0xB0
+_08140200:
+ strh r0, [r5, 0xC]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ movs r3, 0
+ strh r0, [r4, 0x38]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x7
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xE
+ bhi _08140224
+ b _0814040A
+_08140224:
+ b _081402B4
+_08140226:
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _081402CC
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x36]
+ negs r0, r0
+ strh r0, [r4, 0x36]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ movs r3, 0x36
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bge _08140262
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl ChangeSpriteAffineAnim
+ b _0814040A
+_08140262:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl ChangeSpriteAffineAnim
+ b _0814040A
+_0814026C:
+ ldr r0, _08140288 @ =0x02017840
+ ldrh r2, [r0, 0xC]
+ movs r3, 0xC
+ ldrsh r1, [r0, r3]
+ adds r5, r0, 0
+ cmp r1, 0xFF
+ ble _0814028C
+ ldrh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ movs r0, 0xFF
+ ands r0, r2
+ b _08140290
+ .align 2, 0
+_08140288: .4byte 0x02017840
+_0814028C:
+ adds r0, r2, 0
+ adds r0, 0xB0
+_08140290:
+ strh r0, [r5, 0xC]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ movs r3, 0
+ strh r0, [r4, 0x38]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0xC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x18
+ bhi _081402B4
+ b _0814040A
+_081402B4:
+ strh r3, [r5, 0xC]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ strh r3, [r4, 0x38]
+ b _0814040A
+_081402C0:
+ ldrh r0, [r4, 0x38]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x38]
+ lsls r0, 16
+ cmp r0, 0
+ bge _081402DA
+_081402CC:
+ adds r0, r4, 0
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ movs r2, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ b _0814040A
+_081402DA:
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x36]
+ negs r0, r0
+ strh r0, [r4, 0x36]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ movs r3, 0x36
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bge _08140308
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl ChangeSpriteAffineAnim
+ b _08140310
+_08140308:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl ChangeSpriteAffineAnim
+_08140310:
+ ldr r0, _0814032C @ =0x02017840
+ ldrh r2, [r0, 0xC]
+ movs r3, 0xC
+ ldrsh r1, [r0, r3]
+ adds r5, r0, 0
+ cmp r1, 0xFF
+ ble _08140330
+ ldrh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ movs r0, 0xFF
+ ands r0, r2
+ b _08140334
+ .align 2, 0
+_0814032C: .4byte 0x02017840
+_08140330:
+ adds r0, r2, 0
+ adds r0, 0xB0
+_08140334:
+ strh r0, [r5, 0xC]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ movs r3, 0
+ strh r0, [r4, 0x38]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x4
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x8
+ bls _0814040A
+ strh r3, [r5, 0xC]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ strh r3, [r4, 0x38]
+ ldrh r0, [r4, 0x36]
+ negs r0, r0
+ strh r0, [r4, 0x36]
+ b _0814040A
+_08140368:
+ movs r3, 0x80
+ lsls r3, 1
+ adds r0, r3, 0
+ ldrh r1, [r4, 0x34]
+ adds r0, r1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r1, r0, 24
+ ldr r0, _08140394 @ =0x02017840
+ ldrb r0, [r0, 0x8]
+ cmp r1, r0
+ bne _0814039C
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _08140398 @ =sub_8140410
+ str r0, [r4, 0x1C]
+ b _0814040A
+ .align 2, 0
+_08140394: .4byte 0x02017840
+_08140398: .4byte sub_8140410
+_0814039C:
+ cmp r0, 0x4
+ bne _081403B0
+ cmp r1, 0x3
+ bne _081403B0
+ ldr r0, _081403AC @ =sub_8140434
+ str r0, [r4, 0x1C]
+ b _081403B6
+ .align 2, 0
+_081403AC: .4byte sub_8140434
+_081403B0:
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+_081403B6:
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ b _0814040A
+_081403C4:
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _0814040A
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldrh r1, [r4, 0x34]
+ ldr r0, _081403F8 @ =0xffffff00
+ ands r0, r1
+ strh r0, [r4, 0x34]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAffineAnim
+ movs r3, 0x36
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bge _081403FC
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ b _08140404
+ .align 2, 0
+_081403F8: .4byte 0xffffff00
+_081403FC:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+_08140404:
+ movs r0, 0x17
+ bl PlaySE
+_0814040A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81401A0
+
+ thumb_func_start sub_8140410
+sub_8140410: @ 8140410
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x38]
+ adds r0, 0x1
+ strh r0, [r1, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _0814042A
+ movs r0, 0
+ strh r0, [r1, 0x38]
+ ldr r0, _08140430 @ =sub_81405F4
+ str r0, [r1, 0x1C]
+_0814042A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140430: .4byte sub_81405F4
+ thumb_func_end sub_8140410
+
+ thumb_func_start sub_8140434
+sub_8140434: @ 8140434
+ adds r3, r0, 0
+ adds r3, 0x2C
+ ldrb r1, [r3]
+ movs r2, 0x40
+ orrs r1, r2
+ strb r1, [r3]
+ ldr r1, _08140450 @ =sub_8140454
+ str r1, [r0, 0x1C]
+ movs r1, 0
+ strh r1, [r0, 0x34]
+ strh r1, [r0, 0x36]
+ strh r1, [r0, 0x38]
+ bx lr
+ .align 2, 0
+_08140450: .4byte sub_8140454
+ thumb_func_end sub_8140434
+
+ thumb_func_start sub_8140454
+sub_8140454: @ 8140454
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ ldr r7, _08140484 @ =gUnknown_0202F7C9
+ ldrh r0, [r6, 0x36]
+ adds r0, 0x1
+ strh r0, [r6, 0x36]
+ lsls r0, 16
+ asrs r1, r0, 16
+ cmp r1, 0x28
+ beq _081404CC
+ cmp r1, 0x5F
+ bne _08140490
+ ldr r0, _08140488 @ =gUnknown_02024E6D
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x1
+ bl sub_8043EB4
+ bl m4aMPlayAllStop
+ ldr r0, _0814048C @ =0x00000173
+ bl PlaySE
+ b _081404CC
+ .align 2, 0
+_08140484: .4byte gUnknown_0202F7C9
+_08140488: .4byte gUnknown_02024E6D
+_0814048C: .4byte 0x00000173
+_08140490:
+ ldr r0, _081404D4 @ =0x0000013b
+ cmp r1, r0
+ bne _081404CC
+ ldr r5, _081404D8 @ =gSprites
+ ldr r4, _081404DC @ =gUnknown_02024BE0
+ ldrb r0, [r7]
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r0, [r0, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ ldrb r0, [r7]
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ bl DestroySprite
+ movs r0, 0
+ strh r0, [r6, 0x2E]
+ ldr r0, _081404E0 @ =sub_81404E4
+ str r0, [r6, 0x1C]
+_081404CC:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081404D4: .4byte 0x0000013b
+_081404D8: .4byte gSprites
+_081404DC: .4byte gUnknown_02024BE0
+_081404E0: .4byte sub_81404E4
+ thumb_func_end sub_8140454
+
+ thumb_func_start sub_81404E4
+sub_81404E4: @ 81404E4
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _08140550
+ cmp r0, 0x1
+ bgt _081404FC
+ cmp r0, 0
+ beq _08140502
+ b _08140594
+_081404FC:
+ cmp r0, 0x2
+ beq _08140580
+ b _08140594
+_08140502:
+ strh r0, [r4, 0x30]
+ strh r0, [r4, 0x32]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldr r1, _08140548 @ =REG_BLDCNT
+ movs r2, 0xFD
+ lsls r2, 6
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0x10
+ strh r0, [r1]
+ ldr r0, [r4, 0x14]
+ ldrh r0, [r0, 0x2]
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x10
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, _0814054C @ =0x00007fff
+ str r0, [sp]
+ adds r0, r1, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _0814058C
+ .align 2, 0
+_08140548: .4byte REG_BLDCNT
+_0814054C: .4byte 0x00007fff
+_08140550:
+ ldrh r0, [r4, 0x30]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x30]
+ lsls r0, 16
+ cmp r0, 0
+ ble _081405B2
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldrh r1, [r4, 0x32]
+ adds r1, 0x1
+ strh r1, [r4, 0x32]
+ ldr r3, _0814057C @ =REG_BLDALPHA
+ lsls r2, r1, 8
+ movs r0, 0x10
+ subs r0, r1
+ orrs r2, r0
+ strh r2, [r3]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _081405B2
+ b _0814058C
+ .align 2, 0
+_0814057C: .4byte REG_BLDALPHA
+_08140580:
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_0814058C:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _081405B2
+_08140594:
+ ldr r0, _081405BC @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _081405B2
+ ldr r0, _081405C0 @ =REG_BLDCNT
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ strh r1, [r4, 0x2E]
+ ldr r0, _081405C4 @ =sub_81405C8
+ str r0, [r4, 0x1C]
+_081405B2:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081405BC: .4byte gPaletteFade
+_081405C0: .4byte REG_BLDCNT
+_081405C4: .4byte sub_81405C8
+ thumb_func_end sub_81404E4
+
+ thumb_func_start sub_81405C8
+sub_81405C8: @ 81405C8
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x2E]
+ movs r2, 0x2E
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _081405E0
+ ldr r0, _081405DC @ =0x0000ffff
+ strh r0, [r4, 0x2E]
+ b _081405EC
+ .align 2, 0
+_081405DC: .4byte 0x0000ffff
+_081405E0:
+ adds r0, r4, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r4, 0
+ bl DestroySprite
+_081405EC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81405C8
+
+ thumb_func_start sub_81405F4
+sub_81405F4: @ 81405F4
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAffineAnim
+ ldr r0, _081406A8 @ =sub_81406BC
+ str r0, [r4, 0x1C]
+ ldr r0, _081406AC @ =gUnknown_02024C04
+ ldrh r0, [r0]
+ bl ball_number_to_ball_processing_index
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xB
+ bgt _08140646
+ cmp r5, 0
+ blt _08140646
+ ldrh r0, [r4, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x22]
+ subs r1, 0x5
+ lsls r1, 24
+ lsrs r1, 24
+ str r5, [sp]
+ movs r2, 0x1
+ movs r3, 0x1C
+ bl sub_814086C
+ ldr r0, _081406B0 @ =gUnknown_0202F7C9
+ ldrb r1, [r0]
+ movs r0, 0x1
+ movs r2, 0xE
+ adds r3, r5, 0
+ bl sub_8141314
+_08140646:
+ ldr r6, _081406B4 @ =gSprites
+ ldr r5, _081406B8 @ =gUnknown_02024BE0
+ ldr r4, _081406B0 @ =gUnknown_0202F7C9
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ bl AnimateSprite
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0x80
+ lsls r1, 5
+ strh r1, [r0, 0x30]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081406A8: .4byte sub_81406BC
+_081406AC: .4byte gUnknown_02024C04
+_081406B0: .4byte gUnknown_0202F7C9
+_081406B4: .4byte gSprites
+_081406B8: .4byte gUnknown_02024BE0
+ thumb_func_end sub_81405F4
+
+ thumb_func_start sub_81406BC
+sub_81406BC: @ 81406BC
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r5, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _081406DA
+ adds r2, r7, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_081406DA:
+ ldr r4, _08140708 @ =gSprites
+ ldr r3, _0814070C @ =gUnknown_02024BE0
+ ldr r2, _08140710 @ =gUnknown_0202F7C9
+ ldrb r0, [r2]
+ adds r0, r3
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r4
+ adds r0, r1, 0
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _08140714
+ adds r0, r1, 0
+ movs r1, 0
+ bl StartSpriteAffineAnim
+ movs r5, 0x1
+ b _08140734
+ .align 2, 0
+_08140708: .4byte gSprites
+_0814070C: .4byte gUnknown_02024BE0
+_08140710: .4byte gUnknown_0202F7C9
+_08140714:
+ ldr r6, _0814079C @ =0xfffffee0
+ adds r0, r6, 0
+ ldrh r6, [r1, 0x30]
+ adds r0, r6
+ strh r0, [r1, 0x30]
+ ldrb r0, [r2]
+ adds r0, r3
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r1, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r1, 0x26]
+_08140734:
+ adds r0, r7, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08140796
+ cmp r5, 0
+ beq _08140796
+ ldr r4, _081407A0 @ =gSprites
+ ldr r3, _081407A4 @ =gUnknown_02024BE0
+ ldr r2, _081407A8 @ =gUnknown_0202F7C9
+ ldrb r0, [r2]
+ adds r0, r3
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r6, 0
+ movs r5, 0
+ strh r5, [r0, 0x26]
+ ldrb r0, [r2]
+ adds r0, r3
+ ldrb r0, [r0]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r4
+ ldr r0, _081407AC @ =0x02017840
+ ldrb r1, [r0, 0x9]
+ lsls r1, 30
+ adds r2, 0x3E
+ lsrs r1, 31
+ lsls r1, 2
+ ldrb r3, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2]
+ strh r5, [r7, 0x2E]
+ ldr r0, _081407B0 @ =sub_81405C8
+ str r0, [r7, 0x1C]
+ ldr r0, _081407B4 @ =gUnknown_02024E6D
+ strb r6, [r0]
+ movs r0, 0x1
+ bl sub_8043EB4
+_08140796:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814079C: .4byte 0xfffffee0
+_081407A0: .4byte gSprites
+_081407A4: .4byte gUnknown_02024BE0
+_081407A8: .4byte gUnknown_0202F7C9
+_081407AC: .4byte 0x02017840
+_081407B0: .4byte sub_81405C8
+_081407B4: .4byte gUnknown_02024E6D
+ thumb_func_end sub_81406BC
+
+ thumb_func_start sub_81407B8
+sub_81407B8: @ 81407B8
+ push {r4,lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x24]
+ ldrh r1, [r2, 0x20]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r2, 0x20]
+ ldrh r0, [r2, 0x26]
+ ldrh r3, [r2, 0x22]
+ adds r0, r3
+ strh r0, [r2, 0x22]
+ strh r1, [r2, 0x26]
+ strh r1, [r2, 0x24]
+ ldr r4, _081407F0 @ =sub_81407F4
+ movs r3, 0
+ movs r1, 0x5
+ adds r0, r2, 0
+ adds r0, 0x38
+_081407DC:
+ strh r3, [r0]
+ subs r0, 0x2
+ subs r1, 0x1
+ cmp r1, 0
+ bge _081407DC
+ str r4, [r2, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081407F0: .4byte sub_81407F4
+ thumb_func_end sub_81407B8
+
+ thumb_func_start sub_81407F4
+sub_81407F4: @ 81407F4
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x80
+ lsls r0, 4
+ adds r2, r0, 0
+ ldrh r1, [r4, 0x2E]
+ adds r2, r1
+ movs r0, 0xD0
+ lsls r0, 3
+ adds r3, r0, 0
+ ldrh r1, [r4, 0x30]
+ adds r3, r1
+ lsls r1, r3, 16
+ asrs r1, 24
+ ldrh r0, [r4, 0x24]
+ subs r0, r1
+ strh r0, [r4, 0x24]
+ lsls r0, r2, 16
+ asrs r0, 24
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ movs r0, 0xFF
+ ands r2, r0
+ strh r2, [r4, 0x2E]
+ ands r3, r0
+ strh r3, [r4, 0x30]
+ movs r2, 0x22
+ ldrsh r0, [r4, r2]
+ movs r2, 0x26
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ cmp r0, 0xA0
+ bgt _0814084A
+ movs r1, 0x20
+ ldrsh r0, [r4, r1]
+ movs r2, 0x24
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ movs r1, 0x8
+ negs r1, r1
+ cmp r0, r1
+ bge _0814085E
+_0814084A:
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ ldr r0, _08140864 @ =sub_81405C8
+ str r0, [r4, 0x1C]
+ ldr r1, _08140868 @ =gUnknown_02024E6D
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0x1
+ bl sub_8043EB4
+_0814085E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140864: .4byte sub_81405C8
+_08140868: .4byte gUnknown_02024E6D
+ thumb_func_end sub_81407F4
+
+ thumb_func_start sub_814086C
+sub_814086C: @ 814086C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, [sp, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r9, r1
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ lsls r3, 24
+ lsrs r7, r3, 24
+ lsls r4, 24
+ lsrs r4, 24
+ adds r5, r4, 0
+ ldr r0, _08140910 @ =gUnknown_0840B258
+ lsls r6, r5, 3
+ adds r4, r6, r0
+ ldrh r0, [r4, 0x6]
+ bl GetSpriteTileStartByTag
+ lsls r0, 16
+ ldr r1, _08140914 @ =0xffff0000
+ cmp r0, r1
+ bne _081408B6
+ adds r0, r4, 0
+ bl LoadCompressedObjectPic
+ ldr r0, _08140918 @ =gUnknown_0840B2B8
+ adds r0, r6, r0
+ bl LoadCompressedObjectPalette
+_081408B6:
+ ldr r1, _0814091C @ =gUnknown_0840B384
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _08140920 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ mov r1, r10
+ strh r1, [r0, 0xA]
+ mov r1, r9
+ strh r1, [r0, 0xC]
+ mov r1, r8
+ strh r1, [r0, 0xE]
+ strh r7, [r0, 0x10]
+ strh r5, [r0, 0x26]
+ movs r0, 0xF
+ bl PlaySE
+ ldr r0, _08140924 @ =gMain
+ ldr r1, _08140928 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08140900
+ ldr r1, _0814092C @ =0x02017840
+ ldrb r0, [r1, 0xA]
+ adds r0, 0x1
+ strb r0, [r1, 0xA]
+_08140900:
+ adds r0, r4, 0
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08140910: .4byte gUnknown_0840B258
+_08140914: .4byte 0xffff0000
+_08140918: .4byte gUnknown_0840B2B8
+_0814091C: .4byte gUnknown_0840B384
+_08140920: .4byte gTasks
+_08140924: .4byte gMain
+_08140928: .4byte 0x0000043d
+_0814092C: .4byte 0x02017840
+ thumb_func_end sub_814086C
+
+ thumb_func_start sub_8140930
+sub_8140930: @ 8140930
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r1, _081409D0 @ =gTasks
+ lsls r0, 2
+ add r0, r9
+ lsls r0, 3
+ adds r7, r0, r1
+ ldrh r0, [r7, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ movs r1, 0x8
+ ldrsh r0, [r7, r1]
+ cmp r0, 0xF
+ bgt _081409E4
+ ldrb r1, [r7, 0xA]
+ ldrb r2, [r7, 0xC]
+ ldrb r6, [r7, 0xE]
+ ldrb r3, [r7, 0x10]
+ mov r4, r8
+ lsls r0, r4, 1
+ add r0, r8
+ lsls r0, 3
+ ldr r4, _081409D4 @ =gSpriteTemplate_840B3B4
+ adds r0, r4
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ ldr r5, _081409D8 @ =gSprites
+ adds r2, r4, r5
+ ldr r0, _081409DC @ =gUnknown_0840B378
+ add r0, r8
+ ldrb r1, [r0]
+ adds r0, r2, 0
+ str r2, [sp]
+ bl StartSpriteAnim
+ adds r5, 0x1C
+ adds r4, r5
+ ldr r0, _081409E0 @ =sub_8140A08
+ str r0, [r4]
+ movs r0, 0x3
+ ands r6, r0
+ lsls r6, 2
+ ldr r2, [sp]
+ ldrb r1, [r2, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r1
+ orrs r0, r6
+ strb r0, [r2, 0x5]
+ ldrb r0, [r7, 0x8]
+ cmp r0, 0x7
+ bls _081409B6
+ subs r0, 0x8
+ lsls r0, 24
+ lsrs r0, 24
+_081409B6:
+ lsls r0, 5
+ strh r0, [r2, 0x2E]
+ movs r1, 0x8
+ ldrsh r0, [r7, r1]
+ cmp r0, 0xF
+ bne _081409E4
+ movs r0, 0x1
+ strh r0, [r2, 0x3C]
+ mov r0, r9
+ bl DestroyTask
+ b _081409F6
+ .align 2, 0
+_081409D0: .4byte gTasks
+_081409D4: .4byte gSpriteTemplate_840B3B4
+_081409D8: .4byte gSprites
+_081409DC: .4byte gUnknown_0840B378
+_081409E0: .4byte sub_8140A08
+_081409E4:
+ ldr r0, _08140A04 @ =gTasks
+ mov r2, r9
+ lsls r1, r2, 2
+ add r1, r9
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_081409F6:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140A04: .4byte gTasks
+ thumb_func_end sub_8140930
+
+ thumb_func_start sub_8140A08
+sub_8140A08: @ 8140A08
+ push {lr}
+ adds r1, r0, 0
+ ldrh r2, [r1, 0x30]
+ movs r3, 0x30
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _08140A20
+ ldr r0, _08140A1C @ =sub_8140A28
+ str r0, [r1, 0x1C]
+ b _08140A24
+ .align 2, 0
+_08140A1C: .4byte sub_8140A28
+_08140A20:
+ subs r0, r2, 0x1
+ strh r0, [r1, 0x30]
+_08140A24:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8140A08
+
+ thumb_func_start sub_8140A28
+sub_8140A28: @ 8140A28
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r2, 0x30
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r2, 0x30
+ ldrsh r1, [r4, r2]
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x2
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x32
+ bne _08140A5C
+ adds r0, r4, 0
+ bl sub_8141294
+_08140A5C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8140A28
+
+ thumb_func_start sub_8140A64
+sub_8140A64: @ 8140A64
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08140B24 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r0, 0xA]
+ str r2, [sp]
+ ldrb r3, [r0, 0xC]
+ str r3, [sp, 0x4]
+ ldrb r2, [r0, 0xE]
+ str r2, [sp, 0x8]
+ ldrb r0, [r0, 0x10]
+ str r0, [sp, 0xC]
+ movs r6, 0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ mov r10, r0
+ ldr r3, _08140B28 @ =gSprites
+ mov r8, r3
+ ldr r0, _08140B2C @ =gUnknown_0840B378
+ adds r1, r0
+ mov r9, r1
+_08140AA8:
+ ldr r0, _08140B30 @ =gSpriteTemplate_840B3B4
+ add r0, r10
+ ldr r1, [sp]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0xC]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r5, r1, 2
+ mov r0, r8
+ adds r4, r5, r0
+ mov r2, r9
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r3, _08140B34 @ =gSprites + 0x1C
+ adds r1, r5, r3
+ ldr r0, _08140B38 @ =sub_8140ECC
+ str r0, [r1]
+ movs r0, 0x3
+ ldr r2, [sp, 0x8]
+ ands r2, r0
+ lsls r2, 2
+ ldrb r0, [r4, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r0, r6, 5
+ strh r0, [r4, 0x2E]
+ movs r0, 0xA
+ strh r0, [r4, 0x36]
+ movs r0, 0x2
+ strh r0, [r4, 0x38]
+ movs r2, 0x1
+ strh r2, [r4, 0x3A]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x7
+ bls _08140AA8
+ ldr r0, _08140B28 @ =gSprites
+ adds r0, r5, r0
+ strh r2, [r0, 0x3C]
+ adds r0, r7, 0
+ bl DestroyTask
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140B24: .4byte gTasks
+_08140B28: .4byte gSprites
+_08140B2C: .4byte gUnknown_0840B378
+_08140B30: .4byte gSpriteTemplate_840B3B4
+_08140B34: .4byte gSprites + 0x1C
+_08140B38: .4byte sub_8140ECC
+ thumb_func_end sub_8140A64
+
+ thumb_func_start sub_8140B3C
+sub_8140B3C: @ 8140B3C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08140BFC @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r0, 0xA]
+ str r2, [sp]
+ ldrb r3, [r0, 0xC]
+ str r3, [sp, 0x4]
+ ldrb r2, [r0, 0xE]
+ str r2, [sp, 0x8]
+ ldrb r0, [r0, 0x10]
+ str r0, [sp, 0xC]
+ movs r6, 0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ mov r10, r0
+ ldr r3, _08140C00 @ =gSprites
+ mov r8, r3
+ ldr r0, _08140C04 @ =gUnknown_0840B378
+ adds r1, r0
+ mov r9, r1
+_08140B80:
+ ldr r0, _08140C08 @ =gSpriteTemplate_840B3B4
+ add r0, r10
+ ldr r1, [sp]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0xC]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r5, r1, 2
+ mov r0, r8
+ adds r4, r5, r0
+ mov r2, r9
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r3, _08140C0C @ =gSprites + 0x1C
+ adds r1, r5, r3
+ ldr r0, _08140C10 @ =sub_8140ECC
+ str r0, [r1]
+ movs r0, 0x3
+ ldr r2, [sp, 0x8]
+ ands r2, r0
+ lsls r2, 2
+ ldrb r0, [r4, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r0, r6, 5
+ strh r0, [r4, 0x2E]
+ movs r0, 0xA
+ strh r0, [r4, 0x36]
+ movs r1, 0x1
+ strh r1, [r4, 0x38]
+ movs r0, 0x2
+ strh r0, [r4, 0x3A]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x7
+ bls _08140B80
+ ldr r0, _08140C00 @ =gSprites
+ adds r0, r5, r0
+ strh r1, [r0, 0x3C]
+ adds r0, r7, 0
+ bl DestroyTask
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140BFC: .4byte gTasks
+_08140C00: .4byte gSprites
+_08140C04: .4byte gUnknown_0840B378
+_08140C08: .4byte gSpriteTemplate_840B3B4
+_08140C0C: .4byte gSprites + 0x1C
+_08140C10: .4byte sub_8140ECC
+ thumb_func_end sub_8140B3C
+
+ thumb_func_start sub_8140C14
+sub_8140C14: @ 8140C14
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08140CD0 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r0, 0xA]
+ str r2, [sp]
+ ldrb r3, [r0, 0xC]
+ str r3, [sp, 0x4]
+ ldrb r2, [r0, 0xE]
+ str r2, [sp, 0x8]
+ ldrb r0, [r0, 0x10]
+ str r0, [sp, 0xC]
+ movs r6, 0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ mov r10, r0
+ ldr r3, _08140CD4 @ =gSprites
+ mov r8, r3
+ ldr r0, _08140CD8 @ =gUnknown_0840B378
+ adds r1, r0
+ mov r9, r1
+_08140C58:
+ ldr r0, _08140CDC @ =gSpriteTemplate_840B3B4
+ add r0, r10
+ ldr r1, [sp]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0xC]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r5, r1, 2
+ mov r0, r8
+ adds r4, r5, r0
+ mov r2, r9
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r3, _08140CE0 @ =gSprites + 0x1C
+ adds r1, r5, r3
+ ldr r0, _08140CE4 @ =sub_8140ECC
+ str r0, [r1]
+ movs r0, 0x3
+ ldr r2, [sp, 0x8]
+ ands r2, r0
+ lsls r2, 2
+ ldrb r0, [r4, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r0, r6, 5
+ strh r0, [r4, 0x2E]
+ movs r0, 0x4
+ strh r0, [r4, 0x36]
+ movs r2, 0x1
+ strh r2, [r4, 0x38]
+ strh r2, [r4, 0x3A]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x7
+ bls _08140C58
+ ldr r0, _08140CD4 @ =gSprites
+ adds r0, r5, r0
+ strh r2, [r0, 0x3C]
+ adds r0, r7, 0
+ bl DestroyTask
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140CD0: .4byte gTasks
+_08140CD4: .4byte gSprites
+_08140CD8: .4byte gUnknown_0840B378
+_08140CDC: .4byte gSpriteTemplate_840B3B4
+_08140CE0: .4byte gSprites + 0x1C
+_08140CE4: .4byte sub_8140ECC
+ thumb_func_end sub_8140C14
+
+ thumb_func_start sub_8140CE8
+sub_8140CE8: @ 8140CE8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08140DAC @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r0, 0xA]
+ str r2, [sp]
+ ldrb r3, [r0, 0xC]
+ str r3, [sp, 0x4]
+ ldrb r2, [r0, 0xE]
+ str r2, [sp, 0x8]
+ ldrb r0, [r0, 0x10]
+ str r0, [sp, 0xC]
+ movs r6, 0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ mov r10, r0
+ ldr r3, _08140DB0 @ =gSprites
+ mov r8, r3
+ ldr r0, _08140DB4 @ =gUnknown_0840B378
+ adds r1, r0
+ mov r9, r1
+_08140D2C:
+ ldr r0, _08140DB8 @ =gSpriteTemplate_840B3B4
+ add r0, r10
+ ldr r1, [sp]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0xC]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r5, r1, 2
+ mov r0, r8
+ adds r4, r5, r0
+ mov r2, r9
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r3, _08140DBC @ =gSprites + 0x1C
+ adds r1, r5, r3
+ ldr r0, _08140DC0 @ =sub_8140ECC
+ str r0, [r1]
+ movs r0, 0x3
+ ldr r2, [sp, 0x8]
+ ands r2, r0
+ lsls r2, 2
+ ldrb r0, [r4, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r0, r6, 1
+ adds r0, r6
+ lsls r0, 3
+ adds r0, r6
+ strh r0, [r4, 0x2E]
+ movs r0, 0x5
+ strh r0, [r4, 0x36]
+ movs r2, 0x1
+ strh r2, [r4, 0x38]
+ strh r2, [r4, 0x3A]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x9
+ bls _08140D2C
+ ldr r0, _08140DB0 @ =gSprites
+ adds r0, r5, r0
+ strh r2, [r0, 0x3C]
+ adds r0, r7, 0
+ bl DestroyTask
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140DAC: .4byte gTasks
+_08140DB0: .4byte gSprites
+_08140DB4: .4byte gUnknown_0840B378
+_08140DB8: .4byte gSpriteTemplate_840B3B4
+_08140DBC: .4byte gSprites + 0x1C
+_08140DC0: .4byte sub_8140ECC
+ thumb_func_end sub_8140CE8
+
+ thumb_func_start sub_8140DC4
+sub_8140DC4: @ 8140DC4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08140DF0 @ =gTasks
+ lsls r2, r7, 2
+ adds r0, r2, r7
+ lsls r0, 3
+ adds r3, r0, r1
+ ldrh r1, [r3, 0x16]
+ movs r4, 0x16
+ ldrsh r0, [r3, r4]
+ cmp r0, 0
+ beq _08140DF4
+ subs r0, r1, 0x1
+ strh r0, [r3, 0x16]
+ b _08140EA4
+ .align 2, 0
+_08140DF0: .4byte gTasks
+_08140DF4:
+ ldrh r0, [r3, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r3, 0xA]
+ str r1, [sp]
+ ldrb r4, [r3, 0xC]
+ str r4, [sp, 0x4]
+ ldrb r1, [r3, 0xE]
+ str r1, [sp, 0x8]
+ ldrb r3, [r3, 0x10]
+ str r3, [sp, 0xC]
+ movs r6, 0
+ str r2, [sp, 0x10]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ mov r10, r1
+ ldr r3, _08140EB4 @ =gSprites
+ mov r8, r3
+ ldr r1, _08140EB8 @ =gUnknown_0840B378
+ adds r0, r1
+ mov r9, r0
+_08140E20:
+ ldr r0, _08140EBC @ =gSpriteTemplate_840B3B4
+ add r0, r10
+ ldr r1, [sp]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0xC]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r5, r1, 2
+ mov r0, r8
+ adds r4, r5, r0
+ mov r3, r9
+ ldrb r1, [r3]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r0, _08140EC0 @ =gSprites + 0x1C
+ adds r1, r5, r0
+ ldr r0, _08140EC4 @ =sub_8140ECC
+ str r0, [r1]
+ movs r0, 0x3
+ ldr r2, [sp, 0x8]
+ ands r2, r0
+ lsls r2, 2
+ ldrb r0, [r4, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r0, r6, 5
+ strh r0, [r4, 0x2E]
+ movs r2, 0x8
+ strh r2, [r4, 0x36]
+ movs r0, 0x2
+ strh r0, [r4, 0x38]
+ strh r0, [r4, 0x3A]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x7
+ bls _08140E20
+ ldr r0, _08140EC8 @ =gTasks
+ ldr r4, [sp, 0x10]
+ adds r1, r4, r7
+ lsls r1, 3
+ adds r1, r0
+ strh r2, [r1, 0x16]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bne _08140EA4
+ ldr r0, _08140EB4 @ =gSprites
+ adds r0, r5, r0
+ movs r1, 0x1
+ strh r1, [r0, 0x3C]
+ adds r0, r7, 0
+ bl DestroyTask
+_08140EA4:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140EB4: .4byte gSprites
+_08140EB8: .4byte gUnknown_0840B378
+_08140EBC: .4byte gSpriteTemplate_840B3B4
+_08140EC0: .4byte gSprites + 0x1C
+_08140EC4: .4byte sub_8140ECC
+_08140EC8: .4byte gTasks
+ thumb_func_end sub_8140DC4
+
+ thumb_func_start sub_8140ECC
+sub_8140ECC: @ 8140ECC
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r2, 0x30
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x2E]
+ adds r0, r1
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x38]
+ ldrh r2, [r4, 0x30]
+ adds r0, r2
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x3A]
+ ldrh r1, [r4, 0x32]
+ adds r0, r1
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x33
+ bne _08140F1C
+ adds r0, r4, 0
+ bl sub_8141294
+_08140F1C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8140ECC
+
+ thumb_func_start sub_8140F24
+sub_8140F24: @ 8140F24
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08140FE0 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r0, 0xA]
+ str r2, [sp]
+ ldrb r3, [r0, 0xC]
+ str r3, [sp, 0x4]
+ ldrb r2, [r0, 0xE]
+ str r2, [sp, 0x8]
+ ldrb r0, [r0, 0x10]
+ str r0, [sp, 0xC]
+ movs r6, 0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ mov r10, r0
+ ldr r3, _08140FE4 @ =gSprites
+ mov r8, r3
+ ldr r0, _08140FE8 @ =gUnknown_0840B378
+ adds r1, r0
+ mov r9, r1
+_08140F68:
+ ldr r0, _08140FEC @ =gSpriteTemplate_840B3B4
+ add r0, r10
+ ldr r1, [sp]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0xC]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r5, r1, 2
+ mov r0, r8
+ adds r4, r5, r0
+ mov r2, r9
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r3, _08140FF0 @ =gSprites + 0x1C
+ adds r1, r5, r3
+ ldr r0, _08140FF4 @ =sub_8140FF8
+ str r0, [r1]
+ movs r0, 0x3
+ ldr r2, [sp, 0x8]
+ ands r2, r0
+ lsls r2, 2
+ ldrb r0, [r4, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 2
+ adds r0, r6
+ strh r0, [r4, 0x2E]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0xB
+ bls _08140F68
+ ldr r0, _08140FE4 @ =gSprites
+ adds r0, r5, r0
+ movs r1, 0x1
+ strh r1, [r0, 0x3C]
+ adds r0, r7, 0
+ bl DestroyTask
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08140FE0: .4byte gTasks
+_08140FE4: .4byte gSprites
+_08140FE8: .4byte gUnknown_0840B378
+_08140FEC: .4byte gSpriteTemplate_840B3B4
+_08140FF0: .4byte gSprites + 0x1C
+_08140FF4: .4byte sub_8140FF8
+ thumb_func_end sub_8140F24
+
+ thumb_func_start sub_8140FF8
+sub_8140FF8: @ 8140FF8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ movs r2, 0x30
+ ldrsh r1, [r5, r2]
+ bl Sin
+ strh r0, [r5, 0x24]
+ movs r0, 0x2E
+ ldrsh r4, [r5, r0]
+ movs r2, 0x32
+ ldrsh r1, [r5, r2]
+ adds r0, r4, 0
+ bl Sin
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ adds r0, r4, 0
+ bl Cos
+ strh r0, [r5, 0x26]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x6
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x1
+ strh r0, [r5, 0x30]
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x34]
+ adds r0, 0x1
+ strh r0, [r5, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x33
+ bne _08141050
+ adds r0, r5, 0
+ bl sub_8141294
+_08141050:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8140FF8
+
+ thumb_func_start sub_8141058
+sub_8141058: @ 8141058
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ ldr r1, _08141104 @ =gTasks
+ lsls r0, 2
+ ldr r2, [sp]
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r3, [r0, 0xA]
+ str r3, [sp, 0x4]
+ ldrb r2, [r0, 0xC]
+ str r2, [sp, 0x8]
+ ldrb r3, [r0, 0xE]
+ str r3, [sp, 0xC]
+ ldrb r0, [r0, 0x10]
+ str r0, [sp, 0x10]
+ movs r0, 0
+ mov r8, r0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ str r0, [sp, 0x14]
+ ldr r0, _08141108 @ =gUnknown_0840B378
+ adds r1, r0
+ mov r10, r1
+_0814109E:
+ movs r7, 0
+ movs r1, 0x1
+ add r1, r8
+ mov r9, r1
+_081410A6:
+ ldr r0, _0814110C @ =gSpriteTemplate_840B3B4
+ ldr r2, [sp, 0x14]
+ adds r0, r2, r0
+ ldr r1, [sp, 0x4]
+ ldr r2, [sp, 0x8]
+ ldr r3, [sp, 0x10]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r4, r6, 4
+ adds r4, r6
+ lsls r4, 2
+ ldr r3, _08141110 @ =gSprites
+ adds r5, r4, r3
+ mov r0, r10
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ ldr r1, _08141114 @ =gSprites + 0x1C
+ adds r4, r1
+ ldr r0, _08141118 @ =sub_8140ECC
+ str r0, [r4]
+ movs r0, 0x3
+ ldr r1, [sp, 0xC]
+ ands r1, r0
+ lsls r1, 2
+ ldrb r0, [r5, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r2, r3, 0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ lsls r0, r7, 5
+ strh r0, [r5, 0x2E]
+ movs r0, 0x8
+ strh r0, [r5, 0x36]
+ mov r0, r8
+ cmp r0, 0
+ bne _0814111C
+ movs r0, 0x2
+ strh r0, [r5, 0x38]
+ movs r0, 0x1
+ b _08141122
+ .align 2, 0
+_08141104: .4byte gTasks
+_08141108: .4byte gUnknown_0840B378
+_0814110C: .4byte gSpriteTemplate_840B3B4
+_08141110: .4byte gSprites
+_08141114: .4byte gSprites + 0x1C
+_08141118: .4byte sub_8140ECC
+_0814111C:
+ movs r0, 0x1
+ strh r0, [r5, 0x38]
+ movs r0, 0x2
+_08141122:
+ strh r0, [r5, 0x3A]
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x7
+ bls _081410A6
+ mov r1, r9
+ lsls r0, r1, 24
+ lsrs r0, 24
+ mov r8, r0
+ cmp r0, 0x1
+ bls _0814109E
+ ldr r0, _08141160 @ =gSprites
+ lsls r1, r6, 4
+ adds r1, r6
+ lsls r1, 2
+ adds r1, r0
+ movs r0, 0x1
+ strh r0, [r1, 0x3C]
+ ldr r0, [sp]
+ bl DestroyTask
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141160: .4byte gSprites
+ thumb_func_end sub_8141058
+
+ thumb_func_start sub_8141164
+sub_8141164: @ 8141164
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08141218 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r0, 0xA]
+ str r2, [sp]
+ ldrb r3, [r0, 0xC]
+ str r3, [sp, 0x4]
+ ldrb r2, [r0, 0xE]
+ str r2, [sp, 0x8]
+ ldrb r0, [r0, 0x10]
+ str r0, [sp, 0xC]
+ movs r6, 0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ mov r10, r0
+ ldr r3, _0814121C @ =gSprites
+ mov r8, r3
+ ldr r0, _08141220 @ =gUnknown_0840B378
+ adds r1, r0
+ mov r9, r1
+_081411A8:
+ ldr r0, _08141224 @ =gSpriteTemplate_840B3B4
+ add r0, r10
+ ldr r1, [sp]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0xC]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r5, r1, 2
+ mov r0, r8
+ adds r4, r5, r0
+ mov r2, r9
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r3, _08141228 @ =gSprites + 0x1C
+ adds r1, r5, r3
+ ldr r0, _0814122C @ =sub_8141230
+ str r0, [r1]
+ movs r0, 0x3
+ ldr r2, [sp, 0x8]
+ ands r2, r0
+ lsls r2, 2
+ ldrb r0, [r4, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ adds r1, r3, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ lsls r0, r6, 5
+ strh r0, [r4, 0x2E]
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x7
+ bls _081411A8
+ ldr r0, _0814121C @ =gSprites
+ adds r0, r5, r0
+ movs r1, 0x1
+ strh r1, [r0, 0x3C]
+ adds r0, r7, 0
+ bl DestroyTask
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141218: .4byte gTasks
+_0814121C: .4byte gSprites
+_08141220: .4byte gUnknown_0840B378
+_08141224: .4byte gSpriteTemplate_840B3B4
+_08141228: .4byte gSprites + 0x1C
+_0814122C: .4byte sub_8141230
+ thumb_func_end sub_8141164
+
+ thumb_func_start sub_8141230
+sub_8141230: @ 8141230
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ movs r2, 0x30
+ ldrsh r1, [r5, r2]
+ bl Sin
+ strh r0, [r5, 0x24]
+ movs r0, 0x2E
+ ldrsh r4, [r5, r0]
+ ldrh r1, [r5, 0x2E]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r2, 0x32
+ ldrsh r1, [r5, r2]
+ bl Sin
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ adds r0, r4, 0
+ bl Cos
+ strh r0, [r5, 0x26]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0xA
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x1
+ strh r0, [r5, 0x30]
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x34]
+ adds r0, 0x1
+ strh r0, [r5, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x33
+ bne _0814128C
+ adds r0, r5, 0
+ bl sub_8141294
+_0814128C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8141230
+
+ thumb_func_start sub_8141294
+sub_8141294: @ 8141294
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ ldr r0, _081412B8 @ =gMain
+ ldr r1, _081412BC @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _081412C0
+ movs r1, 0x3C
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _081412F2
+ adds r0, r5, 0
+ bl DestroySpriteAndFreeResources
+ b _0814130E
+ .align 2, 0
+_081412B8: .4byte gMain
+_081412BC: .4byte 0x0000043d
+_081412C0:
+ movs r1, 0x3C
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _08141308
+ ldr r1, _081412FC @ =0x02017840
+ ldrb r0, [r1, 0xA]
+ subs r0, 0x1
+ strb r0, [r1, 0xA]
+ lsls r0, 24
+ cmp r0, 0
+ bne _081412F2
+ movs r7, 0
+ ldr r6, _08141300 @ =gUnknown_0840B258
+ ldr r4, _08141304 @ =gUnknown_0840B2B8
+_081412DC:
+ ldrh r0, [r6, 0x6]
+ bl FreeSpriteTilesByTag
+ ldrh r0, [r4, 0x4]
+ bl FreeSpritePaletteByTag
+ adds r6, 0x8
+ adds r4, 0x8
+ adds r7, 0x1
+ cmp r7, 0xB
+ ble _081412DC
+_081412F2:
+ adds r0, r5, 0
+ bl DestroySprite
+ b _0814130E
+ .align 2, 0
+_081412FC: .4byte 0x02017840
+_08141300: .4byte gUnknown_0840B258
+_08141304: .4byte gUnknown_0840B2B8
+_08141308:
+ adds r0, r5, 0
+ bl DestroySprite
+_0814130E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8141294
+
+ thumb_func_start sub_8141314
+sub_8141314: @ 8141314
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ adds r4, r0, 0
+ mov r9, r2
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r1, 24
+ lsrs r6, r1, 24
+ lsls r3, 24
+ lsrs r7, r3, 24
+ ldr r0, _08141378 @ =sub_81413DC
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r1, _0814137C @ =gTasks
+ lsls r0, 2
+ add r0, r8
+ lsls r0, 3
+ adds r5, r0, r1
+ strh r7, [r5, 0x26]
+ strh r6, [r5, 0xE]
+ mov r0, r9
+ strh r0, [r5, 0x1C]
+ mov r1, r9
+ lsrs r0, r1, 16
+ strh r0, [r5, 0x1E]
+ cmp r4, 0
+ bne _08141384
+ lsls r0, r6, 20
+ movs r2, 0x80
+ lsls r2, 17
+ adds r0, r2
+ lsrs r0, 16
+ ldr r2, _08141380 @ =gUnknown_0840B4D4
+ lsls r1, r7, 1
+ adds r1, r2
+ ldrh r3, [r1]
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalette
+ movs r0, 0x1
+ strh r0, [r5, 0xA]
+ b _081413AA
+ .align 2, 0
+_08141378: .4byte sub_81413DC
+_0814137C: .4byte gTasks
+_08141380: .4byte gUnknown_0840B4D4
+_08141384:
+ lsls r0, r6, 20
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r0, 16
+ ldr r2, _081413CC @ =gUnknown_0840B4D4
+ lsls r1, r7, 1
+ adds r1, r2
+ ldrh r3, [r1]
+ movs r1, 0x10
+ movs r2, 0x10
+ bl BlendPalette
+ movs r0, 0x10
+ strh r0, [r5, 0x8]
+ ldr r0, _081413D0 @ =0x0000ffff
+ strh r0, [r5, 0xA]
+ ldr r0, _081413D4 @ =sub_814146C
+ str r0, [r5]
+_081413AA:
+ ldr r0, _081413D8 @ =0x00007fff
+ str r0, [sp]
+ mov r0, r9
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ mov r0, r8
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081413CC: .4byte gUnknown_0840B4D4
+_081413D0: .4byte 0x0000ffff
+_081413D4: .4byte sub_814146C
+_081413D8: .4byte 0x00007fff
+ thumb_func_end sub_8141314
+
+ thumb_func_start sub_81413DC
+sub_81413DC: @ 81413DC
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ ldr r1, _0814142C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r1, r0, 24
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x10
+ bgt _08141434
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ lsls r0, 20
+ movs r2, 0x80
+ lsls r2, 17
+ adds r0, r2
+ lsrs r0, 16
+ ldrb r2, [r4, 0x8]
+ ldr r3, _08141430 @ =gUnknown_0840B4D4
+ lsls r1, 1
+ adds r1, r3
+ ldrh r3, [r1]
+ movs r1, 0x10
+ bl BlendPalette
+ ldrh r0, [r4, 0xA]
+ ldrh r1, [r4, 0x8]
+ adds r0, r1
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ b _0814145C
+ .align 2, 0
+_0814142C: .4byte gTasks
+_08141430: .4byte gUnknown_0840B4D4
+_08141434:
+ ldr r0, _08141464 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0814145C
+ ldrh r0, [r4, 0x1C]
+ ldrh r1, [r4, 0x1E]
+ lsls r1, 16
+ orrs r0, r1
+ ldr r1, _08141468 @ =0x00007fff
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ adds r0, r5, 0
+ bl DestroyTask
+_0814145C:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141464: .4byte gPaletteFade
+_08141468: .4byte 0x00007fff
+ thumb_func_end sub_81413DC
+
+ thumb_func_start sub_814146C
+sub_814146C: @ 814146C
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _081414AC @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _081414A4
+ ldr r0, _081414B0 @ =gTasks
+ lsls r4, r2, 2
+ adds r4, r2
+ lsls r4, 3
+ adds r4, r0
+ ldrh r0, [r4, 0x1C]
+ ldrh r1, [r4, 0x1E]
+ lsls r1, 16
+ orrs r0, r1
+ ldr r1, _081414B4 @ =0x00007fff
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, _081414B8 @ =sub_81414BC
+ str r0, [r4]
+_081414A4:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081414AC: .4byte gPaletteFade
+_081414B0: .4byte gTasks
+_081414B4: .4byte 0x00007fff
+_081414B8: .4byte sub_81414BC
+ thumb_func_end sub_814146C
+
+ thumb_func_start sub_81414BC
+sub_81414BC: @ 81414BC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, _08141508 @ =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r1, r0, 24
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x10
+ bgt _08141510
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ lsls r0, 20
+ movs r3, 0x80
+ lsls r3, 17
+ adds r0, r3
+ lsrs r0, 16
+ ldrb r2, [r4, 0x8]
+ ldr r3, _0814150C @ =gUnknown_0840B4D4
+ lsls r1, 1
+ adds r1, r3
+ ldrh r3, [r1]
+ movs r1, 0x10
+ bl BlendPalette
+ ldrh r0, [r4, 0xA]
+ ldrh r1, [r4, 0x8]
+ adds r0, r1
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ b _08141516
+ .align 2, 0
+_08141508: .4byte gTasks
+_0814150C: .4byte gUnknown_0840B4D4
+_08141510:
+ adds r0, r2, 0
+ bl DestroyTask
+_08141516:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81414BC
+
+ thumb_func_start sub_814151C
+sub_814151C: @ 814151C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r0, 0
+ mov r8, r0
+ ldr r0, _08141550 @ =gUnknown_02024BE0
+ ldr r3, _08141554 @ =gUnknown_0202F7C8
+ ldrb r2, [r3]
+ adds r0, r2, r0
+ ldrb r6, [r0]
+ ldr r1, _08141558 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r1, 0x1C
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _081415F4
+ cmp r0, 0x1
+ bgt _0814155C
+ cmp r0, 0
+ beq _08141562
+ b _081416B6
+ .align 2, 0
+_08141550: .4byte gUnknown_02024BE0
+_08141554: .4byte gUnknown_0202F7C8
+_08141558: .4byte gTasks
+_0814155C:
+ cmp r0, 0x2
+ beq _08141606
+ b _081416B6
+_08141562:
+ ldr r0, _0814159C @ =gUnknown_03004B00
+ ldrh r0, [r0]
+ strh r0, [r5, 0x1E]
+ movs r2, 0xA0
+ lsls r2, 3
+ adds r0, r2, 0
+ ldrh r4, [r5, 0x8]
+ adds r0, r4
+ strh r0, [r5, 0x8]
+ ldrb r0, [r3]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _081415A4
+ ldr r2, _081415A0 @ =gSprites
+ lsls r3, r6, 4
+ adds r1, r3, r6
+ lsls r1, 2
+ adds r1, r2
+ ldrh r0, [r5, 0x8]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r4, [r1, 0x24]
+ adds r0, r4
+ strh r0, [r1, 0x24]
+ adds r4, r3, 0
+ b _081415BC
+ .align 2, 0
+_0814159C: .4byte gUnknown_03004B00
+_081415A0: .4byte gSprites
+_081415A4:
+ ldr r3, _081415EC @ =gSprites
+ lsls r4, r6, 4
+ adds r2, r4, r6
+ lsls r2, 2
+ adds r2, r3
+ ldrh r1, [r5, 0x8]
+ lsls r1, 16
+ asrs r1, 24
+ ldrh r0, [r2, 0x24]
+ subs r0, r1
+ strh r0, [r2, 0x24]
+ adds r2, r3, 0
+_081415BC:
+ ldr r1, _081415F0 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r3, r0, r1
+ ldrb r0, [r3, 0x8]
+ strh r0, [r3, 0x8]
+ adds r0, r4, r6
+ lsls r0, 2
+ adds r0, r2
+ movs r2, 0x20
+ ldrsh r1, [r0, r2]
+ movs r4, 0x24
+ ldrsh r0, [r0, r4]
+ adds r1, r0
+ adds r1, 0x20
+ movs r0, 0x98
+ lsls r0, 1
+ cmp r1, r0
+ bls _081416B6
+ ldrh r0, [r3, 0x1C]
+ adds r0, 0x1
+ strh r0, [r3, 0x1C]
+ b _081416B6
+ .align 2, 0
+_081415EC: .4byte gSprites
+_081415F0: .4byte gTasks
+_081415F4:
+ ldrb r1, [r5, 0x1E]
+ adds r0, r2, 0
+ adds r2, r6, 0
+ bl refresh_graphics_maybe
+ ldrh r0, [r5, 0x1C]
+ adds r0, 0x1
+ strh r0, [r5, 0x1C]
+ b _081416B6
+_08141606:
+ movs r1, 0xA0
+ lsls r1, 3
+ adds r0, r1, 0
+ ldrh r2, [r5, 0x8]
+ adds r0, r2
+ strh r0, [r5, 0x8]
+ ldrb r0, [r3]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _0814163C
+ ldr r0, _08141638 @ =gSprites
+ lsls r3, r6, 4
+ adds r2, r3, r6
+ lsls r2, 2
+ adds r2, r0
+ ldrh r1, [r5, 0x8]
+ lsls r1, 16
+ asrs r1, 24
+ ldrh r0, [r2, 0x24]
+ subs r0, r1
+ strh r0, [r2, 0x24]
+ adds r4, r3, 0
+ b _08141654
+ .align 2, 0
+_08141638: .4byte gSprites
+_0814163C:
+ ldr r0, _08141688 @ =gSprites
+ lsls r2, r6, 4
+ adds r1, r2, r6
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r5, 0x8]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r3, [r1, 0x24]
+ adds r0, r3
+ strh r0, [r1, 0x24]
+ adds r4, r2, 0
+_08141654:
+ ldr r1, _0814168C @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0, 0x8]
+ strh r1, [r0, 0x8]
+ ldr r0, _08141690 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _08141694
+ ldr r0, _08141688 @ =gSprites
+ adds r1, r4, r6
+ lsls r1, 2
+ adds r1, r0
+ movs r4, 0x24
+ ldrsh r0, [r1, r4]
+ cmp r0, 0
+ bgt _081416AA
+ movs r0, 0
+ strh r0, [r1, 0x24]
+ b _081416B0
+ .align 2, 0
+_08141688: .4byte gSprites
+_0814168C: .4byte gTasks
+_08141690: .4byte gUnknown_0202F7C8
+_08141694:
+ ldr r0, _081416C0 @ =gSprites
+ adds r1, r4, r6
+ lsls r1, 2
+ adds r1, r0
+ movs r3, 0x24
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ blt _081416AA
+ strh r2, [r1, 0x24]
+ movs r4, 0x1
+ mov r8, r4
+_081416AA:
+ mov r0, r8
+ cmp r0, 0
+ beq _081416B6
+_081416B0:
+ adds r0, r7, 0
+ bl move_anim_task_del
+_081416B6:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081416C0: .4byte gSprites
+ thumb_func_end sub_814151C
+
+ thumb_func_start sub_81416C4
+sub_81416C4: @ 81416C4
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _081416E8 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ movs r1, 0x26
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _08141744
+ cmp r0, 0x1
+ bgt _081416EC
+ cmp r0, 0
+ beq _081416F2
+ b _081417B8
+ .align 2, 0
+_081416E8: .4byte gTasks
+_081416EC:
+ cmp r0, 0x2
+ beq _0814177C
+ b _081417B8
+_081416F2:
+ ldr r0, _08141708 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ bl battle_get_per_side_status_permutated
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08141714
+ ldr r1, _0814170C @ =REG_BLDCNT
+ ldr r2, _08141710 @ =0x00003f42
+ b _08141718
+ .align 2, 0
+_08141708: .4byte gUnknown_0202F7C8
+_0814170C: .4byte REG_BLDCNT
+_08141710: .4byte 0x00003f42
+_08141714:
+ ldr r1, _08141734 @ =REG_BLDCNT
+ ldr r2, _08141738 @ =0x00003f44
+_08141718:
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _0814173C @ =REG_BLDALPHA
+ movs r0, 0x10
+ strh r0, [r1]
+ ldr r1, _08141740 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ adds r1, 0x1
+ strh r1, [r0, 0x26]
+ b _081417B8
+ .align 2, 0
+_08141734: .4byte REG_BLDCNT
+_08141738: .4byte 0x00003f44
+_0814173C: .4byte REG_BLDALPHA
+_08141740: .4byte gTasks
+_08141744:
+ ldrh r0, [r4, 0xA]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _081417B8
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ ldrh r1, [r4, 0x8]
+ adds r1, 0x1
+ strh r1, [r4, 0x8]
+ ldr r3, _08141778 @ =REG_BLDALPHA
+ lsls r2, r1, 8
+ movs r0, 0x10
+ subs r0, r1
+ orrs r2, r0
+ strh r2, [r3]
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _081417B8
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x1
+ strh r0, [r4, 0x26]
+ b _081417B8
+ .align 2, 0
+_08141778: .4byte REG_BLDALPHA
+_0814177C:
+ ldr r1, _081417C0 @ =gUnknown_02024BE0
+ ldr r3, _081417C4 @ =gUnknown_0202F7C8
+ ldrb r0, [r3]
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r2, _081417C8 @ =gSprites
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x4]
+ lsls r0, 22
+ lsrs r0, 17
+ ldr r1, _081417CC @ =0x06010000
+ adds r0, r1
+ movs r1, 0
+ str r1, [sp]
+ ldr r1, _081417D0 @ =0x040000d4
+ mov r2, sp
+ str r2, [r1]
+ str r0, [r1, 0x4]
+ ldr r0, _081417D4 @ =0x85000200
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ ldrb r0, [r3]
+ bl sub_80324E0
+ adds r0, r5, 0
+ bl move_anim_task_del
+_081417B8:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081417C0: .4byte gUnknown_02024BE0
+_081417C4: .4byte gUnknown_0202F7C8
+_081417C8: .4byte gSprites
+_081417CC: .4byte 0x06010000
+_081417D0: .4byte 0x040000d4
+_081417D4: .4byte 0x85000200
+ thumb_func_end sub_81416C4
+
+ thumb_func_start sub_81417D8
+sub_81417D8: @ 81417D8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _081417FC @ =gUnknown_03004B00
+ ldr r1, _08141800 @ =gUnknown_0202F7C8
+ ldrb r1, [r1]
+ lsls r1, 2
+ ldr r2, _08141804 @ =0x02017800
+ adds r1, r2
+ ldr r1, [r1]
+ lsls r1, 29
+ lsrs r1, 31
+ strh r1, [r3, 0xE]
+ bl move_anim_task_del
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081417FC: .4byte gUnknown_03004B00
+_08141800: .4byte gUnknown_0202F7C8
+_08141804: .4byte 0x02017800
+ thumb_func_end sub_81417D8
+
+ thumb_func_start sub_8141808
+sub_8141808: @ 8141808
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08141820 @ =gUnknown_0202F7C9
+ ldr r1, _08141824 @ =gUnknown_02024C0A
+ ldrb r1, [r1]
+ strb r1, [r2]
+ bl move_anim_task_del
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141820: .4byte gUnknown_0202F7C9
+_08141824: .4byte gUnknown_02024C0A
+ thumb_func_end sub_8141808
+
+ thumb_func_start sub_8141828
+sub_8141828: @ 8141828
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r0, 0
+ mov r8, r0
+ lsls r0, r6, 1
+ adds r0, r6
+ lsls r0, 2
+ ldr r1, _081418E0 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r2, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl GetMonData
+ adds r5, r0, 0
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ adds r4, r0, 0
+ adds r0, r6, 0
+ bl b_side_obj__get_some_boolean
+ lsls r0, 24
+ cmp r0, 0
+ beq _081418FC
+ lsrs r0, r5, 16
+ ldr r7, _081418E4 @ =0x0000ffff
+ ands r5, r7
+ eors r0, r5
+ lsrs r1, r4, 16
+ eors r0, r1
+ ands r4, r7
+ eors r0, r4
+ cmp r0, 0x7
+ bhi _08141882
+ movs r0, 0x1
+ mov r8, r0
+_08141882:
+ mov r0, r8
+ cmp r0, 0
+ beq _081418FC
+ ldr r0, _081418E8 @ =0x000027f9
+ bl GetSpriteTileStartByTag
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, r7
+ bne _081418A2
+ ldr r0, _081418EC @ =gBattleAnimPicTable + (233 * 8)
+ bl LoadCompressedObjectPic
+ ldr r0, _081418F0 @ =gBattleAnimPaletteTable + (233 * 8)
+ bl LoadCompressedObjectPalette
+_081418A2:
+ ldr r5, _081418F4 @ =sub_814191C
+ adds r0, r5, 0
+ movs r1, 0xA
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ movs r1, 0xA
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _081418F8 @ =gTasks
+ lsls r2, r4, 2
+ adds r2, r4
+ lsls r2, 3
+ adds r2, r3
+ movs r4, 0
+ strh r6, [r2, 0x8]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r3
+ strh r6, [r1, 0x8]
+ strh r4, [r2, 0xA]
+ movs r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0814190E
+ .align 2, 0
+_081418E0: .4byte 0x02017810
+_081418E4: .4byte 0x0000ffff
+_081418E8: .4byte 0x000027f9
+_081418EC: .4byte gBattleAnimPicTable + (233 * 8)
+_081418F0: .4byte gBattleAnimPaletteTable + (233 * 8)
+_081418F4: .4byte sub_814191C
+_081418F8: .4byte gTasks
+_081418FC:
+ lsls r0, r6, 1
+ adds r0, r6
+ lsls r0, 2
+ ldr r1, _08141918 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0, 0x1]
+_0814190E:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141918: .4byte 0x02017810
+ thumb_func_end sub_8141828
+
+ thumb_func_start sub_814191C
+sub_814191C: @ 814191C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08141944 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r1, [r4, 0x22]
+ movs r2, 0x22
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x3B
+ bgt _08141948
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x22]
+ b _08141AB8
+ .align 2, 0
+_08141944: .4byte gTasks
+_08141948:
+ ldr r0, _08141998 @ =0x02017840
+ ldrb r0, [r0, 0xA]
+ cmp r0, 0
+ beq _08141952
+ b _08141AB8
+_08141952:
+ ldrh r0, [r4, 0x1C]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x1C]
+ lsls r0, 16
+ movs r1, 0xC0
+ lsls r1, 10
+ ands r1, r0
+ cmp r1, 0
+ beq _08141966
+ b _08141AB8
+_08141966:
+ ldrb r0, [r4, 0x8]
+ mov r8, r0
+ movs r1, 0
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r0, r8
+ movs r1, 0x1
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r1, 0x1E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _081419A0
+ ldr r0, _0814199C @ =gBattleAnimSpriteTemplate_84024E8
+ adds r1, r5, 0
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r5, r0, 24
+ b _08141A02
+ .align 2, 0
+_08141998: .4byte 0x02017840
+_0814199C: .4byte gBattleAnimSpriteTemplate_84024E8
+_081419A0:
+ cmp r0, 0
+ blt _081419D4
+ cmp r0, 0x3
+ bgt _081419D4
+ ldr r0, _081419CC @ =gSpriteTemplate_8402500
+ adds r1, r5, 0
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _081419D0 @ =gSprites
+ lsls r2, r5, 4
+ adds r2, r5
+ lsls r2, 2
+ adds r2, r0
+ ldrh r3, [r2, 0x4]
+ lsls r1, r3, 22
+ lsrs r1, 22
+ adds r1, 0x4
+ b _081419F4
+ .align 2, 0
+_081419CC: .4byte gSpriteTemplate_8402500
+_081419D0: .4byte gSprites
+_081419D4:
+ ldr r0, _08141A2C @ =gSpriteTemplate_8402500
+ adds r1, r5, 0
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _08141A30 @ =gSprites
+ lsls r2, r5, 4
+ adds r2, r5
+ lsls r2, 2
+ adds r2, r0
+ ldrh r3, [r2, 0x4]
+ lsls r1, r3, 22
+ lsrs r1, 22
+ adds r1, 0x5
+_081419F4:
+ ldr r4, _08141A34 @ =0x000003ff
+ adds r0, r4, 0
+ ands r1, r0
+ ldr r0, _08141A38 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, 0x4]
+_08141A02:
+ ldr r2, _08141A3C @ =gTasks
+ lsls r1, r7, 2
+ adds r0, r1, r7
+ lsls r0, 3
+ adds r6, r0, r2
+ movs r2, 0xA
+ ldrsh r0, [r6, r2]
+ mov r9, r1
+ cmp r0, 0
+ bne _08141A44
+ ldr r1, _08141A30 @ =gSprites
+ lsls r2, r5, 4
+ adds r0, r2, r5
+ lsls r0, 2
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _08141A40 @ =sub_8141B20
+ str r1, [r0]
+ adds r4, r2, 0
+ b _08141A8C
+ .align 2, 0
+_08141A2C: .4byte gSpriteTemplate_8402500
+_08141A30: .4byte gSprites
+_08141A34: .4byte 0x000003ff
+_08141A38: .4byte 0xfffffc00
+_08141A3C: .4byte gTasks
+_08141A40: .4byte sub_8141B20
+_08141A44:
+ ldr r3, _08141AC4 @ =gSprites
+ lsls r4, r5, 4
+ adds r1, r4, r5
+ lsls r1, 2
+ adds r0, r3, 0
+ adds r0, 0x1C
+ adds r0, r1, r0
+ ldr r2, _08141AC8 @ =sub_8141B74
+ str r2, [r0]
+ adds r1, r3
+ ldr r0, _08141ACC @ =0x0000ffe0
+ strh r0, [r1, 0x24]
+ movs r0, 0x20
+ strh r0, [r1, 0x26]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ movs r1, 0x1E
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _08141A8C
+ mov r0, r8
+ bl battle_side_get_owner
+ lsls r0, 24
+ movs r1, 0x3F
+ cmp r0, 0
+ bne _08141A82
+ movs r1, 0xC0
+_08141A82:
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x66
+ bl PlaySE12WithPanning
+_08141A8C:
+ ldr r1, _08141AC4 @ =gSprites
+ adds r0, r4, r5
+ lsls r0, 2
+ adds r0, r1
+ strh r7, [r0, 0x2E]
+ ldr r1, _08141AD0 @ =gTasks
+ mov r2, r9
+ adds r0, r2, r7
+ lsls r0, 3
+ adds r2, r0, r1
+ ldrh r1, [r2, 0x1E]
+ adds r1, 0x1
+ strh r1, [r2, 0x1E]
+ ldrh r0, [r2, 0x20]
+ adds r0, 0x1
+ strh r0, [r2, 0x20]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x5
+ bne _08141AB8
+ ldr r0, _08141AD4 @ =sub_8141AD8
+ str r0, [r2]
+_08141AB8:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141AC4: .4byte gSprites
+_08141AC8: .4byte sub_8141B74
+_08141ACC: .4byte 0x0000ffe0
+_08141AD0: .4byte gTasks
+_08141AD4: .4byte sub_8141AD8
+ thumb_func_end sub_814191C
+
+ thumb_func_start sub_8141AD8
+sub_8141AD8: @ 8141AD8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r3, r0, 0
+ ldr r1, _08141B18 @ =gTasks
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r1, r0, r1
+ movs r2, 0x20
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08141B14
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ bne _08141B0E
+ ldrb r1, [r1, 0x8]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08141B1C @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0, 0x1]
+_08141B0E:
+ adds r0, r3, 0
+ bl DestroyTask
+_08141B14:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141B18: .4byte gTasks
+_08141B1C: .4byte 0x02017810
+ thumb_func_end sub_8141AD8
+
+ thumb_func_start sub_8141B20
+sub_8141B20: @ 8141B20
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x18
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x18
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0xC
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _08141B6A
+ ldr r2, _08141B70 @ =gTasks
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r1, [r0, 0x20]
+ subs r1, 0x1
+ strh r1, [r0, 0x20]
+ adds r0, r4, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r4, 0
+ bl DestroySprite
+_08141B6A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141B70: .4byte gTasks
+ thumb_func_end sub_8141B20
+
+ thumb_func_start sub_8141B74
+sub_8141B74: @ 8141B74
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x3
+ bgt _08141B88
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x30]
+ b _08141BCA
+_08141B88:
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ ldrh r1, [r4, 0x24]
+ adds r1, 0x5
+ strh r1, [r4, 0x24]
+ ldrh r0, [r4, 0x26]
+ subs r0, 0x5
+ strh r0, [r4, 0x26]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x20
+ ble _08141BCA
+ ldr r2, _08141BD0 @ =gTasks
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r1, [r0, 0x20]
+ subs r1, 0x1
+ strh r1, [r0, 0x20]
+ adds r0, r4, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r4, 0
+ bl DestroySprite
+_08141BCA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141BD0: .4byte gTasks
+ thumb_func_end sub_8141B74
+
+ thumb_func_start sub_8141BD4
+sub_8141BD4: @ 8141BD4
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _08141BFC @ =gBattleAnimPicTable + (269 * 8)
+ bl LoadCompressedObjectPic
+ ldr r0, _08141C00 @ =gBattleAnimPaletteTable + (269 * 8)
+ bl LoadCompressedObjectPalette
+ ldr r0, _08141C04 @ =0x0000281d
+ bl IndexOfSpritePaletteTag
+ adds r0, r4, 0
+ bl move_anim_task_del
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141BFC: .4byte gBattleAnimPicTable + (269 * 8)
+_08141C00: .4byte gBattleAnimPaletteTable + (269 * 8)
+_08141C04: .4byte 0x0000281d
+ thumb_func_end sub_8141BD4
+
+ thumb_func_start sub_8141C08
+sub_8141C08: @ 8141C08
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _08141C2C @ =0x0000281d
+ adds r0, r5, 0
+ bl FreeSpriteTilesByTag
+ adds r0, r5, 0
+ bl FreeSpritePaletteByTag
+ adds r0, r4, 0
+ bl move_anim_task_del
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141C2C: .4byte 0x0000281d
+ thumb_func_end sub_8141C08
+
+ thumb_func_start sub_8141C30
+sub_8141C30: @ 8141C30
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl sub_80787B0
+ movs r0, 0x1E
+ strh r0, [r4, 0x2E]
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_8077ABC
+ lsls r0, 24
+ ldr r5, _08141CA4 @ =gUnknown_03004B00
+ lsrs r0, 24
+ ldrh r1, [r5, 0x4]
+ adds r0, r1
+ strh r0, [r4, 0x32]
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r5, [r5, 0x6]
+ adds r0, r5
+ strh r0, [r4, 0x36]
+ ldr r0, _08141CA8 @ =0x0000ffe0
+ strh r0, [r4, 0x38]
+ adds r0, r4, 0
+ bl sub_80786EC
+ ldr r1, _08141CAC @ =gUnknown_02024BE0
+ ldr r0, _08141CB0 @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08141CB4 @ =gSprites
+ adds r0, r1
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r0, _08141CB8 @ =sub_8141CBC
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141CA4: .4byte gUnknown_03004B00
+_08141CA8: .4byte 0x0000ffe0
+_08141CAC: .4byte gUnknown_02024BE0
+_08141CB0: .4byte gUnknown_0202F7C8
+_08141CB4: .4byte gSprites
+_08141CB8: .4byte sub_8141CBC
+ thumb_func_end sub_8141C30
+
+ thumb_func_start sub_8141CBC
+sub_8141CBC: @ 8141CBC
+ push {lr}
+ adds r3, r0, 0
+ ldr r2, _08141CE4 @ =gSprites
+ ldr r1, _08141CE8 @ =gUnknown_02024BE0
+ ldr r0, _08141CEC @ =gUnknown_0202F7C8
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x2B
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _08141CE0
+ ldr r0, _08141CF0 @ =sub_8141CF4
+ str r0, [r3, 0x1C]
+_08141CE0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141CE4: .4byte gSprites
+_08141CE8: .4byte gUnknown_02024BE0
+_08141CEC: .4byte gUnknown_0202F7C8
+_08141CF0: .4byte sub_8141CF4
+ thumb_func_end sub_8141CBC
+
+ thumb_func_start sub_8141CF4
+sub_8141CF4: @ 8141CF4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8078718
+ lsls r0, 24
+ cmp r0, 0
+ beq _08141D16
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _08141D1C @ =sub_8141D20
+ str r0, [r4, 0x1C]
+_08141D16:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141D1C: .4byte sub_8141D20
+ thumb_func_end sub_8141CF4
+
+ thumb_func_start sub_8141D20
+sub_8141D20: @ 8141D20
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, _08141D70 @ =gSprites
+ ldr r3, _08141D74 @ =gUnknown_02024BE0
+ ldr r2, _08141D78 @ =gUnknown_0202F7C8
+ ldrb r0, [r2]
+ adds r0, r3
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 27
+ cmp r0, 0
+ bge _08141D68
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ ble _08141D68
+ ldrb r0, [r2]
+ adds r0, r3
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl move_anim_8072740
+_08141D68:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141D70: .4byte gSprites
+_08141D74: .4byte gUnknown_02024BE0
+_08141D78: .4byte gUnknown_0202F7C8
+ thumb_func_end sub_8141D20
+
+ thumb_func_start sub_8141D7C
+sub_8141D7C: @ 8141D7C
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ ldr r1, _08141DA4 @ =gUnknown_0202F7C8
+ strb r0, [r1]
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ ldr r1, _08141DA8 @ =gUnknown_0202F7C9
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl move_anim_task_del
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141DA4: .4byte gUnknown_0202F7C8
+_08141DA8: .4byte gUnknown_0202F7C9
+ thumb_func_end sub_8141D7C
+
+ thumb_func_start sub_8141DAC
+sub_8141DAC: @ 8141DAC
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _08141DC0 @ =0x02017840
+ ldrh r1, [r0]
+ cmp r1, 0x53
+ bne _08141DC8
+ ldr r1, _08141DC4 @ =gUnknown_03004B00
+ movs r0, 0x1
+ b _08141E00
+ .align 2, 0
+_08141DC0: .4byte 0x02017840
+_08141DC4: .4byte gUnknown_03004B00
+_08141DC8:
+ cmp r1, 0xFA
+ bne _08141DD8
+ ldr r1, _08141DD4 @ =gUnknown_03004B00
+ movs r0, 0x2
+ b _08141E00
+ .align 2, 0
+_08141DD4: .4byte gUnknown_03004B00
+_08141DD8:
+ cmp r1, 0x80
+ bne _08141DE8
+ ldr r1, _08141DE4 @ =gUnknown_03004B00
+ movs r0, 0x3
+ b _08141E00
+ .align 2, 0
+_08141DE4: .4byte gUnknown_03004B00
+_08141DE8:
+ movs r0, 0xA4
+ lsls r0, 1
+ cmp r1, r0
+ bne _08141DFC
+ ldr r1, _08141DF8 @ =gUnknown_03004B00
+ movs r0, 0x4
+ b _08141E00
+ .align 2, 0
+_08141DF8: .4byte gUnknown_03004B00
+_08141DFC:
+ ldr r1, _08141E0C @ =gUnknown_03004B00
+ movs r0, 0
+_08141E00:
+ strh r0, [r1]
+ adds r0, r2, 0
+ bl move_anim_task_del
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141E0C: .4byte gUnknown_03004B00
+ thumb_func_end sub_8141DAC
+
+ thumb_func_start sub_8141E10
+sub_8141E10: @ 8141E10
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08141E2C @ =gUnknown_0202F7C8
+ ldr r1, _08141E30 @ =0x02017840
+ ldrh r1, [r1]
+ strb r1, [r2]
+ ldr r2, _08141E34 @ =gUnknown_0202F7C9
+ lsrs r1, 8
+ strb r1, [r2]
+ bl move_anim_task_del
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141E2C: .4byte gUnknown_0202F7C8
+_08141E30: .4byte 0x02017840
+_08141E34: .4byte gUnknown_0202F7C9
+ thumb_func_end sub_8141E10
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s
deleted file mode 100644
index 7f26885e6..000000000
--- a/asm/berry_tag_screen.s
+++ /dev/null
@@ -1,1115 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8146014
-sub_8146014: @ 8146014
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8146014
-
- thumb_func_start sub_814602C
-sub_814602C: @ 814602C
- push {lr}
- ldr r2, _0814604C @ =REG_BG0VOFS
- ldr r0, _08146050 @ =gUnknown_030041B4
- ldrh r1, [r0]
- strh r1, [r2]
- ldr r0, _08146054 @ =REG_BG1VOFS
- strh r1, [r0]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_0814604C: .4byte REG_BG0VOFS
-_08146050: .4byte gUnknown_030041B4
-_08146054: .4byte REG_BG1VOFS
- thumb_func_end sub_814602C
-
- thumb_func_start sub_8146058
-sub_8146058: @ 8146058
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08146074 @ =gMain
- ldr r1, _08146078 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xC
- bls _0814606A
- b _08146250
-_0814606A:
- lsls r0, 2
- ldr r1, _0814607C @ =_08146080
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08146074: .4byte gMain
-_08146078: .4byte 0x0000043c
-_0814607C: .4byte _08146080
- .align 2, 0
-_08146080:
- .4byte _081460B4
- .4byte _081460CC
- .4byte _081460F0
- .4byte _081460F6
- .4byte _08146110
- .4byte _0814611C
- .4byte _0814613C
- .4byte _0814615C
- .4byte _08146170
- .4byte _08146190
- .4byte _081461B4
- .4byte _08146204
- .4byte _08146224
-_081460B4:
- bl sub_80F9438
- bl sub_80F9368
- bl sub_8146288
- ldr r1, _081460C8 @ =REG_BLDCNT
- movs r0, 0
- strh r0, [r1]
- b _0814620C
- .align 2, 0
-_081460C8: .4byte REG_BLDCNT
-_081460CC:
- bl ResetPaletteFade
- ldr r2, _081460E4 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _081460E8 @ =gMain
- ldr r0, _081460EC @ =0x0000043c
- adds r1, r0
- b _08146212
- .align 2, 0
-_081460E4: .4byte gPaletteFade
-_081460E8: .4byte gMain
-_081460EC: .4byte 0x0000043c
-_081460F0:
- bl ResetSpriteData
- b _0814620C
-_081460F6:
- ldr r0, _08146104 @ =gWindowConfig_81E6E18
- bl SetUpWindowConfig
- ldr r1, _08146108 @ =gMain
- ldr r0, _0814610C @ =0x0000043c
- adds r1, r0
- b _08146212
- .align 2, 0
-_08146104: .4byte gWindowConfig_81E6E18
-_08146108: .4byte gMain
-_0814610C: .4byte 0x0000043c
-_08146110:
- ldr r0, _08146118 @ =gWindowConfig_81E6E18
- bl MultistepInitMenuWindowBegin
- b _0814620C
- .align 2, 0
-_08146118: .4byte gWindowConfig_81E6E18
-_0814611C:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _08146126
- b _08146250
-_08146126:
- ldr r0, _08146134 @ =0x02000000
- ldr r1, _08146138 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _0814620C
- .align 2, 0
-_08146134: .4byte 0x02000000
-_08146138: .4byte 0x0001ffff
-_0814613C:
- bl sub_81462B8
- lsls r0, 24
- cmp r0, 0
- bne _08146148
- b _08146250
-_08146148:
- ldr r0, _08146154 @ =0x02000000
- ldr r1, _08146158 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _0814620C
- .align 2, 0
-_08146154: .4byte 0x02000000
-_08146158: .4byte 0x0001ffff
-_0814615C:
- bl sub_81464E4
- ldr r1, _08146168 @ =gMain
- ldr r0, _0814616C @ =0x0000043c
- adds r1, r0
- b _08146212
- .align 2, 0
-_08146168: .4byte gMain
-_0814616C: .4byte 0x0000043c
-_08146170:
- ldr r0, _08146188 @ =gScriptItemId
- ldrb r0, [r0]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x38
- movs r2, 0x40
- bl sub_80A7D8C
- ldr r1, _0814618C @ =gUnknown_0203932C
- strb r0, [r1]
- b _0814620C
- .align 2, 0
-_08146188: .4byte gScriptItemId
-_0814618C: .4byte gUnknown_0203932C
-_08146190:
- ldr r0, _081461A8 @ =gScriptItemId
- ldrb r0, [r0]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- bl sub_8146600
- ldr r1, _081461AC @ =gMain
- ldr r0, _081461B0 @ =0x0000043c
- adds r1, r0
- b _08146212
- .align 2, 0
-_081461A8: .4byte gScriptItemId
-_081461AC: .4byte gMain
-_081461B0: .4byte 0x0000043c
-_081461B4:
- ldr r3, _081461EC @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _081461F0 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _081461F4 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _081461F8 @ =sub_814602C
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _081461FC @ =gMain
- ldr r0, _08146200 @ =0x0000043c
- adds r1, r0
- b _08146212
- .align 2, 0
-_081461EC: .4byte 0x04000208
-_081461F0: .4byte 0x04000200
-_081461F4: .4byte REG_DISPSTAT
-_081461F8: .4byte sub_814602C
-_081461FC: .4byte gMain
-_08146200: .4byte 0x0000043c
-_08146204:
- bl sub_8055870
- cmp r0, 0x1
- beq _08146250
-_0814620C:
- ldr r1, _0814621C @ =gMain
- ldr r2, _08146220 @ =0x0000043c
- adds r1, r2
-_08146212:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08146250
- .align 2, 0
-_0814621C: .4byte gMain
-_08146220: .4byte 0x0000043c
-_08146224:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _08146248 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _0814624C @ =sub_8146014
- bl SetMainCallback2
- movs r0, 0x1
- b _08146252
- .align 2, 0
-_08146248: .4byte gPaletteFade
-_0814624C: .4byte sub_8146014
-_08146250:
- movs r0, 0
-_08146252:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8146058
-
- thumb_func_start sub_814625C
-sub_814625C: @ 814625C
- push {lr}
-_0814625E:
- bl sub_8146058
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08146278
- ldr r0, _08146274 @ =sub_8146480
- movs r1, 0
- bl CreateTask
- b _08146284
- .align 2, 0
-_08146274: .4byte sub_8146480
-_08146278:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0814625E
-_08146284:
- pop {r0}
- bx r0
- thumb_func_end sub_814625C
-
- thumb_func_start sub_8146288
-sub_8146288: @ 8146288
- ldr r1, _081462A8 @ =REG_BG1CNT
- ldr r2, _081462AC @ =0x00000502
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- adds r2, 0xFE
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _081462B0 @ =0x00000703
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _081462B4 @ =gUnknown_030041B4
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_081462A8: .4byte REG_BG1CNT
-_081462AC: .4byte 0x00000502
-_081462B0: .4byte 0x00000703
-_081462B4: .4byte gUnknown_030041B4
- thumb_func_end sub_8146288
-
- thumb_func_start sub_81462B8
-sub_81462B8: @ 81462B8
- push {r4-r7,lr}
- ldr r1, _081462D4 @ =0x02000000
- ldr r2, _081462D8 @ =0x0001ffff
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r12, r1
- cmp r0, 0x6
- bls _081462CA
- b _08146404
-_081462CA:
- lsls r0, 2
- ldr r1, _081462DC @ =_081462E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081462D4: .4byte 0x02000000
-_081462D8: .4byte 0x0001ffff
-_081462DC: .4byte _081462E0
- .align 2, 0
-_081462E0:
- .4byte _081462FC
- .4byte _0814630C
- .4byte _0814632C
- .4byte _08146340
- .4byte _081463A4
- .4byte _081463C4
- .4byte _081463E4
-_081462FC:
- ldr r0, _08146308 @ =gBerryCheck_Gfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- b _081463CA
- .align 2, 0
-_08146308: .4byte gBerryCheck_Gfx
-_0814630C:
- ldr r0, _0814631C @ =gUnknown_08E788E4
- ldr r1, _08146320 @ =0x06002800
- bl LZDecompressVram
- ldr r1, _08146324 @ =0x02000000
- ldr r2, _08146328 @ =0x0001ffff
- adds r1, r2
- b _081463D0
- .align 2, 0
-_0814631C: .4byte gUnknown_08E788E4
-_08146320: .4byte 0x06002800
-_08146324: .4byte 0x02000000
-_08146328: .4byte 0x0001ffff
-_0814632C:
- ldr r0, _08146338 @ =gUnknown_08E78A84
- ldr r1, _0814633C @ =0x06003000
- bl LZDecompressVram
- b _081463CA
- .align 2, 0
-_08146338: .4byte gUnknown_08E78A84
-_0814633C: .4byte 0x06003000
-_08146340:
- movs r1, 0
- ldr r7, _0814635C @ =gBGTilemapBuffers + 0x1000
- adds r2, r7, 0
- ldr r6, _08146360 @ =0x00004042
- ldr r5, _08146364 @ =gSaveBlock2
- ldr r4, _08146368 @ =0x00005042
- ldr r3, _0814636C @ =0x000003ff
-_0814634E:
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- bne _08146370
- lsls r0, r1, 1
- adds r0, r2
- strh r6, [r0]
- b _08146376
- .align 2, 0
-_0814635C: .4byte gBGTilemapBuffers + 0x1000
-_08146360: .4byte 0x00004042
-_08146364: .4byte gSaveBlock2
-_08146368: .4byte 0x00005042
-_0814636C: .4byte 0x000003ff
-_08146370:
- lsls r0, r1, 1
- adds r0, r2
- strh r4, [r0]
-_08146376:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _0814634E
- ldr r1, _08146394 @ =0x06003800
- ldr r0, _08146398 @ =0x040000d4
- str r7, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0814639C @ =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r1, _081463A0 @ =0x0001ffff
- add r1, r12
- b _081463D0
- .align 2, 0
-_08146394: .4byte 0x06003800
-_08146398: .4byte 0x040000d4
-_0814639C: .4byte 0x80000400
-_081463A0: .4byte 0x0001ffff
-_081463A4:
- ldr r0, _081463B8 @ =gBerryCheck_Pal
- movs r1, 0
- movs r2, 0xC0
- bl LoadCompressedPalette
- ldr r1, _081463BC @ =0x02000000
- ldr r2, _081463C0 @ =0x0001ffff
- adds r1, r2
- b _081463D0
- .align 2, 0
-_081463B8: .4byte gBerryCheck_Pal
-_081463BC: .4byte 0x02000000
-_081463C0: .4byte 0x0001ffff
-_081463C4:
- ldr r0, _081463D8 @ =gUnknown_083C1F74
- bl LoadCompressedObjectPic
-_081463CA:
- ldr r1, _081463DC @ =0x02000000
- ldr r0, _081463E0 @ =0x0001ffff
- adds r1, r0
-_081463D0:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08146404
- .align 2, 0
-_081463D8: .4byte gUnknown_083C1F74
-_081463DC: .4byte 0x02000000
-_081463E0: .4byte 0x0001ffff
-_081463E4:
- ldr r0, _081463F8 @ =gUnknown_083C1F7C
- bl LoadCompressedObjectPalette
- ldr r0, _081463FC @ =0x02000000
- ldr r1, _08146400 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _08146406
- .align 2, 0
-_081463F8: .4byte gUnknown_083C1F7C
-_081463FC: .4byte 0x02000000
-_08146400: .4byte 0x0001ffff
-_08146404:
- movs r0, 0
-_08146406:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81462B8
-
- thumb_func_start sub_814640C
-sub_814640C: @ 814640C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08146438 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08146432
- ldr r0, _0814643C @ =sub_80A5B40
- bl SetMainCallback2
- bl sub_80A7DD4
- bl gpu_pal_allocator_reset__manage_upper_four
- adds r0, r4, 0
- bl DestroyTask
-_08146432:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08146438: .4byte gPaletteFade
-_0814643C: .4byte sub_80A5B40
- thumb_func_end sub_814640C
-
- thumb_func_start sub_8146440
-sub_8146440: @ 8146440
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08146478 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0814647C @ =sub_814640C
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08146478: .4byte gTasks
-_0814647C: .4byte sub_814640C
- thumb_func_end sub_8146440
-
- thumb_func_start sub_8146480
-sub_8146480: @ 8146480
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- ldr r0, _081464DC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081464D6
- ldr r5, _081464E0 @ =gMain
- ldrh r1, [r5, 0x30]
- movs r6, 0xF0
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0x40
- bne _081464AC
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- bl sub_81466E8
-_081464AC:
- ldrh r1, [r5, 0x30]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0x80
- bne _081464BE
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81466E8
-_081464BE:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081464D0
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081464D6
-_081464D0:
- adds r0, r7, 0
- bl sub_8146440
-_081464D6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081464DC: .4byte gPaletteFade
-_081464E0: .4byte gMain
- thumb_func_end sub_8146480
-
- thumb_func_start sub_81464E4
-sub_81464E4: @ 81464E4
- push {r4-r7,lr}
- ldr r4, _0814659C @ =gScriptItemId
- ldrb r0, [r4]
- adds r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryInfo
- adds r5, r0, 0
- ldr r7, _081465A0 @ =gStringVar1
- ldrh r1, [r4]
- subs r1, 0x84
- adds r0, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r7, 0
- movs r1, 0xC
- movs r2, 0x4
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0xE
- movs r2, 0x4
- bl MenuPrint
- ldr r0, [r5, 0xC]
- movs r1, 0x4
- movs r2, 0xE
- bl MenuPrint
- ldr r0, [r5, 0x10]
- movs r1, 0x4
- movs r2, 0x10
- bl MenuPrint
- ldrh r1, [r5, 0x8]
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- movs r1, 0xFE
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _0814654E
- adds r4, 0xA
-_0814654E:
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- movs r1, 0xA
- bl __udivsi3
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r4, r0, 0
- ldr r0, _081465A4 @ =gOtherText_Size
- movs r1, 0xB
- movs r2, 0x7
- bl MenuPrint
- ldrh r0, [r5, 0x8]
- cmp r0, 0
- beq _081465B0
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _081465A8 @ =gStringVar2
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _081465AC @ =gContestStatsText_Unknown1
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
- b _081465BA
- .align 2, 0
-_0814659C: .4byte gScriptItemId
-_081465A0: .4byte gStringVar1
-_081465A4: .4byte gOtherText_Size
-_081465A8: .4byte gStringVar2
-_081465AC: .4byte gContestStatsText_Unknown1
-_081465B0:
- ldr r0, _081465E0 @ =gOtherText_ThreeQuestions2
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
-_081465BA:
- ldr r0, _081465E4 @ =gOtherText_Firm
- movs r1, 0xB
- movs r2, 0x9
- bl MenuPrint
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _081465EC
- ldr r0, _081465E8 @ =gUnknown_0841192C
- ldrb r1, [r5, 0x7]
- subs r1, 0x1
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x10
- movs r2, 0x9
- bl MenuPrint
- b _081465F6
- .align 2, 0
-_081465E0: .4byte gOtherText_ThreeQuestions2
-_081465E4: .4byte gOtherText_Firm
-_081465E8: .4byte gUnknown_0841192C
-_081465EC:
- ldr r0, _081465FC @ =gOtherText_ThreeQuestions2
- movs r1, 0x10
- movs r2, 0x9
- bl MenuPrint
-_081465F6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081465FC: .4byte gOtherText_ThreeQuestions2
- thumb_func_end sub_81464E4
-
- thumb_func_start sub_8146600
-sub_8146600: @ 8146600
- push {r4,r5,lr}
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 24
- bl GetBerryInfo
- adds r4, r0, 0
- movs r2, 0
- ldr r5, _08146698 @ =gUnknown_0203932E
- ldr r0, _0814669C @ =0x0000ffff
- adds r3, r0, 0
-_0814661A:
- lsls r0, r2, 1
- adds r0, r5
- ldrh r1, [r0]
- orrs r1, r3
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _0814661A
- ldrb r0, [r4, 0x15]
- cmp r0, 0
- beq _08146642
- movs r0, 0x30
- bl sub_80A7E5C
- ldr r1, _08146698 @ =gUnknown_0203932E
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
-_08146642:
- ldrb r0, [r4, 0x16]
- cmp r0, 0
- beq _08146656
- movs r0, 0x58
- bl sub_80A7E5C
- ldr r1, _08146698 @ =gUnknown_0203932E
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2]
-_08146656:
- ldrb r0, [r4, 0x17]
- cmp r0, 0
- beq _0814666A
- movs r0, 0x80
- bl sub_80A7E5C
- ldr r1, _08146698 @ =gUnknown_0203932E
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x4]
-_0814666A:
- ldrb r0, [r4, 0x18]
- cmp r0, 0
- beq _0814667E
- movs r0, 0xA8
- bl sub_80A7E5C
- ldr r1, _08146698 @ =gUnknown_0203932E
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x6]
-_0814667E:
- ldrb r0, [r4, 0x19]
- cmp r0, 0
- beq _08146692
- movs r0, 0xD0
- bl sub_80A7E5C
- ldr r1, _08146698 @ =gUnknown_0203932E
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
-_08146692:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08146698: .4byte gUnknown_0203932E
-_0814669C: .4byte 0x0000ffff
- thumb_func_end sub_8146600
-
- thumb_func_start sub_81466A0
-sub_81466A0: @ 81466A0
- push {r4-r7,lr}
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- ldr r6, _081466DC @ =gUnknown_0203932E
-_081466AA:
- lsls r0, r5, 1
- adds r4, r0, r6
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _081466CA
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081466E0 @ =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r0, _081466E4 @ =0x0000ffff
- strh r0, [r4]
-_081466CA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _081466AA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081466DC: .4byte gUnknown_0203932E
-_081466E0: .4byte gSprites
-_081466E4: .4byte 0x0000ffff
- thumb_func_end sub_81466A0
-
- thumb_func_start sub_81466E8
-sub_81466E8: @ 81466E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _08146748 @ =gTasks + 0x8
- adds r6, r0, r1
- ldr r4, _0814674C @ =gUnknown_03005D10
- movs r0, 0xC
- adds r0, r4
- mov r8, r0
- ldrb r1, [r0, 0x1]
- ldrb r0, [r4, 0xC]
- adds r1, r0
- cmp r1, 0
- bne _08146718
- lsls r0, r2, 24
- cmp r0, 0
- blt _0814678C
-_08146718:
- adds r0, r1, 0x1
- lsls r5, r2, 24
- mov r1, r8
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- bne _08146728
- cmp r5, 0
- bgt _0814678C
-_08146728:
- movs r0, 0x5
- bl PlaySE
- mov r2, r8
- ldrb r3, [r2, 0x1]
- ldrb r4, [r4, 0xC]
- mov r12, r4
- adds r0, r3, r4
- asrs r2, r5, 24
- adds r1, r0, r2
- cmp r1, 0
- bge _08146750
- negs r0, r0
- strh r0, [r6, 0x2]
- b _08146766
- .align 2, 0
-_08146748: .4byte gTasks + 0x8
-_0814674C: .4byte gUnknown_03005D10
-_08146750:
- mov r4, r8
- ldrb r0, [r4, 0x2]
- cmp r1, r0
- blt _08146764
- subs r0, r3
- mov r1, r12
- subs r0, r1
- subs r0, 0x1
- strh r0, [r6, 0x2]
- b _08146766
-_08146764:
- strh r2, [r6, 0x2]
-_08146766:
- ldr r0, _08146780 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _08146784 @ =sub_8146798
- str r0, [r1]
- cmp r5, 0
- bge _08146788
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- b _0814678A
- .align 2, 0
-_08146780: .4byte gTasks
-_08146784: .4byte sub_8146798
-_08146788:
- movs r0, 0x10
-_0814678A:
- strh r0, [r6]
-_0814678C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81466E8
-
- thumb_func_start sub_8146798
-sub_8146798: @ 8146798
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08146800 @ =gTasks + 0x8
- adds r0, r1
- ldr r2, _08146804 @ =gUnknown_030041B4
- ldrh r1, [r0]
- ldrh r5, [r2]
- adds r3, r1, r5
- movs r1, 0xFF
- ands r3, r1
- strh r3, [r2]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081467C2
- cmp r3, 0x90
- beq _081467CA
-_081467C2:
- cmp r0, 0
- bge _081467E0
- cmp r3, 0x70
- bne _081467E0
-_081467CA:
- ldr r0, _08146808 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- bl sub_8146810
- bl sub_81468BC
-_081467E0:
- ldr r0, _08146804 @ =gUnknown_030041B4
- ldrh r2, [r0]
- cmp r2, 0
- bne _081467FA
- ldr r0, _08146808 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, _0814680C @ =sub_8146480
- str r0, [r1]
-_081467FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08146800: .4byte gTasks + 0x8
-_08146804: .4byte gUnknown_030041B4
-_08146808: .4byte gTasks
-_0814680C: .4byte sub_8146480
- thumb_func_end sub_8146798
-
- thumb_func_start sub_8146810
-sub_8146810: @ 8146810
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- lsls r0, r3, 24
- asrs r1, r0, 24
- cmp r1, 0
- ble _08146848
- ldr r0, _08146840 @ =gUnknown_03005D10
- adds r4, r0, 0
- adds r4, 0xC
- ldrb r2, [r0, 0xC]
- adds r1, r2, r1
- adds r6, r0, 0
- cmp r1, 0x7
- ble _08146844
- adds r0, r3, 0
- adds r0, 0xF9
- adds r0, r2, r0
- ldrb r1, [r4, 0x1]
- adds r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x7
- b _0814686E
- .align 2, 0
-_08146840: .4byte gUnknown_03005D10
-_08146844:
- adds r0, r2, r3
- b _0814686E
-_08146848:
- ldr r0, _08146868 @ =gUnknown_03005D10
- adds r5, r0, 0
- adds r5, 0xC
- ldrb r2, [r0, 0xC]
- adds r1, r2, r1
- adds r6, r0, 0
- cmp r1, 0
- bge _0814686C
- adds r0, r2, r3
- ldrb r1, [r5, 0x1]
- adds r0, r1
- movs r1, 0
- strb r0, [r5, 0x1]
- strb r1, [r6, 0xC]
- b _08146870
- .align 2, 0
-_08146868: .4byte gUnknown_03005D10
-_0814686C:
- adds r0, r2, r4
-_0814686E:
- strb r0, [r6, 0xC]
-_08146870:
- ldr r2, _081468AC @ =gScriptItemId
- movs r0, 0x3
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _081468B0 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- ldr r0, _081468B4 @ =gUnknown_0203932C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081468B8 @ =gSprites
- adds r0, r1
- bl DestroySprite
- bl sub_81466A0
- bl sub_80A7DD4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081468AC: .4byte gScriptItemId
-_081468B0: .4byte gUnknown_03005D24
-_081468B4: .4byte gUnknown_0203932C
-_081468B8: .4byte gSprites
- thumb_func_end sub_8146810
-
- thumb_func_start sub_81468BC
-sub_81468BC: @ 81468BC
- push {r4,lr}
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl sub_81464E4
- ldr r4, _081468F8 @ =gScriptItemId
- ldrb r0, [r4]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x38
- movs r2, 0x40
- bl sub_80A7D8C
- ldr r1, _081468FC @ =gUnknown_0203932C
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- bl sub_8146600
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081468F8: .4byte gScriptItemId
-_081468FC: .4byte gUnknown_0203932C
- thumb_func_end sub_81468BC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 8d11915cb..0518e721c 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -1602,8 +1602,8 @@ _08083954: .4byte sub_8083958
sub_8083958: @ 8083958
push {lr}
bl call_map_music_set_to_zero
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl LoadPlayerParty
+ bl SavePlayerData
bl sub_810FEFC
ldr r0, _08083990 @ =gSpecialVar_0x8004
ldrh r0, [r0]
@@ -1643,8 +1643,8 @@ sub_80839A4: @ 80839A4
cmp r1, 0x5
bne _080839C0
_080839B8:
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl LoadPlayerParty
+ bl SavePlayerData
_080839C0:
movs r0, 0x7F
bl copy_saved_warp2_bank_and_enter_x_to_warp1
@@ -2066,49 +2066,4 @@ _08083CE8: .4byte gTasks
_08083CEC: .4byte sub_8083CA4
thumb_func_end unref_sub_8083CC8
- thumb_func_start unref_sub_8083CF0
-unref_sub_8083CF0: @ 8083CF0
- push {r4-r7,lr}
- ldr r0, _08083D38 @ =0x04000128
- ldr r4, [r0]
- lsls r4, 26
- lsrs r4, 30
- ldr r0, _08083D3C @ =gUnknown_03004DA0
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, _08083D40 @ =gUnknown_0839B24A
- bl StringAppend
- movs r5, 0
- ldr r0, _08083D44 @ =word_3002910
- movs r6, 0x1
- eors r4, r6
- lsls r4, 1
- adds r7, r4, r0
- movs r4, 0
-_08083D14:
- ldrh r0, [r7]
- asrs r0, r5
- ands r0, r6
- cmp r0, 0
- beq _08083D28
- ldr r1, _08083D48 @ =gUnknown_0839B22C
- adds r1, r4, r1
- ldr r0, _08083D3C @ =gUnknown_03004DA0
- bl StringAppend
-_08083D28:
- adds r4, 0x3
- adds r5, 0x1
- cmp r5, 0x9
- ble _08083D14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08083D38: .4byte 0x04000128
-_08083D3C: .4byte gUnknown_03004DA0
-_08083D40: .4byte gUnknown_0839B24A
-_08083D44: .4byte word_3002910
-_08083D48: .4byte gUnknown_0839B22C
- thumb_func_end unref_sub_8083CF0
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/calculate_base_damage.s b/asm/calculate_base_damage.s
deleted file mode 100644
index 54f53f1a2..000000000
--- a/asm/calculate_base_damage.s
+++ /dev/null
@@ -1,1165 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CalculateBaseDamage
-CalculateBaseDamage: @ 803BA2C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- adds r7, r0, 0
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r0, [sp, 0x4C]
- ldr r1, [sp, 0x50]
- ldr r2, [sp, 0x54]
- ldr r4, [sp, 0x58]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0xC]
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0
- cmp r3, 0
- bne _0803BA80
- ldr r2, _0803BA78 @ =gBattleMovePower
- ldr r1, _0803BA7C @ =gBattleMoves
- ldr r3, [sp, 0x8]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- strh r0, [r2]
- b _0803BA84
- .align 2, 0
-_0803BA78: .4byte gBattleMovePower
-_0803BA7C: .4byte gBattleMoves
-_0803BA80:
- ldr r0, _0803BA9C @ =gBattleMovePower
- strh r3, [r0]
-_0803BA84:
- cmp r6, 0
- bne _0803BAA4
- ldr r1, _0803BAA0 @ =gBattleMoves
- ldr r6, [sp, 0x8]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- mov r9, r0
- b _0803BAAE
- .align 2, 0
-_0803BA9C: .4byte gBattleMovePower
-_0803BAA0: .4byte gBattleMoves
-_0803BAA4:
- movs r0, 0x3F
- mov r9, r0
- mov r1, r9
- ands r1, r6
- mov r9, r1
-_0803BAAE:
- ldrh r6, [r7, 0x2]
- ldr r2, [sp, 0x4]
- ldrh r2, [r2, 0x4]
- str r2, [sp, 0x14]
- ldrh r3, [r7, 0x8]
- mov r8, r3
- ldr r0, [sp, 0x4]
- ldrh r0, [r0, 0xA]
- str r0, [sp, 0x18]
- ldrh r0, [r7, 0x2E]
- cmp r0, 0xAF
- bne _0803BAE0
- ldr r1, _0803BADC @ =gEnigmaBerries
- ldr r2, [sp, 0x10]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x7]
- mov r10, r3
- ldrb r0, [r0, 0x1A]
- b _0803BAF6
- .align 2, 0
-_0803BADC: .4byte gEnigmaBerries
-_0803BAE0:
- ldrh r0, [r7, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrh r0, [r7, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r0, 24
-_0803BAF6:
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x4]
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _0803BB26
- ldr r1, _0803BB10 @ =gEnigmaBerries
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x7]
- str r0, [sp, 0x1C]
- b _0803BB3C
- .align 2, 0
-_0803BB10: .4byte gEnigmaBerries
-_0803BB14:
- ldr r0, [sp, 0x20]
- adds r0, 0x64
- muls r0, r6
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- b _0803BCDC
-_0803BB26:
- ldr r2, [sp, 0x4]
- ldrh r0, [r2, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- ldr r3, [sp, 0x4]
- ldrh r0, [r3, 0x2E]
- bl ItemId_GetHoldEffectParam
-_0803BB3C:
- adds r0, r7, 0
- adds r0, 0x20
- ldrb r1, [r0]
- str r0, [sp, 0x24]
- cmp r1, 0x25
- beq _0803BB4C
- cmp r1, 0x4A
- bne _0803BB50
-_0803BB4C:
- lsls r0, r6, 17
- lsrs r6, r0, 16
-_0803BB50:
- ldr r0, _0803BCB8 @ =gUnknown_020239F8
- ldrh r1, [r0]
- ldr r0, _0803BCBC @ =0x00000902
- ands r0, r1
- cmp r0, 0
- beq _0803BB5E
- b _0803BC78
-_0803BB5E:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0803BB98
- ldr r0, _0803BCC0 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _0803BB98
- ldr r0, _0803BCC4 @ =0x00000807
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0803BB98
- ldr r0, [sp, 0x10]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0803BB98
- movs r0, 0x6E
- muls r0, r6
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
-_0803BB98:
- ldr r0, _0803BCB8 @ =gUnknown_020239F8
- ldrh r1, [r0]
- ldr r0, _0803BCBC @ =0x00000902
- ands r0, r1
- cmp r0, 0
- bne _0803BC78
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0803BBE2
- ldr r0, _0803BCC0 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _0803BBE2
- ldr r0, _0803BCC8 @ =0x0000080b
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0803BBE2
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0803BBE2
- movs r0, 0x6E
- ldr r1, [sp, 0x14]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x14]
-_0803BBE2:
- ldr r0, _0803BCB8 @ =gUnknown_020239F8
- ldrh r1, [r0]
- ldr r0, _0803BCBC @ =0x00000902
- ands r0, r1
- cmp r0, 0
- bne _0803BC78
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0803BC2E
- ldr r0, _0803BCC0 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _0803BC2E
- ldr r0, _0803BCCC @ =0x0000080d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0803BC2E
- ldr r0, [sp, 0x10]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0803BC2E
- movs r0, 0x6E
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_0803BC2E:
- ldr r0, _0803BCB8 @ =gUnknown_020239F8
- ldrh r1, [r0]
- ldr r0, _0803BCBC @ =0x00000902
- ands r0, r1
- cmp r0, 0
- bne _0803BC78
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0803BC78
- ldr r0, _0803BCC0 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _0803BC78
- ldr r0, _0803BCCC @ =0x0000080d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0803BC78
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0803BC78
- movs r0, 0x6E
- ldr r3, [sp, 0x18]
- muls r0, r3
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
-_0803BC78:
- movs r2, 0
- ldr r4, _0803BCD0 @ =gHoldEffectToType
- ldr r0, [sp, 0x4]
- adds r0, 0x20
- str r0, [sp, 0x28]
- adds r3, r4, 0
-_0803BC84:
- lsls r1, r2, 1
- ldrb r0, [r3]
- cmp r10, r0
- bne _0803BCD4
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r9, r0
- bne _0803BCD4
- mov r1, r9
- cmp r1, 0x8
- bhi _0803BC9E
- b _0803BB14
-_0803BC9E:
- ldr r0, [sp, 0x20]
- adds r0, 0x64
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- b _0803BCDC
- .align 2, 0
-_0803BCB8: .4byte gUnknown_020239F8
-_0803BCBC: .4byte 0x00000902
-_0803BCC0: .4byte gTrainerBattleOpponent
-_0803BCC4: .4byte 0x00000807
-_0803BCC8: .4byte 0x0000080b
-_0803BCCC: .4byte 0x0000080d
-_0803BCD0: .4byte gHoldEffectToType
-_0803BCD4:
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x10
- bls _0803BC84
-_0803BCDC:
- mov r3, r10
- cmp r3, 0x1D
- bne _0803BCF0
- movs r0, 0x96
- muls r0, r6
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
-_0803BCF0:
- mov r0, r10
- cmp r0, 0x22
- bne _0803BD28
- ldr r0, _0803BFDC @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _0803BD28
- ldr r1, _0803BFE0 @ =0xfffffe69
- adds r0, r1, 0
- ldrh r2, [r7]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0803BD28
- movs r0, 0x96
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_0803BD28:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x22
- bne _0803BD60
- ldr r0, _0803BFDC @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _0803BD60
- ldr r1, _0803BFE0 @ =0xfffffe69
- adds r0, r1, 0
- ldr r2, [sp, 0x4]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0803BD60
- movs r0, 0x96
- ldr r3, [sp, 0x18]
- muls r0, r3
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
-_0803BD60:
- mov r0, r10
- cmp r0, 0x23
- bne _0803BD76
- ldrh r1, [r7]
- ldr r0, _0803BFE4 @ =0x00000175
- cmp r1, r0
- bne _0803BD76
- mov r1, r8
- lsls r0, r1, 17
- lsrs r0, 16
- mov r8, r0
-_0803BD76:
- ldr r2, [sp, 0x1C]
- cmp r2, 0x24
- bne _0803BD8E
- ldr r3, [sp, 0x4]
- ldrh r1, [r3]
- ldr r0, _0803BFE4 @ =0x00000175
- cmp r1, r0
- bne _0803BD8E
- ldr r1, [sp, 0x18]
- lsls r0, r1, 17
- lsrs r0, 16
- str r0, [sp, 0x18]
-_0803BD8E:
- mov r2, r10
- cmp r2, 0x2D
- bne _0803BDA2
- ldrh r0, [r7]
- cmp r0, 0x19
- bne _0803BDA2
- mov r3, r8
- lsls r0, r3, 17
- lsrs r0, 16
- mov r8, r0
-_0803BDA2:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x40
- bne _0803BDB8
- ldr r1, [sp, 0x4]
- ldrh r0, [r1]
- cmp r0, 0x84
- bne _0803BDB8
- ldr r2, [sp, 0x14]
- lsls r0, r2, 17
- lsrs r0, 16
- str r0, [sp, 0x14]
-_0803BDB8:
- mov r3, r10
- cmp r3, 0x41
- bne _0803BDCE
- ldrh r0, [r7]
- subs r0, 0x68
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0803BDCE
- lsls r0, r6, 17
- lsrs r6, r0, 16
-_0803BDCE:
- ldr r1, [sp, 0x28]
- ldrb r0, [r1]
- cmp r0, 0x2F
- bne _0803BDE6
- mov r2, r9
- cmp r2, 0xA
- beq _0803BDE0
- cmp r2, 0xF
- bne _0803BDE6
-_0803BDE0:
- mov r3, r8
- lsrs r3, 1
- mov r8, r3
-_0803BDE6:
- ldr r0, [sp, 0x24]
- ldrb r4, [r0]
- cmp r4, 0x37
- bne _0803BDFC
- movs r0, 0x96
- muls r0, r6
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
-_0803BDFC:
- cmp r4, 0x39
- bne _0803BE2A
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x3A
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- beq _0803BE2A
- movs r0, 0x96
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_0803BE2A:
- ldr r2, [sp, 0x24]
- ldrb r0, [r2]
- cmp r0, 0x3A
- bne _0803BE5C
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x39
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- beq _0803BE5C
- movs r0, 0x96
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_0803BE5C:
- ldr r1, [sp, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x3E
- bne _0803BE78
- ldr r0, [r7, 0x4C]
- cmp r0, 0
- beq _0803BE78
- movs r0, 0x96
- muls r0, r6
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
-_0803BE78:
- ldr r2, [sp, 0x28]
- ldrb r0, [r2]
- cmp r0, 0x3F
- bne _0803BE9A
- ldr r3, [sp, 0x4]
- ldr r0, [r3, 0x4C]
- cmp r0, 0
- beq _0803BE9A
- movs r0, 0x96
- ldr r1, [sp, 0x14]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x14]
-_0803BE9A:
- mov r2, r9
- cmp r2, 0xD
- bne _0803BEBE
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0
- movs r3, 0xFD
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- beq _0803BEBE
- ldr r1, _0803BFE8 @ =gBattleMovePower
- ldrh r0, [r1]
- lsrs r0, 1
- strh r0, [r1]
-_0803BEBE:
- mov r3, r9
- cmp r3, 0xA
- bne _0803BEE2
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0
- movs r3, 0xFE
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- beq _0803BEE2
- ldr r1, _0803BFE8 @ =gBattleMovePower
- ldrh r0, [r1]
- lsrs r0, 1
- strh r0, [r1]
-_0803BEE2:
- mov r0, r9
- cmp r0, 0xC
- bne _0803BF12
- ldr r1, [sp, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x41
- bne _0803BF12
- ldrh r0, [r7, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r7, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _0803BF12
- ldr r4, _0803BFE8 @ =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_0803BF12:
- mov r2, r9
- cmp r2, 0xA
- bne _0803BF42
- ldr r3, [sp, 0x24]
- ldrb r0, [r3]
- cmp r0, 0x42
- bne _0803BF42
- ldrh r0, [r7, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r7, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _0803BF42
- ldr r4, _0803BFE8 @ =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_0803BF42:
- mov r0, r9
- cmp r0, 0xB
- bne _0803BF72
- ldr r1, [sp, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x43
- bne _0803BF72
- ldrh r0, [r7, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r7, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _0803BF72
- ldr r4, _0803BFE8 @ =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_0803BF72:
- mov r2, r9
- cmp r2, 0x6
- bne _0803BFA2
- ldr r3, [sp, 0x24]
- ldrb r0, [r3]
- cmp r0, 0x44
- bne _0803BFA2
- ldrh r0, [r7, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r7, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _0803BFA2
- ldr r4, _0803BFE8 @ =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_0803BFA2:
- ldr r2, _0803BFEC @ =gBattleMoves
- ldr r0, _0803BFF0 @ =gUnknown_02024BE6
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _0803BFBC
- ldr r0, [sp, 0x14]
- lsrs r0, 1
- str r0, [sp, 0x14]
-_0803BFBC:
- mov r1, r9
- cmp r1, 0x8
- bls _0803BFC4
- b _0803C122
-_0803BFC4:
- ldr r0, _0803BFF4 @ =gCritMultiplier
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x2
- bne _0803C000
- movs r0, 0x19
- ldrsb r0, [r7, r0]
- cmp r0, 0x6
- ble _0803BFFC
- ldr r2, _0803BFF8 @ =gStatStageRatios
- b _0803C006
- .align 2, 0
-_0803BFDC: .4byte gUnknown_020239F8
-_0803BFE0: .4byte 0xfffffe69
-_0803BFE4: .4byte 0x00000175
-_0803BFE8: .4byte gBattleMovePower
-_0803BFEC: .4byte gBattleMoves
-_0803BFF0: .4byte gUnknown_02024BE6
-_0803BFF4: .4byte gCritMultiplier
-_0803BFF8: .4byte gStatStageRatios
-_0803BFFC:
- adds r5, r6, 0
- b _0803C01E
-_0803C000:
- ldr r2, _0803C050 @ =gStatStageRatios
- movs r0, 0x19
- ldrsb r0, [r7, r0]
-_0803C006:
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r5, r6, 0
- muls r5, r1
- adds r2, 0x1
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl __divsi3
- adds r5, r0, 0
-_0803C01E:
- ldr r0, _0803C054 @ =gBattleMovePower
- ldrh r0, [r0]
- muls r5, r0
- adds r0, r7, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- lsls r0, 1
- movs r1, 0x5
- bl __divsi3
- adds r0, 0x2
- muls r5, r0
- ldrb r0, [r4]
- cmp r0, 0x2
- bne _0803C05C
- ldr r2, [sp, 0x4]
- movs r0, 0x1A
- ldrsb r0, [r2, r0]
- cmp r0, 0x5
- bgt _0803C058
- ldr r2, _0803C050 @ =gStatStageRatios
- ldr r3, [sp, 0x4]
- movs r0, 0x1A
- ldrsb r0, [r3, r0]
- b _0803C064
- .align 2, 0
-_0803C050: .4byte gStatStageRatios
-_0803C054: .4byte gBattleMovePower
-_0803C058:
- ldr r3, [sp, 0x14]
- b _0803C07E
-_0803C05C:
- ldr r2, _0803C0DC @ =gStatStageRatios
- ldr r1, [sp, 0x4]
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
-_0803C064:
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r6, [sp, 0x14]
- adds r3, r6, 0
- muls r3, r1
- adds r2, 0x1
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl __divsi3
- adds r3, r0, 0
-_0803C07E:
- adds r0, r5, 0
- adds r1, r3, 0
- bl __divsi3
- adds r5, r0, 0
- movs r1, 0x32
- bl __divsi3
- adds r5, r0, 0
- ldr r0, [r7, 0x4C]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0803C0A8
- ldr r1, [sp, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x3E
- beq _0803C0A8
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0803C0A8:
- movs r0, 0x1
- ldr r2, [sp, 0xC]
- ands r0, r2
- cmp r0, 0
- beq _0803C0EA
- ldrb r1, [r4]
- cmp r1, 0x1
- bne _0803C0EA
- ldr r0, _0803C0E0 @ =gUnknown_020239F8
- ldrh r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0803C0E4
- movs r0, 0x2
- bl sub_803C348
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0803C0E4
- adds r0, r5, 0
- movs r1, 0x3
- bl __divsi3
- lsls r5, r0, 1
- b _0803C0EA
- .align 2, 0
-_0803C0DC: .4byte gStatStageRatios
-_0803C0E0: .4byte gUnknown_020239F8
-_0803C0E4:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0803C0EA:
- ldr r0, _0803C148 @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0803C11C
- ldr r0, _0803C14C @ =gBattleMoves
- ldr r3, [sp, 0x8]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, 0x8
- bne _0803C11C
- movs r0, 0x2
- bl sub_803C348
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0803C11C
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0803C11C:
- cmp r5, 0
- bne _0803C122
- movs r5, 0x1
-_0803C122:
- mov r6, r9
- cmp r6, 0x9
- bne _0803C12A
- movs r5, 0
-_0803C12A:
- mov r0, r9
- cmp r0, 0x9
- bhi _0803C132
- b _0803C330
-_0803C132:
- ldr r0, _0803C150 @ =gCritMultiplier
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x2
- bne _0803C15C
- movs r0, 0x1C
- ldrsb r0, [r7, r0]
- cmp r0, 0x6
- ble _0803C158
- ldr r2, _0803C154 @ =gStatStageRatios
- b _0803C162
- .align 2, 0
-_0803C148: .4byte gUnknown_020239F8
-_0803C14C: .4byte gBattleMoves
-_0803C150: .4byte gCritMultiplier
-_0803C154: .4byte gStatStageRatios
-_0803C158:
- mov r5, r8
- b _0803C17A
-_0803C15C:
- ldr r2, _0803C1A8 @ =gStatStageRatios
- movs r0, 0x1C
- ldrsb r0, [r7, r0]
-_0803C162:
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- mov r5, r8
- muls r5, r1
- adds r2, 0x1
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl __divsi3
- adds r5, r0, 0
-_0803C17A:
- ldr r0, _0803C1AC @ =gBattleMovePower
- ldrh r0, [r0]
- muls r5, r0
- adds r0, r7, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- lsls r0, 1
- movs r1, 0x5
- bl __divsi3
- adds r0, 0x2
- muls r5, r0
- ldrb r0, [r4]
- cmp r0, 0x2
- bne _0803C1B4
- ldr r1, [sp, 0x4]
- movs r0, 0x1D
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _0803C1B0
- ldr r2, _0803C1A8 @ =gStatStageRatios
- b _0803C1BC
- .align 2, 0
-_0803C1A8: .4byte gStatStageRatios
-_0803C1AC: .4byte gBattleMovePower
-_0803C1B0:
- ldr r3, [sp, 0x18]
- b _0803C1D6
-_0803C1B4:
- ldr r2, _0803C21C @ =gStatStageRatios
- ldr r1, [sp, 0x4]
- movs r0, 0x1D
- ldrsb r0, [r1, r0]
-_0803C1BC:
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r6, [sp, 0x18]
- adds r3, r6, 0
- muls r3, r1
- adds r2, 0x1
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl __divsi3
- adds r3, r0, 0
-_0803C1D6:
- adds r0, r5, 0
- adds r1, r3, 0
- bl __divsi3
- adds r5, r0, 0
- movs r1, 0x32
- bl __divsi3
- adds r5, r0, 0
- movs r0, 0x2
- ldr r1, [sp, 0xC]
- ands r0, r1
- cmp r0, 0
- beq _0803C22A
- ldrb r1, [r4]
- cmp r1, 0x1
- bne _0803C22A
- ldr r0, _0803C220 @ =gUnknown_020239F8
- ldrh r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0803C224
- movs r0, 0x2
- bl sub_803C348
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0803C224
- adds r0, r5, 0
- movs r1, 0x3
- bl __divsi3
- lsls r5, r0, 1
- b _0803C22A
- .align 2, 0
-_0803C21C: .4byte gStatStageRatios
-_0803C220: .4byte gUnknown_020239F8
-_0803C224:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0803C22A:
- ldr r0, _0803C2A4 @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0803C25C
- ldr r0, _0803C2A8 @ =gBattleMoves
- ldr r2, [sp, 0x8]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, 0x8
- bne _0803C25C
- movs r0, 0x2
- bl sub_803C348
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0803C25C
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0803C25C:
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0803C30C
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl sub_8018324
- lsls r0, 24
- cmp r0, 0
- bne _0803C30C
- ldr r2, _0803C2AC @ =word_2024DB8
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _0803C2C4
- mov r3, r9
- cmp r3, 0xA
- beq _0803C2B0
- cmp r3, 0xB
- beq _0803C2B8
- b _0803C2C4
- .align 2, 0
-_0803C2A4: .4byte gUnknown_020239F8
-_0803C2A8: .4byte gBattleMoves
-_0803C2AC: .4byte word_2024DB8
-_0803C2B0:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
- b _0803C2C4
-_0803C2B8:
- lsls r0, r5, 4
- subs r0, r5
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
-_0803C2C4:
- ldrh r1, [r4]
- movs r0, 0x9F
- ands r0, r1
- cmp r0, 0
- beq _0803C2DC
- ldr r0, _0803C2F4 @ =gUnknown_02024BE6
- ldrh r0, [r0]
- cmp r0, 0x4C
- bne _0803C2DC
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0803C2DC:
- ldrh r1, [r4]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _0803C30C
- mov r6, r9
- cmp r6, 0xA
- beq _0803C2F8
- cmp r6, 0xB
- beq _0803C306
- b _0803C30C
- .align 2, 0
-_0803C2F4: .4byte gUnknown_02024BE6
-_0803C2F8:
- lsls r0, r5, 4
- subs r0, r5
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
- b _0803C30C
-_0803C306:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0803C30C:
- ldr r1, _0803C344 @ =0x02017100
- ldr r2, [sp, 0x10]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0803C330
- mov r3, r9
- cmp r3, 0xA
- bne _0803C330
- lsls r0, r5, 4
- subs r0, r5
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
-_0803C330:
- adds r0, r5, 0x2
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803C344: .4byte 0x02017100
- thumb_func_end CalculateBaseDamage
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/credits.s b/asm/credits.s
new file mode 100644
index 000000000..1d4747034
--- /dev/null
+++ b/asm/credits.s
@@ -0,0 +1,4182 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8143948
+sub_8143948: @ 8143948
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8143948
+
+ thumb_func_start sub_814395C
+sub_814395C: @ 814395C
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ ldr r0, _081439B8 @ =gMain
+ ldrh r1, [r0, 0x2C]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _081439B2
+ ldr r0, _081439BC @ =gUnknown_02039324
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _081439B2
+ ldr r2, _081439C0 @ =gTasks
+ ldr r0, _081439C4 @ =gUnknown_02039322
+ ldrh r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _081439C8 @ =sub_8143B68
+ cmp r1, r0
+ bne _081439B2
+ bl sub_8143948
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ ldr r1, _081439CC @ =gUnknown_02039325
+ movs r0, 0x1
+ strb r0, [r1]
+_081439B2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081439B8: .4byte gMain
+_081439BC: .4byte gUnknown_02039324
+_081439C0: .4byte gTasks
+_081439C4: .4byte gUnknown_02039322
+_081439C8: .4byte sub_8143B68
+_081439CC: .4byte gUnknown_02039325
+ thumb_func_end sub_814395C
+
+ thumb_func_start sub_81439D0
+sub_81439D0: @ 81439D0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ bl sub_8144130
+ movs r0, 0
+ bl SetVBlankCallback
+ bl ResetPaletteFade
+ bl ResetTasks
+ ldr r0, _08143AF0 @ =sub_8143B38
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, _08143AF4 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x10]
+ strh r1, [r0, 0x16]
+ strh r1, [r0, 0x1E]
+ movs r1, 0x1
+ strh r1, [r0, 0x22]
+_08143A0E:
+ movs r0, 0
+ adds r1, r7, 0
+ bl sub_8144ECC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08143A0E
+ ldr r6, _08143AF4 @ =gTasks
+ lsls r5, r7, 2
+ adds r5, r7
+ lsls r5, 3
+ adds r5, r6
+ movs r0, 0xA
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0
+ mov r9, r1
+ movs r2, 0
+ mov r8, r2
+ movs r1, 0x28
+ strh r1, [r0, 0x8]
+ ldr r4, _08143AF8 @ =gWindowConfig_81E7208
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ adds r0, r4, 0
+ bl InitMenuWindow
+ ldr r0, _08143AFC @ =gUnknown_0840B7BC
+ movs r1, 0x80
+ movs r2, 0x40
+ bl LoadPalette
+ ldr r0, _08143B00 @ =gUnknown_0840B7FC
+ ldr r1, _08143B04 @ =0x0600bee0
+ movs r2, 0x20
+ bl CpuSet
+ ldr r1, _08143B08 @ =REG_BG0VOFS
+ ldr r2, _08143B0C @ =0x0000fffc
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r0, _08143B10 @ =sub_81441B8
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r6
+ strh r7, [r1, 0xA]
+ strh r0, [r5, 0x26]
+ movs r0, 0x1
+ negs r0, r0
+ mov r1, r8
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r3, _08143B14 @ =0x04000208
+ ldrh r2, [r3]
+ mov r0, r8
+ strh r0, [r3]
+ ldr r4, _08143B18 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _08143B1C @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _08143B20 @ =sub_8143948
+ bl SetVBlankCallback
+ ldr r0, _08143B24 @ =0x000001c7
+ bl m4aSongNumStart
+ ldr r0, _08143B28 @ =sub_814395C
+ bl SetMainCallback2
+ ldr r0, _08143B2C @ =gUnknown_02039325
+ mov r1, r9
+ strb r1, [r0]
+ ldr r4, _08143B30 @ =0x0201c000
+ bl sub_81458DC
+ adds r0, r4, 0
+ adds r0, 0x88
+ mov r2, r8
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r2, [r0]
+ ldr r0, _08143B34 @ =gUnknown_02039322
+ strh r7, [r0]
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143AF0: .4byte sub_8143B38
+_08143AF4: .4byte gTasks
+_08143AF8: .4byte gWindowConfig_81E7208
+_08143AFC: .4byte gUnknown_0840B7BC
+_08143B00: .4byte gUnknown_0840B7FC
+_08143B04: .4byte 0x0600bee0
+_08143B08: .4byte REG_BG0VOFS
+_08143B0C: .4byte 0x0000fffc
+_08143B10: .4byte sub_81441B8
+_08143B14: .4byte 0x04000208
+_08143B18: .4byte 0x04000200
+_08143B1C: .4byte REG_DISPSTAT
+_08143B20: .4byte sub_8143948
+_08143B24: .4byte 0x000001c7
+_08143B28: .4byte sub_814395C
+_08143B2C: .4byte gUnknown_02039325
+_08143B30: .4byte 0x0201c000
+_08143B34: .4byte gUnknown_02039322
+ thumb_func_end sub_81439D0
+
+ thumb_func_start sub_8143B38
+sub_8143B38: @ 8143B38
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _08143B5C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08143B58
+ ldr r0, _08143B60 @ =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08143B64 @ =sub_8143B68
+ str r0, [r1]
+_08143B58:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143B5C: .4byte gPaletteFade
+_08143B60: .4byte gTasks
+_08143B64: .4byte sub_8143B68
+ thumb_func_end sub_8143B38
+
+ thumb_func_start sub_8143B68
+sub_8143B68: @ 8143B68
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08143B9C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ movs r0, 0x10
+ ldrsh r1, [r4, r0]
+ cmp r1, 0
+ beq _08143BA4
+ movs r3, 0xA
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x1E
+ strh r1, [r0, 0x8]
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r4, 0x20]
+ ldr r0, _08143BA0 @ =sub_8143EBC
+ b _08143BEE
+ .align 2, 0
+_08143B9C: .4byte gTasks
+_08143BA0: .4byte sub_8143EBC
+_08143BA4:
+ ldr r0, _08143BCC @ =gUnknown_02039320
+ strh r1, [r0]
+ ldrh r2, [r4, 0x1E]
+ movs r3, 0x1E
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x1
+ bne _08143BD4
+ strh r2, [r4, 0x22]
+ strh r1, [r4, 0x1E]
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _08143BD0 @ =sub_8143BFC
+ b _08143BEE
+ .align 2, 0
+_08143BCC: .4byte gUnknown_02039320
+_08143BD0: .4byte sub_8143BFC
+_08143BD4:
+ cmp r0, 0x2
+ bne _08143BF0
+ strh r2, [r4, 0x22]
+ strh r1, [r4, 0x1E]
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _08143BF8 @ =sub_8143CC0
+_08143BEE:
+ str r0, [r4]
+_08143BF0:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143BF8: .4byte sub_8143CC0
+ thumb_func_end sub_8143B68
+
+ thumb_func_start sub_8143BFC
+sub_8143BFC: @ 8143BFC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08143C34 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _08143C2C
+ movs r0, 0x80
+ lsls r0, 19
+ strh r1, [r0]
+ adds r0, r4, 0
+ bl sub_81450AC
+ ldr r1, _08143C38 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08143C3C @ =c2_080C9BFC
+ str r1, [r0]
+_08143C2C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143C34: .4byte gPaletteFade
+_08143C38: .4byte gTasks
+_08143C3C: .4byte c2_080C9BFC
+ thumb_func_end sub_8143BFC
+
+ thumb_func_start c2_080C9BFC
+c2_080C9BFC: @ 8143C40
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl SetVBlankCallback
+ ldr r1, _08143CA8 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r5, r0, r1
+ ldrb r0, [r5, 0x16]
+ adds r1, r4, 0
+ bl sub_8144ECC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08143CA0
+ movs r0, 0x1
+ negs r0, r0
+ movs r4, 0
+ str r4, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r3, _08143CAC @ =0x04000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _08143CB0 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _08143CB4 @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _08143CB8 @ =sub_8143948
+ bl SetVBlankCallback
+ ldr r0, _08143CBC @ =sub_8143B38
+ str r0, [r5]
+_08143CA0:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143CA8: .4byte gTasks
+_08143CAC: .4byte 0x04000208
+_08143CB0: .4byte 0x04000200
+_08143CB4: .4byte REG_DISPSTAT
+_08143CB8: .4byte sub_8143948
+_08143CBC: .4byte sub_8143B38
+ thumb_func_end c2_080C9BFC
+
+ thumb_func_start sub_8143CC0
+sub_8143CC0: @ 8143CC0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08143CF8 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _08143CF0
+ movs r0, 0x80
+ lsls r0, 19
+ strh r1, [r0]
+ adds r0, r4, 0
+ bl sub_81450AC
+ ldr r1, _08143CFC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08143D00 @ =sub_8143D04
+ str r1, [r0]
+_08143CF0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143CF8: .4byte gPaletteFade
+_08143CFC: .4byte gTasks
+_08143D00: .4byte sub_8143D04
+ thumb_func_end sub_8143CC0
+
+ thumb_func_start sub_8143D04
+sub_8143D04: @ 8143D04
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _08143DC8 @ =gMain
+ ldr r1, _08143DCC @ =0x0000043c
+ adds r1, r0
+ mov r8, r1
+ ldrb r7, [r1]
+ cmp r7, 0
+ beq _08143D24
+ cmp r7, 0x1
+ beq _08143E0C
+_08143D24:
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ ldr r1, _08143DD0 @ =gReservedSpritePaletteCount
+ movs r0, 0x8
+ strb r0, [r1]
+ ldr r0, _08143DD4 @ =gBirchHelpGfx
+ movs r1, 0xC0
+ lsls r1, 19
+ bl LZ77UnCompVram
+ ldr r0, _08143DD8 @ =gBirchGrassTilemap
+ ldr r1, _08143DDC @ =0x06003800
+ bl LZ77UnCompVram
+ ldr r0, _08143DE0 @ =gBirchBagGrassPal + 0x2
+ movs r1, 0x1
+ movs r2, 0x3E
+ bl LoadPalette
+ movs r1, 0
+ ldr r4, _08143DE4 @ =0x0201e000
+ movs r3, 0x11
+ ldr r2, _08143DE8 @ =0x000007ff
+_08143D56:
+ adds r0, r1, r4
+ strb r3, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r2
+ bls _08143D56
+ movs r1, 0
+ ldr r2, _08143DEC @ =0x0201f800
+ ldr r6, _08143DF0 @ =gUnknown_0840CAA0
+ ldr r0, _08143DF4 @ =0xfffff000
+ adds r5, r2, r0
+ movs r4, 0x22
+ ldr r3, _08143DE8 @ =0x000007ff
+_08143D72:
+ adds r0, r1, r5
+ strb r4, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r3
+ bls _08143D72
+ movs r1, 0
+ ldr r5, _08143DF8 @ =0x0201f000
+ movs r4, 0x33
+ ldr r3, _08143DE8 @ =0x000007ff
+_08143D88:
+ adds r0, r1, r5
+ strb r4, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r3
+ bls _08143D88
+ movs r0, 0
+ strh r0, [r2]
+ ldr r1, _08143DFC @ =0x000053ff
+ adds r0, r1, 0
+ strh r0, [r2, 0x2]
+ ldr r1, _08143E00 @ =0x0000529f
+ adds r0, r1, 0
+ strh r0, [r2, 0x4]
+ ldr r1, _08143E04 @ =0x00007e94
+ adds r0, r1, 0
+ strh r0, [r2, 0x6]
+ adds r0, r6, 0
+ bl LoadSpriteSheet
+ ldr r0, _08143E08 @ =gUnknown_0840CAB0
+ bl LoadSpritePalette
+ ldr r1, _08143DC8 @ =gMain
+ ldr r2, _08143DCC @ =0x0000043c
+ adds r1, r2
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08143E90
+ .align 2, 0
+_08143DC8: .4byte gMain
+_08143DCC: .4byte 0x0000043c
+_08143DD0: .4byte gReservedSpritePaletteCount
+_08143DD4: .4byte gBirchHelpGfx
+_08143DD8: .4byte gBirchGrassTilemap
+_08143DDC: .4byte 0x06003800
+_08143DE0: .4byte gBirchBagGrassPal + 0x2
+_08143DE4: .4byte 0x0201e000
+_08143DE8: .4byte 0x000007ff
+_08143DEC: .4byte 0x0201f800
+_08143DF0: .4byte gUnknown_0840CAA0
+_08143DF4: .4byte 0xfffff000
+_08143DF8: .4byte 0x0201f000
+_08143DFC: .4byte 0x000053ff
+_08143E00: .4byte 0x0000529f
+_08143E04: .4byte 0x00007e94
+_08143E08: .4byte gUnknown_0840CAB0
+_08143E0C:
+ ldr r0, _08143EA0 @ =sub_8144514
+ movs r1, 0
+ bl CreateTask
+ ldr r2, _08143EA4 @ =gTasks
+ lsls r4, r6, 2
+ adds r4, r6
+ lsls r4, 3
+ adds r4, r2
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ mov r9, r1
+ movs r5, 0
+ strh r0, [r4, 0xE]
+ movs r0, 0xE
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ strh r7, [r0, 0x8]
+ movs r0, 0xE
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ strh r6, [r0, 0xA]
+ movs r0, 0xE
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r1, [r4, 0x16]
+ strh r1, [r0, 0xC]
+ movs r0, 0x1
+ negs r0, r0
+ str r5, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, _08143EA8 @ =REG_BG3HOFS
+ strh r5, [r0]
+ ldr r1, _08143EAC @ =REG_BG3VOFS
+ movs r0, 0x20
+ strh r0, [r1]
+ subs r1, 0x10
+ ldr r2, _08143EB0 @ =0x00000703
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xE
+ movs r2, 0xCA
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ mov r1, r9
+ mov r0, r8
+ strb r1, [r0]
+ ldr r0, _08143EB4 @ =gUnknown_0203935C
+ strh r5, [r0]
+ ldr r0, _08143EB8 @ =sub_8143B38
+ str r0, [r4]
+_08143E90:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143EA0: .4byte sub_8144514
+_08143EA4: .4byte gTasks
+_08143EA8: .4byte REG_BG3HOFS
+_08143EAC: .4byte REG_BG3VOFS
+_08143EB0: .4byte 0x00000703
+_08143EB4: .4byte gUnknown_0203935C
+_08143EB8: .4byte sub_8143B38
+ thumb_func_end sub_8143D04
+
+ thumb_func_start sub_8143EBC
+sub_8143EBC: @ 8143EBC
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08143EE0 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r0, [r4, 0x20]
+ movs r2, 0x20
+ ldrsh r1, [r4, r2]
+ cmp r1, 0
+ beq _08143EE4
+ subs r0, 0x1
+ strh r0, [r4, 0x20]
+ b _08143EF8
+ .align 2, 0
+_08143EE0: .4byte gTasks
+_08143EE4:
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0xC
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _08143F00 @ =sub_8143F04
+ str r0, [r4]
+_08143EF8:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143F00: .4byte sub_8143F04
+ thumb_func_end sub_8143EBC
+
+ thumb_func_start sub_8143F04
+sub_8143F04: @ 8143F04
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08143F30 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08143F2A
+ adds r0, r4, 0
+ bl sub_81450AC
+ ldr r0, _08143F34 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08143F38 @ =sub_8143F3C
+ str r0, [r1]
+_08143F2A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143F30: .4byte gPaletteFade
+_08143F34: .4byte gTasks
+_08143F38: .4byte sub_8143F3C
+ thumb_func_end sub_8143F04
+
+ thumb_func_start sub_8143F3C
+sub_8143F3C: @ 8143F3C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ bl sub_8144130
+ bl ResetPaletteFade
+ movs r1, 0xE0
+ lsls r1, 6
+ movs r0, 0
+ movs r2, 0
+ bl sub_8145128
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ movs r0, 0x1
+ negs r0, r0
+ movs r4, 0
+ str r4, [sp]
+ movs r1, 0x8
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r1, _08143FC4 @ =REG_BG0CNT
+ movs r2, 0xE0
+ lsls r2, 3
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r3, _08143FC8 @ =0x04000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _08143FCC @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _08143FD0 @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ movs r1, 0x80
+ lsls r1, 19
+ movs r2, 0xA0
+ lsls r2, 1
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _08143FD4 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x80
+ lsls r1, 1
+ strh r1, [r0, 0x8]
+ ldr r1, _08143FD8 @ =sub_8143FDC
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143FC4: .4byte REG_BG0CNT
+_08143FC8: .4byte 0x04000208
+_08143FCC: .4byte 0x04000200
+_08143FD0: .4byte REG_DISPSTAT
+_08143FD4: .4byte gTasks
+_08143FD8: .4byte sub_8143FDC
+ thumb_func_end sub_8143F3C
+
+ thumb_func_start sub_8143FDC
+sub_8143FDC: @ 8143FDC
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08144000 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r0, [r4, 0x8]
+ movs r2, 0x8
+ ldrsh r1, [r4, r2]
+ cmp r1, 0
+ beq _08144004
+ subs r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08144018
+ .align 2, 0
+_08144000: .4byte gTasks
+_08144004:
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0x6
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _08144020 @ =sub_8144024
+ str r0, [r4]
+_08144018:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08144020: .4byte sub_8144024
+ thumb_func_end sub_8143FDC
+
+ thumb_func_start sub_8144024
+sub_8144024: @ 8144024
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _08144074 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _0814406A
+ movs r0, 0xE0
+ lsls r0, 6
+ movs r1, 0
+ bl sub_81452D0
+ movs r0, 0x1
+ negs r0, r0
+ str r4, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r1, _08144078 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xE1
+ lsls r1, 5
+ strh r1, [r0, 0x8]
+ ldr r1, _0814407C @ =sub_8144080
+ str r1, [r0]
+_0814406A:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08144074: .4byte gPaletteFade
+_08144078: .4byte gTasks
+_0814407C: .4byte sub_8144080
+ thumb_func_end sub_8144024
+
+ thumb_func_start sub_8144080
+sub_8144080: @ 8144080
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _081440CC @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08144104
+ ldr r1, _081440D0 @ =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r4, r0, r1
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ cmp r1, 0
+ beq _081440AE
+ ldr r0, _081440D4 @ =gMain
+ ldrh r0, [r0, 0x2E]
+ cmp r0, 0
+ beq _081440E0
+_081440AE:
+ movs r0, 0x4
+ bl FadeOutBGM
+ movs r0, 0x1
+ negs r0, r0
+ ldr r1, _081440D8 @ =0x0000ffff
+ str r1, [sp]
+ movs r1, 0x8
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _081440DC @ =sub_8144114
+ str r0, [r4]
+ b _08144104
+ .align 2, 0
+_081440CC: .4byte gPaletteFade
+_081440D0: .4byte gTasks
+_081440D4: .4byte gMain
+_081440D8: .4byte 0x0000ffff
+_081440DC: .4byte sub_8144114
+_081440E0:
+ ldr r0, _0814410C @ =0x00001be8
+ cmp r1, r0
+ bne _081440EC
+ movs r0, 0x8
+ bl FadeOutBGM
+_081440EC:
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ ldr r0, _08144110 @ =0x00001ab8
+ cmp r1, r0
+ bne _081440FE
+ movs r0, 0xE4
+ lsls r0, 1
+ bl m4aSongNumStart
+_081440FE:
+ ldrh r0, [r4, 0x8]
+ subs r0, 0x1
+ strh r0, [r4, 0x8]
+_08144104:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814410C: .4byte 0x00001be8
+_08144110: .4byte 0x00001ab8
+ thumb_func_end sub_8144080
+
+ thumb_func_start sub_8144114
+sub_8144114: @ 8144114
+ push {lr}
+ ldr r0, _0814412C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08144128
+ movs r0, 0xFF
+ bl SoftReset
+_08144128:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814412C: .4byte gPaletteFade
+ thumb_func_end sub_8144114
+
+ thumb_func_start sub_8144130
+sub_8144130: @ 8144130
+ sub sp, 0x8
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x1C
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x3E
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ mov r0, sp
+ strh r1, [r0]
+ ldr r1, _081441A4 @ =0x040000d4
+ str r0, [r1]
+ movs r0, 0xC0
+ lsls r0, 19
+ str r0, [r1, 0x4]
+ ldr r0, _081441A8 @ =0x8100c000
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ movs r2, 0
+ str r2, [sp, 0x4]
+ add r0, sp, 0x4
+ str r0, [r1]
+ movs r0, 0xE0
+ lsls r0, 19
+ str r0, [r1, 0x4]
+ ldr r0, _081441AC @ =0x85000100
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ mov r0, sp
+ strh r2, [r0]
+ str r0, [r1]
+ ldr r0, _081441B0 @ =0x05000002
+ str r0, [r1, 0x4]
+ ldr r0, _081441B4 @ =0x810001ff
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ add sp, 0x8
+ bx lr
+ .align 2, 0
+_081441A4: .4byte 0x040000d4
+_081441A8: .4byte 0x8100c000
+_081441AC: .4byte 0x85000100
+_081441B0: .4byte 0x05000002
+_081441B4: .4byte 0x810001ff
+ thumb_func_end sub_8144130
+
+ thumb_func_start sub_81441B8
+sub_81441B8: @ 81441B8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _081441E4 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r6, r1, 0
+ cmp r0, 0xA
+ bhi _08144218
+ lsls r0, 2
+ ldr r1, _081441E8 @ =_081441EC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081441E4: .4byte gTasks
+_081441E8: .4byte _081441EC
+ .align 2, 0
+_081441EC:
+ .4byte _08144218
+ .4byte _08144258
+ .4byte _08144278
+ .4byte _08144358
+ .4byte _0814438C
+ .4byte _081443F8
+ .4byte _08144218
+ .4byte _08144218
+ .4byte _08144218
+ .4byte _08144218
+ .4byte _08144428
+_08144218:
+ ldr r0, _08144250 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _0814422A
+ b _08144446
+_0814422A:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0x1
+ strh r1, [r0, 0x8]
+ movs r1, 0x58
+ strh r1, [r0, 0xE]
+ movs r3, 0xA
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ strh r2, [r0, 0x24]
+ ldr r0, _08144254 @ =gUnknown_02039320
+ strh r2, [r0]
+ b _08144446
+ .align 2, 0
+_08144250: .4byte gPaletteFade
+_08144254: .4byte gUnknown_02039320
+_08144258:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r1, r0, r6
+ ldrh r2, [r1, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _08144270
+ subs r0, r2, 0x1
+ strh r0, [r1, 0xE]
+ b _08144446
+_08144270:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _08144446
+_08144278:
+ movs r2, 0x80
+ lsls r2, 19
+ ldrh r1, [r2]
+ ldr r0, _08144320 @ =0x0000feff
+ ands r0, r1
+ strh r0, [r2]
+ lsls r2, r5, 2
+ adds r0, r2, r5
+ lsls r0, 3
+ adds r3, r0, r6
+ movs r0, 0xA
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r4, r0, r6
+ ldr r1, [r4]
+ ldr r0, _08144324 @ =sub_8143B68
+ mov r8, r2
+ cmp r1, r0
+ bne _08144352
+ movs r1, 0xC
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x33
+ bgt _0814434C
+ movs r4, 0
+ ldr r7, _08144328 @ =gCreditsEntryPointerTable
+ adds r6, r3, 0
+_081442B0:
+ movs r2, 0xC
+ ldrsh r1, [r6, r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r7
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ lsls r2, r4, 25
+ movs r3, 0x90
+ lsls r3, 20
+ adds r2, r3
+ lsrs r2, 24
+ movs r1, 0
+ movs r3, 0xF0
+ bl sub_8072BD8
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x4
+ bls _081442B0
+ ldr r3, _0814432C @ =gTasks
+ mov r0, r8
+ adds r1, r0, r5
+ lsls r1, 3
+ adds r1, r3
+ ldrh r0, [r1, 0xC]
+ adds r0, 0x1
+ strh r0, [r1, 0xC]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0xA
+ ldrsh r2, [r1, r0]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r3
+ movs r2, 0x1
+ strh r2, [r0, 0x24]
+ movs r2, 0xA
+ ldrsh r1, [r1, r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r3
+ movs r3, 0x22
+ ldrsh r0, [r0, r3]
+ cmp r0, 0x1
+ bne _08144334
+ movs r0, 0xC0
+ lsls r0, 2
+ ldr r1, _08144330 @ =0x0000328d
+ b _0814433A
+ .align 2, 0
+_08144320: .4byte 0x0000feff
+_08144324: .4byte sub_8143B68
+_08144328: .4byte gCreditsEntryPointerTable
+_0814432C: .4byte gTasks
+_08144330: .4byte 0x0000328d
+_08144334:
+ movs r0, 0xC0
+ lsls r0, 2
+ ldr r1, _08144348 @ =0x00001967
+_0814433A:
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ b _08144446
+ .align 2, 0
+_08144348: .4byte 0x00001967
+_0814434C:
+ movs r0, 0xA
+ strh r0, [r3, 0x8]
+ b _08144446
+_08144352:
+ movs r0, 0
+ strh r0, [r4, 0x24]
+ b _08144446
+_08144358:
+ movs r2, 0x80
+ lsls r2, 19
+ ldrh r0, [r2]
+ movs r3, 0x80
+ lsls r3, 1
+ adds r1, r3, 0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _08144388 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08144446
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0x82
+ strh r1, [r0, 0xE]
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+ b _08144446
+ .align 2, 0
+_08144388: .4byte gPaletteFade
+_0814438C:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r6
+ ldrh r1, [r4, 0xE]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081443A4
+ subs r0, r1, 0x1
+ strh r0, [r4, 0xE]
+ b _08144446
+_081443A4:
+ ldrb r0, [r4, 0xC]
+ ldrb r1, [r4, 0xA]
+ bl sub_8144454
+ lsls r0, 24
+ cmp r0, 0
+ beq _081443BA
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08144446
+_081443BA:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ movs r3, 0xA
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0x22
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ bne _081443E0
+ movs r0, 0xC0
+ lsls r0, 2
+ ldr r1, _081443DC @ =0x0000328d
+ b _081443E6
+ .align 2, 0
+_081443DC: .4byte 0x0000328d
+_081443E0:
+ movs r0, 0xC0
+ lsls r0, 2
+ ldr r1, _081443F4 @ =0x00001967
+_081443E6:
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ b _08144446
+ .align 2, 0
+_081443F4: .4byte 0x00001967
+_081443F8:
+ ldr r0, _08144420 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08144446
+ movs r0, 0
+ movs r1, 0x9
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldr r0, _08144424 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x2
+ strh r0, [r1, 0x8]
+ b _08144446
+ .align 2, 0
+_08144420: .4byte gPaletteFade
+_08144424: .4byte gTasks
+_08144428:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r6
+ movs r2, 0xA
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0x1
+ strh r1, [r0, 0x10]
+ adds r0, r5, 0
+ bl DestroyTask
+_08144446:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81441B8
+
+ thumb_func_start sub_8144454
+sub_8144454: @ 8144454
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r6, r3, 0
+ lsls r1, 24
+ lsrs r2, r1, 24
+ adds r5, r2, 0
+ ldr r4, _08144508 @ =gTasks
+ cmp r3, 0x6
+ bne _08144474
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x2
+ strh r1, [r0, 0x1E]
+_08144474:
+ cmp r3, 0xC
+ bne _08144486
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0, 0x16]
+ strh r1, [r0, 0x1E]
+_08144486:
+ cmp r3, 0x12
+ bne _08144496
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x2
+ strh r1, [r0, 0x1E]
+_08144496:
+ cmp r3, 0x18
+ bne _081444AA
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x2
+ strh r1, [r0, 0x16]
+ movs r1, 0x1
+ strh r1, [r0, 0x1E]
+_081444AA:
+ cmp r3, 0x1E
+ bne _081444BA
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x2
+ strh r1, [r0, 0x1E]
+_081444BA:
+ cmp r3, 0x23
+ bne _081444CE
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x3
+ strh r1, [r0, 0x16]
+ movs r1, 0x1
+ strh r1, [r0, 0x1E]
+_081444CE:
+ cmp r3, 0x28
+ bne _081444DE
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x2
+ strh r1, [r0, 0x1E]
+_081444DE:
+ cmp r6, 0x2E
+ bne _081444F2
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x4
+ strh r1, [r0, 0x16]
+ movs r1, 0x1
+ strh r1, [r0, 0x1E]
+_081444F2:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x1E
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0814450C
+ movs r0, 0
+ b _0814450E
+ .align 2, 0
+_08144508: .4byte gTasks
+_0814450C:
+ movs r0, 0x1
+_0814450E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8144454
+
+ thumb_func_start sub_8144514
+sub_8144514: @ 8144514
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r6, _08144548 @ =0x0201c000
+ ldr r3, _0814454C @ =gTasks
+ lsls r0, 2
+ add r0, r8
+ lsls r0, 3
+ adds r2, r0, r3
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x1
+ beq _08144550
+ cmp r0, 0x1
+ bgt _0814453C
+ b _08144658
+_0814453C:
+ cmp r0, 0x2
+ beq _08144584
+ cmp r0, 0x3
+ bne _08144546
+ b _08144644
+_08144546:
+ b _08144658
+ .align 2, 0
+_08144548: .4byte 0x0201c000
+_0814454C: .4byte gTasks
+_08144550:
+ adds r0, r6, 0
+ adds r0, 0x8A
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0814456E
+ movs r4, 0xA
+ ldrsh r0, [r2, r4]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r3
+ movs r4, 0x24
+ ldrsh r0, [r1, r4]
+ cmp r0, 0
+ beq _08144658
+_0814456E:
+ movs r0, 0xA
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r3
+ movs r1, 0
+ strh r1, [r0, 0x24]
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ b _08144656
+_08144584:
+ adds r0, r6, 0
+ adds r0, 0x88
+ ldrh r1, [r0]
+ mov r9, r0
+ cmp r1, 0x44
+ beq _08144658
+ movs r4, 0xA
+ ldrsh r1, [r2, r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r3
+ ldr r1, [r0]
+ ldr r0, _081445EC @ =sub_8143B68
+ cmp r1, r0
+ bne _08144658
+ adds r7, r6, 0
+ adds r7, 0x8C
+ ldrh r0, [r7]
+ lsls r0, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ ldr r4, _081445F0 @ =gUnknown_0840CA00
+ adds r5, r6, 0
+ adds r5, 0x8A
+ ldrh r3, [r5]
+ lsls r2, r3, 1
+ adds r1, r2, r4
+ ldrb r1, [r1]
+ adds r4, 0x1
+ adds r2, r4
+ ldrb r2, [r2]
+ bl sub_81456B4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldrh r1, [r7]
+ adds r0, r6, 0
+ adds r0, 0x8E
+ ldrh r0, [r0]
+ subs r0, 0x1
+ cmp r1, r0
+ bge _081445F8
+ adds r0, r1, 0x1
+ strh r0, [r7]
+ ldr r1, _081445F4 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0x32
+ b _0814460A
+ .align 2, 0
+_081445EC: .4byte sub_8143B68
+_081445F0: .4byte gUnknown_0840CA00
+_081445F4: .4byte gSprites
+_081445F8:
+ movs r0, 0
+ strh r0, [r7]
+ ldr r1, _08144620 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0x80
+ lsls r1, 2
+_0814460A:
+ strh r1, [r0, 0x34]
+ mov r1, r9
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ ldrh r0, [r5]
+ cmp r0, 0x2
+ bne _08144624
+ movs r0, 0
+ b _08144626
+ .align 2, 0
+_08144620: .4byte gSprites
+_08144624:
+ adds r0, 0x1
+_08144626:
+ strh r0, [r5]
+ ldr r0, _08144640 @ =gTasks
+ mov r2, r8
+ lsls r1, r2, 2
+ add r1, r8
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x32
+ strh r0, [r1, 0xE]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _08144658
+ .align 2, 0
+_08144640: .4byte gTasks
+_08144644:
+ ldrh r1, [r2, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ beq _08144654
+ subs r0, r1, 0x1
+ strh r0, [r2, 0xE]
+ b _08144658
+_08144654:
+ movs r0, 0x1
+_08144656:
+ strh r0, [r2, 0x8]
+_08144658:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8144514
+
+ thumb_func_start sub_8144664
+sub_8144664: @ 8144664
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _0814468C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r6, r1, 0
+ cmp r0, 0x32
+ bls _08144680
+ b _0814492C
+_08144680:
+ lsls r0, 2
+ ldr r1, _08144690 @ =_08144694
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0814468C: .4byte gTasks
+_08144690: .4byte _08144694
+ .align 2, 0
+_08144694:
+ .4byte _08144760
+ .4byte _08144784
+ .4byte _081447D8
+ .4byte _081447F0
+ .4byte _0814482C
+ .4byte _08144850
+ .4byte _0814489C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _081448A8
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _081448C8
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _081448EC
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _0814492C
+ .4byte _08144920
+_08144760:
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r6
+ ldrh r0, [r4, 0x12]
+ lsls r0, 16
+ asrs r0, 17
+ movs r1, 0x7F
+ ands r0, r1
+ movs r1, 0xC
+ bl Sin
+ ldr r1, _08144780 @ =gUnknown_0203935A
+ strh r0, [r1]
+ b _081447A8
+ .align 2, 0
+_08144780: .4byte gUnknown_0203935A
+_08144784:
+ ldr r7, _081447B0 @ =gUnknown_0203935A
+ movs r3, 0
+ ldrsh r4, [r7, r3]
+ cmp r4, 0
+ beq _081447B4
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r6
+ ldrh r0, [r4, 0x12]
+ lsls r0, 16
+ asrs r0, 17
+ movs r1, 0x7F
+ ands r0, r1
+ movs r1, 0xC
+ bl Sin
+ strh r0, [r7]
+_081447A8:
+ ldrh r0, [r4, 0x12]
+ adds r0, 0x1
+ strh r0, [r4, 0x12]
+ b _0814492C
+ .align 2, 0
+_081447B0: .4byte gUnknown_0203935A
+_081447B4:
+ ldr r3, _081447D4 @ =gSprites
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r6
+ movs r0, 0xC
+ ldrsh r2, [r1, r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ movs r2, 0x2
+ strh r2, [r0, 0x2E]
+ strh r4, [r1, 0x12]
+ b _08144848
+ .align 2, 0
+_081447D4: .4byte gSprites
+_081447D8:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r1, r0, r6
+ ldrh r2, [r1, 0x12]
+ movs r3, 0x12
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x3F
+ bgt _08144848
+ adds r0, r2, 0x1
+ strh r0, [r1, 0x12]
+ b _08144866
+_081447F0:
+ ldr r3, _08144828 @ =gSprites
+ lsls r2, r5, 2
+ adds r2, r5
+ lsls r2, 3
+ adds r2, r6
+ movs r0, 0xC
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0x3
+ strh r1, [r0, 0x2E]
+ movs r0, 0xE
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0x1
+ strh r1, [r0, 0x2E]
+ movs r0, 0x78
+ strh r0, [r2, 0x10]
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ b _0814492C
+ .align 2, 0
+_08144828: .4byte gSprites
+_0814482C:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r1, r0, r6
+ ldrh r2, [r1, 0x10]
+ movs r3, 0x10
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _08144844
+ subs r0, r2, 0x1
+ strh r0, [r1, 0x10]
+ b _0814492C
+_08144844:
+ movs r0, 0x40
+ strh r0, [r1, 0x12]
+_08144848:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0814492C
+_08144850:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r6
+ ldrh r1, [r4, 0x12]
+ movs r2, 0x12
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _0814487C
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x12]
+_08144866:
+ movs r1, 0x7F
+ ands r0, r1
+ movs r1, 0x14
+ bl Sin
+ ldr r1, _08144878 @ =gUnknown_0203935A
+ strh r0, [r1]
+ b _0814492C
+ .align 2, 0
+_08144878: .4byte gUnknown_0203935A
+_0814487C:
+ ldr r2, _08144898 @ =gSprites
+ movs r3, 0xC
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x1
+ strh r1, [r0, 0x2E]
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _0814492C
+ .align 2, 0
+_08144898: .4byte gSprites
+_0814489C:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0x32
+ b _0814492A
+_081448A8:
+ ldr r3, _081448C4 @ =gSprites
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r6
+ movs r0, 0xE
+ ldrsh r2, [r1, r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ movs r2, 0x2
+ b _081448E0
+ .align 2, 0
+_081448C4: .4byte gSprites
+_081448C8:
+ ldr r3, _081448E8 @ =gSprites
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r6
+ movs r0, 0xC
+ ldrsh r2, [r1, r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ movs r2, 0x4
+_081448E0:
+ strh r2, [r0, 0x2E]
+ movs r0, 0x32
+ strh r0, [r1, 0x8]
+ b _0814492C
+ .align 2, 0
+_081448E8: .4byte gSprites
+_081448EC:
+ ldr r3, _0814491C @ =gSprites
+ lsls r2, r5, 2
+ adds r2, r5
+ lsls r2, 3
+ adds r2, r6
+ movs r0, 0xC
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0x5
+ strh r1, [r0, 0x2E]
+ movs r0, 0xE
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0x3
+ strh r1, [r0, 0x2E]
+ movs r0, 0x32
+ strh r0, [r2, 0x8]
+ b _0814492C
+ .align 2, 0
+_0814491C: .4byte gSprites
+_08144920:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0
+_0814492A:
+ strh r1, [r0, 0x8]
+_0814492C:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8144664
+
+ thumb_func_start sub_8144934
+sub_8144934: @ 8144934
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, _08144958 @ =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ movs r3, 0x8
+ ldrsh r0, [r0, r3]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bhi _08144974
+ lsls r0, 2
+ ldr r1, _0814495C @ =_08144960
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08144958: .4byte gTasks
+_0814495C: .4byte _08144960
+ .align 2, 0
+_08144960:
+ .4byte _08144974
+ .4byte _081449B8
+ .4byte _081449C4
+ .4byte _08144A0C
+ .4byte _08144A5C
+_08144974:
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r2, r0, r4
+ movs r1, 0xA
+ ldrsh r0, [r2, r1]
+ ldr r5, _081449C0 @ =0x00007fff
+ cmp r0, r5
+ beq _081449B8
+ movs r3, 0xC
+ ldrsh r1, [r2, r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r3, r0, r4
+ movs r0, 0x26
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0xC
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x2
+ bne _081449B8
+ movs r1, 0xA
+ ldrsh r0, [r3, r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r4
+ movs r0, 0x14
+ strh r0, [r1, 0x8]
+ strh r5, [r2, 0xA]
+_081449B8:
+ movs r0, 0
+ bl sub_8149020
+ b _08144A62
+ .align 2, 0
+_081449C0: .4byte 0x00007fff
+_081449C4:
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r2, r0, r4
+ movs r3, 0xA
+ ldrsh r0, [r2, r3]
+ ldr r5, _08144A08 @ =0x00007fff
+ cmp r0, r5
+ beq _08144A54
+ movs r0, 0xC
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ movs r3, 0xA
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r3, r0, r4
+ ldrh r1, [r3, 0x12]
+ movs r0, 0x80
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0xA0
+ lsls r1, 2
+ cmp r0, r1
+ bne _08144A54
+ movs r0, 0x1
+ strh r0, [r3, 0x8]
+ strh r5, [r2, 0xA]
+ b _08144A54
+ .align 2, 0
+_08144A08: .4byte 0x00007fff
+_08144A0C:
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r2, r0, r4
+ ldrh r3, [r2, 0xA]
+ movs r0, 0xA
+ ldrsh r1, [r2, r0]
+ ldr r5, _08144A48 @ =0x00007fff
+ cmp r1, r5
+ beq _08144A54
+ ldr r0, _08144A4C @ =0x000001f3
+ cmp r1, r0
+ bne _08144A50
+ movs r3, 0xC
+ ldrsh r1, [r2, r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ movs r3, 0xA
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0xA
+ strh r1, [r0, 0x8]
+ strh r5, [r2, 0xA]
+ b _08144A54
+ .align 2, 0
+_08144A48: .4byte 0x00007fff
+_08144A4C: .4byte 0x000001f3
+_08144A50:
+ adds r0, r3, 0x1
+ strh r0, [r2, 0xA]
+_08144A54:
+ movs r0, 0x1
+ bl sub_8149020
+ b _08144A62
+_08144A5C:
+ movs r0, 0x2
+ bl sub_8149020
+_08144A62:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8144934
+
+ thumb_func_start sub_8144A68
+sub_8144A68: @ 8144A68
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ cmp r0, 0x4
+ bls _08144A7E
+ b _08144DFC
+_08144A7E:
+ lsls r0, 2
+ ldr r1, _08144A88 @ =_08144A8C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08144A88: .4byte _08144A8C
+ .align 2, 0
+_08144A8C:
+ .4byte _08144AA0
+ .4byte _08144B48
+ .4byte _08144BF4
+ .4byte _08144CA0
+ .4byte _08144D50
+_08144AA0:
+ ldr r5, _08144B40 @ =gSprites
+ ldr r0, _08144B44 @ =gTasks
+ lsls r4, r7, 2
+ adds r4, r7
+ lsls r4, 3
+ adds r4, r0
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ strb r0, [r1]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r3, 0
+ movs r2, 0x88
+ lsls r2, 1
+ strh r2, [r0, 0x20]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x20]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r2, 0x2E
+ strh r2, [r0, 0x22]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x22]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r1, 0x80
+ lsls r1, 6
+ movs r0, 0
+ movs r2, 0x20
+ b _08144DF0
+ .align 2, 0
+_08144B40: .4byte gSprites
+_08144B44: .4byte gTasks
+_08144B48:
+ ldr r5, _08144BEC @ =gSprites
+ ldr r0, _08144BF0 @ =gTasks
+ lsls r4, r7, 2
+ adds r4, r7
+ lsls r4, 3
+ adds r4, r0
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ strb r0, [r1]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r3, 0
+ movs r1, 0x78
+ strh r1, [r0, 0x20]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x88
+ lsls r1, 1
+ strh r1, [r0, 0x20]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r2, 0x2E
+ strh r2, [r0, 0x22]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x22]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r1, 0x80
+ lsls r1, 6
+ movs r0, 0
+ movs r2, 0x20
+ b _08144DF0
+ .align 2, 0
+_08144BEC: .4byte gSprites
+_08144BF0: .4byte gTasks
+_08144BF4:
+ ldr r5, _08144C98 @ =gSprites
+ ldr r0, _08144C9C @ =gTasks
+ lsls r4, r7, 2
+ adds r4, r7
+ lsls r4, 3
+ adds r4, r0
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ strb r0, [r1]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r3, 0
+ movs r1, 0x78
+ strh r1, [r0, 0x20]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x88
+ lsls r1, 1
+ strh r1, [r0, 0x20]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r2, 0x2E
+ strh r2, [r0, 0x22]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x22]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r1, 0x80
+ lsls r1, 6
+ movs r2, 0x80
+ lsls r2, 2
+ movs r0, 0x1
+ b _08144DF0
+ .align 2, 0
+_08144C98: .4byte gSprites
+_08144C9C: .4byte gTasks
+_08144CA0:
+ ldr r5, _08144D44 @ =gSprites
+ ldr r0, _08144D48 @ =gTasks
+ lsls r4, r7, 2
+ adds r4, r7
+ lsls r4, 3
+ adds r4, r0
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ strb r0, [r1]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r3, 0
+ movs r1, 0x78
+ strh r1, [r0, 0x20]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _08144D4C @ =0x0000ffe0
+ strh r1, [r0, 0x20]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r2, 0x2E
+ strh r2, [r0, 0x22]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x22]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r1, 0x80
+ lsls r1, 6
+ movs r2, 0x80
+ lsls r2, 2
+ movs r0, 0x1
+ b _08144DF0
+ .align 2, 0
+_08144D44: .4byte gSprites
+_08144D48: .4byte gTasks
+_08144D4C: .4byte 0x0000ffe0
+_08144D50:
+ ldr r5, _08144EBC @ =gSprites
+ ldr r0, _08144EC0 @ =gTasks
+ lsls r4, r7, 2
+ adds r4, r7
+ lsls r4, 3
+ adds r4, r0
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ adds r1, 0x3E
+ ldrb r3, [r1]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ strb r0, [r1]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r3, 0
+ movs r1, 0x58
+ strh r1, [r0, 0x20]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x98
+ strh r1, [r0, 0x20]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r2, 0x2E
+ strh r2, [r0, 0x22]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x22]
+ movs r0, 0x12
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r0, 0x14
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r3, [r0, 0x2E]
+ movs r1, 0x80
+ lsls r1, 6
+ movs r2, 0x80
+ lsls r2, 2
+ movs r0, 0x2
+_08144DF0:
+ movs r3, 0x8
+ bl sub_8148EC0
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x8]
+_08144DFC:
+ ldr r0, _08144EC4 @ =sub_8144934
+ movs r1, 0
+ bl CreateTask
+ ldr r6, _08144EC0 @ =gTasks
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 3
+ adds r5, r1, r6
+ lsls r0, 24
+ lsrs r0, 24
+ movs r4, 0
+ strh r0, [r5, 0xC]
+ movs r0, 0xC
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ mov r1, r8
+ strh r1, [r0, 0x8]
+ movs r0, 0xC
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ strh r4, [r0, 0xA]
+ movs r0, 0xC
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ strh r7, [r0, 0xC]
+ ldr r0, _08144EC8 @ =sub_8144664
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0xA]
+ movs r0, 0xA
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ strh r4, [r0, 0x8]
+ movs r0, 0xA
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ strh r7, [r0, 0xA]
+ movs r0, 0xA
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ ldrh r1, [r5, 0x12]
+ strh r1, [r0, 0xC]
+ movs r0, 0xA
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ ldrh r1, [r5, 0x14]
+ strh r1, [r0, 0xE]
+ movs r0, 0xA
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ strh r4, [r0, 0x10]
+ mov r1, r8
+ cmp r1, 0x2
+ bne _08144EB0
+ movs r1, 0xA
+ ldrsh r0, [r5, r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r6
+ movs r0, 0x45
+ strh r0, [r1, 0x12]
+_08144EB0:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08144EBC: .4byte gSprites
+_08144EC0: .4byte gTasks
+_08144EC4: .4byte sub_8144934
+_08144EC8: .4byte sub_8144664
+ thumb_func_end sub_8144A68
+
+ thumb_func_start sub_8144ECC
+sub_8144ECC: @ 8144ECC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r0, _08144F28 @ =gMain
+ ldr r1, _08144F2C @ =0x0000043c
+ adds r6, r0, r1
+ ldrb r0, [r6]
+ cmp r0, 0x1
+ beq _08144F38
+ cmp r0, 0x1
+ ble _08144EF0
+ cmp r0, 0x2
+ beq _08144F5C
+ cmp r0, 0x3
+ bne _08144EF0
+ b _0814508C
+_08144EF0:
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0
+ strh r1, [r0]
+ ldr r2, _08144F30 @ =REG_BG3HOFS
+ movs r0, 0x8
+ strh r0, [r2]
+ ldr r0, _08144F34 @ =REG_BG3VOFS
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x3A
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ movs r0, 0x1
+ strb r0, [r6]
+ b _081450A2
+ .align 2, 0
+_08144F28: .4byte gMain
+_08144F2C: .4byte 0x0000043c
+_08144F30: .4byte REG_BG3HOFS
+_08144F34: .4byte REG_BG3VOFS
+_08144F38:
+ ldr r1, _08144F54 @ =gUnknown_02039358
+ movs r0, 0x22
+ strh r0, [r1]
+ ldr r1, _08144F58 @ =gUnknown_0203935A
+ movs r0, 0
+ strh r0, [r1]
+ adds r0, r4, 0
+ bl sub_8148CB0
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ b _081450A2
+ .align 2, 0
+_08144F54: .4byte gUnknown_02039358
+_08144F58: .4byte gUnknown_0203935A
+_08144F5C:
+ ldr r0, _08144FBC @ =gSaveBlock2
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _08144FE0
+ ldr r0, _08144FC0 @ =gIntro2BrendanSpriteSheet
+ bl LoadCompressedObjectPic
+ ldr r0, _08144FC4 @ =gUnknown_08416E34
+ bl LoadCompressedObjectPic
+ ldr r0, _08144FC8 @ =gIntro2BicycleSpriteSheet
+ bl LoadCompressedObjectPic
+ ldr r0, _08144FCC @ =gIntro2SpritePalettes
+ bl LoadSpritePalettes
+ movs r0, 0x78
+ movs r1, 0x2E
+ bl intro_create_brendan_sprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _08144FD0 @ =gTasks
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r0
+ strh r2, [r4, 0x12]
+ ldr r6, _08144FD4 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r5, r6, 0
+ adds r5, 0x1C
+ adds r2, r0, r5
+ ldr r1, _08144FD8 @ =sub_8145378
+ str r1, [r2]
+ adds r6, 0x8
+ adds r0, r6
+ ldr r1, _08144FDC @ =gUnknown_0840CA54
+ str r1, [r0]
+ movs r0, 0x88
+ lsls r0, 1
+ movs r1, 0x2E
+ bl intro_create_may_sprite
+ b _08145034
+ .align 2, 0
+_08144FBC: .4byte gSaveBlock2
+_08144FC0: .4byte gIntro2BrendanSpriteSheet
+_08144FC4: .4byte gUnknown_08416E34
+_08144FC8: .4byte gIntro2BicycleSpriteSheet
+_08144FCC: .4byte gIntro2SpritePalettes
+_08144FD0: .4byte gTasks
+_08144FD4: .4byte gSprites
+_08144FD8: .4byte sub_8145378
+_08144FDC: .4byte gUnknown_0840CA54
+_08144FE0:
+ ldr r0, _0814505C @ =gIntro2MaySpriteSheet
+ bl LoadCompressedObjectPic
+ ldr r0, _08145060 @ =gUnknown_08416E24
+ bl LoadCompressedObjectPic
+ ldr r0, _08145064 @ =gIntro2BicycleSpriteSheet
+ bl LoadCompressedObjectPic
+ ldr r0, _08145068 @ =gIntro2SpritePalettes
+ bl LoadSpritePalettes
+ movs r0, 0x78
+ movs r1, 0x2E
+ bl intro_create_may_sprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _0814506C @ =gTasks
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r0
+ strh r2, [r4, 0x12]
+ ldr r6, _08145070 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r5, r6, 0
+ adds r5, 0x1C
+ adds r2, r0, r5
+ ldr r1, _08145074 @ =sub_8145378
+ str r1, [r2]
+ adds r6, 0x8
+ adds r0, r6
+ ldr r1, _08145078 @ =gUnknown_0840CA54
+ str r1, [r0]
+ movs r0, 0x88
+ lsls r0, 1
+ movs r1, 0x2E
+ bl intro_create_brendan_sprite
+_08145034:
+ lsls r0, 24
+ lsrs r2, r0, 24
+ strh r2, [r4, 0x14]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r5, r0, r5
+ ldr r1, _0814507C @ =sub_8145420
+ str r1, [r5]
+ adds r0, r6
+ ldr r1, _08145080 @ =gUnknown_0840CA94
+ str r1, [r0]
+ ldr r1, _08145084 @ =gMain
+ ldr r0, _08145088 @ =0x0000043c
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _081450A2
+ .align 2, 0
+_0814505C: .4byte gIntro2MaySpriteSheet
+_08145060: .4byte gUnknown_08416E24
+_08145064: .4byte gIntro2BicycleSpriteSheet
+_08145068: .4byte gIntro2SpritePalettes
+_0814506C: .4byte gTasks
+_08145070: .4byte gSprites
+_08145074: .4byte sub_8145378
+_08145078: .4byte gUnknown_0840CA54
+_0814507C: .4byte sub_8145420
+_08145080: .4byte gUnknown_0840CA94
+_08145084: .4byte gMain
+_08145088: .4byte 0x0000043c
+_0814508C:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8144A68
+ adds r0, r4, 0
+ bl sub_8148E90
+ movs r0, 0
+ strb r0, [r6]
+ movs r0, 0x1
+ b _081450A4
+_081450A2:
+ movs r0, 0
+_081450A4:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8144ECC
+
+ thumb_func_start sub_81450AC
+sub_81450AC: @ 81450AC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08145120 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r1, [r4, 0x8]
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081450D2
+ lsls r0, r1, 24
+ lsrs r0, 24
+ bl DestroyTask
+ movs r0, 0
+ strh r0, [r4, 0x8]
+_081450D2:
+ ldrh r1, [r4, 0xA]
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081450E8
+ lsls r0, r1, 24
+ lsrs r0, 24
+ bl DestroyTask
+ movs r0, 0
+ strh r0, [r4, 0xA]
+_081450E8:
+ ldrh r1, [r4, 0xC]
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081450FE
+ lsls r0, r1, 24
+ lsrs r0, 24
+ bl DestroyTask
+ movs r0, 0
+ strh r0, [r4, 0xC]
+_081450FE:
+ ldrh r1, [r4, 0xE]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _08145114
+ lsls r0, r1, 24
+ lsrs r0, 24
+ bl DestroyTask
+ movs r0, 0
+ strh r0, [r4, 0xE]
+_08145114:
+ ldr r1, _08145124 @ =gUnknown_0203935C
+ movs r0, 0x1
+ strh r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08145120: .4byte gTasks
+_08145124: .4byte gUnknown_0203935C
+ thumb_func_end sub_81450AC
+
+ thumb_func_start sub_8145128
+sub_8145128: @ 8145128
+ push {r4-r7,lr}
+ adds r3, r0, 0
+ adds r4, r2, 0
+ lsls r3, 16
+ lsrs r3, 16
+ lsls r1, 16
+ lsrs r7, r1, 16
+ lsls r4, 16
+ lsrs r5, r4, 16
+ ldr r0, _081451EC @ =gCreditsCopyrightEnd_Gfx
+ movs r6, 0xC0
+ lsls r6, 19
+ adds r3, r6
+ adds r1, r3, 0
+ bl LZ77UnCompVram
+ ldr r0, _081451F0 @ =gIntroCopyright_Pal
+ adds r1, r5, 0
+ movs r2, 0x20
+ bl LoadPalette
+ lsrs r4, 20
+ lsls r4, 28
+ lsrs r4, 16
+ movs r2, 0
+ adds r1, r4, 0x1
+ ldr r3, _081451F4 @ =0x000003ff
+_0814515E:
+ lsls r0, r2, 1
+ adds r0, r7
+ adds r0, r6
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, r3
+ bls _0814515E
+ movs r2, 0
+ adds r0, r4, 0x2
+ adds r6, r4, 0
+ adds r6, 0x17
+ movs r1, 0x2B
+ adds r1, r4
+ mov r12, r1
+ adds r4, 0x42
+ ldr r5, _081451F8 @ =0x060001c8
+ adds r3, r0, 0
+_08145184:
+ lsls r0, r2, 1
+ adds r0, r7
+ adds r0, r5
+ adds r1, r2, r3
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x14
+ bls _08145184
+ movs r2, 0
+ ldr r5, _081451FC @ =0x06000248
+ adds r3, r6, 0
+_0814519E:
+ lsls r0, r2, 1
+ adds r0, r7
+ adds r0, r5
+ adds r1, r2, r3
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x13
+ bls _0814519E
+ movs r2, 0
+ ldr r5, _08145200 @ =0x060002c8
+ mov r3, r12
+_081451B8:
+ lsls r0, r2, 1
+ adds r0, r7
+ adds r0, r5
+ adds r1, r2, r3
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x16
+ bls _081451B8
+ movs r2, 0
+ ldr r3, _08145204 @ =0x06000348
+_081451D0:
+ lsls r0, r2, 1
+ adds r0, r7
+ adds r0, r3
+ adds r1, r2, r4
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0xB
+ bls _081451D0
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081451EC: .4byte gCreditsCopyrightEnd_Gfx
+_081451F0: .4byte gIntroCopyright_Pal
+_081451F4: .4byte 0x000003ff
+_081451F8: .4byte 0x060001c8
+_081451FC: .4byte 0x06000248
+_08145200: .4byte 0x060002c8
+_08145204: .4byte 0x06000348
+ thumb_func_end sub_8145128
+
+ thumb_func_start sub_8145208
+sub_8145208: @ 8145208
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ adds r3, r2, 0
+ movs r0, 0x3F
+ ands r0, r2
+ adds r1, r0, 0
+ adds r1, 0x50
+ cmp r2, 0xFF
+ bne _08145220
+ movs r0, 0x1
+ b _08145246
+_08145220:
+ movs r0, 0x80
+ ands r0, r2
+ cmp r0, 0
+ beq _08145230
+ movs r2, 0x80
+ lsls r2, 4
+ adds r0, r2, 0
+ orrs r1, r0
+_08145230:
+ movs r0, 0x40
+ ands r3, r0
+ cmp r3, 0
+ beq _08145244
+ movs r2, 0x80
+ lsls r2, 3
+ adds r0, r2, 0
+ orrs r1, r0
+ lsls r0, r1, 16
+ lsrs r1, r0, 16
+_08145244:
+ adds r0, r1, 0
+_08145246:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8145208
+
+ thumb_func_start sub_814524C
+sub_814524C: @ 814524C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ str r0, [sp]
+ ldr r0, [sp, 0x2C]
+ lsls r1, 24
+ lsrs r1, 24
+ mov r10, r1
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0x4]
+ lsls r3, 16
+ lsrs r3, 16
+ str r3, [sp, 0x8]
+ lsls r0, 16
+ lsrs r0, 20
+ lsls r0, 28
+ lsrs r0, 16
+ mov r9, r0
+ movs r5, 0
+_0814527A:
+ movs r4, 0
+ lsls r7, r5, 1
+ ldr r1, [sp, 0x4]
+ adds r0, r1, r5
+ adds r2, r5, 0x1
+ mov r8, r2
+ lsls r0, 6
+ ldr r1, [sp, 0x8]
+ adds r6, r0, r1
+_0814528C:
+ adds r0, r7, r5
+ adds r0, r4
+ ldr r2, [sp]
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ bl sub_8145208
+ mov r2, r10
+ adds r1, r2, r4
+ lsls r1, 1
+ adds r1, r6
+ movs r2, 0xC0
+ lsls r2, 19
+ adds r1, r2
+ add r0, r9
+ strh r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x2
+ bls _0814528C
+ mov r1, r8
+ lsls r0, r1, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _0814527A
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_814524C
+
+ thumb_func_start sub_81452D0
+sub_81452D0: @ 81452D0
+ push {r4-r7,lr}
+ sub sp, 0x4
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 16
+ lsrs r6, r1, 16
+ lsrs r1, 20
+ lsls r1, 28
+ lsrs r1, 16
+ movs r2, 0
+ ldr r7, _08145360 @ =gUnknown_0840B83C
+ movs r4, 0xC0
+ lsls r4, 19
+ adds r1, 0x1
+ ldr r3, _08145364 @ =0x000003ff
+_081452EE:
+ lsls r0, r2, 1
+ adds r0, r5
+ adds r0, r4
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, r3
+ bls _081452EE
+ str r6, [sp]
+ adds r0, r7, 0
+ movs r1, 0x3
+ movs r2, 0x7
+ adds r3, r5, 0
+ bl sub_814524C
+ ldr r0, _08145368 @ =gUnknown_0840B84B
+ str r6, [sp]
+ movs r1, 0x7
+ movs r2, 0x7
+ adds r3, r5, 0
+ bl sub_814524C
+ ldr r4, _0814536C @ =gUnknown_0840B85A
+ str r6, [sp]
+ adds r0, r4, 0
+ movs r1, 0xB
+ movs r2, 0x7
+ adds r3, r5, 0
+ bl sub_814524C
+ str r6, [sp]
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0x7
+ adds r3, r5, 0
+ bl sub_814524C
+ ldr r0, _08145370 @ =gUnknown_0840B869
+ str r6, [sp]
+ movs r1, 0x14
+ movs r2, 0x7
+ adds r3, r5, 0
+ bl sub_814524C
+ ldr r0, _08145374 @ =gUnknown_0840B878
+ str r6, [sp]
+ movs r1, 0x18
+ movs r2, 0x7
+ adds r3, r5, 0
+ bl sub_814524C
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08145360: .4byte gUnknown_0840B83C
+_08145364: .4byte 0x000003ff
+_08145368: .4byte gUnknown_0840B84B
+_0814536C: .4byte gUnknown_0840B85A
+_08145370: .4byte gUnknown_0840B869
+_08145374: .4byte gUnknown_0840B878
+ thumb_func_end sub_81452D0
+
+ thumb_func_start sub_8145378
+sub_8145378: @ 8145378
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _08145390 @ =gUnknown_0203935C
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _08145394
+ adds r0, r4, 0
+ bl DestroySprite
+ b _08145418
+ .align 2, 0
+_08145390: .4byte gUnknown_0203935C
+_08145394:
+ movs r2, 0x2E
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x5
+ bhi _08145418
+ lsls r0, 2
+ ldr r1, _081453A8 @ =_081453AC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081453A8: .4byte _081453AC
+ .align 2, 0
+_081453AC:
+ .4byte _081453C4
+ .4byte _081453CE
+ .4byte _081453D4
+ .4byte _081453DE
+ .4byte _081453E8
+ .4byte _081453FE
+_081453C4:
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ b _08145418
+_081453CE:
+ adds r0, r4, 0
+ movs r1, 0x1
+ b _08145402
+_081453D4:
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAnimIfDifferent
+ b _08145418
+_081453DE:
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAnimIfDifferent
+ b _08145418
+_081453E8:
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ ldrh r1, [r4, 0x20]
+ movs r2, 0x20
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x78
+ ble _08145418
+ subs r0, r1, 0x1
+ b _08145416
+_081453FE:
+ adds r0, r4, 0
+ movs r1, 0
+_08145402:
+ bl StartSpriteAnimIfDifferent
+ ldrh r2, [r4, 0x20]
+ movs r0, 0x20
+ ldrsh r1, [r4, r0]
+ movs r0, 0x20
+ negs r0, r0
+ cmp r1, r0
+ ble _08145418
+ subs r0, r2, 0x1
+_08145416:
+ strh r0, [r4, 0x20]
+_08145418:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8145378
+
+ thumb_func_start sub_8145420
+sub_8145420: @ 8145420
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _08145438 @ =gUnknown_0203935C
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0814543C
+ adds r0, r4, 0
+ bl DestroySprite
+ b _081454D8
+ .align 2, 0
+_08145438: .4byte gUnknown_0203935C
+_0814543C:
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _08145464
+ cmp r0, 0x1
+ bgt _0814544E
+ cmp r0, 0
+ beq _08145458
+ b _081454D8
+_0814544E:
+ cmp r0, 0x2
+ beq _081454A0
+ cmp r0, 0x3
+ beq _081454BE
+ b _081454D8
+_08145458:
+ strh r0, [r4, 0x26]
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ b _081454D8
+_08145464:
+ movs r1, 0x20
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xC8
+ ble _08145476
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnimIfDifferent
+ b _0814547E
+_08145476:
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAnimIfDifferent
+_0814547E:
+ ldrh r2, [r4, 0x20]
+ movs r0, 0x20
+ ldrsh r1, [r4, r0]
+ movs r0, 0x20
+ negs r0, r0
+ cmp r1, r0
+ ble _08145490
+ subs r0, r2, 0x2
+ strh r0, [r4, 0x20]
+_08145490:
+ ldr r0, _0814549C @ =gUnknown_0203935A
+ ldrh r0, [r0]
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ b _081454D8
+ .align 2, 0
+_0814549C: .4byte gUnknown_0203935A
+_081454A0:
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ strh r0, [r4, 0x3C]
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ ldrh r1, [r4, 0x3C]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _081454D8
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x1
+ b _081454D6
+_081454BE:
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ ldrh r2, [r4, 0x20]
+ movs r0, 0x20
+ ldrsh r1, [r4, r0]
+ movs r0, 0x20
+ negs r0, r0
+ cmp r1, r0
+ ble _081454D8
+ subs r0, r2, 0x1
+_081454D6:
+ strh r0, [r4, 0x20]
+_081454D8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8145420
+
+ thumb_func_start sub_81454E0
+sub_81454E0: @ 81454E0
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, _081454F8 @ =gUnknown_0203935C
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _081454FC
+ adds r0, r5, 0
+ bl DestroySprite
+ b _081456A6
+ .align 2, 0
+_081454F8: .4byte gUnknown_0203935C
+_081454FC:
+ ldrh r0, [r5, 0x3C]
+ adds r0, 0x1
+ strh r0, [r5, 0x3C]
+ movs r2, 0x2E
+ ldrsh r0, [r5, r2]
+ cmp r0, 0xA
+ bhi _08145544
+ lsls r0, 2
+ ldr r1, _08145514 @ =_08145518
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08145514: .4byte _08145518
+ .align 2, 0
+_08145518:
+ .4byte _08145544
+ .4byte _0814559E
+ .4byte _08145620
+ .4byte _08145660
+ .4byte _08145544
+ .4byte _08145544
+ .4byte _08145544
+ .4byte _08145544
+ .4byte _08145544
+ .4byte _08145544
+ .4byte _08145696
+_08145544:
+ ldrb r1, [r5, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r5, 0x1]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ movs r0, 0x1F
+ ands r1, r0
+ lsls r1, 1
+ ldrb r2, [r5, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x3]
+ movs r0, 0x10
+ strh r0, [r5, 0x32]
+ ldrh r4, [r5, 0x30]
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x80
+ lsls r0, 9
+ movs r1, 0x10
+ bl __divsi3
+ adds r1, r0, 0
+ str r1, [sp]
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ movs r0, 0x1
+ strh r0, [r5, 0x2E]
+ b _081456A6
+_0814559E:
+ ldrh r1, [r5, 0x32]
+ movs r2, 0x32
+ ldrsh r0, [r5, r2]
+ cmp r0, 0xFF
+ bgt _081455D4
+ adds r0, r1, 0
+ adds r0, 0x8
+ strh r0, [r5, 0x32]
+ ldrh r4, [r5, 0x30]
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x32
+ ldrsh r1, [r5, r0]
+ movs r0, 0x80
+ lsls r0, 9
+ bl __divsi3
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp]
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ b _081455DA
+_081455D4:
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+_081455DA:
+ movs r2, 0x30
+ ldrsh r1, [r5, r2]
+ cmp r1, 0x2
+ beq _081456A6
+ cmp r1, 0x2
+ bgt _081455EC
+ cmp r1, 0x1
+ beq _081455F2
+ b _081456A6
+_081455EC:
+ cmp r1, 0x3
+ beq _0814560A
+ b _081456A6
+_081455F2:
+ ldrh r1, [r5, 0x3C]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _08145602
+ ldrh r0, [r5, 0x22]
+ adds r0, 0x1
+ strh r0, [r5, 0x22]
+_08145602:
+ ldrh r0, [r5, 0x20]
+ subs r0, 0x2
+ strh r0, [r5, 0x20]
+ b _081456A6
+_0814560A:
+ ldrh r0, [r5, 0x3C]
+ ands r1, r0
+ cmp r1, 0
+ bne _08145618
+ ldrh r0, [r5, 0x22]
+ adds r0, 0x1
+ strh r0, [r5, 0x22]
+_08145618:
+ ldrh r0, [r5, 0x20]
+ adds r0, 0x2
+ strh r0, [r5, 0x20]
+ b _081456A6
+_08145620:
+ ldrh r1, [r5, 0x34]
+ movs r2, 0x34
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _08145630
+ subs r0, r1, 0x1
+ strh r0, [r5, 0x34]
+ b _081456A6
+_08145630:
+ ldr r1, _0814565C @ =REG_BLDCNT
+ movs r2, 0xF4
+ lsls r2, 4
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0x10
+ strh r0, [r1]
+ ldrb r1, [r5, 0x1]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r5, 0x1]
+ movs r0, 0x10
+ strh r0, [r5, 0x34]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ b _081456A6
+ .align 2, 0
+_0814565C: .4byte REG_BLDCNT
+_08145660:
+ ldrh r1, [r5, 0x34]
+ movs r2, 0x34
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _08145684
+ subs r1, 0x1
+ strh r1, [r5, 0x34]
+ ldr r3, _08145680 @ =REG_BLDALPHA
+ movs r0, 0x34
+ ldrsh r2, [r5, r0]
+ movs r0, 0x10
+ subs r0, r2
+ lsls r0, 8
+ adds r1, r0
+ strh r1, [r3]
+ b _081456A6
+ .align 2, 0
+_08145680: .4byte REG_BLDALPHA
+_08145684:
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0xA
+ strh r0, [r5, 0x2E]
+ b _081456A6
+_08145696:
+ ldr r0, _081456B0 @ =REG_BLDCNT
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, r5, 0
+ bl DestroySprite
+_081456A6:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081456B0: .4byte REG_BLDCNT
+ thumb_func_end sub_81454E0
+
+ thumb_func_start sub_81456B4
+sub_81456B4: @ 81456B4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ mov r10, r1
+ lsls r2, 16
+ lsrs r2, 16
+ str r2, [sp, 0x10]
+ lsls r3, 16
+ lsrs r3, 16
+ mov r9, r3
+ adds r0, r6, 0
+ bl NationalPokedexNumToSpecies
+ adds r6, r0, 0
+ cmp r6, 0xC9
+ beq _081456F8
+ movs r0, 0x9A
+ lsls r0, 1
+ cmp r6, r0
+ beq _081456EE
+ movs r7, 0
+ b _081456FC
+_081456EE:
+ ldr r0, _081456F4 @ =gSaveBlock2
+ ldr r7, [r0, 0x20]
+ b _081456FC
+ .align 2, 0
+_081456F4: .4byte gSaveBlock2
+_081456F8:
+ ldr r0, _081457E8 @ =gSaveBlock2
+ ldr r7, [r0, 0x1C]
+_081456FC:
+ lsls r0, r6, 3
+ ldr r1, _081457EC @ =gMonFrontPicTable
+ adds r0, r1
+ ldr r1, _081457F0 @ =gMonFrontPicCoords
+ lsls r2, r6, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r4, _081457F4 @ =gUnknown_0840B5A0
+ mov r8, r4
+ mov r5, r9
+ lsls r4, r5, 2
+ add r4, r8
+ ldr r4, [r4]
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ str r7, [sp, 0x8]
+ movs r4, 0x1
+ str r4, [sp, 0xC]
+ bl sub_800D378
+ ldr r2, _081457F8 @ =0x0000ffff
+ adds r0, r6, 0
+ movs r1, 0
+ bl species_and_otid_get_pal
+ lsls r5, 4
+ mov r8, r5
+ movs r1, 0x80
+ lsls r1, 1
+ add r1, r8
+ lsls r1, 16
+ lsrs r1, 16
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ mov r7, r9
+ lsls r6, r7, 24
+ lsrs r6, 24
+ mov r0, r9
+ adds r1, r6, 0
+ bl sub_8143648
+ ldr r0, _081457FC @ =gUnknown_02024E8C
+ mov r2, r10
+ lsls r1, r2, 16
+ asrs r1, 16
+ ldr r3, [sp, 0x10]
+ lsls r2, r3, 16
+ asrs r2, 16
+ movs r3, 0
+ bl CreateSprite
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _08145800 @ =gSprites
+ lsls r2, r4, 4
+ adds r2, r4
+ lsls r2, 2
+ adds r3, r2, r5
+ ldrb r1, [r3, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ mov r7, r8
+ orrs r0, r7
+ movs r1, 0xD
+ negs r1, r1
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3, 0x5]
+ mov r0, r9
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+ movs r0, 0x3E
+ adds r0, r3
+ mov r8, r0
+ ldrb r0, [r0]
+ orrs r0, r1
+ mov r1, r8
+ strb r0, [r1]
+ adds r0, r5, 0
+ adds r0, 0x1C
+ adds r2, r0
+ ldr r0, _08145804 @ =sub_81454E0
+ str r0, [r2]
+ ldr r0, _08145808 @ =gSpriteTemplate_840CAEC
+ movs r2, 0x20
+ ldrsh r1, [r3, r2]
+ movs r7, 0x22
+ ldrsh r2, [r3, r7]
+ movs r3, 0x1
+ bl CreateSprite
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r4, [r0, 0x2E]
+ adds r1, r6, 0
+ bl StartSpriteAnimIfDifferent
+ adds r0, r4, 0
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081457E8: .4byte gSaveBlock2
+_081457EC: .4byte gMonFrontPicTable
+_081457F0: .4byte gMonFrontPicCoords
+_081457F4: .4byte gUnknown_0840B5A0
+_081457F8: .4byte 0x0000ffff
+_081457FC: .4byte gUnknown_02024E8C
+_08145800: .4byte gSprites
+_08145804: .4byte sub_81454E0
+_08145808: .4byte gSpriteTemplate_840CAEC
+ thumb_func_end sub_81456B4
+
+ thumb_func_start sub_814580C
+sub_814580C: @ 814580C
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r4, _08145838 @ =gSprites
+ movs r1, 0x2E
+ ldrsh r0, [r3, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ movs r2, 0x2E
+ ldrsh r0, [r1, r2]
+ cmp r0, 0xA
+ beq _08145830
+ ldr r0, _0814583C @ =gUnknown_0203935C
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ beq _08145840
+_08145830:
+ adds r0, r3, 0
+ bl DestroySprite
+ b _081458D4
+ .align 2, 0
+_08145838: .4byte gSprites
+_0814583C: .4byte gUnknown_0203935C
+_08145840:
+ adds r0, r1, 0
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ movs r1, 0x3E
+ adds r1, r3
+ mov r12, r1
+ movs r1, 0x4
+ ands r1, r0
+ mov r0, r12
+ ldrb r2, [r0]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ mov r1, r12
+ strb r0, [r1]
+ movs r2, 0x2E
+ ldrsh r1, [r3, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0, 0x1]
+ movs r0, 0xC
+ ands r0, r1
+ ldrb r2, [r3, 0x1]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x1]
+ movs r0, 0x2E
+ ldrsh r2, [r3, r0]
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r4
+ ldrb r0, [r0, 0x1]
+ lsls r0, 30
+ lsrs r0, 30
+ movs r2, 0x4
+ negs r2, r2
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x1]
+ movs r2, 0x2E
+ ldrsh r1, [r3, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrb r0, [r0, 0x3]
+ movs r1, 0x3E
+ ands r1, r0
+ ldrb r2, [r3, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, 0x3]
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r0, [r0, 0x20]
+ strh r0, [r3, 0x20]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r0, [r0, 0x22]
+ strh r0, [r3, 0x22]
+_081458D4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_814580C
+
+ thumb_func_start sub_81458DC
+sub_81458DC: @ 81458DC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ ldr r7, _0814597C @ =0x0201c000
+ ldr r0, _08145980 @ =0x00004023
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ bl GetStarterPokemon
+ lsls r0, 16
+ lsrs r0, 16
+ bl SpeciesToNationalPokedexNum
+ lsls r0, 16
+ lsrs r0, 16
+ mov r10, r0
+ movs r4, 0x1
+ movs r5, 0
+ ldr r0, _08145984 @ =0x00000181
+ mov r8, r0
+_0814590E:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8090D90
+ lsls r0, 24
+ adds r6, r7, 0
+ adds r6, 0x90
+ cmp r0, 0
+ beq _0814592C
+ lsls r0, r5, 1
+ adds r0, r6, r0
+ strh r4, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+_0814592C:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, r8
+ bls _0814590E
+ adds r4, r5, 0
+ ldr r0, _08145984 @ =0x00000181
+ lsls r1, r4, 16
+ mov r9, r1
+ movs r2, 0x8E
+ adds r2, r7
+ mov r8, r2
+ adds r1, r7, 0
+ adds r1, 0x86
+ str r1, [sp]
+ cmp r4, r0
+ bhi _08145964
+ adds r1, r6, 0
+ movs r3, 0
+ adds r2, r0, 0
+_08145954:
+ lsls r0, r4, 1
+ adds r0, r1, r0
+ strh r3, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, r2
+ bls _08145954
+_08145964:
+ movs r2, 0xE5
+ lsls r2, 2
+ adds r0, r7, r2
+ strh r5, [r0]
+ mov r1, r9
+ lsrs r0, r1, 16
+ cmp r0, 0x43
+ bhi _08145988
+ mov r2, r8
+ strh r5, [r2]
+ b _0814598E
+ .align 2, 0
+_0814597C: .4byte 0x0201c000
+_08145980: .4byte 0x00004023
+_08145984: .4byte 0x00000181
+_08145988:
+ movs r0, 0x44
+ mov r1, r8
+ strh r0, [r1]
+_0814598E:
+ movs r5, 0
+ movs r2, 0xE5
+ lsls r2, 2
+ adds r4, r7, r2
+ mov r9, r5
+ b _0814599E
+_0814599A:
+ cmp r5, 0x43
+ bhi _081459EE
+_0814599E:
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r1, [r4]
+ bl __umodsi3
+ lsls r0, 16
+ lsrs r2, r0, 16
+ lsls r1, r5, 1
+ adds r1, r7, r1
+ lsls r0, r2, 1
+ adds r3, r6, r0
+ ldrh r0, [r3]
+ strh r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ mov r0, r9
+ strh r0, [r3]
+ ldrh r0, [r4]
+ subs r0, 0x1
+ strh r0, [r4]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r2, r0
+ beq _081459E8
+ ldrh r0, [r4]
+ lsls r0, 1
+ adds r0, r6, r0
+ ldrh r0, [r0]
+ strh r0, [r3]
+ ldrh r0, [r4]
+ lsls r0, 1
+ adds r0, r6, r0
+ mov r1, r9
+ strh r1, [r0]
+_081459E8:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _0814599A
+_081459EE:
+ mov r2, r8
+ ldrh r0, [r2]
+ cmp r0, 0x43
+ bhi _08145A26
+ adds r5, r0, 0
+ movs r2, 0
+ cmp r5, 0x43
+ bhi _08145A5C
+ mov r3, r8
+_08145A00:
+ lsls r1, r5, 1
+ adds r1, r7, r1
+ lsls r0, r2, 1
+ adds r0, r7, r0
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ ldrh r0, [r3]
+ cmp r2, r0
+ bne _08145A1A
+ movs r2, 0
+_08145A1A:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x43
+ bls _08145A00
+ b _08145A5C
+_08145A26:
+ movs r4, 0
+ ldrh r0, [r7]
+ cmp r0, r10
+ beq _08145A42
+_08145A2E:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ lsls r0, r4, 1
+ adds r0, r7, r0
+ ldrh r0, [r0]
+ cmp r0, r10
+ beq _08145A42
+ cmp r4, 0x43
+ bls _08145A2E
+_08145A42:
+ mov r1, r8
+ ldrh r0, [r1]
+ subs r0, 0x1
+ cmp r4, r0
+ bge _08145A5C
+ lsls r0, r4, 1
+ adds r0, r7, r0
+ ldr r2, [sp]
+ ldrh r1, [r2]
+ strh r1, [r0]
+ mov r0, r10
+ strh r0, [r2]
+ b _08145A62
+_08145A5C:
+ mov r2, r10
+ ldr r1, [sp]
+ strh r2, [r1]
+_08145A62:
+ movs r0, 0x44
+ mov r1, r8
+ strh r0, [r1]
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81458DC
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s
index c853d8c50..47c4b4c60 100644
--- a/asm/field_ground_effect.s
+++ b/asm/field_ground_effect.s
@@ -6,594 +6,6 @@
.text
- thumb_func_start GetAllGroundEffectFlags_OnSpawn
-GetAllGroundEffectFlags_OnSpawn: @ 80635F0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnSpawn
-
- thumb_func_start GetAllGroundEffectFlags_OnBeginStep
-GetAllGroundEffectFlags_OnBeginStep: @ 8063638
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Tracks
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnBeginStep
-
- thumb_func_start GetAllGroundEffectFlags_OnFinishStep
-GetAllGroundEffectFlags_OnFinishStep: @ 8063690
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Ripple
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Seaweed
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_JumpLanding
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnFinishStep
-
- thumb_func_start FieldObjectUpdateMetatileBehaviors
-FieldObjectUpdateMetatileBehaviors: @ 80636E0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1F]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateMetatileBehaviors
-
- thumb_func_start GetGroundEffectFlags_Reflection
-GetGroundEffectFlags_Reflection: @ 8063708
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _0806374C @ =gUnknown_08376008
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- adds r0, r4, 0
- bl FieldObjectCheckForReflectiveSurface
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08063750
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 30
- cmp r0, 0
- blt _0806375A
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x2]
- subs r0, r2, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r5]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r5]
- b _0806375A
- .align 2, 0
-_0806374C: .4byte gUnknown_08376008
-_08063750:
- ldrb r1, [r4, 0x2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_0806375A:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Reflection
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn
-GetGroundEffectFlags_TallGrassOnSpawn: @ 8063764
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _0806377C
- ldr r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- str r0, [r4]
-_0806377C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep
-GetGroundEffectFlags_TallGrassOnBeginStep: @ 8063784
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _0806379C
- ldr r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- str r0, [r4]
-_0806379C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn
-GetGroundEffectFlags_LongGrassOnSpawn: @ 80637A4
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080637BC
- ldr r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- str r0, [r4]
-_080637BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep
-GetGroundEffectFlags_LongGrassOnBeginStep: @ 80637C4
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080637DC
- ldr r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- str r0, [r4]
-_080637DC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_Tracks
-GetGroundEffectFlags_Tracks: @ 80637E4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _080637FE
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 1
- b _0806381A
-_080637FE:
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsSandOrDeepSand
- lsls r0, 24
- cmp r0, 0
- bne _08063816
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsUnusedFootprintMetatile
- lsls r0, 24
- cmp r0, 0
- beq _0806381E
-_08063816:
- ldr r0, [r5]
- movs r1, 0x80
-_0806381A:
- orrs r0, r1
- str r0, [r5]
-_0806381E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Tracks
-
- thumb_func_start GetGroundEffectFlags_SandHeap
-GetGroundEffectFlags_SandHeap: @ 8063824
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _08063862
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _08063862
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 27
- cmp r0, 0
- blt _0806386C
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 4
- orrs r0, r1
- str r0, [r5]
- b _0806386C
-_08063862:
- ldrb r1, [r4, 0x2]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_0806386C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_SandHeap
-
- thumb_func_start GetGroundEffectFlags_ShallowFlowingWater
-GetGroundEffectFlags_ShallowFlowingWater: @ 8063874
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsShallowFlowingWater
- lsls r0, 24
- cmp r0, 0
- beq _08063892
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsShallowFlowingWater
- lsls r0, 24
- cmp r0, 0
- bne _080638AA
-_08063892:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _080638C8
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _080638C8
-_080638AA:
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 28
- cmp r0, 0
- blt _080638D2
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x40
- orrs r0, r1
- str r0, [r5]
- b _080638D2
-_080638C8:
- ldrb r1, [r4, 0x2]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080638D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShallowFlowingWater
-
- thumb_func_start GetGroundEffectFlags_Puddle
-GetGroundEffectFlags_Puddle: @ 80638D8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08063900
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08063900
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- str r0, [r5]
-_08063900:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Puddle
-
- thumb_func_start GetGroundEffectFlags_Ripple
-GetGroundEffectFlags_Ripple: @ 8063908
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_HasRipples
- lsls r0, 24
- cmp r0, 0
- beq _08063922
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r4]
-_08063922:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Ripple
-
- thumb_func_start GetGroundEffectFlags_ShortGrass
-GetGroundEffectFlags_ShortGrass: @ 8063928
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsShortGrass
- lsls r0, 24
- cmp r0, 0
- beq _08063966
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsShortGrass
- lsls r0, 24
- cmp r0, 0
- beq _08063966
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 29
- cmp r0, 0
- blt _08063970
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 10
- orrs r0, r1
- str r0, [r5]
- b _08063970
-_08063966:
- ldrb r1, [r4, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08063970:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShortGrass
-
- thumb_func_start GetGroundEffectFlags_HotSprings
-GetGroundEffectFlags_HotSprings: @ 8063978
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _080639B6
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _080639B6
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 26
- cmp r0, 0
- blt _080639C0
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r5]
- b _080639C0
-_080639B6:
- ldrb r1, [r4, 0x2]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080639C0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_HotSprings
-
- thumb_func_start GetGroundEffectFlags_Seaweed
-GetGroundEffectFlags_Seaweed: @ 80639C8
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsSeaweed
- lsls r0, 24
- cmp r0, 0
- beq _080639E2
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r4]
-_080639E2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Seaweed
-
- thumb_func_start GetGroundEffectFlags_JumpLanding
-GetGroundEffectFlags_JumpLanding: @ 80639E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r0, [r7]
- ldr r1, _08063A24 @ =0x02000020
- ands r0, r1
- cmp r0, 0x20
- bne _08063A3A @ Is player landing after jumping?
- movs r5, 0
- ldr r0, _08063A28 @ =gJumpLanding_MetatileFunctionPointers
- mov r8, r0
-_08063A02:
- lsls r4, r5, 2
- mov r0, r8
- adds r1, r4, r0
- ldrb r0, [r7, 0x1E] @ Load metatile behavior
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _08063A30
- ldr r0, _08063A2C @ =gJumpLanding_Bitmasks
- adds r0, r4, r0
- ldr r1, [r6]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r6]
- b _08063A3A
- .align 2, 0
-_08063A24: .4byte 0x02000020
-_08063A28: .4byte gJumpLanding_MetatileFunctionPointers
-_08063A2C: .4byte gJumpLanding_Bitmasks
-_08063A30:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08063A02
-_08063A3A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_JumpLanding
-
thumb_func_start FieldObjectCheckForReflectiveSurface
FieldObjectCheckForReflectiveSurface: @ 8063A44
push {r4-r7,lr}
diff --git a/asm/field_region_map.s b/asm/field_region_map.s
new file mode 100644
index 000000000..37c97c3ec
--- /dev/null
+++ b/asm/field_region_map.s
@@ -0,0 +1,274 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start FieldInitRegionMap
+FieldInitRegionMap: @ 813EEB4
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ bl SetVBlankCallback
+ ldr r2, _0813EED8 @ =0x02000000
+ ldr r0, _0813EEDC @ =0x00000888
+ adds r1, r2, r0
+ movs r0, 0
+ strh r0, [r1]
+ str r4, [r2]
+ ldr r0, _0813EEE0 @ =CB2_FieldInitRegionMap
+ bl SetMainCallback2
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EED8: .4byte 0x02000000
+_0813EEDC: .4byte 0x00000888
+_0813EEE0: .4byte CB2_FieldInitRegionMap
+ thumb_func_end FieldInitRegionMap
+
+ thumb_func_start CB2_FieldInitRegionMap
+CB2_FieldInitRegionMap: @ 813EEE4
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x10
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ ldr r0, _0813EF98 @ =0x02000008
+ movs r1, 0
+ bl sub_80FA8EC
+ movs r0, 0
+ movs r1, 0
+ bl sub_80FBCF0
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80FBB3C
+ ldr r4, _0813EF9C @ =gWindowConfig_81E709C
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ adds r0, r4, 0
+ bl InitMenuWindow
+ bl MenuZeroFillScreen
+ ldr r1, _0813EFA0 @ =REG_BG0CNT
+ movs r2, 0xF8
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0x15
+ movs r1, 0
+ movs r2, 0x1D
+ movs r3, 0x3
+ bl MenuDrawTextWindow
+ ldr r0, _0813EFA4 @ =gOtherText_Hoenn
+ movs r1, 0x16
+ movs r2, 0x1
+ movs r3, 0x38
+ bl sub_8072BD8
+ movs r0, 0x10
+ movs r1, 0x10
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ bl sub_813F0C8
+ ldr r0, _0813EFA8 @ =CB2_FieldRegionMap
+ bl SetMainCallback2
+ ldr r0, _0813EFAC @ =VBlankCB_FieldRegionMap
+ bl SetVBlankCallback
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EF98: .4byte 0x02000008
+_0813EF9C: .4byte gWindowConfig_81E709C
+_0813EFA0: .4byte REG_BG0CNT
+_0813EFA4: .4byte gOtherText_Hoenn
+_0813EFA8: .4byte CB2_FieldRegionMap
+_0813EFAC: .4byte VBlankCB_FieldRegionMap
+ thumb_func_end CB2_FieldInitRegionMap
+
+ thumb_func_start VBlankCB_FieldRegionMap
+VBlankCB_FieldRegionMap: @ 813EFB0
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end VBlankCB_FieldRegionMap
+
+ thumb_func_start CB2_FieldRegionMap
+CB2_FieldRegionMap: @ 813EFC4
+ push {lr}
+ bl sub_813EFDC
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end CB2_FieldRegionMap
+
+ thumb_func_start sub_813EFDC
+sub_813EFDC: @ 813EFDC
+ push {lr}
+ sub sp, 0x4
+ ldr r1, _0813EFF8 @ =0x02000000
+ ldr r2, _0813EFFC @ =0x00000888
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x4
+ bhi _0813F0B8
+ lsls r0, 2
+ ldr r1, _0813F000 @ =_0813F004
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813EFF8: .4byte 0x02000000
+_0813EFFC: .4byte 0x00000888
+_0813F000: .4byte _0813F004
+ .align 2, 0
+_0813F004:
+ .4byte _0813F018
+ .4byte _0813F030
+ .4byte _0813F04C
+ .4byte _0813F078
+ .4byte _0813F0A0
+_0813F018:
+ movs r1, 0x80
+ lsls r1, 19
+ ldr r3, _0813F028 @ =0x00001541
+ adds r0, r3, 0
+ strh r0, [r1]
+ ldr r0, _0813F02C @ =0x00000888
+ adds r1, r2, r0
+ b _0813F08E
+ .align 2, 0
+_0813F028: .4byte 0x00001541
+_0813F02C: .4byte 0x00000888
+_0813F030:
+ ldr r0, _0813F044 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0813F0B8
+ ldr r3, _0813F048 @ =0x00000888
+ adds r1, r2, r3
+ b _0813F08E
+ .align 2, 0
+_0813F044: .4byte gPaletteFade
+_0813F048: .4byte 0x00000888
+_0813F04C:
+ bl sub_80FAB60
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bne _0813F05E
+ bl sub_813F0C8
+ b _0813F0B8
+_0813F05E:
+ cmp r0, 0x3
+ blt _0813F0B8
+ cmp r0, 0x5
+ bgt _0813F0B8
+ ldr r1, _0813F070 @ =0x02000000
+ ldr r0, _0813F074 @ =0x00000888
+ adds r1, r0
+ b _0813F08E
+ .align 2, 0
+_0813F070: .4byte 0x02000000
+_0813F074: .4byte 0x00000888
+_0813F078:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _0813F098 @ =0x02000000
+ ldr r2, _0813F09C @ =0x00000888
+ adds r1, r2
+_0813F08E:
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _0813F0B8
+ .align 2, 0
+_0813F098: .4byte 0x02000000
+_0813F09C: .4byte 0x00000888
+_0813F0A0:
+ ldr r0, _0813F0C0 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0813F0B8
+ bl sub_80FAB10
+ ldr r0, _0813F0C4 @ =0x02000000
+ ldr r0, [r0]
+ bl SetMainCallback2
+_0813F0B8:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F0C0: .4byte gPaletteFade
+_0813F0C4: .4byte 0x02000000
+ thumb_func_end sub_813EFDC
+
+ thumb_func_start sub_813F0C8
+sub_813F0C8: @ 813F0C8
+ push {lr}
+ movs r0, 0x11
+ movs r1, 0x11
+ movs r2, 0x1C
+ movs r3, 0x12
+ bl MenuFillWindowRectWithBlankTile
+ ldr r1, _0813F0F0 @ =0x02000000
+ ldrb r0, [r1, 0x1E]
+ cmp r0, 0
+ beq _0813F0EA
+ adds r0, r1, 0
+ adds r0, 0x8
+ movs r1, 0x11
+ movs r2, 0x11
+ bl MenuPrint
+_0813F0EA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813F0F0: .4byte 0x02000000
+ thumb_func_end sub_813F0C8
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
new file mode 100644
index 000000000..530e8034f
--- /dev/null
+++ b/asm/fldeff_cut.s
@@ -0,0 +1,797 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start SetUpFieldMove_Cut
+SetUpFieldMove_Cut: @ 80A2504
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r0, 0x52
+ bl npc_before_player_of_type
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A2534
+ ldr r1, _080A2524 @ =gUnknown_0300485C
+ ldr r0, _080A2528 @ =sub_808AB90
+ str r0, [r1]
+ ldr r1, _080A252C @ =gUnknown_03005CE4
+ ldr r0, _080A2530 @ =sub_80A2634
+ b _080A25A8
+ .align 2, 0
+_080A2524: .4byte gUnknown_0300485C
+_080A2528: .4byte sub_808AB90
+_080A252C: .4byte gUnknown_03005CE4
+_080A2530: .4byte sub_80A2634
+_080A2534:
+ ldr r4, _080A25B0 @ =gUnknown_0203923C
+ adds r1, r4, 0x2
+ adds r0, r4, 0
+ bl PlayerGetDestCoords
+ movs r7, 0
+ mov r8, r4
+_080A2542:
+ ldr r1, _080A25B4 @ =0x0000ffff
+ adds r0, r7, r1
+ mov r2, r8
+ ldrh r2, [r2, 0x2]
+ adds r0, r2
+ movs r6, 0
+ lsls r0, 16
+ asrs r5, r0, 16
+_080A2552:
+ ldr r1, _080A25B4 @ =0x0000ffff
+ adds r0, r6, r1
+ mov r2, r8
+ ldrh r2, [r2]
+ adds r0, r2
+ lsls r0, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r0, 24
+ mov r2, r8
+ movs r1, 0x4
+ ldrsb r1, [r2, r1]
+ cmp r0, r1
+ bne _080A25C8
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_8056E14
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A259E
+ adds r0, r4, 0
+ bl MetatileBehavior_IsAsh
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A25C8
+_080A259E:
+ ldr r1, _080A25B8 @ =gUnknown_0300485C
+ ldr r0, _080A25BC @ =sub_808AB90
+ str r0, [r1]
+ ldr r1, _080A25C0 @ =gUnknown_03005CE4
+ ldr r0, _080A25C4 @ =sub_80A25E8
+_080A25A8:
+ str r0, [r1]
+ movs r0, 0x1
+ b _080A25DE
+ .align 2, 0
+_080A25B0: .4byte gUnknown_0203923C
+_080A25B4: .4byte 0x0000ffff
+_080A25B8: .4byte gUnknown_0300485C
+_080A25BC: .4byte sub_808AB90
+_080A25C0: .4byte gUnknown_03005CE4
+_080A25C4: .4byte sub_80A25E8
+_080A25C8:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x2
+ bls _080A2552
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x2
+ bls _080A2542
+ movs r0, 0
+_080A25DE:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end SetUpFieldMove_Cut
+
+ thumb_func_start sub_80A25E8
+sub_80A25E8: @ 80A25E8
+ push {lr}
+ movs r0, 0x1
+ bl FieldEffectStart
+ ldr r0, _080A25FC @ =gUnknown_0202FF84
+ ldr r1, _080A2600 @ =gUnknown_03005CE0
+ ldrb r1, [r1]
+ str r1, [r0]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A25FC: .4byte gUnknown_0202FF84
+_080A2600: .4byte gUnknown_03005CE0
+ thumb_func_end sub_80A25E8
+
+ thumb_func_start FldEff_UseCutOnGrass
+FldEff_UseCutOnGrass: @ 80A2604
+ push {lr}
+ bl oei_task_add
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A262C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r2, _080A2630 @ =sub_80A2684
+ lsrs r0, r2, 16
+ strh r0, [r1, 0x18]
+ strh r2, [r1, 0x1A]
+ movs r0, 0x12
+ bl sav12_xor_increment
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A262C: .4byte gTasks
+_080A2630: .4byte sub_80A2684
+ thumb_func_end FldEff_UseCutOnGrass
+
+ thumb_func_start sub_80A2634
+sub_80A2634: @ 80A2634
+ push {lr}
+ ldr r1, _080A2648 @ =gUnknown_0202FF84
+ ldr r0, _080A264C @ =gUnknown_03005CE0
+ ldrb r0, [r0]
+ str r0, [r1]
+ ldr r0, _080A2650 @ =UseCutScript
+ bl ScriptContext1_SetupScript
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2648: .4byte gUnknown_0202FF84
+_080A264C: .4byte gUnknown_03005CE0
+_080A2650: .4byte UseCutScript
+ thumb_func_end sub_80A2634
+
+ thumb_func_start FldEff_UseCutOnTree
+FldEff_UseCutOnTree: @ 80A2654
+ push {lr}
+ bl oei_task_add
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A267C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r2, _080A2680 @ =sub_80A2B00
+ lsrs r0, r2, 16
+ strh r0, [r1, 0x18]
+ strh r2, [r1, 0x1A]
+ movs r0, 0x12
+ bl sav12_xor_increment
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A267C: .4byte gTasks
+_080A2680: .4byte sub_80A2B00
+ thumb_func_end FldEff_UseCutOnTree
+
+ thumb_func_start sub_80A2684
+sub_80A2684: @ 80A2684
+ push {lr}
+ movs r0, 0x1
+ bl FieldEffectActiveListRemove
+ movs r0, 0x3A
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A2684
+
+ thumb_func_start FldEff_CutGrass
+FldEff_CutGrass: @ 80A2698
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r7, 0
+ movs r0, 0x80
+ bl PlaySE
+ ldr r4, _080A2790 @ =gUnknown_0203923C
+ adds r1, r4, 0x2
+ adds r0, r4, 0
+ bl PlayerGetDestCoords
+ mov r8, r4
+_080A26B2:
+ ldr r1, _080A2794 @ =0x0000ffff
+ adds r0, r7, r1
+ mov r2, r8
+ ldrh r2, [r2, 0x2]
+ adds r0, r2
+ movs r6, 0
+ lsls r0, 16
+ asrs r5, r0, 16
+_080A26C2:
+ ldr r1, _080A2794 @ =0x0000ffff
+ adds r0, r6, r1
+ mov r2, r8
+ ldrh r2, [r2]
+ adds r0, r2
+ lsls r0, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r0, 24
+ mov r2, r8
+ movs r1, 0x4
+ ldrsb r1, [r2, r1]
+ cmp r0, r1
+ bne _080A270E
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80578F8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080A270E
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80A27A8
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_805BCC0
+_080A270E:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x2
+ bls _080A26C2
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x2
+ bls _080A26B2
+ ldr r1, _080A2790 @ =gUnknown_0203923C
+ ldrh r0, [r1]
+ subs r0, 0x1
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r1, 0x2]
+ subs r1, 0x2
+ lsls r1, 16
+ asrs r1, 16
+ bl sub_80A28F4
+ bl DrawWholeMapView
+ movs r7, 0
+ ldr r4, _080A2798 @ =gSprites
+_080A2740:
+ ldr r0, _080A279C @ =gPlayerAvatar
+ ldrb r1, [r0, 0x4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x2]
+ lsls r1, 23
+ lsrs r1, 7
+ movs r2, 0x80
+ lsls r2, 12
+ adds r1, r2
+ asrs r1, 16
+ ldrb r2, [r0]
+ adds r2, 0x14
+ ldr r0, _080A27A0 @ =gSpriteTemplate_CutGrass
+ movs r3, 0
+ bl CreateSprite
+ ldr r1, _080A27A4 @ =0x0201fff0
+ adds r1, r7, r1
+ strb r0, [r1]
+ ldrb r1, [r1]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ lsls r1, r7, 5
+ strh r1, [r0, 0x32]
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x7
+ bls _080A2740
+ movs r0, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A2790: .4byte gUnknown_0203923C
+_080A2794: .4byte 0x0000ffff
+_080A2798: .4byte gSprites
+_080A279C: .4byte gPlayerAvatar
+_080A27A0: .4byte gSpriteTemplate_CutGrass
+_080A27A4: .4byte 0x0201fff0
+ thumb_func_end FldEff_CutGrass
+
+ thumb_func_start sub_80A27A8
+sub_80A27A8: @ 80A27A8
+ push {r4-r7,lr}
+ lsls r0, 16
+ lsls r1, 16
+ lsrs r6, r0, 16
+ asrs r4, r0, 16
+ lsrs r7, r1, 16
+ asrs r5, r1, 16
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetMetatileIdAt
+ adds r1, r0, 0
+ ldr r0, _080A27E0 @ =0x00000207
+ cmp r1, r0
+ bgt _080A27F4
+ subs r0, 0x1
+ cmp r1, r0
+ bge _080A286C
+ cmp r1, 0x25
+ beq _080A288E
+ cmp r1, 0x25
+ bgt _080A27E4
+ cmp r1, 0xD
+ beq _080A2834
+ cmp r1, 0x15
+ beq _080A2834
+ b _080A2898
+ .align 2, 0
+_080A27E0: .4byte 0x00000207
+_080A27E4:
+ movs r0, 0xE3
+ lsls r0, 1
+ cmp r1, r0
+ beq _080A2844
+ adds r0, 0x1
+ cmp r1, r0
+ beq _080A284A
+ b _080A2898
+_080A27F4:
+ ldr r0, _080A280C @ =0x00000212
+ cmp r1, r0
+ beq _080A287C
+ cmp r1, r0
+ bgt _080A2810
+ subs r0, 0xA
+ cmp r1, r0
+ beq _080A2834
+ adds r0, 0x2
+ cmp r1, r0
+ beq _080A287C
+ b _080A2898
+ .align 2, 0
+_080A280C: .4byte 0x00000212
+_080A2810:
+ ldr r0, _080A2824 @ =0x00000282
+ cmp r1, r0
+ beq _080A285C
+ cmp r1, r0
+ bgt _080A2828
+ subs r0, 0x1
+ cmp r1, r0
+ beq _080A2854
+ b _080A2898
+ .align 2, 0
+_080A2824: .4byte 0x00000282
+_080A2828:
+ ldr r0, _080A2830 @ =0x00000283
+ cmp r1, r0
+ beq _080A2864
+ b _080A2898
+ .align 2, 0
+_080A2830: .4byte 0x00000283
+_080A2834:
+ lsls r0, r6, 16
+ asrs r0, 16
+ lsls r1, r7, 16
+ asrs r1, 16
+ movs r2, 0x1
+ bl MapGridSetMetatileIdAt
+ b _080A2898
+_080A2844:
+ movs r2, 0xE7
+ lsls r2, 1
+ b _080A286E
+_080A284A:
+ ldr r2, _080A2850 @ =0x000001cf
+ b _080A286E
+ .align 2, 0
+_080A2850: .4byte 0x000001cf
+_080A2854:
+ ldr r2, _080A2858 @ =0x00000279
+ b _080A286E
+ .align 2, 0
+_080A2858: .4byte 0x00000279
+_080A285C:
+ ldr r2, _080A2860 @ =0x0000027a
+ b _080A286E
+ .align 2, 0
+_080A2860: .4byte 0x0000027a
+_080A2864:
+ ldr r2, _080A2868 @ =0x0000027b
+ b _080A286E
+ .align 2, 0
+_080A2868: .4byte 0x0000027b
+_080A286C:
+ ldr r2, _080A2878 @ =0x00000271
+_080A286E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+ b _080A2898
+ .align 2, 0
+_080A2878: .4byte 0x00000271
+_080A287C:
+ lsls r0, r6, 16
+ asrs r0, 16
+ lsls r1, r7, 16
+ asrs r1, 16
+ movs r2, 0x86
+ lsls r2, 2
+ bl MapGridSetMetatileIdAt
+ b _080A2898
+_080A288E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xE
+ bl MapGridSetMetatileIdAt
+_080A2898:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A27A8
+
+ thumb_func_start sub_80A28A0
+sub_80A28A0: @ 80A28A0
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileIdAt
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r2, r1, 0
+ cmp r1, 0x1
+ bne _080A28BC
+ movs r0, 0x1
+ b _080A28EE
+_080A28BC:
+ ldr r0, _080A28C8 @ =0x00000279
+ cmp r1, r0
+ bne _080A28CC
+ movs r0, 0x2
+ b _080A28EE
+ .align 2, 0
+_080A28C8: .4byte 0x00000279
+_080A28CC:
+ ldr r0, _080A28D8 @ =0x0000027a
+ cmp r1, r0
+ bne _080A28DC
+ movs r0, 0x3
+ b _080A28EE
+ .align 2, 0
+_080A28D8: .4byte 0x0000027a
+_080A28DC:
+ ldr r0, _080A28E8 @ =0x0000027b
+ cmp r2, r0
+ beq _080A28EC
+ movs r0, 0
+ b _080A28EE
+ .align 2, 0
+_080A28E8: .4byte 0x0000027b
+_080A28EC:
+ movs r0, 0x4
+_080A28EE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A28A0
+
+ thumb_func_start sub_80A28F4
+sub_80A28F4: @ 80A28F4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 16
+ lsrs r0, 16
+ mov r10, r0
+ lsls r1, 16
+ movs r2, 0xC0
+ lsls r2, 10
+ adds r0, r1, r2
+ lsrs r0, 16
+ mov r9, r0
+ movs r4, 0
+ asrs r7, r1, 16
+_080A2914:
+ mov r1, r10
+ lsls r0, r1, 16
+ asrs r0, 16
+ lsls r4, 16
+ asrs r1, r4, 16
+ adds r0, r1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ asrs r5, r0, 16
+ adds r0, r5, 0
+ adds r1, r7, 0
+ bl MapGridGetMetatileIdAt
+ mov r8, r4
+ cmp r0, 0x15
+ bne _080A2996
+ adds r4, r7, 0x1
+ lsls r1, r4, 16
+ asrs r1, 16
+ adds r0, r5, 0
+ bl sub_80A28A0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ beq _080A296A
+ cmp r0, 0x2
+ bgt _080A2952
+ cmp r0, 0x1
+ beq _080A295C
+ b _080A2996
+_080A2952:
+ cmp r0, 0x3
+ beq _080A297C
+ cmp r0, 0x4
+ beq _080A298C
+ b _080A2996
+_080A295C:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x82
+ lsls r2, 2
+ bl MapGridSetMetatileIdAt
+ b _080A2996
+_080A296A:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ ldr r2, _080A2978 @ =0x00000281
+ bl MapGridSetMetatileIdAt
+ b _080A2996
+ .align 2, 0
+_080A2978: .4byte 0x00000281
+_080A297C:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ ldr r2, _080A2988 @ =0x00000282
+ bl MapGridSetMetatileIdAt
+ b _080A2996
+ .align 2, 0
+_080A2988: .4byte 0x00000282
+_080A298C:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ ldr r2, _080A2A30 @ =0x00000283
+ bl MapGridSetMetatileIdAt
+_080A2996:
+ lsls r0, r6, 16
+ asrs r5, r0, 16
+ mov r2, r9
+ lsls r0, r2, 16
+ asrs r4, r0, 16
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl MapGridGetMetatileIdAt
+ cmp r0, 0x1
+ bne _080A2A10
+ adds r4, 0x1
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl MapGridGetMetatileIdAt
+ movs r1, 0x82
+ lsls r1, 2
+ cmp r0, r1
+ bne _080A29C8
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl MapGridSetMetatileIdAt
+_080A29C8:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl MapGridGetMetatileIdAt
+ ldr r1, _080A2A34 @ =0x00000281
+ cmp r0, r1
+ bne _080A29E0
+ adds r0, r5, 0
+ adds r1, r4, 0
+ ldr r2, _080A2A38 @ =0x00000279
+ bl MapGridSetMetatileIdAt
+_080A29E0:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl MapGridGetMetatileIdAt
+ ldr r1, _080A2A3C @ =0x00000282
+ cmp r0, r1
+ bne _080A29F8
+ adds r0, r5, 0
+ adds r1, r4, 0
+ ldr r2, _080A2A40 @ =0x0000027a
+ bl MapGridSetMetatileIdAt
+_080A29F8:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl MapGridGetMetatileIdAt
+ ldr r1, _080A2A30 @ =0x00000283
+ cmp r0, r1
+ bne _080A2A10
+ adds r0, r5, 0
+ adds r1, r4, 0
+ ldr r2, _080A2A44 @ =0x0000027b
+ bl MapGridSetMetatileIdAt
+_080A2A10:
+ movs r0, 0x80
+ lsls r0, 9
+ add r0, r8
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bgt _080A2A20
+ b _080A2914
+_080A2A20:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2A30: .4byte 0x00000283
+_080A2A34: .4byte 0x00000281
+_080A2A38: .4byte 0x00000279
+_080A2A3C: .4byte 0x00000282
+_080A2A40: .4byte 0x0000027a
+_080A2A44: .4byte 0x0000027b
+ thumb_func_end sub_80A28F4
+
+ thumb_func_start sub_80A2A48
+sub_80A2A48: @ 80A2A48
+ movs r2, 0
+ movs r1, 0x8
+ strh r1, [r0, 0x2E]
+ strh r2, [r0, 0x30]
+ strh r2, [r0, 0x34]
+ ldr r1, _080A2A58 @ =objc_8097BBC
+ str r1, [r0, 0x1C]
+ bx lr
+ .align 2, 0
+_080A2A58: .4byte objc_8097BBC
+ thumb_func_end sub_80A2A48
+
+ thumb_func_start objc_8097BBC
+objc_8097BBC: @ 80A2A5C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ movs r2, 0x2E
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ movs r2, 0x2E
+ ldrsh r1, [r4, r2]
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x8
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x32]
+ ldrh r1, [r4, 0x2E]
+ adds r1, 0x1
+ ldrh r2, [r4, 0x34]
+ lsls r0, r2, 16
+ asrs r0, 18
+ adds r1, r0
+ strh r1, [r4, 0x2E]
+ adds r2, 0x1
+ strh r2, [r4, 0x34]
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x1C
+ beq _080A2AA8
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x30]
+ b _080A2AAC
+_080A2AA8:
+ ldr r0, _080A2AB4 @ =sub_80A2AB8
+ str r0, [r4, 0x1C]
+_080A2AAC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2AB4: .4byte sub_80A2AB8
+ thumb_func_end objc_8097BBC
+
+ thumb_func_start sub_80A2AB8
+sub_80A2AB8: @ 80A2AB8
+ push {r4-r6,lr}
+ movs r4, 0x1
+_080A2ABC:
+ ldr r6, _080A2AF8 @ =0x0201fff0
+ adds r0, r4, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r5, _080A2AFC @ =gSprites
+ adds r0, r5
+ bl DestroySprite
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x7
+ bls _080A2ABC
+ ldrb r1, [r6]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x3A
+ bl FieldEffectStop
+ bl sub_8064E2C
+ bl ScriptContext2_Disable
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2AF8: .4byte 0x0201fff0
+_080A2AFC: .4byte gSprites
+ thumb_func_end sub_80A2AB8
+
+ thumb_func_start sub_80A2B00
+sub_80A2B00: @ 80A2B00
+ push {lr}
+ movs r0, 0x80
+ bl PlaySE
+ movs r0, 0x2
+ bl FieldEffectActiveListRemove
+ bl EnableBothScriptContexts
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80A2B00
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s
new file mode 100644
index 000000000..6876c6783
--- /dev/null
+++ b/asm/hall_of_fame.s
@@ -0,0 +1,3402 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8141E38
+sub_8141E38: @ 8141E38
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8141E38
+
+ thumb_func_start sub_8141E4C
+sub_8141E4C: @ 8141E4C
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8141E4C
+
+ thumb_func_start sub_8141E64
+sub_8141E64: @ 8141E64
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _08141E80 @ =gMain
+ ldr r1, _08141E84 @ =0x0000043c
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bhi _08141EA0
+ lsls r0, 2
+ ldr r1, _08141E88 @ =_08141E8C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08141E80: .4byte gMain
+_08141E84: .4byte 0x0000043c
+_08141E88: .4byte _08141E8C
+ .align 2, 0
+_08141E8C:
+ .4byte _08141EA0
+ .4byte _08141EC0
+ .4byte _08141EC6
+ .4byte _08141F1C
+ .4byte _08141F58
+_08141EA0:
+ movs r0, 0
+ bl SetVBlankCallback
+ bl sub_81433E0
+ ldr r0, _08141EB8 @ =gMain
+ ldr r2, _08141EBC @ =0x0000043c
+ adds r0, r2
+ movs r1, 0x1
+ strb r1, [r0]
+ b _08141F84
+ .align 2, 0
+_08141EB8: .4byte gMain
+_08141EBC: .4byte 0x0000043c
+_08141EC0:
+ bl sub_8143570
+ b _08141F38
+_08141EC6:
+ movs r0, 0x1
+ negs r0, r0
+ movs r4, 0
+ str r4, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r0, _08141F04 @ =sub_8141E38
+ bl SetVBlankCallback
+ ldr r3, _08141F08 @ =0x04000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _08141F0C @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _08141F10 @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _08141F14 @ =gMain
+ ldr r2, _08141F18 @ =0x0000043c
+ adds r1, r2
+ b _08141F3E
+ .align 2, 0
+_08141F04: .4byte sub_8141E38
+_08141F08: .4byte 0x04000208
+_08141F0C: .4byte 0x04000200
+_08141F10: .4byte REG_DISPSTAT
+_08141F14: .4byte gMain
+_08141F18: .4byte 0x0000043c
+_08141F1C:
+ ldr r1, _08141F48 @ =REG_BLDCNT
+ ldr r2, _08141F4C @ =0x00003f42
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r2, 0xE2
+ lsls r2, 3
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0
+ strh r0, [r1]
+ bl sub_81435B8
+_08141F38:
+ ldr r1, _08141F50 @ =gMain
+ ldr r0, _08141F54 @ =0x0000043c
+ adds r1, r0
+_08141F3E:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08141F84
+ .align 2, 0
+_08141F48: .4byte REG_BLDCNT
+_08141F4C: .4byte 0x00003f42
+_08141F50: .4byte gMain
+_08141F54: .4byte 0x0000043c
+_08141F58:
+ bl UpdatePaletteFade
+ ldr r0, _08141F7C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08141F84
+ ldr r0, _08141F80 @ =sub_8141E4C
+ bl SetMainCallback2
+ movs r0, 0xDA
+ lsls r0, 1
+ bl PlayBGM
+ movs r0, 0
+ b _08141F86
+ .align 2, 0
+_08141F7C: .4byte gPaletteFade
+_08141F80: .4byte sub_8141E4C
+_08141F84:
+ movs r0, 0x1
+_08141F86:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8141E64
+
+ thumb_func_start sub_8141F90
+sub_8141F90: @ 8141F90
+ push {r4,lr}
+ bl sub_8141E64
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _08141FB6
+ ldr r0, _08141FBC @ =sub_8141FF8
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08141FC0 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0x8]
+_08141FB6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141FBC: .4byte sub_8141FF8
+_08141FC0: .4byte gTasks
+ thumb_func_end sub_8141F90
+
+ thumb_func_start sub_8141FC4
+sub_8141FC4: @ 8141FC4
+ push {lr}
+ bl sub_8141E64
+ lsls r0, 24
+ cmp r0, 0
+ bne _08141FEA
+ ldr r0, _08141FF0 @ =sub_8141FF8
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08141FF4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r0, 0x1
+ strh r0, [r1, 0x8]
+_08141FEA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08141FF0: .4byte sub_8141FF8
+_08141FF4: .4byte gTasks
+ thumb_func_end sub_8141FC4
+
+ thumb_func_start sub_8141FF8
+sub_8141FF8: @ 8141FF8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, _081420C8 @ =0x0201c000
+ mov r9, r0
+ ldr r1, _081420CC @ =gTasks
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0xC]
+ movs r7, 0
+ ldr r4, _081420D0 @ =0xfffffe00
+ mov r10, r4
+_08142024:
+ movs r0, 0x64
+ adds r1, r7, 0
+ muls r1, r0
+ ldr r0, _081420D4 @ =gPlayerParty
+ adds r6, r1, r0
+ adds r0, r6, 0
+ movs r1, 0xB
+ bl GetMonData
+ adds r3, r0, 0
+ cmp r3, 0
+ beq _081420DC
+ adds r0, r6, 0
+ movs r1, 0x41
+ bl GetMonData
+ lsls r4, r7, 2
+ adds r4, r7
+ lsls r4, 2
+ mov r1, r9
+ adds r5, r1, r4
+ ldr r2, _081420D8 @ =0x000001ff
+ adds r1, r2, 0
+ ands r0, r1
+ ldrh r1, [r5, 0x8]
+ mov r2, r10
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r5, 0x8]
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl GetMonData
+ str r0, [r5]
+ adds r0, r6, 0
+ movs r1, 0
+ bl GetMonData
+ mov r1, r9
+ adds r1, 0x4
+ adds r1, r4
+ str r0, [r1]
+ adds r0, r6, 0
+ movs r1, 0x38
+ bl GetMonData
+ lsls r0, 1
+ ldrb r2, [r5, 0x9]
+ movs r1, 0x1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r5, 0x9]
+ adds r0, r6, 0
+ movs r1, 0x2
+ mov r2, sp
+ bl GetMonData
+ movs r2, 0
+ mov r6, r8
+ lsls r5, r6, 2
+ mov r3, r9
+ adds r3, 0xA
+_081420A0:
+ adds r1, r2, r4
+ adds r1, r3, r1
+ mov r6, sp
+ adds r0, r6, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x9
+ bls _081420A0
+ ldr r0, _081420CC @ =gTasks
+ mov r2, r8
+ adds r1, r5, r2
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0xC]
+ adds r0, 0x1
+ strh r0, [r1, 0xC]
+ b _08142108
+ .align 2, 0
+_081420C8: .4byte 0x0201c000
+_081420CC: .4byte gTasks
+_081420D0: .4byte 0xfffffe00
+_081420D4: .4byte gPlayerParty
+_081420D8: .4byte 0x000001ff
+_081420DC:
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 2
+ mov r4, r9
+ adds r2, r4, r1
+ ldrh r0, [r2, 0x8]
+ mov r6, r10
+ ands r0, r6
+ strh r0, [r2, 0x8]
+ str r3, [r2]
+ mov r0, r9
+ adds r0, 0x4
+ adds r0, r1
+ str r3, [r0]
+ ldrb r1, [r2, 0x9]
+ movs r0, 0x1
+ ands r0, r1
+ strb r0, [r2, 0x9]
+ movs r0, 0xFF
+ strb r0, [r2, 0xA]
+ mov r0, r8
+ lsls r5, r0, 2
+_08142108:
+ adds r0, r7, 0x1
+ lsls r0, 16
+ lsrs r7, r0, 16
+ cmp r7, 0x5
+ bls _08142024
+ ldr r0, _08142158 @ =gUnknown_0203931C
+ movs r3, 0
+ str r3, [r0]
+ ldr r4, _0814215C @ =gTasks
+ mov r2, r8
+ adds r1, r5, r2
+ lsls r1, 3
+ adds r2, r1, r4
+ strh r3, [r2, 0xA]
+ movs r0, 0xFF
+ strh r0, [r2, 0x10]
+ movs r7, 0
+ adds r3, r4, 0
+ adds r3, 0x8
+ movs r2, 0xFF
+_08142130:
+ adds r0, r7, 0x5
+ lsls r0, 1
+ adds r0, r1
+ adds r0, r3
+ strh r2, [r0]
+ adds r0, r7, 0x1
+ lsls r0, 16
+ lsrs r7, r0, 16
+ cmp r7, 0x5
+ bls _08142130
+ mov r6, r8
+ adds r0, r5, r6
+ lsls r0, 3
+ adds r1, r0, r4
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _08142164
+ ldr r0, _08142160 @ =sub_81422E8
+ b _08142166
+ .align 2, 0
+_08142158: .4byte gUnknown_0203931C
+_0814215C: .4byte gTasks
+_08142160: .4byte sub_81422E8
+_08142164:
+ ldr r0, _08142178 @ =sub_814217C
+_08142166:
+ str r0, [r1]
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142178: .4byte sub_814217C
+ thumb_func_end sub_8141FF8
+
+ thumb_func_start sub_814217C
+sub_814217C: @ 814217C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, _081421C4 @ =0x0201c000
+ mov r9, r0
+ movs r7, 0x80
+ lsls r7, 6
+ add r7, r9
+ ldr r0, _081421C8 @ =gUnknown_02039324
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _081421D4
+ movs r4, 0
+ mov r0, r8
+ lsls r0, 2
+ mov r10, r0
+ ldr r5, _081421CC @ =0xfffe4000
+ add r5, r9
+ movs r3, 0xF0
+ lsls r3, 9
+ movs r2, 0
+ ldr r1, _081421D0 @ =0x00001fff
+_081421B2:
+ adds r0, r4, r3
+ adds r0, r5
+ strb r2, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, r1
+ bls _081421B2
+ b _081421E0
+ .align 2, 0
+_081421C4: .4byte 0x0201c000
+_081421C8: .4byte gUnknown_02039324
+_081421CC: .4byte 0xfffe4000
+_081421D0: .4byte 0x00001fff
+_081421D4:
+ movs r0, 0x3
+ bl sub_8125EC8
+ mov r0, r8
+ lsls r0, 2
+ mov r10, r0
+_081421E0:
+ movs r4, 0
+ ldrh r1, [r7, 0x8]
+ ldr r2, _081421E8 @ =0x000001ff
+ b _081421FA
+ .align 2, 0
+_081421E8: .4byte 0x000001ff
+_081421EC:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ adds r7, 0x78
+ cmp r4, 0x31
+ bhi _08142206
+ ldrh r1, [r7, 0x8]
+_081421FA:
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _081421EC
+ cmp r4, 0x31
+ bls _08142228
+_08142206:
+ ldr r5, _08142264 @ =0x0201e000
+ adds r6, r5, 0
+ adds r5, 0x78
+ movs r4, 0
+ subs r7, 0x78
+_08142210:
+ adds r0, r6, 0
+ adds r1, r5, 0
+ movs r2, 0x78
+ bl memcpy
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ adds r6, 0x78
+ adds r5, 0x78
+ cmp r4, 0x30
+ bls _08142210
+_08142228:
+ adds r0, r7, 0
+ mov r1, r9
+ movs r2, 0x78
+ bl memcpy
+ movs r0, 0x2
+ movs r1, 0xE
+ movs r2, 0x1B
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ ldr r0, _08142268 @ =gMenuText_HOFSaving
+ movs r1, 0x3
+ movs r2, 0xF
+ bl MenuPrint
+ ldr r1, _0814226C @ =gTasks
+ mov r0, r10
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08142270 @ =sub_8142274
+ str r1, [r0]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142264: .4byte 0x0201e000
+_08142268: .4byte gMenuText_HOFSaving
+_0814226C: .4byte gTasks
+_08142270: .4byte sub_8142274
+ thumb_func_end sub_814217C
+
+ thumb_func_start sub_8142274
+sub_8142274: @ 8142274
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _081422A8 @ =gUnknown_03005EBC
+ ldr r0, _081422AC @ =sub_8141FC4
+ str r0, [r1]
+ movs r0, 0x3
+ bl sub_8125D44
+ movs r0, 0x37
+ bl PlaySE
+ ldr r1, _081422B0 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _081422B4 @ =sub_81422B8
+ str r1, [r0]
+ movs r1, 0x20
+ strh r1, [r0, 0xE]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081422A8: .4byte gUnknown_03005EBC
+_081422AC: .4byte sub_8141FC4
+_081422B0: .4byte gTasks
+_081422B4: .4byte sub_81422B8
+ thumb_func_end sub_8142274
+
+ thumb_func_start sub_81422B8
+sub_81422B8: @ 81422B8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _081422D8 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrh r2, [r1, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _081422DC
+ subs r0, r2, 0x1
+ strh r0, [r1, 0xE]
+ b _081422E0
+ .align 2, 0
+_081422D8: .4byte gTasks
+_081422DC:
+ ldr r0, _081422E4 @ =sub_81422E8
+ str r0, [r1]
+_081422E0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081422E4: .4byte sub_81422E8
+ thumb_func_end sub_81422B8
+
+ thumb_func_start sub_81422E8
+sub_81422E8: @ 81422E8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _08142314 @ =gWindowConfig_81E7198
+ adds r0, r5, 0
+ bl SetUpWindowConfig
+ adds r0, r5, 0
+ bl InitMenuWindow
+ ldr r1, _08142318 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0814231C @ =sub_8142320
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142314: .4byte gWindowConfig_81E7198
+_08142318: .4byte gTasks
+_0814231C: .4byte sub_8142320
+ thumb_func_end sub_81422E8
+
+ thumb_func_start sub_8142320
+sub_8142320: @ 8142320
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r2, _08142350 @ =0x0201c000
+ ldr r0, _08142354 @ =gTasks
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 3
+ adds r1, r0
+ ldrh r6, [r1, 0xA]
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 2
+ adds r4, r0, r2
+ movs r2, 0xC
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x3
+ ble _0814235C
+ ldr r1, _08142358 @ =gUnknown_0840B534
+ b _0814235E
+ .align 2, 0
+_08142350: .4byte 0x0201c000
+_08142354: .4byte gTasks
+_08142358: .4byte gUnknown_0840B534
+_0814235C:
+ ldr r1, _081423F0 @ =gUnknown_0840B564
+_0814235E:
+ lsls r2, r6, 3
+ adds r0, r2, r1
+ ldrh r5, [r0]
+ adds r0, r1, 0x2
+ adds r0, r2, r0
+ ldrh r3, [r0]
+ adds r0, r1, 0x4
+ adds r0, r2, r0
+ ldrh r0, [r0]
+ mov r9, r0
+ adds r1, 0x6
+ adds r2, r1
+ ldrh r2, [r2]
+ mov r8, r2
+ ldrh r0, [r4, 0x8]
+ lsls r0, 23
+ lsrs r0, 23
+ lsls r1, r5, 16
+ asrs r1, 16
+ lsls r2, r3, 16
+ asrs r2, 16
+ ldr r3, [r4]
+ str r3, [sp]
+ ldr r3, [r4, 0x4]
+ str r3, [sp, 0x4]
+ adds r3, r6, 0
+ bl sub_81436BC
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _081423F4 @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1, r3
+ movs r4, 0
+ mov r5, r9
+ strh r5, [r2, 0x30]
+ mov r5, r8
+ strh r5, [r2, 0x32]
+ strh r4, [r2, 0x2E]
+ adds r3, 0x1C
+ adds r1, r3
+ ldr r2, _081423F8 @ =sub_81435DC
+ str r2, [r1]
+ ldr r5, _081423FC @ =gTasks
+ adds r1, r6, 0x5
+ lsls r1, 1
+ lsls r4, r7, 2
+ adds r4, r7
+ lsls r4, 3
+ adds r1, r4
+ adds r2, r5, 0
+ adds r2, 0x8
+ adds r1, r2
+ strh r0, [r1]
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ adds r4, r5
+ ldr r0, _08142400 @ =sub_8142404
+ str r0, [r4]
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081423F0: .4byte gUnknown_0840B564
+_081423F4: .4byte gSprites
+_081423F8: .4byte sub_81435DC
+_081423FC: .4byte gTasks
+_08142400: .4byte sub_8142404
+ thumb_func_end sub_8142320
+
+ thumb_func_start sub_8142404
+sub_8142404: @ 8142404
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _08142470 @ =0x0201c000
+ ldr r3, _08142474 @ =gTasks
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 3
+ adds r5, r2, r3
+ ldrh r1, [r5, 0xA]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ adds r6, r0, r4
+ ldr r4, _08142478 @ =gSprites
+ adds r1, 0x5
+ lsls r1, 1
+ adds r1, r2
+ adds r3, 0x8
+ adds r1, r3
+ movs r0, 0
+ ldrsh r1, [r1, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x2E
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0814246A
+ ldrh r2, [r6, 0x8]
+ ldr r0, _0814247C @ =0x000001ff
+ ands r0, r2
+ movs r1, 0xCE
+ lsls r1, 1
+ cmp r0, r1
+ beq _08142458
+ lsls r0, r2, 23
+ lsrs r0, 23
+ movs r1, 0
+ bl PlayCry1
+_08142458:
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0xE
+ bl sub_8143088
+ movs r0, 0x78
+ strh r0, [r5, 0xE]
+ ldr r0, _08142480 @ =sub_8142484
+ str r0, [r5]
+_0814246A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142470: .4byte 0x0201c000
+_08142474: .4byte gTasks
+_08142478: .4byte gSprites
+_0814247C: .4byte 0x000001ff
+_08142480: .4byte sub_8142484
+ thumb_func_end sub_8142404
+
+ thumb_func_start sub_8142484
+sub_8142484: @ 8142484
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r2, _081424BC @ =0x0201c000
+ ldr r1, _081424C0 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r6, r0, 3
+ adds r4, r6, r1
+ ldrh r3, [r4, 0xA]
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 2
+ adds r0, r2
+ mov r9, r0
+ ldrh r2, [r4, 0xE]
+ movs r7, 0xE
+ ldrsh r0, [r4, r7]
+ mov r12, r1
+ cmp r0, 0
+ beq _081424C4
+ subs r0, r2, 0x1
+ strh r0, [r4, 0xE]
+ b _0814255C
+ .align 2, 0
+_081424BC: .4byte 0x0201c000
+_081424C0: .4byte gTasks
+_081424C4:
+ ldr r2, _0814253C @ =gUnknown_0203931C
+ ldr r0, _08142540 @ =gSprites
+ mov r8, r0
+ adds r0, r3, 0x5
+ lsls r0, 1
+ adds r0, r6
+ mov r1, r12
+ adds r1, 0x8
+ adds r6, r0, r1
+ movs r7, 0
+ ldrsh r1, [r6, r7]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r8
+ ldrb r0, [r0, 0x5]
+ lsrs r0, 4
+ movs r1, 0x80
+ lsls r1, 9
+ lsls r1, r0
+ ldr r3, [r2]
+ orrs r3, r1
+ str r3, [r2]
+ ldrh r2, [r4, 0xA]
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bgt _08142550
+ mov r7, r9
+ ldrh r1, [r7, 0x1C]
+ ldr r0, _08142544 @ =0x000001ff
+ ands r0, r1
+ cmp r0, 0
+ beq _08142550
+ adds r0, r2, 0x1
+ strh r0, [r4, 0xA]
+ ldr r0, _08142548 @ =0x0000735f
+ str r0, [sp]
+ adds r0, r3, 0
+ movs r1, 0
+ movs r2, 0xC
+ movs r3, 0xC
+ bl BeginNormalPaletteFade
+ movs r0, 0
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r8
+ ldrb r2, [r0, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r2
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ ldr r0, _0814254C @ =sub_8142320
+ str r0, [r4]
+ b _0814255C
+ .align 2, 0
+_0814253C: .4byte gUnknown_0203931C
+_08142540: .4byte gSprites
+_08142544: .4byte 0x000001ff
+_08142548: .4byte 0x0000735f
+_0814254C: .4byte sub_8142320
+_08142550:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ add r0, r12
+ ldr r1, _0814256C @ =sub_8142570
+ str r1, [r0]
+_0814255C:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814256C: .4byte sub_8142570
+ thumb_func_end sub_8142484
+
+ thumb_func_start sub_8142570
+sub_8142570: @ 8142570
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08142604 @ =0xffff0000
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ movs r3, 0
+ lsls r1, r4, 2
+ adds r0, r1, r4
+ lsls r5, r0, 3
+ ldr r0, _08142608 @ =gTasks + 0x8
+ mov r12, r0
+ mov r8, r1
+ ldr r6, _0814260C @ =gSprites
+ movs r7, 0xD
+ negs r7, r7
+_0814259E:
+ adds r0, r3, 0x5
+ lsls r0, 1
+ adds r0, r5
+ mov r2, r12
+ adds r1, r0, r2
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0xFF
+ beq _081425C0
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldrb r2, [r1, 0x5]
+ adds r0, r7, 0
+ ands r0, r2
+ strb r0, [r1, 0x5]
+_081425C0:
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x5
+ bls _0814259E
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ movs r0, 0
+ movs r1, 0xF
+ bl sub_8143068
+ movs r0, 0x69
+ bl PlaySE
+ ldr r1, _08142610 @ =gTasks
+ mov r2, r8
+ adds r0, r2, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xC8
+ lsls r1, 1
+ strh r1, [r0, 0xE]
+ ldr r1, _08142614 @ =sub_8142618
+ str r1, [r0]
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142604: .4byte 0xffff0000
+_08142608: .4byte gTasks + 0x8
+_0814260C: .4byte gSprites
+_08142610: .4byte gTasks
+_08142614: .4byte sub_8142618
+ thumb_func_end sub_8142570
+
+ thumb_func_start sub_8142618
+sub_8142618: @ 8142618
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r7, _08142658 @ =gTasks
+ lsls r4, r6, 2
+ adds r0, r4, r6
+ lsls r5, r0, 3
+ adds r1, r5, r7
+ ldrh r2, [r1, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _0814265C
+ subs r2, 0x1
+ strh r2, [r1, 0xE]
+ movs r0, 0x3
+ ands r0, r2
+ cmp r0, 0
+ bne _081426D2
+ lsls r0, r2, 16
+ asrs r0, 16
+ cmp r0, 0x6E
+ ble _081426D2
+ bl sub_81438C4
+ b _081426D2
+ .align 2, 0
+_08142658: .4byte gTasks
+_0814265C:
+ movs r3, 0
+ mov r9, r4
+ ldr r0, _081426E4 @ =gUnknown_0203931C
+ mov r10, r0
+ adds r4, r5, 0
+ adds r7, 0x8
+ mov r8, r7
+ ldr r7, _081426E8 @ =gSprites
+ movs r1, 0xD
+ negs r1, r1
+ mov r12, r1
+ movs r5, 0x4
+_08142674:
+ adds r0, r3, 0x5
+ lsls r0, 1
+ adds r0, r4
+ mov r2, r8
+ adds r1, r0, r2
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0xFF
+ beq _08142698
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r7
+ ldrb r2, [r1, 0x5]
+ mov r0, r12
+ ands r0, r2
+ orrs r0, r5
+ strb r0, [r1, 0x5]
+_08142698:
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x5
+ bls _08142674
+ mov r3, r10
+ ldr r0, [r3]
+ ldr r1, _081426EC @ =0x0000735f
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0xC
+ movs r3, 0xC
+ bl BeginNormalPaletteFade
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldr r1, _081426F0 @ =gTasks
+ mov r2, r9
+ adds r0, r2, r6
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x7
+ strh r1, [r0, 0xE]
+ ldr r1, _081426F4 @ =sub_81426F8
+ str r1, [r0]
+_081426D2:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081426E4: .4byte gUnknown_0203931C
+_081426E8: .4byte gSprites
+_081426EC: .4byte 0x0000735f
+_081426F0: .4byte gTasks
+_081426F4: .4byte sub_81426F8
+ thumb_func_end sub_8142618
+
+ thumb_func_start sub_81426F8
+sub_81426F8: @ 81426F8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08142718 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r2, r1, r2
+ ldrh r1, [r2, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r2, r3]
+ cmp r0, 0xF
+ ble _08142720
+ ldr r0, _0814271C @ =sub_8142738
+ str r0, [r2]
+ b _0814272E
+ .align 2, 0
+_08142718: .4byte gTasks
+_0814271C: .4byte sub_8142738
+_08142720:
+ adds r0, r1, 0x1
+ strh r0, [r2, 0xE]
+ ldr r1, _08142734 @ =REG_BLDALPHA
+ movs r3, 0xE
+ ldrsh r0, [r2, r3]
+ lsls r0, 8
+ strh r0, [r1]
+_0814272E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142734: .4byte REG_BLDALPHA
+ thumb_func_end sub_81426F8
+
+ thumb_func_start sub_8142738
+sub_8142738: @ 8142738
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r1, 0x80
+ lsls r1, 19
+ movs r2, 0xCA
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r4, _08142784 @ =gWindowConfig_81E71B4
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ adds r0, r4, 0
+ bl InitMenuWindow
+ ldr r0, _08142788 @ =gSaveBlock2
+ ldrb r0, [r0, 0x8]
+ movs r1, 0x78
+ movs r2, 0x48
+ movs r3, 0x6
+ bl sub_81437A4
+ ldr r2, _0814278C @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r2
+ strh r0, [r1, 0x10]
+ movs r0, 0x78
+ strh r0, [r1, 0xE]
+ ldr r0, _08142790 @ =sub_8142794
+ str r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142784: .4byte gWindowConfig_81E71B4
+_08142788: .4byte gSaveBlock2
+_0814278C: .4byte gTasks
+_08142790: .4byte sub_8142794
+ thumb_func_end sub_8142738
+
+ thumb_func_start sub_8142794
+sub_8142794: @ 8142794
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _081427B4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r1, [r4, 0xE]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081427B8
+ subs r0, r1, 0x1
+ strh r0, [r4, 0xE]
+ b _0814280A
+ .align 2, 0
+_081427B4: .4byte gTasks
+_081427B8:
+ ldr r2, _081427D8 @ =gSprites
+ movs r3, 0x10
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r2
+ ldrh r2, [r1, 0x20]
+ movs r3, 0x20
+ ldrsh r0, [r1, r3]
+ cmp r0, 0xA0
+ beq _081427DC
+ adds r0, r2, 0x1
+ strh r0, [r1, 0x20]
+ b _0814280A
+ .align 2, 0
+_081427D8: .4byte gSprites
+_081427DC:
+ movs r0, 0x1
+ movs r1, 0x2
+ movs r2, 0xF
+ movs r3, 0x9
+ bl MenuDrawTextWindow
+ movs r0, 0x1
+ movs r1, 0x2
+ bl sub_8143300
+ movs r0, 0x2
+ movs r1, 0xE
+ movs r2, 0x1B
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ ldr r0, _08142810 @ =gMenuText_HOFCongratulations
+ movs r1, 0x4
+ movs r2, 0xF
+ bl MenuPrint
+ ldr r0, _08142814 @ =sub_8142818
+ str r0, [r4]
+_0814280A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142810: .4byte gMenuText_HOFCongratulations
+_08142814: .4byte sub_8142818
+ thumb_func_end sub_8142794
+
+ thumb_func_start sub_8142818
+sub_8142818: @ 8142818
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08142844 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0814283E
+ movs r0, 0x4
+ bl FadeOutBGM
+ ldr r0, _08142848 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _0814284C @ =sub_8142850
+ str r0, [r1]
+_0814283E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142844: .4byte gMain
+_08142848: .4byte gTasks
+_0814284C: .4byte sub_8142850
+ thumb_func_end sub_8142818
+
+ thumb_func_start sub_8142850
+sub_8142850: @ 8142850
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _08142890 @ =gPlttBufferFaded
+ ldr r1, _08142894 @ =gPlttBufferUnfaded
+ movs r2, 0x80
+ lsls r2, 2
+ bl CpuSet
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r1, 0x8
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _08142898 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0814289C @ =sub_81428A0
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142890: .4byte gPlttBufferFaded
+_08142894: .4byte gPlttBufferUnfaded
+_08142898: .4byte gTasks
+_0814289C: .4byte sub_81428A0
+ thumb_func_end sub_8142850
+
+ thumb_func_start sub_81428A0
+sub_81428A0: @ 81428A0
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _081428C4 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _081428BE
+ adds r0, r2, 0
+ bl DestroyTask
+ ldr r0, _081428C8 @ =sub_81439D0
+ bl SetMainCallback2
+_081428BE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081428C4: .4byte gPaletteFade
+_081428C8: .4byte sub_81439D0
+ thumb_func_end sub_81428A0
+
+ thumb_func_start sub_81428CC
+sub_81428CC: @ 81428CC
+ push {r4,r5,lr}
+ ldr r0, _081428E4 @ =gMain
+ ldr r1, _081428E8 @ =0x0000043c
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bhi _08142908
+ lsls r0, 2
+ ldr r1, _081428EC @ =_081428F0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081428E4: .4byte gMain
+_081428E8: .4byte 0x0000043c
+_081428EC: .4byte _081428F0
+ .align 2, 0
+_081428F0:
+ .4byte _08142908
+ .4byte _08142928
+ .4byte _0814293C
+ .4byte _08142980
+ .4byte _081429C0
+ .4byte _081429EC
+_08142908:
+ movs r0, 0
+ bl SetVBlankCallback
+ bl sub_81433E0
+ ldr r0, _08142920 @ =gMain
+ ldr r2, _08142924 @ =0x0000043c
+ adds r0, r2
+ movs r1, 0x1
+ strb r1, [r0]
+ b _08142A12
+ .align 2, 0
+_08142920: .4byte gMain
+_08142924: .4byte 0x0000043c
+_08142928:
+ bl sub_8143570
+ ldr r1, _08142934 @ =gMain
+ ldr r3, _08142938 @ =0x0000043c
+ adds r1, r3
+ b _081429DC
+ .align 2, 0
+_08142934: .4byte gMain
+_08142938: .4byte 0x0000043c
+_0814293C:
+ ldr r0, _08142968 @ =sub_8141E38
+ bl SetVBlankCallback
+ ldr r3, _0814296C @ =0x04000208
+ ldrh r2, [r3]
+ movs r0, 0
+ strh r0, [r3]
+ ldr r4, _08142970 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _08142974 @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _08142978 @ =gMain
+ ldr r4, _0814297C @ =0x0000043c
+ adds r1, r4
+ b _081429DC
+ .align 2, 0
+_08142968: .4byte sub_8141E38
+_0814296C: .4byte 0x04000208
+_08142970: .4byte 0x04000200
+_08142974: .4byte REG_DISPSTAT
+_08142978: .4byte gMain
+_0814297C: .4byte 0x0000043c
+_08142980:
+ ldr r0, _081429AC @ =REG_BLDCNT
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bl sub_81435B8
+ ldr r0, _081429B0 @ =0x0201c000
+ adds r2, r0, 0
+ ldr r1, _081429B4 @ =gUnknown_0840B57C
+ ldm r1!, {r3-r5}
+ stm r2!, {r3-r5}
+ ldm r1!, {r3,r5}
+ stm r2!, {r3,r5}
+ bl sub_80C5CD4
+ ldr r1, _081429B8 @ =gMain
+ ldr r4, _081429BC @ =0x0000043c
+ adds r1, r4
+ b _081429DC
+ .align 2, 0
+_081429AC: .4byte REG_BLDCNT
+_081429B0: .4byte 0x0201c000
+_081429B4: .4byte gUnknown_0840B57C
+_081429B8: .4byte gMain
+_081429BC: .4byte 0x0000043c
+_081429C0:
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ bl sub_80C5DCC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08142A12
+ ldr r1, _081429E4 @ =gMain
+ ldr r5, _081429E8 @ =0x0000043c
+ adds r1, r5
+_081429DC:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08142A12
+ .align 2, 0
+_081429E4: .4byte gMain
+_081429E8: .4byte 0x0000043c
+_081429EC:
+ ldr r1, _08142A18 @ =REG_BLDCNT
+ ldr r2, _08142A1C @ =0x00003f42
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r3, 0xE2
+ lsls r3, 3
+ adds r0, r3, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0
+ strh r0, [r1]
+ ldr r0, _08142A20 @ =sub_8142A28
+ movs r1, 0
+ bl CreateTask
+ ldr r0, _08142A24 @ =sub_8141E4C
+ bl SetMainCallback2
+_08142A12:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142A18: .4byte REG_BLDCNT
+_08142A1C: .4byte 0x00003f42
+_08142A20: .4byte sub_8142A28
+_08142A24: .4byte sub_8141E4C
+ thumb_func_end sub_81428CC
+
+ thumb_func_start sub_8142A28
+sub_8142A28: @ 8142A28
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r0, 0x3
+ bl sub_8125EC8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08142A54
+ ldr r0, _08142A4C @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08142A50 @ =sub_8142FEC
+ str r0, [r1]
+ b _08142AEA
+ .align 2, 0
+_08142A4C: .4byte gTasks
+_08142A50: .4byte sub_8142FEC
+_08142A54:
+ ldr r2, _08142A8C @ =0x0201e000
+ movs r3, 0
+ ldrh r1, [r2, 0x8]
+ ldr r4, _08142A90 @ =0x000001ff
+ adds r0, r4, 0
+ ands r0, r1
+ ldr r7, _08142A94 @ =gTasks
+ lsls r6, r5, 2
+ cmp r0, 0
+ beq _08142A7E
+_08142A68:
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ adds r2, 0x78
+ cmp r3, 0x31
+ bhi _08142A98
+ ldrh r1, [r2, 0x8]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08142A68
+_08142A7E:
+ cmp r3, 0x31
+ bhi _08142A98
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r0, r7
+ subs r1, r3, 0x1
+ b _08142AA0
+ .align 2, 0
+_08142A8C: .4byte 0x0201e000
+_08142A90: .4byte 0x000001ff
+_08142A94: .4byte gTasks
+_08142A98:
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r0, r7
+ movs r1, 0x31
+_08142AA0:
+ strh r1, [r0, 0x8]
+ movs r0, 0xA
+ bl sub_8053108
+ ldr r2, _08142AF0 @ =gTasks
+ adds r1, r6, r5
+ lsls r1, 3
+ adds r1, r2
+ strh r0, [r1, 0xA]
+ movs r3, 0
+ ldr r7, _08142AF4 @ =0x0600381a
+ ldr r4, _08142AF8 @ =0x0600385a
+_08142AB8:
+ lsls r1, r3, 1
+ adds r2, r1, r7
+ adds r0, r3, 0x3
+ strh r0, [r2]
+ adds r1, r4
+ adds r0, 0x11
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x10
+ bls _08142AB8
+ ldr r4, _08142AFC @ =gWindowConfig_81E7198
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ adds r0, r4, 0
+ bl InitMenuWindow
+ ldr r1, _08142AF0 @ =gTasks
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08142B00 @ =sub_8142B04
+ str r1, [r0]
+_08142AEA:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142AF0: .4byte gTasks
+_08142AF4: .4byte 0x0600381a
+_08142AF8: .4byte 0x0600385a
+_08142AFC: .4byte gWindowConfig_81E7198
+_08142B00: .4byte sub_8142B04
+ thumb_func_end sub_8142A28
+
+ thumb_func_start sub_8142B04
+sub_8142B04: @ 8142B04
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r3, _08142BB8 @ =0x0201e000
+ movs r5, 0
+ ldr r1, _08142BBC @ =gTasks
+ lsls r0, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r6, r1, 0
+ ldr r2, _08142BC0 @ =gUnknown_0203931C
+ cmp r5, r0
+ bge _08142B3E
+ adds r1, r0, 0
+_08142B32:
+ adds r3, 0x78
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, r1
+ blt _08142B32
+_08142B3E:
+ adds r4, r3, 0
+ movs r0, 0
+ str r0, [r2]
+ mov r5, r8
+ lsls r2, r5, 2
+ adds r1, r2, r5
+ lsls r1, 3
+ adds r1, r6
+ strh r0, [r1, 0xC]
+ strh r0, [r1, 0x10]
+ movs r5, 0
+ str r2, [sp, 0xC]
+ ldr r6, _08142BC4 @ =0x000001ff
+ adds r2, r1, 0
+_08142B5A:
+ ldrh r1, [r4, 0x8]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08142B6A
+ ldrh r0, [r2, 0x10]
+ adds r0, 0x1
+ strh r0, [r2, 0x10]
+_08142B6A:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r4, 0x14
+ cmp r5, 0x5
+ bls _08142B5A
+ adds r4, r3, 0
+ movs r5, 0
+ ldr r1, _08142BBC @ =gTasks
+ ldr r0, [sp, 0xC]
+ add r0, r8
+ lsls r7, r0, 3
+ adds r6, r7, r1
+ str r6, [sp, 0x8]
+ adds r1, 0x8
+ mov r9, r1
+ ldr r0, _08142BC8 @ =gUnknown_0840B564
+ mov r10, r0
+_08142B8E:
+ ldrh r1, [r4, 0x8]
+ ldr r2, _08142BC4 @ =0x000001ff
+ adds r0, r2, 0
+ ands r0, r1
+ adds r6, r1, 0
+ cmp r0, 0
+ beq _08142C30
+ ldr r1, [sp, 0x8]
+ movs r2, 0x10
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x3
+ ble _08142BD4
+ lsls r1, r5, 3
+ ldr r0, _08142BCC @ =gUnknown_0840B534
+ adds r0, 0x4
+ adds r0, r1, r0
+ ldrh r3, [r0]
+ ldr r0, _08142BD0 @ =gUnknown_0840B53A
+ adds r1, r0
+ b _08142BE2
+ .align 2, 0
+_08142BB8: .4byte 0x0201e000
+_08142BBC: .4byte gTasks
+_08142BC0: .4byte gUnknown_0203931C
+_08142BC4: .4byte 0x000001ff
+_08142BC8: .4byte gUnknown_0840B564
+_08142BCC: .4byte gUnknown_0840B534
+_08142BD0: .4byte gUnknown_0840B53A
+_08142BD4:
+ lsls r1, r5, 3
+ mov r0, r10
+ adds r0, 0x4
+ adds r0, r1, r0
+ ldrh r3, [r0]
+ ldr r2, _08142C28 @ =gUnknown_0840B56A
+ adds r1, r2
+_08142BE2:
+ ldrh r2, [r1]
+ lsls r0, r6, 23
+ lsrs r0, 23
+ lsls r1, r3, 16
+ asrs r1, 16
+ lsls r2, 16
+ asrs r2, 16
+ ldr r3, [r4]
+ str r3, [sp]
+ ldr r3, [r4, 0x4]
+ str r3, [sp, 0x4]
+ adds r3, r5, 0
+ bl sub_81436BC
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _08142C2C @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r3, [r1, 0x5]
+ movs r6, 0xD
+ negs r6, r6
+ adds r2, r6, 0
+ ands r3, r2
+ movs r2, 0x4
+ orrs r3, r2
+ strb r3, [r1, 0x5]
+ adds r1, r5, 0x5
+ lsls r1, 1
+ adds r1, r7
+ add r1, r9
+ strh r0, [r1]
+ b _08142C3C
+ .align 2, 0
+_08142C28: .4byte gUnknown_0840B56A
+_08142C2C: .4byte gSprites
+_08142C30:
+ adds r0, r5, 0x5
+ lsls r0, 1
+ adds r0, r7
+ add r0, r9
+ movs r1, 0xFF
+ strh r1, [r0]
+_08142C3C:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r4, 0x14
+ cmp r5, 0x5
+ bls _08142B8E
+ ldr r0, _08142CB0 @ =0xffff0000
+ ldr r2, _08142CB4 @ =0x0000735f
+ movs r1, 0xC
+ bl BlendPalettes
+ ldr r3, _08142CB8 @ =gStringVar1
+ ldr r1, _08142CBC @ =gMenuText_HOFNumber
+ adds r0, r3, 0
+ bl StringCopy
+ adds r3, r0, 0
+ movs r5, 0xFC
+ strb r5, [r3]
+ movs r0, 0x14
+ strb r0, [r3, 0x1]
+ movs r0, 0x6
+ strb r0, [r3, 0x2]
+ adds r3, 0x3
+ ldr r0, _08142CC0 @ =gTasks
+ ldr r4, [sp, 0xC]
+ add r4, r8
+ lsls r4, 3
+ adds r4, r0
+ movs r0, 0xA
+ ldrsh r1, [r4, r0]
+ adds r0, r3, 0
+ bl ConvertIntToDecimalString
+ adds r3, r0, 0
+ strb r5, [r3]
+ movs r0, 0x13
+ strb r0, [r3, 0x1]
+ movs r0, 0xF0
+ strb r0, [r3, 0x2]
+ movs r0, 0xFF
+ strb r0, [r3, 0x3]
+ ldr r0, _08142CB8 @ =gStringVar1
+ movs r1, 0
+ movs r2, 0
+ bl MenuPrint
+ ldr r0, _08142CC4 @ =sub_8142CC8
+ str r0, [r4]
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142CB0: .4byte 0xffff0000
+_08142CB4: .4byte 0x0000735f
+_08142CB8: .4byte gStringVar1
+_08142CBC: .4byte gMenuText_HOFNumber
+_08142CC0: .4byte gTasks
+_08142CC4: .4byte sub_8142CC8
+ thumb_func_end sub_8142B04
+
+ thumb_func_start sub_8142CC8
+sub_8142CC8: @ 8142CC8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08142DD0 @ =0x0201e000
+ mov r8, r0
+ movs r3, 0
+ ldr r1, _08142DD4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ cmp r3, r0
+ bge _08142CFE
+ adds r1, r0, 0
+_08142CF0:
+ movs r0, 0x78
+ add r8, r0
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, r1
+ blt _08142CF0
+_08142CFE:
+ movs r3, 0
+ lsls r6, r4, 2
+ adds r0, r6, r4
+ lsls r5, r0, 3
+ ldr r1, _08142DD8 @ =gTasks + 0x8
+ mov r10, r1
+ ldr r2, _08142DDC @ =gSprites
+ mov r12, r2
+ movs r0, 0xD
+ negs r0, r0
+ mov r9, r0
+ movs r7, 0x4
+_08142D16:
+ adds r0, r3, 0x5
+ lsls r0, 1
+ adds r0, r5
+ add r0, r10
+ ldrh r1, [r0]
+ cmp r1, 0xFF
+ beq _08142D36
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r12
+ ldrb r2, [r0, 0x5]
+ mov r1, r9
+ ands r1, r2
+ orrs r1, r7
+ strb r1, [r0, 0x5]
+_08142D36:
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x5
+ bls _08142D16
+ adds r1, r6, r4
+ lsls r1, 3
+ ldr r2, _08142DD4 @ =gTasks
+ adds r5, r1, r2
+ movs r2, 0xC
+ ldrsh r0, [r5, r2]
+ adds r0, 0x5
+ lsls r0, 1
+ adds r0, r1
+ ldr r1, _08142DD4 @ =gTasks
+ adds r1, 0x8
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08142DDC @ =gSprites
+ adds r0, r1
+ ldrb r2, [r0, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0, 0x5]
+ lsrs r1, 4
+ movs r0, 0x80
+ lsls r0, 9
+ lsls r0, r1
+ ldr r1, _08142DE0 @ =0xffff0000
+ eors r0, r1
+ ldr r2, _08142DE4 @ =gUnknown_0203931C
+ str r0, [r2]
+ ldr r2, _08142DE8 @ =0x0000735f
+ movs r1, 0xC
+ bl BlendPalettesUnfaded
+ movs r0, 0xC
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ mov r1, r8
+ adds r4, r1, r0
+ ldrh r1, [r4, 0x8]
+ ldr r0, _08142DEC @ =0x000001ff
+ ands r0, r1
+ movs r1, 0xCE
+ lsls r1, 1
+ cmp r0, r1
+ beq _08142DB2
+ bl StopCryAndClearCrySongs
+ ldrh r0, [r4, 0x8]
+ lsls r0, 23
+ lsrs r0, 23
+ movs r1, 0
+ bl PlayCry1
+_08142DB2:
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0xE
+ bl sub_8143088
+ ldr r0, _08142DF0 @ =sub_8142DF4
+ str r0, [r5]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142DD0: .4byte 0x0201e000
+_08142DD4: .4byte gTasks
+_08142DD8: .4byte gTasks + 0x8
+_08142DDC: .4byte gSprites
+_08142DE0: .4byte 0xffff0000
+_08142DE4: .4byte gUnknown_0203931C
+_08142DE8: .4byte 0x0000735f
+_08142DEC: .4byte 0x000001ff
+_08142DF0: .4byte sub_8142DF4
+ thumb_func_end sub_8142CC8
+
+ thumb_func_start sub_8142DF4
+sub_8142DF4: @ 8142DF4
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _08142E88 @ =gMain
+ ldrh r2, [r1, 0x2E]
+ movs r0, 0x1
+ ands r0, r2
+ adds r3, r1, 0
+ cmp r0, 0
+ beq _08142EC4
+ ldr r7, _08142E8C @ =gTasks
+ lsls r0, r6, 2
+ adds r1, r0, r6
+ lsls r3, r1, 3
+ adds r4, r3, r7
+ ldrh r2, [r4, 0x8]
+ movs r5, 0x8
+ ldrsh r1, [r4, r5]
+ mov r8, r0
+ cmp r1, 0
+ beq _08142E98
+ subs r0, r2, 0x1
+ strh r0, [r4, 0x8]
+ movs r5, 0
+ adds r7, 0x8
+ mov r9, r7
+ adds r7, r3, 0
+_08142E30:
+ adds r0, r5, 0x5
+ lsls r0, 1
+ adds r0, r7
+ add r0, r9
+ ldrb r1, [r0]
+ cmp r1, 0xFF
+ beq _08142E5E
+ ldr r0, _08142E90 @ =gSprites
+ lsls r4, r1, 4
+ adds r4, r1
+ lsls r4, 2
+ adds r4, r0
+ ldrb r0, [r4, 0x5]
+ lsrs r0, 4
+ bl GetSpritePaletteTagByPaletteNum
+ lsls r0, 16
+ lsrs r0, 16
+ bl FreeSpritePaletteByTag
+ adds r0, r4, 0
+ bl DestroySprite
+_08142E5E:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x5
+ bls _08142E30
+ ldr r0, _08142E8C @ =gTasks
+ mov r2, r8
+ adds r1, r2, r6
+ lsls r1, 3
+ adds r1, r0
+ ldrh r2, [r1, 0xA]
+ movs r3, 0xA
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _08142E80
+ subs r0, r2, 0x1
+ strh r0, [r1, 0xA]
+_08142E80:
+ ldr r0, _08142E94 @ =sub_8142B04
+ str r0, [r1]
+ b _08142F64
+ .align 2, 0
+_08142E88: .4byte gMain
+_08142E8C: .4byte gTasks
+_08142E90: .4byte gSprites
+_08142E94: .4byte sub_8142B04
+_08142E98:
+ bl IsCryPlayingOrClearCrySongs
+ lsls r0, 24
+ cmp r0, 0
+ beq _08142EB2
+ bl StopCryAndClearCrySongs
+ ldr r0, _08142EB8 @ =gMPlay_BGM
+ ldr r1, _08142EBC @ =0x0000ffff
+ movs r2, 0x80
+ lsls r2, 1
+ bl m4aMPlayVolumeControl
+_08142EB2:
+ ldr r0, _08142EC0 @ =sub_8142F78
+ str r0, [r4]
+ b _08142F64
+ .align 2, 0
+_08142EB8: .4byte gMPlay_BGM
+_08142EBC: .4byte 0x0000ffff
+_08142EC0: .4byte sub_8142F78
+_08142EC4:
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _08142F08
+ bl IsCryPlayingOrClearCrySongs
+ lsls r0, 24
+ cmp r0, 0
+ beq _08142EE6
+ bl StopCryAndClearCrySongs
+ ldr r0, _08142EF8 @ =gMPlay_BGM
+ ldr r1, _08142EFC @ =0x0000ffff
+ movs r2, 0x80
+ lsls r2, 1
+ bl m4aMPlayVolumeControl
+_08142EE6:
+ ldr r0, _08142F00 @ =gTasks
+ lsls r1, r6, 2
+ adds r1, r6
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08142F04 @ =sub_8142F78
+ str r0, [r1]
+ b _08142F64
+ .align 2, 0
+_08142EF8: .4byte gMPlay_BGM
+_08142EFC: .4byte 0x0000ffff
+_08142F00: .4byte gTasks
+_08142F04: .4byte sub_8142F78
+_08142F08:
+ movs r0, 0x40
+ ands r0, r2
+ cmp r0, 0
+ beq _08142F38
+ ldr r0, _08142F30 @ =gTasks
+ lsls r1, r6, 2
+ adds r1, r6
+ lsls r1, 3
+ adds r1, r0
+ ldrh r2, [r1, 0xC]
+ movs r4, 0xC
+ ldrsh r0, [r1, r4]
+ cmp r0, 0
+ beq _08142F38
+ subs r0, r2, 0x1
+ strh r0, [r1, 0xC]
+ ldr r0, _08142F34 @ =sub_8142CC8
+ str r0, [r1]
+ b _08142F64
+ .align 2, 0
+_08142F30: .4byte gTasks
+_08142F34: .4byte sub_8142CC8
+_08142F38:
+ ldrh r1, [r3, 0x2E]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08142F64
+ ldr r1, _08142F70 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r2, r0, r1
+ movs r5, 0xC
+ ldrsh r1, [r2, r5]
+ movs r3, 0x10
+ ldrsh r0, [r2, r3]
+ subs r0, 0x1
+ cmp r1, r0
+ bge _08142F64
+ ldrh r0, [r2, 0xC]
+ adds r0, 0x1
+ strh r0, [r2, 0xC]
+ ldr r0, _08142F74 @ =sub_8142CC8
+ str r0, [r2]
+_08142F64:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142F70: .4byte gTasks
+_08142F74: .4byte sub_8142CC8
+ thumb_func_end sub_8142DF4
+
+ thumb_func_start sub_8142F78
+sub_8142F78: @ 8142F78
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _08142FB4 @ =gPlttBufferFaded
+ ldr r1, _08142FB8 @ =gPlttBufferUnfaded
+ movs r2, 0x80
+ lsls r2, 2
+ bl CpuSet
+ ldr r0, _08142FBC @ =0x0201c000
+ adds r2, r0, 0
+ ldr r1, _08142FC0 @ =gUnknown_0840B57C
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5}
+ stm r2!, {r3,r5}
+ bl sub_80C5E38
+ ldr r1, _08142FC4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08142FC8 @ =sub_8142FCC
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08142FB4: .4byte gPlttBufferFaded
+_08142FB8: .4byte gPlttBufferUnfaded
+_08142FBC: .4byte 0x0201c000
+_08142FC0: .4byte gUnknown_0840B57C
+_08142FC4: .4byte gTasks
+_08142FC8: .4byte sub_8142FCC
+ thumb_func_end sub_8142F78
+
+ thumb_func_start sub_8142FCC
+sub_8142FCC: @ 8142FCC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_80C5F98
+ lsls r0, 24
+ cmp r0, 0
+ beq _08142FE6
+ adds r0, r4, 0
+ bl DestroyTask
+ bl ReturnFromHallOfFamePC
+_08142FE6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8142FCC
+
+ thumb_func_start sub_8142FEC
+sub_8142FEC: @ 8142FEC
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x2
+ movs r1, 0xE
+ movs r2, 0x1B
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ ldr r0, _08143020 @ =gMenuText_HOFCorrupt
+ movs r1, 0x3
+ movs r2, 0xF
+ bl MenuPrintMessage
+ ldr r1, _08143024 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08143028 @ =sub_814302C
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143020: .4byte gMenuText_HOFCorrupt
+_08143024: .4byte gTasks
+_08143028: .4byte sub_814302C
+ thumb_func_end sub_8142FEC
+
+ thumb_func_start sub_814302C
+sub_814302C: @ 814302C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl MenuUpdateWindowText
+ lsls r0, 24
+ cmp r0, 0
+ beq _08143056
+ ldr r0, _0814305C @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08143056
+ ldr r0, _08143060 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08143064 @ =sub_8142F78
+ str r0, [r1]
+_08143056:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814305C: .4byte gMain
+_08143060: .4byte gTasks
+_08143064: .4byte sub_8142F78
+ thumb_func_end sub_814302C
+
+ thumb_func_start sub_8143068
+sub_8143068: @ 8143068
+ push {lr}
+ lsls r2, r1, 24
+ ldr r0, _08143084 @ =gMenuText_WelcomeToHOFAndDexRating
+ movs r1, 0x80
+ lsls r1, 17
+ adds r2, r1
+ lsrs r2, 24
+ movs r1, 0
+ movs r3, 0xF0
+ bl sub_8072BD8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143084: .4byte gMenuText_WelcomeToHOFAndDexRating
+ thumb_func_end sub_8143068
+
+ thumb_func_start sub_8143088
+sub_8143088: @ 8143088
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ mov r9, r0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ ldr r7, _08143188 @ =gStringVar1
+ movs r0, 0xFC
+ strb r0, [r7]
+ movs r0, 0x13
+ strb r0, [r7, 0x1]
+ movs r0, 0x28
+ strb r0, [r7, 0x2]
+ movs r0, 0xFF
+ strb r0, [r7, 0x3]
+ mov r0, r9
+ ldrh r2, [r0, 0x8]
+ ldr r0, _0814318C @ =0x000001ff
+ ands r0, r2
+ movs r1, 0xCE
+ lsls r1, 1
+ cmp r0, r1
+ beq _081430EA
+ lsls r0, r2, 23
+ lsrs r0, 23
+ bl SpeciesToPokedexNum
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r0, _08143190 @ =0x0000ffff
+ cmp r6, r0
+ beq _081430EA
+ ldr r1, _08143194 @ =gOtherText_Number2
+ adds r0, r7, 0
+ bl StringCopy
+ adds r7, r0, 0
+ adds r1, r6, 0
+ movs r2, 0x2
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+_081430EA:
+ ldr r5, _08143188 @ =gStringVar1
+ mov r1, r8
+ adds r1, 0x4
+ lsls r1, 24
+ lsrs r1, 24
+ mov r4, r10
+ adds r4, 0x1
+ lsls r2, r4, 24
+ lsrs r2, 24
+ adds r0, r5, 0
+ bl MenuPrint
+ adds r7, r5, 0
+ movs r3, 0
+ mov r1, r9
+ ldrb r0, [r1, 0xA]
+ str r4, [sp]
+ mov r2, r8
+ adds r2, 0x9
+ str r2, [sp, 0xC]
+ mov r6, r10
+ adds r6, 0x3
+ str r6, [sp, 0x8]
+ cmp r0, 0xFF
+ beq _0814313A
+ mov r2, r9
+ adds r2, 0xA
+_08143120:
+ adds r1, r7, r3
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x9
+ bhi _0814313A
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _08143120
+_0814313A:
+ adds r7, r3
+ movs r2, 0xFF
+ strb r2, [r7]
+ mov r1, r9
+ ldrh r0, [r1, 0x8]
+ ldr r1, _0814318C @ =0x000001ff
+ ands r1, r0
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r1, r0
+ bne _08143198
+ movs r0, 0xFC
+ strb r0, [r7]
+ movs r0, 0x13
+ strb r0, [r7, 0x1]
+ movs r0, 0xA0
+ strb r0, [r7, 0x2]
+ strb r2, [r7, 0x3]
+ ldr r0, _08143188 @ =gStringVar1
+ ldr r2, [sp, 0xC]
+ lsls r1, r2, 24
+ lsrs r1, 24
+ ldr r3, [sp]
+ lsls r2, r3, 24
+ lsrs r2, 24
+ bl MenuPrint
+ ldr r6, [sp, 0x8]
+ lsls r1, r6, 24
+ lsrs r1, 24
+ mov r3, r10
+ adds r3, 0x4
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0
+ movs r2, 0x1D
+ bl MenuZeroFillWindowRect
+ b _081432E4
+ .align 2, 0
+_08143188: .4byte gStringVar1
+_0814318C: .4byte 0x000001ff
+_08143190: .4byte 0x0000ffff
+_08143194: .4byte gOtherText_Number2
+_08143198:
+ movs r0, 0xFC
+ strb r0, [r7]
+ movs r0, 0x13
+ strb r0, [r7, 0x1]
+ movs r0, 0x3E
+ strb r0, [r7, 0x2]
+ adds r7, 0x3
+ movs r0, 0xBA
+ strb r0, [r7]
+ adds r7, 0x1
+ movs r3, 0
+ ldr r2, _08143238 @ =gSpeciesNames
+ mov r1, r9
+ ldrh r0, [r1, 0x8]
+ lsls r0, 23
+ lsrs r0, 23
+ movs r1, 0xB
+ muls r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ mov r6, r8
+ adds r6, 0x7
+ str r6, [sp, 0x4]
+ mov r1, r8
+ adds r1, 0xD
+ str r1, [sp, 0x10]
+ cmp r0, 0xFF
+ beq _08143204
+ adds r5, r2, 0
+ movs r4, 0xB
+_081431D4:
+ adds r1, r7, r3
+ mov r6, r9
+ ldrh r0, [r6, 0x8]
+ lsls r0, 23
+ lsrs r0, 23
+ muls r0, r4
+ adds r0, r3, r0
+ adds r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x9
+ bhi _08143204
+ ldrh r0, [r6, 0x8]
+ lsls r0, 23
+ lsrs r0, 23
+ muls r0, r4
+ adds r0, r3, r0
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _081431D4
+_08143204:
+ adds r7, r3
+ movs r0, 0
+ strb r0, [r7]
+ adds r7, 0x1
+ mov r1, r9
+ ldrh r0, [r1, 0x8]
+ ldr r1, _0814323C @ =0x000001ff
+ ands r1, r0
+ cmp r1, 0x20
+ beq _0814324A
+ cmp r1, 0x1D
+ beq _0814324A
+ lsls r0, 23
+ lsrs r0, 23
+ mov r2, r9
+ ldr r1, [r2, 0x4]
+ bl GetGenderFromSpeciesAndPersonality
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _08143240
+ cmp r0, 0xFE
+ beq _08143244
+ b _0814324A
+ .align 2, 0
+_08143238: .4byte gSpeciesNames
+_0814323C: .4byte 0x000001ff
+_08143240:
+ movs r0, 0xB5
+ b _08143246
+_08143244:
+ movs r0, 0xB6
+_08143246:
+ strb r0, [r7]
+ adds r7, 0x1
+_0814324A:
+ movs r4, 0xFC
+ strb r4, [r7]
+ movs r3, 0x13
+ mov r8, r3
+ strb r3, [r7, 0x1]
+ movs r0, 0xA0
+ strb r0, [r7, 0x2]
+ movs r6, 0xFF
+ mov r10, r6
+ strb r6, [r7, 0x3]
+ ldr r5, _081432F4 @ =gStringVar1
+ ldr r0, [sp, 0xC]
+ lsls r1, r0, 24
+ lsrs r1, 24
+ ldr r3, [sp]
+ lsls r2, r3, 24
+ lsrs r2, 24
+ adds r0, r5, 0
+ bl MenuPrint
+ mov r6, r9
+ ldrb r0, [r6, 0x9]
+ lsrs r6, r0, 1
+ ldr r1, _081432F8 @ =gOtherText_Level3
+ adds r0, r5, 0
+ bl StringCopy
+ adds r7, r0, 0
+ strb r4, [r7]
+ movs r0, 0x14
+ strb r0, [r7, 0x1]
+ movs r0, 0x6
+ strb r0, [r7, 0x2]
+ adds r7, 0x3
+ adds r0, r7, 0
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ adds r7, r0, 0
+ strb r4, [r7]
+ mov r0, r8
+ strb r0, [r7, 0x1]
+ movs r0, 0x30
+ strb r0, [r7, 0x2]
+ mov r1, r10
+ strb r1, [r7, 0x3]
+ ldr r2, [sp, 0x4]
+ lsls r1, r2, 24
+ lsrs r1, 24
+ ldr r3, [sp, 0x8]
+ lsls r4, r3, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ adds r2, r4, 0
+ bl MenuPrint
+ mov r0, r9
+ ldrh r6, [r0]
+ ldr r1, _081432FC @ =gOtherText_IDNumber
+ adds r0, r5, 0
+ bl StringCopy
+ adds r7, r0, 0
+ adds r1, r6, 0
+ movs r2, 0x2
+ movs r3, 0x5
+ bl ConvertIntToDecimalStringN
+ ldr r2, [sp, 0x10]
+ lsls r1, r2, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ adds r2, r4, 0
+ bl MenuPrint
+_081432E4:
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081432F4: .4byte gStringVar1
+_081432F8: .4byte gOtherText_Level3
+_081432FC: .4byte gOtherText_IDNumber
+ thumb_func_end sub_8143088
+
+ thumb_func_start sub_8143300
+sub_8143300: @ 8143300
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ lsls r5, 24
+ lsls r4, 24
+ ldr r0, _081433CC @ =gOtherText_Name
+ lsrs r1, r5, 24
+ mov r8, r1
+ movs r2, 0x80
+ lsls r2, 17
+ adds r5, r2
+ lsrs r5, 24
+ lsrs r6, r4, 24
+ adds r4, r2
+ lsrs r4, 24
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl MenuPrint
+ ldr r0, _081433D0 @ =gSaveBlock2
+ mov r10, r0
+ movs r1, 0xE
+ add r8, r1
+ mov r2, r8
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ mov r1, r8
+ adds r2, r4, 0
+ bl MenuPrint_RightAligned
+ ldr r0, _081433D4 @ =gOtherText_IDNumber2
+ adds r4, r6, 0x3
+ lsls r4, 24
+ lsrs r4, 24
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl MenuPrint
+ mov r0, r10
+ ldrb r1, [r0, 0xA]
+ ldrb r0, [r0, 0xB]
+ lsls r0, 8
+ orrs r1, r0
+ ldr r2, _081433D8 @ =gStringVar1
+ mov r9, r2
+ mov r0, r9
+ movs r2, 0x2
+ movs r3, 0x5
+ bl ConvertIntToDecimalStringN
+ mov r0, r9
+ mov r1, r8
+ adds r2, r4, 0
+ bl MenuPrint_RightAligned
+ ldr r0, _081433DC @ =gMainMenuString_Time
+ adds r6, 0x5
+ lsls r6, 24
+ lsrs r6, 24
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl MenuPrint
+ mov r0, r10
+ ldrh r1, [r0, 0xE]
+ mov r0, r9
+ bl ConvertIntToDecimalString
+ adds r2, r0, 0
+ movs r1, 0
+ strb r1, [r2]
+ movs r0, 0xF0
+ strb r0, [r2, 0x1]
+ strb r1, [r2, 0x2]
+ adds r2, 0x3
+ mov r0, r10
+ ldrb r1, [r0, 0x10]
+ adds r0, r2, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ adds r2, r0, 0
+ movs r0, 0xFF
+ strb r0, [r2]
+ mov r0, r9
+ mov r1, r8
+ adds r2, r6, 0
+ bl MenuPrint_RightAligned
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081433CC: .4byte gOtherText_Name
+_081433D0: .4byte gSaveBlock2
+_081433D4: .4byte gOtherText_IDNumber2
+_081433D8: .4byte gStringVar1
+_081433DC: .4byte gMainMenuString_Time
+ thumb_func_end sub_8143300
+
+ thumb_func_start sub_81433E0
+sub_81433E0: @ 81433E0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x8
+ strh r1, [r0]
+ adds r0, 0x8
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x8
+ strh r1, [r0]
+ adds r0, 0xA
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0xA
+ strh r1, [r0]
+ adds r0, 0xC
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0xC
+ strh r1, [r0]
+ adds r0, 0xE
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ movs r3, 0xC0
+ lsls r3, 19
+ movs r4, 0xC0
+ lsls r4, 9
+ add r0, sp, 0x4
+ mov r8, r0
+ ldr r1, _0814354C @ =gHallOfFame_Gfx
+ mov r9, r1
+ mov r2, sp
+ movs r6, 0
+ ldr r1, _08143550 @ =0x040000d4
+ movs r5, 0x80
+ lsls r5, 5
+ ldr r7, _08143554 @ =0x81000800
+ movs r0, 0x81
+ lsls r0, 24
+ mov r12, r0
+_08143444:
+ strh r6, [r2]
+ mov r0, sp
+ str r0, [r1]
+ str r3, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r3, r5
+ subs r4, r5
+ cmp r4, r5
+ bhi _08143444
+ strh r6, [r2]
+ mov r2, sp
+ str r2, [r1]
+ str r3, [r1, 0x4]
+ lsrs r0, r4, 1
+ mov r2, r12
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ movs r0, 0xE0
+ lsls r0, 19
+ movs r3, 0x80
+ lsls r3, 3
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r2, _08143550 @ =0x040000d4
+ mov r1, r8
+ str r1, [r2]
+ str r0, [r2, 0x4]
+ lsrs r0, r3, 2
+ movs r1, 0x85
+ lsls r1, 24
+ orrs r0, r1
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r1, 0xA0
+ lsls r1, 19
+ mov r0, sp
+ strh r4, [r0]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ lsrs r3, 1
+ movs r0, 0x81
+ lsls r0, 24
+ orrs r3, r0
+ str r3, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r1, 0xC0
+ lsls r1, 19
+ mov r0, r9
+ bl LZ77UnCompVram
+ movs r1, 0
+ ldr r3, _08143558 @ =0x06003800
+ movs r2, 0x1
+_081434B2:
+ lsls r0, r1, 1
+ adds r0, r3
+ strh r2, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0x3F
+ bls _081434B2
+ movs r1, 0
+ ldr r5, _0814355C @ =0x02000000
+ ldr r3, _08143560 @ =0x06003b80
+ movs r2, 0x1
+_081434CA:
+ lsls r0, r1, 1
+ adds r0, r3
+ strh r2, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0xBF
+ bls _081434CA
+ movs r1, 0
+ ldr r4, _08143564 @ =0x06003000
+ movs r3, 0x2
+ ldr r2, _08143568 @ =0x000003ff
+_081434E2:
+ lsls r0, r1, 1
+ adds r0, r4
+ strh r3, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r2
+ bls _081434E2
+ adds r2, r5, 0
+ movs r3, 0x80
+ lsls r3, 7
+ mov r4, sp
+ movs r6, 0
+ ldr r1, _08143550 @ =0x040000d4
+ movs r5, 0x80
+ lsls r5, 5
+ ldr r7, _08143554 @ =0x81000800
+ movs r0, 0x81
+ lsls r0, 24
+ mov r12, r0
+_0814350A:
+ strh r6, [r4]
+ mov r0, sp
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r2, r5
+ subs r3, r5
+ cmp r3, r5
+ bhi _0814350A
+ strh r6, [r4]
+ mov r0, sp
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ lsrs r0, r3, 1
+ mov r2, r12
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ bl ResetPaletteFade
+ ldr r0, _0814356C @ =gHallOfFame_Pal
+ movs r1, 0
+ movs r2, 0x20
+ bl LoadPalette
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814354C: .4byte gHallOfFame_Gfx
+_08143550: .4byte 0x040000d4
+_08143554: .4byte 0x81000800
+_08143558: .4byte 0x06003800
+_0814355C: .4byte 0x02000000
+_08143560: .4byte 0x06003b80
+_08143564: .4byte 0x06003000
+_08143568: .4byte 0x000003ff
+_0814356C: .4byte gHallOfFame_Pal
+ thumb_func_end sub_81433E0
+
+ thumb_func_start sub_8143570
+sub_8143570: @ 8143570
+ push {r4,lr}
+ bl remove_some_task
+ bl ResetTasks
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ ldr r1, _081435A8 @ =gReservedSpritePaletteCount
+ movs r0, 0x8
+ strb r0, [r1]
+ ldr r0, _081435AC @ =gUnknown_0840B514
+ bl LoadCompressedObjectPic
+ ldr r0, _081435B0 @ =gUnknown_0840B524
+ bl LoadCompressedObjectPalette
+ ldr r4, _081435B4 @ =gWindowConfig_81E71B4
+ adds r0, r4, 0
+ bl SetUpWindowConfig
+ adds r0, r4, 0
+ bl InitMenuWindow
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081435A8: .4byte gReservedSpritePaletteCount
+_081435AC: .4byte gUnknown_0840B514
+_081435B0: .4byte gUnknown_0840B524
+_081435B4: .4byte gWindowConfig_81E71B4
+ thumb_func_end sub_8143570
+
+ thumb_func_start sub_81435B8
+sub_81435B8: @ 81435B8
+ ldr r1, _081435D8 @ =REG_BG1CNT
+ movs r2, 0xE0
+ lsls r2, 3
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x4
+ subs r2, 0xFD
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xE
+ movs r2, 0xDA
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_081435D8: .4byte REG_BG1CNT
+ thumb_func_end sub_81435B8
+
+ thumb_func_start sub_81435DC
+sub_81435DC: @ 81435DC
+ push {r4,lr}
+ adds r2, r0, 0
+ ldr r1, [r2, 0x20]
+ ldr r0, [r2, 0x30]
+ cmp r1, r0
+ beq _08143632
+ ldrh r3, [r2, 0x20]
+ movs r1, 0x20
+ ldrsh r0, [r2, r1]
+ movs r4, 0x30
+ ldrsh r1, [r2, r4]
+ cmp r0, r1
+ bge _081435FC
+ adds r0, r3, 0
+ adds r0, 0xF
+ strh r0, [r2, 0x20]
+_081435FC:
+ ldrh r3, [r2, 0x20]
+ movs r4, 0x20
+ ldrsh r0, [r2, r4]
+ cmp r0, r1
+ ble _0814360C
+ adds r0, r3, 0
+ subs r0, 0xF
+ strh r0, [r2, 0x20]
+_0814360C:
+ ldrh r3, [r2, 0x22]
+ movs r1, 0x22
+ ldrsh r0, [r2, r1]
+ movs r4, 0x32
+ ldrsh r1, [r2, r4]
+ cmp r0, r1
+ bge _08143620
+ adds r0, r3, 0
+ adds r0, 0xA
+ strh r0, [r2, 0x22]
+_08143620:
+ ldrh r3, [r2, 0x22]
+ movs r4, 0x22
+ ldrsh r0, [r2, r4]
+ cmp r0, r1
+ ble _0814363A
+ adds r0, r3, 0
+ subs r0, 0xA
+ strh r0, [r2, 0x22]
+ b _0814363A
+_08143632:
+ movs r0, 0x1
+ strh r0, [r2, 0x2E]
+ ldr r0, _08143640 @ =nullsub_81
+ str r0, [r2, 0x1C]
+_0814363A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143640: .4byte nullsub_81
+ thumb_func_end sub_81435DC
+
+ thumb_func_start nullsub_81
+nullsub_81: @ 8143644
+ bx lr
+ thumb_func_end nullsub_81
+
+ thumb_func_start sub_8143648
+sub_8143648: @ 8143648
+ push {r4-r7,lr}
+ lsls r1, 24
+ ldr r4, _08143670 @ =gUnknown_02024E8C
+ adds r3, r4, 0
+ ldr r2, _08143674 @ =gUnknown_0840B6B8
+ ldm r2!, {r5-r7}
+ stm r3!, {r5-r7}
+ ldm r2!, {r5-r7}
+ stm r3!, {r5-r7}
+ strh r0, [r4, 0x2]
+ ldr r0, _08143678 @ =gUnknown_0840B69C
+ lsrs r1, 22
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r4, 0xC]
+ ldr r0, _0814367C @ =gSpriteAnimTable_81E7C64
+ str r0, [r4, 0x8]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08143670: .4byte gUnknown_02024E8C
+_08143674: .4byte gUnknown_0840B6B8
+_08143678: .4byte gUnknown_0840B69C
+_0814367C: .4byte gSpriteAnimTable_81E7C64
+ thumb_func_end sub_8143648
+
+ thumb_func_start sub_8143680
+sub_8143680: @ 8143680
+ push {r4-r7,lr}
+ lsls r1, 24
+ ldr r4, _081436AC @ =gUnknown_02024E8C
+ adds r3, r4, 0
+ ldr r2, _081436B0 @ =gUnknown_0840B6B8
+ ldm r2!, {r5-r7}
+ stm r3!, {r5-r7}
+ ldm r2!, {r5-r7}
+ stm r3!, {r5-r7}
+ strh r0, [r4, 0x2]
+ ldr r0, _081436B4 @ =gUnknown_0840B69C
+ lsrs r1, 22
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r4, 0xC]
+ ldr r0, _081436B8 @ =gUnknown_081EC2A4
+ ldr r0, [r0]
+ str r0, [r4, 0x8]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081436AC: .4byte gUnknown_02024E8C
+_081436B0: .4byte gUnknown_0840B6B8
+_081436B4: .4byte gUnknown_0840B69C
+_081436B8: .4byte gUnknown_081EC2A4
+ thumb_func_end sub_8143680
+
+ thumb_func_start sub_81436BC
+sub_81436BC: @ 81436BC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ adds r6, r0, 0
+ mov r9, r1
+ mov r10, r2
+ mov r8, r3
+ ldr r7, [sp, 0x34]
+ lsls r6, 16
+ lsrs r6, 16
+ mov r0, r9
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ mov r1, r10
+ lsls r1, 16
+ lsrs r1, 16
+ mov r10, r1
+ mov r2, r8
+ lsls r2, 16
+ lsrs r2, 16
+ mov r8, r2
+ lsls r0, r6, 3
+ ldr r1, _08143790 @ =gMonFrontPicTable
+ adds r0, r1
+ ldr r1, _08143794 @ =gMonFrontPicCoords
+ lsls r2, r6, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r4, _08143798 @ =gUnknown_0840B5A0
+ mov r12, r4
+ mov r5, r8
+ lsls r4, r5, 2
+ add r4, r12
+ ldr r4, [r4]
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ str r7, [sp, 0x8]
+ movs r4, 0x1
+ str r4, [sp, 0xC]
+ bl sub_800D378
+ adds r0, r6, 0
+ ldr r1, [sp, 0x30]
+ adds r2, r7, 0
+ bl species_and_otid_get_pal
+ lsls r4, r5, 4
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r4, r2
+ lsls r1, 16
+ lsrs r1, 16
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ lsls r1, r5, 24
+ lsrs r1, 24
+ mov r0, r8
+ bl sub_8143648
+ ldr r0, _0814379C @ =gUnknown_02024E8C
+ mov r5, r9
+ lsls r5, 16
+ asrs r5, 16
+ mov r9, r5
+ mov r1, r10
+ lsls r1, 16
+ asrs r1, 16
+ mov r10, r1
+ movs r3, 0xA
+ mov r2, r8
+ subs r3, r2
+ lsls r3, 24
+ lsrs r3, 24
+ mov r1, r9
+ mov r2, r10
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _081437A0 @ =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ ldrb r3, [r2, 0x5]
+ movs r1, 0xF
+ ands r1, r3
+ orrs r1, r4
+ strb r1, [r2, 0x5]
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08143790: .4byte gMonFrontPicTable
+_08143794: .4byte gMonFrontPicCoords
+_08143798: .4byte gUnknown_0840B5A0
+_0814379C: .4byte gUnknown_02024E8C
+_081437A0: .4byte gSprites
+ thumb_func_end sub_81436BC
+
+ thumb_func_start sub_81437A4
+sub_81437A4: @ 81437A4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ mov r9, r1
+ mov r10, r2
+ adds r6, r3, 0
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ mov r9, r1
+ lsls r2, 16
+ lsrs r2, 16
+ mov r10, r2
+ lsls r6, 16
+ lsrs r6, 16
+ lsls r7, r0, 3
+ ldr r1, _08143854 @ =gTrainerFrontPicTable
+ mov r8, r1
+ add r8, r7
+ ldr r1, _08143858 @ =gTrainerFrontPicCoords
+ lsls r2, r0, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r5, _0814385C @ =gUnknown_0840B5A0
+ lsls r4, r6, 2
+ adds r4, r5
+ ldr r4, [r4]
+ str r4, [sp]
+ str r0, [sp, 0x4]
+ mov r0, r8
+ bl DecompressPicFromTable_2
+ ldr r0, _08143860 @ =gTrainerFrontPicPaletteTable
+ adds r0, r7, r0
+ ldr r0, [r0]
+ lsls r4, r6, 4
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r4, r2
+ lsls r1, 16
+ lsrs r1, 16
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ lsls r1, r6, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8143680
+ ldr r0, _08143864 @ =gUnknown_02024E8C
+ mov r1, r9
+ lsls r1, 16
+ asrs r1, 16
+ mov r9, r1
+ mov r2, r10
+ lsls r2, 16
+ asrs r2, 16
+ mov r10, r2
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08143868 @ =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ ldrb r3, [r2, 0x5]
+ movs r1, 0xF
+ ands r1, r3
+ orrs r1, r4
+ strb r1, [r2, 0x5]
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08143854: .4byte gTrainerFrontPicTable
+_08143858: .4byte gTrainerFrontPicCoords
+_0814385C: .4byte gUnknown_0840B5A0
+_08143860: .4byte gTrainerFrontPicPaletteTable
+_08143864: .4byte gUnknown_02024E8C
+_08143868: .4byte gSprites
+ thumb_func_end sub_81437A4
+
+ thumb_func_start sub_814386C
+sub_814386C: @ 814386C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r1, [r5, 0x26]
+ movs r2, 0x26
+ ldrsh r0, [r5, r2]
+ cmp r0, 0x78
+ ble _08143882
+ adds r0, r5, 0
+ bl DestroySprite
+ b _081438BA
+_08143882:
+ adds r0, r1, 0x1
+ ldrh r1, [r5, 0x30]
+ adds r0, r1
+ strh r0, [r5, 0x26]
+ ldrh r4, [r5, 0x2E]
+ lsls r4, 24
+ lsrs r4, 24
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3
+ ands r0, r1
+ adds r0, 0x8
+ ldr r1, _081438C0 @ =gSineTable
+ lsls r4, 1
+ adds r4, r1
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ muls r0, r1
+ cmp r0, 0
+ bge _081438B0
+ adds r0, 0xFF
+_081438B0:
+ asrs r0, 8
+ strh r0, [r5, 0x24]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x4
+ strh r0, [r5, 0x2E]
+_081438BA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081438C0: .4byte gSineTable
+ thumb_func_end sub_814386C
+
+ thumb_func_start sub_81438C4
+sub_81438C4: @ 81438C4
+ push {r4,lr}
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0xF0
+ bl __umodsi3
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ bl Random
+ adds r2, r0, 0
+ lsls r2, 16
+ lsrs r2, 16
+ movs r0, 0x7
+ ands r2, r0
+ negs r2, r2
+ ldr r0, _08143934 @ =gSpriteTemplate_840B7A4
+ lsls r4, 16
+ asrs r4, 16
+ lsls r2, 16
+ asrs r2, 16
+ adds r1, r4, 0
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _08143938 @ =gSprites
+ adds r4, r1, r0
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x11
+ bl __umodsi3
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ bl Random
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0
+ beq _0814393C
+ movs r0, 0
+ b _0814393E
+ .align 2, 0
+_08143934: .4byte gSpriteTemplate_840B7A4
+_08143938: .4byte gSprites
+_0814393C:
+ movs r0, 0x1
+_0814393E:
+ strh r0, [r4, 0x30]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81438C4
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/intro.s b/asm/intro.s
new file mode 100644
index 000000000..21f3a236f
--- /dev/null
+++ b/asm/intro.s
@@ -0,0 +1,4710 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_813CAF4
+sub_813CAF4: @ 813CAF4
+ push {r4-r6,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _0813CB2C @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x1
+ movs r6, 0
+ strh r0, [r4, 0x26]
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bne _0813CB18
+ b _0813CC28
+_0813CB18:
+ cmp r0, 0x4
+ bgt _0813CB30
+ cmp r0, 0x2
+ beq _0813CB60
+ cmp r0, 0x2
+ bgt _0813CBC4
+ cmp r0, 0
+ beq _0813CB46
+ b _0813CC8E
+ .align 2, 0
+_0813CB2C: .4byte gTasks
+_0813CB30:
+ cmp r0, 0x1E
+ beq _0813CBEE
+ cmp r0, 0x1E
+ bgt _0813CB3E
+ cmp r0, 0x14
+ beq _0813CB8A
+ b _0813CC8E
+_0813CB3E:
+ cmp r0, 0x28
+ bne _0813CB44
+ b _0813CC56
+_0813CB44:
+ b _0813CC8E
+_0813CB46:
+ movs r1, 0x80
+ lsls r1, 19
+ movs r2, 0xE5
+ lsls r2, 6
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r0, _0813CB5C @ =REG_BG2CNT
+ strh r6, [r0]
+ movs r0, 0xFF
+ strh r0, [r4, 0x8]
+ b _0813CC8E
+ .align 2, 0
+_0813CB5C: .4byte REG_BG2CNT
+_0813CB60:
+ ldr r0, _0813CBB0 @ =0x0000ffff
+ str r0, [sp]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r1, _0813CBB4 @ =REG_BG2CNT
+ ldr r2, _0813CBB8 @ =0x00000e07
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ movs r2, 0xF5
+ lsls r2, 6
+ adds r0, r2, 0
+ strh r0, [r1]
+ strh r6, [r4, 0xA]
+ strh r6, [r4, 0xC]
+ movs r0, 0x14
+ strh r0, [r4, 0x8]
+_0813CB8A:
+ ldr r2, _0813CBBC @ =REG_BG2VOFS
+ ldr r0, _0813CBC0 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0xA]
+ strh r0, [r2]
+ subs r2, 0x2
+ ldrh r0, [r1, 0xC]
+ strh r0, [r2]
+ ldrh r0, [r1, 0xA]
+ adds r0, 0x6
+ strh r0, [r1, 0xA]
+ ldrh r0, [r1, 0xC]
+ subs r0, 0x8
+ strh r0, [r1, 0xC]
+ b _0813CC8E
+ .align 2, 0
+_0813CBB0: .4byte 0x0000ffff
+_0813CBB4: .4byte REG_BG2CNT
+_0813CBB8: .4byte 0x00000e07
+_0813CBBC: .4byte REG_BG2VOFS
+_0813CBC0: .4byte gTasks
+_0813CBC4:
+ ldr r0, _0813CC14 @ =0x0000ffff
+ str r0, [sp]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r1, _0813CC18 @ =REG_BG2CNT
+ ldr r2, _0813CC1C @ =0x00000e07
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ movs r2, 0xF5
+ lsls r2, 6
+ adds r0, r2, 0
+ strh r0, [r1]
+ strh r6, [r4, 0xA]
+ strh r6, [r4, 0xC]
+ movs r0, 0x1E
+ strh r0, [r4, 0x8]
+_0813CBEE:
+ ldr r2, _0813CC20 @ =REG_BG2VOFS
+ ldr r0, _0813CC24 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0xA]
+ strh r0, [r2]
+ subs r2, 0x2
+ ldrh r0, [r1, 0xC]
+ strh r0, [r2]
+ ldrh r0, [r1, 0xA]
+ subs r0, 0x6
+ strh r0, [r1, 0xA]
+ ldrh r0, [r1, 0xC]
+ adds r0, 0x8
+ strh r0, [r1, 0xC]
+ b _0813CC8E
+ .align 2, 0
+_0813CC14: .4byte 0x0000ffff
+_0813CC18: .4byte REG_BG2CNT
+_0813CC1C: .4byte 0x00000e07
+_0813CC20: .4byte REG_BG2VOFS
+_0813CC24: .4byte gTasks
+_0813CC28:
+ ldr r0, _0813CC98 @ =0x000037f7
+ str r0, [sp]
+ movs r0, 0x1
+ movs r1, 0x5
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _0813CC9C @ =REG_BG2CNT
+ ldr r2, _0813CCA0 @ =0x00000e07
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ movs r2, 0xF5
+ lsls r2, 6
+ adds r0, r2, 0
+ strh r0, [r1]
+ strh r6, [r4, 0xA]
+ strh r6, [r4, 0xC]
+ movs r0, 0x8
+ strh r0, [r4, 0xE]
+ movs r0, 0x28
+ strh r0, [r4, 0x8]
+_0813CC56:
+ ldr r2, _0813CCA4 @ =REG_BG2VOFS
+ ldr r1, _0813CCA8 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r3, r0, r1
+ ldrh r0, [r3, 0xA]
+ strh r0, [r2]
+ ldr r1, _0813CCAC @ =REG_BG2HOFS
+ ldrh r0, [r3, 0xC]
+ strh r0, [r1]
+ ldrh r0, [r3, 0xA]
+ ldrh r2, [r3, 0xE]
+ subs r0, r2
+ strh r0, [r3, 0xA]
+ ldrh r1, [r3, 0xC]
+ adds r0, r2, r1
+ strh r0, [r3, 0xC]
+ ldrh r1, [r3, 0x26]
+ movs r0, 0x7
+ ands r0, r1
+ cmp r0, 0
+ bne _0813CC8E
+ lsls r0, r2, 16
+ cmp r0, 0
+ beq _0813CC8E
+ subs r0, r2, 0x1
+ strh r0, [r3, 0xE]
+_0813CC8E:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813CC98: .4byte 0x000037f7
+_0813CC9C: .4byte REG_BG2CNT
+_0813CCA0: .4byte 0x00000e07
+_0813CCA4: .4byte REG_BG2VOFS
+_0813CCA8: .4byte gTasks
+_0813CCAC: .4byte REG_BG2HOFS
+ thumb_func_end sub_813CAF4
+
+ thumb_func_start intro_reset_and_hide_bgs
+intro_reset_and_hide_bgs: @ 813CCB0
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0x1C
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x3E
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ bx lr
+ thumb_func_end intro_reset_and_hide_bgs
+
+ thumb_func_start sub_813CCE8
+sub_813CCE8: @ 813CCE8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r1, _0813CD0C @ =gTasks
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r2, r1, 0
+ cmp r0, 0x4
+ bhi _0813CD28
+ lsls r0, 2
+ ldr r1, _0813CD10 @ =_0813CD14
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813CD0C: .4byte gTasks
+_0813CD10: .4byte _0813CD14
+ .align 2, 0
+_0813CD14:
+ .4byte _0813CD28
+ .4byte _0813CD5C
+ .4byte _0813CD8C
+ .4byte _0813CDA8
+ .4byte _0813CDFC
+_0813CD28:
+ ldr r1, _0813CD54 @ =REG_BLDCNT
+ ldr r4, _0813CD58 @ =0x00003f50
+ adds r0, r4, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r4, 0x80
+ lsls r4, 5
+ adds r0, r4, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0
+ strh r0, [r1]
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x40
+ strh r1, [r0, 0xA]
+ movs r1, 0x1
+ strh r1, [r0, 0x8]
+ b _0813CE26
+ .align 2, 0
+_0813CD54: .4byte REG_BLDCNT
+_0813CD58: .4byte 0x00003f50
+_0813CD5C:
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r2, r0, r2
+ ldrh r1, [r2, 0xA]
+ movs r3, 0xA
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ beq _0813CD78
+ subs r0, r1, 0x1
+ strh r0, [r2, 0xA]
+ movs r4, 0xA
+ ldrsh r0, [r2, r4]
+ b _0813CDC2
+_0813CD78:
+ ldr r1, _0813CD84 @ =REG_BLDALPHA
+ ldr r0, _0813CD88 @ =gUnknown_08393E64
+ ldrh r0, [r0]
+ strh r0, [r1]
+ movs r0, 0x80
+ b _0813CDEA
+ .align 2, 0
+_0813CD84: .4byte REG_BLDALPHA
+_0813CD88: .4byte gUnknown_08393E64
+_0813CD8C:
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r1, r0, r2
+ ldrh r0, [r1, 0xA]
+ movs r3, 0xA
+ ldrsh r2, [r1, r3]
+ cmp r2, 0
+ bne _0813CE0E
+ strh r2, [r1, 0xA]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0813CE26
+_0813CDA8:
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r2, r0, r2
+ ldrh r1, [r2, 0xA]
+ movs r4, 0xA
+ ldrsh r0, [r2, r4]
+ cmp r0, 0x3D
+ bgt _0813CDE0
+ adds r0, r1, 0x1
+ strh r0, [r2, 0xA]
+ movs r1, 0xA
+ ldrsh r0, [r2, r1]
+_0813CDC2:
+ lsrs r1, r0, 31
+ adds r0, r1
+ movs r2, 0xFF
+ lsls r2, 1
+ ldr r3, _0813CDD8 @ =REG_BLDALPHA
+ ldr r1, _0813CDDC @ =gUnknown_08393E64
+ ands r0, r2
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r3]
+ b _0813CE26
+ .align 2, 0
+_0813CDD8: .4byte REG_BLDALPHA
+_0813CDDC: .4byte gUnknown_08393E64
+_0813CDE0:
+ ldr r1, _0813CDF4 @ =REG_BLDALPHA
+ ldr r0, _0813CDF8 @ =gUnknown_08393E64
+ ldrh r0, [r0, 0x3E]
+ strh r0, [r1]
+ movs r0, 0x10
+_0813CDEA:
+ strh r0, [r2, 0xA]
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ b _0813CE26
+ .align 2, 0
+_0813CDF4: .4byte REG_BLDALPHA
+_0813CDF8: .4byte gUnknown_08393E64
+_0813CDFC:
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ adds r1, r0, r2
+ ldrh r0, [r1, 0xA]
+ movs r4, 0xA
+ ldrsh r2, [r1, r4]
+ cmp r2, 0
+ beq _0813CE14
+_0813CE0E:
+ subs r0, 0x1
+ strh r0, [r1, 0xA]
+ b _0813CE26
+_0813CE14:
+ ldr r0, _0813CE2C @ =REG_BLDCNT
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r2, [r0]
+ adds r0, 0x2
+ strh r2, [r0]
+ adds r0, r3, 0
+ bl DestroyTask
+_0813CE26:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813CE2C: .4byte REG_BLDCNT
+ thumb_func_end sub_813CCE8
+
+ thumb_func_start sub_813CE30
+sub_813CE30: @ 813CE30
+ push {r4,lr}
+ sub sp, 0x24
+ lsls r2, 16
+ lsrs r2, 16
+ movs r4, 0x80
+ lsls r4, 8
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ mov r4, sp
+ strh r0, [r4, 0x8]
+ mov r0, sp
+ strh r1, [r0, 0xA]
+ strh r2, [r0, 0xC]
+ strh r2, [r0, 0xE]
+ strh r3, [r0, 0x10]
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl BgAffineSet
+ ldr r1, _0813CE84 @ =REG_BG2PA
+ ldrh r0, [r4]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldrh r0, [r4, 0x2]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldrh r0, [r4, 0x4]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldrh r0, [r4, 0x6]
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r0, [r4, 0x8]
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, [r4, 0xC]
+ str r0, [r1]
+ add sp, 0x24
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813CE84: .4byte REG_BG2PA
+ thumb_func_end sub_813CE30
+
+ thumb_func_start sub_813CE88
+sub_813CE88: @ 813CE88
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ ldr r4, [sp, 0x30]
+ lsls r0, 16
+ lsrs r7, r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ mov r9, r1
+ lsls r2, 16
+ lsrs r2, 16
+ mov r10, r2
+ lsls r3, 16
+ lsrs r3, 16
+ mov r8, r3
+ lsls r4, 24
+ lsrs r6, r4, 24
+ cmp r6, 0
+ beq _0813CEF0
+ lsls r0, r7, 3
+ ldr r1, _0813CEE4 @ =gMonFrontPicTable
+ adds r0, r1
+ ldr r1, _0813CEE8 @ =gMonFrontPicCoords
+ lsls r2, r7, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r5, _0813CEEC @ =gUnknown_0840B5A0
+ mov r6, r8
+ lsls r4, r6, 2
+ adds r4, r5
+ ldr r4, [r4]
+ str r4, [sp]
+ str r7, [sp, 0x4]
+ movs r4, 0
+ str r4, [sp, 0x8]
+ movs r4, 0x1
+ str r4, [sp, 0xC]
+ bl sub_800D378
+ b _0813CF1C
+ .align 2, 0
+_0813CEE4: .4byte gMonFrontPicTable
+_0813CEE8: .4byte gMonFrontPicCoords
+_0813CEEC: .4byte gUnknown_0840B5A0
+_0813CEF0:
+ lsls r0, r7, 3
+ ldr r1, _0813CF90 @ =gMonBackPicTable
+ adds r0, r1
+ ldr r1, _0813CF94 @ =gMonBackPicCoords
+ lsls r2, r7, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r4, _0813CF98 @ =gUnknown_0840B5A0
+ mov r12, r4
+ mov r5, r8
+ lsls r4, r5, 2
+ add r4, r12
+ ldr r4, [r4]
+ str r4, [sp]
+ str r7, [sp, 0x4]
+ str r6, [sp, 0x8]
+ str r6, [sp, 0xC]
+ bl sub_800D378
+_0813CF1C:
+ ldr r2, _0813CF9C @ =0x0000ffff
+ adds r0, r7, 0
+ movs r1, 0
+ bl species_and_otid_get_pal
+ mov r6, r8
+ lsls r4, r6, 4
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r4, r2
+ lsls r1, 16
+ lsrs r1, 16
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ lsls r1, r6, 24
+ lsrs r1, 24
+ mov r0, r8
+ bl sub_8143648
+ ldr r0, _0813CFA0 @ =gUnknown_02024E8C
+ mov r3, r9
+ lsls r1, r3, 16
+ asrs r1, 16
+ mov r5, r10
+ lsls r2, r5, 16
+ asrs r2, 16
+ mov r3, r8
+ adds r3, 0x1
+ lsls r3, 26
+ lsrs r3, 24
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0813CFA4 @ =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ ldrb r3, [r2, 0x5]
+ movs r1, 0xF
+ ands r1, r3
+ orrs r1, r4
+ movs r3, 0xD
+ negs r3, r3
+ ands r1, r3
+ movs r3, 0x4
+ orrs r1, r3
+ strb r1, [r2, 0x5]
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0813CF90: .4byte gMonBackPicTable
+_0813CF94: .4byte gMonBackPicCoords
+_0813CF98: .4byte gUnknown_0840B5A0
+_0813CF9C: .4byte 0x0000ffff
+_0813CFA0: .4byte gUnknown_02024E8C
+_0813CFA4: .4byte gSprites
+ thumb_func_end sub_813CE88
+
+ thumb_func_start sub_813CFA8
+sub_813CFA8: @ 813CFA8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ mov r9, r1
+ mov r10, r2
+ adds r6, r3, 0
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ mov r9, r1
+ lsls r2, 16
+ lsrs r2, 16
+ mov r10, r2
+ lsls r6, 16
+ lsrs r6, 16
+ lsls r7, r0, 3
+ ldr r1, _0813D068 @ =gTrainerBackPicTable
+ mov r8, r1
+ add r8, r7
+ ldr r1, _0813D06C @ =gTrainerBackPicCoords
+ lsls r2, r0, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r5, _0813D070 @ =gUnknown_0840B5A0
+ lsls r4, r6, 2
+ adds r4, r5
+ ldr r4, [r4]
+ str r4, [sp]
+ str r0, [sp, 0x4]
+ mov r0, r8
+ bl DecompressPicFromTable_2
+ ldr r0, _0813D074 @ =gTrainerBackPicPaletteTable
+ adds r0, r7, r0
+ ldr r0, [r0]
+ lsls r4, r6, 4
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r4, r2
+ lsls r1, 16
+ lsrs r1, 16
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ lsls r1, r6, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_8143680
+ ldr r0, _0813D078 @ =gUnknown_02024E8C
+ ldr r1, _0813D07C @ =gUnknown_0840B064
+ str r1, [r0, 0x8]
+ mov r1, r9
+ lsls r1, 16
+ asrs r1, 16
+ mov r9, r1
+ mov r2, r10
+ lsls r2, 16
+ asrs r2, 16
+ mov r10, r2
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0813D080 @ =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ ldrb r3, [r2, 0x5]
+ movs r1, 0xF
+ ands r1, r3
+ orrs r1, r4
+ movs r3, 0xD
+ negs r3, r3
+ ands r1, r3
+ movs r3, 0x4
+ orrs r1, r3
+ strb r1, [r2, 0x5]
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0813D068: .4byte gTrainerBackPicTable
+_0813D06C: .4byte gTrainerBackPicCoords
+_0813D070: .4byte gUnknown_0840B5A0
+_0813D074: .4byte gTrainerBackPicPaletteTable
+_0813D078: .4byte gUnknown_02024E8C
+_0813D07C: .4byte gUnknown_0840B064
+_0813D080: .4byte gSprites
+ thumb_func_end sub_813CFA8
+
+ thumb_func_start sub_813D084
+sub_813D084: @ 813D084
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0813D0A0
+ cmp r0, 0x1
+ ble _0813D096
+ cmp r0, 0x2
+ beq _0813D0A8
+_0813D096:
+ ldr r2, _0813D09C @ =0x00003ff6
+ b _0813D0AA
+ .align 2, 0
+_0813D09C: .4byte 0x00003ff6
+_0813D0A0:
+ ldr r2, _0813D0A4 @ =0x000031df
+ b _0813D0AA
+ .align 2, 0
+_0813D0A4: .4byte 0x000031df
+_0813D0A8:
+ ldr r2, _0813D0C0 @ =0x0000518c
+_0813D0AA:
+ ldr r0, _0813D0C4 @ =gPlttBufferUnfaded
+ movs r1, 0xF1
+ lsls r1, 1
+ adds r0, r1
+ strh r2, [r0]
+ ldr r0, _0813D0C8 @ =gPlttBufferFaded
+ adds r0, r1
+ strh r2, [r0]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D0C0: .4byte 0x0000518c
+_0813D0C4: .4byte gPlttBufferUnfaded
+_0813D0C8: .4byte gPlttBufferFaded
+ thumb_func_end sub_813D084
+
+ thumb_func_start sub_813D0CC
+sub_813D0CC: @ 813D0CC
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xBF
+ ble _0813D148
+ ldrh r1, [r4, 0x34]
+ movs r2, 0x34
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _0813D0EA
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x34]
+ b _0813D14E
+_0813D0EA:
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x32]
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ movs r0, 0x32
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 5
+ subs r0, r1
+ movs r1, 0x64
+ bl __divsi3
+ strh r0, [r4, 0x32]
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ adds r0, r1, 0
+ subs r0, 0xC0
+ cmp r0, 0
+ bge _0813D12C
+ adds r0, 0x7F
+_0813D12C:
+ asrs r0, 7
+ adds r0, 0x9
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xF
+ bls _0813D13A
+ movs r0, 0xF
+_0813D13A:
+ lsls r2, r0, 4
+ ldrb r1, [r4, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+ b _0813D14E
+_0813D148:
+ adds r0, r4, 0
+ bl DestroySprite
+_0813D14E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813D0CC
+
+ thumb_func_start sub_813D158
+sub_813D158: @ 813D158
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r2, _0813D1CC @ =gSprites
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ movs r3, 0x3C
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _0813D1D4
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r0, r3
+ strh r0, [r4, 0x22]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAnim
+ movs r0, 0x80
+ lsls r0, 3
+ strh r0, [r4, 0x32]
+ ldrh r1, [r4, 0x30]
+ movs r0, 0x3
+ ands r0, r1
+ lsls r0, 3
+ strh r0, [r4, 0x34]
+ ldr r0, _0813D1D0 @ =sub_813D0CC
+ str r0, [r4, 0x1C]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4, 0x3]
+ movs r1, 0xC0
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0x3
+ movs r3, 0x2
+ bl CalcCenterToCornerVec
+ b _0813D200
+ .align 2, 0
+_0813D1CC: .4byte gSprites
+_0813D1D0: .4byte sub_813D0CC
+_0813D1D4:
+ ldrh r0, [r1, 0x24]
+ strh r0, [r4, 0x24]
+ movs r0, 0x3C
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x26]
+ strh r0, [r4, 0x26]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x20]
+ strh r0, [r4, 0x20]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x22]
+ strh r0, [r4, 0x22]
+_0813D200:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813D158
+
+ thumb_func_start sub_813D208
+sub_813D208: @ 813D208
+ push {lr}
+ adds r1, r0, 0
+ movs r2, 0x2E
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _0813D218
+ ldr r0, _0813D21C @ =sub_813D220
+ str r0, [r1, 0x1C]
+_0813D218:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D21C: .4byte sub_813D220
+ thumb_func_end sub_813D208
+
+ thumb_func_start sub_813D220
+sub_813D220: @ 813D220
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ adds r7, r0, 0
+ ldrh r4, [r7, 0x20]
+ movs r1, 0x20
+ ldrsh r0, [r7, r1]
+ cmp r0, 0x74
+ bgt _0813D260
+ ldrh r0, [r7, 0x26]
+ ldrh r1, [r7, 0x22]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r7, 0x22]
+ strh r1, [r7, 0x26]
+ adds r0, r4, 0x4
+ strh r0, [r7, 0x20]
+ ldr r0, _0813D258 @ =0x0000fffc
+ strh r0, [r7, 0x24]
+ movs r0, 0x80
+ strh r0, [r7, 0x36]
+ ldr r0, _0813D25C @ =sub_813D368
+ str r0, [r7, 0x1C]
+ b _0813D352
+ .align 2, 0
+_0813D258: .4byte 0x0000fffc
+_0813D25C: .4byte sub_813D368
+_0813D260:
+ ldrh r1, [r7, 0x36]
+ ldr r5, _0813D364 @ =gSineTable
+ lsls r0, r1, 24
+ lsrs r0, 23
+ adds r0, r5
+ ldrh r2, [r0]
+ adds r0, r1, 0
+ adds r0, 0x40
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r5
+ ldrh r3, [r0]
+ adds r1, 0x2
+ strh r1, [r7, 0x36]
+ lsls r2, 16
+ asrs r0, r2, 16
+ cmp r0, 0
+ bge _0813D286
+ adds r0, 0x1F
+_0813D286:
+ asrs r0, 5
+ strh r0, [r7, 0x26]
+ subs r0, r4, 0x1
+ strh r0, [r7, 0x20]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0813D29C
+ ldrh r0, [r7, 0x22]
+ adds r0, 0x1
+ strh r0, [r7, 0x22]
+_0813D29C:
+ lsls r0, r3, 16
+ asrs r0, 16
+ negs r0, r0
+ cmp r0, 0
+ bge _0813D2A8
+ adds r0, 0xF
+_0813D2A8:
+ lsls r1, r0, 12
+ lsrs r1, 16
+ ldrh r4, [r7, 0x32]
+ ldrh r3, [r7, 0x34]
+ adds r0, r1, 0
+ subs r0, 0x10
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r5
+ ldrh r2, [r0]
+ adds r1, 0x30
+ lsls r1, 24
+ lsrs r1, 23
+ adds r1, r5
+ movs r0, 0
+ ldrsh r1, [r1, r0]
+ adds r0, r1, 0
+ muls r0, r4
+ cmp r0, 0
+ bge _0813D2D2
+ adds r0, 0xFF
+_0813D2D2:
+ lsls r0, 8
+ lsrs r0, 16
+ mov r8, r0
+ lsls r0, r2, 16
+ asrs r2, r0, 16
+ negs r0, r2
+ muls r0, r3
+ cmp r0, 0
+ bge _0813D2E6
+ adds r0, 0xFF
+_0813D2E6:
+ lsls r0, 8
+ lsrs r0, 16
+ mov r10, r0
+ adds r0, r2, 0
+ muls r0, r4
+ cmp r0, 0
+ bge _0813D2F6
+ adds r0, 0xFF
+_0813D2F6:
+ lsls r0, 8
+ lsrs r5, r0, 16
+ adds r0, r1, 0
+ muls r0, r3
+ cmp r0, 0
+ bge _0813D304
+ adds r0, 0xFF
+_0813D304:
+ lsls r6, r0, 8
+ lsrs r6, 16
+ ldrh r0, [r7, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ str r3, [sp]
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ ldrh r0, [r7, 0x30]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r5
+ mov r1, r10
+ lsls r5, r1, 16
+ lsrs r3, r5, 16
+ lsls r4, r6, 16
+ str r6, [sp]
+ mov r1, r8
+ mov r2, r9
+ bl SetOamMatrix
+ ldrh r0, [r7, 0x30]
+ adds r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r5, 1
+ lsrs r5, 16
+ lsls r4, 1
+ lsrs r4, 16
+ str r4, [sp]
+ mov r1, r8
+ mov r2, r9
+ adds r3, r5, 0
+ bl SetOamMatrix
+_0813D352:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D364: .4byte gSineTable
+ thumb_func_end sub_813D220
+
+ thumb_func_start sub_813D368
+sub_813D368: @ 813D368
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x3A]
+ adds r1, 0x40
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x3A]
+ adds r1, 0x40
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x3A]
+ adds r1, 0x40
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ ldrh r1, [r4, 0x36]
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x40
+ beq _0813D400
+ adds r0, r1, 0
+ subs r0, 0x8
+ strh r0, [r4, 0x36]
+ ldrh r0, [r4, 0x36]
+ adds r1, r0, 0
+ ldr r2, _0813D3FC @ =gSineTable
+ adds r0, 0x40
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ cmp r0, 0
+ bge _0813D3E2
+ adds r0, 0x3F
+_0813D3E2:
+ asrs r0, 6
+ strh r0, [r4, 0x24]
+ lsls r0, r1, 24
+ lsrs r0, 23
+ adds r0, r2
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bge _0813D3F6
+ adds r0, 0x3F
+_0813D3F6:
+ asrs r0, 6
+ strh r0, [r4, 0x26]
+ b _0813D408
+ .align 2, 0
+_0813D3FC: .4byte gSineTable
+_0813D400:
+ movs r0, 0
+ strh r0, [r4, 0x36]
+ ldr r0, _0813D410 @ =sub_813D414
+ str r0, [r4, 0x1C]
+_0813D408:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D410: .4byte sub_813D414
+ thumb_func_end sub_813D368
+
+ thumb_func_start sub_813D414
+sub_813D414: @ 813D414
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r2, 0x2E
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x2
+ beq _0813D474
+ ldrh r0, [r1, 0x36]
+ adds r0, 0x8
+ strh r0, [r1, 0x36]
+ ldr r3, _0813D470 @ =gSineTable
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r3
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ cmp r0, 0
+ bge _0813D438
+ adds r0, 0xF
+_0813D438:
+ asrs r0, 4
+ adds r0, 0x40
+ lsls r0, 16
+ lsrs r2, r0, 16
+ adds r0, r2, 0
+ adds r0, 0x40
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r3
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ cmp r0, 0
+ bge _0813D454
+ adds r0, 0x3F
+_0813D454:
+ asrs r0, 6
+ strh r0, [r1, 0x24]
+ lsls r0, r2, 24
+ lsrs r0, 23
+ adds r0, r3
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ bge _0813D468
+ adds r0, 0x3F
+_0813D468:
+ asrs r0, 6
+ strh r0, [r1, 0x26]
+ b _0813D478
+ .align 2, 0
+_0813D470: .4byte gSineTable
+_0813D474:
+ ldr r0, _0813D480 @ =sub_813D484
+ str r0, [r1, 0x1C]
+_0813D478:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D480: .4byte sub_813D484
+ thumb_func_end sub_813D414
+
+ thumb_func_start sub_813D484
+sub_813D484: @ 813D484
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r2, [r4, 0x22]
+ movs r0, 0x22
+ ldrsh r1, [r4, r0]
+ movs r3, 0x38
+ ldrsh r0, [r4, r3]
+ cmp r1, r0
+ bge _0813D49C
+ adds r0, r2, 0x4
+ strh r0, [r4, 0x22]
+ b _0813D4F8
+_0813D49C:
+ movs r0, 0x1
+ strh r0, [r4, 0x3C]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r0, r3
+ strh r0, [r4, 0x22]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAnim
+ movs r0, 0x80
+ lsls r0, 3
+ strh r0, [r4, 0x32]
+ ldrh r1, [r4, 0x30]
+ movs r0, 0x3
+ ands r0, r1
+ lsls r0, 3
+ strh r0, [r4, 0x34]
+ ldr r0, _0813D500 @ =sub_813D0CC
+ str r0, [r4, 0x1C]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4, 0x3]
+ movs r1, 0xC0
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0x3
+ movs r3, 0x2
+ bl CalcCenterToCornerVec
+_0813D4F8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D500: .4byte sub_813D0CC
+ thumb_func_end sub_813D484
+
+ thumb_func_start sub_813D504
+sub_813D504: @ 813D504
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r2, [r4, 0x22]
+ movs r0, 0x22
+ ldrsh r1, [r4, r0]
+ movs r3, 0x38
+ ldrsh r0, [r4, r3]
+ cmp r1, r0
+ bge _0813D51C
+ adds r0, r2, 0x4
+ strh r0, [r4, 0x22]
+ b _0813D578
+_0813D51C:
+ movs r0, 0x1
+ strh r0, [r4, 0x3C]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r0, r3
+ strh r0, [r4, 0x22]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAnim
+ movs r0, 0x80
+ lsls r0, 3
+ strh r0, [r4, 0x32]
+ ldrh r1, [r4, 0x30]
+ movs r0, 0x3
+ ands r0, r1
+ lsls r0, 3
+ strh r0, [r4, 0x34]
+ ldr r0, _0813D580 @ =sub_813D0CC
+ str r0, [r4, 0x1C]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4, 0x3]
+ movs r1, 0xC0
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0x3
+ movs r3, 0x2
+ bl CalcCenterToCornerVec
+_0813D578:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D580: .4byte sub_813D0CC
+ thumb_func_end sub_813D504
+
+ thumb_func_start sub_813D584
+sub_813D584: @ 813D584
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldr r6, [sp, 0x34]
+ ldr r0, [sp, 0x38]
+ mov r8, r0
+ lsls r4, 16
+ lsls r5, 16
+ lsls r2, 16
+ lsrs r2, 16
+ str r2, [sp, 0x8]
+ lsls r3, 16
+ lsrs r3, 16
+ str r3, [sp, 0xC]
+ lsls r6, 16
+ lsrs r6, 16
+ mov r1, r8
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ ldr r0, _0813D640 @ =gSpriteTemplate_840AE20
+ lsrs r2, r4, 16
+ mov r10, r2
+ asrs r4, 16
+ lsrs r1, r5, 16
+ str r1, [sp, 0x4]
+ asrs r5, 16
+ adds r1, r4, 0
+ adds r2, r5, 0
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r2, _0813D644 @ =gSprites
+ mov r9, r2
+ lsls r0, r7, 4
+ adds r0, r7
+ lsls r5, r0, 2
+ adds r4, r5, r2
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ strh r0, [r4, 0x3C]
+ mov r0, sp
+ ldrh r0, [r0, 0xC]
+ strh r0, [r4, 0x30]
+ mov r1, sp
+ ldrh r1, [r1, 0x8]
+ strh r1, [r4, 0x32]
+ mov r2, sp
+ ldrh r2, [r2, 0x8]
+ strh r2, [r4, 0x34]
+ strh r6, [r4, 0x38]
+ mov r0, sp
+ ldrh r0, [r0, 0x8]
+ strh r0, [r4, 0x3A]
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ movs r0, 0x1F
+ ldr r1, [sp, 0xC]
+ ands r1, r0
+ lsls r1, 1
+ ldrb r2, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl CalcCenterToCornerVec
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAnim
+ mov r1, r8
+ cmp r1, 0
+ bne _0813D64C
+ mov r0, r9
+ adds r0, 0x1C
+ adds r0, r5, r0
+ ldr r1, _0813D648 @ =sub_813D208
+ b _0813D654
+ .align 2, 0
+_0813D640: .4byte gSpriteTemplate_840AE20
+_0813D644: .4byte gSprites
+_0813D648: .4byte sub_813D208
+_0813D64C:
+ mov r0, r9
+ adds r0, 0x1C
+ adds r0, r5, r0
+ ldr r1, _0813D774 @ =sub_813D504
+_0813D654:
+ str r1, [r0]
+ str r7, [sp, 0x10]
+ mov r2, r10
+ lsls r2, 16
+ asrs r2, 16
+ mov r10, r2
+ ldr r0, [sp, 0x4]
+ lsls r0, 16
+ asrs r0, 16
+ mov r8, r0
+ ldr r0, _0813D778 @ =gSpriteTemplate_840AE20
+ mov r1, r10
+ mov r2, r8
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r5, _0813D77C @ =gSprites
+ lsls r4, r7, 4
+ adds r4, r7
+ lsls r4, 2
+ adds r0, r4, r5
+ mov r1, sp
+ ldrh r1, [r1, 0x10]
+ strh r1, [r0, 0x3C]
+ ldr r2, [sp, 0xC]
+ adds r2, 0x1
+ mov r9, r2
+ strh r2, [r0, 0x30]
+ ldrb r1, [r0, 0x1]
+ movs r2, 0x3
+ orrs r1, r2
+ strb r1, [r0, 0x1]
+ mov r2, r9
+ movs r1, 0x1F
+ ands r2, r1
+ lsls r2, 1
+ ldrb r3, [r0, 0x3]
+ movs r6, 0x3F
+ negs r6, r6
+ adds r1, r6, 0
+ ands r1, r3
+ orrs r1, r2
+ strb r1, [r0, 0x3]
+ movs r1, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl CalcCenterToCornerVec
+ ldr r2, _0813D780 @ =gSprites + 0x1C
+ adds r4, r2
+ ldr r0, _0813D784 @ =sub_813D158
+ str r0, [r4]
+ ldr r0, _0813D778 @ =gSpriteTemplate_840AE20
+ mov r1, r10
+ mov r2, r8
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r4, r7, 4
+ adds r4, r7
+ lsls r4, 2
+ adds r5, r4, r5
+ mov r1, sp
+ ldrh r1, [r1, 0x10]
+ strh r1, [r5, 0x3C]
+ ldr r2, [sp, 0xC]
+ adds r2, 0x2
+ mov r8, r2
+ strh r2, [r5, 0x30]
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldrb r0, [r5, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r5, 0x1]
+ mov r0, r8
+ movs r2, 0x1F
+ ands r0, r2
+ lsls r0, 1
+ ldrb r1, [r5, 0x3]
+ ands r6, r1
+ orrs r6, r0
+ strb r6, [r5, 0x3]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl CalcCenterToCornerVec
+ ldr r0, _0813D780 @ =gSprites + 0x1C
+ adds r4, r0
+ ldr r1, _0813D784 @ =sub_813D158
+ str r1, [r4]
+ ldr r2, [sp, 0xC]
+ lsls r0, r2, 24
+ lsrs r0, 24
+ ldr r5, [sp, 0x8]
+ adds r5, 0x20
+ lsls r4, r5, 16
+ lsrs r4, 16
+ str r4, [sp]
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ mov r0, r9
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ str r4, [sp]
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ mov r1, r8
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r5, 17
+ lsrs r5, 16
+ str r5, [sp]
+ mov r0, r8
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ ldr r0, [sp, 0x10]
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0813D774: .4byte sub_813D504
+_0813D778: .4byte gSpriteTemplate_840AE20
+_0813D77C: .4byte gSprites
+_0813D780: .4byte gSprites + 0x1C
+_0813D784: .4byte sub_813D158
+ thumb_func_end sub_813D584
+
+ thumb_func_start sub_813D788
+sub_813D788: @ 813D788
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bhi _0813D830
+ lsls r0, 2
+ ldr r1, _0813D7A0 @ =_0813D7A4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813D7A0: .4byte _0813D7A4
+ .align 2, 0
+_0813D7A4:
+ .4byte _0813D7B8
+ .4byte _0813D7C6
+ .4byte _0813D7E4
+ .4byte _0813D80C
+ .4byte _0813D816
+_0813D7B8:
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ ldrh r0, [r4, 0x20]
+ subs r0, 0x1
+ b _0813D82E
+_0813D7C6:
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ ldr r0, _0813D7E0 @ =gIntroFrameCounter
+ ldr r0, [r0]
+ movs r1, 0x7
+ ands r0, r1
+ cmp r0, 0
+ bne _0813D87A
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x1
+ b _0813D82E
+ .align 2, 0
+_0813D7E0: .4byte gIntroFrameCounter
+_0813D7E4:
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAnimIfDifferent
+ ldrh r2, [r4, 0x20]
+ movs r1, 0x20
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x78
+ ble _0813D802
+ ldr r0, _0813D808 @ =gIntroFrameCounter
+ ldr r0, [r0]
+ movs r1, 0x7
+ ands r0, r1
+ cmp r0, 0
+ beq _0813D83C
+_0813D802:
+ adds r0, r2, 0x1
+ b _0813D82E
+ .align 2, 0
+_0813D808: .4byte gIntroFrameCounter
+_0813D80C:
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAnimIfDifferent
+ b _0813D830
+_0813D816:
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+ ldrh r2, [r4, 0x20]
+ movs r0, 0x20
+ ldrsh r1, [r4, r0]
+ movs r0, 0x20
+ negs r0, r0
+ cmp r1, r0
+ ble _0813D830
+ subs r0, r2, 0x2
+_0813D82E:
+ strh r0, [r4, 0x20]
+_0813D830:
+ ldr r0, _0813D84C @ =gIntroFrameCounter
+ ldr r0, [r0]
+ movs r1, 0x7
+ ands r0, r1
+ cmp r0, 0
+ bne _0813D87A
+_0813D83C:
+ movs r1, 0x26
+ ldrsh r5, [r4, r1]
+ cmp r5, 0
+ beq _0813D850
+ movs r0, 0
+ strh r0, [r4, 0x26]
+ b _0813D87A
+ .align 2, 0
+_0813D84C: .4byte gIntroFrameCounter
+_0813D850:
+ bl Random
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0x1
+ beq _0813D878
+ cmp r1, 0x1
+ bgt _0813D866
+ cmp r1, 0
+ beq _0813D86E
+ b _0813D87A
+_0813D866:
+ cmp r1, 0x3
+ bgt _0813D87A
+ strh r5, [r4, 0x26]
+ b _0813D87A
+_0813D86E:
+ ldr r0, _0813D874 @ =0x0000ffff
+ strh r0, [r4, 0x26]
+ b _0813D87A
+ .align 2, 0
+_0813D874: .4byte 0x0000ffff
+_0813D878:
+ strh r1, [r4, 0x26]
+_0813D87A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813D788
+
+ thumb_func_start sub_813D880
+sub_813D880: @ 813D880
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _0813D89A
+ cmp r0, 0x1
+ ble _0813D8E2
+ cmp r0, 0x2
+ beq _0813D8BA
+ cmp r0, 0x3
+ beq _0813D8D4
+ b _0813D8E2
+_0813D89A:
+ movs r2, 0x24
+ ldrsh r0, [r4, r2]
+ movs r2, 0x20
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ ldr r1, _0813D8B0 @ =0x0000012f
+ cmp r0, r1
+ bgt _0813D8B4
+ ldrh r0, [r4, 0x24]
+ adds r0, 0x8
+ b _0813D8E0
+ .align 2, 0
+_0813D8B0: .4byte 0x0000012f
+_0813D8B4:
+ movs r0, 0x2
+ strh r0, [r4, 0x2E]
+ b _0813D8E2
+_0813D8BA:
+ movs r1, 0x24
+ ldrsh r0, [r4, r1]
+ movs r2, 0x20
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ cmp r0, 0x78
+ ble _0813D8CE
+ ldrh r0, [r4, 0x24]
+ subs r0, 0x1
+ b _0813D8E0
+_0813D8CE:
+ movs r0, 0x3
+ strh r0, [r4, 0x2E]
+ b _0813D8E2
+_0813D8D4:
+ ldrh r1, [r4, 0x24]
+ movs r2, 0x24
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _0813D8E2
+ subs r0, r1, 0x2
+_0813D8E0:
+ strh r0, [r4, 0x24]
+_0813D8E2:
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x8
+ bl Sin
+ ldr r1, _0813D904 @ =gUnknown_0203935A
+ ldrh r1, [r1]
+ subs r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x4
+ strh r0, [r4, 0x30]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813D904: .4byte gUnknown_0203935A
+ thumb_func_end sub_813D880
+
+ thumb_func_start sub_813D908
+sub_813D908: @ 813D908
+ push {lr}
+ adds r3, r0, 0
+ ldr r2, _0813D930 @ =gTasks
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0813D934
+ adds r0, r3, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ b _0813D94E
+ .align 2, 0
+_0813D930: .4byte gTasks
+_0813D934:
+ cmp r0, 0x4
+ beq _0813D948
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ b _0813D94E
+_0813D948:
+ adds r0, r3, 0
+ bl DestroySprite
+_0813D94E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813D908
+
+ thumb_func_start sub_813D954
+sub_813D954: @ 813D954
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ lsls r1, 16
+ lsrs r6, r1, 16
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ movs r5, 0
+ ldr r7, _0813DA48 @ =gUnknown_0840AF50
+ lsls r0, 16
+ mov r9, r0
+ lsls r0, r6, 16
+ str r0, [sp, 0x4]
+ mov r1, r9
+ asrs r1, 16
+ str r1, [sp]
+_0813D97C:
+ lsls r4, r5, 2
+ adds r0, r7, 0x2
+ adds r0, r4, r0
+ ldrh r1, [r0]
+ ldr r2, [sp]
+ adds r1, r2, r1
+ lsls r1, 16
+ asrs r1, 16
+ lsls r2, r6, 16
+ asrs r3, r2, 16
+ mov r10, r3
+ ldr r0, _0813DA4C @ =0xfffc0000
+ adds r2, r0
+ ldr r0, _0813DA50 @ =gSpriteTemplate_840AF94
+ asrs r2, 16
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, _0813DA54 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ mov r1, r8
+ strh r1, [r0, 0x2E]
+ adds r4, r7
+ ldrb r1, [r4]
+ bl StartSpriteAnim
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x8
+ bls _0813D97C
+ movs r5, 0
+ ldr r7, _0813DA58 @ =gUnknown_0840AF74
+ mov r0, r10
+ adds r0, 0xC
+ lsls r0, 16
+ mov r10, r0
+_0813D9D0:
+ lsls r4, r5, 2
+ adds r0, r7, 0x2
+ adds r0, r4, r0
+ mov r2, r9
+ asrs r1, r2, 16
+ ldrh r0, [r0]
+ adds r1, r0
+ lsls r1, 16
+ asrs r1, 16
+ ldr r0, _0813DA5C @ =gSpriteTemplate_840AFAC
+ mov r3, r10
+ asrs r2, r3, 16
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r6, _0813DA54 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r6
+ mov r1, r8
+ strh r1, [r0, 0x2E]
+ adds r4, r7
+ ldrb r1, [r4]
+ bl StartSpriteAnim
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x7
+ bls _0813D9D0
+ ldr r0, _0813DA60 @ =gSpriteTemplate_840AFC4
+ ldr r3, [sp, 0x4]
+ ldr r1, _0813DA4C @ =0xfffc0000
+ adds r2, r3, r1
+ asrs r2, 16
+ movs r1, 0x78
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r6
+ mov r3, r8
+ strh r3, [r0, 0x2E]
+ adds r0, r2, 0
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0813DA48: .4byte gUnknown_0840AF50
+_0813DA4C: .4byte 0xfffc0000
+_0813DA50: .4byte gSpriteTemplate_840AF94
+_0813DA54: .4byte gSprites
+_0813DA58: .4byte gUnknown_0840AF74
+_0813DA5C: .4byte gSpriteTemplate_840AFAC
+_0813DA60: .4byte gSpriteTemplate_840AFC4
+ thumb_func_end sub_813D954
+
+ thumb_func_start sub_813DA64
+sub_813DA64: @ 813DA64
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ strh r0, [r4, 0x3C]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0813DA7C
+ cmp r0, 0x1
+ beq _0813DAC0
+_0813DA7C:
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r1, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0x3
+ movs r3, 0x3
+ bl CalcCenterToCornerVec
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ movs r0, 0x1
+ strh r0, [r4, 0x2E]
+ movs r0, 0x80
+ strh r0, [r4, 0x30]
+ ldr r0, _0813DABC @ =0x0000ffe8
+ strh r0, [r4, 0x32]
+ movs r0, 0
+ b _0813DB92
+ .align 2, 0
+_0813DABC: .4byte 0x0000ffe8
+_0813DAC0:
+ ldrh r1, [r4, 0x34]
+ movs r2, 0x34
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x4F
+ bgt _0813DAF8
+ lsls r0, r1, 24
+ lsrs r0, 24
+ movs r1, 0x78
+ bl Sin
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x34]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x8C
+ bl Sin
+ negs r0, r0
+ strh r0, [r4, 0x24]
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x40
+ ble _0813DAF8
+ ldrb r0, [r4, 0x5]
+ movs r1, 0xC
+ orrs r0, r1
+ strb r0, [r4, 0x5]
+_0813DAF8:
+ ldr r2, _0813DB60 @ =gSineTable
+ ldrh r1, [r4, 0x32]
+ lsls r0, r1, 24
+ lsrs r0, 23
+ adds r0, r2
+ ldrh r3, [r0]
+ adds r1, 0x40
+ lsls r1, 24
+ lsrs r1, 23
+ adds r1, r2
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ movs r1, 0x30
+ ldrsh r2, [r4, r1]
+ adds r1, r0, 0
+ muls r1, r2
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _0813DB20
+ adds r0, 0xFF
+_0813DB20:
+ lsls r0, 8
+ lsrs r6, r0, 16
+ lsls r0, r3, 16
+ asrs r3, r0, 16
+ negs r0, r3
+ muls r0, r2
+ cmp r0, 0
+ bge _0813DB32
+ adds r0, 0xFF
+_0813DB32:
+ lsls r0, 8
+ lsrs r5, r0, 16
+ adds r0, r3, 0
+ muls r0, r2
+ cmp r0, 0
+ bge _0813DB40
+ adds r0, 0xFF
+_0813DB40:
+ lsls r0, 8
+ lsrs r2, r0, 16
+ adds r1, r6, 0
+ adds r3, r5, 0
+ str r1, [sp]
+ movs r0, 0x1
+ bl SetOamMatrix
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xFF
+ bgt _0813DB64
+ adds r0, r1, 0
+ adds r0, 0x8
+ b _0813DB68
+ .align 2, 0
+_0813DB60: .4byte gSineTable
+_0813DB64:
+ adds r0, r1, 0
+ adds r0, 0x20
+_0813DB68:
+ strh r0, [r4, 0x30]
+ ldrh r1, [r4, 0x32]
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x17
+ bgt _0813DB78
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x32]
+_0813DB78:
+ ldrh r2, [r4, 0x34]
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x3F
+ bgt _0813DB86
+ adds r0, r2, 0x2
+ b _0813DB92
+_0813DB86:
+ ldrh r1, [r4, 0x3C]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _0813DB94
+ adds r0, r2, 0x1
+_0813DB92:
+ strh r0, [r4, 0x34]
+_0813DB94:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813DA64
+
+ thumb_func_start sub_813DB9C
+sub_813DB9C: @ 813DB9C
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bhi _0813DBCC
+ lsls r0, 2
+ ldr r1, _0813DBB4 @ =_0813DBB8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813DBB4: .4byte _0813DBB8
+ .align 2, 0
+_0813DBB8:
+ .4byte _0813DBCC
+ .4byte _0813DBF2
+ .4byte _0813DC24
+ .4byte _0813DC3E
+ .4byte _0813DCAA
+_0813DBCC:
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _0813DBE0
+ adds r2, r4, 0
+ adds r2, 0x3F
+ ldrb r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ b _0813DBEC
+_0813DBE0:
+ adds r2, r4, 0
+ adds r2, 0x3F
+ ldrb r1, [r2]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+_0813DBEC:
+ strb r0, [r2]
+ movs r0, 0x1
+ strh r0, [r4, 0x2E]
+_0813DBF2:
+ ldrh r1, [r4, 0x22]
+ movs r3, 0x22
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x60
+ ble _0813DC18
+ subs r0, r1, 0x4
+ strh r0, [r4, 0x22]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0813DC10
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x2
+ strh r0, [r4, 0x20]
+ b _0813DD4E
+_0813DC10:
+ ldrh r0, [r4, 0x20]
+ subs r0, 0x2
+ strh r0, [r4, 0x20]
+ b _0813DD4E
+_0813DC18:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ movs r0, 0x8
+ strh r0, [r4, 0x34]
+ b _0813DD4E
+_0813DC24:
+ ldrh r0, [r4, 0x34]
+ movs r2, 0x34
+ ldrsh r1, [r4, r2]
+ cmp r1, 0
+ beq _0813DC34
+ subs r0, 0x1
+ strh r0, [r4, 0x34]
+ b _0813DD4E
+_0813DC34:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x34]
+ b _0813DD4E
+_0813DC3E:
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ movs r3, 0x30
+ ldrsh r1, [r4, r3]
+ movs r0, 0x1F
+ ands r1, r0
+ lsls r1, 1
+ ldrb r2, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x3
+ movs r3, 0x3
+ bl CalcCenterToCornerVec
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0813DC8A
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0xFF
+ lsls r1, 8
+ movs r2, 0x80
+ lsls r2, 1
+ str r2, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ b _0813DC9E
+_0813DC8A:
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x80
+ lsls r1, 1
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+_0813DC9E:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ movs r1, 0
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x36]
+ b _0813DD4E
+_0813DCAA:
+ ldrh r0, [r4, 0x36]
+ adds r2, r0, 0x1
+ strh r2, [r4, 0x36]
+ movs r3, 0x22
+ ldrsh r0, [r4, r3]
+ movs r3, 0x26
+ ldrsh r1, [r4, r3]
+ adds r0, r1
+ movs r1, 0x20
+ negs r1, r1
+ cmp r0, r1
+ ble _0813DD48
+ movs r1, 0x20
+ ldrsh r0, [r4, r1]
+ movs r3, 0x24
+ ldrsh r1, [r4, r3]
+ adds r0, r1
+ movs r1, 0x40
+ negs r1, r1
+ cmp r0, r1
+ ble _0813DD48
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ adds r3, r0, 0
+ muls r3, r0
+ adds r0, r3, 0
+ negs r0, r0
+ cmp r0, 0
+ bge _0813DCE6
+ adds r0, 0x7
+_0813DCE6:
+ asrs r0, 3
+ strh r0, [r4, 0x26]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ ldrh r3, [r4, 0x32]
+ cmp r0, 0
+ beq _0813DCFA
+ ldrh r0, [r4, 0x24]
+ adds r0, r2
+ b _0813DCFE
+_0813DCFA:
+ ldrh r0, [r4, 0x24]
+ subs r0, r2
+_0813DCFE:
+ strh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x34]
+ movs r2, 0x34
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x7F
+ bgt _0813DD10
+ adds r0, r1, 0
+ adds r0, 0x8
+ strh r0, [r4, 0x34]
+_0813DD10:
+ ldrh r0, [r4, 0x34]
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r2, 0
+ subs r1, r0
+ lsls r1, 16
+ lsrs r2, r1, 16
+ lsls r0, r3, 16
+ cmp r0, 0
+ beq _0813DD34
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r2
+ lsls r1, 16
+ lsrs r1, 16
+ str r2, [sp]
+ b _0813DD3E
+_0813DD34:
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ str r2, [sp]
+ adds r1, r2, 0
+_0813DD3E:
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ b _0813DD4E
+_0813DD48:
+ adds r0, r4, 0
+ bl DestroySprite
+_0813DD4E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813DB9C
+
+ thumb_func_start sub_813DD58
+sub_813DD58: @ 813DD58
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _0813DDAE
+ cmp r0, 0x1
+ ble _0813DD72
+ cmp r0, 0x2
+ beq _0813DE66
+ cmp r0, 0x3
+ beq _0813DE26
+_0813DD72:
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ movs r2, 0x30
+ ldrsh r1, [r4, r2]
+ movs r0, 0x1F
+ ands r1, r0
+ lsls r1, 1
+ ldrb r2, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ movs r0, 0x80
+ lsls r0, 4
+ strh r0, [r4, 0x34]
+ movs r0, 0x1
+ strh r0, [r4, 0x2E]
+_0813DDAE:
+ ldrh r1, [r4, 0x34]
+ movs r2, 0x34
+ ldrsh r0, [r4, r2]
+ movs r2, 0x80
+ lsls r2, 1
+ cmp r0, r2
+ ble _0813DDEE
+ subs r1, 0x80
+ strh r1, [r4, 0x34]
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _0813DDDA
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r1
+ lsls r1, 16
+ lsrs r1, 16
+ ldrh r2, [r4, 0x34]
+ str r2, [sp]
+ b _0813DDE4
+_0813DDDA:
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x34]
+ str r1, [sp]
+_0813DDE4:
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ b _0813DE66
+_0813DDEE:
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0813DE0C
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0xFF
+ lsls r1, 8
+ str r2, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ b _0813DE1E
+_0813DE0C:
+ ldrh r0, [r4, 0x30]
+ lsls r0, 24
+ lsrs r0, 24
+ str r2, [sp]
+ adds r1, r2, 0
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+_0813DE1E:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _0813DE66
+_0813DE26:
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ adds r1, r0, 0
+ muls r1, r0
+ adds r0, r1, 0
+ cmp r0, 0
+ bge _0813DE3C
+ adds r0, 0x1F
+_0813DE3C:
+ asrs r0, 5
+ strh r0, [r4, 0x26]
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _0813DE56
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bge _0813DE52
+ adds r0, 0x3
+_0813DE52:
+ asrs r0, 2
+ b _0813DE64
+_0813DE56:
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bge _0813DE60
+ adds r0, 0x3
+_0813DE60:
+ asrs r0, 2
+ negs r0, r0
+_0813DE64:
+ strh r0, [r4, 0x24]
+_0813DE66:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813DD58
+
+ thumb_func_start sub_813DE70
+sub_813DE70: @ 813DE70
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ adds r7, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r7, r1]
+ cmp r0, 0x6
+ bhi _0813DEB0
+ lsls r0, 2
+ ldr r1, _0813DE90 @ =_0813DE94
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813DE90: .4byte _0813DE94
+ .align 2, 0
+_0813DE94:
+ .4byte _0813DEB0
+ .4byte _0813E0F8
+ .4byte _0813DEF4
+ .4byte _0813DF2C
+ .4byte _0813DF54
+ .4byte _0813E0A8
+ .4byte _0813E0D0
+_0813DEB0:
+ ldrh r1, [r7, 0x20]
+ movs r2, 0x20
+ ldrsh r0, [r7, r2]
+ cmp r0, 0x28
+ ble _0813DEC0
+ subs r0, r1, 0x4
+ strh r0, [r7, 0x20]
+ b _0813E0F8
+_0813DEC0:
+ adds r0, r7, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r4, _0813DEF0 @ =gSpriteTemplate_840B084
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0x68
+ movs r3, 0x64
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r7, 0x3A]
+ adds r0, r4, 0
+ movs r1, 0xC
+ movs r2, 0x6A
+ movs r3, 0x65
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r7, 0x3C]
+ b _0813DF42
+ .align 2, 0
+_0813DEF0: .4byte gSpriteTemplate_840B084
+_0813DEF4:
+ adds r0, r7, 0
+ movs r1, 0x2
+ bl StartSpriteAnim
+ ldr r2, _0813DF28 @ =gSprites
+ movs r3, 0x3A
+ ldrsh r1, [r7, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x1
+ strh r1, [r0, 0x2E]
+ movs r0, 0x3C
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x2
+ strh r1, [r0, 0x2E]
+ ldrh r0, [r7, 0x2E]
+ adds r0, 0x1
+ strh r0, [r7, 0x2E]
+ b _0813E0F8
+ .align 2, 0
+_0813DF28: .4byte gSprites
+_0813DF2C:
+ ldrh r1, [r7, 0x22]
+ movs r2, 0x22
+ ldrsh r0, [r7, r2]
+ cmp r0, 0xA0
+ ble _0813DF48
+ adds r2, r7, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_0813DF42:
+ movs r0, 0x1
+ strh r0, [r7, 0x2E]
+ b _0813E0F8
+_0813DF48:
+ adds r0, r1, 0x2
+ strh r0, [r7, 0x22]
+ ldrh r0, [r7, 0x20]
+ subs r0, 0x1
+ strh r0, [r7, 0x20]
+ b _0813E0F8
+_0813DF54:
+ ldr r6, _0813E094 @ =gSprites
+ movs r3, 0x3A
+ ldrsh r1, [r7, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ ldrh r5, [r0, 0x24]
+ ldrh r1, [r0, 0x20]
+ adds r5, r1
+ lsls r5, 16
+ lsrs r5, 16
+ ldrh r4, [r0, 0x26]
+ ldrh r2, [r0, 0x22]
+ adds r4, r2
+ lsls r4, 16
+ lsrs r4, 16
+ bl DestroySprite
+ movs r0, 0x8C
+ lsls r0, 1
+ lsls r5, 16
+ asrs r1, r5, 16
+ lsls r4, 16
+ asrs r2, r4, 16
+ movs r3, 0x1
+ mov r8, r3
+ str r3, [sp]
+ movs r3, 0x2
+ bl sub_813CE88
+ strh r0, [r7, 0x3A]
+ movs r0, 0x3A
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _0813E098 @ =gSprites + 0x1C
+ adds r0, r1
+ ldr r2, _0813E09C @ =sub_813DD58
+ mov r10, r2
+ str r2, [r0]
+ movs r3, 0x3A
+ ldrsh r1, [r7, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ mov r9, r2
+ mov r3, r9
+ orrs r1, r3
+ strb r1, [r0]
+ movs r0, 0x3A
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ mov r1, r8
+ strh r1, [r0, 0x30]
+ movs r2, 0x3A
+ ldrsh r1, [r7, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ mov r3, r8
+ strh r3, [r0, 0x32]
+ lsrs r5, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_813E580
+ movs r0, 0x3C
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ ldrh r5, [r0, 0x24]
+ ldrh r1, [r0, 0x20]
+ adds r5, r1
+ lsls r5, 16
+ lsrs r5, 16
+ ldrh r4, [r0, 0x26]
+ ldrh r2, [r0, 0x22]
+ adds r4, r2
+ lsls r4, 16
+ lsrs r4, 16
+ bl DestroySprite
+ ldr r0, _0813E0A0 @ =0x0000011b
+ lsls r5, 16
+ asrs r1, r5, 16
+ lsls r4, 16
+ asrs r2, r4, 16
+ mov r3, r8
+ str r3, [sp]
+ movs r3, 0x3
+ bl sub_813CE88
+ strh r0, [r7, 0x3C]
+ movs r0, 0x3C
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _0813E098 @ =gSprites + 0x1C
+ adds r0, r1
+ mov r2, r10
+ str r2, [r0]
+ movs r3, 0x3C
+ ldrsh r1, [r7, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ mov r2, r9
+ orrs r1, r2
+ strb r1, [r0]
+ movs r3, 0x3C
+ ldrsh r1, [r7, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0x2
+ strh r1, [r0, 0x30]
+ movs r0, 0x3C
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ movs r1, 0
+ strh r1, [r0, 0x32]
+ lsrs r5, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_813E580
+ movs r0, 0xFF
+ lsls r0, 16
+ ldr r1, _0813E0A4 @ =0x00007eff
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ mov r2, r8
+ strh r2, [r7, 0x2E]
+ b _0813E0F8
+ .align 2, 0
+_0813E094: .4byte gSprites
+_0813E098: .4byte gSprites + 0x1C
+_0813E09C: .4byte sub_813DD58
+_0813E0A0: .4byte 0x0000011b
+_0813E0A4: .4byte 0x00007eff
+_0813E0A8:
+ ldr r3, _0813E0CC @ =gSprites
+ movs r0, 0x3A
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r2, 0x3
+ strh r2, [r0, 0x2E]
+ movs r0, 0x3C
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ strh r2, [r0, 0x2E]
+ b _0813E0F8
+ .align 2, 0
+_0813E0CC: .4byte gSprites
+_0813E0D0:
+ movs r2, 0x3A
+ ldrsh r1, [r7, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _0813E108 @ =gSprites
+ adds r0, r4
+ bl DestroySprite
+ movs r3, 0x3C
+ ldrsh r1, [r7, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+ adds r0, r7, 0
+ bl DestroySprite
+_0813E0F8:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E108: .4byte gSprites
+ thumb_func_end sub_813DE70
+
+ thumb_func_start sub_813E10C
+sub_813E10C: @ 813E10C
+ push {r4,lr}
+ adds r3, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x4
+ bhi _0813E13C
+ lsls r0, 2
+ ldr r1, _0813E124 @ =_0813E128
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813E124: .4byte _0813E128
+ .align 2, 0
+_0813E128:
+ .4byte _0813E13C
+ .4byte _0813E178
+ .4byte _0813E1A6
+ .4byte _0813E1C2
+ .4byte _0813E1D6
+_0813E13C:
+ ldrh r4, [r3, 0x24]
+ movs r2, 0x24
+ ldrsh r1, [r3, r2]
+ movs r0, 0x38
+ negs r0, r0
+ cmp r1, r0
+ ble _0813E158
+ adds r0, r4, 0
+ subs r0, 0x8
+ strh r0, [r3, 0x24]
+ ldrh r0, [r3, 0x26]
+ adds r0, 0x6
+ strh r0, [r3, 0x26]
+ b _0813E208
+_0813E158:
+ ldrh r0, [r3, 0x20]
+ movs r2, 0
+ strh r0, [r3, 0x3A]
+ ldrh r1, [r3, 0x22]
+ strh r1, [r3, 0x3C]
+ adds r0, r4
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x26]
+ adds r1, r0
+ strh r1, [r3, 0x22]
+ strh r2, [r3, 0x24]
+ strh r2, [r3, 0x26]
+ movs r0, 0x1
+ strh r0, [r3, 0x2E]
+ strh r2, [r3, 0x30]
+ b _0813E208
+_0813E178:
+ ldrh r1, [r3, 0x30]
+ movs r2, 0x1
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0813E1A0
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ beq _0813E19C
+ ldr r0, _0813E198 @ =0x0000ffff
+ strh r0, [r3, 0x24]
+ strh r2, [r3, 0x26]
+ b _0813E1A0
+ .align 2, 0
+_0813E198: .4byte 0x0000ffff
+_0813E19C:
+ strh r0, [r3, 0x24]
+ strh r0, [r3, 0x26]
+_0813E1A0:
+ adds r0, r1, 0x1
+ strh r0, [r3, 0x30]
+ b _0813E208
+_0813E1A6:
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r3, 0x3A]
+ movs r1, 0
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x3C]
+ strh r0, [r3, 0x22]
+ strh r1, [r3, 0x24]
+ strh r1, [r3, 0x26]
+ b _0813E208
+_0813E1C2:
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r2]
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+_0813E1D6:
+ ldrh r2, [r3, 0x24]
+ movs r0, 0x24
+ ldrsh r1, [r3, r0]
+ movs r0, 0x38
+ negs r0, r0
+ cmp r1, r0
+ ble _0813E1F0
+ subs r0, r2, 0x4
+ strh r0, [r3, 0x24]
+ ldrh r0, [r3, 0x26]
+ adds r0, 0x3
+ strh r0, [r3, 0x26]
+ b _0813E208
+_0813E1F0:
+ ldrh r1, [r3, 0x20]
+ adds r0, r2, r1
+ movs r1, 0
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x26]
+ ldrh r2, [r3, 0x22]
+ adds r0, r2
+ strh r0, [r3, 0x22]
+ strh r1, [r3, 0x24]
+ strh r1, [r3, 0x26]
+ movs r0, 0x1
+ strh r0, [r3, 0x2E]
+_0813E208:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813E10C
+
+ thumb_func_start sub_813E210
+sub_813E210: @ 813E210
+ push {r4,lr}
+ adds r3, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x4
+ bhi _0813E240
+ lsls r0, 2
+ ldr r1, _0813E228 @ =_0813E22C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813E228: .4byte _0813E22C
+ .align 2, 0
+_0813E22C:
+ .4byte _0813E240
+ .4byte _0813E278
+ .4byte _0813E2A6
+ .4byte _0813E2C2
+ .4byte _0813E2D6
+_0813E240:
+ ldrh r4, [r3, 0x24]
+ movs r2, 0x24
+ ldrsh r0, [r3, r2]
+ cmp r0, 0x37
+ bgt _0813E258
+ adds r0, r4, 0
+ adds r0, 0x8
+ strh r0, [r3, 0x24]
+ ldrh r0, [r3, 0x26]
+ subs r0, 0x6
+ strh r0, [r3, 0x26]
+ b _0813E304
+_0813E258:
+ ldrh r0, [r3, 0x20]
+ movs r2, 0
+ strh r0, [r3, 0x3A]
+ ldrh r1, [r3, 0x22]
+ strh r1, [r3, 0x3C]
+ adds r0, r4
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x26]
+ adds r1, r0
+ strh r1, [r3, 0x22]
+ strh r2, [r3, 0x24]
+ strh r2, [r3, 0x26]
+ movs r0, 0x1
+ strh r0, [r3, 0x2E]
+ strh r2, [r3, 0x30]
+ b _0813E304
+_0813E278:
+ ldrh r1, [r3, 0x30]
+ movs r2, 0x1
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0813E2A0
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ beq _0813E29C
+ strh r2, [r3, 0x24]
+ ldr r0, _0813E298 @ =0x0000ffff
+ b _0813E29E
+ .align 2, 0
+_0813E298: .4byte 0x0000ffff
+_0813E29C:
+ strh r0, [r3, 0x24]
+_0813E29E:
+ strh r0, [r3, 0x26]
+_0813E2A0:
+ adds r0, r1, 0x1
+ strh r0, [r3, 0x30]
+ b _0813E304
+_0813E2A6:
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r3, 0x3A]
+ movs r1, 0
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x3C]
+ strh r0, [r3, 0x22]
+ strh r1, [r3, 0x24]
+ strh r1, [r3, 0x26]
+ b _0813E304
+_0813E2C2:
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r2]
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+_0813E2D6:
+ ldrh r1, [r3, 0x24]
+ movs r2, 0x24
+ ldrsh r0, [r3, r2]
+ cmp r0, 0x37
+ bgt _0813E2EC
+ adds r0, r1, 0x4
+ strh r0, [r3, 0x24]
+ ldrh r0, [r3, 0x26]
+ subs r0, 0x3
+ strh r0, [r3, 0x26]
+ b _0813E304
+_0813E2EC:
+ ldrh r2, [r3, 0x20]
+ adds r0, r1, r2
+ movs r1, 0
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x26]
+ ldrh r2, [r3, 0x22]
+ adds r0, r2
+ strh r0, [r3, 0x22]
+ strh r1, [r3, 0x24]
+ strh r1, [r3, 0x26]
+ movs r0, 0x1
+ strh r0, [r3, 0x2E]
+_0813E304:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813E210
+
+ thumb_func_start sub_813E30C
+sub_813E30C: @ 813E30C
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ strh r0, [r4, 0x3C]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x14
+ bls _0813E322
+ b _0813E4AC
+_0813E322:
+ lsls r0, 2
+ ldr r1, _0813E32C @ =_0813E330
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0813E32C: .4byte _0813E330
+ .align 2, 0
+_0813E330:
+ .4byte _0813E4AC
+ .4byte _0813E384
+ .4byte _0813E41C
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E3A8
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E4AC
+ .4byte _0813E440
+_0813E384:
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r1, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ movs r0, 0x24
+ strh r0, [r4, 0x36]
+_0813E3A8:
+ ldrh r1, [r4, 0x20]
+ movs r2, 0x20
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x90
+ bgt _0813E3D2
+ adds r0, r1, 0x4
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x22]
+ subs r0, 0x1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x18
+ bl Sin
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x4
+ strh r0, [r4, 0x32]
+_0813E3D2:
+ ldrh r0, [r4, 0x34]
+ ldrh r2, [r4, 0x36]
+ subs r0, r2
+ strh r0, [r4, 0x34]
+ ldrh r1, [r4, 0x3C]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0813E3EE
+ lsls r0, r2, 16
+ cmp r0, 0
+ beq _0813E3EE
+ subs r0, r2, 0x1
+ strh r0, [r4, 0x36]
+_0813E3EE:
+ ldr r2, _0813E418 @ =gSineTable
+ ldrh r1, [r4, 0x34]
+ lsls r0, r1, 24
+ lsrs r0, 23
+ adds r0, r2
+ ldrh r4, [r0]
+ adds r1, 0x40
+ lsls r1, 24
+ lsrs r1, 23
+ adds r1, r2
+ ldrh r1, [r1]
+ negs r3, r4
+ lsls r3, 16
+ lsrs r3, 16
+ str r1, [sp]
+ movs r0, 0x1
+ adds r2, r4, 0
+ bl SetOamMatrix
+ b _0813E4AC
+ .align 2, 0
+_0813E418: .4byte gSineTable
+_0813E41C:
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r1, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ movs r0, 0x14
+ strh r0, [r4, 0x2E]
+ movs r0, 0x24
+ strh r0, [r4, 0x36]
+_0813E440:
+ ldrh r1, [r4, 0x20]
+ movs r2, 0x20
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x60
+ bgt _0813E46A
+ adds r0, r1, 0x3
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x22]
+ subs r0, 0x1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x18
+ bl Sin
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x4
+ strh r0, [r4, 0x32]
+_0813E46A:
+ ldrh r0, [r4, 0x34]
+ ldrh r2, [r4, 0x36]
+ subs r0, r2
+ strh r0, [r4, 0x34]
+ ldrh r1, [r4, 0x3C]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0813E486
+ lsls r0, r2, 16
+ cmp r0, 0
+ beq _0813E486
+ subs r0, r2, 0x1
+ strh r0, [r4, 0x36]
+_0813E486:
+ ldr r2, _0813E4B4 @ =gSineTable
+ ldrh r1, [r4, 0x34]
+ lsls r0, r1, 24
+ lsrs r0, 23
+ adds r0, r2
+ ldrh r4, [r0]
+ adds r1, 0x40
+ lsls r1, 24
+ lsrs r1, 23
+ adds r1, r2
+ ldrh r1, [r1]
+ negs r3, r4
+ lsls r3, 16
+ lsrs r3, 16
+ str r1, [sp]
+ movs r0, 0x2
+ adds r2, r4, 0
+ bl SetOamMatrix
+_0813E4AC:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E4B4: .4byte gSineTable
+ thumb_func_end sub_813E30C
+
+ thumb_func_start sub_813E4B8
+sub_813E4B8: @ 813E4B8
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x3C]
+ adds r0, 0x1
+ strh r0, [r5, 0x3C]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0813E4DA
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ b _0813E4E4
+_0813E4DA:
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+_0813E4E4:
+ strb r0, [r2]
+ ldrh r1, [r5, 0x32]
+ movs r2, 0x32
+ ldrsh r0, [r5, r2]
+ cmp r0, 0x3F
+ ble _0813E4F8
+ adds r0, r5, 0
+ bl DestroySprite
+ b _0813E574
+_0813E4F8:
+ adds r0, r1, 0x2
+ strh r0, [r5, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x28
+ bl Sin
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ lsls r0, 29
+ lsrs r0, 24
+ lsls r4, 16
+ asrs r4, 16
+ adds r1, r4, 0
+ bl Cos
+ strh r0, [r5, 0x24]
+ movs r2, 0x2E
+ ldrsh r0, [r5, r2]
+ lsls r0, 29
+ lsrs r0, 24
+ adds r1, r4, 0
+ bl Sin
+ strh r0, [r5, 0x26]
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _0813E574
+ ldrh r0, [r5, 0x34]
+ ldrh r2, [r5, 0x30]
+ subs r0, r2
+ strh r0, [r5, 0x34]
+ ldrh r1, [r5, 0x3C]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0813E550
+ lsls r0, r2, 16
+ cmp r0, 0
+ beq _0813E550
+ subs r0, r2, 0x1
+ strh r0, [r5, 0x30]
+_0813E550:
+ ldr r3, _0813E57C @ =gSineTable
+ ldrh r1, [r5, 0x34]
+ lsls r0, r1, 24
+ lsrs r0, 23
+ adds r0, r3
+ ldrh r2, [r0]
+ adds r1, 0x40
+ lsls r1, 24
+ lsrs r1, 23
+ adds r1, r3
+ ldrh r1, [r1]
+ negs r3, r2
+ lsls r3, 16
+ lsrs r3, 16
+ str r1, [sp]
+ movs r0, 0x10
+ bl SetOamMatrix
+_0813E574:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E57C: .4byte gSineTable
+ thumb_func_end sub_813E4B8
+
+ thumb_func_start sub_813E580
+sub_813E580: @ 813E580
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r7, _0813E5D8 @ =gSprites
+ lsls r6, r0, 16
+ lsls r5, r1, 16
+_0813E58A:
+ ldr r0, _0813E5DC @ =gSpriteTemplate_840B0B0
+ asrs r1, r6, 16
+ asrs r2, r5, 16
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r7
+ ldrb r1, [r2, 0x1]
+ movs r3, 0x4
+ negs r3, r3
+ adds r0, r3, 0
+ ands r1, r0
+ movs r0, 0x1
+ orrs r1, r0
+ strb r1, [r2, 0x1]
+ ldrb r1, [r2, 0x3]
+ subs r3, 0x3B
+ adds r0, r3, 0
+ ands r1, r0
+ movs r0, 0x20
+ orrs r1, r0
+ strb r1, [r2, 0x3]
+ strh r4, [r2, 0x2E]
+ movs r0, 0x20
+ strh r0, [r2, 0x30]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x7
+ bls _0813E58A
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E5D8: .4byte gSprites
+_0813E5DC: .4byte gSpriteTemplate_840B0B0
+ thumb_func_end sub_813E580
+
+ thumb_func_start sub_813E5E0
+sub_813E5E0: @ 813E5E0
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r0, _0813E5F4 @ =gUnknown_0203931A
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813E5F8
+ adds r0, r3, 0
+ bl DestroySprite
+ b _0813E6B2
+ .align 2, 0
+_0813E5F4: .4byte gUnknown_0203931A
+_0813E5F8:
+ ldr r2, _0813E6B8 @ =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ movs r1, 0x3E
+ adds r1, r3
+ mov r12, r1
+ movs r1, 0x4
+ ands r1, r0
+ mov r4, r12
+ ldrb r2, [r4]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4]
+ ldrh r1, [r3, 0x3C]
+ movs r2, 0x3C
+ ldrsh r0, [r3, r2]
+ cmp r0, 0xB
+ bgt _0813E630
+ adds r0, r1, 0x1
+ strh r0, [r3, 0x3C]
+_0813E630:
+ ldrh r0, [r3, 0x3A]
+ adds r0, 0x4
+ strh r0, [r3, 0x3A]
+ ldr r4, _0813E6BC @ =gSineTable
+ ldrh r0, [r3, 0x34]
+ adds r0, 0x40
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r4
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r2, 0x3A
+ ldrsh r0, [r3, r2]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813E652
+ adds r0, 0xFF
+_0813E652:
+ asrs r0, 8
+ ldrh r1, [r3, 0x36]
+ adds r0, r1
+ strh r0, [r3, 0x20]
+ movs r2, 0x34
+ ldrsh r0, [r3, r2]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r4
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r2, 0x3A
+ ldrsh r0, [r3, r2]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813E674
+ adds r0, 0xFF
+_0813E674:
+ asrs r0, 8
+ ldrh r1, [r3, 0x38]
+ adds r2, r0, r1
+ strh r2, [r3, 0x22]
+ movs r1, 0x30
+ ldrsh r0, [r3, r1]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r4
+ movs r4, 0
+ ldrsh r1, [r0, r4]
+ movs r4, 0x3C
+ ldrsh r0, [r3, r4]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813E696
+ adds r0, 0xFF
+_0813E696:
+ asrs r0, 8
+ strh r0, [r3, 0x26]
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x10
+ strh r0, [r3, 0x30]
+ lsls r0, r2, 16
+ asrs r0, 16
+ movs r2, 0x32
+ ldrsh r1, [r3, r2]
+ cmp r0, r1
+ ble _0813E6B2
+ adds r0, r3, 0
+ bl DestroySprite
+_0813E6B2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E6B8: .4byte gSprites
+_0813E6BC: .4byte gSineTable
+ thumb_func_end sub_813E5E0
+
+ thumb_func_start sub_813E6C0
+sub_813E6C0: @ 813E6C0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldr r0, _0813E6E0 @ =gUnknown_0203931A
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813E6E4
+ adds r0, r4, 0
+ bl DestroySprite
+ b _0813E7A8
+ .align 2, 0
+_0813E6E0: .4byte gUnknown_0203931A
+_0813E6E4:
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ strh r0, [r4, 0x3C]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r3, _0813E7B8 @ =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, r0, r3
+ movs r1, 0x2E
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x1
+ bne _0813E7A8
+ ldrh r1, [r4, 0x3C]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _0813E7A8
+ ldrh r0, [r2, 0x20]
+ ldrh r7, [r4, 0x30]
+ adds r0, r7
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp]
+ ldrh r0, [r2, 0x22]
+ ldrh r1, [r4, 0x32]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r5, 0
+ mov r8, r3
+ ldr r2, [sp]
+ lsls r2, 16
+ mov r10, r2
+ lsls r7, r6, 16
+ mov r9, r7
+_0813E73A:
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r8
+ adds r0, 0x43
+ ldrb r3, [r0]
+ subs r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, _0813E7BC @ =gSpriteTemplate_840B0DC
+ mov r2, r10
+ asrs r1, r2, 16
+ mov r7, r9
+ asrs r2, r7, 16
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ beq _0813E79E
+ lsls r3, r0, 4
+ adds r3, r0
+ lsls r3, 2
+ add r3, r8
+ ldrh r0, [r4, 0x2E]
+ strh r0, [r3, 0x2E]
+ ldrh r1, [r4, 0x3C]
+ lsls r1, 16
+ asrs r1, 18
+ movs r0, 0x7
+ ands r1, r0
+ lsls r1, 5
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r2, r0, 4
+ adds r0, r2
+ adds r1, r0
+ strh r1, [r3, 0x30]
+ ldrh r0, [r4, 0x34]
+ strh r0, [r3, 0x32]
+ movs r0, 0x68
+ strh r0, [r3, 0x34]
+ mov r0, sp
+ ldrh r0, [r0]
+ strh r0, [r3, 0x36]
+ strh r6, [r3, 0x38]
+ movs r1, 0
+ strh r1, [r3, 0x3A]
+_0813E79E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _0813E73A
+_0813E7A8:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E7B8: .4byte gSprites
+_0813E7BC: .4byte gSpriteTemplate_840B0DC
+ thumb_func_end sub_813E6C0
+
+ thumb_func_start sub_813E7C0
+sub_813E7C0: @ 813E7C0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _0813E7F8 @ =gSpriteTemplate_840B0F4
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _0813E7F2
+ ldr r1, _0813E7FC @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ movs r2, 0
+ strh r4, [r0, 0x2E]
+ ldr r1, _0813E800 @ =0x0000fff4
+ strh r1, [r0, 0x30]
+ strh r2, [r0, 0x32]
+ movs r1, 0x88
+ strh r1, [r0, 0x34]
+_0813E7F2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E7F8: .4byte gSpriteTemplate_840B0F4
+_0813E7FC: .4byte gSprites
+_0813E800: .4byte 0x0000fff4
+ thumb_func_end sub_813E7C0
+
+ thumb_func_start sub_813E804
+sub_813E804: @ 813E804
+ push {r4-r7,lr}
+ adds r3, r0, 0
+ ldr r0, _0813E818 @ =gUnknown_0203931A
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813E81C
+ adds r0, r3, 0
+ bl DestroySprite
+ b _0813E928
+ .align 2, 0
+_0813E818: .4byte gUnknown_0203931A
+_0813E81C:
+ ldr r6, _0813E904 @ =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ movs r1, 0x3E
+ adds r1, r3
+ mov r12, r1
+ movs r1, 0x4
+ ands r1, r0
+ mov r7, r12
+ ldrb r2, [r7]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r7]
+ ldrh r0, [r3, 0x3C]
+ adds r0, 0x1
+ strh r0, [r3, 0x3C]
+ ldrh r1, [r3, 0x34]
+ movs r2, 0x34
+ ldrsh r0, [r3, r2]
+ cmp r0, 0x27
+ bgt _0813E85A
+ adds r0, r1, 0x2
+ strh r0, [r3, 0x34]
+_0813E85A:
+ movs r7, 0x2E
+ ldrsh r1, [r3, r7]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ ldrh r1, [r0, 0x24]
+ ldrh r0, [r0, 0x20]
+ adds r2, r1, r0
+ ldr r4, _0813E908 @ =gSineTable
+ ldrh r5, [r3, 0x30]
+ adds r0, r5, 0
+ adds r0, 0x40
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r4
+ movs r7, 0
+ ldrsh r1, [r0, r7]
+ movs r7, 0x34
+ ldrsh r0, [r3, r7]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813E88A
+ adds r0, 0xFF
+_0813E88A:
+ asrs r0, 8
+ adds r0, r2, r0
+ strh r0, [r3, 0x20]
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ ldrh r1, [r0, 0x26]
+ ldrh r0, [r0, 0x22]
+ adds r2, r1, r0
+ movs r1, 0x30
+ ldrsh r0, [r3, r1]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r4
+ movs r7, 0
+ ldrsh r1, [r0, r7]
+ movs r7, 0x34
+ ldrsh r0, [r3, r7]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813E8BE
+ ldr r1, _0813E90C @ =0x000001ff
+ adds r0, r1
+_0813E8BE:
+ asrs r0, 9
+ adds r0, r2, r0
+ strh r0, [r3, 0x22]
+ adds r1, r5, 0x2
+ strh r1, [r3, 0x30]
+ movs r2, 0x32
+ ldrsh r0, [r3, r2]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r4
+ movs r7, 0
+ ldrsh r0, [r0, r7]
+ cmp r0, 0
+ bge _0813E8DC
+ adds r0, 0x1F
+_0813E8DC:
+ asrs r0, 5
+ strh r0, [r3, 0x26]
+ ldrh r0, [r3, 0x32]
+ adds r0, 0x8
+ strh r0, [r3, 0x32]
+ movs r0, 0xFF
+ ands r1, r0
+ cmp r1, 0x7F
+ bgt _0813E910
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x43
+ ldrb r0, [r0]
+ subs r0, 0x1
+ b _0813E922
+ .align 2, 0
+_0813E904: .4byte gSprites
+_0813E908: .4byte gSineTable
+_0813E90C: .4byte 0x000001ff
+_0813E910:
+ movs r2, 0x2E
+ ldrsh r1, [r3, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x43
+ ldrb r0, [r0]
+ adds r0, 0x1
+_0813E922:
+ adds r1, r3, 0
+ adds r1, 0x43
+ strb r0, [r1]
+_0813E928:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813E804
+
+ thumb_func_start sub_813E930
+sub_813E930: @ 813E930
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r4, 0
+ ldr r7, _0813E978 @ =gSprites
+ lsls r0, r6, 4
+ adds r0, r6
+ lsls r0, 2
+ adds r5, r0, r7
+_0813E942:
+ movs r0, 0x20
+ ldrsh r1, [r5, r0]
+ movs r0, 0x22
+ ldrsh r2, [r5, r0]
+ ldr r0, _0813E97C @ =gSpriteTemplate_840B124
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _0813E968
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r7
+ strh r6, [r0, 0x2E]
+ lsls r1, r4, 5
+ strh r1, [r0, 0x30]
+_0813E968:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x7
+ bls _0813E942
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813E978: .4byte gSprites
+_0813E97C: .4byte gSpriteTemplate_840B124
+ thumb_func_end sub_813E930
+
+ thumb_func_start GetCurrentTrainerHillMapId
+GetCurrentTrainerHillMapId: @ 813E980
+ push {r4,r5,lr}
+ adds r3, r0, 0
+ ldr r0, _0813E994 @ =gUnknown_0203931A
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813E998
+ adds r0, r3, 0
+ bl DestroySprite
+ b _0813EA50
+ .align 2, 0
+_0813E994: .4byte gUnknown_0203931A
+_0813E998:
+ ldr r2, _0813EA58 @ =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ movs r1, 0x3E
+ adds r1, r3
+ mov r12, r1
+ movs r1, 0x4
+ ands r1, r0
+ mov r5, r12
+ ldrb r2, [r5]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5]
+ ldrh r0, [r3, 0x3C]
+ adds r0, 0x1
+ strh r0, [r3, 0x3C]
+ ldrh r0, [r3, 0x3A]
+ adds r4, r0, 0
+ adds r4, 0x8
+ strh r4, [r3, 0x3A]
+ ldr r2, _0813EA5C @ =gSineTable
+ ldrh r0, [r3, 0x34]
+ adds r0, 0x40
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r2
+ movs r5, 0
+ ldrsh r1, [r0, r5]
+ movs r5, 0x3A
+ ldrsh r0, [r3, r5]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813E9EC
+ adds r0, 0xFF
+_0813E9EC:
+ asrs r0, 8
+ ldrh r1, [r3, 0x36]
+ adds r0, r1
+ strh r0, [r3, 0x20]
+ movs r5, 0x34
+ ldrsh r0, [r3, r5]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r2
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r5, 0x3A
+ ldrsh r0, [r3, r5]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813EA0E
+ adds r0, 0xFF
+_0813EA0E:
+ asrs r0, 8
+ ldrh r1, [r3, 0x38]
+ adds r0, r1
+ strh r0, [r3, 0x22]
+ movs r2, 0x3A
+ ldrsh r0, [r3, r2]
+ cmp r0, 0
+ bge _0813EA20
+ adds r0, 0xF
+_0813EA20:
+ asrs r0, 4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x9
+ bls _0813EA2C
+ movs r0, 0x9
+_0813EA2C:
+ adds r1, r0, 0
+ adds r1, 0x12
+ movs r0, 0x1F
+ ands r1, r0
+ lsls r1, 1
+ ldrb r2, [r3, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, 0x3]
+ lsls r0, r4, 16
+ asrs r0, 16
+ cmp r0, 0xA0
+ ble _0813EA50
+ adds r0, r3, 0
+ bl DestroySprite
+_0813EA50:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EA58: .4byte gSprites
+_0813EA5C: .4byte gSineTable
+ thumb_func_end GetCurrentTrainerHillMapId
+
+ thumb_func_start sub_813EA60
+sub_813EA60: @ 813EA60
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r5, r0, 0
+ ldr r0, _0813EA7C @ =gUnknown_0203931A
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813EA80
+ adds r0, r5, 0
+ bl DestroySprite
+ b _0813EB32
+ .align 2, 0
+_0813EA7C: .4byte gUnknown_0203931A
+_0813EA80:
+ ldrh r0, [r5, 0x3C]
+ adds r0, 0x1
+ strh r0, [r5, 0x3C]
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _0813EB40 @ =gSprites
+ mov r9, r0
+ movs r4, 0x2E
+ ldrsh r1, [r5, r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ mov r1, r9
+ adds r3, r0, r1
+ movs r4, 0x2E
+ ldrsh r1, [r3, r4]
+ cmp r1, 0x1
+ bne _0813EB32
+ ldrh r0, [r5, 0x3C]
+ ands r1, r0
+ lsls r0, r1, 16
+ asrs r6, r0, 16
+ cmp r6, 0
+ bne _0813EB32
+ ldrh r1, [r3, 0x20]
+ ldrh r0, [r5, 0x30]
+ adds r1, r0
+ lsls r1, 16
+ ldrh r2, [r3, 0x22]
+ ldrh r4, [r5, 0x32]
+ adds r2, r4
+ lsls r2, 16
+ ldr r0, _0813EB44 @ =gSpriteTemplate_840B150
+ lsrs r4, r1, 16
+ mov r8, r4
+ asrs r1, 16
+ lsrs r7, r2, 16
+ asrs r2, 16
+ adds r3, 0x43
+ ldrb r3, [r3]
+ adds r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ beq _0813EB32
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ add r4, r9
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r1, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x24
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl CalcCenterToCornerVec
+ ldrh r0, [r5, 0x2E]
+ strh r0, [r4, 0x2E]
+ ldr r2, _0813EB48 @ =gUnknown_0840B168
+ ldrh r0, [r5, 0x3C]
+ lsls r0, 16
+ asrs r0, 17
+ movs r1, 0x7
+ ands r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ strh r0, [r4, 0x34]
+ mov r0, r8
+ strh r0, [r4, 0x36]
+ strh r7, [r4, 0x38]
+ strh r6, [r4, 0x3A]
+_0813EB32:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EB40: .4byte gSprites
+_0813EB44: .4byte gSpriteTemplate_840B150
+_0813EB48: .4byte gUnknown_0840B168
+ thumb_func_end sub_813EA60
+
+ thumb_func_start sub_813EB4C
+sub_813EB4C: @ 813EB4C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _0813EBB0 @ =gSpriteTemplate_840B170
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _0813EB80
+ ldr r1, _0813EBB4 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0
+ strh r4, [r0, 0x2E]
+ strh r1, [r0, 0x30]
+ movs r1, 0x8
+ strh r1, [r0, 0x32]
+ movs r1, 0x18
+ strh r1, [r0, 0x34]
+_0813EB80:
+ movs r4, 0
+ ldr r5, _0813EBB8 @ =gUnknown_0840B188
+_0813EB84:
+ adds r0, r4, 0
+ adds r0, 0x12
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r4, 1
+ adds r1, r5
+ ldrh r1, [r1]
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _0813EB84
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EBB0: .4byte gSpriteTemplate_840B170
+_0813EBB4: .4byte gSprites
+_0813EBB8: .4byte gUnknown_0840B188
+ thumb_func_end sub_813EB4C
+
+ thumb_func_start sub_813EBBC
+sub_813EBBC: @ 813EBBC
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r0, _0813EBD0 @ =gUnknown_0203931A
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813EBD4
+ adds r0, r3, 0
+ bl DestroySprite
+ b _0813EC80
+ .align 2, 0
+_0813EBD0: .4byte gUnknown_0203931A
+_0813EBD4:
+ ldr r2, _0813EC88 @ =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ movs r1, 0x3E
+ adds r1, r3
+ mov r12, r1
+ movs r1, 0x4
+ ands r1, r0
+ mov r4, r12
+ ldrb r2, [r4]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4]
+ ldrh r0, [r3, 0x3C]
+ adds r0, 0x1
+ strh r0, [r3, 0x3C]
+ ldrh r0, [r3, 0x3A]
+ adds r0, 0x8
+ strh r0, [r3, 0x3A]
+ ldr r2, _0813EC8C @ =gSineTable
+ ldrh r0, [r3, 0x34]
+ adds r0, 0x40
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r2
+ movs r4, 0
+ ldrsh r1, [r0, r4]
+ movs r4, 0x3A
+ ldrsh r0, [r3, r4]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813EC26
+ adds r0, 0xFF
+_0813EC26:
+ asrs r0, 8
+ ldrh r1, [r3, 0x36]
+ adds r0, r1
+ strh r0, [r3, 0x20]
+ movs r4, 0x34
+ ldrsh r0, [r3, r4]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r2
+ movs r4, 0
+ ldrsh r1, [r0, r4]
+ movs r4, 0x3A
+ ldrsh r0, [r3, r4]
+ muls r0, r1
+ cmp r0, 0
+ bge _0813EC48
+ adds r0, 0xFF
+_0813EC48:
+ asrs r0, 8
+ ldrh r4, [r3, 0x38]
+ adds r1, r0, r4
+ strh r1, [r3, 0x22]
+ movs r4, 0x30
+ ldrsh r0, [r3, r4]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r2
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ bge _0813EC64
+ adds r0, 0x3F
+_0813EC64:
+ asrs r0, 6
+ strh r0, [r3, 0x26]
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x10
+ strh r0, [r3, 0x30]
+ lsls r0, r1, 16
+ asrs r0, 16
+ movs r4, 0x32
+ ldrsh r1, [r3, r4]
+ cmp r0, r1
+ bge _0813EC80
+ adds r0, r3, 0
+ bl DestroySprite
+_0813EC80:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EC88: .4byte gSprites
+_0813EC8C: .4byte gSineTable
+ thumb_func_end sub_813EBBC
+
+ thumb_func_start sub_813EC90
+sub_813EC90: @ 813EC90
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, _0813ECAC @ =gUnknown_0203931A
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813ECB0
+ adds r0, r5, 0
+ bl DestroySprite
+ b _0813EDA0
+ .align 2, 0
+_0813ECAC: .4byte gUnknown_0203931A
+_0813ECB0:
+ ldrh r0, [r5, 0x3C]
+ adds r0, 0x1
+ strh r0, [r5, 0x3C]
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, _0813EDB0 @ =gSprites
+ mov r9, r0
+ movs r2, 0x2E
+ ldrsh r1, [r5, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ mov r4, r9
+ adds r3, r0, r4
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ cmp r1, 0x1
+ bne _0813ED74
+ ldrh r0, [r5, 0x3C]
+ ands r1, r0
+ lsls r0, r1, 16
+ asrs r6, r0, 16
+ cmp r6, 0
+ bne _0813ED66
+ ldrh r1, [r3, 0x20]
+ ldrh r2, [r5, 0x30]
+ adds r1, r2
+ lsls r1, 16
+ ldrh r2, [r3, 0x22]
+ ldrh r4, [r5, 0x32]
+ adds r2, r4
+ lsls r2, 16
+ ldr r0, _0813EDB4 @ =gSpriteTemplate_840B1B0
+ lsrs r4, r1, 16
+ mov r8, r4
+ asrs r1, 16
+ lsrs r7, r2, 16
+ asrs r2, 16
+ adds r3, 0x43
+ ldrb r3, [r3]
+ adds r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ beq _0813ED66
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ add r4, r9
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r1, [r4, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x22
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl CalcCenterToCornerVec
+ ldrh r0, [r5, 0x2E]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x3C]
+ lsls r0, 16
+ asrs r0, 18
+ movs r1, 0x7
+ ands r0, r1
+ lsls r0, 5
+ strh r0, [r4, 0x30]
+ ldrh r0, [r5, 0x34]
+ strh r0, [r4, 0x32]
+ movs r0, 0xE8
+ strh r0, [r4, 0x34]
+ mov r0, r8
+ strh r0, [r4, 0x36]
+ strh r7, [r4, 0x38]
+ strh r6, [r4, 0x3A]
+_0813ED66:
+ ldrh r1, [r5, 0x3A]
+ movs r2, 0x3A
+ ldrsh r0, [r5, r2]
+ cmp r0, 0x6F
+ bgt _0813ED74
+ adds r0, r1, 0x4
+ strh r0, [r5, 0x3A]
+_0813ED74:
+ ldr r1, _0813EDB8 @ =gSineTable
+ ldrh r0, [r5, 0x3A]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r2, 0
+ subs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp]
+ movs r0, 0x11
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+_0813EDA0:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EDB0: .4byte gSprites
+_0813EDB4: .4byte gSpriteTemplate_840B1B0
+_0813EDB8: .4byte gSineTable
+ thumb_func_end sub_813EC90
+
+ thumb_func_start sub_813EDBC
+sub_813EDBC: @ 813EDBC
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _0813EDF4 @ =gSpriteTemplate_840B1C8
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _0813EDEE
+ ldr r1, _0813EDF8 @ =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0
+ strh r4, [r0, 0x2E]
+ strh r1, [r0, 0x30]
+ movs r1, 0xC
+ strh r1, [r0, 0x32]
+ movs r1, 0x18
+ strh r1, [r0, 0x34]
+_0813EDEE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EDF4: .4byte gSpriteTemplate_840B1C8
+_0813EDF8: .4byte gSprites
+ thumb_func_end sub_813EDBC
+
+ thumb_func_start sub_813EDFC
+sub_813EDFC: @ 813EDFC
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0813EE12
+ adds r4, r5, 0
+ adds r4, 0x3E
+ cmp r0, 0x1
+ beq _0813EE4A
+_0813EE12:
+ adds r4, r5, 0
+ adds r4, 0x3E
+ ldrb r1, [r4]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4]
+ ldrb r0, [r5, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r5, 0x1]
+ ldrb r1, [r5, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x24
+ orrs r0, r1
+ strb r0, [r5, 0x3]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0x3
+ movs r3, 0x3
+ bl CalcCenterToCornerVec
+ movs r0, 0
+ strh r0, [r5, 0x30]
+ movs r0, 0x1
+ strh r0, [r5, 0x2E]
+_0813EE4A:
+ ldrh r0, [r5, 0x3C]
+ adds r0, 0x1
+ strh r0, [r5, 0x3C]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0813EE62
+ ldrb r0, [r4]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4]
+ b _0813EE7A
+_0813EE62:
+ ldrb r0, [r4]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r4]
+ ldrh r1, [r5, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r5, r2]
+ cmp r0, 0x3F
+ bgt _0813EE7A
+ adds r0, r1, 0x1
+ strh r0, [r5, 0x30]
+_0813EE7A:
+ ldr r1, _0813EEB0 @ =gSineTable
+ ldrh r0, [r5, 0x30]
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r2, 0
+ subs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp]
+ movs r0, 0x12
+ movs r2, 0
+ movs r3, 0
+ bl SetOamMatrix
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0813EEB0: .4byte gSineTable
+ thumb_func_end sub_813EDFC
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_menu.s b/asm/item_menu.s
index e2abfe960..85375a87a 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -6105,7 +6105,7 @@ sub_80A6178: @ 80A6178
adds r0, r4
lsls r0, 3
adds r0, r1
- ldr r2, _080A61A4 @ =sub_814625C
+ ldr r2, _080A61A4 @ =BerryTagScreen_814625C
lsrs r1, r2, 16
strh r1, [r0, 0x18]
strh r2, [r0, 0x1A]
@@ -6114,7 +6114,7 @@ sub_80A6178: @ 80A6178
bx r0
.align 2, 0
_080A61A0: .4byte gTasks
-_080A61A4: .4byte sub_814625C
+_080A61A4: .4byte BerryTagScreen_814625C
thumb_func_end sub_80A6178
thumb_func_start sub_80A61A8
diff --git a/asm/load_save.s b/asm/load_save.s
deleted file mode 100644
index 09a9ea969..000000000
--- a/asm/load_save.s
+++ /dev/null
@@ -1,444 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CheckForFlashMemory
-CheckForFlashMemory: @ 80479CC
- push {lr}
- bl IdentifyFlash
- lsls r0, 16
- cmp r0, 0
- bne _080479E8
- ldr r1, _080479E4 @ =gUnknown_3004820
- movs r0, 0x1
- str r0, [r1]
- bl InitFlashTimer
- b _080479EE
- .align 2, 0
-_080479E4: .4byte gUnknown_3004820
-_080479E8:
- ldr r1, _080479F4 @ =gUnknown_3004820
- movs r0, 0
- str r0, [r1]
-_080479EE:
- pop {r0}
- bx r0
- .align 2, 0
-_080479F4: .4byte gUnknown_3004820
- thumb_func_end CheckForFlashMemory
-
- thumb_func_start sub_80479F8
-sub_80479F8: @ 80479F8
- ldr r0, _08047A00 @ =gSaveBlock2
- ldrb r0, [r0, 0x9]
- bx lr
- .align 2, 0
-_08047A00: .4byte gSaveBlock2
- thumb_func_end sub_80479F8
-
- thumb_func_start sub_8047A04
-sub_8047A04: @ 8047A04
- ldr r1, _08047A0C @ =gSaveBlock2
- movs r0, 0
- strb r0, [r1, 0x9]
- bx lr
- .align 2, 0
-_08047A0C: .4byte gSaveBlock2
- thumb_func_end sub_8047A04
-
- thumb_func_start sub_8047A10
-sub_8047A10: @ 8047A10
- ldr r1, _08047A18 @ =gSaveBlock2
- movs r0, 0x1
- strb r0, [r1, 0x9]
- bx lr
- .align 2, 0
-_08047A18: .4byte gSaveBlock2
- thumb_func_end sub_8047A10
-
- thumb_func_start sub_8047A1C
-sub_8047A1C: @ 8047A1C
- push {lr}
- movs r0, 0
- bl gpu_sync_bg_hide
- ldr r1, _08047A30 @ =gSaveBlock2
- movs r0, 0x1
- strb r0, [r1, 0x9]
- pop {r0}
- bx r0
- .align 2, 0
-_08047A30: .4byte gSaveBlock2
- thumb_func_end sub_8047A1C
-
- thumb_func_start sub_8047A34
-sub_8047A34: @ 8047A34
- ldr r1, _08047A3C @ =gSaveBlock2
- movs r0, 0
- strb r0, [r1, 0x9]
- bx lr
- .align 2, 0
-_08047A3C: .4byte gSaveBlock2
- thumb_func_end sub_8047A34
-
- thumb_func_start sub_8047A40
-sub_8047A40: @ 8047A40
- push {r4-r6,lr}
- ldr r2, _08047A78 @ =gSaveBlock1
- ldr r0, _08047A7C @ =gPlayerPartyCount
- ldrb r1, [r0]
- movs r3, 0x8D
- lsls r3, 2
- adds r0, r2, r3
- strb r1, [r0]
- movs r6, 0
- movs r0, 0x8E
- lsls r0, 2
- adds r5, r2, r0
- movs r4, 0
-_08047A5A:
- ldr r1, _08047A80 @ =gPlayerParty
- adds r1, r4, r1
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x64
- adds r4, 0x64
- adds r6, 0x1
- cmp r6, 0x5
- ble _08047A5A
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08047A78: .4byte gSaveBlock1
-_08047A7C: .4byte gPlayerPartyCount
-_08047A80: .4byte gPlayerParty
- thumb_func_end sub_8047A40
-
- thumb_func_start copy_player_party_from_sav1
-copy_player_party_from_sav1: @ 8047A84
- push {r4-r6,lr}
- ldr r0, _08047AC0 @ =gPlayerPartyCount
- ldr r1, _08047AC4 @ =gSaveBlock1
- movs r2, 0x8D
- lsls r2, 2
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r4, _08047AC8 @ =gPlayerParty
- movs r5, 0
- movs r0, 0xFA
- lsls r0, 1
- adds r6, r4, r0
-_08047A9E:
- ldr r1, _08047AC4 @ =gSaveBlock1
- adds r1, r5, r1
- movs r2, 0x8E
- lsls r2, 2
- adds r1, r2
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r4, 0x64
- adds r5, 0x64
- cmp r4, r6
- ble _08047A9E
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08047AC0: .4byte gPlayerPartyCount
-_08047AC4: .4byte gSaveBlock1
-_08047AC8: .4byte gPlayerParty
- thumb_func_end copy_player_party_from_sav1
-
- thumb_func_start sub_8047ACC
-sub_8047ACC: @ 8047ACC
- push {r4-r7,lr}
- ldr r0, _08047AFC @ =gSaveBlock1
- ldr r4, _08047B00 @ =gMapObjects
- movs r1, 0x9E
- lsls r1, 4
- adds r3, r0, r1
- movs r2, 0xF
-_08047ADA:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _08047ADA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047AFC: .4byte gSaveBlock1
-_08047B00: .4byte gMapObjects
- thumb_func_end sub_8047ACC
-
- thumb_func_start save_deserialize_npcs
-save_deserialize_npcs: @ 8047B04
- push {r4-r7,lr}
- ldr r0, _08047B34 @ =gSaveBlock1
- movs r1, 0x9E
- lsls r1, 4
- adds r4, r0, r1
- ldr r3, _08047B38 @ =gMapObjects
- movs r2, 0xF
-_08047B12:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _08047B12
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047B34: .4byte gSaveBlock1
-_08047B38: .4byte gMapObjects
- thumb_func_end save_deserialize_npcs
-
- thumb_func_start save_serialize_game
-save_serialize_game: @ 8047B3C
- push {lr}
- bl sub_8047A40
- bl sub_8047ACC
- pop {r0}
- bx r0
- thumb_func_end save_serialize_game
-
- thumb_func_start save_deserialize_game
-save_deserialize_game: @ 8047B4C
- push {lr}
- bl copy_player_party_from_sav1
- bl save_deserialize_npcs
- pop {r0}
- bx r0
- thumb_func_end save_deserialize_game
-
- thumb_func_start copy_bags_and_unk_data_from_save_blocks
-copy_bags_and_unk_data_from_save_blocks: @ 8047B5C
- push {r4-r7,lr}
- ldr r0, _08047C0C @ =gSaveBlock1
- movs r1, 0xAC
- lsls r1, 3
- adds r3, r0, r1
- ldr r1, _08047C10 @ =gUnknown_020291F4
- movs r2, 0x13
-_08047B6A:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047B6A
- ldr r1, _08047C10 @ =gUnknown_020291F4
- ldr r0, _08047C0C @ =gSaveBlock1
- movs r2, 0xB6
- lsls r2, 3
- adds r3, r0, r2
- adds r1, 0x50
- movs r2, 0x13
-_08047B82:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047B82
- ldr r1, _08047C10 @ =gUnknown_020291F4
- ldr r0, _08047C0C @ =gSaveBlock1
- movs r5, 0xC0
- lsls r5, 3
- adds r3, r0, r5
- adds r1, 0xA0
- movs r2, 0xF
-_08047B9A:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047B9A
- ldr r1, _08047C10 @ =gUnknown_020291F4
- ldr r0, _08047C0C @ =gSaveBlock1
- movs r6, 0xC8
- lsls r6, 3
- adds r3, r0, r6
- adds r1, 0xE0
- movs r2, 0x3F
-_08047BB2:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047BB2
- ldr r1, _08047C10 @ =gUnknown_020291F4
- ldr r0, _08047C0C @ =gSaveBlock1
- movs r7, 0xE8
- lsls r7, 3
- adds r3, r0, r7
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0
- movs r2, 0x2D
-_08047BCE:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047BCE
- ldr r0, _08047C10 @ =gUnknown_020291F4
- ldr r4, _08047C0C @ =gSaveBlock1
- movs r1, 0xA6
- lsls r1, 2
- adds r3, r0, r1
- ldr r2, _08047C14 @ =0x00002b4c
- mov r12, r2
- movs r2, 0xF
-_08047BE8:
- adds r1, r3, 0
- mov r5, r12
- adds r0, r4, r5
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _08047BE8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047C0C: .4byte gSaveBlock1
-_08047C10: .4byte gUnknown_020291F4
-_08047C14: .4byte 0x00002b4c
- thumb_func_end copy_bags_and_unk_data_from_save_blocks
-
- thumb_func_start copy_bags_and_unk_data_to_save_blocks
-copy_bags_and_unk_data_to_save_blocks: @ 8047C18
- push {r4-r7,lr}
- ldr r0, _08047CCC @ =gSaveBlock1
- ldr r3, _08047CD0 @ =gUnknown_020291F4
- movs r2, 0xAC
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0x13
-_08047C26:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047C26
- ldr r1, _08047CCC @ =gSaveBlock1
- ldr r0, _08047CD0 @ =gUnknown_020291F4
- adds r3, r0, 0
- adds r3, 0x50
- movs r5, 0xB6
- lsls r5, 3
- adds r1, r5
- movs r2, 0x13
-_08047C40:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047C40
- ldr r1, _08047CCC @ =gSaveBlock1
- ldr r0, _08047CD0 @ =gUnknown_020291F4
- adds r3, r0, 0
- adds r3, 0xA0
- movs r6, 0xC0
- lsls r6, 3
- adds r1, r6
- movs r2, 0xF
-_08047C5A:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047C5A
- ldr r1, _08047CCC @ =gSaveBlock1
- ldr r0, _08047CD0 @ =gUnknown_020291F4
- adds r3, r0, 0
- adds r3, 0xE0
- movs r7, 0xC8
- lsls r7, 3
- adds r1, r7
- movs r2, 0x3F
-_08047C74:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047C74
- ldr r1, _08047CCC @ =gSaveBlock1
- ldr r0, _08047CD0 @ =gUnknown_020291F4
- movs r2, 0xF0
- lsls r2, 1
- adds r3, r0, r2
- movs r5, 0xE8
- lsls r5, 3
- adds r1, r5
- movs r2, 0x2D
-_08047C90:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08047C90
- ldr r0, _08047CCC @ =gSaveBlock1
- ldr r4, _08047CD0 @ =gUnknown_020291F4
- ldr r6, _08047CD4 @ =0x00002b4c
- adds r3, r0, r6
- movs r7, 0xA6
- lsls r7, 2
- mov r12, r7
- movs r2, 0xF
-_08047CAA:
- adds r1, r3, 0
- mov r5, r12
- adds r0, r4, r5
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _08047CAA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047CCC: .4byte gSaveBlock1
-_08047CD0: .4byte gUnknown_020291F4
-_08047CD4: .4byte 0x00002b4c
- thumb_func_end copy_bags_and_unk_data_to_save_blocks
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mail.s b/asm/mail.s
deleted file mode 100644
index a08571018..000000000
--- a/asm/mail.s
+++ /dev/null
@@ -1,892 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F890C
-sub_80F890C: @ 80F890C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r2, _080F8958 @ =0x02000000
- adds r1, r2, 0
- adds r1, 0xFF
- movs r0, 0x2
- strb r0, [r1]
- adds r0, 0xFE
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x82
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _080F895C @ =sub_80EB3FC
- str r0, [r1]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _080F8960 @ =ConvertEasyChatWordsToString
- str r0, [r1]
- ldrh r1, [r4, 0x20]
- adds r0, r1, 0
- subs r0, 0x79
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bhi _080F8964
- subs r1, 0x79
- adds r0, r2, 0
- adds r0, 0xFA
- strb r1, [r0]
- b _080F896E
- .align 2, 0
-_080F8958: .4byte 0x02000000
-_080F895C: .4byte sub_80EB3FC
-_080F8960: .4byte ConvertEasyChatWordsToString
-_080F8964:
- adds r1, r2, 0
- adds r1, 0xFA
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
-_080F896E:
- ldr r1, _080F8994 @ =0x02000000
- movs r2, 0x80
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F8980
- cmp r0, 0x1
- beq _080F899C
-_080F8980:
- movs r0, 0x86
- lsls r0, 1
- adds r2, r1, r0
- adds r0, r1, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _080F8998 @ =gUnknown_083E5730
- b _080F89AC
- .align 2, 0
-_080F8994: .4byte 0x02000000
-_080F8998: .4byte gUnknown_083E5730
-_080F899C:
- movs r0, 0x86
- lsls r0, 1
- adds r2, r1, r0
- adds r0, r1, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _080F89DC @ =gUnknown_083E57A4
-_080F89AC:
- adds r0, r1
- str r0, [r2]
- ldrh r0, [r4, 0x1E]
- mov r1, sp
- bl sub_80A2D64
- lsls r0, 16
- ldr r1, _080F89E0 @ =0xffff0000
- adds r0, r1
- movs r1, 0xCD
- lsls r1, 17
- cmp r0, r1
- bhi _080F89F8
- ldr r0, _080F89E4 @ =0x02000000
- adds r1, r0, 0
- adds r1, 0xFA
- ldrb r2, [r1]
- adds r1, r0, 0
- cmp r2, 0x6
- beq _080F89E8
- cmp r2, 0x9
- beq _080F89F0
- b _080F89FA
- .align 2, 0
-_080F89DC: .4byte gUnknown_083E57A4
-_080F89E0: .4byte 0xffff0000
-_080F89E4: .4byte 0x02000000
-_080F89E8:
- adds r2, r1, 0
- adds r2, 0xFB
- movs r0, 0x1
- b _080F8A00
-_080F89F0:
- adds r2, r1, 0
- adds r2, 0xFB
- movs r0, 0x2
- b _080F8A00
-_080F89F8:
- ldr r1, _080F8A20 @ =0x02000000
-_080F89FA:
- adds r2, r1, 0
- adds r2, 0xFB
- movs r0, 0
-_080F8A00:
- strb r0, [r2]
- adds r0, r1, 0
- adds r0, 0xF4
- str r4, [r0]
- subs r0, 0x8
- str r6, [r0]
- adds r0, 0xC
- strb r5, [r0]
- ldr r0, _080F8A24 @ =sub_80F8D50
- bl SetMainCallback2
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8A20: .4byte 0x02000000
-_080F8A24: .4byte sub_80F8D50
- thumb_func_end sub_80F890C
-
- thumb_func_start sub_80F8A28
-sub_80F8A28: @ 80F8A28
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080F8A44 @ =gMain
- ldr r1, _080F8A48 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x12
- bls _080F8A3A
- b _080F8D3C
-_080F8A3A:
- lsls r0, 2
- ldr r1, _080F8A4C @ =_080F8A50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F8A44: .4byte gMain
-_080F8A48: .4byte 0x0000043c
-_080F8A4C: .4byte _080F8A50
- .align 2, 0
-_080F8A50:
- .4byte _080F8A9C
- .4byte _080F8AB0
- .4byte _080F8AC8
- .4byte _080F8ACE
- .4byte _080F8AD4
- .4byte _080F8ADA
- .4byte _080F8B10
- .4byte _080F8B1C
- .4byte _080F8B28
- .4byte _080F8B34
- .4byte _080F8B3A
- .4byte _080F8B54
- .4byte _080F8B78
- .4byte _080F8BA0
- .4byte _080F8C14
- .4byte _080F8C2C
- .4byte _080F8C58
- .4byte _080F8CBC
- .4byte _080F8CC6
-_080F8A9C:
- movs r0, 0
- bl SetVBlankCallback
- bl remove_some_task
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- b _080F8D30
-_080F8AB0:
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, _080F8AC4 @ =0x01000200
- add r0, sp, 0x4
- bl CpuSet
- b _080F8D30
- .align 2, 0
-_080F8AC4: .4byte 0x01000200
-_080F8AC8:
- bl ResetPaletteFade
- b _080F8D30
-_080F8ACE:
- bl ResetTasks
- b _080F8D30
-_080F8AD4:
- bl ResetSpriteData
- b _080F8D30
-_080F8ADA:
- bl FreeAllSpritePalettes
- ldr r0, _080F8B0C @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x32
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- b _080F8D30
- .align 2, 0
-_080F8B0C: .4byte REG_BG0HOFS
-_080F8B10:
- ldr r0, _080F8B18 @ =gWindowConfig_81E6DFC
- bl SetUpWindowConfig
- b _080F8D30
- .align 2, 0
-_080F8B18: .4byte gWindowConfig_81E6DFC
-_080F8B1C:
- ldr r0, _080F8B24 @ =gWindowConfig_81E6DFC
- bl MultistepInitMenuWindowBegin
- b _080F8D30
- .align 2, 0
-_080F8B24: .4byte gWindowConfig_81E6DFC
-_080F8B28:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F8B32
- b _080F8D30
-_080F8B32:
- b _080F8D3C
-_080F8B34:
- bl MenuZeroFillScreen
- b _080F8D30
-_080F8B3A:
- mov r0, sp
- adds r0, 0x6
- movs r1, 0x1
- strh r1, [r0]
- ldr r1, _080F8B4C @ =0x06004800
- ldr r2, _080F8B50 @ =0x01000400
- bl CpuSet
- b _080F8D30
- .align 2, 0
-_080F8B4C: .4byte 0x06004800
-_080F8B50: .4byte 0x01000400
-_080F8B54:
- ldr r2, _080F8B70 @ =gMailGraphicsTable
- ldr r0, _080F8B74 @ =0x02000000
- adds r0, 0xFA
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- b _080F8D30
- .align 2, 0
-_080F8B70: .4byte gMailGraphicsTable
-_080F8B74: .4byte 0x02000000
-_080F8B78:
- ldr r2, _080F8B94 @ =gMailGraphicsTable
- ldr r0, _080F8B98 @ =0x02000000
- adds r0, 0xFA
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- ldr r1, _080F8B9C @ =0x06004000
- bl LZ77UnCompVram
- b _080F8D30
- .align 2, 0
-_080F8B94: .4byte gMailGraphicsTable
-_080F8B98: .4byte 0x02000000
-_080F8B9C: .4byte 0x06004000
-_080F8BA0:
- ldr r5, _080F8C00 @ =gMailGraphicsTable
- ldr r4, _080F8C04 @ =0x02000000
- adds r4, 0xFA
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r3, _080F8C08 @ =gPlttBufferUnfaded
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x10]
- movs r2, 0xF1
- lsls r2, 1
- adds r1, r3, r2
- strh r0, [r1]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x12]
- adds r2, 0xE
- adds r0, r3, r2
- strh r1, [r0]
- ldr r1, _080F8C0C @ =gUnknown_083E562C
- ldr r2, _080F8C10 @ =gSaveBlock2
- ldrb r0, [r2, 0x8]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x14]
- ldrb r0, [r2, 0x8]
- lsls r0, 2
- adds r1, 0x2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x16]
- b _080F8D30
- .align 2, 0
-_080F8C00: .4byte gMailGraphicsTable
-_080F8C04: .4byte 0x02000000
-_080F8C08: .4byte gPlttBufferUnfaded
-_080F8C0C: .4byte gUnknown_083E562C
-_080F8C10: .4byte gSaveBlock2
-_080F8C14:
- ldr r0, _080F8C28 @ =0x02000000
- adds r0, 0xF8
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8C20
- b _080F8D30
-_080F8C20:
- bl sub_80F8DA0
- b _080F8D30
- .align 2, 0
-_080F8C28: .4byte 0x02000000
-_080F8C2C:
- ldr r0, _080F8C4C @ =0x02000000
- adds r0, 0xF8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F8C3A
- bl sub_80F8E80
-_080F8C3A:
- ldr r0, _080F8C50 @ =sub_80F8F18
- bl SetVBlankCallback
- ldr r2, _080F8C54 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- b _080F8D30
- .align 2, 0
-_080F8C4C: .4byte 0x02000000
-_080F8C50: .4byte sub_80F8F18
-_080F8C54: .4byte gPaletteFade
-_080F8C58:
- ldr r5, _080F8C7C @ =0x02000000
- adds r0, r5, 0
- adds r0, 0xF4
- ldr r0, [r0]
- ldrh r0, [r0, 0x1E]
- bl sub_809D4A8
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080F8C80
- cmp r0, 0x2
- beq _080F8C98
- b _080F8D30
- .align 2, 0
-_080F8C7C: .4byte 0x02000000
-_080F8C80:
- adds r0, r4, 0
- bl sub_809D580
- ldr r1, _080F8C94 @ =SpriteCallbackDummy
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x60
- b _080F8CA8
- .align 2, 0
-_080F8C94: .4byte SpriteCallbackDummy
-_080F8C98:
- adds r0, r4, 0
- bl sub_809D580
- ldr r1, _080F8CB8 @ =SpriteCallbackDummy
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x28
-_080F8CA8:
- movs r3, 0x80
- bl sub_809D3A4
- adds r1, r5, 0
- adds r1, 0xFC
- strb r0, [r1]
- b _080F8D30
- .align 2, 0
-_080F8CB8: .4byte SpriteCallbackDummy
-_080F8CBC:
- bl sub_8055870
- cmp r0, 0x1
- bne _080F8D30
- b _080F8D3C
-_080F8CC6:
- ldr r1, _080F8D14 @ =REG_BG0CNT
- ldr r2, _080F8D18 @ =0x00009f08
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F8D1C @ =0x00000801
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F8D20 @ =0x00000902
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x44
- movs r0, 0
- strh r0, [r1]
- subs r1, 0x50
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _080F8D24 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _080F8D28 @ =0x02000000
- adds r0, 0xF0
- ldr r1, _080F8D2C @ =sub_80F8F58
- str r1, [r0]
- movs r0, 0x1
- b _080F8D3E
- .align 2, 0
-_080F8D14: .4byte REG_BG0CNT
-_080F8D18: .4byte 0x00009f08
-_080F8D1C: .4byte 0x00000801
-_080F8D20: .4byte 0x00000902
-_080F8D24: .4byte gPaletteFade
-_080F8D28: .4byte 0x02000000
-_080F8D2C: .4byte sub_80F8F58
-_080F8D30:
- ldr r1, _080F8D48 @ =gMain
- ldr r0, _080F8D4C @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F8D3C:
- movs r0, 0
-_080F8D3E:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F8D48: .4byte gMain
-_080F8D4C: .4byte 0x0000043c
- thumb_func_end sub_80F8A28
-
- thumb_func_start sub_80F8D50
-sub_80F8D50: @ 80F8D50
- push {lr}
-_080F8D52:
- bl sub_80F8A28
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F8D6C
- ldr r0, _080F8D68 @ =sub_80F8F2C
- bl SetMainCallback2
- b _080F8D78
- .align 2, 0
-_080F8D68: .4byte sub_80F8F2C
-_080F8D6C:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F8D52
-_080F8D78:
- pop {r0}
- bx r0
- thumb_func_end sub_80F8D50
-
- thumb_func_start sub_80F8D7C
-sub_80F8D7C: @ 80F8D7C
- push {r4,lr}
- adds r4, r0, 0
- bl StringCopy
- adds r0, r4, 0
- bl sub_814A568
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F8D7C
-
- thumb_func_start sub_80F8DA0
-sub_80F8DA0: @ 80F8DA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- movs r5, 0
- ldr r2, _080F8E3C @ =0x02000000
- movs r0, 0x86
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080F8E04
- mov r8, r2
- adds r7, r1, 0
-_080F8DBE:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- subs r0, r5
- add r0, r8
- mov r1, r8
- adds r1, 0xF4
- lsls r2, r6, 1
- ldr r1, [r1]
- adds r1, r2
- ldr r2, [r7]
- ldr r2, [r2, 0x4]
- lsls r4, r5, 2
- adds r2, r4, r2
- ldr r2, [r2]
- lsls r2, 28
- lsrs r2, 30
- movs r3, 0x1
- bl ConvertEasyChatWordsToString
- ldr r1, [r7]
- ldr r0, [r1, 0x4]
- adds r4, r0
- ldr r0, [r4]
- lsls r0, 28
- lsrs r0, 30
- adds r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r1, [r1]
- cmp r5, r1
- bcc _080F8DBE
-_080F8E04:
- ldr r2, _080F8E40 @ =0x020000d8
- adds r4, r2, 0
- subs r4, 0xD8
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8E48
- ldr r1, [r2, 0x1C]
- adds r1, 0x12
- adds r0, r2, 0
- bl sub_80F8D7C
- adds r2, r0, 0
- ldr r1, _080F8E44 @ =gOtherText_From
- bl StringCopy
- ldr r0, _080F8E40 @ =0x020000d8
- bl StringLength
- movs r2, 0x86
- lsls r2, 1
- adds r1, r4, r2
- ldr r1, [r1]
- ldrb r1, [r1, 0x2]
- subs r1, r0
- b _080F8E6A
- .align 2, 0
-_080F8E3C: .4byte 0x02000000
-_080F8E40: .4byte 0x020000d8
-_080F8E44: .4byte gOtherText_From
-_080F8E48:
- ldr r1, _080F8E7C @ =gOtherText_From
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- adds r0, r4, 0
- adds r0, 0xF4
- ldr r1, [r0]
- adds r1, 0x12
- adds r0, r2, 0
- bl sub_80F8D7C
- movs r1, 0x86
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
-_080F8E6A:
- adds r0, r4, 0
- adds r0, 0xF9
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8E7C: .4byte gOtherText_From
- thumb_func_end sub_80F8DA0
-
- thumb_func_start sub_80F8E80
-sub_80F8E80: @ 80F8E80
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- movs r4, 0
- ldr r1, _080F8F10 @ =0x02000000
- movs r0, 0x86
- lsls r0, 1
- adds r2, r1, r0
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r4, r0
- bcs _080F8EF6
- mov r8, r1
- adds r7, r2, 0
-_080F8E9E:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- subs r0, r4
- mov r1, r8
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _080F8EE8
- cmp r0, 0
- beq _080F8EE8
- ldr r2, [r7]
- ldr r1, [r2, 0x4]
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r3, r0, 24
- lsrs r3, 28
- lsls r0, 30
- lsrs r0, 30
- adds r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r2, 0x3]
- lsrs r1, r2, 4
- adds r1, r3
- lsls r2, 28
- lsrs r2, 28
- adds r2, r6, r2
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- bl MenuPrint
- adds r0, r6, 0x2
- lsls r0, 24
- lsrs r6, r0, 24
-_080F8EE8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r7]
- ldrb r0, [r0]
- cmp r4, r0
- bcc _080F8E9E
-_080F8EF6:
- ldr r0, _080F8F14 @ =0x020000d8
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- ldr r2, [r0, 0x34]
- ldrb r2, [r2, 0x1]
- bl MenuPrint
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8F10: .4byte 0x02000000
-_080F8F14: .4byte 0x020000d8
- thumb_func_end sub_80F8E80
-
- thumb_func_start sub_80F8F18
-sub_80F8F18: @ 80F8F18
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80F8F18
-
- thumb_func_start sub_80F8F2C
-sub_80F8F2C: @ 80F8F2C
- push {r4,lr}
- ldr r4, _080F8F54 @ =0x02000000
- adds r0, r4, 0
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F8F42
- bl AnimateSprites
- bl BuildOamBuffer
-_080F8F42:
- adds r0, r4, 0
- adds r0, 0xF0
- ldr r0, [r0]
- bl _call_via_r0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8F54: .4byte 0x02000000
- thumb_func_end sub_80F8F2C
-
- thumb_func_start sub_80F8F58
-sub_80F8F58: @ 80F8F58
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080F8F6C
- ldr r0, _080F8F70 @ =0x02000000
- adds r0, 0xF0
- ldr r1, _080F8F74 @ =sub_80F8F78
- str r1, [r0]
-_080F8F6C:
- pop {r0}
- bx r0
- .align 2, 0
-_080F8F70: .4byte 0x02000000
-_080F8F74: .4byte sub_80F8F78
- thumb_func_end sub_80F8F58
-
- thumb_func_start sub_80F8F78
-sub_80F8F78: @ 80F8F78
- push {lr}
- sub sp, 0x4
- ldr r0, _080F8FA8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080F8FA0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080F8FAC @ =0x02000000
- adds r0, 0xF0
- ldr r1, _080F8FB0 @ =sub_80F8FB4
- str r1, [r0]
-_080F8FA0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F8FA8: .4byte gMain
-_080F8FAC: .4byte 0x02000000
-_080F8FB0: .4byte sub_80F8FB4
- thumb_func_end sub_80F8F78
-
- thumb_func_start sub_80F8FB4
-sub_80F8FB4: @ 80F8FB4
- push {r4,lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080F9012
- ldr r4, _080F9018 @ =0x02000000
- adds r0, r4, 0
- adds r0, 0xEC
- ldr r0, [r0]
- bl SetMainCallback2
- adds r0, r4, 0
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x2
- bgt _080F9002
- cmp r0, 0x1
- blt _080F9002
- adds r0, r4, 0
- adds r0, 0xF4
- ldr r0, [r0]
- ldrh r0, [r0, 0x1E]
- bl sub_809D4A8
- lsls r0, 16
- lsrs r0, 16
- bl sub_809D608
- adds r0, r4, 0
- adds r0, 0xFC
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F901C @ =gSprites
- adds r0, r1
- bl sub_809D510
-_080F9002:
- ldr r0, _080F9018 @ =0x02000000
- movs r2, 0x88
- lsls r2, 1
- movs r1, 0
- bl memset
- bl ResetPaletteFade
-_080F9012:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9018: .4byte 0x02000000
-_080F901C: .4byte gSprites
- thumb_func_end sub_80F8FB4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/metatile_behavior.s b/asm/metatile_behavior.s
deleted file mode 100644
index f81e3c0d4..000000000
--- a/asm/metatile_behavior.s
+++ /dev/null
@@ -1,2345 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8056D9C
-sub_8056D9C: @ 8056D9C
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8056D9C
-
- thumb_func_start sub_8056DA0
-sub_8056DA0: @ 8056DA0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08056DB8 @ =gUnknown_08308E2C
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08056DBC
- movs r0, 0
- b _08056DBE
- .align 2, 0
-_08056DB8: .4byte gUnknown_08308E2C
-_08056DBC:
- movs r0, 0x1
-_08056DBE:
- pop {r1}
- bx r1
- thumb_func_end sub_8056DA0
-
- thumb_func_start MetatileBehavior_IsJumpEast
-MetatileBehavior_IsJumpEast: @ 8056DC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x38
- beq _08056DD2
- movs r0, 0
- b _08056DD4
-_08056DD2:
- movs r0, 0x1
-_08056DD4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpEast
-
- thumb_func_start MetatileBehavior_IsJumpWest
-MetatileBehavior_IsJumpWest: @ 8056DD8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x39
- beq _08056DE6
- movs r0, 0
- b _08056DE8
-_08056DE6:
- movs r0, 0x1
-_08056DE8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpWest
-
- thumb_func_start MetatileBehavior_IsJumpNorth
-MetatileBehavior_IsJumpNorth: @ 8056DEC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3A
- beq _08056DFA
- movs r0, 0
- b _08056DFC
-_08056DFA:
- movs r0, 0x1
-_08056DFC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpNorth
-
- thumb_func_start MetatileBehavior_IsJumpSouth
-MetatileBehavior_IsJumpSouth: @ 8056E00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- beq _08056E0E
- movs r0, 0
- b _08056E10
-_08056E0E:
- movs r0, 0x1
-_08056E10:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpSouth
-
- thumb_func_start sub_8056E14
-sub_8056E14: @ 8056E14
- push {lr}
- lsls r0, 24
- movs r1, 0xFE
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08056E28
- movs r0, 0
- b _08056E2A
-_08056E28:
- movs r0, 0x1
-_08056E2A:
- pop {r1}
- bx r1
- thumb_func_end sub_8056E14
-
- thumb_func_start MetatileBehavior_IsSandOrDeepSand
-MetatileBehavior_IsSandOrDeepSand: @ 8056E30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x21
- beq _08056E3E
- cmp r0, 0x6
- bne _08056E42
-_08056E3E:
- movs r0, 0x1
- b _08056E44
-_08056E42:
- movs r0, 0
-_08056E44:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSandOrDeepSand
-
- thumb_func_start MetatileBehavior_IsDeepSand
-MetatileBehavior_IsDeepSand: @ 8056E48
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08056E56
- movs r0, 0
- b _08056E58
-_08056E56:
- movs r0, 0x1
-_08056E58:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsDeepSand
-
- thumb_func_start MetatileBehavior_IsReflective
-MetatileBehavior_IsReflective: @ 8056E5C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _08056E7A
- cmp r0, 0x16
- beq _08056E7A
- cmp r0, 0x1A
- beq _08056E7A
- cmp r0, 0x20
- beq _08056E7A
- cmp r0, 0x14
- beq _08056E7A
- cmp r0, 0x2B
- bne _08056E7E
-_08056E7A:
- movs r0, 0x1
- b _08056E80
-_08056E7E:
- movs r0, 0
-_08056E80:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsReflective
-
- thumb_func_start MetatileBehavior_IsIce
-MetatileBehavior_IsIce: @ 8056E84
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- beq _08056E92
- movs r0, 0
- b _08056E94
-_08056E92:
- movs r0, 0x1
-_08056E94:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIce
-
- thumb_func_start is_tile_x69_2_warp_door
-is_tile_x69_2_warp_door: @ 8056E98
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x69
- beq _08056EA6
- movs r0, 0
- b _08056EA8
-_08056EA6:
- movs r0, 0x1
-_08056EA8:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x69_2_warp_door
-
- thumb_func_start MetatileBehavior_IsDoor
-MetatileBehavior_IsDoor: @ 8056EAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8D
- beq _08056EBA
- cmp r0, 0x69
- bne _08056EBE
-_08056EBA:
- movs r0, 0x1
- b _08056EC0
-_08056EBE:
- movs r0, 0
-_08056EC0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsDoor
-
- thumb_func_start MetatileBehavior_IsEscalator
-MetatileBehavior_IsEscalator: @ 8056EC4
- push {lr}
- lsls r0, 24
- movs r1, 0x96
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08056ED8
- movs r0, 0
- b _08056EDA
-_08056ED8:
- movs r0, 0x1
-_08056EDA:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEscalator
-
- thumb_func_start unref_sub_8056EE0
-unref_sub_8056EE0: @ 8056EE0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _08056EEE
- movs r0, 0
- b _08056EF0
-_08056EEE:
- movs r0, 0x1
-_08056EF0:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8056EE0
-
- thumb_func_start MetatileBehavior_IsLadder
-MetatileBehavior_IsLadder: @ 8056EF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x61
- beq _08056F02
- movs r0, 0
- b _08056F04
-_08056F02:
- movs r0, 0x1
-_08056F04:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLadder
-
- thumb_func_start sub_8056F08
-sub_8056F08: @ 8056F08
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x60
- beq _08056F1A
- cmp r0, 0x6C
- beq _08056F1A
- cmp r0, 0x6E
- bne _08056F1E
-_08056F1A:
- movs r0, 0x1
- b _08056F20
-_08056F1E:
- movs r0, 0
-_08056F20:
- pop {r1}
- bx r1
- thumb_func_end sub_8056F08
-
- thumb_func_start sub_8056F24
-sub_8056F24: @ 8056F24
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6E
- beq _08056F32
- movs r0, 0
- b _08056F34
-_08056F32:
- movs r0, 0x1
-_08056F34:
- pop {r1}
- bx r1
- thumb_func_end sub_8056F24
-
- thumb_func_start MetatileBehavior_IsSurfableWaterOrUnderwater
-MetatileBehavior_IsSurfableWaterOrUnderwater: @ 8056F38
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08056F50 @ =gUnknown_08308E2C
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08056F54
- movs r0, 0
- b _08056F56
- .align 2, 0
-_08056F50: .4byte gUnknown_08308E2C
-_08056F54:
- movs r0, 0x1
-_08056F56:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSurfableWaterOrUnderwater
-
- thumb_func_start MetatileBehavior_IsEastArrowWarp
-MetatileBehavior_IsEastArrowWarp: @ 8056F5C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x62
- beq _08056F6A
- movs r0, 0
- b _08056F6C
-_08056F6A:
- movs r0, 0x1
-_08056F6C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastArrowWarp
-
- thumb_func_start MetatileBehavior_IsWestArrowWarp
-MetatileBehavior_IsWestArrowWarp: @ 8056F70
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- beq _08056F7E
- movs r0, 0
- b _08056F80
-_08056F7E:
- movs r0, 0x1
-_08056F80:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestArrowWarp
-
- thumb_func_start MetatileBehavior_IsNorthArrowWarp
-MetatileBehavior_IsNorthArrowWarp: @ 8056F84
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x64
- beq _08056F92
- cmp r0, 0x1B
- bne _08056F96
-_08056F92:
- movs r0, 0x1
- b _08056F98
-_08056F96:
- movs r0, 0
-_08056F98:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthArrowWarp
-
- thumb_func_start MetatileBehavior_IsSouthArrowWarp
-MetatileBehavior_IsSouthArrowWarp: @ 8056F9C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- beq _08056FAE
- cmp r0, 0x6D
- beq _08056FAE
- cmp r0, 0x1C
- bne _08056FB2
-_08056FAE:
- movs r0, 0x1
- b _08056FB4
-_08056FB2:
- movs r0, 0
-_08056FB4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthArrowWarp
-
- thumb_func_start unref_sub_8056FB8
-unref_sub_8056FB8: @ 8056FB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- adds r0, r4, 0
- bl MetatileBehavior_IsEastArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08056FF0
- adds r0, r4, 0
- bl MetatileBehavior_IsWestArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08056FF0
- adds r0, r4, 0
- bl MetatileBehavior_IsNorthArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08056FF0
- adds r0, r4, 0
- bl MetatileBehavior_IsSouthArrowWarp
- lsls r0, 24
- cmp r0, 0
- beq _08056FF2
-_08056FF0:
- movs r5, 0x1
-_08056FF2:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8056FB8
-
- thumb_func_start sub_8056FFC
-sub_8056FFC: @ 8056FFC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC0
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x8
- bls _08057032
- adds r0, r1, 0
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057032
- cmp r1, 0xD0
- beq _08057032
- cmp r1, 0xD2
- beq _08057032
- cmp r1, 0x13
- beq _08057032
- cmp r1, 0x20
- beq _08057032
- cmp r1, 0xBB
- beq _08057032
- cmp r1, 0xBC
- bne _08057036
-_08057032:
- movs r0, 0x1
- b _08057038
-_08057036:
- movs r0, 0
-_08057038:
- pop {r1}
- bx r1
- thumb_func_end sub_8056FFC
-
- thumb_func_start MetatileBehavior_IsIce_2
-MetatileBehavior_IsIce_2: @ 805703C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- beq _0805704A
- movs r0, 0
- b _0805704C
-_0805704A:
- movs r0, 0x1
-_0805704C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIce_2
-
- thumb_func_start MetatileBehavior_IsTrickHouseSlipperyFloor
-MetatileBehavior_IsTrickHouseSlipperyFloor: @ 8057050
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x48
- beq _0805705E
- movs r0, 0
- b _08057060
-_0805705E:
- movs r0, 0x1
-_08057060:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsTrickHouseSlipperyFloor
-
- thumb_func_start MetatileBehavior_0x05
-MetatileBehavior_0x05: @ 8057064
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _08057072
- movs r0, 0
- b _08057074
-_08057072:
- movs r0, 0x1
-_08057074:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0x05
-
- thumb_func_start MetatileBehavior_IsWalkNorth
-MetatileBehavior_IsWalkNorth: @ 8057078
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x42
- beq _08057086
- movs r0, 0
- b _08057088
-_08057086:
- movs r0, 0x1
-_08057088:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkNorth
-
- thumb_func_start MetatileBehavior_IsWalkSouth
-MetatileBehavior_IsWalkSouth: @ 805708C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x43
- beq _0805709A
- movs r0, 0
- b _0805709C
-_0805709A:
- movs r0, 0x1
-_0805709C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkSouth
-
- thumb_func_start MetatileBehavior_IsWalkWest
-MetatileBehavior_IsWalkWest: @ 80570A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x41
- beq _080570AE
- movs r0, 0
- b _080570B0
-_080570AE:
- movs r0, 0x1
-_080570B0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkWest
-
- thumb_func_start MetatileBehavior_IsWalkEast
-MetatileBehavior_IsWalkEast: @ 80570B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080570C2
- movs r0, 0
- b _080570C4
-_080570C2:
- movs r0, 0x1
-_080570C4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkEast
-
- thumb_func_start MetatileBehavior_IsNorthwardCurrent
-MetatileBehavior_IsNorthwardCurrent: @ 80570C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x52
- beq _080570D6
- movs r0, 0
- b _080570D8
-_080570D6:
- movs r0, 0x1
-_080570D8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthwardCurrent
-
- thumb_func_start MetatileBehavior_IsSouthwardCurrent
-MetatileBehavior_IsSouthwardCurrent: @ 80570DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x53
- beq _080570EA
- movs r0, 0
- b _080570EC
-_080570EA:
- movs r0, 0x1
-_080570EC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthwardCurrent
-
- thumb_func_start MetatileBehavior_IsWestwardCurrent
-MetatileBehavior_IsWestwardCurrent: @ 80570F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x51
- beq _080570FE
- movs r0, 0
- b _08057100
-_080570FE:
- movs r0, 0x1
-_08057100:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestwardCurrent
-
- thumb_func_start MetatileBehavior_IsEastwardCurrent
-MetatileBehavior_IsEastwardCurrent: @ 8057104
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x50
- beq _08057112
- movs r0, 0
- b _08057114
-_08057112:
- movs r0, 0x1
-_08057114:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastwardCurrent
-
- thumb_func_start MetatileBehavior_IsSlideNorth
-MetatileBehavior_IsSlideNorth: @ 8057118
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x46
- beq _08057126
- movs r0, 0
- b _08057128
-_08057126:
- movs r0, 0x1
-_08057128:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideNorth
-
- thumb_func_start MetatileBehavior_IsSlideSouth
-MetatileBehavior_IsSlideSouth: @ 805712C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x47
- beq _0805713A
- movs r0, 0
- b _0805713C
-_0805713A:
- movs r0, 0x1
-_0805713C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideSouth
-
- thumb_func_start MetatileBehavior_IsSlideWest
-MetatileBehavior_IsSlideWest: @ 8057140
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x45
- beq _0805714E
- movs r0, 0
- b _08057150
-_0805714E:
- movs r0, 0x1
-_08057150:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideWest
-
- thumb_func_start MetatileBehavior_IsSlideEast
-MetatileBehavior_IsSlideEast: @ 8057154
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x44
- beq _08057162
- movs r0, 0
- b _08057164
-_08057162:
- movs r0, 0x1
-_08057164:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideEast
-
- thumb_func_start MetatileBehavior_IsCounter
-MetatileBehavior_IsCounter: @ 8057168
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x80
- beq _08057176
- movs r0, 0
- b _08057178
-_08057176:
- movs r0, 0x1
-_08057178:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsCounter
-
- thumb_func_start MetatileBehavior_IsPlayerFacingTVScreen
-MetatileBehavior_IsPlayerFacingTVScreen: @ 805717C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x2
- bne _0805718E
- cmp r0, 0x86
- beq _08057192
-_0805718E:
- movs r0, 0
- b _08057194
-_08057192:
- movs r0, 0x1
-_08057194:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPlayerFacingTVScreen
-
- thumb_func_start MetatileBehavior_IsPC
-MetatileBehavior_IsPC: @ 8057198
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x83
- beq _080571A6
- movs r0, 0
- b _080571A8
-_080571A6:
- movs r0, 0x1
-_080571A8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPC
-
- thumb_func_start is_tile_x84
-is_tile_x84: @ 80571AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x84
- beq _080571BA
- movs r0, 0
- b _080571BC
-_080571BA:
- movs r0, 0x1
-_080571BC:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x84
-
- thumb_func_start sub_80571C0
-sub_80571C0: @ 80571C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x91
- beq _080571E2
- cmp r0, 0x93
- beq _080571E2
- cmp r0, 0x95
- beq _080571E2
- cmp r0, 0x97
- beq _080571E2
- cmp r0, 0x99
- beq _080571E2
- cmp r0, 0x9B
- beq _080571E2
- cmp r0, 0x9D
- bne _080571E6
-_080571E2:
- movs r0, 0x1
- b _080571E8
-_080571E6:
- movs r0, 0
-_080571E8:
- pop {r1}
- bx r1
- thumb_func_end sub_80571C0
-
- thumb_func_start sub_80571EC
-sub_80571EC: @ 80571EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x90
- beq _08057202
- cmp r0, 0x92
- beq _08057202
- cmp r0, 0x94
- beq _08057202
- cmp r0, 0x9A
- bne _08057206
-_08057202:
- movs r0, 0x1
- b _08057208
-_08057206:
- movs r0, 0
-_08057208:
- pop {r1}
- bx r1
- thumb_func_end sub_80571EC
-
- thumb_func_start sub_805720C
-sub_805720C: @ 805720C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x96
- beq _0805721A
- cmp r0, 0x9C
- bne _0805721E
-_0805721A:
- movs r0, 0x1
- b _08057220
-_0805721E:
- movs r0, 0
-_08057220:
- pop {r1}
- bx r1
- thumb_func_end sub_805720C
-
- thumb_func_start is_tile_x98
-is_tile_x98: @ 8057224
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x98
- beq _08057232
- movs r0, 0
- b _08057234
-_08057232:
- movs r0, 0x1
-_08057234:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x98
-
- thumb_func_start sub_8057238
-sub_8057238: @ 8057238
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB0
- beq _08057246
- movs r0, 0
- b _08057248
-_08057246:
- movs r0, 0x1
-_08057248:
- pop {r1}
- bx r1
- thumb_func_end sub_8057238
-
- thumb_func_start sub_805724C
-sub_805724C: @ 805724C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB1
- beq _0805725A
- movs r0, 0
- b _0805725C
-_0805725A:
- movs r0, 0x1
-_0805725C:
- pop {r1}
- bx r1
- thumb_func_end sub_805724C
-
- thumb_func_start unref_sub_8057260
-unref_sub_8057260: @ 8057260
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB2
- beq _0805726E
- movs r0, 0
- b _08057270
-_0805726E:
- movs r0, 0x1
-_08057270:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8057260
-
- thumb_func_start sub_8057274
-sub_8057274: @ 8057274
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB3
- beq _08057282
- movs r0, 0
- b _08057284
-_08057282:
- movs r0, 0x1
-_08057284:
- pop {r1}
- bx r1
- thumb_func_end sub_8057274
-
- thumb_func_start sub_8057288
-sub_8057288: @ 8057288
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB9
- beq _08057296
- movs r0, 0
- b _08057298
-_08057296:
- movs r0, 0x1
-_08057298:
- pop {r1}
- bx r1
- thumb_func_end sub_8057288
-
- thumb_func_start sub_805729C
-sub_805729C: @ 805729C
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080572A8
- movs r0, 0
- b _080572AA
-_080572A8:
- movs r0, 0x1
-_080572AA:
- pop {r1}
- bx r1
- thumb_func_end sub_805729C
-
- thumb_func_start sub_80572B0
-sub_80572B0: @ 80572B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB7
- beq _080572BE
- movs r0, 0
- b _080572C0
-_080572BE:
- movs r0, 0x1
-_080572C0:
- pop {r1}
- bx r1
- thumb_func_end sub_80572B0
-
- thumb_func_start unref_sub_80572C4
-unref_sub_80572C4: @ 80572C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB2
- beq _080572D2
- movs r0, 0
- b _080572D4
-_080572D2:
- movs r0, 0x1
-_080572D4:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80572C4
-
- thumb_func_start sub_80572D8
-sub_80572D8: @ 80572D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB5
- beq _080572E6
- movs r0, 0
- b _080572E8
-_080572E6:
- movs r0, 0x1
-_080572E8:
- pop {r1}
- bx r1
- thumb_func_end sub_80572D8
-
- thumb_func_start sub_80572EC
-sub_80572EC: @ 80572EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC3
- beq _080572FA
- movs r0, 0
- b _080572FC
-_080572FA:
- movs r0, 0x1
-_080572FC:
- pop {r1}
- bx r1
- thumb_func_end sub_80572EC
-
- thumb_func_start sub_8057300
-sub_8057300: @ 8057300
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC2
- beq _0805730E
- movs r0, 0
- b _08057310
-_0805730E:
- movs r0, 0x1
-_08057310:
- pop {r1}
- bx r1
- thumb_func_end sub_8057300
-
- thumb_func_start sub_8057314
-sub_8057314: @ 8057314
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB8
- beq _08057322
- movs r0, 0
- b _08057324
-_08057322:
- movs r0, 0x1
-_08057324:
- pop {r1}
- bx r1
- thumb_func_end sub_8057314
-
- thumb_func_start sub_8057328
-sub_8057328: @ 8057328
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBE
- beq _08057336
- movs r0, 0
- b _08057338
-_08057336:
- movs r0, 0x1
-_08057338:
- pop {r1}
- bx r1
- thumb_func_end sub_8057328
-
- thumb_func_start sub_805733C
-sub_805733C: @ 805733C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBD
- beq _0805734A
- movs r0, 0
- b _0805734C
-_0805734A:
- movs r0, 0x1
-_0805734C:
- pop {r1}
- bx r1
- thumb_func_end sub_805733C
-
- thumb_func_start sub_8057350
-sub_8057350: @ 8057350
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBA
- beq _0805735E
- movs r0, 0
- b _08057360
-_0805735E:
- movs r0, 0x1
-_08057360:
- pop {r1}
- bx r1
- thumb_func_end sub_8057350
-
- thumb_func_start sub_8057364
-sub_8057364: @ 8057364
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBF
- beq _08057372
- movs r0, 0
- b _08057374
-_08057372:
- movs r0, 0x1
-_08057374:
- pop {r1}
- bx r1
- thumb_func_end sub_8057364
-
- thumb_func_start sub_8057378
-sub_8057378: @ 8057378
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC4
- beq _08057386
- movs r0, 0
- b _08057388
-_08057386:
- movs r0, 0x1
-_08057388:
- pop {r1}
- bx r1
- thumb_func_end sub_8057378
-
- thumb_func_start sub_805738C
-sub_805738C: @ 805738C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC5
- beq _0805739A
- movs r0, 0
- b _0805739C
-_0805739A:
- movs r0, 0x1
-_0805739C:
- pop {r1}
- bx r1
- thumb_func_end sub_805738C
-
- thumb_func_start MetatileBehavior_HasRipples
-MetatileBehavior_HasRipples: @ 80573A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _080573B2
- cmp r0, 0x16
- beq _080573B2
- cmp r0, 0x14
- bne _080573B6
-_080573B2:
- movs r0, 0x1
- b _080573B8
-_080573B6:
- movs r0, 0
-_080573B8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_HasRipples
-
- thumb_func_start MetatileBehavior_IsPuddle
-MetatileBehavior_IsPuddle: @ 80573BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- beq _080573CA
- movs r0, 0
- b _080573CC
-_080573CA:
- movs r0, 0x1
-_080573CC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPuddle
-
- thumb_func_start MetatileBehavior_IsTallGrass
-MetatileBehavior_IsTallGrass: @ 80573D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080573DE
- movs r0, 0
- b _080573E0
-_080573DE:
- movs r0, 0x1
-_080573E0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsTallGrass
-
- thumb_func_start MetatileBehavior_IsLongGrass
-MetatileBehavior_IsLongGrass: @ 80573E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080573F2
- movs r0, 0
- b _080573F4
-_080573F2:
- movs r0, 0x1
-_080573F4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLongGrass
-
- thumb_func_start MetatileBehavior_IsBerryTreeSoil
-MetatileBehavior_IsBerryTreeSoil: @ 80573F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA0
- beq _08057406
- movs r0, 0
- b _08057408
-_08057406:
- movs r0, 0x1
-_08057408:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBerryTreeSoil
-
- thumb_func_start MetatileBehavior_IsAsh
-MetatileBehavior_IsAsh: @ 805740C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x24
- beq _0805741A
- movs r0, 0
- b _0805741C
-_0805741A:
- movs r0, 0x1
-_0805741C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsAsh
-
- thumb_func_start MetatileBehavior_IsUnusedFootprintMetatile
-MetatileBehavior_IsUnusedFootprintMetatile: @ 8057420
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x25
- beq _0805742E
- movs r0, 0
- b _08057430
-_0805742E:
- movs r0, 0x1
-_08057430:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsUnusedFootprintMetatile
-
- thumb_func_start MetatileBehavior_IsBridge
-MetatileBehavior_IsBridge: @ 8057434
- push {lr}
- lsls r0, 24
- movs r1, 0x90
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057448
- movs r0, 0
- b _0805744A
-_08057448:
- movs r0, 0x1
-_0805744A:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBridge
-
- thumb_func_start sub_8057450
-sub_8057450: @ 8057450
- push {lr}
- lsls r0, 24
- movs r1, 0x90
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057462
- movs r0, 0
-_08057462:
- pop {r1}
- bx r1
- thumb_func_end sub_8057450
-
- thumb_func_start MetatileBehavior_IsLandWildEncounter
-MetatileBehavior_IsLandWildEncounter: @ 8057468
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _0805748C
- adds r0, r4, 0
- bl sub_8056DA0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805748C
- movs r0, 0x1
- b _0805748E
-_0805748C:
- movs r0, 0
-_0805748E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLandWildEncounter
-
- thumb_func_start MetatileBehavior_IsWaterWildEncounter
-MetatileBehavior_IsWaterWildEncounter: @ 8057494
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080574BA
- adds r0, r4, 0
- bl sub_8056DA0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080574BA
- movs r0, 0x1
- b _080574BC
-_080574BA:
- movs r0, 0
-_080574BC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWaterWildEncounter
-
- thumb_func_start sub_80574C4
-sub_80574C4: @ 80574C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- beq _080574D2
- movs r0, 0
- b _080574D4
-_080574D2:
- movs r0, 0x1
-_080574D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80574C4
-
- thumb_func_start sub_80574D8
-sub_80574D8: @ 80574D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC
- beq _080574E6
- movs r0, 0
- b _080574E8
-_080574E6:
- movs r0, 0x1
-_080574E8:
- pop {r1}
- bx r1
- thumb_func_end sub_80574D8
-
- thumb_func_start sub_80574EC
-sub_80574EC: @ 80574EC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xEF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _08057502
- cmp r1, 0x14
- bne _08057506
-_08057502:
- movs r0, 0x1
- b _08057508
-_08057506:
- movs r0, 0
-_08057508:
- pop {r1}
- bx r1
- thumb_func_end sub_80574EC
-
- thumb_func_start sub_805750C
-sub_805750C: @ 805750C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x19
- beq _0805751A
- cmp r0, 0x2A
- bne _0805751E
-_0805751A:
- movs r0, 0x1
- b _08057520
-_0805751E:
- movs r0, 0
-_08057520:
- pop {r1}
- bx r1
- thumb_func_end sub_805750C
-
- thumb_func_start MetatileBehavior_IsShallowFlowingWater
-MetatileBehavior_IsShallowFlowingWater: @ 8057524
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x17
- beq _08057536
- cmp r0, 0x1B
- beq _08057536
- cmp r0, 0x1C
- bne _0805753A
-_08057536:
- movs r0, 0x1
- b _0805753C
-_0805753A:
- movs r0, 0
-_0805753C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsShallowFlowingWater
-
- thumb_func_start sub_8057540
-sub_8057540: @ 8057540
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x26
- beq _0805754E
- movs r0, 0
- b _08057550
-_0805754E:
- movs r0, 0x1
-_08057550:
- pop {r1}
- bx r1
- thumb_func_end sub_8057540
-
- thumb_func_start sub_8057554
-sub_8057554: @ 8057554
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- beq _08057562
- movs r0, 0
- b _08057564
-_08057562:
- movs r0, 0x1
-_08057564:
- pop {r1}
- bx r1
- thumb_func_end sub_8057554
-
- thumb_func_start sub_8057568
-sub_8057568: @ 8057568
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- beq _0805757A
- cmp r0, 0x11
- beq _0805757A
- cmp r0, 0x12
- bne _0805757E
-_0805757A:
- movs r0, 0x1
- b _08057580
-_0805757E:
- movs r0, 0
-_08057580:
- pop {r1}
- bx r1
- thumb_func_end sub_8057568
-
- thumb_func_start unref_sub_8057584
-unref_sub_8057584: @ 8057584
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x18
- beq _08057592
- cmp r0, 0x1A
- bne _08057596
-_08057592:
- movs r0, 0x1
- b _08057598
-_08057596:
- movs r0, 0
-_08057598:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8057584
-
- thumb_func_start sub_805759C
-sub_805759C: @ 805759C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- beq _080575BE
- adds r0, r4, 0
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- cmp r0, 0
- bne _080575BE
- movs r0, 0x1
- b _080575C0
-_080575BE:
- movs r0, 0
-_080575C0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805759C
-
- thumb_func_start MetatileBehavior_IsEastBlocked
-MetatileBehavior_IsEastBlocked: @ 80575C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x30
- beq _080575E2
- cmp r0, 0x34
- beq _080575E2
- cmp r0, 0x36
- beq _080575E2
- cmp r0, 0xC1
- beq _080575E2
- cmp r0, 0xBE
- bne _080575E6
-_080575E2:
- movs r0, 0x1
- b _080575E8
-_080575E6:
- movs r0, 0
-_080575E8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastBlocked
-
- thumb_func_start MetatileBehavior_IsWestBlocked
-MetatileBehavior_IsWestBlocked: @ 80575EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- beq _08057606
- cmp r0, 0x35
- beq _08057606
- cmp r0, 0x37
- beq _08057606
- cmp r0, 0xC1
- beq _08057606
- cmp r0, 0xBE
- bne _0805760A
-_08057606:
- movs r0, 0x1
- b _0805760C
-_0805760A:
- movs r0, 0
-_0805760C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestBlocked
-
- thumb_func_start MetatileBehavior_IsNorthBlocked
-MetatileBehavior_IsNorthBlocked: @ 8057610
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x32
- beq _08057626
- cmp r0, 0x34
- beq _08057626
- cmp r0, 0x35
- beq _08057626
- cmp r0, 0xC0
- bne _0805762A
-_08057626:
- movs r0, 0x1
- b _0805762C
-_0805762A:
- movs r0, 0
-_0805762C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthBlocked
-
- thumb_func_start MetatileBehavior_IsSouthBlocked
-MetatileBehavior_IsSouthBlocked: @ 8057630
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- beq _08057646
- cmp r0, 0x36
- beq _08057646
- cmp r0, 0x37
- beq _08057646
- cmp r0, 0xC0
- bne _0805764A
-_08057646:
- movs r0, 0x1
- b _0805764C
-_0805764A:
- movs r0, 0
-_0805764C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthBlocked
-
- thumb_func_start MetatileBehavior_IsShortGrass
-MetatileBehavior_IsShortGrass: @ 8057650
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- beq _0805765E
- movs r0, 0
- b _08057660
-_0805765E:
- movs r0, 0x1
-_08057660:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsShortGrass
-
- thumb_func_start MetatileBehavior_IsHotSprings
-MetatileBehavior_IsHotSprings: @ 8057664
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x28
- beq _08057672
- movs r0, 0
- b _08057674
-_08057672:
- movs r0, 0x1
-_08057674:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsHotSprings
-
- thumb_func_start MetatileBehavior_IsWaterfall
-MetatileBehavior_IsWaterfall: @ 8057678
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- beq _08057686
- movs r0, 0
- b _08057688
-_08057686:
- movs r0, 0x1
-_08057688:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWaterfall
-
- thumb_func_start MetatileBehavior_IsFortreeBridge
-MetatileBehavior_IsFortreeBridge: @ 805768C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- beq _0805769A
- movs r0, 0
- b _0805769C
-_0805769A:
- movs r0, 0x1
-_0805769C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsFortreeBridge
-
- thumb_func_start sub_80576A0
-sub_80576A0: @ 80576A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x74
- beq _080576AE
- movs r0, 0
- b _080576B0
-_080576AE:
- movs r0, 0x1
-_080576B0:
- pop {r1}
- bx r1
- thumb_func_end sub_80576A0
-
- thumb_func_start sub_80576B4
-sub_80576B4: @ 80576B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x75
- beq _080576C2
- movs r0, 0
- b _080576C4
-_080576C2:
- movs r0, 0x1
-_080576C4:
- pop {r1}
- bx r1
- thumb_func_end sub_80576B4
-
- thumb_func_start sub_80576C8
-sub_80576C8: @ 80576C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x76
- beq _080576D6
- movs r0, 0
- b _080576D8
-_080576D6:
- movs r0, 0x1
-_080576D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80576C8
-
- thumb_func_start sub_80576DC
-sub_80576DC: @ 80576DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- beq _080576EA
- movs r0, 0
- b _080576EC
-_080576EA:
- movs r0, 0x1
-_080576EC:
- pop {r1}
- bx r1
- thumb_func_end sub_80576DC
-
- thumb_func_start MetatileBehavior_IsPacifidlogLog
-MetatileBehavior_IsPacifidlogLog: @ 80576F0
- push {lr}
- lsls r0, 24
- movs r1, 0x8C
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057704
- movs r0, 0
- b _08057706
-_08057704:
- movs r0, 0x1
-_08057706:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPacifidlogLog
-
- thumb_func_start is_tile_x8C
-is_tile_x8C: @ 805770C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8C
- beq _0805771A
- movs r0, 0
- b _0805771C
-_0805771A:
- movs r0, 0x1
-_0805771C:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8C
-
- thumb_func_start is_tile_x85
-is_tile_x85: @ 8057720
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x85
- beq _0805772E
- movs r0, 0
- b _08057730
-_0805772E:
- movs r0, 0x1
-_08057730:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x85
-
- thumb_func_start is_tile_x8B
-is_tile_x8B: @ 8057734
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8B
- beq _08057742
- movs r0, 0
- b _08057744
-_08057742:
- movs r0, 0x1
-_08057744:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8B
-
- thumb_func_start is_tile_x8A
-is_tile_x8A: @ 8057748
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8A
- beq _08057756
- movs r0, 0
- b _08057758
-_08057756:
- movs r0, 0x1
-_08057758:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8A
-
- thumb_func_start is_tile_x87
-is_tile_x87: @ 805775C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x87
- beq _0805776A
- movs r0, 0
- b _0805776C
-_0805776A:
- movs r0, 0x1
-_0805776C:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x87
-
- thumb_func_start MetatileBehavior_0xBB
-MetatileBehavior_0xBB: @ 8057770
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBB
- beq _0805777E
- movs r0, 0
- b _08057780
-_0805777E:
- movs r0, 0x1
-_08057780:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0xBB
-
- thumb_func_start MetatileBehavior_0xBC
-MetatileBehavior_0xBC: @ 8057784
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBC
- beq _08057792
- movs r0, 0
- b _08057794
-_08057792:
- movs r0, 0x1
-_08057794:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0xBC
-
- thumb_func_start sub_8057798
-sub_8057798: @ 8057798
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x29
- beq _080577A6
- movs r0, 0
- b _080577A8
-_080577A6:
- movs r0, 0x1
-_080577A8:
- pop {r1}
- bx r1
- thumb_func_end sub_8057798
-
- thumb_func_start is_role_x68
-is_role_x68: @ 80577AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x68
- beq _080577BA
- movs r0, 0
- b _080577BC
-_080577BA:
- movs r0, 0x1
-_080577BC:
- pop {r1}
- bx r1
- thumb_func_end is_role_x68
-
- thumb_func_start MetatileBehavior_IsAquaHideoutWarp
-MetatileBehavior_IsAquaHideoutWarp: @ 80577C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x67
- beq _080577CE
- movs r0, 0
- b _080577D0
-_080577CE:
- movs r0, 0x1
-_080577D0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsAquaHideoutWarp
-
- thumb_func_start MetatileBehavior_IsSurfableFishableWater
-MetatileBehavior_IsSurfableFishableWater: @ 80577D4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _080577F8
- cmp r0, 0x15
- beq _080577F8
- cmp r0, 0x11
- beq _080577F8
- cmp r0, 0x12
- beq _080577F8
- cmp r0, 0x14
- beq _080577F8
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _080577FC
-_080577F8:
- movs r0, 0x1
- b _080577FE
-_080577FC:
- movs r0, 0
-_080577FE:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSurfableFishableWater
-
- thumb_func_start sub_8057804
-sub_8057804: @ 8057804
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- beq _08057812
- movs r0, 0
- b _08057814
-_08057812:
- movs r0, 0x1
-_08057814:
- pop {r1}
- bx r1
- thumb_func_end sub_8057804
-
- thumb_func_start sub_8057818
-sub_8057818: @ 8057818
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x66
- beq _08057826
- movs r0, 0
- b _08057828
-_08057826:
- movs r0, 0x1
-_08057828:
- pop {r1}
- bx r1
- thumb_func_end sub_8057818
-
- thumb_func_start sub_805782C
-sub_805782C: @ 805782C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD2
- beq _0805783A
- movs r0, 0
- b _0805783C
-_0805783A:
- movs r0, 0x1
-_0805783C:
- pop {r1}
- bx r1
- thumb_func_end sub_805782C
-
- thumb_func_start MetatileBehavior_IsMuddySlope
-MetatileBehavior_IsMuddySlope: @ 8057840
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD0
- beq _0805784E
- movs r0, 0
- b _08057850
-_0805784E:
- movs r0, 0x1
-_08057850:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsMuddySlope
-
- thumb_func_start MetatileBehavior_IsBumpySlope
-MetatileBehavior_IsBumpySlope: @ 8057854
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD1
- beq _08057862
- movs r0, 0
- b _08057864
-_08057862:
- movs r0, 0x1
-_08057864:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBumpySlope
-
- thumb_func_start MetatileBehavior_IsIsolatedVerticalRail
-MetatileBehavior_IsIsolatedVerticalRail: @ 8057868
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD3
- beq _08057876
- movs r0, 0
- b _08057878
-_08057876:
- movs r0, 0x1
-_08057878:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIsolatedVerticalRail
-
- thumb_func_start MetatileBehavior_IsIsolatedHorizontalRail
-MetatileBehavior_IsIsolatedHorizontalRail: @ 805787C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD4
- beq _0805788A
- movs r0, 0
- b _0805788C
-_0805788A:
- movs r0, 0x1
-_0805788C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIsolatedHorizontalRail
-
- thumb_func_start MetatileBehavior_IsVerticalRail
-MetatileBehavior_IsVerticalRail: @ 8057890
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD5
- beq _0805789E
- movs r0, 0
- b _080578A0
-_0805789E:
- movs r0, 0x1
-_080578A0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsVerticalRail
-
- thumb_func_start MetatileBehavior_IsHorizontalRail
-MetatileBehavior_IsHorizontalRail: @ 80578A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD6
- beq _080578B2
- movs r0, 0
- b _080578B4
-_080578B2:
- movs r0, 0x1
-_080578B4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsHorizontalRail
-
- thumb_func_start MetatileBehavior_IsSeaweed
-MetatileBehavior_IsSeaweed: @ 80578B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x22
- beq _080578C6
- cmp r0, 0x2A
- bne _080578CA
-_080578C6:
- movs r0, 0x1
- b _080578CC
-_080578CA:
- movs r0, 0
-_080578CC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSeaweed
-
- thumb_func_start MetatileBehavior_IsRunningDisallowed
-MetatileBehavior_IsRunningDisallowed: @ 80578D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- beq _080578EC
- cmp r0, 0x3
- beq _080578EC
- cmp r0, 0x28
- beq _080578EC
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _080578F0
-_080578EC:
- movs r0, 0x1
- b _080578F2
-_080578F0:
- movs r0, 0
-_080578F2:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsRunningDisallowed
-
- thumb_func_start sub_80578F8
-sub_80578F8: @ 80578F8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFE
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _08057912
- cmp r1, 0x24
- beq _08057912
- cmp r1, 0x9
- bne _08057916
-_08057912:
- movs r0, 0x1
- b _08057918
-_08057916:
- movs r0, 0
-_08057918:
- pop {r1}
- bx r1
- thumb_func_end sub_80578F8
-
- thumb_func_start sub_805791C
-sub_805791C: @ 805791C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8E
- beq _0805792A
- movs r0, 0
- b _0805792C
-_0805792A:
- movs r0, 0x1
-_0805792C:
- pop {r1}
- bx r1
- thumb_func_end sub_805791C
-
- thumb_func_start sub_8057930
-sub_8057930: @ 8057930
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE0
- beq _0805793E
- movs r0, 0
- b _08057940
-_0805793E:
- movs r0, 0x1
-_08057940:
- pop {r1}
- bx r1
- thumb_func_end sub_8057930
-
- thumb_func_start sub_8057944
-sub_8057944: @ 8057944
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE1
- beq _08057952
- movs r0, 0
- b _08057954
-_08057952:
- movs r0, 0x1
-_08057954:
- pop {r1}
- bx r1
- thumb_func_end sub_8057944
-
- thumb_func_start sub_8057958
-sub_8057958: @ 8057958
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE2
- beq _08057966
- movs r0, 0
- b _08057968
-_08057966:
- movs r0, 0x1
-_08057968:
- pop {r1}
- bx r1
- thumb_func_end sub_8057958
-
- thumb_func_start sub_805796C
-sub_805796C: @ 805796C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE3
- beq _0805797A
- movs r0, 0
- b _0805797C
-_0805797A:
- movs r0, 0x1
-_0805797C:
- pop {r1}
- bx r1
- thumb_func_end sub_805796C
-
- thumb_func_start sub_8057980
-sub_8057980: @ 8057980
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE4
- beq _0805798E
- movs r0, 0
- b _08057990
-_0805798E:
- movs r0, 0x1
-_08057990:
- pop {r1}
- bx r1
- thumb_func_end sub_8057980
-
- thumb_func_start sub_8057994
-sub_8057994: @ 8057994
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE5
- beq _080579A2
- movs r0, 0
- b _080579A4
-_080579A2:
- movs r0, 0x1
-_080579A4:
- pop {r1}
- bx r1
- thumb_func_end sub_8057994
-
- thumb_func_start sub_80579A8
-sub_80579A8: @ 80579A8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE6
- beq _080579B6
- movs r0, 0
- b _080579B8
-_080579B6:
- movs r0, 0x1
-_080579B8:
- pop {r1}
- bx r1
- thumb_func_end sub_80579A8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/money.s b/asm/money.s
deleted file mode 100644
index 65d8b87a1..000000000
--- a/asm/money.s
+++ /dev/null
@@ -1,480 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start IsEnoughMoney
-IsEnoughMoney: @ 80B79A8
- push {lr}
- cmp r0, r1
- bcs _080B79B2
- movs r0, 0
- b _080B79B4
-_080B79B2:
- movs r0, 0x1
-_080B79B4:
- pop {r1}
- bx r1
- thumb_func_end IsEnoughMoney
-
- thumb_func_start sub_80B79B8
-sub_80B79B8: @ 80B79B8
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2]
- adds r1, r0, r1
- cmp r0, r1
- bls _080B79CC
- ldr r0, _080B79C8 @ =0x000f423f
- b _080B79D4
- .align 2, 0
-_080B79C8: .4byte 0x000f423f
-_080B79CC:
- str r1, [r2]
- ldr r0, _080B79DC @ =0x000f423f
- cmp r1, r0
- bls _080B79D6
-_080B79D4:
- str r0, [r2]
-_080B79D6:
- pop {r0}
- bx r0
- .align 2, 0
-_080B79DC: .4byte 0x000f423f
- thumb_func_end sub_80B79B8
-
- thumb_func_start sub_80B79E0
-sub_80B79E0: @ 80B79E0
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2]
- cmp r0, r1
- bcs _080B79EE
- movs r0, 0
- b _080B79F0
-_080B79EE:
- subs r0, r1
-_080B79F0:
- str r0, [r2]
- pop {r0}
- bx r0
- thumb_func_end sub_80B79E0
-
- thumb_func_start sub_80B79F8
-sub_80B79F8: @ 80B79F8
- push {r4,lr}
- adds r3, r0, 0
- lsls r2, 24
- lsrs r4, r2, 24
- ldr r0, _080B7A0C @ =0x000f423f
- cmp r1, r0
- bls _080B7A10
- movs r2, 0x7
- b _080B7A46
- .align 2, 0
-_080B7A0C: .4byte 0x000f423f
-_080B7A10:
- ldr r0, _080B7A1C @ =0x0001869f
- cmp r1, r0
- bls _080B7A20
- movs r2, 0x6
- b _080B7A46
- .align 2, 0
-_080B7A1C: .4byte 0x0001869f
-_080B7A20:
- ldr r0, _080B7A2C @ =0x00002710
- cmp r1, r0
- bls _080B7A30
- movs r2, 0x5
- b _080B7A46
- .align 2, 0
-_080B7A2C: .4byte 0x00002710
-_080B7A30:
- ldr r0, _080B7A90 @ =0x000003e7
- movs r2, 0x4
- cmp r1, r0
- bhi _080B7A46
- movs r2, 0x3
- cmp r1, 0x63
- bhi _080B7A46
- movs r2, 0x1
- cmp r1, 0x9
- bls _080B7A46
- movs r2, 0x2
-_080B7A46:
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x14
- strb r0, [r3, 0x1]
- movs r0, 0x6
- strb r0, [r3, 0x2]
- adds r3, 0x3
- movs r0, 0
- subs r2, r4, r2
- cmp r0, r2
- bge _080B7A6C
- movs r4, 0
-_080B7A5E:
- strb r4, [r3]
- adds r3, 0x1
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r2
- blt _080B7A5E
-_080B7A6C:
- movs r0, 0xB7
- strb r0, [r3]
- adds r3, 0x1
- adds r0, r3, 0
- bl ConvertIntToDecimalString
- adds r3, r0, 0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x14
- strb r0, [r3, 0x1]
- movs r0, 0
- strb r0, [r3, 0x2]
- movs r0, 0xFF
- strb r0, [r3, 0x3]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7A90: .4byte 0x000003e7
- thumb_func_end sub_80B79F8
-
- thumb_func_start sub_80B7A94
-sub_80B7A94: @ 80B7A94
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r7, r3, 24
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80B79F8
- mov r0, sp
- bl sub_8072CA4
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r5, 0x1
- lsls r0, 3
- cmp r2, r0
- blt _080B7ACE
- mov r0, sp
- adds r1, r6, 0
- adds r2, r7, 0
- bl MenuPrint
- b _080B7AE4
-_080B7ACE:
- adds r1, r6, 0x1
- adds r1, r5
- lsls r1, 3
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r7, 3
- mov r0, sp
- movs r3, 0x1
- bl MenuPrint_PixelCoords
-_080B7AE4:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7A94
-
- thumb_func_start sub_80B7AEC
-sub_80B7AEC: @ 80B7AEC
- push {r4-r6,lr}
- sub sp, 0x20
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r6, sp
- movs r0, 0xB7
- strb r0, [r6]
- adds r6, 0x1
- adds r0, r6, 0
- adds r1, r3, 0
- bl ConvertIntToDecimalString
- adds r6, r0, 0
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl MenuPrint_RightAligned
- movs r0, 0xFC
- strb r0, [r6]
- movs r0, 0x14
- strb r0, [r6, 0x1]
- movs r0, 0
- strb r0, [r6, 0x2]
- movs r0, 0xFF
- strb r0, [r6, 0x3]
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7AEC
-
- thumb_func_start sub_80B7B34
-sub_80B7B34: @ 80B7B34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- mov r9, r2
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, 24
- lsrs r5, 24
- mov r1, r9
- lsls r1, 8
- mov r9, r1
- ldr r4, _080B7BD8 @ =gDecoration10000_Gfx
- adds r0, r1, r4
- lsls r6, r5, 4
- subs r6, r5
- lsls r1, r6, 6
- mov r3, r8
- adds r3, 0x1
- lsls r3, 5
- ldr r2, _080B7BDC @ =0x06008000
- adds r3, r2
- adds r1, r3
- movs r2, 0x20
- str r3, [sp]
- bl CpuFastSet
- adds r4, 0x80
- add r9, r4
- adds r0, r5, 0x1
- lsls r4, r0, 4
- subs r4, r0
- lsls r1, r4, 6
- ldr r3, [sp]
- adds r1, r3
- mov r0, r9
- movs r2, 0x20
- bl CpuFastSet
- movs r3, 0
- lsls r5, 5
- mov r0, r8
- adds r7, r5, r0
- lsls r6, 1
- adds r6, 0x1
- add r6, r8
- ldr r1, _080B7BE0 @ =0xfffff000
- adds r5, r1, 0
- ldr r0, _080B7BE4 @ =0x0600f800
- mov r12, r0
- ldr r1, _080B7BE8 @ =0x0600f840
- mov r9, r1
- lsls r4, 1
- adds r4, 0x1
- add r4, r8
-_080B7BAA:
- adds r1, r7, r3
- lsls r1, 1
- mov r0, r12
- adds r2, r1, r0
- adds r0, r3, r6
- adds r0, r5
- strh r0, [r2]
- add r1, r9
- adds r0, r3, r4
- adds r0, r5
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080B7BAA
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7BD8: .4byte gDecoration10000_Gfx
-_080B7BDC: .4byte 0x06008000
-_080B7BE0: .4byte 0xfffff000
-_080B7BE4: .4byte 0x0600f800
-_080B7BE8: .4byte 0x0600f840
- thumb_func_end sub_80B7B34
-
- thumb_func_start sub_80B7BEC
-sub_80B7BEC: @ 80B7BEC
- push {r4,lr}
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsls r3, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r4, r1
- lsrs r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r3, r1
- lsrs r3, 24
- movs r1, 0x6
- adds r2, r4, 0
- bl sub_80B7A94
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7BEC
-
- thumb_func_start sub_80B7C14
-sub_80B7C14: @ 80B7C14
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsls r3, 24
- lsrs r6, r4, 24
- movs r0, 0xD0
- lsls r0, 20
- adds r4, r0
- lsrs r4, 24
- lsrs r5, r3, 24
- movs r1, 0xC0
- lsls r1, 18
- adds r3, r1
- lsrs r3, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl MenuDrawTextWindow
- mov r0, r8
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80B7BEC
- ldr r0, _080B7C88 @ =gUnknown_083CF584
- bl LoadCompressedObjectPic
- ldr r0, _080B7C8C @ =gUnknown_083CF58C
- bl LoadCompressedObjectPalette
- ldr r0, _080B7C90 @ =gSpriteTemplate_83CF56C
- lsls r6, 19
- movs r1, 0x98
- lsls r1, 13
- adds r6, r1
- asrs r6, 16
- lsls r5, 19
- movs r1, 0xB0
- lsls r1, 12
- adds r5, r1
- asrs r5, 16
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, _080B7C94 @ =gUnknown_02038734
- strb r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7C88: .4byte gUnknown_083CF584
-_080B7C8C: .4byte gUnknown_083CF58C
-_080B7C90: .4byte gSpriteTemplate_83CF56C
-_080B7C94: .4byte gUnknown_02038734
- thumb_func_end sub_80B7C14
-
- thumb_func_start RemoveMoneyLabelObject
-RemoveMoneyLabelObject: @ 80B7C98
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080B7CDC @ =gUnknown_02038734
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B7CE0 @ =gSprites
- adds r0, r1
- bl DestroySpriteAndFreeResources
- ldr r0, _080B7CE4 @ =0x00002722
- bl FreeSpritePaletteByTag
- adds r2, r4, 0
- adds r2, 0xD
- lsls r2, 24
- lsrs r2, 24
- adds r3, r5, 0x3
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl MenuZeroFillWindowRect
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7CDC: .4byte gUnknown_02038734
-_080B7CE0: .4byte gSprites
-_080B7CE4: .4byte 0x00002722
- thumb_func_end RemoveMoneyLabelObject
-
- thumb_func_start sub_80B7CE8
-sub_80B7CE8: @ 80B7CE8
- push {lr}
- ldr r0, _080B7D04 @ =gSaveBlock1
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080B7D08 @ =gSpecialVar_0x8005
- ldrh r1, [r1]
- bl IsEnoughMoney
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080B7D04: .4byte gSaveBlock1
-_080B7D08: .4byte gSpecialVar_0x8005
- thumb_func_end sub_80B7CE8
-
- thumb_func_start sub_80B7D0C
-sub_80B7D0C: @ 80B7D0C
- push {lr}
- ldr r0, _080B7D1C @ =gSaveBlock1 + 0x490
- ldr r1, _080B7D20 @ =gSpecialVar_0x8005
- ldrh r1, [r1]
- bl sub_80B79E0
- pop {r0}
- bx r0
- .align 2, 0
-_080B7D1C: .4byte gSaveBlock1 + 0x490
-_080B7D20: .4byte gSpecialVar_0x8005
- thumb_func_end sub_80B7D0C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s
deleted file mode 100644
index 6331199de..000000000
--- a/asm/mystery_event_menu.s
+++ /dev/null
@@ -1,581 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8146900
-sub_8146900: @ 8146900
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8146900
-
- thumb_func_start sub_8146914
-sub_8146914: @ 8146914
- push {lr}
- movs r2, 0
- ldr r1, _0814692C @ =gLinkPlayers
- ldrh r0, [r1, 0x1A]
- ldrh r1, [r1, 0x36]
- cmp r0, r1
- bne _08146924
- movs r2, 0x1
-_08146924:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0814692C: .4byte gLinkPlayers
- thumb_func_end sub_8146914
-
- thumb_func_start CB2_InitMysteryEventMenu
-CB2_InitMysteryEventMenu: @ 8146930
- push {r4,lr}
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, _0814699C @ =sub_8146900
- bl SetVBlankCallback
- ldr r4, _081469A0 @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl MenuZeroFillScreen
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x50
- movs r0, 0
- strh r0, [r1]
- ldr r0, _081469A4 @ =Task_DestroySelf
- movs r1, 0
- bl CreateTask
- bl StopMapMusic
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- ldr r0, _081469A8 @ =sub_81469E4
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814699C: .4byte sub_8146900
-_081469A0: .4byte gWindowConfig_81E6CE4
-_081469A4: .4byte Task_DestroySelf
-_081469A8: .4byte sub_81469E4
- thumb_func_end CB2_InitMysteryEventMenu
-
- thumb_func_start sub_81469AC
-sub_81469AC: @ 81469AC
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x1
- cmp r4, 0
- bne _081469C0
- ldr r1, _081469DC @ =gSystemText_EventLoadSuccess
- bl StringCopy
- movs r5, 0
-_081469C0:
- cmp r4, 0x2
- bne _081469C6
- movs r5, 0
-_081469C6:
- cmp r4, 0x1
- bne _081469D2
- ldr r1, _081469E0 @ =gSystemText_LoadingError
- adds r0, r6, 0
- bl StringCopy
-_081469D2:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081469DC: .4byte gSystemText_EventLoadSuccess
-_081469E0: .4byte gSystemText_LoadingError
- thumb_func_end sub_81469AC
-
- thumb_func_start sub_81469E4
-sub_81469E4: @ 81469E4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, _08146A04 @ =gMain
- ldr r2, _08146A08 @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _081469F8
- b _08146DA4
-_081469F8:
- lsls r0, 2
- ldr r1, _08146A0C @ =_08146A10
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08146A04: .4byte gMain
-_08146A08: .4byte 0x0000043c
-_08146A0C: .4byte _08146A10
- .align 2, 0
-_08146A10:
- .4byte _08146A54
- .4byte _08146A6E
- .4byte _08146A9C
- .4byte _08146AD4
- .4byte _08146B18
- .4byte _08146B26
- .4byte _08146B90
- .4byte _08146C64
- .4byte _08146C72
- .4byte _08146C94
- .4byte _08146CA0
- .4byte _08146CB4
- .4byte _08146CFC
- .4byte _08146D18
- .4byte _08146D50
- .4byte _08146D6C
- .4byte _08146D94
-_08146A54:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- b _08146D78
-_08146A6E:
- ldr r0, _08146A8C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08146A7C
- b _08146DA4
-_08146A7C:
- ldr r0, _08146A90 @ =gSystemText_LinkStandby
- bl sub_8072044
- ldr r1, _08146A94 @ =gMain
- ldr r2, _08146A98 @ =0x0000043c
- adds r1, r2
- b _08146D82
- .align 2, 0
-_08146A8C: .4byte gPaletteFade
-_08146A90: .4byte gSystemText_LinkStandby
-_08146A94: .4byte gMain
-_08146A98: .4byte 0x0000043c
-_08146A9C:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08146AA8
- b _08146DA4
-_08146AA8:
- ldr r1, _08146AC4 @ =gMain
- ldr r0, _08146AC8 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, _08146ACC @ =gLinkType
- ldr r2, _08146AD0 @ =0x00005501
- adds r0, r2, 0
- strh r0, [r1]
- bl OpenLink
- b _08146DA4
- .align 2, 0
-_08146AC4: .4byte gMain
-_08146AC8: .4byte 0x0000043c
-_08146ACC: .4byte gLinkType
-_08146AD0: .4byte 0x00005501
-_08146AD4:
- ldr r0, _08146B08 @ =gLinkStatus
- ldr r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08146AE2
- b _08146C38
-_08146AE2:
- movs r0, 0x1C
- ands r1, r0
- cmp r1, 0x4
- bhi _08146AEC
- b _08146C38
-_08146AEC:
- movs r0, 0x15
- bl PlaySE
- ldr r0, _08146B0C @ =gSystemText_LoadEventPressA
- bl sub_8072044
- ldr r1, _08146B10 @ =gMain
- ldr r0, _08146B14 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08146C38
- .align 2, 0
-_08146B08: .4byte gLinkStatus
-_08146B0C: .4byte gSystemText_LoadEventPressA
-_08146B10: .4byte gMain
-_08146B14: .4byte 0x0000043c
-_08146B18:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08146B24
- b _08146DA4
-_08146B24:
- b _08146D7C
-_08146B26:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bne _08146C10
- ldr r4, _08146B64 @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08146B70
- movs r0, 0x5
- bl PlaySE
- bl sub_8007F4C
- movs r0, 0x6
- movs r1, 0x5
- movs r2, 0x17
- movs r3, 0x8
- bl MenuDrawTextWindow
- ldr r0, _08146B68 @ =gSystemText_LoadingEvent
- movs r1, 0x7
- movs r2, 0x6
- bl MenuPrint
- ldr r2, _08146B6C @ =0x0000043c
- adds r1, r4, r2
- b _08146D82
- .align 2, 0
-_08146B64: .4byte gMain
-_08146B68: .4byte gSystemText_LoadingEvent
-_08146B6C: .4byte 0x0000043c
-_08146B70:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08146B7A
- b _08146DA4
-_08146B7A:
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
- ldr r0, _08146B8C @ =0x0000043c
- adds r1, r4, r0
- b _08146C54
- .align 2, 0
-_08146B8C: .4byte 0x0000043c
-_08146B90:
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- beq _08146C38
- ldr r0, _08146BD8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08146BA4
- b _08146DA4
-_08146BA4:
- bl GetLinkPlayerDataExchangeStatusTimed
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _08146BE8
- bl sub_800832C
- movs r0, 0x6
- movs r1, 0x5
- movs r2, 0x17
- movs r3, 0x8
- bl MenuZeroFillWindowRect
- ldr r4, _08146BDC @ =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81469AC
- adds r0, r4, 0
- bl sub_8072044
- ldr r0, _08146BE0 @ =gMain
- ldr r2, _08146BE4 @ =0x0000043c
- adds r0, r2
- b _08146C26
- .align 2, 0
-_08146BD8: .4byte gReceivedRemoteLinkPlayers
-_08146BDC: .4byte gStringVar4
-_08146BE0: .4byte gMain
-_08146BE4: .4byte 0x0000043c
-_08146BE8:
- bl sub_8146914
- lsls r0, 24
- cmp r0, 0
- beq _08146C00
- ldr r0, _08146BFC @ =gSystemText_DontCutLink
- bl sub_8072044
- b _08146D7C
- .align 2, 0
-_08146BFC: .4byte gSystemText_DontCutLink
-_08146C00:
- bl CloseLink
- movs r0, 0x6
- movs r1, 0x5
- movs r2, 0x17
- movs r3, 0x8
- bl MenuZeroFillWindowRect
-_08146C10:
- ldr r4, _08146C2C @ =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81469AC
- adds r0, r4, 0
- bl sub_8072044
- ldr r0, _08146C30 @ =gMain
- ldr r1, _08146C34 @ =0x0000043c
- adds r0, r1
-_08146C26:
- movs r1, 0xD
- strb r1, [r0]
- b _08146DA4
- .align 2, 0
-_08146C2C: .4byte gStringVar4
-_08146C30: .4byte gMain
-_08146C34: .4byte 0x0000043c
-_08146C38:
- ldr r4, _08146C5C @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08146C46
- b _08146DA4
-_08146C46:
- movs r0, 0x5
- bl PlaySE
- bl CloseLink
- ldr r2, _08146C60 @ =0x0000043c
- adds r1, r4, r2
-_08146C54:
- movs r0, 0xF
- strb r0, [r1]
- b _08146DA4
- .align 2, 0
-_08146C5C: .4byte gMain
-_08146C60: .4byte 0x0000043c
-_08146C64:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08146C70
- b _08146DA4
-_08146C70:
- b _08146D7C
-_08146C72:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _08146C7E
- b _08146DA4
-_08146C7E:
- bl ResetBlockReceivedFlags
- ldr r1, _08146C8C @ =gMain
- ldr r2, _08146C90 @ =0x0000043c
- adds r1, r2
- b _08146D82
- .align 2, 0
-_08146C8C: .4byte gMain
-_08146C90: .4byte 0x0000043c
-_08146C94:
- ldr r0, _08146C9C @ =0x0000043c
- adds r1, r4, r0
- b _08146D82
- .align 2, 0
-_08146C9C: .4byte 0x0000043c
-_08146CA0:
- bl sub_800832C
- ldr r1, _08146CAC @ =gMain
- ldr r2, _08146CB0 @ =0x0000043c
- adds r1, r2
- b _08146D82
- .align 2, 0
-_08146CAC: .4byte gMain
-_08146CB0: .4byte 0x0000043c
-_08146CB4:
- ldr r0, _08146CEC @ =gReceivedRemoteLinkPlayers
- ldrb r6, [r0]
- cmp r6, 0
- bne _08146DA4
- ldr r5, _08146CF0 @ =0x02000000
- adds r0, r5, 0
- bl sub_812613C
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- str r6, [sp, 0x4]
- ldr r2, _08146CF4 @ =0x050001f5
- add r0, sp, 0x4
- adds r1, r5, 0
- bl CpuSet
- ldr r0, _08146CF8 @ =gStringVar4
- adds r1, r4, 0
- bl sub_81469AC
- lsls r0, 24
- cmp r0, 0
- bne _08146D7C
- movs r0, 0
- bl sub_8125D44
- b _08146D7C
- .align 2, 0
-_08146CEC: .4byte gReceivedRemoteLinkPlayers
-_08146CF0: .4byte 0x02000000
-_08146CF4: .4byte 0x050001f5
-_08146CF8: .4byte gStringVar4
-_08146CFC:
- ldr r0, _08146D0C @ =gStringVar4
- bl sub_8072044
- ldr r1, _08146D10 @ =gMain
- ldr r2, _08146D14 @ =0x0000043c
- adds r1, r2
- b _08146D82
- .align 2, 0
-_08146D0C: .4byte gStringVar4
-_08146D10: .4byte gMain
-_08146D14: .4byte 0x0000043c
-_08146D18:
- movs r0, 0x6
- movs r1, 0x5
- movs r2, 0x17
- movs r3, 0x8
- bl MenuZeroFillWindowRect
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _08146DA4
- ldr r1, _08146D44 @ =gMain
- ldr r0, _08146D48 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, _08146D4C @ =gUnknown_02039338
- strb r2, [r0]
- b _08146DA4
- .align 2, 0
-_08146D44: .4byte gMain
-_08146D48: .4byte 0x0000043c
-_08146D4C: .4byte gUnknown_02039338
-_08146D50:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08146DA4
- movs r0, 0x5
- bl PlaySE
- ldr r2, _08146D68 @ =0x0000043c
- adds r1, r4, r2
- b _08146D82
- .align 2, 0
-_08146D68: .4byte 0x0000043c
-_08146D6C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_08146D78:
- bl BeginNormalPaletteFade
-_08146D7C:
- ldr r1, _08146D8C @ =gMain
- ldr r0, _08146D90 @ =0x0000043c
- adds r1, r0
-_08146D82:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08146DA4
- .align 2, 0
-_08146D8C: .4byte gMain
-_08146D90: .4byte 0x0000043c
-_08146D94:
- ldr r0, _08146DFC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08146DA4
- bl DoSoftReset
-_08146DA4:
- ldr r0, _08146E00 @ =gLinkStatus
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08146DE4
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- bne _08146DE4
- bl CloseLink
- movs r0, 0x6
- movs r1, 0x5
- movs r2, 0x17
- movs r3, 0x8
- bl MenuZeroFillWindowRect
- ldr r4, _08146E04 @ =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81469AC
- adds r0, r4, 0
- bl sub_8072044
- ldr r0, _08146E08 @ =gMain
- ldr r1, _08146E0C @ =0x0000043c
- adds r0, r1
- movs r1, 0xD
- strb r1, [r0]
-_08146DE4:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08146DFC: .4byte gPaletteFade
-_08146E00: .4byte gLinkStatus
-_08146E04: .4byte gStringVar4
-_08146E08: .4byte gMain
-_08146E0C: .4byte 0x0000043c
- thumb_func_end sub_81469E4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s
index 4b8717bac..d182ebd87 100644
--- a/asm/mystery_event_script.s
+++ b/asm/mystery_event_script.s
@@ -6,181 +6,6 @@
.text
- thumb_func_start sub_8126098
-sub_8126098: @ 8126098
- push {r4,lr}
- adds r4, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 16
- lsrs r2, 16
- movs r3, 0x2
- ands r0, r3
- cmp r0, 0
- beq _081260C6
- ands r1, r3
- cmp r1, 0
- beq _081260C6
- movs r0, 0x4
- ands r2, r0
- cmp r2, 0
- beq _081260C6
- movs r0, 0x80
- .ifdef SAPPHIRE
- lsls r0, 1 @ unknown difference
- .endif
- ands r0, r4
- cmp r0, 0
- beq _081260C6
- movs r0, 0x1
- b _081260C8
-_081260C6:
- movs r0, 0
-_081260C8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8126098
-
- thumb_func_start sub_81260D0
-sub_81260D0: @ 81260D0
- push {lr}
- ldr r0, _081260E4 @ =gStringVar4
- ldr r1, _081260E8 @ =gOtherText_DataCannotUseVersion
- bl StringExpandPlaceholders
- movs r0, 0x3
- bl sub_8126160
- pop {r0}
- bx r0
- .align 2, 0
-_081260E4: .4byte gStringVar4
-_081260E8: .4byte gOtherText_DataCannotUseVersion
- thumb_func_end sub_81260D0
-
- thumb_func_start sub_81260EC
-sub_81260EC: @ 81260EC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, _08126114 @ =gScriptFuncs
- ldr r2, _08126118 @ =gScriptFuncs_End
- bl InitScriptContext
- adds r0, r4, 0
- adds r1, r5, 0
- bl SetupBytecodeScript
- str r5, [r4, 0x64]
- movs r0, 0
- str r0, [r4, 0x68]
- str r0, [r4, 0x6C]
- str r0, [r4, 0x70]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08126114: .4byte gScriptFuncs
-_08126118: .4byte gScriptFuncs_End
- thumb_func_end sub_81260EC
-
- thumb_func_start sub_812611C
-sub_812611C: @ 812611C
- push {r4,lr}
- adds r4, r0, 0
- bl RunScript
- lsls r0, 24
- cmp r0, 0
- beq _08126134
- ldr r0, [r4, 0x70]
- cmp r0, 0
- beq _08126134
- movs r0, 0x1
- b _08126136
-_08126134:
- movs r0, 0
-_08126136:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812611C
-
- thumb_func_start sub_812613C
-sub_812613C: @ 812613C
- push {r4,lr}
- adds r1, r0, 0
- ldr r4, _0812615C @ =gUnknown_02039288
- adds r0, r4, 0
- bl sub_81260EC
-_08126148:
- adds r0, r4, 0
- bl sub_812611C
- cmp r0, 0
- bne _08126148
- ldr r0, [r4, 0x6C]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0812615C: .4byte gUnknown_02039288
- thumb_func_end sub_812613C
-
- thumb_func_start sub_8126160
-sub_8126160: @ 8126160
- ldr r1, _08126168 @ =gUnknown_02039288
- str r0, [r1, 0x6C]
- bx lr
- .align 2, 0
-_08126168: .4byte gUnknown_02039288
- thumb_func_end sub_8126160
-
- thumb_func_start sub_812616C
-sub_812616C: @ 812616C
- push {r4,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r2, 0
- cmp r3, r1
- bcs _08126184
-_08126178:
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r3, r0
- adds r2, 0x1
- cmp r2, r1
- bcc _08126178
-_08126184:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812616C
-
- thumb_func_start sub_812618C
-sub_812618C: @ 812618C
- adds r2, r0, 0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- orrs r0, r1
- bx lr
- thumb_func_end sub_812618C
-
- thumb_func_start sub_81261A4
-sub_81261A4: @ 81261A4
- strb r1, [r0]
- lsrs r2, r1, 8
- strb r2, [r0, 0x1]
- lsrs r2, r1, 16
- strb r2, [r0, 0x2]
- lsrs r1, 24
- strb r1, [r0, 0x3]
- bx lr
- thumb_func_end sub_81261A4
-
thumb_func_start unref_sub_81261B4
unref_sub_81261B4: @ 81261B4
push {r4-r7,lr}
diff --git a/asm/player_pc.s b/asm/player_pc.s
index da2792564..7bd8b6c28 100644
--- a/asm/player_pc.s
+++ b/asm/player_pc.s
@@ -6,1185 +6,6 @@
.text
- thumb_func_start NewGameInitPCItems
-NewGameInitPCItems: @ 8139C18
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, _08139C6C @ =gSaveBlock1 + 0x498
- movs r1, 0x32
- bl ClearItemSlots
- ldr r1, _08139C70 @ =gNewGamePCItems
- ldrh r0, [r1]
- cmp r0, 0
- beq _08139C64
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _08139C64
- adds r5, r1, 0
- adds r6, r5, 0x2
-_08139C36:
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- adds r1, r6
- ldrh r1, [r1]
- bl AddPCItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08139C64
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08139C64
- adds r0, r1, r6
- ldrh r0, [r0]
- cmp r0, 0
- bne _08139C36
-_08139C64:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08139C6C: .4byte gSaveBlock1 + 0x498
-_08139C70: .4byte gNewGamePCItems
- thumb_func_end NewGameInitPCItems
-
- thumb_func_start BedroomPC
-BedroomPC: @ 8139C74
- push {lr}
- ldr r1, _08139C9C @ =gUnknown_02039314
- ldr r0, _08139CA0 @ =gUnknown_084062B8
- str r0, [r1]
- ldr r1, _08139CA4 @ =gUnknown_030007B4
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _08139CA8 @ =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139CAC @ =gOtherText_WhatWillYouDo
- ldr r2, _08139CB0 @ =InitPlayerPCMenu
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_08139C9C: .4byte gUnknown_02039314
-_08139CA0: .4byte gUnknown_084062B8
-_08139CA4: .4byte gUnknown_030007B4
-_08139CA8: .4byte TaskDummy
-_08139CAC: .4byte gOtherText_WhatWillYouDo
-_08139CB0: .4byte InitPlayerPCMenu
- thumb_func_end BedroomPC
-
- thumb_func_start PlayerPC
-PlayerPC: @ 8139CB4
- push {lr}
- ldr r1, _08139CDC @ =gUnknown_02039314
- ldr r0, _08139CE0 @ =gUnknown_084062BC
- str r0, [r1]
- ldr r1, _08139CE4 @ =gUnknown_030007B4
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, _08139CE8 @ =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139CEC @ =gOtherText_WhatWillYouDo
- ldr r2, _08139CF0 @ =InitPlayerPCMenu
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_08139CDC: .4byte gUnknown_02039314
-_08139CE0: .4byte gUnknown_084062BC
-_08139CE4: .4byte gUnknown_030007B4
-_08139CE8: .4byte TaskDummy
-_08139CEC: .4byte gOtherText_WhatWillYouDo
-_08139CF0: .4byte InitPlayerPCMenu
- thumb_func_end PlayerPC
-
- thumb_func_start InitPlayerPCMenu
-InitPlayerPCMenu: @ 8139CF4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08139D50 @ =gUnknown_030007B4
- ldrb r3, [r5]
- lsls r3, 1
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- bl MenuDrawTextWindow
- ldrb r2, [r5]
- ldr r3, _08139D54 @ =gUnknown_08406298
- ldr r0, _08139D58 @ =gUnknown_02039314
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- bl PrintMenuItemsReordered
- ldrb r3, [r5]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl InitMenu
- ldr r1, _08139D5C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08139D60 @ =PlayerPCProcessMenuInput
- str r1, [r0]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08139D50: .4byte gUnknown_030007B4
-_08139D54: .4byte gUnknown_08406298
-_08139D58: .4byte gUnknown_02039314
-_08139D5C: .4byte gTasks
-_08139D60: .4byte PlayerPCProcessMenuInput
- thumb_func_end InitPlayerPCMenu
-
- thumb_func_start PlayerPCProcessMenuInput
-PlayerPCProcessMenuInput: @ 8139D64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _08139D88 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08139D8C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _08139E10
- .align 2, 0
-_08139D88: .4byte gMain
-_08139D8C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08139DA2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _08139E10
-_08139DA2:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08139DE0
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08139DD8 @ =gUnknown_08406298
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139DDC @ =gUnknown_02039314
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _08139E10
- .align 2, 0
-_08139DD8: .4byte gUnknown_08406298
-_08139DDC: .4byte gUnknown_02039314
-_08139DE0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08139E10
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r2, _08139E18 @ =gUnknown_08406298
- ldr r0, _08139E1C @ =gUnknown_030007B4
- ldrb r0, [r0]
- ldr r1, _08139E20 @ =gUnknown_02039314
- ldr r1, [r1]
- adds r0, r1
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_08139E10:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08139E18: .4byte gUnknown_08406298
-_08139E1C: .4byte gUnknown_030007B4
-_08139E20: .4byte gUnknown_02039314
- thumb_func_end PlayerPCProcessMenuInput
-
- thumb_func_start ReshowPlayerPC
-ReshowPlayerPC: @ 8139E24
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139E38 @ =gOtherText_WhatWillYouDo
- ldr r2, _08139E3C @ =InitPlayerPCMenu
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_08139E38: .4byte gOtherText_WhatWillYouDo
-_08139E3C: .4byte InitPlayerPCMenu
- thumb_func_end ReshowPlayerPC
-
- thumb_func_start PlayerPC_ItemStorage
-PlayerPC_ItemStorage: @ 8139E40
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl InitItemStorageMenu
- ldr r1, _08139E64 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08139E68 @ =ItemStorageMenuProcessInput
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08139E64: .4byte gTasks
-_08139E68: .4byte ItemStorageMenuProcessInput
- thumb_func_end PlayerPC_ItemStorage
-
- thumb_func_start PlayerPC_Mailbox
-PlayerPC_Mailbox: @ 8139E6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl sub_813AF3C
- ldr r1, _08139E9C @ =0x0201fe00
- movs r2, 0
- strb r0, [r1, 0x3]
- lsls r0, 24
- cmp r0, 0
- bne _08139EA8
- ldr r1, _08139EA0 @ =gOtherText_NoMailHere
- ldr r2, _08139EA4 @ =ReshowPlayerPC
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08139ECA
- .align 2, 0
-_08139E9C: .4byte 0x0201fe00
-_08139EA0: .4byte gOtherText_NoMailHere
-_08139EA4: .4byte ReshowPlayerPC
-_08139EA8:
- strb r2, [r1]
- strb r2, [r1, 0x2]
- bl sub_813AF78
- adds r0, r4, 0
- bl sub_813A240
- adds r0, r4, 0
- bl sub_813B108
- ldr r0, _08139ED0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08139ED4 @ =sub_813B174
- str r0, [r1]
-_08139ECA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08139ED0: .4byte gTasks
-_08139ED4: .4byte sub_813B174
- thumb_func_end PlayerPC_Mailbox
-
- thumb_func_start PlayerPC_Decoration
-PlayerPC_Decoration: @ 8139ED8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DoPlayerPCDecoration
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerPC_Decoration
-
- thumb_func_start PlayerPC_TurnOff
-PlayerPC_TurnOff: @ 8139EF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08139F24 @ =gUnknown_030007B4
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08139F3C
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r0, _08139F28 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08139F30
- ldr r0, _08139F2C @ =gUnknown_08152850
- bl ScriptContext1_SetupScript
- b _08139F4C
- .align 2, 0
-_08139F24: .4byte gUnknown_030007B4
-_08139F28: .4byte gSaveBlock2
-_08139F2C: .4byte gUnknown_08152850
-_08139F30:
- ldr r0, _08139F38 @ =gUnknown_08152C75
- bl ScriptContext1_SetupScript
- b _08139F4C
- .align 2, 0
-_08139F38: .4byte gUnknown_08152C75
-_08139F3C:
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl EnableBothScriptContexts
-_08139F4C:
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerPC_TurnOff
-
- thumb_func_start InitItemStorageMenu
-InitItemStorageMenu: @ 8139F58
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r3, _08139FAC @ =gUnknown_084062C0
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- str r4, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- ldr r0, _08139FB0 @ =gUnknown_08406288
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- bl ItemStorageMenuPrint
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08139FAC: .4byte gUnknown_084062C0
-_08139FB0: .4byte gUnknown_08406288
- thumb_func_end InitItemStorageMenu
-
- thumb_func_start ItemStorageMenuPrint
-ItemStorageMenuPrint: @ 8139FB4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemStorageMenuPrint
-
- thumb_func_start ItemStorageMenuProcessInput
-ItemStorageMenuProcessInput: @ 8139FD4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _08139FF4 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08139FF8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _0813A008
- .align 2, 0
-_08139FF4: .4byte gMain
-_08139FF8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0813A024
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_0813A008:
- bl MoveMenuCursor
- ldr r4, _0813A020 @ =gUnknown_08406288
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r0, [r0]
- bl ItemStorageMenuPrint
- b _0813A06C
- .align 2, 0
-_0813A020: .4byte gUnknown_08406288
-_0813A024:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813A050
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0813A04C @ =gUnknown_084062C0
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 21
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _0813A06C
- .align 2, 0
-_0813A04C: .4byte gUnknown_084062C0
-_0813A050:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813A06C
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0813A074 @ =gUnknown_084062C0
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
-_0813A06C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A074: .4byte gUnknown_084062C0
- thumb_func_end ItemStorageMenuProcessInput
-
- thumb_func_start Task_ItemStorage_Deposit
-Task_ItemStorage_Deposit: @ 813A078
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813A09C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813A094
- bl sub_80A6A30
- adds r0, r4, 0
- bl DestroyTask
-_0813A094:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A09C: .4byte gPaletteFade
- thumb_func_end Task_ItemStorage_Deposit
-
- thumb_func_start ItemStorage_Deposit
-ItemStorage_Deposit: @ 813A0A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0813A0C0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0813A0C4 @ =Task_ItemStorage_Deposit
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_0813A0C0: .4byte gTasks
-_0813A0C4: .4byte Task_ItemStorage_Deposit
- thumb_func_end ItemStorage_Deposit
-
- thumb_func_start sub_813A0C8
-sub_813A0C8: @ 813A0C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813A0E8
- ldr r0, _0813A0F0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813A0F4 @ =ItemStorageMenuProcessInput
- str r0, [r1]
-_0813A0E8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A0F0: .4byte gTasks
-_0813A0F4: .4byte ItemStorageMenuProcessInput
- thumb_func_end sub_813A0C8
-
- thumb_func_start sub_813A0F8
-sub_813A0F8: @ 813A0F8
- push {lr}
- bl MenuDisplayMessageBox
- movs r0, 0x1
- bl InitItemStorageMenu
- ldr r0, _0813A114 @ =sub_813A0C8
- movs r1, 0
- bl CreateTask
- bl pal_fill_black
- pop {r0}
- bx r0
- .align 2, 0
-_0813A114: .4byte sub_813A0C8
- thumb_func_end sub_813A0F8
-
- thumb_func_start ItemStorage_Withdraw
-ItemStorage_Withdraw: @ 813A118
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _0813A174 @ =gTasks + 0x8
- adds r4, r6, r7
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl CountUsedPCItemSlots
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- cmp r0, 0
- beq _0813A17C
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- strh r0, [r4, 0xC]
- strh r0, [r4]
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813A240
- adds r0, r5, 0
- movs r1, 0
- bl sub_813AE6C
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0813A178 @ =sub_813A280
- str r1, [r0]
- b _0813A188
- .align 2, 0
-_0813A174: .4byte gTasks + 0x8
-_0813A178: .4byte sub_813A280
-_0813A17C:
- ldr r1, _0813A190 @ =gOtherText_NoItems
- ldr r2, _0813A194 @ =PlayerPC_ItemStorage
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_0813A188:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A190: .4byte gOtherText_NoItems
-_0813A194: .4byte PlayerPC_ItemStorage
- thumb_func_end ItemStorage_Withdraw
-
- thumb_func_start ItemStorage_Toss
-ItemStorage_Toss: @ 813A198
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _0813A1F8 @ =gTasks + 0x8
- adds r4, r6, r7
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl CountUsedPCItemSlots
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- cmp r0, 0
- beq _0813A200
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0x2
- strh r0, [r4, 0xC]
- movs r0, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813A240
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_813AE6C
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0813A1FC @ =sub_813A280
- str r1, [r0]
- b _0813A20C
- .align 2, 0
-_0813A1F8: .4byte gTasks + 0x8
-_0813A1FC: .4byte sub_813A280
-_0813A200:
- ldr r1, _0813A214 @ =gOtherText_NoItems
- ldr r2, _0813A218 @ =PlayerPC_ItemStorage
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_0813A20C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A214: .4byte gOtherText_NoItems
-_0813A218: .4byte PlayerPC_ItemStorage
- thumb_func_end ItemStorage_Toss
-
- thumb_func_start ItemStorage_Exit
-ItemStorage_Exit: @ 813A21C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl ReshowPlayerPC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemStorage_Exit
-
- thumb_func_start sub_813A240
-sub_813A240: @ 813A240
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813A260 @ =gTasks + 0x8
- adds r1, r0
- ldrh r2, [r1, 0x4]
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- ble _0813A264
- movs r0, 0x8
- b _0813A266
- .align 2, 0
-_0813A260: .4byte gTasks + 0x8
-_0813A264:
- adds r0, r2, 0x1
-_0813A266:
- strh r0, [r1, 0x8]
- ldr r1, _0813A274 @ =0x0201fe00
- ldrb r0, [r1, 0x3]
- cmp r0, 0x7
- bls _0813A278
- movs r0, 0x8
- b _0813A27A
- .align 2, 0
-_0813A274: .4byte 0x0201fe00
-_0813A278:
- adds r0, 0x1
-_0813A27A:
- strb r0, [r1, 0x1]
- pop {r0}
- bx r0
- thumb_func_end sub_813A240
-
- thumb_func_start sub_813A280
-sub_813A280: @ 813A280
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0813A2DC @ =gTasks + 0x8
- adds r4, r0, r1
- ldr r2, _0813A2E0 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0813A306
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813A2E4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813A2CC
- b _0813A460
-_0813A2CC:
- lsls r0, r1, 16
- asrs r1, r0, 16
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _0813A34C
- b _0813A358
- .align 2, 0
-_0813A2DC: .4byte gTasks + 0x8
-_0813A2E0: .4byte gMain
-_0813A2E4:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813A2EE
- b _0813A460
-_0813A2EE:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813AE0C
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- b _0813A394
-_0813A306:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0813A3A0
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _0813A370
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813A340
- b _0813A460
-_0813A340:
- lsls r0, r1, 16
- asrs r1, r0, 16
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0813A358
-_0813A34C:
- ldr r0, _0813A354 @ =0x0000ffff
- bl sub_813AD58
- b _0813A460
- .align 2, 0
-_0813A354: .4byte 0x0000ffff
-_0813A358:
- ldr r0, _0813A36C @ =gSaveBlock1
- lsls r1, 2
- adds r1, r0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- bl sub_813AD58
- b _0813A460
- .align 2, 0
-_0813A36C: .4byte gSaveBlock1
-_0813A370:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r0, r1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _0813A460
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813AE0C
- movs r1, 0x12
- ldrsh r0, [r4, r1]
-_0813A394:
- cmp r0, 0
- beq _0813A460
- movs r0, 0
- bl MoveMenuCursor
- b _0813A460
-_0813A3A0:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0813A3F0
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0813A3E8
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _0813A3DC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- strh r0, [r4, 0x12]
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x10]
- ldr r0, _0813A3E4 @ =0x0000fff7
- bl sub_813AD58
-_0813A3DC:
- adds r0, r5, 0
- bl sub_813ABE8
- b _0813A460
- .align 2, 0
-_0813A3E4: .4byte 0x0000fff7
-_0813A3E8:
- movs r0, 0x5
- bl PlaySE
- b _0813A420
-_0813A3F0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813A430
- movs r0, 0x5
- bl PlaySE
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0813A420
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _0813A44A
- adds r0, r5, 0
- bl sub_813A4B4
- b _0813A460
-_0813A420:
- adds r0, r5, 0
- movs r1, 0
- bl sub_813AA30
- adds r0, r5, 0
- bl sub_813AE0C
- b _0813A460
-_0813A430:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813A460
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813A452
- bl sub_8072DEC
-_0813A44A:
- adds r0, r5, 0
- bl sub_813A468
- b _0813A460
-_0813A452:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_813AA30
- adds r0, r6, 0
- bl sub_813AE0C
-_0813A460:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813A280
-
- thumb_func_start sub_813A468
-sub_813A468: @ 813A468
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl BuyMenuFreeMemory
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl MenuDisplayMessageBox
- ldr r0, _0813A4AC @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x14]
- bl InitItemStorageMenu
- ldr r0, _0813A4B0 @ =ItemStorageMenuProcessInput
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A4AC: .4byte gTasks
-_0813A4B0: .4byte ItemStorageMenuProcessInput
- thumb_func_end sub_813A468
-
- thumb_func_start sub_813A4B4
-sub_813A4B4: @ 813A4B4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _0813A500 @ =gTasks + 0x8
- adds r4, r0, r1
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- bl sub_80F996C
- movs r0, 0x1
- bl sub_80F996C
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813A518
- ldr r1, _0813A504 @ =gSaveBlock1
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, _0813A508 @ =0x0000049a
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813A50C
- strh r0, [r4, 0x6]
- adds r0, r6, 0
- bl sub_813A6FC
- b _0813A570
- .align 2, 0
-_0813A500: .4byte gTasks + 0x8
-_0813A504: .4byte gSaveBlock1
-_0813A508: .4byte 0x0000049a
-_0813A50C:
- ldr r0, _0813A514 @ =0x0000fffe
- bl sub_813AD58
- b _0813A542
- .align 2, 0
-_0813A514: .4byte 0x0000fffe
-_0813A518:
- ldr r1, _0813A534 @ =gSaveBlock1
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, _0813A538 @ =0x0000049a
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813A53C
- strh r0, [r4, 0x6]
- adds r0, r6, 0
- bl sub_813A794
- b _0813A570
- .align 2, 0
-_0813A534: .4byte gSaveBlock1
-_0813A538: .4byte 0x0000049a
-_0813A53C:
- ldr r0, _0813A578 @ =0x0000fffc
- bl sub_813AD58
-_0813A542:
- movs r0, 0x1
- strh r0, [r4, 0x6]
- movs r0, 0x6
- movs r1, 0x8
- movs r2, 0xD
- movs r3, 0xB
- bl MenuDrawTextWindow
- ldrh r0, [r4, 0x6]
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x9
- bl sub_80A418C
- ldr r1, _0813A57C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813A580 @ =sub_813A584
- str r1, [r0]
-_0813A570:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A578: .4byte 0x0000fffc
-_0813A57C: .4byte gTasks
-_0813A580: .4byte sub_813A584
- thumb_func_end sub_813A4B4
-
thumb_func_start sub_813A584
sub_813A584: @ 813A584
push {r4-r7,lr}
diff --git a/asm/pokeball.s b/asm/pokeball.s
new file mode 100644
index 000000000..a3eb6dd16
--- /dev/null
+++ b/asm/pokeball.s
@@ -0,0 +1,2787 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8046400
+sub_8046400: @ 8046400
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r1, _08046450 @ =gUnknown_02024E6D
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r6, _08046454 @ =gUnknown_02024A60
+ ldrb r1, [r6]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08046458 @ =0x02017810
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r2, 0x8
+ orrs r1, r2
+ strb r1, [r0]
+ ldr r0, _0804645C @ =sub_8046464
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08046460 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0xA]
+ strh r5, [r1, 0xC]
+ ldrb r0, [r6]
+ strh r0, [r1, 0xE]
+ movs r0, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08046450: .4byte gUnknown_02024E6D
+_08046454: .4byte gUnknown_02024A60
+_08046458: .4byte 0x02017810
+_0804645C: .4byte sub_8046464
+_08046460: .4byte gTasks
+ thumb_func_end sub_8046400
+
+ thumb_func_start sub_8046464
+sub_8046464: @ 8046464
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ movs r0, 0
+ str r0, [sp]
+ ldr r1, _08046498 @ =gTasks
+ mov r2, r10
+ lsls r0, r2, 2
+ add r0, r10
+ lsls r0, 3
+ adds r1, r0, r1
+ ldrh r2, [r1, 0x8]
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _0804649C
+ adds r0, r2, 0x1
+ strh r0, [r1, 0x8]
+ b _08046616
+ .align 2, 0
+_08046498: .4byte gTasks
+_0804649C:
+ ldrh r0, [r1, 0xC]
+ mov r8, r0
+ ldrb r5, [r1, 0xE]
+ adds r0, r5, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080464C8
+ ldr r1, _080464C0 @ =gUnknown_02024A6A
+ lsls r0, r5, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080464C4 @ =gEnemyParty
+ b _080464D6
+ .align 2, 0
+_080464C0: .4byte gUnknown_02024A6A
+_080464C4: .4byte gEnemyParty
+_080464C8:
+ ldr r1, _08046544 @ =gUnknown_02024A6A
+ lsls r0, r5, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08046548 @ =gPlayerParty
+_080464D6:
+ adds r0, r1
+ movs r1, 0x26
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ bl ball_number_to_ball_processing_index
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_80478DC
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _0804654C @ =gSpriteTemplate_820AAB4
+ adds r0, r1
+ movs r1, 0x20
+ movs r2, 0x50
+ movs r3, 0x1D
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r2, _08046550 @ =gSprites
+ mov r9, r2
+ lsls r0, r7, 4
+ adds r0, r7
+ lsls r6, r0, 2
+ adds r4, r6, r2
+ movs r0, 0x80
+ strh r0, [r4, 0x2E]
+ movs r3, 0
+ strh r3, [r4, 0x30]
+ mov r0, r8
+ strh r0, [r4, 0x3C]
+ mov r2, r8
+ cmp r2, 0xFE
+ beq _0804655C
+ cmp r2, 0xFF
+ bne _08046598
+ ldr r0, _08046554 @ =gUnknown_02024C08
+ strb r5, [r0]
+ movs r0, 0x18
+ strh r0, [r4, 0x20]
+ movs r0, 0x44
+ strh r0, [r4, 0x22]
+ mov r0, r9
+ adds r0, 0x1C
+ adds r0, r6, r0
+ ldr r1, _08046558 @ =sub_8047074
+ str r1, [r0]
+ b _080465A6
+ .align 2, 0
+_08046544: .4byte gUnknown_02024A6A
+_08046548: .4byte gPlayerParty
+_0804654C: .4byte gSpriteTemplate_820AAB4
+_08046550: .4byte gSprites
+_08046554: .4byte gUnknown_02024C08
+_08046558: .4byte sub_8047074
+_0804655C:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x18
+ strh r0, [r4, 0x22]
+ ldr r0, _08046590 @ =gUnknown_02024C08
+ strb r5, [r0]
+ movs r3, 0
+ strh r3, [r4, 0x2E]
+ mov r0, r9
+ adds r0, 0x1C
+ adds r0, r6, r0
+ ldr r1, _08046594 @ =sub_8047254
+ str r1, [r0]
+ b _080465A6
+ .align 2, 0
+_08046590: .4byte gUnknown_02024C08
+_08046594: .4byte sub_8047254
+_08046598:
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ ldr r1, _080465C4 @ =gUnknown_02024C08
+ strb r0, [r1]
+ movs r0, 0x1
+ str r0, [sp]
+_080465A6:
+ ldr r0, _080465C8 @ =gSprites
+ lsls r1, r7, 4
+ adds r1, r7
+ lsls r1, 2
+ adds r4, r1, r0
+ ldr r5, _080465C4 @ =gUnknown_02024C08
+ ldrb r0, [r5]
+ strh r0, [r4, 0x3A]
+ ldr r2, [sp]
+ cmp r2, 0
+ bne _080465CC
+ mov r0, r10
+ bl DestroyTask
+ b _08046616
+ .align 2, 0
+_080465C4: .4byte gUnknown_02024C08
+_080465C8: .4byte gSprites
+_080465CC:
+ movs r0, 0x22
+ strh r0, [r4, 0x2E]
+ ldrb r0, [r5]
+ movs r1, 0
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x10
+ strh r0, [r4, 0x36]
+ ldr r0, _08046628 @ =0x0000ffd8
+ strh r0, [r4, 0x38]
+ adds r0, r4, 0
+ bl sub_80786EC
+ mov r3, r10
+ strh r3, [r4, 0x6]
+ ldr r1, _0804662C @ =gTasks
+ mov r2, r10
+ lsls r0, r2, 2
+ add r0, r10
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r5]
+ strh r1, [r0, 0x10]
+ ldr r1, _08046630 @ =TaskDummy
+ str r1, [r0]
+ movs r0, 0x3D
+ bl PlaySE
+_08046616:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046628: .4byte 0x0000ffd8
+_0804662C: .4byte gTasks
+_08046630: .4byte TaskDummy
+ thumb_func_end sub_8046464
+
+ thumb_func_start objc_0804ABD4
+objc_0804ABD4: @ 8046634
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r7, r0, 0
+ bl sub_8078718
+ lsls r0, 24
+ cmp r0, 0
+ beq _080466D4
+ ldrb r6, [r7, 0x6]
+ ldr r1, _080466E0 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r0, r1
+ ldrb r5, [r0, 0x10]
+ ldrb r0, [r0, 0xC]
+ mov r8, r0
+ adds r0, r7, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r2, r7, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r7, 0x24]
+ ldrh r1, [r7, 0x20]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r7, 0x20]
+ ldrh r0, [r7, 0x26]
+ ldrh r2, [r7, 0x22]
+ adds r0, r2
+ strh r0, [r7, 0x22]
+ strh r1, [r7, 0x24]
+ strh r1, [r7, 0x26]
+ strh r1, [r7, 0x38]
+ adds r0, r5, 0
+ bl sub_8047978
+ lsls r0, 16
+ lsrs r0, 16
+ bl ball_number_to_ball_processing_index
+ adds r4, r0, 0
+ ldrh r0, [r7, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r7, 0x22]
+ subs r1, 0x5
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r4, 24
+ lsrs r4, 24
+ str r4, [sp]
+ movs r2, 0x1
+ movs r3, 0x1C
+ bl sub_814086C
+ movs r0, 0
+ adds r1, r5, 0
+ movs r2, 0xE
+ adds r3, r4, 0
+ bl sub_8141314
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r7, 0x2E]
+ strh r5, [r7, 0x3A]
+ mov r0, r8
+ strh r0, [r7, 0x3C]
+ adds r0, r6, 0
+ bl DestroyTask
+ ldr r0, _080466E4 @ =sub_80466E8
+ str r0, [r7, 0x1C]
+_080466D4:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080466E0: .4byte gTasks
+_080466E4: .4byte sub_80466E8
+ thumb_func_end objc_0804ABD4
+
+ thumb_func_start sub_80466E8
+sub_80466E8: @ 80466E8
+ ldr r1, _080466F0 @ =sub_80466F4
+ str r1, [r0, 0x1C]
+ bx lr
+ .align 2, 0
+_080466F0: .4byte sub_80466F4
+ thumb_func_end sub_80466E8
+
+ thumb_func_start sub_80466F4
+sub_80466F4: @ 80466F4
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ ldrh r0, [r6, 0x38]
+ adds r0, 0x1
+ movs r7, 0
+ strh r0, [r6, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xA
+ bne _0804674E
+ strh r7, [r6, 0x38]
+ ldr r0, _08046754 @ =sub_8046760
+ str r0, [r6, 0x1C]
+ ldr r5, _08046758 @ =gUnknown_02024BE0
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _0804675C @ =gSprites
+ adds r0, r4
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl AnimateSprite
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ strh r7, [r0, 0x30]
+_0804674E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046754: .4byte sub_8046760
+_08046758: .4byte gUnknown_02024BE0
+_0804675C: .4byte gSprites
+ thumb_func_end sub_80466F4
+
+ thumb_func_start sub_8046760
+sub_8046760: @ 8046760
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xB
+ bne _08046778
+ movs r0, 0x3C
+ bl PlaySE
+_08046778:
+ ldr r6, _080467C4 @ =gSprites
+ ldr r5, _080467C8 @ =gUnknown_02024BE0
+ movs r1, 0x3A
+ ldrsh r0, [r4, r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r6
+ adds r0, r1, 0
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _080467D0
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAnim
+ movs r2, 0x3A
+ ldrsh r0, [r4, r2]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldr r0, _080467CC @ =sub_80467F8
+ str r0, [r4, 0x1C]
+ b _080467F0
+ .align 2, 0
+_080467C4: .4byte gSprites
+_080467C8: .4byte gUnknown_02024BE0
+_080467CC: .4byte sub_80467F8
+_080467D0:
+ ldrh r0, [r1, 0x30]
+ adds r0, 0x60
+ strh r0, [r1, 0x30]
+ movs r1, 0x3A
+ ldrsh r0, [r4, r1]
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ movs r2, 0x30
+ ldrsh r0, [r1, r2]
+ negs r0, r0
+ asrs r0, 8
+ strh r0, [r1, 0x26]
+_080467F0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8046760
+
+ thumb_func_start sub_80467F8
+sub_80467F8: @ 80467F8
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08046840
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ movs r1, 0
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _08046840
+ strh r1, [r4, 0x34]
+ movs r0, 0x20
+ strh r0, [r4, 0x36]
+ strh r1, [r4, 0x38]
+ movs r0, 0
+ movs r1, 0x20
+ bl Cos
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ movs r0, 0x36
+ ldrsh r1, [r4, r0]
+ movs r0, 0
+ bl Cos
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldr r0, _08046848 @ =sub_804684C
+ str r0, [r4, 0x1C]
+_08046840:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046848: .4byte sub_804684C
+ thumb_func_end sub_80467F8
+
+ thumb_func_start sub_804684C
+sub_804684C: @ 804684C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ ldrh r0, [r4, 0x34]
+ movs r1, 0xFF
+ ands r1, r0
+ cmp r1, 0
+ beq _08046862
+ cmp r1, 0x1
+ beq _080468D6
+ b _08046902
+_08046862:
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl Cos
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r1, [r4, 0x38]
+ adds r1, 0x4
+ ldrh r2, [r4, 0x34]
+ lsls r0, r2, 16
+ asrs r0, 24
+ adds r1, r0
+ strh r1, [r4, 0x38]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x3F
+ ble _08046902
+ ldrh r0, [r4, 0x36]
+ subs r0, 0xA
+ strh r0, [r4, 0x36]
+ ldr r1, _080468AC @ =0x00000101
+ adds r0, r2, r1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 24
+ cmp r0, 0x4
+ bne _0804689E
+ movs r5, 0x1
+_0804689E:
+ cmp r0, 0x2
+ beq _080468BE
+ cmp r0, 0x2
+ bgt _080468B0
+ cmp r0, 0x1
+ beq _080468B6
+ b _080468CE
+ .align 2, 0
+_080468AC: .4byte 0x00000101
+_080468B0:
+ cmp r0, 0x3
+ beq _080468C6
+ b _080468CE
+_080468B6:
+ movs r0, 0x38
+ bl PlaySE
+ b _08046902
+_080468BE:
+ movs r0, 0x39
+ bl PlaySE
+ b _08046902
+_080468C6:
+ movs r0, 0x3A
+ bl PlaySE
+ b _08046902
+_080468CE:
+ movs r0, 0x3B
+ bl PlaySE
+ b _08046902
+_080468D6:
+ movs r2, 0x38
+ ldrsh r0, [r4, r2]
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl Cos
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ ldrh r1, [r4, 0x38]
+ subs r1, 0x4
+ ldrh r2, [r4, 0x34]
+ lsls r0, r2, 16
+ asrs r0, 24
+ subs r1, r0
+ strh r1, [r4, 0x38]
+ lsls r1, 16
+ cmp r1, 0
+ bgt _08046902
+ strh r5, [r4, 0x38]
+ ldr r0, _08046928 @ =0xffffff00
+ ands r0, r2
+ strh r0, [r4, 0x34]
+_08046902:
+ cmp r5, 0
+ beq _0804693A
+ movs r5, 0
+ strh r5, [r4, 0x34]
+ movs r0, 0x40
+ movs r1, 0x20
+ bl Cos
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ strh r5, [r4, 0x26]
+ movs r2, 0x3C
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _08046930
+ ldr r0, _0804692C @ =sub_8046C78
+ str r0, [r4, 0x1C]
+ b _0804693A
+ .align 2, 0
+_08046928: .4byte 0xffffff00
+_0804692C: .4byte sub_8046C78
+_08046930:
+ ldr r0, _08046940 @ =sub_8046944
+ str r0, [r4, 0x1C]
+ movs r0, 0x1
+ strh r0, [r4, 0x36]
+ strh r5, [r4, 0x38]
+_0804693A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046940: .4byte sub_8046944
+ thumb_func_end sub_804684C
+
+ thumb_func_start sub_8046944
+sub_8046944: @ 8046944
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _08046978
+ movs r0, 0
+ strh r0, [r4, 0x34]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ ldr r0, _08046980 @ =sub_8046984
+ str r0, [r4, 0x1C]
+ movs r0, 0x17
+ bl PlaySE
+_08046978:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046980: .4byte sub_8046984
+ thumb_func_end sub_8046944
+
+ thumb_func_start sub_8046984
+sub_8046984: @ 8046984
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x34]
+ movs r1, 0xFF
+ ands r1, r0
+ cmp r1, 0x4
+ bhi _08046A84
+ lsls r0, r1, 2
+ ldr r1, _0804699C @ =_080469A0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804699C: .4byte _080469A0
+ .align 2, 0
+_080469A0:
+ .4byte _080469B4
+ .4byte _080469E6
+ .4byte _080469B4
+ .4byte _08046A3A
+ .4byte _08046A84
+_080469B4:
+ ldrh r0, [r4, 0x36]
+ ldrh r2, [r4, 0x24]
+ adds r1, r0, r2
+ strh r1, [r4, 0x24]
+ ldrh r1, [r4, 0x38]
+ adds r0, r1
+ strh r0, [r4, 0x38]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x3
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x6
+ bls _08046ACA
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ b _08046ACA
+_080469E6:
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _08046A2C
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x36]
+ negs r0, r0
+ strh r0, [r4, 0x36]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bge _08046A22
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl ChangeSpriteAffineAnim
+ b _08046ACA
+_08046A22:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl ChangeSpriteAffineAnim
+ b _08046ACA
+_08046A2C:
+ adds r0, r4, 0
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ movs r2, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ b _08046ACA
+_08046A3A:
+ movs r1, 0x80
+ lsls r1, 1
+ adds r0, r1, 0
+ ldrh r2, [r4, 0x34]
+ adds r0, r2
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 24
+ movs r2, 0x3C
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ bne _08046A5C
+ ldr r0, _08046A58 @ =sub_8046C78
+ str r0, [r4, 0x1C]
+ b _08046ACA
+ .align 2, 0
+_08046A58: .4byte sub_8046C78
+_08046A5C:
+ cmp r1, 0x4
+ bne _08046A70
+ cmp r0, 0x3
+ bne _08046A70
+ ldr r0, _08046A6C @ =sub_8046E7C
+ str r0, [r4, 0x1C]
+ b _08046A76
+ .align 2, 0
+_08046A6C: .4byte sub_8046E7C
+_08046A70:
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+_08046A76:
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ b _08046ACA
+_08046A84:
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _08046ACA
+ movs r0, 0
+ strh r0, [r4, 0x38]
+ ldrh r1, [r4, 0x34]
+ ldr r0, _08046AB8 @ =0xffffff00
+ ands r0, r1
+ strh r0, [r4, 0x34]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAffineAnim
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bge _08046ABC
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ b _08046AC4
+ .align 2, 0
+_08046AB8: .4byte 0xffffff00
+_08046ABC:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+_08046AC4:
+ movs r0, 0x17
+ bl PlaySE
+_08046ACA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8046984
+
+ thumb_func_start sub_8046AD0
+sub_8046AD0: @ 8046AD0
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _08046AFC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldrb r6, [r0, 0xC]
+ ldrb r3, [r0, 0xA]
+ ldrh r5, [r0, 0x8]
+ movs r2, 0x26
+ ldrsh r0, [r0, r2]
+ adds r2, r1, 0
+ cmp r0, 0x20
+ bhi _08046B88
+ lsls r0, 2
+ ldr r1, _08046B00 @ =_08046B04
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08046AFC: .4byte gTasks
+_08046B00: .4byte _08046B04
+ .align 2, 0
+_08046B04:
+ .4byte _08046B88
+ .4byte _08046BA6
+ .4byte _08046BB2
+ .4byte _08046BF6
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046BD0
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046B88
+ .4byte _08046C08
+ .4byte _08046C20
+ .4byte _08046C48
+_08046B88:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r1, r0, r2
+ ldrh r2, [r1, 0x18]
+ movs r3, 0x18
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x2
+ bgt _08046BA0
+ adds r0, r2, 0x1
+ strh r0, [r1, 0x18]
+ b _08046C72
+_08046BA0:
+ adds r0, r6, 0x1
+ strh r0, [r1, 0x26]
+ b _08046C72
+_08046BA6:
+ lsls r1, r3, 24
+ asrs r1, 24
+ adds r0, r5, 0
+ bl PlayCry1
+ b _08046BEE
+_08046BB2:
+ bl StopCryAndClearCrySongs
+ ldr r1, _08046BCC @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x3
+ strh r1, [r0, 0x1C]
+ movs r1, 0x14
+ strh r1, [r0, 0x26]
+ b _08046C72
+ .align 2, 0
+_08046BCC: .4byte gTasks
+_08046BD0:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r1, r0, r2
+ ldrh r2, [r1, 0x1C]
+ movs r6, 0x1C
+ ldrsh r0, [r1, r6]
+ cmp r0, 0
+ bne _08046C5A
+ lsls r1, r3, 24
+ asrs r1, 24
+ adds r0, r5, 0
+ movs r2, 0x1
+ bl PlayCry4
+_08046BEE:
+ adds r0, r4, 0
+ bl DestroyTask
+ b _08046C72
+_08046BF6:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x6
+ strh r1, [r0, 0x1C]
+ movs r1, 0x1E
+ strh r1, [r0, 0x26]
+ b _08046C72
+_08046C08:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r1, r0, r2
+ ldrh r2, [r1, 0x1C]
+ movs r3, 0x1C
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _08046C5A
+ ldrh r0, [r1, 0x26]
+ adds r0, 0x1
+ strh r0, [r1, 0x26]
+_08046C20:
+ bl IsCryPlayingOrClearCrySongs
+ lsls r0, 24
+ cmp r0, 0
+ bne _08046C72
+ bl StopCryAndClearCrySongs
+ ldr r0, _08046C44 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x3
+ strh r0, [r1, 0x1C]
+ ldrh r0, [r1, 0x26]
+ adds r0, 0x1
+ strh r0, [r1, 0x26]
+ b _08046C72
+ .align 2, 0
+_08046C44: .4byte gTasks
+_08046C48:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r1, r0, r2
+ ldrh r2, [r1, 0x1C]
+ movs r6, 0x1C
+ ldrsh r0, [r1, r6]
+ cmp r0, 0
+ beq _08046C60
+_08046C5A:
+ subs r0, r2, 0x1
+ strh r0, [r1, 0x1C]
+ b _08046C72
+_08046C60:
+ lsls r1, r3, 24
+ asrs r1, 24
+ adds r0, r5, 0
+ movs r2, 0
+ bl PlayCry4
+ adds r0, r4, 0
+ bl DestroyTask
+_08046C72:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8046AD0
+
+ thumb_func_start sub_8046C78
+sub_8046C78: @ 8046C78
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldrh r0, [r6, 0x3A]
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r0, r5, 0
+ bl sub_8047978
+ lsls r0, 16
+ lsrs r0, 16
+ bl ball_number_to_ball_processing_index
+ adds r4, r0, 0
+ ldrh r0, [r6, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r6, 0x22]
+ subs r1, 0x5
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r4, 24
+ lsrs r4, 24
+ str r4, [sp]
+ movs r2, 0x1
+ movs r3, 0x1C
+ bl sub_814086C
+ ldrh r1, [r6, 0x3A]
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0x1
+ movs r2, 0xE
+ adds r3, r4, 0
+ bl sub_8141314
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x2E]
+ ldr r0, _08046D0C @ =sub_8046E9C
+ str r0, [r6, 0x1C]
+ ldr r0, _08046D10 @ =gMain
+ ldr r1, _08046D14 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08046CE8
+ b _08046E1C
+_08046CE8:
+ adds r0, r5, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046D20
+ ldr r1, _08046D18 @ =gUnknown_02024A6A
+ lsls r0, r5, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08046D1C @ =gEnemyParty
+ adds r0, r1, r0
+ movs r3, 0x19
+ mov r8, r3
+ b _08046D34
+ .align 2, 0
+_08046D0C: .4byte sub_8046E9C
+_08046D10: .4byte gMain
+_08046D14: .4byte 0x0000043d
+_08046D18: .4byte gUnknown_02024A6A
+_08046D1C: .4byte gEnemyParty
+_08046D20:
+ ldr r1, _08046D90 @ =gUnknown_02024A6A
+ lsls r0, r5, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08046D94 @ =gPlayerParty
+ adds r0, r1, r0
+ movs r1, 0xE7
+ mov r8, r1
+_08046D34:
+ movs r1, 0xB
+ bl GetMonData
+ lsls r0, 16
+ lsrs r7, r0, 16
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ beq _08046D5A
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ bne _08046DAE
+_08046D5A:
+ bl battle_type_is_double
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046DAE
+ ldr r0, _08046D98 @ =0x02017840
+ ldrb r1, [r0, 0x9]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08046DAE
+ ldr r0, _08046D9C @ =gUnknown_020239F8
+ ldrh r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08046DA4
+ bl IsBGMPlaying
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046DAE
+ ldr r0, _08046DA0 @ =gMPlay_BGM
+ bl m4aMPlayStop
+ b _08046DAE
+ .align 2, 0
+_08046D90: .4byte gUnknown_02024A6A
+_08046D94: .4byte gPlayerParty
+_08046D98: .4byte 0x02017840
+_08046D9C: .4byte gUnknown_020239F8
+_08046DA0: .4byte gMPlay_BGM
+_08046DA4:
+ ldr r0, _08046DC8 @ =gMPlay_BGM
+ ldr r1, _08046DCC @ =0x0000ffff
+ movs r2, 0x80
+ bl m4aMPlayVolumeControl
+_08046DAE:
+ bl battle_type_is_double
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046DC4
+ ldr r0, _08046DD0 @ =0x02017840
+ ldrb r1, [r0, 0x9]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08046DD4
+_08046DC4:
+ movs r4, 0
+ b _08046DF6
+ .align 2, 0
+_08046DC8: .4byte gMPlay_BGM
+_08046DCC: .4byte 0x0000ffff
+_08046DD0: .4byte 0x02017840
+_08046DD4:
+ movs r0, 0
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ beq _08046DF0
+ movs r0, 0x1
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ bne _08046DF4
+_08046DF0:
+ movs r4, 0x1
+ b _08046DF6
+_08046DF4:
+ movs r4, 0x2
+_08046DF6:
+ ldr r0, _08046E6C @ =sub_8046AD0
+ movs r1, 0x3
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08046E70 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0
+ strh r7, [r1, 0x8]
+ mov r3, r8
+ lsls r0, r3, 24
+ asrs r0, 24
+ strh r0, [r1, 0xA]
+ strh r4, [r1, 0xC]
+ strh r2, [r1, 0x26]
+_08046E1C:
+ ldr r5, _08046E74 @ =gUnknown_02024BE0
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _08046E78 @ =gSprites
+ adds r0, r4
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ movs r3, 0x3A
+ ldrsh r0, [r6, r3]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl AnimateSprite
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x80
+ lsls r1, 5
+ strh r1, [r0, 0x30]
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046E6C: .4byte sub_8046AD0
+_08046E70: .4byte gTasks
+_08046E74: .4byte gUnknown_02024BE0
+_08046E78: .4byte gSprites
+ thumb_func_end sub_8046C78
+
+ thumb_func_start sub_8046E7C
+sub_8046E7C: @ 8046E7C
+ adds r3, r0, 0
+ adds r3, 0x2C
+ ldrb r1, [r3]
+ movs r2, 0x40
+ orrs r1, r2
+ strb r1, [r3]
+ ldr r1, _08046E98 @ =sub_8046FBC
+ str r1, [r0, 0x1C]
+ movs r1, 0
+ strh r1, [r0, 0x34]
+ strh r1, [r0, 0x36]
+ strh r1, [r0, 0x38]
+ bx lr
+ .align 2, 0
+_08046E98: .4byte sub_8046FBC
+ thumb_func_end sub_8046E7C
+
+ thumb_func_start sub_8046E9C
+sub_8046E9C: @ 8046E9C
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r7, 0
+ ldrh r0, [r5, 0x3A]
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r6, _08046F00 @ =gSprites
+ ldr r0, _08046F04 @ =gUnknown_02024BE0
+ adds r3, r4, r0
+ ldrb r1, [r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ adds r0, r5, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08046EDE
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_08046EDE:
+ ldrb r0, [r3]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ adds r0, r1, 0
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _08046F08
+ adds r0, r1, 0
+ movs r1, 0
+ bl StartSpriteAffineAnim
+ movs r7, 0x1
+ b _08046F24
+ .align 2, 0
+_08046F00: .4byte gSprites
+_08046F04: .4byte gUnknown_02024BE0
+_08046F08:
+ ldr r2, _08046FA8 @ =0xfffffee0
+ adds r0, r2, 0
+ ldrh r2, [r1, 0x30]
+ adds r0, r2
+ strh r0, [r1, 0x30]
+ ldrb r0, [r3]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldrh r0, [r1, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r1, 0x26]
+_08046F24:
+ adds r0, r5, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08046FA0
+ cmp r7, 0
+ beq _08046FA0
+ ldr r2, _08046FAC @ =gSprites
+ ldr r0, _08046FB0 @ =gUnknown_02024BE0
+ adds r0, r4, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r2, 0
+ movs r1, 0
+ strh r1, [r0, 0x26]
+ ldr r0, _08046FB4 @ =gUnknown_02024E6D
+ strb r2, [r0]
+ lsls r1, r4, 1
+ adds r1, r4
+ lsls r1, 2
+ ldr r4, _08046FB8 @ =0x02017810
+ adds r1, r4
+ ldrb r2, [r1]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+ adds r0, r5, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r5, 0
+ bl DestroySprite
+ movs r3, 0
+ movs r5, 0x8
+ adds r2, r4, 0
+ movs r4, 0x3
+_08046F78:
+ ldrb r1, [r2]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08046F84
+ adds r3, 0x1
+_08046F84:
+ adds r2, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08046F78
+ cmp r3, 0x4
+ bne _08046FA0
+ movs r4, 0
+_08046F92:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_804794C
+ adds r4, 0x1
+ cmp r4, 0xB
+ ble _08046F92
+_08046FA0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046FA8: .4byte 0xfffffee0
+_08046FAC: .4byte gSprites
+_08046FB0: .4byte gUnknown_02024BE0
+_08046FB4: .4byte gUnknown_02024E6D
+_08046FB8: .4byte 0x02017810
+ thumb_func_end sub_8046E9C
+
+ thumb_func_start sub_8046FBC
+sub_8046FBC: @ 8046FBC
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ ldrh r0, [r6, 0x3A]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrh r0, [r6, 0x36]
+ adds r0, 0x1
+ strh r0, [r6, 0x36]
+ lsls r0, 16
+ asrs r1, r0, 16
+ cmp r1, 0x28
+ beq _08047056
+ cmp r1, 0x5F
+ bne _08046FF4
+ ldr r0, _08046FEC @ =gUnknown_02024E6D
+ movs r1, 0
+ strb r1, [r0]
+ bl m4aMPlayAllStop
+ ldr r0, _08046FF0 @ =0x00000173
+ bl PlaySE
+ b _08047056
+ .align 2, 0
+_08046FEC: .4byte gUnknown_02024E6D
+_08046FF0: .4byte 0x00000173
+_08046FF4:
+ ldr r0, _0804705C @ =0x0000013b
+ cmp r1, r0
+ bne _08047056
+ ldr r5, _08047060 @ =gSprites
+ ldr r4, _08047064 @ =gUnknown_02024BE0
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r0, [r0, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ bl DestroySprite
+ adds r0, r6, 0
+ bl DestroySpriteAndFreeResources
+ ldr r0, _08047068 @ =gMain
+ ldr r1, _0804706C @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08047056
+ lsls r1, r7, 1
+ adds r1, r7
+ lsls r1, 2
+ ldr r0, _08047070 @ =0x02017810
+ adds r1, r0
+ ldrb r2, [r1]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+_08047056:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804705C: .4byte 0x0000013b
+_08047060: .4byte gSprites
+_08047064: .4byte gUnknown_02024BE0
+_08047068: .4byte gMain
+_0804706C: .4byte 0x0000043d
+_08047070: .4byte 0x02017810
+ thumb_func_end sub_8046FBC
+
+ thumb_func_start sub_8047074
+sub_8047074: @ 8047074
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x19
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x3A]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x2
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x3A]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x3
+ bl sub_8077ABC
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x18
+ strh r0, [r4, 0x36]
+ ldr r0, _080470BC @ =0x0000ffe2
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x3A]
+ strh r0, [r4, 0x6]
+ adds r0, r4, 0
+ bl sub_80786EC
+ ldr r0, _080470C0 @ =sub_80470C4
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080470BC: .4byte 0x0000ffe2
+_080470C0: .4byte sub_80470C4
+ thumb_func_end sub_8047074
+
+ thumb_func_start sub_80470C4
+sub_80470C4: @ 80470C4
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x3C]
+ movs r1, 0xFF
+ mov r8, r1
+ lsrs r0, 8
+ subs r0, 0x23
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2C
+ bhi _080471B8
+ ldrh r1, [r5, 0x6]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ bne _08047126
+ ldrh r0, [r5, 0x30]
+ movs r1, 0x1
+ adds r6, r1, 0
+ ands r6, r0
+ ldrh r0, [r5, 0x32]
+ adds r7, r1, 0
+ ands r7, r0
+ movs r2, 0x30
+ ldrsh r0, [r5, r2]
+ movs r1, 0x3
+ bl __divsi3
+ movs r1, 0x2
+ negs r1, r1
+ adds r4, r1, 0
+ ands r0, r4
+ orrs r6, r0
+ strh r6, [r5, 0x30]
+ movs r2, 0x32
+ ldrsh r0, [r5, r2]
+ movs r1, 0x3
+ bl __divsi3
+ ands r0, r4
+ orrs r7, r0
+ strh r7, [r5, 0x32]
+ adds r0, r5, 0
+ movs r1, 0x4
+ bl StartSpriteAffineAnim
+_08047126:
+ ldrh r4, [r5, 0x2E]
+ adds r0, r5, 0
+ bl sub_8078B5C
+ movs r1, 0x3A
+ ldrsh r0, [r5, r1]
+ movs r1, 0x3
+ bl __divsi3
+ adds r1, r0, 0
+ ldrh r0, [r5, 0x3C]
+ adds r0, r1
+ strh r0, [r5, 0x3C]
+ lsls r0, 16
+ asrs r0, 24
+ mov r2, r8
+ ands r0, r2
+ movs r2, 0x38
+ ldrsh r1, [r5, r2]
+ bl Sin
+ ldrh r1, [r5, 0x26]
+ adds r0, r1
+ strh r0, [r5, 0x26]
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2, 0
+ ldrh r1, [r5, 0x6]
+ adds r0, r1
+ strh r0, [r5, 0x6]
+ lsls r0, 16
+ lsrs r0, 24
+ movs r1, 0x3
+ bl __umodsi3
+ lsls r0, 16
+ cmp r0, 0
+ beq _08047176
+ strh r4, [r5, 0x2E]
+ b _0804717E
+_08047176:
+ lsls r0, r4, 16
+ asrs r0, 16
+ subs r0, 0x1
+ strh r0, [r5, 0x2E]
+_0804717E:
+ ldrh r0, [r5, 0x3C]
+ lsrs r0, 8
+ cmp r0, 0x4F
+ ble _08047220
+ ldrh r0, [r5, 0x30]
+ movs r1, 0x1
+ adds r6, r1, 0
+ ands r6, r0
+ ldrh r0, [r5, 0x32]
+ adds r7, r1, 0
+ ands r7, r0
+ movs r2, 0x30
+ ldrsh r1, [r5, r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ movs r1, 0x2
+ negs r1, r1
+ adds r2, r1, 0
+ ands r0, r2
+ orrs r0, r6
+ strh r0, [r5, 0x30]
+ movs r0, 0x32
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ ands r0, r2
+ orrs r0, r7
+ strh r0, [r5, 0x32]
+ b _08047220
+_080471B8:
+ adds r0, r5, 0
+ bl sub_8078718
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047220
+ ldrh r0, [r5, 0x24]
+ ldrh r1, [r5, 0x20]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r5, 0x20]
+ ldrh r0, [r5, 0x26]
+ ldrh r2, [r5, 0x22]
+ adds r0, r2
+ strh r0, [r5, 0x22]
+ strh r1, [r5, 0x26]
+ strh r1, [r5, 0x24]
+ ldrb r0, [r5, 0x6]
+ strh r0, [r5, 0x3A]
+ strh r1, [r5, 0x2E]
+ bl battle_type_is_double
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047214
+ ldr r0, _0804720C @ =0x02017840
+ ldrb r1, [r0, 0x9]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08047214
+ movs r0, 0x3A
+ ldrsh r4, [r5, r0]
+ movs r0, 0x2
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _08047214
+ ldr r0, _08047210 @ =sub_8047230
+ b _08047216
+ .align 2, 0
+_0804720C: .4byte 0x02017840
+_08047210: .4byte sub_8047230
+_08047214:
+ ldr r0, _0804722C @ =sub_8046C78
+_08047216:
+ str r0, [r5, 0x1C]
+ adds r0, r5, 0
+ movs r1, 0
+ bl StartSpriteAffineAnim
+_08047220:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804722C: .4byte sub_8046C78
+ thumb_func_end sub_80470C4
+
+ thumb_func_start sub_8047230
+sub_8047230: @ 8047230
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x2E]
+ adds r1, r0, 0x1
+ strh r1, [r2, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x18
+ ble _0804724A
+ movs r0, 0
+ strh r0, [r2, 0x2E]
+ ldr r0, _08047250 @ =sub_8046C78
+ str r0, [r2, 0x1C]
+_0804724A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047250: .4byte sub_8046C78
+ thumb_func_end sub_8047230
+
+ thumb_func_start sub_8047254
+sub_8047254: @ 8047254
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xF
+ ble _080472A4
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ bl battle_type_is_double
+ lsls r0, 24
+ cmp r0, 0
+ beq _080472A0
+ ldr r0, _08047298 @ =0x02017840
+ ldrb r1, [r0, 0x9]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080472A0
+ movs r0, 0x3A
+ ldrsh r4, [r5, r0]
+ movs r0, 0x3
+ bl battle_get_side_with_given_state
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _080472A0
+ ldr r0, _0804729C @ =sub_8047230
+ b _080472A2
+ .align 2, 0
+_08047298: .4byte 0x02017840
+_0804729C: .4byte sub_8047230
+_080472A0:
+ ldr r0, _080472AC @ =sub_8046C78
+_080472A2:
+ str r0, [r5, 0x1C]
+_080472A4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080472AC: .4byte sub_8046C78
+ thumb_func_end sub_8047254
+
+ thumb_func_start sub_80472B0
+sub_80472B0: @ 80472B0
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ movs r4, 0
+ str r4, [sp]
+ bl sub_814086C
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80472B0
+
+ thumb_func_start sub_80472D8
+sub_80472D8: @ 80472D8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ movs r3, 0
+ bl sub_8141314
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80472D8
+
+ thumb_func_start CreatePokeballSprite
+CreatePokeballSprite: @ 80472F0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ adds r5, r0, 0
+ mov r9, r2
+ mov r10, r3
+ ldr r6, [sp, 0x24]
+ ldr r4, [sp, 0x28]
+ ldr r0, [sp, 0x2C]
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp]
+ mov r1, r9
+ lsls r1, 24
+ lsrs r1, 24
+ mov r9, r1
+ mov r2, r10
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, _080473BC @ =gUnknown_0820A92C
+ bl LoadCompressedObjectPic
+ ldr r0, _080473C0 @ =gUnknown_0820A98C
+ bl LoadCompressedObjectPalette
+ ldr r0, _080473C4 @ =gSpriteTemplate_820AAB4
+ mov r1, r9
+ mov r2, r10
+ adds r3, r4, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _080473C8 @ =gSprites
+ mov r8, r3
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ adds r1, r4, r3
+ strh r5, [r1, 0x2E]
+ lsls r2, r5, 4
+ adds r2, r5
+ lsls r2, 2
+ add r2, r8
+ ldrh r0, [r2, 0x20]
+ strh r0, [r1, 0x38]
+ ldrh r0, [r2, 0x22]
+ strh r0, [r1, 0x3A]
+ mov r0, r9
+ strh r0, [r2, 0x20]
+ mov r3, r10
+ strh r3, [r2, 0x22]
+ strh r7, [r1, 0x30]
+ mov r0, sp
+ ldrh r0, [r0]
+ strh r0, [r1, 0x32]
+ mov r3, sp
+ ldrh r3, [r3, 0x30]
+ strh r3, [r1, 0x34]
+ ldr r3, [sp, 0x30]
+ lsrs r0, r3, 16
+ strh r0, [r1, 0x36]
+ movs r0, 0x3
+ ands r6, r0
+ lsls r6, 2
+ ldrb r3, [r1, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r6
+ strb r0, [r1, 0x5]
+ movs r0, 0x1C
+ add r8, r0
+ add r4, r8
+ ldr r0, _080473CC @ =sub_80473D0
+ str r0, [r4]
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080473BC: .4byte gUnknown_0820A92C
+_080473C0: .4byte gUnknown_0820A98C
+_080473C4: .4byte gSpriteTemplate_820AAB4
+_080473C8: .4byte gSprites
+_080473CC: .4byte sub_80473D0
+ thumb_func_end CreatePokeballSprite
+
+ thumb_func_start sub_80473D0
+sub_80473D0: @ 80473D0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ ldrh r1, [r6, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r6, r2]
+ cmp r0, 0
+ bne _0804747C
+ ldrh r0, [r6, 0x2E]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrh r0, [r6, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrh r4, [r6, 0x34]
+ ldrh r0, [r6, 0x36]
+ lsls r0, 16
+ orrs r4, r0
+ adds r0, r6, 0
+ adds r0, 0x43
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0804740A
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ b _0804740C
+_0804740A:
+ movs r5, 0
+_0804740C:
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldrh r0, [r6, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r6, 0x22]
+ subs r1, 0x5
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r6, 0x5]
+ lsls r2, 28
+ lsrs r2, 30
+ adds r3, r5, 0
+ bl sub_80472B0
+ movs r0, 0x1
+ mov r1, r8
+ adds r2, r4, 0
+ bl sub_80472D8
+ lsls r0, 24
+ lsrs r0, 24
+ movs r5, 0
+ strh r0, [r6, 0x30]
+ ldr r0, _08047474 @ =sub_804748C
+ str r0, [r6, 0x1C]
+ ldr r0, _08047478 @ =gSprites
+ lsls r4, r7, 4
+ adds r4, r7
+ lsls r4, 2
+ adds r4, r0
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ adds r0, r4, 0
+ bl AnimateSprite
+ movs r0, 0x80
+ lsls r0, 5
+ strh r0, [r4, 0x30]
+ strh r5, [r6, 0x3C]
+ b _08047480
+ .align 2, 0
+_08047474: .4byte sub_804748C
+_08047478: .4byte gSprites
+_0804747C:
+ subs r0, r1, 0x1
+ strh r0, [r6, 0x30]
+_08047480:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80473D0
+
+ thumb_func_start sub_804748C
+sub_804748C: @ 804748C
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ mov r12, r0
+ movs r6, 0
+ ldrh r0, [r4, 0x2E]
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080474B6
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_080474B6:
+ ldr r0, _08047544 @ =gSprites
+ lsls r1, r3, 4
+ adds r1, r3
+ lsls r1, 2
+ adds r5, r1, r0
+ adds r0, r5, 0
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _080474D8
+ adds r0, r5, 0
+ movs r1, 0
+ bl StartSpriteAffineAnim
+ movs r1, 0x1
+ mov r12, r1
+_080474D8:
+ movs r2, 0x38
+ ldrsh r0, [r4, r2]
+ movs r7, 0x20
+ ldrsh r1, [r4, r7]
+ subs r0, r1
+ movs r1, 0x3C
+ ldrsh r2, [r4, r1]
+ muls r0, r2
+ cmp r0, 0
+ bge _080474EE
+ adds r0, 0x7F
+_080474EE:
+ asrs r0, 7
+ ldrh r7, [r4, 0x20]
+ adds r0, r7
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r1, 0x3A
+ ldrsh r0, [r4, r1]
+ movs r7, 0x22
+ ldrsh r1, [r4, r7]
+ subs r0, r1
+ muls r0, r2
+ cmp r0, 0
+ bge _0804750A
+ adds r0, 0x7F
+_0804750A:
+ asrs r0, 7
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r3, [r5, 0x20]
+ strh r0, [r5, 0x22]
+ ldrh r2, [r4, 0x3C]
+ movs r7, 0x3C
+ ldrsh r0, [r4, r7]
+ cmp r0, 0x7F
+ bgt _0804754C
+ ldr r1, _08047548 @ =gSineTable
+ lsls r0, r2, 24
+ lsrs r0, 23
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bge _08047530
+ adds r0, 0x7
+_08047530:
+ asrs r0, 3
+ negs r0, r0
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r2, 0x4
+ strh r1, [r4, 0x3C]
+ strh r0, [r5, 0x24]
+ strh r0, [r5, 0x26]
+ b _0804755A
+ .align 2, 0
+_08047544: .4byte gSprites
+_08047548: .4byte gSineTable
+_0804754C:
+ ldrh r0, [r4, 0x38]
+ strh r0, [r5, 0x20]
+ ldrh r0, [r4, 0x3A]
+ strh r0, [r5, 0x22]
+ strh r6, [r5, 0x24]
+ strh r6, [r5, 0x26]
+ movs r6, 0x1
+_0804755A:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08047578
+ mov r2, r12
+ cmp r2, 0
+ beq _08047578
+ cmp r6, 0
+ beq _08047578
+ adds r0, r4, 0
+ bl DestroySpriteAndFreeResources
+_08047578:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_804748C
+
+ thumb_func_start sub_8047580
+sub_8047580: @ 8047580
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ mov r10, r0
+ adds r6, r2, 0
+ mov r8, r3
+ ldr r5, [sp, 0x20]
+ ldr r4, [sp, 0x24]
+ ldr r0, [sp, 0x28]
+ mov r9, r0
+ mov r0, r10
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ lsls r6, 24
+ lsrs r6, 24
+ mov r1, r8
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r4, 24
+ lsrs r4, 24
+ mov r0, r9
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r0, _08047624 @ =gUnknown_0820A92C
+ bl LoadCompressedObjectPic
+ ldr r0, _08047628 @ =gUnknown_0820A98C
+ bl LoadCompressedObjectPalette
+ ldr r0, _0804762C @ =gSpriteTemplate_820AAB4
+ adds r1, r6, 0
+ mov r2, r8
+ adds r3, r4, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r6, _08047630 @ =gSprites
+ lsls r3, r0, 4
+ adds r3, r0
+ lsls r3, 2
+ adds r2, r3, r6
+ mov r1, r10
+ strh r1, [r2, 0x2E]
+ mov r4, r9
+ strh r4, [r2, 0x30]
+ strh r7, [r2, 0x32]
+ mov r1, sp
+ ldrh r1, [r1, 0x2C]
+ strh r1, [r2, 0x34]
+ ldr r4, [sp, 0x2C]
+ lsrs r1, r4, 16
+ strh r1, [r2, 0x36]
+ movs r1, 0x3
+ ands r5, r1
+ lsls r5, 2
+ ldrb r4, [r2, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r4
+ orrs r1, r5
+ strb r1, [r2, 0x5]
+ adds r6, 0x1C
+ adds r3, r6
+ ldr r1, _08047634 @ =sub_8047638
+ str r1, [r3]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08047624: .4byte gUnknown_0820A92C
+_08047628: .4byte gUnknown_0820A98C
+_0804762C: .4byte gSpriteTemplate_820AAB4
+_08047630: .4byte gSprites
+_08047634: .4byte sub_8047638
+ thumb_func_end sub_8047580
+
+ thumb_func_start sub_8047638
+sub_8047638: @ 8047638
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _080476D0
+ ldrh r0, [r4, 0x2E]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldrh r5, [r4, 0x34]
+ ldrh r0, [r4, 0x36]
+ lsls r0, 16
+ orrs r5, r0
+ adds r0, r4, 0
+ adds r0, 0x43
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08047672
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ b _08047674
+_08047672:
+ movs r6, 0
+_08047674:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldrh r0, [r4, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x22]
+ subs r1, 0x5
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r4, 0x5]
+ lsls r2, 28
+ lsrs r2, 30
+ adds r3, r6, 0
+ bl sub_80472B0
+ movs r0, 0x1
+ mov r1, r8
+ adds r2, r5, 0
+ bl sub_80472D8
+ lsls r0, 24
+ lsrs r0, 24
+ movs r5, 0
+ strh r0, [r4, 0x30]
+ ldr r0, _080476C8 @ =sub_80476E0
+ str r0, [r4, 0x1C]
+ lsls r4, r7, 4
+ adds r4, r7
+ lsls r4, 2
+ ldr r0, _080476CC @ =gSprites
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ adds r0, r4, 0
+ bl AnimateSprite
+ strh r5, [r4, 0x30]
+ b _080476D4
+ .align 2, 0
+_080476C8: .4byte sub_80476E0
+_080476CC: .4byte gSprites
+_080476D0:
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x30]
+_080476D4:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8047638
+
+ thumb_func_start sub_80476E0
+sub_80476E0: @ 80476E0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x38]
+ adds r0, 0x1
+ strh r0, [r5, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xB
+ bne _080476F8
+ movs r0, 0x3C
+ bl PlaySE
+_080476F8:
+ ldrh r1, [r5, 0x2E]
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _08047734 @ =gSprites
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, r0, r2
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _0804773C
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl StartSpriteAnim
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0
+ strh r0, [r5, 0x38]
+ ldr r0, _08047738 @ =sub_8047754
+ str r0, [r5, 0x1C]
+ b _0804774C
+ .align 2, 0
+_08047734: .4byte gSprites
+_08047738: .4byte sub_8047754
+_0804773C:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x60
+ strh r0, [r4, 0x30]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ negs r0, r0
+ asrs r0, 8
+ strh r0, [r4, 0x26]
+_0804774C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80476E0
+
+ thumb_func_start sub_8047754
+sub_8047754: @ 8047754
+ push {lr}
+ adds r2, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08047768
+ ldr r0, _0804776C @ =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+_08047768:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804776C: .4byte SpriteCallbackDummy
+ thumb_func_end sub_8047754
+
+ thumb_func_start obj_delete_and_free_associated_resources_
+obj_delete_and_free_associated_resources_: @ 8047770
+ push {lr}
+ bl DestroySpriteAndFreeResources
+ pop {r0}
+ bx r0
+ thumb_func_end obj_delete_and_free_associated_resources_
+
+ thumb_func_start sub_804777C
+sub_804777C: @ 804777C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ ldr r0, _080477FC @ =gUnknown_03004340
+ adds r0, r5, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r6, _08047800 @ =gSprites
+ adds r4, r0, r6
+ movs r1, 0
+ movs r0, 0x5
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x30]
+ movs r0, 0x73
+ strh r0, [r4, 0x24]
+ strh r1, [r4, 0x26]
+ ldr r0, _08047804 @ =sub_8047830
+ str r0, [r4, 0x1C]
+ adds r0, r5, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080477CA
+ ldrh r0, [r4, 0x2E]
+ negs r0, r0
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x30]
+ negs r0, r0
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x24]
+ negs r0, r0
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x26]
+ negs r0, r0
+ strh r0, [r4, 0x26]
+_080477CA:
+ movs r0, 0x38
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r6, 0
+ adds r1, 0x1C
+ adds r1, r0, r1
+ adds r0, r6
+ ldr r1, [r1]
+ bl _call_via_r1
+ adds r0, r5, 0
+ bl battle_get_per_side_status
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _080477F4
+ ldr r0, _08047808 @ =sub_804780C
+ str r0, [r4, 0x1C]
+_080477F4:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080477FC: .4byte gUnknown_03004340
+_08047800: .4byte gSprites
+_08047804: .4byte sub_8047830
+_08047808: .4byte sub_804780C
+ thumb_func_end sub_804777C
+
+ thumb_func_start sub_804780C
+sub_804780C: @ 804780C
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x30]
+ adds r0, 0x1
+ strh r0, [r1, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ bne _08047826
+ movs r0, 0
+ strh r0, [r1, 0x30]
+ ldr r0, _0804782C @ =sub_8047830
+ str r0, [r1, 0x1C]
+_08047826:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804782C: .4byte sub_8047830
+ thumb_func_end sub_804780C
+
+ thumb_func_start sub_8047830
+sub_8047830: @ 8047830
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x24]
+ ldrh r1, [r2, 0x2E]
+ subs r0, r1
+ strh r0, [r2, 0x24]
+ ldrh r0, [r2, 0x26]
+ ldrh r1, [r2, 0x30]
+ subs r0, r1
+ strh r0, [r2, 0x26]
+ ldr r0, [r2, 0x24]
+ cmp r0, 0
+ bne _0804784E
+ ldr r0, _08047854 @ =SpriteCallbackDummy
+ str r0, [r2, 0x1C]
+_0804784E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047854: .4byte SpriteCallbackDummy
+ thumb_func_end sub_8047830
+
+ thumb_func_start sub_8047858
+sub_8047858: @ 8047858
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _08047890 @ =oamc_804BEB4
+ adds r0, r5, 0
+ bl object_new_hidden_with_callback
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08047894 @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r3, r1, r2
+ movs r0, 0x1
+ strh r0, [r3, 0x2E]
+ ldr r0, _08047898 @ =gUnknown_03004340
+ adds r4, r0
+ ldrb r0, [r4]
+ strh r0, [r3, 0x30]
+ adds r2, 0x1C
+ adds r1, r2
+ str r5, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047890: .4byte oamc_804BEB4
+_08047894: .4byte gSprites
+_08047898: .4byte gUnknown_03004340
+ thumb_func_end sub_8047858
+
+ thumb_func_start oamc_804BEB4
+oamc_804BEB4: @ 804789C
+ push {lr}
+ adds r3, r0, 0
+ ldrh r1, [r3, 0x30]
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _080478D8 @ =gSprites
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r2
+ ldrh r0, [r3, 0x2E]
+ movs r2, 0
+ strh r0, [r1, 0x26]
+ ldrh r0, [r3, 0x2E]
+ negs r0, r0
+ strh r0, [r3, 0x2E]
+ ldrh r0, [r3, 0x32]
+ adds r0, 0x1
+ strh r0, [r3, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x15
+ bne _080478D4
+ strh r2, [r1, 0x24]
+ strh r2, [r1, 0x26]
+ adds r0, r3, 0
+ bl DestroySprite
+_080478D4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080478D8: .4byte gSprites
+ thumb_func_end oamc_804BEB4
+
+ thumb_func_start sub_80478DC
+sub_80478DC: @ 80478DC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08047938 @ =gUnknown_0820A92C
+ lsls r6, r4, 3
+ adds r5, r6, r0
+ ldrh r0, [r5, 0x6]
+ bl GetSpriteTileStartByTag
+ lsls r0, 16
+ ldr r1, _0804793C @ =0xffff0000
+ cmp r0, r1
+ bne _08047904
+ adds r0, r5, 0
+ bl LoadCompressedObjectPic
+ ldr r0, _08047940 @ =gUnknown_0820A98C
+ adds r0, r6, r0
+ bl LoadCompressedObjectPalette
+_08047904:
+ cmp r4, 0x6
+ beq _08047930
+ cmp r4, 0x6
+ blt _08047914
+ cmp r4, 0xB
+ bgt _08047914
+ cmp r4, 0xA
+ bge _08047930
+_08047914:
+ ldr r1, _08047938 @ =gUnknown_0820A92C
+ lsls r0, r4, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x6]
+ bl GetSpriteTileStartByTag
+ adds r1, r0, 0
+ lsls r1, 16
+ ldr r0, _08047944 @ =gUnknown_08D030D0
+ lsrs r1, 11
+ ldr r2, _08047948 @ =0x06010100
+ adds r1, r2
+ bl LZDecompressVram
+_08047930:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047938: .4byte gUnknown_0820A92C
+_0804793C: .4byte 0xffff0000
+_08047940: .4byte gUnknown_0820A98C
+_08047944: .4byte gUnknown_08D030D0
+_08047948: .4byte 0x06010100
+ thumb_func_end sub_80478DC
+
+ thumb_func_start sub_804794C
+sub_804794C: @ 804794C
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ ldr r0, _08047970 @ =gUnknown_0820A92C
+ lsrs r4, 21
+ adds r0, r4, r0
+ ldrh r0, [r0, 0x6]
+ bl FreeSpriteTilesByTag
+ ldr r0, _08047974 @ =gUnknown_0820A98C
+ adds r4, r0
+ ldrh r0, [r4, 0x4]
+ bl FreeSpritePaletteByTag
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047970: .4byte gUnknown_0820A92C
+_08047974: .4byte gUnknown_0820A98C
+ thumb_func_end sub_804794C
+
+ thumb_func_start sub_8047978
+sub_8047978: @ 8047978
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ beq _080479A4
+ ldr r1, _0804799C @ =gUnknown_02024A6A
+ lsls r0, r4, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080479A0 @ =gEnemyParty
+ b _080479B2
+ .align 2, 0
+_0804799C: .4byte gUnknown_02024A6A
+_080479A0: .4byte gEnemyParty
+_080479A4:
+ ldr r1, _080479C4 @ =gUnknown_02024A6A
+ lsls r0, r4, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080479C8 @ =gPlayerParty
+_080479B2:
+ adds r0, r1
+ movs r1, 0x26
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080479C4: .4byte gUnknown_02024A6A
+_080479C8: .4byte gPlayerParty
+ thumb_func_end sub_8047978
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokeblock.s b/asm/pokeblock.s
new file mode 100644
index 000000000..d39a4b3ca
--- /dev/null
+++ b/asm/pokeblock.s
@@ -0,0 +1,2675 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_810B674
+sub_810B674: @ 810B674
+ push {lr}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl RunTasks
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810B674
+
+ thumb_func_start sub_810B68C
+sub_810B68C: @ 810B68C
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ ldr r1, _0810B6B0 @ =gBGTilemapBuffers + 0x1000
+ ldr r2, _0810B6B4 @ =0x06007800
+ ldr r0, _0810B6B8 @ =0x040000d4
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ ldr r1, _0810B6BC @ =0x80000400
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810B6B0: .4byte gBGTilemapBuffers + 0x1000
+_0810B6B4: .4byte 0x06007800
+_0810B6B8: .4byte 0x040000d4
+_0810B6BC: .4byte 0x80000400
+ thumb_func_end sub_810B68C
+
+ thumb_func_start sub_810B6C0
+sub_810B6C0: @ 810B6C0
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _0810B6DC @ =gMain
+ ldr r1, _0810B6E0 @ =0x0000043c
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x12
+ bls _0810B6D2
+ b _0810B960
+_0810B6D2:
+ lsls r0, 2
+ ldr r1, _0810B6E4 @ =_0810B6E8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810B6DC: .4byte gMain
+_0810B6E0: .4byte 0x0000043c
+_0810B6E4: .4byte _0810B6E8
+ .align 2, 0
+_0810B6E8:
+ .4byte _0810B734
+ .4byte _0810B764
+ .4byte _0810B76A
+ .4byte _0810B78C
+ .4byte _0810B792
+ .4byte _0810B7B4
+ .4byte _0810B7C0
+ .4byte _0810B7DC
+ .4byte _0810B7E8
+ .4byte _0810B804
+ .4byte _0810B810
+ .4byte _0810B830
+ .4byte _0810B84C
+ .4byte _0810B86A
+ .4byte _0810B894
+ .4byte _0810B89E
+ .4byte _0810B8C4
+ .4byte _0810B914
+ .4byte _0810B934
+_0810B734:
+ bl sub_80F9438
+ bl sub_80F9368
+ ldr r1, _0810B754 @ =REG_BG2CNT
+ ldr r2, _0810B758 @ =0x00000f0a
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x44
+ movs r0, 0
+ strh r0, [r1]
+ ldr r1, _0810B75C @ =gMain
+ ldr r0, _0810B760 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B754: .4byte REG_BG2CNT
+_0810B758: .4byte 0x00000f0a
+_0810B75C: .4byte gMain
+_0810B760: .4byte 0x0000043c
+_0810B764:
+ bl remove_some_task
+ b _0810B91C
+_0810B76A:
+ bl ResetPaletteFade
+ ldr r2, _0810B780 @ =gPaletteFade
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x8]
+ ldr r1, _0810B784 @ =gMain
+ ldr r0, _0810B788 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B780: .4byte gPaletteFade
+_0810B784: .4byte gMain
+_0810B788: .4byte 0x0000043c
+_0810B78C:
+ bl ResetSpriteData
+ b _0810B91C
+_0810B792:
+ ldr r0, _0810B7A8 @ =gUnknown_02039244
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0810B79E
+ bl ResetTasks
+_0810B79E:
+ ldr r1, _0810B7AC @ =gMain
+ ldr r0, _0810B7B0 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B7A8: .4byte gUnknown_02039244
+_0810B7AC: .4byte gMain
+_0810B7B0: .4byte 0x0000043c
+_0810B7B4:
+ ldr r0, _0810B7BC @ =gWindowConfig_81E6E34
+ bl SetUpWindowConfig
+ b _0810B91C
+ .align 2, 0
+_0810B7BC: .4byte gWindowConfig_81E6E34
+_0810B7C0:
+ ldr r0, _0810B7D0 @ =gWindowConfig_81E6E50
+ bl SetUpWindowConfig
+ ldr r1, _0810B7D4 @ =gMain
+ ldr r0, _0810B7D8 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B7D0: .4byte gWindowConfig_81E6E50
+_0810B7D4: .4byte gMain
+_0810B7D8: .4byte 0x0000043c
+_0810B7DC:
+ ldr r0, _0810B7E4 @ =gWindowConfig_81E6E34
+ bl MultistepInitMenuWindowBegin
+ b _0810B91C
+ .align 2, 0
+_0810B7E4: .4byte gWindowConfig_81E6E34
+_0810B7E8:
+ bl MultistepInitMenuWindowContinue
+ cmp r0, 0
+ bne _0810B7F2
+ b _0810B960
+_0810B7F2:
+ ldr r1, _0810B7FC @ =gMain
+ ldr r0, _0810B800 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B7FC: .4byte gMain
+_0810B800: .4byte 0x0000043c
+_0810B804:
+ ldr r0, _0810B80C @ =gWindowConfig_81E6E50
+ bl MultistepInitMenuWindowBegin
+ b _0810B91C
+ .align 2, 0
+_0810B80C: .4byte gWindowConfig_81E6E50
+_0810B810:
+ bl MultistepInitMenuWindowContinue
+ cmp r0, 0
+ bne _0810B81A
+ b _0810B960
+_0810B81A:
+ ldr r0, _0810B828 @ =0x02000000
+ ldr r1, _0810B82C @ =0x0001ffff
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ b _0810B91C
+ .align 2, 0
+_0810B828: .4byte 0x02000000
+_0810B82C: .4byte 0x0001ffff
+_0810B830:
+ bl sub_810B998
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810B83C
+ b _0810B960
+_0810B83C:
+ ldr r1, _0810B844 @ =gMain
+ ldr r0, _0810B848 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B844: .4byte gMain
+_0810B848: .4byte 0x0000043c
+_0810B84C:
+ bl sub_80F944C
+ bl LoadScrollIndicatorPalette
+ movs r0, 0
+ movs r1, 0xB0
+ movs r2, 0x8
+ bl CreateVerticalScrollIndicators
+ movs r0, 0x1
+ movs r1, 0xB0
+ movs r2, 0x98
+ bl CreateVerticalScrollIndicators
+ b _0810B91C
+_0810B86A:
+ movs r0, 0x38
+ movs r1, 0x40
+ movs r2, 0
+ bl sub_810BA50
+ ldr r1, _0810B884 @ =0x02000000
+ ldr r2, _0810B888 @ =0x0001fffe
+ adds r1, r2
+ strb r0, [r1]
+ ldr r1, _0810B88C @ =gMain
+ ldr r0, _0810B890 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B884: .4byte 0x02000000
+_0810B888: .4byte 0x0001fffe
+_0810B88C: .4byte gMain
+_0810B890: .4byte 0x0000043c
+_0810B894:
+ bl sub_810BC98
+ bl sub_810BD08
+ b _0810B91C
+_0810B89E:
+ bl sub_810BB0C
+ bl sub_810BB30
+ ldr r0, _0810B8B8 @ =gUnknown_02039248
+ ldrb r0, [r0, 0x1]
+ bl sub_810BC84
+ ldr r1, _0810B8BC @ =gMain
+ ldr r0, _0810B8C0 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B8B8: .4byte gUnknown_02039248
+_0810B8BC: .4byte gMain
+_0810B8C0: .4byte 0x0000043c
+_0810B8C4:
+ ldr r3, _0810B8FC @ =0x04000208
+ ldrh r2, [r3]
+ movs r0, 0
+ strh r0, [r3]
+ ldr r4, _0810B900 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _0810B904 @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _0810B908 @ =sub_810B68C
+ bl SetVBlankCallback
+ movs r1, 0x80
+ lsls r1, 19
+ movs r2, 0xBA
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _0810B90C @ =gMain
+ ldr r0, _0810B910 @ =0x0000043c
+ adds r1, r0
+ b _0810B922
+ .align 2, 0
+_0810B8FC: .4byte 0x04000208
+_0810B900: .4byte 0x04000200
+_0810B904: .4byte REG_DISPSTAT
+_0810B908: .4byte sub_810B68C
+_0810B90C: .4byte gMain
+_0810B910: .4byte 0x0000043c
+_0810B914:
+ bl sub_8055870
+ cmp r0, 0x1
+ beq _0810B960
+_0810B91C:
+ ldr r1, _0810B92C @ =gMain
+ ldr r2, _0810B930 @ =0x0000043c
+ adds r1, r2
+_0810B922:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0810B960
+ .align 2, 0
+_0810B92C: .4byte gMain
+_0810B930: .4byte 0x0000043c
+_0810B934:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r2, _0810B958 @ =gPaletteFade
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ ldr r0, _0810B95C @ =sub_810B674
+ bl SetMainCallback2
+ movs r0, 0x1
+ b _0810B962
+ .align 2, 0
+_0810B958: .4byte gPaletteFade
+_0810B95C: .4byte sub_810B674
+_0810B960:
+ movs r0, 0
+_0810B962:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810B6C0
+
+ thumb_func_start sub_810B96C
+sub_810B96C: @ 810B96C
+ push {lr}
+_0810B96E:
+ bl sub_810B6C0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0810B988
+ ldr r0, _0810B984 @ =sub_810BF7C
+ movs r1, 0
+ bl CreateTask
+ b _0810B994
+ .align 2, 0
+_0810B984: .4byte sub_810BF7C
+_0810B988:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0810B96E
+_0810B994:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810B96C
+
+ thumb_func_start sub_810B998
+sub_810B998: @ 810B998
+ push {lr}
+ ldr r0, _0810B9B0 @ =0x02000000
+ ldr r1, _0810B9B4 @ =0x0001ffff
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bhi _0810BA48
+ lsls r0, 2
+ ldr r1, _0810B9B8 @ =_0810B9BC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810B9B0: .4byte 0x02000000
+_0810B9B4: .4byte 0x0001ffff
+_0810B9B8: .4byte _0810B9BC
+ .align 2, 0
+_0810B9BC:
+ .4byte _0810B9D0
+ .4byte _0810B9E4
+ .4byte _0810B9F8
+ .4byte _0810BA08
+ .4byte _0810BA28
+_0810B9D0:
+ ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx
+ ldr r1, _0810B9E0 @ =0x06008000
+ bl LZDecompressVram
+ b _0810BA0E
+ .align 2, 0
+_0810B9DC: .4byte gMenuPokeblock_Gfx
+_0810B9E0: .4byte 0x06008000
+_0810B9E4:
+ ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap
+ ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000
+ bl sub_800D238
+ b _0810BA0E
+ .align 2, 0
+_0810B9F0: .4byte gMenuPokeblock_Tilemap
+_0810B9F4: .4byte gBGTilemapBuffers + 0x1000
+_0810B9F8:
+ ldr r0, _0810BA04 @ =gMenuPokeblock_Pal
+ movs r1, 0
+ movs r2, 0xC0
+ bl LoadCompressedPalette
+ b _0810BA0E
+ .align 2, 0
+_0810BA04: .4byte gMenuPokeblock_Pal
+_0810BA08:
+ ldr r0, _0810BA1C @ =gUnknown_083F7F74
+ bl LoadCompressedObjectPic
+_0810BA0E:
+ ldr r1, _0810BA20 @ =0x02000000
+ ldr r0, _0810BA24 @ =0x0001ffff
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _0810BA48
+ .align 2, 0
+_0810BA1C: .4byte gUnknown_083F7F74
+_0810BA20: .4byte 0x02000000
+_0810BA24: .4byte 0x0001ffff
+_0810BA28:
+ ldr r0, _0810BA3C @ =gUnknown_083F7F7C
+ bl LoadCompressedObjectPalette
+ ldr r0, _0810BA40 @ =0x02000000
+ ldr r1, _0810BA44 @ =0x0001ffff
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x1
+ b _0810BA4A
+ .align 2, 0
+_0810BA3C: .4byte gUnknown_083F7F7C
+_0810BA40: .4byte 0x02000000
+_0810BA44: .4byte 0x0001ffff
+_0810BA48:
+ movs r0, 0
+_0810BA4A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810B998
+
+ thumb_func_start sub_810BA50
+sub_810BA50: @ 810BA50
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r3, r2, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, _0810BA78 @ =gSpriteTemplate_83F7F84
+ lsls r4, 16
+ asrs r4, 16
+ lsls r5, 16
+ asrs r5, 16
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810BA78: .4byte gSpriteTemplate_83F7F84
+ thumb_func_end sub_810BA50
+
+ thumb_func_start sub_810BA7C
+sub_810BA7C: @ 810BA7C
+ push {lr}
+ ldr r1, _0810BA98 @ =gUnknown_02039244
+ strb r0, [r1]
+ ldrb r2, [r1]
+ cmp r2, 0x2
+ beq _0810BAA8
+ cmp r2, 0x3
+ beq _0810BAC0
+ ldr r1, _0810BA9C @ =gUnknown_03000758
+ ldr r0, _0810BAA0 @ =gUnknown_083F7F1C
+ str r0, [r1]
+ ldr r1, _0810BAA4 @ =gUnknown_0203924C
+ movs r0, 0x3
+ b _0810BACA
+ .align 2, 0
+_0810BA98: .4byte gUnknown_02039244
+_0810BA9C: .4byte gUnknown_03000758
+_0810BAA0: .4byte gUnknown_083F7F1C
+_0810BAA4: .4byte gUnknown_0203924C
+_0810BAA8:
+ ldr r0, _0810BAB4 @ =gUnknown_03000758
+ ldr r1, _0810BAB8 @ =gUnknown_083F7F1F
+ str r1, [r0]
+ ldr r0, _0810BABC @ =gUnknown_0203924C
+ strb r2, [r0]
+ b _0810BACC
+ .align 2, 0
+_0810BAB4: .4byte gUnknown_03000758
+_0810BAB8: .4byte gUnknown_083F7F1F
+_0810BABC: .4byte gUnknown_0203924C
+_0810BAC0:
+ ldr r1, _0810BAD0 @ =gUnknown_03000758
+ ldr r0, _0810BAD4 @ =gUnknown_083F7F21
+ str r0, [r1]
+ ldr r1, _0810BAD8 @ =gUnknown_0203924C
+ movs r0, 0x2
+_0810BACA:
+ strb r0, [r1]
+_0810BACC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BAD0: .4byte gUnknown_03000758
+_0810BAD4: .4byte gUnknown_083F7F21
+_0810BAD8: .4byte gUnknown_0203924C
+ thumb_func_end sub_810BA7C
+
+ thumb_func_start sub_810BADC
+sub_810BADC: @ 810BADC
+ push {lr}
+ movs r0, 0x2
+ bl sub_810BA7C
+ ldr r0, _0810BAF0 @ =sub_810B96C
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BAF0: .4byte sub_810B96C
+ thumb_func_end sub_810BADC
+
+ thumb_func_start sub_810BAF4
+sub_810BAF4: @ 810BAF4
+ push {lr}
+ movs r0, 0x3
+ bl sub_810BA7C
+ ldr r0, _0810BB08 @ =sub_810B96C
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BB08: .4byte sub_810B96C
+ thumb_func_end sub_810BAF4
+
+ thumb_func_start sub_810BB0C
+sub_810BB0C: @ 810BB0C
+ push {lr}
+ ldr r0, _0810BB28 @ =gWindowConfig_81E6E34
+ bl BasicInitMenuWindow
+ ldr r0, _0810BB2C @ =0x00000111
+ bl ItemId_GetItem
+ movs r1, 0x2
+ movs r2, 0x1
+ movs r3, 0x48
+ bl sub_8072BD8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BB28: .4byte gWindowConfig_81E6E34
+_0810BB2C: .4byte 0x00000111
+ thumb_func_end sub_810BB0C
+
+ thumb_func_start sub_810BB30
+sub_810BB30: @ 810BB30
+ push {lr}
+ ldr r0, _0810BB70 @ =gWindowConfig_81E6E34
+ bl BasicInitMenuWindow
+ ldr r0, _0810BB74 @ =gContestStatsText_Spicy
+ movs r1, 0x2
+ movs r2, 0xD
+ bl MenuPrint
+ ldr r0, _0810BB78 @ =gContestStatsText_Dry
+ movs r1, 0x2
+ movs r2, 0xF
+ bl MenuPrint
+ ldr r0, _0810BB7C @ =gContestStatsText_Sweet
+ movs r1, 0x2
+ movs r2, 0x11
+ bl MenuPrint
+ ldr r0, _0810BB80 @ =gContestStatsText_Bitter
+ movs r1, 0x8
+ movs r2, 0xD
+ bl MenuPrint
+ ldr r0, _0810BB84 @ =gContestStatsText_Sour
+ movs r1, 0x8
+ movs r2, 0xF
+ bl MenuPrint
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BB70: .4byte gWindowConfig_81E6E34
+_0810BB74: .4byte gContestStatsText_Spicy
+_0810BB78: .4byte gContestStatsText_Dry
+_0810BB7C: .4byte gContestStatsText_Sweet
+_0810BB80: .4byte gContestStatsText_Bitter
+_0810BB84: .4byte gContestStatsText_Sour
+ thumb_func_end sub_810BB30
+
+ thumb_func_start sub_810BB88
+sub_810BB88: @ 810BB88
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, _0810BBF4 @ =gWindowConfig_81E6E34
+ bl BasicInitMenuWindow
+ mov r6, r8
+ adds r0, r6, 0
+ adds r0, 0x8
+ cmp r6, r0
+ bgt _0810BC6C
+ ldr r0, _0810BBF8 @ =gStringVar1
+ mov r9, r0
+ ldr r1, _0810BBFC @ =gSaveBlock1
+ mov r10, r1
+_0810BBB0:
+ mov r1, r8
+ subs r0, r6, r1
+ lsls r0, 25
+ lsrs r7, r0, 24
+ ldr r0, _0810BC00 @ =gUnknown_02039248
+ ldrb r0, [r0, 0x2]
+ cmp r6, r0
+ bne _0810BC08
+ mov r0, r9
+ ldr r1, _0810BC04 @ =gContestStatsText_StowCase
+ movs r2, 0x78
+ movs r3, 0
+ bl sub_8072C74
+ movs r2, 0x1
+ orrs r2, r7
+ mov r0, r9
+ movs r1, 0xF
+ bl MenuPrint
+ mov r0, r8
+ adds r0, 0x8
+ cmp r6, r0
+ beq _0810BC6C
+ adds r1, r7, 0x3
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0xF
+ movs r2, 0x1D
+ movs r3, 0x12
+ bl MenuZeroFillWindowRect
+ b _0810BC6C
+ .align 2, 0
+_0810BBF4: .4byte gWindowConfig_81E6E34
+_0810BBF8: .4byte gStringVar1
+_0810BBFC: .4byte gSaveBlock1
+_0810BC00: .4byte gUnknown_02039248
+_0810BC04: .4byte gContestStatsText_StowCase
+_0810BC08:
+ lsls r5, r6, 3
+ mov r1, r10
+ adds r0, r5, r1
+ movs r1, 0xFF
+ lsls r1, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 2
+ ldr r1, _0810BC7C @ =gPokeblockNames
+ adds r0, r1
+ ldr r1, [r0]
+ mov r0, r9
+ movs r2, 0x5E
+ movs r3, 0
+ bl sub_8072C74
+ adds r4, r0, 0
+ movs r0, 0xFC
+ strb r0, [r4]
+ movs r0, 0x14
+ strb r0, [r4, 0x1]
+ movs r0, 0x6
+ strb r0, [r4, 0x2]
+ adds r4, 0x3
+ ldr r0, _0810BC80 @ =gSaveBlock1 + 0x7F8
+ adds r5, r0
+ adds r0, r5, 0
+ bl sub_810C9B0
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ movs r2, 0x1
+ orrs r2, r7
+ mov r0, r9
+ movs r1, 0xF
+ bl MenuPrint
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r0, r8
+ adds r0, 0x8
+ cmp r6, r0
+ ble _0810BBB0
+_0810BC6C:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BC7C: .4byte gPokeblockNames
+_0810BC80: .4byte gSaveBlock1 + 0x7F8
+ thumb_func_end sub_810BB88
+
+ thumb_func_start sub_810BC84
+sub_810BC84: @ 810BC84
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_810BB88
+ movs r0, 0
+ bl sub_810BDAC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810BC84
+
+ thumb_func_start sub_810BC98
+sub_810BC98: @ 810BC98
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r2, 0
+ ldr r0, _0810BD00 @ =gSaveBlock1
+ mov r9, r0
+_0810BCA6:
+ adds r1, r2, 0x1
+ lsls r0, r1, 16
+ lsrs r5, r0, 16
+ mov r8, r1
+ cmp r5, 0x27
+ bhi _0810BCE8
+ lsls r1, r2, 3
+ mov r2, r9
+ adds r0, r1, r2
+ movs r2, 0xFF
+ lsls r2, 3
+ adds r7, r0, r2
+ ldr r0, _0810BD04 @ =gSaveBlock1 + 0x7F8
+ mov r12, r0
+ adds r6, r1, r0
+_0810BCC4:
+ ldrb r0, [r7]
+ cmp r0, 0
+ bne _0810BCDE
+ ldr r3, [r6]
+ ldr r4, [r6, 0x4]
+ lsls r2, r5, 3
+ add r2, r12
+ ldr r0, [r2]
+ ldr r1, [r2, 0x4]
+ str r0, [r6]
+ str r1, [r6, 0x4]
+ str r3, [r2]
+ str r4, [r2, 0x4]
+_0810BCDE:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x27
+ bls _0810BCC4
+_0810BCE8:
+ mov r1, r8
+ lsls r0, r1, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x26
+ bls _0810BCA6
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BD00: .4byte gSaveBlock1
+_0810BD04: .4byte gSaveBlock1 + 0x7F8
+ thumb_func_end sub_810BC98
+
+ thumb_func_start sub_810BD08
+sub_810BD08: @ 810BD08
+ push {r4,r5,lr}
+ ldr r1, _0810BD5C @ =gUnknown_02039248
+ movs r0, 0
+ strb r0, [r1, 0x2]
+ movs r2, 0
+ ldr r5, _0810BD60 @ =gSaveBlock1
+ movs r4, 0xFF
+ lsls r4, 3
+ adds r3, r1, 0
+_0810BD1A:
+ lsls r0, r2, 3
+ adds r0, r5
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0810BD2C
+ ldrb r0, [r3, 0x2]
+ adds r0, 0x1
+ strb r0, [r3, 0x2]
+_0810BD2C:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x27
+ bls _0810BD1A
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0x7
+ bls _0810BD3E
+ movs r0, 0x8
+_0810BD3E:
+ strb r0, [r1, 0x3]
+ ldrb r2, [r1, 0x1]
+ adds r0, r2, 0
+ adds r0, 0x8
+ ldrb r3, [r1, 0x2]
+ cmp r0, r3
+ ble _0810BD54
+ cmp r2, 0
+ beq _0810BD54
+ subs r0, r2, 0x1
+ strb r0, [r1, 0x1]
+_0810BD54:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BD5C: .4byte gUnknown_02039248
+_0810BD60: .4byte gSaveBlock1
+ thumb_func_end sub_810BD08
+
+ thumb_func_start sub_810BD64
+sub_810BD64: @ 810BD64
+ push {r4,r5,lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ ldr r5, _0810BDA4 @ =gUnknown_02039248
+ ldr r4, _0810BDA8 @ =gBGTilemapBuffers + 0x1000
+_0810BD70:
+ ldrb r0, [r5]
+ lsls r0, 1
+ adds r0, 0x1
+ lsls r0, 5
+ adds r1, r2, 0
+ adds r1, 0xF
+ adds r0, r1
+ lsls r0, 1
+ adds r0, r4
+ strh r3, [r0]
+ ldrb r0, [r5]
+ lsls r0, 6
+ adds r0, 0x40
+ adds r0, r1
+ lsls r0, 1
+ adds r0, r4
+ strh r3, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xD
+ bls _0810BD70
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BDA4: .4byte gUnknown_02039248
+_0810BDA8: .4byte gBGTilemapBuffers + 0x1000
+ thumb_func_end sub_810BD64
+
+ thumb_func_start sub_810BDAC
+sub_810BDAC: @ 810BDAC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810BDCC
+ ldr r0, _0810BDC4 @ =0x00001005
+ ldr r1, _0810BDC8 @ =0x00001014
+ bl sub_810BD64
+ b _0810BDD4
+ .align 2, 0
+_0810BDC4: .4byte 0x00001005
+_0810BDC8: .4byte 0x00001014
+_0810BDCC:
+ ldr r0, _0810BDE8 @ =0x00002005
+ ldr r1, _0810BDEC @ =0x00002014
+ bl sub_810BD64
+_0810BDD4:
+ ldr r0, _0810BDF0 @ =gUnknown_02039248
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0
+ beq _0810BDF4
+ movs r0, 0
+ movs r1, 0
+ bl sub_80F979C
+ b _0810BDFC
+ .align 2, 0
+_0810BDE8: .4byte 0x00002005
+_0810BDEC: .4byte 0x00002014
+_0810BDF0: .4byte gUnknown_02039248
+_0810BDF4:
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_80F979C
+_0810BDFC:
+ ldr r2, _0810BE1C @ =gUnknown_02039248
+ ldrb r0, [r2, 0x2]
+ ldrb r1, [r2, 0x3]
+ cmp r0, r1
+ bls _0810BE20
+ ldrb r0, [r2, 0x1]
+ ldrb r1, [r2, 0x3]
+ adds r0, r1
+ ldrb r2, [r2, 0x2]
+ cmp r0, r2
+ beq _0810BE20
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_80F979C
+ b _0810BE28
+ .align 2, 0
+_0810BE1C: .4byte gUnknown_02039248
+_0810BE20:
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80F979C
+_0810BE28:
+ movs r6, 0
+ ldr r7, _0810BE94 @ =gBGTilemapBuffers + 0x1000
+ movs r0, 0xF
+ mov r8, r0
+_0810BE30:
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __umodsi3
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 18
+ ldr r1, _0810BE98 @ =0x000001a1
+ adds r4, r1
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 1
+ adds r5, r4, r1
+ ldr r1, _0810BE9C @ =gUnknown_02039248
+ ldrb r2, [r1]
+ ldrb r0, [r1, 0x1]
+ adds r0, r2, r0
+ ldrb r1, [r1, 0x2]
+ cmp r0, r1
+ beq _0810BEB8
+ lsls r0, 3
+ ldr r1, _0810BEA0 @ =gSaveBlock1 + 0x7F8
+ adds r0, r1
+ adds r4, r6, 0x1
+ lsls r1, r4, 24
+ lsrs r1, 24
+ bl sub_810CA9C
+ lsls r0, 16
+ cmp r0, 0
+ ble _0810BEA4
+ lsls r1, r5, 1
+ adds r1, r7
+ lsls r2, r6, 12
+ adds r0, r2, 0
+ adds r0, 0x17
+ strh r0, [r1]
+ adds r0, r5, 0
+ adds r0, 0x20
+ lsls r0, 1
+ adds r0, r7
+ adds r2, 0x18
+ strh r2, [r0]
+ b _0810BECC
+ .align 2, 0
+_0810BE94: .4byte gBGTilemapBuffers + 0x1000
+_0810BE98: .4byte 0x000001a1
+_0810BE9C: .4byte gUnknown_02039248
+_0810BEA0: .4byte gSaveBlock1 + 0x7F8
+_0810BEA4:
+ lsls r0, r5, 1
+ adds r0, r7
+ mov r1, r8
+ strh r1, [r0]
+ adds r0, r5, 0
+ adds r0, 0x20
+ lsls r0, 1
+ adds r0, r7
+ strh r1, [r0]
+ b _0810BECC
+_0810BEB8:
+ lsls r0, r5, 1
+ adds r0, r7
+ mov r1, r8
+ strh r1, [r0]
+ adds r0, r5, 0
+ adds r0, 0x20
+ lsls r0, 1
+ adds r0, r7
+ strh r1, [r0]
+ adds r4, r6, 0x1
+_0810BECC:
+ lsls r0, r4, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x4
+ bls _0810BE30
+ ldr r0, _0810BF10 @ =gWindowConfig_81E6E34
+ bl BasicInitMenuWindow
+ ldr r0, _0810BF14 @ =gUnknown_02039248
+ ldrb r2, [r0]
+ ldrb r1, [r0, 0x1]
+ adds r2, r1
+ ldrb r0, [r0, 0x2]
+ cmp r2, r0
+ beq _0810BF20
+ ldr r4, _0810BF18 @ =gStringVar1
+ lsls r0, r2, 3
+ ldr r1, _0810BF1C @ =gSaveBlock1 + 0x7F8
+ adds r0, r1
+ bl sub_810C9E8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ movs r2, 0x10
+ movs r3, 0x1
+ bl sub_8072C14
+ adds r0, r4, 0
+ movs r1, 0xB
+ movs r2, 0x11
+ bl MenuPrint
+ b _0810BF2C
+ .align 2, 0
+_0810BF10: .4byte gWindowConfig_81E6E34
+_0810BF14: .4byte gUnknown_02039248
+_0810BF18: .4byte gStringVar1
+_0810BF1C: .4byte gSaveBlock1 + 0x7F8
+_0810BF20:
+ movs r0, 0xB
+ movs r1, 0x11
+ movs r2, 0xC
+ movs r3, 0x12
+ bl MenuZeroFillWindowRect
+_0810BF2C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810BDAC
+
+ thumb_func_start sub_810BF38
+sub_810BF38: @ 810BF38
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ ldr r2, _0810BF6C @ =gSprites
+ ldr r0, _0810BF70 @ =0x02000000
+ ldr r1, _0810BF74 @ =0x0001fffe
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, _0810BF78 @ =sub_810C8D4
+ str r1, [r0]
+ adds r0, r4, 0
+ bl sub_810BDAC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810BF6C: .4byte gSprites
+_0810BF70: .4byte 0x02000000
+_0810BF74: .4byte 0x0001fffe
+_0810BF78: .4byte sub_810C8D4
+ thumb_func_end sub_810BF38
+
+ thumb_func_start sub_810BF7C
+sub_810BF7C: @ 810BF7C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r4, r5, 0
+ ldr r0, _0810BFB8 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r3, 0x80
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0810BF94
+ b _0810C0B8
+_0810BF94:
+ ldr r2, _0810BFBC @ =gMain
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0810BFCE
+ ldr r4, _0810BFC0 @ =gUnknown_02039248
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0810BFC4
+ movs r0, 0x5
+ movs r1, 0x14
+ bl sub_810BD64
+ ldrb r0, [r4]
+ subs r0, 0x1
+ strb r0, [r4]
+ b _0810C00A
+ .align 2, 0
+_0810BFB8: .4byte gPaletteFade
+_0810BFBC: .4byte gMain
+_0810BFC0: .4byte gUnknown_02039248
+_0810BFC4:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0
+ beq _0810C0B8
+ subs r0, 0x1
+ b _0810C002
+_0810BFCE:
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C012
+ ldr r4, _0810BFF0 @ =gUnknown_02039248
+ ldrb r0, [r4]
+ ldrb r1, [r4, 0x3]
+ cmp r0, r1
+ beq _0810BFF4
+ movs r0, 0x5
+ movs r1, 0x14
+ bl sub_810BD64
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ b _0810C00A
+ .align 2, 0
+_0810BFF0: .4byte gUnknown_02039248
+_0810BFF4:
+ ldrb r1, [r4, 0x1]
+ ldrb r0, [r4]
+ adds r0, r1, r0
+ ldrb r2, [r4, 0x2]
+ cmp r0, r2
+ beq _0810C0B8
+ adds r0, r1, 0x1
+_0810C002:
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4, 0x1]
+ bl sub_810BB88
+_0810C00A:
+ movs r0, 0
+ bl sub_810BF38
+ b _0810C0B8
+_0810C012:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C05C
+ ldr r4, _0810C050 @ =gUnknown_02039248
+ ldrb r0, [r4, 0x1]
+ ldrb r1, [r4]
+ adds r0, r1
+ ldrb r1, [r4, 0x2]
+ cmp r0, r1
+ beq _0810C0B8
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ bl sub_810BDAC
+ ldr r1, _0810C054 @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r4, 0x1]
+ ldrb r2, [r4]
+ adds r1, r2
+ strh r1, [r0, 0x8]
+ ldr r1, _0810C058 @ =sub_810C0C8
+ str r1, [r0]
+ b _0810C0B8
+ .align 2, 0
+_0810C050: .4byte gUnknown_02039248
+_0810C054: .4byte gTasks
+_0810C058: .4byte sub_810C0C8
+_0810C05C:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C09C
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, _0810C088 @ =gUnknown_02039248
+ ldrb r1, [r0, 0x1]
+ ldrb r2, [r0]
+ adds r1, r2
+ ldrb r0, [r0, 0x2]
+ cmp r1, r0
+ bne _0810C094
+ ldr r1, _0810C08C @ =gScriptResult
+ ldr r2, _0810C090 @ =0x0000ffff
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r0, r5, 0
+ bl sub_810C31C
+ b _0810C0B8
+ .align 2, 0
+_0810C088: .4byte gUnknown_02039248
+_0810C08C: .4byte gScriptResult
+_0810C090: .4byte 0x0000ffff
+_0810C094:
+ adds r0, r5, 0
+ bl sub_810C368
+ b _0810C0B8
+_0810C09C:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C0B8
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _0810C0C0 @ =gScriptResult
+ ldr r2, _0810C0C4 @ =0x0000ffff
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r0, r4, 0
+ bl sub_810C31C
+_0810C0B8:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C0C0: .4byte gScriptResult
+_0810C0C4: .4byte 0x0000ffff
+ thumb_func_end sub_810BF7C
+
+ thumb_func_start sub_810C0C8
+sub_810C0C8: @ 810C0C8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r2, _0810C0F4 @ =gMain
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C110
+ ldr r4, _0810C0F8 @ =gUnknown_02039248
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0810C0FC
+ movs r0, 0x5
+ movs r1, 0x14
+ bl sub_810BD64
+ ldrb r0, [r4]
+ subs r0, 0x1
+ strb r0, [r4]
+ b _0810C158
+ .align 2, 0
+_0810C0F4: .4byte gMain
+_0810C0F8: .4byte gUnknown_02039248
+_0810C0FC:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0
+ beq _0810C1BA
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_810C1C8
+ ldrb r0, [r4, 0x1]
+ subs r0, 0x1
+ b _0810C150
+_0810C110:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C168
+ ldr r4, _0810C134 @ =gUnknown_02039248
+ ldrb r0, [r4]
+ ldrb r1, [r4, 0x3]
+ cmp r0, r1
+ beq _0810C138
+ movs r0, 0x5
+ movs r1, 0x14
+ bl sub_810BD64
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ b _0810C158
+ .align 2, 0
+_0810C134: .4byte gUnknown_02039248
+_0810C138:
+ ldrb r0, [r4, 0x1]
+ ldrb r1, [r4]
+ adds r0, r1
+ ldrb r1, [r4, 0x2]
+ cmp r0, r1
+ beq _0810C1BA
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_810C1C8
+ ldrb r0, [r4, 0x1]
+ adds r0, 0x1
+_0810C150:
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4, 0x1]
+ bl sub_810BB88
+_0810C158:
+ movs r0, 0x1
+ bl sub_810BF38
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_810C1C8
+ b _0810C1BA
+_0810C168:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0810C17A
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C190
+_0810C17A:
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_810C1C8
+ adds r0, r5, 0
+ bl sub_810C23C
+ b _0810C1AC
+_0810C190:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C1BA
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_810C1C8
+ movs r0, 0
+ bl sub_810BDAC
+_0810C1AC:
+ ldr r0, _0810C1C0 @ =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _0810C1C4 @ =sub_810BF7C
+ str r0, [r1]
+_0810C1BA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C1C0: .4byte gTasks
+_0810C1C4: .4byte sub_810BF7C
+ thumb_func_end sub_810C0C8
+
+ thumb_func_start sub_810C1C8
+sub_810C1C8: @ 810C1C8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r1, 24
+ ldr r6, _0810C22C @ =0x00001005
+ cmp r1, 0
+ bne _0810C1D8
+ movs r6, 0x5
+_0810C1D8:
+ ldr r1, _0810C230 @ =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ ldr r2, _0810C234 @ =gUnknown_02039248
+ ldrb r1, [r2, 0x1]
+ ldrh r0, [r0, 0x8]
+ subs r0, r1
+ lsls r1, r0, 16
+ lsrs r0, r1, 16
+ cmp r0, 0x8
+ bhi _0810C226
+ asrs r0, r1, 16
+ ldrb r2, [r2]
+ cmp r0, r2
+ beq _0810C226
+ movs r2, 0
+ lsls r0, 1
+ adds r1, r0, 0x1
+ lsls r5, r1, 5
+ ldr r3, _0810C238 @ =gBGTilemapBuffers + 0x1000
+ adds r0, 0x2
+ lsls r4, r0, 5
+_0810C208:
+ adds r0, r2, 0
+ adds r0, 0xF
+ adds r1, r5, r0
+ lsls r1, 1
+ adds r1, r3
+ strh r6, [r1]
+ adds r0, r4, r0
+ lsls r0, 1
+ adds r0, r3
+ strh r6, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xD
+ bls _0810C208
+_0810C226:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C22C: .4byte 0x00001005
+_0810C230: .4byte gTasks
+_0810C234: .4byte gUnknown_02039248
+_0810C238: .4byte gBGTilemapBuffers + 0x1000
+ thumb_func_end sub_810C1C8
+
+ thumb_func_start sub_810C23C
+sub_810C23C: @ 810C23C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r7, _0810C25C @ =gUnknown_02039248
+ ldrb r0, [r7]
+ ldrb r2, [r7, 0x1]
+ adds r0, r2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r2, [r7, 0x2]
+ cmp r0, r2
+ bne _0810C260
+ movs r0, 0
+ bl sub_810BDAC
+ b _0810C2A2
+ .align 2, 0
+_0810C25C: .4byte gUnknown_02039248
+_0810C260:
+ ldr r4, _0810C2A8 @ =gSaveBlock1
+ lsls r3, r0, 3
+ movs r0, 0xFF
+ lsls r0, 3
+ adds r4, r0
+ adds r3, r4
+ ldr r5, [r3]
+ ldr r6, [r3, 0x4]
+ ldr r0, _0810C2AC @ =gTasks
+ lsls r2, r1, 2
+ adds r2, r1
+ lsls r2, 3
+ adds r2, r0
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ lsls r0, 3
+ adds r0, r4
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [r3]
+ str r1, [r3, 0x4]
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ lsls r0, 3
+ adds r0, r4
+ str r5, [r0]
+ str r6, [r0, 0x4]
+ ldrb r0, [r7, 0x1]
+ bl sub_810BB88
+ movs r0, 0
+ bl sub_810BDAC
+_0810C2A2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C2A8: .4byte gSaveBlock1
+_0810C2AC: .4byte gTasks
+ thumb_func_end sub_810C23C
+
+ thumb_func_start sub_810C2B0
+sub_810C2B0: @ 810C2B0
+ push {lr}
+ movs r0, 0
+ bl DestroyVerticalScrollIndicator
+ movs r0, 0x1
+ bl DestroyVerticalScrollIndicator
+ bl BuyMenuFreeMemory
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810C2B0
+
+ thumb_func_start sub_810C2C8
+sub_810C2C8: @ 810C2C8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _0810C308 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0810C300
+ ldr r4, _0810C30C @ =gUnknown_02039244
+ ldrb r0, [r4]
+ cmp r0, 0x3
+ bne _0810C2E8
+ ldr r1, _0810C310 @ =gUnknown_0300485C
+ ldr r0, _0810C314 @ =sub_8080990
+ str r0, [r1]
+_0810C2E8:
+ bl sub_810C2B0
+ ldr r0, _0810C318 @ =gUnknown_083F7EA8
+ ldrb r1, [r4]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ bl SetMainCallback2
+ adds r0, r5, 0
+ bl DestroyTask
+_0810C300:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C308: .4byte gPaletteFade
+_0810C30C: .4byte gUnknown_02039244
+_0810C310: .4byte gUnknown_0300485C
+_0810C314: .4byte sub_8080990
+_0810C318: .4byte gUnknown_083F7EA8
+ thumb_func_end sub_810C2C8
+
+ thumb_func_start sub_810C31C
+sub_810C31C: @ 810C31C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ movs r5, 0
+ str r5, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _0810C358 @ =gUnknown_02039244
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bls _0810C342
+ ldr r0, _0810C35C @ =gScriptItemId
+ strh r5, [r0]
+_0810C342:
+ ldr r0, _0810C360 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _0810C364 @ =sub_810C2C8
+ str r0, [r1]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C358: .4byte gUnknown_02039244
+_0810C35C: .4byte gScriptItemId
+_0810C360: .4byte gTasks
+_0810C364: .4byte sub_810C2C8
+ thumb_func_end sub_810C31C
+
+ thumb_func_start sub_810C368
+sub_810C368: @ 810C368
+ push {r4-r6,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r4, 0
+ ldr r0, _0810C3E8 @ =gUnknown_02039244
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bls _0810C37C
+ movs r4, 0x2
+_0810C37C:
+ movs r0, 0
+ bl sub_80F98A4
+ movs r0, 0x1
+ bl sub_80F98A4
+ ldr r0, _0810C3EC @ =gWindowConfig_81E6E50
+ bl BasicInitMenuWindow
+ adds r1, r4, 0x4
+ movs r0, 0x7
+ movs r2, 0xD
+ movs r3, 0xB
+ bl MenuDrawTextWindow
+ adds r4, 0x5
+ ldr r5, _0810C3F0 @ =gUnknown_0203924C
+ ldrb r2, [r5]
+ ldr r3, _0810C3F4 @ =gUnknown_083F7EF4
+ ldr r0, _0810C3F8 @ =gUnknown_03000758
+ ldr r0, [r0]
+ str r0, [sp]
+ movs r0, 0x8
+ adds r1, r4, 0
+ bl PrintMenuItemsReordered
+ ldrb r3, [r5]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x5
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x8
+ adds r2, r4, 0
+ bl InitMenu
+ ldr r2, _0810C3FC @ =gScriptItemId
+ ldr r1, _0810C400 @ =gUnknown_02039248
+ ldrb r0, [r1]
+ ldrb r1, [r1, 0x1]
+ adds r0, r1
+ strh r0, [r2]
+ ldr r1, _0810C404 @ =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C408 @ =sub_810C40C
+ str r1, [r0]
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C3E8: .4byte gUnknown_02039244
+_0810C3EC: .4byte gWindowConfig_81E6E50
+_0810C3F0: .4byte gUnknown_0203924C
+_0810C3F4: .4byte gUnknown_083F7EF4
+_0810C3F8: .4byte gUnknown_03000758
+_0810C3FC: .4byte gScriptItemId
+_0810C400: .4byte gUnknown_02039248
+_0810C404: .4byte gTasks
+_0810C408: .4byte sub_810C40C
+ thumb_func_end sub_810C368
+
+ thumb_func_start sub_810C40C
+sub_810C40C: @ 810C40C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r4, r5, 0
+ ldr r2, _0810C43C @ =gMain
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C440
+ bl GetMenuCursorPos
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810C4BC
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ bl MoveMenuCursor
+ b _0810C4BC
+ .align 2, 0
+_0810C43C: .4byte gMain
+_0810C440:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C46C
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0810C468 @ =gUnknown_0203924C
+ ldrb r1, [r1]
+ subs r1, 0x1
+ cmp r0, r1
+ beq _0810C4BC
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ bl MoveMenuCursor
+ b _0810C4BC
+ .align 2, 0
+_0810C468: .4byte gUnknown_0203924C
+_0810C46C:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C4A8
+ movs r0, 0x5
+ bl PlaySE
+ ldr r4, _0810C4A0 @ =gUnknown_083F7EF4
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0810C4A4 @ =gUnknown_03000758
+ ldr r1, [r1]
+ adds r1, r0
+ ldrb r0, [r1]
+ lsls r0, 3
+ adds r4, 0x4
+ adds r0, r4
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl _call_via_r1
+ b _0810C4BC
+ .align 2, 0
+_0810C4A0: .4byte gUnknown_083F7EF4
+_0810C4A4: .4byte gUnknown_03000758
+_0810C4A8:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C4BC
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_810C748
+_0810C4BC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810C40C
+
+ thumb_func_start sub_810C4C4
+sub_810C4C4: @ 810C4C4
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _0810C4F8 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0810C4F0
+ bl sub_810C2B0
+ ldr r0, _0810C4FC @ =gScriptItemId
+ ldrh r0, [r0]
+ lsls r0, 3
+ ldr r1, _0810C500 @ =gSaveBlock1 + 0x7F8
+ adds r0, r1
+ ldr r1, _0810C504 @ =sub_810B96C
+ bl sub_8136130
+ adds r0, r4, 0
+ bl DestroyTask
+_0810C4F0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C4F8: .4byte gPaletteFade
+_0810C4FC: .4byte gScriptItemId
+_0810C500: .4byte gSaveBlock1 + 0x7F8
+_0810C504: .4byte sub_810B96C
+ thumb_func_end sub_810C4C4
+
+ thumb_func_start sub_810C508
+sub_810C508: @ 810C508
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _0810C538 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C53C @ =sub_810C4C4
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C538: .4byte gTasks
+_0810C53C: .4byte sub_810C4C4
+ thumb_func_end sub_810C508
+
+ thumb_func_start sub_810C540
+sub_810C540: @ 810C540
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50
+ bl BasicInitMenuWindow
+ bl sub_8072DEC
+ movs r0, 0x7
+ movs r1, 0x4
+ movs r2, 0xD
+ movs r3, 0xB
+ bl MenuZeroFillWindowRect
+ ldr r0, _0810C5A4 @ =gStringVar1
+ ldr r4, _0810C5A8 @ =gPokeblockNames
+ ldr r3, _0810C5AC @ =gSaveBlock1
+ ldr r2, _0810C5B0 @ =gUnknown_02039248
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3
+ movs r2, 0xFF
+ lsls r2, 3
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r4
+ ldr r1, [r1]
+ bl StringCopy
+ ldr r4, _0810C5B4 @ =gStringVar4
+ ldr r1, _0810C5B8 @ =gContestStatsText_ThrowAwayPrompt
+ adds r0, r4, 0
+ bl StringExpandPlaceholders
+ ldr r2, _0810C5BC @ =sub_810C5EC
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r3, 0
+ bl DisplayItemMessageOnField
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C5A0: .4byte gWindowConfig_81E6E50
+_0810C5A4: .4byte gStringVar1
+_0810C5A8: .4byte gPokeblockNames
+_0810C5AC: .4byte gSaveBlock1
+_0810C5B0: .4byte gUnknown_02039248
+_0810C5B4: .4byte gStringVar4
+_0810C5B8: .4byte gContestStatsText_ThrowAwayPrompt
+_0810C5BC: .4byte sub_810C5EC
+ thumb_func_end sub_810C540
+
+ thumb_func_start sub_810C5C0
+sub_810C5C0: @ 810C5C0
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80F979C
+ ldr r1, _0810C5E4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C5E8 @ =sub_810C540
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C5E4: .4byte gTasks
+_0810C5E8: .4byte sub_810C540
+ thumb_func_end sub_810C5C0
+
+ thumb_func_start sub_810C5EC
+sub_810C5EC: @ 810C5EC
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x7
+ movs r1, 0x6
+ movs r2, 0x1
+ bl DisplayYesNoMenu
+ ldr r1, _0810C60C @ =gUnknown_083F7F24
+ adds r0, r4, 0
+ bl sub_80F914C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C60C: .4byte gUnknown_083F7F24
+ thumb_func_end sub_810C5EC
+
+ thumb_func_start sub_810C610
+sub_810C610: @ 810C610
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x7
+ movs r1, 0x6
+ movs r2, 0xD
+ movs r3, 0xB
+ bl MenuZeroFillWindowRect
+ ldr r1, _0810C658 @ =gUnknown_02039248
+ ldrb r0, [r1, 0x1]
+ ldrb r1, [r1]
+ adds r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_810CA6C
+ ldr r5, _0810C65C @ =gStringVar4
+ ldr r1, _0810C660 @ =gContestStatsText_WasThrownAway
+ adds r0, r5, 0
+ bl StringExpandPlaceholders
+ ldr r2, _0810C664 @ =sub_810C704
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0
+ bl DisplayItemMessageOnField
+ bl sub_810BC98
+ bl sub_810BD08
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C658: .4byte gUnknown_02039248
+_0810C65C: .4byte gStringVar4
+_0810C660: .4byte gContestStatsText_WasThrownAway
+_0810C664: .4byte sub_810C704
+ thumb_func_end sub_810C610
+
+ thumb_func_start sub_810C668
+sub_810C668: @ 810C668
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0
+ bl sub_80F98DC
+ movs r0, 0x1
+ bl sub_80F98DC
+ ldr r2, _0810C6CC @ =gUnknown_02039248
+ ldrb r0, [r2, 0x2]
+ ldrb r1, [r2, 0x3]
+ cmp r0, r1
+ bls _0810C698
+ ldrb r0, [r2, 0x1]
+ ldrb r1, [r2, 0x3]
+ adds r0, r1
+ ldrb r2, [r2, 0x2]
+ cmp r0, r2
+ beq _0810C698
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_80F979C
+_0810C698:
+ ldr r0, _0810C6D0 @ =gWindowConfig_81E6E50
+ bl BasicInitMenuWindow
+ movs r0, 0x7
+ movs r1, 0x6
+ movs r2, 0xD
+ movs r3, 0xB
+ bl MenuZeroFillWindowRect
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ ldr r1, _0810C6D4 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C6D8 @ =sub_810BF7C
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C6CC: .4byte gUnknown_02039248
+_0810C6D0: .4byte gWindowConfig_81E6E50
+_0810C6D4: .4byte gTasks
+_0810C6D8: .4byte sub_810BF7C
+ thumb_func_end sub_810C668
+
+ thumb_func_start sub_810C6DC
+sub_810C6DC: @ 810C6DC
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _0810C700 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0810C6F6
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0810C6FC
+_0810C6F6:
+ adds r0, r2, 0
+ bl sub_810C668
+_0810C6FC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C700: .4byte gMain
+ thumb_func_end sub_810C6DC
+
+ thumb_func_start sub_810C704
+sub_810C704: @ 810C704
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _0810C738 @ =gWindowConfig_81E6E34
+ bl BasicInitMenuWindow
+ ldr r0, _0810C73C @ =gUnknown_02039248
+ ldrb r0, [r0, 0x1]
+ bl sub_810BC84
+ movs r0, 0x1
+ movs r1, 0x1
+ bl sub_80F979C
+ ldr r1, _0810C740 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C744 @ =sub_810C6DC
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C738: .4byte gWindowConfig_81E6E34
+_0810C73C: .4byte gUnknown_02039248
+_0810C740: .4byte gTasks
+_0810C744: .4byte sub_810C6DC
+ thumb_func_end sub_810C704
+
+ thumb_func_start sub_810C748
+sub_810C748: @ 810C748
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0
+ bl sub_80F98DC
+ movs r0, 0x1
+ bl sub_80F98DC
+ bl sub_8072DEC
+ movs r0, 0x7
+ movs r1, 0x4
+ movs r2, 0xD
+ movs r3, 0xB
+ bl MenuZeroFillWindowRect
+ ldr r1, _0810C780 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C784 @ =sub_810BF7C
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C780: .4byte gTasks
+_0810C784: .4byte sub_810BF7C
+ thumb_func_end sub_810C748
+
+ thumb_func_start sub_810C788
+sub_810C788: @ 810C788
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, _0810C834 @ =gEnemyParty
+ bl GetNature
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r7, _0810C838 @ =gScriptItemId
+ ldrh r1, [r7]
+ lsls r1, 3
+ ldr r5, _0810C83C @ =gSaveBlock1 + 0x7F8
+ adds r1, r5
+ bl sub_810CAE4
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, _0810C840 @ =gUnknown_030041C0
+ ldr r2, _0810C844 @ =gPokeblockNames
+ ldr r1, _0810C848 @ =0xfffff808
+ adds r5, r1
+ ldrh r1, [r7]
+ lsls r1, 3
+ adds r1, r5
+ movs r6, 0xFF
+ lsls r6, 3
+ adds r1, r6
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl StringCopy
+ ldrb r0, [r7]
+ bl sub_810CA6C
+ ldrh r0, [r7]
+ lsls r0, 3
+ adds r0, r5
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r0, 8
+ strh r0, [r7]
+ lsls r4, 16
+ asrs r4, 16
+ cmp r4, 0
+ bne _0810C7F4
+ adds r0, 0x1
+ strh r0, [r7]
+_0810C7F4:
+ cmp r4, 0
+ ble _0810C7FE
+ ldrh r0, [r7]
+ adds r0, 0x2
+ strh r0, [r7]
+_0810C7FE:
+ cmp r4, 0
+ bge _0810C808
+ ldrh r0, [r7]
+ adds r0, 0x3
+ strh r0, [r7]
+_0810C808:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _0810C84C @ =gTasks
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C850 @ =sub_810C2C8
+ str r1, [r0]
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C834: .4byte gEnemyParty
+_0810C838: .4byte gScriptItemId
+_0810C83C: .4byte gSaveBlock1 + 0x7F8
+_0810C840: .4byte gUnknown_030041C0
+_0810C844: .4byte gPokeblockNames
+_0810C848: .4byte 0xfffff808
+_0810C84C: .4byte gTasks
+_0810C850: .4byte sub_810C2C8
+ thumb_func_end sub_810C788
+
+ thumb_func_start sub_810C854
+sub_810C854: @ 810C854
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r4, _0810C8B8 @ =gScriptItemId
+ ldrb r0, [r4]
+ bl SafariZoneActivatePokeblockFeeder
+ ldr r0, _0810C8BC @ =gStringVar1
+ ldr r3, _0810C8C0 @ =gPokeblockNames
+ ldr r2, _0810C8C4 @ =gSaveBlock1
+ ldrh r1, [r4]
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0xFF
+ lsls r2, 3
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r3
+ ldr r1, [r1]
+ bl StringCopy
+ ldr r1, _0810C8C8 @ =gScriptResult
+ ldrh r0, [r4]
+ strh r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_810CA6C
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _0810C8CC @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810C8D0 @ =sub_810C2C8
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C8B8: .4byte gScriptItemId
+_0810C8BC: .4byte gStringVar1
+_0810C8C0: .4byte gPokeblockNames
+_0810C8C4: .4byte gSaveBlock1
+_0810C8C8: .4byte gScriptResult
+_0810C8CC: .4byte gTasks
+_0810C8D0: .4byte sub_810C2C8
+ thumb_func_end sub_810C854
+
+ thumb_func_start sub_810C8D4
+sub_810C8D4: @ 810C8D4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ ble _0810C8E4
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+_0810C8E4:
+ movs r0, 0x2E
+ ldrsh r5, [r4, r0]
+ cmp r5, 0
+ beq _0810C8F2
+ cmp r5, 0x1
+ beq _0810C918
+ b _0810C944
+_0810C8F2:
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ ldr r0, _0810C914 @ =gUnknown_083F7F70
+ str r0, [r4, 0x10]
+ adds r0, r4, 0
+ bl InitSpriteAffineAnim
+ movs r0, 0x1
+ strh r0, [r4, 0x2E]
+ strh r5, [r4, 0x30]
+ b _0810C944
+ .align 2, 0
+_0810C914: .4byte gUnknown_083F7F70
+_0810C918:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ movs r2, 0
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xB
+ ble _0810C944
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x4
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x1]
+ strh r2, [r4, 0x2E]
+ strh r2, [r4, 0x30]
+ ldrb r0, [r4, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ ldr r0, _0810C94C @ =SpriteCallbackDummy
+ str r0, [r4, 0x1C]
+_0810C944:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810C94C: .4byte SpriteCallbackDummy
+ thumb_func_end sub_810C8D4
+
+ thumb_func_start sub_810C950
+sub_810C950: @ 810C950
+ lsls r0, 24
+ ldr r1, _0810C988 @ =gSaveBlock1
+ lsrs r0, 21
+ adds r0, r1
+ movs r2, 0xFF
+ lsls r2, 3
+ adds r1, r0, r2
+ movs r2, 0
+ strb r2, [r1]
+ ldr r3, _0810C98C @ =0x000007f9
+ adds r1, r0, r3
+ strb r2, [r1]
+ adds r3, 0x1
+ adds r1, r0, r3
+ strb r2, [r1]
+ adds r3, 0x1
+ adds r1, r0, r3
+ strb r2, [r1]
+ adds r3, 0x1
+ adds r1, r0, r3
+ strb r2, [r1]
+ adds r3, 0x1
+ adds r1, r0, r3
+ strb r2, [r1]
+ ldr r1, _0810C990 @ =0x000007fe
+ adds r0, r1
+ strb r2, [r0]
+ bx lr
+ .align 2, 0
+_0810C988: .4byte gSaveBlock1
+_0810C98C: .4byte 0x000007f9
+_0810C990: .4byte 0x000007fe
+ thumb_func_end sub_810C950
+
+ thumb_func_start sub_810C994
+sub_810C994: @ 810C994
+ push {r4,lr}
+ movs r4, 0
+_0810C998:
+ adds r0, r4, 0
+ bl sub_810C950
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x27
+ bls _0810C998
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810C994
+
+ thumb_func_start sub_810C9B0
+sub_810C9B0: @ 810C9B0
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r1, 0x1
+ bl sub_810CA9C
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r1, 0x1
+_0810C9C0:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_810CA9C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ bcs _0810C9D8
+ adds r5, r0, 0
+_0810C9D8:
+ adds r1, r4, 0
+ cmp r1, 0x4
+ bls _0810C9C0
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810C9B0
+
+ thumb_func_start sub_810C9E8
+sub_810C9E8: @ 810C9E8
+ push {lr}
+ movs r1, 0x6
+ bl sub_810CA9C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x63
+ bls _0810C9FA
+ movs r0, 0x63
+_0810C9FA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810C9E8
+
+ thumb_func_start sub_810CA00
+sub_810CA00: @ 810CA00
+ push {lr}
+ movs r1, 0
+ ldr r3, _0810CA1C @ =gSaveBlock1
+ movs r2, 0xFF
+ lsls r2, 3
+_0810CA0A:
+ lsls r0, r1, 3
+ adds r0, r3
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0810CA20
+ lsls r0, r1, 24
+ asrs r0, 24
+ b _0810CA2E
+ .align 2, 0
+_0810CA1C: .4byte gSaveBlock1
+_0810CA20:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x27
+ bls _0810CA0A
+ movs r0, 0x1
+ negs r0, r0
+_0810CA2E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810CA00
+
+ thumb_func_start sub_810CA34
+sub_810CA34: @ 810CA34
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_810CA00
+ lsls r0, 24
+ asrs r2, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _0810CA64
+ ldr r0, _0810CA60 @ =gSaveBlock1
+ lsls r2, 3
+ movs r1, 0xFF
+ lsls r1, 3
+ adds r0, r1
+ adds r2, r0
+ ldr r0, [r4]
+ ldr r1, [r4, 0x4]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ movs r0, 0x1
+ b _0810CA66
+ .align 2, 0
+_0810CA60: .4byte gSaveBlock1
+_0810CA64:
+ movs r0, 0
+_0810CA66:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810CA34
+
+ thumb_func_start sub_810CA6C
+sub_810CA6C: @ 810CA6C
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, _0810CA90 @ =gSaveBlock1
+ lsls r0, r2, 3
+ adds r0, r1
+ movs r1, 0xFF
+ lsls r1, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0810CA94
+ adds r0, r2, 0
+ bl sub_810C950
+ movs r0, 0x1
+ b _0810CA96
+ .align 2, 0
+_0810CA90: .4byte gSaveBlock1
+_0810CA94:
+ movs r0, 0
+_0810CA96:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810CA6C
+
+ thumb_func_start sub_810CA9C
+sub_810CA9C: @ 810CA9C
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ adds r2, r1, 0
+ cmp r1, 0
+ bne _0810CAAC
+ ldrb r0, [r0]
+ b _0810CADE
+_0810CAAC:
+ cmp r1, 0x1
+ bne _0810CAB4
+ ldrb r0, [r0, 0x1]
+ b _0810CADE
+_0810CAB4:
+ cmp r1, 0x2
+ bne _0810CABC
+ ldrb r0, [r0, 0x2]
+ b _0810CADE
+_0810CABC:
+ cmp r1, 0x3
+ bne _0810CAC4
+ ldrb r0, [r0, 0x3]
+ b _0810CADE
+_0810CAC4:
+ cmp r1, 0x4
+ bne _0810CACC
+ ldrb r0, [r0, 0x4]
+ b _0810CADE
+_0810CACC:
+ cmp r1, 0x5
+ bne _0810CAD4
+ ldrb r0, [r0, 0x5]
+ b _0810CADE
+_0810CAD4:
+ cmp r2, 0x6
+ beq _0810CADC
+ movs r0, 0
+ b _0810CADE
+_0810CADC:
+ ldrb r0, [r0, 0x6]
+_0810CADE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810CA9C
+
+ thumb_func_start sub_810CAE4
+sub_810CAE4: @ 810CAE4
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ mov r8, r1
+ lsls r0, 24
+ lsrs r0, 24
+ movs r6, 0
+ movs r4, 0
+ ldr r1, _0810CB40 @ =gUnknown_083F7E28
+ mov r9, r1
+ lsls r1, r0, 2
+ adds r7, r1, r0
+_0810CAFE:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r0, r8
+ adds r1, r5, 0
+ bl sub_810CA9C
+ lsls r0, 16
+ asrs r1, r0, 16
+ cmp r1, 0
+ ble _0810CB2A
+ adds r0, r7, r4
+ add r0, r9
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ muls r1, r0
+ lsls r0, r6, 16
+ asrs r0, 16
+ adds r0, r1
+ lsls r0, 16
+ lsrs r6, r0, 16
+_0810CB2A:
+ adds r4, r5, 0
+ cmp r4, 0x4
+ bls _0810CAFE
+ lsls r0, r6, 16
+ asrs r0, 16
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810CB40: .4byte gUnknown_083F7E28
+ thumb_func_end sub_810CAE4
+
+ thumb_func_start sub_810CB44
+sub_810CB44: @ 810CB44
+ push {r4,lr}
+ adds r4, r1, 0
+ movs r1, 0
+ bl sub_810CA9C
+ lsls r0, 24
+ ldr r1, _0810CB64 @ =gPokeblockNames
+ lsrs r0, 22
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl StringCopy
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CB64: .4byte gPokeblockNames
+ thumb_func_end sub_810CB44
+
+ thumb_func_start sub_810CB68
+sub_810CB68: @ 810CB68
+ push {r4-r7,lr}
+ adds r6, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ ldr r7, _0810CB98 @ =gPokeblockNames
+_0810CB74:
+ lsls r1, r4, 3
+ ldr r0, _0810CB9C @ =gUnknown_083F7F9C
+ adds r1, r0
+ adds r0, r5, 0
+ bl sub_810CAE4
+ lsls r0, 16
+ cmp r0, 0
+ ble _0810CBA0
+ adds r0, r4, 0x1
+ lsls r0, 2
+ adds r0, r7
+ ldr r1, [r0]
+ adds r0, r6, 0
+ bl StringCopy
+ movs r0, 0x1
+ b _0810CBAC
+ .align 2, 0
+_0810CB98: .4byte gPokeblockNames
+_0810CB9C: .4byte gUnknown_083F7F9C
+_0810CBA0:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _0810CB74
+ movs r0, 0
+_0810CBAC:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810CB68
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s
new file mode 100644
index 000000000..fafc452a3
--- /dev/null
+++ b/asm/pokeblock_feed.s
@@ -0,0 +1,1836 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8147890
+sub_8147890: @ 8147890
+ push {lr}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl RunTasks
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8147890
+
+ thumb_func_start sub_81478A8
+sub_81478A8: @ 81478A8
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81478A8
+
+ thumb_func_start sub_81478BC
+sub_81478BC: @ 81478BC
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _081478D8 @ =gMain
+ ldr r1, _081478DC @ =0x0000043c
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0xD
+ bls _081478CE
+ b _08147AD0
+_081478CE:
+ lsls r0, 2
+ ldr r1, _081478E0 @ =_081478E4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081478D8: .4byte gMain
+_081478DC: .4byte 0x0000043c
+_081478E0: .4byte _081478E4
+ .align 2, 0
+_081478E4:
+ .4byte _0814791C
+ .4byte _08147938
+ .4byte _0814794C
+ .4byte _08147960
+ .4byte _08147966
+ .4byte _08147980
+ .4byte _0814798C
+ .4byte _081479B8
+ .4byte _081479DC
+ .4byte _081479F4
+ .4byte _08147A20
+ .4byte _08147A3C
+ .4byte _08147A5C
+ .4byte _08147A8C
+_0814791C:
+ bl sub_80F9438
+ bl sub_80F9368
+ bl sub_8147B04
+ ldr r1, _08147930 @ =gMain
+ ldr r2, _08147934 @ =0x0000043c
+ adds r1, r2
+ b _08147A4A
+ .align 2, 0
+_08147930: .4byte gMain
+_08147934: .4byte 0x0000043c
+_08147938:
+ bl ResetPaletteFade
+ ldr r2, _08147948 @ =gPaletteFade
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x8]
+ b _08147A44
+ .align 2, 0
+_08147948: .4byte gPaletteFade
+_0814794C:
+ bl ResetSpriteData
+ ldr r1, _08147958 @ =gMain
+ ldr r2, _0814795C @ =0x0000043c
+ adds r1, r2
+ b _08147A4A
+ .align 2, 0
+_08147958: .4byte gMain
+_0814795C: .4byte 0x0000043c
+_08147960:
+ bl FreeAllSpritePalettes
+ b _08147A44
+_08147966:
+ ldr r0, _08147974 @ =gWindowConfig_81E6E50
+ bl SetUpWindowConfig
+ ldr r1, _08147978 @ =gMain
+ ldr r2, _0814797C @ =0x0000043c
+ adds r1, r2
+ b _08147A4A
+ .align 2, 0
+_08147974: .4byte gWindowConfig_81E6E50
+_08147978: .4byte gMain
+_0814797C: .4byte 0x0000043c
+_08147980:
+ ldr r0, _08147988 @ =gWindowConfig_81E6E50
+ bl MultistepInitMenuWindowBegin
+ b _08147A44
+ .align 2, 0
+_08147988: .4byte gWindowConfig_81E6E50
+_0814798C:
+ bl MultistepInitMenuWindowContinue
+ cmp r0, 0
+ bne _08147996
+ b _08147AD0
+_08147996:
+ ldr r0, _081479A8 @ =0x02000000
+ ldr r1, _081479AC @ =0x0001ffff
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r1, _081479B0 @ =gMain
+ ldr r2, _081479B4 @ =0x0000043c
+ adds r1, r2
+ b _08147A4A
+ .align 2, 0
+_081479A8: .4byte 0x02000000
+_081479AC: .4byte 0x0001ffff
+_081479B0: .4byte gMain
+_081479B4: .4byte 0x0000043c
+_081479B8:
+ ldr r0, _081479D4 @ =gUnknown_02039310
+ ldrb r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _081479D8 @ =gPlayerParty
+ adds r0, r1
+ bl sub_8147B20
+ lsls r0, 24
+ cmp r0, 0
+ bne _081479D0
+ b _08147AD0
+_081479D0:
+ b _08147A44
+ .align 2, 0
+_081479D4: .4byte gUnknown_02039310
+_081479D8: .4byte gPlayerParty
+_081479DC:
+ bl sub_81480B4
+ ldr r1, _081479EC @ =0x02000000
+ ldr r2, _081479F0 @ =0x0001fffd
+ adds r1, r2
+ strb r0, [r1]
+ b _08147A44
+ .align 2, 0
+_081479EC: .4byte 0x02000000
+_081479F0: .4byte 0x0001fffd
+_081479F4:
+ ldr r0, _08147A10 @ =gUnknown_02039310
+ ldrb r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08147A14 @ =gPlayerParty
+ adds r0, r1
+ bl sub_8147F84
+ ldr r1, _08147A18 @ =0x02000000
+ ldr r2, _08147A1C @ =0x0001fffe
+ adds r1, r2
+ strb r0, [r1]
+ b _08147A44
+ .align 2, 0
+_08147A10: .4byte gUnknown_02039310
+_08147A14: .4byte gPlayerParty
+_08147A18: .4byte 0x02000000
+_08147A1C: .4byte 0x0001fffe
+_08147A20:
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuDrawTextWindow
+ ldr r1, _08147A34 @ =gMain
+ ldr r2, _08147A38 @ =0x0000043c
+ adds r1, r2
+ b _08147A4A
+ .align 2, 0
+_08147A34: .4byte gMain
+_08147A38: .4byte 0x0000043c
+_08147A3C:
+ bl sub_8055870
+ cmp r0, 0x1
+ beq _08147AD0
+_08147A44:
+ ldr r1, _08147A54 @ =gMain
+ ldr r0, _08147A58 @ =0x0000043c
+ adds r1, r0
+_08147A4A:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08147AD0
+ .align 2, 0
+_08147A54: .4byte gMain
+_08147A58: .4byte 0x0000043c
+_08147A5C:
+ ldr r3, _08147AB0 @ =0x04000208
+ ldrh r2, [r3]
+ movs r0, 0
+ strh r0, [r3]
+ ldr r4, _08147AB4 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _08147AB8 @ =REG_DISPSTAT
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _08147ABC @ =sub_81478A8
+ bl SetVBlankCallback
+ ldr r1, _08147AC0 @ =gMain
+ ldr r2, _08147AC4 @ =0x0000043c
+ adds r1, r2
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_08147A8C:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r2, _08147AC8 @ =gPaletteFade
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ ldr r0, _08147ACC @ =sub_8147890
+ bl SetMainCallback2
+ movs r0, 0x1
+ b _08147AD2
+ .align 2, 0
+_08147AB0: .4byte 0x04000208
+_08147AB4: .4byte 0x04000200
+_08147AB8: .4byte REG_DISPSTAT
+_08147ABC: .4byte sub_81478A8
+_08147AC0: .4byte gMain
+_08147AC4: .4byte 0x0000043c
+_08147AC8: .4byte gPaletteFade
+_08147ACC: .4byte sub_8147890
+_08147AD0:
+ movs r0, 0
+_08147AD2:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81478BC
+
+ thumb_func_start sub_8147ADC
+sub_8147ADC: @ 8147ADC
+ push {lr}
+_08147ADE:
+ bl sub_81478BC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08147AF2
+ movs r0, 0x1
+ bl sub_8147DDC
+ b _08147AFE
+_08147AF2:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08147ADE
+_08147AFE:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8147ADC
+
+ thumb_func_start sub_8147B04
+sub_8147B04: @ 8147B04
+ ldr r1, _08147B18 @ =REG_BG1CNT
+ ldr r2, _08147B1C @ =0x00001d02
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xA
+ movs r2, 0x9A
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_08147B18: .4byte REG_BG1CNT
+_08147B1C: .4byte 0x00001d02
+ thumb_func_end sub_8147B04
+
+ thumb_func_start sub_8147B20
+sub_8147B20: @ 8147B20
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ ldr r0, _08147B40 @ =0x02000000
+ ldr r1, _08147B44 @ =0x0001ffff
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x8
+ bls _08147B34
+ b _08147C84
+_08147B34:
+ lsls r0, 2
+ ldr r1, _08147B48 @ =_08147B4C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08147B40: .4byte 0x02000000
+_08147B44: .4byte 0x0001ffff
+_08147B48: .4byte _08147B4C
+ .align 2, 0
+_08147B4C:
+ .4byte _08147B70
+ .4byte _08147BB8
+ .4byte _08147BF0
+ .4byte _08147BFC
+ .4byte _08147C08
+ .4byte _08147C14
+ .4byte _08147C2C
+ .4byte _08147C38
+ .4byte _08147C60
+_08147B70:
+ adds r0, r4, 0
+ movs r1, 0x41
+ bl GetMonData
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ adds r6, r0, 0
+ lsls r0, r5, 3
+ ldr r1, _08147BAC @ =gMonFrontPicTable
+ adds r0, r1
+ ldr r1, _08147BB0 @ =gMonFrontPicCoords
+ lsls r2, r5, 2
+ adds r2, r1
+ ldrb r1, [r2]
+ ldrb r2, [r2, 0x1]
+ movs r3, 0x80
+ lsls r3, 18
+ ldr r4, _08147BB4 @ =gUnknown_081FAF4C
+ ldr r4, [r4, 0x4]
+ str r4, [sp]
+ str r5, [sp, 0x4]
+ str r6, [sp, 0x8]
+ bl sub_800D334
+ b _08147C40
+ .align 2, 0
+_08147BAC: .4byte gMonFrontPicTable
+_08147BB0: .4byte gMonFrontPicCoords
+_08147BB4: .4byte gUnknown_081FAF4C
+_08147BB8:
+ adds r0, r4, 0
+ movs r1, 0x41
+ bl GetMonData
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ adds r6, r0, 0
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl GetMonData
+ adds r1, r0, 0
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl sub_80409C8
+ adds r4, r0, 0
+ bl LoadCompressedObjectPalette
+ ldrh r0, [r4, 0x4]
+ movs r1, 0x1
+ bl GetMonSpriteTemplate_803C56C
+ b _08147C40
+_08147BF0:
+ ldr r0, _08147BF8 @ =gUnknown_083F7F74
+ bl LoadCompressedObjectPic
+ b _08147C40
+ .align 2, 0
+_08147BF8: .4byte gUnknown_083F7F74
+_08147BFC:
+ ldr r0, _08147C04 @ =gUnknown_083F7F7C
+ bl LoadCompressedObjectPalette
+ b _08147C40
+ .align 2, 0
+_08147C04: .4byte gUnknown_083F7F7C
+_08147C08:
+ ldr r0, _08147C10 @ =gUnknown_084121DC
+ bl LoadCompressedObjectPic
+ b _08147C40
+ .align 2, 0
+_08147C10: .4byte gUnknown_084121DC
+_08147C14:
+ ldr r0, _08147C24 @ =gScriptItemId
+ ldrb r0, [r0]
+ bl sub_8147C90
+ ldr r0, _08147C28 @ =gUnknown_02039350
+ bl LoadCompressedObjectPalette
+ b _08147C40
+ .align 2, 0
+_08147C24: .4byte gScriptItemId
+_08147C28: .4byte gUnknown_02039350
+_08147C2C:
+ ldr r0, _08147C34 @ =gBattleTerrainTiles_Building
+ movs r1, 0xC0
+ lsls r1, 19
+ b _08147C3C
+ .align 2, 0
+_08147C34: .4byte gBattleTerrainTiles_Building
+_08147C38:
+ ldr r0, _08147C50 @ =gUnknown_08E782FC
+ ldr r1, _08147C54 @ =0x0600e800
+_08147C3C:
+ bl LZDecompressVram
+_08147C40:
+ ldr r1, _08147C58 @ =0x02000000
+ ldr r0, _08147C5C @ =0x0001ffff
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08147C84
+ .align 2, 0
+_08147C50: .4byte gUnknown_08E782FC
+_08147C54: .4byte 0x0600e800
+_08147C58: .4byte 0x02000000
+_08147C5C: .4byte 0x0001ffff
+_08147C60:
+ ldr r0, _08147C78 @ =gBattleTerrainPalette_BattleTower
+ movs r1, 0x20
+ movs r2, 0x60
+ bl LoadCompressedPalette
+ ldr r0, _08147C7C @ =0x02000000
+ ldr r1, _08147C80 @ =0x0001ffff
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x1
+ b _08147C86
+ .align 2, 0
+_08147C78: .4byte gBattleTerrainPalette_BattleTower
+_08147C7C: .4byte 0x02000000
+_08147C80: .4byte 0x0001ffff
+_08147C84:
+ movs r0, 0
+_08147C86:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8147B20
+
+ thumb_func_start sub_8147C90
+sub_8147C90: @ 8147C90
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 21
+ ldr r1, _08147CB8 @ =gSaveBlock1 + 0x7F8
+ adds r0, r1
+ movs r1, 0
+ bl sub_810CA9C
+ lsls r0, 24
+ ldr r2, _08147CBC @ =gUnknown_02039350
+ ldr r1, _08147CC0 @ =gUnknown_084120A4
+ lsrs r0, 22
+ subs r0, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r0, _08147CC4 @ =0x000039e2
+ strh r0, [r2, 0x4]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08147CB8: .4byte gSaveBlock1 + 0x7F8
+_08147CBC: .4byte gUnknown_02039350
+_08147CC0: .4byte gUnknown_084120A4
+_08147CC4: .4byte 0x000039e2
+ thumb_func_end sub_8147C90
+
+ thumb_func_start sub_8147CC8
+sub_8147CC8: @ 8147CC8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08147D00 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08147CDC
+ b _08147DCE
+_08147CDC:
+ ldr r0, _08147D04 @ =gTasks
+ lsls r2, r4, 2
+ adds r1, r2, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0x8
+ ldrsh r3, [r1, r0]
+ ldr r0, _08147D08 @ =0x0000010d
+ adds r5, r2, 0
+ cmp r3, r0
+ beq _08147D50
+ cmp r3, r0
+ bgt _08147D0C
+ cmp r3, 0
+ beq _08147D20
+ cmp r3, 0xFF
+ beq _08147D38
+ b _08147D8C
+ .align 2, 0
+_08147D00: .4byte gPaletteFade
+_08147D04: .4byte gTasks
+_08147D08: .4byte 0x0000010d
+_08147D0C:
+ ldr r0, _08147D1C @ =0x00000119
+ cmp r3, r0
+ beq _08147D68
+ adds r0, 0x10
+ cmp r3, r0
+ beq _08147D80
+ b _08147D8C
+ .align 2, 0
+_08147D1C: .4byte 0x00000119
+_08147D20:
+ ldr r0, _08147D30 @ =gUnknown_03005F3C
+ strb r3, [r0]
+ ldr r0, _08147D34 @ =gUnknown_03005F94
+ strh r3, [r0]
+ bl sub_81481DC
+ b _08147D8C
+ .align 2, 0
+_08147D30: .4byte gUnknown_03005F3C
+_08147D34: .4byte gUnknown_03005F94
+_08147D38:
+ ldr r0, _08147D48 @ =0x02000000
+ ldr r2, _08147D4C @ =0x0001fffd
+ adds r0, r2
+ ldrb r0, [r0]
+ ldrb r1, [r1, 0xA]
+ bl sub_8148108
+ b _08147D8C
+ .align 2, 0
+_08147D48: .4byte 0x02000000
+_08147D4C: .4byte 0x0001fffd
+_08147D50:
+ bl sub_814817C
+ ldr r1, _08147D60 @ =0x02000000
+ ldr r2, _08147D64 @ =0x0001fffc
+ adds r1, r2
+ strb r0, [r1]
+ b _08147D8C
+ .align 2, 0
+_08147D60: .4byte 0x02000000
+_08147D64: .4byte 0x0001fffc
+_08147D68:
+ ldr r0, _08147D78 @ =0x02000000
+ ldr r1, _08147D7C @ =0x0001fffe
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8148044
+ b _08147D8C
+ .align 2, 0
+_08147D78: .4byte 0x02000000
+_08147D7C: .4byte 0x0001fffe
+_08147D80:
+ ldr r0, _08147D88 @ =sub_8147E40
+ str r0, [r1]
+ b _08147DCE
+ .align 2, 0
+_08147D88: .4byte sub_8147E40
+_08147D8C:
+ ldr r0, _08147DA0 @ =gUnknown_03005F94
+ ldr r1, _08147DA4 @ =gUnknown_03005F34
+ ldrh r2, [r0]
+ ldrh r0, [r1]
+ cmp r2, r0
+ bcs _08147DA8
+ bl sub_814825C
+ b _08147DB8
+ .align 2, 0
+_08147DA0: .4byte gUnknown_03005F94
+_08147DA4: .4byte gUnknown_03005F34
+_08147DA8:
+ cmp r2, r0
+ bne _08147DB8
+ ldr r0, _08147DD4 @ =gTasks
+ adds r1, r5, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0xFE
+ strh r0, [r1, 0x8]
+_08147DB8:
+ ldr r1, _08147DD8 @ =gUnknown_03005F94
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ ldr r0, _08147DD4 @ =gTasks
+ adds r1, r5, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+_08147DCE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08147DD4: .4byte gTasks
+_08147DD8: .4byte gUnknown_03005F94
+ thumb_func_end sub_8147CC8
+
+ thumb_func_start sub_8147DDC
+sub_8147DDC: @ 8147DDC
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _08147E08 @ =sub_8147CC8
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08147E0C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r0, 0
+ strh r0, [r1, 0x8]
+ strh r4, [r1, 0xA]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08147E08: .4byte sub_8147CC8
+_08147E0C: .4byte gTasks
+ thumb_func_end sub_8147DDC
+
+ thumb_func_start sub_8147E10
+sub_8147E10: @ 8147E10
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl MenuUpdateWindowText
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08147E30
+ ldr r0, _08147E38 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08147E3C @ =sub_8147F4C
+ str r0, [r1]
+_08147E30:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08147E38: .4byte gTasks
+_08147E3C: .4byte sub_8147F4C
+ thumb_func_end sub_8147E10
+
+ thumb_func_start sub_8147E40
+sub_8147E40: @ 8147E40
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, _08147E94 @ =gUnknown_02039310
+ ldrb r1, [r0]
+ movs r0, 0x64
+ adds r5, r1, 0
+ muls r5, r0
+ ldr r0, _08147E98 @ =gPlayerParty
+ adds r5, r0
+ ldr r0, _08147E9C @ =gScriptItemId
+ ldrh r4, [r0]
+ lsls r4, 3
+ ldr r0, _08147EA0 @ =gSaveBlock1 + 0x7F8
+ adds r4, r0
+ adds r0, r5, 0
+ bl GetNature
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r4, 0
+ bl sub_810CAE4
+ ldr r6, _08147EA4 @ =gUnknown_02039312
+ strh r0, [r6]
+ ldr r1, _08147EA8 @ =gStringVar1
+ adds r0, r5, 0
+ bl GetMonNickname
+ ldr r1, _08147EAC @ =gStringVar2
+ adds r0, r4, 0
+ bl sub_810CB44
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _08147EB8
+ ldr r0, _08147EB0 @ =gStringVar4
+ ldr r1, _08147EB4 @ =gContestStatsText_NormallyAte
+ bl StringExpandPlaceholders
+ b _08147ED8
+ .align 2, 0
+_08147E94: .4byte gUnknown_02039310
+_08147E98: .4byte gPlayerParty
+_08147E9C: .4byte gScriptItemId
+_08147EA0: .4byte gSaveBlock1 + 0x7F8
+_08147EA4: .4byte gUnknown_02039312
+_08147EA8: .4byte gStringVar1
+_08147EAC: .4byte gStringVar2
+_08147EB0: .4byte gStringVar4
+_08147EB4: .4byte gContestStatsText_NormallyAte
+_08147EB8:
+ cmp r0, 0
+ ble _08147ED0
+ ldr r0, _08147EC8 @ =gStringVar4
+ ldr r1, _08147ECC @ =gContestStatsText_HappilyAte
+ bl StringExpandPlaceholders
+ b _08147ED8
+ .align 2, 0
+_08147EC8: .4byte gStringVar4
+_08147ECC: .4byte gContestStatsText_HappilyAte
+_08147ED0:
+ ldr r0, _08147EF8 @ =gStringVar4
+ ldr r1, _08147EFC @ =gContestStatsText_DisdainfullyAte
+ bl StringExpandPlaceholders
+_08147ED8:
+ ldr r0, _08147EF8 @ =gStringVar4
+ movs r1, 0x1
+ movs r2, 0xF
+ bl MenuPrintMessage
+ ldr r1, _08147F00 @ =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08147F04 @ =sub_8147E10
+ str r1, [r0]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08147EF8: .4byte gStringVar4
+_08147EFC: .4byte gContestStatsText_DisdainfullyAte
+_08147F00: .4byte gTasks
+_08147F04: .4byte sub_8147E10
+ thumb_func_end sub_8147E40
+
+ thumb_func_start sub_8147F08
+sub_8147F08: @ 8147F08
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08147F3C @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08147F34
+ ldr r0, _08147F40 @ =gMPlay_BGM
+ ldr r1, _08147F44 @ =0x0000ffff
+ movs r2, 0x80
+ lsls r2, 1
+ bl m4aMPlayVolumeControl
+ ldr r0, _08147F48 @ =gMain
+ ldr r0, [r0, 0x8]
+ bl SetMainCallback2
+ adds r0, r4, 0
+ bl DestroyTask
+_08147F34:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08147F3C: .4byte gPaletteFade
+_08147F40: .4byte gMPlay_BGM
+_08147F44: .4byte 0x0000ffff
+_08147F48: .4byte gMain
+ thumb_func_end sub_8147F08
+
+ thumb_func_start sub_8147F4C
+sub_8147F4C: @ 8147F4C
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _08147F7C @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08147F80 @ =sub_8147F08
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08147F7C: .4byte gTasks
+_08147F80: .4byte sub_8147F08
+ thumb_func_end sub_8147F4C
+
+ thumb_func_start sub_8147F84
+sub_8147F84: @ 8147F84
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r5, r0, 0
+ movs r1, 0x41
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, _08148024 @ =gUnknown_02024E8C
+ movs r1, 0x30
+ movs r2, 0x50
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, _08148028 @ =gUnknown_03005F24
+ strh r4, [r0]
+ ldr r0, _0814802C @ =gUnknown_03005F2C
+ mov r1, r8
+ strb r1, [r0]
+ adds r0, r5, 0
+ bl GetNature
+ ldr r1, _08148030 @ =gUnknown_03005F30
+ strb r0, [r1]
+ ldr r7, _08148034 @ =gSprites
+ mov r1, r8
+ lsls r0, r1, 4
+ add r0, r8
+ lsls r5, r0, 2
+ adds r6, r5, r7
+ strh r4, [r6, 0x32]
+ adds r0, r7, 0
+ adds r0, 0x1C
+ adds r0, r5, r0
+ ldr r1, _08148038 @ =SpriteCallbackDummy
+ str r1, [r0]
+ ldr r0, _0814803C @ =gUnknown_03005F28
+ mov r9, r0
+ movs r0, 0x1
+ mov r1, r9
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl sub_8040A3C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08148016
+ adds r0, r7, 0
+ adds r0, 0x10
+ adds r0, r5, r0
+ ldr r1, _08148040 @ =gSpriteAffineAnimTable_84120EC
+ str r1, [r0]
+ ldrb r3, [r6, 0x1]
+ movs r0, 0x3
+ orrs r3, r0
+ strb r3, [r6, 0x1]
+ lsrs r1, r3, 6
+ ldrb r2, [r6, 0x3]
+ lsrs r2, 6
+ lsls r3, 30
+ lsrs r3, 30
+ adds r0, r6, 0
+ bl CalcCenterToCornerVec
+ movs r0, 0
+ mov r1, r9
+ strb r0, [r1]
+_08148016:
+ mov r0, r8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08148024: .4byte gUnknown_02024E8C
+_08148028: .4byte gUnknown_03005F24
+_0814802C: .4byte gUnknown_03005F2C
+_08148030: .4byte gUnknown_03005F30
+_08148034: .4byte gSprites
+_08148038: .4byte SpriteCallbackDummy
+_0814803C: .4byte gUnknown_03005F28
+_08148040: .4byte gSpriteAffineAnimTable_84120EC
+ thumb_func_end sub_8147F84
+
+ thumb_func_start sub_8148044
+sub_8148044: @ 8148044
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _0814806C @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1, r3
+ movs r0, 0x30
+ strh r0, [r2, 0x20]
+ movs r0, 0x50
+ strh r0, [r2, 0x22]
+ ldr r0, _08148070 @ =0x0000fff8
+ strh r0, [r2, 0x2E]
+ movs r0, 0x1
+ strh r0, [r2, 0x30]
+ adds r3, 0x1C
+ adds r1, r3
+ ldr r0, _08148074 @ =sub_8148078
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0814806C: .4byte gSprites
+_08148070: .4byte 0x0000fff8
+_08148074: .4byte sub_8148078
+ thumb_func_end sub_8148044
+
+ thumb_func_start sub_8148078
+sub_8148078: @ 8148078
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x4
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x2E]
+ ldrh r2, [r4, 0x22]
+ adds r1, r0, r2
+ strh r1, [r4, 0x22]
+ ldrh r1, [r4, 0x30]
+ adds r0, r1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bne _0814809E
+ ldrh r0, [r4, 0x32]
+ movs r1, 0
+ bl PlayCry1
+_0814809E:
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x9
+ bne _081480AA
+ ldr r0, _081480B0 @ =SpriteCallbackDummy
+ str r0, [r4, 0x1C]
+_081480AA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081480B0: .4byte SpriteCallbackDummy
+ thumb_func_end sub_8148078
+
+ thumb_func_start sub_81480B4
+sub_81480B4: @ 81480B4
+ push {r4,r5,lr}
+ movs r0, 0xBC
+ movs r1, 0x64
+ movs r2, 0x2
+ bl sub_810BA50
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _081480FC @ =gSprites
+ lsls r3, r4, 4
+ adds r3, r4
+ lsls r3, 2
+ adds r0, r3, r5
+ ldrb r2, [r0, 0x1]
+ movs r1, 0x4
+ negs r1, r1
+ ands r1, r2
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0, 0x1]
+ adds r1, r5, 0
+ adds r1, 0x10
+ adds r1, r3, r1
+ ldr r2, _08148100 @ =gSpriteAffineAnimTable_84121A0
+ str r2, [r1]
+ adds r5, 0x1C
+ adds r3, r5
+ ldr r1, _08148104 @ =SpriteCallbackDummy
+ str r1, [r3]
+ bl InitSpriteAffineAnim
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081480FC: .4byte gSprites
+_08148100: .4byte gSpriteAffineAnimTable_84121A0
+_08148104: .4byte SpriteCallbackDummy
+ thumb_func_end sub_81480B4
+
+ thumb_func_start sub_8148108
+sub_8148108: @ 8148108
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r1, 0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, _08148148 @ =gSprites
+ mov r8, r0
+ lsls r0, r7, 4
+ adds r0, r7
+ lsls r6, r0, 2
+ mov r0, r8
+ adds r4, r6, r0
+ ldrb r0, [r4, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ cmp r5, 0
+ bne _08148150
+ mov r0, r8
+ adds r0, 0x10
+ adds r0, r6, r0
+ ldr r1, _0814814C @ =gSpriteAffineAnimTable_84121A4
+ b _08148158
+ .align 2, 0
+_08148148: .4byte gSprites
+_0814814C: .4byte gSpriteAffineAnimTable_84121A4
+_08148150:
+ mov r0, r8
+ adds r0, 0x10
+ adds r0, r6, r0
+ ldr r1, _08148174 @ =gSpriteAffineAnimTable_84121A8
+_08148158:
+ str r1, [r0]
+ lsls r0, r7, 4
+ adds r0, r7
+ lsls r0, 2
+ ldr r1, _08148178 @ =gSprites
+ adds r0, r1
+ bl InitSpriteAffineAnim
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08148174: .4byte gSpriteAffineAnimTable_84121A8
+_08148178: .4byte gSprites
+ thumb_func_end sub_8148108
+
+ thumb_func_start sub_814817C
+sub_814817C: @ 814817C
+ push {lr}
+ ldr r0, _081481A4 @ =gSpriteTemplate_84121E4
+ movs r1, 0xAE
+ movs r2, 0x54
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _081481A8 @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldr r2, _081481AC @ =0x0000fff4
+ strh r2, [r1, 0x2E]
+ movs r2, 0x1
+ strh r2, [r1, 0x30]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081481A4: .4byte gSpriteTemplate_84121E4
+_081481A8: .4byte gSprites
+_081481AC: .4byte 0x0000fff4
+ thumb_func_end sub_814817C
+
+ thumb_func_start sub_81481B0
+sub_81481B0: @ 81481B0
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x20]
+ subs r0, 0x4
+ strh r0, [r2, 0x20]
+ ldrh r0, [r2, 0x2E]
+ ldrh r3, [r2, 0x22]
+ adds r1, r0, r3
+ strh r1, [r2, 0x22]
+ ldrh r1, [r2, 0x30]
+ adds r0, r1
+ strh r0, [r2, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xA
+ bne _081481D6
+ adds r0, r2, 0
+ bl DestroySprite
+_081481D6:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81481B0
+
+ thumb_func_start sub_81481DC
+sub_81481DC: @ 81481DC
+ push {r4-r7,lr}
+ ldr r6, _0814824C @ =gUnknown_03005F34
+ movs r0, 0x1
+ strh r0, [r6]
+ ldr r1, _08148250 @ =gNatureToMonPokeblockAnim
+ ldr r0, _08148254 @ =gUnknown_03005F30
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrb r3, [r0]
+ movs r4, 0
+ ldr r2, _08148258 @ =gMonPokeblockAnims
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 2
+ adds r7, r2, 0
+ adds r7, 0x8
+ adds r0, r1, r7
+ ldrh r0, [r0]
+ adds r0, 0x1
+ strh r0, [r6]
+ adds r5, r2, 0
+ adds r5, 0x12
+ adds r1, r5
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ beq _08148244
+ adds r2, r6, 0
+ adds r6, r5, 0
+ adds r5, r7, 0
+_0814821A:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r4, 0x7
+ bhi _08148244
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 2
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ ldrh r7, [r2]
+ adds r0, r7
+ strh r0, [r2]
+ adds r1, r6
+ movs r7, 0
+ ldrsh r0, [r1, r7]
+ cmp r0, 0x1
+ bne _0814821A
+_08148244:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814824C: .4byte gUnknown_03005F34
+_08148250: .4byte gNatureToMonPokeblockAnim
+_08148254: .4byte gUnknown_03005F30
+_08148258: .4byte gMonPokeblockAnims
+ thumb_func_end sub_81481DC
+
+ thumb_func_start sub_814825C
+sub_814825C: @ 814825C
+ push {lr}
+ ldr r0, _08148274 @ =gUnknown_03005F3C
+ ldrb r0, [r0]
+ cmp r0, 0x5A
+ bls _08148268
+ b _08148532
+_08148268:
+ lsls r0, 2
+ ldr r1, _08148278 @ =_0814827C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08148274: .4byte gUnknown_03005F3C
+_08148278: .4byte _0814827C
+ .align 2, 0
+_0814827C:
+ .4byte _081483E8
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _0814843C
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _0814847A
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _081484CC
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148524
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+ .4byte _08148532
+_081483E8:
+ ldr r2, _0814841C @ =gUnknown_03005F40
+ ldr r1, _08148420 @ =gNatureToMonPokeblockAnim
+ ldr r0, _08148424 @ =gUnknown_03005F30
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r2, _08148428 @ =gUnknown_03005F20
+ ldr r0, _0814842C @ =gUnknown_03005F2C
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _08148430 @ =gSprites
+ adds r1, r0
+ str r1, [r2]
+ ldr r0, _08148434 @ =gUnknown_03005F50
+ movs r2, 0x44
+ bl memcpy
+ ldr r1, _08148438 @ =gUnknown_03005F3C
+ movs r0, 0xA
+ strb r0, [r1]
+ b _08148532
+ .align 2, 0
+_0814841C: .4byte gUnknown_03005F40
+_08148420: .4byte gNatureToMonPokeblockAnim
+_08148424: .4byte gUnknown_03005F30
+_08148428: .4byte gUnknown_03005F20
+_0814842C: .4byte gUnknown_03005F2C
+_08148430: .4byte gSprites
+_08148434: .4byte gUnknown_03005F50
+_08148438: .4byte gUnknown_03005F3C
+_0814843C:
+ bl sub_8148540
+ ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim
+ ldr r0, _081484A8 @ =gUnknown_03005F30
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08148474
+ ldr r3, _081484AC @ =gUnknown_03005F20
+ ldr r2, [r3]
+ ldrb r0, [r2, 0x1]
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r2, 0x1]
+ ldr r2, [r3]
+ ldrb r1, [r2, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x3]
+ ldr r0, [r3]
+ ldr r1, _081484B0 @ =gSpriteAffineAnimTable_8412050
+ str r1, [r0, 0x10]
+ bl InitSpriteAffineAnim
+_08148474:
+ ldr r1, _081484B4 @ =gUnknown_03005F3C
+ movs r0, 0x32
+ strb r0, [r1]
+_0814847A:
+ ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim
+ ldr r0, _081484A8 @ =gUnknown_03005F30
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r1, 0x1
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ cmp r1, 0
+ beq _081484EE
+ ldr r0, _081484B8 @ =gUnknown_03005F28
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _081484BC
+ ldr r0, _081484AC @ =gUnknown_03005F20
+ ldr r0, [r0]
+ adds r1, 0xA
+ lsls r1, 24
+ lsrs r1, 24
+ bl StartSpriteAffineAnim
+ b _081484EE
+ .align 2, 0
+_081484A4: .4byte gNatureToMonPokeblockAnim
+_081484A8: .4byte gUnknown_03005F30
+_081484AC: .4byte gUnknown_03005F20
+_081484B0: .4byte gSpriteAffineAnimTable_8412050
+_081484B4: .4byte gUnknown_03005F3C
+_081484B8: .4byte gUnknown_03005F28
+_081484BC:
+ ldr r0, _081484C8 @ =gUnknown_03005F20
+ ldr r0, [r0]
+ ldrb r1, [r2]
+ bl StartSpriteAffineAnim
+ b _081484EE
+ .align 2, 0
+_081484C8: .4byte gUnknown_03005F20
+_081484CC:
+ bl sub_81485CC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08148532
+ ldr r0, _081484F8 @ =gUnknown_03005FA0
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08148504
+ ldr r1, _081484FC @ =gUnknown_03005F40
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ bl sub_8148540
+_081484EE:
+ ldr r1, _08148500 @ =gUnknown_03005F3C
+ movs r0, 0x3C
+ strb r0, [r1]
+ b _08148532
+ .align 2, 0
+_081484F8: .4byte gUnknown_03005FA0
+_081484FC: .4byte gUnknown_03005F40
+_08148500: .4byte gUnknown_03005F3C
+_08148504:
+ ldr r0, _0814851C @ =gUnknown_03005F20
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl FreeOamMatrix
+ ldr r1, _08148520 @ =gUnknown_03005F3C
+ movs r0, 0x46
+ strb r0, [r1]
+ b _08148532
+ .align 2, 0
+_0814851C: .4byte gUnknown_03005F20
+_08148520: .4byte gUnknown_03005F3C
+_08148524:
+ bl sub_8148618
+ ldr r0, _08148538 @ =gUnknown_03005F40
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _0814853C @ =gUnknown_03005F3C
+ strb r1, [r0]
+_08148532:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08148538: .4byte gUnknown_03005F40
+_0814853C: .4byte gUnknown_03005F3C
+ thumb_func_end sub_814825C
+
+ thumb_func_start sub_8148540
+sub_8148540: @ 8148540
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r5, _081485B4 @ =gUnknown_03005FA0
+ mov r12, r5
+ ldr r7, _081485B8 @ =gMonPokeblockAnims
+ ldr r6, _081485BC @ =gUnknown_03005F40
+_0814854C:
+ lsls r2, r4, 1
+ mov r0, r12
+ adds r3, r2, r0
+ ldrb r1, [r6]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ adds r2, r0
+ adds r2, r7
+ ldrh r0, [r2]
+ strh r0, [r3]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x9
+ bls _0814854C
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _081485C4
+ movs r2, 0
+ ldrsh r0, [r5, r2]
+ movs r2, 0x4
+ ldrsh r1, [r5, r2]
+ bl Sin
+ strh r0, [r5, 0x14]
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r2, 0x6
+ ldrsh r1, [r5, r2]
+ bl Cos
+ strh r0, [r5, 0x16]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r5, 0x18]
+ ldr r0, _081485C0 @ =gUnknown_03005F20
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x24]
+ strh r0, [r5, 0x1A]
+ ldrh r0, [r1, 0x26]
+ strh r0, [r5, 0x1C]
+ bl sub_8148710
+ ldrh r0, [r5, 0x18]
+ strh r0, [r5, 0x8]
+ bl sub_814862C
+ ldrh r0, [r5, 0x18]
+ strh r0, [r5, 0x8]
+ movs r0, 0
+ b _081485C6
+ .align 2, 0
+_081485B4: .4byte gUnknown_03005FA0
+_081485B8: .4byte gMonPokeblockAnims
+_081485BC: .4byte gUnknown_03005F40
+_081485C0: .4byte gUnknown_03005F20
+_081485C4:
+ movs r0, 0x1
+_081485C6:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8148540
+
+ thumb_func_start sub_81485CC
+sub_81485CC: @ 81485CC
+ push {r4,lr}
+ ldr r3, _08148604 @ =gUnknown_03005FA0
+ ldrh r0, [r3, 0x18]
+ ldrh r1, [r3, 0x8]
+ subs r0, r1
+ lsls r0, 16
+ ldr r1, _08148608 @ =gUnknown_03005F20
+ ldr r4, [r1]
+ lsrs r0, 15
+ ldr r1, _0814860C @ =0x0201d000
+ adds r2, r0, r1
+ ldrh r2, [r2]
+ strh r2, [r4, 0x24]
+ movs r2, 0x80
+ lsls r2, 3
+ adds r1, r2
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r4, 0x26]
+ ldrh r0, [r3, 0x8]
+ subs r0, 0x1
+ strh r0, [r3, 0x8]
+ lsls r0, 16
+ cmp r0, 0
+ beq _08148610
+ movs r0, 0
+ b _08148612
+ .align 2, 0
+_08148604: .4byte gUnknown_03005FA0
+_08148608: .4byte gUnknown_03005F20
+_0814860C: .4byte 0x0201d000
+_08148610:
+ movs r0, 0x1
+_08148612:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81485CC
+
+ thumb_func_start sub_8148618
+sub_8148618: @ 8148618
+ push {lr}
+ ldr r0, _08148628 @ =gUnknown_03005F20
+ ldr r0, [r0]
+ bl FreeSpriteOamMatrix
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08148628: .4byte gUnknown_03005F20
+ thumb_func_end sub_8148618
+
+ thumb_func_start sub_814862C
+sub_814862C: @ 814862C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ ldr r1, _08148700 @ =gUnknown_03005FA0
+ ldrh r0, [r1, 0x10]
+ mov r8, r0
+ ldrh r0, [r1, 0x18]
+ mov r2, r8
+ subs r0, r2
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldrh r0, [r1, 0xC]
+ ldrh r3, [r1, 0x1A]
+ adds r0, r3
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp]
+ ldrh r0, [r1, 0xE]
+ ldrh r1, [r1, 0x1C]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ movs r6, 0
+ subs r0, r7, 0x1
+ ldr r4, _08148704 @ =0x0201cffe
+ mov r10, r4
+ cmp r6, r0
+ bge _081486D4
+ ldr r1, [sp]
+ lsls r0, r1, 16
+ asrs r0, 16
+ str r0, [sp, 0x4]
+_08148674:
+ mov r2, r8
+ adds r5, r2, r6
+ lsls r5, 1
+ ldr r4, _08148708 @ =0x0201d000
+ adds r3, r5, r4
+ ldrh r2, [r3]
+ ldr r0, [sp, 0x4]
+ subs r1, r2, r0
+ ldr r4, _0814870C @ =0x0201d400
+ adds r5, r4
+ ldrh r0, [r5]
+ mov r12, r0
+ mov r4, r9
+ lsls r0, r4, 16
+ asrs r0, 16
+ mov r4, r12
+ subs r0, r4, r0
+ lsls r4, r0, 16
+ lsrs r4, 16
+ lsls r1, 16
+ asrs r1, 16
+ adds r6, 0x1
+ adds r0, r1, 0
+ muls r0, r6
+ adds r1, r7, 0
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ bl __divsi3
+ ldr r2, [sp, 0x8]
+ subs r2, r0
+ ldr r3, [sp, 0xC]
+ strh r2, [r3]
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r4, 0
+ muls r0, r6
+ adds r1, r7, 0
+ bl __divsi3
+ ldrh r1, [r5]
+ subs r1, r0
+ strh r1, [r5]
+ lsls r6, 16
+ lsrs r6, 16
+ subs r0, r7, 0x1
+ cmp r6, r0
+ blt _08148674
+_081486D4:
+ mov r1, r8
+ adds r0, r1, r7
+ lsls r0, 1
+ mov r2, r10
+ adds r1, r0, r2
+ mov r3, sp
+ ldrh r3, [r3]
+ strh r3, [r1]
+ movs r1, 0x80
+ lsls r1, 3
+ add r1, r10
+ adds r0, r1
+ mov r4, r9
+ strh r4, [r0]
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08148700: .4byte gUnknown_03005FA0
+_08148704: .4byte 0x0201cffe
+_08148708: .4byte 0x0201d000
+_0814870C: .4byte 0x0201d400
+ thumb_func_end sub_814862C
+
+ thumb_func_start sub_8148710
+sub_8148710: @ 8148710
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ ldr r1, _081487A4 @ =gUnknown_03005FA0
+ ldrh r2, [r1, 0x1A]
+ ldrh r0, [r1, 0x14]
+ subs r2, r0
+ ldrh r3, [r1, 0x1C]
+ ldrh r0, [r1, 0x16]
+ subs r3, r0
+ adds r6, r1, 0
+ ldr r1, _081487A8 @ =0x0201d000
+ mov r9, r1
+ lsls r2, 16
+ asrs r2, 16
+ mov r8, r2
+ movs r2, 0x80
+ lsls r2, 3
+ add r2, r9
+ mov r10, r2
+ lsls r3, 16
+ asrs r7, r3, 16
+_08148746:
+ movs r1, 0xA
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bge _08148750
+ negs r0, r0
+_08148750:
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r2, [r6, 0x6]
+ adds r0, r2
+ lsls r5, r0, 16
+ strh r0, [r6, 0x6]
+ ldrh r2, [r6, 0x4]
+ movs r1, 0x4
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bge _0814876A
+ movs r0, 0x1
+ str r0, [sp]
+_0814876A:
+ ldrh r0, [r6, 0x18]
+ ldrh r1, [r6, 0x8]
+ subs r0, r1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r1, 0
+ beq _081487F0
+ ldr r1, [sp]
+ cmp r1, 0
+ bne _081487AC
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ lsrs r5, 24
+ adds r1, r2, r5
+ lsls r1, 16
+ asrs r1, 16
+ bl Sin
+ lsls r4, 1
+ mov r2, r9
+ adds r1, r4, r2
+ add r0, r8
+ strh r0, [r1]
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ ldrh r1, [r6, 0x6]
+ adds r1, r5
+ b _081487CE
+ .align 2, 0
+_081487A4: .4byte gUnknown_03005FA0
+_081487A8: .4byte 0x0201d000
+_081487AC:
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ lsrs r5, 24
+ subs r1, r2, r5
+ lsls r1, 16
+ asrs r1, 16
+ bl Sin
+ lsls r4, 1
+ mov r2, r9
+ adds r1, r4, r2
+ add r0, r8
+ strh r0, [r1]
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ ldrh r1, [r6, 0x6]
+ subs r1, r5
+_081487CE:
+ lsls r1, 16
+ asrs r1, 16
+ bl Cos
+ add r4, r10
+ adds r0, r7, r0
+ strh r0, [r4]
+ ldrh r0, [r6, 0x2]
+ ldrh r2, [r6]
+ adds r0, r2
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r6]
+ ldrh r0, [r6, 0x8]
+ subs r0, 0x1
+ strh r0, [r6, 0x8]
+ b _08148746
+_081487F0:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8148710
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s
new file mode 100644
index 000000000..d647a7fc6
--- /dev/null
+++ b/asm/pokemon_3.s
@@ -0,0 +1,2826 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start unref_sub_803F938
+unref_sub_803F938: @ 803F938
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r5, r1, 0
+ mov r10, r2
+ lsls r0, 16
+ movs r1, 0x9A
+ lsls r1, 17
+ cmp r0, r1
+ bne _0803FA42
+ ldr r1, _0803FA04 @ =gUnknown_081FAF4C
+ ldr r0, [r1]
+ cmp r10, r0
+ beq _0803FA42
+ ldr r0, [r1, 0x8]
+ cmp r10, r0
+ beq _0803FA42
+ movs r6, 0
+_0803F962:
+ lsls r3, r6, 3
+ adds r3, r6
+ lsls r3, 2
+ ldr r0, _0803FA08 @ =gSpindaSpotGraphics
+ adds r4, r3, r0
+ ldrb r1, [r4]
+ adds r1, 0xF8
+ movs r2, 0xF
+ adds r0, r5, 0
+ ands r0, r2
+ adds r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r12, r1
+ ldrb r1, [r4, 0x1]
+ adds r1, 0xF8
+ movs r0, 0xF0
+ ands r0, r5
+ lsrs r0, 4
+ adds r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0
+ lsrs r5, 8
+ str r5, [sp, 0x4]
+ adds r6, 0x1
+ str r6, [sp]
+ mov r9, r3
+_0803F99A:
+ lsls r0, r2, 1
+ add r0, r9
+ ldr r3, _0803FA0C @ =gSpindaSpotGraphics + 0x2
+ adds r0, r3
+ ldrh r3, [r0]
+ mov r4, r12
+ adds r0, r4, 0
+ adds r0, 0x10
+ adds r7, r1, 0x1
+ adds r2, 0x1
+ mov r8, r2
+ cmp r4, r0
+ bge _0803FA30
+ lsrs r0, r1, 3
+ lsls r6, r0, 8
+ movs r0, 0x7
+ ands r1, r0
+ lsls r5, r1, 2
+_0803F9BE:
+ adds r0, r4, 0
+ cmp r4, 0
+ bge _0803F9C6
+ adds r0, r4, 0x7
+_0803F9C6:
+ asrs r0, 3
+ lsls r2, r0, 5
+ add r2, r10
+ lsls r0, 3
+ subs r0, r4, r0
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r2, r0
+ adds r2, r6
+ adds r2, r5
+ movs r1, 0x1
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0803FA24
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0803FA10
+ ldrb r1, [r2]
+ movs r0, 0xF0
+ ands r0, r1
+ subs r0, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x20
+ bhi _0803FA24
+ adds r0, r1, 0
+ adds r0, 0x40
+ b _0803FA22
+ .align 2, 0
+_0803FA04: .4byte gUnknown_081FAF4C
+_0803FA08: .4byte gSpindaSpotGraphics
+_0803FA0C: .4byte gSpindaSpotGraphics + 0x2
+_0803FA10:
+ ldrb r1, [r2]
+ movs r0, 0xF
+ ands r0, r1
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bhi _0803FA24
+ adds r0, r1, 0x4
+_0803FA22:
+ strb r0, [r2]
+_0803FA24:
+ asrs r3, 1
+ adds r4, 0x1
+ mov r0, r12
+ adds r0, 0x10
+ cmp r4, r0
+ blt _0803F9BE
+_0803FA30:
+ lsls r0, r7, 24
+ lsrs r1, r0, 24
+ mov r2, r8
+ cmp r2, 0xF
+ ble _0803F99A
+ ldr r5, [sp, 0x4]
+ ldr r6, [sp]
+ cmp r6, 0x3
+ ble _0803F962
+_0803FA42:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end unref_sub_803F938
+
+ thumb_func_start DrawSpindaSpots
+DrawSpindaSpots: @ 803FA54
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r5, r1, 0
+ str r2, [sp]
+ lsls r0, 16
+ lsls r3, 24
+ lsrs r3, 24
+ movs r1, 0x9A
+ lsls r1, 17
+ cmp r0, r1
+ bne _0803FB56
+ cmp r3, 0
+ beq _0803FB56
+ movs r6, 0
+_0803FA78:
+ lsls r3, r6, 3
+ adds r3, r6
+ lsls r3, 2
+ ldr r0, _0803FB1C @ =gSpindaSpotGraphics
+ adds r4, r3, r0
+ ldrb r1, [r4]
+ adds r1, 0xF8
+ movs r2, 0xF
+ adds r0, r5, 0
+ ands r0, r2
+ adds r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r12, r1
+ ldrb r1, [r4, 0x1]
+ adds r1, 0xF8
+ movs r0, 0xF0
+ ands r0, r5
+ lsrs r0, 4
+ adds r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0
+ lsrs r5, 8
+ str r5, [sp, 0x4]
+ adds r6, 0x1
+ mov r10, r6
+ mov r9, r3
+_0803FAB0:
+ lsls r0, r2, 1
+ add r0, r9
+ ldr r3, _0803FB20 @ =gSpindaSpotGraphics + 0x2
+ adds r0, r3
+ ldrh r3, [r0]
+ mov r4, r12
+ adds r0, r4, 0
+ adds r0, 0x10
+ adds r7, r1, 0x1
+ adds r2, 0x1
+ mov r8, r2
+ cmp r4, r0
+ bge _0803FB44
+ lsrs r0, r1, 3
+ lsls r6, r0, 8
+ movs r0, 0x7
+ ands r1, r0
+ lsls r5, r1, 2
+_0803FAD4:
+ adds r0, r4, 0
+ cmp r4, 0
+ bge _0803FADC
+ adds r0, r4, 0x7
+_0803FADC:
+ asrs r0, 3
+ lsls r2, r0, 5
+ ldr r1, [sp]
+ adds r2, r1, r2
+ lsls r0, 3
+ subs r0, r4, r0
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r2, r0
+ adds r2, r6
+ adds r2, r5
+ movs r1, 0x1
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0803FB38
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0803FB24
+ ldrb r1, [r2]
+ movs r0, 0xF0
+ ands r0, r1
+ subs r0, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x20
+ bhi _0803FB38
+ adds r0, r1, 0
+ adds r0, 0x40
+ b _0803FB36
+ .align 2, 0
+_0803FB1C: .4byte gSpindaSpotGraphics
+_0803FB20: .4byte gSpindaSpotGraphics + 0x2
+_0803FB24:
+ ldrb r1, [r2]
+ movs r0, 0xF
+ ands r0, r1
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bhi _0803FB38
+ adds r0, r1, 0x4
+_0803FB36:
+ strb r0, [r2]
+_0803FB38:
+ asrs r3, 1
+ adds r4, 0x1
+ mov r0, r12
+ adds r0, 0x10
+ cmp r4, r0
+ blt _0803FAD4
+_0803FB44:
+ lsls r0, r7, 24
+ lsrs r1, r0, 24
+ mov r2, r8
+ cmp r2, 0xF
+ ble _0803FAB0
+ ldr r5, [sp, 0x4]
+ mov r6, r10
+ cmp r6, 0x3
+ ble _0803FA78
+_0803FB56:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end DrawSpindaSpots
+
+ .if REVISION >= 1
+ thumb_func_start sub_803FB68
+sub_803FB68: @ 803FB68
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ adds r5, r0, 0
+ lsls r1, 16
+ lsrs r7, r1, 16
+ lsls r2, 16
+ lsrs r2, 16
+ mov r8, r2
+ ldr r0, =gStringVar1
+ mov r9, r0
+ adds r0, r5, 0
+ movs r1, 0x2
+ mov r2, r9
+ bl GetMonData
+ mov r4, sp
+ adds r0, r5, 0
+ movs r1, 0x3
+ mov r2, sp
+ bl GetMonData
+ strb r0, [r4, 0x0]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _0803FBC4
+ movs r6, 0xB
+ adds r0, r7, 0
+ muls r0, r6
+ ldr r4, =gSpeciesNames
+ adds r0, r4
+ mov r1, r9
+ bl StringCompareWithoutExtCtrlCodes
+ cmp r0, 0
+ bne _0803FBC4
+ mov r2, r8
+ muls r2, r6
+ adds r2, r4
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl SetMonData
+_0803FBC4:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_803FB68
+ .else
+ thumb_func_start sub_803FB68
+sub_803FB68: @ 803FB68
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ adds r4, r1, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r2, 16
+ lsrs r2, 16
+ mov r8, r2
+ ldr r5, _0803FBB4 @ =gStringVar1
+ movs r1, 0x2
+ adds r2, r5, 0
+ bl GetMonData
+ movs r6, 0xB
+ adds r0, r4, 0
+ muls r0, r6
+ ldr r4, _0803FBB8 @ =gSpeciesNames
+ adds r0, r4
+ adds r1, r5, 0
+ bl StringCompareWithoutExtCtrlCodes
+ cmp r0, 0
+ bne _0803FBA8
+ mov r2, r8
+ muls r2, r6
+ adds r2, r4
+ adds r0, r7, 0
+ movs r1, 0x2
+ bl SetMonData
+_0803FBA8:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803FBB4: .4byte gStringVar1
+_0803FBB8: .4byte gSpeciesNames
+ thumb_func_end sub_803FB68
+ .endif
+
+ thumb_func_start sub_803FBBC
+sub_803FBBC: @ 803FBBC
+ push {r4,r5,lr}
+ movs r5, 0
+ ldr r4, _0803FBE4 @ =gLinkPlayers
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r1, 0x18]
+ cmp r0, 0x2
+ bgt _0803FBE8
+ cmp r0, 0x1
+ bge _0803FBF0
+ cmp r0, 0
+ beq _0803FBEC
+ b _0803FBF2
+ .align 2, 0
+_0803FBE4: .4byte gLinkPlayers
+_0803FBE8:
+ cmp r0, 0x3
+ bne _0803FBF2
+_0803FBEC:
+ movs r5, 0
+ b _0803FBF2
+_0803FBF0:
+ movs r5, 0x1
+_0803FBF2:
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803FBBC
+
+ thumb_func_start sub_803FBFC
+sub_803FBFC: @ 803FBFC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ ldr r2, _0803FC20 @ =gLinkPlayers
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrh r0, [r1, 0x18]
+ cmp r0, 0x2
+ bgt _0803FC24
+ cmp r0, 0x1
+ bge _0803FC2C
+ cmp r0, 0
+ beq _0803FC28
+ b _0803FC2E
+ .align 2, 0
+_0803FC20: .4byte gLinkPlayers
+_0803FC24:
+ cmp r0, 0x3
+ bne _0803FC2E
+_0803FC28:
+ movs r3, 0
+ b _0803FC2E
+_0803FC2C:
+ movs r3, 0x1
+_0803FC2E:
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803FBFC
+
+ thumb_func_start sub_803FC34
+sub_803FC34: @ 803FC34
+ push {lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0
+ ldr r1, _0803FC40 @ =gLinkPlayers
+ b _0803FC4C
+ .align 2, 0
+_0803FC40: .4byte gLinkPlayers
+_0803FC44:
+ adds r1, 0x1C
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _0803FC52
+_0803FC4C:
+ ldrh r0, [r1, 0x18]
+ cmp r0, r3
+ bne _0803FC44
+_0803FC52:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803FC34
+
+ thumb_func_start sub_803FC58
+sub_803FC58: @ 803FC58
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _0803FC70 @ =gTrainers
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrb r1, [r1, 0x2]
+ movs r0, 0x7F
+ ands r0, r1
+ bx lr
+ .align 2, 0
+_0803FC70: .4byte gTrainers
+ thumb_func_end sub_803FC58
+
+ thumb_func_start nature_stat_mod
+nature_stat_mod: @ 803FC74
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 16
+ lsrs r3, r1, 16
+ lsls r2, 24
+ lsrs r5, r2, 24
+ movs r0, 0xFF
+ lsls r0, 24
+ adds r2, r0
+ lsrs r2, 24
+ cmp r2, 0x4
+ bls _0803FC92
+ adds r0, r3, 0
+ b _0803FCCE
+_0803FC92:
+ ldr r0, _0803FCB4 @ =gNatureStatTable
+ lsls r1, r4, 2
+ adds r1, r4
+ subs r1, 0x1
+ adds r1, r5, r1
+ adds r1, r0
+ ldrb r1, [r1]
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0803FCB8
+ cmp r1, 0x1
+ bne _0803FCCC
+ movs r0, 0x6E
+ b _0803FCBA
+ .align 2, 0
+_0803FCB4: .4byte gNatureStatTable
+_0803FCB8:
+ movs r0, 0x5A
+_0803FCBA:
+ muls r0, r3
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x64
+ bl __udivsi3
+ lsls r0, 16
+ lsrs r0, 16
+ b _0803FCCE
+_0803FCCC:
+ adds r0, r3, 0
+_0803FCCE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end nature_stat_mod
+
+ thumb_func_start AdjustFriendship
+AdjustFriendship: @ 803FCD4
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r7, r0, 0
+ lsls r1, 24
+ lsrs r5, r1, 24
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r6, r0, 16
+ adds r0, r7, 0
+ movs r1, 0xC
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xAF
+ bne _0803FD34
+ ldr r0, _0803FD14 @ =gMain
+ ldr r1, _0803FD18 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803FD20
+ ldr r0, _0803FD1C @ =gEnigmaBerries
+ ldrb r4, [r0, 0x7]
+ b _0803FD3C
+ .align 2, 0
+_0803FD14: .4byte gMain
+_0803FD18: .4byte 0x0000043d
+_0803FD1C: .4byte gEnigmaBerries
+_0803FD20:
+ ldr r0, _0803FD2C @ =gSaveBlock1
+ ldr r1, _0803FD30 @ =0x00003688
+ adds r0, r1
+ ldrb r4, [r0]
+ b _0803FD3C
+ .align 2, 0
+_0803FD2C: .4byte gSaveBlock1
+_0803FD30: .4byte 0x00003688
+_0803FD34:
+ bl ItemId_GetHoldEffect
+ lsls r0, 24
+ lsrs r4, r0, 24
+_0803FD3C:
+ cmp r6, 0
+ bne _0803FD42
+ b _0803FE56
+_0803FD42:
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r6, r0
+ bne _0803FD4C
+ b _0803FE56
+_0803FD4C:
+ movs r6, 0
+ adds r0, r7, 0
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ mov r1, sp
+ strh r0, [r1]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x63
+ ble _0803FD6A
+ movs r6, 0x1
+_0803FD6A:
+ cmp r0, 0xC7
+ ble _0803FD74
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0803FD74:
+ cmp r5, 0x5
+ bne _0803FD84
+ bl Random
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ bne _0803FE56
+_0803FD84:
+ cmp r5, 0x3
+ bne _0803FDB4
+ ldr r0, _0803FE60 @ =gUnknown_020239F8
+ ldrh r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0803FE56
+ ldr r2, _0803FE64 @ =gTrainers
+ ldr r0, _0803FE68 @ =gTrainerBattleOpponent
+ ldrh r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ adds r0, r1, 0
+ subs r0, 0x18
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0803FDB4
+ cmp r1, 0x20
+ bne _0803FE56
+_0803FDB4:
+ ldr r1, _0803FE6C @ =gUnknown_082082FE
+ lsls r0, r5, 1
+ adds r0, r5
+ adds r0, r6, r0
+ adds r0, r1
+ ldrb r2, [r0]
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ cmp r1, 0
+ ble _0803FDDA
+ cmp r4, 0x1B
+ bne _0803FDDA
+ movs r0, 0x96
+ muls r0, r1
+ movs r1, 0x64
+ bl __divsi3
+ lsls r0, 24
+ lsrs r2, r0, 24
+_0803FDDA:
+ lsls r2, 24
+ asrs r2, 24
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ adds r0, r2
+ mov r1, sp
+ strh r0, [r1]
+ cmp r2, 0
+ ble _0803FE2C
+ adds r0, r7, 0
+ movs r1, 0x26
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0xB
+ bne _0803FE08
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ adds r0, 0x1
+ mov r1, sp
+ strh r0, [r1]
+_0803FE08:
+ adds r0, r7, 0
+ movs r1, 0x23
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ bl sav1_map_get_name
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _0803FE2C
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ adds r0, 0x1
+ mov r1, sp
+ strh r0, [r1]
+_0803FE2C:
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bge _0803FE3C
+ movs r1, 0
+ mov r0, sp
+ strh r1, [r0]
+_0803FE3C:
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0xFF
+ ble _0803FE4C
+ movs r1, 0xFF
+ mov r0, sp
+ strh r1, [r0]
+_0803FE4C:
+ adds r0, r7, 0
+ movs r1, 0x20
+ mov r2, sp
+ bl SetMonData
+_0803FE56:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803FE60: .4byte gUnknown_020239F8
+_0803FE64: .4byte gTrainers
+_0803FE68: .4byte gTrainerBattleOpponent
+_0803FE6C: .4byte gUnknown_082082FE
+ thumb_func_end AdjustFriendship
+
+ thumb_func_start MonGainEVs
+MonGainEVs: @ 803FE70
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ mov r8, r0
+ lsls r1, 16
+ lsrs r5, r1, 16
+ movs r4, 0
+ movs r7, 0
+ movs r6, 0
+_0803FE84:
+ adds r1, r6, 0
+ adds r1, 0x1A
+ mov r0, r8
+ movs r2, 0
+ bl GetMonData
+ mov r2, sp
+ adds r1, r2, r6
+ strb r0, [r1]
+ ldrb r0, [r1]
+ adds r0, r7, r0
+ lsls r0, 16
+ lsrs r7, r0, 16
+ adds r6, 0x1
+ cmp r6, 0x5
+ ble _0803FE84
+ movs r6, 0
+ b _08040006
+_0803FEA8:
+ mov r0, r8
+ movs r1, 0
+ bl CheckPartyHasHadPokerus
+ lsls r0, 24
+ movs r2, 0x1
+ cmp r0, 0
+ beq _0803FEBA
+ movs r2, 0x2
+_0803FEBA:
+ cmp r6, 0x5
+ bhi _0803FF5C
+ lsls r0, r6, 2
+ ldr r1, _0803FEC8 @ =_0803FECC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803FEC8: .4byte _0803FECC
+ .align 2, 0
+_0803FECC:
+ .4byte _0803FEE4
+ .4byte _0803FEF8
+ .4byte _0803FF0C
+ .4byte _0803FF20
+ .4byte _0803FF34
+ .4byte _0803FF48
+_0803FEE4:
+ ldr r0, _0803FEF4 @ =gBaseStats
+ lsls r1, r5, 3
+ subs r1, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0xA]
+ lsls r0, 30
+ b _0803FF56
+ .align 2, 0
+_0803FEF4: .4byte gBaseStats
+_0803FEF8:
+ ldr r0, _0803FF08 @ =gBaseStats
+ lsls r1, r5, 3
+ subs r1, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0xA]
+ b _0803FF54
+ .align 2, 0
+_0803FF08: .4byte gBaseStats
+_0803FF0C:
+ ldr r0, _0803FF1C @ =gBaseStats
+ lsls r1, r5, 3
+ subs r1, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0xA]
+ lsls r0, 26
+ b _0803FF56
+ .align 2, 0
+_0803FF1C: .4byte gBaseStats
+_0803FF20:
+ ldr r0, _0803FF30 @ =gBaseStats
+ lsls r1, r5, 3
+ subs r1, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0xA]
+ lsrs r0, 6
+ b _0803FF58
+ .align 2, 0
+_0803FF30: .4byte gBaseStats
+_0803FF34:
+ ldr r0, _0803FF44 @ =gBaseStats
+ lsls r1, r5, 3
+ subs r1, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0xB]
+ lsls r0, 30
+ b _0803FF56
+ .align 2, 0
+_0803FF44: .4byte gBaseStats
+_0803FF48:
+ ldr r0, _0803FF84 @ =gBaseStats
+ lsls r1, r5, 3
+ subs r1, r5
+ lsls r1, 2
+ adds r1, r0
+ ldrb r0, [r1, 0xB]
+_0803FF54:
+ lsls r0, 28
+_0803FF56:
+ lsrs r0, 30
+_0803FF58:
+ adds r4, r0, 0
+ muls r4, r2
+_0803FF5C:
+ mov r0, r8
+ movs r1, 0xC
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xAF
+ bne _0803FFA8
+ ldr r0, _0803FF88 @ =gMain
+ ldr r1, _0803FF8C @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803FF94
+ ldr r0, _0803FF90 @ =gEnigmaBerries
+ ldrb r0, [r0, 0x7]
+ b _0803FFB0
+ .align 2, 0
+_0803FF84: .4byte gBaseStats
+_0803FF88: .4byte gMain
+_0803FF8C: .4byte 0x0000043d
+_0803FF90: .4byte gEnigmaBerries
+_0803FF94:
+ ldr r0, _0803FFA0 @ =gSaveBlock1
+ ldr r2, _0803FFA4 @ =0x00003688
+ adds r0, r2
+ ldrb r0, [r0]
+ b _0803FFB0
+ .align 2, 0
+_0803FFA0: .4byte gSaveBlock1
+_0803FFA4: .4byte 0x00003688
+_0803FFA8:
+ bl ItemId_GetHoldEffect
+ lsls r0, 24
+ lsrs r0, 24
+_0803FFB0:
+ cmp r0, 0x18
+ bne _0803FFB8
+ lsls r0, r4, 17
+ lsrs r4, r0, 16
+_0803FFB8:
+ lsls r0, r4, 16
+ asrs r2, r0, 16
+ adds r1, r7, r2
+ movs r0, 0xFF
+ lsls r0, 1
+ cmp r1, r0
+ ble _0803FFD0
+ adds r0, r2, r0
+ adds r1, r7, r4
+ subs r0, r1
+ lsls r0, 16
+ lsrs r4, r0, 16
+_0803FFD0:
+ mov r0, sp
+ adds r2, r0, r6
+ ldrb r3, [r2]
+ lsls r0, r4, 16
+ asrs r1, r0, 16
+ adds r0, r3, r1
+ cmp r0, 0xFF
+ ble _0803FFEC
+ adds r0, r1, 0
+ adds r0, 0xFF
+ adds r1, r3, r4
+ subs r0, r1
+ lsls r0, 16
+ lsrs r4, r0, 16
+_0803FFEC:
+ adds r0, r3, r4
+ strb r0, [r2]
+ adds r0, r7, r4
+ lsls r0, 16
+ lsrs r7, r0, 16
+ adds r1, r6, 0
+ adds r1, 0x1A
+ mov r0, r8
+ bl SetMonData
+ adds r6, 0x1
+ cmp r6, 0x5
+ bgt _0804000E
+_08040006:
+ ldr r0, _0804001C @ =0x000001fd
+ cmp r7, r0
+ bhi _0804000E
+ b _0803FEA8
+_0804000E:
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804001C: .4byte 0x000001fd
+ thumb_func_end MonGainEVs
+
+ thumb_func_start GetMonEVCount
+GetMonEVCount: @ 8040020
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ movs r4, 0
+_08040028:
+ adds r1, r4, 0
+ adds r1, 0x1A
+ adds r0, r6, 0
+ movs r2, 0
+ bl GetMonData
+ adds r0, r5, r0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r4, 0x1
+ cmp r4, 0x5
+ ble _08040028
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end GetMonEVCount
+
+ thumb_func_start RandomlyGivePartyPokerus
+RandomlyGivePartyPokerus: @ 8040048
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ bl Random
+ lsls r0, 16
+ lsrs r5, r0, 16
+ movs r0, 0x80
+ lsls r0, 7
+ cmp r5, r0
+ beq _0804006E
+ movs r0, 0x80
+ lsls r0, 8
+ cmp r5, r0
+ beq _0804006E
+ movs r0, 0xC0
+ lsls r0, 8
+ cmp r5, r0
+ bne _08040104
+_0804006E:
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x6
+ bl __umodsi3
+ lsls r0, 16
+ lsrs r5, r0, 16
+ movs r0, 0x64
+ muls r0, r5
+ adds r4, r6, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ beq _0804006E
+ adds r0, r4, 0
+ movs r1, 0x2D
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ bne _0804006E
+ ldr r1, _0804010C @ =gBitTable
+ lsls r0, r5, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ bl CheckPartyHasHadPokerus
+ lsls r0, 24
+ cmp r0, 0
+ bne _08040104
+ mov r4, sp
+_080400B8:
+ bl Random
+ lsls r0, 24
+ lsrs r0, 24
+ strb r0, [r4]
+ cmp r0, 0
+ beq _080400B8
+ movs r0, 0xF0
+ mov r1, sp
+ ldrb r1, [r1]
+ ands r0, r1
+ cmp r0, 0
+ beq _080400DA
+ movs r0, 0x7
+ ands r1, r0
+ mov r0, sp
+ strb r1, [r0]
+_080400DA:
+ mov r0, sp
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ orrs r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, sp
+ strb r0, [r1]
+ movs r1, 0xF3
+ ands r1, r0
+ mov r0, sp
+ strb r1, [r0]
+ adds r1, 0x1
+ strb r1, [r0]
+ movs r0, 0x64
+ muls r0, r5
+ adds r0, r6, r0
+ movs r1, 0x22
+ mov r2, sp
+ bl SetMonData
+_08040104:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804010C: .4byte gBitTable
+ thumb_func_end RandomlyGivePartyPokerus
+
+ thumb_func_start CheckPartyPokerus
+CheckPartyPokerus: @ 8040110
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r7, r0, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ movs r3, 0
+ movs r6, 0x1
+ movs r5, 0
+ cmp r4, 0
+ beq _08040158
+_08040124:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _0804014C
+ movs r0, 0x64
+ muls r0, r3
+ adds r0, r7, r0
+ movs r1, 0x22
+ movs r2, 0
+ str r3, [sp]
+ bl GetMonData
+ movs r1, 0xF
+ ands r1, r0
+ ldr r3, [sp]
+ cmp r1, 0
+ beq _0804014C
+ orrs r5, r6
+ lsls r0, r5, 24
+ lsrs r5, r0, 24
+_0804014C:
+ adds r3, 0x1
+ lsls r6, 1
+ lsrs r4, 1
+ cmp r4, 0
+ bne _08040124
+ b _0804016C
+_08040158:
+ adds r0, r7, 0
+ movs r1, 0x22
+ movs r2, 0
+ bl GetMonData
+ movs r1, 0xF
+ ands r1, r0
+ cmp r1, 0
+ beq _0804016C
+ movs r5, 0x1
+_0804016C:
+ adds r0, r5, 0
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end CheckPartyPokerus
+
+ thumb_func_start CheckPartyHasHadPokerus
+CheckPartyHasHadPokerus: @ 8040178
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r7, r0, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ movs r3, 0
+ movs r6, 0x1
+ movs r5, 0
+ cmp r4, 0
+ beq _080401BC
+_0804018C:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _080401B0
+ movs r0, 0x64
+ muls r0, r3
+ adds r0, r7, r0
+ movs r1, 0x22
+ movs r2, 0
+ str r3, [sp]
+ bl GetMonData
+ ldr r3, [sp]
+ cmp r0, 0
+ beq _080401B0
+ orrs r5, r6
+ lsls r0, r5, 24
+ lsrs r5, r0, 24
+_080401B0:
+ adds r3, 0x1
+ lsls r6, 1
+ lsrs r4, 1
+ cmp r4, 0
+ bne _0804018C
+ b _080401CC
+_080401BC:
+ adds r0, r7, 0
+ movs r1, 0x22
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ beq _080401CC
+ movs r5, 0x1
+_080401CC:
+ adds r0, r5, 0
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end CheckPartyHasHadPokerus
+
+ thumb_func_start UpdatePartyPokerusTime
+UpdatePartyPokerusTime: @ 80401D8
+ push {r4-r7,lr}
+ sub sp, 0x4
+ lsls r0, 16
+ lsrs r7, r0, 16
+ movs r5, 0
+ mov r6, sp
+_080401E4:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _08040224 @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ beq _0804023C
+ adds r0, r4, 0
+ movs r1, 0x22
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 24
+ lsrs r0, 24
+ strb r0, [r6]
+ movs r1, 0xF
+ adds r2, r0, 0
+ ands r1, r2
+ cmp r1, 0
+ beq _0804023C
+ cmp r1, r7
+ bcc _0804021E
+ cmp r7, 0x4
+ bls _08040228
+_0804021E:
+ movs r0, 0xF0
+ ands r0, r2
+ b _0804022A
+ .align 2, 0
+_08040224: .4byte gPlayerParty
+_08040228:
+ subs r0, r2, r7
+_0804022A:
+ strb r0, [r6]
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0804024C @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x22
+ mov r2, sp
+ bl SetMonData
+_0804023C:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _080401E4
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804024C: .4byte gPlayerParty
+ thumb_func_end UpdatePartyPokerusTime
+
+ thumb_func_start PartySpreadPokerus
+PartySpreadPokerus: @ 8040250
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r7, r0, 0
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x3
+ bl __umodsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _080402F6
+ movs r5, 0
+_0804026C:
+ movs r0, 0x64
+ adds r6, r5, 0
+ muls r6, r0
+ adds r4, r7, r6
+ adds r0, r4, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ beq _080402F0
+ adds r0, r4, 0
+ movs r1, 0x22
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 24
+ lsrs r1, r0, 24
+ mov r0, sp
+ strb r1, [r0]
+ cmp r1, 0
+ beq _080402F0
+ movs r0, 0xF
+ ands r0, r1
+ cmp r0, 0
+ beq _080402F0
+ cmp r5, 0
+ beq _080402C6
+ adds r0, r6, 0
+ subs r0, 0x64
+ adds r4, r7, r0
+ adds r0, r4, 0
+ movs r1, 0x22
+ movs r2, 0
+ bl GetMonData
+ movs r1, 0xF0
+ ands r1, r0
+ cmp r1, 0
+ bne _080402C6
+ adds r0, r4, 0
+ movs r1, 0x22
+ mov r2, sp
+ bl SetMonData
+_080402C6:
+ cmp r5, 0x5
+ beq _080402F0
+ movs r0, 0x64
+ muls r0, r5
+ adds r0, 0x64
+ adds r4, r7, r0
+ adds r0, r4, 0
+ movs r1, 0x22
+ movs r2, 0
+ bl GetMonData
+ movs r1, 0xF0
+ ands r1, r0
+ cmp r1, 0
+ bne _080402F0
+ adds r0, r4, 0
+ movs r1, 0x22
+ mov r2, sp
+ bl SetMonData
+ adds r5, 0x1
+_080402F0:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _0804026C
+_080402F6:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end PartySpreadPokerus
+
+ thumb_func_start TryIncrementMonLevel
+TryIncrementMonLevel: @ 8040300
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r6, 0
+ movs r1, 0x38
+ movs r2, 0
+ bl GetMonData
+ adds r0, 0x1
+ mov r1, sp
+ strb r0, [r1]
+ adds r0, r6, 0
+ movs r1, 0x19
+ movs r2, 0
+ bl GetMonData
+ ldr r5, _08040358 @ =gExperienceTables
+ mov r1, sp
+ ldrb r2, [r1]
+ lsls r2, 2
+ ldr r3, _0804035C @ =gBaseStats
+ lsls r1, r4, 3
+ subs r1, r4
+ lsls r1, 2
+ adds r1, r3
+ ldrb r3, [r1, 0x13]
+ movs r1, 0xCA
+ lsls r1, 1
+ muls r1, r3
+ adds r2, r1
+ adds r2, r5
+ ldr r1, [r2]
+ cmp r0, r1
+ bhi _08040360
+ movs r0, 0
+ b _0804036C
+ .align 2, 0
+_08040358: .4byte gExperienceTables
+_0804035C: .4byte gBaseStats
+_08040360:
+ adds r0, r6, 0
+ movs r1, 0x38
+ mov r2, sp
+ bl SetMonData
+ movs r0, 0x1
+_0804036C:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end TryIncrementMonLevel
+
+ thumb_func_start CanMonLearnTMHM
+CanMonLearnTMHM: @ 8040374
+ push {r4,r5,lr}
+ lsls r1, 24
+ lsrs r4, r1, 24
+ adds r5, r4, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r3, r1, 0
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r1, r0
+ bne _08040396
+ movs r0, 0
+ b _080403C2
+_08040396:
+ cmp r4, 0x1F
+ bls _080403B4
+ adds r0, r4, 0
+ subs r0, 0x20
+ movs r2, 0x1
+ lsls r2, r0
+ ldr r0, _080403B0 @ =gTMHMLearnsets
+ lsls r1, 3
+ adds r0, 0x4
+ adds r1, r0
+ ldr r0, [r1]
+ ands r0, r2
+ b _080403C2
+ .align 2, 0
+_080403B0: .4byte gTMHMLearnsets
+_080403B4:
+ movs r1, 0x1
+ lsls r1, r5
+ ldr r2, _080403C8 @ =gTMHMLearnsets
+ lsls r0, r3, 3
+ adds r0, r2
+ ldr r0, [r0]
+ ands r0, r1
+_080403C2:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080403C8: .4byte gTMHMLearnsets
+ thumb_func_end CanMonLearnTMHM
+
+ thumb_func_start sub_80403CC
+sub_80403CC: @ 80403CC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ adds r6, r0, 0
+ str r1, [sp, 0x8]
+ movs r0, 0
+ mov r10, r0
+ adds r0, r6, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r7, r0, 16
+ adds r0, r6, 0
+ movs r1, 0x38
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0xC]
+ movs r5, 0
+ mov r4, sp
+_08040402:
+ adds r1, r5, 0
+ adds r1, 0xD
+ adds r0, r6, 0
+ movs r2, 0
+ bl GetMonData
+ strh r0, [r4]
+ adds r4, 0x2
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08040402
+ movs r5, 0
+ ldr r6, _08040510 @ =gLevelUpLearnsets
+ lsls r1, r7, 2
+ adds r2, r1, r6
+ ldr r3, [r2]
+ ldrh r0, [r3]
+ ldr r4, _08040514 @ =0x0000ffff
+ str r1, [sp, 0x14]
+ cmp r0, r4
+ beq _080404FC
+ mov r9, r2
+ str r3, [sp, 0x10]
+_08040430:
+ lsls r2, r5, 1
+ ldr r1, [sp, 0x10]
+ adds r0, r2, r1
+ ldrh r3, [r0]
+ movs r0, 0xFE
+ lsls r0, 8
+ ands r0, r3
+ ldr r4, [sp, 0xC]
+ lsls r1, r4, 9
+ adds r7, r2, 0
+ adds r5, 0x1
+ mov r12, r5
+ cmp r0, r1
+ bgt _080404E6
+ movs r4, 0
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _08040518 @ =0x000001ff
+ ands r0, r3
+ cmp r1, r0
+ beq _08040480
+ ldr r0, [sp, 0x14]
+ ldr r1, _08040510 @ =gLevelUpLearnsets
+ adds r6, r0, r1
+ ldr r2, _08040518 @ =0x000001ff
+ mov r8, r2
+ mov r3, sp
+ adds r5, r7, 0
+_08040468:
+ adds r3, 0x2
+ adds r4, 0x1
+ cmp r4, 0x3
+ bgt _08040480
+ ldr r0, [r6]
+ adds r0, r5, r0
+ ldrh r1, [r0]
+ ldrh r2, [r3]
+ mov r0, r8
+ ands r0, r1
+ cmp r2, r0
+ bne _08040468
+_08040480:
+ cmp r4, 0x4
+ bne _080404E6
+ movs r4, 0
+ cmp r4, r10
+ bge _080404C4
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, r7, r0
+ ldrh r1, [r0]
+ ldr r0, [sp, 0x8]
+ ldrh r2, [r0]
+ ldr r0, _08040518 @ =0x000001ff
+ ands r0, r1
+ cmp r2, r0
+ beq _080404C4
+ ldr r1, [sp, 0x14]
+ ldr r2, _08040510 @ =gLevelUpLearnsets
+ adds r6, r1, r2
+ ldr r0, _08040518 @ =0x000001ff
+ mov r8, r0
+ ldr r3, [sp, 0x8]
+ adds r5, r7, 0
+_080404AC:
+ adds r3, 0x2
+ adds r4, 0x1
+ cmp r4, r10
+ bge _080404C4
+ ldr r0, [r6]
+ adds r0, r5, r0
+ ldrh r1, [r0]
+ ldrh r2, [r3]
+ mov r0, r8
+ ands r0, r1
+ cmp r2, r0
+ bne _080404AC
+_080404C4:
+ cmp r4, r10
+ bne _080404E6
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ lsls r2, r4, 1
+ ldr r1, [sp, 0x8]
+ adds r2, r1
+ mov r4, r9
+ ldr r0, [r4]
+ adds r0, r7, r0
+ ldrh r1, [r0]
+ ldr r0, _08040518 @ =0x000001ff
+ ands r0, r1
+ strh r0, [r2]
+_080404E6:
+ mov r5, r12
+ cmp r5, 0x13
+ bgt _080404FC
+ mov r1, r9
+ ldr r0, [r1]
+ lsls r1, r5, 1
+ adds r1, r0
+ ldrh r0, [r1]
+ ldr r2, _08040514 @ =0x0000ffff
+ cmp r0, r2
+ bne _08040430
+_080404FC:
+ mov r0, r10
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08040510: .4byte gLevelUpLearnsets
+_08040514: .4byte 0x0000ffff
+_08040518: .4byte 0x000001ff
+ thumb_func_end sub_80403CC
+
+ thumb_func_start sub_804051C
+sub_804051C: @ 804051C
+ push {r4-r7,lr}
+ adds r6, r1, 0
+ lsls r0, 16
+ movs r5, 0
+ movs r4, 0
+ ldr r1, _08040568 @ =gLevelUpLearnsets
+ lsrs r0, 14
+ adds r0, r1
+ ldr r2, [r0]
+ ldrh r0, [r2]
+ ldr r1, _0804056C @ =0x0000ffff
+ cmp r0, r1
+ beq _08040560
+ ldr r0, _08040570 @ =0x000001ff
+ mov r12, r0
+ adds r7, r1, 0
+ adds r3, r2, 0
+_0804053E:
+ adds r1, r5, 0
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 1
+ adds r1, r6
+ ldrh r2, [r3]
+ mov r0, r12
+ ands r0, r2
+ strh r0, [r1]
+ adds r3, 0x2
+ adds r4, 0x1
+ cmp r4, 0x13
+ bgt _08040560
+ ldrh r0, [r3]
+ cmp r0, r7
+ bne _0804053E
+_08040560:
+ adds r0, r5, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08040568: .4byte gLevelUpLearnsets
+_0804056C: .4byte 0x0000ffff
+_08040570: .4byte 0x000001ff
+ thumb_func_end sub_804051C
+
+ thumb_func_start sub_8040574
+sub_8040574: @ 8040574
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x3C
+ adds r6, r0, 0
+ movs r0, 0
+ mov r10, r0
+ adds r0, r6, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r4, r0, 16
+ adds r0, r6, 0
+ movs r1, 0x38
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x30]
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ bne _080405B0
+ movs r0, 0
+ b _080406BA
+_080405B0:
+ movs r5, 0
+ lsls r4, 2
+ str r4, [sp, 0x38]
+ mov r4, sp
+_080405B8:
+ adds r1, r5, 0
+ adds r1, 0xD
+ adds r0, r6, 0
+ movs r2, 0
+ bl GetMonData
+ strh r0, [r4]
+ adds r4, 0x2
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080405B8
+ movs r5, 0
+ ldr r3, _080406CC @ =gLevelUpLearnsets
+ ldr r2, [sp, 0x38]
+ adds r1, r2, r3
+ ldr r0, [r1]
+ ldrh r0, [r0]
+ ldr r2, _080406D0 @ =0x0000ffff
+ cmp r0, r2
+ beq _080406B8
+ mov r9, r1
+ mov r4, sp
+ adds r4, 0x8
+ str r4, [sp, 0x34]
+_080405E8:
+ mov r1, r9
+ ldr r0, [r1]
+ lsls r2, r5, 1
+ adds r0, r2, r0
+ ldrh r3, [r0]
+ movs r0, 0xFE
+ lsls r0, 8
+ ands r0, r3
+ ldr r4, [sp, 0x30]
+ lsls r1, r4, 9
+ adds r7, r2, 0
+ adds r5, 0x1
+ mov r12, r5
+ cmp r0, r1
+ bgt _080406A2
+ movs r4, 0
+ mov r0, sp
+ ldrh r1, [r0]
+ ldr r0, _080406D4 @ =0x000001ff
+ ands r0, r3
+ cmp r1, r0
+ beq _0804063A
+ ldr r0, [sp, 0x38]
+ ldr r1, _080406CC @ =gLevelUpLearnsets
+ adds r6, r0, r1
+ ldr r2, _080406D4 @ =0x000001ff
+ mov r8, r2
+ mov r3, sp
+ adds r5, r7, 0
+_08040622:
+ adds r3, 0x2
+ adds r4, 0x1
+ cmp r4, 0x3
+ bgt _0804063A
+ ldr r0, [r6]
+ adds r0, r5, r0
+ ldrh r1, [r0]
+ ldrh r2, [r3]
+ mov r0, r8
+ ands r0, r1
+ cmp r2, r0
+ bne _08040622
+_0804063A:
+ cmp r4, 0x4
+ bne _080406A2
+ movs r4, 0
+ cmp r4, r10
+ bge _08040680
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, r7, r0
+ ldrh r1, [r0]
+ ldr r0, [sp, 0x34]
+ ldrh r2, [r0]
+ ldr r0, _080406D4 @ =0x000001ff
+ ands r0, r1
+ add r1, sp, 0x8
+ cmp r2, r0
+ beq _08040680
+ ldr r2, [sp, 0x38]
+ ldr r0, _080406CC @ =gLevelUpLearnsets
+ adds r6, r2, r0
+ ldr r2, _080406D4 @ =0x000001ff
+ mov r8, r2
+ adds r3, r1, 0
+ adds r5, r7, 0
+_08040668:
+ adds r3, 0x2
+ adds r4, 0x1
+ cmp r4, r10
+ bge _08040680
+ ldr r0, [r6]
+ adds r0, r5, r0
+ ldrh r1, [r0]
+ ldrh r2, [r3]
+ mov r0, r8
+ ands r0, r1
+ cmp r2, r0
+ bne _08040668
+_08040680:
+ cmp r4, r10
+ bne _080406A2
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ lsls r2, r4, 1
+ ldr r4, [sp, 0x34]
+ adds r2, r4, r2
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, r7, r0
+ ldrh r1, [r0]
+ ldr r0, _080406D4 @ =0x000001ff
+ ands r0, r1
+ strh r0, [r2]
+_080406A2:
+ mov r5, r12
+ cmp r5, 0x13
+ bgt _080406B8
+ mov r2, r9
+ ldr r0, [r2]
+ lsls r1, r5, 1
+ adds r1, r0
+ ldrh r0, [r1]
+ ldr r4, _080406D0 @ =0x0000ffff
+ cmp r0, r4
+ bne _080405E8
+_080406B8:
+ mov r0, r10
+_080406BA:
+ add sp, 0x3C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080406CC: .4byte gLevelUpLearnsets
+_080406D0: .4byte 0x0000ffff
+_080406D4: .4byte 0x000001ff
+ thumb_func_end sub_8040574
+
+ thumb_func_start SpeciesToPokedexNum
+SpeciesToPokedexNum: @ 80406D8
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ bl IsNationalPokedex
+ cmp r0, 0
+ beq _080406F2
+ adds r0, r4, 0
+ bl SpeciesToNationalPokedexNum
+ lsls r0, 16
+ lsrs r0, 16
+ b _0804070A
+_080406F2:
+ adds r0, r4, 0
+ bl SpeciesToHoennPokedexNum
+ adds r4, r0, 0
+ cmp r4, 0xCA
+ bls _08040708
+ ldr r0, _08040704 @ =0x0000ffff
+ b _0804070A
+ .align 2, 0
+_08040704: .4byte 0x0000ffff
+_08040708:
+ adds r0, r4, 0
+_0804070A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end SpeciesToPokedexNum
+
+ thumb_func_start sub_8040710
+sub_8040710: @ 8040710
+ push {lr}
+ ldr r1, _08040724 @ =gUnknown_02024E84
+ movs r2, 0
+ adds r0, r1, 0x3
+_08040718:
+ strb r2, [r0]
+ subs r0, 0x1
+ cmp r0, r1
+ bge _08040718
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08040724: .4byte gUnknown_02024E84
+ thumb_func_end sub_8040710
+
+ thumb_func_start sub_8040728
+sub_8040728: @ 8040728
+ push {lr}
+ ldr r0, _0804073C @ =gUnknown_020239F8
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 5
+ ands r0, r1
+ cmp r0, 0
+ beq _08040744
+ ldr r0, _08040740 @ =0x000001cf
+ b _080408B2
+ .align 2, 0
+_0804073C: .4byte gUnknown_020239F8
+_08040740: .4byte 0x000001cf
+_08040744:
+ movs r0, 0x80
+ lsls r0, 7
+ ands r0, r1
+ cmp r0, 0
+ beq _08040754
+ movs r0, 0xE7
+ lsls r0, 1
+ b _080408B2
+_08040754:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0804075E
+ b _080408A8
+_0804075E:
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _08040768
+ b _080408B0
+_08040768:
+ ldr r3, _0804078C @ =gTrainers
+ ldr r2, _08040790 @ =gTrainerBattleOpponent
+ ldrh r1, [r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r3
+ ldrb r0, [r0, 0x1]
+ subs r0, 0x2
+ cmp r0, 0x31
+ bls _08040780
+ b _080408A8
+_08040780:
+ lsls r0, 2
+ ldr r1, _08040794 @ =_08040798
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804078C: .4byte gTrainers
+_08040790: .4byte gTrainerBattleOpponent
+_08040794: .4byte _08040798
+ .align 2, 0
+_08040798:
+ .4byte _08040860
+ .4byte _08040866
+ .4byte _08040866
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A0
+ .4byte _0804086C
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _08040872
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _0804087C
+ .4byte _080408A8
+ .4byte _080408A8
+ .4byte _08040860
+ .4byte _08040866
+ .4byte _08040866
+_08040860:
+ movs r0, 0xE9
+ lsls r0, 1
+ b _080408B2
+_08040866:
+ movs r0, 0xE5
+ lsls r0, 1
+ b _080408B2
+_0804086C:
+ movs r0, 0xE6
+ lsls r0, 1
+ b _080408B2
+_08040872:
+ ldr r0, _08040878 @ =0x000001cd
+ b _080408B2
+ .align 2, 0
+_08040878: .4byte 0x000001cd
+_0804087C:
+ ldrh r1, [r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, _08040898 @ =gTrainers + 0x4
+ adds r0, r1
+ ldr r1, _0804089C @ =gUnknown_08400E42
+ bl StringCompare
+ cmp r0, 0
+ beq _080408A8
+ movs r0, 0xE8
+ lsls r0, 1
+ b _080408B2
+ .align 2, 0
+_08040898: .4byte gTrainers + 0x4
+_0804089C: .4byte gUnknown_08400E42
+_080408A0:
+ ldr r0, _080408A4 @ =0x000001d1
+ b _080408B2
+ .align 2, 0
+_080408A4: .4byte 0x000001d1
+_080408A8:
+ ldr r0, _080408AC @ =0x000001cb
+ b _080408B2
+ .align 2, 0
+_080408AC: .4byte 0x000001cb
+_080408B0:
+ ldr r0, _080408B8 @ =0x000001c9
+_080408B2:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080408B8: .4byte 0x000001c9
+ thumb_func_end sub_8040728
+
+ thumb_func_start sub_80408BC
+sub_80408BC: @ 80408BC
+ push {lr}
+ bl ResetMapMusic
+ bl m4aMPlayAllStop
+ bl sub_8040728
+ lsls r0, 16
+ lsrs r0, 16
+ bl PlayBGM
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80408BC
+
+ thumb_func_start current_map_music_set__default_for_battle
+current_map_music_set__default_for_battle: @ 80408D8
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ bl ResetMapMusic
+ bl m4aMPlayAllStop
+ cmp r4, 0
+ beq _080408F2
+ adds r0, r4, 0
+ bl PlayNewMapMusic
+ b _080408FE
+_080408F2:
+ bl sub_8040728
+ lsls r0, 16
+ lsrs r0, 16
+ bl PlayNewMapMusic
+_080408FE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end current_map_music_set__default_for_battle
+
+ thumb_func_start pokemon_get_pal
+pokemon_get_pal: @ 8040904
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ movs r1, 0x1
+ movs r2, 0
+ bl GetMonData
+ adds r6, r0, 0
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0
+ bl GetMonData
+ adds r2, r0, 0
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl species_and_otid_get_pal
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end pokemon_get_pal
+
+ thumb_func_start species_and_otid_get_pal
+species_and_otid_get_pal: @ 804093C
+ push {r4,r5,lr}
+ adds r3, r2, 0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ adds r5, r4, 0
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ bls _08040958
+ ldr r0, _08040954 @ =gMonPaletteTable
+ ldr r0, [r0]
+ b _08040984
+ .align 2, 0
+_08040954: .4byte gMonPaletteTable
+_08040958:
+ lsrs r0, r1, 16
+ ldr r2, _08040974 @ =0x0000ffff
+ ands r1, r2
+ eors r0, r1
+ lsrs r1, r3, 16
+ eors r0, r1
+ ands r3, r2
+ eors r0, r3
+ cmp r0, 0x7
+ bls _0804097C
+ ldr r0, _08040978 @ =gMonPaletteTable
+ lsls r1, r4, 3
+ b _08040980
+ .align 2, 0
+_08040974: .4byte 0x0000ffff
+_08040978: .4byte gMonPaletteTable
+_0804097C:
+ ldr r0, _0804098C @ =gMonShinyPaletteTable
+ lsls r1, r5, 3
+_08040980:
+ adds r1, r0
+ ldr r0, [r1]
+_08040984:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0804098C: .4byte gMonShinyPaletteTable
+ thumb_func_end species_and_otid_get_pal
+
+ thumb_func_start sub_8040990
+sub_8040990: @ 8040990
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ movs r1, 0x1
+ movs r2, 0
+ bl GetMonData
+ adds r6, r0, 0
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0
+ bl GetMonData
+ adds r2, r0, 0
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_80409C8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8040990
+
+ thumb_func_start sub_80409C8
+sub_80409C8: @ 80409C8
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ lsrs r0, r1, 16
+ ldr r3, _080409E8 @ =0x0000ffff
+ ands r1, r3
+ eors r0, r1
+ lsrs r1, r2, 16
+ eors r0, r1
+ ands r2, r3
+ eors r0, r2
+ cmp r0, 0x7
+ bls _080409F0
+ lsls r0, r4, 3
+ ldr r1, _080409EC @ =gMonPaletteTable
+ b _080409F4
+ .align 2, 0
+_080409E8: .4byte 0x0000ffff
+_080409EC: .4byte gMonPaletteTable
+_080409F0:
+ lsls r0, r4, 3
+ ldr r1, _080409FC @ =gMonShinyPaletteTable
+_080409F4:
+ adds r0, r1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080409FC: .4byte gMonShinyPaletteTable
+ thumb_func_end sub_80409C8
+
+ thumb_func_start sub_8040A00
+sub_8040A00: @ 8040A00
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldr r2, _08040A24 @ =gUnknown_0820831A
+ ldrh r0, [r2]
+ ldr r1, _08040A28 @ =0x0000ffff
+ cmp r0, r1
+ beq _08040A32
+ adds r4, r1, 0
+ adds r1, r2, 0
+_08040A14:
+ ldrh r0, [r2]
+ adds r1, 0x2
+ adds r2, 0x2
+ cmp r0, r3
+ bne _08040A2C
+ movs r0, 0x1
+ b _08040A34
+ .align 2, 0
+_08040A24: .4byte gUnknown_0820831A
+_08040A28: .4byte 0x0000ffff
+_08040A2C:
+ ldrh r0, [r1]
+ cmp r0, r4
+ bne _08040A14
+_08040A32:
+ movs r0, 0
+_08040A34:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8040A00
+
+ thumb_func_start sub_8040A3C
+sub_8040A3C: @ 8040A3C
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _08040A50 @ =gBaseStats
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x19]
+ lsrs r0, 7
+ bx lr
+ .align 2, 0
+_08040A50: .4byte gBaseStats
+ thumb_func_end sub_8040A3C
+
+ thumb_func_start sub_8040A54
+sub_8040A54: @ 8040A54
+ push {r4,lr}
+ lsls r4, r1, 24
+ lsrs r4, 24
+ bl GetNature
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08040A78 @ =gUnknown_083F7E28
+ lsls r1, r0, 2
+ adds r1, r0
+ adds r1, r4
+ adds r1, r2
+ movs r0, 0
+ ldrsb r0, [r1, r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08040A78: .4byte gUnknown_083F7E28
+ thumb_func_end sub_8040A54
+
+ thumb_func_start sub_8040A7C
+sub_8040A7C: @ 8040A7C
+ push {r4,lr}
+ lsls r4, r1, 24
+ lsrs r4, 24
+ bl GetNatureFromPersonality
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08040AA0 @ =gUnknown_083F7E28
+ lsls r1, r0, 2
+ adds r1, r0
+ adds r1, r4
+ adds r1, r2
+ movs r0, 0
+ ldrsb r0, [r1, r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08040AA0: .4byte gUnknown_083F7E28
+ thumb_func_end sub_8040A7C
+
+ thumb_func_start sub_8040AA4
+sub_8040AA4: @ 8040AA4
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ movs r1, 0x7
+ mov r2, sp
+ bl GetMonData
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r2, 0
+ bl GetMonData
+ mov r1, sp
+ bl sub_8040AD0
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8040AA4
+
+ thumb_func_start sub_8040AD0
+sub_8040AD0: @ 8040AD0
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ ldr r3, _08040B10 @ =gSaveBlock2
+ ldrb r2, [r3, 0xA]
+ ldrb r1, [r3, 0xB]
+ lsls r1, 8
+ orrs r2, r1
+ ldrb r1, [r3, 0xC]
+ lsls r1, 16
+ orrs r2, r1
+ ldrb r1, [r3, 0xD]
+ lsls r1, 24
+ orrs r2, r1
+ cmp r0, r2
+ bne _08040B14
+ movs r4, 0
+ ldrb r0, [r5]
+ cmp r0, 0xFF
+ beq _08040B0C
+ adds r2, r5, 0
+_08040AF8:
+ adds r1, r4, r3
+ ldrb r0, [r2]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bne _08040B14
+ adds r2, 0x1
+ adds r4, 0x1
+ ldrb r0, [r2]
+ cmp r0, 0xFF
+ bne _08040AF8
+_08040B0C:
+ movs r0, 0
+ b _08040B16
+ .align 2, 0
+_08040B10: .4byte gSaveBlock2
+_08040B14:
+ movs r0, 0x1
+_08040B16:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8040AD0
+
+ thumb_func_start sub_8040B1C
+sub_8040B1C: @ 8040B1C
+ push {lr}
+ bl pokemon_restore_pp
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8040B1C
+
+ thumb_func_start pokemon_restore_pp
+pokemon_restore_pp: @ 8040B28
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ movs r6, 0
+_08040B30:
+ adds r4, r6, 0
+ adds r4, 0xD
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetBoxMonData
+ cmp r0, 0
+ beq _08040B7C
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetBoxMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ movs r1, 0x15
+ movs r2, 0
+ bl GetBoxMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, r6, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ bl CalculatePPWithBonus
+ mov r1, sp
+ strb r0, [r1]
+ adds r1, r6, 0
+ adds r1, 0x11
+ adds r0, r5, 0
+ mov r2, sp
+ bl SetBoxMonData
+_08040B7C:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08040B30
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end pokemon_restore_pp
+
+ thumb_func_start sub_8040B8C
+sub_8040B8C: @ 8040B8C
+ push {r4,r5,lr}
+ ldr r1, _08040BCC @ =byte_2024C06
+ ldr r2, _08040BD0 @ =0x02000000
+ ldr r3, _08040BD4 @ =0x000160c0
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r5, _08040BD8 @ =gUnknown_030041C0
+ movs r0, 0xFD
+ strb r0, [r5]
+ movs r0, 0x4
+ strb r0, [r5, 0x1]
+ ldr r0, _08040BDC @ =0x00016054
+ adds r4, r2, r0
+ ldrb r0, [r4]
+ strb r0, [r5, 0x2]
+ movs r0, 0xFF
+ strb r0, [r5, 0x4]
+ ldrb r0, [r4]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _08040BE4
+ ldr r1, _08040BE0 @ =gUnknown_02024A6A
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ bl pokemon_order_func
+ b _08040BEE
+ .align 2, 0
+_08040BCC: .4byte byte_2024C06
+_08040BD0: .4byte 0x02000000
+_08040BD4: .4byte 0x000160c0
+_08040BD8: .4byte gUnknown_030041C0
+_08040BDC: .4byte 0x00016054
+_08040BE0: .4byte gUnknown_02024A6A
+_08040BE4:
+ ldr r0, _08040C24 @ =gUnknown_02024A6A
+ ldrb r1, [r4]
+ lsls r1, 1
+ adds r1, r0
+ ldrh r0, [r1]
+_08040BEE:
+ strb r0, [r5, 0x3]
+ ldr r4, _08040C28 @ =gUnknown_03004290
+ movs r0, 0xFD
+ strb r0, [r4]
+ movs r0, 0x4
+ strb r0, [r4, 0x1]
+ ldr r1, _08040C2C @ =gUnknown_02024E6C
+ ldrb r0, [r1]
+ strb r0, [r4, 0x2]
+ ldr r2, _08040C24 @ =gUnknown_02024A6A
+ ldrb r0, [r1]
+ lsls r0, 1
+ adds r0, r2
+ ldrb r0, [r0]
+ bl pokemon_order_func
+ strb r0, [r4, 0x3]
+ movs r0, 0xFF
+ strb r0, [r4, 0x4]
+ ldr r0, _08040C30 @ =gUnknown_083FFCCA
+ ldr r1, _08040C34 @ =gStringVar4
+ bl sub_8120FFC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08040C24: .4byte gUnknown_02024A6A
+_08040C28: .4byte gUnknown_03004290
+_08040C2C: .4byte gUnknown_02024E6C
+_08040C30: .4byte gUnknown_083FFCCA
+_08040C34: .4byte gStringVar4
+ thumb_func_end sub_8040B8C
+
+ thumb_func_start sub_8040C38
+sub_8040C38: @ 8040C38
+ push {r4,r5,lr}
+ ldr r0, _08040C90 @ =gUnknown_020239F8
+ ldrh r1, [r0]
+ ldr r0, _08040C94 @ =0x00002008
+ ands r0, r1
+ cmp r0, 0
+ bne _08040CAC
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x64
+ bl __umodsi3
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r4, _08040C98 @ =gEnemyParty
+ adds r0, r4, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _08040C9C @ =gBaseStats
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r3, r1, 2
+ adds r1, r3, r2
+ ldrh r0, [r1, 0xC]
+ ldrh r1, [r1, 0xE]
+ cmp r0, r1
+ beq _08040C82
+ cmp r5, 0x2C
+ bls _08040CAC
+ cmp r5, 0x5E
+ bhi _08040CA0
+_08040C82:
+ adds r2, 0xC
+ adds r2, r3, r2
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl SetMonData
+ b _08040CAC
+ .align 2, 0
+_08040C90: .4byte gUnknown_020239F8
+_08040C94: .4byte 0x00002008
+_08040C98: .4byte gEnemyParty
+_08040C9C: .4byte gBaseStats
+_08040CA0:
+ adds r2, 0xE
+ adds r2, r3, r2
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl SetMonData
+_08040CAC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8040C38
+
+ thumb_func_start sub_8040CB4
+sub_8040CB4: @ 8040CB4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ movs r2, 0
+ bl GetMonData
+ adds r5, r0, 0
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8040CE0
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8040CB4
+
+ thumb_func_start sub_8040CE0
+sub_8040CE0: @ 8040CE0
+ push {r4,lr}
+ movs r4, 0
+ lsrs r2, r0, 16
+ ldr r3, _08040D04 @ =0x0000ffff
+ ands r0, r3
+ eors r2, r0
+ lsrs r0, r1, 16
+ eors r2, r0
+ ands r1, r3
+ eors r2, r1
+ cmp r2, 0x7
+ bhi _08040CFA
+ movs r4, 0x1
+_08040CFA:
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08040D04: .4byte 0x0000ffff
+ thumb_func_end sub_8040CE0
+
+ thumb_func_start sub_8040D08
+sub_8040D08: @ 8040D08
+ push {r4,lr}
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _08040D38 @ =gLinkPlayers
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r1, [r1, 0x18]
+ movs r0, 0x2
+ eors r0, r1
+ bl sub_803FC34
+ adds r1, r0, 0
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r4, 0x8
+ adds r0, r4
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08040D38: .4byte gLinkPlayers
+ thumb_func_end sub_8040D08
+
+ thumb_func_start sub_8040D3C
+sub_8040D3C: @ 8040D3C
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r0, r1, 0
+ lsls r2, 24
+ lsrs r2, 24
+ movs r3, 0
+ cmp r1, 0x20
+ beq _08040D54
+ cmp r1, 0x1D
+ bne _08040D7E
+_08040D54:
+ cmp r2, 0x2
+ bne _08040D68
+ movs r0, 0xB
+ muls r1, r0
+ ldr r0, _08040D64 @ =gSpeciesNames
+ adds r1, r0
+ b _08040D70
+ .align 2, 0
+_08040D64: .4byte gSpeciesNames
+_08040D68:
+ ldr r1, _08040D88 @ =gUnknown_08208337
+ cmp r0, 0x20
+ bne _08040D70
+ subs r1, 0xB
+_08040D70:
+ adds r0, r4, 0
+ bl StringCompareWithoutExtCtrlCodes
+ movs r3, 0
+ cmp r0, 0
+ bne _08040D7E
+ movs r3, 0x1
+_08040D7E:
+ adds r0, r3, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08040D88: .4byte gUnknown_08208337
+ thumb_func_end sub_8040D3C
+
+ thumb_func_start sub_8040D8C
+sub_8040D8C: @ 8040D8C
+ push {lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ movs r2, 0x2
+ ldrb r0, [r1]
+ cmp r0, 0xFC
+ bne _08040DA2
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0x15
+ bne _08040DA2
+ movs r2, 0x1
+_08040DA2:
+ adds r0, r3, 0
+ bl sub_8040D3C
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8040D8C
+
+ thumb_func_start unref_sub_8040DAC
+unref_sub_8040DAC: @ 8040DAC
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r6, r0, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r6, 0
+ movs r1, 0x3
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r6, 0
+ movs r1, 0x2
+ mov r2, sp
+ bl GetMonData
+ adds r0, r5, 0
+ mov r1, sp
+ adds r2, r4, 0
+ bl sub_8040D3C
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end unref_sub_8040DAC
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s
new file mode 100644
index 000000000..a8a0ce89d
--- /dev/null
+++ b/asm/pokemon_item_effect.s
@@ -0,0 +1,1970 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start ExecuteTableBasedItemEffect_
+ExecuteTableBasedItemEffect_: @ 803E18C
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ movs r4, 0
+ str r4, [sp]
+ bl sub_803E1B0
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end ExecuteTableBasedItemEffect_
+
+ thumb_func_start sub_803E1B0
+sub_803E1B0: @ 803E1B0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x3C
+ mov r8, r0
+ ldr r0, [sp, 0x5C]
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp, 0x8]
+ lsls r2, 24
+ lsrs r2, 24
+ str r2, [sp, 0xC]
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp, 0x10]
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x14]
+ movs r0, 0x1
+ str r0, [sp, 0x1C]
+ movs r1, 0x6
+ str r1, [sp, 0x24]
+ movs r2, 0
+ str r2, [sp, 0x2C]
+ movs r3, 0x4
+ str r3, [sp, 0x34]
+ mov r0, r8
+ movs r1, 0xC
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xAF
+ bne _0803E240
+ ldr r0, _0803E21C @ =gMain
+ ldr r4, _0803E220 @ =0x0000043d
+ adds r0, r4
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E22C
+ ldr r2, _0803E224 @ =gEnigmaBerries
+ ldr r0, _0803E228 @ =gUnknown_02024E6C
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x7]
+ b _0803E248
+ .align 2, 0
+_0803E21C: .4byte gMain
+_0803E220: .4byte 0x0000043d
+_0803E224: .4byte gEnigmaBerries
+_0803E228: .4byte gUnknown_02024E6C
+_0803E22C:
+ ldr r0, _0803E238 @ =gSaveBlock1
+ ldr r5, _0803E23C @ =0x00003688
+ adds r0, r5
+ ldrb r0, [r0]
+ b _0803E248
+ .align 2, 0
+_0803E238: .4byte gSaveBlock1
+_0803E23C: .4byte 0x00003688
+_0803E240:
+ bl ItemId_GetHoldEffect
+ lsls r0, 24
+ lsrs r0, 24
+_0803E248:
+ str r0, [sp, 0x30]
+ ldr r1, _0803E2A4 @ =gUnknown_02024C0B
+ ldr r0, _0803E2A8 @ =gUnknown_02024E6C
+ ldrb r2, [r0]
+ strb r2, [r1]
+ ldr r0, _0803E2AC @ =gMain
+ ldr r1, _0803E2B0 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _0803E2E8
+ ldr r0, _0803E2B4 @ =gUnknown_02024A60
+ strb r2, [r0]
+ ldrb r0, [r0]
+ bl battle_side_get_owner
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ str r1, [sp, 0x18]
+ ldr r0, _0803E2B8 @ =gUnknown_02024A68
+ ldr r4, [sp, 0x8]
+ subs r4, 0xD
+ ldrb r0, [r0]
+ cmp r1, r0
+ bge _0803E2F4
+ ldr r2, _0803E2BC @ =gUnknown_02024A6A
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r3, [r0]
+ ldr r5, [sp, 0xC]
+ lsls r0, r5, 16
+ lsrs r1, r0, 16
+ adds r5, r0, 0
+ cmp r3, r1
+ bne _0803E2C0
+ ldr r0, [sp, 0x18]
+ str r0, [sp, 0x34]
+ b _0803E2F4
+ .align 2, 0
+_0803E2A4: .4byte gUnknown_02024C0B
+_0803E2A8: .4byte gUnknown_02024E6C
+_0803E2AC: .4byte gMain
+_0803E2B0: .4byte 0x0000043d
+_0803E2B4: .4byte gUnknown_02024A60
+_0803E2B8: .4byte gUnknown_02024A68
+_0803E2BC: .4byte gUnknown_02024A6A
+_0803E2C0:
+ ldr r1, [sp, 0x18]
+ adds r1, 0x2
+ str r1, [sp, 0x18]
+ ldr r0, _0803E2E4 @ =gUnknown_02024A68
+ ldrb r0, [r0]
+ cmp r1, r0
+ bge _0803E2F4
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r1, [r0]
+ lsrs r0, r5, 16
+ cmp r1, r0
+ bne _0803E2C0
+ ldr r2, [sp, 0x18]
+ lsls r0, r2, 24
+ lsrs r0, 24
+ str r0, [sp, 0x34]
+ b _0803E2F4
+ .align 2, 0
+_0803E2E4: .4byte gUnknown_02024A68
+_0803E2E8:
+ ldr r0, _0803E310 @ =gUnknown_02024A60
+ strb r1, [r0]
+ movs r3, 0x4
+ str r3, [sp, 0x34]
+ ldr r4, [sp, 0x8]
+ subs r4, 0xD
+_0803E2F4:
+ lsls r0, r4, 16
+ lsrs r0, 16
+ cmp r0, 0xA5
+ bhi _0803E36C
+ ldr r1, _0803E314 @ =gItemEffectTable
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0803E318
+ ldr r4, [sp, 0x8]
+ cmp r4, 0xAF
+ beq _0803E31E
+ b _0803E36C
+ .align 2, 0
+_0803E310: .4byte gUnknown_02024A60
+_0803E314: .4byte gItemEffectTable
+_0803E318:
+ ldr r5, [sp, 0x8]
+ cmp r5, 0xAF
+ bne _0803E372
+_0803E31E:
+ ldr r0, _0803E340 @ =gMain
+ ldr r1, _0803E344 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E350
+ ldr r0, _0803E348 @ =gUnknown_02024A60
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ ldr r1, _0803E34C @ =gUnknown_02024DF8
+ adds r0, r1
+ b _0803E372
+ .align 2, 0
+_0803E340: .4byte gMain
+_0803E344: .4byte 0x0000043d
+_0803E348: .4byte gUnknown_02024A60
+_0803E34C: .4byte gUnknown_02024DF8
+_0803E350:
+ ldr r2, _0803E358 @ =gSaveBlock1 + 0x3676
+ str r2, [sp, 0x20]
+ b _0803E374
+ .align 2, 0
+_0803E358: .4byte gSaveBlock1 + 0x3676
+_0803E35C:
+ mov r0, r8
+ movs r2, 0
+ ldr r3, [sp, 0xC]
+ bl BeginEvolutionScene
+ movs r0, 0
+ bl _0803F15C
+_0803E36C:
+ movs r0, 0x1
+ bl _0803F15C
+_0803E372:
+ str r0, [sp, 0x20]
+_0803E374:
+ movs r3, 0
+ str r3, [sp, 0x18]
+_0803E378:
+ ldr r4, [sp, 0x18]
+ cmp r4, 0x5
+ bls _0803E382
+ bl _0803F14C
+_0803E382:
+ lsls r0, r4, 2
+ ldr r1, _0803E38C @ =_0803E390
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803E38C: .4byte _0803E390
+ .align 2, 0
+_0803E390:
+ .4byte _0803E3A8
+ .4byte _0803E474
+ .4byte _0803E508
+ .4byte _0803E59C
+ .4byte _0803E77C
+ .4byte _0803EE1E
+_0803E3A8:
+ ldr r5, [sp, 0x20]
+ ldr r0, [sp, 0x18]
+ adds r2, r5, r0
+ ldrb r1, [r2]
+ movs r0, 0x80
+ ands r0, r1
+ adds r6, r2, 0
+ cmp r0, 0
+ beq _0803E3F0
+ ldr r0, _0803E460 @ =gMain
+ ldr r1, _0803E464 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E3F0
+ ldr r2, [sp, 0x34]
+ cmp r2, 0x4
+ beq _0803E3F0
+ ldr r1, _0803E468 @ =gBattleMons
+ movs r0, 0x58
+ muls r0, r2
+ adds r1, 0x50
+ adds r2, r0, r1
+ ldr r1, [r2]
+ movs r0, 0xF0
+ lsls r0, 12
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E3F0
+ ldr r0, _0803E46C @ =0xfff0ffff
+ ands r1, r0
+ str r1, [r2]
+ movs r3, 0
+ str r3, [sp, 0x1C]
+_0803E3F0:
+ ldrb r1, [r6]
+ movs r0, 0x30
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E41E
+ ldr r1, _0803E468 @ =gBattleMons
+ ldr r0, _0803E470 @ =gUnknown_02024A60
+ ldrb r2, [r0]
+ movs r0, 0x58
+ muls r0, r2
+ adds r1, 0x50
+ adds r2, r0, r1
+ ldr r1, [r2]
+ movs r3, 0x80
+ lsls r3, 13
+ adds r0, r1, 0
+ ands r0, r3
+ cmp r0, 0
+ bne _0803E41E
+ orrs r1, r3
+ str r1, [r2]
+ movs r4, 0
+ str r4, [sp, 0x1C]
+_0803E41E:
+ ldrb r0, [r6]
+ movs r3, 0xF
+ ands r3, r0
+ cmp r3, 0
+ bne _0803E42C
+ bl _0803F14C
+_0803E42C:
+ ldr r6, _0803E468 @ =gBattleMons
+ ldr r5, _0803E470 @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ movs r4, 0x58
+ muls r0, r4
+ adds r1, r0, r6
+ ldrb r2, [r1, 0x19]
+ movs r0, 0x19
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xB
+ ble _0803E446
+ bl _0803F14C
+_0803E446:
+ adds r0, r2, r3
+ strb r0, [r1, 0x19]
+ ldrb r0, [r5]
+ muls r0, r4
+ adds r1, r0, r6
+ movs r0, 0x19
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xC
+ bgt _0803E45A
+ b _0803E74E
+_0803E45A:
+ movs r0, 0xC
+ strb r0, [r1, 0x19]
+ b _0803E74E
+ .align 2, 0
+_0803E460: .4byte gMain
+_0803E464: .4byte 0x0000043d
+_0803E468: .4byte gBattleMons
+_0803E46C: .4byte 0xfff0ffff
+_0803E470: .4byte gUnknown_02024A60
+_0803E474:
+ ldr r0, [sp, 0x20]
+ ldr r1, [sp, 0x18]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0xF0
+ ands r0, r1
+ lsls r3, r0, 24
+ adds r6, r2, 0
+ cmp r3, 0
+ beq _0803E4BA
+ ldr r7, _0803E500 @ =gBattleMons
+ ldr r5, _0803E504 @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ movs r4, 0x58
+ muls r0, r4
+ adds r1, r0, r7
+ ldrb r2, [r1, 0x1A]
+ movs r0, 0x1A
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xB
+ bgt _0803E4BA
+ lsrs r0, r3, 28
+ adds r0, r2, r0
+ strb r0, [r1, 0x1A]
+ ldrb r0, [r5]
+ muls r0, r4
+ adds r1, r0, r7
+ movs r0, 0x1A
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xC
+ ble _0803E4B6
+ movs r0, 0xC
+ strb r0, [r1, 0x1A]
+_0803E4B6:
+ movs r2, 0
+ str r2, [sp, 0x1C]
+_0803E4BA:
+ ldrb r0, [r6]
+ movs r3, 0xF
+ ands r3, r0
+ cmp r3, 0
+ bne _0803E4C8
+ bl _0803F14C
+_0803E4C8:
+ ldr r6, _0803E500 @ =gBattleMons
+ ldr r5, _0803E504 @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ movs r4, 0x58
+ muls r0, r4
+ adds r1, r0, r6
+ ldrb r2, [r1, 0x1B]
+ movs r0, 0x1B
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xB
+ ble _0803E4E2
+ bl _0803F14C
+_0803E4E2:
+ adds r0, r2, r3
+ strb r0, [r1, 0x1B]
+ ldrb r0, [r5]
+ muls r0, r4
+ adds r1, r0, r6
+ movs r0, 0x1B
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xC
+ ble _0803E4F8
+ movs r0, 0xC
+ strb r0, [r1, 0x1B]
+_0803E4F8:
+ movs r3, 0
+ str r3, [sp, 0x1C]
+ bl _0803F14C
+ .align 2, 0
+_0803E500: .4byte gBattleMons
+_0803E504: .4byte gUnknown_02024A60
+_0803E508:
+ ldr r4, [sp, 0x20]
+ ldr r5, [sp, 0x18]
+ adds r2, r4, r5
+ ldrb r1, [r2]
+ movs r0, 0xF0
+ ands r0, r1
+ lsls r3, r0, 24
+ adds r6, r2, 0
+ cmp r3, 0
+ beq _0803E54E
+ ldr r7, _0803E594 @ =gBattleMons
+ ldr r5, _0803E598 @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ movs r4, 0x58
+ muls r0, r4
+ adds r1, r0, r7
+ ldrb r2, [r1, 0x1E]
+ movs r0, 0x1E
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xB
+ bgt _0803E54E
+ lsrs r0, r3, 28
+ adds r0, r2, r0
+ strb r0, [r1, 0x1E]
+ ldrb r0, [r5]
+ muls r0, r4
+ adds r1, r0, r7
+ movs r0, 0x1E
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xC
+ ble _0803E54A
+ movs r0, 0xC
+ strb r0, [r1, 0x1E]
+_0803E54A:
+ movs r0, 0
+ str r0, [sp, 0x1C]
+_0803E54E:
+ ldrb r0, [r6]
+ movs r3, 0xF
+ ands r3, r0
+ cmp r3, 0
+ bne _0803E55C
+ bl _0803F14C
+_0803E55C:
+ ldr r6, _0803E594 @ =gBattleMons
+ ldr r5, _0803E598 @ =gUnknown_02024A60
+ ldrb r0, [r5]
+ movs r4, 0x58
+ muls r0, r4
+ adds r1, r0, r6
+ ldrb r2, [r1, 0x1C]
+ movs r0, 0x1C
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xB
+ ble _0803E576
+ bl _0803F14C
+_0803E576:
+ adds r0, r2, r3
+ strb r0, [r1, 0x1C]
+ ldrb r0, [r5]
+ muls r0, r4
+ adds r1, r0, r6
+ movs r0, 0x1C
+ ldrsb r0, [r1, r0]
+ cmp r0, 0xC
+ ble _0803E58C
+ movs r0, 0xC
+ strb r0, [r1, 0x1C]
+_0803E58C:
+ movs r1, 0
+ str r1, [sp, 0x1C]
+ bl _0803F14C
+ .align 2, 0
+_0803E594: .4byte gBattleMons
+_0803E598: .4byte gUnknown_02024A60
+_0803E59C:
+ ldr r3, [sp, 0x20]
+ ldr r4, [sp, 0x18]
+ adds r2, r3, r4
+ ldrb r1, [r2]
+ movs r0, 0x80
+ ands r0, r1
+ adds r6, r2, 0
+ cmp r0, 0
+ beq _0803E5E4
+ ldr r5, _0803E758 @ =gUnknown_02024C80
+ ldr r4, _0803E75C @ =gUnknown_02024A60
+ ldrb r0, [r4]
+ bl battle_side_get_owner
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _0803E5E4
+ ldrb r0, [r4]
+ bl battle_side_get_owner
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ movs r0, 0x5
+ strb r0, [r1, 0x2]
+ movs r5, 0
+ str r5, [sp, 0x1C]
+_0803E5E4:
+ ldrb r1, [r6]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E646
+ mov r0, r8
+ movs r1, 0x38
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0x64
+ beq _0803E646
+ ldr r5, _0803E760 @ =gExperienceTables
+ mov r0, r8
+ movs r1, 0x38
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ mov r0, r8
+ movs r1, 0xB
+ movs r2, 0
+ bl GetMonData
+ adds r4, 0x1
+ lsls r4, 2
+ ldr r2, _0803E764 @ =gBaseStats
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r1, [r1, 0x13]
+ movs r0, 0xCA
+ lsls r0, 1
+ muls r0, r1
+ adds r4, r0
+ adds r4, r5
+ ldr r0, [r4]
+ str r0, [sp]
+ mov r0, r8
+ movs r1, 0x19
+ mov r2, sp
+ bl SetMonData
+ mov r0, r8
+ bl CalculateMonStats
+ movs r0, 0
+ str r0, [sp, 0x1C]
+_0803E646:
+ ldrb r1, [r6]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E682
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ movs r2, 0x7
+ ldr r3, [sp, 0x34]
+ bl HealStatusConditions
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803E682
+ ldr r1, [sp, 0x34]
+ cmp r1, 0x4
+ beq _0803E67E
+ ldr r1, _0803E768 @ =gBattleMons
+ movs r0, 0x58
+ ldr r3, [sp, 0x34]
+ adds r2, r3, 0
+ muls r2, r0
+ adds r1, 0x50
+ adds r2, r1
+ ldr r0, [r2]
+ ldr r1, _0803E76C @ =0xf7ffffff
+ ands r0, r1
+ str r0, [r2]
+_0803E67E:
+ movs r4, 0
+ str r4, [sp, 0x1C]
+_0803E682:
+ ldrb r1, [r6]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E6A2
+ ldr r2, _0803E770 @ =0x00000f88
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ ldr r3, [sp, 0x34]
+ bl HealStatusConditions
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803E6A2
+ movs r5, 0
+ str r5, [sp, 0x1C]
+_0803E6A2:
+ ldrb r1, [r6]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E6C2
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ movs r2, 0x10
+ ldr r3, [sp, 0x34]
+ bl HealStatusConditions
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803E6C2
+ movs r0, 0
+ str r0, [sp, 0x1C]
+_0803E6C2:
+ ldrb r1, [r6]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E6E2
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ movs r2, 0x20
+ ldr r3, [sp, 0x34]
+ bl HealStatusConditions
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803E6E2
+ movs r1, 0
+ str r1, [sp, 0x1C]
+_0803E6E2:
+ ldrb r1, [r6]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803E702
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ movs r2, 0x40
+ ldr r3, [sp, 0x34]
+ bl HealStatusConditions
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803E702
+ movs r2, 0
+ str r2, [sp, 0x1C]
+_0803E702:
+ ldrb r1, [r6]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0803E710
+ bl _0803F14C
+_0803E710:
+ ldr r0, _0803E774 @ =gMain
+ ldr r3, _0803E778 @ =0x0000043d
+ adds r0, r3
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0803E724
+ bl _0803F14C
+_0803E724:
+ ldr r4, [sp, 0x34]
+ cmp r4, 0x4
+ bne _0803E72E
+ bl _0803F14C
+_0803E72E:
+ ldr r1, _0803E768 @ =gBattleMons
+ movs r0, 0x58
+ muls r0, r4
+ adds r1, 0x50
+ adds r2, r0, r1
+ ldr r1, [r2]
+ movs r0, 0x7
+ ands r0, r1
+ cmp r0, 0
+ bne _0803E746
+ bl _0803F14C
+_0803E746:
+ movs r0, 0x8
+ negs r0, r0
+ ands r1, r0
+ str r1, [r2]
+_0803E74E:
+ movs r5, 0
+ str r5, [sp, 0x1C]
+ bl _0803F14C
+ .align 2, 0
+_0803E758: .4byte gUnknown_02024C80
+_0803E75C: .4byte gUnknown_02024A60
+_0803E760: .4byte gExperienceTables
+_0803E764: .4byte gBaseStats
+_0803E768: .4byte gBattleMons
+_0803E76C: .4byte 0xf7ffffff
+_0803E770: .4byte 0x00000f88
+_0803E774: .4byte gMain
+_0803E778: .4byte 0x0000043d
+_0803E77C:
+ ldr r1, [sp, 0x20]
+ ldr r2, [sp, 0x18]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ mov r10, r0
+ movs r0, 0x20
+ mov r3, r10
+ ands r0, r3
+ cmp r0, 0
+ beq _0803E854
+ movs r0, 0xDF
+ ands r3, r0
+ mov r10, r3
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ ldr r1, _0803E880 @ =gUnknown_08208238
+ ldr r4, [sp, 0x10]
+ adds r1, r4, r1
+ ldrb r1, [r1]
+ ands r0, r1
+ lsls r1, r4, 1
+ lsrs r0, r1
+ str r0, [sp]
+ adds r5, r4, 0
+ adds r5, 0xD
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ ldr r2, [sp, 0x10]
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x28]
+ ldr r0, [sp]
+ cmp r0, 0x2
+ bhi _0803E854
+ ldr r0, [sp, 0x28]
+ cmp r0, 0x4
+ bls _0803E854
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ ldr r1, _0803E884 @ =gUnknown_08208240
+ ldr r2, [sp, 0x10]
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ adds r0, r1
+ str r0, [sp]
+ mov r0, r8
+ movs r1, 0x15
+ mov r2, sp
+ bl SetMonData
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, [sp]
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, [sp, 0x10]
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, [sp, 0x28]
+ subs r0, r3
+ str r0, [sp]
+ ldr r4, [sp, 0x10]
+ adds r4, 0x11
+ mov r0, r8
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetMonData
+ ldr r1, [sp]
+ adds r0, r1
+ str r0, [sp]
+ mov r0, r8
+ adds r1, r4, 0
+ mov r2, sp
+ bl SetMonData
+ movs r4, 0
+ str r4, [sp, 0x1C]
+_0803E854:
+ movs r5, 0
+ str r5, [sp, 0x28]
+ mov r0, r10
+ cmp r0, 0
+ bne _0803E862
+ bl _0803F14C
+_0803E862:
+ movs r0, 0x1
+ mov r1, r10
+ ands r0, r1
+ cmp r0, 0
+ bne _0803E86E
+ b _0803EE0A
+_0803E86E:
+ ldr r2, [sp, 0x28]
+ cmp r2, 0x7
+ bls _0803E876
+ b _0803EE0A
+_0803E876:
+ lsls r0, r2, 2
+ ldr r1, _0803E888 @ =_0803E88C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803E880: .4byte gUnknown_08208238
+_0803E884: .4byte gUnknown_08208240
+_0803E888: .4byte _0803E88C
+ .align 2, 0
+_0803E88C:
+ .4byte _0803E8AC
+ .4byte _0803E8AC
+ .4byte _0803E934
+ .4byte _0803EB5C
+ .4byte _0803EE0A
+ .4byte _0803EE0A
+ .4byte _0803EE0A
+ .4byte _0803EDF4
+_0803E8AC:
+ mov r0, r8
+ bl GetMonEVCount
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r0, _0803E8EC @ =0x000001fd
+ cmp r5, r0
+ bls _0803E8BE
+ b _0803E36C
+_0803E8BE:
+ ldr r0, _0803E8F0 @ =gUnknown_082082F2
+ ldr r3, [sp, 0x28]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ mov r0, r8
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ str r1, [sp]
+ cmp r1, 0x63
+ bls _0803E8D8
+ b _0803EE0A
+_0803E8D8:
+ ldr r4, [sp, 0x20]
+ ldr r2, [sp, 0x24]
+ adds r0, r4, r2
+ ldrb r0, [r0]
+ adds r1, r0
+ cmp r1, 0x64
+ bls _0803E8F4
+ adds r0, 0x64
+ subs r4, r0, r1
+ b _0803E8F6
+ .align 2, 0
+_0803E8EC: .4byte 0x000001fd
+_0803E8F0: .4byte gUnknown_082082F2
+_0803E8F4:
+ adds r4, r0, 0
+_0803E8F6:
+ adds r1, r5, r4
+ movs r0, 0xFF
+ lsls r0, 1
+ cmp r1, r0
+ bls _0803E904
+ adds r0, r4, r0
+ subs r4, r0, r1
+_0803E904:
+ ldr r0, [sp]
+ adds r0, r4
+ str r0, [sp]
+ ldr r0, _0803E930 @ =gUnknown_082082F2
+ ldr r3, [sp, 0x28]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ mov r0, r8
+ mov r2, sp
+ bl SetMonData
+ mov r0, r8
+ bl CalculateMonStats
+ ldr r0, [sp, 0x24]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x24]
+ movs r4, 0
+ str r4, [sp, 0x1C]
+ b _0803EE0A
+ .align 2, 0
+_0803E930: .4byte gUnknown_082082F2
+_0803E934:
+ movs r0, 0x10
+ mov r5, r10
+ ands r0, r5
+ cmp r0, 0
+ beq _0803E9F4
+ mov r0, r8
+ movs r1, 0x39
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ beq _0803E954
+ ldr r0, [sp, 0x24]
+ adds r0, 0x1
+ lsls r0, 24
+ b _0803EC9E
+_0803E954:
+ ldr r0, _0803E99C @ =gMain
+ ldr r1, _0803E9A0 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r4, 0x2
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803EA0A
+ ldr r2, [sp, 0x34]
+ cmp r2, 0x4
+ beq _0803E9B4
+ ldr r2, _0803E9A4 @ =gUnknown_02024C0C
+ ldr r1, _0803E9A8 @ =gBitTable
+ ldr r3, [sp, 0x34]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldrb r0, [r2]
+ bics r0, r1
+ strb r0, [r2]
+ ldr r1, _0803E9AC @ =gUnknown_02024A6A
+ lsls r0, r3, 1
+ adds r0, r1
+ ldrb r0, [r0]
+ bl pokemon_order_func
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, [sp, 0x34]
+ bl CopyPlayerPartyMonToBattleData
+ ldr r0, _0803E9B0 @ =gUnknown_02024A60
+ ldrb r0, [r0]
+ b _0803E9CC
+ .align 2, 0
+_0803E99C: .4byte gMain
+_0803E9A0: .4byte 0x0000043d
+_0803E9A4: .4byte gUnknown_02024C0C
+_0803E9A8: .4byte gBitTable
+_0803E9AC: .4byte gUnknown_02024A6A
+_0803E9B0: .4byte gUnknown_02024A60
+_0803E9B4:
+ ldr r3, _0803E9E4 @ =gUnknown_02024C0C
+ ldr r1, _0803E9E8 @ =gBitTable
+ ldr r2, _0803E9EC @ =gUnknown_02024A60
+ ldrb r0, [r2]
+ eors r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldrb r0, [r3]
+ bics r0, r1
+ strb r0, [r3]
+ ldrb r0, [r2]
+_0803E9CC:
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803EA0A
+ ldr r1, _0803E9F0 @ =gUnknown_030042E0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0xFE
+ bhi _0803EA0A
+ adds r0, 0x1
+ strb r0, [r1, 0x4]
+ b _0803EA0A
+ .align 2, 0
+_0803E9E4: .4byte gUnknown_02024C0C
+_0803E9E8: .4byte gBitTable
+_0803E9EC: .4byte gUnknown_02024A60
+_0803E9F0: .4byte gUnknown_030042E0
+_0803E9F4:
+ mov r0, r8
+ movs r1, 0x39
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ bne _0803EA0A
+ ldr r0, [sp, 0x24]
+ adds r0, 0x1
+ lsls r0, 24
+ b _0803EC9E
+_0803EA0A:
+ ldr r1, [sp, 0x24]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x24]
+ ldr r4, [sp, 0x20]
+ adds r1, r4, r1
+ ldrb r1, [r1]
+ str r1, [sp]
+ adds r0, r1, 0
+ cmp r0, 0xFE
+ beq _0803EA4C
+ cmp r0, 0xFE
+ bhi _0803EA2C
+ cmp r0, 0xFD
+ beq _0803EA62
+ b _0803EA6C
+_0803EA2C:
+ cmp r1, 0xFF
+ bne _0803EA6C
+ mov r0, r8
+ movs r1, 0x3A
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ mov r0, r8
+ movs r1, 0x39
+ movs r2, 0
+ bl GetMonData
+ subs r4, r0
+ str r4, [sp]
+ b _0803EA6C
+_0803EA4C:
+ mov r0, r8
+ movs r1, 0x3A
+ movs r2, 0
+ bl GetMonData
+ lsrs r0, 1
+ str r0, [sp]
+ cmp r0, 0
+ bne _0803EA6C
+ movs r0, 0x1
+ b _0803EA6A
+_0803EA62:
+ ldr r0, _0803EB24 @ =0x02000000
+ ldr r5, _0803EB28 @ =0x000160fa
+ adds r0, r5
+ ldrb r0, [r0]
+_0803EA6A:
+ str r0, [sp]
+_0803EA6C:
+ mov r0, r8
+ movs r1, 0x3A
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ mov r0, r8
+ movs r1, 0x39
+ movs r2, 0
+ bl GetMonData
+ cmp r4, r0
+ beq _0803EB4C
+ ldr r0, [sp, 0x14]
+ cmp r0, 0
+ bne _0803EB40
+ mov r0, r8
+ movs r1, 0x39
+ movs r2, 0
+ bl GetMonData
+ ldr r1, [sp]
+ adds r0, r1
+ str r0, [sp]
+ mov r0, r8
+ movs r1, 0x3A
+ movs r2, 0
+ bl GetMonData
+ ldr r1, [sp]
+ cmp r1, r0
+ bls _0803EAB8
+ mov r0, r8
+ movs r1, 0x3A
+ movs r2, 0
+ bl GetMonData
+ str r0, [sp]
+_0803EAB8:
+ mov r0, r8
+ movs r1, 0x39
+ mov r2, sp
+ bl SetMonData
+ ldr r0, _0803EB2C @ =gMain
+ ldr r1, _0803EB30 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803EB48
+ ldr r2, [sp, 0x34]
+ cmp r2, 0x4
+ beq _0803EB48
+ ldr r1, _0803EB34 @ =gBattleMons
+ movs r0, 0x58
+ muls r0, r2
+ adds r0, r1
+ ldr r1, [sp]
+ strh r1, [r0, 0x28]
+ movs r0, 0x10
+ mov r3, r10
+ ands r0, r3
+ cmp r0, 0
+ bne _0803EB48
+ ldr r4, _0803EB38 @ =gUnknown_02024A60
+ ldrb r0, [r4]
+ bl battle_side_get_owner
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803EB48
+ ldr r1, _0803EB3C @ =gUnknown_030042E0
+ ldrb r0, [r1, 0x3]
+ cmp r0, 0xFE
+ bhi _0803EB08
+ adds r0, 0x1
+ strb r0, [r1, 0x3]
+_0803EB08:
+ ldrb r5, [r4]
+ add r0, sp, 0x34
+ ldrb r0, [r0]
+ strb r0, [r4]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl dp01_build_cmdbuf_x00_a_b_0
+ ldrb r0, [r4]
+ bl dp01_battle_side_mark_buffer_for_execution
+ strb r5, [r4]
+ b _0803EB48
+ .align 2, 0
+_0803EB24: .4byte 0x02000000
+_0803EB28: .4byte 0x000160fa
+_0803EB2C: .4byte gMain
+_0803EB30: .4byte 0x0000043d
+_0803EB34: .4byte gBattleMons
+_0803EB38: .4byte gUnknown_02024A60
+_0803EB3C: .4byte gUnknown_030042E0
+_0803EB40:
+ ldr r1, _0803EB58 @ =gUnknown_02024BEC
+ ldr r0, [sp]
+ negs r0, r0
+ str r0, [r1]
+_0803EB48:
+ movs r1, 0
+ str r1, [sp, 0x1C]
+_0803EB4C:
+ movs r0, 0xEF
+ mov r2, r10
+ ands r2, r0
+ mov r10, r2
+ b _0803EE0A
+ .align 2, 0
+_0803EB58: .4byte gUnknown_02024BEC
+_0803EB5C:
+ movs r7, 0x2
+ mov r0, r10
+ ands r0, r7
+ cmp r0, 0
+ beq _0803EB68
+ b _0803ECB8
+_0803EB68:
+ movs r5, 0
+ ldr r3, [sp, 0x24]
+ adds r3, 0x1
+ str r3, [sp, 0x38]
+_0803EB70:
+ movs r4, 0x11
+ adds r4, r5
+ mov r9, r4
+ mov r0, r8
+ mov r1, r9
+ movs r2, 0
+ bl GetMonData
+ str r0, [sp]
+ adds r7, r5, 0
+ adds r7, 0xD
+ mov r0, r8
+ adds r1, r7, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r0, r5, 24
+ lsrs r6, r0, 24
+ adds r0, r4, 0
+ adds r2, r6, 0
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, [sp]
+ cmp r1, r0
+ beq _0803EC92
+ ldr r2, [sp, 0x20]
+ ldr r3, [sp, 0x24]
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ adds r0, r1, r0
+ str r0, [sp]
+ mov r0, r8
+ adds r1, r7, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ adds r2, r6, 0
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, [sp]
+ cmp r1, r0
+ bls _0803EC28
+ mov r0, r8
+ adds r1, r7, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ adds r2, r6, 0
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+_0803EC28:
+ mov r0, r8
+ mov r1, r9
+ mov r2, sp
+ bl SetMonData
+ ldr r0, _0803ECA4 @ =gMain
+ ldr r4, _0803ECA8 @ =0x0000043d
+ adds r0, r4
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0803EC8E
+ ldr r0, [sp, 0x34]
+ cmp r0, 0x4
+ beq _0803EC8E
+ ldr r4, _0803ECAC @ =gBattleMons
+ movs r0, 0x58
+ ldr r1, [sp, 0x34]
+ adds r3, r1, 0
+ muls r3, r0
+ adds r0, r4, 0
+ adds r0, 0x50
+ adds r0, r3, r0
+ ldr r1, [r0]
+ movs r0, 0x80
+ lsls r0, 14
+ ands r1, r0
+ cmp r1, 0
+ bne _0803EC8E
+ ldr r1, _0803ECB0 @ =gUnknown_02024CA8
+ ldr r2, [sp, 0x34]
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x18]
+ lsrs r1, 4
+ ldr r2, _0803ECB4 @ =gBitTable
+ lsls r0, r5, 2
+ adds r0, r2
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ bne _0803EC8E
+ adds r0, r5, r3
+ adds r1, r4, 0
+ adds r1, 0x24
+ adds r0, r1
+ ldr r1, [sp]
+ strb r1, [r0]
+_0803EC8E:
+ movs r3, 0
+ str r3, [sp, 0x1C]
+_0803EC92:
+ adds r5, 0x1
+ cmp r5, 0x3
+ bgt _0803EC9A
+ b _0803EB70
+_0803EC9A:
+ ldr r4, [sp, 0x38]
+ lsls r0, r4, 24
+_0803EC9E:
+ lsrs r0, 24
+ str r0, [sp, 0x24]
+ b _0803EE0A
+ .align 2, 0
+_0803ECA4: .4byte gMain
+_0803ECA8: .4byte 0x0000043d
+_0803ECAC: .4byte gBattleMons
+_0803ECB0: .4byte gUnknown_02024CA8
+_0803ECB4: .4byte gBitTable
+_0803ECB8:
+ ldr r6, [sp, 0x10]
+ adds r6, 0x11
+ mov r0, r8
+ adds r1, r6, 0
+ movs r2, 0
+ bl GetMonData
+ str r0, [sp]
+ ldr r5, [sp, 0x10]
+ adds r5, 0xD
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ ldr r2, [sp, 0x10]
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, [sp]
+ cmp r2, r0
+ bne _0803ED00
+ b _0803EE0A
+_0803ED00:
+ ldr r1, [sp, 0x24]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x24]
+ ldr r0, [sp, 0x20]
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ adds r0, r2, r0
+ str r0, [sp]
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ ldr r2, [sp, 0x10]
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, [sp]
+ cmp r1, r0
+ bls _0803ED74
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ ldr r2, [sp, 0x10]
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+_0803ED74:
+ mov r0, r8
+ adds r1, r6, 0
+ mov r2, sp
+ bl SetMonData
+ ldr r0, _0803EDE0 @ =gMain
+ ldr r1, _0803EDE4 @ =0x0000043d
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0803EDD8
+ ldr r2, [sp, 0x34]
+ cmp r2, 0x4
+ beq _0803EDD8
+ ldr r4, _0803EDE8 @ =gBattleMons
+ movs r0, 0x58
+ adds r3, r2, 0
+ muls r3, r0
+ adds r0, r4, 0
+ adds r0, 0x50
+ adds r0, r3, r0
+ ldr r0, [r0]
+ movs r1, 0x80
+ lsls r1, 14
+ ands r0, r1
+ cmp r0, 0
+ bne _0803EDD8
+ ldr r1, _0803EDEC @ =gUnknown_02024CA8
+ lsls r0, r2, 3
+ subs r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x18]
+ lsrs r1, 4
+ ldr r2, _0803EDF0 @ =gBitTable
+ ldr r5, [sp, 0x10]
+ lsls r0, r5, 2
+ adds r0, r2
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ bne _0803EDD8
+ adds r0, r5, r3
+ adds r1, r4, 0
+ adds r1, 0x24
+ adds r0, r1
+ ldr r1, [sp]
+ strb r1, [r0]
+_0803EDD8:
+ movs r0, 0
+ str r0, [sp, 0x1C]
+ b _0803EE0A
+ .align 2, 0
+_0803EDE0: .4byte gMain
+_0803EDE4: .4byte 0x0000043d
+_0803EDE8: .4byte gBattleMons
+_0803EDEC: .4byte gUnknown_02024CA8
+_0803EDF0: .4byte gBitTable
+_0803EDF4:
+ mov r0, r8
+ movs r1, 0x2
+ ldr r2, [sp, 0x8]
+ bl GetEvolutionTargetSpecies
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _0803EE0A
+ bl _0803E35C
+_0803EE0A:
+ ldr r1, [sp, 0x28]
+ adds r1, 0x1
+ str r1, [sp, 0x28]
+ mov r2, r10
+ lsrs r2, 1
+ mov r10, r2
+ cmp r2, 0
+ beq _0803EE1C
+ b _0803E862
+_0803EE1C:
+ b _0803F14C
+_0803EE1E:
+ ldr r3, [sp, 0x20]
+ ldr r4, [sp, 0x18]
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ mov r10, r0
+ movs r5, 0
+ str r5, [sp, 0x28]
+ cmp r0, 0
+ bne _0803EE32
+ b _0803F14C
+_0803EE32:
+ movs r0, 0x1
+ mov r1, r10
+ ands r0, r1
+ cmp r0, 0
+ bne _0803EE3E
+ b _0803F13A
+_0803EE3E:
+ ldr r2, [sp, 0x28]
+ cmp r2, 0x7
+ bls _0803EE46
+ b _0803F13A
+_0803EE46:
+ lsls r0, r2, 2
+ ldr r1, _0803EE50 @ =_0803EE54
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803EE50: .4byte _0803EE54
+ .align 2, 0
+_0803EE54:
+ .4byte _0803EE74
+ .4byte _0803EE74
+ .4byte _0803EE74
+ .4byte _0803EE74
+ .4byte _0803EEF8
+ .4byte _0803EFCC
+ .4byte _0803F026
+ .4byte _0803F07C
+_0803EE74:
+ mov r0, r8
+ bl GetMonEVCount
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r0, _0803EEBC @ =0x000001fd
+ cmp r5, r0
+ bls _0803EE88
+ bl _0803E36C
+_0803EE88:
+ ldr r0, _0803EEC0 @ =gUnknown_082082F2
+ ldr r4, [sp, 0x28]
+ adds r4, 0x2
+ adds r0, r4, r0
+ ldrb r1, [r0]
+ mov r0, r8
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ str r1, [sp]
+ adds r2, r4, 0
+ cmp r1, 0x63
+ bls _0803EEA6
+ b _0803F13A
+_0803EEA6:
+ ldr r3, [sp, 0x20]
+ ldr r4, [sp, 0x24]
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ adds r1, r0
+ cmp r1, 0x64
+ bls _0803EEC4
+ adds r0, 0x64
+ subs r4, r0, r1
+ b _0803EEC6
+ .align 2, 0
+_0803EEBC: .4byte 0x000001fd
+_0803EEC0: .4byte gUnknown_082082F2
+_0803EEC4:
+ adds r4, r0, 0
+_0803EEC6:
+ adds r1, r5, r4
+ movs r0, 0xFF
+ lsls r0, 1
+ cmp r1, r0
+ bls _0803EED4
+ adds r0, r4, r0
+ subs r4, r0, r1
+_0803EED4:
+ ldr r0, [sp]
+ adds r0, r4
+ str r0, [sp]
+ ldr r0, _0803EEF4 @ =gUnknown_082082F2
+ adds r0, r2, r0
+ ldrb r1, [r0]
+ mov r0, r8
+ mov r2, sp
+ bl SetMonData
+ mov r0, r8
+ bl CalculateMonStats
+ movs r5, 0
+ str r5, [sp, 0x1C]
+ b _0803F130
+ .align 2, 0
+_0803EEF4: .4byte gUnknown_082082F2
+_0803EEF8:
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ ldr r1, _0803EFC0 @ =gUnknown_08208238
+ ldr r2, [sp, 0x10]
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ ands r0, r1
+ lsls r1, r2, 1
+ lsrs r0, r1
+ str r0, [sp]
+ cmp r0, 0x2
+ bls _0803EF18
+ b _0803F13A
+_0803EF18:
+ adds r5, r2, 0
+ adds r5, 0xD
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ ldr r2, [sp, 0x10]
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r4, r0, 24
+ mov r0, r8
+ movs r1, 0x15
+ movs r2, 0
+ bl GetMonData
+ str r0, [sp]
+ ldr r1, _0803EFC4 @ =gUnknown_0820823C
+ ldr r3, [sp, 0x10]
+ adds r1, r3, r1
+ ldrb r2, [r1]
+ ands r2, r0
+ str r2, [sp]
+ ldr r0, _0803EFC8 @ =gUnknown_08208240
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ adds r2, r0
+ str r2, [sp]
+ mov r0, r8
+ movs r1, 0x15
+ mov r2, sp
+ bl SetMonData
+ mov r0, r8
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, [sp]
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, [sp, 0x10]
+ bl CalculatePPWithBonus
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, r4
+ str r0, [sp]
+ ldr r4, [sp, 0x10]
+ adds r4, 0x11
+ mov r0, r8
+ adds r1, r4, 0
+ movs r2, 0
+ bl GetMonData
+ ldr r1, [sp]
+ adds r0, r1
+ str r0, [sp]
+ mov r0, r8
+ adds r1, r4, 0
+ mov r2, sp
+ bl SetMonData
+ movs r4, 0
+ str r4, [sp, 0x1C]
+ b _0803F13A
+ .align 2, 0
+_0803EFC0: .4byte gUnknown_08208238
+_0803EFC4: .4byte gUnknown_0820823C
+_0803EFC8: .4byte gUnknown_08208240
+_0803EFCC:
+ mov r0, r8
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0x63
+ bls _0803EFDC
+ b _0803F130
+_0803EFDC:
+ ldr r5, [sp, 0x1C]
+ cmp r5, 0
+ beq _0803EFE4
+ b _0803F130
+_0803EFE4:
+ ldr r0, [sp, 0x2C]
+ cmp r0, 0
+ beq _0803EFEC
+ b _0803F130
+_0803EFEC:
+ ldr r1, [sp, 0x20]
+ ldr r2, [sp, 0x24]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ str r0, [sp, 0x2C]
+ mov r0, r8
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ adds r5, r0, 0
+ str r5, [sp, 0x4]
+ ldr r3, [sp, 0x2C]
+ lsls r4, r3, 24
+ asrs r1, r4, 24
+ cmp r1, 0
+ ble _0803F0D0
+ ldr r0, [sp, 0x30]
+ cmp r0, 0x1B
+ bne _0803F0D0
+ movs r0, 0x96
+ muls r0, r1
+ movs r1, 0x64
+ bl __divsi3
+ adds r0, r5, r0
+ str r0, [sp, 0x4]
+ adds r2, r4, 0
+ b _0803F0DC
+_0803F026:
+ mov r0, r8
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0x63
+ bls _0803F130
+ mov r0, r8
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0xC7
+ bhi _0803F130
+ ldr r2, [sp, 0x1C]
+ cmp r2, 0
+ bne _0803F130
+ ldr r3, [sp, 0x2C]
+ cmp r3, 0
+ bne _0803F130
+ ldr r4, [sp, 0x20]
+ ldr r5, [sp, 0x24]
+ adds r0, r4, r5
+ ldrb r0, [r0]
+ str r0, [sp, 0x2C]
+ mov r0, r8
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ str r4, [sp, 0x4]
+ ldr r0, [sp, 0x2C]
+ lsls r5, r0, 24
+ asrs r1, r5, 24
+ cmp r1, 0
+ ble _0803F076
+ ldr r2, [sp, 0x30]
+ cmp r2, 0x1B
+ beq _0803F0BE
+_0803F076:
+ ldr r3, [sp, 0x2C]
+ lsls r2, r3, 24
+ b _0803F0D4
+_0803F07C:
+ mov r0, r8
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _0803F130
+ ldr r4, [sp, 0x1C]
+ cmp r4, 0
+ bne _0803F130
+ ldr r5, [sp, 0x2C]
+ cmp r5, 0
+ bne _0803F130
+ ldr r1, [sp, 0x20]
+ ldr r2, [sp, 0x24]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ str r0, [sp, 0x2C]
+ mov r0, r8
+ movs r1, 0x20
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ str r4, [sp, 0x4]
+ ldr r3, [sp, 0x2C]
+ lsls r5, r3, 24
+ asrs r1, r5, 24
+ cmp r1, 0
+ ble _0803F0D0
+ ldr r0, [sp, 0x30]
+ cmp r0, 0x1B
+ bne _0803F0D0
+_0803F0BE:
+ movs r0, 0x96
+ muls r0, r1
+ movs r1, 0x64
+ bl __divsi3
+ adds r0, r4, r0
+ str r0, [sp, 0x4]
+ adds r2, r5, 0
+ b _0803F0DC
+_0803F0D0:
+ ldr r1, [sp, 0x2C]
+ lsls r2, r1, 24
+_0803F0D4:
+ asrs r1, r2, 24
+ ldr r0, [sp, 0x4]
+ adds r0, r1
+ str r0, [sp, 0x4]
+_0803F0DC:
+ cmp r2, 0
+ ble _0803F112
+ mov r0, r8
+ movs r1, 0x26
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0xB
+ bne _0803F0F4
+ ldr r0, [sp, 0x4]
+ adds r0, 0x1
+ str r0, [sp, 0x4]
+_0803F0F4:
+ mov r0, r8
+ movs r1, 0x23
+ movs r2, 0
+ bl GetMonData
+ adds r4, r0, 0
+ bl sav1_map_get_name
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _0803F112
+ ldr r0, [sp, 0x4]
+ adds r0, 0x1
+ str r0, [sp, 0x4]
+_0803F112:
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ bge _0803F11C
+ movs r0, 0
+ str r0, [sp, 0x4]
+_0803F11C:
+ ldr r0, [sp, 0x4]
+ cmp r0, 0xFF
+ ble _0803F126
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+_0803F126:
+ add r2, sp, 0x4
+ mov r0, r8
+ movs r1, 0x20
+ bl SetMonData
+_0803F130:
+ ldr r0, [sp, 0x24]
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x24]
+_0803F13A:
+ ldr r2, [sp, 0x28]
+ adds r2, 0x1
+ str r2, [sp, 0x28]
+ mov r3, r10
+ lsrs r3, 1
+ mov r10, r3
+ cmp r3, 0
+ beq _0803F14C
+ b _0803EE32
+_0803F14C:
+ ldr r4, [sp, 0x18]
+ adds r4, 0x1
+ str r4, [sp, 0x18]
+ cmp r4, 0x5
+ bgt _0803F15A
+ bl _0803E378
+_0803F15A:
+ ldr r0, [sp, 0x1C]
+_0803F15C:
+ add sp, 0x3C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803E1B0
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
index 1c981d167..ce0121a40 100644
--- a/asm/record_mixing.s
+++ b/asm/record_mixing.s
@@ -496,7 +496,7 @@ _080BA038:
.4byte _080BA074
.4byte _080BA08E
_080BA050:
- bl sub_8047A1C
+ bl SetSecretBase2Field_9_AndHideBG
bl sub_8125E2C
b _080BA086
_080BA05A:
@@ -504,7 +504,7 @@ _080BA05A:
lsls r0, 24
cmp r0, 0
beq _080BA09C
- bl sub_8047A34
+ bl ClearSecretBase2Field_9_2
ldrh r0, [r4, 0x8]
adds r0, 0x1
movs r1, 0
diff --git a/asm/rom3.s b/asm/rom3.s
index 823ac4e0c..f5238ddb5 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -2133,7 +2133,7 @@ dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes: @ 800C870
lsls r0, 24
cmp r0, 0
bne _0800C910
- ldr r0, _0800C90C @ =word_2024DB8
+ ldr r0, _0800C90C @ =gBattleWeather
ldrh r0, [r0]
strb r0, [r7, 0xC]
ands r6, r0
@@ -2144,7 +2144,7 @@ dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes: @ 800C870
.align 2, 0
_0800C904: .4byte gUnknown_03004040
_0800C908: .4byte gUnknown_02024C0E
-_0800C90C: .4byte word_2024DB8
+_0800C90C: .4byte gBattleWeather
_0800C910:
ldr r0, _0800C944 @ =gUnknown_03004040
movs r1, 0
diff --git a/asm/rom6.s b/asm/rom6.s
index ad1e71be5..44be269e5 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -471,9393 +471,4 @@ _0810B66C: .4byte task08_080A1C44
_0810B670: .4byte gTasks
thumb_func_end sub_810B634
- thumb_func_start sub_810B674
-sub_810B674: @ 810B674
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_810B674
-
- thumb_func_start sub_810B68C
-sub_810B68C: @ 810B68C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r1, _0810B6B0 @ =gBGTilemapBuffers + 0x1000
- ldr r2, _0810B6B4 @ =0x06007800
- ldr r0, _0810B6B8 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0810B6BC @ =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_0810B6B0: .4byte gBGTilemapBuffers + 0x1000
-_0810B6B4: .4byte 0x06007800
-_0810B6B8: .4byte 0x040000d4
-_0810B6BC: .4byte 0x80000400
- thumb_func_end sub_810B68C
-
- thumb_func_start sub_810B6C0
-sub_810B6C0: @ 810B6C0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0810B6DC @ =gMain
- ldr r1, _0810B6E0 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x12
- bls _0810B6D2
- b _0810B960
-_0810B6D2:
- lsls r0, 2
- ldr r1, _0810B6E4 @ =_0810B6E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810B6DC: .4byte gMain
-_0810B6E0: .4byte 0x0000043c
-_0810B6E4: .4byte _0810B6E8
- .align 2, 0
-_0810B6E8:
- .4byte _0810B734
- .4byte _0810B764
- .4byte _0810B76A
- .4byte _0810B78C
- .4byte _0810B792
- .4byte _0810B7B4
- .4byte _0810B7C0
- .4byte _0810B7DC
- .4byte _0810B7E8
- .4byte _0810B804
- .4byte _0810B810
- .4byte _0810B830
- .4byte _0810B84C
- .4byte _0810B86A
- .4byte _0810B894
- .4byte _0810B89E
- .4byte _0810B8C4
- .4byte _0810B914
- .4byte _0810B934
-_0810B734:
- bl sub_80F9438
- bl sub_80F9368
- ldr r1, _0810B754 @ =REG_BG2CNT
- ldr r2, _0810B758 @ =0x00000f0a
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x44
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0810B75C @ =gMain
- ldr r0, _0810B760 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B754: .4byte REG_BG2CNT
-_0810B758: .4byte 0x00000f0a
-_0810B75C: .4byte gMain
-_0810B760: .4byte 0x0000043c
-_0810B764:
- bl remove_some_task
- b _0810B91C
-_0810B76A:
- bl ResetPaletteFade
- ldr r2, _0810B780 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _0810B784 @ =gMain
- ldr r0, _0810B788 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B780: .4byte gPaletteFade
-_0810B784: .4byte gMain
-_0810B788: .4byte 0x0000043c
-_0810B78C:
- bl ResetSpriteData
- b _0810B91C
-_0810B792:
- ldr r0, _0810B7A8 @ =gUnknown_02039244
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0810B79E
- bl ResetTasks
-_0810B79E:
- ldr r1, _0810B7AC @ =gMain
- ldr r0, _0810B7B0 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B7A8: .4byte gUnknown_02039244
-_0810B7AC: .4byte gMain
-_0810B7B0: .4byte 0x0000043c
-_0810B7B4:
- ldr r0, _0810B7BC @ =gWindowConfig_81E6E34
- bl SetUpWindowConfig
- b _0810B91C
- .align 2, 0
-_0810B7BC: .4byte gWindowConfig_81E6E34
-_0810B7C0:
- ldr r0, _0810B7D0 @ =gWindowConfig_81E6E50
- bl SetUpWindowConfig
- ldr r1, _0810B7D4 @ =gMain
- ldr r0, _0810B7D8 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B7D0: .4byte gWindowConfig_81E6E50
-_0810B7D4: .4byte gMain
-_0810B7D8: .4byte 0x0000043c
-_0810B7DC:
- ldr r0, _0810B7E4 @ =gWindowConfig_81E6E34
- bl MultistepInitMenuWindowBegin
- b _0810B91C
- .align 2, 0
-_0810B7E4: .4byte gWindowConfig_81E6E34
-_0810B7E8:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _0810B7F2
- b _0810B960
-_0810B7F2:
- ldr r1, _0810B7FC @ =gMain
- ldr r0, _0810B800 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B7FC: .4byte gMain
-_0810B800: .4byte 0x0000043c
-_0810B804:
- ldr r0, _0810B80C @ =gWindowConfig_81E6E50
- bl MultistepInitMenuWindowBegin
- b _0810B91C
- .align 2, 0
-_0810B80C: .4byte gWindowConfig_81E6E50
-_0810B810:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _0810B81A
- b _0810B960
-_0810B81A:
- ldr r0, _0810B828 @ =0x02000000
- ldr r1, _0810B82C @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _0810B91C
- .align 2, 0
-_0810B828: .4byte 0x02000000
-_0810B82C: .4byte 0x0001ffff
-_0810B830:
- bl sub_810B998
- lsls r0, 24
- cmp r0, 0
- bne _0810B83C
- b _0810B960
-_0810B83C:
- ldr r1, _0810B844 @ =gMain
- ldr r0, _0810B848 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B844: .4byte gMain
-_0810B848: .4byte 0x0000043c
-_0810B84C:
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- movs r0, 0
- movs r1, 0xB0
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
- movs r0, 0x1
- movs r1, 0xB0
- movs r2, 0x98
- bl CreateVerticalScrollIndicators
- b _0810B91C
-_0810B86A:
- movs r0, 0x38
- movs r1, 0x40
- movs r2, 0
- bl sub_810BA50
- ldr r1, _0810B884 @ =0x02000000
- ldr r2, _0810B888 @ =0x0001fffe
- adds r1, r2
- strb r0, [r1]
- ldr r1, _0810B88C @ =gMain
- ldr r0, _0810B890 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B884: .4byte 0x02000000
-_0810B888: .4byte 0x0001fffe
-_0810B88C: .4byte gMain
-_0810B890: .4byte 0x0000043c
-_0810B894:
- bl sub_810BC98
- bl sub_810BD08
- b _0810B91C
-_0810B89E:
- bl sub_810BB0C
- bl sub_810BB30
- ldr r0, _0810B8B8 @ =gUnknown_02039248
- ldrb r0, [r0, 0x1]
- bl sub_810BC84
- ldr r1, _0810B8BC @ =gMain
- ldr r0, _0810B8C0 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B8B8: .4byte gUnknown_02039248
-_0810B8BC: .4byte gMain
-_0810B8C0: .4byte 0x0000043c
-_0810B8C4:
- ldr r3, _0810B8FC @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _0810B900 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _0810B904 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _0810B908 @ =sub_810B68C
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0810B90C @ =gMain
- ldr r0, _0810B910 @ =0x0000043c
- adds r1, r0
- b _0810B922
- .align 2, 0
-_0810B8FC: .4byte 0x04000208
-_0810B900: .4byte 0x04000200
-_0810B904: .4byte REG_DISPSTAT
-_0810B908: .4byte sub_810B68C
-_0810B90C: .4byte gMain
-_0810B910: .4byte 0x0000043c
-_0810B914:
- bl sub_8055870
- cmp r0, 0x1
- beq _0810B960
-_0810B91C:
- ldr r1, _0810B92C @ =gMain
- ldr r2, _0810B930 @ =0x0000043c
- adds r1, r2
-_0810B922:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0810B960
- .align 2, 0
-_0810B92C: .4byte gMain
-_0810B930: .4byte 0x0000043c
-_0810B934:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _0810B958 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _0810B95C @ =sub_810B674
- bl SetMainCallback2
- movs r0, 0x1
- b _0810B962
- .align 2, 0
-_0810B958: .4byte gPaletteFade
-_0810B95C: .4byte sub_810B674
-_0810B960:
- movs r0, 0
-_0810B962:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810B6C0
-
- thumb_func_start sub_810B96C
-sub_810B96C: @ 810B96C
- push {lr}
-_0810B96E:
- bl sub_810B6C0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810B988
- ldr r0, _0810B984 @ =sub_810BF7C
- movs r1, 0
- bl CreateTask
- b _0810B994
- .align 2, 0
-_0810B984: .4byte sub_810BF7C
-_0810B988:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810B96E
-_0810B994:
- pop {r0}
- bx r0
- thumb_func_end sub_810B96C
-
- thumb_func_start sub_810B998
-sub_810B998: @ 810B998
- push {lr}
- ldr r0, _0810B9B0 @ =0x02000000
- ldr r1, _0810B9B4 @ =0x0001ffff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _0810BA48
- lsls r0, 2
- ldr r1, _0810B9B8 @ =_0810B9BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810B9B0: .4byte 0x02000000
-_0810B9B4: .4byte 0x0001ffff
-_0810B9B8: .4byte _0810B9BC
- .align 2, 0
-_0810B9BC:
- .4byte _0810B9D0
- .4byte _0810B9E4
- .4byte _0810B9F8
- .4byte _0810BA08
- .4byte _0810BA28
-_0810B9D0:
- ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx
- ldr r1, _0810B9E0 @ =0x06008000
- bl LZDecompressVram
- b _0810BA0E
- .align 2, 0
-_0810B9DC: .4byte gMenuPokeblock_Gfx
-_0810B9E0: .4byte 0x06008000
-_0810B9E4:
- ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap
- ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000
- bl sub_800D238
- b _0810BA0E
- .align 2, 0
-_0810B9F0: .4byte gMenuPokeblock_Tilemap
-_0810B9F4: .4byte gBGTilemapBuffers + 0x1000
-_0810B9F8:
- ldr r0, _0810BA04 @ =gMenuPokeblock_Pal
- movs r1, 0
- movs r2, 0xC0
- bl LoadCompressedPalette
- b _0810BA0E
- .align 2, 0
-_0810BA04: .4byte gMenuPokeblock_Pal
-_0810BA08:
- ldr r0, _0810BA1C @ =gUnknown_083F7F74
- bl LoadCompressedObjectPic
-_0810BA0E:
- ldr r1, _0810BA20 @ =0x02000000
- ldr r0, _0810BA24 @ =0x0001ffff
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0810BA48
- .align 2, 0
-_0810BA1C: .4byte gUnknown_083F7F74
-_0810BA20: .4byte 0x02000000
-_0810BA24: .4byte 0x0001ffff
-_0810BA28:
- ldr r0, _0810BA3C @ =gUnknown_083F7F7C
- bl LoadCompressedObjectPalette
- ldr r0, _0810BA40 @ =0x02000000
- ldr r1, _0810BA44 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _0810BA4A
- .align 2, 0
-_0810BA3C: .4byte gUnknown_083F7F7C
-_0810BA40: .4byte 0x02000000
-_0810BA44: .4byte 0x0001ffff
-_0810BA48:
- movs r0, 0
-_0810BA4A:
- pop {r1}
- bx r1
- thumb_func_end sub_810B998
-
- thumb_func_start sub_810BA50
-sub_810BA50: @ 810BA50
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _0810BA78 @ =gSpriteTemplate_83F7F84
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0810BA78: .4byte gSpriteTemplate_83F7F84
- thumb_func_end sub_810BA50
-
- thumb_func_start sub_810BA7C
-sub_810BA7C: @ 810BA7C
- push {lr}
- ldr r1, _0810BA98 @ =gUnknown_02039244
- strb r0, [r1]
- ldrb r2, [r1]
- cmp r2, 0x2
- beq _0810BAA8
- cmp r2, 0x3
- beq _0810BAC0
- ldr r1, _0810BA9C @ =gUnknown_03000758
- ldr r0, _0810BAA0 @ =gUnknown_083F7F1C
- str r0, [r1]
- ldr r1, _0810BAA4 @ =gUnknown_0203924C
- movs r0, 0x3
- b _0810BACA
- .align 2, 0
-_0810BA98: .4byte gUnknown_02039244
-_0810BA9C: .4byte gUnknown_03000758
-_0810BAA0: .4byte gUnknown_083F7F1C
-_0810BAA4: .4byte gUnknown_0203924C
-_0810BAA8:
- ldr r0, _0810BAB4 @ =gUnknown_03000758
- ldr r1, _0810BAB8 @ =gUnknown_083F7F1F
- str r1, [r0]
- ldr r0, _0810BABC @ =gUnknown_0203924C
- strb r2, [r0]
- b _0810BACC
- .align 2, 0
-_0810BAB4: .4byte gUnknown_03000758
-_0810BAB8: .4byte gUnknown_083F7F1F
-_0810BABC: .4byte gUnknown_0203924C
-_0810BAC0:
- ldr r1, _0810BAD0 @ =gUnknown_03000758
- ldr r0, _0810BAD4 @ =gUnknown_083F7F21
- str r0, [r1]
- ldr r1, _0810BAD8 @ =gUnknown_0203924C
- movs r0, 0x2
-_0810BACA:
- strb r0, [r1]
-_0810BACC:
- pop {r0}
- bx r0
- .align 2, 0
-_0810BAD0: .4byte gUnknown_03000758
-_0810BAD4: .4byte gUnknown_083F7F21
-_0810BAD8: .4byte gUnknown_0203924C
- thumb_func_end sub_810BA7C
-
- thumb_func_start sub_810BADC
-sub_810BADC: @ 810BADC
- push {lr}
- movs r0, 0x2
- bl sub_810BA7C
- ldr r0, _0810BAF0 @ =sub_810B96C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0810BAF0: .4byte sub_810B96C
- thumb_func_end sub_810BADC
-
- thumb_func_start sub_810BAF4
-sub_810BAF4: @ 810BAF4
- push {lr}
- movs r0, 0x3
- bl sub_810BA7C
- ldr r0, _0810BB08 @ =sub_810B96C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0810BB08: .4byte sub_810B96C
- thumb_func_end sub_810BAF4
-
- thumb_func_start sub_810BB0C
-sub_810BB0C: @ 810BB0C
- push {lr}
- ldr r0, _0810BB28 @ =gWindowConfig_81E6E34
- bl BasicInitMenuWindow
- ldr r0, _0810BB2C @ =0x00000111
- bl ItemId_GetItem
- movs r1, 0x2
- movs r2, 0x1
- movs r3, 0x48
- bl sub_8072BD8
- pop {r0}
- bx r0
- .align 2, 0
-_0810BB28: .4byte gWindowConfig_81E6E34
-_0810BB2C: .4byte 0x00000111
- thumb_func_end sub_810BB0C
-
- thumb_func_start sub_810BB30
-sub_810BB30: @ 810BB30
- push {lr}
- ldr r0, _0810BB70 @ =gWindowConfig_81E6E34
- bl BasicInitMenuWindow
- ldr r0, _0810BB74 @ =gContestStatsText_Spicy
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r0, _0810BB78 @ =gContestStatsText_Dry
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- ldr r0, _0810BB7C @ =gContestStatsText_Sweet
- movs r1, 0x2
- movs r2, 0x11
- bl MenuPrint
- ldr r0, _0810BB80 @ =gContestStatsText_Bitter
- movs r1, 0x8
- movs r2, 0xD
- bl MenuPrint
- ldr r0, _0810BB84 @ =gContestStatsText_Sour
- movs r1, 0x8
- movs r2, 0xF
- bl MenuPrint
- pop {r0}
- bx r0
- .align 2, 0
-_0810BB70: .4byte gWindowConfig_81E6E34
-_0810BB74: .4byte gContestStatsText_Spicy
-_0810BB78: .4byte gContestStatsText_Dry
-_0810BB7C: .4byte gContestStatsText_Sweet
-_0810BB80: .4byte gContestStatsText_Bitter
-_0810BB84: .4byte gContestStatsText_Sour
- thumb_func_end sub_810BB30
-
- thumb_func_start sub_810BB88
-sub_810BB88: @ 810BB88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0810BBF4 @ =gWindowConfig_81E6E34
- bl BasicInitMenuWindow
- mov r6, r8
- adds r0, r6, 0
- adds r0, 0x8
- cmp r6, r0
- bgt _0810BC6C
- ldr r0, _0810BBF8 @ =gStringVar1
- mov r9, r0
- ldr r1, _0810BBFC @ =gSaveBlock1
- mov r10, r1
-_0810BBB0:
- mov r1, r8
- subs r0, r6, r1
- lsls r0, 25
- lsrs r7, r0, 24
- ldr r0, _0810BC00 @ =gUnknown_02039248
- ldrb r0, [r0, 0x2]
- cmp r6, r0
- bne _0810BC08
- mov r0, r9
- ldr r1, _0810BC04 @ =gContestStatsText_StowCase
- movs r2, 0x78
- movs r3, 0
- bl sub_8072C74
- movs r2, 0x1
- orrs r2, r7
- mov r0, r9
- movs r1, 0xF
- bl MenuPrint
- mov r0, r8
- adds r0, 0x8
- cmp r6, r0
- beq _0810BC6C
- adds r1, r7, 0x3
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xF
- movs r2, 0x1D
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- b _0810BC6C
- .align 2, 0
-_0810BBF4: .4byte gWindowConfig_81E6E34
-_0810BBF8: .4byte gStringVar1
-_0810BBFC: .4byte gSaveBlock1
-_0810BC00: .4byte gUnknown_02039248
-_0810BC04: .4byte gContestStatsText_StowCase
-_0810BC08:
- lsls r5, r6, 3
- mov r1, r10
- adds r0, r5, r1
- movs r1, 0xFF
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, _0810BC7C @ =gPokeblockNames
- adds r0, r1
- ldr r1, [r0]
- mov r0, r9
- movs r2, 0x5E
- movs r3, 0
- bl sub_8072C74
- adds r4, r0, 0
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x14
- strb r0, [r4, 0x1]
- movs r0, 0x6
- strb r0, [r4, 0x2]
- adds r4, 0x3
- ldr r0, _0810BC80 @ =gSaveBlock1 + 0x7F8
- adds r5, r0
- adds r0, r5, 0
- bl sub_810C9B0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r2, 0x1
- orrs r2, r7
- mov r0, r9
- movs r1, 0xF
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x8
- cmp r6, r0
- ble _0810BBB0
-_0810BC6C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810BC7C: .4byte gPokeblockNames
-_0810BC80: .4byte gSaveBlock1 + 0x7F8
- thumb_func_end sub_810BB88
-
- thumb_func_start sub_810BC84
-sub_810BC84: @ 810BC84
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_810BB88
- movs r0, 0
- bl sub_810BDAC
- pop {r0}
- bx r0
- thumb_func_end sub_810BC84
-
- thumb_func_start sub_810BC98
-sub_810BC98: @ 810BC98
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- ldr r0, _0810BD00 @ =gSaveBlock1
- mov r9, r0
-_0810BCA6:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, 0x27
- bhi _0810BCE8
- lsls r1, r2, 3
- mov r2, r9
- adds r0, r1, r2
- movs r2, 0xFF
- lsls r2, 3
- adds r7, r0, r2
- ldr r0, _0810BD04 @ =gSaveBlock1 + 0x7F8
- mov r12, r0
- adds r6, r1, r0
-_0810BCC4:
- ldrb r0, [r7]
- cmp r0, 0
- bne _0810BCDE
- ldr r3, [r6]
- ldr r4, [r6, 0x4]
- lsls r2, r5, 3
- add r2, r12
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [r6]
- str r1, [r6, 0x4]
- str r3, [r2]
- str r4, [r2, 0x4]
-_0810BCDE:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x27
- bls _0810BCC4
-_0810BCE8:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, 0x26
- bls _0810BCA6
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810BD00: .4byte gSaveBlock1
-_0810BD04: .4byte gSaveBlock1 + 0x7F8
- thumb_func_end sub_810BC98
-
- thumb_func_start sub_810BD08
-sub_810BD08: @ 810BD08
- push {r4,r5,lr}
- ldr r1, _0810BD5C @ =gUnknown_02039248
- movs r0, 0
- strb r0, [r1, 0x2]
- movs r2, 0
- ldr r5, _0810BD60 @ =gSaveBlock1
- movs r4, 0xFF
- lsls r4, 3
- adds r3, r1, 0
-_0810BD1A:
- lsls r0, r2, 3
- adds r0, r5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0810BD2C
- ldrb r0, [r3, 0x2]
- adds r0, 0x1
- strb r0, [r3, 0x2]
-_0810BD2C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x27
- bls _0810BD1A
- ldrb r0, [r1, 0x2]
- cmp r0, 0x7
- bls _0810BD3E
- movs r0, 0x8
-_0810BD3E:
- strb r0, [r1, 0x3]
- ldrb r2, [r1, 0x1]
- adds r0, r2, 0
- adds r0, 0x8
- ldrb r3, [r1, 0x2]
- cmp r0, r3
- ble _0810BD54
- cmp r2, 0
- beq _0810BD54
- subs r0, r2, 0x1
- strb r0, [r1, 0x1]
-_0810BD54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810BD5C: .4byte gUnknown_02039248
-_0810BD60: .4byte gSaveBlock1
- thumb_func_end sub_810BD08
-
- thumb_func_start sub_810BD64
-sub_810BD64: @ 810BD64
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r5, _0810BDA4 @ =gUnknown_02039248
- ldr r4, _0810BDA8 @ =gBGTilemapBuffers + 0x1000
-_0810BD70:
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, 0x1
- lsls r0, 5
- adds r1, r2, 0
- adds r1, 0xF
- adds r0, r1
- lsls r0, 1
- adds r0, r4
- strh r3, [r0]
- ldrb r0, [r5]
- lsls r0, 6
- adds r0, 0x40
- adds r0, r1
- lsls r0, 1
- adds r0, r4
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xD
- bls _0810BD70
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810BDA4: .4byte gUnknown_02039248
-_0810BDA8: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_810BD64
-
- thumb_func_start sub_810BDAC
-sub_810BDAC: @ 810BDAC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- cmp r0, 0
- bne _0810BDCC
- ldr r0, _0810BDC4 @ =0x00001005
- ldr r1, _0810BDC8 @ =0x00001014
- bl sub_810BD64
- b _0810BDD4
- .align 2, 0
-_0810BDC4: .4byte 0x00001005
-_0810BDC8: .4byte 0x00001014
-_0810BDCC:
- ldr r0, _0810BDE8 @ =0x00002005
- ldr r1, _0810BDEC @ =0x00002014
- bl sub_810BD64
-_0810BDD4:
- ldr r0, _0810BDF0 @ =gUnknown_02039248
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _0810BDF4
- movs r0, 0
- movs r1, 0
- bl sub_80F979C
- b _0810BDFC
- .align 2, 0
-_0810BDE8: .4byte 0x00002005
-_0810BDEC: .4byte 0x00002014
-_0810BDF0: .4byte gUnknown_02039248
-_0810BDF4:
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
-_0810BDFC:
- ldr r2, _0810BE1C @ =gUnknown_02039248
- ldrb r0, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- bls _0810BE20
- ldrb r0, [r2, 0x1]
- ldrb r1, [r2, 0x3]
- adds r0, r1
- ldrb r2, [r2, 0x2]
- cmp r0, r2
- beq _0810BE20
- movs r0, 0x1
- movs r1, 0
- bl sub_80F979C
- b _0810BE28
- .align 2, 0
-_0810BE1C: .4byte gUnknown_02039248
-_0810BE20:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
-_0810BE28:
- movs r6, 0
- ldr r7, _0810BE94 @ =gBGTilemapBuffers + 0x1000
- movs r0, 0xF
- mov r8, r0
-_0810BE30:
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 18
- ldr r1, _0810BE98 @ =0x000001a1
- adds r4, r1
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r5, r4, r1
- ldr r1, _0810BE9C @ =gUnknown_02039248
- ldrb r2, [r1]
- ldrb r0, [r1, 0x1]
- adds r0, r2, r0
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- beq _0810BEB8
- lsls r0, 3
- ldr r1, _0810BEA0 @ =gSaveBlock1 + 0x7F8
- adds r0, r1
- adds r4, r6, 0x1
- lsls r1, r4, 24
- lsrs r1, 24
- bl sub_810CA9C
- lsls r0, 16
- cmp r0, 0
- ble _0810BEA4
- lsls r1, r5, 1
- adds r1, r7
- lsls r2, r6, 12
- adds r0, r2, 0
- adds r0, 0x17
- strh r0, [r1]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- adds r0, r7
- adds r2, 0x18
- strh r2, [r0]
- b _0810BECC
- .align 2, 0
-_0810BE94: .4byte gBGTilemapBuffers + 0x1000
-_0810BE98: .4byte 0x000001a1
-_0810BE9C: .4byte gUnknown_02039248
-_0810BEA0: .4byte gSaveBlock1 + 0x7F8
-_0810BEA4:
- lsls r0, r5, 1
- adds r0, r7
- mov r1, r8
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- adds r0, r7
- strh r1, [r0]
- b _0810BECC
-_0810BEB8:
- lsls r0, r5, 1
- adds r0, r7
- mov r1, r8
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- adds r0, r7
- strh r1, [r0]
- adds r4, r6, 0x1
-_0810BECC:
- lsls r0, r4, 24
- lsrs r6, r0, 24
- cmp r6, 0x4
- bls _0810BE30
- ldr r0, _0810BF10 @ =gWindowConfig_81E6E34
- bl BasicInitMenuWindow
- ldr r0, _0810BF14 @ =gUnknown_02039248
- ldrb r2, [r0]
- ldrb r1, [r0, 0x1]
- adds r2, r1
- ldrb r0, [r0, 0x2]
- cmp r2, r0
- beq _0810BF20
- ldr r4, _0810BF18 @ =gStringVar1
- lsls r0, r2, 3
- ldr r1, _0810BF1C @ =gSaveBlock1 + 0x7F8
- adds r0, r1
- bl sub_810C9E8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x10
- movs r3, 0x1
- bl sub_8072C14
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0x11
- bl MenuPrint
- b _0810BF2C
- .align 2, 0
-_0810BF10: .4byte gWindowConfig_81E6E34
-_0810BF14: .4byte gUnknown_02039248
-_0810BF18: .4byte gStringVar1
-_0810BF1C: .4byte gSaveBlock1 + 0x7F8
-_0810BF20:
- movs r0, 0xB
- movs r1, 0x11
- movs r2, 0xC
- movs r3, 0x12
- bl MenuZeroFillWindowRect
-_0810BF2C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810BDAC
-
- thumb_func_start sub_810BF38
-sub_810BF38: @ 810BF38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0810BF6C @ =gSprites
- ldr r0, _0810BF70 @ =0x02000000
- ldr r1, _0810BF74 @ =0x0001fffe
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0810BF78 @ =sub_810C8D4
- str r1, [r0]
- adds r0, r4, 0
- bl sub_810BDAC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810BF6C: .4byte gSprites
-_0810BF70: .4byte 0x02000000
-_0810BF74: .4byte 0x0001fffe
-_0810BF78: .4byte sub_810C8D4
- thumb_func_end sub_810BF38
-
- thumb_func_start sub_810BF7C
-sub_810BF7C: @ 810BF7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r0, _0810BFB8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r3, 0x80
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0810BF94
- b _0810C0B8
-_0810BF94:
- ldr r2, _0810BFBC @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0810BFCE
- ldr r4, _0810BFC0 @ =gUnknown_02039248
- ldrb r0, [r4]
- cmp r0, 0
- beq _0810BFC4
- movs r0, 0x5
- movs r1, 0x14
- bl sub_810BD64
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- b _0810C00A
- .align 2, 0
-_0810BFB8: .4byte gPaletteFade
-_0810BFBC: .4byte gMain
-_0810BFC0: .4byte gUnknown_02039248
-_0810BFC4:
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0810C0B8
- subs r0, 0x1
- b _0810C002
-_0810BFCE:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0810C012
- ldr r4, _0810BFF0 @ =gUnknown_02039248
- ldrb r0, [r4]
- ldrb r1, [r4, 0x3]
- cmp r0, r1
- beq _0810BFF4
- movs r0, 0x5
- movs r1, 0x14
- bl sub_810BD64
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0810C00A
- .align 2, 0
-_0810BFF0: .4byte gUnknown_02039248
-_0810BFF4:
- ldrb r1, [r4, 0x1]
- ldrb r0, [r4]
- adds r0, r1, r0
- ldrb r2, [r4, 0x2]
- cmp r0, r2
- beq _0810C0B8
- adds r0, r1, 0x1
-_0810C002:
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x1]
- bl sub_810BB88
-_0810C00A:
- movs r0, 0
- bl sub_810BF38
- b _0810C0B8
-_0810C012:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810C05C
- ldr r4, _0810C050 @ =gUnknown_02039248
- ldrb r0, [r4, 0x1]
- ldrb r1, [r4]
- adds r0, r1
- ldrb r1, [r4, 0x2]
- cmp r0, r1
- beq _0810C0B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_810BDAC
- ldr r1, _0810C054 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldrb r2, [r4]
- adds r1, r2
- strh r1, [r0, 0x8]
- ldr r1, _0810C058 @ =sub_810C0C8
- str r1, [r0]
- b _0810C0B8
- .align 2, 0
-_0810C050: .4byte gUnknown_02039248
-_0810C054: .4byte gTasks
-_0810C058: .4byte sub_810C0C8
-_0810C05C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C09C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0810C088 @ =gUnknown_02039248
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _0810C094
- ldr r1, _0810C08C @ =gScriptResult
- ldr r2, _0810C090 @ =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_810C31C
- b _0810C0B8
- .align 2, 0
-_0810C088: .4byte gUnknown_02039248
-_0810C08C: .4byte gScriptResult
-_0810C090: .4byte 0x0000ffff
-_0810C094:
- adds r0, r5, 0
- bl sub_810C368
- b _0810C0B8
-_0810C09C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0810C0B8
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0810C0C0 @ =gScriptResult
- ldr r2, _0810C0C4 @ =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_810C31C
-_0810C0B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C0C0: .4byte gScriptResult
-_0810C0C4: .4byte 0x0000ffff
- thumb_func_end sub_810BF7C
-
- thumb_func_start sub_810C0C8
-sub_810C0C8: @ 810C0C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _0810C0F4 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0810C110
- ldr r4, _0810C0F8 @ =gUnknown_02039248
- ldrb r0, [r4]
- cmp r0, 0
- beq _0810C0FC
- movs r0, 0x5
- movs r1, 0x14
- bl sub_810BD64
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- b _0810C158
- .align 2, 0
-_0810C0F4: .4byte gMain
-_0810C0F8: .4byte gUnknown_02039248
-_0810C0FC:
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0810C1BA
- adds r0, r5, 0
- movs r1, 0
- bl sub_810C1C8
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- b _0810C150
-_0810C110:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0810C168
- ldr r4, _0810C134 @ =gUnknown_02039248
- ldrb r0, [r4]
- ldrb r1, [r4, 0x3]
- cmp r0, r1
- beq _0810C138
- movs r0, 0x5
- movs r1, 0x14
- bl sub_810BD64
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0810C158
- .align 2, 0
-_0810C134: .4byte gUnknown_02039248
-_0810C138:
- ldrb r0, [r4, 0x1]
- ldrb r1, [r4]
- adds r0, r1
- ldrb r1, [r4, 0x2]
- cmp r0, r1
- beq _0810C1BA
- adds r0, r5, 0
- movs r1, 0
- bl sub_810C1C8
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
-_0810C150:
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x1]
- bl sub_810BB88
-_0810C158:
- movs r0, 0x1
- bl sub_810BF38
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_810C1C8
- b _0810C1BA
-_0810C168:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810C17A
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810C190
-_0810C17A:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- movs r1, 0
- bl sub_810C1C8
- adds r0, r5, 0
- bl sub_810C23C
- b _0810C1AC
-_0810C190:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0810C1BA
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- movs r1, 0
- bl sub_810C1C8
- movs r0, 0
- bl sub_810BDAC
-_0810C1AC:
- ldr r0, _0810C1C0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0810C1C4 @ =sub_810BF7C
- str r0, [r1]
-_0810C1BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C1C0: .4byte gTasks
-_0810C1C4: .4byte sub_810BF7C
- thumb_func_end sub_810C0C8
-
- thumb_func_start sub_810C1C8
-sub_810C1C8: @ 810C1C8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- ldr r6, _0810C22C @ =0x00001005
- cmp r1, 0
- bne _0810C1D8
- movs r6, 0x5
-_0810C1D8:
- ldr r1, _0810C230 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldr r2, _0810C234 @ =gUnknown_02039248
- ldrb r1, [r2, 0x1]
- ldrh r0, [r0, 0x8]
- subs r0, r1
- lsls r1, r0, 16
- lsrs r0, r1, 16
- cmp r0, 0x8
- bhi _0810C226
- asrs r0, r1, 16
- ldrb r2, [r2]
- cmp r0, r2
- beq _0810C226
- movs r2, 0
- lsls r0, 1
- adds r1, r0, 0x1
- lsls r5, r1, 5
- ldr r3, _0810C238 @ =gBGTilemapBuffers + 0x1000
- adds r0, 0x2
- lsls r4, r0, 5
-_0810C208:
- adds r0, r2, 0
- adds r0, 0xF
- adds r1, r5, r0
- lsls r1, 1
- adds r1, r3
- strh r6, [r1]
- adds r0, r4, r0
- lsls r0, 1
- adds r0, r3
- strh r6, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xD
- bls _0810C208
-_0810C226:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C22C: .4byte 0x00001005
-_0810C230: .4byte gTasks
-_0810C234: .4byte gUnknown_02039248
-_0810C238: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_810C1C8
-
- thumb_func_start sub_810C23C
-sub_810C23C: @ 810C23C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r7, _0810C25C @ =gUnknown_02039248
- ldrb r0, [r7]
- ldrb r2, [r7, 0x1]
- adds r0, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r7, 0x2]
- cmp r0, r2
- bne _0810C260
- movs r0, 0
- bl sub_810BDAC
- b _0810C2A2
- .align 2, 0
-_0810C25C: .4byte gUnknown_02039248
-_0810C260:
- ldr r4, _0810C2A8 @ =gSaveBlock1
- lsls r3, r0, 3
- movs r0, 0xFF
- lsls r0, 3
- adds r4, r0
- adds r3, r4
- ldr r5, [r3]
- ldr r6, [r3, 0x4]
- ldr r0, _0810C2AC @ =gTasks
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 3
- adds r2, r0
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- lsls r0, 3
- adds r0, r4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r3]
- str r1, [r3, 0x4]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- lsls r0, 3
- adds r0, r4
- str r5, [r0]
- str r6, [r0, 0x4]
- ldrb r0, [r7, 0x1]
- bl sub_810BB88
- movs r0, 0
- bl sub_810BDAC
-_0810C2A2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C2A8: .4byte gSaveBlock1
-_0810C2AC: .4byte gTasks
- thumb_func_end sub_810C23C
-
- thumb_func_start sub_810C2B0
-sub_810C2B0: @ 810C2B0
- push {lr}
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- bl BuyMenuFreeMemory
- pop {r0}
- bx r0
- thumb_func_end sub_810C2B0
-
- thumb_func_start sub_810C2C8
-sub_810C2C8: @ 810C2C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0810C308 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0810C300
- ldr r4, _0810C30C @ =gUnknown_02039244
- ldrb r0, [r4]
- cmp r0, 0x3
- bne _0810C2E8
- ldr r1, _0810C310 @ =gUnknown_0300485C
- ldr r0, _0810C314 @ =sub_8080990
- str r0, [r1]
-_0810C2E8:
- bl sub_810C2B0
- ldr r0, _0810C318 @ =gUnknown_083F7EA8
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_0810C300:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C308: .4byte gPaletteFade
-_0810C30C: .4byte gUnknown_02039244
-_0810C310: .4byte gUnknown_0300485C
-_0810C314: .4byte sub_8080990
-_0810C318: .4byte gUnknown_083F7EA8
- thumb_func_end sub_810C2C8
-
- thumb_func_start sub_810C31C
-sub_810C31C: @ 810C31C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- negs r0, r0
- movs r5, 0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0810C358 @ =gUnknown_02039244
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0810C342
- ldr r0, _0810C35C @ =gScriptItemId
- strh r5, [r0]
-_0810C342:
- ldr r0, _0810C360 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0810C364 @ =sub_810C2C8
- str r0, [r1]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C358: .4byte gUnknown_02039244
-_0810C35C: .4byte gScriptItemId
-_0810C360: .4byte gTasks
-_0810C364: .4byte sub_810C2C8
- thumb_func_end sub_810C31C
-
- thumb_func_start sub_810C368
-sub_810C368: @ 810C368
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r0, _0810C3E8 @ =gUnknown_02039244
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0810C37C
- movs r4, 0x2
-_0810C37C:
- movs r0, 0
- bl sub_80F98A4
- movs r0, 0x1
- bl sub_80F98A4
- ldr r0, _0810C3EC @ =gWindowConfig_81E6E50
- bl BasicInitMenuWindow
- adds r1, r4, 0x4
- movs r0, 0x7
- movs r2, 0xD
- movs r3, 0xB
- bl MenuDrawTextWindow
- adds r4, 0x5
- ldr r5, _0810C3F0 @ =gUnknown_0203924C
- ldrb r2, [r5]
- ldr r3, _0810C3F4 @ =gUnknown_083F7EF4
- ldr r0, _0810C3F8 @ =gUnknown_03000758
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl PrintMenuItemsReordered
- ldrb r3, [r5]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x8
- adds r2, r4, 0
- bl InitMenu
- ldr r2, _0810C3FC @ =gScriptItemId
- ldr r1, _0810C400 @ =gUnknown_02039248
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- adds r0, r1
- strh r0, [r2]
- ldr r1, _0810C404 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C408 @ =sub_810C40C
- str r1, [r0]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C3E8: .4byte gUnknown_02039244
-_0810C3EC: .4byte gWindowConfig_81E6E50
-_0810C3F0: .4byte gUnknown_0203924C
-_0810C3F4: .4byte gUnknown_083F7EF4
-_0810C3F8: .4byte gUnknown_03000758
-_0810C3FC: .4byte gScriptItemId
-_0810C400: .4byte gUnknown_02039248
-_0810C404: .4byte gTasks
-_0810C408: .4byte sub_810C40C
- thumb_func_end sub_810C368
-
- thumb_func_start sub_810C40C
-sub_810C40C: @ 810C40C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _0810C43C @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0810C440
- bl GetMenuCursorPos
- lsls r0, 24
- cmp r0, 0
- beq _0810C4BC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _0810C4BC
- .align 2, 0
-_0810C43C: .4byte gMain
-_0810C440:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0810C46C
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0810C468 @ =gUnknown_0203924C
- ldrb r1, [r1]
- subs r1, 0x1
- cmp r0, r1
- beq _0810C4BC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _0810C4BC
- .align 2, 0
-_0810C468: .4byte gUnknown_0203924C
-_0810C46C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C4A8
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0810C4A0 @ =gUnknown_083F7EF4
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0810C4A4 @ =gUnknown_03000758
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _0810C4BC
- .align 2, 0
-_0810C4A0: .4byte gUnknown_083F7EF4
-_0810C4A4: .4byte gUnknown_03000758
-_0810C4A8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0810C4BC
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_810C748
-_0810C4BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810C40C
-
- thumb_func_start sub_810C4C4
-sub_810C4C4: @ 810C4C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0810C4F8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0810C4F0
- bl sub_810C2B0
- ldr r0, _0810C4FC @ =gScriptItemId
- ldrh r0, [r0]
- lsls r0, 3
- ldr r1, _0810C500 @ =gSaveBlock1 + 0x7F8
- adds r0, r1
- ldr r1, _0810C504 @ =sub_810B96C
- bl sub_8136130
- adds r0, r4, 0
- bl DestroyTask
-_0810C4F0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C4F8: .4byte gPaletteFade
-_0810C4FC: .4byte gScriptItemId
-_0810C500: .4byte gSaveBlock1 + 0x7F8
-_0810C504: .4byte sub_810B96C
- thumb_func_end sub_810C4C4
-
- thumb_func_start sub_810C508
-sub_810C508: @ 810C508
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0810C538 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C53C @ =sub_810C4C4
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C538: .4byte gTasks
-_0810C53C: .4byte sub_810C4C4
- thumb_func_end sub_810C508
-
- thumb_func_start sub_810C540
-sub_810C540: @ 810C540
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50
- bl BasicInitMenuWindow
- bl sub_8072DEC
- movs r0, 0x7
- movs r1, 0x4
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldr r0, _0810C5A4 @ =gStringVar1
- ldr r4, _0810C5A8 @ =gPokeblockNames
- ldr r3, _0810C5AC @ =gSaveBlock1
- ldr r2, _0810C5B0 @ =gUnknown_02039248
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- adds r1, r2
- lsls r1, 3
- adds r1, r3
- movs r2, 0xFF
- lsls r2, 3
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r4
- ldr r1, [r1]
- bl StringCopy
- ldr r4, _0810C5B4 @ =gStringVar4
- ldr r1, _0810C5B8 @ =gContestStatsText_ThrowAwayPrompt
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _0810C5BC @ =sub_810C5EC
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C5A0: .4byte gWindowConfig_81E6E50
-_0810C5A4: .4byte gStringVar1
-_0810C5A8: .4byte gPokeblockNames
-_0810C5AC: .4byte gSaveBlock1
-_0810C5B0: .4byte gUnknown_02039248
-_0810C5B4: .4byte gStringVar4
-_0810C5B8: .4byte gContestStatsText_ThrowAwayPrompt
-_0810C5BC: .4byte sub_810C5EC
- thumb_func_end sub_810C540
-
- thumb_func_start sub_810C5C0
-sub_810C5C0: @ 810C5C0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- ldr r1, _0810C5E4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C5E8 @ =sub_810C540
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C5E4: .4byte gTasks
-_0810C5E8: .4byte sub_810C540
- thumb_func_end sub_810C5C0
-
- thumb_func_start sub_810C5EC
-sub_810C5EC: @ 810C5EC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _0810C60C @ =gUnknown_083F7F24
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C60C: .4byte gUnknown_083F7F24
- thumb_func_end sub_810C5EC
-
- thumb_func_start sub_810C610
-sub_810C610: @ 810C610
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldr r1, _0810C658 @ =gUnknown_02039248
- ldrb r0, [r1, 0x1]
- ldrb r1, [r1]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl sub_810CA6C
- ldr r5, _0810C65C @ =gStringVar4
- ldr r1, _0810C660 @ =gContestStatsText_WasThrownAway
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldr r2, _0810C664 @ =sub_810C704
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- bl sub_810BC98
- bl sub_810BD08
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C658: .4byte gUnknown_02039248
-_0810C65C: .4byte gStringVar4
-_0810C660: .4byte gContestStatsText_WasThrownAway
-_0810C664: .4byte sub_810C704
- thumb_func_end sub_810C610
-
- thumb_func_start sub_810C668
-sub_810C668: @ 810C668
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- ldr r2, _0810C6CC @ =gUnknown_02039248
- ldrb r0, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- bls _0810C698
- ldrb r0, [r2, 0x1]
- ldrb r1, [r2, 0x3]
- adds r0, r1
- ldrb r2, [r2, 0x2]
- cmp r0, r2
- beq _0810C698
- movs r0, 0x1
- movs r1, 0
- bl sub_80F979C
-_0810C698:
- ldr r0, _0810C6D0 @ =gWindowConfig_81E6E50
- bl BasicInitMenuWindow
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _0810C6D4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C6D8 @ =sub_810BF7C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C6CC: .4byte gUnknown_02039248
-_0810C6D0: .4byte gWindowConfig_81E6E50
-_0810C6D4: .4byte gTasks
-_0810C6D8: .4byte sub_810BF7C
- thumb_func_end sub_810C668
-
- thumb_func_start sub_810C6DC
-sub_810C6DC: @ 810C6DC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0810C700 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810C6F6
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0810C6FC
-_0810C6F6:
- adds r0, r2, 0
- bl sub_810C668
-_0810C6FC:
- pop {r0}
- bx r0
- .align 2, 0
-_0810C700: .4byte gMain
- thumb_func_end sub_810C6DC
-
- thumb_func_start sub_810C704
-sub_810C704: @ 810C704
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0810C738 @ =gWindowConfig_81E6E34
- bl BasicInitMenuWindow
- ldr r0, _0810C73C @ =gUnknown_02039248
- ldrb r0, [r0, 0x1]
- bl sub_810BC84
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- ldr r1, _0810C740 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C744 @ =sub_810C6DC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C738: .4byte gWindowConfig_81E6E34
-_0810C73C: .4byte gUnknown_02039248
-_0810C740: .4byte gTasks
-_0810C744: .4byte sub_810C6DC
- thumb_func_end sub_810C704
-
- thumb_func_start sub_810C748
-sub_810C748: @ 810C748
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- bl sub_8072DEC
- movs r0, 0x7
- movs r1, 0x4
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldr r1, _0810C780 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C784 @ =sub_810BF7C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C780: .4byte gTasks
-_0810C784: .4byte sub_810BF7C
- thumb_func_end sub_810C748
-
- thumb_func_start sub_810C788
-sub_810C788: @ 810C788
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0810C834 @ =gEnemyParty
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- ldr r7, _0810C838 @ =gScriptItemId
- ldrh r1, [r7]
- lsls r1, 3
- ldr r5, _0810C83C @ =gSaveBlock1 + 0x7F8
- adds r1, r5
- bl sub_810CAE4
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _0810C840 @ =gUnknown_030041C0
- ldr r2, _0810C844 @ =gPokeblockNames
- ldr r1, _0810C848 @ =0xfffff808
- adds r5, r1
- ldrh r1, [r7]
- lsls r1, 3
- adds r1, r5
- movs r6, 0xFF
- lsls r6, 3
- adds r1, r6
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldrb r0, [r7]
- bl sub_810CA6C
- ldrh r0, [r7]
- lsls r0, 3
- adds r0, r5
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 8
- strh r0, [r7]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0
- bne _0810C7F4
- adds r0, 0x1
- strh r0, [r7]
-_0810C7F4:
- cmp r4, 0
- ble _0810C7FE
- ldrh r0, [r7]
- adds r0, 0x2
- strh r0, [r7]
-_0810C7FE:
- cmp r4, 0
- bge _0810C808
- ldrh r0, [r7]
- adds r0, 0x3
- strh r0, [r7]
-_0810C808:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0810C84C @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C850 @ =sub_810C2C8
- str r1, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C834: .4byte gEnemyParty
-_0810C838: .4byte gScriptItemId
-_0810C83C: .4byte gSaveBlock1 + 0x7F8
-_0810C840: .4byte gUnknown_030041C0
-_0810C844: .4byte gPokeblockNames
-_0810C848: .4byte 0xfffff808
-_0810C84C: .4byte gTasks
-_0810C850: .4byte sub_810C2C8
- thumb_func_end sub_810C788
-
- thumb_func_start sub_810C854
-sub_810C854: @ 810C854
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _0810C8B8 @ =gScriptItemId
- ldrb r0, [r4]
- bl SafariZoneActivatePokeblockFeeder
- ldr r0, _0810C8BC @ =gStringVar1
- ldr r3, _0810C8C0 @ =gPokeblockNames
- ldr r2, _0810C8C4 @ =gSaveBlock1
- ldrh r1, [r4]
- lsls r1, 3
- adds r1, r2
- movs r2, 0xFF
- lsls r2, 3
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
- ldr r1, _0810C8C8 @ =gScriptResult
- ldrh r0, [r4]
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl sub_810CA6C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0810C8CC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810C8D0 @ =sub_810C2C8
- str r1, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C8B8: .4byte gScriptItemId
-_0810C8BC: .4byte gStringVar1
-_0810C8C0: .4byte gPokeblockNames
-_0810C8C4: .4byte gSaveBlock1
-_0810C8C8: .4byte gScriptResult
-_0810C8CC: .4byte gTasks
-_0810C8D0: .4byte sub_810C2C8
- thumb_func_end sub_810C854
-
- thumb_func_start sub_810C8D4
-sub_810C8D4: @ 810C8D4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- ble _0810C8E4
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0810C8E4:
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _0810C8F2
- cmp r5, 0x1
- beq _0810C918
- b _0810C944
-_0810C8F2:
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _0810C914 @ =gUnknown_083F7F70
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x30]
- b _0810C944
- .align 2, 0
-_0810C914: .4byte gUnknown_083F7F70
-_0810C918:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _0810C944
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- strh r2, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, _0810C94C @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0810C944:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810C94C: .4byte SpriteCallbackDummy
- thumb_func_end sub_810C8D4
-
- thumb_func_start sub_810C950
-sub_810C950: @ 810C950
- lsls r0, 24
- ldr r1, _0810C988 @ =gSaveBlock1
- lsrs r0, 21
- adds r0, r1
- movs r2, 0xFF
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r3, _0810C98C @ =0x000007f9
- adds r1, r0, r3
- strb r2, [r1]
- adds r3, 0x1
- adds r1, r0, r3
- strb r2, [r1]
- adds r3, 0x1
- adds r1, r0, r3
- strb r2, [r1]
- adds r3, 0x1
- adds r1, r0, r3
- strb r2, [r1]
- adds r3, 0x1
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, _0810C990 @ =0x000007fe
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0810C988: .4byte gSaveBlock1
-_0810C98C: .4byte 0x000007f9
-_0810C990: .4byte 0x000007fe
- thumb_func_end sub_810C950
-
- thumb_func_start sub_810C994
-sub_810C994: @ 810C994
- push {r4,lr}
- movs r4, 0
-_0810C998:
- adds r0, r4, 0
- bl sub_810C950
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x27
- bls _0810C998
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810C994
-
- thumb_func_start sub_810C9B0
-sub_810C9B0: @ 810C9B0
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_810CA9C
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x1
-_0810C9C0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_810CA9C
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcs _0810C9D8
- adds r5, r0, 0
-_0810C9D8:
- adds r1, r4, 0
- cmp r1, 0x4
- bls _0810C9C0
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_810C9B0
-
- thumb_func_start sub_810C9E8
-sub_810C9E8: @ 810C9E8
- push {lr}
- movs r1, 0x6
- bl sub_810CA9C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _0810C9FA
- movs r0, 0x63
-_0810C9FA:
- pop {r1}
- bx r1
- thumb_func_end sub_810C9E8
-
- thumb_func_start sub_810CA00
-sub_810CA00: @ 810CA00
- push {lr}
- movs r1, 0
- ldr r3, _0810CA1C @ =gSaveBlock1
- movs r2, 0xFF
- lsls r2, 3
-_0810CA0A:
- lsls r0, r1, 3
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CA20
- lsls r0, r1, 24
- asrs r0, 24
- b _0810CA2E
- .align 2, 0
-_0810CA1C: .4byte gSaveBlock1
-_0810CA20:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x27
- bls _0810CA0A
- movs r0, 0x1
- negs r0, r0
-_0810CA2E:
- pop {r1}
- bx r1
- thumb_func_end sub_810CA00
-
- thumb_func_start sub_810CA34
-sub_810CA34: @ 810CA34
- push {r4,lr}
- adds r4, r0, 0
- bl sub_810CA00
- lsls r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _0810CA64
- ldr r0, _0810CA60 @ =gSaveBlock1
- lsls r2, 3
- movs r1, 0xFF
- lsls r1, 3
- adds r0, r1
- adds r2, r0
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x1
- b _0810CA66
- .align 2, 0
-_0810CA60: .4byte gSaveBlock1
-_0810CA64:
- movs r0, 0
-_0810CA66:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810CA34
-
- thumb_func_start sub_810CA6C
-sub_810CA6C: @ 810CA6C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0810CA90 @ =gSaveBlock1
- lsls r0, r2, 3
- adds r0, r1
- movs r1, 0xFF
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0810CA94
- adds r0, r2, 0
- bl sub_810C950
- movs r0, 0x1
- b _0810CA96
- .align 2, 0
-_0810CA90: .4byte gSaveBlock1
-_0810CA94:
- movs r0, 0
-_0810CA96:
- pop {r1}
- bx r1
- thumb_func_end sub_810CA6C
-
- thumb_func_start sub_810CA9C
-sub_810CA9C: @ 810CA9C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0
- bne _0810CAAC
- ldrb r0, [r0]
- b _0810CADE
-_0810CAAC:
- cmp r1, 0x1
- bne _0810CAB4
- ldrb r0, [r0, 0x1]
- b _0810CADE
-_0810CAB4:
- cmp r1, 0x2
- bne _0810CABC
- ldrb r0, [r0, 0x2]
- b _0810CADE
-_0810CABC:
- cmp r1, 0x3
- bne _0810CAC4
- ldrb r0, [r0, 0x3]
- b _0810CADE
-_0810CAC4:
- cmp r1, 0x4
- bne _0810CACC
- ldrb r0, [r0, 0x4]
- b _0810CADE
-_0810CACC:
- cmp r1, 0x5
- bne _0810CAD4
- ldrb r0, [r0, 0x5]
- b _0810CADE
-_0810CAD4:
- cmp r2, 0x6
- beq _0810CADC
- movs r0, 0
- b _0810CADE
-_0810CADC:
- ldrb r0, [r0, 0x6]
-_0810CADE:
- pop {r1}
- bx r1
- thumb_func_end sub_810CA9C
-
- thumb_func_start sub_810CAE4
-sub_810CAE4: @ 810CAE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r1
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- movs r4, 0
- ldr r1, _0810CB40 @ =gUnknown_083F7E28
- mov r9, r1
- lsls r1, r0, 2
- adds r7, r1, r0
-_0810CAFE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r1, r5, 0
- bl sub_810CA9C
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- ble _0810CB2A
- adds r0, r7, r4
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- muls r1, r0
- lsls r0, r6, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
-_0810CB2A:
- adds r4, r5, 0
- cmp r4, 0x4
- bls _0810CAFE
- lsls r0, r6, 16
- asrs r0, 16
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0810CB40: .4byte gUnknown_083F7E28
- thumb_func_end sub_810CAE4
-
- thumb_func_start sub_810CB44
-sub_810CB44: @ 810CB44
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0
- bl sub_810CA9C
- lsls r0, 24
- ldr r1, _0810CB64 @ =gPokeblockNames
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CB64: .4byte gPokeblockNames
- thumb_func_end sub_810CB44
-
- thumb_func_start sub_810CB68
-sub_810CB68: @ 810CB68
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r7, _0810CB98 @ =gPokeblockNames
-_0810CB74:
- lsls r1, r4, 3
- ldr r0, _0810CB9C @ =gUnknown_083F7F9C
- adds r1, r0
- adds r0, r5, 0
- bl sub_810CAE4
- lsls r0, 16
- cmp r0, 0
- ble _0810CBA0
- adds r0, r4, 0x1
- lsls r0, 2
- adds r0, r7
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringCopy
- movs r0, 0x1
- b _0810CBAC
- .align 2, 0
-_0810CB98: .4byte gPokeblockNames
-_0810CB9C: .4byte gUnknown_083F7F9C
-_0810CBA0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0810CB74
- movs r0, 0
-_0810CBAC:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810CB68
-
- thumb_func_start SetUpFieldMove_Flash
-SetUpFieldMove_Flash: @ 810CBB4
- push {lr}
- ldr r0, _0810CBDC @ =gMapHeader
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0810CBF4
- ldr r0, _0810CBE0 @ =0x00000828
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0810CBF4
- ldr r1, _0810CBE4 @ =gUnknown_0300485C
- ldr r0, _0810CBE8 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0810CBEC @ =gUnknown_03005CE4
- ldr r0, _0810CBF0 @ =sub_810CBFC
- str r0, [r1]
- movs r0, 0x1
- b _0810CBF6
- .align 2, 0
-_0810CBDC: .4byte gMapHeader
-_0810CBE0: .4byte 0x00000828
-_0810CBE4: .4byte gUnknown_0300485C
-_0810CBE8: .4byte sub_808AB90
-_0810CBEC: .4byte gUnknown_03005CE4
-_0810CBF0: .4byte sub_810CBFC
-_0810CBF4:
- movs r0, 0
-_0810CBF6:
- pop {r1}
- bx r1
- thumb_func_end SetUpFieldMove_Flash
-
- thumb_func_start sub_810CBFC
-sub_810CBFC: @ 810CBFC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CC24 @ =gUnknown_0202FF84
- ldr r1, _0810CC28 @ =gUnknown_03005CE0
- ldrb r1, [r1]
- str r1, [r2]
- ldr r2, _0810CC2C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _0810CC30 @ =sub_810CC34
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- pop {r0}
- bx r0
- .align 2, 0
-_0810CC24: .4byte gUnknown_0202FF84
-_0810CC28: .4byte gUnknown_03005CE0
-_0810CC2C: .4byte gTasks
-_0810CC30: .4byte sub_810CC34
- thumb_func_end sub_810CBFC
-
- thumb_func_start sub_810CC34
-sub_810CC34: @ 810CC34
- push {lr}
- movs r0, 0xCF
- bl PlaySE
- ldr r0, _0810CC4C @ =0x00000828
- bl FlagSet
- ldr r0, _0810CC50 @ =gUnknown_081B694A
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_0810CC4C: .4byte 0x00000828
-_0810CC50: .4byte gUnknown_081B694A
- thumb_func_end sub_810CC34
-
- thumb_func_start sub_810CC54
-sub_810CC54: @ 810CC54
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_810CC54
-
- thumb_func_start sub_810CC6C
-sub_810CC6C: @ 810CC6C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_810CC6C
-
- thumb_func_start sub_810CC80
-sub_810CC80: @ 810CC80
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x10
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- strh r1, [r0]
- ldr r1, _0810CD34 @ =0x040000d4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0810CD38 @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r4, 0
- str r4, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0810CD3C @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r4, [r0]
- str r0, [r1]
- ldr r0, _0810CD40 @ =0x05000002
- str r0, [r1, 0x4]
- ldr r0, _0810CD44 @ =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- bl ResetTasks
- bl ResetSpriteData
- ldr r3, _0810CD48 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _0810CD4C @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, _0810CD50 @ =sub_810CC6C
- bl SetVBlankCallback
- ldr r0, _0810CD54 @ =sub_810CC54
- bl SetMainCallback2
- bl sub_810CD5C
- lsls r0, 24
- cmp r0, 0
- bne _0810CD2A
- ldr r0, _0810CD58 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810CD2A:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CD34: .4byte 0x040000d4
-_0810CD38: .4byte 0x8100c000
-_0810CD3C: .4byte 0x85000100
-_0810CD40: .4byte 0x05000002
-_0810CD44: .4byte 0x810001ff
-_0810CD48: .4byte 0x04000208
-_0810CD4C: .4byte 0x04000200
-_0810CD50: .4byte sub_810CC6C
-_0810CD54: .4byte sub_810CC54
-_0810CD58: .4byte gMain
- thumb_func_end sub_810CC80
-
- thumb_func_start sub_810CD5C
-sub_810CD5C: @ 810CD5C
- push {r4-r7,lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r6, r0, 24
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r4, _0810CD9C @ =gUnknown_083F7FC4
- ldrb r0, [r4]
- cmp r0, 0
- beq _0810CDB0
- adds r7, r4, 0
- adds r0, r4, 0x4
- mov r12, r0
-_0810CD7E:
- lsls r2, r3, 3
- adds r1, r2, r7
- ldrb r0, [r1]
- cmp r0, r6
- bne _0810CDA0
- ldrb r0, [r1, 0x1]
- cmp r0, r5
- bne _0810CDA0
- mov r1, r12
- adds r0, r2, r1
- ldr r0, [r0]
- bl _call_via_r0
- movs r0, 0x1
- b _0810CDB2
- .align 2, 0
-_0810CD9C: .4byte gUnknown_083F7FC4
-_0810CDA0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CD7E
-_0810CDB0:
- movs r0, 0
-_0810CDB2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810CD5C
-
- thumb_func_start sub_810CDB8
-sub_810CDB8: @ 810CDB8
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _0810CDE4 @ =gUnknown_083F7FC4
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810CDF8
- adds r6, r1, 0
-_0810CDCE:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _0810CDE8
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _0810CDE8
- ldrb r0, [r2, 0x2]
- b _0810CDFA
- .align 2, 0
-_0810CDE4: .4byte gUnknown_083F7FC4
-_0810CDE8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CDCE
-_0810CDF8:
- movs r0, 0
-_0810CDFA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_810CDB8
-
- thumb_func_start fade_type_for_given_maplight_pair
-fade_type_for_given_maplight_pair: @ 810CE00
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _0810CE2C @ =gUnknown_083F7FC4
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810CE40
- adds r6, r1, 0
-_0810CE16:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _0810CE30
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _0810CE30
- ldrb r0, [r2, 0x3]
- b _0810CE42
- .align 2, 0
-_0810CE2C: .4byte gUnknown_083F7FC4
-_0810CE30:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CE16
-_0810CE40:
- movs r0, 0
-_0810CE42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end fade_type_for_given_maplight_pair
-
- thumb_func_start sub_810CE48
-sub_810CE48: @ 810CE48
- push {lr}
- ldr r0, _0810CE58 @ =sub_810CE5C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810CE58: .4byte sub_810CE5C
- thumb_func_end sub_810CE48
-
- thumb_func_start sub_810CE5C
-sub_810CE5C: @ 810CE5C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CE70 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0810CE74 @ =sub_810CE78
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810CE70: .4byte gTasks
-_0810CE74: .4byte sub_810CE78
- thumb_func_end sub_810CE5C
-
- thumb_func_start sub_810CE78
-sub_810CE78: @ 810CE78
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r6, 0x80
- lsls r6, 19
- movs r5, 0
- strh r5, [r6]
- ldr r0, _0810CEE8 @ =gCaveTransitionTiles
- ldr r1, _0810CEEC @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _0810CEF0 @ =gCaveTransitionTilemap
- ldr r1, _0810CEF4 @ =0x0600f800
- bl LZ77UnCompVram
- ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810CEFC @ =gUnknown_083F809C
- movs r1, 0xE0
- movs r2, 0x10
- bl LoadPalette
- ldr r1, _0810CF00 @ =REG_BLDCNT
- ldr r2, _0810CF04 @ =0x00003e41
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0810CF08 @ =REG_BLDALPHA
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- subs r1, 0x48
- ldr r2, _0810CF0C @ =0x00001f0c
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x8A
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r6]
- ldr r1, _0810CF10 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810CF14 @ =sub_810CF18
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CEE8: .4byte gCaveTransitionTiles
-_0810CEEC: .4byte 0x0600c000
-_0810CEF0: .4byte gCaveTransitionTilemap
-_0810CEF4: .4byte 0x0600f800
-_0810CEF8: .4byte gCaveTransitionPalette_White
-_0810CEFC: .4byte gUnknown_083F809C
-_0810CF00: .4byte REG_BLDCNT
-_0810CF04: .4byte 0x00003e41
-_0810CF08: .4byte REG_BLDALPHA
-_0810CF0C: .4byte 0x00001f0c
-_0810CF10: .4byte gTasks
-_0810CF14: .4byte sub_810CF18
- thumb_func_end sub_810CE78
-
- thumb_func_start sub_810CF18
-sub_810CF18: @ 810CF18
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CF44 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r2, [r3, 0xA]
- movs r1, 0x80
- lsls r1, 5
- adds r0, r2, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0810CF48 @ =REG_BLDALPHA
- strh r0, [r1]
- cmp r2, 0x10
- bhi _0810CF4C
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- b _0810CF54
- .align 2, 0
-_0810CF44: .4byte gTasks
-_0810CF48: .4byte REG_BLDALPHA
-_0810CF4C:
- movs r0, 0
- strh r0, [r3, 0xC]
- ldr r0, _0810CF58 @ =sub_810CF5C
- str r0, [r3]
-_0810CF54:
- pop {r0}
- bx r0
- .align 2, 0
-_0810CF58: .4byte sub_810CF5C
- thumb_func_end sub_810CF18
-
- thumb_func_start sub_810CF5C
-sub_810CF5C: @ 810CF5C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CF94 @ =REG_BLDALPHA
- ldr r3, _0810CF98 @ =0x00001010
- adds r1, r3, 0
- strh r1, [r2]
- ldr r2, _0810CF9C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- cmp r1, 0x7
- bhi _0810CFA4
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 1
- ldr r0, _0810CFA0 @ =gUnknown_083F809C
- adds r0, r1, r0
- movs r2, 0x10
- subs r2, r1
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _0810CFB6
- .align 2, 0
-_0810CF94: .4byte REG_BLDALPHA
-_0810CF98: .4byte 0x00001010
-_0810CF9C: .4byte gTasks
-_0810CFA0: .4byte gUnknown_083F809C
-_0810CFA4:
- ldr r0, _0810CFBC @ =gCaveTransitionPalette_White
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810CFC0 @ =sub_810CFC4
- str r0, [r4]
- movs r0, 0x8
- strh r0, [r4, 0xC]
-_0810CFB6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CFBC: .4byte gCaveTransitionPalette_White
-_0810CFC0: .4byte sub_810CFC4
- thumb_func_end sub_810CF5C
-
- thumb_func_start sub_810CFC4
-sub_810CFC4: @ 810CFC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CFE4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0810CFE8
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _0810CFF0
- .align 2, 0
-_0810CFE4: .4byte gTasks
-_0810CFE8:
- ldr r0, _0810CFF4 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810CFF0:
- pop {r0}
- bx r0
- .align 2, 0
-_0810CFF4: .4byte gMain
- thumb_func_end sub_810CFC4
-
- thumb_func_start sub_810CFF8
-sub_810CFF8: @ 810CFF8
- push {lr}
- ldr r0, _0810D008 @ =sub_810D00C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810D008: .4byte sub_810D00C
- thumb_func_end sub_810CFF8
-
- thumb_func_start sub_810D00C
-sub_810D00C: @ 810D00C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D020 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0810D024 @ =sub_810D028
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810D020: .4byte gTasks
-_0810D024: .4byte sub_810D028
- thumb_func_end sub_810D00C
-
- thumb_func_start sub_810D028
-sub_810D028: @ 810D028
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r6, 0x80
- lsls r6, 19
- movs r4, 0
- strh r4, [r6]
- ldr r0, _0810D098 @ =gCaveTransitionTiles
- ldr r1, _0810D09C @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _0810D0A0 @ =gCaveTransitionTilemap
- ldr r1, _0810D0A4 @ =0x0600f800
- bl LZ77UnCompVram
- ldr r0, _0810D0A8 @ =REG_BLDCNT
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r1, _0810D0AC @ =REG_BG0CNT
- ldr r2, _0810D0B0 @ =0x00001f0c
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x8A
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r6]
- ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _0810D0BC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810D0C0 @ =sub_810D0C4
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- strh r2, [r0, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D098: .4byte gCaveTransitionTiles
-_0810D09C: .4byte 0x0600c000
-_0810D0A0: .4byte gCaveTransitionTilemap
-_0810D0A4: .4byte 0x0600f800
-_0810D0A8: .4byte REG_BLDCNT
-_0810D0AC: .4byte REG_BG0CNT
-_0810D0B0: .4byte 0x00001f0c
-_0810D0B4: .4byte gCaveTransitionPalette_White
-_0810D0B8: .4byte gCaveTransitionPalette_Black
-_0810D0BC: .4byte gTasks
-_0810D0C0: .4byte sub_810D0C4
- thumb_func_end sub_810D028
-
- thumb_func_start sub_810D0C4
-sub_810D0C4: @ 810D0C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D0F8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r1, [r3, 0xC]
- cmp r1, 0xF
- bhi _0810D100
- adds r2, r1, 0x1
- adds r0, r2, 0x1
- strh r0, [r3, 0xC]
- movs r0, 0xF
- subs r0, r1
- lsls r0, 1
- ldr r1, _0810D0FC @ =gUnknown_083F808C
- adds r0, r1
- lsls r2, 17
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _0810D114
- .align 2, 0
-_0810D0F8: .4byte gTasks
-_0810D0FC: .4byte gUnknown_083F808C
-_0810D100:
- ldr r1, _0810D118 @ =REG_BLDALPHA
- ldr r2, _0810D11C @ =0x00001010
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _0810D120 @ =0x00003e41
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0810D124 @ =sub_810D128
- str r0, [r3]
-_0810D114:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D118: .4byte REG_BLDALPHA
-_0810D11C: .4byte 0x00001010
-_0810D120: .4byte 0x00003e41
-_0810D124: .4byte sub_810D128
- thumb_func_end sub_810D0C4
-
- thumb_func_start sub_810D128
-sub_810D128: @ 810D128
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D158 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r0, [r3, 0xA]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 16
- movs r2, 0x80
- lsls r2, 21
- adds r0, r1, r2
- lsrs r0, 16
- ldr r2, _0810D15C @ =REG_BLDALPHA
- strh r0, [r2]
- cmp r1, 0
- beq _0810D160
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- b _0810D172
- .align 2, 0
-_0810D158: .4byte gTasks
-_0810D15C: .4byte REG_BLDALPHA
-_0810D160:
- ldr r0, _0810D178 @ =gCaveTransitionPalette_Black
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810D17C @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810D172:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D178: .4byte gCaveTransitionPalette_Black
-_0810D17C: .4byte gMain
- thumb_func_end sub_810D128
-
- thumb_func_start sub_810D180
-sub_810D180: @ 810D180
- push {r4-r7,lr}
- sub sp, 0x4
- bl HealPlayerParty
- ldr r4, _0810D1A0 @ =0x00000804
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _0810D1A8
- ldr r0, _0810D1A4 @ =gUnknown_02039324
- strb r1, [r0]
- b _0810D1B4
- .align 2, 0
-_0810D1A0: .4byte 0x00000804
-_0810D1A4: .4byte gUnknown_02039324
-_0810D1A8:
- ldr r1, _0810D1E8 @ =gUnknown_02039324
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl FlagSet
-_0810D1B4:
- movs r0, 0x1
- bl sub_8053108
- cmp r0, 0
- bne _0810D1D4
- ldr r2, _0810D1EC @ =gSaveBlock2
- ldrh r1, [r2, 0xE]
- lsls r1, 16
- ldrb r0, [r2, 0x10]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x11]
- orrs r1, r0
- movs r0, 0x1
- bl sav12_xor_set
-_0810D1D4:
- bl sub_8047A10
- ldr r0, _0810D1EC @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0810D1F0
- movs r0, 0x1
- bl sub_80537CC
- b _0810D1F6
- .align 2, 0
-_0810D1E8: .4byte gUnknown_02039324
-_0810D1EC: .4byte gSaveBlock2
-_0810D1F0:
- movs r0, 0x2
- bl sub_80537CC
-_0810D1F6:
- movs r6, 0
- movs r5, 0
- mov r7, sp
-_0810D1FC:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0810D260 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0810D23A
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _0810D23A
- adds r0, r4, 0
- movs r1, 0x43
- bl GetMonData
- cmp r0, 0
- bne _0810D23A
- movs r0, 0x1
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x43
- mov r2, sp
- bl SetMonData
- movs r6, 0x1
-_0810D23A:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0810D1FC
- cmp r6, 0x1
- bne _0810D250
- movs r0, 0x2A
- bl sav12_xor_increment
- ldr r0, _0810D264 @ =0x0000083b
- bl FlagSet
-_0810D250:
- ldr r0, _0810D268 @ =sub_8141F90
- bl SetMainCallback2
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0810D260: .4byte gPlayerParty
-_0810D264: .4byte 0x0000083b
-_0810D268: .4byte sub_8141F90
- thumb_func_end sub_810D180
-
- thumb_func_start sp0C8_whiteout_maybe
-sp0C8_whiteout_maybe: @ 810D26C
- push {lr}
- ldr r0, _0810D27C @ =c2_whiteout
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0810D27C: .4byte c2_whiteout
- thumb_func_end sp0C8_whiteout_maybe
-
- thumb_func_start sub_810D280
-sub_810D280: @ 810D280
- push {r4,lr}
- ldr r0, _0810D2A4 @ =0x00004024
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _0810D2A8 @ =0x00004025
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- orrs r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0810D2A4: .4byte 0x00004024
-_0810D2A8: .4byte 0x00004025
- thumb_func_end sub_810D280
-
- thumb_func_start sub_810D2AC
-sub_810D2AC: @ 810D2AC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0810D2CC @ =0x00004024
- lsrs r1, r4, 16
- bl VarSet
- ldr r0, _0810D2D0 @ =0x00004025
- lsls r4, 16
- lsrs r4, 16
- adds r1, r4, 0
- bl VarSet
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D2CC: .4byte 0x00004024
-_0810D2D0: .4byte 0x00004025
- thumb_func_end sub_810D2AC
-
- thumb_func_start unref_sub_810D2D4
-unref_sub_810D2D4: @ 810D2D4
- push {r4,lr}
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsls r0, 16
- lsrs r0, 16
- orrs r4, r0
- adds r0, r4, 0
- bl sub_810D2AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_810D2D4
-
- thumb_func_start sub_810D2F4
-sub_810D2F4: @ 810D2F4
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl sub_810D280
- adds r1, r0, 0
- cmp r4, 0
- beq _0810D318
- ldr r3, _0810D324 @ =0x41c64e6d
- ldr r2, _0810D328 @ =0x00003039
-_0810D308:
- adds r0, r1, 0
- muls r0, r3
- adds r1, r0, r2
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _0810D308
-_0810D318:
- adds r0, r1, 0
- bl sub_810D2AC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D324: .4byte 0x41c64e6d
-_0810D328: .4byte 0x00003039
- thumb_func_end sub_810D2F4
-
- thumb_func_start sub_810D32C
-sub_810D32C: @ 810D32C
- push {r4-r6,lr}
- bl sub_810D280
- lsrs r6, r0, 16
- movs r5, 0
-_0810D336:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0810D360 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0810D368
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldr r1, _0810D364 @ =0x0000ffff
- ands r1, r0
- cmp r1, r6
- bne _0810D368
- movs r0, 0x1
- b _0810D370
- .align 2, 0
-_0810D360: .4byte gPlayerParty
-_0810D364: .4byte 0x0000ffff
-_0810D368:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0810D336
- movs r0, 0
-_0810D370:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_810D32C
-
- thumb_func_start sub_810D378
-sub_810D378: @ 810D378
- push {lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- cmp r0, 0
- beq _0810D3BE
- bl RtcCalcLocalTime
- ldr r1, _0810D3AC @ =gUnknown_083F8340
- ldr r0, _0810D3B0 @ =gLocalTime
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0810D3B8
- ldr r0, _0810D3B4 @ =0x0000083a
- bl FlagSet
- b _0810D3BE
- .align 2, 0
-_0810D3AC: .4byte gUnknown_083F8340
-_0810D3B0: .4byte gLocalTime
-_0810D3B4: .4byte 0x0000083a
-_0810D3B8:
- ldr r0, _0810D3C4 @ =0x0000083a
- bl FlagReset
-_0810D3BE:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D3C4: .4byte 0x0000083a
- thumb_func_end sub_810D378
-
- thumb_func_start sub_810D3C8
-sub_810D3C8: @ 810D3C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807DDFC
- lsls r0, 24
- cmp r0, 0
- beq _0810D3E2
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_0810D3E2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810D3C8
-
- thumb_func_start sub_810D3E8
-sub_810D3E8: @ 810D3E8
- push {lr}
- ldr r0, _0810D3F8 @ =sub_810D3C8
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810D3F8: .4byte sub_810D3C8
- thumb_func_end sub_810D3E8
-
- thumb_func_start sub_810D3FC
-sub_810D3FC: @ 810D3FC
- push {lr}
- ldr r0, _0810D40C @ =0x00004049
- bl GetVarPointer
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0810D40C: .4byte 0x00004049
- thumb_func_end sub_810D3FC
-
- thumb_func_start UpdateBirchState
-UpdateBirchState: @ 810D410
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _0810D438 @ =0x00004049
- bl GetVarPointer
- adds r5, r0, 0
- ldrh r0, [r5]
- adds r4, r0
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0x7
- bl __umodsi3
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D438: .4byte 0x00004049
- thumb_func_end UpdateBirchState
-
- thumb_func_start ScriptGetPokedexInfo
-ScriptGetPokedexInfo: @ 810D43C
- push {lr}
- ldr r0, _0810D458 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _0810D460
- movs r0, 0
- bl GetHoennPokedexCount
- ldr r1, _0810D45C @ =gSpecialVar_0x8005
- strh r0, [r1]
- movs r0, 0x1
- bl GetHoennPokedexCount
- b _0810D470
- .align 2, 0
-_0810D458: .4byte gSpecialVar_0x8004
-_0810D45C: .4byte gSpecialVar_0x8005
-_0810D460:
- movs r0, 0
- bl GetNationalPokedexCount
- ldr r1, _0810D480 @ =gSpecialVar_0x8005
- strh r0, [r1]
- movs r0, 0x1
- bl GetNationalPokedexCount
-_0810D470:
- ldr r1, _0810D484 @ =gSpecialVar_0x8006
- strh r0, [r1]
- bl IsNationalPokedex
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_0810D480: .4byte gSpecialVar_0x8005
-_0810D484: .4byte gSpecialVar_0x8006
- thumb_func_end ScriptGetPokedexInfo
-
- thumb_func_start GetPokedexRatingText
-GetPokedexRatingText: @ 810D488
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x9
- bhi _0810D494
- b _0810D5EC
-_0810D494:
- cmp r0, 0x13
- bhi _0810D4A0
- ldr r0, _0810D49C @ =gUnknown_081C456A
- b _0810D5F6
- .align 2, 0
-_0810D49C: .4byte gUnknown_081C456A
-_0810D4A0:
- cmp r0, 0x1D
- bhi _0810D4AC
- ldr r0, _0810D4A8 @ =gUnknown_081C45B0
- b _0810D5F6
- .align 2, 0
-_0810D4A8: .4byte gUnknown_081C45B0
-_0810D4AC:
- cmp r0, 0x27
- bhi _0810D4B8
- ldr r0, _0810D4B4 @ =gUnknown_081C45F9
- b _0810D5F6
- .align 2, 0
-_0810D4B4: .4byte gUnknown_081C45F9
-_0810D4B8:
- cmp r0, 0x31
- bhi _0810D4C4
- ldr r0, _0810D4C0 @ =gUnknown_081C4648
- b _0810D5F6
- .align 2, 0
-_0810D4C0: .4byte gUnknown_081C4648
-_0810D4C4:
- cmp r0, 0x3B
- bhi _0810D4D0
- ldr r0, _0810D4CC @ =gUnknown_081C467E
- b _0810D5F6
- .align 2, 0
-_0810D4CC: .4byte gUnknown_081C467E
-_0810D4D0:
- cmp r0, 0x45
- bhi _0810D4DC
- ldr r0, _0810D4D8 @ =gUnknown_081C46B9
- b _0810D5F6
- .align 2, 0
-_0810D4D8: .4byte gUnknown_081C46B9
-_0810D4DC:
- cmp r0, 0x4F
- bhi _0810D4E8
- ldr r0, _0810D4E4 @ =gUnknown_081C46FE
- b _0810D5F6
- .align 2, 0
-_0810D4E4: .4byte gUnknown_081C46FE
-_0810D4E8:
- cmp r0, 0x59
- bhi _0810D4F4
- ldr r0, _0810D4F0 @ =gUnknown_081C4747
- b _0810D5F6
- .align 2, 0
-_0810D4F0: .4byte gUnknown_081C4747
-_0810D4F4:
- cmp r0, 0x63
- bhi _0810D500
- ldr r0, _0810D4FC @ =gUnknown_081C4780
- b _0810D5F6
- .align 2, 0
-_0810D4FC: .4byte gUnknown_081C4780
-_0810D500:
- cmp r0, 0x6D
- bhi _0810D50C
- ldr r0, _0810D508 @ =gUnknown_081C47DF
- b _0810D5F6
- .align 2, 0
-_0810D508: .4byte gUnknown_081C47DF
-_0810D50C:
- cmp r0, 0x77
- bhi _0810D518
- ldr r0, _0810D514 @ =gUnknown_081C4828
- b _0810D5F6
- .align 2, 0
-_0810D514: .4byte gUnknown_081C4828
-_0810D518:
- cmp r0, 0x81
- bhi _0810D524
- ldr r0, _0810D520 @ =gUnknown_081C4863
- b _0810D5F6
- .align 2, 0
-_0810D520: .4byte gUnknown_081C4863
-_0810D524:
- cmp r0, 0x8B
- bhi _0810D530
- ldr r0, _0810D52C @ =gUnknown_081C489C
- b _0810D5F6
- .align 2, 0
-_0810D52C: .4byte gUnknown_081C489C
-_0810D530:
- cmp r0, 0x95
- bhi _0810D53C
- ldr r0, _0810D538 @ =gUnknown_081C48EB
- b _0810D5F6
- .align 2, 0
-_0810D538: .4byte gUnknown_081C48EB
-_0810D53C:
- cmp r0, 0x9F
- bhi _0810D548
- ldr r0, _0810D544 @ =gUnknown_081C4936
- b _0810D5F6
- .align 2, 0
-_0810D544: .4byte gUnknown_081C4936
-_0810D548:
- cmp r0, 0xA9
- bhi _0810D554
- ldr r0, _0810D550 @ =gUnknown_081C49A2
- b _0810D5F6
- .align 2, 0
-_0810D550: .4byte gUnknown_081C49A2
-_0810D554:
- cmp r0, 0xB3
- bhi _0810D560
- ldr r0, _0810D55C @ =gUnknown_081C4A06
- b _0810D5F6
- .align 2, 0
-_0810D55C: .4byte gUnknown_081C4A06
-_0810D560:
- cmp r0, 0xBD
- bhi _0810D56C
- ldr r0, _0810D568 @ =gUnknown_081C4A4F
- b _0810D5F6
- .align 2, 0
-_0810D568: .4byte gUnknown_081C4A4F
-_0810D56C:
- cmp r0, 0xC7
- bls _0810D5DA
- cmp r0, 0xC8
- bne _0810D5A8
- ldr r0, _0810D5A4 @ =0x00000199
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- bne _0810D5DA
- movs r0, 0xCD
- lsls r0, 1
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- bne _0810D5DA
- b _0810D5F4
- .align 2, 0
-_0810D5A4: .4byte 0x00000199
-_0810D5A8:
- cmp r0, 0xC9
- bne _0810D5E8
- ldr r0, _0810D5E0 @ =0x00000199
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _0810D5F4
- movs r0, 0xCD
- lsls r0, 1
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _0810D5F4
-_0810D5DA:
- ldr r0, _0810D5E4 @ =gUnknown_081C4A91
- b _0810D5F6
- .align 2, 0
-_0810D5E0: .4byte 0x00000199
-_0810D5E4: .4byte gUnknown_081C4A91
-_0810D5E8:
- cmp r0, 0xCA
- beq _0810D5F4
-_0810D5EC:
- ldr r0, _0810D5F0 @ =gUnknown_081C4520
- b _0810D5F6
- .align 2, 0
-_0810D5F0: .4byte gUnknown_081C4520
-_0810D5F4:
- ldr r0, _0810D5FC @ =gUnknown_081C4ADA
-_0810D5F6:
- pop {r1}
- bx r1
- .align 2, 0
-_0810D5FC: .4byte gUnknown_081C4ADA
- thumb_func_end GetPokedexRatingText
-
- thumb_func_start ShowPokedexRatingMessage
-ShowPokedexRatingMessage: @ 810D600
- push {lr}
- ldr r0, _0810D614 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl GetPokedexRatingText
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .align 2, 0
-_0810D614: .4byte gSpecialVar_0x8004
- thumb_func_end ShowPokedexRatingMessage
-
- thumb_func_start AccessHallOfFamePC
-AccessHallOfFamePC: @ 810D618
- push {lr}
- ldr r0, _0810D628 @ =sub_81428CC
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_0810D628: .4byte sub_81428CC
- thumb_func_end AccessHallOfFamePC
-
- thumb_func_start ReturnFromHallOfFamePC
-ReturnFromHallOfFamePC: @ 810D62C
- push {lr}
- ldr r0, _0810D640 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- ldr r1, _0810D644 @ =gUnknown_0300485C
- ldr r0, _0810D648 @ =ReshowPCMenuAfterHallOfFamePC
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0810D640: .4byte c2_exit_to_overworld_2_switch
-_0810D644: .4byte gUnknown_0300485C
-_0810D648: .4byte ReshowPCMenuAfterHallOfFamePC
- thumb_func_end ReturnFromHallOfFamePC
-
- thumb_func_start ReshowPCMenuAfterHallOfFamePC
-ReshowPCMenuAfterHallOfFamePC: @ 810D64C
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- bl sub_8053E90
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sp109_CreatePCMenu
- bl sub_80B5838
- ldr r0, _0810D680 @ =sub_810D684
- movs r1, 0xA
- bl CreateTask
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0810D680: .4byte sub_810D684
- thumb_func_end ReshowPCMenuAfterHallOfFamePC
-
- thumb_func_start sub_810D684
-sub_810D684: @ 810D684
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0810D6A0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0810D69C
- adds r0, r2, 0
- bl DestroyTask
-_0810D69C:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D6A0: .4byte gPaletteFade
- thumb_func_end sub_810D684
-
- thumb_func_start sub_810D6A4
-sub_810D6A4: @ 810D6A4
- push {lr}
- ldr r0, _0810D6B4 @ =sub_8145D88
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_0810D6B4: .4byte sub_8145D88
- thumb_func_end sub_810D6A4
-
- thumb_func_start sub_810D6B8
-sub_810D6B8: @ 810D6B8
- push {lr}
- ldr r0, _0810D6D0 @ =gMain
- ldr r1, _0810D6D4 @ =c2_exit_to_overworld_2_switch
- str r1, [r0, 0x8]
- ldr r0, _0810D6D8 @ =Cb2_ViewWallClock
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_0810D6D0: .4byte gMain
-_0810D6D4: .4byte c2_exit_to_overworld_2_switch
-_0810D6D8: .4byte Cb2_ViewWallClock
- thumb_func_end sub_810D6B8
-
- thumb_func_start ResetCyclingRoadChallengeData
-ResetCyclingRoadChallengeData: @ 810D6DC
- ldr r0, _0810D6F0 @ =gUnknown_02039250
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0810D6F4 @ =gUnknown_02039251
- strb r1, [r0]
- ldr r1, _0810D6F8 @ =gUnknown_02039254
- movs r0, 0
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810D6F0: .4byte gUnknown_02039250
-_0810D6F4: .4byte gUnknown_02039251
-_0810D6F8: .4byte gUnknown_02039254
- thumb_func_end ResetCyclingRoadChallengeData
-
- thumb_func_start BeginCyclingRoadChallenge
-BeginCyclingRoadChallenge: @ 810D6FC
- ldr r1, _0810D714 @ =gUnknown_02039250
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0810D718 @ =gUnknown_02039251
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0810D71C @ =gUnknown_02039254
- ldr r0, _0810D720 @ =gMain
- ldr r0, [r0, 0x20]
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810D714: .4byte gUnknown_02039250
-_0810D718: .4byte gUnknown_02039251
-_0810D71C: .4byte gUnknown_02039254
-_0810D720: .4byte gMain
- thumb_func_end BeginCyclingRoadChallenge
-
- thumb_func_start GetPlayerAvatarBike
-GetPlayerAvatarBike: @ 810D724
- push {lr}
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0810D736
- movs r0, 0x1
- b _0810D748
-_0810D736:
- movs r0, 0x2
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _0810D746
- movs r0, 0
- b _0810D748
-_0810D746:
- movs r0, 0x2
-_0810D748:
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarBike
-
- thumb_func_start DetermineCyclingRoadResults
-DetermineCyclingRoadResults: @ 810D74C
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r6, 0x63
- bhi _0810D778
- ldr r4, _0810D770 @ =gStringVar1
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, _0810D774 @ =gOtherText_Times
- adds r0, r4, 0
- bl StringAppend
- b _0810D780
- .align 2, 0
-_0810D770: .4byte gStringVar1
-_0810D774: .4byte gOtherText_Times
-_0810D778:
- ldr r0, _0810D7CC @ =gStringVar1
- ldr r1, _0810D7D0 @ =gOtherText_99Times
- bl StringCopy
-_0810D780:
- ldr r0, _0810D7D4 @ =0x00000e0f
- cmp r7, r0
- bhi _0810D7E0
- ldr r4, _0810D7D8 @ =gStringVar2
- adds r0, r7, 0
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0xAD
- strb r0, [r4, 0x2]
- adds r5, r4, 0x3
- adds r0, r7, 0
- movs r1, 0x3C
- bl __umodsi3
- movs r1, 0x64
- muls r0, r1
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, _0810D7DC @ =gOtherText_Seconds
- adds r0, r4, 0
- bl StringAppend
- b _0810D7E8
- .align 2, 0
-_0810D7CC: .4byte gStringVar1
-_0810D7D0: .4byte gOtherText_99Times
-_0810D7D4: .4byte 0x00000e0f
-_0810D7D8: .4byte gStringVar2
-_0810D7DC: .4byte gOtherText_Seconds
-_0810D7E0:
- ldr r0, _0810D7F4 @ =gStringVar2
- ldr r1, _0810D7F8 @ =gOtherText_1Minute
- bl StringCopy
-_0810D7E8:
- movs r4, 0
- cmp r6, 0
- bne _0810D7FC
- movs r4, 0x5
- b _0810D81A
- .align 2, 0
-_0810D7F4: .4byte gStringVar2
-_0810D7F8: .4byte gOtherText_1Minute
-_0810D7FC:
- cmp r6, 0x3
- bhi _0810D804
- movs r4, 0x4
- b _0810D81A
-_0810D804:
- cmp r6, 0x9
- bhi _0810D80C
- movs r4, 0x3
- b _0810D81A
-_0810D80C:
- cmp r6, 0x13
- bhi _0810D814
- movs r4, 0x2
- b _0810D81A
-_0810D814:
- cmp r6, 0x63
- bhi _0810D81A
- movs r4, 0x1
-_0810D81A:
- adds r0, r7, 0
- movs r1, 0x3C
- bl __udivsi3
- cmp r0, 0xA
- bhi _0810D82A
- adds r0, r4, 0x5
- b _0810D848
-_0810D82A:
- cmp r0, 0xF
- bhi _0810D832
- adds r0, r4, 0x4
- b _0810D848
-_0810D832:
- cmp r0, 0x14
- bhi _0810D83A
- adds r0, r4, 0x3
- b _0810D848
-_0810D83A:
- cmp r0, 0x28
- bhi _0810D842
- adds r0, r4, 0x2
- b _0810D848
-_0810D842:
- cmp r0, 0x3B
- bhi _0810D84C
- adds r0, r4, 0x1
-_0810D848:
- lsls r0, 24
- lsrs r4, r0, 24
-_0810D84C:
- ldr r0, _0810D858 @ =gScriptResult
- strh r4, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D858: .4byte gScriptResult
- thumb_func_end DetermineCyclingRoadResults
-
- thumb_func_start FinishCyclingRoadChallenge
-FinishCyclingRoadChallenge: @ 810D85C
- push {r4,r5,lr}
- ldr r0, _0810D880 @ =gMain
- ldr r1, _0810D884 @ =gUnknown_02039254
- ldr r4, [r0, 0x20]
- ldr r0, [r1]
- subs r4, r0
- ldr r5, _0810D888 @ =gUnknown_02039251
- ldrb r1, [r5]
- adds r0, r4, 0
- bl DetermineCyclingRoadResults
- ldrb r1, [r5]
- adds r0, r4, 0
- bl RecordCyclingRoadResults
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D880: .4byte gMain
-_0810D884: .4byte gUnknown_02039254
-_0810D888: .4byte gUnknown_02039251
- thumb_func_end FinishCyclingRoadChallenge
-
- thumb_func_start RecordCyclingRoadResults
-RecordCyclingRoadResults: @ 810D88C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r6, _0810D8E0 @ =0x00004028
- adds r0, r6, 0
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r7, _0810D8E4 @ =0x00004029
- adds r0, r7, 0
- bl VarGet
- lsls r0, 16
- adds r4, r0
- cmp r4, r5
- bhi _0810D8BC
- cmp r4, 0
- bne _0810D8D6
-_0810D8BC:
- lsls r1, r5, 16
- lsrs r1, 16
- adds r0, r6, 0
- bl VarSet
- lsrs r1, r5, 16
- adds r0, r7, 0
- bl VarSet
- ldr r0, _0810D8E8 @ =0x00004027
- mov r1, r8
- bl VarSet
-_0810D8D6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D8E0: .4byte 0x00004028
-_0810D8E4: .4byte 0x00004029
-_0810D8E8: .4byte 0x00004027
- thumb_func_end RecordCyclingRoadResults
-
- thumb_func_start GetRecordedCyclingRoadResults
-GetRecordedCyclingRoadResults: @ 810D8EC
- push {r4,lr}
- ldr r0, _0810D920 @ =0x00004028
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _0810D924 @ =0x00004029
- bl VarGet
- lsls r0, 16
- adds r4, r0
- cmp r4, 0
- beq _0810D92C
- ldr r0, _0810D928 @ =0x00004027
- bl VarGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl DetermineCyclingRoadResults
- movs r0, 0x1
- b _0810D92E
- .align 2, 0
-_0810D920: .4byte 0x00004028
-_0810D924: .4byte 0x00004029
-_0810D928: .4byte 0x00004027
-_0810D92C:
- movs r0, 0
-_0810D92E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetRecordedCyclingRoadResults
-
- thumb_func_start UpdateCyclingRoadState
-UpdateCyclingRoadState: @ 810D934
- push {r4,lr}
- ldr r0, _0810D974 @ =gUnknown_020297F0
- ldrh r1, [r0]
- ldr r0, _0810D978 @ =0x00000c1d
- cmp r1, r0
- beq _0810D96C
- ldr r4, _0810D97C @ =0x000040a9
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _0810D95E
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bne _0810D96C
-_0810D95E:
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- movs r0, 0
- bl sav1_set_battle_music_maybe
-_0810D96C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D974: .4byte gUnknown_020297F0
-_0810D978: .4byte 0x00000c1d
-_0810D97C: .4byte 0x000040a9
- thumb_func_end UpdateCyclingRoadState
-
- thumb_func_start SetSSTidalFlag
-SetSSTidalFlag: @ 810D980
- push {lr}
- ldr r0, _0810D998 @ =0x0000082d
- bl FlagSet
- ldr r0, _0810D99C @ =0x0000404a
- bl GetVarPointer
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0810D998: .4byte 0x0000082d
-_0810D99C: .4byte 0x0000404a
- thumb_func_end SetSSTidalFlag
-
- thumb_func_start ResetSSTidalFlag
-ResetSSTidalFlag: @ 810D9A0
- push {lr}
- ldr r0, _0810D9AC @ =0x0000082d
- bl FlagReset
- pop {r0}
- bx r0
- .align 2, 0
-_0810D9AC: .4byte 0x0000082d
- thumb_func_end ResetSSTidalFlag
-
- thumb_func_start sub_810D9B0
-sub_810D9B0: @ 810D9B0
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _0810D9DC @ =0x0000082d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0810D9D6
- ldr r0, _0810D9E0 @ =0x0000404a
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, r4, r1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xCC
- bhi _0810D9E4
-_0810D9D6:
- movs r0, 0
- b _0810D9E6
- .align 2, 0
-_0810D9DC: .4byte 0x0000082d
-_0810D9E0: .4byte 0x0000404a
-_0810D9E4:
- movs r0, 0x1
-_0810D9E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810D9B0
-
- thumb_func_start sub_810D9EC
-sub_810D9EC: @ 810D9EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldr r0, _0810DA1C @ =0x0000404a
- bl GetVarPointer
- adds r4, r0, 0
- ldr r0, _0810DA20 @ =0x000040b4
- bl GetVarPointer
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x9
- bhi _0810DAB2
- lsls r0, 2
- ldr r1, _0810DA24 @ =_0810DA28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810DA1C: .4byte 0x0000404a
-_0810DA20: .4byte 0x000040b4
-_0810DA24: .4byte _0810DA28
- .align 2, 0
-_0810DA28:
- .4byte _0810DA50
- .4byte _0810DA60
- .4byte _0810DA54
- .4byte _0810DA58
- .4byte _0810DA58
- .4byte _0810DA5C
- .4byte _0810DA88
- .4byte _0810DA50
- .4byte _0810DA54
- .4byte _0810DA5C
-_0810DA50:
- movs r0, 0x1
- b _0810DABE
-_0810DA54:
- movs r0, 0x4
- b _0810DABE
-_0810DA58:
- movs r0, 0x2
- b _0810DABE
-_0810DA5C:
- movs r0, 0x3
- b _0810DABE
-_0810DA60:
- ldrh r0, [r4]
- cmp r0, 0x3B
- bhi _0810DA70
- movs r0, 0x31
- strb r0, [r5]
- ldrh r0, [r4]
- adds r0, 0x13
- b _0810DAB0
-_0810DA70:
- cmp r0, 0x8B
- bhi _0810DA7E
- movs r0, 0x30
- strb r0, [r5]
- ldrh r0, [r4]
- subs r0, 0x3C
- b _0810DAB0
-_0810DA7E:
- movs r0, 0x2F
- strb r0, [r5]
- ldrh r0, [r4]
- subs r0, 0x8C
- b _0810DAB0
-_0810DA88:
- ldrh r0, [r4]
- cmp r0, 0x41
- bhi _0810DA98
- movs r0, 0x2F
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0x41
- b _0810DAAE
-_0810DA98:
- cmp r0, 0x91
- bhi _0810DAA6
- movs r0, 0x30
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0x91
- b _0810DAAE
-_0810DAA6:
- movs r0, 0x31
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0xE0
-_0810DAAE:
- subs r0, r1
-_0810DAB0:
- strh r0, [r6]
-_0810DAB2:
- movs r0, 0
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x14
- strh r0, [r7]
- movs r0, 0
-_0810DABE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810D9EC
-
- thumb_func_start GetLinkPartnerNames
-GetLinkPartnerNames: @ 810DAC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- bl sub_8008218
- lsls r0, 24
- lsrs r7, r0, 24
- bl sub_800820C
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _0810DB12
- ldr r0, _0810DB20 @ =gUnknown_083D1464
- mov r8, r0
-_0810DAEA:
- cmp r7, r4
- beq _0810DB08
- lsls r0, r6, 2
- add r0, r8
- ldr r0, [r0]
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, _0810DB24 @ =gLinkPlayers + 0x8
- adds r1, r2
- bl StringCopy
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0810DB08:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0810DAEA
-_0810DB12:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0810DB20: .4byte gUnknown_083D1464
-_0810DB24: .4byte gLinkPlayers + 0x8
- thumb_func_end GetLinkPartnerNames
-
- thumb_func_start sub_810DB28
-sub_810DB28: @ 810DB28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r7, 0
- movs r0, 0
- mov r9, r0
- mov r8, r0
- ldr r1, _0810DB74 @ =gUnknown_083F8358
- add r0, sp, 0x8
- movs r2, 0x4
- bl memcpy
- add r4, sp, 0xC
- ldr r1, _0810DB78 @ =gUnknown_083F835C
- adds r0, r4, 0
- movs r2, 0x8
- bl memcpy
- bl sub_8008218
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x2
- beq _0810DB94
- cmp r0, 0x2
- bgt _0810DB7C
- cmp r0, 0x1
- beq _0810DBC0
- b _0810DBD2
- .align 2, 0
-_0810DB74: .4byte gUnknown_083F8358
-_0810DB78: .4byte gUnknown_083F835C
-_0810DB7C:
- cmp r1, 0x3
- beq _0810DB86
- cmp r1, 0x4
- beq _0810DBA8
- b _0810DBD2
-_0810DB86:
- movs r7, 0x2
- ldr r1, _0810DB90 @ =gSaveBlock1
- ldrh r0, [r1]
- subs r0, 0x1
- b _0810DBAE
- .align 2, 0
-_0810DB90: .4byte gSaveBlock1
-_0810DB94:
- movs r7, 0x1
- ldr r0, _0810DBA4 @ =gSaveBlock1
- ldrh r1, [r0]
- mov r9, r1
- ldrh r0, [r0, 0x2]
- subs r0, 0x1
- b _0810DBCC
- .align 2, 0
-_0810DBA4: .4byte gSaveBlock1
-_0810DBA8:
- ldr r1, _0810DBBC @ =gSaveBlock1
- ldrh r0, [r1]
- adds r0, 0x1
-_0810DBAE:
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldrh r1, [r1, 0x2]
- mov r8, r1
- b _0810DBD2
- .align 2, 0
-_0810DBBC: .4byte gSaveBlock1
-_0810DBC0:
- movs r7, 0x3
- ldr r0, _0810DBD8 @ =gSaveBlock1
- ldrh r4, [r0]
- mov r9, r4
- ldrh r0, [r0, 0x2]
- adds r0, 0x1
-_0810DBCC:
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_0810DBD2:
- movs r6, 0
- b _0810DC5C
- .align 2, 0
-_0810DBD8: .4byte gSaveBlock1
-_0810DBDC:
- cmp r10, r6
- beq _0810DC56
- ldr r1, _0810DC74 @ =gLinkPlayers
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x13]
- movs r0, 0
- bl sub_805983C
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- adds r1, r7
- adds r1, 0x8
- ldrb r1, [r1]
- movs r2, 0xF0
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- lsls r5, r7, 1
- mov r3, sp
- adds r3, r5
- adds r3, 0xC
- ldrb r3, [r3]
- lsls r3, 24
- asrs r3, 24
- mov r12, r3
- mov r4, r9
- lsls r3, r4, 16
- asrs r3, 16
- add r3, r12
- adds r3, 0x7
- lsls r3, 16
- asrs r3, 16
- mov r4, sp
- adds r4, 0xD
- adds r4, r5
- ldrb r4, [r4]
- lsls r4, 24
- asrs r4, 24
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 16
- asrs r4, 16
- add r4, r12
- adds r4, 0x7
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- bl SpawnSpecialFieldObjectParametrized
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x4
- bne _0810DC56
- movs r7, 0
-_0810DC56:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0810DC5C:
- ldr r0, _0810DC78 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r6, r0
- bcc _0810DBDC
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810DC74: .4byte gLinkPlayers
-_0810DC78: .4byte gSpecialVar_0x8004
- thumb_func_end sub_810DB28
-
- thumb_func_start sub_810DC7C
-sub_810DC7C: @ 810DC7C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0810DC9C @ =gUnknown_083F8364
-_0810DC82:
- ldr r0, _0810DCA0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- bne _0810DCA8
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, _0810DCA4 @ =0x00000206
- bl MapGridSetMetatileIdAt
- b _0810DCB6
- .align 2, 0
-_0810DC9C: .4byte gUnknown_083F8364
-_0810DCA0: .4byte gSpecialVar_0x8004
-_0810DCA4: .4byte 0x00000206
-_0810DCA8:
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, _0810DCC8 @ =0x00000205
- bl MapGridSetMetatileIdAt
-_0810DCB6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0810DC82
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810DCC8: .4byte 0x00000205
- thumb_func_end sub_810DC7C
-
- thumb_func_start sub_810DCCC
-sub_810DCCC: @ 810DCCC
- push {r4-r6,lr}
- movs r5, 0xC
-_0810DCD0:
- movs r4, 0x7
- adds r6, r5, 0x1
-_0810DCD4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _0810DCF0 @ =0xfffffde6
- adds r0, r1
- cmp r0, 0x37
- bls _0810DCE6
- b _0810DEC0
-_0810DCE6:
- lsls r0, 2
- ldr r1, _0810DCF4 @ =_0810DCF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810DCF0: .4byte 0xfffffde6
-_0810DCF4: .4byte _0810DCF8
- .align 2, 0
-_0810DCF8:
- .4byte _0810DE7E
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DDD8
- .4byte _0810DDDE
- .4byte _0810DE18
- .4byte _0810DE20
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DDE8
- .4byte _0810DDEE
- .4byte _0810DE28
- .4byte _0810DE30
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DDF8
- .4byte _0810DDFE
- .4byte _0810DE38
- .4byte _0810DE40
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DE08
- .4byte _0810DE10
- .4byte _0810DE48
- .4byte _0810DE50
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DE58
- .4byte _0810DE68
- .4byte _0810DE78
- .4byte _0810DEA0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DE60
- .4byte _0810DE70
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEC0
- .4byte _0810DEB6
- .4byte _0810DEA8
-_0810DDD8:
- movs r2, 0x8C
- lsls r2, 2
- b _0810DEAC
-_0810DDDE:
- ldr r2, _0810DDE4 @ =0x00000231
- b _0810DEAC
- .align 2, 0
-_0810DDE4: .4byte 0x00000231
-_0810DDE8:
- movs r2, 0x8E
- lsls r2, 2
- b _0810DEAC
-_0810DDEE:
- ldr r2, _0810DDF4 @ =0x00000239
- b _0810DEAC
- .align 2, 0
-_0810DDF4: .4byte 0x00000239
-_0810DDF8:
- movs r2, 0x88
- lsls r2, 2
- b _0810DEAC
-_0810DDFE:
- ldr r2, _0810DE04 @ =0x00000221
- b _0810DEAC
- .align 2, 0
-_0810DE04: .4byte 0x00000221
-_0810DE08:
- ldr r2, _0810DE0C @ =0x00000e28
- b _0810DEAC
- .align 2, 0
-_0810DE0C: .4byte 0x00000e28
-_0810DE10:
- ldr r2, _0810DE14 @ =0x00000e29
- b _0810DEAC
- .align 2, 0
-_0810DE14: .4byte 0x00000e29
-_0810DE18:
- ldr r2, _0810DE1C @ =0x00000232
- b _0810DEAC
- .align 2, 0
-_0810DE1C: .4byte 0x00000232
-_0810DE20:
- ldr r2, _0810DE24 @ =0x00000233
- b _0810DEAC
- .align 2, 0
-_0810DE24: .4byte 0x00000233
-_0810DE28:
- ldr r2, _0810DE2C @ =0x0000023a
- b _0810DEAC
- .align 2, 0
-_0810DE2C: .4byte 0x0000023a
-_0810DE30:
- ldr r2, _0810DE34 @ =0x0000023b
- b _0810DEAC
- .align 2, 0
-_0810DE34: .4byte 0x0000023b
-_0810DE38:
- ldr r2, _0810DE3C @ =0x00000222
- b _0810DEAC
- .align 2, 0
-_0810DE3C: .4byte 0x00000222
-_0810DE40:
- ldr r2, _0810DE44 @ =0x00000223
- b _0810DEAC
- .align 2, 0
-_0810DE44: .4byte 0x00000223
-_0810DE48:
- ldr r2, _0810DE4C @ =0x00000e2a
- b _0810DEAC
- .align 2, 0
-_0810DE4C: .4byte 0x00000e2a
-_0810DE50:
- ldr r2, _0810DE54 @ =0x00000e2b
- b _0810DEAC
- .align 2, 0
-_0810DE54: .4byte 0x00000e2b
-_0810DE58:
- ldr r2, _0810DE5C @ =0x00000e42
- b _0810DEAC
- .align 2, 0
-_0810DE5C: .4byte 0x00000e42
-_0810DE60:
- ldr r2, _0810DE64 @ =0x0000021a
- b _0810DEAC
- .align 2, 0
-_0810DE64: .4byte 0x0000021a
-_0810DE68:
- ldr r2, _0810DE6C @ =0x00000e43
- b _0810DEAC
- .align 2, 0
-_0810DE6C: .4byte 0x00000e43
-_0810DE70:
- ldr r2, _0810DE74 @ =0x0000021a
- b _0810DEAC
- .align 2, 0
-_0810DE74: .4byte 0x0000021a
-_0810DE78:
- movs r2, 0xE4
- lsls r2, 4
- b _0810DEAC
-_0810DE7E:
- subs r1, r5, 0x1
- adds r0, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x90
- lsls r1, 2
- cmp r0, r1
- bne _0810DE98
- ldr r2, _0810DE94 @ =0x00000e48
- b _0810DEAC
- .align 2, 0
-_0810DE94: .4byte 0x00000e48
-_0810DE98:
- ldr r2, _0810DE9C @ =0x00000e49
- b _0810DEAC
- .align 2, 0
-_0810DE9C: .4byte 0x00000e49
-_0810DEA0:
- ldr r2, _0810DEA4 @ =0x00000e41
- b _0810DEAC
- .align 2, 0
-_0810DEA4: .4byte 0x00000e41
-_0810DEA8:
- movs r2, 0xE5
- lsls r2, 4
-_0810DEAC:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _0810DEC0
-_0810DEB6:
- ldr r2, _0810DED8 @ =0x00000251
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0810DEC0:
- adds r4, 0x1
- cmp r4, 0xF
- bgt _0810DEC8
- b _0810DCD4
-_0810DEC8:
- adds r5, r6, 0
- cmp r5, 0x17
- bgt _0810DED0
- b _0810DCD0
-_0810DED0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810DED8: .4byte 0x00000251
- thumb_func_end sub_810DCCC
-
- thumb_func_start sub_810DEDC
-sub_810DEDC: @ 810DEDC
- push {r4-r6,lr}
- ldr r4, _0810DF18 @ =gUnknown_083F8364
- movs r5, 0x2
-_0810DEE2:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- ldr r2, _0810DF1C @ =0x00000206
- bl MapGridSetMetatileIdAt
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _0810DEE2
- movs r5, 0xC
-_0810DEF6:
- movs r4, 0x7
- adds r6, r5, 0x1
-_0810DEFA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _0810DF20 @ =0xfffffde0
- adds r0, r1
- cmp r0, 0x30
- bls _0810DF0C
- b _0810E056
-_0810DF0C:
- lsls r0, 2
- ldr r1, _0810DF24 @ =_0810DF28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810DF18: .4byte gUnknown_083F8364
-_0810DF1C: .4byte 0x00000206
-_0810DF20: .4byte 0xfffffde0
-_0810DF24: .4byte _0810DF28
- .align 2, 0
-_0810DF28:
- .4byte _0810DFEC
- .4byte _0810DFF2
- .4byte _0810E00C
- .4byte _0810E014
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810DFFC
- .4byte _0810E002
- .4byte _0810E01C
- .4byte _0810E024
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E02C
- .4byte _0810E034
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E03C
- .4byte _0810E03C
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E056
- .4byte _0810E04C
-_0810DFEC:
- movs r2, 0x8C
- lsls r2, 2
- b _0810E03E
-_0810DFF2:
- ldr r2, _0810DFF8 @ =0x00000231
- b _0810E03E
- .align 2, 0
-_0810DFF8: .4byte 0x00000231
-_0810DFFC:
- movs r2, 0x8E
- lsls r2, 2
- b _0810E03E
-_0810E002:
- ldr r2, _0810E008 @ =0x00000239
- b _0810E03E
- .align 2, 0
-_0810E008: .4byte 0x00000239
-_0810E00C:
- ldr r2, _0810E010 @ =0x00000232
- b _0810E03E
- .align 2, 0
-_0810E010: .4byte 0x00000232
-_0810E014:
- ldr r2, _0810E018 @ =0x00000233
- b _0810E03E
- .align 2, 0
-_0810E018: .4byte 0x00000233
-_0810E01C:
- ldr r2, _0810E020 @ =0x0000023a
- b _0810E03E
- .align 2, 0
-_0810E020: .4byte 0x0000023a
-_0810E024:
- ldr r2, _0810E028 @ =0x0000023b
- b _0810E03E
- .align 2, 0
-_0810E028: .4byte 0x0000023b
-_0810E02C:
- ldr r2, _0810E030 @ =0x00000e42
- b _0810E03E
- .align 2, 0
-_0810E030: .4byte 0x00000e42
-_0810E034:
- ldr r2, _0810E038 @ =0x00000e43
- b _0810E03E
- .align 2, 0
-_0810E038: .4byte 0x00000e43
-_0810E03C:
- ldr r2, _0810E048 @ =0x0000021a
-_0810E03E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _0810E056
- .align 2, 0
-_0810E048: .4byte 0x0000021a
-_0810E04C:
- ldr r2, _0810E06C @ =0x00000251
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0810E056:
- adds r4, 0x1
- cmp r4, 0xF
- bgt _0810E05E
- b _0810DEFA
-_0810E05E:
- adds r5, r6, 0
- cmp r5, 0x17
- bgt _0810E066
- b _0810DEF6
-_0810E066:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E06C: .4byte 0x00000251
- thumb_func_end sub_810DEDC
-
- thumb_func_start sub_810E070
-sub_810E070: @ 810E070
- push {lr}
- ldr r0, _0810E090 @ =gUnknown_02039258
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0810E094 @ =gUnknown_02039259
- strb r1, [r0]
- movs r0, 0x2C
- bl PlaySE
- ldr r0, _0810E098 @ =sub_810E09C
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810E090: .4byte gUnknown_02039258
-_0810E094: .4byte gUnknown_02039259
-_0810E098: .4byte sub_810E09C
- thumb_func_end sub_810E070
-
- thumb_func_start sub_810E09C
-sub_810E09C: @ 810E09C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _0810E0E4 @ =gUnknown_083F8370
- ldr r5, _0810E0E8 @ =gUnknown_02039259
- ldrb r1, [r5]
- adds r0, r1, r0
- ldr r4, _0810E0EC @ =gUnknown_02039258
- ldrb r2, [r4]
- ldrb r0, [r0]
- cmp r0, r2
- bne _0810E0F8
- ldr r0, _0810E0F0 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r2, _0810E0F4 @ =gUnknown_083F8376
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- bl sub_810E104
- movs r0, 0
- strb r0, [r4]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _0810E0FC
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- b _0810E0FC
- .align 2, 0
-_0810E0E4: .4byte gUnknown_083F8370
-_0810E0E8: .4byte gUnknown_02039259
-_0810E0EC: .4byte gUnknown_02039258
-_0810E0F0: .4byte gSpecialVar_0x8004
-_0810E0F4: .4byte gUnknown_083F8376
-_0810E0F8:
- adds r0, r2, 0x1
- strb r0, [r4]
-_0810E0FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810E09C
-
- thumb_func_start sub_810E104
-sub_810E104: @ 810E104
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r2, r1, 16
- movs r7, 0
- subs r0, 0x1
- cmp r0, 0x7
- bhi _0810E1CC
- lsls r0, 2
- ldr r1, _0810E128 @ =_0810E12C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810E128: .4byte _0810E12C
- .align 2, 0
-_0810E12C:
- .4byte _0810E14C
- .4byte _0810E15E
- .4byte _0810E170
- .4byte _0810E182
- .4byte _0810E190
- .4byte _0810E1A6
- .4byte _0810E1B2
- .4byte _0810E1C0
-_0810E14C:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x68
- b _0810E1A0
-_0810E15E:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x4E
- b _0810E1A0
-_0810E170:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x5B
- b _0810E1A0
-_0810E182:
- movs r7, 0x1
- mov r1, sp
- movs r0, 0x7
- strh r0, [r1]
- add r1, sp, 0x8
- movs r0, 0x27
- b _0810E1CA
-_0810E190:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x34
-_0810E1A0:
- strh r0, [r1]
- strh r0, [r1, 0x2]
- b _0810E1CC
-_0810E1A6:
- movs r7, 0x1
- mov r0, sp
- strh r7, [r0]
- add r1, sp, 0x8
- movs r0, 0x41
- b _0810E1CA
-_0810E1B2:
- movs r7, 0x1
- mov r1, sp
- movs r0, 0x7
- strh r0, [r1]
- add r1, sp, 0x8
- movs r0, 0xD
- b _0810E1CA
-_0810E1C0:
- movs r7, 0x1
- mov r0, sp
- strh r7, [r0]
- add r1, sp, 0x8
- movs r0, 0x1A
-_0810E1CA:
- strh r0, [r1]
-_0810E1CC:
- movs r6, 0
- cmp r6, r7
- bcs _0810E21E
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1, 0
- adds r1, r2, 0
- orrs r1, r0
- lsls r1, 16
- mov r9, r1
- adds r1, r2, 0
- adds r1, 0x8
- orrs r1, r0
- lsls r1, 16
- mov r8, r1
-_0810E1EA:
- lsls r1, r6, 1
- mov r3, sp
- adds r5, r3, r1
- ldrh r0, [r5]
- adds r0, 0x7
- add r4, sp, 0x8
- adds r4, r1
- ldrh r1, [r4]
- adds r1, 0x7
- mov r3, r9
- lsrs r2, r3, 16
- bl MapGridSetMetatileIdAt
- ldrh r0, [r5]
- adds r0, 0x7
- ldrh r1, [r4]
- adds r1, 0x8
- mov r3, r8
- lsrs r2, r3, 16
- bl MapGridSetMetatileIdAt
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _0810E1EA
-_0810E21E:
- bl DrawWholeMapView
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810E104
-
- thumb_func_start sub_810E230
-sub_810E230: @ 810E230
- push {lr}
- ldr r0, _0810E244 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r1, _0810E248 @ =gUnknown_083F8376
- ldrh r1, [r1, 0x8]
- bl sub_810E104
- pop {r0}
- bx r0
- .align 2, 0
-_0810E244: .4byte gSpecialVar_0x8004
-_0810E248: .4byte gUnknown_083F8376
- thumb_func_end sub_810E230
-
- thumb_func_start ShowFieldMessageStringVar4
-ShowFieldMessageStringVar4: @ 810E24C
- push {lr}
- ldr r0, _0810E258 @ =gStringVar4
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .align 2, 0
-_0810E258: .4byte gStringVar4
- thumb_func_end ShowFieldMessageStringVar4
-
- thumb_func_start StorePlayerCoordsInVars
-StorePlayerCoordsInVars: @ 810E25C
- ldr r1, _0810E26C @ =gSpecialVar_0x8004
- ldr r2, _0810E270 @ =gSaveBlock1
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r1, _0810E274 @ =gSpecialVar_0x8005
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0810E26C: .4byte gSpecialVar_0x8004
-_0810E270: .4byte gSaveBlock1
-_0810E274: .4byte gSpecialVar_0x8005
- thumb_func_end StorePlayerCoordsInVars
-
- thumb_func_start GetPlayerTrainerIdOnesDigit
-GetPlayerTrainerIdOnesDigit: @ 810E278
- push {lr}
- ldr r0, _0810E294 @ =gSaveBlock2
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0810E294: .4byte gSaveBlock2
- thumb_func_end GetPlayerTrainerIdOnesDigit
-
- thumb_func_start GetPlayerBigGuyGirlString
-GetPlayerBigGuyGirlString: @ 810E298
- push {lr}
- ldr r0, _0810E2AC @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0810E2B8
- ldr r0, _0810E2B0 @ =gStringVar1
- ldr r1, _0810E2B4 @ =gOtherText_BigGuy
- bl StringCopy
- b _0810E2C0
- .align 2, 0
-_0810E2AC: .4byte gSaveBlock2
-_0810E2B0: .4byte gStringVar1
-_0810E2B4: .4byte gOtherText_BigGuy
-_0810E2B8:
- ldr r0, _0810E2C4 @ =gStringVar1
- ldr r1, _0810E2C8 @ =gOtherText_BigGirl
- bl StringCopy
-_0810E2C0:
- pop {r0}
- bx r0
- .align 2, 0
-_0810E2C4: .4byte gStringVar1
-_0810E2C8: .4byte gOtherText_BigGirl
- thumb_func_end GetPlayerBigGuyGirlString
-
- thumb_func_start GetRivalSonDaughterString
-GetRivalSonDaughterString: @ 810E2CC
- push {lr}
- ldr r0, _0810E2E0 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0810E2EC
- ldr r0, _0810E2E4 @ =gStringVar1
- ldr r1, _0810E2E8 @ =gOtherText_Daughter
- bl StringCopy
- b _0810E2F4
- .align 2, 0
-_0810E2E0: .4byte gSaveBlock2
-_0810E2E4: .4byte gStringVar1
-_0810E2E8: .4byte gOtherText_Daughter
-_0810E2EC:
- ldr r0, _0810E2F8 @ =gStringVar1
- ldr r1, _0810E2FC @ =gOtherText_Son
- bl StringCopy
-_0810E2F4:
- pop {r0}
- bx r0
- .align 2, 0
-_0810E2F8: .4byte gStringVar1
-_0810E2FC: .4byte gOtherText_Son
- thumb_func_end GetRivalSonDaughterString
-
- thumb_func_start sub_810E300
-sub_810E300: @ 810E300
- ldr r0, _0810E308 @ =gUnknown_02024D26
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0810E308: .4byte gUnknown_02024D26
- thumb_func_end sub_810E300
-
- thumb_func_start CableCarWarp
-CableCarWarp: @ 810E30C
- push {lr}
- sub sp, 0x4
- ldr r0, _0810E32C @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _0810E330
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r3, 0x6
- bl warp1_set
- b _0810E342
- .align 2, 0
-_0810E32C: .4byte gSpecialVar_0x8004
-_0810E330:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0x1
- movs r3, 0x6
- bl warp1_set
-_0810E342:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end CableCarWarp
-
- thumb_func_start SetFlagInVar
-SetFlagInVar: @ 810E348
- push {lr}
- ldr r0, _0810E358 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_0810E358: .4byte gSpecialVar_0x8004
- thumb_func_end SetFlagInVar
-
- thumb_func_start GetWeekCount
-GetWeekCount: @ 810E35C
- push {lr}
- ldr r0, _0810E37C @ =gLocalTime
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x7
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0810E380 @ =0x0000270f
- cmp r0, r1
- bls _0810E376
- adds r0, r1, 0
-_0810E376:
- pop {r1}
- bx r1
- .align 2, 0
-_0810E37C: .4byte gLocalTime
-_0810E380: .4byte 0x0000270f
- thumb_func_end GetWeekCount
-
- thumb_func_start GetLeadMonFriendshipScore
-GetLeadMonFriendshipScore: @ 810E384
- push {r4,lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, _0810E3A8 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xFF
- bne _0810E3AC
- movs r0, 0x6
- b _0810E3FE
- .align 2, 0
-_0810E3A8: .4byte gPlayerParty
-_0810E3AC:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xC7
- bls _0810E3BC
- movs r0, 0x5
- b _0810E3FE
-_0810E3BC:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x95
- bls _0810E3CC
- movs r0, 0x4
- b _0810E3FE
-_0810E3CC:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x63
- bls _0810E3DC
- movs r0, 0x3
- b _0810E3FE
-_0810E3DC:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x31
- bls _0810E3EC
- movs r0, 0x2
- b _0810E3FE
-_0810E3EC:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0
- bne _0810E3FC
- movs r0, 0
- b _0810E3FE
-_0810E3FC:
- movs r0, 0x1
-_0810E3FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetLeadMonFriendshipScore
-
- thumb_func_start CB2_FieldShowRegionMap
-CB2_FieldShowRegionMap: @ 810E404
- push {lr}
- ldr r0, _0810E410 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl FieldInitRegionMap
- pop {r0}
- bx r0
- .align 2, 0
-_0810E410: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end CB2_FieldShowRegionMap
-
- thumb_func_start FieldShowRegionMap
-FieldShowRegionMap: @ 810E414
- push {lr}
- ldr r0, _0810E420 @ =CB2_FieldShowRegionMap
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0810E420: .4byte CB2_FieldShowRegionMap
- thumb_func_end FieldShowRegionMap
-
- thumb_func_start DoPCTurnOnEffect
-DoPCTurnOnEffect: @ 810E424
- push {r4,lr}
- ldr r4, _0810E460 @ =Task_PCTurnOnEffect
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810E458
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810E464 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x10]
-_0810E458:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E460: .4byte Task_PCTurnOnEffect
-_0810E464: .4byte gTasks
- thumb_func_end DoPCTurnOnEffect
-
- thumb_func_start Task_PCTurnOnEffect
-Task_PCTurnOnEffect: @ 810E468
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0810E48C @ =gTasks
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0810E486
- adds r0, r1, 0
- bl PCTurnOffEffect_0
-_0810E486:
- pop {r0}
- bx r0
- .align 2, 0
-_0810E48C: .4byte gTasks
- thumb_func_end Task_PCTurnOnEffect
-
- thumb_func_start PCTurnOffEffect_0
-PCTurnOffEffect_0: @ 810E490
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r6, 0
- movs r5, 0
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bne _0810E4FC
- strh r5, [r4, 0xE]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _0810E4C4
- cmp r0, 0x3
- bgt _0810E4BA
- cmp r0, 0x2
- beq _0810E4C0
- b _0810E4CC
-_0810E4BA:
- cmp r1, 0x4
- beq _0810E4C8
- b _0810E4CC
-_0810E4C0:
- movs r6, 0
- b _0810E4CA
-_0810E4C4:
- movs r6, 0xFF
- b _0810E4CA
-_0810E4C8:
- movs r6, 0x1
-_0810E4CA:
- movs r5, 0xFF
-_0810E4CC:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r1, r6, 24
- asrs r1, 24
- lsls r2, r5, 24
- asrs r2, 24
- bl PCTurnOffEffect_1
- bl DrawWholeMapView
- ldrh r0, [r4, 0x10]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _0810E4FC
- ldrb r0, [r4, 0xA]
- bl DestroyTask
-_0810E4FC:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PCTurnOffEffect_0
-
- thumb_func_start PCTurnOffEffect_1
-PCTurnOffEffect_1: @ 810E508
- push {r4,r5,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r3, 0
- lsls r0, 16
- cmp r0, 0
- beq _0810E544
- ldr r0, _0810E528 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _0810E52C
- movs r3, 0x4
- b _0810E566
- .align 2, 0
-_0810E528: .4byte gSpecialVar_0x8004
-_0810E52C:
- cmp r0, 0x1
- bne _0810E538
- ldr r3, _0810E534 @ =0x0000025a
- b _0810E566
- .align 2, 0
-_0810E534: .4byte 0x0000025a
-_0810E538:
- cmp r0, 0x2
- bne _0810E566
- ldr r3, _0810E540 @ =0x00000259
- b _0810E566
- .align 2, 0
-_0810E540: .4byte 0x00000259
-_0810E544:
- ldr r0, _0810E550 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _0810E554
- movs r3, 0x5
- b _0810E566
- .align 2, 0
-_0810E550: .4byte gSpecialVar_0x8004
-_0810E554:
- cmp r0, 0x1
- bne _0810E560
- ldr r3, _0810E55C @ =0x0000027f
- b _0810E566
- .align 2, 0
-_0810E55C: .4byte 0x0000027f
-_0810E560:
- cmp r0, 0x2
- bne _0810E566
- ldr r3, _0810E594 @ =0x0000027e
-_0810E566:
- ldr r2, _0810E598 @ =gSaveBlock1
- movs r5, 0
- ldrsh r0, [r2, r5]
- lsls r1, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r5, 0x2
- ldrsh r1, [r2, r5]
- lsls r2, r4, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r4, 0xC0
- lsls r4, 4
- adds r2, r4, 0
- orrs r3, r2
- adds r2, r3, 0
- bl MapGridSetMetatileIdAt
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E594: .4byte 0x0000027e
-_0810E598: .4byte gSaveBlock1
- thumb_func_end PCTurnOffEffect_1
-
- thumb_func_start DoPCTurnOffEffect
-DoPCTurnOffEffect: @ 810E59C
- push {lr}
- bl PCTurnOffEffect
- pop {r0}
- bx r0
- thumb_func_end DoPCTurnOffEffect
-
- thumb_func_start PCTurnOffEffect
-PCTurnOffEffect: @ 810E5A8
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- movs r4, 0
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _0810E5D2
- cmp r0, 0x3
- bgt _0810E5C8
- cmp r0, 0x2
- beq _0810E5CE
- b _0810E5DA
-_0810E5C8:
- cmp r1, 0x4
- beq _0810E5D6
- b _0810E5DA
-_0810E5CE:
- movs r6, 0
- b _0810E5D8
-_0810E5D2:
- movs r6, 0xFF
- b _0810E5D8
-_0810E5D6:
- movs r6, 0x1
-_0810E5D8:
- movs r5, 0xFF
-_0810E5DA:
- ldr r0, _0810E5E8 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _0810E5EC
- movs r4, 0x4
- b _0810E5FE
- .align 2, 0
-_0810E5E8: .4byte gSpecialVar_0x8004
-_0810E5EC:
- cmp r0, 0x1
- bne _0810E5F8
- ldr r4, _0810E5F4 @ =0x0000025a
- b _0810E5FE
- .align 2, 0
-_0810E5F4: .4byte 0x0000025a
-_0810E5F8:
- cmp r0, 0x2
- bne _0810E5FE
- ldr r4, _0810E630 @ =0x00000259
-_0810E5FE:
- ldr r2, _0810E634 @ =gSaveBlock1
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r6, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- lsls r2, r5, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r4, r2
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E630: .4byte 0x00000259
-_0810E634: .4byte gSaveBlock1
- thumb_func_end PCTurnOffEffect
-
- thumb_func_start DoLotteryCornerComputerEffect
-DoLotteryCornerComputerEffect: @ 810E638
- push {r4,lr}
- ldr r4, _0810E674 @ =Task_LotteryCornerComputerEffect
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810E66C
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810E678 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x10]
-_0810E66C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E674: .4byte Task_LotteryCornerComputerEffect
-_0810E678: .4byte gTasks
- thumb_func_end DoLotteryCornerComputerEffect
-
- thumb_func_start Task_LotteryCornerComputerEffect
-Task_LotteryCornerComputerEffect: @ 810E67C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0810E6A0 @ =gTasks
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0810E69A
- adds r0, r1, 0
- bl LotteryCornerComputerEffect
-_0810E69A:
- pop {r0}
- bx r0
- .align 2, 0
-_0810E6A0: .4byte gTasks
- thumb_func_end Task_LotteryCornerComputerEffect
-
- thumb_func_start LotteryCornerComputerEffect
-LotteryCornerComputerEffect: @ 810E6A4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bne _0810E712
- movs r0, 0
- strh r0, [r4, 0xE]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810E6DC
- ldr r2, _0810E6D4 @ =0x00000e9d
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, _0810E6D8 @ =0x00000ea5
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- b _0810E6F2
- .align 2, 0
-_0810E6D4: .4byte 0x00000e9d
-_0810E6D8: .4byte 0x00000ea5
-_0810E6DC:
- ldr r2, _0810E720 @ =0x00000e58
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- movs r2, 0xE6
- lsls r2, 4
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
-_0810E6F2:
- bl DrawWholeMapView
- ldrh r0, [r4, 0x10]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _0810E712
- ldrb r0, [r4, 0xA]
- bl DestroyTask
-_0810E712:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E720: .4byte 0x00000e58
- thumb_func_end LotteryCornerComputerEffect
-
- thumb_func_start EndLotteryCornerComputerEffect
-EndLotteryCornerComputerEffect: @ 810E724
- push {lr}
- ldr r2, _0810E744 @ =0x00000e9d
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, _0810E748 @ =0x00000ea5
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- pop {r0}
- bx r0
- .align 2, 0
-_0810E744: .4byte 0x00000e9d
-_0810E748: .4byte 0x00000ea5
- thumb_func_end EndLotteryCornerComputerEffect
-
- thumb_func_start SetDepartmentStoreFloorVar
-SetDepartmentStoreFloorVar: @ 810E74C
- push {lr}
- ldr r0, _0810E768 @ =gSaveBlock1
- ldrb r0, [r0, 0x15]
- subs r0, 0x11
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- bhi _0810E79C
- lsls r0, 2
- ldr r1, _0810E76C @ =_0810E770
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810E768: .4byte gSaveBlock1
-_0810E76C: .4byte _0810E770
- .align 2, 0
-_0810E770:
- .4byte _0810E79C
- .4byte _0810E788
- .4byte _0810E78C
- .4byte _0810E790
- .4byte _0810E794
- .4byte _0810E798
-_0810E788:
- movs r1, 0x1
- b _0810E79E
-_0810E78C:
- movs r1, 0x2
- b _0810E79E
-_0810E790:
- movs r1, 0x3
- b _0810E79E
-_0810E794:
- movs r1, 0x4
- b _0810E79E
-_0810E798:
- movs r1, 0xF
- b _0810E79E
-_0810E79C:
- movs r1, 0
-_0810E79E:
- ldr r0, _0810E7A8 @ =0x00004043
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_0810E7A8: .4byte 0x00004043
- thumb_func_end SetDepartmentStoreFloorVar
-
- thumb_func_start ScriptAddElevatorMenuItem
-ScriptAddElevatorMenuItem: @ 810E7AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- ldr r0, _0810E81C @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- adds r2, r0, 0
- ldr r3, _0810E820 @ =gUnknown_03000760
- cmp r1, 0
- bne _0810E7E8
- movs r1, 0
- adds r5, r3, 0
- movs r4, 0x10
-_0810E7D8:
- lsls r0, r1, 2
- adds r0, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x13
- bls _0810E7D8
-_0810E7E8:
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- strb r6, [r0]
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- strb r7, [r0, 0x1]
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- mov r1, r12
- strb r1, [r0, 0x2]
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- mov r1, r8
- strb r1, [r0, 0x3]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E81C: .4byte gSpecialVar_0x8004
-_0810E820: .4byte gUnknown_03000760
- thumb_func_end ScriptAddElevatorMenuItem
-
- thumb_func_start ScriptShowElevatorMenu
-ScriptShowElevatorMenu: @ 810E824
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0810E868 @ =gUnknown_0203925A
- strb r4, [r5]
- ldr r0, _0810E86C @ =gUnknown_0203925B
- strb r4, [r0]
- movs r0, 0x10
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl ScriptAddElevatorMenuItem
- ldr r2, _0810E870 @ =gUnknown_03000760
- ldrb r0, [r2]
- cmp r0, 0x10
- beq _0810E85C
- adds r1, r5, 0
-_0810E846:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x10
- bne _0810E846
-_0810E85C:
- bl sub_810E874
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E868: .4byte gUnknown_0203925A
-_0810E86C: .4byte gUnknown_0203925B
-_0810E870: .4byte gUnknown_03000760
- thumb_func_end ScriptShowElevatorMenu
-
- thumb_func_start sub_810E874
-sub_810E874: @ 810E874
- push {r4-r6,lr}
- sub sp, 0x8
- bl ScriptContext2_Enable
- ldr r4, _0810E8B8 @ =gUnknown_0203925A
- ldrb r0, [r4]
- cmp r0, 0x5
- bls _0810E8C0
- movs r0, 0
- movs r1, 0
- movs r2, 0x8
- movs r3, 0xB
- bl MenuDrawTextWindow
- movs r4, 0
- str r4, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x5
- bl InitMenu
- ldr r0, _0810E8BC @ =gUnknown_0203925C
- strb r4, [r0]
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- bl sub_810ECD4
- b _0810E8E8
- .align 2, 0
-_0810E8B8: .4byte gUnknown_0203925A
-_0810E8BC: .4byte gUnknown_0203925C
-_0810E8C0:
- ldrb r3, [r4]
- lsls r3, 1
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x8
- bl MenuDrawTextWindow
- ldrb r3, [r4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl InitMenu
-_0810E8E8:
- movs r4, 0
- ldr r1, _0810E938 @ =gUnknown_03000760
- ldrb r0, [r1]
- cmp r0, 0x10
- beq _0810E924
- ldr r6, _0810E93C @ =gUnknown_083F8380
- adds r5, r1, 0
-_0810E8F6:
- lsls r0, r4, 2
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- lsls r2, r4, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bhi _0810E924
- lsls r0, r4, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x10
- bne _0810E8F6
-_0810E924:
- bl sub_810E944
- ldr r0, _0810E940 @ =sub_810E984
- movs r1, 0x8
- bl CreateTask
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810E938: .4byte gUnknown_03000760
-_0810E93C: .4byte gUnknown_083F8380
-_0810E940: .4byte sub_810E984
- thumb_func_end sub_810E874
-
- thumb_func_start sub_810E944
-sub_810E944: @ 810E944
- push {lr}
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x5
- bl MenuDrawTextWindow
- ldr r0, _0810E978 @ =gOtherText_NowOn
- movs r1, 0x15
- movs r2, 0x1
- movs r3, 0x40
- bl sub_8072BD8
- ldr r1, _0810E97C @ =gUnknown_083F8380
- ldr r0, _0810E980 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x15
- movs r2, 0x3
- movs r3, 0x40
- bl sub_8072BD8
- pop {r0}
- bx r0
- .align 2, 0
-_0810E978: .4byte gOtherText_NowOn
-_0810E97C: .4byte gUnknown_083F8380
-_0810E980: .4byte gSpecialVar_0x8005
- thumb_func_end sub_810E944
-
- thumb_func_start sub_810E984
-sub_810E984: @ 810E984
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _0810EA44 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x40
- bne _0810E9B8
- ldr r1, _0810EA48 @ =gUnknown_0203925B
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810E9B8
- subs r0, 0x1
- strb r0, [r1]
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursorNoWrap
- adds r0, r4, 0
- movs r1, 0x40
- bl sub_810EAC8
-_0810E9B8:
- ldr r0, _0810EA44 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x80
- bne _0810E9E8
- ldr r2, _0810EA48 @ =gUnknown_0203925B
- ldrb r1, [r2]
- ldr r0, _0810EA4C @ =gUnknown_0203925A
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _0810E9E8
- adds r0, r1, 0x1
- strb r0, [r2]
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- bl MoveMenuCursorNoWrap
- adds r0, r4, 0
- movs r1, 0x80
- bl sub_810EAC8
-_0810E9E8:
- ldr r0, _0810EA44 @ =gMain
- ldrh r2, [r0, 0x2E]
- movs r5, 0x1
- adds r1, r5, 0
- ands r1, r2
- cmp r1, 0
- beq _0810EA94
- ldr r1, _0810EA50 @ =gUnknown_03000760
- ldr r4, _0810EA48 @ =gUnknown_0203925B
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- movs r1, 0x1
- ldrsb r1, [r0, r1]
- movs r2, 0x2
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0x2
- str r0, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- bl saved_warp2_set_2
- ldr r1, _0810EA54 @ =gSpecialVar_0x8005
- ldrh r0, [r1]
- ldrb r2, [r4]
- cmp r0, r2
- bne _0810EA5C
- ldr r1, _0810EA58 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r6, 0
- bl sub_810EC9C
- b _0810EABC
- .align 2, 0
-_0810EA44: .4byte gMain
-_0810EA48: .4byte gUnknown_0203925B
-_0810EA4C: .4byte gUnknown_0203925A
-_0810EA50: .4byte gUnknown_03000760
-_0810EA54: .4byte gSpecialVar_0x8005
-_0810EA58: .4byte gScriptResult
-_0810EA5C:
- ldr r0, _0810EA88 @ =gScriptResult
- strh r5, [r0]
- ldrb r0, [r4]
- strh r0, [r1]
- bl sub_810EBEC
- ldr r0, _0810EA8C @ =gScriptLastTalked
- ldrb r0, [r0]
- ldr r2, _0810EA90 @ =gSaveBlock1
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- movs r3, 0x1
- bl FieldObjectTurnByLocalIdAndMap
- bl sub_810EEDC
- bl MenuZeroFillScreen
- adds r0, r6, 0
- bl DestroyTask
- b _0810EABC
- .align 2, 0
-_0810EA88: .4byte gScriptResult
-_0810EA8C: .4byte gScriptLastTalked
-_0810EA90: .4byte gSaveBlock1
-_0810EA94:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0810EABC
- ldr r0, _0810EAC4 @ =gScriptResult
- strh r1, [r0]
- movs r0, 0x5
- bl PlaySE
- bl sub_810EEDC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r6, 0
- bl sub_810EC9C
-_0810EABC:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810EAC4: .4byte gScriptResult
- thumb_func_end sub_810E984
-
- thumb_func_start sub_810EAC8
-sub_810EAC8: @ 810EAC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- lsls r1, 24
- lsrs r1, 24
- adds r3, r1, 0
- movs r7, 0
- movs r4, 0
- ldr r0, _0810EAEC @ =gUnknown_0203925A
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _0810EAF0
- movs r0, 0
- b _0810EB78
- .align 2, 0
-_0810EAEC: .4byte gUnknown_0203925A
-_0810EAF0:
- cmp r1, 0x40
- bne _0810EB04
- cmp r2, 0
- bne _0810EB18
- ldr r0, _0810EB00 @ =gUnknown_0203925B
- ldrb r4, [r0]
- movs r7, 0x1
- b _0810EB1C
- .align 2, 0
-_0810EB00: .4byte gUnknown_0203925B
-_0810EB04:
- cmp r3, 0x80
- bne _0810EB18
- cmp r5, 0x4
- bne _0810EB18
- ldr r0, _0810EB84 @ =gUnknown_0203925B
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0x1
-_0810EB18:
- cmp r7, 0
- beq _0810EB76
-_0810EB1C:
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_810EB90
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0xA
- bl MenuFillWindowRectWithBlankTile
- movs r5, 0
- ldr r2, _0810EB88 @ =gUnknown_03000760
- lsls r1, r4, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x10
- beq _0810EB76
- ldr r0, _0810EB8C @ =gUnknown_083F8380
- mov r8, r0
- adds r6, r2, 0
-_0810EB44:
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 2
- add r0, r8
- ldr r0, [r0]
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bhi _0810EB76
- lsls r1, r4, 2
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x10
- bne _0810EB44
-_0810EB76:
- adds r0, r7, 0
-_0810EB78:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0810EB84: .4byte gUnknown_0203925B
-_0810EB88: .4byte gUnknown_03000760
-_0810EB8C: .4byte gUnknown_083F8380
- thumb_func_end sub_810EAC8
-
- thumb_func_start sub_810EB90
-sub_810EB90: @ 810EB90
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0
- bne _0810EBB4
- ldr r0, _0810EBB0 @ =gUnknown_0203925C
- ldrb r1, [r0]
- movs r2, 0x2
- eors r1, r2
- strb r1, [r0]
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- b _0810EBB8
- .align 2, 0
-_0810EBB0: .4byte gUnknown_0203925C
-_0810EBB4:
- bl sub_810ECB0
-_0810EBB8:
- adds r1, r4, r5
- ldr r0, _0810EBC8 @ =gUnknown_0203925A
- ldrb r0, [r0]
- cmp r1, r0
- bge _0810EBCC
- bl sub_810ECD4
- b _0810EBE0
- .align 2, 0
-_0810EBC8: .4byte gUnknown_0203925A
-_0810EBCC:
- cmp r1, r0
- bne _0810EBE0
- ldr r0, _0810EBE8 @ =gUnknown_0203925C
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
-_0810EBE0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810EBE8: .4byte gUnknown_0203925C
- thumb_func_end sub_810EB90
-
- thumb_func_start sub_810EBEC
-sub_810EBEC: @ 810EBEC
- push {lr}
- ldr r0, _0810EC2C @ =sub_810EC34
- movs r1, 0x9
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810EC30 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- movs r2, 0x1
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r2, [r1, 0x10]
- movs r0, 0x3
- strh r0, [r1, 0x12]
- movs r0, 0
- bl SetCameraPanningCallback
- bl sub_810ECFC
- movs r0, 0x59
- bl PlaySE
- pop {r0}
- bx r0
- .align 2, 0
-_0810EC2C: .4byte sub_810EC34
-_0810EC30: .4byte gTasks
- thumb_func_end sub_810EBEC
-
- thumb_func_start sub_810EC34
-sub_810EC34: @ 810EC34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0810EC98 @ =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _0810EC92
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810EC92
- ldrh r0, [r4, 0x10]
- negs r0, r0
- strh r0, [r4, 0x10]
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- movs r0, 0
- bl SetCameraPanning
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x17
- bne _0810EC92
- movs r0, 0x49
- bl PlaySE
- adds r0, r5, 0
- bl sub_810EC9C
- bl InstallCameraPanAheadCallback
-_0810EC92:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810EC98: .4byte gTasks
- thumb_func_end sub_810EC34
-
- thumb_func_start sub_810EC9C
-sub_810EC9C: @ 810EC9C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_810EC9C
-
- thumb_func_start sub_810ECB0
-sub_810ECB0: @ 810ECB0
- push {lr}
- ldr r2, _0810ECD0 @ =gUnknown_0203925C
- ldrb r1, [r2]
- lsrs r0, r1, 1
- cmp r0, 0x1
- beq _0810ECCC
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- movs r1, 0x24
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
-_0810ECCC:
- pop {r0}
- bx r0
- .align 2, 0
-_0810ECD0: .4byte gUnknown_0203925C
- thumb_func_end sub_810ECB0
-
- thumb_func_start sub_810ECD4
-sub_810ECD4: @ 810ECD4
- push {lr}
- ldr r2, _0810ECF8 @ =gUnknown_0203925C
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810ECF2
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
- movs r1, 0x24
- movs r2, 0x48
- bl CreateVerticalScrollIndicators
-_0810ECF2:
- pop {r0}
- bx r0
- .align 2, 0
-_0810ECF8: .4byte gUnknown_0203925C
- thumb_func_end sub_810ECD4
-
- thumb_func_start sub_810ECFC
-sub_810ECFC: @ 810ECFC
- push {r4,lr}
- ldr r4, _0810ED38 @ =sub_810ED40
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810ED30
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810ED3C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x10]
-_0810ED30:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810ED38: .4byte sub_810ED40
-_0810ED3C: .4byte gTasks
- thumb_func_end sub_810ECFC
-
- thumb_func_start sub_810ED40
-sub_810ED40: @ 810ED40
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0810ED5C @ =gTasks
- adds r0, r1
- bl sub_810ED60
- pop {r0}
- bx r0
- .align 2, 0
-_0810ED5C: .4byte gTasks
- thumb_func_end sub_810ED40
-
- thumb_func_start sub_810ED60
-sub_810ED60: @ 810ED60
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x8
- beq _0810ED6E
- b _0810EEB2
-_0810ED6E:
- movs r0, 0
- strh r0, [r5, 0xE]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0810EE14
- ldr r2, _0810EDFC @ =0x00000e68
- movs r0, 0x7
- movs r1, 0x7
- bl MapGridSetMetatileIdAt
- ldr r4, _0810EE00 @ =0x00000e69
- movs r0, 0x8
- movs r1, 0x7
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- movs r0, 0x9
- movs r1, 0x7
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EE04 @ =0x00000e6a
- movs r0, 0xA
- movs r1, 0x7
- bl MapGridSetMetatileIdAt
- movs r2, 0xE7
- lsls r2, 4
- movs r0, 0x7
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- adds r4, 0x8
- movs r0, 0x8
- movs r1, 0x8
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- movs r0, 0x9
- movs r1, 0x8
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EE08 @ =0x00000e72
- movs r0, 0xA
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EE0C @ =0x00000e78
- movs r0, 0x7
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- adds r4, 0x8
- movs r0, 0x8
- movs r1, 0x9
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- movs r0, 0x9
- movs r1, 0x9
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EE10 @ =0x00000e7a
- movs r0, 0xA
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- b _0810EE92
- .align 2, 0
-_0810EDFC: .4byte 0x00000e68
-_0810EE00: .4byte 0x00000e69
-_0810EE04: .4byte 0x00000e6a
-_0810EE08: .4byte 0x00000e72
-_0810EE0C: .4byte 0x00000e78
-_0810EE10: .4byte 0x00000e7a
-_0810EE14:
- ldr r2, _0810EEC0 @ =0x00000e6b
- movs r0, 0x7
- movs r1, 0x7
- bl MapGridSetMetatileIdAt
- ldr r4, _0810EEC4 @ =0x00000e6c
- movs r0, 0x8
- movs r1, 0x7
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- movs r0, 0x9
- movs r1, 0x7
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EEC8 @ =0x00000e6d
- movs r0, 0xA
- movs r1, 0x7
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EECC @ =0x00000e73
- movs r0, 0x7
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- adds r4, 0x8
- movs r0, 0x8
- movs r1, 0x8
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- movs r0, 0x9
- movs r1, 0x8
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EED0 @ =0x00000e75
- movs r0, 0xA
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EED4 @ =0x00000e7b
- movs r0, 0x7
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- adds r4, 0x8
- movs r0, 0x8
- movs r1, 0x9
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- movs r0, 0x9
- movs r1, 0x9
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- ldr r2, _0810EED8 @ =0x00000e7d
- movs r0, 0xA
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
-_0810EE92:
- bl DrawWholeMapView
- ldrh r0, [r5, 0x10]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x10]
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bne _0810EEB2
- ldrb r0, [r5, 0xA]
- bl DestroyTask
-_0810EEB2:
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810EEC0: .4byte 0x00000e6b
-_0810EEC4: .4byte 0x00000e6c
-_0810EEC8: .4byte 0x00000e6d
-_0810EECC: .4byte 0x00000e73
-_0810EED0: .4byte 0x00000e75
-_0810EED4: .4byte 0x00000e7b
-_0810EED8: .4byte 0x00000e7d
- thumb_func_end sub_810ED60
-
- thumb_func_start sub_810EEDC
-sub_810EEDC: @ 810EEDC
- push {r4,lr}
- ldr r4, _0810EF08 @ =gUnknown_0203925C
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810EEF0
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
-_0810EEF0:
- ldrb r0, [r4]
- lsrs r0, 1
- cmp r0, 0x1
- bne _0810EEFE
- movs r0, 0
- bl DestroyVerticalScrollIndicator
-_0810EEFE:
- bl BuyMenuFreeMemory
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810EF08: .4byte gUnknown_0203925C
- thumb_func_end sub_810EEDC
-
- thumb_func_start SetTrickHouseEndRoomFlag
-SetTrickHouseEndRoomFlag: @ 810EF0C
- push {lr}
- ldr r1, _0810EF1C @ =gSpecialVar_0x8004
- ldr r0, _0810EF20 @ =0x00000259
- strh r0, [r1]
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_0810EF1C: .4byte gSpecialVar_0x8004
-_0810EF20: .4byte 0x00000259
- thumb_func_end SetTrickHouseEndRoomFlag
-
- thumb_func_start ResetTrickHouseEndRoomFlag
-ResetTrickHouseEndRoomFlag: @ 810EF24
- push {lr}
- ldr r1, _0810EF34 @ =gSpecialVar_0x8004
- ldr r0, _0810EF38 @ =0x00000259
- strh r0, [r1]
- bl FlagReset
- pop {r0}
- bx r0
- .align 2, 0
-_0810EF34: .4byte gSpecialVar_0x8004
-_0810EF38: .4byte 0x00000259
- thumb_func_end ResetTrickHouseEndRoomFlag
-
- thumb_func_start CheckLeadMonCool
-CheckLeadMonCool: @ 810EF3C
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810EF5C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- bl GetMonData
- cmp r0, 0xC7
- bls _0810EF60
- movs r0, 0x1
- b _0810EF62
- .align 2, 0
-_0810EF5C: .4byte gPlayerParty
-_0810EF60:
- movs r0, 0
-_0810EF62:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonCool
-
- thumb_func_start CheckLeadMonBeauty
-CheckLeadMonBeauty: @ 810EF68
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810EF88 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- bl GetMonData
- cmp r0, 0xC7
- bls _0810EF8C
- movs r0, 0x1
- b _0810EF8E
- .align 2, 0
-_0810EF88: .4byte gPlayerParty
-_0810EF8C:
- movs r0, 0
-_0810EF8E:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonBeauty
-
- thumb_func_start CheckLeadMonCute
-CheckLeadMonCute: @ 810EF94
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810EFB4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- bl GetMonData
- cmp r0, 0xC7
- bls _0810EFB8
- movs r0, 0x1
- b _0810EFBA
- .align 2, 0
-_0810EFB4: .4byte gPlayerParty
-_0810EFB8:
- movs r0, 0
-_0810EFBA:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonCute
-
- thumb_func_start CheckLeadMonSmart
-CheckLeadMonSmart: @ 810EFC0
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810EFE0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- bl GetMonData
- cmp r0, 0xC7
- bls _0810EFE4
- movs r0, 0x1
- b _0810EFE6
- .align 2, 0
-_0810EFE0: .4byte gPlayerParty
-_0810EFE4:
- movs r0, 0
-_0810EFE6:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonSmart
-
- thumb_func_start CheckLeadMonTough
-CheckLeadMonTough: @ 810EFEC
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810F00C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- bl GetMonData
- cmp r0, 0xC7
- bls _0810F010
- movs r0, 0x1
- b _0810F012
- .align 2, 0
-_0810F00C: .4byte gPlayerParty
-_0810F010:
- movs r0, 0
-_0810F012:
- pop {r1}
- bx r1
- thumb_func_end CheckLeadMonTough
-
- thumb_func_start IsGrassTypeInParty
-IsGrassTypeInParty: @ 810F018
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _0810F068 @ =gBaseStats
-_0810F01E:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0810F06C @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0810F074
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0810F074
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x6]
- cmp r0, 0xC
- beq _0810F060
- ldrb r0, [r1, 0x7]
- cmp r0, 0xC
- bne _0810F074
-_0810F060:
- ldr r1, _0810F070 @ =gScriptResult
- movs r0, 0x1
- b _0810F082
- .align 2, 0
-_0810F068: .4byte gBaseStats
-_0810F06C: .4byte gPlayerParty
-_0810F070: .4byte gScriptResult
-_0810F074:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0810F01E
- ldr r1, _0810F08C @ =gScriptResult
- movs r0, 0
-_0810F082:
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F08C: .4byte gScriptResult
- thumb_func_end IsGrassTypeInParty
-
- thumb_func_start ShowGlassWorkshopMenu
-ShowGlassWorkshopMenu: @ 810F090
- push {r4,r5,lr}
- sub sp, 0x8
- bl ScriptContext2_Enable
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0xB
- bl MenuDrawTextWindow
- movs r4, 0
- str r4, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x5
- bl InitMenu
- ldr r0, _0810F104 @ =gUnknown_0203925C
- strb r4, [r0]
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- bl sub_810F2B4
- ldr r5, _0810F108 @ =gUnknown_083F83C0
-_0810F0CA:
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- lsls r2, r4, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0810F0CA
- ldr r1, _0810F10C @ =gUnknown_0203925B
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0810F110 @ =gUnknown_0203925A
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0810F114 @ =sub_810F118
- movs r1, 0x8
- bl CreateTask
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F104: .4byte gUnknown_0203925C
-_0810F108: .4byte gUnknown_083F83C0
-_0810F10C: .4byte gUnknown_0203925B
-_0810F110: .4byte gUnknown_0203925A
-_0810F114: .4byte sub_810F118
- thumb_func_end ShowGlassWorkshopMenu
-
- thumb_func_start sub_810F118
-sub_810F118: @ 810F118
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0810F1E4 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x40
- bne _0810F14A
- ldr r1, _0810F1E8 @ =gUnknown_0203925B
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810F14A
- subs r0, 0x1
- strb r0, [r1]
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursorNoWrap
- adds r0, r4, 0
- movs r1, 0x40
- bl sub_810F1F4
-_0810F14A:
- ldr r0, _0810F1E4 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x80
- bne _0810F17A
- ldr r2, _0810F1E8 @ =gUnknown_0203925B
- ldrb r1, [r2]
- ldr r0, _0810F1EC @ =gUnknown_0203925A
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _0810F17A
- adds r0, r1, 0x1
- strb r0, [r2]
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- bl MoveMenuCursorNoWrap
- adds r0, r4, 0
- movs r1, 0x80
- bl sub_810F1F4
-_0810F17A:
- ldr r4, _0810F1E4 @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810F1AE
- bl sub_8072DEC
- ldr r0, _0810F1F0 @ =gScriptResult
- ldr r1, _0810F1E8 @ =gUnknown_0203925B
- ldrb r1, [r1]
- strh r1, [r0]
- movs r0, 0x5
- bl PlaySE
- bl sub_810EEDC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl sub_810EC9C
-_0810F1AE:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0810F1DE
- bl sub_8072DEC
- ldr r1, _0810F1F0 @ =gScriptResult
- movs r0, 0x7F
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
- bl sub_810EEDC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl sub_810EC9C
-_0810F1DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F1E4: .4byte gMain
-_0810F1E8: .4byte gUnknown_0203925B
-_0810F1EC: .4byte gUnknown_0203925A
-_0810F1F0: .4byte gScriptResult
- thumb_func_end sub_810F118
-
- thumb_func_start sub_810F1F4
-sub_810F1F4: @ 810F1F4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- lsls r1, 24
- lsrs r1, 24
- adds r3, r1, 0
- movs r6, 0
- movs r4, 0
- ldr r0, _0810F214 @ =gUnknown_0203925A
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _0810F218
- movs r0, 0
- b _0810F282
- .align 2, 0
-_0810F214: .4byte gUnknown_0203925A
-_0810F218:
- cmp r1, 0x40
- bne _0810F22C
- cmp r2, 0
- bne _0810F240
- ldr r0, _0810F228 @ =gUnknown_0203925B
- ldrb r4, [r0]
- movs r6, 0x1
- b _0810F244
- .align 2, 0
-_0810F228: .4byte gUnknown_0203925B
-_0810F22C:
- cmp r3, 0x80
- bne _0810F240
- cmp r5, 0x4
- bne _0810F240
- ldr r0, _0810F288 @ =gUnknown_0203925B
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r6, 0x1
-_0810F240:
- cmp r6, 0
- beq _0810F280
-_0810F244:
- adds r0, r4, 0
- movs r1, 0x5
- bl GlassWorkshopUpdateScrollIndicators
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x9
- movs r3, 0xA
- bl MenuFillWindowRectWithBlankTile
- movs r5, 0
- ldr r7, _0810F28C @ =gUnknown_083F83C0
-_0810F25C:
- lsls r0, r4, 2
- adds r0, r7
- ldr r0, [r0]
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0810F25C
-_0810F280:
- adds r0, r6, 0
-_0810F282:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0810F288: .4byte gUnknown_0203925B
-_0810F28C: .4byte gUnknown_083F83C0
- thumb_func_end sub_810F1F4
-
- thumb_func_start sub_810F290
-sub_810F290: @ 810F290
- push {lr}
- ldr r2, _0810F2B0 @ =gUnknown_0203925C
- ldrb r1, [r2]
- lsrs r0, r1, 1
- cmp r0, 0x1
- beq _0810F2AC
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- movs r1, 0x2C
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
-_0810F2AC:
- pop {r0}
- bx r0
- .align 2, 0
-_0810F2B0: .4byte gUnknown_0203925C
- thumb_func_end sub_810F290
-
- thumb_func_start sub_810F2B4
-sub_810F2B4: @ 810F2B4
- push {lr}
- ldr r2, _0810F2D8 @ =gUnknown_0203925C
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810F2D2
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
- movs r1, 0x2C
- movs r2, 0x58
- bl CreateVerticalScrollIndicators
-_0810F2D2:
- pop {r0}
- bx r0
- .align 2, 0
-_0810F2D8: .4byte gUnknown_0203925C
- thumb_func_end sub_810F2B4
-
- thumb_func_start GlassWorkshopUpdateScrollIndicators
-GlassWorkshopUpdateScrollIndicators: @ 810F2DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0
- bne _0810F300
- ldr r0, _0810F2FC @ =gUnknown_0203925C
- ldrb r1, [r0]
- movs r2, 0x2
- eors r1, r2
- strb r1, [r0]
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- b _0810F304
- .align 2, 0
-_0810F2FC: .4byte gUnknown_0203925C
-_0810F300:
- bl sub_810F290
-_0810F304:
- adds r1, r4, r5
- ldr r0, _0810F314 @ =gUnknown_0203925A
- ldrb r0, [r0]
- cmp r1, r0
- bge _0810F318
- bl sub_810F2B4
- b _0810F32C
- .align 2, 0
-_0810F314: .4byte gUnknown_0203925A
-_0810F318:
- cmp r1, r0
- bne _0810F32C
- ldr r0, _0810F334 @ =gUnknown_0203925C
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
-_0810F32C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F334: .4byte gUnknown_0203925C
- thumb_func_end GlassWorkshopUpdateScrollIndicators
-
- thumb_func_start SpawnCameraDummy
-SpawnCameraDummy: @ 810F338
- push {lr}
- sub sp, 0x8
- ldr r0, _0810F380 @ =gSaveBlock1
- ldrh r3, [r0]
- adds r3, 0x7
- lsls r3, 16
- asrs r3, 16
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x7F
- bl SpawnSpecialFieldObjectParametrized
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810F384 @ =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r1, 0x4]
- bl CameraObjectSetFollowedObjectId
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0810F380: .4byte gSaveBlock1
-_0810F384: .4byte gMapObjects
- thumb_func_end SpawnCameraDummy
-
- thumb_func_start RemoveCameraDummy
-RemoveCameraDummy: @ 810F388
- push {lr}
- bl GetPlayerAvatarObjectId
- lsls r0, 24
- lsrs r0, 24
- bl CameraObjectSetFollowedObjectId
- ldr r0, _0810F3A8 @ =gSaveBlock1
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- bl RemoveFieldObjectByLocalIdAndMap
- pop {r0}
- bx r0
- .align 2, 0
-_0810F3A8: .4byte gSaveBlock1
- thumb_func_end RemoveCameraDummy
-
- thumb_func_start GetPokeblockNameByMonNature
-GetPokeblockNameByMonNature: @ 810F3AC
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810F3D4 @ =gPlayerParty
- adds r0, r1
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0810F3D8 @ =gStringVar1
- bl sub_810CB68
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0810F3D4: .4byte gPlayerParty
-_0810F3D8: .4byte gStringVar1
- thumb_func_end GetPokeblockNameByMonNature
-
- thumb_func_start GetSecretBaseNearbyMapName
-GetSecretBaseNearbyMapName: @ 810F3DC
- push {r4,lr}
- ldr r4, _0810F3FC @ =gStringVar1
- ldr r0, _0810F400 @ =0x00004026
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_80FBFB4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F3FC: .4byte gStringVar1
-_0810F400: .4byte 0x00004026
- thumb_func_end GetSecretBaseNearbyMapName
-
- thumb_func_start sub_810F404
-sub_810F404: @ 810F404
- push {lr}
- movs r0, 0x20
- bl sub_8053108
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_810F404
-
- thumb_func_start sub_810F414
-sub_810F414: @ 810F414
- push {lr}
- ldr r0, _0810F420 @ =gStringVar1
- bl sub_8135FF4
- pop {r0}
- bx r0
- .align 2, 0
-_0810F420: .4byte gStringVar1
- thumb_func_end sub_810F414
-
- thumb_func_start sub_810F424
-sub_810F424: @ 810F424
- push {r4,r5,lr}
- ldr r2, _0810F458 @ =gSaveBlock1
- ldr r1, _0810F45C @ =0x00002dd4
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 25
- ldr r0, _0810F460 @ =0x00002dd6
- adds r2, r0
- lsrs r1, 25
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, _0810F464 @ =gUnknown_083F83E0
- ldr r0, _0810F468 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- adds r5, r1, r0
- movs r0, 0x2
- bl GetPriceReduction
- lsls r0, 24
- cmp r0, 0
- bne _0810F470
- ldr r4, _0810F46C @ =gUnknown_083F83EC
- b _0810F472
- .align 2, 0
-_0810F458: .4byte gSaveBlock1
-_0810F45C: .4byte 0x00002dd4
-_0810F460: .4byte 0x00002dd6
-_0810F464: .4byte gUnknown_083F83E0
-_0810F468: .4byte gSpecialVar_0x8004
-_0810F46C: .4byte gUnknown_083F83EC
-_0810F470:
- ldr r4, _0810F484 @ =gUnknown_083F83F8
-_0810F472:
- adds r0, r5, 0
- movs r1, 0xC
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0810F484: .4byte gUnknown_083F83F8
- thumb_func_end sub_810F424
-
- thumb_func_start sub_810F488
-sub_810F488: @ 810F488
- push {lr}
- ldr r1, _0810F4A0 @ =gSpecialVar_0x8004
- ldr r0, _0810F4A4 @ =0x00000277
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0810F4A8
- movs r0, 0x1
- b _0810F4AA
- .align 2, 0
-_0810F4A0: .4byte gSpecialVar_0x8004
-_0810F4A4: .4byte 0x00000277
-_0810F4A8:
- movs r0, 0
-_0810F4AA:
- pop {r1}
- bx r1
- thumb_func_end sub_810F488
-
- thumb_func_start sub_810F4B0
-sub_810F4B0: @ 810F4B0
- push {lr}
- ldr r1, _0810F4C8 @ =gSpecialVar_0x8004
- movs r0, 0x9E
- lsls r0, 2
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0810F4CC
- movs r0, 0x1
- b _0810F4CE
- .align 2, 0
-_0810F4C8: .4byte gSpecialVar_0x8004
-_0810F4CC:
- movs r0, 0
-_0810F4CE:
- pop {r1}
- bx r1
- thumb_func_end sub_810F4B0
-
- thumb_func_start sub_810F4D4
-sub_810F4D4: @ 810F4D4
- push {lr}
- ldr r1, _0810F4EC @ =gSpecialVar_0x8004
- ldr r0, _0810F4F0 @ =0x00000279
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0810F4F4
- movs r0, 0x1
- b _0810F4F6
- .align 2, 0
-_0810F4EC: .4byte gSpecialVar_0x8004
-_0810F4F0: .4byte 0x00000279
-_0810F4F4:
- movs r0, 0
-_0810F4F6:
- pop {r1}
- bx r1
- thumb_func_end sub_810F4D4
-
- thumb_func_start sub_810F4FC
-sub_810F4FC: @ 810F4FC
- push {lr}
- ldr r1, _0810F514 @ =gSpecialVar_0x8004
- ldr r0, _0810F518 @ =0x0000027a
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0810F51C
- movs r0, 0x1
- b _0810F51E
- .align 2, 0
-_0810F514: .4byte gSpecialVar_0x8004
-_0810F518: .4byte 0x0000027a
-_0810F51C:
- movs r0, 0
-_0810F51E:
- pop {r1}
- bx r1
- thumb_func_end sub_810F4FC
-
- thumb_func_start LeadMonHasEffortRibbon
-LeadMonHasEffortRibbon: @ 810F524
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810F548 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x47
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0810F548: .4byte gPlayerParty
- thumb_func_end LeadMonHasEffortRibbon
-
- thumb_func_start GivLeadMonEffortRibbon
-GivLeadMonEffortRibbon: @ 810F54C
- push {lr}
- sub sp, 0x4
- movs r0, 0x2A
- bl sav12_xor_increment
- ldr r0, _0810F580 @ =0x0000083b
- bl FlagSet
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810F584 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x47
- mov r2, sp
- bl SetMonData
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0810F580: .4byte 0x0000083b
-_0810F584: .4byte gPlayerParty
- thumb_func_end GivLeadMonEffortRibbon
-
- thumb_func_start GetLeadMonEVCount
-GetLeadMonEVCount: @ 810F588
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810F5AC @ =gPlayerParty
- adds r0, r1
- bl GetMonEVCount
- lsls r0, 16
- ldr r1, _0810F5B0 @ =0x01fd0000
- cmp r0, r1
- bhi _0810F5B4
- movs r0, 0
- b _0810F5B6
- .align 2, 0
-_0810F5AC: .4byte gPlayerParty
-_0810F5B0: .4byte 0x01fd0000
-_0810F5B4:
- movs r0, 0x1
-_0810F5B6:
- pop {r1}
- bx r1
- thumb_func_end GetLeadMonEVCount
-
- thumb_func_start sub_810F5BC
-sub_810F5BC: @ 810F5BC
- push {lr}
- movs r0, 0xC7
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0810F610
- ldr r0, _0810F5E8 @ =gSaveBlock1
- ldrh r1, [r0, 0x4]
- movs r0, 0x83
- lsls r0, 3
- cmp r1, r0
- bne _0810F610
- subs r0, 0x75
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0810F5F0
- ldr r0, _0810F5EC @ =0x0000409a
- movs r1, 0x4
- b _0810F602
- .align 2, 0
-_0810F5E8: .4byte gSaveBlock1
-_0810F5EC: .4byte 0x0000409a
-_0810F5F0:
- movs r0, 0xE9
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0810F610
- ldr r0, _0810F60C @ =0x0000409a
- movs r1, 0x5
-_0810F602:
- bl VarSet
- movs r0, 0x1
- b _0810F612
- .align 2, 0
-_0810F60C: .4byte 0x0000409a
-_0810F610:
- movs r0, 0
-_0810F612:
- pop {r1}
- bx r1
- thumb_func_end sub_810F5BC
-
- thumb_func_start sub_810F618
-sub_810F618: @ 810F618
- push {lr}
- ldr r0, _0810F624 @ =0x0000085f
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_0810F624: .4byte 0x0000085f
- thumb_func_end sub_810F618
-
- thumb_func_start PutZigzagoonInPlayerParty
-PutZigzagoonInPlayerParty: @ 810F628
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r5, _0810F690 @ =gPlayerParty
- movs r1, 0x90
- lsls r1, 1
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r2, 0x7
- movs r3, 0x20
- bl CreateMon
- movs r1, 0x1
- add r0, sp, 0x10
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0x2E
- add r2, sp, 0x10
- bl SetMonData
- add r1, sp, 0x10
- movs r0, 0x21
- strh r0, [r1]
- adds r0, r5, 0
- movs r1, 0xD
- add r2, sp, 0x10
- bl SetMonData
- add r0, sp, 0x10
- strh r4, [r0]
- adds r0, r5, 0
- movs r1, 0xE
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xF
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0x10
- add r2, sp, 0x10
- bl SetMonData
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F690: .4byte gPlayerParty
- thumb_func_end PutZigzagoonInPlayerParty
-
- thumb_func_start IsStarterInParty
-IsStarterInParty: @ 810F694
- push {r4-r6,lr}
- ldr r0, _0810F6D0 @ =0x00004023
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r6, r0, 16
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _0810F6E2
-_0810F6B6:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0810F6D4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, r6
- bne _0810F6D8
- movs r0, 0x1
- b _0810F6E4
- .align 2, 0
-_0810F6D0: .4byte 0x00004023
-_0810F6D4: .4byte gPlayerParty
-_0810F6D8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0810F6B6
-_0810F6E2:
- movs r0, 0
-_0810F6E4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsStarterInParty
-
- thumb_func_start CheckFreePokemonStorageSpace
-CheckFreePokemonStorageSpace: @ 810F6EC
- push {r4-r6,lr}
- movs r5, 0
-_0810F6F0:
- movs r4, 0
- lsls r1, r5, 2
- adds r1, r5
- lsls r0, r1, 4
- subs r0, r1
- lsls r6, r0, 5
-_0810F6FC:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- ldr r1, _0810F718 @ =gUnknown_020300A4
- adds r0, r1
- adds r0, r6, r0
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- cmp r0, 0
- bne _0810F71C
- movs r0, 0x1
- b _0810F732
- .align 2, 0
-_0810F718: .4byte gUnknown_020300A4
-_0810F71C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _0810F6FC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _0810F6F0
- movs r0, 0
-_0810F732:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckFreePokemonStorageSpace
-
- thumb_func_start IsPokerusInParty
-IsPokerusInParty: @ 810F738
- push {lr}
- ldr r0, _0810F74C @ =gPlayerParty
- movs r1, 0x3F
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- beq _0810F750
- movs r0, 0x1
- b _0810F752
- .align 2, 0
-_0810F74C: .4byte gPlayerParty
-_0810F750:
- movs r0, 0
-_0810F752:
- pop {r1}
- bx r1
- thumb_func_end IsPokerusInParty
-
- thumb_func_start sub_810F758
-sub_810F758: @ 810F758
- push {lr}
- ldr r0, _0810F798 @ =sub_810F7A8
- movs r1, 0x9
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810F79C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0810F7A0 @ =gSpecialVar_0x8005
- ldrh r2, [r0]
- movs r0, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- ldr r0, _0810F7A4 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- movs r0, 0x5
- strh r0, [r1, 0x12]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0xD6
- bl PlaySE
- pop {r0}
- bx r0
- .align 2, 0
-_0810F798: .4byte sub_810F7A8
-_0810F79C: .4byte gTasks
-_0810F7A0: .4byte gSpecialVar_0x8005
-_0810F7A4: .4byte gSpecialVar_0x8004
- thumb_func_end sub_810F758
-
- thumb_func_start sub_810F7A8
-sub_810F7A8: @ 810F7A8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0810F810 @ =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _0810F808
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810F808
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x10]
- negs r0, r0
- strh r0, [r4, 0x10]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- bl SetCameraPanning
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bne _0810F808
- adds r0, r5, 0
- bl sub_810F814
- bl InstallCameraPanAheadCallback
-_0810F808:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F810: .4byte gTasks
- thumb_func_end sub_810F7A8
-
- thumb_func_start sub_810F814
-sub_810F814: @ 810F814
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_810F814
-
- thumb_func_start sub_810F828
-sub_810F828: @ 810F828
- push {lr}
- movs r0, 0xAE
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_810F828
-
- thumb_func_start SetRoute119Weather
-SetRoute119Weather: @ 810F83C
- push {lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810F858
- movs r0, 0x14
- bl SetSav1Weather
-_0810F858:
- pop {r0}
- bx r0
- thumb_func_end SetRoute119Weather
-
- thumb_func_start SetRoute123Weather
-SetRoute123Weather: @ 810F85C
- push {lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810F878
- movs r0, 0x15
- bl SetSav1Weather
-_0810F878:
- pop {r0}
- bx r0
- thumb_func_end SetRoute123Weather
-
- thumb_func_start GetLeadMonIndex
-GetLeadMonIndex: @ 810F87C
- push {r4-r6,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _0810F8CA
-_0810F88C:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0810F8BC @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _0810F8C0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0810F8C0
- adds r0, r5, 0
- b _0810F8CC
- .align 2, 0
-_0810F8BC: .4byte gPlayerParty
-_0810F8C0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _0810F88C
-_0810F8CA:
- movs r0, 0
-_0810F8CC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetLeadMonIndex
-
- thumb_func_start ScriptGetPartyMonSpecies
-ScriptGetPartyMonSpecies: @ 810F8D4
- push {lr}
- ldr r0, _0810F8F4 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0810F8F8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_0810F8F4: .4byte gSpecialVar_0x8004
-_0810F8F8: .4byte gPlayerParty
- thumb_func_end ScriptGetPartyMonSpecies
-
- thumb_func_start sub_810F8FC
-sub_810F8FC: @ 810F8FC
- push {lr}
- movs r0, 0x6
- bl sub_805ADDC
- pop {r0}
- bx r0
- thumb_func_end sub_810F8FC
-
- thumb_func_start sub_810F908
-sub_810F908: @ 810F908
- push {r4,lr}
- ldr r0, _0810F928 @ =0x000040c2
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- adds r3, r0, 0
- ldr r2, _0810F92C @ =gLocalTime
- movs r1, 0
- ldrsh r0, [r2, r1]
- subs r0, r3
- cmp r0, 0x6
- ble _0810F930
- movs r0, 0
- b _0810F948
- .align 2, 0
-_0810F928: .4byte 0x000040c2
-_0810F92C: .4byte gLocalTime
-_0810F930:
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- blt _0810F946
- subs r1, r3
- movs r0, 0x7
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- b _0810F948
-_0810F946:
- movs r0, 0x8
-_0810F948:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810F908
-
- thumb_func_start sub_810F950
-sub_810F950: @ 810F950
- push {r4,lr}
- ldr r0, _0810F964 @ =0x000040c2
- ldr r4, _0810F968 @ =gLocalTime
- ldrh r1, [r4]
- bl VarSet
- ldrh r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0810F964: .4byte 0x000040c2
-_0810F968: .4byte gLocalTime
- thumb_func_end sub_810F950
-
- thumb_func_start sub_810F96C
-sub_810F96C: @ 810F96C
- push {r4,lr}
- ldr r0, _0810F994 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0810F998 @ =gPlayerParty
- adds r0, r1
- ldr r4, _0810F99C @ =gStringVar1
- movs r1, 0x7
- adds r2, r4, 0
- bl GetMonData
- ldr r0, _0810F9A0 @ =gSaveBlock2
- adds r1, r4, 0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- beq _0810F9A4
- movs r0, 0x1
- b _0810F9A6
- .align 2, 0
-_0810F994: .4byte gSpecialVar_0x8004
-_0810F998: .4byte gPlayerParty
-_0810F99C: .4byte gStringVar1
-_0810F9A0: .4byte gSaveBlock2
-_0810F9A4:
- movs r0, 0
-_0810F9A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810F96C
-
- thumb_func_start sub_810F9AC
-sub_810F9AC: @ 810F9AC
- push {r4,r5,lr}
- ldr r2, _0810F9C0 @ =gScriptResult
- ldrh r1, [r2]
- ldr r0, _0810F9C4 @ =0x0000270f
- cmp r1, r0
- bls _0810F9C8
- movs r0, 0
- bl sub_80BF088
- b _0810FA4A
- .align 2, 0
-_0810F9C0: .4byte gScriptResult
-_0810F9C4: .4byte 0x0000270f
-_0810F9C8:
- ldr r0, _0810F9D8 @ =0x000003e7
- cmp r1, r0
- bls _0810F9E0
- ldr r4, _0810F9DC @ =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- adds r4, 0x1
- b _0810FA04
- .align 2, 0
-_0810F9D8: .4byte 0x000003e7
-_0810F9DC: .4byte gStringVar1
-_0810F9E0:
- cmp r1, 0x63
- bls _0810F9F4
- ldr r4, _0810F9F0 @ =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- adds r4, 0x2
- b _0810FA04
- .align 2, 0
-_0810F9F0: .4byte gStringVar1
-_0810F9F4:
- cmp r1, 0x9
- bls _0810FA24
- ldr r4, _0810FA20 @ =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- adds r4, 0x3
-_0810FA04:
- ldrh r5, [r2]
- adds r0, r5, 0
- bl sub_80BF0B8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- b _0810FA4A
- .align 2, 0
-_0810FA20: .4byte gStringVar1
-_0810FA24:
- ldr r4, _0810FA50 @ =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x3]
- adds r4, 0x4
- ldrh r5, [r2]
- adds r0, r5, 0
- bl sub_80BF0B8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
-_0810FA4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810FA50: .4byte gStringVar1
- thumb_func_end sub_810F9AC
-
- thumb_func_start sub_810FA54
-sub_810FA54: @ 810FA54
- ldr r0, _0810FA68 @ =gSaveBlock1
- ldr r2, _0810FA6C @ =0x000013c2
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, _0810FA70 @ =0x000013c4
- adds r0, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_0810FA68: .4byte gSaveBlock1
-_0810FA6C: .4byte 0x000013c2
-_0810FA70: .4byte 0x000013c4
- thumb_func_end sub_810FA54
-
- thumb_func_start sub_810FA74
-sub_810FA74: @ 810FA74
- push {lr}
- bl sub_810FF30
- lsls r0, 24
- cmp r0, 0
- beq _0810FA90
- bl sub_810FCE8
- ldr r0, _0810FA94 @ =gSaveBlock1
- ldr r1, _0810FA98 @ =gSaveBlock2
- ldrh r1, [r1, 0xE]
- ldr r2, _0810FA9C @ =0x000013c4
- adds r0, r2
- strh r1, [r0]
-_0810FA90:
- pop {r0}
- bx r0
- .align 2, 0
-_0810FA94: .4byte gSaveBlock1
-_0810FA98: .4byte gSaveBlock2
-_0810FA9C: .4byte 0x000013c4
- thumb_func_end sub_810FA74
-
- thumb_func_start sub_810FAA0
-sub_810FAA0: @ 810FAA0
- push {r4,lr}
- ldr r4, _0810FAF0 @ =gSaveBlock1
- ldr r1, _0810FAF4 @ =0x000013c2
- adds r0, r4, r1
- ldrh r0, [r0]
- lsrs r0, 7
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810FAE8
- bl sub_810FF48
- bl sub_810FD80
- ldr r0, _0810FAF8 @ =gSaveBlock2
- ldrh r1, [r0, 0xE]
- ldr r2, _0810FAFC @ =0x000013c4
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _0810FB00 @ =0x00000315
- bl FlagReset
- ldr r0, _0810FB04 @ =0x00000316
- bl FlagReset
- ldr r0, _0810FB08 @ =0x00000317
- bl FlagReset
- movs r0, 0xC6
- lsls r0, 2
- bl FlagReset
- ldr r0, _0810FB0C @ =0x00004095
- movs r1, 0x1
- bl VarSet
-_0810FAE8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810FAF0: .4byte gSaveBlock1
-_0810FAF4: .4byte 0x000013c2
-_0810FAF8: .4byte gSaveBlock2
-_0810FAFC: .4byte 0x000013c4
-_0810FB00: .4byte 0x00000315
-_0810FB04: .4byte 0x00000316
-_0810FB08: .4byte 0x00000317
-_0810FB0C: .4byte 0x00004095
- thumb_func_end sub_810FAA0
-
- thumb_func_start sub_810FB10
-sub_810FB10: @ 810FB10
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0810FB54 @ =0x00004095
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0810FB80
- ldr r0, _0810FB58 @ =gSaveBlock1
- ldr r1, _0810FB5C @ =0x000013c2
- adds r4, r0, r1
- ldrh r2, [r4]
- movs r1, 0x7F
- ands r1, r2
- ldr r0, _0810FB60 @ =gUnknown_083F8404
- adds r0, r5, r0
- ldrb r0, [r0]
- adds r1, r0
- cmp r1, 0x13
- ble _0810FB7C
- bl sub_810FCB0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0810FB68
- bl sub_810FB9C
- ldrh r1, [r4]
- ldr r0, _0810FB64 @ =0x0000ff80
- ands r0, r1
- b _0810FB7E
- .align 2, 0
-_0810FB54: .4byte 0x00004095
-_0810FB58: .4byte gSaveBlock1
-_0810FB5C: .4byte 0x000013c2
-_0810FB60: .4byte gUnknown_083F8404
-_0810FB64: .4byte 0x0000ff80
-_0810FB68:
- ldrh r0, [r4]
- ldr r1, _0810FB78 @ =0x0000ff80
- ands r1, r0
- movs r0, 0x14
- orrs r1, r0
- strh r1, [r4]
- b _0810FB80
- .align 2, 0
-_0810FB78: .4byte 0x0000ff80
-_0810FB7C:
- adds r0, r2, r0
-_0810FB7E:
- strh r0, [r4]
-_0810FB80:
- ldr r0, _0810FB94 @ =gSaveBlock1
- ldr r1, _0810FB98 @ =0x000013c2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x7F
- ands r0, r1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0810FB94: .4byte gSaveBlock1
-_0810FB98: .4byte 0x000013c2
- thumb_func_end sub_810FB10
-
- thumb_func_start sub_810FB9C
-sub_810FB9C: @ 810FB9C
- push {r4-r7,lr}
- sub sp, 0x4
- movs r3, 0
- movs r5, 0
- ldr r7, _0810FBD8 @ =gSaveBlock1 + 0x13C2
- movs r6, 0x1
-_0810FBA8:
- ldrh r1, [r7]
- ldr r0, _0810FBDC @ =gUnknown_083F8408
- adds r0, r5, r0
- ldrb r4, [r0]
- asrs r1, r4
- ands r1, r6
- cmp r1, 0
- bne _0810FBE0
- adds r3, r5, 0
- str r3, [sp]
- bl Random
- adds r1, r6, 0
- ands r1, r0
- ldr r3, [sp]
- cmp r1, 0
- beq _0810FBE0
- adds r0, r6, 0
- lsls r0, r4
- ldrh r1, [r7]
- orrs r0, r1
- strh r0, [r7]
- b _0810FC00
- .align 2, 0
-_0810FBD8: .4byte gSaveBlock1 + 0x13C2
-_0810FBDC: .4byte gUnknown_083F8408
-_0810FBE0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0810FBA8
- ldr r2, _0810FC0C @ =gSaveBlock1
- ldr r0, _0810FC10 @ =0x000013c2
- adds r2, r0
- ldr r1, _0810FC14 @ =gUnknown_083F8408
- adds r1, r3, r1
- movs r0, 0x1
- ldrb r1, [r1]
- lsls r0, r1
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
-_0810FC00:
- adds r0, r3, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0810FC0C: .4byte gSaveBlock1
-_0810FC10: .4byte 0x000013c2
-_0810FC14: .4byte gUnknown_083F8408
- thumb_func_end sub_810FB9C
-
- thumb_func_start sub_810FC18
-sub_810FC18: @ 810FC18
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r0, 0
- mov r8, r0
- bl sub_810FCB0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0810FC3E
- movs r0, 0
- b _0810FC94
-_0810FC34:
- lsls r4, r6
- ldrh r0, [r2]
- eors r4, r0
- strh r4, [r2]
- b _0810FC92
-_0810FC3E:
- movs r5, 0
- ldr r2, _0810FCA0 @ =gSaveBlock1 + 0x13C2
- movs r4, 0x1
-_0810FC44:
- ldrh r1, [r2]
- ldr r7, _0810FCA4 @ =gUnknown_083F8410
- adds r0, r5, r7
- ldrb r6, [r0]
- asrs r1, r6
- ands r1, r4
- cmp r1, 0
- beq _0810FC66
- mov r8, r5
- str r2, [sp]
- bl Random
- adds r1, r4, 0
- ands r1, r0
- ldr r2, [sp]
- cmp r1, 0
- bne _0810FC34
-_0810FC66:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0810FC44
- ldr r0, _0810FCA8 @ =gSaveBlock1
- ldr r1, _0810FCAC @ =0x000013c2
- adds r4, r0, r1
- ldrh r1, [r4]
- mov r2, r8
- adds r0, r2, r7
- ldrb r2, [r0]
- adds r0, r1, 0
- asrs r0, r2
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0810FC92
- adds r0, r3, 0
- lsls r0, r2
- eors r1, r0
- strh r1, [r4]
-_0810FC92:
- mov r0, r8
-_0810FC94:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0810FCA0: .4byte gSaveBlock1 + 0x13C2
-_0810FCA4: .4byte gUnknown_083F8410
-_0810FCA8: .4byte gSaveBlock1
-_0810FCAC: .4byte 0x000013c2
- thumb_func_end sub_810FC18
-
- thumb_func_start sub_810FCB0
-sub_810FCB0: @ 810FCB0
- push {r4,r5,lr}
- movs r3, 0
- movs r2, 0
- ldr r0, _0810FCE4 @ =gSaveBlock1 + 0x13C2
- ldrh r4, [r0]
- movs r5, 0x1
-_0810FCBC:
- adds r1, r2, 0
- adds r1, 0x8
- adds r0, r4, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _0810FCD0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_0810FCD0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0810FCBC
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0810FCE4: .4byte gSaveBlock1 + 0x13C2
- thumb_func_end sub_810FCB0
-
- thumb_func_start sub_810FCE8
-sub_810FCE8: @ 810FCE8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
- ldr r2, _0810FD08 @ =gSaveBlock2
- ldrh r1, [r2, 0xE]
- ldr r0, _0810FD0C @ =0x000003e6
- cmp r1, r0
- bhi _0810FD54
- ldr r7, _0810FD10 @ =gSaveBlock1
- adds r6, r2, 0
- ldr r0, _0810FD14 @ =0x000013c4
- adds r0, r7
- mov r8, r0
- b _0810FD36
- .align 2, 0
-_0810FD08: .4byte gSaveBlock2
-_0810FD0C: .4byte 0x000003e6
-_0810FD10: .4byte gSaveBlock1
-_0810FD14: .4byte 0x000013c4
-_0810FD18:
- ldrh r1, [r6, 0xE]
- ldr r0, _0810FD4C @ =0x000013c4
- adds r4, r7, r0
- ldrh r0, [r4]
- subs r1, r0
- cmp r1, 0xB
- ble _0810FD54
- bl sub_810FC18
- ldrh r0, [r4]
- adds r0, 0xC
- strh r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0810FD36:
- bl sub_810FCB0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _0810FD50
- ldrh r0, [r6, 0xE]
- mov r1, r8
- strh r0, [r1]
- b _0810FD54
- .align 2, 0
-_0810FD4C: .4byte 0x000013c4
-_0810FD50:
- cmp r5, 0x8
- bne _0810FD18
-_0810FD54:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810FCE8
-
- thumb_func_start sub_810FD60
-sub_810FD60: @ 810FD60
- ldr r0, _0810FD74 @ =gSaveBlock1
- ldr r1, _0810FD78 @ =0x000013c2
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _0810FD7C @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- bx lr
- .align 2, 0
-_0810FD74: .4byte gSaveBlock1
-_0810FD78: .4byte 0x000013c2
-_0810FD7C: .4byte gSpecialVar_0x8004
- thumb_func_end sub_810FD60
-
- thumb_func_start sub_810FD80
-sub_810FD80: @ 810FD80
- ldr r2, _0810FDA4 @ =gSaveBlock1
- ldr r0, _0810FDA8 @ =0x000013c2
- adds r2, r0
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r0, r3, 0
- orrs r0, r1
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- orrs r0, r1
- movs r3, 0x80
- lsls r3, 3
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_0810FDA4: .4byte gSaveBlock1
-_0810FDA8: .4byte 0x000013c2
- thumb_func_end sub_810FD80
-
- thumb_func_start sub_810FDAC
-sub_810FDAC: @ 810FDAC
- push {lr}
- movs r3, 0
- movs r2, 0
- ldr r0, _0810FDC8 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x8
- cmp r0, 0x7
- bhi _0810FE0C
- lsls r0, 2
- ldr r1, _0810FDCC @ =_0810FDD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810FDC8: .4byte gSpecialVar_0x8004
-_0810FDCC: .4byte _0810FDD0
- .align 2, 0
-_0810FDD0:
- .4byte _0810FE0C
- .4byte _0810FE0C
- .4byte _0810FDF0
- .4byte _0810FDF6
- .4byte _0810FDFC
- .4byte _0810FE02
- .4byte _0810FE08
- .4byte _0810FE0C
-_0810FDF0:
- movs r3, 0
- movs r2, 0x3
- b _0810FE0C
-_0810FDF6:
- movs r3, 0
- movs r2, 0x1
- b _0810FE0C
-_0810FDFC:
- movs r3, 0x1
- movs r2, 0
- b _0810FE0C
-_0810FE02:
- movs r3, 0
- movs r2, 0x4
- b _0810FE0C
-_0810FE08:
- movs r3, 0x1
- movs r2, 0x5
-_0810FE0C:
- ldr r0, _0810FE18 @ =gSaveBlock1 + 0x30B8
- adds r1, r3, 0
- bl sub_810FE1C
- pop {r0}
- bx r0
- .align 2, 0
-_0810FE18: .4byte gSaveBlock1 + 0x30B8
- thumb_func_end sub_810FDAC
-
- thumb_func_start sub_810FE1C
-sub_810FE1C: @ 810FE1C
- push {r4,lr}
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsrs r1, 20
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0810FED0
- cmp r2, 0x5
- bhi _0810FEBC
- lsls r0, r2, 2
- ldr r1, _0810FE3C @ =_0810FE40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810FE3C: .4byte _0810FE40
- .align 2, 0
-_0810FE40:
- .4byte _0810FEBC
- .4byte _0810FE58
- .4byte _0810FE6C
- .4byte _0810FE80
- .4byte _0810FE94
- .4byte _0810FEA8
-_0810FE58:
- ldr r0, _0810FE64 @ =gStringVar1
- ldr r1, _0810FE68 @ =gOtherText_Steven
- bl StringCopy
- b _0810FEF2
- .align 2, 0
-_0810FE64: .4byte gStringVar1
-_0810FE68: .4byte gOtherText_Steven
-_0810FE6C:
- ldr r0, _0810FE78 @ =gStringVar1
- ldr r1, _0810FE7C @ =gOtherText_Brawly
- bl StringCopy
- b _0810FEF2
- .align 2, 0
-_0810FE78: .4byte gStringVar1
-_0810FE7C: .4byte gOtherText_Brawly
-_0810FE80:
- ldr r0, _0810FE8C @ =gStringVar1
- ldr r1, _0810FE90 @ =gOtherText_Winona
- bl StringCopy
- b _0810FEF2
- .align 2, 0
-_0810FE8C: .4byte gStringVar1
-_0810FE90: .4byte gOtherText_Winona
-_0810FE94:
- ldr r0, _0810FEA0 @ =gStringVar1
- ldr r1, _0810FEA4 @ =gOtherText_Phoebe
- bl StringCopy
- b _0810FEF2
- .align 2, 0
-_0810FEA0: .4byte gStringVar1
-_0810FEA4: .4byte gOtherText_Phoebe
-_0810FEA8:
- ldr r0, _0810FEB4 @ =gStringVar1
- ldr r1, _0810FEB8 @ =gOtherText_Glacia
- bl StringCopy
- b _0810FEF2
- .align 2, 0
-_0810FEB4: .4byte gStringVar1
-_0810FEB8: .4byte gOtherText_Glacia
-_0810FEBC:
- ldr r0, _0810FEC8 @ =gStringVar1
- ldr r1, _0810FECC @ =gOtherText_Wallace
- bl StringCopy
- b _0810FEF2
- .align 2, 0
-_0810FEC8: .4byte gStringVar1
-_0810FECC: .4byte gOtherText_Wallace
-_0810FED0:
- ldr r4, _0810FEF8 @ =gStringVar1
- adds r0, r4, 0
- movs r2, 0x7
- bl StringCopyN
- movs r0, 0xFF
- strb r0, [r4, 0x7]
- ldrb r0, [r4]
- cmp r0, 0xFC
- bne _0810FEF2
- ldrb r0, [r4, 0x1]
- cmp r0, 0x15
- bne _0810FEF2
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
-_0810FEF2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810FEF8: .4byte gStringVar1
- thumb_func_end sub_810FE1C
-
- thumb_func_start sub_810FEFC
-sub_810FEFC: @ 810FEFC
- push {lr}
- ldr r0, _0810FF20 @ =0x00004095
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0810FF2C
- bl sub_810FA74
- ldr r0, _0810FF24 @ =gUnknown_02024D26
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0810FF28
- bl sub_810FB9C
- b _0810FF2C
- .align 2, 0
-_0810FF20: .4byte 0x00004095
-_0810FF24: .4byte gUnknown_02024D26
-_0810FF28:
- bl sub_810FC18
-_0810FF2C:
- pop {r0}
- bx r0
- thumb_func_end sub_810FEFC
-
- thumb_func_start sub_810FF30
-sub_810FF30: @ 810FF30
- ldr r0, _0810FF40 @ =gSaveBlock1
- ldr r1, _0810FF44 @ =0x000013c2
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 7
- movs r1, 0x1
- ands r0, r1
- bx lr
- .align 2, 0
-_0810FF40: .4byte gSaveBlock1
-_0810FF44: .4byte 0x000013c2
- thumb_func_end sub_810FF30
-
- thumb_func_start sub_810FF48
-sub_810FF48: @ 810FF48
- ldr r0, _0810FF58 @ =gSaveBlock1
- ldr r1, _0810FF5C @ =0x000013c2
- adds r0, r1
- ldrh r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_0810FF58: .4byte gSaveBlock1
-_0810FF5C: .4byte 0x000013c2
- thumb_func_end sub_810FF48
-
- thumb_func_start sub_810FF60
-sub_810FF60: @ 810FF60
- push {lr}
- ldr r0, _0810FF74 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_810FB10
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0810FF74: .4byte gSpecialVar_0x8004
- thumb_func_end sub_810FF60
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_800D42C.s b/asm/rom_800D42C.s
index fdb390563..1b0ef2731 100644
--- a/asm/rom_800D42C.s
+++ b/asm/rom_800D42C.s
@@ -6574,7 +6574,7 @@ _08010906:
strb r1, [r2]
ldr r3, _08010B00 @ =gUnknown_02024C08
strb r1, [r3]
- ldr r4, _08010B04 @ =word_2024DB8
+ ldr r4, _08010B04 @ =gBattleWeather
strh r1, [r4]
ldr r1, _08010B08 @ =gUnknown_02024DBC
movs r2, 0
@@ -6804,7 +6804,7 @@ _08010AF4: .4byte gUnknown_02024C80
_08010AF8: .4byte gUnknown_02024C7A
_08010AFC: .4byte gUnknown_02024C07
_08010B00: .4byte gUnknown_02024C08
-_08010B04: .4byte word_2024DB8
+_08010B04: .4byte gBattleWeather
_08010B08: .4byte gUnknown_02024DBC
_08010B0C: .4byte gUnknown_02024C6C
_08010B10: .4byte gUnknown_020239F8
@@ -11323,7 +11323,7 @@ b_first_side: @ 8012FF0
ldrb r3, [r0]
cmp r3, 0x21
bne _0801305C
- ldr r0, _08013074 @ =word_2024DB8
+ ldr r0, _08013074 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x7
ands r0, r1
@@ -11332,7 +11332,7 @@ b_first_side: @ 8012FF0
_0801305C:
cmp r3, 0x22
bne _08013078
- ldr r0, _08013074 @ =word_2024DB8
+ ldr r0, _08013074 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x60
ands r0, r1
@@ -11343,7 +11343,7 @@ _0801306C:
b _0801307A
.align 2, 0
_08013070: .4byte gBattleMons
-_08013074: .4byte word_2024DB8
+_08013074: .4byte gBattleWeather
_08013078:
movs r3, 0x1
_0801307A:
@@ -11357,7 +11357,7 @@ _0801307A:
ldrb r2, [r0]
cmp r2, 0x21
bne _0801309A
- ldr r0, _080130B4 @ =word_2024DB8
+ ldr r0, _080130B4 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x7
ands r0, r1
@@ -11366,7 +11366,7 @@ _0801307A:
_0801309A:
cmp r2, 0x22
bne _080130BA
- ldr r0, _080130B4 @ =word_2024DB8
+ ldr r0, _080130B4 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x60
ands r0, r1
@@ -11377,7 +11377,7 @@ _080130AA:
b _080130BC
.align 2, 0
_080130B0: .4byte gBattleMons
-_080130B4: .4byte word_2024DB8
+_080130B4: .4byte gBattleWeather
_080130B8:
movs r3, 0x1
_080130BA:
@@ -17566,7 +17566,7 @@ _08016318: .4byte gUnknown_081D939A
_0801631C: .4byte 0x02000000
_08016320: .4byte 0x0001600e
_08016324:
- ldr r3, _0801635C @ =word_2024DB8
+ ldr r3, _0801635C @ =gBattleWeather
ldrh r2, [r3]
movs r0, 0x7
ands r0, r2
@@ -17596,7 +17596,7 @@ _08016332:
strb r0, [r1, 0x5]
b _0801639C
.align 2, 0
-_0801635C: .4byte word_2024DB8
+_0801635C: .4byte gBattleWeather
_08016360: .4byte gUnknown_02024DBC
_08016364: .4byte 0x0000fffe
_08016368: .4byte 0x0000fffd
@@ -17633,7 +17633,7 @@ _0801639C:
_080163A0: .4byte gUnknown_02024D1E
_080163A4: .4byte gUnknown_081D8F62
_080163A8:
- ldr r3, _080163DC @ =word_2024DB8
+ ldr r3, _080163DC @ =gBattleWeather
ldrh r2, [r3]
movs r0, 0x18
ands r0, r2
@@ -17660,7 +17660,7 @@ _080163B6:
ldr r0, _080163EC @ =gUnknown_081D8FFF
b _080163F4
.align 2, 0
-_080163DC: .4byte word_2024DB8
+_080163DC: .4byte gBattleWeather
_080163E0: .4byte gUnknown_02024DBC
_080163E4: .4byte 0x0000fff7
_080163E8: .4byte gUnknown_02024C10
@@ -17687,7 +17687,7 @@ _08016414: .4byte 0x02000000
_08016418: .4byte 0x000160a4
_0801641C: .4byte gUnknown_02024D1E
_08016420:
- ldr r3, _08016450 @ =word_2024DB8
+ ldr r3, _08016450 @ =gBattleWeather
ldrh r2, [r3]
movs r0, 0x60
ands r0, r2
@@ -17712,7 +17712,7 @@ _08016420:
ldr r0, _08016460 @ =gUnknown_081D9016
b _08016468
.align 2, 0
-_08016450: .4byte word_2024DB8
+_08016450: .4byte gBattleWeather
_08016454: .4byte gUnknown_02024DBC
_08016458: .4byte 0x0000ffdf
_0801645C: .4byte gUnknown_02024C10
@@ -17741,7 +17741,7 @@ _08016488: .4byte gUnknown_081D9008
_0801648C: .4byte 0x02000000
_08016490: .4byte 0x0001600e
_08016494:
- ldr r3, _080164BC @ =word_2024DB8
+ ldr r3, _080164BC @ =gBattleWeather
ldrh r2, [r3]
movs r0, 0x80
ands r0, r2
@@ -17762,7 +17762,7 @@ _08016494:
ldr r0, _080164CC @ =gUnknown_081D8FFF
b _080164D4
.align 2, 0
-_080164BC: .4byte word_2024DB8
+_080164BC: .4byte gBattleWeather
_080164C0: .4byte gUnknown_02024DBC
_080164C4: .4byte 0x0000ff7f
_080164C8: .4byte gUnknown_02024C10
@@ -21347,7 +21347,7 @@ _0801825C:
movs r0, 0
b _08018314
_08018260:
- ldr r1, _0801831C @ =word_2024DB8
+ ldr r1, _0801831C @ =gBattleWeather
ldrh r0, [r1]
movs r2, 0xE7
ands r2, r0
@@ -21447,7 +21447,7 @@ _08018314:
pop {r1}
bx r1
.align 2, 0
-_0801831C: .4byte word_2024DB8
+_0801831C: .4byte gBattleWeather
_08018320: .4byte gBattleMons
thumb_func_end castform_switch
@@ -21766,7 +21766,7 @@ _080185A4:
.4byte _08018620
.4byte _080185D0
_080185D0:
- ldr r2, _080185EC @ =word_2024DB8
+ ldr r2, _080185EC @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x7
ands r0, r1
@@ -21780,11 +21780,11 @@ _080185D0:
movs r1, 0xA
b _08018638
.align 2, 0
-_080185EC: .4byte word_2024DB8
+_080185EC: .4byte gBattleWeather
_080185F0: .4byte 0x02000000
_080185F4: .4byte 0x000160a4
_080185F8:
- ldr r3, _08018614 @ =word_2024DB8
+ ldr r3, _08018614 @ =gBattleWeather
ldrh r1, [r3]
movs r2, 0x18
adds r0, r2, 0
@@ -21798,11 +21798,11 @@ _080185F8:
movs r1, 0xC
b _08018638
.align 2, 0
-_08018614: .4byte word_2024DB8
+_08018614: .4byte gBattleWeather
_08018618: .4byte 0x02000000
_0801861C: .4byte 0x000160a4
_08018620:
- ldr r3, _08018668 @ =word_2024DB8
+ ldr r3, _08018668 @ =gBattleWeather
ldrh r1, [r3]
movs r2, 0x60
adds r0, r2, 0
@@ -21838,14 +21838,14 @@ _08018656:
bl b_push_move_exec
bl _08019F76
.align 2, 0
-_08018668: .4byte word_2024DB8
+_08018668: .4byte gBattleWeather
_0801866C: .4byte 0x02000000
_08018670: .4byte 0x000160a4
_08018674: .4byte 0x00016003
_08018678: .4byte gUnknown_02024D1E
_0801867C: .4byte gUnknown_081D901D
_08018680:
- ldr r2, _080186A8 @ =word_2024DB8
+ ldr r2, _080186A8 @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x4
ands r0, r1
@@ -21864,12 +21864,12 @@ _08018690:
strb r5, [r0]
bl _08019F22
.align 2, 0
-_080186A8: .4byte word_2024DB8
+_080186A8: .4byte gBattleWeather
_080186AC: .4byte gUnknown_081D9704
_080186B0: .4byte 0x02000000
_080186B4: .4byte 0x00016003
_080186B8:
- ldr r2, _080186E0 @ =word_2024DB8
+ ldr r2, _080186E0 @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x10
ands r0, r1
@@ -21888,12 +21888,12 @@ _080186C8:
strb r2, [r0]
bl _08019F22
.align 2, 0
-_080186E0: .4byte word_2024DB8
+_080186E0: .4byte gBattleWeather
_080186E4: .4byte gUnknown_081D9744
_080186E8: .4byte 0x02000000
_080186EC: .4byte 0x00016003
_080186F0:
- ldr r2, _08018718 @ =word_2024DB8
+ ldr r2, _08018718 @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x40
ands r0, r1
@@ -21912,7 +21912,7 @@ _08018700:
strb r5, [r0]
bl _08019F22
.align 2, 0
-_08018718: .4byte word_2024DB8
+_08018718: .4byte gBattleWeather
_0801871C: .4byte gUnknown_081D97FE
_08018720: .4byte 0x02000000
_08018724: .4byte 0x00016003
@@ -22086,7 +22086,7 @@ _08018876:
beq _0801888E
bl _08019F76
_0801888E:
- ldr r0, _080188D0 @ =word_2024DB8
+ ldr r0, _080188D0 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x7
ands r0, r1
@@ -22118,7 +22118,7 @@ _080188C4:
str r0, [r1]
bl _08019F22
.align 2, 0
-_080188D0: .4byte word_2024DB8
+_080188D0: .4byte gBattleWeather
_080188D4: .4byte gUnknown_081D9730
_080188D8: .4byte gUnknown_02024BEC
_080188DC:
@@ -28938,7 +28938,7 @@ _0801C22E:
lsls r0, 24
cmp r0, 0
bne _0801C27E
- ldr r0, _0801C2A8 @ =word_2024DB8
+ ldr r0, _0801C2A8 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x7
ands r0, r1
@@ -28971,7 +28971,7 @@ _0801C290:
_0801C29C: .4byte 0xfffeffff
_0801C2A0: .4byte 0xfffdffff
_0801C2A4: .4byte 0xfffbffff
-_0801C2A8: .4byte word_2024DB8
+_0801C2A8: .4byte gBattleWeather
_0801C2AC: .4byte gBattleMoves
_0801C2B0:
movs r0, 0
@@ -29197,7 +29197,7 @@ _0801C430:
lsls r0, 24
cmp r0, 0
bne _0801C482
- ldr r0, _0801C574 @ =word_2024DB8
+ ldr r0, _0801C574 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x60
ands r0, r1
@@ -29267,7 +29267,7 @@ _0801C4C0:
ldrb r0, [r0]
cmp r0, 0x8
bne _0801C518
- ldr r0, _0801C574 @ =word_2024DB8
+ ldr r0, _0801C574 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x18
ands r0, r1
@@ -29325,7 +29325,7 @@ _0801C544:
.align 2, 0
_0801C56C: .4byte gUnknown_02024C07
_0801C570: .4byte gBattleMoves
-_0801C574: .4byte word_2024DB8
+_0801C574: .4byte gBattleWeather
_0801C578: .4byte gAccuracyStageRatios
_0801C57C: .4byte gBattleMons
_0801C580: .4byte gUnknown_02024C08
@@ -33722,7 +33722,7 @@ _0801E7EA:
lsls r0, 24
cmp r0, 0
bne _0801E826
- ldr r0, _0801E87C @ =word_2024DB8
+ ldr r0, _0801E87C @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x60
ands r0, r1
@@ -33778,7 +33778,7 @@ _0801E86E:
mov r10, r3
b _0801EA14
.align 2, 0
-_0801E87C: .4byte word_2024DB8
+_0801E87C: .4byte gBattleWeather
_0801E880: .4byte gBattleMons
_0801E884: .4byte gUnknown_02024C0A
_0801E888:
@@ -47354,7 +47354,7 @@ _080256CC: .4byte gUnknown_02024C10
thumb_func_start sub_80256D0
sub_80256D0: @ 80256D0
push {lr}
- ldr r2, _080256F0 @ =word_2024DB8
+ ldr r2, _080256F0 @ =gBattleWeather
ldrh r0, [r2]
movs r1, 0x7
ands r1, r0
@@ -47370,7 +47370,7 @@ sub_80256D0: @ 80256D0
strb r0, [r1, 0x5]
b _0802570C
.align 2, 0
-_080256F0: .4byte word_2024DB8
+_080256F0: .4byte gBattleWeather
_080256F4: .4byte gUnknown_02024C68
_080256F8: .4byte gUnknown_02024D1E
_080256FC:
@@ -50358,7 +50358,7 @@ _08026E90: .4byte gUnknown_02024C10
thumb_func_start sub_8026E94
sub_8026E94: @ 8026E94
push {lr}
- ldr r2, _08026EB4 @ =word_2024DB8
+ ldr r2, _08026EB4 @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x18
ands r0, r1
@@ -50374,7 +50374,7 @@ sub_8026E94: @ 8026E94
strb r0, [r1, 0x5]
b _08026ED2
.align 2, 0
-_08026EB4: .4byte word_2024DB8
+_08026EB4: .4byte gBattleWeather
_08026EB8: .4byte gUnknown_02024C68
_08026EBC: .4byte gUnknown_02024D1E
_08026EC0:
@@ -50428,7 +50428,7 @@ _08026F0A:
beq _08026F20
b _0802701C
_08026F20:
- ldr r2, _08026F94 @ =word_2024DB8
+ ldr r2, _08026F94 @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x18
ands r0, r1
@@ -50486,7 +50486,7 @@ _08026F20:
movs r0, 0x1
b _08026FAC
.align 2, 0
-_08026F94: .4byte word_2024DB8
+_08026F94: .4byte gBattleWeather
_08026F98: .4byte gUnknown_02024C07
_08026F9C: .4byte gBattleMons
_08026FA0: .4byte gUnknown_02024C98
@@ -53030,7 +53030,7 @@ move_weather_interaction: @ 80283B4
adds r3, r1, 0
cmp r0, 0x97
bne _080283D8
- ldr r0, _08028410 @ =word_2024DB8
+ ldr r0, _08028410 @ =gBattleWeather
ldrh r1, [r0]
movs r0, 0x60
ands r0, r1
@@ -53066,7 +53066,7 @@ _080283FA:
b _0802841A
.align 2, 0
_0802840C: .4byte gBattleMoves
-_08028410: .4byte word_2024DB8
+_08028410: .4byte gBattleWeather
_08028414: .4byte gUnknown_02024C6C
_08028418:
movs r0, 0x2
@@ -53325,7 +53325,7 @@ atkAC_remaininghptopower: @ 8028600
movs r2, 0x2C
ldrsh r1, [r1, r2]
movs r2, 0x30
- bl sub_80461D4
+ bl GetScaledHPFraction
lsls r0, 24
lsrs r1, r0, 24
movs r3, 0
@@ -55063,7 +55063,7 @@ _080293E4: .4byte gUnknown_02024C10
thumb_func_start sub_80293E8
sub_80293E8: @ 80293E8
push {lr}
- ldr r2, _08029408 @ =word_2024DB8
+ ldr r2, _08029408 @ =gBattleWeather
ldrh r1, [r2]
movs r0, 0x60
ands r0, r1
@@ -55079,7 +55079,7 @@ sub_80293E8: @ 80293E8
strb r0, [r1, 0x5]
b _08029426
.align 2, 0
-_08029408: .4byte word_2024DB8
+_08029408: .4byte gBattleWeather
_0802940C: .4byte gUnknown_02024C68
_08029410: .4byte gUnknown_02024D1E
_08029414:
@@ -55398,7 +55398,7 @@ atkC0_recoverbasedonsunlight: @ 802967C
ldrh r0, [r0, 0x2C]
cmp r1, r0
beq _0802975C
- ldr r4, _080296F4 @ =word_2024DB8
+ ldr r4, _080296F4 @ =gBattleWeather
ldrh r0, [r4]
cmp r0, 0
beq _080296CE
@@ -55439,7 +55439,7 @@ _080296CE:
_080296E8: .4byte gUnknown_02024C08
_080296EC: .4byte gUnknown_02024C07
_080296F0: .4byte gBattleMons
-_080296F4: .4byte word_2024DB8
+_080296F4: .4byte gBattleWeather
_080296F8: .4byte gUnknown_02024BEC
_080296FC:
ldrh r1, [r4]
@@ -56293,7 +56293,7 @@ _08029DA8: .4byte gUnknown_02024C10
thumb_func_start sub_8029DAC
sub_8029DAC: @ 8029DAC
push {lr}
- ldr r3, _08029DD0 @ =word_2024DB8
+ ldr r3, _08029DD0 @ =gBattleWeather
ldrh r1, [r3]
movs r2, 0x80
adds r0, r2, 0
@@ -56310,7 +56310,7 @@ sub_8029DAC: @ 8029DAC
strb r0, [r1, 0x5]
b _08029DEA
.align 2, 0
-_08029DD0: .4byte word_2024DB8
+_08029DD0: .4byte gBattleWeather
_08029DD4: .4byte gUnknown_02024C68
_08029DD8: .4byte gUnknown_02024D1E
_08029DDC:
@@ -58875,7 +58875,7 @@ sub_802B1C0: @ 802B1C0
lsls r0, 24
cmp r0, 0
bne _0802B276
- ldr r3, _0802B218 @ =word_2024DB8
+ ldr r3, _0802B218 @ =gBattleWeather
ldrb r0, [r3]
ldr r2, _0802B21C @ =0x02000000
cmp r0, 0
@@ -58896,7 +58896,7 @@ _0802B202:
strb r0, [r1]
b _0802B276
.align 2, 0
-_0802B218: .4byte word_2024DB8
+_0802B218: .4byte gBattleWeather
_0802B21C: .4byte 0x02000000
_0802B220: .4byte 0x0001601f
_0802B224: .4byte 0x0001601c
@@ -72968,7 +72968,7 @@ sub_80324F8: @ 80324F8
lsls r1, 16
asrs r1, 16
adds r0, r4, 0
- bl sub_8046200
+ bl GetHPBarLevel
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -73098,7 +73098,7 @@ unref_sub_8032604: @ 8032604
lsls r1, 16
asrs r1, 16
adds r0, r4, 0
- bl sub_8046200
+ bl GetHPBarLevel
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
@@ -82431,7 +82431,7 @@ _080371D0:
mov r0, r10
movs r1, 0x4
movs r2, 0x4
- bl sub_803F1DC
+ bl GetItemEffectParamOffset
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
diff --git a/asm/rom_803D1FC.s b/asm/rom_803D1FC.s
deleted file mode 100644
index e011d3c43..000000000
--- a/asm/rom_803D1FC.s
+++ /dev/null
@@ -1,5839 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ExecuteTableBasedItemEffect_
-ExecuteTableBasedItemEffect_: @ 803E18C
- push {r4,lr}
- sub sp, 0x4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- str r4, [sp]
- bl sub_803E1B0
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ExecuteTableBasedItemEffect_
-
- thumb_func_start sub_803E1B0
-sub_803E1B0: @ 803E1B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- mov r8, r0
- ldr r0, [sp, 0x5C]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xC]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- movs r0, 0x1
- str r0, [sp, 0x1C]
- movs r1, 0x6
- str r1, [sp, 0x24]
- movs r2, 0
- str r2, [sp, 0x2C]
- movs r3, 0x4
- str r3, [sp, 0x34]
- mov r0, r8
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0803E240
- ldr r0, _0803E21C @ =gMain
- ldr r4, _0803E220 @ =0x0000043d
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803E22C
- ldr r2, _0803E224 @ =gEnigmaBerries
- ldr r0, _0803E228 @ =gUnknown_02024E6C
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x7]
- b _0803E248
- .align 2, 0
-_0803E21C: .4byte gMain
-_0803E220: .4byte 0x0000043d
-_0803E224: .4byte gEnigmaBerries
-_0803E228: .4byte gUnknown_02024E6C
-_0803E22C:
- ldr r0, _0803E238 @ =gSaveBlock1
- ldr r5, _0803E23C @ =0x00003688
- adds r0, r5
- ldrb r0, [r0]
- b _0803E248
- .align 2, 0
-_0803E238: .4byte gSaveBlock1
-_0803E23C: .4byte 0x00003688
-_0803E240:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
-_0803E248:
- str r0, [sp, 0x30]
- ldr r1, _0803E2A4 @ =gUnknown_02024C0B
- ldr r0, _0803E2A8 @ =gUnknown_02024E6C
- ldrb r2, [r0]
- strb r2, [r1]
- ldr r0, _0803E2AC @ =gMain
- ldr r1, _0803E2B0 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0803E2E8
- ldr r0, _0803E2B4 @ =gUnknown_02024A60
- strb r2, [r0]
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x18]
- ldr r0, _0803E2B8 @ =gUnknown_02024A68
- ldr r4, [sp, 0x8]
- subs r4, 0xD
- ldrb r0, [r0]
- cmp r1, r0
- bge _0803E2F4
- ldr r2, _0803E2BC @ =gUnknown_02024A6A
- lsls r0, r1, 1
- adds r0, r2
- ldrh r3, [r0]
- ldr r5, [sp, 0xC]
- lsls r0, r5, 16
- lsrs r1, r0, 16
- adds r5, r0, 0
- cmp r3, r1
- bne _0803E2C0
- ldr r0, [sp, 0x18]
- str r0, [sp, 0x34]
- b _0803E2F4
- .align 2, 0
-_0803E2A4: .4byte gUnknown_02024C0B
-_0803E2A8: .4byte gUnknown_02024E6C
-_0803E2AC: .4byte gMain
-_0803E2B0: .4byte 0x0000043d
-_0803E2B4: .4byte gUnknown_02024A60
-_0803E2B8: .4byte gUnknown_02024A68
-_0803E2BC: .4byte gUnknown_02024A6A
-_0803E2C0:
- ldr r1, [sp, 0x18]
- adds r1, 0x2
- str r1, [sp, 0x18]
- ldr r0, _0803E2E4 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bge _0803E2F4
- lsls r0, r1, 1
- adds r0, r2
- ldrh r1, [r0]
- lsrs r0, r5, 16
- cmp r1, r0
- bne _0803E2C0
- ldr r2, [sp, 0x18]
- lsls r0, r2, 24
- lsrs r0, 24
- str r0, [sp, 0x34]
- b _0803E2F4
- .align 2, 0
-_0803E2E4: .4byte gUnknown_02024A68
-_0803E2E8:
- ldr r0, _0803E310 @ =gUnknown_02024A60
- strb r1, [r0]
- movs r3, 0x4
- str r3, [sp, 0x34]
- ldr r4, [sp, 0x8]
- subs r4, 0xD
-_0803E2F4:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xA5
- bhi _0803E36C
- ldr r1, _0803E314 @ =gItemEffectTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0803E318
- ldr r4, [sp, 0x8]
- cmp r4, 0xAF
- beq _0803E31E
- b _0803E36C
- .align 2, 0
-_0803E310: .4byte gUnknown_02024A60
-_0803E314: .4byte gItemEffectTable
-_0803E318:
- ldr r5, [sp, 0x8]
- cmp r5, 0xAF
- bne _0803E372
-_0803E31E:
- ldr r0, _0803E340 @ =gMain
- ldr r1, _0803E344 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803E350
- ldr r0, _0803E348 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0803E34C @ =gUnknown_02024DF8
- adds r0, r1
- b _0803E372
- .align 2, 0
-_0803E340: .4byte gMain
-_0803E344: .4byte 0x0000043d
-_0803E348: .4byte gUnknown_02024A60
-_0803E34C: .4byte gUnknown_02024DF8
-_0803E350:
- ldr r2, _0803E358 @ =gSaveBlock1 + 0x3676
- str r2, [sp, 0x20]
- b _0803E374
- .align 2, 0
-_0803E358: .4byte gSaveBlock1 + 0x3676
-_0803E35C:
- mov r0, r8
- movs r2, 0
- ldr r3, [sp, 0xC]
- bl BeginEvolutionScene
- movs r0, 0
- bl _0803F15C
-_0803E36C:
- movs r0, 0x1
- bl _0803F15C
-_0803E372:
- str r0, [sp, 0x20]
-_0803E374:
- movs r3, 0
- str r3, [sp, 0x18]
-_0803E378:
- ldr r4, [sp, 0x18]
- cmp r4, 0x5
- bls _0803E382
- bl _0803F14C
-_0803E382:
- lsls r0, r4, 2
- ldr r1, _0803E38C @ =_0803E390
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803E38C: .4byte _0803E390
- .align 2, 0
-_0803E390:
- .4byte _0803E3A8
- .4byte _0803E474
- .4byte _0803E508
- .4byte _0803E59C
- .4byte _0803E77C
- .4byte _0803EE1E
-_0803E3A8:
- ldr r5, [sp, 0x20]
- ldr r0, [sp, 0x18]
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0803E3F0
- ldr r0, _0803E460 @ =gMain
- ldr r1, _0803E464 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803E3F0
- ldr r2, [sp, 0x34]
- cmp r2, 0x4
- beq _0803E3F0
- ldr r1, _0803E468 @ =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- beq _0803E3F0
- ldr r0, _0803E46C @ =0xfff0ffff
- ands r1, r0
- str r1, [r2]
- movs r3, 0
- str r3, [sp, 0x1C]
-_0803E3F0:
- ldrb r1, [r6]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0803E41E
- ldr r1, _0803E468 @ =gBattleMons
- ldr r0, _0803E470 @ =gUnknown_02024A60
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 13
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- bne _0803E41E
- orrs r1, r3
- str r1, [r2]
- movs r4, 0
- str r4, [sp, 0x1C]
-_0803E41E:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0803E42C
- bl _0803F14C
-_0803E42C:
- ldr r6, _0803E468 @ =gBattleMons
- ldr r5, _0803E470 @ =gUnknown_02024A60
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x19]
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0803E446
- bl _0803F14C
-_0803E446:
- adds r0, r2, r3
- strb r0, [r1, 0x19]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- bgt _0803E45A
- b _0803E74E
-_0803E45A:
- movs r0, 0xC
- strb r0, [r1, 0x19]
- b _0803E74E
- .align 2, 0
-_0803E460: .4byte gMain
-_0803E464: .4byte 0x0000043d
-_0803E468: .4byte gBattleMons
-_0803E46C: .4byte 0xfff0ffff
-_0803E470: .4byte gUnknown_02024A60
-_0803E474:
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x18]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- lsls r3, r0, 24
- adds r6, r2, 0
- cmp r3, 0
- beq _0803E4BA
- ldr r7, _0803E500 @ =gBattleMons
- ldr r5, _0803E504 @ =gUnknown_02024A60
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r7
- ldrb r2, [r1, 0x1A]
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- bgt _0803E4BA
- lsrs r0, r3, 28
- adds r0, r2, r0
- strb r0, [r1, 0x1A]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r7
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0803E4B6
- movs r0, 0xC
- strb r0, [r1, 0x1A]
-_0803E4B6:
- movs r2, 0
- str r2, [sp, 0x1C]
-_0803E4BA:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0803E4C8
- bl _0803F14C
-_0803E4C8:
- ldr r6, _0803E500 @ =gBattleMons
- ldr r5, _0803E504 @ =gUnknown_02024A60
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x1B]
- movs r0, 0x1B
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0803E4E2
- bl _0803F14C
-_0803E4E2:
- adds r0, r2, r3
- strb r0, [r1, 0x1B]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x1B
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0803E4F8
- movs r0, 0xC
- strb r0, [r1, 0x1B]
-_0803E4F8:
- movs r3, 0
- str r3, [sp, 0x1C]
- bl _0803F14C
- .align 2, 0
-_0803E500: .4byte gBattleMons
-_0803E504: .4byte gUnknown_02024A60
-_0803E508:
- ldr r4, [sp, 0x20]
- ldr r5, [sp, 0x18]
- adds r2, r4, r5
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- lsls r3, r0, 24
- adds r6, r2, 0
- cmp r3, 0
- beq _0803E54E
- ldr r7, _0803E594 @ =gBattleMons
- ldr r5, _0803E598 @ =gUnknown_02024A60
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r7
- ldrb r2, [r1, 0x1E]
- movs r0, 0x1E
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- bgt _0803E54E
- lsrs r0, r3, 28
- adds r0, r2, r0
- strb r0, [r1, 0x1E]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r7
- movs r0, 0x1E
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0803E54A
- movs r0, 0xC
- strb r0, [r1, 0x1E]
-_0803E54A:
- movs r0, 0
- str r0, [sp, 0x1C]
-_0803E54E:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0803E55C
- bl _0803F14C
-_0803E55C:
- ldr r6, _0803E594 @ =gBattleMons
- ldr r5, _0803E598 @ =gUnknown_02024A60
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x1C]
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0803E576
- bl _0803F14C
-_0803E576:
- adds r0, r2, r3
- strb r0, [r1, 0x1C]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0803E58C
- movs r0, 0xC
- strb r0, [r1, 0x1C]
-_0803E58C:
- movs r1, 0
- str r1, [sp, 0x1C]
- bl _0803F14C
- .align 2, 0
-_0803E594: .4byte gBattleMons
-_0803E598: .4byte gUnknown_02024A60
-_0803E59C:
- ldr r3, [sp, 0x20]
- ldr r4, [sp, 0x18]
- adds r2, r3, r4
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0803E5E4
- ldr r5, _0803E758 @ =gUnknown_02024C80
- ldr r4, _0803E75C @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _0803E5E4
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x5
- strb r0, [r1, 0x2]
- movs r5, 0
- str r5, [sp, 0x1C]
-_0803E5E4:
- ldrb r1, [r6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0803E646
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- cmp r0, 0x64
- beq _0803E646
- ldr r5, _0803E760 @ =gExperienceTables
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, 0x1
- lsls r4, 2
- ldr r2, _0803E764 @ =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r1
- adds r4, r0
- adds r4, r5
- ldr r0, [r4]
- str r0, [sp]
- mov r0, r8
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- movs r0, 0
- str r0, [sp, 0x1C]
-_0803E646:
- ldrb r1, [r6]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0803E682
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0x7
- ldr r3, [sp, 0x34]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0803E682
- ldr r1, [sp, 0x34]
- cmp r1, 0x4
- beq _0803E67E
- ldr r1, _0803E768 @ =gBattleMons
- movs r0, 0x58
- ldr r3, [sp, 0x34]
- adds r2, r3, 0
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- ldr r1, _0803E76C @ =0xf7ffffff
- ands r0, r1
- str r0, [r2]
-_0803E67E:
- movs r4, 0
- str r4, [sp, 0x1C]
-_0803E682:
- ldrb r1, [r6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0803E6A2
- ldr r2, _0803E770 @ =0x00000f88
- mov r0, r8
- ldr r1, [sp, 0xC]
- ldr r3, [sp, 0x34]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0803E6A2
- movs r5, 0
- str r5, [sp, 0x1C]
-_0803E6A2:
- ldrb r1, [r6]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0803E6C2
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0x10
- ldr r3, [sp, 0x34]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0803E6C2
- movs r0, 0
- str r0, [sp, 0x1C]
-_0803E6C2:
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0803E6E2
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0x20
- ldr r3, [sp, 0x34]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0803E6E2
- movs r1, 0
- str r1, [sp, 0x1C]
-_0803E6E2:
- ldrb r1, [r6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803E702
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0x40
- ldr r3, [sp, 0x34]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0803E702
- movs r2, 0
- str r2, [sp, 0x1C]
-_0803E702:
- ldrb r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0803E710
- bl _0803F14C
-_0803E710:
- ldr r0, _0803E774 @ =gMain
- ldr r3, _0803E778 @ =0x0000043d
- adds r0, r3
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0803E724
- bl _0803F14C
-_0803E724:
- ldr r4, [sp, 0x34]
- cmp r4, 0x4
- bne _0803E72E
- bl _0803F14C
-_0803E72E:
- ldr r1, _0803E768 @ =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0803E746
- bl _0803F14C
-_0803E746:
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r2]
-_0803E74E:
- movs r5, 0
- str r5, [sp, 0x1C]
- bl _0803F14C
- .align 2, 0
-_0803E758: .4byte gUnknown_02024C80
-_0803E75C: .4byte gUnknown_02024A60
-_0803E760: .4byte gExperienceTables
-_0803E764: .4byte gBaseStats
-_0803E768: .4byte gBattleMons
-_0803E76C: .4byte 0xf7ffffff
-_0803E770: .4byte 0x00000f88
-_0803E774: .4byte gMain
-_0803E778: .4byte 0x0000043d
-_0803E77C:
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x18]
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0x20
- mov r3, r10
- ands r0, r3
- cmp r0, 0
- beq _0803E854
- movs r0, 0xDF
- ands r3, r0
- mov r10, r3
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, _0803E880 @ =gUnknown_08208238
- ldr r4, [sp, 0x10]
- adds r1, r4, r1
- ldrb r1, [r1]
- ands r0, r1
- lsls r1, r4, 1
- lsrs r0, r1
- str r0, [sp]
- adds r5, r4, 0
- adds r5, 0xD
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x10]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r0, [sp]
- cmp r0, 0x2
- bhi _0803E854
- ldr r0, [sp, 0x28]
- cmp r0, 0x4
- bls _0803E854
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, _0803E884 @ =gUnknown_08208240
- ldr r2, [sp, 0x10]
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x15
- mov r2, sp
- bl SetMonData
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [sp, 0x10]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x28]
- subs r0, r3
- str r0, [sp]
- ldr r4, [sp, 0x10]
- adds r4, 0x11
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- movs r4, 0
- str r4, [sp, 0x1C]
-_0803E854:
- movs r5, 0
- str r5, [sp, 0x28]
- mov r0, r10
- cmp r0, 0
- bne _0803E862
- bl _0803F14C
-_0803E862:
- movs r0, 0x1
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- bne _0803E86E
- b _0803EE0A
-_0803E86E:
- ldr r2, [sp, 0x28]
- cmp r2, 0x7
- bls _0803E876
- b _0803EE0A
-_0803E876:
- lsls r0, r2, 2
- ldr r1, _0803E888 @ =_0803E88C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803E880: .4byte gUnknown_08208238
-_0803E884: .4byte gUnknown_08208240
-_0803E888: .4byte _0803E88C
- .align 2, 0
-_0803E88C:
- .4byte _0803E8AC
- .4byte _0803E8AC
- .4byte _0803E934
- .4byte _0803EB5C
- .4byte _0803EE0A
- .4byte _0803EE0A
- .4byte _0803EE0A
- .4byte _0803EDF4
-_0803E8AC:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _0803E8EC @ =0x000001fd
- cmp r5, r0
- bls _0803E8BE
- b _0803E36C
-_0803E8BE:
- ldr r0, _0803E8F0 @ =gUnknown_082082F2
- ldr r3, [sp, 0x28]
- adds r0, r3, r0
- ldrb r1, [r0]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp]
- cmp r1, 0x63
- bls _0803E8D8
- b _0803EE0A
-_0803E8D8:
- ldr r4, [sp, 0x20]
- ldr r2, [sp, 0x24]
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r1, r0
- cmp r1, 0x64
- bls _0803E8F4
- adds r0, 0x64
- subs r4, r0, r1
- b _0803E8F6
- .align 2, 0
-_0803E8EC: .4byte 0x000001fd
-_0803E8F0: .4byte gUnknown_082082F2
-_0803E8F4:
- adds r4, r0, 0
-_0803E8F6:
- adds r1, r5, r4
- movs r0, 0xFF
- lsls r0, 1
- cmp r1, r0
- bls _0803E904
- adds r0, r4, r0
- subs r4, r0, r1
-_0803E904:
- ldr r0, [sp]
- adds r0, r4
- str r0, [sp]
- ldr r0, _0803E930 @ =gUnknown_082082F2
- ldr r3, [sp, 0x28]
- adds r0, r3, r0
- ldrb r1, [r0]
- mov r0, r8
- mov r2, sp
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- ldr r0, [sp, 0x24]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- movs r4, 0
- str r4, [sp, 0x1C]
- b _0803EE0A
- .align 2, 0
-_0803E930: .4byte gUnknown_082082F2
-_0803E934:
- movs r0, 0x10
- mov r5, r10
- ands r0, r5
- cmp r0, 0
- beq _0803E9F4
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0803E954
- ldr r0, [sp, 0x24]
- adds r0, 0x1
- lsls r0, 24
- b _0803EC9E
-_0803E954:
- ldr r0, _0803E99C @ =gMain
- ldr r1, _0803E9A0 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r4, 0x2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803EA0A
- ldr r2, [sp, 0x34]
- cmp r2, 0x4
- beq _0803E9B4
- ldr r2, _0803E9A4 @ =gUnknown_02024C0C
- ldr r1, _0803E9A8 @ =gBitTable
- ldr r3, [sp, 0x34]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r0]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldr r1, _0803E9AC @ =gUnknown_02024A6A
- lsls r0, r3, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, [sp, 0x34]
- bl CopyPlayerPartyMonToBattleData
- ldr r0, _0803E9B0 @ =gUnknown_02024A60
- ldrb r0, [r0]
- b _0803E9CC
- .align 2, 0
-_0803E99C: .4byte gMain
-_0803E9A0: .4byte 0x0000043d
-_0803E9A4: .4byte gUnknown_02024C0C
-_0803E9A8: .4byte gBitTable
-_0803E9AC: .4byte gUnknown_02024A6A
-_0803E9B0: .4byte gUnknown_02024A60
-_0803E9B4:
- ldr r3, _0803E9E4 @ =gUnknown_02024C0C
- ldr r1, _0803E9E8 @ =gBitTable
- ldr r2, _0803E9EC @ =gUnknown_02024A60
- ldrb r0, [r2]
- eors r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldrb r0, [r3]
- bics r0, r1
- strb r0, [r3]
- ldrb r0, [r2]
-_0803E9CC:
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0803EA0A
- ldr r1, _0803E9F0 @ =gUnknown_030042E0
- ldrb r0, [r1, 0x4]
- cmp r0, 0xFE
- bhi _0803EA0A
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0803EA0A
- .align 2, 0
-_0803E9E4: .4byte gUnknown_02024C0C
-_0803E9E8: .4byte gBitTable
-_0803E9EC: .4byte gUnknown_02024A60
-_0803E9F0: .4byte gUnknown_030042E0
-_0803E9F4:
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0803EA0A
- ldr r0, [sp, 0x24]
- adds r0, 0x1
- lsls r0, 24
- b _0803EC9E
-_0803EA0A:
- ldr r1, [sp, 0x24]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- ldr r4, [sp, 0x20]
- adds r1, r4, r1
- ldrb r1, [r1]
- str r1, [sp]
- adds r0, r1, 0
- cmp r0, 0xFE
- beq _0803EA4C
- cmp r0, 0xFE
- bhi _0803EA2C
- cmp r0, 0xFD
- beq _0803EA62
- b _0803EA6C
-_0803EA2C:
- cmp r1, 0xFF
- bne _0803EA6C
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- subs r4, r0
- str r4, [sp]
- b _0803EA6C
-_0803EA4C:
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- lsrs r0, 1
- str r0, [sp]
- cmp r0, 0
- bne _0803EA6C
- movs r0, 0x1
- b _0803EA6A
-_0803EA62:
- ldr r0, _0803EB24 @ =0x02000000
- ldr r5, _0803EB28 @ =0x000160fa
- adds r0, r5
- ldrb r0, [r0]
-_0803EA6A:
- str r0, [sp]
-_0803EA6C:
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- beq _0803EB4C
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _0803EB40
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- cmp r1, r0
- bls _0803EAB8
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- str r0, [sp]
-_0803EAB8:
- mov r0, r8
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- ldr r0, _0803EB2C @ =gMain
- ldr r1, _0803EB30 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803EB48
- ldr r2, [sp, 0x34]
- cmp r2, 0x4
- beq _0803EB48
- ldr r1, _0803EB34 @ =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldr r1, [sp]
- strh r1, [r0, 0x28]
- movs r0, 0x10
- mov r3, r10
- ands r0, r3
- cmp r0, 0
- bne _0803EB48
- ldr r4, _0803EB38 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0803EB48
- ldr r1, _0803EB3C @ =gUnknown_030042E0
- ldrb r0, [r1, 0x3]
- cmp r0, 0xFE
- bhi _0803EB08
- adds r0, 0x1
- strb r0, [r1, 0x3]
-_0803EB08:
- ldrb r5, [r4]
- add r0, sp, 0x34
- ldrb r0, [r0]
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl dp01_build_cmdbuf_x00_a_b_0
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- strb r5, [r4]
- b _0803EB48
- .align 2, 0
-_0803EB24: .4byte 0x02000000
-_0803EB28: .4byte 0x000160fa
-_0803EB2C: .4byte gMain
-_0803EB30: .4byte 0x0000043d
-_0803EB34: .4byte gBattleMons
-_0803EB38: .4byte gUnknown_02024A60
-_0803EB3C: .4byte gUnknown_030042E0
-_0803EB40:
- ldr r1, _0803EB58 @ =gUnknown_02024BEC
- ldr r0, [sp]
- negs r0, r0
- str r0, [r1]
-_0803EB48:
- movs r1, 0
- str r1, [sp, 0x1C]
-_0803EB4C:
- movs r0, 0xEF
- mov r2, r10
- ands r2, r0
- mov r10, r2
- b _0803EE0A
- .align 2, 0
-_0803EB58: .4byte gUnknown_02024BEC
-_0803EB5C:
- movs r7, 0x2
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _0803EB68
- b _0803ECB8
-_0803EB68:
- movs r5, 0
- ldr r3, [sp, 0x24]
- adds r3, 0x1
- str r3, [sp, 0x38]
-_0803EB70:
- movs r4, 0x11
- adds r4, r5
- mov r9, r4
- mov r0, r8
- mov r1, r9
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r7, r5, 0
- adds r7, 0xD
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r5, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- beq _0803EC92
- ldr r2, [sp, 0x20]
- ldr r3, [sp, 0x24]
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r0, r1, r0
- str r0, [sp]
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- bls _0803EC28
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_0803EC28:
- mov r0, r8
- mov r1, r9
- mov r2, sp
- bl SetMonData
- ldr r0, _0803ECA4 @ =gMain
- ldr r4, _0803ECA8 @ =0x0000043d
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803EC8E
- ldr r0, [sp, 0x34]
- cmp r0, 0x4
- beq _0803EC8E
- ldr r4, _0803ECAC @ =gBattleMons
- movs r0, 0x58
- ldr r1, [sp, 0x34]
- adds r3, r1, 0
- muls r3, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 14
- ands r1, r0
- cmp r1, 0
- bne _0803EC8E
- ldr r1, _0803ECB0 @ =gUnknown_02024CA8
- ldr r2, [sp, 0x34]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, _0803ECB4 @ =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0803EC8E
- adds r0, r5, r3
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r1
- ldr r1, [sp]
- strb r1, [r0]
-_0803EC8E:
- movs r3, 0
- str r3, [sp, 0x1C]
-_0803EC92:
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0803EC9A
- b _0803EB70
-_0803EC9A:
- ldr r4, [sp, 0x38]
- lsls r0, r4, 24
-_0803EC9E:
- lsrs r0, 24
- str r0, [sp, 0x24]
- b _0803EE0A
- .align 2, 0
-_0803ECA4: .4byte gMain
-_0803ECA8: .4byte 0x0000043d
-_0803ECAC: .4byte gBattleMons
-_0803ECB0: .4byte gUnknown_02024CA8
-_0803ECB4: .4byte gBitTable
-_0803ECB8:
- ldr r6, [sp, 0x10]
- adds r6, 0x11
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r5, [sp, 0x10]
- adds r5, 0xD
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x10]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp]
- cmp r2, r0
- bne _0803ED00
- b _0803EE0A
-_0803ED00:
- ldr r1, [sp, 0x24]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- ldr r0, [sp, 0x20]
- adds r1, r0, r1
- ldrb r0, [r1]
- adds r0, r2, r0
- str r0, [sp]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x10]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- bls _0803ED74
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x10]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_0803ED74:
- mov r0, r8
- adds r1, r6, 0
- mov r2, sp
- bl SetMonData
- ldr r0, _0803EDE0 @ =gMain
- ldr r1, _0803EDE4 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0803EDD8
- ldr r2, [sp, 0x34]
- cmp r2, 0x4
- beq _0803EDD8
- ldr r4, _0803EDE8 @ =gBattleMons
- movs r0, 0x58
- adds r3, r2, 0
- muls r3, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0803EDD8
- ldr r1, _0803EDEC @ =gUnknown_02024CA8
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, _0803EDF0 @ =gBitTable
- ldr r5, [sp, 0x10]
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0803EDD8
- adds r0, r5, r3
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r1
- ldr r1, [sp]
- strb r1, [r0]
-_0803EDD8:
- movs r0, 0
- str r0, [sp, 0x1C]
- b _0803EE0A
- .align 2, 0
-_0803EDE0: .4byte gMain
-_0803EDE4: .4byte 0x0000043d
-_0803EDE8: .4byte gBattleMons
-_0803EDEC: .4byte gUnknown_02024CA8
-_0803EDF0: .4byte gBitTable
-_0803EDF4:
- mov r0, r8
- movs r1, 0x2
- ldr r2, [sp, 0x8]
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0803EE0A
- bl _0803E35C
-_0803EE0A:
- ldr r1, [sp, 0x28]
- adds r1, 0x1
- str r1, [sp, 0x28]
- mov r2, r10
- lsrs r2, 1
- mov r10, r2
- cmp r2, 0
- beq _0803EE1C
- b _0803E862
-_0803EE1C:
- b _0803F14C
-_0803EE1E:
- ldr r3, [sp, 0x20]
- ldr r4, [sp, 0x18]
- adds r0, r3, r4
- ldrb r0, [r0]
- mov r10, r0
- movs r5, 0
- str r5, [sp, 0x28]
- cmp r0, 0
- bne _0803EE32
- b _0803F14C
-_0803EE32:
- movs r0, 0x1
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- bne _0803EE3E
- b _0803F13A
-_0803EE3E:
- ldr r2, [sp, 0x28]
- cmp r2, 0x7
- bls _0803EE46
- b _0803F13A
-_0803EE46:
- lsls r0, r2, 2
- ldr r1, _0803EE50 @ =_0803EE54
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803EE50: .4byte _0803EE54
- .align 2, 0
-_0803EE54:
- .4byte _0803EE74
- .4byte _0803EE74
- .4byte _0803EE74
- .4byte _0803EE74
- .4byte _0803EEF8
- .4byte _0803EFCC
- .4byte _0803F026
- .4byte _0803F07C
-_0803EE74:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _0803EEBC @ =0x000001fd
- cmp r5, r0
- bls _0803EE88
- bl _0803E36C
-_0803EE88:
- ldr r0, _0803EEC0 @ =gUnknown_082082F2
- ldr r4, [sp, 0x28]
- adds r4, 0x2
- adds r0, r4, r0
- ldrb r1, [r0]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp]
- adds r2, r4, 0
- cmp r1, 0x63
- bls _0803EEA6
- b _0803F13A
-_0803EEA6:
- ldr r3, [sp, 0x20]
- ldr r4, [sp, 0x24]
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r1, r0
- cmp r1, 0x64
- bls _0803EEC4
- adds r0, 0x64
- subs r4, r0, r1
- b _0803EEC6
- .align 2, 0
-_0803EEBC: .4byte 0x000001fd
-_0803EEC0: .4byte gUnknown_082082F2
-_0803EEC4:
- adds r4, r0, 0
-_0803EEC6:
- adds r1, r5, r4
- movs r0, 0xFF
- lsls r0, 1
- cmp r1, r0
- bls _0803EED4
- adds r0, r4, r0
- subs r4, r0, r1
-_0803EED4:
- ldr r0, [sp]
- adds r0, r4
- str r0, [sp]
- ldr r0, _0803EEF4 @ =gUnknown_082082F2
- adds r0, r2, r0
- ldrb r1, [r0]
- mov r0, r8
- mov r2, sp
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- movs r5, 0
- str r5, [sp, 0x1C]
- b _0803F130
- .align 2, 0
-_0803EEF4: .4byte gUnknown_082082F2
-_0803EEF8:
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, _0803EFC0 @ =gUnknown_08208238
- ldr r2, [sp, 0x10]
- adds r1, r2, r1
- ldrb r1, [r1]
- ands r0, r1
- lsls r1, r2, 1
- lsrs r0, r1
- str r0, [sp]
- cmp r0, 0x2
- bls _0803EF18
- b _0803F13A
-_0803EF18:
- adds r5, r2, 0
- adds r5, 0xD
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x10]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r1, _0803EFC4 @ =gUnknown_0820823C
- ldr r3, [sp, 0x10]
- adds r1, r3, r1
- ldrb r2, [r1]
- ands r2, r0
- str r2, [sp]
- ldr r0, _0803EFC8 @ =gUnknown_08208240
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r2, r0
- str r2, [sp]
- mov r0, r8
- movs r1, 0x15
- mov r2, sp
- bl SetMonData
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [sp, 0x10]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- subs r0, r4
- str r0, [sp]
- ldr r4, [sp, 0x10]
- adds r4, 0x11
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- movs r4, 0
- str r4, [sp, 0x1C]
- b _0803F13A
- .align 2, 0
-_0803EFC0: .4byte gUnknown_08208238
-_0803EFC4: .4byte gUnknown_0820823C
-_0803EFC8: .4byte gUnknown_08208240
-_0803EFCC:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bls _0803EFDC
- b _0803F130
-_0803EFDC:
- ldr r5, [sp, 0x1C]
- cmp r5, 0
- beq _0803EFE4
- b _0803F130
-_0803EFE4:
- ldr r0, [sp, 0x2C]
- cmp r0, 0
- beq _0803EFEC
- b _0803F130
-_0803EFEC:
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x24]
- adds r0, r1, r2
- ldrb r0, [r0]
- str r0, [sp, 0x2C]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- str r5, [sp, 0x4]
- ldr r3, [sp, 0x2C]
- lsls r4, r3, 24
- asrs r1, r4, 24
- cmp r1, 0
- ble _0803F0D0
- ldr r0, [sp, 0x30]
- cmp r0, 0x1B
- bne _0803F0D0
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, r5, r0
- str r0, [sp, 0x4]
- adds r2, r4, 0
- b _0803F0DC
-_0803F026:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bls _0803F130
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bhi _0803F130
- ldr r2, [sp, 0x1C]
- cmp r2, 0
- bne _0803F130
- ldr r3, [sp, 0x2C]
- cmp r3, 0
- bne _0803F130
- ldr r4, [sp, 0x20]
- ldr r5, [sp, 0x24]
- adds r0, r4, r5
- ldrb r0, [r0]
- str r0, [sp, 0x2C]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- str r4, [sp, 0x4]
- ldr r0, [sp, 0x2C]
- lsls r5, r0, 24
- asrs r1, r5, 24
- cmp r1, 0
- ble _0803F076
- ldr r2, [sp, 0x30]
- cmp r2, 0x1B
- beq _0803F0BE
-_0803F076:
- ldr r3, [sp, 0x2C]
- lsls r2, r3, 24
- b _0803F0D4
-_0803F07C:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bls _0803F130
- ldr r4, [sp, 0x1C]
- cmp r4, 0
- bne _0803F130
- ldr r5, [sp, 0x2C]
- cmp r5, 0
- bne _0803F130
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x24]
- adds r0, r1, r2
- ldrb r0, [r0]
- str r0, [sp, 0x2C]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- str r4, [sp, 0x4]
- ldr r3, [sp, 0x2C]
- lsls r5, r3, 24
- asrs r1, r5, 24
- cmp r1, 0
- ble _0803F0D0
- ldr r0, [sp, 0x30]
- cmp r0, 0x1B
- bne _0803F0D0
-_0803F0BE:
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, r4, r0
- str r0, [sp, 0x4]
- adds r2, r5, 0
- b _0803F0DC
-_0803F0D0:
- ldr r1, [sp, 0x2C]
- lsls r2, r1, 24
-_0803F0D4:
- asrs r1, r2, 24
- ldr r0, [sp, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
-_0803F0DC:
- cmp r2, 0
- ble _0803F112
- mov r0, r8
- movs r1, 0x26
- movs r2, 0
- bl GetMonData
- cmp r0, 0xB
- bne _0803F0F4
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
-_0803F0F4:
- mov r0, r8
- movs r1, 0x23
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- bl sav1_map_get_name
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0803F112
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
-_0803F112:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bge _0803F11C
- movs r0, 0
- str r0, [sp, 0x4]
-_0803F11C:
- ldr r0, [sp, 0x4]
- cmp r0, 0xFF
- ble _0803F126
- movs r0, 0xFF
- str r0, [sp, 0x4]
-_0803F126:
- add r2, sp, 0x4
- mov r0, r8
- movs r1, 0x20
- bl SetMonData
-_0803F130:
- ldr r0, [sp, 0x24]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
-_0803F13A:
- ldr r2, [sp, 0x28]
- adds r2, 0x1
- str r2, [sp, 0x28]
- mov r3, r10
- lsrs r3, 1
- mov r10, r3
- cmp r3, 0
- beq _0803F14C
- b _0803EE32
-_0803F14C:
- ldr r4, [sp, 0x18]
- adds r4, 0x1
- str r4, [sp, 0x18]
- cmp r4, 0x5
- bgt _0803F15A
- bl _0803E378
-_0803F15A:
- ldr r0, [sp, 0x1C]
-_0803F15C:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803E1B0
-
- thumb_func_start HealStatusConditions
-HealStatusConditions: @ 803F16C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r2, 0
- lsls r3, 24
- lsrs r6, r3, 24
- movs r1, 0x37
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp]
- ands r0, r4
- cmp r0, 0
- beq _0803F1D0
- mvns r4, r4
- ands r1, r4
- str r1, [sp]
- adds r0, r5, 0
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- ldr r0, _0803F1C4 @ =gMain
- ldr r1, _0803F1C8 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803F1BE
- cmp r6, 0x4
- beq _0803F1BE
- ldr r0, _0803F1CC @ =gBattleMons
- movs r1, 0x58
- muls r1, r6
- adds r0, 0x4C
- adds r1, r0
- ldr r0, [r1]
- ands r0, r4
- str r0, [r1]
-_0803F1BE:
- movs r0, 0
- b _0803F1D2
- .align 2, 0
-_0803F1C4: .4byte gMain
-_0803F1C8: .4byte 0x0000043d
-_0803F1CC: .4byte gBattleMons
-_0803F1D0:
- movs r0, 0x1
-_0803F1D2:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end HealStatusConditions
-
- thumb_func_start sub_803F1DC
-sub_803F1DC: @ 803F1DC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r7, 0x6
- ldr r1, _0803F204 @ =gItemEffectTable
- adds r0, r3, 0
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0803F208
- cmp r3, 0xAF
- beq _0803F20C
-_0803F200:
- movs r0, 0
- b _0803F31C
- .align 2, 0
-_0803F204: .4byte gItemEffectTable
-_0803F208:
- cmp r3, 0xAF
- bne _0803F21A
-_0803F20C:
- ldr r0, _0803F22C @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0803F230 @ =gUnknown_02024DF8
- adds r0, r1
-_0803F21A:
- mov r12, r0
- movs r2, 0
-_0803F21E:
- cmp r2, 0x4
- beq _0803F23E
- cmp r2, 0x4
- ble _0803F234
- cmp r2, 0x5
- beq _0803F2C8
- b _0803F312
- .align 2, 0
-_0803F22C: .4byte gUnknown_02024A60
-_0803F230: .4byte gUnknown_02024DF8
-_0803F234:
- cmp r2, 0
- blt _0803F312
- cmp r2, r4
- bne _0803F312
- b _0803F200
-_0803F23E:
- mov r0, r12
- ldrb r3, [r0, 0x4]
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _0803F24E
- movs r0, 0xDF
- ands r3, r0
-_0803F24E:
- movs r6, 0
- cmp r3, 0
- beq _0803F312
-_0803F254:
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0803F2B4
- cmp r6, 0x7
- bhi _0803F2B4
- lsls r0, r6, 2
- ldr r1, _0803F26C @ =_0803F270
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803F26C: .4byte _0803F270
- .align 2, 0
-_0803F270:
- .4byte _0803F29C
- .4byte _0803F29C
- .4byte _0803F290
- .4byte _0803F29C
- .4byte _0803F2B4
- .4byte _0803F2B4
- .4byte _0803F2B4
- .4byte _0803F2B0
-_0803F290:
- movs r0, 0x10
- ands r0, r3
- cmp r0, 0
- beq _0803F29C
- movs r0, 0xEF
- ands r3, r0
-_0803F29C:
- cmp r2, r4
- bne _0803F2A8
- adds r0, r3, 0
- ands r0, r5
- cmp r0, 0
- bne _0803F31A
-_0803F2A8:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- b _0803F2B4
-_0803F2B0:
- cmp r2, r4
- beq _0803F200
-_0803F2B4:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- lsrs r3, 1
- cmp r2, r4
- bne _0803F2C2
- lsrs r5, 1
-_0803F2C2:
- cmp r3, 0
- bne _0803F254
- b _0803F312
-_0803F2C8:
- mov r0, r12
- ldrb r3, [r0, 0x5]
- movs r6, 0
-_0803F2CE:
- cmp r3, 0
- beq _0803F312
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0803F302
- cmp r6, 0
- blt _0803F302
- cmp r6, 0x6
- ble _0803F2E8
- cmp r6, 0x7
- beq _0803F2FC
- b _0803F302
-_0803F2E8:
- cmp r2, r4
- bne _0803F2F4
- adds r0, r3, 0
- ands r0, r5
- cmp r0, 0
- bne _0803F31A
-_0803F2F4:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- b _0803F302
-_0803F2FC:
- cmp r2, r4
- bne _0803F302
- b _0803F200
-_0803F302:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- lsrs r3, 1
- cmp r2, r4
- bne _0803F2CE
- lsrs r5, 1
- b _0803F2CE
-_0803F312:
- adds r2, 0x1
- cmp r2, 0x5
- bgt _0803F31A
- b _0803F21E
-_0803F31A:
- adds r0, r7, 0
-_0803F31C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803F1DC
-
- thumb_func_start sub_803F324
-sub_803F324: @ 803F324
- push {lr}
- ldr r2, _0803F358 @ =gUnknown_02024C08
- ldr r1, _0803F35C @ =gUnknown_02024E6C
- ldrb r1, [r1]
- strb r1, [r2]
- ldr r3, _0803F360 @ =gUnknown_030041C0
- ldr r2, _0803F364 @ =gUnknown_08400F58
- ldr r1, _0803F368 @ =gUnknown_082082F8
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0]
- adds r0, r3, 0
- bl StringCopy
- ldr r0, _0803F36C @ =gUnknown_03004290
- ldr r1, _0803F370 @ =gUnknown_083FFDB3
- bl StringCopy
- ldr r0, _0803F374 @ =gUnknown_083FFDD3
- bl get_battle_strings_
- pop {r0}
- bx r0
- .align 2, 0
-_0803F358: .4byte gUnknown_02024C08
-_0803F35C: .4byte gUnknown_02024E6C
-_0803F360: .4byte gUnknown_030041C0
-_0803F364: .4byte gUnknown_08400F58
-_0803F368: .4byte gUnknown_082082F8
-_0803F36C: .4byte gUnknown_03004290
-_0803F370: .4byte gUnknown_083FFDB3
-_0803F374: .4byte gUnknown_083FFDD3
- thumb_func_end sub_803F324
-
- thumb_func_start sub_803F378
-sub_803F378: @ 803F378
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0803F3C0
- ldr r0, _0803F3A8 @ =gMain
- ldr r1, _0803F3AC @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803F3B8
- ldr r2, _0803F3B0 @ =gUnknown_02024E6C
- ldrb r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0803F3B4 @ =gUnknown_02024DF8
- adds r7, r0, r1
- b _0803F3CC
- .align 2, 0
-_0803F3A8: .4byte gMain
-_0803F3AC: .4byte 0x0000043d
-_0803F3B0: .4byte gUnknown_02024E6C
-_0803F3B4: .4byte gUnknown_02024DF8
-_0803F3B8:
- ldr r7, _0803F3BC @ =gSaveBlock1 + 0x3676
- b _0803F3CA
- .align 2, 0
-_0803F3BC: .4byte gSaveBlock1 + 0x3676
-_0803F3C0:
- ldr r1, _0803F404 @ =gItemEffectTable
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r7, [r0]
-_0803F3CA:
- ldr r2, _0803F408 @ =gUnknown_02024E6C
-_0803F3CC:
- ldr r1, _0803F40C @ =gUnknown_02024C0B
- ldrb r0, [r2]
- strb r0, [r1]
- movs r5, 0
- ldr r0, _0803F410 @ =gUnknown_02024C07
- mov r8, r0
- movs r6, 0
-_0803F3DA:
- adds r4, r7, r5
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _0803F3EC
- adds r0, r6, 0
- bl sub_803F324
-_0803F3EC:
- ldrb r1, [r4]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _0803F422
- cmp r5, 0
- beq _0803F414
- adds r0, r6, 0x1
- bl sub_803F324
- b _0803F422
- .align 2, 0
-_0803F404: .4byte gItemEffectTable
-_0803F408: .4byte gUnknown_02024E6C
-_0803F40C: .4byte gUnknown_02024C0B
-_0803F410: .4byte gUnknown_02024C07
-_0803F414:
- ldr r0, _0803F450 @ =gUnknown_02024E6C
- ldrb r0, [r0]
- mov r1, r8
- strb r0, [r1]
- ldr r0, _0803F454 @ =gUnknown_083FEE92
- bl get_battle_strings_
-_0803F422:
- adds r6, 0x2
- adds r5, 0x1
- cmp r5, 0x2
- ble _0803F3DA
- ldrb r1, [r7, 0x3]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0803F442
- ldr r1, _0803F458 @ =gUnknown_02024C07
- ldr r0, _0803F450 @ =gUnknown_02024E6C
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, _0803F45C @ =gUnknown_083FEE5D
- bl get_battle_strings_
-_0803F442:
- ldr r0, _0803F460 @ =gUnknown_020238CC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803F450: .4byte gUnknown_02024E6C
-_0803F454: .4byte gUnknown_083FEE92
-_0803F458: .4byte gUnknown_02024C07
-_0803F45C: .4byte gUnknown_083FEE5D
-_0803F460: .4byte gUnknown_020238CC
- thumb_func_end sub_803F378
-
- thumb_func_start GetNature
-GetNature: @ 803F464
- push {lr}
- movs r1, 0
- movs r2, 0
- bl GetMonData
- movs r1, 0x19
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetNature
-
- thumb_func_start GetNatureFromPersonality
-GetNatureFromPersonality: @ 803F47C
- push {lr}
- movs r1, 0x19
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetNatureFromPersonality
-
- thumb_func_start GetEvolutionTargetSpecies
-GetEvolutionTargetSpecies: @ 803F48C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r8, r0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- movs r0, 0
- mov r10, r0
- mov r0, r8
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- mov r0, r8
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- mov r0, r8
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x17
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- lsrs r4, 16
- str r4, [sp, 0x10]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0xAF
- bne _0803F500
- ldr r0, _0803F4F8 @ =gSaveBlock1
- ldr r1, _0803F4FC @ =0x00003688
- adds r0, r1
- ldrb r0, [r0]
- b _0803F508
- .align 2, 0
-_0803F4F8: .4byte gSaveBlock1
-_0803F4FC: .4byte 0x00003688
-_0803F500:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
-_0803F508:
- cmp r0, 0x26
- bne _0803F514
- cmp r5, 0x3
- beq _0803F514
- movs r0, 0
- b _0803F7A4
-_0803F514:
- cmp r5, 0x1
- bne _0803F51A
- b _0803F734
-_0803F51A:
- cmp r5, 0x1
- bgt _0803F524
- cmp r5, 0
- beq _0803F538
- b _0803F7A2
-_0803F524:
- cmp r5, 0x3
- ble _0803F52A
- b _0803F7A2
-_0803F52A:
- movs r2, 0
- str r2, [sp, 0x4]
- ldr r3, _0803F534 @ =gEvolutionTable
- lsls r6, r7, 2
- b _0803F782
- .align 2, 0
-_0803F534: .4byte gEvolutionTable
-_0803F538:
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r6, r7, 2
-_0803F55E:
- ldr r1, _0803F584 @ =gEvolutionTable
- ldr r0, [sp, 0x4]
- lsls r2, r0, 3
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r2, r0
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- adds r3, r1, 0
- adds r4, r2, 0
- cmp r0, 0xE
- bls _0803F57A
- b _0803F726
-_0803F57A:
- lsls r0, 2
- ldr r1, _0803F588 @ =_0803F58C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803F584: .4byte gEvolutionTable
-_0803F588: .4byte _0803F58C
- .align 2, 0
-_0803F58C:
- .4byte _0803F5C8
- .4byte _0803F5DA
- .4byte _0803F5FC
- .4byte _0803F62C
- .4byte _0803F726
- .4byte _0803F726
- .4byte _0803F726
- .4byte _0803F63C
- .4byte _0803F666
- .4byte _0803F690
- .4byte _0803F6BE
- .4byte _0803F6DE
- .4byte _0803F702
- .4byte _0803F726
- .4byte _0803F712
-_0803F5C8:
- ldr r1, [sp, 0x8]
- cmp r1, 0xDB
- bhi _0803F5D0
- b _0803F726
-_0803F5D0:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r0, r3
- b _0803F61C
-_0803F5DA:
- bl RtcCalcLocalTime
- ldr r0, _0803F5F8 @ =gLocalTime
- ldrb r0, [r0, 0x2]
- subs r0, 0xC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bls _0803F5EE
- b _0803F726
-_0803F5EE:
- ldr r2, [sp, 0x8]
- cmp r2, 0xDB
- bhi _0803F5F6
- b _0803F726
-_0803F5F6:
- b _0803F612
- .align 2, 0
-_0803F5F8: .4byte gLocalTime
-_0803F5FC:
- bl RtcCalcLocalTime
- ldr r0, _0803F624 @ =gLocalTime
- ldrb r0, [r0, 0x2]
- cmp r0, 0xB
- bls _0803F60A
- b _0803F726
-_0803F60A:
- ldr r0, [sp, 0x8]
- cmp r0, 0xDB
- bhi _0803F612
- b _0803F726
-_0803F612:
- ldr r1, _0803F628 @ =gEvolutionTable
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r0, r1
-_0803F61C:
- ldrh r0, [r0, 0x4]
- mov r10, r0
- b _0803F726
- .align 2, 0
-_0803F624: .4byte gLocalTime
-_0803F628: .4byte gEvolutionTable
-_0803F62C:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r1, r0, r3
- ldrh r0, [r1, 0x2]
- cmp r0, r9
- bhi _0803F726
- b _0803F722
-_0803F63C:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r5, r0, r3
- ldrh r0, [r5, 0x2]
- cmp r0, r9
- bhi _0803F726
- mov r0, r8
- movs r1, 0x3B
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x3C
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bls _0803F726
- b _0803F6B8
-_0803F666:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r5, r0, r3
- ldrh r0, [r5, 0x2]
- cmp r0, r9
- bhi _0803F726
- mov r0, r8
- movs r1, 0x3B
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x3C
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bne _0803F726
- b _0803F6B8
-_0803F690:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r5, r0, r3
- ldrh r0, [r5, 0x2]
- cmp r0, r9
- bhi _0803F726
- mov r0, r8
- movs r1, 0x3B
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x3C
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bcs _0803F726
-_0803F6B8:
- ldrh r5, [r5, 0x4]
- mov r10, r5
- b _0803F726
-_0803F6BE:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r4, r0, r3
- ldrh r0, [r4, 0x2]
- cmp r0, r9
- bhi _0803F726
- ldr r0, [sp, 0x10]
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _0803F726
- b _0803F6FC
-_0803F6DE:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r4, r0, r3
- ldrh r0, [r4, 0x2]
- cmp r0, r9
- bhi _0803F726
- ldr r0, [sp, 0x10]
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bls _0803F726
-_0803F6FC:
- ldrh r4, [r4, 0x4]
- mov r10, r4
- b _0803F726
-_0803F702:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r1, r0, r3
- ldrh r0, [r1, 0x2]
- cmp r0, r9
- bhi _0803F726
- b _0803F722
-_0803F712:
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r4, r0
- adds r1, r0, r3
- ldrh r0, [r1, 0x2]
- ldr r2, [sp, 0xC]
- cmp r0, r2
- bhi _0803F726
-_0803F722:
- ldrh r1, [r1, 0x4]
- mov r10, r1
-_0803F726:
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
- cmp r0, 0x4
- bgt _0803F732
- b _0803F55E
-_0803F732:
- b _0803F7A2
-_0803F734:
- lsls r6, r7, 2
- ldr r1, _0803F778 @ =gEvolutionTable
- adds r0, r6, r7
- lsls r0, 3
- adds r4, r0, r1
- mov r5, sp
- movs r1, 0x4
- str r1, [sp, 0x4]
-_0803F744:
- ldrh r0, [r4]
- cmp r0, 0x5
- beq _0803F764
- cmp r0, 0x6
- bne _0803F768
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5]
- cmp r0, r1
- bne _0803F768
- movs r0, 0
- strh r0, [r5]
- mov r0, r8
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_0803F764:
- ldrh r2, [r4, 0x4]
- mov r10, r2
-_0803F768:
- adds r4, 0x8
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- str r0, [sp, 0x4]
- cmp r0, 0
- bge _0803F744
- b _0803F7A2
- .align 2, 0
-_0803F778: .4byte gEvolutionTable
-_0803F77C:
- ldrh r1, [r1, 0x4]
- mov r10, r1
- b _0803F7A2
-_0803F782:
- adds r0, r6, r7
- ldr r1, [sp, 0x4]
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, 0x7
- bne _0803F798
- ldrh r0, [r1, 0x2]
- cmp r0, r9
- beq _0803F77C
-_0803F798:
- ldr r2, [sp, 0x4]
- adds r2, 0x1
- str r2, [sp, 0x4]
- cmp r2, 0x4
- ble _0803F782
-_0803F7A2:
- mov r0, r10
-_0803F7A4:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetEvolutionTargetSpecies
-
- thumb_func_start HoennPokedexNumToSpecies
-HoennPokedexNumToSpecies: @ 803F7B4
- push {r4,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0803F7F8
- movs r1, 0
- ldr r3, _0803F7F0 @ =gSpeciesToHoennPokedexNum
- ldrh r0, [r3]
- cmp r0, r2
- beq _0803F7E0
- movs r4, 0xCD
- lsls r4, 1
-_0803F7CC:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bhi _0803F7E0
- lsls r0, r1, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _0803F7CC
-_0803F7E0:
- ldr r0, _0803F7F4 @ =0x0000019b
- cmp r1, r0
- beq _0803F7F8
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- b _0803F7FA
- .align 2, 0
-_0803F7F0: .4byte gSpeciesToHoennPokedexNum
-_0803F7F4: .4byte 0x0000019b
-_0803F7F8:
- movs r0, 0
-_0803F7FA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end HoennPokedexNumToSpecies
-
- thumb_func_start NationalPokedexNumToSpecies
-NationalPokedexNumToSpecies: @ 803F800
- push {r4,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0803F844
- movs r1, 0
- ldr r3, _0803F83C @ =gSpeciesToNationalPokedexNum
- ldrh r0, [r3]
- cmp r0, r2
- beq _0803F82C
- movs r4, 0xCD
- lsls r4, 1
-_0803F818:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bhi _0803F82C
- lsls r0, r1, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _0803F818
-_0803F82C:
- ldr r0, _0803F840 @ =0x0000019b
- cmp r1, r0
- beq _0803F844
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- b _0803F846
- .align 2, 0
-_0803F83C: .4byte gSpeciesToNationalPokedexNum
-_0803F840: .4byte 0x0000019b
-_0803F844:
- movs r0, 0
-_0803F846:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end NationalPokedexNumToSpecies
-
- thumb_func_start NationalToHoennOrder
-NationalToHoennOrder: @ 803F84C
- push {r4,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0803F890
- movs r1, 0
- ldr r3, _0803F888 @ =gHoennToNationalOrder
- ldrh r0, [r3]
- cmp r0, r2
- beq _0803F878
- movs r4, 0xCD
- lsls r4, 1
-_0803F864:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bhi _0803F878
- lsls r0, r1, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _0803F864
-_0803F878:
- ldr r0, _0803F88C @ =0x0000019b
- cmp r1, r0
- beq _0803F890
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- b _0803F892
- .align 2, 0
-_0803F888: .4byte gHoennToNationalOrder
-_0803F88C: .4byte 0x0000019b
-_0803F890:
- movs r0, 0
-_0803F892:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end NationalToHoennOrder
-
- thumb_func_start SpeciesToNationalPokedexNum
-SpeciesToNationalPokedexNum: @ 803F898
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0803F8B4
- ldr r0, _0803F8B0 @ =gSpeciesToNationalPokedexNum
- subs r1, 0x1
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- b _0803F8B6
- .align 2, 0
-_0803F8B0: .4byte gSpeciesToNationalPokedexNum
-_0803F8B4:
- movs r0, 0
-_0803F8B6:
- pop {r1}
- bx r1
- thumb_func_end SpeciesToNationalPokedexNum
-
- thumb_func_start SpeciesToHoennPokedexNum
-SpeciesToHoennPokedexNum: @ 803F8BC
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0803F8D8
- ldr r0, _0803F8D4 @ =gSpeciesToHoennPokedexNum
- subs r1, 0x1
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- b _0803F8DA
- .align 2, 0
-_0803F8D4: .4byte gSpeciesToHoennPokedexNum
-_0803F8D8:
- movs r0, 0
-_0803F8DA:
- pop {r1}
- bx r1
- thumb_func_end SpeciesToHoennPokedexNum
-
- thumb_func_start HoennToNationalOrder
-HoennToNationalOrder: @ 803F8E0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0803F8FC
- ldr r0, _0803F8F8 @ =gHoennToNationalOrder
- subs r1, 0x1
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- b _0803F8FE
- .align 2, 0
-_0803F8F8: .4byte gHoennToNationalOrder
-_0803F8FC:
- movs r0, 0
-_0803F8FE:
- pop {r1}
- bx r1
- thumb_func_end HoennToNationalOrder
-
- thumb_func_start SpeciesToCryId
-SpeciesToCryId: @ 803F904
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0xFA
- bls _0803F932
- ldr r0, _0803F924 @ =0x00000113
- cmp r1, r0
- bls _0803F930
- ldr r0, _0803F928 @ =gSpeciesIdToCryId
- ldr r2, _0803F92C @ =0xfffffeec
- adds r1, r2
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- b _0803F932
- .align 2, 0
-_0803F924: .4byte 0x00000113
-_0803F928: .4byte gSpeciesIdToCryId
-_0803F92C: .4byte 0xfffffeec
-_0803F930:
- movs r0, 0xC8
-_0803F932:
- pop {r1}
- bx r1
- thumb_func_end SpeciesToCryId
-
- thumb_func_start unref_sub_803F938
-unref_sub_803F938: @ 803F938
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r1, 0
- mov r10, r2
- lsls r0, 16
- movs r1, 0x9A
- lsls r1, 17
- cmp r0, r1
- bne _0803FA42
- ldr r1, _0803FA04 @ =gUnknown_081FAF4C
- ldr r0, [r1]
- cmp r10, r0
- beq _0803FA42
- ldr r0, [r1, 0x8]
- cmp r10, r0
- beq _0803FA42
- movs r6, 0
-_0803F962:
- lsls r3, r6, 3
- adds r3, r6
- lsls r3, 2
- ldr r0, _0803FA08 @ =gSpindaSpotGraphics
- adds r4, r3, r0
- ldrb r1, [r4]
- adds r1, 0xF8
- movs r2, 0xF
- adds r0, r5, 0
- ands r0, r2
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- ldrb r1, [r4, 0x1]
- adds r1, 0xF8
- movs r0, 0xF0
- ands r0, r5
- lsrs r0, 4
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- lsrs r5, 8
- str r5, [sp, 0x4]
- adds r6, 0x1
- str r6, [sp]
- mov r9, r3
-_0803F99A:
- lsls r0, r2, 1
- add r0, r9
- ldr r3, _0803FA0C @ =gSpindaSpotGraphics + 0x2
- adds r0, r3
- ldrh r3, [r0]
- mov r4, r12
- adds r0, r4, 0
- adds r0, 0x10
- adds r7, r1, 0x1
- adds r2, 0x1
- mov r8, r2
- cmp r4, r0
- bge _0803FA30
- lsrs r0, r1, 3
- lsls r6, r0, 8
- movs r0, 0x7
- ands r1, r0
- lsls r5, r1, 2
-_0803F9BE:
- adds r0, r4, 0
- cmp r4, 0
- bge _0803F9C6
- adds r0, r4, 0x7
-_0803F9C6:
- asrs r0, 3
- lsls r2, r0, 5
- add r2, r10
- lsls r0, 3
- subs r0, r4, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r2, r0
- adds r2, r6
- adds r2, r5
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0803FA24
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0803FA10
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- bhi _0803FA24
- adds r0, r1, 0
- adds r0, 0x40
- b _0803FA22
- .align 2, 0
-_0803FA04: .4byte gUnknown_081FAF4C
-_0803FA08: .4byte gSpindaSpotGraphics
-_0803FA0C: .4byte gSpindaSpotGraphics + 0x2
-_0803FA10:
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _0803FA24
- adds r0, r1, 0x4
-_0803FA22:
- strb r0, [r2]
-_0803FA24:
- asrs r3, 1
- adds r4, 0x1
- mov r0, r12
- adds r0, 0x10
- cmp r4, r0
- blt _0803F9BE
-_0803FA30:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- mov r2, r8
- cmp r2, 0xF
- ble _0803F99A
- ldr r5, [sp, 0x4]
- ldr r6, [sp]
- cmp r6, 0x3
- ble _0803F962
-_0803FA42:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_803F938
-
- thumb_func_start DrawSpindaSpots
-DrawSpindaSpots: @ 803FA54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r1, 0
- str r2, [sp]
- lsls r0, 16
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x9A
- lsls r1, 17
- cmp r0, r1
- bne _0803FB56
- cmp r3, 0
- beq _0803FB56
- movs r6, 0
-_0803FA78:
- lsls r3, r6, 3
- adds r3, r6
- lsls r3, 2
- ldr r0, _0803FB1C @ =gSpindaSpotGraphics
- adds r4, r3, r0
- ldrb r1, [r4]
- adds r1, 0xF8
- movs r2, 0xF
- adds r0, r5, 0
- ands r0, r2
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- ldrb r1, [r4, 0x1]
- adds r1, 0xF8
- movs r0, 0xF0
- ands r0, r5
- lsrs r0, 4
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- lsrs r5, 8
- str r5, [sp, 0x4]
- adds r6, 0x1
- mov r10, r6
- mov r9, r3
-_0803FAB0:
- lsls r0, r2, 1
- add r0, r9
- ldr r3, _0803FB20 @ =gSpindaSpotGraphics + 0x2
- adds r0, r3
- ldrh r3, [r0]
- mov r4, r12
- adds r0, r4, 0
- adds r0, 0x10
- adds r7, r1, 0x1
- adds r2, 0x1
- mov r8, r2
- cmp r4, r0
- bge _0803FB44
- lsrs r0, r1, 3
- lsls r6, r0, 8
- movs r0, 0x7
- ands r1, r0
- lsls r5, r1, 2
-_0803FAD4:
- adds r0, r4, 0
- cmp r4, 0
- bge _0803FADC
- adds r0, r4, 0x7
-_0803FADC:
- asrs r0, 3
- lsls r2, r0, 5
- ldr r1, [sp]
- adds r2, r1, r2
- lsls r0, 3
- subs r0, r4, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r2, r0
- adds r2, r6
- adds r2, r5
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0803FB38
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0803FB24
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- bhi _0803FB38
- adds r0, r1, 0
- adds r0, 0x40
- b _0803FB36
- .align 2, 0
-_0803FB1C: .4byte gSpindaSpotGraphics
-_0803FB20: .4byte gSpindaSpotGraphics + 0x2
-_0803FB24:
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _0803FB38
- adds r0, r1, 0x4
-_0803FB36:
- strb r0, [r2]
-_0803FB38:
- asrs r3, 1
- adds r4, 0x1
- mov r0, r12
- adds r0, 0x10
- cmp r4, r0
- blt _0803FAD4
-_0803FB44:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- mov r2, r8
- cmp r2, 0xF
- ble _0803FAB0
- ldr r5, [sp, 0x4]
- mov r6, r10
- cmp r6, 0x3
- ble _0803FA78
-_0803FB56:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DrawSpindaSpots
-
- .if REVISION >= 1
- thumb_func_start sub_803FB68
-sub_803FB68: @ 803FB68
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r0, =gStringVar1
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0x2
- mov r2, r9
- bl GetMonData
- mov r4, sp
- adds r0, r5, 0
- movs r1, 0x3
- mov r2, sp
- bl GetMonData
- strb r0, [r4, 0x0]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0803FBC4
- movs r6, 0xB
- adds r0, r7, 0
- muls r0, r6
- ldr r4, =gSpeciesNames
- adds r0, r4
- mov r1, r9
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _0803FBC4
- mov r2, r8
- muls r2, r6
- adds r2, r4
- adds r0, r5, 0
- movs r1, 0x2
- bl SetMonData
-_0803FBC4:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_803FB68
- .else
- thumb_func_start sub_803FB68
-sub_803FB68: @ 803FB68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r4, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r5, _0803FBB4 @ =gStringVar1
- movs r1, 0x2
- adds r2, r5, 0
- bl GetMonData
- movs r6, 0xB
- adds r0, r4, 0
- muls r0, r6
- ldr r4, _0803FBB8 @ =gSpeciesNames
- adds r0, r4
- adds r1, r5, 0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _0803FBA8
- mov r2, r8
- muls r2, r6
- adds r2, r4
- adds r0, r7, 0
- movs r1, 0x2
- bl SetMonData
-_0803FBA8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803FBB4: .4byte gStringVar1
-_0803FBB8: .4byte gSpeciesNames
- thumb_func_end sub_803FB68
- .endif
-
- thumb_func_start sub_803FBBC
-sub_803FBBC: @ 803FBBC
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _0803FBE4 @ =gLinkPlayers
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x18]
- cmp r0, 0x2
- bgt _0803FBE8
- cmp r0, 0x1
- bge _0803FBF0
- cmp r0, 0
- beq _0803FBEC
- b _0803FBF2
- .align 2, 0
-_0803FBE4: .4byte gLinkPlayers
-_0803FBE8:
- cmp r0, 0x3
- bne _0803FBF2
-_0803FBEC:
- movs r5, 0
- b _0803FBF2
-_0803FBF0:
- movs r5, 0x1
-_0803FBF2:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803FBBC
-
- thumb_func_start sub_803FBFC
-sub_803FBFC: @ 803FBFC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r2, _0803FC20 @ =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x18]
- cmp r0, 0x2
- bgt _0803FC24
- cmp r0, 0x1
- bge _0803FC2C
- cmp r0, 0
- beq _0803FC28
- b _0803FC2E
- .align 2, 0
-_0803FC20: .4byte gLinkPlayers
-_0803FC24:
- cmp r0, 0x3
- bne _0803FC2E
-_0803FC28:
- movs r3, 0
- b _0803FC2E
-_0803FC2C:
- movs r3, 0x1
-_0803FC2E:
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end sub_803FBFC
-
- thumb_func_start sub_803FC34
-sub_803FC34: @ 803FC34
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r1, _0803FC40 @ =gLinkPlayers
- b _0803FC4C
- .align 2, 0
-_0803FC40: .4byte gLinkPlayers
-_0803FC44:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- bgt _0803FC52
-_0803FC4C:
- ldrh r0, [r1, 0x18]
- cmp r0, r3
- bne _0803FC44
-_0803FC52:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_803FC34
-
- thumb_func_start sub_803FC58
-sub_803FC58: @ 803FC58
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0803FC70 @ =gTrainers
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r1, [r1, 0x2]
- movs r0, 0x7F
- ands r0, r1
- bx lr
- .align 2, 0
-_0803FC70: .4byte gTrainers
- thumb_func_end sub_803FC58
-
- thumb_func_start nature_stat_mod
-nature_stat_mod: @ 803FC74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0xFF
- lsls r0, 24
- adds r2, r0
- lsrs r2, 24
- cmp r2, 0x4
- bls _0803FC92
- adds r0, r3, 0
- b _0803FCCE
-_0803FC92:
- ldr r0, _0803FCB4 @ =gNatureStatTable
- lsls r1, r4, 2
- adds r1, r4
- subs r1, 0x1
- adds r1, r5, r1
- adds r1, r0
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0803FCB8
- cmp r1, 0x1
- bne _0803FCCC
- movs r0, 0x6E
- b _0803FCBA
- .align 2, 0
-_0803FCB4: .4byte gNatureStatTable
-_0803FCB8:
- movs r0, 0x5A
-_0803FCBA:
- muls r0, r3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- b _0803FCCE
-_0803FCCC:
- adds r0, r3, 0
-_0803FCCE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end nature_stat_mod
-
- thumb_func_start AdjustFriendship
-AdjustFriendship: @ 803FCD4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r7, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0803FD34
- ldr r0, _0803FD14 @ =gMain
- ldr r1, _0803FD18 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803FD20
- ldr r0, _0803FD1C @ =gEnigmaBerries
- ldrb r4, [r0, 0x7]
- b _0803FD3C
- .align 2, 0
-_0803FD14: .4byte gMain
-_0803FD18: .4byte 0x0000043d
-_0803FD1C: .4byte gEnigmaBerries
-_0803FD20:
- ldr r0, _0803FD2C @ =gSaveBlock1
- ldr r1, _0803FD30 @ =0x00003688
- adds r0, r1
- ldrb r4, [r0]
- b _0803FD3C
- .align 2, 0
-_0803FD2C: .4byte gSaveBlock1
-_0803FD30: .4byte 0x00003688
-_0803FD34:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
-_0803FD3C:
- cmp r6, 0
- bne _0803FD42
- b _0803FE56
-_0803FD42:
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- bne _0803FD4C
- b _0803FE56
-_0803FD4C:
- movs r6, 0
- adds r0, r7, 0
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x63
- ble _0803FD6A
- movs r6, 0x1
-_0803FD6A:
- cmp r0, 0xC7
- ble _0803FD74
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0803FD74:
- cmp r5, 0x5
- bne _0803FD84
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _0803FE56
-_0803FD84:
- cmp r5, 0x3
- bne _0803FDB4
- ldr r0, _0803FE60 @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0803FE56
- ldr r2, _0803FE64 @ =gTrainers
- ldr r0, _0803FE68 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1]
- adds r0, r1, 0
- subs r0, 0x18
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0803FDB4
- cmp r1, 0x20
- bne _0803FE56
-_0803FDB4:
- ldr r1, _0803FE6C @ =gUnknown_082082FE
- lsls r0, r5, 1
- adds r0, r5
- adds r0, r6, r0
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- ble _0803FDDA
- cmp r4, 0x1B
- bne _0803FDDA
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 24
- lsrs r2, r0, 24
-_0803FDDA:
- lsls r2, 24
- asrs r2, 24
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, r2
- mov r1, sp
- strh r0, [r1]
- cmp r2, 0
- ble _0803FE2C
- adds r0, r7, 0
- movs r1, 0x26
- movs r2, 0
- bl GetMonData
- cmp r0, 0xB
- bne _0803FE08
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x1
- mov r1, sp
- strh r0, [r1]
-_0803FE08:
- adds r0, r7, 0
- movs r1, 0x23
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- bl sav1_map_get_name
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0803FE2C
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x1
- mov r1, sp
- strh r0, [r1]
-_0803FE2C:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _0803FE3C
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
-_0803FE3C:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xFF
- ble _0803FE4C
- movs r1, 0xFF
- mov r0, sp
- strh r1, [r0]
-_0803FE4C:
- adds r0, r7, 0
- movs r1, 0x20
- mov r2, sp
- bl SetMonData
-_0803FE56:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803FE60: .4byte gUnknown_020239F8
-_0803FE64: .4byte gTrainers
-_0803FE68: .4byte gTrainerBattleOpponent
-_0803FE6C: .4byte gUnknown_082082FE
- thumb_func_end AdjustFriendship
-
- thumb_func_start MonGainEVs
-MonGainEVs: @ 803FE70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- movs r7, 0
- movs r6, 0
-_0803FE84:
- adds r1, r6, 0
- adds r1, 0x1A
- mov r0, r8
- movs r2, 0
- bl GetMonData
- mov r2, sp
- adds r1, r2, r6
- strb r0, [r1]
- ldrb r0, [r1]
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- adds r6, 0x1
- cmp r6, 0x5
- ble _0803FE84
- movs r6, 0
- b _08040006
-_0803FEA8:
- mov r0, r8
- movs r1, 0
- bl CheckPartyHasHadPokerus
- lsls r0, 24
- movs r2, 0x1
- cmp r0, 0
- beq _0803FEBA
- movs r2, 0x2
-_0803FEBA:
- cmp r6, 0x5
- bhi _0803FF5C
- lsls r0, r6, 2
- ldr r1, _0803FEC8 @ =_0803FECC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803FEC8: .4byte _0803FECC
- .align 2, 0
-_0803FECC:
- .4byte _0803FEE4
- .4byte _0803FEF8
- .4byte _0803FF0C
- .4byte _0803FF20
- .4byte _0803FF34
- .4byte _0803FF48
-_0803FEE4:
- ldr r0, _0803FEF4 @ =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 30
- b _0803FF56
- .align 2, 0
-_0803FEF4: .4byte gBaseStats
-_0803FEF8:
- ldr r0, _0803FF08 @ =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- b _0803FF54
- .align 2, 0
-_0803FF08: .4byte gBaseStats
-_0803FF0C:
- ldr r0, _0803FF1C @ =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 26
- b _0803FF56
- .align 2, 0
-_0803FF1C: .4byte gBaseStats
-_0803FF20:
- ldr r0, _0803FF30 @ =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsrs r0, 6
- b _0803FF58
- .align 2, 0
-_0803FF30: .4byte gBaseStats
-_0803FF34:
- ldr r0, _0803FF44 @ =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 30
- b _0803FF56
- .align 2, 0
-_0803FF44: .4byte gBaseStats
-_0803FF48:
- ldr r0, _0803FF84 @ =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xB]
-_0803FF54:
- lsls r0, 28
-_0803FF56:
- lsrs r0, 30
-_0803FF58:
- adds r4, r0, 0
- muls r4, r2
-_0803FF5C:
- mov r0, r8
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0803FFA8
- ldr r0, _0803FF88 @ =gMain
- ldr r1, _0803FF8C @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803FF94
- ldr r0, _0803FF90 @ =gEnigmaBerries
- ldrb r0, [r0, 0x7]
- b _0803FFB0
- .align 2, 0
-_0803FF84: .4byte gBaseStats
-_0803FF88: .4byte gMain
-_0803FF8C: .4byte 0x0000043d
-_0803FF90: .4byte gEnigmaBerries
-_0803FF94:
- ldr r0, _0803FFA0 @ =gSaveBlock1
- ldr r2, _0803FFA4 @ =0x00003688
- adds r0, r2
- ldrb r0, [r0]
- b _0803FFB0
- .align 2, 0
-_0803FFA0: .4byte gSaveBlock1
-_0803FFA4: .4byte 0x00003688
-_0803FFA8:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
-_0803FFB0:
- cmp r0, 0x18
- bne _0803FFB8
- lsls r0, r4, 17
- lsrs r4, r0, 16
-_0803FFB8:
- lsls r0, r4, 16
- asrs r2, r0, 16
- adds r1, r7, r2
- movs r0, 0xFF
- lsls r0, 1
- cmp r1, r0
- ble _0803FFD0
- adds r0, r2, r0
- adds r1, r7, r4
- subs r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_0803FFD0:
- mov r0, sp
- adds r2, r0, r6
- ldrb r3, [r2]
- lsls r0, r4, 16
- asrs r1, r0, 16
- adds r0, r3, r1
- cmp r0, 0xFF
- ble _0803FFEC
- adds r0, r1, 0
- adds r0, 0xFF
- adds r1, r3, r4
- subs r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_0803FFEC:
- adds r0, r3, r4
- strb r0, [r2]
- adds r0, r7, r4
- lsls r0, 16
- lsrs r7, r0, 16
- adds r1, r6, 0
- adds r1, 0x1A
- mov r0, r8
- bl SetMonData
- adds r6, 0x1
- cmp r6, 0x5
- bgt _0804000E
-_08040006:
- ldr r0, _0804001C @ =0x000001fd
- cmp r7, r0
- bhi _0804000E
- b _0803FEA8
-_0804000E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804001C: .4byte 0x000001fd
- thumb_func_end MonGainEVs
-
- thumb_func_start GetMonEVCount
-GetMonEVCount: @ 8040020
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r4, 0
-_08040028:
- adds r1, r4, 0
- adds r1, 0x1A
- adds r0, r6, 0
- movs r2, 0
- bl GetMonData
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x1
- cmp r4, 0x5
- ble _08040028
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetMonEVCount
-
- thumb_func_start RandomlyGivePartyPokerus
-RandomlyGivePartyPokerus: @ 8040048
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- bl Random
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x80
- lsls r0, 7
- cmp r5, r0
- beq _0804006E
- movs r0, 0x80
- lsls r0, 8
- cmp r5, r0
- beq _0804006E
- movs r0, 0xC0
- lsls r0, 8
- cmp r5, r0
- bne _08040104
-_0804006E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x64
- muls r0, r5
- adds r4, r6, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0804006E
- adds r0, r4, 0
- movs r1, 0x2D
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0804006E
- ldr r1, _0804010C @ =gBitTable
- lsls r0, r5, 2
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl CheckPartyHasHadPokerus
- lsls r0, 24
- cmp r0, 0
- bne _08040104
- mov r4, sp
-_080400B8:
- bl Random
- lsls r0, 24
- lsrs r0, 24
- strb r0, [r4]
- cmp r0, 0
- beq _080400B8
- movs r0, 0xF0
- mov r1, sp
- ldrb r1, [r1]
- ands r0, r1
- cmp r0, 0
- beq _080400DA
- movs r0, 0x7
- ands r1, r0
- mov r0, sp
- strb r1, [r0]
-_080400DA:
- mov r0, sp
- ldrb r0, [r0]
- lsls r1, r0, 4
- orrs r0, r1
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- movs r1, 0xF3
- ands r1, r0
- mov r0, sp
- strb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- movs r0, 0x64
- muls r0, r5
- adds r0, r6, r0
- movs r1, 0x22
- mov r2, sp
- bl SetMonData
-_08040104:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804010C: .4byte gBitTable
- thumb_func_end RandomlyGivePartyPokerus
-
- thumb_func_start CheckPartyPokerus
-CheckPartyPokerus: @ 8040110
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- movs r3, 0
- movs r6, 0x1
- movs r5, 0
- cmp r4, 0
- beq _08040158
-_08040124:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0804014C
- movs r0, 0x64
- muls r0, r3
- adds r0, r7, r0
- movs r1, 0x22
- movs r2, 0
- str r3, [sp]
- bl GetMonData
- movs r1, 0xF
- ands r1, r0
- ldr r3, [sp]
- cmp r1, 0
- beq _0804014C
- orrs r5, r6
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_0804014C:
- adds r3, 0x1
- lsls r6, 1
- lsrs r4, 1
- cmp r4, 0
- bne _08040124
- b _0804016C
-_08040158:
- adds r0, r7, 0
- movs r1, 0x22
- movs r2, 0
- bl GetMonData
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0
- beq _0804016C
- movs r5, 0x1
-_0804016C:
- adds r0, r5, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckPartyPokerus
-
- thumb_func_start CheckPartyHasHadPokerus
-CheckPartyHasHadPokerus: @ 8040178
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- movs r3, 0
- movs r6, 0x1
- movs r5, 0
- cmp r4, 0
- beq _080401BC
-_0804018C:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080401B0
- movs r0, 0x64
- muls r0, r3
- adds r0, r7, r0
- movs r1, 0x22
- movs r2, 0
- str r3, [sp]
- bl GetMonData
- ldr r3, [sp]
- cmp r0, 0
- beq _080401B0
- orrs r5, r6
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080401B0:
- adds r3, 0x1
- lsls r6, 1
- lsrs r4, 1
- cmp r4, 0
- bne _0804018C
- b _080401CC
-_080401BC:
- adds r0, r7, 0
- movs r1, 0x22
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _080401CC
- movs r5, 0x1
-_080401CC:
- adds r0, r5, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckPartyHasHadPokerus
-
- thumb_func_start UpdatePartyPokerusTime
-UpdatePartyPokerusTime: @ 80401D8
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r7, r0, 16
- movs r5, 0
- mov r6, sp
-_080401E4:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08040224 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0804023C
- adds r0, r4, 0
- movs r1, 0x22
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- strb r0, [r6]
- movs r1, 0xF
- adds r2, r0, 0
- ands r1, r2
- cmp r1, 0
- beq _0804023C
- cmp r1, r7
- bcc _0804021E
- cmp r7, 0x4
- bls _08040228
-_0804021E:
- movs r0, 0xF0
- ands r0, r2
- b _0804022A
- .align 2, 0
-_08040224: .4byte gPlayerParty
-_08040228:
- subs r0, r2, r7
-_0804022A:
- strb r0, [r6]
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0804024C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x22
- mov r2, sp
- bl SetMonData
-_0804023C:
- adds r5, 0x1
- cmp r5, 0x5
- ble _080401E4
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804024C: .4byte gPlayerParty
- thumb_func_end UpdatePartyPokerusTime
-
- thumb_func_start PartySpreadPokerus
-PartySpreadPokerus: @ 8040250
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080402F6
- movs r5, 0
-_0804026C:
- movs r0, 0x64
- adds r6, r5, 0
- muls r6, r0
- adds r4, r7, r6
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _080402F0
- adds r0, r4, 0
- movs r1, 0x22
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r1, r0, 24
- mov r0, sp
- strb r1, [r0]
- cmp r1, 0
- beq _080402F0
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _080402F0
- cmp r5, 0
- beq _080402C6
- adds r0, r6, 0
- subs r0, 0x64
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0x22
- movs r2, 0
- bl GetMonData
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0
- bne _080402C6
- adds r0, r4, 0
- movs r1, 0x22
- mov r2, sp
- bl SetMonData
-_080402C6:
- cmp r5, 0x5
- beq _080402F0
- movs r0, 0x64
- muls r0, r5
- adds r0, 0x64
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0x22
- movs r2, 0
- bl GetMonData
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0
- bne _080402F0
- adds r0, r4, 0
- movs r1, 0x22
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
-_080402F0:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0804026C
-_080402F6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PartySpreadPokerus
-
- thumb_func_start TryIncrementMonLevel
-TryIncrementMonLevel: @ 8040300
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- adds r0, 0x1
- mov r1, sp
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0x19
- movs r2, 0
- bl GetMonData
- ldr r5, _08040358 @ =gExperienceTables
- mov r1, sp
- ldrb r2, [r1]
- lsls r2, 2
- ldr r3, _0804035C @ =gBaseStats
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r3
- ldrb r3, [r1, 0x13]
- movs r1, 0xCA
- lsls r1, 1
- muls r1, r3
- adds r2, r1
- adds r2, r5
- ldr r1, [r2]
- cmp r0, r1
- bhi _08040360
- movs r0, 0
- b _0804036C
- .align 2, 0
-_08040358: .4byte gExperienceTables
-_0804035C: .4byte gBaseStats
-_08040360:
- adds r0, r6, 0
- movs r1, 0x38
- mov r2, sp
- bl SetMonData
- movs r0, 0x1
-_0804036C:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end TryIncrementMonLevel
-
- thumb_func_start CanMonLearnTMHM
-CanMonLearnTMHM: @ 8040374
- push {r4,r5,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- adds r3, r1, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _08040396
- movs r0, 0
- b _080403C2
-_08040396:
- cmp r4, 0x1F
- bls _080403B4
- adds r0, r4, 0
- subs r0, 0x20
- movs r2, 0x1
- lsls r2, r0
- ldr r0, _080403B0 @ =gTMHMLearnsets
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- ands r0, r2
- b _080403C2
- .align 2, 0
-_080403B0: .4byte gTMHMLearnsets
-_080403B4:
- movs r1, 0x1
- lsls r1, r5
- ldr r2, _080403C8 @ =gTMHMLearnsets
- lsls r0, r3, 3
- adds r0, r2
- ldr r0, [r0]
- ands r0, r1
-_080403C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080403C8: .4byte gTMHMLearnsets
- thumb_func_end CanMonLearnTMHM
-
- thumb_func_start sub_80403CC
-sub_80403CC: @ 80403CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r6, r0, 0
- str r1, [sp, 0x8]
- movs r0, 0
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r6, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- movs r5, 0
- mov r4, sp
-_08040402:
- adds r1, r5, 0
- adds r1, 0xD
- adds r0, r6, 0
- movs r2, 0
- bl GetMonData
- strh r0, [r4]
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08040402
- movs r5, 0
- ldr r6, _08040510 @ =gLevelUpLearnsets
- lsls r1, r7, 2
- adds r2, r1, r6
- ldr r3, [r2]
- ldrh r0, [r3]
- ldr r4, _08040514 @ =0x0000ffff
- str r1, [sp, 0x14]
- cmp r0, r4
- beq _080404FC
- mov r9, r2
- str r3, [sp, 0x10]
-_08040430:
- lsls r2, r5, 1
- ldr r1, [sp, 0x10]
- adds r0, r2, r1
- ldrh r3, [r0]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r3
- ldr r4, [sp, 0xC]
- lsls r1, r4, 9
- adds r7, r2, 0
- adds r5, 0x1
- mov r12, r5
- cmp r0, r1
- bgt _080404E6
- movs r4, 0
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08040518 @ =0x000001ff
- ands r0, r3
- cmp r1, r0
- beq _08040480
- ldr r0, [sp, 0x14]
- ldr r1, _08040510 @ =gLevelUpLearnsets
- adds r6, r0, r1
- ldr r2, _08040518 @ =0x000001ff
- mov r8, r2
- mov r3, sp
- adds r5, r7, 0
-_08040468:
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08040480
- ldr r0, [r6]
- adds r0, r5, r0
- ldrh r1, [r0]
- ldrh r2, [r3]
- mov r0, r8
- ands r0, r1
- cmp r2, r0
- bne _08040468
-_08040480:
- cmp r4, 0x4
- bne _080404E6
- movs r4, 0
- cmp r4, r10
- bge _080404C4
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r1, [r0]
- ldr r0, [sp, 0x8]
- ldrh r2, [r0]
- ldr r0, _08040518 @ =0x000001ff
- ands r0, r1
- cmp r2, r0
- beq _080404C4
- ldr r1, [sp, 0x14]
- ldr r2, _08040510 @ =gLevelUpLearnsets
- adds r6, r1, r2
- ldr r0, _08040518 @ =0x000001ff
- mov r8, r0
- ldr r3, [sp, 0x8]
- adds r5, r7, 0
-_080404AC:
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, r10
- bge _080404C4
- ldr r0, [r6]
- adds r0, r5, r0
- ldrh r1, [r0]
- ldrh r2, [r3]
- mov r0, r8
- ands r0, r1
- cmp r2, r0
- bne _080404AC
-_080404C4:
- cmp r4, r10
- bne _080404E6
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r2, r4, 1
- ldr r1, [sp, 0x8]
- adds r2, r1
- mov r4, r9
- ldr r0, [r4]
- adds r0, r7, r0
- ldrh r1, [r0]
- ldr r0, _08040518 @ =0x000001ff
- ands r0, r1
- strh r0, [r2]
-_080404E6:
- mov r5, r12
- cmp r5, 0x13
- bgt _080404FC
- mov r1, r9
- ldr r0, [r1]
- lsls r1, r5, 1
- adds r1, r0
- ldrh r0, [r1]
- ldr r2, _08040514 @ =0x0000ffff
- cmp r0, r2
- bne _08040430
-_080404FC:
- mov r0, r10
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08040510: .4byte gLevelUpLearnsets
-_08040514: .4byte 0x0000ffff
-_08040518: .4byte 0x000001ff
- thumb_func_end sub_80403CC
-
- thumb_func_start sub_804051C
-sub_804051C: @ 804051C
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 16
- movs r5, 0
- movs r4, 0
- ldr r1, _08040568 @ =gLevelUpLearnsets
- lsrs r0, 14
- adds r0, r1
- ldr r2, [r0]
- ldrh r0, [r2]
- ldr r1, _0804056C @ =0x0000ffff
- cmp r0, r1
- beq _08040560
- ldr r0, _08040570 @ =0x000001ff
- mov r12, r0
- adds r7, r1, 0
- adds r3, r2, 0
-_0804053E:
- adds r1, r5, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 1
- adds r1, r6
- ldrh r2, [r3]
- mov r0, r12
- ands r0, r2
- strh r0, [r1]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x13
- bgt _08040560
- ldrh r0, [r3]
- cmp r0, r7
- bne _0804053E
-_08040560:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08040568: .4byte gLevelUpLearnsets
-_0804056C: .4byte 0x0000ffff
-_08040570: .4byte 0x000001ff
- thumb_func_end sub_804051C
-
- thumb_func_start sub_8040574
-sub_8040574: @ 8040574
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- adds r6, r0, 0
- movs r0, 0
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r6, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x30]
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bne _080405B0
- movs r0, 0
- b _080406BA
-_080405B0:
- movs r5, 0
- lsls r4, 2
- str r4, [sp, 0x38]
- mov r4, sp
-_080405B8:
- adds r1, r5, 0
- adds r1, 0xD
- adds r0, r6, 0
- movs r2, 0
- bl GetMonData
- strh r0, [r4]
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _080405B8
- movs r5, 0
- ldr r3, _080406CC @ =gLevelUpLearnsets
- ldr r2, [sp, 0x38]
- adds r1, r2, r3
- ldr r0, [r1]
- ldrh r0, [r0]
- ldr r2, _080406D0 @ =0x0000ffff
- cmp r0, r2
- beq _080406B8
- mov r9, r1
- mov r4, sp
- adds r4, 0x8
- str r4, [sp, 0x34]
-_080405E8:
- mov r1, r9
- ldr r0, [r1]
- lsls r2, r5, 1
- adds r0, r2, r0
- ldrh r3, [r0]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r3
- ldr r4, [sp, 0x30]
- lsls r1, r4, 9
- adds r7, r2, 0
- adds r5, 0x1
- mov r12, r5
- cmp r0, r1
- bgt _080406A2
- movs r4, 0
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080406D4 @ =0x000001ff
- ands r0, r3
- cmp r1, r0
- beq _0804063A
- ldr r0, [sp, 0x38]
- ldr r1, _080406CC @ =gLevelUpLearnsets
- adds r6, r0, r1
- ldr r2, _080406D4 @ =0x000001ff
- mov r8, r2
- mov r3, sp
- adds r5, r7, 0
-_08040622:
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0804063A
- ldr r0, [r6]
- adds r0, r5, r0
- ldrh r1, [r0]
- ldrh r2, [r3]
- mov r0, r8
- ands r0, r1
- cmp r2, r0
- bne _08040622
-_0804063A:
- cmp r4, 0x4
- bne _080406A2
- movs r4, 0
- cmp r4, r10
- bge _08040680
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r1, [r0]
- ldr r0, [sp, 0x34]
- ldrh r2, [r0]
- ldr r0, _080406D4 @ =0x000001ff
- ands r0, r1
- add r1, sp, 0x8
- cmp r2, r0
- beq _08040680
- ldr r2, [sp, 0x38]
- ldr r0, _080406CC @ =gLevelUpLearnsets
- adds r6, r2, r0
- ldr r2, _080406D4 @ =0x000001ff
- mov r8, r2
- adds r3, r1, 0
- adds r5, r7, 0
-_08040668:
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, r10
- bge _08040680
- ldr r0, [r6]
- adds r0, r5, r0
- ldrh r1, [r0]
- ldrh r2, [r3]
- mov r0, r8
- ands r0, r1
- cmp r2, r0
- bne _08040668
-_08040680:
- cmp r4, r10
- bne _080406A2
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r2, r4, 1
- ldr r4, [sp, 0x34]
- adds r2, r4, r2
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r1, [r0]
- ldr r0, _080406D4 @ =0x000001ff
- ands r0, r1
- strh r0, [r2]
-_080406A2:
- mov r5, r12
- cmp r5, 0x13
- bgt _080406B8
- mov r2, r9
- ldr r0, [r2]
- lsls r1, r5, 1
- adds r1, r0
- ldrh r0, [r1]
- ldr r4, _080406D0 @ =0x0000ffff
- cmp r0, r4
- bne _080405E8
-_080406B8:
- mov r0, r10
-_080406BA:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080406CC: .4byte gLevelUpLearnsets
-_080406D0: .4byte 0x0000ffff
-_080406D4: .4byte 0x000001ff
- thumb_func_end sub_8040574
-
- thumb_func_start SpeciesToPokedexNum
-SpeciesToPokedexNum: @ 80406D8
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl IsNationalPokedex
- cmp r0, 0
- beq _080406F2
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- b _0804070A
-_080406F2:
- adds r0, r4, 0
- bl SpeciesToHoennPokedexNum
- adds r4, r0, 0
- cmp r4, 0xCA
- bls _08040708
- ldr r0, _08040704 @ =0x0000ffff
- b _0804070A
- .align 2, 0
-_08040704: .4byte 0x0000ffff
-_08040708:
- adds r0, r4, 0
-_0804070A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end SpeciesToPokedexNum
-
- thumb_func_start sub_8040710
-sub_8040710: @ 8040710
- push {lr}
- ldr r1, _08040724 @ =gUnknown_02024E84
- movs r2, 0
- adds r0, r1, 0x3
-_08040718:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08040718
- pop {r0}
- bx r0
- .align 2, 0
-_08040724: .4byte gUnknown_02024E84
- thumb_func_end sub_8040710
-
- thumb_func_start sub_8040728
-sub_8040728: @ 8040728
- push {lr}
- ldr r0, _0804073C @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- beq _08040744
- ldr r0, _08040740 @ =0x000001cf
- b _080408B2
- .align 2, 0
-_0804073C: .4byte gUnknown_020239F8
-_08040740: .4byte 0x000001cf
-_08040744:
- movs r0, 0x80
- lsls r0, 7
- ands r0, r1
- cmp r0, 0
- beq _08040754
- movs r0, 0xE7
- lsls r0, 1
- b _080408B2
-_08040754:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804075E
- b _080408A8
-_0804075E:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08040768
- b _080408B0
-_08040768:
- ldr r3, _0804078C @ =gTrainers
- ldr r2, _08040790 @ =gTrainerBattleOpponent
- ldrh r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0, 0x1]
- subs r0, 0x2
- cmp r0, 0x31
- bls _08040780
- b _080408A8
-_08040780:
- lsls r0, 2
- ldr r1, _08040794 @ =_08040798
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804078C: .4byte gTrainers
-_08040790: .4byte gTrainerBattleOpponent
-_08040794: .4byte _08040798
- .align 2, 0
-_08040798:
- .4byte _08040860
- .4byte _08040866
- .4byte _08040866
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A0
- .4byte _0804086C
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _08040872
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _080408A8
- .4byte _0804087C
- .4byte _080408A8
- .4byte _080408A8
- .4byte _08040860
- .4byte _08040866
- .4byte _08040866
-_08040860:
- movs r0, 0xE9
- lsls r0, 1
- b _080408B2
-_08040866:
- movs r0, 0xE5
- lsls r0, 1
- b _080408B2
-_0804086C:
- movs r0, 0xE6
- lsls r0, 1
- b _080408B2
-_08040872:
- ldr r0, _08040878 @ =0x000001cd
- b _080408B2
- .align 2, 0
-_08040878: .4byte 0x000001cd
-_0804087C:
- ldrh r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08040898 @ =gTrainers + 0x4
- adds r0, r1
- ldr r1, _0804089C @ =gUnknown_08400E42
- bl StringCompare
- cmp r0, 0
- beq _080408A8
- movs r0, 0xE8
- lsls r0, 1
- b _080408B2
- .align 2, 0
-_08040898: .4byte gTrainers + 0x4
-_0804089C: .4byte gUnknown_08400E42
-_080408A0:
- ldr r0, _080408A4 @ =0x000001d1
- b _080408B2
- .align 2, 0
-_080408A4: .4byte 0x000001d1
-_080408A8:
- ldr r0, _080408AC @ =0x000001cb
- b _080408B2
- .align 2, 0
-_080408AC: .4byte 0x000001cb
-_080408B0:
- ldr r0, _080408B8 @ =0x000001c9
-_080408B2:
- pop {r1}
- bx r1
- .align 2, 0
-_080408B8: .4byte 0x000001c9
- thumb_func_end sub_8040728
-
- thumb_func_start sub_80408BC
-sub_80408BC: @ 80408BC
- push {lr}
- bl ResetMapMusic
- bl m4aMPlayAllStop
- bl sub_8040728
- lsls r0, 16
- lsrs r0, 16
- bl PlayBGM
- pop {r0}
- bx r0
- thumb_func_end sub_80408BC
-
- thumb_func_start current_map_music_set__default_for_battle
-current_map_music_set__default_for_battle: @ 80408D8
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl ResetMapMusic
- bl m4aMPlayAllStop
- cmp r4, 0
- beq _080408F2
- adds r0, r4, 0
- bl PlayNewMapMusic
- b _080408FE
-_080408F2:
- bl sub_8040728
- lsls r0, 16
- lsrs r0, 16
- bl PlayNewMapMusic
-_080408FE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end current_map_music_set__default_for_battle
-
- thumb_func_start pokemon_get_pal
-pokemon_get_pal: @ 8040904
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r2, r0, 0
- adds r0, r4, 0
- adds r1, r6, 0
- bl species_and_otid_get_pal
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end pokemon_get_pal
-
- thumb_func_start species_and_otid_get_pal
-species_and_otid_get_pal: @ 804093C
- push {r4,r5,lr}
- adds r3, r2, 0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _08040958
- ldr r0, _08040954 @ =gMonPaletteTable
- ldr r0, [r0]
- b _08040984
- .align 2, 0
-_08040954: .4byte gMonPaletteTable
-_08040958:
- lsrs r0, r1, 16
- ldr r2, _08040974 @ =0x0000ffff
- ands r1, r2
- eors r0, r1
- lsrs r1, r3, 16
- eors r0, r1
- ands r3, r2
- eors r0, r3
- cmp r0, 0x7
- bls _0804097C
- ldr r0, _08040978 @ =gMonPaletteTable
- lsls r1, r4, 3
- b _08040980
- .align 2, 0
-_08040974: .4byte 0x0000ffff
-_08040978: .4byte gMonPaletteTable
-_0804097C:
- ldr r0, _0804098C @ =gMonShinyPaletteTable
- lsls r1, r5, 3
-_08040980:
- adds r1, r0
- ldr r0, [r1]
-_08040984:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0804098C: .4byte gMonShinyPaletteTable
- thumb_func_end species_and_otid_get_pal
-
- thumb_func_start sub_8040990
-sub_8040990: @ 8040990
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r2, r0, 0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80409C8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8040990
-
- thumb_func_start sub_80409C8
-sub_80409C8: @ 80409C8
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsrs r0, r1, 16
- ldr r3, _080409E8 @ =0x0000ffff
- ands r1, r3
- eors r0, r1
- lsrs r1, r2, 16
- eors r0, r1
- ands r2, r3
- eors r0, r2
- cmp r0, 0x7
- bls _080409F0
- lsls r0, r4, 3
- ldr r1, _080409EC @ =gMonPaletteTable
- b _080409F4
- .align 2, 0
-_080409E8: .4byte 0x0000ffff
-_080409EC: .4byte gMonPaletteTable
-_080409F0:
- lsls r0, r4, 3
- ldr r1, _080409FC @ =gMonShinyPaletteTable
-_080409F4:
- adds r0, r1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080409FC: .4byte gMonShinyPaletteTable
- thumb_func_end sub_80409C8
-
- thumb_func_start sub_8040A00
-sub_8040A00: @ 8040A00
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, _08040A24 @ =gUnknown_0820831A
- ldrh r0, [r2]
- ldr r1, _08040A28 @ =0x0000ffff
- cmp r0, r1
- beq _08040A32
- adds r4, r1, 0
- adds r1, r2, 0
-_08040A14:
- ldrh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- cmp r0, r3
- bne _08040A2C
- movs r0, 0x1
- b _08040A34
- .align 2, 0
-_08040A24: .4byte gUnknown_0820831A
-_08040A28: .4byte 0x0000ffff
-_08040A2C:
- ldrh r0, [r1]
- cmp r0, r4
- bne _08040A14
-_08040A32:
- movs r0, 0
-_08040A34:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8040A00
-
- thumb_func_start sub_8040A3C
-sub_8040A3C: @ 8040A3C
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08040A50 @ =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x19]
- lsrs r0, 7
- bx lr
- .align 2, 0
-_08040A50: .4byte gBaseStats
- thumb_func_end sub_8040A3C
-
- thumb_func_start sub_8040A54
-sub_8040A54: @ 8040A54
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08040A78 @ =gUnknown_083F7E28
- lsls r1, r0, 2
- adds r1, r0
- adds r1, r4
- adds r1, r2
- movs r0, 0
- ldrsb r0, [r1, r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08040A78: .4byte gUnknown_083F7E28
- thumb_func_end sub_8040A54
-
- thumb_func_start sub_8040A7C
-sub_8040A7C: @ 8040A7C
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08040AA0 @ =gUnknown_083F7E28
- lsls r1, r0, 2
- adds r1, r0
- adds r1, r4
- adds r1, r2
- movs r0, 0
- ldrsb r0, [r1, r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08040AA0: .4byte gUnknown_083F7E28
- thumb_func_end sub_8040A7C
-
- thumb_func_start sub_8040AA4
-sub_8040AA4: @ 8040AA4
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r1, 0x7
- mov r2, sp
- bl GetMonData
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- mov r1, sp
- bl sub_8040AD0
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8040AA4
-
- thumb_func_start sub_8040AD0
-sub_8040AD0: @ 8040AD0
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r3, _08040B10 @ =gSaveBlock2
- ldrb r2, [r3, 0xA]
- ldrb r1, [r3, 0xB]
- lsls r1, 8
- orrs r2, r1
- ldrb r1, [r3, 0xC]
- lsls r1, 16
- orrs r2, r1
- ldrb r1, [r3, 0xD]
- lsls r1, 24
- orrs r2, r1
- cmp r0, r2
- bne _08040B14
- movs r4, 0
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _08040B0C
- adds r2, r5, 0
-_08040AF8:
- adds r1, r4, r3
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08040B14
- adds r2, 0x1
- adds r4, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _08040AF8
-_08040B0C:
- movs r0, 0
- b _08040B16
- .align 2, 0
-_08040B10: .4byte gSaveBlock2
-_08040B14:
- movs r0, 0x1
-_08040B16:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8040AD0
-
- thumb_func_start sub_8040B1C
-sub_8040B1C: @ 8040B1C
- push {lr}
- bl pokemon_restore_pp
- pop {r0}
- bx r0
- thumb_func_end sub_8040B1C
-
- thumb_func_start pokemon_restore_pp
-pokemon_restore_pp: @ 8040B28
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
-_08040B30:
- adds r4, r6, 0
- adds r4, 0xD
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetBoxMonData
- cmp r0, 0
- beq _08040B7C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x15
- movs r2, 0
- bl GetBoxMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r6, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl CalculatePPWithBonus
- mov r1, sp
- strb r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r5, 0
- mov r2, sp
- bl SetBoxMonData
-_08040B7C:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08040B30
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemon_restore_pp
-
- thumb_func_start sub_8040B8C
-sub_8040B8C: @ 8040B8C
- push {r4,r5,lr}
- ldr r1, _08040BCC @ =byte_2024C06
- ldr r2, _08040BD0 @ =0x02000000
- ldr r3, _08040BD4 @ =0x000160c0
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r5, _08040BD8 @ =gUnknown_030041C0
- movs r0, 0xFD
- strb r0, [r5]
- movs r0, 0x4
- strb r0, [r5, 0x1]
- ldr r0, _08040BDC @ =0x00016054
- adds r4, r2, r0
- ldrb r0, [r4]
- strb r0, [r5, 0x2]
- movs r0, 0xFF
- strb r0, [r5, 0x4]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08040BE4
- ldr r1, _08040BE0 @ =gUnknown_02024A6A
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- b _08040BEE
- .align 2, 0
-_08040BCC: .4byte byte_2024C06
-_08040BD0: .4byte 0x02000000
-_08040BD4: .4byte 0x000160c0
-_08040BD8: .4byte gUnknown_030041C0
-_08040BDC: .4byte 0x00016054
-_08040BE0: .4byte gUnknown_02024A6A
-_08040BE4:
- ldr r0, _08040C24 @ =gUnknown_02024A6A
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
-_08040BEE:
- strb r0, [r5, 0x3]
- ldr r4, _08040C28 @ =gUnknown_03004290
- movs r0, 0xFD
- strb r0, [r4]
- movs r0, 0x4
- strb r0, [r4, 0x1]
- ldr r1, _08040C2C @ =gUnknown_02024E6C
- ldrb r0, [r1]
- strb r0, [r4, 0x2]
- ldr r2, _08040C24 @ =gUnknown_02024A6A
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0]
- bl pokemon_order_func
- strb r0, [r4, 0x3]
- movs r0, 0xFF
- strb r0, [r4, 0x4]
- ldr r0, _08040C30 @ =gUnknown_083FFCCA
- ldr r1, _08040C34 @ =gStringVar4
- bl sub_8120FFC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08040C24: .4byte gUnknown_02024A6A
-_08040C28: .4byte gUnknown_03004290
-_08040C2C: .4byte gUnknown_02024E6C
-_08040C30: .4byte gUnknown_083FFCCA
-_08040C34: .4byte gStringVar4
- thumb_func_end sub_8040B8C
-
- thumb_func_start sub_8040C38
-sub_8040C38: @ 8040C38
- push {r4,r5,lr}
- ldr r0, _08040C90 @ =gUnknown_020239F8
- ldrh r1, [r0]
- ldr r0, _08040C94 @ =0x00002008
- ands r0, r1
- cmp r0, 0
- bne _08040CAC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, _08040C98 @ =gEnemyParty
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08040C9C @ =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r3, r1, 2
- adds r1, r3, r2
- ldrh r0, [r1, 0xC]
- ldrh r1, [r1, 0xE]
- cmp r0, r1
- beq _08040C82
- cmp r5, 0x2C
- bls _08040CAC
- cmp r5, 0x5E
- bhi _08040CA0
-_08040C82:
- adds r2, 0xC
- adds r2, r3, r2
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- b _08040CAC
- .align 2, 0
-_08040C90: .4byte gUnknown_020239F8
-_08040C94: .4byte 0x00002008
-_08040C98: .4byte gEnemyParty
-_08040C9C: .4byte gBaseStats
-_08040CA0:
- adds r2, 0xE
- adds r2, r3, r2
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
-_08040CAC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8040C38
-
- thumb_func_start sub_8040CB4
-sub_8040CB4: @ 8040CB4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_8040CE0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8040CB4
-
- thumb_func_start sub_8040CE0
-sub_8040CE0: @ 8040CE0
- push {r4,lr}
- movs r4, 0
- lsrs r2, r0, 16
- ldr r3, _08040D04 @ =0x0000ffff
- ands r0, r3
- eors r2, r0
- lsrs r0, r1, 16
- eors r2, r0
- ands r1, r3
- eors r2, r1
- cmp r2, 0x7
- bhi _08040CFA
- movs r4, 0x1
-_08040CFA:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08040D04: .4byte 0x0000ffff
- thumb_func_end sub_8040CE0
-
- thumb_func_start sub_8040D08
-sub_8040D08: @ 8040D08
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08040D38 @ =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x18]
- movs r0, 0x2
- eors r0, r1
- bl sub_803FC34
- adds r1, r0, 0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r4, 0x8
- adds r0, r4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08040D38: .4byte gLinkPlayers
- thumb_func_end sub_8040D08
-
- thumb_func_start sub_8040D3C
-sub_8040D3C: @ 8040D3C
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r1, 0
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- cmp r1, 0x20
- beq _08040D54
- cmp r1, 0x1D
- bne _08040D7E
-_08040D54:
- cmp r2, 0x2
- bne _08040D68
- movs r0, 0xB
- muls r1, r0
- ldr r0, _08040D64 @ =gSpeciesNames
- adds r1, r0
- b _08040D70
- .align 2, 0
-_08040D64: .4byte gSpeciesNames
-_08040D68:
- ldr r1, _08040D88 @ =gUnknown_08208337
- cmp r0, 0x20
- bne _08040D70
- subs r1, 0xB
-_08040D70:
- adds r0, r4, 0
- bl StringCompareWithoutExtCtrlCodes
- movs r3, 0
- cmp r0, 0
- bne _08040D7E
- movs r3, 0x1
-_08040D7E:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08040D88: .4byte gUnknown_08208337
- thumb_func_end sub_8040D3C
-
- thumb_func_start sub_8040D8C
-sub_8040D8C: @ 8040D8C
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0x2
- ldrb r0, [r1]
- cmp r0, 0xFC
- bne _08040DA2
- ldrb r0, [r1, 0x1]
- cmp r0, 0x15
- bne _08040DA2
- movs r2, 0x1
-_08040DA2:
- adds r0, r3, 0
- bl sub_8040D3C
- pop {r1}
- bx r1
- thumb_func_end sub_8040D8C
-
- thumb_func_start unref_sub_8040DAC
-unref_sub_8040DAC: @ 8040DAC
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x3
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r5, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_8040D3C
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8040DAC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_804373C.s b/asm/rom_804373C.s
index a134237f1..ab3a81e18 100644
--- a/asm/rom_804373C.s
+++ b/asm/rom_804373C.s
@@ -5442,8 +5442,8 @@ _080461C8:
bx r1
thumb_func_end sub_8046188
- thumb_func_start sub_80461D4
-sub_80461D4: @ 80461D4
+ thumb_func_start GetScaledHPFraction
+GetScaledHPFraction: @ 80461D4
push {r4,lr}
lsls r2, 24
lsrs r2, 24
@@ -5465,10 +5465,10 @@ _080461F8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80461D4
+ thumb_func_end GetScaledHPFraction
- thumb_func_start sub_8046200
-sub_8046200: @ 8046200
+ thumb_func_start GetHPBarLevel
+GetHPBarLevel: @ 8046200
push {lr}
lsls r0, 16
asrs r0, 16
@@ -5480,7 +5480,7 @@ sub_8046200: @ 8046200
b _0804622E
_08046212:
movs r2, 0x30
- bl sub_80461D4
+ bl GetScaledHPFraction
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0x3
@@ -5495,3001 +5495,6 @@ _08046212:
_0804622E:
pop {r1}
bx r1
- thumb_func_end sub_8046200
-
- thumb_func_start sub_8046234
-sub_8046234: @ 8046234
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- ldr r5, _0804636C @ =gUnknown_081FAEA4
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, _08046370 @ =0xffff0000
- cmp r0, r1
- bne _08046266
- adds r0, r5, 0
- bl LoadCompressedObjectPic
- ldr r0, _08046374 @ =gUnknown_081FAEAC
- bl LoadCompressedObjectPalette
-_08046266:
- ldr r0, _08046378 @ =sub_8046388
- bl object_new_hidden_with_callback
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, r0, 4
- add r5, r8
- lsls r5, 2
- ldr r0, _0804637C @ =gSprites
- adds r5, r0
- strh r4, [r5, 0x30]
- ldr r0, _08046380 @ =gSpriteTemplate_81FAF0C
- mov r9, r0
- lsls r6, 16
- asrs r0, r6, 16
- mov r10, r0
- ldr r0, _08046384 @ =0xfff00000
- adds r6, r0
- asrs r6, 16
- lsls r4, r7, 16
- asrs r7, r4, 16
- adds r4, r0
- asrs r4, 16
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _0804637C @ =gSprites
- adds r1, r0
- mov r0, r8
- strh r0, [r1, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r1, 0
- bl AnimateSprite
- mov r0, r9
- mov r1, r10
- adds r2, r4, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0804637C @ =gSprites
- adds r4, r0
- mov r0, r8
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0
- bl AnimateSprite
- mov r0, r9
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0804637C @ =gSprites
- adds r4, r0
- mov r0, r8
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- adds r0, r4, 0
- bl AnimateSprite
- mov r0, r9
- mov r1, r10
- adds r2, r7, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0804637C @ =gSprites
- adds r4, r0
- mov r0, r8
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- adds r0, r4, 0
- bl AnimateSprite
- mov r0, r8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804636C: .4byte gUnknown_081FAEA4
-_08046370: .4byte 0xffff0000
-_08046374: .4byte gUnknown_081FAEAC
-_08046378: .4byte sub_8046388
-_0804637C: .4byte gSprites
-_08046380: .4byte gSpriteTemplate_81FAF0C
-_08046384: .4byte 0xfff00000
- thumb_func_end sub_8046234
-
- thumb_func_start sub_8046388
-sub_8046388: @ 8046388
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080463C0
- ldr r0, _080463B4 @ =gUnknown_081FAEA4
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r0, _080463B8 @ =gUnknown_081FAEAC
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080463BC
- adds r0, r4, 0
- bl DestroySprite
- b _080463C0
- .align 2, 0
-_080463B4: .4byte gUnknown_081FAEA4
-_080463B8: .4byte gUnknown_081FAEAC
-_080463BC:
- ldr r0, _080463C8 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080463C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080463C8: .4byte SpriteCallbackDummy
- thumb_func_end sub_8046388
-
- thumb_func_start sub_80463CC
-sub_80463CC: @ 80463CC
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080463F6
- ldr r2, _080463FC @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2E]
- subs r1, 0x1
- strh r1, [r0, 0x2E]
- adds r0, r3, 0
- bl DestroySprite
-_080463F6:
- pop {r0}
- bx r0
- .align 2, 0
-_080463FC: .4byte gSprites
- thumb_func_end sub_80463CC
-
- thumb_func_start sub_8046400
-sub_8046400: @ 8046400
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _08046450 @ =gUnknown_02024E6D
- movs r0, 0x1
- strb r0, [r1]
- ldr r6, _08046454 @ =gUnknown_02024A60
- ldrb r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _08046458 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
- ldr r0, _0804645C @ =sub_8046464
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08046460 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- ldrb r0, [r6]
- strh r0, [r1, 0xE]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08046450: .4byte gUnknown_02024E6D
-_08046454: .4byte gUnknown_02024A60
-_08046458: .4byte 0x02017810
-_0804645C: .4byte sub_8046464
-_08046460: .4byte gTasks
- thumb_func_end sub_8046400
-
- thumb_func_start sub_8046464
-sub_8046464: @ 8046464
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- str r0, [sp]
- ldr r1, _08046498 @ =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0804649C
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
- b _08046616
- .align 2, 0
-_08046498: .4byte gTasks
-_0804649C:
- ldrh r0, [r1, 0xC]
- mov r8, r0
- ldrb r5, [r1, 0xE]
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080464C8
- ldr r1, _080464C0 @ =gUnknown_02024A6A
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080464C4 @ =gEnemyParty
- b _080464D6
- .align 2, 0
-_080464C0: .4byte gUnknown_02024A6A
-_080464C4: .4byte gEnemyParty
-_080464C8:
- ldr r1, _08046544 @ =gUnknown_02024A6A
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08046548 @ =gPlayerParty
-_080464D6:
- adds r0, r1
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80478DC
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r1, _0804654C @ =gSpriteTemplate_820AAB4
- adds r0, r1
- movs r1, 0x20
- movs r2, 0x50
- movs r3, 0x1D
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _08046550 @ =gSprites
- mov r9, r2
- lsls r0, r7, 4
- adds r0, r7
- lsls r6, r0, 2
- adds r4, r6, r2
- movs r0, 0x80
- strh r0, [r4, 0x2E]
- movs r3, 0
- strh r3, [r4, 0x30]
- mov r0, r8
- strh r0, [r4, 0x3C]
- mov r2, r8
- cmp r2, 0xFE
- beq _0804655C
- cmp r2, 0xFF
- bne _08046598
- ldr r0, _08046554 @ =gUnknown_02024C08
- strb r5, [r0]
- movs r0, 0x18
- strh r0, [r4, 0x20]
- movs r0, 0x44
- strh r0, [r4, 0x22]
- mov r0, r9
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _08046558 @ =sub_8047074
- str r1, [r0]
- b _080465A6
- .align 2, 0
-_08046544: .4byte gUnknown_02024A6A
-_08046548: .4byte gPlayerParty
-_0804654C: .4byte gSpriteTemplate_820AAB4
-_08046550: .4byte gSprites
-_08046554: .4byte gUnknown_02024C08
-_08046558: .4byte sub_8047074
-_0804655C:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x18
- strh r0, [r4, 0x22]
- ldr r0, _08046590 @ =gUnknown_02024C08
- strb r5, [r0]
- movs r3, 0
- strh r3, [r4, 0x2E]
- mov r0, r9
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _08046594 @ =sub_8047254
- str r1, [r0]
- b _080465A6
- .align 2, 0
-_08046590: .4byte gUnknown_02024C08
-_08046594: .4byte sub_8047254
-_08046598:
- movs r0, 0x1
- bl battle_get_side_with_given_state
- ldr r1, _080465C4 @ =gUnknown_02024C08
- strb r0, [r1]
- movs r0, 0x1
- str r0, [sp]
-_080465A6:
- ldr r0, _080465C8 @ =gSprites
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r4, r1, r0
- ldr r5, _080465C4 @ =gUnknown_02024C08
- ldrb r0, [r5]
- strh r0, [r4, 0x3A]
- ldr r2, [sp]
- cmp r2, 0
- bne _080465CC
- mov r0, r10
- bl DestroyTask
- b _08046616
- .align 2, 0
-_080465C4: .4byte gUnknown_02024C08
-_080465C8: .4byte gSprites
-_080465CC:
- movs r0, 0x22
- strh r0, [r4, 0x2E]
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x10
- strh r0, [r4, 0x36]
- ldr r0, _08046628 @ =0x0000ffd8
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- mov r3, r10
- strh r3, [r4, 0x6]
- ldr r1, _0804662C @ =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r5]
- strh r1, [r0, 0x10]
- ldr r1, _08046630 @ =TaskDummy
- str r1, [r0]
- movs r0, 0x3D
- bl PlaySE
-_08046616:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046628: .4byte 0x0000ffd8
-_0804662C: .4byte gTasks
-_08046630: .4byte TaskDummy
- thumb_func_end sub_8046464
-
- thumb_func_start objc_0804ABD4
-objc_0804ABD4: @ 8046634
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080466D4
- ldrb r6, [r7, 0x6]
- ldr r1, _080466E0 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldrb r5, [r0, 0x10]
- ldrb r0, [r0, 0xC]
- mov r8, r0
- adds r0, r7, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r2, r7, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r7, 0x24]
- ldrh r1, [r7, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r7, 0x20]
- ldrh r0, [r7, 0x26]
- ldrh r2, [r7, 0x22]
- adds r0, r2
- strh r0, [r7, 0x22]
- strh r1, [r7, 0x24]
- strh r1, [r7, 0x26]
- strh r1, [r7, 0x38]
- adds r0, r5, 0
- bl sub_8047978
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- ldrh r0, [r7, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r7, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_814086C
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0xE
- adds r3, r4, 0
- bl sub_8141314
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x2E]
- strh r5, [r7, 0x3A]
- mov r0, r8
- strh r0, [r7, 0x3C]
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, _080466E4 @ =sub_80466E8
- str r0, [r7, 0x1C]
-_080466D4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080466E0: .4byte gTasks
-_080466E4: .4byte sub_80466E8
- thumb_func_end objc_0804ABD4
-
- thumb_func_start sub_80466E8
-sub_80466E8: @ 80466E8
- ldr r1, _080466F0 @ =sub_80466F4
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080466F0: .4byte sub_80466F4
- thumb_func_end sub_80466E8
-
- thumb_func_start sub_80466F4
-sub_80466F4: @ 80466F4
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x38]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r6, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0804674E
- strh r7, [r6, 0x38]
- ldr r0, _08046754 @ =sub_8046760
- str r0, [r6, 0x1C]
- ldr r5, _08046758 @ =gUnknown_02024BE0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0804675C @ =gSprites
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl AnimateSprite
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r7, [r0, 0x30]
-_0804674E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046754: .4byte sub_8046760
-_08046758: .4byte gUnknown_02024BE0
-_0804675C: .4byte gSprites
- thumb_func_end sub_80466F4
-
- thumb_func_start sub_8046760
-sub_8046760: @ 8046760
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _08046778
- movs r0, 0x3C
- bl PlaySE
-_08046778:
- ldr r6, _080467C4 @ =gSprites
- ldr r5, _080467C8 @ =gUnknown_02024BE0
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080467D0
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
- strh r0, [r4, 0x38]
- ldr r0, _080467CC @ =sub_80467F8
- str r0, [r4, 0x1C]
- b _080467F0
- .align 2, 0
-_080467C4: .4byte gSprites
-_080467C8: .4byte gUnknown_02024BE0
-_080467CC: .4byte sub_80467F8
-_080467D0:
- ldrh r0, [r1, 0x30]
- adds r0, 0x60
- strh r0, [r1, 0x30]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- negs r0, r0
- asrs r0, 8
- strh r0, [r1, 0x26]
-_080467F0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8046760
-
- thumb_func_start sub_80467F8
-sub_80467F8: @ 80467F8
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08046840
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08046840
- strh r1, [r4, 0x34]
- movs r0, 0x20
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- movs r0, 0
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldr r0, _08046848 @ =sub_804684C
- str r0, [r4, 0x1C]
-_08046840:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08046848: .4byte sub_804684C
- thumb_func_end sub_80467F8
-
- thumb_func_start sub_804684C
-sub_804684C: @ 804684C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0
- beq _08046862
- cmp r1, 0x1
- beq _080468D6
- b _08046902
-_08046862:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- adds r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- adds r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x3F
- ble _08046902
- ldrh r0, [r4, 0x36]
- subs r0, 0xA
- strh r0, [r4, 0x36]
- ldr r1, _080468AC @ =0x00000101
- adds r0, r2, r1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- cmp r0, 0x4
- bne _0804689E
- movs r5, 0x1
-_0804689E:
- cmp r0, 0x2
- beq _080468BE
- cmp r0, 0x2
- bgt _080468B0
- cmp r0, 0x1
- beq _080468B6
- b _080468CE
- .align 2, 0
-_080468AC: .4byte 0x00000101
-_080468B0:
- cmp r0, 0x3
- beq _080468C6
- b _080468CE
-_080468B6:
- movs r0, 0x38
- bl PlaySE
- b _08046902
-_080468BE:
- movs r0, 0x39
- bl PlaySE
- b _08046902
-_080468C6:
- movs r0, 0x3A
- bl PlaySE
- b _08046902
-_080468CE:
- movs r0, 0x3B
- bl PlaySE
- b _08046902
-_080468D6:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- subs r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- subs r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- cmp r1, 0
- bgt _08046902
- strh r5, [r4, 0x38]
- ldr r0, _08046928 @ =0xffffff00
- ands r0, r2
- strh r0, [r4, 0x34]
-_08046902:
- cmp r5, 0
- beq _0804693A
- movs r5, 0
- strh r5, [r4, 0x34]
- movs r0, 0x40
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x26]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08046930
- ldr r0, _0804692C @ =sub_8046C78
- str r0, [r4, 0x1C]
- b _0804693A
- .align 2, 0
-_08046928: .4byte 0xffffff00
-_0804692C: .4byte sub_8046C78
-_08046930:
- ldr r0, _08046940 @ =sub_8046944
- str r0, [r4, 0x1C]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
-_0804693A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08046940: .4byte sub_8046944
- thumb_func_end sub_804684C
-
- thumb_func_start sub_8046944
-sub_8046944: @ 8046944
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08046978
- movs r0, 0
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, _08046980 @ =sub_8046984
- str r0, [r4, 0x1C]
- movs r0, 0x17
- bl PlaySE
-_08046978:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08046980: .4byte sub_8046984
- thumb_func_end sub_8046944
-
- thumb_func_start sub_8046984
-sub_8046984: @ 8046984
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x4
- bhi _08046A84
- lsls r0, r1, 2
- ldr r1, _0804699C @ =_080469A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804699C: .4byte _080469A0
- .align 2, 0
-_080469A0:
- .4byte _080469B4
- .4byte _080469E6
- .4byte _080469B4
- .4byte _08046A3A
- .4byte _08046A84
-_080469B4:
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x24]
- adds r1, r0, r2
- strh r1, [r4, 0x24]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bls _08046ACA
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- movs r0, 0
- strh r0, [r4, 0x38]
- b _08046ACA
-_080469E6:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08046A2C
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x36]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _08046A22
- adds r0, r4, 0
- movs r1, 0x2
- bl ChangeSpriteAffineAnim
- b _08046ACA
-_08046A22:
- adds r0, r4, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
- b _08046ACA
-_08046A2C:
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- b _08046ACA
-_08046A3A:
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r2, [r4, 0x34]
- adds r0, r2
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08046A5C
- ldr r0, _08046A58 @ =sub_8046C78
- str r0, [r4, 0x1C]
- b _08046ACA
- .align 2, 0
-_08046A58: .4byte sub_8046C78
-_08046A5C:
- cmp r1, 0x4
- bne _08046A70
- cmp r0, 0x3
- bne _08046A70
- ldr r0, _08046A6C @ =sub_8046E7C
- str r0, [r4, 0x1C]
- b _08046A76
- .align 2, 0
-_08046A6C: .4byte sub_8046E7C
-_08046A70:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
-_08046A76:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- b _08046ACA
-_08046A84:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08046ACA
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r1, [r4, 0x34]
- ldr r0, _08046AB8 @ =0xffffff00
- ands r0, r1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAffineAnim
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _08046ABC
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _08046AC4
- .align 2, 0
-_08046AB8: .4byte 0xffffff00
-_08046ABC:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08046AC4:
- movs r0, 0x17
- bl PlaySE
-_08046ACA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8046984
-
- thumb_func_start sub_8046AD0
-sub_8046AD0: @ 8046AD0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08046AFC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r6, [r0, 0xC]
- ldrb r3, [r0, 0xA]
- ldrh r5, [r0, 0x8]
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x20
- bhi _08046B88
- lsls r0, 2
- ldr r1, _08046B00 @ =_08046B04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08046AFC: .4byte gTasks
-_08046B00: .4byte _08046B04
- .align 2, 0
-_08046B04:
- .4byte _08046B88
- .4byte _08046BA6
- .4byte _08046BB2
- .4byte _08046BF6
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046BD0
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046B88
- .4byte _08046C08
- .4byte _08046C20
- .4byte _08046C48
-_08046B88:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x18]
- movs r3, 0x18
- ldrsh r0, [r1, r3]
- cmp r0, 0x2
- bgt _08046BA0
- adds r0, r2, 0x1
- strh r0, [r1, 0x18]
- b _08046C72
-_08046BA0:
- adds r0, r6, 0x1
- strh r0, [r1, 0x26]
- b _08046C72
-_08046BA6:
- lsls r1, r3, 24
- asrs r1, 24
- adds r0, r5, 0
- bl PlayCry1
- b _08046BEE
-_08046BB2:
- bl StopCryAndClearCrySongs
- ldr r1, _08046BCC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x1C]
- movs r1, 0x14
- strh r1, [r0, 0x26]
- b _08046C72
- .align 2, 0
-_08046BCC: .4byte gTasks
-_08046BD0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r6, 0x1C
- ldrsh r0, [r1, r6]
- cmp r0, 0
- bne _08046C5A
- lsls r1, r3, 24
- asrs r1, 24
- adds r0, r5, 0
- movs r2, 0x1
- bl PlayCry4
-_08046BEE:
- adds r0, r4, 0
- bl DestroyTask
- b _08046C72
-_08046BF6:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x1C]
- movs r1, 0x1E
- strh r1, [r0, 0x26]
- b _08046C72
-_08046C08:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08046C5A
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
-_08046C20:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08046C72
- bl StopCryAndClearCrySongs
- ldr r0, _08046C44 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x3
- strh r0, [r1, 0x1C]
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _08046C72
- .align 2, 0
-_08046C44: .4byte gTasks
-_08046C48:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r6, 0x1C
- ldrsh r0, [r1, r6]
- cmp r0, 0
- beq _08046C60
-_08046C5A:
- subs r0, r2, 0x1
- strh r0, [r1, 0x1C]
- b _08046C72
-_08046C60:
- lsls r1, r3, 24
- asrs r1, 24
- adds r0, r5, 0
- movs r2, 0
- bl PlayCry4
- adds r0, r4, 0
- bl DestroyTask
-_08046C72:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8046AD0
-
- thumb_func_start sub_8046C78
-sub_8046C78: @ 8046C78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r5, 0
- bl sub_8047978
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- ldrh r0, [r6, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_814086C
- ldrh r1, [r6, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0xE
- adds r3, r4, 0
- bl sub_8141314
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x2E]
- ldr r0, _08046D0C @ =sub_8046E9C
- str r0, [r6, 0x1C]
- ldr r0, _08046D10 @ =gMain
- ldr r1, _08046D14 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08046CE8
- b _08046E1C
-_08046CE8:
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _08046D20
- ldr r1, _08046D18 @ =gUnknown_02024A6A
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08046D1C @ =gEnemyParty
- adds r0, r1, r0
- movs r3, 0x19
- mov r8, r3
- b _08046D34
- .align 2, 0
-_08046D0C: .4byte sub_8046E9C
-_08046D10: .4byte gMain
-_08046D14: .4byte 0x0000043d
-_08046D18: .4byte gUnknown_02024A6A
-_08046D1C: .4byte gEnemyParty
-_08046D20:
- ldr r1, _08046D90 @ =gUnknown_02024A6A
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08046D94 @ =gPlayerParty
- adds r0, r1, r0
- movs r1, 0xE7
- mov r8, r1
-_08046D34:
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- movs r0, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08046D5A
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08046DAE
-_08046D5A:
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _08046DAE
- ldr r0, _08046D98 @ =0x02017840
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08046DAE
- ldr r0, _08046D9C @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08046DA4
- bl IsBGMPlaying
- lsls r0, 24
- cmp r0, 0
- beq _08046DAE
- ldr r0, _08046DA0 @ =gMPlay_BGM
- bl m4aMPlayStop
- b _08046DAE
- .align 2, 0
-_08046D90: .4byte gUnknown_02024A6A
-_08046D94: .4byte gPlayerParty
-_08046D98: .4byte 0x02017840
-_08046D9C: .4byte gUnknown_020239F8
-_08046DA0: .4byte gMPlay_BGM
-_08046DA4:
- ldr r0, _08046DC8 @ =gMPlay_BGM
- ldr r1, _08046DCC @ =0x0000ffff
- movs r2, 0x80
- bl m4aMPlayVolumeControl
-_08046DAE:
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _08046DC4
- ldr r0, _08046DD0 @ =0x02017840
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08046DD4
-_08046DC4:
- movs r4, 0
- b _08046DF6
- .align 2, 0
-_08046DC8: .4byte gMPlay_BGM
-_08046DCC: .4byte 0x0000ffff
-_08046DD0: .4byte 0x02017840
-_08046DD4:
- movs r0, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08046DF0
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08046DF4
-_08046DF0:
- movs r4, 0x1
- b _08046DF6
-_08046DF4:
- movs r4, 0x2
-_08046DF6:
- ldr r0, _08046E6C @ =sub_8046AD0
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08046E70 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r7, [r1, 0x8]
- mov r3, r8
- lsls r0, r3, 24
- asrs r0, 24
- strh r0, [r1, 0xA]
- strh r4, [r1, 0xC]
- strh r2, [r1, 0x26]
-_08046E1C:
- ldr r5, _08046E74 @ =gUnknown_02024BE0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08046E78 @ =gSprites
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r3, 0x3A
- ldrsh r0, [r6, r3]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl AnimateSprite
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x80
- lsls r1, 5
- strh r1, [r0, 0x30]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046E6C: .4byte sub_8046AD0
-_08046E70: .4byte gTasks
-_08046E74: .4byte gUnknown_02024BE0
-_08046E78: .4byte gSprites
- thumb_func_end sub_8046C78
-
- thumb_func_start sub_8046E7C
-sub_8046E7C: @ 8046E7C
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r1, [r3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r3]
- ldr r1, _08046E98 @ =sub_8046FBC
- str r1, [r0, 0x1C]
- movs r1, 0
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- strh r1, [r0, 0x38]
- bx lr
- .align 2, 0
-_08046E98: .4byte sub_8046FBC
- thumb_func_end sub_8046E7C
-
- thumb_func_start sub_8046E9C
-sub_8046E9C: @ 8046E9C
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r7, 0
- ldrh r0, [r5, 0x3A]
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, _08046F00 @ =gSprites
- ldr r0, _08046F04 @ =gUnknown_02024BE0
- adds r3, r4, r0
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08046EDE
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08046EDE:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08046F08
- adds r0, r1, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r7, 0x1
- b _08046F24
- .align 2, 0
-_08046F00: .4byte gSprites
-_08046F04: .4byte gUnknown_02024BE0
-_08046F08:
- ldr r2, _08046FA8 @ =0xfffffee0
- adds r0, r2, 0
- ldrh r2, [r1, 0x30]
- adds r0, r2
- strh r0, [r1, 0x30]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r1, 0x26]
-_08046F24:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08046FA0
- cmp r7, 0
- beq _08046FA0
- ldr r2, _08046FAC @ =gSprites
- ldr r0, _08046FB0 @ =gUnknown_02024BE0
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x26]
- ldr r0, _08046FB4 @ =gUnknown_02024E6D
- strb r2, [r0]
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- ldr r4, _08046FB8 @ =0x02017810
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
- movs r3, 0
- movs r5, 0x8
- adds r2, r4, 0
- movs r4, 0x3
-_08046F78:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08046F84
- adds r3, 0x1
-_08046F84:
- adds r2, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _08046F78
- cmp r3, 0x4
- bne _08046FA0
- movs r4, 0
-_08046F92:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_804794C
- adds r4, 0x1
- cmp r4, 0xB
- ble _08046F92
-_08046FA0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046FA8: .4byte 0xfffffee0
-_08046FAC: .4byte gSprites
-_08046FB0: .4byte gUnknown_02024BE0
-_08046FB4: .4byte gUnknown_02024E6D
-_08046FB8: .4byte 0x02017810
- thumb_func_end sub_8046E9C
-
- thumb_func_start sub_8046FBC
-sub_8046FBC: @ 8046FBC
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r6, 0x36]
- adds r0, 0x1
- strh r0, [r6, 0x36]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0x28
- beq _08047056
- cmp r1, 0x5F
- bne _08046FF4
- ldr r0, _08046FEC @ =gUnknown_02024E6D
- movs r1, 0
- strb r1, [r0]
- bl m4aMPlayAllStop
- ldr r0, _08046FF0 @ =0x00000173
- bl PlaySE
- b _08047056
- .align 2, 0
-_08046FEC: .4byte gUnknown_02024E6D
-_08046FF0: .4byte 0x00000173
-_08046FF4:
- ldr r0, _0804705C @ =0x0000013b
- cmp r1, r0
- bne _08047056
- ldr r5, _08047060 @ =gSprites
- ldr r4, _08047064 @ =gUnknown_02024BE0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- adds r0, r6, 0
- bl DestroySpriteAndFreeResources
- ldr r0, _08047068 @ =gMain
- ldr r1, _0804706C @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08047056
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 2
- ldr r0, _08047070 @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_08047056:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804705C: .4byte 0x0000013b
-_08047060: .4byte gSprites
-_08047064: .4byte gUnknown_02024BE0
-_08047068: .4byte gMain
-_0804706C: .4byte 0x0000043d
-_08047070: .4byte 0x02017810
- thumb_func_end sub_8046FBC
-
- thumb_func_start sub_8047074
-sub_8047074: @ 8047074
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x19
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x18
- strh r0, [r4, 0x36]
- ldr r0, _080470BC @ =0x0000ffe2
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- strh r0, [r4, 0x6]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r0, _080470C0 @ =sub_80470C4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080470BC: .4byte 0x0000ffe2
-_080470C0: .4byte sub_80470C4
- thumb_func_end sub_8047074
-
- thumb_func_start sub_80470C4
-sub_80470C4: @ 80470C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldrh r0, [r5, 0x3C]
- movs r1, 0xFF
- mov r8, r1
- lsrs r0, 8
- subs r0, 0x23
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2C
- bhi _080471B8
- ldrh r1, [r5, 0x6]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- bne _08047126
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- adds r6, r1, 0
- ands r6, r0
- ldrh r0, [r5, 0x32]
- adds r7, r1, 0
- ands r7, r0
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- movs r1, 0x3
- bl __divsi3
- movs r1, 0x2
- negs r1, r1
- adds r4, r1, 0
- ands r0, r4
- orrs r6, r0
- strh r6, [r5, 0x30]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- movs r1, 0x3
- bl __divsi3
- ands r0, r4
- orrs r7, r0
- strh r7, [r5, 0x32]
- adds r0, r5, 0
- movs r1, 0x4
- bl StartSpriteAffineAnim
-_08047126:
- ldrh r4, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_8078B5C
- movs r1, 0x3A
- ldrsh r0, [r5, r1]
- movs r1, 0x3
- bl __divsi3
- adds r1, r0, 0
- ldrh r0, [r5, 0x3C]
- adds r0, r1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 24
- mov r2, r8
- ands r0, r2
- movs r2, 0x38
- ldrsh r1, [r5, r2]
- bl Sin
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r5, 0x6]
- adds r0, r1
- strh r0, [r5, 0x6]
- lsls r0, 16
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _08047176
- strh r4, [r5, 0x2E]
- b _0804717E
-_08047176:
- lsls r0, r4, 16
- asrs r0, 16
- subs r0, 0x1
- strh r0, [r5, 0x2E]
-_0804717E:
- ldrh r0, [r5, 0x3C]
- lsrs r0, 8
- cmp r0, 0x4F
- ble _08047220
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- adds r6, r1, 0
- ands r6, r0
- ldrh r0, [r5, 0x32]
- adds r7, r1, 0
- ands r7, r0
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x2
- negs r1, r1
- adds r2, r1, 0
- ands r0, r2
- orrs r0, r6
- strh r0, [r5, 0x30]
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- ands r0, r2
- orrs r0, r7
- strh r0, [r5, 0x32]
- b _08047220
-_080471B8:
- adds r0, r5, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _08047220
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldrb r0, [r5, 0x6]
- strh r0, [r5, 0x3A]
- strh r1, [r5, 0x2E]
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _08047214
- ldr r0, _0804720C @ =0x02017840
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08047214
- movs r0, 0x3A
- ldrsh r4, [r5, r0]
- movs r0, 0x2
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08047214
- ldr r0, _08047210 @ =sub_8047230
- b _08047216
- .align 2, 0
-_0804720C: .4byte 0x02017840
-_08047210: .4byte sub_8047230
-_08047214:
- ldr r0, _0804722C @ =sub_8046C78
-_08047216:
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
-_08047220:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804722C: .4byte sub_8046C78
- thumb_func_end sub_80470C4
-
- thumb_func_start sub_8047230
-sub_8047230: @ 8047230
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r1, r0, 0x1
- strh r1, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _0804724A
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldr r0, _08047250 @ =sub_8046C78
- str r0, [r2, 0x1C]
-_0804724A:
- pop {r0}
- bx r0
- .align 2, 0
-_08047250: .4byte sub_8046C78
- thumb_func_end sub_8047230
-
- thumb_func_start sub_8047254
-sub_8047254: @ 8047254
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080472A4
- movs r0, 0
- strh r0, [r5, 0x2E]
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080472A0
- ldr r0, _08047298 @ =0x02017840
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080472A0
- movs r0, 0x3A
- ldrsh r4, [r5, r0]
- movs r0, 0x3
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080472A0
- ldr r0, _0804729C @ =sub_8047230
- b _080472A2
- .align 2, 0
-_08047298: .4byte 0x02017840
-_0804729C: .4byte sub_8047230
-_080472A0:
- ldr r0, _080472AC @ =sub_8046C78
-_080472A2:
- str r0, [r5, 0x1C]
-_080472A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080472AC: .4byte sub_8046C78
- thumb_func_end sub_8047254
-
- thumb_func_start sub_80472B0
-sub_80472B0: @ 80472B0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- str r4, [sp]
- bl sub_814086C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80472B0
-
- thumb_func_start sub_80472D8
-sub_80472D8: @ 80472D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- bl sub_8141314
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80472D8
-
- thumb_func_start CreatePokeballSprite
-CreatePokeballSprite: @ 80472F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- mov r9, r2
- mov r10, r3
- ldr r6, [sp, 0x24]
- ldr r4, [sp, 0x28]
- ldr r0, [sp, 0x2C]
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- mov r2, r10
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080473BC @ =gUnknown_0820A92C
- bl LoadCompressedObjectPic
- ldr r0, _080473C0 @ =gUnknown_0820A98C
- bl LoadCompressedObjectPalette
- ldr r0, _080473C4 @ =gSpriteTemplate_820AAB4
- mov r1, r9
- mov r2, r10
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080473C8 @ =gSprites
- mov r8, r3
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r1, r4, r3
- strh r5, [r1, 0x2E]
- lsls r2, r5, 4
- adds r2, r5
- lsls r2, 2
- add r2, r8
- ldrh r0, [r2, 0x20]
- strh r0, [r1, 0x38]
- ldrh r0, [r2, 0x22]
- strh r0, [r1, 0x3A]
- mov r0, r9
- strh r0, [r2, 0x20]
- mov r3, r10
- strh r3, [r2, 0x22]
- strh r7, [r1, 0x30]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r1, 0x32]
- mov r3, sp
- ldrh r3, [r3, 0x30]
- strh r3, [r1, 0x34]
- ldr r3, [sp, 0x30]
- lsrs r0, r3, 16
- strh r0, [r1, 0x36]
- movs r0, 0x3
- ands r6, r0
- lsls r6, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r6
- strb r0, [r1, 0x5]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, _080473CC @ =sub_80473D0
- str r0, [r4]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080473BC: .4byte gUnknown_0820A92C
-_080473C0: .4byte gUnknown_0820A98C
-_080473C4: .4byte gSpriteTemplate_820AAB4
-_080473C8: .4byte gSprites
-_080473CC: .4byte sub_80473D0
- thumb_func_end CreatePokeballSprite
-
- thumb_func_start sub_80473D0
-sub_80473D0: @ 80473D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r1, [r6, 0x30]
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _0804747C
- ldrh r0, [r6, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r6, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r4, [r6, 0x34]
- ldrh r0, [r6, 0x36]
- lsls r0, 16
- orrs r4, r0
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804740A
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- b _0804740C
-_0804740A:
- movs r5, 0
-_0804740C:
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r6, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6, 0x5]
- lsls r2, 28
- lsrs r2, 30
- adds r3, r5, 0
- bl sub_80472B0
- movs r0, 0x1
- mov r1, r8
- adds r2, r4, 0
- bl sub_80472D8
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r6, 0x30]
- ldr r0, _08047474 @ =sub_804748C
- str r0, [r6, 0x1C]
- ldr r0, _08047478 @ =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- bl AnimateSprite
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r4, 0x30]
- strh r5, [r6, 0x3C]
- b _08047480
- .align 2, 0
-_08047474: .4byte sub_804748C
-_08047478: .4byte gSprites
-_0804747C:
- subs r0, r1, 0x1
- strh r0, [r6, 0x30]
-_08047480:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80473D0
-
- thumb_func_start sub_804748C
-sub_804748C: @ 804748C
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r0, 0
- mov r12, r0
- movs r6, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080474B6
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080474B6:
- ldr r0, _08047544 @ =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r5, r1, r0
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080474D8
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r1, 0x1
- mov r12, r1
-_080474D8:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r7, 0x20
- ldrsh r1, [r4, r7]
- subs r0, r1
- movs r1, 0x3C
- ldrsh r2, [r4, r1]
- muls r0, r2
- cmp r0, 0
- bge _080474EE
- adds r0, 0x7F
-_080474EE:
- asrs r0, 7
- ldrh r7, [r4, 0x20]
- adds r0, r7
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r7, 0x22
- ldrsh r1, [r4, r7]
- subs r0, r1
- muls r0, r2
- cmp r0, 0
- bge _0804750A
- adds r0, 0x7F
-_0804750A:
- asrs r0, 7
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r3, [r5, 0x20]
- strh r0, [r5, 0x22]
- ldrh r2, [r4, 0x3C]
- movs r7, 0x3C
- ldrsh r0, [r4, r7]
- cmp r0, 0x7F
- bgt _0804754C
- ldr r1, _08047548 @ =gSineTable
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _08047530
- adds r0, 0x7
-_08047530:
- asrs r0, 3
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- adds r1, r2, 0x4
- strh r1, [r4, 0x3C]
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- b _0804755A
- .align 2, 0
-_08047544: .4byte gSprites
-_08047548: .4byte gSineTable
-_0804754C:
- ldrh r0, [r4, 0x38]
- strh r0, [r5, 0x20]
- ldrh r0, [r4, 0x3A]
- strh r0, [r5, 0x22]
- strh r6, [r5, 0x24]
- strh r6, [r5, 0x26]
- movs r6, 0x1
-_0804755A:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08047578
- mov r2, r12
- cmp r2, 0
- beq _08047578
- cmp r6, 0
- beq _08047578
- adds r0, r4, 0
- bl DestroySpriteAndFreeResources
-_08047578:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804748C
-
- thumb_func_start sub_8047580
-sub_8047580: @ 8047580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- adds r6, r2, 0
- mov r8, r3
- ldr r5, [sp, 0x20]
- ldr r4, [sp, 0x24]
- ldr r0, [sp, 0x28]
- mov r9, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r6, 24
- lsrs r6, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _08047624 @ =gUnknown_0820A92C
- bl LoadCompressedObjectPic
- ldr r0, _08047628 @ =gUnknown_0820A98C
- bl LoadCompressedObjectPalette
- ldr r0, _0804762C @ =gSpriteTemplate_820AAB4
- adds r1, r6, 0
- mov r2, r8
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _08047630 @ =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r2, r3, r6
- mov r1, r10
- strh r1, [r2, 0x2E]
- mov r4, r9
- strh r4, [r2, 0x30]
- strh r7, [r2, 0x32]
- mov r1, sp
- ldrh r1, [r1, 0x2C]
- strh r1, [r2, 0x34]
- ldr r4, [sp, 0x2C]
- lsrs r1, r4, 16
- strh r1, [r2, 0x36]
- movs r1, 0x3
- ands r5, r1
- lsls r5, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r5
- strb r1, [r2, 0x5]
- adds r6, 0x1C
- adds r3, r6
- ldr r1, _08047634 @ =sub_8047638
- str r1, [r3]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08047624: .4byte gUnknown_0820A92C
-_08047628: .4byte gUnknown_0820A98C
-_0804762C: .4byte gSpriteTemplate_820AAB4
-_08047630: .4byte gSprites
-_08047634: .4byte sub_8047638
- thumb_func_end sub_8047580
-
- thumb_func_start sub_8047638
-sub_8047638: @ 8047638
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080476D0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r5, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- orrs r5, r0
- adds r0, r4, 0
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r0, 0
- beq _08047672
- subs r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- b _08047674
-_08047672:
- movs r6, 0
-_08047674:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r4, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r4, 0x5]
- lsls r2, 28
- lsrs r2, 30
- adds r3, r6, 0
- bl sub_80472B0
- movs r0, 0x1
- mov r1, r8
- adds r2, r5, 0
- bl sub_80472D8
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x30]
- ldr r0, _080476C8 @ =sub_80476E0
- str r0, [r4, 0x1C]
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- ldr r0, _080476CC @ =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- bl AnimateSprite
- strh r5, [r4, 0x30]
- b _080476D4
- .align 2, 0
-_080476C8: .4byte sub_80476E0
-_080476CC: .4byte gSprites
-_080476D0:
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
-_080476D4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8047638
-
- thumb_func_start sub_80476E0
-sub_80476E0: @ 80476E0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- adds r0, 0x1
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _080476F8
- movs r0, 0x3C
- bl PlaySE
-_080476F8:
- ldrh r1, [r5, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08047734 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _0804773C
- adds r0, r5, 0
- movs r1, 0x2
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- strh r0, [r5, 0x38]
- ldr r0, _08047738 @ =sub_8047754
- str r0, [r5, 0x1C]
- b _0804774C
- .align 2, 0
-_08047734: .4byte gSprites
-_08047738: .4byte sub_8047754
-_0804773C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x60
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- negs r0, r0
- asrs r0, 8
- strh r0, [r4, 0x26]
-_0804774C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80476E0
-
- thumb_func_start sub_8047754
-sub_8047754: @ 8047754
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08047768
- ldr r0, _0804776C @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08047768:
- pop {r0}
- bx r0
- .align 2, 0
-_0804776C: .4byte SpriteCallbackDummy
- thumb_func_end sub_8047754
-
- thumb_func_start obj_delete_and_free_associated_resources_
-obj_delete_and_free_associated_resources_: @ 8047770
- push {lr}
- bl DestroySpriteAndFreeResources
- pop {r0}
- bx r0
- thumb_func_end obj_delete_and_free_associated_resources_
-
- thumb_func_start sub_804777C
-sub_804777C: @ 804777C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, _080477FC @ =gUnknown_03004340
- adds r0, r5, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, _08047800 @ =gSprites
- adds r4, r0, r6
- movs r1, 0
- movs r0, 0x5
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r0, 0x73
- strh r0, [r4, 0x24]
- strh r1, [r4, 0x26]
- ldr r0, _08047804 @ =sub_8047830
- str r0, [r4, 0x1C]
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080477CA
- ldrh r0, [r4, 0x2E]
- negs r0, r0
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- negs r0, r0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- negs r0, r0
- strh r0, [r4, 0x26]
-_080477CA:
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r1, r0, r1
- adds r0, r6
- ldr r1, [r1]
- bl _call_via_r1
- adds r0, r5, 0
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080477F4
- ldr r0, _08047808 @ =sub_804780C
- str r0, [r4, 0x1C]
-_080477F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080477FC: .4byte gUnknown_03004340
-_08047800: .4byte gSprites
-_08047804: .4byte sub_8047830
-_08047808: .4byte sub_804780C
- thumb_func_end sub_804777C
-
- thumb_func_start sub_804780C
-sub_804780C: @ 804780C
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _08047826
- movs r0, 0
- strh r0, [r1, 0x30]
- ldr r0, _0804782C @ =sub_8047830
- str r0, [r1, 0x1C]
-_08047826:
- pop {r0}
- bx r0
- .align 2, 0
-_0804782C: .4byte sub_8047830
- thumb_func_end sub_804780C
-
- thumb_func_start sub_8047830
-sub_8047830: @ 8047830
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x2E]
- subs r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x26]
- ldrh r1, [r2, 0x30]
- subs r0, r1
- strh r0, [r2, 0x26]
- ldr r0, [r2, 0x24]
- cmp r0, 0
- bne _0804784E
- ldr r0, _08047854 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0804784E:
- pop {r0}
- bx r0
- .align 2, 0
-_08047854: .4byte SpriteCallbackDummy
- thumb_func_end sub_8047830
-
- thumb_func_start sub_8047858
-sub_8047858: @ 8047858
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08047890 @ =oamc_804BEB4
- adds r0, r5, 0
- bl object_new_hidden_with_callback
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08047894 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r3, r1, r2
- movs r0, 0x1
- strh r0, [r3, 0x2E]
- ldr r0, _08047898 @ =gUnknown_03004340
- adds r4, r0
- ldrb r0, [r4]
- strh r0, [r3, 0x30]
- adds r2, 0x1C
- adds r1, r2
- str r5, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08047890: .4byte oamc_804BEB4
-_08047894: .4byte gSprites
-_08047898: .4byte gUnknown_03004340
- thumb_func_end sub_8047858
-
- thumb_func_start oamc_804BEB4
-oamc_804BEB4: @ 804789C
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080478D8 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrh r0, [r3, 0x2E]
- movs r2, 0
- strh r0, [r1, 0x26]
- ldrh r0, [r3, 0x2E]
- negs r0, r0
- strh r0, [r3, 0x2E]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080478D4
- strh r2, [r1, 0x24]
- strh r2, [r1, 0x26]
- adds r0, r3, 0
- bl DestroySprite
-_080478D4:
- pop {r0}
- bx r0
- .align 2, 0
-_080478D8: .4byte gSprites
- thumb_func_end oamc_804BEB4
-
- thumb_func_start sub_80478DC
-sub_80478DC: @ 80478DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08047938 @ =gUnknown_0820A92C
- lsls r6, r4, 3
- adds r5, r6, r0
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, _0804793C @ =0xffff0000
- cmp r0, r1
- bne _08047904
- adds r0, r5, 0
- bl LoadCompressedObjectPic
- ldr r0, _08047940 @ =gUnknown_0820A98C
- adds r0, r6, r0
- bl LoadCompressedObjectPalette
-_08047904:
- cmp r4, 0x6
- beq _08047930
- cmp r4, 0x6
- blt _08047914
- cmp r4, 0xB
- bgt _08047914
- cmp r4, 0xA
- bge _08047930
-_08047914:
- ldr r1, _08047938 @ =gUnknown_0820A92C
- lsls r0, r4, 3
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- ldr r0, _08047944 @ =gUnknown_08D030D0
- lsrs r1, 11
- ldr r2, _08047948 @ =0x06010100
- adds r1, r2
- bl LZDecompressVram
-_08047930:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08047938: .4byte gUnknown_0820A92C
-_0804793C: .4byte 0xffff0000
-_08047940: .4byte gUnknown_0820A98C
-_08047944: .4byte gUnknown_08D030D0
-_08047948: .4byte 0x06010100
- thumb_func_end sub_80478DC
-
- thumb_func_start sub_804794C
-sub_804794C: @ 804794C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- ldr r0, _08047970 @ =gUnknown_0820A92C
- lsrs r4, 21
- adds r0, r4, r0
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r0, _08047974 @ =gUnknown_0820A98C
- adds r4, r0
- ldrh r0, [r4, 0x4]
- bl FreeSpritePaletteByTag
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08047970: .4byte gUnknown_0820A92C
-_08047974: .4byte gUnknown_0820A98C
- thumb_func_end sub_804794C
-
- thumb_func_start sub_8047978
-sub_8047978: @ 8047978
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080479A4
- ldr r1, _0804799C @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080479A0 @ =gEnemyParty
- b _080479B2
- .align 2, 0
-_0804799C: .4byte gUnknown_02024A6A
-_080479A0: .4byte gEnemyParty
-_080479A4:
- ldr r1, _080479C4 @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080479C8 @ =gPlayerParty
-_080479B2:
- adds r0, r1
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080479C4: .4byte gUnknown_02024A6A
-_080479C8: .4byte gPlayerParty
- thumb_func_end sub_8047978
+ thumb_func_end GetHPBarLevel
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_806D7F8.s b/asm/rom_806D7F8.s
index 8f95428c3..d28aea9a8 100644
--- a/asm/rom_806D7F8.s
+++ b/asm/rom_806D7F8.s
@@ -19,7 +19,7 @@ sub_806D7F8: @ 806D7F8
asrs r2, 16
adds r0, r1, 0
adds r1, r2, 0
- bl sub_8046200
+ bl GetHPBarLevel
lsls r0, 24
lsrs r0, 24
movs r2, 0
@@ -1812,7 +1812,7 @@ sub_806E574: @ 806E574
asrs r3, 16
adds r0, r2, 0
adds r1, r3, 0
- bl sub_8046200
+ bl GetHPBarLevel
lsls r0, 24
lsrs r3, r0, 24
adds r4, r3, 0
@@ -4082,7 +4082,7 @@ sub_806F7E8: @ 806F7E8
adds r0, r6, r2
movs r4, 0
ldrsh r0, [r0, r4]
- bl sub_8046200
+ bl GetHPBarLevel
lsls r0, 24
lsrs r2, r0, 24
adds r3, r2, 0
diff --git a/asm/rom_8074BAC.s b/asm/rom_8077ABC.s
index 27f89abde..8a4f5595c 100644
--- a/asm/rom_8074BAC.s
+++ b/asm/rom_8077ABC.s
@@ -6,4726 +6,6 @@
.text
- thumb_func_start sub_8075624
-sub_8075624: @ 8075624
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080756B8 @ =gUnknown_0202F7B0
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080756BC @ =gUnknown_0202F7B1
- strb r1, [r0]
- ldr r0, _080756C0 @ =gUnknown_0202F7B2
- strb r1, [r0]
- ldr r0, _080756C4 @ =gUnknown_0202F7B3
- strb r1, [r0]
- ldr r0, _080756C8 @ =gUnknown_0202F7B4
- movs r1, 0
- str r1, [r0]
- ldr r0, _080756CC @ =gUnknown_0202F7B8
- str r1, [r0]
- ldr r0, _080756D0 @ =gUnknown_0202F7BC
- movs r2, 0
- strh r1, [r0]
- ldr r0, _080756D4 @ =gUnknown_0202F7BE
- strb r2, [r0]
- ldr r4, _080756D8 @ =gUnknown_0202F7C2
- ldr r5, _080756DC @ =gUnknown_0202F7C4
- ldr r6, _080756E0 @ =gUnknown_0202F7C5
- ldr r7, _080756E4 @ =gUnknown_0202F7C6
- ldr r0, _080756E8 @ =gUnknown_0202F7C8
- mov r12, r0
- ldr r1, _080756EC @ =gUnknown_0202F7C9
- mov r8, r1
- ldr r0, _080756F0 @ =gUnknown_0202F7D2
- mov r9, r0
- ldr r1, _080756F4 @ =0x0000ffff
- adds r3, r1, 0
- ldr r1, _080756F8 @ =gUnknown_03004B10
- movs r2, 0x7
-_0807566E:
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _0807566E
- ldr r1, _080756FC @ =gUnknown_03004B00
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xE
-_08075684:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _08075684
- movs r1, 0
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r4, 0x1]
- strb r1, [r5]
- strb r1, [r6]
- movs r0, 0
- strh r1, [r7]
- mov r1, r12
- strb r0, [r1]
- mov r1, r8
- strb r0, [r1]
- mov r1, r9
- strb r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080756B8: .4byte gUnknown_0202F7B0
-_080756BC: .4byte gUnknown_0202F7B1
-_080756C0: .4byte gUnknown_0202F7B2
-_080756C4: .4byte gUnknown_0202F7B3
-_080756C8: .4byte gUnknown_0202F7B4
-_080756CC: .4byte gUnknown_0202F7B8
-_080756D0: .4byte gUnknown_0202F7BC
-_080756D4: .4byte gUnknown_0202F7BE
-_080756D8: .4byte gUnknown_0202F7C2
-_080756DC: .4byte gUnknown_0202F7C4
-_080756E0: .4byte gUnknown_0202F7C5
-_080756E4: .4byte gUnknown_0202F7C6
-_080756E8: .4byte gUnknown_0202F7C8
-_080756EC: .4byte gUnknown_0202F7C9
-_080756F0: .4byte gUnknown_0202F7D2
-_080756F4: .4byte 0x0000ffff
-_080756F8: .4byte gUnknown_03004B10
-_080756FC: .4byte gUnknown_03004B00
- thumb_func_end sub_8075624
-
- thumb_func_start move_anim_start_t1
-move_anim_start_t1: @ 8075700
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _08075724 @ =gUnknown_0202F7C8
- ldr r0, _08075728 @ =gUnknown_02024C07
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r2, _0807572C @ =gUnknown_0202F7C9
- ldr r0, _08075730 @ =gUnknown_02024C08
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r0, _08075734 @ =gBattleAnims_Moves
- movs r2, 0x1
- bl move_something
- pop {r0}
- bx r0
- .align 2, 0
-_08075724: .4byte gUnknown_0202F7C8
-_08075728: .4byte gUnknown_02024C07
-_0807572C: .4byte gUnknown_0202F7C9
-_08075730: .4byte gUnknown_02024C08
-_08075734: .4byte gBattleAnims_Moves
- thumb_func_end move_anim_start_t1
-
- thumb_func_start move_something
-move_something: @ 8075738
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080757D8
- bl sub_8079E24
- movs r0, 0
- bl sub_8043EB4
- movs r4, 0
- mov r0, r8
- lsls r0, 2
- mov r10, r0
- ldr r6, _0807578C @ =gUnknown_02024A6A
- movs r7, 0x64
- ldr r5, _08075790 @ =gUnknown_0202F7CA
-_08075774:
- lsls r0, r4, 24
- lsrs r0, 24
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _08075798
- ldrh r0, [r6]
- muls r0, r7
- ldr r1, _08075794 @ =gEnemyParty
- b _0807579E
- .align 2, 0
-_0807578C: .4byte gUnknown_02024A6A
-_08075790: .4byte gUnknown_0202F7CA
-_08075794: .4byte gEnemyParty
-_08075798:
- ldrh r0, [r6]
- muls r0, r7
- ldr r1, _080757C0 @ =gPlayerParty
-_0807579E:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- strh r0, [r5]
- adds r6, 0x2
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _08075774
- ldr r3, _080757C4 @ =gUnknown_0202F7C6
- ldr r5, _080757C8 @ =gUnknown_0202F7C2
- ldr r1, _080757CC @ =gUnknown_0202F7B1
- mov r12, r1
- ldr r7, _080757D0 @ =gUnknown_0202F7AC
- ldr r6, _080757D4 @ =sub_80759D0
- b _080757FC
- .align 2, 0
-_080757C0: .4byte gPlayerParty
-_080757C4: .4byte gUnknown_0202F7C6
-_080757C8: .4byte gUnknown_0202F7C2
-_080757CC: .4byte gUnknown_0202F7B1
-_080757D0: .4byte gUnknown_0202F7AC
-_080757D4: .4byte sub_80759D0
-_080757D8:
- ldr r3, _08075808 @ =gUnknown_0202F7C6
- ldr r5, _0807580C @ =gUnknown_0202F7C2
- mov r0, r8
- lsls r0, 2
- mov r10, r0
- ldr r1, _08075810 @ =gUnknown_0202F7B1
- mov r12, r1
- ldr r7, _08075814 @ =gUnknown_0202F7AC
- ldr r6, _08075818 @ =sub_80759D0
- ldr r2, _0807581C @ =0x02019348
- ldr r1, _08075820 @ =gUnknown_0202F7CA
- movs r4, 0x3
-_080757F0:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080757F0
-_080757FC:
- mov r0, r9
- cmp r0, 0
- bne _08075824
- strh r0, [r3]
- b _08075828
- .align 2, 0
-_08075808: .4byte gUnknown_0202F7C6
-_0807580C: .4byte gUnknown_0202F7C2
-_08075810: .4byte gUnknown_0202F7B1
-_08075814: .4byte gUnknown_0202F7AC
-_08075818: .4byte sub_80759D0
-_0807581C: .4byte 0x02019348
-_08075820: .4byte gUnknown_0202F7CA
-_08075824:
- mov r1, r8
- strh r1, [r3]
-_08075828:
- ldr r1, _0807587C @ =gUnknown_03004B00
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xE
-_08075830:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _08075830
- movs r0, 0xFF
- strb r0, [r5]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r5, 0x1]
- ldr r0, [sp]
- add r0, r10
- ldr r0, [r0]
- ldr r1, _08075880 @ =gUnknown_0202F7A4
- str r0, [r1]
- movs r0, 0x1
- mov r1, r12
- strb r0, [r1]
- movs r0, 0
- ldr r1, _08075884 @ =gUnknown_0202F7B0
- strb r0, [r1]
- str r6, [r7]
- ldr r0, _08075888 @ =0x0000ffff
- adds r2, r0, 0
- ldr r1, _0807588C @ =gUnknown_03004B10
- movs r4, 0x7
-_08075862:
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08075862
- mov r1, r9
- cmp r1, 0
- beq _080758AE
- movs r4, 0
- ldr r2, _08075890 @ =gUnknown_081C7160
- b _08075896
- .align 2, 0
-_0807587C: .4byte gUnknown_03004B00
-_08075880: .4byte gUnknown_0202F7A4
-_08075884: .4byte gUnknown_0202F7B0
-_08075888: .4byte 0x0000ffff
-_0807588C: .4byte gUnknown_03004B10
-_08075890: .4byte gUnknown_081C7160
-_08075894:
- adds r4, 0x1
-_08075896:
- lsls r0, r4, 1
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, _080758D0 @ =0x0000ffff
- cmp r0, r1
- beq _080758AE
- cmp r8, r0
- bne _08075894
- ldr r0, _080758D4 @ =gMPlay_BGM
- movs r2, 0x80
- bl m4aMPlayVolumeControl
-_080758AE:
- ldr r0, _080758D8 @ =gUnknown_030042C4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080758DC @ =gUnknown_03004240
- strh r1, [r0]
- ldr r0, _080758E0 @ =gUnknown_03004200
- strh r1, [r0]
- ldr r0, _080758E4 @ =gUnknown_03004244
- strh r1, [r0]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080758D0: .4byte 0x0000ffff
-_080758D4: .4byte gMPlay_BGM
-_080758D8: .4byte gUnknown_030042C4
-_080758DC: .4byte gUnknown_03004240
-_080758E0: .4byte gUnknown_03004200
-_080758E4: .4byte gUnknown_03004244
- thumb_func_end move_something
-
- thumb_func_start move_anim_8072740
-move_anim_8072740: @ 80758E8
- push {r4,lr}
- adds r4, r0, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- ldr r1, _08075904 @ =gUnknown_0202F7B2
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08075904: .4byte gUnknown_0202F7B2
- thumb_func_end move_anim_8072740
-
- thumb_func_start move_anim_task_del
-move_anim_task_del: @ 8075908
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r1, _08075920 @ =gUnknown_0202F7B2
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08075920: .4byte gUnknown_0202F7B2
- thumb_func_end move_anim_task_del
-
- thumb_func_start move_anim_related_task_del
-move_anim_related_task_del: @ 8075924
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r1, _0807593C @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0807593C: .4byte gUnknown_0202F7B3
- thumb_func_end move_anim_related_task_del
-
- thumb_func_start sub_8075940
-sub_8075940: @ 8075940
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r4, _08075958 @ =0x0000ffff
- ldr r1, _0807595C @ =gUnknown_03004B10
-_0807594C:
- ldrh r0, [r1]
- cmp r0, r4
- bne _08075960
- strh r3, [r1]
- b _08075968
- .align 2, 0
-_08075958: .4byte 0x0000ffff
-_0807595C: .4byte gUnknown_03004B10
-_08075960:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x7
- ble _0807594C
-_08075968:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075940
-
- thumb_func_start sub_8075970
-sub_8075970: @ 8075970
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r0, _0807598C @ =0x0000ffff
- adds r4, r0, 0
- ldr r1, _08075990 @ =gUnknown_03004B10
-_0807597E:
- ldrh r0, [r1]
- cmp r0, r3
- bne _08075994
- orrs r0, r4
- strh r0, [r1]
- b _0807599C
- .align 2, 0
-_0807598C: .4byte 0x0000ffff
-_08075990: .4byte gUnknown_03004B10
-_08075994:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x7
- ble _0807597E
-_0807599C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075970
-
- thumb_func_start move_anim_waiter
-move_anim_waiter: @ 80759A4
- push {lr}
- ldr r2, _080759BC @ =gUnknown_0202F7B0
- ldrb r1, [r2]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- bgt _080759C8
- ldr r0, _080759C0 @ =gUnknown_0202F7AC
- ldr r1, _080759C4 @ =sub_80759D0
- str r1, [r0]
- movs r0, 0
- b _080759CA
- .align 2, 0
-_080759BC: .4byte gUnknown_0202F7B0
-_080759C0: .4byte gUnknown_0202F7AC
-_080759C4: .4byte sub_80759D0
-_080759C8:
- subs r0, r1, 0x1
-_080759CA:
- strb r0, [r2]
- pop {r0}
- bx r0
- thumb_func_end move_anim_waiter
-
- thumb_func_start sub_80759D0
-sub_80759D0: @ 80759D0
- push {r4,lr}
- ldr r4, _08075A00 @ =gUnknown_0837F4B8
-_080759D4:
- ldr r0, _08075A04 @ =gUnknown_0202F7A4
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08075A08 @ =gUnknown_0202F7B0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080759F8
- ldr r0, _08075A0C @ =gUnknown_0202F7B1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080759D4
-_080759F8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08075A00: .4byte gUnknown_0837F4B8
-_08075A04: .4byte gUnknown_0202F7A4
-_08075A08: .4byte gUnknown_0202F7B0
-_08075A0C: .4byte gUnknown_0202F7B1
- thumb_func_end sub_80759D0
-
- thumb_func_start ma00_load_graphics
-ma00_load_graphics: @ 8075A10
- push {r4-r6,lr}
- ldr r6, _08075A5C @ =gUnknown_0202F7A4
- ldr r0, [r6]
- adds r1, r0, 0x1
- str r1, [r6]
- ldrb r4, [r0, 0x1]
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- orrs r4, r0
- lsls r5, r4, 3
- ldr r0, _08075A60 @ =gBattleAnimPicTable - (10000 * 8)
- adds r0, r5, r0
- bl LoadCompressedObjectPic
- ldr r0, _08075A64 @ =gBattleAnimPaletteTable - (10000 * 8)
- adds r5, r0
- adds r0, r5, 0
- bl LoadCompressedObjectPalette
- ldr r0, [r6]
- adds r0, 0x2
- str r0, [r6]
- ldr r0, _08075A68 @ =0xffffd8f0
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- bl sub_8075940
- ldr r1, _08075A6C @ =gUnknown_0202F7B0
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _08075A70 @ =gUnknown_0202F7AC
- ldr r0, _08075A74 @ =move_anim_waiter
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08075A5C: .4byte gUnknown_0202F7A4
-_08075A60: .4byte gBattleAnimPicTable - (10000 * 8)
-_08075A64: .4byte gBattleAnimPaletteTable - (10000 * 8)
-_08075A68: .4byte 0xffffd8f0
-_08075A6C: .4byte gUnknown_0202F7B0
-_08075A70: .4byte gUnknown_0202F7AC
-_08075A74: .4byte move_anim_waiter
- thumb_func_end ma00_load_graphics
-
- thumb_func_start ma01_080728D0
-ma01_080728D0: @ 8075A78
- push {r4-r6,lr}
- ldr r6, _08075AB8 @ =gUnknown_0202F7A4
- ldr r0, [r6]
- adds r1, r0, 0x1
- str r1, [r6]
- ldrb r4, [r0, 0x1]
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- orrs r4, r0
- ldr r1, _08075ABC @ =gBattleAnimPicTable
- ldr r0, _08075AC0 @ =0xffffd8f0
- adds r4, r0
- lsls r0, r4, 3
- adds r0, r1
- ldrh r5, [r0, 0x6]
- adds r0, r5, 0
- bl FreeSpriteTilesByTag
- adds r0, r5, 0
- bl FreeSpritePaletteByTag
- ldr r0, [r6]
- adds r0, 0x2
- str r0, [r6]
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- bl sub_8075970
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08075AB8: .4byte gUnknown_0202F7A4
-_08075ABC: .4byte gBattleAnimPicTable
-_08075AC0: .4byte 0xffffd8f0
- thumb_func_end ma01_080728D0
-
- thumb_func_start ma02_instanciate_template
-ma02_instanciate_template: @ 8075AC4
- push {r4-r7,lr}
- ldr r5, _08075B2C @ =gUnknown_0202F7A4
- ldr r1, [r5]
- adds r3, r1, 0x1
- str r3, [r5]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r3, 0x1]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r3, 0x2]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 24
- adds r7, r2, r0
- adds r0, r1, 0x5
- str r0, [r5]
- ldrb r4, [r1, 0x5]
- adds r0, r1, 0x6
- str r0, [r5]
- ldrb r0, [r1, 0x6]
- adds r1, 0x7
- str r1, [r5]
- cmp r0, 0
- beq _08075B14
- adds r6, r5, 0
- ldr r5, _08075B30 @ =gUnknown_03004B00
- adds r3, r0, 0
-_08075AFC:
- ldr r2, [r6]
- ldrb r1, [r2]
- ldrb r0, [r2, 0x1]
- lsls r0, 8
- orrs r1, r0
- strh r1, [r5]
- adds r2, 0x2
- str r2, [r6]
- adds r5, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _08075AFC
-_08075B14:
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _08075B44
- movs r0, 0x80
- eors r4, r0
- cmp r4, 0x3F
- bls _08075B34
- adds r0, r4, 0
- subs r0, 0x40
- b _08075B36
- .align 2, 0
-_08075B2C: .4byte gUnknown_0202F7A4
-_08075B30: .4byte gUnknown_03004B00
-_08075B34:
- negs r0, r4
-_08075B36:
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08075B40 @ =gUnknown_0202F7C9
- b _08075B56
- .align 2, 0
-_08075B40: .4byte gUnknown_0202F7C9
-_08075B44:
- cmp r4, 0x3F
- bls _08075B4E
- adds r0, r4, 0
- subs r0, 0x40
- b _08075B50
-_08075B4E:
- negs r0, r4
-_08075B50:
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08075BAC @ =gUnknown_0202F7C8
-_08075B56:
- ldrb r0, [r0]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 24
- asrs r1, 24
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0x2
- bgt _08075B74
- movs r6, 0x3
-_08075B74:
- ldr r5, _08075BB0 @ =gUnknown_0202F7C9
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, r6, 24
- lsrs r3, 24
- adds r0, r7, 0
- adds r1, r4, 0
- bl CreateSpriteAndAnimate
- ldr r1, _08075BB4 @ =gUnknown_0202F7B2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075BAC: .4byte gUnknown_0202F7C8
-_08075BB0: .4byte gUnknown_0202F7C9
-_08075BB4: .4byte gUnknown_0202F7B2
- thumb_func_end ma02_instanciate_template
-
- thumb_func_start sub_8075BB8
-sub_8075BB8: @ 8075BB8
- push {r4-r7,lr}
- ldr r4, _08075C28 @ =gUnknown_0202F7A4
- ldr r1, [r4]
- adds r3, r1, 0x1
- str r3, [r4]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r3, 0x1]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r3, 0x2]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 24
- adds r6, r2, r0
- adds r0, r1, 0x5
- str r0, [r4]
- ldrb r7, [r1, 0x5]
- adds r0, r1, 0x6
- str r0, [r4]
- ldrb r0, [r1, 0x6]
- adds r1, 0x7
- str r1, [r4]
- cmp r0, 0
- beq _08075C08
- adds r5, r4, 0
- ldr r4, _08075C2C @ =gUnknown_03004B00
- adds r3, r0, 0
-_08075BF0:
- ldr r2, [r5]
- ldrb r1, [r2]
- ldrb r0, [r2, 0x1]
- lsls r0, 8
- orrs r1, r0
- strh r1, [r4]
- adds r2, 0x2
- str r2, [r5]
- adds r4, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _08075BF0
-_08075C08:
- adds r0, r6, 0
- adds r1, r7, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r6
- ldr r1, _08075C30 @ =gUnknown_0202F7B2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075C28: .4byte gUnknown_0202F7A4
-_08075C2C: .4byte gUnknown_03004B00
-_08075C30: .4byte gUnknown_0202F7B2
- thumb_func_end sub_8075BB8
-
- thumb_func_start ma04_wait_countdown
-ma04_wait_countdown: @ 8075C34
- push {r4,lr}
- ldr r1, _08075C64 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r2, r0, 0x1
- str r2, [r1]
- ldr r3, _08075C68 @ =gUnknown_0202F7B0
- ldrb r0, [r0, 0x1]
- strb r0, [r3]
- lsls r0, 24
- cmp r0, 0
- bne _08075C52
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- strb r0, [r3]
-_08075C52:
- adds r0, r2, 0x1
- str r0, [r1]
- ldr r1, _08075C6C @ =gUnknown_0202F7AC
- ldr r0, _08075C70 @ =move_anim_waiter
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08075C64: .4byte gUnknown_0202F7A4
-_08075C68: .4byte gUnknown_0202F7B0
-_08075C6C: .4byte gUnknown_0202F7AC
-_08075C70: .4byte move_anim_waiter
- thumb_func_end ma04_wait_countdown
-
- thumb_func_start sub_8075C74
-sub_8075C74: @ 8075C74
- push {lr}
- ldr r0, _08075C8C @ =gUnknown_0202F7B2
- ldrb r2, [r0]
- cmp r2, 0
- bne _08075C98
- ldr r0, _08075C90 @ =gUnknown_0202F7A4
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- ldr r0, _08075C94 @ =gUnknown_0202F7B0
- strb r2, [r0]
- b _08075C9E
- .align 2, 0
-_08075C8C: .4byte gUnknown_0202F7B2
-_08075C90: .4byte gUnknown_0202F7A4
-_08075C94: .4byte gUnknown_0202F7B0
-_08075C98:
- ldr r1, _08075CA4 @ =gUnknown_0202F7B0
- movs r0, 0x1
- strb r0, [r1]
-_08075C9E:
- pop {r0}
- bx r0
- .align 2, 0
-_08075CA4: .4byte gUnknown_0202F7B0
- thumb_func_end sub_8075C74
-
- thumb_func_start nullsub_53
-nullsub_53: @ 8075CA8
- bx lr
- thumb_func_end nullsub_53
-
- thumb_func_start nullsub_88
-nullsub_88: @ 8075CAC
- bx lr
- thumb_func_end nullsub_88
-
- thumb_func_start sub_8075CB0
-sub_8075CB0: @ 8075CB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- mov r8, r0
- ldr r0, _08075CE0 @ =gUnknown_0202F7B2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08075CD8
- ldr r0, _08075CE4 @ =gUnknown_0202F7B3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08075CD8
- ldr r1, _08075CE8 @ =gUnknown_0202F7C2
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08075CD8
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08075CF0
-_08075CD8:
- ldr r1, _08075CEC @ =gUnknown_03004AF0
- movs r0, 0
- strh r0, [r1]
- b _08075D0A
- .align 2, 0
-_08075CE0: .4byte gUnknown_0202F7B2
-_08075CE4: .4byte gUnknown_0202F7B3
-_08075CE8: .4byte gUnknown_0202F7C2
-_08075CEC: .4byte gUnknown_03004AF0
-_08075CF0:
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _08075D28
- ldr r1, _08075D14 @ =gUnknown_03004AF0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5A
- bhi _08075D1C
-_08075D0A:
- ldr r1, _08075D18 @ =gUnknown_0202F7B0
- movs r0, 0x1
- strb r0, [r1]
- b _08075D8E
- .align 2, 0
-_08075D14: .4byte gUnknown_03004AF0
-_08075D18: .4byte gUnknown_0202F7B0
-_08075D1C:
- ldr r0, _08075D98 @ =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, _08075D9C @ =gMPlay_SE2
- bl m4aMPlayStop
-_08075D28:
- ldr r1, _08075DA0 @ =gUnknown_03004AF0
- movs r0, 0
- strh r0, [r1]
- movs r5, 0
- ldr r7, _08075DA4 @ =0x0000ffff
- ldr r6, _08075DA8 @ =gBattleAnimPicTable
- ldr r4, _08075DAC @ =gUnknown_03004B10
-_08075D36:
- ldrh r0, [r4]
- cmp r0, r7
- beq _08075D5A
- lsls r0, 3
- adds r0, r6
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldrh r0, [r4]
- lsls r0, 3
- adds r0, r6
- ldrh r0, [r0, 0x6]
- bl FreeSpritePaletteByTag
- ldrh r1, [r4]
- adds r0, r7, 0
- orrs r0, r1
- strh r0, [r4]
-_08075D5A:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x7
- ble _08075D36
- mov r1, r8
- cmp r1, 0
- bne _08075D8E
- ldr r0, _08075DB0 @ =gMPlay_BGM
- ldr r1, _08075DA4 @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _08075D88
- bl sub_8079E24
- movs r0, 0x1
- bl sub_8043EB4
-_08075D88:
- ldr r0, _08075DB4 @ =gUnknown_0202F7B1
- mov r1, r8
- strb r1, [r0]
-_08075D8E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075D98: .4byte gMPlay_SE1
-_08075D9C: .4byte gMPlay_SE2
-_08075DA0: .4byte gUnknown_03004AF0
-_08075DA4: .4byte 0x0000ffff
-_08075DA8: .4byte gBattleAnimPicTable
-_08075DAC: .4byte gUnknown_03004B10
-_08075DB0: .4byte gMPlay_BGM
-_08075DB4: .4byte gUnknown_0202F7B1
- thumb_func_end sub_8075CB0
-
- thumb_func_start ma09_play_sound
-ma09_play_sound: @ 8075DB8
- push {r4,lr}
- ldr r4, _08075DDC @ =gUnknown_0202F7A4
- ldr r0, [r4]
- adds r1, r0, 0x1
- str r1, [r4]
- ldrb r0, [r0, 0x1]
- ldrb r1, [r1, 0x1]
- lsls r1, 8
- orrs r0, r1
- bl PlaySE
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08075DDC: .4byte gUnknown_0202F7A4
- thumb_func_end ma09_play_sound
-
- thumb_func_start sub_8075DE0
-sub_8075DE0: @ 8075DE0
- push {r4-r7,lr}
- ldr r0, _08075DF4 @ =gUnknown_0202F7A4
- ldr r2, [r0]
- adds r1, r2, 0x1
- str r1, [r0]
- ldrb r6, [r2, 0x1]
- cmp r6, 0
- bne _08075DF8
- movs r6, 0x2
- b _08075E02
- .align 2, 0
-_08075DF4: .4byte gUnknown_0202F7A4
-_08075DF8:
- cmp r6, 0x1
- bne _08075DFE
- movs r6, 0x3
-_08075DFE:
- cmp r6, 0
- beq _08075E06
-_08075E02:
- cmp r6, 0x2
- bne _08075E10
-_08075E06:
- ldr r0, _08075E0C @ =gUnknown_0202F7C8
- b _08075E12
- .align 2, 0
-_08075E0C: .4byte gUnknown_0202F7C8
-_08075E10:
- ldr r0, _08075E44 @ =gUnknown_0202F7C9
-_08075E12:
- ldrb r5, [r0]
- adds r0, r5, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _08075ECE
- adds r0, r5, 0
- bl battle_get_per_side_status
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08075E3E
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08075E48
-_08075E3E:
- movs r7, 0
- b _08075E4A
- .align 2, 0
-_08075E44: .4byte gUnknown_0202F7C9
-_08075E48:
- movs r7, 0x1
-_08075E4A:
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8076034
- ldr r0, _08075E98 @ =gUnknown_02024BE0
- adds r0, r5, r0
- ldrb r4, [r0]
- ldr r0, _08075E9C @ =task_pA_ma0A_obj_to_bg_pal
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _08075EA0 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r1
- strh r4, [r2, 0x8]
- ldr r1, _08075EA4 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x24]
- ldrh r4, [r0, 0x20]
- adds r1, r4
- strh r1, [r2, 0xA]
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- strh r1, [r2, 0xC]
- cmp r7, 0
- bne _08075EB0
- ldr r0, _08075EA8 @ =gUnknown_030042C0
- ldrh r0, [r0]
- strh r0, [r2, 0xE]
- ldr r0, _08075EAC @ =gUnknown_030041B4
- b _08075EB8
- .align 2, 0
-_08075E98: .4byte gUnknown_02024BE0
-_08075E9C: .4byte task_pA_ma0A_obj_to_bg_pal
-_08075EA0: .4byte gTasks
-_08075EA4: .4byte gSprites
-_08075EA8: .4byte gUnknown_030042C0
-_08075EAC: .4byte gUnknown_030041B4
-_08075EB0:
- ldr r0, _08075F04 @ =gUnknown_03004288
- ldrh r0, [r0]
- strh r0, [r2, 0xE]
- ldr r0, _08075F08 @ =gUnknown_03004280
-_08075EB8:
- ldrh r0, [r0]
- strh r0, [r2, 0x10]
- ldr r0, _08075F0C @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- strh r7, [r1, 0x12]
- strh r5, [r1, 0x14]
- ldr r0, _08075F10 @ =gUnknown_0202F7C2
- strb r3, [r0]
-_08075ECE:
- movs r0, 0x2
- eors r5, r0
- cmp r6, 0x1
- bls _08075F9A
- adds r0, r5, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _08075F9A
- adds r0, r5, 0
- bl battle_get_per_side_status
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08075F00
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08075F14
-_08075F00:
- movs r7, 0
- b _08075F16
- .align 2, 0
-_08075F04: .4byte gUnknown_03004288
-_08075F08: .4byte gUnknown_03004280
-_08075F0C: .4byte gTasks
-_08075F10: .4byte gUnknown_0202F7C2
-_08075F14:
- movs r7, 0x1
-_08075F16:
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8076034
- ldr r0, _08075F64 @ =gUnknown_02024BE0
- adds r0, r5, r0
- ldrb r4, [r0]
- ldr r0, _08075F68 @ =task_pA_ma0A_obj_to_bg_pal
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _08075F6C @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r1
- strh r4, [r2, 0x8]
- ldr r1, _08075F70 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x24]
- ldrh r4, [r0, 0x20]
- adds r1, r4
- strh r1, [r2, 0xA]
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- strh r1, [r2, 0xC]
- cmp r7, 0
- bne _08075F7C
- ldr r0, _08075F74 @ =gUnknown_030042C0
- ldrh r0, [r0]
- strh r0, [r2, 0xE]
- ldr r0, _08075F78 @ =gUnknown_030041B4
- b _08075F84
- .align 2, 0
-_08075F64: .4byte gUnknown_02024BE0
-_08075F68: .4byte task_pA_ma0A_obj_to_bg_pal
-_08075F6C: .4byte gTasks
-_08075F70: .4byte gSprites
-_08075F74: .4byte gUnknown_030042C0
-_08075F78: .4byte gUnknown_030041B4
-_08075F7C:
- ldr r0, _08075FA8 @ =gUnknown_03004288
- ldrh r0, [r0]
- strh r0, [r2, 0xE]
- ldr r0, _08075FAC @ =gUnknown_03004280
-_08075F84:
- ldrh r0, [r0]
- strh r0, [r2, 0x10]
- ldr r0, _08075FB0 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- strh r7, [r1, 0x12]
- strh r5, [r1, 0x14]
- ldr r0, _08075FB4 @ =gUnknown_0202F7C2
- strb r3, [r0, 0x1]
-_08075F9A:
- ldr r1, _08075FB8 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075FA8: .4byte gUnknown_03004288
-_08075FAC: .4byte gUnknown_03004280
-_08075FB0: .4byte gTasks
-_08075FB4: .4byte gUnknown_0202F7C2
-_08075FB8: .4byte gUnknown_0202F7A4
- thumb_func_end sub_8075DE0
-
- thumb_func_start b_side_obj__get_some_boolean
-b_side_obj__get_some_boolean: @ 8075FBC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08075FDC
- ldr r0, _08075FD8 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- cmp r4, r0
- beq _0807601C
- b _0807602C
- .align 2, 0
-_08075FD8: .4byte gUnknown_0202F7C8
-_08075FDC:
- adds r0, r4, 0
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- beq _0807602C
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _0807601C
- lsls r0, r5, 2
- ldr r1, _08076020 @ =0x02017800
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807601C
- ldr r2, _08076024 @ =gSprites
- ldr r0, _08076028 @ =gUnknown_02024BE0
- adds r0, r5, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _0807602C
-_0807601C:
- movs r0, 0x1
- b _0807602E
- .align 2, 0
-_08076020: .4byte 0x02017800
-_08076024: .4byte gSprites
-_08076028: .4byte gUnknown_02024BE0
-_0807602C:
- movs r0, 0
-_0807602E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end b_side_obj__get_some_boolean
-
- thumb_func_start sub_8076034
-sub_8076034: @ 8076034
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- cmp r1, 0
- beq _0807604E
- b _08076220
-_0807604E:
- add r4, sp, 0x10
- adds r0, r4, 0
- bl sub_8078914
- ldr r2, [sp, 0x10]
- movs r3, 0x80
- lsls r3, 6
- add r6, sp, 0x1C
- add r0, sp, 0x20
- mov r10, r0
- mov r1, r9
- lsls r1, 5
- str r1, [sp, 0x24]
- movs r5, 0
- ldr r1, _08076194 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- mov r12, r6
- ldr r7, _08076198 @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r8, r0
-_0807607A:
- str r5, [sp, 0x1C]
- mov r0, r12
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _0807607A
- str r5, [sp, 0x1C]
- str r6, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r8
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0xC
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0]
- ldr r1, [sp, 0x14]
- movs r0, 0xFF
- mov r3, r10
- strh r0, [r3]
- ldr r0, _08076194 @ =0x040000d4
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0807619C @ =0x81000800
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r2, _080761A0 @ =REG_BG1CNT
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- ldr r0, _080761A4 @ =gUnknown_02024BE0
- add r0, r9
- ldrb r4, [r0]
- ldr r5, _080761A8 @ =gUnknown_030042C0
- ldr r0, _080761AC @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x24]
- ldrh r1, [r1, 0x20]
- adds r0, r1
- negs r0, r0
- adds r0, 0x20
- strh r0, [r5]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _0807611C
- ldr r0, _080761B0 @ =0x02019348
- ldrh r0, [r0]
- bl sub_80AEB1C
- lsls r0, 24
- cmp r0, 0
- beq _0807611C
- ldrh r0, [r5]
- subs r0, 0x1
- strh r0, [r5]
-_0807611C:
- ldr r3, _080761B4 @ =gUnknown_030041B4
- ldr r2, _080761AC @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x26]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- negs r0, r0
- adds r0, 0x20
- strh r0, [r3]
- ldr r0, _080761A4 @ =gUnknown_02024BE0
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r1, _080761B8 @ =REG_BG1HOFS
- ldr r0, _080761A8 @ =gUnknown_030042C0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r1]
- ldr r4, _080761BC @ =gPlttBufferUnfaded + 0x200
- ldr r0, [sp, 0x24]
- adds r4, r0, r4
- mov r2, sp
- ldrb r1, [r2, 0x18]
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- mov r3, sp
- ldrb r0, [r3, 0x18]
- lsls r0, 5
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- ldr r1, _08076194 @ =0x040000d4
- str r4, [r1]
- str r0, [r1, 0x4]
- ldr r0, _080761C0 @ =0x84000008
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080761C4
- movs r2, 0
- b _080761CE
- .align 2, 0
-_08076194: .4byte 0x040000d4
-_08076198: .4byte 0x85000400
-_0807619C: .4byte 0x81000800
-_080761A0: .4byte REG_BG1CNT
-_080761A4: .4byte gUnknown_02024BE0
-_080761A8: .4byte gUnknown_030042C0
-_080761AC: .4byte gSprites
-_080761B0: .4byte 0x02019348
-_080761B4: .4byte gUnknown_030041B4
-_080761B8: .4byte REG_BG1HOFS
-_080761BC: .4byte gPlttBufferUnfaded + 0x200
-_080761C0: .4byte 0x84000008
-_080761C4:
- mov r0, r9
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r2, r0, 24
-_080761CE:
- mov r0, sp
- ldrb r3, [r0, 0x18]
- ldr r0, [sp, 0x10]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- ldr r4, [sp, 0x14]
- movs r1, 0xFA
- lsls r1, 24
- adds r0, r4, r1
- cmp r0, 0
- bge _080761EA
- ldr r1, _08076218 @ =0xfa0007ff
- adds r0, r4, r1
-_080761EA:
- asrs r0, 11
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _0807621C @ =REG_BG1CNT
- ldr r0, [r0]
- lsls r0, 28
- lsrs r0, 30
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- bl sub_80E4EF8
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _08076210
- b _08076338
-_08076210:
- bl sub_8076380
- b _08076338
- .align 2, 0
-_08076218: .4byte 0xfa0007ff
-_0807621C: .4byte REG_BG1CNT
-_08076220:
- ldr r3, _08076348 @ =0x06006000
- movs r5, 0x80
- lsls r5, 6
- add r6, sp, 0x1C
- ldr r2, _0807634C @ =gSprites
- mov r10, r2
- mov r0, r9
- lsls r0, 5
- str r0, [sp, 0x24]
- movs r4, 0
- ldr r1, _08076350 @ =0x040000d4
- movs r2, 0x80
- lsls r2, 5
- mov r12, r6
- ldr r7, _08076354 @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r8, r0
-_08076244:
- str r4, [sp, 0x1C]
- mov r0, r12
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- subs r5, r2
- cmp r5, r2
- bhi _08076244
- str r4, [sp, 0x1C]
- str r6, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r5, 2
- mov r2, r8
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0xC
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0]
- ldr r1, _08076358 @ =0x0600f000
- movs r0, 0
- str r0, [sp, 0x1C]
- ldr r5, _08076350 @ =0x040000d4
- str r6, [r5]
- str r1, [r5, 0x4]
- ldr r0, _0807635C @ =0x85000200
- str r0, [r5, 0x8]
- ldr r0, [r5, 0x8]
- ldr r6, _08076360 @ =REG_BG2CNT
- ldrb r1, [r6]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r6]
- ldrb r1, [r6, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r6, 0x1]
- ldrb r1, [r6, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x1]
- ldr r2, _08076364 @ =gUnknown_02024BE0
- add r2, r9
- ldrb r4, [r2]
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- add r1, r10
- ldrh r0, [r1, 0x24]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- negs r0, r0
- adds r0, 0x20
- ldr r3, _08076368 @ =gUnknown_03004288
- strh r0, [r3]
- ldrh r0, [r1, 0x26]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- negs r0, r0
- adds r0, 0x20
- ldr r1, _0807636C @ =gUnknown_03004280
- strh r0, [r1]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r1, _08076370 @ =REG_BG2HOFS
- ldrh r0, [r3]
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0807636C @ =gUnknown_03004280
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r3, [sp, 0x24]
- ldr r0, _08076374 @ =gPlttBufferUnfaded + 0x200
- adds r4, r3, r0
- adds r0, r4, 0
- movs r1, 0x90
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08076378 @ =0x05000120
- str r4, [r5]
- str r0, [r5, 0x4]
- ldr r0, _0807637C @ =0x84000008
- str r0, [r5, 0x8]
- ldr r0, [r5, 0x8]
- mov r0, r9
- bl battle_get_per_side_status
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xC0
- lsls r0, 7
- str r0, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- ldr r0, [r6]
- lsls r0, 28
- lsrs r0, 30
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0x9
- bl sub_80E4EF8
-_08076338:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076348: .4byte 0x06006000
-_0807634C: .4byte gSprites
-_08076350: .4byte 0x040000d4
-_08076354: .4byte 0x85000400
-_08076358: .4byte 0x0600f000
-_0807635C: .4byte 0x85000200
-_08076360: .4byte REG_BG2CNT
-_08076364: .4byte gUnknown_02024BE0
-_08076368: .4byte gUnknown_03004288
-_0807636C: .4byte gUnknown_03004280
-_08076370: .4byte REG_BG2HOFS
-_08076374: .4byte gPlttBufferUnfaded + 0x200
-_08076378: .4byte 0x05000120
-_0807637C: .4byte 0x84000008
- thumb_func_end sub_8076034
-
- thumb_func_start sub_8076380
-sub_8076380: @ 8076380
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r0, _080763F8 @ =0x02019348
- ldrh r0, [r0]
- bl sub_80AEB1C
- lsls r0, 24
- cmp r0, 0
- beq _080763EE
- mov r0, sp
- bl sub_8078914
- ldr r6, [sp, 0x4]
- movs r5, 0
- movs r0, 0x7
- mov r12, r0
- movs r7, 0
-_080763A2:
- movs r4, 0
- adds r3, r7, r6
- mov r1, r12
- lsls r0, r1, 1
- adds r2, r0, r6
-_080763AC:
- ldrh r1, [r3]
- ldrh r0, [r2]
- strh r0, [r3]
- strh r1, [r2]
- adds r3, 0x2
- subs r2, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _080763AC
- movs r0, 0x20
- add r12, r0
- adds r7, 0x40
- adds r5, 0x1
- cmp r5, 0x7
- ble _080763A2
- movs r5, 0
- movs r1, 0x80
- lsls r1, 3
- adds r3, r1, 0
-_080763D2:
- adds r2, r5, 0x1
- lsls r0, r5, 6
- adds r1, r0, r6
- movs r4, 0x7
-_080763DA:
- ldrh r0, [r1]
- eors r0, r3
- strh r0, [r1]
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080763DA
- adds r5, r2, 0
- cmp r5, 0x7
- ble _080763D2
-_080763EE:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080763F8: .4byte 0x02019348
- thumb_func_end sub_8076380
-
- thumb_func_start sub_80763FC
-sub_80763FC: @ 80763FC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r12, r1
- adds r7, r2, 0
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r3, 24
- movs r0, 0x40
- mov r9, r0
- cmp r3, 0
- bne _0807641A
- movs r1, 0x20
- mov r9, r1
-_0807641A:
- lsls r0, r6, 28
- lsrs r6, r0, 16
- movs r0, 0
- cmp r0, r9
- bcs _08076452
- ldr r1, _08076460 @ =0x00000fff
- mov r8, r1
-_08076428:
- movs r3, 0
- adds r5, r0, 0x1
- lsls r4, r0, 5
-_0807642E:
- adds r1, r4, r3
- lsls r1, 1
- add r1, r12
- ldrh r2, [r1]
- mov r0, r8
- ands r0, r2
- orrs r0, r6
- adds r0, r7
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1F
- bls _0807642E
- lsls r0, r5, 24
- lsrs r0, 24
- cmp r0, r9
- bcc _08076428
-_08076452:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076460: .4byte 0x00000fff
- thumb_func_end sub_80763FC
-
- thumb_func_start sub_8076464
-sub_8076464: @ 8076464
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- add r5, sp, 0x4
- adds r0, r5, 0
- bl sub_8078914
- cmp r4, 0
- beq _0807648C
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080764F0
-_0807648C:
- ldr r2, [sp, 0x4]
- movs r3, 0x80
- lsls r3, 6
- add r5, sp, 0x10
- ldr r0, _080764E0 @ =gUnknown_030042C0
- mov r9, r0
- ldr r0, _080764E4 @ =gUnknown_030041B4
- mov r10, r0
- movs r6, 0
- ldr r1, _080764E8 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- mov r12, r5
- ldr r7, _080764EC @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r8, r0
-_080764AE:
- str r6, [sp, 0x10]
- mov r0, r12
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080764AE
- str r6, [sp, 0x10]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r8
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0]
- ldr r1, [sp, 0x8]
- b _08076540
- .align 2, 0
-_080764E0: .4byte gUnknown_030042C0
-_080764E4: .4byte gUnknown_030041B4
-_080764E8: .4byte 0x040000d4
-_080764EC: .4byte 0x85000400
-_080764F0:
- ldr r2, _08076568 @ =0x06006000
- movs r3, 0x80
- lsls r3, 6
- add r5, sp, 0x10
- ldr r0, _0807656C @ =gUnknown_03004288
- mov r9, r0
- ldr r0, _08076570 @ =gUnknown_03004280
- mov r10, r0
- movs r6, 0
- ldr r1, _08076574 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- mov r12, r5
- ldr r7, _08076578 @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r8, r0
-_08076512:
- str r6, [sp, 0x10]
- mov r0, r12
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _08076512
- str r6, [sp, 0x10]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r8
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0]
- ldr r1, _0807657C @ =0x0600f000
-_08076540:
- movs r2, 0
- str r2, [sp, 0x10]
- ldr r0, _08076574 @ =0x040000d4
- str r5, [r0]
- str r1, [r0, 0x4]
- ldr r1, _08076580 @ =0x85000200
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- mov r0, r9
- strh r2, [r0]
- mov r0, r10
- strh r2, [r0]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076568: .4byte 0x06006000
-_0807656C: .4byte gUnknown_03004288
-_08076570: .4byte gUnknown_03004280
-_08076574: .4byte 0x040000d4
-_08076578: .4byte 0x85000400
-_0807657C: .4byte 0x0600f000
-_08076580: .4byte 0x85000200
- thumb_func_end sub_8076464
-
- thumb_func_start task_pA_ma0A_obj_to_bg_pal
-task_pA_ma0A_obj_to_bg_pal: @ 8076584
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080765FC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrb r4, [r5, 0x8]
- ldrb r6, [r5, 0x14]
- mov r0, sp
- bl sub_8078914
- ldr r0, _08076600 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x24]
- ldrh r0, [r1, 0x20]
- adds r2, r0
- ldrh r0, [r5, 0xA]
- subs r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r2, [r1, 0x26]
- ldrh r1, [r1, 0x22]
- adds r2, r1
- ldrh r0, [r5, 0xC]
- subs r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08076614
- ldr r1, _08076604 @ =gUnknown_030042C0
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r3, [r5, 0xE]
- adds r0, r3
- strh r0, [r1]
- ldr r1, _08076608 @ =gUnknown_030041B4
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r5, [r5, 0x10]
- adds r0, r5
- strh r0, [r1]
- lsls r2, r6, 5
- ldr r1, _0807660C @ =gPlttBufferFaded + 0x200
- adds r2, r1
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 5
- ldr r3, _08076610 @ =0xfffffe00
- adds r1, r3
- adds r0, r1
- b _08076634
- .align 2, 0
-_080765FC: .4byte gTasks
-_08076600: .4byte gSprites
-_08076604: .4byte gUnknown_030042C0
-_08076608: .4byte gUnknown_030041B4
-_0807660C: .4byte gPlttBufferFaded + 0x200
-_08076610: .4byte 0xfffffe00
-_08076614:
- ldr r1, _08076648 @ =gUnknown_03004288
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r3, [r5, 0xE]
- adds r0, r3
- strh r0, [r1]
- ldr r1, _0807664C @ =gUnknown_03004280
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r5, [r5, 0x10]
- adds r0, r5
- strh r0, [r1]
- lsls r2, r6, 5
- ldr r0, _08076650 @ =gPlttBufferFaded + 0x200
- adds r2, r0
- subs r0, 0xE0
-_08076634:
- ldr r1, _08076654 @ =0x040000d4
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, _08076658 @ =0x84000008
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08076648: .4byte gUnknown_03004288
-_0807664C: .4byte gUnknown_03004280
-_08076650: .4byte gPlttBufferFaded + 0x200
-_08076654: .4byte 0x040000d4
-_08076658: .4byte 0x84000008
- thumb_func_end task_pA_ma0A_obj_to_bg_pal
-
- thumb_func_start ma0B_0807324C
-ma0B_0807324C: @ 807665C
- push {r4,r5,lr}
- ldr r0, _08076670 @ =gUnknown_0202F7A4
- ldr r2, [r0]
- adds r1, r2, 0x1
- str r1, [r0]
- ldrb r4, [r2, 0x1]
- cmp r4, 0
- bne _08076674
- movs r4, 0x2
- b _0807667E
- .align 2, 0
-_08076670: .4byte gUnknown_0202F7A4
-_08076674:
- cmp r4, 0x1
- bne _0807667A
- movs r4, 0x3
-_0807667A:
- cmp r4, 0
- beq _08076682
-_0807667E:
- cmp r4, 0x2
- bne _0807668C
-_08076682:
- ldr r0, _08076688 @ =gUnknown_0202F7C8
- b _0807668E
- .align 2, 0
-_08076688: .4byte gUnknown_0202F7C8
-_0807668C:
- ldr r0, _080766E4 @ =gUnknown_0202F7C9
-_0807668E:
- ldrb r5, [r0]
- ldr r3, _080766E8 @ =gUnknown_0202F7C2
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _080766B4
- ldr r2, _080766EC @ =gSprites
- ldr r0, _080766F0 @ =gUnknown_02024BE0
- adds r0, r5, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080766B4:
- cmp r4, 0x1
- bls _080766F4
- ldrb r0, [r3, 0x1]
- cmp r0, 0xFF
- beq _080766F4
- ldr r3, _080766EC @ =gSprites
- ldr r2, _080766F0 @ =gUnknown_02024BE0
- movs r1, 0x2
- adds r0, r5, 0
- eors r0, r1
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _080766F6
- .align 2, 0
-_080766E4: .4byte gUnknown_0202F7C9
-_080766E8: .4byte gUnknown_0202F7C2
-_080766EC: .4byte gSprites
-_080766F0: .4byte gUnknown_02024BE0
-_080766F4:
- movs r4, 0
-_080766F6:
- ldr r0, _08076720 @ =sub_807672C
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08076724 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xC]
- ldr r1, _08076728 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08076720: .4byte sub_807672C
-_08076724: .4byte gTasks
-_08076728: .4byte gUnknown_0202F7A4
- thumb_func_end ma0B_0807324C
-
- thumb_func_start sub_807672C
-sub_807672C: @ 807672C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0807676C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080767B6
- ldrb r0, [r1, 0xC]
- bl battle_get_per_side_status
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08076768
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08076770
-_08076768:
- movs r4, 0
- b _08076772
- .align 2, 0
-_0807676C: .4byte gTasks
-_08076770:
- movs r4, 0x1
-_08076772:
- ldr r6, _080767BC @ =gUnknown_0202F7C2
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _0807678A
- adds r0, r4, 0
- bl sub_8076464
- ldrb r0, [r6]
- bl DestroyTask
- movs r0, 0xFF
- strb r0, [r6]
-_0807678A:
- ldr r0, _080767C0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- ble _080767B0
- movs r0, 0x1
- eors r4, r0
- adds r0, r4, 0
- bl sub_8076464
- ldrb r0, [r6, 0x1]
- bl DestroyTask
- movs r0, 0xFF
- strb r0, [r6, 0x1]
-_080767B0:
- adds r0, r5, 0
- bl DestroyTask
-_080767B6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080767BC: .4byte gUnknown_0202F7C2
-_080767C0: .4byte gTasks
- thumb_func_end sub_807672C
-
- thumb_func_start sub_80767C4
-sub_80767C4: @ 80767C4
- push {r4,r5,lr}
- ldr r0, _080767D8 @ =gUnknown_0202F7A4
- ldr r2, [r0]
- adds r1, r2, 0x1
- str r1, [r0]
- ldrb r5, [r2, 0x1]
- cmp r5, 0
- bne _080767DC
- movs r5, 0x2
- b _080767E6
- .align 2, 0
-_080767D8: .4byte gUnknown_0202F7A4
-_080767DC:
- cmp r5, 0x1
- bne _080767E2
- movs r5, 0x3
-_080767E2:
- cmp r5, 0
- beq _080767EA
-_080767E6:
- cmp r5, 0x2
- bne _080767F4
-_080767EA:
- ldr r0, _080767F0 @ =gUnknown_0202F7C8
- b _080767F6
- .align 2, 0
-_080767F0: .4byte gUnknown_0202F7C8
-_080767F4:
- ldr r0, _08076828 @ =gUnknown_0202F7C9
-_080767F6:
- ldrb r4, [r0]
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _08076850
- adds r0, r4, 0
- bl battle_get_per_side_status
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08076822
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _0807682C
-_08076822:
- movs r1, 0
- b _0807682E
- .align 2, 0
-_08076828: .4byte gUnknown_0202F7C9
-_0807682C:
- movs r1, 0x1
-_0807682E:
- adds r0, r4, 0
- bl sub_8076034
- ldr r2, _08076888 @ =gSprites
- ldr r0, _0807688C @ =gUnknown_02024BE0
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_08076850:
- movs r0, 0x2
- eors r4, r0
- cmp r5, 0x1
- bls _080768B4
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080768B4
- adds r0, r4, 0
- bl battle_get_per_side_status
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08076882
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08076890
-_08076882:
- movs r1, 0
- b _08076892
- .align 2, 0
-_08076888: .4byte gSprites
-_0807688C: .4byte gUnknown_02024BE0
-_08076890:
- movs r1, 0x1
-_08076892:
- adds r0, r4, 0
- bl sub_8076034
- ldr r2, _080768C4 @ =gSprites
- ldr r0, _080768C8 @ =gUnknown_02024BE0
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080768B4:
- ldr r1, _080768CC @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080768C4: .4byte gSprites
-_080768C8: .4byte gUnknown_02024BE0
-_080768CC: .4byte gUnknown_0202F7A4
- thumb_func_end sub_80767C4
-
- thumb_func_start ma23_8073484
-ma23_8073484: @ 80768D0
- push {r4-r6,lr}
- ldr r0, _080768E4 @ =gUnknown_0202F7A4
- ldr r2, [r0]
- adds r1, r2, 0x1
- str r1, [r0]
- ldrb r5, [r2, 0x1]
- cmp r5, 0
- bne _080768E8
- movs r5, 0x2
- b _080768F2
- .align 2, 0
-_080768E4: .4byte gUnknown_0202F7A4
-_080768E8:
- cmp r5, 0x1
- bne _080768EE
- movs r5, 0x3
-_080768EE:
- cmp r5, 0
- beq _080768F6
-_080768F2:
- cmp r5, 0x2
- bne _08076900
-_080768F6:
- ldr r0, _080768FC @ =gUnknown_0202F7C8
- b _08076902
- .align 2, 0
-_080768FC: .4byte gUnknown_0202F7C8
-_08076900:
- ldr r0, _08076960 @ =gUnknown_0202F7C9
-_08076902:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _0807692C
- ldr r2, _08076964 @ =gSprites
- ldr r0, _08076968 @ =gUnknown_02024BE0
- adds r0, r6, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0807692C:
- cmp r5, 0x1
- bls _0807696C
- movs r0, 0x2
- adds r4, r6, 0
- eors r4, r0
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _0807696C
- ldr r2, _08076964 @ =gSprites
- ldr r0, _08076968 @ =gUnknown_02024BE0
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _0807696E
- .align 2, 0
-_08076960: .4byte gUnknown_0202F7C9
-_08076964: .4byte gSprites
-_08076968: .4byte gUnknown_02024BE0
-_0807696C:
- movs r5, 0
-_0807696E:
- ldr r0, _08076998 @ =sub_80769A4
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0807699C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- strh r6, [r1, 0xC]
- ldr r1, _080769A0 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08076998: .4byte sub_80769A4
-_0807699C: .4byte gTasks
-_080769A0: .4byte gUnknown_0202F7A4
- thumb_func_end ma23_8073484
-
- thumb_func_start sub_80769A4
-sub_80769A4: @ 80769A4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080769E8 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _08076A32
- ldrb r4, [r1, 0xC]
- adds r0, r4, 0
- bl battle_get_per_side_status
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _080769E2
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080769EC
-_080769E2:
- movs r5, 0
- b _080769EE
- .align 2, 0
-_080769E8: .4byte gTasks
-_080769EC:
- movs r5, 0x1
-_080769EE:
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _08076A00
- adds r0, r5, 0
- bl sub_8076464
-_08076A00:
- ldr r0, _08076A38 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- ble _08076A2C
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _08076A2C
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_8076464
-_08076A2C:
- adds r0, r6, 0
- bl DestroyTask
-_08076A32:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08076A38: .4byte gTasks
- thumb_func_end sub_80769A4
-
- thumb_func_start sub_8076A3C
-sub_8076A3C: @ 8076A3C
- push {r4,lr}
- ldr r2, _08076A6C @ =gUnknown_0202F7A4
- ldr r0, [r2]
- adds r1, r0, 0x1
- str r1, [r2]
- ldrb r3, [r0, 0x1]
- adds r0, r1, 0x1
- str r0, [r2]
- ldrb r1, [r1, 0x1]
- lsls r1, 8
- adds r0, 0x1
- str r0, [r2]
- ldr r2, _08076A70 @ =REG_BLDCNT
- movs r4, 0xFD
- lsls r4, 6
- adds r0, r4, 0
- strh r0, [r2]
- ldr r0, _08076A74 @ =REG_BLDALPHA
- orrs r3, r1
- strh r3, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08076A6C: .4byte gUnknown_0202F7A4
-_08076A70: .4byte REG_BLDCNT
-_08076A74: .4byte REG_BLDALPHA
- thumb_func_end sub_8076A3C
-
- thumb_func_start sub_8076A78
-sub_8076A78: @ 8076A78
- ldr r2, _08076A98 @ =gUnknown_0202F7A4
- ldr r0, [r2]
- adds r1, r0, 0x1
- str r1, [r2]
- ldrb r3, [r0, 0x1]
- adds r0, r1, 0x1
- str r0, [r2]
- ldrb r1, [r1, 0x1]
- lsls r1, 8
- adds r0, 0x1
- str r0, [r2]
- ldr r0, _08076A9C @ =REG_BLDCNT
- orrs r3, r1
- strh r3, [r0]
- bx lr
- .align 2, 0
-_08076A98: .4byte gUnknown_0202F7A4
-_08076A9C: .4byte REG_BLDCNT
- thumb_func_end sub_8076A78
-
- thumb_func_start sub_8076AA0
-sub_8076AA0: @ 8076AA0
- ldr r1, _08076AB4 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, _08076AB8 @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08076AB4: .4byte gUnknown_0202F7A4
-_08076AB8: .4byte REG_BLDCNT
- thumb_func_end sub_8076AA0
-
- thumb_func_start ma0E_call
-ma0E_call: @ 8076ABC
- push {r4,lr}
- ldr r4, _08076AE8 @ =gUnknown_0202F7A4
- ldr r1, [r4]
- adds r3, r1, 0x1
- str r3, [r4]
- ldr r2, _08076AEC @ =gUnknown_0202F7A8
- adds r0, r1, 0x5
- str r0, [r2]
- ldrb r1, [r1, 0x1]
- ldrb r0, [r3, 0x1]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x2]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 24
- adds r1, r0
- str r1, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08076AE8: .4byte gUnknown_0202F7A4
-_08076AEC: .4byte gUnknown_0202F7A8
- thumb_func_end ma0E_call
-
- thumb_func_start sub_8076AF0
-sub_8076AF0: @ 8076AF0
- ldr r0, _08076AFC @ =gUnknown_0202F7A4
- ldr r1, _08076B00 @ =gUnknown_0202F7A8
- ldr r1, [r1]
- str r1, [r0]
- bx lr
- .align 2, 0
-_08076AFC: .4byte gUnknown_0202F7A4
-_08076B00: .4byte gUnknown_0202F7A8
- thumb_func_end sub_8076AF0
-
- thumb_func_start ma10_080736AC
-ma10_080736AC: @ 8076B04
- push {r4,r5,lr}
- ldr r5, _08076B30 @ =gUnknown_0202F7A4
- ldr r1, [r5]
- adds r0, r1, 0x1
- str r0, [r5]
- ldrb r2, [r1, 0x1]
- adds r3, r0, 0x1
- str r3, [r5]
- ldrb r4, [r0, 0x1]
- ldrb r0, [r3, 0x1]
- lsls r0, 8
- orrs r4, r0
- adds r1, 0x4
- str r1, [r5]
- ldr r0, _08076B34 @ =gUnknown_03004B00
- lsls r2, 1
- adds r2, r0
- strh r4, [r2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08076B30: .4byte gUnknown_0202F7A4
-_08076B34: .4byte gUnknown_03004B00
- thumb_func_end ma10_080736AC
-
- thumb_func_start ma11_if_else
-ma11_if_else: @ 8076B38
- push {lr}
- ldr r3, _08076B70 @ =gUnknown_0202F7A4
- ldr r2, [r3]
- adds r0, r2, 0x1
- str r0, [r3]
- ldr r0, _08076B74 @ =gUnknown_0202F7C4
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08076B52
- adds r0, r2, 0x5
- str r0, [r3]
-_08076B52:
- ldr r2, [r3]
- ldrb r1, [r2]
- ldrb r0, [r2, 0x1]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x2]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_08076B70: .4byte gUnknown_0202F7A4
-_08076B74: .4byte gUnknown_0202F7C4
- thumb_func_end ma11_if_else
-
- thumb_func_start ma12_cond_if
-ma12_cond_if: @ 8076B78
- push {r4,r5,lr}
- ldr r5, _08076BA8 @ =gUnknown_0202F7A4
- ldr r4, [r5]
- adds r2, r4, 0x1
- str r2, [r5]
- ldrb r1, [r4, 0x1]
- adds r3, r2, 0x1
- str r3, [r5]
- ldr r0, _08076BAC @ =gUnknown_0202F7C4
- ldrb r0, [r0]
- cmp r1, r0
- bne _08076BB0
- ldrb r1, [r2, 0x1]
- ldrb r0, [r3, 0x1]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x2]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 24
- adds r1, r0
- str r1, [r5]
- b _08076BB4
- .align 2, 0
-_08076BA8: .4byte gUnknown_0202F7A4
-_08076BAC: .4byte gUnknown_0202F7C4
-_08076BB0:
- adds r0, r4, 0x6
- str r0, [r5]
-_08076BB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ma12_cond_if
-
- thumb_func_start sub_8076BBC
-sub_8076BBC: @ 8076BBC
- ldr r3, _08076BDC @ =gUnknown_0202F7A4
- ldr r0, [r3]
- adds r2, r0, 0x1
- str r2, [r3]
- ldrb r1, [r0, 0x1]
- ldrb r0, [r2, 0x1]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x2]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
- bx lr
- .align 2, 0
-_08076BDC: .4byte gUnknown_0202F7A4
- thumb_func_end sub_8076BBC
-
- thumb_func_start sub_8076BE0
-sub_8076BE0: @ 8076BE0
- push {lr}
- ldr r0, _08076BF8 @ =gMain
- ldr r1, _08076BFC @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08076C00
- movs r0, 0
- b _08076C02
- .align 2, 0
-_08076BF8: .4byte gMain
-_08076BFC: .4byte 0x0000043d
-_08076C00:
- movs r0, 0x1
-_08076C02:
- pop {r1}
- bx r1
- thumb_func_end sub_8076BE0
-
- thumb_func_start ma14_load_background
-ma14_load_background: @ 8076C08
- push {r4,lr}
- ldr r1, _08076C3C @ =gUnknown_0202F7A4
- ldr r2, [r1]
- adds r0, r2, 0x1
- str r0, [r1]
- ldrb r4, [r2, 0x1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08076C44 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- ldr r1, _08076C48 @ =gUnknown_0202F7C5
- movs r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08076C3C: .4byte gUnknown_0202F7A4
-_08076C40: .4byte task_p5_load_battle_screen_elements
-_08076C44: .4byte gTasks
-_08076C48: .4byte gUnknown_0202F7C5
- thumb_func_end ma14_load_background
-
- thumb_func_start sub_8076C4C
-sub_8076C4C: @ 8076C4C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r2, _08076C8C @ =gUnknown_0202F7A4
- ldr r1, [r2]
- adds r0, r1, 0x1
- str r0, [r2]
- ldrb r3, [r1, 0x1]
- mov r8, r3
- ldrb r7, [r0, 0x1]
- ldrb r6, [r0, 0x2]
- adds r1, 0x4
- str r1, [r2]
- ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08076C98
- ldr r1, _08076C94 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x8]
- b _08076CCA
- .align 2, 0
-_08076C8C: .4byte gUnknown_0202F7A4
-_08076C90: .4byte task_p5_load_battle_screen_elements
-_08076C94: .4byte gTasks
-_08076C98:
- ldr r0, _08076CB4 @ =gUnknown_0202F7C9
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08076CBC
- ldr r1, _08076CB8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0x8]
- b _08076CCA
- .align 2, 0
-_08076CB4: .4byte gUnknown_0202F7C9
-_08076CB8: .4byte gTasks
-_08076CBC:
- ldr r1, _08076CDC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- mov r1, r8
- strh r1, [r0, 0x8]
-_08076CCA:
- ldr r1, _08076CE0 @ =gUnknown_0202F7C5
- movs r0, 0x1
- strb r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076CDC: .4byte gTasks
-_08076CE0: .4byte gUnknown_0202F7C5
- thumb_func_end sub_8076C4C
-
- thumb_func_start task_p5_load_battle_screen_elements
-task_p5_load_battle_screen_elements: @ 8076CE4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08076D18 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r6, [r4, 0x1C]
- movs r0, 0x1C
- ldrsh r3, [r4, r0]
- adds r7, r1, 0
- cmp r3, 0
- bne _08076D1C
- str r3, [sp]
- movs r0, 0xE8
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginHardwarePaletteFade
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- b _08076DAC
- .align 2, 0
-_08076D18: .4byte gTasks
-_08076D1C:
- ldr r2, _08076D38 @ =gPaletteFade
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08076DAC
- cmp r3, 0x1
- bne _08076D40
- adds r0, r6, 0x1
- strh r0, [r4, 0x1C]
- ldr r1, _08076D3C @ =gUnknown_0202F7C5
- movs r0, 0x2
- strb r0, [r1]
- b _08076D84
- .align 2, 0
-_08076D38: .4byte gPaletteFade
-_08076D3C: .4byte gUnknown_0202F7C5
-_08076D40:
- cmp r3, 0x2
- bne _08076D84
- ldrh r0, [r4, 0x8]
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08076D58
- bl dp01t_11_3_message_for_player_only
- b _08076D5E
-_08076D58:
- lsrs r0, r2, 16
- bl sub_8076DB8
-_08076D5E:
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xE8
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginHardwarePaletteFade
- ldr r1, _08076D80 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x1C]
- adds r1, 0x1
- strh r1, [r0, 0x1C]
- b _08076DAC
- .align 2, 0
-_08076D80: .4byte gTasks
-_08076D84:
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08076DAC
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r7
- movs r1, 0x1C
- ldrsh r0, [r0, r1]
- cmp r0, 0x3
- bne _08076DAC
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, _08076DB4 @ =gUnknown_0202F7C5
- strb r4, [r0]
-_08076DAC:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076DB4: .4byte gUnknown_0202F7C5
- thumb_func_end task_p5_load_battle_screen_elements
-
- thumb_func_start sub_8076DB8
-sub_8076DB8: @ 8076DB8
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08076E70
- ldr r7, _08076E54 @ =gBattleAnimBackgroundTable
- lsls r0, r6, 1
- adds r0, r6
- lsls r4, r0, 2
- adds r0, r7, 0
- adds r0, 0x8
- adds r0, r4, r0
- ldr r5, [r0]
- bl sub_8076BE0
- lsls r0, 24
- ldr r1, _08076E58 @ =0x02018000
- cmp r0, 0
- beq _08076DE8
- ldr r0, _08076E5C @ =0xffffc800
- adds r1, r0
-_08076DE8:
- adds r0, r5, 0
- bl sub_800D238
- bl sub_80789BC
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- ldr r1, _08076E58 @ =0x02018000
- cmp r0, 0
- beq _08076E06
- ldr r0, _08076E5C @ =0xffffc800
- adds r1, r0
-_08076E06:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r5, 0
- movs r3, 0
- bl sub_80763FC
- bl sub_8076BE0
- lsls r0, 24
- ldr r2, _08076E58 @ =0x02018000
- cmp r0, 0
- beq _08076E22
- ldr r0, _08076E5C @ =0xffffc800
- adds r2, r0
-_08076E22:
- ldr r1, _08076E60 @ =0x0600d000
- ldr r0, _08076E64 @ =0x040000d4
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _08076E68 @ =0x84000200
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- adds r0, r4, r7
- ldr r0, [r0]
- ldr r1, _08076E6C @ =0x06002000
- bl LZDecompressVram
- adds r0, r7, 0x4
- adds r0, r4, r0
- ldr r4, [r0]
- bl sub_80789BC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 20
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- b _08076E9E
- .align 2, 0
-_08076E54: .4byte gBattleAnimBackgroundTable
-_08076E58: .4byte 0x02018000
-_08076E5C: .4byte 0xffffc800
-_08076E60: .4byte 0x0600d000
-_08076E64: .4byte 0x040000d4
-_08076E68: .4byte 0x84000200
-_08076E6C: .4byte 0x06002000
-_08076E70:
- ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 2
- adds r0, r5, 0
- adds r0, 0x8
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, _08076EA8 @ =0x0600d000
- bl LZDecompressVram
- adds r0, r4, r5
- ldr r0, [r0]
- ldr r1, _08076EAC @ =0x06008000
- bl LZDecompressVram
- adds r5, 0x4
- adds r4, r5
- ldr r0, [r4]
- movs r1, 0x20
- movs r2, 0x20
- bl LoadCompressedPalette
-_08076E9E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076EA4: .4byte gBattleAnimBackgroundTable
-_08076EA8: .4byte 0x0600d000
-_08076EAC: .4byte 0x06008000
- thumb_func_end sub_8076DB8
-
- thumb_func_start dp01t_11_3_message_for_player_only
-dp01t_11_3_message_for_player_only: @ 8076EB0
- push {lr}
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08076EC2
- bl sub_80AB2AC
- b _08076EC6
-_08076EC2:
- bl sub_800D7B8
-_08076EC6:
- pop {r0}
- bx r0
- thumb_func_end dp01t_11_3_message_for_player_only
-
- thumb_func_start ma15_load_battle_screen_elements
-ma15_load_battle_screen_elements: @ 8076ECC
- push {lr}
- ldr r1, _08076EFC @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08076F04 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _08076F08 @ =0x0000ffff
- strh r0, [r1, 0x8]
- ldr r1, _08076F0C @ =gUnknown_0202F7C5
- movs r0, 0x1
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08076EFC: .4byte gUnknown_0202F7A4
-_08076F00: .4byte task_p5_load_battle_screen_elements
-_08076F04: .4byte gTasks
-_08076F08: .4byte 0x0000ffff
-_08076F0C: .4byte gUnknown_0202F7C5
- thumb_func_end ma15_load_battle_screen_elements
-
- thumb_func_start ma16_wait_for_battle_screen_elements_s2
-ma16_wait_for_battle_screen_elements_s2: @ 8076F10
- push {lr}
- ldr r0, _08076F28 @ =gUnknown_0202F7C5
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08076F34
- ldr r1, _08076F2C @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r1, _08076F30 @ =gUnknown_0202F7B0
- movs r0, 0
- b _08076F38
- .align 2, 0
-_08076F28: .4byte gUnknown_0202F7C5
-_08076F2C: .4byte gUnknown_0202F7A4
-_08076F30: .4byte gUnknown_0202F7B0
-_08076F34:
- ldr r1, _08076F40 @ =gUnknown_0202F7B0
- movs r0, 0x1
-_08076F38:
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08076F40: .4byte gUnknown_0202F7B0
- thumb_func_end ma16_wait_for_battle_screen_elements_s2
-
- thumb_func_start sub_8076F44
-sub_8076F44: @ 8076F44
- push {lr}
- ldr r0, _08076F5C @ =gUnknown_0202F7C5
- ldrb r2, [r0]
- cmp r2, 0
- bne _08076F68
- ldr r0, _08076F60 @ =gUnknown_0202F7A4
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- ldr r0, _08076F64 @ =gUnknown_0202F7B0
- strb r2, [r0]
- b _08076F6E
- .align 2, 0
-_08076F5C: .4byte gUnknown_0202F7C5
-_08076F60: .4byte gUnknown_0202F7A4
-_08076F64: .4byte gUnknown_0202F7B0
-_08076F68:
- ldr r1, _08076F74 @ =gUnknown_0202F7B0
- movs r0, 0x1
- strb r0, [r1]
-_08076F6E:
- pop {r0}
- bx r0
- .align 2, 0
-_08076F74: .4byte gUnknown_0202F7B0
- thumb_func_end sub_8076F44
-
- thumb_func_start ma18_load_background_probably
-ma18_load_background_probably: @ 8076F78
- push {r4,lr}
- ldr r4, _08076F94 @ =gUnknown_0202F7A4
- ldr r1, [r4]
- adds r0, r1, 0x1
- str r0, [r4]
- ldrb r0, [r1, 0x1]
- bl sub_8076DB8
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08076F94: .4byte gUnknown_0202F7A4
- thumb_func_end ma18_load_background_probably
-
- thumb_func_start sub_8076F98
-sub_8076F98: @ 8076F98
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _08076FDC
- ldr r0, _08076FD4 @ =gUnknown_0202F7C8
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _08076FD8 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08076FDC
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- movs r4, 0xC0
- cmp r0, 0
- beq _0807706E
- movs r4, 0x3F
- b _0807706E
- .align 2, 0
-_08076FD4: .4byte gUnknown_0202F7C8
-_08076FD8: .4byte 0x02017810
-_08076FDC:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08077004
- ldr r0, _08076FFC @ =gUnknown_0202F7C8
- ldr r1, _08077000 @ =gUnknown_0202F7C9
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08077068
- cmp r0, 0x2
- bne _08077068
- cmp r4, 0x3F
- beq _0807707A
- b _08077068
- .align 2, 0
-_08076FFC: .4byte gUnknown_0202F7C8
-_08077000: .4byte gUnknown_0202F7C9
-_08077004:
- ldr r0, _0807702C @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08077042
- ldr r0, _08077030 @ =gUnknown_0202F7C9
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0807706E
- lsls r0, r4, 24
- asrs r1, r0, 24
- cmp r1, 0x3F
- bne _08077034
- movs r4, 0xC0
- b _0807706E
- .align 2, 0
-_0807702C: .4byte gUnknown_0202F7C8
-_08077030: .4byte gUnknown_0202F7C9
-_08077034:
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- beq _0807706E
- negs r0, r1
- lsls r0, 24
- b _0807706C
-_08077042:
- ldr r0, _08077064 @ =gUnknown_0202F7C9
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08077068
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0x40
- negs r1, r1
- cmp r0, r1
- bne _0807706E
- movs r4, 0x3F
- b _0807706E
- .align 2, 0
-_08077064: .4byte gUnknown_0202F7C9
-_08077068:
- lsls r0, r4, 24
- negs r0, r0
-_0807706C:
- lsrs r4, r0, 24
-_0807706E:
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0x3F
- ble _0807707A
- movs r4, 0x3F
- b _08077088
-_0807707A:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0x40
- negs r1, r1
- cmp r0, r1
- bge _08077088
- movs r4, 0xC0
-_08077088:
- lsls r0, r4, 24
- asrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8076F98
-
- thumb_func_start sub_8077094
-sub_8077094: @ 8077094
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080770D8
- ldr r0, _080770D0 @ =gUnknown_0202F7C8
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080770D4 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080770D8
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- movs r4, 0xC0
- cmp r0, 0
- beq _080770F6
- movs r4, 0x3F
- b _080770F6
- .align 2, 0
-_080770D0: .4byte gUnknown_0202F7C8
-_080770D4: .4byte 0x02017810
-_080770D8:
- ldr r0, _08077100 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080770F0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080770F6
-_080770F0:
- lsls r0, r4, 24
- negs r0, r0
- lsrs r4, r0, 24
-_080770F6:
- lsls r0, r4, 24
- asrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08077100: .4byte gUnknown_0202F7C8
- thumb_func_end sub_8077094
-
- thumb_func_start sub_8077104
-sub_8077104: @ 8077104
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r2, r0, 16
- cmp r2, 0x3F
- ble _08077114
- movs r1, 0x3F
- b _0807711E
-_08077114:
- movs r0, 0x40
- negs r0, r0
- cmp r2, r0
- bge _0807711E
- ldr r1, _08077128 @ =0x0000ffc0
-_0807711E:
- lsls r0, r1, 16
- asrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_08077128: .4byte 0x0000ffc0
- thumb_func_end sub_8077104
-
- thumb_func_start sub_807712C
-sub_807712C: @ 807712C
- push {lr}
- lsls r2, 16
- lsrs r2, 16
- adds r3, r2, 0
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- cmp r0, r1
- bge _0807714A
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0
- bge _0807715A
- b _08077158
-_0807714A:
- cmp r0, r1
- ble _08077160
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0
- bge _08077158
- negs r0, r0
-_08077158:
- negs r0, r0
-_0807715A:
- lsls r0, 16
- lsrs r0, 16
- b _08077162
-_08077160:
- movs r0, 0
-_08077162:
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_807712C
-
- thumb_func_start ma19_08073BC8
-ma19_08073BC8: @ 807716C
- push {r4,r5,lr}
- ldr r5, _080771A0 @ =gUnknown_0202F7A4
- ldr r0, [r5]
- adds r1, r0, 0x1
- str r1, [r5]
- ldrb r4, [r0, 0x1]
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- orrs r4, r0
- movs r0, 0x2
- ldrsb r0, [r1, r0]
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r4, 0
- bl PlaySE12WithPanning
- ldr r0, [r5]
- adds r0, 0x3
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080771A0: .4byte gUnknown_0202F7A4
- thumb_func_end ma19_08073BC8
-
- thumb_func_start ma1A_8073C00
-ma1A_8073C00: @ 80771A4
- push {r4,lr}
- ldr r4, _080771CC @ =gUnknown_0202F7A4
- ldr r1, [r4]
- adds r0, r1, 0x1
- str r0, [r4]
- movs r0, 0x1
- ldrsb r0, [r1, r0]
- bl sub_8076F98
- lsls r0, 24
- asrs r0, 24
- bl SE12PanpotControl
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080771CC: .4byte gUnknown_0202F7A4
- thumb_func_end ma1A_8073C00
-
- thumb_func_start ma1B_8073C2C
-ma1B_8073C2C: @ 80771D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _08077280 @ =gUnknown_0202F7A4
- mov r10, r0
- ldr r0, [r0]
- adds r1, r0, 0x1
- mov r2, r10
- str r1, [r2]
- ldrb r0, [r0, 0x1]
- mov r9, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- mov r2, r9
- orrs r2, r0
- mov r9, r2
- ldrb r4, [r1, 0x3]
- ldrb r6, [r1, 0x4]
- ldrb r7, [r1, 0x5]
- movs r0, 0x2
- ldrsb r0, [r1, r0]
- bl sub_8076F98
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl sub_8076F98
- mov r8, r0
- lsls r5, 24
- asrs r5, 24
- mov r0, r8
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- lsls r6, 24
- asrs r6, 24
- adds r0, r5, 0
- mov r1, r8
- adds r2, r6, 0
- bl sub_807712C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08077284 @ =c3_08073CEC
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08077288 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- mov r2, r8
- strh r2, [r1, 0xA]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0xC]
- strh r7, [r1, 0xE]
- strh r5, [r1, 0x10]
- mov r0, r9
- adds r1, r5, 0
- bl PlaySE12WithPanning
- ldr r1, _0807728C @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r1, r10
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077280: .4byte gUnknown_0202F7A4
-_08077284: .4byte c3_08073CEC
-_08077288: .4byte gTasks
-_0807728C: .4byte gUnknown_0202F7B3
- thumb_func_end ma1B_8073C2C
-
- thumb_func_start c3_08073CEC
-c3_08073CEC: @ 8077290
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0
- ldr r1, _080772D4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x18]
- adds r1, r0, 0x1
- strh r1, [r2, 0x18]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0xE
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08077314
- strh r7, [r2, 0x18]
- ldrh r6, [r2, 0x8]
- ldrh r3, [r2, 0xA]
- movs r4, 0x10
- ldrsh r0, [r2, r4]
- movs r4, 0xC
- ldrsh r1, [r2, r4]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- strh r4, [r2, 0x10]
- cmp r1, 0
- bne _080772D8
- lsls r2, r3, 16
- b _080772FC
- .align 2, 0
-_080772D4: .4byte gTasks
-_080772D8:
- lsls r1, r6, 16
- lsls r0, r3, 16
- asrs r3, r0, 16
- adds r2, r0, 0
- cmp r1, r2
- bge _080772EE
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, r3
- blt _080772F8
- b _080772FC
-_080772EE:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, r3
- bgt _080772F8
- movs r7, 0x1
-_080772F8:
- cmp r7, 0
- beq _0807730C
-_080772FC:
- lsrs r4, r2, 16
- adds r0, r5, 0
- bl DestroyTask
- ldr r1, _0807731C @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_0807730C:
- lsls r0, r4, 24
- asrs r0, 24
- bl SE12PanpotControl
-_08077314:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807731C: .4byte gUnknown_0202F7B3
- thumb_func_end c3_08073CEC
-
- thumb_func_start sub_8077320
-sub_8077320: @ 8077320
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- ldr r0, _080773A4 @ =gUnknown_0202F7A4
- mov r9, r0
- ldr r0, [r0]
- adds r1, r0, 0x1
- mov r2, r9
- str r1, [r2]
- ldrb r0, [r0, 0x1]
- mov r8, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- mov r2, r8
- orrs r2, r0
- mov r8, r2
- ldrb r4, [r1, 0x2]
- ldrb r5, [r1, 0x3]
- ldrb r6, [r1, 0x4]
- ldrb r1, [r1, 0x5]
- mov r10, r1
- ldr r0, _080773A8 @ =c3_08073CEC
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080773AC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0x8]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r1, 0xA]
- lsls r6, 24
- asrs r6, 24
- strh r6, [r1, 0xC]
- mov r0, r10
- strh r0, [r1, 0xE]
- strh r4, [r1, 0x10]
- mov r0, r8
- adds r1, r4, 0
- bl PlaySE12WithPanning
- ldr r1, _080773B0 @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080773A4: .4byte gUnknown_0202F7A4
-_080773A8: .4byte c3_08073CEC
-_080773AC: .4byte gTasks
-_080773B0: .4byte gUnknown_0202F7B3
- thumb_func_end sub_8077320
-
- thumb_func_start sub_80773B4
-sub_80773B4: @ 80773B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _08077464 @ =gUnknown_0202F7A4
- mov r10, r0
- ldr r0, [r0]
- adds r1, r0, 0x1
- mov r2, r10
- str r1, [r2]
- ldrb r0, [r0, 0x1]
- mov r9, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- mov r2, r9
- orrs r2, r0
- mov r9, r2
- ldrb r4, [r1, 0x3]
- ldrb r0, [r1, 0x4]
- mov r8, r0
- ldrb r7, [r1, 0x5]
- movs r0, 0x2
- ldrsb r0, [r1, r0]
- bl sub_8077094
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl sub_8077094
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- mov r1, r8
- lsls r1, 24
- asrs r1, 24
- mov r8, r1
- mov r0, r8
- bl sub_8077094
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08077468 @ =c3_08073CEC
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0807746C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- lsls r6, 24
- asrs r6, 24
- strh r6, [r1, 0x8]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r1, 0xA]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0xC]
- strh r7, [r1, 0xE]
- strh r6, [r1, 0x10]
- mov r0, r9
- adds r1, r6, 0
- bl PlaySE12WithPanning
- ldr r1, _08077470 @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r2, r10
- ldr r0, [r2]
- adds r0, 0x6
- str r0, [r2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077464: .4byte gUnknown_0202F7A4
-_08077468: .4byte c3_08073CEC
-_0807746C: .4byte gTasks
-_08077470: .4byte gUnknown_0202F7B3
- thumb_func_end sub_80773B4
-
- thumb_func_start ma1C_8073ED0
-ma1C_8073ED0: @ 8077474
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r6, _080774EC @ =gUnknown_0202F7A4
- ldr r0, [r6]
- adds r1, r0, 0x1
- str r1, [r6]
- ldrb r5, [r0, 0x1]
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- orrs r5, r0
- ldrb r0, [r1, 0x3]
- mov r8, r0
- ldrb r2, [r1, 0x4]
- mov r9, r2
- movs r0, 0x2
- ldrsb r0, [r1, r0]
- bl sub_8076F98
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080774F0 @ =sub_80774FC
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080774F4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0xA]
- mov r2, r8
- strh r2, [r1, 0xC]
- mov r2, r9
- strh r2, [r1, 0xE]
- mov r2, r8
- strh r2, [r1, 0x18]
- ldr r1, [r1]
- bl _call_via_r1
- ldr r1, _080774F8 @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x5
- str r0, [r6]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080774EC: .4byte gUnknown_0202F7A4
-_080774F0: .4byte sub_80774FC
-_080774F4: .4byte gTasks
-_080774F8: .4byte gUnknown_0202F7B3
- thumb_func_end ma1C_8073ED0
-
- thumb_func_start sub_80774FC
-sub_80774FC: @ 80774FC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08077550 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x18]
- adds r1, r0, 0x1
- strh r1, [r2, 0x18]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _0807754A
- movs r0, 0
- strh r0, [r2, 0x18]
- ldrh r0, [r2, 0x8]
- ldrb r1, [r2, 0xA]
- ldrh r4, [r2, 0xE]
- subs r4, 0x1
- strh r4, [r2, 0xE]
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- cmp r4, 0
- bne _0807754A
- adds r0, r5, 0
- bl DestroyTask
- ldr r1, _08077554 @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_0807754A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08077550: .4byte gTasks
-_08077554: .4byte gUnknown_0202F7B3
- thumb_func_end sub_80774FC
-
- thumb_func_start ma1D_08073FB4
-ma1D_08073FB4: @ 8077558
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r6, _080775BC @ =gUnknown_0202F7A4
- ldr r0, [r6]
- adds r1, r0, 0x1
- str r1, [r6]
- ldrb r5, [r0, 0x1]
- ldrb r0, [r1, 0x1]
- lsls r0, 8
- orrs r5, r0
- ldrb r0, [r1, 0x3]
- mov r8, r0
- movs r0, 0x2
- ldrsb r0, [r1, r0]
- bl sub_8076F98
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080775C0 @ =sub_80775CC
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080775C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0xA]
- mov r0, r8
- strh r0, [r1, 0xC]
- ldr r1, _080775C8 @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x4
- str r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080775BC: .4byte gUnknown_0202F7A4
-_080775C0: .4byte sub_80775CC
-_080775C4: .4byte gTasks
-_080775C8: .4byte gUnknown_0202F7B3
- thumb_func_end ma1D_08073FB4
-
- thumb_func_start sub_80775CC
-sub_80775CC: @ 80775CC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08077608 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0xC]
- subs r1, r0, 0x1
- strh r1, [r2, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _08077600
- ldrh r0, [r2, 0x8]
- movs r1, 0xA
- ldrsb r1, [r2, r1]
- bl PlaySE12WithPanning
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, _0807760C @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_08077600:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08077608: .4byte gTasks
-_0807760C: .4byte gUnknown_0202F7B3
- thumb_func_end sub_80775CC
-
- thumb_func_start sub_8077610
-sub_8077610: @ 8077610
- push {r4-r6,lr}
- ldr r4, _08077678 @ =gUnknown_0202F7A4
- ldr r1, [r4]
- adds r3, r1, 0x1
- str r3, [r4]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r3, 0x1]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r3, 0x2]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 24
- adds r6, r2, r0
- adds r0, r1, 0x5
- str r0, [r4]
- ldrb r0, [r1, 0x5]
- adds r1, 0x6
- str r1, [r4]
- cmp r0, 0
- beq _0807765A
- adds r5, r4, 0
- ldr r4, _0807767C @ =gUnknown_03004B00
- adds r3, r0, 0
-_08077642:
- ldr r2, [r5]
- ldrb r1, [r2]
- ldrb r0, [r2, 0x1]
- lsls r0, 8
- orrs r1, r0
- strh r1, [r4]
- adds r2, 0x2
- str r2, [r5]
- adds r4, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _08077642
-_0807765A:
- adds r0, r6, 0
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r6
- ldr r1, _08077680 @ =gUnknown_0202F7B3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08077678: .4byte gUnknown_0202F7A4
-_0807767C: .4byte gUnknown_03004B00
-_08077680: .4byte gUnknown_0202F7B3
- thumb_func_end sub_8077610
-
- thumb_func_start ma20_wait_for_something
-ma20_wait_for_something: @ 8077684
- push {r4,r5,lr}
- ldr r0, _080776BC @ =gUnknown_0202F7B3
- ldrb r5, [r0]
- cmp r5, 0
- bne _080776CC
- bl IsSEPlaying
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080776E4
- ldr r4, _080776C0 @ =gUnknown_03004AF0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5A
- bls _080776D2
- ldr r0, _080776C4 @ =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, _080776C8 @ =gMPlay_SE2
- bl m4aMPlayStop
- strh r5, [r4]
- b _080776F6
- .align 2, 0
-_080776BC: .4byte gUnknown_0202F7B3
-_080776C0: .4byte gUnknown_03004AF0
-_080776C4: .4byte gMPlay_SE1
-_080776C8: .4byte gMPlay_SE2
-_080776CC:
- ldr r1, _080776DC @ =gUnknown_03004AF0
- movs r0, 0
- strh r0, [r1]
-_080776D2:
- ldr r1, _080776E0 @ =gUnknown_0202F7B0
- movs r0, 0x1
- strb r0, [r1]
- b _080776F6
- .align 2, 0
-_080776DC: .4byte gUnknown_03004AF0
-_080776E0: .4byte gUnknown_0202F7B0
-_080776E4:
- ldr r0, _080776FC @ =gUnknown_03004AF0
- movs r2, 0
- strh r1, [r0]
- ldr r1, _08077700 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, _08077704 @ =gUnknown_0202F7B0
- strb r2, [r0]
-_080776F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080776FC: .4byte gUnknown_03004AF0
-_08077700: .4byte gUnknown_0202F7A4
-_08077704: .4byte gUnknown_0202F7B0
- thumb_func_end ma20_wait_for_something
-
- thumb_func_start ma21_08074164
-ma21_08074164: @ 8077708
- push {r4-r6,lr}
- ldr r5, _08077748 @ =gUnknown_0202F7A4
- ldr r4, [r5]
- adds r3, r4, 0x1
- str r3, [r5]
- ldrb r2, [r4, 0x1]
- ldrb r1, [r3, 0x1]
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r0, _0807774C @ =gUnknown_03004B00
- lsls r2, 1
- adds r2, r0
- lsls r1, 16
- asrs r1, 16
- movs r6, 0
- ldrsh r0, [r2, r6]
- cmp r1, r0
- bne _08077750
- ldrb r1, [r3, 0x3]
- ldrb r0, [r3, 0x4]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x6]
- lsls r0, 24
- adds r1, r0
- str r1, [r5]
- b _08077756
- .align 2, 0
-_08077748: .4byte gUnknown_0202F7A4
-_0807774C: .4byte gUnknown_03004B00
-_08077750:
- adds r0, r4, 0
- adds r0, 0x8
- str r0, [r5]
-_08077756:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ma21_08074164
-
- thumb_func_start sub_807775C
-sub_807775C: @ 807775C
- push {r4,lr}
- ldr r4, _0807778C @ =gUnknown_0202F7A4
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _08077790
- ldr r2, [r4]
- ldrb r1, [r2]
- ldrb r0, [r2, 0x1]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x2]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 24
- adds r1, r0
- str r1, [r4]
- b _08077796
- .align 2, 0
-_0807778C: .4byte gUnknown_0202F7A4
-_08077790:
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
-_08077796:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807775C
-
- thumb_func_start sub_807779C
-sub_807779C: @ 807779C
- push {r4,lr}
- ldr r0, _080777B0 @ =gUnknown_0202F7A4
- ldr r1, [r0]
- ldrb r2, [r1, 0x1]
- adds r1, 0x2
- str r1, [r0]
- cmp r2, 0
- beq _080777B8
- ldr r0, _080777B4 @ =gUnknown_0202F7C9
- b _080777BA
- .align 2, 0
-_080777B0: .4byte gUnknown_0202F7A4
-_080777B4: .4byte gUnknown_0202F7C9
-_080777B8:
- ldr r0, _080777FC @ =gUnknown_0202F7C8
-_080777BA:
- ldrb r0, [r0]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080777F4
- cmp r4, 0
- beq _080777D6
- cmp r4, 0x3
- bne _080777F4
-_080777D6:
- ldr r3, _08077800 @ =REG_BG1CNT
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r3]
- ldr r2, _08077804 @ =REG_BG2CNT
- ldrb r0, [r2]
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- strb r1, [r2]
-_080777F4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080777FC: .4byte gUnknown_0202F7C8
-_08077800: .4byte REG_BG1CNT
-_08077804: .4byte REG_BG2CNT
- thumb_func_end sub_807779C
-
- thumb_func_start sub_8077808
-sub_8077808: @ 8077808
- push {lr}
- ldr r0, _08077840 @ =gUnknown_0202F7A4
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _0807783A
- ldr r3, _08077844 @ =REG_BG1CNT
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r3]
- ldr r2, _08077848 @ =REG_BG2CNT
- ldrb r0, [r2]
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- strb r1, [r2]
-_0807783A:
- pop {r0}
- bx r0
- .align 2, 0
-_08077840: .4byte gUnknown_0202F7A4
-_08077844: .4byte REG_BG1CNT
-_08077848: .4byte REG_BG2CNT
- thumb_func_end sub_8077808
-
- thumb_func_start sub_807784C
-sub_807784C: @ 807784C
- push {r4-r7,lr}
- ldr r1, _0807787C @ =gUnknown_0202F7A4
- ldr r0, [r1]
- ldrb r6, [r0, 0x1]
- adds r0, 0x2
- str r0, [r1]
- ldr r7, _08077880 @ =gUnknown_0202F7C8
- ldrb r0, [r7]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r5, _08077884 @ =gUnknown_0202F7C9
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080778C2
- cmp r6, 0
- beq _08077888
- ldrb r0, [r5]
- b _0807788A
- .align 2, 0
-_0807787C: .4byte gUnknown_0202F7A4
-_08077880: .4byte gUnknown_0202F7C8
-_08077884: .4byte gUnknown_0202F7C9
-_08077888:
- ldrb r0, [r7]
-_0807788A:
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080778C2
- cmp r4, 0
- beq _080778A4
- cmp r4, 0x3
- bne _080778C2
-_080778A4:
- ldr r3, _080778C8 @ =REG_BG1CNT
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r3]
- ldr r2, _080778CC @ =REG_BG2CNT
- ldrb r0, [r2]
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- strb r1, [r2]
-_080778C2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080778C8: .4byte REG_BG1CNT
-_080778CC: .4byte REG_BG2CNT
- thumb_func_end sub_807784C
-
- thumb_func_start ma2B_make_side_invisible
-ma2B_make_side_invisible: @ 80778D0
- push {r4,lr}
- ldr r4, _08077904 @ =gUnknown_0202F7A4
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080778F8
- ldr r1, _08077908 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080778F8:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08077904: .4byte gUnknown_0202F7A4
-_08077908: .4byte gSprites
- thumb_func_end ma2B_make_side_invisible
-
- thumb_func_start ma2C_make_side_visible
-ma2C_make_side_visible: @ 807790C
- push {r4,lr}
- ldr r4, _08077944 @ =gUnknown_0202F7A4
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _08077936
- ldr r1, _08077948 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_08077936:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08077944: .4byte gUnknown_0202F7A4
-_08077948: .4byte gSprites
- thumb_func_end ma2C_make_side_visible
-
- thumb_func_start sub_807794C
-sub_807794C: @ 807794C
- push {r4-r7,lr}
- ldr r1, _08077998 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- ldrb r7, [r0, 0x1]
- adds r0, 0x2
- str r0, [r1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080779F6
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080779F6
- ldr r6, _0807799C @ =gUnknown_0202F7C8
- ldrb r0, [r6]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r5, _080779A0 @ =gUnknown_0202F7C9
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080779F6
- cmp r7, 0
- bne _080779A4
- ldrb r0, [r6]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- b _080779B0
- .align 2, 0
-_08077998: .4byte gUnknown_0202F7A4
-_0807799C: .4byte gUnknown_0202F7C8
-_080779A0: .4byte gUnknown_0202F7C9
-_080779A4:
- ldrb r0, [r5]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
-_080779B0:
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080779F6
- ldr r1, _080779EC @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r2, r0, r1
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- cmp r4, 0x2
- bne _080779E0
- ldrb r0, [r2, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080779E0:
- cmp r4, 0x1
- bne _080779F0
- movs r0, 0
- bl sub_8076464
- b _080779F6
- .align 2, 0
-_080779EC: .4byte gSprites
-_080779F0:
- movs r0, 0x1
- bl sub_8076464
-_080779F6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807794C
-
- thumb_func_start sub_80779FC
-sub_80779FC: @ 80779FC
- push {r4-r7,lr}
- ldr r1, _08077A48 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- ldrb r7, [r0, 0x1]
- adds r0, 0x2
- str r0, [r1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _08077A88
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _08077A88
- ldr r6, _08077A4C @ =gUnknown_0202F7C8
- ldrb r0, [r6]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r5, _08077A50 @ =gUnknown_0202F7C9
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _08077A88
- cmp r7, 0
- bne _08077A54
- ldrb r0, [r6]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- b _08077A60
- .align 2, 0
-_08077A48: .4byte gUnknown_0202F7A4
-_08077A4C: .4byte gUnknown_0202F7C8
-_08077A50: .4byte gUnknown_0202F7C9
-_08077A54:
- ldrb r0, [r5]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
-_08077A60:
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _08077A88
- cmp r4, 0x2
- bne _08077A88
- ldr r1, _08077A90 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
-_08077A88:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077A90: .4byte gSprites
- thumb_func_end sub_80779FC
-
- thumb_func_start ma2F_stop_music
-ma2F_stop_music: @ 8077A94
- push {lr}
- ldr r0, _08077AB0 @ =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, _08077AB4 @ =gMPlay_SE2
- bl m4aMPlayStop
- ldr r1, _08077AB8 @ =gUnknown_0202F7A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08077AB0: .4byte gMPlay_SE1
-_08077AB4: .4byte gMPlay_SE2
-_08077AB8: .4byte gUnknown_0202F7A4
- thumb_func_end ma2F_stop_music
-
thumb_func_start sub_8077ABC
sub_8077ABC: @ 8077ABC
push {r4,r5,lr}
diff --git a/asm/rom_8094928.s b/asm/rom_8094928.s
index 231f13e9c..4acaddce5 100644
--- a/asm/rom_8094928.s
+++ b/asm/rom_8094928.s
@@ -27864,1596 +27864,4 @@ _080A24FA:
bx r0
thumb_func_end sub_80A2490
- thumb_func_start SetUpFieldMove_Cut
-SetUpFieldMove_Cut: @ 80A2504
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0x52
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A2534
- ldr r1, _080A2524 @ =gUnknown_0300485C
- ldr r0, _080A2528 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _080A252C @ =gUnknown_03005CE4
- ldr r0, _080A2530 @ =sub_80A2634
- b _080A25A8
- .align 2, 0
-_080A2524: .4byte gUnknown_0300485C
-_080A2528: .4byte sub_808AB90
-_080A252C: .4byte gUnknown_03005CE4
-_080A2530: .4byte sub_80A2634
-_080A2534:
- ldr r4, _080A25B0 @ =gUnknown_0203923C
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- movs r7, 0
- mov r8, r4
-_080A2542:
- ldr r1, _080A25B4 @ =0x0000ffff
- adds r0, r7, r1
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- movs r6, 0
- lsls r0, 16
- asrs r5, r0, 16
-_080A2552:
- ldr r1, _080A25B4 @ =0x0000ffff
- adds r0, r6, r1
- mov r2, r8
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080A25C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8056E14
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A259E
- adds r0, r4, 0
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A25C8
-_080A259E:
- ldr r1, _080A25B8 @ =gUnknown_0300485C
- ldr r0, _080A25BC @ =sub_808AB90
- str r0, [r1]
- ldr r1, _080A25C0 @ =gUnknown_03005CE4
- ldr r0, _080A25C4 @ =sub_80A25E8
-_080A25A8:
- str r0, [r1]
- movs r0, 0x1
- b _080A25DE
- .align 2, 0
-_080A25B0: .4byte gUnknown_0203923C
-_080A25B4: .4byte 0x0000ffff
-_080A25B8: .4byte gUnknown_0300485C
-_080A25BC: .4byte sub_808AB90
-_080A25C0: .4byte gUnknown_03005CE4
-_080A25C4: .4byte sub_80A25E8
-_080A25C8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _080A2552
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _080A2542
- movs r0, 0
-_080A25DE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end SetUpFieldMove_Cut
-
- thumb_func_start sub_80A25E8
-sub_80A25E8: @ 80A25E8
- push {lr}
- movs r0, 0x1
- bl FieldEffectStart
- ldr r0, _080A25FC @ =gUnknown_0202FF84
- ldr r1, _080A2600 @ =gUnknown_03005CE0
- ldrb r1, [r1]
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080A25FC: .4byte gUnknown_0202FF84
-_080A2600: .4byte gUnknown_03005CE0
- thumb_func_end sub_80A25E8
-
- thumb_func_start FldEff_UseCutOnGrass
-FldEff_UseCutOnGrass: @ 80A2604
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A262C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080A2630 @ =sub_80A2684
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl sav12_xor_increment
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A262C: .4byte gTasks
-_080A2630: .4byte sub_80A2684
- thumb_func_end FldEff_UseCutOnGrass
-
- thumb_func_start sub_80A2634
-sub_80A2634: @ 80A2634
- push {lr}
- ldr r1, _080A2648 @ =gUnknown_0202FF84
- ldr r0, _080A264C @ =gUnknown_03005CE0
- ldrb r0, [r0]
- str r0, [r1]
- ldr r0, _080A2650 @ =UseCutScript
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080A2648: .4byte gUnknown_0202FF84
-_080A264C: .4byte gUnknown_03005CE0
-_080A2650: .4byte UseCutScript
- thumb_func_end sub_80A2634
-
- thumb_func_start FldEff_UseCutOnTree
-FldEff_UseCutOnTree: @ 80A2654
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A267C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080A2680 @ =sub_80A2B00
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl sav12_xor_increment
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A267C: .4byte gTasks
-_080A2680: .4byte sub_80A2B00
- thumb_func_end FldEff_UseCutOnTree
-
- thumb_func_start sub_80A2684
-sub_80A2684: @ 80A2684
- push {lr}
- movs r0, 0x1
- bl FieldEffectActiveListRemove
- movs r0, 0x3A
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80A2684
-
- thumb_func_start FldEff_CutGrass
-FldEff_CutGrass: @ 80A2698
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- movs r0, 0x80
- bl PlaySE
- ldr r4, _080A2790 @ =gUnknown_0203923C
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- mov r8, r4
-_080A26B2:
- ldr r1, _080A2794 @ =0x0000ffff
- adds r0, r7, r1
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- movs r6, 0
- lsls r0, 16
- asrs r5, r0, 16
-_080A26C2:
- ldr r1, _080A2794 @ =0x0000ffff
- adds r0, r6, r1
- mov r2, r8
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080A270E
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl sub_80578F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A270E
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A27A8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805BCC0
-_080A270E:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _080A26C2
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _080A26B2
- ldr r1, _080A2790 @ =gUnknown_0203923C
- ldrh r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r1, 0x2]
- subs r1, 0x2
- lsls r1, 16
- asrs r1, 16
- bl sub_80A28F4
- bl DrawWholeMapView
- movs r7, 0
- ldr r4, _080A2798 @ =gSprites
-_080A2740:
- ldr r0, _080A279C @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r2, 0x80
- lsls r2, 12
- adds r1, r2
- asrs r1, 16
- ldrb r2, [r0]
- adds r2, 0x14
- ldr r0, _080A27A0 @ =gSpriteTemplate_CutGrass
- movs r3, 0
- bl CreateSprite
- ldr r1, _080A27A4 @ =0x0201fff0
- adds r1, r7, r1
- strb r0, [r1]
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- lsls r1, r7, 5
- strh r1, [r0, 0x32]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x7
- bls _080A2740
- movs r0, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A2790: .4byte gUnknown_0203923C
-_080A2794: .4byte 0x0000ffff
-_080A2798: .4byte gSprites
-_080A279C: .4byte gPlayerAvatar
-_080A27A0: .4byte gSpriteTemplate_CutGrass
-_080A27A4: .4byte 0x0201fff0
- thumb_func_end FldEff_CutGrass
-
- thumb_func_start sub_80A27A8
-sub_80A27A8: @ 80A27A8
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r6, r0, 16
- asrs r4, r0, 16
- lsrs r7, r1, 16
- asrs r5, r1, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, _080A27E0 @ =0x00000207
- cmp r1, r0
- bgt _080A27F4
- subs r0, 0x1
- cmp r1, r0
- bge _080A286C
- cmp r1, 0x25
- beq _080A288E
- cmp r1, 0x25
- bgt _080A27E4
- cmp r1, 0xD
- beq _080A2834
- cmp r1, 0x15
- beq _080A2834
- b _080A2898
- .align 2, 0
-_080A27E0: .4byte 0x00000207
-_080A27E4:
- movs r0, 0xE3
- lsls r0, 1
- cmp r1, r0
- beq _080A2844
- adds r0, 0x1
- cmp r1, r0
- beq _080A284A
- b _080A2898
-_080A27F4:
- ldr r0, _080A280C @ =0x00000212
- cmp r1, r0
- beq _080A287C
- cmp r1, r0
- bgt _080A2810
- subs r0, 0xA
- cmp r1, r0
- beq _080A2834
- adds r0, 0x2
- cmp r1, r0
- beq _080A287C
- b _080A2898
- .align 2, 0
-_080A280C: .4byte 0x00000212
-_080A2810:
- ldr r0, _080A2824 @ =0x00000282
- cmp r1, r0
- beq _080A285C
- cmp r1, r0
- bgt _080A2828
- subs r0, 0x1
- cmp r1, r0
- beq _080A2854
- b _080A2898
- .align 2, 0
-_080A2824: .4byte 0x00000282
-_080A2828:
- ldr r0, _080A2830 @ =0x00000283
- cmp r1, r0
- beq _080A2864
- b _080A2898
- .align 2, 0
-_080A2830: .4byte 0x00000283
-_080A2834:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
- b _080A2898
-_080A2844:
- movs r2, 0xE7
- lsls r2, 1
- b _080A286E
-_080A284A:
- ldr r2, _080A2850 @ =0x000001cf
- b _080A286E
- .align 2, 0
-_080A2850: .4byte 0x000001cf
-_080A2854:
- ldr r2, _080A2858 @ =0x00000279
- b _080A286E
- .align 2, 0
-_080A2858: .4byte 0x00000279
-_080A285C:
- ldr r2, _080A2860 @ =0x0000027a
- b _080A286E
- .align 2, 0
-_080A2860: .4byte 0x0000027a
-_080A2864:
- ldr r2, _080A2868 @ =0x0000027b
- b _080A286E
- .align 2, 0
-_080A2868: .4byte 0x0000027b
-_080A286C:
- ldr r2, _080A2878 @ =0x00000271
-_080A286E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _080A2898
- .align 2, 0
-_080A2878: .4byte 0x00000271
-_080A287C:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x86
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080A2898
-_080A288E:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xE
- bl MapGridSetMetatileIdAt
-_080A2898:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A27A8
-
- thumb_func_start sub_80A28A0
-sub_80A28A0: @ 80A28A0
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x1
- bne _080A28BC
- movs r0, 0x1
- b _080A28EE
-_080A28BC:
- ldr r0, _080A28C8 @ =0x00000279
- cmp r1, r0
- bne _080A28CC
- movs r0, 0x2
- b _080A28EE
- .align 2, 0
-_080A28C8: .4byte 0x00000279
-_080A28CC:
- ldr r0, _080A28D8 @ =0x0000027a
- cmp r1, r0
- bne _080A28DC
- movs r0, 0x3
- b _080A28EE
- .align 2, 0
-_080A28D8: .4byte 0x0000027a
-_080A28DC:
- ldr r0, _080A28E8 @ =0x0000027b
- cmp r2, r0
- beq _080A28EC
- movs r0, 0
- b _080A28EE
- .align 2, 0
-_080A28E8: .4byte 0x0000027b
-_080A28EC:
- movs r0, 0x4
-_080A28EE:
- pop {r1}
- bx r1
- thumb_func_end sub_80A28A0
-
- thumb_func_start sub_80A28F4
-sub_80A28F4: @ 80A28F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r1, 16
- movs r2, 0xC0
- lsls r2, 10
- adds r0, r1, r2
- lsrs r0, 16
- mov r9, r0
- movs r4, 0
- asrs r7, r1, 16
-_080A2914:
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- lsls r4, 16
- asrs r1, r4, 16
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- adds r1, r7, 0
- bl MapGridGetMetatileIdAt
- mov r8, r4
- cmp r0, 0x15
- bne _080A2996
- adds r4, r7, 0x1
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80A28A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080A296A
- cmp r0, 0x2
- bgt _080A2952
- cmp r0, 0x1
- beq _080A295C
- b _080A2996
-_080A2952:
- cmp r0, 0x3
- beq _080A297C
- cmp r0, 0x4
- beq _080A298C
- b _080A2996
-_080A295C:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x82
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080A2996
-_080A296A:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2978 @ =0x00000281
- bl MapGridSetMetatileIdAt
- b _080A2996
- .align 2, 0
-_080A2978: .4byte 0x00000281
-_080A297C:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2988 @ =0x00000282
- bl MapGridSetMetatileIdAt
- b _080A2996
- .align 2, 0
-_080A2988: .4byte 0x00000282
-_080A298C:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A30 @ =0x00000283
- bl MapGridSetMetatileIdAt
-_080A2996:
- lsls r0, r6, 16
- asrs r5, r0, 16
- mov r2, r9
- lsls r0, r2, 16
- asrs r4, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x1
- bne _080A2A10
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080A29C8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080A29C8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _080A2A34 @ =0x00000281
- cmp r0, r1
- bne _080A29E0
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A38 @ =0x00000279
- bl MapGridSetMetatileIdAt
-_080A29E0:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _080A2A3C @ =0x00000282
- cmp r0, r1
- bne _080A29F8
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A40 @ =0x0000027a
- bl MapGridSetMetatileIdAt
-_080A29F8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _080A2A30 @ =0x00000283
- cmp r0, r1
- bne _080A2A10
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A44 @ =0x0000027b
- bl MapGridSetMetatileIdAt
-_080A2A10:
- movs r0, 0x80
- lsls r0, 9
- add r0, r8
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bgt _080A2A20
- b _080A2914
-_080A2A20:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2A30: .4byte 0x00000283
-_080A2A34: .4byte 0x00000281
-_080A2A38: .4byte 0x00000279
-_080A2A3C: .4byte 0x00000282
-_080A2A40: .4byte 0x0000027a
-_080A2A44: .4byte 0x0000027b
- thumb_func_end sub_80A28F4
-
- thumb_func_start sub_80A2A48
-sub_80A2A48: @ 80A2A48
- movs r2, 0
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x34]
- ldr r1, _080A2A58 @ =objc_8097BBC
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080A2A58: .4byte objc_8097BBC
- thumb_func_end sub_80A2A48
-
- thumb_func_start objc_8097BBC
-objc_8097BBC: @ 80A2A5C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x2E]
- adds r1, 0x1
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 18
- adds r1, r0
- strh r1, [r4, 0x2E]
- adds r2, 0x1
- strh r2, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1C
- beq _080A2AA8
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080A2AAC
-_080A2AA8:
- ldr r0, _080A2AB4 @ =sub_80A2AB8
- str r0, [r4, 0x1C]
-_080A2AAC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2AB4: .4byte sub_80A2AB8
- thumb_func_end objc_8097BBC
-
- thumb_func_start sub_80A2AB8
-sub_80A2AB8: @ 80A2AB8
- push {r4-r6,lr}
- movs r4, 0x1
-_080A2ABC:
- ldr r6, _080A2AF8 @ =0x0201fff0
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _080A2AFC @ =gSprites
- adds r0, r5
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080A2ABC
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x3A
- bl FieldEffectStop
- bl sub_8064E2C
- bl ScriptContext2_Disable
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2AF8: .4byte 0x0201fff0
-_080A2AFC: .4byte gSprites
- thumb_func_end sub_80A2AB8
-
- thumb_func_start sub_80A2B00
-sub_80A2B00: @ 80A2B00
- push {lr}
- movs r0, 0x80
- bl PlaySE
- movs r0, 0x2
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80A2B00
-
- thumb_func_start sub_80A2B18
-sub_80A2B18: @ 80A2B18
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080A2B3C @ =gSaveBlock1 + 0x2B4C
-_080A2B1E:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- bl sub_80A2B40
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080A2B1E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2B3C: .4byte gSaveBlock1 + 0x2B4C
- thumb_func_end sub_80A2B18
-
- thumb_func_start sub_80A2B40
-sub_80A2B40: @ 80A2B40
- push {r4-r6,lr}
- adds r3, r0, 0
- ldr r0, _080A2B90 @ =0x0000ffff
- adds r4, r0, 0
- adds r1, r3, 0
- movs r2, 0x8
-_080A2B4C:
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080A2B4C
- movs r2, 0
- adds r6, r3, 0
- adds r6, 0x1A
- adds r4, r3, 0
- adds r4, 0x12
- movs r5, 0xFF
-_080A2B66:
- adds r1, r4, r2
- ldrb r0, [r1]
- orrs r0, r5
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x7
- ble _080A2B66
- adds r1, r6, 0
- movs r2, 0
- adds r0, r1, 0x3
-_080A2B7A:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080A2B7A
- movs r1, 0
- movs r0, 0x1
- strh r0, [r3, 0x1E]
- strh r1, [r3, 0x20]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2B90: .4byte 0x0000ffff
- thumb_func_end sub_80A2B40
-
- thumb_func_start sub_80A2B94
-sub_80A2B94: @ 80A2B94
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- beq _080A2BBC
- adds r0, r4, 0
- movs r1, 0x40
- bl GetMonData
- cmp r0, 0xFF
- beq _080A2BBC
- movs r0, 0x1
- b _080A2BBE
-_080A2BBC:
- movs r0, 0
-_080A2BBE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2B94
-
- thumb_func_start sub_80A2BC4
-sub_80A2BC4: @ 80A2BC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r7, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- str r0, [sp, 0x8]
- mov r0, sp
- movs r2, 0
- ldrb r3, [r0, 0x8]
- strb r3, [r0]
- lsrs r1, 24
- strb r1, [r0, 0x1]
- add r3, sp, 0x4
- strb r2, [r3]
- mov r10, r3
- ldr r4, _080A2D00 @ =gSaveBlock1
- mov r9, r4
- mov r8, r3
- adds r2, r3, 0
-_080A2BF2:
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- ldr r5, _080A2D04 @ =0x00002b6c
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A2C08
- b _080A2D24
-_080A2C08:
- movs r3, 0
- ldr r0, _080A2D08 @ =gSaveBlock2
- mov r12, r0
- mov r4, r10
- ldr r6, _080A2D0C @ =gSaveBlock1 + 0x2B4C
- ldr r1, _080A2D10 @ =0x0000ffff
- adds r5, r1, 0
-_080A2C16:
- lsls r2, r3, 1
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, r6
- ldrh r0, [r2]
- orrs r0, r5
- strh r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x8
- bls _080A2C16
- movs r3, 0
- mov r2, r10
- ldr r4, _080A2D14 @ =gSaveBlock1 + 0x2B5E
-_080A2C3A:
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r4
- mov r5, r12
- adds r1, r3, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x6
- bls _080A2C3A
- mov r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, _080A2D14 @ =gSaveBlock1 + 0x2B5E
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- mov r2, r8
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r3, _080A2D14 @ =gSaveBlock1 + 0x2B5E
- adds r0, r3
- movs r1, 0
- bl sub_814A518
- movs r3, 0
- mov r2, r10
- ldr r5, _080A2D18 @ =gSaveBlock1 + 0x2B66
- ldr r4, _080A2D1C @ =gSaveBlock2 + 0xA
-_080A2C88:
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r5
- adds r1, r3, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080A2C88
- adds r0, r7, 0
- movs r1, 0xB
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80A2D44
- mov r4, r8
- ldrb r2, [r4]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- add r1, r9
- ldr r5, _080A2D20 @ =0x00002b6a
- adds r1, r5
- strh r0, [r1]
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- ldr r1, _080A2D04 @ =0x00002b6c
- adds r0, r1
- mov r2, sp
- ldrh r2, [r2, 0x8]
- strh r2, [r0]
- adds r0, r7, 0
- movs r1, 0x40
- mov r2, r8
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- ldrb r0, [r4]
- b _080A2D32
- .align 2, 0
-_080A2D00: .4byte gSaveBlock1
-_080A2D04: .4byte 0x00002b6c
-_080A2D08: .4byte gSaveBlock2
-_080A2D0C: .4byte gSaveBlock1 + 0x2B4C
-_080A2D10: .4byte 0x0000ffff
-_080A2D14: .4byte gSaveBlock1 + 0x2B5E
-_080A2D18: .4byte gSaveBlock1 + 0x2B66
-_080A2D1C: .4byte gSaveBlock2 + 0xA
-_080A2D20: .4byte 0x00002b6a
-_080A2D24:
- adds r0, r1, 0x1
- strb r0, [r3]
- ldrb r0, [r2]
- cmp r0, 0x5
- bhi _080A2D30
- b _080A2BF2
-_080A2D30:
- movs r0, 0xFF
-_080A2D32:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2BC4
-
- thumb_func_start sub_80A2D44
-sub_80A2D44: @ 80A2D44
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bne _080A2D5C
- adds r0, r1, 0
- bl sub_809D474
- lsls r0, 16
- ldr r1, _080A2D60 @ =0x75300000
- adds r0, r1
- lsrs r0, 16
-_080A2D5C:
- pop {r1}
- bx r1
- .align 2, 0
-_080A2D60: .4byte 0x75300000
- thumb_func_end sub_80A2D44
-
- thumb_func_start sub_80A2D64
-sub_80A2D64: @ 80A2D64
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, _080A2D7C @ =0xffff8ad0
- adds r2, r3, r0
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x1B
- bhi _080A2D80
- movs r0, 0xC9
- strh r2, [r1]
- b _080A2D82
- .align 2, 0
-_080A2D7C: .4byte 0xffff8ad0
-_080A2D80:
- adds r0, r3, 0
-_080A2D82:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2D64
-
- thumb_func_start sub_80A2D88
-sub_80A2D88: @ 80A2D88
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- ldrh r5, [r7, 0x20]
- adds r1, r5, 0
- bl sub_80A2BC4
- add r4, sp, 0x4
- strb r0, [r4]
- ldrb r2, [r4]
- cmp r2, 0xFF
- beq _080A2DE8
- ldr r0, _080A2DE0 @ =gSaveBlock1
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldr r0, _080A2DE4 @ =0x00002b4c
- adds r1, r0
- adds r0, r7, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0
- movs r1, 0x40
- adds r2, r4, 0
- bl SetMonData
- mov r0, sp
- strb r5, [r0]
- mov r1, sp
- lsrs r0, r5, 8
- strb r0, [r1, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- ldrb r0, [r4]
- b _080A2DEA
- .align 2, 0
-_080A2DE0: .4byte gSaveBlock1
-_080A2DE4: .4byte 0x00002b4c
-_080A2DE8:
- movs r0, 0xFF
-_080A2DEA:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2D88
-
- thumb_func_start unref_sub_80A2DF4
-unref_sub_80A2DF4: @ 80A2DF4
- movs r0, 0
- bx lr
- thumb_func_end unref_sub_80A2DF4
-
- thumb_func_start sub_80A2DF8
-sub_80A2DF8: @ 80A2DF8
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_80A2B94
- lsls r0, 24
- cmp r0, 0
- beq _080A2E46
- adds r0, r4, 0
- movs r1, 0x40
- bl GetMonData
- add r2, sp, 0x4
- strb r0, [r2]
- ldr r3, _080A2E50 @ =gSaveBlock1
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _080A2E54 @ =0x00002b6c
- adds r0, r1
- movs r3, 0
- movs r1, 0
- strh r1, [r0]
- movs r0, 0xFF
- strb r0, [r2]
- mov r0, sp
- strb r3, [r0]
- strb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r1, 0x40
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_080A2E46:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2E50: .4byte gSaveBlock1
-_080A2E54: .4byte 0x00002b6c
- thumb_func_end sub_80A2DF8
-
- thumb_func_start unref_sub_80A2E58
-unref_sub_80A2E58: @ 80A2E58
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A2E70 @ =gSaveBlock1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, _080A2E74 @ =0x00002b6c
- adds r1, r0
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A2E70: .4byte gSaveBlock1
-_080A2E74: .4byte 0x00002b6c
- thumb_func_end unref_sub_80A2E58
-
- thumb_func_start sub_80A2E78
-sub_80A2E78: @ 80A2E78
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r5, r0, 0
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- add r1, sp, 0x4
- movs r0, 0xFF
- strb r0, [r1]
- movs r7, 0x6
- mov r9, r1
- ldr r0, _080A2F04 @ =gSaveBlock1
- mov r8, r0
- ldr r2, _080A2F08 @ =0x00002b4c
- add r2, r8
-_080A2E9E:
- lsls r0, r7, 3
- adds r0, r7
- lsls r4, r0, 2
- mov r1, r8
- adds r0, r4, r1
- ldr r3, _080A2F0C @ =0x00002b6c
- adds r0, r3
- ldrh r6, [r0]
- cmp r6, 0
- bne _080A2F10
- adds r4, r2
- adds r0, r5, 0
- movs r1, 0x40
- str r2, [sp, 0x8]
- bl GetMonData
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r2, [sp, 0x8]
- adds r1, r2
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- adds r0, r5, 0
- movs r1, 0x40
- bl GetMonData
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldr r0, _080A2F0C @ =0x00002b6c
- adds r1, r0
- strh r6, [r1]
- adds r0, r5, 0
- movs r1, 0x40
- mov r2, r9
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- b _080A2F1C
- .align 2, 0
-_080A2F04: .4byte gSaveBlock1
-_080A2F08: .4byte 0x00002b4c
-_080A2F0C: .4byte 0x00002b6c
-_080A2F10:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bls _080A2E9E
- movs r0, 0xFF
-_080A2F1C:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2E78
-
- thumb_func_start itemid_is_mail
-itemid_is_mail: @ 80A2F2C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x84
- bgt _080A2F3E
- cmp r0, 0x79
- blt _080A2F3E
- movs r0, 0x1
- b _080A2F40
-_080A2F3E:
- movs r0, 0
-_080A2F40:
- pop {r1}
- bx r1
- thumb_func_end itemid_is_mail
-
- thumb_func_start unref_sub_80A2F44
-unref_sub_80A2F44: @ 80A2F44
- push {lr}
- bl sub_8071C20
- bl AddMapNamePopUpWindowTask
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80A2F44
-
- thumb_func_start AddMapNamePopUpWindowTask
-AddMapNamePopUpWindowTask: @ 80A2F54
- push {r4,r5,lr}
- movs r0, 0x80
- lsls r0, 7
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A2FE4
- ldr r4, _080A2FAC @ =sub_80A2FF4
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080A2FBC
- adds r0, r4, 0
- movs r1, 0x5A
- bl CreateTask
- ldr r4, _080A2FB0 @ =gUnknown_02038538
- strb r0, [r4]
- ldr r1, _080A2FB4 @ =REG_BG0VOFS
- movs r0, 0x20
- strh r0, [r1]
- bl sub_80A30E0
- ldr r2, _080A2FB8 @ =gTasks
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r5, [r0, 0x8]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x20
- strh r1, [r0, 0xC]
- b _080A2FE4
- .align 2, 0
-_080A2FAC: .4byte sub_80A2FF4
-_080A2FB0: .4byte gUnknown_02038538
-_080A2FB4: .4byte REG_BG0VOFS
-_080A2FB8: .4byte gTasks
-_080A2FBC:
- ldr r3, _080A2FEC @ =gTasks
- ldr r2, _080A2FF0 @ =gUnknown_02038538
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x2
- beq _080A2FD6
- movs r0, 0x2
- strh r0, [r1, 0x8]
-_080A2FD6:
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080A2FE4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2FEC: .4byte gTasks
-_080A2FF0: .4byte gUnknown_02038538
- thumb_func_end AddMapNamePopUpWindowTask
-
- thumb_func_start sub_80A2FF4
-sub_80A2FF4: @ 80A2FF4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r3, _080A3018 @ =gTasks
- adds r4, r1, r3
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- cmp r2, 0x1
- beq _080A304C
- cmp r2, 0x1
- bgt _080A301C
- cmp r2, 0
- beq _080A3026
- b _080A3092
- .align 2, 0
-_080A3018: .4byte gTasks
-_080A301C:
- cmp r2, 0x2
- beq _080A3064
- cmp r2, 0x4
- beq _080A308C
- b _080A3092
-_080A3026:
- ldrh r0, [r4, 0xC]
- subs r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _080A3092
- movs r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _080A3048 @ =gUnknown_02038538
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r2, [r0, 0xA]
- b _080A3092
- .align 2, 0
-_080A3048: .4byte gUnknown_02038538
-_080A304C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080A3092
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080A3092
-_080A3064:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- movs r5, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080A3092
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A3086
- bl sub_80A30E0
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xE]
- b _080A3092
-_080A3086:
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080A3098
-_080A308C:
- bl HideMapNamePopUpWindow
- b _080A3098
-_080A3092:
- ldr r1, _080A30A0 @ =REG_BG0VOFS
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
-_080A3098:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A30A0: .4byte REG_BG0VOFS
- thumb_func_end sub_80A2FF4
-
- thumb_func_start HideMapNamePopUpWindow
-HideMapNamePopUpWindow: @ 80A30A4
- push {lr}
- ldr r0, _080A30D4 @ =sub_80A2FF4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080A30D0
- bl MenuLoadTextWindowGraphics
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x3
- bl MenuZeroFillWindowRect
- ldr r1, _080A30D8 @ =REG_BG0VOFS
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080A30DC @ =gUnknown_02038538
- ldrb r0, [r0]
- bl DestroyTask
-_080A30D0:
- pop {r0}
- bx r0
- .align 2, 0
-_080A30D4: .4byte sub_80A2FF4
-_080A30D8: .4byte REG_BG0VOFS
-_080A30DC: .4byte gUnknown_02038538
- thumb_func_end HideMapNamePopUpWindow
-
- thumb_func_start sub_80A30E0
-sub_80A30E0: @ 80A30E0
- push {lr}
- sub sp, 0x14
- movs r0, 0
- bl MenuLoadTextWindowGraphics_OverrideFrameType
- ldr r0, _080A3114 @ =gMapHeader
- ldrb r1, [r0, 0x14]
- mov r0, sp
- movs r2, 0
- bl sub_80FBFB4
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x3
- bl MenuDrawTextWindow
- mov r0, sp
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x60
- bl sub_8072BD8
- add sp, 0x14
- pop {r0}
- bx r0
- .align 2, 0
-_080A3114: .4byte gMapHeader
- thumb_func_end sub_80A30E0
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_80A2B18.s b/asm/rom_80A2B18.s
new file mode 100644
index 000000000..4f4f245ce
--- /dev/null
+++ b/asm/rom_80A2B18.s
@@ -0,0 +1,813 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80A2B18
+sub_80A2B18: @ 80A2B18
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r5, _080A2B3C @ =gSaveBlock1 + 0x2B4C
+_080A2B1E:
+ lsls r0, r4, 3
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r5
+ bl sub_80A2B40
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0xF
+ bls _080A2B1E
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2B3C: .4byte gSaveBlock1 + 0x2B4C
+ thumb_func_end sub_80A2B18
+
+ thumb_func_start sub_80A2B40
+sub_80A2B40: @ 80A2B40
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ ldr r0, _080A2B90 @ =0x0000ffff
+ adds r4, r0, 0
+ adds r1, r3, 0
+ movs r2, 0x8
+_080A2B4C:
+ ldrh r0, [r1]
+ orrs r0, r4
+ strh r0, [r1]
+ adds r1, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080A2B4C
+ movs r2, 0
+ adds r6, r3, 0
+ adds r6, 0x1A
+ adds r4, r3, 0
+ adds r4, 0x12
+ movs r5, 0xFF
+_080A2B66:
+ adds r1, r4, r2
+ ldrb r0, [r1]
+ orrs r0, r5
+ strb r0, [r1]
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _080A2B66
+ adds r1, r6, 0
+ movs r2, 0
+ adds r0, r1, 0x3
+_080A2B7A:
+ strb r2, [r0]
+ subs r0, 0x1
+ cmp r0, r1
+ bge _080A2B7A
+ movs r1, 0
+ movs r0, 0x1
+ strh r0, [r3, 0x1E]
+ strh r1, [r3, 0x20]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2B90: .4byte 0x0000ffff
+ thumb_func_end sub_80A2B40
+
+ thumb_func_start sub_80A2B94
+sub_80A2B94: @ 80A2B94
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0xC
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ bl itemid_is_mail
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A2BBC
+ adds r0, r4, 0
+ movs r1, 0x40
+ bl GetMonData
+ cmp r0, 0xFF
+ beq _080A2BBC
+ movs r0, 0x1
+ b _080A2BBE
+_080A2BBC:
+ movs r0, 0
+_080A2BBE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A2B94
+
+ thumb_func_start sub_80A2BC4
+sub_80A2BC4: @ 80A2BC4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ adds r7, r0, 0
+ lsls r1, 16
+ lsrs r0, r1, 16
+ str r0, [sp, 0x8]
+ mov r0, sp
+ movs r2, 0
+ ldrb r3, [r0, 0x8]
+ strb r3, [r0]
+ lsrs r1, 24
+ strb r1, [r0, 0x1]
+ add r3, sp, 0x4
+ strb r2, [r3]
+ mov r10, r3
+ ldr r4, _080A2D00 @ =gSaveBlock1
+ mov r9, r4
+ mov r8, r3
+ adds r2, r3, 0
+_080A2BF2:
+ ldrb r1, [r2]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ add r0, r9
+ ldr r5, _080A2D04 @ =0x00002b6c
+ adds r0, r5
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _080A2C08
+ b _080A2D24
+_080A2C08:
+ movs r3, 0
+ ldr r0, _080A2D08 @ =gSaveBlock2
+ mov r12, r0
+ mov r4, r10
+ ldr r6, _080A2D0C @ =gSaveBlock1 + 0x2B4C
+ ldr r1, _080A2D10 @ =0x0000ffff
+ adds r5, r1, 0
+_080A2C16:
+ lsls r2, r3, 1
+ ldrb r1, [r4]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r2, r0
+ adds r2, r6
+ ldrh r0, [r2]
+ orrs r0, r5
+ strh r0, [r2]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x8
+ bls _080A2C16
+ movs r3, 0
+ mov r2, r10
+ ldr r4, _080A2D14 @ =gSaveBlock1 + 0x2B5E
+_080A2C3A:
+ ldrb r1, [r2]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ adds r0, r4
+ mov r5, r12
+ adds r1, r3, r5
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x6
+ bls _080A2C3A
+ mov r0, r8
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ ldr r1, _080A2D14 @ =gSaveBlock1 + 0x2B5E
+ adds r0, r1
+ movs r1, 0xFF
+ strb r1, [r0]
+ mov r2, r8
+ ldrb r1, [r2]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r3, _080A2D14 @ =gSaveBlock1 + 0x2B5E
+ adds r0, r3
+ movs r1, 0
+ bl sub_814A518
+ movs r3, 0
+ mov r2, r10
+ ldr r5, _080A2D18 @ =gSaveBlock1 + 0x2B66
+ ldr r4, _080A2D1C @ =gSaveBlock2 + 0xA
+_080A2C88:
+ ldrb r1, [r2]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3, r0
+ adds r0, r5
+ adds r1, r3, r4
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _080A2C88
+ adds r0, r7, 0
+ movs r1, 0xB
+ bl GetBoxMonData
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r7, 0
+ movs r1, 0
+ bl GetBoxMonData
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_80A2D44
+ mov r4, r8
+ ldrb r2, [r4]
+ lsls r1, r2, 3
+ adds r1, r2
+ lsls r1, 2
+ add r1, r9
+ ldr r5, _080A2D20 @ =0x00002b6a
+ adds r1, r5
+ strh r0, [r1]
+ ldrb r1, [r4]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ add r0, r9
+ ldr r1, _080A2D04 @ =0x00002b6c
+ adds r0, r1
+ mov r2, sp
+ ldrh r2, [r2, 0x8]
+ strh r2, [r0]
+ adds r0, r7, 0
+ movs r1, 0x40
+ mov r2, r8
+ bl SetMonData
+ adds r0, r7, 0
+ movs r1, 0xC
+ mov r2, sp
+ bl SetMonData
+ ldrb r0, [r4]
+ b _080A2D32
+ .align 2, 0
+_080A2D00: .4byte gSaveBlock1
+_080A2D04: .4byte 0x00002b6c
+_080A2D08: .4byte gSaveBlock2
+_080A2D0C: .4byte gSaveBlock1 + 0x2B4C
+_080A2D10: .4byte 0x0000ffff
+_080A2D14: .4byte gSaveBlock1 + 0x2B5E
+_080A2D18: .4byte gSaveBlock1 + 0x2B66
+_080A2D1C: .4byte gSaveBlock2 + 0xA
+_080A2D20: .4byte 0x00002b6a
+_080A2D24:
+ adds r0, r1, 0x1
+ strb r0, [r3]
+ ldrb r0, [r2]
+ cmp r0, 0x5
+ bhi _080A2D30
+ b _080A2BF2
+_080A2D30:
+ movs r0, 0xFF
+_080A2D32:
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A2BC4
+
+ thumb_func_start sub_80A2D44
+sub_80A2D44: @ 80A2D44
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xC9
+ bne _080A2D5C
+ adds r0, r1, 0
+ bl sub_809D474
+ lsls r0, 16
+ ldr r1, _080A2D60 @ =0x75300000
+ adds r0, r1
+ lsrs r0, 16
+_080A2D5C:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080A2D60: .4byte 0x75300000
+ thumb_func_end sub_80A2D44
+
+ thumb_func_start sub_80A2D64
+sub_80A2D64: @ 80A2D64
+ push {lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldr r0, _080A2D7C @ =0xffff8ad0
+ adds r2, r3, r0
+ lsls r0, r2, 16
+ lsrs r0, 16
+ cmp r0, 0x1B
+ bhi _080A2D80
+ movs r0, 0xC9
+ strh r2, [r1]
+ b _080A2D82
+ .align 2, 0
+_080A2D7C: .4byte 0xffff8ad0
+_080A2D80:
+ adds r0, r3, 0
+_080A2D82:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A2D64
+
+ thumb_func_start sub_80A2D88
+sub_80A2D88: @ 80A2D88
+ push {r4-r7,lr}
+ sub sp, 0x8
+ adds r6, r0, 0
+ adds r7, r1, 0
+ ldrh r5, [r7, 0x20]
+ adds r1, r5, 0
+ bl sub_80A2BC4
+ add r4, sp, 0x4
+ strb r0, [r4]
+ ldrb r2, [r4]
+ cmp r2, 0xFF
+ beq _080A2DE8
+ ldr r0, _080A2DE0 @ =gSaveBlock1
+ lsls r1, r2, 3
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _080A2DE4 @ =0x00002b4c
+ adds r1, r0
+ adds r0, r7, 0
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ adds r0, r6, 0
+ movs r1, 0x40
+ adds r2, r4, 0
+ bl SetMonData
+ mov r0, sp
+ strb r5, [r0]
+ mov r1, sp
+ lsrs r0, r5, 8
+ strb r0, [r1, 0x1]
+ adds r0, r6, 0
+ movs r1, 0xC
+ mov r2, sp
+ bl SetMonData
+ ldrb r0, [r4]
+ b _080A2DEA
+ .align 2, 0
+_080A2DE0: .4byte gSaveBlock1
+_080A2DE4: .4byte 0x00002b4c
+_080A2DE8:
+ movs r0, 0xFF
+_080A2DEA:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A2D88
+
+ thumb_func_start unref_sub_80A2DF4
+unref_sub_80A2DF4: @ 80A2DF4
+ movs r0, 0
+ bx lr
+ thumb_func_end unref_sub_80A2DF4
+
+ thumb_func_start sub_80A2DF8
+sub_80A2DF8: @ 80A2DF8
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ bl sub_80A2B94
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A2E46
+ adds r0, r4, 0
+ movs r1, 0x40
+ bl GetMonData
+ add r2, sp, 0x4
+ strb r0, [r2]
+ ldr r3, _080A2E50 @ =gSaveBlock1
+ ldrb r1, [r2]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldr r1, _080A2E54 @ =0x00002b6c
+ adds r0, r1
+ movs r3, 0
+ movs r1, 0
+ strh r1, [r0]
+ movs r0, 0xFF
+ strb r0, [r2]
+ mov r0, sp
+ strb r3, [r0]
+ strb r3, [r0, 0x1]
+ adds r0, r4, 0
+ movs r1, 0x40
+ bl SetMonData
+ adds r0, r4, 0
+ movs r1, 0xC
+ mov r2, sp
+ bl SetMonData
+_080A2E46:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2E50: .4byte gSaveBlock1
+_080A2E54: .4byte 0x00002b6c
+ thumb_func_end sub_80A2DF8
+
+ thumb_func_start unref_sub_80A2E58
+unref_sub_80A2E58: @ 80A2E58
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080A2E70 @ =gSaveBlock1
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldr r0, _080A2E74 @ =0x00002b6c
+ adds r1, r0
+ movs r0, 0
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_080A2E70: .4byte gSaveBlock1
+_080A2E74: .4byte 0x00002b6c
+ thumb_func_end unref_sub_80A2E58
+
+ thumb_func_start sub_80A2E78
+sub_80A2E78: @ 80A2E78
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0xC
+ adds r5, r0, 0
+ mov r0, sp
+ movs r1, 0
+ strb r1, [r0]
+ strb r1, [r0, 0x1]
+ add r1, sp, 0x4
+ movs r0, 0xFF
+ strb r0, [r1]
+ movs r7, 0x6
+ mov r9, r1
+ ldr r0, _080A2F04 @ =gSaveBlock1
+ mov r8, r0
+ ldr r2, _080A2F08 @ =0x00002b4c
+ add r2, r8
+_080A2E9E:
+ lsls r0, r7, 3
+ adds r0, r7
+ lsls r4, r0, 2
+ mov r1, r8
+ adds r0, r4, r1
+ ldr r3, _080A2F0C @ =0x00002b6c
+ adds r0, r3
+ ldrh r6, [r0]
+ cmp r6, 0
+ bne _080A2F10
+ adds r4, r2
+ adds r0, r5, 0
+ movs r1, 0x40
+ str r2, [sp, 0x8]
+ bl GetMonData
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ ldr r2, [sp, 0x8]
+ adds r1, r2
+ ldm r1!, {r0,r2,r3}
+ stm r4!, {r0,r2,r3}
+ ldm r1!, {r0,r2,r3}
+ stm r4!, {r0,r2,r3}
+ ldm r1!, {r0,r2,r3}
+ stm r4!, {r0,r2,r3}
+ adds r0, r5, 0
+ movs r1, 0x40
+ bl GetMonData
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ add r1, r8
+ ldr r0, _080A2F0C @ =0x00002b6c
+ adds r1, r0
+ strh r6, [r1]
+ adds r0, r5, 0
+ movs r1, 0x40
+ mov r2, r9
+ bl SetMonData
+ adds r0, r5, 0
+ movs r1, 0xC
+ mov r2, sp
+ bl SetMonData
+ adds r0, r7, 0
+ b _080A2F1C
+ .align 2, 0
+_080A2F04: .4byte gSaveBlock1
+_080A2F08: .4byte 0x00002b4c
+_080A2F0C: .4byte 0x00002b6c
+_080A2F10:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0xF
+ bls _080A2E9E
+ movs r0, 0xFF
+_080A2F1C:
+ add sp, 0xC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80A2E78
+
+ thumb_func_start itemid_is_mail
+itemid_is_mail: @ 80A2F2C
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x84
+ bgt _080A2F3E
+ cmp r0, 0x79
+ blt _080A2F3E
+ movs r0, 0x1
+ b _080A2F40
+_080A2F3E:
+ movs r0, 0
+_080A2F40:
+ pop {r1}
+ bx r1
+ thumb_func_end itemid_is_mail
+
+ thumb_func_start unref_sub_80A2F44
+unref_sub_80A2F44: @ 80A2F44
+ push {lr}
+ bl sub_8071C20
+ bl AddMapNamePopUpWindowTask
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end unref_sub_80A2F44
+
+ thumb_func_start AddMapNamePopUpWindowTask
+AddMapNamePopUpWindowTask: @ 80A2F54
+ push {r4,r5,lr}
+ movs r0, 0x80
+ lsls r0, 7
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080A2FE4
+ ldr r4, _080A2FAC @ =sub_80A2FF4
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _080A2FBC
+ adds r0, r4, 0
+ movs r1, 0x5A
+ bl CreateTask
+ ldr r4, _080A2FB0 @ =gUnknown_02038538
+ strb r0, [r4]
+ ldr r1, _080A2FB4 @ =REG_BG0VOFS
+ movs r0, 0x20
+ strh r0, [r1]
+ bl sub_80A30E0
+ ldr r2, _080A2FB8 @ =gTasks
+ ldrb r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ strh r5, [r0, 0x8]
+ ldrb r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x20
+ strh r1, [r0, 0xC]
+ b _080A2FE4
+ .align 2, 0
+_080A2FAC: .4byte sub_80A2FF4
+_080A2FB0: .4byte gUnknown_02038538
+_080A2FB4: .4byte REG_BG0VOFS
+_080A2FB8: .4byte gTasks
+_080A2FBC:
+ ldr r3, _080A2FEC @ =gTasks
+ ldr r2, _080A2FF0 @ =gUnknown_02038538
+ ldrb r0, [r2]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r3
+ movs r4, 0x8
+ ldrsh r0, [r1, r4]
+ cmp r0, 0x2
+ beq _080A2FD6
+ movs r0, 0x2
+ strh r0, [r1, 0x8]
+_080A2FD6:
+ ldrb r0, [r2]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r3
+ movs r0, 0x1
+ strh r0, [r1, 0xE]
+_080A2FE4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A2FEC: .4byte gTasks
+_080A2FF0: .4byte gUnknown_02038538
+ thumb_func_end AddMapNamePopUpWindowTask
+
+ thumb_func_start sub_80A2FF4
+sub_80A2FF4: @ 80A2FF4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r3, _080A3018 @ =gTasks
+ adds r4, r1, r3
+ movs r0, 0x8
+ ldrsh r2, [r4, r0]
+ cmp r2, 0x1
+ beq _080A304C
+ cmp r2, 0x1
+ bgt _080A301C
+ cmp r2, 0
+ beq _080A3026
+ b _080A3092
+ .align 2, 0
+_080A3018: .4byte gTasks
+_080A301C:
+ cmp r2, 0x2
+ beq _080A3064
+ cmp r2, 0x4
+ beq _080A308C
+ b _080A3092
+_080A3026:
+ ldrh r0, [r4, 0xC]
+ subs r0, 0x2
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _080A3092
+ movs r0, 0x1
+ strh r0, [r4, 0x8]
+ ldr r0, _080A3048 @ =gUnknown_02038538
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r3
+ strh r2, [r0, 0xA]
+ b _080A3092
+ .align 2, 0
+_080A3048: .4byte gUnknown_02038538
+_080A304C:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x78
+ ble _080A3092
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ movs r0, 0x2
+ strh r0, [r4, 0x8]
+ b _080A3092
+_080A3064:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x2
+ movs r5, 0
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ ble _080A3092
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _080A3086
+ bl sub_80A30E0
+ strh r5, [r4, 0x8]
+ strh r5, [r4, 0xE]
+ b _080A3092
+_080A3086:
+ movs r0, 0x4
+ strh r0, [r4, 0x8]
+ b _080A3098
+_080A308C:
+ bl HideMapNamePopUpWindow
+ b _080A3098
+_080A3092:
+ ldr r1, _080A30A0 @ =REG_BG0VOFS
+ ldrh r0, [r4, 0xC]
+ strh r0, [r1]
+_080A3098:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A30A0: .4byte REG_BG0VOFS
+ thumb_func_end sub_80A2FF4
+
+ thumb_func_start HideMapNamePopUpWindow
+HideMapNamePopUpWindow: @ 80A30A4
+ push {lr}
+ ldr r0, _080A30D4 @ =sub_80A2FF4
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ beq _080A30D0
+ bl MenuLoadTextWindowGraphics
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0xD
+ movs r3, 0x3
+ bl MenuZeroFillWindowRect
+ ldr r1, _080A30D8 @ =REG_BG0VOFS
+ movs r0, 0
+ strh r0, [r1]
+ ldr r0, _080A30DC @ =gUnknown_02038538
+ ldrb r0, [r0]
+ bl DestroyTask
+_080A30D0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A30D4: .4byte sub_80A2FF4
+_080A30D8: .4byte REG_BG0VOFS
+_080A30DC: .4byte gUnknown_02038538
+ thumb_func_end HideMapNamePopUpWindow
+
+ thumb_func_start sub_80A30E0
+sub_80A30E0: @ 80A30E0
+ push {lr}
+ sub sp, 0x14
+ movs r0, 0
+ bl MenuLoadTextWindowGraphics_OverrideFrameType
+ ldr r0, _080A3114 @ =gMapHeader
+ ldrb r1, [r0, 0x14]
+ mov r0, sp
+ movs r2, 0
+ bl sub_80FBFB4
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0xD
+ movs r3, 0x3
+ bl MenuDrawTextWindow
+ mov r0, sp
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0x60
+ bl sub_8072BD8
+ add sp, 0x14
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080A3114: .4byte gMapHeader
+ thumb_func_end sub_80A30E0
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_810CBB4.s b/asm/rom_810CBB4.s
new file mode 100644
index 000000000..fee17ab5b
--- /dev/null
+++ b/asm/rom_810CBB4.s
@@ -0,0 +1,6732 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start SetUpFieldMove_Flash
+SetUpFieldMove_Flash: @ 810CBB4
+ push {lr}
+ ldr r0, _0810CBDC @ =gMapHeader
+ ldrb r0, [r0, 0x15]
+ cmp r0, 0x1
+ bne _0810CBF4
+ ldr r0, _0810CBE0 @ =0x00000828
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810CBF4
+ ldr r1, _0810CBE4 @ =gUnknown_0300485C
+ ldr r0, _0810CBE8 @ =sub_808AB90
+ str r0, [r1]
+ ldr r1, _0810CBEC @ =gUnknown_03005CE4
+ ldr r0, _0810CBF0 @ =sub_810CBFC
+ str r0, [r1]
+ movs r0, 0x1
+ b _0810CBF6
+ .align 2, 0
+_0810CBDC: .4byte gMapHeader
+_0810CBE0: .4byte 0x00000828
+_0810CBE4: .4byte gUnknown_0300485C
+_0810CBE8: .4byte sub_808AB90
+_0810CBEC: .4byte gUnknown_03005CE4
+_0810CBF0: .4byte sub_810CBFC
+_0810CBF4:
+ movs r0, 0
+_0810CBF6:
+ pop {r1}
+ bx r1
+ thumb_func_end SetUpFieldMove_Flash
+
+ thumb_func_start sub_810CBFC
+sub_810CBFC: @ 810CBFC
+ push {lr}
+ bl oei_task_add
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810CC24 @ =gUnknown_0202FF84
+ ldr r1, _0810CC28 @ =gUnknown_03005CE0
+ ldrb r1, [r1]
+ str r1, [r2]
+ ldr r2, _0810CC2C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r2, _0810CC30 @ =sub_810CC34
+ lsrs r0, r2, 16
+ strh r0, [r1, 0x18]
+ strh r2, [r1, 0x1A]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CC24: .4byte gUnknown_0202FF84
+_0810CC28: .4byte gUnknown_03005CE0
+_0810CC2C: .4byte gTasks
+_0810CC30: .4byte sub_810CC34
+ thumb_func_end sub_810CBFC
+
+ thumb_func_start sub_810CC34
+sub_810CC34: @ 810CC34
+ push {lr}
+ movs r0, 0xCF
+ bl PlaySE
+ ldr r0, _0810CC4C @ =0x00000828
+ bl FlagSet
+ ldr r0, _0810CC50 @ =gUnknown_081B694A
+ bl ScriptContext1_SetupScript
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CC4C: .4byte 0x00000828
+_0810CC50: .4byte gUnknown_081B694A
+ thumb_func_end sub_810CC34
+
+ thumb_func_start sub_810CC54
+sub_810CC54: @ 810CC54
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810CC54
+
+ thumb_func_start sub_810CC6C
+sub_810CC6C: @ 810CC6C
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810CC6C
+
+ thumb_func_start sub_810CC80
+sub_810CC80: @ 810CC80
+ push {r4,lr}
+ sub sp, 0x8
+ movs r0, 0
+ bl SetVBlankCallback
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0
+ strh r1, [r0]
+ adds r0, 0xC
+ strh r1, [r0]
+ subs r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x10
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ mov r0, sp
+ strh r1, [r0]
+ ldr r1, _0810CD34 @ =0x040000d4
+ str r0, [r1]
+ movs r0, 0xC0
+ lsls r0, 19
+ str r0, [r1, 0x4]
+ ldr r0, _0810CD38 @ =0x8100c000
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ movs r4, 0
+ str r4, [sp, 0x4]
+ add r0, sp, 0x4
+ str r0, [r1]
+ movs r0, 0xE0
+ lsls r0, 19
+ str r0, [r1, 0x4]
+ ldr r0, _0810CD3C @ =0x85000100
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ mov r0, sp
+ strh r4, [r0]
+ str r0, [r1]
+ ldr r0, _0810CD40 @ =0x05000002
+ str r0, [r1, 0x4]
+ ldr r0, _0810CD44 @ =0x810001ff
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ bl ResetPaletteFade
+ bl ResetTasks
+ bl ResetSpriteData
+ ldr r3, _0810CD48 @ =0x04000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _0810CD4C @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r0, _0810CD50 @ =sub_810CC6C
+ bl SetVBlankCallback
+ ldr r0, _0810CD54 @ =sub_810CC54
+ bl SetMainCallback2
+ bl sub_810CD5C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810CD2A
+ ldr r0, _0810CD58 @ =gMain
+ ldr r0, [r0, 0x8]
+ bl SetMainCallback2
+_0810CD2A:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CD34: .4byte 0x040000d4
+_0810CD38: .4byte 0x8100c000
+_0810CD3C: .4byte 0x85000100
+_0810CD40: .4byte 0x05000002
+_0810CD44: .4byte 0x810001ff
+_0810CD48: .4byte 0x04000208
+_0810CD4C: .4byte 0x04000200
+_0810CD50: .4byte sub_810CC6C
+_0810CD54: .4byte sub_810CC54
+_0810CD58: .4byte gMain
+ thumb_func_end sub_810CC80
+
+ thumb_func_start sub_810CD5C
+sub_810CD5C: @ 810CD5C
+ push {r4-r7,lr}
+ bl get_map_light_from_warp0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ bl sav1_map_get_light_level
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r3, 0
+ ldr r4, _0810CD9C @ =gUnknown_083F7FC4
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0810CDB0
+ adds r7, r4, 0
+ adds r0, r4, 0x4
+ mov r12, r0
+_0810CD7E:
+ lsls r2, r3, 3
+ adds r1, r2, r7
+ ldrb r0, [r1]
+ cmp r0, r6
+ bne _0810CDA0
+ ldrb r0, [r1, 0x1]
+ cmp r0, r5
+ bne _0810CDA0
+ mov r1, r12
+ adds r0, r2, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ movs r0, 0x1
+ b _0810CDB2
+ .align 2, 0
+_0810CD9C: .4byte gUnknown_083F7FC4
+_0810CDA0:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r0, r3, 3
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0810CD7E
+_0810CDB0:
+ movs r0, 0
+_0810CDB2:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810CD5C
+
+ thumb_func_start sub_810CDB8
+sub_810CDB8: @ 810CDB8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r5, r0, 24
+ lsrs r4, r1, 24
+ movs r3, 0
+ ldr r1, _0810CDE4 @ =gUnknown_083F7FC4
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0810CDF8
+ adds r6, r1, 0
+_0810CDCE:
+ lsls r0, r3, 3
+ adds r2, r0, r6
+ ldrb r0, [r2]
+ cmp r0, r5
+ bne _0810CDE8
+ ldrb r0, [r2, 0x1]
+ cmp r0, r4
+ bne _0810CDE8
+ ldrb r0, [r2, 0x2]
+ b _0810CDFA
+ .align 2, 0
+_0810CDE4: .4byte gUnknown_083F7FC4
+_0810CDE8:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r0, r3, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0810CDCE
+_0810CDF8:
+ movs r0, 0
+_0810CDFA:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810CDB8
+
+ thumb_func_start fade_type_for_given_maplight_pair
+fade_type_for_given_maplight_pair: @ 810CE00
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r5, r0, 24
+ lsrs r4, r1, 24
+ movs r3, 0
+ ldr r1, _0810CE2C @ =gUnknown_083F7FC4
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0810CE40
+ adds r6, r1, 0
+_0810CE16:
+ lsls r0, r3, 3
+ adds r2, r0, r6
+ ldrb r0, [r2]
+ cmp r0, r5
+ bne _0810CE30
+ ldrb r0, [r2, 0x1]
+ cmp r0, r4
+ bne _0810CE30
+ ldrb r0, [r2, 0x3]
+ b _0810CE42
+ .align 2, 0
+_0810CE2C: .4byte gUnknown_083F7FC4
+_0810CE30:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r0, r3, 3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0810CE16
+_0810CE40:
+ movs r0, 0
+_0810CE42:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end fade_type_for_given_maplight_pair
+
+ thumb_func_start sub_810CE48
+sub_810CE48: @ 810CE48
+ push {lr}
+ ldr r0, _0810CE58 @ =sub_810CE5C
+ movs r1, 0
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CE58: .4byte sub_810CE5C
+ thumb_func_end sub_810CE48
+
+ thumb_func_start sub_810CE5C
+sub_810CE5C: @ 810CE5C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810CE70 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, _0810CE74 @ =sub_810CE78
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0810CE70: .4byte gTasks
+_0810CE74: .4byte sub_810CE78
+ thumb_func_end sub_810CE5C
+
+ thumb_func_start sub_810CE78
+sub_810CE78: @ 810CE78
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r6, 0x80
+ lsls r6, 19
+ movs r5, 0
+ strh r5, [r6]
+ ldr r0, _0810CEE8 @ =gCaveTransitionTiles
+ ldr r1, _0810CEEC @ =0x0600c000
+ bl LZ77UnCompVram
+ ldr r0, _0810CEF0 @ =gCaveTransitionTilemap
+ ldr r1, _0810CEF4 @ =0x0600f800
+ bl LZ77UnCompVram
+ ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White
+ movs r1, 0xE0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _0810CEFC @ =gUnknown_083F809C
+ movs r1, 0xE0
+ movs r2, 0x10
+ bl LoadPalette
+ ldr r1, _0810CF00 @ =REG_BLDCNT
+ ldr r2, _0810CF04 @ =0x00003e41
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r0, _0810CF08 @ =REG_BLDALPHA
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ subs r1, 0x48
+ ldr r2, _0810CF0C @ =0x00001f0c
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r1, 0x8A
+ lsls r1, 5
+ adds r0, r1, 0
+ strh r0, [r6]
+ ldr r1, _0810CF10 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810CF14 @ =sub_810CF18
+ str r1, [r0]
+ movs r2, 0
+ movs r1, 0x10
+ strh r1, [r0, 0x8]
+ strh r2, [r0, 0xA]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CEE8: .4byte gCaveTransitionTiles
+_0810CEEC: .4byte 0x0600c000
+_0810CEF0: .4byte gCaveTransitionTilemap
+_0810CEF4: .4byte 0x0600f800
+_0810CEF8: .4byte gCaveTransitionPalette_White
+_0810CEFC: .4byte gUnknown_083F809C
+_0810CF00: .4byte REG_BLDCNT
+_0810CF04: .4byte 0x00003e41
+_0810CF08: .4byte REG_BLDALPHA
+_0810CF0C: .4byte 0x00001f0c
+_0810CF10: .4byte gTasks
+_0810CF14: .4byte sub_810CF18
+ thumb_func_end sub_810CE78
+
+ thumb_func_start sub_810CF18
+sub_810CF18: @ 810CF18
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810CF44 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r3, r1, r2
+ ldrh r2, [r3, 0xA]
+ movs r1, 0x80
+ lsls r1, 5
+ adds r0, r2, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _0810CF48 @ =REG_BLDALPHA
+ strh r0, [r1]
+ cmp r2, 0x10
+ bhi _0810CF4C
+ ldrh r0, [r3, 0xA]
+ adds r0, 0x1
+ strh r0, [r3, 0xA]
+ b _0810CF54
+ .align 2, 0
+_0810CF44: .4byte gTasks
+_0810CF48: .4byte REG_BLDALPHA
+_0810CF4C:
+ movs r0, 0
+ strh r0, [r3, 0xC]
+ ldr r0, _0810CF58 @ =sub_810CF5C
+ str r0, [r3]
+_0810CF54:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CF58: .4byte sub_810CF5C
+ thumb_func_end sub_810CF18
+
+ thumb_func_start sub_810CF5C
+sub_810CF5C: @ 810CF5C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810CF94 @ =REG_BLDALPHA
+ ldr r3, _0810CF98 @ =0x00001010
+ adds r1, r3, 0
+ strh r1, [r2]
+ ldr r2, _0810CF9C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r1, [r4, 0xC]
+ cmp r1, 0x7
+ bhi _0810CFA4
+ adds r0, r1, 0x1
+ strh r0, [r4, 0xC]
+ lsls r1, 1
+ ldr r0, _0810CFA0 @ =gUnknown_083F809C
+ adds r0, r1, r0
+ movs r2, 0x10
+ subs r2, r1
+ lsls r2, 16
+ lsrs r2, 16
+ movs r1, 0xE0
+ bl LoadPalette
+ b _0810CFB6
+ .align 2, 0
+_0810CF94: .4byte REG_BLDALPHA
+_0810CF98: .4byte 0x00001010
+_0810CF9C: .4byte gTasks
+_0810CFA0: .4byte gUnknown_083F809C
+_0810CFA4:
+ ldr r0, _0810CFBC @ =gCaveTransitionPalette_White
+ movs r1, 0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _0810CFC0 @ =sub_810CFC4
+ str r0, [r4]
+ movs r0, 0x8
+ strh r0, [r4, 0xC]
+_0810CFB6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CFBC: .4byte gCaveTransitionPalette_White
+_0810CFC0: .4byte sub_810CFC4
+ thumb_func_end sub_810CF5C
+
+ thumb_func_start sub_810CFC4
+sub_810CFC4: @ 810CFC4
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810CFE4 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrh r2, [r1, 0xC]
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _0810CFE8
+ subs r0, r2, 0x1
+ strh r0, [r1, 0xC]
+ b _0810CFF0
+ .align 2, 0
+_0810CFE4: .4byte gTasks
+_0810CFE8:
+ ldr r0, _0810CFF4 @ =gMain
+ ldr r0, [r0, 0x8]
+ bl SetMainCallback2
+_0810CFF0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810CFF4: .4byte gMain
+ thumb_func_end sub_810CFC4
+
+ thumb_func_start sub_810CFF8
+sub_810CFF8: @ 810CFF8
+ push {lr}
+ ldr r0, _0810D008 @ =sub_810D00C
+ movs r1, 0
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D008: .4byte sub_810D00C
+ thumb_func_end sub_810CFF8
+
+ thumb_func_start sub_810D00C
+sub_810D00C: @ 810D00C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810D020 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, _0810D024 @ =sub_810D028
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0810D020: .4byte gTasks
+_0810D024: .4byte sub_810D028
+ thumb_func_end sub_810D00C
+
+ thumb_func_start sub_810D028
+sub_810D028: @ 810D028
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r6, 0x80
+ lsls r6, 19
+ movs r4, 0
+ strh r4, [r6]
+ ldr r0, _0810D098 @ =gCaveTransitionTiles
+ ldr r1, _0810D09C @ =0x0600c000
+ bl LZ77UnCompVram
+ ldr r0, _0810D0A0 @ =gCaveTransitionTilemap
+ ldr r1, _0810D0A4 @ =0x0600f800
+ bl LZ77UnCompVram
+ ldr r0, _0810D0A8 @ =REG_BLDCNT
+ strh r4, [r0]
+ adds r0, 0x2
+ strh r4, [r0]
+ adds r0, 0x2
+ strh r4, [r0]
+ ldr r1, _0810D0AC @ =REG_BG0CNT
+ ldr r2, _0810D0B0 @ =0x00001f0c
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r1, 0x8A
+ lsls r1, 5
+ adds r0, r1, 0
+ strh r0, [r6]
+ ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White
+ movs r1, 0xE0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black
+ movs r1, 0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r1, _0810D0BC @ =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0810D0C0 @ =sub_810D0C4
+ str r1, [r0]
+ movs r2, 0
+ movs r1, 0x10
+ strh r1, [r0, 0x8]
+ strh r2, [r0, 0xA]
+ strh r2, [r0, 0xC]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D098: .4byte gCaveTransitionTiles
+_0810D09C: .4byte 0x0600c000
+_0810D0A0: .4byte gCaveTransitionTilemap
+_0810D0A4: .4byte 0x0600f800
+_0810D0A8: .4byte REG_BLDCNT
+_0810D0AC: .4byte REG_BG0CNT
+_0810D0B0: .4byte 0x00001f0c
+_0810D0B4: .4byte gCaveTransitionPalette_White
+_0810D0B8: .4byte gCaveTransitionPalette_Black
+_0810D0BC: .4byte gTasks
+_0810D0C0: .4byte sub_810D0C4
+ thumb_func_end sub_810D028
+
+ thumb_func_start sub_810D0C4
+sub_810D0C4: @ 810D0C4
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810D0F8 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r3, r1, r2
+ ldrh r1, [r3, 0xC]
+ cmp r1, 0xF
+ bhi _0810D100
+ adds r2, r1, 0x1
+ adds r0, r2, 0x1
+ strh r0, [r3, 0xC]
+ movs r0, 0xF
+ subs r0, r1
+ lsls r0, 1
+ ldr r1, _0810D0FC @ =gUnknown_083F808C
+ adds r0, r1
+ lsls r2, 17
+ lsrs r2, 16
+ movs r1, 0xE0
+ bl LoadPalette
+ b _0810D114
+ .align 2, 0
+_0810D0F8: .4byte gTasks
+_0810D0FC: .4byte gUnknown_083F808C
+_0810D100:
+ ldr r1, _0810D118 @ =REG_BLDALPHA
+ ldr r2, _0810D11C @ =0x00001010
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0x2
+ ldr r2, _0810D120 @ =0x00003e41
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r0, _0810D124 @ =sub_810D128
+ str r0, [r3]
+_0810D114:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D118: .4byte REG_BLDALPHA
+_0810D11C: .4byte 0x00001010
+_0810D120: .4byte 0x00003e41
+_0810D124: .4byte sub_810D128
+ thumb_func_end sub_810D0C4
+
+ thumb_func_start sub_810D128
+sub_810D128: @ 810D128
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810D158 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r3, r1, r2
+ ldrh r0, [r3, 0xA]
+ movs r1, 0x10
+ subs r1, r0
+ lsls r1, 16
+ movs r2, 0x80
+ lsls r2, 21
+ adds r0, r1, r2
+ lsrs r0, 16
+ ldr r2, _0810D15C @ =REG_BLDALPHA
+ strh r0, [r2]
+ cmp r1, 0
+ beq _0810D160
+ ldrh r0, [r3, 0xA]
+ adds r0, 0x1
+ strh r0, [r3, 0xA]
+ b _0810D172
+ .align 2, 0
+_0810D158: .4byte gTasks
+_0810D15C: .4byte REG_BLDALPHA
+_0810D160:
+ ldr r0, _0810D178 @ =gCaveTransitionPalette_Black
+ movs r1, 0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _0810D17C @ =gMain
+ ldr r0, [r0, 0x8]
+ bl SetMainCallback2
+_0810D172:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D178: .4byte gCaveTransitionPalette_Black
+_0810D17C: .4byte gMain
+ thumb_func_end sub_810D128
+
+ thumb_func_start sub_810D180
+sub_810D180: @ 810D180
+ push {r4-r7,lr}
+ sub sp, 0x4
+ bl HealPlayerParty
+ ldr r4, _0810D1A0 @ =0x00000804
+ adds r0, r4, 0
+ bl FlagGet
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x1
+ bne _0810D1A8
+ ldr r0, _0810D1A4 @ =gUnknown_02039324
+ strb r1, [r0]
+ b _0810D1B4
+ .align 2, 0
+_0810D1A0: .4byte 0x00000804
+_0810D1A4: .4byte gUnknown_02039324
+_0810D1A8:
+ ldr r1, _0810D1E8 @ =gUnknown_02039324
+ movs r0, 0
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl FlagSet
+_0810D1B4:
+ movs r0, 0x1
+ bl sub_8053108
+ cmp r0, 0
+ bne _0810D1D4
+ ldr r2, _0810D1EC @ =gSaveBlock2
+ ldrh r1, [r2, 0xE]
+ lsls r1, 16
+ ldrb r0, [r2, 0x10]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x11]
+ orrs r1, r0
+ movs r0, 0x1
+ bl sav12_xor_set
+_0810D1D4:
+ bl SetSecretBase2Field_9
+ ldr r0, _0810D1EC @ =gSaveBlock2
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _0810D1F0
+ movs r0, 0x1
+ bl sub_80537CC
+ b _0810D1F6
+ .align 2, 0
+_0810D1E8: .4byte gUnknown_02039324
+_0810D1EC: .4byte gSaveBlock2
+_0810D1F0:
+ movs r0, 0x2
+ bl sub_80537CC
+_0810D1F6:
+ movs r6, 0
+ movs r5, 0
+ mov r7, sp
+_0810D1FC:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _0810D260 @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _0810D23A
+ adds r0, r4, 0
+ movs r1, 0x6
+ bl GetMonData
+ cmp r0, 0
+ bne _0810D23A
+ adds r0, r4, 0
+ movs r1, 0x43
+ bl GetMonData
+ cmp r0, 0
+ bne _0810D23A
+ movs r0, 0x1
+ strb r0, [r7]
+ adds r0, r4, 0
+ movs r1, 0x43
+ mov r2, sp
+ bl SetMonData
+ movs r6, 0x1
+_0810D23A:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _0810D1FC
+ cmp r6, 0x1
+ bne _0810D250
+ movs r0, 0x2A
+ bl sav12_xor_increment
+ ldr r0, _0810D264 @ =0x0000083b
+ bl FlagSet
+_0810D250:
+ ldr r0, _0810D268 @ =sub_8141F90
+ bl SetMainCallback2
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810D260: .4byte gPlayerParty
+_0810D264: .4byte 0x0000083b
+_0810D268: .4byte sub_8141F90
+ thumb_func_end sub_810D180
+
+ thumb_func_start sp0C8_whiteout_maybe
+sp0C8_whiteout_maybe: @ 810D26C
+ push {lr}
+ ldr r0, _0810D27C @ =c2_whiteout
+ bl SetMainCallback2
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810D27C: .4byte c2_whiteout
+ thumb_func_end sp0C8_whiteout_maybe
+
+ thumb_func_start sub_810D280
+sub_810D280: @ 810D280
+ push {r4,lr}
+ ldr r0, _0810D2A4 @ =0x00004024
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, _0810D2A8 @ =0x00004025
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r4, 16
+ orrs r4, r0
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810D2A4: .4byte 0x00004024
+_0810D2A8: .4byte 0x00004025
+ thumb_func_end sub_810D280
+
+ thumb_func_start sub_810D2AC
+sub_810D2AC: @ 810D2AC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _0810D2CC @ =0x00004024
+ lsrs r1, r4, 16
+ bl VarSet
+ ldr r0, _0810D2D0 @ =0x00004025
+ lsls r4, 16
+ lsrs r4, 16
+ adds r1, r4, 0
+ bl VarSet
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D2CC: .4byte 0x00004024
+_0810D2D0: .4byte 0x00004025
+ thumb_func_end sub_810D2AC
+
+ thumb_func_start unref_sub_810D2D4
+unref_sub_810D2D4: @ 810D2D4
+ push {r4,lr}
+ bl Random
+ adds r4, r0, 0
+ bl Random
+ lsls r4, 16
+ lsls r0, 16
+ lsrs r0, 16
+ orrs r4, r0
+ adds r0, r4, 0
+ bl sub_810D2AC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end unref_sub_810D2D4
+
+ thumb_func_start sub_810D2F4
+sub_810D2F4: @ 810D2F4
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ bl sub_810D280
+ adds r1, r0, 0
+ cmp r4, 0
+ beq _0810D318
+ ldr r3, _0810D324 @ =0x41c64e6d
+ ldr r2, _0810D328 @ =0x00003039
+_0810D308:
+ adds r0, r1, 0
+ muls r0, r3
+ adds r1, r0, r2
+ subs r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0
+ bne _0810D308
+_0810D318:
+ adds r0, r1, 0
+ bl sub_810D2AC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D324: .4byte 0x41c64e6d
+_0810D328: .4byte 0x00003039
+ thumb_func_end sub_810D2F4
+
+ thumb_func_start sub_810D32C
+sub_810D32C: @ 810D32C
+ push {r4-r6,lr}
+ bl sub_810D280
+ lsrs r6, r0, 16
+ movs r5, 0
+_0810D336:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _0810D360 @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ cmp r0, 0
+ beq _0810D368
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetMonData
+ ldr r1, _0810D364 @ =0x0000ffff
+ ands r1, r0
+ cmp r1, r6
+ bne _0810D368
+ movs r0, 0x1
+ b _0810D370
+ .align 2, 0
+_0810D360: .4byte gPlayerParty
+_0810D364: .4byte 0x0000ffff
+_0810D368:
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _0810D336
+ movs r0, 0
+_0810D370:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810D32C
+
+ thumb_func_start sub_810D378
+sub_810D378: @ 810D378
+ push {lr}
+ bl get_map_light_from_warp0
+ lsls r0, 24
+ lsrs r0, 24
+ bl is_light_level_1_2_3_5_or_6
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810D3BE
+ bl RtcCalcLocalTime
+ ldr r1, _0810D3AC @ =gUnknown_083F8340
+ ldr r0, _0810D3B0 @ =gLocalTime
+ ldrb r0, [r0, 0x2]
+ lsls r0, 24
+ asrs r0, 24
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0810D3B8
+ ldr r0, _0810D3B4 @ =0x0000083a
+ bl FlagSet
+ b _0810D3BE
+ .align 2, 0
+_0810D3AC: .4byte gUnknown_083F8340
+_0810D3B0: .4byte gLocalTime
+_0810D3B4: .4byte 0x0000083a
+_0810D3B8:
+ ldr r0, _0810D3C4 @ =0x0000083a
+ bl FlagReset
+_0810D3BE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D3C4: .4byte 0x0000083a
+ thumb_func_end sub_810D378
+
+ thumb_func_start sub_810D3C8
+sub_810D3C8: @ 810D3C8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_807DDFC
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810D3E2
+ bl EnableBothScriptContexts
+ adds r0, r4, 0
+ bl DestroyTask
+_0810D3E2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810D3C8
+
+ thumb_func_start sub_810D3E8
+sub_810D3E8: @ 810D3E8
+ push {lr}
+ ldr r0, _0810D3F8 @ =sub_810D3C8
+ movs r1, 0x50
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D3F8: .4byte sub_810D3C8
+ thumb_func_end sub_810D3E8
+
+ thumb_func_start sub_810D3FC
+sub_810D3FC: @ 810D3FC
+ push {lr}
+ ldr r0, _0810D40C @ =0x00004049
+ bl GetVarPointer
+ movs r1, 0
+ strh r1, [r0]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D40C: .4byte 0x00004049
+ thumb_func_end sub_810D3FC
+
+ thumb_func_start UpdateBirchState
+UpdateBirchState: @ 810D410
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, _0810D438 @ =0x00004049
+ bl GetVarPointer
+ adds r5, r0, 0
+ ldrh r0, [r5]
+ adds r4, r0
+ strh r4, [r5]
+ ldrh r0, [r5]
+ movs r1, 0x7
+ bl __umodsi3
+ strh r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D438: .4byte 0x00004049
+ thumb_func_end UpdateBirchState
+
+ thumb_func_start ScriptGetPokedexInfo
+ScriptGetPokedexInfo: @ 810D43C
+ push {lr}
+ ldr r0, _0810D458 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0810D460
+ movs r0, 0
+ bl GetHoennPokedexCount
+ ldr r1, _0810D45C @ =gSpecialVar_0x8005
+ strh r0, [r1]
+ movs r0, 0x1
+ bl GetHoennPokedexCount
+ b _0810D470
+ .align 2, 0
+_0810D458: .4byte gSpecialVar_0x8004
+_0810D45C: .4byte gSpecialVar_0x8005
+_0810D460:
+ movs r0, 0
+ bl GetNationalPokedexCount
+ ldr r1, _0810D480 @ =gSpecialVar_0x8005
+ strh r0, [r1]
+ movs r0, 0x1
+ bl GetNationalPokedexCount
+_0810D470:
+ ldr r1, _0810D484 @ =gSpecialVar_0x8006
+ strh r0, [r1]
+ bl IsNationalPokedex
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810D480: .4byte gSpecialVar_0x8005
+_0810D484: .4byte gSpecialVar_0x8006
+ thumb_func_end ScriptGetPokedexInfo
+
+ thumb_func_start GetPokedexRatingText
+GetPokedexRatingText: @ 810D488
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x9
+ bhi _0810D494
+ b _0810D5EC
+_0810D494:
+ cmp r0, 0x13
+ bhi _0810D4A0
+ ldr r0, _0810D49C @ =gUnknown_081C456A
+ b _0810D5F6
+ .align 2, 0
+_0810D49C: .4byte gUnknown_081C456A
+_0810D4A0:
+ cmp r0, 0x1D
+ bhi _0810D4AC
+ ldr r0, _0810D4A8 @ =gUnknown_081C45B0
+ b _0810D5F6
+ .align 2, 0
+_0810D4A8: .4byte gUnknown_081C45B0
+_0810D4AC:
+ cmp r0, 0x27
+ bhi _0810D4B8
+ ldr r0, _0810D4B4 @ =gUnknown_081C45F9
+ b _0810D5F6
+ .align 2, 0
+_0810D4B4: .4byte gUnknown_081C45F9
+_0810D4B8:
+ cmp r0, 0x31
+ bhi _0810D4C4
+ ldr r0, _0810D4C0 @ =gUnknown_081C4648
+ b _0810D5F6
+ .align 2, 0
+_0810D4C0: .4byte gUnknown_081C4648
+_0810D4C4:
+ cmp r0, 0x3B
+ bhi _0810D4D0
+ ldr r0, _0810D4CC @ =gUnknown_081C467E
+ b _0810D5F6
+ .align 2, 0
+_0810D4CC: .4byte gUnknown_081C467E
+_0810D4D0:
+ cmp r0, 0x45
+ bhi _0810D4DC
+ ldr r0, _0810D4D8 @ =gUnknown_081C46B9
+ b _0810D5F6
+ .align 2, 0
+_0810D4D8: .4byte gUnknown_081C46B9
+_0810D4DC:
+ cmp r0, 0x4F
+ bhi _0810D4E8
+ ldr r0, _0810D4E4 @ =gUnknown_081C46FE
+ b _0810D5F6
+ .align 2, 0
+_0810D4E4: .4byte gUnknown_081C46FE
+_0810D4E8:
+ cmp r0, 0x59
+ bhi _0810D4F4
+ ldr r0, _0810D4F0 @ =gUnknown_081C4747
+ b _0810D5F6
+ .align 2, 0
+_0810D4F0: .4byte gUnknown_081C4747
+_0810D4F4:
+ cmp r0, 0x63
+ bhi _0810D500
+ ldr r0, _0810D4FC @ =gUnknown_081C4780
+ b _0810D5F6
+ .align 2, 0
+_0810D4FC: .4byte gUnknown_081C4780
+_0810D500:
+ cmp r0, 0x6D
+ bhi _0810D50C
+ ldr r0, _0810D508 @ =gUnknown_081C47DF
+ b _0810D5F6
+ .align 2, 0
+_0810D508: .4byte gUnknown_081C47DF
+_0810D50C:
+ cmp r0, 0x77
+ bhi _0810D518
+ ldr r0, _0810D514 @ =gUnknown_081C4828
+ b _0810D5F6
+ .align 2, 0
+_0810D514: .4byte gUnknown_081C4828
+_0810D518:
+ cmp r0, 0x81
+ bhi _0810D524
+ ldr r0, _0810D520 @ =gUnknown_081C4863
+ b _0810D5F6
+ .align 2, 0
+_0810D520: .4byte gUnknown_081C4863
+_0810D524:
+ cmp r0, 0x8B
+ bhi _0810D530
+ ldr r0, _0810D52C @ =gUnknown_081C489C
+ b _0810D5F6
+ .align 2, 0
+_0810D52C: .4byte gUnknown_081C489C
+_0810D530:
+ cmp r0, 0x95
+ bhi _0810D53C
+ ldr r0, _0810D538 @ =gUnknown_081C48EB
+ b _0810D5F6
+ .align 2, 0
+_0810D538: .4byte gUnknown_081C48EB
+_0810D53C:
+ cmp r0, 0x9F
+ bhi _0810D548
+ ldr r0, _0810D544 @ =gUnknown_081C4936
+ b _0810D5F6
+ .align 2, 0
+_0810D544: .4byte gUnknown_081C4936
+_0810D548:
+ cmp r0, 0xA9
+ bhi _0810D554
+ ldr r0, _0810D550 @ =gUnknown_081C49A2
+ b _0810D5F6
+ .align 2, 0
+_0810D550: .4byte gUnknown_081C49A2
+_0810D554:
+ cmp r0, 0xB3
+ bhi _0810D560
+ ldr r0, _0810D55C @ =gUnknown_081C4A06
+ b _0810D5F6
+ .align 2, 0
+_0810D55C: .4byte gUnknown_081C4A06
+_0810D560:
+ cmp r0, 0xBD
+ bhi _0810D56C
+ ldr r0, _0810D568 @ =gUnknown_081C4A4F
+ b _0810D5F6
+ .align 2, 0
+_0810D568: .4byte gUnknown_081C4A4F
+_0810D56C:
+ cmp r0, 0xC7
+ bls _0810D5DA
+ cmp r0, 0xC8
+ bne _0810D5A8
+ ldr r0, _0810D5A4 @ =0x00000199
+ bl SpeciesToNationalPokedexNum
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x1
+ bl sub_8090D90
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810D5DA
+ movs r0, 0xCD
+ lsls r0, 1
+ bl SpeciesToNationalPokedexNum
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x1
+ bl sub_8090D90
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810D5DA
+ b _0810D5F4
+ .align 2, 0
+_0810D5A4: .4byte 0x00000199
+_0810D5A8:
+ cmp r0, 0xC9
+ bne _0810D5E8
+ ldr r0, _0810D5E0 @ =0x00000199
+ bl SpeciesToNationalPokedexNum
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x1
+ bl sub_8090D90
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810D5F4
+ movs r0, 0xCD
+ lsls r0, 1
+ bl SpeciesToNationalPokedexNum
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x1
+ bl sub_8090D90
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810D5F4
+_0810D5DA:
+ ldr r0, _0810D5E4 @ =gUnknown_081C4A91
+ b _0810D5F6
+ .align 2, 0
+_0810D5E0: .4byte 0x00000199
+_0810D5E4: .4byte gUnknown_081C4A91
+_0810D5E8:
+ cmp r0, 0xCA
+ beq _0810D5F4
+_0810D5EC:
+ ldr r0, _0810D5F0 @ =gUnknown_081C4520
+ b _0810D5F6
+ .align 2, 0
+_0810D5F0: .4byte gUnknown_081C4520
+_0810D5F4:
+ ldr r0, _0810D5FC @ =gUnknown_081C4ADA
+_0810D5F6:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810D5FC: .4byte gUnknown_081C4ADA
+ thumb_func_end GetPokedexRatingText
+
+ thumb_func_start ShowPokedexRatingMessage
+ShowPokedexRatingMessage: @ 810D600
+ push {lr}
+ ldr r0, _0810D614 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ bl GetPokedexRatingText
+ bl ShowFieldMessage
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D614: .4byte gSpecialVar_0x8004
+ thumb_func_end ShowPokedexRatingMessage
+
+ thumb_func_start AccessHallOfFamePC
+AccessHallOfFamePC: @ 810D618
+ push {lr}
+ ldr r0, _0810D628 @ =sub_81428CC
+ bl SetMainCallback2
+ bl ScriptContext2_Enable
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D628: .4byte sub_81428CC
+ thumb_func_end AccessHallOfFamePC
+
+ thumb_func_start ReturnFromHallOfFamePC
+ReturnFromHallOfFamePC: @ 810D62C
+ push {lr}
+ ldr r0, _0810D640 @ =c2_exit_to_overworld_2_switch
+ bl SetMainCallback2
+ ldr r1, _0810D644 @ =gUnknown_0300485C
+ ldr r0, _0810D648 @ =ReshowPCMenuAfterHallOfFamePC
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D640: .4byte c2_exit_to_overworld_2_switch
+_0810D644: .4byte gUnknown_0300485C
+_0810D648: .4byte ReshowPCMenuAfterHallOfFamePC
+ thumb_func_end ReturnFromHallOfFamePC
+
+ thumb_func_start ReshowPCMenuAfterHallOfFamePC
+ReshowPCMenuAfterHallOfFamePC: @ 810D64C
+ push {lr}
+ sub sp, 0x4
+ bl ScriptContext2_Enable
+ bl sub_8053E90
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ bl TryCreatePCMenu
+ bl sub_80B5838
+ ldr r0, _0810D680 @ =sub_810D684
+ movs r1, 0xA
+ bl CreateTask
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D680: .4byte sub_810D684
+ thumb_func_end ReshowPCMenuAfterHallOfFamePC
+
+ thumb_func_start sub_810D684
+sub_810D684: @ 810D684
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _0810D6A0 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0810D69C
+ adds r0, r2, 0
+ bl DestroyTask
+_0810D69C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D6A0: .4byte gPaletteFade
+ thumb_func_end sub_810D684
+
+ thumb_func_start sub_810D6A4
+sub_810D6A4: @ 810D6A4
+ push {lr}
+ ldr r0, _0810D6B4 @ =sub_8145D88
+ bl SetMainCallback2
+ bl ScriptContext2_Enable
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D6B4: .4byte sub_8145D88
+ thumb_func_end sub_810D6A4
+
+ thumb_func_start sub_810D6B8
+sub_810D6B8: @ 810D6B8
+ push {lr}
+ ldr r0, _0810D6D0 @ =gMain
+ ldr r1, _0810D6D4 @ =c2_exit_to_overworld_2_switch
+ str r1, [r0, 0x8]
+ ldr r0, _0810D6D8 @ =Cb2_ViewWallClock
+ bl SetMainCallback2
+ bl ScriptContext2_Enable
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D6D0: .4byte gMain
+_0810D6D4: .4byte c2_exit_to_overworld_2_switch
+_0810D6D8: .4byte Cb2_ViewWallClock
+ thumb_func_end sub_810D6B8
+
+ thumb_func_start ResetCyclingRoadChallengeData
+ResetCyclingRoadChallengeData: @ 810D6DC
+ ldr r0, _0810D6F0 @ =gUnknown_02039250
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _0810D6F4 @ =gUnknown_02039251
+ strb r1, [r0]
+ ldr r1, _0810D6F8 @ =gUnknown_02039254
+ movs r0, 0
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0810D6F0: .4byte gUnknown_02039250
+_0810D6F4: .4byte gUnknown_02039251
+_0810D6F8: .4byte gUnknown_02039254
+ thumb_func_end ResetCyclingRoadChallengeData
+
+ thumb_func_start BeginCyclingRoadChallenge
+BeginCyclingRoadChallenge: @ 810D6FC
+ ldr r1, _0810D714 @ =gUnknown_02039250
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r1, _0810D718 @ =gUnknown_02039251
+ movs r0, 0
+ strb r0, [r1]
+ ldr r1, _0810D71C @ =gUnknown_02039254
+ ldr r0, _0810D720 @ =gMain
+ ldr r0, [r0, 0x20]
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0810D714: .4byte gUnknown_02039250
+_0810D718: .4byte gUnknown_02039251
+_0810D71C: .4byte gUnknown_02039254
+_0810D720: .4byte gMain
+ thumb_func_end BeginCyclingRoadChallenge
+
+ thumb_func_start GetPlayerAvatarBike
+GetPlayerAvatarBike: @ 810D724
+ push {lr}
+ movs r0, 0x4
+ bl TestPlayerAvatarFlags
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810D736
+ movs r0, 0x1
+ b _0810D748
+_0810D736:
+ movs r0, 0x2
+ bl TestPlayerAvatarFlags
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810D746
+ movs r0, 0
+ b _0810D748
+_0810D746:
+ movs r0, 0x2
+_0810D748:
+ pop {r1}
+ bx r1
+ thumb_func_end GetPlayerAvatarBike
+
+ thumb_func_start DetermineCyclingRoadResults
+DetermineCyclingRoadResults: @ 810D74C
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ cmp r6, 0x63
+ bhi _0810D778
+ ldr r4, _0810D770 @ =gStringVar1
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r1, _0810D774 @ =gOtherText_Times
+ adds r0, r4, 0
+ bl StringAppend
+ b _0810D780
+ .align 2, 0
+_0810D770: .4byte gStringVar1
+_0810D774: .4byte gOtherText_Times
+_0810D778:
+ ldr r0, _0810D7CC @ =gStringVar1
+ ldr r1, _0810D7D0 @ =gOtherText_99Times
+ bl StringCopy
+_0810D780:
+ ldr r0, _0810D7D4 @ =0x00000e0f
+ cmp r7, r0
+ bhi _0810D7E0
+ ldr r4, _0810D7D8 @ =gStringVar2
+ adds r0, r7, 0
+ movs r1, 0x3C
+ bl __udivsi3
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ movs r0, 0xAD
+ strb r0, [r4, 0x2]
+ adds r5, r4, 0x3
+ adds r0, r7, 0
+ movs r1, 0x3C
+ bl __umodsi3
+ movs r1, 0x64
+ muls r0, r1
+ movs r1, 0x3C
+ bl __udivsi3
+ adds r1, r0, 0
+ adds r0, r5, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r1, _0810D7DC @ =gOtherText_Seconds
+ adds r0, r4, 0
+ bl StringAppend
+ b _0810D7E8
+ .align 2, 0
+_0810D7CC: .4byte gStringVar1
+_0810D7D0: .4byte gOtherText_99Times
+_0810D7D4: .4byte 0x00000e0f
+_0810D7D8: .4byte gStringVar2
+_0810D7DC: .4byte gOtherText_Seconds
+_0810D7E0:
+ ldr r0, _0810D7F4 @ =gStringVar2
+ ldr r1, _0810D7F8 @ =gOtherText_1Minute
+ bl StringCopy
+_0810D7E8:
+ movs r4, 0
+ cmp r6, 0
+ bne _0810D7FC
+ movs r4, 0x5
+ b _0810D81A
+ .align 2, 0
+_0810D7F4: .4byte gStringVar2
+_0810D7F8: .4byte gOtherText_1Minute
+_0810D7FC:
+ cmp r6, 0x3
+ bhi _0810D804
+ movs r4, 0x4
+ b _0810D81A
+_0810D804:
+ cmp r6, 0x9
+ bhi _0810D80C
+ movs r4, 0x3
+ b _0810D81A
+_0810D80C:
+ cmp r6, 0x13
+ bhi _0810D814
+ movs r4, 0x2
+ b _0810D81A
+_0810D814:
+ cmp r6, 0x63
+ bhi _0810D81A
+ movs r4, 0x1
+_0810D81A:
+ adds r0, r7, 0
+ movs r1, 0x3C
+ bl __udivsi3
+ cmp r0, 0xA
+ bhi _0810D82A
+ adds r0, r4, 0x5
+ b _0810D848
+_0810D82A:
+ cmp r0, 0xF
+ bhi _0810D832
+ adds r0, r4, 0x4
+ b _0810D848
+_0810D832:
+ cmp r0, 0x14
+ bhi _0810D83A
+ adds r0, r4, 0x3
+ b _0810D848
+_0810D83A:
+ cmp r0, 0x28
+ bhi _0810D842
+ adds r0, r4, 0x2
+ b _0810D848
+_0810D842:
+ cmp r0, 0x3B
+ bhi _0810D84C
+ adds r0, r4, 0x1
+_0810D848:
+ lsls r0, 24
+ lsrs r4, r0, 24
+_0810D84C:
+ ldr r0, _0810D858 @ =gScriptResult
+ strh r4, [r0]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D858: .4byte gScriptResult
+ thumb_func_end DetermineCyclingRoadResults
+
+ thumb_func_start FinishCyclingRoadChallenge
+FinishCyclingRoadChallenge: @ 810D85C
+ push {r4,r5,lr}
+ ldr r0, _0810D880 @ =gMain
+ ldr r1, _0810D884 @ =gUnknown_02039254
+ ldr r4, [r0, 0x20]
+ ldr r0, [r1]
+ subs r4, r0
+ ldr r5, _0810D888 @ =gUnknown_02039251
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl DetermineCyclingRoadResults
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl RecordCyclingRoadResults
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D880: .4byte gMain
+_0810D884: .4byte gUnknown_02039254
+_0810D888: .4byte gUnknown_02039251
+ thumb_func_end FinishCyclingRoadChallenge
+
+ thumb_func_start RecordCyclingRoadResults
+RecordCyclingRoadResults: @ 810D88C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ ldr r6, _0810D8E0 @ =0x00004028
+ adds r0, r6, 0
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r7, _0810D8E4 @ =0x00004029
+ adds r0, r7, 0
+ bl VarGet
+ lsls r0, 16
+ adds r4, r0
+ cmp r4, r5
+ bhi _0810D8BC
+ cmp r4, 0
+ bne _0810D8D6
+_0810D8BC:
+ lsls r1, r5, 16
+ lsrs r1, 16
+ adds r0, r6, 0
+ bl VarSet
+ lsrs r1, r5, 16
+ adds r0, r7, 0
+ bl VarSet
+ ldr r0, _0810D8E8 @ =0x00004027
+ mov r1, r8
+ bl VarSet
+_0810D8D6:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D8E0: .4byte 0x00004028
+_0810D8E4: .4byte 0x00004029
+_0810D8E8: .4byte 0x00004027
+ thumb_func_end RecordCyclingRoadResults
+
+ thumb_func_start GetRecordedCyclingRoadResults
+GetRecordedCyclingRoadResults: @ 810D8EC
+ push {r4,lr}
+ ldr r0, _0810D920 @ =0x00004028
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, _0810D924 @ =0x00004029
+ bl VarGet
+ lsls r0, 16
+ adds r4, r0
+ cmp r4, 0
+ beq _0810D92C
+ ldr r0, _0810D928 @ =0x00004027
+ bl VarGet
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl DetermineCyclingRoadResults
+ movs r0, 0x1
+ b _0810D92E
+ .align 2, 0
+_0810D920: .4byte 0x00004028
+_0810D924: .4byte 0x00004029
+_0810D928: .4byte 0x00004027
+_0810D92C:
+ movs r0, 0
+_0810D92E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetRecordedCyclingRoadResults
+
+ thumb_func_start UpdateCyclingRoadState
+UpdateCyclingRoadState: @ 810D934
+ push {r4,lr}
+ ldr r0, _0810D974 @ =gUnknown_020297F0
+ ldrh r1, [r0]
+ ldr r0, _0810D978 @ =0x00000c1d
+ cmp r1, r0
+ beq _0810D96C
+ ldr r4, _0810D97C @ =0x000040a9
+ adds r0, r4, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ beq _0810D95E
+ adds r0, r4, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x3
+ bne _0810D96C
+_0810D95E:
+ adds r0, r4, 0
+ movs r1, 0
+ bl VarSet
+ movs r0, 0
+ bl sav1_set_battle_music_maybe
+_0810D96C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D974: .4byte gUnknown_020297F0
+_0810D978: .4byte 0x00000c1d
+_0810D97C: .4byte 0x000040a9
+ thumb_func_end UpdateCyclingRoadState
+
+ thumb_func_start SetSSTidalFlag
+SetSSTidalFlag: @ 810D980
+ push {lr}
+ ldr r0, _0810D998 @ =0x0000082d
+ bl FlagSet
+ ldr r0, _0810D99C @ =0x0000404a
+ bl GetVarPointer
+ movs r1, 0
+ strh r1, [r0]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D998: .4byte 0x0000082d
+_0810D99C: .4byte 0x0000404a
+ thumb_func_end SetSSTidalFlag
+
+ thumb_func_start ResetSSTidalFlag
+ResetSSTidalFlag: @ 810D9A0
+ push {lr}
+ ldr r0, _0810D9AC @ =0x0000082d
+ bl FlagReset
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810D9AC: .4byte 0x0000082d
+ thumb_func_end ResetSSTidalFlag
+
+ thumb_func_start sub_810D9B0
+sub_810D9B0: @ 810D9B0
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, _0810D9DC @ =0x0000082d
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810D9D6
+ ldr r0, _0810D9E0 @ =0x0000404a
+ bl GetVarPointer
+ ldrh r1, [r0]
+ adds r1, r4, r1
+ strh r1, [r0]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0xCC
+ bhi _0810D9E4
+_0810D9D6:
+ movs r0, 0
+ b _0810D9E6
+ .align 2, 0
+_0810D9DC: .4byte 0x0000082d
+_0810D9E0: .4byte 0x0000404a
+_0810D9E4:
+ movs r0, 0x1
+_0810D9E6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810D9B0
+
+ thumb_func_start sub_810D9EC
+sub_810D9EC: @ 810D9EC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ mov r8, r0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ adds r7, r3, 0
+ ldr r0, _0810DA1C @ =0x0000404a
+ bl GetVarPointer
+ adds r4, r0, 0
+ ldr r0, _0810DA20 @ =0x000040b4
+ bl GetVarPointer
+ ldrh r0, [r0]
+ subs r0, 0x1
+ cmp r0, 0x9
+ bhi _0810DAB2
+ lsls r0, 2
+ ldr r1, _0810DA24 @ =_0810DA28
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810DA1C: .4byte 0x0000404a
+_0810DA20: .4byte 0x000040b4
+_0810DA24: .4byte _0810DA28
+ .align 2, 0
+_0810DA28:
+ .4byte _0810DA50
+ .4byte _0810DA60
+ .4byte _0810DA54
+ .4byte _0810DA58
+ .4byte _0810DA58
+ .4byte _0810DA5C
+ .4byte _0810DA88
+ .4byte _0810DA50
+ .4byte _0810DA54
+ .4byte _0810DA5C
+_0810DA50:
+ movs r0, 0x1
+ b _0810DABE
+_0810DA54:
+ movs r0, 0x4
+ b _0810DABE
+_0810DA58:
+ movs r0, 0x2
+ b _0810DABE
+_0810DA5C:
+ movs r0, 0x3
+ b _0810DABE
+_0810DA60:
+ ldrh r0, [r4]
+ cmp r0, 0x3B
+ bhi _0810DA70
+ movs r0, 0x31
+ strb r0, [r5]
+ ldrh r0, [r4]
+ adds r0, 0x13
+ b _0810DAB0
+_0810DA70:
+ cmp r0, 0x8B
+ bhi _0810DA7E
+ movs r0, 0x30
+ strb r0, [r5]
+ ldrh r0, [r4]
+ subs r0, 0x3C
+ b _0810DAB0
+_0810DA7E:
+ movs r0, 0x2F
+ strb r0, [r5]
+ ldrh r0, [r4]
+ subs r0, 0x8C
+ b _0810DAB0
+_0810DA88:
+ ldrh r0, [r4]
+ cmp r0, 0x41
+ bhi _0810DA98
+ movs r0, 0x2F
+ strb r0, [r5]
+ ldrh r1, [r4]
+ movs r0, 0x41
+ b _0810DAAE
+_0810DA98:
+ cmp r0, 0x91
+ bhi _0810DAA6
+ movs r0, 0x30
+ strb r0, [r5]
+ ldrh r1, [r4]
+ movs r0, 0x91
+ b _0810DAAE
+_0810DAA6:
+ movs r0, 0x31
+ strb r0, [r5]
+ ldrh r1, [r4]
+ movs r0, 0xE0
+_0810DAAE:
+ subs r0, r1
+_0810DAB0:
+ strh r0, [r6]
+_0810DAB2:
+ movs r0, 0
+ mov r1, r8
+ strb r0, [r1]
+ movs r0, 0x14
+ strh r0, [r7]
+ movs r0, 0
+_0810DABE:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810D9EC
+
+ thumb_func_start GetLinkPartnerNames
+GetLinkPartnerNames: @ 810DAC8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r6, 0
+ bl sub_8008218
+ lsls r0, 24
+ lsrs r7, r0, 24
+ bl sub_800820C
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _0810DB12
+ ldr r0, _0810DB20 @ =gUnknown_083D1464
+ mov r8, r0
+_0810DAEA:
+ cmp r7, r4
+ beq _0810DB08
+ lsls r0, r6, 2
+ add r0, r8
+ ldr r0, [r0]
+ lsls r1, r4, 3
+ subs r1, r4
+ lsls r1, 2
+ ldr r2, _0810DB24 @ =gLinkPlayers + 0x8
+ adds r1, r2
+ bl StringCopy
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0810DB08:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _0810DAEA
+_0810DB12:
+ adds r0, r5, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810DB20: .4byte gUnknown_083D1464
+_0810DB24: .4byte gLinkPlayers + 0x8
+ thumb_func_end GetLinkPartnerNames
+
+ thumb_func_start sub_810DB28
+sub_810DB28: @ 810DB28
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ movs r7, 0
+ movs r0, 0
+ mov r9, r0
+ mov r8, r0
+ ldr r1, _0810DB74 @ =gUnknown_083F8358
+ add r0, sp, 0x8
+ movs r2, 0x4
+ bl memcpy
+ add r4, sp, 0xC
+ ldr r1, _0810DB78 @ =gUnknown_083F835C
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl memcpy
+ bl sub_8008218
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ bl player_get_direction_lower_nybble
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x2
+ beq _0810DB94
+ cmp r0, 0x2
+ bgt _0810DB7C
+ cmp r0, 0x1
+ beq _0810DBC0
+ b _0810DBD2
+ .align 2, 0
+_0810DB74: .4byte gUnknown_083F8358
+_0810DB78: .4byte gUnknown_083F835C
+_0810DB7C:
+ cmp r1, 0x3
+ beq _0810DB86
+ cmp r1, 0x4
+ beq _0810DBA8
+ b _0810DBD2
+_0810DB86:
+ movs r7, 0x2
+ ldr r1, _0810DB90 @ =gSaveBlock1
+ ldrh r0, [r1]
+ subs r0, 0x1
+ b _0810DBAE
+ .align 2, 0
+_0810DB90: .4byte gSaveBlock1
+_0810DB94:
+ movs r7, 0x1
+ ldr r0, _0810DBA4 @ =gSaveBlock1
+ ldrh r1, [r0]
+ mov r9, r1
+ ldrh r0, [r0, 0x2]
+ subs r0, 0x1
+ b _0810DBCC
+ .align 2, 0
+_0810DBA4: .4byte gSaveBlock1
+_0810DBA8:
+ ldr r1, _0810DBBC @ =gSaveBlock1
+ ldrh r0, [r1]
+ adds r0, 0x1
+_0810DBAE:
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ ldrh r1, [r1, 0x2]
+ mov r8, r1
+ b _0810DBD2
+ .align 2, 0
+_0810DBBC: .4byte gSaveBlock1
+_0810DBC0:
+ movs r7, 0x3
+ ldr r0, _0810DBD8 @ =gSaveBlock1
+ ldrh r4, [r0]
+ mov r9, r4
+ ldrh r0, [r0, 0x2]
+ adds r0, 0x1
+_0810DBCC:
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+_0810DBD2:
+ movs r6, 0
+ b _0810DC5C
+ .align 2, 0
+_0810DBD8: .4byte gSaveBlock1
+_0810DBDC:
+ cmp r10, r6
+ beq _0810DC56
+ ldr r1, _0810DC74 @ =gLinkPlayers
+ lsls r0, r6, 3
+ subs r0, r6
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x13]
+ movs r0, 0
+ bl sub_805983C
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, sp
+ adds r1, r7
+ adds r1, 0x8
+ ldrb r1, [r1]
+ movs r2, 0xF0
+ subs r2, r6
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r5, r7, 1
+ mov r3, sp
+ adds r3, r5
+ adds r3, 0xC
+ ldrb r3, [r3]
+ lsls r3, 24
+ asrs r3, 24
+ mov r12, r3
+ mov r4, r9
+ lsls r3, r4, 16
+ asrs r3, 16
+ add r3, r12
+ adds r3, 0x7
+ lsls r3, 16
+ asrs r3, 16
+ mov r4, sp
+ adds r4, 0xD
+ adds r4, r5
+ ldrb r4, [r4]
+ lsls r4, 24
+ asrs r4, 24
+ mov r12, r4
+ mov r5, r8
+ lsls r4, r5, 16
+ asrs r4, 16
+ add r4, r12
+ adds r4, 0x7
+ lsls r4, 16
+ asrs r4, 16
+ str r4, [sp]
+ movs r4, 0
+ str r4, [sp, 0x4]
+ bl SpawnSpecialFieldObjectParametrized
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x4
+ bne _0810DC56
+ movs r7, 0
+_0810DC56:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0810DC5C:
+ ldr r0, _0810DC78 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r6, r0
+ bcc _0810DBDC
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810DC74: .4byte gLinkPlayers
+_0810DC78: .4byte gSpecialVar_0x8004
+ thumb_func_end sub_810DB28
+
+ thumb_func_start sub_810DC7C
+sub_810DC7C: @ 810DC7C
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r5, _0810DC9C @ =gUnknown_083F8364
+_0810DC82:
+ ldr r0, _0810DCA0 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r4, r0
+ bne _0810DCA8
+ lsls r1, r4, 2
+ adds r1, r5
+ ldrb r0, [r1]
+ ldrb r1, [r1, 0x1]
+ ldr r2, _0810DCA4 @ =0x00000206
+ bl MapGridSetMetatileIdAt
+ b _0810DCB6
+ .align 2, 0
+_0810DC9C: .4byte gUnknown_083F8364
+_0810DCA0: .4byte gSpecialVar_0x8004
+_0810DCA4: .4byte 0x00000206
+_0810DCA8:
+ lsls r1, r4, 2
+ adds r1, r5
+ ldrb r0, [r1]
+ ldrb r1, [r1, 0x1]
+ ldr r2, _0810DCC8 @ =0x00000205
+ bl MapGridSetMetatileIdAt
+_0810DCB6:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x2
+ bls _0810DC82
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810DCC8: .4byte 0x00000205
+ thumb_func_end sub_810DC7C
+
+ thumb_func_start sub_810DCCC
+sub_810DCCC: @ 810DCCC
+ push {r4-r6,lr}
+ movs r5, 0xC
+_0810DCD0:
+ movs r4, 0x7
+ adds r6, r5, 0x1
+_0810DCD4:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetMetatileIdAt
+ ldr r1, _0810DCF0 @ =0xfffffde6
+ adds r0, r1
+ cmp r0, 0x37
+ bls _0810DCE6
+ b _0810DEC0
+_0810DCE6:
+ lsls r0, 2
+ ldr r1, _0810DCF4 @ =_0810DCF8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810DCF0: .4byte 0xfffffde6
+_0810DCF4: .4byte _0810DCF8
+ .align 2, 0
+_0810DCF8:
+ .4byte _0810DE7E
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DDD8
+ .4byte _0810DDDE
+ .4byte _0810DE18
+ .4byte _0810DE20
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DDE8
+ .4byte _0810DDEE
+ .4byte _0810DE28
+ .4byte _0810DE30
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DDF8
+ .4byte _0810DDFE
+ .4byte _0810DE38
+ .4byte _0810DE40
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DE08
+ .4byte _0810DE10
+ .4byte _0810DE48
+ .4byte _0810DE50
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DE58
+ .4byte _0810DE68
+ .4byte _0810DE78
+ .4byte _0810DEA0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DE60
+ .4byte _0810DE70
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEC0
+ .4byte _0810DEB6
+ .4byte _0810DEA8
+_0810DDD8:
+ movs r2, 0x8C
+ lsls r2, 2
+ b _0810DEAC
+_0810DDDE:
+ ldr r2, _0810DDE4 @ =0x00000231
+ b _0810DEAC
+ .align 2, 0
+_0810DDE4: .4byte 0x00000231
+_0810DDE8:
+ movs r2, 0x8E
+ lsls r2, 2
+ b _0810DEAC
+_0810DDEE:
+ ldr r2, _0810DDF4 @ =0x00000239
+ b _0810DEAC
+ .align 2, 0
+_0810DDF4: .4byte 0x00000239
+_0810DDF8:
+ movs r2, 0x88
+ lsls r2, 2
+ b _0810DEAC
+_0810DDFE:
+ ldr r2, _0810DE04 @ =0x00000221
+ b _0810DEAC
+ .align 2, 0
+_0810DE04: .4byte 0x00000221
+_0810DE08:
+ ldr r2, _0810DE0C @ =0x00000e28
+ b _0810DEAC
+ .align 2, 0
+_0810DE0C: .4byte 0x00000e28
+_0810DE10:
+ ldr r2, _0810DE14 @ =0x00000e29
+ b _0810DEAC
+ .align 2, 0
+_0810DE14: .4byte 0x00000e29
+_0810DE18:
+ ldr r2, _0810DE1C @ =0x00000232
+ b _0810DEAC
+ .align 2, 0
+_0810DE1C: .4byte 0x00000232
+_0810DE20:
+ ldr r2, _0810DE24 @ =0x00000233
+ b _0810DEAC
+ .align 2, 0
+_0810DE24: .4byte 0x00000233
+_0810DE28:
+ ldr r2, _0810DE2C @ =0x0000023a
+ b _0810DEAC
+ .align 2, 0
+_0810DE2C: .4byte 0x0000023a
+_0810DE30:
+ ldr r2, _0810DE34 @ =0x0000023b
+ b _0810DEAC
+ .align 2, 0
+_0810DE34: .4byte 0x0000023b
+_0810DE38:
+ ldr r2, _0810DE3C @ =0x00000222
+ b _0810DEAC
+ .align 2, 0
+_0810DE3C: .4byte 0x00000222
+_0810DE40:
+ ldr r2, _0810DE44 @ =0x00000223
+ b _0810DEAC
+ .align 2, 0
+_0810DE44: .4byte 0x00000223
+_0810DE48:
+ ldr r2, _0810DE4C @ =0x00000e2a
+ b _0810DEAC
+ .align 2, 0
+_0810DE4C: .4byte 0x00000e2a
+_0810DE50:
+ ldr r2, _0810DE54 @ =0x00000e2b
+ b _0810DEAC
+ .align 2, 0
+_0810DE54: .4byte 0x00000e2b
+_0810DE58:
+ ldr r2, _0810DE5C @ =0x00000e42
+ b _0810DEAC
+ .align 2, 0
+_0810DE5C: .4byte 0x00000e42
+_0810DE60:
+ ldr r2, _0810DE64 @ =0x0000021a
+ b _0810DEAC
+ .align 2, 0
+_0810DE64: .4byte 0x0000021a
+_0810DE68:
+ ldr r2, _0810DE6C @ =0x00000e43
+ b _0810DEAC
+ .align 2, 0
+_0810DE6C: .4byte 0x00000e43
+_0810DE70:
+ ldr r2, _0810DE74 @ =0x0000021a
+ b _0810DEAC
+ .align 2, 0
+_0810DE74: .4byte 0x0000021a
+_0810DE78:
+ movs r2, 0xE4
+ lsls r2, 4
+ b _0810DEAC
+_0810DE7E:
+ subs r1, r5, 0x1
+ adds r0, r4, 0
+ bl MapGridGetMetatileIdAt
+ movs r1, 0x90
+ lsls r1, 2
+ cmp r0, r1
+ bne _0810DE98
+ ldr r2, _0810DE94 @ =0x00000e48
+ b _0810DEAC
+ .align 2, 0
+_0810DE94: .4byte 0x00000e48
+_0810DE98:
+ ldr r2, _0810DE9C @ =0x00000e49
+ b _0810DEAC
+ .align 2, 0
+_0810DE9C: .4byte 0x00000e49
+_0810DEA0:
+ ldr r2, _0810DEA4 @ =0x00000e41
+ b _0810DEAC
+ .align 2, 0
+_0810DEA4: .4byte 0x00000e41
+_0810DEA8:
+ movs r2, 0xE5
+ lsls r2, 4
+_0810DEAC:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+ b _0810DEC0
+_0810DEB6:
+ ldr r2, _0810DED8 @ =0x00000251
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+_0810DEC0:
+ adds r4, 0x1
+ cmp r4, 0xF
+ bgt _0810DEC8
+ b _0810DCD4
+_0810DEC8:
+ adds r5, r6, 0
+ cmp r5, 0x17
+ bgt _0810DED0
+ b _0810DCD0
+_0810DED0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810DED8: .4byte 0x00000251
+ thumb_func_end sub_810DCCC
+
+ thumb_func_start sub_810DEDC
+sub_810DEDC: @ 810DEDC
+ push {r4-r6,lr}
+ ldr r4, _0810DF18 @ =gUnknown_083F8364
+ movs r5, 0x2
+_0810DEE2:
+ ldrb r0, [r4]
+ ldrb r1, [r4, 0x1]
+ ldr r2, _0810DF1C @ =0x00000206
+ bl MapGridSetMetatileIdAt
+ adds r4, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0810DEE2
+ movs r5, 0xC
+_0810DEF6:
+ movs r4, 0x7
+ adds r6, r5, 0x1
+_0810DEFA:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetMetatileIdAt
+ ldr r1, _0810DF20 @ =0xfffffde0
+ adds r0, r1
+ cmp r0, 0x30
+ bls _0810DF0C
+ b _0810E056
+_0810DF0C:
+ lsls r0, 2
+ ldr r1, _0810DF24 @ =_0810DF28
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810DF18: .4byte gUnknown_083F8364
+_0810DF1C: .4byte 0x00000206
+_0810DF20: .4byte 0xfffffde0
+_0810DF24: .4byte _0810DF28
+ .align 2, 0
+_0810DF28:
+ .4byte _0810DFEC
+ .4byte _0810DFF2
+ .4byte _0810E00C
+ .4byte _0810E014
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810DFFC
+ .4byte _0810E002
+ .4byte _0810E01C
+ .4byte _0810E024
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E02C
+ .4byte _0810E034
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E03C
+ .4byte _0810E03C
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E056
+ .4byte _0810E04C
+_0810DFEC:
+ movs r2, 0x8C
+ lsls r2, 2
+ b _0810E03E
+_0810DFF2:
+ ldr r2, _0810DFF8 @ =0x00000231
+ b _0810E03E
+ .align 2, 0
+_0810DFF8: .4byte 0x00000231
+_0810DFFC:
+ movs r2, 0x8E
+ lsls r2, 2
+ b _0810E03E
+_0810E002:
+ ldr r2, _0810E008 @ =0x00000239
+ b _0810E03E
+ .align 2, 0
+_0810E008: .4byte 0x00000239
+_0810E00C:
+ ldr r2, _0810E010 @ =0x00000232
+ b _0810E03E
+ .align 2, 0
+_0810E010: .4byte 0x00000232
+_0810E014:
+ ldr r2, _0810E018 @ =0x00000233
+ b _0810E03E
+ .align 2, 0
+_0810E018: .4byte 0x00000233
+_0810E01C:
+ ldr r2, _0810E020 @ =0x0000023a
+ b _0810E03E
+ .align 2, 0
+_0810E020: .4byte 0x0000023a
+_0810E024:
+ ldr r2, _0810E028 @ =0x0000023b
+ b _0810E03E
+ .align 2, 0
+_0810E028: .4byte 0x0000023b
+_0810E02C:
+ ldr r2, _0810E030 @ =0x00000e42
+ b _0810E03E
+ .align 2, 0
+_0810E030: .4byte 0x00000e42
+_0810E034:
+ ldr r2, _0810E038 @ =0x00000e43
+ b _0810E03E
+ .align 2, 0
+_0810E038: .4byte 0x00000e43
+_0810E03C:
+ ldr r2, _0810E048 @ =0x0000021a
+_0810E03E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+ b _0810E056
+ .align 2, 0
+_0810E048: .4byte 0x0000021a
+_0810E04C:
+ ldr r2, _0810E06C @ =0x00000251
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+_0810E056:
+ adds r4, 0x1
+ cmp r4, 0xF
+ bgt _0810E05E
+ b _0810DEFA
+_0810E05E:
+ adds r5, r6, 0
+ cmp r5, 0x17
+ bgt _0810E066
+ b _0810DEF6
+_0810E066:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E06C: .4byte 0x00000251
+ thumb_func_end sub_810DEDC
+
+ thumb_func_start sub_810E070
+sub_810E070: @ 810E070
+ push {lr}
+ ldr r0, _0810E090 @ =gUnknown_02039258
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _0810E094 @ =gUnknown_02039259
+ strb r1, [r0]
+ movs r0, 0x2C
+ bl PlaySE
+ ldr r0, _0810E098 @ =sub_810E09C
+ movs r1, 0x8
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E090: .4byte gUnknown_02039258
+_0810E094: .4byte gUnknown_02039259
+_0810E098: .4byte sub_810E09C
+ thumb_func_end sub_810E070
+
+ thumb_func_start sub_810E09C
+sub_810E09C: @ 810E09C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _0810E0E4 @ =gUnknown_083F8370
+ ldr r5, _0810E0E8 @ =gUnknown_02039259
+ ldrb r1, [r5]
+ adds r0, r1, r0
+ ldr r4, _0810E0EC @ =gUnknown_02039258
+ ldrb r2, [r4]
+ ldrb r0, [r0]
+ cmp r0, r2
+ bne _0810E0F8
+ ldr r0, _0810E0F0 @ =gSpecialVar_0x8004
+ ldrb r0, [r0]
+ ldr r2, _0810E0F4 @ =gUnknown_083F8376
+ lsls r1, 1
+ adds r1, r2
+ ldrh r1, [r1]
+ bl sub_810E104
+ movs r0, 0
+ strb r0, [r4]
+ ldrb r0, [r5]
+ adds r0, 0x1
+ strb r0, [r5]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _0810E0FC
+ adds r0, r6, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ b _0810E0FC
+ .align 2, 0
+_0810E0E4: .4byte gUnknown_083F8370
+_0810E0E8: .4byte gUnknown_02039259
+_0810E0EC: .4byte gUnknown_02039258
+_0810E0F0: .4byte gSpecialVar_0x8004
+_0810E0F4: .4byte gUnknown_083F8376
+_0810E0F8:
+ adds r0, r2, 0x1
+ strb r0, [r4]
+_0810E0FC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810E09C
+
+ thumb_func_start sub_810E104
+sub_810E104: @ 810E104
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 16
+ lsrs r2, r1, 16
+ movs r7, 0
+ subs r0, 0x1
+ cmp r0, 0x7
+ bhi _0810E1CC
+ lsls r0, 2
+ ldr r1, _0810E128 @ =_0810E12C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810E128: .4byte _0810E12C
+ .align 2, 0
+_0810E12C:
+ .4byte _0810E14C
+ .4byte _0810E15E
+ .4byte _0810E170
+ .4byte _0810E182
+ .4byte _0810E190
+ .4byte _0810E1A6
+ .4byte _0810E1B2
+ .4byte _0810E1C0
+_0810E14C:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x68
+ b _0810E1A0
+_0810E15E:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x4E
+ b _0810E1A0
+_0810E170:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x5B
+ b _0810E1A0
+_0810E182:
+ movs r7, 0x1
+ mov r1, sp
+ movs r0, 0x7
+ strh r0, [r1]
+ add r1, sp, 0x8
+ movs r0, 0x27
+ b _0810E1CA
+_0810E190:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x34
+_0810E1A0:
+ strh r0, [r1]
+ strh r0, [r1, 0x2]
+ b _0810E1CC
+_0810E1A6:
+ movs r7, 0x1
+ mov r0, sp
+ strh r7, [r0]
+ add r1, sp, 0x8
+ movs r0, 0x41
+ b _0810E1CA
+_0810E1B2:
+ movs r7, 0x1
+ mov r1, sp
+ movs r0, 0x7
+ strh r0, [r1]
+ add r1, sp, 0x8
+ movs r0, 0xD
+ b _0810E1CA
+_0810E1C0:
+ movs r7, 0x1
+ mov r0, sp
+ strh r7, [r0]
+ add r1, sp, 0x8
+ movs r0, 0x1A
+_0810E1CA:
+ strh r0, [r1]
+_0810E1CC:
+ movs r6, 0
+ cmp r6, r7
+ bcs _0810E21E
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1, 0
+ adds r1, r2, 0
+ orrs r1, r0
+ lsls r1, 16
+ mov r9, r1
+ adds r1, r2, 0
+ adds r1, 0x8
+ orrs r1, r0
+ lsls r1, 16
+ mov r8, r1
+_0810E1EA:
+ lsls r1, r6, 1
+ mov r3, sp
+ adds r5, r3, r1
+ ldrh r0, [r5]
+ adds r0, 0x7
+ add r4, sp, 0x8
+ adds r4, r1
+ ldrh r1, [r4]
+ adds r1, 0x7
+ mov r3, r9
+ lsrs r2, r3, 16
+ bl MapGridSetMetatileIdAt
+ ldrh r0, [r5]
+ adds r0, 0x7
+ ldrh r1, [r4]
+ adds r1, 0x8
+ mov r3, r8
+ lsrs r2, r3, 16
+ bl MapGridSetMetatileIdAt
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _0810E1EA
+_0810E21E:
+ bl DrawWholeMapView
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810E104
+
+ thumb_func_start sub_810E230
+sub_810E230: @ 810E230
+ push {lr}
+ ldr r0, _0810E244 @ =gSpecialVar_0x8004
+ ldrb r0, [r0]
+ ldr r1, _0810E248 @ =gUnknown_083F8376
+ ldrh r1, [r1, 0x8]
+ bl sub_810E104
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E244: .4byte gSpecialVar_0x8004
+_0810E248: .4byte gUnknown_083F8376
+ thumb_func_end sub_810E230
+
+ thumb_func_start ShowFieldMessageStringVar4
+ShowFieldMessageStringVar4: @ 810E24C
+ push {lr}
+ ldr r0, _0810E258 @ =gStringVar4
+ bl ShowFieldMessage
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E258: .4byte gStringVar4
+ thumb_func_end ShowFieldMessageStringVar4
+
+ thumb_func_start StorePlayerCoordsInVars
+StorePlayerCoordsInVars: @ 810E25C
+ ldr r1, _0810E26C @ =gSpecialVar_0x8004
+ ldr r2, _0810E270 @ =gSaveBlock1
+ ldrh r0, [r2]
+ strh r0, [r1]
+ ldr r1, _0810E274 @ =gSpecialVar_0x8005
+ ldrh r0, [r2, 0x2]
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_0810E26C: .4byte gSpecialVar_0x8004
+_0810E270: .4byte gSaveBlock1
+_0810E274: .4byte gSpecialVar_0x8005
+ thumb_func_end StorePlayerCoordsInVars
+
+ thumb_func_start GetPlayerTrainerIdOnesDigit
+GetPlayerTrainerIdOnesDigit: @ 810E278
+ push {lr}
+ ldr r0, _0810E294 @ =gSaveBlock2
+ ldrb r1, [r0, 0xB]
+ lsls r1, 8
+ ldrb r0, [r0, 0xA]
+ orrs r0, r1
+ movs r1, 0xA
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810E294: .4byte gSaveBlock2
+ thumb_func_end GetPlayerTrainerIdOnesDigit
+
+ thumb_func_start GetPlayerBigGuyGirlString
+GetPlayerBigGuyGirlString: @ 810E298
+ push {lr}
+ ldr r0, _0810E2AC @ =gSaveBlock2
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _0810E2B8
+ ldr r0, _0810E2B0 @ =gStringVar1
+ ldr r1, _0810E2B4 @ =gOtherText_BigGuy
+ bl StringCopy
+ b _0810E2C0
+ .align 2, 0
+_0810E2AC: .4byte gSaveBlock2
+_0810E2B0: .4byte gStringVar1
+_0810E2B4: .4byte gOtherText_BigGuy
+_0810E2B8:
+ ldr r0, _0810E2C4 @ =gStringVar1
+ ldr r1, _0810E2C8 @ =gOtherText_BigGirl
+ bl StringCopy
+_0810E2C0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E2C4: .4byte gStringVar1
+_0810E2C8: .4byte gOtherText_BigGirl
+ thumb_func_end GetPlayerBigGuyGirlString
+
+ thumb_func_start GetRivalSonDaughterString
+GetRivalSonDaughterString: @ 810E2CC
+ push {lr}
+ ldr r0, _0810E2E0 @ =gSaveBlock2
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _0810E2EC
+ ldr r0, _0810E2E4 @ =gStringVar1
+ ldr r1, _0810E2E8 @ =gOtherText_Daughter
+ bl StringCopy
+ b _0810E2F4
+ .align 2, 0
+_0810E2E0: .4byte gSaveBlock2
+_0810E2E4: .4byte gStringVar1
+_0810E2E8: .4byte gOtherText_Daughter
+_0810E2EC:
+ ldr r0, _0810E2F8 @ =gStringVar1
+ ldr r1, _0810E2FC @ =gOtherText_Son
+ bl StringCopy
+_0810E2F4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E2F8: .4byte gStringVar1
+_0810E2FC: .4byte gOtherText_Son
+ thumb_func_end GetRivalSonDaughterString
+
+ thumb_func_start sub_810E300
+sub_810E300: @ 810E300
+ ldr r0, _0810E308 @ =gUnknown_02024D26
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_0810E308: .4byte gUnknown_02024D26
+ thumb_func_end sub_810E300
+
+ thumb_func_start CableCarWarp
+CableCarWarp: @ 810E30C
+ push {lr}
+ sub sp, 0x4
+ ldr r0, _0810E32C @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0810E330
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x4
+ str r0, [sp]
+ movs r0, 0x13
+ movs r1, 0
+ movs r3, 0x6
+ bl warp1_set
+ b _0810E342
+ .align 2, 0
+_0810E32C: .4byte gSpecialVar_0x8004
+_0810E330:
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x4
+ str r0, [sp]
+ movs r0, 0x13
+ movs r1, 0x1
+ movs r3, 0x6
+ bl warp1_set
+_0810E342:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end CableCarWarp
+
+ thumb_func_start SetFlagInVar
+SetFlagInVar: @ 810E348
+ push {lr}
+ ldr r0, _0810E358 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ bl FlagSet
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E358: .4byte gSpecialVar_0x8004
+ thumb_func_end SetFlagInVar
+
+ thumb_func_start GetWeekCount
+GetWeekCount: @ 810E35C
+ push {lr}
+ ldr r0, _0810E37C @ =gLocalTime
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0x7
+ bl __divsi3
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _0810E380 @ =0x0000270f
+ cmp r0, r1
+ bls _0810E376
+ adds r0, r1, 0
+_0810E376:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810E37C: .4byte gLocalTime
+_0810E380: .4byte 0x0000270f
+ thumb_func_end GetWeekCount
+
+ thumb_func_start GetLeadMonFriendshipScore
+GetLeadMonFriendshipScore: @ 810E384
+ push {r4,lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r1, r0
+ ldr r0, _0810E3A8 @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0xFF
+ bne _0810E3AC
+ movs r0, 0x6
+ b _0810E3FE
+ .align 2, 0
+_0810E3A8: .4byte gPlayerParty
+_0810E3AC:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _0810E3BC
+ movs r0, 0x5
+ b _0810E3FE
+_0810E3BC:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0x95
+ bls _0810E3CC
+ movs r0, 0x4
+ b _0810E3FE
+_0810E3CC:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0x63
+ bls _0810E3DC
+ movs r0, 0x3
+ b _0810E3FE
+_0810E3DC:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0x31
+ bls _0810E3EC
+ movs r0, 0x2
+ b _0810E3FE
+_0810E3EC:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0
+ bne _0810E3FC
+ movs r0, 0
+ b _0810E3FE
+_0810E3FC:
+ movs r0, 0x1
+_0810E3FE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetLeadMonFriendshipScore
+
+ thumb_func_start CB2_FieldShowRegionMap
+CB2_FieldShowRegionMap: @ 810E404
+ push {lr}
+ ldr r0, _0810E410 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
+ bl FieldInitRegionMap
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E410: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
+ thumb_func_end CB2_FieldShowRegionMap
+
+ thumb_func_start FieldShowRegionMap
+FieldShowRegionMap: @ 810E414
+ push {lr}
+ ldr r0, _0810E420 @ =CB2_FieldShowRegionMap
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E420: .4byte CB2_FieldShowRegionMap
+ thumb_func_end FieldShowRegionMap
+
+ thumb_func_start DoPCTurnOnEffect
+DoPCTurnOnEffect: @ 810E424
+ push {r4,lr}
+ ldr r4, _0810E460 @ =Task_PCTurnOnEffect
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0810E458
+ adds r0, r4, 0
+ movs r1, 0x8
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810E464 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0
+ strh r2, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r2, [r1, 0xC]
+ strh r2, [r1, 0xE]
+ strh r2, [r1, 0x10]
+_0810E458:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E460: .4byte Task_PCTurnOnEffect
+_0810E464: .4byte gTasks
+ thumb_func_end DoPCTurnOnEffect
+
+ thumb_func_start Task_PCTurnOnEffect
+Task_PCTurnOnEffect: @ 810E468
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _0810E48C @ =gTasks
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _0810E486
+ adds r0, r1, 0
+ bl PCTurnOffEffect_0
+_0810E486:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E48C: .4byte gTasks
+ thumb_func_end Task_PCTurnOnEffect
+
+ thumb_func_start PCTurnOffEffect_0
+PCTurnOffEffect_0: @ 810E490
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r6, 0
+ movs r5, 0
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x6
+ bne _0810E4FC
+ strh r5, [r4, 0xE]
+ bl player_get_direction_lower_nybble
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x3
+ beq _0810E4C4
+ cmp r0, 0x3
+ bgt _0810E4BA
+ cmp r0, 0x2
+ beq _0810E4C0
+ b _0810E4CC
+_0810E4BA:
+ cmp r1, 0x4
+ beq _0810E4C8
+ b _0810E4CC
+_0810E4C0:
+ movs r6, 0
+ b _0810E4CA
+_0810E4C4:
+ movs r6, 0xFF
+ b _0810E4CA
+_0810E4C8:
+ movs r6, 0x1
+_0810E4CA:
+ movs r5, 0xFF
+_0810E4CC:
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ lsls r1, r6, 24
+ asrs r1, 24
+ lsls r2, r5, 24
+ asrs r2, 24
+ bl PCTurnOffEffect_1
+ bl DrawWholeMapView
+ ldrh r0, [r4, 0x10]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0x10]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ bne _0810E4FC
+ ldrb r0, [r4, 0xA]
+ bl DestroyTask
+_0810E4FC:
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end PCTurnOffEffect_0
+
+ thumb_func_start PCTurnOffEffect_1
+PCTurnOffEffect_1: @ 810E508
+ push {r4,r5,lr}
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r4, r2, 24
+ movs r3, 0
+ lsls r0, 16
+ cmp r0, 0
+ beq _0810E544
+ ldr r0, _0810E528 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0810E52C
+ movs r3, 0x4
+ b _0810E566
+ .align 2, 0
+_0810E528: .4byte gSpecialVar_0x8004
+_0810E52C:
+ cmp r0, 0x1
+ bne _0810E538
+ ldr r3, _0810E534 @ =0x0000025a
+ b _0810E566
+ .align 2, 0
+_0810E534: .4byte 0x0000025a
+_0810E538:
+ cmp r0, 0x2
+ bne _0810E566
+ ldr r3, _0810E540 @ =0x00000259
+ b _0810E566
+ .align 2, 0
+_0810E540: .4byte 0x00000259
+_0810E544:
+ ldr r0, _0810E550 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0810E554
+ movs r3, 0x5
+ b _0810E566
+ .align 2, 0
+_0810E550: .4byte gSpecialVar_0x8004
+_0810E554:
+ cmp r0, 0x1
+ bne _0810E560
+ ldr r3, _0810E55C @ =0x0000027f
+ b _0810E566
+ .align 2, 0
+_0810E55C: .4byte 0x0000027f
+_0810E560:
+ cmp r0, 0x2
+ bne _0810E566
+ ldr r3, _0810E594 @ =0x0000027e
+_0810E566:
+ ldr r2, _0810E598 @ =gSaveBlock1
+ movs r5, 0
+ ldrsh r0, [r2, r5]
+ lsls r1, 24
+ asrs r1, 24
+ adds r0, r1
+ adds r0, 0x7
+ movs r5, 0x2
+ ldrsh r1, [r2, r5]
+ lsls r2, r4, 24
+ asrs r2, 24
+ adds r1, r2
+ adds r1, 0x7
+ movs r4, 0xC0
+ lsls r4, 4
+ adds r2, r4, 0
+ orrs r3, r2
+ adds r2, r3, 0
+ bl MapGridSetMetatileIdAt
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E594: .4byte 0x0000027e
+_0810E598: .4byte gSaveBlock1
+ thumb_func_end PCTurnOffEffect_1
+
+ thumb_func_start DoPCTurnOffEffect
+DoPCTurnOffEffect: @ 810E59C
+ push {lr}
+ bl PCTurnOffEffect
+ pop {r0}
+ bx r0
+ thumb_func_end DoPCTurnOffEffect
+
+ thumb_func_start PCTurnOffEffect
+PCTurnOffEffect: @ 810E5A8
+ push {r4-r6,lr}
+ movs r6, 0
+ movs r5, 0
+ movs r4, 0
+ bl player_get_direction_lower_nybble
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x3
+ beq _0810E5D2
+ cmp r0, 0x3
+ bgt _0810E5C8
+ cmp r0, 0x2
+ beq _0810E5CE
+ b _0810E5DA
+_0810E5C8:
+ cmp r1, 0x4
+ beq _0810E5D6
+ b _0810E5DA
+_0810E5CE:
+ movs r6, 0
+ b _0810E5D8
+_0810E5D2:
+ movs r6, 0xFF
+ b _0810E5D8
+_0810E5D6:
+ movs r6, 0x1
+_0810E5D8:
+ movs r5, 0xFF
+_0810E5DA:
+ ldr r0, _0810E5E8 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0810E5EC
+ movs r4, 0x4
+ b _0810E5FE
+ .align 2, 0
+_0810E5E8: .4byte gSpecialVar_0x8004
+_0810E5EC:
+ cmp r0, 0x1
+ bne _0810E5F8
+ ldr r4, _0810E5F4 @ =0x0000025a
+ b _0810E5FE
+ .align 2, 0
+_0810E5F4: .4byte 0x0000025a
+_0810E5F8:
+ cmp r0, 0x2
+ bne _0810E5FE
+ ldr r4, _0810E630 @ =0x00000259
+_0810E5FE:
+ ldr r2, _0810E634 @ =gSaveBlock1
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ lsls r1, r6, 24
+ asrs r1, 24
+ adds r0, r1
+ adds r0, 0x7
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ lsls r2, r5, 24
+ asrs r2, 24
+ adds r1, r2
+ adds r1, 0x7
+ movs r3, 0xC0
+ lsls r3, 4
+ adds r2, r3, 0
+ orrs r4, r2
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ bl DrawWholeMapView
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E630: .4byte 0x00000259
+_0810E634: .4byte gSaveBlock1
+ thumb_func_end PCTurnOffEffect
+
+ thumb_func_start DoLotteryCornerComputerEffect
+DoLotteryCornerComputerEffect: @ 810E638
+ push {r4,lr}
+ ldr r4, _0810E674 @ =Task_LotteryCornerComputerEffect
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0810E66C
+ adds r0, r4, 0
+ movs r1, 0x8
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810E678 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0
+ strh r2, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r2, [r1, 0xC]
+ strh r2, [r1, 0xE]
+ strh r2, [r1, 0x10]
+_0810E66C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E674: .4byte Task_LotteryCornerComputerEffect
+_0810E678: .4byte gTasks
+ thumb_func_end DoLotteryCornerComputerEffect
+
+ thumb_func_start Task_LotteryCornerComputerEffect
+Task_LotteryCornerComputerEffect: @ 810E67C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _0810E6A0 @ =gTasks
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _0810E69A
+ adds r0, r1, 0
+ bl LotteryCornerComputerEffect
+_0810E69A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E6A0: .4byte gTasks
+ thumb_func_end Task_LotteryCornerComputerEffect
+
+ thumb_func_start LotteryCornerComputerEffect
+LotteryCornerComputerEffect: @ 810E6A4
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x6
+ bne _0810E712
+ movs r0, 0
+ strh r0, [r4, 0xE]
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0810E6DC
+ ldr r2, _0810E6D4 @ =0x00000e9d
+ movs r0, 0x12
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810E6D8 @ =0x00000ea5
+ movs r0, 0x12
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+ b _0810E6F2
+ .align 2, 0
+_0810E6D4: .4byte 0x00000e9d
+_0810E6D8: .4byte 0x00000ea5
+_0810E6DC:
+ ldr r2, _0810E720 @ =0x00000e58
+ movs r0, 0x12
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ movs r2, 0xE6
+ lsls r2, 4
+ movs r0, 0x12
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+_0810E6F2:
+ bl DrawWholeMapView
+ ldrh r0, [r4, 0x10]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0x10]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ bne _0810E712
+ ldrb r0, [r4, 0xA]
+ bl DestroyTask
+_0810E712:
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E720: .4byte 0x00000e58
+ thumb_func_end LotteryCornerComputerEffect
+
+ thumb_func_start EndLotteryCornerComputerEffect
+EndLotteryCornerComputerEffect: @ 810E724
+ push {lr}
+ ldr r2, _0810E744 @ =0x00000e9d
+ movs r0, 0x12
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810E748 @ =0x00000ea5
+ movs r0, 0x12
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+ bl DrawWholeMapView
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E744: .4byte 0x00000e9d
+_0810E748: .4byte 0x00000ea5
+ thumb_func_end EndLotteryCornerComputerEffect
+
+ thumb_func_start SetDepartmentStoreFloorVar
+SetDepartmentStoreFloorVar: @ 810E74C
+ push {lr}
+ ldr r0, _0810E768 @ =gSaveBlock1
+ ldrb r0, [r0, 0x15]
+ subs r0, 0x11
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x5
+ bhi _0810E79C
+ lsls r0, 2
+ ldr r1, _0810E76C @ =_0810E770
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810E768: .4byte gSaveBlock1
+_0810E76C: .4byte _0810E770
+ .align 2, 0
+_0810E770:
+ .4byte _0810E79C
+ .4byte _0810E788
+ .4byte _0810E78C
+ .4byte _0810E790
+ .4byte _0810E794
+ .4byte _0810E798
+_0810E788:
+ movs r1, 0x1
+ b _0810E79E
+_0810E78C:
+ movs r1, 0x2
+ b _0810E79E
+_0810E790:
+ movs r1, 0x3
+ b _0810E79E
+_0810E794:
+ movs r1, 0x4
+ b _0810E79E
+_0810E798:
+ movs r1, 0xF
+ b _0810E79E
+_0810E79C:
+ movs r1, 0
+_0810E79E:
+ ldr r0, _0810E7A8 @ =0x00004043
+ bl VarSet
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E7A8: .4byte 0x00004043
+ thumb_func_end SetDepartmentStoreFloorVar
+
+ thumb_func_start ScriptAddElevatorMenuItem
+ScriptAddElevatorMenuItem: @ 810E7AC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r7, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r12, r2
+ lsls r3, 24
+ lsrs r3, 24
+ mov r8, r3
+ ldr r0, _0810E81C @ =gSpecialVar_0x8004
+ ldrh r1, [r0]
+ adds r2, r0, 0
+ ldr r3, _0810E820 @ =gUnknown_03000760
+ cmp r1, 0
+ bne _0810E7E8
+ movs r1, 0
+ adds r5, r3, 0
+ movs r4, 0x10
+_0810E7D8:
+ lsls r0, r1, 2
+ adds r0, r5
+ strb r4, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x13
+ bls _0810E7D8
+_0810E7E8:
+ ldrh r0, [r2]
+ lsls r0, 2
+ adds r0, r3
+ strb r6, [r0]
+ ldrh r0, [r2]
+ lsls r0, 2
+ adds r0, r3
+ strb r7, [r0, 0x1]
+ ldrh r0, [r2]
+ lsls r0, 2
+ adds r0, r3
+ mov r1, r12
+ strb r1, [r0, 0x2]
+ ldrh r0, [r2]
+ lsls r0, 2
+ adds r0, r3
+ mov r1, r8
+ strb r1, [r0, 0x3]
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E81C: .4byte gSpecialVar_0x8004
+_0810E820: .4byte gUnknown_03000760
+ thumb_func_end ScriptAddElevatorMenuItem
+
+ thumb_func_start ScriptShowElevatorMenu
+ScriptShowElevatorMenu: @ 810E824
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r5, _0810E868 @ =gUnknown_0203925A
+ strb r4, [r5]
+ ldr r0, _0810E86C @ =gUnknown_0203925B
+ strb r4, [r0]
+ movs r0, 0x10
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl ScriptAddElevatorMenuItem
+ ldr r2, _0810E870 @ =gUnknown_03000760
+ ldrb r0, [r2]
+ cmp r0, 0x10
+ beq _0810E85C
+ adds r1, r5, 0
+_0810E846:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0x10
+ bne _0810E846
+_0810E85C:
+ bl sub_810E874
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E868: .4byte gUnknown_0203925A
+_0810E86C: .4byte gUnknown_0203925B
+_0810E870: .4byte gUnknown_03000760
+ thumb_func_end ScriptShowElevatorMenu
+
+ thumb_func_start sub_810E874
+sub_810E874: @ 810E874
+ push {r4-r6,lr}
+ sub sp, 0x8
+ bl ScriptContext2_Enable
+ ldr r4, _0810E8B8 @ =gUnknown_0203925A
+ ldrb r0, [r4]
+ cmp r0, 0x5
+ bls _0810E8C0
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x8
+ movs r3, 0xB
+ bl MenuDrawTextWindow
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x7
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0x5
+ bl InitMenu
+ ldr r0, _0810E8BC @ =gUnknown_0203925C
+ strb r4, [r0]
+ bl sub_80F944C
+ bl LoadScrollIndicatorPalette
+ bl sub_810ECD4
+ b _0810E8E8
+ .align 2, 0
+_0810E8B8: .4byte gUnknown_0203925A
+_0810E8BC: .4byte gUnknown_0203925C
+_0810E8C0:
+ ldrb r3, [r4]
+ lsls r3, 1
+ adds r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x8
+ bl MenuDrawTextWindow
+ ldrb r3, [r4]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x7
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl InitMenu
+_0810E8E8:
+ movs r4, 0
+ ldr r1, _0810E938 @ =gUnknown_03000760
+ ldrb r0, [r1]
+ cmp r0, 0x10
+ beq _0810E924
+ ldr r6, _0810E93C @ =gUnknown_083F8380
+ adds r5, r1, 0
+_0810E8F6:
+ lsls r0, r4, 2
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r6
+ ldr r0, [r0]
+ lsls r2, r4, 1
+ adds r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ movs r1, 0x1
+ bl MenuPrint
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bhi _0810E924
+ lsls r0, r4, 2
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x10
+ bne _0810E8F6
+_0810E924:
+ bl sub_810E944
+ ldr r0, _0810E940 @ =sub_810E984
+ movs r1, 0x8
+ bl CreateTask
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E938: .4byte gUnknown_03000760
+_0810E93C: .4byte gUnknown_083F8380
+_0810E940: .4byte sub_810E984
+ thumb_func_end sub_810E874
+
+ thumb_func_start sub_810E944
+sub_810E944: @ 810E944
+ push {lr}
+ movs r0, 0x14
+ movs r1, 0
+ movs r2, 0x1D
+ movs r3, 0x5
+ bl MenuDrawTextWindow
+ ldr r0, _0810E978 @ =gOtherText_NowOn
+ movs r1, 0x15
+ movs r2, 0x1
+ movs r3, 0x40
+ bl sub_8072BD8
+ ldr r1, _0810E97C @ =gUnknown_083F8380
+ ldr r0, _0810E980 @ =gSpecialVar_0x8005
+ ldrh r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x15
+ movs r2, 0x3
+ movs r3, 0x40
+ bl sub_8072BD8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810E978: .4byte gOtherText_NowOn
+_0810E97C: .4byte gUnknown_083F8380
+_0810E980: .4byte gSpecialVar_0x8005
+ thumb_func_end sub_810E944
+
+ thumb_func_start sub_810E984
+sub_810E984: @ 810E984
+ push {r4-r6,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, _0810EA44 @ =gMain
+ ldrh r0, [r0, 0x2E]
+ cmp r0, 0x40
+ bne _0810E9B8
+ ldr r1, _0810EA48 @ =gUnknown_0203925B
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0810E9B8
+ subs r0, 0x1
+ strb r0, [r1]
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ bl MoveMenuCursorNoWrap
+ adds r0, r4, 0
+ movs r1, 0x40
+ bl sub_810EAC8
+_0810E9B8:
+ ldr r0, _0810EA44 @ =gMain
+ ldrh r0, [r0, 0x2E]
+ cmp r0, 0x80
+ bne _0810E9E8
+ ldr r2, _0810EA48 @ =gUnknown_0203925B
+ ldrb r1, [r2]
+ ldr r0, _0810EA4C @ =gUnknown_0203925A
+ ldrb r0, [r0]
+ subs r0, 0x1
+ cmp r1, r0
+ beq _0810E9E8
+ adds r0, r1, 0x1
+ strb r0, [r2]
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+ bl MoveMenuCursorNoWrap
+ adds r0, r4, 0
+ movs r1, 0x80
+ bl sub_810EAC8
+_0810E9E8:
+ ldr r0, _0810EA44 @ =gMain
+ ldrh r2, [r0, 0x2E]
+ movs r5, 0x1
+ adds r1, r5, 0
+ ands r1, r2
+ cmp r1, 0
+ beq _0810EA94
+ ldr r1, _0810EA50 @ =gUnknown_03000760
+ ldr r4, _0810EA48 @ =gUnknown_0203925B
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0x1
+ ldrsb r1, [r0, r1]
+ movs r2, 0x2
+ ldrsb r2, [r0, r2]
+ movs r3, 0x1
+ negs r3, r3
+ movs r0, 0x2
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ movs r0, 0
+ bl saved_warp2_set_2
+ ldr r1, _0810EA54 @ =gSpecialVar_0x8005
+ ldrh r0, [r1]
+ ldrb r2, [r4]
+ cmp r0, r2
+ bne _0810EA5C
+ ldr r1, _0810EA58 @ =gScriptResult
+ movs r0, 0
+ strh r0, [r1]
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x1D
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ adds r0, r6, 0
+ bl sub_810EC9C
+ b _0810EABC
+ .align 2, 0
+_0810EA44: .4byte gMain
+_0810EA48: .4byte gUnknown_0203925B
+_0810EA4C: .4byte gUnknown_0203925A
+_0810EA50: .4byte gUnknown_03000760
+_0810EA54: .4byte gSpecialVar_0x8005
+_0810EA58: .4byte gScriptResult
+_0810EA5C:
+ ldr r0, _0810EA88 @ =gScriptResult
+ strh r5, [r0]
+ ldrb r0, [r4]
+ strh r0, [r1]
+ bl sub_810EBEC
+ ldr r0, _0810EA8C @ =gScriptLastTalked
+ ldrb r0, [r0]
+ ldr r2, _0810EA90 @ =gSaveBlock1
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ movs r3, 0x1
+ bl FieldObjectTurnByLocalIdAndMap
+ bl sub_810EEDC
+ bl MenuZeroFillScreen
+ adds r0, r6, 0
+ bl DestroyTask
+ b _0810EABC
+ .align 2, 0
+_0810EA88: .4byte gScriptResult
+_0810EA8C: .4byte gScriptLastTalked
+_0810EA90: .4byte gSaveBlock1
+_0810EA94:
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _0810EABC
+ ldr r0, _0810EAC4 @ =gScriptResult
+ strh r1, [r0]
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_810EEDC
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x1D
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ adds r0, r6, 0
+ bl sub_810EC9C
+_0810EABC:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EAC4: .4byte gScriptResult
+ thumb_func_end sub_810E984
+
+ thumb_func_start sub_810EAC8
+sub_810EAC8: @ 810EAC8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ adds r5, r2, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r3, r1, 0
+ movs r7, 0
+ movs r4, 0
+ ldr r0, _0810EAEC @ =gUnknown_0203925A
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bhi _0810EAF0
+ movs r0, 0
+ b _0810EB78
+ .align 2, 0
+_0810EAEC: .4byte gUnknown_0203925A
+_0810EAF0:
+ cmp r1, 0x40
+ bne _0810EB04
+ cmp r2, 0
+ bne _0810EB18
+ ldr r0, _0810EB00 @ =gUnknown_0203925B
+ ldrb r4, [r0]
+ movs r7, 0x1
+ b _0810EB1C
+ .align 2, 0
+_0810EB00: .4byte gUnknown_0203925B
+_0810EB04:
+ cmp r3, 0x80
+ bne _0810EB18
+ cmp r5, 0x4
+ bne _0810EB18
+ ldr r0, _0810EB84 @ =gUnknown_0203925B
+ ldrb r0, [r0]
+ subs r0, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r7, 0x1
+_0810EB18:
+ cmp r7, 0
+ beq _0810EB76
+_0810EB1C:
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl sub_810EB90
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r2, 0x7
+ movs r3, 0xA
+ bl MenuFillWindowRectWithBlankTile
+ movs r5, 0
+ ldr r2, _0810EB88 @ =gUnknown_03000760
+ lsls r1, r4, 2
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0x10
+ beq _0810EB76
+ ldr r0, _0810EB8C @ =gUnknown_083F8380
+ mov r8, r0
+ adds r6, r2, 0
+_0810EB44:
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ lsls r0, 2
+ add r0, r8
+ ldr r0, [r0]
+ lsls r2, r5, 1
+ adds r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ movs r1, 0x1
+ bl MenuPrint
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bhi _0810EB76
+ lsls r1, r4, 2
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, 0x10
+ bne _0810EB44
+_0810EB76:
+ adds r0, r7, 0
+_0810EB78:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810EB84: .4byte gUnknown_0203925B
+_0810EB88: .4byte gUnknown_03000760
+_0810EB8C: .4byte gUnknown_083F8380
+ thumb_func_end sub_810EAC8
+
+ thumb_func_start sub_810EB90
+sub_810EB90: @ 810EB90
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ cmp r4, 0
+ bne _0810EBB4
+ ldr r0, _0810EBB0 @ =gUnknown_0203925C
+ ldrb r1, [r0]
+ movs r2, 0x2
+ eors r1, r2
+ strb r1, [r0]
+ movs r0, 0
+ bl DestroyVerticalScrollIndicator
+ b _0810EBB8
+ .align 2, 0
+_0810EBB0: .4byte gUnknown_0203925C
+_0810EBB4:
+ bl sub_810ECB0
+_0810EBB8:
+ adds r1, r4, r5
+ ldr r0, _0810EBC8 @ =gUnknown_0203925A
+ ldrb r0, [r0]
+ cmp r1, r0
+ bge _0810EBCC
+ bl sub_810ECD4
+ b _0810EBE0
+ .align 2, 0
+_0810EBC8: .4byte gUnknown_0203925A
+_0810EBCC:
+ cmp r1, r0
+ bne _0810EBE0
+ ldr r0, _0810EBE8 @ =gUnknown_0203925C
+ ldrb r1, [r0]
+ movs r2, 0x1
+ eors r1, r2
+ strb r1, [r0]
+ movs r0, 0x1
+ bl DestroyVerticalScrollIndicator
+_0810EBE0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EBE8: .4byte gUnknown_0203925C
+ thumb_func_end sub_810EB90
+
+ thumb_func_start sub_810EBEC
+sub_810EBEC: @ 810EBEC
+ push {lr}
+ ldr r0, _0810EC2C @ =sub_810EC34
+ movs r1, 0x9
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810EC30 @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r0, 0
+ movs r2, 0x1
+ strh r2, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r0, [r1, 0xC]
+ strh r0, [r1, 0xE]
+ strh r2, [r1, 0x10]
+ movs r0, 0x3
+ strh r0, [r1, 0x12]
+ movs r0, 0
+ bl SetCameraPanningCallback
+ bl sub_810ECFC
+ movs r0, 0x59
+ bl PlaySE
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EC2C: .4byte sub_810EC34
+_0810EC30: .4byte gTasks
+ thumb_func_end sub_810EBEC
+
+ thumb_func_start sub_810EC34
+sub_810EC34: @ 810EC34
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _0810EC98 @ =gTasks
+ adds r4, r0, r1
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ bl __modsi3
+ cmp r0, 0
+ bne _0810EC92
+ strh r0, [r4, 0xA]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _0810EC92
+ ldrh r0, [r4, 0x10]
+ negs r0, r0
+ strh r0, [r4, 0x10]
+ movs r2, 0x10
+ ldrsh r1, [r4, r2]
+ movs r0, 0
+ bl SetCameraPanning
+ movs r1, 0xC
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x17
+ bne _0810EC92
+ movs r0, 0x49
+ bl PlaySE
+ adds r0, r5, 0
+ bl sub_810EC9C
+ bl InstallCameraPanAheadCallback
+_0810EC92:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EC98: .4byte gTasks
+ thumb_func_end sub_810EC34
+
+ thumb_func_start sub_810EC9C
+sub_810EC9C: @ 810EC9C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810EC9C
+
+ thumb_func_start sub_810ECB0
+sub_810ECB0: @ 810ECB0
+ push {lr}
+ ldr r2, _0810ECD0 @ =gUnknown_0203925C
+ ldrb r1, [r2]
+ lsrs r0, r1, 1
+ cmp r0, 0x1
+ beq _0810ECCC
+ movs r0, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0
+ movs r1, 0x24
+ movs r2, 0x8
+ bl CreateVerticalScrollIndicators
+_0810ECCC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810ECD0: .4byte gUnknown_0203925C
+ thumb_func_end sub_810ECB0
+
+ thumb_func_start sub_810ECD4
+sub_810ECD4: @ 810ECD4
+ push {lr}
+ ldr r2, _0810ECF8 @ =gUnknown_0203925C
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0810ECF2
+ movs r0, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0x1
+ movs r1, 0x24
+ movs r2, 0x48
+ bl CreateVerticalScrollIndicators
+_0810ECF2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810ECF8: .4byte gUnknown_0203925C
+ thumb_func_end sub_810ECD4
+
+ thumb_func_start sub_810ECFC
+sub_810ECFC: @ 810ECFC
+ push {r4,lr}
+ ldr r4, _0810ED38 @ =sub_810ED40
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0810ED30
+ adds r0, r4, 0
+ movs r1, 0x8
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810ED3C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0
+ strh r2, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r2, [r1, 0xC]
+ strh r2, [r1, 0xE]
+ strh r2, [r1, 0x10]
+_0810ED30:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810ED38: .4byte sub_810ED40
+_0810ED3C: .4byte gTasks
+ thumb_func_end sub_810ECFC
+
+ thumb_func_start sub_810ED40
+sub_810ED40: @ 810ED40
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, _0810ED5C @ =gTasks
+ adds r0, r1
+ bl sub_810ED60
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810ED5C: .4byte gTasks
+ thumb_func_end sub_810ED40
+
+ thumb_func_start sub_810ED60
+sub_810ED60: @ 810ED60
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x8
+ beq _0810ED6E
+ b _0810EEB2
+_0810ED6E:
+ movs r0, 0
+ strh r0, [r5, 0xE]
+ movs r1, 0x10
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0810EE14
+ ldr r2, _0810EDFC @ =0x00000e68
+ movs r0, 0x7
+ movs r1, 0x7
+ bl MapGridSetMetatileIdAt
+ ldr r4, _0810EE00 @ =0x00000e69
+ movs r0, 0x8
+ movs r1, 0x7
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ movs r0, 0x9
+ movs r1, 0x7
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EE04 @ =0x00000e6a
+ movs r0, 0xA
+ movs r1, 0x7
+ bl MapGridSetMetatileIdAt
+ movs r2, 0xE7
+ lsls r2, 4
+ movs r0, 0x7
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ adds r4, 0x8
+ movs r0, 0x8
+ movs r1, 0x8
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ movs r0, 0x9
+ movs r1, 0x8
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EE08 @ =0x00000e72
+ movs r0, 0xA
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EE0C @ =0x00000e78
+ movs r0, 0x7
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+ adds r4, 0x8
+ movs r0, 0x8
+ movs r1, 0x9
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ movs r0, 0x9
+ movs r1, 0x9
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EE10 @ =0x00000e7a
+ movs r0, 0xA
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+ b _0810EE92
+ .align 2, 0
+_0810EDFC: .4byte 0x00000e68
+_0810EE00: .4byte 0x00000e69
+_0810EE04: .4byte 0x00000e6a
+_0810EE08: .4byte 0x00000e72
+_0810EE0C: .4byte 0x00000e78
+_0810EE10: .4byte 0x00000e7a
+_0810EE14:
+ ldr r2, _0810EEC0 @ =0x00000e6b
+ movs r0, 0x7
+ movs r1, 0x7
+ bl MapGridSetMetatileIdAt
+ ldr r4, _0810EEC4 @ =0x00000e6c
+ movs r0, 0x8
+ movs r1, 0x7
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ movs r0, 0x9
+ movs r1, 0x7
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EEC8 @ =0x00000e6d
+ movs r0, 0xA
+ movs r1, 0x7
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EECC @ =0x00000e73
+ movs r0, 0x7
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ adds r4, 0x8
+ movs r0, 0x8
+ movs r1, 0x8
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ movs r0, 0x9
+ movs r1, 0x8
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EED0 @ =0x00000e75
+ movs r0, 0xA
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EED4 @ =0x00000e7b
+ movs r0, 0x7
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+ adds r4, 0x8
+ movs r0, 0x8
+ movs r1, 0x9
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ movs r0, 0x9
+ movs r1, 0x9
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ ldr r2, _0810EED8 @ =0x00000e7d
+ movs r0, 0xA
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+_0810EE92:
+ bl DrawWholeMapView
+ ldrh r0, [r5, 0x10]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r5, 0x10]
+ ldrh r0, [r5, 0xC]
+ adds r0, 0x1
+ strh r0, [r5, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x8
+ bne _0810EEB2
+ ldrb r0, [r5, 0xA]
+ bl DestroyTask
+_0810EEB2:
+ ldrh r0, [r5, 0xE]
+ adds r0, 0x1
+ strh r0, [r5, 0xE]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EEC0: .4byte 0x00000e6b
+_0810EEC4: .4byte 0x00000e6c
+_0810EEC8: .4byte 0x00000e6d
+_0810EECC: .4byte 0x00000e73
+_0810EED0: .4byte 0x00000e75
+_0810EED4: .4byte 0x00000e7b
+_0810EED8: .4byte 0x00000e7d
+ thumb_func_end sub_810ED60
+
+ thumb_func_start sub_810EEDC
+sub_810EEDC: @ 810EEDC
+ push {r4,lr}
+ ldr r4, _0810EF08 @ =gUnknown_0203925C
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810EEF0
+ movs r0, 0x1
+ bl DestroyVerticalScrollIndicator
+_0810EEF0:
+ ldrb r0, [r4]
+ lsrs r0, 1
+ cmp r0, 0x1
+ bne _0810EEFE
+ movs r0, 0
+ bl DestroyVerticalScrollIndicator
+_0810EEFE:
+ bl BuyMenuFreeMemory
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EF08: .4byte gUnknown_0203925C
+ thumb_func_end sub_810EEDC
+
+ thumb_func_start SetTrickHouseEndRoomFlag
+SetTrickHouseEndRoomFlag: @ 810EF0C
+ push {lr}
+ ldr r1, _0810EF1C @ =gSpecialVar_0x8004
+ ldr r0, _0810EF20 @ =0x00000259
+ strh r0, [r1]
+ bl FlagSet
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EF1C: .4byte gSpecialVar_0x8004
+_0810EF20: .4byte 0x00000259
+ thumb_func_end SetTrickHouseEndRoomFlag
+
+ thumb_func_start ResetTrickHouseEndRoomFlag
+ResetTrickHouseEndRoomFlag: @ 810EF24
+ push {lr}
+ ldr r1, _0810EF34 @ =gSpecialVar_0x8004
+ ldr r0, _0810EF38 @ =0x00000259
+ strh r0, [r1]
+ bl FlagReset
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810EF34: .4byte gSpecialVar_0x8004
+_0810EF38: .4byte 0x00000259
+ thumb_func_end ResetTrickHouseEndRoomFlag
+
+ thumb_func_start CheckLeadMonCool
+CheckLeadMonCool: @ 810EF3C
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810EF5C @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x16
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _0810EF60
+ movs r0, 0x1
+ b _0810EF62
+ .align 2, 0
+_0810EF5C: .4byte gPlayerParty
+_0810EF60:
+ movs r0, 0
+_0810EF62:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonCool
+
+ thumb_func_start CheckLeadMonBeauty
+CheckLeadMonBeauty: @ 810EF68
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810EF88 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x17
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _0810EF8C
+ movs r0, 0x1
+ b _0810EF8E
+ .align 2, 0
+_0810EF88: .4byte gPlayerParty
+_0810EF8C:
+ movs r0, 0
+_0810EF8E:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonBeauty
+
+ thumb_func_start CheckLeadMonCute
+CheckLeadMonCute: @ 810EF94
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810EFB4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x18
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _0810EFB8
+ movs r0, 0x1
+ b _0810EFBA
+ .align 2, 0
+_0810EFB4: .4byte gPlayerParty
+_0810EFB8:
+ movs r0, 0
+_0810EFBA:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonCute
+
+ thumb_func_start CheckLeadMonSmart
+CheckLeadMonSmart: @ 810EFC0
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810EFE0 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x21
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _0810EFE4
+ movs r0, 0x1
+ b _0810EFE6
+ .align 2, 0
+_0810EFE0: .4byte gPlayerParty
+_0810EFE4:
+ movs r0, 0
+_0810EFE6:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonSmart
+
+ thumb_func_start CheckLeadMonTough
+CheckLeadMonTough: @ 810EFEC
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810F00C @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2F
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _0810F010
+ movs r0, 0x1
+ b _0810F012
+ .align 2, 0
+_0810F00C: .4byte gPlayerParty
+_0810F010:
+ movs r0, 0
+_0810F012:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonTough
+
+ thumb_func_start IsGrassTypeInParty
+IsGrassTypeInParty: @ 810F018
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, _0810F068 @ =gBaseStats
+_0810F01E:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _0810F06C @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _0810F074
+ adds r0, r4, 0
+ movs r1, 0x2D
+ bl GetMonData
+ cmp r0, 0
+ bne _0810F074
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0xC
+ beq _0810F060
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0xC
+ bne _0810F074
+_0810F060:
+ ldr r1, _0810F070 @ =gScriptResult
+ movs r0, 0x1
+ b _0810F082
+ .align 2, 0
+_0810F068: .4byte gBaseStats
+_0810F06C: .4byte gPlayerParty
+_0810F070: .4byte gScriptResult
+_0810F074:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _0810F01E
+ ldr r1, _0810F08C @ =gScriptResult
+ movs r0, 0
+_0810F082:
+ strh r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F08C: .4byte gScriptResult
+ thumb_func_end IsGrassTypeInParty
+
+ thumb_func_start ShowGlassWorkshopMenu
+ShowGlassWorkshopMenu: @ 810F090
+ push {r4,r5,lr}
+ sub sp, 0x8
+ bl ScriptContext2_Enable
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0xA
+ movs r3, 0xB
+ bl MenuDrawTextWindow
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x9
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0x5
+ bl InitMenu
+ ldr r0, _0810F104 @ =gUnknown_0203925C
+ strb r4, [r0]
+ bl sub_80F944C
+ bl LoadScrollIndicatorPalette
+ bl sub_810F2B4
+ ldr r5, _0810F108 @ =gUnknown_083F83C0
+_0810F0CA:
+ lsls r0, r4, 2
+ adds r0, r5
+ ldr r0, [r0]
+ lsls r2, r4, 1
+ adds r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ movs r1, 0x1
+ bl MenuPrint
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ bls _0810F0CA
+ ldr r1, _0810F10C @ =gUnknown_0203925B
+ movs r0, 0
+ strb r0, [r1]
+ ldr r1, _0810F110 @ =gUnknown_0203925A
+ movs r0, 0x8
+ strb r0, [r1]
+ ldr r0, _0810F114 @ =sub_810F118
+ movs r1, 0x8
+ bl CreateTask
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F104: .4byte gUnknown_0203925C
+_0810F108: .4byte gUnknown_083F83C0
+_0810F10C: .4byte gUnknown_0203925B
+_0810F110: .4byte gUnknown_0203925A
+_0810F114: .4byte sub_810F118
+ thumb_func_end ShowGlassWorkshopMenu
+
+ thumb_func_start sub_810F118
+sub_810F118: @ 810F118
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _0810F1E4 @ =gMain
+ ldrh r0, [r0, 0x2E]
+ cmp r0, 0x40
+ bne _0810F14A
+ ldr r1, _0810F1E8 @ =gUnknown_0203925B
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0810F14A
+ subs r0, 0x1
+ strb r0, [r1]
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ bl MoveMenuCursorNoWrap
+ adds r0, r4, 0
+ movs r1, 0x40
+ bl sub_810F1F4
+_0810F14A:
+ ldr r0, _0810F1E4 @ =gMain
+ ldrh r0, [r0, 0x2E]
+ cmp r0, 0x80
+ bne _0810F17A
+ ldr r2, _0810F1E8 @ =gUnknown_0203925B
+ ldrb r1, [r2]
+ ldr r0, _0810F1EC @ =gUnknown_0203925A
+ ldrb r0, [r0]
+ subs r0, 0x1
+ cmp r1, r0
+ beq _0810F17A
+ adds r0, r1, 0x1
+ strb r0, [r2]
+ bl GetMenuCursorPos
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+ bl MoveMenuCursorNoWrap
+ adds r0, r4, 0
+ movs r1, 0x80
+ bl sub_810F1F4
+_0810F17A:
+ ldr r4, _0810F1E4 @ =gMain
+ ldrh r1, [r4, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810F1AE
+ bl sub_8072DEC
+ ldr r0, _0810F1F0 @ =gScriptResult
+ ldr r1, _0810F1E8 @ =gUnknown_0203925B
+ ldrb r1, [r1]
+ strh r1, [r0]
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_810EEDC
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x1D
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ adds r0, r5, 0
+ bl sub_810EC9C
+_0810F1AE:
+ ldrh r1, [r4, 0x2E]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0810F1DE
+ bl sub_8072DEC
+ ldr r1, _0810F1F0 @ =gScriptResult
+ movs r0, 0x7F
+ strh r0, [r1]
+ movs r0, 0x5
+ bl PlaySE
+ bl sub_810EEDC
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0x1D
+ movs r3, 0xC
+ bl MenuZeroFillWindowRect
+ adds r0, r5, 0
+ bl sub_810EC9C
+_0810F1DE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F1E4: .4byte gMain
+_0810F1E8: .4byte gUnknown_0203925B
+_0810F1EC: .4byte gUnknown_0203925A
+_0810F1F0: .4byte gScriptResult
+ thumb_func_end sub_810F118
+
+ thumb_func_start sub_810F1F4
+sub_810F1F4: @ 810F1F4
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ adds r5, r2, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r3, r1, 0
+ movs r6, 0
+ movs r4, 0
+ ldr r0, _0810F214 @ =gUnknown_0203925A
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bhi _0810F218
+ movs r0, 0
+ b _0810F282
+ .align 2, 0
+_0810F214: .4byte gUnknown_0203925A
+_0810F218:
+ cmp r1, 0x40
+ bne _0810F22C
+ cmp r2, 0
+ bne _0810F240
+ ldr r0, _0810F228 @ =gUnknown_0203925B
+ ldrb r4, [r0]
+ movs r6, 0x1
+ b _0810F244
+ .align 2, 0
+_0810F228: .4byte gUnknown_0203925B
+_0810F22C:
+ cmp r3, 0x80
+ bne _0810F240
+ cmp r5, 0x4
+ bne _0810F240
+ ldr r0, _0810F288 @ =gUnknown_0203925B
+ ldrb r0, [r0]
+ subs r0, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r6, 0x1
+_0810F240:
+ cmp r6, 0
+ beq _0810F280
+_0810F244:
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GlassWorkshopUpdateScrollIndicators
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r2, 0x9
+ movs r3, 0xA
+ bl MenuFillWindowRectWithBlankTile
+ movs r5, 0
+ ldr r7, _0810F28C @ =gUnknown_083F83C0
+_0810F25C:
+ lsls r0, r4, 2
+ adds r0, r7
+ ldr r0, [r0]
+ lsls r2, r5, 1
+ adds r2, 0x1
+ lsls r2, 24
+ lsrs r2, 24
+ movs r1, 0x1
+ bl MenuPrint
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x4
+ bls _0810F25C
+_0810F280:
+ adds r0, r6, 0
+_0810F282:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810F288: .4byte gUnknown_0203925B
+_0810F28C: .4byte gUnknown_083F83C0
+ thumb_func_end sub_810F1F4
+
+ thumb_func_start sub_810F290
+sub_810F290: @ 810F290
+ push {lr}
+ ldr r2, _0810F2B0 @ =gUnknown_0203925C
+ ldrb r1, [r2]
+ lsrs r0, r1, 1
+ cmp r0, 0x1
+ beq _0810F2AC
+ movs r0, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0
+ movs r1, 0x2C
+ movs r2, 0x8
+ bl CreateVerticalScrollIndicators
+_0810F2AC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F2B0: .4byte gUnknown_0203925C
+ thumb_func_end sub_810F290
+
+ thumb_func_start sub_810F2B4
+sub_810F2B4: @ 810F2B4
+ push {lr}
+ ldr r2, _0810F2D8 @ =gUnknown_0203925C
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0810F2D2
+ movs r0, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0x1
+ movs r1, 0x2C
+ movs r2, 0x58
+ bl CreateVerticalScrollIndicators
+_0810F2D2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F2D8: .4byte gUnknown_0203925C
+ thumb_func_end sub_810F2B4
+
+ thumb_func_start GlassWorkshopUpdateScrollIndicators
+GlassWorkshopUpdateScrollIndicators: @ 810F2DC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ cmp r4, 0
+ bne _0810F300
+ ldr r0, _0810F2FC @ =gUnknown_0203925C
+ ldrb r1, [r0]
+ movs r2, 0x2
+ eors r1, r2
+ strb r1, [r0]
+ movs r0, 0
+ bl DestroyVerticalScrollIndicator
+ b _0810F304
+ .align 2, 0
+_0810F2FC: .4byte gUnknown_0203925C
+_0810F300:
+ bl sub_810F290
+_0810F304:
+ adds r1, r4, r5
+ ldr r0, _0810F314 @ =gUnknown_0203925A
+ ldrb r0, [r0]
+ cmp r1, r0
+ bge _0810F318
+ bl sub_810F2B4
+ b _0810F32C
+ .align 2, 0
+_0810F314: .4byte gUnknown_0203925A
+_0810F318:
+ cmp r1, r0
+ bne _0810F32C
+ ldr r0, _0810F334 @ =gUnknown_0203925C
+ ldrb r1, [r0]
+ movs r2, 0x1
+ eors r1, r2
+ strb r1, [r0]
+ movs r0, 0x1
+ bl DestroyVerticalScrollIndicator
+_0810F32C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F334: .4byte gUnknown_0203925C
+ thumb_func_end GlassWorkshopUpdateScrollIndicators
+
+ thumb_func_start SpawnCameraDummy
+SpawnCameraDummy: @ 810F338
+ push {lr}
+ sub sp, 0x8
+ ldr r0, _0810F380 @ =gSaveBlock1
+ ldrh r3, [r0]
+ adds r3, 0x7
+ lsls r3, 16
+ asrs r3, 16
+ ldrh r0, [r0, 0x2]
+ adds r0, 0x7
+ lsls r0, 16
+ asrs r0, 16
+ str r0, [sp]
+ movs r0, 0x3
+ str r0, [sp, 0x4]
+ movs r0, 0x7
+ movs r1, 0x8
+ movs r2, 0x7F
+ bl SpawnSpecialFieldObjectParametrized
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810F384 @ =gMapObjects
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x1]
+ movs r2, 0x20
+ orrs r0, r2
+ strb r0, [r1, 0x1]
+ ldrb r0, [r1, 0x4]
+ bl CameraObjectSetFollowedObjectId
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F380: .4byte gSaveBlock1
+_0810F384: .4byte gMapObjects
+ thumb_func_end SpawnCameraDummy
+
+ thumb_func_start RemoveCameraDummy
+RemoveCameraDummy: @ 810F388
+ push {lr}
+ bl GetPlayerAvatarObjectId
+ lsls r0, 24
+ lsrs r0, 24
+ bl CameraObjectSetFollowedObjectId
+ ldr r0, _0810F3A8 @ =gSaveBlock1
+ ldrb r1, [r0, 0x5]
+ ldrb r2, [r0, 0x4]
+ movs r0, 0x7F
+ bl RemoveFieldObjectByLocalIdAndMap
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F3A8: .4byte gSaveBlock1
+ thumb_func_end RemoveCameraDummy
+
+ thumb_func_start GetPokeblockNameByMonNature
+GetPokeblockNameByMonNature: @ 810F3AC
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810F3D4 @ =gPlayerParty
+ adds r0, r1
+ bl GetNature
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0810F3D8 @ =gStringVar1
+ bl sub_810CB68
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810F3D4: .4byte gPlayerParty
+_0810F3D8: .4byte gStringVar1
+ thumb_func_end GetPokeblockNameByMonNature
+
+ thumb_func_start GetSecretBaseNearbyMapName
+GetSecretBaseNearbyMapName: @ 810F3DC
+ push {r4,lr}
+ ldr r4, _0810F3FC @ =gStringVar1
+ ldr r0, _0810F400 @ =0x00004026
+ bl VarGet
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_80FBFB4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F3FC: .4byte gStringVar1
+_0810F400: .4byte 0x00004026
+ thumb_func_end GetSecretBaseNearbyMapName
+
+ thumb_func_start sub_810F404
+sub_810F404: @ 810F404
+ push {lr}
+ movs r0, 0x20
+ bl sub_8053108
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F404
+
+ thumb_func_start sub_810F414
+sub_810F414: @ 810F414
+ push {lr}
+ ldr r0, _0810F420 @ =gStringVar1
+ bl sub_8135FF4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F420: .4byte gStringVar1
+ thumb_func_end sub_810F414
+
+ thumb_func_start sub_810F424
+sub_810F424: @ 810F424
+ push {r4,r5,lr}
+ ldr r2, _0810F458 @ =gSaveBlock1
+ ldr r1, _0810F45C @ =0x00002dd4
+ adds r0, r2, r1
+ ldrb r1, [r0]
+ lsls r1, 25
+ ldr r0, _0810F460 @ =0x00002dd6
+ adds r2, r0
+ lsrs r1, 25
+ ldrh r2, [r2]
+ adds r1, r2
+ ldr r2, _0810F464 @ =gUnknown_083F83E0
+ ldr r0, _0810F468 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ adds r0, r2
+ ldrb r0, [r0]
+ adds r5, r1, r0
+ movs r0, 0x2
+ bl GetPriceReduction
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810F470
+ ldr r4, _0810F46C @ =gUnknown_083F83EC
+ b _0810F472
+ .align 2, 0
+_0810F458: .4byte gSaveBlock1
+_0810F45C: .4byte 0x00002dd4
+_0810F460: .4byte 0x00002dd6
+_0810F464: .4byte gUnknown_083F83E0
+_0810F468: .4byte gSpecialVar_0x8004
+_0810F46C: .4byte gUnknown_083F83EC
+_0810F470:
+ ldr r4, _0810F484 @ =gUnknown_083F83F8
+_0810F472:
+ adds r0, r5, 0
+ movs r1, 0xC
+ bl __umodsi3
+ adds r0, r4
+ ldrb r0, [r0]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810F484: .4byte gUnknown_083F83F8
+ thumb_func_end sub_810F424
+
+ thumb_func_start sub_810F488
+sub_810F488: @ 810F488
+ push {lr}
+ ldr r1, _0810F4A0 @ =gSpecialVar_0x8004
+ ldr r0, _0810F4A4 @ =0x00000277
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810F4A8
+ movs r0, 0x1
+ b _0810F4AA
+ .align 2, 0
+_0810F4A0: .4byte gSpecialVar_0x8004
+_0810F4A4: .4byte 0x00000277
+_0810F4A8:
+ movs r0, 0
+_0810F4AA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F488
+
+ thumb_func_start sub_810F4B0
+sub_810F4B0: @ 810F4B0
+ push {lr}
+ ldr r1, _0810F4C8 @ =gSpecialVar_0x8004
+ movs r0, 0x9E
+ lsls r0, 2
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810F4CC
+ movs r0, 0x1
+ b _0810F4CE
+ .align 2, 0
+_0810F4C8: .4byte gSpecialVar_0x8004
+_0810F4CC:
+ movs r0, 0
+_0810F4CE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F4B0
+
+ thumb_func_start sub_810F4D4
+sub_810F4D4: @ 810F4D4
+ push {lr}
+ ldr r1, _0810F4EC @ =gSpecialVar_0x8004
+ ldr r0, _0810F4F0 @ =0x00000279
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810F4F4
+ movs r0, 0x1
+ b _0810F4F6
+ .align 2, 0
+_0810F4EC: .4byte gSpecialVar_0x8004
+_0810F4F0: .4byte 0x00000279
+_0810F4F4:
+ movs r0, 0
+_0810F4F6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F4D4
+
+ thumb_func_start sub_810F4FC
+sub_810F4FC: @ 810F4FC
+ push {lr}
+ ldr r1, _0810F514 @ =gSpecialVar_0x8004
+ ldr r0, _0810F518 @ =0x0000027a
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810F51C
+ movs r0, 0x1
+ b _0810F51E
+ .align 2, 0
+_0810F514: .4byte gSpecialVar_0x8004
+_0810F518: .4byte 0x0000027a
+_0810F51C:
+ movs r0, 0
+_0810F51E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F4FC
+
+ thumb_func_start LeadMonHasEffortRibbon
+LeadMonHasEffortRibbon: @ 810F524
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810F548 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x47
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810F548: .4byte gPlayerParty
+ thumb_func_end LeadMonHasEffortRibbon
+
+ thumb_func_start GivLeadMonEffortRibbon
+GivLeadMonEffortRibbon: @ 810F54C
+ push {lr}
+ sub sp, 0x4
+ movs r0, 0x2A
+ bl sav12_xor_increment
+ ldr r0, _0810F580 @ =0x0000083b
+ bl FlagSet
+ movs r1, 0x1
+ mov r0, sp
+ strb r1, [r0]
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810F584 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x47
+ mov r2, sp
+ bl SetMonData
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F580: .4byte 0x0000083b
+_0810F584: .4byte gPlayerParty
+ thumb_func_end GivLeadMonEffortRibbon
+
+ thumb_func_start GetLeadMonEVCount
+GetLeadMonEVCount: @ 810F588
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0810F5AC @ =gPlayerParty
+ adds r0, r1
+ bl GetMonEVCount
+ lsls r0, 16
+ ldr r1, _0810F5B0 @ =0x01fd0000
+ cmp r0, r1
+ bhi _0810F5B4
+ movs r0, 0
+ b _0810F5B6
+ .align 2, 0
+_0810F5AC: .4byte gPlayerParty
+_0810F5B0: .4byte 0x01fd0000
+_0810F5B4:
+ movs r0, 0x1
+_0810F5B6:
+ pop {r1}
+ bx r1
+ thumb_func_end GetLeadMonEVCount
+
+ thumb_func_start sub_810F5BC
+sub_810F5BC: @ 810F5BC
+ push {lr}
+ movs r0, 0xC7
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810F610
+ ldr r0, _0810F5E8 @ =gSaveBlock1
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x83
+ lsls r0, 3
+ cmp r1, r0
+ bne _0810F610
+ subs r0, 0x75
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810F5F0
+ ldr r0, _0810F5EC @ =0x0000409a
+ movs r1, 0x4
+ b _0810F602
+ .align 2, 0
+_0810F5E8: .4byte gSaveBlock1
+_0810F5EC: .4byte 0x0000409a
+_0810F5F0:
+ movs r0, 0xE9
+ lsls r0, 2
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810F610
+ ldr r0, _0810F60C @ =0x0000409a
+ movs r1, 0x5
+_0810F602:
+ bl VarSet
+ movs r0, 0x1
+ b _0810F612
+ .align 2, 0
+_0810F60C: .4byte 0x0000409a
+_0810F610:
+ movs r0, 0
+_0810F612:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F5BC
+
+ thumb_func_start sub_810F618
+sub_810F618: @ 810F618
+ push {lr}
+ ldr r0, _0810F624 @ =0x0000085f
+ bl FlagSet
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F624: .4byte 0x0000085f
+ thumb_func_end sub_810F618
+
+ thumb_func_start PutZigzagoonInPlayerParty
+PutZigzagoonInPlayerParty: @ 810F628
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r5, _0810F690 @ =gPlayerParty
+ movs r1, 0x90
+ lsls r1, 1
+ movs r4, 0
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r4, [sp, 0x8]
+ str r4, [sp, 0xC]
+ adds r0, r5, 0
+ movs r2, 0x7
+ movs r3, 0x20
+ bl CreateMon
+ movs r1, 0x1
+ add r0, sp, 0x10
+ strh r1, [r0]
+ adds r0, r5, 0
+ movs r1, 0x2E
+ add r2, sp, 0x10
+ bl SetMonData
+ add r1, sp, 0x10
+ movs r0, 0x21
+ strh r0, [r1]
+ adds r0, r5, 0
+ movs r1, 0xD
+ add r2, sp, 0x10
+ bl SetMonData
+ add r0, sp, 0x10
+ strh r4, [r0]
+ adds r0, r5, 0
+ movs r1, 0xE
+ add r2, sp, 0x10
+ bl SetMonData
+ adds r0, r5, 0
+ movs r1, 0xF
+ add r2, sp, 0x10
+ bl SetMonData
+ adds r0, r5, 0
+ movs r1, 0x10
+ add r2, sp, 0x10
+ bl SetMonData
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F690: .4byte gPlayerParty
+ thumb_func_end PutZigzagoonInPlayerParty
+
+ thumb_func_start IsStarterInParty
+IsStarterInParty: @ 810F694
+ push {r4-r6,lr}
+ ldr r0, _0810F6D0 @ =0x00004023
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ bl GetStarterPokemon
+ lsls r0, 16
+ lsrs r6, r0, 16
+ bl CalculatePlayerPartyCount
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _0810F6E2
+_0810F6B6:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, _0810F6D4 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ cmp r0, r6
+ bne _0810F6D8
+ movs r0, 0x1
+ b _0810F6E4
+ .align 2, 0
+_0810F6D0: .4byte 0x00004023
+_0810F6D4: .4byte gPlayerParty
+_0810F6D8:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _0810F6B6
+_0810F6E2:
+ movs r0, 0
+_0810F6E4:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end IsStarterInParty
+
+ thumb_func_start CheckFreePokemonStorageSpace
+CheckFreePokemonStorageSpace: @ 810F6EC
+ push {r4-r6,lr}
+ movs r5, 0
+_0810F6F0:
+ movs r4, 0
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r6, r0, 5
+_0810F6FC:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 4
+ ldr r1, _0810F718 @ =gUnknown_020300A4
+ adds r0, r1
+ adds r0, r6, r0
+ movs r1, 0xB
+ movs r2, 0
+ bl GetBoxMonData
+ cmp r0, 0
+ bne _0810F71C
+ movs r0, 0x1
+ b _0810F732
+ .align 2, 0
+_0810F718: .4byte gUnknown_020300A4
+_0810F71C:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x1D
+ bls _0810F6FC
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0xD
+ bls _0810F6F0
+ movs r0, 0
+_0810F732:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end CheckFreePokemonStorageSpace
+
+ thumb_func_start IsPokerusInParty
+IsPokerusInParty: @ 810F738
+ push {lr}
+ ldr r0, _0810F74C @ =gPlayerParty
+ movs r1, 0x3F
+ bl CheckPartyPokerus
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810F750
+ movs r0, 0x1
+ b _0810F752
+ .align 2, 0
+_0810F74C: .4byte gPlayerParty
+_0810F750:
+ movs r0, 0
+_0810F752:
+ pop {r1}
+ bx r1
+ thumb_func_end IsPokerusInParty
+
+ thumb_func_start sub_810F758
+sub_810F758: @ 810F758
+ push {lr}
+ ldr r0, _0810F798 @ =sub_810F7A8
+ movs r1, 0x9
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0810F79C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldr r0, _0810F7A0 @ =gSpecialVar_0x8005
+ ldrh r2, [r0]
+ movs r0, 0
+ strh r2, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r0, [r1, 0xC]
+ strh r0, [r1, 0xE]
+ ldr r0, _0810F7A4 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ strh r0, [r1, 0x10]
+ movs r0, 0x5
+ strh r0, [r1, 0x12]
+ movs r0, 0
+ bl SetCameraPanningCallback
+ movs r0, 0xD6
+ bl PlaySE
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F798: .4byte sub_810F7A8
+_0810F79C: .4byte gTasks
+_0810F7A0: .4byte gSpecialVar_0x8005
+_0810F7A4: .4byte gSpecialVar_0x8004
+ thumb_func_end sub_810F758
+
+ thumb_func_start sub_810F7A8
+sub_810F7A8: @ 810F7A8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _0810F810 @ =gTasks
+ adds r4, r0, r1
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ bl __modsi3
+ cmp r0, 0
+ bne _0810F808
+ strh r0, [r4, 0xA]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _0810F808
+ ldrh r0, [r4, 0x8]
+ negs r0, r0
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0x10]
+ negs r0, r0
+ strh r0, [r4, 0x10]
+ movs r2, 0x8
+ ldrsh r0, [r4, r2]
+ movs r2, 0x10
+ ldrsh r1, [r4, r2]
+ bl SetCameraPanning
+ movs r1, 0xC
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x8
+ bne _0810F808
+ adds r0, r5, 0
+ bl sub_810F814
+ bl InstallCameraPanAheadCallback
+_0810F808:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810F810: .4byte gTasks
+ thumb_func_end sub_810F7A8
+
+ thumb_func_start sub_810F814
+sub_810F814: @ 810F814
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810F814
+
+ thumb_func_start sub_810F828
+sub_810F828: @ 810F828
+ push {lr}
+ movs r0, 0xAE
+ lsls r0, 2
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F828
+
+ thumb_func_start SetRoute119Weather
+SetRoute119Weather: @ 810F83C
+ push {lr}
+ bl get_map_light_from_warp0
+ lsls r0, 24
+ lsrs r0, 24
+ bl is_light_level_1_2_3_5_or_6
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0810F858
+ movs r0, 0x14
+ bl SetSav1Weather
+_0810F858:
+ pop {r0}
+ bx r0
+ thumb_func_end SetRoute119Weather
+
+ thumb_func_start SetRoute123Weather
+SetRoute123Weather: @ 810F85C
+ push {lr}
+ bl get_map_light_from_warp0
+ lsls r0, 24
+ lsrs r0, 24
+ bl is_light_level_1_2_3_5_or_6
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0810F878
+ movs r0, 0x15
+ bl SetSav1Weather
+_0810F878:
+ pop {r0}
+ bx r0
+ thumb_func_end SetRoute123Weather
+
+ thumb_func_start GetLeadMonIndex
+GetLeadMonIndex: @ 810F87C
+ push {r4-r6,lr}
+ bl CalculatePlayerPartyCount
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+ cmp r5, r6
+ bcs _0810F8CA
+_0810F88C:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _0810F8BC @ =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ movs r1, 0xCE
+ lsls r1, 1
+ cmp r0, r1
+ beq _0810F8C0
+ adds r0, r4, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ beq _0810F8C0
+ adds r0, r5, 0
+ b _0810F8CC
+ .align 2, 0
+_0810F8BC: .4byte gPlayerParty
+_0810F8C0:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r6
+ bcc _0810F88C
+_0810F8CA:
+ movs r0, 0
+_0810F8CC:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end GetLeadMonIndex
+
+ thumb_func_start ScriptGetPartyMonSpecies
+ScriptGetPartyMonSpecies: @ 810F8D4
+ push {lr}
+ ldr r0, _0810F8F4 @ =gSpecialVar_0x8004
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _0810F8F8 @ =gPlayerParty
+ adds r0, r1
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810F8F4: .4byte gSpecialVar_0x8004
+_0810F8F8: .4byte gPlayerParty
+ thumb_func_end ScriptGetPartyMonSpecies
+
+ thumb_func_start sub_810F8FC
+sub_810F8FC: @ 810F8FC
+ push {lr}
+ movs r0, 0x6
+ bl sub_805ADDC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810F8FC
+
+ thumb_func_start sub_810F908
+sub_810F908: @ 810F908
+ push {r4,lr}
+ ldr r0, _0810F928 @ =0x000040c2
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ adds r3, r0, 0
+ ldr r2, _0810F92C @ =gLocalTime
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ subs r0, r3
+ cmp r0, 0x6
+ ble _0810F930
+ movs r0, 0
+ b _0810F948
+ .align 2, 0
+_0810F928: .4byte 0x000040c2
+_0810F92C: .4byte gLocalTime
+_0810F930:
+ ldrh r1, [r2]
+ movs r4, 0
+ ldrsh r0, [r2, r4]
+ cmp r0, 0
+ blt _0810F946
+ subs r1, r3
+ movs r0, 0x7
+ subs r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ b _0810F948
+_0810F946:
+ movs r0, 0x8
+_0810F948:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F908
+
+ thumb_func_start sub_810F950
+sub_810F950: @ 810F950
+ push {r4,lr}
+ ldr r0, _0810F964 @ =0x000040c2
+ ldr r4, _0810F968 @ =gLocalTime
+ ldrh r1, [r4]
+ bl VarSet
+ ldrh r0, [r4]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810F964: .4byte 0x000040c2
+_0810F968: .4byte gLocalTime
+ thumb_func_end sub_810F950
+
+ thumb_func_start sub_810F96C
+sub_810F96C: @ 810F96C
+ push {r4,lr}
+ ldr r0, _0810F994 @ =gSpecialVar_0x8004
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _0810F998 @ =gPlayerParty
+ adds r0, r1
+ ldr r4, _0810F99C @ =gStringVar1
+ movs r1, 0x7
+ adds r2, r4, 0
+ bl GetMonData
+ ldr r0, _0810F9A0 @ =gSaveBlock2
+ adds r1, r4, 0
+ bl StringCompareWithoutExtCtrlCodes
+ cmp r0, 0
+ beq _0810F9A4
+ movs r0, 0x1
+ b _0810F9A6
+ .align 2, 0
+_0810F994: .4byte gSpecialVar_0x8004
+_0810F998: .4byte gPlayerParty
+_0810F99C: .4byte gStringVar1
+_0810F9A0: .4byte gSaveBlock2
+_0810F9A4:
+ movs r0, 0
+_0810F9A6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810F96C
+
+ thumb_func_start sub_810F9AC
+sub_810F9AC: @ 810F9AC
+ push {r4,r5,lr}
+ ldr r2, _0810F9C0 @ =gScriptResult
+ ldrh r1, [r2]
+ ldr r0, _0810F9C4 @ =0x0000270f
+ cmp r1, r0
+ bls _0810F9C8
+ movs r0, 0
+ bl sub_80BF088
+ b _0810FA4A
+ .align 2, 0
+_0810F9C0: .4byte gScriptResult
+_0810F9C4: .4byte 0x0000270f
+_0810F9C8:
+ ldr r0, _0810F9D8 @ =0x000003e7
+ cmp r1, r0
+ bls _0810F9E0
+ ldr r4, _0810F9DC @ =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ adds r4, 0x1
+ b _0810FA04
+ .align 2, 0
+_0810F9D8: .4byte 0x000003e7
+_0810F9DC: .4byte gStringVar1
+_0810F9E0:
+ cmp r1, 0x63
+ bls _0810F9F4
+ ldr r4, _0810F9F0 @ =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ strb r0, [r4, 0x1]
+ adds r4, 0x2
+ b _0810FA04
+ .align 2, 0
+_0810F9F0: .4byte gStringVar1
+_0810F9F4:
+ cmp r1, 0x9
+ bls _0810FA24
+ ldr r4, _0810FA20 @ =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ strb r0, [r4, 0x1]
+ strb r0, [r4, 0x2]
+ adds r4, 0x3
+_0810FA04:
+ ldrh r5, [r2]
+ adds r0, r5, 0
+ bl sub_80BF0B8
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl ConvertIntToDecimalStringN
+ b _0810FA4A
+ .align 2, 0
+_0810FA20: .4byte gStringVar1
+_0810FA24:
+ ldr r4, _0810FA50 @ =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ strb r0, [r4, 0x1]
+ strb r0, [r4, 0x2]
+ strb r0, [r4, 0x3]
+ adds r4, 0x4
+ ldrh r5, [r2]
+ adds r0, r5, 0
+ bl sub_80BF0B8
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl ConvertIntToDecimalStringN
+_0810FA4A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810FA50: .4byte gStringVar1
+ thumb_func_end sub_810F9AC
+
+ thumb_func_start sub_810FA54
+sub_810FA54: @ 810FA54
+ ldr r0, _0810FA68 @ =gSaveBlock1
+ ldr r2, _0810FA6C @ =0x000013c2
+ adds r1, r0, r2
+ movs r2, 0
+ strh r2, [r1]
+ ldr r1, _0810FA70 @ =0x000013c4
+ adds r0, r1
+ strh r2, [r0]
+ bx lr
+ .align 2, 0
+_0810FA68: .4byte gSaveBlock1
+_0810FA6C: .4byte 0x000013c2
+_0810FA70: .4byte 0x000013c4
+ thumb_func_end sub_810FA54
+
+ thumb_func_start sub_810FA74
+sub_810FA74: @ 810FA74
+ push {lr}
+ bl sub_810FF30
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810FA90
+ bl sub_810FCE8
+ ldr r0, _0810FA94 @ =gSaveBlock1
+ ldr r1, _0810FA98 @ =gSaveBlock2
+ ldrh r1, [r1, 0xE]
+ ldr r2, _0810FA9C @ =0x000013c4
+ adds r0, r2
+ strh r1, [r0]
+_0810FA90:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810FA94: .4byte gSaveBlock1
+_0810FA98: .4byte gSaveBlock2
+_0810FA9C: .4byte 0x000013c4
+ thumb_func_end sub_810FA74
+
+ thumb_func_start sub_810FAA0
+sub_810FAA0: @ 810FAA0
+ push {r4,lr}
+ ldr r4, _0810FAF0 @ =gSaveBlock1
+ ldr r1, _0810FAF4 @ =0x000013c2
+ adds r0, r4, r1
+ ldrh r0, [r0]
+ lsrs r0, 7
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0810FAE8
+ bl sub_810FF48
+ bl sub_810FD80
+ ldr r0, _0810FAF8 @ =gSaveBlock2
+ ldrh r1, [r0, 0xE]
+ ldr r2, _0810FAFC @ =0x000013c4
+ adds r0, r4, r2
+ strh r1, [r0]
+ ldr r0, _0810FB00 @ =0x00000315
+ bl FlagReset
+ ldr r0, _0810FB04 @ =0x00000316
+ bl FlagReset
+ ldr r0, _0810FB08 @ =0x00000317
+ bl FlagReset
+ movs r0, 0xC6
+ lsls r0, 2
+ bl FlagReset
+ ldr r0, _0810FB0C @ =0x00004095
+ movs r1, 0x1
+ bl VarSet
+_0810FAE8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810FAF0: .4byte gSaveBlock1
+_0810FAF4: .4byte 0x000013c2
+_0810FAF8: .4byte gSaveBlock2
+_0810FAFC: .4byte 0x000013c4
+_0810FB00: .4byte 0x00000315
+_0810FB04: .4byte 0x00000316
+_0810FB08: .4byte 0x00000317
+_0810FB0C: .4byte 0x00004095
+ thumb_func_end sub_810FAA0
+
+ thumb_func_start sub_810FB10
+sub_810FB10: @ 810FB10
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _0810FB54 @ =0x00004095
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bne _0810FB80
+ ldr r0, _0810FB58 @ =gSaveBlock1
+ ldr r1, _0810FB5C @ =0x000013c2
+ adds r4, r0, r1
+ ldrh r2, [r4]
+ movs r1, 0x7F
+ ands r1, r2
+ ldr r0, _0810FB60 @ =gUnknown_083F8404
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ adds r1, r0
+ cmp r1, 0x13
+ ble _0810FB7C
+ bl sub_810FCB0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bhi _0810FB68
+ bl sub_810FB9C
+ ldrh r1, [r4]
+ ldr r0, _0810FB64 @ =0x0000ff80
+ ands r0, r1
+ b _0810FB7E
+ .align 2, 0
+_0810FB54: .4byte 0x00004095
+_0810FB58: .4byte gSaveBlock1
+_0810FB5C: .4byte 0x000013c2
+_0810FB60: .4byte gUnknown_083F8404
+_0810FB64: .4byte 0x0000ff80
+_0810FB68:
+ ldrh r0, [r4]
+ ldr r1, _0810FB78 @ =0x0000ff80
+ ands r1, r0
+ movs r0, 0x14
+ orrs r1, r0
+ strh r1, [r4]
+ b _0810FB80
+ .align 2, 0
+_0810FB78: .4byte 0x0000ff80
+_0810FB7C:
+ adds r0, r2, r0
+_0810FB7E:
+ strh r0, [r4]
+_0810FB80:
+ ldr r0, _0810FB94 @ =gSaveBlock1
+ ldr r1, _0810FB98 @ =0x000013c2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x7F
+ ands r0, r1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810FB94: .4byte gSaveBlock1
+_0810FB98: .4byte 0x000013c2
+ thumb_func_end sub_810FB10
+
+ thumb_func_start sub_810FB9C
+sub_810FB9C: @ 810FB9C
+ push {r4-r7,lr}
+ sub sp, 0x4
+ movs r3, 0
+ movs r5, 0
+ ldr r7, _0810FBD8 @ =gSaveBlock1 + 0x13C2
+ movs r6, 0x1
+_0810FBA8:
+ ldrh r1, [r7]
+ ldr r0, _0810FBDC @ =gUnknown_083F8408
+ adds r0, r5, r0
+ ldrb r4, [r0]
+ asrs r1, r4
+ ands r1, r6
+ cmp r1, 0
+ bne _0810FBE0
+ adds r3, r5, 0
+ str r3, [sp]
+ bl Random
+ adds r1, r6, 0
+ ands r1, r0
+ ldr r3, [sp]
+ cmp r1, 0
+ beq _0810FBE0
+ adds r0, r6, 0
+ lsls r0, r4
+ ldrh r1, [r7]
+ orrs r0, r1
+ strh r0, [r7]
+ b _0810FC00
+ .align 2, 0
+_0810FBD8: .4byte gSaveBlock1 + 0x13C2
+_0810FBDC: .4byte gUnknown_083F8408
+_0810FBE0:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x7
+ bls _0810FBA8
+ ldr r2, _0810FC0C @ =gSaveBlock1
+ ldr r0, _0810FC10 @ =0x000013c2
+ adds r2, r0
+ ldr r1, _0810FC14 @ =gUnknown_083F8408
+ adds r1, r3, r1
+ movs r0, 0x1
+ ldrb r1, [r1]
+ lsls r0, r1
+ ldrh r1, [r2]
+ orrs r0, r1
+ strh r0, [r2]
+_0810FC00:
+ adds r0, r3, 0
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810FC0C: .4byte gSaveBlock1
+_0810FC10: .4byte 0x000013c2
+_0810FC14: .4byte gUnknown_083F8408
+ thumb_func_end sub_810FB9C
+
+ thumb_func_start sub_810FC18
+sub_810FC18: @ 810FC18
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ movs r0, 0
+ mov r8, r0
+ bl sub_810FCB0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bne _0810FC3E
+ movs r0, 0
+ b _0810FC94
+_0810FC34:
+ lsls r4, r6
+ ldrh r0, [r2]
+ eors r4, r0
+ strh r4, [r2]
+ b _0810FC92
+_0810FC3E:
+ movs r5, 0
+ ldr r2, _0810FCA0 @ =gSaveBlock1 + 0x13C2
+ movs r4, 0x1
+_0810FC44:
+ ldrh r1, [r2]
+ ldr r7, _0810FCA4 @ =gUnknown_083F8410
+ adds r0, r5, r7
+ ldrb r6, [r0]
+ asrs r1, r6
+ ands r1, r4
+ cmp r1, 0
+ beq _0810FC66
+ mov r8, r5
+ str r2, [sp]
+ bl Random
+ adds r1, r4, 0
+ ands r1, r0
+ ldr r2, [sp]
+ cmp r1, 0
+ bne _0810FC34
+_0810FC66:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x7
+ bls _0810FC44
+ ldr r0, _0810FCA8 @ =gSaveBlock1
+ ldr r1, _0810FCAC @ =0x000013c2
+ adds r4, r0, r1
+ ldrh r1, [r4]
+ mov r2, r8
+ adds r0, r2, r7
+ ldrb r2, [r0]
+ adds r0, r1, 0
+ asrs r0, r2
+ movs r3, 0x1
+ ands r0, r3
+ cmp r0, 0
+ beq _0810FC92
+ adds r0, r3, 0
+ lsls r0, r2
+ eors r1, r0
+ strh r1, [r4]
+_0810FC92:
+ mov r0, r8
+_0810FC94:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810FCA0: .4byte gSaveBlock1 + 0x13C2
+_0810FCA4: .4byte gUnknown_083F8410
+_0810FCA8: .4byte gSaveBlock1
+_0810FCAC: .4byte 0x000013c2
+ thumb_func_end sub_810FC18
+
+ thumb_func_start sub_810FCB0
+sub_810FCB0: @ 810FCB0
+ push {r4,r5,lr}
+ movs r3, 0
+ movs r2, 0
+ ldr r0, _0810FCE4 @ =gSaveBlock1 + 0x13C2
+ ldrh r4, [r0]
+ movs r5, 0x1
+_0810FCBC:
+ adds r1, r2, 0
+ adds r1, 0x8
+ adds r0, r4, 0
+ asrs r0, r1
+ ands r0, r5
+ cmp r0, 0
+ beq _0810FCD0
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+_0810FCD0:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _0810FCBC
+ adds r0, r3, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810FCE4: .4byte gSaveBlock1 + 0x13C2
+ thumb_func_end sub_810FCB0
+
+ thumb_func_start sub_810FCE8
+sub_810FCE8: @ 810FCE8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r5, 0
+ ldr r2, _0810FD08 @ =gSaveBlock2
+ ldrh r1, [r2, 0xE]
+ ldr r0, _0810FD0C @ =0x000003e6
+ cmp r1, r0
+ bhi _0810FD54
+ ldr r7, _0810FD10 @ =gSaveBlock1
+ adds r6, r2, 0
+ ldr r0, _0810FD14 @ =0x000013c4
+ adds r0, r7
+ mov r8, r0
+ b _0810FD36
+ .align 2, 0
+_0810FD08: .4byte gSaveBlock2
+_0810FD0C: .4byte 0x000003e6
+_0810FD10: .4byte gSaveBlock1
+_0810FD14: .4byte 0x000013c4
+_0810FD18:
+ ldrh r1, [r6, 0xE]
+ ldr r0, _0810FD4C @ =0x000013c4
+ adds r4, r7, r0
+ ldrh r0, [r4]
+ subs r1, r0
+ cmp r1, 0xB
+ ble _0810FD54
+ bl sub_810FC18
+ ldrh r0, [r4]
+ adds r0, 0xC
+ strh r0, [r4]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_0810FD36:
+ bl sub_810FCB0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bhi _0810FD50
+ ldrh r0, [r6, 0xE]
+ mov r1, r8
+ strh r0, [r1]
+ b _0810FD54
+ .align 2, 0
+_0810FD4C: .4byte 0x000013c4
+_0810FD50:
+ cmp r5, 0x8
+ bne _0810FD18
+_0810FD54:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810FCE8
+
+ thumb_func_start sub_810FD60
+sub_810FD60: @ 810FD60
+ ldr r0, _0810FD74 @ =gSaveBlock1
+ ldr r1, _0810FD78 @ =0x000013c2
+ adds r0, r1
+ ldrh r0, [r0]
+ ldr r1, _0810FD7C @ =gSpecialVar_0x8004
+ ldrh r1, [r1]
+ asrs r0, r1
+ movs r1, 0x1
+ ands r0, r1
+ bx lr
+ .align 2, 0
+_0810FD74: .4byte gSaveBlock1
+_0810FD78: .4byte 0x000013c2
+_0810FD7C: .4byte gSpecialVar_0x8004
+ thumb_func_end sub_810FD60
+
+ thumb_func_start sub_810FD80
+sub_810FD80: @ 810FD80
+ ldr r2, _0810FDA4 @ =gSaveBlock1
+ ldr r0, _0810FDA8 @ =0x000013c2
+ adds r2, r0
+ ldrh r1, [r2]
+ movs r3, 0x80
+ lsls r3, 6
+ adds r0, r3, 0
+ orrs r0, r1
+ movs r3, 0x80
+ lsls r3, 1
+ adds r1, r3, 0
+ orrs r0, r1
+ movs r3, 0x80
+ lsls r3, 3
+ adds r1, r3, 0
+ orrs r0, r1
+ strh r0, [r2]
+ bx lr
+ .align 2, 0
+_0810FDA4: .4byte gSaveBlock1
+_0810FDA8: .4byte 0x000013c2
+ thumb_func_end sub_810FD80
+
+ thumb_func_start sub_810FDAC
+sub_810FDAC: @ 810FDAC
+ push {lr}
+ movs r3, 0
+ movs r2, 0
+ ldr r0, _0810FDC8 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ subs r0, 0x8
+ cmp r0, 0x7
+ bhi _0810FE0C
+ lsls r0, 2
+ ldr r1, _0810FDCC @ =_0810FDD0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810FDC8: .4byte gSpecialVar_0x8004
+_0810FDCC: .4byte _0810FDD0
+ .align 2, 0
+_0810FDD0:
+ .4byte _0810FE0C
+ .4byte _0810FE0C
+ .4byte _0810FDF0
+ .4byte _0810FDF6
+ .4byte _0810FDFC
+ .4byte _0810FE02
+ .4byte _0810FE08
+ .4byte _0810FE0C
+_0810FDF0:
+ movs r3, 0
+ movs r2, 0x3
+ b _0810FE0C
+_0810FDF6:
+ movs r3, 0
+ movs r2, 0x1
+ b _0810FE0C
+_0810FDFC:
+ movs r3, 0x1
+ movs r2, 0
+ b _0810FE0C
+_0810FE02:
+ movs r3, 0
+ movs r2, 0x4
+ b _0810FE0C
+_0810FE08:
+ movs r3, 0x1
+ movs r2, 0x5
+_0810FE0C:
+ ldr r0, _0810FE18 @ =gSaveBlock1 + 0x30B8
+ adds r1, r3, 0
+ bl sub_810FE1C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810FE18: .4byte gSaveBlock1 + 0x30B8
+ thumb_func_end sub_810FDAC
+
+ thumb_func_start sub_810FE1C
+sub_810FE1C: @ 810FE1C
+ push {r4,lr}
+ lsls r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ lsrs r1, 20
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _0810FED0
+ cmp r2, 0x5
+ bhi _0810FEBC
+ lsls r0, r2, 2
+ ldr r1, _0810FE3C @ =_0810FE40
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810FE3C: .4byte _0810FE40
+ .align 2, 0
+_0810FE40:
+ .4byte _0810FEBC
+ .4byte _0810FE58
+ .4byte _0810FE6C
+ .4byte _0810FE80
+ .4byte _0810FE94
+ .4byte _0810FEA8
+_0810FE58:
+ ldr r0, _0810FE64 @ =gStringVar1
+ ldr r1, _0810FE68 @ =gOtherText_Steven
+ bl StringCopy
+ b _0810FEF2
+ .align 2, 0
+_0810FE64: .4byte gStringVar1
+_0810FE68: .4byte gOtherText_Steven
+_0810FE6C:
+ ldr r0, _0810FE78 @ =gStringVar1
+ ldr r1, _0810FE7C @ =gOtherText_Brawly
+ bl StringCopy
+ b _0810FEF2
+ .align 2, 0
+_0810FE78: .4byte gStringVar1
+_0810FE7C: .4byte gOtherText_Brawly
+_0810FE80:
+ ldr r0, _0810FE8C @ =gStringVar1
+ ldr r1, _0810FE90 @ =gOtherText_Winona
+ bl StringCopy
+ b _0810FEF2
+ .align 2, 0
+_0810FE8C: .4byte gStringVar1
+_0810FE90: .4byte gOtherText_Winona
+_0810FE94:
+ ldr r0, _0810FEA0 @ =gStringVar1
+ ldr r1, _0810FEA4 @ =gOtherText_Phoebe
+ bl StringCopy
+ b _0810FEF2
+ .align 2, 0
+_0810FEA0: .4byte gStringVar1
+_0810FEA4: .4byte gOtherText_Phoebe
+_0810FEA8:
+ ldr r0, _0810FEB4 @ =gStringVar1
+ ldr r1, _0810FEB8 @ =gOtherText_Glacia
+ bl StringCopy
+ b _0810FEF2
+ .align 2, 0
+_0810FEB4: .4byte gStringVar1
+_0810FEB8: .4byte gOtherText_Glacia
+_0810FEBC:
+ ldr r0, _0810FEC8 @ =gStringVar1
+ ldr r1, _0810FECC @ =gOtherText_Wallace
+ bl StringCopy
+ b _0810FEF2
+ .align 2, 0
+_0810FEC8: .4byte gStringVar1
+_0810FECC: .4byte gOtherText_Wallace
+_0810FED0:
+ ldr r4, _0810FEF8 @ =gStringVar1
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl StringCopyN
+ movs r0, 0xFF
+ strb r0, [r4, 0x7]
+ ldrb r0, [r4]
+ cmp r0, 0xFC
+ bne _0810FEF2
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x15
+ bne _0810FEF2
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl ConvertInternationalString
+_0810FEF2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810FEF8: .4byte gStringVar1
+ thumb_func_end sub_810FE1C
+
+ thumb_func_start sub_810FEFC
+sub_810FEFC: @ 810FEFC
+ push {lr}
+ ldr r0, _0810FF20 @ =0x00004095
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bne _0810FF2C
+ bl sub_810FA74
+ ldr r0, _0810FF24 @ =gUnknown_02024D26
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0810FF28
+ bl sub_810FB9C
+ b _0810FF2C
+ .align 2, 0
+_0810FF20: .4byte 0x00004095
+_0810FF24: .4byte gUnknown_02024D26
+_0810FF28:
+ bl sub_810FC18
+_0810FF2C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810FEFC
+
+ thumb_func_start sub_810FF30
+sub_810FF30: @ 810FF30
+ ldr r0, _0810FF40 @ =gSaveBlock1
+ ldr r1, _0810FF44 @ =0x000013c2
+ adds r0, r1
+ ldrh r0, [r0]
+ lsrs r0, 7
+ movs r1, 0x1
+ ands r0, r1
+ bx lr
+ .align 2, 0
+_0810FF40: .4byte gSaveBlock1
+_0810FF44: .4byte 0x000013c2
+ thumb_func_end sub_810FF30
+
+ thumb_func_start sub_810FF48
+sub_810FF48: @ 810FF48
+ ldr r0, _0810FF58 @ =gSaveBlock1
+ ldr r1, _0810FF5C @ =0x000013c2
+ adds r0, r1
+ ldrh r2, [r0]
+ movs r1, 0x80
+ orrs r1, r2
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_0810FF58: .4byte gSaveBlock1
+_0810FF5C: .4byte 0x000013c2
+ thumb_func_end sub_810FF48
+
+ thumb_func_start sub_810FF60
+sub_810FF60: @ 810FF60
+ push {lr}
+ ldr r0, _0810FF74 @ =gSpecialVar_0x8004
+ ldrb r0, [r0]
+ bl sub_810FB10
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0810FF74: .4byte gSpecialVar_0x8004
+ thumb_func_end sub_810FF60
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_813BA94.s b/asm/rom_813BA94.s
deleted file mode 100644
index 7e966cf91..000000000
--- a/asm/rom_813BA94.s
+++ /dev/null
@@ -1,18272 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813CAF4
-sub_813CAF4: @ 813CAF4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0813CB2C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r4, 0x26]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bne _0813CB18
- b _0813CC28
-_0813CB18:
- cmp r0, 0x4
- bgt _0813CB30
- cmp r0, 0x2
- beq _0813CB60
- cmp r0, 0x2
- bgt _0813CBC4
- cmp r0, 0
- beq _0813CB46
- b _0813CC8E
- .align 2, 0
-_0813CB2C: .4byte gTasks
-_0813CB30:
- cmp r0, 0x1E
- beq _0813CBEE
- cmp r0, 0x1E
- bgt _0813CB3E
- cmp r0, 0x14
- beq _0813CB8A
- b _0813CC8E
-_0813CB3E:
- cmp r0, 0x28
- bne _0813CB44
- b _0813CC56
-_0813CB44:
- b _0813CC8E
-_0813CB46:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xE5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0813CB5C @ =REG_BG2CNT
- strh r6, [r0]
- movs r0, 0xFF
- strh r0, [r4, 0x8]
- b _0813CC8E
- .align 2, 0
-_0813CB5C: .4byte REG_BG2CNT
-_0813CB60:
- ldr r0, _0813CBB0 @ =0x0000ffff
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _0813CBB4 @ =REG_BG2CNT
- ldr r2, _0813CBB8 @ =0x00000e07
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- strh r6, [r4, 0xA]
- strh r6, [r4, 0xC]
- movs r0, 0x14
- strh r0, [r4, 0x8]
-_0813CB8A:
- ldr r2, _0813CBBC @ =REG_BG2VOFS
- ldr r0, _0813CBC0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- strh r0, [r2]
- subs r2, 0x2
- ldrh r0, [r1, 0xC]
- strh r0, [r2]
- ldrh r0, [r1, 0xA]
- adds r0, 0x6
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xC]
- subs r0, 0x8
- strh r0, [r1, 0xC]
- b _0813CC8E
- .align 2, 0
-_0813CBB0: .4byte 0x0000ffff
-_0813CBB4: .4byte REG_BG2CNT
-_0813CBB8: .4byte 0x00000e07
-_0813CBBC: .4byte REG_BG2VOFS
-_0813CBC0: .4byte gTasks
-_0813CBC4:
- ldr r0, _0813CC14 @ =0x0000ffff
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _0813CC18 @ =REG_BG2CNT
- ldr r2, _0813CC1C @ =0x00000e07
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- strh r6, [r4, 0xA]
- strh r6, [r4, 0xC]
- movs r0, 0x1E
- strh r0, [r4, 0x8]
-_0813CBEE:
- ldr r2, _0813CC20 @ =REG_BG2VOFS
- ldr r0, _0813CC24 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- strh r0, [r2]
- subs r2, 0x2
- ldrh r0, [r1, 0xC]
- strh r0, [r2]
- ldrh r0, [r1, 0xA]
- subs r0, 0x6
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xC]
- adds r0, 0x8
- strh r0, [r1, 0xC]
- b _0813CC8E
- .align 2, 0
-_0813CC14: .4byte 0x0000ffff
-_0813CC18: .4byte REG_BG2CNT
-_0813CC1C: .4byte 0x00000e07
-_0813CC20: .4byte REG_BG2VOFS
-_0813CC24: .4byte gTasks
-_0813CC28:
- ldr r0, _0813CC98 @ =0x000037f7
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x5
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0813CC9C @ =REG_BG2CNT
- ldr r2, _0813CCA0 @ =0x00000e07
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- strh r6, [r4, 0xA]
- strh r6, [r4, 0xC]
- movs r0, 0x8
- strh r0, [r4, 0xE]
- movs r0, 0x28
- strh r0, [r4, 0x8]
-_0813CC56:
- ldr r2, _0813CCA4 @ =REG_BG2VOFS
- ldr r1, _0813CCA8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0xA]
- strh r0, [r2]
- ldr r1, _0813CCAC @ =REG_BG2HOFS
- ldrh r0, [r3, 0xC]
- strh r0, [r1]
- ldrh r0, [r3, 0xA]
- ldrh r2, [r3, 0xE]
- subs r0, r2
- strh r0, [r3, 0xA]
- ldrh r1, [r3, 0xC]
- adds r0, r2, r1
- strh r0, [r3, 0xC]
- ldrh r1, [r3, 0x26]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0813CC8E
- lsls r0, r2, 16
- cmp r0, 0
- beq _0813CC8E
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_0813CC8E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813CC98: .4byte 0x000037f7
-_0813CC9C: .4byte REG_BG2CNT
-_0813CCA0: .4byte 0x00000e07
-_0813CCA4: .4byte REG_BG2VOFS
-_0813CCA8: .4byte gTasks
-_0813CCAC: .4byte REG_BG2HOFS
- thumb_func_end sub_813CAF4
-
- thumb_func_start intro_reset_and_hide_bgs
-intro_reset_and_hide_bgs: @ 813CCB0
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x1C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x3E
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- thumb_func_end intro_reset_and_hide_bgs
-
- thumb_func_start sub_813CCE8
-sub_813CCE8: @ 813CCE8
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _0813CD0C @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0813CD28
- lsls r0, 2
- ldr r1, _0813CD10 @ =_0813CD14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813CD0C: .4byte gTasks
-_0813CD10: .4byte _0813CD14
- .align 2, 0
-_0813CD14:
- .4byte _0813CD28
- .4byte _0813CD5C
- .4byte _0813CD8C
- .4byte _0813CDA8
- .4byte _0813CDFC
-_0813CD28:
- ldr r1, _0813CD54 @ =REG_BLDCNT
- ldr r4, _0813CD58 @ =0x00003f50
- adds r0, r4, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r4, 0x80
- lsls r4, 5
- adds r0, r4, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0
- strh r0, [r1]
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r2
- movs r1, 0x40
- strh r1, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0x8]
- b _0813CE26
- .align 2, 0
-_0813CD54: .4byte REG_BLDCNT
-_0813CD58: .4byte 0x00003f50
-_0813CD5C:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r2
- ldrh r1, [r2, 0xA]
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _0813CD78
- subs r0, r1, 0x1
- strh r0, [r2, 0xA]
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- b _0813CDC2
-_0813CD78:
- ldr r1, _0813CD84 @ =REG_BLDALPHA
- ldr r0, _0813CD88 @ =gUnknown_08393E64
- ldrh r0, [r0]
- strh r0, [r1]
- movs r0, 0x80
- b _0813CDEA
- .align 2, 0
-_0813CD84: .4byte REG_BLDALPHA
-_0813CD88: .4byte gUnknown_08393E64
-_0813CD8C:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0xA]
- movs r3, 0xA
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _0813CE0E
- strh r2, [r1, 0xA]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0813CE26
-_0813CDA8:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r2
- ldrh r1, [r2, 0xA]
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- cmp r0, 0x3D
- bgt _0813CDE0
- adds r0, r1, 0x1
- strh r0, [r2, 0xA]
- movs r1, 0xA
- ldrsh r0, [r2, r1]
-_0813CDC2:
- lsrs r1, r0, 31
- adds r0, r1
- movs r2, 0xFF
- lsls r2, 1
- ldr r3, _0813CDD8 @ =REG_BLDALPHA
- ldr r1, _0813CDDC @ =gUnknown_08393E64
- ands r0, r2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
- b _0813CE26
- .align 2, 0
-_0813CDD8: .4byte REG_BLDALPHA
-_0813CDDC: .4byte gUnknown_08393E64
-_0813CDE0:
- ldr r1, _0813CDF4 @ =REG_BLDALPHA
- ldr r0, _0813CDF8 @ =gUnknown_08393E64
- ldrh r0, [r0, 0x3E]
- strh r0, [r1]
- movs r0, 0x10
-_0813CDEA:
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0813CE26
- .align 2, 0
-_0813CDF4: .4byte REG_BLDALPHA
-_0813CDF8: .4byte gUnknown_08393E64
-_0813CDFC:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0xA]
- movs r4, 0xA
- ldrsh r2, [r1, r4]
- cmp r2, 0
- beq _0813CE14
-_0813CE0E:
- subs r0, 0x1
- strh r0, [r1, 0xA]
- b _0813CE26
-_0813CE14:
- ldr r0, _0813CE2C @ =REG_BLDCNT
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, r3, 0
- bl DestroyTask
-_0813CE26:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813CE2C: .4byte REG_BLDCNT
- thumb_func_end sub_813CCE8
-
- thumb_func_start sub_813CE30
-sub_813CE30: @ 813CE30
- push {r4,lr}
- sub sp, 0x24
- lsls r2, 16
- lsrs r2, 16
- movs r4, 0x80
- lsls r4, 8
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r4, sp
- strh r0, [r4, 0x8]
- mov r0, sp
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- strh r2, [r0, 0xE]
- strh r3, [r0, 0x10]
- add r4, sp, 0x14
- adds r1, r4, 0
- movs r2, 0x1
- bl BgAffineSet
- ldr r1, _0813CE84 @ =REG_BG2PA
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x2]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x4]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x6]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r4, 0x8]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r4, 0xC]
- str r0, [r1]
- add sp, 0x24
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813CE84: .4byte REG_BG2PA
- thumb_func_end sub_813CE30
-
- thumb_func_start sub_813CE88
-sub_813CE88: @ 813CE88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r6, r4, 24
- cmp r6, 0
- beq _0813CEF0
- lsls r0, r7, 3
- ldr r1, _0813CEE4 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _0813CEE8 @ =gMonFrontPicCoords
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r5, _0813CEEC @ =gUnknown_0840B5A0
- mov r6, r8
- lsls r4, r6, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r4, 0x1
- str r4, [sp, 0xC]
- bl sub_800D378
- b _0813CF1C
- .align 2, 0
-_0813CEE4: .4byte gMonFrontPicTable
-_0813CEE8: .4byte gMonFrontPicCoords
-_0813CEEC: .4byte gUnknown_0840B5A0
-_0813CEF0:
- lsls r0, r7, 3
- ldr r1, _0813CF90 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _0813CF94 @ =gMonBackPicCoords
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _0813CF98 @ =gUnknown_0840B5A0
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- str r6, [sp, 0xC]
- bl sub_800D378
-_0813CF1C:
- ldr r2, _0813CF9C @ =0x0000ffff
- adds r0, r7, 0
- movs r1, 0
- bl species_and_otid_get_pal
- mov r6, r8
- lsls r4, r6, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- lsls r1, r6, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_8143648
- ldr r0, _0813CFA0 @ =gUnknown_02024E8C
- mov r3, r9
- lsls r1, r3, 16
- asrs r1, 16
- mov r5, r10
- lsls r2, r5, 16
- asrs r2, 16
- mov r3, r8
- adds r3, 0x1
- lsls r3, 26
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0813CFA4 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r4
- movs r3, 0xD
- negs r3, r3
- ands r1, r3
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x5]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0813CF90: .4byte gMonBackPicTable
-_0813CF94: .4byte gMonBackPicCoords
-_0813CF98: .4byte gUnknown_0840B5A0
-_0813CF9C: .4byte 0x0000ffff
-_0813CFA0: .4byte gUnknown_02024E8C
-_0813CFA4: .4byte gSprites
- thumb_func_end sub_813CE88
-
- thumb_func_start sub_813CFA8
-sub_813CFA8: @ 813CFA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r1
- mov r10, r2
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- lsls r6, 16
- lsrs r6, 16
- lsls r7, r0, 3
- ldr r1, _0813D068 @ =gTrainerBackPicTable
- mov r8, r1
- add r8, r7
- ldr r1, _0813D06C @ =gTrainerBackPicCoords
- lsls r2, r0, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r5, _0813D070 @ =gUnknown_0840B5A0
- lsls r4, r6, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r8
- bl DecompressPicFromTable_2
- ldr r0, _0813D074 @ =gTrainerBackPicPaletteTable
- adds r0, r7, r0
- ldr r0, [r0]
- lsls r4, r6, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- lsls r1, r6, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8143680
- ldr r0, _0813D078 @ =gUnknown_02024E8C
- ldr r1, _0813D07C @ =gUnknown_0840B064
- str r1, [r0, 0x8]
- mov r1, r9
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- mov r2, r10
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0813D080 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r4
- movs r3, 0xD
- negs r3, r3
- ands r1, r3
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x5]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0813D068: .4byte gTrainerBackPicTable
-_0813D06C: .4byte gTrainerBackPicCoords
-_0813D070: .4byte gUnknown_0840B5A0
-_0813D074: .4byte gTrainerBackPicPaletteTable
-_0813D078: .4byte gUnknown_02024E8C
-_0813D07C: .4byte gUnknown_0840B064
-_0813D080: .4byte gSprites
- thumb_func_end sub_813CFA8
-
- thumb_func_start sub_813D084
-sub_813D084: @ 813D084
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813D0A0
- cmp r0, 0x1
- ble _0813D096
- cmp r0, 0x2
- beq _0813D0A8
-_0813D096:
- ldr r2, _0813D09C @ =0x00003ff6
- b _0813D0AA
- .align 2, 0
-_0813D09C: .4byte 0x00003ff6
-_0813D0A0:
- ldr r2, _0813D0A4 @ =0x000031df
- b _0813D0AA
- .align 2, 0
-_0813D0A4: .4byte 0x000031df
-_0813D0A8:
- ldr r2, _0813D0C0 @ =0x0000518c
-_0813D0AA:
- ldr r0, _0813D0C4 @ =gPlttBufferUnfaded
- movs r1, 0xF1
- lsls r1, 1
- adds r0, r1
- strh r2, [r0]
- ldr r0, _0813D0C8 @ =gPlttBufferFaded
- adds r0, r1
- strh r2, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0813D0C0: .4byte 0x0000518c
-_0813D0C4: .4byte gPlttBufferUnfaded
-_0813D0C8: .4byte gPlttBufferFaded
- thumb_func_end sub_813D084
-
- thumb_func_start sub_813D0CC
-sub_813D0CC: @ 813D0CC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0xBF
- ble _0813D148
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813D0EA
- subs r0, r1, 0x1
- strh r0, [r4, 0x34]
- b _0813D14E
-_0813D0EA:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x32]
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 5
- subs r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4, 0x32]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- adds r0, r1, 0
- subs r0, 0xC0
- cmp r0, 0
- bge _0813D12C
- adds r0, 0x7F
-_0813D12C:
- asrs r0, 7
- adds r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _0813D13A
- movs r0, 0xF
-_0813D13A:
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- b _0813D14E
-_0813D148:
- adds r0, r4, 0
- bl DestroySprite
-_0813D14E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813D0CC
-
- thumb_func_start sub_813D158
-sub_813D158: @ 813D158
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, _0813D1CC @ =gSprites
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r3, 0x3C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0813D1D4
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 3
- strh r0, [r4, 0x34]
- ldr r0, _0813D1D0 @ =sub_813D0CC
- str r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x2
- bl CalcCenterToCornerVec
- b _0813D200
- .align 2, 0
-_0813D1CC: .4byte gSprites
-_0813D1D0: .4byte sub_813D0CC
-_0813D1D4:
- ldrh r0, [r1, 0x24]
- strh r0, [r4, 0x24]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x26]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x20]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x22]
-_0813D200:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813D158
-
- thumb_func_start sub_813D208
-sub_813D208: @ 813D208
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0813D218
- ldr r0, _0813D21C @ =sub_813D220
- str r0, [r1, 0x1C]
-_0813D218:
- pop {r0}
- bx r0
- .align 2, 0
-_0813D21C: .4byte sub_813D220
- thumb_func_end sub_813D208
-
- thumb_func_start sub_813D220
-sub_813D220: @ 813D220
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r0, 0
- ldrh r4, [r7, 0x20]
- movs r1, 0x20
- ldrsh r0, [r7, r1]
- cmp r0, 0x74
- bgt _0813D260
- ldrh r0, [r7, 0x26]
- ldrh r1, [r7, 0x22]
- adds r0, r1
- movs r1, 0
- strh r0, [r7, 0x22]
- strh r1, [r7, 0x26]
- adds r0, r4, 0x4
- strh r0, [r7, 0x20]
- ldr r0, _0813D258 @ =0x0000fffc
- strh r0, [r7, 0x24]
- movs r0, 0x80
- strh r0, [r7, 0x36]
- ldr r0, _0813D25C @ =sub_813D368
- str r0, [r7, 0x1C]
- b _0813D352
- .align 2, 0
-_0813D258: .4byte 0x0000fffc
-_0813D25C: .4byte sub_813D368
-_0813D260:
- ldrh r1, [r7, 0x36]
- ldr r5, _0813D364 @ =gSineTable
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r2, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r3, [r0]
- adds r1, 0x2
- strh r1, [r7, 0x36]
- lsls r2, 16
- asrs r0, r2, 16
- cmp r0, 0
- bge _0813D286
- adds r0, 0x1F
-_0813D286:
- asrs r0, 5
- strh r0, [r7, 0x26]
- subs r0, r4, 0x1
- strh r0, [r7, 0x20]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813D29C
- ldrh r0, [r7, 0x22]
- adds r0, 0x1
- strh r0, [r7, 0x22]
-_0813D29C:
- lsls r0, r3, 16
- asrs r0, 16
- negs r0, r0
- cmp r0, 0
- bge _0813D2A8
- adds r0, 0xF
-_0813D2A8:
- lsls r1, r0, 12
- lsrs r1, 16
- ldrh r4, [r7, 0x32]
- ldrh r3, [r7, 0x34]
- adds r0, r1, 0
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r2, [r0]
- adds r1, 0x30
- lsls r1, 24
- lsrs r1, 23
- adds r1, r5
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r1, 0
- muls r0, r4
- cmp r0, 0
- bge _0813D2D2
- adds r0, 0xFF
-_0813D2D2:
- lsls r0, 8
- lsrs r0, 16
- mov r8, r0
- lsls r0, r2, 16
- asrs r2, r0, 16
- negs r0, r2
- muls r0, r3
- cmp r0, 0
- bge _0813D2E6
- adds r0, 0xFF
-_0813D2E6:
- lsls r0, 8
- lsrs r0, 16
- mov r10, r0
- adds r0, r2, 0
- muls r0, r4
- cmp r0, 0
- bge _0813D2F6
- adds r0, 0xFF
-_0813D2F6:
- lsls r0, 8
- lsrs r5, r0, 16
- adds r0, r1, 0
- muls r0, r3
- cmp r0, 0
- bge _0813D304
- adds r0, 0xFF
-_0813D304:
- lsls r6, r0, 8
- lsrs r6, 16
- ldrh r0, [r7, 0x30]
- lsls r0, 24
- lsrs r0, 24
- str r3, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r0, [r7, 0x30]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r5
- mov r1, r10
- lsls r5, r1, 16
- lsrs r3, r5, 16
- lsls r4, r6, 16
- str r6, [sp]
- mov r1, r8
- mov r2, r9
- bl SetOamMatrix
- ldrh r0, [r7, 0x30]
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 1
- lsrs r5, 16
- lsls r4, 1
- lsrs r4, 16
- str r4, [sp]
- mov r1, r8
- mov r2, r9
- adds r3, r5, 0
- bl SetOamMatrix
-_0813D352:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813D364: .4byte gSineTable
- thumb_func_end sub_813D220
-
- thumb_func_start sub_813D368
-sub_813D368: @ 813D368
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- adds r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- adds r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- adds r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r1, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0x40
- beq _0813D400
- adds r0, r1, 0
- subs r0, 0x8
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x36]
- adds r1, r0, 0
- ldr r2, _0813D3FC @ =gSineTable
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bge _0813D3E2
- adds r0, 0x3F
-_0813D3E2:
- asrs r0, 6
- strh r0, [r4, 0x24]
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _0813D3F6
- adds r0, 0x3F
-_0813D3F6:
- asrs r0, 6
- strh r0, [r4, 0x26]
- b _0813D408
- .align 2, 0
-_0813D3FC: .4byte gSineTable
-_0813D400:
- movs r0, 0
- strh r0, [r4, 0x36]
- ldr r0, _0813D410 @ =sub_813D414
- str r0, [r4, 0x1C]
-_0813D408:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813D410: .4byte sub_813D414
- thumb_func_end sub_813D368
-
- thumb_func_start sub_813D414
-sub_813D414: @ 813D414
- push {r4,lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _0813D474
- ldrh r0, [r1, 0x36]
- adds r0, 0x8
- strh r0, [r1, 0x36]
- ldr r3, _0813D470 @ =gSineTable
- lsls r0, 24
- lsrs r0, 23
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bge _0813D438
- adds r0, 0xF
-_0813D438:
- asrs r0, 4
- adds r0, 0x40
- lsls r0, 16
- lsrs r2, r0, 16
- adds r0, r2, 0
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bge _0813D454
- adds r0, 0x3F
-_0813D454:
- asrs r0, 6
- strh r0, [r1, 0x24]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _0813D468
- adds r0, 0x3F
-_0813D468:
- asrs r0, 6
- strh r0, [r1, 0x26]
- b _0813D478
- .align 2, 0
-_0813D470: .4byte gSineTable
-_0813D474:
- ldr r0, _0813D480 @ =sub_813D484
- str r0, [r1, 0x1C]
-_0813D478:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813D480: .4byte sub_813D484
- thumb_func_end sub_813D414
-
- thumb_func_start sub_813D484
-sub_813D484: @ 813D484
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x22]
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _0813D49C
- adds r0, r2, 0x4
- strh r0, [r4, 0x22]
- b _0813D4F8
-_0813D49C:
- movs r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 3
- strh r0, [r4, 0x34]
- ldr r0, _0813D500 @ =sub_813D0CC
- str r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x2
- bl CalcCenterToCornerVec
-_0813D4F8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813D500: .4byte sub_813D0CC
- thumb_func_end sub_813D484
-
- thumb_func_start sub_813D504
-sub_813D504: @ 813D504
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x22]
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _0813D51C
- adds r0, r2, 0x4
- strh r0, [r4, 0x22]
- b _0813D578
-_0813D51C:
- movs r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 3
- strh r0, [r4, 0x34]
- ldr r0, _0813D580 @ =sub_813D0CC
- str r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x2
- bl CalcCenterToCornerVec
-_0813D578:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813D580: .4byte sub_813D0CC
- thumb_func_end sub_813D504
-
- thumb_func_start sub_813D584
-sub_813D584: @ 813D584
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r6, [sp, 0x34]
- ldr r0, [sp, 0x38]
- mov r8, r0
- lsls r4, 16
- lsls r5, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x8]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0xC]
- lsls r6, 16
- lsrs r6, 16
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r0, _0813D640 @ =gSpriteTemplate_840AE20
- lsrs r2, r4, 16
- mov r10, r2
- asrs r4, 16
- lsrs r1, r5, 16
- str r1, [sp, 0x4]
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _0813D644 @ =gSprites
- mov r9, r2
- lsls r0, r7, 4
- adds r0, r7
- lsls r5, r0, 2
- adds r4, r5, r2
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r0, [r4, 0x3C]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- strh r0, [r4, 0x30]
- mov r1, sp
- ldrh r1, [r1, 0x8]
- strh r1, [r4, 0x32]
- mov r2, sp
- ldrh r2, [r2, 0x8]
- strh r2, [r4, 0x34]
- strh r6, [r4, 0x38]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- strh r0, [r4, 0x3A]
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1F
- ldr r1, [sp, 0xC]
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl CalcCenterToCornerVec
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- mov r1, r8
- cmp r1, 0
- bne _0813D64C
- mov r0, r9
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, _0813D648 @ =sub_813D208
- b _0813D654
- .align 2, 0
-_0813D640: .4byte gSpriteTemplate_840AE20
-_0813D644: .4byte gSprites
-_0813D648: .4byte sub_813D208
-_0813D64C:
- mov r0, r9
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, _0813D774 @ =sub_813D504
-_0813D654:
- str r1, [r0]
- str r7, [sp, 0x10]
- mov r2, r10
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- ldr r0, [sp, 0x4]
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- ldr r0, _0813D778 @ =gSpriteTemplate_840AE20
- mov r1, r10
- mov r2, r8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, _0813D77C @ =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r0, r4, r5
- mov r1, sp
- ldrh r1, [r1, 0x10]
- strh r1, [r0, 0x3C]
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- mov r9, r2
- strh r2, [r0, 0x30]
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- mov r2, r9
- movs r1, 0x1F
- ands r2, r1
- lsls r2, 1
- ldrb r3, [r0, 0x3]
- movs r6, 0x3F
- negs r6, r6
- adds r1, r6, 0
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x3]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl CalcCenterToCornerVec
- ldr r2, _0813D780 @ =gSprites + 0x1C
- adds r4, r2
- ldr r0, _0813D784 @ =sub_813D158
- str r0, [r4]
- ldr r0, _0813D778 @ =gSpriteTemplate_840AE20
- mov r1, r10
- mov r2, r8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r5, r4, r5
- mov r1, sp
- ldrh r1, [r1, 0x10]
- strh r1, [r5, 0x3C]
- ldr r2, [sp, 0xC]
- adds r2, 0x2
- mov r8, r2
- strh r2, [r5, 0x30]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrb r0, [r5, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r5, 0x1]
- mov r0, r8
- movs r2, 0x1F
- ands r0, r2
- lsls r0, 1
- ldrb r1, [r5, 0x3]
- ands r6, r1
- orrs r6, r0
- strb r6, [r5, 0x3]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl CalcCenterToCornerVec
- ldr r0, _0813D780 @ =gSprites + 0x1C
- adds r4, r0
- ldr r1, _0813D784 @ =sub_813D158
- str r1, [r4]
- ldr r2, [sp, 0xC]
- lsls r0, r2, 24
- lsrs r0, 24
- ldr r5, [sp, 0x8]
- adds r5, 0x20
- lsls r4, r5, 16
- lsrs r4, 16
- str r4, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- str r4, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 17
- lsrs r5, 16
- str r5, [sp]
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, [sp, 0x10]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0813D774: .4byte sub_813D504
-_0813D778: .4byte gSpriteTemplate_840AE20
-_0813D77C: .4byte gSprites
-_0813D780: .4byte gSprites + 0x1C
-_0813D784: .4byte sub_813D158
- thumb_func_end sub_813D584
-
- thumb_func_start sub_813D788
-sub_813D788: @ 813D788
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _0813D830
- lsls r0, 2
- ldr r1, _0813D7A0 @ =_0813D7A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813D7A0: .4byte _0813D7A4
- .align 2, 0
-_0813D7A4:
- .4byte _0813D7B8
- .4byte _0813D7C6
- .4byte _0813D7E4
- .4byte _0813D80C
- .4byte _0813D816
-_0813D7B8:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
- b _0813D82E
-_0813D7C6:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldr r0, _0813D7E0 @ =gIntroFrameCounter
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0813D87A
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- b _0813D82E
- .align 2, 0
-_0813D7E0: .4byte gIntroFrameCounter
-_0813D7E4:
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- ble _0813D802
- ldr r0, _0813D808 @ =gIntroFrameCounter
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _0813D83C
-_0813D802:
- adds r0, r2, 0x1
- b _0813D82E
- .align 2, 0
-_0813D808: .4byte gIntroFrameCounter
-_0813D80C:
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnimIfDifferent
- b _0813D830
-_0813D816:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _0813D830
- subs r0, r2, 0x2
-_0813D82E:
- strh r0, [r4, 0x20]
-_0813D830:
- ldr r0, _0813D84C @ =gIntroFrameCounter
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0813D87A
-_0813D83C:
- movs r1, 0x26
- ldrsh r5, [r4, r1]
- cmp r5, 0
- beq _0813D850
- movs r0, 0
- strh r0, [r4, 0x26]
- b _0813D87A
- .align 2, 0
-_0813D84C: .4byte gIntroFrameCounter
-_0813D850:
- bl Random
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x1
- beq _0813D878
- cmp r1, 0x1
- bgt _0813D866
- cmp r1, 0
- beq _0813D86E
- b _0813D87A
-_0813D866:
- cmp r1, 0x3
- bgt _0813D87A
- strh r5, [r4, 0x26]
- b _0813D87A
-_0813D86E:
- ldr r0, _0813D874 @ =0x0000ffff
- strh r0, [r4, 0x26]
- b _0813D87A
- .align 2, 0
-_0813D874: .4byte 0x0000ffff
-_0813D878:
- strh r1, [r4, 0x26]
-_0813D87A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813D788
-
- thumb_func_start sub_813D880
-sub_813D880: @ 813D880
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0813D89A
- cmp r0, 0x1
- ble _0813D8E2
- cmp r0, 0x2
- beq _0813D8BA
- cmp r0, 0x3
- beq _0813D8D4
- b _0813D8E2
-_0813D89A:
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- adds r0, r1
- ldr r1, _0813D8B0 @ =0x0000012f
- cmp r0, r1
- bgt _0813D8B4
- ldrh r0, [r4, 0x24]
- adds r0, 0x8
- b _0813D8E0
- .align 2, 0
-_0813D8B0: .4byte 0x0000012f
-_0813D8B4:
- movs r0, 0x2
- strh r0, [r4, 0x2E]
- b _0813D8E2
-_0813D8BA:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- adds r0, r1
- cmp r0, 0x78
- ble _0813D8CE
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- b _0813D8E0
-_0813D8CE:
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- b _0813D8E2
-_0813D8D4:
- ldrh r1, [r4, 0x24]
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0813D8E2
- subs r0, r1, 0x2
-_0813D8E0:
- strh r0, [r4, 0x24]
-_0813D8E2:
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8
- bl Sin
- ldr r1, _0813D904 @ =gUnknown_0203935A
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x4
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813D904: .4byte gUnknown_0203935A
- thumb_func_end sub_813D880
-
- thumb_func_start sub_813D908
-sub_813D908: @ 813D908
- push {lr}
- adds r3, r0, 0
- ldr r2, _0813D930 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0813D934
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0813D94E
- .align 2, 0
-_0813D930: .4byte gTasks
-_0813D934:
- cmp r0, 0x4
- beq _0813D948
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _0813D94E
-_0813D948:
- adds r0, r3, 0
- bl DestroySprite
-_0813D94E:
- pop {r0}
- bx r0
- thumb_func_end sub_813D908
-
- thumb_func_start sub_813D954
-sub_813D954: @ 813D954
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- movs r5, 0
- ldr r7, _0813DA48 @ =gUnknown_0840AF50
- lsls r0, 16
- mov r9, r0
- lsls r0, r6, 16
- str r0, [sp, 0x4]
- mov r1, r9
- asrs r1, 16
- str r1, [sp]
-_0813D97C:
- lsls r4, r5, 2
- adds r0, r7, 0x2
- adds r0, r4, r0
- ldrh r1, [r0]
- ldr r2, [sp]
- adds r1, r2, r1
- lsls r1, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r3, r2, 16
- mov r10, r3
- ldr r0, _0813DA4C @ =0xfffc0000
- adds r2, r0
- ldr r0, _0813DA50 @ =gSpriteTemplate_840AF94
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0813DA54 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- mov r1, r8
- strh r1, [r0, 0x2E]
- adds r4, r7
- ldrb r1, [r4]
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x8
- bls _0813D97C
- movs r5, 0
- ldr r7, _0813DA58 @ =gUnknown_0840AF74
- mov r0, r10
- adds r0, 0xC
- lsls r0, 16
- mov r10, r0
-_0813D9D0:
- lsls r4, r5, 2
- adds r0, r7, 0x2
- adds r0, r4, r0
- mov r2, r9
- asrs r1, r2, 16
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0813DA5C @ =gSpriteTemplate_840AFAC
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r6, _0813DA54 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x2E]
- adds r4, r7
- ldrb r1, [r4]
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _0813D9D0
- ldr r0, _0813DA60 @ =gSpriteTemplate_840AFC4
- ldr r3, [sp, 0x4]
- ldr r1, _0813DA4C @ =0xfffc0000
- adds r2, r3, r1
- asrs r2, 16
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r6
- mov r3, r8
- strh r3, [r0, 0x2E]
- adds r0, r2, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0813DA48: .4byte gUnknown_0840AF50
-_0813DA4C: .4byte 0xfffc0000
-_0813DA50: .4byte gSpriteTemplate_840AF94
-_0813DA54: .4byte gSprites
-_0813DA58: .4byte gUnknown_0840AF74
-_0813DA5C: .4byte gSpriteTemplate_840AFAC
-_0813DA60: .4byte gSpriteTemplate_840AFC4
- thumb_func_end sub_813D954
-
- thumb_func_start sub_813DA64
-sub_813DA64: @ 813DA64
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813DA7C
- cmp r0, 0x1
- beq _0813DAC0
-_0813DA7C:
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x80
- strh r0, [r4, 0x30]
- ldr r0, _0813DABC @ =0x0000ffe8
- strh r0, [r4, 0x32]
- movs r0, 0
- b _0813DB92
- .align 2, 0
-_0813DABC: .4byte 0x0000ffe8
-_0813DAC0:
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0x4F
- bgt _0813DAF8
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0x78
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8C
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- ble _0813DAF8
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
-_0813DAF8:
- ldr r2, _0813DB60 @ =gSineTable
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r2
- ldrh r3, [r0]
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 23
- adds r1, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- adds r1, r0, 0
- muls r1, r2
- adds r0, r1, 0
- cmp r1, 0
- bge _0813DB20
- adds r0, 0xFF
-_0813DB20:
- lsls r0, 8
- lsrs r6, r0, 16
- lsls r0, r3, 16
- asrs r3, r0, 16
- negs r0, r3
- muls r0, r2
- cmp r0, 0
- bge _0813DB32
- adds r0, 0xFF
-_0813DB32:
- lsls r0, 8
- lsrs r5, r0, 16
- adds r0, r3, 0
- muls r0, r2
- cmp r0, 0
- bge _0813DB40
- adds r0, 0xFF
-_0813DB40:
- lsls r0, 8
- lsrs r2, r0, 16
- adds r1, r6, 0
- adds r3, r5, 0
- str r1, [sp]
- movs r0, 0x1
- bl SetOamMatrix
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- bgt _0813DB64
- adds r0, r1, 0
- adds r0, 0x8
- b _0813DB68
- .align 2, 0
-_0813DB60: .4byte gSineTable
-_0813DB64:
- adds r0, r1, 0
- adds r0, 0x20
-_0813DB68:
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x17
- bgt _0813DB78
- adds r0, r1, 0x1
- strh r0, [r4, 0x32]
-_0813DB78:
- ldrh r2, [r4, 0x34]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- bgt _0813DB86
- adds r0, r2, 0x2
- b _0813DB92
-_0813DB86:
- ldrh r1, [r4, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0813DB94
- adds r0, r2, 0x1
-_0813DB92:
- strh r0, [r4, 0x34]
-_0813DB94:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813DA64
-
- thumb_func_start sub_813DB9C
-sub_813DB9C: @ 813DB9C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _0813DBCC
- lsls r0, 2
- ldr r1, _0813DBB4 @ =_0813DBB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813DBB4: .4byte _0813DBB8
- .align 2, 0
-_0813DBB8:
- .4byte _0813DBCC
- .4byte _0813DBF2
- .4byte _0813DC24
- .4byte _0813DC3E
- .4byte _0813DCAA
-_0813DBCC:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813DBE0
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- b _0813DBEC
-_0813DBE0:
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
-_0813DBEC:
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_0813DBF2:
- ldrh r1, [r4, 0x22]
- movs r3, 0x22
- ldrsh r0, [r4, r3]
- cmp r0, 0x60
- ble _0813DC18
- subs r0, r1, 0x4
- strh r0, [r4, 0x22]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813DC10
- ldrh r0, [r4, 0x20]
- adds r0, 0x2
- strh r0, [r4, 0x20]
- b _0813DD4E
-_0813DC10:
- ldrh r0, [r4, 0x20]
- subs r0, 0x2
- strh r0, [r4, 0x20]
- b _0813DD4E
-_0813DC18:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x8
- strh r0, [r4, 0x34]
- b _0813DD4E
-_0813DC24:
- ldrh r0, [r4, 0x34]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _0813DC34
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _0813DD4E
-_0813DC34:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x34]
- b _0813DD4E
-_0813DC3E:
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r3, 0x30
- ldrsh r1, [r4, r3]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813DC8A
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xFF
- lsls r1, 8
- movs r2, 0x80
- lsls r2, 1
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _0813DC9E
-_0813DC8A:
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 1
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
-_0813DC9E:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x36]
- b _0813DD4E
-_0813DCAA:
- ldrh r0, [r4, 0x36]
- adds r2, r0, 0x1
- strh r2, [r4, 0x36]
- movs r3, 0x22
- ldrsh r0, [r4, r3]
- movs r3, 0x26
- ldrsh r1, [r4, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _0813DD48
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r3, 0x24
- ldrsh r1, [r4, r3]
- adds r0, r1
- movs r1, 0x40
- negs r1, r1
- cmp r0, r1
- ble _0813DD48
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- adds r3, r0, 0
- muls r3, r0
- adds r0, r3, 0
- negs r0, r0
- cmp r0, 0
- bge _0813DCE6
- adds r0, 0x7
-_0813DCE6:
- asrs r0, 3
- strh r0, [r4, 0x26]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- ldrh r3, [r4, 0x32]
- cmp r0, 0
- beq _0813DCFA
- ldrh r0, [r4, 0x24]
- adds r0, r2
- b _0813DCFE
-_0813DCFA:
- ldrh r0, [r4, 0x24]
- subs r0, r2
-_0813DCFE:
- strh r0, [r4, 0x24]
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0x7F
- bgt _0813DD10
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r4, 0x34]
-_0813DD10:
- ldrh r0, [r4, 0x34]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r0, r3, 16
- cmp r0, 0
- beq _0813DD34
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- negs r1, r2
- lsls r1, 16
- lsrs r1, 16
- str r2, [sp]
- b _0813DD3E
-_0813DD34:
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- str r2, [sp]
- adds r1, r2, 0
-_0813DD3E:
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _0813DD4E
-_0813DD48:
- adds r0, r4, 0
- bl DestroySprite
-_0813DD4E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813DB9C
-
- thumb_func_start sub_813DD58
-sub_813DD58: @ 813DD58
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0813DDAE
- cmp r0, 0x1
- ble _0813DD72
- cmp r0, 0x2
- beq _0813DE66
- cmp r0, 0x3
- beq _0813DE26
-_0813DD72:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r4, 0x34]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_0813DDAE:
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- movs r2, 0x80
- lsls r2, 1
- cmp r0, r2
- ble _0813DDEE
- subs r1, 0x80
- strh r1, [r4, 0x34]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813DDDA
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r4, 0x34]
- str r2, [sp]
- b _0813DDE4
-_0813DDDA:
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x34]
- str r1, [sp]
-_0813DDE4:
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _0813DE66
-_0813DDEE:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813DE0C
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xFF
- lsls r1, 8
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _0813DE1E
-_0813DE0C:
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- str r2, [sp]
- adds r1, r2, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
-_0813DE1E:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0813DE66
-_0813DE26:
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- adds r1, r0, 0
- muls r1, r0
- adds r0, r1, 0
- cmp r0, 0
- bge _0813DE3C
- adds r0, 0x1F
-_0813DE3C:
- asrs r0, 5
- strh r0, [r4, 0x26]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813DE56
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _0813DE52
- adds r0, 0x3
-_0813DE52:
- asrs r0, 2
- b _0813DE64
-_0813DE56:
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _0813DE60
- adds r0, 0x3
-_0813DE60:
- asrs r0, 2
- negs r0, r0
-_0813DE64:
- strh r0, [r4, 0x24]
-_0813DE66:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813DD58
-
- thumb_func_start sub_813DE70
-sub_813DE70: @ 813DE70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r7, r1]
- cmp r0, 0x6
- bhi _0813DEB0
- lsls r0, 2
- ldr r1, _0813DE90 @ =_0813DE94
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813DE90: .4byte _0813DE94
- .align 2, 0
-_0813DE94:
- .4byte _0813DEB0
- .4byte _0813E0F8
- .4byte _0813DEF4
- .4byte _0813DF2C
- .4byte _0813DF54
- .4byte _0813E0A8
- .4byte _0813E0D0
-_0813DEB0:
- ldrh r1, [r7, 0x20]
- movs r2, 0x20
- ldrsh r0, [r7, r2]
- cmp r0, 0x28
- ble _0813DEC0
- subs r0, r1, 0x4
- strh r0, [r7, 0x20]
- b _0813E0F8
-_0813DEC0:
- adds r0, r7, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r4, _0813DEF0 @ =gSpriteTemplate_840B084
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x68
- movs r3, 0x64
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x3A]
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0x6A
- movs r3, 0x65
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x3C]
- b _0813DF42
- .align 2, 0
-_0813DEF0: .4byte gSpriteTemplate_840B084
-_0813DEF4:
- adds r0, r7, 0
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r2, _0813DF28 @ =gSprites
- movs r3, 0x3A
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldrh r0, [r7, 0x2E]
- adds r0, 0x1
- strh r0, [r7, 0x2E]
- b _0813E0F8
- .align 2, 0
-_0813DF28: .4byte gSprites
-_0813DF2C:
- ldrh r1, [r7, 0x22]
- movs r2, 0x22
- ldrsh r0, [r7, r2]
- cmp r0, 0xA0
- ble _0813DF48
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0813DF42:
- movs r0, 0x1
- strh r0, [r7, 0x2E]
- b _0813E0F8
-_0813DF48:
- adds r0, r1, 0x2
- strh r0, [r7, 0x22]
- ldrh r0, [r7, 0x20]
- subs r0, 0x1
- strh r0, [r7, 0x20]
- b _0813E0F8
-_0813DF54:
- ldr r6, _0813E094 @ =gSprites
- movs r3, 0x3A
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r5, [r0, 0x24]
- ldrh r1, [r0, 0x20]
- adds r5, r1
- lsls r5, 16
- lsrs r5, 16
- ldrh r4, [r0, 0x26]
- ldrh r2, [r0, 0x22]
- adds r4, r2
- lsls r4, 16
- lsrs r4, 16
- bl DestroySprite
- movs r0, 0x8C
- lsls r0, 1
- lsls r5, 16
- asrs r1, r5, 16
- lsls r4, 16
- asrs r2, r4, 16
- movs r3, 0x1
- mov r8, r3
- str r3, [sp]
- movs r3, 0x2
- bl sub_813CE88
- strh r0, [r7, 0x3A]
- movs r0, 0x3A
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0813E098 @ =gSprites + 0x1C
- adds r0, r1
- ldr r2, _0813E09C @ =sub_813DD58
- mov r10, r2
- str r2, [r0]
- movs r3, 0x3A
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- mov r9, r2
- mov r3, r9
- orrs r1, r3
- strb r1, [r0]
- movs r0, 0x3A
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x30]
- movs r2, 0x3A
- ldrsh r1, [r7, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r3, r8
- strh r3, [r0, 0x32]
- lsrs r5, 16
- lsrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_813E580
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r5, [r0, 0x24]
- ldrh r1, [r0, 0x20]
- adds r5, r1
- lsls r5, 16
- lsrs r5, 16
- ldrh r4, [r0, 0x26]
- ldrh r2, [r0, 0x22]
- adds r4, r2
- lsls r4, 16
- lsrs r4, 16
- bl DestroySprite
- ldr r0, _0813E0A0 @ =0x0000011b
- lsls r5, 16
- asrs r1, r5, 16
- lsls r4, 16
- asrs r2, r4, 16
- mov r3, r8
- str r3, [sp]
- movs r3, 0x3
- bl sub_813CE88
- strh r0, [r7, 0x3C]
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0813E098 @ =gSprites + 0x1C
- adds r0, r1
- mov r2, r10
- str r2, [r0]
- movs r3, 0x3C
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- mov r2, r9
- orrs r1, r2
- strb r1, [r0]
- movs r3, 0x3C
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- strh r1, [r0, 0x30]
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- strh r1, [r0, 0x32]
- lsrs r5, 16
- lsrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_813E580
- movs r0, 0xFF
- lsls r0, 16
- ldr r1, _0813E0A4 @ =0x00007eff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl BeginNormalPaletteFade
- mov r2, r8
- strh r2, [r7, 0x2E]
- b _0813E0F8
- .align 2, 0
-_0813E094: .4byte gSprites
-_0813E098: .4byte gSprites + 0x1C
-_0813E09C: .4byte sub_813DD58
-_0813E0A0: .4byte 0x0000011b
-_0813E0A4: .4byte 0x00007eff
-_0813E0A8:
- ldr r3, _0813E0CC @ =gSprites
- movs r0, 0x3A
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0x3
- strh r2, [r0, 0x2E]
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x2E]
- b _0813E0F8
- .align 2, 0
-_0813E0CC: .4byte gSprites
-_0813E0D0:
- movs r2, 0x3A
- ldrsh r1, [r7, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0813E108 @ =gSprites
- adds r0, r4
- bl DestroySprite
- movs r3, 0x3C
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r0, r7, 0
- bl DestroySprite
-_0813E0F8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E108: .4byte gSprites
- thumb_func_end sub_813DE70
-
- thumb_func_start sub_813E10C
-sub_813E10C: @ 813E10C
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0x4
- bhi _0813E13C
- lsls r0, 2
- ldr r1, _0813E124 @ =_0813E128
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813E124: .4byte _0813E128
- .align 2, 0
-_0813E128:
- .4byte _0813E13C
- .4byte _0813E178
- .4byte _0813E1A6
- .4byte _0813E1C2
- .4byte _0813E1D6
-_0813E13C:
- ldrh r4, [r3, 0x24]
- movs r2, 0x24
- ldrsh r1, [r3, r2]
- movs r0, 0x38
- negs r0, r0
- cmp r1, r0
- ble _0813E158
- adds r0, r4, 0
- subs r0, 0x8
- strh r0, [r3, 0x24]
- ldrh r0, [r3, 0x26]
- adds r0, 0x6
- strh r0, [r3, 0x26]
- b _0813E208
-_0813E158:
- ldrh r0, [r3, 0x20]
- movs r2, 0
- strh r0, [r3, 0x3A]
- ldrh r1, [r3, 0x22]
- strh r1, [r3, 0x3C]
- adds r0, r4
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x26]
- adds r1, r0
- strh r1, [r3, 0x22]
- strh r2, [r3, 0x24]
- strh r2, [r3, 0x26]
- movs r0, 0x1
- strh r0, [r3, 0x2E]
- strh r2, [r3, 0x30]
- b _0813E208
-_0813E178:
- ldrh r1, [r3, 0x30]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0813E1A0
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _0813E19C
- ldr r0, _0813E198 @ =0x0000ffff
- strh r0, [r3, 0x24]
- strh r2, [r3, 0x26]
- b _0813E1A0
- .align 2, 0
-_0813E198: .4byte 0x0000ffff
-_0813E19C:
- strh r0, [r3, 0x24]
- strh r0, [r3, 0x26]
-_0813E1A0:
- adds r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _0813E208
-_0813E1A6:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x3A]
- movs r1, 0
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x3C]
- strh r0, [r3, 0x22]
- strh r1, [r3, 0x24]
- strh r1, [r3, 0x26]
- b _0813E208
-_0813E1C2:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
-_0813E1D6:
- ldrh r2, [r3, 0x24]
- movs r0, 0x24
- ldrsh r1, [r3, r0]
- movs r0, 0x38
- negs r0, r0
- cmp r1, r0
- ble _0813E1F0
- subs r0, r2, 0x4
- strh r0, [r3, 0x24]
- ldrh r0, [r3, 0x26]
- adds r0, 0x3
- strh r0, [r3, 0x26]
- b _0813E208
-_0813E1F0:
- ldrh r1, [r3, 0x20]
- adds r0, r2, r1
- movs r1, 0
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x26]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r3, 0x22]
- strh r1, [r3, 0x24]
- strh r1, [r3, 0x26]
- movs r0, 0x1
- strh r0, [r3, 0x2E]
-_0813E208:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813E10C
-
- thumb_func_start sub_813E210
-sub_813E210: @ 813E210
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0x4
- bhi _0813E240
- lsls r0, 2
- ldr r1, _0813E228 @ =_0813E22C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813E228: .4byte _0813E22C
- .align 2, 0
-_0813E22C:
- .4byte _0813E240
- .4byte _0813E278
- .4byte _0813E2A6
- .4byte _0813E2C2
- .4byte _0813E2D6
-_0813E240:
- ldrh r4, [r3, 0x24]
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- cmp r0, 0x37
- bgt _0813E258
- adds r0, r4, 0
- adds r0, 0x8
- strh r0, [r3, 0x24]
- ldrh r0, [r3, 0x26]
- subs r0, 0x6
- strh r0, [r3, 0x26]
- b _0813E304
-_0813E258:
- ldrh r0, [r3, 0x20]
- movs r2, 0
- strh r0, [r3, 0x3A]
- ldrh r1, [r3, 0x22]
- strh r1, [r3, 0x3C]
- adds r0, r4
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x26]
- adds r1, r0
- strh r1, [r3, 0x22]
- strh r2, [r3, 0x24]
- strh r2, [r3, 0x26]
- movs r0, 0x1
- strh r0, [r3, 0x2E]
- strh r2, [r3, 0x30]
- b _0813E304
-_0813E278:
- ldrh r1, [r3, 0x30]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0813E2A0
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _0813E29C
- strh r2, [r3, 0x24]
- ldr r0, _0813E298 @ =0x0000ffff
- b _0813E29E
- .align 2, 0
-_0813E298: .4byte 0x0000ffff
-_0813E29C:
- strh r0, [r3, 0x24]
-_0813E29E:
- strh r0, [r3, 0x26]
-_0813E2A0:
- adds r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _0813E304
-_0813E2A6:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x3A]
- movs r1, 0
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x3C]
- strh r0, [r3, 0x22]
- strh r1, [r3, 0x24]
- strh r1, [r3, 0x26]
- b _0813E304
-_0813E2C2:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
-_0813E2D6:
- ldrh r1, [r3, 0x24]
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- cmp r0, 0x37
- bgt _0813E2EC
- adds r0, r1, 0x4
- strh r0, [r3, 0x24]
- ldrh r0, [r3, 0x26]
- subs r0, 0x3
- strh r0, [r3, 0x26]
- b _0813E304
-_0813E2EC:
- ldrh r2, [r3, 0x20]
- adds r0, r1, r2
- movs r1, 0
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x26]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r3, 0x22]
- strh r1, [r3, 0x24]
- strh r1, [r3, 0x26]
- movs r0, 0x1
- strh r0, [r3, 0x2E]
-_0813E304:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813E210
-
- thumb_func_start sub_813E30C
-sub_813E30C: @ 813E30C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- bls _0813E322
- b _0813E4AC
-_0813E322:
- lsls r0, 2
- ldr r1, _0813E32C @ =_0813E330
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813E32C: .4byte _0813E330
- .align 2, 0
-_0813E330:
- .4byte _0813E4AC
- .4byte _0813E384
- .4byte _0813E41C
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E3A8
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E4AC
- .4byte _0813E440
-_0813E384:
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x3]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- movs r0, 0x24
- strh r0, [r4, 0x36]
-_0813E3A8:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x90
- bgt _0813E3D2
- adds r0, r1, 0x4
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- subs r0, 0x1
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x18
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- strh r0, [r4, 0x32]
-_0813E3D2:
- ldrh r0, [r4, 0x34]
- ldrh r2, [r4, 0x36]
- subs r0, r2
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x3C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813E3EE
- lsls r0, r2, 16
- cmp r0, 0
- beq _0813E3EE
- subs r0, r2, 0x1
- strh r0, [r4, 0x36]
-_0813E3EE:
- ldr r2, _0813E418 @ =gSineTable
- ldrh r1, [r4, 0x34]
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r2
- ldrh r4, [r0]
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 23
- adds r1, r2
- ldrh r1, [r1]
- negs r3, r4
- lsls r3, 16
- lsrs r3, 16
- str r1, [sp]
- movs r0, 0x1
- adds r2, r4, 0
- bl SetOamMatrix
- b _0813E4AC
- .align 2, 0
-_0813E418: .4byte gSineTable
-_0813E41C:
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- movs r0, 0x24
- strh r0, [r4, 0x36]
-_0813E440:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x60
- bgt _0813E46A
- adds r0, r1, 0x3
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- subs r0, 0x1
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x18
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- strh r0, [r4, 0x32]
-_0813E46A:
- ldrh r0, [r4, 0x34]
- ldrh r2, [r4, 0x36]
- subs r0, r2
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x3C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813E486
- lsls r0, r2, 16
- cmp r0, 0
- beq _0813E486
- subs r0, r2, 0x1
- strh r0, [r4, 0x36]
-_0813E486:
- ldr r2, _0813E4B4 @ =gSineTable
- ldrh r1, [r4, 0x34]
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r2
- ldrh r4, [r0]
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 23
- adds r1, r2
- ldrh r1, [r1]
- negs r3, r4
- lsls r3, 16
- lsrs r3, 16
- str r1, [sp]
- movs r0, 0x2
- adds r2, r4, 0
- bl SetOamMatrix
-_0813E4AC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E4B4: .4byte gSineTable
- thumb_func_end sub_813E30C
-
- thumb_func_start sub_813E4B8
-sub_813E4B8: @ 813E4B8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813E4DA
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- b _0813E4E4
-_0813E4DA:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
-_0813E4E4:
- strb r0, [r2]
- ldrh r1, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r0, 0x3F
- ble _0813E4F8
- adds r0, r5, 0
- bl DestroySprite
- b _0813E574
-_0813E4F8:
- adds r0, r1, 0x2
- strh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x28
- bl Sin
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r0, 29
- lsrs r0, 24
- lsls r4, 16
- asrs r4, 16
- adds r1, r4, 0
- bl Cos
- strh r0, [r5, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- lsls r0, 29
- lsrs r0, 24
- adds r1, r4, 0
- bl Sin
- strh r0, [r5, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0813E574
- ldrh r0, [r5, 0x34]
- ldrh r2, [r5, 0x30]
- subs r0, r2
- strh r0, [r5, 0x34]
- ldrh r1, [r5, 0x3C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813E550
- lsls r0, r2, 16
- cmp r0, 0
- beq _0813E550
- subs r0, r2, 0x1
- strh r0, [r5, 0x30]
-_0813E550:
- ldr r3, _0813E57C @ =gSineTable
- ldrh r1, [r5, 0x34]
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r3
- ldrh r2, [r0]
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 23
- adds r1, r3
- ldrh r1, [r1]
- negs r3, r2
- lsls r3, 16
- lsrs r3, 16
- str r1, [sp]
- movs r0, 0x10
- bl SetOamMatrix
-_0813E574:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E57C: .4byte gSineTable
- thumb_func_end sub_813E4B8
-
- thumb_func_start sub_813E580
-sub_813E580: @ 813E580
- push {r4-r7,lr}
- movs r4, 0
- ldr r7, _0813E5D8 @ =gSprites
- lsls r6, r0, 16
- lsls r5, r1, 16
-_0813E58A:
- ldr r0, _0813E5DC @ =gSpriteTemplate_840B0B0
- asrs r1, r6, 16
- asrs r2, r5, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrb r1, [r2, 0x1]
- movs r3, 0x4
- negs r3, r3
- adds r0, r3, 0
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r2, 0x1]
- ldrb r1, [r2, 0x3]
- subs r3, 0x3B
- adds r0, r3, 0
- ands r1, r0
- movs r0, 0x20
- orrs r1, r0
- strb r1, [r2, 0x3]
- strh r4, [r2, 0x2E]
- movs r0, 0x20
- strh r0, [r2, 0x30]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _0813E58A
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E5D8: .4byte gSprites
-_0813E5DC: .4byte gSpriteTemplate_840B0B0
- thumb_func_end sub_813E580
-
- thumb_func_start sub_813E5E0
-sub_813E5E0: @ 813E5E0
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _0813E5F4 @ =gUnknown_0203931A
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813E5F8
- adds r0, r3, 0
- bl DestroySprite
- b _0813E6B2
- .align 2, 0
-_0813E5F4: .4byte gUnknown_0203931A
-_0813E5F8:
- ldr r2, _0813E6B8 @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r1, 0x4
- ands r1, r0
- mov r4, r12
- ldrb r2, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldrh r1, [r3, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r3, r2]
- cmp r0, 0xB
- bgt _0813E630
- adds r0, r1, 0x1
- strh r0, [r3, 0x3C]
-_0813E630:
- ldrh r0, [r3, 0x3A]
- adds r0, 0x4
- strh r0, [r3, 0x3A]
- ldr r4, _0813E6BC @ =gSineTable
- ldrh r0, [r3, 0x34]
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0x3A
- ldrsh r0, [r3, r2]
- muls r0, r1
- cmp r0, 0
- bge _0813E652
- adds r0, 0xFF
-_0813E652:
- asrs r0, 8
- ldrh r1, [r3, 0x36]
- adds r0, r1
- strh r0, [r3, 0x20]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0x3A
- ldrsh r0, [r3, r2]
- muls r0, r1
- cmp r0, 0
- bge _0813E674
- adds r0, 0xFF
-_0813E674:
- asrs r0, 8
- ldrh r1, [r3, 0x38]
- adds r2, r0, r1
- strh r2, [r3, 0x22]
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r4, 0x3C
- ldrsh r0, [r3, r4]
- muls r0, r1
- cmp r0, 0
- bge _0813E696
- adds r0, 0xFF
-_0813E696:
- asrs r0, 8
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x30]
- adds r0, 0x10
- strh r0, [r3, 0x30]
- lsls r0, r2, 16
- asrs r0, 16
- movs r2, 0x32
- ldrsh r1, [r3, r2]
- cmp r0, r1
- ble _0813E6B2
- adds r0, r3, 0
- bl DestroySprite
-_0813E6B2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E6B8: .4byte gSprites
-_0813E6BC: .4byte gSineTable
- thumb_func_end sub_813E5E0
-
- thumb_func_start sub_813E6C0
-sub_813E6C0: @ 813E6C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, _0813E6E0 @ =gUnknown_0203931A
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813E6E4
- adds r0, r4, 0
- bl DestroySprite
- b _0813E7A8
- .align 2, 0
-_0813E6E0: .4byte gUnknown_0203931A
-_0813E6E4:
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r3, _0813E7B8 @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r3
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _0813E7A8
- ldrh r1, [r4, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0813E7A8
- ldrh r0, [r2, 0x20]
- ldrh r7, [r4, 0x30]
- adds r0, r7
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- ldrh r0, [r2, 0x22]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- movs r5, 0
- mov r8, r3
- ldr r2, [sp]
- lsls r2, 16
- mov r10, r2
- lsls r7, r6, 16
- mov r9, r7
-_0813E73A:
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x43
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _0813E7BC @ =gSpriteTemplate_840B0DC
- mov r2, r10
- asrs r1, r2, 16
- mov r7, r9
- asrs r2, r7, 16
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0813E79E
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- add r3, r8
- ldrh r0, [r4, 0x2E]
- strh r0, [r3, 0x2E]
- ldrh r1, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 18
- movs r0, 0x7
- ands r1, r0
- lsls r1, 5
- lsls r0, r5, 2
- adds r0, r5
- lsls r2, r0, 4
- adds r0, r2
- adds r1, r0
- strh r1, [r3, 0x30]
- ldrh r0, [r4, 0x34]
- strh r0, [r3, 0x32]
- movs r0, 0x68
- strh r0, [r3, 0x34]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r3, 0x36]
- strh r6, [r3, 0x38]
- movs r1, 0
- strh r1, [r3, 0x3A]
-_0813E79E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _0813E73A
-_0813E7A8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E7B8: .4byte gSprites
-_0813E7BC: .4byte gSpriteTemplate_840B0DC
- thumb_func_end sub_813E6C0
-
- thumb_func_start sub_813E7C0
-sub_813E7C0: @ 813E7C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813E7F8 @ =gSpriteTemplate_840B0F4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0813E7F2
- ldr r1, _0813E7FC @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r2, 0
- strh r4, [r0, 0x2E]
- ldr r1, _0813E800 @ =0x0000fff4
- strh r1, [r0, 0x30]
- strh r2, [r0, 0x32]
- movs r1, 0x88
- strh r1, [r0, 0x34]
-_0813E7F2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E7F8: .4byte gSpriteTemplate_840B0F4
-_0813E7FC: .4byte gSprites
-_0813E800: .4byte 0x0000fff4
- thumb_func_end sub_813E7C0
-
- thumb_func_start sub_813E804
-sub_813E804: @ 813E804
- push {r4-r7,lr}
- adds r3, r0, 0
- ldr r0, _0813E818 @ =gUnknown_0203931A
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813E81C
- adds r0, r3, 0
- bl DestroySprite
- b _0813E928
- .align 2, 0
-_0813E818: .4byte gUnknown_0203931A
-_0813E81C:
- ldr r6, _0813E904 @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r0, [r0]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r1, 0x4
- ands r1, r0
- mov r7, r12
- ldrb r2, [r7]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7]
- ldrh r0, [r3, 0x3C]
- adds r0, 0x1
- strh r0, [r3, 0x3C]
- ldrh r1, [r3, 0x34]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- cmp r0, 0x27
- bgt _0813E85A
- adds r0, r1, 0x2
- strh r0, [r3, 0x34]
-_0813E85A:
- movs r7, 0x2E
- ldrsh r1, [r3, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0, 0x24]
- ldrh r0, [r0, 0x20]
- adds r2, r1, r0
- ldr r4, _0813E908 @ =gSineTable
- ldrh r5, [r3, 0x30]
- adds r0, r5, 0
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r7, 0
- ldrsh r1, [r0, r7]
- movs r7, 0x34
- ldrsh r0, [r3, r7]
- muls r0, r1
- cmp r0, 0
- bge _0813E88A
- adds r0, 0xFF
-_0813E88A:
- asrs r0, 8
- adds r0, r2, r0
- strh r0, [r3, 0x20]
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r2, r1, r0
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r7, 0
- ldrsh r1, [r0, r7]
- movs r7, 0x34
- ldrsh r0, [r3, r7]
- muls r0, r1
- cmp r0, 0
- bge _0813E8BE
- ldr r1, _0813E90C @ =0x000001ff
- adds r0, r1
-_0813E8BE:
- asrs r0, 9
- adds r0, r2, r0
- strh r0, [r3, 0x22]
- adds r1, r5, 0x2
- strh r1, [r3, 0x30]
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r0, 0
- bge _0813E8DC
- adds r0, 0x1F
-_0813E8DC:
- asrs r0, 5
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x32]
- adds r0, 0x8
- strh r0, [r3, 0x32]
- movs r0, 0xFF
- ands r1, r0
- cmp r1, 0x7F
- bgt _0813E910
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- b _0813E922
- .align 2, 0
-_0813E904: .4byte gSprites
-_0813E908: .4byte gSineTable
-_0813E90C: .4byte 0x000001ff
-_0813E910:
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x43
- ldrb r0, [r0]
- adds r0, 0x1
-_0813E922:
- adds r1, r3, 0
- adds r1, 0x43
- strb r0, [r1]
-_0813E928:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813E804
-
- thumb_func_start sub_813E930
-sub_813E930: @ 813E930
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r7, _0813E978 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r5, r0, r7
-_0813E942:
- movs r0, 0x20
- ldrsh r1, [r5, r0]
- movs r0, 0x22
- ldrsh r2, [r5, r0]
- ldr r0, _0813E97C @ =gSpriteTemplate_840B124
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0813E968
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r6, [r0, 0x2E]
- lsls r1, r4, 5
- strh r1, [r0, 0x30]
-_0813E968:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _0813E942
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813E978: .4byte gSprites
-_0813E97C: .4byte gSpriteTemplate_840B124
- thumb_func_end sub_813E930
-
- thumb_func_start GetCurrentTrainerHillMapId
-GetCurrentTrainerHillMapId: @ 813E980
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _0813E994 @ =gUnknown_0203931A
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813E998
- adds r0, r3, 0
- bl DestroySprite
- b _0813EA50
- .align 2, 0
-_0813E994: .4byte gUnknown_0203931A
-_0813E998:
- ldr r2, _0813EA58 @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r1, 0x4
- ands r1, r0
- mov r5, r12
- ldrb r2, [r5]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- ldrh r0, [r3, 0x3C]
- adds r0, 0x1
- strh r0, [r3, 0x3C]
- ldrh r0, [r3, 0x3A]
- adds r4, r0, 0
- adds r4, 0x8
- strh r4, [r3, 0x3A]
- ldr r2, _0813EA5C @ =gSineTable
- ldrh r0, [r3, 0x34]
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r5, 0x3A
- ldrsh r0, [r3, r5]
- muls r0, r1
- cmp r0, 0
- bge _0813E9EC
- adds r0, 0xFF
-_0813E9EC:
- asrs r0, 8
- ldrh r1, [r3, 0x36]
- adds r0, r1
- strh r0, [r3, 0x20]
- movs r5, 0x34
- ldrsh r0, [r3, r5]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r5, 0x3A
- ldrsh r0, [r3, r5]
- muls r0, r1
- cmp r0, 0
- bge _0813EA0E
- adds r0, 0xFF
-_0813EA0E:
- asrs r0, 8
- ldrh r1, [r3, 0x38]
- adds r0, r1
- strh r0, [r3, 0x22]
- movs r2, 0x3A
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _0813EA20
- adds r0, 0xF
-_0813EA20:
- asrs r0, 4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bls _0813EA2C
- movs r0, 0x9
-_0813EA2C:
- adds r1, r0, 0
- adds r1, 0x12
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x3]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0xA0
- ble _0813EA50
- adds r0, r3, 0
- bl DestroySprite
-_0813EA50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EA58: .4byte gSprites
-_0813EA5C: .4byte gSineTable
- thumb_func_end GetCurrentTrainerHillMapId
-
- thumb_func_start sub_813EA60
-sub_813EA60: @ 813EA60
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- ldr r0, _0813EA7C @ =gUnknown_0203931A
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813EA80
- adds r0, r5, 0
- bl DestroySprite
- b _0813EB32
- .align 2, 0
-_0813EA7C: .4byte gUnknown_0203931A
-_0813EA80:
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0813EB40 @ =gSprites
- mov r9, r0
- movs r4, 0x2E
- ldrsh r1, [r5, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r1, r9
- adds r3, r0, r1
- movs r4, 0x2E
- ldrsh r1, [r3, r4]
- cmp r1, 0x1
- bne _0813EB32
- ldrh r0, [r5, 0x3C]
- ands r1, r0
- lsls r0, r1, 16
- asrs r6, r0, 16
- cmp r6, 0
- bne _0813EB32
- ldrh r1, [r3, 0x20]
- ldrh r0, [r5, 0x30]
- adds r1, r0
- lsls r1, 16
- ldrh r2, [r3, 0x22]
- ldrh r4, [r5, 0x32]
- adds r2, r4
- lsls r2, 16
- ldr r0, _0813EB44 @ =gSpriteTemplate_840B150
- lsrs r4, r1, 16
- mov r8, r4
- asrs r1, 16
- lsrs r7, r2, 16
- asrs r2, 16
- adds r3, 0x43
- ldrb r3, [r3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0813EB32
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r9
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x24
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldrh r0, [r5, 0x2E]
- strh r0, [r4, 0x2E]
- ldr r2, _0813EB48 @ =gUnknown_0840B168
- ldrh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 17
- movs r1, 0x7
- ands r0, r1
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- mov r0, r8
- strh r0, [r4, 0x36]
- strh r7, [r4, 0x38]
- strh r6, [r4, 0x3A]
-_0813EB32:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EB40: .4byte gSprites
-_0813EB44: .4byte gSpriteTemplate_840B150
-_0813EB48: .4byte gUnknown_0840B168
- thumb_func_end sub_813EA60
-
- thumb_func_start sub_813EB4C
-sub_813EB4C: @ 813EB4C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813EBB0 @ =gSpriteTemplate_840B170
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0813EB80
- ldr r1, _0813EBB4 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r4, [r0, 0x2E]
- strh r1, [r0, 0x30]
- movs r1, 0x8
- strh r1, [r0, 0x32]
- movs r1, 0x18
- strh r1, [r0, 0x34]
-_0813EB80:
- movs r4, 0
- ldr r5, _0813EBB8 @ =gUnknown_0840B188
-_0813EB84:
- adds r0, r4, 0
- adds r0, 0x12
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 1
- adds r1, r5
- ldrh r1, [r1]
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0813EB84
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EBB0: .4byte gSpriteTemplate_840B170
-_0813EBB4: .4byte gSprites
-_0813EBB8: .4byte gUnknown_0840B188
- thumb_func_end sub_813EB4C
-
- thumb_func_start sub_813EBBC
-sub_813EBBC: @ 813EBBC
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _0813EBD0 @ =gUnknown_0203931A
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813EBD4
- adds r0, r3, 0
- bl DestroySprite
- b _0813EC80
- .align 2, 0
-_0813EBD0: .4byte gUnknown_0203931A
-_0813EBD4:
- ldr r2, _0813EC88 @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r1, 0x4
- ands r1, r0
- mov r4, r12
- ldrb r2, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldrh r0, [r3, 0x3C]
- adds r0, 0x1
- strh r0, [r3, 0x3C]
- ldrh r0, [r3, 0x3A]
- adds r0, 0x8
- strh r0, [r3, 0x3A]
- ldr r2, _0813EC8C @ =gSineTable
- ldrh r0, [r3, 0x34]
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r4, 0x3A
- ldrsh r0, [r3, r4]
- muls r0, r1
- cmp r0, 0
- bge _0813EC26
- adds r0, 0xFF
-_0813EC26:
- asrs r0, 8
- ldrh r1, [r3, 0x36]
- adds r0, r1
- strh r0, [r3, 0x20]
- movs r4, 0x34
- ldrsh r0, [r3, r4]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r4, 0x3A
- ldrsh r0, [r3, r4]
- muls r0, r1
- cmp r0, 0
- bge _0813EC48
- adds r0, 0xFF
-_0813EC48:
- asrs r0, 8
- ldrh r4, [r3, 0x38]
- adds r1, r0, r4
- strh r1, [r3, 0x22]
- movs r4, 0x30
- ldrsh r0, [r3, r4]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _0813EC64
- adds r0, 0x3F
-_0813EC64:
- asrs r0, 6
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x30]
- adds r0, 0x10
- strh r0, [r3, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- movs r4, 0x32
- ldrsh r1, [r3, r4]
- cmp r0, r1
- bge _0813EC80
- adds r0, r3, 0
- bl DestroySprite
-_0813EC80:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EC88: .4byte gSprites
-_0813EC8C: .4byte gSineTable
- thumb_func_end sub_813EBBC
-
- thumb_func_start sub_813EC90
-sub_813EC90: @ 813EC90
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, _0813ECAC @ =gUnknown_0203931A
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813ECB0
- adds r0, r5, 0
- bl DestroySprite
- b _0813EDA0
- .align 2, 0
-_0813ECAC: .4byte gUnknown_0203931A
-_0813ECB0:
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0813EDB0 @ =gSprites
- mov r9, r0
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r4, r9
- adds r3, r0, r4
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0x1
- bne _0813ED74
- ldrh r0, [r5, 0x3C]
- ands r1, r0
- lsls r0, r1, 16
- asrs r6, r0, 16
- cmp r6, 0
- bne _0813ED66
- ldrh r1, [r3, 0x20]
- ldrh r2, [r5, 0x30]
- adds r1, r2
- lsls r1, 16
- ldrh r2, [r3, 0x22]
- ldrh r4, [r5, 0x32]
- adds r2, r4
- lsls r2, 16
- ldr r0, _0813EDB4 @ =gSpriteTemplate_840B1B0
- lsrs r4, r1, 16
- mov r8, r4
- asrs r1, 16
- lsrs r7, r2, 16
- asrs r2, 16
- adds r3, 0x43
- ldrb r3, [r3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0813ED66
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r9
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x22
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldrh r0, [r5, 0x2E]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 18
- movs r1, 0x7
- ands r0, r1
- lsls r0, 5
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x34]
- strh r0, [r4, 0x32]
- movs r0, 0xE8
- strh r0, [r4, 0x34]
- mov r0, r8
- strh r0, [r4, 0x36]
- strh r7, [r4, 0x38]
- strh r6, [r4, 0x3A]
-_0813ED66:
- ldrh r1, [r5, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r5, r2]
- cmp r0, 0x6F
- bgt _0813ED74
- adds r0, r1, 0x4
- strh r0, [r5, 0x3A]
-_0813ED74:
- ldr r1, _0813EDB8 @ =gSineTable
- ldrh r0, [r5, 0x3A]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- movs r4, 0
- ldrsh r0, [r0, r4]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r0, 0x11
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
-_0813EDA0:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EDB0: .4byte gSprites
-_0813EDB4: .4byte gSpriteTemplate_840B1B0
-_0813EDB8: .4byte gSineTable
- thumb_func_end sub_813EC90
-
- thumb_func_start sub_813EDBC
-sub_813EDBC: @ 813EDBC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813EDF4 @ =gSpriteTemplate_840B1C8
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0813EDEE
- ldr r1, _0813EDF8 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r4, [r0, 0x2E]
- strh r1, [r0, 0x30]
- movs r1, 0xC
- strh r1, [r0, 0x32]
- movs r1, 0x18
- strh r1, [r0, 0x34]
-_0813EDEE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EDF4: .4byte gSpriteTemplate_840B1C8
-_0813EDF8: .4byte gSprites
- thumb_func_end sub_813EDBC
-
- thumb_func_start sub_813EDFC
-sub_813EDFC: @ 813EDFC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0813EE12
- adds r4, r5, 0
- adds r4, 0x3E
- cmp r0, 0x1
- beq _0813EE4A
-_0813EE12:
- adds r4, r5, 0
- adds r4, 0x3E
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r5, 0x1]
- ldrb r1, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x24
- orrs r0, r1
- strb r0, [r5, 0x3]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- movs r0, 0
- strh r0, [r5, 0x30]
- movs r0, 0x1
- strh r0, [r5, 0x2E]
-_0813EE4A:
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813EE62
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- b _0813EE7A
-_0813EE62:
- ldrb r0, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- ldrh r1, [r5, 0x30]
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- cmp r0, 0x3F
- bgt _0813EE7A
- adds r0, r1, 0x1
- strh r0, [r5, 0x30]
-_0813EE7A:
- ldr r1, _0813EEB0 @ =gSineTable
- ldrh r0, [r5, 0x30]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r0, 0x12
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EEB0: .4byte gSineTable
- thumb_func_end sub_813EDFC
-
- thumb_func_start FieldInitRegionMap
-FieldInitRegionMap: @ 813EEB4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- bl SetVBlankCallback
- ldr r2, _0813EED8 @ =0x02000000
- ldr r0, _0813EEDC @ =0x00000888
- adds r1, r2, r0
- movs r0, 0
- strh r0, [r1]
- str r4, [r2]
- ldr r0, _0813EEE0 @ =CB2_FieldInitRegionMap
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EED8: .4byte 0x02000000
-_0813EEDC: .4byte 0x00000888
-_0813EEE0: .4byte CB2_FieldInitRegionMap
- thumb_func_end FieldInitRegionMap
-
- thumb_func_start CB2_FieldInitRegionMap
-CB2_FieldInitRegionMap: @ 813EEE4
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x10
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, _0813EF98 @ =0x02000008
- movs r1, 0
- bl sub_80FA8EC
- movs r0, 0
- movs r1, 0
- bl sub_80FBCF0
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80FBB3C
- ldr r4, _0813EF9C @ =gWindowConfig_81E709C
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl MenuZeroFillScreen
- ldr r1, _0813EFA0 @ =REG_BG0CNT
- movs r2, 0xF8
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x15
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x3
- bl MenuDrawTextWindow
- ldr r0, _0813EFA4 @ =gOtherText_Hoenn
- movs r1, 0x16
- movs r2, 0x1
- movs r3, 0x38
- bl sub_8072BD8
- movs r0, 0x10
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- bl sub_813F0C8
- ldr r0, _0813EFA8 @ =CB2_FieldRegionMap
- bl SetMainCallback2
- ldr r0, _0813EFAC @ =VBlankCB_FieldRegionMap
- bl SetVBlankCallback
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813EF98: .4byte 0x02000008
-_0813EF9C: .4byte gWindowConfig_81E709C
-_0813EFA0: .4byte REG_BG0CNT
-_0813EFA4: .4byte gOtherText_Hoenn
-_0813EFA8: .4byte CB2_FieldRegionMap
-_0813EFAC: .4byte VBlankCB_FieldRegionMap
- thumb_func_end CB2_FieldInitRegionMap
-
- thumb_func_start VBlankCB_FieldRegionMap
-VBlankCB_FieldRegionMap: @ 813EFB0
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_FieldRegionMap
-
- thumb_func_start CB2_FieldRegionMap
-CB2_FieldRegionMap: @ 813EFC4
- push {lr}
- bl sub_813EFDC
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end CB2_FieldRegionMap
-
- thumb_func_start sub_813EFDC
-sub_813EFDC: @ 813EFDC
- push {lr}
- sub sp, 0x4
- ldr r1, _0813EFF8 @ =0x02000000
- ldr r2, _0813EFFC @ =0x00000888
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0813F0B8
- lsls r0, 2
- ldr r1, _0813F000 @ =_0813F004
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813EFF8: .4byte 0x02000000
-_0813EFFC: .4byte 0x00000888
-_0813F000: .4byte _0813F004
- .align 2, 0
-_0813F004:
- .4byte _0813F018
- .4byte _0813F030
- .4byte _0813F04C
- .4byte _0813F078
- .4byte _0813F0A0
-_0813F018:
- movs r1, 0x80
- lsls r1, 19
- ldr r3, _0813F028 @ =0x00001541
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _0813F02C @ =0x00000888
- adds r1, r2, r0
- b _0813F08E
- .align 2, 0
-_0813F028: .4byte 0x00001541
-_0813F02C: .4byte 0x00000888
-_0813F030:
- ldr r0, _0813F044 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813F0B8
- ldr r3, _0813F048 @ =0x00000888
- adds r1, r2, r3
- b _0813F08E
- .align 2, 0
-_0813F044: .4byte gPaletteFade
-_0813F048: .4byte 0x00000888
-_0813F04C:
- bl sub_80FAB60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0813F05E
- bl sub_813F0C8
- b _0813F0B8
-_0813F05E:
- cmp r0, 0x3
- blt _0813F0B8
- cmp r0, 0x5
- bgt _0813F0B8
- ldr r1, _0813F070 @ =0x02000000
- ldr r0, _0813F074 @ =0x00000888
- adds r1, r0
- b _0813F08E
- .align 2, 0
-_0813F070: .4byte 0x02000000
-_0813F074: .4byte 0x00000888
-_0813F078:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0813F098 @ =0x02000000
- ldr r2, _0813F09C @ =0x00000888
- adds r1, r2
-_0813F08E:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0813F0B8
- .align 2, 0
-_0813F098: .4byte 0x02000000
-_0813F09C: .4byte 0x00000888
-_0813F0A0:
- ldr r0, _0813F0C0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813F0B8
- bl sub_80FAB10
- ldr r0, _0813F0C4 @ =0x02000000
- ldr r0, [r0]
- bl SetMainCallback2
-_0813F0B8:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0813F0C0: .4byte gPaletteFade
-_0813F0C4: .4byte 0x02000000
- thumb_func_end sub_813EFDC
-
- thumb_func_start sub_813F0C8
-sub_813F0C8: @ 813F0C8
- push {lr}
- movs r0, 0x11
- movs r1, 0x11
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- ldr r1, _0813F0F0 @ =0x02000000
- ldrb r0, [r1, 0x1E]
- cmp r0, 0
- beq _0813F0EA
- adds r0, r1, 0
- adds r0, 0x8
- movs r1, 0x11
- movs r2, 0x11
- bl MenuPrint
-_0813F0EA:
- pop {r0}
- bx r0
- .align 2, 0
-_0813F0F0: .4byte 0x02000000
- thumb_func_end sub_813F0C8
-
- thumb_func_start unref_sub_813F0F4
-unref_sub_813F0F4: @ 813F0F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- ldr r0, _0813F2AC @ =gUnknown_0202F7C8
- ldrb r3, [r0]
- ldr r0, _0813F2B0 @ =gUnknown_030042C4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _0813F2B4 @ =gUnknown_03004240
- strh r1, [r0]
- ldr r1, _0813F2B8 @ =REG_WININ
- ldr r2, _0813F2BC @ =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r4, _0813F2C0 @ =0x00003f3d
- adds r0, r4, 0
- strh r0, [r1]
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0813F2C4 @ =REG_BLDCNT
- ldr r2, _0813F2C8 @ =0x00003f42
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r4, 0x80
- lsls r4, 5
- adds r0, r4, 0
- strh r0, [r1]
- ldr r2, _0813F2CC @ =REG_BG1CNT
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x1]
- ldrb r0, [r2, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- mov r9, r0
- ands r0, r1
- movs r1, 0x4
- mov r8, r1
- mov r4, r8
- orrs r0, r4
- strb r0, [r2]
- ldr r0, _0813F2D0 @ =gUnknown_03004340
- adds r3, r0
- ldrb r0, [r3]
- ldr r1, _0813F2D4 @ =gSprites
- mov r10, r1
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r10
- ldrb r7, [r4, 0x6]
- ldrh r6, [r4, 0x38]
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _0813F2D8 @ =SpriteCallbackDummy
- bl object_new_hidden_with_callback
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- ldr r0, _0813F2D8 @ =SpriteCallbackDummy
- bl object_new_hidden_with_callback
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- ldrb r1, [r4, 0x5]
- mov r0, r9
- ands r0, r1
- mov r2, r8
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r5, r7, 4
- adds r5, r7
- lsls r5, 2
- add r5, r10
- ldrb r1, [r5, 0x5]
- mov r0, r9
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x5]
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x5]
- mov r0, r9
- ands r0, r2
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [sp, 0x14]
- lsls r6, r0, 4
- adds r6, r0
- lsls r6, 2
- mov r1, r10
- adds r7, r6, r1
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x44
- bl memcpy
- ldr r2, [sp, 0x18]
- lsls r4, r2, 4
- adds r4, r2
- lsls r4, 2
- adds r0, r4, 0
- add r0, r10
- mov r8, r0
- adds r1, r5, 0
- movs r2, 0x44
- bl memcpy
- ldrb r1, [r7, 0x1]
- mov r0, r9
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r7, 0x1]
- mov r2, r8
- ldrb r0, [r2, 0x1]
- mov r2, r9
- ands r2, r0
- orrs r2, r1
- mov r0, r8
- strb r2, [r0, 0x1]
- movs r1, 0x1C
- add r10, r1
- add r6, r10
- ldr r2, _0813F2D8 @ =SpriteCallbackDummy
- str r2, [r6]
- add r4, r10
- str r2, [r4]
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r2, _0813F2DC @ =0x040000d4
- add r0, sp, 0xC
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _0813F2E0 @ =0x85000400
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _0813F2E4 @ =gUnknown_08D2EE48
- bl LZDecompressVram
- ldr r0, _0813F2E8 @ =gUnknown_08D2EDFC
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _0813F2EC @ =gUnknown_08D2E150
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, _0813F2F0 @ =gUnknown_030042C0
- ldrh r0, [r7, 0x20]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r1]
- ldr r1, _0813F2F4 @ =gUnknown_030041B4
- ldrh r0, [r7, 0x22]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r1]
- ldr r1, _0813F2F8 @ =gTasks
- ldr r4, [sp, 0x10]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xA0
- lsls r1, 2
- strh r1, [r0, 0xA]
- mov r1, sp
- ldrh r1, [r1, 0x14]
- strh r1, [r0, 0x8]
- mov r2, sp
- ldrh r2, [r2, 0x18]
- strh r2, [r0, 0xC]
- ldr r1, _0813F2FC @ =sub_813F300
- str r1, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F2AC: .4byte gUnknown_0202F7C8
-_0813F2B0: .4byte gUnknown_030042C4
-_0813F2B4: .4byte gUnknown_03004240
-_0813F2B8: .4byte REG_WININ
-_0813F2BC: .4byte 0x00003f3f
-_0813F2C0: .4byte 0x00003f3d
-_0813F2C4: .4byte REG_BLDCNT
-_0813F2C8: .4byte 0x00003f42
-_0813F2CC: .4byte REG_BG1CNT
-_0813F2D0: .4byte gUnknown_03004340
-_0813F2D4: .4byte gSprites
-_0813F2D8: .4byte SpriteCallbackDummy
-_0813F2DC: .4byte 0x040000d4
-_0813F2E0: .4byte 0x85000400
-_0813F2E4: .4byte gUnknown_08D2EE48
-_0813F2E8: .4byte gUnknown_08D2EDFC
-_0813F2EC: .4byte gUnknown_08D2E150
-_0813F2F0: .4byte gUnknown_030042C0
-_0813F2F4: .4byte gUnknown_030041B4
-_0813F2F8: .4byte gTasks
-_0813F2FC: .4byte sub_813F300
- thumb_func_end unref_sub_813F0F4
-
- thumb_func_start sub_813F300
-sub_813F300: @ 813F300
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0813F34C @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- mov r9, r0
- ldr r1, _0813F350 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- movs r3, 0
- strh r1, [r4, 0x22]
- ldr r2, _0813F354 @ =gUnknown_030041B4
- lsls r0, r1, 16
- lsrs r0, 24
- ldrh r5, [r2]
- adds r0, r5
- strh r0, [r2]
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0x22]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0813F394
- cmp r0, 0x1
- bgt _0813F358
- cmp r0, 0
- beq _0813F35E
- b _0813F4B2
- .align 2, 0
-_0813F34C: .4byte gUnknown_0202F7C8
-_0813F350: .4byte gTasks
-_0813F354: .4byte gUnknown_030041B4
-_0813F358:
- cmp r0, 0x2
- beq _0813F3AC
- b _0813F4B2
-_0813F35E:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _0813F36E
- b _0813F4B2
-_0813F36E:
- strh r3, [r4, 0x1E]
- ldrh r1, [r4, 0x20]
- adds r1, 0x1
- strh r1, [r4, 0x20]
- ldr r2, _0813F390 @ =REG_BLDALPHA
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- beq _0813F38C
- b _0813F4B2
-_0813F38C:
- b _0813F3A4
- .align 2, 0
-_0813F390: .4byte REG_BLDALPHA
-_0813F394:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- beq _0813F3A4
- b _0813F4B2
-_0813F3A4:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- b _0813F4B2
-_0813F3AC:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0813F4B2
- strh r3, [r4, 0x1E]
- ldrh r1, [r4, 0x20]
- subs r1, 0x1
- strh r1, [r4, 0x20]
- ldr r6, _0813F4C0 @ =REG_BLDALPHA
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r6]
- movs r3, 0x20
- ldrsh r5, [r4, r3]
- cmp r5, 0
- bne _0813F4B2
- movs r0, 0
- bl sub_8076464
- ldr r0, _0813F4C4 @ =gUnknown_030042C4
- strh r5, [r0]
- ldr r0, _0813F4C8 @ =gUnknown_03004240
- strh r5, [r0]
- ldr r0, _0813F4CC @ =REG_WININ
- ldr r2, _0813F4D0 @ =0x00003f3f
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _0813F406
- ldr r2, _0813F4D4 @ =REG_BG1CNT
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0813F406:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- eors r0, r1
- strh r0, [r2]
- ldr r0, _0813F4D8 @ =REG_BLDCNT
- strh r5, [r0]
- strh r5, [r6]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0813F4DC @ =gSprites
- mov r8, r1
- add r0, r8
- bl DestroySprite
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- bl DestroySprite
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp, 0x4]
- str r5, [sp, 0xC]
- ldr r1, _0813F4E0 @ =0x040000d4
- add r0, sp, 0xC
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _0813F4E4 @ =0x85000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r2, _0813F4D4 @ =REG_BG1CNT
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- ldr r0, _0813F4E8 @ =gUnknown_03004340
- add r0, r9
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r6, [r1, 0x6]
- ldrh r4, [r1, 0x38]
- lsls r4, 24
- lsrs r4, 24
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r5, 0x4
- orrs r0, r5
- strb r0, [r1, 0x5]
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- add r1, r8
- ldrb r3, [r1, 0x5]
- adds r0, r2, 0
- ands r0, r3
- orrs r0, r5
- strb r0, [r1, 0x5]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- add r0, r8
- ldrb r1, [r0, 0x5]
- ands r2, r1
- orrs r2, r5
- strb r2, [r0, 0x5]
- adds r0, r7, 0
- bl move_anim_task_del
-_0813F4B2:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F4C0: .4byte REG_BLDALPHA
-_0813F4C4: .4byte gUnknown_030042C4
-_0813F4C8: .4byte gUnknown_03004240
-_0813F4CC: .4byte REG_WININ
-_0813F4D0: .4byte 0x00003f3f
-_0813F4D4: .4byte REG_BG1CNT
-_0813F4D8: .4byte REG_BLDCNT
-_0813F4DC: .4byte gSprites
-_0813F4E0: .4byte 0x040000d4
-_0813F4E4: .4byte 0x85000200
-_0813F4E8: .4byte gUnknown_03004340
- thumb_func_end sub_813F300
-
- thumb_func_start sub_813F4EC
-sub_813F4EC: @ 813F4EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r1, _0813F5D0 @ =gUnknown_03004340
- ldr r0, _0813F5D4 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- ldr r7, _0813F5D8 @ =gSprites
- lsls r6, r0, 4
- adds r6, r0
- lsls r6, 2
- adds r6, r7
- ldrb r0, [r6, 0x6]
- str r0, [sp, 0x4]
- ldrh r4, [r6, 0x38]
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0813F5DC @ =0x0000d709
- bl AllocSpritePalette
- mov r8, r0
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r0, _0813F5E0 @ =0x0000d70a
- bl AllocSpritePalette
- mov r9, r0
- mov r2, r9
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- ldrb r0, [r6, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r1, 0x80
- lsls r1, 1
- adds r3, r1, 0
- orrs r0, r3
- lsls r5, r4, 4
- adds r5, r4
- lsls r5, 2
- adds r5, r7
- ldrb r4, [r5, 0x5]
- lsrs r4, 4
- lsls r4, 4
- orrs r4, r3
- lsls r0, 1
- ldr r2, _0813F5E4 @ =gPlttBufferUnfaded
- mov r10, r2
- add r0, r10
- mov r1, r8
- lsls r1, 4
- mov r8, r1
- adds r1, r3, r1
- movs r2, 0x20
- str r3, [sp, 0x8]
- bl LoadPalette
- lsls r4, 1
- add r4, r10
- mov r2, r9
- lsls r2, 4
- mov r9, r2
- ldr r3, [sp, 0x8]
- add r3, r9
- adds r0, r4, 0
- adds r1, r3, 0
- movs r2, 0x20
- bl LoadPalette
- ldrb r1, [r6, 0x5]
- movs r2, 0xF
- adds r0, r2, 0
- ands r0, r1
- mov r3, r8
- orrs r0, r3
- strb r0, [r6, 0x5]
- ldr r0, [sp, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r3, [r1, 0x5]
- adds r0, r2, 0
- ands r0, r3
- mov r3, r8
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5, 0x5]
- ands r2, r0
- mov r0, r9
- orrs r2, r0
- strb r2, [r5, 0x5]
- ldr r0, [sp]
- bl move_anim_task_del
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F5D0: .4byte gUnknown_03004340
-_0813F5D4: .4byte gUnknown_0202F7C8
-_0813F5D8: .4byte gSprites
-_0813F5DC: .4byte 0x0000d709
-_0813F5E0: .4byte 0x0000d70a
-_0813F5E4: .4byte gPlttBufferUnfaded
- thumb_func_end sub_813F4EC
-
- thumb_func_start sub_813F5E8
-sub_813F5E8: @ 813F5E8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _0813F684 @ =gUnknown_03004340
- ldr r0, _0813F688 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0813F68C @ =gSprites
- mov r9, r1
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- add r5, r9
- ldrb r0, [r5, 0x6]
- mov r10, r0
- ldrh r6, [r5, 0x38]
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _0813F690 @ =0x0000d709
- bl FreeSpritePaletteByTag
- ldr r0, _0813F694 @ =0x0000d70a
- bl FreeSpritePaletteByTag
- ldr r0, _0813F698 @ =0x0000d6ff
- bl IndexOfSpritePaletteTag
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0813F69C @ =0x0000d704
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsls r4, 4
- ldrb r2, [r5, 0x5]
- movs r3, 0xF
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r4
- strb r1, [r5, 0x5]
- mov r1, r10
- lsls r2, r1, 4
- add r2, r10
- lsls r2, 2
- add r2, r9
- ldrb r5, [r2, 0x5]
- adds r1, r3, 0
- ands r1, r5
- orrs r1, r4
- strb r1, [r2, 0x5]
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- add r1, r9
- lsrs r0, 20
- ldrb r2, [r1, 0x5]
- ands r3, r2
- orrs r3, r0
- strb r3, [r1, 0x5]
- mov r0, r8
- bl move_anim_task_del
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F684: .4byte gUnknown_03004340
-_0813F688: .4byte gUnknown_0202F7C8
-_0813F68C: .4byte gSprites
-_0813F690: .4byte 0x0000d709
-_0813F694: .4byte 0x0000d70a
-_0813F698: .4byte 0x0000d6ff
-_0813F69C: .4byte 0x0000d704
- thumb_func_end sub_813F5E8
-
- thumb_func_start sub_813F6A0
-sub_813F6A0: @ 813F6A0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0813F6C0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _0813F6C4 @ =gUnknown_03004B00
- ldrh r0, [r2]
- strh r0, [r1, 0x1C]
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0x1E]
- ldr r0, _0813F6C8 @ =sub_813F6CC
- str r0, [r1]
- bx lr
- .align 2, 0
-_0813F6C0: .4byte gTasks
-_0813F6C4: .4byte gUnknown_03004B00
-_0813F6C8: .4byte sub_813F6CC
- thumb_func_end sub_813F6A0
-
- thumb_func_start sub_813F6CC
-sub_813F6CC: @ 813F6CC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0813F718 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r6, 0
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _0813F78C
- strh r6, [r4, 0x8]
- ldr r0, _0813F71C @ =0x0000d709
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0x1C
- ldrsh r0, [r4, r3]
- movs r1, 0x2
- cmp r0, 0
- bne _0813F70A
- movs r1, 0x6
-_0813F70A:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0813F720
- cmp r0, 0x1
- beq _0813F75C
- b _0813F78C
- .align 2, 0
-_0813F718: .4byte gTasks
-_0813F71C: .4byte 0x0000d709
-_0813F720:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _0813F732
- movs r0, 0x10
- strh r0, [r4, 0xC]
-_0813F732:
- lsls r0, r2, 4
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2
- orrs r0, r1
- ldrb r2, [r4, 0xC]
- ldr r3, _0813F758 @ =0x00007f74
- movs r1, 0x1
- bl BlendPalette
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0x10
- bne _0813F78C
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _0813F78C
- .align 2, 0
-_0813F758: .4byte 0x00007f74
-_0813F75C:
- ldrh r0, [r4, 0xC]
- subs r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bge _0813F76A
- strh r6, [r4, 0xC]
-_0813F76A:
- lsls r0, r2, 4
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2
- orrs r0, r1
- ldrb r2, [r4, 0xC]
- ldr r3, _0813F794 @ =0x00007f74
- movs r1, 0x1
- bl BlendPalette
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0813F78C
- adds r0, r5, 0
- bl move_anim_task_del
-_0813F78C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F794: .4byte 0x00007f74
- thumb_func_end sub_813F6CC
-
- thumb_func_start sub_813F798
-sub_813F798: @ 813F798
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0813F7C4 @ =gUnknown_02024BE0
- ldr r0, _0813F7C8 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r5, [r0]
- ldr r1, _0813F7CC @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0813F7E6
- cmp r0, 0x1
- bgt _0813F7D0
- cmp r0, 0
- beq _0813F7D6
- b _0813F838
- .align 2, 0
-_0813F7C4: .4byte gUnknown_02024BE0
-_0813F7C8: .4byte gUnknown_0202F7C8
-_0813F7CC: .4byte gTasks
-_0813F7D0:
- cmp r0, 0x2
- beq _0813F818
- b _0813F838
-_0813F7D6:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8078E70
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x1C]
- b _0813F80A
-_0813F7E6:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x30
- strh r0, [r4, 0x1C]
- movs r0, 0x1C
- ldrsh r2, [r4, r0]
- adds r0, r5, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- adds r0, r5, 0
- bl sub_8079A64
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- ldr r0, _0813F814 @ =0x000002cf
- cmp r1, r0
- ble _0813F838
-_0813F80A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0813F838
- .align 2, 0
-_0813F814: .4byte 0x000002cf
-_0813F818:
- adds r0, r5, 0
- bl sub_8078F40
- ldr r1, _0813F840 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r6, 0
- bl move_anim_task_del
-_0813F838:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F840: .4byte gSprites
- thumb_func_end sub_813F798
-
- thumb_func_start sub_813F844
-sub_813F844: @ 813F844
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0813F87C @ =gUnknown_02024BE0
- ldr r4, _0813F880 @ =gUnknown_0202F7C8
- ldrb r0, [r4]
- adds r1, r0, r1
- ldrb r1, [r1]
- mov r9, r1
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _0813F88C
- ldr r1, _0813F884 @ =gUnknown_02024A6A
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0813F888 @ =gPlayerParty
- b _0813F89C
- .align 2, 0
-_0813F87C: .4byte gUnknown_02024BE0
-_0813F880: .4byte gUnknown_0202F7C8
-_0813F884: .4byte gUnknown_02024A6A
-_0813F888: .4byte gPlayerParty
-_0813F88C:
- ldr r1, _0813F8CC @ =gUnknown_02024A6A
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0813F8D0 @ =gEnemyParty
-_0813F89C:
- adds r0, r1
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _0813F8D4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r6, r0, r2
- movs r0, 0x8
- ldrsh r7, [r6, r0]
- cmp r7, 0
- beq _0813F8D8
- cmp r7, 0x1
- beq _0813F958
- b _0813F982
- .align 2, 0
-_0813F8CC: .4byte gUnknown_02024A6A
-_0813F8D0: .4byte gEnemyParty
-_0813F8D4: .4byte gTasks
-_0813F8D8:
- ldr r5, _0813F950 @ =gUnknown_0202F7C8
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- adds r1, r0, 0
- lsls r1, 24
- ldr r2, _0813F954 @ =gSprites
- mov r3, r9
- lsls r0, r3, 4
- add r0, r9
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- lsls r2, 28
- lsrs r2, 30
- adds r0, 0x43
- ldrb r3, [r0]
- movs r0, 0x80
- lsls r0, 22
- adds r1, r0
- lsrs r1, 24
- mov r0, r8
- str r0, [sp]
- adds r0, r4, 0
- bl sub_814086C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x1C]
- str r7, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80791A8
- adds r2, r0, 0
- ldrb r1, [r5]
- movs r0, 0
- mov r3, r8
- bl sub_8141314
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x1E]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- b _0813F982
- .align 2, 0
-_0813F950: .4byte gUnknown_0202F7C8
-_0813F954: .4byte gSprites
-_0813F958:
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0813F982
- movs r3, 0x1E
- ldrsh r0, [r6, r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0813F982
- adds r0, r5, 0
- bl move_anim_task_del
-_0813F982:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813F844
-
- thumb_func_start sub_813F990
-sub_813F990: @ 813F990
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0813F9B4 @ =gUnknown_02024C04
- ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
- lsls r0, 24
- lsrs r0, 24
- bl sub_80478DC
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F9B4: .4byte gUnknown_02024C04
- thumb_func_end sub_813F990
-
- thumb_func_start sub_813F9B8
-sub_813F9B8: @ 813F9B8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0813F9DC @ =gUnknown_02024C04
- ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
- lsls r0, 24
- lsrs r0, 24
- bl sub_804794C
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F9DC: .4byte gUnknown_02024C04
- thumb_func_end sub_813F9B8
-
- thumb_func_start sub_813F9E0
-sub_813F9E0: @ 813F9E0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0813F9F4 @ =0x02017840
- ldrb r0, [r0, 0x8]
- cmp r0, 0x5
- bne _0813FA00
- ldr r1, _0813F9F8 @ =gUnknown_03004B00
- ldr r0, _0813F9FC @ =0x0000ffff
- b _0813FA04
- .align 2, 0
-_0813F9F4: .4byte 0x02017840
-_0813F9F8: .4byte gUnknown_03004B00
-_0813F9FC: .4byte 0x0000ffff
-_0813FA00:
- ldr r1, _0813FA10 @ =gUnknown_03004B00
- movs r0, 0
-_0813FA04:
- strh r0, [r1, 0xE]
- adds r0, r2, 0
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_0813FA10: .4byte gUnknown_03004B00
- thumb_func_end sub_813F9E0
-
- thumb_func_start ball_number_to_ball_processing_index
-ball_number_to_ball_processing_index: @ 813FA14
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- subs r0, 0x1
- cmp r0, 0xB
- bhi _0813FA8C
- lsls r0, 2
- ldr r1, _0813FA2C @ =_0813FA30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813FA2C: .4byte _0813FA30
- .align 2, 0
-_0813FA30:
- .4byte _0813FA60
- .4byte _0813FA64
- .4byte _0813FA68
- .4byte _0813FA8C
- .4byte _0813FA6C
- .4byte _0813FA70
- .4byte _0813FA74
- .4byte _0813FA78
- .4byte _0813FA7C
- .4byte _0813FA80
- .4byte _0813FA84
- .4byte _0813FA88
-_0813FA60:
- movs r0, 0x4
- b _0813FA8E
-_0813FA64:
- movs r0, 0x3
- b _0813FA8E
-_0813FA68:
- movs r0, 0x1
- b _0813FA8E
-_0813FA6C:
- movs r0, 0x2
- b _0813FA8E
-_0813FA70:
- movs r0, 0x5
- b _0813FA8E
-_0813FA74:
- movs r0, 0x6
- b _0813FA8E
-_0813FA78:
- movs r0, 0x7
- b _0813FA8E
-_0813FA7C:
- movs r0, 0x8
- b _0813FA8E
-_0813FA80:
- movs r0, 0x9
- b _0813FA8E
-_0813FA84:
- movs r0, 0xA
- b _0813FA8E
-_0813FA88:
- movs r0, 0xB
- b _0813FA8E
-_0813FA8C:
- movs r0, 0
-_0813FA8E:
- pop {r1}
- bx r1
- thumb_func_end ball_number_to_ball_processing_index
-
- thumb_func_start sub_813FA94
-sub_813FA94: @ 813FA94
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- mov r10, r0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _0813FB58 @ =gUnknown_02024C04
- ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, _0813FB5C @ =gSpriteTemplate_820AAB4
- adds r0, r1
- movs r1, 0x20
- movs r2, 0x50
- movs r3, 0x1D
- bl CreateSprite
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _0813FB60 @ =gSprites
- mov r9, r1
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r6, r4, r1
- movs r0, 0x22
- strh r0, [r6, 0x2E]
- ldr r2, _0813FB64 @ =gUnknown_0202F7C9
- mov r8, r2
- ldrb r0, [r2]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x30]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x10
- strh r0, [r6, 0x32]
- mov r0, r9
- adds r0, 0x1C
- adds r4, r0
- ldr r0, _0813FB68 @ =sub_813FD90
- str r0, [r4]
- ldr r3, _0813FB6C @ =0x02017840
- ldr r1, _0813FB70 @ =gUnknown_02024BE0
- mov r2, r8
- ldrb r0, [r2]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- lsls r1, 1
- ldrb r2, [r3, 0x9]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x9]
- ldr r1, _0813FB74 @ =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r1, _0813FB78 @ =sub_813FB7C
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FB58: .4byte gUnknown_02024C04
-_0813FB5C: .4byte gSpriteTemplate_820AAB4
-_0813FB60: .4byte gSprites
-_0813FB64: .4byte gUnknown_0202F7C9
-_0813FB68: .4byte sub_813FD90
-_0813FB6C: .4byte 0x02017840
-_0813FB70: .4byte gUnknown_02024BE0
-_0813FB74: .4byte gTasks
-_0813FB78: .4byte sub_813FB7C
- thumb_func_end sub_813FA94
-
- thumb_func_start sub_813FB7C
-sub_813FB7C: @ 813FB7C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _0813FBAC @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x8]
- ldr r2, _0813FBB0 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2E]
- ldr r0, _0813FBB4 @ =0x0000ffff
- cmp r1, r0
- bne _0813FBA6
- adds r0, r3, 0
- bl move_anim_task_del
-_0813FBA6:
- pop {r0}
- bx r0
- .align 2, 0
-_0813FBAC: .4byte gTasks
-_0813FBB0: .4byte gSprites
-_0813FBB4: .4byte 0x0000ffff
- thumb_func_end sub_813FB7C
-
- thumb_func_start sub_813FBB8
-sub_813FBB8: @ 813FBB8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0813FBD8 @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0813FBDC
- movs r6, 0x20
- movs r5, 0xB
- b _0813FBE0
- .align 2, 0
-_0813FBD8: .4byte gUnknown_020239F8
-_0813FBDC:
- movs r6, 0x17
- movs r5, 0x5
-_0813FBE0:
- ldr r0, _0813FC9C @ =gUnknown_02024C04
- ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079E90
- adds r3, r0, 0
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r1, _0813FCA0 @ =gSpriteTemplate_820AAB4
- adds r0, r1
- adds r1, r6, 0
- adds r1, 0x20
- movs r2, 0x50
- orrs r5, r2
- adds r2, r5, 0
- bl CreateSprite
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0813FCA4 @ =gSprites
- mov r9, r0
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r6, r4, r0
- movs r0, 0x22
- strh r0, [r6, 0x2E]
- ldr r1, _0813FCA8 @ =gUnknown_0202F7C9
- mov r8, r1
- ldrb r0, [r1]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x30]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x10
- strh r0, [r6, 0x32]
- mov r0, r9
- adds r0, 0x1C
- adds r4, r0
- ldr r0, _0813FCAC @ =SpriteCallbackDummy
- str r0, [r4]
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r1, _0813FCB0 @ =gUnknown_02024BE0
- lsls r0, 24
- lsrs r0, 24
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, _0813FCB4 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r1, _0813FCB8 @ =sub_813FCBC
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FC9C: .4byte gUnknown_02024C04
-_0813FCA0: .4byte gSpriteTemplate_820AAB4
-_0813FCA4: .4byte gSprites
-_0813FCA8: .4byte gUnknown_0202F7C9
-_0813FCAC: .4byte SpriteCallbackDummy
-_0813FCB0: .4byte gUnknown_02024BE0
-_0813FCB4: .4byte gTasks
-_0813FCB8: .4byte sub_813FCBC
- thumb_func_end sub_813FBB8
-
- thumb_func_start sub_813FCBC
-sub_813FCBC: @ 813FCBC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, _0813FD1C @ =gSprites
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r1, _0813FD20 @ =gUnknown_02024BE0
- lsls r0, 24
- lsrs r0, 24
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0813FD16
- movs r0, 0x3D
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r0, _0813FD24 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0813FD28 @ =sub_813FD90
- str r1, [r0]
- ldr r0, _0813FD2C @ =sub_813FD34
- movs r1, 0xA
- bl CreateTask
- ldr r0, _0813FD30 @ =sub_813FB7C
- str r0, [r4]
-_0813FD16:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FD1C: .4byte gSprites
-_0813FD20: .4byte gUnknown_02024BE0
-_0813FD24: .4byte gTasks
-_0813FD28: .4byte sub_813FD90
-_0813FD2C: .4byte sub_813FD34
-_0813FD30: .4byte sub_813FB7C
- thumb_func_end sub_813FCBC
-
- thumb_func_start sub_813FD34
-sub_813FD34: @ 813FD34
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, _0813FD88 @ =gSprites
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r4, _0813FD8C @ =gUnknown_02024BE0
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- bge _0813FD80
- movs r0, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl DestroyTask
-_0813FD80:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FD88: .4byte gSprites
-_0813FD8C: .4byte gUnknown_02024BE0
- thumb_func_end sub_813FD34
-
- thumb_func_start sub_813FD90
-sub_813FD90: @ 813FD90
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- ldrh r2, [r4, 0x32]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r0, _0813FDB8 @ =0x0000ffd8
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r0, _0813FDBC @ =sub_813FDC0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FDB8: .4byte 0x0000ffd8
-_0813FDBC: .4byte sub_813FDC0
- thumb_func_end sub_813FD90
-
- thumb_func_start sub_813FDC0
-sub_813FDC0: @ 813FDC0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _0813FE5A
- ldr r0, _0813FDE0 @ =0x02017840
- ldrb r0, [r0, 0x8]
- cmp r0, 0x5
- bne _0813FDE8
- ldr r0, _0813FDE4 @ =sub_81407B8
- str r0, [r4, 0x1C]
- b _0813FE5A
- .align 2, 0
-_0813FDE0: .4byte 0x02017840
-_0813FDE4: .4byte sub_81407B8
-_0813FDE8:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x26]
- adds r1, r4, 0
- adds r1, 0x2E
- movs r2, 0
- adds r0, r4, 0
- adds r0, 0x3C
-_0813FE10:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _0813FE10
- movs r0, 0
- strh r0, [r4, 0x38]
- ldr r0, _0813FE64 @ =sub_813FE70
- str r0, [r4, 0x1C]
- ldr r0, _0813FE68 @ =gUnknown_02024C04
- ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xB
- bgt _0813FE5A
- cmp r5, 0
- blt _0813FE5A
- ldrh r0, [r4, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- str r5, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_814086C
- ldr r0, _0813FE6C @ =gUnknown_0202F7C9
- ldrb r1, [r0]
- movs r0, 0
- movs r2, 0xE
- adds r3, r5, 0
- bl sub_8141314
-_0813FE5A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FE64: .4byte sub_813FE70
-_0813FE68: .4byte gUnknown_02024C04
-_0813FE6C: .4byte gUnknown_0202F7C9
- thumb_func_end sub_813FDC0
-
- thumb_func_start sub_813FE70
-sub_813FE70: @ 813FE70
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0813FEAC
- ldr r0, _0813FEB4 @ =TaskDummy
- movs r1, 0x32
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x38]
- ldr r0, _0813FEB8 @ =sub_813FEC8
- str r0, [r4, 0x1C]
- ldr r2, _0813FEBC @ =gSprites
- ldr r1, _0813FEC0 @ =gUnknown_02024BE0
- ldr r0, _0813FEC4 @ =gUnknown_0202F7C9
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x30]
-_0813FEAC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FEB4: .4byte TaskDummy
-_0813FEB8: .4byte sub_813FEC8
-_0813FEBC: .4byte gSprites
-_0813FEC0: .4byte gUnknown_02024BE0
-_0813FEC4: .4byte gUnknown_0202F7C9
- thumb_func_end sub_813FE70
-
- thumb_func_start sub_813FEC8
-sub_813FEC8: @ 813FEC8
- push {r4-r7,lr}
- adds r7, r0, 0
- ldr r1, _0813FF0C @ =gUnknown_02024BE0
- ldr r0, _0813FF10 @ =gUnknown_0202F7C9
- ldrb r0, [r0]
- adds r0, r1
- ldrb r4, [r0]
- ldrh r0, [r7, 0x38]
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0813FF14 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _0813FEFA
- movs r0, 0x3C
- bl PlaySE
-_0813FEFA:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0813FF70
- cmp r0, 0x1
- bgt _0813FF18
- cmp r0, 0
- beq _0813FF1E
- b _0813FFDC
- .align 2, 0
-_0813FF0C: .4byte gUnknown_02024BE0
-_0813FF10: .4byte gUnknown_0202F7C9
-_0813FF14: .4byte gTasks
-_0813FF18:
- cmp r0, 0x2
- beq _0813FFB4
- b _0813FFDC
-_0813FF1E:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078E70
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r5, 0x1C]
- ldr r1, _0813FF60 @ =gUnknown_03005F0C
- movs r0, 0x1C
- str r0, [r1]
- ldr r2, _0813FF64 @ =gUnknown_03005F14
- ldr r1, _0813FF68 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- ldrh r0, [r7, 0x26]
- ldrh r7, [r7, 0x22]
- adds r0, r7
- subs r1, r0
- strh r1, [r2]
- ldr r4, _0813FF6C @ =gUnknown_03005F10
- ldrh r0, [r2]
- lsls r0, 8
- movs r1, 0x1C
- bl __udivsi3
- strh r0, [r4]
- strh r0, [r5, 0xC]
- b _0813FFCE
- .align 2, 0
-_0813FF60: .4byte gUnknown_03005F0C
-_0813FF64: .4byte gUnknown_03005F14
-_0813FF68: .4byte gSprites
-_0813FF6C: .4byte gUnknown_03005F10
-_0813FF70:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x20
- strh r0, [r5, 0x1C]
- movs r0, 0x1C
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r5, 0xC]
- ldrh r1, [r5, 0xE]
- adds r0, r1
- strh r0, [r5, 0xE]
- ldr r0, _0813FFAC @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- negs r0, r0
- asrs r0, 8
- strh r0, [r1, 0x26]
- movs r0, 0x1C
- ldrsh r1, [r5, r0]
- ldr r0, _0813FFB0 @ =0x0000047f
- cmp r1, r0
- ble _08140004
- b _0813FFCE
- .align 2, 0
-_0813FFAC: .4byte gSprites
-_0813FFB0: .4byte 0x0000047f
-_0813FFB4:
- adds r0, r4, 0
- bl sub_8078F40
- ldr r1, _0813FFD8 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0813FFCE:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _08140004
- .align 2, 0
-_0813FFD8: .4byte gSprites
-_0813FFDC:
- ldr r0, _0814000C @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0xA
- ble _08140004
- adds r0, r6, 0
- bl DestroyTask
- adds r0, r7, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r7, 0x38]
- ldr r0, _08140010 @ =sub_8140014
- str r0, [r7, 0x1C]
-_08140004:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814000C: .4byte gTasks
-_08140010: .4byte sub_8140014
- thumb_func_end sub_813FEC8
-
- thumb_func_start sub_8140014
-sub_8140014: @ 8140014
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0814004E
- movs r1, 0
- strh r1, [r4, 0x34]
- movs r0, 0x20
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- movs r0, 0
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldr r0, _08140054 @ =sub_8140058
- str r0, [r4, 0x1C]
-_0814004E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08140054: .4byte sub_8140058
- thumb_func_end sub_8140014
-
- thumb_func_start sub_8140058
-sub_8140058: @ 8140058
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0
- beq _0814006E
- cmp r1, 0x1
- beq _081400E2
- b _0814010E
-_0814006E:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- adds r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- adds r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x3F
- ble _0814010E
- ldrh r0, [r4, 0x36]
- subs r0, 0xA
- strh r0, [r4, 0x36]
- ldr r1, _081400B8 @ =0x00000101
- adds r0, r2, r1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- cmp r0, 0x4
- bne _081400AA
- movs r5, 0x1
-_081400AA:
- cmp r0, 0x2
- beq _081400CA
- cmp r0, 0x2
- bgt _081400BC
- cmp r0, 0x1
- beq _081400C2
- b _081400DA
- .align 2, 0
-_081400B8: .4byte 0x00000101
-_081400BC:
- cmp r0, 0x3
- beq _081400D2
- b _081400DA
-_081400C2:
- movs r0, 0x38
- bl PlaySE
- b _0814010E
-_081400CA:
- movs r0, 0x39
- bl PlaySE
- b _0814010E
-_081400D2:
- movs r0, 0x3A
- bl PlaySE
- b _0814010E
-_081400DA:
- movs r0, 0x3B
- bl PlaySE
- b _0814010E
-_081400E2:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- subs r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- subs r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- cmp r1, 0
- bgt _0814010E
- strh r5, [r4, 0x38]
- ldr r0, _08140138 @ =0xffffff00
- ands r0, r2
- strh r0, [r4, 0x34]
-_0814010E:
- cmp r5, 0
- beq _0814014E
- movs r5, 0
- strh r5, [r4, 0x34]
- movs r0, 0x40
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x26]
- ldr r0, _0814013C @ =0x02017840
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08140144
- strh r5, [r4, 0x38]
- ldr r0, _08140140 @ =sub_8140410
- str r0, [r4, 0x1C]
- b _0814014E
- .align 2, 0
-_08140138: .4byte 0xffffff00
-_0814013C: .4byte 0x02017840
-_08140140: .4byte sub_8140410
-_08140144:
- ldr r0, _08140154 @ =sub_8140158
- str r0, [r4, 0x1C]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
-_0814014E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08140154: .4byte sub_8140158
- thumb_func_end sub_8140058
-
- thumb_func_start sub_8140158
-sub_8140158: @ 8140158
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08140190
- strh r5, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, _08140198 @ =0x02017840
- strh r5, [r0, 0xC]
- ldr r0, _0814019C @ =sub_81401A0
- str r0, [r4, 0x1C]
- movs r0, 0x17
- bl PlaySE
-_08140190:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08140198: .4byte 0x02017840
-_0814019C: .4byte sub_81401A0
- thumb_func_end sub_8140158
-
- thumb_func_start sub_81401A0
-sub_81401A0: @ 81401A0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x6
- bls _081401B0
- b _081403C4
-_081401B0:
- lsls r0, r1, 2
- ldr r1, _081401BC @ =_081401C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081401BC: .4byte _081401C0
- .align 2, 0
-_081401C0:
- .4byte _081401DC
- .4byte _08140226
- .4byte _0814026C
- .4byte _081402C0
- .4byte _08140310
- .4byte _08140368
- .4byte _081403C4
-_081401DC:
- ldr r0, _081401F8 @ =0x02017840
- ldrh r2, [r0, 0xC]
- movs r3, 0xC
- ldrsh r1, [r0, r3]
- adds r5, r0, 0
- cmp r1, 0xFF
- ble _081401FC
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r0, 0xFF
- ands r0, r2
- b _08140200
- .align 2, 0
-_081401F8: .4byte 0x02017840
-_081401FC:
- adds r0, r2, 0
- adds r0, 0xB0
-_08140200:
- strh r0, [r5, 0xC]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r4, 0x38]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- adds r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bhi _08140224
- b _0814040A
-_08140224:
- b _081402B4
-_08140226:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _081402CC
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x36]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _08140262
- adds r0, r4, 0
- movs r1, 0x2
- bl ChangeSpriteAffineAnim
- b _0814040A
-_08140262:
- adds r0, r4, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
- b _0814040A
-_0814026C:
- ldr r0, _08140288 @ =0x02017840
- ldrh r2, [r0, 0xC]
- movs r3, 0xC
- ldrsh r1, [r0, r3]
- adds r5, r0, 0
- cmp r1, 0xFF
- ble _0814028C
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r0, 0xFF
- ands r0, r2
- b _08140290
- .align 2, 0
-_08140288: .4byte 0x02017840
-_0814028C:
- adds r0, r2, 0
- adds r0, 0xB0
-_08140290:
- strh r0, [r5, 0xC]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r4, 0x38]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- adds r0, 0xC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x18
- bhi _081402B4
- b _0814040A
-_081402B4:
- strh r3, [r5, 0xC]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- strh r3, [r4, 0x38]
- b _0814040A
-_081402C0:
- ldrh r0, [r4, 0x38]
- adds r1, r0, 0x1
- strh r1, [r4, 0x38]
- lsls r0, 16
- cmp r0, 0
- bge _081402DA
-_081402CC:
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- b _0814040A
-_081402DA:
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x36]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _08140308
- adds r0, r4, 0
- movs r1, 0x2
- bl ChangeSpriteAffineAnim
- b _08140310
-_08140308:
- adds r0, r4, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
-_08140310:
- ldr r0, _0814032C @ =0x02017840
- ldrh r2, [r0, 0xC]
- movs r3, 0xC
- ldrsh r1, [r0, r3]
- adds r5, r0, 0
- cmp r1, 0xFF
- ble _08140330
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r0, 0xFF
- ands r0, r2
- b _08140334
- .align 2, 0
-_0814032C: .4byte 0x02017840
-_08140330:
- adds r0, r2, 0
- adds r0, 0xB0
-_08140334:
- strh r0, [r5, 0xC]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r4, 0x38]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- adds r0, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bls _0814040A
- strh r3, [r5, 0xC]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- strh r3, [r4, 0x38]
- ldrh r0, [r4, 0x36]
- negs r0, r0
- strh r0, [r4, 0x36]
- b _0814040A
-_08140368:
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r1, r0, 24
- ldr r0, _08140394 @ =0x02017840
- ldrb r0, [r0, 0x8]
- cmp r1, r0
- bne _0814039C
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _08140398 @ =sub_8140410
- str r0, [r4, 0x1C]
- b _0814040A
- .align 2, 0
-_08140394: .4byte 0x02017840
-_08140398: .4byte sub_8140410
-_0814039C:
- cmp r0, 0x4
- bne _081403B0
- cmp r1, 0x3
- bne _081403B0
- ldr r0, _081403AC @ =sub_8140434
- str r0, [r4, 0x1C]
- b _081403B6
- .align 2, 0
-_081403AC: .4byte sub_8140434
-_081403B0:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
-_081403B6:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- b _0814040A
-_081403C4:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _0814040A
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r1, [r4, 0x34]
- ldr r0, _081403F8 @ =0xffffff00
- ands r0, r1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAffineAnim
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _081403FC
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _08140404
- .align 2, 0
-_081403F8: .4byte 0xffffff00
-_081403FC:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08140404:
- movs r0, 0x17
- bl PlaySE
-_0814040A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81401A0
-
- thumb_func_start sub_8140410
-sub_8140410: @ 8140410
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x38]
- adds r0, 0x1
- strh r0, [r1, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _0814042A
- movs r0, 0
- strh r0, [r1, 0x38]
- ldr r0, _08140430 @ =sub_81405F4
- str r0, [r1, 0x1C]
-_0814042A:
- pop {r0}
- bx r0
- .align 2, 0
-_08140430: .4byte sub_81405F4
- thumb_func_end sub_8140410
-
- thumb_func_start sub_8140434
-sub_8140434: @ 8140434
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r1, [r3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r3]
- ldr r1, _08140450 @ =sub_8140454
- str r1, [r0, 0x1C]
- movs r1, 0
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- strh r1, [r0, 0x38]
- bx lr
- .align 2, 0
-_08140450: .4byte sub_8140454
- thumb_func_end sub_8140434
-
- thumb_func_start sub_8140454
-sub_8140454: @ 8140454
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r7, _08140484 @ =gUnknown_0202F7C9
- ldrh r0, [r6, 0x36]
- adds r0, 0x1
- strh r0, [r6, 0x36]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0x28
- beq _081404CC
- cmp r1, 0x5F
- bne _08140490
- ldr r0, _08140488 @ =gUnknown_02024E6D
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- bl sub_8043EB4
- bl m4aMPlayAllStop
- ldr r0, _0814048C @ =0x00000173
- bl PlaySE
- b _081404CC
- .align 2, 0
-_08140484: .4byte gUnknown_0202F7C9
-_08140488: .4byte gUnknown_02024E6D
-_0814048C: .4byte 0x00000173
-_08140490:
- ldr r0, _081404D4 @ =0x0000013b
- cmp r1, r0
- bne _081404CC
- ldr r5, _081404D8 @ =gSprites
- ldr r4, _081404DC @ =gUnknown_02024BE0
- ldrb r0, [r7]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r7]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- movs r0, 0
- strh r0, [r6, 0x2E]
- ldr r0, _081404E0 @ =sub_81404E4
- str r0, [r6, 0x1C]
-_081404CC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081404D4: .4byte 0x0000013b
-_081404D8: .4byte gSprites
-_081404DC: .4byte gUnknown_02024BE0
-_081404E0: .4byte sub_81404E4
- thumb_func_end sub_8140454
-
- thumb_func_start sub_81404E4
-sub_81404E4: @ 81404E4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08140550
- cmp r0, 0x1
- bgt _081404FC
- cmp r0, 0
- beq _08140502
- b _08140594
-_081404FC:
- cmp r0, 0x2
- beq _08140580
- b _08140594
-_08140502:
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrb r1, [r4, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r1, _08140548 @ =REG_BLDCNT
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x10
- strh r0, [r1]
- ldr r0, [r4, 0x14]
- ldrh r0, [r0, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- ldr r0, _0814054C @ =0x00007fff
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0814058C
- .align 2, 0
-_08140548: .4byte REG_BLDCNT
-_0814054C: .4byte 0x00007fff
-_08140550:
- ldrh r0, [r4, 0x30]
- adds r1, r0, 0x1
- strh r1, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- ble _081405B2
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x32]
- adds r1, 0x1
- strh r1, [r4, 0x32]
- ldr r3, _0814057C @ =REG_BLDALPHA
- lsls r2, r1, 8
- movs r0, 0x10
- subs r0, r1
- orrs r2, r0
- strh r2, [r3]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081405B2
- b _0814058C
- .align 2, 0
-_0814057C: .4byte REG_BLDALPHA
-_08140580:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0814058C:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _081405B2
-_08140594:
- ldr r0, _081405BC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _081405B2
- ldr r0, _081405C0 @ =REG_BLDCNT
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- strh r1, [r4, 0x2E]
- ldr r0, _081405C4 @ =sub_81405C8
- str r0, [r4, 0x1C]
-_081405B2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081405BC: .4byte gPaletteFade
-_081405C0: .4byte REG_BLDCNT
-_081405C4: .4byte sub_81405C8
- thumb_func_end sub_81404E4
-
- thumb_func_start sub_81405C8
-sub_81405C8: @ 81405C8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081405E0
- ldr r0, _081405DC @ =0x0000ffff
- strh r0, [r4, 0x2E]
- b _081405EC
- .align 2, 0
-_081405DC: .4byte 0x0000ffff
-_081405E0:
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_081405EC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81405C8
-
- thumb_func_start sub_81405F4
-sub_81405F4: @ 81405F4
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r0, _081406A8 @ =sub_81406BC
- str r0, [r4, 0x1C]
- ldr r0, _081406AC @ =gUnknown_02024C04
- ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xB
- bgt _08140646
- cmp r5, 0
- blt _08140646
- ldrh r0, [r4, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- str r5, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_814086C
- ldr r0, _081406B0 @ =gUnknown_0202F7C9
- ldrb r1, [r0]
- movs r0, 0x1
- movs r2, 0xE
- adds r3, r5, 0
- bl sub_8141314
-_08140646:
- ldr r6, _081406B4 @ =gSprites
- ldr r5, _081406B8 @ =gUnknown_02024BE0
- ldr r4, _081406B0 @ =gUnknown_0202F7C9
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl AnimateSprite
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x80
- lsls r1, 5
- strh r1, [r0, 0x30]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081406A8: .4byte sub_81406BC
-_081406AC: .4byte gUnknown_02024C04
-_081406B0: .4byte gUnknown_0202F7C9
-_081406B4: .4byte gSprites
-_081406B8: .4byte gUnknown_02024BE0
- thumb_func_end sub_81405F4
-
- thumb_func_start sub_81406BC
-sub_81406BC: @ 81406BC
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081406DA
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_081406DA:
- ldr r4, _08140708 @ =gSprites
- ldr r3, _0814070C @ =gUnknown_02024BE0
- ldr r2, _08140710 @ =gUnknown_0202F7C9
- ldrb r0, [r2]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08140714
- adds r0, r1, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r5, 0x1
- b _08140734
- .align 2, 0
-_08140708: .4byte gSprites
-_0814070C: .4byte gUnknown_02024BE0
-_08140710: .4byte gUnknown_0202F7C9
-_08140714:
- ldr r6, _0814079C @ =0xfffffee0
- adds r0, r6, 0
- ldrh r6, [r1, 0x30]
- adds r0, r6
- strh r0, [r1, 0x30]
- ldrb r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r1, 0x26]
-_08140734:
- adds r0, r7, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08140796
- cmp r5, 0
- beq _08140796
- ldr r4, _081407A0 @ =gSprites
- ldr r3, _081407A4 @ =gUnknown_02024BE0
- ldr r2, _081407A8 @ =gUnknown_0202F7C9
- ldrb r0, [r2]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0
- movs r5, 0
- strh r5, [r0, 0x26]
- ldrb r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, _081407AC @ =0x02017840
- ldrb r1, [r0, 0x9]
- lsls r1, 30
- adds r2, 0x3E
- lsrs r1, 31
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- strh r5, [r7, 0x2E]
- ldr r0, _081407B0 @ =sub_81405C8
- str r0, [r7, 0x1C]
- ldr r0, _081407B4 @ =gUnknown_02024E6D
- strb r6, [r0]
- movs r0, 0x1
- bl sub_8043EB4
-_08140796:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814079C: .4byte 0xfffffee0
-_081407A0: .4byte gSprites
-_081407A4: .4byte gUnknown_02024BE0
-_081407A8: .4byte gUnknown_0202F7C9
-_081407AC: .4byte 0x02017840
-_081407B0: .4byte sub_81405C8
-_081407B4: .4byte gUnknown_02024E6D
- thumb_func_end sub_81406BC
-
- thumb_func_start sub_81407B8
-sub_81407B8: @ 81407B8
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x26]
- ldrh r3, [r2, 0x22]
- adds r0, r3
- strh r0, [r2, 0x22]
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- ldr r4, _081407F0 @ =sub_81407F4
- movs r3, 0
- movs r1, 0x5
- adds r0, r2, 0
- adds r0, 0x38
-_081407DC:
- strh r3, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _081407DC
- str r4, [r2, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081407F0: .4byte sub_81407F4
- thumb_func_end sub_81407B8
-
- thumb_func_start sub_81407F4
-sub_81407F4: @ 81407F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 4
- adds r2, r0, 0
- ldrh r1, [r4, 0x2E]
- adds r2, r1
- movs r0, 0xD0
- lsls r0, 3
- adds r3, r0, 0
- ldrh r1, [r4, 0x30]
- adds r3, r1
- lsls r1, r3, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r4, 0x2E]
- ands r3, r0
- strh r3, [r4, 0x30]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- cmp r0, 0xA0
- bgt _0814084A
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x8
- negs r1, r1
- cmp r0, r1
- bge _0814085E
-_0814084A:
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _08140864 @ =sub_81405C8
- str r0, [r4, 0x1C]
- ldr r1, _08140868 @ =gUnknown_02024E6D
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- bl sub_8043EB4
-_0814085E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08140864: .4byte sub_81405C8
-_08140868: .4byte gUnknown_02024E6D
- thumb_func_end sub_81407F4
-
- thumb_func_start sub_814086C
-sub_814086C: @ 814086C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r4, 24
- lsrs r4, 24
- adds r5, r4, 0
- ldr r0, _08140910 @ =gUnknown_0840B258
- lsls r6, r5, 3
- adds r4, r6, r0
- ldrh r0, [r4, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, _08140914 @ =0xffff0000
- cmp r0, r1
- bne _081408B6
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- ldr r0, _08140918 @ =gUnknown_0840B2B8
- adds r0, r6, r0
- bl LoadCompressedObjectPalette
-_081408B6:
- ldr r1, _0814091C @ =gUnknown_0840B384
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08140920 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- mov r1, r10
- strh r1, [r0, 0xA]
- mov r1, r9
- strh r1, [r0, 0xC]
- mov r1, r8
- strh r1, [r0, 0xE]
- strh r7, [r0, 0x10]
- strh r5, [r0, 0x26]
- movs r0, 0xF
- bl PlaySE
- ldr r0, _08140924 @ =gMain
- ldr r1, _08140928 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08140900
- ldr r1, _0814092C @ =0x02017840
- ldrb r0, [r1, 0xA]
- adds r0, 0x1
- strb r0, [r1, 0xA]
-_08140900:
- adds r0, r4, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08140910: .4byte gUnknown_0840B258
-_08140914: .4byte 0xffff0000
-_08140918: .4byte gUnknown_0840B2B8
-_0814091C: .4byte gUnknown_0840B384
-_08140920: .4byte gTasks
-_08140924: .4byte gMain
-_08140928: .4byte 0x0000043d
-_0814092C: .4byte 0x02017840
- thumb_func_end sub_814086C
-
- thumb_func_start sub_8140930
-sub_8140930: @ 8140930
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, _081409D0 @ =gTasks
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r7, r0, r1
- ldrh r0, [r7, 0x26]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0xF
- bgt _081409E4
- ldrb r1, [r7, 0xA]
- ldrb r2, [r7, 0xC]
- ldrb r6, [r7, 0xE]
- ldrb r3, [r7, 0x10]
- mov r4, r8
- lsls r0, r4, 1
- add r0, r8
- lsls r0, 3
- ldr r4, _081409D4 @ =gSpriteTemplate_840B3B4
- adds r0, r4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, _081409D8 @ =gSprites
- adds r2, r4, r5
- ldr r0, _081409DC @ =gUnknown_0840B378
- add r0, r8
- ldrb r1, [r0]
- adds r0, r2, 0
- str r2, [sp]
- bl StartSpriteAnim
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _081409E0 @ =sub_8140A08
- str r0, [r4]
- movs r0, 0x3
- ands r6, r0
- lsls r6, 2
- ldr r2, [sp]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r6
- strb r0, [r2, 0x5]
- ldrb r0, [r7, 0x8]
- cmp r0, 0x7
- bls _081409B6
- subs r0, 0x8
- lsls r0, 24
- lsrs r0, 24
-_081409B6:
- lsls r0, 5
- strh r0, [r2, 0x2E]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0xF
- bne _081409E4
- movs r0, 0x1
- strh r0, [r2, 0x3C]
- mov r0, r9
- bl DestroyTask
- b _081409F6
- .align 2, 0
-_081409D0: .4byte gTasks
-_081409D4: .4byte gSpriteTemplate_840B3B4
-_081409D8: .4byte gSprites
-_081409DC: .4byte gUnknown_0840B378
-_081409E0: .4byte sub_8140A08
-_081409E4:
- ldr r0, _08140A04 @ =gTasks
- mov r2, r9
- lsls r1, r2, 2
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081409F6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140A04: .4byte gTasks
- thumb_func_end sub_8140930
-
- thumb_func_start sub_8140A08
-sub_8140A08: @ 8140A08
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x30]
- movs r3, 0x30
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08140A20
- ldr r0, _08140A1C @ =sub_8140A28
- str r0, [r1, 0x1C]
- b _08140A24
- .align 2, 0
-_08140A1C: .4byte sub_8140A28
-_08140A20:
- subs r0, r2, 0x1
- strh r0, [r1, 0x30]
-_08140A24:
- pop {r0}
- bx r0
- thumb_func_end sub_8140A08
-
- thumb_func_start sub_8140A28
-sub_8140A28: @ 8140A28
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- bne _08140A5C
- adds r0, r4, 0
- bl sub_8141294
-_08140A5C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8140A28
-
- thumb_func_start sub_8140A64
-sub_8140A64: @ 8140A64
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08140B24 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xA]
- str r2, [sp]
- ldrb r3, [r0, 0xC]
- str r3, [sp, 0x4]
- ldrb r2, [r0, 0xE]
- str r2, [sp, 0x8]
- ldrb r0, [r0, 0x10]
- str r0, [sp, 0xC]
- movs r6, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- ldr r3, _08140B28 @ =gSprites
- mov r8, r3
- ldr r0, _08140B2C @ =gUnknown_0840B378
- adds r1, r0
- mov r9, r1
-_08140AA8:
- ldr r0, _08140B30 @ =gSpriteTemplate_840B3B4
- add r0, r10
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0xC]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- mov r0, r8
- adds r4, r5, r0
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r3, _08140B34 @ =gSprites + 0x1C
- adds r1, r5, r3
- ldr r0, _08140B38 @ =sub_8140ECC
- str r0, [r1]
- movs r0, 0x3
- ldr r2, [sp, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r4, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r0, r6, 5
- strh r0, [r4, 0x2E]
- movs r0, 0xA
- strh r0, [r4, 0x36]
- movs r0, 0x2
- strh r0, [r4, 0x38]
- movs r2, 0x1
- strh r2, [r4, 0x3A]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _08140AA8
- ldr r0, _08140B28 @ =gSprites
- adds r0, r5, r0
- strh r2, [r0, 0x3C]
- adds r0, r7, 0
- bl DestroyTask
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140B24: .4byte gTasks
-_08140B28: .4byte gSprites
-_08140B2C: .4byte gUnknown_0840B378
-_08140B30: .4byte gSpriteTemplate_840B3B4
-_08140B34: .4byte gSprites + 0x1C
-_08140B38: .4byte sub_8140ECC
- thumb_func_end sub_8140A64
-
- thumb_func_start sub_8140B3C
-sub_8140B3C: @ 8140B3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08140BFC @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xA]
- str r2, [sp]
- ldrb r3, [r0, 0xC]
- str r3, [sp, 0x4]
- ldrb r2, [r0, 0xE]
- str r2, [sp, 0x8]
- ldrb r0, [r0, 0x10]
- str r0, [sp, 0xC]
- movs r6, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- ldr r3, _08140C00 @ =gSprites
- mov r8, r3
- ldr r0, _08140C04 @ =gUnknown_0840B378
- adds r1, r0
- mov r9, r1
-_08140B80:
- ldr r0, _08140C08 @ =gSpriteTemplate_840B3B4
- add r0, r10
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0xC]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- mov r0, r8
- adds r4, r5, r0
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r3, _08140C0C @ =gSprites + 0x1C
- adds r1, r5, r3
- ldr r0, _08140C10 @ =sub_8140ECC
- str r0, [r1]
- movs r0, 0x3
- ldr r2, [sp, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r4, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r0, r6, 5
- strh r0, [r4, 0x2E]
- movs r0, 0xA
- strh r0, [r4, 0x36]
- movs r1, 0x1
- strh r1, [r4, 0x38]
- movs r0, 0x2
- strh r0, [r4, 0x3A]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _08140B80
- ldr r0, _08140C00 @ =gSprites
- adds r0, r5, r0
- strh r1, [r0, 0x3C]
- adds r0, r7, 0
- bl DestroyTask
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140BFC: .4byte gTasks
-_08140C00: .4byte gSprites
-_08140C04: .4byte gUnknown_0840B378
-_08140C08: .4byte gSpriteTemplate_840B3B4
-_08140C0C: .4byte gSprites + 0x1C
-_08140C10: .4byte sub_8140ECC
- thumb_func_end sub_8140B3C
-
- thumb_func_start sub_8140C14
-sub_8140C14: @ 8140C14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08140CD0 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xA]
- str r2, [sp]
- ldrb r3, [r0, 0xC]
- str r3, [sp, 0x4]
- ldrb r2, [r0, 0xE]
- str r2, [sp, 0x8]
- ldrb r0, [r0, 0x10]
- str r0, [sp, 0xC]
- movs r6, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- ldr r3, _08140CD4 @ =gSprites
- mov r8, r3
- ldr r0, _08140CD8 @ =gUnknown_0840B378
- adds r1, r0
- mov r9, r1
-_08140C58:
- ldr r0, _08140CDC @ =gSpriteTemplate_840B3B4
- add r0, r10
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0xC]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- mov r0, r8
- adds r4, r5, r0
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r3, _08140CE0 @ =gSprites + 0x1C
- adds r1, r5, r3
- ldr r0, _08140CE4 @ =sub_8140ECC
- str r0, [r1]
- movs r0, 0x3
- ldr r2, [sp, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r4, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r0, r6, 5
- strh r0, [r4, 0x2E]
- movs r0, 0x4
- strh r0, [r4, 0x36]
- movs r2, 0x1
- strh r2, [r4, 0x38]
- strh r2, [r4, 0x3A]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _08140C58
- ldr r0, _08140CD4 @ =gSprites
- adds r0, r5, r0
- strh r2, [r0, 0x3C]
- adds r0, r7, 0
- bl DestroyTask
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140CD0: .4byte gTasks
-_08140CD4: .4byte gSprites
-_08140CD8: .4byte gUnknown_0840B378
-_08140CDC: .4byte gSpriteTemplate_840B3B4
-_08140CE0: .4byte gSprites + 0x1C
-_08140CE4: .4byte sub_8140ECC
- thumb_func_end sub_8140C14
-
- thumb_func_start sub_8140CE8
-sub_8140CE8: @ 8140CE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08140DAC @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xA]
- str r2, [sp]
- ldrb r3, [r0, 0xC]
- str r3, [sp, 0x4]
- ldrb r2, [r0, 0xE]
- str r2, [sp, 0x8]
- ldrb r0, [r0, 0x10]
- str r0, [sp, 0xC]
- movs r6, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- ldr r3, _08140DB0 @ =gSprites
- mov r8, r3
- ldr r0, _08140DB4 @ =gUnknown_0840B378
- adds r1, r0
- mov r9, r1
-_08140D2C:
- ldr r0, _08140DB8 @ =gSpriteTemplate_840B3B4
- add r0, r10
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0xC]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- mov r0, r8
- adds r4, r5, r0
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r3, _08140DBC @ =gSprites + 0x1C
- adds r1, r5, r3
- ldr r0, _08140DC0 @ =sub_8140ECC
- str r0, [r1]
- movs r0, 0x3
- ldr r2, [sp, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r4, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 3
- adds r0, r6
- strh r0, [r4, 0x2E]
- movs r0, 0x5
- strh r0, [r4, 0x36]
- movs r2, 0x1
- strh r2, [r4, 0x38]
- strh r2, [r4, 0x3A]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x9
- bls _08140D2C
- ldr r0, _08140DB0 @ =gSprites
- adds r0, r5, r0
- strh r2, [r0, 0x3C]
- adds r0, r7, 0
- bl DestroyTask
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140DAC: .4byte gTasks
-_08140DB0: .4byte gSprites
-_08140DB4: .4byte gUnknown_0840B378
-_08140DB8: .4byte gSpriteTemplate_840B3B4
-_08140DBC: .4byte gSprites + 0x1C
-_08140DC0: .4byte sub_8140ECC
- thumb_func_end sub_8140CE8
-
- thumb_func_start sub_8140DC4
-sub_8140DC4: @ 8140DC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08140DF0 @ =gTasks
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 3
- adds r3, r0, r1
- ldrh r1, [r3, 0x16]
- movs r4, 0x16
- ldrsh r0, [r3, r4]
- cmp r0, 0
- beq _08140DF4
- subs r0, r1, 0x1
- strh r0, [r3, 0x16]
- b _08140EA4
- .align 2, 0
-_08140DF0: .4byte gTasks
-_08140DF4:
- ldrh r0, [r3, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r3, 0xA]
- str r1, [sp]
- ldrb r4, [r3, 0xC]
- str r4, [sp, 0x4]
- ldrb r1, [r3, 0xE]
- str r1, [sp, 0x8]
- ldrb r3, [r3, 0x10]
- str r3, [sp, 0xC]
- movs r6, 0
- str r2, [sp, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- mov r10, r1
- ldr r3, _08140EB4 @ =gSprites
- mov r8, r3
- ldr r1, _08140EB8 @ =gUnknown_0840B378
- adds r0, r1
- mov r9, r0
-_08140E20:
- ldr r0, _08140EBC @ =gSpriteTemplate_840B3B4
- add r0, r10
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0xC]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- mov r0, r8
- adds r4, r5, r0
- mov r3, r9
- ldrb r1, [r3]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _08140EC0 @ =gSprites + 0x1C
- adds r1, r5, r0
- ldr r0, _08140EC4 @ =sub_8140ECC
- str r0, [r1]
- movs r0, 0x3
- ldr r2, [sp, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r4, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r0, r6, 5
- strh r0, [r4, 0x2E]
- movs r2, 0x8
- strh r2, [r4, 0x36]
- movs r0, 0x2
- strh r0, [r4, 0x38]
- strh r0, [r4, 0x3A]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _08140E20
- ldr r0, _08140EC8 @ =gTasks
- ldr r4, [sp, 0x10]
- adds r1, r4, r7
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x16]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _08140EA4
- ldr r0, _08140EB4 @ =gSprites
- adds r0, r5, r0
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- adds r0, r7, 0
- bl DestroyTask
-_08140EA4:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140EB4: .4byte gSprites
-_08140EB8: .4byte gUnknown_0840B378
-_08140EBC: .4byte gSpriteTemplate_840B3B4
-_08140EC0: .4byte gSprites + 0x1C
-_08140EC4: .4byte sub_8140ECC
-_08140EC8: .4byte gTasks
- thumb_func_end sub_8140DC4
-
- thumb_func_start sub_8140ECC
-sub_8140ECC: @ 8140ECC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- ldrh r2, [r4, 0x30]
- adds r0, r2
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _08140F1C
- adds r0, r4, 0
- bl sub_8141294
-_08140F1C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8140ECC
-
- thumb_func_start sub_8140F24
-sub_8140F24: @ 8140F24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08140FE0 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xA]
- str r2, [sp]
- ldrb r3, [r0, 0xC]
- str r3, [sp, 0x4]
- ldrb r2, [r0, 0xE]
- str r2, [sp, 0x8]
- ldrb r0, [r0, 0x10]
- str r0, [sp, 0xC]
- movs r6, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- ldr r3, _08140FE4 @ =gSprites
- mov r8, r3
- ldr r0, _08140FE8 @ =gUnknown_0840B378
- adds r1, r0
- mov r9, r1
-_08140F68:
- ldr r0, _08140FEC @ =gSpriteTemplate_840B3B4
- add r0, r10
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0xC]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- mov r0, r8
- adds r4, r5, r0
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r3, _08140FF0 @ =gSprites + 0x1C
- adds r1, r5, r3
- ldr r0, _08140FF4 @ =sub_8140FF8
- str r0, [r1]
- movs r0, 0x3
- ldr r2, [sp, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r4, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r0, r6
- strh r0, [r4, 0x2E]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xB
- bls _08140F68
- ldr r0, _08140FE4 @ =gSprites
- adds r0, r5, r0
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- adds r0, r7, 0
- bl DestroyTask
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140FE0: .4byte gTasks
-_08140FE4: .4byte gSprites
-_08140FE8: .4byte gUnknown_0840B378
-_08140FEC: .4byte gSpriteTemplate_840B3B4
-_08140FF0: .4byte gSprites + 0x1C
-_08140FF4: .4byte sub_8140FF8
- thumb_func_end sub_8140F24
-
- thumb_func_start sub_8140FF8
-sub_8140FF8: @ 8140FF8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- movs r2, 0x32
- ldrsh r1, [r5, r2]
- adds r0, r4, 0
- bl Sin
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl Cos
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _08141050
- adds r0, r5, 0
- bl sub_8141294
-_08141050:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8140FF8
-
- thumb_func_start sub_8141058
-sub_8141058: @ 8141058
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r1, _08141104 @ =gTasks
- lsls r0, 2
- ldr r2, [sp]
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldrb r3, [r0, 0xA]
- str r3, [sp, 0x4]
- ldrb r2, [r0, 0xC]
- str r2, [sp, 0x8]
- ldrb r3, [r0, 0xE]
- str r3, [sp, 0xC]
- ldrb r0, [r0, 0x10]
- str r0, [sp, 0x10]
- movs r0, 0
- mov r8, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- str r0, [sp, 0x14]
- ldr r0, _08141108 @ =gUnknown_0840B378
- adds r1, r0
- mov r10, r1
-_0814109E:
- movs r7, 0
- movs r1, 0x1
- add r1, r8
- mov r9, r1
-_081410A6:
- ldr r0, _0814110C @ =gSpriteTemplate_840B3B4
- ldr r2, [sp, 0x14]
- adds r0, r2, r0
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- ldr r3, [sp, 0x10]
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- ldr r3, _08141110 @ =gSprites
- adds r5, r4, r3
- mov r0, r10
- ldrb r1, [r0]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r1, _08141114 @ =gSprites + 0x1C
- adds r4, r1
- ldr r0, _08141118 @ =sub_8140ECC
- str r0, [r4]
- movs r0, 0x3
- ldr r1, [sp, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r0, [r5, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r2, r3, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- lsls r0, r7, 5
- strh r0, [r5, 0x2E]
- movs r0, 0x8
- strh r0, [r5, 0x36]
- mov r0, r8
- cmp r0, 0
- bne _0814111C
- movs r0, 0x2
- strh r0, [r5, 0x38]
- movs r0, 0x1
- b _08141122
- .align 2, 0
-_08141104: .4byte gTasks
-_08141108: .4byte gUnknown_0840B378
-_0814110C: .4byte gSpriteTemplate_840B3B4
-_08141110: .4byte gSprites
-_08141114: .4byte gSprites + 0x1C
-_08141118: .4byte sub_8140ECC
-_0814111C:
- movs r0, 0x1
- strh r0, [r5, 0x38]
- movs r0, 0x2
-_08141122:
- strh r0, [r5, 0x3A]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x7
- bls _081410A6
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x1
- bls _0814109E
- ldr r0, _08141160 @ =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- ldr r0, [sp]
- bl DestroyTask
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141160: .4byte gSprites
- thumb_func_end sub_8141058
-
- thumb_func_start sub_8141164
-sub_8141164: @ 8141164
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08141218 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xA]
- str r2, [sp]
- ldrb r3, [r0, 0xC]
- str r3, [sp, 0x4]
- ldrb r2, [r0, 0xE]
- str r2, [sp, 0x8]
- ldrb r0, [r0, 0x10]
- str r0, [sp, 0xC]
- movs r6, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- ldr r3, _0814121C @ =gSprites
- mov r8, r3
- ldr r0, _08141220 @ =gUnknown_0840B378
- adds r1, r0
- mov r9, r1
-_081411A8:
- ldr r0, _08141224 @ =gSpriteTemplate_840B3B4
- add r0, r10
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0xC]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- mov r0, r8
- adds r4, r5, r0
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r3, _08141228 @ =gSprites + 0x1C
- adds r1, r5, r3
- ldr r0, _0814122C @ =sub_8141230
- str r0, [r1]
- movs r0, 0x3
- ldr r2, [sp, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r4, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- lsls r0, r6, 5
- strh r0, [r4, 0x2E]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _081411A8
- ldr r0, _0814121C @ =gSprites
- adds r0, r5, r0
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- adds r0, r7, 0
- bl DestroyTask
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141218: .4byte gTasks
-_0814121C: .4byte gSprites
-_08141220: .4byte gUnknown_0840B378
-_08141224: .4byte gSpriteTemplate_840B3B4
-_08141228: .4byte gSprites + 0x1C
-_0814122C: .4byte sub_8141230
- thumb_func_end sub_8141164
-
- thumb_func_start sub_8141230
-sub_8141230: @ 8141230
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- ldrh r1, [r5, 0x2E]
- movs r0, 0x3F
- ands r0, r1
- movs r2, 0x32
- ldrsh r1, [r5, r2]
- bl Sin
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl Cos
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x2E]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _0814128C
- adds r0, r5, 0
- bl sub_8141294
-_0814128C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8141230
-
- thumb_func_start sub_8141294
-sub_8141294: @ 8141294
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, _081412B8 @ =gMain
- ldr r1, _081412BC @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _081412C0
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _081412F2
- adds r0, r5, 0
- bl DestroySpriteAndFreeResources
- b _0814130E
- .align 2, 0
-_081412B8: .4byte gMain
-_081412BC: .4byte 0x0000043d
-_081412C0:
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08141308
- ldr r1, _081412FC @ =0x02017840
- ldrb r0, [r1, 0xA]
- subs r0, 0x1
- strb r0, [r1, 0xA]
- lsls r0, 24
- cmp r0, 0
- bne _081412F2
- movs r7, 0
- ldr r6, _08141300 @ =gUnknown_0840B258
- ldr r4, _08141304 @ =gUnknown_0840B2B8
-_081412DC:
- ldrh r0, [r6, 0x6]
- bl FreeSpriteTilesByTag
- ldrh r0, [r4, 0x4]
- bl FreeSpritePaletteByTag
- adds r6, 0x8
- adds r4, 0x8
- adds r7, 0x1
- cmp r7, 0xB
- ble _081412DC
-_081412F2:
- adds r0, r5, 0
- bl DestroySprite
- b _0814130E
- .align 2, 0
-_081412FC: .4byte 0x02017840
-_08141300: .4byte gUnknown_0840B258
-_08141304: .4byte gUnknown_0840B2B8
-_08141308:
- adds r0, r5, 0
- bl DestroySprite
-_0814130E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8141294
-
- thumb_func_start sub_8141314
-sub_8141314: @ 8141314
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r0, 0
- mov r9, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r3, 24
- lsrs r7, r3, 24
- ldr r0, _08141378 @ =sub_81413DC
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _0814137C @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r5, r0, r1
- strh r7, [r5, 0x26]
- strh r6, [r5, 0xE]
- mov r0, r9
- strh r0, [r5, 0x1C]
- mov r1, r9
- lsrs r0, r1, 16
- strh r0, [r5, 0x1E]
- cmp r4, 0
- bne _08141384
- lsls r0, r6, 20
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r0, 16
- ldr r2, _08141380 @ =gUnknown_0840B4D4
- lsls r1, r7, 1
- adds r1, r2
- ldrh r3, [r1]
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- movs r0, 0x1
- strh r0, [r5, 0xA]
- b _081413AA
- .align 2, 0
-_08141378: .4byte sub_81413DC
-_0814137C: .4byte gTasks
-_08141380: .4byte gUnknown_0840B4D4
-_08141384:
- lsls r0, r6, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldr r2, _081413CC @ =gUnknown_0840B4D4
- lsls r1, r7, 1
- adds r1, r2
- ldrh r3, [r1]
- movs r1, 0x10
- movs r2, 0x10
- bl BlendPalette
- movs r0, 0x10
- strh r0, [r5, 0x8]
- ldr r0, _081413D0 @ =0x0000ffff
- strh r0, [r5, 0xA]
- ldr r0, _081413D4 @ =sub_814146C
- str r0, [r5]
-_081413AA:
- ldr r0, _081413D8 @ =0x00007fff
- str r0, [sp]
- mov r0, r9
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081413CC: .4byte gUnknown_0840B4D4
-_081413D0: .4byte 0x0000ffff
-_081413D4: .4byte sub_814146C
-_081413D8: .4byte 0x00007fff
- thumb_func_end sub_8141314
-
- thumb_func_start sub_81413DC
-sub_81413DC: @ 81413DC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _0814142C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bgt _08141434
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- lsls r0, 20
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r0, 16
- ldrb r2, [r4, 0x8]
- ldr r3, _08141430 @ =gUnknown_0840B4D4
- lsls r1, 1
- adds r1, r3
- ldrh r3, [r1]
- movs r1, 0x10
- bl BlendPalette
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- b _0814145C
- .align 2, 0
-_0814142C: .4byte gTasks
-_08141430: .4byte gUnknown_0840B4D4
-_08141434:
- ldr r0, _08141464 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0814145C
- ldrh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- lsls r1, 16
- orrs r0, r1
- ldr r1, _08141468 @ =0x00007fff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r5, 0
- bl DestroyTask
-_0814145C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08141464: .4byte gPaletteFade
-_08141468: .4byte 0x00007fff
- thumb_func_end sub_81413DC
-
- thumb_func_start sub_814146C
-sub_814146C: @ 814146C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _081414AC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081414A4
- ldr r0, _081414B0 @ =gTasks
- lsls r4, r2, 2
- adds r4, r2
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- lsls r1, 16
- orrs r0, r1
- ldr r1, _081414B4 @ =0x00007fff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _081414B8 @ =sub_81414BC
- str r0, [r4]
-_081414A4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081414AC: .4byte gPaletteFade
-_081414B0: .4byte gTasks
-_081414B4: .4byte 0x00007fff
-_081414B8: .4byte sub_81414BC
- thumb_func_end sub_814146C
-
- thumb_func_start sub_81414BC
-sub_81414BC: @ 81414BC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _08141508 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r1, r0, 24
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0x10
- bgt _08141510
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- lsls r0, 20
- movs r3, 0x80
- lsls r3, 17
- adds r0, r3
- lsrs r0, 16
- ldrb r2, [r4, 0x8]
- ldr r3, _0814150C @ =gUnknown_0840B4D4
- lsls r1, 1
- adds r1, r3
- ldrh r3, [r1]
- movs r1, 0x10
- bl BlendPalette
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- b _08141516
- .align 2, 0
-_08141508: .4byte gTasks
-_0814150C: .4byte gUnknown_0840B4D4
-_08141510:
- adds r0, r2, 0
- bl DestroyTask
-_08141516:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81414BC
-
- thumb_func_start sub_814151C
-sub_814151C: @ 814151C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- mov r8, r0
- ldr r0, _08141550 @ =gUnknown_02024BE0
- ldr r3, _08141554 @ =gUnknown_0202F7C8
- ldrb r2, [r3]
- adds r0, r2, r0
- ldrb r6, [r0]
- ldr r1, _08141558 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _081415F4
- cmp r0, 0x1
- bgt _0814155C
- cmp r0, 0
- beq _08141562
- b _081416B6
- .align 2, 0
-_08141550: .4byte gUnknown_02024BE0
-_08141554: .4byte gUnknown_0202F7C8
-_08141558: .4byte gTasks
-_0814155C:
- cmp r0, 0x2
- beq _08141606
- b _081416B6
-_08141562:
- ldr r0, _0814159C @ =gUnknown_03004B00
- ldrh r0, [r0]
- strh r0, [r5, 0x1E]
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r4, [r5, 0x8]
- adds r0, r4
- strh r0, [r5, 0x8]
- ldrb r0, [r3]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _081415A4
- ldr r2, _081415A0 @ =gSprites
- lsls r3, r6, 4
- adds r1, r3, r6
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 24
- ldrh r4, [r1, 0x24]
- adds r0, r4
- strh r0, [r1, 0x24]
- adds r4, r3, 0
- b _081415BC
- .align 2, 0
-_0814159C: .4byte gUnknown_03004B00
-_081415A0: .4byte gSprites
-_081415A4:
- ldr r3, _081415EC @ =gSprites
- lsls r4, r6, 4
- adds r2, r4, r6
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r5, 0x8]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
-_081415BC:
- ldr r1, _081415F0 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r3, r0, r1
- ldrb r0, [r3, 0x8]
- strh r0, [r3, 0x8]
- adds r0, r4, r6
- lsls r0, 2
- adds r0, r2
- movs r2, 0x20
- ldrsh r1, [r0, r2]
- movs r4, 0x24
- ldrsh r0, [r0, r4]
- adds r1, r0
- adds r1, 0x20
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- bls _081416B6
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- b _081416B6
- .align 2, 0
-_081415EC: .4byte gSprites
-_081415F0: .4byte gTasks
-_081415F4:
- ldrb r1, [r5, 0x1E]
- adds r0, r2, 0
- adds r2, r6, 0
- bl refresh_graphics_maybe
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- b _081416B6
-_08141606:
- movs r1, 0xA0
- lsls r1, 3
- adds r0, r1, 0
- ldrh r2, [r5, 0x8]
- adds r0, r2
- strh r0, [r5, 0x8]
- ldrb r0, [r3]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _0814163C
- ldr r0, _08141638 @ =gSprites
- lsls r3, r6, 4
- adds r2, r3, r6
- lsls r2, 2
- adds r2, r0
- ldrh r1, [r5, 0x8]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r4, r3, 0
- b _08141654
- .align 2, 0
-_08141638: .4byte gSprites
-_0814163C:
- ldr r0, _08141688 @ =gSprites
- lsls r2, r6, 4
- adds r1, r2, r6
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 24
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- adds r4, r2, 0
-_08141654:
- ldr r1, _0814168C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x8]
- strh r1, [r0, 0x8]
- ldr r0, _08141690 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08141694
- ldr r0, _08141688 @ =gSprites
- adds r1, r4, r6
- lsls r1, 2
- adds r1, r0
- movs r4, 0x24
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bgt _081416AA
- movs r0, 0
- strh r0, [r1, 0x24]
- b _081416B0
- .align 2, 0
-_08141688: .4byte gSprites
-_0814168C: .4byte gTasks
-_08141690: .4byte gUnknown_0202F7C8
-_08141694:
- ldr r0, _081416C0 @ =gSprites
- adds r1, r4, r6
- lsls r1, 2
- adds r1, r0
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- cmp r0, 0
- blt _081416AA
- strh r2, [r1, 0x24]
- movs r4, 0x1
- mov r8, r4
-_081416AA:
- mov r0, r8
- cmp r0, 0
- beq _081416B6
-_081416B0:
- adds r0, r7, 0
- bl move_anim_task_del
-_081416B6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081416C0: .4byte gSprites
- thumb_func_end sub_814151C
-
- thumb_func_start sub_81416C4
-sub_81416C4: @ 81416C4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _081416E8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08141744
- cmp r0, 0x1
- bgt _081416EC
- cmp r0, 0
- beq _081416F2
- b _081417B8
- .align 2, 0
-_081416E8: .4byte gTasks
-_081416EC:
- cmp r0, 0x2
- beq _0814177C
- b _081417B8
-_081416F2:
- ldr r0, _08141708 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08141714
- ldr r1, _0814170C @ =REG_BLDCNT
- ldr r2, _08141710 @ =0x00003f42
- b _08141718
- .align 2, 0
-_08141708: .4byte gUnknown_0202F7C8
-_0814170C: .4byte REG_BLDCNT
-_08141710: .4byte 0x00003f42
-_08141714:
- ldr r1, _08141734 @ =REG_BLDCNT
- ldr r2, _08141738 @ =0x00003f44
-_08141718:
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0814173C @ =REG_BLDALPHA
- movs r0, 0x10
- strh r0, [r1]
- ldr r1, _08141740 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x26]
- adds r1, 0x1
- strh r1, [r0, 0x26]
- b _081417B8
- .align 2, 0
-_08141734: .4byte REG_BLDCNT
-_08141738: .4byte 0x00003f44
-_0814173C: .4byte REG_BLDALPHA
-_08141740: .4byte gTasks
-_08141744:
- ldrh r0, [r4, 0xA]
- adds r1, r0, 0x1
- strh r1, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081417B8
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r1, 0x1
- strh r1, [r4, 0x8]
- ldr r3, _08141778 @ =REG_BLDALPHA
- lsls r2, r1, 8
- movs r0, 0x10
- subs r0, r1
- orrs r2, r0
- strh r2, [r3]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081417B8
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- b _081417B8
- .align 2, 0
-_08141778: .4byte REG_BLDALPHA
-_0814177C:
- ldr r1, _081417C0 @ =gUnknown_02024BE0
- ldr r3, _081417C4 @ =gUnknown_0202F7C8
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, _081417C8 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r1, _081417CC @ =0x06010000
- adds r0, r1
- movs r1, 0
- str r1, [sp]
- ldr r1, _081417D0 @ =0x040000d4
- mov r2, sp
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, _081417D4 @ =0x85000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldrb r0, [r3]
- bl sub_80324E0
- adds r0, r5, 0
- bl move_anim_task_del
-_081417B8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081417C0: .4byte gUnknown_02024BE0
-_081417C4: .4byte gUnknown_0202F7C8
-_081417C8: .4byte gSprites
-_081417CC: .4byte 0x06010000
-_081417D0: .4byte 0x040000d4
-_081417D4: .4byte 0x85000200
- thumb_func_end sub_81416C4
-
- thumb_func_start sub_81417D8
-sub_81417D8: @ 81417D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _081417FC @ =gUnknown_03004B00
- ldr r1, _08141800 @ =gUnknown_0202F7C8
- ldrb r1, [r1]
- lsls r1, 2
- ldr r2, _08141804 @ =0x02017800
- adds r1, r2
- ldr r1, [r1]
- lsls r1, 29
- lsrs r1, 31
- strh r1, [r3, 0xE]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_081417FC: .4byte gUnknown_03004B00
-_08141800: .4byte gUnknown_0202F7C8
-_08141804: .4byte 0x02017800
- thumb_func_end sub_81417D8
-
- thumb_func_start sub_8141808
-sub_8141808: @ 8141808
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08141820 @ =gUnknown_0202F7C9
- ldr r1, _08141824 @ =gUnknown_02024C0A
- ldrb r1, [r1]
- strb r1, [r2]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_08141820: .4byte gUnknown_0202F7C9
-_08141824: .4byte gUnknown_02024C0A
- thumb_func_end sub_8141808
-
- thumb_func_start sub_8141828
-sub_8141828: @ 8141828
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- mov r8, r0
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- ldr r1, _081418E0 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- adds r5, r0, 0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r4, r0, 0
- adds r0, r6, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _081418FC
- lsrs r0, r5, 16
- ldr r7, _081418E4 @ =0x0000ffff
- ands r5, r7
- eors r0, r5
- lsrs r1, r4, 16
- eors r0, r1
- ands r4, r7
- eors r0, r4
- cmp r0, 0x7
- bhi _08141882
- movs r0, 0x1
- mov r8, r0
-_08141882:
- mov r0, r8
- cmp r0, 0
- beq _081418FC
- ldr r0, _081418E8 @ =0x000027f9
- bl GetSpriteTileStartByTag
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r7
- bne _081418A2
- ldr r0, _081418EC @ =gBattleAnimPicTable + (233 * 8)
- bl LoadCompressedObjectPic
- ldr r0, _081418F0 @ =gBattleAnimPaletteTable + (233 * 8)
- bl LoadCompressedObjectPalette
-_081418A2:
- ldr r5, _081418F4 @ =sub_814191C
- adds r0, r5, 0
- movs r1, 0xA
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _081418F8 @ =gTasks
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 3
- adds r2, r3
- movs r4, 0
- strh r6, [r2, 0x8]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- strh r6, [r1, 0x8]
- strh r4, [r2, 0xA]
- movs r0, 0x1
- strh r0, [r1, 0xA]
- b _0814190E
- .align 2, 0
-_081418E0: .4byte 0x02017810
-_081418E4: .4byte 0x0000ffff
-_081418E8: .4byte 0x000027f9
-_081418EC: .4byte gBattleAnimPicTable + (233 * 8)
-_081418F0: .4byte gBattleAnimPaletteTable + (233 * 8)
-_081418F4: .4byte sub_814191C
-_081418F8: .4byte gTasks
-_081418FC:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- ldr r1, _08141918 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0, 0x1]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x1]
-_0814190E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141918: .4byte 0x02017810
- thumb_func_end sub_8141828
-
- thumb_func_start sub_814191C
-sub_814191C: @ 814191C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08141944 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0x3B
- bgt _08141948
- adds r0, r1, 0x1
- strh r0, [r4, 0x22]
- b _08141AB8
- .align 2, 0
-_08141944: .4byte gTasks
-_08141948:
- ldr r0, _08141998 @ =0x02017840
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _08141952
- b _08141AB8
-_08141952:
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- cmp r1, 0
- beq _08141966
- b _08141AB8
-_08141966:
- ldrb r0, [r4, 0x8]
- mov r8, r0
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081419A0
- ldr r0, _0814199C @ =gBattleAnimSpriteTemplate_84024E8
- adds r1, r5, 0
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- b _08141A02
- .align 2, 0
-_08141998: .4byte 0x02017840
-_0814199C: .4byte gBattleAnimSpriteTemplate_84024E8
-_081419A0:
- cmp r0, 0
- blt _081419D4
- cmp r0, 0x3
- bgt _081419D4
- ldr r0, _081419CC @ =gSpriteTemplate_8402500
- adds r1, r5, 0
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _081419D0 @ =gSprites
- lsls r2, r5, 4
- adds r2, r5
- lsls r2, 2
- adds r2, r0
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x4
- b _081419F4
- .align 2, 0
-_081419CC: .4byte gSpriteTemplate_8402500
-_081419D0: .4byte gSprites
-_081419D4:
- ldr r0, _08141A2C @ =gSpriteTemplate_8402500
- adds r1, r5, 0
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _08141A30 @ =gSprites
- lsls r2, r5, 4
- adds r2, r5
- lsls r2, 2
- adds r2, r0
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x5
-_081419F4:
- ldr r4, _08141A34 @ =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, _08141A38 @ =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
-_08141A02:
- ldr r2, _08141A3C @ =gTasks
- lsls r1, r7, 2
- adds r0, r1, r7
- lsls r0, 3
- adds r6, r0, r2
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- mov r9, r1
- cmp r0, 0
- bne _08141A44
- ldr r1, _08141A30 @ =gSprites
- lsls r2, r5, 4
- adds r0, r2, r5
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08141A40 @ =sub_8141B20
- str r1, [r0]
- adds r4, r2, 0
- b _08141A8C
- .align 2, 0
-_08141A2C: .4byte gSpriteTemplate_8402500
-_08141A30: .4byte gSprites
-_08141A34: .4byte 0x000003ff
-_08141A38: .4byte 0xfffffc00
-_08141A3C: .4byte gTasks
-_08141A40: .4byte sub_8141B20
-_08141A44:
- ldr r3, _08141AC4 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, _08141AC8 @ =sub_8141B74
- str r2, [r0]
- adds r1, r3
- ldr r0, _08141ACC @ =0x0000ffe0
- strh r0, [r1, 0x24]
- movs r0, 0x20
- strh r0, [r1, 0x26]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- movs r1, 0x1E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08141A8C
- mov r0, r8
- bl battle_side_get_owner
- lsls r0, 24
- movs r1, 0x3F
- cmp r0, 0
- bne _08141A82
- movs r1, 0xC0
-_08141A82:
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x66
- bl PlaySE12WithPanning
-_08141A8C:
- ldr r1, _08141AC4 @ =gSprites
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r1
- strh r7, [r0, 0x2E]
- ldr r1, _08141AD0 @ =gTasks
- mov r2, r9
- adds r0, r2, r7
- lsls r0, 3
- adds r2, r0, r1
- ldrh r1, [r2, 0x1E]
- adds r1, 0x1
- strh r1, [r2, 0x1E]
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x5
- bne _08141AB8
- ldr r0, _08141AD4 @ =sub_8141AD8
- str r0, [r2]
-_08141AB8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141AC4: .4byte gSprites
-_08141AC8: .4byte sub_8141B74
-_08141ACC: .4byte 0x0000ffe0
-_08141AD0: .4byte gTasks
-_08141AD4: .4byte sub_8141AD8
- thumb_func_end sub_814191C
-
- thumb_func_start sub_8141AD8
-sub_8141AD8: @ 8141AD8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- ldr r1, _08141B18 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08141B14
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _08141B0E
- ldrb r1, [r1, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _08141B1C @ =0x02017810
- adds r0, r1
- ldrb r1, [r0, 0x1]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x1]
-_08141B0E:
- adds r0, r3, 0
- bl DestroyTask
-_08141B14:
- pop {r0}
- bx r0
- .align 2, 0
-_08141B18: .4byte gTasks
-_08141B1C: .4byte 0x02017810
- thumb_func_end sub_8141AD8
-
- thumb_func_start sub_8141B20
-sub_8141B20: @ 8141B20
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x18
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x18
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0xC
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08141B6A
- ldr r2, _08141B70 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_08141B6A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08141B70: .4byte gTasks
- thumb_func_end sub_8141B20
-
- thumb_func_start sub_8141B74
-sub_8141B74: @ 8141B74
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- bgt _08141B88
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _08141BCA
-_08141B88:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrh r1, [r4, 0x24]
- adds r1, 0x5
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r0, 0x5
- strh r0, [r4, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x20
- ble _08141BCA
- ldr r2, _08141BD0 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_08141BCA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08141BD0: .4byte gTasks
- thumb_func_end sub_8141B74
-
- thumb_func_start sub_8141BD4
-sub_8141BD4: @ 8141BD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08141BFC @ =gBattleAnimPicTable + (269 * 8)
- bl LoadCompressedObjectPic
- ldr r0, _08141C00 @ =gBattleAnimPaletteTable + (269 * 8)
- bl LoadCompressedObjectPalette
- ldr r0, _08141C04 @ =0x0000281d
- bl IndexOfSpritePaletteTag
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08141BFC: .4byte gBattleAnimPicTable + (269 * 8)
-_08141C00: .4byte gBattleAnimPaletteTable + (269 * 8)
-_08141C04: .4byte 0x0000281d
- thumb_func_end sub_8141BD4
-
- thumb_func_start sub_8141C08
-sub_8141C08: @ 8141C08
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08141C2C @ =0x0000281d
- adds r0, r5, 0
- bl FreeSpriteTilesByTag
- adds r0, r5, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08141C2C: .4byte 0x0000281d
- thumb_func_end sub_8141C08
-
- thumb_func_start sub_8141C30
-sub_8141C30: @ 8141C30
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80787B0
- movs r0, 0x1E
- strh r0, [r4, 0x2E]
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- ldr r5, _08141CA4 @ =gUnknown_03004B00
- lsrs r0, 24
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r4, 0x32]
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- strh r0, [r4, 0x36]
- ldr r0, _08141CA8 @ =0x0000ffe0
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r1, _08141CAC @ =gUnknown_02024BE0
- ldr r0, _08141CB0 @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08141CB4 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, _08141CB8 @ =sub_8141CBC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08141CA4: .4byte gUnknown_03004B00
-_08141CA8: .4byte 0x0000ffe0
-_08141CAC: .4byte gUnknown_02024BE0
-_08141CB0: .4byte gUnknown_0202F7C8
-_08141CB4: .4byte gSprites
-_08141CB8: .4byte sub_8141CBC
- thumb_func_end sub_8141C30
-
- thumb_func_start sub_8141CBC
-sub_8141CBC: @ 8141CBC
- push {lr}
- adds r3, r0, 0
- ldr r2, _08141CE4 @ =gSprites
- ldr r1, _08141CE8 @ =gUnknown_02024BE0
- ldr r0, _08141CEC @ =gUnknown_0202F7C8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08141CE0
- ldr r0, _08141CF0 @ =sub_8141CF4
- str r0, [r3, 0x1C]
-_08141CE0:
- pop {r0}
- bx r0
- .align 2, 0
-_08141CE4: .4byte gSprites
-_08141CE8: .4byte gUnknown_02024BE0
-_08141CEC: .4byte gUnknown_0202F7C8
-_08141CF0: .4byte sub_8141CF4
- thumb_func_end sub_8141CBC
-
- thumb_func_start sub_8141CF4
-sub_8141CF4: @ 8141CF4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _08141D16
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _08141D1C @ =sub_8141D20
- str r0, [r4, 0x1C]
-_08141D16:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08141D1C: .4byte sub_8141D20
- thumb_func_end sub_8141CF4
-
- thumb_func_start sub_8141D20
-sub_8141D20: @ 8141D20
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08141D70 @ =gSprites
- ldr r3, _08141D74 @ =gUnknown_02024BE0
- ldr r2, _08141D78 @ =gUnknown_0202F7C8
- ldrb r0, [r2]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- bge _08141D68
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- ble _08141D68
- ldrb r0, [r2]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl move_anim_8072740
-_08141D68:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08141D70: .4byte gSprites
-_08141D74: .4byte gUnknown_02024BE0
-_08141D78: .4byte gUnknown_0202F7C8
- thumb_func_end sub_8141D20
-
- thumb_func_start sub_8141D7C
-sub_8141D7C: @ 8141D7C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r1, _08141DA4 @ =gUnknown_0202F7C8
- strb r0, [r1]
- movs r0, 0x1
- bl battle_get_side_with_given_state
- ldr r1, _08141DA8 @ =gUnknown_0202F7C9
- strb r0, [r1]
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08141DA4: .4byte gUnknown_0202F7C8
-_08141DA8: .4byte gUnknown_0202F7C9
- thumb_func_end sub_8141D7C
-
- thumb_func_start sub_8141DAC
-sub_8141DAC: @ 8141DAC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08141DC0 @ =0x02017840
- ldrh r1, [r0]
- cmp r1, 0x53
- bne _08141DC8
- ldr r1, _08141DC4 @ =gUnknown_03004B00
- movs r0, 0x1
- b _08141E00
- .align 2, 0
-_08141DC0: .4byte 0x02017840
-_08141DC4: .4byte gUnknown_03004B00
-_08141DC8:
- cmp r1, 0xFA
- bne _08141DD8
- ldr r1, _08141DD4 @ =gUnknown_03004B00
- movs r0, 0x2
- b _08141E00
- .align 2, 0
-_08141DD4: .4byte gUnknown_03004B00
-_08141DD8:
- cmp r1, 0x80
- bne _08141DE8
- ldr r1, _08141DE4 @ =gUnknown_03004B00
- movs r0, 0x3
- b _08141E00
- .align 2, 0
-_08141DE4: .4byte gUnknown_03004B00
-_08141DE8:
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- bne _08141DFC
- ldr r1, _08141DF8 @ =gUnknown_03004B00
- movs r0, 0x4
- b _08141E00
- .align 2, 0
-_08141DF8: .4byte gUnknown_03004B00
-_08141DFC:
- ldr r1, _08141E0C @ =gUnknown_03004B00
- movs r0, 0
-_08141E00:
- strh r0, [r1]
- adds r0, r2, 0
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_08141E0C: .4byte gUnknown_03004B00
- thumb_func_end sub_8141DAC
-
- thumb_func_start sub_8141E10
-sub_8141E10: @ 8141E10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08141E2C @ =gUnknown_0202F7C8
- ldr r1, _08141E30 @ =0x02017840
- ldrh r1, [r1]
- strb r1, [r2]
- ldr r2, _08141E34 @ =gUnknown_0202F7C9
- lsrs r1, 8
- strb r1, [r2]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_08141E2C: .4byte gUnknown_0202F7C8
-_08141E30: .4byte 0x02017840
-_08141E34: .4byte gUnknown_0202F7C9
- thumb_func_end sub_8141E10
-
- thumb_func_start sub_8141E38
-sub_8141E38: @ 8141E38
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8141E38
-
- thumb_func_start sub_8141E4C
-sub_8141E4C: @ 8141E4C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8141E4C
-
- thumb_func_start sub_8141E64
-sub_8141E64: @ 8141E64
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08141E80 @ =gMain
- ldr r1, _08141E84 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _08141EA0
- lsls r0, 2
- ldr r1, _08141E88 @ =_08141E8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08141E80: .4byte gMain
-_08141E84: .4byte 0x0000043c
-_08141E88: .4byte _08141E8C
- .align 2, 0
-_08141E8C:
- .4byte _08141EA0
- .4byte _08141EC0
- .4byte _08141EC6
- .4byte _08141F1C
- .4byte _08141F58
-_08141EA0:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_81433E0
- ldr r0, _08141EB8 @ =gMain
- ldr r2, _08141EBC @ =0x0000043c
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _08141F84
- .align 2, 0
-_08141EB8: .4byte gMain
-_08141EBC: .4byte 0x0000043c
-_08141EC0:
- bl sub_8143570
- b _08141F38
-_08141EC6:
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08141F04 @ =sub_8141E38
- bl SetVBlankCallback
- ldr r3, _08141F08 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _08141F0C @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08141F10 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _08141F14 @ =gMain
- ldr r2, _08141F18 @ =0x0000043c
- adds r1, r2
- b _08141F3E
- .align 2, 0
-_08141F04: .4byte sub_8141E38
-_08141F08: .4byte 0x04000208
-_08141F0C: .4byte 0x04000200
-_08141F10: .4byte REG_DISPSTAT
-_08141F14: .4byte gMain
-_08141F18: .4byte 0x0000043c
-_08141F1C:
- ldr r1, _08141F48 @ =REG_BLDCNT
- ldr r2, _08141F4C @ =0x00003f42
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0xE2
- lsls r2, 3
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0
- strh r0, [r1]
- bl sub_81435B8
-_08141F38:
- ldr r1, _08141F50 @ =gMain
- ldr r0, _08141F54 @ =0x0000043c
- adds r1, r0
-_08141F3E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08141F84
- .align 2, 0
-_08141F48: .4byte REG_BLDCNT
-_08141F4C: .4byte 0x00003f42
-_08141F50: .4byte gMain
-_08141F54: .4byte 0x0000043c
-_08141F58:
- bl UpdatePaletteFade
- ldr r0, _08141F7C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08141F84
- ldr r0, _08141F80 @ =sub_8141E4C
- bl SetMainCallback2
- movs r0, 0xDA
- lsls r0, 1
- bl PlayBGM
- movs r0, 0
- b _08141F86
- .align 2, 0
-_08141F7C: .4byte gPaletteFade
-_08141F80: .4byte sub_8141E4C
-_08141F84:
- movs r0, 0x1
-_08141F86:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141E64
-
- thumb_func_start sub_8141F90
-sub_8141F90: @ 8141F90
- push {r4,lr}
- bl sub_8141E64
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08141FB6
- ldr r0, _08141FBC @ =sub_8141FF8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08141FC0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
-_08141FB6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08141FBC: .4byte sub_8141FF8
-_08141FC0: .4byte gTasks
- thumb_func_end sub_8141F90
-
- thumb_func_start sub_8141FC4
-sub_8141FC4: @ 8141FC4
- push {lr}
- bl sub_8141E64
- lsls r0, 24
- cmp r0, 0
- bne _08141FEA
- ldr r0, _08141FF0 @ =sub_8141FF8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08141FF4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x8]
-_08141FEA:
- pop {r0}
- bx r0
- .align 2, 0
-_08141FF0: .4byte sub_8141FF8
-_08141FF4: .4byte gTasks
- thumb_func_end sub_8141FC4
-
- thumb_func_start sub_8141FF8
-sub_8141FF8: @ 8141FF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _081420C8 @ =0x0201c000
- mov r9, r0
- ldr r1, _081420CC @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- movs r7, 0
- ldr r4, _081420D0 @ =0xfffffe00
- mov r10, r4
-_08142024:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _081420D4 @ =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r3, r0, 0
- cmp r3, 0
- beq _081420DC
- adds r0, r6, 0
- movs r1, 0x41
- bl GetMonData
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 2
- mov r1, r9
- adds r5, r1, r4
- ldr r2, _081420D8 @ =0x000001ff
- adds r1, r2, 0
- ands r0, r1
- ldrh r1, [r5, 0x8]
- mov r2, r10
- ands r1, r2
- orrs r1, r0
- strh r1, [r5, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [r5]
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- mov r1, r9
- adds r1, 0x4
- adds r1, r4
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 1
- ldrb r2, [r5, 0x9]
- movs r1, 0x1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x9]
- adds r0, r6, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- movs r2, 0
- mov r6, r8
- lsls r5, r6, 2
- mov r3, r9
- adds r3, 0xA
-_081420A0:
- adds r1, r2, r4
- adds r1, r3, r1
- mov r6, sp
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _081420A0
- ldr r0, _081420CC @ =gTasks
- mov r2, r8
- adds r1, r5, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- b _08142108
- .align 2, 0
-_081420C8: .4byte 0x0201c000
-_081420CC: .4byte gTasks
-_081420D0: .4byte 0xfffffe00
-_081420D4: .4byte gPlayerParty
-_081420D8: .4byte 0x000001ff
-_081420DC:
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 2
- mov r4, r9
- adds r2, r4, r1
- ldrh r0, [r2, 0x8]
- mov r6, r10
- ands r0, r6
- strh r0, [r2, 0x8]
- str r3, [r2]
- mov r0, r9
- adds r0, 0x4
- adds r0, r1
- str r3, [r0]
- ldrb r1, [r2, 0x9]
- movs r0, 0x1
- ands r0, r1
- strb r0, [r2, 0x9]
- movs r0, 0xFF
- strb r0, [r2, 0xA]
- mov r0, r8
- lsls r5, r0, 2
-_08142108:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x5
- bls _08142024
- ldr r0, _08142158 @ =gUnknown_0203931C
- movs r3, 0
- str r3, [r0]
- ldr r4, _0814215C @ =gTasks
- mov r2, r8
- adds r1, r5, r2
- lsls r1, 3
- adds r2, r1, r4
- strh r3, [r2, 0xA]
- movs r0, 0xFF
- strh r0, [r2, 0x10]
- movs r7, 0
- adds r3, r4, 0
- adds r3, 0x8
- movs r2, 0xFF
-_08142130:
- adds r0, r7, 0x5
- lsls r0, 1
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x5
- bls _08142130
- mov r6, r8
- adds r0, r5, r6
- lsls r0, 3
- adds r1, r0, r4
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08142164
- ldr r0, _08142160 @ =sub_81422E8
- b _08142166
- .align 2, 0
-_08142158: .4byte gUnknown_0203931C
-_0814215C: .4byte gTasks
-_08142160: .4byte sub_81422E8
-_08142164:
- ldr r0, _08142178 @ =sub_814217C
-_08142166:
- str r0, [r1]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08142178: .4byte sub_814217C
- thumb_func_end sub_8141FF8
-
- thumb_func_start sub_814217C
-sub_814217C: @ 814217C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _081421C4 @ =0x0201c000
- mov r9, r0
- movs r7, 0x80
- lsls r7, 6
- add r7, r9
- ldr r0, _081421C8 @ =gUnknown_02039324
- ldrb r0, [r0]
- cmp r0, 0
- bne _081421D4
- movs r4, 0
- mov r0, r8
- lsls r0, 2
- mov r10, r0
- ldr r5, _081421CC @ =0xfffe4000
- add r5, r9
- movs r3, 0xF0
- lsls r3, 9
- movs r2, 0
- ldr r1, _081421D0 @ =0x00001fff
-_081421B2:
- adds r0, r4, r3
- adds r0, r5
- strb r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r1
- bls _081421B2
- b _081421E0
- .align 2, 0
-_081421C4: .4byte 0x0201c000
-_081421C8: .4byte gUnknown_02039324
-_081421CC: .4byte 0xfffe4000
-_081421D0: .4byte 0x00001fff
-_081421D4:
- movs r0, 0x3
- bl sub_8125EC8
- mov r0, r8
- lsls r0, 2
- mov r10, r0
-_081421E0:
- movs r4, 0
- ldrh r1, [r7, 0x8]
- ldr r2, _081421E8 @ =0x000001ff
- b _081421FA
- .align 2, 0
-_081421E8: .4byte 0x000001ff
-_081421EC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r7, 0x78
- cmp r4, 0x31
- bhi _08142206
- ldrh r1, [r7, 0x8]
-_081421FA:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _081421EC
- cmp r4, 0x31
- bls _08142228
-_08142206:
- ldr r5, _08142264 @ =0x0201e000
- adds r6, r5, 0
- adds r5, 0x78
- movs r4, 0
- subs r7, 0x78
-_08142210:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x78
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, 0x78
- adds r5, 0x78
- cmp r4, 0x30
- bls _08142210
-_08142228:
- adds r0, r7, 0
- mov r1, r9
- movs r2, 0x78
- bl memcpy
- movs r0, 0x2
- movs r1, 0xE
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _08142268 @ =gMenuText_HOFSaving
- movs r1, 0x3
- movs r2, 0xF
- bl MenuPrint
- ldr r1, _0814226C @ =gTasks
- mov r0, r10
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _08142270 @ =sub_8142274
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08142264: .4byte 0x0201e000
-_08142268: .4byte gMenuText_HOFSaving
-_0814226C: .4byte gTasks
-_08142270: .4byte sub_8142274
- thumb_func_end sub_814217C
-
- thumb_func_start sub_8142274
-sub_8142274: @ 8142274
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _081422A8 @ =gUnknown_03005EBC
- ldr r0, _081422AC @ =sub_8141FC4
- str r0, [r1]
- movs r0, 0x3
- bl sub_8125D44
- movs r0, 0x37
- bl PlaySE
- ldr r1, _081422B0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _081422B4 @ =sub_81422B8
- str r1, [r0]
- movs r1, 0x20
- strh r1, [r0, 0xE]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081422A8: .4byte gUnknown_03005EBC
-_081422AC: .4byte sub_8141FC4
-_081422B0: .4byte gTasks
-_081422B4: .4byte sub_81422B8
- thumb_func_end sub_8142274
-
- thumb_func_start sub_81422B8
-sub_81422B8: @ 81422B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _081422D8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _081422DC
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _081422E0
- .align 2, 0
-_081422D8: .4byte gTasks
-_081422DC:
- ldr r0, _081422E4 @ =sub_81422E8
- str r0, [r1]
-_081422E0:
- pop {r0}
- bx r0
- .align 2, 0
-_081422E4: .4byte sub_81422E8
- thumb_func_end sub_81422B8
-
- thumb_func_start sub_81422E8
-sub_81422E8: @ 81422E8
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08142314 @ =gWindowConfig_81E7198
- adds r0, r5, 0
- bl SetUpWindowConfig
- adds r0, r5, 0
- bl InitMenuWindow
- ldr r1, _08142318 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0814231C @ =sub_8142320
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08142314: .4byte gWindowConfig_81E7198
-_08142318: .4byte gTasks
-_0814231C: .4byte sub_8142320
- thumb_func_end sub_81422E8
-
- thumb_func_start sub_8142320
-sub_8142320: @ 8142320
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _08142350 @ =0x0201c000
- ldr r0, _08142354 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldrh r6, [r1, 0xA]
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r4, r0, r2
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0x3
- ble _0814235C
- ldr r1, _08142358 @ =gUnknown_0840B534
- b _0814235E
- .align 2, 0
-_08142350: .4byte 0x0201c000
-_08142354: .4byte gTasks
-_08142358: .4byte gUnknown_0840B534
-_0814235C:
- ldr r1, _081423F0 @ =gUnknown_0840B564
-_0814235E:
- lsls r2, r6, 3
- adds r0, r2, r1
- ldrh r5, [r0]
- adds r0, r1, 0x2
- adds r0, r2, r0
- ldrh r3, [r0]
- adds r0, r1, 0x4
- adds r0, r2, r0
- ldrh r0, [r0]
- mov r9, r0
- adds r1, 0x6
- adds r2, r1
- ldrh r2, [r2]
- mov r8, r2
- ldrh r0, [r4, 0x8]
- lsls r0, 23
- lsrs r0, 23
- lsls r1, r5, 16
- asrs r1, 16
- lsls r2, r3, 16
- asrs r2, 16
- ldr r3, [r4]
- str r3, [sp]
- ldr r3, [r4, 0x4]
- str r3, [sp, 0x4]
- adds r3, r6, 0
- bl sub_81436BC
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _081423F4 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r3
- movs r4, 0
- mov r5, r9
- strh r5, [r2, 0x30]
- mov r5, r8
- strh r5, [r2, 0x32]
- strh r4, [r2, 0x2E]
- adds r3, 0x1C
- adds r1, r3
- ldr r2, _081423F8 @ =sub_81435DC
- str r2, [r1]
- ldr r5, _081423FC @ =gTasks
- adds r1, r6, 0x5
- lsls r1, 1
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r1, r4
- adds r2, r5, 0
- adds r2, 0x8
- adds r1, r2
- strh r0, [r1]
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r4, r5
- ldr r0, _08142400 @ =sub_8142404
- str r0, [r4]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081423F0: .4byte gUnknown_0840B564
-_081423F4: .4byte gSprites
-_081423F8: .4byte sub_81435DC
-_081423FC: .4byte gTasks
-_08142400: .4byte sub_8142404
- thumb_func_end sub_8142320
-
- thumb_func_start sub_8142404
-sub_8142404: @ 8142404
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08142470 @ =0x0201c000
- ldr r3, _08142474 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r5, r2, r3
- ldrh r1, [r5, 0xA]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r6, r0, r4
- ldr r4, _08142478 @ =gSprites
- adds r1, 0x5
- lsls r1, 1
- adds r1, r2
- adds r3, 0x8
- adds r1, r3
- movs r0, 0
- ldrsh r1, [r1, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0814246A
- ldrh r2, [r6, 0x8]
- ldr r0, _0814247C @ =0x000001ff
- ands r0, r2
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08142458
- lsls r0, r2, 23
- lsrs r0, 23
- movs r1, 0
- bl PlayCry1
-_08142458:
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0xE
- bl sub_8143088
- movs r0, 0x78
- strh r0, [r5, 0xE]
- ldr r0, _08142480 @ =sub_8142484
- str r0, [r5]
-_0814246A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08142470: .4byte 0x0201c000
-_08142474: .4byte gTasks
-_08142478: .4byte gSprites
-_0814247C: .4byte 0x000001ff
-_08142480: .4byte sub_8142484
- thumb_func_end sub_8142404
-
- thumb_func_start sub_8142484
-sub_8142484: @ 8142484
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _081424BC @ =0x0201c000
- ldr r1, _081424C0 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- adds r4, r6, r1
- ldrh r3, [r4, 0xA]
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r2
- mov r9, r0
- ldrh r2, [r4, 0xE]
- movs r7, 0xE
- ldrsh r0, [r4, r7]
- mov r12, r1
- cmp r0, 0
- beq _081424C4
- subs r0, r2, 0x1
- strh r0, [r4, 0xE]
- b _0814255C
- .align 2, 0
-_081424BC: .4byte 0x0201c000
-_081424C0: .4byte gTasks
-_081424C4:
- ldr r2, _0814253C @ =gUnknown_0203931C
- ldr r0, _08142540 @ =gSprites
- mov r8, r0
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r6
- mov r1, r12
- adds r1, 0x8
- adds r6, r0, r1
- movs r7, 0
- ldrsh r1, [r6, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- ldr r3, [r2]
- orrs r3, r1
- str r3, [r2]
- ldrh r2, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bgt _08142550
- mov r7, r9
- ldrh r1, [r7, 0x1C]
- ldr r0, _08142544 @ =0x000001ff
- ands r0, r1
- cmp r0, 0
- beq _08142550
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- ldr r0, _08142548 @ =0x0000735f
- str r0, [sp]
- adds r0, r3, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0xC
- bl BeginNormalPaletteFade
- movs r0, 0
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r0, _0814254C @ =sub_8142320
- str r0, [r4]
- b _0814255C
- .align 2, 0
-_0814253C: .4byte gUnknown_0203931C
-_08142540: .4byte gSprites
-_08142544: .4byte 0x000001ff
-_08142548: .4byte 0x0000735f
-_0814254C: .4byte sub_8142320
-_08142550:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- add r0, r12
- ldr r1, _0814256C @ =sub_8142570
- str r1, [r0]
-_0814255C:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814256C: .4byte sub_8142570
- thumb_func_end sub_8142484
-
- thumb_func_start sub_8142570
-sub_8142570: @ 8142570
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08142604 @ =0xffff0000
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r3, 0
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r5, r0, 3
- ldr r0, _08142608 @ =gTasks + 0x8
- mov r12, r0
- mov r8, r1
- ldr r6, _0814260C @ =gSprites
- movs r7, 0xD
- negs r7, r7
-_0814259E:
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r5
- mov r2, r12
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- beq _081425C0
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1, 0x5]
-_081425C0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _0814259E
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xF
- bl sub_8143068
- movs r0, 0x69
- bl PlaySE
- ldr r1, _08142610 @ =gTasks
- mov r2, r8
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xC8
- lsls r1, 1
- strh r1, [r0, 0xE]
- ldr r1, _08142614 @ =sub_8142618
- str r1, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08142604: .4byte 0xffff0000
-_08142608: .4byte gTasks + 0x8
-_0814260C: .4byte gSprites
-_08142610: .4byte gTasks
-_08142614: .4byte sub_8142618
- thumb_func_end sub_8142570
-
- thumb_func_start sub_8142618
-sub_8142618: @ 8142618
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, _08142658 @ =gTasks
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r5, r0, 3
- adds r1, r5, r7
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0814265C
- subs r2, 0x1
- strh r2, [r1, 0xE]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0
- bne _081426D2
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x6E
- ble _081426D2
- bl sub_81438C4
- b _081426D2
- .align 2, 0
-_08142658: .4byte gTasks
-_0814265C:
- movs r3, 0
- mov r9, r4
- ldr r0, _081426E4 @ =gUnknown_0203931C
- mov r10, r0
- adds r4, r5, 0
- adds r7, 0x8
- mov r8, r7
- ldr r7, _081426E8 @ =gSprites
- movs r1, 0xD
- negs r1, r1
- mov r12, r1
- movs r5, 0x4
-_08142674:
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r4
- mov r2, r8
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- beq _08142698
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- mov r0, r12
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
-_08142698:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _08142674
- mov r3, r10
- ldr r0, [r3]
- ldr r1, _081426EC @ =0x0000735f
- str r1, [sp]
- movs r1, 0
- movs r2, 0xC
- movs r3, 0xC
- bl BeginNormalPaletteFade
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _081426F0 @ =gTasks
- mov r2, r9
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x7
- strh r1, [r0, 0xE]
- ldr r1, _081426F4 @ =sub_81426F8
- str r1, [r0]
-_081426D2:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081426E4: .4byte gUnknown_0203931C
-_081426E8: .4byte gSprites
-_081426EC: .4byte 0x0000735f
-_081426F0: .4byte gTasks
-_081426F4: .4byte sub_81426F8
- thumb_func_end sub_8142618
-
- thumb_func_start sub_81426F8
-sub_81426F8: @ 81426F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08142718 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r1, [r2, 0xE]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0xF
- ble _08142720
- ldr r0, _0814271C @ =sub_8142738
- str r0, [r2]
- b _0814272E
- .align 2, 0
-_08142718: .4byte gTasks
-_0814271C: .4byte sub_8142738
-_08142720:
- adds r0, r1, 0x1
- strh r0, [r2, 0xE]
- ldr r1, _08142734 @ =REG_BLDALPHA
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- lsls r0, 8
- strh r0, [r1]
-_0814272E:
- pop {r0}
- bx r0
- .align 2, 0
-_08142734: .4byte REG_BLDALPHA
- thumb_func_end sub_81426F8
-
- thumb_func_start sub_8142738
-sub_8142738: @ 8142738
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xCA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _08142784 @ =gWindowConfig_81E71B4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r0, _08142788 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- movs r1, 0x78
- movs r2, 0x48
- movs r3, 0x6
- bl sub_81437A4
- ldr r2, _0814278C @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x10]
- movs r0, 0x78
- strh r0, [r1, 0xE]
- ldr r0, _08142790 @ =sub_8142794
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08142784: .4byte gWindowConfig_81E71B4
-_08142788: .4byte gSaveBlock2
-_0814278C: .4byte gTasks
-_08142790: .4byte sub_8142794
- thumb_func_end sub_8142738
-
- thumb_func_start sub_8142794
-sub_8142794: @ 8142794
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _081427B4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081427B8
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _0814280A
- .align 2, 0
-_081427B4: .4byte gTasks
-_081427B8:
- ldr r2, _081427D8 @ =gSprites
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0xA0
- beq _081427DC
- adds r0, r2, 0x1
- strh r0, [r1, 0x20]
- b _0814280A
- .align 2, 0
-_081427D8: .4byte gSprites
-_081427DC:
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xF
- movs r3, 0x9
- bl MenuDrawTextWindow
- movs r0, 0x1
- movs r1, 0x2
- bl sub_8143300
- movs r0, 0x2
- movs r1, 0xE
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _08142810 @ =gMenuText_HOFCongratulations
- movs r1, 0x4
- movs r2, 0xF
- bl MenuPrint
- ldr r0, _08142814 @ =sub_8142818
- str r0, [r4]
-_0814280A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08142810: .4byte gMenuText_HOFCongratulations
-_08142814: .4byte sub_8142818
- thumb_func_end sub_8142794
-
- thumb_func_start sub_8142818
-sub_8142818: @ 8142818
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08142844 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814283E
- movs r0, 0x4
- bl FadeOutBGM
- ldr r0, _08142848 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0814284C @ =sub_8142850
- str r0, [r1]
-_0814283E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08142844: .4byte gMain
-_08142848: .4byte gTasks
-_0814284C: .4byte sub_8142850
- thumb_func_end sub_8142818
-
- thumb_func_start sub_8142850
-sub_8142850: @ 8142850
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08142890 @ =gPlttBufferFaded
- ldr r1, _08142894 @ =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 2
- bl CpuSet
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08142898 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0814289C @ =sub_81428A0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08142890: .4byte gPlttBufferFaded
-_08142894: .4byte gPlttBufferUnfaded
-_08142898: .4byte gTasks
-_0814289C: .4byte sub_81428A0
- thumb_func_end sub_8142850
-
- thumb_func_start sub_81428A0
-sub_81428A0: @ 81428A0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _081428C4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081428BE
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _081428C8 @ =sub_81439D0
- bl SetMainCallback2
-_081428BE:
- pop {r0}
- bx r0
- .align 2, 0
-_081428C4: .4byte gPaletteFade
-_081428C8: .4byte sub_81439D0
- thumb_func_end sub_81428A0
-
- thumb_func_start sub_81428CC
-sub_81428CC: @ 81428CC
- push {r4,r5,lr}
- ldr r0, _081428E4 @ =gMain
- ldr r1, _081428E8 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _08142908
- lsls r0, 2
- ldr r1, _081428EC @ =_081428F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081428E4: .4byte gMain
-_081428E8: .4byte 0x0000043c
-_081428EC: .4byte _081428F0
- .align 2, 0
-_081428F0:
- .4byte _08142908
- .4byte _08142928
- .4byte _0814293C
- .4byte _08142980
- .4byte _081429C0
- .4byte _081429EC
-_08142908:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_81433E0
- ldr r0, _08142920 @ =gMain
- ldr r2, _08142924 @ =0x0000043c
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _08142A12
- .align 2, 0
-_08142920: .4byte gMain
-_08142924: .4byte 0x0000043c
-_08142928:
- bl sub_8143570
- ldr r1, _08142934 @ =gMain
- ldr r3, _08142938 @ =0x0000043c
- adds r1, r3
- b _081429DC
- .align 2, 0
-_08142934: .4byte gMain
-_08142938: .4byte 0x0000043c
-_0814293C:
- ldr r0, _08142968 @ =sub_8141E38
- bl SetVBlankCallback
- ldr r3, _0814296C @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _08142970 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08142974 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _08142978 @ =gMain
- ldr r4, _0814297C @ =0x0000043c
- adds r1, r4
- b _081429DC
- .align 2, 0
-_08142968: .4byte sub_8141E38
-_0814296C: .4byte 0x04000208
-_08142970: .4byte 0x04000200
-_08142974: .4byte REG_DISPSTAT
-_08142978: .4byte gMain
-_0814297C: .4byte 0x0000043c
-_08142980:
- ldr r0, _081429AC @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl sub_81435B8
- ldr r0, _081429B0 @ =0x0201c000
- adds r2, r0, 0
- ldr r1, _081429B4 @ =gUnknown_0840B57C
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3,r5}
- stm r2!, {r3,r5}
- bl sub_80C5CD4
- ldr r1, _081429B8 @ =gMain
- ldr r4, _081429BC @ =0x0000043c
- adds r1, r4
- b _081429DC
- .align 2, 0
-_081429AC: .4byte REG_BLDCNT
-_081429B0: .4byte 0x0201c000
-_081429B4: .4byte gUnknown_0840B57C
-_081429B8: .4byte gMain
-_081429BC: .4byte 0x0000043c
-_081429C0:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_80C5DCC
- lsls r0, 24
- cmp r0, 0
- beq _08142A12
- ldr r1, _081429E4 @ =gMain
- ldr r5, _081429E8 @ =0x0000043c
- adds r1, r5
-_081429DC:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08142A12
- .align 2, 0
-_081429E4: .4byte gMain
-_081429E8: .4byte 0x0000043c
-_081429EC:
- ldr r1, _08142A18 @ =REG_BLDCNT
- ldr r2, _08142A1C @ =0x00003f42
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0xE2
- lsls r3, 3
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08142A20 @ =sub_8142A28
- movs r1, 0
- bl CreateTask
- ldr r0, _08142A24 @ =sub_8141E4C
- bl SetMainCallback2
-_08142A12:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08142A18: .4byte REG_BLDCNT
-_08142A1C: .4byte 0x00003f42
-_08142A20: .4byte sub_8142A28
-_08142A24: .4byte sub_8141E4C
- thumb_func_end sub_81428CC
-
- thumb_func_start sub_8142A28
-sub_8142A28: @ 8142A28
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x3
- bl sub_8125EC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08142A54
- ldr r0, _08142A4C @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _08142A50 @ =sub_8142FEC
- str r0, [r1]
- b _08142AEA
- .align 2, 0
-_08142A4C: .4byte gTasks
-_08142A50: .4byte sub_8142FEC
-_08142A54:
- ldr r2, _08142A8C @ =0x0201e000
- movs r3, 0
- ldrh r1, [r2, 0x8]
- ldr r4, _08142A90 @ =0x000001ff
- adds r0, r4, 0
- ands r0, r1
- ldr r7, _08142A94 @ =gTasks
- lsls r6, r5, 2
- cmp r0, 0
- beq _08142A7E
-_08142A68:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x78
- cmp r3, 0x31
- bhi _08142A98
- ldrh r1, [r2, 0x8]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _08142A68
-_08142A7E:
- cmp r3, 0x31
- bhi _08142A98
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r7
- subs r1, r3, 0x1
- b _08142AA0
- .align 2, 0
-_08142A8C: .4byte 0x0201e000
-_08142A90: .4byte 0x000001ff
-_08142A94: .4byte gTasks
-_08142A98:
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r7
- movs r1, 0x31
-_08142AA0:
- strh r1, [r0, 0x8]
- movs r0, 0xA
- bl sub_8053108
- ldr r2, _08142AF0 @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0xA]
- movs r3, 0
- ldr r7, _08142AF4 @ =0x0600381a
- ldr r4, _08142AF8 @ =0x0600385a
-_08142AB8:
- lsls r1, r3, 1
- adds r2, r1, r7
- adds r0, r3, 0x3
- strh r0, [r2]
- adds r1, r4
- adds r0, 0x11
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x10
- bls _08142AB8
- ldr r4, _08142AFC @ =gWindowConfig_81E7198
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r1, _08142AF0 @ =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08142B00 @ =sub_8142B04
- str r1, [r0]
-_08142AEA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08142AF0: .4byte gTasks
-_08142AF4: .4byte 0x0600381a
-_08142AF8: .4byte 0x0600385a
-_08142AFC: .4byte gWindowConfig_81E7198
-_08142B00: .4byte sub_8142B04
- thumb_func_end sub_8142A28
-
- thumb_func_start sub_8142B04
-sub_8142B04: @ 8142B04
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r3, _08142BB8 @ =0x0201e000
- movs r5, 0
- ldr r1, _08142BBC @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- ldr r2, _08142BC0 @ =gUnknown_0203931C
- cmp r5, r0
- bge _08142B3E
- adds r1, r0, 0
-_08142B32:
- adds r3, 0x78
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r1
- blt _08142B32
-_08142B3E:
- adds r4, r3, 0
- movs r0, 0
- str r0, [r2]
- mov r5, r8
- lsls r2, r5, 2
- adds r1, r2, r5
- lsls r1, 3
- adds r1, r6
- strh r0, [r1, 0xC]
- strh r0, [r1, 0x10]
- movs r5, 0
- str r2, [sp, 0xC]
- ldr r6, _08142BC4 @ =0x000001ff
- adds r2, r1, 0
-_08142B5A:
- ldrh r1, [r4, 0x8]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08142B6A
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- strh r0, [r2, 0x10]
-_08142B6A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x14
- cmp r5, 0x5
- bls _08142B5A
- adds r4, r3, 0
- movs r5, 0
- ldr r1, _08142BBC @ =gTasks
- ldr r0, [sp, 0xC]
- add r0, r8
- lsls r7, r0, 3
- adds r6, r7, r1
- str r6, [sp, 0x8]
- adds r1, 0x8
- mov r9, r1
- ldr r0, _08142BC8 @ =gUnknown_0840B564
- mov r10, r0
-_08142B8E:
- ldrh r1, [r4, 0x8]
- ldr r2, _08142BC4 @ =0x000001ff
- adds r0, r2, 0
- ands r0, r1
- adds r6, r1, 0
- cmp r0, 0
- beq _08142C30
- ldr r1, [sp, 0x8]
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- cmp r0, 0x3
- ble _08142BD4
- lsls r1, r5, 3
- ldr r0, _08142BCC @ =gUnknown_0840B534
- adds r0, 0x4
- adds r0, r1, r0
- ldrh r3, [r0]
- ldr r0, _08142BD0 @ =gUnknown_0840B53A
- adds r1, r0
- b _08142BE2
- .align 2, 0
-_08142BB8: .4byte 0x0201e000
-_08142BBC: .4byte gTasks
-_08142BC0: .4byte gUnknown_0203931C
-_08142BC4: .4byte 0x000001ff
-_08142BC8: .4byte gUnknown_0840B564
-_08142BCC: .4byte gUnknown_0840B534
-_08142BD0: .4byte gUnknown_0840B53A
-_08142BD4:
- lsls r1, r5, 3
- mov r0, r10
- adds r0, 0x4
- adds r0, r1, r0
- ldrh r3, [r0]
- ldr r2, _08142C28 @ =gUnknown_0840B56A
- adds r1, r2
-_08142BE2:
- ldrh r2, [r1]
- lsls r0, r6, 23
- lsrs r0, 23
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- ldr r3, [r4]
- str r3, [sp]
- ldr r3, [r4, 0x4]
- str r3, [sp, 0x4]
- adds r3, r5, 0
- bl sub_81436BC
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08142C2C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x5]
- movs r6, 0xD
- negs r6, r6
- adds r2, r6, 0
- ands r3, r2
- movs r2, 0x4
- orrs r3, r2
- strb r3, [r1, 0x5]
- adds r1, r5, 0x5
- lsls r1, 1
- adds r1, r7
- add r1, r9
- strh r0, [r1]
- b _08142C3C
- .align 2, 0
-_08142C28: .4byte gUnknown_0840B56A
-_08142C2C: .4byte gSprites
-_08142C30:
- adds r0, r5, 0x5
- lsls r0, 1
- adds r0, r7
- add r0, r9
- movs r1, 0xFF
- strh r1, [r0]
-_08142C3C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x14
- cmp r5, 0x5
- bls _08142B8E
- ldr r0, _08142CB0 @ =0xffff0000
- ldr r2, _08142CB4 @ =0x0000735f
- movs r1, 0xC
- bl BlendPalettes
- ldr r3, _08142CB8 @ =gStringVar1
- ldr r1, _08142CBC @ =gMenuText_HOFNumber
- adds r0, r3, 0
- bl StringCopy
- adds r3, r0, 0
- movs r5, 0xFC
- strb r5, [r3]
- movs r0, 0x14
- strb r0, [r3, 0x1]
- movs r0, 0x6
- strb r0, [r3, 0x2]
- adds r3, 0x3
- ldr r0, _08142CC0 @ =gTasks
- ldr r4, [sp, 0xC]
- add r4, r8
- lsls r4, 3
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- adds r0, r3, 0
- bl ConvertIntToDecimalString
- adds r3, r0, 0
- strb r5, [r3]
- movs r0, 0x13
- strb r0, [r3, 0x1]
- movs r0, 0xF0
- strb r0, [r3, 0x2]
- movs r0, 0xFF
- strb r0, [r3, 0x3]
- ldr r0, _08142CB8 @ =gStringVar1
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- ldr r0, _08142CC4 @ =sub_8142CC8
- str r0, [r4]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08142CB0: .4byte 0xffff0000
-_08142CB4: .4byte 0x0000735f
-_08142CB8: .4byte gStringVar1
-_08142CBC: .4byte gMenuText_HOFNumber
-_08142CC0: .4byte gTasks
-_08142CC4: .4byte sub_8142CC8
- thumb_func_end sub_8142B04
-
- thumb_func_start sub_8142CC8
-sub_8142CC8: @ 8142CC8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08142DD0 @ =0x0201e000
- mov r8, r0
- movs r3, 0
- ldr r1, _08142DD4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r3, r0
- bge _08142CFE
- adds r1, r0, 0
-_08142CF0:
- movs r0, 0x78
- add r8, r0
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- blt _08142CF0
-_08142CFE:
- movs r3, 0
- lsls r6, r4, 2
- adds r0, r6, r4
- lsls r5, r0, 3
- ldr r1, _08142DD8 @ =gTasks + 0x8
- mov r10, r1
- ldr r2, _08142DDC @ =gSprites
- mov r12, r2
- movs r0, 0xD
- negs r0, r0
- mov r9, r0
- movs r7, 0x4
-_08142D16:
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r5
- add r0, r10
- ldrh r1, [r0]
- cmp r1, 0xFF
- beq _08142D36
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r2, [r0, 0x5]
- mov r1, r9
- ands r1, r2
- orrs r1, r7
- strb r1, [r0, 0x5]
-_08142D36:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _08142D16
- adds r1, r6, r4
- lsls r1, 3
- ldr r2, _08142DD4 @ =gTasks
- adds r5, r1, r2
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- adds r0, 0x5
- lsls r0, 1
- adds r0, r1
- ldr r1, _08142DD4 @ =gTasks
- adds r1, 0x8
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08142DDC @ =gSprites
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r1
- ldr r1, _08142DE0 @ =0xffff0000
- eors r0, r1
- ldr r2, _08142DE4 @ =gUnknown_0203931C
- str r0, [r2]
- ldr r2, _08142DE8 @ =0x0000735f
- movs r1, 0xC
- bl BlendPalettesUnfaded
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- mov r1, r8
- adds r4, r1, r0
- ldrh r1, [r4, 0x8]
- ldr r0, _08142DEC @ =0x000001ff
- ands r0, r1
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08142DB2
- bl StopCryAndClearCrySongs
- ldrh r0, [r4, 0x8]
- lsls r0, 23
- lsrs r0, 23
- movs r1, 0
- bl PlayCry1
-_08142DB2:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xE
- bl sub_8143088
- ldr r0, _08142DF0 @ =sub_8142DF4
- str r0, [r5]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08142DD0: .4byte 0x0201e000
-_08142DD4: .4byte gTasks
-_08142DD8: .4byte gTasks + 0x8
-_08142DDC: .4byte gSprites
-_08142DE0: .4byte 0xffff0000
-_08142DE4: .4byte gUnknown_0203931C
-_08142DE8: .4byte 0x0000735f
-_08142DEC: .4byte 0x000001ff
-_08142DF0: .4byte sub_8142DF4
- thumb_func_end sub_8142CC8
-
- thumb_func_start sub_8142DF4
-sub_8142DF4: @ 8142DF4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _08142E88 @ =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r2
- adds r3, r1, 0
- cmp r0, 0
- beq _08142EC4
- ldr r7, _08142E8C @ =gTasks
- lsls r0, r6, 2
- adds r1, r0, r6
- lsls r3, r1, 3
- adds r4, r3, r7
- ldrh r2, [r4, 0x8]
- movs r5, 0x8
- ldrsh r1, [r4, r5]
- mov r8, r0
- cmp r1, 0
- beq _08142E98
- subs r0, r2, 0x1
- strh r0, [r4, 0x8]
- movs r5, 0
- adds r7, 0x8
- mov r9, r7
- adds r7, r3, 0
-_08142E30:
- adds r0, r5, 0x5
- lsls r0, 1
- adds r0, r7
- add r0, r9
- ldrb r1, [r0]
- cmp r1, 0xFF
- beq _08142E5E
- ldr r0, _08142E90 @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl DestroySprite
-_08142E5E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08142E30
- ldr r0, _08142E8C @ =gTasks
- mov r2, r8
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08142E80
- subs r0, r2, 0x1
- strh r0, [r1, 0xA]
-_08142E80:
- ldr r0, _08142E94 @ =sub_8142B04
- str r0, [r1]
- b _08142F64
- .align 2, 0
-_08142E88: .4byte gMain
-_08142E8C: .4byte gTasks
-_08142E90: .4byte gSprites
-_08142E94: .4byte sub_8142B04
-_08142E98:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _08142EB2
- bl StopCryAndClearCrySongs
- ldr r0, _08142EB8 @ =gMPlay_BGM
- ldr r1, _08142EBC @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_08142EB2:
- ldr r0, _08142EC0 @ =sub_8142F78
- str r0, [r4]
- b _08142F64
- .align 2, 0
-_08142EB8: .4byte gMPlay_BGM
-_08142EBC: .4byte 0x0000ffff
-_08142EC0: .4byte sub_8142F78
-_08142EC4:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _08142F08
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _08142EE6
- bl StopCryAndClearCrySongs
- ldr r0, _08142EF8 @ =gMPlay_BGM
- ldr r1, _08142EFC @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_08142EE6:
- ldr r0, _08142F00 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _08142F04 @ =sub_8142F78
- str r0, [r1]
- b _08142F64
- .align 2, 0
-_08142EF8: .4byte gMPlay_BGM
-_08142EFC: .4byte 0x0000ffff
-_08142F00: .4byte gTasks
-_08142F04: .4byte sub_8142F78
-_08142F08:
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _08142F38
- ldr r0, _08142F30 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xC]
- movs r4, 0xC
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08142F38
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- ldr r0, _08142F34 @ =sub_8142CC8
- str r0, [r1]
- b _08142F64
- .align 2, 0
-_08142F30: .4byte gTasks
-_08142F34: .4byte sub_8142CC8
-_08142F38:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08142F64
- ldr r1, _08142F70 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r2, r0, r1
- movs r5, 0xC
- ldrsh r1, [r2, r5]
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- subs r0, 0x1
- cmp r1, r0
- bge _08142F64
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- ldr r0, _08142F74 @ =sub_8142CC8
- str r0, [r2]
-_08142F64:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08142F70: .4byte gTasks
-_08142F74: .4byte sub_8142CC8
- thumb_func_end sub_8142DF4
-
- thumb_func_start sub_8142F78
-sub_8142F78: @ 8142F78
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08142FB4 @ =gPlttBufferFaded
- ldr r1, _08142FB8 @ =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 2
- bl CpuSet
- ldr r0, _08142FBC @ =0x0201c000
- adds r2, r0, 0
- ldr r1, _08142FC0 @ =gUnknown_0840B57C
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5}
- stm r2!, {r3,r5}
- bl sub_80C5E38
- ldr r1, _08142FC4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08142FC8 @ =sub_8142FCC
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08142FB4: .4byte gPlttBufferFaded
-_08142FB8: .4byte gPlttBufferUnfaded
-_08142FBC: .4byte 0x0201c000
-_08142FC0: .4byte gUnknown_0840B57C
-_08142FC4: .4byte gTasks
-_08142FC8: .4byte sub_8142FCC
- thumb_func_end sub_8142F78
-
- thumb_func_start sub_8142FCC
-sub_8142FCC: @ 8142FCC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80C5F98
- lsls r0, 24
- cmp r0, 0
- beq _08142FE6
- adds r0, r4, 0
- bl DestroyTask
- bl ReturnFromHallOfFamePC
-_08142FE6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8142FCC
-
- thumb_func_start sub_8142FEC
-sub_8142FEC: @ 8142FEC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0xE
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _08143020 @ =gMenuText_HOFCorrupt
- movs r1, 0x3
- movs r2, 0xF
- bl MenuPrintMessage
- ldr r1, _08143024 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08143028 @ =sub_814302C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08143020: .4byte gMenuText_HOFCorrupt
-_08143024: .4byte gTasks
-_08143028: .4byte sub_814302C
- thumb_func_end sub_8142FEC
-
- thumb_func_start sub_814302C
-sub_814302C: @ 814302C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _08143056
- ldr r0, _0814305C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08143056
- ldr r0, _08143060 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08143064 @ =sub_8142F78
- str r0, [r1]
-_08143056:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814305C: .4byte gMain
-_08143060: .4byte gTasks
-_08143064: .4byte sub_8142F78
- thumb_func_end sub_814302C
-
- thumb_func_start sub_8143068
-sub_8143068: @ 8143068
- push {lr}
- lsls r2, r1, 24
- ldr r0, _08143084 @ =gMenuText_WelcomeToHOFAndDexRating
- movs r1, 0x80
- lsls r1, 17
- adds r2, r1
- lsrs r2, 24
- movs r1, 0
- movs r3, 0xF0
- bl sub_8072BD8
- pop {r0}
- bx r0
- .align 2, 0
-_08143084: .4byte gMenuText_WelcomeToHOFAndDexRating
- thumb_func_end sub_8143068
-
- thumb_func_start sub_8143088
-sub_8143088: @ 8143088
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldr r7, _08143188 @ =gStringVar1
- movs r0, 0xFC
- strb r0, [r7]
- movs r0, 0x13
- strb r0, [r7, 0x1]
- movs r0, 0x28
- strb r0, [r7, 0x2]
- movs r0, 0xFF
- strb r0, [r7, 0x3]
- mov r0, r9
- ldrh r2, [r0, 0x8]
- ldr r0, _0814318C @ =0x000001ff
- ands r0, r2
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _081430EA
- lsls r0, r2, 23
- lsrs r0, 23
- bl SpeciesToPokedexNum
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _08143190 @ =0x0000ffff
- cmp r6, r0
- beq _081430EA
- ldr r1, _08143194 @ =gOtherText_Number2
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
-_081430EA:
- ldr r5, _08143188 @ =gStringVar1
- mov r1, r8
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- mov r4, r10
- adds r4, 0x1
- lsls r2, r4, 24
- lsrs r2, 24
- adds r0, r5, 0
- bl MenuPrint
- adds r7, r5, 0
- movs r3, 0
- mov r1, r9
- ldrb r0, [r1, 0xA]
- str r4, [sp]
- mov r2, r8
- adds r2, 0x9
- str r2, [sp, 0xC]
- mov r6, r10
- adds r6, 0x3
- str r6, [sp, 0x8]
- cmp r0, 0xFF
- beq _0814313A
- mov r2, r9
- adds r2, 0xA
-_08143120:
- adds r1, r7, r3
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x9
- bhi _0814313A
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08143120
-_0814313A:
- adds r7, r3
- movs r2, 0xFF
- strb r2, [r7]
- mov r1, r9
- ldrh r0, [r1, 0x8]
- ldr r1, _0814318C @ =0x000001ff
- ands r1, r0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _08143198
- movs r0, 0xFC
- strb r0, [r7]
- movs r0, 0x13
- strb r0, [r7, 0x1]
- movs r0, 0xA0
- strb r0, [r7, 0x2]
- strb r2, [r7, 0x3]
- ldr r0, _08143188 @ =gStringVar1
- ldr r2, [sp, 0xC]
- lsls r1, r2, 24
- lsrs r1, 24
- ldr r3, [sp]
- lsls r2, r3, 24
- lsrs r2, 24
- bl MenuPrint
- ldr r6, [sp, 0x8]
- lsls r1, r6, 24
- lsrs r1, 24
- mov r3, r10
- adds r3, 0x4
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- movs r2, 0x1D
- bl MenuZeroFillWindowRect
- b _081432E4
- .align 2, 0
-_08143188: .4byte gStringVar1
-_0814318C: .4byte 0x000001ff
-_08143190: .4byte 0x0000ffff
-_08143194: .4byte gOtherText_Number2
-_08143198:
- movs r0, 0xFC
- strb r0, [r7]
- movs r0, 0x13
- strb r0, [r7, 0x1]
- movs r0, 0x3E
- strb r0, [r7, 0x2]
- adds r7, 0x3
- movs r0, 0xBA
- strb r0, [r7]
- adds r7, 0x1
- movs r3, 0
- ldr r2, _08143238 @ =gSpeciesNames
- mov r1, r9
- ldrh r0, [r1, 0x8]
- lsls r0, 23
- lsrs r0, 23
- movs r1, 0xB
- muls r0, r1
- adds r0, r2
- ldrb r0, [r0]
- mov r6, r8
- adds r6, 0x7
- str r6, [sp, 0x4]
- mov r1, r8
- adds r1, 0xD
- str r1, [sp, 0x10]
- cmp r0, 0xFF
- beq _08143204
- adds r5, r2, 0
- movs r4, 0xB
-_081431D4:
- adds r1, r7, r3
- mov r6, r9
- ldrh r0, [r6, 0x8]
- lsls r0, 23
- lsrs r0, 23
- muls r0, r4
- adds r0, r3, r0
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x9
- bhi _08143204
- ldrh r0, [r6, 0x8]
- lsls r0, 23
- lsrs r0, 23
- muls r0, r4
- adds r0, r3, r0
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081431D4
-_08143204:
- adds r7, r3
- movs r0, 0
- strb r0, [r7]
- adds r7, 0x1
- mov r1, r9
- ldrh r0, [r1, 0x8]
- ldr r1, _0814323C @ =0x000001ff
- ands r1, r0
- cmp r1, 0x20
- beq _0814324A
- cmp r1, 0x1D
- beq _0814324A
- lsls r0, 23
- lsrs r0, 23
- mov r2, r9
- ldr r1, [r2, 0x4]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08143240
- cmp r0, 0xFE
- beq _08143244
- b _0814324A
- .align 2, 0
-_08143238: .4byte gSpeciesNames
-_0814323C: .4byte 0x000001ff
-_08143240:
- movs r0, 0xB5
- b _08143246
-_08143244:
- movs r0, 0xB6
-_08143246:
- strb r0, [r7]
- adds r7, 0x1
-_0814324A:
- movs r4, 0xFC
- strb r4, [r7]
- movs r3, 0x13
- mov r8, r3
- strb r3, [r7, 0x1]
- movs r0, 0xA0
- strb r0, [r7, 0x2]
- movs r6, 0xFF
- mov r10, r6
- strb r6, [r7, 0x3]
- ldr r5, _081432F4 @ =gStringVar1
- ldr r0, [sp, 0xC]
- lsls r1, r0, 24
- lsrs r1, 24
- ldr r3, [sp]
- lsls r2, r3, 24
- lsrs r2, 24
- adds r0, r5, 0
- bl MenuPrint
- mov r6, r9
- ldrb r0, [r6, 0x9]
- lsrs r6, r0, 1
- ldr r1, _081432F8 @ =gOtherText_Level3
- adds r0, r5, 0
- bl StringCopy
- adds r7, r0, 0
- strb r4, [r7]
- movs r0, 0x14
- strb r0, [r7, 0x1]
- movs r0, 0x6
- strb r0, [r7, 0x2]
- adds r7, 0x3
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r7, r0, 0
- strb r4, [r7]
- mov r0, r8
- strb r0, [r7, 0x1]
- movs r0, 0x30
- strb r0, [r7, 0x2]
- mov r1, r10
- strb r1, [r7, 0x3]
- ldr r2, [sp, 0x4]
- lsls r1, r2, 24
- lsrs r1, 24
- ldr r3, [sp, 0x8]
- lsls r4, r3, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r2, r4, 0
- bl MenuPrint
- mov r0, r9
- ldrh r6, [r0]
- ldr r1, _081432FC @ =gOtherText_IDNumber
- adds r0, r5, 0
- bl StringCopy
- adds r7, r0, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r2, [sp, 0x10]
- lsls r1, r2, 24
- lsrs r1, 24
- adds r0, r5, 0
- adds r2, r4, 0
- bl MenuPrint
-_081432E4:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081432F4: .4byte gStringVar1
-_081432F8: .4byte gOtherText_Level3
-_081432FC: .4byte gOtherText_IDNumber
- thumb_func_end sub_8143088
-
- thumb_func_start sub_8143300
-sub_8143300: @ 8143300
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 24
- lsls r4, 24
- ldr r0, _081433CC @ =gOtherText_Name
- lsrs r1, r5, 24
- mov r8, r1
- movs r2, 0x80
- lsls r2, 17
- adds r5, r2
- lsrs r5, 24
- lsrs r6, r4, 24
- adds r4, r2
- lsrs r4, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl MenuPrint
- ldr r0, _081433D0 @ =gSaveBlock2
- mov r10, r0
- movs r1, 0xE
- add r8, r1
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- mov r1, r8
- adds r2, r4, 0
- bl MenuPrint_RightAligned
- ldr r0, _081433D4 @ =gOtherText_IDNumber2
- adds r4, r6, 0x3
- lsls r4, 24
- lsrs r4, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl MenuPrint
- mov r0, r10
- ldrb r1, [r0, 0xA]
- ldrb r0, [r0, 0xB]
- lsls r0, 8
- orrs r1, r0
- ldr r2, _081433D8 @ =gStringVar1
- mov r9, r2
- mov r0, r9
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- mov r0, r9
- mov r1, r8
- adds r2, r4, 0
- bl MenuPrint_RightAligned
- ldr r0, _081433DC @ =gMainMenuString_Time
- adds r6, 0x5
- lsls r6, 24
- lsrs r6, 24
- adds r1, r5, 0
- adds r2, r6, 0
- bl MenuPrint
- mov r0, r10
- ldrh r1, [r0, 0xE]
- mov r0, r9
- bl ConvertIntToDecimalString
- adds r2, r0, 0
- movs r1, 0
- strb r1, [r2]
- movs r0, 0xF0
- strb r0, [r2, 0x1]
- strb r1, [r2, 0x2]
- adds r2, 0x3
- mov r0, r10
- ldrb r1, [r0, 0x10]
- adds r0, r2, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- movs r0, 0xFF
- strb r0, [r2]
- mov r0, r9
- mov r1, r8
- adds r2, r6, 0
- bl MenuPrint_RightAligned
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081433CC: .4byte gOtherText_Name
-_081433D0: .4byte gSaveBlock2
-_081433D4: .4byte gOtherText_IDNumber2
-_081433D8: .4byte gStringVar1
-_081433DC: .4byte gMainMenuString_Time
- thumb_func_end sub_8143300
-
- thumb_func_start sub_81433E0
-sub_81433E0: @ 81433E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x8
- strh r1, [r0]
- adds r0, 0x8
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x8
- strh r1, [r0]
- adds r0, 0xA
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0xA
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0xC
- strh r1, [r0]
- adds r0, 0xE
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- ldr r1, _0814354C @ =gHallOfFame_Gfx
- mov r9, r1
- mov r2, sp
- movs r6, 0
- ldr r1, _08143550 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _08143554 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_08143444:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _08143444
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _08143550 @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xC0
- lsls r1, 19
- mov r0, r9
- bl LZ77UnCompVram
- movs r1, 0
- ldr r3, _08143558 @ =0x06003800
- movs r2, 0x1
-_081434B2:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3F
- bls _081434B2
- movs r1, 0
- ldr r5, _0814355C @ =0x02000000
- ldr r3, _08143560 @ =0x06003b80
- movs r2, 0x1
-_081434CA:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xBF
- bls _081434CA
- movs r1, 0
- ldr r4, _08143564 @ =0x06003000
- movs r3, 0x2
- ldr r2, _08143568 @ =0x000003ff
-_081434E2:
- lsls r0, r1, 1
- adds r0, r4
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _081434E2
- adds r2, r5, 0
- movs r3, 0x80
- lsls r3, 7
- mov r4, sp
- movs r6, 0
- ldr r1, _08143550 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _08143554 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0814350A:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _0814350A
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- ldr r0, _0814356C @ =gHallOfFame_Pal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814354C: .4byte gHallOfFame_Gfx
-_08143550: .4byte 0x040000d4
-_08143554: .4byte 0x81000800
-_08143558: .4byte 0x06003800
-_0814355C: .4byte 0x02000000
-_08143560: .4byte 0x06003b80
-_08143564: .4byte 0x06003000
-_08143568: .4byte 0x000003ff
-_0814356C: .4byte gHallOfFame_Pal
- thumb_func_end sub_81433E0
-
- thumb_func_start sub_8143570
-sub_8143570: @ 8143570
- push {r4,lr}
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _081435A8 @ =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _081435AC @ =gUnknown_0840B514
- bl LoadCompressedObjectPic
- ldr r0, _081435B0 @ =gUnknown_0840B524
- bl LoadCompressedObjectPalette
- ldr r4, _081435B4 @ =gWindowConfig_81E71B4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081435A8: .4byte gReservedSpritePaletteCount
-_081435AC: .4byte gUnknown_0840B514
-_081435B0: .4byte gUnknown_0840B524
-_081435B4: .4byte gWindowConfig_81E71B4
- thumb_func_end sub_8143570
-
- thumb_func_start sub_81435B8
-sub_81435B8: @ 81435B8
- ldr r1, _081435D8 @ =REG_BG1CNT
- movs r2, 0xE0
- lsls r2, 3
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- subs r2, 0xFD
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xE
- movs r2, 0xDA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_081435D8: .4byte REG_BG1CNT
- thumb_func_end sub_81435B8
-
- thumb_func_start sub_81435DC
-sub_81435DC: @ 81435DC
- push {r4,lr}
- adds r2, r0, 0
- ldr r1, [r2, 0x20]
- ldr r0, [r2, 0x30]
- cmp r1, r0
- beq _08143632
- ldrh r3, [r2, 0x20]
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- movs r4, 0x30
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bge _081435FC
- adds r0, r3, 0
- adds r0, 0xF
- strh r0, [r2, 0x20]
-_081435FC:
- ldrh r3, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, r1
- ble _0814360C
- adds r0, r3, 0
- subs r0, 0xF
- strh r0, [r2, 0x20]
-_0814360C:
- ldrh r3, [r2, 0x22]
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r4, 0x32
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bge _08143620
- adds r0, r3, 0
- adds r0, 0xA
- strh r0, [r2, 0x22]
-_08143620:
- ldrh r3, [r2, 0x22]
- movs r4, 0x22
- ldrsh r0, [r2, r4]
- cmp r0, r1
- ble _0814363A
- adds r0, r3, 0
- subs r0, 0xA
- strh r0, [r2, 0x22]
- b _0814363A
-_08143632:
- movs r0, 0x1
- strh r0, [r2, 0x2E]
- ldr r0, _08143640 @ =nullsub_81
- str r0, [r2, 0x1C]
-_0814363A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08143640: .4byte nullsub_81
- thumb_func_end sub_81435DC
-
- thumb_func_start nullsub_81
-nullsub_81: @ 8143644
- bx lr
- thumb_func_end nullsub_81
-
- thumb_func_start sub_8143648
-sub_8143648: @ 8143648
- push {r4-r7,lr}
- lsls r1, 24
- ldr r4, _08143670 @ =gUnknown_02024E8C
- adds r3, r4, 0
- ldr r2, _08143674 @ =gUnknown_0840B6B8
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- strh r0, [r4, 0x2]
- ldr r0, _08143678 @ =gUnknown_0840B69C
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- str r0, [r4, 0xC]
- ldr r0, _0814367C @ =gSpriteAnimTable_81E7C64
- str r0, [r4, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08143670: .4byte gUnknown_02024E8C
-_08143674: .4byte gUnknown_0840B6B8
-_08143678: .4byte gUnknown_0840B69C
-_0814367C: .4byte gSpriteAnimTable_81E7C64
- thumb_func_end sub_8143648
-
- thumb_func_start sub_8143680
-sub_8143680: @ 8143680
- push {r4-r7,lr}
- lsls r1, 24
- ldr r4, _081436AC @ =gUnknown_02024E8C
- adds r3, r4, 0
- ldr r2, _081436B0 @ =gUnknown_0840B6B8
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- strh r0, [r4, 0x2]
- ldr r0, _081436B4 @ =gUnknown_0840B69C
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- str r0, [r4, 0xC]
- ldr r0, _081436B8 @ =gUnknown_081EC2A4
- ldr r0, [r0]
- str r0, [r4, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081436AC: .4byte gUnknown_02024E8C
-_081436B0: .4byte gUnknown_0840B6B8
-_081436B4: .4byte gUnknown_0840B69C
-_081436B8: .4byte gUnknown_081EC2A4
- thumb_func_end sub_8143680
-
- thumb_func_start sub_81436BC
-sub_81436BC: @ 81436BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- mov r9, r1
- mov r10, r2
- mov r8, r3
- ldr r7, [sp, 0x34]
- lsls r6, 16
- lsrs r6, 16
- mov r0, r9
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r1, r10
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- mov r2, r8
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r0, r6, 3
- ldr r1, _08143790 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08143794 @ =gMonFrontPicCoords
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08143798 @ =gUnknown_0840B5A0
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r6, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r4, 0x1
- str r4, [sp, 0xC]
- bl sub_800D378
- adds r0, r6, 0
- ldr r1, [sp, 0x30]
- adds r2, r7, 0
- bl species_and_otid_get_pal
- lsls r4, r5, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- lsls r1, r5, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_8143648
- ldr r0, _0814379C @ =gUnknown_02024E8C
- mov r5, r9
- lsls r5, 16
- asrs r5, 16
- mov r9, r5
- mov r1, r10
- lsls r1, 16
- asrs r1, 16
- mov r10, r1
- movs r3, 0xA
- mov r2, r8
- subs r3, r2
- lsls r3, 24
- lsrs r3, 24
- mov r1, r9
- mov r2, r10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081437A0 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r4
- strb r1, [r2, 0x5]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08143790: .4byte gMonFrontPicTable
-_08143794: .4byte gMonFrontPicCoords
-_08143798: .4byte gUnknown_0840B5A0
-_0814379C: .4byte gUnknown_02024E8C
-_081437A0: .4byte gSprites
- thumb_func_end sub_81436BC
-
- thumb_func_start sub_81437A4
-sub_81437A4: @ 81437A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r1
- mov r10, r2
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- lsls r6, 16
- lsrs r6, 16
- lsls r7, r0, 3
- ldr r1, _08143854 @ =gTrainerFrontPicTable
- mov r8, r1
- add r8, r7
- ldr r1, _08143858 @ =gTrainerFrontPicCoords
- lsls r2, r0, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r5, _0814385C @ =gUnknown_0840B5A0
- lsls r4, r6, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r8
- bl DecompressPicFromTable_2
- ldr r0, _08143860 @ =gTrainerFrontPicPaletteTable
- adds r0, r7, r0
- ldr r0, [r0]
- lsls r4, r6, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- lsls r1, r6, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8143680
- ldr r0, _08143864 @ =gUnknown_02024E8C
- mov r1, r9
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- mov r2, r10
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08143868 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r4
- strb r1, [r2, 0x5]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08143854: .4byte gTrainerFrontPicTable
-_08143858: .4byte gTrainerFrontPicCoords
-_0814385C: .4byte gUnknown_0840B5A0
-_08143860: .4byte gTrainerFrontPicPaletteTable
-_08143864: .4byte gUnknown_02024E8C
-_08143868: .4byte gSprites
- thumb_func_end sub_81437A4
-
- thumb_func_start sub_814386C
-sub_814386C: @ 814386C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x26]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- cmp r0, 0x78
- ble _08143882
- adds r0, r5, 0
- bl DestroySprite
- b _081438BA
-_08143882:
- adds r0, r1, 0x1
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r4, [r5, 0x2E]
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- ands r0, r1
- adds r0, 0x8
- ldr r1, _081438C0 @ =gSineTable
- lsls r4, 1
- adds r4, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- muls r0, r1
- cmp r0, 0
- bge _081438B0
- adds r0, 0xFF
-_081438B0:
- asrs r0, 8
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x4
- strh r0, [r5, 0x2E]
-_081438BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081438C0: .4byte gSineTable
- thumb_func_end sub_814386C
-
- thumb_func_start sub_81438C4
-sub_81438C4: @ 81438C4
- push {r4,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl Random
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x7
- ands r2, r0
- negs r2, r2
- ldr r0, _08143934 @ =gSpriteTemplate_840B7A4
- lsls r4, 16
- asrs r4, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r4, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08143938 @ =gSprites
- adds r4, r1, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x11
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- bl Random
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- beq _0814393C
- movs r0, 0
- b _0814393E
- .align 2, 0
-_08143934: .4byte gSpriteTemplate_840B7A4
-_08143938: .4byte gSprites
-_0814393C:
- movs r0, 0x1
-_0814393E:
- strh r0, [r4, 0x30]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81438C4
-
- thumb_func_start sub_8143948
-sub_8143948: @ 8143948
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8143948
-
- thumb_func_start sub_814395C
-sub_814395C: @ 814395C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, _081439B8 @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081439B2
- ldr r0, _081439BC @ =gUnknown_02039324
- ldrb r0, [r0]
- cmp r0, 0
- beq _081439B2
- ldr r2, _081439C0 @ =gTasks
- ldr r0, _081439C4 @ =gUnknown_02039322
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _081439C8 @ =sub_8143B68
- cmp r1, r0
- bne _081439B2
- bl sub_8143948
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r1, _081439CC @ =gUnknown_02039325
- movs r0, 0x1
- strb r0, [r1]
-_081439B2:
- pop {r0}
- bx r0
- .align 2, 0
-_081439B8: .4byte gMain
-_081439BC: .4byte gUnknown_02039324
-_081439C0: .4byte gTasks
-_081439C4: .4byte gUnknown_02039322
-_081439C8: .4byte sub_8143B68
-_081439CC: .4byte gUnknown_02039325
- thumb_func_end sub_814395C
-
- thumb_func_start sub_81439D0
-sub_81439D0: @ 81439D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- bl sub_8144130
- movs r0, 0
- bl SetVBlankCallback
- bl ResetPaletteFade
- bl ResetTasks
- ldr r0, _08143AF0 @ =sub_8143B38
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08143AF4 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x1E]
- movs r1, 0x1
- strh r1, [r0, 0x22]
-_08143A0E:
- movs r0, 0
- adds r1, r7, 0
- bl sub_8144ECC
- lsls r0, 24
- cmp r0, 0
- beq _08143A0E
- ldr r6, _08143AF4 @ =gTasks
- lsls r5, r7, 2
- adds r5, r7
- lsls r5, 3
- adds r5, r6
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- movs r1, 0
- mov r9, r1
- movs r2, 0
- mov r8, r2
- movs r1, 0x28
- strh r1, [r0, 0x8]
- ldr r4, _08143AF8 @ =gWindowConfig_81E7208
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r0, _08143AFC @ =gUnknown_0840B7BC
- movs r1, 0x80
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _08143B00 @ =gUnknown_0840B7FC
- ldr r1, _08143B04 @ =0x0600bee0
- movs r2, 0x20
- bl CpuSet
- ldr r1, _08143B08 @ =REG_BG0VOFS
- ldr r2, _08143B0C @ =0x0000fffc
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08143B10 @ =sub_81441B8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- strh r7, [r1, 0xA]
- strh r0, [r5, 0x26]
- movs r0, 0x1
- negs r0, r0
- mov r1, r8
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r3, _08143B14 @ =0x04000208
- ldrh r2, [r3]
- mov r0, r8
- strh r0, [r3]
- ldr r4, _08143B18 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08143B1C @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _08143B20 @ =sub_8143948
- bl SetVBlankCallback
- ldr r0, _08143B24 @ =0x000001c7
- bl m4aSongNumStart
- ldr r0, _08143B28 @ =sub_814395C
- bl SetMainCallback2
- ldr r0, _08143B2C @ =gUnknown_02039325
- mov r1, r9
- strb r1, [r0]
- ldr r4, _08143B30 @ =0x0201c000
- bl sub_81458DC
- adds r0, r4, 0
- adds r0, 0x88
- mov r2, r8
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- ldr r0, _08143B34 @ =gUnknown_02039322
- strh r7, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08143AF0: .4byte sub_8143B38
-_08143AF4: .4byte gTasks
-_08143AF8: .4byte gWindowConfig_81E7208
-_08143AFC: .4byte gUnknown_0840B7BC
-_08143B00: .4byte gUnknown_0840B7FC
-_08143B04: .4byte 0x0600bee0
-_08143B08: .4byte REG_BG0VOFS
-_08143B0C: .4byte 0x0000fffc
-_08143B10: .4byte sub_81441B8
-_08143B14: .4byte 0x04000208
-_08143B18: .4byte 0x04000200
-_08143B1C: .4byte REG_DISPSTAT
-_08143B20: .4byte sub_8143948
-_08143B24: .4byte 0x000001c7
-_08143B28: .4byte sub_814395C
-_08143B2C: .4byte gUnknown_02039325
-_08143B30: .4byte 0x0201c000
-_08143B34: .4byte gUnknown_02039322
- thumb_func_end sub_81439D0
-
- thumb_func_start sub_8143B38
-sub_8143B38: @ 8143B38
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08143B5C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08143B58
- ldr r0, _08143B60 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _08143B64 @ =sub_8143B68
- str r0, [r1]
-_08143B58:
- pop {r0}
- bx r0
- .align 2, 0
-_08143B5C: .4byte gPaletteFade
-_08143B60: .4byte gTasks
-_08143B64: .4byte sub_8143B68
- thumb_func_end sub_8143B38
-
- thumb_func_start sub_8143B68
-sub_8143B68: @ 8143B68
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08143B9C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08143BA4
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1E
- strh r1, [r0, 0x8]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x20]
- ldr r0, _08143BA0 @ =sub_8143EBC
- b _08143BEE
- .align 2, 0
-_08143B9C: .4byte gTasks
-_08143BA0: .4byte sub_8143EBC
-_08143BA4:
- ldr r0, _08143BCC @ =gUnknown_02039320
- strh r1, [r0]
- ldrh r2, [r4, 0x1E]
- movs r3, 0x1E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _08143BD4
- strh r2, [r4, 0x22]
- strh r1, [r4, 0x1E]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08143BD0 @ =sub_8143BFC
- b _08143BEE
- .align 2, 0
-_08143BCC: .4byte gUnknown_02039320
-_08143BD0: .4byte sub_8143BFC
-_08143BD4:
- cmp r0, 0x2
- bne _08143BF0
- strh r2, [r4, 0x22]
- strh r1, [r4, 0x1E]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08143BF8 @ =sub_8143CC0
-_08143BEE:
- str r0, [r4]
-_08143BF0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08143BF8: .4byte sub_8143CC0
- thumb_func_end sub_8143B68
-
- thumb_func_start sub_8143BFC
-sub_8143BFC: @ 8143BFC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08143C34 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08143C2C
- movs r0, 0x80
- lsls r0, 19
- strh r1, [r0]
- adds r0, r4, 0
- bl sub_81450AC
- ldr r1, _08143C38 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08143C3C @ =c2_080C9BFC
- str r1, [r0]
-_08143C2C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08143C34: .4byte gPaletteFade
-_08143C38: .4byte gTasks
-_08143C3C: .4byte c2_080C9BFC
- thumb_func_end sub_8143BFC
-
- thumb_func_start c2_080C9BFC
-c2_080C9BFC: @ 8143C40
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, _08143CA8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r0, [r5, 0x16]
- adds r1, r4, 0
- bl sub_8144ECC
- lsls r0, 24
- cmp r0, 0
- beq _08143CA0
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r3, _08143CAC @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _08143CB0 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08143CB4 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _08143CB8 @ =sub_8143948
- bl SetVBlankCallback
- ldr r0, _08143CBC @ =sub_8143B38
- str r0, [r5]
-_08143CA0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08143CA8: .4byte gTasks
-_08143CAC: .4byte 0x04000208
-_08143CB0: .4byte 0x04000200
-_08143CB4: .4byte REG_DISPSTAT
-_08143CB8: .4byte sub_8143948
-_08143CBC: .4byte sub_8143B38
- thumb_func_end c2_080C9BFC
-
- thumb_func_start sub_8143CC0
-sub_8143CC0: @ 8143CC0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08143CF8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08143CF0
- movs r0, 0x80
- lsls r0, 19
- strh r1, [r0]
- adds r0, r4, 0
- bl sub_81450AC
- ldr r1, _08143CFC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08143D00 @ =sub_8143D04
- str r1, [r0]
-_08143CF0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08143CF8: .4byte gPaletteFade
-_08143CFC: .4byte gTasks
-_08143D00: .4byte sub_8143D04
- thumb_func_end sub_8143CC0
-
- thumb_func_start sub_8143D04
-sub_8143D04: @ 8143D04
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _08143DC8 @ =gMain
- ldr r1, _08143DCC @ =0x0000043c
- adds r1, r0
- mov r8, r1
- ldrb r7, [r1]
- cmp r7, 0
- beq _08143D24
- cmp r7, 0x1
- beq _08143E0C
-_08143D24:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _08143DD0 @ =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _08143DD4 @ =gUnknown_083F66F0
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _08143DD8 @ =gBirchGrassTilemap
- ldr r1, _08143DDC @ =0x06003800
- bl LZ77UnCompVram
- ldr r0, _08143DE0 @ =gUnknown_083F62EC + 0x2
- movs r1, 0x1
- movs r2, 0x3E
- bl LoadPalette
- movs r1, 0
- ldr r4, _08143DE4 @ =0x0201e000
- movs r3, 0x11
- ldr r2, _08143DE8 @ =0x000007ff
-_08143D56:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _08143D56
- movs r1, 0
- ldr r2, _08143DEC @ =0x0201f800
- ldr r6, _08143DF0 @ =gUnknown_0840CAA0
- ldr r0, _08143DF4 @ =0xfffff000
- adds r5, r2, r0
- movs r4, 0x22
- ldr r3, _08143DE8 @ =0x000007ff
-_08143D72:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _08143D72
- movs r1, 0
- ldr r5, _08143DF8 @ =0x0201f000
- movs r4, 0x33
- ldr r3, _08143DE8 @ =0x000007ff
-_08143D88:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _08143D88
- movs r0, 0
- strh r0, [r2]
- ldr r1, _08143DFC @ =0x000053ff
- adds r0, r1, 0
- strh r0, [r2, 0x2]
- ldr r1, _08143E00 @ =0x0000529f
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- ldr r1, _08143E04 @ =0x00007e94
- adds r0, r1, 0
- strh r0, [r2, 0x6]
- adds r0, r6, 0
- bl LoadSpriteSheet
- ldr r0, _08143E08 @ =gUnknown_0840CAB0
- bl LoadSpritePalette
- ldr r1, _08143DC8 @ =gMain
- ldr r2, _08143DCC @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08143E90
- .align 2, 0
-_08143DC8: .4byte gMain
-_08143DCC: .4byte 0x0000043c
-_08143DD0: .4byte gReservedSpritePaletteCount
-_08143DD4: .4byte gUnknown_083F66F0
-_08143DD8: .4byte gBirchGrassTilemap
-_08143DDC: .4byte 0x06003800
-_08143DE0: .4byte gUnknown_083F62EC + 0x2
-_08143DE4: .4byte 0x0201e000
-_08143DE8: .4byte 0x000007ff
-_08143DEC: .4byte 0x0201f800
-_08143DF0: .4byte gUnknown_0840CAA0
-_08143DF4: .4byte 0xfffff000
-_08143DF8: .4byte 0x0201f000
-_08143DFC: .4byte 0x000053ff
-_08143E00: .4byte 0x0000529f
-_08143E04: .4byte 0x00007e94
-_08143E08: .4byte gUnknown_0840CAB0
-_08143E0C:
- ldr r0, _08143EA0 @ =sub_8144514
- movs r1, 0
- bl CreateTask
- ldr r2, _08143EA4 @ =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- mov r9, r1
- movs r5, 0
- strh r0, [r4, 0xE]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r7, [r0, 0x8]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r6, [r0, 0xA]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r4, 0x16]
- strh r1, [r0, 0xC]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08143EA8 @ =REG_BG3HOFS
- strh r5, [r0]
- ldr r1, _08143EAC @ =REG_BG3VOFS
- movs r0, 0x20
- strh r0, [r1]
- subs r1, 0x10
- ldr r2, _08143EB0 @ =0x00000703
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xE
- movs r2, 0xCA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- mov r1, r9
- mov r0, r8
- strb r1, [r0]
- ldr r0, _08143EB4 @ =gUnknown_0203935C
- strh r5, [r0]
- ldr r0, _08143EB8 @ =sub_8143B38
- str r0, [r4]
-_08143E90:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08143EA0: .4byte sub_8144514
-_08143EA4: .4byte gTasks
-_08143EA8: .4byte REG_BG3HOFS
-_08143EAC: .4byte REG_BG3VOFS
-_08143EB0: .4byte 0x00000703
-_08143EB4: .4byte gUnknown_0203935C
-_08143EB8: .4byte sub_8143B38
- thumb_func_end sub_8143D04
-
- thumb_func_start sub_8143EBC
-sub_8143EBC: @ 8143EBC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08143EE0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x20]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _08143EE4
- subs r0, 0x1
- strh r0, [r4, 0x20]
- b _08143EF8
- .align 2, 0
-_08143EE0: .4byte gTasks
-_08143EE4:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0xC
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08143F00 @ =sub_8143F04
- str r0, [r4]
-_08143EF8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08143F00: .4byte sub_8143F04
- thumb_func_end sub_8143EBC
-
- thumb_func_start sub_8143F04
-sub_8143F04: @ 8143F04
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08143F30 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08143F2A
- adds r0, r4, 0
- bl sub_81450AC
- ldr r0, _08143F34 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08143F38 @ =sub_8143F3C
- str r0, [r1]
-_08143F2A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08143F30: .4byte gPaletteFade
-_08143F34: .4byte gTasks
-_08143F38: .4byte sub_8143F3C
- thumb_func_end sub_8143F04
-
- thumb_func_start sub_8143F3C
-sub_8143F3C: @ 8143F3C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl sub_8144130
- bl ResetPaletteFade
- movs r1, 0xE0
- lsls r1, 6
- movs r0, 0
- movs r2, 0
- bl sub_8145128
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0x8
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _08143FC4 @ =REG_BG0CNT
- movs r2, 0xE0
- lsls r2, 3
- adds r0, r2, 0
- strh r0, [r1]
- ldr r3, _08143FC8 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _08143FCC @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08143FD0 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08143FD4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0x8]
- ldr r1, _08143FD8 @ =sub_8143FDC
- str r1, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08143FC4: .4byte REG_BG0CNT
-_08143FC8: .4byte 0x04000208
-_08143FCC: .4byte 0x04000200
-_08143FD0: .4byte REG_DISPSTAT
-_08143FD4: .4byte gTasks
-_08143FD8: .4byte sub_8143FDC
- thumb_func_end sub_8143F3C
-
- thumb_func_start sub_8143FDC
-sub_8143FDC: @ 8143FDC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08144000 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _08144004
- subs r0, 0x1
- strh r0, [r4, 0x8]
- b _08144018
- .align 2, 0
-_08144000: .4byte gTasks
-_08144004:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0x6
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08144020 @ =sub_8144024
- str r0, [r4]
-_08144018:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08144020: .4byte sub_8144024
- thumb_func_end sub_8143FDC
-
- thumb_func_start sub_8144024
-sub_8144024: @ 8144024
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _08144074 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0814406A
- movs r0, 0xE0
- lsls r0, 6
- movs r1, 0
- bl sub_81452D0
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _08144078 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE1
- lsls r1, 5
- strh r1, [r0, 0x8]
- ldr r1, _0814407C @ =sub_8144080
- str r1, [r0]
-_0814406A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08144074: .4byte gPaletteFade
-_08144078: .4byte gTasks
-_0814407C: .4byte sub_8144080
- thumb_func_end sub_8144024
-
- thumb_func_start sub_8144080
-sub_8144080: @ 8144080
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _081440CC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08144104
- ldr r1, _081440D0 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _081440AE
- ldr r0, _081440D4 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- beq _081440E0
-_081440AE:
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- ldr r1, _081440D8 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _081440DC @ =sub_8144114
- str r0, [r4]
- b _08144104
- .align 2, 0
-_081440CC: .4byte gPaletteFade
-_081440D0: .4byte gTasks
-_081440D4: .4byte gMain
-_081440D8: .4byte 0x0000ffff
-_081440DC: .4byte sub_8144114
-_081440E0:
- ldr r0, _0814410C @ =0x00001be8
- cmp r1, r0
- bne _081440EC
- movs r0, 0x8
- bl FadeOutBGM
-_081440EC:
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- ldr r0, _08144110 @ =0x00001ab8
- cmp r1, r0
- bne _081440FE
- movs r0, 0xE4
- lsls r0, 1
- bl m4aSongNumStart
-_081440FE:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
-_08144104:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814410C: .4byte 0x00001be8
-_08144110: .4byte 0x00001ab8
- thumb_func_end sub_8144080
-
- thumb_func_start sub_8144114
-sub_8144114: @ 8144114
- push {lr}
- ldr r0, _0814412C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08144128
- movs r0, 0xFF
- bl SoftReset
-_08144128:
- pop {r0}
- bx r0
- .align 2, 0
-_0814412C: .4byte gPaletteFade
- thumb_func_end sub_8144114
-
- thumb_func_start sub_8144130
-sub_8144130: @ 8144130
- sub sp, 0x8
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x1C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x3E
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- strh r1, [r0]
- ldr r1, _081441A4 @ =0x040000d4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _081441A8 @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _081441AC @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r2, [r0]
- str r0, [r1]
- ldr r0, _081441B0 @ =0x05000002
- str r0, [r1, 0x4]
- ldr r0, _081441B4 @ =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x8
- bx lr
- .align 2, 0
-_081441A4: .4byte 0x040000d4
-_081441A8: .4byte 0x8100c000
-_081441AC: .4byte 0x85000100
-_081441B0: .4byte 0x05000002
-_081441B4: .4byte 0x810001ff
- thumb_func_end sub_8144130
-
- thumb_func_start sub_81441B8
-sub_81441B8: @ 81441B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _081441E4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0xA
- bhi _08144218
- lsls r0, 2
- ldr r1, _081441E8 @ =_081441EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081441E4: .4byte gTasks
-_081441E8: .4byte _081441EC
- .align 2, 0
-_081441EC:
- .4byte _08144218
- .4byte _08144258
- .4byte _08144278
- .4byte _08144358
- .4byte _0814438C
- .4byte _081443F8
- .4byte _08144218
- .4byte _08144218
- .4byte _08144218
- .4byte _08144218
- .4byte _08144428
-_08144218:
- ldr r0, _08144250 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0814422A
- b _08144446
-_0814422A:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x8]
- movs r1, 0x58
- strh r1, [r0, 0xE]
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r2, [r0, 0x24]
- ldr r0, _08144254 @ =gUnknown_02039320
- strh r2, [r0]
- b _08144446
- .align 2, 0
-_08144250: .4byte gPaletteFade
-_08144254: .4byte gUnknown_02039320
-_08144258:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08144270
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _08144446
-_08144270:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08144446
-_08144278:
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _08144320 @ =0x0000feff
- ands r0, r1
- strh r0, [r2]
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r3, r0, r6
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r4, r0, r6
- ldr r1, [r4]
- ldr r0, _08144324 @ =sub_8143B68
- mov r8, r2
- cmp r1, r0
- bne _08144352
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0x33
- bgt _0814434C
- movs r4, 0
- ldr r7, _08144328 @ =gCreditsEntryPointerTable
- adds r6, r3, 0
-_081442B0:
- movs r2, 0xC
- ldrsh r1, [r6, r2]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r4
- lsls r0, 2
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r2, r4, 25
- movs r3, 0x90
- lsls r3, 20
- adds r2, r3
- lsrs r2, 24
- movs r1, 0
- movs r3, 0xF0
- bl sub_8072BD8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _081442B0
- ldr r3, _0814432C @ =gTasks
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xA
- ldrsh r2, [r1, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r3
- movs r2, 0x1
- strh r2, [r0, 0x24]
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r3, 0x22
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _08144334
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _08144330 @ =0x0000328d
- b _0814433A
- .align 2, 0
-_08144320: .4byte 0x0000feff
-_08144324: .4byte sub_8143B68
-_08144328: .4byte gCreditsEntryPointerTable
-_0814432C: .4byte gTasks
-_08144330: .4byte 0x0000328d
-_08144334:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _08144348 @ =0x00001967
-_0814433A:
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08144446
- .align 2, 0
-_08144348: .4byte 0x00001967
-_0814434C:
- movs r0, 0xA
- strh r0, [r3, 0x8]
- b _08144446
-_08144352:
- movs r0, 0
- strh r0, [r4, 0x24]
- b _08144446
-_08144358:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _08144388 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08144446
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0x82
- strh r1, [r0, 0xE]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08144446
- .align 2, 0
-_08144388: .4byte gPaletteFade
-_0814438C:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081443A4
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08144446
-_081443A4:
- ldrb r0, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- bl sub_8144454
- lsls r0, 24
- cmp r0, 0
- beq _081443BA
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08144446
-_081443BA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _081443E0
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _081443DC @ =0x0000328d
- b _081443E6
- .align 2, 0
-_081443DC: .4byte 0x0000328d
-_081443E0:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _081443F4 @ =0x00001967
-_081443E6:
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08144446
- .align 2, 0
-_081443F4: .4byte 0x00001967
-_081443F8:
- ldr r0, _08144420 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08144446
- movs r0, 0
- movs r1, 0x9
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r0, _08144424 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- b _08144446
- .align 2, 0
-_08144420: .4byte gPaletteFade
-_08144424: .4byte gTasks
-_08144428:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x10]
- adds r0, r5, 0
- bl DestroyTask
-_08144446:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81441B8
-
- thumb_func_start sub_8144454
-sub_8144454: @ 8144454
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- lsls r1, 24
- lsrs r2, r1, 24
- adds r5, r2, 0
- ldr r4, _08144508 @ =gTasks
- cmp r3, 0x6
- bne _08144474
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_08144474:
- cmp r3, 0xC
- bne _08144486
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x1E]
-_08144486:
- cmp r3, 0x12
- bne _08144496
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_08144496:
- cmp r3, 0x18
- bne _081444AA
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_081444AA:
- cmp r3, 0x1E
- bne _081444BA
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081444BA:
- cmp r3, 0x23
- bne _081444CE
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x3
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_081444CE:
- cmp r3, 0x28
- bne _081444DE
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081444DE:
- cmp r6, 0x2E
- bne _081444F2
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x4
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_081444F2:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0814450C
- movs r0, 0
- b _0814450E
- .align 2, 0
-_08144508: .4byte gTasks
-_0814450C:
- movs r0, 0x1
-_0814450E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8144454
-
- thumb_func_start sub_8144514
-sub_8144514: @ 8144514
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r6, _08144548 @ =0x0201c000
- ldr r3, _0814454C @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r2, r0, r3
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08144550
- cmp r0, 0x1
- bgt _0814453C
- b _08144658
-_0814453C:
- cmp r0, 0x2
- beq _08144584
- cmp r0, 0x3
- bne _08144546
- b _08144644
-_08144546:
- b _08144658
- .align 2, 0
-_08144548: .4byte 0x0201c000
-_0814454C: .4byte gTasks
-_08144550:
- adds r0, r6, 0
- adds r0, 0x8A
- ldrh r0, [r0]
- cmp r0, 0
- bne _0814456E
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r4, 0x24
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08144658
-_0814456E:
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x24]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- b _08144656
-_08144584:
- adds r0, r6, 0
- adds r0, 0x88
- ldrh r1, [r0]
- mov r9, r0
- cmp r1, 0x44
- beq _08144658
- movs r4, 0xA
- ldrsh r1, [r2, r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- ldr r1, [r0]
- ldr r0, _081445EC @ =sub_8143B68
- cmp r1, r0
- bne _08144658
- adds r7, r6, 0
- adds r7, 0x8C
- ldrh r0, [r7]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- ldr r4, _081445F0 @ =gUnknown_0840CA00
- adds r5, r6, 0
- adds r5, 0x8A
- ldrh r3, [r5]
- lsls r2, r3, 1
- adds r1, r2, r4
- ldrb r1, [r1]
- adds r4, 0x1
- adds r2, r4
- ldrb r2, [r2]
- bl sub_81456B4
- lsls r0, 24
- lsrs r2, r0, 24
- ldrh r1, [r7]
- adds r0, r6, 0
- adds r0, 0x8E
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bge _081445F8
- adds r0, r1, 0x1
- strh r0, [r7]
- ldr r1, _081445F4 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x32
- b _0814460A
- .align 2, 0
-_081445EC: .4byte sub_8143B68
-_081445F0: .4byte gUnknown_0840CA00
-_081445F4: .4byte gSprites
-_081445F8:
- movs r0, 0
- strh r0, [r7]
- ldr r1, _08144620 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x80
- lsls r1, 2
-_0814460A:
- strh r1, [r0, 0x34]
- mov r1, r9
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrh r0, [r5]
- cmp r0, 0x2
- bne _08144624
- movs r0, 0
- b _08144626
- .align 2, 0
-_08144620: .4byte gSprites
-_08144624:
- adds r0, 0x1
-_08144626:
- strh r0, [r5]
- ldr r0, _08144640 @ =gTasks
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x32
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08144658
- .align 2, 0
-_08144640: .4byte gTasks
-_08144644:
- ldrh r1, [r2, 0xE]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08144654
- subs r0, r1, 0x1
- strh r0, [r2, 0xE]
- b _08144658
-_08144654:
- movs r0, 0x1
-_08144656:
- strh r0, [r2, 0x8]
-_08144658:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8144514
-
- thumb_func_start sub_8144664
-sub_8144664: @ 8144664
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0814468C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0x32
- bls _08144680
- b _0814492C
-_08144680:
- lsls r0, 2
- ldr r1, _08144690 @ =_08144694
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814468C: .4byte gTasks
-_08144690: .4byte _08144694
- .align 2, 0
-_08144694:
- .4byte _08144760
- .4byte _08144784
- .4byte _081447D8
- .4byte _081447F0
- .4byte _0814482C
- .4byte _08144850
- .4byte _0814489C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _081448A8
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _081448C8
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _081448EC
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _0814492C
- .4byte _08144920
-_08144760:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r6
- ldrh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 17
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0xC
- bl Sin
- ldr r1, _08144780 @ =gUnknown_0203935A
- strh r0, [r1]
- b _081447A8
- .align 2, 0
-_08144780: .4byte gUnknown_0203935A
-_08144784:
- ldr r7, _081447B0 @ =gUnknown_0203935A
- movs r3, 0
- ldrsh r4, [r7, r3]
- cmp r4, 0
- beq _081447B4
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r6
- ldrh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 17
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0xC
- bl Sin
- strh r0, [r7]
-_081447A8:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- b _0814492C
- .align 2, 0
-_081447B0: .4byte gUnknown_0203935A
-_081447B4:
- ldr r3, _081447D4 @ =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x2
- strh r2, [r0, 0x2E]
- strh r4, [r1, 0x12]
- b _08144848
- .align 2, 0
-_081447D4: .4byte gSprites
-_081447D8:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0x12]
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- cmp r0, 0x3F
- bgt _08144848
- adds r0, r2, 0x1
- strh r0, [r1, 0x12]
- b _08144866
-_081447F0:
- ldr r3, _08144828 @ =gSprites
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r6
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x3
- strh r1, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- movs r0, 0x78
- strh r0, [r2, 0x10]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0814492C
- .align 2, 0
-_08144828: .4byte gSprites
-_0814482C:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0x10]
- movs r3, 0x10
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08144844
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- b _0814492C
-_08144844:
- movs r0, 0x40
- strh r0, [r1, 0x12]
-_08144848:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0814492C
-_08144850:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0814487C
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
-_08144866:
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0x14
- bl Sin
- ldr r1, _08144878 @ =gUnknown_0203935A
- strh r0, [r1]
- b _0814492C
- .align 2, 0
-_08144878: .4byte gUnknown_0203935A
-_0814487C:
- ldr r2, _08144898 @ =gSprites
- movs r3, 0xC
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0814492C
- .align 2, 0
-_08144898: .4byte gSprites
-_0814489C:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0x32
- b _0814492A
-_081448A8:
- ldr r3, _081448C4 @ =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x2
- b _081448E0
- .align 2, 0
-_081448C4: .4byte gSprites
-_081448C8:
- ldr r3, _081448E8 @ =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x4
-_081448E0:
- strh r2, [r0, 0x2E]
- movs r0, 0x32
- strh r0, [r1, 0x8]
- b _0814492C
- .align 2, 0
-_081448E8: .4byte gSprites
-_081448EC:
- ldr r3, _0814491C @ =gSprites
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r6
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x5
- strh r1, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x3
- strh r1, [r0, 0x2E]
- movs r0, 0x32
- strh r0, [r2, 0x8]
- b _0814492C
- .align 2, 0
-_0814491C: .4byte gSprites
-_08144920:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0
-_0814492A:
- strh r1, [r0, 0x8]
-_0814492C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8144664
-
- thumb_func_start sub_8144934
-sub_8144934: @ 8144934
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _08144958 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _08144974
- lsls r0, 2
- ldr r1, _0814495C @ =_08144960
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08144958: .4byte gTasks
-_0814495C: .4byte _08144960
- .align 2, 0
-_08144960:
- .4byte _08144974
- .4byte _081449B8
- .4byte _081449C4
- .4byte _08144A0C
- .4byte _08144A5C
-_08144974:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- ldr r5, _081449C0 @ =0x00007fff
- cmp r0, r5
- beq _081449B8
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r4
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- bne _081449B8
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x14
- strh r0, [r1, 0x8]
- strh r5, [r2, 0xA]
-_081449B8:
- movs r0, 0
- bl sub_8149020
- b _08144A62
- .align 2, 0
-_081449C0: .4byte 0x00007fff
-_081449C4:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- ldr r5, _08144A08 @ =0x00007fff
- cmp r0, r5
- beq _08144A54
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r4
- ldrh r1, [r3, 0x12]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- movs r1, 0xA0
- lsls r1, 2
- cmp r0, r1
- bne _08144A54
- movs r0, 0x1
- strh r0, [r3, 0x8]
- strh r5, [r2, 0xA]
- b _08144A54
- .align 2, 0
-_08144A08: .4byte 0x00007fff
-_08144A0C:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- ldrh r3, [r2, 0xA]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- ldr r5, _08144A48 @ =0x00007fff
- cmp r1, r5
- beq _08144A54
- ldr r0, _08144A4C @ =0x000001f3
- cmp r1, r0
- bne _08144A50
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xA
- strh r1, [r0, 0x8]
- strh r5, [r2, 0xA]
- b _08144A54
- .align 2, 0
-_08144A48: .4byte 0x00007fff
-_08144A4C: .4byte 0x000001f3
-_08144A50:
- adds r0, r3, 0x1
- strh r0, [r2, 0xA]
-_08144A54:
- movs r0, 0x1
- bl sub_8149020
- b _08144A62
-_08144A5C:
- movs r0, 0x2
- bl sub_8149020
-_08144A62:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8144934
-
- thumb_func_start sub_8144A68
-sub_8144A68: @ 8144A68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r0, 0x4
- bls _08144A7E
- b _08144DFC
-_08144A7E:
- lsls r0, 2
- ldr r1, _08144A88 @ =_08144A8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08144A88: .4byte _08144A8C
- .align 2, 0
-_08144A8C:
- .4byte _08144AA0
- .4byte _08144B48
- .4byte _08144BF4
- .4byte _08144CA0
- .4byte _08144D50
-_08144AA0:
- ldr r5, _08144B40 @ =gSprites
- ldr r0, _08144B44 @ =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r2, 0x88
- lsls r2, 1
- strh r2, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- movs r2, 0x20
- b _08144DF0
- .align 2, 0
-_08144B40: .4byte gSprites
-_08144B44: .4byte gTasks
-_08144B48:
- ldr r5, _08144BEC @ =gSprites
- ldr r0, _08144BF0 @ =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- movs r2, 0x20
- b _08144DF0
- .align 2, 0
-_08144BEC: .4byte gSprites
-_08144BF0: .4byte gTasks
-_08144BF4:
- ldr r5, _08144C98 @ =gSprites
- ldr r0, _08144C9C @ =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x1
- b _08144DF0
- .align 2, 0
-_08144C98: .4byte gSprites
-_08144C9C: .4byte gTasks
-_08144CA0:
- ldr r5, _08144D44 @ =gSprites
- ldr r0, _08144D48 @ =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08144D4C @ =0x0000ffe0
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x1
- b _08144DF0
- .align 2, 0
-_08144D44: .4byte gSprites
-_08144D48: .4byte gTasks
-_08144D4C: .4byte 0x0000ffe0
-_08144D50:
- ldr r5, _08144EBC @ =gSprites
- ldr r0, _08144EC0 @ =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x58
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x98
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x2
-_08144DF0:
- movs r3, 0x8
- bl sub_8148EC0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
-_08144DFC:
- ldr r0, _08144EC4 @ =sub_8144934
- movs r1, 0
- bl CreateTask
- ldr r6, _08144EC0 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r5, r1, r6
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- strh r0, [r5, 0xC]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x8]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0xA]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r7, [r0, 0xC]
- ldr r0, _08144EC8 @ =sub_8144664
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0x8]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r7, [r0, 0xA]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r5, 0x12]
- strh r1, [r0, 0xC]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r5, 0x14]
- strh r1, [r0, 0xE]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0x10]
- mov r1, r8
- cmp r1, 0x2
- bne _08144EB0
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- movs r0, 0x45
- strh r0, [r1, 0x12]
-_08144EB0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08144EBC: .4byte gSprites
-_08144EC0: .4byte gTasks
-_08144EC4: .4byte sub_8144934
-_08144EC8: .4byte sub_8144664
- thumb_func_end sub_8144A68
-
- thumb_func_start sub_8144ECC
-sub_8144ECC: @ 8144ECC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _08144F28 @ =gMain
- ldr r1, _08144F2C @ =0x0000043c
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08144F38
- cmp r0, 0x1
- ble _08144EF0
- cmp r0, 0x2
- beq _08144F5C
- cmp r0, 0x3
- bne _08144EF0
- b _0814508C
-_08144EF0:
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- ldr r2, _08144F30 @ =REG_BG3HOFS
- movs r0, 0x8
- strh r0, [r2]
- ldr r0, _08144F34 @ =REG_BG3VOFS
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x3A
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- strb r0, [r6]
- b _081450A2
- .align 2, 0
-_08144F28: .4byte gMain
-_08144F2C: .4byte 0x0000043c
-_08144F30: .4byte REG_BG3HOFS
-_08144F34: .4byte REG_BG3VOFS
-_08144F38:
- ldr r1, _08144F54 @ =gUnknown_02039358
- movs r0, 0x22
- strh r0, [r1]
- ldr r1, _08144F58 @ =gUnknown_0203935A
- movs r0, 0
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_8148CB0
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _081450A2
- .align 2, 0
-_08144F54: .4byte gUnknown_02039358
-_08144F58: .4byte gUnknown_0203935A
-_08144F5C:
- ldr r0, _08144FBC @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08144FE0
- ldr r0, _08144FC0 @ =gIntro2BrendanSpriteSheet
- bl LoadCompressedObjectPic
- ldr r0, _08144FC4 @ =gUnknown_08416E34
- bl LoadCompressedObjectPic
- ldr r0, _08144FC8 @ =gIntro2BicycleSpriteSheet
- bl LoadCompressedObjectPic
- ldr r0, _08144FCC @ =gIntro2SpritePalettes
- bl LoadSpritePalettes
- movs r0, 0x78
- movs r1, 0x2E
- bl intro_create_brendan_sprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08144FD0 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- strh r2, [r4, 0x12]
- ldr r6, _08144FD4 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r2, r0, r5
- ldr r1, _08144FD8 @ =sub_8145378
- str r1, [r2]
- adds r6, 0x8
- adds r0, r6
- ldr r1, _08144FDC @ =gUnknown_0840CA54
- str r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x2E
- bl intro_create_may_sprite
- b _08145034
- .align 2, 0
-_08144FBC: .4byte gSaveBlock2
-_08144FC0: .4byte gIntro2BrendanSpriteSheet
-_08144FC4: .4byte gUnknown_08416E34
-_08144FC8: .4byte gIntro2BicycleSpriteSheet
-_08144FCC: .4byte gIntro2SpritePalettes
-_08144FD0: .4byte gTasks
-_08144FD4: .4byte gSprites
-_08144FD8: .4byte sub_8145378
-_08144FDC: .4byte gUnknown_0840CA54
-_08144FE0:
- ldr r0, _0814505C @ =gIntro2MaySpriteSheet
- bl LoadCompressedObjectPic
- ldr r0, _08145060 @ =gUnknown_08416E24
- bl LoadCompressedObjectPic
- ldr r0, _08145064 @ =gIntro2BicycleSpriteSheet
- bl LoadCompressedObjectPic
- ldr r0, _08145068 @ =gIntro2SpritePalettes
- bl LoadSpritePalettes
- movs r0, 0x78
- movs r1, 0x2E
- bl intro_create_may_sprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0814506C @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- strh r2, [r4, 0x12]
- ldr r6, _08145070 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r2, r0, r5
- ldr r1, _08145074 @ =sub_8145378
- str r1, [r2]
- adds r6, 0x8
- adds r0, r6
- ldr r1, _08145078 @ =gUnknown_0840CA54
- str r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x2E
- bl intro_create_brendan_sprite
-_08145034:
- lsls r0, 24
- lsrs r2, r0, 24
- strh r2, [r4, 0x14]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r5
- ldr r1, _0814507C @ =sub_8145420
- str r1, [r5]
- adds r0, r6
- ldr r1, _08145080 @ =gUnknown_0840CA94
- str r1, [r0]
- ldr r1, _08145084 @ =gMain
- ldr r0, _08145088 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081450A2
- .align 2, 0
-_0814505C: .4byte gIntro2MaySpriteSheet
-_08145060: .4byte gUnknown_08416E24
-_08145064: .4byte gIntro2BicycleSpriteSheet
-_08145068: .4byte gIntro2SpritePalettes
-_0814506C: .4byte gTasks
-_08145070: .4byte gSprites
-_08145074: .4byte sub_8145378
-_08145078: .4byte gUnknown_0840CA54
-_0814507C: .4byte sub_8145420
-_08145080: .4byte gUnknown_0840CA94
-_08145084: .4byte gMain
-_08145088: .4byte 0x0000043c
-_0814508C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8144A68
- adds r0, r4, 0
- bl sub_8148E90
- movs r0, 0
- strb r0, [r6]
- movs r0, 0x1
- b _081450A4
-_081450A2:
- movs r0, 0
-_081450A4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8144ECC
-
- thumb_func_start sub_81450AC
-sub_81450AC: @ 81450AC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08145120 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081450D2
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0x8]
-_081450D2:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081450E8
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xA]
-_081450E8:
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081450FE
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xC]
-_081450FE:
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08145114
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xE]
-_08145114:
- ldr r1, _08145124 @ =gUnknown_0203935C
- movs r0, 0x1
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08145120: .4byte gTasks
-_08145124: .4byte gUnknown_0203935C
- thumb_func_end sub_81450AC
-
- thumb_func_start sub_8145128
-sub_8145128: @ 8145128
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r4, 16
- lsrs r5, r4, 16
- ldr r0, _081451EC @ =gCreditsCopyrightEnd_Gfx
- movs r6, 0xC0
- lsls r6, 19
- adds r3, r6
- adds r1, r3, 0
- bl LZ77UnCompVram
- ldr r0, _081451F0 @ =gIntroCopyright_Pal
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- lsrs r4, 20
- lsls r4, 28
- lsrs r4, 16
- movs r2, 0
- adds r1, r4, 0x1
- ldr r3, _081451F4 @ =0x000003ff
-_0814515E:
- lsls r0, r2, 1
- adds r0, r7
- adds r0, r6
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _0814515E
- movs r2, 0
- adds r0, r4, 0x2
- adds r6, r4, 0
- adds r6, 0x17
- movs r1, 0x2B
- adds r1, r4
- mov r12, r1
- adds r4, 0x42
- ldr r5, _081451F8 @ =0x060001c8
- adds r3, r0, 0
-_08145184:
- lsls r0, r2, 1
- adds r0, r7
- adds r0, r5
- adds r1, r2, r3
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x14
- bls _08145184
- movs r2, 0
- ldr r5, _081451FC @ =0x06000248
- adds r3, r6, 0
-_0814519E:
- lsls r0, r2, 1
- adds r0, r7
- adds r0, r5
- adds r1, r2, r3
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x13
- bls _0814519E
- movs r2, 0
- ldr r5, _08145200 @ =0x060002c8
- mov r3, r12
-_081451B8:
- lsls r0, r2, 1
- adds r0, r7
- adds r0, r5
- adds r1, r2, r3
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x16
- bls _081451B8
- movs r2, 0
- ldr r3, _08145204 @ =0x06000348
-_081451D0:
- lsls r0, r2, 1
- adds r0, r7
- adds r0, r3
- adds r1, r2, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xB
- bls _081451D0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081451EC: .4byte gCreditsCopyrightEnd_Gfx
-_081451F0: .4byte gIntroCopyright_Pal
-_081451F4: .4byte 0x000003ff
-_081451F8: .4byte 0x060001c8
-_081451FC: .4byte 0x06000248
-_08145200: .4byte 0x060002c8
-_08145204: .4byte 0x06000348
- thumb_func_end sub_8145128
-
- thumb_func_start sub_8145208
-sub_8145208: @ 8145208
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- movs r0, 0x3F
- ands r0, r2
- adds r1, r0, 0
- adds r1, 0x50
- cmp r2, 0xFF
- bne _08145220
- movs r0, 0x1
- b _08145246
-_08145220:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08145230
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08145230:
- movs r0, 0x40
- ands r3, r0
- cmp r3, 0
- beq _08145244
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2, 0
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r1, r0, 16
-_08145244:
- adds r0, r1, 0
-_08145246:
- pop {r1}
- bx r1
- thumb_func_end sub_8145208
-
- thumb_func_start sub_814524C
-sub_814524C: @ 814524C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x8]
- lsls r0, 16
- lsrs r0, 20
- lsls r0, 28
- lsrs r0, 16
- mov r9, r0
- movs r5, 0
-_0814527A:
- movs r4, 0
- lsls r7, r5, 1
- ldr r1, [sp, 0x4]
- adds r0, r1, r5
- adds r2, r5, 0x1
- mov r8, r2
- lsls r0, 6
- ldr r1, [sp, 0x8]
- adds r6, r0, r1
-_0814528C:
- adds r0, r7, r5
- adds r0, r4
- ldr r2, [sp]
- adds r0, r2, r0
- ldrb r0, [r0]
- bl sub_8145208
- mov r2, r10
- adds r1, r2, r4
- lsls r1, 1
- adds r1, r6
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r2
- add r0, r9
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0814528C
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0814527A
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_814524C
-
- thumb_func_start sub_81452D0
-sub_81452D0: @ 81452D0
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsrs r1, 20
- lsls r1, 28
- lsrs r1, 16
- movs r2, 0
- ldr r7, _08145360 @ =gUnknown_0840B83C
- movs r4, 0xC0
- lsls r4, 19
- adds r1, 0x1
- ldr r3, _08145364 @ =0x000003ff
-_081452EE:
- lsls r0, r2, 1
- adds r0, r5
- adds r0, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _081452EE
- str r6, [sp]
- adds r0, r7, 0
- movs r1, 0x3
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_814524C
- ldr r0, _08145368 @ =gUnknown_0840B84B
- str r6, [sp]
- movs r1, 0x7
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_814524C
- ldr r4, _0814536C @ =gUnknown_0840B85A
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_814524C
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_814524C
- ldr r0, _08145370 @ =gUnknown_0840B869
- str r6, [sp]
- movs r1, 0x14
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_814524C
- ldr r0, _08145374 @ =gUnknown_0840B878
- str r6, [sp]
- movs r1, 0x18
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_814524C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08145360: .4byte gUnknown_0840B83C
-_08145364: .4byte 0x000003ff
-_08145368: .4byte gUnknown_0840B84B
-_0814536C: .4byte gUnknown_0840B85A
-_08145370: .4byte gUnknown_0840B869
-_08145374: .4byte gUnknown_0840B878
- thumb_func_end sub_81452D0
-
- thumb_func_start sub_8145378
-sub_8145378: @ 8145378
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08145390 @ =gUnknown_0203935C
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08145394
- adds r0, r4, 0
- bl DestroySprite
- b _08145418
- .align 2, 0
-_08145390: .4byte gUnknown_0203935C
-_08145394:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- bhi _08145418
- lsls r0, 2
- ldr r1, _081453A8 @ =_081453AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081453A8: .4byte _081453AC
- .align 2, 0
-_081453AC:
- .4byte _081453C4
- .4byte _081453CE
- .4byte _081453D4
- .4byte _081453DE
- .4byte _081453E8
- .4byte _081453FE
-_081453C4:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- b _08145418
-_081453CE:
- adds r0, r4, 0
- movs r1, 0x1
- b _08145402
-_081453D4:
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnimIfDifferent
- b _08145418
-_081453DE:
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnimIfDifferent
- b _08145418
-_081453E8:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x78
- ble _08145418
- subs r0, r1, 0x1
- b _08145416
-_081453FE:
- adds r0, r4, 0
- movs r1, 0
-_08145402:
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08145418
- subs r0, r2, 0x1
-_08145416:
- strh r0, [r4, 0x20]
-_08145418:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8145378
-
- thumb_func_start sub_8145420
-sub_8145420: @ 8145420
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08145438 @ =gUnknown_0203935C
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0814543C
- adds r0, r4, 0
- bl DestroySprite
- b _081454D8
- .align 2, 0
-_08145438: .4byte gUnknown_0203935C
-_0814543C:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08145464
- cmp r0, 0x1
- bgt _0814544E
- cmp r0, 0
- beq _08145458
- b _081454D8
-_0814544E:
- cmp r0, 0x2
- beq _081454A0
- cmp r0, 0x3
- beq _081454BE
- b _081454D8
-_08145458:
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- b _081454D8
-_08145464:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0xC8
- ble _08145476
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- b _0814547E
-_08145476:
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnimIfDifferent
-_0814547E:
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08145490
- subs r0, r2, 0x2
- strh r0, [r4, 0x20]
-_08145490:
- ldr r0, _0814549C @ =gUnknown_0203935A
- ldrh r0, [r0]
- negs r0, r0
- strh r0, [r4, 0x26]
- b _081454D8
- .align 2, 0
-_0814549C: .4byte gUnknown_0203935A
-_081454A0:
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r1, [r4, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081454D8
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- b _081454D6
-_081454BE:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _081454D8
- subs r0, r2, 0x1
-_081454D6:
- strh r0, [r4, 0x20]
-_081454D8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8145420
-
- thumb_func_start sub_81454E0
-sub_81454E0: @ 81454E0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, _081454F8 @ =gUnknown_0203935C
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _081454FC
- adds r0, r5, 0
- bl DestroySprite
- b _081456A6
- .align 2, 0
-_081454F8: .4byte gUnknown_0203935C
-_081454FC:
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0xA
- bhi _08145544
- lsls r0, 2
- ldr r1, _08145514 @ =_08145518
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08145514: .4byte _08145518
- .align 2, 0
-_08145518:
- .4byte _08145544
- .4byte _0814559E
- .4byte _08145620
- .4byte _08145660
- .4byte _08145544
- .4byte _08145544
- .4byte _08145544
- .4byte _08145544
- .4byte _08145544
- .4byte _08145544
- .4byte _08145696
-_08145544:
- ldrb r1, [r5, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
- movs r0, 0x10
- strh r0, [r5, 0x32]
- ldrh r4, [r5, 0x30]
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 9
- movs r1, 0x10
- bl __divsi3
- adds r1, r0, 0
- str r1, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- b _081456A6
-_0814559E:
- ldrh r1, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r0, 0xFF
- bgt _081455D4
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r5, 0x32]
- ldrh r4, [r5, 0x30]
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _081455DA
-_081455D4:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_081455DA:
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- cmp r1, 0x2
- beq _081456A6
- cmp r1, 0x2
- bgt _081455EC
- cmp r1, 0x1
- beq _081455F2
- b _081456A6
-_081455EC:
- cmp r1, 0x3
- beq _0814560A
- b _081456A6
-_081455F2:
- ldrh r1, [r5, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08145602
- ldrh r0, [r5, 0x22]
- adds r0, 0x1
- strh r0, [r5, 0x22]
-_08145602:
- ldrh r0, [r5, 0x20]
- subs r0, 0x2
- strh r0, [r5, 0x20]
- b _081456A6
-_0814560A:
- ldrh r0, [r5, 0x3C]
- ands r1, r0
- cmp r1, 0
- bne _08145618
- ldrh r0, [r5, 0x22]
- adds r0, 0x1
- strh r0, [r5, 0x22]
-_08145618:
- ldrh r0, [r5, 0x20]
- adds r0, 0x2
- strh r0, [r5, 0x20]
- b _081456A6
-_08145620:
- ldrh r1, [r5, 0x34]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08145630
- subs r0, r1, 0x1
- strh r0, [r5, 0x34]
- b _081456A6
-_08145630:
- ldr r1, _0814565C @ =REG_BLDCNT
- movs r2, 0xF4
- lsls r2, 4
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x10
- strh r0, [r1]
- ldrb r1, [r5, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x10
- strh r0, [r5, 0x34]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _081456A6
- .align 2, 0
-_0814565C: .4byte REG_BLDCNT
-_08145660:
- ldrh r1, [r5, 0x34]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08145684
- subs r1, 0x1
- strh r1, [r5, 0x34]
- ldr r3, _08145680 @ =REG_BLDALPHA
- movs r0, 0x34
- ldrsh r2, [r5, r0]
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- adds r1, r0
- strh r1, [r3]
- b _081456A6
- .align 2, 0
-_08145680: .4byte REG_BLDALPHA
-_08145684:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0xA
- strh r0, [r5, 0x2E]
- b _081456A6
-_08145696:
- ldr r0, _081456B0 @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r5, 0
- bl DestroySprite
-_081456A6:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081456B0: .4byte REG_BLDCNT
- thumb_func_end sub_81454E0
-
- thumb_func_start sub_81456B4
-sub_81456B4: @ 81456B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x10]
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- adds r0, r6, 0
- bl NationalPokedexNumToSpecies
- adds r6, r0, 0
- cmp r6, 0xC9
- beq _081456F8
- movs r0, 0x9A
- lsls r0, 1
- cmp r6, r0
- beq _081456EE
- movs r7, 0
- b _081456FC
-_081456EE:
- ldr r0, _081456F4 @ =gSaveBlock2
- ldr r7, [r0, 0x20]
- b _081456FC
- .align 2, 0
-_081456F4: .4byte gSaveBlock2
-_081456F8:
- ldr r0, _081457E8 @ =gSaveBlock2
- ldr r7, [r0, 0x1C]
-_081456FC:
- lsls r0, r6, 3
- ldr r1, _081457EC @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _081457F0 @ =gMonFrontPicCoords
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _081457F4 @ =gUnknown_0840B5A0
- mov r8, r4
- mov r5, r9
- lsls r4, r5, 2
- add r4, r8
- ldr r4, [r4]
- str r4, [sp]
- str r6, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r4, 0x1
- str r4, [sp, 0xC]
- bl sub_800D378
- ldr r2, _081457F8 @ =0x0000ffff
- adds r0, r6, 0
- movs r1, 0
- bl species_and_otid_get_pal
- lsls r5, 4
- mov r8, r5
- movs r1, 0x80
- lsls r1, 1
- add r1, r8
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- mov r7, r9
- lsls r6, r7, 24
- lsrs r6, 24
- mov r0, r9
- adds r1, r6, 0
- bl sub_8143648
- ldr r0, _081457FC @ =gUnknown_02024E8C
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldr r3, [sp, 0x10]
- lsls r2, r3, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08145800 @ =gSprites
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r3, r2, r5
- ldrb r1, [r3, 0x5]
- movs r0, 0xF
- ands r0, r1
- mov r7, r8
- orrs r0, r7
- movs r1, 0xD
- negs r1, r1
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3, 0x5]
- mov r0, r9
- adds r0, 0x1
- strh r0, [r3, 0x30]
- movs r0, 0x3E
- adds r0, r3
- mov r8, r0
- ldrb r0, [r0]
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x1C
- adds r2, r0
- ldr r0, _08145804 @ =sub_81454E0
- str r0, [r2]
- ldr r0, _08145808 @ =gSpriteTemplate_840CAEC
- movs r2, 0x20
- ldrsh r1, [r3, r2]
- movs r7, 0x22
- ldrsh r2, [r3, r7]
- movs r3, 0x1
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r4, [r0, 0x2E]
- adds r1, r6, 0
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081457E8: .4byte gSaveBlock2
-_081457EC: .4byte gMonFrontPicTable
-_081457F0: .4byte gMonFrontPicCoords
-_081457F4: .4byte gUnknown_0840B5A0
-_081457F8: .4byte 0x0000ffff
-_081457FC: .4byte gUnknown_02024E8C
-_08145800: .4byte gSprites
-_08145804: .4byte sub_81454E0
-_08145808: .4byte gSpriteTemplate_840CAEC
- thumb_func_end sub_81456B4
-
- thumb_func_start sub_814580C
-sub_814580C: @ 814580C
- push {r4,lr}
- adds r3, r0, 0
- ldr r4, _08145838 @ =gSprites
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0xA
- beq _08145830
- ldr r0, _0814583C @ =gUnknown_0203935C
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _08145840
-_08145830:
- adds r0, r3, 0
- bl DestroySprite
- b _081458D4
- .align 2, 0
-_08145838: .4byte gSprites
-_0814583C: .4byte gUnknown_0203935C
-_08145840:
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r1, 0x4
- ands r1, r0
- mov r0, r12
- ldrb r2, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r0, 0xC
- ands r0, r1
- ldrb r2, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r2, 0x4
- negs r2, r2
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- movs r1, 0x3E
- ands r1, r0
- ldrb r2, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x3]
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r3, 0x20]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x22]
- strh r0, [r3, 0x22]
-_081458D4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_814580C
-
- thumb_func_start sub_81458DC
-sub_81458DC: @ 81458DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r7, _0814597C @ =0x0201c000
- ldr r0, _08145980 @ =0x00004023
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r4, 0x1
- movs r5, 0
- ldr r0, _08145984 @ =0x00000181
- mov r8, r0
-_0814590E:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- adds r6, r7, 0
- adds r6, 0x90
- cmp r0, 0
- beq _0814592C
- lsls r0, r5, 1
- adds r0, r6, r0
- strh r4, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0814592C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r8
- bls _0814590E
- adds r4, r5, 0
- ldr r0, _08145984 @ =0x00000181
- lsls r1, r4, 16
- mov r9, r1
- movs r2, 0x8E
- adds r2, r7
- mov r8, r2
- adds r1, r7, 0
- adds r1, 0x86
- str r1, [sp]
- cmp r4, r0
- bhi _08145964
- adds r1, r6, 0
- movs r3, 0
- adds r2, r0, 0
-_08145954:
- lsls r0, r4, 1
- adds r0, r1, r0
- strh r3, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bls _08145954
-_08145964:
- movs r2, 0xE5
- lsls r2, 2
- adds r0, r7, r2
- strh r5, [r0]
- mov r1, r9
- lsrs r0, r1, 16
- cmp r0, 0x43
- bhi _08145988
- mov r2, r8
- strh r5, [r2]
- b _0814598E
- .align 2, 0
-_0814597C: .4byte 0x0201c000
-_08145980: .4byte 0x00004023
-_08145984: .4byte 0x00000181
-_08145988:
- movs r0, 0x44
- mov r1, r8
- strh r0, [r1]
-_0814598E:
- movs r5, 0
- movs r2, 0xE5
- lsls r2, 2
- adds r4, r7, r2
- mov r9, r5
- b _0814599E
-_0814599A:
- cmp r5, 0x43
- bhi _081459EE
-_0814599E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4]
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, r5, 1
- adds r1, r7, r1
- lsls r0, r2, 1
- adds r3, r6, r0
- ldrh r0, [r3]
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r9
- strh r0, [r3]
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- beq _081459E8
- ldrh r0, [r4]
- lsls r0, 1
- adds r0, r6, r0
- ldrh r0, [r0]
- strh r0, [r3]
- ldrh r0, [r4]
- lsls r0, 1
- adds r0, r6, r0
- mov r1, r9
- strh r1, [r0]
-_081459E8:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0814599A
-_081459EE:
- mov r2, r8
- ldrh r0, [r2]
- cmp r0, 0x43
- bhi _08145A26
- adds r5, r0, 0
- movs r2, 0
- cmp r5, 0x43
- bhi _08145A5C
- mov r3, r8
-_08145A00:
- lsls r1, r5, 1
- adds r1, r7, r1
- lsls r0, r2, 1
- adds r0, r7, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r3]
- cmp r2, r0
- bne _08145A1A
- movs r2, 0
-_08145A1A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x43
- bls _08145A00
- b _08145A5C
-_08145A26:
- movs r4, 0
- ldrh r0, [r7]
- cmp r0, r10
- beq _08145A42
-_08145A2E:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r7, r0
- ldrh r0, [r0]
- cmp r0, r10
- beq _08145A42
- cmp r4, 0x43
- bls _08145A2E
-_08145A42:
- mov r1, r8
- ldrh r0, [r1]
- subs r0, 0x1
- cmp r4, r0
- bge _08145A5C
- lsls r0, r4, 1
- adds r0, r7, r0
- ldr r2, [sp]
- ldrh r1, [r2]
- strh r1, [r0]
- mov r0, r10
- strh r0, [r2]
- b _08145A62
-_08145A5C:
- mov r2, r10
- ldr r1, [sp]
- strh r2, [r1]
-_08145A62:
- movs r0, 0x44
- mov r1, r8
- strh r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81458DC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_81473B8.s b/asm/rom_81473B8.s
index 6c26c034a..4b39758b0 100644
--- a/asm/rom_81473B8.s
+++ b/asm/rom_81473B8.s
@@ -603,1831 +603,4 @@ _08147884:
_0814788C: .4byte gTasks
thumb_func_end sub_814782C
- thumb_func_start sub_8147890
-sub_8147890: @ 8147890
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8147890
-
- thumb_func_start sub_81478A8
-sub_81478A8: @ 81478A8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81478A8
-
- thumb_func_start sub_81478BC
-sub_81478BC: @ 81478BC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _081478D8 @ =gMain
- ldr r1, _081478DC @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xD
- bls _081478CE
- b _08147AD0
-_081478CE:
- lsls r0, 2
- ldr r1, _081478E0 @ =_081478E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081478D8: .4byte gMain
-_081478DC: .4byte 0x0000043c
-_081478E0: .4byte _081478E4
- .align 2, 0
-_081478E4:
- .4byte _0814791C
- .4byte _08147938
- .4byte _0814794C
- .4byte _08147960
- .4byte _08147966
- .4byte _08147980
- .4byte _0814798C
- .4byte _081479B8
- .4byte _081479DC
- .4byte _081479F4
- .4byte _08147A20
- .4byte _08147A3C
- .4byte _08147A5C
- .4byte _08147A8C
-_0814791C:
- bl sub_80F9438
- bl sub_80F9368
- bl sub_8147B04
- ldr r1, _08147930 @ =gMain
- ldr r2, _08147934 @ =0x0000043c
- adds r1, r2
- b _08147A4A
- .align 2, 0
-_08147930: .4byte gMain
-_08147934: .4byte 0x0000043c
-_08147938:
- bl ResetPaletteFade
- ldr r2, _08147948 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- b _08147A44
- .align 2, 0
-_08147948: .4byte gPaletteFade
-_0814794C:
- bl ResetSpriteData
- ldr r1, _08147958 @ =gMain
- ldr r2, _0814795C @ =0x0000043c
- adds r1, r2
- b _08147A4A
- .align 2, 0
-_08147958: .4byte gMain
-_0814795C: .4byte 0x0000043c
-_08147960:
- bl FreeAllSpritePalettes
- b _08147A44
-_08147966:
- ldr r0, _08147974 @ =gWindowConfig_81E6E50
- bl SetUpWindowConfig
- ldr r1, _08147978 @ =gMain
- ldr r2, _0814797C @ =0x0000043c
- adds r1, r2
- b _08147A4A
- .align 2, 0
-_08147974: .4byte gWindowConfig_81E6E50
-_08147978: .4byte gMain
-_0814797C: .4byte 0x0000043c
-_08147980:
- ldr r0, _08147988 @ =gWindowConfig_81E6E50
- bl MultistepInitMenuWindowBegin
- b _08147A44
- .align 2, 0
-_08147988: .4byte gWindowConfig_81E6E50
-_0814798C:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _08147996
- b _08147AD0
-_08147996:
- ldr r0, _081479A8 @ =0x02000000
- ldr r1, _081479AC @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r1, _081479B0 @ =gMain
- ldr r2, _081479B4 @ =0x0000043c
- adds r1, r2
- b _08147A4A
- .align 2, 0
-_081479A8: .4byte 0x02000000
-_081479AC: .4byte 0x0001ffff
-_081479B0: .4byte gMain
-_081479B4: .4byte 0x0000043c
-_081479B8:
- ldr r0, _081479D4 @ =gUnknown_02039310
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081479D8 @ =gPlayerParty
- adds r0, r1
- bl sub_8147B20
- lsls r0, 24
- cmp r0, 0
- bne _081479D0
- b _08147AD0
-_081479D0:
- b _08147A44
- .align 2, 0
-_081479D4: .4byte gUnknown_02039310
-_081479D8: .4byte gPlayerParty
-_081479DC:
- bl sub_81480B4
- ldr r1, _081479EC @ =0x02000000
- ldr r2, _081479F0 @ =0x0001fffd
- adds r1, r2
- strb r0, [r1]
- b _08147A44
- .align 2, 0
-_081479EC: .4byte 0x02000000
-_081479F0: .4byte 0x0001fffd
-_081479F4:
- ldr r0, _08147A10 @ =gUnknown_02039310
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08147A14 @ =gPlayerParty
- adds r0, r1
- bl sub_8147F84
- ldr r1, _08147A18 @ =0x02000000
- ldr r2, _08147A1C @ =0x0001fffe
- adds r1, r2
- strb r0, [r1]
- b _08147A44
- .align 2, 0
-_08147A10: .4byte gUnknown_02039310
-_08147A14: .4byte gPlayerParty
-_08147A18: .4byte 0x02000000
-_08147A1C: .4byte 0x0001fffe
-_08147A20:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r1, _08147A34 @ =gMain
- ldr r2, _08147A38 @ =0x0000043c
- adds r1, r2
- b _08147A4A
- .align 2, 0
-_08147A34: .4byte gMain
-_08147A38: .4byte 0x0000043c
-_08147A3C:
- bl sub_8055870
- cmp r0, 0x1
- beq _08147AD0
-_08147A44:
- ldr r1, _08147A54 @ =gMain
- ldr r0, _08147A58 @ =0x0000043c
- adds r1, r0
-_08147A4A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08147AD0
- .align 2, 0
-_08147A54: .4byte gMain
-_08147A58: .4byte 0x0000043c
-_08147A5C:
- ldr r3, _08147AB0 @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _08147AB4 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08147AB8 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _08147ABC @ =sub_81478A8
- bl SetVBlankCallback
- ldr r1, _08147AC0 @ =gMain
- ldr r2, _08147AC4 @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08147A8C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _08147AC8 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _08147ACC @ =sub_8147890
- bl SetMainCallback2
- movs r0, 0x1
- b _08147AD2
- .align 2, 0
-_08147AB0: .4byte 0x04000208
-_08147AB4: .4byte 0x04000200
-_08147AB8: .4byte REG_DISPSTAT
-_08147ABC: .4byte sub_81478A8
-_08147AC0: .4byte gMain
-_08147AC4: .4byte 0x0000043c
-_08147AC8: .4byte gPaletteFade
-_08147ACC: .4byte sub_8147890
-_08147AD0:
- movs r0, 0
-_08147AD2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81478BC
-
- thumb_func_start sub_8147ADC
-sub_8147ADC: @ 8147ADC
- push {lr}
-_08147ADE:
- bl sub_81478BC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08147AF2
- movs r0, 0x1
- bl sub_8147DDC
- b _08147AFE
-_08147AF2:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08147ADE
-_08147AFE:
- pop {r0}
- bx r0
- thumb_func_end sub_8147ADC
-
- thumb_func_start sub_8147B04
-sub_8147B04: @ 8147B04
- ldr r1, _08147B18 @ =REG_BG1CNT
- ldr r2, _08147B1C @ =0x00001d02
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- movs r2, 0x9A
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_08147B18: .4byte REG_BG1CNT
-_08147B1C: .4byte 0x00001d02
- thumb_func_end sub_8147B04
-
- thumb_func_start sub_8147B20
-sub_8147B20: @ 8147B20
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r0, _08147B40 @ =0x02000000
- ldr r1, _08147B44 @ =0x0001ffff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _08147B34
- b _08147C84
-_08147B34:
- lsls r0, 2
- ldr r1, _08147B48 @ =_08147B4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08147B40: .4byte 0x02000000
-_08147B44: .4byte 0x0001ffff
-_08147B48: .4byte _08147B4C
- .align 2, 0
-_08147B4C:
- .4byte _08147B70
- .4byte _08147BB8
- .4byte _08147BF0
- .4byte _08147BFC
- .4byte _08147C08
- .4byte _08147C14
- .4byte _08147C2C
- .4byte _08147C38
- .4byte _08147C60
-_08147B70:
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- lsls r0, r5, 3
- ldr r1, _08147BAC @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08147BB0 @ =gMonFrontPicCoords
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08147BB4 @ =gUnknown_081FAF4C
- ldr r4, [r4, 0x4]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- bl sub_800D334
- b _08147C40
- .align 2, 0
-_08147BAC: .4byte gMonFrontPicTable
-_08147BB0: .4byte gMonFrontPicCoords
-_08147BB4: .4byte gUnknown_081FAF4C
-_08147BB8:
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- adds r1, r0, 0
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_80409C8
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- ldrh r0, [r4, 0x4]
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- b _08147C40
-_08147BF0:
- ldr r0, _08147BF8 @ =gUnknown_083F7F74
- bl LoadCompressedObjectPic
- b _08147C40
- .align 2, 0
-_08147BF8: .4byte gUnknown_083F7F74
-_08147BFC:
- ldr r0, _08147C04 @ =gUnknown_083F7F7C
- bl LoadCompressedObjectPalette
- b _08147C40
- .align 2, 0
-_08147C04: .4byte gUnknown_083F7F7C
-_08147C08:
- ldr r0, _08147C10 @ =gUnknown_084121DC
- bl LoadCompressedObjectPic
- b _08147C40
- .align 2, 0
-_08147C10: .4byte gUnknown_084121DC
-_08147C14:
- ldr r0, _08147C24 @ =gScriptItemId
- ldrb r0, [r0]
- bl sub_8147C90
- ldr r0, _08147C28 @ =gUnknown_02039350
- bl LoadCompressedObjectPalette
- b _08147C40
- .align 2, 0
-_08147C24: .4byte gScriptItemId
-_08147C28: .4byte gUnknown_02039350
-_08147C2C:
- ldr r0, _08147C34 @ =gBattleTerrainTiles_Building
- movs r1, 0xC0
- lsls r1, 19
- b _08147C3C
- .align 2, 0
-_08147C34: .4byte gBattleTerrainTiles_Building
-_08147C38:
- ldr r0, _08147C50 @ =gUnknown_08E782FC
- ldr r1, _08147C54 @ =0x0600e800
-_08147C3C:
- bl LZDecompressVram
-_08147C40:
- ldr r1, _08147C58 @ =0x02000000
- ldr r0, _08147C5C @ =0x0001ffff
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08147C84
- .align 2, 0
-_08147C50: .4byte gUnknown_08E782FC
-_08147C54: .4byte 0x0600e800
-_08147C58: .4byte 0x02000000
-_08147C5C: .4byte 0x0001ffff
-_08147C60:
- ldr r0, _08147C78 @ =gBattleTerrainPalette_BattleTower
- movs r1, 0x20
- movs r2, 0x60
- bl LoadCompressedPalette
- ldr r0, _08147C7C @ =0x02000000
- ldr r1, _08147C80 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _08147C86
- .align 2, 0
-_08147C78: .4byte gBattleTerrainPalette_BattleTower
-_08147C7C: .4byte 0x02000000
-_08147C80: .4byte 0x0001ffff
-_08147C84:
- movs r0, 0
-_08147C86:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8147B20
-
- thumb_func_start sub_8147C90
-sub_8147C90: @ 8147C90
- push {lr}
- lsls r0, 24
- lsrs r0, 21
- ldr r1, _08147CB8 @ =gSaveBlock1 + 0x7F8
- adds r0, r1
- movs r1, 0
- bl sub_810CA9C
- lsls r0, 24
- ldr r2, _08147CBC @ =gUnknown_02039350
- ldr r1, _08147CC0 @ =gUnknown_084120A4
- lsrs r0, 22
- subs r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, _08147CC4 @ =0x000039e2
- strh r0, [r2, 0x4]
- pop {r0}
- bx r0
- .align 2, 0
-_08147CB8: .4byte gSaveBlock1 + 0x7F8
-_08147CBC: .4byte gUnknown_02039350
-_08147CC0: .4byte gUnknown_084120A4
-_08147CC4: .4byte 0x000039e2
- thumb_func_end sub_8147C90
-
- thumb_func_start sub_8147CC8
-sub_8147CC8: @ 8147CC8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08147D00 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08147CDC
- b _08147DCE
-_08147CDC:
- ldr r0, _08147D04 @ =gTasks
- lsls r2, r4, 2
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x8
- ldrsh r3, [r1, r0]
- ldr r0, _08147D08 @ =0x0000010d
- adds r5, r2, 0
- cmp r3, r0
- beq _08147D50
- cmp r3, r0
- bgt _08147D0C
- cmp r3, 0
- beq _08147D20
- cmp r3, 0xFF
- beq _08147D38
- b _08147D8C
- .align 2, 0
-_08147D00: .4byte gPaletteFade
-_08147D04: .4byte gTasks
-_08147D08: .4byte 0x0000010d
-_08147D0C:
- ldr r0, _08147D1C @ =0x00000119
- cmp r3, r0
- beq _08147D68
- adds r0, 0x10
- cmp r3, r0
- beq _08147D80
- b _08147D8C
- .align 2, 0
-_08147D1C: .4byte 0x00000119
-_08147D20:
- ldr r0, _08147D30 @ =gUnknown_03005F3C
- strb r3, [r0]
- ldr r0, _08147D34 @ =gUnknown_03005F94
- strh r3, [r0]
- bl sub_81481DC
- b _08147D8C
- .align 2, 0
-_08147D30: .4byte gUnknown_03005F3C
-_08147D34: .4byte gUnknown_03005F94
-_08147D38:
- ldr r0, _08147D48 @ =0x02000000
- ldr r2, _08147D4C @ =0x0001fffd
- adds r0, r2
- ldrb r0, [r0]
- ldrb r1, [r1, 0xA]
- bl sub_8148108
- b _08147D8C
- .align 2, 0
-_08147D48: .4byte 0x02000000
-_08147D4C: .4byte 0x0001fffd
-_08147D50:
- bl sub_814817C
- ldr r1, _08147D60 @ =0x02000000
- ldr r2, _08147D64 @ =0x0001fffc
- adds r1, r2
- strb r0, [r1]
- b _08147D8C
- .align 2, 0
-_08147D60: .4byte 0x02000000
-_08147D64: .4byte 0x0001fffc
-_08147D68:
- ldr r0, _08147D78 @ =0x02000000
- ldr r1, _08147D7C @ =0x0001fffe
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8148044
- b _08147D8C
- .align 2, 0
-_08147D78: .4byte 0x02000000
-_08147D7C: .4byte 0x0001fffe
-_08147D80:
- ldr r0, _08147D88 @ =sub_8147E40
- str r0, [r1]
- b _08147DCE
- .align 2, 0
-_08147D88: .4byte sub_8147E40
-_08147D8C:
- ldr r0, _08147DA0 @ =gUnknown_03005F94
- ldr r1, _08147DA4 @ =gUnknown_03005F34
- ldrh r2, [r0]
- ldrh r0, [r1]
- cmp r2, r0
- bcs _08147DA8
- bl sub_814825C
- b _08147DB8
- .align 2, 0
-_08147DA0: .4byte gUnknown_03005F94
-_08147DA4: .4byte gUnknown_03005F34
-_08147DA8:
- cmp r2, r0
- bne _08147DB8
- ldr r0, _08147DD4 @ =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0xFE
- strh r0, [r1, 0x8]
-_08147DB8:
- ldr r1, _08147DD8 @ =gUnknown_03005F94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, _08147DD4 @ =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08147DCE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08147DD4: .4byte gTasks
-_08147DD8: .4byte gUnknown_03005F94
- thumb_func_end sub_8147CC8
-
- thumb_func_start sub_8147DDC
-sub_8147DDC: @ 8147DDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08147E08 @ =sub_8147CC8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08147E0C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08147E08: .4byte sub_8147CC8
-_08147E0C: .4byte gTasks
- thumb_func_end sub_8147DDC
-
- thumb_func_start sub_8147E10
-sub_8147E10: @ 8147E10
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl MenuUpdateWindowText
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08147E30
- ldr r0, _08147E38 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08147E3C @ =sub_8147F4C
- str r0, [r1]
-_08147E30:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08147E38: .4byte gTasks
-_08147E3C: .4byte sub_8147F4C
- thumb_func_end sub_8147E10
-
- thumb_func_start sub_8147E40
-sub_8147E40: @ 8147E40
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _08147E94 @ =gUnknown_02039310
- ldrb r1, [r0]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, _08147E98 @ =gPlayerParty
- adds r5, r0
- ldr r0, _08147E9C @ =gScriptItemId
- ldrh r4, [r0]
- lsls r4, 3
- ldr r0, _08147EA0 @ =gSaveBlock1 + 0x7F8
- adds r4, r0
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_810CAE4
- ldr r6, _08147EA4 @ =gUnknown_02039312
- strh r0, [r6]
- ldr r1, _08147EA8 @ =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r1, _08147EAC @ =gStringVar2
- adds r0, r4, 0
- bl sub_810CB44
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08147EB8
- ldr r0, _08147EB0 @ =gStringVar4
- ldr r1, _08147EB4 @ =gContestStatsText_NormallyAte
- bl StringExpandPlaceholders
- b _08147ED8
- .align 2, 0
-_08147E94: .4byte gUnknown_02039310
-_08147E98: .4byte gPlayerParty
-_08147E9C: .4byte gScriptItemId
-_08147EA0: .4byte gSaveBlock1 + 0x7F8
-_08147EA4: .4byte gUnknown_02039312
-_08147EA8: .4byte gStringVar1
-_08147EAC: .4byte gStringVar2
-_08147EB0: .4byte gStringVar4
-_08147EB4: .4byte gContestStatsText_NormallyAte
-_08147EB8:
- cmp r0, 0
- ble _08147ED0
- ldr r0, _08147EC8 @ =gStringVar4
- ldr r1, _08147ECC @ =gContestStatsText_HappilyAte
- bl StringExpandPlaceholders
- b _08147ED8
- .align 2, 0
-_08147EC8: .4byte gStringVar4
-_08147ECC: .4byte gContestStatsText_HappilyAte
-_08147ED0:
- ldr r0, _08147EF8 @ =gStringVar4
- ldr r1, _08147EFC @ =gContestStatsText_DisdainfullyAte
- bl StringExpandPlaceholders
-_08147ED8:
- ldr r0, _08147EF8 @ =gStringVar4
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
- ldr r1, _08147F00 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _08147F04 @ =sub_8147E10
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08147EF8: .4byte gStringVar4
-_08147EFC: .4byte gContestStatsText_DisdainfullyAte
-_08147F00: .4byte gTasks
-_08147F04: .4byte sub_8147E10
- thumb_func_end sub_8147E40
-
- thumb_func_start sub_8147F08
-sub_8147F08: @ 8147F08
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08147F3C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08147F34
- ldr r0, _08147F40 @ =gMPlay_BGM
- ldr r1, _08147F44 @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r0, _08147F48 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08147F34:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08147F3C: .4byte gPaletteFade
-_08147F40: .4byte gMPlay_BGM
-_08147F44: .4byte 0x0000ffff
-_08147F48: .4byte gMain
- thumb_func_end sub_8147F08
-
- thumb_func_start sub_8147F4C
-sub_8147F4C: @ 8147F4C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08147F7C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08147F80 @ =sub_8147F08
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08147F7C: .4byte gTasks
-_08147F80: .4byte sub_8147F08
- thumb_func_end sub_8147F4C
-
- thumb_func_start sub_8147F84
-sub_8147F84: @ 8147F84
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08148024 @ =gUnknown_02024E8C
- movs r1, 0x30
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _08148028 @ =gUnknown_03005F24
- strh r4, [r0]
- ldr r0, _0814802C @ =gUnknown_03005F2C
- mov r1, r8
- strb r1, [r0]
- adds r0, r5, 0
- bl GetNature
- ldr r1, _08148030 @ =gUnknown_03005F30
- strb r0, [r1]
- ldr r7, _08148034 @ =gSprites
- mov r1, r8
- lsls r0, r1, 4
- add r0, r8
- lsls r5, r0, 2
- adds r6, r5, r7
- strh r4, [r6, 0x32]
- adds r0, r7, 0
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, _08148038 @ =SpriteCallbackDummy
- str r1, [r0]
- ldr r0, _0814803C @ =gUnknown_03005F28
- mov r9, r0
- movs r0, 0x1
- mov r1, r9
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8040A3C
- lsls r0, 24
- cmp r0, 0
- bne _08148016
- adds r0, r7, 0
- adds r0, 0x10
- adds r0, r5, r0
- ldr r1, _08148040 @ =gSpriteAffineAnimTable_84120EC
- str r1, [r0]
- ldrb r3, [r6, 0x1]
- movs r0, 0x3
- orrs r3, r0
- strb r3, [r6, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r6, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r6, 0
- bl CalcCenterToCornerVec
- movs r0, 0
- mov r1, r9
- strb r0, [r1]
-_08148016:
- mov r0, r8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08148024: .4byte gUnknown_02024E8C
-_08148028: .4byte gUnknown_03005F24
-_0814802C: .4byte gUnknown_03005F2C
-_08148030: .4byte gUnknown_03005F30
-_08148034: .4byte gSprites
-_08148038: .4byte SpriteCallbackDummy
-_0814803C: .4byte gUnknown_03005F28
-_08148040: .4byte gSpriteAffineAnimTable_84120EC
- thumb_func_end sub_8147F84
-
- thumb_func_start sub_8148044
-sub_8148044: @ 8148044
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0814806C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r3
- movs r0, 0x30
- strh r0, [r2, 0x20]
- movs r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, _08148070 @ =0x0000fff8
- strh r0, [r2, 0x2E]
- movs r0, 0x1
- strh r0, [r2, 0x30]
- adds r3, 0x1C
- adds r1, r3
- ldr r0, _08148074 @ =sub_8148078
- str r0, [r1]
- bx lr
- .align 2, 0
-_0814806C: .4byte gSprites
-_08148070: .4byte 0x0000fff8
-_08148074: .4byte sub_8148078
- thumb_func_end sub_8148044
-
- thumb_func_start sub_8148078
-sub_8148078: @ 8148078
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x2E]
- ldrh r2, [r4, 0x22]
- adds r1, r0, r2
- strh r1, [r4, 0x22]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _0814809E
- ldrh r0, [r4, 0x32]
- movs r1, 0
- bl PlayCry1
-_0814809E:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bne _081480AA
- ldr r0, _081480B0 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_081480AA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081480B0: .4byte SpriteCallbackDummy
- thumb_func_end sub_8148078
-
- thumb_func_start sub_81480B4
-sub_81480B4: @ 81480B4
- push {r4,r5,lr}
- movs r0, 0xBC
- movs r1, 0x64
- movs r2, 0x2
- bl sub_810BA50
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _081480FC @ =gSprites
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r0, r3, r5
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x1]
- adds r1, r5, 0
- adds r1, 0x10
- adds r1, r3, r1
- ldr r2, _08148100 @ =gSpriteAffineAnimTable_84121A0
- str r2, [r1]
- adds r5, 0x1C
- adds r3, r5
- ldr r1, _08148104 @ =SpriteCallbackDummy
- str r1, [r3]
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_081480FC: .4byte gSprites
-_08148100: .4byte gSpriteAffineAnimTable_84121A0
-_08148104: .4byte SpriteCallbackDummy
- thumb_func_end sub_81480B4
-
- thumb_func_start sub_8148108
-sub_8148108: @ 8148108
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08148148 @ =gSprites
- mov r8, r0
- lsls r0, r7, 4
- adds r0, r7
- lsls r6, r0, 2
- mov r0, r8
- adds r4, r6, r0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- cmp r5, 0
- bne _08148150
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, _0814814C @ =gSpriteAffineAnimTable_84121A4
- b _08148158
- .align 2, 0
-_08148148: .4byte gSprites
-_0814814C: .4byte gSpriteAffineAnimTable_84121A4
-_08148150:
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, _08148174 @ =gSpriteAffineAnimTable_84121A8
-_08148158:
- str r1, [r0]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _08148178 @ =gSprites
- adds r0, r1
- bl InitSpriteAffineAnim
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08148174: .4byte gSpriteAffineAnimTable_84121A8
-_08148178: .4byte gSprites
- thumb_func_end sub_8148108
-
- thumb_func_start sub_814817C
-sub_814817C: @ 814817C
- push {lr}
- ldr r0, _081481A4 @ =gSpriteTemplate_84121E4
- movs r1, 0xAE
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _081481A8 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r2, _081481AC @ =0x0000fff4
- strh r2, [r1, 0x2E]
- movs r2, 0x1
- strh r2, [r1, 0x30]
- pop {r1}
- bx r1
- .align 2, 0
-_081481A4: .4byte gSpriteTemplate_84121E4
-_081481A8: .4byte gSprites
-_081481AC: .4byte 0x0000fff4
- thumb_func_end sub_814817C
-
- thumb_func_start sub_81481B0
-sub_81481B0: @ 81481B0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- subs r0, 0x4
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- ldrh r3, [r2, 0x22]
- adds r1, r0, r3
- strh r1, [r2, 0x22]
- ldrh r1, [r2, 0x30]
- adds r0, r1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _081481D6
- adds r0, r2, 0
- bl DestroySprite
-_081481D6:
- pop {r0}
- bx r0
- thumb_func_end sub_81481B0
-
- thumb_func_start sub_81481DC
-sub_81481DC: @ 81481DC
- push {r4-r7,lr}
- ldr r6, _0814824C @ =gUnknown_03005F34
- movs r0, 0x1
- strh r0, [r6]
- ldr r1, _08148250 @ =gNatureToMonPokeblockAnim
- ldr r0, _08148254 @ =gUnknown_03005F30
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrb r3, [r0]
- movs r4, 0
- ldr r2, _08148258 @ =gMonPokeblockAnims
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r7, r2, 0
- adds r7, 0x8
- adds r0, r1, r7
- ldrh r0, [r0]
- adds r0, 0x1
- strh r0, [r6]
- adds r5, r2, 0
- adds r5, 0x12
- adds r1, r5
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _08148244
- adds r2, r6, 0
- adds r6, r5, 0
- adds r5, r7, 0
-_0814821A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r4, 0x7
- bhi _08148244
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- ldrh r7, [r2]
- adds r0, r7
- strh r0, [r2]
- adds r1, r6
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, 0x1
- bne _0814821A
-_08148244:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814824C: .4byte gUnknown_03005F34
-_08148250: .4byte gNatureToMonPokeblockAnim
-_08148254: .4byte gUnknown_03005F30
-_08148258: .4byte gMonPokeblockAnims
- thumb_func_end sub_81481DC
-
- thumb_func_start sub_814825C
-sub_814825C: @ 814825C
- push {lr}
- ldr r0, _08148274 @ =gUnknown_03005F3C
- ldrb r0, [r0]
- cmp r0, 0x5A
- bls _08148268
- b _08148532
-_08148268:
- lsls r0, 2
- ldr r1, _08148278 @ =_0814827C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08148274: .4byte gUnknown_03005F3C
-_08148278: .4byte _0814827C
- .align 2, 0
-_0814827C:
- .4byte _081483E8
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _0814843C
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _0814847A
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _081484CC
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148524
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
- .4byte _08148532
-_081483E8:
- ldr r2, _0814841C @ =gUnknown_03005F40
- ldr r1, _08148420 @ =gNatureToMonPokeblockAnim
- ldr r0, _08148424 @ =gUnknown_03005F30
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r2, _08148428 @ =gUnknown_03005F20
- ldr r0, _0814842C @ =gUnknown_03005F2C
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08148430 @ =gSprites
- adds r1, r0
- str r1, [r2]
- ldr r0, _08148434 @ =gUnknown_03005F50
- movs r2, 0x44
- bl memcpy
- ldr r1, _08148438 @ =gUnknown_03005F3C
- movs r0, 0xA
- strb r0, [r1]
- b _08148532
- .align 2, 0
-_0814841C: .4byte gUnknown_03005F40
-_08148420: .4byte gNatureToMonPokeblockAnim
-_08148424: .4byte gUnknown_03005F30
-_08148428: .4byte gUnknown_03005F20
-_0814842C: .4byte gUnknown_03005F2C
-_08148430: .4byte gSprites
-_08148434: .4byte gUnknown_03005F50
-_08148438: .4byte gUnknown_03005F3C
-_0814843C:
- bl sub_8148540
- ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim
- ldr r0, _081484A8 @ =gUnknown_03005F30
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08148474
- ldr r3, _081484AC @ =gUnknown_03005F20
- ldr r2, [r3]
- ldrb r0, [r2, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x3]
- ldr r0, [r3]
- ldr r1, _081484B0 @ =gSpriteAffineAnimTable_8412050
- str r1, [r0, 0x10]
- bl InitSpriteAffineAnim
-_08148474:
- ldr r1, _081484B4 @ =gUnknown_03005F3C
- movs r0, 0x32
- strb r0, [r1]
-_0814847A:
- ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim
- ldr r0, _081484A8 @ =gUnknown_03005F30
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x1
- adds r2, r0, r1
- ldrb r1, [r2]
- cmp r1, 0
- beq _081484EE
- ldr r0, _081484B8 @ =gUnknown_03005F28
- ldrb r0, [r0]
- cmp r0, 0
- bne _081484BC
- ldr r0, _081484AC @ =gUnknown_03005F20
- ldr r0, [r0]
- adds r1, 0xA
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAffineAnim
- b _081484EE
- .align 2, 0
-_081484A4: .4byte gNatureToMonPokeblockAnim
-_081484A8: .4byte gUnknown_03005F30
-_081484AC: .4byte gUnknown_03005F20
-_081484B0: .4byte gSpriteAffineAnimTable_8412050
-_081484B4: .4byte gUnknown_03005F3C
-_081484B8: .4byte gUnknown_03005F28
-_081484BC:
- ldr r0, _081484C8 @ =gUnknown_03005F20
- ldr r0, [r0]
- ldrb r1, [r2]
- bl StartSpriteAffineAnim
- b _081484EE
- .align 2, 0
-_081484C8: .4byte gUnknown_03005F20
-_081484CC:
- bl sub_81485CC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08148532
- ldr r0, _081484F8 @ =gUnknown_03005FA0
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08148504
- ldr r1, _081484FC @ =gUnknown_03005F40
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_8148540
-_081484EE:
- ldr r1, _08148500 @ =gUnknown_03005F3C
- movs r0, 0x3C
- strb r0, [r1]
- b _08148532
- .align 2, 0
-_081484F8: .4byte gUnknown_03005FA0
-_081484FC: .4byte gUnknown_03005F40
-_08148500: .4byte gUnknown_03005F3C
-_08148504:
- ldr r0, _0814851C @ =gUnknown_03005F20
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r1, _08148520 @ =gUnknown_03005F3C
- movs r0, 0x46
- strb r0, [r1]
- b _08148532
- .align 2, 0
-_0814851C: .4byte gUnknown_03005F20
-_08148520: .4byte gUnknown_03005F3C
-_08148524:
- bl sub_8148618
- ldr r0, _08148538 @ =gUnknown_03005F40
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0814853C @ =gUnknown_03005F3C
- strb r1, [r0]
-_08148532:
- pop {r0}
- bx r0
- .align 2, 0
-_08148538: .4byte gUnknown_03005F40
-_0814853C: .4byte gUnknown_03005F3C
- thumb_func_end sub_814825C
-
- thumb_func_start sub_8148540
-sub_8148540: @ 8148540
- push {r4-r7,lr}
- movs r4, 0
- ldr r5, _081485B4 @ =gUnknown_03005FA0
- mov r12, r5
- ldr r7, _081485B8 @ =gMonPokeblockAnims
- ldr r6, _081485BC @ =gUnknown_03005F40
-_0814854C:
- lsls r2, r4, 1
- mov r0, r12
- adds r3, r2, r0
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, r7
- ldrh r0, [r2]
- strh r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0814854C
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081485C4
- movs r2, 0
- ldrsh r0, [r5, r2]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x14]
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl Cos
- strh r0, [r5, 0x16]
- ldrh r0, [r5, 0x8]
- strh r0, [r5, 0x18]
- ldr r0, _081485C0 @ =gUnknown_03005F20
- ldr r1, [r0]
- ldrh r0, [r1, 0x24]
- strh r0, [r5, 0x1A]
- ldrh r0, [r1, 0x26]
- strh r0, [r5, 0x1C]
- bl sub_8148710
- ldrh r0, [r5, 0x18]
- strh r0, [r5, 0x8]
- bl sub_814862C
- ldrh r0, [r5, 0x18]
- strh r0, [r5, 0x8]
- movs r0, 0
- b _081485C6
- .align 2, 0
-_081485B4: .4byte gUnknown_03005FA0
-_081485B8: .4byte gMonPokeblockAnims
-_081485BC: .4byte gUnknown_03005F40
-_081485C0: .4byte gUnknown_03005F20
-_081485C4:
- movs r0, 0x1
-_081485C6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8148540
-
- thumb_func_start sub_81485CC
-sub_81485CC: @ 81485CC
- push {r4,lr}
- ldr r3, _08148604 @ =gUnknown_03005FA0
- ldrh r0, [r3, 0x18]
- ldrh r1, [r3, 0x8]
- subs r0, r1
- lsls r0, 16
- ldr r1, _08148608 @ =gUnknown_03005F20
- ldr r4, [r1]
- lsrs r0, 15
- ldr r1, _0814860C @ =0x0201d000
- adds r2, r0, r1
- ldrh r2, [r2]
- strh r2, [r4, 0x24]
- movs r2, 0x80
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
- ldrh r0, [r3, 0x8]
- subs r0, 0x1
- strh r0, [r3, 0x8]
- lsls r0, 16
- cmp r0, 0
- beq _08148610
- movs r0, 0
- b _08148612
- .align 2, 0
-_08148604: .4byte gUnknown_03005FA0
-_08148608: .4byte gUnknown_03005F20
-_0814860C: .4byte 0x0201d000
-_08148610:
- movs r0, 0x1
-_08148612:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81485CC
-
- thumb_func_start sub_8148618
-sub_8148618: @ 8148618
- push {lr}
- ldr r0, _08148628 @ =gUnknown_03005F20
- ldr r0, [r0]
- bl FreeSpriteOamMatrix
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08148628: .4byte gUnknown_03005F20
- thumb_func_end sub_8148618
-
- thumb_func_start sub_814862C
-sub_814862C: @ 814862C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r1, _08148700 @ =gUnknown_03005FA0
- ldrh r0, [r1, 0x10]
- mov r8, r0
- ldrh r0, [r1, 0x18]
- mov r2, r8
- subs r0, r2
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r0, [r1, 0xC]
- ldrh r3, [r1, 0x1A]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- ldrh r0, [r1, 0xE]
- ldrh r1, [r1, 0x1C]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r6, 0
- subs r0, r7, 0x1
- ldr r4, _08148704 @ =0x0201cffe
- mov r10, r4
- cmp r6, r0
- bge _081486D4
- ldr r1, [sp]
- lsls r0, r1, 16
- asrs r0, 16
- str r0, [sp, 0x4]
-_08148674:
- mov r2, r8
- adds r5, r2, r6
- lsls r5, 1
- ldr r4, _08148708 @ =0x0201d000
- adds r3, r5, r4
- ldrh r2, [r3]
- ldr r0, [sp, 0x4]
- subs r1, r2, r0
- ldr r4, _0814870C @ =0x0201d400
- adds r5, r4
- ldrh r0, [r5]
- mov r12, r0
- mov r4, r9
- lsls r0, r4, 16
- asrs r0, 16
- mov r4, r12
- subs r0, r4, r0
- lsls r4, r0, 16
- lsrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r6, 0x1
- adds r0, r1, 0
- muls r0, r6
- adds r1, r7, 0
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- bl __divsi3
- ldr r2, [sp, 0x8]
- subs r2, r0
- ldr r3, [sp, 0xC]
- strh r2, [r3]
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- muls r0, r6
- adds r1, r7, 0
- bl __divsi3
- ldrh r1, [r5]
- subs r1, r0
- strh r1, [r5]
- lsls r6, 16
- lsrs r6, 16
- subs r0, r7, 0x1
- cmp r6, r0
- blt _08148674
-_081486D4:
- mov r1, r8
- adds r0, r1, r7
- lsls r0, 1
- mov r2, r10
- adds r1, r0, r2
- mov r3, sp
- ldrh r3, [r3]
- strh r3, [r1]
- movs r1, 0x80
- lsls r1, 3
- add r1, r10
- adds r0, r1
- mov r4, r9
- strh r4, [r0]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08148700: .4byte gUnknown_03005FA0
-_08148704: .4byte 0x0201cffe
-_08148708: .4byte 0x0201d000
-_0814870C: .4byte 0x0201d400
- thumb_func_end sub_814862C
-
- thumb_func_start sub_8148710
-sub_8148710: @ 8148710
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, _081487A4 @ =gUnknown_03005FA0
- ldrh r2, [r1, 0x1A]
- ldrh r0, [r1, 0x14]
- subs r2, r0
- ldrh r3, [r1, 0x1C]
- ldrh r0, [r1, 0x16]
- subs r3, r0
- adds r6, r1, 0
- ldr r1, _081487A8 @ =0x0201d000
- mov r9, r1
- lsls r2, 16
- asrs r2, 16
- mov r8, r2
- movs r2, 0x80
- lsls r2, 3
- add r2, r9
- mov r10, r2
- lsls r3, 16
- asrs r7, r3, 16
-_08148746:
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bge _08148750
- negs r0, r0
-_08148750:
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r6, 0x6]
- adds r0, r2
- lsls r5, r0, 16
- strh r0, [r6, 0x6]
- ldrh r2, [r6, 0x4]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bge _0814876A
- movs r0, 0x1
- str r0, [sp]
-_0814876A:
- ldrh r0, [r6, 0x18]
- ldrh r1, [r6, 0x8]
- subs r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r1, 0
- beq _081487F0
- ldr r1, [sp]
- cmp r1, 0
- bne _081487AC
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsrs r5, 24
- adds r1, r2, r5
- lsls r1, 16
- asrs r1, 16
- bl Sin
- lsls r4, 1
- mov r2, r9
- adds r1, r4, r2
- add r0, r8
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r6, r1]
- ldrh r1, [r6, 0x6]
- adds r1, r5
- b _081487CE
- .align 2, 0
-_081487A4: .4byte gUnknown_03005FA0
-_081487A8: .4byte 0x0201d000
-_081487AC:
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsrs r5, 24
- subs r1, r2, r5
- lsls r1, 16
- asrs r1, 16
- bl Sin
- lsls r4, 1
- mov r2, r9
- adds r1, r4, r2
- add r0, r8
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r6, r1]
- ldrh r1, [r6, 0x6]
- subs r1, r5
-_081487CE:
- lsls r1, 16
- asrs r1, 16
- bl Cos
- add r4, r10
- adds r0, r7, r0
- strh r0, [r4]
- ldrh r0, [r6, 0x2]
- ldrh r2, [r6]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6]
- ldrh r0, [r6, 0x8]
- subs r0, 0x1
- strh r0, [r6, 0x8]
- b _08148746
-_081487F0:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8148710
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s
deleted file mode 100644
index a114bbea3..000000000
--- a/asm/save_failed_screen.s
+++ /dev/null
@@ -1,779 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start fullscreen_save_activate
-fullscreen_save_activate: @ 8146E10
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08146E30 @ =sub_8146E50
- bl SetMainCallback2
- ldr r0, _08146E34 @ =gUnknown_0203933C
- strh r4, [r0]
- ldr r1, _08146E38 @ =gUnknown_0203933E
- movs r0, 0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08146E30: .4byte sub_8146E50
-_08146E34: .4byte gUnknown_0203933C
-_08146E38: .4byte gUnknown_0203933E
- thumb_func_end fullscreen_save_activate
-
- thumb_func_start sub_8146E3C
-sub_8146E3C: @ 8146E3C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8146E3C
-
- thumb_func_start sub_8146E50
-sub_8146E50: @ 8146E50
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r0, _08146FB0 @ =gMain
- ldr r1, _08146FB4 @ =0x0000043c
- adds r7, r0, r1
- ldrb r0, [r7]
- cmp r0, 0
- beq _08146E6C
- cmp r0, 0x1
- bne _08146E6C
- b _0814701C
-_08146E6C:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- mov r9, r0
- movs r1, 0
- strh r1, [r0]
- ldr r6, _08146FB8 @ =REG_BG3CNT
- strh r1, [r6]
- adds r0, 0xC
- mov r8, r0
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- ldr r5, _08146FBC @ =REG_BG0CNT
- strh r1, [r5]
- adds r0, 0x12
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add r0, sp, 0x4
- strh r1, [r0]
- ldr r2, _08146FC0 @ =0x040000d4
- str r0, [r2]
- movs r1, 0xC0
- lsls r1, 19
- str r1, [r2, 0x4]
- ldr r0, _08146FC4 @ =0x8100c000
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r4, 0
- str r4, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r2]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, _08146FC8 @ =0x85000100
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r2]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, _08146FCC @ =0x81000200
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _08146FD0 @ =gUnknown_083F66F0
- bl LZ77UnCompVram
- ldr r0, _08146FD4 @ =gBirchBagTilemap
- ldr r1, _08146FD8 @ =0x06003000
- bl LZ77UnCompVram
- ldr r0, _08146FDC @ =gBirchGrassTilemap
- ldr r1, _08146FE0 @ =0x06003800
- bl LZ77UnCompVram
- ldr r0, _08146FE4 @ =gUnknown_08411980
- ldr r1, _08146FE8 @ =0x06010020
- bl LZ77UnCompVram
- bl ResetSpriteData
- bl ResetTasks
- bl ResetPaletteFade
- ldr r0, _08146FEC @ =gUnknown_083F62EC
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _08146FF0 @ =gUnknown_08411960
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08146FF4 @ =gWindowConfig_81E6C3C
- bl SetUpWindowConfig
- ldr r0, _08146FF8 @ =gWindowConfig_81E6CE4
- bl InitMenuWindow
- .if REVISION >= 1
- movs r0, 0xD
- movs r1, 0x6
- movs r2, 0x10
- movs r3, 0x9
- .else
- movs r0, 0xD
- movs r1, 0x8
- movs r2, 0x10
- movs r3, 0xB
- .endif
- bl MenuDrawTextWindow
- .if REVISION >= 1
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0x13
- .else
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x1C
- movs r3, 0x13
- .endif
- bl MenuDrawTextWindow
- ldr r0, _08146FFC @ =gSystemText_SaveFailedBackupCheck
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r3, _08147000 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _08147004 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08147008 @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _0814700C @ =sub_8146E3C
- bl SetVBlankCallback
- ldr r1, _08147010 @ =0x00000703
- adds r0, r1, 0
- strh r0, [r6]
- ldr r1, _08147014 @ =0x00000602
- adds r0, r1, 0
- mov r1, r8
- strh r0, [r1]
- ldr r1, _08147018 @ =0x00001f08
- adds r0, r1, 0
- strh r0, [r5]
- movs r1, 0xEA
- lsls r1, 5
- adds r0, r1, 0
- mov r1, r9
- strh r0, [r1]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _08147032
- .align 2, 0
-_08146FB0: .4byte gMain
-_08146FB4: .4byte 0x0000043c
-_08146FB8: .4byte REG_BG3CNT
-_08146FBC: .4byte REG_BG0CNT
-_08146FC0: .4byte 0x040000d4
-_08146FC4: .4byte 0x8100c000
-_08146FC8: .4byte 0x85000100
-_08146FCC: .4byte 0x81000200
-_08146FD0: .4byte gUnknown_083F66F0
-_08146FD4: .4byte gBirchBagTilemap
-_08146FD8: .4byte 0x06003000
-_08146FDC: .4byte gBirchGrassTilemap
-_08146FE0: .4byte 0x06003800
-_08146FE4: .4byte gUnknown_08411980
-_08146FE8: .4byte 0x06010020
-_08146FEC: .4byte gUnknown_083F62EC
-_08146FF0: .4byte gUnknown_08411960
-_08146FF4: .4byte gWindowConfig_81E6C3C
-_08146FF8: .4byte gWindowConfig_81E6CE4
-_08146FFC: .4byte gSystemText_SaveFailedBackupCheck
-_08147000: .4byte 0x04000208
-_08147004: .4byte 0x04000200
-_08147008: .4byte REG_DISPSTAT
-_0814700C: .4byte sub_8146E3C
-_08147010: .4byte 0x00000703
-_08147014: .4byte 0x00000602
-_08147018: .4byte 0x00001f08
-_0814701C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08147032
- ldr r0, _08147040 @ =sub_8147048
- bl SetMainCallback2
- ldr r0, _08147044 @ =sub_8147218
- bl SetVBlankCallback
-_08147032:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08147040: .4byte sub_8147048
-_08147044: .4byte sub_8147218
- thumb_func_end sub_8146E50
-
- thumb_func_start sub_8147048
-sub_8147048: @ 8147048
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _081470C8 @ =gUnknown_0203933E
- movs r1, 0x1
- strh r1, [r0]
- ldr r1, _081470CC @ =gUnknown_03005EA8
- ldr r0, [r1]
- cmp r0, 0
- beq _081470A6
- adds r5, r1, 0
-_0814705C:
- ldr r0, [r5]
- bl sub_814737C
- lsls r0, 24
- cmp r0, 0
- bne _0814710C
- .if REVISION >= 1
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0x13
- .else
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x1C
- movs r3, 0x13
- .endif
- bl MenuDrawTextWindow
- ldr r0, _081470D0 @ =gSystemText_CheckCompleteSaveAttempt
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
- ldr r0, _081470D4 @ =gUnknown_0203933C
- ldrb r0, [r0]
- bl sub_8125C3C
- ldr r0, [r5]
- cmp r0, 0
- beq _08147096
- ldr r0, _081470D8 @ =gSystemText_SaveFailedBackupCheck
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
-_08147096:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r5]
- cmp r0, 0
- beq _081470A6
- cmp r4, 0x2
- bls _0814705C
-_081470A6:
- cmp r4, 0x3
- bne _081470E4
- .if REVISION >= 1
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0x13
- .else
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x1C
- movs r3, 0x13
- .endif
- bl MenuDrawTextWindow
- ldr r0, _081470DC @ =gSystemText_BackupDamagedGameContinue
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
- ldr r0, _081470E0 @ =sub_81471A4
- bl SetMainCallback2
- b _0814713E
- .align 2, 0
-_081470C8: .4byte gUnknown_0203933E
-_081470CC: .4byte gUnknown_03005EA8
-_081470D0: .4byte gSystemText_CheckCompleteSaveAttempt
-_081470D4: .4byte gUnknown_0203933C
-_081470D8: .4byte gSystemText_SaveFailedBackupCheck
-_081470DC: .4byte gSystemText_BackupDamagedGameContinue
-_081470E0: .4byte sub_81471A4
-_081470E4:
- .if REVISION >= 1
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0x13
- .else
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x1C
- movs r3, 0x13
- .endif
- bl MenuDrawTextWindow
- ldr r0, _08147104 @ =gUnknown_03005EBC
- ldr r0, [r0]
- cmp r0, 0
- bne _08147134
- ldr r0, _08147108 @ =gSystemText_SaveCompletedGameEnd
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
- b _0814713E
- .align 2, 0
-_08147104: .4byte gUnknown_03005EBC
-_08147108: .4byte gSystemText_SaveCompletedGameEnd
-_0814710C:
- .if REVISION >= 1
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0x13
- .else
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x1C
- movs r3, 0x13
- .endif
- bl MenuDrawTextWindow
- ldr r0, _0814712C @ =gSystemText_BackupDamagedGameContinue
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
- ldr r0, _08147130 @ =sub_8147154
- bl SetMainCallback2
- b _08147144
- .align 2, 0
-_0814712C: .4byte gSystemText_BackupDamagedGameContinue
-_08147130: .4byte sub_8147154
-_08147134:
- ldr r0, _0814714C @ =gSystemText_SaveCompletedPressA
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
-_0814713E:
- ldr r0, _08147150 @ =sub_81471A4
- bl SetMainCallback2
-_08147144:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814714C: .4byte gSystemText_SaveCompletedPressA
-_08147150: .4byte sub_81471A4
- thumb_func_end sub_8147048
-
- thumb_func_start sub_8147154
-sub_8147154: @ 8147154
- push {lr}
- ldr r1, _08147190 @ =gUnknown_0203933E
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08147194 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814718A
- .if REVISION >= 1
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0x13
- .else
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x1C
- movs r3, 0x13
- .endif
- bl MenuDrawTextWindow
- ldr r0, _08147198 @ =gSystemText_GameplayEnded
- .if REVISION >= 1
- movs r1, 0x2
- movs r2, 0xB
- .else
- movs r1, 0x2
- movs r2, 0xD
- .endif
- bl MenuPrint
- ldr r0, _0814719C @ =sub_8146E3C
- bl SetVBlankCallback
- ldr r0, _081471A0 @ =sub_81471A4
- bl SetMainCallback2
-_0814718A:
- pop {r0}
- bx r0
- .align 2, 0
-_08147190: .4byte gUnknown_0203933E
-_08147194: .4byte gMain
-_08147198: .4byte gSystemText_GameplayEnded
-_0814719C: .4byte sub_8146E3C
-_081471A0: .4byte sub_81471A4
- thumb_func_end sub_8147154
-
- thumb_func_start sub_81471A4
-sub_81471A4: @ 81471A4
- push {lr}
- sub sp, 0x4
- ldr r0, _081471DC @ =gUnknown_0203933E
- movs r2, 0
- strh r2, [r0]
- ldr r0, _081471E0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081471D4
- movs r0, 0x1
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _081471E4 @ =sub_8146E3C
- bl SetVBlankCallback
- ldr r0, _081471E8 @ =sub_81471EC
- bl SetMainCallback2
-_081471D4:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_081471DC: .4byte gUnknown_0203933E
-_081471E0: .4byte gMain
-_081471E4: .4byte sub_8146E3C
-_081471E8: .4byte sub_81471EC
- thumb_func_end sub_81471A4
-
- thumb_func_start sub_81471EC
-sub_81471EC: @ 81471EC
- push {r4,r5,lr}
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08147212
- ldr r5, _08147208 @ =gUnknown_03005EBC
- ldr r0, [r5]
- cmp r0, 0
- bne _0814720C
- bl DoSoftReset
- b _08147212
- .align 2, 0
-_08147208: .4byte gUnknown_03005EBC
-_0814720C:
- bl SetMainCallback2
- str r4, [r5]
-_08147212:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81471EC
-
- thumb_func_start sub_8147218
-sub_8147218: @ 8147218
- push {r4,r5,lr}
- ldr r0, _08147290 @ =gMain
- mov r12, r0
- ldr r0, [r0, 0x24]
- lsrs r4, r0, 3
- movs r0, 0x7
- ands r4, r0
- ldr r0, _08147294 @ =gUnknown_08411940
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- mov r2, r12
- str r0, [r2, 0x3C]
- str r1, [r2, 0x40]
- ldrh r1, [r2, 0x3E]
- ldr r0, _08147298 @ =0xfffffe00
- ands r0, r1
- movs r1, 0x70
- orrs r0, r1
- strh r0, [r2, 0x3E]
- mov r1, r12
- adds r1, 0x3C
- .if REVISION >= 1
- movs r0, 0x38
- .else
- movs r0, 0x48
- .endif
- strb r0, [r1]
- ldr r0, _0814729C @ =gUnknown_0203933E
- ldrh r0, [r0]
- cmp r0, 0
- beq _081472A8
- ldr r3, _081472A0 @ =gUnknown_08411948
- lsls r2, r4, 1
- adds r2, r4
- adds r0, r2, r3
- mov r4, r12
- adds r4, 0x40
- ldrb r5, [r0]
- ldrh r1, [r4]
- ldr r0, _081472A4 @ =0xfffffc00
- ands r0, r1
- orrs r0, r5
- strh r0, [r4]
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r1, 4
- adds r3, 0x1
- adds r2, r3
- ldrb r0, [r2]
- lsls r0, 3
- orrs r1, r0
- mov r3, r12
- adds r3, 0x3F
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _081472B8
- .align 2, 0
-_08147290: .4byte gMain
-_08147294: .4byte gUnknown_08411940
-_08147298: .4byte 0xfffffe00
-_0814729C: .4byte gUnknown_0203933E
-_081472A0: .4byte gUnknown_08411948
-_081472A4: .4byte 0xfffffc00
-_081472A8:
- mov r2, r12
- adds r2, 0x40
- ldrh r1, [r2]
- ldr r0, _081472D8 @ =0xfffffc00
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
-_081472B8:
- ldr r0, _081472DC @ =gMain + 0x3C
- movs r1, 0xE0
- lsls r1, 19
- movs r2, 0x1
- bl CpuFastSet
- ldr r1, _081472E0 @ =gUnknown_0203933E
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _081472D0
- subs r0, 0x1
- strh r0, [r1, 0x2]
-_081472D0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081472D8: .4byte 0xfffffc00
-_081472DC: .4byte gMain + 0x3C
-_081472E0: .4byte gUnknown_0203933E
- thumb_func_end sub_8147218
-
- thumb_func_start sub_81472E4
-sub_81472E4: @ 81472E4
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _08147308 @ =0x02000000
- movs r3, 0x80
- lsls r3, 5
- movs r1, 0
- adds r2, r4, 0
- bl ReadFlash
- movs r1, 0
- ldr r2, _0814730C @ =0x000003ff
-_081472FC:
- ldr r0, [r4]
- cmp r0, 0
- beq _08147310
- movs r0, 0x1
- b _0814731E
- .align 2, 0
-_08147308: .4byte 0x02000000
-_0814730C: .4byte 0x000003ff
-_08147310:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r4, 0x4
- cmp r1, r2
- bls _081472FC
- movs r0, 0
-_0814731E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81472E4
-
- thumb_func_start sub_8147324
-sub_8147324: @ 8147324
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
- ldr r1, _08147374 @ =0x00000fff
- mov r8, r1
- ldr r7, _08147378 @ =ProgramFlashByte
-_08147336:
- movs r4, 0
- adds r5, r0, 0x1
-_0814733A:
- ldr r3, [r7]
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl _call_via_r3
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r8
- bls _0814733A
- adds r0, r6, 0
- bl sub_81472E4
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r5, 16
- lsrs r0, 16
- cmp r1, 0
- beq _08147366
- cmp r0, 0x81
- bls _08147336
-_08147366:
- adds r0, r1, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08147374: .4byte 0x00000fff
-_08147378: .4byte ProgramFlashByte
- thumb_func_end sub_8147324
-
- thumb_func_start sub_814737C
-sub_814737C: @ 814737C
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r6, 0
-_08147382:
- movs r4, 0x1
- lsls r4, r6
- adds r0, r5, 0
- ands r0, r4
- cmp r0, 0
- beq _0814739C
- adds r0, r6, 0
- bl sub_8147324
- lsls r0, 24
- cmp r0, 0
- bne _0814739C
- bics r5, r4
-_0814739C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1F
- bls _08147382
- cmp r5, 0
- beq _081473AE
- movs r0, 0x1
- b _081473B0
-_081473AE:
- movs r0, 0
-_081473B0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_814737C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_menu.s b/asm/script_menu.s
deleted file mode 100644
index bd6180940..000000000
--- a/asm/script_menu.s
+++ /dev/null
@@ -1,1237 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B5054
-sub_80B5054: @ 80B5054
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, _080B5098 @ =sub_80B52B4
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B50A4
- ldr r1, _080B509C @ =gScriptResult
- movs r0, 0xFF
- strh r0, [r1]
- ldr r1, _080B50A0 @ =gMultichoiceLists
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldr r3, [r0]
- str r5, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80B5138
- movs r0, 0x1
- b _080B50A6
- .align 2, 0
-_080B5098: .4byte sub_80B52B4
-_080B509C: .4byte gScriptResult
-_080B50A0: .4byte gMultichoiceLists
-_080B50A4:
- movs r0, 0
-_080B50A6:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5054
-
- thumb_func_start sub_80B50B0
-sub_80B50B0: @ 80B50B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B5100 @ =sub_80B52B4
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B510C
- ldr r1, _080B5104 @ =gScriptResult
- movs r0, 0xFF
- strh r0, [r1]
- ldr r1, _080B5108 @ =gMultichoiceLists
- lsls r0, r5, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldr r3, [r0]
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r0, r8
- adds r1, r7, 0
- bl sub_80B5138
- movs r0, 0x1
- b _080B510E
- .align 2, 0
-_080B5100: .4byte sub_80B52B4
-_080B5104: .4byte gScriptResult
-_080B5108: .4byte gMultichoiceLists
-_080B510C:
- movs r0, 0
-_080B510E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B50B0
-
- thumb_func_start GetStringWidthInTilesForScriptMenu
-GetStringWidthInTilesForScriptMenu: @ 80B511C
- push {lr}
- adds r1, r0, 0
- ldr r0, _080B5134 @ =gWindowConfig_81E6CE4
- bl GetStringWidthGivenWindowConfig
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0x7
- lsrs r0, r1, 3
- pop {r1}
- bx r1
- .align 2, 0
-_080B5134: .4byte gWindowConfig_81E6CE4
- thumb_func_end GetStringWidthInTilesForScriptMenu
-
- thumb_func_start sub_80B5138
-sub_80B5138: @ 80B5138
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r3
- ldr r3, [sp, 0x34]
- ldr r4, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x10]
- mov r1, r10
- ldr r0, [r1]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0x1
- cmp r4, r8
- bcs _080B5198
-_080B517A:
- lsls r0, r4, 3
- add r0, r10
- ldr r0, [r0]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r0, 16
- cmp r5, r0
- bcs _080B518E
- adds r5, r0, 0
-_080B518E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bcc _080B517A
-_080B5198:
- lsls r0, r5, 24
- lsrs r7, r0, 24
- mov r1, r9
- adds r0, r7, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x1D
- bls _080B51B8
- mov r0, r9
- adds r0, 0x1D
- subs r0, r7
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r7, 0x1D
-_080B51B8:
- mov r1, r8
- lsls r0, r1, 1
- adds r0, 0x1
- ldr r1, [sp, 0x8]
- lsls r4, r1, 24
- asrs r4, 24
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- adds r2, r7, 0
- adds r3, r4, 0
- bl MenuDrawTextWindow
- mov r6, r9
- adds r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- ldr r5, [sp, 0x8]
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r10
- bl PrintMenuItems
- ldr r0, [sp, 0x10]
- str r0, [sp]
- mov r1, r9
- subs r0, r7, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- adds r1, r6, 0
- adds r2, r5, 0
- mov r3, r8
- bl InitMenu
- ldr r0, [sp, 0xC]
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- mov r0, r9
- ldr r1, [sp, 0x8]
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_80B5230
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5138
-
- thumb_func_start sub_80B5230
-sub_80B5230: @ 80B5230
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, [sp, 0x1C]
- mov r8, r0
- ldr r0, [sp, 0x20]
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080B5298 @ =sub_80B52B4
- movs r1, 0x50
- str r3, [sp]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B529C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xA]
- strh r6, [r1, 0xC]
- ldr r3, [sp]
- strh r3, [r1, 0xE]
- mov r0, r8
- strh r0, [r1, 0x10]
- mov r0, r9
- cmp r0, 0x3
- bls _080B52A0
- movs r0, 0x1
- b _080B52A2
- .align 2, 0
-_080B5298: .4byte sub_80B52B4
-_080B529C: .4byte gTasks
-_080B52A0:
- movs r0, 0
-_080B52A2:
- strh r0, [r1, 0x12]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5230
-
- thumb_func_start sub_80B52B4
-sub_80B52B4: @ 80B52B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080B52E0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B534E
- ldr r2, _080B52E4 @ =gTasks
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- adds r5, r1, 0
- cmp r0, 0
- bne _080B52E8
- bl ProcessMenuInputNoWrap
- b _080B52EC
- .align 2, 0
-_080B52E0: .4byte gPaletteFade
-_080B52E4: .4byte gTasks
-_080B52E8:
- bl ProcessMenuInput
-_080B52EC:
- lsls r0, 24
- lsrs r0, 24
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080B534E
- adds r0, 0x1
- cmp r1, r0
- bne _080B5328
- ldr r0, _080B5320 @ =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080B534E
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080B5324 @ =gScriptResult
- movs r0, 0x7F
- strh r0, [r1]
- b _080B532C
- .align 2, 0
-_080B5320: .4byte gTasks
-_080B5324: .4byte gScriptResult
-_080B5328:
- ldr r0, _080B5354 @ =gScriptResult
- strh r1, [r0]
-_080B532C:
- bl sub_8072DEC
- ldr r0, _080B5358 @ =gTasks
- adds r3, r5, r4
- lsls r3, 3
- adds r3, r0
- ldrb r0, [r3, 0x8]
- ldrb r1, [r3, 0xA]
- ldrb r2, [r3, 0xC]
- ldrb r3, [r3, 0xE]
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B534E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5354: .4byte gScriptResult
-_080B5358: .4byte gTasks
- thumb_func_end sub_80B52B4
-
- thumb_func_start Multichoice
-Multichoice: @ 80B535C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, _080B539C @ =sub_80B52B4
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B53A8
- ldr r1, _080B53A0 @ =gScriptResult
- movs r0, 0xFF
- strh r0, [r1]
- ldr r1, _080B53A4 @ =gMultichoiceLists
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldr r3, [r0]
- str r5, [sp]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80B53B4
- movs r0, 0x1
- b _080B53AA
- .align 2, 0
-_080B539C: .4byte sub_80B52B4
-_080B53A0: .4byte gScriptResult
-_080B53A4: .4byte gMultichoiceLists
-_080B53A8:
- movs r0, 0
-_080B53AA:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end Multichoice
-
- thumb_func_start sub_80B53B4
-sub_80B53B4: @ 80B53B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r3, 0
- ldr r3, [sp, 0x28]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- ldr r0, [r7]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r4, r0, 16
- movs r5, 0x1
- cmp r5, r6
- bcs _080B5408
-_080B53EA:
- lsls r0, r5, 3
- adds r0, r7
- ldr r0, [r0]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- bcs _080B53FE
- adds r4, r0, 0
-_080B53FE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _080B53EA
-_080B5408:
- lsls r4, 24
- lsrs r4, 24
- add r4, r8
- adds r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r6, 1
- adds r0, 0x1
- mov r1, r9
- lsls r5, r1, 24
- asrs r5, 24
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r8
- adds r2, r6, 0
- adds r3, r7, 0
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- mov r1, r8
- subs r0, r4, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- mov r2, r9
- adds r3, r6, 0
- bl InitMenu
- mov r0, r10
- str r0, [sp]
- str r6, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80B5230
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B53B4
-
- thumb_func_start yes_no_box
-yes_no_box: @ 80B546C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r6, _080B54B4 @ =task_yes_no_maybe
- adds r0, r6, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B54C0
- ldr r1, _080B54B8 @ =gScriptResult
- movs r0, 0xFF
- strh r0, [r1]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl DisplayYesNoMenu
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B54BC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- strh r4, [r1, 0xA]
- movs r0, 0x1
- b _080B54C2
- .align 2, 0
-_080B54B4: .4byte task_yes_no_maybe
-_080B54B8: .4byte gScriptResult
-_080B54BC: .4byte gTasks
-_080B54C0:
- movs r0, 0
-_080B54C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end yes_no_box
-
- thumb_func_start unref_sub_80B54C8
-unref_sub_80B54C8: @ 80B54C8
- push {lr}
- ldr r0, _080B54D8 @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _080B54DC
- movs r0, 0x1
- b _080B54DE
- .align 2, 0
-_080B54D8: .4byte gScriptResult
-_080B54DC:
- movs r0, 0
-_080B54DE:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80B54C8
-
- thumb_func_start task_yes_no_maybe
-task_yes_no_maybe: @ 80B54E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080B5504 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x4
- bgt _080B5508
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080B556A
- .align 2, 0
-_080B5504: .4byte gTasks
-_080B5508:
- bl ProcessMenuInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B552C
- cmp r1, r0
- bgt _080B5524
- subs r0, 0x1
- cmp r1, r0
- beq _080B556A
- b _080B5542
-_080B5524:
- cmp r1, 0
- beq _080B553C
- cmp r1, 0x1
- bne _080B5542
-_080B552C:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080B5538 @ =gScriptResult
- movs r0, 0
- b _080B5540
- .align 2, 0
-_080B5538: .4byte gScriptResult
-_080B553C:
- ldr r1, _080B5570 @ =gScriptResult
- movs r0, 0x1
-_080B5540:
- strh r0, [r1]
-_080B5542:
- ldr r0, _080B5574 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- ldrb r1, [r1, 0xA]
- adds r2, r0, 0x6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0x5
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B556A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5570: .4byte gScriptResult
-_080B5574: .4byte gTasks
- thumb_func_end task_yes_no_maybe
-
- thumb_func_start sub_80B5578
-sub_80B5578: @ 80B5578
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r4, 24
- lsrs r5, r4, 24
- movs r7, 0
- ldr r0, _080B55B8 @ =sub_80B5684
- mov r10, r0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B55BC
- movs r0, 0
- b _080B5670
- .align 2, 0
-_080B55B8: .4byte sub_80B5684
-_080B55BC:
- ldr r1, _080B5620 @ =gScriptResult
- movs r0, 0xFF
- strh r0, [r1]
- ldr r0, _080B5624 @ =gMultichoiceLists
- lsls r4, r6, 3
- adds r0, r4, r0
- ldrb r6, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r7, [sp, 0x8]
- mov r0, r9
- mov r1, r8
- adds r2, r6, 0
- movs r3, 0
- bl sub_807274C
- mov r0, r10
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, r6, 24
- lsrs r1, r0, 24
- lsrs r0, 25
- cmp r0, r5
- bcc _080B55FE
- movs r0, 0x1
- ands r0, r6
- cmp r0, 0
- beq _080B5606
-_080B55FE:
- cmp r5, 0x1
- beq _080B5606
- cmp r1, r5
- bne _080B5628
-_080B5606:
- ldr r0, _080B5624 @ =gMultichoiceLists
- adds r0, r4, r0
- ldrb r0, [r0, 0x4]
- adds r1, r5, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x1
- mov r2, r8
- lsls r1, r2, 24
- b _080B563A
- .align 2, 0
-_080B5620: .4byte gScriptResult
-_080B5624: .4byte gMultichoiceLists
-_080B5628:
- adds r0, r6, 0
- adds r1, r5, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x3
- mov r3, r8
- lsls r1, r3, 24
-_080B563A:
- asrs r1, 24
- adds r1, r0
- lsls r1, 24
- lsrs r7, r1, 24
- adds r0, r5, 0
- bl sub_807288C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B5680 @ =gTasks
- mov r3, r10
- lsls r1, r3, 2
- add r1, r10
- lsls r1, 3
- adds r1, r2
- mov r2, r9
- strh r2, [r1, 0x8]
- mov r3, r8
- strh r3, [r1, 0xA]
- add r0, r9
- adds r0, 0x2
- strh r0, [r1, 0xC]
- strh r7, [r1, 0xE]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- strh r0, [r1, 0x10]
- movs r0, 0x1
-_080B5670:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B5680: .4byte gTasks
- thumb_func_end sub_80B5578
-
- thumb_func_start sub_80B5684
-sub_80B5684: @ 80B5684
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80727CC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080B56F4
- adds r0, 0x1
- cmp r1, r0
- bne _080B56CC
- ldr r2, _080B56C4 @ =gTasks
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- movs r2, 0x10
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0
- bne _080B56F4
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080B56C8 @ =gScriptResult
- movs r0, 0x7F
- strh r0, [r1]
- b _080B56D2
- .align 2, 0
-_080B56C4: .4byte gTasks
-_080B56C8: .4byte gScriptResult
-_080B56CC:
- ldr r0, _080B56FC @ =gScriptResult
- strh r1, [r0]
- lsls r4, r5, 2
-_080B56D2:
- bl sub_8072DEC
- ldr r0, _080B5700 @ =gTasks
- adds r3, r4, r5
- lsls r3, 3
- adds r3, r0
- ldrb r0, [r3, 0x8]
- ldrb r1, [r3, 0xA]
- ldrb r2, [r3, 0xC]
- ldrb r3, [r3, 0xE]
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B56F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B56FC: .4byte gScriptResult
-_080B5700: .4byte gTasks
- thumb_func_end sub_80B5684
-
- thumb_func_start sp109_CreatePCMenu
-sp109_CreatePCMenu: @ 80B5704
- push {lr}
- ldr r0, _080B5724 @ =sub_80B52B4
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B572C
- ldr r1, _080B5728 @ =gScriptResult
- movs r0, 0xFF
- strh r0, [r1]
- bl CreatePCMenu
- movs r0, 0x1
- b _080B572E
- .align 2, 0
-_080B5724: .4byte sub_80B52B4
-_080B5728: .4byte gScriptResult
-_080B572C:
- movs r0, 0
-_080B572E:
- pop {r1}
- bx r1
- thumb_func_end sp109_CreatePCMenu
-
- thumb_func_start CreatePCMenu
-CreatePCMenu: @ 80B5734
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r0, _080B5758 @ =gPCText_PlayersPC
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080B575C @ =gPCText_SomeonesPC
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- bls _080B5760
- lsls r0, r4, 24
- lsrs r5, r0, 24
- b _080B5762
- .align 2, 0
-_080B5758: .4byte gPCText_PlayersPC
-_080B575C: .4byte gPCText_SomeonesPC
-_080B5760:
- movs r5, 0x8
-_080B5762:
- ldr r0, _080B5798 @ =0x00000804
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B57A4
- movs r7, 0x4
- adds r4, r5, 0x2
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0
- movs r1, 0
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r0, _080B579C @ =gPCText_HallOfFame
- movs r1, 0x1
- movs r2, 0x5
- bl MenuPrint
- ldr r0, _080B57A0 @ =gPCText_LogOff
- movs r1, 0x1
- movs r2, 0x7
- bl MenuPrint
- b _080B57C0
- .align 2, 0
-_080B5798: .4byte 0x00000804
-_080B579C: .4byte gPCText_HallOfFame
-_080B57A0: .4byte gPCText_LogOff
-_080B57A4:
- movs r7, 0x3
- adds r4, r5, 0x2
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0
- movs r1, 0
- movs r3, 0x7
- bl MenuDrawTextWindow
- ldr r0, _080B57DC @ =gPCText_LogOff
- movs r1, 0x1
- movs r2, 0x5
- bl MenuPrint
-_080B57C0:
- adds r6, r4, 0
- ldr r0, _080B57E0 @ =0x0000084b
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B57E8
- ldr r0, _080B57E4 @ =gPCText_LanettesPC
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- b _080B57F2
- .align 2, 0
-_080B57DC: .4byte gPCText_LogOff
-_080B57E0: .4byte 0x0000084b
-_080B57E4: .4byte gPCText_LanettesPC
-_080B57E8:
- ldr r0, _080B5830 @ =gPCText_SomeonesPC
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
-_080B57F2:
- ldr r0, _080B5834 @ =gPCText_PlayersPC
- movs r1, 0x1
- movs r2, 0x3
- bl MenuPrint
- movs r4, 0
- str r4, [sp]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- adds r3, r7, 0
- bl InitMenu
- lsls r2, r6, 24
- lsrs r2, 24
- lsls r3, r7, 1
- adds r3, 0x1
- str r4, [sp]
- str r7, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- bl sub_80B5230
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5830: .4byte gPCText_SomeonesPC
-_080B5834: .4byte gPCText_PlayersPC
- thumb_func_end CreatePCMenu
-
- thumb_func_start sub_80B5838
-sub_80B5838: @ 80B5838
- push {lr}
- bl MenuDisplayMessageBox
- ldr r0, _080B584C @ =gUnknown_081A0A01
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r0}
- bx r0
- .align 2, 0
-_080B584C: .4byte gUnknown_081A0A01
- thumb_func_end sub_80B5838
-
- thumb_func_start task_picbox
-task_picbox: @ 80B5850
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B5874 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B58BE
- cmp r0, 0x1
- bgt _080B5878
- cmp r0, 0
- beq _080B5894
- b _080B58BE
- .align 2, 0
-_080B5874: .4byte gTasks
-_080B5878:
- cmp r0, 0x2
- beq _080B5882
- cmp r0, 0x3
- beq _080B58A0
- b _080B58BE
-_080B5882:
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B589C @ =gSprites
- adds r0, r1
- bl FreeResourcesAndDestroySprite
-_080B5894:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B58BE
- .align 2, 0
-_080B589C: .4byte gSprites
-_080B58A0:
- ldrb r2, [r4, 0xE]
- adds r0, r2, 0
- ldrb r3, [r4, 0x10]
- adds r1, r3, 0
- adds r2, 0x9
- lsls r2, 24
- lsrs r2, 24
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl DestroyTask
-_080B58BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_picbox
-
- thumb_func_start sub_80B58C4
-sub_80B58C4: @ 80B58C4
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r4, _080B595C @ =task_picbox
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080B596C
- adds r2, r6, 0
- adds r2, 0x9
- lsls r2, 24
- lsrs r2, 24
- adds r3, r5, 0
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl MenuDrawTextWindow
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B5960 @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r7, [r4, 0xA]
- lsls r1, r6, 19
- movs r0, 0xA0
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- lsls r2, r5, 19
- adds r2, r0
- asrs r2, 16
- adds r0, r7, 0
- movs r3, 0
- bl CreateMonSprite_PicBox
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- strh r6, [r4, 0xE]
- strh r5, [r4, 0x10]
- ldr r3, _080B5964 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, _080B5968 @ =SpriteCallbackDummy
- str r2, [r0]
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x1
- b _080B596E
- .align 2, 0
-_080B595C: .4byte task_picbox
-_080B5960: .4byte gTasks
-_080B5964: .4byte gSprites
-_080B5968: .4byte SpriteCallbackDummy
-_080B596C:
- movs r0, 0
-_080B596E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B58C4
-
- thumb_func_start picbox_close
-picbox_close: @ 80B5974
- push {lr}
- ldr r0, _080B5998 @ =task_picbox
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080B59A4
- ldr r0, _080B599C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r0, _080B59A0 @ =sub_80B59AC
- b _080B59A6
- .align 2, 0
-_080B5998: .4byte task_picbox
-_080B599C: .4byte gTasks
-_080B59A0: .4byte sub_80B59AC
-_080B59A4:
- movs r0, 0
-_080B59A6:
- pop {r1}
- bx r1
- thumb_func_end picbox_close
-
- thumb_func_start sub_80B59AC
-sub_80B59AC: @ 80B59AC
- push {lr}
- ldr r0, _080B59C0 @ =task_picbox
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080B59C4
- movs r0, 0
- b _080B59C6
- .align 2, 0
-_080B59C0: .4byte task_picbox
-_080B59C4:
- movs r0, 0x1
-_080B59C6:
- pop {r1}
- bx r1
- thumb_func_end sub_80B59AC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80C4BF0.s b/asm/script_pokemon_util_80C4BF0.s
index 5d99fa2b2..b60c9444a 100644
--- a/asm/script_pokemon_util_80C4BF0.s
+++ b/asm/script_pokemon_util_80C4BF0.s
@@ -1311,7 +1311,7 @@ SetBattleTowerPlayerParty: @ 80C55C8
ldrb r4, [r0]
cmp r4, 0
bne _080C55E4
- bl copy_player_party_from_sav1
+ bl LoadPlayerParty
ldr r0, _080C55E0 @ =gScriptResult
strh r4, [r0]
b _080C55EE
diff --git a/asm/smokescreen.s b/asm/smokescreen.s
new file mode 100644
index 000000000..1c5d9f2e9
--- /dev/null
+++ b/asm/smokescreen.s
@@ -0,0 +1,226 @@
+ .include "constants/gba_constants.inc"
+ .include "constants/species_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8046234
+sub_8046234: @ 8046234
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 16
+ lsrs r7, r1, 16
+ lsls r2, 24
+ lsrs r4, r2, 24
+ ldr r5, _0804636C @ =gUnknown_081FAEA4
+ ldrh r0, [r5, 0x6]
+ bl GetSpriteTileStartByTag
+ lsls r0, 16
+ ldr r1, _08046370 @ =0xffff0000
+ cmp r0, r1
+ bne _08046266
+ adds r0, r5, 0
+ bl LoadCompressedObjectPic
+ ldr r0, _08046374 @ =gUnknown_081FAEAC
+ bl LoadCompressedObjectPalette
+_08046266:
+ ldr r0, _08046378 @ =sub_8046388
+ bl object_new_hidden_with_callback
+ mov r8, r0
+ mov r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r5, r0, 4
+ add r5, r8
+ lsls r5, 2
+ ldr r0, _0804637C @ =gSprites
+ adds r5, r0
+ strh r4, [r5, 0x30]
+ ldr r0, _08046380 @ =gSpriteTemplate_81FAF0C
+ mov r9, r0
+ lsls r6, 16
+ asrs r0, r6, 16
+ mov r10, r0
+ ldr r0, _08046384 @ =0xfff00000
+ adds r6, r0
+ asrs r6, 16
+ lsls r4, r7, 16
+ asrs r7, r4, 16
+ adds r4, r0
+ asrs r4, 16
+ mov r0, r9
+ adds r1, r6, 0
+ adds r2, r4, 0
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _0804637C @ =gSprites
+ adds r1, r0
+ mov r0, r8
+ strh r0, [r1, 0x2E]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ adds r0, r1, 0
+ bl AnimateSprite
+ mov r0, r9
+ mov r1, r10
+ adds r2, r4, 0
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ ldr r0, _0804637C @ =gSprites
+ adds r4, r0
+ mov r0, r8
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl AnimateSprite
+ mov r0, r9
+ adds r1, r6, 0
+ adds r2, r7, 0
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ ldr r0, _0804637C @ =gSprites
+ adds r4, r0
+ mov r0, r8
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl AnimateSprite
+ mov r0, r9
+ mov r1, r10
+ adds r2, r7, 0
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ ldr r0, _0804637C @ =gSprites
+ adds r4, r0
+ mov r0, r8
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl AnimateSprite
+ mov r0, r8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0804636C: .4byte gUnknown_081FAEA4
+_08046370: .4byte 0xffff0000
+_08046374: .4byte gUnknown_081FAEAC
+_08046378: .4byte sub_8046388
+_0804637C: .4byte gSprites
+_08046380: .4byte gSpriteTemplate_81FAF0C
+_08046384: .4byte 0xfff00000
+ thumb_func_end sub_8046234
+
+ thumb_func_start sub_8046388
+sub_8046388: @ 8046388
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080463C0
+ ldr r0, _080463B4 @ =gUnknown_081FAEA4
+ ldrh r0, [r0, 0x6]
+ bl FreeSpriteTilesByTag
+ ldr r0, _080463B8 @ =gUnknown_081FAEAC
+ ldrh r0, [r0, 0x4]
+ bl FreeSpritePaletteByTag
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080463BC
+ adds r0, r4, 0
+ bl DestroySprite
+ b _080463C0
+ .align 2, 0
+_080463B4: .4byte gUnknown_081FAEA4
+_080463B8: .4byte gUnknown_081FAEAC
+_080463BC:
+ ldr r0, _080463C8 @ =SpriteCallbackDummy
+ str r0, [r4, 0x1C]
+_080463C0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080463C8: .4byte SpriteCallbackDummy
+ thumb_func_end sub_8046388
+
+ thumb_func_start sub_80463CC
+sub_80463CC: @ 80463CC
+ push {lr}
+ adds r3, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080463F6
+ ldr r2, _080463FC @ =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x2E]
+ subs r1, 0x1
+ strh r1, [r0, 0x2E]
+ adds r0, r3, 0
+ bl DestroySprite
+_080463F6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080463FC: .4byte gSprites
+ thumb_func_end sub_80463CC
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trade.s b/asm/trade.s
index ae857d1c3..87ee96d21 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -6137,7 +6137,7 @@ _0804AE5C:
asrs r0, 16
lsls r1, 16
asrs r1, 16
- bl sub_8046200
+ bl GetHPBarLevel
ldr r1, [r7]
adds r1, 0x69
adds r1, r6
@@ -6182,7 +6182,7 @@ _0804AEBC:
asrs r0, 16
lsls r1, 16
asrs r1, 16
- bl sub_8046200
+ bl GetHPBarLevel
ldr r1, [r7]
adds r1, 0x6F
adds r1, r6
@@ -11765,7 +11765,7 @@ _0804DF48: .4byte 0x0000043c
_0804DF4C: .4byte gUnknown_03004828
_0804DF50: .4byte gSystemText_Saving
_0804DF54:
- bl sub_8047A1C
+ bl SetSecretBase2Field_9_AndHideBG
movs r0, 0x15
bl sav12_xor_increment
bl sub_8125D80
@@ -11803,7 +11803,7 @@ _0804DF9C:
lsrs r1, r0, 24
cmp r1, 0
beq _0804DFC0
- bl sub_8047A34
+ bl ClearSecretBase2Field_9_2
ldr r0, _0804DFB8 @ =gMain
ldr r1, _0804DFBC @ =0x0000043c
adds r0, r1
diff --git a/data/berry_blender.s b/data/berry_blender.s
new file mode 100644
index 000000000..d346ab9cd
--- /dev/null
+++ b/data/berry_blender.s
@@ -0,0 +1,447 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_08215C0C:: @ 8215C0C
+ .incbin "graphics/berry_blender/center.gbapal"
+
+ .align 2
+gUnknown_08215C2C:: @ 8215C2C
+ .incbin "graphics/berry_blender/center_map.bin"
+
+ .align 2
+gUnknown_0821602C:: @ 821602C
+ .incbin "graphics/berry_blender/outer.gbapal"
+
+ .incbin "graphics/unused/unknown/821604C.gbapal"
+
+ .space 0x1C0
+
+ .string "▶$"
+ .string " $"
+ .string "カッコイ$" @ "cool" (missing an イ at the end)
+ .string "カワイイ$" @ "cute"
+ .string "ウツクシ$" @ "beautiful" (missing an イ at the end)
+ .string "カシコイ$" @ "smart"
+ .string "タクマシ$" @ "tough" (missing an イ at the end)
+
+gUnknown_08216249:: @ 8216249
+ .string "\p$"
+
+@ unreferenced
+@ These appear to be the first names of four people who worked on the game.
+ .string "てつじ$", 10 @ Tetsuji (Ohta)
+ .string "あきと$", 10 @ Akito (Mori)
+ .string "シゲル$", 10 @ Shigeru (Ohmori)
+ .string "ヨシノリ$", 10 @ Yoshinori (Matsuda)
+
+UnknownText_2Pok:
+ .string "2Pok$"
+UnknownText_3Pok:
+ .string "3Pok$"
+UnknownText_4Pok:
+ .string "4Pok$"
+
+ .align 2
+gUnknown_08216284:: @ 8216284
+ .4byte UnknownText_2Pok
+ .4byte UnknownText_3Pok
+ .4byte UnknownText_4Pok
+
+@ unreferenced
+ .string "1P$", 4
+ .string "2P$", 4
+ .string "3P$", 4
+ .string "4P$", 4
+
+UnknownText_Mister:
+ .string "MISTER$"
+UnknownText_Laddie:
+ .string "LADDIE$"
+UnknownText_Lassie:
+ .string "LASSIE$"
+
+ .align 2
+gUnknown_082162B8:: @ 82162B8
+ .4byte UnknownText_Mister
+ .4byte UnknownText_Laddie
+ .4byte UnknownText_Lassie
+
+gUnknown_082162C4:: @ 82162C4
+ .string "{COLOR RED}$"
+
+gUnknown_082162C8:: @ 82162C8
+ .string "\n$"
+
+ .string " $"
+
+gUnknown_082162CC:: @ 82162CC
+ .byte -1, -1
+ .byte 1, -1
+ .byte -1, 1
+ .byte 1, 1
+
+gUnknown_082162D4:: @ 82162D4
+ .byte 2, 6
+ .byte 23, 6
+ .byte 2, 12
+ .byte 23, 12
+ .byte 1, 6
+ .byte 22, 6
+ .byte 1, 12
+ .byte 22, 12
+
+gUnknown_082162E4:: @ 82162E4
+ .byte 72, 32
+ .byte 168, 32
+ .byte 72, 128
+ .byte 168, 128
+
+gUnknown_082162EC:: @ 82162EC
+ .byte -1, 0, 1, -1
+ .byte -1, 0, 1, 2
+ .byte 0, 1, 2, 3
+
+ .align 1
+gUnknown_082162F8:: @ 82162F8
+ .2byte 0x0000, 0xC000, 0x4000, 0x8000
+
+gUnknown_08216300:: @ 8216300
+ .byte 1
+ .byte 1
+ .byte 0
+
+gUnknown_08216303:: @ 8216303
+ .byte 32
+ .byte 224
+ .byte 96
+ .byte 160
+ .byte 0
+
+ .align 2
+gUnknown_08216308:: @ 8216308
+ .4byte sub_804F8C8
+ .4byte sub_804F9F4
+ .4byte sub_804FB1C
+
+ .align 2
+gOamData_8216314:: @ 8216314
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_821631C:: @ 821631C
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216324:: @ 8216324
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_821632C:: @ 821632C
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216334:: @ 8216334
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_821633C:: @ 821633C
+ obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216350:: @ 8216350
+ obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216364:: @ 8216364
+ obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216378:: @ 8216378
+ obj_image_anim_frame 48, 2
+ obj_image_anim_frame 32, 5
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_821638C:: @ 821638C
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216394:: @ 8216394
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_821639C:: @ 821639C
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_82163A4:: @ 82163A4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_82163AC:: @ 82163AC
+ .4byte gSpriteAnim_821631C
+ .4byte gSpriteAnim_8216324
+ .4byte gSpriteAnim_821632C
+ .4byte gSpriteAnim_8216334
+ .4byte gSpriteAnim_821633C
+ .4byte gSpriteAnim_8216350
+ .4byte gSpriteAnim_8216364
+ .4byte gSpriteAnim_8216378
+ .4byte gSpriteAnim_821638C
+ .4byte gSpriteAnim_8216394
+ .4byte gSpriteAnim_821639C
+ .4byte gSpriteAnim_82163A4
+
+ .align 2
+gUnknown_082163DC:: @ 82163DC
+ obj_tiles gBerryBlenderArrowTiles, 0x800, 46545
+
+ .align 2
+gUnknown_082163E4:: @ 82163E4
+ obj_pal gBerryBlenderMiscPalette, 46546
+
+ .align 2
+gUnknown_082163EC:: @ 82163EC
+ obj_pal gBerryBlenderArrowPalette, 12312
+
+ .align 2
+gSpriteTemplate_82163F4:: @ 82163F4
+ spr_template 46545, 12312, gOamData_8216314, gSpriteAnimTable_82163AC, NULL, gDummySpriteAffineAnimTable, sub_8051C04
+
+ .align 2
+gOamData_821640C:: @ 821640C
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_8216414:: @ 8216414
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_821641C:: @ 821641C
+ obj_image_anim_frame 4, 20, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216424:: @ 8216424
+ obj_image_anim_frame 8, 4
+ obj_image_anim_frame 12, 4
+ obj_image_anim_frame 8, 4
+ obj_image_anim_frame 12, 4
+ obj_image_anim_frame 8, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_821643C:: @ 821643C
+ obj_image_anim_frame 8, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8216444:: @ 8216444
+ .4byte gSpriteAnim_8216414
+ .4byte gSpriteAnim_821641C
+ .4byte gSpriteAnim_8216424
+ .4byte gSpriteAnim_821643C
+
+ .align 2
+gUnknown_08216454:: @ 8216454
+ obj_tiles gBerryBlenderMarubatsuTiles, 0x200, 48888
+
+ .align 2
+gSpriteTemplate_821645C:: @ 821645C
+ spr_template 48888, 46546, gOamData_821640C, gSpriteAnimTable_8216444, NULL, gDummySpriteAffineAnimTable, sub_8051650
+
+ .align 2
+gOamData_8216474:: @ 8216474
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_821647C:: @ 821647C
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 3, 5
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216494:: @ 8216494
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 2, 4
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 2, 4
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_82164AC:: @ 82164AC
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 2, 2
+ obj_image_anim_frame 4, 4
+ obj_image_anim_frame 3, 3
+ obj_image_anim_frame 2, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_82164D0:: @ 82164D0
+ obj_image_anim_frame 5, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_82164D8:: @ 82164D8
+ obj_image_anim_frame 6, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_82164E0:: @ 82164E0
+ .4byte gSpriteAnim_821647C
+ .4byte gSpriteAnim_8216494
+ .4byte gSpriteAnim_82164AC
+ .4byte gSpriteAnim_82164D0
+ .4byte gSpriteAnim_82164D8
+
+ .align 2
+gUnknown_082164F4:: @ 82164F4
+ obj_tiles gBerryBlenderParticlesTiles, 0xE0, 23456
+
+ .align 2
+gSpriteTemplate_82164FC:: @ 82164FC
+ spr_template 23456, 46546, gOamData_8216474, gSpriteAnimTable_82164E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_8216514:: @ 8216514
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_821651C:: @ 821651C
+ obj_image_anim_frame 32, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8216524:: @ 8216524
+ obj_image_anim_frame 16, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_821652C:: @ 821652C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8216534:: @ 8216534
+ .4byte gSpriteAnim_821651C
+ .4byte gSpriteAnim_8216524
+ .4byte gSpriteAnim_821652C
+
+ .align 2
+gUnknown_08216540:: @ 8216540
+ obj_tiles gBerryBlenderCountdownNumbersTiles, 0x600, 12345
+
+ .align 2
+gSpriteTemplate_8216548:: @ 8216548
+ spr_template 12345, 46546, gOamData_8216514, gSpriteAnimTable_8216534, NULL, gDummySpriteAffineAnimTable, sub_805181C
+
+ .align 2
+gOamData_8216560:: @ 8216560
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8216568:: @ 8216568
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8216570:: @ 8216570
+ .4byte gSpriteAnim_8216568
+
+ .align 2
+gUnknown_08216574:: @ 8216574
+ obj_tiles gBerryBlenderStartTiles, 0x400, 12346
+
+ .align 2
+gSpriteTemplate_821657C:: @ 821657C
+ spr_template 12346, 46546, gOamData_8216560, gSpriteAnimTable_8216570, NULL, gDummySpriteAffineAnimTable, sub_80518CC
+
+ .align 1
+gUnknown_08216594:: @ 8216594
+ .2byte -10, 20, 10, 2, 1
+ .2byte 250, 20, 10, -2, 1
+ .2byte -10, 140, 10, 2, -1
+ .2byte 250, 140, 10, -2, -1
+
+gUnknown_082165BC:: @ 82165BC
+ .byte 4, 3, 2
+ .byte 0, 4, 3
+ .byte 1, 0, 4
+ .byte 2, 1, 0
+ .byte 3, 2, 1
+ .byte 0, 2, 3
+ .byte 1, 3, 4
+ .byte 2, 4, 0
+ .byte 3, 0, 1
+ .byte 4, 1, 2
+
+gUnknown_082165DA:: @ 82165DA
+ .byte 1, 1, 2, 3, 4
+
+gUnknown_082165DF:: @ 82165DF
+ .byte 0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15
+
+gUnknown_082165E9:: @ 82165E9
+ .byte 6, 6, 6, 6, 5
+
+gUnknown_082165EE:: @ 82165EE
+ .byte 3, 3, 3, 2, 2
+
+gUnknown_082165F3:: @ 82165F3
+ .byte 3, 3, 3, 3, 2
+
+gUnknown_082165F8:: @ 82165F8
+ .string " $"
+
+gOtherText_BPMAndDash:: @ 82165FA
+ .string "BPM$"
+ .string "-$"
+
+gUnknown_08216600:: @ 8216600
+ .string "\n$"
+
+ .string "\n$"
diff --git a/data/data2.s b/data/data2.s
index 060d359de..e7c12e63b 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -2505,29292 +2505,3 @@ gUnknown_0820A904:: @ 820A904
.4byte OBJ_VRAM0 + 0x420
.4byte OBJ_VRAM0 + 0x440
.4byte OBJ_VRAM0 + 0x460
-
- .align 2
-gUnknown_0820A92C:: @ 820A92C @ graphics
- obj_tiles gInterfaceGfx_PokeBall, 384, 0xd6d8 @ poke
- obj_tiles gInterfaceGfx_GreatBall, 384, 0xd6d9 @ great
- obj_tiles gInterfaceGfx_SafariBall, 384, 0xd6da @ safari
- obj_tiles gInterfaceGfx_UltraBall, 384, 0xd6db @ ultra
- obj_tiles gInterfaceGfx_MasterBall, 384, 0xd6dc @ master
- obj_tiles gInterfaceGfx_NetBall, 384, 0xd6dd @ net
- obj_tiles gInterfaceGfx_DiveBall, 384, 0xd6de @ dive
- obj_tiles gInterfaceGfx_NestBall, 384, 0xd6df @ nest
- obj_tiles gInterfaceGfx_RepeatBall, 384, 0xd6e0 @ repeat
- obj_tiles gInterfaceGfx_TimerBall, 384, 0xd6e1 @ timer
- obj_tiles gInterfaceGfx_LuxuryBall, 384, 0xd6e2 @ luxury
- obj_tiles gInterfaceGfx_PremierBall, 384, 0xd6e3 @ premier
-
- .align 2
-gUnknown_0820A98C:: @ 820A98C
- obj_pal gInterfacePal_PokeBall, 0xD6D8 @ poke
- obj_pal gInterfacePal_GreatBall, 0xD6D9 @ great
- obj_pal gInterfacePal_SafariBall, 0xD6DA @ safari
- obj_pal gInterfacePal_UltraBall, 0xD6DB @ ultra
- obj_pal gInterfacePal_MasterBall, 0xD6DC @ master
- obj_pal gInterfacePal_NetBall, 0xD6DD @ net
- obj_pal gInterfacePal_DiveBall, 0xD6DE @ dive
- obj_pal gInterfacePal_NestBall, 0xD6DF @ nest
- obj_pal gInterfacePal_RepeatBall, 0xD6E0 @ repeat
- obj_pal gInterfacePal_TimerBall, 0xD6E1 @ timer
- obj_pal gInterfacePal_LuxuryBall, 0xD6E2 @ luxury
- obj_pal gInterfacePal_PremierBall, 0xD6E3 @ premier
-
- .align 2
-gOamData_820A9EC:: @ 820A9EC
- .2byte 0x0300
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_820A9F4: @ 820A9F4
- obj_image_anim_frame 0, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_820A9FC: @ 820A9FC
- obj_image_anim_frame 4, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_820AA04: @ 820AA04
- obj_image_anim_frame 8, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_820AA0C: @ 820AA0C
- obj_image_anim_frame 12, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_820AA14:: @ 820AA14
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820AA1C:: @ 820AA1C
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820AA28:: @ 820AA28
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_820AA34:: @ 820AA34
- .4byte gSpriteAnim_820AA14
- .4byte gSpriteAnim_820AA1C
- .4byte gSpriteAnim_820AA28
-
- @ unused?
- .4byte gSpriteAnim_820A9F4
- .4byte gSpriteAnim_820AA04
- .4byte gSpriteAnim_820A9FC
- .4byte gSpriteAnim_820AA0C
-
- .align 2
-gSpriteAffineAnim_820AA50:: @ 820AA50
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_820AA60:: @ 820AA60
- obj_rot_scal_anim_frame 0x0, 0x0, -3, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_820AA70:: @ 820AA70
- obj_rot_scal_anim_frame 0x0, 0x0, 3, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_820AA80:: @ 820AA80
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_820AA90:: @ 820AA90
- obj_rot_scal_anim_frame 0x0, 0x0, 25, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_820AAA0:: @ 820AAA0
- .4byte gSpriteAffineAnim_820AA50
- .4byte gSpriteAffineAnim_820AA60
- .4byte gSpriteAffineAnim_820AA70
- .4byte gSpriteAffineAnim_820AA80
- .4byte gSpriteAffineAnim_820AA90
-
- .align 2
-gSpriteTemplate_820AAB4:: @ 820AAB4
- spr_template 55000, 55000, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55001, 55001, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55002, 55002, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55003, 55003, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55004, 55004, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55005, 55005, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55006, 55006, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55007, 55007, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55008, 55008, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55009, 55009, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55010, 55010, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
- spr_template 55011, 55011, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
-
- .align 2
- .byte 0x90, 0x08, 0x00, 0x00
- .byte 0xC0, 0x3A, 0x00, 0x00
- .byte 0x1C, 0x00, 0x00, 0x00
- .byte 0x30, 0x05, 0x00, 0x00
- .byte 0x24, 0x00, 0x00, 0x00
- .byte 0x64, 0x00, 0x00, 0x00
- .byte 0xD8, 0x04, 0x00, 0x00
-
- .align 1
-gTradeMovesBoxTilemap:: @ 820ABF0
- .incbin "graphics/trade/moves_box_map.bin"
-
- .align 1
-gTradePartyBoxTilemap:: @ 820ADEE
- .incbin "graphics/trade/party_box_map.bin"
-
- .align 2
-gTradeStripesBG2Tilemap:: @ 820AFEC
- .incbin "graphics/trade/stripes_bg2_map.bin"
-
- .align 2
-gTradeStripesBG3Tilemap:: @ 820B7EC
- .incbin "graphics/trade/stripes_bg3_map.bin"
-
- .align 2
-gOamData_820BFEC:: @ 820BFEC
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_820BFF4:: @ 820BFF4
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820BFFC:: @ 820BFFC
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C004:: @ 820C004
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C00C:: @ 820C00C
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C014:: @ 820C014
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C01C:: @ 820C01C
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_820C024:: @ 820C024
- .4byte gSpriteAnim_820BFF4
- .4byte gSpriteAnim_820BFFC
- .4byte gSpriteAnim_820C004
- .4byte gSpriteAnim_820C00C
- .4byte gSpriteAnim_820C014
- .4byte gSpriteAnim_820C01C
-
- .align 2
-TradeScreenTextPalette: @ 820C03C
- .incbin "graphics/trade/text1.gbapal"
- .incbin "graphics/trade/text2.gbapal" @ unused?
-
- .align 2
-gUnknown_0820C07C:: @ 820C07C
- obj_tiles 0x0201d000, 256, 0x00c8
- obj_tiles 0x0201d100, 256, 0x00c9
- obj_tiles 0x0201d200, 256, 0x00ca
- obj_tiles 0x0201d300, 256, 0x00cb
- obj_tiles 0x0201d400, 256, 0x00cc
- obj_tiles 0x0201d500, 256, 0x00cd
- obj_tiles 0x0201d600, 256, 0x00ce
- obj_tiles 0x0201d700, 256, 0x00cf
- obj_tiles 0x0201d800, 256, 0x00d0
- obj_tiles 0x0201d900, 256, 0x00d1
- obj_tiles 0x0201da00, 256, 0x00d2
- obj_tiles 0x0201db00, 256, 0x00d3
- obj_tiles 0x0201dc00, 256, 0x00d4
-
- .align 2
-gSpritePalette_TradeScreenText:: @ 820C0E4
- obj_pal TradeScreenTextPalette, 4925
-
- .align 2
-gSpriteTemplate_820C0EC:: @ 820C0EC
- spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_820C104:: @ 820C104
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_820C10C:: @ 820C10C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C114:: @ 820C114
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_820C11C:: @ 820C11C
- .4byte gSpriteAnim_820C10C
- .4byte gSpriteAnim_820C114
-
- .align 2
-gUnknown_0820C124:: @ 820C124
- obj_tiles gUnknown_08EA1DEC, 0x800, 300
-
- .align 2
-gUnknown_0820C12C:: @ 820C12C
- obj_pal gUnknown_08EA0328, 2345
-
- .align 2
-gSpriteTemplate_820C134:: @ 820C134
- spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_0820C14C:: @ 820C14C
- .4byte TradeText_Cancel
- .4byte TradeText_ChoosePoke
- .4byte TradeText_Summary1
- .4byte TradeText_Trade1
- .4byte TradeText_CancelTradePrompt
- .4byte TradeText_PressBToExit
-
-@ This is used to determine the next mon to select when the D-Pad is
-@ pressed in a given direction.
-@ Note that the mons are laid out like this.
-@ 0-5 are the player's party and 6-11 are the trading partner's party.
-@ 12 is the cancel button.
-@ 0 1 6 7
-@ 2 3 8 9
-@ 4 5 10 11
-@ 12
-gTradeNextSelectedMonTable:: @ 820C164
- @ 0
- .byte 4, 2, 12, 12, 0, 0 @ up
- .byte 2, 4, 12, 12, 0, 0 @ down
- .byte 7, 6, 1, 0, 0, 0 @ left
- .byte 1, 6, 7, 0, 0, 0 @ right
- @ 1
- .byte 5, 3, 12, 12, 0, 0 @ up
- .byte 3, 5, 12, 12, 0, 0 @ down
- .byte 0, 7, 6, 1, 0, 0 @ left
- .byte 6, 7, 0, 1, 0, 0 @ right
- @ 2
- .byte 0, 0, 0, 0, 0, 0 @ up
- .byte 4, 0, 0, 0, 0, 0 @ down
- .byte 9, 8, 7, 6, 0, 0 @ left
- .byte 3, 1, 0, 0, 0, 0 @ right
- @ 3
- .byte 1, 1, 1, 1, 0, 0 @ up
- .byte 5, 1, 1, 1, 0, 0 @ down
- .byte 2, 9, 8, 7, 0, 0 @ left
- .byte 8, 9, 6, 6, 0, 0 @ right
- @ 4
- .byte 2, 2, 2, 2, 0, 0 @ up
- .byte 0, 0, 0, 0, 0, 0 @ down
- .byte 11, 10, 9, 8, 7, 6 @ left
- .byte 5, 3, 1, 0, 0, 0 @ right
- @ 5
- .byte 3, 3, 3, 3, 0, 0 @ up
- .byte 1, 1, 1, 1, 0, 0 @ down
- .byte 4, 4, 4, 4, 0, 0 @ left
- .byte 10, 8, 6, 0, 0, 0 @ right
- @ 6
- .byte 10, 8, 12, 0, 0, 0 @ up
- .byte 8, 10, 12, 0, 0, 0 @ down
- .byte 1, 0, 0, 0, 0, 0 @ left
- .byte 7, 0, 1, 0, 0, 0 @ right
- @ 7
- .byte 12, 0, 0, 0, 0, 0 @ up
- .byte 9, 12, 0, 0, 0, 0 @ down
- .byte 6, 0, 0, 0, 0, 0 @ left
- .byte 0, 0, 0, 0, 0, 0 @ right
- @ 8
- .byte 6, 0, 0, 0, 0, 0 @ up
- .byte 10, 6, 0, 0, 0, 0 @ down
- .byte 3, 2, 1, 0, 0, 0 @ left
- .byte 9, 7, 0, 0, 0, 0 @ right
- @ 9
- .byte 7, 0, 0, 0, 0, 0 @ up
- .byte 11, 12, 0, 0, 0, 0 @ down
- .byte 8, 0, 0, 0, 0, 0 @ left
- .byte 2, 1, 0, 0, 0, 0 @ right
- @ 10
- .byte 8, 0, 0, 0, 0, 0 @ up
- .byte 6, 0, 0, 0, 0, 0 @ down
- .byte 5, 4, 3, 2, 1, 0 @ left
- .byte 11, 9, 7, 0, 0, 0 @ right
- @ 11
- .byte 9, 0, 0, 0, 0, 0 @ up
- .byte 12, 0, 0, 0, 0, 0 @ down
- .byte 10, 0, 0, 0, 0, 0 @ left
- .byte 4, 2, 0, 0, 0, 0 @ right
- @ 12
- .byte 11, 9, 7, 6, 0, 0 @ up
- .byte 7, 6, 0, 0, 0, 0 @ down
- .byte 12, 0, 0, 0, 0, 0 @ left
- .byte 12, 0, 0, 0, 0, 0 @ right
-
-@ The coordinates are in units of tiles.
-@ These are used for both mon icons and the selected mon cursor,
-@ but the origins of the coordinates differ.
-gTradeMonSpriteCoords:: @ 820C29C
- @ left-side party
- .byte 1, 5
- .byte 8, 5
- .byte 1, 10
- .byte 8, 10
- .byte 1, 15
- .byte 8, 15
-
- @ right-side party
- .byte 16, 5
- .byte 23, 5
- .byte 16, 10
- .byte 23, 10
- .byte 16, 15
- .byte 23, 15
-
- @ cancel button
- .byte 23, 18
-
-gTradeLevelDisplayCoords:: @ 820C2B6
- @ left-side party
- .byte 5, 4
- .byte 12, 4
- .byte 5, 9
- .byte 12, 9
- .byte 5, 14
- .byte 12, 14
-
- @ right-side party
- .byte 20, 4
- .byte 27, 4
- .byte 20, 9
- .byte 27, 9
- .byte 20, 14
- .byte 27, 14
-
-gTradeMonBoxCoords:: @ 820C2CE
- @ left-side party
- .byte 1, 3
- .byte 8, 3
- .byte 1, 8
- .byte 8, 8
- .byte 1, 13
- .byte 8, 13
-
- @ right-side party
- .byte 16, 3
- .byte 23, 3
- .byte 16, 8
- .byte 23, 8
- .byte 16, 13
- .byte 23, 13
-
-gTradeUnknownSpriteCoords:: @ 820C2E6
- .byte 59, 10
- .byte 179, 10
- .byte 59, 10
- .byte 179, 10
-
- .align 2
-gUnknown_0820C2F0:: @ 820C2F0
- .4byte TradeText_LinkStandby
- .4byte TradeText_TradeCancelled
- .4byte TradeText_OnlyPoke
- .4byte TradeText_NonTradablePoke
- .4byte TradeText_WaitingForFriend
- .4byte TradeText_WantToTrade
-
-gTradeMessageWindowRects:: @ 820C308
- .byte 8, 7, 22, 12
- .byte 8, 7, 22, 12
- .byte 6, 7, 24, 12
- .byte 6, 7, 24, 12
- .byte 8, 7, 22, 12
- .byte 7, 7, 23, 12
-
- .align 2
-gUnknown_0820C320:: @ 820C320
- .4byte TradeText_Summary2, sub_804A9F4 @unknown
- .4byte TradeText_Trade2, sub_804AA00
-
-gUnknown_0820C330:: @ 820C330
- .byte 0, 14
- .byte 15, 29
-
-gUnknown_0820C334:: @ 820C334
- .byte 3, 5
- .byte 3, 7
- .byte 18, 5
- .byte 18, 7
-
-gOtherText_Terminator::
- .string "$"
-
-gOtherText_MaleSymbol3:: @ 820C33D
- .string "♂$"
-
-gOtherText_FemaleSymbol3:: @ 820C33F
- .string "♀$"
-
-gOtherText_GenderlessSymbol:: @ 820C341
- .string "$$"
-
- .align 2
- .4byte gTileBuffer
-
-@ Unused debug strings?
- .string "かいめの そうしん$", 13
- .string "かいめの じゅしん$", 13
- .string "ポケモンアイコンセット$", 13
- .string "OBJテキストセット$", 13
- .string "セルセット$", 13
- .string "OBJテキストADD$", 13
- .string "システムメッセージADD$", 13
- .string "はいけいセット$", 13
-
-@ Shedinja's Japanese name
-@ sub_8048D44 compares a pokemon name with this string
-gUnknown_0820C3B0:: @ 820C3B0
- .string "ヌケニン$"
-
- .string "こうかんせいりつ $" @ trade completed
- .string "だめだたらしいよ $" @ it's no good (trade failed maybe?)
-
-gUnknown_0820C3D1:: @ 820C3D1
- .byte 4, 3
- .byte 19, 3
-
- .align 2
-gTradeBallPalette:: @ 820C3D8
- .incbin "graphics/trade/ball.gbapal"
-
- .align 2
-gTradeBallTiles:: @ 820C3F8
- .incbin "graphics/trade/ball.4bpp"
-
- .align 2
-gUnknown_0820C9F8:: @ 820C9F8
- .incbin "graphics/trade/unknown.gbapal"
- .incbin "graphics/trade/gba.gbapal"
- .incbin "graphics/trade/shadow.gbapal"
- .space 32
- .incbin "graphics/trade/misc.gbapal"
-
- .align 2
-gUnknown_0820CA98:: @ 820CA98
- .incbin "graphics/trade/gba.4bpp"
- .incbin "graphics/trade/shadow.4bpp"
-
- .align 2
-gUnknown_0820DD98:: @ 820DD98
- .incbin "graphics/trade/pokeball_symbol.8bpp"
-
- .align 2
-gUnknown_0820F798:: @ 820F798
- .incbin "graphics/trade/shadow_map.bin"
-
- .align 2
-gUnknown_08210798:: @ 8210798
- .incbin "graphics/trade/gba_map.bin"
-
- .align 2
-gUnknown_08211798:: @ 8211798
- .incbin "graphics/trade/cable_closeup_map.bin"
-
- .align 2
-gUnknown_08211F98:: @ 8211F98
- .incbin "graphics/trade/pokeball_symbol_map.bin"
-
- .incbin "graphics/unused/unknown/8212098.gbapal"
-
- .align 2
-gTradeCableEndPalette:: @ 82120B8
- .incbin "graphics/trade/cable_end.gbapal"
-
- .incbin "graphics/unused/unknown/82120D8.gbapal"
-
- .space 32
-
- .align 2
-gTradeGlowPalette:: @ 8212118
- .incbin "graphics/trade/glow.gbapal"
-
- .align 2
-gTradeGlow1Tiles:: @ 8212138
- .incbin "graphics/trade/glow1.4bpp"
-
- .align 2
-gTradeGlow2Tiles:: @ 8212338
- .incbin "graphics/trade/glow2.4bpp"
-
- .align 2
-gTradeCableEndTiles:: @ 8212538
- .incbin "graphics/trade/cable_end.4bpp"
-
- .align 2
-gTradeGBAScreenTiles:: @ 8212738
- .incbin "graphics/trade/gba_screen.4bpp"
-
- .align 2
-gUnknown_08213738:: @ 8213738
- .incbin "graphics/trade/gba_affine.8bpp"
-
- .align 2
-gUnknown_08215778:: @ 8215778
- .incbin "graphics/trade/gba_affine_map.bin"
-
- .align 2
-gOamData_8215878:: @ 8215878
- .2byte 0x0100
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8215880:: @ 8215880
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 4, 3
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 12, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 20, 3
- obj_image_anim_frame 24, 3
- obj_image_anim_frame 28, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 36, 3
- obj_image_anim_frame 40, 3
- obj_image_anim_frame 44, 3
- obj_image_anim_loop 1
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82158BC:: @ 82158BC
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 4, 3
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 12, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 20, 3
- obj_image_anim_frame 24, 3
- obj_image_anim_frame 28, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 36, 3
- obj_image_anim_frame 40, 3
- obj_image_anim_frame 44, 3
- obj_image_anim_loop 2
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_82158F8:: @ 82158F8
- .4byte gSpriteAnim_8215880
- .4byte gSpriteAnim_82158BC
-
- .align 2
-gSpriteAffineAnim_8215900:: @ 8215900
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8215910:: @ 8215910
- obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8215920:: @ 8215920
- obj_rot_scal_anim_frame 0x60, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 5
- obj_rot_scal_anim_frame 0x8, 0x0, 0, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8215940:: @ 8215940
- .4byte gSpriteAffineAnim_8215900
- .4byte gSpriteAffineAnim_8215910
- .4byte gSpriteAffineAnim_8215920
-
- .align 2
-gUnknown_0821594C:: @ 821594C
- obj_tiles gTradeBallTiles, 0x600, 5557
-
- .align 2
-gUnknown_08215954:: @ 8215954
- obj_pal gTradeBallPalette, 5558
-
- .align 2
-gSpriteTemplate_821595C:: @ 821595C
- spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC
-
- .align 2
-gOamData_8215974:: @ 8215974
- .2byte 0x0500
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_821597C:: @ 821597C
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8215984:: @ 8215984
- .4byte gSpriteAnim_821597C
-
- .align 2
-gSpriteAffineAnim_8215988:: @ 8215988
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5
- obj_rot_scal_anim_frame 0xA, 0xA, 0, 5
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_82159A0:: @ 82159A0
- .4byte gSpriteAffineAnim_8215988
-
- .align 2
-gUnknown_082159A4:: @ 82159A4
- obj_tiles gTradeGlow1Tiles, 0x200, 5550
-
- .align 2
-gUnknown_082159AC:: @ 82159AC
- obj_pal gTradeGlowPalette, 5551
-
- .align 2
-gUnknown_082159B4:: @ 82159B4
- obj_pal gTradeCableEndPalette, 5555
-
- .align 2
-gSpriteTemplate_82159BC:: @ 82159BC
- spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058
-
- .align 2
-gOamData_82159D4:: @ 82159D4
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_82159DC:: @ 82159DC
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82159E4:: @ 82159E4
- obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_82159EC:: @ 82159EC
- .4byte gSpriteAnim_82159DC
- .4byte gSpriteAnim_82159E4
-
- .align 2
-gUnknown_082159F4:: @ 82159F4
- obj_tiles gTradeGlow2Tiles, 0x300, 5552
-
- .align 2
-gSpriteTemplate_82159FC:: @ 82159FC
- spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C
-
- .align 2
-gOamData_8215A14:: @ 8215A14
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8215A1C:: @ 8215A1C
- obj_image_anim_frame 0, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8215A24:: @ 8215A24
- .4byte gSpriteAnim_8215A1C
-
- .align 2
-gUnknown_08215A28:: @ 8215A28
- obj_tiles gTradeCableEndTiles, 0x100, 5554
-
- .align 2
-gSpriteTemplate_8215A30:: @ 8215A30
- spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC
-
- .align 2
-gOamData_8215A48:: @ 8215A48
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8215A50:: @ 8215A50
- obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_loop 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8215A74:: @ 8215A74
- .4byte gSpriteAnim_8215A50
-
- .align 2
-gUnknown_08215A78:: @ 8215A78
- obj_tiles gTradeGBAScreenTiles, 0x1000, 5556
-
- .align 2
-gSpriteTemplate_8215A80:: @ 8215A80
- spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104
-
- .align 1
-gTradeGlow2PaletteAnimTable:: @ 8215A98
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7FFF
- .2byte 0x7FFF
- .2byte 0x7FFF
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7FFF
- .2byte 0x7FFF
- .2byte 0x7FFF
-
- .align 2
-gSpriteAffineAnim_8215AB0:: @ 8215AB0
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_8215AC0:: @ 8215AC0
- .4byte gSpriteAffineAnim_8215AB0
-
-@ 8215AC4
- .include "data/ingame_trades.inc"
-
-gTradeBallVerticalVelocityTable:: @ 8215BA0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 3
- .byte 3
- .byte 3
- .byte 3
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte -4
- .byte -4
- .byte -4
- .byte -3
- .byte -3
- .byte -3
- .byte -3
- .byte -2
- .byte -2
- .byte -2
- .byte -2
- .byte -1
- .byte -1
- .byte -1
- .byte -1
- .byte 0
- .byte -1
- .byte 0
- .byte -1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 3
- .byte 3
- .byte 3
- .byte 3
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte -4
- .byte -3
- .byte -3
- .byte -2
- .byte -2
- .byte -1
- .byte -1
- .byte -1
- .byte 0
- .byte -1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 2
- .byte 2
- .byte 3
- .byte 3
- .byte 4
- .byte -4
- .byte -3
- .byte -2
- .byte -1
- .byte -1
- .byte -1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 2
- .byte 3
-
- .align 2
-gUnknown_08215C0C:: @ 8215C0C
- .incbin "graphics/berry_blender/center.gbapal"
-
- .align 2
-gUnknown_08215C2C:: @ 8215C2C
- .incbin "graphics/berry_blender/center_map.bin"
-
- .align 2
-gUnknown_0821602C:: @ 821602C
- .incbin "graphics/berry_blender/outer.gbapal"
-
- .incbin "graphics/unused/unknown/821604C.gbapal"
-
- .space 0x1C0
-
- .string "▶$"
- .string " $"
- .string "カッコイ$" @ "cool" (missing an イ at the end)
- .string "カワイイ$" @ "cute"
- .string "ウツクシ$" @ "beautiful" (missing an イ at the end)
- .string "カシコイ$" @ "smart"
- .string "タクマシ$" @ "tough" (missing an イ at the end)
-
-gUnknown_08216249:: @ 8216249
- .string "\p$"
-
-@ unreferenced
-@ These appear to be the first names of four people who worked on the game.
- .string "てつじ$", 10 @ Tetsuji (Ohta)
- .string "あきと$", 10 @ Akito (Mori)
- .string "シゲル$", 10 @ Shigeru (Ohmori)
- .string "ヨシノリ$", 10 @ Yoshinori (Matsuda)
-
-UnknownText_2Pok:
- .string "2Pok$"
-UnknownText_3Pok:
- .string "3Pok$"
-UnknownText_4Pok:
- .string "4Pok$"
-
- .align 2
-gUnknown_08216284:: @ 8216284
- .4byte UnknownText_2Pok
- .4byte UnknownText_3Pok
- .4byte UnknownText_4Pok
-
-@ unreferenced
- .string "1P$", 4
- .string "2P$", 4
- .string "3P$", 4
- .string "4P$", 4
-
-UnknownText_Mister:
- .string "MISTER$"
-UnknownText_Laddie:
- .string "LADDIE$"
-UnknownText_Lassie:
- .string "LASSIE$"
-
- .align 2
-gUnknown_082162B8:: @ 82162B8
- .4byte UnknownText_Mister
- .4byte UnknownText_Laddie
- .4byte UnknownText_Lassie
-
-gUnknown_082162C4:: @ 82162C4
- .string "{COLOR RED}$"
-
-gUnknown_082162C8:: @ 82162C8
- .string "\n$"
-
- .string " $"
-
-gUnknown_082162CC:: @ 82162CC
- .byte -1, -1
- .byte 1, -1
- .byte -1, 1
- .byte 1, 1
-
-gUnknown_082162D4:: @ 82162D4
- .byte 2, 6
- .byte 23, 6
- .byte 2, 12
- .byte 23, 12
- .byte 1, 6
- .byte 22, 6
- .byte 1, 12
- .byte 22, 12
-
-gUnknown_082162E4:: @ 82162E4
- .byte 72, 32
- .byte 168, 32
- .byte 72, 128
- .byte 168, 128
-
-gUnknown_082162EC:: @ 82162EC
- .byte -1, 0, 1, -1
- .byte -1, 0, 1, 2
- .byte 0, 1, 2, 3
-
- .align 1
-gUnknown_082162F8:: @ 82162F8
- .2byte 0x0000, 0xC000, 0x4000, 0x8000
-
-gUnknown_08216300:: @ 8216300
- .byte 1
- .byte 1
- .byte 0
-
-gUnknown_08216303:: @ 8216303
- .byte 32
- .byte 224
- .byte 96
- .byte 160
- .byte 0
-
- .align 2
-gUnknown_08216308:: @ 8216308
- .4byte sub_804F8C8
- .4byte sub_804F9F4
- .4byte sub_804FB1C
-
- .align 2
-gOamData_8216314:: @ 8216314
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_821631C:: @ 821631C
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216324:: @ 8216324
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_821632C:: @ 821632C
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216334:: @ 8216334
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_821633C:: @ 821633C
- obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216350:: @ 8216350
- obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216364:: @ 8216364
- obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216378:: @ 8216378
- obj_image_anim_frame 48, 2
- obj_image_anim_frame 32, 5
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_821638C:: @ 821638C
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216394:: @ 8216394
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_821639C:: @ 821639C
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82163A4:: @ 82163A4
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_82163AC:: @ 82163AC
- .4byte gSpriteAnim_821631C
- .4byte gSpriteAnim_8216324
- .4byte gSpriteAnim_821632C
- .4byte gSpriteAnim_8216334
- .4byte gSpriteAnim_821633C
- .4byte gSpriteAnim_8216350
- .4byte gSpriteAnim_8216364
- .4byte gSpriteAnim_8216378
- .4byte gSpriteAnim_821638C
- .4byte gSpriteAnim_8216394
- .4byte gSpriteAnim_821639C
- .4byte gSpriteAnim_82163A4
-
- .align 2
-gUnknown_082163DC:: @ 82163DC
- obj_tiles gBerryBlenderArrowTiles, 0x800, 46545
-
- .align 2
-gUnknown_082163E4:: @ 82163E4
- obj_pal gBerryBlenderMiscPalette, 46546
-
- .align 2
-gUnknown_082163EC:: @ 82163EC
- obj_pal gBerryBlenderArrowPalette, 12312
-
- .align 2
-gSpriteTemplate_82163F4:: @ 82163F4
- spr_template 46545, 12312, gOamData_8216314, gSpriteAnimTable_82163AC, NULL, gDummySpriteAffineAnimTable, sub_8051C04
-
- .align 2
-gOamData_821640C:: @ 821640C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8216414:: @ 8216414
- obj_image_anim_frame 0, 20
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_821641C:: @ 821641C
- obj_image_anim_frame 4, 20, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216424:: @ 8216424
- obj_image_anim_frame 8, 4
- obj_image_anim_frame 12, 4
- obj_image_anim_frame 8, 4
- obj_image_anim_frame 12, 4
- obj_image_anim_frame 8, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_821643C:: @ 821643C
- obj_image_anim_frame 8, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8216444:: @ 8216444
- .4byte gSpriteAnim_8216414
- .4byte gSpriteAnim_821641C
- .4byte gSpriteAnim_8216424
- .4byte gSpriteAnim_821643C
-
- .align 2
-gUnknown_08216454:: @ 8216454
- obj_tiles gBerryBlenderMarubatsuTiles, 0x200, 48888
-
- .align 2
-gSpriteTemplate_821645C:: @ 821645C
- spr_template 48888, 46546, gOamData_821640C, gSpriteAnimTable_8216444, NULL, gDummySpriteAffineAnimTable, sub_8051650
-
- .align 2
-gOamData_8216474:: @ 8216474
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_821647C:: @ 821647C
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 3, 5
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216494:: @ 8216494
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82164AC:: @ 82164AC
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 1, 2
- obj_image_anim_frame 2, 2
- obj_image_anim_frame 4, 4
- obj_image_anim_frame 3, 3
- obj_image_anim_frame 2, 2
- obj_image_anim_frame 1, 2
- obj_image_anim_frame 0, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82164D0:: @ 82164D0
- obj_image_anim_frame 5, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82164D8:: @ 82164D8
- obj_image_anim_frame 6, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_82164E0:: @ 82164E0
- .4byte gSpriteAnim_821647C
- .4byte gSpriteAnim_8216494
- .4byte gSpriteAnim_82164AC
- .4byte gSpriteAnim_82164D0
- .4byte gSpriteAnim_82164D8
-
- .align 2
-gUnknown_082164F4:: @ 82164F4
- obj_tiles gBerryBlenderParticlesTiles, 0xE0, 23456
-
- .align 2
-gSpriteTemplate_82164FC:: @ 82164FC
- spr_template 23456, 46546, gOamData_8216474, gSpriteAnimTable_82164E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_8216514:: @ 8216514
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_821651C:: @ 821651C
- obj_image_anim_frame 32, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8216524:: @ 8216524
- obj_image_anim_frame 16, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_821652C:: @ 821652C
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8216534:: @ 8216534
- .4byte gSpriteAnim_821651C
- .4byte gSpriteAnim_8216524
- .4byte gSpriteAnim_821652C
-
- .align 2
-gUnknown_08216540:: @ 8216540
- obj_tiles gBerryBlenderCountdownNumbersTiles, 0x600, 12345
-
- .align 2
-gSpriteTemplate_8216548:: @ 8216548
- spr_template 12345, 46546, gOamData_8216514, gSpriteAnimTable_8216534, NULL, gDummySpriteAffineAnimTable, sub_805181C
-
- .align 2
-gOamData_8216560:: @ 8216560
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8216568:: @ 8216568
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8216570:: @ 8216570
- .4byte gSpriteAnim_8216568
-
- .align 2
-gUnknown_08216574:: @ 8216574
- obj_tiles gBerryBlenderStartTiles, 0x400, 12346
-
- .align 2
-gSpriteTemplate_821657C:: @ 821657C
- spr_template 12346, 46546, gOamData_8216560, gSpriteAnimTable_8216570, NULL, gDummySpriteAffineAnimTable, sub_80518CC
-
- .align 1
-gUnknown_08216594:: @ 8216594
- .2byte -10, 20, 10, 2, 1
- .2byte 250, 20, 10, -2, 1
- .2byte -10, 140, 10, 2, -1
- .2byte 250, 140, 10, -2, -1
-
-gUnknown_082165BC:: @ 82165BC
- .byte 4, 3, 2
- .byte 0, 4, 3
- .byte 1, 0, 4
- .byte 2, 1, 0
- .byte 3, 2, 1
- .byte 0, 2, 3
- .byte 1, 3, 4
- .byte 2, 4, 0
- .byte 3, 0, 1
- .byte 4, 1, 2
-
-gUnknown_082165DA:: @ 82165DA
- .byte 1, 1, 2, 3, 4
-
-gUnknown_082165DF:: @ 82165DF
- .byte 0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15
-
-gUnknown_082165E9:: @ 82165E9
- .byte 6, 6, 6, 6, 5
-
-gUnknown_082165EE:: @ 82165EE
- .byte 3, 3, 3, 2, 2
-
-gUnknown_082165F3:: @ 82165F3
- .byte 3, 3, 3, 3, 2
-
-gUnknown_082165F8:: @ 82165F8
- .string " $"
-
-gOtherText_BPMAndDash:: @ 82165FA
- .string "BPM$"
- .string "-$"
-
-gUnknown_08216600:: @ 8216600
- .string "\n$"
-
- .string "\n$"
-
-@ used to initialize part of save block 1 when starting a new game
- .align 2
-gUnknown_08216604:: @ 8216604
- .space 11
- .byte 0xFF
- .space 10
- .byte 0xFF
- .space 9
-
- .align 2
-gDummyWarpData:: @ 8216624
- .byte -1
- .byte -1
- .byte -1
- .space 1
- .2byte -1
- .2byte -1
-
-@ unused, unknown data
- .byte 0xB0, 0x04, 0x00, 0x00
- .byte 0x10, 0x0E, 0x00, 0x00
- .byte 0xB0, 0x04, 0x00, 0x00
- .byte 0x60, 0x09, 0x00, 0x00
- .byte 0x32, 0x00, 0x00, 0x00
- .byte 0x50, 0x00, 0x00, 0x00
- .byte 0xD4, 0xFF, 0xFF, 0xFF
- .byte 0x2C, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_0821664C:: @ 821664C
- .4byte 0, 0
- .4byte 0, 1
- .4byte 0, -1
- .4byte -1, 0
- .4byte 1, 0
- .4byte -1, 1
- .4byte 1, 1
- .4byte -1, -1
- .4byte 1, -1
-
- .align 2
-gUnknown_08216694:: @ 8216694
- .4byte REG_WIN0H
- .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
- .4byte 1
-
- .align 2
-gUnknown_082166A0:: @ 82166A0
- .4byte sub_8055C68
- .4byte sub_8055C88
- .4byte sub_8055C8C
-
- .align 2
-gUnknown_082166AC:: @ 82166AC
- .4byte sub_8055CAC
- .4byte sub_8055CB0
- .4byte sub_8055CB0
- .4byte sub_8055CB0
- .4byte sub_8055CB0
- .4byte sub_8055CAC
- .4byte sub_8055CAC
- .4byte sub_8055D18
- .4byte sub_8055D18
- .4byte sub_8055D18
- .4byte sub_8055D18
-
- .align 2
-gUnknown_082166D8:: @ 82166D8
- .4byte sub_8055D30
- .4byte sub_8055D38
-
-@ 82166E0
- .include "data/tilesets/graphics.inc"
-
-@ 8259C1C
- .include "data/tilesets/metatiles.inc"
-
-@ 8286CF4
- .include "data/tilesets/headers.inc"
-
- .include "data/maps/_assets.inc"
- .include "data/maps/attributes_table.inc"
- .include "data/maps/headers.inc"
- .include "data/maps/_groups.inc"
- .include "data/maps/connections.inc"
-
- .align 2
-gUnknown_08308E28:: @ 8308E28
- .4byte 0
-
-gUnknown_08308E2C:: @ 8308E2C
- .byte 0b100
- .byte 0b000
- .byte 0b101
- .byte 0b101
- .byte 0b000
- .byte 0b001
- .byte 0b101
- .byte 0b100
- .byte 0b101
- .byte 0b100
- .byte 0b100
- .byte 0b101
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b111
- .byte 0b111
- .byte 0b111
- .byte 0b110
- .byte 0b110
- .byte 0b111
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b110
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b111
- .byte 0b100
- .byte 0b101
- .byte 0b101
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b111
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b110
- .byte 0b110
- .byte 0b110
- .byte 0b110
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b110
- .byte 0b110
- .byte 0b100
- .byte 0b110
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b100
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
- .byte 0b000
-
- .align 2
-DoorAnimTiles_04: @ 8308F1C
- .incbin "graphics/door_anims/04/0.4bpp"
- .incbin "graphics/door_anims/04/1.4bpp"
- .incbin "graphics/door_anims/04/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_05: @ 830923C
- .incbin "graphics/door_anims/05/0.4bpp"
- .incbin "graphics/door_anims/05/1.4bpp"
- .incbin "graphics/door_anims/05/2.4bpp"
-
- .align 2
-DoorAnimTiles_08: @ 830953C
- .incbin "graphics/door_anims/08/0.4bpp"
- .incbin "graphics/door_anims/08/1.4bpp"
- .incbin "graphics/door_anims/08/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_15: @ 830985C
- .incbin "graphics/door_anims/15/0.4bpp"
- .incbin "graphics/door_anims/15/1.4bpp"
- .incbin "graphics/door_anims/15/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_16: @ 8309B7C
- .incbin "graphics/door_anims/16/0.4bpp"
- .incbin "graphics/door_anims/16/1.4bpp"
- .incbin "graphics/door_anims/16/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_00: @ 8309E9C
- .incbin "graphics/door_anims/00/0.4bpp"
- .incbin "graphics/door_anims/00/1.4bpp"
- .incbin "graphics/door_anims/00/2.4bpp"
-
- .align 2
-DoorAnimTiles_01: @ 830A19C
- .incbin "graphics/door_anims/01/0.4bpp"
- .incbin "graphics/door_anims/01/1.4bpp"
- .incbin "graphics/door_anims/01/2.4bpp"
-
- .align 2
-DoorAnimTiles_02: @ 830A49C
- .incbin "graphics/door_anims/02/0.4bpp"
- .incbin "graphics/door_anims/02/1.4bpp"
- .incbin "graphics/door_anims/02/2.4bpp"
-
- .align 2
-DoorAnimTiles_03: @ 830A79C
- .incbin "graphics/door_anims/03/0.4bpp"
- .incbin "graphics/door_anims/03/1.4bpp"
- .incbin "graphics/door_anims/03/2.4bpp"
-
- .align 2
-DoorAnimTiles_06: @ 830AA9C
- .incbin "graphics/door_anims/06/0.4bpp"
- .incbin "graphics/door_anims/06/1.4bpp"
- .incbin "graphics/door_anims/06/2.4bpp"
-
- .align 2
-DoorAnimTiles_07: @ 830AD9C
- .incbin "graphics/door_anims/07/0.4bpp"
- .incbin "graphics/door_anims/07/1.4bpp"
- .incbin "graphics/door_anims/07/2.4bpp"
-
- .align 2
-DoorAnimTiles_09: @ 830B09C
- .incbin "graphics/door_anims/09/0.4bpp"
- .incbin "graphics/door_anims/09/1.4bpp"
- .incbin "graphics/door_anims/09/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_10: @ 830B3BC
- .incbin "graphics/door_anims/10/0.4bpp"
- .incbin "graphics/door_anims/10/1.4bpp"
- .incbin "graphics/door_anims/10/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_11: @ 830B6DC
- .incbin "graphics/door_anims/11/0.4bpp"
- .incbin "graphics/door_anims/11/1.4bpp"
- .incbin "graphics/door_anims/11/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_12: @ 830B9FC
- .incbin "graphics/door_anims/12/0.4bpp"
- .incbin "graphics/door_anims/12/1.4bpp"
- .incbin "graphics/door_anims/12/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_13: @ 830BD1C
- .incbin "graphics/door_anims/13/0.4bpp"
- .incbin "graphics/door_anims/13/1.4bpp"
- .incbin "graphics/door_anims/13/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_14: @ 830C03C
- .incbin "graphics/door_anims/14/0.4bpp"
- .incbin "graphics/door_anims/14/1.4bpp"
- .incbin "graphics/door_anims/14/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_17: @ 830C35C
- .incbin "graphics/door_anims/17/0.4bpp"
- .incbin "graphics/door_anims/17/1.4bpp"
- .incbin "graphics/door_anims/17/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_18: @ 830C67C
- .incbin "graphics/door_anims/18/0.4bpp"
- .incbin "graphics/door_anims/18/1.4bpp"
- .incbin "graphics/door_anims/18/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_19: @ 830C99C
- .incbin "graphics/door_anims/19/0.4bpp"
- .incbin "graphics/door_anims/19/1.4bpp"
- .incbin "graphics/door_anims/19/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_20: @ 830CCBC
- .incbin "graphics/door_anims/20/0.4bpp"
- .incbin "graphics/door_anims/20/1.4bpp"
- .incbin "graphics/door_anims/20/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_21: @ 830CFDC
- .incbin "graphics/door_anims/21/0.4bpp"
- .incbin "graphics/door_anims/21/1.4bpp"
- .incbin "graphics/door_anims/21/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_22: @ 830D2FC
- .incbin "graphics/door_anims/22/0.4bpp"
- .incbin "graphics/door_anims/22/1.4bpp"
- .incbin "graphics/door_anims/22/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_23: @ 830D61C
- .incbin "graphics/door_anims/23/0.4bpp"
- .incbin "graphics/door_anims/23/1.4bpp"
- .incbin "graphics/door_anims/23/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_24: @ 830D93C
- .incbin "graphics/door_anims/24/0.4bpp"
- .incbin "graphics/door_anims/24/1.4bpp"
- .incbin "graphics/door_anims/24/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_25: @ 830DC5C
- .incbin "graphics/door_anims/25/0.4bpp"
- .incbin "graphics/door_anims/25/1.4bpp"
- .incbin "graphics/door_anims/25/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_26: @ 830DF7C
- .incbin "graphics/door_anims/26/0.4bpp"
- .incbin "graphics/door_anims/26/1.4bpp"
- .incbin "graphics/door_anims/26/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_27: @ 830E29C
- .incbin "graphics/door_anims/27/0.4bpp"
- .incbin "graphics/door_anims/27/1.4bpp"
- .incbin "graphics/door_anims/27/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_28: @ 830E5BC
- .incbin "graphics/door_anims/28/0.4bpp"
- .incbin "graphics/door_anims/28/1.4bpp"
- .incbin "graphics/door_anims/28/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_29: @ 830E8DC
- .incbin "graphics/door_anims/29/0.4bpp"
- .incbin "graphics/door_anims/29/1.4bpp"
- .incbin "graphics/door_anims/29/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_30: @ 830EBFC
- .incbin "graphics/door_anims/30/0.4bpp"
- .incbin "graphics/door_anims/30/1.4bpp"
- .incbin "graphics/door_anims/30/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_31: @ 830EF1C
- .incbin "graphics/door_anims/31/0.4bpp"
- .incbin "graphics/door_anims/31/1.4bpp"
- .incbin "graphics/door_anims/31/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_32: @ 830F23C
- .incbin "graphics/door_anims/32/0.4bpp"
- .incbin "graphics/door_anims/32/1.4bpp"
- .incbin "graphics/door_anims/32/2.4bpp"
-
- .space 32
-
- .align 2
-DoorAnimTiles_33: @ 830F55C
- .incbin "graphics/door_anims/33/0.4bpp"
- .incbin "graphics/door_anims/33/1.4bpp"
- .incbin "graphics/door_anims/33/2.4bpp"
-
- .space 32
-
-gDoorOpenAnimFrames:: @ 830F87C
- door_anim_frame 4, -1
- door_anim_frame 4, 0
- door_anim_frame 4, 0x100
- door_anim_frame 4, 0x200
- door_anim_frame 0, 0
-
-gDoorCloseAnimFrames:: @ 830F890
- door_anim_frame 4, 0x200
- door_anim_frame 4, 0x100
- door_anim_frame 4, 0
- door_anim_frame 4, -1
- door_anim_frame 0, 0
-
-DoorAnimPalettes_830F8A4:
- .byte 1, 1, 1, 1, 1, 1, 1, 1
-
-DoorAnimPalettes_830F8AC:
- .byte 1, 1, 1, 1, 1, 1, 1, 1
-
-DoorAnimPalettes_830F8B4:
- .byte 5, 5, 5, 5, 5, 5, 5, 5
-
-DoorAnimPalettes_830F8BC:
- .byte 0, 0, 1, 1, 1, 1, 1, 1
-
-DoorAnimPalettes_830F8C4:
- .byte 6, 6, 6, 6, 6, 6, 6, 6
-
-DoorAnimPalettes_830F8CC:
- .byte 8, 8, 8, 8, 8, 8, 8, 8
-
-DoorAnimPalettes_830F8D4:
- .byte 11, 11, 11, 11, 11, 11, 11, 11
-
-DoorAnimPalettes_830F8DC:
- .byte 10, 10, 10, 10, 10, 10, 10, 10
-
-DoorAnimPalettes_830F8E4:
- .byte 7, 7, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F8EC:
- .byte 8, 8, 8, 8, 8, 8, 8, 8
-
-DoorAnimPalettes_830F8F4:
- .byte 9, 9, 9, 9, 9, 9, 9, 9
-
-DoorAnimPalettes_830F8FC:
- .byte 9, 9, 1, 1, 1, 1, 1, 1
-
-DoorAnimPalettes_830F904:
- .byte 8, 8, 8, 8, 8, 8, 8, 8
-
-DoorAnimPalettes_830F90C:
- .byte 9, 9, 9, 9, 9, 9, 9, 9
-
-DoorAnimPalettes_830F914:
- .byte 6, 6, 6, 6, 6, 6, 6, 6
-
-DoorAnimPalettes_830F91C:
- .byte 6, 6, 6, 6, 6, 6, 6, 6
-
-DoorAnimPalettes_830F924:
- .byte 0, 0, 5, 5, 5, 5, 5, 5
-
-DoorAnimPalettes_830F92C:
- .byte 6, 6, 1, 1, 1, 1, 1, 1
-
-DoorAnimPalettes_830F934:
- .byte 7, 7, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F93C:
- .byte 6, 6, 5, 5, 5, 5, 5, 5
-
-DoorAnimPalettes_830F944:
- .byte 5, 5, 5, 5, 5, 5, 5, 5
-
-DoorAnimPalettes_830F94C:
- .byte 1, 1, 1, 1, 1, 1, 1, 1
-
-DoorAnimPalettes_830F954:
- .byte 6, 6, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F95C:
- .byte 7, 7, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F964:
- .byte 5, 5, 5, 5, 5, 5, 5, 5
-
-DoorAnimPalettes_830F96C:
- .byte 9, 9, 9, 9, 9, 9, 9, 9
-
-DoorAnimPalettes_830F974:
- .byte 8, 8, 8, 8, 8, 8, 8, 8
-
-DoorAnimPalettes_830F97C:
- .byte 6, 6, 6, 6, 6, 6, 6, 6
-
-DoorAnimPalettes_830F984:
- .byte 7, 7, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F98C:
- .byte 11, 11, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F994:
- .byte 7, 7, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F99C:
- .byte 6, 6, 7, 7, 7, 7, 7, 7
-
-DoorAnimPalettes_830F9A4:
- .byte 9, 9, 9, 9, 9, 9, 9, 9
-
-DoorAnimPalettes_830F9AC:
- .byte 7, 7, 7, 7, 7, 7, 7, 7
-
- .align 2
-gDoorAnimGraphicsTable:: @ 830F9B4
- door_anim_gfx 0x021, 0, DoorAnimTiles_00, DoorAnimPalettes_830F8A4
- door_anim_gfx 0x061, 1, DoorAnimTiles_01, DoorAnimPalettes_830F8AC
- door_anim_gfx 0x1CD, 1, DoorAnimTiles_02, DoorAnimPalettes_830F8B4
- door_anim_gfx 0x041, 1, DoorAnimTiles_03, DoorAnimPalettes_830F8BC
- door_anim_gfx 0x248, 0, DoorAnimTiles_04, DoorAnimPalettes_830F8C4
- door_anim_gfx 0x249, 0, DoorAnimTiles_05, DoorAnimPalettes_830F8CC
- door_anim_gfx 0x22F, 0, DoorAnimTiles_06, DoorAnimPalettes_830F8D4
- door_anim_gfx 0x21F, 0, DoorAnimTiles_07, DoorAnimPalettes_830F8DC
- door_anim_gfx 0x2A5, 0, DoorAnimTiles_08, DoorAnimPalettes_830F8E4
- door_anim_gfx 0x287, 0, DoorAnimTiles_09, DoorAnimPalettes_830F8F4
- door_anim_gfx 0x2AC, 0, DoorAnimTiles_10, DoorAnimPalettes_830F934
- door_anim_gfx 0x3A1, 0, DoorAnimTiles_11, DoorAnimPalettes_830F93C
- door_anim_gfx 0x2DC, 0, DoorAnimTiles_12, DoorAnimPalettes_830F92C
- door_anim_gfx 0x225, 0, DoorAnimTiles_13, DoorAnimPalettes_830F924
- door_anim_gfx 0x1DB, 1, DoorAnimTiles_14, DoorAnimPalettes_830F94C
- door_anim_gfx 0x246, 0, DoorAnimTiles_15, DoorAnimPalettes_830F8EC
- door_anim_gfx 0x28E, 0, DoorAnimTiles_16, DoorAnimPalettes_830F944
- door_anim_gfx 0x2A1, 0, DoorAnimTiles_17, DoorAnimPalettes_830F8FC
- door_anim_gfx 0x21C, 0, DoorAnimTiles_18, DoorAnimPalettes_830F914
- door_anim_gfx 0x21E, 0, DoorAnimTiles_19, DoorAnimPalettes_830F91C
- door_anim_gfx 0x21D, 1, DoorAnimTiles_20, DoorAnimPalettes_830F904
- door_anim_gfx 0x21A, 0, DoorAnimTiles_21, DoorAnimPalettes_830F90C
- door_anim_gfx 0x224, 0, DoorAnimTiles_22, DoorAnimPalettes_830F954
- door_anim_gfx 0x289, 0, DoorAnimTiles_23, DoorAnimPalettes_830F95C
- door_anim_gfx 0x30C, 1, DoorAnimTiles_24, DoorAnimPalettes_830F964
- door_anim_gfx 0x32D, 1, DoorAnimTiles_25, DoorAnimPalettes_830F96C
- door_anim_gfx 0x2ED, 1, DoorAnimTiles_26, DoorAnimPalettes_830F974
- door_anim_gfx 0x264, 1, DoorAnimTiles_27, DoorAnimPalettes_830F97C
- door_anim_gfx 0x22B, 0, DoorAnimTiles_28, DoorAnimPalettes_830F984
- door_anim_gfx 0x2F7, 0, DoorAnimTiles_29, DoorAnimPalettes_830F98C
- door_anim_gfx 0x297, 0, DoorAnimTiles_30, DoorAnimPalettes_830F994
- door_anim_gfx 0x285, 1, DoorAnimTiles_31, DoorAnimPalettes_830F99C
- door_anim_gfx 0x25D, 1, DoorAnimTiles_32, DoorAnimPalettes_830F9A4
- door_anim_gfx 0x20E, 1, DoorAnimTiles_33, DoorAnimPalettes_830F9AC
- door_anim_gfx 0, 0, 0, 0
-
- .align 2
-gUnknown_0830FB58:: @ 830FB58
- .4byte MetatileBehavior_IsTrickHouseSlipperyFloor
- .4byte MetatileBehavior_IsIce_2
- .4byte MetatileBehavior_IsWalkSouth
- .4byte MetatileBehavior_IsWalkNorth
- .4byte MetatileBehavior_IsWalkWest
- .4byte MetatileBehavior_IsWalkEast
- .4byte MetatileBehavior_IsSouthwardCurrent
- .4byte MetatileBehavior_IsNorthwardCurrent
- .4byte MetatileBehavior_IsWestwardCurrent
- .4byte MetatileBehavior_IsEastwardCurrent
- .4byte MetatileBehavior_IsSlideSouth
- .4byte MetatileBehavior_IsSlideNorth
- .4byte MetatileBehavior_IsSlideWest
- .4byte MetatileBehavior_IsSlideEast
- .4byte MetatileBehavior_IsWaterfall
- .4byte MetatileBehavior_0xBB
- .4byte MetatileBehavior_0xBC
- .4byte MetatileBehavior_IsMuddySlope
-
- .align 2
-gUnknown_0830FBA0:: @ 830FBA0
- .4byte ForcedMovement_None
- .4byte ForcedMovement_Slip
- .4byte ForcedMovement_Slip
- .4byte sub_8058AAC
- .4byte sub_8058AC4
- .4byte sub_8058ADC
- .4byte sub_8058AF4
- .4byte sub_8058B0C
- .4byte sub_8058B24
- .4byte sub_8058B3C
- .4byte sub_8058B54
- .4byte ForcedMovement_SlideSouth
- .4byte ForcedMovement_SlideNorth
- .4byte ForcedMovement_SlideWest
- .4byte ForcedMovement_SlideEast
- .4byte sub_8058B0C
- .4byte sub_8058C04
- .4byte sub_8058C10
- .4byte ForcedMovement_MuddySlope
-
- .align 2
-gUnknown_0830FBEC:: @ 830FBEC
- .4byte PlayerNotOnBikeNotMoving
- .4byte PlayerNotOnBikeTurningInPlace
- .4byte sub_8058D0C
-
- .align 2
-gUnknown_0830FBF8:: @ 830FBF8
- .4byte MetatileBehavior_IsBumpySlope
- .4byte MetatileBehavior_IsIsolatedVerticalRail
- .4byte MetatileBehavior_IsIsolatedHorizontalRail
- .4byte MetatileBehavior_IsVerticalRail
- .4byte MetatileBehavior_IsHorizontalRail
-
-gUnknown_0830FC0C:: @ 830FC0C
- .byte 0x9, 0xA, 0xB, 0xC, 0xD
-
- .align 2
-gUnknown_0830FC14:: @ 830FC14
- .4byte PlayerAvatarTransition_Normal
- .4byte PlayerAvatarTransition_MachBike
- .4byte PlayerAvatarTransition_AcroBike
- .4byte PlayerAvatarTransition_Surfing
- .4byte PlayerAvatarTransition_Underwater
- .4byte sub_80591F4
- .4byte nullsub_49
- .4byte nullsub_49
-
- .align 2
-gUnknown_0830FC34:: @ 830FC34
- .4byte MetatileBehavior_IsSouthArrowWarp
- .4byte MetatileBehavior_IsNorthArrowWarp
- .4byte MetatileBehavior_IsWestArrowWarp
- .4byte MetatileBehavior_IsEastArrowWarp
-
-gUnknown_0830FC44:: @ 830FC44
- .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, MAP_OBJ_GFX_RIVAL_MAY_NORMAL
- .byte MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE
- .byte MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE
- .byte MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, MAP_OBJ_GFX_RIVAL_MAY_SURFING
- .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER
- .byte MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE
- .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING
- .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING
-
-gUnknown_0830FC54:: @ 830FC54
- .byte MAP_OBJ_GFX_BRENDAN_NORMAL, MAP_OBJ_GFX_MAY_NORMAL
- .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_MAY_MACH_BIKE
- .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_MAY_ACRO_BIKE
- .byte MAP_OBJ_GFX_BRENDAN_SURFING, MAP_OBJ_GFX_MAY_SURFING
- .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER
- .byte MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_MAY_FIELD_MOVE
- .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING
- .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING
-
-gUnknown_0830FC64:: @ 830FC64
- @ male
- .byte MAP_OBJ_GFX_BRENDAN_NORMAL, 1
- .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, 2
- .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, 4
- .byte MAP_OBJ_GFX_BRENDAN_SURFING, 8
- .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, 16
- @ female
- .byte MAP_OBJ_GFX_MAY_NORMAL, 1
- .byte MAP_OBJ_GFX_MAY_MACH_BIKE, 2
- .byte MAP_OBJ_GFX_MAY_ACRO_BIKE, 4
- .byte MAP_OBJ_GFX_MAY_SURFING, 8
- .byte MAP_OBJ_GFX_MAY_UNDERWATER, 16
-
- .align 2
-gUnknown_0830FC78:: @ 830FC78
- .4byte MetatileBehavior_IsSouthArrowWarp
- .4byte MetatileBehavior_IsNorthArrowWarp
- .4byte MetatileBehavior_IsWestArrowWarp
- .4byte MetatileBehavior_IsEastArrowWarp
-
- .align 2
-gUnknown_0830FC88:: @ 830FC88
- .4byte sub_8059E84
- .4byte sub_8059EA4
- .4byte sub_8059F40
-
- .align 2
-gUnknown_0830FC94:: @ 830FC94
- .4byte sub_805A000
-
- .align 2
-gUnknown_0830FC98:: @ 830FC98
- .4byte sub_805A0D8
- .4byte sub_805A100
- .4byte sub_805A178
- .4byte sub_805A1B8
-
-gUnknown_0830FCA8:: @ 830FCA8
- .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH
-
-gUnknown_0830FCAC:: @ 830FCAC
- .byte 0x10, 0x10, 0x11, 0x12, 0x13
-
- .align 2
-gUnknown_0830FCB4:: @ 830FCB4
- .4byte Fishing1
- .4byte Fishing2
- .4byte Fishing3
- .4byte Fishing4
- .4byte Fishing5
- .4byte Fishing6
- .4byte Fishing7
- .4byte Fishing8
- .4byte Fishing9
- .4byte Fishing10
- .4byte Fishing11
- .4byte Fishing12
- .4byte Fishing13
- .4byte Fishing14
- .4byte Fishing15
- .4byte Fishing16
-
- .align 1
-gUnknown_0830FCF4:: @ 830FCF4
- .2byte 1, 1, 1
-
- .align 1
-gUnknown_0830FCFA:: @ 830FCFA
- .2byte 1, 3, 6
-
-gUnknown_0830FD00:: @ 830FD00
- .string "·$"
-
- .align 1
-gUnknown_0830FD02:: @ 830FD02
- .2byte 36, 33, 30
-
- .align 1
-gUnknown_0830FD08:: @ 830FD08
- .2byte 0, 0, 40, 10, 70, 30
-
-gUnknown_0830FD14:: @ 830FD14
- .byte 1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0
-
- .align 2
-gSpriteTemplate_830FD24:: @ 830FD24
- spr_template 0, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject
-
- .align 2
-gUnknown_0830FD3C:: @ 830FD3C
- .4byte CameraObject_0
- .4byte CameraObject_1
- .4byte CameraObject_2
-
-@ 830FD48
- .include "data/graphics/field_objects/map_object_graphics.inc"
-
-@ 8368528
- .include "data/graphics/field_objects/field_effect_object_graphics.inc"
-
- .align 2
-gUnknown_0836DA88:: @ 836DA88
- .4byte sub_805C884
- .4byte sub_805CDE8
- .4byte sub_805C8AC
- .4byte sub_805CF28
- .4byte sub_805CF28
- .4byte sub_805D0AC
- .4byte sub_805D0AC
- .4byte sub_805D230
- .4byte sub_805D230
- .4byte sub_805D230
- .4byte sub_805D230
- .4byte sub_80587B4
- .4byte FieldObjectCB_BerryTree
- .4byte sub_805D4F4
- .4byte sub_805D634
- .4byte sub_805D774
- .4byte sub_805D8B4
- .4byte sub_805D9F4
- .4byte sub_805DB34
- .4byte sub_805DC74
- .4byte sub_805DDB4
- .4byte sub_805DEF4
- .4byte sub_805E034
- .4byte sub_805E174
- .4byte sub_805E278
- .4byte sub_805E37C
- .4byte sub_805E37C
- .4byte sub_805E37C
- .4byte sub_805E37C
- .4byte sub_805E5DC
- .4byte sub_805E668
- .4byte sub_805E6F4
- .4byte sub_805E780
- .4byte sub_805E80C
- .4byte sub_805E898
- .4byte sub_805E924
- .4byte sub_805E9B0
- .4byte sub_805EA3C
- .4byte sub_805EAC8
- .4byte sub_805EB54
- .4byte sub_805EBE0
- .4byte sub_805EC6C
- .4byte sub_805ECF8
- .4byte sub_805ED84
- .4byte sub_805EE10
- .4byte sub_805EE9C
- .4byte sub_805EF28
- .4byte sub_805EFB4
- .4byte sub_805F040
- .4byte sub_805F0CC
- .4byte sub_805F158
- .4byte sub_805F1E4
- .4byte sub_805F270
- .4byte sub_805F2FC
- .4byte sub_805F2FC
- .4byte sub_805F2FC
- .4byte sub_805F2FC
- .4byte FieldObjectCB_TreeDisguise
- .4byte FieldObjectCB_MountainDisguise
- .4byte sub_805F8E0
- .4byte sub_805F8E0
- .4byte sub_805F8E0
- .4byte sub_805F8E0
- .4byte FieldObjectCB_Hidden1
- .4byte sub_805FB20
- .4byte sub_805FB20
- .4byte sub_805FB20
- .4byte sub_805FB20
- .4byte sub_805FB90
- .4byte sub_805FB90
- .4byte sub_805FB90
- .4byte sub_805FB90
- .4byte sub_805FC00
- .4byte sub_805FC00
- .4byte sub_805FC00
- .4byte sub_805FC00
- .4byte sub_805FC70
-
-gUnknown_0836DBBC:: @ 836DBBC
- .byte 0
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 0
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
-
-gUnknown_0836DC09:: @ 836DC09
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_NORTH
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_NORTH
- .byte DIR_EAST
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_NORTH
- .byte DIR_WEST
- .byte DIR_SOUTH
- .byte DIR_EAST
- .byte DIR_WEST
- .byte DIR_NORTH
- .byte DIR_EAST
- .byte DIR_SOUTH
- .byte DIR_EAST
- .byte DIR_NORTH
- .byte DIR_WEST
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_SOUTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_SOUTH
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_SOUTH
- .byte DIR_NORTH
- .byte DIR_WEST
- .byte DIR_EAST
- .byte DIR_SOUTH
-
-@ 836DC58
- .include "data/graphics/field_objects/map_object_graphics_info_pointers.inc"
-
-@ 836DFC0
- .include "data/graphics/field_objects/field_effect_object_template_pointers.inc"
-
-@ 836E050
- .include "data/graphics/field_objects/map_object_pic_tables.inc"
-
-@ 83708C8
- .include "data/graphics/field_objects/map_object_anims.inc"
-
-@ 83711C4
- .include "data/graphics/field_objects/base_oam.inc"
-
-@ 8371204
- .include "data/graphics/field_objects/map_object_subsprites.inc"
-
-@ 83718D4
- .include "data/graphics/field_objects/map_object_graphics_info.inc"
-
- .align 2
-gUnknown_0837377C:: @ 837377C
- obj_pal gMapObjectPalette0, 0x1103
- obj_pal gMapObjectPalette1, 0x1104
- obj_pal gMapObjectPalette2, 0x1105
- obj_pal gMapObjectPalette3, 0x1106
- obj_pal gMapObjectPalette4, 0x1107
- obj_pal gMapObjectPalette5, 0x1108
- obj_pal gMapObjectPalette6, 0x1109
- obj_pal gMapObjectPalette7, 0x110A
- obj_pal gMapObjectPalette8, 0x1100
- obj_pal gMapObjectPalette9, 0x1101
- obj_pal gMapObjectPalette10, 0x1102
- obj_pal gMapObjectPalette11, 0x1115
- obj_pal gMapObjectPalette12, 0x110B
- obj_pal gMapObjectPalette13, 0x110C
- obj_pal gMapObjectPalette14, 0x110D
- obj_pal gMapObjectPalette15, 0x110E
- obj_pal gMapObjectPalette16, 0x110F
- obj_pal gMapObjectPalette17, 0x1110
- obj_pal gMapObjectPalette18, 0x1111
- obj_pal gMapObjectPalette19, 0x1112
- obj_pal gMapObjectPalette20, 0x1113
- obj_pal gMapObjectPalette21, 0x1114
- obj_pal gMapObjectPalette22, 0x1116
- obj_pal gMapObjectPalette23, 0x1117
- obj_pal gMapObjectPalette24, 0x1118
- obj_pal gMapObjectPalette25, 0x1119
- obj_pal gMapObjectPalette26, 0x111A
- null_obj_pal
-
- .align 1
-Palettes_837385C:
- .2byte 0x1101
- .2byte 0x1101
- .2byte 0x1101
- .2byte 0x1101
-
- @ unused?
- .2byte 0x1111
- .2byte 0x1111
- .2byte 0x1111
- .2byte 0x1111
-
- .align 1
-Palettes_837386C:
- .2byte 0x1115
- .2byte 0x1115
- .2byte 0x1115
- .2byte 0x1115
-
- .align 2
-gUnknown_08373874:: @ 8373874
- paired_pals 0x1100, Palettes_837385C
- paired_pals 0x1110, Palettes_837385C
- paired_pals 0x1115, Palettes_837386C
- paired_pals 0x11FF, NULL
-
- .align 1
-Palettes_8373894:
- .2byte 0x110C
- .2byte 0x110C
- .2byte 0x110C
- .2byte 0x110C
-
- .align 1
-Palettes_837389C:
- .2byte 0x110D
- .2byte 0x110D
- .2byte 0x110D
- .2byte 0x110D
-
- .align 1
-Palettes_83738A4:
- .2byte 0x110E
- .2byte 0x110E
- .2byte 0x110E
- .2byte 0x110E
-
- .align 1
-Palettes_83738AC:
- .2byte 0x1112
- .2byte 0x1112
- .2byte 0x1112
- .2byte 0x1112
-
- .align 1
-Palettes_83738B4:
- .2byte 0x1113
- .2byte 0x1113
- .2byte 0x1113
- .2byte 0x1113
-
- .align 1
-Palettes_83738BC:
- .2byte 0x1114
- .2byte 0x1114
- .2byte 0x1114
- .2byte 0x1114
-
- .align 1
-Palettes_83738C4:
- .2byte 0x111A
- .2byte 0x111A
- .2byte 0x111A
- .2byte 0x111A
-
- .align 1
-Palettes_83738CC:
- .2byte 0x1117
- .2byte 0x1117
- .2byte 0x1117
- .2byte 0x1117
-
- .align 1
-Palettes_83738D4:
- .2byte 0x1119
- .2byte 0x1119
- .2byte 0x1119
- .2byte 0x1119
-
- .align 1
-Palettes_83738DC:
- .2byte 0x1109
- .2byte 0x1109
- .2byte 0x1109
- .2byte 0x1109
-
- .align 2
-gUnknown_083738E4:: @ 83738E4
- paired_pals 0x1100, Palettes_837385C
- paired_pals 0x1110, Palettes_837385C
- paired_pals 0x110B, Palettes_8373894
- paired_pals 0x110D, Palettes_837389C
- paired_pals 0x110E, Palettes_83738A4
- paired_pals 0x1112, Palettes_83738AC
- paired_pals 0x1113, Palettes_83738B4
- paired_pals 0x1114, Palettes_83738BC
- paired_pals 0x1116, Palettes_83738CC
- paired_pals 0x1118, Palettes_83738D4
- paired_pals 0x1105, Palettes_83738DC
- paired_pals 0x111A, Palettes_83738C4
- paired_pals 0x11FF, NULL
-
- .align 1
-Unknown_837394C:
- .2byte 0x1100
- .2byte 0x1101
- .2byte 0x1103
- .2byte 0x1104
- .2byte 0x1105
- .2byte 0x1106
- .2byte 0x1107
- .2byte 0x1108
- .2byte 0x1109
- .2byte 0x110A
-
- .align 1
-Unknown_8373960:
- .2byte 0x1100
- .2byte 0x1101
- .2byte 0x1103
- .2byte 0x1104
- .2byte 0x1105
- .2byte 0x1106
- .2byte 0x1107
- .2byte 0x1108
- .2byte 0x1109
- .2byte 0x110A
-
- .align 1
-Unknown_8373974:
- .2byte 0x1100
- .2byte 0x1101
- .2byte 0x1103
- .2byte 0x1104
- .2byte 0x1105
- .2byte 0x1106
- .2byte 0x1107
- .2byte 0x1108
- .2byte 0x1109
- .2byte 0x110A
-
- .align 1
-Unknown_8373988:
- .2byte 0x1100
- .2byte 0x1101
- .2byte 0x1103
- .2byte 0x1104
- .2byte 0x1105
- .2byte 0x1106
- .2byte 0x1107
- .2byte 0x1108
- .2byte 0x1109
- .2byte 0x110A
-
- .align 2
-gUnknown_0837399C:: @ 837399C
- .4byte Unknown_837394C
- .4byte Unknown_8373960
- .4byte Unknown_8373974
- .4byte Unknown_8373988
-
-@ 83739AC
- .include "data/graphics/field_objects/berry_tree_graphics_tables.inc"
-
-@ 8374524
- .include "data/graphics/field_objects/field_effect_objects.inc"
-
- .align 1
-gUnknown_0837520C:: @ 837520C
- .2byte 0x20, 0x40, 0x60, 0x80, 0x20, 0x40, 0x80, 0xC0
-
- .align 1
-gUnknown_0837521C:: @ 837521C
- .2byte 0x20, 0x30, 0x40, 0x50
-
- .align 2
-gUnknown_08375224:: @ 8375224
- .4byte sub_805C8F0
- .4byte sub_805C904
- .4byte sub_805C930
- .4byte sub_805C96C
- .4byte sub_805C98C
- .4byte sub_805C9D8
- .4byte sub_805CA08
-
-gUnknown_08375240:: @ 8375240
- .byte DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST
-
- .align 2
-gUnknown_08375244:: @ 8375244
- .4byte sub_805CAAC
- .4byte sub_805CADC
- .4byte sub_805CAEC
- .4byte sub_805CB00
- .4byte sub_805CB5C
- .4byte sub_805CBB8
- .4byte sub_805CC14
- .4byte sub_805CC70
- .4byte sub_805CCAC
- .4byte sub_805CCE8
- .4byte sub_805CD24
-
- .align 2
-gUnknown_08375270:: @ 8375270
- .4byte sub_805CE2C
- .4byte sub_805CE40
- .4byte sub_805CE6C
- .4byte sub_805CEB0
- .4byte sub_805CEE0
-
- .align 2
-gUnknown_08375284:: @ 8375284
- .4byte sub_805CF6C
- .4byte sub_805CF80
- .4byte sub_805CFAC
- .4byte sub_805CFE8
- .4byte sub_805D008
- .4byte sub_805D054
- .4byte sub_805D084
-
-gUnknown_083752A0:: @ 83752A0
- .byte DIR_SOUTH, DIR_NORTH
-
- .align 2
-gUnknown_083752A4:: @ 83752A4
- .4byte sub_805D0F0
- .4byte sub_805D104
- .4byte sub_805D130
- .4byte sub_805D16C
- .4byte sub_805D18C
- .4byte sub_805D1D8
- .4byte sub_805D208
-
-gUnknown_083752C0:: @ 83752C0
- .byte DIR_WEST, DIR_EAST
-
- .align 2
-gUnknown_083752C4:: @ 83752C4
- .4byte sub_805D274
- .4byte sub_805D2A0
- .4byte sub_805D2C0
-
- .align 2
-gUnknown_083752D0:: @ 83752D0
- .4byte do_berry_tree_growth_sparkle_1
- .4byte sub_805D3EC
- .4byte do_berry_tree_growth_sparkle_2
- .4byte sub_805D458
- .4byte sub_805D4A8
-
- .align 2
-gUnknown_083752E4:: @ 83752E4
- .4byte sub_805D538
- .4byte sub_805D54C
- .4byte sub_805D578
- .4byte sub_805D5BC
- .4byte sub_805D5EC
-
- .align 2
-gUnknown_083752F8:: @ 83752F8
- .4byte sub_805D678
- .4byte sub_805D68C
- .4byte sub_805D6B8
- .4byte sub_805D6FC
- .4byte sub_805D72C
-
- .align 2
-gUnknown_0837530C:: @ 837530C
- .4byte sub_805D7B8
- .4byte sub_805D7CC
- .4byte sub_805D7F8
- .4byte sub_805D83C
- .4byte sub_805D86C
-
-gUnknown_08375320:: @ 8375320
- .byte DIR_NORTH, DIR_WEST
-
- .align 2
-gUnknown_08375324:: @ 8375324
- .4byte sub_805D8F8
- .4byte sub_805D90C
- .4byte sub_805D938
- .4byte sub_805D97C
- .4byte sub_805D9AC
-
-gUnknown_08375338:: @ 8375338
- .byte DIR_NORTH, DIR_EAST
-
- .align 2
-gUnknown_0837533C:: @ 837533C
- .4byte sub_805DA38
- .4byte sub_805DA4C
- .4byte sub_805DA78
- .4byte sub_805DABC
- .4byte sub_805DAEC
-
-gUnknown_08375350:: @ 8375350
- .byte DIR_SOUTH, DIR_WEST
-
- .align 2
-gUnknown_08375354:: @ 8375354
- .4byte sub_805DB78
- .4byte sub_805DB8C
- .4byte sub_805DBB8
- .4byte sub_805DBFC
- .4byte sub_805DC2C
-
-gUnknown_08375368:: @ 8375368
- .byte DIR_SOUTH, DIR_EAST
-
- .align 2
-gUnknown_0837536C:: @ 837536C
- .4byte sub_805DCB8
- .4byte sub_805DCCC
- .4byte sub_805DCF8
- .4byte sub_805DD3C
- .4byte sub_805DD6C
-
-gUnknown_08375380:: @ 8375380
- .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH
-
- .align 2
-gUnknown_08375384:: @ 8375384
- .4byte sub_805DDF8
- .4byte sub_805DE0C
- .4byte sub_805DE38
- .4byte sub_805DE7C
- .4byte sub_805DEAC
-
-gUnknown_08375398:: @ 8375398
- .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH
-
- .align 2
-gUnknown_0837539C:: @ 837539C
- .4byte sub_805DF38
- .4byte sub_805DF4C
- .4byte sub_805DF78
- .4byte sub_805DFBC
- .4byte sub_805DFEC
-
-gUnknown_083753B0:: @ 83753B0
- .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH
-
- .align 2
-gUnknown_083753B4:: @ 83753B4
- .4byte sub_805E078
- .4byte sub_805E08C
- .4byte sub_805E0B8
- .4byte sub_805E0FC
- .4byte sub_805E12C
-
-gUnknown_083753C8:: @ 83753C8
- .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH
-
- .align 2
-gUnknown_083753CC:: @ 83753CC
- .4byte sub_805E1B8
- .4byte sub_805E1E4
- .4byte sub_805E208
- .4byte sub_805E234
-
-gUnknown_083753DC:: @ 83753DC
- .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH
-
- .align 2
-gUnknown_083753E4:: @ 83753E4
- .4byte sub_805E2BC
- .4byte sub_805E2E8
- .4byte sub_805E30C
- .4byte sub_805E338
-
-gUnknown_083753F4:: @ 83753F4
- .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH
-
- .align 2
-gUnknown_083753FC:: @ 83753FC
- .4byte sub_805E3C0
- .4byte sub_805E3D4
- .4byte sub_805E40C
- .4byte sub_805E4C4
-
- .align 2
-gUnknown_0837540C:: @ 837540C
- .4byte sub_805E4EC
- .4byte sub_805E620
- .4byte sub_805E5B4
-
-gUnknown_08375418:: @ 8375418
- .byte DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH
-
- .align 2
-gUnknown_0837541C:: @ 837541C
- .4byte sub_805E4EC
- .4byte sub_805E6AC
- .4byte sub_805E5B4
-
- .align 2
-gUnknown_08375428:: @ 8375428
- .byte DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH
-
-gUnknown_0837542C:: @ 837542C
- .4byte sub_805E4EC
- .4byte sub_805E738
- .4byte sub_805E5B4
-
-gUnknown_08375438:: @ 8375438
- .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST
-
- .align 2
-gUnknown_0837543C:: @ 837543C
- .4byte sub_805E4EC
- .4byte sub_805E7C4
- .4byte sub_805E5B4
-
-gUnknown_08375448:: @ 8375448
- .byte DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST
-
- .align 2
-gUnknown_0837544C:: @ 837544C
- .4byte sub_805E4EC
- .4byte sub_805E850
- .4byte sub_805E5B4
-
-gUnknown_08375458:: @ 8375458
- .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH
-
- .align 2
-gUnknown_0837545C:: @ 837545C
- .4byte sub_805E4EC
- .4byte sub_805E8DC
- .4byte sub_805E5B4
-
-gUnknown_08375468:: @ 8375468
- .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH
-
- .align 2
-gUnknown_0837546C:: @ 837546C
- .4byte sub_805E4EC
- .4byte sub_805E968
- .4byte sub_805E5B4
-
- .align 2
-gUnknown_08375478:: @ 8375478
- .4byte sub_805E4EC
- .4byte sub_805E9F4
- .4byte sub_805E5B4
-
-gUnknown_08375484:: @ 8375484
- .byte DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST
-
- .align 2
-gUnknown_08375488:: @ 8375488
- .4byte sub_805E4EC
- .4byte sub_805EA80
- .4byte sub_805E5B4
-
-gUnknown_08375494:: @ 8375494
- .byte DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST
-
- .align 2
-gUnknown_08375498:: @ 8375498
- .4byte sub_805E4EC
- .4byte sub_805EB0C
- .4byte sub_805E5B4
-
-gUnknown_083754A4:: @ 83754A4
- .byte DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST
-
- .align 2
-gUnknown_083754A8:: @ 83754A8
- .4byte sub_805E4EC
- .4byte sub_805EB98
- .4byte sub_805E5B4
-
-gUnknown_083754B4:: @ 83754B4
- .byte DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH
-
- .align 2
-gUnknown_083754B8:: @ 83754B8
- .4byte sub_805E4EC
- .4byte sub_805EC24
- .4byte sub_805E5B4
-
-gUnknown_083754C4:: @ 83754C4
- .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH
-
- .align 2
-gUnknown_083754C8:: @ 83754C8
- .4byte sub_805E4EC
- .4byte sub_805ECB0
- .4byte sub_805E5B4
-
-gUnknown_083754D4:: @ 83754D4
- .byte DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST
-
- .align 2
-gUnknown_083754D8:: @ 83754D8
- .4byte sub_805E4EC
- .4byte sub_805ED3C
- .4byte sub_805E5B4
-
-gUnknown_083754E4:: @ 83754E4
- .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST
-
- .align 2
-gUnknown_083754E8:: @ 83754E8
- .4byte sub_805E4EC
- .4byte sub_805EDC8
- .4byte sub_805E5B4
-
-gUnknown_083754F4:: @ 83754F4
- .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH
-
- .align 2
-gUnknown_083754F8:: @ 83754F8
- .4byte sub_805E4EC
- .4byte sub_805EE54
- .4byte sub_805E5B4
-
-gUnknown_08375504:: @ 8375504
- .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH
-
- .align 2
-gUnknown_08375508:: @ 8375508
- .4byte sub_805E4EC
- .4byte sub_805EEE0
- .4byte sub_805E5B4
-
-gUnknown_08375514:: @ 8375514
- .byte DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST
-
- .align 2
-gUnknown_08375518:: @ 8375518
- .4byte sub_805E4EC
- .4byte sub_805EF6C
- .4byte sub_805E5B4
-
-gUnknown_08375524:: @ 8375524
- .byte DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST
-
- .align 2
-gUnknown_08375528:: @ 8375528
- .4byte sub_805E4EC
- .4byte sub_805EFF8
- .4byte sub_805E5B4
-
-gUnknown_08375534:: @ 8375534
- .byte DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH
-
- .align 2
-gUnknown_08375538:: @ 8375538
- .4byte sub_805E4EC
- .4byte sub_805F084
- .4byte sub_805E5B4
-
-gUnknown_08375544:: @ 8375544
- .byte DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH
-
- .align 2
-gUnknown_08375548:: @ 8375548
- .4byte sub_805E4EC
- .4byte sub_805F110
- .4byte sub_805E5B4
-
-gUnknown_08375554:: @ 8375554
- .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST
-
- .align 2
-gUnknown_08375558:: @ 8375558
- .4byte sub_805E4EC
- .4byte sub_805F19C
- .4byte sub_805E5B4
-
-gUnknown_08375564:: @ 8375564
- .byte DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST
-
- .align 2
-gUnknown_08375568:: @ 8375568
- .4byte sub_805E4EC
- .4byte sub_805F228
- .4byte sub_805E5B4
-
-gUnknown_08375574:: @ 8375574
- .byte DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH
-
- .align 2
-gUnknown_08375578:: @ 8375578
- .4byte sub_805E4EC
- .4byte sub_805F2B4
- .4byte sub_805E5B4
-
- .align 2
-gUnknown_08375584:: @ 8375584
- .byte DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH
-
- .align 2
-gUnknown_08375588:: @ 8375588
- .4byte mss_npc_reset_oampriv3_1_unk2_unk3
- .4byte sub_805F364
- .4byte sub_805F3C4
-
- .align 2
-gUnknown_08375594:: @ 8375594
- .4byte sub_805F3EC
- .4byte sub_805F3F0
- .4byte sub_805F438
- .4byte sub_805F4F0
- .4byte sub_805F5A8
- .4byte sub_805F660
- .4byte cph_IM_DIFFERENT
- .4byte sub_805F760
- .4byte oac_hopping
- .4byte sub_805F3EC
- .4byte sub_805F3EC
-
- .align 2
-gUnknown_083755C0:: @ 83755C0
- .4byte mss_npc_reset_oampriv3_1_unk2_unk3
- .4byte mss_08062EA4
- .4byte sub_805F3C4
-
- .align 2
-gUnknown_083755CC:: @ 83755CC
- .4byte sub_805FAF8
-
- .align 2
-gUnknown_083755D0:: @ 83755D0
- .4byte sub_805FB64
- .4byte sub_805FB04
-
- .align 2
-gUnknown_083755D8:: @ 83755D8
- .4byte sub_805FBD4
- .4byte sub_805FB04
-
- .align 2
-gUnknown_083755E0:: @ 83755E0
- .4byte sub_805FC44
- .4byte sub_805FB04
-
- .align 2
-gUnknown_083755E8:: @ 83755E8
- .4byte sub_805FCB4
- .4byte sub_805FCE8
- .4byte sub_805FD08
-
-gUnknown_083755F4:: @ 83755F4
- .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01
-
-gUnknown_083755FD:: @ 83755FD
- .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05
-
-gUnknown_08375606:: @ 8375606
- .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09
-
-gUnknown_0837560F:: @ 837560F
- .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F, 0x0C, 0x0C, 0x0D, 0x0D
-
-gUnknown_08375618:: @ 8375618
- .byte 0x10, 0x10, 0x11, 0x12, 0x13, 0x10, 0x10, 0x11, 0x11
-
-gUnknown_08375621:: @ 8375621
- .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15
-
-gUnknown_0837562A:: @ 837562A
- .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15
-
-gUnknown_08375633:: @ 8375633
- .byte 0x18, 0x18, 0x19, 0x1A, 0x1B, 0x18, 0x18, 0x19, 0x19
-
-gUnknown_0837563C:: @ 837563C
- .byte 0x1C, 0x1C, 0x1D, 0x1E, 0x1F, 0x1C, 0x1C, 0x1D, 0x1D
-
-gUnknown_08375645:: @ 8375645
- .byte 0x20, 0x20, 0x21, 0x22, 0x23, 0x20, 0x20, 0x21, 0x21
-
-gUnknown_0837564E:: @ 837564E
- .byte 0x24, 0x24, 0x25, 0x26, 0x27, 0x24, 0x24, 0x25, 0x25
-
-gUnknown_08375657:: @ 8375657
- .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01
-
-gUnknown_08375660:: @ 8375660
- .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05
-
-gUnknown_08375669:: @ 8375669
- .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09
-
-gUnknown_08375672:: @ 8375672
- .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15
-
-gUnknown_0837567B:: @ 837567B
- .byte 0x08, 0x08, 0x07, 0x09, 0x0A, 0x08, 0x08, 0x07, 0x07
-
- .align 2
-gUnknown_08375684:: @ 8375684
- .4byte MetatileBehavior_IsSouthBlocked
- .4byte MetatileBehavior_IsNorthBlocked
- .4byte MetatileBehavior_IsWestBlocked
- .4byte MetatileBehavior_IsEastBlocked
-
- .align 2
-gUnknown_08375694:: @ 8375694
- .4byte MetatileBehavior_IsNorthBlocked
- .4byte MetatileBehavior_IsSouthBlocked
- .4byte MetatileBehavior_IsEastBlocked
- .4byte MetatileBehavior_IsWestBlocked
-
- .align 1
-gDirectionToVector:: @ 83756A4
- .2byte 0, 0
- .2byte 0, 1
- .2byte 0, -1
- .2byte -1, 0
- .2byte 1, 0
- .2byte -1, 1
- .2byte 1, 1
- .2byte -1, -1
- .2byte 1, -1
-
-gUnknown_083756C8:: @ 83756C8
- .byte 0x00, 0x00, 0x01, 0x02, 0x03
-
-gUnknown_083756CD:: @ 83756CD
- .byte 0x04, 0x04, 0x05, 0x06, 0x07
-
-gUnknown_083756D2:: @ 83756D2
- .byte 0x08, 0x08, 0x09, 0x0A, 0x0B
-
-gUnknown_083756D7:: @ 83756D7
- .byte 0x15, 0x15, 0x16, 0x17, 0x18
-
-gUnknown_083756DC:: @ 83756DC
- .byte 0x29, 0x29, 0x2A, 0x2B, 0x2C
-
-gUnknown_083756E1:: @ 83756E1
- .byte 0x2D, 0x2D, 0x2E, 0x2F, 0x30
-
-gUnknown_083756E6:: @ 83756E6
- .byte 0x31, 0x31, 0x32, 0x33, 0x34
-
-gUnknown_083756EB:: @ 83756EB
- .byte 0x35, 0x35, 0x36, 0x37, 0x38
-
-gUnknown_083756F0:: @ 83756F0
- .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F
-
-gUnknown_083756F5:: @ 83756F5
- .byte 0x46, 0x46, 0x47, 0x48, 0x49
-
-gUnknown_083756FA:: @ 83756FA
- .byte 0x4B, 0x4B, 0x4A, 0x4D, 0x4C
-
-gUnknown_083756FF:: @ 83756FF
- .byte 0x42, 0x42, 0x43, 0x44, 0x45
-
-gUnknown_08375704:: @ 8375704
- .byte 0x3A, 0x3A, 0x3B, 0x3C, 0x3D
-
-gUnknown_08375709:: @ 8375709
- .byte 0x19, 0x19, 0x1A, 0x1B, 0x1C
-
-gUnknown_0837570E:: @ 837570E
- .byte 0x1D, 0x1D, 0x1E, 0x1F, 0x20
-
-gUnknown_08375713:: @ 8375713
- .byte 0x21, 0x21, 0x22, 0x23, 0x24
-
-gUnknown_08375718:: @ 8375718
- .byte 0x25, 0x25, 0x26, 0x27, 0x28
-
-gUnknown_0837571D:: @ 837571D
- .byte 0x62, 0x62, 0x63, 0x64, 0x65
-
-gUnknown_08375722:: @ 8375722
- .byte 0x66, 0x66, 0x67, 0x68, 0x69
-
-gUnknown_08375727:: @ 8375727
- .byte 0x6A, 0x6A, 0x6B, 0x6C, 0x6D
-
-gUnknown_0837572C:: @ 837572C
- .byte 0x6E, 0x6E, 0x6F, 0x70, 0x71
-
-gUnknown_08375731:: @ 8375731
- .byte 0x72, 0x72, 0x73, 0x74, 0x75
-
-gUnknown_08375736:: @ 8375736
- .byte 0x76, 0x76, 0x77, 0x78, 0x79
-
-gUnknown_0837573B:: @ 837573B
- .byte 0x7A, 0x7A, 0x7B, 0x7C, 0x7D
-
-gUnknown_08375740:: @ 8375740
- .byte 0x7E, 0x7E, 0x7F, 0x80, 0x81
-
-gUnknown_08375745:: @ 8375745
- .byte 0x82, 0x82, 0x83, 0x84, 0x85
-
-gUnknown_0837574A:: @ 837574A
- .byte 0x86, 0x86, 0x87, 0x88, 0x89
-
-gUnknown_0837574F:: @ 837574F
- .byte 2, 1, 4, 3, 8, 7, 6, 5
-
-gUnknown_08375757:: @ 8375757
- .byte 2, 1, 4, 3, 1, 2, 3, 4, 3, 4, 2, 1, 4, 3, 1, 2
-
-gUnknown_08375767:: @ 8375767
- .byte 2, 1, 4, 3, 1, 2, 3, 4, 4, 3, 1, 2, 3, 4, 2, 1
-
- .align 2
-gUnknown_08375778:: @ 8375778
- .4byte Unknown_83759A0
- .4byte Unknown_83759A8
- .4byte Unknown_83759B0
- .4byte Unknown_83759B8
- .4byte Unknown_83759D4
- .4byte Unknown_83759E0
- .4byte Unknown_83759EC
- .4byte Unknown_83759F8
- .4byte Unknown_8375A04
- .4byte Unknown_8375A10
- .4byte Unknown_8375A1C
- .4byte Unknown_8375A28
- .4byte Unknown_8375A40
- .4byte Unknown_8375A4C
- .4byte Unknown_8375A58
- .4byte Unknown_8375A64
- .4byte Unknown_8375A70
- .4byte Unknown_8375A7C
- .4byte Unknown_8375A88
- .4byte Unknown_8375A94
- .4byte Unknown_8375AA0
- .4byte Unknown_8375AAC
- .4byte Unknown_8375AB8
- .4byte Unknown_8375AC4
- .4byte Unknown_8375AD0
- .4byte Unknown_8375ADC
- .4byte Unknown_8375AE8
- .4byte Unknown_8375AF4
- .4byte Unknown_8375B00
- .4byte Unknown_8375B0C
- .4byte Unknown_8375B18
- .4byte Unknown_8375B24
- .4byte Unknown_8375B30
- .4byte Unknown_8375B3C
- .4byte Unknown_8375B48
- .4byte Unknown_8375B54
- .4byte Unknown_8375B60
- .4byte Unknown_8375B6C
- .4byte Unknown_8375B78
- .4byte Unknown_8375B84
- .4byte Unknown_8375B90
- .4byte Unknown_8375B9C
- .4byte Unknown_8375BA8
- .4byte Unknown_8375BB4
- .4byte Unknown_8375BC0
- .4byte Unknown_8375BCC
- .4byte Unknown_8375BD8
- .4byte Unknown_8375BE4
- .4byte Unknown_8375BF0
- .4byte Unknown_8375BFC
- .4byte Unknown_8375C08
- .4byte Unknown_8375C14
- .4byte Unknown_8375C20
- .4byte Unknown_8375C2C
- .4byte Unknown_8375C38
- .4byte Unknown_8375C44
- .4byte Unknown_8375C50
- .4byte Unknown_8375C5C
- .4byte Unknown_8375C68
- .4byte Unknown_8375C74
- .4byte Unknown_8375C80
- .4byte Unknown_8375C8C
- .4byte Unknown_8375C98
- .4byte Unknown_8375CA0
- .4byte Unknown_8375CA8
- .4byte Unknown_8375CB0
- .4byte Unknown_8375CB8
- .4byte Unknown_8375CC4
- .4byte Unknown_8375CD0
- .4byte Unknown_8375CDC
- .4byte Unknown_8375CE8
- .4byte Unknown_8375CF4
- .4byte Unknown_8375D00
- .4byte Unknown_8375D0C
- .4byte Unknown_8375D18
- .4byte Unknown_8375D24
- .4byte Unknown_8375D30
- .4byte Unknown_8375D3C
- .4byte Unknown_8375D48
- .4byte Unknown_8375D50
- .4byte Unknown_8375D5C
- .4byte Unknown_8375D64
- .4byte Unknown_8375D6C
- .4byte Unknown_8375D74
- .4byte Unknown_8375D7C
- .4byte Unknown_8375D84
- .4byte Unknown_8375D8C
- .4byte Unknown_8375D94
- .4byte Unknown_8375D9C
- .4byte Unknown_8375DA4
- .4byte Unknown_8375DB0
- .4byte Unknown_8375DC0
- .4byte Unknown_8375DD0
- .4byte Unknown_8375DD8
- .4byte Unknown_8375DE0
- .4byte Unknown_8375DE8
- .4byte Unknown_8375DF0
- .4byte Unknown_8375DFC
- .4byte Unknown_8375E08
- .4byte Unknown_8375E10
- .4byte Unknown_8375E18
- .4byte Unknown_8375E20
- .4byte Unknown_8375E28
- .4byte Unknown_8375E34
- .4byte Unknown_8375E40
- .4byte Unknown_8375E4C
- .4byte Unknown_8375E58
- .4byte Unknown_8375E64
- .4byte Unknown_8375E70
- .4byte Unknown_8375E7C
- .4byte Unknown_8375EB8
- .4byte Unknown_8375EC4
- .4byte Unknown_8375ED0
- .4byte Unknown_8375EDC
- .4byte Unknown_8375EE8
- .4byte Unknown_8375EF4
- .4byte Unknown_8375F00
- .4byte Unknown_8375F0C
- .4byte Unknown_8375F18
- .4byte Unknown_8375F24
- .4byte Unknown_8375F30
- .4byte Unknown_8375F3C
- .4byte Unknown_8375F48
- .4byte Unknown_8375F54
- .4byte Unknown_8375F60
- .4byte Unknown_8375F6C
- .4byte Unknown_8375F78
- .4byte Unknown_8375F84
- .4byte Unknown_8375F90
- .4byte Unknown_8375F9C
- .4byte Unknown_8375FA8
- .4byte Unknown_8375FB4
- .4byte Unknown_8375FC0
- .4byte Unknown_8375FCC
- .4byte Unknown_8375FD8
- .4byte Unknown_8375FE4
- .4byte Unknown_8375FF0
- .4byte Unknown_8375FFC
-
- .align 2
-Unknown_83759A0:
- .4byte sub_8060CE0
- .4byte sub_8063474
-
- .align 2
-Unknown_83759A8:
- .4byte sub_8060CF0
- .4byte sub_8063474
-
- .align 2
-Unknown_83759B0:
- .4byte sub_8060D00
- .4byte sub_8063474
-
- .align 2
-Unknown_83759B8:
- .4byte sub_8060D10
- .4byte sub_8063474
-
- .align 2
-gUnknown_083759C0:: @ 83759C0
- .4byte get_go_image_anim_num
- .4byte get_go_fast_image_anim_num
- .4byte get_go_fast_image_anim_num
- .4byte get_go_faster_image_anim_num
- .4byte sub_805FD78
-
- .align 2
-Unknown_83759D4:
- .4byte sub_8060F3C
- .4byte sub_8060F5C
- .4byte sub_8063474
-
- .align 2
-Unknown_83759E0:
- .4byte sub_8060F7C
- .4byte sub_8060F9C
- .4byte sub_8063474
-
- .align 2
-Unknown_83759EC:
- .4byte sub_8060FBC
- .4byte sub_8060FDC
- .4byte sub_8063474
-
- .align 2
-Unknown_83759F8:
- .4byte sub_8060FFC
- .4byte sub_806101C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A04:
- .4byte sub_806103C
- .4byte sub_806105C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A10:
- .4byte sub_806107C
- .4byte sub_806109C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A1C:
- .4byte sub_80610BC
- .4byte sub_80610DC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A28:
- .4byte sub_80610FC
- .4byte sub_806111C
- .4byte sub_8063474
-
- .align 1
-gUnknown_08375A34:: @ 8375A34
- .2byte 0, 1, 1
-
- .align 1
-gUnknown_08375A3A:: @ 8375A3A
- .2byte 0, 0, 1
-
- .align 2
-Unknown_8375A40:
- .4byte sub_80613A8
- .4byte sub_80613D4
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A4C:
- .4byte sub_8061400
- .4byte sub_806142C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A58:
- .4byte sub_8061458
- .4byte sub_8061484
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A64:
- .4byte sub_80614B0
- .4byte sub_80614DC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375A70:
- .4byte sub_806152C
- .4byte sub_8061510
- .4byte sub_8063470
-
- .align 2
-Unknown_8375A7C:
- .4byte sub_806154C
- .4byte sub_8061510
- .4byte sub_8063470
-
- .align 2
-Unknown_8375A88:
- .4byte sub_806156C
- .4byte sub_8061510
- .4byte sub_8063470
-
- .align 2
-Unknown_8375A94:
- .4byte sub_806158C
- .4byte sub_8061510
- .4byte sub_8063470
-
- .align 2
-Unknown_8375AA0:
- .4byte sub_80615AC
- .4byte sub_8061510
- .4byte sub_8063470
-
- .align 2
-Unknown_8375AAC:
- .4byte sub_80615CC
- .4byte sub_80615EC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375AB8:
- .4byte sub_806160C
- .4byte sub_806162C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375AC4:
- .4byte sub_806164C
- .4byte sub_806166C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375AD0:
- .4byte sub_806168C
- .4byte sub_80616AC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375ADC:
- .4byte sub_8061778
- .4byte sub_806173C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375AE8:
- .4byte sub_80617B0
- .4byte sub_806173C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375AF4:
- .4byte sub_80617E8
- .4byte sub_806173C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B00:
- .4byte sub_8061820
- .4byte sub_806173C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B0C:
- .4byte sub_8061858
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B18:
- .4byte sub_8061890
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B24:
- .4byte sub_80618C8
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B30:
- .4byte sub_8061900
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B3C:
- .4byte sub_8061938
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B48:
- .4byte sub_8061970
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B54:
- .4byte sub_80619A8
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B60:
- .4byte sub_80619E0
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B6C:
- .4byte sub_8061A18
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B78:
- .4byte sub_8061A50
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B84:
- .4byte sub_8061A88
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B90:
- .4byte sub_8061AC0
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375B9C:
- .4byte sub_8061AF8
- .4byte sub_8061B18
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BA8:
- .4byte sub_8061B38
- .4byte sub_8061B58
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BB4:
- .4byte sub_8061B78
- .4byte sub_8061B98
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BC0:
- .4byte sub_8061BB8
- .4byte sub_8061BD8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BCC:
- .4byte sub_8061BF8
- .4byte sub_8061C18
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BD8:
- .4byte sub_8061C38
- .4byte sub_8061C58
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BE4:
- .4byte sub_8061C78
- .4byte sub_8061C98
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BF0:
- .4byte sub_8061CB8
- .4byte sub_8061CD8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375BFC:
- .4byte sub_8061CF8
- .4byte sub_8061D18
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C08:
- .4byte sub_8061D38
- .4byte sub_8061D58
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C14:
- .4byte sub_8061D78
- .4byte sub_8061D98
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C20:
- .4byte sub_8061DB8
- .4byte sub_8061DD8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C2C:
- .4byte do_run_south_anim
- .4byte sub_8061E18
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C38:
- .4byte do_run_north_anim
- .4byte sub_8061E58
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C44:
- .4byte do_run_west_anim
- .4byte sub_8061E98
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C50:
- .4byte do_run_east_anim
- .4byte sub_8061ED8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C5C:
- .4byte sub_8061F24
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C68:
- .4byte sub_8061F90
- .4byte sub_8061FB0
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C74:
- .4byte sub_8061FD8
- .4byte sub_8061FF8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C80:
- .4byte sub_8062020
- .4byte sub_8062040
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C8C:
- .4byte sub_8062068
- .4byte sub_8062088
- .4byte sub_8063474
-
- .align 2
-Unknown_8375C98:
- .4byte sub_80620B0
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CA0:
- .4byte sub_806210C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CA8:
- .4byte sub_8062170
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CB0:
- .4byte sub_8062180
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CB8:
- .4byte sub_8062190
- .4byte sub_80621BC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CC4:
- .4byte sub_80621E8
- .4byte sub_8062214
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CD0:
- .4byte sub_8062240
- .4byte sub_806226C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CDC:
- .4byte sub_8062298
- .4byte sub_80622C4
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CE8:
- .4byte sub_80622F0
- .4byte sub_806231C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375CF4:
- .4byte sub_8062348
- .4byte sub_8062374
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D00:
- .4byte sub_80623A0
- .4byte sub_80623CC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D0C:
- .4byte sub_80623F8
- .4byte sub_8062424
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D18:
- .4byte sub_8062450
- .4byte sub_806247C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D24:
- .4byte sub_80624A8
- .4byte sub_80624D4
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D30:
- .4byte sub_8062500
- .4byte sub_806252C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D3C:
- .4byte sub_8062558
- .4byte sub_8062584
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D48:
- .4byte sub_80625B0
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D50:
- .4byte sub_80625C8
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375D5C:
- .4byte sub_80625D8
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D64:
- .4byte sub_80625E8
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D6C:
- .4byte sub_80625F8
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D74:
- .4byte sub_8062608
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D7C:
- .4byte sub_8062634
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D84:
- .4byte sub_8062644
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D8C:
- .4byte do_exclamation_mark_bubble_1
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D94:
- .4byte do_exclamation_mark_bubble_2
- .4byte sub_8063470
-
- .align 2
-Unknown_8375D9C:
- .4byte do_heart_bubble
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DA4:
- .4byte sub_80626C0
- .4byte sub_8062704
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DB0:
- .4byte sub_8062724
- .4byte sub_8062740
- .4byte sub_8062764
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DC0:
- .4byte sub_80627A0
- .4byte sub_80627BC
- .4byte sub_80627E0
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DD0:
- .4byte sub_806281C
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DD8:
- .4byte sub_806282C
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DE0:
- .4byte sub_806283C
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DE8:
- .4byte sub_806286C
- .4byte sub_8063470
-
- .align 2
-Unknown_8375DF0:
- .4byte sub_806289C
- .4byte sub_80628D0
- .4byte sub_8063474
-
- .align 2
-Unknown_8375DFC:
- .4byte sub_80628FC
- .4byte sub_8062930
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E08:
- .4byte sub_806299C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E10:
- .4byte sub_80629AC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E18:
- .4byte sub_80629BC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E20:
- .4byte sub_80629CC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E28:
- .4byte sub_80629DC
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E34:
- .4byte sub_8062A00
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E40:
- .4byte sub_8062A24
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E4C:
- .4byte sub_8062A48
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E58:
- .4byte sub_8062A6C
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E64:
- .4byte sub_8062A90
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E70:
- .4byte sub_8062AB4
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375E7C:
- .4byte sub_8062AD8
- .4byte sub_8061F3C
- .4byte sub_8063474
- .4byte sub_8062AFC
- .4byte sub_8061F3C
- .4byte sub_8063474
- .4byte sub_8062B20
- .4byte sub_8061F3C
- .4byte sub_8063474
- .4byte sub_8062B44
- .4byte sub_8061F3C
- .4byte sub_8063474
- .4byte sub_8062B68
- .4byte sub_8061F3C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375EB8:
- .4byte sub_8062BD0
- .4byte sub_8062BFC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375EC4:
- .4byte sub_8062C28
- .4byte sub_8062C54
- .4byte sub_8063474
-
- .align 2
-Unknown_8375ED0:
- .4byte sub_8062C80
- .4byte sub_8062CAC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375EDC:
- .4byte sub_8062CD8
- .4byte sub_8062D04
- .4byte sub_8063474
-
- .align 2
-Unknown_8375EE8:
- .4byte sub_8062D30
- .4byte sub_8062D5C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375EF4:
- .4byte sub_8062D88
- .4byte sub_8062DB4
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F00:
- .4byte sub_8062DE0
- .4byte sub_8062E0C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F0C:
- .4byte sub_8062E38
- .4byte sub_8062E64
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F18:
- .4byte sub_8062E90
- .4byte sub_8062EBC
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F24:
- .4byte sub_8062EE8
- .4byte sub_8062F14
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F30:
- .4byte sub_8062F40
- .4byte sub_8062F6C
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F3C:
- .4byte sub_8062F98
- .4byte sub_8062FC4
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F48:
- .4byte sub_8062FF0
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F54:
- .4byte sub_8063028
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F60:
- .4byte sub_8063060
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F6C:
- .4byte sub_8063098
- .4byte sub_8061714
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F78:
- .4byte sub_8063108
- .4byte sub_8063128
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F84:
- .4byte sub_8063148
- .4byte sub_8063168
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F90:
- .4byte sub_8063188
- .4byte sub_80631A8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375F9C:
- .4byte sub_80631C8
- .4byte sub_80631E8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FA8:
- .4byte sub_8063238
- .4byte sub_8063258
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FB4:
- .4byte sub_8063278
- .4byte sub_8063298
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FC0:
- .4byte sub_80632B8
- .4byte sub_80632D8
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FCC:
- .4byte sub_80632F8
- .4byte sub_8063318
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FD8:
- .4byte sub_8063370
- .4byte sub_8063390
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FE4:
- .4byte sub_80633B0
- .4byte sub_80633D0
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FF0:
- .4byte sub_80633F0
- .4byte sub_8063410
- .4byte sub_8063474
-
- .align 2
-Unknown_8375FFC:
- .4byte sub_8063430
- .4byte sub_8063450
- .4byte sub_8063474
-
- .align 2
-gUnknown_08376008:: @ 8376008
- .4byte 0x00000020
- .4byte 0x00000010
-
-@ Functions used to determine which category of tile the player is landing
-@ on after jumping over a ledge.
- .align 2
-gJumpLanding_MetatileFunctionPointers:: @ 8376010
- .4byte MetatileBehavior_IsTallGrass
- .4byte MetatileBehavior_IsLongGrass
- .4byte MetatileBehavior_IsPuddle
- .4byte MetatileBehavior_IsSurfableWaterOrUnderwater
- .4byte MetatileBehavior_IsShallowFlowingWater
- .4byte sub_8056D9C
-
-@ This table contains bitmasks used for determining the animation that happens when the player lands on
-@ the ground after jumping over a ledge. Each entry corresponds to the gJumpLanding_MetatileFunctionPointers table.
- .align 2
-gJumpLanding_Bitmasks:: @ 8376028
- .4byte 0x00001000 @ Landing in tall grass
- .4byte 0x00002000 @ Landing in long grass
- .4byte 0x00004000 @ Landing on puddle
- .4byte 0x00008000 @ Landing on surfable water or underwater
- .4byte 0x00004000 @ Landing on shallow flowing water
- .4byte 0x00010000 @ Landing on any other type of ground
-
- .align 2
-gUnknown_08376040:: @ 8376040
- .4byte MetatileBehavior_IsJumpSouth
- .4byte MetatileBehavior_IsJumpNorth
- .4byte MetatileBehavior_IsJumpWest
- .4byte MetatileBehavior_IsJumpEast
-
-gUnknown_08376050:: @ 8376050
- .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73
-
-@ Each byte corresponds to a sprite priority for a field object.
-@ This is directly the inverse of gFieldObjectPriorities_08376070.
-gFieldObjectPriorities_08376060:: @ 8376060
- .byte 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2
-
-@ Each byte corresponds to a sprite priority for a field object.
-@ This is the inverse of gFieldObjectPriorities_08376060.
-@ 1 = Above player sprite
-@ 2 = Below player sprite
-gFieldObjectPriorities_08376070:: @ 8376070
- .byte 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1
-
- .align 2
-gUnknown_08376080:: @ 8376080
- .4byte nullsub_50
- .4byte DoTracksGroundEffect_Footprints
- .4byte DoTracksGroundEffect_BikeTireTracks
-
-@ First byte is a Field Effect script id. (gFieldEffectScriptPointers)
-@ Last three bytes are unknown.
-gSandFootprints_FieldEffectData:: @ 837608C
- .byte 0xD, 0x0, 0x18, 0x0
-
-@ Specifies which bike track shape to show next.
-@ For example, when the bike turns from up to right, it will show
-@ a track that curves to the right.
-@ Each 4-byte row corresponds to the initial direction of the bike, and
-@ each byte in that row is for the next direction of the bike in the order
-@ of down, up, left, right.
-gBikeTireTracks_Transitions:: @ 8376090
- .byte 1, 2, 7, 8
- .byte 1, 2, 6, 5
- .byte 5, 8, 3, 4
- .byte 6, 7, 3, 4
-
- .align 2
-gUnknown_083760A0:: @ 83760A0
- .4byte GroundEffect_SpawnOnTallGrass
- .4byte sub_8063E94
- .4byte sub_8063EE0
- .4byte sub_8063F2C
- .4byte GroundEffect_WaterReflection
- .4byte GroundEffect_IceReflection
- .4byte GroundEffect_FlowingWater
- .4byte sub_8063FA0
- .4byte sub_8063FCC
- .4byte GroundEffect_Ripple
- .4byte GroundEffect_StepOnPuddle
- .4byte GroundEffect_SandPile
- .4byte GroundEffect_JumpOnTallGrass
- .4byte GroundEffect_JumpOnLongGrass
- .4byte GroundEffect_JumpOnShallowWater
- .4byte GroundEffect_JumpOnWater
- .4byte GroundEffect_JumpLandingDust
- .4byte GroundEffect_ShortGrass
- .4byte GroundEffect_HotSprings
- .4byte GroundEffect_Seaweed
-
- .align 2
-Unknown_83760F0:
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
-
- .align 2
-Unknown_8376130:
- .4byte sub_806456C
- .4byte sub_806456C
- .4byte sub_806456C
- .4byte sub_806456C
- .4byte sub_806456C
- .4byte sub_806456C
- .4byte sub_806456C
- .4byte sub_806456C
-
- .align 2
-Unknown_8376150:
- .4byte sub_806456C
- .4byte sub_8064590
- .4byte sub_8064590
- .4byte sub_806456C
- .4byte sub_8064590
- .4byte sub_8064590
-
- .align 2
-Unknown_8376168:
- .4byte sub_80645B8
- .4byte sub_80645B8
- .4byte sub_80645B8
- .4byte sub_80645B8
-
- .align 2
-Unknown_8376178:
- .4byte sub_80645DC
- .4byte sub_80645DC
-
- .align 2
-gUnknown_08376180:: @ 8376180
- .4byte Unknown_83760F0
- .4byte Unknown_8376130
- .4byte Unknown_8376150
- .4byte Unknown_8376168
- .4byte Unknown_8376178
-
- .align 1
-gUnknown_08376194:: @ 8376194
- .2byte 16, 8, 6, 4, 2
-Unknown_837619E:
- .byte -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0
-Unknown_83761AE:
- .byte 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0
-Unknown_83761BE:
- .byte -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0
-
- .align 2
-gUnknown_083761D0:: @ 83761D0
- .4byte Unknown_837619E
- .4byte Unknown_83761AE
- .4byte Unknown_83761BE
-
- .align 1
-gUnknown_083761DC:: @ 83761DC
- .2byte 0x10, 0x10, 0x20
-
-gUnknown_083761E2:: @ 83761E2
- .byte 0, 0, 1
-
- .align 1
-gUnknown_083761E6:: @ 83761E6
- .2byte 0x20, 0x20, 0x40
-
-gUnknown_083761EC:: @ 83761EC
- .byte 1, 1, 2
-
- .align 2
-gUnknown_083761F0:: @ 83761F0
- .4byte gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal
- .4byte gTextWindowFrame2_Gfx, gTextWindowFrame2_Pal
- .4byte gTextWindowFrame3_Gfx, gTextWindowFrame3_Pal
- .4byte gTextWindowFrame4_Gfx, gTextWindowFrame4_Pal
- .4byte gTextWindowFrame5_Gfx, gTextWindowFrame5_Pal
- .4byte gTextWindowFrame6_Gfx, gTextWindowFrame6_Pal
- .4byte gTextWindowFrame7_Gfx, gTextWindowFrame7_Pal
- .4byte gTextWindowFrame8_Gfx, gTextWindowFrame8_Pal
- .4byte gTextWindowFrame9_Gfx, gTextWindowFrame9_Pal
- .4byte gTextWindowFrame10_Gfx, gTextWindowFrame10_Pal
- .4byte gTextWindowFrame11_Gfx, gTextWindowFrame11_Pal
- .4byte gTextWindowFrame12_Gfx, gTextWindowFrame12_Pal
- .4byte gTextWindowFrame13_Gfx, gTextWindowFrame13_Pal
- .4byte gTextWindowFrame14_Gfx, gTextWindowFrame14_Pal
- .4byte gTextWindowFrame15_Gfx, gTextWindowFrame15_Pal
- .4byte gTextWindowFrame16_Gfx, gTextWindowFrame16_Pal
- .4byte gTextWindowFrame17_Gfx, gTextWindowFrame17_Pal
- .4byte gTextWindowFrame18_Gfx, gTextWindowFrame18_Pal
- .4byte gTextWindowFrame19_Gfx, gTextWindowFrame19_Pal
- .4byte gTextWindowFrame20_Gfx, gTextWindowFrame20_Pal
-
- .align 1
-gMessageBoxTilemap:: @ 8376290
- .incbin "graphics/text_window/message_box_map.bin"
-
- .align 2
-gUnknown_083762D8:: @ 83762D8
- .4byte NULL
-
-gScriptConditionTable:: @ 83762DC
- @ < = >
- .byte 1, 0, 0 @ <
- .byte 0, 1, 0 @ =
- .byte 0, 0, 1 @ >
- .byte 1, 1, 0 @ <=
- .byte 0, 1, 1 @ >=
- .byte 1, 0, 1 @ !=
-
- .align 2
-gUnknown_083762F0:: @ 83762F0
- .4byte gStringVar1
- .4byte gStringVar2
- .4byte gStringVar3
-
- .align 2
-gUnknown_083762FC:: @ 83762FC
- .4byte 0x1, sub_806936C
- .4byte 0x2, sub_8069378
- .4byte 0x3, sub_8069384
- .4byte 0x4, sub_8069390
- .4byte 0x5, sub_806939C
- .4byte 0x6, sub_80693A8
- .4byte 0x7, sub_80693B4
- .4byte 0x8, sub_80693C0
- .4byte 0x9, sub_80693CC
- .4byte 0xa, sub_80693D8
- .4byte 0xb, sub_80693E4
- .4byte 0x14, sub_80693F0
- .4byte 0x15, sub_80693FC
-
- .align 2
-gUnknown_08376364:: @ 8376364
- .4byte nullsub_51
- .4byte sub_8069F64
- .4byte sub_8069AA0
- .4byte sub_8069864
- .4byte sub_8069DD4
- .4byte EndTruckSequence
- .4byte sub_80BCF1C
- .4byte sub_806A07C
-
-gUnknown_08376384:: @ 8376384
- .incbin "baserom.gba", 0x00376384, 0x20
-
-gUnknown_083763A4:: @ 83763A4
- .incbin "baserom.gba", 0x003763a4, 0x20
-
-gUnknown_083763C4:: @ 83763C4
- .incbin "baserom.gba", 0x003763c4, 0x20
-
-gUnknown_083763E4:: @ 83763E4
- .incbin "baserom.gba", 0x003763e4, 0x30
-
-gUnknown_08376414:: @ 8376414
- .space 4
-
-gUnknown_08376418:: @ 8376418
- .incbin "baserom.gba", 0x00376418, 0x44
-
- .align 2
-gOamData_837645C:: @ 837645C
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteImage_8376464:: @ 8376464
- .incbin "graphics/unknown_sprites/83764AC/0.4bpp"
-
- .align 2
-gSpriteImage_8376484:: @ 8376484
- .incbin "graphics/unknown_sprites/83764AC/1.4bpp"
-
- .align 2
-Palette_3764A4: @ 83764A4
- .incbin "baserom.gba", 0x3764a4, 0x8
-
- .align 2
-gSpriteImageTable_83764AC:: @ 83764AC
- obj_frame_tiles gSpriteImage_8376464, 0x20
- obj_frame_tiles gSpriteImage_8376484, 0x20
-
- .align 2
-gUnknown_083764BC:: @ 83764BC
- obj_pal Palette_3764A4, 0x1000
-
- .align 2
-gSpriteAnim_83764C4:: @ 83764C4
- obj_image_anim_frame 0, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83764CC:: @ 83764CC
- obj_image_anim_frame 0, 30, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83764D4:: @ 83764D4
- obj_image_anim_frame 1, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83764DC:: @ 83764DC
- .4byte gSpriteAnim_83764C4
- .4byte gSpriteAnim_83764CC
- .4byte gSpriteAnim_83764D4
-
- .align 2
-gSpriteTemplate_83764E8:: @ 83764E8
- spr_template 0xFFFF, 0x1000, gOamData_837645C, gSpriteAnimTable_83764DC, gSpriteImageTable_83764AC, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_08376500:: @ 8376500
- .incbin "baserom.gba", 0x00376500, 0x4
-
- .align 1
-gUnknown_08376504:: @ 8376504
- .2byte MOVE_FOCUS_PUNCH
- .2byte MOVE_DRAGON_CLAW
- .2byte MOVE_WATER_PULSE
- .2byte MOVE_CALM_MIND
- .2byte MOVE_ROAR
- .2byte MOVE_TOXIC
- .2byte MOVE_HAIL
- .2byte MOVE_BULK_UP
- .2byte MOVE_BULLET_SEED
- .2byte MOVE_HIDDEN_POWER
- .2byte MOVE_SUNNY_DAY
- .2byte MOVE_TAUNT
- .2byte MOVE_ICE_BEAM
- .2byte MOVE_BLIZZARD
- .2byte MOVE_HYPER_BEAM
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_PROTECT
- .2byte MOVE_RAIN_DANCE
- .2byte MOVE_GIGA_DRAIN
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_FRUSTRATION
- .2byte MOVE_SOLAR_BEAM
- .2byte MOVE_IRON_TAIL
- .2byte MOVE_THUNDERBOLT
- .2byte MOVE_THUNDER
- .2byte MOVE_EARTHQUAKE
- .2byte MOVE_RETURN
- .2byte MOVE_DIG
- .2byte MOVE_PSYCHIC
- .2byte MOVE_SHADOW_BALL
- .2byte MOVE_BRICK_BREAK
- .2byte MOVE_DOUBLE_TEAM
- .2byte MOVE_REFLECT
- .2byte MOVE_SHOCK_WAVE
- .2byte MOVE_FLAMETHROWER
- .2byte MOVE_SLUDGE_BOMB
- .2byte MOVE_SANDSTORM
- .2byte MOVE_FIRE_BLAST
- .2byte MOVE_ROCK_TOMB
- .2byte MOVE_AERIAL_ACE
- .2byte MOVE_TORMENT
- .2byte MOVE_FACADE
- .2byte MOVE_SECRET_POWER
- .2byte MOVE_REST
- .2byte MOVE_ATTRACT
- .2byte MOVE_THIEF
- .2byte MOVE_STEEL_WING
- .2byte MOVE_SKILL_SWAP
- .2byte MOVE_SNATCH
- .2byte MOVE_OVERHEAT
- .2byte MOVE_CUT
- .2byte MOVE_FLY
- .2byte MOVE_SURF
- .2byte MOVE_STRENGTH
- .2byte MOVE_FLASH
- .2byte MOVE_ROCK_SMASH
- .2byte MOVE_WATERFALL
- .2byte MOVE_DIVE
-
- .4byte gTileBuffer @ unreferenced?
-
-MenuGfx_HoldIcons:
- .incbin "graphics/interface/hold_icons.4bpp"
-MenuPal_HoldIcons:
- .incbin "graphics/interface/hold_icons.gbapal"
-
- .align 2
-gUnknown_083765DC:: @ 83765DC
- obj_tiles MenuGfx_HoldIcons, 64, 0xd750
-
- .align 2
-gUnknown_083765E4:: @ 83765E4
- obj_pal MenuPal_HoldIcons, 0xd750
-
- .align 2
-gOamData_83765EC:: @ 83765EC
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83765F4:: @ 83765F4
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83765FC:: @ 83765FC
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8376604:: @ 8376604
- .4byte gSpriteAnim_83765F4
- .4byte gSpriteAnim_83765FC
-
- .align 2
-gSpriteTemplate_837660C:: @ 837660C
- spr_template 55120, 55120, gOamData_83765EC, gSpriteAnimTable_8376604, NULL, gDummySpriteAffineAnimTable, sub_806DD7C
-
- .align 2
-gUnknown_08376624:: @ 8376624
- .4byte OtherText_ChoosePoke
- .4byte OtherText_MovePokeTo
- .4byte OtherText_TeachWhat
- .4byte OtherText_UseWhat
- .4byte OtherText_GiveWhat
- .4byte OtherText_DoWhat
- .4byte OtherText_NothingToCut
- .4byte OtherText_CantSurf
- .4byte OtherText_AlreadySurfing
- .4byte OtherText_CantUseThatHere
- .4byte OtherText_RestoreWhatMove
- .4byte OtherText_BoostPP
- .4byte gOtherText_CancelWithTerminator
- .4byte OtherText_DoWhatWithItem
- .4byte OtherText_NoPokeForBattle
- .4byte OtherText_ChoosePoke2
- .4byte OtherText_NotEnoughHP
- .4byte OtherText_ThreePokeNeeded
- .4byte OtherText_PokeCantBeSame
- .4byte OtherText_NoIdenticalHoldItems
- .4byte OtherText_TeachWhichPoke
-
- .align 2
-gUnknown_08376678:: @ 8376678
- .byte 16, 40, 0, 0
- .byte 104, 18, 0, 0
- .byte 104, 42, 0, 0
- .byte 104, 66, 0, 0
- .byte 104, 90, 0, 0
- .byte 104, 114, 0, 0
- .byte 16, 24, 0, 0
- .byte 16, 80, 0, 0
- .byte 104, 18, 0, 0
- .byte 104, 50, 0, 0
- .byte 104, 82, 0, 0
- .byte 104, 114, 0, 0
- .byte 16, 24, 0, 0
- .byte 16, 80, 0, 0
- .byte 104, 26, 0, 0
- .byte 104, 50, 0, 0
- .byte 104, 82, 0, 0
- .byte 104, 106, 0, 0
- .byte 16, 24, 0, 0
- .byte 104, 26, 0, 0
- .byte 104, 50, 0, 0
- .byte 16, 80, 0, 0
- .byte 104, 82, 0, 0
- .byte 104, 106, 0, 0
- .byte 5, 4, 0, 0
- .byte 16, 1, 0, 0
- .byte 16, 4, 0, 0
- .byte 16, 7, 0, 0
- .byte 16, 10, 0, 0
- .byte 16, 13, 0, 0
- .byte 5, 2, 0, 0
- .byte 5, 9, 0, 0
- .byte 16, 1, 0, 0
- .byte 16, 5, 0, 0
- .byte 16, 9, 0, 0
- .byte 16, 13, 0, 0
- .byte 5, 2, 0, 0
- .byte 5, 9, 0, 0
- .byte 16, 2, 0, 0
- .byte 16, 5, 0, 0
- .byte 16, 9, 0, 0
- .byte 16, 12, 0, 0
- .byte 5, 2, 0, 0
- .byte 16, 2, 0, 0
- .byte 16, 5, 0, 0
- .byte 5, 9, 0, 0
- .byte 16, 9, 0, 0
- .byte 16, 12, 0, 0
-
- .align 2
-gUnknown_08376738:: @ 8376738
- .byte 6, 5, 0, 0
- .byte 17, 2, 0, 0
- .byte 17, 5, 0, 0
- .byte 17, 8, 0, 0
- .byte 17, 11, 0, 0
- .byte 17, 14, 0, 0
- .byte 6, 3, 0, 0
- .byte 6, 10, 0, 0
- .byte 17, 2, 0, 0
- .byte 17, 6, 0, 0
- .byte 17, 10, 0, 0
- .byte 17, 14, 0, 0
- .byte 6, 3, 0, 0
- .byte 6, 10, 0, 0
- .byte 17, 3, 0, 0
- .byte 17, 6, 0, 0
- .byte 17, 10, 0, 0
- .byte 17, 13, 0, 0
- .byte 6, 3, 0, 0
- .byte 17, 3, 0, 0
- .byte 17, 6, 0, 0
- .byte 6, 10, 0, 0
- .byte 17, 10, 0, 0
- .byte 17, 13, 0, 0
- .byte 3, 7, 0, 0
- .byte 22, 2, 0, 0
- .byte 22, 5, 0, 0
- .byte 22, 8, 0, 0
- .byte 22, 11, 0, 0
- .byte 22, 14, 0, 0
- .byte 3, 5, 0, 0
- .byte 3, 12, 0, 0
- .byte 22, 2, 0, 0
- .byte 22, 6, 0, 0
- .byte 22, 10, 0, 0
- .byte 22, 14, 0, 0
- .byte 3, 5, 0, 0
- .byte 3, 12, 0, 0
- .byte 22, 3, 0, 0
- .byte 22, 6, 0, 0
- .byte 22, 10, 0, 0
- .byte 22, 13, 0, 0
- .byte 3, 5, 0, 0
- .byte 22, 3, 0, 0
- .byte 22, 6, 0, 0
- .byte 3, 12, 0, 0
- .byte 22, 10, 0, 0
- .byte 22, 13, 0, 0
- .byte 7, 7, 0, 0
- .byte 26, 2, 0, 0
- .byte 26, 5, 0, 0
- .byte 26, 8, 0, 0
- .byte 26, 11, 0, 0
- .byte 26, 14, 0, 0
- .byte 7, 5, 0, 0
- .byte 7, 12, 0, 0
- .byte 26, 2, 0, 0
- .byte 26, 6, 0, 0
- .byte 26, 10, 0, 0
- .byte 26, 14, 0, 0
- .byte 7, 5, 0, 0
- .byte 7, 12, 0, 0
- .byte 26, 3, 0, 0
- .byte 26, 6, 0, 0
- .byte 26, 10, 0, 0
- .byte 26, 13, 0, 0
- .byte 7, 5, 0, 0
- .byte 26, 3, 0, 0
- .byte 26, 6, 0, 0
- .byte 7, 12, 0, 0
- .byte 26, 10, 0, 0
- .byte 26, 13, 0, 0
-
- .align 2
-gUnknown_08376858:: @ 8376858
- .4byte BG_VRAM + 0xF1C8
- .4byte BG_VRAM + 0xF0AE
- .4byte BG_VRAM + 0xF16E
- .4byte BG_VRAM + 0xF22E
- .4byte BG_VRAM + 0xF2EE
- .4byte BG_VRAM + 0xF3AE
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF0AE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF3AE
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF0EE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF36E
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF0EE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF36E
-
- .align 2
-gUnknown_083768B8:: @ 83768B8
- .byte 8, 44, 0, 0
- .byte 92, 22, 0, 0
- .byte 92, 46, 0, 0
- .byte 92, 70, 0, 0
- .byte 92, 94, 0, 0
- .byte 92, 118, 0, 0
- .byte 196, 136, 0, 0
- .byte 196, 152, 0, 0
- .byte 8, 28, 0, 0
- .byte 8, 84, 0, 0
- .byte 92, 22, 0, 0
- .byte 92, 54, 0, 0
- .byte 92, 86, 0, 0
- .byte 92, 118, 0, 0
- .byte 196, 136, 0, 0
- .byte 196, 152, 0, 0
- .byte 8, 28, 0, 0
- .byte 8, 84, 0, 0
- .byte 92, 30, 0, 0
- .byte 92, 54, 0, 0
- .byte 92, 86, 0, 0
- .byte 92, 110, 0, 0
- .byte 196, 136, 0, 0
- .byte 196, 152, 0, 0
-
- .align 2
-gUnknown_08376918:: @ 8376918
- .4byte BG_VRAM + 0xF1C6
- .4byte BG_VRAM + 0xF06C
- .4byte BG_VRAM + 0xF12C
- .4byte BG_VRAM + 0xF1EC
- .4byte BG_VRAM + 0xF2AC
- .4byte BG_VRAM + 0xF36C
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF0AE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF3AE
-
- .align 2
-gUnknown_08376948:: @ 8376948
- .byte 2, 4, 10, 9
- .byte 16, 1, 29, 3
- .byte 16, 4, 29, 6
- .byte 16, 7, 29, 9
- .byte 16, 10, 29, 12
- .byte 16, 13, 29, 15
- .byte 2, 2, 10, 7
- .byte 2, 9, 10, 14
- .byte 16, 1, 29, 3
- .byte 16, 5, 29, 7
- .byte 16, 9, 29, 11
- .byte 16, 13, 29, 15
-
- .align 2
-gUnknown_08376978:: @ 8376978
- .byte 2, 7, 10, 9
- .byte 21, 1, 29, 3
- .byte 21, 4, 29, 6
- .byte 21, 7, 29, 9
- .byte 21, 10, 29, 12
- .byte 21, 13, 29, 15
- .byte 2, 2, 10, 7
- .byte 2, 9, 10, 14
- .byte 16, 1, 29, 3
- .byte 16, 5, 29, 7
- .byte 16, 9, 29, 11
- .byte 16, 13, 29, 15
-
- .align 2
-gUnknown_083769A8:: @ 83769A8
- .byte 0, 3
- .byte 11, 1
- .byte 11, 4
- .byte 11, 7
- .byte 11, 10
- .byte 11, 13
- .byte 0, 1
- .byte 0, 8
- .byte 11, 1
- .byte 11, 5
- .byte 11, 9
- .byte 11, 13
-
- .align 2
-gUnknown_083769C0:: @ 83769C0
- .byte 0, 1
- .byte 0, 8
- .byte 11, 2
- .byte 11, 5
- .byte 11, 9
- .byte 11, 12
- .byte 0, 1
- .byte 0, 8
- .byte 11, 2
- .byte 11, 5
- .byte 11, 9
- .byte 11, 12
-
-gUnknown_083769D8:: @ 83769D8
- .byte 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27
- .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
- .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
- .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
- .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47
- .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47
- .byte 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57
-
-gUnknown_08376A25:: @ 8376A25
- .byte 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53
- .byte 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63
- .byte 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73
-
-gUnknown_08376A5E:: @ 8376A5E
- .byte 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23
- .byte 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33
- .byte 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43
-
-@ unknown, unreferenced data
- .byte 0x0C
- .byte 0x0D
- .byte 0x0E
- .byte 0x0F
- .byte 0x00
- .byte 0x01
- .byte 0x02
- .byte 0x03
- .byte 0x04
- .byte 0x05
- .byte 0x0F
- .byte 0x10
- .byte 0x11
- .byte 0x12
- .byte 0x13
- .byte 0x14
- .byte 0x15
- .byte 0x0F
- .byte 0x06
- .byte 0x05
- .byte 0x01
- .byte 0x07
- .byte 0x08
- .byte 0x09
- .byte 0x0F
- .byte 0x16
- .byte 0x15
- .byte 0x11
- .byte 0x17
- .byte 0x18
- .byte 0x19
- .byte 0x0F
- .byte 0x09
- .byte 0x0A
- .byte 0x0B
- .byte 0x05
- .byte 0x0C
- .byte 0x0F
- .byte 0x0F
- .byte 0x19
- .byte 0x1A
- .byte 0x1B
- .byte 0x15
- .byte 0x1C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0D
- .byte 0x0B
- .byte 0x05
- .byte 0x0C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x1D
- .byte 0x1B
- .byte 0x15
- .byte 0x1C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x06
- .byte 0x05
- .byte 0x0B
- .byte 0x05
- .byte 0x0C
- .byte 0x0F
- .byte 0x0F
- .byte 0x16
- .byte 0x15
- .byte 0x1B
- .byte 0x15
- .byte 0x1C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x20
- .byte 0x0C
- .byte 0x09
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x1F
- .byte 0x30
- .byte 0x1C
- .byte 0x19
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x25
- .byte 0x0F
- .byte 0x22
- .byte 0x24
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x35
- .byte 0x41
- .byte 0x32
- .byte 0x34
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x26
- .byte 0x0F
- .byte 0x23
- .byte 0x0E
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x36
- .byte 0x43
- .byte 0x33
- .byte 0x1E
- .byte 0x0F
- .byte 0x0F
- .byte 0x27
- .byte 0x28
- .byte 0x29
- .byte 0x03
- .byte 0x2A
- .byte 0x0F
- .byte 0x0F
- .byte 0x37
- .byte 0x38
- .byte 0x39
- .byte 0x13
- .byte 0x3A
- .byte 0x0F
- .byte 0x0F
- .byte 0x27
- .byte 0x28
- .byte 0x29
- .byte 0x03
- .byte 0x04
- .byte 0x05
- .byte 0x0F
- .byte 0x37
- .byte 0x38
- .byte 0x39
- .byte 0x13
- .byte 0x14
- .byte 0x15
- .byte 0x0F
- .byte 0x2B
- .byte 0x2C
- .byte 0x02
- .byte 0x28
- .byte 0x29
- .byte 0x2D
- .byte 0x21
- .byte 0x3B
- .byte 0x3C
- .byte 0x12
- .byte 0x38
- .byte 0x39
- .byte 0x3D
- .byte 0x31
- .byte 0x2B
- .byte 0x2C
- .byte 0x02
- .byte 0x28
- .byte 0x29
- .byte 0x08
- .byte 0x09
- .byte 0x3B
- .byte 0x3C
- .byte 0x12
- .byte 0x38
- .byte 0x39
- .byte 0x18
- .byte 0x19
- .byte 0x2E
- .byte 0x2F
- .byte 0x2B
- .byte 0x2C
- .byte 0x02
- .byte 0x27
- .byte 0x2D
- .byte 0x3E
- .byte 0x3F
- .byte 0x3B
- .byte 0x3C
- .byte 0x12
- .byte 0x45
- .byte 0x3D
-
- .align 2
-gUnknown_08376B54:: @ 8376B54
- .4byte ether_effect_related_2
- .4byte sub_80704F0
-
- .align 1
-Unknown_08376B5C:
- .2byte 0x4000, 0x4018, 0xF400
- .2byte 0x4000, 0x4038, 0xF404
- .2byte 0x4008, 0x4018, 0xF408
- .2byte 0x4008, 0x4038, 0xF40C
- .2byte 0x4010, 0x4020, 0xF410
- .2byte 0x4020, 0x4025, 0xF418
- .2byte 0x4020, 0x4045, 0xF41C
- .2byte -1
-
- .align 1
-Unknown_08376B88:
- .2byte 0x4000, 0x4018, 0xF400
- .2byte 0x4000, 0x4038, 0xF404
- .2byte 0x4008, 0x4018, 0xF408
- .2byte 0x4008, 0x4038, 0xF40C
- .2byte 0x4010, 0x4020, 0xF410
- .2byte 0x4010, 0x4065, 0xF418
- .2byte 0x4010, 0x4085, 0xF41C
- .2byte -1
-
- .align 2
-gUnknown_08376BB4:: @ 8376BB4
- .byte 0x1, 0x4
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x1
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x4
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x7
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xA
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xD
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x2
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0x1, 0x9
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x1
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x5
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x9
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xD
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x2
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0x1, 0x9
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x2
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x5
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x9
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xC
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x2
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x2
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x5
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x9
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x9
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xC
- .space 2
- .4byte Unknown_08376B88
-
- .align 2
-gUnknown_08376C74:: @ 8376C74
- .4byte sub_8089CD4, sub_806AFD0, 0
- .4byte sub_8095118, sub_8094E58, 0
- .4byte sub_80F9C6C, sub_80F9ACC, 0
- .4byte sub_80F9C6C, sub_806AFD0, 0
- .4byte sub_81222B0, sub_8121E78, 0
- .4byte sub_8122A48, sub_8122854, 0xFF
- .4byte sub_8122E0C, sub_806AFD0, 0x0F
- .4byte sub_80F9E64, sub_80F9CE8, 0
-
- .align 2
-gUnknown_08376CD4:: @ 8376CD4
- .2byte 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F
- .2byte 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F
-
- .align 2
-gUnknown_08376CEC:: @ 8376CEC
- .2byte 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F
- .2byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
-
- .align 2
-gUnknown_08376D04:: @ 8376D04
- .4byte gOtherText_HP
- .4byte gOtherText_Attack
- .4byte gOtherText_Defense
- .4byte gOtherText_SpAtk
- .4byte gOtherText_SpDef
- .4byte gOtherText_Speed
-
-gUnknown_08376D1C:: @ 8376D1C
- .byte 0x3A @ HP
- .byte 0x3B @ Attack
- .byte 0x3C @ Defense
- .byte 0x3E @ Sp. Attack
- .byte 0x3F @ Sp. Defense
- .byte 0x3D @ Speed
-
- .align 2
-gStartMenuItems:: @ 8376D24
- .4byte SystemText_Pokedex, StartMenu_PokedexCallback
- .4byte SystemText_Pokemon, StartMenu_PokemonCallback
- .4byte SystemText_BAG, StartMenu_BagCallback
- .4byte SystemText_Pokenav, StartMenu_PokenavCallback
- .4byte SystemText_Player, StartMenu_PlayerCallback
- .4byte SystemText_Save, StartMenu_SaveCallback
- .4byte SystemText_Option, StartMenu_OptionCallback
- .4byte SystemText_Exit, StartMenu_ExitCallback
- .4byte SystemText_Retire, StartMenu_RetireCallback
- .4byte SystemText_Player, StartMenu_PlayerLinkCallback
-
- .align 2
-gUnknown_08376D74:: @ 8376D74
- .4byte OtherText_Yes, 0
- .4byte OtherText_No, 0
-
- .align 2
-TilesetAnimTiles_General_0_1: @ 8376D84
- .incbin "data/tilesets/primary/general/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_0_0: @ 8376E04
- .incbin "data/tilesets/primary/general/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_0_2: @ 8376E84
- .incbin "data/tilesets/primary/general/anim/0/2.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_General_0:: @ 8376F24
- .4byte TilesetAnimTiles_General_0_0
- .4byte TilesetAnimTiles_General_0_1
- .4byte TilesetAnimTiles_General_0_0
- .4byte TilesetAnimTiles_General_0_2
-
- .align 2
-TilesetAnimTiles_General_1_0: @ 8376F34
- .incbin "data/tilesets/primary/general/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_1: @ 83772F4
- .incbin "data/tilesets/primary/general/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_2: @ 83776B4
- .incbin "data/tilesets/primary/general/anim/1/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_3: @ 8377A74
- .incbin "data/tilesets/primary/general/anim/1/3.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_4: @ 8377E34
- .incbin "data/tilesets/primary/general/anim/1/4.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_5: @ 83781F4
- .incbin "data/tilesets/primary/general/anim/1/5.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_6: @ 83785B4
- .incbin "data/tilesets/primary/general/anim/1/6.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_7: @ 8378974
- .incbin "data/tilesets/primary/general/anim/1/7.4bpp"
-
- .align 2
-gTilesetAnimTable_General_1:: @ 8378D34
- .4byte TilesetAnimTiles_General_1_0
- .4byte TilesetAnimTiles_General_1_1
- .4byte TilesetAnimTiles_General_1_2
- .4byte TilesetAnimTiles_General_1_3
- .4byte TilesetAnimTiles_General_1_4
- .4byte TilesetAnimTiles_General_1_5
- .4byte TilesetAnimTiles_General_1_6
- .4byte TilesetAnimTiles_General_1_7
-
- .align 2
-TilesetAnimTiles_General_2_0: @ 8378D54
- .incbin "data/tilesets/primary/general/anim/2/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_1: @ 8378E94
- .incbin "data/tilesets/primary/general/anim/2/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_2: @ 8378FD4
- .incbin "data/tilesets/primary/general/anim/2/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_3: @ 8379114
- .incbin "data/tilesets/primary/general/anim/2/3.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_4: @ 8379254
- .incbin "data/tilesets/primary/general/anim/2/4.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_5: @ 8379394
- .incbin "data/tilesets/primary/general/anim/2/5.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_6: @ 83794D4
- .incbin "data/tilesets/primary/general/anim/2/6.4bpp"
-
- .align 2
-gTilesetAnimTable_General_2:: @ 8379614
- .4byte TilesetAnimTiles_General_2_0
- .4byte TilesetAnimTiles_General_2_1
- .4byte TilesetAnimTiles_General_2_2
- .4byte TilesetAnimTiles_General_2_3
- .4byte TilesetAnimTiles_General_2_4
- .4byte TilesetAnimTiles_General_2_5
- .4byte TilesetAnimTiles_General_2_6
- .4byte TilesetAnimTiles_General_2_0
-
- .align 2
-TilesetAnimTiles_General_3_0: @ 8379634
- .incbin "data/tilesets/primary/general/anim/3/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_3_1: @ 83796F4
- .incbin "data/tilesets/primary/general/anim/3/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_3_2: @ 83797B4
- .incbin "data/tilesets/primary/general/anim/3/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_3_3: @ 8379874
- .incbin "data/tilesets/primary/general/anim/3/3.4bpp"
-
- .align 2
-gTilesetAnimTable_General_3:: @ 8379934
- .4byte TilesetAnimTiles_General_3_0
- .4byte TilesetAnimTiles_General_3_1
- .4byte TilesetAnimTiles_General_3_2
- .4byte TilesetAnimTiles_General_3_3
-
- .align 2
-TilesetAnimTiles_General_4_0: @ 8379944
- .incbin "data/tilesets/primary/general/anim/4/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_4_1: @ 8379A84
- .incbin "data/tilesets/primary/general/anim/4/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_4_2: @ 8379BC4
- .incbin "data/tilesets/primary/general/anim/4/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_4_3: @ 8379D04
- .incbin "data/tilesets/primary/general/anim/4/3.4bpp"
-
- .align 2
-gTilesetAnimTable_General_4:: @ 8379E44
- .4byte TilesetAnimTiles_General_4_0
- .4byte TilesetAnimTiles_General_4_1
- .4byte TilesetAnimTiles_General_4_2
- .4byte TilesetAnimTiles_General_4_3
-
- .align 2
-TilesetAnimTiles_Lavaridge_0: @ 8379E54
- .incbin "data/tilesets/secondary/lavaridge/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Lavaridge_1: @ 8379ED4
- .incbin "data/tilesets/secondary/lavaridge/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Lavaridge_2: @ 8379F54
- .incbin "data/tilesets/secondary/lavaridge/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Lavaridge_3: @ 8379FD4
- .incbin "data/tilesets/secondary/lavaridge/anim/3.4bpp"
-
- .align 2
-gTilesetAnimTable_Lavaridge:: @ 837A054
- .4byte TilesetAnimTiles_Lavaridge_0
- .4byte TilesetAnimTiles_Lavaridge_1
- .4byte TilesetAnimTiles_Lavaridge_2
- .4byte TilesetAnimTiles_Lavaridge_3
-
- .align 2
-TilesetAnimTiles_Pacifidlog_0_0: @ 837A064
- .incbin "data/tilesets/secondary/pacifidlog/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_0_1: @ 837A424
- .incbin "data/tilesets/secondary/pacifidlog/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_0_2: @ 837A7E4
- .incbin "data/tilesets/secondary/pacifidlog/anim/0/2.4bpp"
-
- .align 2
-gTilesetAnimTable_Pacifidlog_0:: @ 837ABA4
- .4byte TilesetAnimTiles_Pacifidlog_0_0
- .4byte TilesetAnimTiles_Pacifidlog_0_1
- .4byte TilesetAnimTiles_Pacifidlog_0_2
- .4byte TilesetAnimTiles_Pacifidlog_0_1
-
- .align 2
-TilesetAnimTiles_Underwater_0: @ 837ABB4
- .incbin "data/tilesets/secondary/underwater/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Underwater_1: @ 837AC34
- .incbin "data/tilesets/secondary/underwater/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Underwater_2: @ 837ACB4
- .incbin "data/tilesets/secondary/underwater/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Underwater_3: @ 837AD34
- .incbin "data/tilesets/secondary/underwater/anim/3.4bpp"
-
- .align 2
-gTilesetAnimTable_Underwater:: @ 837ADB4
- .4byte TilesetAnimTiles_Underwater_0
- .4byte TilesetAnimTiles_Underwater_1
- .4byte TilesetAnimTiles_Underwater_2
- .4byte TilesetAnimTiles_Underwater_3
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_0: @ 837ADC4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_1: @ 837AEC4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_2: @ 837AFC4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_3: @ 837B0C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_4: @ 837B1C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_5: @ 837B2C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_6: @ 837B3C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_7: @ 837B4C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"
-
- .align 2
-gTilesetAnimTable_Pacifidlog_1:: @ 837B5C4
- .4byte TilesetAnimTiles_Pacifidlog_1_0
- .4byte TilesetAnimTiles_Pacifidlog_1_1
- .4byte TilesetAnimTiles_Pacifidlog_1_2
- .4byte TilesetAnimTiles_Pacifidlog_1_3
- .4byte TilesetAnimTiles_Pacifidlog_1_4
- .4byte TilesetAnimTiles_Pacifidlog_1_5
- .4byte TilesetAnimTiles_Pacifidlog_1_6
- .4byte TilesetAnimTiles_Pacifidlog_1_7
-
- .align 2
-TilesetAnimTiles_Mauville_0_0: @ 837B5E4
- .incbin "data/tilesets/secondary/mauville/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_1: @ 837B664
- .incbin "data/tilesets/secondary/mauville/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_2: @ 837B6E4
- .incbin "data/tilesets/secondary/mauville/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_3: @ 837B764
- .incbin "data/tilesets/secondary/mauville/anim/0/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_4: @ 837B7E4
- .incbin "data/tilesets/secondary/mauville/anim/0/4.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_0: @ 837B864
- .incbin "data/tilesets/secondary/mauville/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_1: @ 837B8E4
- .incbin "data/tilesets/secondary/mauville/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_2: @ 837B964
- .incbin "data/tilesets/secondary/mauville/anim/1/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_3: @ 837B9E4
- .incbin "data/tilesets/secondary/mauville/anim/1/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_4: @ 837BA64
- .incbin "data/tilesets/secondary/mauville/anim/1/4.4bpp"
-
- .align 2
-gUnknown_0837BAE4:: @ 837BAE4
- .4byte 0x06004C00
- .4byte 0x06004C80
- .4byte 0x06004D00
- .4byte 0x06004D80
- .4byte 0x06004E00
- .4byte 0x06004E80
- .4byte 0x06004F00
- .4byte 0x06004F80
-
- .align 2
-gUnknown_0837BB04:: @ 837BB04
- .4byte 0x06005000
- .4byte 0x06005080
- .4byte 0x06005100
- .4byte 0x06005180
- .4byte 0x06005200
- .4byte 0x06005280
- .4byte 0x06005300
- .4byte 0x06005380
-
- .align 2
-gTilesetAnimTable_Mauville_0A:: @ 837BB24
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_1
- .4byte TilesetAnimTiles_Mauville_0_2
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_2
- .4byte TilesetAnimTiles_Mauville_0_1
-
- .align 2
-gTilesetAnimTable_Mauville_1A:: @ 837BB54
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_1
- .4byte TilesetAnimTiles_Mauville_1_2
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_2
- .4byte TilesetAnimTiles_Mauville_1_1
-
- .align 2
-gTilesetAnimTable_Mauville_0B:: @ 837BB84
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_4
- .4byte TilesetAnimTiles_Mauville_0_4
-
- .align 2
-gTilesetAnimTable_Mauville_1B:: @ 837BB94
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_4
- .4byte TilesetAnimTiles_Mauville_1_4
-
- .align 2
-TilesetAnimTiles_Rustboro_0_0: @ 837BBA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_1: @ 837BC24
- .incbin "data/tilesets/secondary/rustboro/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_2: @ 837BCA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_3: @ 837BD24
- .incbin "data/tilesets/secondary/rustboro/anim/0/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_4: @ 837BDA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/4.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_5: @ 837BE24
- .incbin "data/tilesets/secondary/rustboro/anim/0/5.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_6: @ 837BEA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/6.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_7: @ 837BF24
- .incbin "data/tilesets/secondary/rustboro/anim/0/7.4bpp"
-
- .align 2
-gUnknown_0837BFA4:: @ 837BFA4
- .4byte 0x06005000
- .4byte 0x06005080
- .4byte 0x06005100
- .4byte 0x06005180
- .4byte 0x06005200
- .4byte 0x06005280
- .4byte 0x06005300
- .4byte 0x06005380
-
- .align 2
-gTilesetAnimTable_Rustboro_0:: @ 837BFC4
- .4byte TilesetAnimTiles_Rustboro_0_0
- .4byte TilesetAnimTiles_Rustboro_0_1
- .4byte TilesetAnimTiles_Rustboro_0_2
- .4byte TilesetAnimTiles_Rustboro_0_3
- .4byte TilesetAnimTiles_Rustboro_0_4
- .4byte TilesetAnimTiles_Rustboro_0_5
- .4byte TilesetAnimTiles_Rustboro_0_6
- .4byte TilesetAnimTiles_Rustboro_0_7
-
- .align 2
-TilesetAnimTiles_Rustboro_1_0: @ 837BFE4
- .incbin "data/tilesets/secondary/rustboro/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_1_1: @ 837C064
- .incbin "data/tilesets/secondary/rustboro/anim/1/1.4bpp"
-
- .align 2
-gTilesetAnimTable_Rustboro_1:: @ 837C0E4
- .4byte TilesetAnimTiles_Rustboro_1_0
- .4byte TilesetAnimTiles_Rustboro_1_1
-
- .align 2
-TilesetAnimTiles_Cave_0: @ 837C0EC
- .incbin "data/tilesets/secondary/cave/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Cave_1: @ 837C16C
- .incbin "data/tilesets/secondary/cave/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Cave_2: @ 837C1EC
- .incbin "data/tilesets/secondary/cave/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Cave_3: @ 837C26C
- .incbin "data/tilesets/secondary/cave/anim/3.4bpp"
-
- .incbin "data/tilesets/secondary/cave/anim/unused/0.4bpp"
- .incbin "data/tilesets/secondary/cave/anim/unused/1.4bpp"
- .incbin "data/tilesets/secondary/cave/anim/unused/2.4bpp"
- .incbin "data/tilesets/secondary/cave/anim/unused/3.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_Cave:: @ 837C50C
- .4byte TilesetAnimTiles_Cave_0
- .4byte TilesetAnimTiles_Cave_1
- .4byte TilesetAnimTiles_Cave_2
- .4byte TilesetAnimTiles_Cave_3
-
- .align 2
-TilesetAnimTiles_EverGrande_0: @ 837C51C
- .incbin "data/tilesets/secondary/ever_grande/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_1: @ 837C59C
- .incbin "data/tilesets/secondary/ever_grande/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_2: @ 837C61C
- .incbin "data/tilesets/secondary/ever_grande/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_3: @ 837C69C
- .incbin "data/tilesets/secondary/ever_grande/anim/3.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_4: @ 837C71C
- .incbin "data/tilesets/secondary/ever_grande/anim/4.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_5: @ 837C79C
- .incbin "data/tilesets/secondary/ever_grande/anim/5.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_6: @ 837C81C
- .incbin "data/tilesets/secondary/ever_grande/anim/6.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_7: @ 837C89C
- .incbin "data/tilesets/secondary/ever_grande/anim/7.4bpp"
-
- .space 32
-
- .align 2
-gUnknown_0837C93C:: @ 837C93C
- .4byte 0x06005C00
- .4byte 0x06005C80
- .4byte 0x06005D00
- .4byte 0x06005D80
- .4byte 0x06005E00
- .4byte 0x06005E80
- .4byte 0x06005F00
- .4byte 0x06005F80
-
- .align 2
-gTilesetAnimTable_EverGrande:: @ 837C95C
- .4byte TilesetAnimTiles_EverGrande_0
- .4byte TilesetAnimTiles_EverGrande_1
- .4byte TilesetAnimTiles_EverGrande_2
- .4byte TilesetAnimTiles_EverGrande_3
- .4byte TilesetAnimTiles_EverGrande_4
- .4byte TilesetAnimTiles_EverGrande_5
- .4byte TilesetAnimTiles_EverGrande_6
- .4byte TilesetAnimTiles_EverGrande_7
-
- .align 2
-TilesetAnimTiles_Building_0: @ 837C97C
- .incbin "data/tilesets/primary/building/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Building_1: @ 837C9FC
- .incbin "data/tilesets/primary/building/anim/1.4bpp"
-
- .align 2
-gTilesetAnimTable_Building:: @ 837CA7C
- .4byte TilesetAnimTiles_Building_0
- .4byte TilesetAnimTiles_Building_1
-
- .align 2
-TilesetAnimTiles_SootopolisGym_0_0: @ 837CA84
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_0_1: @ 837CC04
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_0_2: @ 837CD84
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_1_0: @ 837CF04
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_1_1: @ 837D184
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_1_2: @ 837D404
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp"
-
- .align 2
-gTilesetAnimTable_SootopolisGym_0:: @ 837D684
- .4byte TilesetAnimTiles_SootopolisGym_0_0
- .4byte TilesetAnimTiles_SootopolisGym_0_1
- .4byte TilesetAnimTiles_SootopolisGym_0_2
-
- .align 2
-gTilesetAnimTable_SootopolisGym_1:: @ 837D690
- .4byte TilesetAnimTiles_SootopolisGym_1_0
- .4byte TilesetAnimTiles_SootopolisGym_1_1
- .4byte TilesetAnimTiles_SootopolisGym_1_2
-
- .align 2
-TilesetAnimTiles_EliteFour_1_0: @ 837D69C
- .incbin "data/tilesets/secondary/elite_four/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_1_1: @ 837D71C
- .incbin "data/tilesets/secondary/elite_four/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_0: @ 837D79C
- .incbin "data/tilesets/secondary/elite_four/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_1: @ 837D7BC
- .incbin "data/tilesets/secondary/elite_four/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_2: @ 837D7DC
- .incbin "data/tilesets/secondary/elite_four/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_3: @ 837D7FC
- .incbin "data/tilesets/secondary/elite_four/anim/0/3.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_EliteFour_0:: @ 837D83C
- .4byte TilesetAnimTiles_EliteFour_0_0
- .4byte TilesetAnimTiles_EliteFour_0_1
- .4byte TilesetAnimTiles_EliteFour_0_2
- .4byte TilesetAnimTiles_EliteFour_0_3
-
- .align 2
-gTilesetAnimTable_EliteFour_1:: @ 837D84C
- .4byte TilesetAnimTiles_EliteFour_1_0
- .4byte TilesetAnimTiles_EliteFour_1_1
-
- .align 2
-TilesetAnimTiles_MauvilleGym_0: @ 837D854
- .incbin "data/tilesets/secondary/mauville_gym/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_MauvilleGym_1: @ 837DA54
- .incbin "data/tilesets/secondary/mauville_gym/anim/1.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_MauvilleGym:: @ 837DC74
- .4byte TilesetAnimTiles_MauvilleGym_0
- .4byte TilesetAnimTiles_MauvilleGym_1
-
- .align 2
-TilesetAnimTiles_BikeShop_0: @ 837DC7C
- .incbin "data/tilesets/secondary/bike_shop/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_BikeShop_1: @ 837DD9C
- .incbin "data/tilesets/secondary/bike_shop/anim/1.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_BikeShop:: @ 837DEDC
- .4byte TilesetAnimTiles_BikeShop_0
- .4byte TilesetAnimTiles_BikeShop_1
-
- .align 2
-gDummyPaletteStructTemplate:: @ 837DEE4
- .2byte 0xFFFF
- .space 9
- .byte 0x20
- .space 4
-
- .align 2
-gFanfares:: @ 837DEF4
- .2byte BGM_FANFA1, 80
- .2byte BGM_FANFA4, 160
- .2byte BGM_FANFA5, 220
- .2byte BGM_ME_WAZA, 220
- .2byte BGM_ME_ASA, 160
- .2byte BGM_ME_BACHI, 340
- .2byte BGM_ME_WASURE, 180
- .2byte BGM_ME_KINOMI, 120
- .2byte BGM_ME_TAMA, 710
- .2byte BGM_ME_B_BIG, 250
- .2byte BGM_ME_B_SMALL, 150
- .2byte BGM_ME_ZANNEN, 160
-
- .align 2
-gOamData_837DF24:: @ 837DF24
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF2C:: @ 837DF2C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF34:: @ 837DF34
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF3C:: @ 837DF3C
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF44:: @ 837DF44
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF4C:: @ 837DF4C
- .2byte 0x4000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF54:: @ 837DF54
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF5C:: @ 837DF5C
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF64:: @ 837DF64
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF6C:: @ 837DF6C
- .2byte 0x8000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF74:: @ 837DF74
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF7C:: @ 837DF7C
- .2byte 0x8000
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF84:: @ 837DF84
- .2byte 0x0100
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF8C:: @ 837DF8C
- .2byte 0x0100
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF94:: @ 837DF94
- .2byte 0x0100
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837DF9C:: @ 837DF9C
- .2byte 0x0100
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFA4:: @ 837DFA4
- .2byte 0x4100
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFAC:: @ 837DFAC
- .2byte 0x4100
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFB4:: @ 837DFB4
- .2byte 0x4100
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFBC:: @ 837DFBC
- .2byte 0x4100
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFC4:: @ 837DFC4
- .2byte 0x8100
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFCC:: @ 837DFCC
- .2byte 0x8100
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFD4:: @ 837DFD4
- .2byte 0x8100
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFDC:: @ 837DFDC
- .2byte 0x8100
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFE4:: @ 837DFE4
- .2byte 0x0300
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFEC:: @ 837DFEC
- .2byte 0x0300
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFF4:: @ 837DFF4
- .2byte 0x0300
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837DFFC:: @ 837DFFC
- .2byte 0x0300
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837D004:: @ 837D004
- .2byte 0x4300
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837D00C:: @ 837D00C
- .2byte 0x4300
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E014:: @ 837E014
- .2byte 0x4300
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E01C:: @ 837E01C
- .2byte 0x4300
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E024:: @ 837E024
- .2byte 0x8300
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E02C:: @ 837E02C
- .2byte 0x8300
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E034:: @ 837E034
- .2byte 0x8300
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E03C:: @ 837E03C
- .2byte 0x8300
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E044:: @ 837E044
- .2byte 0x0400
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E04C:: @ 837E04C
- .2byte 0x0400
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E054:: @ 837E054
- .2byte 0x0400
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E05C:: @ 837E05C
- .2byte 0x0400
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E064:: @ 837E064
- .2byte 0x4400
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E06C:: @ 837E06C
- .2byte 0x4400
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E074:: @ 837E074
- .2byte 0x4400
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E07C:: @ 837E07C
- .2byte 0x4400
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E084:: @ 837E084
- .2byte 0x8400
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E08C:: @ 837E08C
- .2byte 0x8400
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E094:: @ 837E094
- .2byte 0x8400
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E09C:: @ 837E09C
- .2byte 0x8400
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0A4:: @ 837E0A4
- .2byte 0x0500
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0AC:: @ 837E0AC
- .2byte 0x0500
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0B4:: @ 837E0B4
- .2byte 0x0500
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0BC:: @ 837E0BC
- .2byte 0x0500
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0C4:: @ 837E0C4
- .2byte 0x4500
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0CC:: @ 837E0CC
- .2byte 0x4500
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0D4:: @ 837E0D4
- .2byte 0x4500
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0DC:: @ 837E0DC
- .2byte 0x4500
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0E4:: @ 837E0E4
- .2byte 0x8500
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0EC:: @ 837E0EC
- .2byte 0x8500
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0F4:: @ 837E0F4
- .2byte 0x8500
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E0FC:: @ 837E0FC
- .2byte 0x8500
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E104:: @ 837E104
- .2byte 0x0700
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E10C:: @ 837E10C
- .2byte 0x0700
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E114:: @ 837E114
- .2byte 0x0700
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E11C:: @ 837E11C
- .2byte 0x0700
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E124:: @ 837E124
- .2byte 0x4700
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E12C:: @ 837E12C
- .2byte 0x4700
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E134:: @ 837E134
- .2byte 0x4700
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E13C:: @ 837E13C
- .2byte 0x4700
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_837E144:: @ 837E144
- .2byte 0x8700
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_837E14C:: @ 837E14C
- .2byte 0x8700
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_837E154:: @ 837E154
- .2byte 0x8700
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_837E15C:: @ 837E15C
- .2byte 0x8700
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gBattleAnimPicTable:: @ 837E164
- obj_tiles gBattleAnimSpriteSheet_000, 0x200, 10000
- obj_tiles gBattleAnimSpriteSheet_001, 0x300, 10001
- obj_tiles gBattleAnimSpriteSheet_002, 0x200, 10002
- obj_tiles gBattleAnimSpriteSheet_003, 0x100, 10003
- obj_tiles gBattleAnimSpriteSheet_004, 0x200, 10004
- obj_tiles gBattleAnimSpriteSheet_005, 0x400, 10005
- obj_tiles gBattleAnimSpriteSheet_006, 0x180, 10006
- obj_tiles gBattleAnimSpriteSheet_007, 0x800, 10007
- obj_tiles gBattleAnimSpriteSheet_008, 0x20, 10008
- obj_tiles gBattleAnimSpriteSheet_009, 0x400, 10009
- obj_tiles gBattleAnimSpriteSheet_010, 0x1200, 10010
- obj_tiles gBattleAnimSpriteSheet_011, 0x180, 10011
- obj_tiles gBattleAnimSpriteSheet_012, 0x80, 10012
- obj_tiles gBattleAnimSpriteSheet_013, 0x80, 10013
- obj_tiles gBattleAnimSpriteSheet_014, 0x280, 10014
- obj_tiles gBattleAnimSpriteSheet_015, 0x80, 10015
- obj_tiles gBattleAnimSpriteSheet_016, 0x100, 10016
- obj_tiles gBattleAnimSpriteSheet_017, 0x20, 10017
- obj_tiles gBattleAnimSpriteSheet_018, 0x80, 10018
- obj_tiles gBattleAnimSpriteSheet_019, 0x400, 10019
- obj_tiles gBattleAnimSpriteSheet_020, 0x200, 10020
- obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10021
- obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10022
- obj_tiles gBattleAnimSpriteSheet_023, 0x380, 10023
- obj_tiles gBattleAnimSpriteSheet_024, 0x300, 10024
- obj_tiles gBattleAnimSpriteSheet_025, 0xA00, 10025
- obj_tiles gBattleAnimSpriteSheet_026, 0xA00, 10026
- obj_tiles gBattleAnimSpriteSheet_027, 0xA00, 10027
- obj_tiles gBattleAnimSpriteSheet_028, 0xA00, 10028
- obj_tiles gBattleAnimSpriteSheet_029, 0xA00, 10029
- obj_tiles gBattleAnimSpriteSheet_030, 0xA00, 10030
- obj_tiles gBattleAnimSpriteSheet_031, 0xE00, 10031
- obj_tiles gBattleAnimSpriteSheet_032, 0x380, 10032
- obj_tiles gBattleAnimSpriteSheet_033, 0x1000, 10033
- obj_tiles gBattleAnimSpriteSheet_034, 0x800, 10034
- obj_tiles gBattleAnimSpriteSheet_035, 0xA00, 10035
- obj_tiles gBattleAnimSpriteSheet_036, 0x800, 10036
- obj_tiles gBattleAnimSpriteSheet_037, 0xA00, 10037
- obj_tiles gBattleAnimSpriteSheet_038, 0xA00, 10038
- obj_tiles gBattleAnimSpriteSheet_039, 0xA00, 10039
- obj_tiles gBattleAnimSpriteSheet_040, 0xA00, 10040
- obj_tiles gBattleAnimSpriteSheet_041, 0xA00, 10041
- obj_tiles gBattleAnimSpriteSheet_042, 0xA00, 10042
- obj_tiles gBattleAnimSpriteSheet_043, 0xA00, 10043
- obj_tiles gBattleAnimSpriteSheet_044, 0xA00, 10044
- obj_tiles gBattleAnimSpriteSheet_045, 0xA00, 10045
- obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10046
- obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10047
- obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10048
- obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10049
- obj_tiles gBattleAnimSpriteSheet_050, 0x200, 10050
- obj_tiles gBattleAnimSpriteSheet_051, 0x200, 10051
- obj_tiles gBattleAnimSpriteSheet_052, 0x200, 10052
- obj_tiles gBattleAnimSpriteSheet_053, 0x800, 10053
- obj_tiles gBattleAnimSpriteSheet_054, 0x80, 10054
- obj_tiles gBattleAnimSpriteSheet_055, 0x200, 10055
- obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10056
- obj_tiles gBattleAnimSpriteSheet_057, 0x180, 10057
- obj_tiles gBattleAnimSpriteSheet_058, 0xC00, 10058
- obj_tiles gBattleAnimSpriteSheet_059, 0x100, 10059
- obj_tiles gBattleAnimSpriteSheet_060, 0x40, 10060
- obj_tiles gBattleAnimSpriteSheet_061, 0x180, 10061
- obj_tiles gBattleAnimSpriteSheet_062, 0x800, 10062
- obj_tiles gBattleAnimSpriteSheet_063, 0x480, 10063
- obj_tiles gBattleAnimSpriteSheet_064, 0x200, 10064
- obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10065
- obj_tiles gBattleAnimSpriteSheet_066, 0x100, 10066
- obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10067
- obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10068
- obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10069
- obj_tiles gBattleAnimSpriteSheet_070, 0x200, 10070
- obj_tiles gBattleAnimSpriteSheet_071, 0xA00, 10071
- obj_tiles gBattleAnimSpriteSheet_072, 0x300, 10072
- obj_tiles gBattleAnimSpriteSheet_073, 0x180, 10073
- obj_tiles gBattleAnimSpriteSheet_074, 0xA0, 10074
- obj_tiles gBattleAnimSpriteSheet_075, 0x700, 10075
- obj_tiles gBattleAnimSpriteSheet_076, 0x400, 10076
- obj_tiles gBattleAnimSpriteSheet_077, 0x200, 10077
- obj_tiles gBattleAnimSpriteSheet_078, 0x300, 10078
- obj_tiles gBattleAnimSpriteSheet_079, 0xC00, 10079
- obj_tiles gBattleAnimSpriteSheet_080, 0xA00, 10080
- obj_tiles gBattleAnimSpriteSheet_081, 0x80, 10081
- obj_tiles gBattleAnimSpriteSheet_082, 0x40, 10082
- obj_tiles gBattleAnimSpriteSheet_083, 0xE00, 10083
- obj_tiles gBattleAnimSpriteSheet_084, 0xE00, 10084
- obj_tiles gBattleAnimSpriteSheet_085, 0x280, 10085
- obj_tiles gBattleAnimSpriteSheet_086, 0x200, 10086
- obj_tiles gBattleAnimSpriteSheet_087, 0x80, 10087
- obj_tiles gBattleAnimSpriteSheet_088, 0xC0, 10088
- obj_tiles gBattleAnimSpriteSheet_089, 0xA00, 10089
- obj_tiles gBattleAnimSpriteSheet_090, 0x200, 10090
- obj_tiles gBattleAnimSpriteSheet_091, 0x180, 10091
- obj_tiles gBattleAnimSpriteSheet_092, 0x80, 10092
- obj_tiles gBattleAnimSpriteSheet_093, 0x1000, 10093
- obj_tiles gBattleAnimSpriteSheet_094, 0xA00, 10094
- obj_tiles gBattleAnimSpriteSheet_095, 0x180, 10095
- obj_tiles gBattleAnimSpriteSheet_096, 0x380, 10096
- obj_tiles gBattleAnimSpriteSheet_097, 0xC00, 10097
- obj_tiles gBattleAnimSpriteSheet_098, 0x200, 10098
- obj_tiles gBattleAnimSpriteSheet_099, 0x200, 10099
- obj_tiles gBattleAnimSpriteSheet_100, 0x200, 10100
- obj_tiles gBattleAnimSpriteSheet_101, 0x200, 10101
- obj_tiles gBattleAnimSpriteSheet_102, 0x400, 10102
- obj_tiles gBattleAnimSpriteSheet_103, 0x80, 10103
- obj_tiles gBattleAnimSpriteSheet_104, 0x400, 10104
- obj_tiles gBattleAnimSpriteSheet_105, 0xC00, 10105
- obj_tiles gBattleAnimSpriteSheet_106, 0x200, 10106
- obj_tiles gBattleAnimSpriteSheet_107, 0x1000, 10107
- obj_tiles gBattleAnimSpriteSheet_108, 0xA00, 10108
- obj_tiles gBattleAnimSpriteSheet_109, 0x20, 10109
- obj_tiles gBattleAnimSpriteSheet_110, 0xE00, 10110
- obj_tiles gBattleAnimSpriteSheet_111, 0x80, 10111
- obj_tiles gBattleAnimSpriteSheet_112, 0xA00, 10112
- obj_tiles gBattleAnimSpriteSheet_113, 0x400, 10113
- obj_tiles gBattleAnimSpriteSheet_114, 0x200, 10114
- obj_tiles gBattleAnimSpriteSheet_115, 0x700, 10115
- obj_tiles gBattleAnimSpriteSheet_116, 0x800, 10116
- obj_tiles gBattleAnimSpriteSheet_117, 0xA00, 10117
- obj_tiles gBattleAnimSpriteSheet_118, 0x600, 10118
- obj_tiles gBattleAnimSpriteSheet_119, 0x800, 10119
- obj_tiles gBattleAnimSpriteSheet_120, 0x200, 10120
- obj_tiles gBattleAnimSpriteSheet_121, 0x40, 10121
- obj_tiles gBattleAnimSpriteSheet_122, 0x180, 10122
- obj_tiles gBattleAnimSpriteSheet_123, 0x600, 10123
- obj_tiles gBattleAnimSpriteSheet_124, 0x600, 10124
- obj_tiles gBattleAnimSpriteSheet_125, 0x200, 10125
- obj_tiles gBattleAnimSpriteSheet_126, 0x80, 10126
- obj_tiles gBattleAnimSpriteSheet_127, 0x200, 10127
- obj_tiles gBattleAnimSpriteSheet_128, 0x800, 10128
- obj_tiles gBattleAnimSpriteSheet_129, 0x80, 10129
- obj_tiles gBattleAnimSpriteSheet_130, 0xA00, 10130
- obj_tiles gBattleAnimSpriteSheet_131, 0x280, 10131
- obj_tiles gBattleAnimSpriteSheet_132, 0x280, 10132
- obj_tiles gBattleAnimSpriteSheet_133, 0x100, 10133
- obj_tiles gBattleAnimSpriteSheet_134, 0x200, 10134
- obj_tiles gBattleAnimSpriteSheet_135, 0x200, 10135
- obj_tiles gBattleAnimSpriteSheet_136, 0x20, 10136
- obj_tiles gBattleAnimSpriteSheet_137, 0xA00, 10137
- obj_tiles gBattleAnimSpriteSheet_138, 0x800, 10138
- obj_tiles gBattleAnimSpriteSheet_139, 0x800, 10139
- obj_tiles gBattleAnimSpriteSheet_140, 0xC0, 10140
- obj_tiles gBattleAnimSpriteSheet_141, 0x1C0, 10141
- obj_tiles gBattleAnimSpriteSheet_142, 0x100, 10142
- obj_tiles gBattleAnimSpriteSheet_143, 0x800, 10143
- obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10144
- obj_tiles gBattleAnimSpriteSheet_145, 0x800, 10145
- obj_tiles gBattleAnimSpriteSheet_146, 0x180, 10146
- obj_tiles gBattleAnimSpriteSheet_147, 0x180, 10147
- obj_tiles gBattleAnimSpriteSheet_148, 0x200, 10148
- obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10149
- obj_tiles gBattleAnimSpriteSheet_150, 0x180, 10150
- obj_tiles gBattleAnimSpriteSheet_151, 0x400, 10151
- obj_tiles gBattleAnimSpriteSheet_152, 0x80, 10152
- obj_tiles gBattleAnimSpriteSheet_153, 0x100, 10153
- obj_tiles gBattleAnimSpriteSheet_154, 0x100, 10154
- obj_tiles gBattleAnimSpriteSheet_155, 0x140, 10155
- obj_tiles gBattleAnimSpriteSheet_156, 0x800, 10156
- obj_tiles gBattleAnimSpriteSheet_157, 0x200, 10157
- obj_tiles gBattleAnimSpriteSheet_158, 0x100, 10158
- obj_tiles gBattleAnimSpriteSheet_159, 0xA0, 10159
- obj_tiles gBattleAnimSpriteSheet_160, 0x100, 10160
- obj_tiles gBattleAnimSpriteSheet_161, 0x80, 10161
- obj_tiles gBattleAnimSpriteSheet_162, 0x300, 10162
- obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10163
- obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10164
- obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10165
- obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10166
- obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10167
- obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10168
- obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10169
- obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10170
- obj_tiles gBattleAnimSpriteSheet_171, 0x80, 10171
- obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10172
- obj_tiles gBattleAnimSpriteSheet_173, 0x200, 10173
- obj_tiles gBattleAnimSpriteSheet_174, 0x200, 10174
- obj_tiles gBattleAnimSpriteSheet_175, 0x80, 10175
- obj_tiles gBattleAnimSpriteSheet_176, 0x200, 10176
- obj_tiles gBattleAnimSpriteSheet_177, 0x500, 10177
- obj_tiles gBattleAnimSpriteSheet_178, 0x800, 10178
- obj_tiles gBattleAnimSpriteSheet_179, 0x400, 10179
- obj_tiles gBattleAnimSpriteSheet_180, 0x20, 10180
- obj_tiles gBattleAnimSpriteSheet_181, 0x800, 10181
- obj_tiles gBattleAnimSpriteSheet_182, 0x100, 10182
- obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10183
- obj_tiles gBattleAnimSpriteSheet_184, 0x400, 10184
- obj_tiles gBattleAnimSpriteSheet_185, 0xA00, 10185
- obj_tiles gBattleAnimSpriteSheet_186, 0x1000, 10186
- obj_tiles gBattleAnimSpriteSheet_187, 0x800, 10187
- obj_tiles gBattleAnimSpriteSheet_188, 0x400, 10188
- obj_tiles gBattleAnimSpriteSheet_189, 0x200, 10189
- obj_tiles gBattleAnimSpriteSheet_190, 0x800, 10190
- obj_tiles gBattleAnimSpriteSheet_191, 0x800, 10191
- obj_tiles gBattleAnimSpriteSheet_192, 0x800, 10192
- obj_tiles gBattleAnimSpriteSheet_193, 0x200, 10193
- obj_tiles gBattleAnimSpriteSheet_194, 0x800, 10194
- obj_tiles gBattleAnimSpriteSheet_195, 0x200, 10195
- obj_tiles gBattleAnimSpriteSheet_196, 0x800, 10196
- obj_tiles gBattleAnimSpriteSheet_197, 0x200, 10197
- obj_tiles gBattleAnimSpriteSheet_198, 0x800, 10198
- obj_tiles gBattleAnimSpriteSheet_199, 0x400, 10199
- obj_tiles gBattleAnimSpriteSheet_200, 0x200, 10200
- obj_tiles gBattleAnimSpriteSheet_201, 0xA80, 10201
- obj_tiles gBattleAnimSpriteSheet_202, 0x600, 10202
- obj_tiles gBattleAnimSpriteSheet_203, 0x800, 10203
- obj_tiles gBattleAnimSpriteSheet_204, 0x200, 10204
- obj_tiles gBattleAnimSpriteSheet_205, 0x600, 10205
- obj_tiles gBattleAnimSpriteSheet_206, 0x800, 10206
- obj_tiles gBattleAnimSpriteSheet_207, 0x180, 10207
- obj_tiles gBattleAnimSpriteSheet_208, 0x800, 10208
- obj_tiles gBattleAnimSpriteSheet_209, 0x800, 10209
- obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10210
- obj_tiles gBattleAnimSpriteSheet_211, 0x80, 10211
- obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10212
- obj_tiles gBattleAnimSpriteSheet_213, 0x800, 10213
- obj_tiles gBattleAnimSpriteSheet_214, 0x600, 10214
- obj_tiles gBattleAnimSpriteSheet_215, 0x600, 10215
- obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10216
- obj_tiles gBattleAnimSpriteSheet_217, 0x80, 10217
- obj_tiles gBattleAnimSpriteSheet_218, 0x180, 10218
- obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10219
- obj_tiles gBattleAnimSpriteSheet_220, 0x200, 10220
- obj_tiles gBattleAnimSpriteSheet_221, 0x400, 10221
- obj_tiles gBattleAnimSpriteSheet_222, 0xA00, 10222
- obj_tiles gBattleAnimSpriteSheet_223, 0x800, 10223
- obj_tiles gBattleAnimSpriteSheet_224, 0x200, 10224
- obj_tiles gBattleAnimSpriteSheet_225, 0x400, 10225
- obj_tiles gBattleAnimSpriteSheet_226, 0x80, 10226
- obj_tiles gBattleAnimSpriteSheet_227, 0x800, 10227
- obj_tiles gBattleAnimSpriteSheet_228, 0x200, 10228
- obj_tiles gBattleAnimSpriteSheet_229, 0x300, 10229
- obj_tiles gBattleAnimSpriteSheet_230, 0x800, 10230
- obj_tiles gBattleAnimSpriteSheet_231, 0x380, 10231
- obj_tiles gBattleAnimSpriteSheet_232, 0x800, 10232
- obj_tiles gBattleAnimSpriteSheet_233, 0xC0, 10233
- obj_tiles gBattleAnimSpriteSheet_234, 0x800, 10234
- obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10235
- obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10236
- obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10237
- obj_tiles gBattleAnimSpriteSheet_238, 0x80, 10238
- obj_tiles gBattleAnimSpriteSheet_239, 0x180, 10239
- obj_tiles gBattleAnimSpriteSheet_240, 0x180, 10240
- obj_tiles gBattleAnimSpriteSheet_241, 0x200, 10241
- obj_tiles gBattleAnimSpriteSheet_242, 0x200, 10242
- obj_tiles gBattleAnimSpriteSheet_243, 0x20, 10243
- obj_tiles gBattleAnimSpriteSheet_244, 0x400, 10244
- obj_tiles gBattleAnimSpriteSheet_245, 0x600, 10245
- obj_tiles gBattleAnimSpriteSheet_246, 0x1000, 10246
- obj_tiles gBattleAnimSpriteSheet_247, 0x400, 10247
- obj_tiles gBattleAnimSpriteSheet_248, 0x20, 10248
- obj_tiles gBattleAnimSpriteSheet_249, 0x80, 10249
- obj_tiles gBattleAnimSpriteSheet_250, 0x800, 10250
- obj_tiles gBattleAnimSpriteSheet_251, 0x80, 10251
- obj_tiles gBattleAnimSpriteSheet_252, 0x200, 10252
- obj_tiles gBattleAnimSpriteSheet_253, 0x400, 10253
- obj_tiles gBattleAnimSpriteSheet_254, 0x200, 10254
- obj_tiles gBattleAnimSpriteSheet_255, 0x200, 10255
- obj_tiles gBattleAnimSpriteSheet_256, 0x800, 10256
- obj_tiles gBattleAnimSpriteSheet_257, 0x280, 10257
- obj_tiles gBattleAnimSpriteSheet_258, 0x200, 10258
- obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10259
- obj_tiles gBattleAnimSpriteSheet_260, 0x400, 10260
- obj_tiles gBattleAnimSpriteSheet_261, 0x200, 10261
- obj_tiles gBattleAnimSpriteSheet_262, 0x200, 10262
- obj_tiles gBattleAnimSpriteSheet_263, 0x80, 10263
- obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10264
- obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10265
- obj_tiles gBattleAnimSpriteSheet_266, 0x80, 10266
- obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10267
- obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10268
- obj_tiles gBattleAnimSpriteSheet_269, 0x80, 10269
- obj_tiles gBattleAnimSpriteSheet_270, 0x400, 10270
- obj_tiles gBattleAnimSpriteSheet_271, 0x80, 10271
- obj_tiles gBattleAnimSpriteSheet_272, 0x800, 10272
- obj_tiles gBattleAnimSpriteSheet_273, 0x20, 10273
- obj_tiles gBattleAnimSpriteSheet_274, 0x800, 10274
- obj_tiles gBattleAnimSpriteSheet_275, 0x800, 10275
- obj_tiles gBattleAnimSpriteSheet_276, 0x800, 10276
- obj_tiles gBattleAnimSpriteSheet_277, 0x1000, 10277
- obj_tiles gBattleAnimSpriteSheet_278, 0x800, 10278
- obj_tiles gBattleAnimSpriteSheet_279, 0xA0, 10279
- obj_tiles gBattleAnimSpriteSheet_280, 0x800, 10280
- obj_tiles gBattleAnimSpriteSheet_281, 0x200, 10281
- obj_tiles gBattleAnimSpriteSheet_282, 0x600, 10282
- obj_tiles gBattleAnimSpriteSheet_283, 0x200, 10283
- obj_tiles gBattleAnimSpriteSheet_284, 0x800, 10284
- obj_tiles gBattleAnimSpriteSheet_285, 0x200, 10285
- obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10286
- obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10287
- obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10288
-
- .align 2
-gBattleAnimPaletteTable:: @ 837EA6C
- obj_pal gBattleAnimSpritePalette_000, 10000
- obj_pal gBattleAnimSpritePalette_001, 10001
- obj_pal gBattleAnimSpritePalette_002, 10002
- obj_pal gBattleAnimSpritePalette_003, 10003
- obj_pal gBattleAnimSpritePalette_004, 10004
- obj_pal gBattleAnimSpritePalette_005, 10005
- obj_pal gBattleAnimSpritePalette_006, 10006
- obj_pal gBattleAnimSpritePalette_007, 10007
- obj_pal gBattleAnimSpritePalette_008, 10008
- obj_pal gBattleAnimSpritePalette_009, 10009
- obj_pal gBattleAnimSpritePalette_010, 10010
- obj_pal gBattleAnimSpritePalette_011, 10011
- obj_pal gBattleAnimSpritePalette_012, 10012
- obj_pal gBattleAnimSpritePalette_013, 10013
- obj_pal gBattleAnimSpritePalette_014, 10014
- obj_pal gBattleAnimSpritePalette_015, 10015
- obj_pal gBattleAnimSpritePalette_016, 10016
- obj_pal gBattleAnimSpritePalette_016, 10017
- obj_pal gBattleAnimSpritePalette_018, 10018
- obj_pal gBattleAnimSpritePalette_019, 10019
- obj_pal gBattleAnimSpritePalette_020, 10020
- obj_pal gBattleAnimSpritePalette_021, 10021
- obj_pal gBattleAnimSpritePalette_022, 10022
- obj_pal gBattleAnimSpritePalette_023, 10023
- obj_pal gBattleAnimSpritePalette_024, 10024
- obj_pal gBattleAnimSpritePalette_025, 10025
- obj_pal gBattleAnimSpritePalette_026, 10026
- obj_pal gBattleAnimSpritePalette_027, 10027
- obj_pal gBattleAnimSpritePalette_028, 10028
- obj_pal gBattleAnimSpritePalette_029, 10029
- obj_pal gBattleAnimSpritePalette_030, 10030
- obj_pal gBattleAnimSpritePalette_031, 10031
- obj_pal gBattleAnimSpritePalette_032, 10032
- obj_pal gBattleAnimSpritePalette_033, 10033
- obj_pal gBattleAnimSpritePalette_033, 10034
- obj_pal gBattleAnimSpritePalette_033, 10035
- obj_pal gBattleAnimSpritePalette_036, 10036
- obj_pal gBattleAnimSpritePalette_036, 10037
- obj_pal gBattleAnimSpritePalette_038, 10038
- obj_pal gBattleAnimSpritePalette_039, 10039
- obj_pal gBattleAnimSpritePalette_038, 10040
- obj_pal gBattleAnimSpritePalette_038, 10041
- obj_pal gBattleAnimSpritePalette_042, 10042
- obj_pal gBattleAnimSpritePalette_043, 10043
- obj_pal gBattleAnimSpritePalette_044, 10044
- obj_pal gBattleAnimSpritePalette_045, 10045
- obj_pal gBattleAnimSpritePalette_046, 10046
- obj_pal gBattleAnimSpritePalette_047, 10046
- obj_pal gBattleAnimSpritePalette_048, 10048
- obj_pal gBattleAnimSpritePalette_049, 10049
- obj_pal gBattleAnimSpritePalette_050, 10050
- obj_pal gBattleAnimSpritePalette_050, 10051
- obj_pal gBattleAnimSpritePalette_050, 10052
- obj_pal gBattleAnimSpritePalette_026, 10053
- obj_pal gBattleAnimSpritePalette_054, 10054
- obj_pal gBattleAnimSpritePalette_050, 10055
- obj_pal gBattleAnimSpritePalette_056, 10056
- obj_pal gBattleAnimSpritePalette_057, 10057
- obj_pal gBattleAnimSpritePalette_058, 10058
- obj_pal gBattleAnimSpritePalette_059, 10059
- obj_pal gBattleAnimSpritePalette_060, 10060
- obj_pal gBattleAnimSpritePalette_061, 10061
- obj_pal gBattleAnimSpritePalette_062, 10062
- obj_pal gBattleAnimSpritePalette_063, 10063
- obj_pal gBattleAnimSpritePalette_064, 10064
- obj_pal gBattleAnimSpritePalette_065, 10065
- obj_pal gBattleAnimSpritePalette_066, 10066
- obj_pal gBattleAnimSpritePalette_067, 10067
- obj_pal gBattleAnimSpritePalette_068, 10068
- obj_pal gBattleAnimSpritePalette_065, 10069
- obj_pal gBattleAnimSpritePalette_070, 10070
- obj_pal gBattleAnimSpritePalette_070, 10071
- obj_pal gBattleAnimSpritePalette_072, 10072
- obj_pal gBattleAnimSpritePalette_073, 10073
- obj_pal gBattleAnimSpritePalette_074, 10074
- obj_pal gBattleAnimSpritePalette_075, 10075
- obj_pal gBattleAnimSpritePalette_076, 10076
- obj_pal gBattleAnimSpritePalette_076, 10077
- obj_pal gBattleAnimSpritePalette_078, 10078
- obj_pal gBattleAnimSpritePalette_078, 10079
- obj_pal gBattleAnimSpritePalette_080, 10080
- obj_pal gBattleAnimSpritePalette_081, 10081
- obj_pal gBattleAnimSpritePalette_082, 10082
- obj_pal gBattleAnimSpritePalette_083, 10083
- obj_pal gBattleAnimSpritePalette_084, 10084
- obj_pal gBattleAnimSpritePalette_085, 10085
- obj_pal gBattleAnimSpritePalette_086, 10086
- obj_pal gBattleAnimSpritePalette_087, 10087
- obj_pal gBattleAnimSpritePalette_088, 10088
- obj_pal gBattleAnimSpritePalette_089, 10089
- obj_pal gBattleAnimSpritePalette_090, 10090
- obj_pal gBattleAnimSpritePalette_091, 10091
- obj_pal gBattleAnimSpritePalette_092, 10092
- obj_pal gBattleAnimSpritePalette_093, 10093
- obj_pal gBattleAnimSpritePalette_094, 10094
- obj_pal gBattleAnimSpritePalette_095, 10095
- obj_pal gBattleAnimSpritePalette_096, 10096
- obj_pal gBattleAnimSpritePalette_097, 10097
- obj_pal gBattleAnimSpritePalette_094, 10098
- obj_pal gBattleAnimSpritePalette_099, 10099
- obj_pal gBattleAnimSpritePalette_100, 10100
- obj_pal gBattleAnimSpritePalette_101, 10101
- obj_pal gBattleAnimSpritePalette_101, 10102
- obj_pal gBattleAnimSpritePalette_103, 10103
- obj_pal gBattleAnimSpritePalette_104, 10104
- obj_pal gBattleAnimSpritePalette_105, 10105
- obj_pal gBattleAnimSpritePalette_105, 10106
- obj_pal gBattleAnimSpritePalette_107, 10107
- obj_pal gBattleAnimSpritePalette_107, 10108
- obj_pal gBattleAnimSpritePalette_109, 10109
- obj_pal gBattleAnimSpritePalette_109, 10110
- obj_pal gBattleAnimSpritePalette_111, 10111
- obj_pal gBattleAnimSpritePalette_112, 10112
- obj_pal gBattleAnimSpritePalette_113, 10113
- obj_pal gBattleAnimSpritePalette_114, 10114
- obj_pal gBattleAnimSpritePalette_115, 10115
- obj_pal gBattleAnimSpritePalette_116, 10116
- obj_pal gBattleAnimSpritePalette_117, 10117
- obj_pal gBattleAnimSpritePalette_118, 10118
- obj_pal gBattleAnimSpritePalette_119, 10119
- obj_pal gBattleAnimSpritePalette_120, 10120
- obj_pal gBattleAnimSpritePalette_121, 10121
- obj_pal gBattleAnimSpritePalette_122, 10122
- obj_pal gBattleAnimSpritePalette_122, 10123
- obj_pal gBattleAnimSpritePalette_124, 10124
- obj_pal gBattleAnimSpritePalette_125, 10125
- obj_pal gBattleAnimSpritePalette_126, 10126
- obj_pal gBattleAnimSpritePalette_127, 10127
- obj_pal gBattleAnimSpritePalette_128, 10128
- obj_pal gBattleAnimSpritePalette_128, 10129
- obj_pal gBattleAnimSpritePalette_130, 10130
- obj_pal gBattleAnimSpritePalette_130, 10131
- obj_pal gBattleAnimSpritePalette_132, 10132
- obj_pal gBattleAnimSpritePalette_133, 10133
- obj_pal gBattleAnimSpritePalette_133, 10134
- obj_pal gBattleAnimSpritePalette_135, 10135
- obj_pal gBattleAnimSpritePalette_136, 10136
- obj_pal gBattleAnimSpritePalette_135, 10137
- obj_pal gBattleAnimSpritePalette_135, 10138
- obj_pal gBattleAnimSpritePalette_139, 10139
- obj_pal gBattleAnimSpritePalette_140, 10140
- obj_pal gBattleAnimSpritePalette_141, 10141
- obj_pal gBattleAnimSpritePalette_141, 10142
- obj_pal gBattleAnimSpritePalette_143, 10143
- obj_pal gBattleAnimSpritePalette_144, 10144
- obj_pal gBattleAnimSpritePalette_139, 10145
- obj_pal gBattleAnimSpritePalette_115, 10146
- obj_pal gBattleAnimSpritePalette_147, 10147
- obj_pal gBattleAnimSpritePalette_148, 10148
- obj_pal gBattleAnimSpritePalette_148, 10149
- obj_pal gBattleAnimSpritePalette_150, 10150
- obj_pal gBattleAnimSpritePalette_150, 10151
- obj_pal gBattleAnimSpritePalette_152, 10152
- obj_pal gBattleAnimSpritePalette_153, 10153
- obj_pal gBattleAnimSpritePalette_154, 10154
- obj_pal gBattleAnimSpritePalette_155, 10155
- obj_pal gBattleAnimSpritePalette_156, 10156
- obj_pal gBattleAnimSpritePalette_157, 10157
- obj_pal gBattleAnimSpritePalette_158, 10158
- obj_pal gBattleAnimSpritePalette_159, 10159
- obj_pal gBattleAnimSpritePalette_160, 10160
- obj_pal gBattleAnimSpritePalette_161, 10161
- obj_pal gBattleAnimSpritePalette_162, 10162
- obj_pal gBattleAnimSpritePalette_163, 10163
- obj_pal gBattleAnimSpritePalette_164, 10164
- obj_pal gBattleAnimSpritePalette_165, 10165
- obj_pal gBattleAnimSpritePalette_166, 10166
- obj_pal gBattleAnimSpritePalette_167, 10167
- obj_pal gBattleAnimSpritePalette_168, 10168
- obj_pal gBattleAnimSpritePalette_169, 10169
- obj_pal gBattleAnimSpritePalette_170, 10170
- obj_pal gBattleAnimSpritePalette_171, 10171
- obj_pal gBattleAnimSpritePalette_172, 10172
- obj_pal gBattleAnimSpritePalette_001, 10173
- obj_pal gBattleAnimSpritePalette_174, 10174
- obj_pal gBattleAnimSpritePalette_175, 10175
- obj_pal gBattleAnimSpritePalette_176, 10176
- obj_pal gBattleAnimSpritePalette_177, 10177
- obj_pal gBattleAnimSpritePalette_178, 10178
- obj_pal gBattleAnimSpritePalette_179, 10179
- obj_pal gBattleAnimSpritePalette_179, 10180
- obj_pal gBattleAnimSpritePalette_179, 10181
- obj_pal gBattleAnimSpritePalette_182, 10182
- obj_pal gBattleAnimSpritePalette_183, 10183
- obj_pal gBattleAnimSpritePalette_184, 10184
- obj_pal gBattleAnimSpritePalette_185, 10185
- obj_pal gBattleAnimSpritePalette_186, 10186
- obj_pal gBattleAnimSpritePalette_187, 10187
- obj_pal gBattleAnimSpritePalette_188, 10188
- obj_pal gBattleAnimSpritePalette_189, 10189
- obj_pal gBattleAnimSpritePalette_190, 10190
- obj_pal gBattleAnimSpritePalette_191, 10191
- obj_pal gBattleAnimSpritePalette_192, 10192
- obj_pal gBattleAnimSpritePalette_193, 10193
- obj_pal gBattleAnimSpritePalette_194, 10194
- obj_pal gBattleAnimSpritePalette_195, 10195
- obj_pal gBattleAnimSpritePalette_196, 10196
- obj_pal gBattleAnimSpritePalette_197, 10197
- obj_pal gBattleAnimSpritePalette_198, 10198
- obj_pal gBattleAnimSpritePalette_199, 10199
- obj_pal gBattleAnimSpritePalette_200, 10200
- obj_pal gBattleAnimSpritePalette_201, 10201
- obj_pal gBattleAnimSpritePalette_202, 10202
- obj_pal gBattleAnimSpritePalette_203, 10203
- obj_pal gBattleAnimSpritePalette_204, 10204
- obj_pal gBattleAnimSpritePalette_205, 10205
- obj_pal gBattleAnimSpritePalette_206, 10206
- obj_pal gBattleAnimSpritePalette_207, 10207
- obj_pal gBattleAnimSpritePalette_167, 10208
- obj_pal gBattleAnimSpritePalette_209, 10209
- obj_pal gBattleAnimSpritePalette_210, 10210
- obj_pal gBattleAnimSpritePalette_211, 10211
- obj_pal gBattleAnimSpritePalette_211, 10212
- obj_pal gBattleAnimSpritePalette_211, 10213
- obj_pal gBattleAnimSpritePalette_064, 10214
- obj_pal gBattleAnimSpritePalette_215, 10215
- obj_pal gBattleAnimSpritePalette_216, 10216
- obj_pal gBattleAnimSpritePalette_217, 10217
- obj_pal gBattleAnimSpritePalette_218, 10218
- obj_pal gBattleAnimSpritePalette_219, 10219
- obj_pal gBattleAnimSpritePalette_220, 10220
- obj_pal gBattleAnimSpritePalette_221, 10221
- obj_pal gBattleAnimSpritePalette_222, 10222
- obj_pal gBattleAnimSpritePalette_223, 10223
- obj_pal gBattleAnimSpritePalette_224, 10224
- obj_pal gBattleAnimSpritePalette_225, 10225
- obj_pal gBattleAnimSpritePalette_226, 10226
- obj_pal gBattleAnimSpritePalette_226, 10227
- obj_pal gBattleAnimSpritePalette_228, 10228
- obj_pal gBattleAnimSpritePalette_229, 10229
- obj_pal gBattleAnimSpritePalette_230, 10230
- obj_pal gBattleAnimSpritePalette_231, 10231
- obj_pal gBattleAnimSpritePalette_231, 10232
- obj_pal gBattleAnimSpritePalette_233, 10233
- obj_pal gBattleAnimSpritePalette_234, 10234
- obj_pal gBattleAnimSpritePalette_235, 10235
- obj_pal gBattleAnimSpritePalette_236, 10236
- obj_pal gBattleAnimSpritePalette_237, 10237
- obj_pal gBattleAnimSpritePalette_238, 10238
- obj_pal gBattleAnimSpritePalette_239, 10239
- obj_pal gBattleAnimSpritePalette_240, 10240
- obj_pal gBattleAnimSpritePalette_241, 10241
- obj_pal gBattleAnimSpritePalette_242, 10242
- obj_pal gBattleAnimSpritePalette_243, 10243
- obj_pal gBattleAnimSpritePalette_244, 10244
- obj_pal gBattleAnimSpritePalette_245, 10245
- obj_pal gBattleAnimSpritePalette_245, 10246
- obj_pal gBattleAnimSpritePalette_064, 10247
- obj_pal gBattleAnimSpritePalette_248, 10248
- obj_pal gBattleAnimSpritePalette_249, 10249
- obj_pal gBattleAnimSpritePalette_249, 10250
- obj_pal gBattleAnimSpritePalette_251, 10251
- obj_pal gBattleAnimSpritePalette_252, 10252
- obj_pal gBattleAnimSpritePalette_253, 10253
- obj_pal gBattleAnimSpritePalette_254, 10254
- obj_pal gBattleAnimSpritePalette_255, 10255
- obj_pal gBattleAnimSpritePalette_256, 10256
- obj_pal gBattleAnimSpritePalette_257, 10257
- obj_pal gBattleAnimSpritePalette_258, 10258
- obj_pal gBattleAnimSpritePalette_259, 10259
- obj_pal gBattleAnimSpritePalette_260, 10260
- obj_pal gBattleAnimSpritePalette_261, 10261
- obj_pal gBattleAnimSpritePalette_262, 10262
- obj_pal gBattleAnimSpritePalette_263, 10263
- obj_pal gBattleAnimSpritePalette_264, 10264
- obj_pal gBattleAnimSpritePalette_265, 10265
- obj_pal gBattleAnimSpritePalette_266, 10266
- obj_pal gBattleAnimSpritePalette_267, 10267
- obj_pal gBattleAnimSpritePalette_268, 10268
- obj_pal gBattleAnimSpritePalette_269, 10269
- obj_pal gBattleAnimSpritePalette_270, 10270
- obj_pal gBattleAnimSpritePalette_271, 10271
- obj_pal gBattleAnimSpritePalette_272, 10272
- obj_pal gBattleAnimSpritePalette_272, 10273
- obj_pal gBattleAnimSpritePalette_274, 10274
- obj_pal gBattleAnimSpritePalette_274, 10275
- obj_pal gBattleAnimSpritePalette_274, 10276
- obj_pal gBattleAnimSpritePalette_277, 10277
- obj_pal gBattleAnimSpritePalette_278, 10278
- obj_pal gBattleAnimSpritePalette_279, 10279
- obj_pal gBattleAnimSpritePalette_280, 10280
- obj_pal gBattleAnimSpritePalette_281, 10281
- obj_pal gBattleAnimSpritePalette_282, 10282
- obj_pal gBattleAnimSpritePalette_283, 10283
- obj_pal gBattleAnimSpritePalette_284, 10284
- obj_pal gBattleAnimSpritePalette_285, 10285
- obj_pal gBattleAnimSpritePalette_286, 10286
- obj_pal gBattleAnimSpritePalette_287, 10287
- obj_pal gBattleAnimSpritePalette_288, 10288
-
- .align 2
-gBattleAnimBackgroundTable:: @ 837F374
- .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00
- .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00
- .4byte gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02
- .4byte gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10
- .4byte gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11
- .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12
- .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13
- .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14
- .4byte gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15
- .4byte gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16
- .4byte gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08
- .4byte gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20
- .4byte gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06
-
- .align 2
-gUnknown_0837F4B8:: @ 837F4B8
- .4byte ma00_load_graphics
- .4byte ma01_080728D0
- .4byte ma02_instanciate_template
- .4byte sub_8075BB8
- .4byte ma04_wait_countdown
- .4byte sub_8075C74
- .4byte nullsub_53
- .4byte nullsub_88
- .4byte sub_8075CB0
- .4byte ma09_play_sound
- .4byte sub_8075DE0
- .4byte ma0B_0807324C
- .4byte sub_8076A3C
- .4byte sub_8076AA0
- .4byte ma0E_call
- .4byte sub_8076AF0
- .4byte ma10_080736AC
- .4byte ma11_if_else
- .4byte ma12_cond_if
- .4byte sub_8076BBC
- .4byte ma14_load_background
- .4byte ma15_load_battle_screen_elements
- .4byte ma16_wait_for_battle_screen_elements_s2
- .4byte sub_8076F44
- .4byte ma18_load_background_probably
- .4byte ma19_08073BC8
- .4byte ma1A_8073C00
- .4byte ma1B_8073C2C
- .4byte ma1C_8073ED0
- .4byte ma1D_08073FB4
- .4byte sub_8076A78
- .4byte sub_8077610
- .4byte ma20_wait_for_something
- .4byte ma21_08074164
- .4byte sub_80767C4
- .4byte ma23_8073484
- .4byte sub_807775C
- .4byte sub_8076C4C
- .4byte sub_8077320
- .4byte sub_80773B4
- .4byte sub_807779C
- .4byte sub_8077808
- .4byte sub_807784C
- .4byte ma2B_make_side_invisible
- .4byte ma2C_make_side_visible
- .4byte sub_807794C
- .4byte sub_80779FC
- .4byte ma2F_stop_music
-
-gUnknown_0837F578:: @ 837F578
- .incbin "baserom.gba", 0x0037f578, 0x20
-
-@ One entry for each of the four Castform forms.
-@ Coords are probably front pic coords or back pic coords, but this data does not seem to be
-@ used during battle, party summary, or pokedex screens.
- .align 2
-gUnknownCastformCoords_0837F598:: @ 837F598
- .byte 68, 17, 0, 0
- .byte 102, 9, 0, 0
- .byte 70, 9, 0, 0
- .byte 134, 8, 0, 0
-
-@ One entry for each of the four Castform forms. Probably a palette index.
-gUnknownCastformData_0837F5A8:: @ 837F5A8
- .byte 0xD, 0xE, 0xD, 0xD
-
-gUnknown_0837F5AC:: @ 837F5AC
- .byte 0, 0, 0, 0
-
- .align 2
-gSpriteTemplate_837F5B0:: @ 837F5B0
- spr_template 55125, 55125, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_837F5C8:: @ 837F5C8
- spr_template 55126, 55126, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_0837F5E0:: @ 837F5E0
- obj_tiles gMiscBlank_Gfx, 2048, 0xd755
- obj_tiles gMiscBlank_Gfx, 2048, 0xd756
-
- .include "data/maps/events/PetalburgCity.inc"
- .include "data/maps/events/SlateportCity.inc"
- .include "data/maps/events/MauvilleCity.inc"
- .include "data/maps/events/RustboroCity.inc"
- .include "data/maps/events/FortreeCity.inc"
- .include "data/maps/events/LilycoveCity.inc"
- .include "data/maps/events/MossdeepCity.inc"
- .include "data/maps/events/SootopolisCity.inc"
- .include "data/maps/events/EverGrandeCity.inc"
- .include "data/maps/events/LittlerootTown.inc"
- .include "data/maps/events/OldaleTown.inc"
- .include "data/maps/events/DewfordTown.inc"
- .include "data/maps/events/LavaridgeTown.inc"
- .include "data/maps/events/FallarborTown.inc"
- .include "data/maps/events/VerdanturfTown.inc"
- .include "data/maps/events/PacifidlogTown.inc"
- .include "data/maps/events/Route101.inc"
- .include "data/maps/events/Route102.inc"
- .include "data/maps/events/Route103.inc"
- .include "data/maps/events/Route104.inc"
- .include "data/maps/events/Route105.inc"
- .include "data/maps/events/Route106.inc"
- .include "data/maps/events/Route107.inc"
- .include "data/maps/events/Route108.inc"
- .include "data/maps/events/Route109.inc"
- .include "data/maps/events/Route110.inc"
- .include "data/maps/events/Route111.inc"
- .include "data/maps/events/Route112.inc"
- .include "data/maps/events/Route113.inc"
- .include "data/maps/events/Route114.inc"
- .include "data/maps/events/Route115.inc"
- .include "data/maps/events/Route116.inc"
- .include "data/maps/events/Route117.inc"
- .include "data/maps/events/Route118.inc"
- .include "data/maps/events/Route119.inc"
- .include "data/maps/events/Route120.inc"
- .include "data/maps/events/Route121.inc"
- .include "data/maps/events/Route122.inc"
- .include "data/maps/events/Route123.inc"
- .include "data/maps/events/Route124.inc"
- .include "data/maps/events/Route125.inc"
- .include "data/maps/events/Route126.inc"
- .include "data/maps/events/Route127.inc"
- .include "data/maps/events/Route128.inc"
- .include "data/maps/events/Route129.inc"
- .include "data/maps/events/Route130.inc"
- .include "data/maps/events/Route131.inc"
- .include "data/maps/events/Route132.inc"
- .include "data/maps/events/Route133.inc"
- .include "data/maps/events/Route134.inc"
- .include "data/maps/events/Underwater1.inc"
- .include "data/maps/events/Underwater2.inc"
- .include "data/maps/events/Underwater3.inc"
- .include "data/maps/events/Underwater4.inc"
- .include "data/maps/events/LittlerootTown_BrendansHouse_1F.inc"
- .include "data/maps/events/LittlerootTown_BrendansHouse_2F.inc"
- .include "data/maps/events/LittlerootTown_MaysHouse_1F.inc"
- .include "data/maps/events/LittlerootTown_MaysHouse_2F.inc"
- .include "data/maps/events/LittlerootTown_ProfessorBirchsLab.inc"
- .include "data/maps/events/OldaleTown_House1.inc"
- .include "data/maps/events/OldaleTown_House2.inc"
- .include "data/maps/events/OldaleTown_PokemonCenter_1F.inc"
- .include "data/maps/events/OldaleTown_PokemonCenter_2F.inc"
- .include "data/maps/events/OldaleTown_Mart.inc"
- .include "data/maps/events/DewfordTown_House1.inc"
- .include "data/maps/events/DewfordTown_PokemonCenter_1F.inc"
- .include "data/maps/events/DewfordTown_PokemonCenter_2F.inc"
- .include "data/maps/events/DewfordTown_Gym.inc"
- .include "data/maps/events/DewfordTown_Hall.inc"
- .include "data/maps/events/DewfordTown_House2.inc"
- .include "data/maps/events/LavaridgeTown_HerbShop.inc"
- .include "data/maps/events/LavaridgeTown_Gym_1F.inc"
- .include "data/maps/events/LavaridgeTown_Gym_B1F.inc"
- .include "data/maps/events/LavaridgeTown_House.inc"
- .include "data/maps/events/LavaridgeTown_Mart.inc"
- .include "data/maps/events/LavaridgeTown_PokemonCenter_1F.inc"
- .include "data/maps/events/LavaridgeTown_PokemonCenter_2F.inc"
- .include "data/maps/events/FallarborTown_Mart.inc"
- .include "data/maps/events/FallarborTown_ContestLobby.inc"
- .include "data/maps/events/FallarborTown_ContestHall.inc"
- .include "data/maps/events/FallarborTown_PokemonCenter_1F.inc"
- .include "data/maps/events/FallarborTown_PokemonCenter_2F.inc"
- .include "data/maps/events/FallarborTown_House1.inc"
- .include "data/maps/events/FallarborTown_House2.inc"
- .include "data/maps/events/VerdanturfTown_ContestLobby.inc"
- .include "data/maps/events/VerdanturfTown_ContestHall.inc"
- .include "data/maps/events/VerdanturfTown_Mart.inc"
- .include "data/maps/events/VerdanturfTown_PokemonCenter_1F.inc"
- .include "data/maps/events/VerdanturfTown_PokemonCenter_2F.inc"
- .include "data/maps/events/VerdanturfTown_WandasHouse.inc"
- .include "data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc"
- .include "data/maps/events/VerdanturfTown_House.inc"
- .include "data/maps/events/PacifidlogTown_PokemonCenter_1F.inc"
- .include "data/maps/events/PacifidlogTown_PokemonCenter_2F.inc"
- .include "data/maps/events/PacifidlogTown_House1.inc"
- .include "data/maps/events/PacifidlogTown_House2.inc"
- .include "data/maps/events/PacifidlogTown_House3.inc"
- .include "data/maps/events/PacifidlogTown_House4.inc"
- .include "data/maps/events/PacifidlogTown_House5.inc"
- .include "data/maps/events/PetalburgCity_WallysHouse.inc"
- .include "data/maps/events/PetalburgCity_Gym.inc"
- .include "data/maps/events/PetalburgCity_House1.inc"
- .include "data/maps/events/PetalburgCity_House2.inc"
- .include "data/maps/events/PetalburgCity_PokemonCenter_1F.inc"
- .include "data/maps/events/PetalburgCity_PokemonCenter_2F.inc"
- .include "data/maps/events/PetalburgCity_Mart.inc"
- .include "data/maps/events/SlateportCity_SternsShipyard_1F.inc"
- .include "data/maps/events/SlateportCity_SternsShipyard_2F.inc"
- .include "data/maps/events/SlateportCity_ContestLobby.inc"
- .include "data/maps/events/SlateportCity_ContestHall.inc"
- .include "data/maps/events/SlateportCity_House1.inc"
- .include "data/maps/events/SlateportCity_PokemonFanClub.inc"
- .include "data/maps/events/SlateportCity_OceanicMuseum_1F.inc"
- .include "data/maps/events/SlateportCity_OceanicMuseum_2F.inc"
- .include "data/maps/events/SlateportCity_Harbor.inc"
- .include "data/maps/events/SlateportCity_House2.inc"
- .include "data/maps/events/SlateportCity_PokemonCenter_1F.inc"
- .include "data/maps/events/SlateportCity_PokemonCenter_2F.inc"
- .include "data/maps/events/SlateportCity_Mart.inc"
- .include "data/maps/events/MauvilleCity_Gym.inc"
- .include "data/maps/events/MauvilleCity_BikeShop.inc"
- .include "data/maps/events/MauvilleCity_House1.inc"
- .include "data/maps/events/MauvilleCity_GameCorner.inc"
- .include "data/maps/events/MauvilleCity_House2.inc"
- .include "data/maps/events/MauvilleCity_PokemonCenter_1F.inc"
- .include "data/maps/events/MauvilleCity_PokemonCenter_2F.inc"
- .include "data/maps/events/MauvilleCity_Mart.inc"
- .include "data/maps/events/RustboroCity_DevonCorp_1F.inc"
- .include "data/maps/events/RustboroCity_DevonCorp_2F.inc"
- .include "data/maps/events/RustboroCity_DevonCorp_3F.inc"
- .include "data/maps/events/RustboroCity_Gym.inc"
- .include "data/maps/events/RustboroCity_PokemonSchool.inc"
- .include "data/maps/events/RustboroCity_PokemonCenter_1F.inc"
- .include "data/maps/events/RustboroCity_PokemonCenter_2F.inc"
- .include "data/maps/events/RustboroCity_Mart.inc"
- .include "data/maps/events/RustboroCity_Flat1_1F.inc"
- .include "data/maps/events/RustboroCity_Flat1_2F.inc"
- .include "data/maps/events/RustboroCity_House1.inc"
- .include "data/maps/events/RustboroCity_CuttersHouse.inc"
- .include "data/maps/events/RustboroCity_House2.inc"
- .include "data/maps/events/RustboroCity_Flat2_1F.inc"
- .include "data/maps/events/RustboroCity_Flat2_2F.inc"
- .include "data/maps/events/RustboroCity_Flat2_3F.inc"
- .include "data/maps/events/RustboroCity_House3.inc"
- .include "data/maps/events/FortreeCity_House1.inc"
- .include "data/maps/events/FortreeCity_Gym.inc"
- .include "data/maps/events/FortreeCity_PokemonCenter_1F.inc"
- .include "data/maps/events/FortreeCity_PokemonCenter_2F.inc"
- .include "data/maps/events/FortreeCity_Mart.inc"
- .include "data/maps/events/FortreeCity_House2.inc"
- .include "data/maps/events/FortreeCity_House3.inc"
- .include "data/maps/events/FortreeCity_House4.inc"
- .include "data/maps/events/FortreeCity_House5.inc"
- .include "data/maps/events/FortreeCity_DecorationShop.inc"
- .include "data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc"
- .include "data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc"
- .include "data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc"
- .include "data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc"
- .include "data/maps/events/LilycoveCity_ContestLobby.inc"
- .include "data/maps/events/LilycoveCity_ContestHall.inc"
- .include "data/maps/events/LilycoveCity_PokemonCenter_1F.inc"
- .include "data/maps/events/LilycoveCity_PokemonCenter_2F.inc"
- .include "data/maps/events/LilycoveCity_UnusedMart.inc"
- .include "data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc"
- .include "data/maps/events/LilycoveCity_Harbor.inc"
- .include "data/maps/events/LilycoveCity_EmptyMap.inc"
- .include "data/maps/events/LilycoveCity_MoveDeletersHouse.inc"
- .include "data/maps/events/LilycoveCity_House1.inc"
- .include "data/maps/events/LilycoveCity_House2.inc"
- .include "data/maps/events/LilycoveCity_House3.inc"
- .include "data/maps/events/LilycoveCity_House4.inc"
- .include "data/maps/events/LilycoveCity_DepartmentStore_1F.inc"
- .include "data/maps/events/LilycoveCity_DepartmentStore_2F.inc"
- .include "data/maps/events/LilycoveCity_DepartmentStore_3F.inc"
- .include "data/maps/events/LilycoveCity_DepartmentStore_4F.inc"
- .include "data/maps/events/LilycoveCity_DepartmentStore_5F.inc"
- .include "data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc"
- .include "data/maps/events/LilycoveCity_DepartmentStoreElevator.inc"
- .include "data/maps/events/MossdeepCity_Gym.inc"
- .include "data/maps/events/MossdeepCity_House1.inc"
- .include "data/maps/events/MossdeepCity_House2.inc"
- .include "data/maps/events/MossdeepCity_PokemonCenter_1F.inc"
- .include "data/maps/events/MossdeepCity_PokemonCenter_2F.inc"
- .include "data/maps/events/MossdeepCity_Mart.inc"
- .include "data/maps/events/MossdeepCity_House3.inc"
- .include "data/maps/events/MossdeepCity_StevensHouse.inc"
- .include "data/maps/events/MossdeepCity_House4.inc"
- .include "data/maps/events/MossdeepCity_SpaceCenter_1F.inc"
- .include "data/maps/events/MossdeepCity_SpaceCenter_2F.inc"
- .include "data/maps/events/MossdeepCity_GameCorner_1F.inc"
- .include "data/maps/events/MossdeepCity_GameCorner_B1F.inc"
- .include "data/maps/events/SootopolisCity_Gym_1F.inc"
- .include "data/maps/events/SootopolisCity_Gym_B1F.inc"
- .include "data/maps/events/SootopolisCity_PokemonCenter_1F.inc"
- .include "data/maps/events/SootopolisCity_PokemonCenter_2F.inc"
- .include "data/maps/events/SootopolisCity_Mart.inc"
- .include "data/maps/events/SootopolisCity_House1.inc"
- .include "data/maps/events/SootopolisCity_House2.inc"
- .include "data/maps/events/SootopolisCity_House3.inc"
- .include "data/maps/events/SootopolisCity_House4.inc"
- .include "data/maps/events/SootopolisCity_House5.inc"
- .include "data/maps/events/SootopolisCity_House6.inc"
- .include "data/maps/events/SootopolisCity_House7.inc"
- .include "data/maps/events/SootopolisCity_House8.inc"
- .include "data/maps/events/EverGrandeCity_SidneysRoom.inc"
- .include "data/maps/events/EverGrandeCity_PhoebesRoom.inc"
- .include "data/maps/events/EverGrandeCity_GlaciasRoom.inc"
- .include "data/maps/events/EverGrandeCity_DrakesRoom.inc"
- .include "data/maps/events/EverGrandeCity_ChampionsRoom.inc"
- .include "data/maps/events/EverGrandeCity_Corridor1.inc"
- .include "data/maps/events/EverGrandeCity_Corridor2.inc"
- .include "data/maps/events/EverGrandeCity_Corridor3.inc"
- .include "data/maps/events/EverGrandeCity_Corridor4.inc"
- .include "data/maps/events/EverGrandeCity_Corridor5.inc"
- .include "data/maps/events/EverGrandeCity_PokemonLeague.inc"
- .include "data/maps/events/EverGrandeCity_HallOfFame.inc"
- .include "data/maps/events/EverGrandeCity_PokemonCenter_1F.inc"
- .include "data/maps/events/EverGrandeCity_PokemonCenter_2F.inc"
- .include "data/maps/events/Route104_MrBrineysHouse.inc"
- .include "data/maps/events/Route104_PrettyPetalFlowerShop.inc"
- .include "data/maps/events/Route111_WinstrateFamilysHouse.inc"
- .include "data/maps/events/Route111_OldLadysRestStop.inc"
- .include "data/maps/events/Route112_CableCarStation.inc"
- .include "data/maps/events/MtChimney_CableCarStation.inc"
- .include "data/maps/events/Route114_FossilManiacsHouse.inc"
- .include "data/maps/events/Route114_FossilManiacsTunnel.inc"
- .include "data/maps/events/Route114_LanettesHouse.inc"
- .include "data/maps/events/Route116_TunnelersRestHouse.inc"
- .include "data/maps/events/Route117_PokemonDayCare.inc"
- .include "data/maps/events/Route121_SafariZoneEntrance.inc"
- .include "data/maps/events/MeteorFalls_1F_1R.inc"
- .include "data/maps/events/MeteorFalls_1F_2R.inc"
- .include "data/maps/events/MeteorFalls_B1F_1R.inc"
- .include "data/maps/events/MeteorFalls_B1F_2R.inc"
- .include "data/maps/events/RusturfTunnel.inc"
- .include "data/maps/events/Underwater_SootopolisCity.inc"
- .include "data/maps/events/DesertRuins.inc"
- .include "data/maps/events/GraniteCave_1F.inc"
- .include "data/maps/events/GraniteCave_B1F.inc"
- .include "data/maps/events/GraniteCave_B2F.inc"
- .include "data/maps/events/GraniteCave_StevensRoom.inc"
- .include "data/maps/events/PetalburgWoods.inc"
- .include "data/maps/events/MtChimney.inc"
- .include "data/maps/events/JaggedPass.inc"
- .include "data/maps/events/FieryPath.inc"
- .include "data/maps/events/MtPyre_1F.inc"
- .include "data/maps/events/MtPyre_2F.inc"
- .include "data/maps/events/MtPyre_3F.inc"
- .include "data/maps/events/MtPyre_4F.inc"
- .include "data/maps/events/MtPyre_5F.inc"
- .include "data/maps/events/MtPyre_6F.inc"
- .include "data/maps/events/MtPyre_Exterior.inc"
- .include "data/maps/events/MtPyre_Summit.inc"
- .include "data/maps/events/AquaHideout_1F.inc"
- .include "data/maps/events/AquaHideout_B1F.inc"
- .include "data/maps/events/AquaHideout_B2F.inc"
- .include "data/maps/events/Underwater_SeafloorCavern.inc"
- .include "data/maps/events/SeafloorCavern_Entrance.inc"
- .include "data/maps/events/SeafloorCavern_Room1.inc"
- .include "data/maps/events/SeafloorCavern_Room2.inc"
- .include "data/maps/events/SeafloorCavern_Room3.inc"
- .include "data/maps/events/SeafloorCavern_Room4.inc"
- .include "data/maps/events/SeafloorCavern_Room5.inc"
- .include "data/maps/events/SeafloorCavern_Room6.inc"
- .include "data/maps/events/SeafloorCavern_Room7.inc"
- .include "data/maps/events/SeafloorCavern_Room8.inc"
- .include "data/maps/events/SeafloorCavern_Room9.inc"
- .include "data/maps/events/CaveOfOrigin_Entrance.inc"
- .include "data/maps/events/CaveOfOrigin_1F.inc"
- .include "data/maps/events/CaveOfOrigin_B1F.inc"
- .include "data/maps/events/CaveOfOrigin_B2F.inc"
- .include "data/maps/events/CaveOfOrigin_B3F.inc"
- .include "data/maps/events/CaveOfOrigin_B4F.inc"
- .include "data/maps/events/VictoryRoad_1F.inc"
- .include "data/maps/events/VictoryRoad_B1F.inc"
- .include "data/maps/events/VictoryRoad_B2F.inc"
- .include "data/maps/events/ShoalCave_LowTideEntranceRoom.inc"
- .include "data/maps/events/ShoalCave_LowTideInnerRoom.inc"
- .include "data/maps/events/ShoalCave_LowTideStairsRoom.inc"
- .include "data/maps/events/ShoalCave_LowTideLowerRoom.inc"
- .include "data/maps/events/ShoalCave_HighTideEntranceRoom.inc"
- .include "data/maps/events/ShoalCave_HighTideInnerRoom.inc"
- .include "data/maps/events/NewMauville_Entrance.inc"
- .include "data/maps/events/NewMauville_Inside.inc"
- .include "data/maps/events/AbandonedShip_Deck.inc"
- .include "data/maps/events/AbandonedShip_Corridors_1F.inc"
- .include "data/maps/events/AbandonedShip_Rooms_1F.inc"
- .include "data/maps/events/AbandonedShip_Corridors_B1F.inc"
- .include "data/maps/events/AbandonedShip_Rooms_B1F.inc"
- .include "data/maps/events/AbandonedShip_Rooms2_B1F.inc"
- .include "data/maps/events/AbandonedShip_Underwater1.inc"
- .include "data/maps/events/AbandonedShip_Room_B1F.inc"
- .include "data/maps/events/AbandonedShip_Rooms2_1F.inc"
- .include "data/maps/events/AbandonedShip_CaptainsOffice.inc"
- .include "data/maps/events/AbandonedShip_Underwater2.inc"
- .include "data/maps/events/AbandonedShip_HiddenFloorCorridors.inc"
- .include "data/maps/events/AbandonedShip_HiddenFloorRooms.inc"
- .include "data/maps/events/IslandCave.inc"
- .include "data/maps/events/AncientTomb.inc"
- .include "data/maps/events/Underwater_Route134.inc"
- .include "data/maps/events/Underwater_SealedChamber.inc"
- .include "data/maps/events/SealedChamber_OuterRoom.inc"
- .include "data/maps/events/SealedChamber_InnerRoom.inc"
- .include "data/maps/events/ScorchedSlab.inc"
- .include "data/maps/events/MagmaHideout_1F.inc"
- .include "data/maps/events/MagmaHideout_B1F.inc"
- .include "data/maps/events/MagmaHideout_B2F.inc"
- .include "data/maps/events/SkyPillar_Entrance.inc"
- .include "data/maps/events/SkyPillar_Outside.inc"
- .include "data/maps/events/SkyPillar_1F.inc"
- .include "data/maps/events/SkyPillar_2F.inc"
- .include "data/maps/events/SkyPillar_3F.inc"
- .include "data/maps/events/SkyPillar_4F.inc"
- .include "data/maps/events/ShoalCave_LowTideIceRoom.inc"
- .include "data/maps/events/SkyPillar_5F.inc"
- .include "data/maps/events/SkyPillar_Top.inc"
- .include "data/maps/events/SecretBase_RedCave1.inc"
- .include "data/maps/events/SecretBase_BrownCave1.inc"
- .include "data/maps/events/SecretBase_BlueCave1.inc"
- .include "data/maps/events/SecretBase_YellowCave1.inc"
- .include "data/maps/events/SecretBase_Tree1.inc"
- .include "data/maps/events/SecretBase_Shrub1.inc"
- .include "data/maps/events/SecretBase_RedCave2.inc"
- .include "data/maps/events/SecretBase_BrownCave2.inc"
- .include "data/maps/events/SecretBase_BlueCave2.inc"
- .include "data/maps/events/SecretBase_YellowCave2.inc"
- .include "data/maps/events/SecretBase_Tree2.inc"
- .include "data/maps/events/SecretBase_Shrub2.inc"
- .include "data/maps/events/SecretBase_RedCave3.inc"
- .include "data/maps/events/SecretBase_BrownCave3.inc"
- .include "data/maps/events/SecretBase_BlueCave3.inc"
- .include "data/maps/events/SecretBase_YellowCave3.inc"
- .include "data/maps/events/SecretBase_Tree3.inc"
- .include "data/maps/events/SecretBase_Shrub3.inc"
- .include "data/maps/events/SecretBase_RedCave4.inc"
- .include "data/maps/events/SecretBase_BrownCave4.inc"
- .include "data/maps/events/SecretBase_BlueCave4.inc"
- .include "data/maps/events/SecretBase_YellowCave4.inc"
- .include "data/maps/events/SecretBase_Tree4.inc"
- .include "data/maps/events/SecretBase_Shrub4.inc"
- .include "data/maps/events/SingleBattleColosseum.inc"
- .include "data/maps/events/TradeCenter.inc"
- .include "data/maps/events/RecordCorner.inc"
- .include "data/maps/events/DoubleBattleColosseum.inc"
- .include "data/maps/events/LinkContestRoom1.inc"
- .include "data/maps/events/LinkContestRoom2.inc"
- .include "data/maps/events/LinkContestRoom3.inc"
- .include "data/maps/events/LinkContestRoom4.inc"
- .include "data/maps/events/LinkContestRoom5.inc"
- .include "data/maps/events/LinkContestRoom6.inc"
- .include "data/maps/events/UnknownMap_25_29.inc"
- .include "data/maps/events/UnknownMap_25_30.inc"
- .include "data/maps/events/UnknownMap_25_31.inc"
- .include "data/maps/events/UnknownMap_25_32.inc"
- .include "data/maps/events/UnknownMap_25_33.inc"
- .include "data/maps/events/UnknownMap_25_34.inc"
- .include "data/maps/events/InsideOfTruck.inc"
- .include "data/maps/events/SSTidalCorridor.inc"
- .include "data/maps/events/SSTidalLowerDeck.inc"
- .include "data/maps/events/SSTidalRooms.inc"
- .include "data/maps/events/SafariZone_Northwest.inc"
- .include "data/maps/events/SafariZone_Northeast.inc"
- .include "data/maps/events/SafariZone_Southwest.inc"
- .include "data/maps/events/SafariZone_Southeast.inc"
- .include "data/maps/events/BattleTower_Outside.inc"
- .include "data/maps/events/BattleTower_Lobby.inc"
- .include "data/maps/events/BattleTower_Elevator.inc"
- .include "data/maps/events/BattleTower_Corridor.inc"
- .include "data/maps/events/BattleTower_BattleRoom.inc"
- .include "data/maps/events/SouthernIsland_Exterior.inc"
- .include "data/maps/events/SouthernIsland_Interior.inc"
- .include "data/maps/events/SafariZone_RestHouse.inc"
- .include "data/maps/events/Route104_Prototype.inc"
- .include "data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc"
- .include "data/maps/events/Route109_SeashoreHouse.inc"
- .include "data/maps/events/Route110_TrickHouseEntrance.inc"
- .include "data/maps/events/Route110_TrickHouseEnd.inc"
- .include "data/maps/events/Route110_TrickHouseCorridor.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle1.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle2.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle3.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle4.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle5.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle6.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle7.inc"
- .include "data/maps/events/Route110_TrickHousePuzzle8.inc"
- .include "data/maps/events/Route110_SeasideCyclingRoadSouthEntrance.inc"
- .include "data/maps/events/Route110_SeasideCyclingRoadNorthEntrance.inc"
- .include "data/maps/events/Route113_GlassWorkshop.inc"
- .include "data/maps/events/Route123_BerryMastersHouse.inc"
- .include "data/maps/events/Route119_WeatherInstitute_1F.inc"
- .include "data/maps/events/Route119_WeatherInstitute_2F.inc"
- .include "data/maps/events/Route119_House.inc"
-Route124_DivingTreasureHuntersHouse_MapObjects:: @ 839300C
- object_event 1, MAP_OBJ_GFX_MAN_6, 0, 5, 0, 4, 0, 0, 9, 0, 0, 0, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_163E04, 0, 0, 0
-
-Route124_DivingTreasureHuntersHouse_MapWarps:: @ 8393024
- warp_def 3, 8, 0, 0, Route124
- warp_def 4, 8, 0, 0, Route124
-
-Route124_DivingTreasureHuntersHouse_MapBGEvents:: @ 8393034
- bg_event 7, 1, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_164335
-
-Route124_DivingTreasureHuntersHouse_MapEvents:: @ 8393040
- map_events Route124_DivingTreasureHuntersHouse_MapObjects, Route124_DivingTreasureHuntersHouse_MapWarps, 0x0, Route124_DivingTreasureHuntersHouse_MapBGEvents
-
- .align 2
-gSpriteAnim_8393054:: @ 8393054
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 4, 3
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 12, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_8393068:: @ 8393068
- .4byte gSpriteAnim_8393054
-
- .align 2
-gSpriteTemplate_839306C:: @ 839306C
- spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A5C4
-
- .align 2
-gSpriteTemplate_8393084:: @ 8393084
- spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A544
-
- .align 2
-gSpriteAnim_839309C:: @ 839309C
- obj_image_anim_frame 0, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83930A4:: @ 83930A4
- .4byte gSpriteAnim_839309C
-
- .align 2
-gBattleAnimSpriteTemplate_83930A8:: @ 83930A8
- spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A908
-
- .align 2
-gBattleAnimSpriteTemplate_83930C0:: @ 83930C0
- spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A9BC
-
- .align 2
-gSpriteAnim_83930D8:: @ 83930D8
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 64, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83930F0:: @ 83930F0
- .4byte gSpriteAnim_83930D8
-
- .align 2
-gBattleAnimSpriteTemplate_83930F4:: @ 83930F4
- spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83930F0, NULL, gDummySpriteAffineAnimTable, sub_807A63C
-
- .align 2
-gSpriteTemplate_839310C:: @ 839310C
- spr_template 10051, 10051, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807A5C4
-
- .align 2
-gSpriteAnim_8393124:: @ 8393124
- obj_image_anim_frame 0, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_839312C:: @ 839312C
- obj_image_anim_frame 0, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_8393134:: @ 8393134
- obj_image_anim_frame 0, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_839313C:: @ 839313C
- .4byte gSpriteAnim_8393124
- .4byte gSpriteAnim_839312C
- .4byte gSpriteAnim_8393134
-
- .align 2
-gSpriteTemplate_8393148:: @ 8393148
- spr_template 10135, 10135, gOamData_837DF34, gSpriteAnimTable_839313C, NULL, gDummySpriteAffineAnimTable, sub_807A5C4
-
- .align 2
-gSpriteAnim_8393160:: @ 8393160
- obj_image_anim_frame 0, 15
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_8393168:: @ 8393168
- .4byte gSpriteAnim_8393160
-
- .align 2
-gSpriteAffineAnim_839316C:: @ 839316C
- obj_rot_scal_anim_frame 0x60, 0x60, 0, 0
- obj_rot_scal_anim_frame 0x2, 0x2, 0, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_8393184:: @ 8393184
- .4byte gSpriteAffineAnim_839316C
-
- .align 2
-gSpriteTemplate_8393188:: @ 8393188
- spr_template 10004, 10004, gOamData_837DFEC, gSpriteAnimTable_8393168, NULL, gSpriteAffineAnimTable_8393184, sub_807A544
-
- .align 2
- .incbin "baserom.gba", 0x003931a0, 0x18
-Unknown_083931B8:
- .incbin "baserom.gba", 0x003931b8, 0x20
-
-gUnknown_083931D8:: @ 83931D8
- .4byte 4, Unknown_083931B8
-
- .align 2
-gSpriteTemplate_83931E0:: @ 83931E0
- spr_template 10010, 10010, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83931F8:: @ 83931F8
- spr_template 10136, 10136, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807B870
-
- .align 2
-gUnknown_08393210:: @ 8393210
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/kyogre_dark.gbapal"
- .incbin "graphics/title_screen/kyogre_glow.gbapal"
- .else
- .incbin "graphics/title_screen/groudon_dark.gbapal"
- .incbin "graphics/title_screen/groudon_glow.gbapal"
- .endif
-
- .align 2
-gUnknown_08393250:: @ 8393250
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/kyogre.4bpp.lz"
- .else
- .incbin "graphics/title_screen/groudon.4bpp.lz"
- .endif
-
- .align 2
-gUnknown_083939EC:: @ 83939EC
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/kyogre_map.bin.lz"
- .else
- .incbin "graphics/title_screen/groudon_map.bin.lz"
- .endif
-
- .align 2
-gUnknown_08393BF8:: @ 8393BF8
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/water_map.bin.lz"
- .else
- .incbin "graphics/title_screen/lava_map.bin.lz"
- .endif
-
- .align 2
-LogoShineTiles: @ 8393D14
- .incbin "graphics/title_screen/logo_shine.4bpp.lz"
-
-gUnknown_08393E64:: @ 8393E64
- .incbin "baserom.gba", 0x00393e64, 0x40
-
- .align 2
-gOamData_8393EA4:: @ 8393EA4
- .2byte 0x60A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_8393EAC:: @ 8393EAC
- .2byte 0x60A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8393EB4:: @ 8393EB4
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393EBC:: @ 8393EBC
- obj_image_anim_frame 64, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8393EC4:: @ 8393EC4
- .4byte gSpriteAnim_8393EB4
-
- .align 2
-gSpriteAnimTable_8393EC8:: @ 8393EC8
- .4byte gSpriteAnim_8393EBC
-
- .align 2
-gSpriteTemplate_8393ECC:: @ 8393ECC
- spr_template 1000, 1000, gOamData_8393EA4, gSpriteAnimTable_8393EC4, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerLeft
-
- .align 2
-gSpriteTemplate_8393EE4:: @ 8393EE4
- spr_template 1000, 1000, gOamData_8393EAC, gSpriteAnimTable_8393EC8, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerRight
-
- .align 2
-gUnknown_08393EFC:: @ 8393EFC
- obj_tiles gVersionTiles, 0x1000, 1000
- null_obj_tiles
-
- .align 2
-gOamData_8393F0C:: @ 8393F0C
- .2byte 0x40A0
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8393F14:: @ 8393F14
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F1C:: @ 8393F1C
- obj_image_anim_frame 4, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F24:: @ 8393F24
- obj_image_anim_frame 8, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F2C:: @ 8393F2C
- obj_image_anim_frame 12, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F34:: @ 8393F34
- obj_image_anim_frame 16, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F3C:: @ 8393F3C
- obj_image_anim_frame 20, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F44:: @ 8393F44
- obj_image_anim_frame 24, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F4C:: @ 8393F4C
- obj_image_anim_frame 28, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8393F54:: @ 8393F54
- .4byte gSpriteAnim_8393F14
- .4byte gSpriteAnim_8393F1C
- .4byte gSpriteAnim_8393F24
- .4byte gSpriteAnim_8393F2C
- .4byte gSpriteAnim_8393F34
- .4byte gSpriteAnim_8393F3C
- .4byte gSpriteAnim_8393F44
- .4byte gSpriteAnim_8393F4C
-
- .align 2
-gSpriteTemplate_8393F74:: @ 8393F74
- spr_template 1001, 1001, gOamData_8393F0C, gSpriteAnimTable_8393F54, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PressStartCopyrightBanner
-
- .align 2
-gUnknown_08393F8C:: @ 8393F8C
- obj_tiles gTitleScreenPressStart_Gfx, 0x520, 1001
- null_obj_tiles
-
- .align 2
-gUnknown_08393F9C:: @ 8393F9C
- obj_pal gTitleScreenLogoShinePalette, 1001
- obj_pal 0x0, 0x0
-
- .align 2
-gOamData_8393FAC:: @ 8393FAC
- .2byte 0x00A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8393FB4:: @ 8393FB4
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8393FBC:: @ 8393FBC
- .4byte gSpriteAnim_8393FB4
-
- .align 2
-gSpriteTemplate_8393FC0:: @ 8393FC0
- spr_template 1002, 1001, gOamData_8393FAC, gSpriteAnimTable_8393FBC, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PokemonLogoShine
-
- .align 2
-gUnknown_08393FD8:: @ 8393FD8
- obj_tiles LogoShineTiles, 0x800, 1002
- null_obj_tiles
-
- .align 2
-DroughtPaletteData_0: @ 8393FE8
- .incbin "graphics/weather/drought0.bin.lz"
-
- .align 2
-DroughtPaletteData_1: @ 839480C
- .incbin "graphics/weather/drought1.bin.lz"
-
- .align 2
-DroughtPaletteData_2: @ 8395004
- .incbin "graphics/weather/drought2.bin.lz"
-
- .align 2
-DroughtPaletteData_3: @ 83957A0
- .incbin "graphics/weather/drought3.bin.lz"
-
- .align 2
-DroughtPaletteData_4: @ 8395FBC
- .incbin "graphics/weather/drought4.bin.lz"
-
- .align 2
-DroughtPaletteData_5: @ 8396784
- .incbin "graphics/weather/drought5.bin.lz"
-
- .align 2
-gUnknown_08396FA8:: @ 8396FA8
- .4byte DroughtPaletteData_0
- .4byte DroughtPaletteData_1
- .4byte DroughtPaletteData_2
- .4byte DroughtPaletteData_3
- .4byte DroughtPaletteData_4
- .4byte DroughtPaletteData_5
- @.4byte unk_20000000
- .incbin "baserom.gba", 0x00396fc0, 0x4 @ pointer to unk_2000000?
-
- .align 2
-gUnknown_08396FC4:: @ 8396FC4
- .4byte 0x0202f7e8
-
- .align 2
-gUnknown_08396FC8:: @ 8396FC8
- .4byte sub_807CAE8, nullsub_38, sub_807CAE8, sub_807CB0C
- .4byte sub_807DE78, sub_807DEF4, sub_807DEC4, sub_807DF54
- .4byte sub_807DF9C, nullsub_55, sub_807DFC0, sub_807DFD0
- .4byte sub_807E364, sub_807E400, sub_807E3D0, sub_807E460
- .4byte sub_807E9C8, snowflakes_progress2, sub_807EA18, sub_807EAC0
- .4byte sub_807EE80, sub_807EFC0, sub_807EEF4, sub_807F34C
- .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC
- .4byte sub_807F7F8, sub_807F888, sub_807F858, sub_807F934
- .4byte sub_807FE9C, sub_807FF4C, sub_807FF1C, sub_807FFC8
- .4byte sub_807FB24, sub_807FBD8, sub_807FBA8, sub_807FC3C
- .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC
- .4byte sub_8080430, nullsub_56, sub_8080460, sub_8080470
- .4byte sub_807E110, sub_807E174, sub_807E144, sub_807E258
- .4byte sub_807EF24, sub_807EFC0, sub_807EF90, sub_807F34C
- .4byte sub_8080474, sub_80804F8, sub_80804C8, sub_808056C
-
- .align 2
-gUnknown_083970B8:: @ 83970B8
- .4byte sub_807CC24
- .4byte sub_807CCAC
- .4byte nullsub_39
- .4byte nullsub_39
-
-gUnknown_083970C8:: @ 83970C8
- .incbin "baserom.gba", 0x003970c8, 0x20
-
- .align 2
-gUnknown_083970E8:: @ 83970E8
- .incbin "graphics/weather/0.gbapal"
-
- .align 2
-gUnknown_08397108:: @ 8397108
- .incbin "graphics/weather/1.gbapal"
-
- .align 2
-gUnknown_08397128:: @ 8397128
- .incbin "graphics/weather/2.gbapal"
-
- .align 2
-WeatherFog0Tiles: @ 8397148
- .incbin "graphics/weather/fog0.4bpp"
-
- .align 2
-gWeatherFog1Tiles:: @ 8397948
- .incbin "graphics/weather/fog1.4bpp"
-
- .align 2
-WeatherCloudTiles: @ 8398148
- .incbin "graphics/weather/cloud.4bpp"
-
- .align 2
-gSpriteImage_8398948:: @ 8398948
- .incbin "graphics/weather/snow0.4bpp"
-
- .align 2
-gSpriteImage_8398968:: @ 8398968
- .incbin "graphics/weather/snow1.4bpp"
-
- .align 2
-WeatherBubbleTiles: @ 8398988
- .incbin "graphics/weather/bubble.4bpp"
-
- .align 2
-WeatherAshTiles: @ 83989C8
- .incbin "graphics/weather/ash.4bpp"
-
- .align 2
-WeatherRainTiles: @ 83999C8
- .incbin "graphics/weather/rain.4bpp"
-
- .align 2
-WeatherSandstormTiles: @ 8399FC8
- .incbin "graphics/weather/sandstorm.4bpp"
-
- .align 1
-gUnknown_0839A9C8:: @ 839A9C8
- .2byte 0, 66
- .2byte 5, 73
- .2byte 10, 78
-
- .align 2
-gUnknown_0839A9D4:: @ 839A9D4
- obj_tiles WeatherCloudTiles, 0x800, 0x1200
-
- .align 2
-gOamData_839A9DC:: @ 839A9DC
- .2byte 0x0400
- .2byte 0xC000
- .2byte 0x0C00
-
- .align 2
-gSpriteAnim_839A9E4:: @ 839A9E4
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839A9EC:: @ 839A9EC
- .4byte gSpriteAnim_839A9E4
-
- .align 2
-gSpriteTemplate_839A9F0:: @ 839A9F0
- spr_template 4608, 4609, gOamData_839A9DC, gSpriteAnimTable_839A9EC, NULL, gDummySpriteAffineAnimTable, sub_807E0F4
-
- .align 1
-gUnknown_0839AA08:: @ 839AA08
- .2byte 0, 0
- .2byte 0, 160
- .2byte 0, 64
- .2byte 144, 224
- .2byte 144, 128
- .2byte 32, 32
- .2byte 32, 192
- .2byte 32, 96
- .2byte 72, 128
- .2byte 72, 32
- .2byte 72, 192
- .2byte 216, 96
- .2byte 216, 0
- .2byte 104, 160
- .2byte 104, 64
- .2byte 104, 224
- .2byte 144, 0
- .2byte 144, 160
- .2byte 144, 64
- .2byte 32, 224
- .2byte 32, 128
- .2byte 72, 32
- .2byte 72, 192
- .2byte 48, 96
-
- .align 2
-gOamData_839AA68:: @ 839AA68
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x2400
-
- .align 2
-gSpriteAnim_839AA70:: @ 839AA70
- obj_image_anim_frame 0, 16
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_839AA78:: @ 839AA78
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 32, 2
- obj_image_anim_frame 40, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AA88:: @ 839AA88
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 24, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839AA98:: @ 839AA98
- .4byte gSpriteAnim_839AA70
- .4byte gSpriteAnim_839AA78
- .4byte gSpriteAnim_839AA88
-
- .align 2
-gSpriteTemplate_839AAA4:: @ 839AAA4
- spr_template 4614, 4608, gOamData_839AA68, gSpriteAnimTable_839AA98, NULL, gDummySpriteAffineAnimTable, sub_807E5C0
-
-gUnknown_0839AABC:: @ 839AABC
- .incbin "baserom.gba", 0x0039aabc, 0x8
-
-gUnknown_0839AAC4:: @ 839AAC4
- .incbin "baserom.gba", 0x0039aac4, 0x8
-
- .align 2
-gUnknown_0839AACC:: @ 839AACC
- obj_tiles WeatherRainTiles, 0x600, 0x1206
-
- .align 2
-gOamData_839AAD4:: @ 839AAD4
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteImageTable_839AADC:: @ 839AADC
- obj_frame_tiles gSpriteImage_8398948, 0x20
- obj_frame_tiles gSpriteImage_8398968, 0x20
-
- .align 2
-gSpriteAnim_839AAEC:: @ 839AAEC
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AAF4:: @ 839AAF4
- obj_image_anim_frame 1, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839AAFC:: @ 839AAFC
- .4byte gSpriteAnim_839AAEC
- .4byte gSpriteAnim_839AAF4
-
- .align 2
-gSpriteTemplate_839AB04:: @ 839AB04
- spr_template 0xFFFF, 4608, gOamData_839AAD4, gSpriteAnimTable_839AAFC, gSpriteImageTable_839AADC, gDummySpriteAffineAnimTable, sub_807ED48
-
- .align 2
- .incbin "baserom.gba", 0x0039ab1c, 0x10
-
- .align 2
-gOamData_839AB2C:: @ 839AB2C
- .2byte 0x0400
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_839AB34:: @ 839AB34
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AB3C:: @ 839AB3C
- obj_image_anim_frame 32, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AB44:: @ 839AB44
- obj_image_anim_frame 64, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AB4C:: @ 839AB4C
- obj_image_anim_frame 96, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AB54:: @ 839AB54
- obj_image_anim_frame 128, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AB5C:: @ 839AB5C
- obj_image_anim_frame 160, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839AB64:: @ 839AB64
- .4byte gSpriteAnim_839AB34
- .4byte gSpriteAnim_839AB3C
- .4byte gSpriteAnim_839AB44
- .4byte gSpriteAnim_839AB4C
- .4byte gSpriteAnim_839AB54
- .4byte gSpriteAnim_839AB5C
-
- .align 2
-gSpriteAffineAnim_839AB7C:: @ 839AB7C
- obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_839AB8C:: @ 839AB8C
- .4byte gSpriteAffineAnim_839AB7C
-
- .align 2
-gSpriteTemplate_839AB90:: @ 839AB90
- spr_template 4609, 4608, gOamData_839AB2C, gSpriteAnimTable_839AB64, NULL, gSpriteAffineAnimTable_839AB8C, sub_807F688
-
- .align 2
-gUnknown_0839ABA8:: @ 839ABA8
- obj_tiles gWeatherFog1Tiles, 0x800, 0x1201
-
- .align 2
-gUnknown_0839ABB0:: @ 839ABB0
- obj_tiles WeatherAshTiles, 0x1000, 0x1202
-
- .align 2
-gOamData_839ABB8:: @ 839ABB8
- .2byte 0x0400
- .2byte 0xC000
- .2byte 0xF400
-
- .align 2
-gSpriteAnim_839ABC0:: @ 839ABC0
- obj_image_anim_frame 0, 60
- obj_image_anim_frame 64, 60
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_839ABCC:: @ 839ABCC
- .4byte gSpriteAnim_839ABC0
-
- .align 2
-gSpriteTemplate_839ABD0:: @ 839ABD0
- spr_template 4610, 4608, gOamData_839ABB8, gSpriteAnimTable_839ABCC, NULL, gDummySpriteAffineAnimTable, sub_807FAA8
-
- .align 2
-gUnknown_0839ABE8:: @ 839ABE8
- obj_tiles WeatherFog0Tiles, 0x800, 0x1203
-
- .align 2
-gOamData_839ABF0:: @ 839ABF0
- .2byte 0x0400
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_839ABF8:: @ 839ABF8
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839AC00:: @ 839AC00
- .4byte gSpriteAnim_839ABF8
-
- .align 2
-gSpriteTemplate_839AC04:: @ 839AC04
- spr_template 4611, 4608, gOamData_839ABF0, gSpriteAnimTable_839AC00, NULL, gDummySpriteAffineAnimTable, sub_807FE3C
-
- .align 2
-gOamData_839AC1C:: @ 839AC1C
- .2byte 0x0400
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_839AC24:: @ 839AC24
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839AC2C:: @ 839AC2C
- obj_image_anim_frame 64, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839AC34:: @ 839AC34
- .4byte gSpriteAnim_839AC24
- .4byte gSpriteAnim_839AC2C
-
- .align 2
-gSpriteTemplate_839AC3C:: @ 839AC3C
- spr_template 4612, 4609, gOamData_839AC1C, gSpriteAnimTable_839AC34, NULL, gDummySpriteAffineAnimTable, sub_8080338
-
- .align 2
-gUnknown_0839AC54:: @ 839AC54
- obj_tiles WeatherSandstormTiles, 0xA00, 0x1204
-
-gUnknown_0839AC5C:: @ 839AC5C
- .incbin "baserom.gba", 0x0039ac5c, 0xc
-
-gUnknown_0839AC68:: @ 839AC68
- .incbin "baserom.gba", 0x0039ac68, 0x8
-
- .align 2
-gUnknown_0839AC70:: @ 839AC70
- obj_tiles WeatherBubbleTiles, 0x40, 0x1205
-
- .align 1
-gUnknown_0839AC78:: @ 839AC78
- .2byte 120, 160
- .2byte 376, 160
- .2byte 40, 140
- .2byte 296, 140
- .2byte 180, 130
- .2byte 436, 130
- .2byte 60, 160
- .2byte 436, 160
- .2byte 220, 180
- .2byte 476, 180
- .2byte 10, 90
- .2byte 266, 90
- .2byte 256, 160
-
- .align 2
-gSpriteAnim_839ACAC:: @ 839ACAC
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839ACB8:: @ 839ACB8
- .4byte gSpriteAnim_839ACAC
-
- .align 2
-gSpriteTemplate_839ACBC:: @ 839ACBC
- spr_template 4613, 4608, gOamData_837DF24, gSpriteAnimTable_839ACB8, NULL, gDummySpriteAffineAnimTable, unc_0807DAB4
-
-gUnknown_0839ACD4:: @ 839ACD4
- .byte 2, 3, 5, 3
-
-gUnknown_0839ACD8:: @ 839ACD8
- .byte 2, 2, 3, 2
-
-gUnknown_0839ACDC:: @ 839ACDC
- .incbin "baserom.gba", 0x0039acdc, 0xc
-
- .align 2
-gUnknown_0839ACE8:: @ 839ACE8
- .byte 4
-
- .align 2
-gUnknown_0839ACEC:: @ 839ACEC
- .4byte REG_WIN0H
- .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
- .4byte 1
-
-gBattleTransitionTable_Wild:: @ 839ACF8
- .byte 8, 9, 5, 10, 0, 10, 7, 6
-
-gBattleTransitionTable_Trainer:: @ 839AD00
- .byte 4, 11, 2, 3, 0, 10, 1, 6
-
- .align 2
-gTrainerBattleSpecs_0:: @ 839AD08
- .4byte gTrainerBattleMode, 0
- .4byte gTrainerBattleOpponent, 1
- .4byte gTrainerMapObjectLocalId, 1
- .4byte gTrainerIntroSpeech, 2
- .4byte gTrainerDefeatSpeech, 2
- .4byte gTrainerVictorySpeech, 5
- .4byte gTrainerCannotBattleSpeech, 5
- .4byte gTrainerBattleEndScript, 5
- .4byte gTrainerBattleScriptReturnAddress, 6
-
- .align 2
-gTrainerBattleSpecs_1:: @ 839AD50
- .4byte gTrainerBattleMode, 0
- .4byte gTrainerBattleOpponent, 1
- .4byte gTrainerMapObjectLocalId, 1
- .4byte gTrainerIntroSpeech, 2
- .4byte gTrainerDefeatSpeech, 2
- .4byte gTrainerVictorySpeech, 5
- .4byte gTrainerCannotBattleSpeech, 5
- .4byte gTrainerBattleEndScript, 2
- .4byte gTrainerBattleScriptReturnAddress, 6
-
- .align 2
-gTrainerBattleSpecs_2:: @ 839AD98
- .4byte gTrainerBattleMode, 0
- .4byte gTrainerBattleOpponent, 1
- .4byte gTrainerMapObjectLocalId, 1
- .4byte gTrainerIntroSpeech, 2
- .4byte gTrainerDefeatSpeech, 2
- .4byte gTrainerVictorySpeech, 5
- .4byte gTrainerCannotBattleSpeech, 2
- .4byte gTrainerBattleEndScript, 5
- .4byte gTrainerBattleScriptReturnAddress, 6
-
- .align 2
-gTrainerBattleSpecs_3:: @ 839ADE0
- .4byte gTrainerBattleMode, 0
- .4byte gTrainerBattleOpponent, 1
- .4byte gTrainerMapObjectLocalId, 1
- .4byte gTrainerIntroSpeech, 5
- .4byte gTrainerDefeatSpeech, 2
- .4byte gTrainerVictorySpeech, 5
- .4byte gTrainerCannotBattleSpeech, 5
- .4byte gTrainerBattleEndScript, 5
- .4byte gTrainerBattleScriptReturnAddress, 6
-
- .align 2
-gTrainerBattleSpecs_4:: @ 839AE28
- .4byte gTrainerBattleMode, 0
- .4byte gTrainerBattleOpponent, 1
- .4byte gTrainerMapObjectLocalId, 1
- .4byte gTrainerIntroSpeech, 2
- .4byte gTrainerDefeatSpeech, 2
- .4byte gTrainerVictorySpeech, 5
- .4byte gTrainerCannotBattleSpeech, 2
- .4byte gTrainerBattleEndScript, 2
- .4byte gTrainerBattleScriptReturnAddress, 6
-
-@ 839AE70
- .include "data/trainer_eye_trainers.inc"
-
- .align 2
-gBadgeFlags:: @ 839B1F0
- .2byte 0x0807, 0x0808, 0x0809, 0x080a, 0x080b, 0x080c, 0x080d, 0x080e
-
-TrainerCardColorName_Bronze:
- .string "BRONZE$", 7
-TrainerCardColorName_Copper:
- .string "COPPER$", 7
-TrainerCardColorName_Silver:
- .string "SILVER$", 7
-TrainerCardColorName_Gold:
- .string "GOLD$", 7
-
- .align 2
-gTrainerCardColorNames:: @ 839B21C
- .4byte TrainerCardColorName_Bronze
- .4byte TrainerCardColorName_Copper
- .4byte TrainerCardColorName_Silver
- .4byte TrainerCardColorName_Gold
-
-@ These seem to be strings for keypad test code.
-gUnknown_0839B22C:: @ 839B22C
- .string " A$" @ A
- .string " B$" @ B
- .string "SL$" @ SELECT
- .string "ST$" @ START
- .string "RK$" @ right
- .string "LK$" @ left
- .string "UK$" @ up
- .string "DK$" @ down
- .string "RT$" @ R
- .string "LT$" @ L
-
-gUnknown_0839B24A:: @ 839B24A
- .string "ND$"
-
-gUnknown_0839B24D:: @ 839B24D
- .string "の こどもは\n$" @ "'s child <topic-particle>"
-
-gUnknown_0839B255:: @ 839B255
- .string " $"
-
-gUnknown_0839B257:: @ 839B257
- .string "ながいなまえぽけもん$" @ "long name pokemon" (used as test name)
-
-Text_39B262: @ 839B262
- .string "Search a child$"
-
-Text_39B271: @ 839B271
- .string "Egg$"
-
-Text_39B275: @ 839B275
- .string "Egg (male)$"
-
-Text_39B280: @ 839B280
- .string "1000 steps$"
-
-Text_39B28B: @ 839B28B
- .string "10000 steps$"
-
-Text_39B297: @ 839B297
- .string "MOVE TUTOR$"
-
-Text_39B2A2: @ 839B2A2
- .string "Breed an egg$"
-
-Text_39B2AF: @ 839B2AF
- .string "Long name$"
-
-Text_39B2B9: @ 839B2B9
- .string "ポロックけす$" @ "{POKEBLOCK} CASE$"
-
- .align 2
-gMoriDebugMenuActions:: @ 839B2C0
- .4byte Text_39B262, MoriDebugMenu_SearchChild
- .4byte Text_39B271, MoriDebugMenu_Egg
- .4byte Text_39B275, MoriDebugMenu_MaleEgg
- .4byte Text_39B280, MoriDebugMenu_1000Steps
- .4byte Text_39B28B, MoriDebugMenu_10000Steps
- .4byte Text_39B297, MoriDebugMenu_MoveTutor
- .4byte Text_39B2A2, MoriDebugMenu_BreedEgg
- .4byte Text_39B2AF, MoriDebugMenu_LongName
- .4byte Text_39B2B9, MoriDebugMenu_PokeblockCase
-
- .align 2
-gSpriteImage_839B308:: @ 839B308
- .incbin "graphics/unknown_sprites/839B4E0/0.4bpp"
-
- .align 2
-gSpriteImage_839B388:: @ 839B388
- .incbin "graphics/unknown_sprites/839B4E0/1.4bpp"
-
- .align 2
-gSpriteImage_839B408:: @ 839B408
- .incbin "graphics/unknown_sprites/839B408.4bpp"
-
- .align 2
-gIsTrainerInRange:: @ 839B488
- .4byte IsTrainerInRangeSouth
- .4byte IsTrainerInRangeNorth
- .4byte IsTrainerInRangeWest
- .4byte IsTrainerInRangeEast
-
- .align 2
-gTrainerSeeFuncList:: @ 839B498
- .4byte sub_8084394
- .4byte sub_8084398
- .4byte sub_80843DC
- .4byte sub_808441C
- .4byte sub_8084478
- .4byte sub_8084534
- .4byte sub_8084578
- .4byte sub_80845AC
- .4byte sub_80845C8
- .4byte sub_80845FC
- .4byte sub_8084654
- .4byte sub_80846C8
-
- .align 2
-gTrainerSeeFuncList2:: @ 839B4C8
- .4byte sub_80845C8
- .4byte sub_80845FC
- .4byte sub_8084654
- .4byte sub_80846C8
-
- .align 2
-gOamData_839B4D8:: @ 839B4D8
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteImageTable_839B4E0:: @ 839B4E0
- obj_frame_tiles gSpriteImage_839B308, 0x80
- obj_frame_tiles gSpriteImage_839B388, 0x80
-
- .align 2
-gSpriteImageTable_839B4F0:: @ 839B4F0
- obj_frame_tiles gSpriteImage_839B408, 0x80
-
- .align 2
-gSpriteAnim_839B4F8:: @ 839B4F8
- obj_image_anim_frame 0, 60
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_839B500:: @ 839B500
- obj_image_anim_frame 1, 60
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839B508:: @ 839B508
- .4byte gSpriteAnim_839B4F8
- .4byte gSpriteAnim_839B500
-
- .align 2
-gSpriteTemplate_839B510:: @ 839B510
- spr_template 0xFFFF, 0xFFFF, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4E0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably
-
- .align 2
-gSpriteTemplate_839B528:: @ 839B528
- spr_template 0xFFFF, 4100, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4F0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably
-
-@ 839B540
- .include "data/wild_mons.inc"
-
- .align 2
-gWildFeebasRoute119Data:: @ 839DBFC
- .byte 20, 25 @ Min/Max level
- .2byte SPECIES_FEEBAS
-
- .align 2
-gRoute119WaterTileData:: @ 839DC00
- .2byte 0x0, 0x2D, 0x0
- .2byte 0x2E, 0x5B, 0x83
- .2byte 0x5C, 0x8B, 0x12A
-
- .align 2
-gSpriteImage_839DC14:: @ 839DC14
- .incbin "graphics/birch_speech/birch.4bpp"
-
- .align 2
-gBirchPalette:: @ 839E414
- .incbin "graphics/birch_speech/birch.gbapal"
-
- .align 2
-gSpriteImage_839E434:: @ 839E434
- .incbin "graphics/misc/pokeball_glow.4bpp"
-
- .align 2
-gFieldEffectObjectPalette4: @ 839E454
- .incbin "graphics/field_effect_objects/palettes/04.gbapal"
-
- .align 2
-gSpriteImage_839E474:: @ 839E474
- .incbin "graphics/misc/pokecenter_monitor/0.4bpp"
-
- .align 2
-gSpriteImage_839E534:: @ 839E534
- .incbin "graphics/misc/pokecenter_monitor/1.4bpp"
-
- .align 2
-gSpriteImage_839E5F4:: @ 839E5F4
- .incbin "graphics/misc/big_hof_monitor.4bpp"
-
- .align 2
-gSpriteImage_839E7F4:: @ 839E7F4
- .incbin "graphics/misc/small_hof_monitor.4bpp"
-
- .align 2
-gFieldEffectObjectPalette5: @ 839E8F4
- .incbin "graphics/field_effect_objects/palettes/05.gbapal"
-
-@ Graphics for the lights streaking past your Pokémon when it uses a field move.
-
- .align 2
-gFieldMoveStreaksTiles:: @ 839E914
- .incbin "graphics/misc/field_move_streaks.4bpp"
-
- .align 2
-gFieldMoveStreaksPalette:: @ 839EB14
- .incbin "graphics/misc/field_move_streaks.gbapal"
-
- .align 2
-gFieldMoveStreaksTilemap:: @ 839EB34
- .incbin "graphics/misc/field_move_streaks_map.bin"
-
-@ The following light streaks effect is used when the map is dark (e.g. a cave).
-
- .align 2
-gDarknessFieldMoveStreaksTiles:: @ 839EDB4
- .incbin "graphics/misc/darkness_field_move_streaks.4bpp"
-
- .align 2
-gDarknessFieldMoveStreaksPalette:: @ 839EE34
- .incbin "graphics/misc/darkness_field_move_streaks.gbapal"
-
- .align 2
-gDarknessFieldMoveStreaksTilemap:: @ 839EE54
- .incbin "graphics/misc/darkness_field_move_streaks_map.bin"
-
- .align 2
-gFieldEffectScriptFuncs:: @ 839F0D4
- .4byte FieldEffectCmd_loadtiles
- .4byte FieldEffectCmd_loadfadedpal
- .4byte FieldEffectCmd_loadpal
- .4byte FieldEffectCmd_callnative
- .4byte FieldEffectCmd_end
- .4byte FieldEffectCmd_loadgfx_callnative
- .4byte FieldEffectCmd_loadtiles_callnative
- .4byte FieldEffectCmd_loadfadedpal_callnative
-
- .align 2
-gOamData_839F0F4:: @ 839F0F4
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_839F0FC:: @ 839F0FC
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_839F104:: @ 839F104
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteImageTable_839F10C:: @ 839F10C
- obj_frame_tiles gSpriteImage_839DC14, 0x800
-
- .align 2
-gUnknown_0839F114:: @ 839F114
- obj_pal gBirchPalette, 0x1006
-
- .align 2
-gSpriteAnim_839F11C:: @ 839F11C
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839F124:: @ 839F124
- .4byte gSpriteAnim_839F11C
-
- .align 2
-gSpriteTemplate_839F128:: @ 839F128
- spr_template 0xFFFF, 4102, gOamData_839F0F4, gSpriteAnimTable_839F124, gSpriteImageTable_839F10C, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gFieldEffectObjectPaletteInfo4:: @ 839F140
- obj_pal gFieldEffectObjectPalette4, 0x1007
-
- .align 2
-gFieldEffectObjectPaletteInfo5:: @ 839F148
- obj_pal gFieldEffectObjectPalette5, 0x1010
-
- .align 2
-gOamData_839F150:: @ 839F150
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteImageTable_839F158:: @ 839F158
- obj_frame_tiles gSpriteImage_839E434, 0x20
-
- .align 2
-gSpriteImageTable_839F160:: @ 839F160
- obj_frame_tiles gSpriteImage_839E474, 0xc0
- obj_frame_tiles gSpriteImage_839E534, 0xc0
-
- .align 2
-gSpriteImageTable_839F170:: @ 839F170
- obj_frame_tiles gSpriteImage_839E5F4, 0x200
-
- .align 2
-gSpriteImageTable_839F178:: @ 839F178
- obj_frame_tiles gSpriteImage_839E7F4, 0x200
-
- .align 2
-Unknown_39F180:: @ 839F180
- .incbin "baserom.gba", 0x0039f180, 0x20
-
- .align 2
-gUnknown_0839F1A0:: @ 839F1A0
- .4byte 4, Unknown_39F180
-
- .align 2
-Unknown_39F1A8:: @ 39F1A8
- .incbin "baserom.gba", 0x0039f1a8, 0x20
-
- .align 2
-gUnknown_0839F1C8:: @ 839F1C8
- .4byte 4, Unknown_39F1A8
-
- .align 2
-gSpriteAnim_839F1D0:: @ 839F1D0
- obj_image_anim_frame 0, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_839F1D8:: @ 839F1D8
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_839F1FC:: @ 839F1FC
- .4byte gSpriteAnim_839F1D0
- .4byte gSpriteAnim_839F1D8
-
- .align 2
-gSpriteAnimTable_839F204:: @ 839F204
- .4byte gSpriteAnim_839F1D0
-
- .align 2
-gSpriteTemplate_839F208:: @ 839F208
- spr_template 0xFFFF, 4103, gOamData_839F0FC, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F158, gDummySpriteAffineAnimTable, SpriteCB_PokeballGlow
-
- .align 2
-gSpriteTemplate_839F220:: @ 839F220
- spr_template 0xFFFF, 4100, gOamData_839F104, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F160, gDummySpriteAffineAnimTable, SpriteCB_PokecenterMonitor
-
- .align 2
-gSpriteTemplate_839F238:: @ 839F238
- spr_template 0xFFFF, 4112, gOamData_839F104, gSpriteAnimTable_839F204, gSpriteImageTable_839F170, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor
-
- .align 2
-gSpriteTemplate_839F250:: @ 839F250
- spr_template 0xFFFF, 4112, gOamData_839F150, gSpriteAnimTable_839F204, gSpriteImageTable_839F178, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor
-
- .align 2
-gUnknown_0839F268:: @ 839F268
- .4byte PokecenterHealEffect_0
- .4byte PokecenterHealEffect_1
- .4byte PokecenterHealEffect_2
- .4byte PokecenterHealEffect_3
-
- .align 2
-gUnknown_0839F278:: @ 839F278
- .4byte HallOfFameRecordEffect_0
- .4byte HallOfFameRecordEffect_1
- .4byte HallOfFameRecordEffect_2
- .4byte HallOfFameRecordEffect_3
-
- .align 2
-gUnknown_0839F288:: @ 839F288
- .4byte PokeballGlowEffect_0
- .4byte PokeballGlowEffect_1
- .4byte PokeballGlowEffect_2
- .4byte PokeballGlowEffect_3
- .4byte PokeballGlowEffect_4
- .4byte PokeballGlowEffect_5
- .4byte PokeballGlowEffect_6
- .4byte PokeballGlowEffect_7
-
-gUnknown_0839F2A8:: @ 839F2A8
- .incbin "baserom.gba", 0x0039f2a8, 0x18
-
-gUnknown_0839F2C0:: @ 839F2C0
- .incbin "baserom.gba", 0x0039f2c0, 0x4
-
-gUnknown_0839F2C4:: @ 839F2C4
- .incbin "baserom.gba", 0x0039f2c4, 0x4
-
-gUnknown_0839F2C8:: @ 839F2C8
- .space 4
-
- .align 2
-gUnknown_0839F2CC:: @ 839F2CC
- .4byte sub_80867AC
- .4byte sub_8086854
- .4byte sub_8086870
- .4byte sub_80868E4
- .4byte sub_808699C
- .4byte sub_80869B8
- .4byte sub_80869F8
-
- .align 2
-gUnknown_0839F2E8:: @ 839F2E8
- .4byte sub_8086AA0
- .4byte sub_8086AC0
- .4byte sub_8086B30
- .4byte sub_8086B54
- .4byte sub_8086B64
- .4byte sub_8086B88
-
- .align 2
-gUnknown_0839F300:: @ 839F300
- .4byte sub_8086CF4
- .4byte sub_8086D70
- .4byte sub_8086DB0
- .4byte sub_8086E10
- .4byte sub_8086E50
- .4byte sub_8086EB0
- .4byte sub_8086ED4
-
- .align 2
-gUnknown_0839F31C:: @ 839F31C
- .4byte sub_8086FB0
- .4byte waterfall_1_do_anim_probably
- .4byte waterfall_2_wait_anim_finish_probably
- .4byte sub_8087030
- .4byte sub_8087058
-
- .align 2
-gUnknown_0839F330:: @ 839F330
- .4byte sub_8087124
- .4byte dive_2_unknown
- .4byte dive_3_unknown
-
- .align 2
-gUnknown_0839F33C:: @ 839F33C
- .4byte sub_808722C
- .4byte sub_8087264
- .4byte sub_8087298
- .4byte sub_80872E4
- .4byte sub_80873D8
- .4byte sub_80873F4
-
- .align 2
-gUnknown_0839F354:: @ 839F354
- .4byte sub_80874CC
- .4byte sub_80874FC
- .4byte sub_8087548
- .4byte sub_808759C
-
- .align 2
-gUnknown_0839F364:: @ 839F364
- .4byte sub_80876C8
- .4byte sub_80876F8
- .4byte sub_8087774
- .4byte sub_80877AC
- .4byte sub_80877D4
-
- .align 2
-gUnknown_0839F378:: @ 839F378
- .4byte sub_80878F4
- .4byte sub_8087914
-
-gUnknown_0839F380:: @ 839F380
- .incbin "baserom.gba", 0x0039f380, 0x8
-
- .align 2
-gUnknown_0839F388:: @ 839F388
- .4byte sub_8087AA4
- .4byte sub_8087AC8
-
- .align 2
-gUnknown_0839F390:: @ 839F390
- .4byte sub_8087BEC
- .4byte sub_8087C14
- .4byte sub_8087CA4
- .4byte sub_8087D78
-
- .align 2
-gUnknown_0839F3A0:: @ 839F3A0
- .4byte sub_8087E4C
- .4byte sub_8087ED8
- .4byte sub_8087FDC
-
- .align 2
-gUnknown_0839F3AC:: @ 839F3AC
- .4byte sub_8088150
- .4byte sub_80881C0
- .4byte sub_8088228
- .4byte sub_80882B4
- .4byte sub_80882E4
- .4byte sub_8088338
- .4byte sub_8088380
-
- .align 2
-gUnknown_0839F3C8:: @ 839F3C8
- .4byte sub_80884AC
- .4byte sub_80884E8
- .4byte sub_8088554
- .4byte sub_80885A8
- .4byte sub_80885D8
- .4byte sub_808860C
- .4byte sub_808862C
-
- .align 2
-gUnknown_0839F3E4:: @ 839F3E4
- .4byte sub_8088984
- .4byte sub_80889E4
- .4byte sub_8088A30
- .4byte sub_8088A78
- .4byte sub_8088AF4
-
- .align 2
-gUnknown_0839F3F8:: @ 839F3F8
- .4byte sub_8088CA0
- .4byte sub_8088CF8
- .4byte sub_8088D3C
- .4byte sub_8088D94
- .4byte sub_8088DD8
- .4byte sub_8088E2C
- .4byte sub_8088EB4
- .4byte sub_8088F10
- .4byte sub_8088F30
-Unknown_839F41C:
- .incbin "baserom.gba", 0x0039f41c, 0x18
-Unknown_839F434:
- .incbin "baserom.gba", 0x0039f434, 0x18
-
- .align 2
-gUnknown_0839F44C:: @ 839F44C
- .4byte Unknown_839F41C
- .4byte Unknown_839F434
-
- .align 2
-gUnknown_0839F454:: @ 839F454
- .4byte sub_80892A0
- .4byte sub_8089354
- .4byte sub_80893C0
- .4byte sub_8089414
- .4byte sub_808948C
- .4byte sub_80894C4
- .4byte fishE
-
-gUnknown_0839F470:: @ 839F470
- .incbin "baserom.gba", 0x0039f470, 0x24
-
- .align 2
-gPokemonMenuActions:: @ 839F494
- .4byte OtherText_Summary, PokemonMenu_Summary
- .4byte OtherText_Switch2, PokemonMenu_Switch
- .4byte OtherText_Item, PokemonMenu_Item
- .4byte gOtherText_CancelNoTerminator, PokemonMenu_Cancel
- .4byte OtherText_Give2, PokemonMenu_GiveItem
- .4byte OtherText_Take2, PokemonMenu_TakeItem
- .4byte OtherText_Take, PokemonMenu_TakeMail
- .4byte OtherText_Mail, PokemonMenu_Mail
- .4byte OtherText_Read2, PokemonMenu_ReadMail
- .4byte gOtherText_CancelNoTerminator, PokemonMenu_CancelSubmenu
- .4byte gMoveNames + 13 * MOVE_CUT, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_FLASH, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_ROCK_SMASH, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_STRENGTH, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_SURF, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_FLY, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_DIVE, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_WATERFALL, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_TELEPORT, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_DIG, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_SECRET_POWER, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_MILK_DRINK, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_SOFT_BOILED, PokemonMenu_FieldMove
- .4byte gMoveNames + 13 * MOVE_SWEET_SCENT, PokemonMenu_FieldMove
-
-gUnknown_0839F554:: @ 839F554
- .incbin "baserom.gba", 0x39f554, 0x1e
-
-Unknown_39F572: @ 839F572
- .byte 4, 5, 9, 0
-
- .align 2
-gUnknown_0839F578:: @ 839F578
- .byte 3, 6, 0, 0
- .4byte Unknown_39F572
-
-Unknown_39F580: @ 839F580
- .byte 8, 6, 9, 0
-
- .align 2
-gUnknown_0839F584:: @ 839F584
- .byte 3, 9, 0, 0
- .4byte Unknown_39F580
-
- .align 2
-gFieldMoveFuncs:: @ 839F58C
- .4byte SetUpFieldMove_Cut, 0x6
- .4byte SetUpFieldMove_Flash, 0x9
- .4byte SetUpFieldMove_RockSmash, 0x9
- .4byte SetUpFieldMove_Strength, 0x9
- .4byte SetUpFieldMove_Surf, 0x7
- .4byte SetUpFieldMove_Fly, 0x9
- .4byte SetUpFieldMove_Dive, 0x9
- .4byte SetUpFieldMove_Waterfall, 0x9
- .4byte SetUpFieldMove_Teleport, 0x9
- .4byte SetUpFieldMove_Dig, 0x9
- .4byte SetUpFieldMove_SecretPower, 0x9
- .4byte SetUpFieldMove_SoftBoiled, 0x10
- .4byte SetUpFieldMove_SoftBoiled, 0x10
- .4byte SetUpFieldMove_SweetScent, 0x9
-
- .align 2
-gUnknown_0839F5FC:: @ 839F5FC
- .incbin "baserom.gba", 0x0039f5fc, 0x40
-
- .align 2
-gUnknown_0839F63C:: @ 839F63C
- .incbin "baserom.gba", 0x0039f63c, 0x40
-
- .align 2
-gUnknown_0839F67C:: @ 839F67C
- .incbin "graphics/pokedex/search.gbapal"
-
- .align 2
-gUnknown_0839F73C:: @ 839F73C
- .incbin "graphics/pokedex/national.gbapal"
-
- .space 0xA4
-
- .align 2
-gUnknown_0839F8A0:: @ 839F8A0
- .incbin "baserom.gba", 0x0039f8a0, 0xe8
-
- .align 2
-gUnknown_0839F988:: @ 839F988
- .incbin "baserom.gba", 0x0039f988, 0xf4
-
-gUnknown_0839FA7C:: @ 839FA7C
- .incbin "graphics/pokedex/noball.4bpp.lz"
-
-@ 839FAC4
- .include "data/pokedex_orders.inc"
-
- .align 2
-gOamData_83A0404:: @ 83A0404
- .2byte 0x00A0
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gOamData_83A040C:: @ 83A040C
- .2byte 0x40A0
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_83A0414:: @ 83A0414
- .2byte 0x40A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_83A041C:: @ 83A041C
- .2byte 0x08A0
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gOamData_83A0424:: @ 83A0424
- .2byte 0x40A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_83A042C:: @ 83A042C
- .2byte 0x80A0
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83A0434:: @ 83A0434
- obj_image_anim_frame 3, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A043C:: @ 83A043C
- obj_image_anim_frame 1, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A0444:: @ 83A0444
- obj_image_anim_frame 16, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A044C:: @ 83A044C
- obj_image_anim_frame 32, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A0454:: @ 83A0454
- obj_image_anim_frame 64, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A045C:: @ 83A045C
- obj_image_anim_frame 96, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A0464:: @ 83A0464
- obj_image_anim_frame 128, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A046C:: @ 83A046C
- obj_image_anim_frame 160, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A0474:: @ 83A0474
- obj_image_anim_frame 192, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A047C:: @ 83A047C
- obj_image_anim_frame 224, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A0484:: @ 83A0484
- obj_image_anim_frame 226, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A048C:: @ 83A048C
- obj_image_anim_frame 228, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A0494:: @ 83A0494
- obj_image_anim_frame 230, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A049C:: @ 83A049C
- obj_image_anim_frame 232, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A04A4:: @ 83A04A4
- obj_image_anim_frame 234, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A04AC:: @ 83A04AC
- obj_image_anim_frame 236, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A04B4:: @ 83A04B4
- obj_image_anim_frame 238, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A04BC:: @ 83A04BC
- obj_image_anim_frame 240, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A04C4:: @ 83A04C4
- obj_image_anim_frame 242, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83A04CC:: @ 83A04CC
- obj_image_anim_frame 4, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83A04D4:: @ 83A04D4
- .4byte gSpriteAnim_83A0434
-
- .align 2
-gSpriteAnimTable_83A04D8:: @ 83A04D8
- .4byte gSpriteAnim_83A043C
-
- .align 2
-gSpriteAnimTable_83A04DC:: @ 83A04DC
- .4byte gSpriteAnim_83A0444
-
- .align 2
-gSpriteAnimTable_83A04E0:: @ 83A04E0
- .4byte gSpriteAnim_83A044C
- .4byte gSpriteAnim_83A0454
- .4byte gSpriteAnim_83A045C
- .4byte gSpriteAnim_83A0464
-
- .align 2
-gSpriteAnimTable_83A04F0:: @ 83A04F0
- .4byte gSpriteAnim_83A046C
- .4byte gSpriteAnim_83A0474
-
- .align 2
-gSpriteAnimTable_83A04F8:: @ 83A04F8
- .4byte gSpriteAnim_83A047C
- .4byte gSpriteAnim_83A0484
- .4byte gSpriteAnim_83A048C
- .4byte gSpriteAnim_83A0494
- .4byte gSpriteAnim_83A049C
- .4byte gSpriteAnim_83A04A4
- .4byte gSpriteAnim_83A04AC
- .4byte gSpriteAnim_83A04B4
- .4byte gSpriteAnim_83A04BC
- .4byte gSpriteAnim_83A04C4
-
- .align 2
-gSpriteAnimTable_83A0520:: @ 83A0520
- .4byte gSpriteAnim_83A04CC
-
- .align 2
-gSpriteTemplate_83A0524:: @ 83A0524
- spr_template 4096, 4096, gOamData_83A0404, gSpriteAnimTable_83A04D4, NULL, gDummySpriteAffineAnimTable, sub_808EF38
-
- .align 2
-gSpriteTemplate_83A053C:: @ 83A053C
- spr_template 4096, 4096, gOamData_83A040C, gSpriteAnimTable_83A04D8, NULL, gDummySpriteAffineAnimTable, sub_808EF8C
-
- .align 2
-gSpriteTemplate_83A0554:: @ 83A0554
- spr_template 4096, 4096, gOamData_83A0414, gSpriteAnimTable_83A04E0, NULL, gDummySpriteAffineAnimTable, sub_808F08C
-
- .align 2
-gSpriteTemplate_83A056C:: @ 83A056C
- spr_template 4096, 4096, gOamData_83A041C, gSpriteAnimTable_83A04DC, NULL, gDummySpriteAffineAnimTable, sub_808F0B4
-
- .align 2
-gSpriteTemplate_83A0584:: @ 83A0584
- spr_template 4096, 4096, gOamData_83A0424, gSpriteAnimTable_83A04F0, NULL, gDummySpriteAffineAnimTable, sub_808ED94
-
- .align 2
-gSpriteTemplate_83A059C:: @ 83A059C
- spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A04F8, NULL, gDummySpriteAffineAnimTable, sub_808ED94
-
- .align 2
-gSpriteTemplate_83A05B4:: @ 83A05B4
- spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A0520, NULL, gDummySpriteAffineAnimTable, sub_808F168
-
- .align 2
-gUnknown_083A05CC:: @ 83A05CC
- obj_tiles gPokedexMenu2_Gfx, 0x1F00, 0x1000
- null_obj_tiles
-
- .align 2
-gUnknown_083A05DC:: @ 83A05DC
- obj_pal gPokedexMenu_Pal, 0x1000
- null_obj_pal
-
-gUnknown_083A05EC:: @ 83A05EC
- .byte 2, 4, 8, 16, 32
-
-gUnknown_083A05F1:: @ 83A05F1
- .byte 16, 8, 4, 2, 1
-
- .align 2
-gUnknown_083A05F8:: @ 83A05F8
- .string "$"
-
-@ 83A05F9
- .include "data/pokedex_entries.inc"
-
-gUnknown_083B4EC4:: @ 83B4EC4
- .space 32
-
-@ 83B4EE4
- .include "data/graphics/pokemon/footprint_table.inc"
-
-gUnknown_083B5558:: @ 83B5558
- .incbin "baserom.gba", 0x3b5558, 0x24
-
- .align 2
-gOamData_83B557C:: @ 83B557C
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gUnknown_083B5584:: @ 83B5584
- .4byte 0x02008000
- .4byte 0x0200c000
- .4byte 0x02010000
- .4byte 0x02014000
-
- .align 2
-gSpriteImageTable_83B5594:: @ 83B5594
- obj_frame_tiles 0x02008000, 0x800
- obj_frame_tiles 0x02008800, 0x800
- obj_frame_tiles 0x02009000, 0x800
- obj_frame_tiles 0x02009800, 0x800
- obj_frame_tiles 0x0200A000, 0x800
- obj_frame_tiles 0x0200A800, 0x800
- obj_frame_tiles 0x0200B000, 0x800
- obj_frame_tiles 0x0200B800, 0x800
- obj_frame_tiles 0x0200C000, 0x800
- obj_frame_tiles 0x0200C800, 0x800
- obj_frame_tiles 0x0200D000, 0x800
- obj_frame_tiles 0x0200D800, 0x800
- obj_frame_tiles 0x0200E000, 0x800
- obj_frame_tiles 0x0200E800, 0x800
- obj_frame_tiles 0x0200F000, 0x800
- obj_frame_tiles 0x0200F800, 0x800
-
- .align 2
-gSpriteImageTable_83B5614:: @ 83B5614
- obj_frame_tiles 0x0200C000, 0x800
- obj_frame_tiles 0x0200C800, 0x800
- obj_frame_tiles 0x0200D000, 0x800
- obj_frame_tiles 0x0200D800, 0x800
- obj_frame_tiles 0x0200E000, 0x800
- obj_frame_tiles 0x0200E800, 0x800
- obj_frame_tiles 0x0200F000, 0x800
- obj_frame_tiles 0x0200F800, 0x800
- obj_frame_tiles 0x02010000, 0x800
- obj_frame_tiles 0x02010800, 0x800
- obj_frame_tiles 0x02011000, 0x800
- obj_frame_tiles 0x02011800, 0x800
- obj_frame_tiles 0x02012000, 0x800
- obj_frame_tiles 0x02012800, 0x800
- obj_frame_tiles 0x02013000, 0x800
- obj_frame_tiles 0x02013800, 0x800
-
- .align 2
-gSpriteImageTable_83B5694:: @ 83B5694
- obj_frame_tiles 0x02010000, 0x800
- obj_frame_tiles 0x02010800, 0x800
- obj_frame_tiles 0x02011000, 0x800
- obj_frame_tiles 0x02011800, 0x800
- obj_frame_tiles 0x02012000, 0x800
- obj_frame_tiles 0x02012800, 0x800
- obj_frame_tiles 0x02013000, 0x800
- obj_frame_tiles 0x02013800, 0x800
- obj_frame_tiles 0x02014000, 0x800
- obj_frame_tiles 0x02014800, 0x800
- obj_frame_tiles 0x02015000, 0x800
- obj_frame_tiles 0x02015800, 0x800
- obj_frame_tiles 0x02016000, 0x800
- obj_frame_tiles 0x02016800, 0x800
- obj_frame_tiles 0x02017000, 0x800
- obj_frame_tiles 0x02017800, 0x800
-
- .align 2
-gSpriteImageTable_83B5714:: @ 83B5714
- obj_frame_tiles 0x02014000, 0x800
- obj_frame_tiles 0x02014800, 0x800
- obj_frame_tiles 0x02015000, 0x800
- obj_frame_tiles 0x02015800, 0x800
- obj_frame_tiles 0x02016000, 0x800
- obj_frame_tiles 0x02016800, 0x800
- obj_frame_tiles 0x02017000, 0x800
- obj_frame_tiles 0x02017800, 0x800
- obj_frame_tiles 0x02018000, 0x800
- obj_frame_tiles 0x02018800, 0x800
- obj_frame_tiles 0x02019000, 0x800
- obj_frame_tiles 0x02019800, 0x800
- obj_frame_tiles 0x0201A000, 0x800
- obj_frame_tiles 0x0201A800, 0x800
- obj_frame_tiles 0x0201B000, 0x800
- obj_frame_tiles 0x0201B800, 0x800
-
- .align 2
-gUnknown_083B5794:: @ 83B5794
- .4byte gSpriteImageTable_83B5594
- .4byte gSpriteImageTable_83B5614
- .4byte gSpriteImageTable_83B5694
- .4byte gSpriteImageTable_83B5714
-
- .align 2
-gUnknown_083B57A4:: @ 83B57A4
- spr_template 0xFFFF, 0, gOamData_83B557C, NULL, gSpriteImageTable_83B5594, gDummySpriteAffineAnimTable, nullsub_59
-
-gUnknown_083B57BC:: @ 83B57BC
- .incbin "baserom.gba", 0x003b57bc, 0x28
-
- .align 2
-gUnknown_083B57E4:: @ 83B57E4
- .4byte DexText_SearchForPoke
- .2byte 0, 5
- .4byte DexText_SwitchDex
- .2byte 6, 5
- .4byte DexText_ReturnToDex
- .2byte 12, 5
-
- .align 2
-gUnknown_083B57FC:: @ 83B57FC
- .4byte DexText_ListByABC
- .byte 0, 2, 5, 5, 2, 12, 0, 0
- .4byte DexText_ListByColor
- .byte 0, 4, 5, 5, 4, 12, 0, 0
- .4byte DexText_ListByType
- .byte 0, 6, 5, 5, 6, 6, 0, 0
- .4byte DexText_ListByType
- .byte 0, 6, 5, 11, 6, 6, 0, 0
- .4byte DexText_SelectDexList
- .byte 0, 8, 5, 5, 8, 12, 0, 0
- .4byte DexText_SelectDexMode
- .byte 0, 10, 5, 5, 10, 12, 0, 0
- .4byte DexText_ExecuteSearchSwitch
- .byte 0, 12, 5, 0, 0, 0, 0, 0
-
-gUnknown_083B5850:: @ 83B5850
- .incbin "baserom.gba", 0x003b5850, 0x1c
-
-gUnknown_083B586C:: @ 83B586C
- .incbin "baserom.gba", 0x003b586c, 0x1c
-
-gUnknown_083B5888:: @ 83B5888
- .incbin "baserom.gba", 0x003b5888, 0x1c
-
-gUnknown_083B58A4:: @ 83B58A4
- .incbin "baserom.gba", 0x003b58a4, 0x1c
-
- .align 2
-gUnknown_083B58C0:: @ 83B58C0
- .4byte DexText_HoennDex2, DexText_HoennDex
- .4byte DexText_NationalDex2, DexText_NationalDex
- .4byte 0x0, 0x0
-
- .align 2
-gUnknown_083B58D8:: @ 83B58D8
- .4byte DexText_ListByNumber, DexText_NumericalMode
- .4byte DexText_ListByABC2, DexText_ABCMode
- .4byte DexText_ListByHeavyToLightest, DexText_HeaviestMode
- .4byte DexText_ListByLightToHeaviest, DexText_LightestMode
- .4byte DexText_ListByTallToSmallest, DexText_TallestMode
- .4byte DexText_ListBySmallToTallest, DexText_SmallestMode
- .4byte 0x0, 0x0
-
- .align 2
-gUnknown_083B5910:: @ 83B5910
- .4byte DexText_Terminator5, DexText_DontSpecify
- .4byte DexText_Terminator5, DexText_ABC
- .4byte DexText_Terminator5, DexText_DEF
- .4byte DexText_Terminator5, DexText_GHI
- .4byte DexText_Terminator5, DexText_JKL
- .4byte DexText_Terminator5, DexText_MNO
- .4byte DexText_Terminator5, DexText_PQR
- .4byte DexText_Terminator5, DexText_STU
- .4byte DexText_Terminator5, DexText_VWX
- .4byte DexText_Terminator5, DexText_YZ
- .4byte 0x0, 0x0
-
- .align 2
-gUnknown_083B5968:: @ 83B5968
- .4byte DexText_Terminator5, DexText_DontSpecify
- .4byte DexText_Terminator5, DexText_Red
- .4byte DexText_Terminator5, DexText_Blue
- .4byte DexText_Terminator5, DexText_Yellow
- .4byte DexText_Terminator5, DexText_Green
- .4byte DexText_Terminator5, DexText_Black
- .4byte DexText_Terminator5, DexText_Brown
- .4byte DexText_Terminator5, DexText_Purple
- .4byte DexText_Terminator5, DexText_Gray
- .4byte DexText_Terminator5, DexText_White
- .4byte DexText_Terminator5, DexText_Pink
- .4byte 0x0, 0x0
-
- .align 2
-gUnknown_083B59C8:: @ 83B59C8
- .4byte DexText_Terminator5, DexText_None
- .4byte DexText_Terminator5, gTypeNames + TYPE_NORMAL * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_FIGHTING * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_FLYING * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_POISON * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_GROUND * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_ROCK * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_BUG * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_GHOST * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_STEEL * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_FIRE * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_WATER * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_GRASS * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_ELECTRIC * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_PSYCHIC * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_ICE * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_DRAGON * 7
- .4byte DexText_Terminator5, gTypeNames + TYPE_DARK * 7
- .4byte 0x0, 0x0
-
-gUnknown_083B5A60:: @ 83B5A60
- .byte 0, 1
-
-gUnknown_083B5A62:: @ 83B5A62
- .byte 0, 1, 2, 3, 4, 5
-
-gUnknown_083B5A68:: @ 83B5A68
- .byte -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17
-
- .align 2
-gUnknown_083B5A7C:: @ 83B5A7C
- .4byte gUnknown_083B5910
- .byte 6, 7, 10, 0
- .4byte gUnknown_083B5968
- .byte 8, 9, 11, 0
- .4byte gUnknown_083B59C8
- .byte 10, 11, 18, 0
- .4byte gUnknown_083B59C8
- .byte 12, 13, 18, 0
- .4byte gUnknown_083B58D8
- .byte 4, 5, 6, 0
- .4byte gUnknown_083B58C0
- .byte 2, 3, 2, 0
-
-gUnknown_083B5AAC:: @ 83B5AAC
- .incbin "baserom.gba", 0x003b5aac, 0x6
-
-gUnknown_083B5AB2:: @ 83B5AB2
- .incbin "baserom.gba", 0x003b5ab2, 0x6
-
- .align 2
-gBadgesTiles:: @ 83B5AB8
- .incbin "graphics/trainer_card/badges.4bpp"
-
- .align 2
- .4byte 0x02000000 @ XXX
-
- .align 2
-gUnknown_083B5EBC:: @ 83B5EBC
- .4byte sub_8093864
- .4byte sub_80938A8
- .4byte sub_80938CC
- .4byte sub_8093918
- .4byte sub_8093938
- .4byte sub_8093954
- .4byte sub_8093980
-
- .align 2
-gUnknown_083B5ED8:: @ 83B5ED8
- .4byte sub_8093AA0
- .4byte sub_8093AF0
- .4byte sub_8093C0C
- .4byte sub_8093C38
- .4byte sub_8093D50
-
- .align 2
-gUnknown_083B5EEC:: @ 83B5EEC
- .4byte gUnknown_08E8CAC0
- .4byte gUnknown_08E8D4C0
-
-gUnknown_083B5EF4:: @ 83B5EF4
- .string " : $"
-
- .align 2
-gUnknown_083B5EF8:: @ 83B5EF8
- .4byte gMenuTrainerCard0Star_Pal
- .4byte gMenuTrainerCard1Star_Pal
- .4byte gMenuTrainerCard2Star_Pal
- .4byte gMenuTrainerCard3Star_Pal
- .4byte gMenuTrainerCard4Star_Pal
-
-gUnknown_083B5F0C:: @ 83B5F0C
- .incbin "baserom.gba", 0x003b5f0c, 0x20
-
- .align 2
-gBadgesPalette:: @ 83B5F2C
- .incbin "graphics/trainer_card/badges.gbapal"
-
-gUnknown_083B5F4C:: @ 83B5F4C
- .incbin "baserom.gba", 0x003b5f4c, 0x20
-
-gUnknown_083B5F6C:: @ 83B5F6C
- .incbin "baserom.gba", 0x003b5f6c, 0x20
-
-gUnknown_083B5F8C:: @ 83B5F8C
- .incbin "baserom.gba", 0x003b5f8c, 0x40
-
- .align 2
-gUnknown_083B5FCC:: @ 83B5FCC
- .4byte OtherText_Summary, sub_8095544
- .4byte gOtherText_CancelNoTerminator, sub_80958C4
- .4byte OtherText_Shift, sub_8095584
- .4byte OtherText_SendOut, sub_8095584
-
-Unknown_83B5FEC: @ 83B5FEC
- .byte 2, 0, 1
-
-Unknown_83B5FEF: @ 83B5FEF
- .byte 3, 0, 1
-
-Unknown_83B5FF2: @ 83B5FF2
- .byte 0, 1
-
- .align 2
-gUnknown_083B5FF4:: @ 83B5FF4
- .byte 3, 9
- .space 2
- .4byte Unknown_83B5FEC
-
- .byte 3, 9
- .space 2
- .4byte Unknown_83B5FEF
-
- .byte 2, 9
- .space 2
- .4byte Unknown_83B5FF2
-
- .align 2
-gUnknown_083B600C:: @ 83B600C
- .4byte PCText_WithdrawPoke, PCText_MovePokeToParty
- .4byte PCText_DepositPoke, PCText_StorePokeInBox
- .4byte PCText_MovePoke, PCText_OrganizeBoxesParty
- .4byte PCText_SeeYa, PCText_ReturnToPrevMenu
-
- .align 2
-gSpriteAnim_83B602C:: @ 83B602C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B6034:: @ 83B6034
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B603C:: @ 83B603C
- obj_image_anim_frame 6, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B6044:: @ 83B6044
- obj_image_anim_frame 10, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83B604C:: @ 83B604C
- .4byte gSpriteAnim_83B602C
- .4byte gSpriteAnim_83B6034
- .4byte gSpriteAnim_83B603C
- .4byte gSpriteAnim_83B6044
-
- .align 2
-gSpriteAffineAnim_83B605C:: @ 83B605C
- obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83B606C:: @ 83B606C
- .4byte gSpriteAffineAnim_83B605C
-
- .align 2
-gBoxSelectionPopupPalette:: @ 83B6070
- .incbin "graphics/pokemon_storage/box_selection_popup.gbapal"
-
- .align 2
-gBoxSelectionPopupCenterTiles:: @ 83B6090
- .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp"
-
- .align 2
-gBoxSelectionPopupSidesTiles:: @ 83B6890
- .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp"
-
- .align 2
-gPokemonStorageScrollingBGPalette:: @ 83B6A10
- .incbin "graphics/pokemon_storage/scrolling_bg.gbapal"
-
- .align 2
-gPokemonStorageScrollingBGTile:: @ 83B6A30
- .incbin "graphics/pokemon_storage/scrolling_bg.4bpp"
-
- .align 2
-gPokemonStorageScrollingBGTilemap:: @ 83B6A50
- .incbin "graphics/pokemon_storage/scrolling_bg_map.bin.lz"
-
- .incbin "baserom.gba", 0x003b6b4c, 0x48
-
- .align 2
-WaveformPalette: @ 83B6B94
- .incbin "graphics/pokemon_storage/waveform.gbapal"
-
- .align 2
-WaveformTiles: @ 83B6BB4
- .incbin "graphics/pokemon_storage/waveform.4bpp"
-
- .align 2
-gUnknown_083B6D74:: @ 83B6D74
- .incbin "baserom.gba", 0x003b6d74, 0x20
-
- .align 2
-gUnknown_083B6D94:: @ 83B6D94
- .incbin "baserom.gba", 0x003b6d94, 0x20
-
- .align 2
-gUnknown_083B6DB4:: @ 83B6DB4
- .4byte 0x02000000
-
- .align 2
-gUnknown_083B6DB8:: @ 83B6DB8
- .4byte gTileBuffer
-
- .align 2
-gWaveformSpritePalette:: @ 83B6DBC
- obj_pal WaveformPalette, 56013
-
- .align 2
-gWaveformSpriteSheet:: @ 83B6DC4
- obj_tiles WaveformTiles, 0x1C0, 5
-
- .align 2
-gUnknown_083B6DCC:: @ 83B6DCC
- obj_tiles 0x02002784, 0x800, 2
-
- .align 2
-gUnknown_083B6DD4:: @ 83B6DD4
- obj_pal 0x02002704, 56007
-
- .align 2
-gSpriteTemplate_83B6DDC:: @ 83B6DDC
- spr_template 2, 56007, gOamData_83B6EAC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083B6DF4:: @ 83B6DF4
- .4byte PCText_ExitBox, 0
- .4byte PCText_WhatYouDo, 0
- .4byte PCText_PickATheme, 0
- .4byte PCText_PickAWallpaper, 0
- .4byte PCText_IsSelected, 1
- .4byte PCText_JumpToWhichBox, 0
- .4byte PCText_DepositInWhichBox, 0
- .4byte PCText_WasDeposited, 1
- .4byte PCText_BoxIsFull, 0
- .4byte PCText_ReleasePoke, 0
- .4byte PCText_WasReleased, 4
- .4byte PCText_ByeBye, 6
- .4byte PCText_MarkPoke, 0
- .4byte PCText_LastPoke, 0
- .4byte PCText_PartyFull, 0
- .4byte PCText_HoldingPoke, 0
- .4byte PCText_WhichOneWillTake, 0
- .4byte PCText_CantReleaseEgg, 0
- .4byte PCText_ContinueBox, 0
- .4byte PCText_CameBack, 1
- .4byte PCText_Worried, 0
- .4byte PCText_Surprise, 0
- .4byte PCText_PleaseRemoveMail, 0
-
- .align 2
-gOamData_83B6EAC:: @ 83B6EAC
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_83B6EB4:: @ 83B6EB4
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83B6EBC:: @ 83B6EBC
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B6EC4:: @ 83B6EC4
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 6, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83B6ED4:: @ 83B6ED4
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B6EDC:: @ 83B6EDC
- obj_image_anim_frame 10, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 12, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83B6EEC:: @ 83B6EEC
- .4byte gSpriteAnim_83B6EBC
- .4byte gSpriteAnim_83B6EC4
- .4byte gSpriteAnim_83B6ED4
- .4byte gSpriteAnim_83B6EDC
-
- .align 2
-gSpriteTemplate_83B6EFC:: @ 83B6EFC
- spr_template 5, 56013, gOamData_83B6EB4, gSpriteAnimTable_83B6EEC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83B6F14:: @ 83B6F14
- spr_template 15, 56000, gOamData_83B6F2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_83B6F2C:: @ 83B6F2C
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-Unknown_83B6F34: @ 83B6F34
- .incbin "baserom.gba", 0x003b6f34, 0x10
-
- .align 2
-Unknown_83B6F44: @ 83B6F44
- .incbin "baserom.gba", 0x003b6f44, 0x18
-
- .align 2
-gUnknown_083B6F5C:: @ 83B6F5C
- .4byte Unknown_83B6F34
- .4byte Unknown_83B6F44
-
- .align 2
-gWallpaperPalettes_Forest: @ 83B6F64
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/forest_frame.gbapal"
- .incbin "graphics/pokemon_storage/forest_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Forest: @ 83B6FC4
- .incbin "graphics/pokemon_storage/forest.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Forest: @ 83B7394
- .incbin "graphics/pokemon_storage/forest.bin.lz"
-
- .align 2
-gWallpaperPalettes_City: @ 83B7470
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/city_frame.gbapal"
- .incbin "graphics/pokemon_storage/city_bg.gbapal"
-
- .align 2
-gWallpaperTiles_City: @ 83B74D0
- .incbin "graphics/pokemon_storage/city.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_City: @ 83B76D8
- .incbin "graphics/pokemon_storage/city.bin.lz"
-
- .align 2
-gWallpaperPalettes_Desert: @ 83B7788
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/desert_frame.gbapal"
- .incbin "graphics/pokemon_storage/desert_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Desert: @ 83B77E8
- .incbin "graphics/pokemon_storage/desert.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Desert: @ 83B7AD4
- .incbin "graphics/pokemon_storage/desert.bin.lz"
-
- .align 2
-gWallpaperPalettes_Savanna: @ 83B7BB8
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/savanna_frame.gbapal"
- .incbin "graphics/pokemon_storage/savanna_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Savanna: @ 83B7C18
- .incbin "graphics/pokemon_storage/savanna.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Savanna: @ 83B7E38
- .incbin "graphics/pokemon_storage/savanna.bin.lz"
-
- .align 2
-gWallpaperPalettes_Crag: @ 83B7F04
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/crag_frame.gbapal"
- .incbin "graphics/pokemon_storage/crag_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Crag: @ 83B7F64
- .incbin "graphics/pokemon_storage/crag.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Crag: @ 83B82B4
- .incbin "graphics/pokemon_storage/crag.bin.lz"
-
- .align 2
-gWallpaperPalettes_Volcano: @ 83B838C
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/volcano_frame.gbapal"
- .incbin "graphics/pokemon_storage/volcano_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Volcano: @ 83B83EC
- .incbin "graphics/pokemon_storage/volcano.4bpp.lz"
-
- .space 4
-
- .align 2
-gWallpaperTilemap_Volcano: @ 83B8720
- .incbin "graphics/pokemon_storage/volcano.bin.lz"
-
- .align 2
-gWallpaperPalettes_Snow: @ 83B87F8
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/snow_frame.gbapal"
- .incbin "graphics/pokemon_storage/snow_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Snow: @ 83B8858
- .incbin "graphics/pokemon_storage/snow.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Snow: @ 83B8B10
- .incbin "graphics/pokemon_storage/snow.bin.lz"
-
- .align 2
-gWallpaperPalettes_Cave: @ 83B8BDC
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/cave_frame.gbapal"
- .incbin "graphics/pokemon_storage/cave_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Cave: @ 83B8C3C
- .incbin "graphics/pokemon_storage/cave.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Cave: @ 83B8F80
- .incbin "graphics/pokemon_storage/cave.bin.lz"
-
- .align 2
-gWallpaperPalettes_Beach: @ 83B905C
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/beach_frame.gbapal"
- .incbin "graphics/pokemon_storage/beach_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Beach: @ 83B90BC
- .incbin "graphics/pokemon_storage/beach.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Beach: @ 83B9440
- .incbin "graphics/pokemon_storage/beach.bin.lz"
-
- .align 2
-gWallpaperPalettes_Seafloor: @ 83B9528
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/seafloor_frame.gbapal"
- .incbin "graphics/pokemon_storage/seafloor_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Seafloor: @ 83B9588
- .incbin "graphics/pokemon_storage/seafloor.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Seafloor: @ 83B983C
- .incbin "graphics/pokemon_storage/seafloor.bin.lz"
-
- .align 2
-gWallpaperPalettes_River: @ 83B9918
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/river_frame.gbapal"
- .incbin "graphics/pokemon_storage/river_bg.gbapal"
-
- .align 2
-gWallpaperTiles_River: @ 83B9978
- .incbin "graphics/pokemon_storage/river.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_River: @ 83B9C0C
- .incbin "graphics/pokemon_storage/river.bin.lz"
-
- .align 2
-gWallpaperPalettes_Sky: @ 83B9CF8
- .incbin "graphics/pokemon_storage/box_bg1.gbapal"
- .incbin "graphics/pokemon_storage/sky_frame.gbapal"
- .incbin "graphics/pokemon_storage/sky_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Sky: @ 83B9D58
- .incbin "graphics/pokemon_storage/sky.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Sky: @ 83B9FF0
- .incbin "graphics/pokemon_storage/sky.bin.lz"
-
- .align 2
-gWallpaperPalettes_Polkadot: @ 83BA0D0
- .incbin "graphics/pokemon_storage/box_bg2.gbapal"
- .incbin "graphics/pokemon_storage/polkadot_frame.gbapal"
- .incbin "graphics/pokemon_storage/polkadot_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Polkadot: @ 83BA130
- .incbin "graphics/pokemon_storage/polkadot.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Polkadot: @ 83BA32C
- .incbin "graphics/pokemon_storage/polkadot.bin.lz"
-
- .align 2
-gWallpaperPalettes_Pokecenter: @ 83BA3E4
- .incbin "graphics/pokemon_storage/box_bg2.gbapal"
- .incbin "graphics/pokemon_storage/pokecenter_frame.gbapal"
- .incbin "graphics/pokemon_storage/pokecenter_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Pokecenter: @ 83BA444
- .incbin "graphics/pokemon_storage/pokecenter.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Pokecenter: @ 83BA7E8
- .incbin "graphics/pokemon_storage/pokecenter.bin.lz"
-
- .align 2
-gWallpaperPalettes_Machine: @ 83BA8FC
- .incbin "graphics/pokemon_storage/box_bg3.gbapal"
- .incbin "graphics/pokemon_storage/machine_frame.gbapal"
- .incbin "graphics/pokemon_storage/machine_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Machine: @ 83BA95C
- .incbin "graphics/pokemon_storage/machine.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Machine: @ 83BAC4C
- .incbin "graphics/pokemon_storage/machine.bin.lz"
-
- .align 2
-gWallpaperPalettes_Plain: @ 83BAD18
- .incbin "graphics/pokemon_storage/box_bg4.gbapal"
- .incbin "graphics/pokemon_storage/plain_frame.gbapal"
- .incbin "graphics/pokemon_storage/plain_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Plain: @ 83BAD78
- .incbin "graphics/pokemon_storage/plain.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Plain: @ 83BAE74
- .incbin "graphics/pokemon_storage/plain.bin.lz"
-
-@ 12×18 tilemap
- .incbin "graphics/unused/tilemap_3BAEF8.bin"
-
-gUnknown_083BB0A8:: @ 83BB0A8
- .incbin "baserom.gba", 0x003bb0a8, 0x40
-
- .align 2
-gWallpaperTable:: @ 83BB0E8
- @ Forest
- .4byte gWallpaperTiles_Forest
- .4byte 0x3D0
- .4byte gWallpaperTilemap_Forest
- .4byte gWallpaperPalettes_Forest
-
- @ City
- .4byte gWallpaperTiles_City
- .4byte 0x208
- .4byte gWallpaperTilemap_City
- .4byte gWallpaperPalettes_City
-
- @ Desert
- .4byte gWallpaperTiles_Desert
- .4byte 0x2EC
- .4byte gWallpaperTilemap_Desert
- .4byte gWallpaperPalettes_Desert
-
- @ Savanna
- .4byte gWallpaperTiles_Savanna
- .4byte 0x220
- .4byte gWallpaperTilemap_Savanna
- .4byte gWallpaperPalettes_Savanna
-
- @ Crag
- .4byte gWallpaperTiles_Crag
- .4byte 0x350
- .4byte gWallpaperTilemap_Crag
- .4byte gWallpaperPalettes_Crag
-
- @ Volcano
- .4byte gWallpaperTiles_Volcano
- .4byte 0x334
- .4byte gWallpaperTilemap_Volcano
- .4byte gWallpaperPalettes_Volcano
-
- @ Snow
- .4byte gWallpaperTiles_Snow
- .4byte 0x2B8
- .4byte gWallpaperTilemap_Snow
- .4byte gWallpaperPalettes_Snow
-
- @ Cave
- .4byte gWallpaperTiles_Cave
- .4byte 0x344
- .4byte gWallpaperTilemap_Cave
- .4byte gWallpaperPalettes_Cave
-
- @ Beach
- .4byte gWallpaperTiles_Beach
- .4byte 0x384
- .4byte gWallpaperTilemap_Beach
- .4byte gWallpaperPalettes_Beach
-
- @ Seafloor
- .4byte gWallpaperTiles_Seafloor
- .4byte 0x2B4
- .4byte gWallpaperTilemap_Seafloor
- .4byte gWallpaperPalettes_Seafloor
-
- @ River
- .4byte gWallpaperTiles_River
- .4byte 0x294
- .4byte gWallpaperTilemap_River
- .4byte gWallpaperPalettes_River
-
- @ Sky
- .4byte gWallpaperTiles_Sky
- .4byte 0x298
- .4byte gWallpaperTilemap_Sky
- .4byte gWallpaperPalettes_Sky
-
- @ Polkadot
- .4byte gWallpaperTiles_Polkadot
- .4byte 0x1FC
- .4byte gWallpaperTilemap_Polkadot
- .4byte gWallpaperPalettes_Polkadot
-
- @ Pokecenter
- .4byte gWallpaperTiles_Pokecenter
- .4byte 0x3A4
- .4byte gWallpaperTilemap_Pokecenter
- .4byte gWallpaperPalettes_Pokecenter
-
- @ Machine
- .4byte gWallpaperTiles_Machine
- .4byte 0x2F0
- .4byte gWallpaperTilemap_Machine
- .4byte gWallpaperPalettes_Machine
-
- @ Plain
- .4byte gWallpaperTiles_Plain
- .4byte 0xFC
- .4byte gWallpaperTilemap_Plain
- .4byte gWallpaperPalettes_Plain
-
-PCPal_Arrow:
- .incbin "graphics/pokemon_storage/arrow.gbapal"
-PCGfx_Arrow:
- .incbin "graphics/pokemon_storage/arrow.4bpp"
-
- .align 2
-gUnknown_083BB288:: @ 83BB288
- obj_tiles PCGfx_Arrow, 128, 0x0006
-
- .align 2
-gUnknown_083BB290:: @ 83BB290
- obj_pal PCPal_Arrow, 0xDACF
-
- .align 2
-gOamData_83BB298:: @ 83BB298
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83BB2A0:: @ 83BB2A0
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83BB2A8:: @ 83BB2A8
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83BB2B0:: @ 83BB2B0
- .4byte gSpriteAnim_83BB2A0
- .4byte gSpriteAnim_83BB2A8
-
- .align 2
-gSpriteTemplate_83BB2B8:: @ 83BB2B8
- spr_template 3, 56008, gOamData_83BB298, gSpriteAnimTable_83BB2B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_83BB2D0:: @ 83BB2D0
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83BB2D8:: @ 83BB2D8
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83BB2E0:: @ 83BB2E0
- obj_image_anim_frame 2, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83BB2E8:: @ 83BB2E8
- .4byte gSpriteAnim_83BB2D8
- .4byte gSpriteAnim_83BB2E0
-
- .align 2
-gSpriteTemplate_83BB2F0:: @ 83BB2F0
- spr_template 6, 56015, gOamData_83BB2D0, gSpriteAnimTable_83BB2E8, NULL, gDummySpriteAffineAnimTable, sub_809A8C8
-
- .align 2
-HandCursorPalette: @ 83BB308
- .incbin "graphics/pokemon_storage/hand_cursor_pal.bin"
-
- .align 2
-HandCursorAltPalette: @ 83BB328
- .incbin "graphics/pokemon_storage/hand_cursor_alt_pal.bin"
-
- .align 2
-HandCursorTiles: @ 83BB348
- .incbin "graphics/pokemon_storage/hand_cursor.4bpp"
-
- .align 2
-HandCursorShadowTiles: @ 83BBB48
- .incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp"
-
- .align 2
-gUnknown_083BBBC8:: @ 83BBBC8
- .4byte sub_809B150
- .4byte sub_809B1D8
- .4byte sub_809B24C
-
- .align 2
-gUnknown_083BBBD4:: @ 83BBBD4
- .4byte sub_809C464, 0
- .4byte sub_809C664, 1
- .4byte sub_809C85C, 2
- .4byte sub_809C944, 3
- .4byte NULL, 0
-
- .align 2
-gHandCursorSpriteSheets:: @ 83BBBFC
- obj_tiles HandCursorTiles, 0x800, 0
- obj_tiles HandCursorShadowTiles, 0x80, 1
- null_obj_tiles
-
- .align 2
-gHandCursorSpritePalettes:: @ 83BBC14
- obj_pal HandCursorPalette, 56006
- obj_pal HandCursorAltPalette, 56017
- null_obj_pal
-
- .align 2
-gOamData_83BBC2C:: @ 83BBC2C
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gOamData_83BBC34:: @ 83BBC34
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83BBC3C:: @ 83BBC3C
- obj_image_anim_frame 0, 30
- obj_image_anim_frame 16, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BBC48:: @ 83BBC48
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83BBC50:: @ 83BBC50
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83BBC58:: @ 83BBC58
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83BBC60:: @ 83BBC60
- .4byte gSpriteAnim_83BBC3C
- .4byte gSpriteAnim_83BBC48
- .4byte gSpriteAnim_83BBC50
- .4byte gSpriteAnim_83BBC58
-
- .align 2
-gSpriteTemplate_83BBC70:: @ 83BBC70
- spr_template 0, 56006, gOamData_83BBC2C, gSpriteAnimTable_83BBC60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83BBC88:: @ 83BBC88
- spr_template 1, 56006, gOamData_83BBC34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_809CB74
-
- .align 2
-gUnknown_083BBCA0:: @ 83BBCA0
- .4byte PCText_Cancel2
- .4byte PCText_Deposit
- .4byte PCText_Withdraw
- .4byte PCText_Move
- .4byte PCText_Switch
- .4byte PCText_Place
- .4byte PCText_Summary
- .4byte PCText_Release
- .4byte PCText_Mark
- .4byte PCText_Jump
- .4byte PCText_Wallpaper
- .4byte PCText_Name
- .4byte PCText_Scenery1
- .4byte PCText_Scenery2
- .4byte PCText_Scenery3
- .4byte PCText_Etc
- .4byte PCText_Forest
- .4byte PCText_City
- .4byte PCText_Desert
- .4byte PCText_Savanna
- .4byte PCText_Crag
- .4byte PCText_Volcano
- .4byte PCText_Snow
- .4byte PCText_Cave
- .4byte PCText_Beach
- .4byte PCText_Seafloor
- .4byte PCText_River
- .4byte PCText_Sky
- .4byte PCText_Polka
- .4byte PCText_PokeCenter
- .4byte PCText_Machine
- .4byte PCText_Plain
-
-@ 83BBD20
- .include "data/graphics/pokemon/icon_table.inc"
-
-@ 83BC400
- .include "data/graphics/pokemon/icon_palette_indices.inc"
-
-@ 83BC5B8
- .include "data/graphics/pokemon/icon_palette_table.inc"
-
- .align 2
-gOamData_83BC5E8:: @ 83BC5E8
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83BC5F0:: @ 83BC5F0
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC5FC:: @ 83BC5FC
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC608:: @ 83BC608
- obj_image_anim_frame 0, 14
- obj_image_anim_frame 1, 14
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC614:: @ 83BC614
- obj_image_anim_frame 0, 22
- obj_image_anim_frame 1, 22
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83BC620:: @ 83BC620
- obj_image_anim_frame 0, 29
- obj_image_anim_frame 0, 29
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83BC62C:: @ 83BC62C
- .4byte gSpriteAnim_83BC5F0
- .4byte gSpriteAnim_83BC5FC
- .4byte gSpriteAnim_83BC608
- .4byte gSpriteAnim_83BC614
- .4byte gSpriteAnim_83BC620
-
- .align 2
-gSpriteAffineAnim_83BC640:: @ 83BC640
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 10
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83BC650:: @ 83BC650
- obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 122
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83BC660:: @ 83BC660
- .4byte gSpriteAffineAnim_83BC640
- .4byte gSpriteAffineAnim_83BC650
-
- .align 1
-gSpriteImageSizes:: @ 83BC668
- @ square
- .2byte 0x20 @ 1×1
- .2byte 0x80 @ 2×2
- .2byte 0x200 @ 4×4
- .2byte 0x800 @ 8×8
-
- @ horizontal rectangle
- .2byte 0x40 @ 2×1
- .2byte 0x80 @ 4×1
- .2byte 0x100 @ 4×2
- .2byte 0x400 @ 8×4
-
- @ vertical rectangle
- .2byte 0x40 @ 1×2
- .2byte 0x80 @ 1×4
- .2byte 0x100 @ 2×4
- .2byte 0x400 @ 4×8
-
-@ 83BC680
- .include "data/text/move_descriptions.inc"
-
-@ 83C0F60
- .include "data/text/nature_names.inc"
-
- .align 2
-gUnknown_083C1068:: @ 83C1068
- .4byte gEmptyString_81E72B0
- .4byte OtherText_PokeInfo
- .4byte OtherText_PokeSkills
- .4byte OtherText_BattleMoves
- .4byte OtherText_ContestMoves
- .4byte OtherText_Switch
- .4byte OtherText_Info
- .4byte gOtherText_CancelNoTerminator
-
- .align 2
-gSpriteAffineAnim_83C1088:: @ 83C1088
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83C1098:: @ 83C1098
- .4byte gSpriteAffineAnim_83C1088
-
- .align 2
-gOamData_83C109C:: @ 83C109C
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83C10A4:: @ 83C10A4
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10AC:: @ 83C10AC
- obj_image_anim_frame 8, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10B4:: @ 83C10B4
- obj_image_anim_frame 16, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10BC:: @ 83C10BC
- obj_image_anim_frame 24, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10C4:: @ 83C10C4
- obj_image_anim_frame 32, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10CC:: @ 83C10CC
- obj_image_anim_frame 40, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10D4:: @ 83C10D4
- obj_image_anim_frame 48, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10DC:: @ 83C10DC
- obj_image_anim_frame 56, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10E4:: @ 83C10E4
- obj_image_anim_frame 64, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10EC:: @ 83C10EC
- obj_image_anim_frame 72, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10F4:: @ 83C10F4
- obj_image_anim_frame 80, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C10FC:: @ 83C10FC
- obj_image_anim_frame 88, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1104:: @ 83C1104
- obj_image_anim_frame 96, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C110C:: @ 83C110C
- obj_image_anim_frame 104, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1114:: @ 83C1114
- obj_image_anim_frame 112, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C111C:: @ 83C111C
- obj_image_anim_frame 120, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1124:: @ 83C1124
- obj_image_anim_frame 128, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C112C:: @ 83C112C
- obj_image_anim_frame 136, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1134:: @ 83C1134
- obj_image_anim_frame 144, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C113C:: @ 83C113C
- obj_image_anim_frame 152, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1144:: @ 83C1144
- obj_image_anim_frame 160, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C114C:: @ 83C114C
- obj_image_anim_frame 168, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1154:: @ 83C1154
- obj_image_anim_frame 176, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83C115C:: @ 83C115C
- .4byte gSpriteAnim_83C10A4
- .4byte gSpriteAnim_83C10AC
- .4byte gSpriteAnim_83C10B4
- .4byte gSpriteAnim_83C10BC
- .4byte gSpriteAnim_83C10C4
- .4byte gSpriteAnim_83C10CC
- .4byte gSpriteAnim_83C10D4
- .4byte gSpriteAnim_83C10DC
- .4byte gSpriteAnim_83C10E4
- .4byte gSpriteAnim_83C10EC
- .4byte gSpriteAnim_83C10F4
- .4byte gSpriteAnim_83C10FC
- .4byte gSpriteAnim_83C1104
- .4byte gSpriteAnim_83C110C
- .4byte gSpriteAnim_83C1114
- .4byte gSpriteAnim_83C111C
- .4byte gSpriteAnim_83C1124
- .4byte gSpriteAnim_83C112C
- .4byte gSpriteAnim_83C1134
- .4byte gSpriteAnim_83C113C
- .4byte gSpriteAnim_83C1144
- .4byte gSpriteAnim_83C114C
- .4byte gSpriteAnim_83C1154
-
- .align 2
-gUnknown_083C11B8:: @ 83C11B8
- obj_tiles gMoveTypes_Gfx, 5888, 0x7532
-
- .align 2
-gSpriteTemplate_83C11C0:: @ 83C11C0
- spr_template 30002, 30002, gOamData_83C109C, gSpriteAnimTable_83C115C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083C11D8:: @ 83C11D8
- .incbin "baserom.gba", 0x003c11d8, 0x18
-
- .align 2
-gOamData_83C11F0:: @ 83C11F0
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83C11F8:: @ 83C11F8
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1200:: @ 83C1200
- obj_image_anim_frame 4, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1208:: @ 83C1208
- obj_image_anim_frame 8, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1210:: @ 83C1210
- obj_image_anim_frame 12, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1218:: @ 83C1218
- obj_image_anim_frame 16, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1220:: @ 83C1220
- obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1228:: @ 83C1228
- obj_image_anim_frame 20, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1230:: @ 83C1230
- obj_image_anim_frame 24, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1238:: @ 83C1238
- obj_image_anim_frame 24, 0, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1240:: @ 83C1240
- obj_image_anim_frame 28, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83C1248:: @ 83C1248
- .4byte gSpriteAnim_83C11F8
- .4byte gSpriteAnim_83C1200
- .4byte gSpriteAnim_83C1208
- .4byte gSpriteAnim_83C1210
- .4byte gSpriteAnim_83C1218
- .4byte gSpriteAnim_83C1220
- .4byte gSpriteAnim_83C1228
- .4byte gSpriteAnim_83C1230
- .4byte gSpriteAnim_83C1238
- .4byte gSpriteAnim_83C1240
-
- .align 2
-gUnknown_083C1270:: @ 83C1270
- obj_tiles gMenuSummaryGfx, 1024, 0x7530
-
- .align 2
-gUnknown_083C1278:: @ 83C1278
- obj_pal gMenuSummaryPal, 0x7530
-
- .align 2
-gSpriteTemplate_83C1280:: @ 83C1280
- spr_template 30000, 30000, gOamData_83C11F0, gSpriteAnimTable_83C1248, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_83C1298:: @ 83C1298
- .2byte 0x4000
- .2byte 0x4000
- .2byte 0x0C00
-
- .align 2
-gSpriteAnim_83C12A0:: @ 83C12A0
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C12A8:: @ 83C12A8
- obj_image_anim_frame 4, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C12B0:: @ 83C12B0
- obj_image_anim_frame 8, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C12B8:: @ 83C12B8
- obj_image_anim_frame 12, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C12C0:: @ 83C12C0
- obj_image_anim_frame 16, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C12C8:: @ 83C12C8
- obj_image_anim_frame 20, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C12D0:: @ 83C12D0
- obj_image_anim_frame 24, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83C12D8:: @ 83C12D8
- .4byte gSpriteAnim_83C12A0
- .4byte gSpriteAnim_83C12A8
- .4byte gSpriteAnim_83C12B0
- .4byte gSpriteAnim_83C12B8
- .4byte gSpriteAnim_83C12C0
- .4byte gSpriteAnim_83C12C8
- .4byte gSpriteAnim_83C12D0
-
- .align 2
-gUnknown_083C12F4:: @ 83C12F4
- obj_tiles gStatusGfx_Icons, 896, 0x7531
-
- .align 2
-gUnknown_083C12FC:: @ 83C12FC
- obj_pal gStatusPal_Icons, 0x7531
-
- .align 2
-gSpriteTemplate_83C1304:: @ 83C1304
- spr_template 30001, 30001, gOamData_83C1298, gSpriteAnimTable_83C12D8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSummaryScreenMonMarkingsPalette:: @ 83C131C
- .incbin "graphics/summary_screen/mon_markings.gbapal"
-
- .align 2
-gSummaryScreenTextTiles:: @ 83C133C
- .incbin "graphics/summary_screen/text.4bpp"
-
- .align 2
-gSummaryScreenButtonTiles:: @ 83C147C
- .incbin "graphics/summary_screen/buttons.4bpp"
-
- .align 1
-gUnknown_083C157C:: @ 83C157C
- .2byte 0x5F5A @ palette color
-
- .align 1
-gUnknown_083C157E:: @ 83C157E
- .2byte 0x6FDE @ palette color
-
- .align 2
-gUnknown_083C1580:: @ 83C1580
- .4byte sub_809FC0C
- .4byte sub_809FEB8
-
- .align 2
-gUnknown_083C1588:: @ 83C1588
- .4byte sub_809F63C
- .4byte sub_809F650
- .4byte sub_809F664
- .4byte sub_809F664
-
- .align 2
-gUnknown_083C1598:: @ 83C1598
- .4byte sub_809FE6C
- .4byte sub_80A0090
- .4byte sub_80A015C
- .4byte sub_80A015C
-
-gUnknown_083C15A8:: @ 83C15A8
- .byte 0, 2, 3, 1, 4, 5
-
-gUnknown_083C15AE:: @ 83C15AE
- .string "{STR_VAR_1}{CLEAR_TO 64}$"
-
-gUnknown_083C15B4:: @ 83C15B4
- .string "{STR_VAR_1}{CLEAR_TO 72}$"
-
- .align 2
-gUnknown_083C15BC:: @ 83C15BC
- .byte 9, 1, 0, 2
- .byte 10, 3, 0, 4
- .byte 8, 5, 0, 6
- .byte 11, 7, 0, 8
- .byte 14, 9, 0, 10
- .byte 12, 11, 0, 12
- .byte 13, 13, 0, 14
- .byte -1, 15, 0, 10
-
- .align 2
-gOamData_CutGrass:: @ 83C15DC
- .2byte 0
- .2byte 0
- .2byte 0x1401
-
- .align 2
-gSpriteAnim_CutGrass:: @ 83C15E4
- obj_image_anim_frame 0, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_CutGrass:: @ 83C15EC
- .4byte gSpriteAnim_CutGrass
-
- .align 2
-gSpriteImageTable_CutGrass:: @ 83C15F0
- obj_frame_tiles gFieldEffectPic_CutGrass, 0x20
-
- .align 2
-gFieldEffectObjectPaletteInfo6:: @ 83C15F8
- obj_pal gFieldEffectObjectPalette6, 0x1000
-
- .align 2
-gSpriteTemplate_CutGrass:: @ 83C1600
- spr_template 0xFFFF, 0x1000, gOamData_CutGrass, gSpriteAnimTable_CutGrass, gSpriteImageTable_CutGrass, gDummySpriteAffineAnimTable, sub_80A2A48
-
-@ pointer to items, capacity
- .align 2
-gBagPockets:: @ 83C1618
- .4byte gSaveBlock1 + 0x560, 20 @ Items
- .4byte gSaveBlock1 + 0x600, 16 @ Poké Balls
- .4byte gSaveBlock1 + 0x640, 64 @ TMs & HMs
- .4byte gSaveBlock1 + 0x740, 46 @ Berries
- .4byte gSaveBlock1 + 0x5B0, 20 @ Key Items
-
- .align 2
-gUnknown_083C1640:: @ 83C1640
- .4byte OtherText_Use, sub_80A5B78
- .4byte OtherText_Toss, sub_80A5F14
- .4byte gOtherText_CancelNoTerminator, sub_80A5F80
- .4byte OtherText_Register, sub_80A5FAC
- .4byte OtherText_Use, ItemMenu_UseInBattle
- .4byte gOtherText_CancelNoTerminator, sub_80A7124
- .4byte OtherText_Give2, ItemMenu_Give
- .4byte OtherText_CheckTag, sub_80A6178
- .4byte gOtherText_CancelWithTerminator, 0x0
- .4byte OtherText_Confirm, sub_80A69E0
-
-@ 6-byte entries; format of entry is unknown
-gUnknown_083C1690:: @ 83C1690
- .byte 0, 1, 6, 2, 0, 0
- .byte 6, 1, 8, 2, 0, 0
- .byte 0, 8, 6, 2, 0, 0
- .byte 7, 0, 1, 8, 6, 2
- .byte 0, 8, 3, 2, 0, 0
-
-gUnknown_083C16AE:: @ 83C16AE
- .byte 6, 2
- .byte 6, 2
- .byte 6, 2
- .byte 6, 2
- .byte 2, 0
-
-gUnknown_083C16B8:: @ 83C16B8
- .byte 7, 9, 8, 2
-
- .align 2
-gUnknown_083C16BC:: @ 83C16BC
- .4byte sub_80A59D0
- .4byte sub_80A599C
- .4byte sub_80A7024
- .4byte sub_80A70D8
- .4byte sub_80A6214
- .4byte sub_80A61EC
- .4byte sub_80A6354
- .4byte sub_80A631C
- .4byte sub_80A6918
- .4byte sub_80A68F0
- .4byte sub_80A59D0
- .4byte sub_80A69B8
- .4byte sub_80A6C6C
- .4byte sub_80A6A4C
-
- .align 2
-gUnknown_083C16F4:: @ 83C16F4
- .4byte sub_80A5E60
- .4byte sub_80A5E90
-
- .align 2
-gUnknown_083C16FC:: @ 83C16FC
- .4byte sub_80A65AC
- .4byte sub_80A6618
-
-gUnknown_083C1704:: @ 83C1704
- .incbin "baserom.gba", 0x003c1704, 0x4
-
-gUnknown_083C1708:: @ 83C1708
- .byte 4, 5
-
-gUnknown_083C170A:: @ 83C170A
- .byte 5, 0
-
- .align 2
-gPalette_83C170C:: @ 83C170C
- .incbin "baserom.gba", 0x003c170c, 0x20
-
- .align 2
-gSpriteImage_83C172C:: @ 83C172C
- .incbin "graphics/unknown_sprites/83C172C.4bpp"
-
- .align 2
- .incbin "graphics/unused/cherry.4bpp"
-
- .align 2
- .incbin "graphics/unused/cherry.gbapal"
-
- .align 2
-gOamData_83C1C4C:: @ 83C1C4C
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x7800
-
- .align 2
-gSpriteAnim_83C1C54:: @ 83C1C54
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1C5C:: @ 83C1C5C
- obj_image_anim_frame 64, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1C64:: @ 83C1C64
- obj_image_anim_frame 128, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1C6C:: @ 83C1C6C
- obj_image_anim_frame 192, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1C74:: @ 83C1C74
- obj_image_anim_frame 256, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83C1C7C:: @ 83C1C7C
- obj_image_anim_frame 320, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83C1C84:: @ 83C1C84
- .4byte gSpriteAnim_83C1C54
- .4byte gSpriteAnim_83C1C5C
- .4byte gSpriteAnim_83C1C6C
- .4byte gSpriteAnim_83C1C74
- .4byte gSpriteAnim_83C1C7C
- .4byte gSpriteAnim_83C1C64
-
- .align 2
-gSpriteAffineAnim_83C1C9C:: @ 83C1C9C
- obj_rot_scal_anim_frame 0x0, 0x0, -2, 2
- obj_rot_scal_anim_frame 0x0, 0x0, 2, 4
- obj_rot_scal_anim_frame 0x0, 0x0, -2, 4
- obj_rot_scal_anim_frame 0x0, 0x0, 2, 2
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83C1CC4:: @ 83C1CC4
- .4byte gSpriteAffineAnim_83C1C9C
-
- .align 2
-gUnknown_083C1CC8:: @ 83C1CC8
- obj_tiles gBagMaleTiles, 0x3000, 30000
-
- .align 2
-gUnknown_083C1CD0:: @ 83C1CD0
- obj_tiles gBagFemaleTiles, 0x3000, 30000
-
- .align 2
-gUnknown_083C1CD8:: @ 83C1CD8
- obj_pal gBagPalette, 30000
-
- .align 2
-gSpriteTemplate_83C1CE0:: @ 83C1CE0
- spr_template 30000, 30000, gOamData_83C1C4C, gSpriteAnimTable_83C1C84, NULL, gSpriteAffineAnimTable_83C1CC4, sub_80A7998
-
- .align 2
-gOamData_83C1CF8:: @ 83C1CF8
- .2byte 0x0000
- .2byte 0x4800
- .2byte 0x8800
-
- .align 2
-gSpriteAffineAnim_83C1D00:: @ 83C1D00
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 32
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83C1D10:: @ 83C1D10
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 32
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83C1D20:: @ 83C1D20
- .4byte gSpriteAffineAnim_83C1D00
- .4byte gSpriteAffineAnim_83C1D10
-
- .align 2
-gSpriteImageTable_83C1D28:: @ 83C1D28
- obj_frame_tiles gSpriteImage_83C172C, 0x80
-
- .align 2
-gUnknown_083C1D30:: @ 83C1D30
- obj_pal gPalette_83C170C, 8
-
- .align 2
-gSpriteTemplate_83C1D38:: @ 83C1D38
- spr_template 0xFFFF, 8, gOamData_83C1CF8, gSpriteAnimTable_83C1C84, gSpriteImageTable_83C1D28, gSpriteAffineAnimTable_83C1D20, sub_80A7B28
-
- .align 2
-gOamData_83C1D50:: @ 83C1D50
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x7400
-
- .align 2
-gOamData_83C1D58:: @ 83C1D58
- .2byte 0x0300
- .2byte 0xC000
- .2byte 0x7000
-
- .align 2
-gSpriteAnim_83C1D60:: @ 83C1D60
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83C1D68:: @ 83C1D68
- .4byte gSpriteAnim_83C1D60
-
- .align 2
-gSpriteImageTable_83C1D6C:: @ 83C1D6C
- obj_frame_tiles 0x02000000, 0x800
-
- .align 2
-gSpriteTemplate_83C1D74:: @ 83C1D74
- spr_template 0xFFFF, 30020, gOamData_83C1D50, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gDummySpriteAffineAnimTable, sub_80A7DC4
-
- .align 2
-gSpriteAffineAnim_83C1D8C:: @ 83C1D8C
- obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, -3, 96
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
- obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -1, 64
- obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16
- obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83C1DC4:: @ 83C1DC4
- obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, 3, 96
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
- obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 1, 64
- obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16
- obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83C1DFC:: @ 83C1DFC
- .4byte gSpriteAffineAnim_83C1D8C
- .4byte gSpriteAffineAnim_83C1DC4
-
- .align 2
-gSpriteTemplate_83C1E04:: @ 83C1E04
- spr_template 0xFFFF, 30020, gOamData_83C1D58, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gSpriteAffineAnimTable_83C1DFC, SpriteCallbackDummy
-
-@ 83C1E1C
- .include "data/graphics/berries/graphics_table.inc"
-
- .align 2
-gUnknown_083C1F74:: @ 83C1F74
- obj_tiles gBerryCheckCircle_Gfx, 2048, 0x2710
-
- .align 2
-gUnknown_083C1F7C:: @ 83C1F7C
- obj_pal gBerryCheck_Pal, 0x2710
-
- .align 2
-gOamData_83C1F84:: @ 83C1F84
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83C1F8C:: @ 83C1F8C
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83C1F94:: @ 83C1F94
- .4byte gSpriteAnim_83C1F8C
-
- .align 2
-gSpriteTemplate_83C1F98:: @ 83C1F98
- spr_template 10000, 10000, gOamData_83C1F84, gSpriteAnimTable_83C1F94, NULL, gDummySpriteAffineAnimTable, sub_80A7DC4
-
- .align 2
-gBattleAnimSpriteTemplate_83C1FB0:: @ 83C1FB0
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8530
-
- .align 2
-gBattleAnimSpriteTemplate_83C1FC8:: @ 83C1FC8
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A85C8
-
- .align 2
-gBattleAnimSpriteTemplate_83C1FE0:: @ 83C1FE0
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8638
-
- .align 2
-gBattleAnimSpriteTemplate_83C1FF8:: @ 83C1FF8
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8764
-
- .align 2
-gBattleAnimSpriteTemplate_83C2010:: @ 83C2010
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8818
-
-@ 83C2028
- .include "data/text/item_descriptions.inc"
-
-@ 83C5564
- .include "data/items.inc"
-
-@ 83C9150
- .string "テストです$" @ "test"
-
-gMatsudaDebugMenu_ActionContestText:
- .string "Contest$"
-
-gMatsudaDebugMenu_ActionContestResultsText:
- .string "Contest results$"
- .string "パラメータへんこう$" @ "Change parameter"
- .string "わざ へんこう$" @ "Change move"
-
-gMatsudaDebugMenu_ActionContestCommText:
- .string "Contest (comm.)$"
-
-gMatsudaDebugMenu_ActionCommTestText:
- .string "Init comm. data$"
-
-gMatsudaDebugMenu_ActionSetHighScoreText:
- .string "Set highest score$"
-
-gMatsudaDebugMenu_ActionResetHighScoreText:
- .string "Reset highest score$"
-
-gMatsudaDebugMenu_ActionSetAllArtMuseumText:
- .string "Set all art museum items$"
-
- .align 2
-gMatsudaDebugMenuActions:: @ 83C91F0
- .4byte gMatsudaDebugMenu_ActionContestText, MatsudaDebugMenu_Contest
- .4byte gMatsudaDebugMenu_ActionContestResultsText, MatsudaDebugMenu_ContestResults
- .4byte gMatsudaDebugMenu_ActionContestCommText, MatsudaDebugMenu_ContestComm
- .4byte gMatsudaDebugMenu_ActionCommTestText, MatsudaDebugMenu_CommTest
- .4byte gMatsudaDebugMenu_ActionSetHighScoreText, MatsudaDebugMenu_SetHighScore
- .4byte gMatsudaDebugMenu_ActionResetHighScoreText, MatsudaDebugMenu_ResetHighScore
- .4byte gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems
-
-gMatsudaDebugMenu_UnknownByteArray:: @ 83C9228
- .byte 0xFC, 0x02, 0x0F, 0x00, 0xFF
-
-Unknown_083C922D:
- .incbin "graphics/unknown/ball.4bpp"
-
- .align 1
-Unknown_083C924E:
- .incbin "graphics/unknown/ball.gbapal"
-
-gUnknown_083C926E:: @ 83C926E
- .incbin "baserom.gba", 0x003c926e, 0x8
-
-gMatsudaDebugMenuContestTopLeft:: @ 83C9276
- .byte 0, 6
- .byte 15, 6
- .byte 0, 8
- .byte 15, 8
- .byte 0, 10
- .byte 15, 10
-
-gUnknown_083C9282:: @ 83C9282
- .incbin "baserom.gba", 0x003c9282, 0xc
-
-gUnknown_083C928E:: @ 83C928E
- .incbin "baserom.gba", 0x003c928e, 0x8
-
-gUnknown_083C9296:: @ 83C9296
- .byte 0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88
-
-gUnknown_083C92A8:: @ 83C92A8
- .byte 0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98
-
- .align 2
-gUnknown_083C92B4:: @ 83C92B4
- obj_tiles Unknown_083C922D, 32, 0x04b0
-
- .align 2
-gUnknown_083C92BC:: @ 83C92BC
- obj_pal Unknown_083C924E, 0x04B0
-
- .align 2
-gOamData_83C92C4:: @ 83C92C4
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83C92CC:: @ 83C92CC
- spr_template 1200, 1200, gOamData_83C92C4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80AA754
-
- .align 2
-gUnknown_083C92E4:: @ 83C92E4
- .4byte sub_80AA8C8
- .4byte sub_80AA8D8
- .4byte sub_80AA8E8
- .4byte sub_80AA8F8
- .4byte sub_80AAC5C
- .4byte sub_80AAC5C
- .4byte sub_80AA930
- .4byte sub_80AA974
- .4byte sub_80AA9B8
- .4byte sub_80AA9FC
- .4byte sub_80AAA40
- .4byte sub_80AAA84
- .4byte sub_80AAAF0
- .4byte sub_80AAB30
- .4byte sub_80AAB70
- .4byte sub_80AABB0
- .4byte sub_80AABF0
- .4byte sub_80AAD44
-
-gMatsudaDebugMenu_StartText:: @ 83C932C
- .string "{COLOR CYAN}{HIGHLIGHT RED}$"
- .string "かいし$" @ Start
-
-gMatsudaDebugMenu_GoBackText:: @ 83C9337
- .string "もどる$" @ Go Back
-
-gMatsudaDebugMenu_BattlePointsText:: @ 83C933B
- .string "{COLOR MAGENTA}BP.$"
-
-MatsudaDebugMenuText_Cool:
- .string "かっこよさ$" @ coolness
-MatsudaDebugMenuText_Cute:
- .string "かわいさ$" @ cuteness
-MatsudaDebugMenuText_Beauty:
- .string "うつくしさ$" @ beauty
-MatsudaDebugMenuText_Smart:
- .string "かしこさ$" @ smartness
-MatsudaDebugMenuText_Tough:
- .string "たくましさ$" @ toughness
-MatsudaDebugMenuText_Sheen:
- .string "けづや$" @ sheen
-
- .align 2
-gMatsudaDebugMenuTextList1:: @ 83C9364
- .4byte MatsudaDebugMenuText_Cool
- .4byte MatsudaDebugMenuText_Cute
- .4byte MatsudaDebugMenuText_Beauty
- .4byte MatsudaDebugMenuText_Smart
- .4byte MatsudaDebugMenuText_Tough
- .4byte MatsudaDebugMenuText_Sheen
-
-MatsudaDebugMenuText_CoolContest:
- .string "かっこよさコンテスト$" @ Cool Contest
-MatsudaDebugMenuText_BeautyContest:
- .string "うつくしさコンテスト$" @ Beauty Contest
-MatsudaDebugMenuText_CuteContest:
- .string "かわいさコンテスト $" @ Cute Contest
-MatsudaDebugMenuText_SmartContest:
- .string "かしこさコンテスト $" @ Smart Contest
-MatsudaDebugMenuText_ToughContest:
- .string "たくましさコンテスト$" @ Tough Contest
-
- .align 2
-gMatsudaDebugMenuTextList2:: @ 83C93B4
- .4byte MatsudaDebugMenuText_CoolContest
- .4byte MatsudaDebugMenuText_BeautyContest
- .4byte MatsudaDebugMenuText_CuteContest
- .4byte MatsudaDebugMenuText_SmartContest
- .4byte MatsudaDebugMenuText_ToughContest
-
-MatsudaDebugMenuText_Fallarbor:
- .string "ハジツゲ/ノーマル$" @ Fallarbor / Normal
-MatsudaDebugMenuText_Verdanturf:
- .string "シダケ/スーパー $" @ Verdanturf / Super
-MatsudaDebugMenuText_Slateport:
- .string "カイナ/ハイパー $" @ Slateport / Hyper
-MatsudaDebugMenuText_Lilycove:
- .string "ミナモ/マスター $" @ Lilycove / Master
-
- .align 2
-gMatsudaDebugMenuTextList3:: @ 83C93F0
- .4byte MatsudaDebugMenuText_Fallarbor @ Normal
- .4byte MatsudaDebugMenuText_Verdanturf @ Super
- .4byte MatsudaDebugMenuText_Slateport @ Hyper
- .4byte MatsudaDebugMenuText_Lilycove @ Master
-
-gUnknown_083C9400:: @ 83C9400
- .incbin "baserom.gba", 0x003c9400, 0x8
-
-@ 83C9408
- .include "data/contest_opponents.inc"
-
-gUnknown_083CA308:: @ 83CA308
- .byte 19, 0
- .byte 19, 5
- .byte 19, 10
- .byte 19, 15
-
-gUnknown_083CA310:: @ 83CA310
- .byte 25, 0
- .byte 25, 5
- .byte 25, 10
- .byte 25, 15
-
-gUnknown_083CA318:: @ 83CA318
- .byte 20, 2
- .byte 20, 7
- .byte 20, 12
- .byte 20, 17
- .byte 24, 2
- .byte 24, 7
- .byte 24, 12
- .byte 24, 17
- .byte 220, 24
- .byte 220, 64
- .byte 220, 104
- .byte 220, 144
-
-gUnknown_083CA330:: @ 83CA330
- .byte 224, 24
- .byte 224, 64
- .byte 224, 104
- .byte 224, 144
-
-gUnknown_083CA338:: @ 83CA338
- .byte 36, 76, 116, 156
-
-gUnknown_083CA33C:: @ 83CA33C
- .byte 36, 76, 116, 156
-
-gUnknown_083CA340:: @ 83CA340
- .byte 0, 31, 9, 39
- .byte 0, 33, 9, 39
- .byte 0, 35, 9, 39
- .byte 0, 37, 9, 39
-
- .align 2
-gUnknown_083CA350:: @ 83CA350
- obj_tiles gTiles_8D1975C, 0x20, 20004
-
- .align 2
-gOamData_83CA358:: @ 83CA358
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAffineAnim_83CA360:: @ 83CA360
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83CA370:: @ 83CA370
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83CA388:: @ 83CA388
- obj_rot_scal_anim_frame 0x38, 0x38, 0, 0
- obj_rot_scal_anim_frame 0xA, 0xA, 20, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83CA3A0:: @ 83CA3A0
- .4byte gSpriteAffineAnim_83CA360
- .4byte gSpriteAffineAnim_83CA370
- .4byte gSpriteAffineAnim_83CA388
-
- .align 2
-gSpriteTemplate_83CA3AC:: @ 83CA3AC
- spr_template 20004, 44000, gOamData_83CA358, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CA3A0, SpriteCallbackDummy
-
- .align 2
-gUnknown_083CA3C4:: @ 83CA3C4
- obj_tiles gContestNextTurnGfx, 256, 0x4e26
- obj_tiles gContestNextTurnGfx, 256, 0x4e27
- obj_tiles gContestNextTurnGfx, 256, 0x4e28
- obj_tiles gContestNextTurnGfx, 256, 0x4e29
-
- .align 2
-gUnknown_083CA3E4:: @ 83CA3E4
- obj_pal gContestPal, 0x4E26
-
- .align 2
-gOamData_83CA3EC:: @ 83CA3EC
- .2byte 0x4000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83CA3F4:: @ 83CA3F4
- spr_template 20006, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CA40C:: @ 83CA40C
- spr_template 20007, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CA424:: @ 83CA424
- spr_template 20008, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CA43C:: @ 83CA43C
- spr_template 20009, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-Unknown_3CA454: @ 83CA454
- .incbin "baserom.gba", 0x3ca454, 0x10
-
- .align 2
-gUnknown_083CA464:: @ 83CA464
- .4byte 0x2, Unknown_3CA454
-
- .align 2
-gUnknown_083CA46C:: @ 83CA46C
- obj_tiles gContestApplauseGfx, 1024, 0xabe2
-
- .align 2
-gUnknown_083CA474:: @ 83CA474
- obj_pal gContestPal, 0xABE2
-
- .align 2
-gOamData_83CA47C:: @ 83CA47C
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83CA484:: @ 83CA484
- spr_template 44002, 44002, gOamData_83CA47C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_83CA49C:: @ 83CA49C
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x2C00
-
- .align 2
-gSpriteTemplate_83CA4A4:: @ 83CA4A4
- spr_template 20005, 20005, gOamData_83CA49C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083CA4BC:: @ 83CA4BC
- obj_tiles gContestJudgeGfx, 2048, 0x4e25
-
- .align 2
-gUnknown_083CA4C4:: @ 83CA4C4
- obj_tiles gContestJudgeSymbolsGfx, 896, 0xabe0
-
- .align 2
-gUnknown_083CA4CC:: @ 83CA4CC
- obj_pal gContest3Pal, 0xabe0
-
- .align 2
-gUnknown_083CA4D4:: @ 83CA4D4
- spr_template 0xABE0, 0xABE0, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .include "data/text/contest_strings.inc"
-
-gUnknownText_MissedTurn:: @ 83CC355
- .string "Missed turn$"
-
-gUnknownText_LinkStandbyAndWinner:: @ 83CC361
- .string "Link standby...$"
- .string "{COLOR WHITE2}$"
- .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!\nCongratulations!$"
-
-@ unknown, unreferenced data
- .byte 0x00
- .byte 0x9C
- .byte 0x77
-
-gUnknownText_UnknownFormatting2:: @ 83CC3A0
- .string "{COLOR GREEN}{SHADOW RED}$"
-
-gUnknownText_UnknownFormatting3:: @ 83CC3A7
- .string "{COLOR LIGHT_GREY}$"
-
- .align 2
-gUnknown_083CC3AC:: @ 83CC3AC
- obj_tiles gContestNumbers_UnusedGfx, 512, 0x4e20
-
- .align 2
-gUnknown_083CC3B4:: @ 83CC3B4
- obj_pal gContestNumbers_UnusedPal, 0x4E20
- obj_pal gContestNumbers_UnusedPal, 0x4E21
- obj_pal gContestNumbers_UnusedPal, 0x4E22
- obj_pal gContestNumbers_UnusedPal, 0x4E23
-
- .align 2
-gSpriteAnim_83CC3D4:: @ 83CC3D4
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83CC3DC:: @ 83CC3DC
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83CC3E4:: @ 83CC3E4
- obj_image_anim_frame 8, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83CC3EC:: @ 83CC3EC
- obj_image_anim_frame 12, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83CC3F4:: @ 83CC3F4
- .4byte gSpriteAnim_83CC3D4
- .4byte gSpriteAnim_83CC3DC
- .4byte gSpriteAnim_83CC3E4
- .4byte gSpriteAnim_83CC3EC
-
- .align 2
-gSpriteAffineAnim_83CC404:: @ 83CC404
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83CC414:: @ 83CC414
- obj_rot_scal_anim_frame 0xFFF1, 0xFFF1, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83CC424:: @ 83CC424
- obj_rot_scal_anim_frame 0x1F, 0x1F, 0, 0
- obj_rot_scal_anim_frame 0xF, 0xF, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83CC43C:: @ 83CC43C
- .4byte gSpriteAffineAnim_83CC404
- .4byte gSpriteAffineAnim_83CC414
- .4byte gSpriteAffineAnim_83CC424
-
- .align 2
- .incbin "baserom.gba", 0x003cc448, 0x4
-
- .align 2
-gOamData_83CC44C:: @ 83CC44C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83CC454:: @ 83CC454
- spr_template 20000, 20000, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CC46C:: @ 83CC46C
- spr_template 20000, 20001, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CC484:: @ 83CC484
- spr_template 20000, 20002, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CC49C:: @ 83CC49C
- spr_template 20000, 20003, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
-
- .align 2
-gUnknown_083CC4B4:: @ 83CC4B4
- obj_tiles gBlankGfxCompressed, 4096, 0x80e8
- obj_tiles gBlankGfxCompressed, 4096, 0x80e9
- obj_tiles gBlankGfxCompressed, 4096, 0x80ea
- obj_tiles gBlankGfxCompressed, 4096, 0x80eb
-
-gUnknown_083CC4D4:: @ 83CC4D4
- .incbin "baserom.gba", 0x003cc4d4, 0x20
-
- .align 2
-gOamData_83CC4F4:: @ 83CC4F4
- .2byte 0x0700
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAffineAnim_83CC4FC:: @ 83CC4FC
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83CC50C:: @ 83CC50C
- obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
- obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
- obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
- obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83CC534:: @ 83CC534
- .4byte gSpriteAffineAnim_83CC4FC
- .4byte gSpriteAffineAnim_83CC50C
-
- .align 2
-gSpriteTemplate_83CC53C:: @ 83CC53C
- spr_template 33000, 33000, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CC554:: @ 83CC554
- spr_template 33001, 33001, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CC56C:: @ 83CC56C
- spr_template 33002, 33002, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CC584:: @ 83CC584
- spr_template 33003, 33003, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
-
-gUnknown_083CC59C:: @ 83CC59C
- .incbin "baserom.gba", 0x003cc59c, 0x6
-
-gUnknown_083CC5A2:: @ 83CC5A2
- .string "/$"
-
-gUnknown_083CC5A4:: @ 83CC5A4
- .incbin "baserom.gba", 0x003cc5a4, 0x10
-
-@ 83CC5B4
- .include "data/contest_excitement_table.inc"
-
- .align 2
-gUnknown_083CC5D0:: @ 83CC5D0
- .incbin "baserom.gba", 0x003cc5d0, 0x100
-
- .align 2
-gUnknown_083CC6D0:: @ 83CC6D0
- .4byte MartText_Buy, sub_80B2EFC
- .4byte MartText_Sell, sub_80B2F30
- .4byte MartText_Quit2, HandleShopMenuQuit
-
-gUnknown_083CC6E8:: @ 83CC6E8
- .byte 0, 1, 2
-
-gUnknown_083CC6EB:: @ 83CC6EB
- .byte 0, 2
-
-@ unknown, unreferenced data
- .align 1
- .2byte 0x2
- .2byte 0x3
- .2byte 0x4
- .2byte 0xD
- .2byte 0x121
- .2byte 0xE
- .2byte 0xE
- .2byte 0xE
- .2byte 0xE
- .2byte 0xE
- .2byte 0xE
- .2byte 0x0
- .2byte 0x0
-
- .align 2
-gUnknown_083CC708:: @ 83CC708
- .4byte sub_80B3BF4
- .4byte sub_80B3D7C
-
-gUnknown_083CC710:: @ 83CC710
- .incbin "baserom.gba", 0x003cc710, 0x4
-
-gUnknown_083CC714:: @ 83CC714
- .incbin "baserom.gba", 0x003cc714, 0x6
-
-gUnknown_083CC71A:: @ 83CC71A
- .incbin "baserom.gba", 0x003cc71a, 0x6
-
-gUnknown_083CC720:: @ 83CC720
- .incbin "baserom.gba", 0x003cc720, 0x6
-
-gUnknown_083CC726:: @ 83CC726
- .incbin "baserom.gba", 0x003cc726, 0x6
-
-gUnknown_083CC72C:: @ 83CC72C
- .incbin "baserom.gba", 0x003cc72c, 0x6
-
-gUnknown_083CC732:: @ 83CC732
- .incbin "baserom.gba", 0x003cc732, 0x6
-
-gUnknown_083CC738:: @ 83CC738
- .incbin "baserom.gba", 0x003cc738, 0x8
-
-@ 83CC740
- .include "data/text/berry_descriptions.inc"
-
-@ 83CD2CC
- .include "data/berries.inc"
-
- .align 2
-gUnknown_083CD780:: @ 83CD780
- .4byte 0, 0
-
-@ 83CD788
- .include "data/multichoice.inc"
-
- .align 2
-gUnknown_083CE048:: @ 83CE048
- .4byte OtherText_Cool2
- .4byte OtherText_Beauty3
- .4byte OtherText_Cute2
- .4byte OtherText_Smart2
- .4byte OtherText_Tough2
- .4byte OtherText_Normal
- .4byte OtherText_Super
- .4byte OtherText_Hyper
- .4byte OtherText_Master
- .4byte OtherText_Cool3
- .4byte OtherText_Beauty4
- .4byte OtherText_Cute3
- .4byte OtherText_Smart3
- .4byte OtherText_Tough3
- .4byte OtherText_Items
- .4byte OtherText_KeyItems
- .4byte OtherText_Balls
- .4byte OtherText_TMsHMs
- .4byte OtherText_Berries
-
- .align 2
-gSpriteImage_83CE094:: @ 83CE094
- .incbin "graphics/naming_screen/pc_icon/0.4bpp"
-
- .align 2
-gSpriteImage_83CE154:: @ 83CE154
- .incbin "graphics/naming_screen/pc_icon/1.4bpp"
-
- .align 2
- .incbin "baserom.gba", 0x003ce214, 0x4
-
- .align 2
-gUnknown_083CE218:: @ 83CE218
- .4byte sub_80B5EA8
- .4byte sub_80B5ED0
- .4byte sub_80B5F00
- .4byte sub_80B5F10
- .4byte sub_80B5F38
- .4byte sub_80B5F70
- .4byte pokemon_store
- .4byte sub_80B604C
- .4byte sub_80B606C
- .4byte sub_80B6094
-
- .align 2
-gUnknown_083CE240:: @ 83CE240
- .4byte sub_80B6108
- .4byte sub_80B6148
- .4byte sub_80B6170
- .4byte sub_80B6194
-
- .align 2
-gUnknown_083CE250:: @ 83CE250
- .4byte sub_80B626C
- .4byte sub_80B6274
-
-gUnknown_083CE258:: @ 83CE258
- .incbin "baserom.gba", 0x003ce258, 0xa
-
-gUnknown_083CE262:: @ 83CE262
- .incbin "baserom.gba", 0x003ce262, 0xa
-
-gUnknown_083CE26C:: @ 83CE26C
- .incbin "baserom.gba", 0x003ce26c, 0x8
-
-gUnknown_083CE274:: @ 83CE274
- .incbin "baserom.gba", 0x003ce274, 0x8
-
- .align 2
-gUnknown_083CE27C:: @ 83CE27C
- .4byte sub_80B6668
- .4byte sub_80B6680
- .4byte sub_80B66EC
- .4byte sub_80B6758
-
- .align 2
-gUnknown_083CE28C:: @ 83CE28C
- .4byte 0x02000006
- .4byte 0x02000004
-
-gUnknown_083CE294:: @ 83CE294
- .incbin "baserom.gba", 0x003ce294, 0x1b
-
-gUnknown_083CE2AF:: @ 83CE2AF
- .incbin "baserom.gba", 0x003ce2af, 0x5
-
- .align 2
-gUnknown_083CE2B4:: @ 83CE2B4
- .4byte sub_80B6B5C
- .4byte sub_80B6B98
- .4byte sub_80B6B9C
- .4byte sub_80B6C08
-
-gUnknown_083CE2C4:: @ 83CE2C4
- .incbin "baserom.gba", 0x003ce2c4, 0x6
-
-gUnknown_083CE2CA:: @ 83CE2CA
- .incbin "baserom.gba", 0x003ce2ca, 0x6
-
-gUnknown_083CE2D0:: @ 83CE2D0
- .incbin "baserom.gba", 0x003ce2d0, 0x8
-
-gUnknown_083CE2D8:: @ 83CE2D8
- .incbin "baserom.gba", 0x003ce2d8, 0x8
-
- .align 2
-gUnknown_083CE2E0:: @ 83CE2E0
- .4byte nullsub_40
- .4byte sub_80B6E68
- .4byte sub_80B6EBC
- .4byte sub_80B6EFC
-
- .align 2
-gUnknown_083CE2F0:: @ 83CE2F0
- .4byte sub_80B7660
- .4byte sub_80B7650
- .4byte sub_80B7650
- .4byte sub_80B7670
- .4byte sub_80B7670
- .4byte sub_80B7660
-
-gUnknown_083CE308:: @ 83CE308
- .incbin "baserom.gba", 0x003ce308, 0x8
-
- .align 2
-gUnknown_083CE310:: @ 83CE310
- .4byte sub_80B7844
- .4byte sub_80B7838
- .4byte sub_80B7838
- .4byte sub_80B7850
- .4byte sub_80B7850
- .4byte sub_80B7844
-
- .align 2
-gUnknown_083CE328:: @ 83CE328
- .4byte gWindowConfig_81E6EDC
- .4byte gWindowConfig_81E6EF8
- .4byte gWindowConfig_81E6EA4
- .4byte gWindowConfig_81E6EC0
- .4byte gWindowConfig_81E6EA4
- .4byte gWindowConfig_81E6EC0
- .4byte gWindowConfig_81E6F14
- .4byte gWindowConfig_81E6F30
- .4byte gWindowConfig_81E6F14
- .4byte gWindowConfig_81E6F30
- .4byte gWindowConfig_81E6EDC
- .4byte gWindowConfig_81E6EF8
-
- .align 2
-gUnknown_083CE358:: @ 83CE358
- .4byte nullsub_61
- .4byte nullsub_61
- .4byte sub_80B78F8
- .4byte sub_80B78F8
-
- .align 2
-gUnknown_083CE368:: @ 83CE368
- .4byte nullsub_62
- .4byte sub_80B7924
-
- .align 2
-gUnknown_083CE370:: @ 83CE370
- .incbin "baserom.gba", 0x003ce370, 0x4
-
- .align 2
-Unknown_83CE374:
- .byte 0, 7, 1, 0, 0, 0, 0, 0
- .4byte OtherText_YourName
-
- .align 2
-Unknown_83CE380:
- .byte 0, 8, 2, 0, 0, 0, 0, 0
- .4byte OtherText_BoxName
-
- .align 2
-Unknown_83CE38C:
- .byte 0, 10, 3, 1, 0, 0, 0, 0
- .4byte OtherText_PokeName
-
- .align 2
-gUnknown_083CE398:: @ 83CE398
- .4byte Unknown_83CE374
- .4byte Unknown_83CE380
- .4byte Unknown_83CE38C
- .4byte Unknown_83CE38C
-
-gUnknown_083CE3A8:: @ 83CE3A8
- .string " A B C D E F . $"
- .string " G H I J K L , $"
- .string " M N O P Q R S $"
- .string " T U V W X Y Z $"
- .string " a b c d e f . $"
- .string " g h i j k l , $"
- .string " m n o p q r s $"
- .string " t u v w x y z $"
- .string " 0 1 2 3 4 $"
- .string " 5 6 7 8 9 $"
- .string " ! ? ♂ ♀ / - $"
- .string " … “ ” ‘ ’ $"
-
- .align 2
-gOamData_83CE498:: @ 83CE498
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_83CE4A0:: @ 83CE4A0
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gOamData_83CE4A8:: @ 83CE4A8
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-Unknown_3CE4B0:: @ 83CE4B0
- .incbin "baserom.gba", 0x3ce4b0, 0x50
-
- .align 2
-Unknown_3CE500:: @ 83CE500
- .incbin "baserom.gba", 0x3ce500, 0x10
-
- .align 2
-Unknown_3CE510:: @ 83CE510
- .incbin "baserom.gba", 0x3ce510, 0x30
-
- .align 2
-Unknown_3CE540:: @ 83CE540
- .incbin "baserom.gba", 0x3ce540, 0x18
-
- .align 2
-gUnknown_083CE558:: @ 83CE558
- .4byte 0x8, Unknown_3CE4B0
-
- .align 2
-gUnknown_083CE560:: @ 83CE560
- .4byte 0x2, Unknown_3CE500
- .4byte 0x2, Unknown_3CE500
- .4byte 0x2, Unknown_3CE500
-
- .align 2
-gUnknown_083CE578:: @ 83CE578
- .4byte 0x6, Unknown_3CE510
-
- .align 2
-gUnknown_083CE580:: @ 83CE580
- .4byte 0x3, Unknown_3CE540
-
- .align 2
-gSpriteImageTable_83CE588:: @ 83CE588
- obj_frame_tiles gSpriteImage_83CE094, 0xc0
- obj_frame_tiles gSpriteImage_83CE154, 0xc0
-
- .align 2
-gSpriteAnim_83CE598:: @ 83CE598
- obj_image_anim_frame 0, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83CE5A0:: @ 83CE5A0
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 8, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83CE5AC:: @ 83CE5AC
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 1, 2
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83CE5B8:: @ 83CE5B8
- .4byte gSpriteAnim_83CE598
-
- .align 2
-gSpriteAnimTable_83CE5BC:: @ 83CE5BC
- .4byte gSpriteAnim_83CE598
- .4byte gSpriteAnim_83CE5A0
-
- .align 2
-gSpriteAnimTable_83CE5C4:: @ 83CE5C4
- .4byte gSpriteAnim_83CE5AC
-
- .align 2
-gSpriteTemplate_83CE5C8:: @ 83CE5C8
- spr_template 2, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6B34
-
- .align 2
-gSpriteTemplate_83CE5E0:: @ 83CE5E0
- spr_template 3, 1, gOamData_83CE4A8, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE5F8:: @ 83CE5F8
- spr_template 4, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE610:: @ 83CE610
- spr_template 0, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE628:: @ 83CE628
- spr_template 1, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE640:: @ 83CE640
- spr_template 7, 5, gOamData_83CE4A0, gSpriteAnimTable_83CE5BC, NULL, gDummySpriteAffineAnimTable, sub_80B6998
-
- .align 2
-gSpriteTemplate_83CE658:: @ 83CE658
- spr_template 10, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6D9C
-
- .align 2
-gSpriteTemplate_83CE670:: @ 83CE670
- spr_template 11, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6DE8
-
- .align 2
-gSpriteTemplate_83CE688:: @ 83CE688
- spr_template 0xFFFF, 0, gOamData_83CE498, gSpriteAnimTable_83CE5C4, gSpriteImageTable_83CE588, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083CE6A0:: @ 83CE6A0
- obj_tiles gNamingScreenBackButtonTiles, 0x1E0, 0
- obj_tiles gNamingScreenOKButtonTiles, 0x1E0, 1
- obj_tiles gNamingScreenChangeKeyboardBoxTiles, 0x280, 2
- obj_tiles gNamingScreenChangeKeyboardButtonTiles, 0x100, 3
- obj_tiles gNamingScreenLowerTextTiles, 0x60, 4
- obj_tiles gNamingScreenUpperTextTiles, 0x60, 5
- obj_tiles gNamingScreenOthersTextTiles, 0x60, 6
- obj_tiles gNamingScreenCursorTiles, 0x80, 7
- obj_tiles gNamingScreenActiveCursorSmallTiles, 0x80, 8
- obj_tiles gNamingScreenActiveCursorBigTiles, 0x80, 9
- obj_tiles gNamingScreenRightPointingTriangleTiles, 0x20, 10
- obj_tiles gNamingScreenUnderscoreTiles, 0x20, 11
- null_obj_tiles
-
- .align 2
-gUnknown_083CE708:: @ 83CE708
- obj_pal gNamingScreenPalettes + 0x20 * 0, 0
- obj_pal gNamingScreenPalettes + 0x20 * 1, 1
- obj_pal gNamingScreenPalettes + 0x20 * 2, 2
- obj_pal gNamingScreenPalettes + 0x20 * 3, 3
- obj_pal gNamingScreenPalettes + 0x20 * 4, 4
- obj_pal gNamingScreenPalettes + 0x20 * 5, 5
- obj_pal gNamingScreenPalettes + 0x20 * 4, 6
- null_obj_pal
-
- .align 2
-gUnknown_083CE748:: @ 83CE748
- .incbin "graphics/naming_screen/lower_keyboard_map.bin"
-
- .align 2
-gUnknown_083CEBF8:: @ 83CEBF8
- .incbin "graphics/naming_screen/upper_keyboard_map.bin"
-
- .align 2
-gUnknown_083CF0A8:: @ 83CF0A8
- .incbin "graphics/naming_screen/others_keyboard_map.bin"
-
- .align 2
-gOamData_83CF558:: @ 83CF558
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83CF560:: @ 83CF560
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83CF568:: @ 83CF568
- .4byte gSpriteAnim_83CF560
-
- .align 2
-gSpriteTemplate_83CF56C:: @ 83CF56C
- spr_template 10018, 10018, gOamData_83CF558, gSpriteAnimTable_83CF568, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083CF584:: @ 83CF584
- obj_tiles gMenuMoneyGfx, 256, 0x2722
-
- .align 2
-gUnknown_083CF58C:: @ 83CF58C
- obj_pal gMenuMoneyPal, 0x2722
-
-@ 83CF594
- .include "data/contest_moves.inc"
-
-@ 83D00AC
- .include "data/contest_effects.inc"
-
-@ A lookup table with TRUE for each combo starter ID and FALSE for ID 0,
-@ which means "not a combo starter move".
-gComboStarterLookupTable:: @ 83D016C
- .byte FALSE
- .rept 62
- .byte TRUE
- .endr
-
-@ 83D01AC
- .include "data/contest_effect_funcs.inc"
-
- .align 2
-recordMixingSecretBases:: @ 83D026C
- @ gSaveBlock1.secretBases
- .4byte gSaveBlock1 + 0x1A08
-
- .align 2
-recordMixingTvShows:: @ 83D0270
- @ gSaveBlock1.tvShows
- .4byte gSaveBlock1 + 0x2738
-
- .align 2
-gUnknown_083D0274:: @ 83D0274
- .4byte gSaveBlock1 + 0x2ABC
-
- .align 2
-gUnknown_083D0278:: @ 83D0278
- .4byte gSaveBlock1 + 0x2D94
-
- .align 2
-recordMixingEasyChatPairs:: @ 83D027C
- @ gSaveBlock1.easyChatPairs
- .4byte gSaveBlock1 + 0x2DD4
-
- .align 2
-gUnknown_083D0280:: @ 83D0280
- .4byte 0x02038738
-
- .align 2
-gUnknown_083D0284:: @ 83D0284
- .4byte 0x02024f4c
-
-gUnknown_083D0288:: @ 83D0288
- .byte 1, 0
-
-gUnknown_083D028A:: @ 83D028A
- .byte 1, 2, 0
- .byte 2, 0, 1
-
-gUnknown_083D0290:: @ 83D0290
- .byte 1, 0, 3, 2
- .byte 3, 0, 1, 2
- .byte 2, 0, 3, 1
- .byte 1, 3, 0, 2
- .byte 2, 3, 0, 1
- .byte 3, 2, 0, 1
- .byte 1, 2, 3, 0
- .byte 2, 3, 1, 0
- .byte 3, 2, 1, 0
-
-gUnknown_083D02B4:: @ 83D02B4
- .byte 0, 1
- .byte 1, 2
- .byte 2, 0
-
-gUnknown_083D02BA:: @ 83D02BA
- .byte 0, 1
- .byte 2, 3
-
- .byte 0, 2
- .byte 1, 3
-
- .byte 0, 3
- .byte 2, 1
-
- .align 2 @ object file boundary?
-
-gDebugText_SoundCheckJap:: @ 83D02C8
- .string "サウンドチェック$" @ Sound Check
-
-gDebugText_BGM:: @ 83D02D1
- .string "BGM$"
-
-gDebugText_SE:: @ 83D02D5
- .string "SE $"
-
-gUnknown_083D02D9:: @ 83D02D9
- .incbin "baserom.gba", 0x003d02d9, 0xd
-
-gDebugText_UpDown:: @ 83D02E6
- .string "L‥UP R‥DOWN$"
-
-gDebugText_DriverTest:: @ 83D02F2
- .string "R‥DRIVER-TEST$"
-
-gUnknown_083D0300:: @ 83D0300
- .incbin "baserom.gba", 0x003d0300, 0x12
-
-gUnknown_083D0312:: @ 83D0312
- .incbin "baserom.gba", 0x003d0312, 0xa
-
-gUnknown_083D031C:: @ 83D031C
- .incbin "baserom.gba", 0x003d031c, 0xb
-
-gDebugText_Voice:: @ 83D0327
- .string "VOICE‥‥‥‥$"
-
-gDebugText_Volume:: @ 83D0331
- .string "VOLUME‥‥‥$"
-
-gDebugText_Panpot:: @ 83D033B
- .string "PANPOT‥‥‥$"
-
-gDebugText_Pitch:: @ 83D0345
- .string "PITCH‥‥‥‥$"
-
-gDebugText_Length:: @ 83D034F
- .string "LENGTH‥‥‥$"
-
-gDebugText_Release:: @ 83D0359
- .string "RELEASE‥‥$"
-
-gDebugText_Progress:: @ 83D0363
- .string "PROGRESS‥$"
-
-gDebugText_Chorus:: @ 83D036D
- .string "CHORUS‥‥‥$"
-
-gDebugText_Priority:: @ 83D0377
- .string "PRIORITY‥$"
-
-gUnknown_083D0381:: @ 83D0381
- .string "さいせいちゆう‥$" @ 再生中 (playing)
-
-gUnknown_083D038A:: @ 83D038A
- .string "はんてん‥‥‥‥$" @ 反転 (reverse)
-
-gUnknown_083D0393:: @ 83D0393
- .string "すてれお‥‥‥‥$" @ stereo
-
-gUnknown_083D039C:: @ 83D039C
- .incbin "baserom.gba", 0x003d039c, 0x40
-
-gUnknown_083D03DC:: @ 83D03DC
- .string "▶$"
-
-gUnknown_083D03DE:: @ 83D03DE
- .string " $"
-
-gUnknown_083D03E0:: @ 83D03E0
- .incbin "baserom.gba", 0x003d03e0, 0x18
-
-gUnknown_083D03F8:: @ 83D03F8
- .byte 0x3F, 0x00, 0xC0, 0x7F, 0x80 @ stereo panning
-
-gOtherText_SE:: @ 83D03FD
- .string "SE$"
-
-gOtherText_Pan:: @ 83D0400
- .string "PAN$"
-
-gOtherText_LR:: @ 83D0404
- .string " LR$"
-
-gOtherText_RL:: @ 83D0409
- .string " RL$"
-
-@ 83D040E
- .include "data/text/song_names.inc"
-
-gUnknown_083D1358:: @ 83D1358
- .incbin "baserom.gba", 0x003d1358, 0x1c
-
-gUnknown_083D1374:: @ 83D1374
- .incbin "baserom.gba", 0x003d1374, 0x60
-
- .align 2
-gUnknown_083D13D4:: @ 83D13D4
- .4byte SecretBaseText_DelRegist, sub_80BCA84
- .4byte gUnknownText_Exit, sub_80BCBF8
-
- .align 2
-gUnknown_083D13E4:: @ 83D13E4
- .4byte sub_80BCB90
- .4byte sub_80BCBC0
-
-gUnknown_083D13EC:: @ 83D13EC
- .incbin "baserom.gba", 0x003d13ec, 0xc
-
-gUnknown_083D13F8:: @ 83D13F8
- .incbin "baserom.gba", 0x003d13f8, 0x3c
-
- .align 2
-gUnknown_083D1434:: @ 83D1434
- .4byte 0x0
- .4byte UnknownString_81AD135
- .4byte UnknownString_81AD5B0
- .4byte UnknownString_81AD8B4
-
- .align 2
-gUnknown_083D1444:: @ 83D1444
- .4byte 0x0
- .4byte UnknownString_81AD2E0
- .4byte UnknownString_81AD6AE
- .4byte UnknownString_81AD9D3
-
- .align 2
-gUnknown_083D1454:: @ 83D1454
- .4byte 0x0
- .4byte UnknownString_81AD434
- .4byte UnknownString_81AD7A7
- .4byte UnknownString_81ADB01
-
- .align 2
-gUnknown_083D1464:: @ 83D1464
- .4byte gStringVar1
- .4byte gStringVar2
- .4byte gStringVar3
-
- .align 2
-gUnknown_083D1470:: @ 83D1470
- .4byte UnknownString_81A8EC9
- .4byte UnknownString_81A9048
- .4byte UnknownString_81A9067
- .4byte UnknownString_81A9088
- .4byte UnknownString_81A90B4
- .4byte UnknownString_81A911F
- .4byte UnknownString_81A9152
- .4byte UnknownString_81A91C6
-
- .align 2
-gUnknown_083D1490:: @ 83D1490
- .4byte UnknownString_81A9581
- .4byte UnknownString_81A9694
- .4byte UnknownString_81A971B
- .4byte UnknownString_81A974B
- .4byte UnknownString_81A979F
- .4byte UnknownString_81A97D0
-
- .align 2
-gUnknown_083D14A8:: @ 83D14A8
- .4byte UnknownString_81A8917
- .4byte UnknownString_81A8AE5
- .4byte UnknownString_81A8B9D
- .4byte UnknownString_81A8C77
- .4byte UnknownString_81A8D45
-
- .align 2
-gUnknown_083D14BC:: @ 83D14BC
- .4byte UnknownString_81A986F
-
- .align 2
-gUnknown_083D14C0:: @ 83D14C0
- .4byte UnknownString_81AAD23
- .4byte UnknownString_81AADD5
- .4byte UnknownString_81AAE31
- .4byte UnknownString_81AAE9D
- .4byte UnknownString_81AAF03
- .4byte UnknownString_81AAF8A
- .4byte UnknownString_81AB040
- .4byte UnknownString_81AB0C8
- .4byte UnknownString_81AB13D
- .4byte UnknownString_81AB1C6
- .4byte UnknownString_81AB266
- .4byte UnknownString_81AB2DB
-
- .align 2
-gUnknown_083D14F0:: @ 83D14F0
- .4byte UnknownString_81AB381
- .4byte UnknownString_81AB435
- .4byte UnknownString_81AB507
- .4byte UnknownString_81AB5B8
- .4byte UnknownString_81AB61F
- .4byte UnknownString_81AB6B0
- .4byte UnknownString_81AB78D
- .4byte UnknownString_81AB7FE
- .4byte UnknownString_81AB835
- .4byte UnknownString_81AB873
- .4byte UnknownString_81AB92E
- .4byte UnknownString_81AB95E
- .4byte UnknownString_81ABB75
-
- .align 2
-gUnknown_083D1524:: @ 83D1524
- .4byte UnknownString_81A72DE
- .4byte UnknownString_81A736B
- .4byte UnknownString_81A73CA
- .4byte UnknownString_81A744D
- .4byte UnknownString_81A7508
- .4byte UnknownString_81A75CE
- .4byte UnknownString_81A768D
- .4byte UnknownString_81A76C5
- .4byte UnknownString_81A774F
-
- .align 2
-gUnknown_083D1548:: @ 83D1548
- .4byte UnknownString_81A7B93
- .4byte UnknownString_81A7C26
- .4byte UnknownString_81A7C7D
- .4byte UnknownString_81A7D4A
- .4byte UnknownString_81A7E0C
- .4byte UnknownString_81A7F0E
- .4byte UnknownString_81A8004
- .4byte UnknownString_81A8119
- .4byte UnknownString_81A811E
- .4byte UnknownString_81A8123
- .4byte UnknownString_81A8128
- .4byte UnknownString_81A812D
- .4byte UnknownString_81A8133
- .4byte UnknownString_81A81BC
- .4byte UnknownString_81A8267
-
- .align 2
-gUnknown_083D1584:: @ 83D1584
- .4byte UnknownString_81A99D9
- .4byte UnknownString_81A9AF0
- .4byte UnknownString_81A9B69
- .4byte UnknownString_81A9BEF
- .4byte UnknownString_81A9C6A
- .4byte UnknownString_81A9CF8
- .4byte UnknownString_81A9D74
- .4byte UnknownString_81A9DF3
- .4byte UnknownString_81A9E75
- .4byte UnknownString_81A9F06
- .4byte UnknownString_81A9F9F
- .4byte UnknownString_81AA01E
- .4byte UnknownString_81AA09D
- .4byte UnknownString_81AA0D7
- .4byte UnknownString_81AA138
- .4byte UnknownString_81AA166
- .4byte UnknownString_81AA1C0
- .4byte UnknownString_81AA1EA
- .4byte UnknownString_81AA28A
-
- .align 2
-gUnknown_083D15D0:: @ 83D15D0
- .4byte UnknownString_81AA814
- .4byte UnknownString_81AA8C6
- .4byte UnknownString_81AA9B2
- .4byte UnknownString_81AAA5C
- .4byte UnknownString_81AAB11
- .4byte UnknownString_81AABB4
- .4byte UnknownString_81AAC47
-
- .align 2
-gUnknown_083D15EC:: @ 83D15EC
- .4byte UnknownString_81AA344
- .4byte UnknownString_81AA5F3
-
- .align 2
-gUnknown_083D15F4:: @ 83D15F4
- .4byte UnknownString_81ABC51
- .4byte UnknownString_81ABD94
- .4byte UnknownString_81ABDF2
-
- .align 2
-gUnknown_083D1600:: @ 83D1600
- .4byte UnknownString_81AC90D
- .4byte UnknownString_81ACA02
- .4byte UnknownString_81ACAAA
- .4byte UnknownString_81ACC07
- .4byte UnknownString_81ACD13
- .4byte UnknownString_81ACDFA
- .4byte UnknownString_81ACEE7
- .4byte UnknownString_81ACF49
- .4byte UnknownString_81AD00A
-
- .align 2
-gUnknown_083D1624:: @ 83D1624
- .incbin "baserom.gba", 0x003d1624, 0x20
-
-gUnknown_083D1644:: @ 83D1644
- .incbin "baserom.gba", 0x003d1644, 0xa0
-
-gUnknown_083D16E4:: @ 83D16E4
- .incbin "baserom.gba", 0x003d16e4, 0x40
-
- .align 2
-gMiscBlank_Pal::
- .incbin "graphics/interface/blank.gbapal"
-
- .align 2
-gOamData_83D1744:: @ 83D1744
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x2C00
-
- .align 2
-gSpriteTemplate_83D174C:: @ 83D174C
- spr_template 3009, 3009, gOamData_83D1744, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083D1764:: @ 83D1764
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc1
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc2
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc3
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc4
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc5
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc6
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc7
- obj_tiles gMiscBlank_Gfx, 1024, 0x0bc8
-
- .align 2
-gUnknown_083D17A4:: @ 83D17A4
- obj_pal gMiscBlank_Pal, 0x0BC1
-
- .align 2
-gOamData_83D17AC:: @ 83D17AC
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83D17B4:: @ 83D17B4
- spr_template 3017, 3017, gOamData_83D17AC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80C3DF0
-
- .align 2
-gUnknown_083D17CC:: @ 83D17CC
- obj_tiles gContestConfetti_Gfx, 544, 0x0bc9
-
- .align 2
-gUnknown_083D17D4:: @ 83D17D4
- obj_pal gContestConfetti_Pal, 0x0bc9
-
-gUnknown_083D17DC:: @ 83D17DC
- .string "{COLOR RED}$"
-
-gUnknown_083D17E0:: @ 83D17E0
- .string "/$"
-
-gUnknown_083D17E2:: @ 83D17E2
- .string "{SIZE 3}{COLOR_HIGHLIGHT_SHADOW WHITE2 DARK_GREY LIGHT_BLUE}$"
-
- .align 2
- .incbin "baserom.gba", 0x003d17ec, 0x20
-
-gUnknown_083D180C:: @ 83D180C
- .incbin "baserom.gba", 0x003d180c, 0x80
-
-gOtherText_DecimalPoint:: @ 83D188C
- .string ".$"
-
-gUnknown_083D188E:: @ 83D188E
- .byte 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E
-
- .align 2
-gUnknown_083D1898:: @ 83D1898
- obj_pal gUnknownPal_083D190C, 0x0080
-
- .align 2
-gUnknown_083D18A0:: @ 83D18A0
- obj_pal gUnknownPal_083D18EC, 0x0000
-
- .align 2
-gSpriteTemplate_83D18A8:: @ 83D18A8
- spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C60CC
-
- .align 2
-gSpriteTemplate_83D18C0:: @ 83D18C0
- spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C6130
-
- .align 2
-gOamData_83D18D8:: @ 83D18D8
- .2byte 0x4000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83D18E0:: @ 83D18E0
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D18E8:: @ 83D18E8
- .4byte gSpriteAnim_83D18E0
-
- .align 2
-gUnknownPal_083D18EC::
- .incbin "baserom.gba", 0x003d18ec, 0x20
-
- .align 2
-gUnknownPal_083D190C::
- .incbin "baserom.gba", 0x003d190c, 0x20
-
- .incbin "baserom.gba", 0x003d192c, 0x60
-
- .align 2
-gSpriteImage_83D198C:: @ 83D198C
- .incbin "graphics/unknown_sprites/83D259C/0.4bpp"
-
- .align 2
-gSpriteImage_83D1A0C:: @ 83D1A0C
- .incbin "graphics/unknown_sprites/83D259C/1.4bpp"
-
- .align 2
-gSpriteImage_83D1A8C:: @ 83D1A8C
- .incbin "graphics/unknown_sprites/83D259C/2.4bpp"
-
- .align 2
-gSpriteImage_83D1B0C:: @ 83D1B0C
- .incbin "graphics/unknown_sprites/83D259C/3.4bpp"
-
- .align 2
-gSpriteImage_83D1B8C:: @ 83D1B8C
- .incbin "graphics/unknown_sprites/83D259C/4.4bpp"
-
- .align 2
- .incbin "baserom.gba", 0x003d1c0c, 0x20
-
- .align 2
-gFieldEffectObjectPalette7: @ 83D1C2C
- .incbin "graphics/field_effect_objects/palettes/07.gbapal"
-
- .align 2
-gSpriteImage_83D1C4C:: @ 83D1C4C
- .incbin "graphics/unknown_sprites/83D25EC/0.4bpp"
-
- .align 2
-gSpriteImage_83D1CCC:: @ 83D1CCC
- .incbin "graphics/unknown_sprites/83D25EC/1.4bpp"
-
- .align 2
-gSpriteImage_83D1D4C:: @ 83D1D4C
- .incbin "graphics/unknown_sprites/83D25EC/2.4bpp"
-
- .align 2
-gSpriteImage_83D1DCC:: @ 83D1DCC
- .incbin "graphics/unknown_sprites/83D25EC/3.4bpp"
-
- .align 2
-gSpriteImage_83D1E4C:: @ 83D1E4C
- .incbin "graphics/unknown_sprites/83D25EC/4.4bpp"
-
- .align 2
-gSpriteImage_83D1ECC:: @ 83D1ECC
- .incbin "graphics/unknown_sprites/83D25C4/0.4bpp"
-
- .align 2
-gSpriteImage_83D1F4C:: @ 83D1F4C
- .incbin "graphics/unknown_sprites/83D25C4/1.4bpp"
-
- .align 2
-gSpriteImage_83D1FCC:: @ 83D1FCC
- .incbin "graphics/unknown_sprites/83D25C4/2.4bpp"
-
- .align 2
-gSpriteImage_83D204C:: @ 83D204C
- .incbin "graphics/unknown_sprites/83D25C4/3.4bpp"
-
- .align 2
-gSpriteImage_83D20CC:: @ 83D20CC
- .incbin "graphics/unknown_sprites/83D25C4/4.4bpp"
-
- .align 2
- .incbin "baserom.gba", 0x003d214c, 0x80
-
- .align 2
-gFieldEffectObjectPalette8: @ 83D21CC
- .incbin "graphics/field_effect_objects/palettes/08.gbapal"
-
- .align 2
-gSpriteImage_83D21EC:: @ 83D21EC
- .incbin "graphics/unknown_sprites/83D2688/0.4bpp"
-
- .align 2
-gSpriteImage_83D22EC:: @ 83D22EC
- .incbin "graphics/unknown_sprites/83D2688/1.4bpp"
-
- .align 2
-gSpriteImage_83D23EC:: @ 83D23EC
- .incbin "graphics/unknown_sprites/83D2688/2.4bpp"
-
- .align 2
-gOamData_83D24EC:: @ 83D24EC
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83D24F4:: @ 83D24F4
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D250C:: @ 83D250C
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D2524:: @ 83D2524
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D253C:: @ 83D253C
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D2554:: @ 83D2554
- obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D256C:: @ 83D256C
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D2584:: @ 83D2584
- .4byte gSpriteAnim_83D24F4
-
- .align 2
-gSpriteAnimTable_83D2588:: @ 83D2588
- .4byte gSpriteAnim_83D250C
- .4byte gSpriteAnim_83D2524
- .4byte gSpriteAnim_83D253C
- .4byte gSpriteAnim_83D2554
-
- .align 2
-gSpriteAnimTable_83D2598:: @ 83D2598
- .4byte gSpriteAnim_83D256C
-
- .align 2
-gSpriteImageTable_83D259C:: @ 83D259C
- obj_frame_tiles gSpriteImage_83D198C, 0x80
- obj_frame_tiles gSpriteImage_83D1A0C, 0x80
- obj_frame_tiles gSpriteImage_83D1A8C, 0x80
- obj_frame_tiles gSpriteImage_83D1B0C, 0x80
- obj_frame_tiles gSpriteImage_83D1B8C, 0x80
-
- .align 2
-gSpriteImageTable_83D25C4:: @ 83D25C4
- obj_frame_tiles gSpriteImage_83D1ECC, 0x80
- obj_frame_tiles gSpriteImage_83D1F4C, 0x80
- obj_frame_tiles gSpriteImage_83D1FCC, 0x80
- obj_frame_tiles gSpriteImage_83D204C, 0x80
- obj_frame_tiles gSpriteImage_83D20CC, 0x80
-
- .align 2
-gSpriteImageTable_83D25EC:: @ 83D25EC
- obj_frame_tiles gSpriteImage_83D1C4C, 0x80
- obj_frame_tiles gSpriteImage_83D1CCC, 0x80
- obj_frame_tiles gSpriteImage_83D1D4C, 0x80
- obj_frame_tiles gSpriteImage_83D1DCC, 0x80
- obj_frame_tiles gSpriteImage_83D1E4C, 0x80
-
- .align 2
-gSpriteTemplate_83D2614:: @ 83D2614
- spr_template 0xFFFF, 4099, gOamData_83D24EC, gSpriteAnimTable_83D2584, gSpriteImageTable_83D259C, gDummySpriteAffineAnimTable, sub_80C644C
-
- .align 2
-gSpriteTemplate_83D262C:: @ 83D262C
- spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2588, gSpriteImageTable_83D25C4, gDummySpriteAffineAnimTable, sub_80C6598
-
- .align 2
-gSpriteTemplate_83D2644:: @ 83D2644
- spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2598, gSpriteImageTable_83D25EC, gDummySpriteAffineAnimTable, sub_80C66BC
-
- .align 2
-gFieldEffectObjectPaletteInfo7:: @ 83D265C
- obj_pal gFieldEffectObjectPalette7, 0x1003
-
- .align 2
-gFieldEffectObjectPaletteInfo8:: @ 83D2664
- obj_pal gFieldEffectObjectPalette8, 0x1008
-
- .align 2
-gOamData_83D266C:: @ 83D266C
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83D2674:: @ 83D2674
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_frame 2, 6
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D2684:: @ 83D2684
- .4byte gSpriteAnim_83D2674
-
- .align 2
-gSpriteImageTable_83D2688:: @ 83D2688
- obj_frame_tiles gSpriteImage_83D21EC, 0x100
- obj_frame_tiles gSpriteImage_83D22EC, 0x100
- obj_frame_tiles gSpriteImage_83D23EC, 0x100
-
- .align 2
-gSpriteTemplate_83D26A0:: @ 83D26A0
- spr_template 0xFFFF, 4110, gOamData_83D266C, gSpriteAnimTable_83D2684, gSpriteImageTable_83D2688, gDummySpriteAffineAnimTable, SpriteCB_SandPillar_0
-
-@ This uses one of the secret base palettes, so there is no "09.pal" file.
- .align 2
-gFieldEffectObjectPaletteInfo9:: @ 83D26B8
- obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E
-
- .align 2
-gSpriteImage_83D26C0:: @ 83D26C0
- .incbin "graphics/unknown_sprites/83D2860/0.4bpp"
-
- .align 2
-gSpriteImage_83D2740:: @ 83D2740
- .incbin "graphics/unknown_sprites/83D2860/1.4bpp"
-
- .align 2
-gSpriteImage_83D27C0:: @ 83D27C0
- .incbin "graphics/unknown_sprites/83D2860/2.4bpp"
-
- .align 2
-Palette_3D2840:: @ 83D2840
- .incbin "baserom.gba", 0x3d2840, 0x20
-
- .align 2
-gSpriteImageTable_83D2860:: @ 83D2860
- obj_frame_tiles gSpriteImage_83D26C0, 0x80
- obj_frame_tiles gSpriteImage_83D2740, 0x80
- obj_frame_tiles gSpriteImage_83D27C0, 0x80
-
- .align 2
-gUnknown_083D2878:: @ 83D2878
- obj_pal Palette_3D2840, 4096
-
- .align 2
-gSpriteAnim_83D2880:: @ 83D2880
- obj_image_anim_frame 0, 30
- obj_image_anim_frame 1, 30
- obj_image_anim_frame 2, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D2890:: @ 83D2890
- .4byte gSpriteAnim_83D2880
-
- .align 2
-gSpriteTemplate_83D2894:: @ 83D2894
- spr_template 0xFFFF, 4096, gFieldOamData_32x8, gSpriteAnimTable_83D2890, gSpriteImageTable_83D2860, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gMapObjectPic_MovingBox: @ 83D28AC
- .incbin "graphics/map_objects/pics/misc/moving_box.4bpp"
-
- .align 2
-gMapObjectPalette19: @ 83D292C
- .incbin "graphics/map_objects/palettes/19.gbapal"
-
-gTruckCamera_HorizontalTable:: @ 83D294C
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte -1
- .byte -1
- .byte -1
- .byte 0
-
-gUnknown_083D295F:: @ 83D295F
- step_18
- step_end
-
-gUnknown_083D2961:: @ 83D2961
- step_17
- step_end
-
- .align 2
-gUnknown_083D2964:: @ 83D2964
- .byte 12, 0, 5, 0, 3, 0, 0, 0
- .byte 14, 0, 7, 0, 3, 3, 0, 0
- .byte 16, 0, 4, 0, 5, 1, 0, 0
- .byte 15, 0, 14, 0, 1, 0, 0, 0
- .byte 18, 0, 13, 0, 4, 2, 0, 0
- .byte 8, 0, 20, 0, 4, 2, 0, 0
- .byte 16, 0, 20, 0, 7, 1, 0, 0
-
- .align 2
-gUnknown_083D299C:: @ 83D299C
- .byte 13, 0, 3, 0, 4, 3, 0, 0
- .byte 12, 0, 6, 0, 4, 2, 0, 0
- .byte 3, 0, 6, 0, 4, 2, 0, 0
- .byte 3, 0, 9, 0, 5, 3, 0, 0
- .byte 8, 0, 8, 0, 0, 1, 0, 0
- .byte 2, 0, 12, 0, 6, 2, 0, 0
- .byte 9, 0, 13, 0, 1, 0, 0, 0
- .byte 3, 0, 14, 0, 2, 1, 0, 0
- .byte 9, 0, 15, 0, 3, 2, 0, 0
- .byte 3, 0, 18, 0, 5, 2, 0, 0
- .byte 2, 0, 19, 0, 4, 0, 0, 0
- .byte 5, 0, 21, 0, 0, 0, 0, 0
- .byte 9, 0, 19, 0, 3, 3, 0, 0
- .byte 12, 0, 20, 0, 4, 1, 0, 0
-
- .align 2
-RotatingGateTiles_1: @ 83D2A0C
- .incbin "graphics/rotating_gates/1.4bpp"
-
- .align 2
-RotatingGateTiles_2: @ 83D320C
- .incbin "graphics/rotating_gates/2.4bpp"
-
- .align 2
-RotatingGateTiles_3: @ 83D3A0C
- .incbin "graphics/rotating_gates/3.4bpp"
-
- .align 2
-RotatingGateTiles_5: @ 83D420C
- .incbin "graphics/rotating_gates/5.4bpp"
-
- .align 2
-RotatingGateTiles_6: @ 83D4A0C
- .incbin "graphics/rotating_gates/6.4bpp"
-
- .align 2
-RotatingGateTiles_7: @ 83D520C
- .incbin "graphics/rotating_gates/7.4bpp"
-
- .align 2
-RotatingGateTiles_0: @ 83D5A0C
- .incbin "graphics/rotating_gates/0.4bpp"
-
- .align 2
-RotatingGateTiles_4: @ 83D5C0C
- .incbin "graphics/rotating_gates/4.4bpp"
-
- .align 2
-gOamData_83D5E0C:: @ 83D5E0C
- .2byte 0x0100
- .2byte 0xC000
- .2byte 0x5800
-
- .align 2
-gOamData_83D5E14:: @ 83D5E14
- .2byte 0x0100
- .2byte 0x8000
- .2byte 0x5800
-
- .align 2
-gRotatingGatesGraphicsTable:: @ 83D5E1C
- obj_tiles RotatingGateTiles_0, 0x200, 0x1300
- obj_tiles RotatingGateTiles_1, 0x800, 0x1301
- obj_tiles RotatingGateTiles_2, 0x800, 0x1302
- obj_tiles RotatingGateTiles_3, 0x800, 0x1303
- obj_tiles RotatingGateTiles_4, 0x200, 0x1304
- obj_tiles RotatingGateTiles_5, 0x800, 0x1305
- obj_tiles RotatingGateTiles_6, 0x800, 0x1306
- obj_tiles RotatingGateTiles_7, 0x800, 0x1307
- null_obj_tiles
-
- .align 2
-gSpriteAnim_83D5E64:: @ 83D5E64
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D5E6C:: @ 83D5E6C
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D5E74:: @ 83D5E74
- .4byte gSpriteAnim_83D5E64
-
- .align 2
-gSpriteAnimTable_83D5E78:: @ 83D5E78
- .4byte gSpriteAnim_83D5E6C
-
- .align 2
-gSpriteAffineAnim_83D5E7C:: @ 83D5E7C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83D5E8C:: @ 83D5E8C
- obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83D5E9C:: @ 83D5E9C
- obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83D5EAC:: @ 83D5EAC
- obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83D5EBC:: @ 83D5EBC
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5ED4:: @ 83D5ED4
- obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5EEC:: @ 83D5EEC
- obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5F04:: @ 83D5F04
- obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5F1C:: @ 83D5F1C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5F34:: @ 83D5F34
- obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5F4C:: @ 83D5F4C
- obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5F64:: @ 83D5F64
- obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5F7C:: @ 83D5F7C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5F94:: @ 83D5F94
- obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5FAC:: @ 83D5FAC
- obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5FC4:: @ 83D5FC4
- obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5FDC:: @ 83D5FDC
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D5FF4:: @ 83D5FF4
- obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D600C:: @ 83D600C
- obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6024:: @ 83D6024
- obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D603C:: @ 83D603C
- .4byte gSpriteAffineAnim_83D5E7C
- .4byte gSpriteAffineAnim_83D5E8C
- .4byte gSpriteAffineAnim_83D5E9C
- .4byte gSpriteAffineAnim_83D5EAC
- .4byte gSpriteAffineAnim_83D5F1C
- .4byte gSpriteAffineAnim_83D5F64
- .4byte gSpriteAffineAnim_83D5F4C
- .4byte gSpriteAffineAnim_83D5F34
- .4byte gSpriteAffineAnim_83D5EBC
- .4byte gSpriteAffineAnim_83D5ED4
- .4byte gSpriteAffineAnim_83D5EEC
- .4byte gSpriteAffineAnim_83D5F04
- .4byte gSpriteAffineAnim_83D5FDC
- .4byte gSpriteAffineAnim_83D6024
- .4byte gSpriteAffineAnim_83D600C
- .4byte gSpriteAffineAnim_83D5FF4
- .4byte gSpriteAffineAnim_83D5F7C
- .4byte gSpriteAffineAnim_83D5F94
- .4byte gSpriteAffineAnim_83D5FAC
- .4byte gSpriteAffineAnim_83D5FC4
-
- .align 2
-gSpriteTemplate_83D608C:: @ 83D608C
- spr_template 4864, 0xFFFF, gOamData_83D5E0C, gSpriteAnimTable_83D5E74, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94
-
- .align 2
-gSpriteTemplate_83D60A4:: @ 83D60A4
- spr_template 4864, 0xFFFF, gOamData_83D5E14, gSpriteAnimTable_83D5E78, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94
-
-gUnknown_083D60BC:: @ 83D60BC
- .incbin "baserom.gba", 0x003d60bc, 0x10
-
-gUnknown_083D60CC:: @ 83D60CC
- .incbin "baserom.gba", 0x003d60cc, 0x10
-
-gUnknown_083D60DC:: @ 83D60DC
- .incbin "baserom.gba", 0x003d60dc, 0x10
-
-gUnknown_083D60EC:: @ 83D60EC
- .incbin "baserom.gba", 0x003d60ec, 0x10
-
-gUnknown_083D60FC:: @ 83D60FC
- .incbin "baserom.gba", 0x003d60fc, 0x20
-
-gUnknown_083D611C:: @ 83D611C
- .incbin "baserom.gba", 0x003d611c, 0x20
-
-gUnknown_083D613C:: @ 83D613C
-Unknown_83D613C::
- .incbin "baserom.gba", 0x003d613c, 0x60
-Unknown_83D619C::
- .incbin "baserom.gba", 0x003d619c, 0x20
-Unknown_83D61BC::
- .incbin "baserom.gba", 0x003d61bc, 0x20
-
- .align 2
-gUnknown_083D61DC:: @ 83D61DC
- .4byte Unknown_83D619C
- .4byte Unknown_83D61BC
-
- .align 2
-gUnknown_083D61E4:: @ 83D61E4
- .4byte sub_808B020
- .4byte c2_exit_to_overworld_2_switch
- .4byte sub_810B96C
-
-gUnknown_083D61F0:: @ 83D61F0
- .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST
-
- .align 2
-gUnknown_083D61F4:: @ 83D61F4
- .4byte sub_80C9FC0
- .4byte sub_80A5C48
-
- .align 2
-gSpriteAnim_83D61FC:: @ 83D61FC
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 6, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 10, 5
- obj_image_anim_frame 12, 5
- obj_image_anim_frame 14, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D6220:: @ 83D6220
- .4byte gSpriteAnim_83D61FC
-
- .align 2
-gBattleAnimSpriteTemplate_83D6224:: @ 83D6224
- spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710
-
- .align 2
-gBattleAnimSpriteTemplate_83D623C:: @ 83D623C
- spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710
-
- .align 2
-gBattleAnimSpriteTemplate_83D6254:: @ 83D6254
- spr_template 10065, 10065, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710
-
- .align 2
-gSpriteAnim_83D626C:: @ 83D626C
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6274:: @ 83D6274
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D627C:: @ 83D627C
- obj_image_anim_frame 2, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6284:: @ 83D6284
- obj_image_anim_frame 3, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D628C:: @ 83D628C
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6294:: @ 83D6294
- obj_image_anim_frame 5, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D629C:: @ 83D629C
- obj_image_anim_frame 6, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D62A4:: @ 83D62A4
- obj_image_anim_frame 7, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D62AC:: @ 83D62AC
- obj_image_anim_frame 8, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D62B4:: @ 83D62B4
- .4byte gSpriteAnim_83D626C
- .4byte gSpriteAnim_83D6274
- .4byte gSpriteAnim_83D627C
- .4byte gSpriteAnim_83D6284
- .4byte gSpriteAnim_83D628C
- .4byte gSpriteAnim_83D6294
- .4byte gSpriteAnim_83D629C
-
- .align 2
-gSpriteAnimTable_83D62D0:: @ 83D62D0
- .4byte gSpriteAnim_83D62A4
-
- .align 2
-gSpriteAnimTable_83D62D4:: @ 83D62D4
- .4byte gSpriteAnim_83D62AC
-
- .align 2
-gSpriteAffineAnim_83D62D8:: @ 83D62D8
- obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D62E8:: @ 83D62E8
- .4byte gSpriteAffineAnim_83D62D8
-
- .align 2
-gBattleAnimSpriteTemplate_83D62EC:: @ 83D62EC
- spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D62E8, sub_80CA7B0
-
- .align 2
-gBattleAnimSpriteTemplate_83D6304:: @ 83D6304
- spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CA800
-
- .align 2
-gSpriteTemplate_83D631C:: @ 83D631C
- spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62D0, NULL, gDummySpriteAffineAnimTable, sub_80CA858
-
- .align 2
-gSpriteAffineAnim_83D6334:: @ 83D6334
- obj_rot_scal_anim_frame 0x140, 0x140, 0, 0
- obj_rot_scal_anim_frame 0xFFF2, 0xFFF2, 0, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D634C:: @ 83D634C
- .4byte gSpriteAffineAnim_83D6334
-
- .align 2
-gBattleAnimSpriteTemplate_83D6350:: @ 83D6350
- spr_template 10235, 10235, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D634C, sub_80CA7B0
-
- .align 2
-gSpriteAffineAnim_83D6368:: @ 83D6368
- obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D6378:: @ 83D6378
- .4byte gSpriteAffineAnim_83D6368
-
- .align 2
-gBattleAnimSpriteTemplate_83D637C:: @ 83D637C
- spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D6378, sub_80CA9A8
-
- .align 2
-gBattleAnimSpriteTemplate_83D6394:: @ 83D6394
- spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CAA14
-
- .align 2
-gSpriteAnim_83D63AC:: @ 83D63AC
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D63B4:: @ 83D63B4
- obj_image_anim_frame 4, 7
- obj_image_anim_frame 8, 7
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D63C0:: @ 83D63C0
- .4byte gSpriteAnim_83D63AC
- .4byte gSpriteAnim_83D63B4
-
- .align 2
-gBattleAnimSpriteTemplate_83D63C8:: @ 83D63C8
- spr_template 10006, 10006, gOamData_837DF2C, gSpriteAnimTable_83D63C0, NULL, gDummySpriteAffineAnimTable, sub_80CAB18
-
- .align 2
-gSpriteAnim_83D63E0:: @ 83D63E0
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D63E8:: @ 83D63E8
- obj_image_anim_frame 4, 7
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D63F0:: @ 83D63F0
- .4byte gSpriteAnim_83D63E0
- .4byte gSpriteAnim_83D63E8
-
- .align 2
-gBattleAnimSpriteTemplate_83D63F8:: @ 83D63F8
- spr_template 10158, 10158, gOamData_837DF2C, gSpriteAnimTable_83D63F0, NULL, gDummySpriteAffineAnimTable, sub_80CABF8
-
- .align 2
-gSpriteAnim_83D6410:: @ 83D6410
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6418:: @ 83D6418
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6420:: @ 83D6420
- .4byte gSpriteAnim_83D6410
-
- .align 2
-gSpriteAnimTable_83D6424:: @ 83D6424
- .4byte gSpriteAnim_83D6418
-
- .align 2
-gBattleAnimSpriteTemplate_83D6428:: @ 83D6428
- spr_template 10159, 10159, gOamData_837DF2C, gSpriteAnimTable_83D6420, NULL, gDummySpriteAffineAnimTable, sub_80CAD54
-
- .align 2
-gBattleAnimSpriteTemplate_83D6440:: @ 83D6440
- spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CAE20
-
- .align 2
-gSpriteAnim_83D6458:: @ 83D6458
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 12, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 20, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 12, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83D6484:: @ 83D6484
- obj_image_anim_frame 24, 5
- obj_image_anim_frame 28, 5
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6494:: @ 83D6494
- .4byte gSpriteAnim_83D6458
- .4byte gSpriteAnim_83D6484
-
- .align 2
-gBattleAnimSpriteTemplate_83D649C:: @ 83D649C
- spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CAED8
-
- .align 2
-gBattleAnimSpriteTemplate_83D64B4:: @ 83D64B4
- spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CB144
-
- .align 2
-gSpriteAnim_83D64CC:: @ 83D64CC
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D64E0:: @ 83D64E0
- .4byte gSpriteAnim_83D64CC
-
- .align 2
-gBattleAnimSpriteTemplate_83D64E4:: @ 83D64E4
- spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, sub_80CAFD0
-
- .align 2
-gSpriteAffineAnim_83D64FC:: @ 83D64FC
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D650C:: @ 83D650C
- .4byte gSpriteAffineAnim_83D64FC
-
- .align 2
-gBattleAnimSpriteTemplate_83D6510:: @ 83D6510
- spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, sub_80CAFD0
-
- .align 2
-gSpriteAnim_83D6528:: @ 83D6528
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 96, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D653C:: @ 83D653C
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 96, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6550:: @ 83D6550
- .4byte gSpriteAnim_83D6528
- .4byte gSpriteAnim_83D653C
-
- .align 2
-gSpriteAffineAnim_83D6558:: @ 83D6558
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6
- obj_rot_scal_anim_frame 0xB, 0x0, 0, 6
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6578:: @ 83D6578
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xB, 0x0, 0, 6
- obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D6598:: @ 83D6598
- .4byte gSpriteAffineAnim_83D6558
- .4byte gSpriteAffineAnim_83D6578
-
- .align 2
-gBattleAnimSpriteTemplate_83D65A0:: @ 83D65A0
- spr_template 10186, 10186, gOamData_837DFBC, gSpriteAnimTable_83D6550, NULL, gSpriteAffineAnimTable_83D6598, sub_80CB25C
-
- .align 2
-gSpriteAffineAnim_83D65B8:: @ 83D65B8
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 0
- obj_rot_scal_anim_frame 0x30, 0x30, 0, 14
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D65D0:: @ 83D65D0
- obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D65E0:: @ 83D65E0
- .4byte gSpriteAffineAnim_83D65B8
- .4byte gSpriteAffineAnim_83D65D0
-
- .align 2
-gBattleAnimSpriteTemplate_83D65E8:: @ 83D65E8
- spr_template 10147, 10147, gOamData_837DFEC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D65E0, sub_80CB4CC
-
- .align 2
-gSpriteAnim_83D6600:: @ 83D6600
- obj_image_anim_frame 0, 7
- obj_image_anim_frame 16, 7
- obj_image_anim_frame 32, 7
- obj_image_anim_frame 48, 7
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6614:: @ 83D6614
- obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 7, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6628:: @ 83D6628
- obj_image_anim_frame 0, 7
- obj_image_anim_frame 16, 7
- obj_image_anim_frame 32, 7
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6638:: @ 83D6638
- obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6648:: @ 83D6648
- .4byte gSpriteAnim_83D6600
- .4byte gSpriteAnim_83D6614
- .4byte gSpriteAnim_83D6628
- .4byte gSpriteAnim_83D6638
-
- .align 2
-gBattleAnimSpriteTemplate_83D6658:: @ 83D6658
- spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB59C
-
- .align 2
-gBattleAnimSpriteTemplate_83D6670:: @ 83D6670
- spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB620
-
- .align 2
-gSpriteAnim_83D6688:: @ 83D6688
- obj_image_anim_frame 3, 3
- obj_image_anim_frame 0, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D6694:: @ 83D6694
- .4byte gSpriteAnim_83D6688
-
- .align 2
-gBattleAnimSpriteTemplate_83D6698:: @ 83D6698
- spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D6694, NULL, gDummySpriteAffineAnimTable, sub_80CB768
-
- .align 2
-gSpriteAnim_83D66B0:: @ 83D66B0
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D66B8:: @ 83D66B8
- .4byte gSpriteAnim_83D66B0
-
- .align 2
-gSpriteAffineAnim_83D66BC:: @ 83D66BC
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 10
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 20
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 10
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D66DC:: @ 83D66DC
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 2
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 2
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D6714:: @ 83D6714
- .4byte gSpriteAffineAnim_83D66BC
- .4byte gSpriteAffineAnim_83D66DC
-
- .align 2
-gBattleAnimSpriteTemplate_83D671C:: @ 83D671C
- spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CB94C
-
- .align 2
-gBattleAnimSpriteTemplate_83D6734:: @ 83D6734
- spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBA28
-
- .align 2
-gSpriteAnim_83D674C:: @ 83D674C
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 4, 4
- obj_image_anim_frame 8, 4
- obj_image_anim_frame 12, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6760:: @ 83D6760
- .4byte gSpriteAnim_83D674C
-
- .align 2
-gBattleAnimSpriteTemplate_83D6764:: @ 83D6764
- spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6760, NULL, gDummySpriteAffineAnimTable, sub_80CBAA4
-
- .align 2
-gBattleAnimSpriteTemplate_83D677C:: @ 83D677C
- spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBAE8
-
- .align 2
-gSpriteAffineAnim_83D6794:: @ 83D6794
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 3
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D67A4:: @ 83D67A4
- obj_rot_scal_anim_frame 0x0, 0xFFF6, 0, 3
- obj_rot_scal_anim_frame 0x0, 0xFFFA, 0, 3
- obj_rot_scal_anim_frame 0x0, 0xFFFE, 0, 3
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 3
- obj_rot_scal_anim_frame 0x0, 0x2, 0, 3
- obj_rot_scal_anim_frame 0x0, 0x6, 0, 3
- obj_rot_scal_anim_frame 0x0, 0xA, 0, 3
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D67E4:: @ 83D67E4
- .4byte gSpriteAffineAnim_83D6794
- .4byte gSpriteAffineAnim_83D67A4
- .4byte gSpriteAffineAnim_83D66BC
- .4byte gSpriteAffineAnim_83D66DC
-
- .align 2
-gBattleAnimSpriteTemplate_83D67F4:: @ 83D67F4
- spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D67E4, sub_80CBBF0
-
- .align 2
-gUnknown_083D680C:: @ 83D680C
- .incbin "baserom.gba", 0x003d680c, 0x24
-
- .align 2
-gSpriteAnim_83D6830:: @ 83D6830
- obj_image_anim_frame 28, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6838:: @ 83D6838
- obj_image_anim_frame 32, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6840:: @ 83D6840
- obj_image_anim_frame 20, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6848:: @ 83D6848
- obj_image_anim_frame 28, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6850:: @ 83D6850
- obj_image_anim_frame 16, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6858:: @ 83D6858
- obj_image_anim_frame 16, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6860:: @ 83D6860
- obj_image_anim_frame 28, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6868:: @ 83D6868
- .4byte gSpriteAnim_83D6830
- .4byte gSpriteAnim_83D6838
- .4byte gSpriteAnim_83D6840
- .4byte gSpriteAnim_83D6848
- .4byte gSpriteAnim_83D6850
- .4byte gSpriteAnim_83D6858
- .4byte gSpriteAnim_83D6860
-
- .align 2
-gSpriteTemplate_83D6884:: @ 83D6884
- spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6868, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteAffineAnim_83D689C:: @ 83D689C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D68B4:: @ 83D68B4
- .4byte gSpriteAffineAnim_83D689C
-
- .align 2
-gBattleAnimSpriteTemplate_83D68B8:: @ 83D68B8
- spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CC474
-
- .align 2
-gBattleAnimSpriteTemplate_83D68D0:: @ 83D68D0
- spr_template 10159, 10159, gOamData_837DF8C, gSpriteAnimTable_83D6420, NULL, gSpriteAffineAnimTable_83D68B4, sub_80CC474
-
- .align 2
-gSpriteAffineAnim_83D68E8:: @ 83D68E8
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -10, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnim_83D6900:: @ 83D6900
- obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -12, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnim_83D6918:: @ 83D6918
- obj_rot_scal_anim_frame 0x8F, 0x8F, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -15, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D6930:: @ 83D6930
- .4byte gSpriteAffineAnim_83D68E8
-
- .align 2
-gSpriteAffineAnimTable_83D6934:: @ 83D6934
- .4byte gSpriteAffineAnim_83D6900
-
- .align 2
-gSpriteAffineAnimTable_83D6938:: @ 83D6938
- .4byte gSpriteAffineAnim_83D6918
-
- .align 2
-gBattleAnimSpriteTemplate_83D693C:: @ 83D693C
- spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6930, sub_80CC474
-
- .align 2
-gBattleAnimSpriteTemplate_83D6954:: @ 83D6954
- spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6934, sub_80CC474
-
- .align 2
-gBattleAnimSpriteTemplate_83D696C:: @ 83D696C
- spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6938, sub_80CC474
-
- .align 2
-gUnknown_083D6984:: @ 83D6984
- .incbin "baserom.gba", 0x003d6984, 0x10
-
- .align 2
-gBattleAnimSpriteTemplate_83D6994:: @ 83D6994
- spr_template 10266, 10266, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CC6CC
-
- .align 2
-gSpriteAnim_83D69AC:: @ 83D69AC
- obj_image_anim_frame 64, 3
- obj_image_anim_frame 80, 3
- obj_image_anim_frame 96, 3
- obj_image_anim_frame 112, 6
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D69C0:: @ 83D69C0
- obj_image_anim_frame 64, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 80, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 96, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 112, 6, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D69D4:: @ 83D69D4
- .4byte gSpriteAnim_83D69AC
- .4byte gSpriteAnim_83D69C0
-
- .align 2
-gBattleAnimSpriteTemplate_83D69DC:: @ 83D69DC
- spr_template 10056, 10056, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884
-
- .align 2
-gBattleAnimSpriteTemplate_83D69F4:: @ 83D69F4
- spr_template 10287, 10287, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884
-
- .align 2
-gSpriteAnim_83D6A0C:: @ 83D6A0C
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6A24:: @ 83D6A24
- .4byte gSpriteAnim_83D6A0C
-
- .align 2
-gSpriteTemplate_83D6A28:: @ 83D6A28
- spr_template 10021, 10021, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C
-
- .align 2
-gSpriteTemplate_83D6A40:: @ 83D6A40
- spr_template 10022, 10022, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C
-
- .align 2
-gSpriteAffineAnim_83D6A58:: @ 83D6A58
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6A68:: @ 83D6A68
- obj_rot_scal_anim_frame 0x100, 0x100, 32, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6A78:: @ 83D6A78
- obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6A88:: @ 83D6A88
- obj_rot_scal_anim_frame 0x100, 0x100, 96, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6A98:: @ 83D6A98
- obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6AA8:: @ 83D6AA8
- obj_rot_scal_anim_frame 0x100, 0x100, -96, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6AB8:: @ 83D6AB8
- obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6AC8:: @ 83D6AC8
- obj_rot_scal_anim_frame 0x100, 0x100, -32, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D6AD8:: @ 83D6AD8
- .4byte gSpriteAffineAnim_83D6A58
- .4byte gSpriteAffineAnim_83D6A68
- .4byte gSpriteAffineAnim_83D6A78
- .4byte gSpriteAffineAnim_83D6A88
- .4byte gSpriteAffineAnim_83D6A98
- .4byte gSpriteAffineAnim_83D6AA8
- .4byte gSpriteAffineAnim_83D6AB8
- .4byte gSpriteAffineAnim_83D6AC8
-
- .align 2
-gSpriteTemplate_83D6AF8:: @ 83D6AF8
- spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6AD8, sub_80CC8C8
-
- .align 2
-gSpriteAnim_83D6B10:: @ 83D6B10
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 32, 5
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6B24:: @ 83D6B24
- .4byte gSpriteAnim_83D6B10
-
- .align 2
-gBattleAnimSpriteTemplate_83D6B28:: @ 83D6B28
- spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC914
-
- .align 2
-gBattleAnimSpriteTemplate_83D6B40:: @ 83D6B40
- spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC9BC
-
- .align 2
-gSpriteAnim_83D6B58:: @ 83D6B58
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B60:: @ 83D6B60
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B68:: @ 83D6B68
- obj_image_anim_frame 8, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B70:: @ 83D6B70
- obj_image_anim_frame 12, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B78:: @ 83D6B78
- obj_image_anim_frame 16, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B80:: @ 83D6B80
- obj_image_anim_frame 20, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B88:: @ 83D6B88
- obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B90:: @ 83D6B90
- obj_image_anim_frame 4, 1, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6B98:: @ 83D6B98
- obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6BA0:: @ 83D6BA0
- obj_image_anim_frame 12, 1, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6BA8:: @ 83D6BA8
- .4byte gSpriteAnim_83D6B58
- .4byte gSpriteAnim_83D6B60
- .4byte gSpriteAnim_83D6B68
- .4byte gSpriteAnim_83D6B70
- .4byte gSpriteAnim_83D6B78
- .4byte gSpriteAnim_83D6B80
- .4byte gSpriteAnim_83D6B88
- .4byte gSpriteAnim_83D6B90
- .4byte gSpriteAnim_83D6B98
- .4byte gSpriteAnim_83D6BA0
-
- .align 2
-gSpriteTemplate_83D6BD0:: @ 83D6BD0
- spr_template 10072, 10072, gOamData_837DF2C, gSpriteAnimTable_83D6BA8, NULL, gDummySpriteAffineAnimTable, sub_80CCC50
-
- .align 2
-gBattleAnimSpriteTemplate_83D6BE8:: @ 83D6BE8
- spr_template 10280, 10280, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CCD24
-
- .align 2
-gSpriteAffineAnim_83D6C00:: @ 83D6C00
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D6C10:: @ 83D6C10
- obj_rot_scal_anim_frame 0x0, 0x0, 2, 12
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 6
- obj_rot_scal_anim_frame 0x0, 0x0, -2, 24
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 6
- obj_rot_scal_anim_frame 0x0, 0x0, 2, 12
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D6C40:: @ 83D6C40
- .4byte gSpriteAffineAnim_83D6C00
- .4byte gSpriteAffineAnim_83D6C10
-
- .align 2
-gBattleAnimSpriteTemplate_83D6C48:: @ 83D6C48
- spr_template 10099, 10099, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6C40, sub_80CCF04
-
- .align 2
-gSpriteAnim_83D6C60:: @ 83D6C60
- obj_image_anim_frame 0, 7
- obj_image_anim_frame 16, 7
- obj_image_anim_frame 32, 7
- obj_image_anim_frame 48, 7
- obj_image_anim_frame 64, 7
- obj_image_anim_frame 80, 7
- obj_image_anim_frame 96, 7
- obj_image_anim_frame 112, 7
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D6C84:: @ 83D6C84
- .4byte gSpriteAnim_83D6C60
-
- .align 2
-gBattleAnimSpriteTemplate_83D6C88:: @ 83D6C88
- spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD140
-
- .align 2
-gBattleAnimSpriteTemplate_83D6CA0:: @ 83D6CA0
- spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD190
-
- .align 2
-gSpriteAnim_83D6CB8:: @ 83D6CB8
- obj_image_anim_frame 0, 10
- obj_image_anim_frame 4, 10
- obj_image_anim_frame 8, 10
- obj_image_anim_frame 12, 10
- obj_image_anim_frame 16, 26
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 20, 5
- obj_image_anim_frame 24, 15
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6CDC:: @ 83D6CDC
- obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 10, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 12, 10, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 26, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 20, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 24, 15, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6D00:: @ 83D6D00
- .4byte gSpriteAnim_83D6CB8
- .4byte gSpriteAnim_83D6CDC
-
- .align 2
-gSpriteTemplate_83D6D08:: @ 83D6D08
- spr_template 10032, 10032, gOamData_837DF2C, gSpriteAnimTable_83D6D00, NULL, gDummySpriteAffineAnimTable, sub_80CD274
-
- .align 2
-gSpriteAnim_83D6D20:: @ 83D6D20
- obj_image_anim_frame 0, 40
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6D28:: @ 83D6D28
- .4byte gSpriteAnim_83D6D20
-
- .align 2
-gSpriteAffineAnim_83D6D2C:: @ 83D6D2C
- obj_rot_scal_anim_frame 0x14, 0x14, -30, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 1, 24
- obj_rot_scal_anim_end
-
- .align 2
- .incbin "baserom.gba", 0x003d6d44, 0x18
-
- .align 2
-gSpriteAffineAnim_83D6D5C:: @ 83D6D5C
- obj_rot_scal_anim_frame 0x14, 0x14, 30, 0
- obj_rot_scal_anim_frame 0x8, 0x8, -1, 24
- obj_rot_scal_anim_end
-
- .align 2
- .incbin "baserom.gba", 0x003d6d74, 0x18
-
- .align 2
-gSpriteAffineAnimTable_83D6D8C:: @ 83D6D8C
- .4byte gSpriteAffineAnim_83D6D2C
- .4byte gSpriteAffineAnim_83D6D5C
-
- .align 2
-gBattleAnimSpriteTemplate_83D6D94:: @ 83D6D94
- spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_83D6D28, NULL, gSpriteAffineAnimTable_83D6D8C, sub_80CD328
-
- .align 2
-gBattleAnimSpriteTemplate_83D6DAC:: @ 83D6DAC
- spr_template 10014, 10014, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD3E0
-
- .align 2
-gBattleAnimSpriteTemplate_83D6DC4:: @ 83D6DC4
- spr_template 10014, 10014, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD6CC
-
- .align 2
-gUnknown_083D6DDC:: @ 83D6DDC
- .incbin "baserom.gba", 0x003d6ddc, 0x8
-
- .align 2
-gBattleAnimSpriteTemplate_83D6DE4:: @ 83D6DE4
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD774
-
- .align 2
-gSpriteTemplate_83D6DFC:: @ 83D6DFC
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD9C4
-
- .align 2
-gSpriteAnim_83D6E14:: @ 83D6E14
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D6E28:: @ 83D6E28
- obj_image_anim_frame 48, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6E30:: @ 83D6E30
- .4byte gSpriteAnim_83D6E14
- .4byte gSpriteAnim_83D6E28
-
- .align 2
-gBattleAnimSpriteTemplate_83D6E38:: @ 83D6E38
- spr_template 10183, 10183, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDD74
-
- .align 2
-gBattleAnimSpriteTemplate_83D6E50:: @ 83D6E50
- spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDDDC
-
- .align 2
-gBattleAnimSpriteTemplate_83D6E68:: @ 83D6E68
- spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDE24
-
- .align 2
-gSpriteAnim_83D6E80:: @ 83D6E80
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 8, 12
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 24, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6E94:: @ 83D6E94
- .4byte gSpriteAnim_83D6E80
-
- .align 2
-gBattleAnimSpriteTemplate_83D6E98:: @ 83D6E98
- spr_template 10184, 10184, gOamData_837DF74, gSpriteAnimTable_83D6E94, NULL, gDummySpriteAffineAnimTable, sub_80CDF0C
-
- .align 2
-gSpriteAnim_83D6EB0:: @ 83D6EB0
- obj_image_anim_frame 0, 18
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 16, 18
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 32, 18
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 32, 6
- obj_image_anim_frame 48, 18
- obj_image_anim_frame 32, 6
- obj_image_anim_frame 48, 6
- obj_image_anim_frame 64, 18
- obj_image_anim_frame 48, 6
- obj_image_anim_frame 64, 54
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6EEC:: @ 83D6EEC
- .4byte gSpriteAnim_83D6EB0
-
- .align 2
-gBattleAnimSpriteTemplate_83D6EF0:: @ 83D6EF0
- spr_template 10185, 10185, gOamData_837DF34, gSpriteAnimTable_83D6EEC, NULL, gDummySpriteAffineAnimTable, sub_80CDFB0
-
- .align 2
-gBattleAnimSpriteTemplate_83D6F08:: @ 83D6F08
- spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
-
- .align 2
-gSpriteAnim_83D6F20:: @ 83D6F20
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 64, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6F38:: @ 83D6F38
- .4byte gSpriteAnim_83D6F20
-
- .align 2
-gBattleAnimSpriteTemplate_83D6F3C:: @ 83D6F3C
- spr_template 10030, 10030, gOamData_837DF34, gSpriteAnimTable_83D6F38, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gSpriteAnim_83D6F54:: @ 83D6F54
- obj_image_anim_frame 3, 5
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 1, 5
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6F68:: @ 83D6F68
- .4byte gSpriteAnim_83D6F54
-
- .align 2
-gSpriteAffineAnim_83D6F6C:: @ 83D6F6C
- obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D6F7C:: @ 83D6F7C
- .4byte gSpriteAffineAnim_83D6F6C
-
- .align 2
-gBattleAnimSpriteTemplate_83D6F80:: @ 83D6F80
- spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6F68, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE09C
-
- .align 2
-gSpriteAnim_83D6F98:: @ 83D6F98
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 1, 5
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 3, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D6FAC:: @ 83D6FAC
- .4byte gSpriteAnim_83D6F98
-
- .align 2
-gBattleAnimSpriteTemplate_83D6FB0:: @ 83D6FB0
- spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6FAC, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE17C
-
- .align 2
-gBattleAnimSpriteTemplate_83D6FC8:: @ 83D6FC8
- spr_template 10194, 10194, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE30C
-
- .align 2
-gSpriteAnim_83D6FE0:: @ 83D6FE0
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 8, 8
- obj_image_anim_frame 12, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D6FF4:: @ 83D6FF4
- .4byte gSpriteAnim_83D6FE0
-
- .align 2
-gBattleAnimSpriteTemplate_83D6FF8:: @ 83D6FF8
- spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6FF4, NULL, gDummySpriteAffineAnimTable, sub_80CE36C
-
- .align 2
-gSpriteAnim_83D7010:: @ 83D7010
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 64, 5
- obj_image_anim_frame 80, 3
- obj_image_anim_frame 96, 2
- obj_image_anim_frame 0, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7034:: @ 83D7034
- .4byte gSpriteAnim_83D7010
-
- .align 2
-gBattleAnimSpriteTemplate_83D7038:: @ 83D7038
- spr_template 10031, 10031, gOamData_837DF34, gSpriteAnimTable_83D7034, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gBattleAnimSpriteTemplate_83D7050:: @ 83D7050
- spr_template 10020, 10020, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE670
-
- .align 2
-gSpriteAnim_83D7068:: @ 83D7068
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_frame 48, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D707C:: @ 83D707C
- .4byte gSpriteAnim_83D7068
-
- .align 2
-gBattleAnimSpriteTemplate_83D7080:: @ 83D7080
- spr_template 10192, 10192, gOamData_837DF34, gSpriteAnimTable_83D707C, NULL, gDummySpriteAffineAnimTable, sub_80CEA04
-
- .align 2
-gSpriteAnim_83D7098:: @ 83D7098
- obj_image_anim_frame 0, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D70A0:: @ 83D70A0
- obj_image_anim_frame 4, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D70A8:: @ 83D70A8
- obj_image_anim_frame 8, 41
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D70B0:: @ 83D70B0
- obj_image_anim_frame 12, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D70B8:: @ 83D70B8
- obj_image_anim_frame 16, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D70C0:: @ 83D70C0
- obj_image_anim_frame 20, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D70C8:: @ 83D70C8
- obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D70D0:: @ 83D70D0
- obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D70D8:: @ 83D70D8
- .4byte gSpriteAnim_83D7098
- .4byte gSpriteAnim_83D70A0
- .4byte gSpriteAnim_83D70A8
- .4byte gSpriteAnim_83D70B0
- .4byte gSpriteAnim_83D70B8
- .4byte gSpriteAnim_83D70C0
- .4byte gSpriteAnim_83D70C8
- .4byte gSpriteAnim_83D70D0
-
- .align 2
-gSpriteAffineAnim_83D70F8:: @ 83D70F8
- obj_rot_scal_anim_frame 0xC, 0xC, 0, 16
- obj_rot_scal_anim_frame 0xFFF4, 0xFFF4, 0, 16
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D7110:: @ 83D7110
- .4byte gSpriteAffineAnim_83D70F8
-
- .align 2
-gBattleAnimSpriteTemplate_83D7114:: @ 83D7114
- spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CEB0C
-
- .align 2
-gUnknown_083D712C:: @ 83D712C
- .incbin "baserom.gba", 0x003d712c, 0x30
-
- .align 2
-gBattleAnimSpriteTemplate_83D715C:: @ 83D715C
- spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CECE8
-
- .align 2
-gBattleAnimSpriteTemplate_83D7174:: @ 83D7174
- spr_template 10193, 10193, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CEDF0
-
- .align 2
-gSpriteAffineAnim_83D718C:: @ 83D718C
- obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0
- obj_rot_scal_anim_frame 0x4, 0x4, 0, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D71A4:: @ 83D71A4
- .4byte gSpriteAffineAnim_83D718C
-
- .align 2
-gBattleAnimSpriteTemplate_83D71A8:: @ 83D71A8
- spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D71A4, sub_80CEE60
-
- .align 2
-gSpriteAnim_83D71C0:: @ 83D71C0
- obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D71D4:: @ 83D71D4
- obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D71E8:: @ 83D71E8
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_frame 48, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D71FC:: @ 83D71FC
- obj_image_anim_frame 48, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 0, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7210:: @ 83D7210
- .4byte gSpriteAnim_83D71C0
- .4byte gSpriteAnim_83D71E8
- .4byte gSpriteAnim_83D71D4
- .4byte gSpriteAnim_83D71FC
-
- .align 2
-gBattleAnimSpriteTemplate_83D7220:: @ 83D7220
- spr_template 10209, 10209, gOamData_837DF34, gSpriteAnimTable_83D7210, NULL, gDummySpriteAffineAnimTable, sub_80CEF9C
-
- .align 2
-gSpriteAffineAnim_83D7238:: @ 83D7238
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x1E, 0x1E, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D7250:: @ 83D7250
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 11
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 11
- obj_rot_scal_anim_loop 2
- obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
- .incbin "baserom.gba", 0x003d7278, 0x48
-
- .align 2
-gSpriteAffineAnimTable_83D72C0:: @ 83D72C0
- .4byte gSpriteAffineAnim_83D7238
- .4byte gSpriteAffineAnim_83D7250
-
- .align 2
-gBattleAnimSpriteTemplate_83D72C8:: @ 83D72C8
- spr_template 10064, 10064, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF040
-
- .align 2
-gBattleAnimSpriteTemplate_83D72E0:: @ 83D72E0
- spr_template 10064, 10064, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF0BC
-
- .align 2
-gSpriteAnim_83D72F8:: @ 83D72F8
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D7300:: @ 83D7300
- obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D7308:: @ 83D7308
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D7328:: @ 83D7328
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7348:: @ 83D7348
- .4byte gSpriteAnim_83D72F8
- .4byte gSpriteAnim_83D7300
- .4byte gSpriteAnim_83D7308
- .4byte gSpriteAnim_83D7328
-
- .align 2
-gBattleAnimSpriteTemplate_83D7358:: @ 83D7358
- spr_template 10214, 10214, gOamData_837DF34, gSpriteAnimTable_83D7348, NULL, gDummySpriteAffineAnimTable, sub_80CF1C8
-
- .align 2
-gSpriteTemplate_83D7370:: @ 83D7370
- spr_template 10064, 10064, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF280
-
- .align 2
-gSpriteAnim_83D7388:: @ 83D7388
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7390:: @ 83D7390
- .4byte gSpriteAnim_83D7388
-
- .align 2
-gSpriteTemplate_83D7394:: @ 83D7394
- spr_template 10072, 10072, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF2D0
-
- .align 2
-gSpriteTemplate_83D73AC:: @ 83D73AC
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF3C4
-
- .align 2
-gSpriteTemplate_83D73C4:: @ 83D73C4
- spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80CF458
-
- .align 2
-gSpriteAnim_83D73DC:: @ 83D73DC
- obj_image_anim_frame 0, 9
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D73F0:: @ 83D73F0
- .4byte gSpriteAnim_83D73DC
-
- .align 2
-gSpriteAffineAnim_83D73F4:: @ 83D73F4
- obj_rot_scal_anim_frame 0x50, 0x50, 0, 0
- obj_rot_scal_anim_frame 0x9, 0x9, 0, 18
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D740C:: @ 83D740C
- .4byte gSpriteAffineAnim_83D73F4
-
- .align 2
-gSpriteTemplate_83D7410:: @ 83D7410
- spr_template 10007, 10007, gOamData_837DF94, gSpriteAnimTable_83D73F0, NULL, gSpriteAffineAnimTable_83D740C, sub_80793C4
-
- .align 2
-gSpriteAnim_83D7428:: @ 83D7428
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 40, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_loop 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D744C:: @ 83D744C
- .4byte gSpriteAnim_83D7428
-
- .align 2
-gBattleAnimSpriteTemplate_83D7450:: @ 83D7450
- spr_template 10075, 10075, gOamData_837DF54, gSpriteAnimTable_83D744C, NULL, gDummySpriteAffineAnimTable, sub_80CF610
-
- .align 2
-gSpriteAffineAnim_83D7468:: @ 83D7468
- obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x14, 0x0, 0, 12
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 32
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D7488:: @ 83D7488
- .4byte gSpriteAffineAnim_83D7468
-
- .align 2
-gBattleAnimSpriteTemplate_83D748C:: @ 83D748C
- spr_template 10005, 10005, gOamData_837E0FC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7488, sub_80CF690
-
- .align 2
-gBattleAnimSpriteTemplate_83D74A4:: @ 83D74A4
- spr_template 10003, 10003, gOamData_837E134, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF6DC
-
- .align 2
-gSpriteTemplate_83D74BC:: @ 83D74BC
- spr_template 10003, 10003, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF8B8
-
- .align 2
-gSpriteAffineAnim_83D74D4:: @ 83D74D4
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
- obj_rot_scal_anim_frame 0x7, 0x7, 0, -56
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D74EC:: @ 83D74EC
- obj_rot_scal_anim_frame 0x5, 0x5, 0, 10
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
- obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
- obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
- obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D752C:: @ 83D752C
- .4byte gSpriteAffineAnim_83D74D4
-
- .align 2
-gSpriteAffineAnimTable_83D7530:: @ 83D7530
- .4byte gSpriteAffineAnim_83D74EC
-
- .align 2
-gBattleAnimSpriteTemplate_83D7534:: @ 83D7534
- spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
-
- .align 2
-gBattleAnimSpriteTemplate_83D754C:: @ 83D754C
- spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
-
- .align 2
-gBattleAnimSpriteTemplate_83D7564:: @ 83D7564
- spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
-
- .align 2
-gBattleAnimSpriteTemplate_83D757C:: @ 83D757C
- spr_template 10288, 10288, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7530, sub_80D4CA4
-
- .align 2
-gBattleAnimSpriteTemplate_83D7594:: @ 83D7594
- spr_template 10175, 10175, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8
-
- .align 2
-gSpriteTemplate_83D75AC:: @ 83D75AC
- spr_template 10178, 10178, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CFDFC
-
- .align 2
-gSpriteAnim_83D75C4:: @ 83D75C4
- obj_image_anim_frame 8, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D75CC:: @ 83D75CC
- .4byte gSpriteAnim_83D75C4
-
- .align 2
-gSpriteAffineAnim_83D75D0:: @ 83D75D0
- obj_rot_scal_anim_frame 0x0, 0x0, 10, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D75E0:: @ 83D75E0
- .4byte gSpriteAffineAnim_83D75D0
-
- .align 2
-gBattleAnimSpriteTemplate_83D75E4:: @ 83D75E4
- spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gDummySpriteAffineAnimTable, sub_80CFE9C
-
- .align 2
-gBattleAnimSpriteTemplate_83D75FC:: @ 83D75FC
- spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gSpriteAffineAnimTable_83D75E0, sub_80CFF50
-
- .align 2
-gSpriteAffineAnim_83D7614:: @ 83D7614
- obj_rot_scal_anim_frame 0x0, 0x0, 20, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D7624:: @ 83D7624
- .4byte gSpriteAffineAnim_83D7614
-
- .align 2
-gBattleAnimSpriteTemplate_83D7628:: @ 83D7628
- spr_template 10006, 10006, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7624, sub_80CFFD8
-
- .align 2
-gSpriteAffineAnim_83D7640:: @ 83D7640
- obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x4, 0x0, 0, 40
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D7658:: @ 83D7658
- .4byte gSpriteAffineAnim_83D7640
-
- .align 2
-gBattleAnimSpriteTemplate_83D765C:: @ 83D765C
- spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7658, sub_80D0118
-
- .align 2
-gSpriteAnim_83D7674:: @ 83D7674
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 20
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D7684:: @ 83D7684
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 20, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7694:: @ 83D7694
- .4byte gSpriteAnim_83D7674
- .4byte gSpriteAnim_83D7684
-
- .align 2
-gBattleAnimSpriteTemplate_83D769C:: @ 83D769C
- spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D7694, NULL, gDummySpriteAffineAnimTable, sub_80D0178
-
- .align 2
-gSpriteAnim_83D76B4:: @ 83D76B4
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 32, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D76C4:: @ 83D76C4
- obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 1, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D76D4:: @ 83D76D4
- .4byte gSpriteAnim_83D76B4
- .4byte gSpriteAnim_83D76C4
-
- .align 2
-gBattleAnimSpriteTemplate_83D76DC:: @ 83D76DC
- spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D76D4, NULL, gDummySpriteAffineAnimTable, sub_80D0228
-
- .align 2
-gUnknown_083D76F4:: @ 83D76F4
- .incbin "baserom.gba", 0x003d76f4, 0x20
-
-gUnknown_083D7714:: @ 83D7714
- .incbin "baserom.gba", 0x003d7714, 0x20
-
- .align 2
-gSpriteAnim_83D7734:: @ 83D7734
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 4, 40, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 12, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D7748:: @ 83D7748
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 4, 40
- obj_image_anim_frame 8, 4
- obj_image_anim_frame 12, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D775C:: @ 83D775C
- .4byte gSpriteAnim_83D7734
- .4byte gSpriteAnim_83D7748
-
- .align 2
-gBattleAnimSpriteTemplate_83D7764:: @ 83D7764
- spr_template 10086, 10086, gOamData_837DF2C, gSpriteAnimTable_83D775C, NULL, gDummySpriteAffineAnimTable, sub_80D0930
-
- .align 2
-gSpriteAffineAnim_83D777C:: @ 83D777C
- obj_rot_scal_anim_frame 0xB, 0xB, 0, 8
- obj_rot_scal_anim_frame 0xFFF5, 0xFFF5, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D7794:: @ 83D7794
- .4byte gSpriteAffineAnim_83D777C
-
- .align 2
-gBattleAnimSpriteTemplate_83D7798:: @ 83D7798
- spr_template 10087, 10087, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7794, sub_80D09C0
-
- .align 2
-gUnknown_083D77B0:: @ 83D77B0
- .incbin "baserom.gba", 0x003d77b0, 0x30
-
- .align 2
-gBattleAnimSpriteTemplate_83D77E0:: @ 83D77E0
- spr_template 10002, 10002, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D0E30
-
- .align 2
-gBattleAnimSpriteTemplate_83D77F8:: @ 83D77F8
- spr_template 10197, 10197, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8079534
-
- .align 2
-gSpriteAnim_83D7810:: @ 83D7810
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 32, 5
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7824:: @ 83D7824
- .4byte gSpriteAnim_83D7810
-
- .align 2
-gBattleAnimSpriteTemplate_83D7828:: @ 83D7828
- spr_template 10198, 10198, gOamData_837DF34, gSpriteAnimTable_83D7824, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gSpriteAffineAnim_83D7840:: @ 83D7840
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 2
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 4
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 2
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83D7860:: @ 83D7860
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D7870:: @ 83D7870
- obj_rot_scal_anim_frame 0xFFF8, 0x4, 0, 8
- obj_rot_scal_anim_loop 0
- obj_rot_scal_anim_frame 0x10, 0xFFF8, 0, 8
- obj_rot_scal_anim_frame 0xFFF0, 0x8, 0, 8
- obj_rot_scal_anim_loop 1
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D78B0:: @ 83D78B0
- .4byte gSpriteAffineAnim_83D7840
- .4byte gSpriteAffineAnim_83D7860
- .4byte gSpriteAffineAnim_83D7870
-
- .align 2
-gBattleAnimSpriteTemplate_83D78BC:: @ 83D78BC
- spr_template 10202, 10202, gOamData_837E114, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D78B0, sub_80D1368
-
- .align 2
-gSpriteAffineAnim_83D78D4:: @ 83D78D4
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 30
- obj_rot_scal_anim_end 1
-
- .align 2
-gSpriteAffineAnim_83D78EC:: @ 83D78EC
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 15
- obj_rot_scal_anim_end 1
-
- .align 2
-gSpriteAffineAnim_83D7904:: @ 83D7904
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0xB, 0xB, 0, 45
- obj_rot_scal_anim_end 1
-
- .align 2
-gSpriteAffineAnimTable_83D791C:: @ 83D791C
- .4byte gSpriteAffineAnim_83D78D4
- .4byte gSpriteAffineAnim_83D78EC
-
- .align 2
-gSpriteAffineAnimTable_83D7924:: @ 83D7924
- .4byte gSpriteAffineAnim_83D7904
-
- .align 2
-gBattleAnimSpriteTemplate_83D7928:: @ 83D7928
- spr_template 10203, 10203, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80793C4
-
- .align 2
-gSpriteAffineAnim_83D7940:: @ 83D7940
- obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
- obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 30
- obj_rot_scal_anim_end 1
-
- .align 2
-gSpriteAffineAnimTable_83D7958:: @ 83D7958
- .4byte gSpriteAffineAnim_83D7940
-
- .align 2
-gBattleAnimSpriteTemplate_83D795C:: @ 83D795C
- spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7958, sub_80793C4
-
- .align 2
-gBattleAnimSpriteTemplate_83D7974:: @ 83D7974
- spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D0FD8
-
- .align 2
-gBattleAnimSpriteTemplate_83D798C:: @ 83D798C
- spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7924, sub_80D10B8
-
- .align 2
-gBattleAnimSpriteTemplate_83D79A4:: @ 83D79A4
- spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D1318
-
- .align 2
-gUnknown_083D79BC:: @ 83D79BC
- .incbin "baserom.gba", 0x003d79bc, 0x10
-
- .align 2
-gSpriteAnim_83D79CC:: @ 83D79CC
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 4, 3
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 4, 3
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D79E4:: @ 83D79E4
- .4byte gSpriteAnim_83D79CC
-
- .align 2
-gSpriteTemplate_83D79E8:: @ 83D79E8
- spr_template 10207, 10207, gOamData_837DF2C, gSpriteAnimTable_83D79E4, NULL, gDummySpriteAffineAnimTable, sub_80D1A70
-
-gUnknown_083D7A00:: @ 83D7A00
- .incbin "baserom.gba", 0x003d7a00, 0x8
-
- .align 2
-gSpriteAnim_83D7A08:: @ 83D7A08
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 32, 15
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 15, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 32, 15
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 0, 6
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7A40:: @ 83D7A40
- .4byte gSpriteAnim_83D7A08
-
- .align 2
-gBattleAnimSpriteTemplate_83D7A44:: @ 83D7A44
- spr_template 10205, 10205, gOamData_837DF34, gSpriteAnimTable_83D7A40, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gUnknown_083D7A5C:: @ 83D7A5C
- .incbin "baserom.gba", 0x003d7a5c, 0xc
-
- .align 2
-gBattleAnimSpriteTemplate_83D7A68:: @ 83D7A68
- spr_template 10206, 10206, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C08
-
- .align 2
-gBattleAnimSpriteTemplate_83D7A80:: @ 83D7A80
- spr_template 10210, 10210, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C80
-
- .align 2
-gUnknown_083D7A98:: @ 83D7A98
- .incbin "baserom.gba", 0x003d7a98, 0x18
-
- .align 2
-gBattleAnimSpriteTemplate_83D7AB0:: @ 83D7AB0
- spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1F58
-
- .align 2
-gBattleAnimSpriteTemplate_83D7AC8:: @ 83D7AC8
- spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC
-
- .align 2
-gBattleAnimSpriteTemplate_83D7AE0:: @ 83D7AE0
- spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2064
-
- .align 2
-gSpriteAffineAnim_83D7AF8:: @ 83D7AF8
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D7B10:: @ 83D7B10
- .4byte gSpriteAffineAnim_83D7AF8
-
- .align 2
-gBattleAnimSpriteTemplate_83D7B14:: @ 83D7B14
- spr_template 10217, 10217, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D26A4
-
- .align 2
-gBattleAnimSpriteTemplate_83D7B2C:: @ 83D7B2C
- spr_template 10217, 10217, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D27E0
-
- .align 2
-gSpriteAffineAnim_83D7B44:: @ 83D7B44
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D7B5C:: @ 83D7B5C
- .4byte gSpriteAffineAnim_83D7B44
-
- .align 2
-gBattleAnimSpriteTemplate_83D7B60:: @ 83D7B60
- spr_template 10237, 10237, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B5C, sub_80D28AC
-
- .align 2
-gSpriteAnim_83D7B78:: @ 83D7B78
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 4, 4
- obj_image_anim_frame 8, 4
- obj_image_anim_frame 4, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7B90:: @ 83D7B90
- .4byte gSpriteAnim_83D7B78
-
- .align 2
-gBattleAnimSpriteTemplate_83D7B94:: @ 83D7B94
- spr_template 10218, 10218, gOamData_837DF2C, gSpriteAnimTable_83D7B90, NULL, gDummySpriteAffineAnimTable, sub_80D2920
-
- .align 2
-gSpriteAnim_83D7BAC:: @ 83D7BAC
- obj_image_anim_frame 0, 24
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7BB4:: @ 83D7BB4
- .4byte gSpriteAnim_83D7BAC
-
- .align 2
-gBattleAnimSpriteTemplate_83D7BB8:: @ 83D7BB8
- spr_template 10220, 10220, gOamData_837DF34, gSpriteAnimTable_83D7BB4, NULL, gDummySpriteAffineAnimTable, sub_80D2938
-
- .align 2
-gBattleAnimSpriteTemplate_83D7BD0:: @ 83D7BD0
- spr_template 10219, 10219, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2A38
-
- .align 2
-gSpriteAnim_83D7BE8:: @ 83D7BE8
- obj_image_anim_frame 0, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83D7BF0:: @ 83D7BF0
- obj_image_anim_frame 16, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D7BF8:: @ 83D7BF8
- .4byte gSpriteAnim_83D7BE8
- .4byte gSpriteAnim_83D7BF0
-
- .align 2
-gBattleAnimSpriteTemplate_83D7C00:: @ 83D7C00
- spr_template 10221, 10221, gOamData_837DF34, gSpriteAnimTable_83D7BF8, NULL, gDummySpriteAffineAnimTable, sub_80D2ABC
-
- .align 2
-gSpriteAnim_83D7C18:: @ 83D7C18
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D7C2C:: @ 83D7C2C
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7C40:: @ 83D7C40
- .4byte gSpriteAnim_83D7C18
- .4byte gSpriteAnim_83D7C2C
-
- .align 2
-gBattleAnimSpriteTemplate_83D7C48:: @ 83D7C48
- spr_template 10222, 10222, gOamData_837DF34, gSpriteAnimTable_83D7C40, NULL, gDummySpriteAffineAnimTable, sub_80D2BE8
-
- .align 2
-gSpriteAnim_83D7C60:: @ 83D7C60
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 16, 8
- obj_image_anim_frame 32, 8
- obj_image_anim_frame 16, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D7C74:: @ 83D7C74
- obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D7C88:: @ 83D7C88
- .4byte gSpriteAnim_83D7C60
- .4byte gSpriteAnim_83D7C74
-
- .align 2
-gBattleAnimSpriteTemplate_83D7C90:: @ 83D7C90
- spr_template 10215, 10215, gOamData_837DF34, gSpriteAnimTable_83D7C88, NULL, gDummySpriteAffineAnimTable, sub_80D2C38
-
- .align 2
-gUnknown_083D7CA8:: @ 83D7CA8
- .incbin "baserom.gba", 0x003d7ca8, 0x20
-
- .align 2
-gBattleAnimSpriteTemplate_83D7CC8:: @ 83D7CC8
- spr_template 10225, 10225, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2D68
-
- .align 2
-gSpriteAffineAnim_83D7CE0:: @ 83D7CE0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 5
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D7CF0:: @ 83D7CF0
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 16
- obj_rot_scal_anim_end 1
-
- .align 2
-gSpriteAffineAnim_83D7D00:: @ 83D7D00
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 16
- obj_rot_scal_anim_end 1
-
- .align 2
-gSpriteAffineAnimTable_83D7D10:: @ 83D7D10
- .4byte gSpriteAffineAnim_83D7CE0
- .4byte gSpriteAffineAnim_83D7CF0
- .4byte gSpriteAffineAnim_83D7D00
-
- .align 2
-gBattleAnimSpriteTemplate_83D7D1C:: @ 83D7D1C
- spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2EC8
-
- .align 2
-gBattleAnimSpriteTemplate_83D7D34:: @ 83D7D34
- spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2E68
-
- .align 2
-gSpriteAffineAnim_83D7D4C:: @ 83D7D4C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D7D5C:: @ 83D7D5C
- obj_rot_scal_anim_frame 0x200, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D7D6C:: @ 83D7D6C
- .4byte gSpriteAffineAnim_83D7D4C
- .4byte gSpriteAffineAnim_83D7D5C
-
- .align 2
-gBattleAnimSpriteTemplate_83D7D74:: @ 83D7D74
- spr_template 10244, 10244, gOamData_837E13C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7D6C, sub_80D3014
-
- .align 2
- .incbin "graphics/unknown/unknown_3D7D8C.4bpp"
- .incbin "graphics/unknown/unknown_3D810C.bin"
-
- .align 2
-gSpriteAnim_83D910C:: @ 83D910C
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 8, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 24, 6
- obj_image_anim_frame 32, 2
- obj_image_anim_frame 40, 2
- obj_image_anim_frame 48, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D912C:: @ 83D912C
- .4byte gSpriteAnim_83D910C
-
- .align 2
-gSpriteTemplate_83D9130:: @ 83D9130
- spr_template 10115, 10115, gOamData_837DF74, gSpriteAnimTable_83D912C, NULL, gDummySpriteAffineAnimTable, sub_80D3184
-
- .align 2
-gSpriteAffineAnim_83D9148:: @ 83D9148
- obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 10
- obj_rot_scal_anim_frame 0x5, 0x5, 0, 10
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D9160:: @ 83D9160
- .4byte gSpriteAffineAnim_83D9148
-
- .align 2
-gSpriteAnim_83D9164:: @ 83D9164
- obj_image_anim_frame 0, 1
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D9174:: @ 83D9174
- .4byte gSpriteAnim_83D9164
-
- .align 2
-gBattleAnimSpriteTemplate_83D9178:: @ 83D9178
- spr_template 10146, 10146, gOamData_837E0AC, gSpriteAnimTable_83D9174, NULL, gSpriteAffineAnimTable_83D9160, sub_80D31C8
-
- .align 2
-gSpriteAnim_83D9190:: @ 83D9190
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9198:: @ 83D9198
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D91A0:: @ 83D91A0
- .4byte gSpriteAnim_83D9190
- .4byte gSpriteAnim_83D9198
-
- .align 2
-gSpriteAffineAnim_83D91A8:: @ 83D91A8
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_frame 0x60, 0x60, 0, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D91C0:: @ 83D91C0
- .4byte gSpriteAffineAnim_83D91A8
-
- .align 2
-gBattleAnimSpriteTemplate_83D91C4:: @ 83D91C4
- spr_template 10140, 10140, gOamData_837E024, gSpriteAnimTable_83D91A0, NULL, gSpriteAffineAnimTable_83D91C0, sub_80D33B4
-
- .align 2
-gSpriteAnim_83D91DC:: @ 83D91DC
- obj_image_anim_frame 0, 1
- obj_image_anim_frame 4, 1
- obj_image_anim_frame 8, 1
- obj_image_anim_frame 12, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D91F0:: @ 83D91F0
- .4byte gSpriteAnim_83D91DC
-
- .align 2
-gBattleAnimSpriteTemplate_83D91F4:: @ 83D91F4
- spr_template 10149, 10149, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554
-
- .align 2
-gBattleAnimSpriteTemplate_83D920C:: @ 83D920C
- spr_template 10259, 10259, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554
-
- .align 2
-gBattleAnimSpriteTemplate_83D9224:: @ 83D9224
- spr_template 10264, 10264, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554
-
- .align 2
-gBattleAnimSpriteTemplate_83D923C:: @ 83D923C
- spr_template 10265, 10265, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554
-
- .align 2
-gSpriteAnim_83D9254:: @ 83D9254
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_frame 48, 2
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9264:: @ 83D9264
- .4byte gSpriteAnim_83D9254
-
- .align 2
-gBattleAnimSpriteTemplate_83D9268:: @ 83D9268
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9264, NULL, gDummySpriteAffineAnimTable, sub_80D3554
-
- .align 2
-gBattleAnimSpriteTemplate_83D9280:: @ 83D9280
- spr_template 10165, 10165, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_80D3554
-
- .align 2
-gSpriteAffineAnim_83D9298:: @ 83D9298
- obj_rot_scal_anim_frame 0x3, 0x3, 10, 50
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 10
- obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, -10, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D92B8:: @ 83D92B8
- obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D92C8:: @ 83D92C8
- .4byte gSpriteAffineAnim_83D9298
-
- .align 2
-gSpriteAffineAnimTable_83D92CC:: @ 83D92CC
- .4byte gSpriteAffineAnim_83D92B8
-
- .align 2
-gBattleAnimSpriteTemplate_83D92D0:: @ 83D92D0
- spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92C8, sub_80D3698
-
- .align 2
-gBattleAnimSpriteTemplate_83D92E8:: @ 83D92E8
- spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92CC, sub_80D3728
-
- .align 2
-gSpriteAnim_83D9300:: @ 83D9300
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9308:: @ 83D9308
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D9310:: @ 83D9310
- .4byte gSpriteAnim_83D9300
-
- .align 2
-gSpriteAnimTable_83D9314:: @ 83D9314
- .4byte gSpriteAnim_83D9308
-
- .align 2
-gBattleAnimSpriteTemplate_83D9318:: @ 83D9318
- spr_template 10155, 10155, gOamData_837E04C, gSpriteAnimTable_83D9310, NULL, gDummySpriteAffineAnimTable, sub_80794A8
-
- .align 2
-gBattleAnimSpriteTemplate_83D9330:: @ 83D9330
- spr_template 10155, 10155, gOamData_837E10C, gSpriteAnimTable_83D9314, NULL, gSpriteAffineAnimTable_83DA318, sub_80D37FC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9348:: @ 83D9348
- spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC8, NULL, gDummySpriteAffineAnimTable, sub_80D3838
-
- .align 2
-gBattleAnimSpriteTemplate_83D9360:: @ 83D9360
- spr_template 10155, 10155, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D4044
-
- .align 2
-gSpriteTemplate_83D9378:: @ 83D9378
- spr_template 10268, 10268, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D452C
-
- .align 2
-gSpriteAnim_83D9390:: @ 83D9390
- obj_image_anim_frame 8, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9398:: @ 83D9398
- obj_image_anim_frame 9, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D93A0:: @ 83D93A0
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D93A8:: @ 83D93A8
- .4byte gSpriteAnim_83D9390
- .4byte gSpriteAnim_83D9398
-
- .align 2
-gSpriteAnimTable_83D93B0:: @ 83D93B0
- .4byte gSpriteAnim_83D93A0
-
- .align 2
-gSpriteAffineAnim_83D93B4:: @ 83D93B4
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D93CC:: @ 83D93CC
- obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D93E4:: @ 83D93E4
- obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D93FC:: @ 83D93FC
- .4byte gSpriteAffineAnim_83D93B4
- .4byte gSpriteAffineAnim_83D93CC
-
- .align 2
-gSpriteAffineAnimTable_83D9404:: @ 83D9404
- .4byte gSpriteAffineAnim_83D93E4
-
- .align 2
-gBattleAnimSpriteTemplate_83D9408:: @ 83D9408
- spr_template 10155, 10155, gOamData_837DF24, gSpriteAnimTable_83D93A8, NULL, gDummySpriteAffineAnimTable, sub_80D4BF0
-
- .align 2
-gSpriteTemplate_83D9420:: @ 83D9420
- spr_template 10155, 10155, gOamData_837DF84, gSpriteAnimTable_83D93A8, NULL, gSpriteAffineAnimTable_83D93FC, sub_80D4C64
-
- .align 2
-gBattleAnimSpriteTemplate_83D9438:: @ 83D9438
- spr_template 10155, 10155, gOamData_837DF8C, gSpriteAnimTable_83D93B0, NULL, gSpriteAffineAnimTable_83D9404, sub_807A9BC
-
- .align 2
-gSpriteAnim_83D9450:: @ 83D9450
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83D9460:: @ 83D9460
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9470:: @ 83D9470
- .4byte gSpriteAnim_83D9450
- .4byte gSpriteAnim_83D9460
-
- .align 2
-gBattleAnimSpriteTemplate_83D9478:: @ 83D9478
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4ED8
-
- .align 2
-gBattleAnimSpriteTemplate_83D9490:: @ 83D9490
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4F18
-
- .align 2
-gSpriteAnim_83D94A8:: @ 83D94A8
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 64, 3
- obj_image_anim_frame 80, 3
- obj_image_anim_frame 96, 3
- obj_image_anim_frame 112, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D94CC:: @ 83D94CC
- .4byte gSpriteAnim_83D94A8
-
- .align 2
-gSpriteAnim_83D94D0:: @ 83D94D0
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 32, 5
- obj_image_anim_frame 48, 5
- obj_image_anim_frame 64, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D94E8:: @ 83D94E8
- .4byte gSpriteAnim_83D94D0
-
- .align 2
-gSpriteAffineAnim_83D94EC:: @ 83D94EC
- obj_rot_scal_anim_frame 0x32, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x20, 0x0, 0, 7
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9504:: @ 83D9504
- .4byte gSpriteAffineAnim_83D94EC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9508:: @ 83D9508
- spr_template 10033, 10033, gOamData_837DF94, gSpriteAnimTable_83D94CC, NULL, gSpriteAffineAnimTable_83D9504, sub_80D4FCC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9520:: @ 83D9520
- spr_template 10033, 10033, gOamData_837DF34, gSpriteAnimTable_83D94CC, NULL, gDummySpriteAffineAnimTable, sub_80D4FCC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9538:: @ 83D9538
- spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C
-
- .align 2
-gSpriteTemplate_83D9550:: @ 83D9550
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C
-
- .align 2
-gSpriteAnim_83D9568:: @ 83D9568
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 32, 6
- obj_image_anim_frame 48, 6
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9578:: @ 83D9578
- .4byte gSpriteAnim_83D9568
-
- .align 2
-gSpriteTemplate_83D957C:: @ 83D957C
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9578, NULL, gDummySpriteAffineAnimTable, sub_80D5074
-
- .align 2
-gSpriteAffineAnim_83D9594:: @ 83D9594
- obj_rot_scal_anim_frame 0x50, 0x50, 0, 0
- obj_rot_scal_anim_frame 0x2, 0x2, 10, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D95AC:: @ 83D95AC
- .4byte gSpriteAffineAnim_83D9594
-
- .align 2
-gBattleAnimSpriteTemplate_83D95B0:: @ 83D95B0
- spr_template 10157, 10157, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D95AC, sub_80D517C
-
- .align 2
-gSpriteAnim_83D95C8:: @ 83D95C8
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D95E0:: @ 83D95E0
- .4byte gSpriteAnim_83D95C8
-
- .align 2
-gBattleAnimSpriteTemplate_83D95E4:: @ 83D95E4
- spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
-
- .align 2
-gBattleAnimSpriteTemplate_83D95FC:: @ 83D95FC
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D51A8
-
- .align 2
-gBattleAnimSpriteTemplate_83D9614:: @ 83D9614
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D5210
-
- .align 2
-gBattleAnimSpriteTemplate_83D962C:: @ 83D962C
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D522C
-
- .align 2
-gSpriteAnim_83D9644:: @ 83D9644
- obj_image_anim_frame 32, 6
- obj_image_anim_frame 48, 6
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9650:: @ 83D9650
- .4byte gSpriteAnim_83D9644
-
- .align 2
-gSpriteAffineAnim_83D9654:: @ 83D9654
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9664:: @ 83D9664
- obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9674:: @ 83D9674
- .4byte gSpriteAffineAnim_83D9654
- .4byte gSpriteAffineAnim_83D9664
-
- .align 2
-gBattleAnimSpriteTemplate_83D967C:: @ 83D967C
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9650, NULL, gDummySpriteAffineAnimTable, sub_80D5374
-
- .align 2
-gBattleAnimSpriteTemplate_83D9694:: @ 83D9694
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D53B4
-
- .align 2
-gBattleAnimSpriteTemplate_83D96AC:: @ 83D96AC
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_807A9BC
-
- .align 2
-gSpriteTemplate_83D96C4:: @ 83D96C4
- spr_template 10201, 10201, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D58FC
-
- .align 1
-gUnknown_083D96DC:: @ 83D96DC
- .2byte -2, -5
- .2byte -1, -1
- .2byte 3, -6
- .2byte 4, -2
- .2byte 2, -8
- .2byte -5, -5
- .2byte 4, -7
-
- .align 2
-gBattleAnimSpriteTemplate_83D96F8:: @ 83D96F8
- spr_template 10201, 10201, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5A20
-
- .align 2
-gSpriteAnim_83D9710:: @ 83D9710
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 12, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83D9724:: @ 83D9724
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D972C:: @ 83D972C
- obj_image_anim_frame 20, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9734:: @ 83D9734
- obj_image_anim_frame 20, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D973C:: @ 83D973C
- .4byte gSpriteAnim_83D9710
- .4byte gSpriteAnim_83D9724
- .4byte gSpriteAnim_83D972C
- .4byte gSpriteAnim_83D9734
-
- .align 2
-gBattleAnimSpriteTemplate_83D974C:: @ 83D974C
- spr_template 10231, 10231, gOamData_837DF2C, gSpriteAnimTable_83D973C, NULL, gDummySpriteAffineAnimTable, sub_80D5B0C
-
- .align 2
-gSpriteAnim_83D9764:: @ 83D9764
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 32, 5
- obj_image_anim_frame 48, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9778:: @ 83D9778
- .4byte gSpriteAnim_83D9764
-
- .align 2
-gBattleAnimSpriteTemplate_83D977C:: @ 83D977C
- spr_template 10232, 10232, gOamData_837DF34, gSpriteAnimTable_83D9778, NULL, gDummySpriteAffineAnimTable, sub_80D5CC0
-
- .align 2
-gUnknown_083D9794:: @ 83D9794
- .incbin "baserom.gba", 0x003d9794, 0x10
-
-gUnknown_083D97A4:: @ 83D97A4
- .incbin "baserom.gba", 0x003d97a4, 0x10
-
- .align 2
-gSpriteAnim_83D97B4:: @ 83D97B4
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 32, 8
- obj_image_anim_frame 48, 5
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D97CC:: @ 83D97CC
- .4byte gSpriteAnim_83D97B4
-
- .align 2
-gBattleAnimSpriteTemplate_83D97D0:: @ 83D97D0
- spr_template 10037, 10037, gOamData_837DF34, gSpriteAnimTable_83D97CC, NULL, gDummySpriteAffineAnimTable, sub_80D61C8
-
- .align 2
-gSpriteAffineAnim_83D97E8:: @ 83D97E8
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 20
- obj_rot_scal_anim_frame 0x0, 0x0, -16, 60
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9808:: @ 83D9808
- .4byte gSpriteAffineAnim_83D97E8
-
- .align 2
-gSpriteTemplate_83D980C:: @ 83D980C
- spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9808, sub_80D6234
-
- .align 2
-gSpriteAnim_83D9824:: @ 83D9824
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 32, 5
- obj_image_anim_frame 48, 5
- obj_image_anim_frame 64, 5
- obj_image_anim_frame 80, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9840:: @ 83D9840
- .4byte gSpriteAnim_83D9824
-
- .align 2
-gSpriteTemplate_83D9844:: @ 83D9844
- spr_template 10079, 10079, gOamData_837DF34, gSpriteAnimTable_83D9840, NULL, gDummySpriteAffineAnimTable, sub_80D6294
-
- .align 2
-gBattleAnimSpriteTemplate_83D985C:: @ 83D985C
- spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6328
-
- .align 2
-gBattleAnimSpriteTemplate_83D9874:: @ 83D9874
- spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
-
- .align 2
-gSpriteAffineAnim_83D988C:: @ 83D988C
- obj_rot_scal_anim_frame 0x0, 0x0, 20, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D989C:: @ 83D989C
- .4byte gSpriteAffineAnim_83D988C
-
- .align 2
-gBattleAnimSpriteTemplate_83D98A0:: @ 83D98A0
- spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D648C
-
- .align 2
-gSpriteAnim_83D98B8:: @ 83D98B8
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 32, 6
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D98C8:: @ 83D98C8
- .4byte gSpriteAnim_83D98B8
-
- .align 2
-gSpriteAffineAnim_83D98CC:: @ 83D98CC
- obj_rot_scal_anim_frame 0xE8, 0xE8, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 10
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83D98EC:: @ 83D98EC
- .4byte gSpriteAffineAnim_83D98CC
-
- .align 2
-gBattleAnimSpriteTemplate_83D98F0:: @ 83D98F0
- spr_template 10282, 10282, gOamData_837DF94, gSpriteAnimTable_83D98C8, NULL, gSpriteAffineAnimTable_83D98EC, sub_80D65DC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9908:: @ 83D9908
- spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D6658
-
- .align 2
-gBattleAnimSpriteTemplate_83D9920:: @ 83D9920
- spr_template 10011, 10011, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D679C
-
- .align 2
-gSpriteTemplate_83D9938:: @ 83D9938
- spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A1C
-
- .align 2
-gBattleAnimSpriteTemplate_83D9950:: @ 83D9950
- spr_template 10173, 10173, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A6C
-
- .align 2
-gUnknown_083D9968:: @ 83D9968
- .incbin "baserom.gba", 0x003d9968, 0x20
-
- .align 2
-gSpriteAnim_83D9988:: @ 83D9988
- obj_image_anim_frame 3, 1
- obj_image_anim_frame 2, 1
- obj_image_anim_frame 1, 1
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D999C:: @ 83D999C
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 1, 5
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 3, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D99B0:: @ 83D99B0
- .4byte gSpriteAnim_83D9988
- .4byte gSpriteAnim_83D999C
-
- .align 2
-gSpriteTemplate_83D99B8:: @ 83D99B8
- spr_template 10211, 10211, gOamData_837DF24, gSpriteAnimTable_83D99B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteAffineAnim_83D99D0:: @ 83D99D0
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x4, 0x4, 0, 60
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_loop 0
- obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5
- obj_rot_scal_anim_frame 0x4, 0x4, 0, 5
- obj_rot_scal_anim_loop 10
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9A10:: @ 83D9A10
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 30
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5
- obj_rot_scal_anim_frame 0x4, 0x4, 0, 5
- obj_rot_scal_anim_jump 3
-
- .align 2
-gSpriteAffineAnim_83D9A40:: @ 83D9A40
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 30
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 30
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9A60:: @ 83D9A60
- .4byte gSpriteAffineAnim_83D99D0
- .4byte gSpriteAffineAnim_83D9A10
- .4byte gSpriteAffineAnim_83D9A40
-
- .align 2
-gBattleAnimSpriteTemplate_83D9A6C:: @ 83D9A6C
- spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6D18
-
- .align 2
-gSpriteAnim_83D9A84:: @ 83D9A84
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D9A98:: @ 83D9A98
- .4byte gSpriteAnim_83D9A84
-
- .align 2
-gBattleAnimSpriteTemplate_83D9A9C:: @ 83D9A9C
- spr_template 10213, 10213, gOamData_837DF34, gSpriteAnimTable_83D9A98, NULL, gDummySpriteAffineAnimTable, sub_80D6D70
-
- .align 2
-gBattleAnimSpriteTemplate_83D9AB4:: @ 83D9AB4
- spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6DD8
-
- .align 2
-gSpriteAnim_83D9ACC:: @ 83D9ACC
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9AD4:: @ 83D9AD4
- obj_image_anim_frame 2, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9ADC:: @ 83D9ADC
- obj_image_anim_frame 4, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9AE4:: @ 83D9AE4
- obj_image_anim_frame 6, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D9AEC:: @ 83D9AEC
- .4byte gSpriteAnim_83D9ACC
- .4byte gSpriteAnim_83D9AD4
- .4byte gSpriteAnim_83D9ADC
- .4byte gSpriteAnim_83D9AE4
-
- .align 2
-gSpriteAffineAnim_83D9AFC:: @ 83D9AFC
- obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9B0C:: @ 83D9B0C
- .4byte gSpriteAffineAnim_83D9AFC
-
- .align 2
-gSpriteTemplate_83D9B10:: @ 83D9B10
- spr_template 10001, 10001, gOamData_837E024, gSpriteAnimTable_83D9AEC, NULL, gSpriteAffineAnimTable_83D9B0C, sub_80D7230
-
- .align 2
-gBattleAnimSpriteTemplate_83D9B28:: @ 83D9B28
- spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D727C
-
- .align 2
-gSpriteTemplate_83D9B40:: @ 83D9B40
- spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D755C
-
- .align 2
-gSpriteAnim_83D9B58:: @ 83D9B58
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 1, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9B64:: @ 83D9B64
- .4byte gSpriteAnim_83D9B58
-
- .align 2
-gSpriteTemplate_83D9B68:: @ 83D9B68
- spr_template 10141, 10141, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D7704
-
- .align 2
-gSpriteAnim_83D9B80:: @ 83D9B80
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9B88:: @ 83D9B88
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9B90:: @ 83D9B90
- obj_image_anim_frame 6, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9B98:: @ 83D9B98
- obj_image_anim_frame 7, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9BA0:: @ 83D9BA0
- obj_image_anim_frame 8, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9BA8:: @ 83D9BA8
- obj_image_anim_frame 12, 6
- obj_image_anim_frame 13, 6
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9BB4:: @ 83D9BB4
- .4byte gSpriteAnim_83D9B80
-
- .align 2
-gSpriteAnimTable_83D9BB8:: @ 83D9BB8
- .4byte gSpriteAnim_83D9B88
-
- .align 2
-gSpriteAnimTable_83D9BBC:: @ 83D9BBC
- .4byte gSpriteAnim_83D9B90
-
- .align 2
-gSpriteAnimTable_83D9BC0:: @ 83D9BC0
- .4byte gSpriteAnim_83D9B98
-
- .align 2
-gSpriteAnimTable_83D9BC4:: @ 83D9BC4
- .4byte gSpriteAnim_83D9BA0
-
- .align 2
-gSpriteAnimTable_83D9BC8:: @ 83D9BC8
- .4byte gSpriteAnim_83D9BA8
-
- .align 2
-gSpriteAffineAnim_83D9BCC:: @ 83D9BCC
- obj_rot_scal_anim_frame 0x0, 0x0, 40, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D9BDC:: @ 83D9BDC
- .4byte gSpriteAffineAnim_83D9BCC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9BE0:: @ 83D9BE0
- spr_template 10141, 10141, gOamData_837E144, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9BDC, sub_80D78EC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9BF8:: @ 83D9BF8
- spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D78EC
-
- .align 2
-gSpriteAffineAnim_83D9C10:: @ 83D9C10
- obj_rot_scal_anim_frame 0x0, 0x0, 10, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83D9C20:: @ 83D9C20
- .4byte gSpriteAffineAnim_83D9C10
-
- .align 2
-gBattleAnimSpriteTemplate_83D9C24:: @ 83D9C24
- spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C20, sub_80D792C
-
- .align 2
-gBattleAnimSpriteTemplate_83D9C3C:: @ 83D9C3C
- spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D792C
-
- .align 2
-gSpriteAffineAnim_83D9C54:: @ 83D9C54
- obj_rot_scal_anim_frame 0xCE, 0xCE, 0, 0
- obj_rot_scal_anim_frame 0x5, 0x5, 0, 10
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 6
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9C74:: @ 83D9C74
- .4byte gSpriteAffineAnim_83D9C54
-
- .align 2
-gBattleAnimSpriteTemplate_83D9C78:: @ 83D9C78
- spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4
-
- .align 2
-gBattleAnimSpriteTemplate_83D9C90:: @ 83D9C90
- spr_template 10141, 10141, gOamData_837E0A4, gSpriteAnimTable_83D9BBC, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4
-
- .align 2
-gBattleAnimSpriteTemplate_83D9CA8:: @ 83D9CA8
- spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7A64
-
- .align 2
-gBattleAnimSpriteTemplate_83D9CC0:: @ 83D9CC0
- spr_template 10141, 10141, gOamData_837DF2C, gSpriteAnimTable_83D9BC4, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4
-
- .align 2
-gBattleAnimSpriteTemplate_83D9CD8:: @ 83D9CD8
- spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4
-
- .align 2
-gSpriteAnim_83D9CF0:: @ 83D9CF0
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 6, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D9D10:: @ 83D9D10
- .4byte gSpriteAnim_83D9CF0
-
- .align 2
-gBattleAnimSpriteTemplate_83D9D14:: @ 83D9D14
- spr_template 10142, 10142, gOamData_837E084, gSpriteAnimTable_83D9D10, NULL, gDummySpriteAffineAnimTable, sub_80D7E88
-
- .align 2
-gSpriteAnim_83D9D2C:: @ 83D9D2C
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 8, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83D9D38:: @ 83D9D38
- .4byte gSpriteAnim_83D9D2C
-
- .align 2
-gBattleAnimSpriteTemplate_83D9D3C:: @ 83D9D3C
- spr_template 10144, 10144, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10
-
- .align 2
-gBattleAnimSpriteTemplate_83D9D54:: @ 83D9D54
- spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10
-
- .align 2
-gUnknown_083D9D6C:: @ 83D9D6C
- .incbin "baserom.gba", 0x003d9d6c, 0x14
-
- .align 2
-gBattleAnimSpriteTemplate_83D9D80:: @ 83D9D80
- spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D83E0
-
- .align 2
-gUnknown_083D9D98:: @ 83D9D98
- .incbin "baserom.gba", 0x003d9d98, 0x14
-
- .align 2
-gBattleAnimSpriteTemplate_83D9DAC:: @ 83D9DAC
- spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D8700
-
- .align 2
-gUnknown_083D9DC4:: @ 83D9DC4
- .incbin "baserom.gba", 0x003d9dc4, 0x28
-
- .align 2
-gSpriteAffineAnim_83D9DEC:: @ 83D9DEC
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9DFC:: @ 83D9DFC
- obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9E0C:: @ 83D9E0C
- obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9E1C:: @ 83D9E1C
- obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9E2C:: @ 83D9E2C
- .4byte gSpriteAffineAnim_83D9DEC
- .4byte gSpriteAffineAnim_83D9DFC
- .4byte gSpriteAffineAnim_83D9E0C
-
- .align 2
-gSpriteAffineAnimTable_83D9E38:: @ 83D9E38
- .4byte gSpriteAffineAnim_83D9E1C
-
- .align 2
-gSpriteTemplate_83D9E3C:: @ 83D9E3C
- spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E2C, sub_80D8D1C
-
- .align 2
-gBattleAnimSpriteTemplate_83D9E54:: @ 83D9E54
- spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E38, sub_807A9BC
-
- .align 2
-gSpriteAnim_83D9E6C:: @ 83D9E6C
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9E74:: @ 83D9E74
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D9E88:: @ 83D9E88
- .4byte gSpriteAnim_83D9E6C
- .4byte gSpriteAnim_83D9E74
-
- .align 2
-gSpriteAffineAnim_83D9E90:: @ 83D9E90
- obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9EA0:: @ 83D9EA0
- obj_rot_scal_anim_frame 0x118, 0x118, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9EB0:: @ 83D9EB0
- obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9EC0:: @ 83D9EC0
- obj_rot_scal_anim_frame 0x180, 0x180, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83D9ED0:: @ 83D9ED0
- obj_rot_scal_anim_frame 0x1C0, 0x1C0, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83D9EE0:: @ 83D9EE0
- .4byte gSpriteAffineAnim_83D9E90
- .4byte gSpriteAffineAnim_83D9EA0
- .4byte gSpriteAffineAnim_83D9EB0
- .4byte gSpriteAffineAnim_83D9EC0
- .4byte gSpriteAffineAnim_83D9ED0
-
- .align 2
-gBattleAnimSpriteTemplate_83D9EF4:: @ 83D9EF4
- spr_template 10043, 10043, gOamData_837DFF4, gSpriteAnimTable_83D9E88, NULL, gSpriteAffineAnimTable_83D9EE0, unc_080B06FC
-
- .align 2
-gBattleAnimSpriteTemplate_83D9F0C:: @ 83D9F0C
- spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D8F10
-
- .align 2
-gSpriteTemplate_83D9F24:: @ 83D9F24
- spr_template 10050, 10050, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0
-
- .align 2
-gSpriteAnim_83D9F3C:: @ 83D9F3C
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9F44:: @ 83D9F44
- obj_image_anim_frame 16, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9F4C:: @ 83D9F4C
- obj_image_anim_frame 32, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9F54:: @ 83D9F54
- obj_image_anim_frame 48, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83D9F5C:: @ 83D9F5C
- obj_image_anim_frame 48, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83D9F64:: @ 83D9F64
- .4byte gSpriteAnim_83D9F3C
-
- .align 2
-gSpriteAnimTable_83D9F68:: @ 83D9F68
- .4byte gSpriteAnim_83D9F44
- .4byte gSpriteAnim_83D9F4C
-
- .align 2
-gSpriteAnimTable_83D9F70:: @ 83D9F70
- .4byte gSpriteAnim_83D9F54
- .4byte gSpriteAnim_83D9F5C
-
- .align 2
-gBattleAnimSpriteTemplate_83D9F78:: @ 83D9F78
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D902C
-
- .align 2
-gBattleAnimSpriteTemplate_83D9F90:: @ 83D9F90
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9078
-
- .align 2
-gBattleAnimSpriteTemplate_83D9FA8:: @ 83D9FA8
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90A4
-
- .align 2
-gBattleAnimSpriteTemplate_83D9FC0:: @ 83D9FC0
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90F4
-
- .align 2
-gBattleAnimSpriteTemplate_83D9FD8:: @ 83D9FD8
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F70, NULL, gDummySpriteAffineAnimTable, sub_80D92D0
-
- .align 2
-gBattleAnimSpriteTemplate_83D9FF0:: @ 83D9FF0
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D9378
-
- .align 2
-gSpriteAffineAnim_83DA008:: @ 83DA008
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 20, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83DA020:: @ 83DA020
- .4byte gSpriteAffineAnim_83DA008
-
- .align 2
-gBattleAnimSpriteTemplate_83DA024:: @ 83DA024
- spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA020, sub_80D943C
-
- .align 2
-gSpriteAffineAnim_83DA03C:: @ 83DA03C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 20, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83DA054:: @ 83DA054
- .4byte gSpriteAffineAnim_83DA03C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA058:: @ 83DA058
- spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA054, sub_80D943C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA070:: @ 83DA070
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D94A8
-
- .align 2
-gBattleAnimSpriteTemplate_83DA088:: @ 83DA088
- spr_template 10073, 10073, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9540
-
- .align 2
-gBattleAnimSpriteTemplate_83DA0A0:: @ 83DA0A0
- spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D95D0
-
- .align 2
-gBattleAnimSpriteTemplate_83DA0B8:: @ 83DA0B8
- spr_template 10208, 10208, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D96B8
-
- .align 2
-gSpriteAffineAnim_83DA0D0:: @ 83DA0D0
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
- obj_rot_scal_anim_frame 0x4, 0x4, 0, 64
- obj_rot_scal_anim_frame 0xFFFA, 0xFFFA, 0, 8
- obj_rot_scal_anim_frame 0x6, 0x6, 0, 8
- obj_rot_scal_anim_jump 2
-
- .align 2
-gSpriteAffineAnimTable_83DA0F8:: @ 83DA0F8
- .4byte gSpriteAffineAnim_83DA0D0
-
- .align 2
-gBattleAnimSpriteTemplate_83DA0FC:: @ 83DA0FC
- spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA0F8, sub_80D97CC
-
- .align 2
-gBattleAnimSpriteTemplate_83DA114:: @ 83DA114
- spr_template 10257, 10257, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D98D8
-
- .align 2
-gBattleAnimSpriteTemplate_83DA12C:: @ 83DA12C
- spr_template 10256, 10256, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9A38
-
- .align 2
-gBattleAnimSpriteTemplate_83DA144:: @ 83DA144
- spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9B48
-
- .align 2
-gSpriteAnim_83DA15C:: @ 83DA15C
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA16C:: @ 83DA16C
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA17C:: @ 83DA17C
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA18C:: @ 83DA18C
- .4byte gSpriteAnim_83DA15C
- .4byte gSpriteAnim_83DA16C
- .4byte gSpriteAnim_83DA17C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA198:: @ 83DA198
- spr_template 10245, 10245, gOamData_837DF34, gSpriteAnimTable_83DA18C, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4
-
- .align 2
-gSpriteAnim_83DA1B0:: @ 83DA1B0
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 64, 6
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA1BC:: @ 83DA1BC
- obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA1C8:: @ 83DA1C8
- obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA1D4:: @ 83DA1D4
- .4byte gSpriteAnim_83DA1B0
- .4byte gSpriteAnim_83DA1BC
- .4byte gSpriteAnim_83DA1C8
-
- .align 2
-gBattleAnimSpriteTemplate_83DA1E0:: @ 83DA1E0
- spr_template 10246, 10246, gOamData_837DF3C, gSpriteAnimTable_83DA1D4, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4
-
- .align 2
-gSpriteAffineAnim_83DA1F8:: @ 83DA1F8
- obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
- obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA210:: @ 83DA210
- .4byte gSpriteAffineAnim_83DA1F8
-
- .align 2
-gBattleAnimSpriteTemplate_83DA214:: @ 83DA214
- spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA210, sub_80D9C40
-
- .align 2
-gSpriteAnim_83DA22C:: @ 83DA22C
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA240:: @ 83DA240
- .4byte gSpriteAnim_83DA22C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA244:: @ 83DA244
- spr_template 10151, 10151, gOamData_837DF74, gSpriteAnimTable_83DA240, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gSpriteAnim_83DA25C:: @ 83DA25C
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA264:: @ 83DA264
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA26C:: @ 83DA26C
- obj_image_anim_frame 8, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA274:: @ 83DA274
- .4byte gSpriteAnim_83DA25C
-
- .align 2
-gSpriteAnimTable_83DA278:: @ 83DA278
- .4byte gSpriteAnim_83DA264
-
- .align 2
-gSpriteAnimTable_83DA27C:: @ 83DA27C
- .4byte gSpriteAnim_83DA26C
-
- .align 2
-gSpriteAffineAnim_83DA280:: @ 83DA280
- obj_rot_scal_anim_frame 0x160, 0x160, 0, 0
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
- obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83DA2A0:: @ 83DA2A0
- obj_rot_scal_anim_frame 0xEC, 0xEC, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA2B0:: @ 83DA2B0
- .4byte gSpriteAffineAnim_83DA280
-
- .align 2
-gSpriteAffineAnimTable_83DA2B4:: @ 83DA2B4
- .4byte gSpriteAffineAnim_83DA2A0
-
- .align 2
-gBattleAnimSpriteTemplate_83DA2B8:: @ 83DA2B8
- spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9D70
-
- .align 2
-gBattleAnimSpriteTemplate_83DA2D0:: @ 83DA2D0
- spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9DF0
-
- .align 2
-gBattleAnimSpriteTemplate_83DA2E8:: @ 83DA2E8
- spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA27C, NULL, gSpriteAffineAnimTable_83DA2B4, sub_80D9E94
-
- .align 2
-gSpriteAffineAnim_83DA300:: @ 83DA300
- obj_rot_scal_anim_frame 0xFFF0, 0x10, 0, 6
- obj_rot_scal_anim_frame 0x10, 0xFFF0, 0, 6
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83DA318:: @ 83DA318
- .4byte gSpriteAffineAnim_83DA300
-
- .align 2
-gBattleAnimSpriteTemplate_83DA31C:: @ 83DA31C
- spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA278, NULL, gSpriteAffineAnimTable_83DA318, sub_80D9F14
-
- .align 2
-gSpriteAffineAnim_83DA334:: @ 83DA334
- obj_rot_scal_anim_frame 0x9C, 0x9C, 0, 0
- obj_rot_scal_anim_frame 0x5, 0x5, 0, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA34C:: @ 83DA34C
- .4byte gSpriteAffineAnim_83DA334
-
- .align 2
-gBattleAnimSpriteTemplate_83DA350:: @ 83DA350
- spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88
-
- .align 2
-gBattleAnimSpriteTemplate_83DA368:: @ 83DA368
- spr_template 10155, 10155, gOamData_837E0AC, gSpriteAnimTable_83D9310, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88
-
- .align 2
-gBattleAnimSpriteTemplate_83DA380:: @ 83DA380
- spr_template 10009, 10009, gOamData_837DF7C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DA034
-
- .align 2
-gSpriteAffineAnim_83DA398:: @ 83DA398
- obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xA, 0x0, 0, 24
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA3B0:: @ 83DA3B0
- .4byte gSpriteAffineAnim_83DA398
-
- .align 2
-gBattleAnimSpriteTemplate_83DA3B4:: @ 83DA3B4
- spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA3B0, sub_80DA16C
-
- .align 2
-gSpriteAnim_83DA3CC:: @ 83DA3CC
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83DA3E0:: @ 83DA3E0
- .4byte gSpriteAnim_83DA3CC
-
- .align 2
-gBattleAnimSpriteTemplate_83DA3E4:: @ 83DA3E4
- spr_template 10154, 10154, gOamData_837DF54, gSpriteAnimTable_83DA3E0, NULL, gDummySpriteAffineAnimTable, sub_80DA208
-
- .align 2
-gSpriteAffineAnim_83DA3FC:: @ 83DA3FC
- obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x28, 0x0, 0, 6
- obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5
- obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA424:: @ 83DA424
- .4byte gSpriteAffineAnim_83DA3FC
-
- .align 2
-gSpriteAffineAnim_83DA428:: @ 83DA428
- obj_rot_scal_anim_frame 0x0, 0x0, 50, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DA438:: @ 83DA438
- obj_rot_scal_anim_frame 0x0, 0x0, -40, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA448:: @ 83DA448
- .4byte gSpriteAffineAnim_83DA428
- .4byte gSpriteAffineAnim_83DA438
-
- .align 2
-gBattleAnimSpriteTemplate_83DA450:: @ 83DA450
- spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA424, sub_80DA300
-
- .align 2
-gBattleAnimSpriteTemplate_83DA468:: @ 83DA468
- spr_template 10156, 10156, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA448, sub_80DA38C
-
- .align 2
-gSpriteAnim_83DA480:: @ 83DA480
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA488:: @ 83DA488
- obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA490:: @ 83DA490
- .4byte gSpriteAnim_83DA480
- .4byte gSpriteAnim_83DA488
-
- .align 2
-gBattleAnimSpriteTemplate_83DA498:: @ 83DA498
- spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DA4D8
-
- .align 2
- .incbin "baserom.gba", 0x003da4b0, 0x20
-
- .align 2
-gSpriteTemplate_83DA4D0:: @ 83DA4D0
- spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DAD30
-
- .align 2
-gSpriteTemplate_83DA4E8:: @ 83DA4E8
- spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DAD84
-
- .align 2
-gSpriteAnim_83DA500:: @ 83DA500
- obj_image_anim_frame 0, 1
- obj_image_anim_frame 8, 1
- obj_image_anim_frame 16, 1
- obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA518:: @ 83DA518
- .4byte gSpriteAnim_83DA500
-
- .align 2
-gBattleAnimSpriteTemplate_83DA51C:: @ 83DA51C
- spr_template 10162, 10162, gOamData_837DF54, gSpriteAnimTable_83DA518, NULL, gDummySpriteAffineAnimTable, sub_80DB000
-
- .align 2
-gSpriteAffineAnim_83DA534:: @ 83DA534
- obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x28, 0x0, 0, 6
- obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5
- obj_rot_scal_anim_frame 0xFFEC, 0x0, 0, 7
- obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, 0, 5
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA564:: @ 83DA564
- .4byte gSpriteAffineAnim_83DA534
-
- .align 2
-gBattleAnimSpriteTemplate_83DA568:: @ 83DA568
- spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA564, sub_80DB194
-
- .align 2
-gSpriteAffineAnim_83DA580:: @ 83DA580
- obj_rot_scal_anim_frame 0xA0, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA590:: @ 83DA590
- .4byte gSpriteAffineAnim_83DA580
-
- .align 2
-gBattleAnimSpriteTemplate_83DA594:: @ 83DA594
- spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA590, sub_80DB1F4
-
- .align 2
-gSpriteAffineAnim_83DA5AC:: @ 83DA5AC
- obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x28, 0x0, 0, 6
- obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5
- obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA5D4:: @ 83DA5D4
- .4byte gSpriteAffineAnim_83DA5AC
-
- .align 2
-gBattleAnimSpriteTemplate_83DA5D8:: @ 83DA5D8
- spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA5D4, sub_80DB288
-
- .align 2
-gSpriteAffineAnim_83DA5F0:: @ 83DA5F0
- obj_rot_scal_anim_frame 0x100, 0x0, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x20, 0, 12
- obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 11
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA610:: @ 83DA610
- .4byte gSpriteAffineAnim_83DA5F0
-
- .align 2
-gBattleAnimSpriteTemplate_83DA614:: @ 83DA614
- spr_template 10272, 10272, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB374
-
- .align 2
-gBattleAnimSpriteTemplate_83DA62C:: @ 83DA62C
- spr_template 10273, 10273, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB458
-
- .align 2
-gSpriteTemplate_83DA644:: @ 83DA644
- spr_template 10212, 10212, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB564
-
- .align 2
-gBattleAnimSpriteTemplate_83DA65C:: @ 83DA65C
- spr_template 10284, 10284, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB5E4
-
- .align 2
-gSpriteAffineAnim_83DA674:: @ 83DA674
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -10, 120
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DA68C:: @ 83DA68C
- .4byte gSpriteAffineAnim_83DA674
-
- .align 2
-gBattleAnimSpriteTemplate_83DA690:: @ 83DA690
- spr_template 10196, 10196, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA68C, sub_80793C4
-
- .align 2
-gBattleAnimSpriteTemplate_83DA6A8:: @ 83DA6A8
- spr_template 10166, 10166, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA6C0:: @ 83DA6C0
- spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA6D8:: @ 83DA6D8
- spr_template 10168, 10168, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA6F0:: @ 83DA6F0
- spr_template 10169, 10169, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA708:: @ 83DA708
- spr_template 10170, 10170, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
-
- .align 2
-gSpriteAnim_83DA720:: @ 83DA720
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 64, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA738:: @ 83DA738
- .4byte gSpriteAnim_83DA720
-
- .align 2
-gBattleAnimSpriteTemplate_83DA73C:: @ 83DA73C
- spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DA738, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C
-
- .align 2
-gSpriteAnim_83DA754:: @ 83DA754
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 12, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA768:: @ 83DA768
- .4byte gSpriteAnim_83DA754
-
- .align 2
-gBattleAnimSpriteTemplate_83DA76C:: @ 83DA76C
- spr_template 10070, 10070, gOamData_837DF2C, gSpriteAnimTable_83DA768, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C
-
- .align 2
-gBattleAnimSpriteTemplate_83DA784:: @ 83DA784
- spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
-
- .align 2
-gSpriteAnim_83DA79C:: @ 83DA79C
- obj_image_anim_frame 8, 60, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_loop 0
- obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_loop 1
- obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 40, 22, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DA7DC:: @ 83DA7DC
- obj_image_anim_frame 8, 60
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 8, 22
- obj_image_anim_loop 0
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_loop 1
- obj_image_anim_frame 8, 22
- obj_image_anim_frame 24, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 40, 22
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA81C:: @ 83DA81C
- .4byte gSpriteAnim_83DA79C
- .4byte gSpriteAnim_83DA7DC
-
- .align 2
-gBattleAnimSpriteTemplate_83DA824:: @ 83DA824
- spr_template 10097, 10097, gOamData_837DF74, gSpriteAnimTable_83DA81C, NULL, gDummySpriteAffineAnimTable, sub_80DBAF4
-
- .align 2
-gSpriteAnim_83DA83C:: @ 83DA83C
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 16, 6
- obj_image_anim_frame 32, 6
- obj_image_anim_frame 48, 6
- obj_image_anim_frame 64, 6
- obj_image_anim_frame 80, 6
- obj_image_anim_frame 96, 18
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DA85C:: @ 83DA85C
- .4byte gSpriteAnim_83DA83C
-
- .align 2
-Unknown_3DA860:: @ 83DA860
- .incbin "baserom.gba", 0x3da860, 0x28
-
- .align 2
-gUnknown_083DA888:: @ 83DA888
- .4byte Unknown_3DA860
-
- .align 2
-gBattleAnimSpriteTemplate_83DA88C:: @ 83DA88C
- spr_template 10093, 10093, gOamData_837DF34, gSpriteAnimTable_83DA85C, NULL, gDummySpriteAffineAnimTable, sub_80DBB70
-
- .align 2
-gUnknown_083DA8A4:: @ 83DA8A4
- .incbin "baserom.gba", 0x003da8a4, 0x20
-
-gUnknown_083DA8C4:: @ 83DA8C4
- .incbin "baserom.gba", 0x003da8c4, 0x18
-
- .align 2
-gSpriteTemplate_83DA8DC:: @ 83DA8DC
- spr_template 10249, 10249, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gBattleAnimSpriteTemplate_83DA8F4:: @ 83DA8F4
- spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC068
-
- .align 2
-gSpriteAffineAnim_83DA90C:: @ 83DA90C
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83DA924:: @ 83DA924
- obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnim_83DA94C:: @ 83DA94C
- obj_rot_scal_anim_frame 0xD0, 0xD0, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnim_83DA974:: @ 83DA974
- obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83DA99C:: @ 83DA99C
- .4byte gSpriteAffineAnim_83DA90C
- .4byte gSpriteAffineAnim_83DA924
- .4byte gSpriteAffineAnim_83DA94C
- .4byte gSpriteAffineAnim_83DA974
-
- .align 2
-gSpriteTemplate_83DA9AC:: @ 83DA9AC
- spr_template 10251, 10251, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA99C, sub_80DC2B0
-
- .align 2
-gSpriteAffineAnim_83DA9C4:: @ 83DA9C4
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
- obj_rot_scal_anim_frame 0x4, 0x4, 0, 120
- obj_rot_scal_anim_end 1
-
- .align 2
-gSpriteAffineAnimTable_83DA9DC:: @ 83DA9DC
- .4byte gSpriteAffineAnim_83DA9C4
-
- .align 2
-gBattleAnimSpriteTemplate_83DA9E0:: @ 83DA9E0
- spr_template 10267, 10267, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA9DC, sub_80793C4
-
- .align 2
-gSpriteAffineAnim_83DA9F8:: @ 83DA9F8
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 17
- obj_rot_scal_anim_loop 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 10
- obj_rot_scal_anim_loop 4
- obj_rot_scal_anim_loop 0
- obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 5
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 5
- obj_rot_scal_anim_loop 7
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DAA50:: @ 83DAA50
- obj_rot_scal_anim_frame 0xFFEC, 0x18, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DAA60:: @ 83DAA60
- .4byte gSpriteAffineAnim_83DA9F8
- .4byte gSpriteAffineAnim_83DAA50
-
- .align 2
-gBattleAnimSpriteTemplate_83DAA68:: @ 83DAA68
- spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAA60, sub_80DC700
-
- .align 2
-gSpriteAffineAnim_83DAA80:: @ 83DAA80
- obj_rot_scal_anim_frame 0x100, 0x100, 30, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DAA90:: @ 83DAA90
- obj_rot_scal_anim_frame 0x100, 0x100, -99, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DAAA0:: @ 83DAAA0
- obj_rot_scal_anim_frame 0x100, 0x100, 94, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DAAB0:: @ 83DAAB0
- .4byte gSpriteAffineAnim_83DAA80
- .4byte gSpriteAffineAnim_83DAA90
- .4byte gSpriteAffineAnim_83DAAA0
-
- .align 2
-gBattleAnimSpriteTemplate_83DAABC:: @ 83DAABC
- spr_template 10153, 10153, gOamData_837E014, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAAB0, sub_80DC824
-
- .align 2
-gSpriteAffineAnim_83DAAD4:: @ 83DAAD4
- obj_rot_scal_anim_frame 0x0, 0x0, -33, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DAAE4:: @ 83DAAE4
- obj_rot_scal_anim_frame 0x0, 0x0, 96, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DAAF4:: @ 83DAAF4
- obj_rot_scal_anim_frame 0x0, 0x0, -96, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DAB04:: @ 83DAB04
- .4byte gSpriteAffineAnim_83DAAD4
- .4byte gSpriteAffineAnim_83DAAE4
- .4byte gSpriteAffineAnim_83DAAF4
-
- .align 2
-gBattleAnimSpriteTemplate_83DAB10:: @ 83DAB10
- spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB04, sub_80DC8F4
-
- .align 2
-gBattleAnimSpriteTemplate_83DAB28:: @ 83DAB28
- spr_template 10180, 10180, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC9A0
-
- .align 2
-gBattleAnimSpriteTemplate_83DAB40:: @ 83DAB40
- spr_template 10179, 10179, gOamData_837DF5C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCA70
-
- .align 2
-gSpriteAffineAnim_83DAB58:: @ 83DAB58
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x6, 0x6, 0, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83DAB70:: @ 83DAB70
- .4byte gSpriteAffineAnim_83DAB58
-
- .align 2
-gBattleAnimSpriteTemplate_83DAB74:: @ 83DAB74
- spr_template 10181, 10181, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB70, sub_80DCB38
-
- .align 2
-gBattleAnimSpriteTemplate_83DAB8C:: @ 83DAB8C
- spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCBCC
-
- .align 2
-gBattleAnimSpriteTemplate_83DABA4:: @ 83DABA4
- spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC
-
- .align 2
-gBattleAnimSpriteTemplate_83DABBC:: @ 83DABBC
- spr_template 10262, 10262, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC
-
- .align 2
-gSpriteAffineAnim_83DABD4:: @ 83DABD4
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 18
- obj_rot_scal_anim_loop 0
- obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 8
- obj_rot_scal_anim_frame 0x5, 0x5, 0, 8
- obj_rot_scal_anim_loop 5
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DAC0C:: @ 83DAC0C
- .4byte gSpriteAffineAnim_83DABD4
-
- .align 2
-gBattleAnimSpriteTemplate_83DAC10:: @ 83DAC10
- spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAC0C, sub_80DCE40
-
- .align 2
-gSpriteAnim_83DAC28:: @ 83DAC28
- obj_image_anim_frame 32, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DAC30:: @ 83DAC30
- obj_image_anim_frame 48, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DAC38:: @ 83DAC38
- obj_image_anim_frame 64, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DAC40:: @ 83DAC40
- .4byte gSpriteAnim_83DAC28
- .4byte gSpriteAnim_83DAC30
- .4byte gSpriteAnim_83DAC38
-
- .align 2
-gBattleAnimSpriteTemplate_83DAC4C:: @ 83DAC4C
- spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCE9C
-
- .align 2
-gBattleAnimSpriteTemplate_83DAC64:: @ 83DAC64
- spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCF60
-
- .align 2
-gBattleAnimSpriteTemplate_83DAC7C:: @ 83DAC7C
- spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4
-
- .align 2
-gSpriteAffineAnim_83DAC94:: @ 83DAC94
- obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
- obj_rot_scal_anim_frame 0x2, 0xFFFD, 0, 5
- obj_rot_scal_anim_frame 0xFFFE, 0x3, 0, 5
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_83DACB4:: @ 83DACB4
- .4byte gSpriteAffineAnim_83DAC94
-
- .align 2
-gBattleAnimSpriteTemplate_83DACB8:: @ 83DACB8
- spr_template 10149, 10149, gOamData_837E0AC, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83DACB4, sub_80DCFE4
-
- .align 2
-gBattleAnimSpriteTemplate_83DACD0:: @ 83DACD0
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4
-
- .align 2
-gBattleAnimSpriteTemplate_83DACE8:: @ 83DACE8
- spr_template 10261, 10261, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD3AC
-
- .align 2
-Unknown_3DAD00:: @ 83DAD00
- .incbin "baserom.gba", 0x3dad00, 0x10
-
- .align 2
-gUnknown_083DAD10:: @ 83DAD10
- .4byte 0x2, Unknown_3DAD00
-
- .align 2
-gSpriteAnim_83DAD18:: @ 83DAD18
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DAD20:: @ 83DAD20
- obj_image_anim_frame 16, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DAD28:: @ 83DAD28
- obj_image_anim_frame 32, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DAD30:: @ 83DAD30
- obj_image_anim_frame 48, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DAD38:: @ 83DAD38
- obj_image_anim_frame 64, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DAD40:: @ 83DAD40
- obj_image_anim_frame 80, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DAD48:: @ 83DAD48
- .4byte gSpriteAnim_83DAD18
- .4byte gSpriteAnim_83DAD20
-
- .align 2
-gSpriteAnimTable_83DAD50:: @ 83DAD50
- .4byte gSpriteAnim_83DAD28
- .4byte gSpriteAnim_83DAD30
-
- .align 2
-gSpriteAnimTable_83DAD58:: @ 83DAD58
- .4byte gSpriteAnim_83DAD38
- .4byte gSpriteAnim_83DAD40
-
- .align 2
-gBattleAnimSpriteTemplate_83DAD60:: @ 83DAD60
- spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD490
-
- .align 2
-gSpriteTemplate_83DAD78:: @ 83DAD78
- spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C
-
- .align 2
-gSpriteTemplate_83DAD90:: @ 83DAD90
- spr_template 10058, 10058, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C
-
- .align 2
-gBattleAnimSpriteTemplate_83DADA8:: @ 83DADA8
- spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD8E8
-
- .align 2
-gSpriteAffineAnim_83DADC0:: @ 83DADC0
- obj_rot_scal_anim_frame 0x0, 0x0, -5, 5
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83DADD0:: @ 83DADD0
- obj_rot_scal_anim_frame 0x0, 0x0, 5, 5
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83DADE0:: @ 83DADE0
- .4byte gSpriteAffineAnim_83DADC0
- .4byte gSpriteAffineAnim_83DADD0
-
- .align 2
-gBattleAnimSpriteTemplate_83DADE8:: @ 83DADE8
- spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD978
-
- .align 2
-gBattleAnimSpriteTemplate_83DAE00:: @ 83DAE00
- spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD9A4
-
- .align 2
-gBattleAnimSpriteTemplate_83DAE18:: @ 83DAE18
- spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, sub_80CB144
-
- .align 2
-gBattleAnimSpriteTemplate_83DAE30:: @ 83DAE30
- spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD50, NULL, gSpriteAffineAnimTable_83DADE0, sub_807A9BC
-
- .align 2
-gSpriteAffineAnim_83DAE48:: @ 83DAE48
- obj_rot_scal_anim_frame 0x1E, 0x1E, 10, 5
- obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 10, 5
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83DAE60:: @ 83DAE60
- .4byte gSpriteAffineAnim_83DAE48
-
- .align 2
-gBattleAnimSpriteTemplate_83DAE64:: @ 83DAE64
- spr_template 10013, 10013, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAE60, sub_80DDB6C
-
- .align 2
-gBattleAnimSpriteTemplate_83DAE7C:: @ 83DAE7C
- spr_template 10013, 10013, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DDD58
-
- .align 2
-gSpriteAffineAnim_83DAE94:: @ 83DAE94
- obj_rot_scal_anim_frame 0x0, 0x0, 10, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83DAEA4:: @ 83DAEA4
- .4byte gSpriteAffineAnim_83DAE94
-
- .align 2
-gBattleAnimSpriteTemplate_83DAEA8:: @ 83DAEA8
- spr_template 10176, 10176, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAEA4, sub_80DDF40
-
- .align 2
-gSpriteAnim_83DAEC0:: @ 83DAEC0
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 8, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_frame 24, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DAED8:: @ 83DAED8
- .4byte gSpriteAnim_83DAEC0
-
- .align 2
-gBattleAnimSpriteTemplate_83DAEDC:: @ 83DAEDC
- spr_template 10177, 10177, gOamData_837DF74, gSpriteAnimTable_83DAED8, NULL, gDummySpriteAffineAnimTable, sub_80DE0FC
-
- .align 2
-gSpriteAffineAnim_83DAEF4:: @ 83DAEF4
- obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DAF04:: @ 83DAF04
- .4byte gSpriteAffineAnim_83DAEF4
-
- .align 2
-gSpriteTemplate_83DAF08:: @ 83DAF08
- spr_template 10188, 10188, gOamData_837E07C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DE7B8
-
- .align 2
-gBattleAnimSpriteTemplate_83DAF20:: @ 83DAF20
- spr_template 10199, 10199, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DEF3C
-
- .align 2
-gBattleAnimSpriteTemplate_83DAF38:: @ 83DAF38
- spr_template 10200, 10200, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8
-
- .align 2
-gBattleAnimSpriteTemplate_83DAF50:: @ 83DAF50
- spr_template 10221, 10221, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8
-
- .align 2
-gSpriteAnim_83DAF68:: @ 83DAF68
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 8, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 24, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83DAF7C:: @ 83DAF7C
- .4byte gSpriteAnim_83DAF68
-
- .align 2
-gSpriteTemplate_83DAF80:: @ 83DAF80
- spr_template 10253, 10253, gOamData_837E094, gSpriteAnimTable_83DAF7C, NULL, gDummySpriteAffineAnimTable, sub_80DF3D8
-
- .align 2
-gSpriteTemplate_83DAF98:: @ 83DAF98
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF49C
-
- .align 2
-gSpriteAnim_83DAFB0:: @ 83DAFB0
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83DAFC8:: @ 83DAFC8
- .4byte gSpriteAnim_83DAFB0
-
- .align 2
-gBattleAnimSpriteTemplate_83DAFCC:: @ 83DAFCC
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DF5A0
-
- .align 2
-gSpriteAnim_83DAFE4:: @ 83DAFE4
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83DAFF4:: @ 83DAFF4
- obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83DB004:: @ 83DB004
- .4byte gSpriteAnim_83DAFE4
- .4byte gSpriteAnim_83DAFF4
-
- .align 2
-gSpriteAffineAnim_83DB00C:: @ 83DB00C
- obj_rot_scal_anim_frame 0x50, 0x50, 127, 0
- obj_rot_scal_anim_frame 0xD, 0xD, 0, 100
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB024:: @ 83DB024
- obj_rot_scal_anim_frame 0x50, 0x50, 0, 0
- obj_rot_scal_anim_frame 0xD, 0xD, 0, 100
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DB03C:: @ 83DB03C
- .4byte gSpriteAffineAnim_83DB00C
- .4byte gSpriteAffineAnim_83DB024
-
- .align 2
-gBattleAnimSpriteTemplate_83DB044:: @ 83DB044
- spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB004, NULL, gSpriteAffineAnimTable_83DB03C, sub_80DF760
-
- .align 2
-gSpriteAnim_83DB05C:: @ 83DB05C
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 32, 5
- obj_image_anim_frame 48, 5
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DB074:: @ 83DB074
- .4byte gSpriteAnim_83DB05C
-
- .align 2
-gBattleAnimSpriteTemplate_83DB078:: @ 83DB078
- spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83DB074, NULL, gDummySpriteAffineAnimTable, sub_80DF6F0
-
- .align 2
-gSpriteAnim_83DB090:: @ 83DB090
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83DB0A0:: @ 83DB0A0
- .4byte gSpriteAnim_83DB090
- .4byte gSpriteAnim_83DB090
-
- .align 2
-gSpriteAffineAnim_83DB0A8:: @ 83DB0A8
- obj_rot_scal_anim_frame 0x64, 0x64, 127, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB0B8:: @ 83DB0B8
- obj_rot_scal_anim_frame 0x64, 0x64, 0, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DB0C8:: @ 83DB0C8
- .4byte gSpriteAffineAnim_83DB0A8
- .4byte gSpriteAffineAnim_83DB0B8
-
- .align 2
-gBattleAnimSpriteTemplate_83DB0D0:: @ 83DB0D0
- spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB0A0, NULL, gSpriteAffineAnimTable_83DB0C8, sub_80DF760
-
- .align 2
-gBattleAnimSpriteTemplate_83DB0E8:: @ 83DB0E8
- spr_template 10249, 10249, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF78C
-
- .align 2
-gBattleAnimSpriteTemplate_83DB100:: @ 83DB100
- spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DFB28
-
- .align 2
-gSpriteTemplate_83DB118:: @ 83DB118
- spr_template 10015, 10015, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DFE14
-
- .align 2
-gSpriteAffineAnim_83DB130:: @ 83DB130
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB140:: @ 83DB140
- obj_rot_scal_anim_frame 0x0, 0x0, 32, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB150:: @ 83DB150
- obj_rot_scal_anim_frame 0x0, 0x0, 64, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB160:: @ 83DB160
- obj_rot_scal_anim_frame 0x0, 0x0, 96, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB170:: @ 83DB170
- obj_rot_scal_anim_frame 0x0, 0x0, -128, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB180:: @ 83DB180
- obj_rot_scal_anim_frame 0x0, 0x0, -96, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB190:: @ 83DB190
- obj_rot_scal_anim_frame 0x0, 0x0, -64, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB1A0:: @ 83DB1A0
- obj_rot_scal_anim_frame 0x0, 0x0, -32, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DB1B0:: @ 83DB1B0
- .4byte gSpriteAffineAnim_83DB130
- .4byte gSpriteAffineAnim_83DB140
- .4byte gSpriteAffineAnim_83DB150
- .4byte gSpriteAffineAnim_83DB160
- .4byte gSpriteAffineAnim_83DB170
- .4byte gSpriteAffineAnim_83DB180
- .4byte gSpriteAffineAnim_83DB190
- .4byte gSpriteAffineAnim_83DB1A0
-
- .align 2
-gBattleAnimSpriteTemplate_83DB1D0:: @ 83DB1D0
- spr_template 10139, 10139, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C
-
- .align 2
-gBattleAnimSpriteTemplate_83DB1E8:: @ 83DB1E8
- spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C
-
- .align 2
-gSpriteAffineAnim_83DB200:: @ 83DB200
- obj_rot_scal_anim_frame 0xC0, 0xC0, 80, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -2, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB218:: @ 83DB218
- obj_rot_scal_anim_frame 0xC0, 0xC0, -80, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 2, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DB230:: @ 83DB230
- .4byte gSpriteAffineAnim_83DB200
- .4byte gSpriteAffineAnim_83DB218
-
- .align 2
-gBattleAnimSpriteTemplate_83DB238:: @ 83DB238
- spr_template 10155, 10155, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB230, sub_80DFFD0
-
- .align 2
-gSpriteAnim_83DB250:: @ 83DB250
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DB268:: @ 83DB268
- obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DB280:: @ 83DB280
- .4byte gSpriteAnim_83DB250
- .4byte gSpriteAnim_83DB268
-
- .align 2
-gBattleAnimSpriteTemplate_83DB288:: @ 83DB288
- spr_template 10039, 10039, gOamData_837DF34, gSpriteAnimTable_83DB280, NULL, gDummySpriteAffineAnimTable, sub_80E0A10
-
- .align 2
-gSpriteAffineAnim_83DB2A0:: @ 83DB2A0
- obj_rot_scal_anim_frame 0x0, 0x0, 15, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83DB2B0:: @ 83DB2B0
- obj_rot_scal_anim_frame 0x0, 0x0, 20, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83DB2C0:: @ 83DB2C0
- .4byte gSpriteAffineAnim_83DB2A0
-
- .align 2
-gSpriteAffineAnimTable_83DB2C4:: @ 83DB2C4
- .4byte gSpriteAffineAnim_83DB2B0
-
- .align 2
-gBattleAnimSpriteTemplate_83DB2C8:: @ 83DB2C8
- spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C0, sub_80E0F1C
-
- .align 2
-gBattleAnimSpriteTemplate_83DB2E0:: @ 83DB2E0
- spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C4, sub_80E1004
-
- .align 2
-gBattleAnimSpriteTemplate_83DB2F8:: @ 83DB2F8
- spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1078
-
- .align 2
-gSpriteAnim_83DB310:: @ 83DB310
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DB318:: @ 83DB318
- .4byte gSpriteAnim_83DB310
-
- .align 2
-gBattleAnimSpriteTemplate_83DB31C:: @ 83DB31C
- spr_template 10074, 10074, gOamData_837DF2C, gSpriteAnimTable_83DB318, NULL, gDummySpriteAffineAnimTable, sub_80E1078
-
- .align 2
-gBattleAnimSpriteTemplate_83DB334:: @ 83DB334
- spr_template 10074, 10074, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1108
-
- .align 2
-gBattleAnimSpriteTemplate_83DB34C:: @ 83DB34C
- spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1728
-
- .align 2
-gBattleAnimSpriteTemplate_83DB364:: @ 83DB364
- spr_template 10281, 10281, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E17CC
-
- .align 2
-gSpriteAnim_83DB37C:: @ 83DB37C
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 8, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83DB390:: @ 83DB390
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 8, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83DB3A4:: @ 83DB3A4
- .4byte gSpriteAnim_83DB37C
- .4byte gSpriteAnim_83DB390
-
- .align 2
-gBattleAnimSpriteTemplate_83DB3AC:: @ 83DB3AC
- spr_template 10073, 10073, gOamData_837DF2C, gSpriteAnimTable_83DB3A4, NULL, gDummySpriteAffineAnimTable, sub_80E1CB4
-
- .align 2
-gBattleAnimSpriteTemplate_83DB3C4:: @ 83DB3C4
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1D84
-
- .align 2
-gBattleAnimSpriteTemplate_83DB3DC:: @ 83DB3DC
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1E2C
-
- .align 2
-gSpriteAnim_83DB3F4:: @ 83DB3F4
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 64, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83DB40C:: @ 83DB40C
- .4byte gSpriteAnim_83DB3F4
-
- .align 2
-gSpriteTemplate_83DB410:: @ 83DB410
- spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DB40C, NULL, gDummySpriteAffineAnimTable, sub_80E1F3C
-
- .align 2
-gBattleAnimSpriteTemplate_83DB428:: @ 83DB428
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E24B8
-
- .align 2
-gSpriteAffineAnim_83DB440:: @ 83DB440
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB450:: @ 83DB450
- obj_rot_scal_anim_frame 0xD8, 0xD8, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB468:: @ 83DB468
- obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83DB480:: @ 83DB480
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83DB498:: @ 83DB498
- .4byte gSpriteAffineAnim_83DB440
- .4byte gSpriteAffineAnim_83DB450
- .4byte gSpriteAffineAnim_83DB468
- .4byte gSpriteAffineAnim_83DB480
-
- .align 2
-gBattleAnimSpriteTemplate_83DB4A8:: @ 83DB4A8
- spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0
-
- .align 2
-gBattleAnimSpriteTemplate_83DB4C0:: @ 83DB4C0
- spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2838
-
- .align 2
-gBattleAnimSpriteTemplate_83DB4D8:: @ 83DB4D8
- spr_template 10148, 10148, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0
-
- .align 2
-gBattleAnimSpriteTemplate_83DB4F0:: @ 83DB4F0
- spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2870
-
- .align 2
-gBattleAnimSpriteTemplate_83DB508:: @ 83DB508
- spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2908
-
- .align 2
-gBattleAnimSpriteTemplate_83DB520:: @ 83DB520
- spr_template 10285, 10285, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E2978
-
- .align 2
-gBattleAnimSpriteTemplate_83DB538:: @ 83DB538
- spr_template 10135, 10135, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E29C0
-
- .align 2
-gBattleAnimSpriteTemplate_83DB550:: @ 83DB550
- spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27E8
-
- .align 2
-gUnknown_083DB568:: @ 83DB568
- .incbin "baserom.gba", 0x003db568, 0x4
-
- .align 2
-gUnknown_083DB56C:: @ 83DB56C
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_80BC47C
- .4byte task00_battle_intro_80BC6C8
- .4byte task00_battle_intro_80BC6C8
- .4byte task00_battle_intro_80BC6C8
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_anim
- .4byte task_battle_intro_anim
-
- .align 2
-gUnknown_083DB594:: @ 83DB594
- .4byte sub_80E5168
- .4byte sub_80E517C
- .4byte sub_80E51C4
- .4byte sub_80E5270
-
- .align 2
-gUnknown_083DB5A4:: @ 83DB5A4
- .4byte PlayerGoSpeed0
- .4byte sub_80593C4
- .4byte sub_80593F4
-
- .align 2
-gUnknown_083DB5B0:: @ 83DB5B0
- .4byte sub_80E56F8
- .4byte sub_80E5708
- .4byte sub_80E5744
- .4byte sub_80E57BC
- .4byte sub_80E57F8
- .4byte sub_80E5834
- .4byte sub_80E5870
- .4byte sub_80E58AC
- .4byte sub_80E5920
- .4byte sub_80E5990
- .4byte sub_80E59A0
- .4byte sub_80E5A30
- .4byte sub_80E5AC0
-
- .align 2
-gUnknown_083DB5E4:: @ 83DB5E4
- .4byte CheckMovementInputAcroBikeNormal
- .4byte CheckMovementInputAcroBikeChangingDirection
- .4byte CheckMovementInputAcroBikeStandingWheelie
- .4byte CheckMovementInputAcroBikeBunnyHop
- .4byte CheckMovementInputAcroBikeMovingWheelie
- .4byte CheckMovementInputAcroBikeUnknownMode5
- .4byte CheckMovementInputAcroBikeUnknownMode6
-
- .align 1
-gUnknown_083DB600:: @ 83DB600
- .2byte 1, 2, 4
-
-Unknown_3DB606:: @ 83DB606
- .byte 4, 0
-
- .align 2
-gUnknown_083DB608:: @ 83DB608
- .4byte 0x1, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x1
- .4byte 0x2, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x2
- .4byte 0x3, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x3
- .4byte 0x4, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x4
-
- .align 1
-gMysteryEventPhrase:: @ 83DB678
- ec_word MYSTERY
- ec_word EVENT
- ec_word IS
- ec_word EXCITING
-
- .align 1
-gBerryMasterWifePhrases:: @ 83DB680
- ec_word GREAT
- ec_word BATTLE
-
- ec_word CHALLENGE
- ec_word CONTEST
-
- ec_word OVERWHELMING
- ec_pokemon1 LATIAS
-
- ec_word COOL
- ec_pokemon1 LATIOS
-
- ec_word SUPER
- ec_word HUSTLE
-
-gUnknown_083DB694:: @ 83DB694
- .4byte 0x02001000
-
-gUnknown_083DB698:: @ 83DB698
- .incbin "baserom.gba", 0x003db698, 0xc
-
-gUnknown_083DB6A4:: @ 83DB6A4
- .incbin "baserom.gba", 0x003db6a4, 0xe
-
-gUnknown_083DB6B2:: @ 83DB6B2
- .incbin "baserom.gba", 0x003db6b2, 0x42
-
- .align 2
-gUnknown_083DB6F4:: @ 83DB6F4
- .4byte OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, 0x1
- .4byte OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, 0x1
- .4byte OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, 0x1
- .4byte OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, 0x1
- .4byte OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, 0x1
- .4byte OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, 0x1
- .4byte OtherText_YourProfile, OtherText_ConfirmTrendyPage2, 0x0
- .4byte OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_MailMessage, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_NewSong, OtherText_ConfirmTrendyPage2, 0x0
- .4byte OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, 0x0
- .4byte OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, 0x1
- .4byte OtherText_HipsterPage1, OtherText_HipsterPage2, 0x1
- .4byte OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, 0x1
-
-gUnknown_083DB7C0:: @ 83DB7C0
- .incbin "baserom.gba", 0x003db7c0, 0x1c
-
- .align 2
-gUnknown_083DB7DC:: @ 83DB7DC
- .4byte 0x0200ac80
- .4byte 0x0200acc9
- .4byte 0x0200ad12
- .4byte 0x0200ad5b
-
-gUnknown_083DB7EC:: @ 83DB7EC
- .incbin "baserom.gba", 0x003db7ec, 0x8
-
-gUnknown_083DB7F4:: @ 83DB7F4
- .incbin "baserom.gba", 0x3db7f4, 0xc
-
- .align 2
-InterviewPalette_0:: @ 83DB800
- .incbin "graphics/misc/interview_pal0.gbapal"
-
- .align 2
-InterviewPalette_1:: @ 83DB820
- .incbin "graphics/misc/interview_pal1.gbapal"
-
- .align 2
-InterviewArrowTiles: @ 83DB840
- .incbin "graphics/misc/interview_arrow.4bpp"
-
- .align 2
-InterviewButtonTiles: @ 83DB940
- .incbin "graphics/misc/interview_buttons.4bpp"
-
- .align 2
-gMenuInterviewFrame_Pal::
- .incbin "graphics/misc/interview_frame.gbapal"
-
- .align 2
-gMenuInterviewFrame_Gfx::
- .incbin "graphics/misc/interview_frame.4bpp.lz"
-
- .align 2
-InterviewTriangleCursorTiles: @ 83DBB94
- .incbin "graphics/misc/interview_triangle_cursor.4bpp"
-
- .align 2
-gSpriteSheets_Interview:: @ 83DBBB4
- obj_tiles InterviewTriangleCursorTiles, 0x20, 0
- obj_tiles gInterviewOutlineCursorTiles, 0x700, 1
- obj_tiles InterviewArrowTiles, 0x100, 2
- obj_tiles InterviewButtonTiles, 0x100, 3
- null_obj_tiles
-
- .align 2
-gSpritePalettes_Interview:: @ 83DBBDC
- obj_pal InterviewPalette_0, 0
- obj_pal InterviewPalette_1, 1
- null_obj_pal
-
- .align 2
-gOamData_83DBBF4:: @ 83DBBF4
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83DBBFC:: @ 83DBBFC
- spr_template 0, 0, gOamData_83DBBF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E82BC
-
- .align 2
-gOamData_83DBC14:: @ 83DBC14
- .2byte 0x4400
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83DBC1C:: @ 83DBC1C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC24:: @ 83DBC24
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC2C:: @ 83DBC2C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC34:: @ 83DBC34
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC3C:: @ 83DBC3C
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC44:: @ 83DBC44
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC4C:: @ 83DBC4C
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC54:: @ 83DBC54
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC5C:: @ 83DBC5C
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC64:: @ 83DBC64
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC6C:: @ 83DBC6C
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBC74:: @ 83DBC74
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DBC7C:: @ 83DBC7C
- .4byte gSpriteAnim_83DBC1C
- .4byte gSpriteAnim_83DBC24
- .4byte gSpriteAnim_83DBC2C
- .4byte gSpriteAnim_83DBC34
-
- .align 2
-gSpriteAnimTable_83DBC8C:: @ 83DBC8C
- .4byte gSpriteAnim_83DBC3C
- .4byte gSpriteAnim_83DBC44
- .4byte gSpriteAnim_83DBC4C
- .4byte gSpriteAnim_83DBC54
-
- .align 2
-gSpriteAnimTable_83DBC9C:: @ 83DBC9C
- .4byte gSpriteAnim_83DBC5C
- .4byte gSpriteAnim_83DBC64
- .4byte gSpriteAnim_83DBC6C
- .4byte gSpriteAnim_83DBC74
-
- .align 2
-gSpriteTemplate_83DBCAC:: @ 83DBCAC
- spr_template 1, 1, gOamData_83DBC14, gSpriteAnimTable_83DBC7C, NULL, gDummySpriteAffineAnimTable, sub_80E85F8
-
- .align 2
-gUnknown_083DBCC4:: @ 83DBCC4
- .incbin "baserom.gba", 0x003dbcc4, 0x1c
-
- .align 2
-gOamData_83DBCE0:: @ 83DBCE0
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83DBCE8:: @ 83DBCE8
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBCF0:: @ 83DBCF0
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DBCF8:: @ 83DBCF8
- .4byte gSpriteAnim_83DBCE8
- .4byte gSpriteAnim_83DBCF0
-
-Unknown_83DBD00:
- .incbin "baserom.gba", 0x003dbd00, 0x8
-Unknown_83DBD08:
- .incbin "baserom.gba", 0x003dbd08, 0x8
-
-gUnknown_083DBD10:: @ 83DBD10
- .4byte Unknown_83DBD00
- .4byte Unknown_83DBD08
-
- .align 2
-gSpriteTemplate_83DBD18:: @ 83DBD18
- spr_template 2, 0, gOamData_83DBCE0, gSpriteAnimTable_83DBCF8, NULL, gDummySpriteAffineAnimTable, sub_80E8B78
-
- .align 2
-gUnknown_083DBD30:: @ 83DBD30
- obj_tiles gMenuInterviewFrame_Gfx, 2048, 0x0006
-
- .align 2
-gUnknown_083DBD38:: @ 83DBD38
- obj_pal gMenuInterviewFrame_Pal, 0x0004
-
- .align 2
-gOamData_83DBD40:: @ 83DBD40
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83DBD48:: @ 83DBD48
- spr_template 6, 4, gOamData_83DBD40, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083DBD60:: @ 83DBD60
- obj_tiles gMenuWordGroupIndicator_Gfx, 4096, 0x0007
-
- .align 2
-gUnknown_083DBD68:: @ 83DBD68
- obj_pal gMenuWordGroupIndicator_Pal, 0x0005
-
- .align 2
-gOamData_83DBD70:: @ 83DBD70
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83DBD78:: @ 83DBD78
- obj_image_anim_frame 96, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBD80:: @ 83DBD80
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 96, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBD94:: @ 83DBD94
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 96, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBDA8:: @ 83DBDA8
- obj_image_anim_frame 64, 2
- obj_image_anim_frame 32, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBDB4:: @ 83DBDB4
- obj_image_anim_frame 64, 2
- obj_image_anim_frame 0, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83DBDC0:: @ 83DBDC0
- obj_image_anim_frame 64, 2
- obj_image_anim_frame 96, 2
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83DBDCC:: @ 83DBDCC
- .4byte gSpriteAnim_83DBD78
- .4byte gSpriteAnim_83DBD80
- .4byte gSpriteAnim_83DBD94
- .4byte gSpriteAnim_83DBDA8
- .4byte gSpriteAnim_83DBDB4
- .4byte gSpriteAnim_83DBDC0
-
- .align 2
-gSpriteTemplate_83DBDE4:: @ 83DBDE4
- spr_template 7, 5, gOamData_83DBD70, gSpriteAnimTable_83DBDCC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083DBDFC:: @ 83DBDFC
- .incbin "baserom.gba", 0x003dbdfc, 0x20
-
-gUnknown_083DBE1C:: @ 83DBE1C
- .incbin "baserom.gba", 0x003dbe1c, 0x24
-
-gUnknown_083DBE40:: @ 83DBE40
- .incbin "baserom.gba", 0x003dbe40, 0x68
-
-gUnknown_083DBEA8:: @ 83DBEA8
- .incbin "baserom.gba", 0x003dbea8, 0x4
-
-gUnknown_083DBEAC:: @ 83DBEAC
- .incbin "baserom.gba", 0x003dbeac, 0x80
-
-@ 83DBF2C
- .include "data/text/easy_chat/group_words.inc"
-
-@ 83DE138
- .include "data/text/easy_chat/words_by_letter.inc"
-
-@ 83DEFFA
- .include "data/text/easy_chat/group_sizes.inc"
-
-@ 83DF010
- .include "data/text/easy_chat/group_orders.inc"
-
-@ 83DFE6C
- .include "data/text/easy_chat/group_name_table.inc"
-
-gUnknown_083DFEC4:: @ 83DFEC4
- .incbin "baserom.gba", 0x003dfec4, 0x4
-
-gUnknown_083DFEC8:: @ 83DFEC8
- .4byte 0x02039360
-
-gUnknown_083DFECC:: @ 83DFECC
- .incbin "baserom.gba", 0x003dfecc, 0x20
-
-gUnknown_083DFEEC:: @ 83DFEEC
- .incbin "baserom.gba", 0x003dfeec, 0xa0
-
-gUnknown_083DFF8C:: @ 83DFF8C
- .incbin "baserom.gba", 0x003dff8c, 0xb0
-
-gUnknown_083E003C:: @ 83E003C
- .incbin "baserom.gba", 0x003e003c, 0x20
-
-gUnknown_083E005C:: @ 83E005C
- .incbin "baserom.gba", 0x003e005c, 0x20
-
-gUnknown_083E007C:: @ 83E007C
- .incbin "baserom.gba", 0x003e007c, 0xa8
-
-gUnknown_083E0124:: @ 83E0124
- .incbin "baserom.gba", 0x003e0124, 0x20
-
-gUnknown_083E0144:: @ 83E0144
- .incbin "baserom.gba", 0x003e0144, 0x68
-
-gUnknown_083E01AC:: @ 83E01AC
- .incbin "baserom.gba", 0x003e01ac, 0x48
-
-gUnknown_083E01F4:: @ 83E01F4
- .incbin "baserom.gba", 0x003e01f4, 0x60
-
-gUnknown_083E0254:: @ 83E0254
- .incbin "baserom.gba", 0x003e0254, 0x20
-
-gUnknown_083E0274:: @ 83E0274
- .incbin "baserom.gba", 0x003e0274, 0x20
-
- .align 2
-gPokenavConditionSearch2_Pal:: @ 83E0294
- .incbin "graphics/pokenav/condition_search2.gbapal"
-
-gUnknown_083E02B4:: @ 83E02B4
- .incbin "baserom.gba", 0x003e02b4, 0x60
-
-gUnknown_083E0314:: @ 83E0314
- .incbin "baserom.gba", 0x003e0314, 0x20
-
- .align 2
-gUnknown_083E0334:: @ 83E0334
- .incbin "graphics/pokenav/trainereyes_misc_pal.bin" @ the original bytes have an "FF FF" instance which is incompatible with gbagfx to produce the bytes needed to match the original ROM, so I am forced to include it as a .bin until the lowest bit is properly handled or a better workaround is produced
-
- .align 2
-gUnknown_083E0354:: @ 83E0354
- .incbin "graphics/pokenav/trainereyes_misc.4bpp.lz"
-
-gUnknown_083E039C:: @ 83E039C
- .incbin "baserom.gba", 0x003e039c, 0x4
-
-gUnknown_083E03A0:: @ 83E03A0
- .incbin "baserom.gba", 0x003e03a0, 0x8
-
-gUnknown_083E03A8:: @ 83E03A8
- .incbin "baserom.gba", 0x003e03a8, 0x64
-
-gUnknown_083E040C:: @ 83E040C
- .incbin "graphics/misc/ribbons_half.4bpp.lz"
-
- .align 2
-gPokenavOutlinePalette:: @ 83E05D4
- .incbin "graphics/pokenav/outline.gbapal"
-
- .align 2
-gPokenavOutlineTiles:: @ 83E05F4
- .incbin "graphics/pokenav/outline.4bpp.lz"
-
- .align 2
-gPokenavOutlineTilemap:: @ 83E0804
- .incbin "graphics/pokenav/outline_map.bin.lz"
-
- .align 2
-gPokenavCityMap_Lavaridge_0:: @ 83E096C
- .incbin "graphics/pokenav/city_maps/lavaridge_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Fallarbor_0:: @ 83E09B0
- .incbin "graphics/pokenav/city_maps/fallarbor_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Fortree_0:: @ 83E09F8
- .incbin "graphics/pokenav/city_maps/fortree_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Slateport_0:: @ 83E0A48
- .incbin "graphics/pokenav/city_maps/slateport_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Slateport_1:: @ 83E0AA8
- .incbin "graphics/pokenav/city_maps/slateport_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Rustboro_0:: @ 83E0AF4
- .incbin "graphics/pokenav/city_maps/rustboro_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Rustboro_1:: @ 83E0B48
- .incbin "graphics/pokenav/city_maps/rustboro_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Pacifidlog_0:: @ 83E0B9C
- .incbin "graphics/pokenav/city_maps/pacifidlog_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Mauville_1:: @ 83E0BDC
- .incbin "graphics/pokenav/city_maps/mauville_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Mauville_0:: @ 83E0C34
- .incbin "graphics/pokenav/city_maps/mauville_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Oldale_0:: @ 83E0C88
- .incbin "graphics/pokenav/city_maps/oldale_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Lilycove_1:: @ 83E0CB8
- .incbin "graphics/pokenav/city_maps/lilycove_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Lilycove_0:: @ 83E0D04
- .incbin "graphics/pokenav/city_maps/lilycove_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Littleroot_0:: @ 83E0D5C
- .incbin "graphics/pokenav/city_maps/littleroot_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Dewford_0:: @ 83E0D8C
- .incbin "graphics/pokenav/city_maps/dewford_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Sootopolis_0:: @ 83E0DC4
- .incbin "graphics/pokenav/city_maps/sootopolis_0.bin.lz"
-
- .align 2
-gPokenavCityMap_EverGrande_0:: @ 83E0E04
- .incbin "graphics/pokenav/city_maps/ever_grande_0.bin.lz"
-
- .align 2
-gPokenavCityMap_EverGrande_1:: @ 83E0E4C
- .incbin "graphics/pokenav/city_maps/ever_grande_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Verdanturf_0:: @ 83E0E90
- .incbin "graphics/pokenav/city_maps/verdanturf_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Mossdeep_1:: @ 83E0EC8
- .incbin "graphics/pokenav/city_maps/mossdeep_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Mossdeep_0:: @ 83E0F10
- .incbin "graphics/pokenav/city_maps/mossdeep_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Petalburg_0:: @ 83E0F6C
- .incbin "graphics/pokenav/city_maps/petalburg_0.bin.lz"
-
-@ 83E0FC8
- .include "data/text/ribbon_descriptions.inc"
-
-@ 83E1204
- .include "data/text/gift_ribbon_descriptions.inc"
-
-@ 83E178C
- .include "data/text/trainer_eye_descriptions.inc"
-
- .align 2
-gUnknown_083E31B0:: @ 83E31B0
- .4byte PCText_CheckMap
- .4byte PCText_CheckPoke
- .4byte PCText_CheckTrainer
- .4byte PCText_CheckRibbons
- .4byte PCText_PutAwayNav
- .4byte PCText_NoRibbonWin
- .4byte PCText_NoTrainers
-
- .align 2
-gUnknown_083E31CC:: @ 83E31CC
- .4byte PCText_CheckParty
- .4byte PCText_CheckPokeAll
- .4byte PCText_ReturnToNav
-
- .align 2
-gUnknown_083E31D8:: @ 83E31D8
- .4byte PCText_FindCool
- .4byte PCText_FindBeauty
- .4byte PCText_FindCute
- .4byte PCText_FindSmart
- .4byte PCText_FindTough
- .4byte PCText_ReturnToCondition
-
- .align 2
-gPokenavCityMaps:: @ 83E31F0
- .4byte gPokenavCityMap_Littleroot_0, NULL
- .4byte gPokenavCityMap_Oldale_0, NULL
- .4byte gPokenavCityMap_Dewford_0, NULL
- .4byte gPokenavCityMap_Lavaridge_0, NULL
- .4byte gPokenavCityMap_Fallarbor_0, NULL
- .4byte gPokenavCityMap_Verdanturf_0, NULL
- .4byte gPokenavCityMap_Pacifidlog_0, NULL
- .4byte gPokenavCityMap_Petalburg_0, NULL
- .4byte gPokenavCityMap_Slateport_0, gPokenavCityMap_Slateport_1
- .4byte gPokenavCityMap_Mauville_0, gPokenavCityMap_Mauville_1
- .4byte gPokenavCityMap_Rustboro_0, gPokenavCityMap_Rustboro_1
- .4byte gPokenavCityMap_Fortree_0, NULL
- .4byte gPokenavCityMap_Lilycove_0, gPokenavCityMap_Lilycove_1
- .4byte gPokenavCityMap_Mossdeep_0, gPokenavCityMap_Mossdeep_1
- .4byte gPokenavCityMap_Sootopolis_0, NULL
- .4byte gPokenavCityMap_EverGrande_0, gPokenavCityMap_EverGrande_1
-
- .align 2
-gUnknown_083E3270:: @ 83E3270
- .4byte sub_80F0A24
- .4byte sub_80F0A24
- .4byte sub_80F0A74
-
- .align 2
-gPokenavIconPalette::
- .incbin "graphics/pokenav/icon.gbapal"
-
- .align 2
-gUnknown_083E329C:: @ 83E329C
- .incbin "graphics/pokenav/icon.4bpp.lz"
-
- .align 2
-gPokenavPokeballTiles::
- .incbin "graphics/pokenav/pokeball.4bpp"
-
- .align 2
-gUnknown_083E3780: @ 83E3780
- .incbin "baserom.gba", 0x3e3780, 0x20
-
- .align 2
-gPokenavSparkle_Pal::
- .incbin "graphics/pokenav/sparkle.gbapal"
-
- .align 2
-gPokenavSparkle_Gfx::
- .incbin "graphics/pokenav/sparkle.4bpp"
-
- .align 2
-gPokenavUpDownArrows_Gfx::
- .incbin "graphics/pokenav/arrows.4bpp"
-
-gUnknown_083E3BC0::
- .incbin "baserom.gba", 0x003E3BC0, 0x20
-
- .align 2
-gTiles_083E3BE0::
- .incbin "graphics/unknown/unknown_3E3BE0.4bpp"
-
- .align 2
-gUnknown_083E3C60:: @ 83E3C60
- .incbin "graphics/misc/ribbons_cool.gbapal"
- .incbin "graphics/misc/ribbons_beauty.gbapal"
- .incbin "graphics/misc/ribbons_cute.gbapal"
- .incbin "graphics/misc/ribbons_smart.gbapal"
- .incbin "graphics/misc/ribbons_tough.gbapal"
-
- .align 2
-gUnknown_083E3D00:: @ 83E3D00
- .incbin "graphics/misc/ribbons_full.4bpp.lz"
-
- .align 2
-PokenavBlueLightPalette:
- .incbin "graphics/pokenav/blue_light.gbapal"
-
- .align 2
-PokenavBlueLightTiles:
- .incbin "graphics/pokenav/blue_light.4bpp"
-
-Palette_3E42D8: @ 83E42D8
- .incbin "baserom.gba", 0x3e42d8, 0x20
-
-gUnknown_083E42F8:: @ 83E42F8
- .incbin "baserom.gba", 0x003e42f8, 0x20
-
- .align 2
-gOamData_83E4318:: @ 83E4318
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83E4320:: @ 83E4320
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4328:: @ 83E4328
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4330:: @ 83E4330
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4338:: @ 83E4338
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4340:: @ 83E4340
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4348:: @ 83E4348
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4350:: @ 83E4350
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4358:: @ 83E4358
- obj_image_anim_frame 56, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4360:: @ 83E4360
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4368:: @ 83E4368
- obj_image_anim_frame 72, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4370:: @ 83E4370
- obj_image_anim_frame 80, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4378:: @ 83E4378
- obj_image_anim_frame 88, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4380:: @ 83E4380
- obj_image_anim_frame 96, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4388:: @ 83E4388
- obj_image_anim_frame 104, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4390:: @ 83E4390
- obj_image_anim_frame 112, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4398:: @ 83E4398
- obj_image_anim_frame 120, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43A0:: @ 83E43A0
- obj_image_anim_frame 128, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43A8:: @ 83E43A8
- obj_image_anim_frame 136, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43B0:: @ 83E43B0
- obj_image_anim_frame 144, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43B8:: @ 83E43B8
- obj_image_anim_frame 152, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43C0:: @ 83E43C0
- obj_image_anim_frame 160, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43C8:: @ 83E43C8
- obj_image_anim_frame 168, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43D0:: @ 83E43D0
- obj_image_anim_frame 176, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43D8:: @ 83E43D8
- obj_image_anim_frame 184, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E43E0:: @ 83E43E0
- .4byte gSpriteAnim_83E4320
- .4byte gSpriteAnim_83E4328
- .4byte gSpriteAnim_83E4330
- .4byte gSpriteAnim_83E4338
- .4byte gSpriteAnim_83E4340
- .4byte gSpriteAnim_83E4348
- .4byte gSpriteAnim_83E4350
- .4byte gSpriteAnim_83E4358
- .4byte gSpriteAnim_83E4360
- .4byte gSpriteAnim_83E4368
- .4byte gSpriteAnim_83E4370
- .4byte gSpriteAnim_83E4378
- .4byte gSpriteAnim_83E4380
- .4byte gSpriteAnim_83E4388
- .4byte gSpriteAnim_83E4390
- .4byte gSpriteAnim_83E4398
- .4byte gSpriteAnim_83E43A0
- .4byte gSpriteAnim_83E43A8
- .4byte gSpriteAnim_83E43B0
- .4byte gSpriteAnim_83E43B8
- .4byte gSpriteAnim_83E43C0
- .4byte gSpriteAnim_83E43C8
- .4byte gSpriteAnim_83E43D0
- .4byte gSpriteAnim_83E43D8
-
-Unknown_83E4440:
- .incbin "baserom.gba", 0x003e4440, 0x10
-
-gUnknown_083E4450:: @ 83E4450
- .4byte Unknown_83E4440
-
- .align 2
-gSpriteTemplate_83E4454:: @ 83E4454
- spr_template 0, 0, gOamData_83E4318, gSpriteAnimTable_83E43E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteSheet_PokenavBlueLight:: @ 83E446C
- obj_tiles PokenavBlueLightTiles, 0x100, 25
-
- .align 2
-gSpritePalette_PokenavBlueLight:: @ 83E4474
- obj_pal PokenavBlueLightPalette, 17
-
- .align 2
-gOamData_83E447C:: @ 83E447C
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_83E4484:: @ 83E4484
- spr_template 25, 17, gOamData_83E447C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2654
-
-gUnknown_083E449C:: @ 83E449C
- obj_pal gPokenavMenuOptions3_Pal, 2
- obj_pal gPokenavCondition5_Pal, 3
- obj_pal 0x0, 0
-
- .align 2
-gOamData_83E44B4:: @ 83E44B4
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83E44BC:: @ 83E44BC
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E44C4:: @ 83E44C4
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E44CC:: @ 83E44CC
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E44D4:: @ 83E44D4
- .4byte gSpriteAnim_83E44BC
- .4byte gSpriteAnim_83E44C4
- .4byte gSpriteAnim_83E44CC
-
- .align 2
-gSpriteTemplate_83E44E0:: @ 83E44E0
- spr_template 1, 2, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gSpriteTemplate_83E44F8:: @ 83E44F8
- spr_template 1, 3, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gOamData_83E4510:: @ 83E4510
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83E4518:: @ 83E4518
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4520:: @ 83E4520
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E4528:: @ 83E4528
- .4byte gSpriteAnim_83E4518
- .4byte gSpriteAnim_83E4520
-
- .align 2
-gSpriteTemplate_83E4530:: @ 83E4530
- spr_template 2, 2, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gSpriteTemplate_83E4548:: @ 83E4548
- spr_template 2, 3, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gOamData_83E4560:: @ 83E4560
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gUnknown_083E4568:: @ 83E4568
- .incbin "baserom.gba", 0x003e4568, 0x8
-
- .align 2
-gSpriteTemplate_83E4570:: @ 83E4570
- spr_template 6, 6, gOamData_83E4560, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2E00
-
-gUnknown_083E4588:: @ 83E4588
- .incbin "baserom.gba", 0x003e4588, 0x8
-
- .align 2
-gUnknown_083E4590:: @ 83E4590
- obj_tiles gPokenavArrow_Gfx, 0x40, 9
- obj_tiles gPokenavUpDownArrows_Gfx, 0x80, 10
- null_obj_tiles
-
- .align 2
-gUnknown_083E45A8:: @ 83E45A8
- obj_pal gPokenavArrowsPalette, 9
-
- .align 2
-gOamData_83E45B0:: @ 83E45B0
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteTemplate_83E45B8:: @ 83E45B8
- spr_template 9, 9, gOamData_83E45B0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F3190
-
- .align 2
-gSpriteAnim_83E45D0:: @ 83E45D0
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E45D8:: @ 83E45D8
- obj_image_anim_frame 2, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E45E0:: @ 83E45E0
- .4byte gSpriteAnim_83E45D0
- .4byte gSpriteAnim_83E45D8
-
- .align 2
-gOamData_83E45E8:: @ 83E45E8
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteTemplate_83E45F0:: @ 83E45F0
- spr_template 10, 9, gOamData_83E45E8, gSpriteAnimTable_83E45E0, NULL, gDummySpriteAffineAnimTable, sub_80F31AC
-
- .align 2
-gOamData_83E4608:: @ 83E4608
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83E4610:: @ 83E4610
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4618:: @ 83E4618
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E4620:: @ 83E4620
- .4byte gSpriteAnim_83E4610
- .4byte gSpriteAnim_83E4618
-
- .align 2
-gUnknown_083E4628:: @ 83E4628
- obj_tiles gPokenavPokeballTiles, 0x100, 3
- obj_tiles gUnknown_083E3780, 0x20, 4
- obj_tiles gPokenavConditionMenuCancel_Gfx, 0x100, 5
- null_obj_tiles
-
- .align 2
-gUnknown_083E4648:: @ 83E4648
- obj_pal gPokenavConditionPokeball_Pal, 4
- obj_pal gPokenavCondition4_Pal, 5
- .space 8
-
- .align 2
-gSpriteTemplate_83E4660:: @ 83E4660
- spr_template 3, 4, gOamData_83E4608, gSpriteAnimTable_83E4620, NULL, gDummySpriteAffineAnimTable, sub_80F3328
-
-gUnknown_083E4678:: @ 83E4678
- .incbin "baserom.gba", 0x003e4678, 0x20
-
-gUnknown_083E4698:: @ 83E4698
- .incbin "baserom.gba", 0x003e4698, 0x80
-
- .align 2
-gOamData_83E4718:: @ 83E4718
- .2byte 0x0100
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteAffineAnim_83E4720:: @ 83E4720
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83E4730:: @ 83E4730
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 4
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83E4748:: @ 83E4748
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 4
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83E4760:: @ 83E4760
- .4byte gSpriteAffineAnim_83E4720
- .4byte gSpriteAffineAnim_83E4730
- .4byte gSpriteAffineAnim_83E4748
-
- .align 2
-gSpriteTemplate_83E476C:: @ 83E476C
- spr_template 11, 10, gOamData_83E4718, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83E4760, SpriteCallbackDummy
-
- .align 2
-gUnknown_083E4784:: @ 83E4784
- obj_tiles gPokenavSparkle_Gfx, 896, 0x0017
-
- .align 2
-gUnknown_083E478C:: @ 83E478C
- obj_pal gPokenavSparkle_Pal, 0x000f
-
-gUnknown_083E4794:: @ 83E4794
- .incbin "baserom.gba", 0x003e4794, 0x28
-
- .align 2
-gOamData_83E47BC:: @ 83E47BC
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83E47C4:: @ 83E47C4
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 12, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 20, 5
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E47E4:: @ 83E47E4
- .4byte gSpriteAnim_83E47C4
- .4byte gSpriteAnim_83E47C4 + 0x8
- .4byte gSpriteAnim_83E47C4 + 0x10
- .4byte gSpriteAnim_83E47C4 + 0x18
-
- @ unused?
- .4byte gSpriteAnim_83E47C4 + 0x20
- .4byte gSpriteAnim_83E47C4 + 0x28
- .4byte gSpriteAnim_83E47C4 + 0x30
-
- .align 2
-gSpriteTemplate_83E4800:: @ 83E4800
- spr_template 23, 15, gOamData_83E47BC, gSpriteAnimTable_83E47E4, NULL, gDummySpriteAffineAnimTable, sub_80F3E9C
-
- .align 2
-gUnknown_083E4818:: @ 83E4818
- obj_pal gPokenavIconPalette, 16
-
- .align 2
-gSpriteAnim_83E4820:: @ 83E4820
- obj_image_anim_frame 0, 12
- obj_image_anim_frame 16, 12
- obj_image_anim_frame 32, 12
- obj_image_anim_frame 48, 12
- obj_image_anim_frame 64, 12
- obj_image_anim_frame 80, 12
- obj_image_anim_frame 96, 12
- obj_image_anim_frame 112, 12
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83E4844:: @ 83E4844
- .4byte gSpriteAnim_83E4820
-
- .align 2
-gOamData_83E4848:: @ 83E4848
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83E4850:: @ 83E4850
- spr_template 24, 16, gOamData_83E4848, gSpriteAnimTable_83E4844, NULL, gDummySpriteAffineAnimTable, sub_80F4138
-
- .align 2
-gUnknown_083E4868:: @ 83E4868
- obj_pal Palette_3E42D8, 18
-
- .align 2
-gOamData_83E4870:: @ 83E4870
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0C00
-
- .align 2
-gSpriteTemplate_83E4878:: @ 83E4878
- spr_template 26, 18, gOamData_83E4870, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083E4890:: @ 83E4890
- .incbin "baserom.gba", 0x003e4890, 0x100
-
-gUnknown_083E4990:: @ 83E4990
- .incbin "baserom.gba", 0x003e4990, 0xc
-
-gUnknown_083E499C:: @ 83E499C
- .incbin "baserom.gba", 0x003e499c, 0x24
-
-gUnknown_083E49C0:: @ 83E49C0
- .incbin "baserom.gba", 0x003e49c0, 0x34
-
- .align 2
-gUnknown_083E49F4:: @ 83E49F4
- .incbin "graphics/misc/mon_markings.gbapal"
-
- .align 2
-gUnknown_083E4A14:: @ 83E4A14
- .incbin "graphics/misc/mon_markings.4bpp"
-
-gUnknown_083E5214:: @ 83E5214
- .incbin "baserom.gba", 0x003e5214, 0x8
-
-gUnknown_083E521C:: @ 83E521C
- .space 8
-
- .align 2
-gSpriteAnim_83E5224:: @ 83E5224
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E522C:: @ 83E522C
- obj_image_anim_frame 1, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5234:: @ 83E5234
- obj_image_anim_frame 2, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E523C:: @ 83E523C
- obj_image_anim_frame 3, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5244:: @ 83E5244
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E524C:: @ 83E524C
- obj_image_anim_frame 5, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5254:: @ 83E5254
- obj_image_anim_frame 6, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E525C:: @ 83E525C
- obj_image_anim_frame 7, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5264:: @ 83E5264
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E526C:: @ 83E526C
- obj_image_anim_frame 9, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E5274:: @ 83E5274
- .4byte gSpriteAnim_83E5224
- .4byte gSpriteAnim_83E522C
- .4byte gSpriteAnim_83E5234
- .4byte gSpriteAnim_83E523C
- .4byte gSpriteAnim_83E5244
- .4byte gSpriteAnim_83E524C
- .4byte gSpriteAnim_83E5254
- .4byte gSpriteAnim_83E525C
- .4byte gSpriteAnim_83E5264
- .4byte gSpriteAnim_83E526C
-
- .align 2
-gSpriteAnim_83E529C:: @ 83E529C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52A4:: @ 83E52A4
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E52AC:: @ 83E52AC
- .4byte gSpriteAnim_83E529C
- .4byte gSpriteAnim_83E52A4
-
-gUnknown_083E52B4:: @ 83E52B4
- .incbin "baserom.gba", 0x003E52B4, 0x8
-
- .align 2
-gSpriteAnim_83E52BC:: @ 83E52BC
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52C4:: @ 83E52C4
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52CC:: @ 83E52CC
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52D4:: @ 83E52D4
- obj_image_anim_frame 12, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52DC:: @ 83E52DC
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52E4:: @ 83E52E4
- obj_image_anim_frame 20, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52EC:: @ 83E52EC
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52F4:: @ 83E52F4
- obj_image_anim_frame 28, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E52FC:: @ 83E52FC
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5304:: @ 83E5304
- obj_image_anim_frame 36, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E530C:: @ 83E530C
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5314:: @ 83E5314
- obj_image_anim_frame 44, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E531C:: @ 83E531C
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5324:: @ 83E5324
- obj_image_anim_frame 52, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E532C:: @ 83E532C
- obj_image_anim_frame 56, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5334:: @ 83E5334
- obj_image_anim_frame 60, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E533C:: @ 83E533C
- .4byte gSpriteAnim_83E52BC
- .4byte gSpriteAnim_83E52C4
- .4byte gSpriteAnim_83E52CC
- .4byte gSpriteAnim_83E52D4
- .4byte gSpriteAnim_83E52DC
- .4byte gSpriteAnim_83E52E4
- .4byte gSpriteAnim_83E52EC
- .4byte gSpriteAnim_83E52F4
- .4byte gSpriteAnim_83E52FC
- .4byte gSpriteAnim_83E5304
- .4byte gSpriteAnim_83E530C
- .4byte gSpriteAnim_83E5314
- .4byte gSpriteAnim_83E531C
- .4byte gSpriteAnim_83E5324
- .4byte gSpriteAnim_83E532C
- .4byte gSpriteAnim_83E5334
-
-gUnknown_083E537C:: @ 83E537C
- .incbin "baserom.gba", 0x003e537c, 0xc
-
- .align 2
-gUnknown_083E5388:: @ 83E5388
- .4byte OtherText_SoPretty
- .4byte OtherText_SoDarling
- .4byte OtherText_SoRelaxed
- .4byte OtherText_SoSunny
- .4byte OtherText_SoDesirable
- .4byte OtherText_SoExciting
- .4byte OtherText_SoAmusing
- .4byte OtherText_SoMagical
-
- .align 2
-gUnknown_083E53A8:: @ 83E53A8
- .4byte OtherText_WantVacationNicePlace
- .4byte OtherText_BoughtCrayonsIsNice
- .4byte OtherText_IfWeCouldFloat
- .4byte OtherText_SandWashesAwayMakeSad
- .4byte OtherText_WhatsBottomSeaLike
- .4byte OtherText_SeeSettingSun
- .4byte OtherText_LyingInGreenGrass
- .4byte OtherText_SecretBasesWonderful
-
-gUnknown_083E53C8:: @ 83E53C8
- .incbin "baserom.gba", 0x003e53c8, 0x18
-
- .align 2
-gUnknown_083E53E0:: @ 83E53E0
- .4byte 0x132, UnknownString_81AEFFC, UnknownString_81AF013, UnknownString_81AF022
- .4byte 0x102, UnknownString_81AF0A3, UnknownString_81AF0BB, UnknownString_81AF0CA
- .4byte 0x103, UnknownString_81AF149, UnknownString_81AF164, UnknownString_81AF174
- .4byte 0x104, UnknownString_81AF1E5, UnknownString_81AF1FD, UnknownString_81AF20A
- .4byte 0x106, UnknownString_81AF281, UnknownString_81AF299, UnknownString_81AF2A9
- .4byte 0x109, UnknownString_81AF32C, UnknownString_81AF345, UnknownString_81AF34D
- .4byte 0x10b, UnknownString_81AF3D0, UnknownString_81AF3ED, UnknownString_81AF3FC
- .4byte 0x10c, UnknownString_81AF46D, UnknownString_81AF481, UnknownString_81AF49B
- .4byte 0x10d, UnknownString_81AF511, UnknownString_81AF529, UnknownString_81AF536
- .4byte 0x10e, UnknownString_81AF5A9, UnknownString_81AF5BD, UnknownString_81AF5CD
- .4byte 0x10f, UnknownString_81AF63F, UnknownString_81AF661, UnknownString_81AF676
- .4byte 0x110, UnknownString_81AF711, UnknownString_81AF726, UnknownString_81AF73D
- .4byte 0x111, UnknownString_81AF7BF, UnknownString_81AF7D9, UnknownString_81AF7F1
- .4byte 0x112, UnknownString_81AF88A, UnknownString_81AF8A1, UnknownString_81AF8AA
- .4byte 0x113, UnknownString_81AF91B, UnknownString_81AF935, UnknownString_81AF943
- .4byte 0x114, UnknownString_81AF9C8, UnknownString_81AF9E0, UnknownString_81AF9F6
- .4byte 0x11a, UnknownString_81AFA79, UnknownString_81AFA92, UnknownString_81AFA9E
- .4byte 0x11b, UnknownString_81AFB17, UnknownString_81AFB2D, UnknownString_81AFB48
- .4byte 0x11c, UnknownString_81AFBD8, UnknownString_81AFBE7, UnknownString_81AFC04
- .4byte 0x21d, UnknownString_81AFC8A, UnknownString_81AFC9D, UnknownString_81AFCBE
- .4byte 0x11e, UnknownString_81AFD44, UnknownString_81AFD60, UnknownString_81AFD80
- .4byte 0x121, UnknownString_81AFE1D, UnknownString_81AFE36, UnknownString_81AFE42
- .4byte 0x124, UnknownString_81AFEC2, UnknownString_81AFEDD, UnknownString_81AFEEE
- .4byte 0x125, UnknownString_81AFF68, UnknownString_81AFF7B, UnknownString_81AFF88
- .4byte 0x126, UnknownString_81AFFFB, UnknownString_81B000D, UnknownString_81B0015
- .4byte 0x127, UnknownString_81B009D, UnknownString_81B00B6, UnknownString_81B00C9
- .4byte 0x128, UnknownString_81B014D, UnknownString_81B0165, UnknownString_81B0173
- .4byte 0x129, UnknownString_81B01E9, UnknownString_81B0201, UnknownString_81B0213
- .4byte 0x12a, UnknownString_81B0290, UnknownString_81B02A5, UnknownString_81B02B6
- .4byte 0x12b, UnknownString_81B0337, UnknownString_81B0351, UnknownString_81B0364
- .4byte 0x12c, UnknownString_81B03E9, UnknownString_81B0401, UnknownString_81B040C
- .4byte 0x12d, UnknownString_81B046E, UnknownString_81B0489, UnknownString_81B049A
- .4byte 0x12e, UnknownString_81B0523, UnknownString_81B053E, UnknownString_81B0554
- .4byte 0x12f, UnknownString_81B05D8, UnknownString_81B05F3, UnknownString_81B0610
- .4byte 0x130, UnknownString_81B06A9, UnknownString_81B06C6, UnknownString_81B06D9
-
-gUnknown_083E5610:: @ 83E5610
- .4byte 0x131, UnknownString_81B0763, UnknownString_81B0781, UnknownString_81B0797
-
-gUnknown_083E5620:: @ 83E5620
- .incbin "baserom.gba", 0x003e5620, 0xc
-
-gUnknown_083E562C:: @ 83E562C
- .incbin "baserom.gba", 0x003e562c, 0x8
-
- .align 2
-gMailGraphicsTable:: @ 83E5634
- .4byte gMailPalette_Orange
- .4byte gMailTiles_Orange
- .4byte gMailTilemap_Orange
- .2byte 0x2C0
- .2byte 0
- .2byte 0x294A
- .2byte 0x6739
-
- .4byte gMailPalette_Harbor
- .4byte gMailTiles_Harbor
- .4byte gMailTilemap_Harbor
- .2byte 0x2E0
- .2byte 0
- .2byte 0x7FFF
- .2byte 0x4631
-
- .4byte gMailPalette_Glitter
- .4byte gMailTiles_Glitter
- .4byte gMailTilemap_Glitter
- .2byte 0x400
- .2byte 0
- .2byte 0x294A
- .2byte 0x6739
-
- .4byte gMailPalette_Mech
- .4byte gMailTiles_Mech
- .4byte gMailTilemap_Mech
- .2byte 0x1E0
- .2byte 0
- .2byte 0x7FFF
- .2byte 0x4631
-
- .4byte gMailPalette_Wood
- .4byte gMailTiles_Wood
- .4byte gMailTilemap_Wood
- .2byte 0x2E0
- .2byte 0
- .2byte 0x7FFF
- .2byte 0x4631
-
- .4byte gMailPalette_Wave
- .4byte gMailTiles_Wave
- .4byte gMailTilemap_Wave
- .2byte 0x300
- .2byte 0
- .2byte 0x294A
- .2byte 0x6739
-
- .4byte gMailPalette_Bead
- .4byte gMailTiles_Bead
- .4byte gMailTilemap_Bead
- .2byte 0x140
- .2byte 0
- .2byte 0x7FFF
- .2byte 0x4631
-
- .4byte gMailPalette_Shadow
- .4byte gMailTiles_Shadow
- .4byte gMailTilemap_Shadow
- .2byte 0x300
- .2byte 0
- .2byte 0x7FFF
- .2byte 0x4631
-
- .4byte gMailPalette_Tropic
- .4byte gMailTiles_Tropic
- .4byte gMailTilemap_Tropic
- .2byte 0x220
- .2byte 0
- .2byte 0x294A
- .2byte 0x6739
-
- .4byte gMailPalette_Dream
- .4byte gMailTiles_Dream
- .4byte gMailTilemap_Dream
- .2byte 0x340
- .2byte 0
- .2byte 0x294A
- .2byte 0x6739
-
- .4byte gMailPalette_Fab
- .4byte gMailTiles_Fab
- .4byte gMailTilemap_Fab
- .2byte 0x2A0
- .2byte 0
- .2byte 0x294A
- .2byte 0x6739
-
- .4byte gMailPalette_Retro
- .4byte gMailTiles_Retro
- .4byte gMailTilemap_Retro
- .2byte 0x520
- .2byte 0
- .2byte 0x294A
- .2byte 0x6739
-
- .align 2
-Unknown_3E5724: @ 83E5724
- .incbin "baserom.gba", 0x3e5724, 0xc
-
-gUnknown_083E5730:: @ 83E5730
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 16, 27, 52
- .4byte Unknown_3E5724
- .byte 3, 15, 27, 52
- .4byte Unknown_3E5724
-
- .align 2
-Unknown_3E5790: @ 83E5790
- .incbin "baserom.gba", 0x3e5790, 0x14
-
- .align 2
-gUnknown_083E57A4:: @ 83E57A4
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 16, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 16, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 16, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 16, 15, 52
- .4byte Unknown_3E5790
- .byte 5, 15, 15, 52
- .4byte Unknown_3E5790
-
- .align 2
- .incbin "baserom.gba", 0x3e5804, 0x4
-
- .align 2
-gSpriteImage_83E5808:: @ 83E5808
- .incbin "graphics/unknown_sprites/83E59A0/0.4bpp"
-
- .align 2
-gSpriteImage_83E5848:: @ 83E5848
- .incbin "graphics/unknown_sprites/83E59A0/1.4bpp"
-
- .align 2
-gSpriteImage_83E5888:: @ 83E5888
- .incbin "graphics/unknown_sprites/83E59B0/0.4bpp"
-
- .align 2
-gSpriteImage_83E58C8:: @ 83E58C8
- .incbin "graphics/unknown_sprites/83E59B0/1.4bpp"
-
- .align 2
-gSpriteImage_83E5908:: @ 83E5908
- .incbin "graphics/unknown_sprites/83E59C0/0.4bpp"
-
- .align 2
-gSpriteImage_83E5928:: @ 83E5928
- .incbin "graphics/unknown_sprites/83E59C0/1.4bpp"
-
- .align 2
-Palette_3E5948: @ 83E5948
- .incbin "baserom.gba", 0x3e5948, 0x20
-
- .align 2
-gUnknown_083E5968:: @ 83E5968
- obj_pal Palette_3E5948, 6
-
- .align 2
-gOamData_83E5970:: @ 83E5970
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0001
-
- .align 2
-gOamData_83E5978:: @ 83E5978
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0001
-
- .align 2
-gOamData_83E5980:: @ 83E5980
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0001
-
- .align 2
-gSpriteAnim_83E5988:: @ 83E5988
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E5990:: @ 83E5990
- obj_image_anim_frame 1, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E5998:: @ 83E5998
- .4byte gSpriteAnim_83E5988
- .4byte gSpriteAnim_83E5990
-
- .align 2
-gSpriteImageTable_83E59A0:: @ 83E59A0
- obj_frame_tiles gSpriteImage_83E5808, 0x40
- obj_frame_tiles gSpriteImage_83E5848, 0x40
-
- .align 2
-gSpriteImageTable_83E59B0:: @ 83E59B0
- obj_frame_tiles gSpriteImage_83E5888, 0x40
- obj_frame_tiles gSpriteImage_83E58C8, 0x40
-
- .align 2
-gSpriteImageTable_83E59C0:: @ 83E59C0
- obj_frame_tiles gSpriteImage_83E5908, 0x20
- obj_frame_tiles gSpriteImage_83E5928, 0x20
-
- .align 2
-gSpriteTemplate_83E59D0:: @ 83E59D0
- spr_template 0xFFFF, 6, gOamData_83E5978, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59A0, gDummySpriteAffineAnimTable, sub_80F9834
-
- .align 2
-gSpriteTemplate_83E59E8:: @ 83E59E8
- spr_template 0xFFFF, 6, gOamData_83E5980, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59B0, gDummySpriteAffineAnimTable, sub_80F9834
-
- .align 2
-gSpriteTemplate_83E5A00:: @ 83E5A00
- spr_template 0xFFFF, 6, gOamData_83E5970, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083E5A18:: @ 83E5A18
- .string "{PALETTE 0}$"
-
-gUnknown_083E5A1C:: @ 83E5A1C
- .string "▶$"
-
- .align 2
-gHealLocations:: @ 83E5A20
- heal_location LittlerootTown_BrendansHouse_2F, 4, 2
- heal_location LittlerootTown_MaysHouse_2F, 4, 2
- heal_location PetalburgCity, 20, 17
- heal_location SlateportCity, 19, 20
- heal_location MauvilleCity, 22, 6
- heal_location RustboroCity, 16, 39
- heal_location FortreeCity, 5, 7
- heal_location LilycoveCity, 24, 15
- heal_location MossdeepCity, 28, 17
- heal_location SootopolisCity, 43, 32
- heal_location EverGrandeCity, 27, 49
- heal_location LittlerootTown, 5, 9
- heal_location LittlerootTown, 14, 9
- heal_location OldaleTown, 6, 17
- heal_location DewfordTown, 2, 11
- heal_location LavaridgeTown, 9, 7
- heal_location FallarborTown, 14, 8
- heal_location VerdanturfTown, 16, 4
- heal_location PacifidlogTown, 8, 16
- heal_location EverGrandeCity, 18, 6
- heal_location BattleTower_Outside, 14, 9
- heal_location SouthernIsland_Exterior, 15, 20
-
- .align 2
-gPokenavCursor_Pal::
- .incbin "graphics/pokenav/cursor.gbapal"
-
- .align 2
-gUnknown_083E5AF0:: @ 83E5AF0
- .incbin "graphics/pokenav/cursor_small.4bpp.lz"
-
- .align 2
-gUnknown_083E5B34:: @ 83E5B34
- .incbin "graphics/pokenav/cursor_large.4bpp.lz"
-
- .align 2
-gRegionMapBrendanIconPalette:: @ 83E5C20
- .incbin "graphics/pokenav/brendan_icon.gbapal"
-
- .align 2
-gRegionMapBrendanIconTiles:: @ 83E5C40
- .incbin "graphics/pokenav/brendan_icon.4bpp"
-
- .align 2
-gRegionMapMayIconPalette:: @ 83E5CC0
- .incbin "graphics/pokenav/may_icon.gbapal"
-
- .align 2
-gRegionMapMayIconTiles:: @ 83E5CE0
- .incbin "graphics/pokenav/may_icon.4bpp"
-
- .align 2
-gUnknown_083E5D60:: @ 83E5D60
- .incbin "graphics/pokenav/region_map.gbapal", 0xE0, 0x40
-
- .align 2
-gUnknown_083E5DA0:: @ 83E5DA0
- .incbin "graphics/pokenav/region_map.8bpp.lz"
-
- .align 2
-gUnknown_083E6B04:: @ 83E6B04
- .incbin "graphics/pokenav/region_map_map.bin.lz"
-
-@ 83E6E50
- .include "data/region_map_sections.inc"
-
-@ 83E6FF4
- .include "data/region_map_locations.inc"
-
-gUnknown_083E7684:: @ 83E7684
- .incbin "baserom.gba", 0x003e7684, 0x34
-
- .align 2
-gOamData_83E76B8:: @ 83E76B8
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83E76C0:: @ 83E76C0
- obj_image_anim_frame 0, 20
- obj_image_anim_frame 4, 20
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83E76CC:: @ 83E76CC
- obj_image_anim_frame 0, 10
- obj_image_anim_frame 16, 10
- obj_image_anim_frame 32, 10
- obj_image_anim_frame 16, 10
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83E76E0:: @ 83E76E0
- .4byte gSpriteAnim_83E76C0
- .4byte gSpriteAnim_83E76CC
-
- .align 2
-gUnknown_083E76E8:: @ 83E76E8
- obj_pal gPokenavCursor_Pal, 0x0000
-
- .align 2
-gSpriteTemplate_83E76F0:: @ 83E76F0
- spr_template 0, 0, gOamData_83E76B8, gSpriteAnimTable_83E76E0, NULL, gDummySpriteAffineAnimTable, sub_80FBAF0
-
-gUnknown_083E7708:: @ 83E7708
- .incbin "baserom.gba", 0x003e7708, 0x8
-
-Unknown_83E7710:
- .incbin "baserom.gba", 0x003e7710, 0x8
-
-gUnknown_083E7718:: @ 83E7718
- .4byte Unknown_83E7710
-
-gUnknown_083E771C:: @ 83E771C
- .incbin "graphics/pokenav/map_frame.gbapal"
-
-gUnknown_083E773C:: @ 83E773C
- .incbin "graphics/pokenav/map_frame.4bpp.lz"
-
-gUnknown_083E7774:: @ 83E7774
- .incbin "baserom.gba", 0x003e7774, 0xb8
-
- .align 2
-gPokenavMapMisc_Pal::
- .incbin "graphics/pokenav/map_misc.gbapal"
-
-gUnknown_083E784C:: @ 83E784C
- .incbin "graphics/pokenav/map_misc.4bpp.lz"
-
-gUnknown_083E7920:: @ 83E7920
- .incbin "baserom.gba", 0x3e7920, 0x98
-
- .align 2
-Unknown_3E79B8: @ 83E79B8
- .4byte OtherText_PokeLeague
- .4byte OtherText_PokeCenter
-
- .align 2
-gUnknown_083E79C0:: @ 83E79C0
- .4byte Unknown_3E79B8
- .incbin "baserom.gba", 0x3e79c4, 0x8
-
- .align 2
-gUnknown_083E79CC:: @ 83E79CC
- obj_pal gPokenavMapMisc_Pal, 0x0002
-
- .align 2
-gUnknown_083E79D4:: @ 83E79D4
- .incbin "baserom.gba", 0x003e79d4, 0x8
-
- .align 2
-gOamData_83E79DC:: @ 83E79DC
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83E79E4:: @ 83E79E4
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E79EC:: @ 83E79EC
- obj_image_anim_frame 1, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E79F4:: @ 83E79F4
- obj_image_anim_frame 3, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E79FC:: @ 83E79FC
- obj_image_anim_frame 5, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E7A04:: @ 83E7A04
- obj_image_anim_frame 6, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E7A0C:: @ 83E7A0C
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E7A14:: @ 83E7A14
- obj_image_anim_frame 10, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E7A1C:: @ 83E7A1C
- .4byte gSpriteAnim_83E79E4
- .4byte gSpriteAnim_83E79EC
- .4byte gSpriteAnim_83E79F4
- .4byte gSpriteAnim_83E79FC
- .4byte gSpriteAnim_83E7A04
- .4byte gSpriteAnim_83E7A0C
- .4byte gSpriteAnim_83E7A14
-
- .align 2
-gSpriteTemplate_83E7A38:: @ 83E7A38
- spr_template 2, 2, gOamData_83E79DC, gSpriteAnimTable_83E7A1C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-@ 83E7A50
- .include "data/cute_sketch.inc"
-
-@ 83E9FD0
- .include "data/decorations.inc"
-
- .align 2
-gUnknown_083EC5E4:: @ 83EC5E4
- .4byte SecretBaseText_Desk
- .4byte SecretBaseText_Chair
- .4byte SecretBaseText_Plant
- .4byte SecretBaseText_Ornament
- .4byte SecretBaseText_Mat
- .4byte SecretBaseText_Poster
- .4byte SecretBaseText_Doll
- .4byte SecretBaseText_Cushion
-
- .align 2
-gUnknown_083EC604:: @ 83EC604
- .4byte SecretBaseText_Decorate, sub_80FF160
- .4byte SecretBaseText_PutAway, sub_8100A0C
- .4byte SecretBaseText_Toss, sub_8101700
- .4byte gUnknownText_Exit, gpu_pal_decompress_alloc_tag_and_upload
-
- .align 2
-gUnknown_083EC624:: @ 83EC624
- .4byte SecretBaseText_PutOutDecor
- .4byte SecretBaseText_StoreChosenDecor
- .4byte SecretBaseText_ThrowAwayDecor
- .4byte gMenuText_GoBackToPrev
-
- .align 2
-gUnknown_083EC634:: @ 83EC634
- .4byte sub_80FF5BC
- .4byte sub_80FF058
- .4byte sub_81017A0
- .4byte sub_80FF058
- .4byte sub_81017A0
- .4byte sub_80FF058
- .4byte sub_8109D04
- .4byte sub_80FF058
-
-gUnknown_083EC654:: @ 83EC654
- .incbin "baserom.gba", 0x003ec654, 0x6
-
-gUnknown_083EC65A:: @ 83EC65A
- .incbin "baserom.gba", 0x3ec65a, 0x6
-
-Unknown_3EC660: @ 83EC660
- .incbin "baserom.gba", 0x3ec660, 0x4
-
-Unknown_3EC664: @ 83EC664
- .incbin "baserom.gba", 0x3ec664, 0xc
-
-Unknown_3EC670: @ 83EC670
- .incbin "baserom.gba", 0x3ec670, 0x10
-
-Unknown_3EC680: @ 83EC680
- .incbin "baserom.gba", 0x3ec680, 0xc
-
-Unknown_3EC68C: @ 83EC68C
- .incbin "baserom.gba", 0x3ec68c, 0x8
-
-Unknown_3EC694: @ 83EC694
- .incbin "baserom.gba", 0x3ec694, 0x20
-
-Unknown_3EC6B4: @ 83EC6B4
- .incbin "baserom.gba", 0x3ec6b4, 0x24
-
-Unknown_3EC6D8: @ 83EC6D8
- .incbin "baserom.gba", 0x3ec6d8, 0x18
-
-Unknown_3EC6F0: @ 83EC6F0
- .incbin "baserom.gba", 0x3ec6f0, 0x4
-
-Unknown_3EC6F4: @ 83EC6F4
- .incbin "baserom.gba", 0x3ec6f4, 0x8
-
-Unknown_3EC6FC: @ 83EC6FC
- .incbin "baserom.gba", 0x3ec6fc, 0xc
-
-Unknown_3EC708: @ 83EC708
- .incbin "baserom.gba", 0x3ec708, 0x20
-
-Unknown_3EC728: @ 83EC728
- .incbin "baserom.gba", 0x3ec728, 0x10
-
-Unknown_3EC738: @ 83EC738
- .incbin "baserom.gba", 0x3ec738, 0x8
-
-Unknown_3EC740: @ 83EC740
- .incbin "baserom.gba", 0x3ec740, 0xc
-
-Unknown_3EC74C: @ 83EC74C
- .incbin "baserom.gba", 0x3ec74c, 0x20
-
-Unknown_3EC76C: @ 83EC76C
- .incbin "baserom.gba", 0x3ec76c, 0x24
-
-Unknown_3EC790: @ 83EC790
- .incbin "baserom.gba", 0x3ec790, 0x18
-
-Unknown_3EC7A8: @ 83EC7A8
- .incbin "baserom.gba", 0x3ec7a8, 0x4
-
-Unknown_3EC7AC: @ 83EC7AC
- .incbin "baserom.gba", 0x3ec7ac, 0x8
-
-Unknown_3EC7B4: @ 83EC7B4
- .incbin "baserom.gba", 0x3ec7b4, 0xc
-
-Unknown_3EC7C0: @ 83EC7C0
- .incbin "baserom.gba", 0x3ec7c0, 0x20
-
-Unknown_3EC7E0: @ 83EC7E0
- .incbin "baserom.gba", 0x3ec7e0, 0x10
-
-Unknown_3EC7F0: @ 83EC7F0
- .incbin "baserom.gba", 0x3ec7f0, 0x8
-
-Unknown_3EC7F8: @ 83EC7F8
- .incbin "baserom.gba", 0x3ec7f8, 0xc
-
-Unknown_3EC804: @ 83EC804
- .incbin "baserom.gba", 0x3ec804, 0x20
-
-Unknown_3EC824: @ 83EC824
- .incbin "baserom.gba", 0x3ec824, 0x24
-
-Unknown_3EC848: @ 83EC848
- .incbin "baserom.gba", 0x3ec848, 0x18
-
- .align 2
-gUnknown_083EC860:: @ 83EC860
- .4byte Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4
- .4byte Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8
- .4byte Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc
- .4byte Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20
- .4byte Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10
- .4byte Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8
- .4byte Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc
- .4byte Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20
- .4byte Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24
- .4byte Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18
-
-gUnknown_083EC900:: @ 83EC900
- .incbin "baserom.gba", 0x3ec900, 0x28
-
- .align 2
-gSpriteAnim_83EC928:: @ 83EC928
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83EC930:: @ 83EC930
- .4byte gSpriteAnim_83EC928
-
- .align 2
-gSpriteImageTable_83EC934: @ 83EC934
- obj_frame_tiles 0x02038984, 0x800
-
- .align 2
-gSpriteTemplate_83EC93C:: @ 83EC93C
- spr_template 0xFFFF, 3000, 0x20391AC, gSpriteAnimTable_83EC930, gSpriteImageTable_83EC934, gDummySpriteAffineAnimTable, sub_81009A8
-
- .align 2
-gUnknown_083EC954:: @ 83EC954
- obj_pal 0x02039184, 3000
-
- .align 2
-gUnknown_083EC95C:: @ 83EC95C
- .4byte sub_81000C4
- .4byte sub_810065C
-
- .align 2
-gUnknown_083EC964:: @ 83EC964
- .4byte sub_810026C
- .4byte sub_810065C
-
- .align 2
-gUnknown_083EC96C:: @ 83EC96C
- .4byte sub_80FFAB0
- .4byte sub_80FFB08
- .4byte sub_8100F88
- .4byte sub_8100FB4
-
-gUnknown_083EC97C:: @ 83EC97C
- .incbin "baserom.gba", 0x003ec97c, 0x8
-
-gUnknown_083EC984:: @ 83EC984
- .incbin "baserom.gba", 0x003ec984, 0x8
-
- .align 2
-gUnknown_083EC98C::
- .incbin "baserom.gba", 0x003ec98c, 0x20
-
- .align 2
-Unknown_3EC9AC: @ 83EC9AC
- .incbin "baserom.gba", 0x3ec9ac, 0x20
-
- .align 2
-gUnknown_083EC9CC:: @ 83EC9CC
- .4byte sub_810153C
- .4byte sub_8100EEC
-
- .align 2
-gUnknown_083EC9D4:: @ 83EC9D4
- .4byte sub_8101590
- .4byte sub_8100EEC
-
- .align 2
-gSpriteImage_83EC9DC:: @ 83EC9DC
- .incbin "graphics/unknown_sprites/83EC9DC.4bpp"
-
- .align 2
-gUnknown_083ECA5C:: @ 83ECA5C
- obj_pal gUnknown_083EC98C, 0x0008
-
- .align 2
-gUnknown_083ECA64:: @ 83ECA64
- obj_pal Unknown_3EC9AC, 0x0008
-
- .align 2
-gOamData_83ECA6C:: @ 83ECA6C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83ECA74:: @ 83ECA74
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83ECA7C:: @ 83ECA7C
- .4byte gSpriteAnim_83ECA74
-
- .align 2
-gSpriteImageTable_83ECA80:: @ 83ECA80
- obj_frame_tiles gSpriteImage_83EC9DC, 0x80
-
- .align 2
-gSpriteTemplate_83ECA88:: @ 83ECA88
- spr_template 0xFFFF, 8, gOamData_83ECA6C, gSpriteAnimTable_83ECA7C, gSpriteImageTable_83ECA80, gDummySpriteAffineAnimTable, sub_8101698
-
- .align 2
-gUnknown_083ECAA0:: @ 83ECAA0
- .4byte sub_8101848
- .4byte sub_80FED3C
-
- .incbin "baserom.gba", 0x003ecaa8, 0x4
-
- .align 2
-gUnknown_083ECAAC:: @ 83ECAAC
- .4byte sub_8101D5C
- .4byte sub_8101D8C
- .4byte sub_8101DB0
- .4byte sub_8101DF4
- .4byte sub_8101E10
- .4byte sub_8101E3C
- .4byte sub_8101F44
- .4byte sub_8101F60
- .4byte sub_8101F88
- .4byte sub_8101FA4
- .4byte sub_8102008
- .4byte sub_8102034
- .4byte sub_8102058
- .4byte sub_8102090
- .4byte sub_81020C8
- .4byte sub_81021E0
- .4byte sub_81021FC
- .4byte sub_8102264
- .4byte sub_81022A0
- .4byte sub_81022CC
- .4byte sub_81022F0
- .4byte sub_8102318
- .4byte sub_8102344
- .4byte sub_810239C
- .4byte sub_81023B8
- .4byte sub_81023E0
- .4byte sub_81023FC
- .4byte sub_8102424
- .4byte sub_8102460
-
- .align 2
-gUnknown_083ECB20:: @ 83ECB20
- .4byte sub_8102A9C
- .4byte sub_8102AD0
- .4byte sub_8102B80
-
- .align 2
-gUnknown_083ECB2C:: @ 83ECB2C
- .4byte sub_8102EA0
- .4byte sub_8102EA4
- .4byte sub_8102EC0
- .4byte sub_8102F4C
- .4byte sub_8103008
-
- .align 2
-gUnknown_083ECB40:: @ 83ECB40
- .4byte sub_810305C
- .4byte sub_81032C0
- .4byte sub_81033DC
-
- .align 2
-gUnknown_083ECB4C:: @ 83ECB4C
- .4byte sub_81034F4
- .4byte sub_8103540
- .4byte sub_810380C
-
-gUnknown_083ECB58:: @ 83ECB58
- .incbin "baserom.gba", 0x003ecb58, 0xc
-
- .align 2
-gUnknown_083ECB64:: @ 83ECB64
- .4byte sub_8103154
- .4byte sub_81031B4
- .4byte sub_81031B4
-
- .align 2
-gUnknown_083ECB70:: @ 83ECB70
- .4byte sub_81032E8
- .4byte sub_81032E8
- .4byte sub_810333C
-
- .align 2
-gUnknown_083ECB7C:: @ 83ECB7C
- .4byte sub_810341C
- .4byte sub_810341C
- .4byte sub_810347C
-
- .align 2
-gUnknown_083ECB88:: @ 83ECB88
- .4byte sub_8103564
- .4byte j5_08111E84
- .4byte sub_8103668
-
- .align 2
-gUnknown_083ECB94:: @ 83ECB94
- .4byte sub_8103830
- .4byte sub_8103910
- .4byte sub_8103A78
-
- .align 2
-gUnknown_083ECBA0:: @ 83ECBA0
- .4byte sub_8103C78
- .4byte sub_8103CAC
- .4byte sub_8103CC8
-
-gUnknown_083ECBAC:: @ 83ECBAC
- .incbin "baserom.gba", 0x003ecbac, 0x8
-
- .align 2
-gUnknown_083ECBB4:: @ 83ECBB4
- .4byte nullsub_68
- .4byte sub_810411C
- .4byte sub_8104144
- .4byte sub_81041AC
-
- .align 1
-gUnknown_083ECBC4:: @ 83ECBC4
- .2byte 0x9E, 0x6E, 0x9F, 0x6F, 0xAF, 0x7F
-
- .align 2
-gUnknown_083ECBD0:: @ 83ECBD0
- .4byte sub_810437C
- .4byte sub_81043EC
- .4byte sub_8104468
- .4byte sub_8104498
- .4byte sub_8104548
- .4byte sub_8104598
- .4byte sub_81045CC
- .4byte sub_810463C
- .4byte sub_81046C0
- .4byte sub_8104764
- .4byte sub_8104794
- .4byte sub_81047EC
- .4byte sub_8104860
- .4byte sub_81048A8
- .4byte sub_81048CC
- .4byte sub_8104940
- .4byte sub_81049C8
- .4byte sub_8104794
- .4byte sub_81049F8
-
- .align 2
-gUnknown_083ECC1C:: @ 83ECC1C
- .4byte 0x02020101
-
-gUnknown_083ECC20:: @ 83ECC20
- .incbin "baserom.gba", 0x003ecc20, 0x8
-
-gUnknown_083ECC28:: @ 83ECC28
- .incbin "baserom.gba", 0x003ecc28, 0x8
-
- .align 2
-gUnknown_083ECC30:: @ 83ECC30
- .4byte sub_8104B3C
- .4byte sub_8104B60
- .4byte sub_8104B80
- .4byte sub_8104B60
- .4byte sub_8104BC8
- .4byte sub_8104B60
- .4byte sub_8104BFC
- .4byte sub_8104B60
- .4byte sub_8104C44
-
-gUnknown_083ECC54:: @ 83ECC54
- .4byte nullsub_69
-
-gUnknown_083ECC58:: @ 83ECC58
- .byte 16, 0
-
- .align 1
-gUnknown_083ECC5A:: @ 83ECC5A
- .2byte 0x0, 0x40, 0x80, 0xC0
-
-gUnknown_083ECC62:: @ 83ECC62
- .incbin "baserom.gba", 0x003ecc62, 0x8
-
-gUnknown_083ECC6A:: @ 83ECC6A
- .incbin "baserom.gba", 0x003ecc6a, 0x8
-
-gUnknown_083ECC72:: @ 83ECC72
- .incbin "baserom.gba", 0x003ecc72, 0x10
-
-gUnknown_083ECC82:: @ 83ECC82
- .incbin "baserom.gba", 0x003ecc82, 0x10
-
-gUnknown_083ECC92:: @ 83ECC92
- .incbin "baserom.gba", 0x003ecc92, 0x10
-
-gUnknown_083ECCA2:: @ 83ECCA2
- .incbin "baserom.gba", 0x003ecca2, 0x10
-
-gUnknown_083ECCB2:: @ 83ECCB2
- .incbin "baserom.gba", 0x003eccb2, 0x3f
-
-gUnknown_083ECCF1:: @ 83ECCF1
- .incbin "baserom.gba", 0x003eccf1, 0x7
-
-gUnknown_083ECCF8:: @ 83ECCF8
- .incbin "baserom.gba", 0x003eccf8, 0xc
-
-gUnknown_083ECD04:: @ 83ECD04
- .incbin "baserom.gba", 0x003ecd04, 0x12
-
-gUnknown_083ECD16:: @ 83ECD16
- .incbin "baserom.gba", 0x003ecd16, 0x12
-
-gUnknown_083ECD28:: @ 83ECD28
- .incbin "baserom.gba", 0x003ecd28, 0x1e
-
-gUnknown_083ECD46:: @ 83ECD46
- .incbin "baserom.gba", 0x003ecd46, 0x66
-
-gUnknown_083ECDAC:: @ 83ECDAC
- .incbin "baserom.gba", 0x003ecdac, 0x66
-
-gUnknown_083ECE12:: @ 83ECE12
- .incbin "baserom.gba", 0x003ece12, 0xa
-
-gUnknown_083ECE1C:: @ 83ECE1C
- .incbin "baserom.gba", 0x003ece1c, 0x14
-
-gUnknown_083ECE30:: @ 83ECE30
- .incbin "baserom.gba", 0x003ece30, 0xa
-
-gUnknown_083ECE3A:: @ 83ECE3A
- .incbin "baserom.gba", 0x003ece3a, 0x8
-
-gUnknown_083ECE42:: @ 83ECE42
- .incbin "baserom.gba", 0x003ece42, 0x6
-
-gUnknown_083ECE48:: @ 83ECE48
- .incbin "baserom.gba", 0x003ece48, 0xa
-
-gUnknown_083ECE52:: @ 83ECE52
- .incbin "baserom.gba", 0x003ece52, 0x8
-
-gUnknown_083ECE5A:: @ 83ECE5A
- .incbin "baserom.gba", 0x003ece5a, 0x12
-
-gUnknown_083ECE6C:: @ 83ECE6C
- .incbin "baserom.gba", 0x003ece6c, 0x12
-
-gUnknown_083ECE7E:: @ 83ECE7E
- .incbin "baserom.gba", 0x003ece7e, 0x8e
-
- .align 2
-gUnknown_083ECF0C:: @ 83ECF0C
- .4byte sub_8105C64
- .4byte sub_8105F54
- .4byte sub_8105F54
- .4byte sub_8105F54
- .4byte sub_8105F54
- .4byte sub_8105F9C
- .4byte sub_8105EB4
- .4byte sub_8105C64
- .4byte sub_8105C64
- .4byte sub_8105C6C
- .4byte sub_8105CF0
- .4byte sub_8105D08
- .4byte sub_8105D20
- .4byte sub_8105D3C
- .4byte sub_8105DA4
- .4byte sub_8105E08
- .4byte sub_8105C64
- .4byte sub_8106058
- .4byte sub_81060FC
- .4byte sub_81060FC
- .4byte sub_81060FC
- .4byte sub_81060FC
- .4byte sub_81060FC
- .4byte sub_81060FC
- .4byte sub_81060FC
- .4byte sub_81060FC
- .4byte sub_81061C8
- .4byte sub_81061C8
- .4byte sub_81061C8
- .4byte sub_81061C8
- .4byte sub_81061C8
- .4byte sub_81061C8
- .4byte sub_81061C8
- .4byte sub_81061C8
- .4byte sub_8106230
-
-Unknown_83ECF98:
- .incbin "baserom.gba", 0x003ECF98, 0x10
-Unknown_83ECFA8:
- .incbin "baserom.gba", 0x003ECFA8, 0x1C
-Unknown_83ECFC4:
- .incbin "baserom.gba", 0x003ECFC4, 0xC
-Unknown_83ECFD0:
- .incbin "baserom.gba", 0x003ECFD0, 0x18
-Unknown_83ECFE8:
- .incbin "baserom.gba", 0x003ECFE8, 0x10
-Unknown_83ECFF8:
- .incbin "baserom.gba", 0x003ECFF8, 0x28
-Unknown_83ED020:
- .incbin "baserom.gba", 0x003ED020, 0x28
-
- .align 2
-gUnknown_083ED048:: @ 83ED048
- .4byte Unknown_83ECF98
- .4byte Unknown_83ECFA8
- .4byte Unknown_83ECFC4
- .4byte Unknown_83ECFD0
- .4byte Unknown_83ECFE8
- .4byte Unknown_83ED020
- .4byte Unknown_83ECFF8
-
- .align 2
-gUnknown_083ED064:: @ 83ED064
- .4byte sub_810639C
- .4byte sub_8106364
- .4byte sub_8106370
- .4byte nullsub_70
- .4byte nullsub_70
- .4byte sub_8106370
- .4byte sub_8106370
-
- .align 2
-gOamData_83ED080:: @ 83ED080
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_83ED088:: @ 83ED088
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_83ED090:: @ 83ED090
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gOamData_83ED098:: @ 83ED098
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gOamData_83ED0A0:: @ 83ED0A0
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gOamData_83ED0A8:: @ 83ED0A8
- .2byte 0x8000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_83ED0B0:: @ 83ED0B0
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_83ED0B8:: @ 83ED0B8
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteImageTable_83ED0C0:: @ 83ED0C0
- obj_frame_tiles 0x02013200, 0x800
- obj_frame_tiles 0x02013A00, 0x800
- obj_frame_tiles 0x02014200, 0x800
- obj_frame_tiles 0x02014A00, 0x800
- obj_frame_tiles 0x02015200, 0x800
-
- .align 2
-gSpriteImageTable_83ED0E8:: @ 83ED0E8
- obj_frame_tiles 0x02015A00, 0x300
-
- .align 2
-gSpriteImageTable_83ED0F0:: @ 83ED0F0
- obj_frame_tiles 0x02015D00, 0x500
-
- .align 2
-gSpriteImageTable_83ED0F8:: @ 83ED0F8
- obj_frame_tiles 0x02016200, 0x600
-
- .align 2
-gSpriteImageTable_83ED100:: @ 83ED100
- obj_frame_tiles gSpriteImage_8E988E8, 0x80
- obj_frame_tiles gSpriteImage_8E98968, 0x80
- obj_frame_tiles gSpriteImage_8E989E8, 0x80
- obj_frame_tiles gSpriteImage_8E98A68, 0x80
- obj_frame_tiles gSpriteImage_8E98AE8, 0x80
- obj_frame_tiles gSpriteImage_8E98B68, 0x80
-
- .align 2
-gSpriteImageTable_83ED130:: @ 83ED130
- obj_frame_tiles gSpriteImage_8E991E8, 0x200
-
- .align 2
-gSpriteImageTable_83ED138:: @ 83ED138
- obj_frame_tiles gSpriteImage_8E99808, 0x40
-
- .align 2
-gSpriteImageTable_83ED140:: @ 83ED140
- obj_frame_tiles gSpriteImage_8E98BE8, 0x100
- obj_frame_tiles gSpriteImage_8E98CE8, 0x100
-
- .align 2
-gSpriteImageTable_83ED150:: @ 83ED150
- obj_frame_tiles gSpriteImage_8E993E8, 0x400
-
- .align 2
-gSpriteImageTable_83ED158:: @ 83ED158
- obj_frame_tiles gSpriteImage_8E98DE8, 0x200
- obj_frame_tiles gSpriteImage_8E98FE8, 0x200
-
- .align 2
-gSpriteImageTable_83ED168:: @ 83ED168
- obj_frame_tiles gSpriteImage_8E98848, 0x20
-
- .align 2
-gSpriteImageTable_83ED170:: @ 83ED170
- obj_frame_tiles gSpriteImage_8E98868, 0x80
-
- .align 2
-gSpriteImageTable_83ED178:: @ 83ED178
- obj_frame_tiles 0x02010000, 0x600
-
- .align 2
-gSpriteImageTable_83ED180:: @ 83ED180
- obj_frame_tiles 0x02010600, 0x200
-
- .align 2
-gSpriteImageTable_83ED188:: @ 83ED188
- obj_frame_tiles 0x02010800, 0x200
-
- .align 2
-gSpriteImageTable_83ED190:: @ 83ED190
- obj_frame_tiles 0x02010A00, 0x200
-
- .align 2
-gSpriteImageTable_83ED198:: @ 83ED198
- obj_frame_tiles 0x02010C00, 0x300
-
- .align 2
-gSpriteImageTable_83ED1A0:: @ 83ED1A0
- obj_frame_tiles 0x02011000, 0x400
-
- .align 2
-gSpriteImageTable_83ED1A8:: @ 83ED1A8
- obj_frame_tiles 0x02011400, 0x200
-
- .align 2
-gSpriteImageTable_83ED1B0:: @ 83ED1B0
- obj_frame_tiles 0x02011600, 0x300
-
- .align 2
-gSpriteImageTable_83ED1B8:: @ 83ED1B8
- obj_frame_tiles 0x02011900, 0x300
-
- .align 2
-gSpriteImageTable_83ED1C0:: @ 83ED1C0
- obj_frame_tiles 0x02011C00, 0x200
- obj_frame_tiles 0x02011E00, 0x200
- obj_frame_tiles 0x02011E00, 0x200
-
- .align 2
-gSpriteImageTable_83ED1D8:: @ 83ED1D8
- obj_frame_tiles 0x02012000, 0x280
-
- .align 2
-gSpriteImageTable_83ED1E0:: @ 83ED1E0
- obj_frame_tiles 0x02012280, 0x80
- obj_frame_tiles 0x02012300, 0x80
- obj_frame_tiles 0x02012380, 0x80
- obj_frame_tiles 0x02012400, 0x80
- obj_frame_tiles 0x02012480, 0x80
-
- .align 2
-gSpriteImageTable_83ED208:: @ 83ED208
- obj_frame_tiles 0x02012600, 0x480
- obj_frame_tiles 0x02012A80, 0x480
-
- .align 2
-gSpriteImageTable_83ED218:: @ 83ED218
- obj_frame_tiles 0x02012F00, 0x180
- obj_frame_tiles 0x02013080, 0x180
-
- .align 2
-gSpriteImageTable_83ED228:: @ 83ED228
- obj_frame_tiles gSpriteImage_8E98828, 0x20
-
- .align 2
-gSpriteAnim_83ED230:: @ 83ED230
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED238:: @ 83ED238
- obj_image_anim_frame 0, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED240:: @ 83ED240
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED248:: @ 83ED248
- obj_image_anim_frame 1, 16
- obj_image_anim_frame 0, 16
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED254:: @ 83ED254
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 0, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED260:: @ 83ED260
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED26C:: @ 83ED26C
- obj_image_anim_frame 2, 32
- obj_image_anim_frame 3, 32
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED278:: @ 83ED278
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED280:: @ 83ED280
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED288:: @ 83ED288
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED290:: @ 83ED290
- obj_image_anim_frame 2, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED298:: @ 83ED298
- obj_image_anim_frame 3, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED2A0:: @ 83ED2A0
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED2A8:: @ 83ED2A8
- obj_image_anim_frame 5, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED2B0:: @ 83ED2B0
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED2BC:: @ 83ED2BC
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED2C8:: @ 83ED2C8
- obj_image_anim_frame 0, 30
- obj_image_anim_frame 1, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED2D4:: @ 83ED2D4
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED2DC:: @ 83ED2DC
- obj_image_anim_frame 0, 30
- obj_image_anim_frame 1, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED2E8:: @ 83ED2E8
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16
- obj_image_anim_frame 0, 16
- obj_image_anim_frame 1, 16, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83ED2FC:: @ 83ED2FC
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED304:: @ 83ED304
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED30C:: @ 83ED30C
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED314:: @ 83ED314
- obj_image_anim_frame 2, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED31C:: @ 83ED31C
- obj_image_anim_frame 3, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83ED324:: @ 83ED324
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83ED32C:: @ 83ED32C
- .4byte gSpriteAnim_83ED230
-
- .align 2
-gSpriteAnimTable_83ED330:: @ 83ED330
- .4byte gSpriteAnim_83ED238
-
- .align 2
-gSpriteAnimTable_83ED334:: @ 83ED334
- .4byte gSpriteAnim_83ED240
- .4byte gSpriteAnim_83ED248
- .4byte gSpriteAnim_83ED254
- .4byte gSpriteAnim_83ED260
- .4byte gSpriteAnim_83ED26C
- .4byte gSpriteAnim_83ED278
-
- .align 2
-gSpriteAnimTable_83ED34C:: @ 83ED34C
- .4byte gSpriteAnim_83ED280
- .4byte gSpriteAnim_83ED288
- .4byte gSpriteAnim_83ED290
- .4byte gSpriteAnim_83ED298
- .4byte gSpriteAnim_83ED2A0
- .4byte gSpriteAnim_83ED2A8
-
- .align 2
-gSpriteAnimTable_83ED364:: @ 83ED364
- .4byte gSpriteAnim_83ED2B0
-
- .align 2
-gSpriteAnimTable_83ED368:: @ 83ED368
- .4byte gSpriteAnim_83ED2BC
-
- .align 2
-gSpriteAnimTable_83ED36C:: @ 83ED36C
- .4byte gSpriteAnim_83ED2C8
- .4byte gSpriteAnim_83ED2D4
-
- .align 2
-gSpriteAnimTable_83ED374:: @ 83ED374
- .4byte gSpriteAnim_83ED2DC
-
- .align 2
-gSpriteAnimTable_83ED378:: @ 83ED378
- .4byte gSpriteAnim_83ED2E8
- .4byte gSpriteAnim_83ED2FC
-
- .align 2
-gSpriteAnimTable_83ED380:: @ 83ED380
- .4byte gSpriteAnim_83ED304
- .4byte gSpriteAnim_83ED30C
- .4byte gSpriteAnim_83ED314
- .4byte gSpriteAnim_83ED31C
- .4byte gSpriteAnim_83ED324
-
- .align 2
-gSpriteAffineAnim_83ED394:: @ 83ED394
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_loop 0
- obj_rot_scal_anim_frame 0x1, 0x1, 0, 1
- obj_rot_scal_anim_loop 255
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83ED3BC:: @ 83ED3BC
- .4byte gSpriteAffineAnim_83ED394
-
- .align 2
-gSpriteAffineAnim_83ED3C0:: @ 83ED3C0
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 32
- obj_rot_scal_anim_frame 0x0, 0x0, 6, 32
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
- obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
- obj_rot_scal_anim_frame 0x0, 0x0, -12, 4
- obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
- obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
- obj_rot_scal_anim_frame 0x0, 0x0, -12, 4
- obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83ED410:: @ 83ED410
- .4byte gSpriteAffineAnim_83ED3C0
-
- .align 2
-gSpriteTemplate_83ED414:: @ 83ED414
- spr_template 0, 0, gOamData_83ED0A0, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_8104F18
-
- .align 2
-gSpriteTemplate_83ED42C:: @ 83ED42C
- spr_template 7, 4, gOamData_83ED088, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_810506C
-
- .align 2
-gSpriteTemplate_83ED444:: @ 83ED444
- spr_template 17, 0, gOamData_83ED0B8, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED45C:: @ 83ED45C
- spr_template 0xFFFF, 1, gOamData_83ED0B8, gSpriteAnimTable_83ED334, gSpriteImageTable_83ED0C0, gDummySpriteAffineAnimTable, sub_8105170
-
- .align 2
-gSpriteTemplate_83ED474:: @ 83ED474
- spr_template 0xFFFF, 2, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0E8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED48C:: @ 83ED48C
- spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED4A4:: @ 83ED4A4
- spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED4BC:: @ 83ED4BC
- spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED34C, gSpriteImageTable_83ED100, gDummySpriteAffineAnimTable, sub_810535C
-
- .align 2
-gSpriteTemplate_83ED4D4:: @ 83ED4D4
- spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED130, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED4EC:: @ 83ED4EC
- spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED138, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED504:: @ 83ED504
- spr_template 0xFFFF, 4, gOamData_83ED098, gSpriteAnimTable_83ED364, gSpriteImageTable_83ED140, gDummySpriteAffineAnimTable, sub_810562C
-
- .align 2
-gSpriteTemplate_83ED51C:: @ 83ED51C
- spr_template 0xFFFF, 7, gOamData_83ED0A8, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED150, gDummySpriteAffineAnimTable, sub_8105784
-
- .align 2
-gSpriteTemplate_83ED534:: @ 83ED534
- spr_template 0xFFFF, 5, gOamData_83ED0A0, gSpriteAnimTable_83ED368, gSpriteImageTable_83ED158, gDummySpriteAffineAnimTable, sub_8105894
-
- .align 2
-gSpriteTemplate_83ED54C:: @ 83ED54C
- spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED330, gSpriteImageTable_83ED168, gDummySpriteAffineAnimTable, sub_810594C
-
- .align 2
-gSpriteTemplate_83ED564:: @ 83ED564
- spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED170, gSpriteAffineAnimTable_83ED3BC, sub_8105A38
-
- .align 2
-gSpriteTemplate_83ED57C:: @ 83ED57C
- spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED178, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED594:: @ 83ED594
- spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED180, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED5AC:: @ 83ED5AC
- spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED188, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED5C4:: @ 83ED5C4
- spr_template 18, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED190, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED5DC:: @ 83ED5DC
- spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED198, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED5F4:: @ 83ED5F4
- spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED60C:: @ 83ED60C
- spr_template 19, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED624:: @ 83ED624
- spr_template 20, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED63C:: @ 83ED63C
- spr_template 21, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED654:: @ 83ED654
- spr_template 0xFFFF, 6, gOamData_83ED0A0, gSpriteAnimTable_83ED36C, gSpriteImageTable_83ED1C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED66C:: @ 83ED66C
- spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1D8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED684:: @ 83ED684
- spr_template 0xFFFF, 6, gOamData_83ED090, gSpriteAnimTable_83ED380, gSpriteImageTable_83ED1E0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED69C:: @ 83ED69C
- spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED378, gSpriteImageTable_83ED208, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED6B4:: @ 83ED6B4
- spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED374, gSpriteImageTable_83ED218, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83ED6CC:: @ 83ED6CC
- spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70
-
- .align 2
-Unknown_083ED6E4:
- .incbin "baserom.gba", 0x003ed6e4, 0x20
-
-gUnknown_083ED704:: @ 83ED704
- .4byte 4, Unknown_083ED6E4
-Unknown_083ED70C:
- .incbin "baserom.gba", 0x003ed70c, 0x30
-
-gUnknown_083ED73C:: @ 83ED73C
- .4byte 6, Unknown_083ED70C
-Unknown_083ED744:
- .incbin "baserom.gba", 0x003ed744, 0x18
-
-gUnknown_083ED75C:: @ 83ED75C
- .4byte 3, Unknown_083ED744
-Unknown_083ED764:
- .incbin "baserom.gba", 0x003ed764, 0x28
-
-gUnknown_083ED78C:: @ 83ED78C
- .4byte 5, Unknown_083ED764
-Unknown_083ED794:
- .incbin "baserom.gba", 0x003ed794, 0x20
-
-gUnknown_083ED7B4:: @ 83ED7B4
- .4byte 4, Unknown_083ED794
-Unknown_083ED7BC:
- .incbin "baserom.gba", 0x003ed7bc, 0x18
-
-gUnknown_083ED7D4:: @ 83ED7D4
- .4byte 3, Unknown_083ED7BC
-Unknown_083ED7DC:
- .incbin "baserom.gba", 0x003ed7dc, 0x28
-Unknown_083ED804:
- .4byte 5, Unknown_083ED7DC
-Unknown_083ED80C:
- .incbin "baserom.gba", 0x003ed80c, 0x20
-Unknown_083ED82C:
- .4byte 4, Unknown_083ED80C
-Unknown_083ED834:
- .incbin "baserom.gba", 0x003ed834, 0x20
-Unknown_083ED854:
- .4byte 4, Unknown_083ED834
-Unknown_083ED85C:
- .incbin "baserom.gba", 0x003ed85c, 0x20
-Unknown_083ED87C:
- .4byte 4, Unknown_083ED85C
-Unknown_083ED884:
- .incbin "baserom.gba", 0x003ed884, 0x30
-Unknown_083ED8B4:
- .4byte 6, Unknown_083ED884
-Unknown_083ED8BC:
- .incbin "baserom.gba", 0x003ed8bc, 0x8
-Unknown_083ED8C4:
- .incbin "baserom.gba", 0x003ed8c4, 0x8
-Unknown_083ED8CC:
- .4byte 1, Unknown_083ED8BC
- .4byte 1, Unknown_083ED8C4
-Unknown_083ED8DC:
- .incbin "baserom.gba", 0x003ed8dc, 0x60
-Unknown_083ED93C:
- .4byte 12, Unknown_083ED8DC
-Unknown_083ED944:
- .incbin "baserom.gba", 0x003ed944, 0x18
-Unknown_083ED95C:
- .4byte 3, Unknown_083ED944
-Unknown_083ED964:
- .incbin "baserom.gba", 0x003ed964, 0x10
-Unknown_083ED974:
- .4byte 2, Unknown_083ED964
-Unknown_083ED97C:
- .incbin "baserom.gba", 0x003ed97c, 0x10
-Unknown_083ED98C:
- .4byte 2, Unknown_083ED97C
-Unknown_083ED994:
- .incbin "baserom.gba", 0x003ed994, 0x10
-Unknown_083ED9A4:
- .4byte 2, Unknown_083ED994
-Unknown_083ED9AC:
- .incbin "baserom.gba", 0x003ed9ac, 0x10
-Unknown_083ED9BC:
- .4byte 2, Unknown_083ED9AC
-Unknown_083ED9C4:
- .incbin "baserom.gba", 0x003ed9c4, 0x10
-Unknown_083ED9D4:
- .4byte 2, Unknown_083ED9C4
-Unknown_083ED9DC:
- .incbin "baserom.gba", 0x003ed9dc, 0x10
-Unknown_083ED9EC:
- .4byte 2, Unknown_083ED9DC
-Unknown_083ED9F4:
- .incbin "baserom.gba", 0x003ed9f4, 0x10
-Unknown_083EDA04:
- .4byte 2, Unknown_083ED9F4
-Unknown_083EDA0C:
- .incbin "baserom.gba", 0x003eda0C, 0x10
-Unknown_083EDA1C:
- .4byte 2, Unknown_083EDA0C
-Unknown_083EDA24:
- .incbin "baserom.gba", 0x003eda24, 0x10
-Unknown_083EDA34:
- .4byte 2, Unknown_083EDA24
-Unknown_083EDA3C:
- .incbin "baserom.gba", 0x003eda3c, 0x30
-Unknown_083EDA6C:
- .4byte 6, Unknown_083EDA3C
-Unknown_083EDA74:
- .incbin "baserom.gba", 0x003eda74, 0x18
-Unknown_083EDA8C:
- .4byte 3, Unknown_083EDA74
-Unknown_083EDA94:
- .incbin "baserom.gba", 0x003eda94, 0x30
-Unknown_083EDAC4:
- .4byte 6, Unknown_083EDA94
-Unknown_083EDACC:
- .incbin "baserom.gba", 0x003edacc, 0x30
-Unknown_083EDAFC:
- .4byte 6, Unknown_083EDACC
-Unknown_083EDB04:
- .incbin "baserom.gba", 0x003edb04, 0x18
-Unknown_083EDB1C:
- .4byte 3, Unknown_083EDB04
-Unknown_083EDB24:
- .incbin "baserom.gba", 0x003edb24, 0x30
-Unknown_083EDB54:
- .4byte 6, Unknown_083EDB24
-
- .align 2
-gUnknown_083EDB5C:: @ 83EDB5C
- .4byte gSpriteTemplate_83ED57C
- .4byte gSpriteTemplate_83ED594
- .4byte gSpriteTemplate_83ED5AC
- .4byte gSpriteTemplate_83ED5DC
- .4byte gSpriteTemplate_83ED5F4
- .4byte gSpriteTemplate_83ED654
- .4byte gSpriteTemplate_83ED66C
- .4byte gSpriteTemplate_83ED684
- .4byte gSpriteTemplate_83ED69C
- .4byte gSpriteTemplate_83ED6B4
- .4byte gSpriteTemplate_83ED5C4
- .4byte gSpriteTemplate_83ED5C4
- .4byte gSpriteTemplate_83ED5C4
- .4byte gSpriteTemplate_83ED5C4
- .4byte gSpriteTemplate_83ED60C
- .4byte gSpriteTemplate_83ED60C
- .4byte gSpriteTemplate_83ED60C
- .4byte gSpriteTemplate_83ED60C
- .4byte gSpriteTemplate_83ED60C
- .4byte gSpriteTemplate_83ED624
- .4byte gSpriteTemplate_83ED624
- .4byte gSpriteTemplate_83ED624
- .4byte gSpriteTemplate_83ED63C
- .4byte gSpriteTemplate_83ED63C
- .4byte gSpriteTemplate_83ED63C
- .4byte gDummySpriteTemplate
-
- .align 2
-gUnknown_083EDBC4:: @ 83EDBC4
- .4byte Unknown_083ED804
- .4byte Unknown_083ED82C
- .4byte Unknown_083ED854
- .4byte Unknown_083ED8B4
- .4byte 0 @ dummied out
- .4byte 0 @ dummied out
- .4byte Unknown_083ED8CC
- .4byte 0 @ dummied out
- .4byte Unknown_083ED93C
- .4byte Unknown_083ED95C
- .4byte Unknown_083ED974
- .4byte Unknown_083ED98C
- .4byte Unknown_083ED9A4
- .4byte Unknown_083ED9BC
- .4byte Unknown_083ED9D4
- .4byte Unknown_083ED9EC
- .4byte Unknown_083EDA04
- .4byte Unknown_083EDA1C
- .4byte Unknown_083EDA34
- .4byte Unknown_083EDA6C
- .4byte Unknown_083EDA8C
- .4byte Unknown_083EDAC4
- .4byte Unknown_083EDAFC
- .4byte Unknown_083EDB1C
- .4byte Unknown_083EDB54
- .4byte 0 @ dummied out
-
- .align 2
-gUnknown_083EDC2C:: @ 83EDC2C
- obj_tiles gSlotMachineReelSymbol1Tiles, 0x200, 0
- obj_tiles gSlotMachineReelSymbol2Tiles, 0x200, 1
- obj_tiles gSlotMachineReelSymbol3Tiles, 0x200, 2
- obj_tiles gSlotMachineReelSymbol4Tiles, 0x200, 3
- obj_tiles gSlotMachineReelSymbol5Tiles, 0x200, 4
- obj_tiles gSlotMachineReelSymbol6Tiles, 0x200, 5
- obj_tiles gSlotMachineReelSymbol7Tiles, 0x200, 6
- obj_tiles gSlotMachineNumber0Tiles, 0x40, 7
- obj_tiles gSlotMachineNumber1Tiles, 0x40, 8
- obj_tiles gSlotMachineNumber2Tiles, 0x40, 9
- obj_tiles gSlotMachineNumber3Tiles, 0x40, 10
- obj_tiles gSlotMachineNumber4Tiles, 0x40, 11
- obj_tiles gSlotMachineNumber5Tiles, 0x40, 12
- obj_tiles gSlotMachineNumber6Tiles, 0x40, 13
- obj_tiles gSlotMachineNumber7Tiles, 0x40, 14
- obj_tiles gSlotMachineNumber8Tiles, 0x40, 15
- obj_tiles gSlotMachineNumber9Tiles, 0x40, 16
- obj_tiles 0x2010a00, 0x200, 18
- obj_tiles 0x2011400, 0x200, 19
- obj_tiles 0x2011600, 0x300, 20
- obj_tiles 0x2011900, 0x300, 21
- null_obj_tiles
-
- .align 2
-gUnknown_083EDCDC:: @ 83EDCDC
- obj_tiles 0x02010000, 2048, 0x0011
-
- .align 2
-gUnknown_083EDCE4:: @ 83EDCE4
- .4byte gUnknownPalette_08E997E8
-
-UnknownPalette_83EDCE8:
- .ifdef SAPPHIRE
- .incbin "graphics/unknown/sapphire_83EDD40.gbapal"
- .else
- .incbin "graphics/unknown/ruby_83EDCE8.gbapal"
- .endif
-
- .align 2
-gUnknown_083EDD08:: @ 83EDD08
- .4byte UnknownPalette_83EDCE8 + 10 * 2
- .4byte UnknownPalette_83EDCE8 + 11 * 2
- .4byte UnknownPalette_83EDCE8 + 12 * 2
- .4byte UnknownPalette_83EDCE8 + 13 * 2
- .4byte UnknownPalette_83EDCE8 + 14 * 2
-
- .align 2
-gUnknown_083EDD1C:: @ 83EDD1C
- .4byte gUnknown_08E95A18 + 148
- .4byte gUnknown_08E95A18 + 150
- .4byte gUnknown_08E95A18 + 152
- .4byte gUnknown_08E95A18 + 154
- .4byte gUnknown_08E95A18 + 156
-
-gUnknown_083EDD30:: @ 83EDD30
- .byte 0x4A, 0x4B, 0x4C, 0x4E, 0x4D
-
-gUnknown_083EDD35:: @ 83EDD35
- .byte 0, 0, 1, 2, 3, 4
-
-gUnknown_083EDD3B:: @ 83EDD3B
- .byte 1, 2, 2
-
- .align 1
-Unknown_83EDD3E:
- .ifdef SAPPHIRE
- .incbin "graphics/unknown/sapphire_83EDD96.gbapal"
- .else
- .incbin "graphics/unknown/ruby_83EDD3E.gbapal"
- .endif
-
- .align 1
-Unknown_83EDD5E:
- .ifdef SAPPHIRE
- .incbin "graphics/unknown/sapphire_83EDDB6.gbapal"
- .else
- .incbin "graphics/unknown/ruby_83EDD5E.gbapal"
- .endif
-
- .align 1
-Unknown_83EDD7E:
- .ifdef SAPPHIRE
- .incbin "graphics/unknown/sapphire_83EDDD6.gbapal"
- .else
- .incbin "graphics/unknown/ruby_83EDD7E.gbapal"
- .endif
-
- .align 2
-gUnknown_083EDDA0:: @ 83EDDA0
- .4byte Unknown_83EDD3E
- .4byte Unknown_83EDD5E
- .4byte Unknown_83EDD7E
-
- .align 2
-gUnknown_083EDDAC:: @ 83EDDAC
- .4byte gUnknown_08E95A18 + 32
-
-Unknown_83EDDB0:
- .incbin "baserom.gba", 0x003eddb0, 0x20
-Unknown_83EDDD0:
- .incbin "baserom.gba", 0x003eddd0, 0x20
-Unknown_83EDDF0:
- .incbin "baserom.gba", 0x003eddf0, 0x20
-
- .align 2
-gUnknown_083EDE10:: @ 83EDE10
- .4byte Unknown_83EDDB0
- .4byte Unknown_83EDDD0
- .4byte Unknown_83EDDF0
- .4byte gSlotMachineSpritePalette6
-
- .align 2
-gUnknown_083EDE20:: @ 83EDE20
- .4byte gSlotMachineSpritePalette6
-
-gUnknown_083EDE24:: @ 83EDE24
- .incbin "baserom.gba", 0x003ede24, 0x20
-
- .align 2
-gSlotMachineSpritePalettes:: @ 83EDE44
- obj_pal gSlotMachineSpritePalette0, 0
- obj_pal gSlotMachineSpritePalette1, 1
- obj_pal gSlotMachineSpritePalette2, 2
- obj_pal gSlotMachineSpritePalette3, 3
- obj_pal gSlotMachineSpritePalette4, 4
- obj_pal gSlotMachineSpritePalette5, 5
- obj_pal gSlotMachineSpritePalette6, 6
- obj_pal gSlotMachineSpritePalette4, 7
- null_obj_pal
-
- .align 2
-gUnknown_083EDE8C:: @ 83EDE8C
- .incbin "graphics/slot_machine/reel_time.4bpp.lz"
-
- .align 2
-gReelTimeWindowTilemap:: @ 83EEFE0
- .incbin "graphics/slot_machine/reel_time_window_map.bin"
-
- .align 2
-gPictureFramePalettes:: @ 83EF198
- .incbin "graphics/picture_frame/bg0.gbapal"
- .incbin "graphics/picture_frame/bg1.gbapal"
- .incbin "graphics/picture_frame/bg2.gbapal"
- .incbin "graphics/picture_frame/bg3.gbapal"
- .incbin "graphics/picture_frame/bg4.gbapal"
- .incbin "graphics/picture_frame/bg5.gbapal"
- .space 10 * 32
-
- .align 2
-gPictureFrameTiles_0:: @ 83EF398
- .incbin "graphics/picture_frame/frame0.4bpp.rl"
-
- .align 2
-gPictureFrameTiles_1:: @ 83F041C
- .incbin "graphics/picture_frame/frame1.4bpp.rl"
-
- .align 2
-gPictureFrameTiles_2:: @ 83F104C
- .incbin "graphics/picture_frame/frame2.4bpp.rl"
-
- .align 2
-gPictureFrameTiles_3:: @ 83F1B84
- .incbin "graphics/picture_frame/frame3.4bpp.rl"
-
- .align 2
-gPictureFrameTiles_4:: @ 83F2B3C
- .incbin "graphics/picture_frame/frame4.4bpp.rl"
-
- .align 2
-gPictureFrameTiles_5:: @ 83F3C6C
- .incbin "graphics/picture_frame/frame5.4bpp.rl"
-
- .align 2
-gPictureFrameTilemap_0:: @ 83F4260
- .incbin "graphics/picture_frame/frame0_map.bin.rl"
-
- .align 2
-gPictureFrameTilemap_1:: @ 83F476C
- .incbin "graphics/picture_frame/frame1_map.bin.rl"
-
- .align 2
-gPictureFrameTilemap_2:: @ 83F4C78
- .incbin "graphics/picture_frame/frame2_map.bin.rl"
-
- .align 2
-gPictureFrameTilemap_3:: @ 83F5184
- .incbin "graphics/picture_frame/frame3_map.bin.rl"
-
- .align 2
-gPictureFrameTilemap_4:: @ 83F5690
- .incbin "graphics/picture_frame/frame4_map.bin.rl"
-
- .align 2
-gPictureFrameTilemap_5:: @ 83F5B9C
- .incbin "graphics/picture_frame/frame5_map.bin.rl"
-
- .align 2
-gUnknown_083F60AC:: @ 83F60AC
- .4byte OtherText_Cool
- .4byte OtherText_Beauty2
- .4byte OtherText_Cute
- .4byte OtherText_Smart
- .4byte OtherText_Tough
-
- .align 2
-gUnknown_083F60C0:: @ 83F60C0
- .4byte OtherText_NonstopSuperCool
- .4byte OtherText_Terminator6
- .4byte OtherText_GoodLookingPoke
- .4byte OtherText_Terminator7
- .4byte OtherText_MarvelousGreat
- .4byte OtherText_Terminator8
- .4byte OtherText_CenturyLastVenus
- .4byte OtherText_Terminator9
- .4byte OtherText_Terminator10
- .4byte OtherText_DazzlingSlime
- .4byte OtherText_PokeCenterIdol
- .4byte OtherText_Terminator11
- .4byte OtherText_LovelyAndSweet
- .4byte OtherText_Terminator12
- .4byte OtherText_ThePretty
- .4byte OtherText_WinningPortrait
- .4byte OtherText_GiveUsWink
- .4byte OtherText_Terminator13
- .4byte OtherText_SmartnessMaestro
- .4byte OtherText_Terminator15
- .4byte OtherText_ChosenPokeAmong
- .4byte OtherText_Terminator15
- .4byte OtherText_TheExcellent
- .4byte OtherText_ItsMomentOfElegance
- .4byte OtherText_PowerfullyMuscular
- .4byte OtherText_Terminator16
- .4byte OtherText_StrongErEst
- .4byte OtherText_Terminator17
- .4byte OtherText_MightyTough
- .4byte OtherText_Exclamation
-
- .align 2
-gOamData_83F6138:: @ 83F6138
- .2byte 0x3000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gUnknown_083F6140:: @ 83F6140
- .space 4
-
- .align 2
-gBattleAICmdTable:: @ 83F6144
- .4byte BattleAICmd_if_random
- .4byte BattleAICmd_if_not_random
- .4byte BattleAICmd_if_random_1
- .4byte BattleAICmd_if_not_random_1
- .4byte BattleAICmd_score
- .4byte BattleAICmd_if_hp_less_than
- .4byte BattleAICmd_if_hp_more_than
- .4byte BattleAICmd_if_hp_equal
- .4byte BattleAICmd_if_hp_not_equal
- .4byte BattleAICmd_if_status
- .4byte BattleAICmd_if_not_status
- .4byte BattleAICmd_if_status2
- .4byte BattleAICmd_if_not_status2
- .4byte BattleAICmd_if_status3
- .4byte BattleAICmd_if_not_status3
- .4byte BattleAICmd_if_status4
- .4byte BattleAICmd_if_not_status4
- .4byte BattleAICmd_if_less_than
- .4byte BattleAICmd_if_more_than
- .4byte BattleAICmd_if_equal
- .4byte BattleAICmd_if_not_equal
- .4byte BattleAICmd_if_less_than_32
- .4byte BattleAICmd_if_more_than_32
- .4byte BattleAICmd_if_equal_32
- .4byte BattleAICmd_if_not_equal_32
- .4byte BattleAICmd_if_move
- .4byte BattleAICmd_if_not_move
- .4byte BattleAICmd_if_in_bytes
- .4byte BattleAICmd_if_not_in_bytes
- .4byte BattleAICmd_if_in_words
- .4byte BattleAICmd_if_not_in_words
- .4byte BattleAICmd_if_user_can_damage
- .4byte BattleAICmd_if_user_cant_damage
- .4byte BattleAICmd_unk_21
- .4byte BattleAICmd_get_type
- .4byte BattleAICmd_unk_23
- .4byte BattleAICmd_unk_24
- .4byte BattleAICmd_get_move
- .4byte BattleAICmd_if_type
- .4byte BattleAICmd_unk_27
- .4byte BattleAICmd_if_would_go_first
- .4byte BattleAICmd_if_would_not_go_first
- .4byte BattleAICmd_unk_2A
- .4byte BattleAICmd_unk_2B
- .4byte BattleAICmd_count_alive_pokemon
- .4byte BattleAICmd_unk_2D
- .4byte BattleAICmd_unk_2E
- .4byte BattleAICmd_get_ability
- .4byte BattleAICmd_unk_30
- .4byte BattleAICmd_if_damage_bonus
- .4byte BattleAICmd_unk_32
- .4byte BattleAICmd_unk_33
- .4byte BattleAICmd_if_status_in_party
- .4byte BattleAICmd_if_status_not_in_party
- .4byte BattleAICmd_unk_36
- .4byte BattleAICmd_if_effect
- .4byte BattleAICmd_if_not_effect
- .4byte BattleAICmd_if_stat_level_less_than
- .4byte BattleAICmd_if_stat_level_more_than
- .4byte BattleAICmd_if_stat_level_equal
- .4byte BattleAICmd_if_stat_level_not_equal
- .4byte BattleAICmd_if_can_faint
- .4byte BattleAICmd_if_cant_faint
- .4byte BattleAICmd_unk_3F
- .4byte BattleAICmd_unk_40
- .4byte BattleAICmd_if_move_effect
- .4byte BattleAICmd_if_not_move_effect
- .4byte BattleAICmd_if_last_move_did_damage
- .4byte BattleAICmd_if_encored
- .4byte BattleAICmd_unk_45
- .4byte BattleAICmd_if_random_2
- .4byte BattleAICmd_unk_47
- .4byte BattleAICmd_get_hold_effect
- .4byte BattleAICmd_get_gender
- .4byte BattleAICmd_is_first_turn
- .4byte BattleAICmd_get_stockpile_count
- .4byte BattleAICmd_unk_4C
- .4byte BattleAICmd_get_item
- .4byte BattleAICmd_unk_4E
- .4byte BattleAICmd_unk_4F
- .4byte BattleAICmd_unk_50
- .4byte BattleAICmd_get_protect_count
- .4byte BattleAICmd_unk_52
- .4byte BattleAICmd_unk_53
- .4byte BattleAICmd_unk_54
- .4byte BattleAICmd_unk_55
- .4byte BattleAICmd_unk_56
- .4byte BattleAICmd_unk_57
- .4byte BattleAICmd_call
- .4byte BattleAICmd_jump
- .4byte BattleAICmd_unk_5A
- .4byte BattleAICmd_if_level_cond
- .4byte BattleAICmd_if_taunted
- .4byte BattleAICmd_if_not_taunted
-
-gUnknown_083F62BC:: @ 83F62BC
- .incbin "baserom.gba", 0x003f62bc, 0x1c
-
- .align 2
-gUnknown_083F62D8:: @ 83F62D8
- .4byte SecretBaseText_Tristan
- .4byte SecretBaseText_Philip
- .4byte SecretBaseText_Dennis
- .4byte SecretBaseText_Roberto
-
-gTraderDecorations:: @ 83F62E8
- .byte DECOR_DUSKULL_DOLL
- .byte DECOR_BALL_CUSHION
- .byte DECOR_TIRE
- .byte DECOR_PRETTY_FLOWERS
-
-gUnknown_083F62EC:: @ 83F62EC
- .incbin "graphics/misc/birch_bag.gbapal"
- .incbin "graphics/misc/birch_grass.gbapal"
-
- .align 2
-gBirchBallarrow_Pal::
- .incbin "graphics/misc/birch_ballarrow.gbapal"
-
- .align 2
-gBirchCircle_Pal::
- .incbin "graphics/misc/birch_circle.gbapal"
-
- .align 2
-gBirchBagTilemap:: @ 83F636C
- .incbin "graphics/misc/birch_bag_map.bin.lz"
-
- .align 2
-gBirchGrassTilemap:: @ 83F64F8
- .incbin "graphics/misc/birch_grass_map.bin.lz"
-
-gUnknown_083F66F0:: @ 83F66F0
- .incbin "graphics/misc/birch_help.4bpp.lz"
-
- .align 2
-gBirchBallarrow_Gfx::
- .incbin "graphics/misc/birch_ballarrow.4bpp.lz"
-
- .align 2
-gBirchCircle_Gfx::
- .incbin "graphics/misc/birch_circle.4bpp.lz"
-
-gStarterChoose_PokeballCoords:: @ 83F76B8
- .byte 60, 64
- .byte 120, 88
- .byte 180, 64
-
-gStarterChoose_LabelCoords:: @ 83F76BE
- .byte 0, 9
- .byte 16, 10
- .byte 8, 4
-
- .align 1
-gStarterMons:: @ 83F76C4
- .2byte SPECIES_TREECKO
- .2byte SPECIES_TORCHIC
- .2byte SPECIES_MUDKIP
- .2byte 0
-
- .align 2
-gOamData_83F76CC:: @ 83F76CC
- .2byte 0x00A0
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gOamData_83F76D4:: @ 83F76D4
- .2byte 0x00A0
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gOamData_83F76DC:: @ 83F76DC
- .2byte 0x03A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gUnknown_083F76E4:: @ 83F76E4
- .incbin "baserom.gba", 0x003f76e4, 0x8
-
- .align 2
-gSpriteAnim_83F76EC:: @ 83F76EC
- obj_image_anim_frame 48, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83F76F4:: @ 83F76F4
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83F76FC:: @ 83F76FC
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 0, 32
- obj_image_anim_frame 16, 8
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 32, 8
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 16, 8
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 32, 8
- obj_image_anim_frame 0, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83F7744:: @ 83F7744
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83F774C:: @ 83F774C
- .4byte gSpriteAnim_83F76EC
-
- .align 2
-gSpriteAnimTable_83F7750:: @ 83F7750
- .4byte gSpriteAnim_83F76F4
- .4byte gSpriteAnim_83F76FC
-
- .align 2
-gSpriteAnimTable_83F7758:: @ 83F7758
- .4byte gSpriteAnim_83F7744
-
-Unknown_83F775C:
- .incbin "baserom.gba", 0x003f775c, 0x18
-
- .align 2
-gSpriteAffineAnim_83F7774:: @ 83F7774
- obj_rot_scal_anim_frame 0x14, 0x14, 0, 0
- obj_rot_scal_anim_frame 0x14, 0x14, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gUnknown_083F778C:: @ 83F778C
- .4byte Unknown_83F775C
-
- .align 2
-gSpriteAffineAnimTable_83F7790:: @ 83F7790
- .4byte gSpriteAffineAnim_83F7774
-
-gUnknown_083F7794:: @ 83F7794
- obj_tiles gBirchBallarrow_Gfx, 0x0800, 0x1000
- .space 8
-
-gUnknown_083F77A4:: @ 83F77A4
- obj_tiles gBirchCircle_Gfx, 0x0800, 0x1001
- .space 8
-
-gUnknown_083F77B4:: @ 83F77B4
- obj_pal gBirchBallarrow_Pal, 0x1000
- obj_pal gBirchCircle_Pal, 0x1001
- .space 8
-
- .align 2
-gSpriteTemplate_83F77CC:: @ 83F77CC
- spr_template 4096, 4096, gOamData_83F76CC, gSpriteAnimTable_83F774C, NULL, gDummySpriteAffineAnimTable, sub_810A62C
-
- .align 2
-gSpriteTemplate_83F77E4:: @ 83F77E4
- spr_template 4096, 4096, gOamData_83F76D4, gSpriteAnimTable_83F7750, NULL, gDummySpriteAffineAnimTable, sub_810A68C
-
- .align 2
-gSpriteTemplate_83F77FC:: @ 83F77FC
- spr_template 4097, 4097, gOamData_83F76DC, gSpriteAnimTable_83F7758, NULL, gSpriteAffineAnimTable_83F7790, StarterPokemonSpriteAnimCallback
-
-@ 83F7814
-ClockGfx_Misc:
- .incbin "graphics/misc/clock_misc.4bpp.lz"
-
-gUnknown_083F7A90:: @ 83F7A90
- obj_tiles ClockGfx_Misc, 0x2000, 0x1000
- .space 8
-
-gUnknown_083F7AA0:: @ 83F7AA0
- obj_pal gMiscClockMale_Pal, 0x1000
- obj_pal gMiscClockFemale_Pal, 0x1001
- .space 8
-
- .align 2
-gOamData_83F7AB8:: @ 83F7AB8
- .2byte 0x00A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83F7AC0:: @ 83F7AC0
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83F7AC8:: @ 83F7AC8
- obj_image_anim_frame 64, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83F7AD0:: @ 83F7AD0
- .4byte gSpriteAnim_83F7AC0
-
- .align 2
-gSpriteAnimTable_83F7AD4:: @ 83F7AD4
- .4byte gSpriteAnim_83F7AC8
-
- .align 2
-gSpriteTemplate_83F7AD8:: @ 83F7AD8
- spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD0, NULL, gDummySpriteAffineAnimTable, sub_810B05C
-
- .align 2
-gSpriteTemplate_83F7AF0:: @ 83F7AF0
- spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD4, NULL, gDummySpriteAffineAnimTable, sub_810B0F4
-
- .align 2
-gOamData_83F7B08:: @ 83F7B08
- .2byte 0x00A0
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83F7B10:: @ 83F7B10
- obj_image_anim_frame 132, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83F7B18:: @ 83F7B18
- obj_image_anim_frame 128, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83F7B20:: @ 83F7B20
- .4byte gSpriteAnim_83F7B10
-
- .align 2
-gSpriteAnimTable_83F7B24:: @ 83F7B24
- .4byte gSpriteAnim_83F7B18
-
- .align 2
-gSpriteTemplate_83F7B28:: @ 83F7B28
- spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B20, NULL, gDummySpriteAffineAnimTable, sub_810B18C
-
- .align 2
-gSpriteTemplate_83F7B40:: @ 83F7B40
- spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B24, NULL, gDummySpriteAffineAnimTable, sub_810B230
-
-@ 83F7B58
- .include "data/clock_hand_coords.inc"
-
-gUnknown_083F7E28:: @ 83F7E28
- .incbin "baserom.gba", 0x003f7e28, 0x80
-
- .align 2
-gUnknown_083F7EA8:: @ 83F7EA8
- .4byte sub_80A5B40, c2_exit_to_overworld_2_switch
- .4byte sub_802E424, c2_exit_to_overworld_2_switch
-
- .align 2
-gPokeblockNames:: @ 83F7EB8
- .4byte NULL
- .4byte ContestStatsText_RedPokeBlock
- .4byte ContestStatsText_BluePokeBlock
- .4byte ContestStatsText_PinkPokeBlock
- .4byte ContestStatsText_GreenPokeBlock
- .4byte ContestStatsText_YellowPokeBlock
- .4byte ContestStatsText_PurplePokeBlock
- .4byte ContestStatsText_IndigoPokeBlock
- .4byte ContestStatsText_BrownPokeBlock
- .4byte ContestStatsText_LiteBluePokeBlock
- .4byte ContestStatsText_OlivePokeBlock
- .4byte ContestStatsText_GrayPokeBlock
- .4byte ContestStatsText_BlackPokeBlock
- .4byte ContestStatsText_WhitePokeBlock
- .4byte ContestStatsText_GoldPokeBlock
-
- .align 2
-gUnknown_083F7EF4:: @ 83F7EF4
- .4byte OtherText_Use, sub_810C508
- .4byte OtherText_Toss, sub_810C5C0
- .4byte gOtherText_CancelNoTerminator, sub_810C748
- .4byte OtherText_Use, sub_810C788
- .4byte OtherText_Use, sub_810C854
-
-gUnknown_083F7F1C:: @ 83F7F1C
- .byte 0, 1, 2
-
-gUnknown_083F7F1F:: @ 83F7F1F
- .byte 3, 2
-
-gUnknown_083F7F21:: @ 83F7F21
- .byte 4, 2
-
- .align 2
-gUnknown_083F7F24:: @ 83F7F24
- .4byte sub_810C610
- .4byte sub_810C668
-
-@ unreferenced
- .byte 0x16, 0x17, 0x18, 0x21, 0x2F
-
- .align 2
-gOamData_83F7F34:: @ 83F7F34
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83F7F3C:: @ 83F7F3C
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83F7F44:: @ 83F7F44
- .4byte gSpriteAnim_83F7F3C
-
-Unknown_83F7F48:
- .incbin "baserom.gba", 0x003f7f48, 0x28
-
- .align 2
-gUnknown_083F7F70:: @ 83F7F70
- .4byte Unknown_83F7F48
-
- .align 2
-gUnknown_083F7F74:: @ 83F7F74
- obj_tiles gMenuPokeblockDevice_Gfx, 2048, 0x39d0
-
- .align 2
-gUnknown_083F7F7C:: @ 83F7F7C
- obj_pal gMenuPokeblockDevice_Pal, 0x39d0
-
- .align 2
-gSpriteTemplate_83F7F84:: @ 83F7F84
- spr_template 14800, 14800, gOamData_83F7F34, gSpriteAnimTable_83F7F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083F7F9C:: @ 83F7F9C
- .incbin "baserom.gba", 0x003f7f9c, 0x28
-
- .align 2
-gUnknown_083F7FC4:: @ 83F7FC4
- .byte 1, 4, 1, 0
- .4byte sub_810CFF8
- .byte 2, 4, 1, 0
- .4byte sub_810CFF8
- .byte 3, 4, 1, 0
- .4byte sub_810CFF8
- .byte 5, 4, 1, 0
- .4byte sub_810CFF8
- .byte 6, 4, 1, 0
- .4byte sub_810CFF8
- .byte 7, 4, 1, 0
- .4byte sub_810CFF8
- .byte 8, 4, 1, 0
- .4byte sub_810CFF8
- .byte 9, 4, 1, 0
- .4byte sub_810CFF8
-
- .byte 4, 1, 0, 1
- .4byte sub_810CE48
- .byte 4, 2, 0, 1
- .4byte sub_810CE48
- .byte 4, 3, 0, 1
- .4byte sub_810CE48
- .byte 4, 5, 0, 1
- .4byte sub_810CE48
- .byte 4, 6, 0, 1
- .4byte sub_810CE48
- .byte 4, 7, 0, 1
- .4byte sub_810CE48
- .byte 4, 8, 0, 1
- .4byte sub_810CE48
- .byte 4, 9, 0, 1
- .4byte sub_810CE48
-
- .byte 0, 0, 0, 0
- .4byte NULL
-
- .align 2
-gCaveTransitionPalette_White:: @ 83F804C
- .rept 16
- .2byte 0x7FFF
- .endr
-
- .align 2
-gCaveTransitionPalette_Black:: @ 83F806C
- .rept 16
- .2byte 0x0000
- .endr
-
-gUnknown_083F808C:: @ 83F808C
- .incbin "baserom.gba", 0x003f808c, 0x10
-
-gUnknown_083F809C:: @ 83F809C
- .incbin "baserom.gba", 0x003f809c, 0x10
-
- .align 2
-gCaveTransitionTilemap:: @ 83F80AC
- .incbin "graphics/misc/cave_transition_map.bin.lz"
-
- .align 2
-gCaveTransitionTiles:: @ 83F828C
- .incbin "graphics/misc/cave_transition.4bpp.lz"
-
-gUnknown_083F8340:: @ 83F8340
- .incbin "baserom.gba", 0x003f8340, 0x18
-
-gUnknown_083F8358:: @ 83F8358
- .incbin "baserom.gba", 0x003f8358, 0x4
-
-gUnknown_083F835C:: @ 83F835C
- .incbin "baserom.gba", 0x003f835c, 0x8
-
-gUnknown_083F8364:: @ 83F8364
- .incbin "baserom.gba", 0x003f8364, 0xc
-
-gUnknown_083F8370:: @ 83F8370
- .incbin "baserom.gba", 0x003f8370, 0x6
-
-gUnknown_083F8376:: @ 83F8376
- .incbin "baserom.gba", 0x003f8376, 0xa
-
- .align 2
-gUnknown_083F8380:: @ 83F8380
- .4byte OtherText_1F
- .4byte OtherText_2F
- .4byte OtherText_3F
- .4byte OtherText_4F
- .4byte OtherText_5F
- .4byte OtherText_6F
- .4byte OtherText_7F
- .4byte OtherText_8F
- .4byte OtherText_9F
- .4byte OtherText_10F
- .4byte OtherText_11F
- .4byte OtherText_B1F
- .4byte OtherText_B2F
- .4byte OtherText_B3F
- .4byte OtherText_B4F
- .4byte OtherText_Rooftop
-
- .align 2
-gUnknown_083F83C0:: @ 83F83C0
- .4byte OtherText_BlueFlute
- .4byte OtherText_YellowFlute
- .4byte OtherText_RedFlute
- .4byte OtherText_WhiteFlute
- .4byte OtherText_BlackFlute
- .4byte OtherText_PrettyChair
- .4byte OtherText_PrettyDesk
- .4byte gOtherText_CancelNoTerminator
-
-gUnknown_083F83E0:: @ 83F83E0
- .incbin "baserom.gba", 0x003f83e0, 0xc
-
-gUnknown_083F83EC:: @ 83F83EC
- .incbin "baserom.gba", 0x003f83ec, 0xc
-
-gUnknown_083F83F8:: @ 83F83F8
- .incbin "baserom.gba", 0x003f83f8, 0xc
-
-gUnknown_083F8404:: @ 83F8404
- .incbin "baserom.gba", 0x003f8404, 0x4
-
-gUnknown_083F8408:: @ 83F8408
- .incbin "baserom.gba", 0x003f8408, 0x8
-
-gUnknown_083F8410:: @ 83F8410
- .incbin "baserom.gba", 0x003f8410, 0x8
-
-gUnknown_083F8418:: @ 83F8418
- .incbin "graphics/pokedex/area_glow.gbapal"
-
-gUnknown_083F8438:: @ 83F8438
- .incbin "graphics/pokedex/area_glow.4bpp.lz"
-
- .align 1
-gUnknown_083F856C:: @ 83F856C
- .2byte 360
-
- .align 1
-gUnknown_083F856E:: @ 83F856E
- .2byte 328, 0, 34
- .2byte 412, 0, 0
-
-gUnknown_083F857A:: @ 83F857A
- .incbin "baserom.gba", 0x003f857a, 0x12
-
- .align 2
-gUnknown_083F858C:: @ 83F858C
- obj_tiles AreaMarkerTiles, 0x80, 2
-
- .align 2
-gUnknown_083F8594:: @ 83F8594
- obj_pal AreaMarkerPalette, 2
-
- .align 2
-gOamData_83F859C:: @ 83F859C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_83F85A4:: @ 83F85A4
- spr_template 2, 2, gOamData_83F859C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-AreaMarkerPalette:
- .incbin "graphics/pokedex/area_marker.gbapal"
-
- .align 2
-AreaMarkerTiles:
- .incbin "graphics/pokedex/area_marker.4bpp"
-
- .align 2
-gUnknown_083F865C:: @ 83F865C
- obj_pal gAreaUnknownPalette, 3
-
- .align 2
-gUnknown_083F8664:: @ 83F8664
- obj_tiles 0x02000FB4, 0x600, 3
-
- .align 2
-gOamData_83F866C:: @ 83F866C
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_83F8674:: @ 83F8674
- spr_template 3, 3, gOamData_83F866C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083F868C:: @ 83F868C
- .incbin "baserom.gba", 0x003f868c, 0x30
-
-gUnknown_083F86BC:: @ 83F86BC
- .incbin "baserom.gba", 0x003f86bc, 0x40
-
- .align 2
-gRouletteCenter_Pal::
- .incbin "graphics/roulette/center.gbapal"
-
- .incbin "baserom.gba", 0x003f871c, 0x1A0
-
-gUnknown_083F88BC:: @ 83F88BC
- .incbin "baserom.gba", 0x003f88bc, 0x1a4
-
-gUnknown_083F8A60:: @ 83F8A60
- .incbin "baserom.gba", 0x003f8a60, 0x1a0
-
-gUnknown_083F8C00:: @ 83F8C00
- .incbin "baserom.gba", 0x003f8c00, 0xc
-
-gUnknown_083F8C0C:: @ 83F8C0C
- .incbin "baserom.gba", 0x003f8c0c, 0x184
-
-gUnknown_083F8D90:: @ 83F8D90
- .incbin "baserom.gba", 0x003f8d90, 0x4
-
-gUnknown_083F8D94:: @ 83F8D94
- .incbin "baserom.gba", 0x003f8d94, 0x5c
-
-gUnknown_083F8DF0:: @ 83F8DF0
- .incbin "baserom.gba", 0x003f8df0, 0x4
-
-gUnknown_083F8DF4:: @ 83F8DF4
- .incbin "baserom.gba", 0x003f8df4, 0x40
-
-gUnknown_083F8E34:: @ 83F8E34
- .incbin "baserom.gba", 0x003f8e34, 0x68
-
-gUnknown_083F8E9C:: @ 83F8E9C
- .incbin "baserom.gba", 0x003f8e9c, 0x18
-
- .align 2
-gUnknown_083F8EB4:: @ 83F8EB4
- .4byte sub_811755C
- .4byte sub_81175C0
-
- .align 2
-gUnknown_083F8EBC:: @ 83F8EBC
- .4byte sub_811577C
- .4byte sub_81157AC
-
-gUnknown_083F8EC4:: @ 83F8EC4
- .incbin "baserom.gba", 0x003f8ec4, 0x6
-
-gUnknown_083F8ECA:: @ 83F8ECA
- .incbin "baserom.gba", 0x003f8eca, 0x4
-
-gUnknown_083F8ECE:: @ 83F8ECE
- .incbin "baserom.gba", 0x003f8ece, 0xa
-
-gUnknown_083F8ED8:: @ 83F8ED8
- .incbin "baserom.gba", 0x003f8ed8, 0x10
-
-gUnknown_083F8EE8:: @ 83F8EE8
- .incbin "baserom.gba", 0x003f8ee8, 0xc
-
-gUnknown_083F8EF4:: @ 83F8EF4
- .byte 0, 3, 4, 6, 12
-
- .align 2
-RouletteSpritePalette_01:
- .incbin "graphics/roulette/shadow.gbapal"
-
- .align 2
-RouletteSpritePalette_02:
- .incbin "graphics/roulette/ball.gbapal"
-
- .align 2
-RouletteSpritePalette_03:
- .incbin "graphics/roulette/ball_counter.gbapal"
-
- .align 2
-RouletteSpritePalette_04:
- .incbin "graphics/roulette/cursor.gbapal"
-
- .align 2
-RouletteSpritePalette_05:
- .incbin "graphics/roulette/credit.gbapal"
-
- .align 2
-RouletteSpritePalette_06:
- .incbin "graphics/roulette/shroomish.gbapal"
-
- .align 2
-RouletteSpritePalette_07:
- .incbin "graphics/roulette/tailow.gbapal"
-
- .align 2
-RouletteSpritePalette_08:
- .incbin "graphics/roulette/poke_icons.gbapal"
-
- .align 2
-RouletteSpritePalette_09:
- .incbin "graphics/roulette/wynaut.gbapal"
-
- .align 2
-RouletteSpritePalette_10:
- .incbin "graphics/roulette/azurill.gbapal"
-
- .align 2
-RouletteSpritePalette_11:
- .incbin "graphics/roulette/skitty.gbapal"
-
- .align 2
-RouletteSpritePalette_12:
- .incbin "graphics/roulette/makuhita.gbapal"
-
- .align 2
-RouletteSpritePalette_13:
- .incbin "baserom.gba", 0x003F907C, 0x20
-
- .align 2
-RouletteSpritePalette_14:
- .incbin "baserom.gba", 0x003F909C, 0x20
-
- .align 2
-RouletteSpritePalette_15:
- .incbin "baserom.gba", 0x003F90BC, 0x20
-
- .align 2
-RouletteSpritePalette_16:
- .incbin "baserom.gba", 0x003F90DC, 0x20
-
- .align 2
-gUnknown_083F90FC:: @ 83F90FC
- .incbin "graphics/roulette/ball.4bpp.lz"
-
- .align 2
-RouletteBallCounterTiles: @ 83F9244
- .incbin "graphics/roulette/ball_counter.4bpp.lz"
-
- .align 2
-gUnknown_083F92A8:: @ 83F92A8
- .incbin "graphics/roulette/roulette_tilt.4bpp.lz"
-
- .align 2
-RoulettePokeIconsTiles: @ 83F9698
- .incbin "graphics/roulette/poke_icons.4bpp.lz"
-
- .align 2
-RoulettePokeIcons2Tiles: @ 83F983C
- .incbin "graphics/roulette/poke_icons2.4bpp.lz"
-
- .align 2
-gUnknown_083F9D3C:: @ 83F9D3C
- .incbin "graphics/roulette/shadow.4bpp.lz"
-
- .align 2
-RouletteCursorTiles: @ 83F9DD4
- .incbin "graphics/roulette/cursor.4bpp.lz"
-
- .align 2
-gUnknown_083F9E30:: @ 83F9E30
- obj_pal RouletteSpritePalette_01, 1
- obj_pal RouletteSpritePalette_02, 2
- obj_pal RouletteSpritePalette_03, 3
- obj_pal RouletteSpritePalette_04, 4
- obj_pal RouletteSpritePalette_05, 5
- obj_pal RouletteSpritePalette_06, 6
- obj_pal RouletteSpritePalette_07, 7
- obj_pal RouletteSpritePalette_08, 8
- obj_pal RouletteSpritePalette_09, 9
- obj_pal RouletteSpritePalette_10, 10
- obj_pal RouletteSpritePalette_11, 11
- obj_pal RouletteSpritePalette_12, 12
- obj_pal RouletteSpritePalette_13, 13
- obj_pal RouletteSpritePalette_14, 14
- obj_pal RouletteSpritePalette_15, 15
- obj_pal RouletteSpritePalette_16, 16
- null_obj_pal
-
- .align 2
-gOamData_83F9EB8:: @ 83F9EB8
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gOamData_83F9EC0:: @ 83F9EC0
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gOamData_83F9EC8:: @ 83F9EC8
- .2byte 0x833C
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83F9ED0:: @ 83F9ED0
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83F9ED8:: @ 83F9ED8
- .4byte gSpriteAnim_83F9ED0
-
- .align 2
-gSpriteAffineAnim_83F9EDC:: @ 83F9EDC
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83F9EE4:: @ 83F9EE4
- .4byte gSpriteAffineAnim_83F9EDC
-
- .align 2
-gUnknown_083F9EE8:: @ 83F9EE8
- obj_tiles RoulettePokeIcons2Tiles, 0xC00, 0
-
- .align 2
-gSpriteAnim_83F9EF0:: @ 83F9EF0
- obj_image_anim_frame 0, 0
- obj_image_anim_frame 32, 0
- obj_image_anim_frame 64, 0
- obj_image_anim_frame 72, 0
- obj_image_anim_frame 8, 0
- obj_image_anim_frame 40, 0
- obj_image_anim_frame 48, 0
- obj_image_anim_frame 80, 0
- obj_image_anim_frame 16, 0
- obj_image_anim_frame 24, 0
- obj_image_anim_frame 56, 0
- obj_image_anim_frame 88, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83F9F24:: @ 83F9F24
- .4byte gSpriteAnim_83F9EF0
-
- .align 2
-gSpriteAnimTable_83F9F28:: @ 83F9F28
- .4byte gSpriteAnim_83F9EF0 + 0x4
-
- .align 2
-gSpriteAnimTable_83F9F2C:: @ 83F9F2C
- .4byte gSpriteAnim_83F9EF0 + 0x8
-
- .align 2
-gSpriteAnimTable_83F9F30:: @ 83F9F30
- .4byte gSpriteAnim_83F9EF0 + 0xC
-
- .align 2
-gSpriteAnimTable_83F9F34:: @ 83F9F34
- .4byte gSpriteAnim_83F9EF0 + 0x10
-
- .align 2
-gSpriteAnimTable_83F9F38:: @ 83F9F38
- .4byte gSpriteAnim_83F9EF0 + 0x14
-
- .align 2
-gSpriteAnimTable_83F9F3C:: @ 83F9F3C
- .4byte gSpriteAnim_83F9EF0 + 0x18
-
- .align 2
-gSpriteAnimTable_83F9F40:: @ 83F9F40
- .4byte gSpriteAnim_83F9EF0 + 0x1C
-
- .align 2
-gSpriteAnimTable_83F9F44:: @ 83F9F44
- .4byte gSpriteAnim_83F9EF0 + 0x20
-
- .align 2
-gSpriteAnimTable_83F9F48:: @ 83F9F48
- .4byte gSpriteAnim_83F9EF0 + 0x24
-
- .align 2
-gSpriteAnimTable_83F9F4C:: @ 83F9F4C
- .4byte gSpriteAnim_83F9EF0 + 0x28
-
- .align 2
-gSpriteAnimTable_83F9F50:: @ 83F9F50
- .4byte gSpriteAnim_83F9EF0 + 0x2C
-
- .align 2
-gUnknown_083F9F54:: @ 83F9F54
- obj_tiles gRouletteHeadersTiles, 0x1600, 4
-
- .align 2
-gUnknown_083F9F5C:: @ 83F9F5C
- obj_tiles RoulettePokeIconsTiles, 0x400, 5
-
- .align 2
-gSpriteAnim_83F9F64:: @ 83F9F64
- obj_image_anim_frame 0, 0
- obj_image_anim_frame 16, 0
- obj_image_anim_frame 32, 0
- obj_image_anim_frame 48, 0
- obj_image_anim_frame 64, 0
- obj_image_anim_frame 80, 0
- obj_image_anim_frame 96, 0
- obj_image_anim_frame 112, 0
- obj_image_anim_frame 128, 0
- obj_image_anim_frame 144, 0
- obj_image_anim_frame 160, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83F9F94:: @ 83F9F94
- obj_image_anim_frame 0, 0
- obj_image_anim_frame 4, 0
- obj_image_anim_frame 8, 0
- obj_image_anim_frame 12, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83F9FA8:: @ 83F9FA8
- .4byte gSpriteAnim_83F9F64
-
- .align 2
-gSpriteAnimTable_83F9FAC:: @ 83F9FAC
- .4byte gSpriteAnim_83F9F64 + 0x8
-
- .align 2
-gSpriteAnimTable_83F9FB0:: @ 83F9FB0
- .4byte gSpriteAnim_83F9F64 + 0x10
-
- .align 2
-gSpriteAnimTable_83F9FB4:: @ 83F9FB4
- .4byte gSpriteAnim_83F9F64 + 0x18
-
- .align 2
-gSpriteAnimTable_83F9FB8:: @ 83F9FB8
- .4byte gSpriteAnim_83F9F64 + 0x20
-
- .align 2
-gSpriteAnimTable_83F9FBC:: @ 83F9FBC
- .4byte gSpriteAnim_83F9F64 + 0x24
-
- .align 2
-gSpriteAnimTable_83F9FC0:: @ 83F9FC0
- .4byte gSpriteAnim_83F9F64 + 0x28
-
- .align 2
-gSpriteAnimTable_83F9FC4:: @ 83F9FC4
- .4byte gSpriteAnim_83F9F94
-
- .align 2
-gSpriteAnimTable_83F9FC8:: @ 83F9FC8
- .4byte gSpriteAnim_83F9F94 + 0x4
-
- .align 2
-gSpriteAnimTable_83F9FCC:: @ 83F9FCC
- .4byte gSpriteAnim_83F9F94 + 0x8
-
- .align 2
-gSpriteAnimTable_83F9FD0:: @ 83F9FD0
- .4byte gSpriteAnim_83F9F94 + 0xC
-
- .align 2
-gSpriteTemplate_83F9FD4:: @ 83F9FD4
- spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FA8, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83F9FEC:: @ 83F9FEC
- spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FAC, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA004:: @ 83FA004
- spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB0, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA01C:: @ 83FA01C
- spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB4, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA034:: @ 83FA034
- spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB8, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA04C:: @ 83FA04C
- spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FBC, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA064:: @ 83FA064
- spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FC0, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA07C:: @ 83FA07C
- spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC4, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA094:: @ 83FA094
- spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC8, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA0AC:: @ 83FA0AC
- spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FCC, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA0C4:: @ 83FA0C4
- spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FD0, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA0DC:: @ 83FA0DC
- spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F24, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA0F4:: @ 83FA0F4
- spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F28, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA10C:: @ 83FA10C
- spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F2C, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA124:: @ 83FA124
- spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F30, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA13C:: @ 83FA13C
- spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F34, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA154:: @ 83FA154
- spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F38, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA16C:: @ 83FA16C
- spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F3C, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA184:: @ 83FA184
- spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F40, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA19C:: @ 83FA19C
- spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F44, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA1B4:: @ 83FA1B4
- spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F48, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA1CC:: @ 83FA1CC
- spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F4C, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gSpriteTemplate_83FA1E4:: @ 83FA1E4
- spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F50, NULL, gDummySpriteAffineAnimTable, sub_8117E98
-
- .align 2
-gOamData_83FA1FC:: @ 83FA1FC
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gOamData_83FA204:: @ 83FA204
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gOamData_83FA20C:: @ 83FA20C
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gOamData_83FA214:: @ 83FA214
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gUnknown_083FA21C:: @ 83FA21C
- obj_tiles gRouletteCreditTiles, 0x400, 7
- obj_tiles gRouletteNumbersTiles, 0x280, 8
- obj_tiles gRouletteMultiplierTiles, 0x500, 9
- obj_tiles RouletteBallCounterTiles, 0x140, 10
- obj_tiles RouletteCursorTiles, 0x200, 11
- null_obj_tiles
-
- .align 2
-gSpriteAnim_83FA24C:: @ 83FA24C
- obj_image_anim_frame 0, 0
- obj_image_anim_frame 2, 0
- obj_image_anim_frame 4, 0
- obj_image_anim_frame 6, 0
- obj_image_anim_frame 8, 0
- obj_image_anim_frame 10, 0
- obj_image_anim_frame 12, 0
- obj_image_anim_frame 14, 0
- obj_image_anim_frame 16, 0
- obj_image_anim_frame 18, 0
-
- .align 2
-gSpriteAnimTable_83FA274:: @ 83FA274
- .4byte gSpriteAnim_83FA24C
-
- .align 2
-gSpriteAnim_83FA278:: @ 83FA278
- obj_image_anim_frame 0, 0
- obj_image_anim_frame 8, 0
- obj_image_anim_frame 16, 0
- obj_image_anim_frame 24, 0
- obj_image_anim_frame 32, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83FA290:: @ 83FA290
- .4byte gSpriteAnim_83FA278
-
- .align 2
-gSpriteAnim_83FA294:: @ 83FA294
- obj_image_anim_frame 0, 0
- obj_image_anim_frame 2, 0
- obj_image_anim_frame 4, 0
- obj_image_anim_frame 6, 0
- obj_image_anim_frame 8, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83FA2AC:: @ 83FA2AC
- .4byte gSpriteAnim_83FA294
-
- .align 2
-gSpriteTemplate_83FA2B0:: @ 83FA2B0
- spr_template 7, 5, gOamData_83FA1FC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83FA2C8:: @ 83FA2C8
- spr_template 8, 5, gOamData_83FA204, gSpriteAnimTable_83FA274, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83FA2E0:: @ 83FA2E0
- spr_template 9, 5, gOamData_83FA20C, gSpriteAnimTable_83FA290, NULL, gDummySpriteAffineAnimTable, sub_81184CC
-
- .align 2
-gSpriteTemplate_83FA2F8:: @ 83FA2F8
- spr_template 10, 3, gOamData_83FA214, gSpriteAnimTable_83FA2AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83FA310:: @ 83FA310
- spr_template 11, 5, gOamData_83F9EB8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_83FA328:: @ 83FA328
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteImageTable_83FA330:: @ 83FA330
- obj_frame_tiles 0x02017E00, 0x80
- obj_frame_tiles 0x02017E80, 0x80
- obj_frame_tiles 0x02017F00, 0x80
- obj_frame_tiles 0x02017F80, 0x80
-
- .align 2
-gSpriteAnim_83FA350:: @ 83FA350
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 1, 5
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 1, 5
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83FA364:: @ 83FA364
- obj_image_anim_frame 0, 10
- obj_image_anim_frame 1, 10
- obj_image_anim_frame 2, 10
- obj_image_anim_frame 1, 10
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83FA378:: @ 83FA378
- obj_image_anim_frame 0, 15
- obj_image_anim_frame 1, 15
- obj_image_anim_frame 2, 15
- obj_image_anim_frame 1, 15
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83FA38C:: @ 83FA38C
- obj_image_anim_frame 1, 2
- obj_image_anim_frame 2, 5
- obj_image_anim_frame 1, 5
- obj_image_anim_frame 3, 5
- obj_image_anim_end
-
- .align 2
-Unknown_083FA3A0:
- .incbin "baserom.gba", 0x003fa3a0, 0x18
-Unknown_083FA3B8:
- .incbin "baserom.gba", 0x003fa3b8, 0x14
-Unknown_083FA3CC:
- .incbin "baserom.gba", 0x003fa3cc, 0x8
-
- .align 2
-gSpriteAnim_83FA3D4:: @ 83FA3D4
- obj_image_anim_frame 2, 2
- obj_image_anim_frame 1, 5
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 3, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83FA3E8:: @ 83FA3E8
- .4byte gSpriteAnim_83FA350
- .4byte gSpriteAnim_83FA364
- .4byte gSpriteAnim_83FA378
- .4byte gSpriteAnim_83FA38C
- .4byte gSpriteAnim_83FA3D4
-
- .align 2
- .4byte Unknown_083FA3A0
- .4byte Unknown_083FA3B8
- .4byte Unknown_083FA3B8
- .4byte Unknown_083FA3CC
-
- .align 2
-gSpriteTemplate_83FA40C:: @ 83FA40C
- spr_template 0xFFFF, 2, gOamData_83FA328, gSpriteAnimTable_83FA3E8, gSpriteImageTable_83FA330, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_83FA424:: @ 83FA424
- .2byte 0x0351
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gUnknown_083FA42C:: @ 83FA42C
- obj_tiles gRouletteCenter_Gfx, 2048, 0x0006
-
- .align 2
-gSpriteTemplate_83FA434:: @ 83FA434
- spr_template 6, 2, gOamData_83FA424, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8118554
-
- .align 2
-gOamData_83FA44C:: @ 83FA44C
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_83FA454:: @ 83FA454
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gSpriteImageTable_83FA45C:: @ 83FA45C
- obj_frame_tiles 0x02017000, 0x200
- obj_frame_tiles 0x02017200, 0x200
- obj_frame_tiles 0x02017400, 0x200
- obj_frame_tiles 0x02017600, 0x200
- obj_frame_tiles 0x02017800, 0x200
- obj_frame_tiles 0x02017A00, 0x200
- obj_frame_tiles 0x02017C00, 0x200
-
- .align 2
-gSpriteAnim_83FA494:: @ 83FA494
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_frame 2, 6
- obj_image_anim_frame 3, 6
- obj_image_anim_frame 2, 6
- obj_image_anim_frame 4, 6
- obj_image_anim_jump 2
-
- .align 2
-gSpriteAnim_83FA4B0:: @ 83FA4B0
- obj_image_anim_frame 5, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83FA4B8:: @ 83FA4B8
- obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83FA4C0:: @ 83FA4C0
- obj_image_anim_frame 5, 20
- obj_image_anim_frame 6, 20
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83FA4CC:: @ 83FA4CC
- obj_image_anim_frame 5, 20, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 6, 20, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83FA4D8:: @ 83FA4D8
- obj_image_anim_frame 5, 10
- obj_image_anim_frame 6, 10
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83FA4E4:: @ 83FA4E4
- obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 6, 10, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83FA4F0:: @ 83FA4F0
- .4byte gSpriteAnim_83FA494
-
- .align 2
-gSpriteAnimTable_83FA4F4:: @ 83FA4F4
- .4byte gSpriteAnim_83FA4B0
- .4byte gSpriteAnim_83FA4B8
- .4byte gSpriteAnim_83FA4C0
- .4byte gSpriteAnim_83FA4CC
- .4byte gSpriteAnim_83FA4D8
- .4byte gSpriteAnim_83FA4E4
-
- .align 2
-gSpriteTemplate_83FA50C:: @ 83FA50C
- spr_template 0xFFFF, 6, gOamData_83FA44C, gSpriteAnimTable_83FA4F0, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83FA524:: @ 83FA524
- spr_template 0xFFFF, 7, gOamData_83FA454, gSpriteAnimTable_83FA4F4, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, sub_8119D80
-
- .align 2
-gOamData_83FA53C:: @ 83FA53C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gOamData_83FA544:: @ 83FA544
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gOamData_83FA54C:: @ 83FA54C
- .2byte 0x4100
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gSpriteImageTable_83FA554: @ 83FA554
- obj_frame_tiles 0x02018000, 0x80
-
- .align 2
-gSpriteImageTable_83FA55C: @ 83FA55C
- obj_frame_tiles 0x02018080, 0x100
-
- .align 2
-gUnknown_083FA564: @ 83FA564
- .incbin "baserom.gba", 0x003fa564, 0x18
-
- .align 2
-gSpriteAffineAnim_83FA57C:: @ 83FA57C
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFFE, 0x0, 0, 15
- obj_rot_scal_anim_frame 0xFFFF, 0xFFFE, 0, 15
- obj_rot_scal_anim_frame 0xFFFF, 0xFFFB, 0, 24
- obj_rot_scal_anim_end
-
- .align 2
- .4byte gUnknown_083FA564
-
- .align 2
-gSpriteAffineAnimTable_83FA5A8:: @ 83FA5A8
- .4byte gSpriteAffineAnim_83FA57C
-
- .align 2
-gUnknown_083FA5AC:: @ 83FA5AC
- .incbin "baserom.gba", 0x003fa5ac, 0x10
-
- .align 2
-@ unreferenced
- .4byte gUnknown_083FA5AC
-
- .align 2
-gSpriteTemplate_83FA5C0:: @ 83FA5C0
- spr_template 0xFFFF, 1, gOamData_83FA53C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA554, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83FA5D8:: @ 83FA5D8
- spr_template 0xFFFF, 1, gOamData_83FA544, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gDummySpriteAffineAnimTable, sub_8119964
-
- .align 2
-gSpriteTemplate_83FA5F0:: @ 83FA5F0
- spr_template 0xFFFF, 1, gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80
-
-gUnknown_083FA608:: @ 83FA608
- .incbin "baserom.gba", 0x003fa608, 0x6
-
- .align 1
-gUnknown_083FA60E:: @ 83FA60E
- .2byte 0x74, 0x2C
- .2byte 0x74, 0x70
-
-gUnknown_083FA616:: @ 83FA616
- .incbin "baserom.gba", 0x003fa616, 0x8
-
-gUnknown_083FA61E:: @ 83FA61E
- .incbin "baserom.gba", 0x003fa61e, 0x14
-
-gUnknown_083FA632:: @ 83FA632
- .incbin "baserom.gba", 0x003fa632, 0x18
-
-gUnknown_083FA64A:: @ 83FA64A
- .byte -1, 1
-
-gUnknown_083FA64C:: @ 83FA64C
- .incbin "baserom.gba", 0x003fa64c, 0x10
-
- .align 2
-CryMeterNeedlePalette: @ 83FA65C
- .incbin "graphics/pokedex/cry_meter_needle.gbapal"
-
- .align 2
-CryMeterNeedleTiles: @ 83FA67C
- .incbin "graphics/pokedex/cry_meter_needle.4bpp"
-
-gUnknown_083FAE7C:: @ 83FAE7C
- .incbin "baserom.gba", 0x003fae7c, 0xa0
-
-gUnknown_083FAF1C:: @ 83FAF1C
- .incbin "graphics/pokedex/cry_meter.gbapal"
-
-gUnknown_083FAF3C:: @ 83FAF3C
- .incbin "graphics/pokedex/cry_meter.4bpp.lz"
-
- .align 1
-gUnknown_083FB274:: @ 83FB274
- .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C
- .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C
- .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D
- .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D
- .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E
- .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E
- .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F
- .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F
-
- .align 2
- .4byte 0x201C000
-
-gUnknown_083FB6F8:: @ 83FB6F8
- .incbin "baserom.gba", 0x003fb6f8, 0x20
-
-gUnknown_083FB718:: @ 83FB718
- .incbin "baserom.gba", 0x003fb718, 0x20
-
-gUnknown_083FB738:: @ 83FB738
- .byte 0xF0, 0x0F
-
-gUnknown_083FB73A:: @ 83FB73A
- .incbin "baserom.gba", 0x003fb73a, 0x26
-
- .align 2
-gSpriteAnim_83FB760:: @ 83FB760
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83FB768:: @ 83FB768
- .4byte gSpriteAnim_83FB760
-
- .align 2
-gOamData_83FB76C:: @ 83FB76C
- .2byte 0x01A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_83FB774:: @ 83FB774
- spr_template 8192, 8192, gOamData_83FB76C, gSpriteAnimTable_83FB768, NULL, gDummySpriteAffineAnimTable, sub_811A534
-
- .align 2
-gCryMeterNeedleSpriteSheets:: @ 83FB78C
- obj_tiles CryMeterNeedleTiles, 0x800, 8192
- null_obj_tiles
-
- .align 2
-gCryMeterNeedleSpritePalettes:: @ 83FB79C
- obj_pal CryMeterNeedlePalette, 8192
- null_obj_pal
-
-@ 83FB7AC
- .include "data/landmarks.inc"
-
- .align 2
-gUnknown_083FBB88:: @ 83FBB88
- .incbin "graphics/battle_transitions/big_pokeball.4bpp"
-
- .align 2
-gUnknown_083FC108:: @ 83FC108
- .incbin "graphics/battle_transitions/pokeball_trail.4bpp"
-
- .align 2
-gSpriteImage_83FC148:: @ 83FC148
- .incbin "graphics/battle_transitions/pokeball.4bpp"
-
- .align 2
-gUnknown_083FC348:: @ 83FC348
- .incbin "graphics/battle_transitions/elite_four_bg.4bpp"
-
- .align 2
-gSpriteImage_83FC528:: @ 83FC528
- .incbin "graphics/battle_transitions/unused_brendan.4bpp"
-
- .align 2
-gSpriteImage_83FCD28:: @ 83FCD28
- .incbin "graphics/battle_transitions/unused_lass.4bpp"
-
- .align 2
-gUnknown_083FD528:: @ 83FD528
- .incbin "graphics/battle_transitions/shrinking_box.4bpp"
-
- .align 2
-gUnknown_083FD708:: @ 83FD708
- .4byte 0x0200c000
-
- .align 2
-gUnknown_083FD70C:: @ 83FD70C
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
- .4byte sub_811AC64
-
- .align 2
-gBattleTransitionFuncs:: @ 83FD750
- .4byte sub_811ACB4
- .4byte sub_811ADAC
- .4byte sub_811AF44
- .4byte sub_811B0F0
- .4byte sub_811B578
- .4byte sub_811B7E8
- .4byte sub_811BCBC
- .4byte sub_811BEA0
- .4byte sub_811CA5C
- .4byte sub_811CCDC
- .4byte sub_811D0B8
- .4byte sub_811D1C8
- .4byte sub_811C08C
- .4byte sub_811C0AC
- .4byte sub_811C0CC
- .4byte sub_811C0EC
- .4byte sub_811C10C
-
- .align 2
-gUnknown_083FD794:: @ 83FD794
- .4byte sub_811AB88
- .4byte sub_811ABD8
- .4byte sub_811AC0C
- .4byte sub_811AC34
-
- .align 2
-gUnknown_083FD7A4:: @ 83FD7A4
- .4byte sub_811ACEC
- .4byte sub_811AD1C
- .4byte sub_811AD80
-
- .align 2
-gUnknown_083FD7B0:: @ 83FD7B0
- .4byte sub_811ADE4
- .4byte sub_811AE70
-
- .align 2
-gUnknown_083FD7B8:: @ 83FD7B8
- .4byte sub_811AF7C
- .4byte sub_811B000
-
- .align 2
-gUnknown_083FD7C0:: @ 83FD7C0
- .4byte sub_811B128
- .4byte sub_811B1D8
- .4byte sub_811B268
- .4byte sub_811B2F4
- .4byte sub_811B380
- .4byte sub_811B3EC
-
- .align 2
-gUnknown_083FD7D8:: @ 83FD7D8
- .4byte sub_811B5B0
- .4byte sub_811B5FC
- .4byte sub_811B688
-
- .align 1
-gUnknown_083FD7E4:: @ 83FD7E4
- .2byte -16
- .2byte 256
-
- .align 1
-gUnknown_083FD7E8:: @ 83FD7E8
- .2byte 0
- .2byte 32
- .2byte 64
- .2byte 18
- .2byte 48
-
- .align 1
-gUnknown_083FD7F2:: @ 83FD7F2
- .2byte 8
- .2byte -8
-
- .align 2
-gUnknown_083FD7F8:: @ 83FD7F8
- .4byte sub_811B820
- .4byte sub_811B884
- .4byte sub_811B90C
- .4byte sub_811B9F0
- .4byte sub_811BA70
- .4byte sub_811BB60
- .4byte sub_811BBEC
-
- .align 2
-gUnknown_083FD814:: @ 83FD814
- .4byte sub_811BCF4
- .4byte sub_811BD60
-
- .align 2
-gUnknown_083FD81C:: @ 83FD81C
- .4byte sub_811BED8
- .4byte sub_811BF2C
- .4byte sub_811BFC4
-
- .align 2
-gUnknown_083FD828:: @ 83FD828
- .4byte sub_811C164
- .4byte sub_811C1CC
- .4byte sub_811C2A4
- .4byte sub_811C38C
- .4byte sub_811C400
- .4byte sub_811C43C
- .4byte sub_811C4F0
- .4byte sub_811C5B4
- .4byte sub_811C5E8
- .4byte sub_811C630
-
-gUnknown_083FD850:: @ 83FD850
- .incbin "baserom.gba", 0x003fd850, 0x6
-
-gUnknown_083FD856:: @ 83FD856
- .incbin "baserom.gba", 0x003fd856, 0x14
-
-gUnknown_083FD86A:: @ 83FD86A
- .incbin "baserom.gba", 0x003fd86a, 0x16
-
- .align 2
-gUnknown_083FD880:: @ 83FD880
- .4byte sub_811C934
- .4byte sub_811C938
- .4byte sub_811C984
- .4byte sub_811C9B8
- .4byte sub_811C934
- .4byte sub_811C9E4
- .4byte sub_811C934
-
-gUnknown_083FD89C:: @ 83FD89C
- .incbin "baserom.gba", 0x003fd89c, 0x4
-
-gUnknown_083FD8A0:: @ 83FD8A0
- .incbin "baserom.gba", 0x003fd8a0, 0x4
-
- .align 2
-gUnknown_083FD8A4:: @ 83FD8A4
- .4byte sub_811CA94
- .4byte sub_811CB20
- .4byte sub_811CBE8
-
- .align 2
-gUnknown_083FD8B0:: @ 83FD8B0
- .4byte sub_811CD14
- .4byte sub_811CDA0
- .4byte sub_811CE14
- .4byte sub_811CE4C
- .4byte sub_811CEB0
-
-gUnknown_083FD8C4:: @ 83FD8C4
- .incbin "baserom.gba", 0x003fd8c4, 0x10
-
- .align 2
-gUnknown_083FD8D4:: @ 83FD8D4
- .4byte sub_811D0F0
- .4byte sub_811D144
- .4byte sub_811D19C
-
- .align 2
-gUnknown_083FD8E0:: @ 83FD8E0
- .4byte sub_811D200
- .4byte sub_811D260
- .4byte sub_811D2D8
- .4byte sub_811D3B0
- .4byte sub_811D41C
-
-gUnknown_083FD8F4:: @ 83FD8F4
- .incbin "baserom.gba", 0x003fd8f4, 0x46
-
-gUnknown_083FD93A:: @ 83FD93A
- .incbin "baserom.gba", 0x003fd93a, 0xe
-
- .align 2
-gUnknown_083FD948:: @ 83FD948
- .4byte sub_811D584
- .4byte sub_811D5E0
-
- .align 2
-gSpriteImageTable_83FD950:: @ 83FD950
- obj_frame_tiles gSpriteImage_83FC148, 0x200
-
- .align 2
-gSpriteAnim_83FD958:: @ 83FD958
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83FD960:: @ 83FD960
- .4byte gSpriteAnim_83FD958
-
- .align 2
-gSpriteAffineAnim_83FD964:: @ 83FD964
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_83FD974:: @ 83FD974
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 1
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_83FD984:: @ 83FD984
- .4byte gSpriteAffineAnim_83FD964
- .4byte gSpriteAffineAnim_83FD974
-
- .align 2
-gSpriteTemplate_83FD98C:: @ 83FD98C
- spr_template 0xFFFF, 4105, gFieldOamData_32x32, gSpriteAnimTable_83FD960, gSpriteImageTable_83FD950, gSpriteAffineAnimTable_83FD984, sub_811B720
-
- .align 2
-gOamData_83FD9A4:: @ 83FD9A4
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteImageTable_83FD9AC:: @ 83FD9AC
- obj_frame_tiles gSpriteImage_83FC528, 0x800
-
- .align 2
-gSpriteImageTable_83FD9B4:: @ 83FD9B4
- obj_frame_tiles gSpriteImage_83FCD28, 0x800
-
- .align 2
-gSpriteAnim_83FD9BC:: @ 83FD9BC
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83FD9C4:: @ 83FD9C4
- .4byte gSpriteAnim_83FD9BC
-
- .align 2
-gSpriteTemplate_83FD9C8:: @ 83FD9C8
- spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9AC, gDummySpriteAffineAnimTable, sub_811C90C
-
- .align 2
-gSpriteTemplate_83FD9E0:: @ 83FD9E0
- spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9B4, gDummySpriteAffineAnimTable, sub_811C90C
-
- .align 2
-gFieldEffectObjectPalette10:: @ 83FD9F8
- .incbin "graphics/field_effect_objects/palettes/10.gbapal"
-
- .align 2
-gFieldEffectObjectPaletteInfo10:: @ 83FDA18
- obj_pal gFieldEffectObjectPalette10, 0x1009
-
- .align 2
-Unknown_83FDA20:
- .incbin "graphics/battle_transitions/sidney_bg.gbapal"
-
- .align 2
-Unknown_83FDA40:
- .incbin "graphics/battle_transitions/phoebe_bg.gbapal"
-
- .align 2
-Unknown_83FDA60:
- .incbin "graphics/battle_transitions/glacia_bg.gbapal"
-
- .align 2
-Unknown_83FDA80:
- .incbin "graphics/battle_transitions/drake_bg.gbapal"
-
- .align 2
-Unknown_83FDAA0:
- .incbin "graphics/battle_transitions/steven_bg.gbapal"
-
- .align 2
-Unknown_83FDAC0:
- .incbin "graphics/battle_transitions/brendan_bg.gbapal"
-
- .align 2
-Unknown_83FDAE0:
- .incbin "graphics/battle_transitions/may_bg.gbapal"
-
- .align 2
-gUnknown_083FDB00:: @ 83FDB00
- .4byte Unknown_83FDA20
- .4byte Unknown_83FDA40
- .4byte Unknown_83FDA60
- .4byte Unknown_83FDA80
- .4byte Unknown_83FDAA0
-
- .align 2
-gUnknown_083FDB14:: @ 83FDB14
- .4byte Unknown_83FDAC0
- .4byte Unknown_83FDAE0
-
- .align 2
-UnusedTrainerPalette:
- .incbin "graphics/battle_transitions/unused_trainer.gbapal"
-
- .align 2
-gSpritePalette_UnusedTrainer:: @ 83FDB3C
- obj_pal UnusedTrainerPalette, 0x100A
-
- .align 2
-gUnknown_083FDB44:: @ 83FDB44
- .incbin "graphics/battle_transitions/big_pokeball_map.bin"
-
- .align 2
-gUnknown_083FDFF4:: @ 83FDFF4
- .incbin "graphics/battle_transitions/elite_four_bg_map.bin"
-
- .include "data/text/battle_strings.inc"
-
-gUnknown_084016BC:: @ 84016BC
- .incbin "baserom.gba", 0x004016bc, 0xec
-
-gUnknown_084017A8:: @ 84017A8
- .incbin "baserom.gba", 0x004017a8, 0x8
-
- .align 2
-gUnknown_084017B0:: @ 84017B0
- .4byte OtherText_Summary, sub_812265C
- .4byte OtherText_Enter2, sub_8122694
- .4byte OtherText_NoEntry, sub_8122770
- .4byte gUnknownText_Exit, sub_8122838
-
-gUnknown_084017D0:: @ 84017D0
- .byte 1, 0, 3
-
-gUnknown_084017D3: @ 84017D3
- .byte 2, 0, 3
-
-gUnknown_084017D6: @ 84017D6
- .byte 0, 3
-
- .align 2
-gUnknown_084017D8:: @ 84017D8
- .byte 3, 9
- .space 2
- .4byte gUnknown_084017D0
-
- .byte 3, 9
- .space 2
- .4byte gUnknown_084017D3
-
- .byte 2, 9
- .space 2
- .4byte gUnknown_084017D6
-
- .align 2
-gUnknown_084017F0:: @ 84017F0
- .4byte OtherText_Store, sub_8122F70
- .4byte OtherText_Summary, sub_81230BC
- .4byte gUnknownText_Exit, sub_81230F4
-
-gUnknown_08401808:: @ 8401808
- .byte 0, 1, 2
-
-gUnknown_0840180B:: @ 840180B
- .byte 1, 2
-
- .align 2
-gUnknown_08401810:: @ 8401810
- .byte 3, 9
- .space 2
- .4byte gUnknown_08401808
-
- .byte 2, 9
- .space 2
- .4byte gUnknown_0840180B
-
- .align 2
-gCableCarMtChimneyTilemap:: @ 8401820
- .incbin "graphics/misc/cable_car_mt_chimney_map.bin.lz"
-
- .align 2
-gCableCarTreeTilemap:: @ 8401978
- .incbin "graphics/misc/cable_car_tree_map.bin.lz"
-
- .align 2
-gCableCarMountainTilemap:: @ 8401AFC
- .incbin "graphics/misc/cable_car_mountain_map.bin.lz"
-
- .align 2
-gCableCarPylonHookTilemapEntries:: @ 8401CC0
- .2byte 0x3000
- .2byte 0x3001
- .2byte 0x3002
- .2byte 0x3003
- .2byte 0x3004
- .2byte 0x3005
- .2byte 0x3006
- .2byte 0x3007
- .2byte 0x3008
- .2byte 0x3009
-
- .align 2
-gCableCarPylonStemTilemap:: @ 8401CD4
- .incbin "graphics/misc/cable_car_pylon_stem_map.bin.lz"
-
- .align 2
-gUnknown_08401CF8:: @ 8401CF8
- obj_tiles gCableCar_Gfx, 0x800, 1
- obj_tiles gCableCarDoor_Gfx, 0x40, 2
- obj_tiles gCableCarCord_Gfx, 0x80, 3
- .space 8
-
- .align 2
-gUnknown_08401D18:: @ 8401D18
- obj_pal gCableCar_Pal, 1
- .space 8
-
- .align 2
-gOamData_8401D28:: @ 8401D28
- .2byte 0x0300
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gOamData_8401D30:: @ 8401D30
- .2byte 0x4300
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gOamData_8401D38:: @ 8401D38
- .2byte 0x0300
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteTemplate_8401D40:: @ 8401D40
- spr_template 1, 1, gOamData_8401D28, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8
-
- .align 2
-gSpriteTemplate_8401D58:: @ 8401D58
- spr_template 2, 1, gOamData_8401D30, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8
-
- .align 2
-gSpriteTemplate_8401D70:: @ 8401D70
- spr_template 3, 1, gOamData_8401D38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, nullsub_76
-
-gCableCarPlayerGraphicsIDs:: @ 8401D88
- .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- .byte MAP_OBJ_GFX_RIVAL_MAY_NORMAL
-
-gMtChimneyHikerGraphicsIDs:: @ 8401D8A
- .byte MAP_OBJ_GFX_HIKER
- .byte MAP_OBJ_GFX_CAMPER
- .byte MAP_OBJ_GFX_PICNICKER
- .byte MAP_OBJ_GFX_POOCHYENA @ not used
-
- .align 1
-gMtChimneyHikerCoords:: @ 8401D8E
- .2byte 0, 80
- .2byte 240, 146
-
-gMtChimneyHikerMovementDelayTable:: @ 8401D96
- .byte 0
- .byte 60
- .byte 120
- .byte 170
-
- .align 2
-gUnknown_08401D9C:: @ 8401D9C
- .4byte sub_8123EB8
- .4byte sub_8123F44
-
- .align 2
-gSaveSectionLocations:: @ 8401DA4
- .4byte gSaveBlock2, 0x890
- .4byte gSaveBlock1 + 0xF80 * 0, 0xF80
- .4byte gSaveBlock1 + 0xF80 * 1, 0xF80
- .4byte gSaveBlock1 + 0xF80 * 2, 0xF80
- .4byte gSaveBlock1 + 0xF80 * 3, 0xC40
- .4byte gPokemonStorage + 0xF80 * 0, 0xF80
- .4byte gPokemonStorage + 0xF80 * 1, 0xF80
- .4byte gPokemonStorage + 0xF80 * 2, 0xF80
- .4byte gPokemonStorage + 0xF80 * 3, 0xF80
- .4byte gPokemonStorage + 0xF80 * 4, 0xF80
- .4byte gPokemonStorage + 0xF80 * 5, 0xF80
- .4byte gPokemonStorage + 0xF80 * 6, 0xF80
- .4byte gPokemonStorage + 0xF80 * 7, 0xF80
- .4byte gPokemonStorage + 0xF80 * 8, 0x7D0
-
- .align 2
-gHallOfFameSaveSectionLocations:: @ 8401E14
- .4byte gHallOfFame + 0xF80 * 0, 0xF80
- .4byte gHallOfFame + 0xF80 * 1, 0xF80
-
-gUnknown_08401E24:: @ 8401E24
- .byte 0x1E, 0x1F @ flash sectors
-
-@ XXX: Unused? And why is this aligned?
- .align 2
- .string "タマゴ$"
-
-gUnknown_08401E2C:: @ 8401E2C
- .incbin "baserom.gba", 0x00401e2c, 0x6
-
-gUnknown_08401E32:: @ 8401E32
- .incbin "baserom.gba", 0x00401e32, 0x4
-
-gUnknown_08401E36:: @ 8401E36
- .incbin "baserom.gba", 0x00401e36, 0xa
-
- .align 2
-gUnknown_08401E40:: @ 8401E40
- .4byte sub_81275A0
- .4byte sub_81275C4
-
- .align 2
-gUnknown_08401E48:: @ 8401E48
- .4byte sub_8127DA0
- .4byte sub_8127DD0
- .4byte sub_8127E30
-
-gUnknown_08401E54:: @ 8401E54
- .incbin "baserom.gba", 0x00401e54, 0x6
-
-gUnknown_08401E5A:: @ 8401E5A
- .incbin "baserom.gba", 0x00401e5a, 0x6
-
- .align 2
-gUnknown_08401E60:: @ 8401E60
- .4byte sub_8128AA8
- .4byte contest_ai_get_turn
- .4byte sub_8128B0C
- .4byte sub_8128B4C
- .4byte sub_8128B8C
- .4byte sub_8128BCC
- .4byte contest_ai_get_excitement
- .4byte sub_8128C2C
- .4byte sub_8128C6C
- .4byte sub_8128CAC
- .4byte sub_8128CEC
- .4byte contest_ai_get_user_order
- .4byte sub_8128D50
- .4byte sub_8128D90
- .4byte sub_8128DD0
- .4byte sub_8128E10
- .4byte contest_ai_get_user_condition_maybe
- .4byte sub_8128E90
- .4byte sub_8128ED0
- .4byte sub_8128F10
- .4byte sub_8128F50
- .4byte sub_8128F90
- .4byte sub_8128FBC
- .4byte sub_8129008
- .4byte sub_8129054
- .4byte sub_81290A0
- .4byte sub_81290EC
- .4byte sub_8129114
- .4byte sub_8129160
- .4byte sub_81291AC
- .4byte sub_81291F8
- .4byte contest_ai_get_contest_type
- .4byte sub_8129264
- .4byte sub_81292A4
- .4byte contest_ai_get_move_excitement
- .4byte sub_8129324
- .4byte sub_8129368
- .4byte sub_81293AC
- .4byte sub_81293F0
- .4byte contest_ai_get_move_effect
- .4byte sub_8129470
- .4byte sub_81294B0
- .4byte contest_ai_get_move_effect_type
- .4byte sub_8129538
- .4byte sub_8129578
- .4byte contest_ai_check_move_has_highest_appeal
- .4byte sub_8129638
- .4byte sub_812967C
- .4byte sub_81296FC
- .4byte sub_8129740
- .4byte sub_8129798
- .4byte sub_81297D8
- .4byte sub_8129818
- .4byte sub_8129858
- .4byte sub_8129898
- .4byte sub_81298F0
- .4byte sub_8129930
- .4byte sub_8129970
- .4byte sub_81299B0
- .4byte contest_ai_get_move_used_count
- .4byte sub_8129A44
- .4byte sub_8129A84
- .4byte sub_8129AC4
- .4byte sub_8129B04
- .4byte contest_ai_check_combo_starter
- .4byte sub_8129BB8
- .4byte sub_8129BFC
- .4byte contest_ai_check_combo_finisher
- .4byte sub_8129CB4
- .4byte sub_8129CF8
- .4byte contest_ai_check_would_finish_combo
- .4byte sub_8129D98
- .4byte sub_8129DDC
- .4byte contest_ai_get_condition
- .4byte sub_8129E64
- .4byte sub_8129EA4
- .4byte sub_8129EE4
- .4byte sub_8129F24
- .4byte contest_ai_get_used_combo_starter
- .4byte sub_8129FBC
- .4byte sub_8129FFC
- .4byte sub_812A03C
- .4byte sub_812A07C
- .4byte contest_ai_check_can_participate
- .4byte sub_812A100
- .4byte sub_812A144
- .4byte contest_ai_get_val_812A188
- .4byte sub_812A1C4
- .4byte sub_812A208
- .4byte sub_812A24C
- .4byte sub_812A294
- .4byte sub_812A2D8
- .4byte sub_812A31C
- .4byte sub_812A360
- .4byte sub_812A3A4
- .4byte sub_812A3E4
- .4byte sub_812A428
- .4byte sub_812A46C
- .4byte sub_812A4B0
- .4byte sub_812A4F4
- .4byte sub_812A538
- .4byte sub_812A578
- .4byte sub_812A5B8
- .4byte sub_812A5F8
- .4byte sub_812A638
- .4byte sub_812A674
- .4byte sub_812A6B4
- .4byte sub_812A6F4
- .4byte sub_812A734
- .4byte sub_812A774
- .4byte sub_812A7C4
- .4byte sub_812A804
- .4byte sub_812A844
- .4byte sub_812A86C
- .4byte sub_812A898
- .4byte sub_812A8CC
- .4byte sub_812A8FC
- .4byte sub_812A92C
- .4byte sub_812A978
- .4byte sub_812A9C4
- .4byte sub_812AA10
- .4byte sub_812AA5C
- .4byte sub_812AAAC
- .4byte sub_812AAFC
- .4byte sub_812AB4C
- .4byte sub_812AB9C
- .4byte sub_812ABE8
- .4byte sub_812AC34
- .4byte sub_812AC54
- .4byte sub_812AC84
- .4byte contest_ai_check_for_exciting_move
- .4byte sub_812AD50
- .4byte sub_812AD94
- .4byte sub_812ADD8
- .4byte sub_812AE44
- .4byte sub_812AE88
-
- .align 2
-gUnknown_08402080:: @ 8402080
- .4byte sub_812B864
- .4byte sub_812B870
- .4byte sub_812B87C
- .4byte sub_812B888
- .4byte sub_812B894
- .4byte sub_812B8A0
- .4byte sub_812B8AC
- .4byte sub_812B8B8
- .4byte sub_812B994
- .4byte sub_812B9A0
- .4byte sub_812B9AC
- .4byte sub_812B9B8
- .4byte sub_812B9C4
- .4byte sub_812BA14
- .4byte sub_812BA70
- .4byte sub_812BA7C
- .4byte dp01t_10_6_message
- .4byte dp01t_11_6_message_for_player_only
- .4byte sub_812BB10
- .4byte sub_812BBFC
- .4byte sub_812BC08
- .4byte sub_812BC14
- .4byte sub_812BC54
- .4byte sub_812BC60
- .4byte sub_812BC6C
- .4byte sub_812BC78
- .4byte sub_812BC84
- .4byte sub_812BCC0
- .4byte sub_812BCCC
- .4byte sub_812BCD8
- .4byte sub_812BCE4
- .4byte sub_812BCF0
- .4byte sub_812BCFC
- .4byte sub_812BD08
- .4byte sub_812BD14
- .4byte sub_812BD20
- .4byte sub_812BD2C
- .4byte sub_812BD38
- .4byte sub_812BD44
- .4byte sub_812BD50
- .4byte sub_812BD5C
- .4byte sub_812BD68
- .4byte sub_812BD74
- .4byte sub_812BD80
- .4byte sub_812BDC4
- .4byte sub_812BDF4
- .4byte dp01t_2E_6_battle_intro
- .4byte sub_812BE64
- .4byte sub_812BEB0
- .4byte sub_812BEBC
- .4byte sub_812BEC8
- .4byte sub_812BED4
- .4byte sub_812BEE0
- .4byte sub_812BF3C
- .4byte sub_812BF48
- .4byte sub_812BF54
- .4byte nullsub_78
-
- .align 2
-gSpriteAnim_8402164:: @ 8402164
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 16, 4
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840217C:: @ 840217C
- .4byte gSpriteAnim_8402164
-
- .align 2
-gBattleAnimSpriteTemplate_8402180:: @ 8402180
- spr_template 10137, 10137, gOamData_837E054, gSpriteAnimTable_840217C, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gBattleAnimSpriteTemplate_8402198:: @ 8402198
- spr_template 10016, 10016, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C144
-
- .align 2
-gBattleAnimSpriteTemplate_84021B0:: @ 84021B0
- spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8
-
- .align 2
-gSpriteAnim_84021C8:: @ 84021C8
- obj_image_anim_frame 0, 40
- obj_image_anim_frame 16, 8
- obj_image_anim_frame 32, 40
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_84021D8:: @ 84021D8
- .4byte gSpriteAnim_84021C8
-
- .align 2
-gBattleAnimSpriteTemplate_84021DC:: @ 84021DC
- spr_template 10190, 10190, gOamData_837DF34, gSpriteAnimTable_84021D8, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gBattleAnimSpriteTemplate_84021F4:: @ 84021F4
- spr_template 10191, 10191, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C220
-
- .align 2
-gBattleAnimSpriteTemplate_840220C:: @ 840220C
- spr_template 10189, 10189, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C2BC
-
- .align 2
-gSpriteAffineAnim_8402224:: @ 8402224
- obj_rot_scal_anim_frame 0x180, 0x180, 0, 0
- obj_rot_scal_anim_frame 0xFFE0, 0x18, 0, 5
- obj_rot_scal_anim_frame 0x18, 0xFFE0, 0, 5
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnim_8402244:: @ 8402244
- obj_rot_scal_anim_frame 0x30, 0x30, 0, 0
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 6
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_840225C:: @ 840225C
- .4byte gSpriteAffineAnim_8402224
- .4byte gSpriteAffineAnim_8402244
-
- .align 2
-gBattleAnimSpriteTemplate_8402264:: @ 8402264
- spr_template 10187, 10187, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_840225C, sub_812C358
-
- .align 2
-gBattleAnimSpriteTemplate_840227C:: @ 840227C
- spr_template 10152, 10152, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C720
-
- .align 2
-gSpriteAnim_8402294:: @ 8402294
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 64, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_84022AC:: @ 84022AC
- .4byte gSpriteAnim_8402294
-
- .align 2
-gBattleAnimSpriteTemplate_84022B0:: @ 84022B0
- spr_template 10027, 10027, gOamData_837DF34, gSpriteAnimTable_84022AC, NULL, gDummySpriteAffineAnimTable, sub_812C80C
-
- .align 2
-gSpriteAnim_84022C8:: @ 84022C8
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_84022D0:: @ 84022D0
- .4byte gSpriteAnim_84022C8
-
- .align 2
-gSpriteAffineAnim_84022D4:: @ 84022D4
- obj_rot_scal_anim_frame 0xFFF9, 0xFFF9, -3, 16
- obj_rot_scal_anim_frame 0x7, 0x7, 3, 16
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_84022EC:: @ 84022EC
- .4byte gSpriteAffineAnim_84022D4
-
- .align 2
-gBattleAnimSpriteTemplate_84022F0:: @ 84022F0
- spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_84022D0, NULL, gSpriteAffineAnimTable_84022EC, sub_812C848
-
- .align 2
-gSpriteAnim_8402308:: @ 8402308
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 16, 16
- obj_image_anim_frame 32, 4
- obj_image_anim_frame 48, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840231C:: @ 840231C
- .4byte gSpriteAnim_8402308
-
- .align 2
-gSpriteAffineAnim_8402320:: @ 8402320
- obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
- obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8402338:: @ 8402338
- .4byte gSpriteAffineAnim_8402320
-
- .align 2
-gBattleAnimSpriteTemplate_840233C:: @ 840233C
- spr_template 10192, 10192, gOamData_837DFF4, gSpriteAnimTable_840231C, NULL, gSpriteAffineAnimTable_8402338, sub_812C908
-
- .align 2
-gSpriteAffineAnim_8402354:: @ 8402354
- obj_rot_scal_anim_frame 0x0, 0x180, 0, 0
- obj_rot_scal_anim_frame 0x10, 0x0, 0, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_840236C:: @ 840236C
- obj_rot_scal_anim_frame 0x140, 0x180, 0, 0
- obj_rot_scal_anim_frame 0xFFF0, 0x0, 0, 19
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8402384:: @ 8402384
- .4byte gSpriteAffineAnim_8402354
- .4byte gSpriteAffineAnim_840236C
-
- .align 2
-gBattleAnimSpriteTemplate_840238C:: @ 840238C
- spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812C990
-
- .align 2
-gBattleAnimSpriteTemplate_84023A4:: @ 84023A4
- spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CAFC
-
- .align 2
-gBattleAnimSpriteTemplate_84023BC:: @ 84023BC
- spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CC28
-
- .align 2
-gSpriteAnim_84023D4:: @ 84023D4
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 8, 2
- obj_image_anim_frame 16, 2
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_84023E4:: @ 84023E4
- .4byte gSpriteAnim_84023D4
-
- .align 2
-gBattleAnimSpriteTemplate_84023E8:: @ 84023E8
- spr_template 10229, 10229, gOamData_837DF54, gSpriteAnimTable_84023E4, NULL, gDummySpriteAffineAnimTable, sub_812CCE8
-
- .align 2
-gUnknown_08402400:: @ 8402400
- .incbin "baserom.gba", 0x00402400, 0x20
-
- .align 2
-gSpriteAnim_8402420:: @ 8402420
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8402428:: @ 8402428
- .4byte gSpriteAnim_8402420
-
- .align 2
-gSpriteAffineAnim_840242C:: @ 840242C
- obj_rot_scal_anim_frame 0x0, 0x0, 5, 40
- obj_rot_scal_anim_frame 0x0, 0x0, 10, 10
- obj_rot_scal_anim_frame 0x0, 0x0, 15, 10
- obj_rot_scal_anim_frame 0x0, 0x0, 20, 40
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_8402454:: @ 8402454
- .4byte gSpriteAffineAnim_840242C
-
- .align 2
-gBattleAnimSpriteTemplate_8402458:: @ 8402458
- spr_template 10230, 10230, gOamData_837DFFC, gSpriteAnimTable_8402428, NULL, gSpriteAffineAnimTable_8402454, sub_812D294
-
- .align 2
-gSpriteAnim_8402470:: @ 8402470
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_loop 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8402494:: @ 8402494
- .4byte gSpriteAnim_8402470
-
- .align 2
-gBattleAnimSpriteTemplate_8402498:: @ 8402498
- spr_template 10234, 10234, gOamData_837DF34, gSpriteAnimTable_8402494, NULL, gDummySpriteAffineAnimTable, sub_80793C4
-
- .align 2
-gUnknown_084024B0:: @ 84024B0
- .incbin "baserom.gba", 0x004024b0, 0x20
-
- .align 2
-gBattleAnimSpriteTemplate_84024D0:: @ 84024D0
- spr_template 10226, 10226, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D3AC
-
- .align 2
-gBattleAnimSpriteTemplate_84024E8:: @ 84024E8
- spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D4B4
-
- .align 2
-gSpriteTemplate_8402500:: @ 8402500
- spr_template 10233, 10233, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D588
-
- .align 2
-gUnknown_08402518:: @ 8402518
- .incbin "baserom.gba", 0x00402518, 0x28
-
- .align 2
-gUnknown_08402540:: @ 8402540
- .incbin "baserom.gba", 0x00402540, 0x38
-
- .align 2
-gBattleAnimSpriteTemplate_8402578:: @ 8402578
- spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D724
-
- .align 2
-gUnknown_08402590:: @ 8402590
- .incbin "baserom.gba", 0x00402590, 0x30
-
- .align 2
-gUnknown_084025C0:: @ 84025C0
- .incbin "baserom.gba", 0x004025c0, 0x4
-
- .align 2
-gSpriteAnim_84025C4:: @ 84025C4
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 4, 6
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_84025D0:: @ 84025D0
- obj_image_anim_frame 8, 6
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_84025D8:: @ 84025D8
- obj_image_anim_frame 12, 6
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_84025E0:: @ 84025E0
- .4byte gSpriteAnim_84025C4
- .4byte gSpriteAnim_84025D0
- .4byte gSpriteAnim_84025D8
-
- .align 2
-gBattleAnimSpriteTemplate_84025EC:: @ 84025EC
- spr_template 10241, 10241, gOamData_837DF2C, gSpriteAnimTable_84025E0, NULL, gDummySpriteAffineAnimTable, sub_812DEAC
-
- .align 2
-gUnknown_08402604:: @ 8402604
- .incbin "baserom.gba", 0x00402604, 0x4
-
-gUnknown_08402608:: @ 8402608
- .incbin "baserom.gba", 0x00402608, 0x8
-
-gUnknown_08402610:: @ 8402610
- .incbin "baserom.gba", 0x00402610, 0x20
-
- .align 2
-gBattleAnimSpriteTemplate_8402630:: @ 8402630
- spr_template 10087, 10087, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812E4F0
-
- .align 2
-gSpriteAnim_8402648:: @ 8402648
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_840266C:: @ 840266C
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_8402690:: @ 8402690
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8402698:: @ 8402698
- .4byte gSpriteAnim_8402648
- .4byte gSpriteAnim_840266C
- .4byte gSpriteAnim_8402690
-
- .align 2
-gBattleAnimSpriteTemplate_84026A4:: @ 84026A4
- spr_template 10238, 10238, gOamData_837DF24, gSpriteAnimTable_8402698, NULL, gDummySpriteAffineAnimTable, sub_812E7A0
-
- .align 2
- .incbin "baserom.gba", 0x004026bc, 0x20
-
- .align 2
-gSpriteAnim_84026DC:: @ 84026DC
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 4, 9
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_84026EC:: @ 84026EC
- .4byte gSpriteAnim_84026DC
-
- .align 2
-gBattleAnimSpriteTemplate_84026F0:: @ 84026F0
- spr_template 10239, 10239, gOamData_837DF2C, gSpriteAnimTable_84026EC, NULL, gDummySpriteAffineAnimTable, sub_812EA4C
-
- .align 2
-gBattleAnimSpriteTemplate_8402708:: @ 8402708
- spr_template 10240, 10240, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EC78
-
- .align 2
-gBattleAnimSpriteTemplate_8402720:: @ 8402720
- spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812ED84
-
- .align 2
-gBattleAnimSpriteTemplate_8402738:: @ 8402738
- spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EEA4
-
- .align 2
-gUnknown_08402750:: @ 8402750
- .incbin "baserom.gba", 0x00402750, 0x30
-
- .align 2
-gSpriteAffineAnim_8402780:: @ 8402780
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_84027A0:: @ 84027A0
- obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_84027C0:: @ 84027C0
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_84027E0:: @ 84027E0
- .4byte gSpriteAffineAnim_8402780
- .4byte gSpriteAffineAnim_84027A0
- .4byte gSpriteAffineAnim_84027C0
-
- .align 2
-gBattleAnimSpriteTemplate_84027EC:: @ 84027EC
- spr_template 10242, 10242, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84027E0, sub_812F88C
-
- .align 2
-gSpriteAffineAnim_8402804:: @ 8402804
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16
- obj_rot_scal_anim_frame 0x4, 0x6, 0, 16
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_8402824:: @ 8402824
- obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
- obj_rot_scal_anim_frame 0x4, 0x6, 0, 16
- obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_8402844:: @ 8402844
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x4, 0x6, 0, 16
- obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnim_8402864:: @ 8402864
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x8, 0xA, 0, 30
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF6, 0, 16
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_8402884:: @ 8402884
- .4byte gSpriteAffineAnim_8402804
- .4byte gSpriteAffineAnim_8402824
- .4byte gSpriteAffineAnim_8402844
- .4byte gSpriteAffineAnim_8402864
-
- .align 2
-gBattleAnimSpriteTemplate_8402894:: @ 8402894
- spr_template 10242, 10242, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402884, sub_812F948
-
- .align 2
-gUnknown_084028AC:: @ 84028AC
- .incbin "baserom.gba", 0x004028ac, 0x20
-
- .align 2
-gSpriteTemplate_84028CC:: @ 84028CC
- spr_template 10243, 10243, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812FF94
-
-gUnknown_084028E4:: @ 84028E4
- .incbin "baserom.gba", 0x004028e4, 0x30
-
- .align 2
-gSpriteAnim_8402914:: @ 8402914
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_8402920:: @ 8402920
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 48, 3
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_840292C:: @ 840292C
- .4byte gSpriteAnim_8402914
- .4byte gSpriteAnim_8402920
-
- .align 2
-gBattleAnimSpriteTemplate_8402934:: @ 8402934
- spr_template 10053, 10053, gOamData_837DF34, gSpriteAnimTable_840292C, NULL, gDummySpriteAffineAnimTable, sub_81300F4
-
- .align 2
-gSpriteTemplate_840294C:: @ 840294C
- spr_template 10248, 10248, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81304DC
-
- .align 2
-gBattleAnimSpriteTemplate_8402964:: @ 8402964
- spr_template 10252, 10252, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_813051C
-
- .align 2
-gSpriteAffineAnim_840297C:: @ 840297C
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 24
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_840298C:: @ 840298C
- obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 24
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_84029A4:: @ 84029A4
- .4byte gSpriteAffineAnim_840297C
- .4byte gSpriteAffineAnim_840298C
-
- .align 2
-gSpriteTemplate_84029AC:: @ 84029AC
- spr_template 10254, 10254, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84029A4, SpriteCallbackDummy
-
- .align 2
-gBattleAnimSpriteTemplate_84029C4:: @ 84029C4
- spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81307B0
-
- .align 2
-gUnknown_084029DC:: @ 84029DC
- .incbin "baserom.gba", 0x004029dc, 0x18
-
- .align 2
-gBattleAnimSpriteTemplate_84029F4:: @ 84029F4
- spr_template 10255, 10255, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130A2C
-
- .align 2
-gBattleAnimSpriteTemplate_8402A0C:: @ 8402A0C
- spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130AEC
-
- .align 2
-gBattleAnimSpriteTemplate_8402A24:: @ 8402A24
- spr_template 10258, 10258, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130F5C
-
- .align 2
-gBattleAnimSpriteTemplate_8402A3C:: @ 8402A3C
- spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131264
-
- .align 2
-gSpriteTemplate_8402A54:: @ 8402A54
- spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC
-
- .align 2
-gBattleAnimSpriteTemplate_8402A6C:: @ 8402A6C
- spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131564
-
- .align 2
-gSpriteTemplate_8402A84:: @ 8402A84
- spr_template 10224, 10224, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131EB8
-
- .align 2
-gSpriteAnim_8402A9C:: @ 8402A9C
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 64, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8402AA8:: @ 8402AA8
- .4byte gSpriteAnim_8402A9C
-
- .align 2
-gSpriteAffineAnim_8402AAC:: @ 8402AAC
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8402AC4:: @ 8402AC4
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 4, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8402ADC:: @ 8402ADC
- .4byte gSpriteAffineAnim_8402AAC
- .4byte gSpriteAffineAnim_8402AC4
-
- .align 2
-gBattleAnimSpriteTemplate_8402AE4:: @ 8402AE4
- spr_template 10277, 10277, gOamData_837DF9C, gSpriteAnimTable_8402AA8, NULL, gSpriteAffineAnimTable_8402ADC, sub_8132370
-
- .align 2
-gSpriteAffineAnim_8402AFC:: @ 8402AFC
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 64
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_8402B0C:: @ 8402B0C
- .4byte gSpriteAffineAnim_8402AFC
-
- .align 2
-gBattleAnimSpriteTemplate_8402B10:: @ 8402B10
- spr_template 10278, 10278, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402B0C, sub_81323E0
-
- .align 2
-gUnknown_08402B28:: @ 8402B28
- .incbin "baserom.gba", 0x00402b28, 0x30
-
- .align 2
-gDexArrows_Pal::
- .incbin "graphics/pokedex/arrows.gbapal"
-
- .align 2
-gDexArrows_Gfx::
- .incbin "graphics/pokedex/arrows.4bpp"
-
- .incbin "baserom.gba", 0x00402c78, 0x80
-
-gUnknown_08402CF8:: @ 8402CF8
- .incbin "baserom.gba", 0x00402cf8, 0x10
-
-gUnknown_08402D08:: @ 8402D08
- .4byte OtherText_Battle
- .byte 1, 1, 0, 0
- .4byte OtherText_Power
- .byte 1, 4, 1, 0
- .4byte OtherText_Accuracy
- .byte 1, 9, 2, 0
- .space 8
-
- .4byte OtherText_Contest
- .byte 1, 1, 0, 0
- .4byte OtherText_Appeal
- .byte 1, 4, 1, 0
- .4byte OtherText_Jam
- .byte 1, 9, 2, 0
- .space 8
-
- .incbin "baserom.gba", 0x402d48, 0x8
-
- .align 2
-gOamData_8402D50:: @ 8402D50
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_8402D58:: @ 8402D58
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_8402D60:: @ 8402D60
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8402D68:: @ 8402D68
- obj_image_anim_frame 2, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8402D70:: @ 8402D70
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8402D78:: @ 8402D78
- .4byte gSpriteAnim_8402D68
- .4byte gSpriteAnim_8402D70
-
- .align 2
-gUnknown_08402D80:: @ 8402D80
- obj_tiles gDexArrows_Gfx, 384, 0x1595
-
- .align 2
-gUnknown_08402D88:: @ 8402D88
- obj_pal gDexArrows_Pal, 0x1596
-
- .align 2
-gSpriteTemplate_8402D90:: @ 8402D90
- spr_template 5525, 5526, gOamData_8402D58, gSpriteAnimTable_8402D78, NULL, gDummySpriteAffineAnimTable, sub_8133300
-
- .align 2
-gSpriteAnim_8402DA8:: @ 8402DA8
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8402DB0:: @ 8402DB0
- obj_image_anim_frame 6, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8402DB8:: @ 8402DB8
- .4byte gSpriteAnim_8402DA8
- .4byte gSpriteAnim_8402DB0
-
- .align 2
-gSpriteTemplate_8402DC0:: @ 8402DC0
- spr_template 5525, 5526, gOamData_8402D60, gSpriteAnimTable_8402DB8, NULL, gDummySpriteAffineAnimTable, sub_8133300
-
- .align 2
-gSpriteAnim_8402DD8:: @ 8402DD8
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8402DE0:: @ 8402DE0
- obj_image_anim_frame 9, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8402DE8:: @ 8402DE8
- obj_image_anim_frame 10, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8402DF0:: @ 8402DF0
- obj_image_anim_frame 11, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8402DF8:: @ 8402DF8
- .4byte gSpriteAnim_8402DD8
- .4byte gSpriteAnim_8402DE0
- .4byte gSpriteAnim_8402DE8
- .4byte gSpriteAnim_8402DF0
-
- .align 2
-gSpriteTemplate_8402E08:: @ 8402E08
- spr_template 5525, 5526, gOamData_8402D50, gSpriteAnimTable_8402DF8, NULL, gDummySpriteAffineAnimTable, sub_8133300
-
- .align 2
- .incbin "baserom.gba", 0x00402e20, 0x4
-
-gUnknown_08402E24:: @ 8402E24
- .incbin "baserom.gba", 0x00402e24, 0x15
-
-gUnknown_08402E39:: @ 8402E39
- .byte 0, 1, 2, 3
-
-gUnknown_08402E3D:: @ 8402E3D
- .byte 4, 5, 6
-
-@ pointer to decorations, capacity
- .align 2
-gDecorationInventories:: @ 8402E40
- .4byte gSaveBlock1 + 0x26A0, 10 @ DESK
- .4byte gSaveBlock1 + 0x26AA, 10 @ CHAIR
- .4byte gSaveBlock1 + 0x26B4, 10 @ PLANT
- .4byte gSaveBlock1 + 0x26BE, 30 @ ORNAMENT
- .4byte gSaveBlock1 + 0x26DC, 30 @ MAT
- .4byte gSaveBlock1 + 0x26FA, 10 @ POSTER
- .4byte gSaveBlock1 + 0x2704, 40 @ DOLL
- .4byte gSaveBlock1 + 0x272C, 10 @ CUSHION
-
-gRoamerLocations:: @ 8402E80
- .byte 0x19,0x1A,0x20,0x21,0x31,0xFF
- .byte 0x1A,0x19,0x20,0x21,0xFF,0xFF
- .byte 0x20,0x1A,0x19,0x21,0xFF,0xFF
- .byte 0x21,0x20,0x19,0x1A,0x22,0x26
- .byte 0x22,0x21,0x23,0xFF,0xFF,0xFF
- .byte 0x23,0x22,0x24,0xFF,0xFF,0xFF
- .byte 0x24,0x23,0x25,0x26,0xFF,0xFF
- .byte 0x25,0x24,0x26,0xFF,0xFF,0xFF
- .byte 0x26,0x25,0x21,0xFF,0xFF,0xFF
- .byte 0x27,0x24,0x28,0x29,0xFF,0xFF
- .byte 0x28,0x27,0x2A,0xFF,0xFF,0xFF
- .byte 0x29,0x27,0x2A,0xFF,0xFF,0xFF
- .byte 0x2A,0x28,0x29,0x2B,0xFF,0xFF
- .byte 0x2B,0x2A,0x2C,0xFF,0xFF,0xFF
- .byte 0x2C,0x2B,0x2D,0xFF,0xFF,0xFF
- .byte 0x2D,0x2C,0x2E,0xFF,0xFF,0xFF
- .byte 0x2E,0x2D,0x2F,0xFF,0xFF,0xFF
- .byte 0x2F,0x2E,0x30,0xFF,0xFF,0xFF
- .byte 0x30,0x2F,0x31,0xFF,0xFF,0xFF
- .byte 0x31,0x30,0x19,0xFF,0xFF,0xFF
- .byte 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
-
-@ 8402F00
- .include "data/battle_tower/trainers.inc"
-
-@ 8403860
- .include "data/battle_tower/held_items.inc"
-
-@ 84038E0
- .include "data/battle_tower/level_50_mons.inc"
-
-@ 8404BA0
- .include "data/battle_tower/level_100_mons.inc"
-
-gUnknown_08405E60:: @ 8405E60
- .incbin "baserom.gba", 0x00405e60, 0x1e
-
-gUnknown_08405E7E:: @ 8405E7E
- .incbin "baserom.gba", 0x00405e7e, 0x14
-
-gUnknown_08405E92:: @ 8405E92
- .incbin "baserom.gba", 0x00405e92, 0x1e
-
-gUnknown_08405EB0:: @ 8405EB0
- .incbin "baserom.gba", 0x00405eb0, 0x14
-
- .align 1
-gBattleTowerBanlist:: @ 8405EC4
- .2byte SPECIES_MEW
- .2byte SPECIES_MEWTWO
- .2byte SPECIES_HO_OH
- .2byte SPECIES_LUGIA
- .2byte SPECIES_CELEBI
- .2byte SPECIES_KYOGRE
- .2byte SPECIES_GROUDON
- .2byte SPECIES_RAYQUAZA
- .2byte SPECIES_JIRACHI
- .2byte SPECIES_DEOXYS
- .2byte -1
-
-gUnknown_08405EDA:: @ 8405EDA
- .incbin "baserom.gba", 0x00405eda, 0xc
-
-gUnknown_08405EE6:: @ 8405EE6
- .incbin "baserom.gba", 0x00405ee6, 0x12
-
- .align 2
-ConditionUpDownPalette:
- .incbin "graphics/misc/condition_up_down.gbapal"
-
- .align 2
-ConditionUpDownTiles:
- .incbin "graphics/misc/condition_up_down.4bpp"
-
-gUnknown_08406118:: @ 8406118
- .incbin "baserom.gba", 0x00406118, 0x14
-
- .align 2
-gUnknown_0840612C:: @ 840612C
- obj_pal 0x02030400, 0x0001
-
- .align 2
-gUnknown_08406134:: @ 8406134
- .4byte OtherText_Coolness
- .4byte OtherText_Toughness
- .4byte OtherText_Smartness
- .4byte OtherText_Cuteness
- .4byte OtherText_Beauty
-
- .align 2
-gSpriteSheet_ConditionUpDown:: @ 8406148
- obj_tiles ConditionUpDownTiles, 0x200, 0
-
- .align 2
-gSpritePalette_ConditionUpDown:: @ 8406150
- obj_pal ConditionUpDownPalette, 0
-
-gUnknown_08406158:: @ 8406158
- .incbin "baserom.gba", 0x00406158, 0x14
-
- .align 2
-gOamData_840616C:: @ 840616C
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8406174:: @ 8406174
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840617C:: @ 840617C
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8406184:: @ 8406184
- .4byte gSpriteAnim_8406174
- .4byte gSpriteAnim_840617C
-
- .align 2
-gSpriteTemplate_840618C:: @ 840618C
- spr_template 0, 0, gOamData_840616C, gSpriteAnimTable_8406184, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_084061A4:: @ 84061A4
- .4byte dp01t_00_5_getattr
- .4byte sub_8138230
- .4byte sub_813823C
- .4byte sub_8138C90
- .4byte sub_8138C9C
- .4byte sub_8138CA8
- .4byte sub_8138CB4
- .4byte sub_8138D38
- .4byte sub_8138E04
- .4byte sub_8138ED0
- .4byte sub_8138EDC
- .4byte sub_8138EE8
- .4byte sub_8138EF4
- .4byte sub_8138F44
- .4byte sub_8138FA0
- .4byte sub_8138FAC
- .4byte sub_8139208
- .4byte dp01t_11_5_message_for_player_only
- .4byte sub_8139298
- .4byte sub_8139378
- .4byte sub_8139384
- .4byte sub_81393EC
- .4byte sub_813942C
- .4byte sub_8139438
- .4byte sub_8139444
- .4byte sub_8139544
- .4byte sub_8139550
- .4byte sub_813955C
- .4byte sub_8139568
- .4byte sub_8139574
- .4byte sub_8139580
- .4byte sub_813958C
- .4byte sub_8139598
- .4byte sub_81395A4
- .4byte sub_81395B0
- .4byte sub_81395BC
- .4byte sub_81395C8
- .4byte sub_81395D4
- .4byte sub_81395E0
- .4byte sub_81395EC
- .4byte sub_81395F8
- .4byte sub_8139604
- .4byte sub_8139674
- .4byte sub_8139680
- .4byte sub_81396B0
- .4byte sub_81396E0
- .4byte dp01t_2E_5_battle_intro
- .4byte sub_8139750
- .4byte sub_8139AA0
- .4byte sub_8139B20
- .4byte sub_8139B2C
- .4byte sub_8139B38
- .4byte sub_8139B44
- .4byte sub_8139BA0
- .4byte sub_8139BAC
- .4byte sub_8139BB8
- .4byte nullsub_80
-
- .align 2
-gUnknown_08406288:: @ 8406288
- .4byte PCText_TakeOutItems
- .4byte PCText_StoreItems
- .4byte PCText_ThrowAwayItems
- .4byte gMenuText_GoBackToPrev
-
- .align 2
-gUnknown_08406298:: @ 8406298
- .4byte SecretBaseText_ItemStorage, PlayerPC_ItemStorage
- .4byte gPCText_Mailbox, PlayerPC_Mailbox
- .4byte SecretBaseText_Decoration, PlayerPC_Decoration
- .4byte SecretBaseText_TurnOff, PlayerPC_TurnOff
-
-gUnknown_084062B8:: @ 84062B8
- .incbin "baserom.gba", 0x004062b8, 0x4
-
-gUnknown_084062BC:: @ 84062BC
- .incbin "baserom.gba", 0x004062bc, 0x4
-
- .align 2
-gUnknown_084062C0:: @ 84062C0
- .4byte PCText_WithdrawItem, ItemStorage_Withdraw
- .4byte PCText_DepositItem, ItemStorage_Deposit
- .4byte PCText_TossItem, ItemStorage_Toss
- .4byte gUnknownText_Exit, ItemStorage_Exit
-
- .align 2
-gUnknown_084062E0:: @ 84062E0
- .4byte sub_813A83C
- .4byte sub_813A878
-
- .align 2
-gUnknown_084062E8:: @ 84062E8
- .4byte sub_813B578
- .4byte sub_813B610
-
- .align 2
-gNewGamePCItems:: @ 84062F0
- .2byte ITEM_POTION, 1
- .2byte 0, 0
-
- .align 2
-gUnknown_084062F8:: @ 84062F8
- .4byte OtherText_Read, Mailbox_Read
- .4byte gOtherText_MoveToBag, Mailbox_MoveToBag
- .4byte OtherText_Give, Mailbox_Give
- .4byte gOtherText_CancelNoTerminator, Mailbox_Cancel
-
-gUnknown_08406318:: @ 8406318
- .string "{STR_VAR_1}{CLEAR_TO 80}$"
-
-gUnknown_0840631E:: @ 840631E
- .string "{COLOR RED}{STR_VAR_1}{CLEAR_TO 80}$"
-
-gUnknown_08406327:: @ 8406327
- .string "{STR_VAR_1}$"
-
-gUnknown_0840632A:: @ 840632A
- .string "{COLOR RED}{STR_VAR_1}$"
-
-gUnknown_08406330:: @ 8406330
- .string "{CLEAR_TO 32}$"
-
-gUnknown_08406334:: @ 8406334
- .incbin "baserom.gba", 0x00406334, 0x6
-
-gUnknown_0840633A:: @ 840633A
- .string "{COLOR RED}{STR_VAR_1}$"
-
- .align 2
-Palette_406340:: @ 8406340
- .incbin "baserom.gba", 0x406340, 0x20
-
- .align 2
-Palette_406360:: @ 8406360
- .incbin "baserom.gba", 0x406360, 0x20
-
- .align 2
-gIntroTiles::
- .incbin "graphics/intro/intro.4bpp.lz"
-
- .align 2
-gUnknown_08406974:: @ 8406974
- .incbin "graphics/intro/intro1_bgpal1.gbapal"
- .incbin "graphics/intro/intro1_bgpal2.gbapal"
- .incbin "graphics/intro/intro1_bgpal3.gbapal"
- .incbin "graphics/intro/intro1_bgpal4.gbapal"
- .incbin "graphics/intro/intro1_bgpal5.gbapal"
- .incbin "graphics/intro/intro1_bgpal6.gbapal"
- .incbin "graphics/intro/intro1_bgpal7.gbapal"
- .incbin "graphics/intro/intro1_bgpal8.gbapal"
- .incbin "graphics/intro/intro1_bgpal9.gbapal"
- .incbin "graphics/intro/intro1_bgpal10.gbapal"
- .incbin "graphics/intro/intro1_bgpal11.gbapal"
- .incbin "graphics/intro/intro1_bgpal12.gbapal"
- .incbin "graphics/intro/intro1_bgpal13.gbapal"
- .incbin "graphics/intro/intro1_bgpal14.gbapal"
- .incbin "graphics/intro/intro1_bgpal15.gbapal"
- .incbin "graphics/intro/intro1_bgpal16.gbapal"
-
- .align 2
-gUnknown_08406B74:: @ 8406B74
- .incbin "graphics/intro/intro1_bg0_map.bin.lz"
-
- .align 2
-gUnknown_08406F28:: @ 8406F28
- .incbin "graphics/intro/intro1_bg1_map.bin.lz"
-
- .align 2
-gUnknown_0840725C:: @ 840725C
- .incbin "graphics/intro/intro1_bg2_map.bin.lz"
-
- .align 2
-gUnknown_0840754C:: @ 840754C
- .incbin "graphics/intro/intro1_bg3_map.bin.lz"
-
- .align 2
-gUnknown_08407764:: @ 8407764
- .incbin "graphics/intro/introgfx.4bpp.lz"
-
- .align 2
-gUnknown_084098D4:: @ 84098D4
- .incbin "graphics/intro/intro3_pokeball.gbapal"
-
- .align 2
-gUnknown_08409AD4:: @ 8409AD4
- .incbin "graphics/intro/intro3_pokeball_map.bin.lz"
-
- .align 2
-gUnknown_08409C04:: @ 8409C04
- .incbin "graphics/intro/intro3_pokeball.8bpp.lz"
-
- .align 2
-gUnknown_0840A758:: @ 840A758
- .incbin "graphics/intro/intro3_streaks.gbapal"
-
- .align 2
-gUnknown_0840A778:: @ 840A778
- .incbin "graphics/intro/intro3_streaks.4bpp.lz"
-
- .align 2
-gUnknown_0840A7E4:: @ 840A7E4
- .incbin "graphics/intro/intro3_streaks_map.bin.lz"
-
- .align 2
-gIntro3Misc1Palette::
- .incbin "graphics/intro/intro3_misc1.gbapal"
-
- .align 2
-gIntro3Misc2Palette::
- .incbin "graphics/intro/intro3_misc2.gbapal"
-
- .align 2
-gIntro3MiscTiles::
- .incbin "graphics/intro/intro3_misc.4bpp.lz"
-
- .align 2
-gIntro1EonPalette::
- .incbin "graphics/intro/intro1_eon.gbapal"
-
- .align 2
-gIntro1EonTiles::
- .incbin "graphics/intro/intro1_eon.4bpp.lz"
-
- .align 2
-gOamData_840ADE8:: @ 840ADE8
- .2byte 0x00A0
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_840ADF0:: @ 840ADF0
- obj_image_anim_frame 16, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840ADF8:: @ 840ADF8
- obj_image_anim_frame 24, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AE00:: @ 840AE00
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AE08:: @ 840AE08
- obj_image_anim_frame 48, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840AE10:: @ 840AE10
- .4byte gSpriteAnim_840ADF0
- .4byte gSpriteAnim_840ADF8
- .4byte gSpriteAnim_840AE00
- .4byte gSpriteAnim_840AE08
-
- .align 2
-gSpriteTemplate_840AE20:: @ 840AE20
- spr_template 2000, 2000, gOamData_840ADE8, gSpriteAnimTable_840AE10, NULL, gDummySpriteAffineAnimTable, sub_813D208
-
- .align 2
-Unknown_40AE38: @ 840AE38
- .incbin "baserom.gba", 0x40ae38, 0x14
-
- .align 2
-Unknown_40AE4C: @ 840AE4C
- .incbin "baserom.gba", 0x40ae4c, 0x14
-
- .align 2
-Unknown_40AE60: @ 840AE60
- .incbin "baserom.gba", 0x40ae60, 0x10
-
- .align 2
-Unknown_40AE70: @ 840AE70
- .incbin "baserom.gba", 0x40ae70, 0x10
-
- .align 2
-gUnknown_0840AE80:: @ 840AE80
- .4byte Unknown_40AE38
- .4byte Unknown_40AE4C
- .4byte Unknown_40AE60
- .4byte Unknown_40AE70
-
- .align 2
-gOamData_840AE90:: @ 840AE90
- .2byte 0x00A0
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gOamData_840AE98:: @ 840AE98
- .2byte 0x00A0
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_840AEA0:: @ 840AEA0
- .2byte 0x80A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_840AEA8:: @ 840AEA8
- obj_image_anim_frame 80, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEB0:: @ 840AEB0
- obj_image_anim_frame 84, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEB8:: @ 840AEB8
- obj_image_anim_frame 88, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEC0:: @ 840AEC0
- obj_image_anim_frame 92, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEC8:: @ 840AEC8
- obj_image_anim_frame 96, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AED0:: @ 840AED0
- obj_image_anim_frame 100, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AED8:: @ 840AED8
- obj_image_anim_frame 104, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEE0:: @ 840AEE0
- obj_image_anim_frame 112, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEE8:: @ 840AEE8
- obj_image_anim_frame 113, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEF0:: @ 840AEF0
- obj_image_anim_frame 114, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AEF8:: @ 840AEF8
- obj_image_anim_frame 115, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AF00:: @ 840AF00
- obj_image_anim_frame 116, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AF08:: @ 840AF08
- obj_image_anim_frame 117, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840AF10:: @ 840AF10
- obj_image_anim_frame 128, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840AF18:: @ 840AF18
- .4byte gSpriteAnim_840AEA8
- .4byte gSpriteAnim_840AEB0
- .4byte gSpriteAnim_840AEB8
- .4byte gSpriteAnim_840AEC0
- .4byte gSpriteAnim_840AEC8
- .4byte gSpriteAnim_840AED0
- .4byte gSpriteAnim_840AED8
-
- .align 2
-gSpriteAnimTable_840AF34:: @ 840AF34
- .4byte gSpriteAnim_840AEE0
- .4byte gSpriteAnim_840AEE8
- .4byte gSpriteAnim_840AEF0
- .4byte gSpriteAnim_840AEF8
- .4byte gSpriteAnim_840AF00
- .4byte gSpriteAnim_840AF08
-
- .align 2
-gSpriteAnimTable_840AF4C:: @ 840AF4C
- .4byte gSpriteAnim_840AF10
-
-gUnknown_0840AF50:: @ 840AF50
- .incbin "baserom.gba", 0x0040af50, 0x24
-
-gUnknown_0840AF74:: @ 840AF74
- .incbin "baserom.gba", 0x0040af74, 0x20
-
- .align 2
-gSpriteTemplate_840AF94:: @ 840AF94
- spr_template 2000, 2001, gOamData_840AE90, gSpriteAnimTable_840AF18, NULL, gDummySpriteAffineAnimTable, sub_813D908
-
- .align 2
-gSpriteTemplate_840AFAC:: @ 840AFAC
- spr_template 2000, 2001, gOamData_840AE98, gSpriteAnimTable_840AF34, NULL, gDummySpriteAffineAnimTable, sub_813D908
-
- .align 2
-gSpriteTemplate_840AFC4:: @ 840AFC4
- spr_template 2000, 2001, gOamData_840AEA0, gSpriteAnimTable_840AF4C, NULL, gDummySpriteAffineAnimTable, sub_813D908
-
- .align 2
-gOamData_840AFDC:: @ 840AFDC
- .2byte 0x40A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_840AFE4:: @ 840AFE4
- obj_image_anim_frame 0, 10
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_840AFEC:: @ 840AFEC
- .4byte gSpriteAnim_840AFE4
-
- .align 2
-gSpriteTemplate_840AFF0:: @ 840AFF0
- spr_template 2002, 2002, gOamData_840AFDC, gSpriteAnimTable_840AFEC, NULL, gDummySpriteAffineAnimTable, sub_813DA64
-
- .align 2
-gUnknown_0840B008:: @ 840B008
- obj_tiles gIntroTiles, 0x1400, 2000
- .space 8
-
- .align 2
-gUnknown_0840B018:: @ 840B018
- obj_tiles gIntro1EonTiles, 0x400, 2002
- .space 8
-
- .align 2
-gUnknown_0840B028:: @ 840B028
- obj_pal Palette_406340, 2000
- obj_pal Palette_406360, 2001
- obj_pal gIntro1EonPalette, 2002
- .space 8
-
-gUnknown_0840B048:: @ 840B048
- .incbin "baserom.gba", 0x40b048, 0x8
-
-gUnknown_0840B050:: @ 840B050
- .incbin "baserom.gba", 0x40b050, 0x8
-
-gUnknown_0840B058:: @ 840B058
- .incbin "baserom.gba", 0x40b058, 0xc
-
- .align 2
-gUnknown_0840B064:: @ 840B064
- .4byte gUnknown_0840B048
- .4byte gUnknown_0840B050
- .4byte gUnknown_0840B058
-
- .align 2
-gOamData_840B070:: @ 840B070
- .2byte 0x00A0
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840B078:: @ 840B078
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B080:: @ 840B080
- .4byte gSpriteAnim_840B078
-
- .align 2
-gSpriteTemplate_840B084:: @ 840B084
- spr_template 2002, 2002, gOamData_840B070, gSpriteAnimTable_840B080, NULL, gDummySpriteAffineAnimTable, sub_813E30C
-
- .align 2
-gOamData_840B09C:: @ 840B09C
- .2byte 0x00A0
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840B0A4:: @ 840B0A4
- obj_image_anim_frame 1, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B0AC:: @ 840B0AC
- .4byte gSpriteAnim_840B0A4
-
- .align 2
-gSpriteTemplate_840B0B0:: @ 840B0B0
- spr_template 2003, 2003, gOamData_840B09C, gSpriteAnimTable_840B0AC, NULL, gDummySpriteAffineAnimTable, sub_813E4B8
-
- .align 2
-gOamData_840B0C8:: @ 840B0C8
- .2byte 0x00A0
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840B0D0:: @ 840B0D0
- obj_image_anim_frame 14, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B0D8:: @ 840B0D8
- .4byte gSpriteAnim_840B0D0
-
- .align 2
-gSpriteTemplate_840B0DC:: @ 840B0DC
- spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E5E0
-
- .align 2
-gSpriteTemplate_840B0F4:: @ 840B0F4
- spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E6C0
-
- .align 2
-gOamData_840B10C:: @ 840B10C
- .2byte 0x00A0
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840B114:: @ 840B114
- obj_image_anim_frame 6, 8
- obj_image_anim_frame 6, 8, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_840B120:: @ 840B120
- .4byte gSpriteAnim_840B114
-
- .align 2
-gSpriteTemplate_840B124:: @ 840B124
- spr_template 2003, 2004, gOamData_840B10C, gSpriteAnimTable_840B120, NULL, gDummySpriteAffineAnimTable, sub_813E804
-
- .align 2
-gOamData_840B13C:: @ 840B13C
- .2byte 0x00A0
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840B144:: @ 840B144
- obj_image_anim_frame 10, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B14C:: @ 840B14C
- .4byte gSpriteAnim_840B144
-
- .align 2
-gSpriteTemplate_840B150:: @ 840B150
- spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, GetCurrentTrainerHillMapId
-
-gUnknown_0840B168:: @ 840B168
- .incbin "baserom.gba", 0x0040b168, 0x8
-
- .align 2
-gSpriteTemplate_840B170:: @ 840B170
- spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, sub_813EA60
-
-gUnknown_0840B188:: @ 840B188
- .incbin "baserom.gba", 0x0040b188, 0x14
-
- .align 2
-gOamData_840B19C:: @ 840B19C
- .2byte 0x00A0
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840B1A4:: @ 840B1A4
- obj_image_anim_frame 2, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B1AC:: @ 840B1AC
- .4byte gSpriteAnim_840B1A4
-
- .align 2
-gSpriteTemplate_840B1B0:: @ 840B1B0
- spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EBBC
-
- .align 2
-gSpriteTemplate_840B1C8:: @ 840B1C8
- spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EC90
-
- .align 2
-gOamData_840B1E0:: @ 840B1E0
- .2byte 0x00A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840B1E8:: @ 840B1E8
- obj_image_anim_frame 16, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B1F0:: @ 840B1F0
- .4byte gSpriteAnim_840B1E8
-
- .align 2
-gSpriteTemplate_840B1F4:: @ 840B1F4
- spr_template 2003, 2003, gOamData_840B1E0, gSpriteAnimTable_840B1F0, NULL, gDummySpriteAffineAnimTable, sub_813EDFC
-
- .align 2
-gUnknown_0840B20C:: @ 840B20C
- obj_tiles gInterfaceGfx_PokeBall, 0x100, 2002
- .space 8
-
- .align 2
-gUnknown_0840B21C:: @ 840B21C
- obj_tiles gIntro3MiscTiles, 0xa00, 2003
- .space 8
-
- .align 2
-gUnknown_0840B22C:: @ 840B22C
- obj_pal gInterfacePal_PokeBall, 2002
- .space 8
-
- .align 2
-gUnknown_0840B23C:: @ 840B23C
- obj_pal gIntro3Misc1Palette, 2003
- obj_pal gIntro3Misc2Palette, 2004
- .space 8
-
- .incbin "baserom.gba", 0x0040b254, 0x4
-
- .align 2
-gUnknown_0840B258:: @ 840B258
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55020
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55021
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55022
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55023
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55024
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55025
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55026
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55027
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55028
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55029
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55030
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55031
-
- .align 2
-gUnknown_0840B2B8:: @ 840B2B8
- obj_pal gBattleAnimSpritePalette_136, 55020
- obj_pal gBattleAnimSpritePalette_136, 55021
- obj_pal gBattleAnimSpritePalette_136, 55022
- obj_pal gBattleAnimSpritePalette_136, 55023
- obj_pal gBattleAnimSpritePalette_136, 55024
- obj_pal gBattleAnimSpritePalette_136, 55025
- obj_pal gBattleAnimSpritePalette_136, 55026
- obj_pal gBattleAnimSpritePalette_136, 55027
- obj_pal gBattleAnimSpritePalette_136, 55028
- obj_pal gBattleAnimSpritePalette_136, 55029
- obj_pal gBattleAnimSpritePalette_136, 55030
- obj_pal gBattleAnimSpritePalette_136, 55031
-
- .align 2
-gSpriteAnim_840B318:: @ 840B318
- obj_image_anim_frame 0, 1
- obj_image_anim_frame 1, 1
- obj_image_anim_frame 2, 1
- obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 2, 1
- obj_image_anim_frame 1, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_840B334:: @ 840B334
- obj_image_anim_frame 3, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B33C:: @ 840B33C
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B344:: @ 840B344
- obj_image_anim_frame 5, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B34C:: @ 840B34C
- obj_image_anim_frame 6, 4
- obj_image_anim_frame 7, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_840B358:: @ 840B358
- obj_image_anim_frame 7, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B360:: @ 840B360
- .4byte gSpriteAnim_840B318
- .4byte gSpriteAnim_840B334
- .4byte gSpriteAnim_840B33C
- .4byte gSpriteAnim_840B344
- .4byte gSpriteAnim_840B34C
- .4byte gSpriteAnim_840B358
-
-gUnknown_0840B378:: @ 840B378
- .incbin "baserom.gba", 0x0040b378, 0xc
-
- .align 2
-gUnknown_0840B384:: @ 840B384
- .4byte sub_8140930
- .4byte sub_8140DC4
- .4byte sub_8140C14
- .4byte sub_8140CE8
- .4byte sub_8141058
- .4byte sub_8140C14
- .4byte sub_8140B3C
- .4byte sub_8140CE8
- .4byte sub_8140F24
- .4byte sub_8140A64
- .4byte sub_8140DC4
- .4byte sub_8141164
-
- .align 2
-gSpriteTemplate_840B3B4:: @ 840B3B4
- spr_template 55020, 55020, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B3CC:: @ 840B3CC
- spr_template 55021, 55021, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B3E4:: @ 840B3E4
- spr_template 55022, 55022, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B3FC:: @ 840B3FC
- spr_template 55023, 55023, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B414:: @ 840B414
- spr_template 55024, 55024, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B42C:: @ 840B42C
- spr_template 55025, 55025, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B444:: @ 840B444
- spr_template 55026, 55026, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B45C:: @ 840B45C
- spr_template 55027, 55027, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B474:: @ 840B474
- spr_template 55028, 55028, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B48C:: @ 840B48C
- spr_template 55029, 55029, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B4A4:: @ 840B4A4
- spr_template 55030, 55030, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_840B4BC:: @ 840B4BC
- spr_template 55031, 55031, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_0840B4D4:: @ 840B4D4
- .incbin "baserom.gba", 0x0040b4d4, 0x28
-
- .align 2
-gBattleAnimSpriteTemplate_840B4FC:: @ 840B4FC
- spr_template 10269, 10269, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8141C30
-
- .align 2
-gUnknown_0840B514:: @ 840B514
- obj_tiles gContestConfetti_Gfx, 0x220, 1001
- .space 8
-
-gUnknown_0840B524:: @ 840B524
- obj_pal gContestConfetti_Pal, 1001
- .space 8
-
-gUnknown_0840B534:: @ 840B534
- .incbin "baserom.gba", 0x0040b534, 0x6
-
-gUnknown_0840B53A:: @ 840B53A
- .incbin "baserom.gba", 0x0040b53a, 0x2a
-
-gUnknown_0840B564:: @ 840B564
- .incbin "baserom.gba", 0x0040b564, 0x6
-
-gUnknown_0840B56A:: @ 840B56A
- .incbin "baserom.gba", 0x0040b56a, 0x12
-
-gUnknown_0840B57C:: @ 840B57C
- .incbin "baserom.gba", 0x0040b57c, 0x1c
-
- .align 2
-gOamData_840B598:: @ 840B598
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gUnknown_0840B5A0:: @ 840B5A0
- .4byte 0x02008000
- .4byte 0x0200A000
- .4byte 0x0200C000
- .4byte 0x0200E000
- .4byte 0x02010000
- .4byte 0x02014000
- .4byte 0x02018000
-
- .align 2
-gSpriteImageTable_840B5BC:: @ 840B5BC
- obj_frame_tiles 0x02008000, 0x800
- obj_frame_tiles 0x02008800, 0x800
- obj_frame_tiles 0x02009000, 0x800
- obj_frame_tiles 0x02009800, 0x800
-
- .align 2
-gSpriteImageTable_840B5DC:: @ 840B5DC
- obj_frame_tiles 0x0200A000, 0x800
- obj_frame_tiles 0x0200A800, 0x800
- obj_frame_tiles 0x0200B000, 0x800
- obj_frame_tiles 0x0200B800, 0x800
-
- .align 2
-gSpriteImageTable_840B5FC:: @ 840B5FC
- obj_frame_tiles 0x0200C000, 0x800
- obj_frame_tiles 0x0200C800, 0x800
- obj_frame_tiles 0x0200D000, 0x800
- obj_frame_tiles 0x0200D800, 0x800
-
- .align 2
-gSpriteImageTable_840B61C:: @ 840B61C
- obj_frame_tiles 0x0200E000, 0x800
- obj_frame_tiles 0x0200E800, 0x800
- obj_frame_tiles 0x0200F000, 0x800
- obj_frame_tiles 0x0200F800, 0x800
-
- .align 2
-gSpriteImageTable_840B63C:: @ 840B63C
- obj_frame_tiles 0x02010000, 0x800
- obj_frame_tiles 0x02010800, 0x800
- obj_frame_tiles 0x02011000, 0x800
- obj_frame_tiles 0x02011800, 0x800
-
- .align 2
-gSpriteImageTable_840B65C:: @ 840B65C
- obj_frame_tiles 0x02014000, 0x800
- obj_frame_tiles 0x02014800, 0x800
- obj_frame_tiles 0x02015000, 0x800
- obj_frame_tiles 0x02015800, 0x800
-
- .align 2
-gSpriteImageTable_840B67C:: @ 840B67C
- obj_frame_tiles 0x02018000, 0x800
- obj_frame_tiles 0x02018800, 0x800
- obj_frame_tiles 0x02019000, 0x800
- obj_frame_tiles 0x02019800, 0x800
-
- .align 2
-gUnknown_0840B69C:: @ 840B69C
- .4byte gSpriteImageTable_840B5BC
- .4byte gSpriteImageTable_840B5DC
- .4byte gSpriteImageTable_840B5FC
- .4byte gSpriteImageTable_840B61C
- .4byte gSpriteImageTable_840B63C
- .4byte gSpriteImageTable_840B65C
- .4byte gSpriteImageTable_840B67C
-
-gUnknown_0840B6B8:: @ 840B6B8
- spr_template -1, -1, gOamData_840B598, NULL, gSpriteImageTable_840B5BC, gDummySpriteAffineAnimTable, nullsub_81
-
- .align 2
-gOamData_840B6D0:: @ 840B6D0
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_840B6D8:: @ 840B6D8
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B6E0:: @ 840B6E0
- obj_image_anim_frame 1, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B6E8:: @ 840B6E8
- obj_image_anim_frame 2, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B6F0:: @ 840B6F0
- obj_image_anim_frame 3, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B6F8:: @ 840B6F8
- obj_image_anim_frame 4, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B700:: @ 840B700
- obj_image_anim_frame 5, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B708:: @ 840B708
- obj_image_anim_frame 6, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B710:: @ 840B710
- obj_image_anim_frame 7, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B718:: @ 840B718
- obj_image_anim_frame 8, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B720:: @ 840B720
- obj_image_anim_frame 9, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B728:: @ 840B728
- obj_image_anim_frame 10, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B730:: @ 840B730
- obj_image_anim_frame 11, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B738:: @ 840B738
- obj_image_anim_frame 12, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B740:: @ 840B740
- obj_image_anim_frame 13, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B748:: @ 840B748
- obj_image_anim_frame 14, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B750:: @ 840B750
- obj_image_anim_frame 15, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B758:: @ 840B758
- obj_image_anim_frame 16, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B760:: @ 840B760
- .4byte gSpriteAnim_840B6D8
- .4byte gSpriteAnim_840B6E0
- .4byte gSpriteAnim_840B6E8
- .4byte gSpriteAnim_840B6F0
- .4byte gSpriteAnim_840B6F8
- .4byte gSpriteAnim_840B700
- .4byte gSpriteAnim_840B708
- .4byte gSpriteAnim_840B710
- .4byte gSpriteAnim_840B718
- .4byte gSpriteAnim_840B720
- .4byte gSpriteAnim_840B728
- .4byte gSpriteAnim_840B730
- .4byte gSpriteAnim_840B738
- .4byte gSpriteAnim_840B740
- .4byte gSpriteAnim_840B748
- .4byte gSpriteAnim_840B750
- .4byte gSpriteAnim_840B758
-
- .align 2
-gSpriteTemplate_840B7A4:: @ 840B7A4
- spr_template 1001, 1001, gOamData_840B6D0, gSpriteAnimTable_840B760, NULL, gDummySpriteAffineAnimTable, sub_814386C
-
-gUnknown_0840B7BC:: @ 840B7BC
- .incbin "baserom.gba", 0x0040b7bc, 0x40
-
-gUnknown_0840B7FC:: @ 840B7FC
- .incbin "baserom.gba", 0x0040b7fc, 0x40
-
-gUnknown_0840B83C:: @ 840B83C
- .incbin "baserom.gba", 0x0040b83c, 0xf
-
-gUnknown_0840B84B:: @ 840B84B
- .incbin "baserom.gba", 0x0040b84b, 0xf
-
-gUnknown_0840B85A:: @ 840B85A
- .incbin "baserom.gba", 0x0040b85a, 0xf
-
-gUnknown_0840B869:: @ 840B869
- .incbin "baserom.gba", 0x0040b869, 0xf
-
-gUnknown_0840B878::
- .incbin "baserom.gba", 0x0040B878, 0xf
-
- .include "data/text/credits.inc"
-
-gUnknown_0840CA00:: @ 840CA00
- .incbin "baserom.gba", 0x0040ca00, 0x8
-
-Unknown_840CA08:
- .incbin "baserom.gba", 0x0040ca08, 0x14
-Unknown_840CA1C:
- .incbin "baserom.gba", 0x0040ca1c, 0x14
-Unknown_840CA30:
- .incbin "baserom.gba", 0x0040ca30, 0x10
-Unknown_840CA40:
- .incbin "baserom.gba", 0x0040ca40, 0x14
-
- .align 2
-gUnknown_0840CA54:: @ 840CA54
- .4byte Unknown_840CA08
- .4byte Unknown_840CA1C
- .4byte Unknown_840CA30
- .4byte Unknown_840CA40
-
-Unknown_840CA64:
- .incbin "baserom.gba", 0x0040ca64, 0x14
-Unknown_840CA78:
- .incbin "baserom.gba", 0x0040ca78, 0x14
-Unknown_840CA8C:
- .incbin "baserom.gba", 0x0040ca8c, 0x8
-
- .align 2
-gUnknown_0840CA94:: @ 840CA94
- .4byte Unknown_840CA64
- .4byte Unknown_840CA78
- .4byte Unknown_840CA8C
-
-gUnknown_0840CAA0:: @ 840CAA0
- .incbin "baserom.gba", 0x0040caa0, 0x10
-
-gUnknown_0840CAB0:: @ 840CAB0
- .incbin "baserom.gba", 0x0040cab0, 0x10
-
- .align 2
-gOamData_840CAC0:: @ 840CAC0
- .2byte 0x00A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_840CAC8:: @ 840CAC8
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840CAD0:: @ 840CAD0
- obj_image_anim_frame 64, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840CAD8:: @ 840CAD8
- obj_image_anim_frame 128, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840CAE0:: @ 840CAE0
- .4byte gSpriteAnim_840CAC8
- .4byte gSpriteAnim_840CAD0
- .4byte gSpriteAnim_840CAD8
-
- .align 2
-gSpriteTemplate_840CAEC:: @ 840CAEC
- spr_template 1001, 1001, gOamData_840CAC0, gSpriteAnimTable_840CAE0, NULL, gDummySpriteAffineAnimTable, sub_814580C
-
-gUnknown_0840CB04:: @ 840CB04
- .incbin "baserom.gba", 0x0040cb04, 0x8
-
- .align 2
-gDiplomaPalettes:: @ 840CB0C
- .incbin "graphics/misc/diploma_national.gbapal"
- .incbin "graphics/misc/diploma_hoenn.gbapal"
-
- .align 2
-gDiplomaTilemap:: @ 840CB4C
- .incbin "graphics/misc/diploma_map.bin.lz"
-
- .align 2
-gDiplomaTiles:: @ 840D288
- .incbin "graphics/misc/diploma.4bpp.lz"
-
-gExpandedPlaceholder_Empty:: @ 840DC80
- .string "$"
-
-gExpandedPlaceholder_Kun:: @ 840DC81
- .string "$"
-
-gExpandedPlaceholder_Chan:: @ 840DC82
- .string "$"
-
-gExpandedPlaceholder_Sapphire:: @ 840DC83
- .string "SAPPHIRE$"
-
-gExpandedPlaceholder_Ruby:: @ 840DC8C
- .string "RUBY$"
-
-gExpandedPlaceholder_Aqua:: @ 840DC91
- .string "AQUA$"
-
-gExpandedPlaceholder_Magma:: @ 840DC96
- .string "MAGMA$"
-
-gExpandedPlaceholder_Archie:: @ 840DC9C
- .string "ARCHIE$"
-
-gExpandedPlaceholder_Maxie:: @ 840DCA3
- .string "MAXIE$"
-
-gExpandedPlaceholder_Kyogre:: @ 840DCA9
- .string "KYOGRE$"
-
-gExpandedPlaceholder_Groudon:: @ 840DCB0
- .string "GROUDON$"
-
-gExpandedPlaceholder_Brendan:: @ 840DCB8
- .string "BRENDAN$"
-
-gExpandedPlaceholder_May:: @ 840DCC0
- .string "MAY$"
-
-gSystemText_Egg:: @ 840DCC4
- .string "EGG$"
-
-gSystemText_Pokemon2:: @ 840DCC8
- .string "POKéMON$"
-
-gMainMenuString_NewGame:: @ 840DCD0
- .string "NEW GAME$"
-
-gMainMenuString_Continue:: @ 840DCD9
- .string "CONTINUE$"
-
-gMainMenuString_Option:: @ 840DCE2
- .string "OPTION$"
-
-gMainMenuString_MysteryEvents:: @ 840DCE9
- .string "MYSTERY EVENTS$"
-
-SystemText_UpdatingSaveExternal:
- .string "Updating save file using external\ndata. Please wait.$"
-
-SystemText_SaveUpdated:
- .string "The save file has been updated.$"
-
-SystemText_SaveUpdatedExchangeBackup:
- .string "The save file has been updated.\pFurther game data cannot be saved\nto the backup memory.\pPlease exchange the backup memory.\pFor details, please contact the\nNintendo Service Center.$"
-
-SystemText_SaveNotUpdated:
- .string "The save file could not be updated.\pPlease exchange the backup\nmemory.\pFor details, please contact the\nNintendo Service Center.$"
-
-gSaveFileCorruptMessage:: @ 840DE81
- .string "The save file is corrupt. The\nprevious save file will be loaded.$"
-
-gSaveFileDeletedMessage:: @ 840DEC2
- .string " The save file has been deleted...$"
-
-gBoardNotInstalledMessage:: @ 840DEE5
- .string "The 1M sub-circuit board is\nnot installed.$"
-
-gBatteryDryMessage:: @ 840DF10
- .string "The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur.$"
-
-gMainMenuString_Player:: @ 840DF7C
- .string "PLAYER$"
-
-gMainMenuString_Pokedex:: @ 840DF83
- .string "POKéDEX$"
-
-gMainMenuString_Time:: @ 840DF8B
- .string "TIME$"
-
-gMainMenuString_Badges:: @ 840DF90
- .string "BADGES$"
-
-gBirchText_Boy::
- .string "BOY$"
-gBirchText_Girl::
- .string "GIRL$"
-gBirchText_NewName::
- .string "NEW NAME$"
-
-gDefaultBoyName1::
- .ifdef SAPPHIRE
- .string "SEAN$"
- .else
- .string "LANDON$"
- .endif
-gDefaultBoyName2::
- .string "TERRY$"
-gDefaultBoyName3::
- .string "SETH$"
-gDefaultBoyName4::
- .string "TOM$"
-
-gDefaultGirlName1::
- .ifdef SAPPHIRE
- .string "MARINA$"
- .else
- .string "TERRA$"
- .endif
-gDefaultGirlName2::
- .string "KIMMY$"
-gDefaultGirlName3::
- .string "NICOLA$"
-gDefaultGirlName4::
- .string "SARA$"
-
-gSystemText_IntroWeCall::
- .string "This is what we call\na POKéMON.$"
-
-gSystemText_NewPara:: @ 840DFF7
- .string "\p$"
-
-gDexText_UnknownPoke:: @ 840DFF9
- .string " ????? POKéMON$" @ why 12 spaces?
-
-gDexText_UnknownHeight:: @ 840E013
- .string "{CLEAR_TO 0x0C}??’??”$"
-
-gDexText_UnknownWeight:: @ 840E01D
- .string "????.? lbs.$"
- .string "$"
-
-gDexText_CryOf:: @ 840E02A
- .string "{CLEAR_TO 2}CRY OF$"
- .string "$"
-
-gDexText_SizeComparedTo:: @ 840E035
- .string "SIZE COMPARED TO $"
-
-gDexText_RegisterComplete:: @ 840E047
- .string "POKéDEX registration completed.$"
-
-gDexText_Searching:: @ 840E067
- .string "Searching...\nPlease wait.$"
-
-gDexText_SearchComplete:: @ 840E081
- .string "Search completed.$"
-
-gDexText_NoMatching:: @ 840E093
- .string "No matching POKéMON were found.$"
-
-DexText_SearchForPoke::
- .string "Search for POKéMON based on\nselected parameters.$"
-DexText_SwitchDex::
- .string "Switch POKéDEX listings.$"
-DexText_ReturnToDex::
- .string "Return to the POKéDEX.$"
-DexText_SelectDexMode::
- .string "Select the POKéDEX mode.$"
-DexText_SelectDexList::
- .string "Select the POKéDEX listing mode.$"
-DexText_ListByABC::
- .string "List by the first letter in the name.\n/Spotted POKéMON only.$"
-DexText_ListByColor::
- .string "List by body color.\n/Spotted POKéMON only.$"
-DexText_ListByType::
- .string "List by type.\n/Owned POKéMON only.$"
-DexText_ExecuteSearchSwitch::
- .string "Execute search/switch.$"
-DexText_HoennDex::
- .string "HOENN DEX$"
-DexText_NationalDex::
- .string "NATIONAL DEX$"
-DexText_NumericalMode::
- .string "NUMERICAL MODE$"
-DexText_ABCMode::
- .string "A TO Z MODE$"
-DexText_HeaviestMode::
- .string "HEAVIEST MODE$"
-DexText_LightestMode::
- .string "LIGHTEST MODE$"
-DexText_TallestMode::
- .string "TALLEST MODE$"
-DexText_SmallestMode::
- .string "SMALLEST MODE$"
-DexText_ABC::
- .string "ABC$"
-DexText_DEF::
- .string "DEF$"
-DexText_GHI::
- .string "GHI$"
-DexText_JKL::
- .string "JKL$"
-DexText_MNO::
- .string "MNO$"
-DexText_PQR::
- .string "PQR$"
-DexText_STU::
- .string "STU$"
-DexText_VWX::
- .string "VWX$"
-DexText_YZ::
- .string "YZ$"
-DexText_Red::
- .string "RED$"
-DexText_Blue::
- .string "BLUE$"
-DexText_Yellow::
- .string "YELLOW$"
-DexText_Green::
- .string "GREEN$"
-DexText_Black::
- .string "BLACK$"
-DexText_Brown::
- .string "BROWN$"
-DexText_Purple::
- .string "PURPLE$"
-DexText_Gray::
- .string "GRAY$"
-DexText_White::
- .string "WHITE$"
-DexText_Pink::
- .string "PINK$"
-DexText_HoennDex2::
- .string "HOENN region’s POKéDEX$"
-DexText_NationalDex2::
- .string "National edition POKéDEX$"
-DexText_ListByNumber::
- .string "POKéMON are listed according to their\nnumber.$"
-DexText_ListByABC2::
- .string "Spotted and owned POKéMON are listed\nalphabetically.$"
-DexText_ListByHeavyToLightest::
- .string "Owned POKéMON are listed from the\nheaviest to the lightest.$"
-DexText_ListByLightToHeaviest::
- .string "Owned POKéMON are listed from the\nlightest to the heaviest.$"
-DexText_ListByTallToSmallest::
- .string "Owned POKéMON are listed from the\ntallest to the smallest.$"
-DexText_ListBySmallToTallest::
- .string "Owned POKéMON are listed from the\nsmallest to the tallest.$"
-DexText_Terminator5::
- .string "$"
-DexText_DontSpecify::
- .string "DON’T SPECIFY.$"
-DexText_None::
- .string "NONE$"
-DexText_RightPointingTriangle::
- .string "▶$" @ right-pointing triangle
-DexText_Terminator6::
- .string " $"
-
-gMenuText_WelcomeToHOFAndDexRating:: @ 840E44F
- .string "Welcome to the HALL OF FAME!$"
- .string "Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH’s POKéDEX rating!\pPROF. BIRCH: Let’s see...\p$"
-
-gMenuText_HOFSaving:: @ 840E4CD
- .string "SAVING...\nDON’T TURN OFF THE POWER.$"
-
-gMenuText_HOFCorrupt:: @ 840E4F1
- .string "The HALL OF FAME data is corrupt.$"
-
-gMenuText_HOFNumber:: @ 840E513
- .string "HALL OF FAME No. $"
-
-gMenuText_HOFCongratulations:: @ 840E525
- .string "LEAGUE CHAMPION!\nCONGRATULATIONS!$"
-
-gOtherText_Number2:: @ 840E547
- .string "No. $"
-
-gOtherText_Level3:: @ 840E54C
- .string "Lv. $"
-
-gOtherText_IDNumber:: @ 840E551
- .string "IDNo. /$"
-
-gOtherText_Name:: @ 840E559
- .string "NAME /$"
-
-gOtherText_IDNumber2:: @ 840E560
- .string "IDNo. /$"
-
-gOtherText_BirchInTrouble:: @ 840E568
- .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!$"
-
-gOtherText_DoYouChoosePoke:: @ 840E5AB
- .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}Do you choose this POKéMON?$"
-
-gOtherText_Poke:: @ 840E5CD
- .string "POKéMON$"
-
-gSystemText_SaveErrorExchangeBackup:: @ 840E5D5
- .string "Save error.\pPlease exchange the\nbackup memory.$"
-
-gOtherText_FlyToWhere:: @ 840E604
- .string "FLY to where?$"
-
-OtherText_Use::
- .string "USE$"
-OtherText_Toss::
- .string "TOSS$"
-OtherText_Register::
- .string "REGISTER$"
-OtherText_Give2::
- .string "GIVE$"
-OtherText_CheckTag::
- .string "CHECK TAG$"
-OtherText_Confirm::
- .string "CONFIRM$"
-
-gOtherText_Walk:: @ 840E63B
- .string "WALK$"
-
-gUnknownText_Exit:: @ 840E640
- .string "EXIT$"
-
-gOtherText_CancelNoTerminator:: @ 840E645
- .string "CANCEL$"
-
-gOtherText_CancelWithTerminator:: @ 840E64C
- .string "$CANCEL$"
-
-OtherText_Item::
- .string "ITEM$"
-OtherText_Mail::
- .string "MAIL$"
-OtherText_Take2::
- .string "TAKE$"
-OtherText_Store::
- .string "STORE$"
-
-gOtherText_Check:: @ 840E669
- .string "CHECK$"
-
-gOtherText_None:: @ 840E66F
- .string "NONE$"
-
-gOtherText_ThreeQuestions2:: @ 840E674
- .string "???$"
-
-gOtherText_FiveQuestionsAndSlash:: @ 840E678
- .string "?????$"
- .string "/$"
-
-gOtherText_OneDash:: @ 840E680
- .string "-$"
-
-gOtherText_TwoDashes:: @ 840E682
- .string "--$"
-
-gOtherText_ThreeDashes2:: @ 840E685
- .string "---$"
-
-gOtherText_MaleSymbol2:: @ 840E689
- .string "♂$"
-
-gOtherText_FemaleSymbolAndLv:: @ 840E68B
- .string "♀$"
- .string "Lv.$"
-
-gOtherText_TallPlusAndRightArrow:: @ 840E691
- .string "{TALL_PLUS}$"
- .string "{RIGHT_ARROW}$"
-
-gMenuText_GoBackToPrev:: @ 840E697
- .string "Go back to the\nprevious menu.$"
-
-gOtherText_WhatWillYouDo:: @ 840E6B5
- .string "What would you like to do?$"
-
-gOtherText_xString1:: @ 840E6D0
- .string "×{STR_VAR_1}$"
-
-gOtherText_Berry2:: @ 840E6D4
- .string " BERRY$"
-
-gOtherText_Coins2:: @ 840E6DB
- .string "{STR_VAR_1} COINS$"
-
-gOtherText_CloseBag:: @ 840E6E4
- .string "CLOSE BAG$"
-
-OtherText_TheField3::
- .string "the field.$"
-OtherText_TheBattle::
- .string "the battle.$"
-OtherText_ThePokeList::
- .string "the POKéMON LIST.$"
-OtherText_TheShop::
- .string "the shop.$"
-OtherText_TheField::
- .string "the field.$"
-OtherText_TheField2::
- .string "the field.$"
-OtherText_ThePC::
- .string "the PC.$"
-
- .align 2
-gUnknown_0840E740:: @ 840E740
- .4byte OtherText_TheField3
- .4byte OtherText_TheBattle
- .4byte OtherText_ThePokeList
- .4byte OtherText_TheShop
- .4byte OtherText_TheField
- .4byte OtherText_TheField2
- .4byte OtherText_ThePC
-
-gOtherText_ReturnTo:: @ 840E75C
- .string "Return to$"
-
-gOtherText_WhatWillYouDo2:: @ 840E766
- .string "What would you\nlike to do?$"
-
-gOtherText_CantWriteMail:: @ 840E781
- .string "You can’t write\nMAIL here.$"
-
-gOtherText_NoPokemon:: @ 840E79C
- .string "There is no\nPOKéMON.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_SwitchWhichItem:: @ 840E7B3
- .string "Switch with which\nitem?$"
-
-gOtherText_CantBeHeld:: @ 840E7CB
- .string "{STR_VAR_1} can’t be held.$"
-
-gOtherText_CantBeHeldHere:: @ 840E7DD
- .string "{STR_VAR_1} can’t be held here.$"
-
-gOtherText_HowManyToDeposit:: @ 840E7F4
- .string "How many do you\nwant to deposit?$"
-
-gOtherText_DepositedItems:: @ 840E815
- .string "Deposited {STR_VAR_2}\n{STR_VAR_1}(s).$"
-
-gOtherText_NoRoomForItems:: @ 840E829
- .string "There’s no room to\nstore items.$"
-
-gOtherText_CantStoreSomeoneItem:: @ 840E849
- .string "You can’t store\nsomeone else’s item\nin the PC.$"
-
-gOtherText_TooImportant:: @ 840E878
- .string "That’s much too\nimportant to toss\nout!$"
-
-gOtherText_HowManyToToss:: @ 840E89F
- .string "Toss out how many?$"
-
-gOtherText_ThrewAwayItem:: @ 840E8B2
- .string "Threw away {STR_VAR_2}\n{STR_VAR_1}(s).$"
-
-gOtherText_OkayToThrowAwayPrompt:: @ 840E8C7
- .string "Is it okay to\nthrow away {STR_VAR_2}\n{STR_VAR_1}(s)?$"
-
-gOtherText_DadsAdvice:: @ 840E8EA
- .string "DAD’s advice...\n{PLAYER}, there’s a time and place for\leverything!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_CantGetOffBike:: @ 840E929
- .string "You can’t dismount your BIKE here.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_ItemfinderResponding:: @ 840E94E
- .string "Oh!\nThe machine’s responding!\pThere’s an item buried around here!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_ItemfinderFoundItem:: @ 840E992
- .string "The machine’s indicating something\nright underfoot!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_NoResponse:: @ 840E9C8
- .string "... ... ... ... Nope!\nThere’s no response.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_Coins3:: @ 840E9F5
- .string "Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_BootedTM:: @ 840EA06
- .string "Booted up a TM.$"
-
-gOtherText_BootedHM:: @ 840EA16
- .string "Booted up an HM.$"
-
-gOtherText_ContainsMove:: @ 840EA27
- .string "It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?$"
-
-gOtherText_UsedItem:: @ 840EA4F
- .string "{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_RepelLingers:: @ 840EA61
- .string "But the effects of a REPEL lingered\nfrom earlier.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_UsedFlute:: @ 840EA95
- .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_UsedRepel:: @ 840EAC3
- .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_BoxIsFull:: @ 840EAF4
- .string "The BOX is full.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_Size:: @ 840EB07
- .string "SIZE /$"
-
-gOtherText_Firm:: @ 840EB0E
- .string "FIRM /$"
-
-gContestStatsText_Unknown1:: @ 840EB15
- .string "{STR_VAR_1}.{STR_VAR_2}”$"
-
-ContestStatsText_VerySoft:
- .string "Very soft$"
-ContestStatsText_Soft:
- .string "Soft$"
-ContestStatsText_Hard:
- .string "Hard$"
-ContestStatsText_VeryHard:
- .string "Very hard$"
-ContestStatsText_SuperHard:
- .string "Super hard$"
-ContestStatsText_RedPokeBlock:
- .string "RED {POKEBLOCK}$"
-ContestStatsText_BluePokeBlock:
- .string "BLUE {POKEBLOCK}$"
-ContestStatsText_PinkPokeBlock:
- .string "PINK {POKEBLOCK}$"
-ContestStatsText_GreenPokeBlock:
- .string "GREEN {POKEBLOCK}$"
-ContestStatsText_YellowPokeBlock:
- .string "YELLOW {POKEBLOCK}$"
-ContestStatsText_PurplePokeBlock:
- .string "PURPLE {POKEBLOCK}$"
-ContestStatsText_IndigoPokeBlock:
- .string "INDIGO {POKEBLOCK}$"
-ContestStatsText_BrownPokeBlock:
- .string "BROWN {POKEBLOCK}$"
-ContestStatsText_LiteBluePokeBlock:
- .string "LITEBLUE {POKEBLOCK}$"
-ContestStatsText_OlivePokeBlock:
- .string "OLIVE {POKEBLOCK}$"
-ContestStatsText_GrayPokeBlock:
- .string "GRAY {POKEBLOCK}$"
-ContestStatsText_BlackPokeBlock:
- .string "BLACK {POKEBLOCK}$"
-ContestStatsText_WhitePokeBlock:
- .string "WHITE {POKEBLOCK}$"
-ContestStatsText_GoldPokeBlock:
- .string "GOLD {POKEBLOCK}$"
-
-gContestStatsText_Spicy:: @ 840EBED
- .string "SPICY$"
-
-gContestStatsText_Dry:: @ 840EBF3
- .string "DRY$"
-
-gContestStatsText_Sweet:: @ 840EBF7
- .string "SWEET$"
-
-gContestStatsText_Bitter:: @ 840EBFD
- .string "BITTER$"
-
-gContestStatsText_Sour:: @ 840EC04
- .string "SOUR$"
- .string "TASTY$" @ tasty is probably unused, but feel isn't.
- .string "FEEL$"
-
-gContestStatsText_StowCase:: @ 840EC14
- .string "Stow CASE.$"
-
-gContestStatsText_ThrowAwayPrompt:: @ 840EC1F
- .string "Throw away this\n{STR_VAR_1}?$"
-
-gContestStatsText_WasThrownAway:: @ 840EC33
- .string "The {STR_VAR_1}\nwas thrown away.$"
-
-gContestStatsText_NormallyAte:: @ 840EC4B
- .string "{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
-
-gContestStatsText_HappilyAte:: @ 840EC5C
- .string "{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
-
-gContestStatsText_DisdainfullyAte:: @ 840EC75
- .string "{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
-
-MartText_Buy:
- .string "BUY$"
-MartText_Sell:
- .string "SELL$"
-MartText_Quit2:
- .string "QUIT$"
-
-gOtherText_QuitShopping:: @ 840ECA1
- .string "Quit shopping.$"
-
-gOtherText_HowManyYouWant:: @ 840ECB0
- .string "{STR_VAR_1}? Certainly.\nHow many would you like?$"
-
-gOtherText_ThatWillBe:: @ 840ECD8
- .string "{STR_VAR_1}? And you wanted {STR_VAR_2}?\nThat will be ¥{STR_VAR_3}.$"
-
-gOtherText_ThatWillBe2:: @ 840ED01
- .string "{STR_VAR_1}, is it?\nThat’ll be ¥{STR_VAR_2}. Do you want it?$"
-
-gOtherText_ThatWillBe3:: @ 840ED2C
- .string "You wanted {STR_VAR_1}?\nThat’ll be ¥{STR_VAR_2}. Will that be okay?$"
-
-gOtherText_HereYouGo:: @ 840ED5E
- .string "Here you go!\nThank you very much.$"
-
-gOtherText_HereYouGo2:: @ 840ED80
- .string "Thank you!\nI’ll send it to your home PC.$"
-
-gOtherText_HereYouGo3:: @ 840EDA9
- .string "Thanks!\nI’ll send it to your PC at home.$"
-
-gOtherText_NotEnoughMoney:: @ 840EDD2
- .string "You don’t have enough money.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_NoRoomFor:: @ 840EDF1
- .string "You have no more room for items.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_SpaceForIsFull:: @ 840EE14
- .string "The space for {STR_VAR_1} is full.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_AnythingElse:: @ 840EE30
- .string "Is there anything else I can help\nyou with?$"
-
-gOtherText_CanIHelpYou:: @ 840EE5C
- .string "Can I help you with anything else?$"
-
-gOtherText_FreePremierBall:: @ 840EE7F
- .string "I’ll throw in a PREMIER BALL, too.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_CantBuyThat:: @ 840EEA4
- .string "{STR_VAR_2}? Oh, no.\nI can’t buy that.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_HowManyToSell:: @ 840EEC4
- .string "{STR_VAR_2}?\nHow many would you like to sell?$"
-
-gOtherText_CanPay:: @ 840EEE9
- .string "I can pay ¥{STR_VAR_1}.\nWould that be okay?$"
-
-gOtherText_SoldItem:: @ 840EF0C
- .string "Turned over the {STR_VAR_2}\nand received ¥{STR_VAR_1}.$"
-
-OtherText_Money::
- .string "¥{STR_VAR_1}$"
-OtherText_Shift::
- .string "SHIFT$"
-OtherText_SendOut::
- .string "SEND OUT$"
-OtherText_Switch2::
- .string "SWITCH$"
-OtherText_Summary::
- .string "SUMMARY$"
-OtherText_Moves::
- .string "MOVES$"
-OtherText_Enter2::
- .string "ENTER$"
-OtherText_NoEntry::
- .string "NO ENTRY$"
-OtherText_Take::
- .string "TAKE$"
-OtherText_Read2::
- .string "READ$"
-
-gOtherText_Hp2:: @ 840EF72
- .string "HP$"
-
-gOtherText_SpAtk2:: @ 840EF75
- .string "SP. ATK$"
-
-gOtherText_SpDef2:: @ 840EF7D
- .string "SP. DEF$"
-
-gOtherText_WontHaveAnyEffect:: @ 840EF85
- .string "It won’t have any effect.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_CantUseOnPoke:: @ 840EFA1
- .if REVISION >= 1
- .string "This can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$"
- .else
- .string "This item can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$"
- .endif
-
-gOtherText_CantBeSwitched:: @ 840EFCC
- .string "{STR_VAR_1} can’t be switched\nout!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_AlreadyBattle:: @ 840EFE8
- .string "{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_AlreadySelected:: @ 840F003
- .string "{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_NoEnergyLeft:: @ 840F023
- .string "{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_CantSwitchPokeWithYours:: @ 840F046
- .string "You can’t switch {STR_VAR_1}’s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_EGGCantBattle:: @ 840F079
- .string "An EGG can’t battle!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_CantBeUsedBadge:: @ 840F090
- .string "This can’t be used until a new\nBADGE is obtained.$"
-
-gOtherText_NoMoreThreePoke:: @ 840F0C2
- .string "No more than three POKéMON\nmay enter.$"
-
-gOtherText_SendRemovedMailPrompt:: @ 840F0E8
- .string "Send the removed MAIL to\nyour PC?$"
-
-gOtherText_MailWasSent:: @ 840F10A
- .string "The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_MailboxIsFull:: @ 840F12A
- .string "Your PC’s MAILBOX is full.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_MailRemovedMessageLost:: @ 840F147
- .string "If the MAIL is removed, the\nmessage will be lost. Okay?$"
-
-gOtherText_MailMustBeRemoved:: @ 840F17F
- .string "MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_WasGivenToHold:: @ 840F1AE
- .string "{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_AlreadyHolding:: @ 840F1CD
- .string "{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?$"
-
-gOtherText_NotHoldingAnything:: @ 840F213
- .string "{STR_VAR_1} isn’t\nholding anything.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_ReceivedTheThingFrom:: @ 840F230
- .string "Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_MailTaken:: @ 840F24B
- .string "MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_TakenAndReplaced:: @ 840F26E
- .string "The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_PokeHoldingItemCantMail:: @ 840F29B
- .string "This POKéMON is holding an item.\nIt cannot hold MAIL.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_MailTransferredMailbox:: @ 840F2D3
- .string "MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_BagFullCannotRemoveItem:: @ 840F2FC
- .string "The BAG is full. The POKéMON’s\nitem could not be removed.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_LearnedMove:: @ 840F338
- .string "{STR_VAR_1} learned\n{STR_VAR_2}!$"
-
-gOtherText_NotCompatible:: @ 840F347
- .string "{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can’t be learned.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_WantsToLearn:: @ 840F37C
- .string "{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?$"
-
-gOtherText_StopTryingTo:: @ 840F3F0
- .string "Stop trying to teach\n{STR_VAR_2}?$"
-
-gOtherText_DidNotLearnMove2:: @ 840F409
- .string "{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_WhichMoveToForget2:: @ 840F429
- .string "Which move should be forgotten?{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_ForgetMove123_2:: @ 840F44B
- .string "{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}... {PAUSE 15}... {PAUSE 15}... {PAUSE 15}{PLAY_SE SE_KON}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd...{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_AlreadyKnows:: @ 840F49E
- .string "{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_HPRestoredBy:: @ 840F4B5
- .string "{STR_VAR_1}’s HP was restored by\n{STR_VAR_2} points.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_CuredPoisoning:: @ 840F4DA
- .string "{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_CuredParalysis:: @ 840F4FB
- .string "{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_WokeUp:: @ 840F518
- .string "{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_BurnHealed:: @ 840F526
- .string "{STR_VAR_1}’s burn was healed.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_ThawedOut:: @ 840F53E
- .string "{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_PPRestored:: @ 840F553
- .string "PP was restored.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_RegainedHealth:: @ 840F566
- .string "{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_BecameHealthy:: @ 840F57C
- .string "{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_PPIncreased:: @ 840F591
- .string "{STR_VAR_1}’s PP increased.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_ElevatedTo:: @ 840F5A6
- .string "{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}.$"
-
-gOtherText_WasRaised:: @ 840F5C1
- .string "{STR_VAR_1}’s {STR_VAR_2} was\nraised.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_SnapConfusion:: @ 840F5D7
- .string "{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_GotOverLove:: @ 840F5FA
- .string "{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}$"
-
-OtherText_ChoosePoke::
- .string "Choose a POKéMON.$"
-OtherText_MovePokeTo::
- .string "Move to where?$"
-OtherText_TeachWhat::
- .string "Teach which POKéMON?$"
-OtherText_UseWhat::
- .string "Use on which POKéMON?$"
-OtherText_GiveWhat::
- .string "Give to which POKéMON?$"
-OtherText_DoWhat::
- .string "Do what with {STR_VAR_1}?$"
-OtherText_NothingToCut::
- .string "There’s nothing to CUT.$"
-OtherText_CantSurf::
- .string "You can’t SURF here.$"
-OtherText_AlreadySurfing::
- .string "You’re already SURFING.$"
-OtherText_CantUseThatHere::
- .string "Can’t use that here.$"
-OtherText_RestoreWhatMove::
- .string "Restore which move?$"
-OtherText_BoostPP::
- .string "Boost PP of which move?$"
-OtherText_DoWhatWithItem::
- .string "Do what with an item?$"
-OtherText_NoPokeForBattle::
- .string "No POKéMON for battle!$"
-OtherText_ChoosePoke2::
- .string "Choose a POKéMON.$"
-OtherText_NotEnoughHP::
- .string "Not enough HP...$"
-OtherText_ThreePokeNeeded::
- .string "Three POKéMON are needed.$"
-OtherText_PokeCantBeSame::
- .string "POKéMON can’t be the same.$"
-OtherText_NoIdenticalHoldItems::
- .string "No identical hold items.$"
-OtherText_TeachWhichPoke::
- .string "Teach which POKéMON?$"
-
-gOtherText_Attack:: @ 840F7C6
- .string "ATTACK$"
-
-gOtherText_Defense:: @ 840F7CD
- .string "DEFENSE$"
-
-gOtherText_SpAtk:: @ 840F7D5
- .string "SP. ATK$"
-
-gOtherText_SpDef:: @ 840F7DD
- .string "SP. DEF$"
-
-gOtherText_Speed:: @ 840F7E5
- .string "SPEED$"
-
-gOtherText_HP:: @ 840F7EB
- .string "HP$"
-
-gOtherText_Terminator18:: @ 840F7EE
- .string "$"
-
-gOtherText_OriginalTrainer:: @ 840F7EF
- .string "OT/$"
-
-gOtherText_Type2:: @ 840F7F3
- .string "TYPE/$"
-
-gOtherText_Power2:: @ 840F7F9
- .string "POWER$"
-
-gOtherText_Accuracy2:: @ 840F7FF
- .string "ACCURACY$"
-
-gOtherText_Appeal2:: @ 840F808
- .string "APPEAL$"
-
-gOtherText_Jam2:: @ 840F80F
- .string "JAM$"
-
-gOtherText_Status:: @ 840F813
- .string "STATUS$"
-
-gOtherText_ExpPoints:: @ 840F81A
- .string "EXP. POINTS$"
-
-gOtherText_NextLv:: @ 840F826
- .string "NEXT LV.$"
-
-gOtherText_Ribbons00:: @ 840F82F
- .string "RIBBONS: 00$"
-
-OtherText_Event::
- .string "EVENT$"
-OtherText_Switch::
- .string "SWITCH$"
-OtherText_PokeInfo::
- .string "POKéMON INFO$"
-OtherText_PokeSkills::
- .string "POKéMON SKILLS$"
-OtherText_BattleMoves::
- .string "BATTLE MOVES$"
-OtherText_ContestMoves::
- .string "C0NTEST MOVES$" @why the l33t 0, that's stupid
-OtherText_Info::
- .string "INFO$"
-
-gOtherText_EggLongTime:: @ 840F884
- .string "It looks like this EGG will\ntake a long time to hatch.$"
-
-gOtherText_EggSomeTime:: @ 840F8BB
- .string "What will hatch from this?\nIt will take some time.$"
-
-gOtherText_EggSoon:: @ 840F8EE
- .string "It moves occasionally.\nIt should hatch soon.$"
-
-gOtherText_EggAbout:: @ 840F91B
- .string "It’s making sounds.\nIt’s about to hatch!$"
-
-gOtherText_CantForgetHMs:: @ 840F944
- .string "HM moves can’t be\nforgotten now.$"
-
-gOtherText_PlayersBase:: @ 840F965
- .string "’s BASE$"
-
-gOtherText_OkayToDeleteFromRegistry:: @ 840F96D
- .string "Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?$"
-
-gOtherText_RegisteredDataDeleted:: @ 840F998
- .string "The registered data was deleted.{PAUSE_UNTIL_PRESS}$"
-
-gSecretBaseText_NoRegistry:: @ 840F9BB
- .string "There is no REGISTRY.{PAUSE_UNTIL_PRESS}$"
-
-SecretBaseText_DelRegist::
- .string "DEL REGIST.$"
-SecretBaseText_Decorate::
- .string "DECORATE$"
-SecretBaseText_PutAway::
- .string "PUT AWAY$"
-SecretBaseText_Toss::
- .string "TOSS$"
-SecretBaseText_PutOutDecor::
- .string "Put out the selected decoration item.$"
-SecretBaseText_StoreChosenDecor::
- .string "Store the chosen decoration in the PC.$"
-SecretBaseText_ThrowAwayDecor::
- .string "Throw away unwanted decorations.$"
-
-gSecretBaseText_NoDecors:: @ 840FA64
- .string "There are no decorations.{PAUSE_UNTIL_PRESS}$"
-
-SecretBaseText_Desk::
- .string "DESK$"
-SecretBaseText_Chair::
- .string "CHAIR$"
-SecretBaseText_Plant::
- .string "PLANT$"
-SecretBaseText_Ornament::
- .string "ORNAMENT$"
-SecretBaseText_Mat::
- .string "MAT$"
-SecretBaseText_Poster::
- .string "POSTER$"
-SecretBaseText_Doll::
- .string "DOLL$"
-SecretBaseText_Cushion::
- .string "CUSHION$"
-
-gSecretBaseText_GoldRank:: @ 840FAB2
- .string "GOLD$"
-
-gSecretBaseText_SilverRank:: @ 840FAB7
- .string "SILVER$"
-
-gSecretBaseText_PlaceItHere:: @ 840FABE
- .string "Place it here?$"
-
-gSecretBaseText_CantBePlacedHere:: @ 840FACD
- .string "It can’t be placed here.$"
-
-gSecretBaseText_CancelDecorating:: @ 840FAE6
- .string "Cancel decorating?$"
-
-gSecretBaseText_InUseAlready:: @ 840FAF9
- .string "This is in use already.$"
-
-gSecretBaseText_NoMoreDecor:: @ 840FB11
- .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$"
-
-gSecretBaseText_NoMoreDecor2:: @ 840FB57
- .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$"
- .string "This can’t be placed here.\nIt must be on a DESK, etc.$"
-
-gSecretBaseText_DecorCantPlace:: @ 840FBD3
- .string "This decoration can’t be placed in\nyour own room.$"
-
-gSecretBaseText_DecorInUse:: @ 840FC05
- .string "This decoration is in use.\nIt can’t be thrown away.$"
-
-gSecretBaseText_WillBeDiscarded:: @ 840FC39
- .string "This {STR_VAR_1} will be discarded.\nIs that okay?$"
-
-gSecretBaseText_DecorThrownAway:: @ 840FC62
- .string "The decoration item was thrown away.$"
-
-gSecretBaseText_StopPuttingAwayDecor:: @ 840FC87
- .string "Stop putting away decorations?$"
-
-gSecretBaseText_NoDecor:: @ 840FCA6
- .string "There is no decoration item here.$"
-
-gSecretBaseText_ReturnDecor:: @ 840FCC8
- .string "Return this decoration to the PC?$"
-
-gSecretBaseText_DecorReturned:: @ 840FCEA
- .string "The decoration was returned to the PC.$"
-
-gSecretBaseText_NoDecorInUse:: @ 840FD11
- .string "There are no decorations in use.{PAUSE_UNTIL_PRESS}$"
-
-SecretBaseText_Tristan::
- .string "TRISTAN$"
-SecretBaseText_Philip::
- .string "PHILIP$"
-SecretBaseText_Dennis::
- .string "DENNIS$"
-SecretBaseText_Roberto::
- .string "ROBERTO$"
-SecretBaseText_TurnOff::
- .string "TURN OFF$"
-SecretBaseText_Decoration::
- .string "DECORATION$"
-SecretBaseText_ItemStorage::
- .string "ITEM STORAGE$"
-
-gPCText_Mailbox:: @ 840FD73
- .string "MAILBOX$"
-
-PCText_DepositItem::
- .string "DEPOSIT ITEM$"
-PCText_WithdrawItem::
- .string "WITHDRAW ITEM$"
-PCText_TossItem::
- .string "TOSS ITEM$"
-PCText_StoreItems::
- .string "Store items in the PC.$"
-PCText_TakeOutItems::
- .string "Take out items from the PC.$"
-PCText_ThrowAwayItems::
- .string "Throw away items stored in the PC.$"
-
-gOtherText_NoItems:: @ 840FDF6
- .string "There are no items.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_NoMoreRoom:: @ 840FE0C
- .string "There is no more\nroom in the BAG.$"
-
-gOtherText_HowManyToWithdraw:: @ 840FE2E
- .string "How many do you\nwant to withdraw?$"
-
-gOtherText_WithdrewThing:: @ 840FE50
- .string "Withdrew {STR_VAR_2}\n{STR_VAR_1}(s).$"
-
-OtherText_Read:
- .string "READ$"
-
-gOtherText_MoveToBag:: @ 840FE68
- .string "MOVE TO BAG$"
-
-OtherText_Give:
- .string "GIVE$"
-
-gOtherText_NoMailHere:: @ 840FE79
- .string "There’s no MAIL here.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_WhatWillYouDoMail:: @ 840FE91
- .string "What would you like to do with\n{STR_VAR_1}’s MAIL?$"
-
-gOtherText_MessageWillBeLost:: @ 840FEBB
- .string "The message will be lost.\nIs that okay?$"
-
-gOtherText_BagIsFull:: @ 840FEE3
- .string "The BAG is full.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_MailWasReturned:: @ 840FEF6
- .string "The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_Dad:: @ 840FF32
- .string "DAD$"
-
-gOtherText_Mom:: @ 840FF36
- .string "MOM$"
-
-gOtherText_Wallace:: @ 840FF3A
- .string "WALLACE$"
-
-gOtherText_Steven:: @ 840FF42
- .string "STEVEN$"
-
-gOtherText_Brawly:: @ 840FF49
- .string "BRAWLY$"
-
-gOtherText_Winona:: @ 840FF50
- .string "WINONA$"
-
-gOtherText_Phoebe:: @ 840FF57
- .string "PHOEBE$"
-
-gOtherText_Glacia:: @ 840FF5E
- .string "GLACIA$"
-
-gContestText_ContestWinner:: @ 840FF65
- .string "CONTEST WINNER\n$"
-
-gOtherText_Unknown1:: @ 840FF75
- .string "’s $"
-
-OtherText_Cool::
- .string "COOL $"
-OtherText_Beauty2::
- .string "BEAUTY $"
-OtherText_Cute::
- .string "CUTE $"
-OtherText_Smart::
- .string "SMART $"
-OtherText_Tough::
- .string "TOUGH $"
-OtherText_NonstopSuperCool::
- .string "Nonstop super-cool -\nthe inestimable $"
-OtherText_Terminator6::
- .string "$"
-OtherText_GoodLookingPoke::
- .string "Hey, there!\nThe good-looking POKéMON $"
-OtherText_Terminator7::
- .string "$"
-OtherText_MarvelousGreat::
- .string "The marvelous, wonderful, and\nvery great $"
-OtherText_Terminator8::
- .string "$"
-OtherText_CenturyLastVenus::
- .string "This century’s last Venus -\nthe beautiful $"
-OtherText_Terminator9::
- .string "$"
-OtherText_Terminator10::
- .string "$"
-OtherText_DazzlingSlime::
- .string "’s dazzling,\nglittering smile$"
-OtherText_PokeCenterIdol::
- .string "POKéMON CENTER’s super idol -\nthe incomparable $"
-OtherText_Terminator11::
- .string "$"
-OtherText_LovelyAndSweet::
- .string "The lovely and sweet $"
-OtherText_Terminator12::
- .string "$"
-OtherText_ThePretty::
- .string "The pretty $"
-OtherText_WinningPortrait::
- .string "’s\nwinning portrait$"
-OtherText_GiveUsWink::
- .string "Give us a wink!\nThe cutie POKéMON $"
-OtherText_Terminator13::
- .string "$"
-OtherText_SmartnessMaestro::
- .string "The smartness maestro -\nThe wise POKéMON $"
-OtherText_Terminator14::
- .string "$"
-OtherText_ChosenPokeAmong::
- .string "The chosen POKéMON -\nThe one among POKéMON $"
-OtherText_Terminator15::
- .string "$"
-OtherText_TheExcellent::
- .string "The excellent $"
-OtherText_ItsMomentOfElegance::
- .string "’s\nmoment of elegance$"
-OtherText_PowerfullyMuscular::
- .string "The powerfully muscular\nspeedster $"
-OtherText_Terminator16::
- .string "$"
-OtherText_StrongErEst::
- .string "The strong, stronger, and\nstrongest $"
-OtherText_Terminator17::
- .string "$"
-OtherText_MightyTough::
- .string "The mighty tough\nhyper POKéMON $"
-OtherText_Exclamation::
- .string "!$"
-OtherText_Petalburg::
- .string "PETALBURG$"
-OtherText_Slateport::
- .string "SLATEPORT$"
-OtherText_Littleroot::
- .string "LITTLEROOT$"
-OtherText_Lilycove::
- .string "LILYCOVE$"
-OtherText_Dewford::
- .string "DEWFORD$"
-OtherText_Enter::
- .string "ENTER$"
-OtherText_Info3::
- .string "INFO$"
-OtherText_WhatsAContest::
- .string "What’s a CONTEST?$"
-OtherText_TypesOfContest::
- .string "Types of CONTESTS$"
-OtherText_Ranks::
- .string "Ranks$"
-OtherText_Judging::
- .string "Judging$"
-OtherText_CoolContest::
- .string "COOL CONTEST$"
-OtherText_BeautyContest::
- .string "BEAUTY CONTEST$"
-OtherText_CuteContest::
- .string "CUTE CONTEST$"
-OtherText_SmartContest::
- .string "SMART CONTEST$"
-OtherText_ToughContest::
- .string "TOUGH CONTEST$"
-OtherText_Decoration::
- .string "DECORATION$"
-OtherText_PackUp::
- .string "PACK UP$"
-OtherText_Count::
- .string "COUNT$"
-OtherText_Registry::
- .string "REGISTRY$"
-OtherText_Information::
- .string "INFORMATION$"
-OtherText_Mach::
- .string "MACH$"
-OtherText_Acro::
- .string "ACRO$"
-OtherText_Poison::
- .string "PSN$"
-OtherText_Paralysis::
- .string "PAR$"
-OtherText_Sleep::
- .string "SLP$"
-OtherText_Burn::
- .string "BRN$"
-OtherText_Frozen::
- .string "FRZ$"
-OtherText_Quit::
- .string "QUIT$"
-OtherText_SawIt::
- .string "Saw it$"
-OtherText_NotYet::
- .string "Not yet$"
-OtherText_Yes::
- .string "YES$"
-OtherText_No::
- .string "NO$"
-OtherText_Info2::
- .string "INFO$"
-OtherText_SingleBattle::
- .string "SINGLE BATTLE$"
-OtherText_DoubleBattle::
- .string "DOUBLE BATTLE$"
-OtherText_MultiBattle::
- .string "MULTI BATTLE$"
-OtherText_MrBriney::
- .string "MR. BRINEY$"
-OtherText_MakeAChallenge::
- .string "Make a challenge.$"
-OtherText_ObtainInformation::
- .string "Obtain information.$"
-OtherText_Lv50_2::
- .string "LV. 50$"
-OtherText_Lv100_2::
- .string "LV. 100$"
-OtherText_Zigzagoon::
- .string "ZIGZAGOON$"
-OtherText_Nincada::
- .string "NINCADA$"
-OtherText_Poochyena::
- .string "POOCHYENA$"
-OtherText_Nincada2::
- .string "NINCADA$"
-OtherText_Lotad::
- .string "LOTAD$"
-OtherText_Roselia::
- .string "ROSELIA$"
-OtherText_Shroomish::
- .string "SHROOMISH$"
-OtherText_Nincada3::
- .string "NINCADA$"
-OtherText_Surskit::
- .string "SURSKIT$"
-OtherText_Treecko::
- .string "TREECKO$"
-OtherText_Torchic::
- .string "TORCHIC$"
-OtherText_Mudkip::
- .string "MUDKIP$"
-OtherText_Seedot::
- .string "SEEDOT$"
-OtherText_Shroomish2::
- .string "SHROOMISH$"
-OtherText_Spinda::
- .string "SPINDA$"
-OtherText_Shroomish3::
- .string "SHROOMISH$"
-OtherText_Zigzagoon2::
- .string "ZIGZAGOON$"
-OtherText_Wurmple::
- .string "WURMPLE$"
-OtherText_PokeBall::
- .string "POKé BALL$"
-OtherText_SuperPotion::
- .string "SUPER POTION$"
-OtherText_SamePrice::
- .string "Same price$"
-OtherText_Yen135::
- .string "¥135$"
-OtherText_Yen155::
- .string "¥155$"
-OtherText_Yen175::
- .string "¥175$"
-OtherText_CostMore::
- .string "They will cost more.$"
-OtherText_CostLess::
- .string "They will cost less.$"
-OtherText_SamePrice2::
- .string "Same price$"
-OtherText_MaleSymbol::
- .string "♂$"
-OtherText_FemaleSymbol::
- .string "♀$"
-OtherText_Neither::
- .string "Neither$"
-OtherText_Males::
- .string "Males$"
-OtherText_Females::
- .string "Females$"
-OtherText_SameNumber::
- .string "Same number$"
-OtherText_Male::
- .string "Male$"
-OtherText_Female::
- .string "Female$"
-OtherText_ItDepends::
- .string "It depends$"
-OtherText_Six2::
- .string "6$"
-OtherText_Eight2::
- .string "8$"
-OtherText_Ten::
- .string "10$"
-OtherText_One::
- .string "1$"
-OtherText_Two::
- .string "2$"
-OtherText_Three::
- .string "3$"
-OtherText_Six::
- .string "6$"
-OtherText_Seven::
- .string "7$"
-OtherText_Eight::
- .string "8$"
-OtherText_FreshWater::
- .string "FRESH WATER{CLEAR_TO 0x48}¥200$"
-OtherText_SodaPop::
- .string "SODA POP{CLEAR_TO 0x48}¥300$"
-OtherText_Lemonade::
- .string "LEMONADE{CLEAR_TO 0x48}¥350$"
-OtherText_HowToRide::
- .string "HOW TO RIDE$"
-OtherText_HowToTurn::
- .string "HOW TO TURN$"
-OtherText_SandySlopes::
- .string "SANDY SLOPES$"
-OtherText_Wheelies::
- .string "WHEELIES$"
-OtherText_BunnyHops::
- .string "BUNNY-HOPS$"
-OtherText_Jumping::
- .string "JUMPING$"
-OtherText_Satisfied::
- .string "Satisfied$"
-OtherText_Dissatisfied::
- .string "Dissatisfied$"
-OtherText_Deepseatooth::
- .string "DEEPSEATOOTH$"
-OtherText_Deepseascale::
- .string "DEEPSEASCALE$"
-OtherText_BlueFlute2::
- .string "BLUE FLUTE$"
-OtherText_YellowFlute2::
- .string "YELLOW FLUTE$"
-OtherText_RedFlute2::
- .string "RED FLUTE$"
-OtherText_WhiteFlute2::
- .string "WHITE FLUTE$"
-OtherText_BlackFlute2::
- .string "BLACK FLUTE$"
-OtherText_GlassChair::
- .string "GLASS CHAIR$"
-OtherText_GlassDesk::
- .string "GLASS DESK$"
-OtherText_TreeckoDoll::
- .string "TREECKO DOLL 1,000 COINS$"
-OtherText_TorchicDoll::
- .string "TORCHIC DOLL 1,000 COINS$"
-OtherText_MudkipDoll::
- .string "MUDKIP DOLL 1,000 COINS$"
-OtherText_50Coins::
- .string " 50 COINS ¥1,000$"
-OtherText_500Coins::
- .string "500 COINS ¥10,000$"
-OtherText_Excellent::
- .string "Excellent!$"
-OtherText_NotSoHot::
- .string "Not so hot$"
-OtherText_RedShard::
- .string "RED SHARD$"
-OtherText_YellowShard::
- .string "YELLOW SHARD$"
-OtherText_BlueShard::
- .string "BLUE SHARD$"
-OtherText_GreenShard::
- .string "GREEN SHARD$"
-OtherText_BattleTower::
- .string "BATTLE TOWER$"
-OtherText_Right::
- .string "Right$"
-OtherText_Left::
- .string "Left$"
-OtherText_TM32::
- .string "TM32 1,500 COINS$"
-OtherText_TM29::
- .string "TM29 3,500 COINS$"
-OtherText_TM35::
- .string "TM35 4,000 COINS$"
-OtherText_TM24::
- .string "TM24 4,000 COINS$"
-OtherText_TM13::
- .string "TM13 4,000 COINS$"
-OtherText_1F_2::
- .string "1F$"
-OtherText_2F_2::
- .string "2F$"
-OtherText_3F_2::
- .string "3F$"
-OtherText_4F_2::
- .string "4F$"
-OtherText_5F_2::
- .string "5F$"
-OtherText_Cool2::
- .string "COOL$"
-OtherText_Beauty3::
- .string "BEAUTY$"
-OtherText_Cute2::
- .string "CUTE$"
-OtherText_Smart2::
- .string "SMART$"
-OtherText_Tough2::
- .string "TOUGH$"
-OtherText_Normal::
- .string "NORMAL$"
-OtherText_Super::
- .string "SUPER$"
-OtherText_Hyper::
- .string "HYPER$"
-OtherText_Master::
- .string "MASTER$"
-OtherText_Cool3::
- .string "COOL$"
-OtherText_Beauty4::
- .string "BEAUTY$"
-OtherText_Cute3::
- .string "CUTE$"
-OtherText_Smart3::
- .string "SMART$"
-OtherText_Tough3::
- .string "TOUGH$"
-OtherText_Items::
- .string "ITEMS$"
-OtherText_KeyItems::
- .string "KEY ITEMS$"
-OtherText_Balls::
- .string "BALLS$"
-OtherText_TMsHMs::
- .string "TMs & HMs$"
-OtherText_Berries::
- .string "BERRIES$"
-
-gPCText_SomeonesPC:: @ 8410753
- .string "SOMEONE’S PC$"
-
-gPCText_LanettesPC:: @ 8410760
- .string "LANETTE’S PC$"
-
-gPCText_PlayersPC:: @ 841076D
- .string "{PLAYER}’s PC$"
-
-gPCText_HallOfFame:: @ 8410775
- .string "HALL OF FAME$"
-
-gPCText_LogOff:: @ 8410782
- .string "LOG OFF$"
-
-gOtherText_99Times:: @ 841078A
- .string "99 times +$"
-
-gOtherText_1Minute:: @ 8410795
- .string "1 minute +$"
-
-gOtherText_Seconds:: @ 84107A0
- .string " seconds$"
-
-gOtherText_Times:: @ 84107A9
- .string " times$"
- .string ".$"
-
-gOtherText_BigGuy:: @ 84107B2
- .string "Big guy$"
-
-gOtherText_BigGirl:: @ 84107BA
- .string "Big girl$"
-
-gOtherText_Son:: @ 84107C3
- .string "son$"
-
-gOtherText_Daughter:: @ 84107C7
- .string "daughter$"
-
-OtherText_BlueFlute:
- .string "BLUE FLUTE$"
-OtherText_YellowFlute:
- .string "YELLOW FLUTE$"
-OtherText_RedFlute:
- .string "RED FLUTE$"
-OtherText_WhiteFlute:
- .string "WHITE FLUTE$"
-OtherText_BlackFlute:
- .string "BLACK FLUTE$"
-OtherText_PrettyChair:
- .string "PRETTY CHAIR$"
-OtherText_PrettyDesk:
- .string "PRETTY DESK$"
-OtherText_1F:
- .string "1F$"
-OtherText_2F:
- .string "2F$"
-OtherText_3F:
- .string "3F$"
-OtherText_4F:
- .string "4F$"
-OtherText_5F:
- .string "5F$"
-OtherText_6F:
- .string "6F$"
-OtherText_7F:
- .string "7F$"
-OtherText_8F:
- .string "8F$"
-OtherText_9F:
- .string "9F$"
-OtherText_10F:
- .string "10F$"
-OtherText_11F:
- .string "11F$"
-OtherText_B1F:
- .string "B1F$"
-OtherText_B2F:
- .string "B2F$"
-OtherText_B3F:
- .string "B3F$"
-OtherText_B4F:
- .string "B4F$"
-OtherText_Rooftop:
- .string "ROOFTOP$"
-
-gOtherText_NowOn:: @ 841085E
- .string "Now on:$"
-
-gPCText_Cancel:: @ 8410866
- .string "CANCEL$"
-
-PCText_ExitBox:
- .string "Exit from the BOX.$"
-PCText_WhatYouDo:
- .string "What would you like to do?$"
-PCText_PickATheme:
- .string "Please pick a theme.$"
-PCText_PickAWallpaper:
- .string "Please pick out wallpaper.$"
-PCText_IsSelected:
- .string " is selected.$"
-PCText_JumpToWhichBox:
- .string "Jump to which BOX?$"
-PCText_DepositInWhichBox:
- .string "Deposit in which BOX?$"
-PCText_WasDeposited:
- .string " was deposited.$"
-PCText_BoxIsFull:
- .string "The BOX is full.$"
-PCText_ReleasePoke:
- .string "Release this POKéMON?$"
-PCText_WasReleased:
- .string " was released.$"
-PCText_ByeBye:
- .string "Bye-bye, !$"
-PCText_MarkPoke:
- .string "Mark your POKéMON.$"
-PCText_LastPoke:
- .string "That’s your last POKéMON!$"
-PCText_PartyFull:
- .string "Your party’s full!$"
-PCText_HoldingPoke:
- .string "You’re holding a POKéMON!$"
-PCText_WhichOneWillTake:
- .string "Which one will you take?$"
-PCText_CantReleaseEgg:
- .string "You can’t release an EGG.$"
-PCText_ContinueBox:
- .string "Continue BOX operations?$"
-PCText_CameBack:
- .string " came back!$"
-PCText_Worried:
- .string "Was it worried about you?$"
-PCText_Surprise:
- .string "... ... ... ... ...!$"
-PCText_PleaseRemoveMail:
- .string "Please remove the MAIL.$"
-PCText_Cancel2:
- .string "CANCEL$"
-PCText_Deposit:
- .string "DEPOSIT$"
-PCText_Withdraw:
- .string "WITHDRAW$"
-PCText_Switch:
- .string "SWITCH$"
-PCText_Move:
- .string "MOVE$"
-PCText_Place:
- .string "PLACE$"
-PCText_Summary:
- .string "SUMMARY$"
-PCText_Release:
- .string "RELEASE$"
-PCText_Mark:
- .string "MARK$"
-PCText_Name:
- .string "NAME$"
-PCText_Jump:
- .string "JUMP$"
-PCText_Wallpaper:
- .string "WALLPAPER$"
-PCText_Scenery1:
- .string "SCENERY 1$"
-PCText_Scenery2:
- .string "SCENERY 2$"
-PCText_Scenery3:
- .string "SCENERY 3$"
-PCText_Etc:
- .string "ETCETERA$"
-PCText_Forest:
- .string "FOREST$"
-PCText_City:
- .string "CITY$"
-PCText_Desert:
- .string "DESERT$"
-PCText_Savanna:
- .string "SAVANNA$"
-PCText_Crag:
- .string "CRAG$"
-PCText_Volcano:
- .string "VOLCANO$"
-PCText_Snow:
- .string "SNOW$"
-PCText_Cave:
- .string "CAVE$"
-PCText_Beach:
- .string "BEACH$"
-PCText_Seafloor:
- .string "SEAFLOOR$"
-PCText_River:
- .string "RIVER$"
-PCText_Sky:
- .string "SKY$"
-PCText_Polka:
- .string "POLKA-DOT$"
-PCText_PokeCenter:
- .string "POKéCENTER$"
-PCText_Machine:
- .string "MACHINE$"
-PCText_Plain:
- .string "PLAIN$"
-PCText_WhatDoYouWant:
- .string "What do you want?$"
-PCText_WithdrawPoke:
- .string "WITHDRAW POKéMON$"
-PCText_DepositPoke:
- .string "DEPOSIT POKéMON$"
-PCText_MovePoke:
- .string "MOVE POKéMON$"
-PCText_SeeYa:
- .string "SEE YA!$"
-PCText_MovePokeToParty:
- .string "Move POKéMON stored in BOXES to\nyour party.$"
-PCText_StorePokeInBox:
- .string "Store POKéMON in your party in BOXES.$"
-PCText_OrganizeBoxesParty:
- .string "Organize the POKéMON in BOXES and\nin your party.$"
-PCText_ReturnToPrevMenu:
- .string "Return to the previous menu.$"
-
-gPCText_OnlyOne:: @ 8410C1C
- .string "There is just one POKéMON with you.$"
-
-gPCText_PartyFull2:: @ 8410C40
- .string "Your party is full!$"
-
-gPCText_BOX:: @ 8410C54
- .string "BOX$"
-
-PCText_CheckMap:
- .string "{CLEAR 0}Check the map of the HOENN region.$"
-PCText_CheckPoke:
- .string "{CLEAR 0}Check POKéMON in detail.$"
-PCText_CheckTrainer:
- .string "{CLEAR 0}Check TRAINER information.$"
-PCText_CheckRibbons:
- .string "{CLEAR 0}Check obtained RIBBONS.$"
-PCText_PutAwayNav:
- .string "{CLEAR 0}Put away the POKéNAV.$"
-PCText_NoRibbonWin:
- .string "{CLEAR 0}There are no RIBBON winners.$"
-PCText_NoTrainers:
- .string "{CLEAR 0}No TRAINERS are registered.$"
-PCText_CheckParty:
- .string "{CLEAR 0}Check party POKéMON in detail.$"
-PCText_CheckPokeAll:
- .string "{CLEAR 0}Check all POKéMON in detail.$"
-PCText_ReturnToNav:
- .string "{CLEAR 0}Return to the POKéNAV menu.$"
-PCText_FindCool:
- .string "{CLEAR 0}Find cool POKéMON.$"
-PCText_FindBeauty:
- .string "{CLEAR 0}Find beautiful POKéMON.$"
-PCText_FindCute:
- .string "{CLEAR 0}Find cute POKéMON.$"
-PCText_FindSmart:
- .string "{CLEAR 0}Find smart POKéMON.$"
-PCText_FindTough:
- .string "{CLEAR 0}Find tough POKéMON.$"
-PCText_ReturnToCondition:
- .string "{CLEAR 0}Return to the CONDITION menu.$"
-
-gOtherText_NumberRegistered:: @ 8410E22
- .string "No. registered$"
-
-gOtherText_NumberBattles:: @ 8410E31
- .string "No. of battles$"
-
-gOtherText_Strategy:: @ 8410E40
- .string "{PALETTE 5}STRATEGY$"
-
-gOtherText_TrainersPokemon:: @ 8410E4C
- .string "{PALETTE 5}TRAINER’S POKéMON$"
-
-gOtherText_SelfIntroduction:: @ 8410E61
- .string "{PALETTE 5}SELF-INTRODUCTION$"
-
-gOtherText_Nature2:: @ 8410E76
- .string "NATURE/$"
-
-gOtherText_InParty:: @ 8410E7E
- .string "IN PARTY$"
-
-gOtherText_Number:: @ 8410E87
- .string "No. $"
-
-gOtherText_Ribbons:: @ 8410E8C
- .string "RIBBONS$"
-
-OtherText_MakeProfilePage1::
- .string "Make your profile by combining$"
-OtherText_MakeProfilePage2::
- .string "four words or phrases.$"
-OtherText_MakeMessagePage1::
- .string "Make a message with 6 phrases.$"
-OtherText_MakeMessagePage2::
- .string "Max. two 12-letter phrases/line.$"
-OtherText_DescribeFeelingsPage1::
- .string "Find words that describe your$"
-OtherText_DescribeFeelingsPage2::
- .string "feelings right now.$"
-OtherText_WithFourPhrases::
- .string "With four phrases,$"
-OtherText_CombineNinePhrasesPage1::
- .string "Combine nine phrases and$"
-OtherText_CombineNinePhrasesPage2::
- .string "make a message.$"
-OtherText_ImproveBardSongPage1::
- .string "Change just one word or phrase$"
-OtherText_ImproveBardSongPage2::
- .string "and improve the BARD’s song.$"
-OtherText_YourProfile::
- .string "Your profile $"
-OtherText_YourFeelingBattle::
- .string "Your feeling at the battle’s start$"
-OtherText_SetWinMessage::
- .string "What you say if you win a battle$"
-OtherText_SetLossMessage::
- .string "What you say if you lose a battle$"
-OtherText_TheAnswer::
- .string "The answer$"
-OtherText_MailMessage::
- .string "The MAIL message$"
-OtherText_MailSalutation::
- .string "The MAIL salutation$"
-OtherText_NewSong::
- .string "The new song$"
-OtherText_CombineTwoPhrasesPage1::
- .string "Combine two phrases and$"
-OtherText_CombineTwoPhrasesPage2::
- .string "make a trendy saying.$"
-OtherText_ConfirmTrendyPage1::
- .string "The trendy saying$"
-OtherText_ConfirmTrendyPage2::
- .string "is as shown. Okay?$"
-OtherText_HipsterPage1::
- .string "I’ll combine two phrases and$"
-OtherText_HipsterPage2::
- .string "teach you a good saying.$"
-
-gOtherText_TextDeletedConfirmPage1:: @ 84110EE
- .string "All the text being edited will$"
-
-gOtherText_TextDeletedConfirmPage2:: @ 841110D
- .string "be deleted. Is that okay?$"
-
-gOtherText_QuitEditing:: @ 8411127
- .string "Quit editing?$"
-
-gOtherText_EditedTextNoSavePage1:: @ 8411135
- .string "The edited text will not be saved.$"
-
-gOtherText_EditedTextNoSavePage2:: @ 8411158
- .string "Is that okay?$"
-
-gOtherText_EnterAPhraseOrWord:: @ 8411166
- .string "Please enter a phrase or word.$"
-
-gOtherText_TextNoDelete:: @ 8411185
- .string "The entire text can’t be deleted.$"
-
-gOtherText_OnlyOnePhrase:: @ 84111A7
- .string "Only one phrase may be changed.$"
-
-gOtherText_OriginalSongRestored:: @ 84111C7
- .string "The original song will be restored.$"
-
-gOtherText_TrendyAlready:: @ 84111EB
- .string "That’s trendy already!$"
-
-gOtherText_CombineTwoPhrases:: @ 8411202
- .string "Combine two words or phrases.$"
-
-gOtherText_QuitGivingInfo:: @ 8411220
- .string "Quit giving information?$"
-
-gOtherText_StopGivingMail:: @ 8411239
- .string "Stop giving the POKéMON MAIL?$"
-
-gOtherText_Profile:: @ 8411257
- .string "PROFILE$"
-
-gOtherText_AtBattleStart:: @ 841125F
- .string "At the battle’s start.$"
-
-gOtherText_UponWinningBattle:: @ 8411276
- .string "Upon winning a battle.$"
-
-gOtherText_UponLosingBattle:: @ 841128D
- .string "Upon losing a battle.$"
-
-gOtherText_TheBardsSong:: @ 84112A3
- .string "The BARD’s Song$"
-
-gOtherText_WhatsHipHappening:: @ 84112B3
- .string "What’s hip and happening?$"
-
-gOtherText_Interview:: @ 84112CD
- .string "Interview$"
-
-gOtherText_GoodSaying:: @ 84112D7
- .string "Good saying$"
-
-OtherText_SoPretty::
- .string " so pretty!$"
-OtherText_SoDarling::
- .string " so darling!$"
-OtherText_SoRelaxed::
- .string " so relaxed!$"
-OtherText_SoSunny::
- .string " so sunny!$"
-OtherText_SoDesirable::
- .string " so desirable!$"
-OtherText_SoExciting::
- .string " so exciting!$"
-OtherText_SoAmusing::
- .string " so amusing!$"
-OtherText_SoMagical::
- .string " so magical!$"
-
-gOtherText_Is:: @ 841134B
- .string " is$"
-
-gOtherText_DontYouAgree:: @ 841134F
- .string "\nDon’t you agree?$"
-
-OtherText_WantVacationNicePlace::
- .string "I so want to go on a vacation.\nWould you happen to know a nice place?$"
-OtherText_BoughtCrayonsIsNice::
- .string "I bought crayons with 120 colors!\nDon’t you think that’s nice?$"
-OtherText_IfWeCouldFloat::
- .string "Wouldn’t it be nice if we could float\naway on a cloud of bubbles?$"
-OtherText_SandWashesAwayMakeSad::
- .string "When you write on a sandy beach,\nthey wash away. It makes me sad.$"
-OtherText_WhatsBottomSeaLike::
- .string "What’s the bottom of the sea like?\nJust once I would so love to go!$"
-OtherText_SeeSettingSun::
- .string "When you see the setting sun, does it\nmake you want to go home?$"
-OtherText_LyingInGreenGrass::
- .string "Lying back in the green grass...\nOh, it’s so, so nice!$"
-OtherText_SecretBasesWonderful::
- .string "SECRET BASES are so wonderful!\nCan’t you feel the excitement?$"
-OtherText_PokeLeague::
- .string "POKéMON LEAGUE$"
-OtherText_PokeCenter::
- .string "POKéMON CENTER$"
-
-gOtherText_GetsAPokeBlock:: @ 8411581
- .string " gets a {POKEBLOCK}?$"
-
-OtherText_Coolness::
- .string "Coolness $"
-OtherText_Beauty::
- .string "Beauty $"
-OtherText_Cuteness::
- .string "Cuteness $"
-OtherText_Smartness::
- .string "Smartness $"
-OtherText_Toughness::
- .string "Toughness $"
-
-gOtherText_WasEnhanced:: @ 84115C2
- .string "was enhanced!$"
-
-gOtherText_NothingChanged:: @ 84115D0
- .string "Nothing changed!$"
-
-gOtherText_WontEat:: @ 84115E1
- .string "It won’t eat anymore...$"
-
-gSystemText_SaveFailedBackupCheck:: @ 84115F9
- .string "Save failed.\nChecking the backup memory...\nPlease wait.\n{COLOR RED}“Time required: 1 minute”$"
-
-gSystemText_BackupDamagedGameContinue:: @ 841164E
- .string "The backup memory is damaged or\nthe internal battery has run dry.\nThe game can be played. However,\nprogress cannot be saved.$"
-
-gSystemText_GameplayEnded:: @ 84116CB
- .string "{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen...”$"
-
-gSystemText_CheckCompleteSaveAttempt:: @ 841170F
- .string "Check completed.\nAttempting to save again.\nPlease wait.$"
-
-gSystemText_SaveCompletedGameEnd:: @ 8411747
- .string "Save completed.\n{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen.”$"
-
-gSystemText_SaveCompletedPressA:: @ 8411799
- .string "Save completed.\n{COLOR RED}“Please press the A Button.”$"
-
-gOtherText_Ferry:: @ 84117C9
- .string "FERRY$"
-
-gOtherText_SecretBase:: @ 84117CF
- .string "SECRET BASE$"
-
-gOtherText_Hideout:: @ 84117DB
- .string "HIDEOUT$"
-
-gSystemText_ResetRTCPrompt:: @ 84117E3
- .string "Reset RTC?\nA: Confirm, B: Cancel$"
-
-gSystemText_PresentTime:: @ 8411804
- .string "Present time in game$"
-
-gSystemText_PreviousTime:: @ 8411819
- .string "Previous time in game$"
-
-gSystemText_PleaseResetTime:: @ 841182F
- .string "Please reset the time.$"
-
-gSystemText_ClockResetDataSave:: @ 8411846
- .string "The clock has been reset.\nData will be saved. Please wait.$"
-
-gSystemText_SaveCompleted:: @ 8411881
- .string "Save completed.$"
-
-gSystemText_SaveFailed:: @ 8411891
- .string "Save failed...$"
-
-gSystemText_NoSaveFileNoTime:: @ 84118A0
- .string "There is no save file, so the time\ncan’t be set.$"
-
-gSystemText_ClockAdjustmentUsable:: @ 84118D1
- .string "The in-game clock adjustment system\nis now useable.$"
-
-gSystemText_Saving:: @ 8411905
- .string "SAVING...\nDON’T TURN OFF THE POWER.$"
-
- .align 2
-gUnknown_0841192C:: @ 841192C
- .4byte ContestStatsText_VerySoft
- .4byte ContestStatsText_Soft
- .4byte ContestStatsText_Hard
- .4byte ContestStatsText_VeryHard
- .4byte ContestStatsText_SuperHard
-
-gUnknown_08411940:: @ 8411940
- .incbin "baserom.gba", 0x00411940, 0x8
-
-gUnknown_08411948:: @ 8411948
- .incbin "baserom.gba", 0x00411948, 0x18
-
-gUnknown_08411960:: @ 8411960
- .incbin "graphics/misc/clock_small.gbapal"
-
-gUnknown_08411980:: @ 8411980
- .incbin "graphics/misc/clock_small.4bpp.lz"
-
-@ 8411A10
- .include "data/mon_pokeblock_anims.inc"
-
- .align 2
-gSpriteAffineAnim_8411E90:: @ 8411E90
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411EA0:: @ 8411EA0
- obj_rot_scal_anim_frame 0x0, 0x0, 12, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 30
- obj_rot_scal_anim_frame 0x0, 0x0, -12, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411EC0:: @ 8411EC0
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 12, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 28
- obj_rot_scal_anim_frame 0x0, 0x0, -4, 3
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411EE8:: @ 8411EE8
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 32
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411F08:: @ 8411F08
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 32
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411F30:: @ 8411F30
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411F50:: @ 8411F50
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411F78:: @ 8411F78
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 32
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411F98:: @ 8411F98
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 32
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411FC0:: @ 8411FC0
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 24
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8411FE0:: @ 8411FE0
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 24
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8412008:: @ 8412008
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 24
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
- obj_rot_scal_anim_frame 0x0, 0x0, -12, 2
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8412028:: @ 8412028
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 1, 24
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
- obj_rot_scal_anim_frame 0x0, 0x0, -12, 2
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8412050:: @ 8412050
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411EA0
- .4byte gSpriteAffineAnim_8411EE8
- .4byte gSpriteAffineAnim_8411F30
- .4byte gSpriteAffineAnim_8411F78
- .4byte gSpriteAffineAnim_8411FC0
- .4byte gSpriteAffineAnim_8412008
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411EC0
- .4byte gSpriteAffineAnim_8411F08
- .4byte gSpriteAffineAnim_8411F50
- .4byte gSpriteAffineAnim_8411F98
- .4byte gSpriteAffineAnim_8411FE0
- .4byte gSpriteAffineAnim_8412028
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411E90
- .4byte gSpriteAffineAnim_8411E90
-
- .align 2
-gUnknown_084120A4:: @ 84120A4
- .4byte gPokeblockRed_Pal
- .4byte gPokeblockBlue_Pal
- .4byte gPokeblockPink_Pal
- .4byte gPokeblockGreen_Pal
- .4byte gPokeblockYellow_Pal
- .4byte gPokeblockPurple_Pal
- .4byte gPokeblockIndigo_Pal
- .4byte gPokeblockBrown_Pal
- .4byte gPokeblockLiteBlue_Pal
- .4byte gPokeblockOlive_Pal
- .4byte gPokeblockGray_Pal
- .4byte gPokeblockBlack_Pal
- .4byte gPokeblockWhite_Pal
- .4byte gPokeblockGold_Pal
-
- .align 2
-gSpriteAffineAnim_84120DC:: @ 84120DC
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_84120EC:: @ 84120EC
- .4byte gSpriteAffineAnim_84120DC
-
- .align 2
-gSpriteAffineAnim_84120F0:: @ 84120F0
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
- obj_rot_scal_anim_frame 0x0, 0x0, 16, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 16, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 16, 1
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8412148:: @ 8412148
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
- obj_rot_scal_anim_frame 0x0, 0x0, -16, 1
- obj_rot_scal_anim_frame 0x0, 0x0, -16, 1
- obj_rot_scal_anim_frame 0x0, 0x0, -16, 1
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_84121A0:: @ 84121A0
- .4byte gSpriteAffineAnim_84120DC
-
- .align 2
-gSpriteAffineAnimTable_84121A4:: @ 84121A4
- .4byte gSpriteAffineAnim_84120F0
-
- .align 2
-gSpriteAffineAnimTable_84121A8:: @ 84121A8
- .4byte gSpriteAffineAnim_8412148
-
- .align 2
-gOamData_84121AC:: @ 84121AC
- .2byte 0x0300
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_84121B4:: @ 84121B4
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_84121BC:: @ 84121BC
- .4byte gSpriteAnim_84121B4
-
- .align 2
-gSpriteAffineAnim_84121C0:: @ 84121C0
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 1
- obj_rot_scal_anim_jump 1
-
- .align 2
-gSpriteAffineAnimTable_84121D8:: @ 84121D8
- .4byte gSpriteAffineAnim_84121C0
-
- .align 2
-gUnknown_084121DC:: @ 84121DC
- obj_tiles gPokeblock_Gfx, 0x20, 14818
-
- .align 2
-gSpriteTemplate_84121E4:: @ 84121E4
- spr_template 14818, 14818, gOamData_84121AC, gSpriteAnimTable_84121BC, NULL, gSpriteAffineAnimTable_84121D8, sub_81481B0
-
-gUnknown_084121FC:: @ 84121FC
- .incbin "graphics/intro/intro2_grass.gbapal"
-
-gUnknown_0841221C:: @ 841221C
- .incbin "baserom.gba", 0x0041221c, 0x20
-
-gUnknown_0841223C:: @ 841223C
- .incbin "baserom.gba", 0x0041223c, 0x20
-
- .align 2
-gUnknown_0841225C:: @ 841225C
- .incbin "graphics/intro/intro2_grass.4bpp.lz"
-
- .align 2
-gUnknown_084126DC:: @ 84126DC
- .incbin "graphics/intro/intro2_grass_map.bin.lz"
-
-gUnknown_08412818:: @ 8412818
- .incbin "baserom.gba", 0x00412818, 0x60
-
-gUnknown_08412878:: @ 8412878
- .incbin "baserom.gba", 0x00412878, 0x60
-
- .align 2
-gUnknown_084128D8:: @ 84128D8
- .incbin "graphics/intro/intro2_bgclouds.4bpp.lz"
-
- .align 2
-gUnknown_08412EB4:: @ 8412EB4
- .incbin "graphics/intro/intro2_bgclouds_map.bin.lz"
-
-gUnknown_08413184:: @ 8413184
- .incbin "graphics/intro/intro2_bgclouds.gbapal"
-
-gUnknown_084131A4:: @ 84131A4
- .incbin "baserom.gba", 0x004131a4, 0x20
-
-gUnknown_084131C4:: @ 84131C4
- .incbin "graphics/intro/intro2_bgclouds2.4bpp.lz"
-
-gUnknown_08413300:: @ 8413300
- .incbin "baserom.gba", 0x00413300, 0x20
-
-gUnknown_08413320:: @ 8413320
- .incbin "baserom.gba", 0x00413320, 0x20
-
- .align 2
-gUnknown_08413340:: @ 8413340
- .incbin "graphics/intro/intro2_bgtrees.4bpp.lz"
-
- .align 2
-gUnknown_084139C8:: @ 84139C8
- .incbin "graphics/intro/intro2_bgtrees_map.bin.lz"
-
- .align 2
-gUnknown_08413CCC:: @ 8413CCC
- .incbin "graphics/intro/intro2_bgtrees.gbapal"
-
- .align 2
-gIntro2TreeTiles:: @ 8413CEC
- .incbin "graphics/intro/intro2_bgtreessmall.4bpp.lz"
-
-gUnknown_08413E38:: @ 8413E38
- .incbin "baserom.gba", 0x00413e38, 0x40 @ two palettes?
-
- .align 2
-gUnknown_08413E78:: @ 8413E78
- .incbin "graphics/intro/intro2_bgnight.4bpp.lz" @ only used in credits, coupled with intro because bicycle sequence
-
- .align 2
-gUnknown_08414064:: @ 8414064
- .incbin "graphics/intro/intro2_bgnight.gbapal"
-
- .align 2
-gUnknown_08414084:: @ 8414084
- .incbin "graphics/intro/intro2_bgnight_map.bin.lz"
-
- .align 2
-gIntro2NightTiles:: @ 8414330
- .incbin "graphics/intro/intro2_night.4bpp.lz"
-
- .align 1
-gIntro2BrendanPalette:: @ 84143B4
- .incbin "graphics/intro/intro2_brendan.gbapal"
-
- .align 2
-gIntro2BrendanTiles:: @ 84143D4
- .incbin "graphics/intro/intro2_brendan.4bpp.lz"
-
- .align 1
-gIntro2MayPalette:: @ 8414F70
- .incbin "graphics/intro/intro2_may.gbapal"
-
- .align 2
-gUnknown_08414F90:: @ 8414F90
- .space 0x1E0
-
- .align 2
-gIntro2MayTiles:: @ 8415170
- .incbin "graphics/intro/intro2_may.4bpp.lz"
-
- .align 2
-gIntro2BicycleTiles:: @ 8415E08
- .incbin "graphics/intro/intro2_bicycle.4bpp.lz"
-
- .align 1
-gIntro2LatiosPalette:: @ 8416234
- .incbin "graphics/intro/intro2_latios.gbapal"
-
- .align 2
-gIntro2LatiosTiles:: @ 8416254
- .incbin "graphics/intro/intro2_latios.4bpp.lz"
-
- .align 1
-gIntro2LatiasPalette:: @ 84166F8
- .incbin "graphics/intro/intro2_latias.gbapal"
-
- .align 2
-gIntro2LatiasTiles:: @ 8416718
- .incbin "graphics/intro/intro2_latias.4bpp.lz"
-
- .align 2
-gSpriteTemplate_8416B3C:: @ 8416B3C
- spr_template 2000, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_814910C
-
- .align 2
-gUnknown_08416B54:: @ 8416B54
- obj_tiles gUnknown_084131C4, 0x400, 2000
- null_obj_tiles
-
- .align 2
-gSpriteAnim_8416B64:: @ 8416B64
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8416B6C:: @ 8416B6C
- obj_image_anim_frame 16, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8416B74:: @ 8416B74
- obj_image_anim_frame 20, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8416B7C:: @ 8416B7C
- obj_image_anim_frame 22, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8416B84:: @ 8416B84
- .4byte gSpriteAnim_8416B64
- .4byte gSpriteAnim_8416B6C
- .4byte gSpriteAnim_8416B74
- .4byte gSpriteAnim_8416B7C
-
-gUnknown_08416B94:: @ 8416B94
- .incbin "baserom.gba", 0x00416b94, 0x48
-
- .align 2
-gUnknown_08416BDC:: @ 8416BDC
- obj_tiles gIntro2TreeTiles, 0x400, 2000
- null_obj_tiles
-
- .align 2
-gSpriteAnim_8416BEC:: @ 8416BEC
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8416BF4:: @ 8416BF4
- obj_image_anim_frame 16, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8416BFC:: @ 8416BFC
- obj_image_anim_frame 24, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8416C04:: @ 8416C04
- .4byte gSpriteAnim_8416BEC
- .4byte gSpriteAnim_8416BF4
- .4byte gSpriteAnim_8416BFC
-
-gUnknown_08416C10:: @ 8416C10
- .incbin "baserom.gba", 0x00416c10, 0x60
-
- .align 2
-gUnknown_08416C70:: @ 8416C70
- obj_tiles gIntro2NightTiles, 0x400, 2000
- null_obj_tiles
-
- .align 2
-gSpriteAnim_8416C80:: @ 8416C80
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8416C88:: @ 8416C88
- .4byte gSpriteAnim_8416C80
-
-gUnknown_08416C8C:: @ 8416C8C
- .incbin "baserom.gba", 0x00416c8c, 0x30
-
- .align 2
-gOamData_8416CBC:: @ 8416CBC
- .2byte 0x00A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8416CC4:: @ 8416CC4
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 64, 8
- obj_image_anim_frame 128, 8
- obj_image_anim_frame 192, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_8416CD8:: @ 8416CD8
- .4byte gSpriteAnim_8416CC4
-
- .align 2
-gSpriteTemplate_8416CDC:: @ 8416CDC
- spr_template 1002, 1002, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82
-
- .align 2
-gSpriteTemplate_8416CF4:: @ 8416CF4
- spr_template 1003, 1003, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82
-
- .align 2
-gOamData_8416D0C:: @ 8416D0C
- .2byte 0x40A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8416D14:: @ 8416D14
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 32, 8
- obj_image_anim_frame 64, 8
- obj_image_anim_frame 96, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_8416D28:: @ 8416D28
- .4byte gSpriteAnim_8416D14
-
- .align 2
-gSpriteTemplate_8416D2C:: @ 8416D2C
- spr_template 1001, 1002, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0
-
- .align 2
-gSpriteTemplate_8416D44:: @ 8416D44
- spr_template 1001, 1003, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0
-
- .align 2
-gOamData_8416D5C:: @ 8416D5C
- .2byte 0x00A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8416D64:: @ 8416D64
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8416D6C:: @ 8416D6C
- obj_image_anim_frame 64, 16
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8416D74:: @ 8416D74
- .4byte gSpriteAnim_8416D64
- .4byte gSpriteAnim_8416D6C
-
- .align 2
-gSpriteTemplate_8416D7C:: @ 8416D7C
- spr_template 1004, 1004, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83
-
- .align 2
-gSpriteTemplate_8416D94:: @ 8416D94
- spr_template 1005, 1005, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83
-
- .align 2
-gIntro2BrendanSpriteSheet:: @ 8416DAC
- obj_tiles gIntro2BrendanTiles, 0x3800, 1002
- .space 8
-
- .align 2
-gIntro2MaySpriteSheet:: @ 8416DBC
- obj_tiles gIntro2MayTiles, 0x3800, 1003
- .space 8
-
- .align 2
-gIntro2BicycleSpriteSheet:: @ 8416DCC
- obj_tiles gIntro2BicycleTiles, 0x1000, 1001
- .space 8
-
- .align 2
-gIntro2LatiosSpriteSheet:: @ 8416DDC
- obj_tiles gIntro2LatiosTiles, 0x1000, 1004
- .space 8
-
- .align 2
-gIntro2LatiasSpriteSheet:: @ 8416DEC
- obj_tiles gIntro2LatiasTiles, 0x1000, 1005
- .space 8
-
- .align 2
-gIntro2SpritePalettes:: @ 8416DFC
- obj_pal gIntro2BrendanPalette, 1002
- obj_pal gIntro2MayPalette, 1003
- obj_pal gIntro2LatiosPalette, 1004
- obj_pal gIntro2LatiasPalette, 1005
- .space 8
-
-gUnknown_08416E24:: @ 8416E24
- obj_tiles gIntro2BrendanTiles, 0x2000, 1002
- .space 8
-
-gUnknown_08416E34:: @ 8416E34
- obj_tiles gIntro2MayTiles, 0x2000, 1003
- .space 8
-
- .align 2
-gEvoSparklePalette: @ 8416E44
- .incbin "graphics/misc/evo_sparkle.gbapal"
-
- .align 2
-gEvoSparkleTiles: @ 8416E64
- .incbin "graphics/misc/evo_sparkle.4bpp.lz"
-
-gUnknown_08416E84:: @ 8416E84
- obj_tiles gEvoSparkleTiles, 0x20, 1001
- .space 8
-
-gUnknown_08416E94:: @ 8416E94
- obj_pal gEvoSparklePalette, 1001
- .space 8
-
- .align 2
-gOamData_8416EA4:: @ 8416EA4
- .2byte 0x00A0
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8416EAC:: @ 8416EAC
- obj_image_anim_frame 0, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8416EB4:: @ 8416EB4
- .4byte gSpriteAnim_8416EAC
-
- .align 2
-gSpriteTemplate_8416EB8:: @ 8416EB8
- spr_template 1001, 1001, gOamData_8416EA4, gSpriteAnimTable_8416EB4, NULL, gDummySpriteAffineAnimTable, nullsub_84
-
-gUnknown_08416ED0:: @ 8416ED0
- .incbin "baserom.gba", 0x00416ed0, 0x38
-
-Unknown_8416F08:
- .incbin "baserom.gba", 0x00416f08, 0x4
-Unknown_8416F0C:
- .incbin "baserom.gba", 0x00416f0c, 0x4
-Unknown_8416F10:
- .incbin "baserom.gba", 0x00416f10, 0x4
-Unknown_8416F14:
- .incbin "baserom.gba", 0x00416f14, 0x4
-Unknown_8416F18:
- .incbin "baserom.gba", 0x00416f18, 0x4
-Unknown_8416F1C:
- .incbin "baserom.gba", 0x00416f1c, 0x6
-Unknown_8416F22:
- .incbin "baserom.gba", 0x00416f22, 0x6
-Unknown_8416F28:
- .incbin "baserom.gba", 0x00416f28, 0x6
-Unknown_8416F2E:
- .incbin "baserom.gba", 0x00416f2e, 0x6
-Unknown_8416F34:
- .incbin "baserom.gba", 0x00416f34, 0x6
-Unknown_8416F3A:
- .incbin "baserom.gba", 0x00416f3a, 0x8
-Unknown_8416F42:
- .incbin "baserom.gba", 0x00416f42, 0x8
-Unknown_8416F4A:
- .incbin "baserom.gba", 0x00416f4a, 0x8
-Unknown_8416F52:
- .incbin "baserom.gba", 0x00416f52, 0x8
-Unknown_8416F5A:
- .incbin "baserom.gba", 0x00416f5a, 0x8
-Unknown_8416F62:
- .incbin "baserom.gba", 0x00416f62, 0xA
-Unknown_8416F6C:
- .incbin "baserom.gba", 0x00416f6c, 0xA
-Unknown_8416F76:
- .incbin "baserom.gba", 0x00416f76, 0xA
-Unknown_8416F80:
- .incbin "baserom.gba", 0x00416f80, 0xA
-Unknown_8416F8A:
- .incbin "baserom.gba", 0x00416f8a, 0xA
-Unknown_8416F94:
- .incbin "baserom.gba", 0x00416f94, 0xC
-Unknown_8416FA0:
- .incbin "baserom.gba", 0x00416fa0, 0xC
-Unknown_8416FAC:
- .incbin "baserom.gba", 0x00416fac, 0xC
-Unknown_8416FB8:
- .incbin "baserom.gba", 0x00416fb8, 0xC
-Unknown_8416FC4:
- .incbin "baserom.gba", 0x00416fc4, 0xC
-Unknown_8416FD0:
- .incbin "baserom.gba", 0x00416fd0, 0xE
-Unknown_8416FDE:
- .incbin "baserom.gba", 0x00416fde, 0xE
-Unknown_8416FEC:
- .incbin "baserom.gba", 0x00416fec, 0xE
-Unknown_8416FFA:
- .incbin "baserom.gba", 0x00416ffa, 0xE
-Unknown_8417008:
- .incbin "baserom.gba", 0x00417008, 0xE
-Unknown_8417016:
- .incbin "baserom.gba", 0x00417016, 0x10
-Unknown_8417026:
- .incbin "baserom.gba", 0x00417026, 0x10
-Unknown_8417036:
- .incbin "baserom.gba", 0x00417036, 0x10
-Unknown_8417046:
- .incbin "baserom.gba", 0x00417046, 0x10
-Unknown_8417056:
- .incbin "baserom.gba", 0x00417056, 0x12
-
- .align 2
-gUnknown_08417068:: @ 8417068
- .4byte Unknown_8416F08
- .4byte Unknown_8416F0C
- .4byte Unknown_8416F10
- .4byte Unknown_8416F14
- .4byte Unknown_8416F18
- .4byte Unknown_8416F1C
- .4byte Unknown_8416F22
- .4byte Unknown_8416F28
- .4byte Unknown_8416F2E
- .4byte Unknown_8416F34
- .4byte Unknown_8416F3A
- .4byte Unknown_8416F42
- .4byte Unknown_8416F4A
- .4byte Unknown_8416F52
- .4byte Unknown_8416F5A
- .4byte Unknown_8416F62
- .4byte Unknown_8416F6C
- .4byte Unknown_8416F76
- .4byte Unknown_8416F80
- .4byte Unknown_8416F8A
- .4byte Unknown_8416F94
- .4byte Unknown_8416FA0
- .4byte Unknown_8416FAC
- .4byte Unknown_8416FB8
- .4byte Unknown_8416FC4
- .4byte Unknown_8416FD0
- .4byte Unknown_8416FDE
- .4byte Unknown_8416FEC
- .4byte Unknown_8416FFA
- .4byte Unknown_8417008
- .4byte Unknown_8417016
- .4byte Unknown_8417026
- .4byte Unknown_8417036
- .4byte Unknown_8417046
- .4byte Unknown_8417056
-
-gUnknown_084170F4:: @ 84170F4
- .incbin "baserom.gba", 0x004170f4, 0xD0
-
-@ 84171C4
- .include "data/bard_music.inc"
-
-UnknownString_1stRound:
- .string "1st round$"
-UnknownString_2ndRound:
- .string "2nd round$"
-UnknownString_3rdRound:
- .string "3rd round$"
-UnknownString_4thRound:
- .string "4th round$"
-UnknownString_5thRound:
- .string "5th round$"
-UnknownString_6thRound:
- .string "6th round$"
-UnknownString_7thRound:
- .string "7th round$"
-UnknownString_8thRound:
- .string "8th round$"
-
- .align 2
-gUnknown_0842C29C:: @ 842C29C
- .4byte UnknownString_1stRound, sub_814A4B8
- .4byte UnknownString_2ndRound, sub_814A4B8
- .4byte UnknownString_3rdRound, sub_814A4B8
- .4byte UnknownString_4thRound, sub_814A4B8
- .4byte UnknownString_5thRound, sub_814A4B8
- .4byte UnknownString_6thRound, sub_814A4B8
- .4byte UnknownString_7thRound, sub_814A4B8
- .4byte UnknownString_8thRound, sub_814A4B8
-
- @ unused
-gOtherText_TopSpeed::
- .string "TOP SPEED$"
-
-gMultiText_BerryBlenderMaxSpeedRecord:: @ 842C2E6
- .string "BERRY BLENDER\nMAXIMUM SPEED RECORD!$"
-
-gMultiText_2P3P4P:: @ 842C30A
- .string "2 PLAYERS\n3 PLAYERS\n4 PLAYERS$"
-
-gMultiText_Saving:: @ 842C328
- .string "SAVING...\nDON’T TURN OFF THE POWER.$"
-
-gMultiText_LinkError:: @ 842C34C
- .string "{HIGHLIGHT TRANSPARENT}{COLOR WHITE2}Link error...\nCheck your Game Link cable connection,\nand turn the power off and on.$"
-
-gSystemText_OptionMenu:: @ 842C3A6
- .string "{PALETTE 9}OPTION$"
-
-gSystemText_TextSpeed:: @ 842C3B0
- .string "{PALETTE 9}TEXT SPEED$"
-
-gSystemText_BattleScene:: @ 842C3BE
- .string "{PALETTE 9}BATTLE SCENE$"
-
-gSystemText_BattleStyle:: @ 842C3CE
- .string "{PALETTE 9}BATTLE STYLE$"
-
-gSystemText_Sound:: @ 842C3DE
- .string "{PALETTE 9}SOUND$"
-
-gSystemText_Frame:: @ 842C3E7
- .string "{PALETTE 9}FRAME$"
-
-gSystemText_Cancel:: @ 842C3F0
- .string "{PALETTE 9}CANCEL$"
-
-gSystemText_ButtonMode:: @ 842C3FA
- .string "{PALETTE 9}BUTTON MODE$"
-
-gSystemText_Slow:: @ 842C409
- .string "{PALETTE 15}SLOW$"
-
-gSystemText_Mid:: @ 842C411
- .string "{PALETTE 15}MID$"
-
-gSystemText_Fast:: @ 842C418
- .string "{PALETTE 15}FAST$"
-
-gSystemText_On:: @ 842C420
- .string "{PALETTE 15}ON$"
-
-gSystemText_Off:: @ 842C426
- .string "{PALETTE 15}OFF$"
-
-gSystemText_Shift:: @ 842C42D
- .string "{PALETTE 15}SHIFT$"
-
-gSystemText_Set:: @ 842C436
- .string "{PALETTE 15}SET$"
-
-gSystemText_Mono:: @ 842C43D
- .string "{PALETTE 15}MONO$"
-
-gSystemText_Stereo:: @ 842C445
- .string "{PALETTE 15}STEREO$"
-
-gSystemText_Type:: @ 842C44F
- .string "{PALETTE 15}TYPE$"
-
-gSystemText_Terminator:: @ 842C457
- .string "{PALETTE 8}$"
-
-gSystemText_Normal:: @ 842C45B
- .string "{PALETTE 15}NORMAL$"
-
-gSystemText_LR:: @ 842C465
- .string "{PALETTE 15}LR$"
-
-gSystemText_LA:: @ 842C46B
- .string "{PALETTE 15}L=A$"
-
-SystemText_Pokedex:
- .string "POKéDEX$"
-SystemText_Pokemon:
- .string "POKéMON$"
-SystemText_BAG:
- .string "BAG$"
-SystemText_Pokenav:
- .string "POKéNAV$"
-SystemText_Player:
- .string "{PLAYER}$"
-SystemText_Save:
- .string "SAVE$"
-SystemText_Option:
- .string "OPTION$"
-SystemText_Exit:
- .string "EXIT$"
-SystemText_Retire: @ safari zone?
- .string "RETIRE$"
-
-gOtherText_SafariStock:: @ 842C4A9
- .string "SAFARI BALLS\nStock: {STR_VAR_1}$"
-
-gSystemText_LinkStandby:: @ 842C4C0
- .string "Link standby...\n... ... B Button: Cancel$"
-
-gSystemText_LoadEventPressA:: @ 842C4E9
- .string "Press the A Button to load event.\n... ... B Button: Cancel$"
-
-gSystemText_LoadingEvent:: @ 842C524
- .string "Loading event...$"
-
-gSystemText_DontCutLink:: @ 842C535
- .string "Don’t remove the Game Link cable.\nDon’t turn off the power.$"
-
-gSystemText_EventLoadSuccess:: @ 842C571
- .string "The event was safely loaded.$$"
-
-gSystemText_LoadingError:: @ 842C58F
- .string "Loading error.\nEnding session.$$$$$$$$"
-
-gOtherText_Hoenn:: @ 842C5B5
- .string "HOENN$"
-
-gOtherText_OhABite:: @ 842C5BB
- .string "Oh! A bite!$"
-
-gOtherText_PokeOnHook:: @ 842C5C7
- .string "A POKéMON’s on the hook!{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_NotEvenANibble:: @ 842C5E2
- .string "Not even a nibble...{PAUSE_UNTIL_PRESS}$"
-
-gOtherText_ItGotAway:: @ 842C5F9
- .string "It got away...{PAUSE_UNTIL_PRESS}$$"
-
-gTradeText_WillBeSent:: @ 842C60B
- .string "{STR_VAR_2} will be sent to {STR_VAR_1}.$"
-
-gTradeText_ByeBye:: @ 842C622
- .string "Bye-bye, {STR_VAR_2}!$"
-
-gTradeText_SentOverPoke:: @ 842C62F
- .string "{STR_VAR_1} sent over {STR_VAR_3}.$"
-
-gTradeText_TakeGoodCare:: @ 842C640
- .string "Take good care of {STR_VAR_3}!$"
-
-TradeText_Cancel:
- .string "CANCEL$"
-TradeText_ChoosePoke:
- .string "Choose a POKéMON.$"
-TradeText_Summary1:
- .string "SUMMARY$"
-TradeText_Trade1:
- .string "TRADE$"
-TradeText_CancelTradePrompt:
- .string "Cancel trade?$"
-TradeText_PressBToExit:
- .string "Press the B Button to exit.$"
-TradeText_Summary2:
- .string "SUMMARY$"
-TradeText_Trade2:
- .string "TRADE$"
-TradeText_LinkStandby:
- .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Link standby...\nPlease wait.$"
-TradeText_TradeCancelled:
- .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$"
-TradeText_OnlyPoke:
- .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}That’s your only\nPOKéMON for battle.$"
-TradeText_NonTradablePoke:
- .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend can’t\ntrade that one.$"
-TradeText_WaitingForFriend:
- .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Waiting for your\nfriend to finish...$"
-TradeText_WantToTrade:
- .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend wants\nto trade POKéMON.$"
- .string "$"
-
-gTradeText_TradeOkayPrompt:: @ 842C7B6
- .string "Is this trade okay?$"
-
-gOtherText_Terminator2:: @ 842C7CA
- .string "$"
-
-gOtherText_ControlAndMiscText:: @ 842C7CB
- .string "\n$"
- .string "/$"
- .string "Lv$"
- .string "---$"
-
-gOtherText_FourQuestions:: @ 842C7D6
- .string "????$"
-
-@ 842C7DB
- .include "data/text/easy_chat/group_name_strings.inc"
-
-gOtherText_ThreeQuestions:: @ 842C890
- .string "???$"
-
-gOtherText_From:: @ 842C894
- .string "From $"
-
-gOtherText_MixingRecordsWithFriend:: @ 842C89A
- .string "Mixing records...$"
-
-gOtherText_MixingComplete:: @ 842C8AC
- .string "Record mixing completed.\nThank you for waiting.$"
-
-gOtherText_TrainersTrainerCard:: @ 842C8DC
- .string "’s TRAINER CARD$"
-
-gOtherText_FirstHOF:: @ 842C8EC
- .string "FIRST HALL OF FAME$"
-
-gOtherText_LinkCableBattles:: @ 842C8FF
- .string "LINK CABLE BATTLES W/ L/$"
-
-gOtherText_BattleTowerWinRecord:: @ 842C924
- .string "BATTLE TOWER W/{CLEAR_TO 0x72}&{CLEAR_TO 0x98}STRAIGHT$"
-
-gOtherText_ContestRecord:: @ 842C943
- .string "CONTESTS W/FRIENDS W/$"
-
-gOtherText_MixingRecord:: @ 842C959
- .string "{POKEBLOCK}S W/FRIENDS$"
-
-gOtherText_TradeRecord:: @ 842C96A
- .string "POKéMON TRADES$"
-
-gOtherText_Boy:: @ 842C979
- .string "BOY$"
-
-gOtherText_Girl:: @ 842C97D
- .string "GIRL$"
- .string "$"
-
-gOtherText_Player:: @ 842C983
- .string "PLAYER$"
-
-gOtherText_Badges:: @ 842C98A
- .string "BADGES$"
- .string "$"
-
-gOtherText_Pokedex:: @ 842C992
- .string "POKéDEX$"
-
-gOtherText_PlayTime:: @ 842C99A
- .string "PLAY TIME$"
-
-gOtherText_SentToPC:: @ 842C9A4
- .string "{STR_VAR_1} was sent to\nthe PC.{PAUSE_UNTIL_PRESS}$"
-
-OtherText_YourName:
- .string "YOUR NAME?$"
-OtherText_BoxName:
- .string "BOX NAME?$"
-OtherText_PokeName:
- .string "{STR_VAR_1}’s nickname?$"
-
-gOtherText_Marco:: @ 842C9E1
- .string "MARCO$" @ polo
-
-gOtherText_Coins:: @ 842C9E7
- .string "{STR_VAR_1} COINS$"
-
-gOtherText_BattleResults:: @ 842C9F0
- .string "{PLAYER}’s BATTLE RESULTS$"
-
-gOtherText_WinRecord:: @ 842CA04
- .string "TOTAL RECORD W/{STR_VAR_1} L/{STR_VAR_2} D/{STR_VAR_3}$"
-
-gOtherText_WinLoseDraw:: @ 842CA20
- .string "WIN LOSE DRAW$"
-
-gOtherText_SevenDashes:: @ 842CA3C
- .string "-------$"
-
-gOtherText_FourDashes:: @ 842CA44
- .string "----$"
-
-gOtherText_BattleTowerResults:: @ 842CA49
- .string "{PLAYER}’s BATTLE TOWER RESULTS$"
-
-gOtherText_Lv50:: @ 842CA63
- .string "LV 50$"
-
-gOtherText_Lv100:: @ 842CA69
- .string "LV 100$"
-
-gOtherText_WinStreak:: @ 842CA70
- .string "{STR_VAR_1}W STREAK$"
-
-gOtherText_Current:: @ 842CA7B
- .string "CURRENT$"
-
-gOtherText_Record:: @ 842CA83
- .string "RECORD$"
-
-gOtherText_Prev:: @ 842CA8A
- .string "PREV.$"
-
-gOtherText_QuitGamePrompt:: @ 842CA90
- .string "Quit the game?$"
-
-gOtherText_MaxCoins:: @ 842CA9F
- .string "You’ve got 9,999 COINS.$"
-
-gOtherText_OutOfCoins:: @ 842CAB7
- .string "You’ve run out of COINS.\nGame over!$"
-
-gOtherText_DontHaveThreeCoins:: @ 842CADB
- .string "You don’t have three COINS.$"
-
-gOtherText_ReelTime:: @ 842CAF7
- .string "REEL TIME\nHere’s your chance to take\naim and nail marks!\nThe Reel Time continues for\nas often as the drawn number.\nIt all ends on a Big Bonus.$"
-
-DaycareText_GetAlongVeryWell::
- .string "The two seem to get along very well.$"
-DaycareText_GetAlong::
- .string "The two seem to get along.$"
-DaycareText_DontLikeOther::
- .string "The two don’t seem to like each other.$"
-DaycareText_PlayOther::
- .string "The two prefer to play with other\nPOKéMON than each other.$"
-
-gOtherText_NewLine2:: @ 842CC28
- .string "\n$"
-
-gOtherText_CancelAndLv:: @ 842CC2A
- .string "CANCEL$"
- .string "LV$"
-
-gEggNickname:: @ 842CC34
- .string "EGG$"
-
-gOtherText_HatchedFromEgg:: @ 842CC38
- .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}{STR_VAR_1} hatched from the EGG!$"
-
-gOtherText_NickHatchPrompt:: @ 842CC5A
- .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}Would you like to nickname the newly\nhatched {STR_VAR_1}?$"
-
-OtherText_Battle::
- .string "BATTLE$"
-OtherText_Contest::
- .string "CONTEST$"
-OtherText_Type::
- .string "TYPE/$"
-OtherText_PP::
- .string "PP/$"
-OtherText_Power::
- .string "POWER$"
-OtherText_Accuracy::
- .string "ACCURACY$"
-OtherText_Appeal::
- .string "APPEAL$"
-OtherText_Jam::
- .string "JAM$"
-
-gOtherText_TeachWhichMove:: @ 842CCC7
- .string "Teach which move to {STR_VAR_1}?$"
-
-gOtherText_TeachSpecificMove:: @ 842CCDF
- .string "Teach {STR_VAR_2}?$"
-
-gOtherText_PokeLearnedMove:: @ 842CCE9
- .string "{STR_VAR_1} learned {STR_VAR_2}.$"
-
-gOtherText_DeleteOlderMove:: @ 842CCF8
- .string "{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can’t learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?$"
-
-gOtherText_StopLearningMove:: @ 842CD65
- .string "Stop learning {STR_VAR_2}?$"
-
-gOtherText_ForgotMove123:: @ 842CD77
- .string "{PAUSE 32}1, {PAUSE 15}2 {PAUSE 15}...{PAUSE 15}...{PAUSE 15}...{PAUSE 15} {PLAY_SE 0x0038}Poof!\p$"
-
-gOtherText_ForgotOrDidNotLearnMove:: @ 842CDA3
- .string "{STR_VAR_1} forgot {STR_VAR_3}.\pAnd...\p{STR_VAR_1} learned {STR_VAR_2}.$"
- .string "{STR_VAR_1} did not learn\n{STR_VAR_2}.$"
-
-gOtherText_GiveUpTeachingMove:: @ 842CDDC
- .string "Give up trying to teach a new move\nto {STR_VAR_1}?$"
-
-gOtherText_WhichMoveToForget:: @ 842CE06
- .string "Which move should be forgotten?\p$"
-
-gSystemText_ClearAllSaveDataPrompt:: @ 842CE27
- .string "Clear all save data areas?$"
-
-gSystemText_ClearingData:: @ 842CE42
- .string "Clearing data...\nPlease wait.$"
-
-gContestText_AnnounceResults:: @ 842CE60
- .string "Announcing the results!$"
-
-gContestText_PreliminaryResults:: @ 842CE78
- .string "The preliminary results!$"
-
-gContestText_Round2Results:: @ 842CE91
- .string "Round 2 results!$"
-
-gContestText_PokeWon:: @ 842CEA2
- .string "{STR_VAR_1}’s {STR_VAR_2} won!$"
-
-gOtherText_LinkStandby:: @ 842CEAF
- .string "Link standby...$"
-
-@ 842CEBF
- .include "data/text/landmarks.inc"
-
-gOtherText_Terminator4:: @ 842D0E6
- .string "$"
-
-gOtherText_Nature:: @ 842D0E7
- .string " nature, $"
-
-gOtherText_Comma:: @ 842D0F1
- .string ",$"
-
-gOtherText_Met:: @ 842D0F3
- .string " (met).$"
-
-gOtherText_Egg2:: @ 842D0FB
- .string " (EGG).$"
-
-gOtherText_ObtainedInTrade:: @ 842D103
- .string "obtained in a trade.$"
-
-gOtherText_FatefulEncounter:: @ 842D118
- .string "fateful encounter.$"
-
-gOtherText_Met2:: @ 842D12B
- .string " (met).$"
-
-gOtherText_EggDayCare:: @ 842D133
- .string "An odd POKéMON EGG found\nby the DAY CARE couple.$"
-
-gOtherText_EggNicePlace:: @ 842D164
- .string "A peculiar POKéMON EGG\nobtained at the nice place.$"
-
-gOtherText_EggObtainedInTrade:: @ 842D197
- .string "A peculiar POKéMON EGG\nobtained in a trade.$"
-
-gOtherText_EggHotSprings:: @ 842D1C3
- .string "A POKéMON EGG obtained\nat the hot springs.$"
-
-gOtherText_LinkStandby2:: @ 842D1EE
- .string "Link standby...$"
-
-gOtherText_YesNoAndPlayer:: @ 842D1FE
- .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}YES\nNO$"
- .string "{HIGHLIGHT TRANSPARENT}PLAYER$"
- .string "{HIGHLIGHT TRANSPARENT}$"
-
-gOtherText_HoennDex:: @ 842D21C
- .string "HOENN$"
-
-gOtherText_NationalDex:: @ 842D222
- .string "NATIONAL$"
-
-gOtherText_DiplomaCertificationGameFreak:: @ 842D22B
- .string "{HIGHLIGHT TRANSPARENT}Player: {CLEAR 0x10}{COLOR RED}{PLAYER}\n\n{COLOR DARK_GREY}{STR_VAR_1} POKéDEX\nThis document certifies\nthat you have successfully\ncompleted your POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}GAME FREAK$"
- .string "{COLOR RED}{HIGHLIGHT TRANSPARENT}GAME FREAK$"
-
-gOtherText_PLink:: @ 842D2BC
- .string "{STR_VAR_1}P LINK$"
-
-gOtherText_YesNoTerminating:: @ 842D2C5
- .string "YES\nNO$"
- .string "Terminating.$"
-
-gOtherText_LinkNotFound:: @ 842D2D9
- .string "Link partner(s) not found.\nPlease try again.\p$"
-
-gOtherText_BlenderChooseBerry:: @ 842D307
- .string "Starting up the BERRY BLENDER.\pPlease select a BERRY from your BAG\nto put in the BERRY BLENDER.\p$"
-
-gOtherText_PokeBlockMade:: @ 842D368
- .string " was made!$"
-
-gOtherText_PressAToStart:: @ 842D373
- .string "Press the A Button to start.$"
-
-gOtherText_PleaseWait:: @ 842D390
- .string "Please wait a while.$"
-
-gOtherText_LinkStandby3:: @ 842D3A5
- .string "Link standby...$"
-
-gOtherText_BlendAnotherBerryPrompt:: @ 842D3B5
- .string "Would you like to blend another BERRY?$"
-
-gOtherText_OutOfBerries:: @ 842D3DC
- .string "You’ve run out of BERRIES for\nblending in the BERRY BLENDER.\p$"
-
-gOtherText_CaseIsFull:: @ 842D41A
- .string "Your {POKEBLOCK} CASE is full.\p$"
-
-gOtherText_NoBerriesForBlend:: @ 842D434
- .string " has no BERRIES to put in\nthe BERRY BLENDER.$"
-
-gOtherText_OtherCaseIsFull:: @ 842D461
- .string "’s {POKEBLOCK} CASE is full.\p$"
-
-gOtherText_ResultsOfBlending:: @ 842D479
- .string "RESULTS OF BLENDING$"
- .string "BERRY USED$"
-
-gOtherText_Berry:: @ 842D498
- .string " BERRY$"
-
-gOtherText_RequiredTime:: @ 842D49F
- .string "REQUIRED TIME$"
-
-gOtherText_Min:: @ 842D4AD
- .string "MIN.$"
-
-gOtherText_Sec:: @ 842D4B2
- .string "SEC.$"
-
-gOtherText_MaxSpeed:: @ 842D4B7
- .string "MAXIMUM SPEED$"
-
-gOtherText_RPM:: @ 842D4C5
- .string "RPM$"
- .string ".$"
-
-gOtherText_Ranking:: @ 842D4CB
- .string "RANKING$"
-
-gOtherText_BlockLevelIs:: @ 842D4D3
- .string "The level is $"
-
-gOtherText_BlockFeelIs:: @ 842D4E1
- .string ", and the feel is $"
-
-gOtherText_Period:: @ 842D4F4
- .string ".$"
-
-gOtherText_Day:: @ 842D4F6
- .string "DAY$"
- .string ":$"
-
-gOtherText_OK:: @ 842D4FC
- .string "OK$"
-
-gOtherText_CorrectTimePrompt:: @ 842D4FF
- .string "Is this the correct time?$"
-
- .align 2
-OutlineCursorTiles_00:
- .incbin "graphics/interface/outline_cursor_00.4bpp"
-
- .align 2
-OutlineCursorTiles_01:
- .incbin "graphics/interface/outline_cursor_01.4bpp"
-
- .align 2
-OutlineCursorTiles_02:
- .incbin "graphics/interface/outline_cursor_02.4bpp"
-
- .align 2
-OutlineCursorTiles_03:
- .incbin "graphics/interface/outline_cursor_03.4bpp"
-
- .align 2
-OutlineCursorTiles_04:
- .incbin "graphics/interface/outline_cursor_04.4bpp"
-
- .align 2
-OutlineCursorTiles_05:
- .incbin "graphics/interface/outline_cursor_05.4bpp"
-
- .align 2
-OutlineCursorTiles_06:
- .incbin "graphics/interface/outline_cursor_06.4bpp"
-
- .align 2
-OutlineCursorTiles_07:
- .incbin "graphics/interface/outline_cursor_07.4bpp"
-
- .align 2
-OutlineCursorTiles_08:
- .incbin "graphics/interface/outline_cursor_08.4bpp"
-
- .align 2
-OutlineCursorTiles_09:
- .incbin "graphics/interface/outline_cursor_09.4bpp"
-
- .align 2
-OutlineCursorTiles_10:
- .incbin "graphics/interface/outline_cursor_10.4bpp"
-
- .align 2
-OutlineCursorTiles_11:
- .incbin "graphics/interface/outline_cursor_11.4bpp"
-
- .align 2
-OutlineCursorTiles_12:
- .incbin "graphics/interface/outline_cursor_12.4bpp"
-
- .align 2
-OutlineCursorTiles_13:
- .incbin "graphics/interface/outline_cursor_13.4bpp"
-
- .align 2
-OutlineCursorTiles_14:
- .incbin "graphics/interface/outline_cursor_14.4bpp"
-
- .align 2
-OutlineCursorTiles_15:
- .incbin "graphics/interface/outline_cursor_15.4bpp"
-
- .align 2
-gOamData_842F11C:: @ 842F11C
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_842F124:: @ 842F124
- .2byte 0x8800
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_842F12C:: @ 842F12C
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_842F134:: @ 842F134
- obj_image_anim_frame 0, 63
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_842F13C:: @ 842F13C
- .4byte gSpriteAnim_842F134
-
- .align 2
-gUnknown_0842F140:: @ 842F140
- obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF0
-
- .align 2
-gUnknown_0842F1C0:: @ 842F1C0
- obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF1
-
- .align 2
-gUnknown_0842F240:: @ 842F240
- obj_pal 0x0203a360, 0xfff0
-
- .align 2
-gUnknown_0842F248:: @ 842F248
- obj_pal 0x0203a360, 0xfff1
-
- .align 2
-gSpriteTemplate_842F250:: @ 842F250
- spr_template 65520, 65520, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F268:: @ 842F268
- spr_template 65520, 0xFFFF, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F280:: @ 842F280
- spr_template 65520, 0xFFFF, gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F298:: @ 842F298
- spr_template 65521, 65521, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F2B0:: @ 842F2B0
- spr_template 65521, 0xFFFF, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-Unknown_842F2C8: @ 842F2C8
- .incbin "baserom.gba", 0x0042f2c8, 0x10
-Unknown_842F2D8: @ 842F2D8
- .incbin "baserom.gba", 0x0042f2d8, 0x18
-Unknown_842F2F0: @ 842F2F0
- .incbin "baserom.gba", 0x0042f2f0, 0x20
-Unknown_842F310: @ 842F310
- .incbin "baserom.gba", 0x0042f310, 0x18
-Unknown_842F328: @ 842F328
- .incbin "baserom.gba", 0x0042f328, 0x18
-Unknown_842F340: @ 842F340
- .incbin "baserom.gba", 0x0042f340, 0x20
-Unknown_842F360: @ 842F360
- .incbin "baserom.gba", 0x0042f360, 0x20
-Unknown_842F380: @ 842F380
- .incbin "baserom.gba", 0x0042f380, 0x20
-Unknown_842F3A0: @ 842F3A0
- .incbin "baserom.gba", 0x0042f3a0, 0x20
-Unknown_842F3C0: @ 842F3C0
- .incbin "baserom.gba", 0x0042f3c0, 0x28
-Unknown_842F3E8: @ 842F3E8
- .incbin "baserom.gba", 0x0042f3e8, 0x28
-Unknown_842F410: @ 842F410
- .incbin "baserom.gba", 0x0042f410, 0x28
-Unknown_842F438: @ 842F438
- .incbin "baserom.gba", 0x0042f438, 0x28
-Unknown_842F460: @ 842F460
- .incbin "baserom.gba", 0x0042f460, 0x30
-Unknown_842F490: @ 842F490
- .incbin "baserom.gba", 0x0042f490, 0x30
-Unknown_842F4C0: @ 842F4C0
- .incbin "baserom.gba", 0x0042f4c0, 0x30
-Unknown_842F4F0: @ 842F4F0
- .incbin "baserom.gba", 0x0042f4f0, 0x30
-Unknown_842F520: @ 842F520
- .incbin "baserom.gba", 0x0042f520, 0x38
-Unknown_842F558: @ 842F558
- .incbin "baserom.gba", 0x0042f558, 0x18
-
- .4byte Unknown_842F2C8
- .4byte Unknown_842F2C8
- .4byte Unknown_842F2D8
- .4byte Unknown_842F2F0
- .4byte Unknown_842F310
- .4byte Unknown_842F328
- .4byte Unknown_842F340
- .4byte Unknown_842F360
- .4byte Unknown_842F380
- .4byte Unknown_842F3A0
- .4byte Unknown_842F3C0
- .4byte Unknown_842F3E8
- .4byte Unknown_842F410
- .4byte Unknown_842F438
- .4byte Unknown_842F460
- .4byte Unknown_842F490
- .4byte Unknown_842F4C0
- .4byte Unknown_842F4F0
- .4byte Unknown_842F520
-
- .align 2
-gUnknown_0842F5BC:: @ 842F5BC
- .4byte Unknown_842F558
-
- .align 2
-gSubspriteTables_842F5C0:: @ 842F5C0
- .4byte 1, gMenuCursorSubsprites
- .4byte 1, gMenuCursorSubsprites
- .4byte 2, gMenuCursorSubsprites
- .4byte 3, gMenuCursorSubsprites
- .4byte 4, gMenuCursorSubsprites
- .4byte 5, gMenuCursorSubsprites
- .4byte 6, gMenuCursorSubsprites
- .4byte 7, gMenuCursorSubsprites
- .4byte 8, gMenuCursorSubsprites
- .4byte 9, gMenuCursorSubsprites
- .4byte 10, gMenuCursorSubsprites
- .4byte 11, gMenuCursorSubsprites
- .4byte 12, gMenuCursorSubsprites
- .4byte 13, gMenuCursorSubsprites
- .4byte 14, gMenuCursorSubsprites
- .4byte 15, gMenuCursorSubsprites
- .4byte 1, gMenuCursorSubsprites
- .4byte 17, gMenuCursorSubsprites
- .4byte 18, gMenuCursorSubsprites
- .4byte 19, gMenuCursorSubsprites
- .4byte 20, gMenuCursorSubsprites
- .4byte 21, gMenuCursorSubsprites
- .4byte 22, gMenuCursorSubsprites
- .4byte 23, gMenuCursorSubsprites
- .4byte 24, gMenuCursorSubsprites
- .4byte 25, gMenuCursorSubsprites
- .4byte 26, gMenuCursorSubsprites
- .4byte 27, gMenuCursorSubsprites
- .4byte 28, gMenuCursorSubsprites
- .4byte 29, gMenuCursorSubsprites
- .4byte 30, gMenuCursorSubsprites
- .4byte 31, gMenuCursorSubsprites
-
- .align 2
-gUnknown_0842F6C0:: @ 842F6C0
- .4byte 0x2, Unknown_842F2C8
- .4byte 0x2, Unknown_842F2C8
- .4byte 0x3, Unknown_842F2D8
- .4byte 0x4, Unknown_842F2F0
- .4byte 0x3, Unknown_842F310
- .4byte 0x3, Unknown_842F328
- .4byte 0x4, Unknown_842F340
- .4byte 0x4, Unknown_842F360
- .4byte 0x4, Unknown_842F380
- .4byte 0x4, Unknown_842F3A0
- .4byte 0x5, Unknown_842F3C0
- .4byte 0x5, Unknown_842F3E8
- .4byte 0x5, Unknown_842F410
- .4byte 0x5, Unknown_842F438
- .4byte 0x6, Unknown_842F460
- .4byte 0x6, Unknown_842F490
- .4byte 0x6, Unknown_842F4C0
- .4byte 0x6, Unknown_842F4F0
- .4byte 0x7, Unknown_842F520
-
- .align 2
-gUnknown_0842F758:: @ 842F758
- .4byte 3, gMenuCursorSubsprites
- .4byte 0, 2
- .4byte 0, 66
- .4byte 0, 105
- .4byte 0, 34
-
- .align 2
-gUnknown_0842F780:: @ 842F780
- .4byte 0, 105
-
- .align 2
-gUnknown_0842F788:: @ 842F788
- .4byte 0, 34
-
- .align 2
-gUnknown_0842F790:: @ 842F790
- .4byte 0, 66
-
-gOtherText_BerryObtainedDadHasIt:: @ 842F798
- .string "Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM.$"
-
-gOtherText_BerryTransformed:: @ 842F7CA
- .string "The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY.$"
-
-gOtherText_BerryAlreadyObtained:: @ 842F7F6
- .string "The {STR_VAR_1} BERRY has already been\nobtained.$"
-
-gOtherText_SpecialRibbonReceived:: @ 842F81E
- .string "A special RIBBON was awarded to your\nparty POKéMON.$"
-
-gOtherText_DexUpgraded:: @ 842F852
- .string "The POKéDEX has been upgraded with\nthe NATIONAL MODE.$"
-
-gOtherText_RareWordAdded:: @ 842F888
- .string "A rare word has been added.$"
-
-gOtherText_PokeWasSentOver:: @ 842F8A4
- .string "{STR_VAR_1} was sent over!$"
-
-gOtherText_PartyIsFull:: @ 842F8B6
- .string "Your party is full.\n{STR_VAR_1} could not be sent over.$"
-
-gOtherText_NewTrainerInHoenn:: @ 842F8E5
- .string "A new TRAINER has arrived in HOENN.$"
- .string "A new adversary has arrived in the\nBATTLE TOWER.$"
-
-gOtherText_DataCannotUseVersion:: @ 842F93A
- .string "This data cannot be used in\nthis version.$"
diff --git a/data/data_83760F0.s b/data/data_83760F0.s
new file mode 100644
index 000000000..ed6711a09
--- /dev/null
+++ b/data/data_83760F0.s
@@ -0,0 +1,24837 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+Unknown_83760F0:
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+
+ .align 2
+Unknown_8376130:
+ .4byte sub_806456C
+ .4byte sub_806456C
+ .4byte sub_806456C
+ .4byte sub_806456C
+ .4byte sub_806456C
+ .4byte sub_806456C
+ .4byte sub_806456C
+ .4byte sub_806456C
+
+ .align 2
+Unknown_8376150:
+ .4byte sub_806456C
+ .4byte sub_8064590
+ .4byte sub_8064590
+ .4byte sub_806456C
+ .4byte sub_8064590
+ .4byte sub_8064590
+
+ .align 2
+Unknown_8376168:
+ .4byte sub_80645B8
+ .4byte sub_80645B8
+ .4byte sub_80645B8
+ .4byte sub_80645B8
+
+ .align 2
+Unknown_8376178:
+ .4byte sub_80645DC
+ .4byte sub_80645DC
+
+ .align 2
+gUnknown_08376180:: @ 8376180
+ .4byte Unknown_83760F0
+ .4byte Unknown_8376130
+ .4byte Unknown_8376150
+ .4byte Unknown_8376168
+ .4byte Unknown_8376178
+
+ .align 1
+gUnknown_08376194:: @ 8376194
+ .2byte 16, 8, 6, 4, 2
+Unknown_837619E:
+ .byte -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0
+Unknown_83761AE:
+ .byte 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0
+Unknown_83761BE:
+ .byte -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0
+
+ .align 2
+gUnknown_083761D0:: @ 83761D0
+ .4byte Unknown_837619E
+ .4byte Unknown_83761AE
+ .4byte Unknown_83761BE
+
+ .align 1
+gUnknown_083761DC:: @ 83761DC
+ .2byte 0x10, 0x10, 0x20
+
+gUnknown_083761E2:: @ 83761E2
+ .byte 0, 0, 1
+
+ .align 1
+gUnknown_083761E6:: @ 83761E6
+ .2byte 0x20, 0x20, 0x40
+
+gUnknown_083761EC:: @ 83761EC
+ .byte 1, 1, 2
+
+ .align 2
+gUnknown_083761F0:: @ 83761F0
+ .4byte gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal
+ .4byte gTextWindowFrame2_Gfx, gTextWindowFrame2_Pal
+ .4byte gTextWindowFrame3_Gfx, gTextWindowFrame3_Pal
+ .4byte gTextWindowFrame4_Gfx, gTextWindowFrame4_Pal
+ .4byte gTextWindowFrame5_Gfx, gTextWindowFrame5_Pal
+ .4byte gTextWindowFrame6_Gfx, gTextWindowFrame6_Pal
+ .4byte gTextWindowFrame7_Gfx, gTextWindowFrame7_Pal
+ .4byte gTextWindowFrame8_Gfx, gTextWindowFrame8_Pal
+ .4byte gTextWindowFrame9_Gfx, gTextWindowFrame9_Pal
+ .4byte gTextWindowFrame10_Gfx, gTextWindowFrame10_Pal
+ .4byte gTextWindowFrame11_Gfx, gTextWindowFrame11_Pal
+ .4byte gTextWindowFrame12_Gfx, gTextWindowFrame12_Pal
+ .4byte gTextWindowFrame13_Gfx, gTextWindowFrame13_Pal
+ .4byte gTextWindowFrame14_Gfx, gTextWindowFrame14_Pal
+ .4byte gTextWindowFrame15_Gfx, gTextWindowFrame15_Pal
+ .4byte gTextWindowFrame16_Gfx, gTextWindowFrame16_Pal
+ .4byte gTextWindowFrame17_Gfx, gTextWindowFrame17_Pal
+ .4byte gTextWindowFrame18_Gfx, gTextWindowFrame18_Pal
+ .4byte gTextWindowFrame19_Gfx, gTextWindowFrame19_Pal
+ .4byte gTextWindowFrame20_Gfx, gTextWindowFrame20_Pal
+
+ .align 1
+gMessageBoxTilemap:: @ 8376290
+ .incbin "graphics/text_window/message_box_map.bin"
+
+ .align 2
+gUnknown_083762D8:: @ 83762D8
+ .4byte NULL
+
+gScriptConditionTable:: @ 83762DC
+ @ < = >
+ .byte 1, 0, 0 @ <
+ .byte 0, 1, 0 @ =
+ .byte 0, 0, 1 @ >
+ .byte 1, 1, 0 @ <=
+ .byte 0, 1, 1 @ >=
+ .byte 1, 0, 1 @ !=
+
+ .align 2
+gUnknown_083762F0:: @ 83762F0
+ .4byte gStringVar1
+ .4byte gStringVar2
+ .4byte gStringVar3
+
+ .align 2
+gUnknown_083762FC:: @ 83762FC
+ .4byte 0x1, sub_806936C
+ .4byte 0x2, sub_8069378
+ .4byte 0x3, sub_8069384
+ .4byte 0x4, sub_8069390
+ .4byte 0x5, sub_806939C
+ .4byte 0x6, sub_80693A8
+ .4byte 0x7, sub_80693B4
+ .4byte 0x8, sub_80693C0
+ .4byte 0x9, sub_80693CC
+ .4byte 0xa, sub_80693D8
+ .4byte 0xb, sub_80693E4
+ .4byte 0x14, sub_80693F0
+ .4byte 0x15, sub_80693FC
+
+ .align 2
+gUnknown_08376364:: @ 8376364
+ .4byte nullsub_51
+ .4byte sub_8069F64
+ .4byte sub_8069AA0
+ .4byte sub_8069864
+ .4byte sub_8069DD4
+ .4byte EndTruckSequence
+ .4byte sub_80BCF1C
+ .4byte sub_806A07C
+
+gUnknown_08376384:: @ 8376384
+ .incbin "baserom.gba", 0x00376384, 0x20
+
+gUnknown_083763A4:: @ 83763A4
+ .incbin "baserom.gba", 0x003763a4, 0x20
+
+gUnknown_083763C4:: @ 83763C4
+ .incbin "baserom.gba", 0x003763c4, 0x20
+
+gUnknown_083763E4:: @ 83763E4
+ .incbin "baserom.gba", 0x003763e4, 0x30
+
+gUnknown_08376414:: @ 8376414
+ .space 4
+
+gUnknown_08376418:: @ 8376418
+ .incbin "baserom.gba", 0x00376418, 0x44
+
+ .align 2
+gOamData_837645C:: @ 837645C
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteImage_8376464:: @ 8376464
+ .incbin "graphics/unknown_sprites/83764AC/0.4bpp"
+
+ .align 2
+gSpriteImage_8376484:: @ 8376484
+ .incbin "graphics/unknown_sprites/83764AC/1.4bpp"
+
+ .align 2
+Palette_3764A4: @ 83764A4
+ .incbin "baserom.gba", 0x3764a4, 0x8
+
+ .align 2
+gSpriteImageTable_83764AC:: @ 83764AC
+ obj_frame_tiles gSpriteImage_8376464, 0x20
+ obj_frame_tiles gSpriteImage_8376484, 0x20
+
+ .align 2
+gUnknown_083764BC:: @ 83764BC
+ obj_pal Palette_3764A4, 0x1000
+
+ .align 2
+gSpriteAnim_83764C4:: @ 83764C4
+ obj_image_anim_frame 0, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83764CC:: @ 83764CC
+ obj_image_anim_frame 0, 30, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83764D4:: @ 83764D4
+ obj_image_anim_frame 1, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83764DC:: @ 83764DC
+ .4byte gSpriteAnim_83764C4
+ .4byte gSpriteAnim_83764CC
+ .4byte gSpriteAnim_83764D4
+
+ .align 2
+gSpriteTemplate_83764E8:: @ 83764E8
+ spr_template 0xFFFF, 0x1000, gOamData_837645C, gSpriteAnimTable_83764DC, gSpriteImageTable_83764AC, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_08376500:: @ 8376500
+ .incbin "baserom.gba", 0x00376500, 0x4
+
+ .align 1
+gUnknown_08376504:: @ 8376504
+ .2byte MOVE_FOCUS_PUNCH
+ .2byte MOVE_DRAGON_CLAW
+ .2byte MOVE_WATER_PULSE
+ .2byte MOVE_CALM_MIND
+ .2byte MOVE_ROAR
+ .2byte MOVE_TOXIC
+ .2byte MOVE_HAIL
+ .2byte MOVE_BULK_UP
+ .2byte MOVE_BULLET_SEED
+ .2byte MOVE_HIDDEN_POWER
+ .2byte MOVE_SUNNY_DAY
+ .2byte MOVE_TAUNT
+ .2byte MOVE_ICE_BEAM
+ .2byte MOVE_BLIZZARD
+ .2byte MOVE_HYPER_BEAM
+ .2byte MOVE_LIGHT_SCREEN
+ .2byte MOVE_PROTECT
+ .2byte MOVE_RAIN_DANCE
+ .2byte MOVE_GIGA_DRAIN
+ .2byte MOVE_SAFEGUARD
+ .2byte MOVE_FRUSTRATION
+ .2byte MOVE_SOLAR_BEAM
+ .2byte MOVE_IRON_TAIL
+ .2byte MOVE_THUNDERBOLT
+ .2byte MOVE_THUNDER
+ .2byte MOVE_EARTHQUAKE
+ .2byte MOVE_RETURN
+ .2byte MOVE_DIG
+ .2byte MOVE_PSYCHIC
+ .2byte MOVE_SHADOW_BALL
+ .2byte MOVE_BRICK_BREAK
+ .2byte MOVE_DOUBLE_TEAM
+ .2byte MOVE_REFLECT
+ .2byte MOVE_SHOCK_WAVE
+ .2byte MOVE_FLAMETHROWER
+ .2byte MOVE_SLUDGE_BOMB
+ .2byte MOVE_SANDSTORM
+ .2byte MOVE_FIRE_BLAST
+ .2byte MOVE_ROCK_TOMB
+ .2byte MOVE_AERIAL_ACE
+ .2byte MOVE_TORMENT
+ .2byte MOVE_FACADE
+ .2byte MOVE_SECRET_POWER
+ .2byte MOVE_REST
+ .2byte MOVE_ATTRACT
+ .2byte MOVE_THIEF
+ .2byte MOVE_STEEL_WING
+ .2byte MOVE_SKILL_SWAP
+ .2byte MOVE_SNATCH
+ .2byte MOVE_OVERHEAT
+ .2byte MOVE_CUT
+ .2byte MOVE_FLY
+ .2byte MOVE_SURF
+ .2byte MOVE_STRENGTH
+ .2byte MOVE_FLASH
+ .2byte MOVE_ROCK_SMASH
+ .2byte MOVE_WATERFALL
+ .2byte MOVE_DIVE
+
+ .4byte gTileBuffer @ unreferenced?
+
+MenuGfx_HoldIcons:
+ .incbin "graphics/interface/hold_icons.4bpp"
+MenuPal_HoldIcons:
+ .incbin "graphics/interface/hold_icons.gbapal"
+
+ .align 2
+gUnknown_083765DC:: @ 83765DC
+ obj_tiles MenuGfx_HoldIcons, 64, 0xd750
+
+ .align 2
+gUnknown_083765E4:: @ 83765E4
+ obj_pal MenuPal_HoldIcons, 0xd750
+
+ .align 2
+gOamData_83765EC:: @ 83765EC
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83765F4:: @ 83765F4
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83765FC:: @ 83765FC
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8376604:: @ 8376604
+ .4byte gSpriteAnim_83765F4
+ .4byte gSpriteAnim_83765FC
+
+ .align 2
+gSpriteTemplate_837660C:: @ 837660C
+ spr_template 55120, 55120, gOamData_83765EC, gSpriteAnimTable_8376604, NULL, gDummySpriteAffineAnimTable, sub_806DD7C
+
+ .align 2
+gUnknown_08376624:: @ 8376624
+ .4byte OtherText_ChoosePoke
+ .4byte OtherText_MovePokeTo
+ .4byte OtherText_TeachWhat
+ .4byte OtherText_UseWhat
+ .4byte OtherText_GiveWhat
+ .4byte OtherText_DoWhat
+ .4byte OtherText_NothingToCut
+ .4byte OtherText_CantSurf
+ .4byte OtherText_AlreadySurfing
+ .4byte OtherText_CantUseThatHere
+ .4byte OtherText_RestoreWhatMove
+ .4byte OtherText_BoostPP
+ .4byte gOtherText_CancelWithTerminator
+ .4byte OtherText_DoWhatWithItem
+ .4byte OtherText_NoPokeForBattle
+ .4byte OtherText_ChoosePoke2
+ .4byte OtherText_NotEnoughHP
+ .4byte OtherText_ThreePokeNeeded
+ .4byte OtherText_PokeCantBeSame
+ .4byte OtherText_NoIdenticalHoldItems
+ .4byte OtherText_TeachWhichPoke
+
+ .align 2
+gUnknown_08376678:: @ 8376678
+ .byte 16, 40, 0, 0
+ .byte 104, 18, 0, 0
+ .byte 104, 42, 0, 0
+ .byte 104, 66, 0, 0
+ .byte 104, 90, 0, 0
+ .byte 104, 114, 0, 0
+ .byte 16, 24, 0, 0
+ .byte 16, 80, 0, 0
+ .byte 104, 18, 0, 0
+ .byte 104, 50, 0, 0
+ .byte 104, 82, 0, 0
+ .byte 104, 114, 0, 0
+ .byte 16, 24, 0, 0
+ .byte 16, 80, 0, 0
+ .byte 104, 26, 0, 0
+ .byte 104, 50, 0, 0
+ .byte 104, 82, 0, 0
+ .byte 104, 106, 0, 0
+ .byte 16, 24, 0, 0
+ .byte 104, 26, 0, 0
+ .byte 104, 50, 0, 0
+ .byte 16, 80, 0, 0
+ .byte 104, 82, 0, 0
+ .byte 104, 106, 0, 0
+ .byte 5, 4, 0, 0
+ .byte 16, 1, 0, 0
+ .byte 16, 4, 0, 0
+ .byte 16, 7, 0, 0
+ .byte 16, 10, 0, 0
+ .byte 16, 13, 0, 0
+ .byte 5, 2, 0, 0
+ .byte 5, 9, 0, 0
+ .byte 16, 1, 0, 0
+ .byte 16, 5, 0, 0
+ .byte 16, 9, 0, 0
+ .byte 16, 13, 0, 0
+ .byte 5, 2, 0, 0
+ .byte 5, 9, 0, 0
+ .byte 16, 2, 0, 0
+ .byte 16, 5, 0, 0
+ .byte 16, 9, 0, 0
+ .byte 16, 12, 0, 0
+ .byte 5, 2, 0, 0
+ .byte 16, 2, 0, 0
+ .byte 16, 5, 0, 0
+ .byte 5, 9, 0, 0
+ .byte 16, 9, 0, 0
+ .byte 16, 12, 0, 0
+
+ .align 2
+gUnknown_08376738:: @ 8376738
+ .byte 6, 5, 0, 0
+ .byte 17, 2, 0, 0
+ .byte 17, 5, 0, 0
+ .byte 17, 8, 0, 0
+ .byte 17, 11, 0, 0
+ .byte 17, 14, 0, 0
+ .byte 6, 3, 0, 0
+ .byte 6, 10, 0, 0
+ .byte 17, 2, 0, 0
+ .byte 17, 6, 0, 0
+ .byte 17, 10, 0, 0
+ .byte 17, 14, 0, 0
+ .byte 6, 3, 0, 0
+ .byte 6, 10, 0, 0
+ .byte 17, 3, 0, 0
+ .byte 17, 6, 0, 0
+ .byte 17, 10, 0, 0
+ .byte 17, 13, 0, 0
+ .byte 6, 3, 0, 0
+ .byte 17, 3, 0, 0
+ .byte 17, 6, 0, 0
+ .byte 6, 10, 0, 0
+ .byte 17, 10, 0, 0
+ .byte 17, 13, 0, 0
+ .byte 3, 7, 0, 0
+ .byte 22, 2, 0, 0
+ .byte 22, 5, 0, 0
+ .byte 22, 8, 0, 0
+ .byte 22, 11, 0, 0
+ .byte 22, 14, 0, 0
+ .byte 3, 5, 0, 0
+ .byte 3, 12, 0, 0
+ .byte 22, 2, 0, 0
+ .byte 22, 6, 0, 0
+ .byte 22, 10, 0, 0
+ .byte 22, 14, 0, 0
+ .byte 3, 5, 0, 0
+ .byte 3, 12, 0, 0
+ .byte 22, 3, 0, 0
+ .byte 22, 6, 0, 0
+ .byte 22, 10, 0, 0
+ .byte 22, 13, 0, 0
+ .byte 3, 5, 0, 0
+ .byte 22, 3, 0, 0
+ .byte 22, 6, 0, 0
+ .byte 3, 12, 0, 0
+ .byte 22, 10, 0, 0
+ .byte 22, 13, 0, 0
+ .byte 7, 7, 0, 0
+ .byte 26, 2, 0, 0
+ .byte 26, 5, 0, 0
+ .byte 26, 8, 0, 0
+ .byte 26, 11, 0, 0
+ .byte 26, 14, 0, 0
+ .byte 7, 5, 0, 0
+ .byte 7, 12, 0, 0
+ .byte 26, 2, 0, 0
+ .byte 26, 6, 0, 0
+ .byte 26, 10, 0, 0
+ .byte 26, 14, 0, 0
+ .byte 7, 5, 0, 0
+ .byte 7, 12, 0, 0
+ .byte 26, 3, 0, 0
+ .byte 26, 6, 0, 0
+ .byte 26, 10, 0, 0
+ .byte 26, 13, 0, 0
+ .byte 7, 5, 0, 0
+ .byte 26, 3, 0, 0
+ .byte 26, 6, 0, 0
+ .byte 7, 12, 0, 0
+ .byte 26, 10, 0, 0
+ .byte 26, 13, 0, 0
+
+ .align 2
+gUnknown_08376858:: @ 8376858
+ .4byte BG_VRAM + 0xF1C8
+ .4byte BG_VRAM + 0xF0AE
+ .4byte BG_VRAM + 0xF16E
+ .4byte BG_VRAM + 0xF22E
+ .4byte BG_VRAM + 0xF2EE
+ .4byte BG_VRAM + 0xF3AE
+ .4byte BG_VRAM + 0xF148
+ .4byte BG_VRAM + 0xF308
+ .4byte BG_VRAM + 0xF0AE
+ .4byte BG_VRAM + 0xF1AE
+ .4byte BG_VRAM + 0xF2AE
+ .4byte BG_VRAM + 0xF3AE
+ .4byte BG_VRAM + 0xF148
+ .4byte BG_VRAM + 0xF308
+ .4byte BG_VRAM + 0xF0EE
+ .4byte BG_VRAM + 0xF1AE
+ .4byte BG_VRAM + 0xF2AE
+ .4byte BG_VRAM + 0xF36E
+ .4byte BG_VRAM + 0xF148
+ .4byte BG_VRAM + 0xF0EE
+ .4byte BG_VRAM + 0xF1AE
+ .4byte BG_VRAM + 0xF308
+ .4byte BG_VRAM + 0xF2AE
+ .4byte BG_VRAM + 0xF36E
+
+ .align 2
+gUnknown_083768B8:: @ 83768B8
+ .byte 8, 44, 0, 0
+ .byte 92, 22, 0, 0
+ .byte 92, 46, 0, 0
+ .byte 92, 70, 0, 0
+ .byte 92, 94, 0, 0
+ .byte 92, 118, 0, 0
+ .byte 196, 136, 0, 0
+ .byte 196, 152, 0, 0
+ .byte 8, 28, 0, 0
+ .byte 8, 84, 0, 0
+ .byte 92, 22, 0, 0
+ .byte 92, 54, 0, 0
+ .byte 92, 86, 0, 0
+ .byte 92, 118, 0, 0
+ .byte 196, 136, 0, 0
+ .byte 196, 152, 0, 0
+ .byte 8, 28, 0, 0
+ .byte 8, 84, 0, 0
+ .byte 92, 30, 0, 0
+ .byte 92, 54, 0, 0
+ .byte 92, 86, 0, 0
+ .byte 92, 110, 0, 0
+ .byte 196, 136, 0, 0
+ .byte 196, 152, 0, 0
+
+ .align 2
+gUnknown_08376918:: @ 8376918
+ .4byte BG_VRAM + 0xF1C6
+ .4byte BG_VRAM + 0xF06C
+ .4byte BG_VRAM + 0xF12C
+ .4byte BG_VRAM + 0xF1EC
+ .4byte BG_VRAM + 0xF2AC
+ .4byte BG_VRAM + 0xF36C
+ .4byte BG_VRAM + 0xF148
+ .4byte BG_VRAM + 0xF308
+ .4byte BG_VRAM + 0xF0AE
+ .4byte BG_VRAM + 0xF1AE
+ .4byte BG_VRAM + 0xF2AE
+ .4byte BG_VRAM + 0xF3AE
+
+ .align 2
+gUnknown_08376948:: @ 8376948
+ .byte 2, 4, 10, 9
+ .byte 16, 1, 29, 3
+ .byte 16, 4, 29, 6
+ .byte 16, 7, 29, 9
+ .byte 16, 10, 29, 12
+ .byte 16, 13, 29, 15
+ .byte 2, 2, 10, 7
+ .byte 2, 9, 10, 14
+ .byte 16, 1, 29, 3
+ .byte 16, 5, 29, 7
+ .byte 16, 9, 29, 11
+ .byte 16, 13, 29, 15
+
+ .align 2
+gUnknown_08376978:: @ 8376978
+ .byte 2, 7, 10, 9
+ .byte 21, 1, 29, 3
+ .byte 21, 4, 29, 6
+ .byte 21, 7, 29, 9
+ .byte 21, 10, 29, 12
+ .byte 21, 13, 29, 15
+ .byte 2, 2, 10, 7
+ .byte 2, 9, 10, 14
+ .byte 16, 1, 29, 3
+ .byte 16, 5, 29, 7
+ .byte 16, 9, 29, 11
+ .byte 16, 13, 29, 15
+
+ .align 2
+gUnknown_083769A8:: @ 83769A8
+ .byte 0, 3
+ .byte 11, 1
+ .byte 11, 4
+ .byte 11, 7
+ .byte 11, 10
+ .byte 11, 13
+ .byte 0, 1
+ .byte 0, 8
+ .byte 11, 1
+ .byte 11, 5
+ .byte 11, 9
+ .byte 11, 13
+
+ .align 2
+gUnknown_083769C0:: @ 83769C0
+ .byte 0, 1
+ .byte 0, 8
+ .byte 11, 2
+ .byte 11, 5
+ .byte 11, 9
+ .byte 11, 12
+ .byte 0, 1
+ .byte 0, 8
+ .byte 11, 2
+ .byte 11, 5
+ .byte 11, 9
+ .byte 11, 12
+
+gUnknown_083769D8:: @ 83769D8
+ .byte 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27
+ .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
+ .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
+ .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
+ .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47
+ .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47
+ .byte 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57
+
+gUnknown_08376A25:: @ 8376A25
+ .byte 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53
+ .byte 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63
+ .byte 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73
+
+gUnknown_08376A5E:: @ 8376A5E
+ .byte 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23
+ .byte 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33
+ .byte 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43
+
+@ unknown, unreferenced data
+ .byte 0x0C
+ .byte 0x0D
+ .byte 0x0E
+ .byte 0x0F
+ .byte 0x00
+ .byte 0x01
+ .byte 0x02
+ .byte 0x03
+ .byte 0x04
+ .byte 0x05
+ .byte 0x0F
+ .byte 0x10
+ .byte 0x11
+ .byte 0x12
+ .byte 0x13
+ .byte 0x14
+ .byte 0x15
+ .byte 0x0F
+ .byte 0x06
+ .byte 0x05
+ .byte 0x01
+ .byte 0x07
+ .byte 0x08
+ .byte 0x09
+ .byte 0x0F
+ .byte 0x16
+ .byte 0x15
+ .byte 0x11
+ .byte 0x17
+ .byte 0x18
+ .byte 0x19
+ .byte 0x0F
+ .byte 0x09
+ .byte 0x0A
+ .byte 0x0B
+ .byte 0x05
+ .byte 0x0C
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x19
+ .byte 0x1A
+ .byte 0x1B
+ .byte 0x15
+ .byte 0x1C
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0D
+ .byte 0x0B
+ .byte 0x05
+ .byte 0x0C
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x1D
+ .byte 0x1B
+ .byte 0x15
+ .byte 0x1C
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x06
+ .byte 0x05
+ .byte 0x0B
+ .byte 0x05
+ .byte 0x0C
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x16
+ .byte 0x15
+ .byte 0x1B
+ .byte 0x15
+ .byte 0x1C
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x20
+ .byte 0x0C
+ .byte 0x09
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x1F
+ .byte 0x30
+ .byte 0x1C
+ .byte 0x19
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x25
+ .byte 0x0F
+ .byte 0x22
+ .byte 0x24
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x35
+ .byte 0x41
+ .byte 0x32
+ .byte 0x34
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x26
+ .byte 0x0F
+ .byte 0x23
+ .byte 0x0E
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x36
+ .byte 0x43
+ .byte 0x33
+ .byte 0x1E
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x27
+ .byte 0x28
+ .byte 0x29
+ .byte 0x03
+ .byte 0x2A
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x37
+ .byte 0x38
+ .byte 0x39
+ .byte 0x13
+ .byte 0x3A
+ .byte 0x0F
+ .byte 0x0F
+ .byte 0x27
+ .byte 0x28
+ .byte 0x29
+ .byte 0x03
+ .byte 0x04
+ .byte 0x05
+ .byte 0x0F
+ .byte 0x37
+ .byte 0x38
+ .byte 0x39
+ .byte 0x13
+ .byte 0x14
+ .byte 0x15
+ .byte 0x0F
+ .byte 0x2B
+ .byte 0x2C
+ .byte 0x02
+ .byte 0x28
+ .byte 0x29
+ .byte 0x2D
+ .byte 0x21
+ .byte 0x3B
+ .byte 0x3C
+ .byte 0x12
+ .byte 0x38
+ .byte 0x39
+ .byte 0x3D
+ .byte 0x31
+ .byte 0x2B
+ .byte 0x2C
+ .byte 0x02
+ .byte 0x28
+ .byte 0x29
+ .byte 0x08
+ .byte 0x09
+ .byte 0x3B
+ .byte 0x3C
+ .byte 0x12
+ .byte 0x38
+ .byte 0x39
+ .byte 0x18
+ .byte 0x19
+ .byte 0x2E
+ .byte 0x2F
+ .byte 0x2B
+ .byte 0x2C
+ .byte 0x02
+ .byte 0x27
+ .byte 0x2D
+ .byte 0x3E
+ .byte 0x3F
+ .byte 0x3B
+ .byte 0x3C
+ .byte 0x12
+ .byte 0x45
+ .byte 0x3D
+
+ .align 2
+gUnknown_08376B54:: @ 8376B54
+ .4byte ether_effect_related_2
+ .4byte sub_80704F0
+
+ .align 1
+Unknown_08376B5C:
+ .2byte 0x4000, 0x4018, 0xF400
+ .2byte 0x4000, 0x4038, 0xF404
+ .2byte 0x4008, 0x4018, 0xF408
+ .2byte 0x4008, 0x4038, 0xF40C
+ .2byte 0x4010, 0x4020, 0xF410
+ .2byte 0x4020, 0x4025, 0xF418
+ .2byte 0x4020, 0x4045, 0xF41C
+ .2byte -1
+
+ .align 1
+Unknown_08376B88:
+ .2byte 0x4000, 0x4018, 0xF400
+ .2byte 0x4000, 0x4038, 0xF404
+ .2byte 0x4008, 0x4018, 0xF408
+ .2byte 0x4008, 0x4038, 0xF40C
+ .2byte 0x4010, 0x4020, 0xF410
+ .2byte 0x4010, 0x4065, 0xF418
+ .2byte 0x4010, 0x4085, 0xF41C
+ .2byte -1
+
+ .align 2
+gUnknown_08376BB4:: @ 8376BB4
+ .byte 0x1, 0x4
+ .space 2
+ .4byte Unknown_08376B5C
+
+ .byte 0xC, 0x1
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0x4
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0x7
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0xA
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0xD
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0x1, 0x2
+ .space 2
+ .4byte Unknown_08376B5C
+
+ .byte 0x1, 0x9
+ .space 2
+ .4byte Unknown_08376B5C
+
+ .byte 0xC, 0x1
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0x5
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0x9
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0xD
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0x1, 0x2
+ .space 2
+ .4byte Unknown_08376B5C
+
+ .byte 0x1, 0x9
+ .space 2
+ .4byte Unknown_08376B5C
+
+ .byte 0xC, 0x2
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0x5
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0x9
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0xC
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0x1, 0x2
+ .space 2
+ .4byte Unknown_08376B5C
+
+ .byte 0xC, 0x2
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0x5
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0x1, 0x9
+ .space 2
+ .4byte Unknown_08376B5C
+
+ .byte 0xC, 0x9
+ .space 2
+ .4byte Unknown_08376B88
+
+ .byte 0xC, 0xC
+ .space 2
+ .4byte Unknown_08376B88
+
+ .align 2
+gUnknown_08376C74:: @ 8376C74
+ .4byte sub_8089CD4, sub_806AFD0, 0
+ .4byte sub_8095118, sub_8094E58, 0
+ .4byte sub_80F9C6C, sub_80F9ACC, 0
+ .4byte sub_80F9C6C, sub_806AFD0, 0
+ .4byte sub_81222B0, sub_8121E78, 0
+ .4byte sub_8122A48, sub_8122854, 0xFF
+ .4byte sub_8122E0C, sub_806AFD0, 0x0F
+ .4byte sub_80F9E64, sub_80F9CE8, 0
+
+ .align 2
+gUnknown_08376CD4:: @ 8376CD4
+ .2byte 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F
+ .2byte 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F
+
+ .align 2
+gUnknown_08376CEC:: @ 8376CEC
+ .2byte 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F
+ .2byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
+
+ .align 2
+gUnknown_08376D04:: @ 8376D04
+ .4byte gOtherText_HP
+ .4byte gOtherText_Attack
+ .4byte gOtherText_Defense
+ .4byte gOtherText_SpAtk
+ .4byte gOtherText_SpDef
+ .4byte gOtherText_Speed
+
+gUnknown_08376D1C:: @ 8376D1C
+ .byte 0x3A @ HP
+ .byte 0x3B @ Attack
+ .byte 0x3C @ Defense
+ .byte 0x3E @ Sp. Attack
+ .byte 0x3F @ Sp. Defense
+ .byte 0x3D @ Speed
+
+ .align 2
+gStartMenuItems:: @ 8376D24
+ .4byte SystemText_Pokedex, StartMenu_PokedexCallback
+ .4byte SystemText_Pokemon, StartMenu_PokemonCallback
+ .4byte SystemText_BAG, StartMenu_BagCallback
+ .4byte SystemText_Pokenav, StartMenu_PokenavCallback
+ .4byte SystemText_Player, StartMenu_PlayerCallback
+ .4byte SystemText_Save, StartMenu_SaveCallback
+ .4byte SystemText_Option, StartMenu_OptionCallback
+ .4byte SystemText_Exit, StartMenu_ExitCallback
+ .4byte SystemText_Retire, StartMenu_RetireCallback
+ .4byte SystemText_Player, StartMenu_PlayerLinkCallback
+
+ .align 2
+gUnknown_08376D74:: @ 8376D74
+ .4byte OtherText_Yes, 0
+ .4byte OtherText_No, 0
+
+ .align 2
+TilesetAnimTiles_General_0_1: @ 8376D84
+ .incbin "data/tilesets/primary/general/anim/0/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_0_0: @ 8376E04
+ .incbin "data/tilesets/primary/general/anim/0/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_0_2: @ 8376E84
+ .incbin "data/tilesets/primary/general/anim/0/2.4bpp"
+
+ .space 32
+
+ .align 2
+gTilesetAnimTable_General_0:: @ 8376F24
+ .4byte TilesetAnimTiles_General_0_0
+ .4byte TilesetAnimTiles_General_0_1
+ .4byte TilesetAnimTiles_General_0_0
+ .4byte TilesetAnimTiles_General_0_2
+
+ .align 2
+TilesetAnimTiles_General_1_0: @ 8376F34
+ .incbin "data/tilesets/primary/general/anim/1/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_1_1: @ 83772F4
+ .incbin "data/tilesets/primary/general/anim/1/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_1_2: @ 83776B4
+ .incbin "data/tilesets/primary/general/anim/1/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_1_3: @ 8377A74
+ .incbin "data/tilesets/primary/general/anim/1/3.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_1_4: @ 8377E34
+ .incbin "data/tilesets/primary/general/anim/1/4.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_1_5: @ 83781F4
+ .incbin "data/tilesets/primary/general/anim/1/5.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_1_6: @ 83785B4
+ .incbin "data/tilesets/primary/general/anim/1/6.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_1_7: @ 8378974
+ .incbin "data/tilesets/primary/general/anim/1/7.4bpp"
+
+ .align 2
+gTilesetAnimTable_General_1:: @ 8378D34
+ .4byte TilesetAnimTiles_General_1_0
+ .4byte TilesetAnimTiles_General_1_1
+ .4byte TilesetAnimTiles_General_1_2
+ .4byte TilesetAnimTiles_General_1_3
+ .4byte TilesetAnimTiles_General_1_4
+ .4byte TilesetAnimTiles_General_1_5
+ .4byte TilesetAnimTiles_General_1_6
+ .4byte TilesetAnimTiles_General_1_7
+
+ .align 2
+TilesetAnimTiles_General_2_0: @ 8378D54
+ .incbin "data/tilesets/primary/general/anim/2/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_2_1: @ 8378E94
+ .incbin "data/tilesets/primary/general/anim/2/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_2_2: @ 8378FD4
+ .incbin "data/tilesets/primary/general/anim/2/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_2_3: @ 8379114
+ .incbin "data/tilesets/primary/general/anim/2/3.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_2_4: @ 8379254
+ .incbin "data/tilesets/primary/general/anim/2/4.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_2_5: @ 8379394
+ .incbin "data/tilesets/primary/general/anim/2/5.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_2_6: @ 83794D4
+ .incbin "data/tilesets/primary/general/anim/2/6.4bpp"
+
+ .align 2
+gTilesetAnimTable_General_2:: @ 8379614
+ .4byte TilesetAnimTiles_General_2_0
+ .4byte TilesetAnimTiles_General_2_1
+ .4byte TilesetAnimTiles_General_2_2
+ .4byte TilesetAnimTiles_General_2_3
+ .4byte TilesetAnimTiles_General_2_4
+ .4byte TilesetAnimTiles_General_2_5
+ .4byte TilesetAnimTiles_General_2_6
+ .4byte TilesetAnimTiles_General_2_0
+
+ .align 2
+TilesetAnimTiles_General_3_0: @ 8379634
+ .incbin "data/tilesets/primary/general/anim/3/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_3_1: @ 83796F4
+ .incbin "data/tilesets/primary/general/anim/3/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_3_2: @ 83797B4
+ .incbin "data/tilesets/primary/general/anim/3/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_3_3: @ 8379874
+ .incbin "data/tilesets/primary/general/anim/3/3.4bpp"
+
+ .align 2
+gTilesetAnimTable_General_3:: @ 8379934
+ .4byte TilesetAnimTiles_General_3_0
+ .4byte TilesetAnimTiles_General_3_1
+ .4byte TilesetAnimTiles_General_3_2
+ .4byte TilesetAnimTiles_General_3_3
+
+ .align 2
+TilesetAnimTiles_General_4_0: @ 8379944
+ .incbin "data/tilesets/primary/general/anim/4/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_4_1: @ 8379A84
+ .incbin "data/tilesets/primary/general/anim/4/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_4_2: @ 8379BC4
+ .incbin "data/tilesets/primary/general/anim/4/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_General_4_3: @ 8379D04
+ .incbin "data/tilesets/primary/general/anim/4/3.4bpp"
+
+ .align 2
+gTilesetAnimTable_General_4:: @ 8379E44
+ .4byte TilesetAnimTiles_General_4_0
+ .4byte TilesetAnimTiles_General_4_1
+ .4byte TilesetAnimTiles_General_4_2
+ .4byte TilesetAnimTiles_General_4_3
+
+ .align 2
+TilesetAnimTiles_Lavaridge_0: @ 8379E54
+ .incbin "data/tilesets/secondary/lavaridge/anim/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Lavaridge_1: @ 8379ED4
+ .incbin "data/tilesets/secondary/lavaridge/anim/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Lavaridge_2: @ 8379F54
+ .incbin "data/tilesets/secondary/lavaridge/anim/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_Lavaridge_3: @ 8379FD4
+ .incbin "data/tilesets/secondary/lavaridge/anim/3.4bpp"
+
+ .align 2
+gTilesetAnimTable_Lavaridge:: @ 837A054
+ .4byte TilesetAnimTiles_Lavaridge_0
+ .4byte TilesetAnimTiles_Lavaridge_1
+ .4byte TilesetAnimTiles_Lavaridge_2
+ .4byte TilesetAnimTiles_Lavaridge_3
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_0_0: @ 837A064
+ .incbin "data/tilesets/secondary/pacifidlog/anim/0/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_0_1: @ 837A424
+ .incbin "data/tilesets/secondary/pacifidlog/anim/0/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_0_2: @ 837A7E4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/0/2.4bpp"
+
+ .align 2
+gTilesetAnimTable_Pacifidlog_0:: @ 837ABA4
+ .4byte TilesetAnimTiles_Pacifidlog_0_0
+ .4byte TilesetAnimTiles_Pacifidlog_0_1
+ .4byte TilesetAnimTiles_Pacifidlog_0_2
+ .4byte TilesetAnimTiles_Pacifidlog_0_1
+
+ .align 2
+TilesetAnimTiles_Underwater_0: @ 837ABB4
+ .incbin "data/tilesets/secondary/underwater/anim/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Underwater_1: @ 837AC34
+ .incbin "data/tilesets/secondary/underwater/anim/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Underwater_2: @ 837ACB4
+ .incbin "data/tilesets/secondary/underwater/anim/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_Underwater_3: @ 837AD34
+ .incbin "data/tilesets/secondary/underwater/anim/3.4bpp"
+
+ .align 2
+gTilesetAnimTable_Underwater:: @ 837ADB4
+ .4byte TilesetAnimTiles_Underwater_0
+ .4byte TilesetAnimTiles_Underwater_1
+ .4byte TilesetAnimTiles_Underwater_2
+ .4byte TilesetAnimTiles_Underwater_3
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_0: @ 837ADC4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_1: @ 837AEC4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_2: @ 837AFC4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_3: @ 837B0C4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_4: @ 837B1C4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_5: @ 837B2C4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_6: @ 837B3C4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"
+
+ .align 2
+TilesetAnimTiles_Pacifidlog_1_7: @ 837B4C4
+ .incbin "data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"
+
+ .align 2
+gTilesetAnimTable_Pacifidlog_1:: @ 837B5C4
+ .4byte TilesetAnimTiles_Pacifidlog_1_0
+ .4byte TilesetAnimTiles_Pacifidlog_1_1
+ .4byte TilesetAnimTiles_Pacifidlog_1_2
+ .4byte TilesetAnimTiles_Pacifidlog_1_3
+ .4byte TilesetAnimTiles_Pacifidlog_1_4
+ .4byte TilesetAnimTiles_Pacifidlog_1_5
+ .4byte TilesetAnimTiles_Pacifidlog_1_6
+ .4byte TilesetAnimTiles_Pacifidlog_1_7
+
+ .align 2
+TilesetAnimTiles_Mauville_0_0: @ 837B5E4
+ .incbin "data/tilesets/secondary/mauville/anim/0/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_0_1: @ 837B664
+ .incbin "data/tilesets/secondary/mauville/anim/0/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_0_2: @ 837B6E4
+ .incbin "data/tilesets/secondary/mauville/anim/0/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_0_3: @ 837B764
+ .incbin "data/tilesets/secondary/mauville/anim/0/3.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_0_4: @ 837B7E4
+ .incbin "data/tilesets/secondary/mauville/anim/0/4.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_1_0: @ 837B864
+ .incbin "data/tilesets/secondary/mauville/anim/1/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_1_1: @ 837B8E4
+ .incbin "data/tilesets/secondary/mauville/anim/1/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_1_2: @ 837B964
+ .incbin "data/tilesets/secondary/mauville/anim/1/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_1_3: @ 837B9E4
+ .incbin "data/tilesets/secondary/mauville/anim/1/3.4bpp"
+
+ .align 2
+TilesetAnimTiles_Mauville_1_4: @ 837BA64
+ .incbin "data/tilesets/secondary/mauville/anim/1/4.4bpp"
+
+ .align 2
+gUnknown_0837BAE4:: @ 837BAE4
+ .4byte 0x06004C00
+ .4byte 0x06004C80
+ .4byte 0x06004D00
+ .4byte 0x06004D80
+ .4byte 0x06004E00
+ .4byte 0x06004E80
+ .4byte 0x06004F00
+ .4byte 0x06004F80
+
+ .align 2
+gUnknown_0837BB04:: @ 837BB04
+ .4byte 0x06005000
+ .4byte 0x06005080
+ .4byte 0x06005100
+ .4byte 0x06005180
+ .4byte 0x06005200
+ .4byte 0x06005280
+ .4byte 0x06005300
+ .4byte 0x06005380
+
+ .align 2
+gTilesetAnimTable_Mauville_0A:: @ 837BB24
+ .4byte TilesetAnimTiles_Mauville_0_0
+ .4byte TilesetAnimTiles_Mauville_0_0
+ .4byte TilesetAnimTiles_Mauville_0_1
+ .4byte TilesetAnimTiles_Mauville_0_2
+ .4byte TilesetAnimTiles_Mauville_0_3
+ .4byte TilesetAnimTiles_Mauville_0_3
+ .4byte TilesetAnimTiles_Mauville_0_3
+ .4byte TilesetAnimTiles_Mauville_0_3
+ .4byte TilesetAnimTiles_Mauville_0_3
+ .4byte TilesetAnimTiles_Mauville_0_3
+ .4byte TilesetAnimTiles_Mauville_0_2
+ .4byte TilesetAnimTiles_Mauville_0_1
+
+ .align 2
+gTilesetAnimTable_Mauville_1A:: @ 837BB54
+ .4byte TilesetAnimTiles_Mauville_1_0
+ .4byte TilesetAnimTiles_Mauville_1_0
+ .4byte TilesetAnimTiles_Mauville_1_1
+ .4byte TilesetAnimTiles_Mauville_1_2
+ .4byte TilesetAnimTiles_Mauville_1_3
+ .4byte TilesetAnimTiles_Mauville_1_3
+ .4byte TilesetAnimTiles_Mauville_1_3
+ .4byte TilesetAnimTiles_Mauville_1_3
+ .4byte TilesetAnimTiles_Mauville_1_3
+ .4byte TilesetAnimTiles_Mauville_1_3
+ .4byte TilesetAnimTiles_Mauville_1_2
+ .4byte TilesetAnimTiles_Mauville_1_1
+
+ .align 2
+gTilesetAnimTable_Mauville_0B:: @ 837BB84
+ .4byte TilesetAnimTiles_Mauville_0_0
+ .4byte TilesetAnimTiles_Mauville_0_0
+ .4byte TilesetAnimTiles_Mauville_0_4
+ .4byte TilesetAnimTiles_Mauville_0_4
+
+ .align 2
+gTilesetAnimTable_Mauville_1B:: @ 837BB94
+ .4byte TilesetAnimTiles_Mauville_1_0
+ .4byte TilesetAnimTiles_Mauville_1_0
+ .4byte TilesetAnimTiles_Mauville_1_4
+ .4byte TilesetAnimTiles_Mauville_1_4
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_0: @ 837BBA4
+ .incbin "data/tilesets/secondary/rustboro/anim/0/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_1: @ 837BC24
+ .incbin "data/tilesets/secondary/rustboro/anim/0/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_2: @ 837BCA4
+ .incbin "data/tilesets/secondary/rustboro/anim/0/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_3: @ 837BD24
+ .incbin "data/tilesets/secondary/rustboro/anim/0/3.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_4: @ 837BDA4
+ .incbin "data/tilesets/secondary/rustboro/anim/0/4.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_5: @ 837BE24
+ .incbin "data/tilesets/secondary/rustboro/anim/0/5.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_6: @ 837BEA4
+ .incbin "data/tilesets/secondary/rustboro/anim/0/6.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_0_7: @ 837BF24
+ .incbin "data/tilesets/secondary/rustboro/anim/0/7.4bpp"
+
+ .align 2
+gUnknown_0837BFA4:: @ 837BFA4
+ .4byte 0x06005000
+ .4byte 0x06005080
+ .4byte 0x06005100
+ .4byte 0x06005180
+ .4byte 0x06005200
+ .4byte 0x06005280
+ .4byte 0x06005300
+ .4byte 0x06005380
+
+ .align 2
+gTilesetAnimTable_Rustboro_0:: @ 837BFC4
+ .4byte TilesetAnimTiles_Rustboro_0_0
+ .4byte TilesetAnimTiles_Rustboro_0_1
+ .4byte TilesetAnimTiles_Rustboro_0_2
+ .4byte TilesetAnimTiles_Rustboro_0_3
+ .4byte TilesetAnimTiles_Rustboro_0_4
+ .4byte TilesetAnimTiles_Rustboro_0_5
+ .4byte TilesetAnimTiles_Rustboro_0_6
+ .4byte TilesetAnimTiles_Rustboro_0_7
+
+ .align 2
+TilesetAnimTiles_Rustboro_1_0: @ 837BFE4
+ .incbin "data/tilesets/secondary/rustboro/anim/1/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Rustboro_1_1: @ 837C064
+ .incbin "data/tilesets/secondary/rustboro/anim/1/1.4bpp"
+
+ .align 2
+gTilesetAnimTable_Rustboro_1:: @ 837C0E4
+ .4byte TilesetAnimTiles_Rustboro_1_0
+ .4byte TilesetAnimTiles_Rustboro_1_1
+
+ .align 2
+TilesetAnimTiles_Cave_0: @ 837C0EC
+ .incbin "data/tilesets/secondary/cave/anim/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Cave_1: @ 837C16C
+ .incbin "data/tilesets/secondary/cave/anim/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_Cave_2: @ 837C1EC
+ .incbin "data/tilesets/secondary/cave/anim/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_Cave_3: @ 837C26C
+ .incbin "data/tilesets/secondary/cave/anim/3.4bpp"
+
+ .incbin "data/tilesets/secondary/cave/anim/unused/0.4bpp"
+ .incbin "data/tilesets/secondary/cave/anim/unused/1.4bpp"
+ .incbin "data/tilesets/secondary/cave/anim/unused/2.4bpp"
+ .incbin "data/tilesets/secondary/cave/anim/unused/3.4bpp"
+
+ .space 32
+
+ .align 2
+gTilesetAnimTable_Cave:: @ 837C50C
+ .4byte TilesetAnimTiles_Cave_0
+ .4byte TilesetAnimTiles_Cave_1
+ .4byte TilesetAnimTiles_Cave_2
+ .4byte TilesetAnimTiles_Cave_3
+
+ .align 2
+TilesetAnimTiles_EverGrande_0: @ 837C51C
+ .incbin "data/tilesets/secondary/ever_grande/anim/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_EverGrande_1: @ 837C59C
+ .incbin "data/tilesets/secondary/ever_grande/anim/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_EverGrande_2: @ 837C61C
+ .incbin "data/tilesets/secondary/ever_grande/anim/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_EverGrande_3: @ 837C69C
+ .incbin "data/tilesets/secondary/ever_grande/anim/3.4bpp"
+
+ .align 2
+TilesetAnimTiles_EverGrande_4: @ 837C71C
+ .incbin "data/tilesets/secondary/ever_grande/anim/4.4bpp"
+
+ .align 2
+TilesetAnimTiles_EverGrande_5: @ 837C79C
+ .incbin "data/tilesets/secondary/ever_grande/anim/5.4bpp"
+
+ .align 2
+TilesetAnimTiles_EverGrande_6: @ 837C81C
+ .incbin "data/tilesets/secondary/ever_grande/anim/6.4bpp"
+
+ .align 2
+TilesetAnimTiles_EverGrande_7: @ 837C89C
+ .incbin "data/tilesets/secondary/ever_grande/anim/7.4bpp"
+
+ .space 32
+
+ .align 2
+gUnknown_0837C93C:: @ 837C93C
+ .4byte 0x06005C00
+ .4byte 0x06005C80
+ .4byte 0x06005D00
+ .4byte 0x06005D80
+ .4byte 0x06005E00
+ .4byte 0x06005E80
+ .4byte 0x06005F00
+ .4byte 0x06005F80
+
+ .align 2
+gTilesetAnimTable_EverGrande:: @ 837C95C
+ .4byte TilesetAnimTiles_EverGrande_0
+ .4byte TilesetAnimTiles_EverGrande_1
+ .4byte TilesetAnimTiles_EverGrande_2
+ .4byte TilesetAnimTiles_EverGrande_3
+ .4byte TilesetAnimTiles_EverGrande_4
+ .4byte TilesetAnimTiles_EverGrande_5
+ .4byte TilesetAnimTiles_EverGrande_6
+ .4byte TilesetAnimTiles_EverGrande_7
+
+ .align 2
+TilesetAnimTiles_Building_0: @ 837C97C
+ .incbin "data/tilesets/primary/building/anim/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_Building_1: @ 837C9FC
+ .incbin "data/tilesets/primary/building/anim/1.4bpp"
+
+ .align 2
+gTilesetAnimTable_Building:: @ 837CA7C
+ .4byte TilesetAnimTiles_Building_0
+ .4byte TilesetAnimTiles_Building_1
+
+ .align 2
+TilesetAnimTiles_SootopolisGym_0_0: @ 837CA84
+ .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_SootopolisGym_0_1: @ 837CC04
+ .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_SootopolisGym_0_2: @ 837CD84
+ .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_SootopolisGym_1_0: @ 837CF04
+ .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_SootopolisGym_1_1: @ 837D184
+ .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_SootopolisGym_1_2: @ 837D404
+ .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp"
+
+ .align 2
+gTilesetAnimTable_SootopolisGym_0:: @ 837D684
+ .4byte TilesetAnimTiles_SootopolisGym_0_0
+ .4byte TilesetAnimTiles_SootopolisGym_0_1
+ .4byte TilesetAnimTiles_SootopolisGym_0_2
+
+ .align 2
+gTilesetAnimTable_SootopolisGym_1:: @ 837D690
+ .4byte TilesetAnimTiles_SootopolisGym_1_0
+ .4byte TilesetAnimTiles_SootopolisGym_1_1
+ .4byte TilesetAnimTiles_SootopolisGym_1_2
+
+ .align 2
+TilesetAnimTiles_EliteFour_1_0: @ 837D69C
+ .incbin "data/tilesets/secondary/elite_four/anim/1/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_EliteFour_1_1: @ 837D71C
+ .incbin "data/tilesets/secondary/elite_four/anim/1/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_EliteFour_0_0: @ 837D79C
+ .incbin "data/tilesets/secondary/elite_four/anim/0/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_EliteFour_0_1: @ 837D7BC
+ .incbin "data/tilesets/secondary/elite_four/anim/0/1.4bpp"
+
+ .align 2
+TilesetAnimTiles_EliteFour_0_2: @ 837D7DC
+ .incbin "data/tilesets/secondary/elite_four/anim/0/2.4bpp"
+
+ .align 2
+TilesetAnimTiles_EliteFour_0_3: @ 837D7FC
+ .incbin "data/tilesets/secondary/elite_four/anim/0/3.4bpp"
+
+ .space 32
+
+ .align 2
+gTilesetAnimTable_EliteFour_0:: @ 837D83C
+ .4byte TilesetAnimTiles_EliteFour_0_0
+ .4byte TilesetAnimTiles_EliteFour_0_1
+ .4byte TilesetAnimTiles_EliteFour_0_2
+ .4byte TilesetAnimTiles_EliteFour_0_3
+
+ .align 2
+gTilesetAnimTable_EliteFour_1:: @ 837D84C
+ .4byte TilesetAnimTiles_EliteFour_1_0
+ .4byte TilesetAnimTiles_EliteFour_1_1
+
+ .align 2
+TilesetAnimTiles_MauvilleGym_0: @ 837D854
+ .incbin "data/tilesets/secondary/mauville_gym/anim/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_MauvilleGym_1: @ 837DA54
+ .incbin "data/tilesets/secondary/mauville_gym/anim/1.4bpp"
+
+ .space 32
+
+ .align 2
+gTilesetAnimTable_MauvilleGym:: @ 837DC74
+ .4byte TilesetAnimTiles_MauvilleGym_0
+ .4byte TilesetAnimTiles_MauvilleGym_1
+
+ .align 2
+TilesetAnimTiles_BikeShop_0: @ 837DC7C
+ .incbin "data/tilesets/secondary/bike_shop/anim/0.4bpp"
+
+ .align 2
+TilesetAnimTiles_BikeShop_1: @ 837DD9C
+ .incbin "data/tilesets/secondary/bike_shop/anim/1.4bpp"
+
+ .space 32
+
+ .align 2
+gTilesetAnimTable_BikeShop:: @ 837DEDC
+ .4byte TilesetAnimTiles_BikeShop_0
+ .4byte TilesetAnimTiles_BikeShop_1
+
+ .align 2
+gDummyPaletteStructTemplate:: @ 837DEE4
+ .2byte 0xFFFF
+ .space 9
+ .byte 0x20
+ .space 4
+
+ .align 2
+gFanfares:: @ 837DEF4
+ .2byte BGM_FANFA1, 80
+ .2byte BGM_FANFA4, 160
+ .2byte BGM_FANFA5, 220
+ .2byte BGM_ME_WAZA, 220
+ .2byte BGM_ME_ASA, 160
+ .2byte BGM_ME_BACHI, 340
+ .2byte BGM_ME_WASURE, 180
+ .2byte BGM_ME_KINOMI, 120
+ .2byte BGM_ME_TAMA, 710
+ .2byte BGM_ME_B_BIG, 250
+ .2byte BGM_ME_B_SMALL, 150
+ .2byte BGM_ME_ZANNEN, 160
+
+ .align 2
+gOamData_837DF24:: @ 837DF24
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF2C:: @ 837DF2C
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF34:: @ 837DF34
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF3C:: @ 837DF3C
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF44:: @ 837DF44
+ .2byte 0x4000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF4C:: @ 837DF4C
+ .2byte 0x4000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF54:: @ 837DF54
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF5C:: @ 837DF5C
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF64:: @ 837DF64
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF6C:: @ 837DF6C
+ .2byte 0x8000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF74:: @ 837DF74
+ .2byte 0x8000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF7C:: @ 837DF7C
+ .2byte 0x8000
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF84:: @ 837DF84
+ .2byte 0x0100
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF8C:: @ 837DF8C
+ .2byte 0x0100
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF94:: @ 837DF94
+ .2byte 0x0100
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DF9C:: @ 837DF9C
+ .2byte 0x0100
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFA4:: @ 837DFA4
+ .2byte 0x4100
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFAC:: @ 837DFAC
+ .2byte 0x4100
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFB4:: @ 837DFB4
+ .2byte 0x4100
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFBC:: @ 837DFBC
+ .2byte 0x4100
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFC4:: @ 837DFC4
+ .2byte 0x8100
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFCC:: @ 837DFCC
+ .2byte 0x8100
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFD4:: @ 837DFD4
+ .2byte 0x8100
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFDC:: @ 837DFDC
+ .2byte 0x8100
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFE4:: @ 837DFE4
+ .2byte 0x0300
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFEC:: @ 837DFEC
+ .2byte 0x0300
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFF4:: @ 837DFF4
+ .2byte 0x0300
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837DFFC:: @ 837DFFC
+ .2byte 0x0300
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837D004:: @ 837D004
+ .2byte 0x4300
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837D00C:: @ 837D00C
+ .2byte 0x4300
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E014:: @ 837E014
+ .2byte 0x4300
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E01C:: @ 837E01C
+ .2byte 0x4300
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E024:: @ 837E024
+ .2byte 0x8300
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E02C:: @ 837E02C
+ .2byte 0x8300
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E034:: @ 837E034
+ .2byte 0x8300
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E03C:: @ 837E03C
+ .2byte 0x8300
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E044:: @ 837E044
+ .2byte 0x0400
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E04C:: @ 837E04C
+ .2byte 0x0400
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E054:: @ 837E054
+ .2byte 0x0400
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E05C:: @ 837E05C
+ .2byte 0x0400
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E064:: @ 837E064
+ .2byte 0x4400
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E06C:: @ 837E06C
+ .2byte 0x4400
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E074:: @ 837E074
+ .2byte 0x4400
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E07C:: @ 837E07C
+ .2byte 0x4400
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E084:: @ 837E084
+ .2byte 0x8400
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E08C:: @ 837E08C
+ .2byte 0x8400
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E094:: @ 837E094
+ .2byte 0x8400
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E09C:: @ 837E09C
+ .2byte 0x8400
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0A4:: @ 837E0A4
+ .2byte 0x0500
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0AC:: @ 837E0AC
+ .2byte 0x0500
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0B4:: @ 837E0B4
+ .2byte 0x0500
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0BC:: @ 837E0BC
+ .2byte 0x0500
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0C4:: @ 837E0C4
+ .2byte 0x4500
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0CC:: @ 837E0CC
+ .2byte 0x4500
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0D4:: @ 837E0D4
+ .2byte 0x4500
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0DC:: @ 837E0DC
+ .2byte 0x4500
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0E4:: @ 837E0E4
+ .2byte 0x8500
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0EC:: @ 837E0EC
+ .2byte 0x8500
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0F4:: @ 837E0F4
+ .2byte 0x8500
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E0FC:: @ 837E0FC
+ .2byte 0x8500
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E104:: @ 837E104
+ .2byte 0x0700
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E10C:: @ 837E10C
+ .2byte 0x0700
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E114:: @ 837E114
+ .2byte 0x0700
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E11C:: @ 837E11C
+ .2byte 0x0700
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E124:: @ 837E124
+ .2byte 0x4700
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E12C:: @ 837E12C
+ .2byte 0x4700
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E134:: @ 837E134
+ .2byte 0x4700
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E13C:: @ 837E13C
+ .2byte 0x4700
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E144:: @ 837E144
+ .2byte 0x8700
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E14C:: @ 837E14C
+ .2byte 0x8700
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E154:: @ 837E154
+ .2byte 0x8700
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_837E15C:: @ 837E15C
+ .2byte 0x8700
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gBattleAnimPicTable:: @ 837E164
+ obj_tiles gBattleAnimSpriteSheet_000, 0x200, 10000
+ obj_tiles gBattleAnimSpriteSheet_001, 0x300, 10001
+ obj_tiles gBattleAnimSpriteSheet_002, 0x200, 10002
+ obj_tiles gBattleAnimSpriteSheet_003, 0x100, 10003
+ obj_tiles gBattleAnimSpriteSheet_004, 0x200, 10004
+ obj_tiles gBattleAnimSpriteSheet_005, 0x400, 10005
+ obj_tiles gBattleAnimSpriteSheet_006, 0x180, 10006
+ obj_tiles gBattleAnimSpriteSheet_007, 0x800, 10007
+ obj_tiles gBattleAnimSpriteSheet_008, 0x20, 10008
+ obj_tiles gBattleAnimSpriteSheet_009, 0x400, 10009
+ obj_tiles gBattleAnimSpriteSheet_010, 0x1200, 10010
+ obj_tiles gBattleAnimSpriteSheet_011, 0x180, 10011
+ obj_tiles gBattleAnimSpriteSheet_012, 0x80, 10012
+ obj_tiles gBattleAnimSpriteSheet_013, 0x80, 10013
+ obj_tiles gBattleAnimSpriteSheet_014, 0x280, 10014
+ obj_tiles gBattleAnimSpriteSheet_015, 0x80, 10015
+ obj_tiles gBattleAnimSpriteSheet_016, 0x100, 10016
+ obj_tiles gBattleAnimSpriteSheet_017, 0x20, 10017
+ obj_tiles gBattleAnimSpriteSheet_018, 0x80, 10018
+ obj_tiles gBattleAnimSpriteSheet_019, 0x400, 10019
+ obj_tiles gBattleAnimSpriteSheet_020, 0x200, 10020
+ obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10021
+ obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10022
+ obj_tiles gBattleAnimSpriteSheet_023, 0x380, 10023
+ obj_tiles gBattleAnimSpriteSheet_024, 0x300, 10024
+ obj_tiles gBattleAnimSpriteSheet_025, 0xA00, 10025
+ obj_tiles gBattleAnimSpriteSheet_026, 0xA00, 10026
+ obj_tiles gBattleAnimSpriteSheet_027, 0xA00, 10027
+ obj_tiles gBattleAnimSpriteSheet_028, 0xA00, 10028
+ obj_tiles gBattleAnimSpriteSheet_029, 0xA00, 10029
+ obj_tiles gBattleAnimSpriteSheet_030, 0xA00, 10030
+ obj_tiles gBattleAnimSpriteSheet_031, 0xE00, 10031
+ obj_tiles gBattleAnimSpriteSheet_032, 0x380, 10032
+ obj_tiles gBattleAnimSpriteSheet_033, 0x1000, 10033
+ obj_tiles gBattleAnimSpriteSheet_034, 0x800, 10034
+ obj_tiles gBattleAnimSpriteSheet_035, 0xA00, 10035
+ obj_tiles gBattleAnimSpriteSheet_036, 0x800, 10036
+ obj_tiles gBattleAnimSpriteSheet_037, 0xA00, 10037
+ obj_tiles gBattleAnimSpriteSheet_038, 0xA00, 10038
+ obj_tiles gBattleAnimSpriteSheet_039, 0xA00, 10039
+ obj_tiles gBattleAnimSpriteSheet_040, 0xA00, 10040
+ obj_tiles gBattleAnimSpriteSheet_041, 0xA00, 10041
+ obj_tiles gBattleAnimSpriteSheet_042, 0xA00, 10042
+ obj_tiles gBattleAnimSpriteSheet_043, 0xA00, 10043
+ obj_tiles gBattleAnimSpriteSheet_044, 0xA00, 10044
+ obj_tiles gBattleAnimSpriteSheet_045, 0xA00, 10045
+ obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10046
+ obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10047
+ obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10048
+ obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10049
+ obj_tiles gBattleAnimSpriteSheet_050, 0x200, 10050
+ obj_tiles gBattleAnimSpriteSheet_051, 0x200, 10051
+ obj_tiles gBattleAnimSpriteSheet_052, 0x200, 10052
+ obj_tiles gBattleAnimSpriteSheet_053, 0x800, 10053
+ obj_tiles gBattleAnimSpriteSheet_054, 0x80, 10054
+ obj_tiles gBattleAnimSpriteSheet_055, 0x200, 10055
+ obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10056
+ obj_tiles gBattleAnimSpriteSheet_057, 0x180, 10057
+ obj_tiles gBattleAnimSpriteSheet_058, 0xC00, 10058
+ obj_tiles gBattleAnimSpriteSheet_059, 0x100, 10059
+ obj_tiles gBattleAnimSpriteSheet_060, 0x40, 10060
+ obj_tiles gBattleAnimSpriteSheet_061, 0x180, 10061
+ obj_tiles gBattleAnimSpriteSheet_062, 0x800, 10062
+ obj_tiles gBattleAnimSpriteSheet_063, 0x480, 10063
+ obj_tiles gBattleAnimSpriteSheet_064, 0x200, 10064
+ obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10065
+ obj_tiles gBattleAnimSpriteSheet_066, 0x100, 10066
+ obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10067
+ obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10068
+ obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10069
+ obj_tiles gBattleAnimSpriteSheet_070, 0x200, 10070
+ obj_tiles gBattleAnimSpriteSheet_071, 0xA00, 10071
+ obj_tiles gBattleAnimSpriteSheet_072, 0x300, 10072
+ obj_tiles gBattleAnimSpriteSheet_073, 0x180, 10073
+ obj_tiles gBattleAnimSpriteSheet_074, 0xA0, 10074
+ obj_tiles gBattleAnimSpriteSheet_075, 0x700, 10075
+ obj_tiles gBattleAnimSpriteSheet_076, 0x400, 10076
+ obj_tiles gBattleAnimSpriteSheet_077, 0x200, 10077
+ obj_tiles gBattleAnimSpriteSheet_078, 0x300, 10078
+ obj_tiles gBattleAnimSpriteSheet_079, 0xC00, 10079
+ obj_tiles gBattleAnimSpriteSheet_080, 0xA00, 10080
+ obj_tiles gBattleAnimSpriteSheet_081, 0x80, 10081
+ obj_tiles gBattleAnimSpriteSheet_082, 0x40, 10082
+ obj_tiles gBattleAnimSpriteSheet_083, 0xE00, 10083
+ obj_tiles gBattleAnimSpriteSheet_084, 0xE00, 10084
+ obj_tiles gBattleAnimSpriteSheet_085, 0x280, 10085
+ obj_tiles gBattleAnimSpriteSheet_086, 0x200, 10086
+ obj_tiles gBattleAnimSpriteSheet_087, 0x80, 10087
+ obj_tiles gBattleAnimSpriteSheet_088, 0xC0, 10088
+ obj_tiles gBattleAnimSpriteSheet_089, 0xA00, 10089
+ obj_tiles gBattleAnimSpriteSheet_090, 0x200, 10090
+ obj_tiles gBattleAnimSpriteSheet_091, 0x180, 10091
+ obj_tiles gBattleAnimSpriteSheet_092, 0x80, 10092
+ obj_tiles gBattleAnimSpriteSheet_093, 0x1000, 10093
+ obj_tiles gBattleAnimSpriteSheet_094, 0xA00, 10094
+ obj_tiles gBattleAnimSpriteSheet_095, 0x180, 10095
+ obj_tiles gBattleAnimSpriteSheet_096, 0x380, 10096
+ obj_tiles gBattleAnimSpriteSheet_097, 0xC00, 10097
+ obj_tiles gBattleAnimSpriteSheet_098, 0x200, 10098
+ obj_tiles gBattleAnimSpriteSheet_099, 0x200, 10099
+ obj_tiles gBattleAnimSpriteSheet_100, 0x200, 10100
+ obj_tiles gBattleAnimSpriteSheet_101, 0x200, 10101
+ obj_tiles gBattleAnimSpriteSheet_102, 0x400, 10102
+ obj_tiles gBattleAnimSpriteSheet_103, 0x80, 10103
+ obj_tiles gBattleAnimSpriteSheet_104, 0x400, 10104
+ obj_tiles gBattleAnimSpriteSheet_105, 0xC00, 10105
+ obj_tiles gBattleAnimSpriteSheet_106, 0x200, 10106
+ obj_tiles gBattleAnimSpriteSheet_107, 0x1000, 10107
+ obj_tiles gBattleAnimSpriteSheet_108, 0xA00, 10108
+ obj_tiles gBattleAnimSpriteSheet_109, 0x20, 10109
+ obj_tiles gBattleAnimSpriteSheet_110, 0xE00, 10110
+ obj_tiles gBattleAnimSpriteSheet_111, 0x80, 10111
+ obj_tiles gBattleAnimSpriteSheet_112, 0xA00, 10112
+ obj_tiles gBattleAnimSpriteSheet_113, 0x400, 10113
+ obj_tiles gBattleAnimSpriteSheet_114, 0x200, 10114
+ obj_tiles gBattleAnimSpriteSheet_115, 0x700, 10115
+ obj_tiles gBattleAnimSpriteSheet_116, 0x800, 10116
+ obj_tiles gBattleAnimSpriteSheet_117, 0xA00, 10117
+ obj_tiles gBattleAnimSpriteSheet_118, 0x600, 10118
+ obj_tiles gBattleAnimSpriteSheet_119, 0x800, 10119
+ obj_tiles gBattleAnimSpriteSheet_120, 0x200, 10120
+ obj_tiles gBattleAnimSpriteSheet_121, 0x40, 10121
+ obj_tiles gBattleAnimSpriteSheet_122, 0x180, 10122
+ obj_tiles gBattleAnimSpriteSheet_123, 0x600, 10123
+ obj_tiles gBattleAnimSpriteSheet_124, 0x600, 10124
+ obj_tiles gBattleAnimSpriteSheet_125, 0x200, 10125
+ obj_tiles gBattleAnimSpriteSheet_126, 0x80, 10126
+ obj_tiles gBattleAnimSpriteSheet_127, 0x200, 10127
+ obj_tiles gBattleAnimSpriteSheet_128, 0x800, 10128
+ obj_tiles gBattleAnimSpriteSheet_129, 0x80, 10129
+ obj_tiles gBattleAnimSpriteSheet_130, 0xA00, 10130
+ obj_tiles gBattleAnimSpriteSheet_131, 0x280, 10131
+ obj_tiles gBattleAnimSpriteSheet_132, 0x280, 10132
+ obj_tiles gBattleAnimSpriteSheet_133, 0x100, 10133
+ obj_tiles gBattleAnimSpriteSheet_134, 0x200, 10134
+ obj_tiles gBattleAnimSpriteSheet_135, 0x200, 10135
+ obj_tiles gBattleAnimSpriteSheet_136, 0x20, 10136
+ obj_tiles gBattleAnimSpriteSheet_137, 0xA00, 10137
+ obj_tiles gBattleAnimSpriteSheet_138, 0x800, 10138
+ obj_tiles gBattleAnimSpriteSheet_139, 0x800, 10139
+ obj_tiles gBattleAnimSpriteSheet_140, 0xC0, 10140
+ obj_tiles gBattleAnimSpriteSheet_141, 0x1C0, 10141
+ obj_tiles gBattleAnimSpriteSheet_142, 0x100, 10142
+ obj_tiles gBattleAnimSpriteSheet_143, 0x800, 10143
+ obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10144
+ obj_tiles gBattleAnimSpriteSheet_145, 0x800, 10145
+ obj_tiles gBattleAnimSpriteSheet_146, 0x180, 10146
+ obj_tiles gBattleAnimSpriteSheet_147, 0x180, 10147
+ obj_tiles gBattleAnimSpriteSheet_148, 0x200, 10148
+ obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10149
+ obj_tiles gBattleAnimSpriteSheet_150, 0x180, 10150
+ obj_tiles gBattleAnimSpriteSheet_151, 0x400, 10151
+ obj_tiles gBattleAnimSpriteSheet_152, 0x80, 10152
+ obj_tiles gBattleAnimSpriteSheet_153, 0x100, 10153
+ obj_tiles gBattleAnimSpriteSheet_154, 0x100, 10154
+ obj_tiles gBattleAnimSpriteSheet_155, 0x140, 10155
+ obj_tiles gBattleAnimSpriteSheet_156, 0x800, 10156
+ obj_tiles gBattleAnimSpriteSheet_157, 0x200, 10157
+ obj_tiles gBattleAnimSpriteSheet_158, 0x100, 10158
+ obj_tiles gBattleAnimSpriteSheet_159, 0xA0, 10159
+ obj_tiles gBattleAnimSpriteSheet_160, 0x100, 10160
+ obj_tiles gBattleAnimSpriteSheet_161, 0x80, 10161
+ obj_tiles gBattleAnimSpriteSheet_162, 0x300, 10162
+ obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10163
+ obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10164
+ obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10165
+ obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10166
+ obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10167
+ obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10168
+ obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10169
+ obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10170
+ obj_tiles gBattleAnimSpriteSheet_171, 0x80, 10171
+ obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10172
+ obj_tiles gBattleAnimSpriteSheet_173, 0x200, 10173
+ obj_tiles gBattleAnimSpriteSheet_174, 0x200, 10174
+ obj_tiles gBattleAnimSpriteSheet_175, 0x80, 10175
+ obj_tiles gBattleAnimSpriteSheet_176, 0x200, 10176
+ obj_tiles gBattleAnimSpriteSheet_177, 0x500, 10177
+ obj_tiles gBattleAnimSpriteSheet_178, 0x800, 10178
+ obj_tiles gBattleAnimSpriteSheet_179, 0x400, 10179
+ obj_tiles gBattleAnimSpriteSheet_180, 0x20, 10180
+ obj_tiles gBattleAnimSpriteSheet_181, 0x800, 10181
+ obj_tiles gBattleAnimSpriteSheet_182, 0x100, 10182
+ obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10183
+ obj_tiles gBattleAnimSpriteSheet_184, 0x400, 10184
+ obj_tiles gBattleAnimSpriteSheet_185, 0xA00, 10185
+ obj_tiles gBattleAnimSpriteSheet_186, 0x1000, 10186
+ obj_tiles gBattleAnimSpriteSheet_187, 0x800, 10187
+ obj_tiles gBattleAnimSpriteSheet_188, 0x400, 10188
+ obj_tiles gBattleAnimSpriteSheet_189, 0x200, 10189
+ obj_tiles gBattleAnimSpriteSheet_190, 0x800, 10190
+ obj_tiles gBattleAnimSpriteSheet_191, 0x800, 10191
+ obj_tiles gBattleAnimSpriteSheet_192, 0x800, 10192
+ obj_tiles gBattleAnimSpriteSheet_193, 0x200, 10193
+ obj_tiles gBattleAnimSpriteSheet_194, 0x800, 10194
+ obj_tiles gBattleAnimSpriteSheet_195, 0x200, 10195
+ obj_tiles gBattleAnimSpriteSheet_196, 0x800, 10196
+ obj_tiles gBattleAnimSpriteSheet_197, 0x200, 10197
+ obj_tiles gBattleAnimSpriteSheet_198, 0x800, 10198
+ obj_tiles gBattleAnimSpriteSheet_199, 0x400, 10199
+ obj_tiles gBattleAnimSpriteSheet_200, 0x200, 10200
+ obj_tiles gBattleAnimSpriteSheet_201, 0xA80, 10201
+ obj_tiles gBattleAnimSpriteSheet_202, 0x600, 10202
+ obj_tiles gBattleAnimSpriteSheet_203, 0x800, 10203
+ obj_tiles gBattleAnimSpriteSheet_204, 0x200, 10204
+ obj_tiles gBattleAnimSpriteSheet_205, 0x600, 10205
+ obj_tiles gBattleAnimSpriteSheet_206, 0x800, 10206
+ obj_tiles gBattleAnimSpriteSheet_207, 0x180, 10207
+ obj_tiles gBattleAnimSpriteSheet_208, 0x800, 10208
+ obj_tiles gBattleAnimSpriteSheet_209, 0x800, 10209
+ obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10210
+ obj_tiles gBattleAnimSpriteSheet_211, 0x80, 10211
+ obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10212
+ obj_tiles gBattleAnimSpriteSheet_213, 0x800, 10213
+ obj_tiles gBattleAnimSpriteSheet_214, 0x600, 10214
+ obj_tiles gBattleAnimSpriteSheet_215, 0x600, 10215
+ obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10216
+ obj_tiles gBattleAnimSpriteSheet_217, 0x80, 10217
+ obj_tiles gBattleAnimSpriteSheet_218, 0x180, 10218
+ obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10219
+ obj_tiles gBattleAnimSpriteSheet_220, 0x200, 10220
+ obj_tiles gBattleAnimSpriteSheet_221, 0x400, 10221
+ obj_tiles gBattleAnimSpriteSheet_222, 0xA00, 10222
+ obj_tiles gBattleAnimSpriteSheet_223, 0x800, 10223
+ obj_tiles gBattleAnimSpriteSheet_224, 0x200, 10224
+ obj_tiles gBattleAnimSpriteSheet_225, 0x400, 10225
+ obj_tiles gBattleAnimSpriteSheet_226, 0x80, 10226
+ obj_tiles gBattleAnimSpriteSheet_227, 0x800, 10227
+ obj_tiles gBattleAnimSpriteSheet_228, 0x200, 10228
+ obj_tiles gBattleAnimSpriteSheet_229, 0x300, 10229
+ obj_tiles gBattleAnimSpriteSheet_230, 0x800, 10230
+ obj_tiles gBattleAnimSpriteSheet_231, 0x380, 10231
+ obj_tiles gBattleAnimSpriteSheet_232, 0x800, 10232
+ obj_tiles gBattleAnimSpriteSheet_233, 0xC0, 10233
+ obj_tiles gBattleAnimSpriteSheet_234, 0x800, 10234
+ obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10235
+ obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10236
+ obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10237
+ obj_tiles gBattleAnimSpriteSheet_238, 0x80, 10238
+ obj_tiles gBattleAnimSpriteSheet_239, 0x180, 10239
+ obj_tiles gBattleAnimSpriteSheet_240, 0x180, 10240
+ obj_tiles gBattleAnimSpriteSheet_241, 0x200, 10241
+ obj_tiles gBattleAnimSpriteSheet_242, 0x200, 10242
+ obj_tiles gBattleAnimSpriteSheet_243, 0x20, 10243
+ obj_tiles gBattleAnimSpriteSheet_244, 0x400, 10244
+ obj_tiles gBattleAnimSpriteSheet_245, 0x600, 10245
+ obj_tiles gBattleAnimSpriteSheet_246, 0x1000, 10246
+ obj_tiles gBattleAnimSpriteSheet_247, 0x400, 10247
+ obj_tiles gBattleAnimSpriteSheet_248, 0x20, 10248
+ obj_tiles gBattleAnimSpriteSheet_249, 0x80, 10249
+ obj_tiles gBattleAnimSpriteSheet_250, 0x800, 10250
+ obj_tiles gBattleAnimSpriteSheet_251, 0x80, 10251
+ obj_tiles gBattleAnimSpriteSheet_252, 0x200, 10252
+ obj_tiles gBattleAnimSpriteSheet_253, 0x400, 10253
+ obj_tiles gBattleAnimSpriteSheet_254, 0x200, 10254
+ obj_tiles gBattleAnimSpriteSheet_255, 0x200, 10255
+ obj_tiles gBattleAnimSpriteSheet_256, 0x800, 10256
+ obj_tiles gBattleAnimSpriteSheet_257, 0x280, 10257
+ obj_tiles gBattleAnimSpriteSheet_258, 0x200, 10258
+ obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10259
+ obj_tiles gBattleAnimSpriteSheet_260, 0x400, 10260
+ obj_tiles gBattleAnimSpriteSheet_261, 0x200, 10261
+ obj_tiles gBattleAnimSpriteSheet_262, 0x200, 10262
+ obj_tiles gBattleAnimSpriteSheet_263, 0x80, 10263
+ obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10264
+ obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10265
+ obj_tiles gBattleAnimSpriteSheet_266, 0x80, 10266
+ obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10267
+ obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10268
+ obj_tiles gBattleAnimSpriteSheet_269, 0x80, 10269
+ obj_tiles gBattleAnimSpriteSheet_270, 0x400, 10270
+ obj_tiles gBattleAnimSpriteSheet_271, 0x80, 10271
+ obj_tiles gBattleAnimSpriteSheet_272, 0x800, 10272
+ obj_tiles gBattleAnimSpriteSheet_273, 0x20, 10273
+ obj_tiles gBattleAnimSpriteSheet_274, 0x800, 10274
+ obj_tiles gBattleAnimSpriteSheet_275, 0x800, 10275
+ obj_tiles gBattleAnimSpriteSheet_276, 0x800, 10276
+ obj_tiles gBattleAnimSpriteSheet_277, 0x1000, 10277
+ obj_tiles gBattleAnimSpriteSheet_278, 0x800, 10278
+ obj_tiles gBattleAnimSpriteSheet_279, 0xA0, 10279
+ obj_tiles gBattleAnimSpriteSheet_280, 0x800, 10280
+ obj_tiles gBattleAnimSpriteSheet_281, 0x200, 10281
+ obj_tiles gBattleAnimSpriteSheet_282, 0x600, 10282
+ obj_tiles gBattleAnimSpriteSheet_283, 0x200, 10283
+ obj_tiles gBattleAnimSpriteSheet_284, 0x800, 10284
+ obj_tiles gBattleAnimSpriteSheet_285, 0x200, 10285
+ obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10286
+ obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10287
+ obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10288
+
+ .align 2
+gBattleAnimPaletteTable:: @ 837EA6C
+ obj_pal gBattleAnimSpritePalette_000, 10000
+ obj_pal gBattleAnimSpritePalette_001, 10001
+ obj_pal gBattleAnimSpritePalette_002, 10002
+ obj_pal gBattleAnimSpritePalette_003, 10003
+ obj_pal gBattleAnimSpritePalette_004, 10004
+ obj_pal gBattleAnimSpritePalette_005, 10005
+ obj_pal gBattleAnimSpritePalette_006, 10006
+ obj_pal gBattleAnimSpritePalette_007, 10007
+ obj_pal gBattleAnimSpritePalette_008, 10008
+ obj_pal gBattleAnimSpritePalette_009, 10009
+ obj_pal gBattleAnimSpritePalette_010, 10010
+ obj_pal gBattleAnimSpritePalette_011, 10011
+ obj_pal gBattleAnimSpritePalette_012, 10012
+ obj_pal gBattleAnimSpritePalette_013, 10013
+ obj_pal gBattleAnimSpritePalette_014, 10014
+ obj_pal gBattleAnimSpritePalette_015, 10015
+ obj_pal gBattleAnimSpritePalette_016, 10016
+ obj_pal gBattleAnimSpritePalette_016, 10017
+ obj_pal gBattleAnimSpritePalette_018, 10018
+ obj_pal gBattleAnimSpritePalette_019, 10019
+ obj_pal gBattleAnimSpritePalette_020, 10020
+ obj_pal gBattleAnimSpritePalette_021, 10021
+ obj_pal gBattleAnimSpritePalette_022, 10022
+ obj_pal gBattleAnimSpritePalette_023, 10023
+ obj_pal gBattleAnimSpritePalette_024, 10024
+ obj_pal gBattleAnimSpritePalette_025, 10025
+ obj_pal gBattleAnimSpritePalette_026, 10026
+ obj_pal gBattleAnimSpritePalette_027, 10027
+ obj_pal gBattleAnimSpritePalette_028, 10028
+ obj_pal gBattleAnimSpritePalette_029, 10029
+ obj_pal gBattleAnimSpritePalette_030, 10030
+ obj_pal gBattleAnimSpritePalette_031, 10031
+ obj_pal gBattleAnimSpritePalette_032, 10032
+ obj_pal gBattleAnimSpritePalette_033, 10033
+ obj_pal gBattleAnimSpritePalette_033, 10034
+ obj_pal gBattleAnimSpritePalette_033, 10035
+ obj_pal gBattleAnimSpritePalette_036, 10036
+ obj_pal gBattleAnimSpritePalette_036, 10037
+ obj_pal gBattleAnimSpritePalette_038, 10038
+ obj_pal gBattleAnimSpritePalette_039, 10039
+ obj_pal gBattleAnimSpritePalette_038, 10040
+ obj_pal gBattleAnimSpritePalette_038, 10041
+ obj_pal gBattleAnimSpritePalette_042, 10042
+ obj_pal gBattleAnimSpritePalette_043, 10043
+ obj_pal gBattleAnimSpritePalette_044, 10044
+ obj_pal gBattleAnimSpritePalette_045, 10045
+ obj_pal gBattleAnimSpritePalette_046, 10046
+ obj_pal gBattleAnimSpritePalette_047, 10046
+ obj_pal gBattleAnimSpritePalette_048, 10048
+ obj_pal gBattleAnimSpritePalette_049, 10049
+ obj_pal gBattleAnimSpritePalette_050, 10050
+ obj_pal gBattleAnimSpritePalette_050, 10051
+ obj_pal gBattleAnimSpritePalette_050, 10052
+ obj_pal gBattleAnimSpritePalette_026, 10053
+ obj_pal gBattleAnimSpritePalette_054, 10054
+ obj_pal gBattleAnimSpritePalette_050, 10055
+ obj_pal gBattleAnimSpritePalette_056, 10056
+ obj_pal gBattleAnimSpritePalette_057, 10057
+ obj_pal gBattleAnimSpritePalette_058, 10058
+ obj_pal gBattleAnimSpritePalette_059, 10059
+ obj_pal gBattleAnimSpritePalette_060, 10060
+ obj_pal gBattleAnimSpritePalette_061, 10061
+ obj_pal gBattleAnimSpritePalette_062, 10062
+ obj_pal gBattleAnimSpritePalette_063, 10063
+ obj_pal gBattleAnimSpritePalette_064, 10064
+ obj_pal gBattleAnimSpritePalette_065, 10065
+ obj_pal gBattleAnimSpritePalette_066, 10066
+ obj_pal gBattleAnimSpritePalette_067, 10067
+ obj_pal gBattleAnimSpritePalette_068, 10068
+ obj_pal gBattleAnimSpritePalette_065, 10069
+ obj_pal gBattleAnimSpritePalette_070, 10070
+ obj_pal gBattleAnimSpritePalette_070, 10071
+ obj_pal gBattleAnimSpritePalette_072, 10072
+ obj_pal gBattleAnimSpritePalette_073, 10073
+ obj_pal gBattleAnimSpritePalette_074, 10074
+ obj_pal gBattleAnimSpritePalette_075, 10075
+ obj_pal gBattleAnimSpritePalette_076, 10076
+ obj_pal gBattleAnimSpritePalette_076, 10077
+ obj_pal gBattleAnimSpritePalette_078, 10078
+ obj_pal gBattleAnimSpritePalette_078, 10079
+ obj_pal gBattleAnimSpritePalette_080, 10080
+ obj_pal gBattleAnimSpritePalette_081, 10081
+ obj_pal gBattleAnimSpritePalette_082, 10082
+ obj_pal gBattleAnimSpritePalette_083, 10083
+ obj_pal gBattleAnimSpritePalette_084, 10084
+ obj_pal gBattleAnimSpritePalette_085, 10085
+ obj_pal gBattleAnimSpritePalette_086, 10086
+ obj_pal gBattleAnimSpritePalette_087, 10087
+ obj_pal gBattleAnimSpritePalette_088, 10088
+ obj_pal gBattleAnimSpritePalette_089, 10089
+ obj_pal gBattleAnimSpritePalette_090, 10090
+ obj_pal gBattleAnimSpritePalette_091, 10091
+ obj_pal gBattleAnimSpritePalette_092, 10092
+ obj_pal gBattleAnimSpritePalette_093, 10093
+ obj_pal gBattleAnimSpritePalette_094, 10094
+ obj_pal gBattleAnimSpritePalette_095, 10095
+ obj_pal gBattleAnimSpritePalette_096, 10096
+ obj_pal gBattleAnimSpritePalette_097, 10097
+ obj_pal gBattleAnimSpritePalette_094, 10098
+ obj_pal gBattleAnimSpritePalette_099, 10099
+ obj_pal gBattleAnimSpritePalette_100, 10100
+ obj_pal gBattleAnimSpritePalette_101, 10101
+ obj_pal gBattleAnimSpritePalette_101, 10102
+ obj_pal gBattleAnimSpritePalette_103, 10103
+ obj_pal gBattleAnimSpritePalette_104, 10104
+ obj_pal gBattleAnimSpritePalette_105, 10105
+ obj_pal gBattleAnimSpritePalette_105, 10106
+ obj_pal gBattleAnimSpritePalette_107, 10107
+ obj_pal gBattleAnimSpritePalette_107, 10108
+ obj_pal gBattleAnimSpritePalette_109, 10109
+ obj_pal gBattleAnimSpritePalette_109, 10110
+ obj_pal gBattleAnimSpritePalette_111, 10111
+ obj_pal gBattleAnimSpritePalette_112, 10112
+ obj_pal gBattleAnimSpritePalette_113, 10113
+ obj_pal gBattleAnimSpritePalette_114, 10114
+ obj_pal gBattleAnimSpritePalette_115, 10115
+ obj_pal gBattleAnimSpritePalette_116, 10116
+ obj_pal gBattleAnimSpritePalette_117, 10117
+ obj_pal gBattleAnimSpritePalette_118, 10118
+ obj_pal gBattleAnimSpritePalette_119, 10119
+ obj_pal gBattleAnimSpritePalette_120, 10120
+ obj_pal gBattleAnimSpritePalette_121, 10121
+ obj_pal gBattleAnimSpritePalette_122, 10122
+ obj_pal gBattleAnimSpritePalette_122, 10123
+ obj_pal gBattleAnimSpritePalette_124, 10124
+ obj_pal gBattleAnimSpritePalette_125, 10125
+ obj_pal gBattleAnimSpritePalette_126, 10126
+ obj_pal gBattleAnimSpritePalette_127, 10127
+ obj_pal gBattleAnimSpritePalette_128, 10128
+ obj_pal gBattleAnimSpritePalette_128, 10129
+ obj_pal gBattleAnimSpritePalette_130, 10130
+ obj_pal gBattleAnimSpritePalette_130, 10131
+ obj_pal gBattleAnimSpritePalette_132, 10132
+ obj_pal gBattleAnimSpritePalette_133, 10133
+ obj_pal gBattleAnimSpritePalette_133, 10134
+ obj_pal gBattleAnimSpritePalette_135, 10135
+ obj_pal gBattleAnimSpritePalette_136, 10136
+ obj_pal gBattleAnimSpritePalette_135, 10137
+ obj_pal gBattleAnimSpritePalette_135, 10138
+ obj_pal gBattleAnimSpritePalette_139, 10139
+ obj_pal gBattleAnimSpritePalette_140, 10140
+ obj_pal gBattleAnimSpritePalette_141, 10141
+ obj_pal gBattleAnimSpritePalette_141, 10142
+ obj_pal gBattleAnimSpritePalette_143, 10143
+ obj_pal gBattleAnimSpritePalette_144, 10144
+ obj_pal gBattleAnimSpritePalette_139, 10145
+ obj_pal gBattleAnimSpritePalette_115, 10146
+ obj_pal gBattleAnimSpritePalette_147, 10147
+ obj_pal gBattleAnimSpritePalette_148, 10148
+ obj_pal gBattleAnimSpritePalette_148, 10149
+ obj_pal gBattleAnimSpritePalette_150, 10150
+ obj_pal gBattleAnimSpritePalette_150, 10151
+ obj_pal gBattleAnimSpritePalette_152, 10152
+ obj_pal gBattleAnimSpritePalette_153, 10153
+ obj_pal gBattleAnimSpritePalette_154, 10154
+ obj_pal gBattleAnimSpritePalette_155, 10155
+ obj_pal gBattleAnimSpritePalette_156, 10156
+ obj_pal gBattleAnimSpritePalette_157, 10157
+ obj_pal gBattleAnimSpritePalette_158, 10158
+ obj_pal gBattleAnimSpritePalette_159, 10159
+ obj_pal gBattleAnimSpritePalette_160, 10160
+ obj_pal gBattleAnimSpritePalette_161, 10161
+ obj_pal gBattleAnimSpritePalette_162, 10162
+ obj_pal gBattleAnimSpritePalette_163, 10163
+ obj_pal gBattleAnimSpritePalette_164, 10164
+ obj_pal gBattleAnimSpritePalette_165, 10165
+ obj_pal gBattleAnimSpritePalette_166, 10166
+ obj_pal gBattleAnimSpritePalette_167, 10167
+ obj_pal gBattleAnimSpritePalette_168, 10168
+ obj_pal gBattleAnimSpritePalette_169, 10169
+ obj_pal gBattleAnimSpritePalette_170, 10170
+ obj_pal gBattleAnimSpritePalette_171, 10171
+ obj_pal gBattleAnimSpritePalette_172, 10172
+ obj_pal gBattleAnimSpritePalette_001, 10173
+ obj_pal gBattleAnimSpritePalette_174, 10174
+ obj_pal gBattleAnimSpritePalette_175, 10175
+ obj_pal gBattleAnimSpritePalette_176, 10176
+ obj_pal gBattleAnimSpritePalette_177, 10177
+ obj_pal gBattleAnimSpritePalette_178, 10178
+ obj_pal gBattleAnimSpritePalette_179, 10179
+ obj_pal gBattleAnimSpritePalette_179, 10180
+ obj_pal gBattleAnimSpritePalette_179, 10181
+ obj_pal gBattleAnimSpritePalette_182, 10182
+ obj_pal gBattleAnimSpritePalette_183, 10183
+ obj_pal gBattleAnimSpritePalette_184, 10184
+ obj_pal gBattleAnimSpritePalette_185, 10185
+ obj_pal gBattleAnimSpritePalette_186, 10186
+ obj_pal gBattleAnimSpritePalette_187, 10187
+ obj_pal gBattleAnimSpritePalette_188, 10188
+ obj_pal gBattleAnimSpritePalette_189, 10189
+ obj_pal gBattleAnimSpritePalette_190, 10190
+ obj_pal gBattleAnimSpritePalette_191, 10191
+ obj_pal gBattleAnimSpritePalette_192, 10192
+ obj_pal gBattleAnimSpritePalette_193, 10193
+ obj_pal gBattleAnimSpritePalette_194, 10194
+ obj_pal gBattleAnimSpritePalette_195, 10195
+ obj_pal gBattleAnimSpritePalette_196, 10196
+ obj_pal gBattleAnimSpritePalette_197, 10197
+ obj_pal gBattleAnimSpritePalette_198, 10198
+ obj_pal gBattleAnimSpritePalette_199, 10199
+ obj_pal gBattleAnimSpritePalette_200, 10200
+ obj_pal gBattleAnimSpritePalette_201, 10201
+ obj_pal gBattleAnimSpritePalette_202, 10202
+ obj_pal gBattleAnimSpritePalette_203, 10203
+ obj_pal gBattleAnimSpritePalette_204, 10204
+ obj_pal gBattleAnimSpritePalette_205, 10205
+ obj_pal gBattleAnimSpritePalette_206, 10206
+ obj_pal gBattleAnimSpritePalette_207, 10207
+ obj_pal gBattleAnimSpritePalette_167, 10208
+ obj_pal gBattleAnimSpritePalette_209, 10209
+ obj_pal gBattleAnimSpritePalette_210, 10210
+ obj_pal gBattleAnimSpritePalette_211, 10211
+ obj_pal gBattleAnimSpritePalette_211, 10212
+ obj_pal gBattleAnimSpritePalette_211, 10213
+ obj_pal gBattleAnimSpritePalette_064, 10214
+ obj_pal gBattleAnimSpritePalette_215, 10215
+ obj_pal gBattleAnimSpritePalette_216, 10216
+ obj_pal gBattleAnimSpritePalette_217, 10217
+ obj_pal gBattleAnimSpritePalette_218, 10218
+ obj_pal gBattleAnimSpritePalette_219, 10219
+ obj_pal gBattleAnimSpritePalette_220, 10220
+ obj_pal gBattleAnimSpritePalette_221, 10221
+ obj_pal gBattleAnimSpritePalette_222, 10222
+ obj_pal gBattleAnimSpritePalette_223, 10223
+ obj_pal gBattleAnimSpritePalette_224, 10224
+ obj_pal gBattleAnimSpritePalette_225, 10225
+ obj_pal gBattleAnimSpritePalette_226, 10226
+ obj_pal gBattleAnimSpritePalette_226, 10227
+ obj_pal gBattleAnimSpritePalette_228, 10228
+ obj_pal gBattleAnimSpritePalette_229, 10229
+ obj_pal gBattleAnimSpritePalette_230, 10230
+ obj_pal gBattleAnimSpritePalette_231, 10231
+ obj_pal gBattleAnimSpritePalette_231, 10232
+ obj_pal gBattleAnimSpritePalette_233, 10233
+ obj_pal gBattleAnimSpritePalette_234, 10234
+ obj_pal gBattleAnimSpritePalette_235, 10235
+ obj_pal gBattleAnimSpritePalette_236, 10236
+ obj_pal gBattleAnimSpritePalette_237, 10237
+ obj_pal gBattleAnimSpritePalette_238, 10238
+ obj_pal gBattleAnimSpritePalette_239, 10239
+ obj_pal gBattleAnimSpritePalette_240, 10240
+ obj_pal gBattleAnimSpritePalette_241, 10241
+ obj_pal gBattleAnimSpritePalette_242, 10242
+ obj_pal gBattleAnimSpritePalette_243, 10243
+ obj_pal gBattleAnimSpritePalette_244, 10244
+ obj_pal gBattleAnimSpritePalette_245, 10245
+ obj_pal gBattleAnimSpritePalette_245, 10246
+ obj_pal gBattleAnimSpritePalette_064, 10247
+ obj_pal gBattleAnimSpritePalette_248, 10248
+ obj_pal gBattleAnimSpritePalette_249, 10249
+ obj_pal gBattleAnimSpritePalette_249, 10250
+ obj_pal gBattleAnimSpritePalette_251, 10251
+ obj_pal gBattleAnimSpritePalette_252, 10252
+ obj_pal gBattleAnimSpritePalette_253, 10253
+ obj_pal gBattleAnimSpritePalette_254, 10254
+ obj_pal gBattleAnimSpritePalette_255, 10255
+ obj_pal gBattleAnimSpritePalette_256, 10256
+ obj_pal gBattleAnimSpritePalette_257, 10257
+ obj_pal gBattleAnimSpritePalette_258, 10258
+ obj_pal gBattleAnimSpritePalette_259, 10259
+ obj_pal gBattleAnimSpritePalette_260, 10260
+ obj_pal gBattleAnimSpritePalette_261, 10261
+ obj_pal gBattleAnimSpritePalette_262, 10262
+ obj_pal gBattleAnimSpritePalette_263, 10263
+ obj_pal gBattleAnimSpritePalette_264, 10264
+ obj_pal gBattleAnimSpritePalette_265, 10265
+ obj_pal gBattleAnimSpritePalette_266, 10266
+ obj_pal gBattleAnimSpritePalette_267, 10267
+ obj_pal gBattleAnimSpritePalette_268, 10268
+ obj_pal gBattleAnimSpritePalette_269, 10269
+ obj_pal gBattleAnimSpritePalette_270, 10270
+ obj_pal gBattleAnimSpritePalette_271, 10271
+ obj_pal gBattleAnimSpritePalette_272, 10272
+ obj_pal gBattleAnimSpritePalette_272, 10273
+ obj_pal gBattleAnimSpritePalette_274, 10274
+ obj_pal gBattleAnimSpritePalette_274, 10275
+ obj_pal gBattleAnimSpritePalette_274, 10276
+ obj_pal gBattleAnimSpritePalette_277, 10277
+ obj_pal gBattleAnimSpritePalette_278, 10278
+ obj_pal gBattleAnimSpritePalette_279, 10279
+ obj_pal gBattleAnimSpritePalette_280, 10280
+ obj_pal gBattleAnimSpritePalette_281, 10281
+ obj_pal gBattleAnimSpritePalette_282, 10282
+ obj_pal gBattleAnimSpritePalette_283, 10283
+ obj_pal gBattleAnimSpritePalette_284, 10284
+ obj_pal gBattleAnimSpritePalette_285, 10285
+ obj_pal gBattleAnimSpritePalette_286, 10286
+ obj_pal gBattleAnimSpritePalette_287, 10287
+ obj_pal gBattleAnimSpritePalette_288, 10288
+
+ .align 2
+gBattleAnimBackgroundTable:: @ 837F374
+ .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00
+ .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00
+ .4byte gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02
+ .4byte gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03
+ .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04
+ .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05
+ .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06
+ .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07
+ .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08
+ .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09
+ .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10
+ .4byte gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11
+ .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12
+ .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13
+ .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14
+ .4byte gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15
+ .4byte gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16
+ .4byte gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17
+ .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07
+ .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08
+ .4byte gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20
+ .4byte gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21
+ .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09
+ .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10
+ .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04
+ .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05
+ .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06
+
+ .align 2
+gUnknown_0837F4B8:: @ 837F4B8
+ .4byte ma00_load_graphics
+ .4byte ma01_080728D0
+ .4byte ma02_instanciate_template
+ .4byte sub_8075BB8
+ .4byte ma04_wait_countdown
+ .4byte sub_8075C74
+ .4byte nullsub_53
+ .4byte nullsub_88
+ .4byte sub_8075CB0
+ .4byte ma09_play_sound
+ .4byte sub_8075DE0
+ .4byte ma0B_0807324C
+ .4byte sub_8076A3C
+ .4byte sub_8076AA0
+ .4byte ma0E_call
+ .4byte sub_8076AF0
+ .4byte ma10_080736AC
+ .4byte ma11_if_else
+ .4byte ma12_cond_if
+ .4byte sub_8076BBC
+ .4byte ma14_load_background
+ .4byte ma15_load_battle_screen_elements
+ .4byte ma16_wait_for_battle_screen_elements_s2
+ .4byte sub_8076F44
+ .4byte ma18_load_background_probably
+ .4byte ma19_08073BC8
+ .4byte ma1A_8073C00
+ .4byte ma1B_8073C2C
+ .4byte ma1C_8073ED0
+ .4byte ma1D_08073FB4
+ .4byte sub_8076A78
+ .4byte sub_8077610
+ .4byte ma20_wait_for_something
+ .4byte ma21_08074164
+ .4byte sub_80767C4
+ .4byte ma23_8073484
+ .4byte sub_807775C
+ .4byte sub_8076C4C
+ .4byte sub_8077320
+ .4byte sub_80773B4
+ .4byte sub_807779C
+ .4byte sub_8077808
+ .4byte sub_807784C
+ .4byte ma2B_make_side_invisible
+ .4byte ma2C_make_side_visible
+ .4byte sub_807794C
+ .4byte sub_80779FC
+ .4byte ma2F_stop_music
+
+gUnknown_0837F578:: @ 837F578
+ .incbin "baserom.gba", 0x0037f578, 0x20
+
+@ One entry for each of the four Castform forms.
+@ Coords are probably front pic coords or back pic coords, but this data does not seem to be
+@ used during battle, party summary, or pokedex screens.
+ .align 2
+gUnknownCastformCoords_0837F598:: @ 837F598
+ .byte 68, 17, 0, 0
+ .byte 102, 9, 0, 0
+ .byte 70, 9, 0, 0
+ .byte 134, 8, 0, 0
+
+@ One entry for each of the four Castform forms. Probably a palette index.
+gUnknownCastformData_0837F5A8:: @ 837F5A8
+ .byte 0xD, 0xE, 0xD, 0xD
+
+gUnknown_0837F5AC:: @ 837F5AC
+ .byte 0, 0, 0, 0
+
+ .align 2
+gSpriteTemplate_837F5B0:: @ 837F5B0
+ spr_template 55125, 55125, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_837F5C8:: @ 837F5C8
+ spr_template 55126, 55126, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_0837F5E0:: @ 837F5E0
+ obj_tiles gMiscBlank_Gfx, 2048, 0xd755
+ obj_tiles gMiscBlank_Gfx, 2048, 0xd756
+
+ .include "data/maps/events/PetalburgCity.inc"
+ .include "data/maps/events/SlateportCity.inc"
+ .include "data/maps/events/MauvilleCity.inc"
+ .include "data/maps/events/RustboroCity.inc"
+ .include "data/maps/events/FortreeCity.inc"
+ .include "data/maps/events/LilycoveCity.inc"
+ .include "data/maps/events/MossdeepCity.inc"
+ .include "data/maps/events/SootopolisCity.inc"
+ .include "data/maps/events/EverGrandeCity.inc"
+ .include "data/maps/events/LittlerootTown.inc"
+ .include "data/maps/events/OldaleTown.inc"
+ .include "data/maps/events/DewfordTown.inc"
+ .include "data/maps/events/LavaridgeTown.inc"
+ .include "data/maps/events/FallarborTown.inc"
+ .include "data/maps/events/VerdanturfTown.inc"
+ .include "data/maps/events/PacifidlogTown.inc"
+ .include "data/maps/events/Route101.inc"
+ .include "data/maps/events/Route102.inc"
+ .include "data/maps/events/Route103.inc"
+ .include "data/maps/events/Route104.inc"
+ .include "data/maps/events/Route105.inc"
+ .include "data/maps/events/Route106.inc"
+ .include "data/maps/events/Route107.inc"
+ .include "data/maps/events/Route108.inc"
+ .include "data/maps/events/Route109.inc"
+ .include "data/maps/events/Route110.inc"
+ .include "data/maps/events/Route111.inc"
+ .include "data/maps/events/Route112.inc"
+ .include "data/maps/events/Route113.inc"
+ .include "data/maps/events/Route114.inc"
+ .include "data/maps/events/Route115.inc"
+ .include "data/maps/events/Route116.inc"
+ .include "data/maps/events/Route117.inc"
+ .include "data/maps/events/Route118.inc"
+ .include "data/maps/events/Route119.inc"
+ .include "data/maps/events/Route120.inc"
+ .include "data/maps/events/Route121.inc"
+ .include "data/maps/events/Route122.inc"
+ .include "data/maps/events/Route123.inc"
+ .include "data/maps/events/Route124.inc"
+ .include "data/maps/events/Route125.inc"
+ .include "data/maps/events/Route126.inc"
+ .include "data/maps/events/Route127.inc"
+ .include "data/maps/events/Route128.inc"
+ .include "data/maps/events/Route129.inc"
+ .include "data/maps/events/Route130.inc"
+ .include "data/maps/events/Route131.inc"
+ .include "data/maps/events/Route132.inc"
+ .include "data/maps/events/Route133.inc"
+ .include "data/maps/events/Route134.inc"
+ .include "data/maps/events/Underwater1.inc"
+ .include "data/maps/events/Underwater2.inc"
+ .include "data/maps/events/Underwater3.inc"
+ .include "data/maps/events/Underwater4.inc"
+ .include "data/maps/events/LittlerootTown_BrendansHouse_1F.inc"
+ .include "data/maps/events/LittlerootTown_BrendansHouse_2F.inc"
+ .include "data/maps/events/LittlerootTown_MaysHouse_1F.inc"
+ .include "data/maps/events/LittlerootTown_MaysHouse_2F.inc"
+ .include "data/maps/events/LittlerootTown_ProfessorBirchsLab.inc"
+ .include "data/maps/events/OldaleTown_House1.inc"
+ .include "data/maps/events/OldaleTown_House2.inc"
+ .include "data/maps/events/OldaleTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/OldaleTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/OldaleTown_Mart.inc"
+ .include "data/maps/events/DewfordTown_House1.inc"
+ .include "data/maps/events/DewfordTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/DewfordTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/DewfordTown_Gym.inc"
+ .include "data/maps/events/DewfordTown_Hall.inc"
+ .include "data/maps/events/DewfordTown_House2.inc"
+ .include "data/maps/events/LavaridgeTown_HerbShop.inc"
+ .include "data/maps/events/LavaridgeTown_Gym_1F.inc"
+ .include "data/maps/events/LavaridgeTown_Gym_B1F.inc"
+ .include "data/maps/events/LavaridgeTown_House.inc"
+ .include "data/maps/events/LavaridgeTown_Mart.inc"
+ .include "data/maps/events/LavaridgeTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/LavaridgeTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/FallarborTown_Mart.inc"
+ .include "data/maps/events/FallarborTown_ContestLobby.inc"
+ .include "data/maps/events/FallarborTown_ContestHall.inc"
+ .include "data/maps/events/FallarborTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/FallarborTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/FallarborTown_House1.inc"
+ .include "data/maps/events/FallarborTown_House2.inc"
+ .include "data/maps/events/VerdanturfTown_ContestLobby.inc"
+ .include "data/maps/events/VerdanturfTown_ContestHall.inc"
+ .include "data/maps/events/VerdanturfTown_Mart.inc"
+ .include "data/maps/events/VerdanturfTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/VerdanturfTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/VerdanturfTown_WandasHouse.inc"
+ .include "data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc"
+ .include "data/maps/events/VerdanturfTown_House.inc"
+ .include "data/maps/events/PacifidlogTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/PacifidlogTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/PacifidlogTown_House1.inc"
+ .include "data/maps/events/PacifidlogTown_House2.inc"
+ .include "data/maps/events/PacifidlogTown_House3.inc"
+ .include "data/maps/events/PacifidlogTown_House4.inc"
+ .include "data/maps/events/PacifidlogTown_House5.inc"
+ .include "data/maps/events/PetalburgCity_WallysHouse.inc"
+ .include "data/maps/events/PetalburgCity_Gym.inc"
+ .include "data/maps/events/PetalburgCity_House1.inc"
+ .include "data/maps/events/PetalburgCity_House2.inc"
+ .include "data/maps/events/PetalburgCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/PetalburgCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/PetalburgCity_Mart.inc"
+ .include "data/maps/events/SlateportCity_SternsShipyard_1F.inc"
+ .include "data/maps/events/SlateportCity_SternsShipyard_2F.inc"
+ .include "data/maps/events/SlateportCity_ContestLobby.inc"
+ .include "data/maps/events/SlateportCity_ContestHall.inc"
+ .include "data/maps/events/SlateportCity_House1.inc"
+ .include "data/maps/events/SlateportCity_PokemonFanClub.inc"
+ .include "data/maps/events/SlateportCity_OceanicMuseum_1F.inc"
+ .include "data/maps/events/SlateportCity_OceanicMuseum_2F.inc"
+ .include "data/maps/events/SlateportCity_Harbor.inc"
+ .include "data/maps/events/SlateportCity_House2.inc"
+ .include "data/maps/events/SlateportCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/SlateportCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/SlateportCity_Mart.inc"
+ .include "data/maps/events/MauvilleCity_Gym.inc"
+ .include "data/maps/events/MauvilleCity_BikeShop.inc"
+ .include "data/maps/events/MauvilleCity_House1.inc"
+ .include "data/maps/events/MauvilleCity_GameCorner.inc"
+ .include "data/maps/events/MauvilleCity_House2.inc"
+ .include "data/maps/events/MauvilleCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/MauvilleCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/MauvilleCity_Mart.inc"
+ .include "data/maps/events/RustboroCity_DevonCorp_1F.inc"
+ .include "data/maps/events/RustboroCity_DevonCorp_2F.inc"
+ .include "data/maps/events/RustboroCity_DevonCorp_3F.inc"
+ .include "data/maps/events/RustboroCity_Gym.inc"
+ .include "data/maps/events/RustboroCity_PokemonSchool.inc"
+ .include "data/maps/events/RustboroCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/RustboroCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/RustboroCity_Mart.inc"
+ .include "data/maps/events/RustboroCity_Flat1_1F.inc"
+ .include "data/maps/events/RustboroCity_Flat1_2F.inc"
+ .include "data/maps/events/RustboroCity_House1.inc"
+ .include "data/maps/events/RustboroCity_CuttersHouse.inc"
+ .include "data/maps/events/RustboroCity_House2.inc"
+ .include "data/maps/events/RustboroCity_Flat2_1F.inc"
+ .include "data/maps/events/RustboroCity_Flat2_2F.inc"
+ .include "data/maps/events/RustboroCity_Flat2_3F.inc"
+ .include "data/maps/events/RustboroCity_House3.inc"
+ .include "data/maps/events/FortreeCity_House1.inc"
+ .include "data/maps/events/FortreeCity_Gym.inc"
+ .include "data/maps/events/FortreeCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/FortreeCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/FortreeCity_Mart.inc"
+ .include "data/maps/events/FortreeCity_House2.inc"
+ .include "data/maps/events/FortreeCity_House3.inc"
+ .include "data/maps/events/FortreeCity_House4.inc"
+ .include "data/maps/events/FortreeCity_House5.inc"
+ .include "data/maps/events/FortreeCity_DecorationShop.inc"
+ .include "data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc"
+ .include "data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc"
+ .include "data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc"
+ .include "data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc"
+ .include "data/maps/events/LilycoveCity_ContestLobby.inc"
+ .include "data/maps/events/LilycoveCity_ContestHall.inc"
+ .include "data/maps/events/LilycoveCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/LilycoveCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/LilycoveCity_UnusedMart.inc"
+ .include "data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc"
+ .include "data/maps/events/LilycoveCity_Harbor.inc"
+ .include "data/maps/events/LilycoveCity_EmptyMap.inc"
+ .include "data/maps/events/LilycoveCity_MoveDeletersHouse.inc"
+ .include "data/maps/events/LilycoveCity_House1.inc"
+ .include "data/maps/events/LilycoveCity_House2.inc"
+ .include "data/maps/events/LilycoveCity_House3.inc"
+ .include "data/maps/events/LilycoveCity_House4.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_1F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_2F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_3F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_4F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_5F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStoreElevator.inc"
+ .include "data/maps/events/MossdeepCity_Gym.inc"
+ .include "data/maps/events/MossdeepCity_House1.inc"
+ .include "data/maps/events/MossdeepCity_House2.inc"
+ .include "data/maps/events/MossdeepCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/MossdeepCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/MossdeepCity_Mart.inc"
+ .include "data/maps/events/MossdeepCity_House3.inc"
+ .include "data/maps/events/MossdeepCity_StevensHouse.inc"
+ .include "data/maps/events/MossdeepCity_House4.inc"
+ .include "data/maps/events/MossdeepCity_SpaceCenter_1F.inc"
+ .include "data/maps/events/MossdeepCity_SpaceCenter_2F.inc"
+ .include "data/maps/events/MossdeepCity_GameCorner_1F.inc"
+ .include "data/maps/events/MossdeepCity_GameCorner_B1F.inc"
+ .include "data/maps/events/SootopolisCity_Gym_1F.inc"
+ .include "data/maps/events/SootopolisCity_Gym_B1F.inc"
+ .include "data/maps/events/SootopolisCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/SootopolisCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/SootopolisCity_Mart.inc"
+ .include "data/maps/events/SootopolisCity_House1.inc"
+ .include "data/maps/events/SootopolisCity_House2.inc"
+ .include "data/maps/events/SootopolisCity_House3.inc"
+ .include "data/maps/events/SootopolisCity_House4.inc"
+ .include "data/maps/events/SootopolisCity_House5.inc"
+ .include "data/maps/events/SootopolisCity_House6.inc"
+ .include "data/maps/events/SootopolisCity_House7.inc"
+ .include "data/maps/events/SootopolisCity_House8.inc"
+ .include "data/maps/events/EverGrandeCity_SidneysRoom.inc"
+ .include "data/maps/events/EverGrandeCity_PhoebesRoom.inc"
+ .include "data/maps/events/EverGrandeCity_GlaciasRoom.inc"
+ .include "data/maps/events/EverGrandeCity_DrakesRoom.inc"
+ .include "data/maps/events/EverGrandeCity_ChampionsRoom.inc"
+ .include "data/maps/events/EverGrandeCity_Corridor1.inc"
+ .include "data/maps/events/EverGrandeCity_Corridor2.inc"
+ .include "data/maps/events/EverGrandeCity_Corridor3.inc"
+ .include "data/maps/events/EverGrandeCity_Corridor4.inc"
+ .include "data/maps/events/EverGrandeCity_Corridor5.inc"
+ .include "data/maps/events/EverGrandeCity_PokemonLeague.inc"
+ .include "data/maps/events/EverGrandeCity_HallOfFame.inc"
+ .include "data/maps/events/EverGrandeCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/EverGrandeCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/Route104_MrBrineysHouse.inc"
+ .include "data/maps/events/Route104_PrettyPetalFlowerShop.inc"
+ .include "data/maps/events/Route111_WinstrateFamilysHouse.inc"
+ .include "data/maps/events/Route111_OldLadysRestStop.inc"
+ .include "data/maps/events/Route112_CableCarStation.inc"
+ .include "data/maps/events/MtChimney_CableCarStation.inc"
+ .include "data/maps/events/Route114_FossilManiacsHouse.inc"
+ .include "data/maps/events/Route114_FossilManiacsTunnel.inc"
+ .include "data/maps/events/Route114_LanettesHouse.inc"
+ .include "data/maps/events/Route116_TunnelersRestHouse.inc"
+ .include "data/maps/events/Route117_PokemonDayCare.inc"
+ .include "data/maps/events/Route121_SafariZoneEntrance.inc"
+ .include "data/maps/events/MeteorFalls_1F_1R.inc"
+ .include "data/maps/events/MeteorFalls_1F_2R.inc"
+ .include "data/maps/events/MeteorFalls_B1F_1R.inc"
+ .include "data/maps/events/MeteorFalls_B1F_2R.inc"
+ .include "data/maps/events/RusturfTunnel.inc"
+ .include "data/maps/events/Underwater_SootopolisCity.inc"
+ .include "data/maps/events/DesertRuins.inc"
+ .include "data/maps/events/GraniteCave_1F.inc"
+ .include "data/maps/events/GraniteCave_B1F.inc"
+ .include "data/maps/events/GraniteCave_B2F.inc"
+ .include "data/maps/events/GraniteCave_StevensRoom.inc"
+ .include "data/maps/events/PetalburgWoods.inc"
+ .include "data/maps/events/MtChimney.inc"
+ .include "data/maps/events/JaggedPass.inc"
+ .include "data/maps/events/FieryPath.inc"
+ .include "data/maps/events/MtPyre_1F.inc"
+ .include "data/maps/events/MtPyre_2F.inc"
+ .include "data/maps/events/MtPyre_3F.inc"
+ .include "data/maps/events/MtPyre_4F.inc"
+ .include "data/maps/events/MtPyre_5F.inc"
+ .include "data/maps/events/MtPyre_6F.inc"
+ .include "data/maps/events/MtPyre_Exterior.inc"
+ .include "data/maps/events/MtPyre_Summit.inc"
+ .include "data/maps/events/AquaHideout_1F.inc"
+ .include "data/maps/events/AquaHideout_B1F.inc"
+ .include "data/maps/events/AquaHideout_B2F.inc"
+ .include "data/maps/events/Underwater_SeafloorCavern.inc"
+ .include "data/maps/events/SeafloorCavern_Entrance.inc"
+ .include "data/maps/events/SeafloorCavern_Room1.inc"
+ .include "data/maps/events/SeafloorCavern_Room2.inc"
+ .include "data/maps/events/SeafloorCavern_Room3.inc"
+ .include "data/maps/events/SeafloorCavern_Room4.inc"
+ .include "data/maps/events/SeafloorCavern_Room5.inc"
+ .include "data/maps/events/SeafloorCavern_Room6.inc"
+ .include "data/maps/events/SeafloorCavern_Room7.inc"
+ .include "data/maps/events/SeafloorCavern_Room8.inc"
+ .include "data/maps/events/SeafloorCavern_Room9.inc"
+ .include "data/maps/events/CaveOfOrigin_Entrance.inc"
+ .include "data/maps/events/CaveOfOrigin_1F.inc"
+ .include "data/maps/events/CaveOfOrigin_B1F.inc"
+ .include "data/maps/events/CaveOfOrigin_B2F.inc"
+ .include "data/maps/events/CaveOfOrigin_B3F.inc"
+ .include "data/maps/events/CaveOfOrigin_B4F.inc"
+ .include "data/maps/events/VictoryRoad_1F.inc"
+ .include "data/maps/events/VictoryRoad_B1F.inc"
+ .include "data/maps/events/VictoryRoad_B2F.inc"
+ .include "data/maps/events/ShoalCave_LowTideEntranceRoom.inc"
+ .include "data/maps/events/ShoalCave_LowTideInnerRoom.inc"
+ .include "data/maps/events/ShoalCave_LowTideStairsRoom.inc"
+ .include "data/maps/events/ShoalCave_LowTideLowerRoom.inc"
+ .include "data/maps/events/ShoalCave_HighTideEntranceRoom.inc"
+ .include "data/maps/events/ShoalCave_HighTideInnerRoom.inc"
+ .include "data/maps/events/NewMauville_Entrance.inc"
+ .include "data/maps/events/NewMauville_Inside.inc"
+ .include "data/maps/events/AbandonedShip_Deck.inc"
+ .include "data/maps/events/AbandonedShip_Corridors_1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms_1F.inc"
+ .include "data/maps/events/AbandonedShip_Corridors_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms2_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Underwater1.inc"
+ .include "data/maps/events/AbandonedShip_Room_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms2_1F.inc"
+ .include "data/maps/events/AbandonedShip_CaptainsOffice.inc"
+ .include "data/maps/events/AbandonedShip_Underwater2.inc"
+ .include "data/maps/events/AbandonedShip_HiddenFloorCorridors.inc"
+ .include "data/maps/events/AbandonedShip_HiddenFloorRooms.inc"
+ .include "data/maps/events/IslandCave.inc"
+ .include "data/maps/events/AncientTomb.inc"
+ .include "data/maps/events/Underwater_Route134.inc"
+ .include "data/maps/events/Underwater_SealedChamber.inc"
+ .include "data/maps/events/SealedChamber_OuterRoom.inc"
+ .include "data/maps/events/SealedChamber_InnerRoom.inc"
+ .include "data/maps/events/ScorchedSlab.inc"
+ .include "data/maps/events/MagmaHideout_1F.inc"
+ .include "data/maps/events/MagmaHideout_B1F.inc"
+ .include "data/maps/events/MagmaHideout_B2F.inc"
+ .include "data/maps/events/SkyPillar_Entrance.inc"
+ .include "data/maps/events/SkyPillar_Outside.inc"
+ .include "data/maps/events/SkyPillar_1F.inc"
+ .include "data/maps/events/SkyPillar_2F.inc"
+ .include "data/maps/events/SkyPillar_3F.inc"
+ .include "data/maps/events/SkyPillar_4F.inc"
+ .include "data/maps/events/ShoalCave_LowTideIceRoom.inc"
+ .include "data/maps/events/SkyPillar_5F.inc"
+ .include "data/maps/events/SkyPillar_Top.inc"
+ .include "data/maps/events/SecretBase_RedCave1.inc"
+ .include "data/maps/events/SecretBase_BrownCave1.inc"
+ .include "data/maps/events/SecretBase_BlueCave1.inc"
+ .include "data/maps/events/SecretBase_YellowCave1.inc"
+ .include "data/maps/events/SecretBase_Tree1.inc"
+ .include "data/maps/events/SecretBase_Shrub1.inc"
+ .include "data/maps/events/SecretBase_RedCave2.inc"
+ .include "data/maps/events/SecretBase_BrownCave2.inc"
+ .include "data/maps/events/SecretBase_BlueCave2.inc"
+ .include "data/maps/events/SecretBase_YellowCave2.inc"
+ .include "data/maps/events/SecretBase_Tree2.inc"
+ .include "data/maps/events/SecretBase_Shrub2.inc"
+ .include "data/maps/events/SecretBase_RedCave3.inc"
+ .include "data/maps/events/SecretBase_BrownCave3.inc"
+ .include "data/maps/events/SecretBase_BlueCave3.inc"
+ .include "data/maps/events/SecretBase_YellowCave3.inc"
+ .include "data/maps/events/SecretBase_Tree3.inc"
+ .include "data/maps/events/SecretBase_Shrub3.inc"
+ .include "data/maps/events/SecretBase_RedCave4.inc"
+ .include "data/maps/events/SecretBase_BrownCave4.inc"
+ .include "data/maps/events/SecretBase_BlueCave4.inc"
+ .include "data/maps/events/SecretBase_YellowCave4.inc"
+ .include "data/maps/events/SecretBase_Tree4.inc"
+ .include "data/maps/events/SecretBase_Shrub4.inc"
+ .include "data/maps/events/SingleBattleColosseum.inc"
+ .include "data/maps/events/TradeCenter.inc"
+ .include "data/maps/events/RecordCorner.inc"
+ .include "data/maps/events/DoubleBattleColosseum.inc"
+ .include "data/maps/events/LinkContestRoom1.inc"
+ .include "data/maps/events/LinkContestRoom2.inc"
+ .include "data/maps/events/LinkContestRoom3.inc"
+ .include "data/maps/events/LinkContestRoom4.inc"
+ .include "data/maps/events/LinkContestRoom5.inc"
+ .include "data/maps/events/LinkContestRoom6.inc"
+ .include "data/maps/events/UnknownMap_25_29.inc"
+ .include "data/maps/events/UnknownMap_25_30.inc"
+ .include "data/maps/events/UnknownMap_25_31.inc"
+ .include "data/maps/events/UnknownMap_25_32.inc"
+ .include "data/maps/events/UnknownMap_25_33.inc"
+ .include "data/maps/events/UnknownMap_25_34.inc"
+ .include "data/maps/events/InsideOfTruck.inc"
+ .include "data/maps/events/SSTidalCorridor.inc"
+ .include "data/maps/events/SSTidalLowerDeck.inc"
+ .include "data/maps/events/SSTidalRooms.inc"
+ .include "data/maps/events/SafariZone_Northwest.inc"
+ .include "data/maps/events/SafariZone_Northeast.inc"
+ .include "data/maps/events/SafariZone_Southwest.inc"
+ .include "data/maps/events/SafariZone_Southeast.inc"
+ .include "data/maps/events/BattleTower_Outside.inc"
+ .include "data/maps/events/BattleTower_Lobby.inc"
+ .include "data/maps/events/BattleTower_Elevator.inc"
+ .include "data/maps/events/BattleTower_Corridor.inc"
+ .include "data/maps/events/BattleTower_BattleRoom.inc"
+ .include "data/maps/events/SouthernIsland_Exterior.inc"
+ .include "data/maps/events/SouthernIsland_Interior.inc"
+ .include "data/maps/events/SafariZone_RestHouse.inc"
+ .include "data/maps/events/Route104_Prototype.inc"
+ .include "data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc"
+ .include "data/maps/events/Route109_SeashoreHouse.inc"
+ .include "data/maps/events/Route110_TrickHouseEntrance.inc"
+ .include "data/maps/events/Route110_TrickHouseEnd.inc"
+ .include "data/maps/events/Route110_TrickHouseCorridor.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle1.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle2.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle3.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle4.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle5.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle6.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle7.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle8.inc"
+ .include "data/maps/events/Route110_SeasideCyclingRoadSouthEntrance.inc"
+ .include "data/maps/events/Route110_SeasideCyclingRoadNorthEntrance.inc"
+ .include "data/maps/events/Route113_GlassWorkshop.inc"
+ .include "data/maps/events/Route123_BerryMastersHouse.inc"
+ .include "data/maps/events/Route119_WeatherInstitute_1F.inc"
+ .include "data/maps/events/Route119_WeatherInstitute_2F.inc"
+ .include "data/maps/events/Route119_House.inc"
+Route124_DivingTreasureHuntersHouse_MapObjects:: @ 839300C
+ object_event 1, MAP_OBJ_GFX_MAN_6, 0, 5, 0, 4, 0, 0, 9, 0, 0, 0, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_163E04, 0, 0, 0
+
+Route124_DivingTreasureHuntersHouse_MapWarps:: @ 8393024
+ warp_def 3, 8, 0, 0, Route124
+ warp_def 4, 8, 0, 0, Route124
+
+Route124_DivingTreasureHuntersHouse_MapBGEvents:: @ 8393034
+ bg_event 7, 1, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_164335
+
+Route124_DivingTreasureHuntersHouse_MapEvents:: @ 8393040
+ map_events Route124_DivingTreasureHuntersHouse_MapObjects, Route124_DivingTreasureHuntersHouse_MapWarps, 0x0, Route124_DivingTreasureHuntersHouse_MapBGEvents
+
+ .align 2
+gSpriteAnim_8393054:: @ 8393054
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 4, 3
+ obj_image_anim_frame 8, 3
+ obj_image_anim_frame 12, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_8393068:: @ 8393068
+ .4byte gSpriteAnim_8393054
+
+ .align 2
+gSpriteTemplate_839306C:: @ 839306C
+ spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A5C4
+
+ .align 2
+gSpriteTemplate_8393084:: @ 8393084
+ spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A544
+
+ .align 2
+gSpriteAnim_839309C:: @ 839309C
+ obj_image_anim_frame 0, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83930A4:: @ 83930A4
+ .4byte gSpriteAnim_839309C
+
+ .align 2
+gBattleAnimSpriteTemplate_83930A8:: @ 83930A8
+ spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A908
+
+ .align 2
+gBattleAnimSpriteTemplate_83930C0:: @ 83930C0
+ spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A9BC
+
+ .align 2
+gSpriteAnim_83930D8:: @ 83930D8
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 64, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83930F0:: @ 83930F0
+ .4byte gSpriteAnim_83930D8
+
+ .align 2
+gBattleAnimSpriteTemplate_83930F4:: @ 83930F4
+ spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83930F0, NULL, gDummySpriteAffineAnimTable, sub_807A63C
+
+ .align 2
+gSpriteTemplate_839310C:: @ 839310C
+ spr_template 10051, 10051, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807A5C4
+
+ .align 2
+gSpriteAnim_8393124:: @ 8393124
+ obj_image_anim_frame 0, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_839312C:: @ 839312C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_8393134:: @ 8393134
+ obj_image_anim_frame 0, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_839313C:: @ 839313C
+ .4byte gSpriteAnim_8393124
+ .4byte gSpriteAnim_839312C
+ .4byte gSpriteAnim_8393134
+
+ .align 2
+gSpriteTemplate_8393148:: @ 8393148
+ spr_template 10135, 10135, gOamData_837DF34, gSpriteAnimTable_839313C, NULL, gDummySpriteAffineAnimTable, sub_807A5C4
+
+ .align 2
+gSpriteAnim_8393160:: @ 8393160
+ obj_image_anim_frame 0, 15
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_8393168:: @ 8393168
+ .4byte gSpriteAnim_8393160
+
+ .align 2
+gSpriteAffineAnim_839316C:: @ 839316C
+ obj_rot_scal_anim_frame 0x60, 0x60, 0, 0
+ obj_rot_scal_anim_frame 0x2, 0x2, 0, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_8393184:: @ 8393184
+ .4byte gSpriteAffineAnim_839316C
+
+ .align 2
+gSpriteTemplate_8393188:: @ 8393188
+ spr_template 10004, 10004, gOamData_837DFEC, gSpriteAnimTable_8393168, NULL, gSpriteAffineAnimTable_8393184, sub_807A544
+
+ .string "TASK OVER\n"
+ .string "タスクがオーバーしました$"
+
+ .align 2
+Unknown_083931B8:
+ .incbin "baserom.gba", 0x003931b8, 0x20
+
+gUnknown_083931D8:: @ 83931D8
+ .4byte 4, Unknown_083931B8
+
+ .align 2
+gSpriteTemplate_83931E0:: @ 83931E0
+ spr_template 10010, 10010, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83931F8:: @ 83931F8
+ spr_template 10136, 10136, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807B870
+
+ .align 2
+gUnknown_08393210:: @ 8393210
+ .ifdef SAPPHIRE
+ .incbin "graphics/title_screen/kyogre_dark.gbapal"
+ .incbin "graphics/title_screen/kyogre_glow.gbapal"
+ .else
+ .incbin "graphics/title_screen/groudon_dark.gbapal"
+ .incbin "graphics/title_screen/groudon_glow.gbapal"
+ .endif
+
+ .align 2
+gUnknown_08393250:: @ 8393250
+ .ifdef SAPPHIRE
+ .incbin "graphics/title_screen/kyogre.4bpp.lz"
+ .else
+ .incbin "graphics/title_screen/groudon.4bpp.lz"
+ .endif
+
+ .align 2
+gUnknown_083939EC:: @ 83939EC
+ .ifdef SAPPHIRE
+ .incbin "graphics/title_screen/kyogre_map.bin.lz"
+ .else
+ .incbin "graphics/title_screen/groudon_map.bin.lz"
+ .endif
+
+ .align 2
+gUnknown_08393BF8:: @ 8393BF8
+ .ifdef SAPPHIRE
+ .incbin "graphics/title_screen/water_map.bin.lz"
+ .else
+ .incbin "graphics/title_screen/lava_map.bin.lz"
+ .endif
+
+ .align 2
+LogoShineTiles: @ 8393D14
+ .incbin "graphics/title_screen/logo_shine.4bpp.lz"
+
+gUnknown_08393E64:: @ 8393E64
+ .incbin "baserom.gba", 0x00393e64, 0x40
+
+ .align 2
+gOamData_8393EA4:: @ 8393EA4
+ .2byte 0x60A0
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_8393EAC:: @ 8393EAC
+ .2byte 0x60A0
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_8393EB4:: @ 8393EB4
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393EBC:: @ 8393EBC
+ obj_image_anim_frame 64, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8393EC4:: @ 8393EC4
+ .4byte gSpriteAnim_8393EB4
+
+ .align 2
+gSpriteAnimTable_8393EC8:: @ 8393EC8
+ .4byte gSpriteAnim_8393EBC
+
+ .align 2
+gSpriteTemplate_8393ECC:: @ 8393ECC
+ spr_template 1000, 1000, gOamData_8393EA4, gSpriteAnimTable_8393EC4, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerLeft
+
+ .align 2
+gSpriteTemplate_8393EE4:: @ 8393EE4
+ spr_template 1000, 1000, gOamData_8393EAC, gSpriteAnimTable_8393EC8, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerRight
+
+ .align 2
+gUnknown_08393EFC:: @ 8393EFC
+ obj_tiles gVersionTiles, 0x1000, 1000
+ null_obj_tiles
+
+ .align 2
+gOamData_8393F0C:: @ 8393F0C
+ .2byte 0x40A0
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_8393F14:: @ 8393F14
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393F1C:: @ 8393F1C
+ obj_image_anim_frame 4, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393F24:: @ 8393F24
+ obj_image_anim_frame 8, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393F2C:: @ 8393F2C
+ obj_image_anim_frame 12, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393F34:: @ 8393F34
+ obj_image_anim_frame 16, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393F3C:: @ 8393F3C
+ obj_image_anim_frame 20, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393F44:: @ 8393F44
+ obj_image_anim_frame 24, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8393F4C:: @ 8393F4C
+ obj_image_anim_frame 28, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8393F54:: @ 8393F54
+ .4byte gSpriteAnim_8393F14
+ .4byte gSpriteAnim_8393F1C
+ .4byte gSpriteAnim_8393F24
+ .4byte gSpriteAnim_8393F2C
+ .4byte gSpriteAnim_8393F34
+ .4byte gSpriteAnim_8393F3C
+ .4byte gSpriteAnim_8393F44
+ .4byte gSpriteAnim_8393F4C
+
+ .align 2
+gSpriteTemplate_8393F74:: @ 8393F74
+ spr_template 1001, 1001, gOamData_8393F0C, gSpriteAnimTable_8393F54, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PressStartCopyrightBanner
+
+ .align 2
+gUnknown_08393F8C:: @ 8393F8C
+ obj_tiles gTitleScreenPressStart_Gfx, 0x520, 1001
+ null_obj_tiles
+
+ .align 2
+gUnknown_08393F9C:: @ 8393F9C
+ obj_pal gTitleScreenLogoShinePalette, 1001
+ obj_pal 0x0, 0x0
+
+ .align 2
+gOamData_8393FAC:: @ 8393FAC
+ .2byte 0x00A0
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_8393FB4:: @ 8393FB4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8393FBC:: @ 8393FBC
+ .4byte gSpriteAnim_8393FB4
+
+ .align 2
+gSpriteTemplate_8393FC0:: @ 8393FC0
+ spr_template 1002, 1001, gOamData_8393FAC, gSpriteAnimTable_8393FBC, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PokemonLogoShine
+
+ .align 2
+gUnknown_08393FD8:: @ 8393FD8
+ obj_tiles LogoShineTiles, 0x800, 1002
+ null_obj_tiles
+
+ .align 2
+DroughtPaletteData_0: @ 8393FE8
+ .incbin "graphics/weather/drought0.bin.lz"
+
+ .align 2
+DroughtPaletteData_1: @ 839480C
+ .incbin "graphics/weather/drought1.bin.lz"
+
+ .align 2
+DroughtPaletteData_2: @ 8395004
+ .incbin "graphics/weather/drought2.bin.lz"
+
+ .align 2
+DroughtPaletteData_3: @ 83957A0
+ .incbin "graphics/weather/drought3.bin.lz"
+
+ .align 2
+DroughtPaletteData_4: @ 8395FBC
+ .incbin "graphics/weather/drought4.bin.lz"
+
+ .align 2
+DroughtPaletteData_5: @ 8396784
+ .incbin "graphics/weather/drought5.bin.lz"
+
+ .align 2
+gUnknown_08396FA8:: @ 8396FA8
+ .4byte DroughtPaletteData_0
+ .4byte DroughtPaletteData_1
+ .4byte DroughtPaletteData_2
+ .4byte DroughtPaletteData_3
+ .4byte DroughtPaletteData_4
+ .4byte DroughtPaletteData_5
+ @.4byte unk_20000000
+ .incbin "baserom.gba", 0x00396fc0, 0x4 @ pointer to unk_2000000?
+
+ .align 2
+gUnknown_08396FC4:: @ 8396FC4
+ .4byte 0x0202f7e8
+
+ .align 2
+gUnknown_08396FC8:: @ 8396FC8
+ .4byte sub_807CAE8, nullsub_38, sub_807CAE8, sub_807CB0C
+ .4byte sub_807DE78, sub_807DEF4, sub_807DEC4, sub_807DF54
+ .4byte sub_807DF9C, nullsub_55, sub_807DFC0, sub_807DFD0
+ .4byte sub_807E364, sub_807E400, sub_807E3D0, sub_807E460
+ .4byte sub_807E9C8, snowflakes_progress2, sub_807EA18, sub_807EAC0
+ .4byte sub_807EE80, sub_807EFC0, sub_807EEF4, sub_807F34C
+ .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC
+ .4byte sub_807F7F8, sub_807F888, sub_807F858, sub_807F934
+ .4byte sub_807FE9C, sub_807FF4C, sub_807FF1C, sub_807FFC8
+ .4byte sub_807FB24, sub_807FBD8, sub_807FBA8, sub_807FC3C
+ .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC
+ .4byte sub_8080430, nullsub_56, sub_8080460, sub_8080470
+ .4byte sub_807E110, sub_807E174, sub_807E144, sub_807E258
+ .4byte sub_807EF24, sub_807EFC0, sub_807EF90, sub_807F34C
+ .4byte sub_8080474, sub_80804F8, sub_80804C8, sub_808056C
+
+ .align 2
+gUnknown_083970B8:: @ 83970B8
+ .4byte sub_807CC24
+ .4byte sub_807CCAC
+ .4byte nullsub_39
+ .4byte nullsub_39
+
+gUnknown_083970C8:: @ 83970C8
+ .incbin "baserom.gba", 0x003970c8, 0x20
+
+ .align 2
+gUnknown_083970E8:: @ 83970E8
+ .incbin "graphics/weather/0.gbapal"
+
+ .align 2
+gUnknown_08397108:: @ 8397108
+ .incbin "graphics/weather/1.gbapal"
+
+ .align 2
+gUnknown_08397128:: @ 8397128
+ .incbin "graphics/weather/2.gbapal"
+
+ .align 2
+WeatherFog0Tiles: @ 8397148
+ .incbin "graphics/weather/fog0.4bpp"
+
+ .align 2
+gWeatherFog1Tiles:: @ 8397948
+ .incbin "graphics/weather/fog1.4bpp"
+
+ .align 2
+WeatherCloudTiles: @ 8398148
+ .incbin "graphics/weather/cloud.4bpp"
+
+ .align 2
+gSpriteImage_8398948:: @ 8398948
+ .incbin "graphics/weather/snow0.4bpp"
+
+ .align 2
+gSpriteImage_8398968:: @ 8398968
+ .incbin "graphics/weather/snow1.4bpp"
+
+ .align 2
+WeatherBubbleTiles: @ 8398988
+ .incbin "graphics/weather/bubble.4bpp"
+
+ .align 2
+WeatherAshTiles: @ 83989C8
+ .incbin "graphics/weather/ash.4bpp"
+
+ .align 2
+WeatherRainTiles: @ 83999C8
+ .incbin "graphics/weather/rain.4bpp"
+
+ .align 2
+WeatherSandstormTiles: @ 8399FC8
+ .incbin "graphics/weather/sandstorm.4bpp"
+
+ .align 1
+gUnknown_0839A9C8:: @ 839A9C8
+ .2byte 0, 66
+ .2byte 5, 73
+ .2byte 10, 78
+
+ .align 2
+gUnknown_0839A9D4:: @ 839A9D4
+ obj_tiles WeatherCloudTiles, 0x800, 0x1200
+
+ .align 2
+gOamData_839A9DC:: @ 839A9DC
+ .2byte 0x0400
+ .2byte 0xC000
+ .2byte 0x0C00
+
+ .align 2
+gSpriteAnim_839A9E4:: @ 839A9E4
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839A9EC:: @ 839A9EC
+ .4byte gSpriteAnim_839A9E4
+
+ .align 2
+gSpriteTemplate_839A9F0:: @ 839A9F0
+ spr_template 4608, 4609, gOamData_839A9DC, gSpriteAnimTable_839A9EC, NULL, gDummySpriteAffineAnimTable, sub_807E0F4
+
+ .align 1
+gUnknown_0839AA08:: @ 839AA08
+ .2byte 0, 0
+ .2byte 0, 160
+ .2byte 0, 64
+ .2byte 144, 224
+ .2byte 144, 128
+ .2byte 32, 32
+ .2byte 32, 192
+ .2byte 32, 96
+ .2byte 72, 128
+ .2byte 72, 32
+ .2byte 72, 192
+ .2byte 216, 96
+ .2byte 216, 0
+ .2byte 104, 160
+ .2byte 104, 64
+ .2byte 104, 224
+ .2byte 144, 0
+ .2byte 144, 160
+ .2byte 144, 64
+ .2byte 32, 224
+ .2byte 32, 128
+ .2byte 72, 32
+ .2byte 72, 192
+ .2byte 48, 96
+
+ .align 2
+gOamData_839AA68:: @ 839AA68
+ .2byte 0x8000
+ .2byte 0x8000
+ .2byte 0x2400
+
+ .align 2
+gSpriteAnim_839AA70:: @ 839AA70
+ obj_image_anim_frame 0, 16
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_839AA78:: @ 839AA78
+ obj_image_anim_frame 8, 3
+ obj_image_anim_frame 32, 2
+ obj_image_anim_frame 40, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AA88:: @ 839AA88
+ obj_image_anim_frame 8, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 24, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839AA98:: @ 839AA98
+ .4byte gSpriteAnim_839AA70
+ .4byte gSpriteAnim_839AA78
+ .4byte gSpriteAnim_839AA88
+
+ .align 2
+gSpriteTemplate_839AAA4:: @ 839AAA4
+ spr_template 4614, 4608, gOamData_839AA68, gSpriteAnimTable_839AA98, NULL, gDummySpriteAffineAnimTable, sub_807E5C0
+
+gUnknown_0839AABC:: @ 839AABC
+ .incbin "baserom.gba", 0x0039aabc, 0x8
+
+gUnknown_0839AAC4:: @ 839AAC4
+ .incbin "baserom.gba", 0x0039aac4, 0x8
+
+ .align 2
+gUnknown_0839AACC:: @ 839AACC
+ obj_tiles WeatherRainTiles, 0x600, 0x1206
+
+ .align 2
+gOamData_839AAD4:: @ 839AAD4
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteImageTable_839AADC:: @ 839AADC
+ obj_frame_tiles gSpriteImage_8398948, 0x20
+ obj_frame_tiles gSpriteImage_8398968, 0x20
+
+ .align 2
+gSpriteAnim_839AAEC:: @ 839AAEC
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AAF4:: @ 839AAF4
+ obj_image_anim_frame 1, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839AAFC:: @ 839AAFC
+ .4byte gSpriteAnim_839AAEC
+ .4byte gSpriteAnim_839AAF4
+
+ .align 2
+gSpriteTemplate_839AB04:: @ 839AB04
+ spr_template 0xFFFF, 4608, gOamData_839AAD4, gSpriteAnimTable_839AAFC, gSpriteImageTable_839AADC, gDummySpriteAffineAnimTable, sub_807ED48
+
+ .align 2
+ .incbin "baserom.gba", 0x0039ab1c, 0x10
+
+ .align 2
+gOamData_839AB2C:: @ 839AB2C
+ .2byte 0x0400
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_839AB34:: @ 839AB34
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AB3C:: @ 839AB3C
+ obj_image_anim_frame 32, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AB44:: @ 839AB44
+ obj_image_anim_frame 64, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AB4C:: @ 839AB4C
+ obj_image_anim_frame 96, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AB54:: @ 839AB54
+ obj_image_anim_frame 128, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AB5C:: @ 839AB5C
+ obj_image_anim_frame 160, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839AB64:: @ 839AB64
+ .4byte gSpriteAnim_839AB34
+ .4byte gSpriteAnim_839AB3C
+ .4byte gSpriteAnim_839AB44
+ .4byte gSpriteAnim_839AB4C
+ .4byte gSpriteAnim_839AB54
+ .4byte gSpriteAnim_839AB5C
+
+ .align 2
+gSpriteAffineAnim_839AB7C:: @ 839AB7C
+ obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_839AB8C:: @ 839AB8C
+ .4byte gSpriteAffineAnim_839AB7C
+
+ .align 2
+gSpriteTemplate_839AB90:: @ 839AB90
+ spr_template 4609, 4608, gOamData_839AB2C, gSpriteAnimTable_839AB64, NULL, gSpriteAffineAnimTable_839AB8C, sub_807F688
+
+ .align 2
+gUnknown_0839ABA8:: @ 839ABA8
+ obj_tiles gWeatherFog1Tiles, 0x800, 0x1201
+
+ .align 2
+gUnknown_0839ABB0:: @ 839ABB0
+ obj_tiles WeatherAshTiles, 0x1000, 0x1202
+
+ .align 2
+gOamData_839ABB8:: @ 839ABB8
+ .2byte 0x0400
+ .2byte 0xC000
+ .2byte 0xF400
+
+ .align 2
+gSpriteAnim_839ABC0:: @ 839ABC0
+ obj_image_anim_frame 0, 60
+ obj_image_anim_frame 64, 60
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_839ABCC:: @ 839ABCC
+ .4byte gSpriteAnim_839ABC0
+
+ .align 2
+gSpriteTemplate_839ABD0:: @ 839ABD0
+ spr_template 4610, 4608, gOamData_839ABB8, gSpriteAnimTable_839ABCC, NULL, gDummySpriteAffineAnimTable, sub_807FAA8
+
+ .align 2
+gUnknown_0839ABE8:: @ 839ABE8
+ obj_tiles WeatherFog0Tiles, 0x800, 0x1203
+
+ .align 2
+gOamData_839ABF0:: @ 839ABF0
+ .2byte 0x0400
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_839ABF8:: @ 839ABF8
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839AC00:: @ 839AC00
+ .4byte gSpriteAnim_839ABF8
+
+ .align 2
+gSpriteTemplate_839AC04:: @ 839AC04
+ spr_template 4611, 4608, gOamData_839ABF0, gSpriteAnimTable_839AC00, NULL, gDummySpriteAffineAnimTable, sub_807FE3C
+
+ .align 2
+gOamData_839AC1C:: @ 839AC1C
+ .2byte 0x0400
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_839AC24:: @ 839AC24
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839AC2C:: @ 839AC2C
+ obj_image_anim_frame 64, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839AC34:: @ 839AC34
+ .4byte gSpriteAnim_839AC24
+ .4byte gSpriteAnim_839AC2C
+
+ .align 2
+gSpriteTemplate_839AC3C:: @ 839AC3C
+ spr_template 4612, 4609, gOamData_839AC1C, gSpriteAnimTable_839AC34, NULL, gDummySpriteAffineAnimTable, sub_8080338
+
+ .align 2
+gUnknown_0839AC54:: @ 839AC54
+ obj_tiles WeatherSandstormTiles, 0xA00, 0x1204
+
+gUnknown_0839AC5C:: @ 839AC5C
+ .incbin "baserom.gba", 0x0039ac5c, 0xc
+
+gUnknown_0839AC68:: @ 839AC68
+ .incbin "baserom.gba", 0x0039ac68, 0x8
+
+ .align 2
+gUnknown_0839AC70:: @ 839AC70
+ obj_tiles WeatherBubbleTiles, 0x40, 0x1205
+
+ .align 1
+gUnknown_0839AC78:: @ 839AC78
+ .2byte 120, 160
+ .2byte 376, 160
+ .2byte 40, 140
+ .2byte 296, 140
+ .2byte 180, 130
+ .2byte 436, 130
+ .2byte 60, 160
+ .2byte 436, 160
+ .2byte 220, 180
+ .2byte 476, 180
+ .2byte 10, 90
+ .2byte 266, 90
+ .2byte 256, 160
+
+ .align 2
+gSpriteAnim_839ACAC:: @ 839ACAC
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839ACB8:: @ 839ACB8
+ .4byte gSpriteAnim_839ACAC
+
+ .align 2
+gSpriteTemplate_839ACBC:: @ 839ACBC
+ spr_template 4613, 4608, gOamData_837DF24, gSpriteAnimTable_839ACB8, NULL, gDummySpriteAffineAnimTable, unc_0807DAB4
+
+gUnknown_0839ACD4:: @ 839ACD4
+ .byte 2, 3, 5, 3
+
+gUnknown_0839ACD8:: @ 839ACD8
+ .byte 2, 2, 3, 2
+
+gUnknown_0839ACDC:: @ 839ACDC
+ .incbin "baserom.gba", 0x0039acdc, 0xc
+
+ .align 2
+gUnknown_0839ACE8:: @ 839ACE8
+ .byte 4
+
+ .align 2
+gUnknown_0839ACEC:: @ 839ACEC
+ .4byte REG_WIN0H
+ .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
+ .4byte 1
+
+gBattleTransitionTable_Wild:: @ 839ACF8
+ .byte 8, 9, 5, 10, 0, 10, 7, 6
+
+gBattleTransitionTable_Trainer:: @ 839AD00
+ .byte 4, 11, 2, 3, 0, 10, 1, 6
+
+ .align 2
+gTrainerBattleSpecs_0:: @ 839AD08
+ .4byte gTrainerBattleMode, 0
+ .4byte gTrainerBattleOpponent, 1
+ .4byte gTrainerMapObjectLocalId, 1
+ .4byte gTrainerIntroSpeech, 2
+ .4byte gTrainerDefeatSpeech, 2
+ .4byte gTrainerVictorySpeech, 5
+ .4byte gTrainerCannotBattleSpeech, 5
+ .4byte gTrainerBattleEndScript, 5
+ .4byte gTrainerBattleScriptReturnAddress, 6
+
+ .align 2
+gTrainerBattleSpecs_1:: @ 839AD50
+ .4byte gTrainerBattleMode, 0
+ .4byte gTrainerBattleOpponent, 1
+ .4byte gTrainerMapObjectLocalId, 1
+ .4byte gTrainerIntroSpeech, 2
+ .4byte gTrainerDefeatSpeech, 2
+ .4byte gTrainerVictorySpeech, 5
+ .4byte gTrainerCannotBattleSpeech, 5
+ .4byte gTrainerBattleEndScript, 2
+ .4byte gTrainerBattleScriptReturnAddress, 6
+
+ .align 2
+gTrainerBattleSpecs_2:: @ 839AD98
+ .4byte gTrainerBattleMode, 0
+ .4byte gTrainerBattleOpponent, 1
+ .4byte gTrainerMapObjectLocalId, 1
+ .4byte gTrainerIntroSpeech, 2
+ .4byte gTrainerDefeatSpeech, 2
+ .4byte gTrainerVictorySpeech, 5
+ .4byte gTrainerCannotBattleSpeech, 2
+ .4byte gTrainerBattleEndScript, 5
+ .4byte gTrainerBattleScriptReturnAddress, 6
+
+ .align 2
+gTrainerBattleSpecs_3:: @ 839ADE0
+ .4byte gTrainerBattleMode, 0
+ .4byte gTrainerBattleOpponent, 1
+ .4byte gTrainerMapObjectLocalId, 1
+ .4byte gTrainerIntroSpeech, 5
+ .4byte gTrainerDefeatSpeech, 2
+ .4byte gTrainerVictorySpeech, 5
+ .4byte gTrainerCannotBattleSpeech, 5
+ .4byte gTrainerBattleEndScript, 5
+ .4byte gTrainerBattleScriptReturnAddress, 6
+
+ .align 2
+gTrainerBattleSpecs_4:: @ 839AE28
+ .4byte gTrainerBattleMode, 0
+ .4byte gTrainerBattleOpponent, 1
+ .4byte gTrainerMapObjectLocalId, 1
+ .4byte gTrainerIntroSpeech, 2
+ .4byte gTrainerDefeatSpeech, 2
+ .4byte gTrainerVictorySpeech, 5
+ .4byte gTrainerCannotBattleSpeech, 2
+ .4byte gTrainerBattleEndScript, 2
+ .4byte gTrainerBattleScriptReturnAddress, 6
+
+@ 839AE70
+ .include "data/trainer_eye_trainers.inc"
+
+ .align 2
+gBadgeFlags:: @ 839B1F0
+ .2byte 0x0807, 0x0808, 0x0809, 0x080a, 0x080b, 0x080c, 0x080d, 0x080e
+
+TrainerCardColorName_Bronze:
+ .string "BRONZE$", 7
+TrainerCardColorName_Copper:
+ .string "COPPER$", 7
+TrainerCardColorName_Silver:
+ .string "SILVER$", 7
+TrainerCardColorName_Gold:
+ .string "GOLD$", 7
+
+ .align 2
+gTrainerCardColorNames:: @ 839B21C
+ .4byte TrainerCardColorName_Bronze
+ .4byte TrainerCardColorName_Copper
+ .4byte TrainerCardColorName_Silver
+ .4byte TrainerCardColorName_Gold
+
+@ These seem to be strings for keypad test code.
+gUnknown_0839B22C:: @ 839B22C
+ .string " A$" @ A
+ .string " B$" @ B
+ .string "SL$" @ SELECT
+ .string "ST$" @ START
+ .string "RK$" @ right
+ .string "LK$" @ left
+ .string "UK$" @ up
+ .string "DK$" @ down
+ .string "RT$" @ R
+ .string "LT$" @ L
+
+gUnknown_0839B24A:: @ 839B24A
+ .string "ND$"
+
+gUnknown_0839B24D:: @ 839B24D
+ .string "の こどもは\n$" @ "'s child <topic-particle>"
+
+gUnknown_0839B255:: @ 839B255
+ .string " $"
+
+gUnknown_0839B257:: @ 839B257
+ .string "ながいなまえぽけもん$" @ "long name pokemon" (used as test name)
+
+Text_39B262: @ 839B262
+ .string "Search a child$"
+
+Text_39B271: @ 839B271
+ .string "Egg$"
+
+Text_39B275: @ 839B275
+ .string "Egg (male)$"
+
+Text_39B280: @ 839B280
+ .string "1000 steps$"
+
+Text_39B28B: @ 839B28B
+ .string "10000 steps$"
+
+Text_39B297: @ 839B297
+ .string "MOVE TUTOR$"
+
+Text_39B2A2: @ 839B2A2
+ .string "Breed an egg$"
+
+Text_39B2AF: @ 839B2AF
+ .string "Long name$"
+
+Text_39B2B9: @ 839B2B9
+ .string "ポロックけす$" @ "{POKEBLOCK} CASE$"
+
+ .align 2
+gMoriDebugMenuActions:: @ 839B2C0
+ .4byte Text_39B262, MoriDebugMenu_SearchChild
+ .4byte Text_39B271, MoriDebugMenu_Egg
+ .4byte Text_39B275, MoriDebugMenu_MaleEgg
+ .4byte Text_39B280, MoriDebugMenu_1000Steps
+ .4byte Text_39B28B, MoriDebugMenu_10000Steps
+ .4byte Text_39B297, MoriDebugMenu_MoveTutor
+ .4byte Text_39B2A2, MoriDebugMenu_BreedEgg
+ .4byte Text_39B2AF, MoriDebugMenu_LongName
+ .4byte Text_39B2B9, MoriDebugMenu_PokeblockCase
+
+ .align 2
+gSpriteImage_839B308:: @ 839B308
+ .incbin "graphics/unknown_sprites/839B4E0/0.4bpp"
+
+ .align 2
+gSpriteImage_839B388:: @ 839B388
+ .incbin "graphics/unknown_sprites/839B4E0/1.4bpp"
+
+ .align 2
+gSpriteImage_839B408:: @ 839B408
+ .incbin "graphics/unknown_sprites/839B408.4bpp"
+
+ .align 2
+gIsTrainerInRange:: @ 839B488
+ .4byte IsTrainerInRangeSouth
+ .4byte IsTrainerInRangeNorth
+ .4byte IsTrainerInRangeWest
+ .4byte IsTrainerInRangeEast
+
+ .align 2
+gTrainerSeeFuncList:: @ 839B498
+ .4byte sub_8084394
+ .4byte sub_8084398
+ .4byte sub_80843DC
+ .4byte sub_808441C
+ .4byte sub_8084478
+ .4byte sub_8084534
+ .4byte sub_8084578
+ .4byte sub_80845AC
+ .4byte sub_80845C8
+ .4byte sub_80845FC
+ .4byte sub_8084654
+ .4byte sub_80846C8
+
+ .align 2
+gTrainerSeeFuncList2:: @ 839B4C8
+ .4byte sub_80845C8
+ .4byte sub_80845FC
+ .4byte sub_8084654
+ .4byte sub_80846C8
+
+ .align 2
+gOamData_839B4D8:: @ 839B4D8
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteImageTable_839B4E0:: @ 839B4E0
+ obj_frame_tiles gSpriteImage_839B308, 0x80
+ obj_frame_tiles gSpriteImage_839B388, 0x80
+
+ .align 2
+gSpriteImageTable_839B4F0:: @ 839B4F0
+ obj_frame_tiles gSpriteImage_839B408, 0x80
+
+ .align 2
+gSpriteAnim_839B4F8:: @ 839B4F8
+ obj_image_anim_frame 0, 60
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_839B500:: @ 839B500
+ obj_image_anim_frame 1, 60
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839B508:: @ 839B508
+ .4byte gSpriteAnim_839B4F8
+ .4byte gSpriteAnim_839B500
+
+ .align 2
+gSpriteTemplate_839B510:: @ 839B510
+ spr_template 0xFFFF, 0xFFFF, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4E0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably
+
+ .align 2
+gSpriteTemplate_839B528:: @ 839B528
+ spr_template 0xFFFF, 4100, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4F0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably
+
+@ 839B540
+ .include "data/wild_mons.inc"
+
+ .align 2
+gWildFeebasRoute119Data:: @ 839DBFC
+ .byte 20, 25 @ Min/Max level
+ .2byte SPECIES_FEEBAS
+
+ .align 2
+gRoute119WaterTileData:: @ 839DC00
+ .2byte 0x0, 0x2D, 0x0
+ .2byte 0x2E, 0x5B, 0x83
+ .2byte 0x5C, 0x8B, 0x12A
+
+ .align 2
+gSpriteImage_839DC14:: @ 839DC14
+ .incbin "graphics/birch_speech/birch.4bpp"
+
+ .align 2
+gBirchPalette:: @ 839E414
+ .incbin "graphics/birch_speech/birch.gbapal"
+
+ .align 2
+gSpriteImage_839E434:: @ 839E434
+ .incbin "graphics/misc/pokeball_glow.4bpp"
+
+ .align 2
+gFieldEffectObjectPalette4: @ 839E454
+ .incbin "graphics/field_effect_objects/palettes/04.gbapal"
+
+ .align 2
+gSpriteImage_839E474:: @ 839E474
+ .incbin "graphics/misc/pokecenter_monitor/0.4bpp"
+
+ .align 2
+gSpriteImage_839E534:: @ 839E534
+ .incbin "graphics/misc/pokecenter_monitor/1.4bpp"
+
+ .align 2
+gSpriteImage_839E5F4:: @ 839E5F4
+ .incbin "graphics/misc/big_hof_monitor.4bpp"
+
+ .align 2
+gSpriteImage_839E7F4:: @ 839E7F4
+ .incbin "graphics/misc/small_hof_monitor.4bpp"
+
+ .align 2
+gFieldEffectObjectPalette5: @ 839E8F4
+ .incbin "graphics/field_effect_objects/palettes/05.gbapal"
+
+@ Graphics for the lights streaking past your Pokémon when it uses a field move.
+
+ .align 2
+gFieldMoveStreaksTiles:: @ 839E914
+ .incbin "graphics/misc/field_move_streaks.4bpp"
+
+ .align 2
+gFieldMoveStreaksPalette:: @ 839EB14
+ .incbin "graphics/misc/field_move_streaks.gbapal"
+
+ .align 2
+gFieldMoveStreaksTilemap:: @ 839EB34
+ .incbin "graphics/misc/field_move_streaks_map.bin"
+
+@ The following light streaks effect is used when the map is dark (e.g. a cave).
+
+ .align 2
+gDarknessFieldMoveStreaksTiles:: @ 839EDB4
+ .incbin "graphics/misc/darkness_field_move_streaks.4bpp"
+
+ .align 2
+gDarknessFieldMoveStreaksPalette:: @ 839EE34
+ .incbin "graphics/misc/darkness_field_move_streaks.gbapal"
+
+ .align 2
+gDarknessFieldMoveStreaksTilemap:: @ 839EE54
+ .incbin "graphics/misc/darkness_field_move_streaks_map.bin"
+
+ .align 2
+gFieldEffectScriptFuncs:: @ 839F0D4
+ .4byte FieldEffectCmd_loadtiles
+ .4byte FieldEffectCmd_loadfadedpal
+ .4byte FieldEffectCmd_loadpal
+ .4byte FieldEffectCmd_callnative
+ .4byte FieldEffectCmd_end
+ .4byte FieldEffectCmd_loadgfx_callnative
+ .4byte FieldEffectCmd_loadtiles_callnative
+ .4byte FieldEffectCmd_loadfadedpal_callnative
+
+ .align 2
+gOamData_839F0F4:: @ 839F0F4
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_839F0FC:: @ 839F0FC
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_839F104:: @ 839F104
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteImageTable_839F10C:: @ 839F10C
+ obj_frame_tiles gSpriteImage_839DC14, 0x800
+
+ .align 2
+gUnknown_0839F114:: @ 839F114
+ obj_pal gBirchPalette, 0x1006
+
+ .align 2
+gSpriteAnim_839F11C:: @ 839F11C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839F124:: @ 839F124
+ .4byte gSpriteAnim_839F11C
+
+ .align 2
+gSpriteTemplate_839F128:: @ 839F128
+ spr_template 0xFFFF, 4102, gOamData_839F0F4, gSpriteAnimTable_839F124, gSpriteImageTable_839F10C, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gFieldEffectObjectPaletteInfo4:: @ 839F140
+ obj_pal gFieldEffectObjectPalette4, 0x1007
+
+ .align 2
+gFieldEffectObjectPaletteInfo5:: @ 839F148
+ obj_pal gFieldEffectObjectPalette5, 0x1010
+
+ .align 2
+gOamData_839F150:: @ 839F150
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gSpriteImageTable_839F158:: @ 839F158
+ obj_frame_tiles gSpriteImage_839E434, 0x20
+
+ .align 2
+gSpriteImageTable_839F160:: @ 839F160
+ obj_frame_tiles gSpriteImage_839E474, 0xc0
+ obj_frame_tiles gSpriteImage_839E534, 0xc0
+
+ .align 2
+gSpriteImageTable_839F170:: @ 839F170
+ obj_frame_tiles gSpriteImage_839E5F4, 0x200
+
+ .align 2
+gSpriteImageTable_839F178:: @ 839F178
+ obj_frame_tiles gSpriteImage_839E7F4, 0x200
+
+ .align 2
+Unknown_39F180:: @ 839F180
+ .incbin "baserom.gba", 0x0039f180, 0x20
+
+ .align 2
+gUnknown_0839F1A0:: @ 839F1A0
+ .4byte 4, Unknown_39F180
+
+ .align 2
+Unknown_39F1A8:: @ 39F1A8
+ .incbin "baserom.gba", 0x0039f1a8, 0x20
+
+ .align 2
+gUnknown_0839F1C8:: @ 839F1C8
+ .4byte 4, Unknown_39F1A8
+
+ .align 2
+gSpriteAnim_839F1D0:: @ 839F1D0
+ obj_image_anim_frame 0, 1
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_839F1D8:: @ 839F1D8
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_839F1FC:: @ 839F1FC
+ .4byte gSpriteAnim_839F1D0
+ .4byte gSpriteAnim_839F1D8
+
+ .align 2
+gSpriteAnimTable_839F204:: @ 839F204
+ .4byte gSpriteAnim_839F1D0
+
+ .align 2
+gSpriteTemplate_839F208:: @ 839F208
+ spr_template 0xFFFF, 4103, gOamData_839F0FC, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F158, gDummySpriteAffineAnimTable, SpriteCB_PokeballGlow
+
+ .align 2
+gSpriteTemplate_839F220:: @ 839F220
+ spr_template 0xFFFF, 4100, gOamData_839F104, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F160, gDummySpriteAffineAnimTable, SpriteCB_PokecenterMonitor
+
+ .align 2
+gSpriteTemplate_839F238:: @ 839F238
+ spr_template 0xFFFF, 4112, gOamData_839F104, gSpriteAnimTable_839F204, gSpriteImageTable_839F170, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor
+
+ .align 2
+gSpriteTemplate_839F250:: @ 839F250
+ spr_template 0xFFFF, 4112, gOamData_839F150, gSpriteAnimTable_839F204, gSpriteImageTable_839F178, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor
+
+ .align 2
+gUnknown_0839F268:: @ 839F268
+ .4byte PokecenterHealEffect_0
+ .4byte PokecenterHealEffect_1
+ .4byte PokecenterHealEffect_2
+ .4byte PokecenterHealEffect_3
+
+ .align 2
+gUnknown_0839F278:: @ 839F278
+ .4byte HallOfFameRecordEffect_0
+ .4byte HallOfFameRecordEffect_1
+ .4byte HallOfFameRecordEffect_2
+ .4byte HallOfFameRecordEffect_3
+
+ .align 2
+gUnknown_0839F288:: @ 839F288
+ .4byte PokeballGlowEffect_0
+ .4byte PokeballGlowEffect_1
+ .4byte PokeballGlowEffect_2
+ .4byte PokeballGlowEffect_3
+ .4byte PokeballGlowEffect_4
+ .4byte PokeballGlowEffect_5
+ .4byte PokeballGlowEffect_6
+ .4byte PokeballGlowEffect_7
+
+gUnknown_0839F2A8:: @ 839F2A8
+ .incbin "baserom.gba", 0x0039f2a8, 0x18
+
+gUnknown_0839F2C0:: @ 839F2C0
+ .incbin "baserom.gba", 0x0039f2c0, 0x4
+
+gUnknown_0839F2C4:: @ 839F2C4
+ .incbin "baserom.gba", 0x0039f2c4, 0x4
+
+gUnknown_0839F2C8:: @ 839F2C8
+ .space 4
+
+ .align 2
+gUnknown_0839F2CC:: @ 839F2CC
+ .4byte sub_80867AC
+ .4byte sub_8086854
+ .4byte sub_8086870
+ .4byte sub_80868E4
+ .4byte sub_808699C
+ .4byte sub_80869B8
+ .4byte sub_80869F8
+
+ .align 2
+gUnknown_0839F2E8:: @ 839F2E8
+ .4byte sub_8086AA0
+ .4byte sub_8086AC0
+ .4byte sub_8086B30
+ .4byte sub_8086B54
+ .4byte sub_8086B64
+ .4byte sub_8086B88
+
+ .align 2
+gUnknown_0839F300:: @ 839F300
+ .4byte sub_8086CF4
+ .4byte sub_8086D70
+ .4byte sub_8086DB0
+ .4byte sub_8086E10
+ .4byte sub_8086E50
+ .4byte sub_8086EB0
+ .4byte sub_8086ED4
+
+ .align 2
+gUnknown_0839F31C:: @ 839F31C
+ .4byte sub_8086FB0
+ .4byte waterfall_1_do_anim_probably
+ .4byte waterfall_2_wait_anim_finish_probably
+ .4byte sub_8087030
+ .4byte sub_8087058
+
+ .align 2
+gUnknown_0839F330:: @ 839F330
+ .4byte sub_8087124
+ .4byte dive_2_unknown
+ .4byte dive_3_unknown
+
+ .align 2
+gUnknown_0839F33C:: @ 839F33C
+ .4byte sub_808722C
+ .4byte sub_8087264
+ .4byte sub_8087298
+ .4byte sub_80872E4
+ .4byte sub_80873D8
+ .4byte sub_80873F4
+
+ .align 2
+gUnknown_0839F354:: @ 839F354
+ .4byte sub_80874CC
+ .4byte sub_80874FC
+ .4byte sub_8087548
+ .4byte sub_808759C
+
+ .align 2
+gUnknown_0839F364:: @ 839F364
+ .4byte sub_80876C8
+ .4byte sub_80876F8
+ .4byte sub_8087774
+ .4byte sub_80877AC
+ .4byte sub_80877D4
+
+ .align 2
+gUnknown_0839F378:: @ 839F378
+ .4byte sub_80878F4
+ .4byte sub_8087914
+
+gUnknown_0839F380:: @ 839F380
+ .incbin "baserom.gba", 0x0039f380, 0x8
+
+ .align 2
+gUnknown_0839F388:: @ 839F388
+ .4byte sub_8087AA4
+ .4byte sub_8087AC8
+
+ .align 2
+gUnknown_0839F390:: @ 839F390
+ .4byte sub_8087BEC
+ .4byte sub_8087C14
+ .4byte sub_8087CA4
+ .4byte sub_8087D78
+
+ .align 2
+gUnknown_0839F3A0:: @ 839F3A0
+ .4byte sub_8087E4C
+ .4byte sub_8087ED8
+ .4byte sub_8087FDC
+
+ .align 2
+gUnknown_0839F3AC:: @ 839F3AC
+ .4byte sub_8088150
+ .4byte sub_80881C0
+ .4byte sub_8088228
+ .4byte sub_80882B4
+ .4byte sub_80882E4
+ .4byte sub_8088338
+ .4byte sub_8088380
+
+ .align 2
+gUnknown_0839F3C8:: @ 839F3C8
+ .4byte sub_80884AC
+ .4byte sub_80884E8
+ .4byte sub_8088554
+ .4byte sub_80885A8
+ .4byte sub_80885D8
+ .4byte sub_808860C
+ .4byte sub_808862C
+
+ .align 2
+gUnknown_0839F3E4:: @ 839F3E4
+ .4byte sub_8088984
+ .4byte sub_80889E4
+ .4byte sub_8088A30
+ .4byte sub_8088A78
+ .4byte sub_8088AF4
+
+ .align 2
+gUnknown_0839F3F8:: @ 839F3F8
+ .4byte sub_8088CA0
+ .4byte sub_8088CF8
+ .4byte sub_8088D3C
+ .4byte sub_8088D94
+ .4byte sub_8088DD8
+ .4byte sub_8088E2C
+ .4byte sub_8088EB4
+ .4byte sub_8088F10
+ .4byte sub_8088F30
+Unknown_839F41C:
+ .incbin "baserom.gba", 0x0039f41c, 0x18
+Unknown_839F434:
+ .incbin "baserom.gba", 0x0039f434, 0x18
+
+ .align 2
+gUnknown_0839F44C:: @ 839F44C
+ .4byte Unknown_839F41C
+ .4byte Unknown_839F434
+
+ .align 2
+gUnknown_0839F454:: @ 839F454
+ .4byte sub_80892A0
+ .4byte sub_8089354
+ .4byte sub_80893C0
+ .4byte sub_8089414
+ .4byte sub_808948C
+ .4byte sub_80894C4
+ .4byte fishE
+
+gUnknown_0839F470:: @ 839F470
+ .incbin "baserom.gba", 0x0039f470, 0x24
+
+ .align 2
+gPokemonMenuActions:: @ 839F494
+ .4byte OtherText_Summary, PokemonMenu_Summary
+ .4byte OtherText_Switch2, PokemonMenu_Switch
+ .4byte OtherText_Item, PokemonMenu_Item
+ .4byte gOtherText_CancelNoTerminator, PokemonMenu_Cancel
+ .4byte OtherText_Give2, PokemonMenu_GiveItem
+ .4byte OtherText_Take2, PokemonMenu_TakeItem
+ .4byte OtherText_Take, PokemonMenu_TakeMail
+ .4byte OtherText_Mail, PokemonMenu_Mail
+ .4byte OtherText_Read2, PokemonMenu_ReadMail
+ .4byte gOtherText_CancelNoTerminator, PokemonMenu_CancelSubmenu
+ .4byte gMoveNames + 13 * MOVE_CUT, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_FLASH, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_ROCK_SMASH, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_STRENGTH, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_SURF, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_FLY, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_DIVE, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_WATERFALL, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_TELEPORT, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_DIG, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_SECRET_POWER, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_MILK_DRINK, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_SOFT_BOILED, PokemonMenu_FieldMove
+ .4byte gMoveNames + 13 * MOVE_SWEET_SCENT, PokemonMenu_FieldMove
+
+gUnknown_0839F554:: @ 839F554
+ .incbin "baserom.gba", 0x39f554, 0x1e
+
+Unknown_39F572: @ 839F572
+ .byte 4, 5, 9, 0
+
+ .align 2
+gUnknown_0839F578:: @ 839F578
+ .byte 3, 6, 0, 0
+ .4byte Unknown_39F572
+
+Unknown_39F580: @ 839F580
+ .byte 8, 6, 9, 0
+
+ .align 2
+gUnknown_0839F584:: @ 839F584
+ .byte 3, 9, 0, 0
+ .4byte Unknown_39F580
+
+ .align 2
+gFieldMoveFuncs:: @ 839F58C
+ .4byte SetUpFieldMove_Cut, 0x6
+ .4byte SetUpFieldMove_Flash, 0x9
+ .4byte SetUpFieldMove_RockSmash, 0x9
+ .4byte SetUpFieldMove_Strength, 0x9
+ .4byte SetUpFieldMove_Surf, 0x7
+ .4byte SetUpFieldMove_Fly, 0x9
+ .4byte SetUpFieldMove_Dive, 0x9
+ .4byte SetUpFieldMove_Waterfall, 0x9
+ .4byte SetUpFieldMove_Teleport, 0x9
+ .4byte SetUpFieldMove_Dig, 0x9
+ .4byte SetUpFieldMove_SecretPower, 0x9
+ .4byte SetUpFieldMove_SoftBoiled, 0x10
+ .4byte SetUpFieldMove_SoftBoiled, 0x10
+ .4byte SetUpFieldMove_SweetScent, 0x9
+
+ .align 2
+gUnknown_0839F5FC:: @ 839F5FC
+ .incbin "baserom.gba", 0x0039f5fc, 0x40
+
+ .align 2
+gUnknown_0839F63C:: @ 839F63C
+ .incbin "baserom.gba", 0x0039f63c, 0x40
+
+ .align 2
+gUnknown_0839F67C:: @ 839F67C
+ .incbin "graphics/pokedex/search.gbapal"
+
+ .align 2
+gUnknown_0839F73C:: @ 839F73C
+ .incbin "graphics/pokedex/national.gbapal"
+
+ .space 0xA4
+
+ .align 2
+gUnknown_0839F8A0:: @ 839F8A0
+ .incbin "baserom.gba", 0x0039f8a0, 0xe8
+
+ .align 2
+gUnknown_0839F988:: @ 839F988
+ .incbin "baserom.gba", 0x0039f988, 0xf4
+
+gUnknown_0839FA7C:: @ 839FA7C
+ .incbin "graphics/pokedex/noball.4bpp.lz"
+
+@ 839FAC4
+ .include "data/pokedex_orders.inc"
+
+ .align 2
+gOamData_83A0404:: @ 83A0404
+ .2byte 0x00A0
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83A040C:: @ 83A040C
+ .2byte 0x40A0
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83A0414:: @ 83A0414
+ .2byte 0x40A0
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83A041C:: @ 83A041C
+ .2byte 0x08A0
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83A0424:: @ 83A0424
+ .2byte 0x40A0
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83A042C:: @ 83A042C
+ .2byte 0x80A0
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_83A0434:: @ 83A0434
+ obj_image_anim_frame 3, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A043C:: @ 83A043C
+ obj_image_anim_frame 1, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A0444:: @ 83A0444
+ obj_image_anim_frame 16, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A044C:: @ 83A044C
+ obj_image_anim_frame 32, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A0454:: @ 83A0454
+ obj_image_anim_frame 64, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A045C:: @ 83A045C
+ obj_image_anim_frame 96, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A0464:: @ 83A0464
+ obj_image_anim_frame 128, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A046C:: @ 83A046C
+ obj_image_anim_frame 160, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A0474:: @ 83A0474
+ obj_image_anim_frame 192, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A047C:: @ 83A047C
+ obj_image_anim_frame 224, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A0484:: @ 83A0484
+ obj_image_anim_frame 226, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A048C:: @ 83A048C
+ obj_image_anim_frame 228, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A0494:: @ 83A0494
+ obj_image_anim_frame 230, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A049C:: @ 83A049C
+ obj_image_anim_frame 232, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A04A4:: @ 83A04A4
+ obj_image_anim_frame 234, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A04AC:: @ 83A04AC
+ obj_image_anim_frame 236, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A04B4:: @ 83A04B4
+ obj_image_anim_frame 238, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A04BC:: @ 83A04BC
+ obj_image_anim_frame 240, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A04C4:: @ 83A04C4
+ obj_image_anim_frame 242, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83A04CC:: @ 83A04CC
+ obj_image_anim_frame 4, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83A04D4:: @ 83A04D4
+ .4byte gSpriteAnim_83A0434
+
+ .align 2
+gSpriteAnimTable_83A04D8:: @ 83A04D8
+ .4byte gSpriteAnim_83A043C
+
+ .align 2
+gSpriteAnimTable_83A04DC:: @ 83A04DC
+ .4byte gSpriteAnim_83A0444
+
+ .align 2
+gSpriteAnimTable_83A04E0:: @ 83A04E0
+ .4byte gSpriteAnim_83A044C
+ .4byte gSpriteAnim_83A0454
+ .4byte gSpriteAnim_83A045C
+ .4byte gSpriteAnim_83A0464
+
+ .align 2
+gSpriteAnimTable_83A04F0:: @ 83A04F0
+ .4byte gSpriteAnim_83A046C
+ .4byte gSpriteAnim_83A0474
+
+ .align 2
+gSpriteAnimTable_83A04F8:: @ 83A04F8
+ .4byte gSpriteAnim_83A047C
+ .4byte gSpriteAnim_83A0484
+ .4byte gSpriteAnim_83A048C
+ .4byte gSpriteAnim_83A0494
+ .4byte gSpriteAnim_83A049C
+ .4byte gSpriteAnim_83A04A4
+ .4byte gSpriteAnim_83A04AC
+ .4byte gSpriteAnim_83A04B4
+ .4byte gSpriteAnim_83A04BC
+ .4byte gSpriteAnim_83A04C4
+
+ .align 2
+gSpriteAnimTable_83A0520:: @ 83A0520
+ .4byte gSpriteAnim_83A04CC
+
+ .align 2
+gSpriteTemplate_83A0524:: @ 83A0524
+ spr_template 4096, 4096, gOamData_83A0404, gSpriteAnimTable_83A04D4, NULL, gDummySpriteAffineAnimTable, sub_808EF38
+
+ .align 2
+gSpriteTemplate_83A053C:: @ 83A053C
+ spr_template 4096, 4096, gOamData_83A040C, gSpriteAnimTable_83A04D8, NULL, gDummySpriteAffineAnimTable, sub_808EF8C
+
+ .align 2
+gSpriteTemplate_83A0554:: @ 83A0554
+ spr_template 4096, 4096, gOamData_83A0414, gSpriteAnimTable_83A04E0, NULL, gDummySpriteAffineAnimTable, sub_808F08C
+
+ .align 2
+gSpriteTemplate_83A056C:: @ 83A056C
+ spr_template 4096, 4096, gOamData_83A041C, gSpriteAnimTable_83A04DC, NULL, gDummySpriteAffineAnimTable, sub_808F0B4
+
+ .align 2
+gSpriteTemplate_83A0584:: @ 83A0584
+ spr_template 4096, 4096, gOamData_83A0424, gSpriteAnimTable_83A04F0, NULL, gDummySpriteAffineAnimTable, sub_808ED94
+
+ .align 2
+gSpriteTemplate_83A059C:: @ 83A059C
+ spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A04F8, NULL, gDummySpriteAffineAnimTable, sub_808ED94
+
+ .align 2
+gSpriteTemplate_83A05B4:: @ 83A05B4
+ spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A0520, NULL, gDummySpriteAffineAnimTable, sub_808F168
+
+ .align 2
+gUnknown_083A05CC:: @ 83A05CC
+ obj_tiles gPokedexMenu2_Gfx, 0x1F00, 0x1000
+ null_obj_tiles
+
+ .align 2
+gUnknown_083A05DC:: @ 83A05DC
+ obj_pal gPokedexMenu_Pal, 0x1000
+ null_obj_pal
+
+gUnknown_083A05EC:: @ 83A05EC
+ .byte 2, 4, 8, 16, 32
+
+gUnknown_083A05F1:: @ 83A05F1
+ .byte 16, 8, 4, 2, 1
+
+ .align 2
+gUnknown_083A05F8:: @ 83A05F8
+ .string "$"
+
+@ 83A05F9
+ .include "data/pokedex_entries.inc"
+
+gUnknown_083B4EC4:: @ 83B4EC4
+ .space 32
+
+@ 83B4EE4
+ .include "data/graphics/pokemon/footprint_table.inc"
+
+gUnknown_083B5558:: @ 83B5558
+ .incbin "baserom.gba", 0x3b5558, 0x24
+
+ .align 2
+gOamData_83B557C:: @ 83B557C
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gUnknown_083B5584:: @ 83B5584
+ .4byte 0x02008000
+ .4byte 0x0200c000
+ .4byte 0x02010000
+ .4byte 0x02014000
+
+ .align 2
+gSpriteImageTable_83B5594:: @ 83B5594
+ obj_frame_tiles 0x02008000, 0x800
+ obj_frame_tiles 0x02008800, 0x800
+ obj_frame_tiles 0x02009000, 0x800
+ obj_frame_tiles 0x02009800, 0x800
+ obj_frame_tiles 0x0200A000, 0x800
+ obj_frame_tiles 0x0200A800, 0x800
+ obj_frame_tiles 0x0200B000, 0x800
+ obj_frame_tiles 0x0200B800, 0x800
+ obj_frame_tiles 0x0200C000, 0x800
+ obj_frame_tiles 0x0200C800, 0x800
+ obj_frame_tiles 0x0200D000, 0x800
+ obj_frame_tiles 0x0200D800, 0x800
+ obj_frame_tiles 0x0200E000, 0x800
+ obj_frame_tiles 0x0200E800, 0x800
+ obj_frame_tiles 0x0200F000, 0x800
+ obj_frame_tiles 0x0200F800, 0x800
+
+ .align 2
+gSpriteImageTable_83B5614:: @ 83B5614
+ obj_frame_tiles 0x0200C000, 0x800
+ obj_frame_tiles 0x0200C800, 0x800
+ obj_frame_tiles 0x0200D000, 0x800
+ obj_frame_tiles 0x0200D800, 0x800
+ obj_frame_tiles 0x0200E000, 0x800
+ obj_frame_tiles 0x0200E800, 0x800
+ obj_frame_tiles 0x0200F000, 0x800
+ obj_frame_tiles 0x0200F800, 0x800
+ obj_frame_tiles 0x02010000, 0x800
+ obj_frame_tiles 0x02010800, 0x800
+ obj_frame_tiles 0x02011000, 0x800
+ obj_frame_tiles 0x02011800, 0x800
+ obj_frame_tiles 0x02012000, 0x800
+ obj_frame_tiles 0x02012800, 0x800
+ obj_frame_tiles 0x02013000, 0x800
+ obj_frame_tiles 0x02013800, 0x800
+
+ .align 2
+gSpriteImageTable_83B5694:: @ 83B5694
+ obj_frame_tiles 0x02010000, 0x800
+ obj_frame_tiles 0x02010800, 0x800
+ obj_frame_tiles 0x02011000, 0x800
+ obj_frame_tiles 0x02011800, 0x800
+ obj_frame_tiles 0x02012000, 0x800
+ obj_frame_tiles 0x02012800, 0x800
+ obj_frame_tiles 0x02013000, 0x800
+ obj_frame_tiles 0x02013800, 0x800
+ obj_frame_tiles 0x02014000, 0x800
+ obj_frame_tiles 0x02014800, 0x800
+ obj_frame_tiles 0x02015000, 0x800
+ obj_frame_tiles 0x02015800, 0x800
+ obj_frame_tiles 0x02016000, 0x800
+ obj_frame_tiles 0x02016800, 0x800
+ obj_frame_tiles 0x02017000, 0x800
+ obj_frame_tiles 0x02017800, 0x800
+
+ .align 2
+gSpriteImageTable_83B5714:: @ 83B5714
+ obj_frame_tiles 0x02014000, 0x800
+ obj_frame_tiles 0x02014800, 0x800
+ obj_frame_tiles 0x02015000, 0x800
+ obj_frame_tiles 0x02015800, 0x800
+ obj_frame_tiles 0x02016000, 0x800
+ obj_frame_tiles 0x02016800, 0x800
+ obj_frame_tiles 0x02017000, 0x800
+ obj_frame_tiles 0x02017800, 0x800
+ obj_frame_tiles 0x02018000, 0x800
+ obj_frame_tiles 0x02018800, 0x800
+ obj_frame_tiles 0x02019000, 0x800
+ obj_frame_tiles 0x02019800, 0x800
+ obj_frame_tiles 0x0201A000, 0x800
+ obj_frame_tiles 0x0201A800, 0x800
+ obj_frame_tiles 0x0201B000, 0x800
+ obj_frame_tiles 0x0201B800, 0x800
+
+ .align 2
+gUnknown_083B5794:: @ 83B5794
+ .4byte gSpriteImageTable_83B5594
+ .4byte gSpriteImageTable_83B5614
+ .4byte gSpriteImageTable_83B5694
+ .4byte gSpriteImageTable_83B5714
+
+ .align 2
+gUnknown_083B57A4:: @ 83B57A4
+ spr_template 0xFFFF, 0, gOamData_83B557C, NULL, gSpriteImageTable_83B5594, gDummySpriteAffineAnimTable, nullsub_59
+
+gUnknown_083B57BC:: @ 83B57BC
+ .incbin "baserom.gba", 0x003b57bc, 0x28
+
+ .align 2
+gUnknown_083B57E4:: @ 83B57E4
+ .4byte DexText_SearchForPoke
+ .2byte 0, 5
+ .4byte DexText_SwitchDex
+ .2byte 6, 5
+ .4byte DexText_ReturnToDex
+ .2byte 12, 5
+
+ .align 2
+gUnknown_083B57FC:: @ 83B57FC
+ .4byte DexText_ListByABC
+ .byte 0, 2, 5, 5, 2, 12, 0, 0
+ .4byte DexText_ListByColor
+ .byte 0, 4, 5, 5, 4, 12, 0, 0
+ .4byte DexText_ListByType
+ .byte 0, 6, 5, 5, 6, 6, 0, 0
+ .4byte DexText_ListByType
+ .byte 0, 6, 5, 11, 6, 6, 0, 0
+ .4byte DexText_SelectDexList
+ .byte 0, 8, 5, 5, 8, 12, 0, 0
+ .4byte DexText_SelectDexMode
+ .byte 0, 10, 5, 5, 10, 12, 0, 0
+ .4byte DexText_ExecuteSearchSwitch
+ .byte 0, 12, 5, 0, 0, 0, 0, 0
+
+gUnknown_083B5850:: @ 83B5850
+ .incbin "baserom.gba", 0x003b5850, 0x1c
+
+gUnknown_083B586C:: @ 83B586C
+ .incbin "baserom.gba", 0x003b586c, 0x1c
+
+gUnknown_083B5888:: @ 83B5888
+ .incbin "baserom.gba", 0x003b5888, 0x1c
+
+gUnknown_083B58A4:: @ 83B58A4
+ .incbin "baserom.gba", 0x003b58a4, 0x1c
+
+ .align 2
+gUnknown_083B58C0:: @ 83B58C0
+ .4byte DexText_HoennDex2, DexText_HoennDex
+ .4byte DexText_NationalDex2, DexText_NationalDex
+ .4byte 0x0, 0x0
+
+ .align 2
+gUnknown_083B58D8:: @ 83B58D8
+ .4byte DexText_ListByNumber, DexText_NumericalMode
+ .4byte DexText_ListByABC2, DexText_ABCMode
+ .4byte DexText_ListByHeavyToLightest, DexText_HeaviestMode
+ .4byte DexText_ListByLightToHeaviest, DexText_LightestMode
+ .4byte DexText_ListByTallToSmallest, DexText_TallestMode
+ .4byte DexText_ListBySmallToTallest, DexText_SmallestMode
+ .4byte 0x0, 0x0
+
+ .align 2
+gUnknown_083B5910:: @ 83B5910
+ .4byte DexText_Terminator5, DexText_DontSpecify
+ .4byte DexText_Terminator5, DexText_ABC
+ .4byte DexText_Terminator5, DexText_DEF
+ .4byte DexText_Terminator5, DexText_GHI
+ .4byte DexText_Terminator5, DexText_JKL
+ .4byte DexText_Terminator5, DexText_MNO
+ .4byte DexText_Terminator5, DexText_PQR
+ .4byte DexText_Terminator5, DexText_STU
+ .4byte DexText_Terminator5, DexText_VWX
+ .4byte DexText_Terminator5, DexText_YZ
+ .4byte 0x0, 0x0
+
+ .align 2
+gUnknown_083B5968:: @ 83B5968
+ .4byte DexText_Terminator5, DexText_DontSpecify
+ .4byte DexText_Terminator5, DexText_Red
+ .4byte DexText_Terminator5, DexText_Blue
+ .4byte DexText_Terminator5, DexText_Yellow
+ .4byte DexText_Terminator5, DexText_Green
+ .4byte DexText_Terminator5, DexText_Black
+ .4byte DexText_Terminator5, DexText_Brown
+ .4byte DexText_Terminator5, DexText_Purple
+ .4byte DexText_Terminator5, DexText_Gray
+ .4byte DexText_Terminator5, DexText_White
+ .4byte DexText_Terminator5, DexText_Pink
+ .4byte 0x0, 0x0
+
+ .align 2
+gUnknown_083B59C8:: @ 83B59C8
+ .4byte DexText_Terminator5, DexText_None
+ .4byte DexText_Terminator5, gTypeNames + TYPE_NORMAL * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_FIGHTING * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_FLYING * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_POISON * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_GROUND * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_ROCK * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_BUG * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_GHOST * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_STEEL * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_FIRE * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_WATER * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_GRASS * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_ELECTRIC * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_PSYCHIC * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_ICE * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_DRAGON * 7
+ .4byte DexText_Terminator5, gTypeNames + TYPE_DARK * 7
+ .4byte 0x0, 0x0
+
+gUnknown_083B5A60:: @ 83B5A60
+ .byte 0, 1
+
+gUnknown_083B5A62:: @ 83B5A62
+ .byte 0, 1, 2, 3, 4, 5
+
+gUnknown_083B5A68:: @ 83B5A68
+ .byte -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17
+
+ .align 2
+gUnknown_083B5A7C:: @ 83B5A7C
+ .4byte gUnknown_083B5910
+ .byte 6, 7, 10, 0
+ .4byte gUnknown_083B5968
+ .byte 8, 9, 11, 0
+ .4byte gUnknown_083B59C8
+ .byte 10, 11, 18, 0
+ .4byte gUnknown_083B59C8
+ .byte 12, 13, 18, 0
+ .4byte gUnknown_083B58D8
+ .byte 4, 5, 6, 0
+ .4byte gUnknown_083B58C0
+ .byte 2, 3, 2, 0
+
+gUnknown_083B5AAC:: @ 83B5AAC
+ .incbin "baserom.gba", 0x003b5aac, 0x6
+
+gUnknown_083B5AB2:: @ 83B5AB2
+ .incbin "baserom.gba", 0x003b5ab2, 0x6
+
+ .align 2
+gBadgesTiles:: @ 83B5AB8
+ .incbin "graphics/trainer_card/badges.4bpp"
+
+ .align 2
+ .4byte 0x02000000 @ XXX
+
+ .align 2
+gUnknown_083B5EBC:: @ 83B5EBC
+ .4byte sub_8093864
+ .4byte sub_80938A8
+ .4byte sub_80938CC
+ .4byte sub_8093918
+ .4byte sub_8093938
+ .4byte sub_8093954
+ .4byte sub_8093980
+
+ .align 2
+gUnknown_083B5ED8:: @ 83B5ED8
+ .4byte sub_8093AA0
+ .4byte sub_8093AF0
+ .4byte sub_8093C0C
+ .4byte sub_8093C38
+ .4byte sub_8093D50
+
+ .align 2
+gUnknown_083B5EEC:: @ 83B5EEC
+ .4byte gUnknown_08E8CAC0
+ .4byte gUnknown_08E8D4C0
+
+gUnknown_083B5EF4:: @ 83B5EF4
+ .string " : $"
+
+ .align 2
+gUnknown_083B5EF8:: @ 83B5EF8
+ .4byte gMenuTrainerCard0Star_Pal
+ .4byte gMenuTrainerCard1Star_Pal
+ .4byte gMenuTrainerCard2Star_Pal
+ .4byte gMenuTrainerCard3Star_Pal
+ .4byte gMenuTrainerCard4Star_Pal
+
+gUnknown_083B5F0C:: @ 83B5F0C
+ .incbin "baserom.gba", 0x003b5f0c, 0x20
+
+ .align 2
+gBadgesPalette:: @ 83B5F2C
+ .incbin "graphics/trainer_card/badges.gbapal"
+
+gUnknown_083B5F4C:: @ 83B5F4C
+ .incbin "baserom.gba", 0x003b5f4c, 0x20
+
+gUnknown_083B5F6C:: @ 83B5F6C
+ .incbin "baserom.gba", 0x003b5f6c, 0x20
+
+gUnknown_083B5F8C:: @ 83B5F8C
+ .incbin "baserom.gba", 0x003b5f8c, 0x40
+
+ .align 2
+gUnknown_083B5FCC:: @ 83B5FCC
+ .4byte OtherText_Summary, sub_8095544
+ .4byte gOtherText_CancelNoTerminator, sub_80958C4
+ .4byte OtherText_Shift, sub_8095584
+ .4byte OtherText_SendOut, sub_8095584
+
+Unknown_83B5FEC: @ 83B5FEC
+ .byte 2, 0, 1
+
+Unknown_83B5FEF: @ 83B5FEF
+ .byte 3, 0, 1
+
+Unknown_83B5FF2: @ 83B5FF2
+ .byte 0, 1
+
+ .align 2
+gUnknown_083B5FF4:: @ 83B5FF4
+ .byte 3, 9
+ .space 2
+ .4byte Unknown_83B5FEC
+
+ .byte 3, 9
+ .space 2
+ .4byte Unknown_83B5FEF
+
+ .byte 2, 9
+ .space 2
+ .4byte Unknown_83B5FF2
+
+ .align 2
+gUnknown_083B600C:: @ 83B600C
+ .4byte PCText_WithdrawPoke, PCText_MovePokeToParty
+ .4byte PCText_DepositPoke, PCText_StorePokeInBox
+ .4byte PCText_MovePoke, PCText_OrganizeBoxesParty
+ .4byte PCText_SeeYa, PCText_ReturnToPrevMenu
+
+ .align 2
+gSpriteAnim_83B602C:: @ 83B602C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83B6034:: @ 83B6034
+ obj_image_anim_frame 4, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83B603C:: @ 83B603C
+ obj_image_anim_frame 6, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83B6044:: @ 83B6044
+ obj_image_anim_frame 10, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83B604C:: @ 83B604C
+ .4byte gSpriteAnim_83B602C
+ .4byte gSpriteAnim_83B6034
+ .4byte gSpriteAnim_83B603C
+ .4byte gSpriteAnim_83B6044
+
+ .align 2
+gSpriteAffineAnim_83B605C:: @ 83B605C
+ obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83B606C:: @ 83B606C
+ .4byte gSpriteAffineAnim_83B605C
+
+ .align 2
+gBoxSelectionPopupPalette:: @ 83B6070
+ .incbin "graphics/pokemon_storage/box_selection_popup.gbapal"
+
+ .align 2
+gBoxSelectionPopupCenterTiles:: @ 83B6090
+ .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp"
+
+ .align 2
+gBoxSelectionPopupSidesTiles:: @ 83B6890
+ .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp"
+
+ .align 2
+gPokemonStorageScrollingBGPalette:: @ 83B6A10
+ .incbin "graphics/pokemon_storage/scrolling_bg.gbapal"
+
+ .align 2
+gPokemonStorageScrollingBGTile:: @ 83B6A30
+ .incbin "graphics/pokemon_storage/scrolling_bg.4bpp"
+
+ .align 2
+gPokemonStorageScrollingBGTilemap:: @ 83B6A50
+ .incbin "graphics/pokemon_storage/scrolling_bg_map.bin.lz"
+
+ .incbin "baserom.gba", 0x003b6b4c, 0x48
+
+ .align 2
+WaveformPalette: @ 83B6B94
+ .incbin "graphics/pokemon_storage/waveform.gbapal"
+
+ .align 2
+WaveformTiles: @ 83B6BB4
+ .incbin "graphics/pokemon_storage/waveform.4bpp"
+
+ .align 2
+gUnknown_083B6D74:: @ 83B6D74
+ .incbin "baserom.gba", 0x003b6d74, 0x20
+
+ .align 2
+gUnknown_083B6D94:: @ 83B6D94
+ .incbin "baserom.gba", 0x003b6d94, 0x20
+
+ .align 2
+gUnknown_083B6DB4:: @ 83B6DB4
+ .4byte 0x02000000
+
+ .align 2
+gUnknown_083B6DB8:: @ 83B6DB8
+ .4byte gTileBuffer
+
+ .align 2
+gWaveformSpritePalette:: @ 83B6DBC
+ obj_pal WaveformPalette, 56013
+
+ .align 2
+gWaveformSpriteSheet:: @ 83B6DC4
+ obj_tiles WaveformTiles, 0x1C0, 5
+
+ .align 2
+gUnknown_083B6DCC:: @ 83B6DCC
+ obj_tiles 0x02002784, 0x800, 2
+
+ .align 2
+gUnknown_083B6DD4:: @ 83B6DD4
+ obj_pal 0x02002704, 56007
+
+ .align 2
+gSpriteTemplate_83B6DDC:: @ 83B6DDC
+ spr_template 2, 56007, gOamData_83B6EAC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083B6DF4:: @ 83B6DF4
+ .4byte PCText_ExitBox, 0
+ .4byte PCText_WhatYouDo, 0
+ .4byte PCText_PickATheme, 0
+ .4byte PCText_PickAWallpaper, 0
+ .4byte PCText_IsSelected, 1
+ .4byte PCText_JumpToWhichBox, 0
+ .4byte PCText_DepositInWhichBox, 0
+ .4byte PCText_WasDeposited, 1
+ .4byte PCText_BoxIsFull, 0
+ .4byte PCText_ReleasePoke, 0
+ .4byte PCText_WasReleased, 4
+ .4byte PCText_ByeBye, 6
+ .4byte PCText_MarkPoke, 0
+ .4byte PCText_LastPoke, 0
+ .4byte PCText_PartyFull, 0
+ .4byte PCText_HoldingPoke, 0
+ .4byte PCText_WhichOneWillTake, 0
+ .4byte PCText_CantReleaseEgg, 0
+ .4byte PCText_ContinueBox, 0
+ .4byte PCText_CameBack, 1
+ .4byte PCText_Worried, 0
+ .4byte PCText_Surprise, 0
+ .4byte PCText_PleaseRemoveMail, 0
+
+ .align 2
+gOamData_83B6EAC:: @ 83B6EAC
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83B6EB4:: @ 83B6EB4
+ .2byte 0x4000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_83B6EBC:: @ 83B6EBC
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83B6EC4:: @ 83B6EC4
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 6, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83B6ED4:: @ 83B6ED4
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83B6EDC:: @ 83B6EDC
+ obj_image_anim_frame 10, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 12, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83B6EEC:: @ 83B6EEC
+ .4byte gSpriteAnim_83B6EBC
+ .4byte gSpriteAnim_83B6EC4
+ .4byte gSpriteAnim_83B6ED4
+ .4byte gSpriteAnim_83B6EDC
+
+ .align 2
+gSpriteTemplate_83B6EFC:: @ 83B6EFC
+ spr_template 5, 56013, gOamData_83B6EB4, gSpriteAnimTable_83B6EEC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83B6F14:: @ 83B6F14
+ spr_template 15, 56000, gOamData_83B6F2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_83B6F2C:: @ 83B6F2C
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+Unknown_83B6F34: @ 83B6F34
+ .incbin "baserom.gba", 0x003b6f34, 0x10
+
+ .align 2
+Unknown_83B6F44: @ 83B6F44
+ .incbin "baserom.gba", 0x003b6f44, 0x18
+
+ .align 2
+gUnknown_083B6F5C:: @ 83B6F5C
+ .4byte Unknown_83B6F34
+ .4byte Unknown_83B6F44
+
+ .align 2
+gWallpaperPalettes_Forest: @ 83B6F64
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/forest_frame.gbapal"
+ .incbin "graphics/pokemon_storage/forest_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Forest: @ 83B6FC4
+ .incbin "graphics/pokemon_storage/forest.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Forest: @ 83B7394
+ .incbin "graphics/pokemon_storage/forest.bin.lz"
+
+ .align 2
+gWallpaperPalettes_City: @ 83B7470
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/city_frame.gbapal"
+ .incbin "graphics/pokemon_storage/city_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_City: @ 83B74D0
+ .incbin "graphics/pokemon_storage/city.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_City: @ 83B76D8
+ .incbin "graphics/pokemon_storage/city.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Desert: @ 83B7788
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/desert_frame.gbapal"
+ .incbin "graphics/pokemon_storage/desert_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Desert: @ 83B77E8
+ .incbin "graphics/pokemon_storage/desert.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Desert: @ 83B7AD4
+ .incbin "graphics/pokemon_storage/desert.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Savanna: @ 83B7BB8
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/savanna_frame.gbapal"
+ .incbin "graphics/pokemon_storage/savanna_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Savanna: @ 83B7C18
+ .incbin "graphics/pokemon_storage/savanna.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Savanna: @ 83B7E38
+ .incbin "graphics/pokemon_storage/savanna.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Crag: @ 83B7F04
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/crag_frame.gbapal"
+ .incbin "graphics/pokemon_storage/crag_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Crag: @ 83B7F64
+ .incbin "graphics/pokemon_storage/crag.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Crag: @ 83B82B4
+ .incbin "graphics/pokemon_storage/crag.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Volcano: @ 83B838C
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/volcano_frame.gbapal"
+ .incbin "graphics/pokemon_storage/volcano_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Volcano: @ 83B83EC
+ .incbin "graphics/pokemon_storage/volcano.4bpp.lz"
+
+ .space 4
+
+ .align 2
+gWallpaperTilemap_Volcano: @ 83B8720
+ .incbin "graphics/pokemon_storage/volcano.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Snow: @ 83B87F8
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/snow_frame.gbapal"
+ .incbin "graphics/pokemon_storage/snow_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Snow: @ 83B8858
+ .incbin "graphics/pokemon_storage/snow.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Snow: @ 83B8B10
+ .incbin "graphics/pokemon_storage/snow.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Cave: @ 83B8BDC
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/cave_frame.gbapal"
+ .incbin "graphics/pokemon_storage/cave_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Cave: @ 83B8C3C
+ .incbin "graphics/pokemon_storage/cave.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Cave: @ 83B8F80
+ .incbin "graphics/pokemon_storage/cave.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Beach: @ 83B905C
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/beach_frame.gbapal"
+ .incbin "graphics/pokemon_storage/beach_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Beach: @ 83B90BC
+ .incbin "graphics/pokemon_storage/beach.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Beach: @ 83B9440
+ .incbin "graphics/pokemon_storage/beach.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Seafloor: @ 83B9528
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/seafloor_frame.gbapal"
+ .incbin "graphics/pokemon_storage/seafloor_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Seafloor: @ 83B9588
+ .incbin "graphics/pokemon_storage/seafloor.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Seafloor: @ 83B983C
+ .incbin "graphics/pokemon_storage/seafloor.bin.lz"
+
+ .align 2
+gWallpaperPalettes_River: @ 83B9918
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/river_frame.gbapal"
+ .incbin "graphics/pokemon_storage/river_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_River: @ 83B9978
+ .incbin "graphics/pokemon_storage/river.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_River: @ 83B9C0C
+ .incbin "graphics/pokemon_storage/river.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Sky: @ 83B9CF8
+ .incbin "graphics/pokemon_storage/box_bg1.gbapal"
+ .incbin "graphics/pokemon_storage/sky_frame.gbapal"
+ .incbin "graphics/pokemon_storage/sky_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Sky: @ 83B9D58
+ .incbin "graphics/pokemon_storage/sky.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Sky: @ 83B9FF0
+ .incbin "graphics/pokemon_storage/sky.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Polkadot: @ 83BA0D0
+ .incbin "graphics/pokemon_storage/box_bg2.gbapal"
+ .incbin "graphics/pokemon_storage/polkadot_frame.gbapal"
+ .incbin "graphics/pokemon_storage/polkadot_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Polkadot: @ 83BA130
+ .incbin "graphics/pokemon_storage/polkadot.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Polkadot: @ 83BA32C
+ .incbin "graphics/pokemon_storage/polkadot.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Pokecenter: @ 83BA3E4
+ .incbin "graphics/pokemon_storage/box_bg2.gbapal"
+ .incbin "graphics/pokemon_storage/pokecenter_frame.gbapal"
+ .incbin "graphics/pokemon_storage/pokecenter_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Pokecenter: @ 83BA444
+ .incbin "graphics/pokemon_storage/pokecenter.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Pokecenter: @ 83BA7E8
+ .incbin "graphics/pokemon_storage/pokecenter.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Machine: @ 83BA8FC
+ .incbin "graphics/pokemon_storage/box_bg3.gbapal"
+ .incbin "graphics/pokemon_storage/machine_frame.gbapal"
+ .incbin "graphics/pokemon_storage/machine_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Machine: @ 83BA95C
+ .incbin "graphics/pokemon_storage/machine.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Machine: @ 83BAC4C
+ .incbin "graphics/pokemon_storage/machine.bin.lz"
+
+ .align 2
+gWallpaperPalettes_Plain: @ 83BAD18
+ .incbin "graphics/pokemon_storage/box_bg4.gbapal"
+ .incbin "graphics/pokemon_storage/plain_frame.gbapal"
+ .incbin "graphics/pokemon_storage/plain_bg.gbapal"
+
+ .align 2
+gWallpaperTiles_Plain: @ 83BAD78
+ .incbin "graphics/pokemon_storage/plain.4bpp.lz"
+
+ .align 2
+gWallpaperTilemap_Plain: @ 83BAE74
+ .incbin "graphics/pokemon_storage/plain.bin.lz"
+
+@ 12×18 tilemap
+ .incbin "graphics/unused/tilemap_3BAEF8.bin"
+
+gUnknown_083BB0A8:: @ 83BB0A8
+ .incbin "baserom.gba", 0x003bb0a8, 0x40
+
+ .align 2
+gWallpaperTable:: @ 83BB0E8
+ @ Forest
+ .4byte gWallpaperTiles_Forest
+ .4byte 0x3D0
+ .4byte gWallpaperTilemap_Forest
+ .4byte gWallpaperPalettes_Forest
+
+ @ City
+ .4byte gWallpaperTiles_City
+ .4byte 0x208
+ .4byte gWallpaperTilemap_City
+ .4byte gWallpaperPalettes_City
+
+ @ Desert
+ .4byte gWallpaperTiles_Desert
+ .4byte 0x2EC
+ .4byte gWallpaperTilemap_Desert
+ .4byte gWallpaperPalettes_Desert
+
+ @ Savanna
+ .4byte gWallpaperTiles_Savanna
+ .4byte 0x220
+ .4byte gWallpaperTilemap_Savanna
+ .4byte gWallpaperPalettes_Savanna
+
+ @ Crag
+ .4byte gWallpaperTiles_Crag
+ .4byte 0x350
+ .4byte gWallpaperTilemap_Crag
+ .4byte gWallpaperPalettes_Crag
+
+ @ Volcano
+ .4byte gWallpaperTiles_Volcano
+ .4byte 0x334
+ .4byte gWallpaperTilemap_Volcano
+ .4byte gWallpaperPalettes_Volcano
+
+ @ Snow
+ .4byte gWallpaperTiles_Snow
+ .4byte 0x2B8
+ .4byte gWallpaperTilemap_Snow
+ .4byte gWallpaperPalettes_Snow
+
+ @ Cave
+ .4byte gWallpaperTiles_Cave
+ .4byte 0x344
+ .4byte gWallpaperTilemap_Cave
+ .4byte gWallpaperPalettes_Cave
+
+ @ Beach
+ .4byte gWallpaperTiles_Beach
+ .4byte 0x384
+ .4byte gWallpaperTilemap_Beach
+ .4byte gWallpaperPalettes_Beach
+
+ @ Seafloor
+ .4byte gWallpaperTiles_Seafloor
+ .4byte 0x2B4
+ .4byte gWallpaperTilemap_Seafloor
+ .4byte gWallpaperPalettes_Seafloor
+
+ @ River
+ .4byte gWallpaperTiles_River
+ .4byte 0x294
+ .4byte gWallpaperTilemap_River
+ .4byte gWallpaperPalettes_River
+
+ @ Sky
+ .4byte gWallpaperTiles_Sky
+ .4byte 0x298
+ .4byte gWallpaperTilemap_Sky
+ .4byte gWallpaperPalettes_Sky
+
+ @ Polkadot
+ .4byte gWallpaperTiles_Polkadot
+ .4byte 0x1FC
+ .4byte gWallpaperTilemap_Polkadot
+ .4byte gWallpaperPalettes_Polkadot
+
+ @ Pokecenter
+ .4byte gWallpaperTiles_Pokecenter
+ .4byte 0x3A4
+ .4byte gWallpaperTilemap_Pokecenter
+ .4byte gWallpaperPalettes_Pokecenter
+
+ @ Machine
+ .4byte gWallpaperTiles_Machine
+ .4byte 0x2F0
+ .4byte gWallpaperTilemap_Machine
+ .4byte gWallpaperPalettes_Machine
+
+ @ Plain
+ .4byte gWallpaperTiles_Plain
+ .4byte 0xFC
+ .4byte gWallpaperTilemap_Plain
+ .4byte gWallpaperPalettes_Plain
+
+PCPal_Arrow:
+ .incbin "graphics/pokemon_storage/arrow.gbapal"
+PCGfx_Arrow:
+ .incbin "graphics/pokemon_storage/arrow.4bpp"
+
+ .align 2
+gUnknown_083BB288:: @ 83BB288
+ obj_tiles PCGfx_Arrow, 128, 0x0006
+
+ .align 2
+gUnknown_083BB290:: @ 83BB290
+ obj_pal PCPal_Arrow, 0xDACF
+
+ .align 2
+gOamData_83BB298:: @ 83BB298
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83BB2A0:: @ 83BB2A0
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83BB2A8:: @ 83BB2A8
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83BB2B0:: @ 83BB2B0
+ .4byte gSpriteAnim_83BB2A0
+ .4byte gSpriteAnim_83BB2A8
+
+ .align 2
+gSpriteTemplate_83BB2B8:: @ 83BB2B8
+ spr_template 3, 56008, gOamData_83BB298, gSpriteAnimTable_83BB2B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_83BB2D0:: @ 83BB2D0
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83BB2D8:: @ 83BB2D8
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83BB2E0:: @ 83BB2E0
+ obj_image_anim_frame 2, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83BB2E8:: @ 83BB2E8
+ .4byte gSpriteAnim_83BB2D8
+ .4byte gSpriteAnim_83BB2E0
+
+ .align 2
+gSpriteTemplate_83BB2F0:: @ 83BB2F0
+ spr_template 6, 56015, gOamData_83BB2D0, gSpriteAnimTable_83BB2E8, NULL, gDummySpriteAffineAnimTable, sub_809A8C8
+
+ .align 2
+HandCursorPalette: @ 83BB308
+ .incbin "graphics/pokemon_storage/hand_cursor_pal.bin"
+
+ .align 2
+HandCursorAltPalette: @ 83BB328
+ .incbin "graphics/pokemon_storage/hand_cursor_alt_pal.bin"
+
+ .align 2
+HandCursorTiles: @ 83BB348
+ .incbin "graphics/pokemon_storage/hand_cursor.4bpp"
+
+ .align 2
+HandCursorShadowTiles: @ 83BBB48
+ .incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp"
+
+ .align 2
+gUnknown_083BBBC8:: @ 83BBBC8
+ .4byte sub_809B150
+ .4byte sub_809B1D8
+ .4byte sub_809B24C
+
+ .align 2
+gUnknown_083BBBD4:: @ 83BBBD4
+ .4byte sub_809C464, 0
+ .4byte sub_809C664, 1
+ .4byte sub_809C85C, 2
+ .4byte sub_809C944, 3
+ .4byte NULL, 0
+
+ .align 2
+gHandCursorSpriteSheets:: @ 83BBBFC
+ obj_tiles HandCursorTiles, 0x800, 0
+ obj_tiles HandCursorShadowTiles, 0x80, 1
+ null_obj_tiles
+
+ .align 2
+gHandCursorSpritePalettes:: @ 83BBC14
+ obj_pal HandCursorPalette, 56006
+ obj_pal HandCursorAltPalette, 56017
+ null_obj_pal
+
+ .align 2
+gOamData_83BBC2C:: @ 83BBC2C
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83BBC34:: @ 83BBC34
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83BBC3C:: @ 83BBC3C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 16, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83BBC48:: @ 83BBC48
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83BBC50:: @ 83BBC50
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83BBC58:: @ 83BBC58
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83BBC60:: @ 83BBC60
+ .4byte gSpriteAnim_83BBC3C
+ .4byte gSpriteAnim_83BBC48
+ .4byte gSpriteAnim_83BBC50
+ .4byte gSpriteAnim_83BBC58
+
+ .align 2
+gSpriteTemplate_83BBC70:: @ 83BBC70
+ spr_template 0, 56006, gOamData_83BBC2C, gSpriteAnimTable_83BBC60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83BBC88:: @ 83BBC88
+ spr_template 1, 56006, gOamData_83BBC34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_809CB74
+
+ .align 2
+gUnknown_083BBCA0:: @ 83BBCA0
+ .4byte PCText_Cancel2
+ .4byte PCText_Deposit
+ .4byte PCText_Withdraw
+ .4byte PCText_Move
+ .4byte PCText_Switch
+ .4byte PCText_Place
+ .4byte PCText_Summary
+ .4byte PCText_Release
+ .4byte PCText_Mark
+ .4byte PCText_Jump
+ .4byte PCText_Wallpaper
+ .4byte PCText_Name
+ .4byte PCText_Scenery1
+ .4byte PCText_Scenery2
+ .4byte PCText_Scenery3
+ .4byte PCText_Etc
+ .4byte PCText_Forest
+ .4byte PCText_City
+ .4byte PCText_Desert
+ .4byte PCText_Savanna
+ .4byte PCText_Crag
+ .4byte PCText_Volcano
+ .4byte PCText_Snow
+ .4byte PCText_Cave
+ .4byte PCText_Beach
+ .4byte PCText_Seafloor
+ .4byte PCText_River
+ .4byte PCText_Sky
+ .4byte PCText_Polka
+ .4byte PCText_PokeCenter
+ .4byte PCText_Machine
+ .4byte PCText_Plain
+
+@ 83BBD20
+ .include "data/graphics/pokemon/icon_table.inc"
+
+@ 83BC400
+ .include "data/graphics/pokemon/icon_palette_indices.inc"
+
+@ 83BC5B8
+ .include "data/graphics/pokemon/icon_palette_table.inc"
+
+ .align 2
+gOamData_83BC5E8:: @ 83BC5E8
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83BC5F0:: @ 83BC5F0
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83BC5FC:: @ 83BC5FC
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83BC608:: @ 83BC608
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83BC614:: @ 83BC614
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83BC620:: @ 83BC620
+ obj_image_anim_frame 0, 29
+ obj_image_anim_frame 0, 29
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83BC62C:: @ 83BC62C
+ .4byte gSpriteAnim_83BC5F0
+ .4byte gSpriteAnim_83BC5FC
+ .4byte gSpriteAnim_83BC608
+ .4byte gSpriteAnim_83BC614
+ .4byte gSpriteAnim_83BC620
+
+ .align 2
+gSpriteAffineAnim_83BC640:: @ 83BC640
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 10
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83BC650:: @ 83BC650
+ obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 122
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83BC660:: @ 83BC660
+ .4byte gSpriteAffineAnim_83BC640
+ .4byte gSpriteAffineAnim_83BC650
+
+ .align 1
+gSpriteImageSizes:: @ 83BC668
+ @ square
+ .2byte 0x20 @ 1×1
+ .2byte 0x80 @ 2×2
+ .2byte 0x200 @ 4×4
+ .2byte 0x800 @ 8×8
+
+ @ horizontal rectangle
+ .2byte 0x40 @ 2×1
+ .2byte 0x80 @ 4×1
+ .2byte 0x100 @ 4×2
+ .2byte 0x400 @ 8×4
+
+ @ vertical rectangle
+ .2byte 0x40 @ 1×2
+ .2byte 0x80 @ 1×4
+ .2byte 0x100 @ 2×4
+ .2byte 0x400 @ 4×8
+
+@ 83BC680
+ .include "data/text/move_descriptions.inc"
+
+@ 83C0F60
+ .include "data/text/nature_names.inc"
+
+ .align 2
+gUnknown_083C1068:: @ 83C1068
+ .4byte gEmptyString_81E72B0
+ .4byte OtherText_PokeInfo
+ .4byte OtherText_PokeSkills
+ .4byte OtherText_BattleMoves
+ .4byte OtherText_ContestMoves
+ .4byte OtherText_Switch
+ .4byte OtherText_Info
+ .4byte gOtherText_CancelNoTerminator
+
+ .align 2
+gSpriteAffineAnim_83C1088:: @ 83C1088
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83C1098:: @ 83C1098
+ .4byte gSpriteAffineAnim_83C1088
+
+ .align 2
+gOamData_83C109C:: @ 83C109C
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83C10A4:: @ 83C10A4
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10AC:: @ 83C10AC
+ obj_image_anim_frame 8, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10B4:: @ 83C10B4
+ obj_image_anim_frame 16, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10BC:: @ 83C10BC
+ obj_image_anim_frame 24, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10C4:: @ 83C10C4
+ obj_image_anim_frame 32, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10CC:: @ 83C10CC
+ obj_image_anim_frame 40, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10D4:: @ 83C10D4
+ obj_image_anim_frame 48, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10DC:: @ 83C10DC
+ obj_image_anim_frame 56, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10E4:: @ 83C10E4
+ obj_image_anim_frame 64, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10EC:: @ 83C10EC
+ obj_image_anim_frame 72, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10F4:: @ 83C10F4
+ obj_image_anim_frame 80, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C10FC:: @ 83C10FC
+ obj_image_anim_frame 88, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1104:: @ 83C1104
+ obj_image_anim_frame 96, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C110C:: @ 83C110C
+ obj_image_anim_frame 104, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1114:: @ 83C1114
+ obj_image_anim_frame 112, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C111C:: @ 83C111C
+ obj_image_anim_frame 120, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1124:: @ 83C1124
+ obj_image_anim_frame 128, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C112C:: @ 83C112C
+ obj_image_anim_frame 136, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1134:: @ 83C1134
+ obj_image_anim_frame 144, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C113C:: @ 83C113C
+ obj_image_anim_frame 152, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1144:: @ 83C1144
+ obj_image_anim_frame 160, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C114C:: @ 83C114C
+ obj_image_anim_frame 168, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1154:: @ 83C1154
+ obj_image_anim_frame 176, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83C115C:: @ 83C115C
+ .4byte gSpriteAnim_83C10A4
+ .4byte gSpriteAnim_83C10AC
+ .4byte gSpriteAnim_83C10B4
+ .4byte gSpriteAnim_83C10BC
+ .4byte gSpriteAnim_83C10C4
+ .4byte gSpriteAnim_83C10CC
+ .4byte gSpriteAnim_83C10D4
+ .4byte gSpriteAnim_83C10DC
+ .4byte gSpriteAnim_83C10E4
+ .4byte gSpriteAnim_83C10EC
+ .4byte gSpriteAnim_83C10F4
+ .4byte gSpriteAnim_83C10FC
+ .4byte gSpriteAnim_83C1104
+ .4byte gSpriteAnim_83C110C
+ .4byte gSpriteAnim_83C1114
+ .4byte gSpriteAnim_83C111C
+ .4byte gSpriteAnim_83C1124
+ .4byte gSpriteAnim_83C112C
+ .4byte gSpriteAnim_83C1134
+ .4byte gSpriteAnim_83C113C
+ .4byte gSpriteAnim_83C1144
+ .4byte gSpriteAnim_83C114C
+ .4byte gSpriteAnim_83C1154
+
+ .align 2
+gUnknown_083C11B8:: @ 83C11B8
+ obj_tiles gMoveTypes_Gfx, 5888, 0x7532
+
+ .align 2
+gSpriteTemplate_83C11C0:: @ 83C11C0
+ spr_template 30002, 30002, gOamData_83C109C, gSpriteAnimTable_83C115C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_083C11D8:: @ 83C11D8
+ .incbin "baserom.gba", 0x003c11d8, 0x18
+
+ .align 2
+gOamData_83C11F0:: @ 83C11F0
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83C11F8:: @ 83C11F8
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1200:: @ 83C1200
+ obj_image_anim_frame 4, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1208:: @ 83C1208
+ obj_image_anim_frame 8, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1210:: @ 83C1210
+ obj_image_anim_frame 12, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1218:: @ 83C1218
+ obj_image_anim_frame 16, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1220:: @ 83C1220
+ obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1228:: @ 83C1228
+ obj_image_anim_frame 20, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1230:: @ 83C1230
+ obj_image_anim_frame 24, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1238:: @ 83C1238
+ obj_image_anim_frame 24, 0, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1240:: @ 83C1240
+ obj_image_anim_frame 28, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83C1248:: @ 83C1248
+ .4byte gSpriteAnim_83C11F8
+ .4byte gSpriteAnim_83C1200
+ .4byte gSpriteAnim_83C1208
+ .4byte gSpriteAnim_83C1210
+ .4byte gSpriteAnim_83C1218
+ .4byte gSpriteAnim_83C1220
+ .4byte gSpriteAnim_83C1228
+ .4byte gSpriteAnim_83C1230
+ .4byte gSpriteAnim_83C1238
+ .4byte gSpriteAnim_83C1240
+
+ .align 2
+gUnknown_083C1270:: @ 83C1270
+ obj_tiles gMenuSummaryGfx, 1024, 0x7530
+
+ .align 2
+gUnknown_083C1278:: @ 83C1278
+ obj_pal gMenuSummaryPal, 0x7530
+
+ .align 2
+gSpriteTemplate_83C1280:: @ 83C1280
+ spr_template 30000, 30000, gOamData_83C11F0, gSpriteAnimTable_83C1248, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_83C1298:: @ 83C1298
+ .2byte 0x4000
+ .2byte 0x4000
+ .2byte 0x0C00
+
+ .align 2
+gSpriteAnim_83C12A0:: @ 83C12A0
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C12A8:: @ 83C12A8
+ obj_image_anim_frame 4, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C12B0:: @ 83C12B0
+ obj_image_anim_frame 8, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C12B8:: @ 83C12B8
+ obj_image_anim_frame 12, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C12C0:: @ 83C12C0
+ obj_image_anim_frame 16, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C12C8:: @ 83C12C8
+ obj_image_anim_frame 20, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C12D0:: @ 83C12D0
+ obj_image_anim_frame 24, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83C12D8:: @ 83C12D8
+ .4byte gSpriteAnim_83C12A0
+ .4byte gSpriteAnim_83C12A8
+ .4byte gSpriteAnim_83C12B0
+ .4byte gSpriteAnim_83C12B8
+ .4byte gSpriteAnim_83C12C0
+ .4byte gSpriteAnim_83C12C8
+ .4byte gSpriteAnim_83C12D0
+
+ .align 2
+gUnknown_083C12F4:: @ 83C12F4
+ obj_tiles gStatusGfx_Icons, 896, 0x7531
+
+ .align 2
+gUnknown_083C12FC:: @ 83C12FC
+ obj_pal gStatusPal_Icons, 0x7531
+
+ .align 2
+gSpriteTemplate_83C1304:: @ 83C1304
+ spr_template 30001, 30001, gOamData_83C1298, gSpriteAnimTable_83C12D8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSummaryScreenMonMarkingsPalette:: @ 83C131C
+ .incbin "graphics/summary_screen/mon_markings.gbapal"
+
+ .align 2
+gSummaryScreenTextTiles:: @ 83C133C
+ .incbin "graphics/summary_screen/text.4bpp"
+
+ .align 2
+gSummaryScreenButtonTiles:: @ 83C147C
+ .incbin "graphics/summary_screen/buttons.4bpp"
+
+ .align 1
+gUnknown_083C157C:: @ 83C157C
+ .2byte 0x5F5A @ palette color
+
+ .align 1
+gUnknown_083C157E:: @ 83C157E
+ .2byte 0x6FDE @ palette color
+
+ .align 2
+gUnknown_083C1580:: @ 83C1580
+ .4byte sub_809FC0C
+ .4byte sub_809FEB8
+
+ .align 2
+gUnknown_083C1588:: @ 83C1588
+ .4byte sub_809F63C
+ .4byte sub_809F650
+ .4byte sub_809F664
+ .4byte sub_809F664
+
+ .align 2
+gUnknown_083C1598:: @ 83C1598
+ .4byte sub_809FE6C
+ .4byte sub_80A0090
+ .4byte sub_80A015C
+ .4byte sub_80A015C
+
+gUnknown_083C15A8:: @ 83C15A8
+ .byte 0, 2, 3, 1, 4, 5
+
+gUnknown_083C15AE:: @ 83C15AE
+ .string "{STR_VAR_1}{CLEAR_TO 64}$"
+
+gUnknown_083C15B4:: @ 83C15B4
+ .string "{STR_VAR_1}{CLEAR_TO 72}$"
+
+ .align 2
+gUnknown_083C15BC:: @ 83C15BC
+ .byte 9, 1, 0, 2
+ .byte 10, 3, 0, 4
+ .byte 8, 5, 0, 6
+ .byte 11, 7, 0, 8
+ .byte 14, 9, 0, 10
+ .byte 12, 11, 0, 12
+ .byte 13, 13, 0, 14
+ .byte -1, 15, 0, 10
+
+ .align 2
+gOamData_CutGrass:: @ 83C15DC
+ .2byte 0
+ .2byte 0
+ .2byte 0x1401
+
+ .align 2
+gSpriteAnim_CutGrass:: @ 83C15E4
+ obj_image_anim_frame 0, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_CutGrass:: @ 83C15EC
+ .4byte gSpriteAnim_CutGrass
+
+ .align 2
+gSpriteImageTable_CutGrass:: @ 83C15F0
+ obj_frame_tiles gFieldEffectPic_CutGrass, 0x20
+
+ .align 2
+gFieldEffectObjectPaletteInfo6:: @ 83C15F8
+ obj_pal gFieldEffectObjectPalette6, 0x1000
+
+ .align 2
+gSpriteTemplate_CutGrass:: @ 83C1600
+ spr_template 0xFFFF, 0x1000, gOamData_CutGrass, gSpriteAnimTable_CutGrass, gSpriteImageTable_CutGrass, gDummySpriteAffineAnimTable, sub_80A2A48
+
+@ pointer to items, capacity
+ .align 2
+gBagPockets:: @ 83C1618
+ .4byte gSaveBlock1 + 0x560, 20 @ Items
+ .4byte gSaveBlock1 + 0x600, 16 @ Poké Balls
+ .4byte gSaveBlock1 + 0x640, 64 @ TMs & HMs
+ .4byte gSaveBlock1 + 0x740, 46 @ Berries
+ .4byte gSaveBlock1 + 0x5B0, 20 @ Key Items
+
+ .align 2
+gUnknown_083C1640:: @ 83C1640
+ .4byte OtherText_Use, sub_80A5B78
+ .4byte OtherText_Toss, sub_80A5F14
+ .4byte gOtherText_CancelNoTerminator, sub_80A5F80
+ .4byte OtherText_Register, sub_80A5FAC
+ .4byte OtherText_Use, ItemMenu_UseInBattle
+ .4byte gOtherText_CancelNoTerminator, sub_80A7124
+ .4byte OtherText_Give2, ItemMenu_Give
+ .4byte OtherText_CheckTag, sub_80A6178
+ .4byte gOtherText_CancelWithTerminator, 0x0
+ .4byte OtherText_Confirm, sub_80A69E0
+
+@ 6-byte entries; format of entry is unknown
+gUnknown_083C1690:: @ 83C1690
+ .byte 0, 1, 6, 2, 0, 0
+ .byte 6, 1, 8, 2, 0, 0
+ .byte 0, 8, 6, 2, 0, 0
+ .byte 7, 0, 1, 8, 6, 2
+ .byte 0, 8, 3, 2, 0, 0
+
+gUnknown_083C16AE:: @ 83C16AE
+ .byte 6, 2
+ .byte 6, 2
+ .byte 6, 2
+ .byte 6, 2
+ .byte 2, 0
+
+gUnknown_083C16B8:: @ 83C16B8
+ .byte 7, 9, 8, 2
+
+ .align 2
+gUnknown_083C16BC:: @ 83C16BC
+ .4byte sub_80A59D0
+ .4byte sub_80A599C
+ .4byte sub_80A7024
+ .4byte sub_80A70D8
+ .4byte sub_80A6214
+ .4byte sub_80A61EC
+ .4byte sub_80A6354
+ .4byte sub_80A631C
+ .4byte sub_80A6918
+ .4byte sub_80A68F0
+ .4byte sub_80A59D0
+ .4byte sub_80A69B8
+ .4byte sub_80A6C6C
+ .4byte sub_80A6A4C
+
+ .align 2
+gUnknown_083C16F4:: @ 83C16F4
+ .4byte sub_80A5E60
+ .4byte sub_80A5E90
+
+ .align 2
+gUnknown_083C16FC:: @ 83C16FC
+ .4byte sub_80A65AC
+ .4byte sub_80A6618
+
+gUnknown_083C1704:: @ 83C1704
+ .incbin "baserom.gba", 0x003c1704, 0x4
+
+gUnknown_083C1708:: @ 83C1708
+ .byte 4, 5
+
+gUnknown_083C170A:: @ 83C170A
+ .byte 5, 0
+
+ .align 2
+gPalette_83C170C:: @ 83C170C
+ .incbin "baserom.gba", 0x003c170c, 0x20
+
+ .align 2
+gSpriteImage_83C172C:: @ 83C172C
+ .incbin "graphics/unknown_sprites/83C172C.4bpp"
+
+ .align 2
+ .incbin "graphics/unused/cherry.4bpp"
+
+ .align 2
+ .incbin "graphics/unused/cherry.gbapal"
+
+ .align 2
+gOamData_83C1C4C:: @ 83C1C4C
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x7800
+
+ .align 2
+gSpriteAnim_83C1C54:: @ 83C1C54
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1C5C:: @ 83C1C5C
+ obj_image_anim_frame 64, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1C64:: @ 83C1C64
+ obj_image_anim_frame 128, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1C6C:: @ 83C1C6C
+ obj_image_anim_frame 192, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1C74:: @ 83C1C74
+ obj_image_anim_frame 256, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83C1C7C:: @ 83C1C7C
+ obj_image_anim_frame 320, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83C1C84:: @ 83C1C84
+ .4byte gSpriteAnim_83C1C54
+ .4byte gSpriteAnim_83C1C5C
+ .4byte gSpriteAnim_83C1C6C
+ .4byte gSpriteAnim_83C1C74
+ .4byte gSpriteAnim_83C1C7C
+ .4byte gSpriteAnim_83C1C64
+
+ .align 2
+gSpriteAffineAnim_83C1C9C:: @ 83C1C9C
+ obj_rot_scal_anim_frame 0x0, 0x0, -2, 2
+ obj_rot_scal_anim_frame 0x0, 0x0, 2, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, -2, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, 2, 2
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83C1CC4:: @ 83C1CC4
+ .4byte gSpriteAffineAnim_83C1C9C
+
+ .align 2
+gUnknown_083C1CC8:: @ 83C1CC8
+ obj_tiles gBagMaleTiles, 0x3000, 30000
+
+ .align 2
+gUnknown_083C1CD0:: @ 83C1CD0
+ obj_tiles gBagFemaleTiles, 0x3000, 30000
+
+ .align 2
+gUnknown_083C1CD8:: @ 83C1CD8
+ obj_pal gBagPalette, 30000
+
+ .align 2
+gSpriteTemplate_83C1CE0:: @ 83C1CE0
+ spr_template 30000, 30000, gOamData_83C1C4C, gSpriteAnimTable_83C1C84, NULL, gSpriteAffineAnimTable_83C1CC4, sub_80A7998
+
+ .align 2
+gOamData_83C1CF8:: @ 83C1CF8
+ .2byte 0x0000
+ .2byte 0x4800
+ .2byte 0x8800
+
+ .align 2
+gSpriteAffineAnim_83C1D00:: @ 83C1D00
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 32
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83C1D10:: @ 83C1D10
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 32
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83C1D20:: @ 83C1D20
+ .4byte gSpriteAffineAnim_83C1D00
+ .4byte gSpriteAffineAnim_83C1D10
+
+ .align 2
+gSpriteImageTable_83C1D28:: @ 83C1D28
+ obj_frame_tiles gSpriteImage_83C172C, 0x80
+
+ .align 2
+gUnknown_083C1D30:: @ 83C1D30
+ obj_pal gPalette_83C170C, 8
+
+ .align 2
+gSpriteTemplate_83C1D38:: @ 83C1D38
+ spr_template 0xFFFF, 8, gOamData_83C1CF8, gSpriteAnimTable_83C1C84, gSpriteImageTable_83C1D28, gSpriteAffineAnimTable_83C1D20, sub_80A7B28
+
+ .align 2
+gOamData_83C1D50:: @ 83C1D50
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x7400
+
+ .align 2
+gOamData_83C1D58:: @ 83C1D58
+ .2byte 0x0300
+ .2byte 0xC000
+ .2byte 0x7000
+
+ .align 2
+gSpriteAnim_83C1D60:: @ 83C1D60
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83C1D68:: @ 83C1D68
+ .4byte gSpriteAnim_83C1D60
+
+ .align 2
+gSpriteImageTable_83C1D6C:: @ 83C1D6C
+ obj_frame_tiles 0x02000000, 0x800
+
+ .align 2
+gSpriteTemplate_83C1D74:: @ 83C1D74
+ spr_template 0xFFFF, 30020, gOamData_83C1D50, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gDummySpriteAffineAnimTable, sub_80A7DC4
+
+ .align 2
+gSpriteAffineAnim_83C1D8C:: @ 83C1D8C
+ obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, -3, 96
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -1, 64
+ obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83C1DC4:: @ 83C1DC4
+ obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, 3, 96
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 1, 64
+ obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83C1DFC:: @ 83C1DFC
+ .4byte gSpriteAffineAnim_83C1D8C
+ .4byte gSpriteAffineAnim_83C1DC4
+
+ .align 2
+gSpriteTemplate_83C1E04:: @ 83C1E04
+ spr_template 0xFFFF, 30020, gOamData_83C1D58, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gSpriteAffineAnimTable_83C1DFC, SpriteCallbackDummy
+
+@ 83C1E1C
+ .include "data/graphics/berries/graphics_table.inc"
+
+ .align 2
+gUnknown_083C1F74:: @ 83C1F74
+ obj_tiles gBerryCheckCircle_Gfx, 2048, 0x2710
+
+ .align 2
+gUnknown_083C1F7C:: @ 83C1F7C
+ obj_pal gBerryCheck_Pal, 0x2710
+
+ .align 2
+gOamData_83C1F84:: @ 83C1F84
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83C1F8C:: @ 83C1F8C
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83C1F94:: @ 83C1F94
+ .4byte gSpriteAnim_83C1F8C
+
+ .align 2
+gSpriteTemplate_83C1F98:: @ 83C1F98
+ spr_template 10000, 10000, gOamData_83C1F84, gSpriteAnimTable_83C1F94, NULL, gDummySpriteAffineAnimTable, sub_80A7DC4
+
+ .align 2
+gBattleAnimSpriteTemplate_83C1FB0:: @ 83C1FB0
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8530
+
+ .align 2
+gBattleAnimSpriteTemplate_83C1FC8:: @ 83C1FC8
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A85C8
+
+ .align 2
+gBattleAnimSpriteTemplate_83C1FE0:: @ 83C1FE0
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8638
+
+ .align 2
+gBattleAnimSpriteTemplate_83C1FF8:: @ 83C1FF8
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8764
+
+ .align 2
+gBattleAnimSpriteTemplate_83C2010:: @ 83C2010
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8818
+
+@ 83C2028
+ .include "data/text/item_descriptions.inc"
+
+@ 83C5564
+ .include "data/items.inc"
+
+@ 83C9150
+ .string "テストです$" @ "test"
+
+gMatsudaDebugMenu_ActionContestText:
+ .string "Contest$"
+
+gMatsudaDebugMenu_ActionContestResultsText:
+ .string "Contest results$"
+ .string "パラメータへんこう$" @ "Change parameter"
+ .string "わざ へんこう$" @ "Change move"
+
+gMatsudaDebugMenu_ActionContestCommText:
+ .string "Contest (comm.)$"
+
+gMatsudaDebugMenu_ActionCommTestText:
+ .string "Init comm. data$"
+
+gMatsudaDebugMenu_ActionSetHighScoreText:
+ .string "Set highest score$"
+
+gMatsudaDebugMenu_ActionResetHighScoreText:
+ .string "Reset highest score$"
+
+gMatsudaDebugMenu_ActionSetAllArtMuseumText:
+ .string "Set all art museum items$"
+
+ .align 2
+gMatsudaDebugMenuActions:: @ 83C91F0
+ .4byte gMatsudaDebugMenu_ActionContestText, MatsudaDebugMenu_Contest
+ .4byte gMatsudaDebugMenu_ActionContestResultsText, MatsudaDebugMenu_ContestResults
+ .4byte gMatsudaDebugMenu_ActionContestCommText, MatsudaDebugMenu_ContestComm
+ .4byte gMatsudaDebugMenu_ActionCommTestText, MatsudaDebugMenu_CommTest
+ .4byte gMatsudaDebugMenu_ActionSetHighScoreText, MatsudaDebugMenu_SetHighScore
+ .4byte gMatsudaDebugMenu_ActionResetHighScoreText, MatsudaDebugMenu_ResetHighScore
+ .4byte gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems
+
+gMatsudaDebugMenu_UnknownByteArray:: @ 83C9228
+ .byte 0xFC, 0x02, 0x0F, 0x00, 0xFF
+
+Unknown_083C922D:
+ .incbin "graphics/unknown/ball.4bpp"
+
+ .align 1
+Unknown_083C924E:
+ .incbin "graphics/unknown/ball.gbapal"
+
+gUnknown_083C926E:: @ 83C926E
+ .incbin "baserom.gba", 0x003c926e, 0x8
+
+gMatsudaDebugMenuContestTopLeft:: @ 83C9276
+ .byte 0, 6
+ .byte 15, 6
+ .byte 0, 8
+ .byte 15, 8
+ .byte 0, 10
+ .byte 15, 10
+
+gUnknown_083C9282:: @ 83C9282
+ .incbin "baserom.gba", 0x003c9282, 0xc
+
+gUnknown_083C928E:: @ 83C928E
+ .incbin "baserom.gba", 0x003c928e, 0x8
+
+gUnknown_083C9296:: @ 83C9296
+ .byte 0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88
+
+gUnknown_083C92A8:: @ 83C92A8
+ .byte 0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98
+
+ .align 2
+gUnknown_083C92B4:: @ 83C92B4
+ obj_tiles Unknown_083C922D, 32, 0x04b0
+
+ .align 2
+gUnknown_083C92BC:: @ 83C92BC
+ obj_pal Unknown_083C924E, 0x04B0
+
+ .align 2
+gOamData_83C92C4:: @ 83C92C4
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83C92CC:: @ 83C92CC
+ spr_template 1200, 1200, gOamData_83C92C4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80AA754
+
+ .align 2
+gUnknown_083C92E4:: @ 83C92E4
+ .4byte sub_80AA8C8
+ .4byte sub_80AA8D8
+ .4byte sub_80AA8E8
+ .4byte sub_80AA8F8
+ .4byte sub_80AAC5C
+ .4byte sub_80AAC5C
+ .4byte sub_80AA930
+ .4byte sub_80AA974
+ .4byte sub_80AA9B8
+ .4byte sub_80AA9FC
+ .4byte sub_80AAA40
+ .4byte sub_80AAA84
+ .4byte sub_80AAAF0
+ .4byte sub_80AAB30
+ .4byte sub_80AAB70
+ .4byte sub_80AABB0
+ .4byte sub_80AABF0
+ .4byte sub_80AAD44
+
+gMatsudaDebugMenu_StartText:: @ 83C932C
+ .string "{COLOR CYAN}{HIGHLIGHT RED}$"
+ .string "かいし$" @ Start
+
+gMatsudaDebugMenu_GoBackText:: @ 83C9337
+ .string "もどる$" @ Go Back
+
+gMatsudaDebugMenu_BattlePointsText:: @ 83C933B
+ .string "{COLOR MAGENTA}BP.$"
+
+MatsudaDebugMenuText_Cool:
+ .string "かっこよさ$" @ coolness
+MatsudaDebugMenuText_Cute:
+ .string "かわいさ$" @ cuteness
+MatsudaDebugMenuText_Beauty:
+ .string "うつくしさ$" @ beauty
+MatsudaDebugMenuText_Smart:
+ .string "かしこさ$" @ smartness
+MatsudaDebugMenuText_Tough:
+ .string "たくましさ$" @ toughness
+MatsudaDebugMenuText_Sheen:
+ .string "けづや$" @ sheen
+
+ .align 2
+gMatsudaDebugMenuTextList1:: @ 83C9364
+ .4byte MatsudaDebugMenuText_Cool
+ .4byte MatsudaDebugMenuText_Cute
+ .4byte MatsudaDebugMenuText_Beauty
+ .4byte MatsudaDebugMenuText_Smart
+ .4byte MatsudaDebugMenuText_Tough
+ .4byte MatsudaDebugMenuText_Sheen
+
+MatsudaDebugMenuText_CoolContest:
+ .string "かっこよさコンテスト$" @ Cool Contest
+MatsudaDebugMenuText_BeautyContest:
+ .string "うつくしさコンテスト$" @ Beauty Contest
+MatsudaDebugMenuText_CuteContest:
+ .string "かわいさコンテスト $" @ Cute Contest
+MatsudaDebugMenuText_SmartContest:
+ .string "かしこさコンテスト $" @ Smart Contest
+MatsudaDebugMenuText_ToughContest:
+ .string "たくましさコンテスト$" @ Tough Contest
+
+ .align 2
+gMatsudaDebugMenuTextList2:: @ 83C93B4
+ .4byte MatsudaDebugMenuText_CoolContest
+ .4byte MatsudaDebugMenuText_BeautyContest
+ .4byte MatsudaDebugMenuText_CuteContest
+ .4byte MatsudaDebugMenuText_SmartContest
+ .4byte MatsudaDebugMenuText_ToughContest
+
+MatsudaDebugMenuText_Fallarbor:
+ .string "ハジツゲ/ノーマル$" @ Fallarbor / Normal
+MatsudaDebugMenuText_Verdanturf:
+ .string "シダケ/スーパー $" @ Verdanturf / Super
+MatsudaDebugMenuText_Slateport:
+ .string "カイナ/ハイパー $" @ Slateport / Hyper
+MatsudaDebugMenuText_Lilycove:
+ .string "ミナモ/マスター $" @ Lilycove / Master
+
+ .align 2
+gMatsudaDebugMenuTextList3:: @ 83C93F0
+ .4byte MatsudaDebugMenuText_Fallarbor @ Normal
+ .4byte MatsudaDebugMenuText_Verdanturf @ Super
+ .4byte MatsudaDebugMenuText_Slateport @ Hyper
+ .4byte MatsudaDebugMenuText_Lilycove @ Master
+
+gUnknown_083C9400:: @ 83C9400
+ .incbin "baserom.gba", 0x003c9400, 0x8
+
+@ 83C9408
+ .include "data/contest_opponents.inc"
+
+gUnknown_083CA308:: @ 83CA308
+ .byte 19, 0
+ .byte 19, 5
+ .byte 19, 10
+ .byte 19, 15
+
+gUnknown_083CA310:: @ 83CA310
+ .byte 25, 0
+ .byte 25, 5
+ .byte 25, 10
+ .byte 25, 15
+
+gUnknown_083CA318:: @ 83CA318
+ .byte 20, 2
+ .byte 20, 7
+ .byte 20, 12
+ .byte 20, 17
+ .byte 24, 2
+ .byte 24, 7
+ .byte 24, 12
+ .byte 24, 17
+ .byte 220, 24
+ .byte 220, 64
+ .byte 220, 104
+ .byte 220, 144
+
+gUnknown_083CA330:: @ 83CA330
+ .byte 224, 24
+ .byte 224, 64
+ .byte 224, 104
+ .byte 224, 144
+
+gUnknown_083CA338:: @ 83CA338
+ .byte 36, 76, 116, 156
+
+gUnknown_083CA33C:: @ 83CA33C
+ .byte 36, 76, 116, 156
+
+gUnknown_083CA340:: @ 83CA340
+ .byte 0, 31, 9, 39
+ .byte 0, 33, 9, 39
+ .byte 0, 35, 9, 39
+ .byte 0, 37, 9, 39
+
+ .align 2
+gUnknown_083CA350:: @ 83CA350
+ obj_tiles gTiles_8D1975C, 0x20, 20004
+
+ .align 2
+gOamData_83CA358:: @ 83CA358
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAffineAnim_83CA360:: @ 83CA360
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83CA370:: @ 83CA370
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83CA388:: @ 83CA388
+ obj_rot_scal_anim_frame 0x38, 0x38, 0, 0
+ obj_rot_scal_anim_frame 0xA, 0xA, 20, 20
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83CA3A0:: @ 83CA3A0
+ .4byte gSpriteAffineAnim_83CA360
+ .4byte gSpriteAffineAnim_83CA370
+ .4byte gSpriteAffineAnim_83CA388
+
+ .align 2
+gSpriteTemplate_83CA3AC:: @ 83CA3AC
+ spr_template 20004, 44000, gOamData_83CA358, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CA3A0, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083CA3C4:: @ 83CA3C4
+ obj_tiles gContestNextTurnGfx, 256, 0x4e26
+ obj_tiles gContestNextTurnGfx, 256, 0x4e27
+ obj_tiles gContestNextTurnGfx, 256, 0x4e28
+ obj_tiles gContestNextTurnGfx, 256, 0x4e29
+
+ .align 2
+gUnknown_083CA3E4:: @ 83CA3E4
+ obj_pal gContestPal, 0x4E26
+
+ .align 2
+gOamData_83CA3EC:: @ 83CA3EC
+ .2byte 0x4000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83CA3F4:: @ 83CA3F4
+ spr_template 20006, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CA40C:: @ 83CA40C
+ spr_template 20007, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CA424:: @ 83CA424
+ spr_template 20008, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CA43C:: @ 83CA43C
+ spr_template 20009, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+Unknown_3CA454: @ 83CA454
+ .incbin "baserom.gba", 0x3ca454, 0x10
+
+ .align 2
+gUnknown_083CA464:: @ 83CA464
+ .4byte 0x2, Unknown_3CA454
+
+ .align 2
+gUnknown_083CA46C:: @ 83CA46C
+ obj_tiles gContestApplauseGfx, 1024, 0xabe2
+
+ .align 2
+gUnknown_083CA474:: @ 83CA474
+ obj_pal gContestPal, 0xABE2
+
+ .align 2
+gOamData_83CA47C:: @ 83CA47C
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83CA484:: @ 83CA484
+ spr_template 44002, 44002, gOamData_83CA47C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_83CA49C:: @ 83CA49C
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x2C00
+
+ .align 2
+gSpriteTemplate_83CA4A4:: @ 83CA4A4
+ spr_template 20005, 20005, gOamData_83CA49C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083CA4BC:: @ 83CA4BC
+ obj_tiles gContestJudgeGfx, 2048, 0x4e25
+
+ .align 2
+gUnknown_083CA4C4:: @ 83CA4C4
+ obj_tiles gContestJudgeSymbolsGfx, 896, 0xabe0
+
+ .align 2
+gUnknown_083CA4CC:: @ 83CA4CC
+ obj_pal gContest3Pal, 0xabe0
+
+ .align 2
+gUnknown_083CA4D4:: @ 83CA4D4
+ spr_template 0xABE0, 0xABE0, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .include "data/text/contest_strings.inc"
+
+gUnknownText_MissedTurn:: @ 83CC355
+ .string "Missed turn$"
+
+gUnknownText_LinkStandbyAndWinner:: @ 83CC361
+ .string "Link standby...$"
+ .string "{COLOR WHITE2}$"
+ .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!\nCongratulations!$"
+
+@ unknown, unreferenced data
+ .byte 0x00
+ .byte 0x9C
+ .byte 0x77
+
+gUnknownText_UnknownFormatting2:: @ 83CC3A0
+ .string "{COLOR GREEN}{SHADOW RED}$"
+
+gUnknownText_UnknownFormatting3:: @ 83CC3A7
+ .string "{COLOR LIGHT_GREY}$"
+
+ .align 2
+gUnknown_083CC3AC:: @ 83CC3AC
+ obj_tiles gContestNumbers_UnusedGfx, 512, 0x4e20
+
+ .align 2
+gUnknown_083CC3B4:: @ 83CC3B4
+ obj_pal gContestNumbers_UnusedPal, 0x4E20
+ obj_pal gContestNumbers_UnusedPal, 0x4E21
+ obj_pal gContestNumbers_UnusedPal, 0x4E22
+ obj_pal gContestNumbers_UnusedPal, 0x4E23
+
+ .align 2
+gSpriteAnim_83CC3D4:: @ 83CC3D4
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83CC3DC:: @ 83CC3DC
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83CC3E4:: @ 83CC3E4
+ obj_image_anim_frame 8, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83CC3EC:: @ 83CC3EC
+ obj_image_anim_frame 12, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83CC3F4:: @ 83CC3F4
+ .4byte gSpriteAnim_83CC3D4
+ .4byte gSpriteAnim_83CC3DC
+ .4byte gSpriteAnim_83CC3E4
+ .4byte gSpriteAnim_83CC3EC
+
+ .align 2
+gSpriteAffineAnim_83CC404:: @ 83CC404
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83CC414:: @ 83CC414
+ obj_rot_scal_anim_frame 0xFFF1, 0xFFF1, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83CC424:: @ 83CC424
+ obj_rot_scal_anim_frame 0x1F, 0x1F, 0, 0
+ obj_rot_scal_anim_frame 0xF, 0xF, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83CC43C:: @ 83CC43C
+ .4byte gSpriteAffineAnim_83CC404
+ .4byte gSpriteAffineAnim_83CC414
+ .4byte gSpriteAffineAnim_83CC424
+
+ .align 2
+ .incbin "baserom.gba", 0x003cc448, 0x4
+
+ .align 2
+gOamData_83CC44C:: @ 83CC44C
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83CC454:: @ 83CC454
+ spr_template 20000, 20000, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CC46C:: @ 83CC46C
+ spr_template 20000, 20001, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CC484:: @ 83CC484
+ spr_template 20000, 20002, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CC49C:: @ 83CC49C
+ spr_template 20000, 20003, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083CC4B4:: @ 83CC4B4
+ obj_tiles gBlankGfxCompressed, 4096, 0x80e8
+ obj_tiles gBlankGfxCompressed, 4096, 0x80e9
+ obj_tiles gBlankGfxCompressed, 4096, 0x80ea
+ obj_tiles gBlankGfxCompressed, 4096, 0x80eb
+
+gUnknown_083CC4D4:: @ 83CC4D4
+ .incbin "baserom.gba", 0x003cc4d4, 0x20
+
+ .align 2
+gOamData_83CC4F4:: @ 83CC4F4
+ .2byte 0x0700
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAffineAnim_83CC4FC:: @ 83CC4FC
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83CC50C:: @ 83CC50C
+ obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
+ obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
+ obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
+ obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83CC534:: @ 83CC534
+ .4byte gSpriteAffineAnim_83CC4FC
+ .4byte gSpriteAffineAnim_83CC50C
+
+ .align 2
+gSpriteTemplate_83CC53C:: @ 83CC53C
+ spr_template 33000, 33000, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CC554:: @ 83CC554
+ spr_template 33001, 33001, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CC56C:: @ 83CC56C
+ spr_template 33002, 33002, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CC584:: @ 83CC584
+ spr_template 33003, 33003, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy
+
+gUnknown_083CC59C:: @ 83CC59C
+ .incbin "baserom.gba", 0x003cc59c, 0x6
+
+gUnknown_083CC5A2:: @ 83CC5A2
+ .string "/$"
+
+gUnknown_083CC5A4:: @ 83CC5A4
+ .incbin "baserom.gba", 0x003cc5a4, 0x10
+
+@ 83CC5B4
+ .include "data/contest_excitement_table.inc"
+
+ .align 2
+gUnknown_083CC5D0:: @ 83CC5D0
+ .incbin "baserom.gba", 0x003cc5d0, 0x100
+
+ .align 2
+gUnknown_083CC6D0:: @ 83CC6D0
+ .4byte MartText_Buy, sub_80B2EFC
+ .4byte MartText_Sell, sub_80B2F30
+ .4byte MartText_Quit2, HandleShopMenuQuit
+
+gUnknown_083CC6E8:: @ 83CC6E8
+ .byte 0, 1, 2
+
+gUnknown_083CC6EB:: @ 83CC6EB
+ .byte 0, 2
+
+@ unknown, unreferenced data
+ .align 1
+ .2byte 0x2
+ .2byte 0x3
+ .2byte 0x4
+ .2byte 0xD
+ .2byte 0x121
+ .2byte 0xE
+ .2byte 0xE
+ .2byte 0xE
+ .2byte 0xE
+ .2byte 0xE
+ .2byte 0xE
+ .2byte 0x0
+ .2byte 0x0
+
+ .align 2
+gUnknown_083CC708:: @ 83CC708
+ .4byte sub_80B3BF4
+ .4byte sub_80B3D7C
+
+gUnknown_083CC710:: @ 83CC710
+ .incbin "baserom.gba", 0x003cc710, 0x4
+
+gUnknown_083CC714:: @ 83CC714
+ .incbin "baserom.gba", 0x003cc714, 0x6
+
+gUnknown_083CC71A:: @ 83CC71A
+ .incbin "baserom.gba", 0x003cc71a, 0x6
+
+gUnknown_083CC720:: @ 83CC720
+ .incbin "baserom.gba", 0x003cc720, 0x6
+
+gUnknown_083CC726:: @ 83CC726
+ .incbin "baserom.gba", 0x003cc726, 0x6
+
+gUnknown_083CC72C:: @ 83CC72C
+ .incbin "baserom.gba", 0x003cc72c, 0x6
+
+gUnknown_083CC732:: @ 83CC732
+ .incbin "baserom.gba", 0x003cc732, 0x6
+
+gUnknown_083CC738:: @ 83CC738
+ .incbin "baserom.gba", 0x003cc738, 0x8
+
+@ 83CC740
+ .include "data/text/berry_descriptions.inc"
+
+@ 83CD2CC
+ .include "data/berries.inc"
+
+ .align 2
+gUnknown_083CD780:: @ 83CD780
+ .4byte 0, 0
+
+@ 83CD788
+ .include "data/multichoice.inc"
+
+ .align 2
+gUnknown_083CE048:: @ 83CE048
+ .4byte OtherText_Cool2
+ .4byte OtherText_Beauty3
+ .4byte OtherText_Cute2
+ .4byte OtherText_Smart2
+ .4byte OtherText_Tough2
+ .4byte OtherText_Normal
+ .4byte OtherText_Super
+ .4byte OtherText_Hyper
+ .4byte OtherText_Master
+ .4byte OtherText_Cool3
+ .4byte OtherText_Beauty4
+ .4byte OtherText_Cute3
+ .4byte OtherText_Smart3
+ .4byte OtherText_Tough3
+ .4byte OtherText_Items
+ .4byte OtherText_KeyItems
+ .4byte OtherText_Balls
+ .4byte OtherText_TMsHMs
+ .4byte OtherText_Berries
+
+ .align 2
+gSpriteImage_83CE094:: @ 83CE094
+ .incbin "graphics/naming_screen/pc_icon/0.4bpp"
+
+ .align 2
+gSpriteImage_83CE154:: @ 83CE154
+ .incbin "graphics/naming_screen/pc_icon/1.4bpp"
+
+ .align 2
+ .incbin "baserom.gba", 0x003ce214, 0x4
+
+ .align 2
+gUnknown_083CE218:: @ 83CE218
+ .4byte sub_80B5EA8
+ .4byte sub_80B5ED0
+ .4byte sub_80B5F00
+ .4byte sub_80B5F10
+ .4byte sub_80B5F38
+ .4byte sub_80B5F70
+ .4byte pokemon_store
+ .4byte sub_80B604C
+ .4byte sub_80B606C
+ .4byte sub_80B6094
+
+ .align 2
+gUnknown_083CE240:: @ 83CE240
+ .4byte sub_80B6108
+ .4byte sub_80B6148
+ .4byte sub_80B6170
+ .4byte sub_80B6194
+
+ .align 2
+gUnknown_083CE250:: @ 83CE250
+ .4byte sub_80B626C
+ .4byte sub_80B6274
+
+gUnknown_083CE258:: @ 83CE258
+ .incbin "baserom.gba", 0x003ce258, 0xa
+
+gUnknown_083CE262:: @ 83CE262
+ .incbin "baserom.gba", 0x003ce262, 0xa
+
+gUnknown_083CE26C:: @ 83CE26C
+ .incbin "baserom.gba", 0x003ce26c, 0x8
+
+gUnknown_083CE274:: @ 83CE274
+ .incbin "baserom.gba", 0x003ce274, 0x8
+
+ .align 2
+gUnknown_083CE27C:: @ 83CE27C
+ .4byte sub_80B6668
+ .4byte sub_80B6680
+ .4byte sub_80B66EC
+ .4byte sub_80B6758
+
+ .align 2
+gUnknown_083CE28C:: @ 83CE28C
+ .4byte 0x02000006
+ .4byte 0x02000004
+
+gUnknown_083CE294:: @ 83CE294
+ .incbin "baserom.gba", 0x003ce294, 0x1b
+
+gUnknown_083CE2AF:: @ 83CE2AF
+ .incbin "baserom.gba", 0x003ce2af, 0x5
+
+ .align 2
+gUnknown_083CE2B4:: @ 83CE2B4
+ .4byte sub_80B6B5C
+ .4byte sub_80B6B98
+ .4byte sub_80B6B9C
+ .4byte sub_80B6C08
+
+gUnknown_083CE2C4:: @ 83CE2C4
+ .incbin "baserom.gba", 0x003ce2c4, 0x6
+
+gUnknown_083CE2CA:: @ 83CE2CA
+ .incbin "baserom.gba", 0x003ce2ca, 0x6
+
+gUnknown_083CE2D0:: @ 83CE2D0
+ .incbin "baserom.gba", 0x003ce2d0, 0x8
+
+gUnknown_083CE2D8:: @ 83CE2D8
+ .incbin "baserom.gba", 0x003ce2d8, 0x8
+
+ .align 2
+gUnknown_083CE2E0:: @ 83CE2E0
+ .4byte nullsub_40
+ .4byte sub_80B6E68
+ .4byte sub_80B6EBC
+ .4byte sub_80B6EFC
+
+ .align 2
+gUnknown_083CE2F0:: @ 83CE2F0
+ .4byte sub_80B7660
+ .4byte sub_80B7650
+ .4byte sub_80B7650
+ .4byte sub_80B7670
+ .4byte sub_80B7670
+ .4byte sub_80B7660
+
+gUnknown_083CE308:: @ 83CE308
+ .incbin "baserom.gba", 0x003ce308, 0x8
+
+ .align 2
+gUnknown_083CE310:: @ 83CE310
+ .4byte sub_80B7844
+ .4byte sub_80B7838
+ .4byte sub_80B7838
+ .4byte sub_80B7850
+ .4byte sub_80B7850
+ .4byte sub_80B7844
+
+ .align 2
+gUnknown_083CE328:: @ 83CE328
+ .4byte gWindowConfig_81E6EDC
+ .4byte gWindowConfig_81E6EF8
+ .4byte gWindowConfig_81E6EA4
+ .4byte gWindowConfig_81E6EC0
+ .4byte gWindowConfig_81E6EA4
+ .4byte gWindowConfig_81E6EC0
+ .4byte gWindowConfig_81E6F14
+ .4byte gWindowConfig_81E6F30
+ .4byte gWindowConfig_81E6F14
+ .4byte gWindowConfig_81E6F30
+ .4byte gWindowConfig_81E6EDC
+ .4byte gWindowConfig_81E6EF8
+
+ .align 2
+gUnknown_083CE358:: @ 83CE358
+ .4byte nullsub_61
+ .4byte nullsub_61
+ .4byte sub_80B78F8
+ .4byte sub_80B78F8
+
+ .align 2
+gUnknown_083CE368:: @ 83CE368
+ .4byte nullsub_62
+ .4byte sub_80B7924
+
+ .align 2
+gUnknown_083CE370:: @ 83CE370
+ .incbin "baserom.gba", 0x003ce370, 0x4
+
+ .align 2
+Unknown_83CE374:
+ .byte 0, 7, 1, 0, 0, 0, 0, 0
+ .4byte OtherText_YourName
+
+ .align 2
+Unknown_83CE380:
+ .byte 0, 8, 2, 0, 0, 0, 0, 0
+ .4byte OtherText_BoxName
+
+ .align 2
+Unknown_83CE38C:
+ .byte 0, 10, 3, 1, 0, 0, 0, 0
+ .4byte OtherText_PokeName
+
+ .align 2
+gUnknown_083CE398:: @ 83CE398
+ .4byte Unknown_83CE374
+ .4byte Unknown_83CE380
+ .4byte Unknown_83CE38C
+ .4byte Unknown_83CE38C
+
+gUnknown_083CE3A8:: @ 83CE3A8
+ .string " A B C D E F . $"
+ .string " G H I J K L , $"
+ .string " M N O P Q R S $"
+ .string " T U V W X Y Z $"
+ .string " a b c d e f . $"
+ .string " g h i j k l , $"
+ .string " m n o p q r s $"
+ .string " t u v w x y z $"
+ .string " 0 1 2 3 4 $"
+ .string " 5 6 7 8 9 $"
+ .string " ! ? ♂ ♀ / - $"
+ .string " … “ ” ‘ ’ $"
+
+ .align 2
+gOamData_83CE498:: @ 83CE498
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83CE4A0:: @ 83CE4A0
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83CE4A8:: @ 83CE4A8
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+Unknown_3CE4B0:: @ 83CE4B0
+ .incbin "baserom.gba", 0x3ce4b0, 0x50
+
+ .align 2
+Unknown_3CE500:: @ 83CE500
+ .incbin "baserom.gba", 0x3ce500, 0x10
+
+ .align 2
+Unknown_3CE510:: @ 83CE510
+ .incbin "baserom.gba", 0x3ce510, 0x30
+
+ .align 2
+Unknown_3CE540:: @ 83CE540
+ .incbin "baserom.gba", 0x3ce540, 0x18
+
+ .align 2
+gUnknown_083CE558:: @ 83CE558
+ .4byte 0x8, Unknown_3CE4B0
+
+ .align 2
+gUnknown_083CE560:: @ 83CE560
+ .4byte 0x2, Unknown_3CE500
+ .4byte 0x2, Unknown_3CE500
+ .4byte 0x2, Unknown_3CE500
+
+ .align 2
+gUnknown_083CE578:: @ 83CE578
+ .4byte 0x6, Unknown_3CE510
+
+ .align 2
+gUnknown_083CE580:: @ 83CE580
+ .4byte 0x3, Unknown_3CE540
+
+ .align 2
+gSpriteImageTable_83CE588:: @ 83CE588
+ obj_frame_tiles gSpriteImage_83CE094, 0xc0
+ obj_frame_tiles gSpriteImage_83CE154, 0xc0
+
+ .align 2
+gSpriteAnim_83CE598:: @ 83CE598
+ obj_image_anim_frame 0, 1
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83CE5A0:: @ 83CE5A0
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 8, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83CE5AC:: @ 83CE5AC
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83CE5B8:: @ 83CE5B8
+ .4byte gSpriteAnim_83CE598
+
+ .align 2
+gSpriteAnimTable_83CE5BC:: @ 83CE5BC
+ .4byte gSpriteAnim_83CE598
+ .4byte gSpriteAnim_83CE5A0
+
+ .align 2
+gSpriteAnimTable_83CE5C4:: @ 83CE5C4
+ .4byte gSpriteAnim_83CE5AC
+
+ .align 2
+gSpriteTemplate_83CE5C8:: @ 83CE5C8
+ spr_template 2, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6B34
+
+ .align 2
+gSpriteTemplate_83CE5E0:: @ 83CE5E0
+ spr_template 3, 1, gOamData_83CE4A8, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CE5F8:: @ 83CE5F8
+ spr_template 4, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CE610:: @ 83CE610
+ spr_template 0, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CE628:: @ 83CE628
+ spr_template 1, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83CE640:: @ 83CE640
+ spr_template 7, 5, gOamData_83CE4A0, gSpriteAnimTable_83CE5BC, NULL, gDummySpriteAffineAnimTable, sub_80B6998
+
+ .align 2
+gSpriteTemplate_83CE658:: @ 83CE658
+ spr_template 10, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6D9C
+
+ .align 2
+gSpriteTemplate_83CE670:: @ 83CE670
+ spr_template 11, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6DE8
+
+ .align 2
+gSpriteTemplate_83CE688:: @ 83CE688
+ spr_template 0xFFFF, 0, gOamData_83CE498, gSpriteAnimTable_83CE5C4, gSpriteImageTable_83CE588, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083CE6A0:: @ 83CE6A0
+ obj_tiles gNamingScreenBackButtonTiles, 0x1E0, 0
+ obj_tiles gNamingScreenOKButtonTiles, 0x1E0, 1
+ obj_tiles gNamingScreenChangeKeyboardBoxTiles, 0x280, 2
+ obj_tiles gNamingScreenChangeKeyboardButtonTiles, 0x100, 3
+ obj_tiles gNamingScreenLowerTextTiles, 0x60, 4
+ obj_tiles gNamingScreenUpperTextTiles, 0x60, 5
+ obj_tiles gNamingScreenOthersTextTiles, 0x60, 6
+ obj_tiles gNamingScreenCursorTiles, 0x80, 7
+ obj_tiles gNamingScreenActiveCursorSmallTiles, 0x80, 8
+ obj_tiles gNamingScreenActiveCursorBigTiles, 0x80, 9
+ obj_tiles gNamingScreenRightPointingTriangleTiles, 0x20, 10
+ obj_tiles gNamingScreenUnderscoreTiles, 0x20, 11
+ null_obj_tiles
+
+ .align 2
+gUnknown_083CE708:: @ 83CE708
+ obj_pal gNamingScreenPalettes + 0x20 * 0, 0
+ obj_pal gNamingScreenPalettes + 0x20 * 1, 1
+ obj_pal gNamingScreenPalettes + 0x20 * 2, 2
+ obj_pal gNamingScreenPalettes + 0x20 * 3, 3
+ obj_pal gNamingScreenPalettes + 0x20 * 4, 4
+ obj_pal gNamingScreenPalettes + 0x20 * 5, 5
+ obj_pal gNamingScreenPalettes + 0x20 * 4, 6
+ null_obj_pal
+
+ .align 2
+gUnknown_083CE748:: @ 83CE748
+ .incbin "graphics/naming_screen/lower_keyboard_map.bin"
+
+ .align 2
+gUnknown_083CEBF8:: @ 83CEBF8
+ .incbin "graphics/naming_screen/upper_keyboard_map.bin"
+
+ .align 2
+gUnknown_083CF0A8:: @ 83CF0A8
+ .incbin "graphics/naming_screen/others_keyboard_map.bin"
+
+ .align 2
+gOamData_83CF558:: @ 83CF558
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_83CF560:: @ 83CF560
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83CF568:: @ 83CF568
+ .4byte gSpriteAnim_83CF560
+
+ .align 2
+gSpriteTemplate_83CF56C:: @ 83CF56C
+ spr_template 10018, 10018, gOamData_83CF558, gSpriteAnimTable_83CF568, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083CF584:: @ 83CF584
+ obj_tiles gMenuMoneyGfx, 256, 0x2722
+
+ .align 2
+gUnknown_083CF58C:: @ 83CF58C
+ obj_pal gMenuMoneyPal, 0x2722
+
+@ 83CF594
+ .include "data/contest_moves.inc"
+
+@ 83D00AC
+ .include "data/contest_effects.inc"
+
+@ A lookup table with TRUE for each combo starter ID and FALSE for ID 0,
+@ which means "not a combo starter move".
+gComboStarterLookupTable:: @ 83D016C
+ .byte FALSE
+ .rept 62
+ .byte TRUE
+ .endr
+
+@ 83D01AC
+ .include "data/contest_effect_funcs.inc"
+
+ .align 2
+recordMixingSecretBases:: @ 83D026C
+ @ gSaveBlock1.secretBases
+ .4byte gSaveBlock1 + 0x1A08
+
+ .align 2
+recordMixingTvShows:: @ 83D0270
+ @ gSaveBlock1.tvShows
+ .4byte gSaveBlock1 + 0x2738
+
+ .align 2
+gUnknown_083D0274:: @ 83D0274
+ .4byte gSaveBlock1 + 0x2ABC
+
+ .align 2
+gUnknown_083D0278:: @ 83D0278
+ .4byte gSaveBlock1 + 0x2D94
+
+ .align 2
+recordMixingEasyChatPairs:: @ 83D027C
+ @ gSaveBlock1.easyChatPairs
+ .4byte gSaveBlock1 + 0x2DD4
+
+ .align 2
+gUnknown_083D0280:: @ 83D0280
+ .4byte 0x02038738
+
+ .align 2
+gUnknown_083D0284:: @ 83D0284
+ .4byte 0x02024f4c
+
+gUnknown_083D0288:: @ 83D0288
+ .byte 1, 0
+
+gUnknown_083D028A:: @ 83D028A
+ .byte 1, 2, 0
+ .byte 2, 0, 1
+
+gUnknown_083D0290:: @ 83D0290
+ .byte 1, 0, 3, 2
+ .byte 3, 0, 1, 2
+ .byte 2, 0, 3, 1
+ .byte 1, 3, 0, 2
+ .byte 2, 3, 0, 1
+ .byte 3, 2, 0, 1
+ .byte 1, 2, 3, 0
+ .byte 2, 3, 1, 0
+ .byte 3, 2, 1, 0
+
+gUnknown_083D02B4:: @ 83D02B4
+ .byte 0, 1
+ .byte 1, 2
+ .byte 2, 0
+
+gUnknown_083D02BA:: @ 83D02BA
+ .byte 0, 1
+ .byte 2, 3
+
+ .byte 0, 2
+ .byte 1, 3
+
+ .byte 0, 3
+ .byte 2, 1
+
+ .align 2 @ object file boundary?
+
+gDebugText_SoundCheckJap:: @ 83D02C8
+ .string "サウンドチェック$" @ Sound Check
+
+gDebugText_BGM:: @ 83D02D1
+ .string "BGM$"
+
+gDebugText_SE:: @ 83D02D5
+ .string "SE $"
+
+gUnknown_083D02D9:: @ 83D02D9
+ .incbin "baserom.gba", 0x003d02d9, 0xd
+
+gDebugText_UpDown:: @ 83D02E6
+ .string "L‥UP R‥DOWN$"
+
+gDebugText_DriverTest:: @ 83D02F2
+ .string "R‥DRIVER-TEST$"
+
+gUnknown_083D0300:: @ 83D0300
+ .incbin "baserom.gba", 0x003d0300, 0x12
+
+gUnknown_083D0312:: @ 83D0312
+ .incbin "baserom.gba", 0x003d0312, 0xa
+
+gUnknown_083D031C:: @ 83D031C
+ .incbin "baserom.gba", 0x003d031c, 0xb
+
+gDebugText_Voice:: @ 83D0327
+ .string "VOICE‥‥‥‥$"
+
+gDebugText_Volume:: @ 83D0331
+ .string "VOLUME‥‥‥$"
+
+gDebugText_Panpot:: @ 83D033B
+ .string "PANPOT‥‥‥$"
+
+gDebugText_Pitch:: @ 83D0345
+ .string "PITCH‥‥‥‥$"
+
+gDebugText_Length:: @ 83D034F
+ .string "LENGTH‥‥‥$"
+
+gDebugText_Release:: @ 83D0359
+ .string "RELEASE‥‥$"
+
+gDebugText_Progress:: @ 83D0363
+ .string "PROGRESS‥$"
+
+gDebugText_Chorus:: @ 83D036D
+ .string "CHORUS‥‥‥$"
+
+gDebugText_Priority:: @ 83D0377
+ .string "PRIORITY‥$"
+
+gUnknown_083D0381:: @ 83D0381
+ .string "さいせいちゆう‥$" @ 再生中 (playing)
+
+gUnknown_083D038A:: @ 83D038A
+ .string "はんてん‥‥‥‥$" @ 反転 (reverse)
+
+gUnknown_083D0393:: @ 83D0393
+ .string "すてれお‥‥‥‥$" @ stereo
+
+gUnknown_083D039C:: @ 83D039C
+ .incbin "baserom.gba", 0x003d039c, 0x40
+
+gUnknown_083D03DC:: @ 83D03DC
+ .string "▶$"
+
+gUnknown_083D03DE:: @ 83D03DE
+ .string " $"
+
+gUnknown_083D03E0:: @ 83D03E0
+ .incbin "baserom.gba", 0x003d03e0, 0x18
+
+gUnknown_083D03F8:: @ 83D03F8
+ .byte 0x3F, 0x00, 0xC0, 0x7F, 0x80 @ stereo panning
+
+gOtherText_SE:: @ 83D03FD
+ .string "SE$"
+
+gOtherText_Pan:: @ 83D0400
+ .string "PAN$"
+
+gOtherText_LR:: @ 83D0404
+ .string " LR$"
+
+gOtherText_RL:: @ 83D0409
+ .string " RL$"
+
+@ 83D040E
+ .include "data/text/song_names.inc"
+
+gUnknown_083D1358:: @ 83D1358
+ .incbin "baserom.gba", 0x003d1358, 0x1c
+
+gUnknown_083D1374:: @ 83D1374
+ .incbin "baserom.gba", 0x003d1374, 0x60
+
+ .align 2
+gUnknown_083D13D4:: @ 83D13D4
+ .4byte SecretBaseText_DelRegist, sub_80BCA84
+ .4byte gUnknownText_Exit, sub_80BCBF8
+
+ .align 2
+gUnknown_083D13E4:: @ 83D13E4
+ .4byte sub_80BCB90
+ .4byte sub_80BCBC0
+
+gUnknown_083D13EC:: @ 83D13EC
+ .incbin "baserom.gba", 0x003d13ec, 0xc
+
+gUnknown_083D13F8:: @ 83D13F8
+ .incbin "baserom.gba", 0x003d13f8, 0x3c
+
+ .align 2
+gUnknown_083D1434:: @ 83D1434
+ .4byte 0x0
+ .4byte UnknownString_81AD135
+ .4byte UnknownString_81AD5B0
+ .4byte UnknownString_81AD8B4
+
+ .align 2
+gUnknown_083D1444:: @ 83D1444
+ .4byte 0x0
+ .4byte UnknownString_81AD2E0
+ .4byte UnknownString_81AD6AE
+ .4byte UnknownString_81AD9D3
+
+ .align 2
+gUnknown_083D1454:: @ 83D1454
+ .4byte 0x0
+ .4byte UnknownString_81AD434
+ .4byte UnknownString_81AD7A7
+ .4byte UnknownString_81ADB01
+
+ .align 2
+gUnknown_083D1464:: @ 83D1464
+ .4byte gStringVar1
+ .4byte gStringVar2
+ .4byte gStringVar3
+
+ .align 2
+gUnknown_083D1470:: @ 83D1470
+ .4byte UnknownString_81A8EC9
+ .4byte UnknownString_81A9048
+ .4byte UnknownString_81A9067
+ .4byte UnknownString_81A9088
+ .4byte UnknownString_81A90B4
+ .4byte UnknownString_81A911F
+ .4byte UnknownString_81A9152
+ .4byte UnknownString_81A91C6
+
+ .align 2
+gUnknown_083D1490:: @ 83D1490
+ .4byte UnknownString_81A9581
+ .4byte UnknownString_81A9694
+ .4byte UnknownString_81A971B
+ .4byte UnknownString_81A974B
+ .4byte UnknownString_81A979F
+ .4byte UnknownString_81A97D0
+
+ .align 2
+gUnknown_083D14A8:: @ 83D14A8
+ .4byte UnknownString_81A8917
+ .4byte UnknownString_81A8AE5
+ .4byte UnknownString_81A8B9D
+ .4byte UnknownString_81A8C77
+ .4byte UnknownString_81A8D45
+
+ .align 2
+gUnknown_083D14BC:: @ 83D14BC
+ .4byte UnknownString_81A986F
+
+ .align 2
+gUnknown_083D14C0:: @ 83D14C0
+ .4byte UnknownString_81AAD23
+ .4byte UnknownString_81AADD5
+ .4byte UnknownString_81AAE31
+ .4byte UnknownString_81AAE9D
+ .4byte UnknownString_81AAF03
+ .4byte UnknownString_81AAF8A
+ .4byte UnknownString_81AB040
+ .4byte UnknownString_81AB0C8
+ .4byte UnknownString_81AB13D
+ .4byte UnknownString_81AB1C6
+ .4byte UnknownString_81AB266
+ .4byte UnknownString_81AB2DB
+
+ .align 2
+gUnknown_083D14F0:: @ 83D14F0
+ .4byte UnknownString_81AB381
+ .4byte UnknownString_81AB435
+ .4byte UnknownString_81AB507
+ .4byte UnknownString_81AB5B8
+ .4byte UnknownString_81AB61F
+ .4byte UnknownString_81AB6B0
+ .4byte UnknownString_81AB78D
+ .4byte UnknownString_81AB7FE
+ .4byte UnknownString_81AB835
+ .4byte UnknownString_81AB873
+ .4byte UnknownString_81AB92E
+ .4byte UnknownString_81AB95E
+ .4byte UnknownString_81ABB75
+
+ .align 2
+gUnknown_083D1524:: @ 83D1524
+ .4byte UnknownString_81A72DE
+ .4byte UnknownString_81A736B
+ .4byte UnknownString_81A73CA
+ .4byte UnknownString_81A744D
+ .4byte UnknownString_81A7508
+ .4byte UnknownString_81A75CE
+ .4byte UnknownString_81A768D
+ .4byte UnknownString_81A76C5
+ .4byte UnknownString_81A774F
+
+ .align 2
+gUnknown_083D1548:: @ 83D1548
+ .4byte UnknownString_81A7B93
+ .4byte UnknownString_81A7C26
+ .4byte UnknownString_81A7C7D
+ .4byte UnknownString_81A7D4A
+ .4byte UnknownString_81A7E0C
+ .4byte UnknownString_81A7F0E
+ .4byte UnknownString_81A8004
+ .4byte UnknownString_81A8119
+ .4byte UnknownString_81A811E
+ .4byte UnknownString_81A8123
+ .4byte UnknownString_81A8128
+ .4byte UnknownString_81A812D
+ .4byte UnknownString_81A8133
+ .4byte UnknownString_81A81BC
+ .4byte UnknownString_81A8267
+
+ .align 2
+gUnknown_083D1584:: @ 83D1584
+ .4byte UnknownString_81A99D9
+ .4byte UnknownString_81A9AF0
+ .4byte UnknownString_81A9B69
+ .4byte UnknownString_81A9BEF
+ .4byte UnknownString_81A9C6A
+ .4byte UnknownString_81A9CF8
+ .4byte UnknownString_81A9D74
+ .4byte UnknownString_81A9DF3
+ .4byte UnknownString_81A9E75
+ .4byte UnknownString_81A9F06
+ .4byte UnknownString_81A9F9F
+ .4byte UnknownString_81AA01E
+ .4byte UnknownString_81AA09D
+ .4byte UnknownString_81AA0D7
+ .4byte UnknownString_81AA138
+ .4byte UnknownString_81AA166
+ .4byte UnknownString_81AA1C0
+ .4byte UnknownString_81AA1EA
+ .4byte UnknownString_81AA28A
+
+ .align 2
+gUnknown_083D15D0:: @ 83D15D0
+ .4byte UnknownString_81AA814
+ .4byte UnknownString_81AA8C6
+ .4byte UnknownString_81AA9B2
+ .4byte UnknownString_81AAA5C
+ .4byte UnknownString_81AAB11
+ .4byte UnknownString_81AABB4
+ .4byte UnknownString_81AAC47
+
+ .align 2
+gUnknown_083D15EC:: @ 83D15EC
+ .4byte UnknownString_81AA344
+ .4byte UnknownString_81AA5F3
+
+ .align 2
+gUnknown_083D15F4:: @ 83D15F4
+ .4byte UnknownString_81ABC51
+ .4byte UnknownString_81ABD94
+ .4byte UnknownString_81ABDF2
+
+ .align 2
+gUnknown_083D1600:: @ 83D1600
+ .4byte UnknownString_81AC90D
+ .4byte UnknownString_81ACA02
+ .4byte UnknownString_81ACAAA
+ .4byte UnknownString_81ACC07
+ .4byte UnknownString_81ACD13
+ .4byte UnknownString_81ACDFA
+ .4byte UnknownString_81ACEE7
+ .4byte UnknownString_81ACF49
+ .4byte UnknownString_81AD00A
+
+ .align 2
+gUnknown_083D1624:: @ 83D1624
+ .incbin "baserom.gba", 0x003d1624, 0x20
+
+gUnknown_083D1644:: @ 83D1644
+ .incbin "baserom.gba", 0x003d1644, 0xa0
+
+gUnknown_083D16E4:: @ 83D16E4
+ .incbin "baserom.gba", 0x003d16e4, 0x40
+
+ .align 2
+gMiscBlank_Pal::
+ .incbin "graphics/interface/blank.gbapal"
+
+ .align 2
+gOamData_83D1744:: @ 83D1744
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x2C00
+
+ .align 2
+gSpriteTemplate_83D174C:: @ 83D174C
+ spr_template 3009, 3009, gOamData_83D1744, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083D1764:: @ 83D1764
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc1
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc2
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc3
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc4
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc5
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc6
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc7
+ obj_tiles gMiscBlank_Gfx, 1024, 0x0bc8
+
+ .align 2
+gUnknown_083D17A4:: @ 83D17A4
+ obj_pal gMiscBlank_Pal, 0x0BC1
+
+ .align 2
+gOamData_83D17AC:: @ 83D17AC
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83D17B4:: @ 83D17B4
+ spr_template 3017, 3017, gOamData_83D17AC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80C3DF0
+
+ .align 2
+gUnknown_083D17CC:: @ 83D17CC
+ obj_tiles gContestConfetti_Gfx, 544, 0x0bc9
+
+ .align 2
+gUnknown_083D17D4:: @ 83D17D4
+ obj_pal gContestConfetti_Pal, 0x0bc9
+
+gUnknown_083D17DC:: @ 83D17DC
+ .string "{COLOR RED}$"
+
+gUnknown_083D17E0:: @ 83D17E0
+ .string "/$"
+
+gUnknown_083D17E2:: @ 83D17E2
+ .string "{SIZE 3}{COLOR_HIGHLIGHT_SHADOW WHITE2 DARK_GREY LIGHT_BLUE}$"
+
+ .align 2
+ .incbin "baserom.gba", 0x003d17ec, 0x20
+
+gUnknown_083D180C:: @ 83D180C
+ .incbin "baserom.gba", 0x003d180c, 0x80
+
+gOtherText_DecimalPoint:: @ 83D188C
+ .string ".$"
+
+gUnknown_083D188E:: @ 83D188E
+ .byte 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E
+
+ .align 2
+gUnknown_083D1898:: @ 83D1898
+ obj_pal gUnknownPal_083D190C, 0x0080
+
+ .align 2
+gUnknown_083D18A0:: @ 83D18A0
+ obj_pal gUnknownPal_083D18EC, 0x0000
+
+ .align 2
+gSpriteTemplate_83D18A8:: @ 83D18A8
+ spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C60CC
+
+ .align 2
+gSpriteTemplate_83D18C0:: @ 83D18C0
+ spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C6130
+
+ .align 2
+gOamData_83D18D8:: @ 83D18D8
+ .2byte 0x4000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_83D18E0:: @ 83D18E0
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D18E8:: @ 83D18E8
+ .4byte gSpriteAnim_83D18E0
+
+ .align 2
+gUnknownPal_083D18EC::
+ .incbin "baserom.gba", 0x003d18ec, 0x20
+
+ .align 2
+gUnknownPal_083D190C::
+ .incbin "baserom.gba", 0x003d190c, 0x20
+
+ .incbin "baserom.gba", 0x003d192c, 0x60
+
+ .align 2
+gSpriteImage_83D198C:: @ 83D198C
+ .incbin "graphics/unknown_sprites/83D259C/0.4bpp"
+
+ .align 2
+gSpriteImage_83D1A0C:: @ 83D1A0C
+ .incbin "graphics/unknown_sprites/83D259C/1.4bpp"
+
+ .align 2
+gSpriteImage_83D1A8C:: @ 83D1A8C
+ .incbin "graphics/unknown_sprites/83D259C/2.4bpp"
+
+ .align 2
+gSpriteImage_83D1B0C:: @ 83D1B0C
+ .incbin "graphics/unknown_sprites/83D259C/3.4bpp"
+
+ .align 2
+gSpriteImage_83D1B8C:: @ 83D1B8C
+ .incbin "graphics/unknown_sprites/83D259C/4.4bpp"
+
+ .align 2
+ .incbin "baserom.gba", 0x003d1c0c, 0x20
+
+ .align 2
+gFieldEffectObjectPalette7: @ 83D1C2C
+ .incbin "graphics/field_effect_objects/palettes/07.gbapal"
+
+ .align 2
+gSpriteImage_83D1C4C:: @ 83D1C4C
+ .incbin "graphics/unknown_sprites/83D25EC/0.4bpp"
+
+ .align 2
+gSpriteImage_83D1CCC:: @ 83D1CCC
+ .incbin "graphics/unknown_sprites/83D25EC/1.4bpp"
+
+ .align 2
+gSpriteImage_83D1D4C:: @ 83D1D4C
+ .incbin "graphics/unknown_sprites/83D25EC/2.4bpp"
+
+ .align 2
+gSpriteImage_83D1DCC:: @ 83D1DCC
+ .incbin "graphics/unknown_sprites/83D25EC/3.4bpp"
+
+ .align 2
+gSpriteImage_83D1E4C:: @ 83D1E4C
+ .incbin "graphics/unknown_sprites/83D25EC/4.4bpp"
+
+ .align 2
+gSpriteImage_83D1ECC:: @ 83D1ECC
+ .incbin "graphics/unknown_sprites/83D25C4/0.4bpp"
+
+ .align 2
+gSpriteImage_83D1F4C:: @ 83D1F4C
+ .incbin "graphics/unknown_sprites/83D25C4/1.4bpp"
+
+ .align 2
+gSpriteImage_83D1FCC:: @ 83D1FCC
+ .incbin "graphics/unknown_sprites/83D25C4/2.4bpp"
+
+ .align 2
+gSpriteImage_83D204C:: @ 83D204C
+ .incbin "graphics/unknown_sprites/83D25C4/3.4bpp"
+
+ .align 2
+gSpriteImage_83D20CC:: @ 83D20CC
+ .incbin "graphics/unknown_sprites/83D25C4/4.4bpp"
+
+ .align 2
+ .incbin "baserom.gba", 0x003d214c, 0x80
+
+ .align 2
+gFieldEffectObjectPalette8: @ 83D21CC
+ .incbin "graphics/field_effect_objects/palettes/08.gbapal"
+
+ .align 2
+gSpriteImage_83D21EC:: @ 83D21EC
+ .incbin "graphics/unknown_sprites/83D2688/0.4bpp"
+
+ .align 2
+gSpriteImage_83D22EC:: @ 83D22EC
+ .incbin "graphics/unknown_sprites/83D2688/1.4bpp"
+
+ .align 2
+gSpriteImage_83D23EC:: @ 83D23EC
+ .incbin "graphics/unknown_sprites/83D2688/2.4bpp"
+
+ .align 2
+gOamData_83D24EC:: @ 83D24EC
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83D24F4:: @ 83D24F4
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 3, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D250C:: @ 83D250C
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 3, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D2524:: @ 83D2524
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 3, 8
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D253C:: @ 83D253C
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D2554:: @ 83D2554
+ obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D256C:: @ 83D256C
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 3, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D2584:: @ 83D2584
+ .4byte gSpriteAnim_83D24F4
+
+ .align 2
+gSpriteAnimTable_83D2588:: @ 83D2588
+ .4byte gSpriteAnim_83D250C
+ .4byte gSpriteAnim_83D2524
+ .4byte gSpriteAnim_83D253C
+ .4byte gSpriteAnim_83D2554
+
+ .align 2
+gSpriteAnimTable_83D2598:: @ 83D2598
+ .4byte gSpriteAnim_83D256C
+
+ .align 2
+gSpriteImageTable_83D259C:: @ 83D259C
+ obj_frame_tiles gSpriteImage_83D198C, 0x80
+ obj_frame_tiles gSpriteImage_83D1A0C, 0x80
+ obj_frame_tiles gSpriteImage_83D1A8C, 0x80
+ obj_frame_tiles gSpriteImage_83D1B0C, 0x80
+ obj_frame_tiles gSpriteImage_83D1B8C, 0x80
+
+ .align 2
+gSpriteImageTable_83D25C4:: @ 83D25C4
+ obj_frame_tiles gSpriteImage_83D1ECC, 0x80
+ obj_frame_tiles gSpriteImage_83D1F4C, 0x80
+ obj_frame_tiles gSpriteImage_83D1FCC, 0x80
+ obj_frame_tiles gSpriteImage_83D204C, 0x80
+ obj_frame_tiles gSpriteImage_83D20CC, 0x80
+
+ .align 2
+gSpriteImageTable_83D25EC:: @ 83D25EC
+ obj_frame_tiles gSpriteImage_83D1C4C, 0x80
+ obj_frame_tiles gSpriteImage_83D1CCC, 0x80
+ obj_frame_tiles gSpriteImage_83D1D4C, 0x80
+ obj_frame_tiles gSpriteImage_83D1DCC, 0x80
+ obj_frame_tiles gSpriteImage_83D1E4C, 0x80
+
+ .align 2
+gSpriteTemplate_83D2614:: @ 83D2614
+ spr_template 0xFFFF, 4099, gOamData_83D24EC, gSpriteAnimTable_83D2584, gSpriteImageTable_83D259C, gDummySpriteAffineAnimTable, sub_80C644C
+
+ .align 2
+gSpriteTemplate_83D262C:: @ 83D262C
+ spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2588, gSpriteImageTable_83D25C4, gDummySpriteAffineAnimTable, sub_80C6598
+
+ .align 2
+gSpriteTemplate_83D2644:: @ 83D2644
+ spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2598, gSpriteImageTable_83D25EC, gDummySpriteAffineAnimTable, sub_80C66BC
+
+ .align 2
+gFieldEffectObjectPaletteInfo7:: @ 83D265C
+ obj_pal gFieldEffectObjectPalette7, 0x1003
+
+ .align 2
+gFieldEffectObjectPaletteInfo8:: @ 83D2664
+ obj_pal gFieldEffectObjectPalette8, 0x1008
+
+ .align 2
+gOamData_83D266C:: @ 83D266C
+ .2byte 0x8000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83D2674:: @ 83D2674
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 2, 6
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D2684:: @ 83D2684
+ .4byte gSpriteAnim_83D2674
+
+ .align 2
+gSpriteImageTable_83D2688:: @ 83D2688
+ obj_frame_tiles gSpriteImage_83D21EC, 0x100
+ obj_frame_tiles gSpriteImage_83D22EC, 0x100
+ obj_frame_tiles gSpriteImage_83D23EC, 0x100
+
+ .align 2
+gSpriteTemplate_83D26A0:: @ 83D26A0
+ spr_template 0xFFFF, 4110, gOamData_83D266C, gSpriteAnimTable_83D2684, gSpriteImageTable_83D2688, gDummySpriteAffineAnimTable, SpriteCB_SandPillar_0
+
+@ This uses one of the secret base palettes, so there is no "09.pal" file.
+ .align 2
+gFieldEffectObjectPaletteInfo9:: @ 83D26B8
+ obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E
+
+ .align 2
+gSpriteImage_83D26C0:: @ 83D26C0
+ .incbin "graphics/unknown_sprites/83D2860/0.4bpp"
+
+ .align 2
+gSpriteImage_83D2740:: @ 83D2740
+ .incbin "graphics/unknown_sprites/83D2860/1.4bpp"
+
+ .align 2
+gSpriteImage_83D27C0:: @ 83D27C0
+ .incbin "graphics/unknown_sprites/83D2860/2.4bpp"
+
+ .align 2
+Palette_3D2840:: @ 83D2840
+ .incbin "baserom.gba", 0x3d2840, 0x20
+
+ .align 2
+gSpriteImageTable_83D2860:: @ 83D2860
+ obj_frame_tiles gSpriteImage_83D26C0, 0x80
+ obj_frame_tiles gSpriteImage_83D2740, 0x80
+ obj_frame_tiles gSpriteImage_83D27C0, 0x80
+
+ .align 2
+gUnknown_083D2878:: @ 83D2878
+ obj_pal Palette_3D2840, 4096
+
+ .align 2
+gSpriteAnim_83D2880:: @ 83D2880
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 2, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D2890:: @ 83D2890
+ .4byte gSpriteAnim_83D2880
+
+ .align 2
+gSpriteTemplate_83D2894:: @ 83D2894
+ spr_template 0xFFFF, 4096, gFieldOamData_32x8, gSpriteAnimTable_83D2890, gSpriteImageTable_83D2860, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gMapObjectPic_MovingBox:: @ 83D28AC
+ .incbin "graphics/map_objects/pics/misc/moving_box.4bpp"
+
+ .align 2
+gMapObjectPalette19:: @ 83D292C
+ .incbin "graphics/map_objects/palettes/19.gbapal"
+
+gTruckCamera_HorizontalTable:: @ 83D294C
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+
+gUnknown_083D295F:: @ 83D295F
+ step_18
+ step_end
+
+gUnknown_083D2961:: @ 83D2961
+ step_17
+ step_end
+
+ .align 2
+gUnknown_083D2964:: @ 83D2964
+ .byte 12, 0, 5, 0, 3, 0, 0, 0
+ .byte 14, 0, 7, 0, 3, 3, 0, 0
+ .byte 16, 0, 4, 0, 5, 1, 0, 0
+ .byte 15, 0, 14, 0, 1, 0, 0, 0
+ .byte 18, 0, 13, 0, 4, 2, 0, 0
+ .byte 8, 0, 20, 0, 4, 2, 0, 0
+ .byte 16, 0, 20, 0, 7, 1, 0, 0
+
+ .align 2
+gUnknown_083D299C:: @ 83D299C
+ .byte 13, 0, 3, 0, 4, 3, 0, 0
+ .byte 12, 0, 6, 0, 4, 2, 0, 0
+ .byte 3, 0, 6, 0, 4, 2, 0, 0
+ .byte 3, 0, 9, 0, 5, 3, 0, 0
+ .byte 8, 0, 8, 0, 0, 1, 0, 0
+ .byte 2, 0, 12, 0, 6, 2, 0, 0
+ .byte 9, 0, 13, 0, 1, 0, 0, 0
+ .byte 3, 0, 14, 0, 2, 1, 0, 0
+ .byte 9, 0, 15, 0, 3, 2, 0, 0
+ .byte 3, 0, 18, 0, 5, 2, 0, 0
+ .byte 2, 0, 19, 0, 4, 0, 0, 0
+ .byte 5, 0, 21, 0, 0, 0, 0, 0
+ .byte 9, 0, 19, 0, 3, 3, 0, 0
+ .byte 12, 0, 20, 0, 4, 1, 0, 0
+
+ .align 2
+RotatingGateTiles_1: @ 83D2A0C
+ .incbin "graphics/rotating_gates/1.4bpp"
+
+ .align 2
+RotatingGateTiles_2: @ 83D320C
+ .incbin "graphics/rotating_gates/2.4bpp"
+
+ .align 2
+RotatingGateTiles_3: @ 83D3A0C
+ .incbin "graphics/rotating_gates/3.4bpp"
+
+ .align 2
+RotatingGateTiles_5: @ 83D420C
+ .incbin "graphics/rotating_gates/5.4bpp"
+
+ .align 2
+RotatingGateTiles_6: @ 83D4A0C
+ .incbin "graphics/rotating_gates/6.4bpp"
+
+ .align 2
+RotatingGateTiles_7: @ 83D520C
+ .incbin "graphics/rotating_gates/7.4bpp"
+
+ .align 2
+RotatingGateTiles_0: @ 83D5A0C
+ .incbin "graphics/rotating_gates/0.4bpp"
+
+ .align 2
+RotatingGateTiles_4: @ 83D5C0C
+ .incbin "graphics/rotating_gates/4.4bpp"
+
+ .align 2
+gOamData_83D5E0C:: @ 83D5E0C
+ .2byte 0x0100
+ .2byte 0xC000
+ .2byte 0x5800
+
+ .align 2
+gOamData_83D5E14:: @ 83D5E14
+ .2byte 0x0100
+ .2byte 0x8000
+ .2byte 0x5800
+
+ .align 2
+gRotatingGatesGraphicsTable:: @ 83D5E1C
+ obj_tiles RotatingGateTiles_0, 0x200, 0x1300
+ obj_tiles RotatingGateTiles_1, 0x800, 0x1301
+ obj_tiles RotatingGateTiles_2, 0x800, 0x1302
+ obj_tiles RotatingGateTiles_3, 0x800, 0x1303
+ obj_tiles RotatingGateTiles_4, 0x200, 0x1304
+ obj_tiles RotatingGateTiles_5, 0x800, 0x1305
+ obj_tiles RotatingGateTiles_6, 0x800, 0x1306
+ obj_tiles RotatingGateTiles_7, 0x800, 0x1307
+ null_obj_tiles
+
+ .align 2
+gSpriteAnim_83D5E64:: @ 83D5E64
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D5E6C:: @ 83D5E6C
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D5E74:: @ 83D5E74
+ .4byte gSpriteAnim_83D5E64
+
+ .align 2
+gSpriteAnimTable_83D5E78:: @ 83D5E78
+ .4byte gSpriteAnim_83D5E6C
+
+ .align 2
+gSpriteAffineAnim_83D5E7C:: @ 83D5E7C
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83D5E8C:: @ 83D5E8C
+ obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83D5E9C:: @ 83D5E9C
+ obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83D5EAC:: @ 83D5EAC
+ obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83D5EBC:: @ 83D5EBC
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5ED4:: @ 83D5ED4
+ obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5EEC:: @ 83D5EEC
+ obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5F04:: @ 83D5F04
+ obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5F1C:: @ 83D5F1C
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5F34:: @ 83D5F34
+ obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5F4C:: @ 83D5F4C
+ obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5F64:: @ 83D5F64
+ obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5F7C:: @ 83D5F7C
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5F94:: @ 83D5F94
+ obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5FAC:: @ 83D5FAC
+ obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5FC4:: @ 83D5FC4
+ obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5FDC:: @ 83D5FDC
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D5FF4:: @ 83D5FF4
+ obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D600C:: @ 83D600C
+ obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6024:: @ 83D6024
+ obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D603C:: @ 83D603C
+ .4byte gSpriteAffineAnim_83D5E7C
+ .4byte gSpriteAffineAnim_83D5E8C
+ .4byte gSpriteAffineAnim_83D5E9C
+ .4byte gSpriteAffineAnim_83D5EAC
+ .4byte gSpriteAffineAnim_83D5F1C
+ .4byte gSpriteAffineAnim_83D5F64
+ .4byte gSpriteAffineAnim_83D5F4C
+ .4byte gSpriteAffineAnim_83D5F34
+ .4byte gSpriteAffineAnim_83D5EBC
+ .4byte gSpriteAffineAnim_83D5ED4
+ .4byte gSpriteAffineAnim_83D5EEC
+ .4byte gSpriteAffineAnim_83D5F04
+ .4byte gSpriteAffineAnim_83D5FDC
+ .4byte gSpriteAffineAnim_83D6024
+ .4byte gSpriteAffineAnim_83D600C
+ .4byte gSpriteAffineAnim_83D5FF4
+ .4byte gSpriteAffineAnim_83D5F7C
+ .4byte gSpriteAffineAnim_83D5F94
+ .4byte gSpriteAffineAnim_83D5FAC
+ .4byte gSpriteAffineAnim_83D5FC4
+
+ .align 2
+gSpriteTemplate_83D608C:: @ 83D608C
+ spr_template 4864, 0xFFFF, gOamData_83D5E0C, gSpriteAnimTable_83D5E74, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94
+
+ .align 2
+gSpriteTemplate_83D60A4:: @ 83D60A4
+ spr_template 4864, 0xFFFF, gOamData_83D5E14, gSpriteAnimTable_83D5E78, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94
+
+gUnknown_083D60BC:: @ 83D60BC
+ .incbin "baserom.gba", 0x003d60bc, 0x10
+
+gUnknown_083D60CC:: @ 83D60CC
+ .incbin "baserom.gba", 0x003d60cc, 0x10
+
+gUnknown_083D60DC:: @ 83D60DC
+ .incbin "baserom.gba", 0x003d60dc, 0x10
+
+gUnknown_083D60EC:: @ 83D60EC
+ .incbin "baserom.gba", 0x003d60ec, 0x10
+
+gUnknown_083D60FC:: @ 83D60FC
+ .incbin "baserom.gba", 0x003d60fc, 0x20
+
+gUnknown_083D611C:: @ 83D611C
+ .incbin "baserom.gba", 0x003d611c, 0x20
+
+gUnknown_083D613C:: @ 83D613C
+Unknown_83D613C::
+ .incbin "baserom.gba", 0x003d613c, 0x60
+Unknown_83D619C::
+ .incbin "baserom.gba", 0x003d619c, 0x20
+Unknown_83D61BC::
+ .incbin "baserom.gba", 0x003d61bc, 0x20
+
+ .align 2
+gUnknown_083D61DC:: @ 83D61DC
+ .4byte Unknown_83D619C
+ .4byte Unknown_83D61BC
+
+ .align 2
+gUnknown_083D61E4:: @ 83D61E4
+ .4byte sub_808B020
+ .4byte c2_exit_to_overworld_2_switch
+ .4byte sub_810B96C
+
+gUnknown_083D61F0:: @ 83D61F0
+ .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST
+
+ .align 2
+gUnknown_083D61F4:: @ 83D61F4
+ .4byte sub_80C9FC0
+ .4byte sub_80A5C48
+
+ .align 2
+gSpriteAnim_83D61FC:: @ 83D61FC
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 6, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 10, 5
+ obj_image_anim_frame 12, 5
+ obj_image_anim_frame 14, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D6220:: @ 83D6220
+ .4byte gSpriteAnim_83D61FC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6224:: @ 83D6224
+ spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710
+
+ .align 2
+gBattleAnimSpriteTemplate_83D623C:: @ 83D623C
+ spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6254:: @ 83D6254
+ spr_template 10065, 10065, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710
+
+ .align 2
+gSpriteAnim_83D626C:: @ 83D626C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6274:: @ 83D6274
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D627C:: @ 83D627C
+ obj_image_anim_frame 2, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6284:: @ 83D6284
+ obj_image_anim_frame 3, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D628C:: @ 83D628C
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6294:: @ 83D6294
+ obj_image_anim_frame 5, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D629C:: @ 83D629C
+ obj_image_anim_frame 6, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D62A4:: @ 83D62A4
+ obj_image_anim_frame 7, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D62AC:: @ 83D62AC
+ obj_image_anim_frame 8, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D62B4:: @ 83D62B4
+ .4byte gSpriteAnim_83D626C
+ .4byte gSpriteAnim_83D6274
+ .4byte gSpriteAnim_83D627C
+ .4byte gSpriteAnim_83D6284
+ .4byte gSpriteAnim_83D628C
+ .4byte gSpriteAnim_83D6294
+ .4byte gSpriteAnim_83D629C
+
+ .align 2
+gSpriteAnimTable_83D62D0:: @ 83D62D0
+ .4byte gSpriteAnim_83D62A4
+
+ .align 2
+gSpriteAnimTable_83D62D4:: @ 83D62D4
+ .4byte gSpriteAnim_83D62AC
+
+ .align 2
+gSpriteAffineAnim_83D62D8:: @ 83D62D8
+ obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D62E8:: @ 83D62E8
+ .4byte gSpriteAffineAnim_83D62D8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D62EC:: @ 83D62EC
+ spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D62E8, sub_80CA7B0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6304:: @ 83D6304
+ spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CA800
+
+ .align 2
+gSpriteTemplate_83D631C:: @ 83D631C
+ spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62D0, NULL, gDummySpriteAffineAnimTable, sub_80CA858
+
+ .align 2
+gSpriteAffineAnim_83D6334:: @ 83D6334
+ obj_rot_scal_anim_frame 0x140, 0x140, 0, 0
+ obj_rot_scal_anim_frame 0xFFF2, 0xFFF2, 0, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D634C:: @ 83D634C
+ .4byte gSpriteAffineAnim_83D6334
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6350:: @ 83D6350
+ spr_template 10235, 10235, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D634C, sub_80CA7B0
+
+ .align 2
+gSpriteAffineAnim_83D6368:: @ 83D6368
+ obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D6378:: @ 83D6378
+ .4byte gSpriteAffineAnim_83D6368
+
+ .align 2
+gBattleAnimSpriteTemplate_83D637C:: @ 83D637C
+ spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D6378, sub_80CA9A8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6394:: @ 83D6394
+ spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CAA14
+
+ .align 2
+gSpriteAnim_83D63AC:: @ 83D63AC
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D63B4:: @ 83D63B4
+ obj_image_anim_frame 4, 7
+ obj_image_anim_frame 8, 7
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D63C0:: @ 83D63C0
+ .4byte gSpriteAnim_83D63AC
+ .4byte gSpriteAnim_83D63B4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D63C8:: @ 83D63C8
+ spr_template 10006, 10006, gOamData_837DF2C, gSpriteAnimTable_83D63C0, NULL, gDummySpriteAffineAnimTable, sub_80CAB18
+
+ .align 2
+gSpriteAnim_83D63E0:: @ 83D63E0
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D63E8:: @ 83D63E8
+ obj_image_anim_frame 4, 7
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D63F0:: @ 83D63F0
+ .4byte gSpriteAnim_83D63E0
+ .4byte gSpriteAnim_83D63E8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D63F8:: @ 83D63F8
+ spr_template 10158, 10158, gOamData_837DF2C, gSpriteAnimTable_83D63F0, NULL, gDummySpriteAffineAnimTable, sub_80CABF8
+
+ .align 2
+gSpriteAnim_83D6410:: @ 83D6410
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6418:: @ 83D6418
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6420:: @ 83D6420
+ .4byte gSpriteAnim_83D6410
+
+ .align 2
+gSpriteAnimTable_83D6424:: @ 83D6424
+ .4byte gSpriteAnim_83D6418
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6428:: @ 83D6428
+ spr_template 10159, 10159, gOamData_837DF2C, gSpriteAnimTable_83D6420, NULL, gDummySpriteAffineAnimTable, sub_80CAD54
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6440:: @ 83D6440
+ spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CAE20
+
+ .align 2
+gSpriteAnim_83D6458:: @ 83D6458
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 12, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 20, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 12, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83D6484:: @ 83D6484
+ obj_image_anim_frame 24, 5
+ obj_image_anim_frame 28, 5
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6494:: @ 83D6494
+ .4byte gSpriteAnim_83D6458
+ .4byte gSpriteAnim_83D6484
+
+ .align 2
+gBattleAnimSpriteTemplate_83D649C:: @ 83D649C
+ spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CAED8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D64B4:: @ 83D64B4
+ spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CB144
+
+ .align 2
+gSpriteAnim_83D64CC:: @ 83D64CC
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D64E0:: @ 83D64E0
+ .4byte gSpriteAnim_83D64CC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D64E4:: @ 83D64E4
+ spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, sub_80CAFD0
+
+ .align 2
+gSpriteAffineAnim_83D64FC:: @ 83D64FC
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D650C:: @ 83D650C
+ .4byte gSpriteAffineAnim_83D64FC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6510:: @ 83D6510
+ spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, sub_80CAFD0
+
+ .align 2
+gSpriteAnim_83D6528:: @ 83D6528
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_frame 96, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D653C:: @ 83D653C
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 96, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6550:: @ 83D6550
+ .4byte gSpriteAnim_83D6528
+ .4byte gSpriteAnim_83D653C
+
+ .align 2
+gSpriteAffineAnim_83D6558:: @ 83D6558
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6
+ obj_rot_scal_anim_frame 0xB, 0x0, 0, 6
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6578:: @ 83D6578
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xB, 0x0, 0, 6
+ obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D6598:: @ 83D6598
+ .4byte gSpriteAffineAnim_83D6558
+ .4byte gSpriteAffineAnim_83D6578
+
+ .align 2
+gBattleAnimSpriteTemplate_83D65A0:: @ 83D65A0
+ spr_template 10186, 10186, gOamData_837DFBC, gSpriteAnimTable_83D6550, NULL, gSpriteAffineAnimTable_83D6598, sub_80CB25C
+
+ .align 2
+gSpriteAffineAnim_83D65B8:: @ 83D65B8
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 0
+ obj_rot_scal_anim_frame 0x30, 0x30, 0, 14
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D65D0:: @ 83D65D0
+ obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D65E0:: @ 83D65E0
+ .4byte gSpriteAffineAnim_83D65B8
+ .4byte gSpriteAffineAnim_83D65D0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D65E8:: @ 83D65E8
+ spr_template 10147, 10147, gOamData_837DFEC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D65E0, sub_80CB4CC
+
+ .align 2
+gSpriteAnim_83D6600:: @ 83D6600
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 16, 7
+ obj_image_anim_frame 32, 7
+ obj_image_anim_frame 48, 7
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6614:: @ 83D6614
+ obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 7, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6628:: @ 83D6628
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 16, 7
+ obj_image_anim_frame 32, 7
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6638:: @ 83D6638
+ obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6648:: @ 83D6648
+ .4byte gSpriteAnim_83D6600
+ .4byte gSpriteAnim_83D6614
+ .4byte gSpriteAnim_83D6628
+ .4byte gSpriteAnim_83D6638
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6658:: @ 83D6658
+ spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB59C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6670:: @ 83D6670
+ spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB620
+
+ .align 2
+gSpriteAnim_83D6688:: @ 83D6688
+ obj_image_anim_frame 3, 3
+ obj_image_anim_frame 0, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D6694:: @ 83D6694
+ .4byte gSpriteAnim_83D6688
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6698:: @ 83D6698
+ spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D6694, NULL, gDummySpriteAffineAnimTable, sub_80CB768
+
+ .align 2
+gSpriteAnim_83D66B0:: @ 83D66B0
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D66B8:: @ 83D66B8
+ .4byte gSpriteAnim_83D66B0
+
+ .align 2
+gSpriteAffineAnim_83D66BC:: @ 83D66BC
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 10
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 20
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 10
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D66DC:: @ 83D66DC
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 2
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 2
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D6714:: @ 83D6714
+ .4byte gSpriteAffineAnim_83D66BC
+ .4byte gSpriteAffineAnim_83D66DC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D671C:: @ 83D671C
+ spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CB94C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6734:: @ 83D6734
+ spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBA28
+
+ .align 2
+gSpriteAnim_83D674C:: @ 83D674C
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 4, 4
+ obj_image_anim_frame 8, 4
+ obj_image_anim_frame 12, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6760:: @ 83D6760
+ .4byte gSpriteAnim_83D674C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6764:: @ 83D6764
+ spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6760, NULL, gDummySpriteAffineAnimTable, sub_80CBAA4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D677C:: @ 83D677C
+ spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBAE8
+
+ .align 2
+gSpriteAffineAnim_83D6794:: @ 83D6794
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 3
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D67A4:: @ 83D67A4
+ obj_rot_scal_anim_frame 0x0, 0xFFF6, 0, 3
+ obj_rot_scal_anim_frame 0x0, 0xFFFA, 0, 3
+ obj_rot_scal_anim_frame 0x0, 0xFFFE, 0, 3
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 3
+ obj_rot_scal_anim_frame 0x0, 0x2, 0, 3
+ obj_rot_scal_anim_frame 0x0, 0x6, 0, 3
+ obj_rot_scal_anim_frame 0x0, 0xA, 0, 3
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D67E4:: @ 83D67E4
+ .4byte gSpriteAffineAnim_83D6794
+ .4byte gSpriteAffineAnim_83D67A4
+ .4byte gSpriteAffineAnim_83D66BC
+ .4byte gSpriteAffineAnim_83D66DC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D67F4:: @ 83D67F4
+ spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D67E4, sub_80CBBF0
+
+ .align 2
+gUnknown_083D680C:: @ 83D680C
+ .incbin "baserom.gba", 0x003d680c, 0x24
+
+ .align 2
+gSpriteAnim_83D6830:: @ 83D6830
+ obj_image_anim_frame 28, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6838:: @ 83D6838
+ obj_image_anim_frame 32, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6840:: @ 83D6840
+ obj_image_anim_frame 20, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6848:: @ 83D6848
+ obj_image_anim_frame 28, 1, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6850:: @ 83D6850
+ obj_image_anim_frame 16, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6858:: @ 83D6858
+ obj_image_anim_frame 16, 1, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6860:: @ 83D6860
+ obj_image_anim_frame 28, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6868:: @ 83D6868
+ .4byte gSpriteAnim_83D6830
+ .4byte gSpriteAnim_83D6838
+ .4byte gSpriteAnim_83D6840
+ .4byte gSpriteAnim_83D6848
+ .4byte gSpriteAnim_83D6850
+ .4byte gSpriteAnim_83D6858
+ .4byte gSpriteAnim_83D6860
+
+ .align 2
+gSpriteTemplate_83D6884:: @ 83D6884
+ spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6868, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteAffineAnim_83D689C:: @ 83D689C
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D68B4:: @ 83D68B4
+ .4byte gSpriteAffineAnim_83D689C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D68B8:: @ 83D68B8
+ spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CC474
+
+ .align 2
+gBattleAnimSpriteTemplate_83D68D0:: @ 83D68D0
+ spr_template 10159, 10159, gOamData_837DF8C, gSpriteAnimTable_83D6420, NULL, gSpriteAffineAnimTable_83D68B4, sub_80CC474
+
+ .align 2
+gSpriteAffineAnim_83D68E8:: @ 83D68E8
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -10, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnim_83D6900:: @ 83D6900
+ obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -12, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnim_83D6918:: @ 83D6918
+ obj_rot_scal_anim_frame 0x8F, 0x8F, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -15, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D6930:: @ 83D6930
+ .4byte gSpriteAffineAnim_83D68E8
+
+ .align 2
+gSpriteAffineAnimTable_83D6934:: @ 83D6934
+ .4byte gSpriteAffineAnim_83D6900
+
+ .align 2
+gSpriteAffineAnimTable_83D6938:: @ 83D6938
+ .4byte gSpriteAffineAnim_83D6918
+
+ .align 2
+gBattleAnimSpriteTemplate_83D693C:: @ 83D693C
+ spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6930, sub_80CC474
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6954:: @ 83D6954
+ spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6934, sub_80CC474
+
+ .align 2
+gBattleAnimSpriteTemplate_83D696C:: @ 83D696C
+ spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6938, sub_80CC474
+
+ .align 2
+gUnknown_083D6984:: @ 83D6984
+ .incbin "baserom.gba", 0x003d6984, 0x10
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6994:: @ 83D6994
+ spr_template 10266, 10266, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CC6CC
+
+ .align 2
+gSpriteAnim_83D69AC:: @ 83D69AC
+ obj_image_anim_frame 64, 3
+ obj_image_anim_frame 80, 3
+ obj_image_anim_frame 96, 3
+ obj_image_anim_frame 112, 6
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D69C0:: @ 83D69C0
+ obj_image_anim_frame 64, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 80, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 96, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 112, 6, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D69D4:: @ 83D69D4
+ .4byte gSpriteAnim_83D69AC
+ .4byte gSpriteAnim_83D69C0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D69DC:: @ 83D69DC
+ spr_template 10056, 10056, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884
+
+ .align 2
+gBattleAnimSpriteTemplate_83D69F4:: @ 83D69F4
+ spr_template 10287, 10287, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884
+
+ .align 2
+gSpriteAnim_83D6A0C:: @ 83D6A0C
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_frame 64, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6A24:: @ 83D6A24
+ .4byte gSpriteAnim_83D6A0C
+
+ .align 2
+gSpriteTemplate_83D6A28:: @ 83D6A28
+ spr_template 10021, 10021, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C
+
+ .align 2
+gSpriteTemplate_83D6A40:: @ 83D6A40
+ spr_template 10022, 10022, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C
+
+ .align 2
+gSpriteAffineAnim_83D6A58:: @ 83D6A58
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6A68:: @ 83D6A68
+ obj_rot_scal_anim_frame 0x100, 0x100, 32, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6A78:: @ 83D6A78
+ obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6A88:: @ 83D6A88
+ obj_rot_scal_anim_frame 0x100, 0x100, 96, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6A98:: @ 83D6A98
+ obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6AA8:: @ 83D6AA8
+ obj_rot_scal_anim_frame 0x100, 0x100, -96, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6AB8:: @ 83D6AB8
+ obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6AC8:: @ 83D6AC8
+ obj_rot_scal_anim_frame 0x100, 0x100, -32, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D6AD8:: @ 83D6AD8
+ .4byte gSpriteAffineAnim_83D6A58
+ .4byte gSpriteAffineAnim_83D6A68
+ .4byte gSpriteAffineAnim_83D6A78
+ .4byte gSpriteAffineAnim_83D6A88
+ .4byte gSpriteAffineAnim_83D6A98
+ .4byte gSpriteAffineAnim_83D6AA8
+ .4byte gSpriteAffineAnim_83D6AB8
+ .4byte gSpriteAffineAnim_83D6AC8
+
+ .align 2
+gSpriteTemplate_83D6AF8:: @ 83D6AF8
+ spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6AD8, sub_80CC8C8
+
+ .align 2
+gSpriteAnim_83D6B10:: @ 83D6B10
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 32, 5
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6B24:: @ 83D6B24
+ .4byte gSpriteAnim_83D6B10
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6B28:: @ 83D6B28
+ spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC914
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6B40:: @ 83D6B40
+ spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC9BC
+
+ .align 2
+gSpriteAnim_83D6B58:: @ 83D6B58
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B60:: @ 83D6B60
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B68:: @ 83D6B68
+ obj_image_anim_frame 8, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B70:: @ 83D6B70
+ obj_image_anim_frame 12, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B78:: @ 83D6B78
+ obj_image_anim_frame 16, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B80:: @ 83D6B80
+ obj_image_anim_frame 20, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B88:: @ 83D6B88
+ obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B90:: @ 83D6B90
+ obj_image_anim_frame 4, 1, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6B98:: @ 83D6B98
+ obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6BA0:: @ 83D6BA0
+ obj_image_anim_frame 12, 1, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6BA8:: @ 83D6BA8
+ .4byte gSpriteAnim_83D6B58
+ .4byte gSpriteAnim_83D6B60
+ .4byte gSpriteAnim_83D6B68
+ .4byte gSpriteAnim_83D6B70
+ .4byte gSpriteAnim_83D6B78
+ .4byte gSpriteAnim_83D6B80
+ .4byte gSpriteAnim_83D6B88
+ .4byte gSpriteAnim_83D6B90
+ .4byte gSpriteAnim_83D6B98
+ .4byte gSpriteAnim_83D6BA0
+
+ .align 2
+gSpriteTemplate_83D6BD0:: @ 83D6BD0
+ spr_template 10072, 10072, gOamData_837DF2C, gSpriteAnimTable_83D6BA8, NULL, gDummySpriteAffineAnimTable, sub_80CCC50
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6BE8:: @ 83D6BE8
+ spr_template 10280, 10280, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CCD24
+
+ .align 2
+gSpriteAffineAnim_83D6C00:: @ 83D6C00
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D6C10:: @ 83D6C10
+ obj_rot_scal_anim_frame 0x0, 0x0, 2, 12
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 6
+ obj_rot_scal_anim_frame 0x0, 0x0, -2, 24
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 6
+ obj_rot_scal_anim_frame 0x0, 0x0, 2, 12
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D6C40:: @ 83D6C40
+ .4byte gSpriteAffineAnim_83D6C00
+ .4byte gSpriteAffineAnim_83D6C10
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6C48:: @ 83D6C48
+ spr_template 10099, 10099, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6C40, sub_80CCF04
+
+ .align 2
+gSpriteAnim_83D6C60:: @ 83D6C60
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 16, 7
+ obj_image_anim_frame 32, 7
+ obj_image_anim_frame 48, 7
+ obj_image_anim_frame 64, 7
+ obj_image_anim_frame 80, 7
+ obj_image_anim_frame 96, 7
+ obj_image_anim_frame 112, 7
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D6C84:: @ 83D6C84
+ .4byte gSpriteAnim_83D6C60
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6C88:: @ 83D6C88
+ spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD140
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6CA0:: @ 83D6CA0
+ spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD190
+
+ .align 2
+gSpriteAnim_83D6CB8:: @ 83D6CB8
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 4, 10
+ obj_image_anim_frame 8, 10
+ obj_image_anim_frame 12, 10
+ obj_image_anim_frame 16, 26
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 20, 5
+ obj_image_anim_frame 24, 15
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6CDC:: @ 83D6CDC
+ obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 10, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 12, 10, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 26, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 20, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 24, 15, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6D00:: @ 83D6D00
+ .4byte gSpriteAnim_83D6CB8
+ .4byte gSpriteAnim_83D6CDC
+
+ .align 2
+gSpriteTemplate_83D6D08:: @ 83D6D08
+ spr_template 10032, 10032, gOamData_837DF2C, gSpriteAnimTable_83D6D00, NULL, gDummySpriteAffineAnimTable, sub_80CD274
+
+ .align 2
+gSpriteAnim_83D6D20:: @ 83D6D20
+ obj_image_anim_frame 0, 40
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6D28:: @ 83D6D28
+ .4byte gSpriteAnim_83D6D20
+
+ .align 2
+gSpriteAffineAnim_83D6D2C:: @ 83D6D2C
+ obj_rot_scal_anim_frame 0x14, 0x14, -30, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 1, 24
+ obj_rot_scal_anim_end
+
+ .align 2
+ .incbin "baserom.gba", 0x003d6d44, 0x18
+
+ .align 2
+gSpriteAffineAnim_83D6D5C:: @ 83D6D5C
+ obj_rot_scal_anim_frame 0x14, 0x14, 30, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, -1, 24
+ obj_rot_scal_anim_end
+
+ .align 2
+ .incbin "baserom.gba", 0x003d6d74, 0x18
+
+ .align 2
+gSpriteAffineAnimTable_83D6D8C:: @ 83D6D8C
+ .4byte gSpriteAffineAnim_83D6D2C
+ .4byte gSpriteAffineAnim_83D6D5C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6D94:: @ 83D6D94
+ spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_83D6D28, NULL, gSpriteAffineAnimTable_83D6D8C, sub_80CD328
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6DAC:: @ 83D6DAC
+ spr_template 10014, 10014, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD3E0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6DC4:: @ 83D6DC4
+ spr_template 10014, 10014, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD6CC
+
+ .align 2
+gUnknown_083D6DDC:: @ 83D6DDC
+ .incbin "baserom.gba", 0x003d6ddc, 0x8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6DE4:: @ 83D6DE4
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD774
+
+ .align 2
+gSpriteTemplate_83D6DFC:: @ 83D6DFC
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD9C4
+
+ .align 2
+gSpriteAnim_83D6E14:: @ 83D6E14
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D6E28:: @ 83D6E28
+ obj_image_anim_frame 48, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6E30:: @ 83D6E30
+ .4byte gSpriteAnim_83D6E14
+ .4byte gSpriteAnim_83D6E28
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6E38:: @ 83D6E38
+ spr_template 10183, 10183, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDD74
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6E50:: @ 83D6E50
+ spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDDDC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6E68:: @ 83D6E68
+ spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDE24
+
+ .align 2
+gSpriteAnim_83D6E80:: @ 83D6E80
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 8, 12
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 24, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6E94:: @ 83D6E94
+ .4byte gSpriteAnim_83D6E80
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6E98:: @ 83D6E98
+ spr_template 10184, 10184, gOamData_837DF74, gSpriteAnimTable_83D6E94, NULL, gDummySpriteAffineAnimTable, sub_80CDF0C
+
+ .align 2
+gSpriteAnim_83D6EB0:: @ 83D6EB0
+ obj_image_anim_frame 0, 18
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 16, 18
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 32, 18
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 32, 6
+ obj_image_anim_frame 48, 18
+ obj_image_anim_frame 32, 6
+ obj_image_anim_frame 48, 6
+ obj_image_anim_frame 64, 18
+ obj_image_anim_frame 48, 6
+ obj_image_anim_frame 64, 54
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6EEC:: @ 83D6EEC
+ .4byte gSpriteAnim_83D6EB0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6EF0:: @ 83D6EF0
+ spr_template 10185, 10185, gOamData_837DF34, gSpriteAnimTable_83D6EEC, NULL, gDummySpriteAffineAnimTable, sub_80CDFB0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6F08:: @ 83D6F08
+ spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+
+ .align 2
+gSpriteAnim_83D6F20:: @ 83D6F20
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 64, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6F38:: @ 83D6F38
+ .4byte gSpriteAnim_83D6F20
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6F3C:: @ 83D6F3C
+ spr_template 10030, 10030, gOamData_837DF34, gSpriteAnimTable_83D6F38, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gSpriteAnim_83D6F54:: @ 83D6F54
+ obj_image_anim_frame 3, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6F68:: @ 83D6F68
+ .4byte gSpriteAnim_83D6F54
+
+ .align 2
+gSpriteAffineAnim_83D6F6C:: @ 83D6F6C
+ obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D6F7C:: @ 83D6F7C
+ .4byte gSpriteAffineAnim_83D6F6C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6F80:: @ 83D6F80
+ spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6F68, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE09C
+
+ .align 2
+gSpriteAnim_83D6F98:: @ 83D6F98
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D6FAC:: @ 83D6FAC
+ .4byte gSpriteAnim_83D6F98
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6FB0:: @ 83D6FB0
+ spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6FAC, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE17C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6FC8:: @ 83D6FC8
+ spr_template 10194, 10194, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE30C
+
+ .align 2
+gSpriteAnim_83D6FE0:: @ 83D6FE0
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 8, 8
+ obj_image_anim_frame 12, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D6FF4:: @ 83D6FF4
+ .4byte gSpriteAnim_83D6FE0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D6FF8:: @ 83D6FF8
+ spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6FF4, NULL, gDummySpriteAffineAnimTable, sub_80CE36C
+
+ .align 2
+gSpriteAnim_83D7010:: @ 83D7010
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 32, 2
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 64, 5
+ obj_image_anim_frame 80, 3
+ obj_image_anim_frame 96, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7034:: @ 83D7034
+ .4byte gSpriteAnim_83D7010
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7038:: @ 83D7038
+ spr_template 10031, 10031, gOamData_837DF34, gSpriteAnimTable_83D7034, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7050:: @ 83D7050
+ spr_template 10020, 10020, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE670
+
+ .align 2
+gSpriteAnim_83D7068:: @ 83D7068
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 32, 2
+ obj_image_anim_frame 48, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D707C:: @ 83D707C
+ .4byte gSpriteAnim_83D7068
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7080:: @ 83D7080
+ spr_template 10192, 10192, gOamData_837DF34, gSpriteAnimTable_83D707C, NULL, gDummySpriteAffineAnimTable, sub_80CEA04
+
+ .align 2
+gSpriteAnim_83D7098:: @ 83D7098
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D70A0:: @ 83D70A0
+ obj_image_anim_frame 4, 10
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D70A8:: @ 83D70A8
+ obj_image_anim_frame 8, 41
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D70B0:: @ 83D70B0
+ obj_image_anim_frame 12, 10
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D70B8:: @ 83D70B8
+ obj_image_anim_frame 16, 10
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D70C0:: @ 83D70C0
+ obj_image_anim_frame 20, 10
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D70C8:: @ 83D70C8
+ obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D70D0:: @ 83D70D0
+ obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D70D8:: @ 83D70D8
+ .4byte gSpriteAnim_83D7098
+ .4byte gSpriteAnim_83D70A0
+ .4byte gSpriteAnim_83D70A8
+ .4byte gSpriteAnim_83D70B0
+ .4byte gSpriteAnim_83D70B8
+ .4byte gSpriteAnim_83D70C0
+ .4byte gSpriteAnim_83D70C8
+ .4byte gSpriteAnim_83D70D0
+
+ .align 2
+gSpriteAffineAnim_83D70F8:: @ 83D70F8
+ obj_rot_scal_anim_frame 0xC, 0xC, 0, 16
+ obj_rot_scal_anim_frame 0xFFF4, 0xFFF4, 0, 16
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D7110:: @ 83D7110
+ .4byte gSpriteAffineAnim_83D70F8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7114:: @ 83D7114
+ spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CEB0C
+
+ .align 2
+gUnknown_083D712C:: @ 83D712C
+ .incbin "baserom.gba", 0x003d712c, 0x30
+
+ .align 2
+gBattleAnimSpriteTemplate_83D715C:: @ 83D715C
+ spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CECE8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7174:: @ 83D7174
+ spr_template 10193, 10193, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CEDF0
+
+ .align 2
+gSpriteAffineAnim_83D718C:: @ 83D718C
+ obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0
+ obj_rot_scal_anim_frame 0x4, 0x4, 0, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D71A4:: @ 83D71A4
+ .4byte gSpriteAffineAnim_83D718C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D71A8:: @ 83D71A8
+ spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D71A4, sub_80CEE60
+
+ .align 2
+gSpriteAnim_83D71C0:: @ 83D71C0
+ obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D71D4:: @ 83D71D4
+ obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D71E8:: @ 83D71E8
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 32, 2
+ obj_image_anim_frame 48, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D71FC:: @ 83D71FC
+ obj_image_anim_frame 48, 2
+ obj_image_anim_frame 32, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7210:: @ 83D7210
+ .4byte gSpriteAnim_83D71C0
+ .4byte gSpriteAnim_83D71E8
+ .4byte gSpriteAnim_83D71D4
+ .4byte gSpriteAnim_83D71FC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7220:: @ 83D7220
+ spr_template 10209, 10209, gOamData_837DF34, gSpriteAnimTable_83D7210, NULL, gDummySpriteAffineAnimTable, sub_80CEF9C
+
+ .align 2
+gSpriteAffineAnim_83D7238:: @ 83D7238
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x1E, 0x1E, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D7250:: @ 83D7250
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 11
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 11
+ obj_rot_scal_anim_loop 2
+ obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+ .incbin "baserom.gba", 0x003d7278, 0x48
+
+ .align 2
+gSpriteAffineAnimTable_83D72C0:: @ 83D72C0
+ .4byte gSpriteAffineAnim_83D7238
+ .4byte gSpriteAffineAnim_83D7250
+
+ .align 2
+gBattleAnimSpriteTemplate_83D72C8:: @ 83D72C8
+ spr_template 10064, 10064, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF040
+
+ .align 2
+gBattleAnimSpriteTemplate_83D72E0:: @ 83D72E0
+ spr_template 10064, 10064, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF0BC
+
+ .align 2
+gSpriteAnim_83D72F8:: @ 83D72F8
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D7300:: @ 83D7300
+ obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D7308:: @ 83D7308
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D7328:: @ 83D7328
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7348:: @ 83D7348
+ .4byte gSpriteAnim_83D72F8
+ .4byte gSpriteAnim_83D7300
+ .4byte gSpriteAnim_83D7308
+ .4byte gSpriteAnim_83D7328
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7358:: @ 83D7358
+ spr_template 10214, 10214, gOamData_837DF34, gSpriteAnimTable_83D7348, NULL, gDummySpriteAffineAnimTable, sub_80CF1C8
+
+ .align 2
+gSpriteTemplate_83D7370:: @ 83D7370
+ spr_template 10064, 10064, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF280
+
+ .align 2
+gSpriteAnim_83D7388:: @ 83D7388
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7390:: @ 83D7390
+ .4byte gSpriteAnim_83D7388
+
+ .align 2
+gSpriteTemplate_83D7394:: @ 83D7394
+ spr_template 10072, 10072, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF2D0
+
+ .align 2
+gSpriteTemplate_83D73AC:: @ 83D73AC
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF3C4
+
+ .align 2
+gSpriteTemplate_83D73C4:: @ 83D73C4
+ spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80CF458
+
+ .align 2
+gSpriteAnim_83D73DC:: @ 83D73DC
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D73F0:: @ 83D73F0
+ .4byte gSpriteAnim_83D73DC
+
+ .align 2
+gSpriteAffineAnim_83D73F4:: @ 83D73F4
+ obj_rot_scal_anim_frame 0x50, 0x50, 0, 0
+ obj_rot_scal_anim_frame 0x9, 0x9, 0, 18
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D740C:: @ 83D740C
+ .4byte gSpriteAffineAnim_83D73F4
+
+ .align 2
+gSpriteTemplate_83D7410:: @ 83D7410
+ spr_template 10007, 10007, gOamData_837DF94, gSpriteAnimTable_83D73F0, NULL, gSpriteAffineAnimTable_83D740C, sub_80793C4
+
+ .align 2
+gSpriteAnim_83D7428:: @ 83D7428
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 40, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_loop 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D744C:: @ 83D744C
+ .4byte gSpriteAnim_83D7428
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7450:: @ 83D7450
+ spr_template 10075, 10075, gOamData_837DF54, gSpriteAnimTable_83D744C, NULL, gDummySpriteAffineAnimTable, sub_80CF610
+
+ .align 2
+gSpriteAffineAnim_83D7468:: @ 83D7468
+ obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x14, 0x0, 0, 12
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 32
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D7488:: @ 83D7488
+ .4byte gSpriteAffineAnim_83D7468
+
+ .align 2
+gBattleAnimSpriteTemplate_83D748C:: @ 83D748C
+ spr_template 10005, 10005, gOamData_837E0FC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7488, sub_80CF690
+
+ .align 2
+gBattleAnimSpriteTemplate_83D74A4:: @ 83D74A4
+ spr_template 10003, 10003, gOamData_837E134, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF6DC
+
+ .align 2
+gSpriteTemplate_83D74BC:: @ 83D74BC
+ spr_template 10003, 10003, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF8B8
+
+ .align 2
+gSpriteAffineAnim_83D74D4:: @ 83D74D4
+ obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
+ obj_rot_scal_anim_frame 0x7, 0x7, 0, -56
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D74EC:: @ 83D74EC
+ obj_rot_scal_anim_frame 0x5, 0x5, 0, 10
+ obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
+ obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
+ obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
+ obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
+ obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
+ obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D752C:: @ 83D752C
+ .4byte gSpriteAffineAnim_83D74D4
+
+ .align 2
+gSpriteAffineAnimTable_83D7530:: @ 83D7530
+ .4byte gSpriteAffineAnim_83D74EC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7534:: @ 83D7534
+ spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D754C:: @ 83D754C
+ spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7564:: @ 83D7564
+ spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D757C:: @ 83D757C
+ spr_template 10288, 10288, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7530, sub_80D4CA4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7594:: @ 83D7594
+ spr_template 10175, 10175, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8
+
+ .align 2
+gSpriteTemplate_83D75AC:: @ 83D75AC
+ spr_template 10178, 10178, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CFDFC
+
+ .align 2
+gSpriteAnim_83D75C4:: @ 83D75C4
+ obj_image_anim_frame 8, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D75CC:: @ 83D75CC
+ .4byte gSpriteAnim_83D75C4
+
+ .align 2
+gSpriteAffineAnim_83D75D0:: @ 83D75D0
+ obj_rot_scal_anim_frame 0x0, 0x0, 10, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D75E0:: @ 83D75E0
+ .4byte gSpriteAffineAnim_83D75D0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D75E4:: @ 83D75E4
+ spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gDummySpriteAffineAnimTable, sub_80CFE9C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D75FC:: @ 83D75FC
+ spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gSpriteAffineAnimTable_83D75E0, sub_80CFF50
+
+ .align 2
+gSpriteAffineAnim_83D7614:: @ 83D7614
+ obj_rot_scal_anim_frame 0x0, 0x0, 20, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D7624:: @ 83D7624
+ .4byte gSpriteAffineAnim_83D7614
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7628:: @ 83D7628
+ spr_template 10006, 10006, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7624, sub_80CFFD8
+
+ .align 2
+gSpriteAffineAnim_83D7640:: @ 83D7640
+ obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x4, 0x0, 0, 40
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D7658:: @ 83D7658
+ .4byte gSpriteAffineAnim_83D7640
+
+ .align 2
+gBattleAnimSpriteTemplate_83D765C:: @ 83D765C
+ spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7658, sub_80D0118
+
+ .align 2
+gSpriteAnim_83D7674:: @ 83D7674
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 20
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D7684:: @ 83D7684
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 20, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7694:: @ 83D7694
+ .4byte gSpriteAnim_83D7674
+ .4byte gSpriteAnim_83D7684
+
+ .align 2
+gBattleAnimSpriteTemplate_83D769C:: @ 83D769C
+ spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D7694, NULL, gDummySpriteAffineAnimTable, sub_80D0178
+
+ .align 2
+gSpriteAnim_83D76B4:: @ 83D76B4
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 32, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D76C4:: @ 83D76C4
+ obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 1, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D76D4:: @ 83D76D4
+ .4byte gSpriteAnim_83D76B4
+ .4byte gSpriteAnim_83D76C4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D76DC:: @ 83D76DC
+ spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D76D4, NULL, gDummySpriteAffineAnimTable, sub_80D0228
+
+ .align 2
+gUnknown_083D76F4:: @ 83D76F4
+ .incbin "baserom.gba", 0x003d76f4, 0x20
+
+gUnknown_083D7714:: @ 83D7714
+ .incbin "baserom.gba", 0x003d7714, 0x20
+
+ .align 2
+gSpriteAnim_83D7734:: @ 83D7734
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 4, 40, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 12, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D7748:: @ 83D7748
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 4, 40
+ obj_image_anim_frame 8, 4
+ obj_image_anim_frame 12, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D775C:: @ 83D775C
+ .4byte gSpriteAnim_83D7734
+ .4byte gSpriteAnim_83D7748
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7764:: @ 83D7764
+ spr_template 10086, 10086, gOamData_837DF2C, gSpriteAnimTable_83D775C, NULL, gDummySpriteAffineAnimTable, sub_80D0930
+
+ .align 2
+gSpriteAffineAnim_83D777C:: @ 83D777C
+ obj_rot_scal_anim_frame 0xB, 0xB, 0, 8
+ obj_rot_scal_anim_frame 0xFFF5, 0xFFF5, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D7794:: @ 83D7794
+ .4byte gSpriteAffineAnim_83D777C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7798:: @ 83D7798
+ spr_template 10087, 10087, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7794, sub_80D09C0
+
+ .align 2
+gUnknown_083D77B0:: @ 83D77B0
+ .incbin "baserom.gba", 0x003d77b0, 0x30
+
+ .align 2
+gBattleAnimSpriteTemplate_83D77E0:: @ 83D77E0
+ spr_template 10002, 10002, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D0E30
+
+ .align 2
+gBattleAnimSpriteTemplate_83D77F8:: @ 83D77F8
+ spr_template 10197, 10197, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8079534
+
+ .align 2
+gSpriteAnim_83D7810:: @ 83D7810
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 32, 5
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7824:: @ 83D7824
+ .4byte gSpriteAnim_83D7810
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7828:: @ 83D7828
+ spr_template 10198, 10198, gOamData_837DF34, gSpriteAnimTable_83D7824, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gSpriteAffineAnim_83D7840:: @ 83D7840
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 2
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 2
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83D7860:: @ 83D7860
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D7870:: @ 83D7870
+ obj_rot_scal_anim_frame 0xFFF8, 0x4, 0, 8
+ obj_rot_scal_anim_loop 0
+ obj_rot_scal_anim_frame 0x10, 0xFFF8, 0, 8
+ obj_rot_scal_anim_frame 0xFFF0, 0x8, 0, 8
+ obj_rot_scal_anim_loop 1
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D78B0:: @ 83D78B0
+ .4byte gSpriteAffineAnim_83D7840
+ .4byte gSpriteAffineAnim_83D7860
+ .4byte gSpriteAffineAnim_83D7870
+
+ .align 2
+gBattleAnimSpriteTemplate_83D78BC:: @ 83D78BC
+ spr_template 10202, 10202, gOamData_837E114, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D78B0, sub_80D1368
+
+ .align 2
+gSpriteAffineAnim_83D78D4:: @ 83D78D4
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 30
+ obj_rot_scal_anim_end 1
+
+ .align 2
+gSpriteAffineAnim_83D78EC:: @ 83D78EC
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x20, 0x20, 0, 15
+ obj_rot_scal_anim_end 1
+
+ .align 2
+gSpriteAffineAnim_83D7904:: @ 83D7904
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0xB, 0xB, 0, 45
+ obj_rot_scal_anim_end 1
+
+ .align 2
+gSpriteAffineAnimTable_83D791C:: @ 83D791C
+ .4byte gSpriteAffineAnim_83D78D4
+ .4byte gSpriteAffineAnim_83D78EC
+
+ .align 2
+gSpriteAffineAnimTable_83D7924:: @ 83D7924
+ .4byte gSpriteAffineAnim_83D7904
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7928:: @ 83D7928
+ spr_template 10203, 10203, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80793C4
+
+ .align 2
+gSpriteAffineAnim_83D7940:: @ 83D7940
+ obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
+ obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 30
+ obj_rot_scal_anim_end 1
+
+ .align 2
+gSpriteAffineAnimTable_83D7958:: @ 83D7958
+ .4byte gSpriteAffineAnim_83D7940
+
+ .align 2
+gBattleAnimSpriteTemplate_83D795C:: @ 83D795C
+ spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7958, sub_80793C4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7974:: @ 83D7974
+ spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D0FD8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D798C:: @ 83D798C
+ spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7924, sub_80D10B8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D79A4:: @ 83D79A4
+ spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D1318
+
+ .align 2
+gUnknown_083D79BC:: @ 83D79BC
+ .incbin "baserom.gba", 0x003d79bc, 0x10
+
+ .align 2
+gSpriteAnim_83D79CC:: @ 83D79CC
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 4, 3
+ obj_image_anim_frame 8, 3
+ obj_image_anim_frame 4, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D79E4:: @ 83D79E4
+ .4byte gSpriteAnim_83D79CC
+
+ .align 2
+gSpriteTemplate_83D79E8:: @ 83D79E8
+ spr_template 10207, 10207, gOamData_837DF2C, gSpriteAnimTable_83D79E4, NULL, gDummySpriteAffineAnimTable, sub_80D1A70
+
+gUnknown_083D7A00:: @ 83D7A00
+ .incbin "baserom.gba", 0x003d7a00, 0x8
+
+ .align 2
+gSpriteAnim_83D7A08:: @ 83D7A08
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 32, 15
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 15, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 32, 15
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7A40:: @ 83D7A40
+ .4byte gSpriteAnim_83D7A08
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7A44:: @ 83D7A44
+ spr_template 10205, 10205, gOamData_837DF34, gSpriteAnimTable_83D7A40, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gUnknown_083D7A5C:: @ 83D7A5C
+ .incbin "baserom.gba", 0x003d7a5c, 0xc
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7A68:: @ 83D7A68
+ spr_template 10206, 10206, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C08
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7A80:: @ 83D7A80
+ spr_template 10210, 10210, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C80
+
+ .align 2
+gUnknown_083D7A98:: @ 83D7A98
+ .incbin "baserom.gba", 0x003d7a98, 0x18
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7AB0:: @ 83D7AB0
+ spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1F58
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7AC8:: @ 83D7AC8
+ spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7AE0:: @ 83D7AE0
+ spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2064
+
+ .align 2
+gSpriteAffineAnim_83D7AF8:: @ 83D7AF8
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D7B10:: @ 83D7B10
+ .4byte gSpriteAffineAnim_83D7AF8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7B14:: @ 83D7B14
+ spr_template 10217, 10217, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D26A4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7B2C:: @ 83D7B2C
+ spr_template 10217, 10217, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D27E0
+
+ .align 2
+gSpriteAffineAnim_83D7B44:: @ 83D7B44
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D7B5C:: @ 83D7B5C
+ .4byte gSpriteAffineAnim_83D7B44
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7B60:: @ 83D7B60
+ spr_template 10237, 10237, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B5C, sub_80D28AC
+
+ .align 2
+gSpriteAnim_83D7B78:: @ 83D7B78
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 4, 4
+ obj_image_anim_frame 8, 4
+ obj_image_anim_frame 4, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7B90:: @ 83D7B90
+ .4byte gSpriteAnim_83D7B78
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7B94:: @ 83D7B94
+ spr_template 10218, 10218, gOamData_837DF2C, gSpriteAnimTable_83D7B90, NULL, gDummySpriteAffineAnimTable, sub_80D2920
+
+ .align 2
+gSpriteAnim_83D7BAC:: @ 83D7BAC
+ obj_image_anim_frame 0, 24
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7BB4:: @ 83D7BB4
+ .4byte gSpriteAnim_83D7BAC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7BB8:: @ 83D7BB8
+ spr_template 10220, 10220, gOamData_837DF34, gSpriteAnimTable_83D7BB4, NULL, gDummySpriteAffineAnimTable, sub_80D2938
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7BD0:: @ 83D7BD0
+ spr_template 10219, 10219, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2A38
+
+ .align 2
+gSpriteAnim_83D7BE8:: @ 83D7BE8
+ obj_image_anim_frame 0, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83D7BF0:: @ 83D7BF0
+ obj_image_anim_frame 16, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D7BF8:: @ 83D7BF8
+ .4byte gSpriteAnim_83D7BE8
+ .4byte gSpriteAnim_83D7BF0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7C00:: @ 83D7C00
+ spr_template 10221, 10221, gOamData_837DF34, gSpriteAnimTable_83D7BF8, NULL, gDummySpriteAffineAnimTable, sub_80D2ABC
+
+ .align 2
+gSpriteAnim_83D7C18:: @ 83D7C18
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D7C2C:: @ 83D7C2C
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7C40:: @ 83D7C40
+ .4byte gSpriteAnim_83D7C18
+ .4byte gSpriteAnim_83D7C2C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7C48:: @ 83D7C48
+ spr_template 10222, 10222, gOamData_837DF34, gSpriteAnimTable_83D7C40, NULL, gDummySpriteAffineAnimTable, sub_80D2BE8
+
+ .align 2
+gSpriteAnim_83D7C60:: @ 83D7C60
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 16, 8
+ obj_image_anim_frame 32, 8
+ obj_image_anim_frame 16, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D7C74:: @ 83D7C74
+ obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D7C88:: @ 83D7C88
+ .4byte gSpriteAnim_83D7C60
+ .4byte gSpriteAnim_83D7C74
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7C90:: @ 83D7C90
+ spr_template 10215, 10215, gOamData_837DF34, gSpriteAnimTable_83D7C88, NULL, gDummySpriteAffineAnimTable, sub_80D2C38
+
+ .align 2
+gUnknown_083D7CA8:: @ 83D7CA8
+ .incbin "baserom.gba", 0x003d7ca8, 0x20
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7CC8:: @ 83D7CC8
+ spr_template 10225, 10225, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2D68
+
+ .align 2
+gSpriteAffineAnim_83D7CE0:: @ 83D7CE0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 5
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D7CF0:: @ 83D7CF0
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 16
+ obj_rot_scal_anim_end 1
+
+ .align 2
+gSpriteAffineAnim_83D7D00:: @ 83D7D00
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 16
+ obj_rot_scal_anim_end 1
+
+ .align 2
+gSpriteAffineAnimTable_83D7D10:: @ 83D7D10
+ .4byte gSpriteAffineAnim_83D7CE0
+ .4byte gSpriteAffineAnim_83D7CF0
+ .4byte gSpriteAffineAnim_83D7D00
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7D1C:: @ 83D7D1C
+ spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2EC8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7D34:: @ 83D7D34
+ spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2E68
+
+ .align 2
+gSpriteAffineAnim_83D7D4C:: @ 83D7D4C
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D7D5C:: @ 83D7D5C
+ obj_rot_scal_anim_frame 0x200, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D7D6C:: @ 83D7D6C
+ .4byte gSpriteAffineAnim_83D7D4C
+ .4byte gSpriteAffineAnim_83D7D5C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D7D74:: @ 83D7D74
+ spr_template 10244, 10244, gOamData_837E13C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7D6C, sub_80D3014
+
+ .align 2
+ .incbin "graphics/unknown/unknown_3D7D8C.4bpp"
+ .incbin "graphics/unknown/unknown_3D810C.bin"
+
+ .align 2
+gSpriteAnim_83D910C:: @ 83D910C
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 8, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 24, 6
+ obj_image_anim_frame 32, 2
+ obj_image_anim_frame 40, 2
+ obj_image_anim_frame 48, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D912C:: @ 83D912C
+ .4byte gSpriteAnim_83D910C
+
+ .align 2
+gSpriteTemplate_83D9130:: @ 83D9130
+ spr_template 10115, 10115, gOamData_837DF74, gSpriteAnimTable_83D912C, NULL, gDummySpriteAffineAnimTable, sub_80D3184
+
+ .align 2
+gSpriteAffineAnim_83D9148:: @ 83D9148
+ obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 10
+ obj_rot_scal_anim_frame 0x5, 0x5, 0, 10
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D9160:: @ 83D9160
+ .4byte gSpriteAffineAnim_83D9148
+
+ .align 2
+gSpriteAnim_83D9164:: @ 83D9164
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D9174:: @ 83D9174
+ .4byte gSpriteAnim_83D9164
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9178:: @ 83D9178
+ spr_template 10146, 10146, gOamData_837E0AC, gSpriteAnimTable_83D9174, NULL, gSpriteAffineAnimTable_83D9160, sub_80D31C8
+
+ .align 2
+gSpriteAnim_83D9190:: @ 83D9190
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9198:: @ 83D9198
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D91A0:: @ 83D91A0
+ .4byte gSpriteAnim_83D9190
+ .4byte gSpriteAnim_83D9198
+
+ .align 2
+gSpriteAffineAnim_83D91A8:: @ 83D91A8
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
+ obj_rot_scal_anim_frame 0x60, 0x60, 0, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D91C0:: @ 83D91C0
+ .4byte gSpriteAffineAnim_83D91A8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D91C4:: @ 83D91C4
+ spr_template 10140, 10140, gOamData_837E024, gSpriteAnimTable_83D91A0, NULL, gSpriteAffineAnimTable_83D91C0, sub_80D33B4
+
+ .align 2
+gSpriteAnim_83D91DC:: @ 83D91DC
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 4, 1
+ obj_image_anim_frame 8, 1
+ obj_image_anim_frame 12, 1
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D91F0:: @ 83D91F0
+ .4byte gSpriteAnim_83D91DC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D91F4:: @ 83D91F4
+ spr_template 10149, 10149, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554
+
+ .align 2
+gBattleAnimSpriteTemplate_83D920C:: @ 83D920C
+ spr_template 10259, 10259, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9224:: @ 83D9224
+ spr_template 10264, 10264, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554
+
+ .align 2
+gBattleAnimSpriteTemplate_83D923C:: @ 83D923C
+ spr_template 10265, 10265, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554
+
+ .align 2
+gSpriteAnim_83D9254:: @ 83D9254
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 32, 2
+ obj_image_anim_frame 48, 2
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9264:: @ 83D9264
+ .4byte gSpriteAnim_83D9254
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9268:: @ 83D9268
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9264, NULL, gDummySpriteAffineAnimTable, sub_80D3554
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9280:: @ 83D9280
+ spr_template 10165, 10165, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_80D3554
+
+ .align 2
+gSpriteAffineAnim_83D9298:: @ 83D9298
+ obj_rot_scal_anim_frame 0x3, 0x3, 10, 50
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 10
+ obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, -10, 20
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D92B8:: @ 83D92B8
+ obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D92C8:: @ 83D92C8
+ .4byte gSpriteAffineAnim_83D9298
+
+ .align 2
+gSpriteAffineAnimTable_83D92CC:: @ 83D92CC
+ .4byte gSpriteAffineAnim_83D92B8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D92D0:: @ 83D92D0
+ spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92C8, sub_80D3698
+
+ .align 2
+gBattleAnimSpriteTemplate_83D92E8:: @ 83D92E8
+ spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92CC, sub_80D3728
+
+ .align 2
+gSpriteAnim_83D9300:: @ 83D9300
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9308:: @ 83D9308
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D9310:: @ 83D9310
+ .4byte gSpriteAnim_83D9300
+
+ .align 2
+gSpriteAnimTable_83D9314:: @ 83D9314
+ .4byte gSpriteAnim_83D9308
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9318:: @ 83D9318
+ spr_template 10155, 10155, gOamData_837E04C, gSpriteAnimTable_83D9310, NULL, gDummySpriteAffineAnimTable, sub_80794A8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9330:: @ 83D9330
+ spr_template 10155, 10155, gOamData_837E10C, gSpriteAnimTable_83D9314, NULL, gSpriteAffineAnimTable_83DA318, sub_80D37FC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9348:: @ 83D9348
+ spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC8, NULL, gDummySpriteAffineAnimTable, sub_80D3838
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9360:: @ 83D9360
+ spr_template 10155, 10155, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D4044
+
+ .align 2
+gSpriteTemplate_83D9378:: @ 83D9378
+ spr_template 10268, 10268, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D452C
+
+ .align 2
+gSpriteAnim_83D9390:: @ 83D9390
+ obj_image_anim_frame 8, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9398:: @ 83D9398
+ obj_image_anim_frame 9, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D93A0:: @ 83D93A0
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D93A8:: @ 83D93A8
+ .4byte gSpriteAnim_83D9390
+ .4byte gSpriteAnim_83D9398
+
+ .align 2
+gSpriteAnimTable_83D93B0:: @ 83D93B0
+ .4byte gSpriteAnim_83D93A0
+
+ .align 2
+gSpriteAffineAnim_83D93B4:: @ 83D93B4
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D93CC:: @ 83D93CC
+ obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D93E4:: @ 83D93E4
+ obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D93FC:: @ 83D93FC
+ .4byte gSpriteAffineAnim_83D93B4
+ .4byte gSpriteAffineAnim_83D93CC
+
+ .align 2
+gSpriteAffineAnimTable_83D9404:: @ 83D9404
+ .4byte gSpriteAffineAnim_83D93E4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9408:: @ 83D9408
+ spr_template 10155, 10155, gOamData_837DF24, gSpriteAnimTable_83D93A8, NULL, gDummySpriteAffineAnimTable, sub_80D4BF0
+
+ .align 2
+gSpriteTemplate_83D9420:: @ 83D9420
+ spr_template 10155, 10155, gOamData_837DF84, gSpriteAnimTable_83D93A8, NULL, gSpriteAffineAnimTable_83D93FC, sub_80D4C64
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9438:: @ 83D9438
+ spr_template 10155, 10155, gOamData_837DF8C, gSpriteAnimTable_83D93B0, NULL, gSpriteAffineAnimTable_83D9404, sub_807A9BC
+
+ .align 2
+gSpriteAnim_83D9450:: @ 83D9450
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83D9460:: @ 83D9460
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9470:: @ 83D9470
+ .4byte gSpriteAnim_83D9450
+ .4byte gSpriteAnim_83D9460
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9478:: @ 83D9478
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4ED8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9490:: @ 83D9490
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4F18
+
+ .align 2
+gSpriteAnim_83D94A8:: @ 83D94A8
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 64, 3
+ obj_image_anim_frame 80, 3
+ obj_image_anim_frame 96, 3
+ obj_image_anim_frame 112, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D94CC:: @ 83D94CC
+ .4byte gSpriteAnim_83D94A8
+
+ .align 2
+gSpriteAnim_83D94D0:: @ 83D94D0
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 32, 5
+ obj_image_anim_frame 48, 5
+ obj_image_anim_frame 64, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D94E8:: @ 83D94E8
+ .4byte gSpriteAnim_83D94D0
+
+ .align 2
+gSpriteAffineAnim_83D94EC:: @ 83D94EC
+ obj_rot_scal_anim_frame 0x32, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x20, 0x0, 0, 7
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9504:: @ 83D9504
+ .4byte gSpriteAffineAnim_83D94EC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9508:: @ 83D9508
+ spr_template 10033, 10033, gOamData_837DF94, gSpriteAnimTable_83D94CC, NULL, gSpriteAffineAnimTable_83D9504, sub_80D4FCC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9520:: @ 83D9520
+ spr_template 10033, 10033, gOamData_837DF34, gSpriteAnimTable_83D94CC, NULL, gDummySpriteAffineAnimTable, sub_80D4FCC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9538:: @ 83D9538
+ spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C
+
+ .align 2
+gSpriteTemplate_83D9550:: @ 83D9550
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C
+
+ .align 2
+gSpriteAnim_83D9568:: @ 83D9568
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 32, 6
+ obj_image_anim_frame 48, 6
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9578:: @ 83D9578
+ .4byte gSpriteAnim_83D9568
+
+ .align 2
+gSpriteTemplate_83D957C:: @ 83D957C
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9578, NULL, gDummySpriteAffineAnimTable, sub_80D5074
+
+ .align 2
+gSpriteAffineAnim_83D9594:: @ 83D9594
+ obj_rot_scal_anim_frame 0x50, 0x50, 0, 0
+ obj_rot_scal_anim_frame 0x2, 0x2, 10, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D95AC:: @ 83D95AC
+ .4byte gSpriteAffineAnim_83D9594
+
+ .align 2
+gBattleAnimSpriteTemplate_83D95B0:: @ 83D95B0
+ spr_template 10157, 10157, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D95AC, sub_80D517C
+
+ .align 2
+gSpriteAnim_83D95C8:: @ 83D95C8
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D95E0:: @ 83D95E0
+ .4byte gSpriteAnim_83D95C8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D95E4:: @ 83D95E4
+ spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D95FC:: @ 83D95FC
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D51A8
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9614:: @ 83D9614
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D5210
+
+ .align 2
+gBattleAnimSpriteTemplate_83D962C:: @ 83D962C
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D522C
+
+ .align 2
+gSpriteAnim_83D9644:: @ 83D9644
+ obj_image_anim_frame 32, 6
+ obj_image_anim_frame 48, 6
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9650:: @ 83D9650
+ .4byte gSpriteAnim_83D9644
+
+ .align 2
+gSpriteAffineAnim_83D9654:: @ 83D9654
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9664:: @ 83D9664
+ obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9674:: @ 83D9674
+ .4byte gSpriteAffineAnim_83D9654
+ .4byte gSpriteAffineAnim_83D9664
+
+ .align 2
+gBattleAnimSpriteTemplate_83D967C:: @ 83D967C
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9650, NULL, gDummySpriteAffineAnimTable, sub_80D5374
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9694:: @ 83D9694
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D53B4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D96AC:: @ 83D96AC
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_807A9BC
+
+ .align 2
+gSpriteTemplate_83D96C4:: @ 83D96C4
+ spr_template 10201, 10201, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D58FC
+
+ .align 1
+gUnknown_083D96DC:: @ 83D96DC
+ .2byte -2, -5
+ .2byte -1, -1
+ .2byte 3, -6
+ .2byte 4, -2
+ .2byte 2, -8
+ .2byte -5, -5
+ .2byte 4, -7
+
+ .align 2
+gBattleAnimSpriteTemplate_83D96F8:: @ 83D96F8
+ spr_template 10201, 10201, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5A20
+
+ .align 2
+gSpriteAnim_83D9710:: @ 83D9710
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 12, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83D9724:: @ 83D9724
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D972C:: @ 83D972C
+ obj_image_anim_frame 20, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9734:: @ 83D9734
+ obj_image_anim_frame 20, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D973C:: @ 83D973C
+ .4byte gSpriteAnim_83D9710
+ .4byte gSpriteAnim_83D9724
+ .4byte gSpriteAnim_83D972C
+ .4byte gSpriteAnim_83D9734
+
+ .align 2
+gBattleAnimSpriteTemplate_83D974C:: @ 83D974C
+ spr_template 10231, 10231, gOamData_837DF2C, gSpriteAnimTable_83D973C, NULL, gDummySpriteAffineAnimTable, sub_80D5B0C
+
+ .align 2
+gSpriteAnim_83D9764:: @ 83D9764
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 32, 5
+ obj_image_anim_frame 48, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9778:: @ 83D9778
+ .4byte gSpriteAnim_83D9764
+
+ .align 2
+gBattleAnimSpriteTemplate_83D977C:: @ 83D977C
+ spr_template 10232, 10232, gOamData_837DF34, gSpriteAnimTable_83D9778, NULL, gDummySpriteAffineAnimTable, sub_80D5CC0
+
+ .align 2
+gUnknown_083D9794:: @ 83D9794
+ .incbin "baserom.gba", 0x003d9794, 0x10
+
+gUnknown_083D97A4:: @ 83D97A4
+ .incbin "baserom.gba", 0x003d97a4, 0x10
+
+ .align 2
+gSpriteAnim_83D97B4:: @ 83D97B4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 32, 8
+ obj_image_anim_frame 48, 5
+ obj_image_anim_frame 64, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D97CC:: @ 83D97CC
+ .4byte gSpriteAnim_83D97B4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D97D0:: @ 83D97D0
+ spr_template 10037, 10037, gOamData_837DF34, gSpriteAnimTable_83D97CC, NULL, gDummySpriteAffineAnimTable, sub_80D61C8
+
+ .align 2
+gSpriteAffineAnim_83D97E8:: @ 83D97E8
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 20
+ obj_rot_scal_anim_frame 0x0, 0x0, -16, 60
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9808:: @ 83D9808
+ .4byte gSpriteAffineAnim_83D97E8
+
+ .align 2
+gSpriteTemplate_83D980C:: @ 83D980C
+ spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9808, sub_80D6234
+
+ .align 2
+gSpriteAnim_83D9824:: @ 83D9824
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 32, 5
+ obj_image_anim_frame 48, 5
+ obj_image_anim_frame 64, 5
+ obj_image_anim_frame 80, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9840:: @ 83D9840
+ .4byte gSpriteAnim_83D9824
+
+ .align 2
+gSpriteTemplate_83D9844:: @ 83D9844
+ spr_template 10079, 10079, gOamData_837DF34, gSpriteAnimTable_83D9840, NULL, gDummySpriteAffineAnimTable, sub_80D6294
+
+ .align 2
+gBattleAnimSpriteTemplate_83D985C:: @ 83D985C
+ spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6328
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9874:: @ 83D9874
+ spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+
+ .align 2
+gSpriteAffineAnim_83D988C:: @ 83D988C
+ obj_rot_scal_anim_frame 0x0, 0x0, 20, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D989C:: @ 83D989C
+ .4byte gSpriteAffineAnim_83D988C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D98A0:: @ 83D98A0
+ spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D648C
+
+ .align 2
+gSpriteAnim_83D98B8:: @ 83D98B8
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 32, 6
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D98C8:: @ 83D98C8
+ .4byte gSpriteAnim_83D98B8
+
+ .align 2
+gSpriteAffineAnim_83D98CC:: @ 83D98CC
+ obj_rot_scal_anim_frame 0xE8, 0xE8, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 10
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83D98EC:: @ 83D98EC
+ .4byte gSpriteAffineAnim_83D98CC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D98F0:: @ 83D98F0
+ spr_template 10282, 10282, gOamData_837DF94, gSpriteAnimTable_83D98C8, NULL, gSpriteAffineAnimTable_83D98EC, sub_80D65DC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9908:: @ 83D9908
+ spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D6658
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9920:: @ 83D9920
+ spr_template 10011, 10011, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D679C
+
+ .align 2
+gSpriteTemplate_83D9938:: @ 83D9938
+ spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A1C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9950:: @ 83D9950
+ spr_template 10173, 10173, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A6C
+
+ .align 2
+gUnknown_083D9968:: @ 83D9968
+ .incbin "baserom.gba", 0x003d9968, 0x20
+
+ .align 2
+gSpriteAnim_83D9988:: @ 83D9988
+ obj_image_anim_frame 3, 1
+ obj_image_anim_frame 2, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D999C:: @ 83D999C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D99B0:: @ 83D99B0
+ .4byte gSpriteAnim_83D9988
+ .4byte gSpriteAnim_83D999C
+
+ .align 2
+gSpriteTemplate_83D99B8:: @ 83D99B8
+ spr_template 10211, 10211, gOamData_837DF24, gSpriteAnimTable_83D99B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteAffineAnim_83D99D0:: @ 83D99D0
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x4, 0x4, 0, 60
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_loop 0
+ obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5
+ obj_rot_scal_anim_frame 0x4, 0x4, 0, 5
+ obj_rot_scal_anim_loop 10
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9A10:: @ 83D9A10
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 30
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5
+ obj_rot_scal_anim_frame 0x4, 0x4, 0, 5
+ obj_rot_scal_anim_jump 3
+
+ .align 2
+gSpriteAffineAnim_83D9A40:: @ 83D9A40
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 30
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 30
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9A60:: @ 83D9A60
+ .4byte gSpriteAffineAnim_83D99D0
+ .4byte gSpriteAffineAnim_83D9A10
+ .4byte gSpriteAffineAnim_83D9A40
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9A6C:: @ 83D9A6C
+ spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6D18
+
+ .align 2
+gSpriteAnim_83D9A84:: @ 83D9A84
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D9A98:: @ 83D9A98
+ .4byte gSpriteAnim_83D9A84
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9A9C:: @ 83D9A9C
+ spr_template 10213, 10213, gOamData_837DF34, gSpriteAnimTable_83D9A98, NULL, gDummySpriteAffineAnimTable, sub_80D6D70
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9AB4:: @ 83D9AB4
+ spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6DD8
+
+ .align 2
+gSpriteAnim_83D9ACC:: @ 83D9ACC
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9AD4:: @ 83D9AD4
+ obj_image_anim_frame 2, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9ADC:: @ 83D9ADC
+ obj_image_anim_frame 4, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9AE4:: @ 83D9AE4
+ obj_image_anim_frame 6, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D9AEC:: @ 83D9AEC
+ .4byte gSpriteAnim_83D9ACC
+ .4byte gSpriteAnim_83D9AD4
+ .4byte gSpriteAnim_83D9ADC
+ .4byte gSpriteAnim_83D9AE4
+
+ .align 2
+gSpriteAffineAnim_83D9AFC:: @ 83D9AFC
+ obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9B0C:: @ 83D9B0C
+ .4byte gSpriteAffineAnim_83D9AFC
+
+ .align 2
+gSpriteTemplate_83D9B10:: @ 83D9B10
+ spr_template 10001, 10001, gOamData_837E024, gSpriteAnimTable_83D9AEC, NULL, gSpriteAffineAnimTable_83D9B0C, sub_80D7230
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9B28:: @ 83D9B28
+ spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D727C
+
+ .align 2
+gSpriteTemplate_83D9B40:: @ 83D9B40
+ spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D755C
+
+ .align 2
+gSpriteAnim_83D9B58:: @ 83D9B58
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 1, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9B64:: @ 83D9B64
+ .4byte gSpriteAnim_83D9B58
+
+ .align 2
+gSpriteTemplate_83D9B68:: @ 83D9B68
+ spr_template 10141, 10141, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D7704
+
+ .align 2
+gSpriteAnim_83D9B80:: @ 83D9B80
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9B88:: @ 83D9B88
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9B90:: @ 83D9B90
+ obj_image_anim_frame 6, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9B98:: @ 83D9B98
+ obj_image_anim_frame 7, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9BA0:: @ 83D9BA0
+ obj_image_anim_frame 8, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9BA8:: @ 83D9BA8
+ obj_image_anim_frame 12, 6
+ obj_image_anim_frame 13, 6
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9BB4:: @ 83D9BB4
+ .4byte gSpriteAnim_83D9B80
+
+ .align 2
+gSpriteAnimTable_83D9BB8:: @ 83D9BB8
+ .4byte gSpriteAnim_83D9B88
+
+ .align 2
+gSpriteAnimTable_83D9BBC:: @ 83D9BBC
+ .4byte gSpriteAnim_83D9B90
+
+ .align 2
+gSpriteAnimTable_83D9BC0:: @ 83D9BC0
+ .4byte gSpriteAnim_83D9B98
+
+ .align 2
+gSpriteAnimTable_83D9BC4:: @ 83D9BC4
+ .4byte gSpriteAnim_83D9BA0
+
+ .align 2
+gSpriteAnimTable_83D9BC8:: @ 83D9BC8
+ .4byte gSpriteAnim_83D9BA8
+
+ .align 2
+gSpriteAffineAnim_83D9BCC:: @ 83D9BCC
+ obj_rot_scal_anim_frame 0x0, 0x0, 40, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D9BDC:: @ 83D9BDC
+ .4byte gSpriteAffineAnim_83D9BCC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9BE0:: @ 83D9BE0
+ spr_template 10141, 10141, gOamData_837E144, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9BDC, sub_80D78EC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9BF8:: @ 83D9BF8
+ spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D78EC
+
+ .align 2
+gSpriteAffineAnim_83D9C10:: @ 83D9C10
+ obj_rot_scal_anim_frame 0x0, 0x0, 10, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83D9C20:: @ 83D9C20
+ .4byte gSpriteAffineAnim_83D9C10
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9C24:: @ 83D9C24
+ spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C20, sub_80D792C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9C3C:: @ 83D9C3C
+ spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D792C
+
+ .align 2
+gSpriteAffineAnim_83D9C54:: @ 83D9C54
+ obj_rot_scal_anim_frame 0xCE, 0xCE, 0, 0
+ obj_rot_scal_anim_frame 0x5, 0x5, 0, 10
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 6
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9C74:: @ 83D9C74
+ .4byte gSpriteAffineAnim_83D9C54
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9C78:: @ 83D9C78
+ spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9C90:: @ 83D9C90
+ spr_template 10141, 10141, gOamData_837E0A4, gSpriteAnimTable_83D9BBC, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9CA8:: @ 83D9CA8
+ spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7A64
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9CC0:: @ 83D9CC0
+ spr_template 10141, 10141, gOamData_837DF2C, gSpriteAnimTable_83D9BC4, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9CD8:: @ 83D9CD8
+ spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4
+
+ .align 2
+gSpriteAnim_83D9CF0:: @ 83D9CF0
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 6, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D9D10:: @ 83D9D10
+ .4byte gSpriteAnim_83D9CF0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9D14:: @ 83D9D14
+ spr_template 10142, 10142, gOamData_837E084, gSpriteAnimTable_83D9D10, NULL, gDummySpriteAffineAnimTable, sub_80D7E88
+
+ .align 2
+gSpriteAnim_83D9D2C:: @ 83D9D2C
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 8, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83D9D38:: @ 83D9D38
+ .4byte gSpriteAnim_83D9D2C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9D3C:: @ 83D9D3C
+ spr_template 10144, 10144, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9D54:: @ 83D9D54
+ spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10
+
+ .align 2
+gUnknown_083D9D6C:: @ 83D9D6C
+ .incbin "baserom.gba", 0x003d9d6c, 0x14
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9D80:: @ 83D9D80
+ spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D83E0
+
+ .align 2
+gUnknown_083D9D98:: @ 83D9D98
+ .incbin "baserom.gba", 0x003d9d98, 0x14
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9DAC:: @ 83D9DAC
+ spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D8700
+
+ .align 2
+gUnknown_083D9DC4:: @ 83D9DC4
+ .incbin "baserom.gba", 0x003d9dc4, 0x28
+
+ .align 2
+gSpriteAffineAnim_83D9DEC:: @ 83D9DEC
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9DFC:: @ 83D9DFC
+ obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9E0C:: @ 83D9E0C
+ obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9E1C:: @ 83D9E1C
+ obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9E2C:: @ 83D9E2C
+ .4byte gSpriteAffineAnim_83D9DEC
+ .4byte gSpriteAffineAnim_83D9DFC
+ .4byte gSpriteAffineAnim_83D9E0C
+
+ .align 2
+gSpriteAffineAnimTable_83D9E38:: @ 83D9E38
+ .4byte gSpriteAffineAnim_83D9E1C
+
+ .align 2
+gSpriteTemplate_83D9E3C:: @ 83D9E3C
+ spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E2C, sub_80D8D1C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9E54:: @ 83D9E54
+ spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E38, sub_807A9BC
+
+ .align 2
+gSpriteAnim_83D9E6C:: @ 83D9E6C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9E74:: @ 83D9E74
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D9E88:: @ 83D9E88
+ .4byte gSpriteAnim_83D9E6C
+ .4byte gSpriteAnim_83D9E74
+
+ .align 2
+gSpriteAffineAnim_83D9E90:: @ 83D9E90
+ obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9EA0:: @ 83D9EA0
+ obj_rot_scal_anim_frame 0x118, 0x118, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9EB0:: @ 83D9EB0
+ obj_rot_scal_anim_frame 0x150, 0x150, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9EC0:: @ 83D9EC0
+ obj_rot_scal_anim_frame 0x180, 0x180, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83D9ED0:: @ 83D9ED0
+ obj_rot_scal_anim_frame 0x1C0, 0x1C0, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83D9EE0:: @ 83D9EE0
+ .4byte gSpriteAffineAnim_83D9E90
+ .4byte gSpriteAffineAnim_83D9EA0
+ .4byte gSpriteAffineAnim_83D9EB0
+ .4byte gSpriteAffineAnim_83D9EC0
+ .4byte gSpriteAffineAnim_83D9ED0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9EF4:: @ 83D9EF4
+ spr_template 10043, 10043, gOamData_837DFF4, gSpriteAnimTable_83D9E88, NULL, gSpriteAffineAnimTable_83D9EE0, unc_080B06FC
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9F0C:: @ 83D9F0C
+ spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D8F10
+
+ .align 2
+gSpriteTemplate_83D9F24:: @ 83D9F24
+ spr_template 10050, 10050, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0
+
+ .align 2
+gSpriteAnim_83D9F3C:: @ 83D9F3C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9F44:: @ 83D9F44
+ obj_image_anim_frame 16, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9F4C:: @ 83D9F4C
+ obj_image_anim_frame 32, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9F54:: @ 83D9F54
+ obj_image_anim_frame 48, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83D9F5C:: @ 83D9F5C
+ obj_image_anim_frame 48, 1, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83D9F64:: @ 83D9F64
+ .4byte gSpriteAnim_83D9F3C
+
+ .align 2
+gSpriteAnimTable_83D9F68:: @ 83D9F68
+ .4byte gSpriteAnim_83D9F44
+ .4byte gSpriteAnim_83D9F4C
+
+ .align 2
+gSpriteAnimTable_83D9F70:: @ 83D9F70
+ .4byte gSpriteAnim_83D9F54
+ .4byte gSpriteAnim_83D9F5C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9F78:: @ 83D9F78
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D902C
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9F90:: @ 83D9F90
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9078
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9FA8:: @ 83D9FA8
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90A4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9FC0:: @ 83D9FC0
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90F4
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9FD8:: @ 83D9FD8
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F70, NULL, gDummySpriteAffineAnimTable, sub_80D92D0
+
+ .align 2
+gBattleAnimSpriteTemplate_83D9FF0:: @ 83D9FF0
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D9378
+
+ .align 2
+gSpriteAffineAnim_83DA008:: @ 83DA008
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 20, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83DA020:: @ 83DA020
+ .4byte gSpriteAffineAnim_83DA008
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA024:: @ 83DA024
+ spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA020, sub_80D943C
+
+ .align 2
+gSpriteAffineAnim_83DA03C:: @ 83DA03C
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 20, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83DA054:: @ 83DA054
+ .4byte gSpriteAffineAnim_83DA03C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA058:: @ 83DA058
+ spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA054, sub_80D943C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA070:: @ 83DA070
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D94A8
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA088:: @ 83DA088
+ spr_template 10073, 10073, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9540
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA0A0:: @ 83DA0A0
+ spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D95D0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA0B8:: @ 83DA0B8
+ spr_template 10208, 10208, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D96B8
+
+ .align 2
+gSpriteAffineAnim_83DA0D0:: @ 83DA0D0
+ obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
+ obj_rot_scal_anim_frame 0x4, 0x4, 0, 64
+ obj_rot_scal_anim_frame 0xFFFA, 0xFFFA, 0, 8
+ obj_rot_scal_anim_frame 0x6, 0x6, 0, 8
+ obj_rot_scal_anim_jump 2
+
+ .align 2
+gSpriteAffineAnimTable_83DA0F8:: @ 83DA0F8
+ .4byte gSpriteAffineAnim_83DA0D0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA0FC:: @ 83DA0FC
+ spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA0F8, sub_80D97CC
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA114:: @ 83DA114
+ spr_template 10257, 10257, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D98D8
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA12C:: @ 83DA12C
+ spr_template 10256, 10256, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9A38
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA144:: @ 83DA144
+ spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9B48
+
+ .align 2
+gSpriteAnim_83DA15C:: @ 83DA15C
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA16C:: @ 83DA16C
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA17C:: @ 83DA17C
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA18C:: @ 83DA18C
+ .4byte gSpriteAnim_83DA15C
+ .4byte gSpriteAnim_83DA16C
+ .4byte gSpriteAnim_83DA17C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA198:: @ 83DA198
+ spr_template 10245, 10245, gOamData_837DF34, gSpriteAnimTable_83DA18C, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4
+
+ .align 2
+gSpriteAnim_83DA1B0:: @ 83DA1B0
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 64, 6
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA1BC:: @ 83DA1BC
+ obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA1C8:: @ 83DA1C8
+ obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA1D4:: @ 83DA1D4
+ .4byte gSpriteAnim_83DA1B0
+ .4byte gSpriteAnim_83DA1BC
+ .4byte gSpriteAnim_83DA1C8
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA1E0:: @ 83DA1E0
+ spr_template 10246, 10246, gOamData_837DF3C, gSpriteAnimTable_83DA1D4, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4
+
+ .align 2
+gSpriteAffineAnim_83DA1F8:: @ 83DA1F8
+ obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
+ obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA210:: @ 83DA210
+ .4byte gSpriteAffineAnim_83DA1F8
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA214:: @ 83DA214
+ spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA210, sub_80D9C40
+
+ .align 2
+gSpriteAnim_83DA22C:: @ 83DA22C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 24, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA240:: @ 83DA240
+ .4byte gSpriteAnim_83DA22C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA244:: @ 83DA244
+ spr_template 10151, 10151, gOamData_837DF74, gSpriteAnimTable_83DA240, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gSpriteAnim_83DA25C:: @ 83DA25C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA264:: @ 83DA264
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA26C:: @ 83DA26C
+ obj_image_anim_frame 8, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA274:: @ 83DA274
+ .4byte gSpriteAnim_83DA25C
+
+ .align 2
+gSpriteAnimTable_83DA278:: @ 83DA278
+ .4byte gSpriteAnim_83DA264
+
+ .align 2
+gSpriteAnimTable_83DA27C:: @ 83DA27C
+ .4byte gSpriteAnim_83DA26C
+
+ .align 2
+gSpriteAffineAnim_83DA280:: @ 83DA280
+ obj_rot_scal_anim_frame 0x160, 0x160, 0, 0
+ obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10
+ obj_rot_scal_anim_frame 0xA, 0xA, 0, 10
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83DA2A0:: @ 83DA2A0
+ obj_rot_scal_anim_frame 0xEC, 0xEC, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA2B0:: @ 83DA2B0
+ .4byte gSpriteAffineAnim_83DA280
+
+ .align 2
+gSpriteAffineAnimTable_83DA2B4:: @ 83DA2B4
+ .4byte gSpriteAffineAnim_83DA2A0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA2B8:: @ 83DA2B8
+ spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9D70
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA2D0:: @ 83DA2D0
+ spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9DF0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA2E8:: @ 83DA2E8
+ spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA27C, NULL, gSpriteAffineAnimTable_83DA2B4, sub_80D9E94
+
+ .align 2
+gSpriteAffineAnim_83DA300:: @ 83DA300
+ obj_rot_scal_anim_frame 0xFFF0, 0x10, 0, 6
+ obj_rot_scal_anim_frame 0x10, 0xFFF0, 0, 6
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83DA318:: @ 83DA318
+ .4byte gSpriteAffineAnim_83DA300
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA31C:: @ 83DA31C
+ spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA278, NULL, gSpriteAffineAnimTable_83DA318, sub_80D9F14
+
+ .align 2
+gSpriteAffineAnim_83DA334:: @ 83DA334
+ obj_rot_scal_anim_frame 0x9C, 0x9C, 0, 0
+ obj_rot_scal_anim_frame 0x5, 0x5, 0, 20
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA34C:: @ 83DA34C
+ .4byte gSpriteAffineAnim_83DA334
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA350:: @ 83DA350
+ spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA368:: @ 83DA368
+ spr_template 10155, 10155, gOamData_837E0AC, gSpriteAnimTable_83D9310, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA380:: @ 83DA380
+ spr_template 10009, 10009, gOamData_837DF7C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DA034
+
+ .align 2
+gSpriteAffineAnim_83DA398:: @ 83DA398
+ obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xA, 0x0, 0, 24
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA3B0:: @ 83DA3B0
+ .4byte gSpriteAffineAnim_83DA398
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA3B4:: @ 83DA3B4
+ spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA3B0, sub_80DA16C
+
+ .align 2
+gSpriteAnim_83DA3CC:: @ 83DA3CC
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83DA3E0:: @ 83DA3E0
+ .4byte gSpriteAnim_83DA3CC
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA3E4:: @ 83DA3E4
+ spr_template 10154, 10154, gOamData_837DF54, gSpriteAnimTable_83DA3E0, NULL, gDummySpriteAffineAnimTable, sub_80DA208
+
+ .align 2
+gSpriteAffineAnim_83DA3FC:: @ 83DA3FC
+ obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x28, 0x0, 0, 6
+ obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5
+ obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA424:: @ 83DA424
+ .4byte gSpriteAffineAnim_83DA3FC
+
+ .align 2
+gSpriteAffineAnim_83DA428:: @ 83DA428
+ obj_rot_scal_anim_frame 0x0, 0x0, 50, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DA438:: @ 83DA438
+ obj_rot_scal_anim_frame 0x0, 0x0, -40, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA448:: @ 83DA448
+ .4byte gSpriteAffineAnim_83DA428
+ .4byte gSpriteAffineAnim_83DA438
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA450:: @ 83DA450
+ spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA424, sub_80DA300
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA468:: @ 83DA468
+ spr_template 10156, 10156, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA448, sub_80DA38C
+
+ .align 2
+gSpriteAnim_83DA480:: @ 83DA480
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA488:: @ 83DA488
+ obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA490:: @ 83DA490
+ .4byte gSpriteAnim_83DA480
+ .4byte gSpriteAnim_83DA488
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA498:: @ 83DA498
+ spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DA4D8
+
+ .align 2
+ .incbin "baserom.gba", 0x003da4b0, 0x20
+
+ .align 2
+gSpriteTemplate_83DA4D0:: @ 83DA4D0
+ spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DAD30
+
+ .align 2
+gSpriteTemplate_83DA4E8:: @ 83DA4E8
+ spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DAD84
+
+ .align 2
+gSpriteAnim_83DA500:: @ 83DA500
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 8, 1
+ obj_image_anim_frame 16, 1
+ obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA518:: @ 83DA518
+ .4byte gSpriteAnim_83DA500
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA51C:: @ 83DA51C
+ spr_template 10162, 10162, gOamData_837DF54, gSpriteAnimTable_83DA518, NULL, gDummySpriteAffineAnimTable, sub_80DB000
+
+ .align 2
+gSpriteAffineAnim_83DA534:: @ 83DA534
+ obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x28, 0x0, 0, 6
+ obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5
+ obj_rot_scal_anim_frame 0xFFEC, 0x0, 0, 7
+ obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, 0, 5
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA564:: @ 83DA564
+ .4byte gSpriteAffineAnim_83DA534
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA568:: @ 83DA568
+ spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA564, sub_80DB194
+
+ .align 2
+gSpriteAffineAnim_83DA580:: @ 83DA580
+ obj_rot_scal_anim_frame 0xA0, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA590:: @ 83DA590
+ .4byte gSpriteAffineAnim_83DA580
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA594:: @ 83DA594
+ spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA590, sub_80DB1F4
+
+ .align 2
+gSpriteAffineAnim_83DA5AC:: @ 83DA5AC
+ obj_rot_scal_anim_frame 0x10, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x28, 0x0, 0, 6
+ obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5
+ obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA5D4:: @ 83DA5D4
+ .4byte gSpriteAffineAnim_83DA5AC
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA5D8:: @ 83DA5D8
+ spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA5D4, sub_80DB288
+
+ .align 2
+gSpriteAffineAnim_83DA5F0:: @ 83DA5F0
+ obj_rot_scal_anim_frame 0x100, 0x0, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x20, 0, 12
+ obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 11
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA610:: @ 83DA610
+ .4byte gSpriteAffineAnim_83DA5F0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA614:: @ 83DA614
+ spr_template 10272, 10272, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB374
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA62C:: @ 83DA62C
+ spr_template 10273, 10273, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB458
+
+ .align 2
+gSpriteTemplate_83DA644:: @ 83DA644
+ spr_template 10212, 10212, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB564
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA65C:: @ 83DA65C
+ spr_template 10284, 10284, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB5E4
+
+ .align 2
+gSpriteAffineAnim_83DA674:: @ 83DA674
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -10, 120
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DA68C:: @ 83DA68C
+ .4byte gSpriteAffineAnim_83DA674
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA690:: @ 83DA690
+ spr_template 10196, 10196, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA68C, sub_80793C4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA6A8:: @ 83DA6A8
+ spr_template 10166, 10166, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA6C0:: @ 83DA6C0
+ spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA6D8:: @ 83DA6D8
+ spr_template 10168, 10168, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA6F0:: @ 83DA6F0
+ spr_template 10169, 10169, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA708:: @ 83DA708
+ spr_template 10170, 10170, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C
+
+ .align 2
+gSpriteAnim_83DA720:: @ 83DA720
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 64, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA738:: @ 83DA738
+ .4byte gSpriteAnim_83DA720
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA73C:: @ 83DA73C
+ spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DA738, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C
+
+ .align 2
+gSpriteAnim_83DA754:: @ 83DA754
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 12, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA768:: @ 83DA768
+ .4byte gSpriteAnim_83DA754
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA76C:: @ 83DA76C
+ spr_template 10070, 10070, gOamData_837DF2C, gSpriteAnimTable_83DA768, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA784:: @ 83DA784
+ spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+
+ .align 2
+gSpriteAnim_83DA79C:: @ 83DA79C
+ obj_image_anim_frame 8, 60, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_loop 0
+ obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_loop 1
+ obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 40, 22, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DA7DC:: @ 83DA7DC
+ obj_image_anim_frame 8, 60
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 8, 22
+ obj_image_anim_loop 0
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_loop 1
+ obj_image_anim_frame 8, 22
+ obj_image_anim_frame 24, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 40, 22
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA81C:: @ 83DA81C
+ .4byte gSpriteAnim_83DA79C
+ .4byte gSpriteAnim_83DA7DC
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA824:: @ 83DA824
+ spr_template 10097, 10097, gOamData_837DF74, gSpriteAnimTable_83DA81C, NULL, gDummySpriteAffineAnimTable, sub_80DBAF4
+
+ .align 2
+gSpriteAnim_83DA83C:: @ 83DA83C
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 16, 6
+ obj_image_anim_frame 32, 6
+ obj_image_anim_frame 48, 6
+ obj_image_anim_frame 64, 6
+ obj_image_anim_frame 80, 6
+ obj_image_anim_frame 96, 18
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DA85C:: @ 83DA85C
+ .4byte gSpriteAnim_83DA83C
+
+ .align 2
+Unknown_3DA860:: @ 83DA860
+ .incbin "baserom.gba", 0x3da860, 0x28
+
+ .align 2
+gUnknown_083DA888:: @ 83DA888
+ .4byte Unknown_3DA860
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA88C:: @ 83DA88C
+ spr_template 10093, 10093, gOamData_837DF34, gSpriteAnimTable_83DA85C, NULL, gDummySpriteAffineAnimTable, sub_80DBB70
+
+ .align 2
+gUnknown_083DA8A4:: @ 83DA8A4
+ .incbin "baserom.gba", 0x003da8a4, 0x20
+
+gUnknown_083DA8C4:: @ 83DA8C4
+ .incbin "baserom.gba", 0x003da8c4, 0x18
+
+ .align 2
+gSpriteTemplate_83DA8DC:: @ 83DA8DC
+ spr_template 10249, 10249, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA8F4:: @ 83DA8F4
+ spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC068
+
+ .align 2
+gSpriteAffineAnim_83DA90C:: @ 83DA90C
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83DA924:: @ 83DA924
+ obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnim_83DA94C:: @ 83DA94C
+ obj_rot_scal_anim_frame 0xD0, 0xD0, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnim_83DA974:: @ 83DA974
+ obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83DA99C:: @ 83DA99C
+ .4byte gSpriteAffineAnim_83DA90C
+ .4byte gSpriteAffineAnim_83DA924
+ .4byte gSpriteAffineAnim_83DA94C
+ .4byte gSpriteAffineAnim_83DA974
+
+ .align 2
+gSpriteTemplate_83DA9AC:: @ 83DA9AC
+ spr_template 10251, 10251, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA99C, sub_80DC2B0
+
+ .align 2
+gSpriteAffineAnim_83DA9C4:: @ 83DA9C4
+ obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
+ obj_rot_scal_anim_frame 0x4, 0x4, 0, 120
+ obj_rot_scal_anim_end 1
+
+ .align 2
+gSpriteAffineAnimTable_83DA9DC:: @ 83DA9DC
+ .4byte gSpriteAffineAnim_83DA9C4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DA9E0:: @ 83DA9E0
+ spr_template 10267, 10267, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA9DC, sub_80793C4
+
+ .align 2
+gSpriteAffineAnim_83DA9F8:: @ 83DA9F8
+ obj_rot_scal_anim_frame 0x20, 0x20, 0, 0
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 17
+ obj_rot_scal_anim_loop 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 10
+ obj_rot_scal_anim_loop 4
+ obj_rot_scal_anim_loop 0
+ obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 5
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 5
+ obj_rot_scal_anim_loop 7
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DAA50:: @ 83DAA50
+ obj_rot_scal_anim_frame 0xFFEC, 0x18, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DAA60:: @ 83DAA60
+ .4byte gSpriteAffineAnim_83DA9F8
+ .4byte gSpriteAffineAnim_83DAA50
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAA68:: @ 83DAA68
+ spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAA60, sub_80DC700
+
+ .align 2
+gSpriteAffineAnim_83DAA80:: @ 83DAA80
+ obj_rot_scal_anim_frame 0x100, 0x100, 30, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DAA90:: @ 83DAA90
+ obj_rot_scal_anim_frame 0x100, 0x100, -99, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DAAA0:: @ 83DAAA0
+ obj_rot_scal_anim_frame 0x100, 0x100, 94, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DAAB0:: @ 83DAAB0
+ .4byte gSpriteAffineAnim_83DAA80
+ .4byte gSpriteAffineAnim_83DAA90
+ .4byte gSpriteAffineAnim_83DAAA0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAABC:: @ 83DAABC
+ spr_template 10153, 10153, gOamData_837E014, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAAB0, sub_80DC824
+
+ .align 2
+gSpriteAffineAnim_83DAAD4:: @ 83DAAD4
+ obj_rot_scal_anim_frame 0x0, 0x0, -33, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DAAE4:: @ 83DAAE4
+ obj_rot_scal_anim_frame 0x0, 0x0, 96, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DAAF4:: @ 83DAAF4
+ obj_rot_scal_anim_frame 0x0, 0x0, -96, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DAB04:: @ 83DAB04
+ .4byte gSpriteAffineAnim_83DAAD4
+ .4byte gSpriteAffineAnim_83DAAE4
+ .4byte gSpriteAffineAnim_83DAAF4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAB10:: @ 83DAB10
+ spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB04, sub_80DC8F4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAB28:: @ 83DAB28
+ spr_template 10180, 10180, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC9A0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAB40:: @ 83DAB40
+ spr_template 10179, 10179, gOamData_837DF5C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCA70
+
+ .align 2
+gSpriteAffineAnim_83DAB58:: @ 83DAB58
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x6, 0x6, 0, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83DAB70:: @ 83DAB70
+ .4byte gSpriteAffineAnim_83DAB58
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAB74:: @ 83DAB74
+ spr_template 10181, 10181, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB70, sub_80DCB38
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAB8C:: @ 83DAB8C
+ spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCBCC
+
+ .align 2
+gBattleAnimSpriteTemplate_83DABA4:: @ 83DABA4
+ spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC
+
+ .align 2
+gBattleAnimSpriteTemplate_83DABBC:: @ 83DABBC
+ spr_template 10262, 10262, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC
+
+ .align 2
+gSpriteAffineAnim_83DABD4:: @ 83DABD4
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 18
+ obj_rot_scal_anim_loop 0
+ obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 8
+ obj_rot_scal_anim_frame 0x5, 0x5, 0, 8
+ obj_rot_scal_anim_loop 5
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DAC0C:: @ 83DAC0C
+ .4byte gSpriteAffineAnim_83DABD4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAC10:: @ 83DAC10
+ spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAC0C, sub_80DCE40
+
+ .align 2
+gSpriteAnim_83DAC28:: @ 83DAC28
+ obj_image_anim_frame 32, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DAC30:: @ 83DAC30
+ obj_image_anim_frame 48, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DAC38:: @ 83DAC38
+ obj_image_anim_frame 64, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DAC40:: @ 83DAC40
+ .4byte gSpriteAnim_83DAC28
+ .4byte gSpriteAnim_83DAC30
+ .4byte gSpriteAnim_83DAC38
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAC4C:: @ 83DAC4C
+ spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCE9C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAC64:: @ 83DAC64
+ spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCF60
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAC7C:: @ 83DAC7C
+ spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4
+
+ .align 2
+gSpriteAffineAnim_83DAC94:: @ 83DAC94
+ obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
+ obj_rot_scal_anim_frame 0x2, 0xFFFD, 0, 5
+ obj_rot_scal_anim_frame 0xFFFE, 0x3, 0, 5
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_83DACB4:: @ 83DACB4
+ .4byte gSpriteAffineAnim_83DAC94
+
+ .align 2
+gBattleAnimSpriteTemplate_83DACB8:: @ 83DACB8
+ spr_template 10149, 10149, gOamData_837E0AC, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83DACB4, sub_80DCFE4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DACD0:: @ 83DACD0
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DACE8:: @ 83DACE8
+ spr_template 10261, 10261, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD3AC
+
+ .align 2
+Unknown_3DAD00:: @ 83DAD00
+ .incbin "baserom.gba", 0x3dad00, 0x10
+
+ .align 2
+gUnknown_083DAD10:: @ 83DAD10
+ .4byte 0x2, Unknown_3DAD00
+
+ .align 2
+gSpriteAnim_83DAD18:: @ 83DAD18
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DAD20:: @ 83DAD20
+ obj_image_anim_frame 16, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DAD28:: @ 83DAD28
+ obj_image_anim_frame 32, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DAD30:: @ 83DAD30
+ obj_image_anim_frame 48, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DAD38:: @ 83DAD38
+ obj_image_anim_frame 64, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DAD40:: @ 83DAD40
+ obj_image_anim_frame 80, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DAD48:: @ 83DAD48
+ .4byte gSpriteAnim_83DAD18
+ .4byte gSpriteAnim_83DAD20
+
+ .align 2
+gSpriteAnimTable_83DAD50:: @ 83DAD50
+ .4byte gSpriteAnim_83DAD28
+ .4byte gSpriteAnim_83DAD30
+
+ .align 2
+gSpriteAnimTable_83DAD58:: @ 83DAD58
+ .4byte gSpriteAnim_83DAD38
+ .4byte gSpriteAnim_83DAD40
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAD60:: @ 83DAD60
+ spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD490
+
+ .align 2
+gSpriteTemplate_83DAD78:: @ 83DAD78
+ spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C
+
+ .align 2
+gSpriteTemplate_83DAD90:: @ 83DAD90
+ spr_template 10058, 10058, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DADA8:: @ 83DADA8
+ spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD8E8
+
+ .align 2
+gSpriteAffineAnim_83DADC0:: @ 83DADC0
+ obj_rot_scal_anim_frame 0x0, 0x0, -5, 5
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83DADD0:: @ 83DADD0
+ obj_rot_scal_anim_frame 0x0, 0x0, 5, 5
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83DADE0:: @ 83DADE0
+ .4byte gSpriteAffineAnim_83DADC0
+ .4byte gSpriteAffineAnim_83DADD0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DADE8:: @ 83DADE8
+ spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD978
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAE00:: @ 83DAE00
+ spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD9A4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAE18:: @ 83DAE18
+ spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, sub_80CB144
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAE30:: @ 83DAE30
+ spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD50, NULL, gSpriteAffineAnimTable_83DADE0, sub_807A9BC
+
+ .align 2
+gSpriteAffineAnim_83DAE48:: @ 83DAE48
+ obj_rot_scal_anim_frame 0x1E, 0x1E, 10, 5
+ obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 10, 5
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83DAE60:: @ 83DAE60
+ .4byte gSpriteAffineAnim_83DAE48
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAE64:: @ 83DAE64
+ spr_template 10013, 10013, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAE60, sub_80DDB6C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAE7C:: @ 83DAE7C
+ spr_template 10013, 10013, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DDD58
+
+ .align 2
+gSpriteAffineAnim_83DAE94:: @ 83DAE94
+ obj_rot_scal_anim_frame 0x0, 0x0, 10, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83DAEA4:: @ 83DAEA4
+ .4byte gSpriteAffineAnim_83DAE94
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAEA8:: @ 83DAEA8
+ spr_template 10176, 10176, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAEA4, sub_80DDF40
+
+ .align 2
+gSpriteAnim_83DAEC0:: @ 83DAEC0
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 8, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_frame 24, 2
+ obj_image_anim_frame 32, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DAED8:: @ 83DAED8
+ .4byte gSpriteAnim_83DAEC0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAEDC:: @ 83DAEDC
+ spr_template 10177, 10177, gOamData_837DF74, gSpriteAnimTable_83DAED8, NULL, gDummySpriteAffineAnimTable, sub_80DE0FC
+
+ .align 2
+gSpriteAffineAnim_83DAEF4:: @ 83DAEF4
+ obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DAF04:: @ 83DAF04
+ .4byte gSpriteAffineAnim_83DAEF4
+
+ .align 2
+gSpriteTemplate_83DAF08:: @ 83DAF08
+ spr_template 10188, 10188, gOamData_837E07C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DE7B8
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAF20:: @ 83DAF20
+ spr_template 10199, 10199, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DEF3C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAF38:: @ 83DAF38
+ spr_template 10200, 10200, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAF50:: @ 83DAF50
+ spr_template 10221, 10221, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8
+
+ .align 2
+gSpriteAnim_83DAF68:: @ 83DAF68
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 8, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 24, 4
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83DAF7C:: @ 83DAF7C
+ .4byte gSpriteAnim_83DAF68
+
+ .align 2
+gSpriteTemplate_83DAF80:: @ 83DAF80
+ spr_template 10253, 10253, gOamData_837E094, gSpriteAnimTable_83DAF7C, NULL, gDummySpriteAffineAnimTable, sub_80DF3D8
+
+ .align 2
+gSpriteTemplate_83DAF98:: @ 83DAF98
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF49C
+
+ .align 2
+gSpriteAnim_83DAFB0:: @ 83DAFB0
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83DAFC8:: @ 83DAFC8
+ .4byte gSpriteAnim_83DAFB0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DAFCC:: @ 83DAFCC
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DF5A0
+
+ .align 2
+gSpriteAnim_83DAFE4:: @ 83DAFE4
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83DAFF4:: @ 83DAFF4
+ obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83DB004:: @ 83DB004
+ .4byte gSpriteAnim_83DAFE4
+ .4byte gSpriteAnim_83DAFF4
+
+ .align 2
+gSpriteAffineAnim_83DB00C:: @ 83DB00C
+ obj_rot_scal_anim_frame 0x50, 0x50, 127, 0
+ obj_rot_scal_anim_frame 0xD, 0xD, 0, 100
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB024:: @ 83DB024
+ obj_rot_scal_anim_frame 0x50, 0x50, 0, 0
+ obj_rot_scal_anim_frame 0xD, 0xD, 0, 100
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DB03C:: @ 83DB03C
+ .4byte gSpriteAffineAnim_83DB00C
+ .4byte gSpriteAffineAnim_83DB024
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB044:: @ 83DB044
+ spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB004, NULL, gSpriteAffineAnimTable_83DB03C, sub_80DF760
+
+ .align 2
+gSpriteAnim_83DB05C:: @ 83DB05C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 32, 5
+ obj_image_anim_frame 48, 5
+ obj_image_anim_frame 64, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DB074:: @ 83DB074
+ .4byte gSpriteAnim_83DB05C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB078:: @ 83DB078
+ spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83DB074, NULL, gDummySpriteAffineAnimTable, sub_80DF6F0
+
+ .align 2
+gSpriteAnim_83DB090:: @ 83DB090
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83DB0A0:: @ 83DB0A0
+ .4byte gSpriteAnim_83DB090
+ .4byte gSpriteAnim_83DB090
+
+ .align 2
+gSpriteAffineAnim_83DB0A8:: @ 83DB0A8
+ obj_rot_scal_anim_frame 0x64, 0x64, 127, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB0B8:: @ 83DB0B8
+ obj_rot_scal_anim_frame 0x64, 0x64, 0, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DB0C8:: @ 83DB0C8
+ .4byte gSpriteAffineAnim_83DB0A8
+ .4byte gSpriteAffineAnim_83DB0B8
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB0D0:: @ 83DB0D0
+ spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB0A0, NULL, gSpriteAffineAnimTable_83DB0C8, sub_80DF760
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB0E8:: @ 83DB0E8
+ spr_template 10249, 10249, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF78C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB100:: @ 83DB100
+ spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DFB28
+
+ .align 2
+gSpriteTemplate_83DB118:: @ 83DB118
+ spr_template 10015, 10015, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DFE14
+
+ .align 2
+gSpriteAffineAnim_83DB130:: @ 83DB130
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB140:: @ 83DB140
+ obj_rot_scal_anim_frame 0x0, 0x0, 32, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB150:: @ 83DB150
+ obj_rot_scal_anim_frame 0x0, 0x0, 64, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB160:: @ 83DB160
+ obj_rot_scal_anim_frame 0x0, 0x0, 96, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB170:: @ 83DB170
+ obj_rot_scal_anim_frame 0x0, 0x0, -128, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB180:: @ 83DB180
+ obj_rot_scal_anim_frame 0x0, 0x0, -96, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB190:: @ 83DB190
+ obj_rot_scal_anim_frame 0x0, 0x0, -64, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB1A0:: @ 83DB1A0
+ obj_rot_scal_anim_frame 0x0, 0x0, -32, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DB1B0:: @ 83DB1B0
+ .4byte gSpriteAffineAnim_83DB130
+ .4byte gSpriteAffineAnim_83DB140
+ .4byte gSpriteAffineAnim_83DB150
+ .4byte gSpriteAffineAnim_83DB160
+ .4byte gSpriteAffineAnim_83DB170
+ .4byte gSpriteAffineAnim_83DB180
+ .4byte gSpriteAffineAnim_83DB190
+ .4byte gSpriteAffineAnim_83DB1A0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB1D0:: @ 83DB1D0
+ spr_template 10139, 10139, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB1E8:: @ 83DB1E8
+ spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C
+
+ .align 2
+gSpriteAffineAnim_83DB200:: @ 83DB200
+ obj_rot_scal_anim_frame 0xC0, 0xC0, 80, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -2, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB218:: @ 83DB218
+ obj_rot_scal_anim_frame 0xC0, 0xC0, -80, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 2, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DB230:: @ 83DB230
+ .4byte gSpriteAffineAnim_83DB200
+ .4byte gSpriteAffineAnim_83DB218
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB238:: @ 83DB238
+ spr_template 10155, 10155, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB230, sub_80DFFD0
+
+ .align 2
+gSpriteAnim_83DB250:: @ 83DB250
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DB268:: @ 83DB268
+ obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DB280:: @ 83DB280
+ .4byte gSpriteAnim_83DB250
+ .4byte gSpriteAnim_83DB268
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB288:: @ 83DB288
+ spr_template 10039, 10039, gOamData_837DF34, gSpriteAnimTable_83DB280, NULL, gDummySpriteAffineAnimTable, sub_80E0A10
+
+ .align 2
+gSpriteAffineAnim_83DB2A0:: @ 83DB2A0
+ obj_rot_scal_anim_frame 0x0, 0x0, 15, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83DB2B0:: @ 83DB2B0
+ obj_rot_scal_anim_frame 0x0, 0x0, 20, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83DB2C0:: @ 83DB2C0
+ .4byte gSpriteAffineAnim_83DB2A0
+
+ .align 2
+gSpriteAffineAnimTable_83DB2C4:: @ 83DB2C4
+ .4byte gSpriteAffineAnim_83DB2B0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB2C8:: @ 83DB2C8
+ spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C0, sub_80E0F1C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB2E0:: @ 83DB2E0
+ spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C4, sub_80E1004
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB2F8:: @ 83DB2F8
+ spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1078
+
+ .align 2
+gSpriteAnim_83DB310:: @ 83DB310
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DB318:: @ 83DB318
+ .4byte gSpriteAnim_83DB310
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB31C:: @ 83DB31C
+ spr_template 10074, 10074, gOamData_837DF2C, gSpriteAnimTable_83DB318, NULL, gDummySpriteAffineAnimTable, sub_80E1078
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB334:: @ 83DB334
+ spr_template 10074, 10074, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1108
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB34C:: @ 83DB34C
+ spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1728
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB364:: @ 83DB364
+ spr_template 10281, 10281, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E17CC
+
+ .align 2
+gSpriteAnim_83DB37C:: @ 83DB37C
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 8, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83DB390:: @ 83DB390
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 8, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83DB3A4:: @ 83DB3A4
+ .4byte gSpriteAnim_83DB37C
+ .4byte gSpriteAnim_83DB390
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB3AC:: @ 83DB3AC
+ spr_template 10073, 10073, gOamData_837DF2C, gSpriteAnimTable_83DB3A4, NULL, gDummySpriteAffineAnimTable, sub_80E1CB4
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB3C4:: @ 83DB3C4
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1D84
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB3DC:: @ 83DB3DC
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1E2C
+
+ .align 2
+gSpriteAnim_83DB3F4:: @ 83DB3F4
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 64, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83DB40C:: @ 83DB40C
+ .4byte gSpriteAnim_83DB3F4
+
+ .align 2
+gSpriteTemplate_83DB410:: @ 83DB410
+ spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DB40C, NULL, gDummySpriteAffineAnimTable, sub_80E1F3C
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB428:: @ 83DB428
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E24B8
+
+ .align 2
+gSpriteAffineAnim_83DB440:: @ 83DB440
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB450:: @ 83DB450
+ obj_rot_scal_anim_frame 0xD8, 0xD8, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB468:: @ 83DB468
+ obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83DB480:: @ 83DB480
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83DB498:: @ 83DB498
+ .4byte gSpriteAffineAnim_83DB440
+ .4byte gSpriteAffineAnim_83DB450
+ .4byte gSpriteAffineAnim_83DB468
+ .4byte gSpriteAffineAnim_83DB480
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB4A8:: @ 83DB4A8
+ spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB4C0:: @ 83DB4C0
+ spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2838
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB4D8:: @ 83DB4D8
+ spr_template 10148, 10148, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB4F0:: @ 83DB4F0
+ spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2870
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB508:: @ 83DB508
+ spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2908
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB520:: @ 83DB520
+ spr_template 10285, 10285, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E2978
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB538:: @ 83DB538
+ spr_template 10135, 10135, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E29C0
+
+ .align 2
+gBattleAnimSpriteTemplate_83DB550:: @ 83DB550
+ spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27E8
+
+ .align 2
+gUnknown_083DB568:: @ 83DB568
+ .incbin "baserom.gba", 0x003db568, 0x4
+
+ .align 2
+gUnknown_083DB56C:: @ 83DB56C
+ .4byte task_battle_intro_80BC47C
+ .4byte task_battle_intro_80BC47C
+ .4byte task00_battle_intro_80BC6C8
+ .4byte task00_battle_intro_80BC6C8
+ .4byte task00_battle_intro_80BC6C8
+ .4byte task_battle_intro_80BC47C
+ .4byte task_battle_intro_80BC47C
+ .4byte task_battle_intro_80BC47C
+ .4byte task_battle_intro_anim
+ .4byte task_battle_intro_anim
+
+ .align 2
+gUnknown_083DB594:: @ 83DB594
+ .4byte sub_80E5168
+ .4byte sub_80E517C
+ .4byte sub_80E51C4
+ .4byte sub_80E5270
+
+ .align 2
+gUnknown_083DB5A4:: @ 83DB5A4
+ .4byte PlayerGoSpeed0
+ .4byte sub_80593C4
+ .4byte sub_80593F4
+
+ .align 2
+gUnknown_083DB5B0:: @ 83DB5B0
+ .4byte sub_80E56F8
+ .4byte sub_80E5708
+ .4byte sub_80E5744
+ .4byte sub_80E57BC
+ .4byte sub_80E57F8
+ .4byte sub_80E5834
+ .4byte sub_80E5870
+ .4byte sub_80E58AC
+ .4byte sub_80E5920
+ .4byte sub_80E5990
+ .4byte sub_80E59A0
+ .4byte sub_80E5A30
+ .4byte sub_80E5AC0
+
+ .align 2
+gUnknown_083DB5E4:: @ 83DB5E4
+ .4byte CheckMovementInputAcroBikeNormal
+ .4byte CheckMovementInputAcroBikeChangingDirection
+ .4byte CheckMovementInputAcroBikeStandingWheelie
+ .4byte CheckMovementInputAcroBikeBunnyHop
+ .4byte CheckMovementInputAcroBikeMovingWheelie
+ .4byte CheckMovementInputAcroBikeUnknownMode5
+ .4byte CheckMovementInputAcroBikeUnknownMode6
+
+ .align 1
+gUnknown_083DB600:: @ 83DB600
+ .2byte 1, 2, 4
+
+Unknown_3DB606:: @ 83DB606
+ .byte 4, 0
+
+ .align 2
+gUnknown_083DB608:: @ 83DB608
+ .4byte 0x1, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x1
+ .4byte 0x2, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x2
+ .4byte 0x3, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x3
+ .4byte 0x4, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x4
+
+ .align 1
+gMysteryEventPhrase:: @ 83DB678
+ ec_word MYSTERY
+ ec_word EVENT
+ ec_word IS
+ ec_word EXCITING
+
+ .align 1
+gBerryMasterWifePhrases:: @ 83DB680
+ ec_word GREAT
+ ec_word BATTLE
+
+ ec_word CHALLENGE
+ ec_word CONTEST
+
+ ec_word OVERWHELMING
+ ec_pokemon1 LATIAS
+
+ ec_word COOL
+ ec_pokemon1 LATIOS
+
+ ec_word SUPER
+ ec_word HUSTLE
+
+gUnknown_083DB694:: @ 83DB694
+ .4byte 0x02001000
+
+gUnknown_083DB698:: @ 83DB698
+ .incbin "baserom.gba", 0x003db698, 0xc
+
+gUnknown_083DB6A4:: @ 83DB6A4
+ .incbin "baserom.gba", 0x003db6a4, 0xe
+
+gUnknown_083DB6B2:: @ 83DB6B2
+ .incbin "baserom.gba", 0x003db6b2, 0x42
+
+ .align 2
+gUnknown_083DB6F4:: @ 83DB6F4
+ .4byte OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, 0x1
+ .4byte OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, 0x1
+ .4byte OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, 0x1
+ .4byte OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, 0x1
+ .4byte OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, 0x1
+ .4byte OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, 0x1
+ .4byte OtherText_YourProfile, OtherText_ConfirmTrendyPage2, 0x0
+ .4byte OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, 0x1
+ .4byte OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, 0x1
+ .4byte OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, 0x1
+ .4byte OtherText_MailMessage, OtherText_ConfirmTrendyPage2, 0x1
+ .4byte OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, 0x1
+ .4byte OtherText_NewSong, OtherText_ConfirmTrendyPage2, 0x0
+ .4byte OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, 0x0
+ .4byte OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, 0x1
+ .4byte OtherText_HipsterPage1, OtherText_HipsterPage2, 0x1
+ .4byte OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, 0x1
+
+gUnknown_083DB7C0:: @ 83DB7C0
+ .incbin "baserom.gba", 0x003db7c0, 0x1c
+
+ .align 2
+gUnknown_083DB7DC:: @ 83DB7DC
+ .4byte 0x0200ac80
+ .4byte 0x0200acc9
+ .4byte 0x0200ad12
+ .4byte 0x0200ad5b
+
+gUnknown_083DB7EC:: @ 83DB7EC
+ .incbin "baserom.gba", 0x003db7ec, 0x8
+
+gUnknown_083DB7F4:: @ 83DB7F4
+ .incbin "baserom.gba", 0x3db7f4, 0xc
+
+ .align 2
+InterviewPalette_0:: @ 83DB800
+ .incbin "graphics/misc/interview_pal0.gbapal"
+
+ .align 2
+InterviewPalette_1:: @ 83DB820
+ .incbin "graphics/misc/interview_pal1.gbapal"
+
+ .align 2
+InterviewArrowTiles: @ 83DB840
+ .incbin "graphics/misc/interview_arrow.4bpp"
+
+ .align 2
+InterviewButtonTiles: @ 83DB940
+ .incbin "graphics/misc/interview_buttons.4bpp"
+
+ .align 2
+gMenuInterviewFrame_Pal::
+ .incbin "graphics/misc/interview_frame.gbapal"
+
+ .align 2
+gMenuInterviewFrame_Gfx::
+ .incbin "graphics/misc/interview_frame.4bpp.lz"
+
+ .align 2
+InterviewTriangleCursorTiles: @ 83DBB94
+ .incbin "graphics/misc/interview_triangle_cursor.4bpp"
+
+ .align 2
+gSpriteSheets_Interview:: @ 83DBBB4
+ obj_tiles InterviewTriangleCursorTiles, 0x20, 0
+ obj_tiles gInterviewOutlineCursorTiles, 0x700, 1
+ obj_tiles InterviewArrowTiles, 0x100, 2
+ obj_tiles InterviewButtonTiles, 0x100, 3
+ null_obj_tiles
+
+ .align 2
+gSpritePalettes_Interview:: @ 83DBBDC
+ obj_pal InterviewPalette_0, 0
+ obj_pal InterviewPalette_1, 1
+ null_obj_pal
+
+ .align 2
+gOamData_83DBBF4:: @ 83DBBF4
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83DBBFC:: @ 83DBBFC
+ spr_template 0, 0, gOamData_83DBBF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E82BC
+
+ .align 2
+gOamData_83DBC14:: @ 83DBC14
+ .2byte 0x4400
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83DBC1C:: @ 83DBC1C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC24:: @ 83DBC24
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC2C:: @ 83DBC2C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC34:: @ 83DBC34
+ obj_image_anim_frame 24, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC3C:: @ 83DBC3C
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC44:: @ 83DBC44
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC4C:: @ 83DBC4C
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC54:: @ 83DBC54
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC5C:: @ 83DBC5C
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC64:: @ 83DBC64
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC6C:: @ 83DBC6C
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBC74:: @ 83DBC74
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DBC7C:: @ 83DBC7C
+ .4byte gSpriteAnim_83DBC1C
+ .4byte gSpriteAnim_83DBC24
+ .4byte gSpriteAnim_83DBC2C
+ .4byte gSpriteAnim_83DBC34
+
+ .align 2
+gSpriteAnimTable_83DBC8C:: @ 83DBC8C
+ .4byte gSpriteAnim_83DBC3C
+ .4byte gSpriteAnim_83DBC44
+ .4byte gSpriteAnim_83DBC4C
+ .4byte gSpriteAnim_83DBC54
+
+ .align 2
+gSpriteAnimTable_83DBC9C:: @ 83DBC9C
+ .4byte gSpriteAnim_83DBC5C
+ .4byte gSpriteAnim_83DBC64
+ .4byte gSpriteAnim_83DBC6C
+ .4byte gSpriteAnim_83DBC74
+
+ .align 2
+gSpriteTemplate_83DBCAC:: @ 83DBCAC
+ spr_template 1, 1, gOamData_83DBC14, gSpriteAnimTable_83DBC7C, NULL, gDummySpriteAffineAnimTable, sub_80E85F8
+
+ .align 2
+gUnknown_083DBCC4:: @ 83DBCC4
+ .incbin "baserom.gba", 0x003dbcc4, 0x1c
+
+ .align 2
+gOamData_83DBCE0:: @ 83DBCE0
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83DBCE8:: @ 83DBCE8
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBCF0:: @ 83DBCF0
+ obj_image_anim_frame 4, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DBCF8:: @ 83DBCF8
+ .4byte gSpriteAnim_83DBCE8
+ .4byte gSpriteAnim_83DBCF0
+
+Unknown_83DBD00:
+ .incbin "baserom.gba", 0x003dbd00, 0x8
+Unknown_83DBD08:
+ .incbin "baserom.gba", 0x003dbd08, 0x8
+
+gUnknown_083DBD10:: @ 83DBD10
+ .4byte Unknown_83DBD00
+ .4byte Unknown_83DBD08
+
+ .align 2
+gSpriteTemplate_83DBD18:: @ 83DBD18
+ spr_template 2, 0, gOamData_83DBCE0, gSpriteAnimTable_83DBCF8, NULL, gDummySpriteAffineAnimTable, sub_80E8B78
+
+ .align 2
+gUnknown_083DBD30:: @ 83DBD30
+ obj_tiles gMenuInterviewFrame_Gfx, 2048, 0x0006
+
+ .align 2
+gUnknown_083DBD38:: @ 83DBD38
+ obj_pal gMenuInterviewFrame_Pal, 0x0004
+
+ .align 2
+gOamData_83DBD40:: @ 83DBD40
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83DBD48:: @ 83DBD48
+ spr_template 6, 4, gOamData_83DBD40, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083DBD60:: @ 83DBD60
+ obj_tiles gMenuWordGroupIndicator_Gfx, 4096, 0x0007
+
+ .align 2
+gUnknown_083DBD68:: @ 83DBD68
+ obj_pal gMenuWordGroupIndicator_Pal, 0x0005
+
+ .align 2
+gOamData_83DBD70:: @ 83DBD70
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_83DBD78:: @ 83DBD78
+ obj_image_anim_frame 96, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBD80:: @ 83DBD80
+ obj_image_anim_frame 64, 4
+ obj_image_anim_frame 96, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBD94:: @ 83DBD94
+ obj_image_anim_frame 64, 4
+ obj_image_anim_frame 96, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBDA8:: @ 83DBDA8
+ obj_image_anim_frame 64, 2
+ obj_image_anim_frame 32, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBDB4:: @ 83DBDB4
+ obj_image_anim_frame 64, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83DBDC0:: @ 83DBDC0
+ obj_image_anim_frame 64, 2
+ obj_image_anim_frame 96, 2
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83DBDCC:: @ 83DBDCC
+ .4byte gSpriteAnim_83DBD78
+ .4byte gSpriteAnim_83DBD80
+ .4byte gSpriteAnim_83DBD94
+ .4byte gSpriteAnim_83DBDA8
+ .4byte gSpriteAnim_83DBDB4
+ .4byte gSpriteAnim_83DBDC0
+
+ .align 2
+gSpriteTemplate_83DBDE4:: @ 83DBDE4
+ spr_template 7, 5, gOamData_83DBD70, gSpriteAnimTable_83DBDCC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_083DBDFC:: @ 83DBDFC
+ .incbin "baserom.gba", 0x003dbdfc, 0x20
+
+gUnknown_083DBE1C:: @ 83DBE1C
+ .incbin "baserom.gba", 0x003dbe1c, 0x24
+
+gUnknown_083DBE40:: @ 83DBE40
+ .incbin "baserom.gba", 0x003dbe40, 0x68
+
+gUnknown_083DBEA8:: @ 83DBEA8
+ .incbin "baserom.gba", 0x003dbea8, 0x4
+
+gUnknown_083DBEAC:: @ 83DBEAC
+ .incbin "baserom.gba", 0x003dbeac, 0x80
+
+@ 83DBF2C
+ .include "data/text/easy_chat/group_words.inc"
+
+@ 83DE138
+ .include "data/text/easy_chat/words_by_letter.inc"
+
+@ 83DEFFA
+ .include "data/text/easy_chat/group_sizes.inc"
+
+@ 83DF010
+ .include "data/text/easy_chat/group_orders.inc"
+
+@ 83DFE6C
+ .include "data/text/easy_chat/group_name_table.inc"
+
+gUnknown_083DFEC4:: @ 83DFEC4
+ .incbin "baserom.gba", 0x003dfec4, 0x4
+
+gUnknown_083DFEC8:: @ 83DFEC8
+ .4byte 0x02039360
+
+gUnknown_083DFECC:: @ 83DFECC
+ .incbin "baserom.gba", 0x003dfecc, 0x20
+
+gUnknown_083DFEEC:: @ 83DFEEC
+ .incbin "baserom.gba", 0x003dfeec, 0xa0
+
+gUnknown_083DFF8C:: @ 83DFF8C
+ .incbin "baserom.gba", 0x003dff8c, 0xb0
+
+gUnknown_083E003C:: @ 83E003C
+ .incbin "baserom.gba", 0x003e003c, 0x20
+
+gUnknown_083E005C:: @ 83E005C
+ .incbin "baserom.gba", 0x003e005c, 0x20
+
+gUnknown_083E007C:: @ 83E007C
+ .incbin "baserom.gba", 0x003e007c, 0xa8
+
+gUnknown_083E0124:: @ 83E0124
+ .incbin "baserom.gba", 0x003e0124, 0x20
+
+gUnknown_083E0144:: @ 83E0144
+ .incbin "baserom.gba", 0x003e0144, 0x68
+
+gUnknown_083E01AC:: @ 83E01AC
+ .incbin "baserom.gba", 0x003e01ac, 0x48
+
+gUnknown_083E01F4:: @ 83E01F4
+ .incbin "baserom.gba", 0x003e01f4, 0x60
+
+gUnknown_083E0254:: @ 83E0254
+ .incbin "baserom.gba", 0x003e0254, 0x20
+
+gUnknown_083E0274:: @ 83E0274
+ .incbin "baserom.gba", 0x003e0274, 0x20
+
+ .align 2
+gPokenavConditionSearch2_Pal:: @ 83E0294
+ .incbin "graphics/pokenav/condition_search2.gbapal"
+
+gUnknown_083E02B4:: @ 83E02B4
+ .incbin "baserom.gba", 0x003e02b4, 0x60
+
+gUnknown_083E0314:: @ 83E0314
+ .incbin "baserom.gba", 0x003e0314, 0x20
+
+ .align 2
+gUnknown_083E0334:: @ 83E0334
+ .incbin "graphics/pokenav/trainereyes_misc_pal.bin" @ the original bytes have an "FF FF" instance which is incompatible with gbagfx to produce the bytes needed to match the original ROM, so I am forced to include it as a .bin until the lowest bit is properly handled or a better workaround is produced
+
+ .align 2
+gUnknown_083E0354:: @ 83E0354
+ .incbin "graphics/pokenav/trainereyes_misc.4bpp.lz"
+
+gUnknown_083E039C:: @ 83E039C
+ .incbin "baserom.gba", 0x003e039c, 0x4
+
+gUnknown_083E03A0:: @ 83E03A0
+ .incbin "baserom.gba", 0x003e03a0, 0x8
+
+gUnknown_083E03A8:: @ 83E03A8
+ .incbin "baserom.gba", 0x003e03a8, 0x64
+
+gUnknown_083E040C:: @ 83E040C
+ .incbin "graphics/misc/ribbons_half.4bpp.lz"
+
+ .align 2
+gPokenavOutlinePalette:: @ 83E05D4
+ .incbin "graphics/pokenav/outline.gbapal"
+
+ .align 2
+gPokenavOutlineTiles:: @ 83E05F4
+ .incbin "graphics/pokenav/outline.4bpp.lz"
+
+ .align 2
+gPokenavOutlineTilemap:: @ 83E0804
+ .incbin "graphics/pokenav/outline_map.bin.lz"
+
+ .align 2
+gPokenavCityMap_Lavaridge_0:: @ 83E096C
+ .incbin "graphics/pokenav/city_maps/lavaridge_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Fallarbor_0:: @ 83E09B0
+ .incbin "graphics/pokenav/city_maps/fallarbor_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Fortree_0:: @ 83E09F8
+ .incbin "graphics/pokenav/city_maps/fortree_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Slateport_0:: @ 83E0A48
+ .incbin "graphics/pokenav/city_maps/slateport_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Slateport_1:: @ 83E0AA8
+ .incbin "graphics/pokenav/city_maps/slateport_1.bin.lz"
+
+ .align 2
+gPokenavCityMap_Rustboro_0:: @ 83E0AF4
+ .incbin "graphics/pokenav/city_maps/rustboro_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Rustboro_1:: @ 83E0B48
+ .incbin "graphics/pokenav/city_maps/rustboro_1.bin.lz"
+
+ .align 2
+gPokenavCityMap_Pacifidlog_0:: @ 83E0B9C
+ .incbin "graphics/pokenav/city_maps/pacifidlog_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Mauville_1:: @ 83E0BDC
+ .incbin "graphics/pokenav/city_maps/mauville_1.bin.lz"
+
+ .align 2
+gPokenavCityMap_Mauville_0:: @ 83E0C34
+ .incbin "graphics/pokenav/city_maps/mauville_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Oldale_0:: @ 83E0C88
+ .incbin "graphics/pokenav/city_maps/oldale_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Lilycove_1:: @ 83E0CB8
+ .incbin "graphics/pokenav/city_maps/lilycove_1.bin.lz"
+
+ .align 2
+gPokenavCityMap_Lilycove_0:: @ 83E0D04
+ .incbin "graphics/pokenav/city_maps/lilycove_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Littleroot_0:: @ 83E0D5C
+ .incbin "graphics/pokenav/city_maps/littleroot_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Dewford_0:: @ 83E0D8C
+ .incbin "graphics/pokenav/city_maps/dewford_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Sootopolis_0:: @ 83E0DC4
+ .incbin "graphics/pokenav/city_maps/sootopolis_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_EverGrande_0:: @ 83E0E04
+ .incbin "graphics/pokenav/city_maps/ever_grande_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_EverGrande_1:: @ 83E0E4C
+ .incbin "graphics/pokenav/city_maps/ever_grande_1.bin.lz"
+
+ .align 2
+gPokenavCityMap_Verdanturf_0:: @ 83E0E90
+ .incbin "graphics/pokenav/city_maps/verdanturf_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Mossdeep_1:: @ 83E0EC8
+ .incbin "graphics/pokenav/city_maps/mossdeep_1.bin.lz"
+
+ .align 2
+gPokenavCityMap_Mossdeep_0:: @ 83E0F10
+ .incbin "graphics/pokenav/city_maps/mossdeep_0.bin.lz"
+
+ .align 2
+gPokenavCityMap_Petalburg_0:: @ 83E0F6C
+ .incbin "graphics/pokenav/city_maps/petalburg_0.bin.lz"
+
+@ 83E0FC8
+ .include "data/text/ribbon_descriptions.inc"
+
+@ 83E1204
+ .include "data/text/gift_ribbon_descriptions.inc"
+
+@ 83E178C
+ .include "data/text/trainer_eye_descriptions.inc"
+
+ .align 2
+gUnknown_083E31B0:: @ 83E31B0
+ .4byte PCText_CheckMap
+ .4byte PCText_CheckPoke
+ .4byte PCText_CheckTrainer
+ .4byte PCText_CheckRibbons
+ .4byte PCText_PutAwayNav
+ .4byte PCText_NoRibbonWin
+ .4byte PCText_NoTrainers
+
+ .align 2
+gUnknown_083E31CC:: @ 83E31CC
+ .4byte PCText_CheckParty
+ .4byte PCText_CheckPokeAll
+ .4byte PCText_ReturnToNav
+
+ .align 2
+gUnknown_083E31D8:: @ 83E31D8
+ .4byte PCText_FindCool
+ .4byte PCText_FindBeauty
+ .4byte PCText_FindCute
+ .4byte PCText_FindSmart
+ .4byte PCText_FindTough
+ .4byte PCText_ReturnToCondition
+
+ .align 2
+gPokenavCityMaps:: @ 83E31F0
+ .4byte gPokenavCityMap_Littleroot_0, NULL
+ .4byte gPokenavCityMap_Oldale_0, NULL
+ .4byte gPokenavCityMap_Dewford_0, NULL
+ .4byte gPokenavCityMap_Lavaridge_0, NULL
+ .4byte gPokenavCityMap_Fallarbor_0, NULL
+ .4byte gPokenavCityMap_Verdanturf_0, NULL
+ .4byte gPokenavCityMap_Pacifidlog_0, NULL
+ .4byte gPokenavCityMap_Petalburg_0, NULL
+ .4byte gPokenavCityMap_Slateport_0, gPokenavCityMap_Slateport_1
+ .4byte gPokenavCityMap_Mauville_0, gPokenavCityMap_Mauville_1
+ .4byte gPokenavCityMap_Rustboro_0, gPokenavCityMap_Rustboro_1
+ .4byte gPokenavCityMap_Fortree_0, NULL
+ .4byte gPokenavCityMap_Lilycove_0, gPokenavCityMap_Lilycove_1
+ .4byte gPokenavCityMap_Mossdeep_0, gPokenavCityMap_Mossdeep_1
+ .4byte gPokenavCityMap_Sootopolis_0, NULL
+ .4byte gPokenavCityMap_EverGrande_0, gPokenavCityMap_EverGrande_1
+
+ .align 2
+gUnknown_083E3270:: @ 83E3270
+ .4byte sub_80F0A24
+ .4byte sub_80F0A24
+ .4byte sub_80F0A74
+
+ .align 2
+gPokenavIconPalette::
+ .incbin "graphics/pokenav/icon.gbapal"
+
+ .align 2
+gUnknown_083E329C:: @ 83E329C
+ .incbin "graphics/pokenav/icon.4bpp.lz"
+
+ .align 2
+gPokenavPokeballTiles::
+ .incbin "graphics/pokenav/pokeball.4bpp"
+
+ .align 2
+gUnknown_083E3780: @ 83E3780
+ .incbin "baserom.gba", 0x3e3780, 0x20
+
+ .align 2
+gPokenavSparkle_Pal::
+ .incbin "graphics/pokenav/sparkle.gbapal"
+
+ .align 2
+gPokenavSparkle_Gfx::
+ .incbin "graphics/pokenav/sparkle.4bpp"
+
+ .align 2
+gPokenavUpDownArrows_Gfx::
+ .incbin "graphics/pokenav/arrows.4bpp"
+
+gUnknown_083E3BC0::
+ .incbin "baserom.gba", 0x003E3BC0, 0x20
+
+ .align 2
+gTiles_083E3BE0::
+ .incbin "graphics/unknown/unknown_3E3BE0.4bpp"
+
+ .align 2
+gUnknown_083E3C60:: @ 83E3C60
+ .incbin "graphics/misc/ribbons_cool.gbapal"
+ .incbin "graphics/misc/ribbons_beauty.gbapal"
+ .incbin "graphics/misc/ribbons_cute.gbapal"
+ .incbin "graphics/misc/ribbons_smart.gbapal"
+ .incbin "graphics/misc/ribbons_tough.gbapal"
+
+ .align 2
+gUnknown_083E3D00:: @ 83E3D00
+ .incbin "graphics/misc/ribbons_full.4bpp.lz"
+
+ .align 2
+PokenavBlueLightPalette:
+ .incbin "graphics/pokenav/blue_light.gbapal"
+
+ .align 2
+PokenavBlueLightTiles:
+ .incbin "graphics/pokenav/blue_light.4bpp"
+
+Palette_3E42D8: @ 83E42D8
+ .incbin "baserom.gba", 0x3e42d8, 0x20
+
+gUnknown_083E42F8:: @ 83E42F8
+ .incbin "baserom.gba", 0x003e42f8, 0x20
+
+ .align 2
+gOamData_83E4318:: @ 83E4318
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83E4320:: @ 83E4320
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4328:: @ 83E4328
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4330:: @ 83E4330
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4338:: @ 83E4338
+ obj_image_anim_frame 24, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4340:: @ 83E4340
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4348:: @ 83E4348
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4350:: @ 83E4350
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4358:: @ 83E4358
+ obj_image_anim_frame 56, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4360:: @ 83E4360
+ obj_image_anim_frame 64, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4368:: @ 83E4368
+ obj_image_anim_frame 72, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4370:: @ 83E4370
+ obj_image_anim_frame 80, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4378:: @ 83E4378
+ obj_image_anim_frame 88, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4380:: @ 83E4380
+ obj_image_anim_frame 96, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4388:: @ 83E4388
+ obj_image_anim_frame 104, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4390:: @ 83E4390
+ obj_image_anim_frame 112, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4398:: @ 83E4398
+ obj_image_anim_frame 120, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43A0:: @ 83E43A0
+ obj_image_anim_frame 128, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43A8:: @ 83E43A8
+ obj_image_anim_frame 136, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43B0:: @ 83E43B0
+ obj_image_anim_frame 144, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43B8:: @ 83E43B8
+ obj_image_anim_frame 152, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43C0:: @ 83E43C0
+ obj_image_anim_frame 160, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43C8:: @ 83E43C8
+ obj_image_anim_frame 168, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43D0:: @ 83E43D0
+ obj_image_anim_frame 176, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E43D8:: @ 83E43D8
+ obj_image_anim_frame 184, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E43E0:: @ 83E43E0
+ .4byte gSpriteAnim_83E4320
+ .4byte gSpriteAnim_83E4328
+ .4byte gSpriteAnim_83E4330
+ .4byte gSpriteAnim_83E4338
+ .4byte gSpriteAnim_83E4340
+ .4byte gSpriteAnim_83E4348
+ .4byte gSpriteAnim_83E4350
+ .4byte gSpriteAnim_83E4358
+ .4byte gSpriteAnim_83E4360
+ .4byte gSpriteAnim_83E4368
+ .4byte gSpriteAnim_83E4370
+ .4byte gSpriteAnim_83E4378
+ .4byte gSpriteAnim_83E4380
+ .4byte gSpriteAnim_83E4388
+ .4byte gSpriteAnim_83E4390
+ .4byte gSpriteAnim_83E4398
+ .4byte gSpriteAnim_83E43A0
+ .4byte gSpriteAnim_83E43A8
+ .4byte gSpriteAnim_83E43B0
+ .4byte gSpriteAnim_83E43B8
+ .4byte gSpriteAnim_83E43C0
+ .4byte gSpriteAnim_83E43C8
+ .4byte gSpriteAnim_83E43D0
+ .4byte gSpriteAnim_83E43D8
+
+Unknown_83E4440:
+ .incbin "baserom.gba", 0x003e4440, 0x10
+
+gUnknown_083E4450:: @ 83E4450
+ .4byte Unknown_83E4440
+
+ .align 2
+gSpriteTemplate_83E4454:: @ 83E4454
+ spr_template 0, 0, gOamData_83E4318, gSpriteAnimTable_83E43E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteSheet_PokenavBlueLight:: @ 83E446C
+ obj_tiles PokenavBlueLightTiles, 0x100, 25
+
+ .align 2
+gSpritePalette_PokenavBlueLight:: @ 83E4474
+ obj_pal PokenavBlueLightPalette, 17
+
+ .align 2
+gOamData_83E447C:: @ 83E447C
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteTemplate_83E4484:: @ 83E4484
+ spr_template 25, 17, gOamData_83E447C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2654
+
+gUnknown_083E449C:: @ 83E449C
+ obj_pal gPokenavMenuOptions3_Pal, 2
+ obj_pal gPokenavCondition5_Pal, 3
+ obj_pal 0x0, 0
+
+ .align 2
+gOamData_83E44B4:: @ 83E44B4
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83E44BC:: @ 83E44BC
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E44C4:: @ 83E44C4
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E44CC:: @ 83E44CC
+ obj_image_anim_frame 64, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E44D4:: @ 83E44D4
+ .4byte gSpriteAnim_83E44BC
+ .4byte gSpriteAnim_83E44C4
+ .4byte gSpriteAnim_83E44CC
+
+ .align 2
+gSpriteTemplate_83E44E0:: @ 83E44E0
+ spr_template 1, 2, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
+
+ .align 2
+gSpriteTemplate_83E44F8:: @ 83E44F8
+ spr_template 1, 3, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
+
+ .align 2
+gOamData_83E4510:: @ 83E4510
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83E4518:: @ 83E4518
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4520:: @ 83E4520
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E4528:: @ 83E4528
+ .4byte gSpriteAnim_83E4518
+ .4byte gSpriteAnim_83E4520
+
+ .align 2
+gSpriteTemplate_83E4530:: @ 83E4530
+ spr_template 2, 2, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
+
+ .align 2
+gSpriteTemplate_83E4548:: @ 83E4548
+ spr_template 2, 3, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
+
+ .align 2
+gOamData_83E4560:: @ 83E4560
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gUnknown_083E4568:: @ 83E4568
+ .incbin "baserom.gba", 0x003e4568, 0x8
+
+ .align 2
+gSpriteTemplate_83E4570:: @ 83E4570
+ spr_template 6, 6, gOamData_83E4560, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2E00
+
+gUnknown_083E4588:: @ 83E4588
+ .incbin "baserom.gba", 0x003e4588, 0x8
+
+ .align 2
+gUnknown_083E4590:: @ 83E4590
+ obj_tiles gPokenavArrow_Gfx, 0x40, 9
+ obj_tiles gPokenavUpDownArrows_Gfx, 0x80, 10
+ null_obj_tiles
+
+ .align 2
+gUnknown_083E45A8:: @ 83E45A8
+ obj_pal gPokenavArrowsPalette, 9
+
+ .align 2
+gOamData_83E45B0:: @ 83E45B0
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gSpriteTemplate_83E45B8:: @ 83E45B8
+ spr_template 9, 9, gOamData_83E45B0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F3190
+
+ .align 2
+gSpriteAnim_83E45D0:: @ 83E45D0
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E45D8:: @ 83E45D8
+ obj_image_anim_frame 2, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E45E0:: @ 83E45E0
+ .4byte gSpriteAnim_83E45D0
+ .4byte gSpriteAnim_83E45D8
+
+ .align 2
+gOamData_83E45E8:: @ 83E45E8
+ .2byte 0x4000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gSpriteTemplate_83E45F0:: @ 83E45F0
+ spr_template 10, 9, gOamData_83E45E8, gSpriteAnimTable_83E45E0, NULL, gDummySpriteAffineAnimTable, sub_80F31AC
+
+ .align 2
+gOamData_83E4608:: @ 83E4608
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83E4610:: @ 83E4610
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E4618:: @ 83E4618
+ obj_image_anim_frame 4, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E4620:: @ 83E4620
+ .4byte gSpriteAnim_83E4610
+ .4byte gSpriteAnim_83E4618
+
+ .align 2
+gUnknown_083E4628:: @ 83E4628
+ obj_tiles gPokenavPokeballTiles, 0x100, 3
+ obj_tiles gUnknown_083E3780, 0x20, 4
+ obj_tiles gPokenavConditionMenuCancel_Gfx, 0x100, 5
+ null_obj_tiles
+
+ .align 2
+gUnknown_083E4648:: @ 83E4648
+ obj_pal gPokenavConditionPokeball_Pal, 4
+ obj_pal gPokenavCondition4_Pal, 5
+ .space 8
+
+ .align 2
+gSpriteTemplate_83E4660:: @ 83E4660
+ spr_template 3, 4, gOamData_83E4608, gSpriteAnimTable_83E4620, NULL, gDummySpriteAffineAnimTable, sub_80F3328
+
+gUnknown_083E4678:: @ 83E4678
+ .incbin "baserom.gba", 0x003e4678, 0x20
+
+gUnknown_083E4698:: @ 83E4698
+ .incbin "baserom.gba", 0x003e4698, 0x80
+
+ .align 2
+gOamData_83E4718:: @ 83E4718
+ .2byte 0x0100
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAffineAnim_83E4720:: @ 83E4720
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83E4730:: @ 83E4730
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_frame 0x20, 0x20, 0, 4
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_83E4748:: @ 83E4748
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 4
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83E4760:: @ 83E4760
+ .4byte gSpriteAffineAnim_83E4720
+ .4byte gSpriteAffineAnim_83E4730
+ .4byte gSpriteAffineAnim_83E4748
+
+ .align 2
+gSpriteTemplate_83E476C:: @ 83E476C
+ spr_template 11, 10, gOamData_83E4718, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83E4760, SpriteCallbackDummy
+
+ .align 2
+gUnknown_083E4784:: @ 83E4784
+ obj_tiles gPokenavSparkle_Gfx, 896, 0x0017
+
+ .align 2
+gUnknown_083E478C:: @ 83E478C
+ obj_pal gPokenavSparkle_Pal, 0x000f
+
+gUnknown_083E4794:: @ 83E4794
+ .incbin "baserom.gba", 0x003e4794, 0x28
+
+ .align 2
+gOamData_83E47BC:: @ 83E47BC
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_83E47C4:: @ 83E47C4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_frame 12, 5
+ obj_image_anim_frame 16, 5
+ obj_image_anim_frame 20, 5
+ obj_image_anim_frame 24, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E47E4:: @ 83E47E4
+ .4byte gSpriteAnim_83E47C4
+ .4byte gSpriteAnim_83E47C4 + 0x8
+ .4byte gSpriteAnim_83E47C4 + 0x10
+ .4byte gSpriteAnim_83E47C4 + 0x18
+
+ @ unused?
+ .4byte gSpriteAnim_83E47C4 + 0x20
+ .4byte gSpriteAnim_83E47C4 + 0x28
+ .4byte gSpriteAnim_83E47C4 + 0x30
+
+ .align 2
+gSpriteTemplate_83E4800:: @ 83E4800
+ spr_template 23, 15, gOamData_83E47BC, gSpriteAnimTable_83E47E4, NULL, gDummySpriteAffineAnimTable, sub_80F3E9C
+
+ .align 2
+gUnknown_083E4818:: @ 83E4818
+ obj_pal gPokenavIconPalette, 16
+
+ .align 2
+gSpriteAnim_83E4820:: @ 83E4820
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 16, 12
+ obj_image_anim_frame 32, 12
+ obj_image_anim_frame 48, 12
+ obj_image_anim_frame 64, 12
+ obj_image_anim_frame 80, 12
+ obj_image_anim_frame 96, 12
+ obj_image_anim_frame 112, 12
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83E4844:: @ 83E4844
+ .4byte gSpriteAnim_83E4820
+
+ .align 2
+gOamData_83E4848:: @ 83E4848
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gSpriteTemplate_83E4850:: @ 83E4850
+ spr_template 24, 16, gOamData_83E4848, gSpriteAnimTable_83E4844, NULL, gDummySpriteAffineAnimTable, sub_80F4138
+
+ .align 2
+gUnknown_083E4868:: @ 83E4868
+ obj_pal Palette_3E42D8, 18
+
+ .align 2
+gOamData_83E4870:: @ 83E4870
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0C00
+
+ .align 2
+gSpriteTemplate_83E4878:: @ 83E4878
+ spr_template 26, 18, gOamData_83E4870, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_083E4890:: @ 83E4890
+ .incbin "baserom.gba", 0x003e4890, 0x100
+
+gUnknown_083E4990:: @ 83E4990
+ .incbin "baserom.gba", 0x003e4990, 0xc
+
+gUnknown_083E499C:: @ 83E499C
+ .incbin "baserom.gba", 0x003e499c, 0x24
+
+gUnknown_083E49C0:: @ 83E49C0
+ .incbin "baserom.gba", 0x003e49c0, 0x34
+
+ .align 2
+gUnknown_083E49F4:: @ 83E49F4
+ .incbin "graphics/misc/mon_markings.gbapal"
+
+ .align 2
+gUnknown_083E4A14:: @ 83E4A14
+ .incbin "graphics/misc/mon_markings.4bpp"
+
+gUnknown_083E5214:: @ 83E5214
+ .incbin "baserom.gba", 0x003e5214, 0x8
+
+gUnknown_083E521C:: @ 83E521C
+ .space 8
+
+ .align 2
+gSpriteAnim_83E5224:: @ 83E5224
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E522C:: @ 83E522C
+ obj_image_anim_frame 1, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5234:: @ 83E5234
+ obj_image_anim_frame 2, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E523C:: @ 83E523C
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5244:: @ 83E5244
+ obj_image_anim_frame 4, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E524C:: @ 83E524C
+ obj_image_anim_frame 5, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5254:: @ 83E5254
+ obj_image_anim_frame 6, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E525C:: @ 83E525C
+ obj_image_anim_frame 7, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5264:: @ 83E5264
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E526C:: @ 83E526C
+ obj_image_anim_frame 9, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E5274:: @ 83E5274
+ .4byte gSpriteAnim_83E5224
+ .4byte gSpriteAnim_83E522C
+ .4byte gSpriteAnim_83E5234
+ .4byte gSpriteAnim_83E523C
+ .4byte gSpriteAnim_83E5244
+ .4byte gSpriteAnim_83E524C
+ .4byte gSpriteAnim_83E5254
+ .4byte gSpriteAnim_83E525C
+ .4byte gSpriteAnim_83E5264
+ .4byte gSpriteAnim_83E526C
+
+ .align 2
+gSpriteAnim_83E529C:: @ 83E529C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52A4:: @ 83E52A4
+ obj_image_anim_frame 64, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E52AC:: @ 83E52AC
+ .4byte gSpriteAnim_83E529C
+ .4byte gSpriteAnim_83E52A4
+
+gUnknown_083E52B4:: @ 83E52B4
+ .incbin "baserom.gba", 0x003E52B4, 0x8
+
+ .align 2
+gSpriteAnim_83E52BC:: @ 83E52BC
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52C4:: @ 83E52C4
+ obj_image_anim_frame 4, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52CC:: @ 83E52CC
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52D4:: @ 83E52D4
+ obj_image_anim_frame 12, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52DC:: @ 83E52DC
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52E4:: @ 83E52E4
+ obj_image_anim_frame 20, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52EC:: @ 83E52EC
+ obj_image_anim_frame 24, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52F4:: @ 83E52F4
+ obj_image_anim_frame 28, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E52FC:: @ 83E52FC
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5304:: @ 83E5304
+ obj_image_anim_frame 36, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E530C:: @ 83E530C
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5314:: @ 83E5314
+ obj_image_anim_frame 44, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E531C:: @ 83E531C
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5324:: @ 83E5324
+ obj_image_anim_frame 52, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E532C:: @ 83E532C
+ obj_image_anim_frame 56, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5334:: @ 83E5334
+ obj_image_anim_frame 60, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E533C:: @ 83E533C
+ .4byte gSpriteAnim_83E52BC
+ .4byte gSpriteAnim_83E52C4
+ .4byte gSpriteAnim_83E52CC
+ .4byte gSpriteAnim_83E52D4
+ .4byte gSpriteAnim_83E52DC
+ .4byte gSpriteAnim_83E52E4
+ .4byte gSpriteAnim_83E52EC
+ .4byte gSpriteAnim_83E52F4
+ .4byte gSpriteAnim_83E52FC
+ .4byte gSpriteAnim_83E5304
+ .4byte gSpriteAnim_83E530C
+ .4byte gSpriteAnim_83E5314
+ .4byte gSpriteAnim_83E531C
+ .4byte gSpriteAnim_83E5324
+ .4byte gSpriteAnim_83E532C
+ .4byte gSpriteAnim_83E5334
+
+gUnknown_083E537C:: @ 83E537C
+ .incbin "baserom.gba", 0x003e537c, 0xc
+
+ .align 2
+gUnknown_083E5388:: @ 83E5388
+ .4byte OtherText_SoPretty
+ .4byte OtherText_SoDarling
+ .4byte OtherText_SoRelaxed
+ .4byte OtherText_SoSunny
+ .4byte OtherText_SoDesirable
+ .4byte OtherText_SoExciting
+ .4byte OtherText_SoAmusing
+ .4byte OtherText_SoMagical
+
+ .align 2
+gUnknown_083E53A8:: @ 83E53A8
+ .4byte OtherText_WantVacationNicePlace
+ .4byte OtherText_BoughtCrayonsIsNice
+ .4byte OtherText_IfWeCouldFloat
+ .4byte OtherText_SandWashesAwayMakeSad
+ .4byte OtherText_WhatsBottomSeaLike
+ .4byte OtherText_SeeSettingSun
+ .4byte OtherText_LyingInGreenGrass
+ .4byte OtherText_SecretBasesWonderful
+
+gUnknown_083E53C8:: @ 83E53C8
+ .incbin "baserom.gba", 0x003e53c8, 0x18
+
+ .align 2
+gUnknown_083E53E0:: @ 83E53E0
+ .4byte 0x132, UnknownString_81AEFFC, UnknownString_81AF013, UnknownString_81AF022
+ .4byte 0x102, UnknownString_81AF0A3, UnknownString_81AF0BB, UnknownString_81AF0CA
+ .4byte 0x103, UnknownString_81AF149, UnknownString_81AF164, UnknownString_81AF174
+ .4byte 0x104, UnknownString_81AF1E5, UnknownString_81AF1FD, UnknownString_81AF20A
+ .4byte 0x106, UnknownString_81AF281, UnknownString_81AF299, UnknownString_81AF2A9
+ .4byte 0x109, UnknownString_81AF32C, UnknownString_81AF345, UnknownString_81AF34D
+ .4byte 0x10b, UnknownString_81AF3D0, UnknownString_81AF3ED, UnknownString_81AF3FC
+ .4byte 0x10c, UnknownString_81AF46D, UnknownString_81AF481, UnknownString_81AF49B
+ .4byte 0x10d, UnknownString_81AF511, UnknownString_81AF529, UnknownString_81AF536
+ .4byte 0x10e, UnknownString_81AF5A9, UnknownString_81AF5BD, UnknownString_81AF5CD
+ .4byte 0x10f, UnknownString_81AF63F, UnknownString_81AF661, UnknownString_81AF676
+ .4byte 0x110, UnknownString_81AF711, UnknownString_81AF726, UnknownString_81AF73D
+ .4byte 0x111, UnknownString_81AF7BF, UnknownString_81AF7D9, UnknownString_81AF7F1
+ .4byte 0x112, UnknownString_81AF88A, UnknownString_81AF8A1, UnknownString_81AF8AA
+ .4byte 0x113, UnknownString_81AF91B, UnknownString_81AF935, UnknownString_81AF943
+ .4byte 0x114, UnknownString_81AF9C8, UnknownString_81AF9E0, UnknownString_81AF9F6
+ .4byte 0x11a, UnknownString_81AFA79, UnknownString_81AFA92, UnknownString_81AFA9E
+ .4byte 0x11b, UnknownString_81AFB17, UnknownString_81AFB2D, UnknownString_81AFB48
+ .4byte 0x11c, UnknownString_81AFBD8, UnknownString_81AFBE7, UnknownString_81AFC04
+ .4byte 0x21d, UnknownString_81AFC8A, UnknownString_81AFC9D, UnknownString_81AFCBE
+ .4byte 0x11e, UnknownString_81AFD44, UnknownString_81AFD60, UnknownString_81AFD80
+ .4byte 0x121, UnknownString_81AFE1D, UnknownString_81AFE36, UnknownString_81AFE42
+ .4byte 0x124, UnknownString_81AFEC2, UnknownString_81AFEDD, UnknownString_81AFEEE
+ .4byte 0x125, UnknownString_81AFF68, UnknownString_81AFF7B, UnknownString_81AFF88
+ .4byte 0x126, UnknownString_81AFFFB, UnknownString_81B000D, UnknownString_81B0015
+ .4byte 0x127, UnknownString_81B009D, UnknownString_81B00B6, UnknownString_81B00C9
+ .4byte 0x128, UnknownString_81B014D, UnknownString_81B0165, UnknownString_81B0173
+ .4byte 0x129, UnknownString_81B01E9, UnknownString_81B0201, UnknownString_81B0213
+ .4byte 0x12a, UnknownString_81B0290, UnknownString_81B02A5, UnknownString_81B02B6
+ .4byte 0x12b, UnknownString_81B0337, UnknownString_81B0351, UnknownString_81B0364
+ .4byte 0x12c, UnknownString_81B03E9, UnknownString_81B0401, UnknownString_81B040C
+ .4byte 0x12d, UnknownString_81B046E, UnknownString_81B0489, UnknownString_81B049A
+ .4byte 0x12e, UnknownString_81B0523, UnknownString_81B053E, UnknownString_81B0554
+ .4byte 0x12f, UnknownString_81B05D8, UnknownString_81B05F3, UnknownString_81B0610
+ .4byte 0x130, UnknownString_81B06A9, UnknownString_81B06C6, UnknownString_81B06D9
+
+gUnknown_083E5610:: @ 83E5610
+ .4byte 0x131, UnknownString_81B0763, UnknownString_81B0781, UnknownString_81B0797
+
+gUnknown_083E5620:: @ 83E5620
+ .incbin "baserom.gba", 0x003e5620, 0xc
+
+ .align 1
+gUnknown_083E562C:: @ 83E562C
+ .2byte 0x6ACD, 0x51A5
+ .2byte 0x45FC, 0x38D4
+
+ .align 2
+gMailGraphicsTable:: @ 83E5634
+ .4byte gMailPalette_Orange
+ .4byte gMailTiles_Orange
+ .4byte gMailTilemap_Orange
+ .2byte 0x2C0
+ .2byte 0
+ .2byte 0x294A
+ .2byte 0x6739
+
+ .4byte gMailPalette_Harbor
+ .4byte gMailTiles_Harbor
+ .4byte gMailTilemap_Harbor
+ .2byte 0x2E0
+ .2byte 0
+ .2byte 0x7FFF
+ .2byte 0x4631
+
+ .4byte gMailPalette_Glitter
+ .4byte gMailTiles_Glitter
+ .4byte gMailTilemap_Glitter
+ .2byte 0x400
+ .2byte 0
+ .2byte 0x294A
+ .2byte 0x6739
+
+ .4byte gMailPalette_Mech
+ .4byte gMailTiles_Mech
+ .4byte gMailTilemap_Mech
+ .2byte 0x1E0
+ .2byte 0
+ .2byte 0x7FFF
+ .2byte 0x4631
+
+ .4byte gMailPalette_Wood
+ .4byte gMailTiles_Wood
+ .4byte gMailTilemap_Wood
+ .2byte 0x2E0
+ .2byte 0
+ .2byte 0x7FFF
+ .2byte 0x4631
+
+ .4byte gMailPalette_Wave
+ .4byte gMailTiles_Wave
+ .4byte gMailTilemap_Wave
+ .2byte 0x300
+ .2byte 0
+ .2byte 0x294A
+ .2byte 0x6739
+
+ .4byte gMailPalette_Bead
+ .4byte gMailTiles_Bead
+ .4byte gMailTilemap_Bead
+ .2byte 0x140
+ .2byte 0
+ .2byte 0x7FFF
+ .2byte 0x4631
+
+ .4byte gMailPalette_Shadow
+ .4byte gMailTiles_Shadow
+ .4byte gMailTilemap_Shadow
+ .2byte 0x300
+ .2byte 0
+ .2byte 0x7FFF
+ .2byte 0x4631
+
+ .4byte gMailPalette_Tropic
+ .4byte gMailTiles_Tropic
+ .4byte gMailTilemap_Tropic
+ .2byte 0x220
+ .2byte 0
+ .2byte 0x294A
+ .2byte 0x6739
+
+ .4byte gMailPalette_Dream
+ .4byte gMailTiles_Dream
+ .4byte gMailTilemap_Dream
+ .2byte 0x340
+ .2byte 0
+ .2byte 0x294A
+ .2byte 0x6739
+
+ .4byte gMailPalette_Fab
+ .4byte gMailTiles_Fab
+ .4byte gMailTilemap_Fab
+ .2byte 0x2A0
+ .2byte 0
+ .2byte 0x294A
+ .2byte 0x6739
+
+ .4byte gMailPalette_Retro
+ .4byte gMailTiles_Retro
+ .4byte gMailTilemap_Retro
+ .2byte 0x520
+ .2byte 0
+ .2byte 0x294A
+ .2byte 0x6739
+
+ .align 2
+Unknown_3E5724: @ 83E5724
+ .4byte 0xC
+ .4byte 0xC
+ .4byte 0xC
+
+gUnknown_083E5730:: @ 83E5730
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 16, 27, 52
+ .4byte Unknown_3E5724
+ .byte 3, 15, 27, 52
+ .4byte Unknown_3E5724
+
+ .align 2
+Unknown_3E5790: @ 83E5790
+ .4byte 0x8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte 0x4
+
+ .align 2
+gUnknown_083E57A4:: @ 83E57A4
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 16, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 16, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 16, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 16, 15, 52
+ .4byte Unknown_3E5790
+ .byte 5, 15, 15, 52
+ .4byte Unknown_3E5790
+
+ .align 2
+ .incbin "baserom.gba", 0x3e5804, 0x4
+
+ .align 2
+gSpriteImage_83E5808:: @ 83E5808
+ .incbin "graphics/unknown_sprites/83E59A0/0.4bpp"
+
+ .align 2
+gSpriteImage_83E5848:: @ 83E5848
+ .incbin "graphics/unknown_sprites/83E59A0/1.4bpp"
+
+ .align 2
+gSpriteImage_83E5888:: @ 83E5888
+ .incbin "graphics/unknown_sprites/83E59B0/0.4bpp"
+
+ .align 2
+gSpriteImage_83E58C8:: @ 83E58C8
+ .incbin "graphics/unknown_sprites/83E59B0/1.4bpp"
+
+ .align 2
+gSpriteImage_83E5908:: @ 83E5908
+ .incbin "graphics/unknown_sprites/83E59C0/0.4bpp"
+
+ .align 2
+gSpriteImage_83E5928:: @ 83E5928
+ .incbin "graphics/unknown_sprites/83E59C0/1.4bpp"
+
+ .align 2
+Palette_3E5948: @ 83E5948
+ .incbin "baserom.gba", 0x3e5948, 0x20
+
+ .align 2
+gUnknown_083E5968:: @ 83E5968
+ obj_pal Palette_3E5948, 6
+
+ .align 2
+gOamData_83E5970:: @ 83E5970
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0001
+
+ .align 2
+gOamData_83E5978:: @ 83E5978
+ .2byte 0x4000
+ .2byte 0x0000
+ .2byte 0x0001
+
+ .align 2
+gOamData_83E5980:: @ 83E5980
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0001
+
+ .align 2
+gSpriteAnim_83E5988:: @ 83E5988
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E5990:: @ 83E5990
+ obj_image_anim_frame 1, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E5998:: @ 83E5998
+ .4byte gSpriteAnim_83E5988
+ .4byte gSpriteAnim_83E5990
+
+ .align 2
+gSpriteImageTable_83E59A0:: @ 83E59A0
+ obj_frame_tiles gSpriteImage_83E5808, 0x40
+ obj_frame_tiles gSpriteImage_83E5848, 0x40
+
+ .align 2
+gSpriteImageTable_83E59B0:: @ 83E59B0
+ obj_frame_tiles gSpriteImage_83E5888, 0x40
+ obj_frame_tiles gSpriteImage_83E58C8, 0x40
+
+ .align 2
+gSpriteImageTable_83E59C0:: @ 83E59C0
+ obj_frame_tiles gSpriteImage_83E5908, 0x20
+ obj_frame_tiles gSpriteImage_83E5928, 0x20
+
+ .align 2
+gSpriteTemplate_83E59D0:: @ 83E59D0
+ spr_template 0xFFFF, 6, gOamData_83E5978, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59A0, gDummySpriteAffineAnimTable, sub_80F9834
+
+ .align 2
+gSpriteTemplate_83E59E8:: @ 83E59E8
+ spr_template 0xFFFF, 6, gOamData_83E5980, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59B0, gDummySpriteAffineAnimTable, sub_80F9834
+
+ .align 2
+gSpriteTemplate_83E5A00:: @ 83E5A00
+ spr_template 0xFFFF, 6, gOamData_83E5970, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_083E5A18:: @ 83E5A18
+ .string "{PALETTE 0}$"
+
+gUnknown_083E5A1C:: @ 83E5A1C
+ .string "▶$"
+
+ .align 2
+gHealLocations:: @ 83E5A20
+ heal_location LittlerootTown_BrendansHouse_2F, 4, 2
+ heal_location LittlerootTown_MaysHouse_2F, 4, 2
+ heal_location PetalburgCity, 20, 17
+ heal_location SlateportCity, 19, 20
+ heal_location MauvilleCity, 22, 6
+ heal_location RustboroCity, 16, 39
+ heal_location FortreeCity, 5, 7
+ heal_location LilycoveCity, 24, 15
+ heal_location MossdeepCity, 28, 17
+ heal_location SootopolisCity, 43, 32
+ heal_location EverGrandeCity, 27, 49
+ heal_location LittlerootTown, 5, 9
+ heal_location LittlerootTown, 14, 9
+ heal_location OldaleTown, 6, 17
+ heal_location DewfordTown, 2, 11
+ heal_location LavaridgeTown, 9, 7
+ heal_location FallarborTown, 14, 8
+ heal_location VerdanturfTown, 16, 4
+ heal_location PacifidlogTown, 8, 16
+ heal_location EverGrandeCity, 18, 6
+ heal_location BattleTower_Outside, 14, 9
+ heal_location SouthernIsland_Exterior, 15, 20
+
+ .align 2
+gPokenavCursor_Pal::
+ .incbin "graphics/pokenav/cursor.gbapal"
+
+ .align 2
+gUnknown_083E5AF0:: @ 83E5AF0
+ .incbin "graphics/pokenav/cursor_small.4bpp.lz"
+
+ .align 2
+gUnknown_083E5B34:: @ 83E5B34
+ .incbin "graphics/pokenav/cursor_large.4bpp.lz"
+
+ .align 2
+gRegionMapBrendanIconPalette:: @ 83E5C20
+ .incbin "graphics/pokenav/brendan_icon.gbapal"
+
+ .align 2
+gRegionMapBrendanIconTiles:: @ 83E5C40
+ .incbin "graphics/pokenav/brendan_icon.4bpp"
+
+ .align 2
+gRegionMapMayIconPalette:: @ 83E5CC0
+ .incbin "graphics/pokenav/may_icon.gbapal"
+
+ .align 2
+gRegionMapMayIconTiles:: @ 83E5CE0
+ .incbin "graphics/pokenav/may_icon.4bpp"
+
+ .align 2
+gUnknown_083E5D60:: @ 83E5D60
+ .incbin "graphics/pokenav/region_map.gbapal", 0xE0, 0x40
+
+ .align 2
+gUnknown_083E5DA0:: @ 83E5DA0
+ .incbin "graphics/pokenav/region_map.8bpp.lz"
+
+ .align 2
+gUnknown_083E6B04:: @ 83E6B04
+ .incbin "graphics/pokenav/region_map_map.bin.lz"
+
+@ 83E6E50
+ .include "data/region_map_sections.inc"
+
+@ 83E6FF4
+ .include "data/region_map_locations.inc"
+
+gUnknown_083E7684:: @ 83E7684
+ .incbin "baserom.gba", 0x003e7684, 0x34
+
+ .align 2
+gOamData_83E76B8:: @ 83E76B8
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83E76C0:: @ 83E76C0
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 4, 20
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83E76CC:: @ 83E76CC
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 16, 10
+ obj_image_anim_frame 32, 10
+ obj_image_anim_frame 16, 10
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83E76E0:: @ 83E76E0
+ .4byte gSpriteAnim_83E76C0
+ .4byte gSpriteAnim_83E76CC
+
+ .align 2
+gUnknown_083E76E8:: @ 83E76E8
+ obj_pal gPokenavCursor_Pal, 0x0000
+
+ .align 2
+gSpriteTemplate_83E76F0:: @ 83E76F0
+ spr_template 0, 0, gOamData_83E76B8, gSpriteAnimTable_83E76E0, NULL, gDummySpriteAffineAnimTable, sub_80FBAF0
+
+gUnknown_083E7708:: @ 83E7708
+ .incbin "baserom.gba", 0x003e7708, 0x8
+
+Unknown_83E7710:
+ .incbin "baserom.gba", 0x003e7710, 0x8
+
+gUnknown_083E7718:: @ 83E7718
+ .4byte Unknown_83E7710
+
+gUnknown_083E771C:: @ 83E771C
+ .incbin "graphics/pokenav/map_frame.gbapal"
+
+gUnknown_083E773C:: @ 83E773C
+ .incbin "graphics/pokenav/map_frame.4bpp.lz"
+
+gUnknown_083E7774:: @ 83E7774
+ .incbin "baserom.gba", 0x003e7774, 0xb8
+
+ .align 2
+gPokenavMapMisc_Pal::
+ .incbin "graphics/pokenav/map_misc.gbapal"
+
+gUnknown_083E784C:: @ 83E784C
+ .incbin "graphics/pokenav/map_misc.4bpp.lz"
+
+gUnknown_083E7920:: @ 83E7920
+ .incbin "baserom.gba", 0x3e7920, 0x98
+
+ .align 2
+Unknown_3E79B8: @ 83E79B8
+ .4byte OtherText_PokeLeague
+ .4byte OtherText_PokeCenter
+
+ .align 2
+gUnknown_083E79C0:: @ 83E79C0
+ .4byte Unknown_3E79B8
+ .incbin "baserom.gba", 0x3e79c4, 0x8
+
+ .align 2
+gUnknown_083E79CC:: @ 83E79CC
+ obj_pal gPokenavMapMisc_Pal, 0x0002
+
+ .align 2
+gUnknown_083E79D4:: @ 83E79D4
+ .incbin "baserom.gba", 0x003e79d4, 0x8
+
+ .align 2
+gOamData_83E79DC:: @ 83E79DC
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83E79E4:: @ 83E79E4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E79EC:: @ 83E79EC
+ obj_image_anim_frame 1, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E79F4:: @ 83E79F4
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E79FC:: @ 83E79FC
+ obj_image_anim_frame 5, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E7A04:: @ 83E7A04
+ obj_image_anim_frame 6, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E7A0C:: @ 83E7A0C
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83E7A14:: @ 83E7A14
+ obj_image_anim_frame 10, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83E7A1C:: @ 83E7A1C
+ .4byte gSpriteAnim_83E79E4
+ .4byte gSpriteAnim_83E79EC
+ .4byte gSpriteAnim_83E79F4
+ .4byte gSpriteAnim_83E79FC
+ .4byte gSpriteAnim_83E7A04
+ .4byte gSpriteAnim_83E7A0C
+ .4byte gSpriteAnim_83E7A14
+
+ .align 2
+gSpriteTemplate_83E7A38:: @ 83E7A38
+ spr_template 2, 2, gOamData_83E79DC, gSpriteAnimTable_83E7A1C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+@ 83E7A50
+ .include "data/cute_sketch.inc"
+
+@ 83E9FD0
+ .include "data/decorations.inc"
+
+ .align 2
+gUnknown_083EC5E4:: @ 83EC5E4
+ .4byte SecretBaseText_Desk
+ .4byte SecretBaseText_Chair
+ .4byte SecretBaseText_Plant
+ .4byte SecretBaseText_Ornament
+ .4byte SecretBaseText_Mat
+ .4byte SecretBaseText_Poster
+ .4byte SecretBaseText_Doll
+ .4byte SecretBaseText_Cushion
+
+ .align 2
+gUnknown_083EC604:: @ 83EC604
+ .4byte SecretBaseText_Decorate, sub_80FF160
+ .4byte SecretBaseText_PutAway, sub_8100A0C
+ .4byte SecretBaseText_Toss, sub_8101700
+ .4byte gUnknownText_Exit, gpu_pal_decompress_alloc_tag_and_upload
+
+ .align 2
+gUnknown_083EC624:: @ 83EC624
+ .4byte SecretBaseText_PutOutDecor
+ .4byte SecretBaseText_StoreChosenDecor
+ .4byte SecretBaseText_ThrowAwayDecor
+ .4byte gMenuText_GoBackToPrev
+
+ .align 2
+gUnknown_083EC634:: @ 83EC634
+ .4byte sub_80FF5BC
+ .4byte sub_80FF058
+ .4byte sub_81017A0
+ .4byte sub_80FF058
+ .4byte sub_81017A0
+ .4byte sub_80FF058
+ .4byte sub_8109D04
+ .4byte sub_80FF058
+
+gUnknown_083EC654:: @ 83EC654
+ .incbin "baserom.gba", 0x003ec654, 0x6
+
+gUnknown_083EC65A:: @ 83EC65A
+ .incbin "baserom.gba", 0x3ec65a, 0x6
+
+Unknown_3EC660: @ 83EC660
+ .incbin "baserom.gba", 0x3ec660, 0x4
+
+Unknown_3EC664: @ 83EC664
+ .incbin "baserom.gba", 0x3ec664, 0xc
+
+Unknown_3EC670: @ 83EC670
+ .incbin "baserom.gba", 0x3ec670, 0x10
+
+Unknown_3EC680: @ 83EC680
+ .incbin "baserom.gba", 0x3ec680, 0xc
+
+Unknown_3EC68C: @ 83EC68C
+ .incbin "baserom.gba", 0x3ec68c, 0x8
+
+Unknown_3EC694: @ 83EC694
+ .incbin "baserom.gba", 0x3ec694, 0x20
+
+Unknown_3EC6B4: @ 83EC6B4
+ .incbin "baserom.gba", 0x3ec6b4, 0x24
+
+Unknown_3EC6D8: @ 83EC6D8
+ .incbin "baserom.gba", 0x3ec6d8, 0x18
+
+Unknown_3EC6F0: @ 83EC6F0
+ .incbin "baserom.gba", 0x3ec6f0, 0x4
+
+Unknown_3EC6F4: @ 83EC6F4
+ .incbin "baserom.gba", 0x3ec6f4, 0x8
+
+Unknown_3EC6FC: @ 83EC6FC
+ .incbin "baserom.gba", 0x3ec6fc, 0xc
+
+Unknown_3EC708: @ 83EC708
+ .incbin "baserom.gba", 0x3ec708, 0x20
+
+Unknown_3EC728: @ 83EC728
+ .incbin "baserom.gba", 0x3ec728, 0x10
+
+Unknown_3EC738: @ 83EC738
+ .incbin "baserom.gba", 0x3ec738, 0x8
+
+Unknown_3EC740: @ 83EC740
+ .incbin "baserom.gba", 0x3ec740, 0xc
+
+Unknown_3EC74C: @ 83EC74C
+ .incbin "baserom.gba", 0x3ec74c, 0x20
+
+Unknown_3EC76C: @ 83EC76C
+ .incbin "baserom.gba", 0x3ec76c, 0x24
+
+Unknown_3EC790: @ 83EC790
+ .incbin "baserom.gba", 0x3ec790, 0x18
+
+Unknown_3EC7A8: @ 83EC7A8
+ .incbin "baserom.gba", 0x3ec7a8, 0x4
+
+Unknown_3EC7AC: @ 83EC7AC
+ .incbin "baserom.gba", 0x3ec7ac, 0x8
+
+Unknown_3EC7B4: @ 83EC7B4
+ .incbin "baserom.gba", 0x3ec7b4, 0xc
+
+Unknown_3EC7C0: @ 83EC7C0
+ .incbin "baserom.gba", 0x3ec7c0, 0x20
+
+Unknown_3EC7E0: @ 83EC7E0
+ .incbin "baserom.gba", 0x3ec7e0, 0x10
+
+Unknown_3EC7F0: @ 83EC7F0
+ .incbin "baserom.gba", 0x3ec7f0, 0x8
+
+Unknown_3EC7F8: @ 83EC7F8
+ .incbin "baserom.gba", 0x3ec7f8, 0xc
+
+Unknown_3EC804: @ 83EC804
+ .incbin "baserom.gba", 0x3ec804, 0x20
+
+Unknown_3EC824: @ 83EC824
+ .incbin "baserom.gba", 0x3ec824, 0x24
+
+Unknown_3EC848: @ 83EC848
+ .incbin "baserom.gba", 0x3ec848, 0x18
+
+ .align 2
+gUnknown_083EC860:: @ 83EC860
+ .4byte Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4
+ .4byte Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8
+ .4byte Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc
+ .4byte Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20
+ .4byte Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10
+ .4byte Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8
+ .4byte Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc
+ .4byte Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20
+ .4byte Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24
+ .4byte Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18
+
+gUnknown_083EC900:: @ 83EC900
+ .incbin "baserom.gba", 0x3ec900, 0x28
+
+ .align 2
+gSpriteAnim_83EC928:: @ 83EC928
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83EC930:: @ 83EC930
+ .4byte gSpriteAnim_83EC928
+
+ .align 2
+gSpriteImageTable_83EC934: @ 83EC934
+ obj_frame_tiles 0x02038984, 0x800
+
+ .align 2
+gSpriteTemplate_83EC93C:: @ 83EC93C
+ spr_template 0xFFFF, 3000, 0x20391AC, gSpriteAnimTable_83EC930, gSpriteImageTable_83EC934, gDummySpriteAffineAnimTable, sub_81009A8
+
+ .align 2
+gUnknown_083EC954:: @ 83EC954
+ obj_pal 0x02039184, 3000
+
+ .align 2
+gUnknown_083EC95C:: @ 83EC95C
+ .4byte sub_81000C4
+ .4byte sub_810065C
+
+ .align 2
+gUnknown_083EC964:: @ 83EC964
+ .4byte sub_810026C
+ .4byte sub_810065C
+
+ .align 2
+gUnknown_083EC96C:: @ 83EC96C
+ .4byte sub_80FFAB0
+ .4byte sub_80FFB08
+ .4byte sub_8100F88
+ .4byte sub_8100FB4
+
+gUnknown_083EC97C:: @ 83EC97C
+ .incbin "baserom.gba", 0x003ec97c, 0x8
+
+gUnknown_083EC984:: @ 83EC984
+ .incbin "baserom.gba", 0x003ec984, 0x8
+
+ .align 2
+gUnknown_083EC98C::
+ .incbin "baserom.gba", 0x003ec98c, 0x20
+
+ .align 2
+Unknown_3EC9AC: @ 83EC9AC
+ .incbin "baserom.gba", 0x3ec9ac, 0x20
+
+ .align 2
+gUnknown_083EC9CC:: @ 83EC9CC
+ .4byte sub_810153C
+ .4byte sub_8100EEC
+
+ .align 2
+gUnknown_083EC9D4:: @ 83EC9D4
+ .4byte sub_8101590
+ .4byte sub_8100EEC
+
+ .align 2
+gSpriteImage_83EC9DC:: @ 83EC9DC
+ .incbin "graphics/unknown_sprites/83EC9DC.4bpp"
+
+ .align 2
+gUnknown_083ECA5C:: @ 83ECA5C
+ obj_pal gUnknown_083EC98C, 0x0008
+
+ .align 2
+gUnknown_083ECA64:: @ 83ECA64
+ obj_pal Unknown_3EC9AC, 0x0008
+
+ .align 2
+gOamData_83ECA6C:: @ 83ECA6C
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83ECA74:: @ 83ECA74
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83ECA7C:: @ 83ECA7C
+ .4byte gSpriteAnim_83ECA74
+
+ .align 2
+gSpriteImageTable_83ECA80:: @ 83ECA80
+ obj_frame_tiles gSpriteImage_83EC9DC, 0x80
+
+ .align 2
+gSpriteTemplate_83ECA88:: @ 83ECA88
+ spr_template 0xFFFF, 8, gOamData_83ECA6C, gSpriteAnimTable_83ECA7C, gSpriteImageTable_83ECA80, gDummySpriteAffineAnimTable, sub_8101698
+
+ .align 2
+gUnknown_083ECAA0:: @ 83ECAA0
+ .4byte sub_8101848
+ .4byte sub_80FED3C
+
+ .incbin "baserom.gba", 0x003ecaa8, 0x4
+
+ .align 2
+gUnknown_083ECAAC:: @ 83ECAAC
+ .4byte sub_8101D5C
+ .4byte sub_8101D8C
+ .4byte sub_8101DB0
+ .4byte sub_8101DF4
+ .4byte sub_8101E10
+ .4byte sub_8101E3C
+ .4byte sub_8101F44
+ .4byte sub_8101F60
+ .4byte sub_8101F88
+ .4byte sub_8101FA4
+ .4byte sub_8102008
+ .4byte sub_8102034
+ .4byte sub_8102058
+ .4byte sub_8102090
+ .4byte sub_81020C8
+ .4byte sub_81021E0
+ .4byte sub_81021FC
+ .4byte sub_8102264
+ .4byte sub_81022A0
+ .4byte sub_81022CC
+ .4byte sub_81022F0
+ .4byte sub_8102318
+ .4byte sub_8102344
+ .4byte sub_810239C
+ .4byte sub_81023B8
+ .4byte sub_81023E0
+ .4byte sub_81023FC
+ .4byte sub_8102424
+ .4byte sub_8102460
+
+ .align 2
+gUnknown_083ECB20:: @ 83ECB20
+ .4byte sub_8102A9C
+ .4byte sub_8102AD0
+ .4byte sub_8102B80
+
+ .align 2
+gUnknown_083ECB2C:: @ 83ECB2C
+ .4byte sub_8102EA0
+ .4byte sub_8102EA4
+ .4byte sub_8102EC0
+ .4byte sub_8102F4C
+ .4byte sub_8103008
+
+ .align 2
+gUnknown_083ECB40:: @ 83ECB40
+ .4byte sub_810305C
+ .4byte sub_81032C0
+ .4byte sub_81033DC
+
+ .align 2
+gUnknown_083ECB4C:: @ 83ECB4C
+ .4byte sub_81034F4
+ .4byte sub_8103540
+ .4byte sub_810380C
+
+gUnknown_083ECB58:: @ 83ECB58
+ .incbin "baserom.gba", 0x003ecb58, 0xc
+
+ .align 2
+gUnknown_083ECB64:: @ 83ECB64
+ .4byte sub_8103154
+ .4byte sub_81031B4
+ .4byte sub_81031B4
+
+ .align 2
+gUnknown_083ECB70:: @ 83ECB70
+ .4byte sub_81032E8
+ .4byte sub_81032E8
+ .4byte sub_810333C
+
+ .align 2
+gUnknown_083ECB7C:: @ 83ECB7C
+ .4byte sub_810341C
+ .4byte sub_810341C
+ .4byte sub_810347C
+
+ .align 2
+gUnknown_083ECB88:: @ 83ECB88
+ .4byte sub_8103564
+ .4byte j5_08111E84
+ .4byte sub_8103668
+
+ .align 2
+gUnknown_083ECB94:: @ 83ECB94
+ .4byte sub_8103830
+ .4byte sub_8103910
+ .4byte sub_8103A78
+
+ .align 2
+gUnknown_083ECBA0:: @ 83ECBA0
+ .4byte sub_8103C78
+ .4byte sub_8103CAC
+ .4byte sub_8103CC8
+
+gUnknown_083ECBAC:: @ 83ECBAC
+ .incbin "baserom.gba", 0x003ecbac, 0x8
+
+ .align 2
+gUnknown_083ECBB4:: @ 83ECBB4
+ .4byte nullsub_68
+ .4byte sub_810411C
+ .4byte sub_8104144
+ .4byte sub_81041AC
+
+ .align 1
+gUnknown_083ECBC4:: @ 83ECBC4
+ .2byte 0x9E, 0x6E, 0x9F, 0x6F, 0xAF, 0x7F
+
+ .align 2
+gUnknown_083ECBD0:: @ 83ECBD0
+ .4byte sub_810437C
+ .4byte sub_81043EC
+ .4byte sub_8104468
+ .4byte sub_8104498
+ .4byte sub_8104548
+ .4byte sub_8104598
+ .4byte sub_81045CC
+ .4byte sub_810463C
+ .4byte sub_81046C0
+ .4byte sub_8104764
+ .4byte sub_8104794
+ .4byte sub_81047EC
+ .4byte sub_8104860
+ .4byte sub_81048A8
+ .4byte sub_81048CC
+ .4byte sub_8104940
+ .4byte sub_81049C8
+ .4byte sub_8104794
+ .4byte sub_81049F8
+
+ .align 2
+gUnknown_083ECC1C:: @ 83ECC1C
+ .4byte 0x02020101
+
+gUnknown_083ECC20:: @ 83ECC20
+ .incbin "baserom.gba", 0x003ecc20, 0x8
+
+gUnknown_083ECC28:: @ 83ECC28
+ .incbin "baserom.gba", 0x003ecc28, 0x8
+
+ .align 2
+gUnknown_083ECC30:: @ 83ECC30
+ .4byte sub_8104B3C
+ .4byte sub_8104B60
+ .4byte sub_8104B80
+ .4byte sub_8104B60
+ .4byte sub_8104BC8
+ .4byte sub_8104B60
+ .4byte sub_8104BFC
+ .4byte sub_8104B60
+ .4byte sub_8104C44
+
+gUnknown_083ECC54:: @ 83ECC54
+ .4byte nullsub_69
+
+gUnknown_083ECC58:: @ 83ECC58
+ .byte 16, 0
+
+ .align 1
+gUnknown_083ECC5A:: @ 83ECC5A
+ .2byte 0x0, 0x40, 0x80, 0xC0
+
+gUnknown_083ECC62:: @ 83ECC62
+ .incbin "baserom.gba", 0x003ecc62, 0x8
+
+gUnknown_083ECC6A:: @ 83ECC6A
+ .incbin "baserom.gba", 0x003ecc6a, 0x8
+
+gUnknown_083ECC72:: @ 83ECC72
+ .incbin "baserom.gba", 0x003ecc72, 0x10
+
+gUnknown_083ECC82:: @ 83ECC82
+ .incbin "baserom.gba", 0x003ecc82, 0x10
+
+gUnknown_083ECC92:: @ 83ECC92
+ .incbin "baserom.gba", 0x003ecc92, 0x10
+
+gUnknown_083ECCA2:: @ 83ECCA2
+ .incbin "baserom.gba", 0x003ecca2, 0x10
+
+gUnknown_083ECCB2:: @ 83ECCB2
+ .incbin "baserom.gba", 0x003eccb2, 0x3f
+
+gUnknown_083ECCF1:: @ 83ECCF1
+ .incbin "baserom.gba", 0x003eccf1, 0x7
+
+gUnknown_083ECCF8:: @ 83ECCF8
+ .incbin "baserom.gba", 0x003eccf8, 0xc
+
+gUnknown_083ECD04:: @ 83ECD04
+ .incbin "baserom.gba", 0x003ecd04, 0x12
+
+gUnknown_083ECD16:: @ 83ECD16
+ .incbin "baserom.gba", 0x003ecd16, 0x12
+
+gUnknown_083ECD28:: @ 83ECD28
+ .incbin "baserom.gba", 0x003ecd28, 0x1e
+
+gUnknown_083ECD46:: @ 83ECD46
+ .incbin "baserom.gba", 0x003ecd46, 0x66
+
+gUnknown_083ECDAC:: @ 83ECDAC
+ .incbin "baserom.gba", 0x003ecdac, 0x66
+
+gUnknown_083ECE12:: @ 83ECE12
+ .incbin "baserom.gba", 0x003ece12, 0xa
+
+gUnknown_083ECE1C:: @ 83ECE1C
+ .incbin "baserom.gba", 0x003ece1c, 0x14
+
+gUnknown_083ECE30:: @ 83ECE30
+ .incbin "baserom.gba", 0x003ece30, 0xa
+
+gUnknown_083ECE3A:: @ 83ECE3A
+ .incbin "baserom.gba", 0x003ece3a, 0x8
+
+gUnknown_083ECE42:: @ 83ECE42
+ .incbin "baserom.gba", 0x003ece42, 0x6
+
+gUnknown_083ECE48:: @ 83ECE48
+ .incbin "baserom.gba", 0x003ece48, 0xa
+
+gUnknown_083ECE52:: @ 83ECE52
+ .incbin "baserom.gba", 0x003ece52, 0x8
+
+gUnknown_083ECE5A:: @ 83ECE5A
+ .incbin "baserom.gba", 0x003ece5a, 0x12
+
+gUnknown_083ECE6C:: @ 83ECE6C
+ .incbin "baserom.gba", 0x003ece6c, 0x12
+
+gUnknown_083ECE7E:: @ 83ECE7E
+ .incbin "baserom.gba", 0x003ece7e, 0x8e
+
+ .align 2
+gUnknown_083ECF0C:: @ 83ECF0C
+ .4byte sub_8105C64
+ .4byte sub_8105F54
+ .4byte sub_8105F54
+ .4byte sub_8105F54
+ .4byte sub_8105F54
+ .4byte sub_8105F9C
+ .4byte sub_8105EB4
+ .4byte sub_8105C64
+ .4byte sub_8105C64
+ .4byte sub_8105C6C
+ .4byte sub_8105CF0
+ .4byte sub_8105D08
+ .4byte sub_8105D20
+ .4byte sub_8105D3C
+ .4byte sub_8105DA4
+ .4byte sub_8105E08
+ .4byte sub_8105C64
+ .4byte sub_8106058
+ .4byte sub_81060FC
+ .4byte sub_81060FC
+ .4byte sub_81060FC
+ .4byte sub_81060FC
+ .4byte sub_81060FC
+ .4byte sub_81060FC
+ .4byte sub_81060FC
+ .4byte sub_81060FC
+ .4byte sub_81061C8
+ .4byte sub_81061C8
+ .4byte sub_81061C8
+ .4byte sub_81061C8
+ .4byte sub_81061C8
+ .4byte sub_81061C8
+ .4byte sub_81061C8
+ .4byte sub_81061C8
+ .4byte sub_8106230
+
+Unknown_83ECF98:
+ .incbin "baserom.gba", 0x003ECF98, 0x10
+Unknown_83ECFA8:
+ .incbin "baserom.gba", 0x003ECFA8, 0x1C
+Unknown_83ECFC4:
+ .incbin "baserom.gba", 0x003ECFC4, 0xC
+Unknown_83ECFD0:
+ .incbin "baserom.gba", 0x003ECFD0, 0x18
+Unknown_83ECFE8:
+ .incbin "baserom.gba", 0x003ECFE8, 0x10
+Unknown_83ECFF8:
+ .incbin "baserom.gba", 0x003ECFF8, 0x28
+Unknown_83ED020:
+ .incbin "baserom.gba", 0x003ED020, 0x28
+
+ .align 2
+gUnknown_083ED048:: @ 83ED048
+ .4byte Unknown_83ECF98
+ .4byte Unknown_83ECFA8
+ .4byte Unknown_83ECFC4
+ .4byte Unknown_83ECFD0
+ .4byte Unknown_83ECFE8
+ .4byte Unknown_83ED020
+ .4byte Unknown_83ECFF8
+
+ .align 2
+gUnknown_083ED064:: @ 83ED064
+ .4byte sub_810639C
+ .4byte sub_8106364
+ .4byte sub_8106370
+ .4byte nullsub_70
+ .4byte nullsub_70
+ .4byte sub_8106370
+ .4byte sub_8106370
+
+ .align 2
+gOamData_83ED080:: @ 83ED080
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83ED088:: @ 83ED088
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83ED090:: @ 83ED090
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83ED098:: @ 83ED098
+ .2byte 0x8000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83ED0A0:: @ 83ED0A0
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83ED0A8:: @ 83ED0A8
+ .2byte 0x8000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83ED0B0:: @ 83ED0B0
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_83ED0B8:: @ 83ED0B8
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteImageTable_83ED0C0:: @ 83ED0C0
+ obj_frame_tiles 0x02013200, 0x800
+ obj_frame_tiles 0x02013A00, 0x800
+ obj_frame_tiles 0x02014200, 0x800
+ obj_frame_tiles 0x02014A00, 0x800
+ obj_frame_tiles 0x02015200, 0x800
+
+ .align 2
+gSpriteImageTable_83ED0E8:: @ 83ED0E8
+ obj_frame_tiles 0x02015A00, 0x300
+
+ .align 2
+gSpriteImageTable_83ED0F0:: @ 83ED0F0
+ obj_frame_tiles 0x02015D00, 0x500
+
+ .align 2
+gSpriteImageTable_83ED0F8:: @ 83ED0F8
+ obj_frame_tiles 0x02016200, 0x600
+
+ .align 2
+gSpriteImageTable_83ED100:: @ 83ED100
+ obj_frame_tiles gSpriteImage_8E988E8, 0x80
+ obj_frame_tiles gSpriteImage_8E98968, 0x80
+ obj_frame_tiles gSpriteImage_8E989E8, 0x80
+ obj_frame_tiles gSpriteImage_8E98A68, 0x80
+ obj_frame_tiles gSpriteImage_8E98AE8, 0x80
+ obj_frame_tiles gSpriteImage_8E98B68, 0x80
+
+ .align 2
+gSpriteImageTable_83ED130:: @ 83ED130
+ obj_frame_tiles gSpriteImage_8E991E8, 0x200
+
+ .align 2
+gSpriteImageTable_83ED138:: @ 83ED138
+ obj_frame_tiles gSpriteImage_8E99808, 0x40
+
+ .align 2
+gSpriteImageTable_83ED140:: @ 83ED140
+ obj_frame_tiles gSpriteImage_8E98BE8, 0x100
+ obj_frame_tiles gSpriteImage_8E98CE8, 0x100
+
+ .align 2
+gSpriteImageTable_83ED150:: @ 83ED150
+ obj_frame_tiles gSpriteImage_8E993E8, 0x400
+
+ .align 2
+gSpriteImageTable_83ED158:: @ 83ED158
+ obj_frame_tiles gSpriteImage_8E98DE8, 0x200
+ obj_frame_tiles gSpriteImage_8E98FE8, 0x200
+
+ .align 2
+gSpriteImageTable_83ED168:: @ 83ED168
+ obj_frame_tiles gSpriteImage_8E98848, 0x20
+
+ .align 2
+gSpriteImageTable_83ED170:: @ 83ED170
+ obj_frame_tiles gSpriteImage_8E98868, 0x80
+
+ .align 2
+gSpriteImageTable_83ED178:: @ 83ED178
+ obj_frame_tiles 0x02010000, 0x600
+
+ .align 2
+gSpriteImageTable_83ED180:: @ 83ED180
+ obj_frame_tiles 0x02010600, 0x200
+
+ .align 2
+gSpriteImageTable_83ED188:: @ 83ED188
+ obj_frame_tiles 0x02010800, 0x200
+
+ .align 2
+gSpriteImageTable_83ED190:: @ 83ED190
+ obj_frame_tiles 0x02010A00, 0x200
+
+ .align 2
+gSpriteImageTable_83ED198:: @ 83ED198
+ obj_frame_tiles 0x02010C00, 0x300
+
+ .align 2
+gSpriteImageTable_83ED1A0:: @ 83ED1A0
+ obj_frame_tiles 0x02011000, 0x400
+
+ .align 2
+gSpriteImageTable_83ED1A8:: @ 83ED1A8
+ obj_frame_tiles 0x02011400, 0x200
+
+ .align 2
+gSpriteImageTable_83ED1B0:: @ 83ED1B0
+ obj_frame_tiles 0x02011600, 0x300
+
+ .align 2
+gSpriteImageTable_83ED1B8:: @ 83ED1B8
+ obj_frame_tiles 0x02011900, 0x300
+
+ .align 2
+gSpriteImageTable_83ED1C0:: @ 83ED1C0
+ obj_frame_tiles 0x02011C00, 0x200
+ obj_frame_tiles 0x02011E00, 0x200
+ obj_frame_tiles 0x02011E00, 0x200
+
+ .align 2
+gSpriteImageTable_83ED1D8:: @ 83ED1D8
+ obj_frame_tiles 0x02012000, 0x280
+
+ .align 2
+gSpriteImageTable_83ED1E0:: @ 83ED1E0
+ obj_frame_tiles 0x02012280, 0x80
+ obj_frame_tiles 0x02012300, 0x80
+ obj_frame_tiles 0x02012380, 0x80
+ obj_frame_tiles 0x02012400, 0x80
+ obj_frame_tiles 0x02012480, 0x80
+
+ .align 2
+gSpriteImageTable_83ED208:: @ 83ED208
+ obj_frame_tiles 0x02012600, 0x480
+ obj_frame_tiles 0x02012A80, 0x480
+
+ .align 2
+gSpriteImageTable_83ED218:: @ 83ED218
+ obj_frame_tiles 0x02012F00, 0x180
+ obj_frame_tiles 0x02013080, 0x180
+
+ .align 2
+gSpriteImageTable_83ED228:: @ 83ED228
+ obj_frame_tiles gSpriteImage_8E98828, 0x20
+
+ .align 2
+gSpriteAnim_83ED230:: @ 83ED230
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED238:: @ 83ED238
+ obj_image_anim_frame 0, 1
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED240:: @ 83ED240
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED248:: @ 83ED248
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED254:: @ 83ED254
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED260:: @ 83ED260
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED26C:: @ 83ED26C
+ obj_image_anim_frame 2, 32
+ obj_image_anim_frame 3, 32
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED278:: @ 83ED278
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED280:: @ 83ED280
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED288:: @ 83ED288
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED290:: @ 83ED290
+ obj_image_anim_frame 2, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED298:: @ 83ED298
+ obj_image_anim_frame 3, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED2A0:: @ 83ED2A0
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED2A8:: @ 83ED2A8
+ obj_image_anim_frame 5, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED2B0:: @ 83ED2B0
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED2BC:: @ 83ED2BC
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED2C8:: @ 83ED2C8
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED2D4:: @ 83ED2D4
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED2DC:: @ 83ED2DC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED2E8:: @ 83ED2E8
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83ED2FC:: @ 83ED2FC
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED304:: @ 83ED304
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED30C:: @ 83ED30C
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED314:: @ 83ED314
+ obj_image_anim_frame 2, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED31C:: @ 83ED31C
+ obj_image_anim_frame 3, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83ED324:: @ 83ED324
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83ED32C:: @ 83ED32C
+ .4byte gSpriteAnim_83ED230
+
+ .align 2
+gSpriteAnimTable_83ED330:: @ 83ED330
+ .4byte gSpriteAnim_83ED238
+
+ .align 2
+gSpriteAnimTable_83ED334:: @ 83ED334
+ .4byte gSpriteAnim_83ED240
+ .4byte gSpriteAnim_83ED248
+ .4byte gSpriteAnim_83ED254
+ .4byte gSpriteAnim_83ED260
+ .4byte gSpriteAnim_83ED26C
+ .4byte gSpriteAnim_83ED278
+
+ .align 2
+gSpriteAnimTable_83ED34C:: @ 83ED34C
+ .4byte gSpriteAnim_83ED280
+ .4byte gSpriteAnim_83ED288
+ .4byte gSpriteAnim_83ED290
+ .4byte gSpriteAnim_83ED298
+ .4byte gSpriteAnim_83ED2A0
+ .4byte gSpriteAnim_83ED2A8
+
+ .align 2
+gSpriteAnimTable_83ED364:: @ 83ED364
+ .4byte gSpriteAnim_83ED2B0
+
+ .align 2
+gSpriteAnimTable_83ED368:: @ 83ED368
+ .4byte gSpriteAnim_83ED2BC
+
+ .align 2
+gSpriteAnimTable_83ED36C:: @ 83ED36C
+ .4byte gSpriteAnim_83ED2C8
+ .4byte gSpriteAnim_83ED2D4
+
+ .align 2
+gSpriteAnimTable_83ED374:: @ 83ED374
+ .4byte gSpriteAnim_83ED2DC
+
+ .align 2
+gSpriteAnimTable_83ED378:: @ 83ED378
+ .4byte gSpriteAnim_83ED2E8
+ .4byte gSpriteAnim_83ED2FC
+
+ .align 2
+gSpriteAnimTable_83ED380:: @ 83ED380
+ .4byte gSpriteAnim_83ED304
+ .4byte gSpriteAnim_83ED30C
+ .4byte gSpriteAnim_83ED314
+ .4byte gSpriteAnim_83ED31C
+ .4byte gSpriteAnim_83ED324
+
+ .align 2
+gSpriteAffineAnim_83ED394:: @ 83ED394
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_loop 0
+ obj_rot_scal_anim_frame 0x1, 0x1, 0, 1
+ obj_rot_scal_anim_loop 255
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83ED3BC:: @ 83ED3BC
+ .4byte gSpriteAffineAnim_83ED394
+
+ .align 2
+gSpriteAffineAnim_83ED3C0:: @ 83ED3C0
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 32
+ obj_rot_scal_anim_frame 0x0, 0x0, 6, 32
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
+ obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
+ obj_rot_scal_anim_frame 0x0, 0x0, -12, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
+ obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
+ obj_rot_scal_anim_frame 0x0, 0x0, -12, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, 12, 2
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83ED410:: @ 83ED410
+ .4byte gSpriteAffineAnim_83ED3C0
+
+ .align 2
+gSpriteTemplate_83ED414:: @ 83ED414
+ spr_template 0, 0, gOamData_83ED0A0, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_8104F18
+
+ .align 2
+gSpriteTemplate_83ED42C:: @ 83ED42C
+ spr_template 7, 4, gOamData_83ED088, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_810506C
+
+ .align 2
+gSpriteTemplate_83ED444:: @ 83ED444
+ spr_template 17, 0, gOamData_83ED0B8, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED45C:: @ 83ED45C
+ spr_template 0xFFFF, 1, gOamData_83ED0B8, gSpriteAnimTable_83ED334, gSpriteImageTable_83ED0C0, gDummySpriteAffineAnimTable, sub_8105170
+
+ .align 2
+gSpriteTemplate_83ED474:: @ 83ED474
+ spr_template 0xFFFF, 2, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0E8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED48C:: @ 83ED48C
+ spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED4A4:: @ 83ED4A4
+ spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED4BC:: @ 83ED4BC
+ spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED34C, gSpriteImageTable_83ED100, gDummySpriteAffineAnimTable, sub_810535C
+
+ .align 2
+gSpriteTemplate_83ED4D4:: @ 83ED4D4
+ spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED130, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED4EC:: @ 83ED4EC
+ spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED138, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED504:: @ 83ED504
+ spr_template 0xFFFF, 4, gOamData_83ED098, gSpriteAnimTable_83ED364, gSpriteImageTable_83ED140, gDummySpriteAffineAnimTable, sub_810562C
+
+ .align 2
+gSpriteTemplate_83ED51C:: @ 83ED51C
+ spr_template 0xFFFF, 7, gOamData_83ED0A8, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED150, gDummySpriteAffineAnimTable, sub_8105784
+
+ .align 2
+gSpriteTemplate_83ED534:: @ 83ED534
+ spr_template 0xFFFF, 5, gOamData_83ED0A0, gSpriteAnimTable_83ED368, gSpriteImageTable_83ED158, gDummySpriteAffineAnimTable, sub_8105894
+
+ .align 2
+gSpriteTemplate_83ED54C:: @ 83ED54C
+ spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED330, gSpriteImageTable_83ED168, gDummySpriteAffineAnimTable, sub_810594C
+
+ .align 2
+gSpriteTemplate_83ED564:: @ 83ED564
+ spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED170, gSpriteAffineAnimTable_83ED3BC, sub_8105A38
+
+ .align 2
+gSpriteTemplate_83ED57C:: @ 83ED57C
+ spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED178, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED594:: @ 83ED594
+ spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED180, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED5AC:: @ 83ED5AC
+ spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED188, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED5C4:: @ 83ED5C4
+ spr_template 18, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED190, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED5DC:: @ 83ED5DC
+ spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED198, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED5F4:: @ 83ED5F4
+ spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED60C:: @ 83ED60C
+ spr_template 19, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED624:: @ 83ED624
+ spr_template 20, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED63C:: @ 83ED63C
+ spr_template 21, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED654:: @ 83ED654
+ spr_template 0xFFFF, 6, gOamData_83ED0A0, gSpriteAnimTable_83ED36C, gSpriteImageTable_83ED1C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED66C:: @ 83ED66C
+ spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1D8, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED684:: @ 83ED684
+ spr_template 0xFFFF, 6, gOamData_83ED090, gSpriteAnimTable_83ED380, gSpriteImageTable_83ED1E0, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED69C:: @ 83ED69C
+ spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED378, gSpriteImageTable_83ED208, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED6B4:: @ 83ED6B4
+ spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED374, gSpriteImageTable_83ED218, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83ED6CC:: @ 83ED6CC
+ spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70
+
+ .align 2
+Unknown_083ED6E4:
+ .incbin "baserom.gba", 0x003ed6e4, 0x20
+
+gUnknown_083ED704:: @ 83ED704
+ .4byte 4, Unknown_083ED6E4
+Unknown_083ED70C:
+ .incbin "baserom.gba", 0x003ed70c, 0x30
+
+gUnknown_083ED73C:: @ 83ED73C
+ .4byte 6, Unknown_083ED70C
+Unknown_083ED744:
+ .incbin "baserom.gba", 0x003ed744, 0x18
+
+gUnknown_083ED75C:: @ 83ED75C
+ .4byte 3, Unknown_083ED744
+Unknown_083ED764:
+ .incbin "baserom.gba", 0x003ed764, 0x28
+
+gUnknown_083ED78C:: @ 83ED78C
+ .4byte 5, Unknown_083ED764
+Unknown_083ED794:
+ .incbin "baserom.gba", 0x003ed794, 0x20
+
+gUnknown_083ED7B4:: @ 83ED7B4
+ .4byte 4, Unknown_083ED794
+Unknown_083ED7BC:
+ .incbin "baserom.gba", 0x003ed7bc, 0x18
+
+gUnknown_083ED7D4:: @ 83ED7D4
+ .4byte 3, Unknown_083ED7BC
+Unknown_083ED7DC:
+ .incbin "baserom.gba", 0x003ed7dc, 0x28
+Unknown_083ED804:
+ .4byte 5, Unknown_083ED7DC
+Unknown_083ED80C:
+ .incbin "baserom.gba", 0x003ed80c, 0x20
+Unknown_083ED82C:
+ .4byte 4, Unknown_083ED80C
+Unknown_083ED834:
+ .incbin "baserom.gba", 0x003ed834, 0x20
+Unknown_083ED854:
+ .4byte 4, Unknown_083ED834
+Unknown_083ED85C:
+ .incbin "baserom.gba", 0x003ed85c, 0x20
+Unknown_083ED87C:
+ .4byte 4, Unknown_083ED85C
+Unknown_083ED884:
+ .incbin "baserom.gba", 0x003ed884, 0x30
+Unknown_083ED8B4:
+ .4byte 6, Unknown_083ED884
+Unknown_083ED8BC:
+ .incbin "baserom.gba", 0x003ed8bc, 0x8
+Unknown_083ED8C4:
+ .incbin "baserom.gba", 0x003ed8c4, 0x8
+Unknown_083ED8CC:
+ .4byte 1, Unknown_083ED8BC
+ .4byte 1, Unknown_083ED8C4
+Unknown_083ED8DC:
+ .incbin "baserom.gba", 0x003ed8dc, 0x60
+Unknown_083ED93C:
+ .4byte 12, Unknown_083ED8DC
+Unknown_083ED944:
+ .incbin "baserom.gba", 0x003ed944, 0x18
+Unknown_083ED95C:
+ .4byte 3, Unknown_083ED944
+Unknown_083ED964:
+ .incbin "baserom.gba", 0x003ed964, 0x10
+Unknown_083ED974:
+ .4byte 2, Unknown_083ED964
+Unknown_083ED97C:
+ .incbin "baserom.gba", 0x003ed97c, 0x10
+Unknown_083ED98C:
+ .4byte 2, Unknown_083ED97C
+Unknown_083ED994:
+ .incbin "baserom.gba", 0x003ed994, 0x10
+Unknown_083ED9A4:
+ .4byte 2, Unknown_083ED994
+Unknown_083ED9AC:
+ .incbin "baserom.gba", 0x003ed9ac, 0x10
+Unknown_083ED9BC:
+ .4byte 2, Unknown_083ED9AC
+Unknown_083ED9C4:
+ .incbin "baserom.gba", 0x003ed9c4, 0x10
+Unknown_083ED9D4:
+ .4byte 2, Unknown_083ED9C4
+Unknown_083ED9DC:
+ .incbin "baserom.gba", 0x003ed9dc, 0x10
+Unknown_083ED9EC:
+ .4byte 2, Unknown_083ED9DC
+Unknown_083ED9F4:
+ .incbin "baserom.gba", 0x003ed9f4, 0x10
+Unknown_083EDA04:
+ .4byte 2, Unknown_083ED9F4
+Unknown_083EDA0C:
+ .incbin "baserom.gba", 0x003eda0C, 0x10
+Unknown_083EDA1C:
+ .4byte 2, Unknown_083EDA0C
+Unknown_083EDA24:
+ .incbin "baserom.gba", 0x003eda24, 0x10
+Unknown_083EDA34:
+ .4byte 2, Unknown_083EDA24
+Unknown_083EDA3C:
+ .incbin "baserom.gba", 0x003eda3c, 0x30
+Unknown_083EDA6C:
+ .4byte 6, Unknown_083EDA3C
+Unknown_083EDA74:
+ .incbin "baserom.gba", 0x003eda74, 0x18
+Unknown_083EDA8C:
+ .4byte 3, Unknown_083EDA74
+Unknown_083EDA94:
+ .incbin "baserom.gba", 0x003eda94, 0x30
+Unknown_083EDAC4:
+ .4byte 6, Unknown_083EDA94
+Unknown_083EDACC:
+ .incbin "baserom.gba", 0x003edacc, 0x30
+Unknown_083EDAFC:
+ .4byte 6, Unknown_083EDACC
+Unknown_083EDB04:
+ .incbin "baserom.gba", 0x003edb04, 0x18
+Unknown_083EDB1C:
+ .4byte 3, Unknown_083EDB04
+Unknown_083EDB24:
+ .incbin "baserom.gba", 0x003edb24, 0x30
+Unknown_083EDB54:
+ .4byte 6, Unknown_083EDB24
+
+ .align 2
+gUnknown_083EDB5C:: @ 83EDB5C
+ .4byte gSpriteTemplate_83ED57C
+ .4byte gSpriteTemplate_83ED594
+ .4byte gSpriteTemplate_83ED5AC
+ .4byte gSpriteTemplate_83ED5DC
+ .4byte gSpriteTemplate_83ED5F4
+ .4byte gSpriteTemplate_83ED654
+ .4byte gSpriteTemplate_83ED66C
+ .4byte gSpriteTemplate_83ED684
+ .4byte gSpriteTemplate_83ED69C
+ .4byte gSpriteTemplate_83ED6B4
+ .4byte gSpriteTemplate_83ED5C4
+ .4byte gSpriteTemplate_83ED5C4
+ .4byte gSpriteTemplate_83ED5C4
+ .4byte gSpriteTemplate_83ED5C4
+ .4byte gSpriteTemplate_83ED60C
+ .4byte gSpriteTemplate_83ED60C
+ .4byte gSpriteTemplate_83ED60C
+ .4byte gSpriteTemplate_83ED60C
+ .4byte gSpriteTemplate_83ED60C
+ .4byte gSpriteTemplate_83ED624
+ .4byte gSpriteTemplate_83ED624
+ .4byte gSpriteTemplate_83ED624
+ .4byte gSpriteTemplate_83ED63C
+ .4byte gSpriteTemplate_83ED63C
+ .4byte gSpriteTemplate_83ED63C
+ .4byte gDummySpriteTemplate
+
+ .align 2
+gUnknown_083EDBC4:: @ 83EDBC4
+ .4byte Unknown_083ED804
+ .4byte Unknown_083ED82C
+ .4byte Unknown_083ED854
+ .4byte Unknown_083ED8B4
+ .4byte 0 @ dummied out
+ .4byte 0 @ dummied out
+ .4byte Unknown_083ED8CC
+ .4byte 0 @ dummied out
+ .4byte Unknown_083ED93C
+ .4byte Unknown_083ED95C
+ .4byte Unknown_083ED974
+ .4byte Unknown_083ED98C
+ .4byte Unknown_083ED9A4
+ .4byte Unknown_083ED9BC
+ .4byte Unknown_083ED9D4
+ .4byte Unknown_083ED9EC
+ .4byte Unknown_083EDA04
+ .4byte Unknown_083EDA1C
+ .4byte Unknown_083EDA34
+ .4byte Unknown_083EDA6C
+ .4byte Unknown_083EDA8C
+ .4byte Unknown_083EDAC4
+ .4byte Unknown_083EDAFC
+ .4byte Unknown_083EDB1C
+ .4byte Unknown_083EDB54
+ .4byte 0 @ dummied out
+
+ .align 2
+gUnknown_083EDC2C:: @ 83EDC2C
+ obj_tiles gSlotMachineReelSymbol1Tiles, 0x200, 0
+ obj_tiles gSlotMachineReelSymbol2Tiles, 0x200, 1
+ obj_tiles gSlotMachineReelSymbol3Tiles, 0x200, 2
+ obj_tiles gSlotMachineReelSymbol4Tiles, 0x200, 3
+ obj_tiles gSlotMachineReelSymbol5Tiles, 0x200, 4
+ obj_tiles gSlotMachineReelSymbol6Tiles, 0x200, 5
+ obj_tiles gSlotMachineReelSymbol7Tiles, 0x200, 6
+ obj_tiles gSlotMachineNumber0Tiles, 0x40, 7
+ obj_tiles gSlotMachineNumber1Tiles, 0x40, 8
+ obj_tiles gSlotMachineNumber2Tiles, 0x40, 9
+ obj_tiles gSlotMachineNumber3Tiles, 0x40, 10
+ obj_tiles gSlotMachineNumber4Tiles, 0x40, 11
+ obj_tiles gSlotMachineNumber5Tiles, 0x40, 12
+ obj_tiles gSlotMachineNumber6Tiles, 0x40, 13
+ obj_tiles gSlotMachineNumber7Tiles, 0x40, 14
+ obj_tiles gSlotMachineNumber8Tiles, 0x40, 15
+ obj_tiles gSlotMachineNumber9Tiles, 0x40, 16
+ obj_tiles 0x2010a00, 0x200, 18
+ obj_tiles 0x2011400, 0x200, 19
+ obj_tiles 0x2011600, 0x300, 20
+ obj_tiles 0x2011900, 0x300, 21
+ null_obj_tiles
+
+ .align 2
+gUnknown_083EDCDC:: @ 83EDCDC
+ obj_tiles 0x02010000, 2048, 0x0011
+
+ .align 2
+gUnknown_083EDCE4:: @ 83EDCE4
+ .4byte gUnknownPalette_08E997E8
+
+UnknownPalette_83EDCE8:
+ .ifdef SAPPHIRE
+ .incbin "graphics/unknown/sapphire_83EDD40.gbapal"
+ .else
+ .incbin "graphics/unknown/ruby_83EDCE8.gbapal"
+ .endif
+
+ .align 2
+gUnknown_083EDD08:: @ 83EDD08
+ .4byte UnknownPalette_83EDCE8 + 10 * 2
+ .4byte UnknownPalette_83EDCE8 + 11 * 2
+ .4byte UnknownPalette_83EDCE8 + 12 * 2
+ .4byte UnknownPalette_83EDCE8 + 13 * 2
+ .4byte UnknownPalette_83EDCE8 + 14 * 2
+
+ .align 2
+gUnknown_083EDD1C:: @ 83EDD1C
+ .4byte gUnknown_08E95A18 + 148
+ .4byte gUnknown_08E95A18 + 150
+ .4byte gUnknown_08E95A18 + 152
+ .4byte gUnknown_08E95A18 + 154
+ .4byte gUnknown_08E95A18 + 156
+
+gUnknown_083EDD30:: @ 83EDD30
+ .byte 0x4A, 0x4B, 0x4C, 0x4E, 0x4D
+
+gUnknown_083EDD35:: @ 83EDD35
+ .byte 0, 0, 1, 2, 3, 4
+
+gUnknown_083EDD3B:: @ 83EDD3B
+ .byte 1, 2, 2
+
+ .align 1
+Unknown_83EDD3E:
+ .ifdef SAPPHIRE
+ .incbin "graphics/unknown/sapphire_83EDD96.gbapal"
+ .else
+ .incbin "graphics/unknown/ruby_83EDD3E.gbapal"
+ .endif
+
+ .align 1
+Unknown_83EDD5E:
+ .ifdef SAPPHIRE
+ .incbin "graphics/unknown/sapphire_83EDDB6.gbapal"
+ .else
+ .incbin "graphics/unknown/ruby_83EDD5E.gbapal"
+ .endif
+
+ .align 1
+Unknown_83EDD7E:
+ .ifdef SAPPHIRE
+ .incbin "graphics/unknown/sapphire_83EDDD6.gbapal"
+ .else
+ .incbin "graphics/unknown/ruby_83EDD7E.gbapal"
+ .endif
+
+ .align 2
+gUnknown_083EDDA0:: @ 83EDDA0
+ .4byte Unknown_83EDD3E
+ .4byte Unknown_83EDD5E
+ .4byte Unknown_83EDD7E
+
+ .align 2
+gUnknown_083EDDAC:: @ 83EDDAC
+ .4byte gUnknown_08E95A18 + 32
+
+Unknown_83EDDB0:
+ .incbin "baserom.gba", 0x003eddb0, 0x20
+Unknown_83EDDD0:
+ .incbin "baserom.gba", 0x003eddd0, 0x20
+Unknown_83EDDF0:
+ .incbin "baserom.gba", 0x003eddf0, 0x20
+
+ .align 2
+gUnknown_083EDE10:: @ 83EDE10
+ .4byte Unknown_83EDDB0
+ .4byte Unknown_83EDDD0
+ .4byte Unknown_83EDDF0
+ .4byte gSlotMachineSpritePalette6
+
+ .align 2
+gUnknown_083EDE20:: @ 83EDE20
+ .4byte gSlotMachineSpritePalette6
+
+gUnknown_083EDE24:: @ 83EDE24
+ .incbin "baserom.gba", 0x003ede24, 0x20
+
+ .align 2
+gSlotMachineSpritePalettes:: @ 83EDE44
+ obj_pal gSlotMachineSpritePalette0, 0
+ obj_pal gSlotMachineSpritePalette1, 1
+ obj_pal gSlotMachineSpritePalette2, 2
+ obj_pal gSlotMachineSpritePalette3, 3
+ obj_pal gSlotMachineSpritePalette4, 4
+ obj_pal gSlotMachineSpritePalette5, 5
+ obj_pal gSlotMachineSpritePalette6, 6
+ obj_pal gSlotMachineSpritePalette4, 7
+ null_obj_pal
+
+ .align 2
+gUnknown_083EDE8C:: @ 83EDE8C
+ .incbin "graphics/slot_machine/reel_time.4bpp.lz"
+
+ .align 2
+gReelTimeWindowTilemap:: @ 83EEFE0
+ .incbin "graphics/slot_machine/reel_time_window_map.bin"
+
+ .align 2
+gPictureFramePalettes:: @ 83EF198
+ .incbin "graphics/picture_frame/bg0.gbapal"
+ .incbin "graphics/picture_frame/bg1.gbapal"
+ .incbin "graphics/picture_frame/bg2.gbapal"
+ .incbin "graphics/picture_frame/bg3.gbapal"
+ .incbin "graphics/picture_frame/bg4.gbapal"
+ .incbin "graphics/picture_frame/bg5.gbapal"
+ .space 10 * 32
+
+ .align 2
+gPictureFrameTiles_0:: @ 83EF398
+ .incbin "graphics/picture_frame/frame0.4bpp.rl"
+
+ .align 2
+gPictureFrameTiles_1:: @ 83F041C
+ .incbin "graphics/picture_frame/frame1.4bpp.rl"
+
+ .align 2
+gPictureFrameTiles_2:: @ 83F104C
+ .incbin "graphics/picture_frame/frame2.4bpp.rl"
+
+ .align 2
+gPictureFrameTiles_3:: @ 83F1B84
+ .incbin "graphics/picture_frame/frame3.4bpp.rl"
+
+ .align 2
+gPictureFrameTiles_4:: @ 83F2B3C
+ .incbin "graphics/picture_frame/frame4.4bpp.rl"
+
+ .align 2
+gPictureFrameTiles_5:: @ 83F3C6C
+ .incbin "graphics/picture_frame/frame5.4bpp.rl"
+
+ .align 2
+gPictureFrameTilemap_0:: @ 83F4260
+ .incbin "graphics/picture_frame/frame0_map.bin.rl"
+
+ .align 2
+gPictureFrameTilemap_1:: @ 83F476C
+ .incbin "graphics/picture_frame/frame1_map.bin.rl"
+
+ .align 2
+gPictureFrameTilemap_2:: @ 83F4C78
+ .incbin "graphics/picture_frame/frame2_map.bin.rl"
+
+ .align 2
+gPictureFrameTilemap_3:: @ 83F5184
+ .incbin "graphics/picture_frame/frame3_map.bin.rl"
+
+ .align 2
+gPictureFrameTilemap_4:: @ 83F5690
+ .incbin "graphics/picture_frame/frame4_map.bin.rl"
+
+ .align 2
+gPictureFrameTilemap_5:: @ 83F5B9C
+ .incbin "graphics/picture_frame/frame5_map.bin.rl"
+
+ .align 2
+gUnknown_083F60AC:: @ 83F60AC
+ .4byte OtherText_Cool
+ .4byte OtherText_Beauty2
+ .4byte OtherText_Cute
+ .4byte OtherText_Smart
+ .4byte OtherText_Tough
+
+ .align 2
+gUnknown_083F60C0:: @ 83F60C0
+ .4byte OtherText_NonstopSuperCool
+ .4byte OtherText_Terminator6
+ .4byte OtherText_GoodLookingPoke
+ .4byte OtherText_Terminator7
+ .4byte OtherText_MarvelousGreat
+ .4byte OtherText_Terminator8
+ .4byte OtherText_CenturyLastVenus
+ .4byte OtherText_Terminator9
+ .4byte OtherText_Terminator10
+ .4byte OtherText_DazzlingSlime
+ .4byte OtherText_PokeCenterIdol
+ .4byte OtherText_Terminator11
+ .4byte OtherText_LovelyAndSweet
+ .4byte OtherText_Terminator12
+ .4byte OtherText_ThePretty
+ .4byte OtherText_WinningPortrait
+ .4byte OtherText_GiveUsWink
+ .4byte OtherText_Terminator13
+ .4byte OtherText_SmartnessMaestro
+ .4byte OtherText_Terminator15
+ .4byte OtherText_ChosenPokeAmong
+ .4byte OtherText_Terminator15
+ .4byte OtherText_TheExcellent
+ .4byte OtherText_ItsMomentOfElegance
+ .4byte OtherText_PowerfullyMuscular
+ .4byte OtherText_Terminator16
+ .4byte OtherText_StrongErEst
+ .4byte OtherText_Terminator17
+ .4byte OtherText_MightyTough
+ .4byte OtherText_Exclamation
+
+ .align 2
+gOamData_83F6138:: @ 83F6138
+ .2byte 0x3000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gUnknown_083F6140:: @ 83F6140
+ .space 4
+
+ .align 2
+gBattleAICmdTable:: @ 83F6144
+ .4byte BattleAICmd_if_random
+ .4byte BattleAICmd_if_not_random
+ .4byte BattleAICmd_if_random_1
+ .4byte BattleAICmd_if_not_random_1
+ .4byte BattleAICmd_score
+ .4byte BattleAICmd_if_hp_less_than
+ .4byte BattleAICmd_if_hp_more_than
+ .4byte BattleAICmd_if_hp_equal
+ .4byte BattleAICmd_if_hp_not_equal
+ .4byte BattleAICmd_if_status
+ .4byte BattleAICmd_if_not_status
+ .4byte BattleAICmd_if_status2
+ .4byte BattleAICmd_if_not_status2
+ .4byte BattleAICmd_if_status3
+ .4byte BattleAICmd_if_not_status3
+ .4byte BattleAICmd_if_status4
+ .4byte BattleAICmd_if_not_status4
+ .4byte BattleAICmd_if_less_than
+ .4byte BattleAICmd_if_more_than
+ .4byte BattleAICmd_if_equal
+ .4byte BattleAICmd_if_not_equal
+ .4byte BattleAICmd_if_less_than_32
+ .4byte BattleAICmd_if_more_than_32
+ .4byte BattleAICmd_if_equal_32
+ .4byte BattleAICmd_if_not_equal_32
+ .4byte BattleAICmd_if_move
+ .4byte BattleAICmd_if_not_move
+ .4byte BattleAICmd_if_in_bytes
+ .4byte BattleAICmd_if_not_in_bytes
+ .4byte BattleAICmd_if_in_words
+ .4byte BattleAICmd_if_not_in_words
+ .4byte BattleAICmd_if_user_can_damage
+ .4byte BattleAICmd_if_user_cant_damage
+ .4byte BattleAICmd_unk_21
+ .4byte BattleAICmd_get_type
+ .4byte BattleAICmd_unk_23
+ .4byte BattleAICmd_unk_24
+ .4byte BattleAICmd_get_move
+ .4byte BattleAICmd_if_type
+ .4byte BattleAICmd_unk_27
+ .4byte BattleAICmd_if_would_go_first
+ .4byte BattleAICmd_if_would_not_go_first
+ .4byte BattleAICmd_unk_2A
+ .4byte BattleAICmd_unk_2B
+ .4byte BattleAICmd_count_alive_pokemon
+ .4byte BattleAICmd_unk_2D
+ .4byte BattleAICmd_unk_2E
+ .4byte BattleAICmd_get_ability
+ .4byte BattleAICmd_unk_30
+ .4byte BattleAICmd_if_damage_bonus
+ .4byte BattleAICmd_unk_32
+ .4byte BattleAICmd_unk_33
+ .4byte BattleAICmd_if_status_in_party
+ .4byte BattleAICmd_if_status_not_in_party
+ .4byte BattleAICmd_unk_36
+ .4byte BattleAICmd_if_effect
+ .4byte BattleAICmd_if_not_effect
+ .4byte BattleAICmd_if_stat_level_less_than
+ .4byte BattleAICmd_if_stat_level_more_than
+ .4byte BattleAICmd_if_stat_level_equal
+ .4byte BattleAICmd_if_stat_level_not_equal
+ .4byte BattleAICmd_if_can_faint
+ .4byte BattleAICmd_if_cant_faint
+ .4byte BattleAICmd_unk_3F
+ .4byte BattleAICmd_unk_40
+ .4byte BattleAICmd_if_move_effect
+ .4byte BattleAICmd_if_not_move_effect
+ .4byte BattleAICmd_if_last_move_did_damage
+ .4byte BattleAICmd_if_encored
+ .4byte BattleAICmd_unk_45
+ .4byte BattleAICmd_if_random_2
+ .4byte BattleAICmd_unk_47
+ .4byte BattleAICmd_get_hold_effect
+ .4byte BattleAICmd_get_gender
+ .4byte BattleAICmd_is_first_turn
+ .4byte BattleAICmd_get_stockpile_count
+ .4byte BattleAICmd_unk_4C
+ .4byte BattleAICmd_get_item
+ .4byte BattleAICmd_unk_4E
+ .4byte BattleAICmd_unk_4F
+ .4byte BattleAICmd_unk_50
+ .4byte BattleAICmd_get_protect_count
+ .4byte BattleAICmd_unk_52
+ .4byte BattleAICmd_unk_53
+ .4byte BattleAICmd_unk_54
+ .4byte BattleAICmd_unk_55
+ .4byte BattleAICmd_unk_56
+ .4byte BattleAICmd_unk_57
+ .4byte BattleAICmd_call
+ .4byte BattleAICmd_jump
+ .4byte BattleAICmd_unk_5A
+ .4byte BattleAICmd_if_level_cond
+ .4byte BattleAICmd_if_taunted
+ .4byte BattleAICmd_if_not_taunted
+
+gUnknown_083F62BC:: @ 83F62BC
+ .incbin "baserom.gba", 0x003f62bc, 0x1c
+
+ .align 2
+gUnknown_083F62D8:: @ 83F62D8
+ .4byte SecretBaseText_Tristan
+ .4byte SecretBaseText_Philip
+ .4byte SecretBaseText_Dennis
+ .4byte SecretBaseText_Roberto
+
+gTraderDecorations:: @ 83F62E8
+ .byte DECOR_DUSKULL_DOLL
+ .byte DECOR_BALL_CUSHION
+ .byte DECOR_TIRE
+ .byte DECOR_PRETTY_FLOWERS
+
+ .align 2
+gBirchBagGrassPal:: @ 83F62EC
+ .incbin "graphics/misc/birch_bag.gbapal"
+ .incbin "graphics/misc/birch_grass.gbapal"
+
+ .align 2
+gBirchBallarrow_Pal::
+ .incbin "graphics/misc/birch_ballarrow.gbapal"
+
+ .align 2
+gBirchCircle_Pal::
+ .incbin "graphics/misc/birch_circle.gbapal"
+
+ .align 2
+gBirchBagTilemap:: @ 83F636C
+ .incbin "graphics/misc/birch_bag_map.bin.lz"
+
+ .align 2
+gBirchGrassTilemap:: @ 83F64F8
+ .incbin "graphics/misc/birch_grass_map.bin.lz"
+
+ .align 2
+gBirchHelpGfx:: @ 83F66F0
+ .incbin "graphics/misc/birch_help.4bpp.lz"
+
+ .align 2
+gBirchBallarrow_Gfx::
+ .incbin "graphics/misc/birch_ballarrow.4bpp.lz"
+
+ .align 2
+gBirchCircle_Gfx::
+ .incbin "graphics/misc/birch_circle.4bpp.lz"
+
+gStarterChoose_PokeballCoords:: @ 83F76B8
+ .byte 60, 64
+ .byte 120, 88
+ .byte 180, 64
+
+gStarterChoose_LabelCoords:: @ 83F76BE
+ .byte 0, 9
+ .byte 16, 10
+ .byte 8, 4
+
+ .align 1
+gStarterMons:: @ 83F76C4
+ .2byte SPECIES_TREECKO
+ .2byte SPECIES_TORCHIC
+ .2byte SPECIES_MUDKIP
+ .2byte 0
+
+ .align 2
+gOamData_83F76CC:: @ 83F76CC
+ .2byte 0x00A0
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83F76D4:: @ 83F76D4
+ .2byte 0x00A0
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83F76DC:: @ 83F76DC
+ .2byte 0x03A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gUnknown_083F76E4:: @ 83F76E4
+ .incbin "baserom.gba", 0x003f76e4, 0x8
+
+ .align 2
+gSpriteAnim_83F76EC:: @ 83F76EC
+ obj_image_anim_frame 48, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83F76F4:: @ 83F76F4
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83F76FC:: @ 83F76FC
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 0, 32
+ obj_image_anim_frame 16, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 32, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 16, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 32, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83F7744:: @ 83F7744
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83F774C:: @ 83F774C
+ .4byte gSpriteAnim_83F76EC
+
+ .align 2
+gSpriteAnimTable_83F7750:: @ 83F7750
+ .4byte gSpriteAnim_83F76F4
+ .4byte gSpriteAnim_83F76FC
+
+ .align 2
+gSpriteAnimTable_83F7758:: @ 83F7758
+ .4byte gSpriteAnim_83F7744
+
+Unknown_83F775C:
+ .incbin "baserom.gba", 0x003f775c, 0x18
+
+ .align 2
+gSpriteAffineAnim_83F7774:: @ 83F7774
+ obj_rot_scal_anim_frame 0x14, 0x14, 0, 0
+ obj_rot_scal_anim_frame 0x14, 0x14, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gUnknown_083F778C:: @ 83F778C
+ .4byte Unknown_83F775C
+
+ .align 2
+gSpriteAffineAnimTable_83F7790:: @ 83F7790
+ .4byte gSpriteAffineAnim_83F7774
+
+gUnknown_083F7794:: @ 83F7794
+ obj_tiles gBirchBallarrow_Gfx, 0x0800, 0x1000
+ .space 8
+
+gUnknown_083F77A4:: @ 83F77A4
+ obj_tiles gBirchCircle_Gfx, 0x0800, 0x1001
+ .space 8
+
+gUnknown_083F77B4:: @ 83F77B4
+ obj_pal gBirchBallarrow_Pal, 0x1000
+ obj_pal gBirchCircle_Pal, 0x1001
+ .space 8
+
+ .align 2
+gSpriteTemplate_83F77CC:: @ 83F77CC
+ spr_template 4096, 4096, gOamData_83F76CC, gSpriteAnimTable_83F774C, NULL, gDummySpriteAffineAnimTable, sub_810A62C
+
+ .align 2
+gSpriteTemplate_83F77E4:: @ 83F77E4
+ spr_template 4096, 4096, gOamData_83F76D4, gSpriteAnimTable_83F7750, NULL, gDummySpriteAffineAnimTable, sub_810A68C
+
+ .align 2
+gSpriteTemplate_83F77FC:: @ 83F77FC
+ spr_template 4097, 4097, gOamData_83F76DC, gSpriteAnimTable_83F7758, NULL, gSpriteAffineAnimTable_83F7790, StarterPokemonSpriteAnimCallback
+
+@ 83F7814
+ClockGfx_Misc:
+ .incbin "graphics/misc/clock_misc.4bpp.lz"
+
+gUnknown_083F7A90:: @ 83F7A90
+ obj_tiles ClockGfx_Misc, 0x2000, 0x1000
+ .space 8
+
+gUnknown_083F7AA0:: @ 83F7AA0
+ obj_pal gMiscClockMale_Pal, 0x1000
+ obj_pal gMiscClockFemale_Pal, 0x1001
+ .space 8
+
+ .align 2
+gOamData_83F7AB8:: @ 83F7AB8
+ .2byte 0x00A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_83F7AC0:: @ 83F7AC0
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83F7AC8:: @ 83F7AC8
+ obj_image_anim_frame 64, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83F7AD0:: @ 83F7AD0
+ .4byte gSpriteAnim_83F7AC0
+
+ .align 2
+gSpriteAnimTable_83F7AD4:: @ 83F7AD4
+ .4byte gSpriteAnim_83F7AC8
+
+ .align 2
+gSpriteTemplate_83F7AD8:: @ 83F7AD8
+ spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD0, NULL, gDummySpriteAffineAnimTable, sub_810B05C
+
+ .align 2
+gSpriteTemplate_83F7AF0:: @ 83F7AF0
+ spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD4, NULL, gDummySpriteAffineAnimTable, sub_810B0F4
+
+ .align 2
+gOamData_83F7B08:: @ 83F7B08
+ .2byte 0x00A0
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83F7B10:: @ 83F7B10
+ obj_image_anim_frame 132, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83F7B18:: @ 83F7B18
+ obj_image_anim_frame 128, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83F7B20:: @ 83F7B20
+ .4byte gSpriteAnim_83F7B10
+
+ .align 2
+gSpriteAnimTable_83F7B24:: @ 83F7B24
+ .4byte gSpriteAnim_83F7B18
+
+ .align 2
+gSpriteTemplate_83F7B28:: @ 83F7B28
+ spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B20, NULL, gDummySpriteAffineAnimTable, sub_810B18C
+
+ .align 2
+gSpriteTemplate_83F7B40:: @ 83F7B40
+ spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B24, NULL, gDummySpriteAffineAnimTable, sub_810B230
+
+@ 83F7B58
+ .include "data/clock_hand_coords.inc"
+
+gUnknown_083F7E28:: @ 83F7E28
+ .incbin "baserom.gba", 0x003f7e28, 0x80
+
+ .align 2
+gUnknown_083F7EA8:: @ 83F7EA8
+ .4byte sub_80A5B40, c2_exit_to_overworld_2_switch
+ .4byte sub_802E424, c2_exit_to_overworld_2_switch
+
+ .align 2
+gPokeblockNames:: @ 83F7EB8
+ .4byte NULL
+ .4byte ContestStatsText_RedPokeBlock
+ .4byte ContestStatsText_BluePokeBlock
+ .4byte ContestStatsText_PinkPokeBlock
+ .4byte ContestStatsText_GreenPokeBlock
+ .4byte ContestStatsText_YellowPokeBlock
+ .4byte ContestStatsText_PurplePokeBlock
+ .4byte ContestStatsText_IndigoPokeBlock
+ .4byte ContestStatsText_BrownPokeBlock
+ .4byte ContestStatsText_LiteBluePokeBlock
+ .4byte ContestStatsText_OlivePokeBlock
+ .4byte ContestStatsText_GrayPokeBlock
+ .4byte ContestStatsText_BlackPokeBlock
+ .4byte ContestStatsText_WhitePokeBlock
+ .4byte ContestStatsText_GoldPokeBlock
+
+ .align 2
+gUnknown_083F7EF4:: @ 83F7EF4
+ .4byte OtherText_Use, sub_810C508
+ .4byte OtherText_Toss, sub_810C5C0
+ .4byte gOtherText_CancelNoTerminator, sub_810C748
+ .4byte OtherText_Use, sub_810C788
+ .4byte OtherText_Use, sub_810C854
+
+gUnknown_083F7F1C:: @ 83F7F1C
+ .byte 0, 1, 2
+
+gUnknown_083F7F1F:: @ 83F7F1F
+ .byte 3, 2
+
+gUnknown_083F7F21:: @ 83F7F21
+ .byte 4, 2
+
+ .align 2
+gUnknown_083F7F24:: @ 83F7F24
+ .4byte sub_810C610
+ .4byte sub_810C668
+
+@ unreferenced
+ .byte 0x16, 0x17, 0x18, 0x21, 0x2F
+
+ .align 2
+gOamData_83F7F34:: @ 83F7F34
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83F7F3C:: @ 83F7F3C
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83F7F44:: @ 83F7F44
+ .4byte gSpriteAnim_83F7F3C
+
+Unknown_83F7F48:
+ .incbin "baserom.gba", 0x003f7f48, 0x28
+
+ .align 2
+gUnknown_083F7F70:: @ 83F7F70
+ .4byte Unknown_83F7F48
+
+ .align 2
+gUnknown_083F7F74:: @ 83F7F74
+ obj_tiles gMenuPokeblockDevice_Gfx, 2048, 0x39d0
+
+ .align 2
+gUnknown_083F7F7C:: @ 83F7F7C
+ obj_pal gMenuPokeblockDevice_Pal, 0x39d0
+
+ .align 2
+gSpriteTemplate_83F7F84:: @ 83F7F84
+ spr_template 14800, 14800, gOamData_83F7F34, gSpriteAnimTable_83F7F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_083F7F9C:: @ 83F7F9C
+ .incbin "baserom.gba", 0x003f7f9c, 0x28
+
+ .align 2
+gUnknown_083F7FC4:: @ 83F7FC4
+ .byte 1, 4, 1, 0
+ .4byte sub_810CFF8
+ .byte 2, 4, 1, 0
+ .4byte sub_810CFF8
+ .byte 3, 4, 1, 0
+ .4byte sub_810CFF8
+ .byte 5, 4, 1, 0
+ .4byte sub_810CFF8
+ .byte 6, 4, 1, 0
+ .4byte sub_810CFF8
+ .byte 7, 4, 1, 0
+ .4byte sub_810CFF8
+ .byte 8, 4, 1, 0
+ .4byte sub_810CFF8
+ .byte 9, 4, 1, 0
+ .4byte sub_810CFF8
+
+ .byte 4, 1, 0, 1
+ .4byte sub_810CE48
+ .byte 4, 2, 0, 1
+ .4byte sub_810CE48
+ .byte 4, 3, 0, 1
+ .4byte sub_810CE48
+ .byte 4, 5, 0, 1
+ .4byte sub_810CE48
+ .byte 4, 6, 0, 1
+ .4byte sub_810CE48
+ .byte 4, 7, 0, 1
+ .4byte sub_810CE48
+ .byte 4, 8, 0, 1
+ .4byte sub_810CE48
+ .byte 4, 9, 0, 1
+ .4byte sub_810CE48
+
+ .byte 0, 0, 0, 0
+ .4byte NULL
+
+ .align 2
+gCaveTransitionPalette_White:: @ 83F804C
+ .rept 16
+ .2byte 0x7FFF
+ .endr
+
+ .align 2
+gCaveTransitionPalette_Black:: @ 83F806C
+ .rept 16
+ .2byte 0x0000
+ .endr
+
+gUnknown_083F808C:: @ 83F808C
+ .incbin "baserom.gba", 0x003f808c, 0x10
+
+gUnknown_083F809C:: @ 83F809C
+ .incbin "baserom.gba", 0x003f809c, 0x10
+
+ .align 2
+gCaveTransitionTilemap:: @ 83F80AC
+ .incbin "graphics/misc/cave_transition_map.bin.lz"
+
+ .align 2
+gCaveTransitionTiles:: @ 83F828C
+ .incbin "graphics/misc/cave_transition.4bpp.lz"
+
+gUnknown_083F8340:: @ 83F8340
+ .incbin "baserom.gba", 0x003f8340, 0x18
+
+gUnknown_083F8358:: @ 83F8358
+ .incbin "baserom.gba", 0x003f8358, 0x4
+
+gUnknown_083F835C:: @ 83F835C
+ .incbin "baserom.gba", 0x003f835c, 0x8
+
+gUnknown_083F8364:: @ 83F8364
+ .incbin "baserom.gba", 0x003f8364, 0xc
+
+gUnknown_083F8370:: @ 83F8370
+ .incbin "baserom.gba", 0x003f8370, 0x6
+
+gUnknown_083F8376:: @ 83F8376
+ .incbin "baserom.gba", 0x003f8376, 0xa
+
+ .align 2
+gUnknown_083F8380:: @ 83F8380
+ .4byte OtherText_1F
+ .4byte OtherText_2F
+ .4byte OtherText_3F
+ .4byte OtherText_4F
+ .4byte OtherText_5F
+ .4byte OtherText_6F
+ .4byte OtherText_7F
+ .4byte OtherText_8F
+ .4byte OtherText_9F
+ .4byte OtherText_10F
+ .4byte OtherText_11F
+ .4byte OtherText_B1F
+ .4byte OtherText_B2F
+ .4byte OtherText_B3F
+ .4byte OtherText_B4F
+ .4byte OtherText_Rooftop
+
+ .align 2
+gUnknown_083F83C0:: @ 83F83C0
+ .4byte OtherText_BlueFlute
+ .4byte OtherText_YellowFlute
+ .4byte OtherText_RedFlute
+ .4byte OtherText_WhiteFlute
+ .4byte OtherText_BlackFlute
+ .4byte OtherText_PrettyChair
+ .4byte OtherText_PrettyDesk
+ .4byte gOtherText_CancelNoTerminator
+
+gUnknown_083F83E0:: @ 83F83E0
+ .incbin "baserom.gba", 0x003f83e0, 0xc
+
+gUnknown_083F83EC:: @ 83F83EC
+ .incbin "baserom.gba", 0x003f83ec, 0xc
+
+gUnknown_083F83F8:: @ 83F83F8
+ .incbin "baserom.gba", 0x003f83f8, 0xc
+
+gUnknown_083F8404:: @ 83F8404
+ .incbin "baserom.gba", 0x003f8404, 0x4
+
+gUnknown_083F8408:: @ 83F8408
+ .incbin "baserom.gba", 0x003f8408, 0x8
+
+gUnknown_083F8410:: @ 83F8410
+ .incbin "baserom.gba", 0x003f8410, 0x8
+
+gUnknown_083F8418:: @ 83F8418
+ .incbin "graphics/pokedex/area_glow.gbapal"
+
+gUnknown_083F8438:: @ 83F8438
+ .incbin "graphics/pokedex/area_glow.4bpp.lz"
+
+ .align 1
+gUnknown_083F856C:: @ 83F856C
+ .2byte 360
+
+ .align 1
+gUnknown_083F856E:: @ 83F856E
+ .2byte 328, 0, 34
+ .2byte 412, 0, 0
+
+gUnknown_083F857A:: @ 83F857A
+ .incbin "baserom.gba", 0x003f857a, 0x12
+
+ .align 2
+gUnknown_083F858C:: @ 83F858C
+ obj_tiles AreaMarkerTiles, 0x80, 2
+
+ .align 2
+gUnknown_083F8594:: @ 83F8594
+ obj_pal AreaMarkerPalette, 2
+
+ .align 2
+gOamData_83F859C:: @ 83F859C
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteTemplate_83F85A4:: @ 83F85A4
+ spr_template 2, 2, gOamData_83F859C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+AreaMarkerPalette:
+ .incbin "graphics/pokedex/area_marker.gbapal"
+
+ .align 2
+AreaMarkerTiles:
+ .incbin "graphics/pokedex/area_marker.4bpp"
+
+ .align 2
+gUnknown_083F865C:: @ 83F865C
+ obj_pal gAreaUnknownPalette, 3
+
+ .align 2
+gUnknown_083F8664:: @ 83F8664
+ obj_tiles 0x02000FB4, 0x600, 3
+
+ .align 2
+gOamData_83F866C:: @ 83F866C
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteTemplate_83F8674:: @ 83F8674
+ spr_template 3, 3, gOamData_83F866C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_083F868C:: @ 83F868C
+ .incbin "baserom.gba", 0x003f868c, 0x30
+
+gUnknown_083F86BC:: @ 83F86BC
+ .incbin "baserom.gba", 0x003f86bc, 0x40
+
+ .align 2
+gRouletteCenter_Pal::
+ .incbin "graphics/roulette/center.gbapal"
+
+ .incbin "baserom.gba", 0x003f871c, 0x1A0
+
+gUnknown_083F88BC:: @ 83F88BC
+ .incbin "baserom.gba", 0x003f88bc, 0x1a4
+
+gUnknown_083F8A60:: @ 83F8A60
+ .incbin "baserom.gba", 0x003f8a60, 0x1a0
+
+gUnknown_083F8C00:: @ 83F8C00
+ .incbin "baserom.gba", 0x003f8c00, 0xc
+
+gUnknown_083F8C0C:: @ 83F8C0C
+ .incbin "baserom.gba", 0x003f8c0c, 0x184
+
+gUnknown_083F8D90:: @ 83F8D90
+ .incbin "baserom.gba", 0x003f8d90, 0x4
+
+gUnknown_083F8D94:: @ 83F8D94
+ .incbin "baserom.gba", 0x003f8d94, 0x5c
+
+gUnknown_083F8DF0:: @ 83F8DF0
+ .incbin "baserom.gba", 0x003f8df0, 0x4
+
+gUnknown_083F8DF4:: @ 83F8DF4
+ .incbin "baserom.gba", 0x003f8df4, 0x40
+
+gUnknown_083F8E34:: @ 83F8E34
+ .incbin "baserom.gba", 0x003f8e34, 0x68
+
+gUnknown_083F8E9C:: @ 83F8E9C
+ .incbin "baserom.gba", 0x003f8e9c, 0x18
+
+ .align 2
+gUnknown_083F8EB4:: @ 83F8EB4
+ .4byte sub_811755C
+ .4byte sub_81175C0
+
+ .align 2
+gUnknown_083F8EBC:: @ 83F8EBC
+ .4byte sub_811577C
+ .4byte sub_81157AC
+
+gUnknown_083F8EC4:: @ 83F8EC4
+ .incbin "baserom.gba", 0x003f8ec4, 0x6
+
+gUnknown_083F8ECA:: @ 83F8ECA
+ .incbin "baserom.gba", 0x003f8eca, 0x4
+
+gUnknown_083F8ECE:: @ 83F8ECE
+ .incbin "baserom.gba", 0x003f8ece, 0xa
+
+gUnknown_083F8ED8:: @ 83F8ED8
+ .incbin "baserom.gba", 0x003f8ed8, 0x10
+
+gUnknown_083F8EE8:: @ 83F8EE8
+ .incbin "baserom.gba", 0x003f8ee8, 0xc
+
+gUnknown_083F8EF4:: @ 83F8EF4
+ .byte 0, 3, 4, 6, 12
+
+ .align 2
+RouletteSpritePalette_01:
+ .incbin "graphics/roulette/shadow.gbapal"
+
+ .align 2
+RouletteSpritePalette_02:
+ .incbin "graphics/roulette/ball.gbapal"
+
+ .align 2
+RouletteSpritePalette_03:
+ .incbin "graphics/roulette/ball_counter.gbapal"
+
+ .align 2
+RouletteSpritePalette_04:
+ .incbin "graphics/roulette/cursor.gbapal"
+
+ .align 2
+RouletteSpritePalette_05:
+ .incbin "graphics/roulette/credit.gbapal"
+
+ .align 2
+RouletteSpritePalette_06:
+ .incbin "graphics/roulette/shroomish.gbapal"
+
+ .align 2
+RouletteSpritePalette_07:
+ .incbin "graphics/roulette/tailow.gbapal"
+
+ .align 2
+RouletteSpritePalette_08:
+ .incbin "graphics/roulette/poke_icons.gbapal"
+
+ .align 2
+RouletteSpritePalette_09:
+ .incbin "graphics/roulette/wynaut.gbapal"
+
+ .align 2
+RouletteSpritePalette_10:
+ .incbin "graphics/roulette/azurill.gbapal"
+
+ .align 2
+RouletteSpritePalette_11:
+ .incbin "graphics/roulette/skitty.gbapal"
+
+ .align 2
+RouletteSpritePalette_12:
+ .incbin "graphics/roulette/makuhita.gbapal"
+
+ .align 2
+RouletteSpritePalette_13:
+ .incbin "baserom.gba", 0x003F907C, 0x20
+
+ .align 2
+RouletteSpritePalette_14:
+ .incbin "baserom.gba", 0x003F909C, 0x20
+
+ .align 2
+RouletteSpritePalette_15:
+ .incbin "baserom.gba", 0x003F90BC, 0x20
+
+ .align 2
+RouletteSpritePalette_16:
+ .incbin "baserom.gba", 0x003F90DC, 0x20
+
+ .align 2
+gUnknown_083F90FC:: @ 83F90FC
+ .incbin "graphics/roulette/ball.4bpp.lz"
+
+ .align 2
+RouletteBallCounterTiles: @ 83F9244
+ .incbin "graphics/roulette/ball_counter.4bpp.lz"
+
+ .align 2
+gUnknown_083F92A8:: @ 83F92A8
+ .incbin "graphics/roulette/roulette_tilt.4bpp.lz"
+
+ .align 2
+RoulettePokeIconsTiles: @ 83F9698
+ .incbin "graphics/roulette/poke_icons.4bpp.lz"
+
+ .align 2
+RoulettePokeIcons2Tiles: @ 83F983C
+ .incbin "graphics/roulette/poke_icons2.4bpp.lz"
+
+ .align 2
+gUnknown_083F9D3C:: @ 83F9D3C
+ .incbin "graphics/roulette/shadow.4bpp.lz"
+
+ .align 2
+RouletteCursorTiles: @ 83F9DD4
+ .incbin "graphics/roulette/cursor.4bpp.lz"
+
+ .align 2
+gUnknown_083F9E30:: @ 83F9E30
+ obj_pal RouletteSpritePalette_01, 1
+ obj_pal RouletteSpritePalette_02, 2
+ obj_pal RouletteSpritePalette_03, 3
+ obj_pal RouletteSpritePalette_04, 4
+ obj_pal RouletteSpritePalette_05, 5
+ obj_pal RouletteSpritePalette_06, 6
+ obj_pal RouletteSpritePalette_07, 7
+ obj_pal RouletteSpritePalette_08, 8
+ obj_pal RouletteSpritePalette_09, 9
+ obj_pal RouletteSpritePalette_10, 10
+ obj_pal RouletteSpritePalette_11, 11
+ obj_pal RouletteSpritePalette_12, 12
+ obj_pal RouletteSpritePalette_13, 13
+ obj_pal RouletteSpritePalette_14, 14
+ obj_pal RouletteSpritePalette_15, 15
+ obj_pal RouletteSpritePalette_16, 16
+ null_obj_pal
+
+ .align 2
+gOamData_83F9EB8:: @ 83F9EB8
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83F9EC0:: @ 83F9EC0
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83F9EC8:: @ 83F9EC8
+ .2byte 0x833C
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_83F9ED0:: @ 83F9ED0
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83F9ED8:: @ 83F9ED8
+ .4byte gSpriteAnim_83F9ED0
+
+ .align 2
+gSpriteAffineAnim_83F9EDC:: @ 83F9EDC
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_83F9EE4:: @ 83F9EE4
+ .4byte gSpriteAffineAnim_83F9EDC
+
+ .align 2
+gUnknown_083F9EE8:: @ 83F9EE8
+ obj_tiles RoulettePokeIcons2Tiles, 0xC00, 0
+
+ .align 2
+gSpriteAnim_83F9EF0:: @ 83F9EF0
+ obj_image_anim_frame 0, 0
+ obj_image_anim_frame 32, 0
+ obj_image_anim_frame 64, 0
+ obj_image_anim_frame 72, 0
+ obj_image_anim_frame 8, 0
+ obj_image_anim_frame 40, 0
+ obj_image_anim_frame 48, 0
+ obj_image_anim_frame 80, 0
+ obj_image_anim_frame 16, 0
+ obj_image_anim_frame 24, 0
+ obj_image_anim_frame 56, 0
+ obj_image_anim_frame 88, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83F9F24:: @ 83F9F24
+ .4byte gSpriteAnim_83F9EF0
+
+ .align 2
+gSpriteAnimTable_83F9F28:: @ 83F9F28
+ .4byte gSpriteAnim_83F9EF0 + 0x4
+
+ .align 2
+gSpriteAnimTable_83F9F2C:: @ 83F9F2C
+ .4byte gSpriteAnim_83F9EF0 + 0x8
+
+ .align 2
+gSpriteAnimTable_83F9F30:: @ 83F9F30
+ .4byte gSpriteAnim_83F9EF0 + 0xC
+
+ .align 2
+gSpriteAnimTable_83F9F34:: @ 83F9F34
+ .4byte gSpriteAnim_83F9EF0 + 0x10
+
+ .align 2
+gSpriteAnimTable_83F9F38:: @ 83F9F38
+ .4byte gSpriteAnim_83F9EF0 + 0x14
+
+ .align 2
+gSpriteAnimTable_83F9F3C:: @ 83F9F3C
+ .4byte gSpriteAnim_83F9EF0 + 0x18
+
+ .align 2
+gSpriteAnimTable_83F9F40:: @ 83F9F40
+ .4byte gSpriteAnim_83F9EF0 + 0x1C
+
+ .align 2
+gSpriteAnimTable_83F9F44:: @ 83F9F44
+ .4byte gSpriteAnim_83F9EF0 + 0x20
+
+ .align 2
+gSpriteAnimTable_83F9F48:: @ 83F9F48
+ .4byte gSpriteAnim_83F9EF0 + 0x24
+
+ .align 2
+gSpriteAnimTable_83F9F4C:: @ 83F9F4C
+ .4byte gSpriteAnim_83F9EF0 + 0x28
+
+ .align 2
+gSpriteAnimTable_83F9F50:: @ 83F9F50
+ .4byte gSpriteAnim_83F9EF0 + 0x2C
+
+ .align 2
+gUnknown_083F9F54:: @ 83F9F54
+ obj_tiles gRouletteHeadersTiles, 0x1600, 4
+
+ .align 2
+gUnknown_083F9F5C:: @ 83F9F5C
+ obj_tiles RoulettePokeIconsTiles, 0x400, 5
+
+ .align 2
+gSpriteAnim_83F9F64:: @ 83F9F64
+ obj_image_anim_frame 0, 0
+ obj_image_anim_frame 16, 0
+ obj_image_anim_frame 32, 0
+ obj_image_anim_frame 48, 0
+ obj_image_anim_frame 64, 0
+ obj_image_anim_frame 80, 0
+ obj_image_anim_frame 96, 0
+ obj_image_anim_frame 112, 0
+ obj_image_anim_frame 128, 0
+ obj_image_anim_frame 144, 0
+ obj_image_anim_frame 160, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83F9F94:: @ 83F9F94
+ obj_image_anim_frame 0, 0
+ obj_image_anim_frame 4, 0
+ obj_image_anim_frame 8, 0
+ obj_image_anim_frame 12, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83F9FA8:: @ 83F9FA8
+ .4byte gSpriteAnim_83F9F64
+
+ .align 2
+gSpriteAnimTable_83F9FAC:: @ 83F9FAC
+ .4byte gSpriteAnim_83F9F64 + 0x8
+
+ .align 2
+gSpriteAnimTable_83F9FB0:: @ 83F9FB0
+ .4byte gSpriteAnim_83F9F64 + 0x10
+
+ .align 2
+gSpriteAnimTable_83F9FB4:: @ 83F9FB4
+ .4byte gSpriteAnim_83F9F64 + 0x18
+
+ .align 2
+gSpriteAnimTable_83F9FB8:: @ 83F9FB8
+ .4byte gSpriteAnim_83F9F64 + 0x20
+
+ .align 2
+gSpriteAnimTable_83F9FBC:: @ 83F9FBC
+ .4byte gSpriteAnim_83F9F64 + 0x24
+
+ .align 2
+gSpriteAnimTable_83F9FC0:: @ 83F9FC0
+ .4byte gSpriteAnim_83F9F64 + 0x28
+
+ .align 2
+gSpriteAnimTable_83F9FC4:: @ 83F9FC4
+ .4byte gSpriteAnim_83F9F94
+
+ .align 2
+gSpriteAnimTable_83F9FC8:: @ 83F9FC8
+ .4byte gSpriteAnim_83F9F94 + 0x4
+
+ .align 2
+gSpriteAnimTable_83F9FCC:: @ 83F9FCC
+ .4byte gSpriteAnim_83F9F94 + 0x8
+
+ .align 2
+gSpriteAnimTable_83F9FD0:: @ 83F9FD0
+ .4byte gSpriteAnim_83F9F94 + 0xC
+
+ .align 2
+gSpriteTemplate_83F9FD4:: @ 83F9FD4
+ spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FA8, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83F9FEC:: @ 83F9FEC
+ spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FAC, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA004:: @ 83FA004
+ spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB0, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA01C:: @ 83FA01C
+ spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB4, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA034:: @ 83FA034
+ spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB8, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA04C:: @ 83FA04C
+ spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FBC, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA064:: @ 83FA064
+ spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FC0, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA07C:: @ 83FA07C
+ spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC4, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA094:: @ 83FA094
+ spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC8, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA0AC:: @ 83FA0AC
+ spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FCC, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA0C4:: @ 83FA0C4
+ spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FD0, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA0DC:: @ 83FA0DC
+ spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F24, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA0F4:: @ 83FA0F4
+ spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F28, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA10C:: @ 83FA10C
+ spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F2C, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA124:: @ 83FA124
+ spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F30, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA13C:: @ 83FA13C
+ spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F34, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA154:: @ 83FA154
+ spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F38, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA16C:: @ 83FA16C
+ spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F3C, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA184:: @ 83FA184
+ spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F40, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA19C:: @ 83FA19C
+ spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F44, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA1B4:: @ 83FA1B4
+ spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F48, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA1CC:: @ 83FA1CC
+ spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F4C, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gSpriteTemplate_83FA1E4:: @ 83FA1E4
+ spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F50, NULL, gDummySpriteAffineAnimTable, sub_8117E98
+
+ .align 2
+gOamData_83FA1FC:: @ 83FA1FC
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83FA204:: @ 83FA204
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83FA20C:: @ 83FA20C
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gOamData_83FA214:: @ 83FA214
+ .2byte 0x4000
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gUnknown_083FA21C:: @ 83FA21C
+ obj_tiles gRouletteCreditTiles, 0x400, 7
+ obj_tiles gRouletteNumbersTiles, 0x280, 8
+ obj_tiles gRouletteMultiplierTiles, 0x500, 9
+ obj_tiles RouletteBallCounterTiles, 0x140, 10
+ obj_tiles RouletteCursorTiles, 0x200, 11
+ null_obj_tiles
+
+ .align 2
+gSpriteAnim_83FA24C:: @ 83FA24C
+ obj_image_anim_frame 0, 0
+ obj_image_anim_frame 2, 0
+ obj_image_anim_frame 4, 0
+ obj_image_anim_frame 6, 0
+ obj_image_anim_frame 8, 0
+ obj_image_anim_frame 10, 0
+ obj_image_anim_frame 12, 0
+ obj_image_anim_frame 14, 0
+ obj_image_anim_frame 16, 0
+ obj_image_anim_frame 18, 0
+
+ .align 2
+gSpriteAnimTable_83FA274:: @ 83FA274
+ .4byte gSpriteAnim_83FA24C
+
+ .align 2
+gSpriteAnim_83FA278:: @ 83FA278
+ obj_image_anim_frame 0, 0
+ obj_image_anim_frame 8, 0
+ obj_image_anim_frame 16, 0
+ obj_image_anim_frame 24, 0
+ obj_image_anim_frame 32, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83FA290:: @ 83FA290
+ .4byte gSpriteAnim_83FA278
+
+ .align 2
+gSpriteAnim_83FA294:: @ 83FA294
+ obj_image_anim_frame 0, 0
+ obj_image_anim_frame 2, 0
+ obj_image_anim_frame 4, 0
+ obj_image_anim_frame 6, 0
+ obj_image_anim_frame 8, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83FA2AC:: @ 83FA2AC
+ .4byte gSpriteAnim_83FA294
+
+ .align 2
+gSpriteTemplate_83FA2B0:: @ 83FA2B0
+ spr_template 7, 5, gOamData_83FA1FC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83FA2C8:: @ 83FA2C8
+ spr_template 8, 5, gOamData_83FA204, gSpriteAnimTable_83FA274, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83FA2E0:: @ 83FA2E0
+ spr_template 9, 5, gOamData_83FA20C, gSpriteAnimTable_83FA290, NULL, gDummySpriteAffineAnimTable, sub_81184CC
+
+ .align 2
+gSpriteTemplate_83FA2F8:: @ 83FA2F8
+ spr_template 10, 3, gOamData_83FA214, gSpriteAnimTable_83FA2AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83FA310:: @ 83FA310
+ spr_template 11, 5, gOamData_83F9EB8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_83FA328:: @ 83FA328
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gSpriteImageTable_83FA330:: @ 83FA330
+ obj_frame_tiles 0x02017E00, 0x80
+ obj_frame_tiles 0x02017E80, 0x80
+ obj_frame_tiles 0x02017F00, 0x80
+ obj_frame_tiles 0x02017F80, 0x80
+
+ .align 2
+gSpriteAnim_83FA350:: @ 83FA350
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83FA364:: @ 83FA364
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 2, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83FA378:: @ 83FA378
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 2, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83FA38C:: @ 83FA38C
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+Unknown_083FA3A0:
+ .incbin "baserom.gba", 0x003fa3a0, 0x18
+Unknown_083FA3B8:
+ .incbin "baserom.gba", 0x003fa3b8, 0x14
+Unknown_083FA3CC:
+ .incbin "baserom.gba", 0x003fa3cc, 0x8
+
+ .align 2
+gSpriteAnim_83FA3D4:: @ 83FA3D4
+ obj_image_anim_frame 2, 2
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83FA3E8:: @ 83FA3E8
+ .4byte gSpriteAnim_83FA350
+ .4byte gSpriteAnim_83FA364
+ .4byte gSpriteAnim_83FA378
+ .4byte gSpriteAnim_83FA38C
+ .4byte gSpriteAnim_83FA3D4
+
+ .align 2
+ .4byte Unknown_083FA3A0
+ .4byte Unknown_083FA3B8
+ .4byte Unknown_083FA3B8
+ .4byte Unknown_083FA3CC
+
+ .align 2
+gSpriteTemplate_83FA40C:: @ 83FA40C
+ spr_template 0xFFFF, 2, gOamData_83FA328, gSpriteAnimTable_83FA3E8, gSpriteImageTable_83FA330, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_83FA424:: @ 83FA424
+ .2byte 0x0351
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gUnknown_083FA42C:: @ 83FA42C
+ obj_tiles gRouletteCenter_Gfx, 2048, 0x0006
+
+ .align 2
+gSpriteTemplate_83FA434:: @ 83FA434
+ spr_template 6, 2, gOamData_83FA424, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8118554
+
+ .align 2
+gOamData_83FA44C:: @ 83FA44C
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_83FA454:: @ 83FA454
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gSpriteImageTable_83FA45C:: @ 83FA45C
+ obj_frame_tiles 0x02017000, 0x200
+ obj_frame_tiles 0x02017200, 0x200
+ obj_frame_tiles 0x02017400, 0x200
+ obj_frame_tiles 0x02017600, 0x200
+ obj_frame_tiles 0x02017800, 0x200
+ obj_frame_tiles 0x02017A00, 0x200
+ obj_frame_tiles 0x02017C00, 0x200
+
+ .align 2
+gSpriteAnim_83FA494:: @ 83FA494
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 2, 6
+ obj_image_anim_frame 3, 6
+ obj_image_anim_frame 2, 6
+ obj_image_anim_frame 4, 6
+ obj_image_anim_jump 2
+
+ .align 2
+gSpriteAnim_83FA4B0:: @ 83FA4B0
+ obj_image_anim_frame 5, 10
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83FA4B8:: @ 83FA4B8
+ obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83FA4C0:: @ 83FA4C0
+ obj_image_anim_frame 5, 20
+ obj_image_anim_frame 6, 20
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83FA4CC:: @ 83FA4CC
+ obj_image_anim_frame 5, 20, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 6, 20, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83FA4D8:: @ 83FA4D8
+ obj_image_anim_frame 5, 10
+ obj_image_anim_frame 6, 10
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_83FA4E4:: @ 83FA4E4
+ obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 6, 10, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_83FA4F0:: @ 83FA4F0
+ .4byte gSpriteAnim_83FA494
+
+ .align 2
+gSpriteAnimTable_83FA4F4:: @ 83FA4F4
+ .4byte gSpriteAnim_83FA4B0
+ .4byte gSpriteAnim_83FA4B8
+ .4byte gSpriteAnim_83FA4C0
+ .4byte gSpriteAnim_83FA4CC
+ .4byte gSpriteAnim_83FA4D8
+ .4byte gSpriteAnim_83FA4E4
+
+ .align 2
+gSpriteTemplate_83FA50C:: @ 83FA50C
+ spr_template 0xFFFF, 6, gOamData_83FA44C, gSpriteAnimTable_83FA4F0, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83FA524:: @ 83FA524
+ spr_template 0xFFFF, 7, gOamData_83FA454, gSpriteAnimTable_83FA4F4, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, sub_8119D80
+
+ .align 2
+gOamData_83FA53C:: @ 83FA53C
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gOamData_83FA544:: @ 83FA544
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gOamData_83FA54C:: @ 83FA54C
+ .2byte 0x4100
+ .2byte 0x8000
+ .2byte 0x0800
+
+ .align 2
+gSpriteImageTable_83FA554: @ 83FA554
+ obj_frame_tiles 0x02018000, 0x80
+
+ .align 2
+gSpriteImageTable_83FA55C: @ 83FA55C
+ obj_frame_tiles 0x02018080, 0x100
+
+ .align 2
+gUnknown_083FA564: @ 83FA564
+ .incbin "baserom.gba", 0x003fa564, 0x18
+
+ .align 2
+gSpriteAffineAnim_83FA57C:: @ 83FA57C
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFFE, 0x0, 0, 15
+ obj_rot_scal_anim_frame 0xFFFF, 0xFFFE, 0, 15
+ obj_rot_scal_anim_frame 0xFFFF, 0xFFFB, 0, 24
+ obj_rot_scal_anim_end
+
+ .align 2
+ .4byte gUnknown_083FA564
+
+ .align 2
+gSpriteAffineAnimTable_83FA5A8:: @ 83FA5A8
+ .4byte gSpriteAffineAnim_83FA57C
+
+ .align 2
+gUnknown_083FA5AC:: @ 83FA5AC
+ .incbin "baserom.gba", 0x003fa5ac, 0x10
+
+ .align 2
+@ unreferenced
+ .4byte gUnknown_083FA5AC
+
+ .align 2
+gSpriteTemplate_83FA5C0:: @ 83FA5C0
+ spr_template 0xFFFF, 1, gOamData_83FA53C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA554, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_83FA5D8:: @ 83FA5D8
+ spr_template 0xFFFF, 1, gOamData_83FA544, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gDummySpriteAffineAnimTable, sub_8119964
+
+ .align 2
+gSpriteTemplate_83FA5F0:: @ 83FA5F0
+ spr_template 0xFFFF, 1, gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80
+
+gUnknown_083FA608:: @ 83FA608
+ .incbin "baserom.gba", 0x003fa608, 0x6
+
+ .align 1
+gUnknown_083FA60E:: @ 83FA60E
+ .2byte 0x74, 0x2C
+ .2byte 0x74, 0x70
+
+gUnknown_083FA616:: @ 83FA616
+ .incbin "baserom.gba", 0x003fa616, 0x8
+
+gUnknown_083FA61E:: @ 83FA61E
+ .incbin "baserom.gba", 0x003fa61e, 0x14
+
+gUnknown_083FA632:: @ 83FA632
+ .incbin "baserom.gba", 0x003fa632, 0x18
+
+gUnknown_083FA64A:: @ 83FA64A
+ .byte -1, 1
+
+gUnknown_083FA64C:: @ 83FA64C
+ .incbin "baserom.gba", 0x003fa64c, 0x10
+
+ .align 2
+CryMeterNeedlePalette: @ 83FA65C
+ .incbin "graphics/pokedex/cry_meter_needle.gbapal"
+
+ .align 2
+CryMeterNeedleTiles: @ 83FA67C
+ .incbin "graphics/pokedex/cry_meter_needle.4bpp"
+
+gUnknown_083FAE7C:: @ 83FAE7C
+ .incbin "baserom.gba", 0x003fae7c, 0xa0
+
+gUnknown_083FAF1C:: @ 83FAF1C
+ .incbin "graphics/pokedex/cry_meter.gbapal"
+
+gUnknown_083FAF3C:: @ 83FAF3C
+ .incbin "graphics/pokedex/cry_meter.4bpp.lz"
+
+ .align 1
+gUnknown_083FB274:: @ 83FB274
+ .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C
+ .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C
+ .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D
+ .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D
+ .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E
+ .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E
+ .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F
+ .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F
+
+ .align 2
+ .4byte 0x201C000
+
+gUnknown_083FB6F8:: @ 83FB6F8
+ .incbin "baserom.gba", 0x003fb6f8, 0x20
+
+gUnknown_083FB718:: @ 83FB718
+ .incbin "baserom.gba", 0x003fb718, 0x20
+
+gUnknown_083FB738:: @ 83FB738
+ .byte 0xF0, 0x0F
+
+gUnknown_083FB73A:: @ 83FB73A
+ .incbin "baserom.gba", 0x003fb73a, 0x26
+
+ .align 2
+gSpriteAnim_83FB760:: @ 83FB760
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83FB768:: @ 83FB768
+ .4byte gSpriteAnim_83FB760
+
+ .align 2
+gOamData_83FB76C:: @ 83FB76C
+ .2byte 0x01A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteTemplate_83FB774:: @ 83FB774
+ spr_template 8192, 8192, gOamData_83FB76C, gSpriteAnimTable_83FB768, NULL, gDummySpriteAffineAnimTable, sub_811A534
+
+ .align 2
+gCryMeterNeedleSpriteSheets:: @ 83FB78C
+ obj_tiles CryMeterNeedleTiles, 0x800, 8192
+ null_obj_tiles
+
+ .align 2
+gCryMeterNeedleSpritePalettes:: @ 83FB79C
+ obj_pal CryMeterNeedlePalette, 8192
+ null_obj_pal
+
+@ 83FB7AC
+ .include "data/landmarks.inc"
+
+ .align 2
+gUnknown_083FBB88:: @ 83FBB88
+ .incbin "graphics/battle_transitions/big_pokeball.4bpp"
+
+ .align 2
+gUnknown_083FC108:: @ 83FC108
+ .incbin "graphics/battle_transitions/pokeball_trail.4bpp"
+
+ .align 2
+gSpriteImage_83FC148:: @ 83FC148
+ .incbin "graphics/battle_transitions/pokeball.4bpp"
+
+ .align 2
+gUnknown_083FC348:: @ 83FC348
+ .incbin "graphics/battle_transitions/elite_four_bg.4bpp"
+
+ .align 2
+gSpriteImage_83FC528:: @ 83FC528
+ .incbin "graphics/battle_transitions/unused_brendan.4bpp"
+
+ .align 2
+gSpriteImage_83FCD28:: @ 83FCD28
+ .incbin "graphics/battle_transitions/unused_lass.4bpp"
+
+ .align 2
+gUnknown_083FD528:: @ 83FD528
+ .incbin "graphics/battle_transitions/shrinking_box.4bpp"
+
+ .align 2
+gUnknown_083FD708:: @ 83FD708
+ .4byte 0x0200c000
+
+ .align 2
+gUnknown_083FD70C:: @ 83FD70C
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+ .4byte sub_811AC64
+
+ .align 2
+gBattleTransitionFuncs:: @ 83FD750
+ .4byte sub_811ACB4
+ .4byte sub_811ADAC
+ .4byte sub_811AF44
+ .4byte sub_811B0F0
+ .4byte sub_811B578
+ .4byte sub_811B7E8
+ .4byte sub_811BCBC
+ .4byte sub_811BEA0
+ .4byte sub_811CA5C
+ .4byte sub_811CCDC
+ .4byte sub_811D0B8
+ .4byte sub_811D1C8
+ .4byte sub_811C08C
+ .4byte sub_811C0AC
+ .4byte sub_811C0CC
+ .4byte sub_811C0EC
+ .4byte sub_811C10C
+
+ .align 2
+gUnknown_083FD794:: @ 83FD794
+ .4byte sub_811AB88
+ .4byte sub_811ABD8
+ .4byte sub_811AC0C
+ .4byte sub_811AC34
+
+ .align 2
+gUnknown_083FD7A4:: @ 83FD7A4
+ .4byte sub_811ACEC
+ .4byte sub_811AD1C
+ .4byte sub_811AD80
+
+ .align 2
+gUnknown_083FD7B0:: @ 83FD7B0
+ .4byte sub_811ADE4
+ .4byte sub_811AE70
+
+ .align 2
+gUnknown_083FD7B8:: @ 83FD7B8
+ .4byte sub_811AF7C
+ .4byte sub_811B000
+
+ .align 2
+gUnknown_083FD7C0:: @ 83FD7C0
+ .4byte sub_811B128
+ .4byte sub_811B1D8
+ .4byte sub_811B268
+ .4byte sub_811B2F4
+ .4byte sub_811B380
+ .4byte sub_811B3EC
+
+ .align 2
+gUnknown_083FD7D8:: @ 83FD7D8
+ .4byte sub_811B5B0
+ .4byte sub_811B5FC
+ .4byte sub_811B688
+
+ .align 1
+gUnknown_083FD7E4:: @ 83FD7E4
+ .2byte -16
+ .2byte 256
+
+ .align 1
+gUnknown_083FD7E8:: @ 83FD7E8
+ .2byte 0
+ .2byte 32
+ .2byte 64
+ .2byte 18
+ .2byte 48
+
+ .align 1
+gUnknown_083FD7F2:: @ 83FD7F2
+ .2byte 8
+ .2byte -8
+
+ .align 2
+gUnknown_083FD7F8:: @ 83FD7F8
+ .4byte sub_811B820
+ .4byte sub_811B884
+ .4byte sub_811B90C
+ .4byte sub_811B9F0
+ .4byte sub_811BA70
+ .4byte sub_811BB60
+ .4byte sub_811BBEC
+
+ .align 2
+gUnknown_083FD814:: @ 83FD814
+ .4byte sub_811BCF4
+ .4byte sub_811BD60
+
+ .align 2
+gUnknown_083FD81C:: @ 83FD81C
+ .4byte sub_811BED8
+ .4byte sub_811BF2C
+ .4byte sub_811BFC4
+
+ .align 2
+gUnknown_083FD828:: @ 83FD828
+ .4byte sub_811C164
+ .4byte sub_811C1CC
+ .4byte sub_811C2A4
+ .4byte sub_811C38C
+ .4byte sub_811C400
+ .4byte sub_811C43C
+ .4byte sub_811C4F0
+ .4byte sub_811C5B4
+ .4byte sub_811C5E8
+ .4byte sub_811C630
+
+gUnknown_083FD850:: @ 83FD850
+ .incbin "baserom.gba", 0x003fd850, 0x6
+
+gUnknown_083FD856:: @ 83FD856
+ .incbin "baserom.gba", 0x003fd856, 0x14
+
+gUnknown_083FD86A:: @ 83FD86A
+ .incbin "baserom.gba", 0x003fd86a, 0x16
+
+ .align 2
+gUnknown_083FD880:: @ 83FD880
+ .4byte sub_811C934
+ .4byte sub_811C938
+ .4byte sub_811C984
+ .4byte sub_811C9B8
+ .4byte sub_811C934
+ .4byte sub_811C9E4
+ .4byte sub_811C934
+
+gUnknown_083FD89C:: @ 83FD89C
+ .incbin "baserom.gba", 0x003fd89c, 0x4
+
+gUnknown_083FD8A0:: @ 83FD8A0
+ .incbin "baserom.gba", 0x003fd8a0, 0x4
+
+ .align 2
+gUnknown_083FD8A4:: @ 83FD8A4
+ .4byte sub_811CA94
+ .4byte sub_811CB20
+ .4byte sub_811CBE8
+
+ .align 2
+gUnknown_083FD8B0:: @ 83FD8B0
+ .4byte sub_811CD14
+ .4byte sub_811CDA0
+ .4byte sub_811CE14
+ .4byte sub_811CE4C
+ .4byte sub_811CEB0
+
+gUnknown_083FD8C4:: @ 83FD8C4
+ .incbin "baserom.gba", 0x003fd8c4, 0x10
+
+ .align 2
+gUnknown_083FD8D4:: @ 83FD8D4
+ .4byte sub_811D0F0
+ .4byte sub_811D144
+ .4byte sub_811D19C
+
+ .align 2
+gUnknown_083FD8E0:: @ 83FD8E0
+ .4byte sub_811D200
+ .4byte sub_811D260
+ .4byte sub_811D2D8
+ .4byte sub_811D3B0
+ .4byte sub_811D41C
+
+gUnknown_083FD8F4:: @ 83FD8F4
+ .incbin "baserom.gba", 0x003fd8f4, 0x46
+
+gUnknown_083FD93A:: @ 83FD93A
+ .incbin "baserom.gba", 0x003fd93a, 0xe
+
+ .align 2
+gUnknown_083FD948:: @ 83FD948
+ .4byte sub_811D584
+ .4byte sub_811D5E0
+
+ .align 2
+gSpriteImageTable_83FD950:: @ 83FD950
+ obj_frame_tiles gSpriteImage_83FC148, 0x200
+
+ .align 2
+gSpriteAnim_83FD958:: @ 83FD958
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83FD960:: @ 83FD960
+ .4byte gSpriteAnim_83FD958
+
+ .align 2
+gSpriteAffineAnim_83FD964:: @ 83FD964
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_83FD974:: @ 83FD974
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_83FD984:: @ 83FD984
+ .4byte gSpriteAffineAnim_83FD964
+ .4byte gSpriteAffineAnim_83FD974
+
+ .align 2
+gSpriteTemplate_83FD98C:: @ 83FD98C
+ spr_template 0xFFFF, 4105, gFieldOamData_32x32, gSpriteAnimTable_83FD960, gSpriteImageTable_83FD950, gSpriteAffineAnimTable_83FD984, sub_811B720
+
+ .align 2
+gOamData_83FD9A4:: @ 83FD9A4
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteImageTable_83FD9AC:: @ 83FD9AC
+ obj_frame_tiles gSpriteImage_83FC528, 0x800
+
+ .align 2
+gSpriteImageTable_83FD9B4:: @ 83FD9B4
+ obj_frame_tiles gSpriteImage_83FCD28, 0x800
+
+ .align 2
+gSpriteAnim_83FD9BC:: @ 83FD9BC
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_83FD9C4:: @ 83FD9C4
+ .4byte gSpriteAnim_83FD9BC
+
+ .align 2
+gSpriteTemplate_83FD9C8:: @ 83FD9C8
+ spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9AC, gDummySpriteAffineAnimTable, sub_811C90C
+
+ .align 2
+gSpriteTemplate_83FD9E0:: @ 83FD9E0
+ spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9B4, gDummySpriteAffineAnimTable, sub_811C90C
+
+ .align 2
+gFieldEffectObjectPalette10:: @ 83FD9F8
+ .incbin "graphics/field_effect_objects/palettes/10.gbapal"
+
+ .align 2
+gFieldEffectObjectPaletteInfo10:: @ 83FDA18
+ obj_pal gFieldEffectObjectPalette10, 0x1009
+
+ .align 2
+Unknown_83FDA20:
+ .incbin "graphics/battle_transitions/sidney_bg.gbapal"
+
+ .align 2
+Unknown_83FDA40:
+ .incbin "graphics/battle_transitions/phoebe_bg.gbapal"
+
+ .align 2
+Unknown_83FDA60:
+ .incbin "graphics/battle_transitions/glacia_bg.gbapal"
+
+ .align 2
+Unknown_83FDA80:
+ .incbin "graphics/battle_transitions/drake_bg.gbapal"
+
+ .align 2
+Unknown_83FDAA0:
+ .incbin "graphics/battle_transitions/steven_bg.gbapal"
+
+ .align 2
+Unknown_83FDAC0:
+ .incbin "graphics/battle_transitions/brendan_bg.gbapal"
+
+ .align 2
+Unknown_83FDAE0:
+ .incbin "graphics/battle_transitions/may_bg.gbapal"
+
+ .align 2
+gUnknown_083FDB00:: @ 83FDB00
+ .4byte Unknown_83FDA20
+ .4byte Unknown_83FDA40
+ .4byte Unknown_83FDA60
+ .4byte Unknown_83FDA80
+ .4byte Unknown_83FDAA0
+
+ .align 2
+gUnknown_083FDB14:: @ 83FDB14
+ .4byte Unknown_83FDAC0
+ .4byte Unknown_83FDAE0
+
+ .align 2
+UnusedTrainerPalette:
+ .incbin "graphics/battle_transitions/unused_trainer.gbapal"
+
+ .align 2
+gSpritePalette_UnusedTrainer:: @ 83FDB3C
+ obj_pal UnusedTrainerPalette, 0x100A
+
+ .align 2
+gUnknown_083FDB44:: @ 83FDB44
+ .incbin "graphics/battle_transitions/big_pokeball_map.bin"
+
+ .align 2
+gUnknown_083FDFF4:: @ 83FDFF4
+ .incbin "graphics/battle_transitions/elite_four_bg_map.bin"
+
+ .include "data/text/battle_strings.inc"
+
+gUnknown_084016BC:: @ 84016BC
+ .incbin "baserom.gba", 0x004016bc, 0xec
+
+gUnknown_084017A8:: @ 84017A8
+ .incbin "baserom.gba", 0x004017a8, 0x8
+
+ .align 2
+gUnknown_084017B0:: @ 84017B0
+ .4byte OtherText_Summary, sub_812265C
+ .4byte OtherText_Enter2, sub_8122694
+ .4byte OtherText_NoEntry, sub_8122770
+ .4byte gUnknownText_Exit, sub_8122838
+
+gUnknown_084017D0:: @ 84017D0
+ .byte 1, 0, 3
+
+gUnknown_084017D3: @ 84017D3
+ .byte 2, 0, 3
+
+gUnknown_084017D6: @ 84017D6
+ .byte 0, 3
+
+ .align 2
+gUnknown_084017D8:: @ 84017D8
+ .byte 3, 9
+ .space 2
+ .4byte gUnknown_084017D0
+
+ .byte 3, 9
+ .space 2
+ .4byte gUnknown_084017D3
+
+ .byte 2, 9
+ .space 2
+ .4byte gUnknown_084017D6
+
+ .align 2
+gUnknown_084017F0:: @ 84017F0
+ .4byte OtherText_Store, sub_8122F70
+ .4byte OtherText_Summary, sub_81230BC
+ .4byte gUnknownText_Exit, sub_81230F4
+
+gUnknown_08401808:: @ 8401808
+ .byte 0, 1, 2
+
+gUnknown_0840180B:: @ 840180B
+ .byte 1, 2
+
+ .align 2
+gUnknown_08401810:: @ 8401810
+ .byte 3, 9
+ .space 2
+ .4byte gUnknown_08401808
+
+ .byte 2, 9
+ .space 2
+ .4byte gUnknown_0840180B
+
+ .align 2
+gCableCarMtChimneyTilemap:: @ 8401820
+ .incbin "graphics/misc/cable_car_mt_chimney_map.bin.lz"
+
+ .align 2
+gCableCarTreeTilemap:: @ 8401978
+ .incbin "graphics/misc/cable_car_tree_map.bin.lz"
+
+ .align 2
+gCableCarMountainTilemap:: @ 8401AFC
+ .incbin "graphics/misc/cable_car_mountain_map.bin.lz"
+
+ .align 2
+gCableCarPylonHookTilemapEntries:: @ 8401CC0
+ .2byte 0x3000
+ .2byte 0x3001
+ .2byte 0x3002
+ .2byte 0x3003
+ .2byte 0x3004
+ .2byte 0x3005
+ .2byte 0x3006
+ .2byte 0x3007
+ .2byte 0x3008
+ .2byte 0x3009
+
+ .align 2
+gCableCarPylonStemTilemap:: @ 8401CD4
+ .incbin "graphics/misc/cable_car_pylon_stem_map.bin.lz"
+
+ .align 2
+gUnknown_08401CF8:: @ 8401CF8
+ obj_tiles gCableCar_Gfx, 0x800, 1
+ obj_tiles gCableCarDoor_Gfx, 0x40, 2
+ obj_tiles gCableCarCord_Gfx, 0x80, 3
+ .space 8
+
+ .align 2
+gUnknown_08401D18:: @ 8401D18
+ obj_pal gCableCar_Pal, 1
+ .space 8
+
+ .align 2
+gOamData_8401D28:: @ 8401D28
+ .2byte 0x0300
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gOamData_8401D30:: @ 8401D30
+ .2byte 0x4300
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gOamData_8401D38:: @ 8401D38
+ .2byte 0x0300
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gSpriteTemplate_8401D40:: @ 8401D40
+ spr_template 1, 1, gOamData_8401D28, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8
+
+ .align 2
+gSpriteTemplate_8401D58:: @ 8401D58
+ spr_template 2, 1, gOamData_8401D30, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8
+
+ .align 2
+gSpriteTemplate_8401D70:: @ 8401D70
+ spr_template 3, 1, gOamData_8401D38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, nullsub_76
+
+gCableCarPlayerGraphicsIDs:: @ 8401D88
+ .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL
+ .byte MAP_OBJ_GFX_RIVAL_MAY_NORMAL
+
+gMtChimneyHikerGraphicsIDs:: @ 8401D8A
+ .byte MAP_OBJ_GFX_HIKER
+ .byte MAP_OBJ_GFX_CAMPER
+ .byte MAP_OBJ_GFX_PICNICKER
+ .byte MAP_OBJ_GFX_POOCHYENA @ not used
+
+ .align 1
+gMtChimneyHikerCoords:: @ 8401D8E
+ .2byte 0, 80
+ .2byte 240, 146
+
+gMtChimneyHikerMovementDelayTable:: @ 8401D96
+ .byte 0
+ .byte 60
+ .byte 120
+ .byte 170
+
+ .align 2
+gUnknown_08401D9C:: @ 8401D9C
+ .4byte sub_8123EB8
+ .4byte sub_8123F44
+
+ .align 2
+gSaveSectionLocations:: @ 8401DA4
+ .4byte gSaveBlock2, 0x890
+ .4byte gSaveBlock1 + 0xF80 * 0, 0xF80
+ .4byte gSaveBlock1 + 0xF80 * 1, 0xF80
+ .4byte gSaveBlock1 + 0xF80 * 2, 0xF80
+ .4byte gSaveBlock1 + 0xF80 * 3, 0xC40
+ .4byte gPokemonStorage + 0xF80 * 0, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 1, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 2, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 3, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 4, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 5, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 6, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 7, 0xF80
+ .4byte gPokemonStorage + 0xF80 * 8, 0x7D0
+
+ .align 2
+gHallOfFameSaveSectionLocations:: @ 8401E14
+ .4byte gHallOfFame + 0xF80 * 0, 0xF80
+ .4byte gHallOfFame + 0xF80 * 1, 0xF80
+
+gUnknown_08401E24:: @ 8401E24
+ .byte 0x1E, 0x1F @ flash sectors
+
+@ XXX: Unused? And why is this aligned?
+ .align 2
+ .string "タマゴ$"
+
+gUnknown_08401E2C:: @ 8401E2C
+ .incbin "baserom.gba", 0x00401e2c, 0x6
+
+gUnknown_08401E32:: @ 8401E32
+ .incbin "baserom.gba", 0x00401e32, 0x4
+
+gUnknown_08401E36:: @ 8401E36
+ .incbin "baserom.gba", 0x00401e36, 0xa
+
+ .align 2
+gUnknown_08401E40:: @ 8401E40
+ .4byte sub_81275A0
+ .4byte sub_81275C4
+
+ .align 2
+gUnknown_08401E48:: @ 8401E48
+ .4byte sub_8127DA0
+ .4byte sub_8127DD0
+ .4byte sub_8127E30
+
+gUnknown_08401E54:: @ 8401E54
+ .incbin "baserom.gba", 0x00401e54, 0x6
+
+gUnknown_08401E5A:: @ 8401E5A
+ .incbin "baserom.gba", 0x00401e5a, 0x6
+
+ .align 2
+gUnknown_08401E60:: @ 8401E60
+ .4byte sub_8128AA8
+ .4byte contest_ai_get_turn
+ .4byte sub_8128B0C
+ .4byte sub_8128B4C
+ .4byte sub_8128B8C
+ .4byte sub_8128BCC
+ .4byte contest_ai_get_excitement
+ .4byte sub_8128C2C
+ .4byte sub_8128C6C
+ .4byte sub_8128CAC
+ .4byte sub_8128CEC
+ .4byte contest_ai_get_user_order
+ .4byte sub_8128D50
+ .4byte sub_8128D90
+ .4byte sub_8128DD0
+ .4byte sub_8128E10
+ .4byte contest_ai_get_user_condition_maybe
+ .4byte sub_8128E90
+ .4byte sub_8128ED0
+ .4byte sub_8128F10
+ .4byte sub_8128F50
+ .4byte sub_8128F90
+ .4byte sub_8128FBC
+ .4byte sub_8129008
+ .4byte sub_8129054
+ .4byte sub_81290A0
+ .4byte sub_81290EC
+ .4byte sub_8129114
+ .4byte sub_8129160
+ .4byte sub_81291AC
+ .4byte sub_81291F8
+ .4byte contest_ai_get_contest_type
+ .4byte sub_8129264
+ .4byte sub_81292A4
+ .4byte contest_ai_get_move_excitement
+ .4byte sub_8129324
+ .4byte sub_8129368
+ .4byte sub_81293AC
+ .4byte sub_81293F0
+ .4byte contest_ai_get_move_effect
+ .4byte sub_8129470
+ .4byte sub_81294B0
+ .4byte contest_ai_get_move_effect_type
+ .4byte sub_8129538
+ .4byte sub_8129578
+ .4byte contest_ai_check_move_has_highest_appeal
+ .4byte sub_8129638
+ .4byte sub_812967C
+ .4byte sub_81296FC
+ .4byte sub_8129740
+ .4byte sub_8129798
+ .4byte sub_81297D8
+ .4byte sub_8129818
+ .4byte sub_8129858
+ .4byte sub_8129898
+ .4byte sub_81298F0
+ .4byte sub_8129930
+ .4byte sub_8129970
+ .4byte sub_81299B0
+ .4byte contest_ai_get_move_used_count
+ .4byte sub_8129A44
+ .4byte sub_8129A84
+ .4byte sub_8129AC4
+ .4byte sub_8129B04
+ .4byte contest_ai_check_combo_starter
+ .4byte sub_8129BB8
+ .4byte sub_8129BFC
+ .4byte contest_ai_check_combo_finisher
+ .4byte sub_8129CB4
+ .4byte sub_8129CF8
+ .4byte contest_ai_check_would_finish_combo
+ .4byte sub_8129D98
+ .4byte sub_8129DDC
+ .4byte contest_ai_get_condition
+ .4byte sub_8129E64
+ .4byte sub_8129EA4
+ .4byte sub_8129EE4
+ .4byte sub_8129F24
+ .4byte contest_ai_get_used_combo_starter
+ .4byte sub_8129FBC
+ .4byte sub_8129FFC
+ .4byte sub_812A03C
+ .4byte sub_812A07C
+ .4byte contest_ai_check_can_participate
+ .4byte sub_812A100
+ .4byte sub_812A144
+ .4byte contest_ai_get_val_812A188
+ .4byte sub_812A1C4
+ .4byte sub_812A208
+ .4byte sub_812A24C
+ .4byte sub_812A294
+ .4byte sub_812A2D8
+ .4byte sub_812A31C
+ .4byte sub_812A360
+ .4byte sub_812A3A4
+ .4byte sub_812A3E4
+ .4byte sub_812A428
+ .4byte sub_812A46C
+ .4byte sub_812A4B0
+ .4byte sub_812A4F4
+ .4byte sub_812A538
+ .4byte sub_812A578
+ .4byte sub_812A5B8
+ .4byte sub_812A5F8
+ .4byte sub_812A638
+ .4byte sub_812A674
+ .4byte sub_812A6B4
+ .4byte sub_812A6F4
+ .4byte sub_812A734
+ .4byte sub_812A774
+ .4byte sub_812A7C4
+ .4byte sub_812A804
+ .4byte sub_812A844
+ .4byte sub_812A86C
+ .4byte sub_812A898
+ .4byte sub_812A8CC
+ .4byte sub_812A8FC
+ .4byte sub_812A92C
+ .4byte sub_812A978
+ .4byte sub_812A9C4
+ .4byte sub_812AA10
+ .4byte sub_812AA5C
+ .4byte sub_812AAAC
+ .4byte sub_812AAFC
+ .4byte sub_812AB4C
+ .4byte sub_812AB9C
+ .4byte sub_812ABE8
+ .4byte sub_812AC34
+ .4byte sub_812AC54
+ .4byte sub_812AC84
+ .4byte contest_ai_check_for_exciting_move
+ .4byte sub_812AD50
+ .4byte sub_812AD94
+ .4byte sub_812ADD8
+ .4byte sub_812AE44
+ .4byte sub_812AE88
+
+ .align 2
+gUnknown_08402080:: @ 8402080
+ .4byte sub_812B864
+ .4byte sub_812B870
+ .4byte sub_812B87C
+ .4byte sub_812B888
+ .4byte sub_812B894
+ .4byte sub_812B8A0
+ .4byte sub_812B8AC
+ .4byte sub_812B8B8
+ .4byte sub_812B994
+ .4byte sub_812B9A0
+ .4byte sub_812B9AC
+ .4byte sub_812B9B8
+ .4byte sub_812B9C4
+ .4byte sub_812BA14
+ .4byte sub_812BA70
+ .4byte sub_812BA7C
+ .4byte dp01t_10_6_message
+ .4byte dp01t_11_6_message_for_player_only
+ .4byte sub_812BB10
+ .4byte sub_812BBFC
+ .4byte sub_812BC08
+ .4byte sub_812BC14
+ .4byte sub_812BC54
+ .4byte sub_812BC60
+ .4byte sub_812BC6C
+ .4byte sub_812BC78
+ .4byte sub_812BC84
+ .4byte sub_812BCC0
+ .4byte sub_812BCCC
+ .4byte sub_812BCD8
+ .4byte sub_812BCE4
+ .4byte sub_812BCF0
+ .4byte sub_812BCFC
+ .4byte sub_812BD08
+ .4byte sub_812BD14
+ .4byte sub_812BD20
+ .4byte sub_812BD2C
+ .4byte sub_812BD38
+ .4byte sub_812BD44
+ .4byte sub_812BD50
+ .4byte sub_812BD5C
+ .4byte sub_812BD68
+ .4byte sub_812BD74
+ .4byte sub_812BD80
+ .4byte sub_812BDC4
+ .4byte sub_812BDF4
+ .4byte dp01t_2E_6_battle_intro
+ .4byte sub_812BE64
+ .4byte sub_812BEB0
+ .4byte sub_812BEBC
+ .4byte sub_812BEC8
+ .4byte sub_812BED4
+ .4byte sub_812BEE0
+ .4byte sub_812BF3C
+ .4byte sub_812BF48
+ .4byte sub_812BF54
+ .4byte nullsub_78
+
+ .align 2
+gSpriteAnim_8402164:: @ 8402164
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 16, 4
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840217C:: @ 840217C
+ .4byte gSpriteAnim_8402164
+
+ .align 2
+gBattleAnimSpriteTemplate_8402180:: @ 8402180
+ spr_template 10137, 10137, gOamData_837E054, gSpriteAnimTable_840217C, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gBattleAnimSpriteTemplate_8402198:: @ 8402198
+ spr_template 10016, 10016, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C144
+
+ .align 2
+gBattleAnimSpriteTemplate_84021B0:: @ 84021B0
+ spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8
+
+ .align 2
+gSpriteAnim_84021C8:: @ 84021C8
+ obj_image_anim_frame 0, 40
+ obj_image_anim_frame 16, 8
+ obj_image_anim_frame 32, 40
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_84021D8:: @ 84021D8
+ .4byte gSpriteAnim_84021C8
+
+ .align 2
+gBattleAnimSpriteTemplate_84021DC:: @ 84021DC
+ spr_template 10190, 10190, gOamData_837DF34, gSpriteAnimTable_84021D8, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gBattleAnimSpriteTemplate_84021F4:: @ 84021F4
+ spr_template 10191, 10191, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C220
+
+ .align 2
+gBattleAnimSpriteTemplate_840220C:: @ 840220C
+ spr_template 10189, 10189, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C2BC
+
+ .align 2
+gSpriteAffineAnim_8402224:: @ 8402224
+ obj_rot_scal_anim_frame 0x180, 0x180, 0, 0
+ obj_rot_scal_anim_frame 0xFFE0, 0x18, 0, 5
+ obj_rot_scal_anim_frame 0x18, 0xFFE0, 0, 5
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnim_8402244:: @ 8402244
+ obj_rot_scal_anim_frame 0x30, 0x30, 0, 0
+ obj_rot_scal_anim_frame 0x20, 0x20, 0, 6
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_840225C:: @ 840225C
+ .4byte gSpriteAffineAnim_8402224
+ .4byte gSpriteAffineAnim_8402244
+
+ .align 2
+gBattleAnimSpriteTemplate_8402264:: @ 8402264
+ spr_template 10187, 10187, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_840225C, sub_812C358
+
+ .align 2
+gBattleAnimSpriteTemplate_840227C:: @ 840227C
+ spr_template 10152, 10152, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C720
+
+ .align 2
+gSpriteAnim_8402294:: @ 8402294
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 64, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_84022AC:: @ 84022AC
+ .4byte gSpriteAnim_8402294
+
+ .align 2
+gBattleAnimSpriteTemplate_84022B0:: @ 84022B0
+ spr_template 10027, 10027, gOamData_837DF34, gSpriteAnimTable_84022AC, NULL, gDummySpriteAffineAnimTable, sub_812C80C
+
+ .align 2
+gSpriteAnim_84022C8:: @ 84022C8
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_84022D0:: @ 84022D0
+ .4byte gSpriteAnim_84022C8
+
+ .align 2
+gSpriteAffineAnim_84022D4:: @ 84022D4
+ obj_rot_scal_anim_frame 0xFFF9, 0xFFF9, -3, 16
+ obj_rot_scal_anim_frame 0x7, 0x7, 3, 16
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_84022EC:: @ 84022EC
+ .4byte gSpriteAffineAnim_84022D4
+
+ .align 2
+gBattleAnimSpriteTemplate_84022F0:: @ 84022F0
+ spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_84022D0, NULL, gSpriteAffineAnimTable_84022EC, sub_812C848
+
+ .align 2
+gSpriteAnim_8402308:: @ 8402308
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 16, 16
+ obj_image_anim_frame 32, 4
+ obj_image_anim_frame 48, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840231C:: @ 840231C
+ .4byte gSpriteAnim_8402308
+
+ .align 2
+gSpriteAffineAnim_8402320:: @ 8402320
+ obj_rot_scal_anim_frame 0x200, 0x200, 0, 0
+ obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_8402338:: @ 8402338
+ .4byte gSpriteAffineAnim_8402320
+
+ .align 2
+gBattleAnimSpriteTemplate_840233C:: @ 840233C
+ spr_template 10192, 10192, gOamData_837DFF4, gSpriteAnimTable_840231C, NULL, gSpriteAffineAnimTable_8402338, sub_812C908
+
+ .align 2
+gSpriteAffineAnim_8402354:: @ 8402354
+ obj_rot_scal_anim_frame 0x0, 0x180, 0, 0
+ obj_rot_scal_anim_frame 0x10, 0x0, 0, 20
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_840236C:: @ 840236C
+ obj_rot_scal_anim_frame 0x140, 0x180, 0, 0
+ obj_rot_scal_anim_frame 0xFFF0, 0x0, 0, 19
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_8402384:: @ 8402384
+ .4byte gSpriteAffineAnim_8402354
+ .4byte gSpriteAffineAnim_840236C
+
+ .align 2
+gBattleAnimSpriteTemplate_840238C:: @ 840238C
+ spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812C990
+
+ .align 2
+gBattleAnimSpriteTemplate_84023A4:: @ 84023A4
+ spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CAFC
+
+ .align 2
+gBattleAnimSpriteTemplate_84023BC:: @ 84023BC
+ spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CC28
+
+ .align 2
+gSpriteAnim_84023D4:: @ 84023D4
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 8, 2
+ obj_image_anim_frame 16, 2
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_84023E4:: @ 84023E4
+ .4byte gSpriteAnim_84023D4
+
+ .align 2
+gBattleAnimSpriteTemplate_84023E8:: @ 84023E8
+ spr_template 10229, 10229, gOamData_837DF54, gSpriteAnimTable_84023E4, NULL, gDummySpriteAffineAnimTable, sub_812CCE8
+
+ .align 2
+gUnknown_08402400:: @ 8402400
+ .incbin "baserom.gba", 0x00402400, 0x20
+
+ .align 2
+gSpriteAnim_8402420:: @ 8402420
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8402428:: @ 8402428
+ .4byte gSpriteAnim_8402420
+
+ .align 2
+gSpriteAffineAnim_840242C:: @ 840242C
+ obj_rot_scal_anim_frame 0x0, 0x0, 5, 40
+ obj_rot_scal_anim_frame 0x0, 0x0, 10, 10
+ obj_rot_scal_anim_frame 0x0, 0x0, 15, 10
+ obj_rot_scal_anim_frame 0x0, 0x0, 20, 40
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_8402454:: @ 8402454
+ .4byte gSpriteAffineAnim_840242C
+
+ .align 2
+gBattleAnimSpriteTemplate_8402458:: @ 8402458
+ spr_template 10230, 10230, gOamData_837DFFC, gSpriteAnimTable_8402428, NULL, gSpriteAffineAnimTable_8402454, sub_812D294
+
+ .align 2
+gSpriteAnim_8402470:: @ 8402470
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_loop 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8402494:: @ 8402494
+ .4byte gSpriteAnim_8402470
+
+ .align 2
+gBattleAnimSpriteTemplate_8402498:: @ 8402498
+ spr_template 10234, 10234, gOamData_837DF34, gSpriteAnimTable_8402494, NULL, gDummySpriteAffineAnimTable, sub_80793C4
+
+ .align 2
+gUnknown_084024B0:: @ 84024B0
+ .incbin "baserom.gba", 0x004024b0, 0x20
+
+ .align 2
+gBattleAnimSpriteTemplate_84024D0:: @ 84024D0
+ spr_template 10226, 10226, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D3AC
+
+ .align 2
+gBattleAnimSpriteTemplate_84024E8:: @ 84024E8
+ spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D4B4
+
+ .align 2
+gSpriteTemplate_8402500:: @ 8402500
+ spr_template 10233, 10233, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D588
+
+ .align 2
+gUnknown_08402518:: @ 8402518
+ .incbin "baserom.gba", 0x00402518, 0x28
+
+ .align 2
+gUnknown_08402540:: @ 8402540
+ .incbin "baserom.gba", 0x00402540, 0x38
+
+ .align 2
+gBattleAnimSpriteTemplate_8402578:: @ 8402578
+ spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D724
+
+ .align 2
+gUnknown_08402590:: @ 8402590
+ .incbin "baserom.gba", 0x00402590, 0x30
+
+ .align 2
+gUnknown_084025C0:: @ 84025C0
+ .incbin "baserom.gba", 0x004025c0, 0x4
+
+ .align 2
+gSpriteAnim_84025C4:: @ 84025C4
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 4, 6
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_84025D0:: @ 84025D0
+ obj_image_anim_frame 8, 6
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_84025D8:: @ 84025D8
+ obj_image_anim_frame 12, 6
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_84025E0:: @ 84025E0
+ .4byte gSpriteAnim_84025C4
+ .4byte gSpriteAnim_84025D0
+ .4byte gSpriteAnim_84025D8
+
+ .align 2
+gBattleAnimSpriteTemplate_84025EC:: @ 84025EC
+ spr_template 10241, 10241, gOamData_837DF2C, gSpriteAnimTable_84025E0, NULL, gDummySpriteAffineAnimTable, sub_812DEAC
+
+ .align 2
+gUnknown_08402604:: @ 8402604
+ .incbin "baserom.gba", 0x00402604, 0x4
+
+gUnknown_08402608:: @ 8402608
+ .incbin "baserom.gba", 0x00402608, 0x8
+
+gUnknown_08402610:: @ 8402610
+ .incbin "baserom.gba", 0x00402610, 0x20
+
+ .align 2
+gBattleAnimSpriteTemplate_8402630:: @ 8402630
+ spr_template 10087, 10087, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812E4F0
+
+ .align 2
+gSpriteAnim_8402648:: @ 8402648
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 3, 8
+ obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_840266C:: @ 840266C
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_8402690:: @ 8402690
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8402698:: @ 8402698
+ .4byte gSpriteAnim_8402648
+ .4byte gSpriteAnim_840266C
+ .4byte gSpriteAnim_8402690
+
+ .align 2
+gBattleAnimSpriteTemplate_84026A4:: @ 84026A4
+ spr_template 10238, 10238, gOamData_837DF24, gSpriteAnimTable_8402698, NULL, gDummySpriteAffineAnimTable, sub_812E7A0
+
+ .align 2
+ .incbin "baserom.gba", 0x004026bc, 0x20
+
+ .align 2
+gSpriteAnim_84026DC:: @ 84026DC
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 4, 9
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_84026EC:: @ 84026EC
+ .4byte gSpriteAnim_84026DC
+
+ .align 2
+gBattleAnimSpriteTemplate_84026F0:: @ 84026F0
+ spr_template 10239, 10239, gOamData_837DF2C, gSpriteAnimTable_84026EC, NULL, gDummySpriteAffineAnimTable, sub_812EA4C
+
+ .align 2
+gBattleAnimSpriteTemplate_8402708:: @ 8402708
+ spr_template 10240, 10240, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EC78
+
+ .align 2
+gBattleAnimSpriteTemplate_8402720:: @ 8402720
+ spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812ED84
+
+ .align 2
+gBattleAnimSpriteTemplate_8402738:: @ 8402738
+ spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EEA4
+
+ .align 2
+gUnknown_08402750:: @ 8402750
+ .incbin "baserom.gba", 0x00402750, 0x30
+
+ .align 2
+gSpriteAffineAnim_8402780:: @ 8402780
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_84027A0:: @ 84027A0
+ obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_84027C0:: @ 84027C0
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0x8, 0, 8
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_84027E0:: @ 84027E0
+ .4byte gSpriteAffineAnim_8402780
+ .4byte gSpriteAffineAnim_84027A0
+ .4byte gSpriteAffineAnim_84027C0
+
+ .align 2
+gBattleAnimSpriteTemplate_84027EC:: @ 84027EC
+ spr_template 10242, 10242, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84027E0, sub_812F88C
+
+ .align 2
+gSpriteAffineAnim_8402804:: @ 8402804
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16
+ obj_rot_scal_anim_frame 0x4, 0x6, 0, 16
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_8402824:: @ 8402824
+ obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0
+ obj_rot_scal_anim_frame 0x4, 0x6, 0, 16
+ obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_8402844:: @ 8402844
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x4, 0x6, 0, 16
+ obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_8402864:: @ 8402864
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x8, 0xA, 0, 30
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF6, 0, 16
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_8402884:: @ 8402884
+ .4byte gSpriteAffineAnim_8402804
+ .4byte gSpriteAffineAnim_8402824
+ .4byte gSpriteAffineAnim_8402844
+ .4byte gSpriteAffineAnim_8402864
+
+ .align 2
+gBattleAnimSpriteTemplate_8402894:: @ 8402894
+ spr_template 10242, 10242, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402884, sub_812F948
+
+ .align 2
+gUnknown_084028AC:: @ 84028AC
+ .incbin "baserom.gba", 0x004028ac, 0x20
+
+ .align 2
+gSpriteTemplate_84028CC:: @ 84028CC
+ spr_template 10243, 10243, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812FF94
+
+gUnknown_084028E4:: @ 84028E4
+ .incbin "baserom.gba", 0x004028e4, 0x30
+
+ .align 2
+gSpriteAnim_8402914:: @ 8402914
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_8402920:: @ 8402920
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 48, 3
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_840292C:: @ 840292C
+ .4byte gSpriteAnim_8402914
+ .4byte gSpriteAnim_8402920
+
+ .align 2
+gBattleAnimSpriteTemplate_8402934:: @ 8402934
+ spr_template 10053, 10053, gOamData_837DF34, gSpriteAnimTable_840292C, NULL, gDummySpriteAffineAnimTable, sub_81300F4
+
+ .align 2
+gSpriteTemplate_840294C:: @ 840294C
+ spr_template 10248, 10248, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81304DC
+
+ .align 2
+gBattleAnimSpriteTemplate_8402964:: @ 8402964
+ spr_template 10252, 10252, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_813051C
+
+ .align 2
+gSpriteAffineAnim_840297C:: @ 840297C
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 24
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_840298C:: @ 840298C
+ obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 24
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_84029A4:: @ 84029A4
+ .4byte gSpriteAffineAnim_840297C
+ .4byte gSpriteAffineAnim_840298C
+
+ .align 2
+gSpriteTemplate_84029AC:: @ 84029AC
+ spr_template 10254, 10254, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84029A4, SpriteCallbackDummy
+
+ .align 2
+gBattleAnimSpriteTemplate_84029C4:: @ 84029C4
+ spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81307B0
+
+ .align 2
+gUnknown_084029DC:: @ 84029DC
+ .incbin "baserom.gba", 0x004029dc, 0x18
+
+ .align 2
+gBattleAnimSpriteTemplate_84029F4:: @ 84029F4
+ spr_template 10255, 10255, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130A2C
+
+ .align 2
+gBattleAnimSpriteTemplate_8402A0C:: @ 8402A0C
+ spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130AEC
+
+ .align 2
+gBattleAnimSpriteTemplate_8402A24:: @ 8402A24
+ spr_template 10258, 10258, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130F5C
+
+ .align 2
+gBattleAnimSpriteTemplate_8402A3C:: @ 8402A3C
+ spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131264
+
+ .align 2
+gSpriteTemplate_8402A54:: @ 8402A54
+ spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC
+
+ .align 2
+gBattleAnimSpriteTemplate_8402A6C:: @ 8402A6C
+ spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131564
+
+ .align 2
+gSpriteTemplate_8402A84:: @ 8402A84
+ spr_template 10224, 10224, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131EB8
+
+ .align 2
+gSpriteAnim_8402A9C:: @ 8402A9C
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 64, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8402AA8:: @ 8402AA8
+ .4byte gSpriteAnim_8402A9C
+
+ .align 2
+gSpriteAffineAnim_8402AAC:: @ 8402AAC
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8402AC4:: @ 8402AC4
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 4, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_8402ADC:: @ 8402ADC
+ .4byte gSpriteAffineAnim_8402AAC
+ .4byte gSpriteAffineAnim_8402AC4
+
+ .align 2
+gBattleAnimSpriteTemplate_8402AE4:: @ 8402AE4
+ spr_template 10277, 10277, gOamData_837DF9C, gSpriteAnimTable_8402AA8, NULL, gSpriteAffineAnimTable_8402ADC, sub_8132370
+
+ .align 2
+gSpriteAffineAnim_8402AFC:: @ 8402AFC
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 64
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_8402B0C:: @ 8402B0C
+ .4byte gSpriteAffineAnim_8402AFC
+
+ .align 2
+gBattleAnimSpriteTemplate_8402B10:: @ 8402B10
+ spr_template 10278, 10278, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402B0C, sub_81323E0
+
+ .align 2
+gUnknown_08402B28:: @ 8402B28
+ .incbin "baserom.gba", 0x00402b28, 0x30
+
+ .align 2
+gDexArrows_Pal::
+ .incbin "graphics/pokedex/arrows.gbapal"
+
+ .align 2
+gDexArrows_Gfx::
+ .incbin "graphics/pokedex/arrows.4bpp"
+
+ .incbin "baserom.gba", 0x00402c78, 0x80
+
+gUnknown_08402CF8:: @ 8402CF8
+ .incbin "baserom.gba", 0x00402cf8, 0x10
+
+gUnknown_08402D08:: @ 8402D08
+ .4byte OtherText_Battle
+ .byte 1, 1, 0, 0
+ .4byte OtherText_Power
+ .byte 1, 4, 1, 0
+ .4byte OtherText_Accuracy
+ .byte 1, 9, 2, 0
+ .space 8
+
+ .4byte OtherText_Contest
+ .byte 1, 1, 0, 0
+ .4byte OtherText_Appeal
+ .byte 1, 4, 1, 0
+ .4byte OtherText_Jam
+ .byte 1, 9, 2, 0
+ .space 8
+
+ .incbin "baserom.gba", 0x402d48, 0x8
+
+ .align 2
+gOamData_8402D50:: @ 8402D50
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_8402D58:: @ 8402D58
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_8402D60:: @ 8402D60
+ .2byte 0x4000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_8402D68:: @ 8402D68
+ obj_image_anim_frame 2, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8402D70:: @ 8402D70
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8402D78:: @ 8402D78
+ .4byte gSpriteAnim_8402D68
+ .4byte gSpriteAnim_8402D70
+
+ .align 2
+gUnknown_08402D80:: @ 8402D80
+ obj_tiles gDexArrows_Gfx, 384, 0x1595
+
+ .align 2
+gUnknown_08402D88:: @ 8402D88
+ obj_pal gDexArrows_Pal, 0x1596
+
+ .align 2
+gSpriteTemplate_8402D90:: @ 8402D90
+ spr_template 5525, 5526, gOamData_8402D58, gSpriteAnimTable_8402D78, NULL, gDummySpriteAffineAnimTable, sub_8133300
+
+ .align 2
+gSpriteAnim_8402DA8:: @ 8402DA8
+ obj_image_anim_frame 4, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8402DB0:: @ 8402DB0
+ obj_image_anim_frame 6, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8402DB8:: @ 8402DB8
+ .4byte gSpriteAnim_8402DA8
+ .4byte gSpriteAnim_8402DB0
+
+ .align 2
+gSpriteTemplate_8402DC0:: @ 8402DC0
+ spr_template 5525, 5526, gOamData_8402D60, gSpriteAnimTable_8402DB8, NULL, gDummySpriteAffineAnimTable, sub_8133300
+
+ .align 2
+gSpriteAnim_8402DD8:: @ 8402DD8
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8402DE0:: @ 8402DE0
+ obj_image_anim_frame 9, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8402DE8:: @ 8402DE8
+ obj_image_anim_frame 10, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8402DF0:: @ 8402DF0
+ obj_image_anim_frame 11, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8402DF8:: @ 8402DF8
+ .4byte gSpriteAnim_8402DD8
+ .4byte gSpriteAnim_8402DE0
+ .4byte gSpriteAnim_8402DE8
+ .4byte gSpriteAnim_8402DF0
+
+ .align 2
+gSpriteTemplate_8402E08:: @ 8402E08
+ spr_template 5525, 5526, gOamData_8402D50, gSpriteAnimTable_8402DF8, NULL, gDummySpriteAffineAnimTable, sub_8133300
+
+ .align 2
+ .incbin "baserom.gba", 0x00402e20, 0x4
+
+gUnknown_08402E24:: @ 8402E24
+ .incbin "baserom.gba", 0x00402e24, 0x15
+
+gUnknown_08402E39:: @ 8402E39
+ .byte 0, 1, 2, 3
+
+gUnknown_08402E3D:: @ 8402E3D
+ .byte 4, 5, 6
+
+@ pointer to decorations, capacity
+ .align 2
+gDecorationInventories:: @ 8402E40
+ .4byte gSaveBlock1 + 0x26A0, 10 @ DESK
+ .4byte gSaveBlock1 + 0x26AA, 10 @ CHAIR
+ .4byte gSaveBlock1 + 0x26B4, 10 @ PLANT
+ .4byte gSaveBlock1 + 0x26BE, 30 @ ORNAMENT
+ .4byte gSaveBlock1 + 0x26DC, 30 @ MAT
+ .4byte gSaveBlock1 + 0x26FA, 10 @ POSTER
+ .4byte gSaveBlock1 + 0x2704, 40 @ DOLL
+ .4byte gSaveBlock1 + 0x272C, 10 @ CUSHION
+
+gRoamerLocations:: @ 8402E80
+ .byte 0x19,0x1A,0x20,0x21,0x31,0xFF
+ .byte 0x1A,0x19,0x20,0x21,0xFF,0xFF
+ .byte 0x20,0x1A,0x19,0x21,0xFF,0xFF
+ .byte 0x21,0x20,0x19,0x1A,0x22,0x26
+ .byte 0x22,0x21,0x23,0xFF,0xFF,0xFF
+ .byte 0x23,0x22,0x24,0xFF,0xFF,0xFF
+ .byte 0x24,0x23,0x25,0x26,0xFF,0xFF
+ .byte 0x25,0x24,0x26,0xFF,0xFF,0xFF
+ .byte 0x26,0x25,0x21,0xFF,0xFF,0xFF
+ .byte 0x27,0x24,0x28,0x29,0xFF,0xFF
+ .byte 0x28,0x27,0x2A,0xFF,0xFF,0xFF
+ .byte 0x29,0x27,0x2A,0xFF,0xFF,0xFF
+ .byte 0x2A,0x28,0x29,0x2B,0xFF,0xFF
+ .byte 0x2B,0x2A,0x2C,0xFF,0xFF,0xFF
+ .byte 0x2C,0x2B,0x2D,0xFF,0xFF,0xFF
+ .byte 0x2D,0x2C,0x2E,0xFF,0xFF,0xFF
+ .byte 0x2E,0x2D,0x2F,0xFF,0xFF,0xFF
+ .byte 0x2F,0x2E,0x30,0xFF,0xFF,0xFF
+ .byte 0x30,0x2F,0x31,0xFF,0xFF,0xFF
+ .byte 0x31,0x30,0x19,0xFF,0xFF,0xFF
+ .byte 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
+
+@ 8402F00
+ .include "data/battle_tower/trainers.inc"
+
+@ 8403860
+ .include "data/battle_tower/held_items.inc"
+
+@ 84038E0
+ .include "data/battle_tower/level_50_mons.inc"
+
+@ 8404BA0
+ .include "data/battle_tower/level_100_mons.inc"
+
+gUnknown_08405E60:: @ 8405E60
+ .incbin "baserom.gba", 0x00405e60, 0x1e
+
+gUnknown_08405E7E:: @ 8405E7E
+ .incbin "baserom.gba", 0x00405e7e, 0x14
+
+gUnknown_08405E92:: @ 8405E92
+ .incbin "baserom.gba", 0x00405e92, 0x1e
+
+gUnknown_08405EB0:: @ 8405EB0
+ .incbin "baserom.gba", 0x00405eb0, 0x14
+
+ .align 1
+gBattleTowerBanlist:: @ 8405EC4
+ .2byte SPECIES_MEW
+ .2byte SPECIES_MEWTWO
+ .2byte SPECIES_HO_OH
+ .2byte SPECIES_LUGIA
+ .2byte SPECIES_CELEBI
+ .2byte SPECIES_KYOGRE
+ .2byte SPECIES_GROUDON
+ .2byte SPECIES_RAYQUAZA
+ .2byte SPECIES_JIRACHI
+ .2byte SPECIES_DEOXYS
+ .2byte -1
+
+gUnknown_08405EDA:: @ 8405EDA
+ .incbin "baserom.gba", 0x00405eda, 0xc
+
+gUnknown_08405EE6:: @ 8405EE6
+ .incbin "baserom.gba", 0x00405ee6, 0x12
+
+ .align 2
+ConditionUpDownPalette:
+ .incbin "graphics/misc/condition_up_down.gbapal"
+
+ .align 2
+ConditionUpDownTiles:
+ .incbin "graphics/misc/condition_up_down.4bpp"
+
+gUnknown_08406118:: @ 8406118
+ .incbin "baserom.gba", 0x00406118, 0x14
+
+ .align 2
+gUnknown_0840612C:: @ 840612C
+ obj_pal 0x02030400, 0x0001
+
+ .align 2
+gUnknown_08406134:: @ 8406134
+ .4byte OtherText_Coolness
+ .4byte OtherText_Toughness
+ .4byte OtherText_Smartness
+ .4byte OtherText_Cuteness
+ .4byte OtherText_Beauty
+
+ .align 2
+gSpriteSheet_ConditionUpDown:: @ 8406148
+ obj_tiles ConditionUpDownTiles, 0x200, 0
+
+ .align 2
+gSpritePalette_ConditionUpDown:: @ 8406150
+ obj_pal ConditionUpDownPalette, 0
+
+gUnknown_08406158:: @ 8406158
+ .incbin "baserom.gba", 0x00406158, 0x14
+
+ .align 2
+gOamData_840616C:: @ 840616C
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8406174:: @ 8406174
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840617C:: @ 840617C
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8406184:: @ 8406184
+ .4byte gSpriteAnim_8406174
+ .4byte gSpriteAnim_840617C
+
+ .align 2
+gSpriteTemplate_840618C:: @ 840618C
+ spr_template 0, 0, gOamData_840616C, gSpriteAnimTable_8406184, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_084061A4:: @ 84061A4
+ .4byte dp01t_00_5_getattr
+ .4byte sub_8138230
+ .4byte sub_813823C
+ .4byte sub_8138C90
+ .4byte sub_8138C9C
+ .4byte sub_8138CA8
+ .4byte sub_8138CB4
+ .4byte sub_8138D38
+ .4byte sub_8138E04
+ .4byte sub_8138ED0
+ .4byte sub_8138EDC
+ .4byte sub_8138EE8
+ .4byte sub_8138EF4
+ .4byte sub_8138F44
+ .4byte sub_8138FA0
+ .4byte sub_8138FAC
+ .4byte sub_8139208
+ .4byte dp01t_11_5_message_for_player_only
+ .4byte sub_8139298
+ .4byte sub_8139378
+ .4byte sub_8139384
+ .4byte sub_81393EC
+ .4byte sub_813942C
+ .4byte sub_8139438
+ .4byte sub_8139444
+ .4byte sub_8139544
+ .4byte sub_8139550
+ .4byte sub_813955C
+ .4byte sub_8139568
+ .4byte sub_8139574
+ .4byte sub_8139580
+ .4byte sub_813958C
+ .4byte sub_8139598
+ .4byte sub_81395A4
+ .4byte sub_81395B0
+ .4byte sub_81395BC
+ .4byte sub_81395C8
+ .4byte sub_81395D4
+ .4byte sub_81395E0
+ .4byte sub_81395EC
+ .4byte sub_81395F8
+ .4byte sub_8139604
+ .4byte sub_8139674
+ .4byte sub_8139680
+ .4byte sub_81396B0
+ .4byte sub_81396E0
+ .4byte dp01t_2E_5_battle_intro
+ .4byte sub_8139750
+ .4byte sub_8139AA0
+ .4byte sub_8139B20
+ .4byte sub_8139B2C
+ .4byte sub_8139B38
+ .4byte sub_8139B44
+ .4byte sub_8139BA0
+ .4byte sub_8139BAC
+ .4byte sub_8139BB8
+ .4byte nullsub_80
+
+ .align 2
+gUnknown_08406288:: @ 8406288
+ .4byte PCText_TakeOutItems
+ .4byte PCText_StoreItems
+ .4byte PCText_ThrowAwayItems
+ .4byte gMenuText_GoBackToPrev
+
+ .align 2
+gUnknown_08406298:: @ 8406298
+ .4byte SecretBaseText_ItemStorage, PlayerPC_ItemStorage
+ .4byte gPCText_Mailbox, PlayerPC_Mailbox
+ .4byte SecretBaseText_Decoration, PlayerPC_Decoration
+ .4byte SecretBaseText_TurnOff, PlayerPC_TurnOff
+
+gUnknown_084062B8:: @ 84062B8
+ .incbin "baserom.gba", 0x004062b8, 0x4
+
+gUnknown_084062BC:: @ 84062BC
+ .incbin "baserom.gba", 0x004062bc, 0x4
+
+ .align 2
+gUnknown_084062C0:: @ 84062C0
+ .4byte PCText_WithdrawItem, ItemStorage_Withdraw
+ .4byte PCText_DepositItem, ItemStorage_Deposit
+ .4byte PCText_TossItem, ItemStorage_Toss
+ .4byte gUnknownText_Exit, ItemStorage_Exit
+
+ .align 2
+gUnknown_084062E0:: @ 84062E0
+ .4byte sub_813A83C
+ .4byte sub_813A878
+
+ .align 2
+gUnknown_084062E8:: @ 84062E8
+ .4byte sub_813B578
+ .4byte sub_813B610
+
+ .align 2
+gNewGamePCItems:: @ 84062F0
+ .2byte ITEM_POTION, 1
+ .2byte 0, 0
+
+ .align 2
+gUnknown_084062F8:: @ 84062F8
+ .4byte OtherText_Read, Mailbox_Read
+ .4byte gOtherText_MoveToBag, Mailbox_MoveToBag
+ .4byte OtherText_Give, Mailbox_Give
+ .4byte gOtherText_CancelNoTerminator, Mailbox_Cancel
+
+gUnknown_08406318:: @ 8406318
+ .string "{STR_VAR_1}{CLEAR_TO 80}$"
+
+gUnknown_0840631E:: @ 840631E
+ .string "{COLOR RED}{STR_VAR_1}{CLEAR_TO 80}$"
+
+gUnknown_08406327:: @ 8406327
+ .string "{STR_VAR_1}$"
+
+gUnknown_0840632A:: @ 840632A
+ .string "{COLOR RED}{STR_VAR_1}$"
+
+gUnknown_08406330:: @ 8406330
+ .string "{CLEAR_TO 32}$"
+
+gUnknown_08406334:: @ 8406334
+ .incbin "baserom.gba", 0x00406334, 0x6
+
+gUnknown_0840633A:: @ 840633A
+ .string "{COLOR RED}{STR_VAR_1}$"
+
+ .align 2
+Palette_406340:: @ 8406340
+ .incbin "baserom.gba", 0x406340, 0x20
+
+ .align 2
+Palette_406360:: @ 8406360
+ .incbin "baserom.gba", 0x406360, 0x20
+
+ .align 2
+gIntroTiles::
+ .incbin "graphics/intro/intro.4bpp.lz"
+
+ .align 2
+gUnknown_08406974:: @ 8406974
+ .incbin "graphics/intro/intro1_bgpal1.gbapal"
+ .incbin "graphics/intro/intro1_bgpal2.gbapal"
+ .incbin "graphics/intro/intro1_bgpal3.gbapal"
+ .incbin "graphics/intro/intro1_bgpal4.gbapal"
+ .incbin "graphics/intro/intro1_bgpal5.gbapal"
+ .incbin "graphics/intro/intro1_bgpal6.gbapal"
+ .incbin "graphics/intro/intro1_bgpal7.gbapal"
+ .incbin "graphics/intro/intro1_bgpal8.gbapal"
+ .incbin "graphics/intro/intro1_bgpal9.gbapal"
+ .incbin "graphics/intro/intro1_bgpal10.gbapal"
+ .incbin "graphics/intro/intro1_bgpal11.gbapal"
+ .incbin "graphics/intro/intro1_bgpal12.gbapal"
+ .incbin "graphics/intro/intro1_bgpal13.gbapal"
+ .incbin "graphics/intro/intro1_bgpal14.gbapal"
+ .incbin "graphics/intro/intro1_bgpal15.gbapal"
+ .incbin "graphics/intro/intro1_bgpal16.gbapal"
+
+ .align 2
+gUnknown_08406B74:: @ 8406B74
+ .incbin "graphics/intro/intro1_bg0_map.bin.lz"
+
+ .align 2
+gUnknown_08406F28:: @ 8406F28
+ .incbin "graphics/intro/intro1_bg1_map.bin.lz"
+
+ .align 2
+gUnknown_0840725C:: @ 840725C
+ .incbin "graphics/intro/intro1_bg2_map.bin.lz"
+
+ .align 2
+gUnknown_0840754C:: @ 840754C
+ .incbin "graphics/intro/intro1_bg3_map.bin.lz"
+
+ .align 2
+gUnknown_08407764:: @ 8407764
+ .incbin "graphics/intro/introgfx.4bpp.lz"
+
+ .align 2
+gUnknown_084098D4:: @ 84098D4
+ .incbin "graphics/intro/intro3_pokeball.gbapal"
+
+ .align 2
+gUnknown_08409AD4:: @ 8409AD4
+ .incbin "graphics/intro/intro3_pokeball_map.bin.lz"
+
+ .align 2
+gUnknown_08409C04:: @ 8409C04
+ .incbin "graphics/intro/intro3_pokeball.8bpp.lz"
+
+ .align 2
+gUnknown_0840A758:: @ 840A758
+ .incbin "graphics/intro/intro3_streaks.gbapal"
+
+ .align 2
+gUnknown_0840A778:: @ 840A778
+ .incbin "graphics/intro/intro3_streaks.4bpp.lz"
+
+ .align 2
+gUnknown_0840A7E4:: @ 840A7E4
+ .incbin "graphics/intro/intro3_streaks_map.bin.lz"
+
+ .align 2
+gIntro3Misc1Palette::
+ .incbin "graphics/intro/intro3_misc1.gbapal"
+
+ .align 2
+gIntro3Misc2Palette::
+ .incbin "graphics/intro/intro3_misc2.gbapal"
+
+ .align 2
+gIntro3MiscTiles::
+ .incbin "graphics/intro/intro3_misc.4bpp.lz"
+
+ .align 2
+gIntro1EonPalette::
+ .incbin "graphics/intro/intro1_eon.gbapal"
+
+ .align 2
+gIntro1EonTiles::
+ .incbin "graphics/intro/intro1_eon.4bpp.lz"
+
+ .align 2
+gOamData_840ADE8:: @ 840ADE8
+ .2byte 0x00A0
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_840ADF0:: @ 840ADF0
+ obj_image_anim_frame 16, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840ADF8:: @ 840ADF8
+ obj_image_anim_frame 24, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AE00:: @ 840AE00
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AE08:: @ 840AE08
+ obj_image_anim_frame 48, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840AE10:: @ 840AE10
+ .4byte gSpriteAnim_840ADF0
+ .4byte gSpriteAnim_840ADF8
+ .4byte gSpriteAnim_840AE00
+ .4byte gSpriteAnim_840AE08
+
+ .align 2
+gSpriteTemplate_840AE20:: @ 840AE20
+ spr_template 2000, 2000, gOamData_840ADE8, gSpriteAnimTable_840AE10, NULL, gDummySpriteAffineAnimTable, sub_813D208
+
+ .align 2
+Unknown_40AE38: @ 840AE38
+ .incbin "baserom.gba", 0x40ae38, 0x14
+
+ .align 2
+Unknown_40AE4C: @ 840AE4C
+ .incbin "baserom.gba", 0x40ae4c, 0x14
+
+ .align 2
+Unknown_40AE60: @ 840AE60
+ .incbin "baserom.gba", 0x40ae60, 0x10
+
+ .align 2
+Unknown_40AE70: @ 840AE70
+ .incbin "baserom.gba", 0x40ae70, 0x10
+
+ .align 2
+gUnknown_0840AE80:: @ 840AE80
+ .4byte Unknown_40AE38
+ .4byte Unknown_40AE4C
+ .4byte Unknown_40AE60
+ .4byte Unknown_40AE70
+
+ .align 2
+gOamData_840AE90:: @ 840AE90
+ .2byte 0x00A0
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gOamData_840AE98:: @ 840AE98
+ .2byte 0x00A0
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_840AEA0:: @ 840AEA0
+ .2byte 0x80A0
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_840AEA8:: @ 840AEA8
+ obj_image_anim_frame 80, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEB0:: @ 840AEB0
+ obj_image_anim_frame 84, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEB8:: @ 840AEB8
+ obj_image_anim_frame 88, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEC0:: @ 840AEC0
+ obj_image_anim_frame 92, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEC8:: @ 840AEC8
+ obj_image_anim_frame 96, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AED0:: @ 840AED0
+ obj_image_anim_frame 100, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AED8:: @ 840AED8
+ obj_image_anim_frame 104, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEE0:: @ 840AEE0
+ obj_image_anim_frame 112, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEE8:: @ 840AEE8
+ obj_image_anim_frame 113, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEF0:: @ 840AEF0
+ obj_image_anim_frame 114, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AEF8:: @ 840AEF8
+ obj_image_anim_frame 115, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AF00:: @ 840AF00
+ obj_image_anim_frame 116, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AF08:: @ 840AF08
+ obj_image_anim_frame 117, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840AF10:: @ 840AF10
+ obj_image_anim_frame 128, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840AF18:: @ 840AF18
+ .4byte gSpriteAnim_840AEA8
+ .4byte gSpriteAnim_840AEB0
+ .4byte gSpriteAnim_840AEB8
+ .4byte gSpriteAnim_840AEC0
+ .4byte gSpriteAnim_840AEC8
+ .4byte gSpriteAnim_840AED0
+ .4byte gSpriteAnim_840AED8
+
+ .align 2
+gSpriteAnimTable_840AF34:: @ 840AF34
+ .4byte gSpriteAnim_840AEE0
+ .4byte gSpriteAnim_840AEE8
+ .4byte gSpriteAnim_840AEF0
+ .4byte gSpriteAnim_840AEF8
+ .4byte gSpriteAnim_840AF00
+ .4byte gSpriteAnim_840AF08
+
+ .align 2
+gSpriteAnimTable_840AF4C:: @ 840AF4C
+ .4byte gSpriteAnim_840AF10
+
+gUnknown_0840AF50:: @ 840AF50
+ .incbin "baserom.gba", 0x0040af50, 0x24
+
+gUnknown_0840AF74:: @ 840AF74
+ .incbin "baserom.gba", 0x0040af74, 0x20
+
+ .align 2
+gSpriteTemplate_840AF94:: @ 840AF94
+ spr_template 2000, 2001, gOamData_840AE90, gSpriteAnimTable_840AF18, NULL, gDummySpriteAffineAnimTable, sub_813D908
+
+ .align 2
+gSpriteTemplate_840AFAC:: @ 840AFAC
+ spr_template 2000, 2001, gOamData_840AE98, gSpriteAnimTable_840AF34, NULL, gDummySpriteAffineAnimTable, sub_813D908
+
+ .align 2
+gSpriteTemplate_840AFC4:: @ 840AFC4
+ spr_template 2000, 2001, gOamData_840AEA0, gSpriteAnimTable_840AF4C, NULL, gDummySpriteAffineAnimTable, sub_813D908
+
+ .align 2
+gOamData_840AFDC:: @ 840AFDC
+ .2byte 0x40A0
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_840AFE4:: @ 840AFE4
+ obj_image_anim_frame 0, 10
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_840AFEC:: @ 840AFEC
+ .4byte gSpriteAnim_840AFE4
+
+ .align 2
+gSpriteTemplate_840AFF0:: @ 840AFF0
+ spr_template 2002, 2002, gOamData_840AFDC, gSpriteAnimTable_840AFEC, NULL, gDummySpriteAffineAnimTable, sub_813DA64
+
+ .align 2
+gUnknown_0840B008:: @ 840B008
+ obj_tiles gIntroTiles, 0x1400, 2000
+ .space 8
+
+ .align 2
+gUnknown_0840B018:: @ 840B018
+ obj_tiles gIntro1EonTiles, 0x400, 2002
+ .space 8
+
+ .align 2
+gUnknown_0840B028:: @ 840B028
+ obj_pal Palette_406340, 2000
+ obj_pal Palette_406360, 2001
+ obj_pal gIntro1EonPalette, 2002
+ .space 8
+
+gUnknown_0840B048:: @ 840B048
+ .incbin "baserom.gba", 0x40b048, 0x8
+
+gUnknown_0840B050:: @ 840B050
+ .incbin "baserom.gba", 0x40b050, 0x8
+
+gUnknown_0840B058:: @ 840B058
+ .incbin "baserom.gba", 0x40b058, 0xc
+
+ .align 2
+gUnknown_0840B064:: @ 840B064
+ .4byte gUnknown_0840B048
+ .4byte gUnknown_0840B050
+ .4byte gUnknown_0840B058
+
+ .align 2
+gOamData_840B070:: @ 840B070
+ .2byte 0x00A0
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840B078:: @ 840B078
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B080:: @ 840B080
+ .4byte gSpriteAnim_840B078
+
+ .align 2
+gSpriteTemplate_840B084:: @ 840B084
+ spr_template 2002, 2002, gOamData_840B070, gSpriteAnimTable_840B080, NULL, gDummySpriteAffineAnimTable, sub_813E30C
+
+ .align 2
+gOamData_840B09C:: @ 840B09C
+ .2byte 0x00A0
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840B0A4:: @ 840B0A4
+ obj_image_anim_frame 1, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B0AC:: @ 840B0AC
+ .4byte gSpriteAnim_840B0A4
+
+ .align 2
+gSpriteTemplate_840B0B0:: @ 840B0B0
+ spr_template 2003, 2003, gOamData_840B09C, gSpriteAnimTable_840B0AC, NULL, gDummySpriteAffineAnimTable, sub_813E4B8
+
+ .align 2
+gOamData_840B0C8:: @ 840B0C8
+ .2byte 0x00A0
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840B0D0:: @ 840B0D0
+ obj_image_anim_frame 14, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B0D8:: @ 840B0D8
+ .4byte gSpriteAnim_840B0D0
+
+ .align 2
+gSpriteTemplate_840B0DC:: @ 840B0DC
+ spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E5E0
+
+ .align 2
+gSpriteTemplate_840B0F4:: @ 840B0F4
+ spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E6C0
+
+ .align 2
+gOamData_840B10C:: @ 840B10C
+ .2byte 0x00A0
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840B114:: @ 840B114
+ obj_image_anim_frame 6, 8
+ obj_image_anim_frame 6, 8, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_840B120:: @ 840B120
+ .4byte gSpriteAnim_840B114
+
+ .align 2
+gSpriteTemplate_840B124:: @ 840B124
+ spr_template 2003, 2004, gOamData_840B10C, gSpriteAnimTable_840B120, NULL, gDummySpriteAffineAnimTable, sub_813E804
+
+ .align 2
+gOamData_840B13C:: @ 840B13C
+ .2byte 0x00A0
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840B144:: @ 840B144
+ obj_image_anim_frame 10, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B14C:: @ 840B14C
+ .4byte gSpriteAnim_840B144
+
+ .align 2
+gSpriteTemplate_840B150:: @ 840B150
+ spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, GetCurrentTrainerHillMapId
+
+gUnknown_0840B168:: @ 840B168
+ .incbin "baserom.gba", 0x0040b168, 0x8
+
+ .align 2
+gSpriteTemplate_840B170:: @ 840B170
+ spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, sub_813EA60
+
+gUnknown_0840B188:: @ 840B188
+ .incbin "baserom.gba", 0x0040b188, 0x14
+
+ .align 2
+gOamData_840B19C:: @ 840B19C
+ .2byte 0x00A0
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840B1A4:: @ 840B1A4
+ obj_image_anim_frame 2, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B1AC:: @ 840B1AC
+ .4byte gSpriteAnim_840B1A4
+
+ .align 2
+gSpriteTemplate_840B1B0:: @ 840B1B0
+ spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EBBC
+
+ .align 2
+gSpriteTemplate_840B1C8:: @ 840B1C8
+ spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EC90
+
+ .align 2
+gOamData_840B1E0:: @ 840B1E0
+ .2byte 0x00A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840B1E8:: @ 840B1E8
+ obj_image_anim_frame 16, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B1F0:: @ 840B1F0
+ .4byte gSpriteAnim_840B1E8
+
+ .align 2
+gSpriteTemplate_840B1F4:: @ 840B1F4
+ spr_template 2003, 2003, gOamData_840B1E0, gSpriteAnimTable_840B1F0, NULL, gDummySpriteAffineAnimTable, sub_813EDFC
+
+ .align 2
+gUnknown_0840B20C:: @ 840B20C
+ obj_tiles gInterfaceGfx_PokeBall, 0x100, 2002
+ .space 8
+
+ .align 2
+gUnknown_0840B21C:: @ 840B21C
+ obj_tiles gIntro3MiscTiles, 0xa00, 2003
+ .space 8
+
+ .align 2
+gUnknown_0840B22C:: @ 840B22C
+ obj_pal gInterfacePal_PokeBall, 2002
+ .space 8
+
+ .align 2
+gUnknown_0840B23C:: @ 840B23C
+ obj_pal gIntro3Misc1Palette, 2003
+ obj_pal gIntro3Misc2Palette, 2004
+ .space 8
+
+ .incbin "baserom.gba", 0x0040b254, 0x4
+
+ .align 2
+gUnknown_0840B258:: @ 840B258
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55020
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55021
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55022
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55023
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55024
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55025
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55026
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55027
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55028
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55029
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55030
+ obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55031
+
+ .align 2
+gUnknown_0840B2B8:: @ 840B2B8
+ obj_pal gBattleAnimSpritePalette_136, 55020
+ obj_pal gBattleAnimSpritePalette_136, 55021
+ obj_pal gBattleAnimSpritePalette_136, 55022
+ obj_pal gBattleAnimSpritePalette_136, 55023
+ obj_pal gBattleAnimSpritePalette_136, 55024
+ obj_pal gBattleAnimSpritePalette_136, 55025
+ obj_pal gBattleAnimSpritePalette_136, 55026
+ obj_pal gBattleAnimSpritePalette_136, 55027
+ obj_pal gBattleAnimSpritePalette_136, 55028
+ obj_pal gBattleAnimSpritePalette_136, 55029
+ obj_pal gBattleAnimSpritePalette_136, 55030
+ obj_pal gBattleAnimSpritePalette_136, 55031
+
+ .align 2
+gSpriteAnim_840B318:: @ 840B318
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 2, 1
+ obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 2, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_840B334:: @ 840B334
+ obj_image_anim_frame 3, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B33C:: @ 840B33C
+ obj_image_anim_frame 4, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B344:: @ 840B344
+ obj_image_anim_frame 5, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B34C:: @ 840B34C
+ obj_image_anim_frame 6, 4
+ obj_image_anim_frame 7, 4
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_840B358:: @ 840B358
+ obj_image_anim_frame 7, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B360:: @ 840B360
+ .4byte gSpriteAnim_840B318
+ .4byte gSpriteAnim_840B334
+ .4byte gSpriteAnim_840B33C
+ .4byte gSpriteAnim_840B344
+ .4byte gSpriteAnim_840B34C
+ .4byte gSpriteAnim_840B358
+
+gUnknown_0840B378:: @ 840B378
+ .incbin "baserom.gba", 0x0040b378, 0xc
+
+ .align 2
+gUnknown_0840B384:: @ 840B384
+ .4byte sub_8140930
+ .4byte sub_8140DC4
+ .4byte sub_8140C14
+ .4byte sub_8140CE8
+ .4byte sub_8141058
+ .4byte sub_8140C14
+ .4byte sub_8140B3C
+ .4byte sub_8140CE8
+ .4byte sub_8140F24
+ .4byte sub_8140A64
+ .4byte sub_8140DC4
+ .4byte sub_8141164
+
+ .align 2
+gSpriteTemplate_840B3B4:: @ 840B3B4
+ spr_template 55020, 55020, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B3CC:: @ 840B3CC
+ spr_template 55021, 55021, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B3E4:: @ 840B3E4
+ spr_template 55022, 55022, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B3FC:: @ 840B3FC
+ spr_template 55023, 55023, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B414:: @ 840B414
+ spr_template 55024, 55024, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B42C:: @ 840B42C
+ spr_template 55025, 55025, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B444:: @ 840B444
+ spr_template 55026, 55026, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B45C:: @ 840B45C
+ spr_template 55027, 55027, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B474:: @ 840B474
+ spr_template 55028, 55028, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B48C:: @ 840B48C
+ spr_template 55029, 55029, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B4A4:: @ 840B4A4
+ spr_template 55030, 55030, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_840B4BC:: @ 840B4BC
+ spr_template 55031, 55031, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_0840B4D4:: @ 840B4D4
+ .incbin "baserom.gba", 0x0040b4d4, 0x28
+
+ .align 2
+gBattleAnimSpriteTemplate_840B4FC:: @ 840B4FC
+ spr_template 10269, 10269, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8141C30
+
+ .align 2
+gUnknown_0840B514:: @ 840B514
+ obj_tiles gContestConfetti_Gfx, 0x220, 1001
+ .space 8
+
+gUnknown_0840B524:: @ 840B524
+ obj_pal gContestConfetti_Pal, 1001
+ .space 8
+
+gUnknown_0840B534:: @ 840B534
+ .incbin "baserom.gba", 0x0040b534, 0x6
+
+gUnknown_0840B53A:: @ 840B53A
+ .incbin "baserom.gba", 0x0040b53a, 0x2a
+
+gUnknown_0840B564:: @ 840B564
+ .incbin "baserom.gba", 0x0040b564, 0x6
+
+gUnknown_0840B56A:: @ 840B56A
+ .incbin "baserom.gba", 0x0040b56a, 0x12
+
+gUnknown_0840B57C:: @ 840B57C
+ .incbin "baserom.gba", 0x0040b57c, 0x1c
+
+ .align 2
+gOamData_840B598:: @ 840B598
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gUnknown_0840B5A0:: @ 840B5A0
+ .4byte 0x02008000
+ .4byte 0x0200A000
+ .4byte 0x0200C000
+ .4byte 0x0200E000
+ .4byte 0x02010000
+ .4byte 0x02014000
+ .4byte 0x02018000
+
+ .align 2
+gSpriteImageTable_840B5BC:: @ 840B5BC
+ obj_frame_tiles 0x02008000, 0x800
+ obj_frame_tiles 0x02008800, 0x800
+ obj_frame_tiles 0x02009000, 0x800
+ obj_frame_tiles 0x02009800, 0x800
+
+ .align 2
+gSpriteImageTable_840B5DC:: @ 840B5DC
+ obj_frame_tiles 0x0200A000, 0x800
+ obj_frame_tiles 0x0200A800, 0x800
+ obj_frame_tiles 0x0200B000, 0x800
+ obj_frame_tiles 0x0200B800, 0x800
+
+ .align 2
+gSpriteImageTable_840B5FC:: @ 840B5FC
+ obj_frame_tiles 0x0200C000, 0x800
+ obj_frame_tiles 0x0200C800, 0x800
+ obj_frame_tiles 0x0200D000, 0x800
+ obj_frame_tiles 0x0200D800, 0x800
+
+ .align 2
+gSpriteImageTable_840B61C:: @ 840B61C
+ obj_frame_tiles 0x0200E000, 0x800
+ obj_frame_tiles 0x0200E800, 0x800
+ obj_frame_tiles 0x0200F000, 0x800
+ obj_frame_tiles 0x0200F800, 0x800
+
+ .align 2
+gSpriteImageTable_840B63C:: @ 840B63C
+ obj_frame_tiles 0x02010000, 0x800
+ obj_frame_tiles 0x02010800, 0x800
+ obj_frame_tiles 0x02011000, 0x800
+ obj_frame_tiles 0x02011800, 0x800
+
+ .align 2
+gSpriteImageTable_840B65C:: @ 840B65C
+ obj_frame_tiles 0x02014000, 0x800
+ obj_frame_tiles 0x02014800, 0x800
+ obj_frame_tiles 0x02015000, 0x800
+ obj_frame_tiles 0x02015800, 0x800
+
+ .align 2
+gSpriteImageTable_840B67C:: @ 840B67C
+ obj_frame_tiles 0x02018000, 0x800
+ obj_frame_tiles 0x02018800, 0x800
+ obj_frame_tiles 0x02019000, 0x800
+ obj_frame_tiles 0x02019800, 0x800
+
+ .align 2
+gUnknown_0840B69C:: @ 840B69C
+ .4byte gSpriteImageTable_840B5BC
+ .4byte gSpriteImageTable_840B5DC
+ .4byte gSpriteImageTable_840B5FC
+ .4byte gSpriteImageTable_840B61C
+ .4byte gSpriteImageTable_840B63C
+ .4byte gSpriteImageTable_840B65C
+ .4byte gSpriteImageTable_840B67C
+
+gUnknown_0840B6B8:: @ 840B6B8
+ spr_template -1, -1, gOamData_840B598, NULL, gSpriteImageTable_840B5BC, gDummySpriteAffineAnimTable, nullsub_81
+
+ .align 2
+gOamData_840B6D0:: @ 840B6D0
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_840B6D8:: @ 840B6D8
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B6E0:: @ 840B6E0
+ obj_image_anim_frame 1, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B6E8:: @ 840B6E8
+ obj_image_anim_frame 2, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B6F0:: @ 840B6F0
+ obj_image_anim_frame 3, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B6F8:: @ 840B6F8
+ obj_image_anim_frame 4, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B700:: @ 840B700
+ obj_image_anim_frame 5, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B708:: @ 840B708
+ obj_image_anim_frame 6, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B710:: @ 840B710
+ obj_image_anim_frame 7, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B718:: @ 840B718
+ obj_image_anim_frame 8, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B720:: @ 840B720
+ obj_image_anim_frame 9, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B728:: @ 840B728
+ obj_image_anim_frame 10, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B730:: @ 840B730
+ obj_image_anim_frame 11, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B738:: @ 840B738
+ obj_image_anim_frame 12, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B740:: @ 840B740
+ obj_image_anim_frame 13, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B748:: @ 840B748
+ obj_image_anim_frame 14, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B750:: @ 840B750
+ obj_image_anim_frame 15, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840B758:: @ 840B758
+ obj_image_anim_frame 16, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840B760:: @ 840B760
+ .4byte gSpriteAnim_840B6D8
+ .4byte gSpriteAnim_840B6E0
+ .4byte gSpriteAnim_840B6E8
+ .4byte gSpriteAnim_840B6F0
+ .4byte gSpriteAnim_840B6F8
+ .4byte gSpriteAnim_840B700
+ .4byte gSpriteAnim_840B708
+ .4byte gSpriteAnim_840B710
+ .4byte gSpriteAnim_840B718
+ .4byte gSpriteAnim_840B720
+ .4byte gSpriteAnim_840B728
+ .4byte gSpriteAnim_840B730
+ .4byte gSpriteAnim_840B738
+ .4byte gSpriteAnim_840B740
+ .4byte gSpriteAnim_840B748
+ .4byte gSpriteAnim_840B750
+ .4byte gSpriteAnim_840B758
+
+ .align 2
+gSpriteTemplate_840B7A4:: @ 840B7A4
+ spr_template 1001, 1001, gOamData_840B6D0, gSpriteAnimTable_840B760, NULL, gDummySpriteAffineAnimTable, sub_814386C
+
+gUnknown_0840B7BC:: @ 840B7BC
+ .incbin "baserom.gba", 0x0040b7bc, 0x40
+
+gUnknown_0840B7FC:: @ 840B7FC
+ .incbin "baserom.gba", 0x0040b7fc, 0x40
+
+gUnknown_0840B83C:: @ 840B83C
+ .incbin "baserom.gba", 0x0040b83c, 0xf
+
+gUnknown_0840B84B:: @ 840B84B
+ .incbin "baserom.gba", 0x0040b84b, 0xf
+
+gUnknown_0840B85A:: @ 840B85A
+ .incbin "baserom.gba", 0x0040b85a, 0xf
+
+gUnknown_0840B869:: @ 840B869
+ .incbin "baserom.gba", 0x0040b869, 0xf
+
+gUnknown_0840B878::
+ .incbin "baserom.gba", 0x0040B878, 0xf
+
+ .include "data/text/credits.inc"
+
+gUnknown_0840CA00:: @ 840CA00
+ .incbin "baserom.gba", 0x0040ca00, 0x8
+
+Unknown_840CA08:
+ .incbin "baserom.gba", 0x0040ca08, 0x14
+Unknown_840CA1C:
+ .incbin "baserom.gba", 0x0040ca1c, 0x14
+Unknown_840CA30:
+ .incbin "baserom.gba", 0x0040ca30, 0x10
+Unknown_840CA40:
+ .incbin "baserom.gba", 0x0040ca40, 0x14
+
+ .align 2
+gUnknown_0840CA54:: @ 840CA54
+ .4byte Unknown_840CA08
+ .4byte Unknown_840CA1C
+ .4byte Unknown_840CA30
+ .4byte Unknown_840CA40
+
+Unknown_840CA64:
+ .incbin "baserom.gba", 0x0040ca64, 0x14
+Unknown_840CA78:
+ .incbin "baserom.gba", 0x0040ca78, 0x14
+Unknown_840CA8C:
+ .incbin "baserom.gba", 0x0040ca8c, 0x8
+
+ .align 2
+gUnknown_0840CA94:: @ 840CA94
+ .4byte Unknown_840CA64
+ .4byte Unknown_840CA78
+ .4byte Unknown_840CA8C
+
+gUnknown_0840CAA0:: @ 840CAA0
+ .incbin "baserom.gba", 0x0040caa0, 0x10
+
+gUnknown_0840CAB0:: @ 840CAB0
+ .incbin "baserom.gba", 0x0040cab0, 0x10
+
+ .align 2
+gOamData_840CAC0:: @ 840CAC0
+ .2byte 0x00A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_840CAC8:: @ 840CAC8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840CAD0:: @ 840CAD0
+ obj_image_anim_frame 64, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_840CAD8:: @ 840CAD8
+ obj_image_anim_frame 128, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_840CAE0:: @ 840CAE0
+ .4byte gSpriteAnim_840CAC8
+ .4byte gSpriteAnim_840CAD0
+ .4byte gSpriteAnim_840CAD8
+
+ .align 2
+gSpriteTemplate_840CAEC:: @ 840CAEC
+ spr_template 1001, 1001, gOamData_840CAC0, gSpriteAnimTable_840CAE0, NULL, gDummySpriteAffineAnimTable, sub_814580C
+
+gUnknown_0840CB04:: @ 840CB04
+ .incbin "baserom.gba", 0x0040cb04, 0x8
+
+ .align 2
+gDiplomaPalettes:: @ 840CB0C
+ .incbin "graphics/misc/diploma_national.gbapal"
+ .incbin "graphics/misc/diploma_hoenn.gbapal"
+
+ .align 2
+gDiplomaTilemap:: @ 840CB4C
+ .incbin "graphics/misc/diploma_map.bin.lz"
+
+ .align 2
+gDiplomaTiles:: @ 840D288
+ .incbin "graphics/misc/diploma.4bpp.lz"
+
+gExpandedPlaceholder_Empty:: @ 840DC80
+ .string "$"
+
+gExpandedPlaceholder_Kun:: @ 840DC81
+ .string "$"
+
+gExpandedPlaceholder_Chan:: @ 840DC82
+ .string "$"
+
+gExpandedPlaceholder_Sapphire:: @ 840DC83
+ .string "SAPPHIRE$"
+
+gExpandedPlaceholder_Ruby:: @ 840DC8C
+ .string "RUBY$"
+
+gExpandedPlaceholder_Aqua:: @ 840DC91
+ .string "AQUA$"
+
+gExpandedPlaceholder_Magma:: @ 840DC96
+ .string "MAGMA$"
+
+gExpandedPlaceholder_Archie:: @ 840DC9C
+ .string "ARCHIE$"
+
+gExpandedPlaceholder_Maxie:: @ 840DCA3
+ .string "MAXIE$"
+
+gExpandedPlaceholder_Kyogre:: @ 840DCA9
+ .string "KYOGRE$"
+
+gExpandedPlaceholder_Groudon:: @ 840DCB0
+ .string "GROUDON$"
+
+gExpandedPlaceholder_Brendan:: @ 840DCB8
+ .string "BRENDAN$"
+
+gExpandedPlaceholder_May:: @ 840DCC0
+ .string "MAY$"
+
+gSystemText_Egg:: @ 840DCC4
+ .string "EGG$"
+
+gSystemText_Pokemon2:: @ 840DCC8
+ .string "POKéMON$"
+
+gMainMenuString_NewGame:: @ 840DCD0
+ .string "NEW GAME$"
+
+gMainMenuString_Continue:: @ 840DCD9
+ .string "CONTINUE$"
+
+gMainMenuString_Option:: @ 840DCE2
+ .string "OPTION$"
+
+gMainMenuString_MysteryEvents:: @ 840DCE9
+ .string "MYSTERY EVENTS$"
+
+SystemText_UpdatingSaveExternal:
+ .string "Updating save file using external\ndata. Please wait.$"
+
+SystemText_SaveUpdated:
+ .string "The save file has been updated.$"
+
+SystemText_SaveUpdatedExchangeBackup:
+ .string "The save file has been updated.\pFurther game data cannot be saved\nto the backup memory.\pPlease exchange the backup memory.\pFor details, please contact the\nNintendo Service Center.$"
+
+SystemText_SaveNotUpdated:
+ .string "The save file could not be updated.\pPlease exchange the backup\nmemory.\pFor details, please contact the\nNintendo Service Center.$"
+
+gSaveFileCorruptMessage:: @ 840DE81
+ .string "The save file is corrupt. The\nprevious save file will be loaded.$"
+
+gSaveFileDeletedMessage:: @ 840DEC2
+ .string " The save file has been deleted...$"
+
+gBoardNotInstalledMessage:: @ 840DEE5
+ .string "The 1M sub-circuit board is\nnot installed.$"
+
+gBatteryDryMessage:: @ 840DF10
+ .string "The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur.$"
+
+gMainMenuString_Player:: @ 840DF7C
+ .string "PLAYER$"
+
+gMainMenuString_Pokedex:: @ 840DF83
+ .string "POKéDEX$"
+
+gMainMenuString_Time:: @ 840DF8B
+ .string "TIME$"
+
+gMainMenuString_Badges:: @ 840DF90
+ .string "BADGES$"
+
+gBirchText_Boy::
+ .string "BOY$"
+gBirchText_Girl::
+ .string "GIRL$"
+gBirchText_NewName::
+ .string "NEW NAME$"
+
+gDefaultBoyName1::
+ .ifdef SAPPHIRE
+ .string "SEAN$"
+ .else
+ .string "LANDON$"
+ .endif
+gDefaultBoyName2::
+ .string "TERRY$"
+gDefaultBoyName3::
+ .string "SETH$"
+gDefaultBoyName4::
+ .string "TOM$"
+
+gDefaultGirlName1::
+ .ifdef SAPPHIRE
+ .string "MARINA$"
+ .else
+ .string "TERRA$"
+ .endif
+gDefaultGirlName2::
+ .string "KIMMY$"
+gDefaultGirlName3::
+ .string "NICOLA$"
+gDefaultGirlName4::
+ .string "SARA$"
+
+gSystemText_IntroWeCall::
+ .string "This is what we call\na POKéMON.$"
+
+gSystemText_NewPara:: @ 840DFF7
+ .string "\p$"
+
+gDexText_UnknownPoke:: @ 840DFF9
+ .string " ????? POKéMON$" @ why 12 spaces?
+
+gDexText_UnknownHeight:: @ 840E013
+ .string "{CLEAR_TO 0x0C}??’??”$"
+
+gDexText_UnknownWeight:: @ 840E01D
+ .string "????.? lbs.$"
+ .string "$"
+
+gDexText_CryOf:: @ 840E02A
+ .string "{CLEAR_TO 2}CRY OF$"
+ .string "$"
+
+gDexText_SizeComparedTo:: @ 840E035
+ .string "SIZE COMPARED TO $"
+
+gDexText_RegisterComplete:: @ 840E047
+ .string "POKéDEX registration completed.$"
+
+gDexText_Searching:: @ 840E067
+ .string "Searching...\nPlease wait.$"
+
+gDexText_SearchComplete:: @ 840E081
+ .string "Search completed.$"
+
+gDexText_NoMatching:: @ 840E093
+ .string "No matching POKéMON were found.$"
+
+DexText_SearchForPoke::
+ .string "Search for POKéMON based on\nselected parameters.$"
+DexText_SwitchDex::
+ .string "Switch POKéDEX listings.$"
+DexText_ReturnToDex::
+ .string "Return to the POKéDEX.$"
+DexText_SelectDexMode::
+ .string "Select the POKéDEX mode.$"
+DexText_SelectDexList::
+ .string "Select the POKéDEX listing mode.$"
+DexText_ListByABC::
+ .string "List by the first letter in the name.\n/Spotted POKéMON only.$"
+DexText_ListByColor::
+ .string "List by body color.\n/Spotted POKéMON only.$"
+DexText_ListByType::
+ .string "List by type.\n/Owned POKéMON only.$"
+DexText_ExecuteSearchSwitch::
+ .string "Execute search/switch.$"
+DexText_HoennDex::
+ .string "HOENN DEX$"
+DexText_NationalDex::
+ .string "NATIONAL DEX$"
+DexText_NumericalMode::
+ .string "NUMERICAL MODE$"
+DexText_ABCMode::
+ .string "A TO Z MODE$"
+DexText_HeaviestMode::
+ .string "HEAVIEST MODE$"
+DexText_LightestMode::
+ .string "LIGHTEST MODE$"
+DexText_TallestMode::
+ .string "TALLEST MODE$"
+DexText_SmallestMode::
+ .string "SMALLEST MODE$"
+DexText_ABC::
+ .string "ABC$"
+DexText_DEF::
+ .string "DEF$"
+DexText_GHI::
+ .string "GHI$"
+DexText_JKL::
+ .string "JKL$"
+DexText_MNO::
+ .string "MNO$"
+DexText_PQR::
+ .string "PQR$"
+DexText_STU::
+ .string "STU$"
+DexText_VWX::
+ .string "VWX$"
+DexText_YZ::
+ .string "YZ$"
+DexText_Red::
+ .string "RED$"
+DexText_Blue::
+ .string "BLUE$"
+DexText_Yellow::
+ .string "YELLOW$"
+DexText_Green::
+ .string "GREEN$"
+DexText_Black::
+ .string "BLACK$"
+DexText_Brown::
+ .string "BROWN$"
+DexText_Purple::
+ .string "PURPLE$"
+DexText_Gray::
+ .string "GRAY$"
+DexText_White::
+ .string "WHITE$"
+DexText_Pink::
+ .string "PINK$"
+DexText_HoennDex2::
+ .string "HOENN region’s POKéDEX$"
+DexText_NationalDex2::
+ .string "National edition POKéDEX$"
+DexText_ListByNumber::
+ .string "POKéMON are listed according to their\nnumber.$"
+DexText_ListByABC2::
+ .string "Spotted and owned POKéMON are listed\nalphabetically.$"
+DexText_ListByHeavyToLightest::
+ .string "Owned POKéMON are listed from the\nheaviest to the lightest.$"
+DexText_ListByLightToHeaviest::
+ .string "Owned POKéMON are listed from the\nlightest to the heaviest.$"
+DexText_ListByTallToSmallest::
+ .string "Owned POKéMON are listed from the\ntallest to the smallest.$"
+DexText_ListBySmallToTallest::
+ .string "Owned POKéMON are listed from the\nsmallest to the tallest.$"
+DexText_Terminator5::
+ .string "$"
+DexText_DontSpecify::
+ .string "DON’T SPECIFY.$"
+DexText_None::
+ .string "NONE$"
+DexText_RightPointingTriangle::
+ .string "▶$" @ right-pointing triangle
+DexText_Terminator6::
+ .string " $"
+
+gMenuText_WelcomeToHOFAndDexRating:: @ 840E44F
+ .string "Welcome to the HALL OF FAME!$"
+ .string "Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH’s POKéDEX rating!\pPROF. BIRCH: Let’s see...\p$"
+
+gMenuText_HOFSaving:: @ 840E4CD
+ .string "SAVING...\nDON’T TURN OFF THE POWER.$"
+
+gMenuText_HOFCorrupt:: @ 840E4F1
+ .string "The HALL OF FAME data is corrupt.$"
+
+gMenuText_HOFNumber:: @ 840E513
+ .string "HALL OF FAME No. $"
+
+gMenuText_HOFCongratulations:: @ 840E525
+ .string "LEAGUE CHAMPION!\nCONGRATULATIONS!$"
+
+gOtherText_Number2:: @ 840E547
+ .string "No. $"
+
+gOtherText_Level3:: @ 840E54C
+ .string "Lv. $"
+
+gOtherText_IDNumber:: @ 840E551
+ .string "IDNo. /$"
+
+gOtherText_Name:: @ 840E559
+ .string "NAME /$"
+
+gOtherText_IDNumber2:: @ 840E560
+ .string "IDNo. /$"
+
+gOtherText_BirchInTrouble:: @ 840E568
+ .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!$"
+
+gOtherText_DoYouChoosePoke:: @ 840E5AB
+ .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}Do you choose this POKéMON?$"
+
+gOtherText_Poke:: @ 840E5CD
+ .string "POKéMON$"
+
+gSystemText_SaveErrorExchangeBackup:: @ 840E5D5
+ .string "Save error.\pPlease exchange the\nbackup memory.$"
+
+gOtherText_FlyToWhere:: @ 840E604
+ .string "FLY to where?$"
+
+OtherText_Use::
+ .string "USE$"
+OtherText_Toss::
+ .string "TOSS$"
+OtherText_Register::
+ .string "REGISTER$"
+OtherText_Give2::
+ .string "GIVE$"
+OtherText_CheckTag::
+ .string "CHECK TAG$"
+OtherText_Confirm::
+ .string "CONFIRM$"
+
+gOtherText_Walk:: @ 840E63B
+ .string "WALK$"
+
+gUnknownText_Exit:: @ 840E640
+ .string "EXIT$"
+
+gOtherText_CancelNoTerminator:: @ 840E645
+ .string "CANCEL$"
+
+gOtherText_CancelWithTerminator:: @ 840E64C
+ .string "$CANCEL$"
+
+OtherText_Item::
+ .string "ITEM$"
+OtherText_Mail::
+ .string "MAIL$"
+OtherText_Take2::
+ .string "TAKE$"
+OtherText_Store::
+ .string "STORE$"
+
+gOtherText_Check:: @ 840E669
+ .string "CHECK$"
+
+gOtherText_None:: @ 840E66F
+ .string "NONE$"
+
+gOtherText_ThreeQuestions2:: @ 840E674
+ .string "???$"
+
+gOtherText_FiveQuestionsAndSlash:: @ 840E678
+ .string "?????$"
+ .string "/$"
+
+gOtherText_OneDash:: @ 840E680
+ .string "-$"
+
+gOtherText_TwoDashes:: @ 840E682
+ .string "--$"
+
+gOtherText_ThreeDashes2:: @ 840E685
+ .string "---$"
+
+gOtherText_MaleSymbol2:: @ 840E689
+ .string "♂$"
+
+gOtherText_FemaleSymbolAndLv:: @ 840E68B
+ .string "♀$"
+ .string "Lv.$"
+
+gOtherText_TallPlusAndRightArrow:: @ 840E691
+ .string "{TALL_PLUS}$"
+ .string "{RIGHT_ARROW}$"
+
+gMenuText_GoBackToPrev:: @ 840E697
+ .string "Go back to the\nprevious menu.$"
+
+gOtherText_WhatWillYouDo:: @ 840E6B5
+ .string "What would you like to do?$"
+
+gOtherText_xString1:: @ 840E6D0
+ .string "×{STR_VAR_1}$"
+
+gOtherText_Berry2:: @ 840E6D4
+ .string " BERRY$"
+
+gOtherText_Coins2:: @ 840E6DB
+ .string "{STR_VAR_1} COINS$"
+
+gOtherText_CloseBag:: @ 840E6E4
+ .string "CLOSE BAG$"
+
+OtherText_TheField3::
+ .string "the field.$"
+OtherText_TheBattle::
+ .string "the battle.$"
+OtherText_ThePokeList::
+ .string "the POKéMON LIST.$"
+OtherText_TheShop::
+ .string "the shop.$"
+OtherText_TheField::
+ .string "the field.$"
+OtherText_TheField2::
+ .string "the field.$"
+OtherText_ThePC::
+ .string "the PC.$"
+
+ .align 2
+gUnknown_0840E740:: @ 840E740
+ .4byte OtherText_TheField3
+ .4byte OtherText_TheBattle
+ .4byte OtherText_ThePokeList
+ .4byte OtherText_TheShop
+ .4byte OtherText_TheField
+ .4byte OtherText_TheField2
+ .4byte OtherText_ThePC
+
+gOtherText_ReturnTo:: @ 840E75C
+ .string "Return to$"
+
+gOtherText_WhatWillYouDo2:: @ 840E766
+ .string "What would you\nlike to do?$"
+
+gOtherText_CantWriteMail:: @ 840E781
+ .string "You can’t write\nMAIL here.$"
+
+gOtherText_NoPokemon:: @ 840E79C
+ .string "There is no\nPOKéMON.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_SwitchWhichItem:: @ 840E7B3
+ .string "Switch with which\nitem?$"
+
+gOtherText_CantBeHeld:: @ 840E7CB
+ .string "{STR_VAR_1} can’t be held.$"
+
+gOtherText_CantBeHeldHere:: @ 840E7DD
+ .string "{STR_VAR_1} can’t be held here.$"
+
+gOtherText_HowManyToDeposit:: @ 840E7F4
+ .string "How many do you\nwant to deposit?$"
+
+gOtherText_DepositedItems:: @ 840E815
+ .string "Deposited {STR_VAR_2}\n{STR_VAR_1}(s).$"
+
+gOtherText_NoRoomForItems:: @ 840E829
+ .string "There’s no room to\nstore items.$"
+
+gOtherText_CantStoreSomeoneItem:: @ 840E849
+ .string "You can’t store\nsomeone else’s item\nin the PC.$"
+
+gOtherText_TooImportant:: @ 840E878
+ .string "That’s much too\nimportant to toss\nout!$"
+
+gOtherText_HowManyToToss:: @ 840E89F
+ .string "Toss out how many?$"
+
+gOtherText_ThrewAwayItem:: @ 840E8B2
+ .string "Threw away {STR_VAR_2}\n{STR_VAR_1}(s).$"
+
+gOtherText_OkayToThrowAwayPrompt:: @ 840E8C7
+ .string "Is it okay to\nthrow away {STR_VAR_2}\n{STR_VAR_1}(s)?$"
+
+gOtherText_DadsAdvice:: @ 840E8EA
+ .string "DAD’s advice...\n{PLAYER}, there’s a time and place for\leverything!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_CantGetOffBike:: @ 840E929
+ .string "You can’t dismount your BIKE here.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_ItemfinderResponding:: @ 840E94E
+ .string "Oh!\nThe machine’s responding!\pThere’s an item buried around here!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_ItemfinderFoundItem:: @ 840E992
+ .string "The machine’s indicating something\nright underfoot!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_NoResponse:: @ 840E9C8
+ .string "... ... ... ... Nope!\nThere’s no response.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_Coins3:: @ 840E9F5
+ .string "Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_BootedTM:: @ 840EA06
+ .string "Booted up a TM.$"
+
+gOtherText_BootedHM:: @ 840EA16
+ .string "Booted up an HM.$"
+
+gOtherText_ContainsMove:: @ 840EA27
+ .string "It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?$"
+
+gOtherText_UsedItem:: @ 840EA4F
+ .string "{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_RepelLingers:: @ 840EA61
+ .string "But the effects of a REPEL lingered\nfrom earlier.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_UsedFlute:: @ 840EA95
+ .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_UsedRepel:: @ 840EAC3
+ .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_BoxIsFull:: @ 840EAF4
+ .string "The BOX is full.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_Size:: @ 840EB07
+ .string "SIZE /$"
+
+gOtherText_Firm:: @ 840EB0E
+ .string "FIRM /$"
+
+gContestStatsText_Unknown1:: @ 840EB15
+ .string "{STR_VAR_1}.{STR_VAR_2}”$"
+
+ContestStatsText_VerySoft:
+ .string "Very soft$"
+ContestStatsText_Soft:
+ .string "Soft$"
+ContestStatsText_Hard:
+ .string "Hard$"
+ContestStatsText_VeryHard:
+ .string "Very hard$"
+ContestStatsText_SuperHard:
+ .string "Super hard$"
+ContestStatsText_RedPokeBlock:
+ .string "RED {POKEBLOCK}$"
+ContestStatsText_BluePokeBlock:
+ .string "BLUE {POKEBLOCK}$"
+ContestStatsText_PinkPokeBlock:
+ .string "PINK {POKEBLOCK}$"
+ContestStatsText_GreenPokeBlock:
+ .string "GREEN {POKEBLOCK}$"
+ContestStatsText_YellowPokeBlock:
+ .string "YELLOW {POKEBLOCK}$"
+ContestStatsText_PurplePokeBlock:
+ .string "PURPLE {POKEBLOCK}$"
+ContestStatsText_IndigoPokeBlock:
+ .string "INDIGO {POKEBLOCK}$"
+ContestStatsText_BrownPokeBlock:
+ .string "BROWN {POKEBLOCK}$"
+ContestStatsText_LiteBluePokeBlock:
+ .string "LITEBLUE {POKEBLOCK}$"
+ContestStatsText_OlivePokeBlock:
+ .string "OLIVE {POKEBLOCK}$"
+ContestStatsText_GrayPokeBlock:
+ .string "GRAY {POKEBLOCK}$"
+ContestStatsText_BlackPokeBlock:
+ .string "BLACK {POKEBLOCK}$"
+ContestStatsText_WhitePokeBlock:
+ .string "WHITE {POKEBLOCK}$"
+ContestStatsText_GoldPokeBlock:
+ .string "GOLD {POKEBLOCK}$"
+
+gContestStatsText_Spicy:: @ 840EBED
+ .string "SPICY$"
+
+gContestStatsText_Dry:: @ 840EBF3
+ .string "DRY$"
+
+gContestStatsText_Sweet:: @ 840EBF7
+ .string "SWEET$"
+
+gContestStatsText_Bitter:: @ 840EBFD
+ .string "BITTER$"
+
+gContestStatsText_Sour:: @ 840EC04
+ .string "SOUR$"
+ .string "TASTY$" @ tasty is probably unused, but feel isn't.
+ .string "FEEL$"
+
+gContestStatsText_StowCase:: @ 840EC14
+ .string "Stow CASE.$"
+
+gContestStatsText_ThrowAwayPrompt:: @ 840EC1F
+ .string "Throw away this\n{STR_VAR_1}?$"
+
+gContestStatsText_WasThrownAway:: @ 840EC33
+ .string "The {STR_VAR_1}\nwas thrown away.$"
+
+gContestStatsText_NormallyAte:: @ 840EC4B
+ .string "{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
+
+gContestStatsText_HappilyAte:: @ 840EC5C
+ .string "{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
+
+gContestStatsText_DisdainfullyAte:: @ 840EC75
+ .string "{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
+
+MartText_Buy:
+ .string "BUY$"
+MartText_Sell:
+ .string "SELL$"
+MartText_Quit2:
+ .string "QUIT$"
+
+gOtherText_QuitShopping:: @ 840ECA1
+ .string "Quit shopping.$"
+
+gOtherText_HowManyYouWant:: @ 840ECB0
+ .string "{STR_VAR_1}? Certainly.\nHow many would you like?$"
+
+gOtherText_ThatWillBe:: @ 840ECD8
+ .string "{STR_VAR_1}? And you wanted {STR_VAR_2}?\nThat will be ¥{STR_VAR_3}.$"
+
+gOtherText_ThatWillBe2:: @ 840ED01
+ .string "{STR_VAR_1}, is it?\nThat’ll be ¥{STR_VAR_2}. Do you want it?$"
+
+gOtherText_ThatWillBe3:: @ 840ED2C
+ .string "You wanted {STR_VAR_1}?\nThat’ll be ¥{STR_VAR_2}. Will that be okay?$"
+
+gOtherText_HereYouGo:: @ 840ED5E
+ .string "Here you go!\nThank you very much.$"
+
+gOtherText_HereYouGo2:: @ 840ED80
+ .string "Thank you!\nI’ll send it to your home PC.$"
+
+gOtherText_HereYouGo3:: @ 840EDA9
+ .string "Thanks!\nI’ll send it to your PC at home.$"
+
+gOtherText_NotEnoughMoney:: @ 840EDD2
+ .string "You don’t have enough money.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_NoRoomFor:: @ 840EDF1
+ .string "You have no more room for items.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_SpaceForIsFull:: @ 840EE14
+ .string "The space for {STR_VAR_1} is full.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_AnythingElse:: @ 840EE30
+ .string "Is there anything else I can help\nyou with?$"
+
+gOtherText_CanIHelpYou:: @ 840EE5C
+ .string "Can I help you with anything else?$"
+
+gOtherText_FreePremierBall:: @ 840EE7F
+ .string "I’ll throw in a PREMIER BALL, too.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_CantBuyThat:: @ 840EEA4
+ .string "{STR_VAR_2}? Oh, no.\nI can’t buy that.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_HowManyToSell:: @ 840EEC4
+ .string "{STR_VAR_2}?\nHow many would you like to sell?$"
+
+gOtherText_CanPay:: @ 840EEE9
+ .string "I can pay ¥{STR_VAR_1}.\nWould that be okay?$"
+
+gOtherText_SoldItem:: @ 840EF0C
+ .string "Turned over the {STR_VAR_2}\nand received ¥{STR_VAR_1}.$"
+
+OtherText_Money::
+ .string "¥{STR_VAR_1}$"
+OtherText_Shift::
+ .string "SHIFT$"
+OtherText_SendOut::
+ .string "SEND OUT$"
+OtherText_Switch2::
+ .string "SWITCH$"
+OtherText_Summary::
+ .string "SUMMARY$"
+OtherText_Moves::
+ .string "MOVES$"
+OtherText_Enter2::
+ .string "ENTER$"
+OtherText_NoEntry::
+ .string "NO ENTRY$"
+OtherText_Take::
+ .string "TAKE$"
+OtherText_Read2::
+ .string "READ$"
+
+gOtherText_Hp2:: @ 840EF72
+ .string "HP$"
+
+gOtherText_SpAtk2:: @ 840EF75
+ .string "SP. ATK$"
+
+gOtherText_SpDef2:: @ 840EF7D
+ .string "SP. DEF$"
+
+gOtherText_WontHaveAnyEffect:: @ 840EF85
+ .string "It won’t have any effect.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_CantUseOnPoke:: @ 840EFA1
+ .if REVISION >= 1
+ .string "This can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$"
+ .else
+ .string "This item can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$"
+ .endif
+
+gOtherText_CantBeSwitched:: @ 840EFCC
+ .string "{STR_VAR_1} can’t be switched\nout!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_AlreadyBattle:: @ 840EFE8
+ .string "{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_AlreadySelected:: @ 840F003
+ .string "{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_NoEnergyLeft:: @ 840F023
+ .string "{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_CantSwitchPokeWithYours:: @ 840F046
+ .string "You can’t switch {STR_VAR_1}’s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_EGGCantBattle:: @ 840F079
+ .string "An EGG can’t battle!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_CantBeUsedBadge:: @ 840F090
+ .string "This can’t be used until a new\nBADGE is obtained.$"
+
+gOtherText_NoMoreThreePoke:: @ 840F0C2
+ .string "No more than three POKéMON\nmay enter.$"
+
+gOtherText_SendRemovedMailPrompt:: @ 840F0E8
+ .string "Send the removed MAIL to\nyour PC?$"
+
+gOtherText_MailWasSent:: @ 840F10A
+ .string "The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_MailboxIsFull:: @ 840F12A
+ .string "Your PC’s MAILBOX is full.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_MailRemovedMessageLost:: @ 840F147
+ .string "If the MAIL is removed, the\nmessage will be lost. Okay?$"
+
+gOtherText_MailMustBeRemoved:: @ 840F17F
+ .string "MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_WasGivenToHold:: @ 840F1AE
+ .string "{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_AlreadyHolding:: @ 840F1CD
+ .string "{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?$"
+
+gOtherText_NotHoldingAnything:: @ 840F213
+ .string "{STR_VAR_1} isn’t\nholding anything.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_ReceivedTheThingFrom:: @ 840F230
+ .string "Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_MailTaken:: @ 840F24B
+ .string "MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_TakenAndReplaced:: @ 840F26E
+ .string "The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_PokeHoldingItemCantMail:: @ 840F29B
+ .string "This POKéMON is holding an item.\nIt cannot hold MAIL.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_MailTransferredMailbox:: @ 840F2D3
+ .string "MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_BagFullCannotRemoveItem:: @ 840F2FC
+ .string "The BAG is full. The POKéMON’s\nitem could not be removed.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_LearnedMove:: @ 840F338
+ .string "{STR_VAR_1} learned\n{STR_VAR_2}!$"
+
+gOtherText_NotCompatible:: @ 840F347
+ .string "{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can’t be learned.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_WantsToLearn:: @ 840F37C
+ .string "{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?$"
+
+gOtherText_StopTryingTo:: @ 840F3F0
+ .string "Stop trying to teach\n{STR_VAR_2}?$"
+
+gOtherText_DidNotLearnMove2:: @ 840F409
+ .string "{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_WhichMoveToForget2:: @ 840F429
+ .string "Which move should be forgotten?{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_ForgetMove123_2:: @ 840F44B
+ .string "{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}... {PAUSE 15}... {PAUSE 15}... {PAUSE 15}{PLAY_SE SE_KON}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd...{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_AlreadyKnows:: @ 840F49E
+ .string "{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_HPRestoredBy:: @ 840F4B5
+ .string "{STR_VAR_1}’s HP was restored by\n{STR_VAR_2} points.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_CuredPoisoning:: @ 840F4DA
+ .string "{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_CuredParalysis:: @ 840F4FB
+ .string "{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_WokeUp:: @ 840F518
+ .string "{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_BurnHealed:: @ 840F526
+ .string "{STR_VAR_1}’s burn was healed.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_ThawedOut:: @ 840F53E
+ .string "{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_PPRestored:: @ 840F553
+ .string "PP was restored.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_RegainedHealth:: @ 840F566
+ .string "{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_BecameHealthy:: @ 840F57C
+ .string "{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_PPIncreased:: @ 840F591
+ .string "{STR_VAR_1}’s PP increased.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_ElevatedTo:: @ 840F5A6
+ .string "{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}.$"
+
+gOtherText_WasRaised:: @ 840F5C1
+ .string "{STR_VAR_1}’s {STR_VAR_2} was\nraised.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_SnapConfusion:: @ 840F5D7
+ .string "{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_GotOverLove:: @ 840F5FA
+ .string "{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}$"
+
+OtherText_ChoosePoke::
+ .string "Choose a POKéMON.$"
+OtherText_MovePokeTo::
+ .string "Move to where?$"
+OtherText_TeachWhat::
+ .string "Teach which POKéMON?$"
+OtherText_UseWhat::
+ .string "Use on which POKéMON?$"
+OtherText_GiveWhat::
+ .string "Give to which POKéMON?$"
+OtherText_DoWhat::
+ .string "Do what with {STR_VAR_1}?$"
+OtherText_NothingToCut::
+ .string "There’s nothing to CUT.$"
+OtherText_CantSurf::
+ .string "You can’t SURF here.$"
+OtherText_AlreadySurfing::
+ .string "You’re already SURFING.$"
+OtherText_CantUseThatHere::
+ .string "Can’t use that here.$"
+OtherText_RestoreWhatMove::
+ .string "Restore which move?$"
+OtherText_BoostPP::
+ .string "Boost PP of which move?$"
+OtherText_DoWhatWithItem::
+ .string "Do what with an item?$"
+OtherText_NoPokeForBattle::
+ .string "No POKéMON for battle!$"
+OtherText_ChoosePoke2::
+ .string "Choose a POKéMON.$"
+OtherText_NotEnoughHP::
+ .string "Not enough HP...$"
+OtherText_ThreePokeNeeded::
+ .string "Three POKéMON are needed.$"
+OtherText_PokeCantBeSame::
+ .string "POKéMON can’t be the same.$"
+OtherText_NoIdenticalHoldItems::
+ .string "No identical hold items.$"
+OtherText_TeachWhichPoke::
+ .string "Teach which POKéMON?$"
+
+gOtherText_Attack:: @ 840F7C6
+ .string "ATTACK$"
+
+gOtherText_Defense:: @ 840F7CD
+ .string "DEFENSE$"
+
+gOtherText_SpAtk:: @ 840F7D5
+ .string "SP. ATK$"
+
+gOtherText_SpDef:: @ 840F7DD
+ .string "SP. DEF$"
+
+gOtherText_Speed:: @ 840F7E5
+ .string "SPEED$"
+
+gOtherText_HP:: @ 840F7EB
+ .string "HP$"
+
+gOtherText_Terminator18:: @ 840F7EE
+ .string "$"
+
+gOtherText_OriginalTrainer:: @ 840F7EF
+ .string "OT/$"
+
+gOtherText_Type2:: @ 840F7F3
+ .string "TYPE/$"
+
+gOtherText_Power2:: @ 840F7F9
+ .string "POWER$"
+
+gOtherText_Accuracy2:: @ 840F7FF
+ .string "ACCURACY$"
+
+gOtherText_Appeal2:: @ 840F808
+ .string "APPEAL$"
+
+gOtherText_Jam2:: @ 840F80F
+ .string "JAM$"
+
+gOtherText_Status:: @ 840F813
+ .string "STATUS$"
+
+gOtherText_ExpPoints:: @ 840F81A
+ .string "EXP. POINTS$"
+
+gOtherText_NextLv:: @ 840F826
+ .string "NEXT LV.$"
+
+gOtherText_Ribbons00:: @ 840F82F
+ .string "RIBBONS: 00$"
+
+OtherText_Event::
+ .string "EVENT$"
+OtherText_Switch::
+ .string "SWITCH$"
+OtherText_PokeInfo::
+ .string "POKéMON INFO$"
+OtherText_PokeSkills::
+ .string "POKéMON SKILLS$"
+OtherText_BattleMoves::
+ .string "BATTLE MOVES$"
+OtherText_ContestMoves::
+ .string "C0NTEST MOVES$" @why the l33t 0, that's stupid
+OtherText_Info::
+ .string "INFO$"
+
+gOtherText_EggLongTime:: @ 840F884
+ .string "It looks like this EGG will\ntake a long time to hatch.$"
+
+gOtherText_EggSomeTime:: @ 840F8BB
+ .string "What will hatch from this?\nIt will take some time.$"
+
+gOtherText_EggSoon:: @ 840F8EE
+ .string "It moves occasionally.\nIt should hatch soon.$"
+
+gOtherText_EggAbout:: @ 840F91B
+ .string "It’s making sounds.\nIt’s about to hatch!$"
+
+gOtherText_CantForgetHMs:: @ 840F944
+ .string "HM moves can’t be\nforgotten now.$"
+
+gOtherText_PlayersBase:: @ 840F965
+ .string "’s BASE$"
+
+gOtherText_OkayToDeleteFromRegistry:: @ 840F96D
+ .string "Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?$"
+
+gOtherText_RegisteredDataDeleted:: @ 840F998
+ .string "The registered data was deleted.{PAUSE_UNTIL_PRESS}$"
+
+gSecretBaseText_NoRegistry:: @ 840F9BB
+ .string "There is no REGISTRY.{PAUSE_UNTIL_PRESS}$"
+
+SecretBaseText_DelRegist::
+ .string "DEL REGIST.$"
+SecretBaseText_Decorate::
+ .string "DECORATE$"
+SecretBaseText_PutAway::
+ .string "PUT AWAY$"
+SecretBaseText_Toss::
+ .string "TOSS$"
+SecretBaseText_PutOutDecor::
+ .string "Put out the selected decoration item.$"
+SecretBaseText_StoreChosenDecor::
+ .string "Store the chosen decoration in the PC.$"
+SecretBaseText_ThrowAwayDecor::
+ .string "Throw away unwanted decorations.$"
+
+gSecretBaseText_NoDecors:: @ 840FA64
+ .string "There are no decorations.{PAUSE_UNTIL_PRESS}$"
+
+SecretBaseText_Desk::
+ .string "DESK$"
+SecretBaseText_Chair::
+ .string "CHAIR$"
+SecretBaseText_Plant::
+ .string "PLANT$"
+SecretBaseText_Ornament::
+ .string "ORNAMENT$"
+SecretBaseText_Mat::
+ .string "MAT$"
+SecretBaseText_Poster::
+ .string "POSTER$"
+SecretBaseText_Doll::
+ .string "DOLL$"
+SecretBaseText_Cushion::
+ .string "CUSHION$"
+
+gSecretBaseText_GoldRank:: @ 840FAB2
+ .string "GOLD$"
+
+gSecretBaseText_SilverRank:: @ 840FAB7
+ .string "SILVER$"
+
+gSecretBaseText_PlaceItHere:: @ 840FABE
+ .string "Place it here?$"
+
+gSecretBaseText_CantBePlacedHere:: @ 840FACD
+ .string "It can’t be placed here.$"
+
+gSecretBaseText_CancelDecorating:: @ 840FAE6
+ .string "Cancel decorating?$"
+
+gSecretBaseText_InUseAlready:: @ 840FAF9
+ .string "This is in use already.$"
+
+gSecretBaseText_NoMoreDecor:: @ 840FB11
+ .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$"
+
+gSecretBaseText_NoMoreDecor2:: @ 840FB57
+ .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$"
+ .string "This can’t be placed here.\nIt must be on a DESK, etc.$"
+
+gSecretBaseText_DecorCantPlace:: @ 840FBD3
+ .string "This decoration can’t be placed in\nyour own room.$"
+
+gSecretBaseText_DecorInUse:: @ 840FC05
+ .string "This decoration is in use.\nIt can’t be thrown away.$"
+
+gSecretBaseText_WillBeDiscarded:: @ 840FC39
+ .string "This {STR_VAR_1} will be discarded.\nIs that okay?$"
+
+gSecretBaseText_DecorThrownAway:: @ 840FC62
+ .string "The decoration item was thrown away.$"
+
+gSecretBaseText_StopPuttingAwayDecor:: @ 840FC87
+ .string "Stop putting away decorations?$"
+
+gSecretBaseText_NoDecor:: @ 840FCA6
+ .string "There is no decoration item here.$"
+
+gSecretBaseText_ReturnDecor:: @ 840FCC8
+ .string "Return this decoration to the PC?$"
+
+gSecretBaseText_DecorReturned:: @ 840FCEA
+ .string "The decoration was returned to the PC.$"
+
+gSecretBaseText_NoDecorInUse:: @ 840FD11
+ .string "There are no decorations in use.{PAUSE_UNTIL_PRESS}$"
+
+SecretBaseText_Tristan::
+ .string "TRISTAN$"
+SecretBaseText_Philip::
+ .string "PHILIP$"
+SecretBaseText_Dennis::
+ .string "DENNIS$"
+SecretBaseText_Roberto::
+ .string "ROBERTO$"
+SecretBaseText_TurnOff::
+ .string "TURN OFF$"
+SecretBaseText_Decoration::
+ .string "DECORATION$"
+SecretBaseText_ItemStorage::
+ .string "ITEM STORAGE$"
+
+gPCText_Mailbox:: @ 840FD73
+ .string "MAILBOX$"
+
+PCText_DepositItem::
+ .string "DEPOSIT ITEM$"
+PCText_WithdrawItem::
+ .string "WITHDRAW ITEM$"
+PCText_TossItem::
+ .string "TOSS ITEM$"
+PCText_StoreItems::
+ .string "Store items in the PC.$"
+PCText_TakeOutItems::
+ .string "Take out items from the PC.$"
+PCText_ThrowAwayItems::
+ .string "Throw away items stored in the PC.$"
+
+gOtherText_NoItems:: @ 840FDF6
+ .string "There are no items.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_NoMoreRoom:: @ 840FE0C
+ .string "There is no more\nroom in the BAG.$"
+
+gOtherText_HowManyToWithdraw:: @ 840FE2E
+ .string "How many do you\nwant to withdraw?$"
+
+gOtherText_WithdrewThing:: @ 840FE50
+ .string "Withdrew {STR_VAR_2}\n{STR_VAR_1}(s).$"
+
+OtherText_Read:
+ .string "READ$"
+
+gOtherText_MoveToBag:: @ 840FE68
+ .string "MOVE TO BAG$"
+
+OtherText_Give:
+ .string "GIVE$"
+
+gOtherText_NoMailHere:: @ 840FE79
+ .string "There’s no MAIL here.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_WhatWillYouDoMail:: @ 840FE91
+ .string "What would you like to do with\n{STR_VAR_1}’s MAIL?$"
+
+gOtherText_MessageWillBeLost:: @ 840FEBB
+ .string "The message will be lost.\nIs that okay?$"
+
+gOtherText_BagIsFull:: @ 840FEE3
+ .string "The BAG is full.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_MailWasReturned:: @ 840FEF6
+ .string "The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_Dad:: @ 840FF32
+ .string "DAD$"
+
+gOtherText_Mom:: @ 840FF36
+ .string "MOM$"
+
+gOtherText_Wallace:: @ 840FF3A
+ .string "WALLACE$"
+
+gOtherText_Steven:: @ 840FF42
+ .string "STEVEN$"
+
+gOtherText_Brawly:: @ 840FF49
+ .string "BRAWLY$"
+
+gOtherText_Winona:: @ 840FF50
+ .string "WINONA$"
+
+gOtherText_Phoebe:: @ 840FF57
+ .string "PHOEBE$"
+
+gOtherText_Glacia:: @ 840FF5E
+ .string "GLACIA$"
+
+gContestText_ContestWinner:: @ 840FF65
+ .string "CONTEST WINNER\n$"
+
+gOtherText_Unknown1:: @ 840FF75
+ .string "’s $"
+
+OtherText_Cool::
+ .string "COOL $"
+OtherText_Beauty2::
+ .string "BEAUTY $"
+OtherText_Cute::
+ .string "CUTE $"
+OtherText_Smart::
+ .string "SMART $"
+OtherText_Tough::
+ .string "TOUGH $"
+OtherText_NonstopSuperCool::
+ .string "Nonstop super-cool -\nthe inestimable $"
+OtherText_Terminator6::
+ .string "$"
+OtherText_GoodLookingPoke::
+ .string "Hey, there!\nThe good-looking POKéMON $"
+OtherText_Terminator7::
+ .string "$"
+OtherText_MarvelousGreat::
+ .string "The marvelous, wonderful, and\nvery great $"
+OtherText_Terminator8::
+ .string "$"
+OtherText_CenturyLastVenus::
+ .string "This century’s last Venus -\nthe beautiful $"
+OtherText_Terminator9::
+ .string "$"
+OtherText_Terminator10::
+ .string "$"
+OtherText_DazzlingSlime::
+ .string "’s dazzling,\nglittering smile$"
+OtherText_PokeCenterIdol::
+ .string "POKéMON CENTER’s super idol -\nthe incomparable $"
+OtherText_Terminator11::
+ .string "$"
+OtherText_LovelyAndSweet::
+ .string "The lovely and sweet $"
+OtherText_Terminator12::
+ .string "$"
+OtherText_ThePretty::
+ .string "The pretty $"
+OtherText_WinningPortrait::
+ .string "’s\nwinning portrait$"
+OtherText_GiveUsWink::
+ .string "Give us a wink!\nThe cutie POKéMON $"
+OtherText_Terminator13::
+ .string "$"
+OtherText_SmartnessMaestro::
+ .string "The smartness maestro -\nThe wise POKéMON $"
+OtherText_Terminator14::
+ .string "$"
+OtherText_ChosenPokeAmong::
+ .string "The chosen POKéMON -\nThe one among POKéMON $"
+OtherText_Terminator15::
+ .string "$"
+OtherText_TheExcellent::
+ .string "The excellent $"
+OtherText_ItsMomentOfElegance::
+ .string "’s\nmoment of elegance$"
+OtherText_PowerfullyMuscular::
+ .string "The powerfully muscular\nspeedster $"
+OtherText_Terminator16::
+ .string "$"
+OtherText_StrongErEst::
+ .string "The strong, stronger, and\nstrongest $"
+OtherText_Terminator17::
+ .string "$"
+OtherText_MightyTough::
+ .string "The mighty tough\nhyper POKéMON $"
+OtherText_Exclamation::
+ .string "!$"
+OtherText_Petalburg::
+ .string "PETALBURG$"
+OtherText_Slateport::
+ .string "SLATEPORT$"
+OtherText_Littleroot::
+ .string "LITTLEROOT$"
+OtherText_Lilycove::
+ .string "LILYCOVE$"
+OtherText_Dewford::
+ .string "DEWFORD$"
+OtherText_Enter::
+ .string "ENTER$"
+OtherText_Info3::
+ .string "INFO$"
+OtherText_WhatsAContest::
+ .string "What’s a CONTEST?$"
+OtherText_TypesOfContest::
+ .string "Types of CONTESTS$"
+OtherText_Ranks::
+ .string "Ranks$"
+OtherText_Judging::
+ .string "Judging$"
+OtherText_CoolContest::
+ .string "COOL CONTEST$"
+OtherText_BeautyContest::
+ .string "BEAUTY CONTEST$"
+OtherText_CuteContest::
+ .string "CUTE CONTEST$"
+OtherText_SmartContest::
+ .string "SMART CONTEST$"
+OtherText_ToughContest::
+ .string "TOUGH CONTEST$"
+OtherText_Decoration::
+ .string "DECORATION$"
+OtherText_PackUp::
+ .string "PACK UP$"
+OtherText_Count::
+ .string "COUNT$"
+OtherText_Registry::
+ .string "REGISTRY$"
+OtherText_Information::
+ .string "INFORMATION$"
+OtherText_Mach::
+ .string "MACH$"
+OtherText_Acro::
+ .string "ACRO$"
+OtherText_Poison::
+ .string "PSN$"
+OtherText_Paralysis::
+ .string "PAR$"
+OtherText_Sleep::
+ .string "SLP$"
+OtherText_Burn::
+ .string "BRN$"
+OtherText_Frozen::
+ .string "FRZ$"
+OtherText_Quit::
+ .string "QUIT$"
+OtherText_SawIt::
+ .string "Saw it$"
+OtherText_NotYet::
+ .string "Not yet$"
+OtherText_Yes::
+ .string "YES$"
+OtherText_No::
+ .string "NO$"
+OtherText_Info2::
+ .string "INFO$"
+OtherText_SingleBattle::
+ .string "SINGLE BATTLE$"
+OtherText_DoubleBattle::
+ .string "DOUBLE BATTLE$"
+OtherText_MultiBattle::
+ .string "MULTI BATTLE$"
+OtherText_MrBriney::
+ .string "MR. BRINEY$"
+OtherText_MakeAChallenge::
+ .string "Make a challenge.$"
+OtherText_ObtainInformation::
+ .string "Obtain information.$"
+OtherText_Lv50_2::
+ .string "LV. 50$"
+OtherText_Lv100_2::
+ .string "LV. 100$"
+OtherText_Zigzagoon::
+ .string "ZIGZAGOON$"
+OtherText_Nincada::
+ .string "NINCADA$"
+OtherText_Poochyena::
+ .string "POOCHYENA$"
+OtherText_Nincada2::
+ .string "NINCADA$"
+OtherText_Lotad::
+ .string "LOTAD$"
+OtherText_Roselia::
+ .string "ROSELIA$"
+OtherText_Shroomish::
+ .string "SHROOMISH$"
+OtherText_Nincada3::
+ .string "NINCADA$"
+OtherText_Surskit::
+ .string "SURSKIT$"
+OtherText_Treecko::
+ .string "TREECKO$"
+OtherText_Torchic::
+ .string "TORCHIC$"
+OtherText_Mudkip::
+ .string "MUDKIP$"
+OtherText_Seedot::
+ .string "SEEDOT$"
+OtherText_Shroomish2::
+ .string "SHROOMISH$"
+OtherText_Spinda::
+ .string "SPINDA$"
+OtherText_Shroomish3::
+ .string "SHROOMISH$"
+OtherText_Zigzagoon2::
+ .string "ZIGZAGOON$"
+OtherText_Wurmple::
+ .string "WURMPLE$"
+OtherText_PokeBall::
+ .string "POKé BALL$"
+OtherText_SuperPotion::
+ .string "SUPER POTION$"
+OtherText_SamePrice::
+ .string "Same price$"
+OtherText_Yen135::
+ .string "¥135$"
+OtherText_Yen155::
+ .string "¥155$"
+OtherText_Yen175::
+ .string "¥175$"
+OtherText_CostMore::
+ .string "They will cost more.$"
+OtherText_CostLess::
+ .string "They will cost less.$"
+OtherText_SamePrice2::
+ .string "Same price$"
+OtherText_MaleSymbol::
+ .string "♂$"
+OtherText_FemaleSymbol::
+ .string "♀$"
+OtherText_Neither::
+ .string "Neither$"
+OtherText_Males::
+ .string "Males$"
+OtherText_Females::
+ .string "Females$"
+OtherText_SameNumber::
+ .string "Same number$"
+OtherText_Male::
+ .string "Male$"
+OtherText_Female::
+ .string "Female$"
+OtherText_ItDepends::
+ .string "It depends$"
+OtherText_Six2::
+ .string "6$"
+OtherText_Eight2::
+ .string "8$"
+OtherText_Ten::
+ .string "10$"
+OtherText_One::
+ .string "1$"
+OtherText_Two::
+ .string "2$"
+OtherText_Three::
+ .string "3$"
+OtherText_Six::
+ .string "6$"
+OtherText_Seven::
+ .string "7$"
+OtherText_Eight::
+ .string "8$"
+OtherText_FreshWater::
+ .string "FRESH WATER{CLEAR_TO 0x48}¥200$"
+OtherText_SodaPop::
+ .string "SODA POP{CLEAR_TO 0x48}¥300$"
+OtherText_Lemonade::
+ .string "LEMONADE{CLEAR_TO 0x48}¥350$"
+OtherText_HowToRide::
+ .string "HOW TO RIDE$"
+OtherText_HowToTurn::
+ .string "HOW TO TURN$"
+OtherText_SandySlopes::
+ .string "SANDY SLOPES$"
+OtherText_Wheelies::
+ .string "WHEELIES$"
+OtherText_BunnyHops::
+ .string "BUNNY-HOPS$"
+OtherText_Jumping::
+ .string "JUMPING$"
+OtherText_Satisfied::
+ .string "Satisfied$"
+OtherText_Dissatisfied::
+ .string "Dissatisfied$"
+OtherText_Deepseatooth::
+ .string "DEEPSEATOOTH$"
+OtherText_Deepseascale::
+ .string "DEEPSEASCALE$"
+OtherText_BlueFlute2::
+ .string "BLUE FLUTE$"
+OtherText_YellowFlute2::
+ .string "YELLOW FLUTE$"
+OtherText_RedFlute2::
+ .string "RED FLUTE$"
+OtherText_WhiteFlute2::
+ .string "WHITE FLUTE$"
+OtherText_BlackFlute2::
+ .string "BLACK FLUTE$"
+OtherText_GlassChair::
+ .string "GLASS CHAIR$"
+OtherText_GlassDesk::
+ .string "GLASS DESK$"
+OtherText_TreeckoDoll::
+ .string "TREECKO DOLL 1,000 COINS$"
+OtherText_TorchicDoll::
+ .string "TORCHIC DOLL 1,000 COINS$"
+OtherText_MudkipDoll::
+ .string "MUDKIP DOLL 1,000 COINS$"
+OtherText_50Coins::
+ .string " 50 COINS ¥1,000$"
+OtherText_500Coins::
+ .string "500 COINS ¥10,000$"
+OtherText_Excellent::
+ .string "Excellent!$"
+OtherText_NotSoHot::
+ .string "Not so hot$"
+OtherText_RedShard::
+ .string "RED SHARD$"
+OtherText_YellowShard::
+ .string "YELLOW SHARD$"
+OtherText_BlueShard::
+ .string "BLUE SHARD$"
+OtherText_GreenShard::
+ .string "GREEN SHARD$"
+OtherText_BattleTower::
+ .string "BATTLE TOWER$"
+OtherText_Right::
+ .string "Right$"
+OtherText_Left::
+ .string "Left$"
+OtherText_TM32::
+ .string "TM32 1,500 COINS$"
+OtherText_TM29::
+ .string "TM29 3,500 COINS$"
+OtherText_TM35::
+ .string "TM35 4,000 COINS$"
+OtherText_TM24::
+ .string "TM24 4,000 COINS$"
+OtherText_TM13::
+ .string "TM13 4,000 COINS$"
+OtherText_1F_2::
+ .string "1F$"
+OtherText_2F_2::
+ .string "2F$"
+OtherText_3F_2::
+ .string "3F$"
+OtherText_4F_2::
+ .string "4F$"
+OtherText_5F_2::
+ .string "5F$"
+OtherText_Cool2::
+ .string "COOL$"
+OtherText_Beauty3::
+ .string "BEAUTY$"
+OtherText_Cute2::
+ .string "CUTE$"
+OtherText_Smart2::
+ .string "SMART$"
+OtherText_Tough2::
+ .string "TOUGH$"
+OtherText_Normal::
+ .string "NORMAL$"
+OtherText_Super::
+ .string "SUPER$"
+OtherText_Hyper::
+ .string "HYPER$"
+OtherText_Master::
+ .string "MASTER$"
+OtherText_Cool3::
+ .string "COOL$"
+OtherText_Beauty4::
+ .string "BEAUTY$"
+OtherText_Cute3::
+ .string "CUTE$"
+OtherText_Smart3::
+ .string "SMART$"
+OtherText_Tough3::
+ .string "TOUGH$"
+OtherText_Items::
+ .string "ITEMS$"
+OtherText_KeyItems::
+ .string "KEY ITEMS$"
+OtherText_Balls::
+ .string "BALLS$"
+OtherText_TMsHMs::
+ .string "TMs & HMs$"
+OtherText_Berries::
+ .string "BERRIES$"
+
+gPCText_SomeonesPC:: @ 8410753
+ .string "SOMEONE’S PC$"
+
+gPCText_LanettesPC:: @ 8410760
+ .string "LANETTE’S PC$"
+
+gPCText_PlayersPC:: @ 841076D
+ .string "{PLAYER}’s PC$"
+
+gPCText_HallOfFame:: @ 8410775
+ .string "HALL OF FAME$"
+
+gPCText_LogOff:: @ 8410782
+ .string "LOG OFF$"
+
+gOtherText_99Times:: @ 841078A
+ .string "99 times +$"
+
+gOtherText_1Minute:: @ 8410795
+ .string "1 minute +$"
+
+gOtherText_Seconds:: @ 84107A0
+ .string " seconds$"
+
+gOtherText_Times:: @ 84107A9
+ .string " times$"
+ .string ".$"
+
+gOtherText_BigGuy:: @ 84107B2
+ .string "Big guy$"
+
+gOtherText_BigGirl:: @ 84107BA
+ .string "Big girl$"
+
+gOtherText_Son:: @ 84107C3
+ .string "son$"
+
+gOtherText_Daughter:: @ 84107C7
+ .string "daughter$"
+
+OtherText_BlueFlute:
+ .string "BLUE FLUTE$"
+OtherText_YellowFlute:
+ .string "YELLOW FLUTE$"
+OtherText_RedFlute:
+ .string "RED FLUTE$"
+OtherText_WhiteFlute:
+ .string "WHITE FLUTE$"
+OtherText_BlackFlute:
+ .string "BLACK FLUTE$"
+OtherText_PrettyChair:
+ .string "PRETTY CHAIR$"
+OtherText_PrettyDesk:
+ .string "PRETTY DESK$"
+OtherText_1F:
+ .string "1F$"
+OtherText_2F:
+ .string "2F$"
+OtherText_3F:
+ .string "3F$"
+OtherText_4F:
+ .string "4F$"
+OtherText_5F:
+ .string "5F$"
+OtherText_6F:
+ .string "6F$"
+OtherText_7F:
+ .string "7F$"
+OtherText_8F:
+ .string "8F$"
+OtherText_9F:
+ .string "9F$"
+OtherText_10F:
+ .string "10F$"
+OtherText_11F:
+ .string "11F$"
+OtherText_B1F:
+ .string "B1F$"
+OtherText_B2F:
+ .string "B2F$"
+OtherText_B3F:
+ .string "B3F$"
+OtherText_B4F:
+ .string "B4F$"
+OtherText_Rooftop:
+ .string "ROOFTOP$"
+
+gOtherText_NowOn:: @ 841085E
+ .string "Now on:$"
+
+gPCText_Cancel:: @ 8410866
+ .string "CANCEL$"
+
+PCText_ExitBox:
+ .string "Exit from the BOX.$"
+PCText_WhatYouDo:
+ .string "What would you like to do?$"
+PCText_PickATheme:
+ .string "Please pick a theme.$"
+PCText_PickAWallpaper:
+ .string "Please pick out wallpaper.$"
+PCText_IsSelected:
+ .string " is selected.$"
+PCText_JumpToWhichBox:
+ .string "Jump to which BOX?$"
+PCText_DepositInWhichBox:
+ .string "Deposit in which BOX?$"
+PCText_WasDeposited:
+ .string " was deposited.$"
+PCText_BoxIsFull:
+ .string "The BOX is full.$"
+PCText_ReleasePoke:
+ .string "Release this POKéMON?$"
+PCText_WasReleased:
+ .string " was released.$"
+PCText_ByeBye:
+ .string "Bye-bye, !$"
+PCText_MarkPoke:
+ .string "Mark your POKéMON.$"
+PCText_LastPoke:
+ .string "That’s your last POKéMON!$"
+PCText_PartyFull:
+ .string "Your party’s full!$"
+PCText_HoldingPoke:
+ .string "You’re holding a POKéMON!$"
+PCText_WhichOneWillTake:
+ .string "Which one will you take?$"
+PCText_CantReleaseEgg:
+ .string "You can’t release an EGG.$"
+PCText_ContinueBox:
+ .string "Continue BOX operations?$"
+PCText_CameBack:
+ .string " came back!$"
+PCText_Worried:
+ .string "Was it worried about you?$"
+PCText_Surprise:
+ .string "... ... ... ... ...!$"
+PCText_PleaseRemoveMail:
+ .string "Please remove the MAIL.$"
+PCText_Cancel2:
+ .string "CANCEL$"
+PCText_Deposit:
+ .string "DEPOSIT$"
+PCText_Withdraw:
+ .string "WITHDRAW$"
+PCText_Switch:
+ .string "SWITCH$"
+PCText_Move:
+ .string "MOVE$"
+PCText_Place:
+ .string "PLACE$"
+PCText_Summary:
+ .string "SUMMARY$"
+PCText_Release:
+ .string "RELEASE$"
+PCText_Mark:
+ .string "MARK$"
+PCText_Name:
+ .string "NAME$"
+PCText_Jump:
+ .string "JUMP$"
+PCText_Wallpaper:
+ .string "WALLPAPER$"
+PCText_Scenery1:
+ .string "SCENERY 1$"
+PCText_Scenery2:
+ .string "SCENERY 2$"
+PCText_Scenery3:
+ .string "SCENERY 3$"
+PCText_Etc:
+ .string "ETCETERA$"
+PCText_Forest:
+ .string "FOREST$"
+PCText_City:
+ .string "CITY$"
+PCText_Desert:
+ .string "DESERT$"
+PCText_Savanna:
+ .string "SAVANNA$"
+PCText_Crag:
+ .string "CRAG$"
+PCText_Volcano:
+ .string "VOLCANO$"
+PCText_Snow:
+ .string "SNOW$"
+PCText_Cave:
+ .string "CAVE$"
+PCText_Beach:
+ .string "BEACH$"
+PCText_Seafloor:
+ .string "SEAFLOOR$"
+PCText_River:
+ .string "RIVER$"
+PCText_Sky:
+ .string "SKY$"
+PCText_Polka:
+ .string "POLKA-DOT$"
+PCText_PokeCenter:
+ .string "POKéCENTER$"
+PCText_Machine:
+ .string "MACHINE$"
+PCText_Plain:
+ .string "PLAIN$"
+PCText_WhatDoYouWant:
+ .string "What do you want?$"
+PCText_WithdrawPoke:
+ .string "WITHDRAW POKéMON$"
+PCText_DepositPoke:
+ .string "DEPOSIT POKéMON$"
+PCText_MovePoke:
+ .string "MOVE POKéMON$"
+PCText_SeeYa:
+ .string "SEE YA!$"
+PCText_MovePokeToParty:
+ .string "Move POKéMON stored in BOXES to\nyour party.$"
+PCText_StorePokeInBox:
+ .string "Store POKéMON in your party in BOXES.$"
+PCText_OrganizeBoxesParty:
+ .string "Organize the POKéMON in BOXES and\nin your party.$"
+PCText_ReturnToPrevMenu:
+ .string "Return to the previous menu.$"
+
+gPCText_OnlyOne:: @ 8410C1C
+ .string "There is just one POKéMON with you.$"
+
+gPCText_PartyFull2:: @ 8410C40
+ .string "Your party is full!$"
+
+gPCText_BOX:: @ 8410C54
+ .string "BOX$"
+
+PCText_CheckMap:
+ .string "{CLEAR 0}Check the map of the HOENN region.$"
+PCText_CheckPoke:
+ .string "{CLEAR 0}Check POKéMON in detail.$"
+PCText_CheckTrainer:
+ .string "{CLEAR 0}Check TRAINER information.$"
+PCText_CheckRibbons:
+ .string "{CLEAR 0}Check obtained RIBBONS.$"
+PCText_PutAwayNav:
+ .string "{CLEAR 0}Put away the POKéNAV.$"
+PCText_NoRibbonWin:
+ .string "{CLEAR 0}There are no RIBBON winners.$"
+PCText_NoTrainers:
+ .string "{CLEAR 0}No TRAINERS are registered.$"
+PCText_CheckParty:
+ .string "{CLEAR 0}Check party POKéMON in detail.$"
+PCText_CheckPokeAll:
+ .string "{CLEAR 0}Check all POKéMON in detail.$"
+PCText_ReturnToNav:
+ .string "{CLEAR 0}Return to the POKéNAV menu.$"
+PCText_FindCool:
+ .string "{CLEAR 0}Find cool POKéMON.$"
+PCText_FindBeauty:
+ .string "{CLEAR 0}Find beautiful POKéMON.$"
+PCText_FindCute:
+ .string "{CLEAR 0}Find cute POKéMON.$"
+PCText_FindSmart:
+ .string "{CLEAR 0}Find smart POKéMON.$"
+PCText_FindTough:
+ .string "{CLEAR 0}Find tough POKéMON.$"
+PCText_ReturnToCondition:
+ .string "{CLEAR 0}Return to the CONDITION menu.$"
+
+gOtherText_NumberRegistered:: @ 8410E22
+ .string "No. registered$"
+
+gOtherText_NumberBattles:: @ 8410E31
+ .string "No. of battles$"
+
+gOtherText_Strategy:: @ 8410E40
+ .string "{PALETTE 5}STRATEGY$"
+
+gOtherText_TrainersPokemon:: @ 8410E4C
+ .string "{PALETTE 5}TRAINER’S POKéMON$"
+
+gOtherText_SelfIntroduction:: @ 8410E61
+ .string "{PALETTE 5}SELF-INTRODUCTION$"
+
+gOtherText_Nature2:: @ 8410E76
+ .string "NATURE/$"
+
+gOtherText_InParty:: @ 8410E7E
+ .string "IN PARTY$"
+
+gOtherText_Number:: @ 8410E87
+ .string "No. $"
+
+gOtherText_Ribbons:: @ 8410E8C
+ .string "RIBBONS$"
+
+OtherText_MakeProfilePage1::
+ .string "Make your profile by combining$"
+OtherText_MakeProfilePage2::
+ .string "four words or phrases.$"
+OtherText_MakeMessagePage1::
+ .string "Make a message with 6 phrases.$"
+OtherText_MakeMessagePage2::
+ .string "Max. two 12-letter phrases/line.$"
+OtherText_DescribeFeelingsPage1::
+ .string "Find words that describe your$"
+OtherText_DescribeFeelingsPage2::
+ .string "feelings right now.$"
+OtherText_WithFourPhrases::
+ .string "With four phrases,$"
+OtherText_CombineNinePhrasesPage1::
+ .string "Combine nine phrases and$"
+OtherText_CombineNinePhrasesPage2::
+ .string "make a message.$"
+OtherText_ImproveBardSongPage1::
+ .string "Change just one word or phrase$"
+OtherText_ImproveBardSongPage2::
+ .string "and improve the BARD’s song.$"
+OtherText_YourProfile::
+ .string "Your profile $"
+OtherText_YourFeelingBattle::
+ .string "Your feeling at the battle’s start$"
+OtherText_SetWinMessage::
+ .string "What you say if you win a battle$"
+OtherText_SetLossMessage::
+ .string "What you say if you lose a battle$"
+OtherText_TheAnswer::
+ .string "The answer$"
+OtherText_MailMessage::
+ .string "The MAIL message$"
+OtherText_MailSalutation::
+ .string "The MAIL salutation$"
+OtherText_NewSong::
+ .string "The new song$"
+OtherText_CombineTwoPhrasesPage1::
+ .string "Combine two phrases and$"
+OtherText_CombineTwoPhrasesPage2::
+ .string "make a trendy saying.$"
+OtherText_ConfirmTrendyPage1::
+ .string "The trendy saying$"
+OtherText_ConfirmTrendyPage2::
+ .string "is as shown. Okay?$"
+OtherText_HipsterPage1::
+ .string "I’ll combine two phrases and$"
+OtherText_HipsterPage2::
+ .string "teach you a good saying.$"
+
+gOtherText_TextDeletedConfirmPage1:: @ 84110EE
+ .string "All the text being edited will$"
+
+gOtherText_TextDeletedConfirmPage2:: @ 841110D
+ .string "be deleted. Is that okay?$"
+
+gOtherText_QuitEditing:: @ 8411127
+ .string "Quit editing?$"
+
+gOtherText_EditedTextNoSavePage1:: @ 8411135
+ .string "The edited text will not be saved.$"
+
+gOtherText_EditedTextNoSavePage2:: @ 8411158
+ .string "Is that okay?$"
+
+gOtherText_EnterAPhraseOrWord:: @ 8411166
+ .string "Please enter a phrase or word.$"
+
+gOtherText_TextNoDelete:: @ 8411185
+ .string "The entire text can’t be deleted.$"
+
+gOtherText_OnlyOnePhrase:: @ 84111A7
+ .string "Only one phrase may be changed.$"
+
+gOtherText_OriginalSongRestored:: @ 84111C7
+ .string "The original song will be restored.$"
+
+gOtherText_TrendyAlready:: @ 84111EB
+ .string "That’s trendy already!$"
+
+gOtherText_CombineTwoPhrases:: @ 8411202
+ .string "Combine two words or phrases.$"
+
+gOtherText_QuitGivingInfo:: @ 8411220
+ .string "Quit giving information?$"
+
+gOtherText_StopGivingMail:: @ 8411239
+ .string "Stop giving the POKéMON MAIL?$"
+
+gOtherText_Profile:: @ 8411257
+ .string "PROFILE$"
+
+gOtherText_AtBattleStart:: @ 841125F
+ .string "At the battle’s start.$"
+
+gOtherText_UponWinningBattle:: @ 8411276
+ .string "Upon winning a battle.$"
+
+gOtherText_UponLosingBattle:: @ 841128D
+ .string "Upon losing a battle.$"
+
+gOtherText_TheBardsSong:: @ 84112A3
+ .string "The BARD’s Song$"
+
+gOtherText_WhatsHipHappening:: @ 84112B3
+ .string "What’s hip and happening?$"
+
+gOtherText_Interview:: @ 84112CD
+ .string "Interview$"
+
+gOtherText_GoodSaying:: @ 84112D7
+ .string "Good saying$"
+
+OtherText_SoPretty::
+ .string " so pretty!$"
+OtherText_SoDarling::
+ .string " so darling!$"
+OtherText_SoRelaxed::
+ .string " so relaxed!$"
+OtherText_SoSunny::
+ .string " so sunny!$"
+OtherText_SoDesirable::
+ .string " so desirable!$"
+OtherText_SoExciting::
+ .string " so exciting!$"
+OtherText_SoAmusing::
+ .string " so amusing!$"
+OtherText_SoMagical::
+ .string " so magical!$"
+
+gOtherText_Is:: @ 841134B
+ .string " is$"
+
+gOtherText_DontYouAgree:: @ 841134F
+ .string "\nDon’t you agree?$"
+
+OtherText_WantVacationNicePlace::
+ .string "I so want to go on a vacation.\nWould you happen to know a nice place?$"
+OtherText_BoughtCrayonsIsNice::
+ .string "I bought crayons with 120 colors!\nDon’t you think that’s nice?$"
+OtherText_IfWeCouldFloat::
+ .string "Wouldn’t it be nice if we could float\naway on a cloud of bubbles?$"
+OtherText_SandWashesAwayMakeSad::
+ .string "When you write on a sandy beach,\nthey wash away. It makes me sad.$"
+OtherText_WhatsBottomSeaLike::
+ .string "What’s the bottom of the sea like?\nJust once I would so love to go!$"
+OtherText_SeeSettingSun::
+ .string "When you see the setting sun, does it\nmake you want to go home?$"
+OtherText_LyingInGreenGrass::
+ .string "Lying back in the green grass...\nOh, it’s so, so nice!$"
+OtherText_SecretBasesWonderful::
+ .string "SECRET BASES are so wonderful!\nCan’t you feel the excitement?$"
+OtherText_PokeLeague::
+ .string "POKéMON LEAGUE$"
+OtherText_PokeCenter::
+ .string "POKéMON CENTER$"
+
+gOtherText_GetsAPokeBlock:: @ 8411581
+ .string " gets a {POKEBLOCK}?$"
+
+OtherText_Coolness::
+ .string "Coolness $"
+OtherText_Beauty::
+ .string "Beauty $"
+OtherText_Cuteness::
+ .string "Cuteness $"
+OtherText_Smartness::
+ .string "Smartness $"
+OtherText_Toughness::
+ .string "Toughness $"
+
+gOtherText_WasEnhanced:: @ 84115C2
+ .string "was enhanced!$"
+
+gOtherText_NothingChanged:: @ 84115D0
+ .string "Nothing changed!$"
+
+gOtherText_WontEat:: @ 84115E1
+ .string "It won’t eat anymore...$"
+
+gSystemText_SaveFailedBackupCheck:: @ 84115F9
+ .string "Save failed.\nChecking the backup memory...\nPlease wait.\n{COLOR RED}“Time required: 1 minute”$"
+
+gSystemText_BackupDamagedGameContinue:: @ 841164E
+ .string "The backup memory is damaged or\nthe internal battery has run dry.\nThe game can be played. However,\nprogress cannot be saved.$"
+
+gSystemText_GameplayEnded:: @ 84116CB
+ .string "{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen...”$"
+
+gSystemText_CheckCompleteSaveAttempt:: @ 841170F
+ .string "Check completed.\nAttempting to save again.\nPlease wait.$"
+
+gSystemText_SaveCompletedGameEnd:: @ 8411747
+ .string "Save completed.\n{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen.”$"
+
+gSystemText_SaveCompletedPressA:: @ 8411799
+ .string "Save completed.\n{COLOR RED}“Please press the A Button.”$"
+
+gOtherText_Ferry:: @ 84117C9
+ .string "FERRY$"
+
+gOtherText_SecretBase:: @ 84117CF
+ .string "SECRET BASE$"
+
+gOtherText_Hideout:: @ 84117DB
+ .string "HIDEOUT$"
+
+gSystemText_ResetRTCPrompt:: @ 84117E3
+ .string "Reset RTC?\nA: Confirm, B: Cancel$"
+
+gSystemText_PresentTime:: @ 8411804
+ .string "Present time in game$"
+
+gSystemText_PreviousTime:: @ 8411819
+ .string "Previous time in game$"
+
+gSystemText_PleaseResetTime:: @ 841182F
+ .string "Please reset the time.$"
+
+gSystemText_ClockResetDataSave:: @ 8411846
+ .string "The clock has been reset.\nData will be saved. Please wait.$"
+
+gSystemText_SaveCompleted:: @ 8411881
+ .string "Save completed.$"
+
+gSystemText_SaveFailed:: @ 8411891
+ .string "Save failed...$"
+
+gSystemText_NoSaveFileNoTime:: @ 84118A0
+ .string "There is no save file, so the time\ncan’t be set.$"
+
+gSystemText_ClockAdjustmentUsable:: @ 84118D1
+ .string "The in-game clock adjustment system\nis now useable.$"
+
+gSystemText_Saving:: @ 8411905
+ .string "SAVING...\nDON’T TURN OFF THE POWER.$"
+
+ .align 2
+gUnknown_0841192C:: @ 841192C
+ .4byte ContestStatsText_VerySoft
+ .4byte ContestStatsText_Soft
+ .4byte ContestStatsText_Hard
+ .4byte ContestStatsText_VeryHard
+ .4byte ContestStatsText_SuperHard
+
+gUnknown_08411940:: @ 8411940
+ .incbin "baserom.gba", 0x00411940, 0x8
+
+gUnknown_08411948:: @ 8411948
+ .incbin "baserom.gba", 0x00411948, 0x18
+
+gSaveFailedClockPal:: @ 8411960
+ .incbin "graphics/misc/clock_small.gbapal"
+
+gSaveFailedClockGfx:: @ 8411980
+ .incbin "graphics/misc/clock_small.4bpp.lz"
+
+@ 8411A10
+ .include "data/mon_pokeblock_anims.inc"
+
+ .align 2
+gSpriteAffineAnim_8411E90:: @ 8411E90
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411EA0:: @ 8411EA0
+ obj_rot_scal_anim_frame 0x0, 0x0, 12, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 30
+ obj_rot_scal_anim_frame 0x0, 0x0, -12, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411EC0:: @ 8411EC0
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 12, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 28
+ obj_rot_scal_anim_frame 0x0, 0x0, -4, 3
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411EE8:: @ 8411EE8
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 32
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411F08:: @ 8411F08
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 32
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 16
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411F30:: @ 8411F30
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411F50:: @ 8411F50
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411F78:: @ 8411F78
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 32
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411F98:: @ 8411F98
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 8
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 32
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 8
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411FC0:: @ 8411FC0
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 24
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8411FE0:: @ 8411FE0
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -1, 4
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 24
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 4
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8412008:: @ 8412008
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 24
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0x0, 0x0, -12, 2
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8412028:: @ 8412028
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 1, 24
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 16
+ obj_rot_scal_anim_frame 0x0, 0x0, -12, 2
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_8412050:: @ 8412050
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411EA0
+ .4byte gSpriteAffineAnim_8411EE8
+ .4byte gSpriteAffineAnim_8411F30
+ .4byte gSpriteAffineAnim_8411F78
+ .4byte gSpriteAffineAnim_8411FC0
+ .4byte gSpriteAffineAnim_8412008
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411EC0
+ .4byte gSpriteAffineAnim_8411F08
+ .4byte gSpriteAffineAnim_8411F50
+ .4byte gSpriteAffineAnim_8411F98
+ .4byte gSpriteAffineAnim_8411FE0
+ .4byte gSpriteAffineAnim_8412028
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411E90
+ .4byte gSpriteAffineAnim_8411E90
+
+ .align 2
+gUnknown_084120A4:: @ 84120A4
+ .4byte gPokeblockRed_Pal
+ .4byte gPokeblockBlue_Pal
+ .4byte gPokeblockPink_Pal
+ .4byte gPokeblockGreen_Pal
+ .4byte gPokeblockYellow_Pal
+ .4byte gPokeblockPurple_Pal
+ .4byte gPokeblockIndigo_Pal
+ .4byte gPokeblockBrown_Pal
+ .4byte gPokeblockLiteBlue_Pal
+ .4byte gPokeblockOlive_Pal
+ .4byte gPokeblockGray_Pal
+ .4byte gPokeblockBlack_Pal
+ .4byte gPokeblockWhite_Pal
+ .4byte gPokeblockGold_Pal
+
+ .align 2
+gSpriteAffineAnim_84120DC:: @ 84120DC
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_84120EC:: @ 84120EC
+ .4byte gSpriteAffineAnim_84120DC
+
+ .align 2
+gSpriteAffineAnim_84120F0:: @ 84120F0
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, -8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
+ obj_rot_scal_anim_frame 0x0, 0x0, 16, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 16, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 16, 1
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8412148:: @ 8412148
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 8, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 8
+ obj_rot_scal_anim_frame 0x0, 0x0, -16, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, -16, 1
+ obj_rot_scal_anim_frame 0x0, 0x0, -16, 1
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_84121A0:: @ 84121A0
+ .4byte gSpriteAffineAnim_84120DC
+
+ .align 2
+gSpriteAffineAnimTable_84121A4:: @ 84121A4
+ .4byte gSpriteAffineAnim_84120F0
+
+ .align 2
+gSpriteAffineAnimTable_84121A8:: @ 84121A8
+ .4byte gSpriteAffineAnim_8412148
+
+ .align 2
+gOamData_84121AC:: @ 84121AC
+ .2byte 0x0300
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_84121B4:: @ 84121B4
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_84121BC:: @ 84121BC
+ .4byte gSpriteAnim_84121B4
+
+ .align 2
+gSpriteAffineAnim_84121C0:: @ 84121C0
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 1
+ obj_rot_scal_anim_jump 1
+
+ .align 2
+gSpriteAffineAnimTable_84121D8:: @ 84121D8
+ .4byte gSpriteAffineAnim_84121C0
+
+ .align 2
+gUnknown_084121DC:: @ 84121DC
+ obj_tiles gPokeblock_Gfx, 0x20, 14818
+
+ .align 2
+gSpriteTemplate_84121E4:: @ 84121E4
+ spr_template 14818, 14818, gOamData_84121AC, gSpriteAnimTable_84121BC, NULL, gSpriteAffineAnimTable_84121D8, sub_81481B0
+
+gUnknown_084121FC:: @ 84121FC
+ .incbin "graphics/intro/intro2_grass.gbapal"
+
+gUnknown_0841221C:: @ 841221C
+ .incbin "baserom.gba", 0x0041221c, 0x20
+
+gUnknown_0841223C:: @ 841223C
+ .incbin "baserom.gba", 0x0041223c, 0x20
+
+ .align 2
+gUnknown_0841225C:: @ 841225C
+ .incbin "graphics/intro/intro2_grass.4bpp.lz"
+
+ .align 2
+gUnknown_084126DC:: @ 84126DC
+ .incbin "graphics/intro/intro2_grass_map.bin.lz"
+
+gUnknown_08412818:: @ 8412818
+ .incbin "baserom.gba", 0x00412818, 0x60
+
+gUnknown_08412878:: @ 8412878
+ .incbin "baserom.gba", 0x00412878, 0x60
+
+ .align 2
+gUnknown_084128D8:: @ 84128D8
+ .incbin "graphics/intro/intro2_bgclouds.4bpp.lz"
+
+ .align 2
+gUnknown_08412EB4:: @ 8412EB4
+ .incbin "graphics/intro/intro2_bgclouds_map.bin.lz"
+
+gUnknown_08413184:: @ 8413184
+ .incbin "graphics/intro/intro2_bgclouds.gbapal"
+
+gUnknown_084131A4:: @ 84131A4
+ .incbin "baserom.gba", 0x004131a4, 0x20
+
+gUnknown_084131C4:: @ 84131C4
+ .incbin "graphics/intro/intro2_bgclouds2.4bpp.lz"
+
+gUnknown_08413300:: @ 8413300
+ .incbin "baserom.gba", 0x00413300, 0x20
+
+gUnknown_08413320:: @ 8413320
+ .incbin "baserom.gba", 0x00413320, 0x20
+
+ .align 2
+gUnknown_08413340:: @ 8413340
+ .incbin "graphics/intro/intro2_bgtrees.4bpp.lz"
+
+ .align 2
+gUnknown_084139C8:: @ 84139C8
+ .incbin "graphics/intro/intro2_bgtrees_map.bin.lz"
+
+ .align 2
+gUnknown_08413CCC:: @ 8413CCC
+ .incbin "graphics/intro/intro2_bgtrees.gbapal"
+
+ .align 2
+gIntro2TreeTiles:: @ 8413CEC
+ .incbin "graphics/intro/intro2_bgtreessmall.4bpp.lz"
+
+gUnknown_08413E38:: @ 8413E38
+ .incbin "baserom.gba", 0x00413e38, 0x40 @ two palettes?
+
+ .align 2
+gUnknown_08413E78:: @ 8413E78
+ .incbin "graphics/intro/intro2_bgnight.4bpp.lz" @ only used in credits, coupled with intro because bicycle sequence
+
+ .align 2
+gUnknown_08414064:: @ 8414064
+ .incbin "graphics/intro/intro2_bgnight.gbapal"
+
+ .align 2
+gUnknown_08414084:: @ 8414084
+ .incbin "graphics/intro/intro2_bgnight_map.bin.lz"
+
+ .align 2
+gIntro2NightTiles:: @ 8414330
+ .incbin "graphics/intro/intro2_night.4bpp.lz"
+
+ .align 1
+gIntro2BrendanPalette:: @ 84143B4
+ .incbin "graphics/intro/intro2_brendan.gbapal"
+
+ .align 2
+gIntro2BrendanTiles:: @ 84143D4
+ .incbin "graphics/intro/intro2_brendan.4bpp.lz"
+
+ .align 1
+gIntro2MayPalette:: @ 8414F70
+ .incbin "graphics/intro/intro2_may.gbapal"
+
+ .align 2
+gUnknown_08414F90:: @ 8414F90
+ .space 0x1E0
+
+ .align 2
+gIntro2MayTiles:: @ 8415170
+ .incbin "graphics/intro/intro2_may.4bpp.lz"
+
+ .align 2
+gIntro2BicycleTiles:: @ 8415E08
+ .incbin "graphics/intro/intro2_bicycle.4bpp.lz"
+
+ .align 1
+gIntro2LatiosPalette:: @ 8416234
+ .incbin "graphics/intro/intro2_latios.gbapal"
+
+ .align 2
+gIntro2LatiosTiles:: @ 8416254
+ .incbin "graphics/intro/intro2_latios.4bpp.lz"
+
+ .align 1
+gIntro2LatiasPalette:: @ 84166F8
+ .incbin "graphics/intro/intro2_latias.gbapal"
+
+ .align 2
+gIntro2LatiasTiles:: @ 8416718
+ .incbin "graphics/intro/intro2_latias.4bpp.lz"
+
+ .align 2
+gSpriteTemplate_8416B3C:: @ 8416B3C
+ spr_template 2000, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_814910C
+
+ .align 2
+gUnknown_08416B54:: @ 8416B54
+ obj_tiles gUnknown_084131C4, 0x400, 2000
+ null_obj_tiles
+
+ .align 2
+gSpriteAnim_8416B64:: @ 8416B64
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8416B6C:: @ 8416B6C
+ obj_image_anim_frame 16, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8416B74:: @ 8416B74
+ obj_image_anim_frame 20, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8416B7C:: @ 8416B7C
+ obj_image_anim_frame 22, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8416B84:: @ 8416B84
+ .4byte gSpriteAnim_8416B64
+ .4byte gSpriteAnim_8416B6C
+ .4byte gSpriteAnim_8416B74
+ .4byte gSpriteAnim_8416B7C
+
+gUnknown_08416B94:: @ 8416B94
+ .incbin "baserom.gba", 0x00416b94, 0x48
+
+ .align 2
+gUnknown_08416BDC:: @ 8416BDC
+ obj_tiles gIntro2TreeTiles, 0x400, 2000
+ null_obj_tiles
+
+ .align 2
+gSpriteAnim_8416BEC:: @ 8416BEC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8416BF4:: @ 8416BF4
+ obj_image_anim_frame 16, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8416BFC:: @ 8416BFC
+ obj_image_anim_frame 24, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8416C04:: @ 8416C04
+ .4byte gSpriteAnim_8416BEC
+ .4byte gSpriteAnim_8416BF4
+ .4byte gSpriteAnim_8416BFC
+
+gUnknown_08416C10:: @ 8416C10
+ .incbin "baserom.gba", 0x00416c10, 0x60
+
+ .align 2
+gUnknown_08416C70:: @ 8416C70
+ obj_tiles gIntro2NightTiles, 0x400, 2000
+ null_obj_tiles
+
+ .align 2
+gSpriteAnim_8416C80:: @ 8416C80
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8416C88:: @ 8416C88
+ .4byte gSpriteAnim_8416C80
+
+gUnknown_08416C8C:: @ 8416C8C
+ .incbin "baserom.gba", 0x00416c8c, 0x30
+
+ .align 2
+gOamData_8416CBC:: @ 8416CBC
+ .2byte 0x00A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8416CC4:: @ 8416CC4
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 64, 8
+ obj_image_anim_frame 128, 8
+ obj_image_anim_frame 192, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_8416CD8:: @ 8416CD8
+ .4byte gSpriteAnim_8416CC4
+
+ .align 2
+gSpriteTemplate_8416CDC:: @ 8416CDC
+ spr_template 1002, 1002, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82
+
+ .align 2
+gSpriteTemplate_8416CF4:: @ 8416CF4
+ spr_template 1003, 1003, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82
+
+ .align 2
+gOamData_8416D0C:: @ 8416D0C
+ .2byte 0x40A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8416D14:: @ 8416D14
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 32, 8
+ obj_image_anim_frame 64, 8
+ obj_image_anim_frame 96, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_8416D28:: @ 8416D28
+ .4byte gSpriteAnim_8416D14
+
+ .align 2
+gSpriteTemplate_8416D2C:: @ 8416D2C
+ spr_template 1001, 1002, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0
+
+ .align 2
+gSpriteTemplate_8416D44:: @ 8416D44
+ spr_template 1001, 1003, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0
+
+ .align 2
+gOamData_8416D5C:: @ 8416D5C
+ .2byte 0x00A0
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8416D64:: @ 8416D64
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8416D6C:: @ 8416D6C
+ obj_image_anim_frame 64, 16
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8416D74:: @ 8416D74
+ .4byte gSpriteAnim_8416D64
+ .4byte gSpriteAnim_8416D6C
+
+ .align 2
+gSpriteTemplate_8416D7C:: @ 8416D7C
+ spr_template 1004, 1004, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83
+
+ .align 2
+gSpriteTemplate_8416D94:: @ 8416D94
+ spr_template 1005, 1005, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83
+
+ .align 2
+gIntro2BrendanSpriteSheet:: @ 8416DAC
+ obj_tiles gIntro2BrendanTiles, 0x3800, 1002
+ .space 8
+
+ .align 2
+gIntro2MaySpriteSheet:: @ 8416DBC
+ obj_tiles gIntro2MayTiles, 0x3800, 1003
+ .space 8
+
+ .align 2
+gIntro2BicycleSpriteSheet:: @ 8416DCC
+ obj_tiles gIntro2BicycleTiles, 0x1000, 1001
+ .space 8
+
+ .align 2
+gIntro2LatiosSpriteSheet:: @ 8416DDC
+ obj_tiles gIntro2LatiosTiles, 0x1000, 1004
+ .space 8
+
+ .align 2
+gIntro2LatiasSpriteSheet:: @ 8416DEC
+ obj_tiles gIntro2LatiasTiles, 0x1000, 1005
+ .space 8
+
+ .align 2
+gIntro2SpritePalettes:: @ 8416DFC
+ obj_pal gIntro2BrendanPalette, 1002
+ obj_pal gIntro2MayPalette, 1003
+ obj_pal gIntro2LatiosPalette, 1004
+ obj_pal gIntro2LatiasPalette, 1005
+ .space 8
+
+gUnknown_08416E24:: @ 8416E24
+ obj_tiles gIntro2BrendanTiles, 0x2000, 1002
+ .space 8
+
+gUnknown_08416E34:: @ 8416E34
+ obj_tiles gIntro2MayTiles, 0x2000, 1003
+ .space 8
+
+ .align 2
+gEvoSparklePalette: @ 8416E44
+ .incbin "graphics/misc/evo_sparkle.gbapal"
+
+ .align 2
+gEvoSparkleTiles: @ 8416E64
+ .incbin "graphics/misc/evo_sparkle.4bpp.lz"
+
+gUnknown_08416E84:: @ 8416E84
+ obj_tiles gEvoSparkleTiles, 0x20, 1001
+ .space 8
+
+gUnknown_08416E94:: @ 8416E94
+ obj_pal gEvoSparklePalette, 1001
+ .space 8
+
+ .align 2
+gOamData_8416EA4:: @ 8416EA4
+ .2byte 0x00A0
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8416EAC:: @ 8416EAC
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8416EB4:: @ 8416EB4
+ .4byte gSpriteAnim_8416EAC
+
+ .align 2
+gSpriteTemplate_8416EB8:: @ 8416EB8
+ spr_template 1001, 1001, gOamData_8416EA4, gSpriteAnimTable_8416EB4, NULL, gDummySpriteAffineAnimTable, nullsub_84
+
+gUnknown_08416ED0:: @ 8416ED0
+ .incbin "baserom.gba", 0x00416ed0, 0x38
+
+Unknown_8416F08:
+ .incbin "baserom.gba", 0x00416f08, 0x4
+Unknown_8416F0C:
+ .incbin "baserom.gba", 0x00416f0c, 0x4
+Unknown_8416F10:
+ .incbin "baserom.gba", 0x00416f10, 0x4
+Unknown_8416F14:
+ .incbin "baserom.gba", 0x00416f14, 0x4
+Unknown_8416F18:
+ .incbin "baserom.gba", 0x00416f18, 0x4
+Unknown_8416F1C:
+ .incbin "baserom.gba", 0x00416f1c, 0x6
+Unknown_8416F22:
+ .incbin "baserom.gba", 0x00416f22, 0x6
+Unknown_8416F28:
+ .incbin "baserom.gba", 0x00416f28, 0x6
+Unknown_8416F2E:
+ .incbin "baserom.gba", 0x00416f2e, 0x6
+Unknown_8416F34:
+ .incbin "baserom.gba", 0x00416f34, 0x6
+Unknown_8416F3A:
+ .incbin "baserom.gba", 0x00416f3a, 0x8
+Unknown_8416F42:
+ .incbin "baserom.gba", 0x00416f42, 0x8
+Unknown_8416F4A:
+ .incbin "baserom.gba", 0x00416f4a, 0x8
+Unknown_8416F52:
+ .incbin "baserom.gba", 0x00416f52, 0x8
+Unknown_8416F5A:
+ .incbin "baserom.gba", 0x00416f5a, 0x8
+Unknown_8416F62:
+ .incbin "baserom.gba", 0x00416f62, 0xA
+Unknown_8416F6C:
+ .incbin "baserom.gba", 0x00416f6c, 0xA
+Unknown_8416F76:
+ .incbin "baserom.gba", 0x00416f76, 0xA
+Unknown_8416F80:
+ .incbin "baserom.gba", 0x00416f80, 0xA
+Unknown_8416F8A:
+ .incbin "baserom.gba", 0x00416f8a, 0xA
+Unknown_8416F94:
+ .incbin "baserom.gba", 0x00416f94, 0xC
+Unknown_8416FA0:
+ .incbin "baserom.gba", 0x00416fa0, 0xC
+Unknown_8416FAC:
+ .incbin "baserom.gba", 0x00416fac, 0xC
+Unknown_8416FB8:
+ .incbin "baserom.gba", 0x00416fb8, 0xC
+Unknown_8416FC4:
+ .incbin "baserom.gba", 0x00416fc4, 0xC
+Unknown_8416FD0:
+ .incbin "baserom.gba", 0x00416fd0, 0xE
+Unknown_8416FDE:
+ .incbin "baserom.gba", 0x00416fde, 0xE
+Unknown_8416FEC:
+ .incbin "baserom.gba", 0x00416fec, 0xE
+Unknown_8416FFA:
+ .incbin "baserom.gba", 0x00416ffa, 0xE
+Unknown_8417008:
+ .incbin "baserom.gba", 0x00417008, 0xE
+Unknown_8417016:
+ .incbin "baserom.gba", 0x00417016, 0x10
+Unknown_8417026:
+ .incbin "baserom.gba", 0x00417026, 0x10
+Unknown_8417036:
+ .incbin "baserom.gba", 0x00417036, 0x10
+Unknown_8417046:
+ .incbin "baserom.gba", 0x00417046, 0x10
+Unknown_8417056:
+ .incbin "baserom.gba", 0x00417056, 0x12
+
+ .align 2
+gUnknown_08417068:: @ 8417068
+ .4byte Unknown_8416F08
+ .4byte Unknown_8416F0C
+ .4byte Unknown_8416F10
+ .4byte Unknown_8416F14
+ .4byte Unknown_8416F18
+ .4byte Unknown_8416F1C
+ .4byte Unknown_8416F22
+ .4byte Unknown_8416F28
+ .4byte Unknown_8416F2E
+ .4byte Unknown_8416F34
+ .4byte Unknown_8416F3A
+ .4byte Unknown_8416F42
+ .4byte Unknown_8416F4A
+ .4byte Unknown_8416F52
+ .4byte Unknown_8416F5A
+ .4byte Unknown_8416F62
+ .4byte Unknown_8416F6C
+ .4byte Unknown_8416F76
+ .4byte Unknown_8416F80
+ .4byte Unknown_8416F8A
+ .4byte Unknown_8416F94
+ .4byte Unknown_8416FA0
+ .4byte Unknown_8416FAC
+ .4byte Unknown_8416FB8
+ .4byte Unknown_8416FC4
+ .4byte Unknown_8416FD0
+ .4byte Unknown_8416FDE
+ .4byte Unknown_8416FEC
+ .4byte Unknown_8416FFA
+ .4byte Unknown_8417008
+ .4byte Unknown_8417016
+ .4byte Unknown_8417026
+ .4byte Unknown_8417036
+ .4byte Unknown_8417046
+ .4byte Unknown_8417056
+
+gUnknown_084170F4:: @ 84170F4
+ .incbin "baserom.gba", 0x004170f4, 0xD0
+
+@ 84171C4
+ .include "data/bard_music.inc"
+
+UnknownString_1stRound:
+ .string "1st round$"
+UnknownString_2ndRound:
+ .string "2nd round$"
+UnknownString_3rdRound:
+ .string "3rd round$"
+UnknownString_4thRound:
+ .string "4th round$"
+UnknownString_5thRound:
+ .string "5th round$"
+UnknownString_6thRound:
+ .string "6th round$"
+UnknownString_7thRound:
+ .string "7th round$"
+UnknownString_8thRound:
+ .string "8th round$"
+
+ .align 2
+gUnknown_0842C29C:: @ 842C29C
+ .4byte UnknownString_1stRound, sub_814A4B8
+ .4byte UnknownString_2ndRound, sub_814A4B8
+ .4byte UnknownString_3rdRound, sub_814A4B8
+ .4byte UnknownString_4thRound, sub_814A4B8
+ .4byte UnknownString_5thRound, sub_814A4B8
+ .4byte UnknownString_6thRound, sub_814A4B8
+ .4byte UnknownString_7thRound, sub_814A4B8
+ .4byte UnknownString_8thRound, sub_814A4B8
+
+ @ unused
+gOtherText_TopSpeed::
+ .string "TOP SPEED$"
+
+gMultiText_BerryBlenderMaxSpeedRecord:: @ 842C2E6
+ .string "BERRY BLENDER\nMAXIMUM SPEED RECORD!$"
+
+gMultiText_2P3P4P:: @ 842C30A
+ .string "2 PLAYERS\n3 PLAYERS\n4 PLAYERS$"
+
+gMultiText_Saving:: @ 842C328
+ .string "SAVING...\nDON’T TURN OFF THE POWER.$"
+
+gMultiText_LinkError:: @ 842C34C
+ .string "{HIGHLIGHT TRANSPARENT}{COLOR WHITE2}Link error...\nCheck your Game Link cable connection,\nand turn the power off and on.$"
+
+gSystemText_OptionMenu:: @ 842C3A6
+ .string "{PALETTE 9}OPTION$"
+
+gSystemText_TextSpeed:: @ 842C3B0
+ .string "{PALETTE 9}TEXT SPEED$"
+
+gSystemText_BattleScene:: @ 842C3BE
+ .string "{PALETTE 9}BATTLE SCENE$"
+
+gSystemText_BattleStyle:: @ 842C3CE
+ .string "{PALETTE 9}BATTLE STYLE$"
+
+gSystemText_Sound:: @ 842C3DE
+ .string "{PALETTE 9}SOUND$"
+
+gSystemText_Frame:: @ 842C3E7
+ .string "{PALETTE 9}FRAME$"
+
+gSystemText_Cancel:: @ 842C3F0
+ .string "{PALETTE 9}CANCEL$"
+
+gSystemText_ButtonMode:: @ 842C3FA
+ .string "{PALETTE 9}BUTTON MODE$"
+
+gSystemText_Slow:: @ 842C409
+ .string "{PALETTE 15}SLOW$"
+
+gSystemText_Mid:: @ 842C411
+ .string "{PALETTE 15}MID$"
+
+gSystemText_Fast:: @ 842C418
+ .string "{PALETTE 15}FAST$"
+
+gSystemText_On:: @ 842C420
+ .string "{PALETTE 15}ON$"
+
+gSystemText_Off:: @ 842C426
+ .string "{PALETTE 15}OFF$"
+
+gSystemText_Shift:: @ 842C42D
+ .string "{PALETTE 15}SHIFT$"
+
+gSystemText_Set:: @ 842C436
+ .string "{PALETTE 15}SET$"
+
+gSystemText_Mono:: @ 842C43D
+ .string "{PALETTE 15}MONO$"
+
+gSystemText_Stereo:: @ 842C445
+ .string "{PALETTE 15}STEREO$"
+
+gSystemText_Type:: @ 842C44F
+ .string "{PALETTE 15}TYPE$"
+
+gSystemText_Terminator:: @ 842C457
+ .string "{PALETTE 8}$"
+
+gSystemText_Normal:: @ 842C45B
+ .string "{PALETTE 15}NORMAL$"
+
+gSystemText_LR:: @ 842C465
+ .string "{PALETTE 15}LR$"
+
+gSystemText_LA:: @ 842C46B
+ .string "{PALETTE 15}L=A$"
+
+SystemText_Pokedex:
+ .string "POKéDEX$"
+SystemText_Pokemon:
+ .string "POKéMON$"
+SystemText_BAG:
+ .string "BAG$"
+SystemText_Pokenav:
+ .string "POKéNAV$"
+SystemText_Player:
+ .string "{PLAYER}$"
+SystemText_Save:
+ .string "SAVE$"
+SystemText_Option:
+ .string "OPTION$"
+SystemText_Exit:
+ .string "EXIT$"
+SystemText_Retire: @ safari zone?
+ .string "RETIRE$"
+
+gOtherText_SafariStock:: @ 842C4A9
+ .string "SAFARI BALLS\nStock: {STR_VAR_1}$"
+
+gSystemText_LinkStandby:: @ 842C4C0
+ .string "Link standby...\n... ... B Button: Cancel$"
+
+gSystemText_LoadEventPressA:: @ 842C4E9
+ .string "Press the A Button to load event.\n... ... B Button: Cancel$"
+
+gSystemText_LoadingEvent:: @ 842C524
+ .string "Loading event...$"
+
+gSystemText_DontCutLink:: @ 842C535
+ .string "Don’t remove the Game Link cable.\nDon’t turn off the power.$"
+
+gSystemText_EventLoadSuccess:: @ 842C571
+ .string "The event was safely loaded.$$"
+
+gSystemText_LoadingError:: @ 842C58F
+ .string "Loading error.\nEnding session.$$$$$$$$"
+
+gOtherText_Hoenn:: @ 842C5B5
+ .string "HOENN$"
+
+gOtherText_OhABite:: @ 842C5BB
+ .string "Oh! A bite!$"
+
+gOtherText_PokeOnHook:: @ 842C5C7
+ .string "A POKéMON’s on the hook!{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_NotEvenANibble:: @ 842C5E2
+ .string "Not even a nibble...{PAUSE_UNTIL_PRESS}$"
+
+gOtherText_ItGotAway:: @ 842C5F9
+ .string "It got away...{PAUSE_UNTIL_PRESS}$$"
+
+gTradeText_WillBeSent:: @ 842C60B
+ .string "{STR_VAR_2} will be sent to {STR_VAR_1}.$"
+
+gTradeText_ByeBye:: @ 842C622
+ .string "Bye-bye, {STR_VAR_2}!$"
+
+gTradeText_SentOverPoke:: @ 842C62F
+ .string "{STR_VAR_1} sent over {STR_VAR_3}.$"
+
+gTradeText_TakeGoodCare:: @ 842C640
+ .string "Take good care of {STR_VAR_3}!$"
+
+TradeText_Cancel::
+ .string "CANCEL$"
+TradeText_ChoosePoke::
+ .string "Choose a POKéMON.$"
+TradeText_Summary1::
+ .string "SUMMARY$"
+TradeText_Trade1::
+ .string "TRADE$"
+TradeText_CancelTradePrompt::
+ .string "Cancel trade?$"
+TradeText_PressBToExit::
+ .string "Press the B Button to exit.$"
+TradeText_Summary2::
+ .string "SUMMARY$"
+TradeText_Trade2::
+ .string "TRADE$"
+TradeText_LinkStandby::
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Link standby...\nPlease wait.$"
+TradeText_TradeCancelled::
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$"
+TradeText_OnlyPoke::
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}That’s your only\nPOKéMON for battle.$"
+TradeText_NonTradablePoke::
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend can’t\ntrade that one.$"
+TradeText_WaitingForFriend::
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Waiting for your\nfriend to finish...$"
+TradeText_WantToTrade::
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend wants\nto trade POKéMON.$"
+ .string "$"
+
+gTradeText_TradeOkayPrompt:: @ 842C7B6
+ .string "Is this trade okay?$"
+
+gOtherText_Terminator2:: @ 842C7CA
+ .string "$"
+
+gOtherText_ControlAndMiscText:: @ 842C7CB
+ .string "\n$"
+ .string "/$"
+ .string "Lv$"
+ .string "---$"
+
+gOtherText_FourQuestions:: @ 842C7D6
+ .string "????$"
+
+@ 842C7DB
+ .include "data/text/easy_chat/group_name_strings.inc"
+
+gOtherText_ThreeQuestions:: @ 842C890
+ .string "???$"
+
+gOtherText_From:: @ 842C894
+ .string "From $"
+
+gOtherText_MixingRecordsWithFriend:: @ 842C89A
+ .string "Mixing records...$"
+
+gOtherText_MixingComplete:: @ 842C8AC
+ .string "Record mixing completed.\nThank you for waiting.$"
+
+gOtherText_TrainersTrainerCard:: @ 842C8DC
+ .string "’s TRAINER CARD$"
+
+gOtherText_FirstHOF:: @ 842C8EC
+ .string "FIRST HALL OF FAME$"
+
+gOtherText_LinkCableBattles:: @ 842C8FF
+ .string "LINK CABLE BATTLES W/ L/$"
+
+gOtherText_BattleTowerWinRecord:: @ 842C924
+ .string "BATTLE TOWER W/{CLEAR_TO 0x72}&{CLEAR_TO 0x98}STRAIGHT$"
+
+gOtherText_ContestRecord:: @ 842C943
+ .string "CONTESTS W/FRIENDS W/$"
+
+gOtherText_MixingRecord:: @ 842C959
+ .string "{POKEBLOCK}S W/FRIENDS$"
+
+gOtherText_TradeRecord:: @ 842C96A
+ .string "POKéMON TRADES$"
+
+gOtherText_Boy:: @ 842C979
+ .string "BOY$"
+
+gOtherText_Girl:: @ 842C97D
+ .string "GIRL$"
+ .string "$"
+
+gOtherText_Player:: @ 842C983
+ .string "PLAYER$"
+
+gOtherText_Badges:: @ 842C98A
+ .string "BADGES$"
+ .string "$"
+
+gOtherText_Pokedex:: @ 842C992
+ .string "POKéDEX$"
+
+gOtherText_PlayTime:: @ 842C99A
+ .string "PLAY TIME$"
+
+gOtherText_SentToPC:: @ 842C9A4
+ .string "{STR_VAR_1} was sent to\nthe PC.{PAUSE_UNTIL_PRESS}$"
+
+OtherText_YourName:
+ .string "YOUR NAME?$"
+OtherText_BoxName:
+ .string "BOX NAME?$"
+OtherText_PokeName:
+ .string "{STR_VAR_1}’s nickname?$"
+
+gOtherText_Marco:: @ 842C9E1
+ .string "MARCO$" @ polo
+
+gOtherText_Coins:: @ 842C9E7
+ .string "{STR_VAR_1} COINS$"
+
+gOtherText_BattleResults:: @ 842C9F0
+ .string "{PLAYER}’s BATTLE RESULTS$"
+
+gOtherText_WinRecord:: @ 842CA04
+ .string "TOTAL RECORD W/{STR_VAR_1} L/{STR_VAR_2} D/{STR_VAR_3}$"
+
+gOtherText_WinLoseDraw:: @ 842CA20
+ .string "WIN LOSE DRAW$"
+
+gOtherText_SevenDashes:: @ 842CA3C
+ .string "-------$"
+
+gOtherText_FourDashes:: @ 842CA44
+ .string "----$"
+
+gOtherText_BattleTowerResults:: @ 842CA49
+ .string "{PLAYER}’s BATTLE TOWER RESULTS$"
+
+gOtherText_Lv50:: @ 842CA63
+ .string "LV 50$"
+
+gOtherText_Lv100:: @ 842CA69
+ .string "LV 100$"
+
+gOtherText_WinStreak:: @ 842CA70
+ .string "{STR_VAR_1}W STREAK$"
+
+gOtherText_Current:: @ 842CA7B
+ .string "CURRENT$"
+
+gOtherText_Record:: @ 842CA83
+ .string "RECORD$"
+
+gOtherText_Prev:: @ 842CA8A
+ .string "PREV.$"
+
+gOtherText_QuitGamePrompt:: @ 842CA90
+ .string "Quit the game?$"
+
+gOtherText_MaxCoins:: @ 842CA9F
+ .string "You’ve got 9,999 COINS.$"
+
+gOtherText_OutOfCoins:: @ 842CAB7
+ .string "You’ve run out of COINS.\nGame over!$"
+
+gOtherText_DontHaveThreeCoins:: @ 842CADB
+ .string "You don’t have three COINS.$"
+
+gOtherText_ReelTime:: @ 842CAF7
+ .string "REEL TIME\nHere’s your chance to take\naim and nail marks!\nThe Reel Time continues for\nas often as the drawn number.\nIt all ends on a Big Bonus.$"
+
+DaycareText_GetAlongVeryWell::
+ .string "The two seem to get along very well.$"
+DaycareText_GetAlong::
+ .string "The two seem to get along.$"
+DaycareText_DontLikeOther::
+ .string "The two don’t seem to like each other.$"
+DaycareText_PlayOther::
+ .string "The two prefer to play with other\nPOKéMON than each other.$"
+
+gOtherText_NewLine2:: @ 842CC28
+ .string "\n$"
+
+gOtherText_CancelAndLv:: @ 842CC2A
+ .string "CANCEL$"
+ .string "LV$"
+
+gEggNickname:: @ 842CC34
+ .string "EGG$"
+
+gOtherText_HatchedFromEgg:: @ 842CC38
+ .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}{STR_VAR_1} hatched from the EGG!$"
+
+gOtherText_NickHatchPrompt:: @ 842CC5A
+ .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}Would you like to nickname the newly\nhatched {STR_VAR_1}?$"
+
+OtherText_Battle::
+ .string "BATTLE$"
+OtherText_Contest::
+ .string "CONTEST$"
+OtherText_Type::
+ .string "TYPE/$"
+OtherText_PP::
+ .string "PP/$"
+OtherText_Power::
+ .string "POWER$"
+OtherText_Accuracy::
+ .string "ACCURACY$"
+OtherText_Appeal::
+ .string "APPEAL$"
+OtherText_Jam::
+ .string "JAM$"
+
+gOtherText_TeachWhichMove:: @ 842CCC7
+ .string "Teach which move to {STR_VAR_1}?$"
+
+gOtherText_TeachSpecificMove:: @ 842CCDF
+ .string "Teach {STR_VAR_2}?$"
+
+gOtherText_PokeLearnedMove:: @ 842CCE9
+ .string "{STR_VAR_1} learned {STR_VAR_2}.$"
+
+gOtherText_DeleteOlderMove:: @ 842CCF8
+ .string "{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can’t learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?$"
+
+gOtherText_StopLearningMove:: @ 842CD65
+ .string "Stop learning {STR_VAR_2}?$"
+
+gOtherText_ForgotMove123:: @ 842CD77
+ .string "{PAUSE 32}1, {PAUSE 15}2 {PAUSE 15}...{PAUSE 15}...{PAUSE 15}...{PAUSE 15} {PLAY_SE 0x0038}Poof!\p$"
+
+gOtherText_ForgotOrDidNotLearnMove:: @ 842CDA3
+ .string "{STR_VAR_1} forgot {STR_VAR_3}.\pAnd...\p{STR_VAR_1} learned {STR_VAR_2}.$"
+ .string "{STR_VAR_1} did not learn\n{STR_VAR_2}.$"
+
+gOtherText_GiveUpTeachingMove:: @ 842CDDC
+ .string "Give up trying to teach a new move\nto {STR_VAR_1}?$"
+
+gOtherText_WhichMoveToForget:: @ 842CE06
+ .string "Which move should be forgotten?\p$"
+
+gSystemText_ClearAllSaveDataPrompt:: @ 842CE27
+ .string "Clear all save data areas?$"
+
+gSystemText_ClearingData:: @ 842CE42
+ .string "Clearing data...\nPlease wait.$"
+
+gContestText_AnnounceResults:: @ 842CE60
+ .string "Announcing the results!$"
+
+gContestText_PreliminaryResults:: @ 842CE78
+ .string "The preliminary results!$"
+
+gContestText_Round2Results:: @ 842CE91
+ .string "Round 2 results!$"
+
+gContestText_PokeWon:: @ 842CEA2
+ .string "{STR_VAR_1}’s {STR_VAR_2} won!$"
+
+gOtherText_LinkStandby:: @ 842CEAF
+ .string "Link standby...$"
+
+@ 842CEBF
+ .include "data/text/landmarks.inc"
+
+gOtherText_Terminator4:: @ 842D0E6
+ .string "$"
+
+gOtherText_Nature:: @ 842D0E7
+ .string " nature, $"
+
+gOtherText_Comma:: @ 842D0F1
+ .string ",$"
+
+gOtherText_Met:: @ 842D0F3
+ .string " (met).$"
+
+gOtherText_Egg2:: @ 842D0FB
+ .string " (EGG).$"
+
+gOtherText_ObtainedInTrade:: @ 842D103
+ .string "obtained in a trade.$"
+
+gOtherText_FatefulEncounter:: @ 842D118
+ .string "fateful encounter.$"
+
+gOtherText_Met2:: @ 842D12B
+ .string " (met).$"
+
+gOtherText_EggDayCare:: @ 842D133
+ .string "An odd POKéMON EGG found\nby the DAY CARE couple.$"
+
+gOtherText_EggNicePlace:: @ 842D164
+ .string "A peculiar POKéMON EGG\nobtained at the nice place.$"
+
+gOtherText_EggObtainedInTrade:: @ 842D197
+ .string "A peculiar POKéMON EGG\nobtained in a trade.$"
+
+gOtherText_EggHotSprings:: @ 842D1C3
+ .string "A POKéMON EGG obtained\nat the hot springs.$"
+
+gOtherText_LinkStandby2:: @ 842D1EE
+ .string "Link standby...$"
+
+gOtherText_YesNoAndPlayer:: @ 842D1FE
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}YES\nNO$"
+ .string "{HIGHLIGHT TRANSPARENT}PLAYER$"
+ .string "{HIGHLIGHT TRANSPARENT}$"
+
+gOtherText_HoennDex:: @ 842D21C
+ .string "HOENN$"
+
+gOtherText_NationalDex:: @ 842D222
+ .string "NATIONAL$"
+
+gOtherText_DiplomaCertificationGameFreak:: @ 842D22B
+ .string "{HIGHLIGHT TRANSPARENT}Player: {CLEAR 0x10}{COLOR RED}{PLAYER}\n\n{COLOR DARK_GREY}{STR_VAR_1} POKéDEX\nThis document certifies\nthat you have successfully\ncompleted your POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}GAME FREAK$"
+ .string "{COLOR RED}{HIGHLIGHT TRANSPARENT}GAME FREAK$"
+
+gOtherText_PLink:: @ 842D2BC
+ .string "{STR_VAR_1}P LINK$"
+
+gOtherText_YesNoTerminating:: @ 842D2C5
+ .string "YES\nNO$"
+ .string "Terminating.$"
+
+gOtherText_LinkNotFound:: @ 842D2D9
+ .string "Link partner(s) not found.\nPlease try again.\p$"
+
+gOtherText_BlenderChooseBerry:: @ 842D307
+ .string "Starting up the BERRY BLENDER.\pPlease select a BERRY from your BAG\nto put in the BERRY BLENDER.\p$"
+
+gOtherText_PokeBlockMade:: @ 842D368
+ .string " was made!$"
+
+gOtherText_PressAToStart:: @ 842D373
+ .string "Press the A Button to start.$"
+
+gOtherText_PleaseWait:: @ 842D390
+ .string "Please wait a while.$"
+
+gOtherText_LinkStandby3:: @ 842D3A5
+ .string "Link standby...$"
+
+gOtherText_BlendAnotherBerryPrompt:: @ 842D3B5
+ .string "Would you like to blend another BERRY?$"
+
+gOtherText_OutOfBerries:: @ 842D3DC
+ .string "You’ve run out of BERRIES for\nblending in the BERRY BLENDER.\p$"
+
+gOtherText_CaseIsFull:: @ 842D41A
+ .string "Your {POKEBLOCK} CASE is full.\p$"
+
+gOtherText_NoBerriesForBlend:: @ 842D434
+ .string " has no BERRIES to put in\nthe BERRY BLENDER.$"
+
+gOtherText_OtherCaseIsFull:: @ 842D461
+ .string "’s {POKEBLOCK} CASE is full.\p$"
+
+gOtherText_ResultsOfBlending:: @ 842D479
+ .string "RESULTS OF BLENDING$"
+ .string "BERRY USED$"
+
+gOtherText_Berry:: @ 842D498
+ .string " BERRY$"
+
+gOtherText_RequiredTime:: @ 842D49F
+ .string "REQUIRED TIME$"
+
+gOtherText_Min:: @ 842D4AD
+ .string "MIN.$"
+
+gOtherText_Sec:: @ 842D4B2
+ .string "SEC.$"
+
+gOtherText_MaxSpeed:: @ 842D4B7
+ .string "MAXIMUM SPEED$"
+
+gOtherText_RPM:: @ 842D4C5
+ .string "RPM$"
+ .string ".$"
+
+gOtherText_Ranking:: @ 842D4CB
+ .string "RANKING$"
+
+gOtherText_BlockLevelIs:: @ 842D4D3
+ .string "The level is $"
+
+gOtherText_BlockFeelIs:: @ 842D4E1
+ .string ", and the feel is $"
+
+gOtherText_Period:: @ 842D4F4
+ .string ".$"
+
+gOtherText_Day:: @ 842D4F6
+ .string "DAY$"
+ .string ":$"
+
+gOtherText_OK:: @ 842D4FC
+ .string "OK$"
+
+gOtherText_CorrectTimePrompt:: @ 842D4FF
+ .string "Is this the correct time?$"
+
+ .align 2
+OutlineCursorTiles_00:
+ .incbin "graphics/interface/outline_cursor_00.4bpp"
+
+ .align 2
+OutlineCursorTiles_01:
+ .incbin "graphics/interface/outline_cursor_01.4bpp"
+
+ .align 2
+OutlineCursorTiles_02:
+ .incbin "graphics/interface/outline_cursor_02.4bpp"
+
+ .align 2
+OutlineCursorTiles_03:
+ .incbin "graphics/interface/outline_cursor_03.4bpp"
+
+ .align 2
+OutlineCursorTiles_04:
+ .incbin "graphics/interface/outline_cursor_04.4bpp"
+
+ .align 2
+OutlineCursorTiles_05:
+ .incbin "graphics/interface/outline_cursor_05.4bpp"
+
+ .align 2
+OutlineCursorTiles_06:
+ .incbin "graphics/interface/outline_cursor_06.4bpp"
+
+ .align 2
+OutlineCursorTiles_07:
+ .incbin "graphics/interface/outline_cursor_07.4bpp"
+
+ .align 2
+OutlineCursorTiles_08:
+ .incbin "graphics/interface/outline_cursor_08.4bpp"
+
+ .align 2
+OutlineCursorTiles_09:
+ .incbin "graphics/interface/outline_cursor_09.4bpp"
+
+ .align 2
+OutlineCursorTiles_10:
+ .incbin "graphics/interface/outline_cursor_10.4bpp"
+
+ .align 2
+OutlineCursorTiles_11:
+ .incbin "graphics/interface/outline_cursor_11.4bpp"
+
+ .align 2
+OutlineCursorTiles_12:
+ .incbin "graphics/interface/outline_cursor_12.4bpp"
+
+ .align 2
+OutlineCursorTiles_13:
+ .incbin "graphics/interface/outline_cursor_13.4bpp"
+
+ .align 2
+OutlineCursorTiles_14:
+ .incbin "graphics/interface/outline_cursor_14.4bpp"
+
+ .align 2
+OutlineCursorTiles_15:
+ .incbin "graphics/interface/outline_cursor_15.4bpp"
+
+ .align 2
+gOamData_842F11C:: @ 842F11C
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_842F124:: @ 842F124
+ .2byte 0x8800
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gOamData_842F12C:: @ 842F12C
+ .2byte 0x8000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_842F134:: @ 842F134
+ obj_image_anim_frame 0, 63
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_842F13C:: @ 842F13C
+ .4byte gSpriteAnim_842F134
+
+ .align 2
+gUnknown_0842F140:: @ 842F140
+ obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF0
+ obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF0
+
+ .align 2
+gUnknown_0842F1C0:: @ 842F1C0
+ obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF1
+ obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF1
+
+ .align 2
+gUnknown_0842F240:: @ 842F240
+ obj_pal 0x0203a360, 0xfff0
+
+ .align 2
+gUnknown_0842F248:: @ 842F248
+ obj_pal 0x0203a360, 0xfff1
+
+ .align 2
+gSpriteTemplate_842F250:: @ 842F250
+ spr_template 65520, 65520, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_842F268:: @ 842F268
+ spr_template 65520, 0xFFFF, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_842F280:: @ 842F280
+ spr_template 65520, 0xFFFF, gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_842F298:: @ 842F298
+ spr_template 65521, 65521, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_842F2B0:: @ 842F2B0
+ spr_template 65521, 0xFFFF, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+Unknown_842F2C8: @ 842F2C8
+ .incbin "baserom.gba", 0x0042f2c8, 0x10
+Unknown_842F2D8: @ 842F2D8
+ .incbin "baserom.gba", 0x0042f2d8, 0x18
+Unknown_842F2F0: @ 842F2F0
+ .incbin "baserom.gba", 0x0042f2f0, 0x20
+Unknown_842F310: @ 842F310
+ .incbin "baserom.gba", 0x0042f310, 0x18
+Unknown_842F328: @ 842F328
+ .incbin "baserom.gba", 0x0042f328, 0x18
+Unknown_842F340: @ 842F340
+ .incbin "baserom.gba", 0x0042f340, 0x20
+Unknown_842F360: @ 842F360
+ .incbin "baserom.gba", 0x0042f360, 0x20
+Unknown_842F380: @ 842F380
+ .incbin "baserom.gba", 0x0042f380, 0x20
+Unknown_842F3A0: @ 842F3A0
+ .incbin "baserom.gba", 0x0042f3a0, 0x20
+Unknown_842F3C0: @ 842F3C0
+ .incbin "baserom.gba", 0x0042f3c0, 0x28
+Unknown_842F3E8: @ 842F3E8
+ .incbin "baserom.gba", 0x0042f3e8, 0x28
+Unknown_842F410: @ 842F410
+ .incbin "baserom.gba", 0x0042f410, 0x28
+Unknown_842F438: @ 842F438
+ .incbin "baserom.gba", 0x0042f438, 0x28
+Unknown_842F460: @ 842F460
+ .incbin "baserom.gba", 0x0042f460, 0x30
+Unknown_842F490: @ 842F490
+ .incbin "baserom.gba", 0x0042f490, 0x30
+Unknown_842F4C0: @ 842F4C0
+ .incbin "baserom.gba", 0x0042f4c0, 0x30
+Unknown_842F4F0: @ 842F4F0
+ .incbin "baserom.gba", 0x0042f4f0, 0x30
+Unknown_842F520: @ 842F520
+ .incbin "baserom.gba", 0x0042f520, 0x38
+Unknown_842F558: @ 842F558
+ .incbin "baserom.gba", 0x0042f558, 0x18
+
+ .4byte Unknown_842F2C8
+ .4byte Unknown_842F2C8
+ .4byte Unknown_842F2D8
+ .4byte Unknown_842F2F0
+ .4byte Unknown_842F310
+ .4byte Unknown_842F328
+ .4byte Unknown_842F340
+ .4byte Unknown_842F360
+ .4byte Unknown_842F380
+ .4byte Unknown_842F3A0
+ .4byte Unknown_842F3C0
+ .4byte Unknown_842F3E8
+ .4byte Unknown_842F410
+ .4byte Unknown_842F438
+ .4byte Unknown_842F460
+ .4byte Unknown_842F490
+ .4byte Unknown_842F4C0
+ .4byte Unknown_842F4F0
+ .4byte Unknown_842F520
+
+ .align 2
+gUnknown_0842F5BC:: @ 842F5BC
+ .4byte Unknown_842F558
+
+ .align 2
+gSubspriteTables_842F5C0:: @ 842F5C0
+ .4byte 1, gMenuCursorSubsprites
+ .4byte 1, gMenuCursorSubsprites
+ .4byte 2, gMenuCursorSubsprites
+ .4byte 3, gMenuCursorSubsprites
+ .4byte 4, gMenuCursorSubsprites
+ .4byte 5, gMenuCursorSubsprites
+ .4byte 6, gMenuCursorSubsprites
+ .4byte 7, gMenuCursorSubsprites
+ .4byte 8, gMenuCursorSubsprites
+ .4byte 9, gMenuCursorSubsprites
+ .4byte 10, gMenuCursorSubsprites
+ .4byte 11, gMenuCursorSubsprites
+ .4byte 12, gMenuCursorSubsprites
+ .4byte 13, gMenuCursorSubsprites
+ .4byte 14, gMenuCursorSubsprites
+ .4byte 15, gMenuCursorSubsprites
+ .4byte 1, gMenuCursorSubsprites
+ .4byte 17, gMenuCursorSubsprites
+ .4byte 18, gMenuCursorSubsprites
+ .4byte 19, gMenuCursorSubsprites
+ .4byte 20, gMenuCursorSubsprites
+ .4byte 21, gMenuCursorSubsprites
+ .4byte 22, gMenuCursorSubsprites
+ .4byte 23, gMenuCursorSubsprites
+ .4byte 24, gMenuCursorSubsprites
+ .4byte 25, gMenuCursorSubsprites
+ .4byte 26, gMenuCursorSubsprites
+ .4byte 27, gMenuCursorSubsprites
+ .4byte 28, gMenuCursorSubsprites
+ .4byte 29, gMenuCursorSubsprites
+ .4byte 30, gMenuCursorSubsprites
+ .4byte 31, gMenuCursorSubsprites
+
+ .align 2
+gUnknown_0842F6C0:: @ 842F6C0
+ .4byte 0x2, Unknown_842F2C8
+ .4byte 0x2, Unknown_842F2C8
+ .4byte 0x3, Unknown_842F2D8
+ .4byte 0x4, Unknown_842F2F0
+ .4byte 0x3, Unknown_842F310
+ .4byte 0x3, Unknown_842F328
+ .4byte 0x4, Unknown_842F340
+ .4byte 0x4, Unknown_842F360
+ .4byte 0x4, Unknown_842F380
+ .4byte 0x4, Unknown_842F3A0
+ .4byte 0x5, Unknown_842F3C0
+ .4byte 0x5, Unknown_842F3E8
+ .4byte 0x5, Unknown_842F410
+ .4byte 0x5, Unknown_842F438
+ .4byte 0x6, Unknown_842F460
+ .4byte 0x6, Unknown_842F490
+ .4byte 0x6, Unknown_842F4C0
+ .4byte 0x6, Unknown_842F4F0
+ .4byte 0x7, Unknown_842F520
+
+ .align 2
+gUnknown_0842F758:: @ 842F758
+ .4byte 3, gMenuCursorSubsprites
+ .4byte 0, 2
+ .4byte 0, 66
+ .4byte 0, 105
+ .4byte 0, 34
+
+ .align 2
+gUnknown_0842F780:: @ 842F780
+ .4byte 0, 105
+
+ .align 2
+gUnknown_0842F788:: @ 842F788
+ .4byte 0, 34
+
+ .align 2
+gUnknown_0842F790:: @ 842F790
+ .4byte 0, 66
+
+gOtherText_BerryObtainedDadHasIt:: @ 842F798
+ .string "Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM.$"
+
+gOtherText_BerryTransformed:: @ 842F7CA
+ .string "The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY.$"
+
+gOtherText_BerryAlreadyObtained:: @ 842F7F6
+ .string "The {STR_VAR_1} BERRY has already been\nobtained.$"
+
+gOtherText_SpecialRibbonReceived:: @ 842F81E
+ .string "A special RIBBON was awarded to your\nparty POKéMON.$"
+
+gOtherText_DexUpgraded:: @ 842F852
+ .string "The POKéDEX has been upgraded with\nthe NATIONAL MODE.$"
+
+gOtherText_RareWordAdded:: @ 842F888
+ .string "A rare word has been added.$"
+
+gOtherText_PokeWasSentOver:: @ 842F8A4
+ .string "{STR_VAR_1} was sent over!$"
+
+gOtherText_PartyIsFull:: @ 842F8B6
+ .string "Your party is full.\n{STR_VAR_1} could not be sent over.$"
+
+gOtherText_NewTrainerInHoenn:: @ 842F8E5
+ .string "A new TRAINER has arrived in HOENN.$"
+ .string "A new adversary has arrived in the\nBATTLE TOWER.$"
+
+gOtherText_DataCannotUseVersion:: @ 842F93A
+ .string "This data cannot be used in\nthis version.$"
diff --git a/data/event_scripts.s b/data/event_scripts.s
index e76663f7f..41ac10d06 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1686,7 +1686,7 @@ gUnknown_081A0009:: @ 81A0009
end
EventScript_1A0023:
- message UnknownString_81A0A01
+ message gPCText_WhichPCShouldBeAccessed
waittext
special 262
waitstate
@@ -2970,8 +2970,7 @@ UnusedMixRecordsSeeYouAgainText: @ 81A09D2
UnknownString_81A09EC: @ 81A09EC
.string "{PLAYER} booted up the PC.$"
-gUnknown_081A0A01:: @ 81A0A01
-UnknownString_81A0A01: @ 81A0A01
+gPCText_WhichPCShouldBeAccessed:: @ 81A0A01
.string "Which PC should be accessed?$"
UnknownString_81A0A1E: @ 81A0A1E
diff --git a/data/field_door.s b/data/field_door.s
new file mode 100644
index 000000000..d7ccdd2d4
--- /dev/null
+++ b/data/field_door.s
@@ -0,0 +1,416 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+DoorAnimTiles_04: @ 8308F1C
+ .incbin "graphics/door_anims/04/0.4bpp"
+ .incbin "graphics/door_anims/04/1.4bpp"
+ .incbin "graphics/door_anims/04/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_05: @ 830923C
+ .incbin "graphics/door_anims/05/0.4bpp"
+ .incbin "graphics/door_anims/05/1.4bpp"
+ .incbin "graphics/door_anims/05/2.4bpp"
+
+ .align 2
+DoorAnimTiles_08: @ 830953C
+ .incbin "graphics/door_anims/08/0.4bpp"
+ .incbin "graphics/door_anims/08/1.4bpp"
+ .incbin "graphics/door_anims/08/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_15: @ 830985C
+ .incbin "graphics/door_anims/15/0.4bpp"
+ .incbin "graphics/door_anims/15/1.4bpp"
+ .incbin "graphics/door_anims/15/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_16: @ 8309B7C
+ .incbin "graphics/door_anims/16/0.4bpp"
+ .incbin "graphics/door_anims/16/1.4bpp"
+ .incbin "graphics/door_anims/16/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_00: @ 8309E9C
+ .incbin "graphics/door_anims/00/0.4bpp"
+ .incbin "graphics/door_anims/00/1.4bpp"
+ .incbin "graphics/door_anims/00/2.4bpp"
+
+ .align 2
+DoorAnimTiles_01: @ 830A19C
+ .incbin "graphics/door_anims/01/0.4bpp"
+ .incbin "graphics/door_anims/01/1.4bpp"
+ .incbin "graphics/door_anims/01/2.4bpp"
+
+ .align 2
+DoorAnimTiles_02: @ 830A49C
+ .incbin "graphics/door_anims/02/0.4bpp"
+ .incbin "graphics/door_anims/02/1.4bpp"
+ .incbin "graphics/door_anims/02/2.4bpp"
+
+ .align 2
+DoorAnimTiles_03: @ 830A79C
+ .incbin "graphics/door_anims/03/0.4bpp"
+ .incbin "graphics/door_anims/03/1.4bpp"
+ .incbin "graphics/door_anims/03/2.4bpp"
+
+ .align 2
+DoorAnimTiles_06: @ 830AA9C
+ .incbin "graphics/door_anims/06/0.4bpp"
+ .incbin "graphics/door_anims/06/1.4bpp"
+ .incbin "graphics/door_anims/06/2.4bpp"
+
+ .align 2
+DoorAnimTiles_07: @ 830AD9C
+ .incbin "graphics/door_anims/07/0.4bpp"
+ .incbin "graphics/door_anims/07/1.4bpp"
+ .incbin "graphics/door_anims/07/2.4bpp"
+
+ .align 2
+DoorAnimTiles_09: @ 830B09C
+ .incbin "graphics/door_anims/09/0.4bpp"
+ .incbin "graphics/door_anims/09/1.4bpp"
+ .incbin "graphics/door_anims/09/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_10: @ 830B3BC
+ .incbin "graphics/door_anims/10/0.4bpp"
+ .incbin "graphics/door_anims/10/1.4bpp"
+ .incbin "graphics/door_anims/10/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_11: @ 830B6DC
+ .incbin "graphics/door_anims/11/0.4bpp"
+ .incbin "graphics/door_anims/11/1.4bpp"
+ .incbin "graphics/door_anims/11/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_12: @ 830B9FC
+ .incbin "graphics/door_anims/12/0.4bpp"
+ .incbin "graphics/door_anims/12/1.4bpp"
+ .incbin "graphics/door_anims/12/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_13: @ 830BD1C
+ .incbin "graphics/door_anims/13/0.4bpp"
+ .incbin "graphics/door_anims/13/1.4bpp"
+ .incbin "graphics/door_anims/13/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_14: @ 830C03C
+ .incbin "graphics/door_anims/14/0.4bpp"
+ .incbin "graphics/door_anims/14/1.4bpp"
+ .incbin "graphics/door_anims/14/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_17: @ 830C35C
+ .incbin "graphics/door_anims/17/0.4bpp"
+ .incbin "graphics/door_anims/17/1.4bpp"
+ .incbin "graphics/door_anims/17/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_18: @ 830C67C
+ .incbin "graphics/door_anims/18/0.4bpp"
+ .incbin "graphics/door_anims/18/1.4bpp"
+ .incbin "graphics/door_anims/18/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_19: @ 830C99C
+ .incbin "graphics/door_anims/19/0.4bpp"
+ .incbin "graphics/door_anims/19/1.4bpp"
+ .incbin "graphics/door_anims/19/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_20: @ 830CCBC
+ .incbin "graphics/door_anims/20/0.4bpp"
+ .incbin "graphics/door_anims/20/1.4bpp"
+ .incbin "graphics/door_anims/20/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_21: @ 830CFDC
+ .incbin "graphics/door_anims/21/0.4bpp"
+ .incbin "graphics/door_anims/21/1.4bpp"
+ .incbin "graphics/door_anims/21/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_22: @ 830D2FC
+ .incbin "graphics/door_anims/22/0.4bpp"
+ .incbin "graphics/door_anims/22/1.4bpp"
+ .incbin "graphics/door_anims/22/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_23: @ 830D61C
+ .incbin "graphics/door_anims/23/0.4bpp"
+ .incbin "graphics/door_anims/23/1.4bpp"
+ .incbin "graphics/door_anims/23/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_24: @ 830D93C
+ .incbin "graphics/door_anims/24/0.4bpp"
+ .incbin "graphics/door_anims/24/1.4bpp"
+ .incbin "graphics/door_anims/24/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_25: @ 830DC5C
+ .incbin "graphics/door_anims/25/0.4bpp"
+ .incbin "graphics/door_anims/25/1.4bpp"
+ .incbin "graphics/door_anims/25/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_26: @ 830DF7C
+ .incbin "graphics/door_anims/26/0.4bpp"
+ .incbin "graphics/door_anims/26/1.4bpp"
+ .incbin "graphics/door_anims/26/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_27: @ 830E29C
+ .incbin "graphics/door_anims/27/0.4bpp"
+ .incbin "graphics/door_anims/27/1.4bpp"
+ .incbin "graphics/door_anims/27/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_28: @ 830E5BC
+ .incbin "graphics/door_anims/28/0.4bpp"
+ .incbin "graphics/door_anims/28/1.4bpp"
+ .incbin "graphics/door_anims/28/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_29: @ 830E8DC
+ .incbin "graphics/door_anims/29/0.4bpp"
+ .incbin "graphics/door_anims/29/1.4bpp"
+ .incbin "graphics/door_anims/29/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_30: @ 830EBFC
+ .incbin "graphics/door_anims/30/0.4bpp"
+ .incbin "graphics/door_anims/30/1.4bpp"
+ .incbin "graphics/door_anims/30/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_31: @ 830EF1C
+ .incbin "graphics/door_anims/31/0.4bpp"
+ .incbin "graphics/door_anims/31/1.4bpp"
+ .incbin "graphics/door_anims/31/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_32: @ 830F23C
+ .incbin "graphics/door_anims/32/0.4bpp"
+ .incbin "graphics/door_anims/32/1.4bpp"
+ .incbin "graphics/door_anims/32/2.4bpp"
+
+ .space 32
+
+ .align 2
+DoorAnimTiles_33: @ 830F55C
+ .incbin "graphics/door_anims/33/0.4bpp"
+ .incbin "graphics/door_anims/33/1.4bpp"
+ .incbin "graphics/door_anims/33/2.4bpp"
+
+ .space 32
+
+gDoorOpenAnimFrames:: @ 830F87C
+ door_anim_frame 4, -1
+ door_anim_frame 4, 0
+ door_anim_frame 4, 0x100
+ door_anim_frame 4, 0x200
+ door_anim_frame 0, 0
+
+gDoorCloseAnimFrames:: @ 830F890
+ door_anim_frame 4, 0x200
+ door_anim_frame 4, 0x100
+ door_anim_frame 4, 0
+ door_anim_frame 4, -1
+ door_anim_frame 0, 0
+
+DoorAnimPalettes_830F8A4:
+ .byte 1, 1, 1, 1, 1, 1, 1, 1
+
+DoorAnimPalettes_830F8AC:
+ .byte 1, 1, 1, 1, 1, 1, 1, 1
+
+DoorAnimPalettes_830F8B4:
+ .byte 5, 5, 5, 5, 5, 5, 5, 5
+
+DoorAnimPalettes_830F8BC:
+ .byte 0, 0, 1, 1, 1, 1, 1, 1
+
+DoorAnimPalettes_830F8C4:
+ .byte 6, 6, 6, 6, 6, 6, 6, 6
+
+DoorAnimPalettes_830F8CC:
+ .byte 8, 8, 8, 8, 8, 8, 8, 8
+
+DoorAnimPalettes_830F8D4:
+ .byte 11, 11, 11, 11, 11, 11, 11, 11
+
+DoorAnimPalettes_830F8DC:
+ .byte 10, 10, 10, 10, 10, 10, 10, 10
+
+DoorAnimPalettes_830F8E4:
+ .byte 7, 7, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F8EC:
+ .byte 8, 8, 8, 8, 8, 8, 8, 8
+
+DoorAnimPalettes_830F8F4:
+ .byte 9, 9, 9, 9, 9, 9, 9, 9
+
+DoorAnimPalettes_830F8FC:
+ .byte 9, 9, 1, 1, 1, 1, 1, 1
+
+DoorAnimPalettes_830F904:
+ .byte 8, 8, 8, 8, 8, 8, 8, 8
+
+DoorAnimPalettes_830F90C:
+ .byte 9, 9, 9, 9, 9, 9, 9, 9
+
+DoorAnimPalettes_830F914:
+ .byte 6, 6, 6, 6, 6, 6, 6, 6
+
+DoorAnimPalettes_830F91C:
+ .byte 6, 6, 6, 6, 6, 6, 6, 6
+
+DoorAnimPalettes_830F924:
+ .byte 0, 0, 5, 5, 5, 5, 5, 5
+
+DoorAnimPalettes_830F92C:
+ .byte 6, 6, 1, 1, 1, 1, 1, 1
+
+DoorAnimPalettes_830F934:
+ .byte 7, 7, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F93C:
+ .byte 6, 6, 5, 5, 5, 5, 5, 5
+
+DoorAnimPalettes_830F944:
+ .byte 5, 5, 5, 5, 5, 5, 5, 5
+
+DoorAnimPalettes_830F94C:
+ .byte 1, 1, 1, 1, 1, 1, 1, 1
+
+DoorAnimPalettes_830F954:
+ .byte 6, 6, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F95C:
+ .byte 7, 7, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F964:
+ .byte 5, 5, 5, 5, 5, 5, 5, 5
+
+DoorAnimPalettes_830F96C:
+ .byte 9, 9, 9, 9, 9, 9, 9, 9
+
+DoorAnimPalettes_830F974:
+ .byte 8, 8, 8, 8, 8, 8, 8, 8
+
+DoorAnimPalettes_830F97C:
+ .byte 6, 6, 6, 6, 6, 6, 6, 6
+
+DoorAnimPalettes_830F984:
+ .byte 7, 7, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F98C:
+ .byte 11, 11, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F994:
+ .byte 7, 7, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F99C:
+ .byte 6, 6, 7, 7, 7, 7, 7, 7
+
+DoorAnimPalettes_830F9A4:
+ .byte 9, 9, 9, 9, 9, 9, 9, 9
+
+DoorAnimPalettes_830F9AC:
+ .byte 7, 7, 7, 7, 7, 7, 7, 7
+
+ .align 2
+gDoorAnimGraphicsTable:: @ 830F9B4
+ door_anim_gfx 0x021, 0, DoorAnimTiles_00, DoorAnimPalettes_830F8A4
+ door_anim_gfx 0x061, 1, DoorAnimTiles_01, DoorAnimPalettes_830F8AC
+ door_anim_gfx 0x1CD, 1, DoorAnimTiles_02, DoorAnimPalettes_830F8B4
+ door_anim_gfx 0x041, 1, DoorAnimTiles_03, DoorAnimPalettes_830F8BC
+ door_anim_gfx 0x248, 0, DoorAnimTiles_04, DoorAnimPalettes_830F8C4
+ door_anim_gfx 0x249, 0, DoorAnimTiles_05, DoorAnimPalettes_830F8CC
+ door_anim_gfx 0x22F, 0, DoorAnimTiles_06, DoorAnimPalettes_830F8D4
+ door_anim_gfx 0x21F, 0, DoorAnimTiles_07, DoorAnimPalettes_830F8DC
+ door_anim_gfx 0x2A5, 0, DoorAnimTiles_08, DoorAnimPalettes_830F8E4
+ door_anim_gfx 0x287, 0, DoorAnimTiles_09, DoorAnimPalettes_830F8F4
+ door_anim_gfx 0x2AC, 0, DoorAnimTiles_10, DoorAnimPalettes_830F934
+ door_anim_gfx 0x3A1, 0, DoorAnimTiles_11, DoorAnimPalettes_830F93C
+ door_anim_gfx 0x2DC, 0, DoorAnimTiles_12, DoorAnimPalettes_830F92C
+ door_anim_gfx 0x225, 0, DoorAnimTiles_13, DoorAnimPalettes_830F924
+ door_anim_gfx 0x1DB, 1, DoorAnimTiles_14, DoorAnimPalettes_830F94C
+ door_anim_gfx 0x246, 0, DoorAnimTiles_15, DoorAnimPalettes_830F8EC
+ door_anim_gfx 0x28E, 0, DoorAnimTiles_16, DoorAnimPalettes_830F944
+ door_anim_gfx 0x2A1, 0, DoorAnimTiles_17, DoorAnimPalettes_830F8FC
+ door_anim_gfx 0x21C, 0, DoorAnimTiles_18, DoorAnimPalettes_830F914
+ door_anim_gfx 0x21E, 0, DoorAnimTiles_19, DoorAnimPalettes_830F91C
+ door_anim_gfx 0x21D, 1, DoorAnimTiles_20, DoorAnimPalettes_830F904
+ door_anim_gfx 0x21A, 0, DoorAnimTiles_21, DoorAnimPalettes_830F90C
+ door_anim_gfx 0x224, 0, DoorAnimTiles_22, DoorAnimPalettes_830F954
+ door_anim_gfx 0x289, 0, DoorAnimTiles_23, DoorAnimPalettes_830F95C
+ door_anim_gfx 0x30C, 1, DoorAnimTiles_24, DoorAnimPalettes_830F964
+ door_anim_gfx 0x32D, 1, DoorAnimTiles_25, DoorAnimPalettes_830F96C
+ door_anim_gfx 0x2ED, 1, DoorAnimTiles_26, DoorAnimPalettes_830F974
+ door_anim_gfx 0x264, 1, DoorAnimTiles_27, DoorAnimPalettes_830F97C
+ door_anim_gfx 0x22B, 0, DoorAnimTiles_28, DoorAnimPalettes_830F984
+ door_anim_gfx 0x2F7, 0, DoorAnimTiles_29, DoorAnimPalettes_830F98C
+ door_anim_gfx 0x297, 0, DoorAnimTiles_30, DoorAnimPalettes_830F994
+ door_anim_gfx 0x285, 1, DoorAnimTiles_31, DoorAnimPalettes_830F99C
+ door_anim_gfx 0x25D, 1, DoorAnimTiles_32, DoorAnimPalettes_830F9A4
+ door_anim_gfx 0x20E, 1, DoorAnimTiles_33, DoorAnimPalettes_830F9AC
+ door_anim_gfx 0, 0, 0, 0
diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s
new file mode 100644
index 000000000..d3dbceedb
--- /dev/null
+++ b/data/field_ground_effect.s
@@ -0,0 +1,72 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_08376040:: @ 8376040
+ .4byte MetatileBehavior_IsJumpSouth
+ .4byte MetatileBehavior_IsJumpNorth
+ .4byte MetatileBehavior_IsJumpWest
+ .4byte MetatileBehavior_IsJumpEast
+
+gUnknown_08376050:: @ 8376050
+ .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73
+
+@ Each byte corresponds to a sprite priority for a field object.
+@ This is directly the inverse of gFieldObjectPriorities_08376070.
+gFieldObjectPriorities_08376060:: @ 8376060
+ .byte 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2
+
+@ Each byte corresponds to a sprite priority for a field object.
+@ This is the inverse of gFieldObjectPriorities_08376060.
+@ 1 = Above player sprite
+@ 2 = Below player sprite
+gFieldObjectPriorities_08376070:: @ 8376070
+ .byte 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1
+
+ .align 2
+gUnknown_08376080:: @ 8376080
+ .4byte nullsub_50
+ .4byte DoTracksGroundEffect_Footprints
+ .4byte DoTracksGroundEffect_BikeTireTracks
+
+@ First byte is a Field Effect script id. (gFieldEffectScriptPointers)
+@ Last three bytes are unknown.
+gSandFootprints_FieldEffectData:: @ 837608C
+ .byte 0xD, 0x0, 0x18, 0x0
+
+@ Specifies which bike track shape to show next.
+@ For example, when the bike turns from up to right, it will show
+@ a track that curves to the right.
+@ Each 4-byte row corresponds to the initial direction of the bike, and
+@ each byte in that row is for the next direction of the bike in the order
+@ of down, up, left, right.
+gBikeTireTracks_Transitions:: @ 8376090
+ .byte 1, 2, 7, 8
+ .byte 1, 2, 6, 5
+ .byte 5, 8, 3, 4
+ .byte 6, 7, 3, 4
+
+ .align 2
+gUnknown_083760A0:: @ 83760A0
+ .4byte GroundEffect_SpawnOnTallGrass
+ .4byte sub_8063E94
+ .4byte sub_8063EE0
+ .4byte sub_8063F2C
+ .4byte GroundEffect_WaterReflection
+ .4byte GroundEffect_IceReflection
+ .4byte GroundEffect_FlowingWater
+ .4byte sub_8063FA0
+ .4byte sub_8063FCC
+ .4byte GroundEffect_Ripple
+ .4byte GroundEffect_StepOnPuddle
+ .4byte GroundEffect_SandPile
+ .4byte GroundEffect_JumpOnTallGrass
+ .4byte GroundEffect_JumpOnLongGrass
+ .4byte GroundEffect_JumpOnShallowWater
+ .4byte GroundEffect_JumpOnWater
+ .4byte GroundEffect_JumpLandingDust
+ .4byte GroundEffect_ShortGrass
+ .4byte GroundEffect_HotSprings
+ .4byte GroundEffect_Seaweed
diff --git a/data/field_map_obj.s b/data/field_map_obj.s
new file mode 100644
index 000000000..9ff432961
--- /dev/null
+++ b/data/field_map_obj.s
@@ -0,0 +1,2107 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+gUnknown_0830FD14:: @ 830FD14
+ .byte 1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0
+
+ .align 2
+gSpriteTemplate_830FD24:: @ 830FD24
+ spr_template 0, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject
+
+ .align 2
+gUnknown_0830FD3C:: @ 830FD3C
+ .4byte CameraObject_0
+ .4byte CameraObject_1
+ .4byte CameraObject_2
+
+@ 830FD48
+ .include "data/graphics/field_objects/map_object_graphics.inc"
+
+@ 8368528
+ .include "data/graphics/field_objects/field_effect_object_graphics.inc"
+
+ .align 2
+gUnknown_0836DA88:: @ 836DA88
+ .4byte sub_805C884
+ .4byte sub_805CDE8
+ .4byte sub_805C8AC
+ .4byte sub_805CF28
+ .4byte sub_805CF28
+ .4byte sub_805D0AC
+ .4byte sub_805D0AC
+ .4byte sub_805D230
+ .4byte sub_805D230
+ .4byte sub_805D230
+ .4byte sub_805D230
+ .4byte sub_80587B4
+ .4byte FieldObjectCB_BerryTree
+ .4byte sub_805D4F4
+ .4byte sub_805D634
+ .4byte sub_805D774
+ .4byte sub_805D8B4
+ .4byte sub_805D9F4
+ .4byte sub_805DB34
+ .4byte sub_805DC74
+ .4byte sub_805DDB4
+ .4byte sub_805DEF4
+ .4byte sub_805E034
+ .4byte sub_805E174
+ .4byte sub_805E278
+ .4byte sub_805E37C
+ .4byte sub_805E37C
+ .4byte sub_805E37C
+ .4byte sub_805E37C
+ .4byte sub_805E5DC
+ .4byte sub_805E668
+ .4byte sub_805E6F4
+ .4byte sub_805E780
+ .4byte sub_805E80C
+ .4byte sub_805E898
+ .4byte sub_805E924
+ .4byte sub_805E9B0
+ .4byte sub_805EA3C
+ .4byte sub_805EAC8
+ .4byte sub_805EB54
+ .4byte sub_805EBE0
+ .4byte sub_805EC6C
+ .4byte sub_805ECF8
+ .4byte sub_805ED84
+ .4byte sub_805EE10
+ .4byte sub_805EE9C
+ .4byte sub_805EF28
+ .4byte sub_805EFB4
+ .4byte sub_805F040
+ .4byte sub_805F0CC
+ .4byte sub_805F158
+ .4byte sub_805F1E4
+ .4byte sub_805F270
+ .4byte sub_805F2FC
+ .4byte sub_805F2FC
+ .4byte sub_805F2FC
+ .4byte sub_805F2FC
+ .4byte FieldObjectCB_TreeDisguise
+ .4byte FieldObjectCB_MountainDisguise
+ .4byte sub_805F8E0
+ .4byte sub_805F8E0
+ .4byte sub_805F8E0
+ .4byte sub_805F8E0
+ .4byte FieldObjectCB_Hidden1
+ .4byte sub_805FB20
+ .4byte sub_805FB20
+ .4byte sub_805FB20
+ .4byte sub_805FB20
+ .4byte sub_805FB90
+ .4byte sub_805FB90
+ .4byte sub_805FB90
+ .4byte sub_805FB90
+ .4byte sub_805FC00
+ .4byte sub_805FC00
+ .4byte sub_805FC00
+ .4byte sub_805FC00
+ .4byte sub_805FC70
+
+gUnknown_0836DBBC:: @ 836DBBC
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+
+gUnknown_0836DC09:: @ 836DC09
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_NORTH
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_NORTH
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_NORTH
+ .byte DIR_WEST
+ .byte DIR_SOUTH
+ .byte DIR_EAST
+ .byte DIR_WEST
+ .byte DIR_NORTH
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+ .byte DIR_EAST
+ .byte DIR_NORTH
+ .byte DIR_WEST
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_SOUTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+ .byte DIR_NORTH
+ .byte DIR_WEST
+ .byte DIR_EAST
+ .byte DIR_SOUTH
+
+@ 836DC58
+ .include "data/graphics/field_objects/map_object_graphics_info_pointers.inc"
+
+@ 836DFC0
+ .include "data/graphics/field_objects/field_effect_object_template_pointers.inc"
+
+@ 836E050
+ .include "data/graphics/field_objects/map_object_pic_tables.inc"
+
+@ 83708C8
+ .include "data/graphics/field_objects/map_object_anims.inc"
+
+@ 83711C4
+ .include "data/graphics/field_objects/base_oam.inc"
+
+@ 8371204
+ .include "data/graphics/field_objects/map_object_subsprites.inc"
+
+@ 83718D4
+ .include "data/graphics/field_objects/map_object_graphics_info.inc"
+
+ .align 2
+gUnknown_0837377C:: @ 837377C
+ obj_pal gMapObjectPalette0, 0x1103
+ obj_pal gMapObjectPalette1, 0x1104
+ obj_pal gMapObjectPalette2, 0x1105
+ obj_pal gMapObjectPalette3, 0x1106
+ obj_pal gMapObjectPalette4, 0x1107
+ obj_pal gMapObjectPalette5, 0x1108
+ obj_pal gMapObjectPalette6, 0x1109
+ obj_pal gMapObjectPalette7, 0x110A
+ obj_pal gMapObjectPalette8, 0x1100
+ obj_pal gMapObjectPalette9, 0x1101
+ obj_pal gMapObjectPalette10, 0x1102
+ obj_pal gMapObjectPalette11, 0x1115
+ obj_pal gMapObjectPalette12, 0x110B
+ obj_pal gMapObjectPalette13, 0x110C
+ obj_pal gMapObjectPalette14, 0x110D
+ obj_pal gMapObjectPalette15, 0x110E
+ obj_pal gMapObjectPalette16, 0x110F
+ obj_pal gMapObjectPalette17, 0x1110
+ obj_pal gMapObjectPalette18, 0x1111
+ obj_pal gMapObjectPalette19, 0x1112
+ obj_pal gMapObjectPalette20, 0x1113
+ obj_pal gMapObjectPalette21, 0x1114
+ obj_pal gMapObjectPalette22, 0x1116
+ obj_pal gMapObjectPalette23, 0x1117
+ obj_pal gMapObjectPalette24, 0x1118
+ obj_pal gMapObjectPalette25, 0x1119
+ obj_pal gMapObjectPalette26, 0x111A
+ null_obj_pal
+
+ .align 1
+Palettes_837385C:
+ .2byte 0x1101
+ .2byte 0x1101
+ .2byte 0x1101
+ .2byte 0x1101
+
+ @ unused?
+ .2byte 0x1111
+ .2byte 0x1111
+ .2byte 0x1111
+ .2byte 0x1111
+
+ .align 1
+Palettes_837386C:
+ .2byte 0x1115
+ .2byte 0x1115
+ .2byte 0x1115
+ .2byte 0x1115
+
+ .align 2
+gUnknown_08373874:: @ 8373874
+ paired_pals 0x1100, Palettes_837385C
+ paired_pals 0x1110, Palettes_837385C
+ paired_pals 0x1115, Palettes_837386C
+ paired_pals 0x11FF, NULL
+
+ .align 1
+Palettes_8373894:
+ .2byte 0x110C
+ .2byte 0x110C
+ .2byte 0x110C
+ .2byte 0x110C
+
+ .align 1
+Palettes_837389C:
+ .2byte 0x110D
+ .2byte 0x110D
+ .2byte 0x110D
+ .2byte 0x110D
+
+ .align 1
+Palettes_83738A4:
+ .2byte 0x110E
+ .2byte 0x110E
+ .2byte 0x110E
+ .2byte 0x110E
+
+ .align 1
+Palettes_83738AC:
+ .2byte 0x1112
+ .2byte 0x1112
+ .2byte 0x1112
+ .2byte 0x1112
+
+ .align 1
+Palettes_83738B4:
+ .2byte 0x1113
+ .2byte 0x1113
+ .2byte 0x1113
+ .2byte 0x1113
+
+ .align 1
+Palettes_83738BC:
+ .2byte 0x1114
+ .2byte 0x1114
+ .2byte 0x1114
+ .2byte 0x1114
+
+ .align 1
+Palettes_83738C4:
+ .2byte 0x111A
+ .2byte 0x111A
+ .2byte 0x111A
+ .2byte 0x111A
+
+ .align 1
+Palettes_83738CC:
+ .2byte 0x1117
+ .2byte 0x1117
+ .2byte 0x1117
+ .2byte 0x1117
+
+ .align 1
+Palettes_83738D4:
+ .2byte 0x1119
+ .2byte 0x1119
+ .2byte 0x1119
+ .2byte 0x1119
+
+ .align 1
+Palettes_83738DC:
+ .2byte 0x1109
+ .2byte 0x1109
+ .2byte 0x1109
+ .2byte 0x1109
+
+ .align 2
+gUnknown_083738E4:: @ 83738E4
+ paired_pals 0x1100, Palettes_837385C
+ paired_pals 0x1110, Palettes_837385C
+ paired_pals 0x110B, Palettes_8373894
+ paired_pals 0x110D, Palettes_837389C
+ paired_pals 0x110E, Palettes_83738A4
+ paired_pals 0x1112, Palettes_83738AC
+ paired_pals 0x1113, Palettes_83738B4
+ paired_pals 0x1114, Palettes_83738BC
+ paired_pals 0x1116, Palettes_83738CC
+ paired_pals 0x1118, Palettes_83738D4
+ paired_pals 0x1105, Palettes_83738DC
+ paired_pals 0x111A, Palettes_83738C4
+ paired_pals 0x11FF, NULL
+
+ .align 1
+Unknown_837394C:
+ .2byte 0x1100
+ .2byte 0x1101
+ .2byte 0x1103
+ .2byte 0x1104
+ .2byte 0x1105
+ .2byte 0x1106
+ .2byte 0x1107
+ .2byte 0x1108
+ .2byte 0x1109
+ .2byte 0x110A
+
+ .align 1
+Unknown_8373960:
+ .2byte 0x1100
+ .2byte 0x1101
+ .2byte 0x1103
+ .2byte 0x1104
+ .2byte 0x1105
+ .2byte 0x1106
+ .2byte 0x1107
+ .2byte 0x1108
+ .2byte 0x1109
+ .2byte 0x110A
+
+ .align 1
+Unknown_8373974:
+ .2byte 0x1100
+ .2byte 0x1101
+ .2byte 0x1103
+ .2byte 0x1104
+ .2byte 0x1105
+ .2byte 0x1106
+ .2byte 0x1107
+ .2byte 0x1108
+ .2byte 0x1109
+ .2byte 0x110A
+
+ .align 1
+Unknown_8373988:
+ .2byte 0x1100
+ .2byte 0x1101
+ .2byte 0x1103
+ .2byte 0x1104
+ .2byte 0x1105
+ .2byte 0x1106
+ .2byte 0x1107
+ .2byte 0x1108
+ .2byte 0x1109
+ .2byte 0x110A
+
+ .align 2
+gUnknown_0837399C:: @ 837399C
+ .4byte Unknown_837394C
+ .4byte Unknown_8373960
+ .4byte Unknown_8373974
+ .4byte Unknown_8373988
+
+@ 83739AC
+ .include "data/graphics/field_objects/berry_tree_graphics_tables.inc"
+
+@ 8374524
+ .include "data/graphics/field_objects/field_effect_objects.inc"
+
+ .align 1
+gUnknown_0837520C:: @ 837520C
+ .2byte 0x20, 0x40, 0x60, 0x80, 0x20, 0x40, 0x80, 0xC0
+
+ .align 1
+gUnknown_0837521C:: @ 837521C
+ .2byte 0x20, 0x30, 0x40, 0x50
+
+ .align 2
+gUnknown_08375224:: @ 8375224
+ .4byte sub_805C8F0
+ .4byte sub_805C904
+ .4byte sub_805C930
+ .4byte sub_805C96C
+ .4byte sub_805C98C
+ .4byte sub_805C9D8
+ .4byte sub_805CA08
+
+gUnknown_08375240:: @ 8375240
+ .byte DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST
+
+ .align 2
+gUnknown_08375244:: @ 8375244
+ .4byte sub_805CAAC
+ .4byte sub_805CADC
+ .4byte sub_805CAEC
+ .4byte sub_805CB00
+ .4byte sub_805CB5C
+ .4byte sub_805CBB8
+ .4byte sub_805CC14
+ .4byte sub_805CC70
+ .4byte sub_805CCAC
+ .4byte sub_805CCE8
+ .4byte sub_805CD24
+
+ .align 2
+gUnknown_08375270:: @ 8375270
+ .4byte sub_805CE2C
+ .4byte sub_805CE40
+ .4byte sub_805CE6C
+ .4byte sub_805CEB0
+ .4byte sub_805CEE0
+
+ .align 2
+gUnknown_08375284:: @ 8375284
+ .4byte sub_805CF6C
+ .4byte sub_805CF80
+ .4byte sub_805CFAC
+ .4byte sub_805CFE8
+ .4byte sub_805D008
+ .4byte sub_805D054
+ .4byte sub_805D084
+
+gUnknown_083752A0:: @ 83752A0
+ .byte DIR_SOUTH, DIR_NORTH
+
+ .align 2
+gUnknown_083752A4:: @ 83752A4
+ .4byte sub_805D0F0
+ .4byte sub_805D104
+ .4byte sub_805D130
+ .4byte sub_805D16C
+ .4byte sub_805D18C
+ .4byte sub_805D1D8
+ .4byte sub_805D208
+
+gUnknown_083752C0:: @ 83752C0
+ .byte DIR_WEST, DIR_EAST
+
+ .align 2
+gUnknown_083752C4:: @ 83752C4
+ .4byte sub_805D274
+ .4byte sub_805D2A0
+ .4byte sub_805D2C0
+
+ .align 2
+gUnknown_083752D0:: @ 83752D0
+ .4byte do_berry_tree_growth_sparkle_1
+ .4byte sub_805D3EC
+ .4byte do_berry_tree_growth_sparkle_2
+ .4byte sub_805D458
+ .4byte sub_805D4A8
+
+ .align 2
+gUnknown_083752E4:: @ 83752E4
+ .4byte sub_805D538
+ .4byte sub_805D54C
+ .4byte sub_805D578
+ .4byte sub_805D5BC
+ .4byte sub_805D5EC
+
+ .align 2
+gUnknown_083752F8:: @ 83752F8
+ .4byte sub_805D678
+ .4byte sub_805D68C
+ .4byte sub_805D6B8
+ .4byte sub_805D6FC
+ .4byte sub_805D72C
+
+ .align 2
+gUnknown_0837530C:: @ 837530C
+ .4byte sub_805D7B8
+ .4byte sub_805D7CC
+ .4byte sub_805D7F8
+ .4byte sub_805D83C
+ .4byte sub_805D86C
+
+gUnknown_08375320:: @ 8375320
+ .byte DIR_NORTH, DIR_WEST
+
+ .align 2
+gUnknown_08375324:: @ 8375324
+ .4byte sub_805D8F8
+ .4byte sub_805D90C
+ .4byte sub_805D938
+ .4byte sub_805D97C
+ .4byte sub_805D9AC
+
+gUnknown_08375338:: @ 8375338
+ .byte DIR_NORTH, DIR_EAST
+
+ .align 2
+gUnknown_0837533C:: @ 837533C
+ .4byte sub_805DA38
+ .4byte sub_805DA4C
+ .4byte sub_805DA78
+ .4byte sub_805DABC
+ .4byte sub_805DAEC
+
+gUnknown_08375350:: @ 8375350
+ .byte DIR_SOUTH, DIR_WEST
+
+ .align 2
+gUnknown_08375354:: @ 8375354
+ .4byte sub_805DB78
+ .4byte sub_805DB8C
+ .4byte sub_805DBB8
+ .4byte sub_805DBFC
+ .4byte sub_805DC2C
+
+gUnknown_08375368:: @ 8375368
+ .byte DIR_SOUTH, DIR_EAST
+
+ .align 2
+gUnknown_0837536C:: @ 837536C
+ .4byte sub_805DCB8
+ .4byte sub_805DCCC
+ .4byte sub_805DCF8
+ .4byte sub_805DD3C
+ .4byte sub_805DD6C
+
+gUnknown_08375380:: @ 8375380
+ .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH
+
+ .align 2
+gUnknown_08375384:: @ 8375384
+ .4byte sub_805DDF8
+ .4byte sub_805DE0C
+ .4byte sub_805DE38
+ .4byte sub_805DE7C
+ .4byte sub_805DEAC
+
+gUnknown_08375398:: @ 8375398
+ .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH
+
+ .align 2
+gUnknown_0837539C:: @ 837539C
+ .4byte sub_805DF38
+ .4byte sub_805DF4C
+ .4byte sub_805DF78
+ .4byte sub_805DFBC
+ .4byte sub_805DFEC
+
+gUnknown_083753B0:: @ 83753B0
+ .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH
+
+ .align 2
+gUnknown_083753B4:: @ 83753B4
+ .4byte sub_805E078
+ .4byte sub_805E08C
+ .4byte sub_805E0B8
+ .4byte sub_805E0FC
+ .4byte sub_805E12C
+
+gUnknown_083753C8:: @ 83753C8
+ .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH
+
+ .align 2
+gUnknown_083753CC:: @ 83753CC
+ .4byte sub_805E1B8
+ .4byte sub_805E1E4
+ .4byte sub_805E208
+ .4byte sub_805E234
+
+gUnknown_083753DC:: @ 83753DC
+ .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH
+
+ .align 2
+gUnknown_083753E4:: @ 83753E4
+ .4byte sub_805E2BC
+ .4byte sub_805E2E8
+ .4byte sub_805E30C
+ .4byte sub_805E338
+
+gUnknown_083753F4:: @ 83753F4
+ .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH
+
+ .align 2
+gUnknown_083753FC:: @ 83753FC
+ .4byte sub_805E3C0
+ .4byte sub_805E3D4
+ .4byte sub_805E40C
+ .4byte sub_805E4C4
+
+ .align 2
+gUnknown_0837540C:: @ 837540C
+ .4byte sub_805E4EC
+ .4byte sub_805E620
+ .4byte sub_805E5B4
+
+gUnknown_08375418:: @ 8375418
+ .byte DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH
+
+ .align 2
+gUnknown_0837541C:: @ 837541C
+ .4byte sub_805E4EC
+ .4byte sub_805E6AC
+ .4byte sub_805E5B4
+
+ .align 2
+gUnknown_08375428:: @ 8375428
+ .byte DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH
+
+gUnknown_0837542C:: @ 837542C
+ .4byte sub_805E4EC
+ .4byte sub_805E738
+ .4byte sub_805E5B4
+
+gUnknown_08375438:: @ 8375438
+ .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST
+
+ .align 2
+gUnknown_0837543C:: @ 837543C
+ .4byte sub_805E4EC
+ .4byte sub_805E7C4
+ .4byte sub_805E5B4
+
+gUnknown_08375448:: @ 8375448
+ .byte DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST
+
+ .align 2
+gUnknown_0837544C:: @ 837544C
+ .4byte sub_805E4EC
+ .4byte sub_805E850
+ .4byte sub_805E5B4
+
+gUnknown_08375458:: @ 8375458
+ .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH
+
+ .align 2
+gUnknown_0837545C:: @ 837545C
+ .4byte sub_805E4EC
+ .4byte sub_805E8DC
+ .4byte sub_805E5B4
+
+gUnknown_08375468:: @ 8375468
+ .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH
+
+ .align 2
+gUnknown_0837546C:: @ 837546C
+ .4byte sub_805E4EC
+ .4byte sub_805E968
+ .4byte sub_805E5B4
+
+ .align 2
+gUnknown_08375478:: @ 8375478
+ .4byte sub_805E4EC
+ .4byte sub_805E9F4
+ .4byte sub_805E5B4
+
+gUnknown_08375484:: @ 8375484
+ .byte DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST
+
+ .align 2
+gUnknown_08375488:: @ 8375488
+ .4byte sub_805E4EC
+ .4byte sub_805EA80
+ .4byte sub_805E5B4
+
+gUnknown_08375494:: @ 8375494
+ .byte DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST
+
+ .align 2
+gUnknown_08375498:: @ 8375498
+ .4byte sub_805E4EC
+ .4byte sub_805EB0C
+ .4byte sub_805E5B4
+
+gUnknown_083754A4:: @ 83754A4
+ .byte DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST
+
+ .align 2
+gUnknown_083754A8:: @ 83754A8
+ .4byte sub_805E4EC
+ .4byte sub_805EB98
+ .4byte sub_805E5B4
+
+gUnknown_083754B4:: @ 83754B4
+ .byte DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH
+
+ .align 2
+gUnknown_083754B8:: @ 83754B8
+ .4byte sub_805E4EC
+ .4byte sub_805EC24
+ .4byte sub_805E5B4
+
+gUnknown_083754C4:: @ 83754C4
+ .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH
+
+ .align 2
+gUnknown_083754C8:: @ 83754C8
+ .4byte sub_805E4EC
+ .4byte sub_805ECB0
+ .4byte sub_805E5B4
+
+gUnknown_083754D4:: @ 83754D4
+ .byte DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST
+
+ .align 2
+gUnknown_083754D8:: @ 83754D8
+ .4byte sub_805E4EC
+ .4byte sub_805ED3C
+ .4byte sub_805E5B4
+
+gUnknown_083754E4:: @ 83754E4
+ .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST
+
+ .align 2
+gUnknown_083754E8:: @ 83754E8
+ .4byte sub_805E4EC
+ .4byte sub_805EDC8
+ .4byte sub_805E5B4
+
+gUnknown_083754F4:: @ 83754F4
+ .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH
+
+ .align 2
+gUnknown_083754F8:: @ 83754F8
+ .4byte sub_805E4EC
+ .4byte sub_805EE54
+ .4byte sub_805E5B4
+
+gUnknown_08375504:: @ 8375504
+ .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH
+
+ .align 2
+gUnknown_08375508:: @ 8375508
+ .4byte sub_805E4EC
+ .4byte sub_805EEE0
+ .4byte sub_805E5B4
+
+gUnknown_08375514:: @ 8375514
+ .byte DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST
+
+ .align 2
+gUnknown_08375518:: @ 8375518
+ .4byte sub_805E4EC
+ .4byte sub_805EF6C
+ .4byte sub_805E5B4
+
+gUnknown_08375524:: @ 8375524
+ .byte DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST
+
+ .align 2
+gUnknown_08375528:: @ 8375528
+ .4byte sub_805E4EC
+ .4byte sub_805EFF8
+ .4byte sub_805E5B4
+
+gUnknown_08375534:: @ 8375534
+ .byte DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH
+
+ .align 2
+gUnknown_08375538:: @ 8375538
+ .4byte sub_805E4EC
+ .4byte sub_805F084
+ .4byte sub_805E5B4
+
+gUnknown_08375544:: @ 8375544
+ .byte DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH
+
+ .align 2
+gUnknown_08375548:: @ 8375548
+ .4byte sub_805E4EC
+ .4byte sub_805F110
+ .4byte sub_805E5B4
+
+gUnknown_08375554:: @ 8375554
+ .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST
+
+ .align 2
+gUnknown_08375558:: @ 8375558
+ .4byte sub_805E4EC
+ .4byte sub_805F19C
+ .4byte sub_805E5B4
+
+gUnknown_08375564:: @ 8375564
+ .byte DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST
+
+ .align 2
+gUnknown_08375568:: @ 8375568
+ .4byte sub_805E4EC
+ .4byte sub_805F228
+ .4byte sub_805E5B4
+
+gUnknown_08375574:: @ 8375574
+ .byte DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH
+
+ .align 2
+gUnknown_08375578:: @ 8375578
+ .4byte sub_805E4EC
+ .4byte sub_805F2B4
+ .4byte sub_805E5B4
+
+ .align 2
+gUnknown_08375584:: @ 8375584
+ .byte DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH
+
+ .align 2
+gUnknown_08375588:: @ 8375588
+ .4byte mss_npc_reset_oampriv3_1_unk2_unk3
+ .4byte sub_805F364
+ .4byte sub_805F3C4
+
+ .align 2
+gUnknown_08375594:: @ 8375594
+ .4byte sub_805F3EC
+ .4byte sub_805F3F0
+ .4byte sub_805F438
+ .4byte sub_805F4F0
+ .4byte sub_805F5A8
+ .4byte sub_805F660
+ .4byte cph_IM_DIFFERENT
+ .4byte sub_805F760
+ .4byte oac_hopping
+ .4byte sub_805F3EC
+ .4byte sub_805F3EC
+
+ .align 2
+gUnknown_083755C0:: @ 83755C0
+ .4byte mss_npc_reset_oampriv3_1_unk2_unk3
+ .4byte mss_08062EA4
+ .4byte sub_805F3C4
+
+ .align 2
+gUnknown_083755CC:: @ 83755CC
+ .4byte sub_805FAF8
+
+ .align 2
+gUnknown_083755D0:: @ 83755D0
+ .4byte sub_805FB64
+ .4byte sub_805FB04
+
+ .align 2
+gUnknown_083755D8:: @ 83755D8
+ .4byte sub_805FBD4
+ .4byte sub_805FB04
+
+ .align 2
+gUnknown_083755E0:: @ 83755E0
+ .4byte sub_805FC44
+ .4byte sub_805FB04
+
+ .align 2
+gUnknown_083755E8:: @ 83755E8
+ .4byte sub_805FCB4
+ .4byte sub_805FCE8
+ .4byte sub_805FD08
+
+gUnknown_083755F4:: @ 83755F4
+ .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01
+
+gUnknown_083755FD:: @ 83755FD
+ .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05
+
+gUnknown_08375606:: @ 8375606
+ .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09
+
+gUnknown_0837560F:: @ 837560F
+ .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F, 0x0C, 0x0C, 0x0D, 0x0D
+
+gUnknown_08375618:: @ 8375618
+ .byte 0x10, 0x10, 0x11, 0x12, 0x13, 0x10, 0x10, 0x11, 0x11
+
+gUnknown_08375621:: @ 8375621
+ .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15
+
+gUnknown_0837562A:: @ 837562A
+ .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15
+
+gUnknown_08375633:: @ 8375633
+ .byte 0x18, 0x18, 0x19, 0x1A, 0x1B, 0x18, 0x18, 0x19, 0x19
+
+gUnknown_0837563C:: @ 837563C
+ .byte 0x1C, 0x1C, 0x1D, 0x1E, 0x1F, 0x1C, 0x1C, 0x1D, 0x1D
+
+gUnknown_08375645:: @ 8375645
+ .byte 0x20, 0x20, 0x21, 0x22, 0x23, 0x20, 0x20, 0x21, 0x21
+
+gUnknown_0837564E:: @ 837564E
+ .byte 0x24, 0x24, 0x25, 0x26, 0x27, 0x24, 0x24, 0x25, 0x25
+
+gUnknown_08375657:: @ 8375657
+ .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01
+
+gUnknown_08375660:: @ 8375660
+ .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05
+
+gUnknown_08375669:: @ 8375669
+ .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09
+
+gUnknown_08375672:: @ 8375672
+ .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15
+
+gUnknown_0837567B:: @ 837567B
+ .byte 0x08, 0x08, 0x07, 0x09, 0x0A, 0x08, 0x08, 0x07, 0x07
+
+ .align 2
+gUnknown_08375684:: @ 8375684
+ .4byte MetatileBehavior_IsSouthBlocked
+ .4byte MetatileBehavior_IsNorthBlocked
+ .4byte MetatileBehavior_IsWestBlocked
+ .4byte MetatileBehavior_IsEastBlocked
+
+ .align 2
+gUnknown_08375694:: @ 8375694
+ .4byte MetatileBehavior_IsNorthBlocked
+ .4byte MetatileBehavior_IsSouthBlocked
+ .4byte MetatileBehavior_IsEastBlocked
+ .4byte MetatileBehavior_IsWestBlocked
+
+ .align 1
+gDirectionToVector:: @ 83756A4
+ .2byte 0, 0
+ .2byte 0, 1
+ .2byte 0, -1
+ .2byte -1, 0
+ .2byte 1, 0
+ .2byte -1, 1
+ .2byte 1, 1
+ .2byte -1, -1
+ .2byte 1, -1
+
+gUnknown_083756C8:: @ 83756C8
+ .byte 0x00, 0x00, 0x01, 0x02, 0x03
+
+gUnknown_083756CD:: @ 83756CD
+ .byte 0x04, 0x04, 0x05, 0x06, 0x07
+
+gUnknown_083756D2:: @ 83756D2
+ .byte 0x08, 0x08, 0x09, 0x0A, 0x0B
+
+gUnknown_083756D7:: @ 83756D7
+ .byte 0x15, 0x15, 0x16, 0x17, 0x18
+
+gUnknown_083756DC:: @ 83756DC
+ .byte 0x29, 0x29, 0x2A, 0x2B, 0x2C
+
+gUnknown_083756E1:: @ 83756E1
+ .byte 0x2D, 0x2D, 0x2E, 0x2F, 0x30
+
+gUnknown_083756E6:: @ 83756E6
+ .byte 0x31, 0x31, 0x32, 0x33, 0x34
+
+gUnknown_083756EB:: @ 83756EB
+ .byte 0x35, 0x35, 0x36, 0x37, 0x38
+
+gUnknown_083756F0:: @ 83756F0
+ .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F
+
+gUnknown_083756F5:: @ 83756F5
+ .byte 0x46, 0x46, 0x47, 0x48, 0x49
+
+gUnknown_083756FA:: @ 83756FA
+ .byte 0x4B, 0x4B, 0x4A, 0x4D, 0x4C
+
+gUnknown_083756FF:: @ 83756FF
+ .byte 0x42, 0x42, 0x43, 0x44, 0x45
+
+gUnknown_08375704:: @ 8375704
+ .byte 0x3A, 0x3A, 0x3B, 0x3C, 0x3D
+
+gUnknown_08375709:: @ 8375709
+ .byte 0x19, 0x19, 0x1A, 0x1B, 0x1C
+
+gUnknown_0837570E:: @ 837570E
+ .byte 0x1D, 0x1D, 0x1E, 0x1F, 0x20
+
+gUnknown_08375713:: @ 8375713
+ .byte 0x21, 0x21, 0x22, 0x23, 0x24
+
+gUnknown_08375718:: @ 8375718
+ .byte 0x25, 0x25, 0x26, 0x27, 0x28
+
+gUnknown_0837571D:: @ 837571D
+ .byte 0x62, 0x62, 0x63, 0x64, 0x65
+
+gUnknown_08375722:: @ 8375722
+ .byte 0x66, 0x66, 0x67, 0x68, 0x69
+
+gUnknown_08375727:: @ 8375727
+ .byte 0x6A, 0x6A, 0x6B, 0x6C, 0x6D
+
+gUnknown_0837572C:: @ 837572C
+ .byte 0x6E, 0x6E, 0x6F, 0x70, 0x71
+
+gUnknown_08375731:: @ 8375731
+ .byte 0x72, 0x72, 0x73, 0x74, 0x75
+
+gUnknown_08375736:: @ 8375736
+ .byte 0x76, 0x76, 0x77, 0x78, 0x79
+
+gUnknown_0837573B:: @ 837573B
+ .byte 0x7A, 0x7A, 0x7B, 0x7C, 0x7D
+
+gUnknown_08375740:: @ 8375740
+ .byte 0x7E, 0x7E, 0x7F, 0x80, 0x81
+
+gUnknown_08375745:: @ 8375745
+ .byte 0x82, 0x82, 0x83, 0x84, 0x85
+
+gUnknown_0837574A:: @ 837574A
+ .byte 0x86, 0x86, 0x87, 0x88, 0x89
+
+gUnknown_0837574F:: @ 837574F
+ .byte 2, 1, 4, 3, 8, 7, 6, 5
+
+gUnknown_08375757:: @ 8375757
+ .byte 2, 1, 4, 3, 1, 2, 3, 4, 3, 4, 2, 1, 4, 3, 1, 2
+
+gUnknown_08375767:: @ 8375767
+ .byte 2, 1, 4, 3, 1, 2, 3, 4, 4, 3, 1, 2, 3, 4, 2, 1
+
+ .align 2
+gUnknown_08375778:: @ 8375778
+ .4byte Unknown_83759A0
+ .4byte Unknown_83759A8
+ .4byte Unknown_83759B0
+ .4byte Unknown_83759B8
+ .4byte Unknown_83759D4
+ .4byte Unknown_83759E0
+ .4byte Unknown_83759EC
+ .4byte Unknown_83759F8
+ .4byte Unknown_8375A04
+ .4byte Unknown_8375A10
+ .4byte Unknown_8375A1C
+ .4byte Unknown_8375A28
+ .4byte Unknown_8375A40
+ .4byte Unknown_8375A4C
+ .4byte Unknown_8375A58
+ .4byte Unknown_8375A64
+ .4byte Unknown_8375A70
+ .4byte Unknown_8375A7C
+ .4byte Unknown_8375A88
+ .4byte Unknown_8375A94
+ .4byte Unknown_8375AA0
+ .4byte Unknown_8375AAC
+ .4byte Unknown_8375AB8
+ .4byte Unknown_8375AC4
+ .4byte Unknown_8375AD0
+ .4byte Unknown_8375ADC
+ .4byte Unknown_8375AE8
+ .4byte Unknown_8375AF4
+ .4byte Unknown_8375B00
+ .4byte Unknown_8375B0C
+ .4byte Unknown_8375B18
+ .4byte Unknown_8375B24
+ .4byte Unknown_8375B30
+ .4byte Unknown_8375B3C
+ .4byte Unknown_8375B48
+ .4byte Unknown_8375B54
+ .4byte Unknown_8375B60
+ .4byte Unknown_8375B6C
+ .4byte Unknown_8375B78
+ .4byte Unknown_8375B84
+ .4byte Unknown_8375B90
+ .4byte Unknown_8375B9C
+ .4byte Unknown_8375BA8
+ .4byte Unknown_8375BB4
+ .4byte Unknown_8375BC0
+ .4byte Unknown_8375BCC
+ .4byte Unknown_8375BD8
+ .4byte Unknown_8375BE4
+ .4byte Unknown_8375BF0
+ .4byte Unknown_8375BFC
+ .4byte Unknown_8375C08
+ .4byte Unknown_8375C14
+ .4byte Unknown_8375C20
+ .4byte Unknown_8375C2C
+ .4byte Unknown_8375C38
+ .4byte Unknown_8375C44
+ .4byte Unknown_8375C50
+ .4byte Unknown_8375C5C
+ .4byte Unknown_8375C68
+ .4byte Unknown_8375C74
+ .4byte Unknown_8375C80
+ .4byte Unknown_8375C8C
+ .4byte Unknown_8375C98
+ .4byte Unknown_8375CA0
+ .4byte Unknown_8375CA8
+ .4byte Unknown_8375CB0
+ .4byte Unknown_8375CB8
+ .4byte Unknown_8375CC4
+ .4byte Unknown_8375CD0
+ .4byte Unknown_8375CDC
+ .4byte Unknown_8375CE8
+ .4byte Unknown_8375CF4
+ .4byte Unknown_8375D00
+ .4byte Unknown_8375D0C
+ .4byte Unknown_8375D18
+ .4byte Unknown_8375D24
+ .4byte Unknown_8375D30
+ .4byte Unknown_8375D3C
+ .4byte Unknown_8375D48
+ .4byte Unknown_8375D50
+ .4byte Unknown_8375D5C
+ .4byte Unknown_8375D64
+ .4byte Unknown_8375D6C
+ .4byte Unknown_8375D74
+ .4byte Unknown_8375D7C
+ .4byte Unknown_8375D84
+ .4byte Unknown_8375D8C
+ .4byte Unknown_8375D94
+ .4byte Unknown_8375D9C
+ .4byte Unknown_8375DA4
+ .4byte Unknown_8375DB0
+ .4byte Unknown_8375DC0
+ .4byte Unknown_8375DD0
+ .4byte Unknown_8375DD8
+ .4byte Unknown_8375DE0
+ .4byte Unknown_8375DE8
+ .4byte Unknown_8375DF0
+ .4byte Unknown_8375DFC
+ .4byte Unknown_8375E08
+ .4byte Unknown_8375E10
+ .4byte Unknown_8375E18
+ .4byte Unknown_8375E20
+ .4byte Unknown_8375E28
+ .4byte Unknown_8375E34
+ .4byte Unknown_8375E40
+ .4byte Unknown_8375E4C
+ .4byte Unknown_8375E58
+ .4byte Unknown_8375E64
+ .4byte Unknown_8375E70
+ .4byte Unknown_8375E7C
+ .4byte Unknown_8375EB8
+ .4byte Unknown_8375EC4
+ .4byte Unknown_8375ED0
+ .4byte Unknown_8375EDC
+ .4byte Unknown_8375EE8
+ .4byte Unknown_8375EF4
+ .4byte Unknown_8375F00
+ .4byte Unknown_8375F0C
+ .4byte Unknown_8375F18
+ .4byte Unknown_8375F24
+ .4byte Unknown_8375F30
+ .4byte Unknown_8375F3C
+ .4byte Unknown_8375F48
+ .4byte Unknown_8375F54
+ .4byte Unknown_8375F60
+ .4byte Unknown_8375F6C
+ .4byte Unknown_8375F78
+ .4byte Unknown_8375F84
+ .4byte Unknown_8375F90
+ .4byte Unknown_8375F9C
+ .4byte Unknown_8375FA8
+ .4byte Unknown_8375FB4
+ .4byte Unknown_8375FC0
+ .4byte Unknown_8375FCC
+ .4byte Unknown_8375FD8
+ .4byte Unknown_8375FE4
+ .4byte Unknown_8375FF0
+ .4byte Unknown_8375FFC
+
+ .align 2
+Unknown_83759A0:
+ .4byte sub_8060CE0
+ .4byte sub_8063474
+
+ .align 2
+Unknown_83759A8:
+ .4byte sub_8060CF0
+ .4byte sub_8063474
+
+ .align 2
+Unknown_83759B0:
+ .4byte sub_8060D00
+ .4byte sub_8063474
+
+ .align 2
+Unknown_83759B8:
+ .4byte sub_8060D10
+ .4byte sub_8063474
+
+ .align 2
+gUnknown_083759C0:: @ 83759C0
+ .4byte get_go_image_anim_num
+ .4byte get_go_fast_image_anim_num
+ .4byte get_go_fast_image_anim_num
+ .4byte get_go_faster_image_anim_num
+ .4byte sub_805FD78
+
+ .align 2
+Unknown_83759D4:
+ .4byte sub_8060F3C
+ .4byte sub_8060F5C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_83759E0:
+ .4byte sub_8060F7C
+ .4byte sub_8060F9C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_83759EC:
+ .4byte sub_8060FBC
+ .4byte sub_8060FDC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_83759F8:
+ .4byte sub_8060FFC
+ .4byte sub_806101C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A04:
+ .4byte sub_806103C
+ .4byte sub_806105C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A10:
+ .4byte sub_806107C
+ .4byte sub_806109C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A1C:
+ .4byte sub_80610BC
+ .4byte sub_80610DC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A28:
+ .4byte sub_80610FC
+ .4byte sub_806111C
+ .4byte sub_8063474
+
+ .align 1
+gUnknown_08375A34:: @ 8375A34
+ .2byte 0, 1, 1
+
+ .align 1
+gUnknown_08375A3A:: @ 8375A3A
+ .2byte 0, 0, 1
+
+ .align 2
+Unknown_8375A40:
+ .4byte sub_80613A8
+ .4byte sub_80613D4
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A4C:
+ .4byte sub_8061400
+ .4byte sub_806142C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A58:
+ .4byte sub_8061458
+ .4byte sub_8061484
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A64:
+ .4byte sub_80614B0
+ .4byte sub_80614DC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375A70:
+ .4byte sub_806152C
+ .4byte sub_8061510
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375A7C:
+ .4byte sub_806154C
+ .4byte sub_8061510
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375A88:
+ .4byte sub_806156C
+ .4byte sub_8061510
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375A94:
+ .4byte sub_806158C
+ .4byte sub_8061510
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375AA0:
+ .4byte sub_80615AC
+ .4byte sub_8061510
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375AAC:
+ .4byte sub_80615CC
+ .4byte sub_80615EC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375AB8:
+ .4byte sub_806160C
+ .4byte sub_806162C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375AC4:
+ .4byte sub_806164C
+ .4byte sub_806166C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375AD0:
+ .4byte sub_806168C
+ .4byte sub_80616AC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375ADC:
+ .4byte sub_8061778
+ .4byte sub_806173C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375AE8:
+ .4byte sub_80617B0
+ .4byte sub_806173C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375AF4:
+ .4byte sub_80617E8
+ .4byte sub_806173C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B00:
+ .4byte sub_8061820
+ .4byte sub_806173C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B0C:
+ .4byte sub_8061858
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B18:
+ .4byte sub_8061890
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B24:
+ .4byte sub_80618C8
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B30:
+ .4byte sub_8061900
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B3C:
+ .4byte sub_8061938
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B48:
+ .4byte sub_8061970
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B54:
+ .4byte sub_80619A8
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B60:
+ .4byte sub_80619E0
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B6C:
+ .4byte sub_8061A18
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B78:
+ .4byte sub_8061A50
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B84:
+ .4byte sub_8061A88
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B90:
+ .4byte sub_8061AC0
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375B9C:
+ .4byte sub_8061AF8
+ .4byte sub_8061B18
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BA8:
+ .4byte sub_8061B38
+ .4byte sub_8061B58
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BB4:
+ .4byte sub_8061B78
+ .4byte sub_8061B98
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BC0:
+ .4byte sub_8061BB8
+ .4byte sub_8061BD8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BCC:
+ .4byte sub_8061BF8
+ .4byte sub_8061C18
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BD8:
+ .4byte sub_8061C38
+ .4byte sub_8061C58
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BE4:
+ .4byte sub_8061C78
+ .4byte sub_8061C98
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BF0:
+ .4byte sub_8061CB8
+ .4byte sub_8061CD8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375BFC:
+ .4byte sub_8061CF8
+ .4byte sub_8061D18
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C08:
+ .4byte sub_8061D38
+ .4byte sub_8061D58
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C14:
+ .4byte sub_8061D78
+ .4byte sub_8061D98
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C20:
+ .4byte sub_8061DB8
+ .4byte sub_8061DD8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C2C:
+ .4byte do_run_south_anim
+ .4byte sub_8061E18
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C38:
+ .4byte do_run_north_anim
+ .4byte sub_8061E58
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C44:
+ .4byte do_run_west_anim
+ .4byte sub_8061E98
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C50:
+ .4byte do_run_east_anim
+ .4byte sub_8061ED8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C5C:
+ .4byte sub_8061F24
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C68:
+ .4byte sub_8061F90
+ .4byte sub_8061FB0
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C74:
+ .4byte sub_8061FD8
+ .4byte sub_8061FF8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C80:
+ .4byte sub_8062020
+ .4byte sub_8062040
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C8C:
+ .4byte sub_8062068
+ .4byte sub_8062088
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375C98:
+ .4byte sub_80620B0
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CA0:
+ .4byte sub_806210C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CA8:
+ .4byte sub_8062170
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CB0:
+ .4byte sub_8062180
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CB8:
+ .4byte sub_8062190
+ .4byte sub_80621BC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CC4:
+ .4byte sub_80621E8
+ .4byte sub_8062214
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CD0:
+ .4byte sub_8062240
+ .4byte sub_806226C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CDC:
+ .4byte sub_8062298
+ .4byte sub_80622C4
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CE8:
+ .4byte sub_80622F0
+ .4byte sub_806231C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375CF4:
+ .4byte sub_8062348
+ .4byte sub_8062374
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D00:
+ .4byte sub_80623A0
+ .4byte sub_80623CC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D0C:
+ .4byte sub_80623F8
+ .4byte sub_8062424
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D18:
+ .4byte sub_8062450
+ .4byte sub_806247C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D24:
+ .4byte sub_80624A8
+ .4byte sub_80624D4
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D30:
+ .4byte sub_8062500
+ .4byte sub_806252C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D3C:
+ .4byte sub_8062558
+ .4byte sub_8062584
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D48:
+ .4byte sub_80625B0
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D50:
+ .4byte sub_80625C8
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375D5C:
+ .4byte sub_80625D8
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D64:
+ .4byte sub_80625E8
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D6C:
+ .4byte sub_80625F8
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D74:
+ .4byte sub_8062608
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D7C:
+ .4byte sub_8062634
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D84:
+ .4byte sub_8062644
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D8C:
+ .4byte do_exclamation_mark_bubble_1
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D94:
+ .4byte do_exclamation_mark_bubble_2
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375D9C:
+ .4byte do_heart_bubble
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DA4:
+ .4byte sub_80626C0
+ .4byte sub_8062704
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DB0:
+ .4byte sub_8062724
+ .4byte sub_8062740
+ .4byte sub_8062764
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DC0:
+ .4byte sub_80627A0
+ .4byte sub_80627BC
+ .4byte sub_80627E0
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DD0:
+ .4byte sub_806281C
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DD8:
+ .4byte sub_806282C
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DE0:
+ .4byte sub_806283C
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DE8:
+ .4byte sub_806286C
+ .4byte sub_8063470
+
+ .align 2
+Unknown_8375DF0:
+ .4byte sub_806289C
+ .4byte sub_80628D0
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375DFC:
+ .4byte sub_80628FC
+ .4byte sub_8062930
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E08:
+ .4byte sub_806299C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E10:
+ .4byte sub_80629AC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E18:
+ .4byte sub_80629BC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E20:
+ .4byte sub_80629CC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E28:
+ .4byte sub_80629DC
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E34:
+ .4byte sub_8062A00
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E40:
+ .4byte sub_8062A24
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E4C:
+ .4byte sub_8062A48
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E58:
+ .4byte sub_8062A6C
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E64:
+ .4byte sub_8062A90
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E70:
+ .4byte sub_8062AB4
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375E7C:
+ .4byte sub_8062AD8
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+ .4byte sub_8062AFC
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+ .4byte sub_8062B20
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+ .4byte sub_8062B44
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+ .4byte sub_8062B68
+ .4byte sub_8061F3C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375EB8:
+ .4byte sub_8062BD0
+ .4byte sub_8062BFC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375EC4:
+ .4byte sub_8062C28
+ .4byte sub_8062C54
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375ED0:
+ .4byte sub_8062C80
+ .4byte sub_8062CAC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375EDC:
+ .4byte sub_8062CD8
+ .4byte sub_8062D04
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375EE8:
+ .4byte sub_8062D30
+ .4byte sub_8062D5C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375EF4:
+ .4byte sub_8062D88
+ .4byte sub_8062DB4
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F00:
+ .4byte sub_8062DE0
+ .4byte sub_8062E0C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F0C:
+ .4byte sub_8062E38
+ .4byte sub_8062E64
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F18:
+ .4byte sub_8062E90
+ .4byte sub_8062EBC
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F24:
+ .4byte sub_8062EE8
+ .4byte sub_8062F14
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F30:
+ .4byte sub_8062F40
+ .4byte sub_8062F6C
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F3C:
+ .4byte sub_8062F98
+ .4byte sub_8062FC4
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F48:
+ .4byte sub_8062FF0
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F54:
+ .4byte sub_8063028
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F60:
+ .4byte sub_8063060
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F6C:
+ .4byte sub_8063098
+ .4byte sub_8061714
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F78:
+ .4byte sub_8063108
+ .4byte sub_8063128
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F84:
+ .4byte sub_8063148
+ .4byte sub_8063168
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F90:
+ .4byte sub_8063188
+ .4byte sub_80631A8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375F9C:
+ .4byte sub_80631C8
+ .4byte sub_80631E8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FA8:
+ .4byte sub_8063238
+ .4byte sub_8063258
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FB4:
+ .4byte sub_8063278
+ .4byte sub_8063298
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FC0:
+ .4byte sub_80632B8
+ .4byte sub_80632D8
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FCC:
+ .4byte sub_80632F8
+ .4byte sub_8063318
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FD8:
+ .4byte sub_8063370
+ .4byte sub_8063390
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FE4:
+ .4byte sub_80633B0
+ .4byte sub_80633D0
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FF0:
+ .4byte sub_80633F0
+ .4byte sub_8063410
+ .4byte sub_8063474
+
+ .align 2
+Unknown_8375FFC:
+ .4byte sub_8063430
+ .4byte sub_8063450
+ .4byte sub_8063474
diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s
new file mode 100644
index 000000000..1491a1ad4
--- /dev/null
+++ b/data/field_player_avatar.s
@@ -0,0 +1,184 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_0830FB58:: @ 830FB58
+ .4byte MetatileBehavior_IsTrickHouseSlipperyFloor
+ .4byte MetatileBehavior_IsIce_2
+ .4byte MetatileBehavior_IsWalkSouth
+ .4byte MetatileBehavior_IsWalkNorth
+ .4byte MetatileBehavior_IsWalkWest
+ .4byte MetatileBehavior_IsWalkEast
+ .4byte MetatileBehavior_IsSouthwardCurrent
+ .4byte MetatileBehavior_IsNorthwardCurrent
+ .4byte MetatileBehavior_IsWestwardCurrent
+ .4byte MetatileBehavior_IsEastwardCurrent
+ .4byte MetatileBehavior_IsSlideSouth
+ .4byte MetatileBehavior_IsSlideNorth
+ .4byte MetatileBehavior_IsSlideWest
+ .4byte MetatileBehavior_IsSlideEast
+ .4byte MetatileBehavior_IsWaterfall
+ .4byte MetatileBehavior_0xBB
+ .4byte MetatileBehavior_0xBC
+ .4byte MetatileBehavior_IsMuddySlope
+
+ .align 2
+gUnknown_0830FBA0:: @ 830FBA0
+ .4byte ForcedMovement_None
+ .4byte ForcedMovement_Slip
+ .4byte ForcedMovement_Slip
+ .4byte sub_8058AAC
+ .4byte sub_8058AC4
+ .4byte sub_8058ADC
+ .4byte sub_8058AF4
+ .4byte sub_8058B0C
+ .4byte sub_8058B24
+ .4byte sub_8058B3C
+ .4byte sub_8058B54
+ .4byte ForcedMovement_SlideSouth
+ .4byte ForcedMovement_SlideNorth
+ .4byte ForcedMovement_SlideWest
+ .4byte ForcedMovement_SlideEast
+ .4byte sub_8058B0C
+ .4byte sub_8058C04
+ .4byte sub_8058C10
+ .4byte ForcedMovement_MuddySlope
+
+ .align 2
+gUnknown_0830FBEC:: @ 830FBEC
+ .4byte PlayerNotOnBikeNotMoving
+ .4byte PlayerNotOnBikeTurningInPlace
+ .4byte sub_8058D0C
+
+ .align 2
+gUnknown_0830FBF8:: @ 830FBF8
+ .4byte MetatileBehavior_IsBumpySlope
+ .4byte MetatileBehavior_IsIsolatedVerticalRail
+ .4byte MetatileBehavior_IsIsolatedHorizontalRail
+ .4byte MetatileBehavior_IsVerticalRail
+ .4byte MetatileBehavior_IsHorizontalRail
+
+gUnknown_0830FC0C:: @ 830FC0C
+ .byte 0x9, 0xA, 0xB, 0xC, 0xD
+
+ .align 2
+gUnknown_0830FC14:: @ 830FC14
+ .4byte PlayerAvatarTransition_Normal
+ .4byte PlayerAvatarTransition_MachBike
+ .4byte PlayerAvatarTransition_AcroBike
+ .4byte PlayerAvatarTransition_Surfing
+ .4byte PlayerAvatarTransition_Underwater
+ .4byte sub_80591F4
+ .4byte nullsub_49
+ .4byte nullsub_49
+
+ .align 2
+gUnknown_0830FC34:: @ 830FC34
+ .4byte MetatileBehavior_IsSouthArrowWarp
+ .4byte MetatileBehavior_IsNorthArrowWarp
+ .4byte MetatileBehavior_IsWestArrowWarp
+ .4byte MetatileBehavior_IsEastArrowWarp
+
+gUnknown_0830FC44:: @ 830FC44
+ .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, MAP_OBJ_GFX_RIVAL_MAY_NORMAL
+ .byte MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE
+ .byte MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE
+ .byte MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, MAP_OBJ_GFX_RIVAL_MAY_SURFING
+ .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER
+ .byte MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE
+ .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING
+ .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING
+
+gUnknown_0830FC54:: @ 830FC54
+ .byte MAP_OBJ_GFX_BRENDAN_NORMAL, MAP_OBJ_GFX_MAY_NORMAL
+ .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_MAY_MACH_BIKE
+ .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_MAY_ACRO_BIKE
+ .byte MAP_OBJ_GFX_BRENDAN_SURFING, MAP_OBJ_GFX_MAY_SURFING
+ .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER
+ .byte MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_MAY_FIELD_MOVE
+ .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING
+ .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING
+
+gUnknown_0830FC64:: @ 830FC64
+ @ male
+ .byte MAP_OBJ_GFX_BRENDAN_NORMAL, 1
+ .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, 2
+ .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, 4
+ .byte MAP_OBJ_GFX_BRENDAN_SURFING, 8
+ .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, 16
+ @ female
+ .byte MAP_OBJ_GFX_MAY_NORMAL, 1
+ .byte MAP_OBJ_GFX_MAY_MACH_BIKE, 2
+ .byte MAP_OBJ_GFX_MAY_ACRO_BIKE, 4
+ .byte MAP_OBJ_GFX_MAY_SURFING, 8
+ .byte MAP_OBJ_GFX_MAY_UNDERWATER, 16
+
+ .align 2
+gUnknown_0830FC78:: @ 830FC78
+ .4byte MetatileBehavior_IsSouthArrowWarp
+ .4byte MetatileBehavior_IsNorthArrowWarp
+ .4byte MetatileBehavior_IsWestArrowWarp
+ .4byte MetatileBehavior_IsEastArrowWarp
+
+ .align 2
+gUnknown_0830FC88:: @ 830FC88
+ .4byte sub_8059E84
+ .4byte sub_8059EA4
+ .4byte sub_8059F40
+
+ .align 2
+gUnknown_0830FC94:: @ 830FC94
+ .4byte sub_805A000
+
+ .align 2
+gUnknown_0830FC98:: @ 830FC98
+ .4byte sub_805A0D8
+ .4byte sub_805A100
+ .4byte sub_805A178
+ .4byte sub_805A1B8
+
+gUnknown_0830FCA8:: @ 830FCA8
+ .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH
+
+gUnknown_0830FCAC:: @ 830FCAC
+ .byte 0x10, 0x10, 0x11, 0x12, 0x13
+
+ .align 2
+gUnknown_0830FCB4:: @ 830FCB4
+ .4byte Fishing1
+ .4byte Fishing2
+ .4byte Fishing3
+ .4byte Fishing4
+ .4byte Fishing5
+ .4byte Fishing6
+ .4byte Fishing7
+ .4byte Fishing8
+ .4byte Fishing9
+ .4byte Fishing10
+ .4byte Fishing11
+ .4byte Fishing12
+ .4byte Fishing13
+ .4byte Fishing14
+ .4byte Fishing15
+ .4byte Fishing16
+
+ .align 1
+gUnknown_0830FCF4:: @ 830FCF4
+ .2byte 1, 1, 1
+
+ .align 1
+gUnknown_0830FCFA:: @ 830FCFA
+ .2byte 1, 3, 6
+
+gUnknown_0830FD00:: @ 830FD00
+ .string "·$"
+
+ .align 1
+gUnknown_0830FD02:: @ 830FD02
+ .2byte 36, 33, 30
+
+ .align 1
+gUnknown_0830FD08:: @ 830FD08
+ .2byte 0, 0, 40, 10, 70, 30
diff --git a/data/graphics/field_objects/base_oam.inc b/data/graphics/field_objects/base_oam.inc
index 88a8ed058..7a2793374 100644
--- a/data/graphics/field_objects/base_oam.inc
+++ b/data/graphics/field_objects/base_oam.inc
@@ -1,47 +1,47 @@
.align 2
-gFieldOamData_8x8: @ 83711C4
+gFieldOamData_8x8:: @ 83711C4
.4byte OAM_SIZE_8x8
.2byte 2 << 10 @ priority
.align 2
-gFieldOamData_16x8: @ 83711CC
+gFieldOamData_16x8:: @ 83711CC
.4byte OAM_SIZE_16x8
.2byte 2 << 10 @ priority
.align 2
-gFieldOamData_16x16: @ 83711D4
+gFieldOamData_16x16:: @ 83711D4
.4byte OAM_SIZE_16x16
.2byte 2 << 10 @ priority
.align 2
-gFieldOamData_32x8: @ 83711DC
+gFieldOamData_32x8:: @ 83711DC
.4byte OAM_SIZE_32x8
.2byte 2 << 10 @ priority
.align 2
-gFieldOamData_64x32: @ 83711E4
+gFieldOamData_64x32:: @ 83711E4
.4byte OAM_SIZE_64x32
.2byte 2 << 10 @ priority
.align 2
-gFieldOamData_16x32: @ 83711EC
+gFieldOamData_16x32:: @ 83711EC
.4byte OAM_SIZE_16x32
.2byte 2 << 10 @ priority
.align 2
-gFieldOamData_32x32: @ 83711F4
+gFieldOamData_32x32:: @ 83711F4
.4byte OAM_SIZE_32x32
.2byte 2 << 10 @ priority
.align 2
-gFieldOamData_64x64: @ 83711FC
+gFieldOamData_64x64:: @ 83711FC
.4byte OAM_SIZE_64x64
.2byte 2 << 10 @ priority
diff --git a/data/graphics/field_objects/field_effect_object_graphics.inc b/data/graphics/field_objects/field_effect_object_graphics.inc
index 67865c4d0..e3affcf9e 100644
--- a/data/graphics/field_objects/field_effect_object_graphics.inc
+++ b/data/graphics/field_objects/field_effect_object_graphics.inc
@@ -1,139 +1,139 @@
.align 2
-gFieldEffectPic_ShadowSmall: @ 8368528
+gFieldEffectPic_ShadowSmall:: @ 8368528
.incbin "graphics/field_effect_objects/pics/shadow_small.4bpp"
.align 2
-gFieldEffectPic_ShadowMedium: @ 8368548
+gFieldEffectPic_ShadowMedium:: @ 8368548
.incbin "graphics/field_effect_objects/pics/shadow_medium.4bpp"
.align 2
-gFieldEffectPic_ShadowLarge: @ 8368588
+gFieldEffectPic_ShadowLarge:: @ 8368588
.incbin "graphics/field_effect_objects/pics/shadow_large.4bpp"
.align 2
-gFieldEffectPic_ShadowExtraLarge: @ 8368608
+gFieldEffectPic_ShadowExtraLarge:: @ 8368608
.incbin "graphics/field_effect_objects/pics/shadow_extra_large.4bpp"
.align 2
.space 0x120
.align 2
-gFieldEffectPic_CutGrass: @ 8368B28
+gFieldEffectPic_CutGrass:: @ 8368B28
.incbin "graphics/field_effect_objects/pics/cut_grass.4bpp"
.incbin "graphics/field_effect_objects/pics/cut_grass.4bpp" @ included twice
.align 2
-gFieldEffectObjectPalette6: @ 8368B68
+gFieldEffectObjectPalette6:: @ 8368B68
.incbin "graphics/field_effect_objects/palettes/06.gbapal"
.align 2
-gFieldEffectPic_Ripple_0: @ 8368B88
+gFieldEffectPic_Ripple_0:: @ 8368B88
.incbin "graphics/field_effect_objects/pics/ripple/0.4bpp"
.align 2
-gFieldEffectPic_Ripple_1: @ 8368C08
+gFieldEffectPic_Ripple_1:: @ 8368C08
.incbin "graphics/field_effect_objects/pics/ripple/1.4bpp"
.align 2
-gFieldEffectPic_Ripple_2: @ 8368C88
+gFieldEffectPic_Ripple_2:: @ 8368C88
.incbin "graphics/field_effect_objects/pics/ripple/2.4bpp"
.align 2
-gFieldEffectPic_Ripple_3: @ 8368D08
+gFieldEffectPic_Ripple_3:: @ 8368D08
.incbin "graphics/field_effect_objects/pics/ripple/3.4bpp"
.align 2
-gFieldEffectPic_Ripple_4: @ 8368D88
+gFieldEffectPic_Ripple_4:: @ 8368D88
.incbin "graphics/field_effect_objects/pics/ripple/4.4bpp"
.align 2
-gFieldEffectPic_Ash_0: @ 8368E08
+gFieldEffectPic_Ash_0:: @ 8368E08
.incbin "graphics/field_effect_objects/pics/ash/0.4bpp"
.align 2
-gFieldEffectPic_Ash_1: @ 8368E88
+gFieldEffectPic_Ash_1:: @ 8368E88
.incbin "graphics/field_effect_objects/pics/ash/1.4bpp"
.align 2
-gFieldEffectPic_Ash_2: @ 8368F08
+gFieldEffectPic_Ash_2:: @ 8368F08
.incbin "graphics/field_effect_objects/pics/ash/2.4bpp"
.align 2
-gFieldEffectPic_Ash_3: @ 8368F88
+gFieldEffectPic_Ash_3:: @ 8368F88
.incbin "graphics/field_effect_objects/pics/ash/3.4bpp"
.align 2
-gFieldEffectPic_Ash_4: @ 8369008
+gFieldEffectPic_Ash_4:: @ 8369008
.incbin "graphics/field_effect_objects/pics/ash/4.4bpp"
.align 2
-gFieldEffectPic_Arrow_0: @ 8369088
+gFieldEffectPic_Arrow_0:: @ 8369088
.incbin "graphics/field_effect_objects/pics/arrow/0.4bpp"
.align 2
-gFieldEffectPic_Arrow_1: @ 8369108
+gFieldEffectPic_Arrow_1:: @ 8369108
.incbin "graphics/field_effect_objects/pics/arrow/1.4bpp"
.align 2
-gFieldEffectPic_Arrow_2: @ 8369188
+gFieldEffectPic_Arrow_2:: @ 8369188
.incbin "graphics/field_effect_objects/pics/arrow/2.4bpp"
.align 2
-gFieldEffectPic_Arrow_3: @ 8369208
+gFieldEffectPic_Arrow_3:: @ 8369208
.incbin "graphics/field_effect_objects/pics/arrow/3.4bpp"
.align 2
-gFieldEffectPic_Arrow_4: @ 8369288
+gFieldEffectPic_Arrow_4:: @ 8369288
.incbin "graphics/field_effect_objects/pics/arrow/4.4bpp"
.align 2
-gFieldEffectPic_Arrow_5: @ 8369308
+gFieldEffectPic_Arrow_5:: @ 8369308
.incbin "graphics/field_effect_objects/pics/arrow/5.4bpp"
.align 2
-gFieldEffectPic_Arrow_6: @ 8369388
+gFieldEffectPic_Arrow_6:: @ 8369388
.incbin "graphics/field_effect_objects/pics/arrow/6.4bpp"
.align 2
-gFieldEffectPic_Arrow_7: @ 8369408
+gFieldEffectPic_Arrow_7:: @ 8369408
.incbin "graphics/field_effect_objects/pics/arrow/7.4bpp"
.align 2
-gFieldEffectObjectPalette0: @ 8369488
+gFieldEffectObjectPalette0:: @ 8369488
.incbin "graphics/field_effect_objects/palettes/00.gbapal"
.align 2
-gFieldEffectObjectPalette1: @ 83694A8
+gFieldEffectObjectPalette1:: @ 83694A8
.incbin "graphics/field_effect_objects/palettes/01.gbapal"
.align 2
-gFieldEffectPic_Dust_0: @ 83694C8
+gFieldEffectPic_Dust_0:: @ 83694C8
.incbin "graphics/field_effect_objects/pics/dust/0.4bpp"
.align 2
-gFieldEffectPic_Dust_1: @ 8369508
+gFieldEffectPic_Dust_1:: @ 8369508
.incbin "graphics/field_effect_objects/pics/dust/1.4bpp"
.align 2
-gFieldEffectPic_Dust_2: @ 8369548
+gFieldEffectPic_Dust_2:: @ 8369548
.incbin "graphics/field_effect_objects/pics/dust/2.4bpp"
.incbin "graphics/field_effect_objects/unknown.bin"
.align 2
-gFieldEffectPic_JumpTallGrass_0: @ 8369648
+gFieldEffectPic_JumpTallGrass_0:: @ 8369648
.incbin "graphics/field_effect_objects/pics/jump_tall_grass/0.4bpp"
.align 2
-gFieldEffectPic_JumpTallGrass_1: @ 8369688
+gFieldEffectPic_JumpTallGrass_1:: @ 8369688
.incbin "graphics/field_effect_objects/pics/jump_tall_grass/1.4bpp"
.align 2
-gFieldEffectPic_JumpTallGrass_2: @ 83696C8
+gFieldEffectPic_JumpTallGrass_2:: @ 83696C8
.incbin "graphics/field_effect_objects/pics/jump_tall_grass/2.4bpp"
.align 2
-gFieldEffectPic_JumpTallGrass_3: @ 8369708
+gFieldEffectPic_JumpTallGrass_3:: @ 8369708
.incbin "graphics/field_effect_objects/pics/jump_tall_grass/3.4bpp"
.incbin "graphics/field_effect_objects/pics/unused_grass/0.4bpp"
@@ -142,415 +142,415 @@ gFieldEffectPic_JumpTallGrass_3: @ 8369708
.incbin "graphics/field_effect_objects/pics/unused_grass/3.4bpp"
.align 2
-gFieldEffectPic_JumpLongGrass_0: @ 8369948
+gFieldEffectPic_JumpLongGrass_0:: @ 8369948
.incbin "graphics/field_effect_objects/pics/jump_long_grass/0.4bpp"
.align 2
-gFieldEffectPic_JumpLongGrass_1: @ 83699C8
+gFieldEffectPic_JumpLongGrass_1:: @ 83699C8
.incbin "graphics/field_effect_objects/pics/jump_long_grass/1.4bpp"
.align 2
-gFieldEffectPic_JumpLongGrass_2: @ 8369A48
+gFieldEffectPic_JumpLongGrass_2:: @ 8369A48
.incbin "graphics/field_effect_objects/pics/jump_long_grass/2.4bpp"
.align 2
-gFieldEffectPic_JumpLongGrass_3: @ 8369AC8
+gFieldEffectPic_JumpLongGrass_3:: @ 8369AC8
.incbin "graphics/field_effect_objects/pics/jump_long_grass/3.4bpp"
.align 2
-gFieldEffectPic_JumpLongGrass_4: @ 8369B48
+gFieldEffectPic_JumpLongGrass_4:: @ 8369B48
.incbin "graphics/field_effect_objects/pics/jump_long_grass/4.4bpp"
.incbin "graphics/field_effect_objects/pics/jump_long_grass/unused.4bpp"
.align 2
-gFieldEffectPic_JumpLongGrass_5: @ 8369C48
+gFieldEffectPic_JumpLongGrass_5:: @ 8369C48
.incbin "graphics/field_effect_objects/pics/jump_long_grass/5.4bpp"
.align 2
-gFieldEffectPic_Unknown17_0: @ 8369CC8
+gFieldEffectPic_Unknown17_0:: @ 8369CC8
.incbin "graphics/field_effect_objects/pics/unknown_17/0.4bpp"
.align 2
-gFieldEffectPic_Unknown17_1: @ 8369D48
+gFieldEffectPic_Unknown17_1:: @ 8369D48
.incbin "graphics/field_effect_objects/pics/unknown_17/1.4bpp"
.align 2
-gFieldEffectPic_Unknown17_2: @ 8369DC8
+gFieldEffectPic_Unknown17_2:: @ 8369DC8
.incbin "graphics/field_effect_objects/pics/unknown_17/2.4bpp"
.align 2
-gFieldEffectPic_Unknown17_3: @ 8369E48
+gFieldEffectPic_Unknown17_3:: @ 8369E48
.incbin "graphics/field_effect_objects/pics/unknown_17/3.4bpp"
.align 2
-gFieldEffectPic_Unknown17_4: @ 8369EC8
+gFieldEffectPic_Unknown17_4:: @ 8369EC8
.incbin "graphics/field_effect_objects/pics/unknown_17/4.4bpp"
.align 2
-gFieldEffectPic_Unknown17_5: @ 8369F48
+gFieldEffectPic_Unknown17_5:: @ 8369F48
.incbin "graphics/field_effect_objects/pics/unknown_17/5.4bpp"
.align 2
-gFieldEffectPic_Unknown17_6: @ 8369FC8
+gFieldEffectPic_Unknown17_6:: @ 8369FC8
.incbin "graphics/field_effect_objects/pics/unknown_17/6.4bpp"
.align 2
-gFieldEffectPic_Unknown17_7: @ 836A048
+gFieldEffectPic_Unknown17_7:: @ 836A048
.incbin "graphics/field_effect_objects/pics/unknown_17/7.4bpp"
.align 2
-gFieldEffectPic_Unknown18_0: @ 836A0C8
+gFieldEffectPic_Unknown18_0:: @ 836A0C8
.incbin "graphics/field_effect_objects/pics/unknown_18/0.4bpp"
.align 2
-gFieldEffectPic_Unknown18_1: @ 836A148
+gFieldEffectPic_Unknown18_1:: @ 836A148
.incbin "graphics/field_effect_objects/pics/unknown_18/1.4bpp"
.align 2
-gFieldEffectPic_Unknown18_2: @ 836A1C8
+gFieldEffectPic_Unknown18_2:: @ 836A1C8
.incbin "graphics/field_effect_objects/pics/unknown_18/2.4bpp"
.align 2
-gFieldEffectPic_Unknown18_3: @ 836A248
+gFieldEffectPic_Unknown18_3:: @ 836A248
.incbin "graphics/field_effect_objects/pics/unknown_18/3.4bpp"
.align 2
-gFieldEffectPic_LongGrass_0: @ 836A2C8
+gFieldEffectPic_LongGrass_0:: @ 836A2C8
.incbin "graphics/field_effect_objects/pics/long_grass/0.4bpp"
.align 2
-gFieldEffectPic_LongGrass_1: @ 836A348
+gFieldEffectPic_LongGrass_1:: @ 836A348
.incbin "graphics/field_effect_objects/pics/long_grass/1.4bpp"
.align 2
-gFieldEffectPic_LongGrass_2: @ 836A3C8
+gFieldEffectPic_LongGrass_2:: @ 836A3C8
.incbin "graphics/field_effect_objects/pics/long_grass/2.4bpp"
.align 2
-gFieldEffectPic_LongGrass_3: @ 836A448
+gFieldEffectPic_LongGrass_3:: @ 836A448
.incbin "graphics/field_effect_objects/pics/long_grass/3.4bpp"
.align 2
-gFieldEffectPic_TallGrass_0: @ 836A4C8
+gFieldEffectPic_TallGrass_0:: @ 836A4C8
.incbin "graphics/field_effect_objects/pics/tall_grass/0.4bpp"
.align 2
-gFieldEffectPic_TallGrass_1: @ 836A548
+gFieldEffectPic_TallGrass_1:: @ 836A548
.incbin "graphics/field_effect_objects/pics/tall_grass/1.4bpp"
.align 2
-gFieldEffectPic_TallGrass_2: @ 836A5C8
+gFieldEffectPic_TallGrass_2:: @ 836A5C8
.incbin "graphics/field_effect_objects/pics/tall_grass/2.4bpp"
.align 2
-gFieldEffectPic_TallGrass_3: @ 836A648
+gFieldEffectPic_TallGrass_3:: @ 836A648
.incbin "graphics/field_effect_objects/pics/tall_grass/3.4bpp"
.align 2
-gFieldEffectPic_TallGrass_4: @ 836A6C8
+gFieldEffectPic_TallGrass_4:: @ 836A6C8
.incbin "graphics/field_effect_objects/pics/tall_grass/4.4bpp"
.align 2
-gFieldEffectPic_ShortGrass_0: @ 836A748
+gFieldEffectPic_ShortGrass_0:: @ 836A748
.incbin "graphics/field_effect_objects/pics/short_grass/0.4bpp"
.align 2
-gFieldEffectPic_ShortGrass_1: @ 836A7C8
+gFieldEffectPic_ShortGrass_1:: @ 836A7C8
.incbin "graphics/field_effect_objects/pics/short_grass/1.4bpp"
.align 2
-gFieldEffectPic_SandFootprints_0: @ 836A848
+gFieldEffectPic_SandFootprints_0:: @ 836A848
.incbin "graphics/field_effect_objects/pics/sand_footprints/0.4bpp"
.align 2
-gFieldEffectPic_SandFootprints_1: @ 836A8C8
+gFieldEffectPic_SandFootprints_1:: @ 836A8C8
.incbin "graphics/field_effect_objects/pics/sand_footprints/1.4bpp"
.align 2
-gFieldEffectPic_DeepSandFootprints_0: @ 836A948
+gFieldEffectPic_DeepSandFootprints_0:: @ 836A948
.incbin "graphics/field_effect_objects/pics/deep_sand_footprints/0.4bpp"
.align 2
-gFieldEffectPic_DeepSandFootprints_1: @ 836A9C8
+gFieldEffectPic_DeepSandFootprints_1:: @ 836A9C8
.incbin "graphics/field_effect_objects/pics/deep_sand_footprints/1.4bpp"
.align 2
-gFieldEffectPic_BikeTireTracks_0: @ 836AA48
+gFieldEffectPic_BikeTireTracks_0:: @ 836AA48
.incbin "graphics/field_effect_objects/pics/bike_tire_tracks/0.4bpp"
.align 2
-gFieldEffectPic_BikeTireTracks_1: @ 836AAC8
+gFieldEffectPic_BikeTireTracks_1:: @ 836AAC8
.incbin "graphics/field_effect_objects/pics/bike_tire_tracks/1.4bpp"
.align 2
-gFieldEffectPic_BikeTireTracks_2: @ 836AB48
+gFieldEffectPic_BikeTireTracks_2:: @ 836AB48
.incbin "graphics/field_effect_objects/pics/bike_tire_tracks/2.4bpp"
.align 2
-gFieldEffectPic_BikeTireTracks_3: @ 836ABC8
+gFieldEffectPic_BikeTireTracks_3:: @ 836ABC8
.incbin "graphics/field_effect_objects/pics/bike_tire_tracks/3.4bpp"
.align 2
-gFieldEffectPic_Unknown19_0: @ 836AC48
+gFieldEffectPic_Unknown19_0:: @ 836AC48
.incbin "graphics/field_effect_objects/pics/unknown_19/0.4bpp"
.align 2
-gFieldEffectPic_Unknown19_1: @ 836ACC8
+gFieldEffectPic_Unknown19_1:: @ 836ACC8
.incbin "graphics/field_effect_objects/pics/unknown_19/1.4bpp"
.align 2
-gFieldEffectPic_Unknown19_2: @ 836AD48
+gFieldEffectPic_Unknown19_2:: @ 836AD48
.incbin "graphics/field_effect_objects/pics/unknown_19/2.4bpp"
.align 2
-gFieldEffectPic_Unknown19_3: @ 836ADC8
+gFieldEffectPic_Unknown19_3:: @ 836ADC8
.incbin "graphics/field_effect_objects/pics/unknown_19/3.4bpp"
.align 2
-gFieldEffectPic_SandPile_0: @ 836AE48
+gFieldEffectPic_SandPile_0:: @ 836AE48
.incbin "graphics/field_effect_objects/pics/sand_pile/0.4bpp"
.align 2
-gFieldEffectPic_SandPile_1: @ 836AE88
+gFieldEffectPic_SandPile_1:: @ 836AE88
.incbin "graphics/field_effect_objects/pics/sand_pile/1.4bpp"
.align 2
-gFieldEffectPic_SandPile_2: @ 836AEC8
+gFieldEffectPic_SandPile_2:: @ 836AEC8
.incbin "graphics/field_effect_objects/pics/sand_pile/2.4bpp"
.align 2
-gFieldEffectPic_JumpBigSplash_0: @ 836AF08
+gFieldEffectPic_JumpBigSplash_0:: @ 836AF08
.incbin "graphics/field_effect_objects/pics/jump_big_splash/0.4bpp"
.align 2
-gFieldEffectPic_JumpBigSplash_1: @ 836AF88
+gFieldEffectPic_JumpBigSplash_1:: @ 836AF88
.incbin "graphics/field_effect_objects/pics/jump_big_splash/1.4bpp"
.align 2
-gFieldEffectPic_JumpBigSplash_2: @ 836B008
+gFieldEffectPic_JumpBigSplash_2:: @ 836B008
.incbin "graphics/field_effect_objects/pics/jump_big_splash/2.4bpp"
.align 2
-gFieldEffectPic_JumpBigSplash_3: @ 836B088
+gFieldEffectPic_JumpBigSplash_3:: @ 836B088
.incbin "graphics/field_effect_objects/pics/jump_big_splash/3.4bpp"
.align 2
-gFieldEffectPic_Splash_0: @ 836B108
+gFieldEffectPic_Splash_0:: @ 836B108
.incbin "graphics/field_effect_objects/pics/splash/0.4bpp"
.align 2
-gFieldEffectPic_Splash_1: @ 836B148
+gFieldEffectPic_Splash_1:: @ 836B148
.incbin "graphics/field_effect_objects/pics/splash/1.4bpp"
.align 2
-gFieldEffectPic_JumpSmallSplash_0: @ 836B188
+gFieldEffectPic_JumpSmallSplash_0:: @ 836B188
.incbin "graphics/field_effect_objects/pics/jump_small_splash/0.4bpp"
.align 2
-gFieldEffectPic_JumpSmallSplash_1: @ 836B1C8
+gFieldEffectPic_JumpSmallSplash_1:: @ 836B1C8
.incbin "graphics/field_effect_objects/pics/jump_small_splash/1.4bpp"
.align 2
-gFieldEffectPic_JumpSmallSplash_2: @ 836B208
+gFieldEffectPic_JumpSmallSplash_2:: @ 836B208
.incbin "graphics/field_effect_objects/pics/jump_small_splash/2.4bpp"
.align 2
-gFieldEffectPic_Unknown20_0: @ 836B248
+gFieldEffectPic_Unknown20_0:: @ 836B248
.incbin "graphics/field_effect_objects/pics/unknown_20/0.4bpp"
.align 2
-gFieldEffectPic_Unknown20_1: @ 836B2C8
+gFieldEffectPic_Unknown20_1:: @ 836B2C8
.incbin "graphics/field_effect_objects/pics/unknown_20/1.4bpp"
.align 2
-gFieldEffectPic_Unknown20_2: @ 836B348
+gFieldEffectPic_Unknown20_2:: @ 836B348
.incbin "graphics/field_effect_objects/pics/unknown_20/2.4bpp"
.align 2
-gFieldEffectPic_Unknown20_3: @ 836B3C8
+gFieldEffectPic_Unknown20_3:: @ 836B3C8
.incbin "graphics/field_effect_objects/pics/unknown_20/3.4bpp"
.align 2
-gFieldEffectPic_Unknown20_4: @ 836B448
+gFieldEffectPic_Unknown20_4:: @ 836B448
.incbin "graphics/field_effect_objects/pics/unknown_20/4.4bpp"
.align 2
-gFieldEffectPic_TreeDisguise_0: @ 836B4C8
+gFieldEffectPic_TreeDisguise_0:: @ 836B4C8
.incbin "graphics/field_effect_objects/pics/tree_disguise/0.4bpp"
.align 2
-gFieldEffectPic_TreeDisguise_1: @ 836B5C8
+gFieldEffectPic_TreeDisguise_1:: @ 836B5C8
.incbin "graphics/field_effect_objects/pics/tree_disguise/1.4bpp"
.align 2
-gFieldEffectPic_TreeDisguise_2: @ 836B6C8
+gFieldEffectPic_TreeDisguise_2:: @ 836B6C8
.incbin "graphics/field_effect_objects/pics/tree_disguise/2.4bpp"
.align 2
-gFieldEffectPic_TreeDisguise_3: @ 836B7C8
+gFieldEffectPic_TreeDisguise_3:: @ 836B7C8
.incbin "graphics/field_effect_objects/pics/tree_disguise/3.4bpp"
.align 2
-gFieldEffectPic_TreeDisguise_4: @ 836B8C8
+gFieldEffectPic_TreeDisguise_4:: @ 836B8C8
.incbin "graphics/field_effect_objects/pics/tree_disguise/4.4bpp"
.align 2
-gFieldEffectPic_TreeDisguise_5: @ 836B9C8
+gFieldEffectPic_TreeDisguise_5:: @ 836B9C8
.incbin "graphics/field_effect_objects/pics/tree_disguise/5.4bpp"
.align 2
-gFieldEffectPic_TreeDisguise_6: @ 836BAC8
+gFieldEffectPic_TreeDisguise_6:: @ 836BAC8
.incbin "graphics/field_effect_objects/pics/tree_disguise/6.4bpp"
.align 2
-gFieldEffectPic_MountainDisguise_0: @ 836BBC8
+gFieldEffectPic_MountainDisguise_0:: @ 836BBC8
.incbin "graphics/field_effect_objects/pics/mountain_disguise/0.4bpp"
.align 2
-gFieldEffectPic_MountainDisguise_1: @ 836BCC8
+gFieldEffectPic_MountainDisguise_1:: @ 836BCC8
.incbin "graphics/field_effect_objects/pics/mountain_disguise/1.4bpp"
.align 2
-gFieldEffectPic_MountainDisguise_2: @ 836BDC8
+gFieldEffectPic_MountainDisguise_2:: @ 836BDC8
.incbin "graphics/field_effect_objects/pics/mountain_disguise/2.4bpp"
.align 2
-gFieldEffectPic_MountainDisguise_3: @ 836BEC8
+gFieldEffectPic_MountainDisguise_3:: @ 836BEC8
.incbin "graphics/field_effect_objects/pics/mountain_disguise/3.4bpp"
.align 2
-gFieldEffectPic_MountainDisguise_4: @ 836BFC8
+gFieldEffectPic_MountainDisguise_4:: @ 836BFC8
.incbin "graphics/field_effect_objects/pics/mountain_disguise/4.4bpp"
.align 2
-gFieldEffectPic_MountainDisguise_5: @ 836C0C8
+gFieldEffectPic_MountainDisguise_5:: @ 836C0C8
.incbin "graphics/field_effect_objects/pics/mountain_disguise/5.4bpp"
.align 2
-gFieldEffectPic_MountainDisguise_6: @ 836C1C8
+gFieldEffectPic_MountainDisguise_6:: @ 836C1C8
.incbin "graphics/field_effect_objects/pics/mountain_disguise/6.4bpp"
.align 2
-gFieldEffectPic_SandDisguise_0: @ 836C2C8
+gFieldEffectPic_SandDisguise_0:: @ 836C2C8
.incbin "graphics/field_effect_objects/pics/sand_disguise/0.4bpp"
.align 2
-gFieldEffectPic_SandDisguise_1: @ 836C3C8
+gFieldEffectPic_SandDisguise_1:: @ 836C3C8
.incbin "graphics/field_effect_objects/pics/sand_disguise/1.4bpp"
.align 2
-gFieldEffectPic_SandDisguise_2: @ 836C4C8
+gFieldEffectPic_SandDisguise_2:: @ 836C4C8
.incbin "graphics/field_effect_objects/pics/sand_disguise/2.4bpp"
.align 2
-gFieldEffectPic_SandDisguise_3: @ 836C5C8
+gFieldEffectPic_SandDisguise_3:: @ 836C5C8
.incbin "graphics/field_effect_objects/pics/sand_disguise/3.4bpp"
.align 2
-gFieldEffectPic_SandDisguise_4: @ 836C6C8
+gFieldEffectPic_SandDisguise_4:: @ 836C6C8
.incbin "graphics/field_effect_objects/pics/sand_disguise/4.4bpp"
.align 2
-gFieldEffectPic_SandDisguise_5: @ 836C7C8
+gFieldEffectPic_SandDisguise_5:: @ 836C7C8
.incbin "graphics/field_effect_objects/pics/sand_disguise/5.4bpp"
.align 2
-gFieldEffectPic_SandDisguise_6: @ 836C8C8
+gFieldEffectPic_SandDisguise_6:: @ 836C8C8
.incbin "graphics/field_effect_objects/pics/sand_disguise/6.4bpp"
.align 2
-gFieldEffectPic_HotSpringsWater: @ 836C9C8
+gFieldEffectPic_HotSpringsWater:: @ 836C9C8
.incbin "graphics/field_effect_objects/pics/hot_springs_water.4bpp"
.align 2
-gFieldEffectObjectPalette2: @ 836CA48
+gFieldEffectObjectPalette2:: @ 836CA48
.incbin "graphics/field_effect_objects/palettes/02.gbapal"
.align 2
-gFieldEffectPic_PopOutOfAsh_0: @ 836CA68
+gFieldEffectPic_PopOutOfAsh_0:: @ 836CA68
.incbin "graphics/field_effect_objects/pics/pop_out_of_ash/0.4bpp"
.align 2
-gFieldEffectPic_PopOutOfAsh_1: @ 836CAE8
+gFieldEffectPic_PopOutOfAsh_1:: @ 836CAE8
.incbin "graphics/field_effect_objects/pics/pop_out_of_ash/1.4bpp"
.align 2
-gFieldEffectPic_PopOutOfAsh_2: @ 836CB68
+gFieldEffectPic_PopOutOfAsh_2:: @ 836CB68
.incbin "graphics/field_effect_objects/pics/pop_out_of_ash/2.4bpp"
.align 2
-gFieldEffectPic_PopOutOfAsh_3: @ 836CBE8
+gFieldEffectPic_PopOutOfAsh_3:: @ 836CBE8
.incbin "graphics/field_effect_objects/pics/pop_out_of_ash/3.4bpp"
.align 2
-gFieldEffectPic_PopOutOfAsh_4: @ 836CC68
+gFieldEffectPic_PopOutOfAsh_4:: @ 836CC68
.incbin "graphics/field_effect_objects/pics/pop_out_of_ash/4.4bpp"
.align 2
-gFieldEffectPic_LavaridgeGymWarp_0: @ 836CCE8
+gFieldEffectPic_LavaridgeGymWarp_0:: @ 836CCE8
.incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/0.4bpp"
.align 2
-gFieldEffectPic_LavaridgeGymWarp_1: @ 836CD68
+gFieldEffectPic_LavaridgeGymWarp_1:: @ 836CD68
.incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/1.4bpp"
.align 2
-gFieldEffectPic_LavaridgeGymWarp_2: @ 836CDE8
+gFieldEffectPic_LavaridgeGymWarp_2:: @ 836CDE8
.incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/2.4bpp"
.align 2
-gFieldEffectPic_LavaridgeGymWarp_3: @ 836CE68
+gFieldEffectPic_LavaridgeGymWarp_3:: @ 836CE68
.incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/3.4bpp"
.align 2
-gFieldEffectPic_LavaridgeGymWarp_4: @ 836CEE8
+gFieldEffectPic_LavaridgeGymWarp_4:: @ 836CEE8
.incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/4.4bpp"
.align 2
-gFieldEffectPic_Bubbles_0: @ 836CF68
+gFieldEffectPic_Bubbles_0:: @ 836CF68
.incbin "graphics/field_effect_objects/pics/bubbles/0.4bpp"
.align 2
-gFieldEffectPic_Bubbles_1: @ 836D068
+gFieldEffectPic_Bubbles_1:: @ 836D068
.incbin "graphics/field_effect_objects/pics/bubbles/1.4bpp"
.align 2
-gFieldEffectPic_Bubbles_2: @ 836D168
+gFieldEffectPic_Bubbles_2:: @ 836D168
.incbin "graphics/field_effect_objects/pics/bubbles/2.4bpp"
.align 2
-gFieldEffectPic_Bubbles_3: @ 836D268
+gFieldEffectPic_Bubbles_3:: @ 836D268
.incbin "graphics/field_effect_objects/pics/bubbles/3.4bpp"
.align 2
-gFieldEffectPic_Bubbles_4: @ 836D368
+gFieldEffectPic_Bubbles_4:: @ 836D368
.incbin "graphics/field_effect_objects/pics/bubbles/4.4bpp"
.align 2
-gFieldEffectPic_Bubbles_5: @ 836D468
+gFieldEffectPic_Bubbles_5:: @ 836D468
.incbin "graphics/field_effect_objects/pics/bubbles/5.4bpp"
.align 2
-gFieldEffectPic_Bubbles_6: @ 836D568
+gFieldEffectPic_Bubbles_6:: @ 836D568
.incbin "graphics/field_effect_objects/pics/bubbles/6.4bpp"
.align 2
-gFieldEffectPic_Bubbles_7: @ 836D668
+gFieldEffectPic_Bubbles_7:: @ 836D668
.incbin "graphics/field_effect_objects/pics/bubbles/7.4bpp"
.align 2
-gFieldEffectPic_Sparkle_0: @ 836D768
+gFieldEffectPic_Sparkle_0:: @ 836D768
.incbin "graphics/field_effect_objects/pics/sparkle/0.4bpp"
.align 2
-gFieldEffectPic_Sparkle_1: @ 836D7E8
+gFieldEffectPic_Sparkle_1:: @ 836D7E8
.incbin "graphics/field_effect_objects/pics/sparkle/1.4bpp"
.align 2
-gFieldEffectObjectPalette3: @ 836D868
+gFieldEffectObjectPalette3:: @ 836D868
.incbin "graphics/field_effect_objects/palettes/03.gbapal"
.align 2
-gFieldEffectPic_Bird: @ 836D888
+gFieldEffectPic_Bird:: @ 836D888
.incbin "graphics/field_effect_objects/pics/bird.4bpp"
diff --git a/data/maps.s b/data/maps.s
new file mode 100644
index 000000000..a8074c02a
--- /dev/null
+++ b/data/maps.s
@@ -0,0 +1,10 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .include "data/maps/_assets.inc"
+ .include "data/maps/attributes_table.inc"
+ .include "data/maps/headers.inc"
+ .include "data/maps/_groups.inc"
+ .include "data/maps/connections.inc"
diff --git a/data/metatile_behavior.s b/data/metatile_behavior.s
new file mode 100644
index 000000000..6588828d0
--- /dev/null
+++ b/data/metatile_behavior.s
@@ -0,0 +1,246 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+gUnknown_08308E2C:: @ 8308E2C
+ .byte 0b100
+ .byte 0b000
+ .byte 0b101
+ .byte 0b101
+ .byte 0b000
+ .byte 0b001
+ .byte 0b101
+ .byte 0b100
+ .byte 0b101
+ .byte 0b100
+ .byte 0b100
+ .byte 0b101
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b111
+ .byte 0b111
+ .byte 0b111
+ .byte 0b110
+ .byte 0b110
+ .byte 0b111
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b110
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b111
+ .byte 0b100
+ .byte 0b101
+ .byte 0b101
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b111
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b110
+ .byte 0b110
+ .byte 0b110
+ .byte 0b110
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b110
+ .byte 0b110
+ .byte 0b100
+ .byte 0b110
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b100
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
+ .byte 0b000
diff --git a/data/pokeball.s b/data/pokeball.s
new file mode 100644
index 000000000..788f8bdb7
--- /dev/null
+++ b/data/pokeball.s
@@ -0,0 +1,137 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_0820A92C:: @ 820A92C
+ obj_tiles gInterfaceGfx_PokeBall, 384, 0xd6d8 @ poke
+ obj_tiles gInterfaceGfx_GreatBall, 384, 0xd6d9 @ great
+ obj_tiles gInterfaceGfx_SafariBall, 384, 0xd6da @ safari
+ obj_tiles gInterfaceGfx_UltraBall, 384, 0xd6db @ ultra
+ obj_tiles gInterfaceGfx_MasterBall, 384, 0xd6dc @ master
+ obj_tiles gInterfaceGfx_NetBall, 384, 0xd6dd @ net
+ obj_tiles gInterfaceGfx_DiveBall, 384, 0xd6de @ dive
+ obj_tiles gInterfaceGfx_NestBall, 384, 0xd6df @ nest
+ obj_tiles gInterfaceGfx_RepeatBall, 384, 0xd6e0 @ repeat
+ obj_tiles gInterfaceGfx_TimerBall, 384, 0xd6e1 @ timer
+ obj_tiles gInterfaceGfx_LuxuryBall, 384, 0xd6e2 @ luxury
+ obj_tiles gInterfaceGfx_PremierBall, 384, 0xd6e3 @ premier
+
+ .align 2
+gUnknown_0820A98C:: @ 820A98C
+ obj_pal gInterfacePal_PokeBall, 0xD6D8 @ poke
+ obj_pal gInterfacePal_GreatBall, 0xD6D9 @ great
+ obj_pal gInterfacePal_SafariBall, 0xD6DA @ safari
+ obj_pal gInterfacePal_UltraBall, 0xD6DB @ ultra
+ obj_pal gInterfacePal_MasterBall, 0xD6DC @ master
+ obj_pal gInterfacePal_NetBall, 0xD6DD @ net
+ obj_pal gInterfacePal_DiveBall, 0xD6DE @ dive
+ obj_pal gInterfacePal_NestBall, 0xD6DF @ nest
+ obj_pal gInterfacePal_RepeatBall, 0xD6E0 @ repeat
+ obj_pal gInterfacePal_TimerBall, 0xD6E1 @ timer
+ obj_pal gInterfacePal_LuxuryBall, 0xD6E2 @ luxury
+ obj_pal gInterfacePal_PremierBall, 0xD6E3 @ premier
+
+ .align 2
+gOamData_820A9EC:: @ 820A9EC
+ .2byte 0x0300
+ .2byte 0x4000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_820A9F4: @ 820A9F4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_820A9FC: @ 820A9FC
+ obj_image_anim_frame 4, 1
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_820AA04: @ 820AA04
+ obj_image_anim_frame 8, 5
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_820AA0C: @ 820AA0C
+ obj_image_anim_frame 12, 1
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_820AA14:: @ 820AA14
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820AA1C:: @ 820AA1C
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820AA28:: @ 820AA28
+ obj_image_anim_frame 4, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_820AA34:: @ 820AA34
+ .4byte gSpriteAnim_820AA14
+ .4byte gSpriteAnim_820AA1C
+ .4byte gSpriteAnim_820AA28
+
+ @ unused?
+ .4byte gSpriteAnim_820A9F4
+ .4byte gSpriteAnim_820AA04
+ .4byte gSpriteAnim_820A9FC
+ .4byte gSpriteAnim_820AA0C
+
+ .align 2
+gSpriteAffineAnim_820AA50:: @ 820AA50
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_820AA60:: @ 820AA60
+ obj_rot_scal_anim_frame 0x0, 0x0, -3, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_820AA70:: @ 820AA70
+ obj_rot_scal_anim_frame 0x0, 0x0, 3, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnim_820AA80:: @ 820AA80
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_820AA90:: @ 820AA90
+ obj_rot_scal_anim_frame 0x0, 0x0, 25, 1
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_820AAA0:: @ 820AAA0
+ .4byte gSpriteAffineAnim_820AA50
+ .4byte gSpriteAffineAnim_820AA60
+ .4byte gSpriteAffineAnim_820AA70
+ .4byte gSpriteAffineAnim_820AA80
+ .4byte gSpriteAffineAnim_820AA90
+
+ .align 2
+gSpriteTemplate_820AAB4:: @ 820AAB4
+ spr_template 55000, 55000, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55001, 55001, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55002, 55002, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55003, 55003, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55004, 55004, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55005, 55005, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55006, 55006, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55007, 55007, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55008, 55008, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55009, 55009, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55010, 55010, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
+ spr_template 55011, 55011, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4
diff --git a/data/rom4.s b/data/rom4.s
new file mode 100644
index 000000000..6f883c64c
--- /dev/null
+++ b/data/rom4.s
@@ -0,0 +1,66 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gDummyWarpData:: @ 8216624
+ .byte -1
+ .byte -1
+ .byte -1
+ .space 1
+ .2byte -1
+ .2byte -1
+
+@ unused, unknown data
+ .byte 0xB0, 0x04, 0x00, 0x00
+ .byte 0x10, 0x0E, 0x00, 0x00
+ .byte 0xB0, 0x04, 0x00, 0x00
+ .byte 0x60, 0x09, 0x00, 0x00
+ .byte 0x32, 0x00, 0x00, 0x00
+ .byte 0x50, 0x00, 0x00, 0x00
+ .byte 0xD4, 0xFF, 0xFF, 0xFF
+ .byte 0x2C, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_0821664C:: @ 821664C
+ .4byte 0, 0
+ .4byte 0, 1
+ .4byte 0, -1
+ .4byte -1, 0
+ .4byte 1, 0
+ .4byte -1, 1
+ .4byte 1, 1
+ .4byte -1, -1
+ .4byte 1, -1
+
+ .align 2
+gUnknown_08216694:: @ 8216694
+ .4byte REG_WIN0H
+ .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
+ .4byte 1
+
+ .align 2
+gUnknown_082166A0:: @ 82166A0
+ .4byte sub_8055C68
+ .4byte sub_8055C88
+ .4byte sub_8055C8C
+
+ .align 2
+gUnknown_082166AC:: @ 82166AC
+ .4byte sub_8055CAC
+ .4byte sub_8055CB0
+ .4byte sub_8055CB0
+ .4byte sub_8055CB0
+ .4byte sub_8055CB0
+ .4byte sub_8055CAC
+ .4byte sub_8055CAC
+ .4byte sub_8055D18
+ .4byte sub_8055D18
+ .4byte sub_8055D18
+ .4byte sub_8055D18
+
+ .align 2
+gUnknown_082166D8:: @ 82166D8
+ .4byte sub_8055D30
+ .4byte sub_8055D38
diff --git a/data/specials.inc b/data/specials.inc
index 852372ce0..f365962db 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -39,8 +39,8 @@ gSpecials::
.4byte sub_8083614
.4byte GetLinkPartnerNames
.4byte sub_810DB28
- .4byte sub_8047A40
- .4byte copy_player_party_from_sav1
+ .4byte SavePlayerParty
+ .4byte LoadPlayerParty
.4byte sub_80C5568
.4byte sub_8083BDC
.4byte FieldObjectInteractionGetBerryTreeData
@@ -262,7 +262,7 @@ gSpecials::
.4byte ShowBerryBlenderRecordWindow
.4byte ResetTrickHouseEndRoomFlag
.4byte SetTrickHouseEndRoomFlag
- .4byte sp109_CreatePCMenu
+ .4byte TryCreatePCMenu
.4byte AccessHallOfFamePC
.4byte sub_810D6A4
.4byte CheckLeadMonCool
@@ -331,7 +331,7 @@ gSpecials::
.4byte sub_80FA148
.4byte sub_810F8FC
.4byte sub_80BC50C
- .4byte copy_bags_and_unk_data_from_save_blocks
+ .4byte LoadPlayerData
.4byte sub_8081924
.4byte sub_810F950
.4byte sub_810F908
diff --git a/data/text/battle_strings.inc b/data/text/battle_strings.inc
index b4542b1b9..07628795d 100644
--- a/data/text/battle_strings.inc
+++ b/data/text/battle_strings.inc
@@ -1113,19 +1113,20 @@ BattleText_SafariBallsLeft:
gUnknown_08400DF0:: @ 8400DF0
BattleText_HighlightRed:
.string "{HIGHLIGHT RED}$"
-BattleText_Sleep:
+
+BattleText_Sleep::
.string "sleep$"
-BattleText_PoisonStatus:
+BattleText_PoisonStatus::
.string "poison$"
-BattleText_Burn:
+BattleText_Burn::
.string "burn$"
-BattleText_Paralysis:
+BattleText_Paralysis::
.string "paralysis$"
-BattleText_IceStatus:
+BattleText_IceStatus::
.string "ice$"
-BattleText_Confusion:
+BattleText_Confusion::
.string "confusion$"
-BattleText_Love:
+BattleText_Love::
.string "love$"
gUnknown_08400E23:: @ 8400E23
diff --git a/data/tilesets.s b/data/tilesets.s
new file mode 100644
index 000000000..443686234
--- /dev/null
+++ b/data/tilesets.s
@@ -0,0 +1,8 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .include "data/tilesets/graphics.inc"
+ .include "data/tilesets/metatiles.inc"
+ .include "data/tilesets/headers.inc"
diff --git a/data/tilesets/graphics.inc b/data/tilesets/graphics.inc
index 17f59459b..eb9d02c5e 100644
--- a/data/tilesets/graphics.inc
+++ b/data/tilesets/graphics.inc
@@ -1,11 +1,11 @@
.align 2
-gTilesetTiles_Petalburg: @ 82166E0
+gTilesetTiles_Petalburg:: @ 82166E0
.incbin "data/tilesets/secondary/petalburg/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Petalburg: @ 8216ED4
+gTilesetPalettes_Petalburg:: @ 8216ED4
.incbin "data/tilesets/secondary/petalburg/palettes/00.gbapal"
.incbin "data/tilesets/secondary/petalburg/palettes/01.gbapal"
.incbin "data/tilesets/secondary/petalburg/palettes/02.gbapal"
@@ -25,12 +25,12 @@ gTilesetPalettes_Petalburg: @ 8216ED4
.align 2
-gTilesetTiles_Rustboro: @ 82170D4
+gTilesetTiles_Rustboro:: @ 82170D4
.incbin "data/tilesets/secondary/rustboro/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Rustboro: @ 8218484
+gTilesetPalettes_Rustboro:: @ 8218484
.incbin "data/tilesets/secondary/rustboro/palettes/00.gbapal"
.incbin "data/tilesets/secondary/rustboro/palettes/01.gbapal"
.incbin "data/tilesets/secondary/rustboro/palettes/02.gbapal"
@@ -50,12 +50,12 @@ gTilesetPalettes_Rustboro: @ 8218484
.align 2
-gTilesetTiles_Dewford: @ 8218684
+gTilesetTiles_Dewford:: @ 8218684
.incbin "data/tilesets/secondary/dewford/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Dewford: @ 8219120
+gTilesetPalettes_Dewford:: @ 8219120
.incbin "data/tilesets/secondary/dewford/palettes/00.gbapal"
.incbin "data/tilesets/secondary/dewford/palettes/01.gbapal"
.incbin "data/tilesets/secondary/dewford/palettes/02.gbapal"
@@ -75,12 +75,12 @@ gTilesetPalettes_Dewford: @ 8219120
.align 2
-gTilesetTiles_Slateport: @ 8219320
+gTilesetTiles_Slateport:: @ 8219320
.incbin "data/tilesets/secondary/slateport/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Slateport: @ 821AB54
+gTilesetPalettes_Slateport:: @ 821AB54
.incbin "data/tilesets/secondary/slateport/palettes/00.gbapal"
.incbin "data/tilesets/secondary/slateport/palettes/01.gbapal"
.incbin "data/tilesets/secondary/slateport/palettes/02.gbapal"
@@ -100,12 +100,12 @@ gTilesetPalettes_Slateport: @ 821AB54
.align 2
-gTilesetTiles_Mauville: @ 821AD54
+gTilesetTiles_Mauville:: @ 821AD54
.incbin "data/tilesets/secondary/mauville/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Mauville: @ 821C12C
+gTilesetPalettes_Mauville:: @ 821C12C
.incbin "data/tilesets/secondary/mauville/palettes/00.gbapal"
.incbin "data/tilesets/secondary/mauville/palettes/01.gbapal"
.incbin "data/tilesets/secondary/mauville/palettes/02.gbapal"
@@ -125,12 +125,12 @@ gTilesetPalettes_Mauville: @ 821C12C
.align 2
-gTilesetTiles_Lavaridge: @ 821C32C
+gTilesetTiles_Lavaridge:: @ 821C32C
.incbin "data/tilesets/secondary/lavaridge/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Lavaridge: @ 821D190
+gTilesetPalettes_Lavaridge:: @ 821D190
.incbin "data/tilesets/secondary/lavaridge/palettes/00.gbapal"
.incbin "data/tilesets/secondary/lavaridge/palettes/01.gbapal"
.incbin "data/tilesets/secondary/lavaridge/palettes/02.gbapal"
@@ -150,12 +150,12 @@ gTilesetPalettes_Lavaridge: @ 821D190
.align 2
-gTilesetTiles_Fallarbor: @ 821D390
+gTilesetTiles_Fallarbor:: @ 821D390
.incbin "data/tilesets/secondary/fallarbor/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Fallarbor: @ 821E630
+gTilesetPalettes_Fallarbor:: @ 821E630
.incbin "data/tilesets/secondary/fallarbor/palettes/00.gbapal"
.incbin "data/tilesets/secondary/fallarbor/palettes/01.gbapal"
.incbin "data/tilesets/secondary/fallarbor/palettes/02.gbapal"
@@ -175,12 +175,12 @@ gTilesetPalettes_Fallarbor: @ 821E630
.align 2
-gTilesetTiles_Fortree: @ 821E830
+gTilesetTiles_Fortree:: @ 821E830
.incbin "data/tilesets/secondary/fortree/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Fortree: @ 821FB9C
+gTilesetPalettes_Fortree:: @ 821FB9C
.incbin "data/tilesets/secondary/fortree/palettes/00.gbapal"
.incbin "data/tilesets/secondary/fortree/palettes/01.gbapal"
.incbin "data/tilesets/secondary/fortree/palettes/02.gbapal"
@@ -200,12 +200,12 @@ gTilesetPalettes_Fortree: @ 821FB9C
.align 2
-gTilesetTiles_Lilycove: @ 821FD9C
+gTilesetTiles_Lilycove:: @ 821FD9C
.incbin "data/tilesets/secondary/lilycove/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Lilycove: @ 82210B4
+gTilesetPalettes_Lilycove:: @ 82210B4
.incbin "data/tilesets/secondary/lilycove/palettes/00.gbapal"
.incbin "data/tilesets/secondary/lilycove/palettes/01.gbapal"
.incbin "data/tilesets/secondary/lilycove/palettes/02.gbapal"
@@ -225,12 +225,12 @@ gTilesetPalettes_Lilycove: @ 82210B4
.align 2
-gTilesetTiles_Mossdeep: @ 82212B4
+gTilesetTiles_Mossdeep:: @ 82212B4
.incbin "data/tilesets/secondary/mossdeep/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Mossdeep: @ 82222BC
+gTilesetPalettes_Mossdeep:: @ 82222BC
.incbin "data/tilesets/secondary/mossdeep/palettes/00.gbapal"
.incbin "data/tilesets/secondary/mossdeep/palettes/01.gbapal"
.incbin "data/tilesets/secondary/mossdeep/palettes/02.gbapal"
@@ -250,12 +250,12 @@ gTilesetPalettes_Mossdeep: @ 82222BC
.align 2
-gTilesetTiles_EverGrande: @ 82224BC
+gTilesetTiles_EverGrande:: @ 82224BC
.incbin "data/tilesets/secondary/ever_grande/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_EverGrande: @ 82230D4
+gTilesetPalettes_EverGrande:: @ 82230D4
.incbin "data/tilesets/secondary/ever_grande/palettes/00.gbapal"
.incbin "data/tilesets/secondary/ever_grande/palettes/01.gbapal"
.incbin "data/tilesets/secondary/ever_grande/palettes/02.gbapal"
@@ -275,12 +275,12 @@ gTilesetPalettes_EverGrande: @ 82230D4
.align 2
-gTilesetTiles_Pacifidlog: @ 82232D4
+gTilesetTiles_Pacifidlog:: @ 82232D4
.incbin "data/tilesets/secondary/pacifidlog/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Pacifidlog: @ 82249CC
+gTilesetPalettes_Pacifidlog:: @ 82249CC
.incbin "data/tilesets/secondary/pacifidlog/palettes/00.gbapal"
.incbin "data/tilesets/secondary/pacifidlog/palettes/01.gbapal"
.incbin "data/tilesets/secondary/pacifidlog/palettes/02.gbapal"
@@ -300,12 +300,12 @@ gTilesetPalettes_Pacifidlog: @ 82249CC
.align 2
-gTilesetTiles_Sootopolis: @ 8224BCC
+gTilesetTiles_Sootopolis:: @ 8224BCC
.incbin "data/tilesets/secondary/sootopolis/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Sootopolis: @ 8225420
+gTilesetPalettes_Sootopolis:: @ 8225420
.incbin "data/tilesets/secondary/sootopolis/palettes/00.gbapal"
.incbin "data/tilesets/secondary/sootopolis/palettes/01.gbapal"
.incbin "data/tilesets/secondary/sootopolis/palettes/02.gbapal"
@@ -325,12 +325,12 @@ gTilesetPalettes_Sootopolis: @ 8225420
.align 2
-gTilesetTiles_Building: @ 8225620
+gTilesetTiles_Building:: @ 8225620
.incbin "data/tilesets/primary/building/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Building: @ 8225FA4
+gTilesetPalettes_Building:: @ 8225FA4
.incbin "data/tilesets/primary/building/palettes/00.gbapal"
.incbin "data/tilesets/primary/building/palettes/01.gbapal"
.incbin "data/tilesets/primary/building/palettes/02.gbapal"
@@ -350,12 +350,12 @@ gTilesetPalettes_Building: @ 8225FA4
.align 2
-gTilesetTiles_Shop: @ 82261A4
+gTilesetTiles_Shop:: @ 82261A4
.incbin "data/tilesets/secondary/shop/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Shop: @ 8227788
+gTilesetPalettes_Shop:: @ 8227788
.incbin "data/tilesets/secondary/shop/palettes/00.gbapal"
.incbin "data/tilesets/secondary/shop/palettes/01.gbapal"
.incbin "data/tilesets/secondary/shop/palettes/02.gbapal"
@@ -375,12 +375,12 @@ gTilesetPalettes_Shop: @ 8227788
.align 2
-gTilesetTiles_PokemonCenter: @ 8227988
+gTilesetTiles_PokemonCenter:: @ 8227988
.incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_PokemonCenter: @ 8228AAC
+gTilesetPalettes_PokemonCenter:: @ 8228AAC
.incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal"
.incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal"
.incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal"
@@ -400,12 +400,12 @@ gTilesetPalettes_PokemonCenter: @ 8228AAC
.align 2
-gTilesetTiles_Cave: @ 8228CAC
+gTilesetTiles_Cave:: @ 8228CAC
.incbin "data/tilesets/secondary/cave/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Cave: @ 822A814
+gTilesetPalettes_Cave:: @ 822A814
.incbin "data/tilesets/secondary/cave/palettes/00.gbapal"
.incbin "data/tilesets/secondary/cave/palettes/01.gbapal"
.incbin "data/tilesets/secondary/cave/palettes/02.gbapal"
@@ -425,12 +425,12 @@ gTilesetPalettes_Cave: @ 822A814
.align 2
-gTilesetTiles_PokemonSchool: @ 822AA14
+gTilesetTiles_PokemonSchool:: @ 822AA14
.incbin "data/tilesets/secondary/pokemon_school/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_PokemonSchool: @ 822B15C
+gTilesetPalettes_PokemonSchool:: @ 822B15C
.incbin "data/tilesets/secondary/pokemon_school/palettes/00.gbapal"
.incbin "data/tilesets/secondary/pokemon_school/palettes/01.gbapal"
.incbin "data/tilesets/secondary/pokemon_school/palettes/02.gbapal"
@@ -450,12 +450,12 @@ gTilesetPalettes_PokemonSchool: @ 822B15C
.align 2
-gTilesetTiles_PokemonFanClub: @ 822B35C
+gTilesetTiles_PokemonFanClub:: @ 822B35C
.incbin "data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_PokemonFanClub: @ 822BC88
+gTilesetPalettes_PokemonFanClub:: @ 822BC88
.incbin "data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal"
.incbin "data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal"
.incbin "data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal"
@@ -475,12 +475,12 @@ gTilesetPalettes_PokemonFanClub: @ 822BC88
.align 2
-gTilesetTiles_Unused1: @ 822BE88
+gTilesetTiles_Unused1:: @ 822BE88
.incbin "data/tilesets/secondary/unused_1/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Unused1: @ 822BED4
+gTilesetPalettes_Unused1:: @ 822BED4
.incbin "data/tilesets/secondary/unused_1/palettes/00.gbapal"
.incbin "data/tilesets/secondary/unused_1/palettes/01.gbapal"
.incbin "data/tilesets/secondary/unused_1/palettes/02.gbapal"
@@ -500,12 +500,12 @@ gTilesetPalettes_Unused1: @ 822BED4
.align 2
-gTilesetTiles_MeteorFalls: @ 822C0D4
+gTilesetTiles_MeteorFalls:: @ 822C0D4
.incbin "data/tilesets/secondary/meteor_falls/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_MeteorFalls: @ 822DC1C
+gTilesetPalettes_MeteorFalls:: @ 822DC1C
.incbin "data/tilesets/secondary/meteor_falls/palettes/00.gbapal"
.incbin "data/tilesets/secondary/meteor_falls/palettes/01.gbapal"
.incbin "data/tilesets/secondary/meteor_falls/palettes/02.gbapal"
@@ -525,12 +525,12 @@ gTilesetPalettes_MeteorFalls: @ 822DC1C
.align 2
-gTilesetTiles_OceanicMuseum: @ 822DE1C
+gTilesetTiles_OceanicMuseum:: @ 822DE1C
.incbin "data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_OceanicMuseum: @ 822EDA8
+gTilesetPalettes_OceanicMuseum:: @ 822EDA8
.incbin "data/tilesets/secondary/oceanic_museum/palettes/00.gbapal"
.incbin "data/tilesets/secondary/oceanic_museum/palettes/01.gbapal"
.incbin "data/tilesets/secondary/oceanic_museum/palettes/02.gbapal"
@@ -550,7 +550,7 @@ gTilesetPalettes_OceanicMuseum: @ 822EDA8
.align 2
-gTilesetTiles_CableClub: @ 822EFA8
+gTilesetTiles_CableClub:: @ 822EFA8
.incbin "data/tilesets/secondary/cable_club/tiles.4bpp"
.align 2
@@ -559,7 +559,7 @@ gTilesetTiles_CableClub: @ 822EFA8
.align 2
-gTilesetPalettes_CableClub: @ 8233EA8
+gTilesetPalettes_CableClub:: @ 8233EA8
.incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal"
.incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal"
.incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal"
@@ -579,12 +579,12 @@ gTilesetPalettes_CableClub: @ 8233EA8
.align 2
-gTilesetTiles_SeashoreHouse: @ 82340A8
+gTilesetTiles_SeashoreHouse:: @ 82340A8
.incbin "data/tilesets/secondary/seashore_house/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_SeashoreHouse: @ 8234984
+gTilesetPalettes_SeashoreHouse:: @ 8234984
.incbin "data/tilesets/secondary/seashore_house/palettes/00.gbapal"
.incbin "data/tilesets/secondary/seashore_house/palettes/01.gbapal"
.incbin "data/tilesets/secondary/seashore_house/palettes/02.gbapal"
@@ -604,12 +604,12 @@ gTilesetPalettes_SeashoreHouse: @ 8234984
.align 2
-gTilesetTiles_PrettyPetalFlowerShop: @ 8234B84
+gTilesetTiles_PrettyPetalFlowerShop:: @ 8234B84
.incbin "data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_PrettyPetalFlowerShop: @ 823577C
+gTilesetPalettes_PrettyPetalFlowerShop:: @ 823577C
.incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal"
.incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal"
.incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal"
@@ -629,12 +629,12 @@ gTilesetPalettes_PrettyPetalFlowerShop: @ 823577C
.align 2
-gTilesetTiles_PokemonDayCare: @ 823597C
+gTilesetTiles_PokemonDayCare:: @ 823597C
.incbin "data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_PokemonDayCare: @ 82363B8
+gTilesetPalettes_PokemonDayCare:: @ 82363B8
.incbin "data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal"
.incbin "data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal"
.incbin "data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal"
@@ -654,12 +654,12 @@ gTilesetPalettes_PokemonDayCare: @ 82363B8
.align 2
-gTilesetTiles_Facility: @ 82365B8
+gTilesetTiles_Facility:: @ 82365B8
.incbin "data/tilesets/secondary/facility/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Facility: @ 8238140
+gTilesetPalettes_Facility:: @ 8238140
.incbin "data/tilesets/secondary/facility/palettes/00.gbapal"
.incbin "data/tilesets/secondary/facility/palettes/01.gbapal"
.incbin "data/tilesets/secondary/facility/palettes/02.gbapal"
@@ -679,12 +679,12 @@ gTilesetPalettes_Facility: @ 8238140
.align 2
-gTilesetTiles_BikeShop: @ 8238340
+gTilesetTiles_BikeShop:: @ 8238340
.incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_BikeShop: @ 8239670
+gTilesetPalettes_BikeShop:: @ 8239670
.incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal"
.incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal"
.incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal"
@@ -704,12 +704,12 @@ gTilesetPalettes_BikeShop: @ 8239670
.align 2
-gTilesetTiles_RusturfTunnel: @ 8239870
+gTilesetTiles_RusturfTunnel:: @ 8239870
.incbin "data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_RusturfTunnel: @ 823A264
+gTilesetPalettes_RusturfTunnel:: @ 823A264
.incbin "data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal"
.incbin "data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal"
.incbin "data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal"
@@ -734,7 +734,7 @@ gTilesetPalettes_RusturfTunnel: @ 823A264
.align 2
-gTilesetPalettes_SecretBaseBrownCave: @ 823A9E4
+gTilesetPalettes_SecretBaseBrownCave:: @ 823A9E4
.incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal"
.incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal"
.incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal"
@@ -759,7 +759,7 @@ gTilesetPalettes_SecretBaseBrownCave: @ 823A9E4
.align 2
-gTilesetPalettes_SecretBaseTree: @ 823B108
+gTilesetPalettes_SecretBaseTree:: @ 823B108
.incbin "data/tilesets/secondary/secret_base/tree/palettes/00.gbapal"
.incbin "data/tilesets/secondary/secret_base/tree/palettes/01.gbapal"
.incbin "data/tilesets/secondary/secret_base/tree/palettes/02.gbapal"
@@ -784,7 +784,7 @@ gTilesetPalettes_SecretBaseTree: @ 823B108
.align 2
-gTilesetPalettes_SecretBaseShrub: @ 823B870
+gTilesetPalettes_SecretBaseShrub:: @ 823B870
.incbin "data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal"
.incbin "data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal"
.incbin "data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal"
@@ -809,7 +809,7 @@ gTilesetPalettes_SecretBaseShrub: @ 823B870
.align 2
-gTilesetPalettes_SecretBaseBlueCave: @ 823BE8C
+gTilesetPalettes_SecretBaseBlueCave:: @ 823BE8C
.incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal"
.incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal"
.incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal"
@@ -834,7 +834,7 @@ gTilesetPalettes_SecretBaseBlueCave: @ 823BE8C
.align 2
-gTilesetPalettes_SecretBaseYellowCave: @ 823C5C4
+gTilesetPalettes_SecretBaseYellowCave:: @ 823C5C4
.incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal"
.incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal"
.incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal"
@@ -859,7 +859,7 @@ gTilesetPalettes_SecretBaseYellowCave: @ 823C5C4
.align 2
-gTilesetPalettes_SecretBaseRedCave: @ 823CBFC
+gTilesetPalettes_SecretBaseRedCave:: @ 823CBFC
.incbin "data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal"
.incbin "data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal"
.incbin "data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal"
@@ -879,42 +879,42 @@ gTilesetPalettes_SecretBaseRedCave: @ 823CBFC
.align 2
-gTilesetTiles_SecretBaseBrownCave: @ 823CDFC
+gTilesetTiles_SecretBaseBrownCave:: @ 823CDFC
.incbin "data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp"
.align 2
-gTilesetTiles_SecretBaseTree: @ 823D85C
+gTilesetTiles_SecretBaseTree:: @ 823D85C
.incbin "data/tilesets/secondary/secret_base/tree/tiles.4bpp"
.align 2
-gTilesetTiles_SecretBaseShrub: @ 823E2BC
+gTilesetTiles_SecretBaseShrub:: @ 823E2BC
.incbin "data/tilesets/secondary/secret_base/shrub/tiles.4bpp"
.align 2
-gTilesetTiles_SecretBaseBlueCave: @ 823ED1C
+gTilesetTiles_SecretBaseBlueCave:: @ 823ED1C
.incbin "data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp"
.align 2
-gTilesetTiles_SecretBaseYellowCave: @ 823F77C
+gTilesetTiles_SecretBaseYellowCave:: @ 823F77C
.incbin "data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp"
.align 2
-gTilesetTiles_SecretBaseRedCave: @ 82401DC
+gTilesetTiles_SecretBaseRedCave:: @ 82401DC
.incbin "data/tilesets/secondary/secret_base/red_cave/tiles.4bpp"
.align 2
-gTilesetTiles_InsideOfTruck: @ 8240C3C
+gTilesetTiles_InsideOfTruck:: @ 8240C3C
.incbin "data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_InsideOfTruck: @ 8240E98
+gTilesetPalettes_InsideOfTruck:: @ 8240E98
.incbin "data/tilesets/secondary/inside_of_truck/palettes/00.gbapal"
.incbin "data/tilesets/secondary/inside_of_truck/palettes/01.gbapal"
.incbin "data/tilesets/secondary/inside_of_truck/palettes/02.gbapal"
@@ -934,12 +934,12 @@ gTilesetPalettes_InsideOfTruck: @ 8240E98
.align 2
-gTilesetTiles_Contest: @ 8241098
+gTilesetTiles_Contest:: @ 8241098
.incbin "data/tilesets/secondary/contest/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Contest: @ 8241BEC
+gTilesetPalettes_Contest:: @ 8241BEC
.incbin "data/tilesets/secondary/contest/palettes/00.gbapal"
.incbin "data/tilesets/secondary/contest/palettes/01.gbapal"
.incbin "data/tilesets/secondary/contest/palettes/02.gbapal"
@@ -959,12 +959,12 @@ gTilesetPalettes_Contest: @ 8241BEC
.align 2
-gTilesetTiles_LilycoveMuseum: @ 8241DEC
+gTilesetTiles_LilycoveMuseum:: @ 8241DEC
.incbin "data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_LilycoveMuseum: @ 8243108
+gTilesetPalettes_LilycoveMuseum:: @ 8243108
.incbin "data/tilesets/secondary/lilycove_museum/palettes/00.gbapal"
.incbin "data/tilesets/secondary/lilycove_museum/palettes/01.gbapal"
.incbin "data/tilesets/secondary/lilycove_museum/palettes/02.gbapal"
@@ -984,12 +984,12 @@ gTilesetPalettes_LilycoveMuseum: @ 8243108
.align 2
-gTilesetTiles_BrendansMaysHouse: @ 8243308
+gTilesetTiles_BrendansMaysHouse:: @ 8243308
.incbin "data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_BrendansMaysHouse: @ 82442BC
+gTilesetPalettes_BrendansMaysHouse:: @ 82442BC
.incbin "data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal"
.incbin "data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal"
.incbin "data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal"
@@ -1009,12 +1009,12 @@ gTilesetPalettes_BrendansMaysHouse: @ 82442BC
.align 2
-gTilesetTiles_Lab: @ 82444BC
+gTilesetTiles_Lab:: @ 82444BC
.incbin "data/tilesets/secondary/lab/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Lab: @ 8245510
+gTilesetPalettes_Lab:: @ 8245510
.incbin "data/tilesets/secondary/lab/palettes/00.gbapal"
.incbin "data/tilesets/secondary/lab/palettes/01.gbapal"
.incbin "data/tilesets/secondary/lab/palettes/02.gbapal"
@@ -1034,12 +1034,12 @@ gTilesetPalettes_Lab: @ 8245510
.align 2
-gTilesetTiles_Underwater: @ 8245710
+gTilesetTiles_Underwater:: @ 8245710
.incbin "data/tilesets/secondary/underwater/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Underwater: @ 82468CC
+gTilesetPalettes_Underwater:: @ 82468CC
.incbin "data/tilesets/secondary/underwater/palettes/00.gbapal"
.incbin "data/tilesets/secondary/underwater/palettes/01.gbapal"
.incbin "data/tilesets/secondary/underwater/palettes/02.gbapal"
@@ -1059,12 +1059,12 @@ gTilesetPalettes_Underwater: @ 82468CC
.align 2
-gTilesetTiles_GenericBuilding: @ 8246ACC
+gTilesetTiles_GenericBuilding:: @ 8246ACC
.incbin "data/tilesets/secondary/generic_building/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_GenericBuilding: @ 8248494
+gTilesetPalettes_GenericBuilding:: @ 8248494
.incbin "data/tilesets/secondary/generic_building/palettes/00.gbapal"
.incbin "data/tilesets/secondary/generic_building/palettes/01.gbapal"
.incbin "data/tilesets/secondary/generic_building/palettes/02.gbapal"
@@ -1084,12 +1084,12 @@ gTilesetPalettes_GenericBuilding: @ 8248494
.align 2
-gTilesetTiles_MauvilleGameCorner: @ 8248694
+gTilesetTiles_MauvilleGameCorner:: @ 8248694
.incbin "data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_MauvilleGameCorner: @ 8249358
+gTilesetPalettes_MauvilleGameCorner:: @ 8249358
.incbin "data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal"
.incbin "data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal"
.incbin "data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal"
@@ -1109,12 +1109,12 @@ gTilesetPalettes_MauvilleGameCorner: @ 8249358
.align 2
-gTilesetTiles_Unused2: @ 8249558
+gTilesetTiles_Unused2:: @ 8249558
.incbin "data/tilesets/secondary/unused_2/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Unused2: @ 8249A80
+gTilesetPalettes_Unused2:: @ 8249A80
.incbin "data/tilesets/secondary/unused_2/palettes/00.gbapal"
.incbin "data/tilesets/secondary/unused_2/palettes/01.gbapal"
.incbin "data/tilesets/secondary/unused_2/palettes/02.gbapal"
@@ -1134,12 +1134,12 @@ gTilesetPalettes_Unused2: @ 8249A80
.align 2
-gTilesetTiles_RustboroGym: @ 8249C80
+gTilesetTiles_RustboroGym:: @ 8249C80
.incbin "data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_RustboroGym: @ 824A114
+gTilesetPalettes_RustboroGym:: @ 824A114
.incbin "data/tilesets/secondary/rustboro_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/rustboro_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/rustboro_gym/palettes/02.gbapal"
@@ -1159,12 +1159,12 @@ gTilesetPalettes_RustboroGym: @ 824A114
.align 2
-gTilesetTiles_DewfordGym: @ 824A314
+gTilesetTiles_DewfordGym:: @ 824A314
.incbin "data/tilesets/secondary/dewford_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_DewfordGym: @ 824A570
+gTilesetPalettes_DewfordGym:: @ 824A570
.incbin "data/tilesets/secondary/dewford_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/dewford_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/dewford_gym/palettes/02.gbapal"
@@ -1184,12 +1184,12 @@ gTilesetPalettes_DewfordGym: @ 824A570
.align 2
-gTilesetTiles_MauvilleGym: @ 824A770
+gTilesetTiles_MauvilleGym:: @ 824A770
.incbin "data/tilesets/secondary/mauville_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_MauvilleGym: @ 824AD9C
+gTilesetPalettes_MauvilleGym:: @ 824AD9C
.incbin "data/tilesets/secondary/mauville_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/mauville_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/mauville_gym/palettes/02.gbapal"
@@ -1209,12 +1209,12 @@ gTilesetPalettes_MauvilleGym: @ 824AD9C
.align 2
-gTilesetTiles_LavaridgeGym: @ 824AF9C
+gTilesetTiles_LavaridgeGym:: @ 824AF9C
.incbin "data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_LavaridgeGym: @ 824B2A8
+gTilesetPalettes_LavaridgeGym:: @ 824B2A8
.incbin "data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal"
@@ -1234,12 +1234,12 @@ gTilesetPalettes_LavaridgeGym: @ 824B2A8
.align 2
-gTilesetTiles_PetalburgGym: @ 824B4A8
+gTilesetTiles_PetalburgGym:: @ 824B4A8
.incbin "data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_PetalburgGym: @ 824BE08
+gTilesetPalettes_PetalburgGym:: @ 824BE08
.incbin "data/tilesets/secondary/petalburg_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/petalburg_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/petalburg_gym/palettes/02.gbapal"
@@ -1259,12 +1259,12 @@ gTilesetPalettes_PetalburgGym: @ 824BE08
.align 2
-gTilesetTiles_FortreeGym: @ 824C008
+gTilesetTiles_FortreeGym:: @ 824C008
.incbin "data/tilesets/secondary/fortree_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_FortreeGym: @ 824C2C8
+gTilesetPalettes_FortreeGym:: @ 824C2C8
.incbin "data/tilesets/secondary/fortree_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/fortree_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/fortree_gym/palettes/02.gbapal"
@@ -1284,12 +1284,12 @@ gTilesetPalettes_FortreeGym: @ 824C2C8
.align 2
-gTilesetTiles_MossdeepGym: @ 824C4C8
+gTilesetTiles_MossdeepGym:: @ 824C4C8
.incbin "data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_MossdeepGym: @ 824CA00
+gTilesetPalettes_MossdeepGym:: @ 824CA00
.incbin "data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal"
@@ -1309,12 +1309,12 @@ gTilesetPalettes_MossdeepGym: @ 824CA00
.align 2
-gTilesetTiles_SootopolisGym: @ 824CC00
+gTilesetTiles_SootopolisGym:: @ 824CC00
.incbin "data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_SootopolisGym: @ 824E030
+gTilesetPalettes_SootopolisGym:: @ 824E030
.incbin "data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal"
.incbin "data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal"
.incbin "data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal"
@@ -1334,12 +1334,12 @@ gTilesetPalettes_SootopolisGym: @ 824E030
.align 2
-gTilesetTiles_TrickHousePuzzle: @ 824E230
+gTilesetTiles_TrickHousePuzzle:: @ 824E230
.incbin "data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_TrickHousePuzzle: @ 824EEA8
+gTilesetPalettes_TrickHousePuzzle:: @ 824EEA8
.incbin "data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal"
.incbin "data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal"
.incbin "data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal"
@@ -1359,12 +1359,12 @@ gTilesetPalettes_TrickHousePuzzle: @ 824EEA8
.align 2
-gTilesetTiles_Ship: @ 824F0A8
+gTilesetTiles_Ship:: @ 824F0A8
.incbin "data/tilesets/secondary/ship/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_Ship: @ 824FC78
+gTilesetPalettes_Ship:: @ 824FC78
.incbin "data/tilesets/secondary/ship/palettes/00.gbapal"
.incbin "data/tilesets/secondary/ship/palettes/01.gbapal"
.incbin "data/tilesets/secondary/ship/palettes/02.gbapal"
@@ -1384,7 +1384,7 @@ gTilesetPalettes_Ship: @ 824FC78
.align 2
-gTilesetTiles_SecretBase: @ 824FE78
+gTilesetTiles_SecretBase:: @ 824FE78
.incbin "data/tilesets/primary/secret_base/tiles.4bpp"
.align 2
@@ -1393,7 +1393,7 @@ gTilesetTiles_SecretBase: @ 824FE78
.align 2
-gTilesetPalettes_SecretBase: @ 8257E78
+gTilesetPalettes_SecretBase:: @ 8257E78
.incbin "data/tilesets/primary/secret_base/palettes/00.gbapal"
.incbin "data/tilesets/primary/secret_base/palettes/01.gbapal"
.incbin "data/tilesets/primary/secret_base/palettes/02.gbapal"
@@ -1413,12 +1413,12 @@ gTilesetPalettes_SecretBase: @ 8257E78
.align 2
-gTilesetTiles_EliteFour: @ 8258078
+gTilesetTiles_EliteFour:: @ 8258078
.incbin "data/tilesets/secondary/elite_four/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_EliteFour: @ 82590F4
+gTilesetPalettes_EliteFour:: @ 82590F4
.incbin "data/tilesets/secondary/elite_four/palettes/00.gbapal"
.incbin "data/tilesets/secondary/elite_four/palettes/01.gbapal"
.incbin "data/tilesets/secondary/elite_four/palettes/02.gbapal"
@@ -1438,12 +1438,12 @@ gTilesetPalettes_EliteFour: @ 82590F4
.align 2
-gTilesetTiles_BattleTower: @ 82592F4
+gTilesetTiles_BattleTower:: @ 82592F4
.incbin "data/tilesets/secondary/battle_tower/tiles.4bpp.lz"
.align 2
-gTilesetPalettes_BattleTower: @ 8259A1C
+gTilesetPalettes_BattleTower:: @ 8259A1C
.incbin "data/tilesets/secondary/battle_tower/palettes/00.gbapal"
.incbin "data/tilesets/secondary/battle_tower/palettes/01.gbapal"
.incbin "data/tilesets/secondary/battle_tower/palettes/02.gbapal"
diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc
index 69e11ac20..8965b1025 100644
--- a/data/tilesets/headers.inc
+++ b/data/tilesets/headers.inc
@@ -1,6 +1,6 @@
.align 2
-gTileset_General: @ 8286CF4
+gTileset_General:: @ 8286CF4
.byte TRUE @ is compressed
.byte FALSE @ is secondary tileset
.2byte 0 @ padding
@@ -12,7 +12,7 @@ gTileset_General: @ 8286CF4
.align 2
-gTileset_Petalburg: @ 8286D0C
+gTileset_Petalburg:: @ 8286D0C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -24,7 +24,7 @@ gTileset_Petalburg: @ 8286D0C
.align 2
-gTileset_Rustboro: @ 8286D24
+gTileset_Rustboro:: @ 8286D24
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -36,7 +36,7 @@ gTileset_Rustboro: @ 8286D24
.align 2
-gTileset_Dewford: @ 8286D3C
+gTileset_Dewford:: @ 8286D3C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -48,7 +48,7 @@ gTileset_Dewford: @ 8286D3C
.align 2
-gTileset_Slateport: @ 8286D54
+gTileset_Slateport:: @ 8286D54
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -60,7 +60,7 @@ gTileset_Slateport: @ 8286D54
.align 2
-gTileset_Mauville: @ 8286D6C
+gTileset_Mauville:: @ 8286D6C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -72,7 +72,7 @@ gTileset_Mauville: @ 8286D6C
.align 2
-gTileset_Lavaridge: @ 8286D84
+gTileset_Lavaridge:: @ 8286D84
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -84,7 +84,7 @@ gTileset_Lavaridge: @ 8286D84
.align 2
-gTileset_Fallarbor: @ 8286D9C
+gTileset_Fallarbor:: @ 8286D9C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -96,7 +96,7 @@ gTileset_Fallarbor: @ 8286D9C
.align 2
-gTileset_Fortree: @ 8286DB4
+gTileset_Fortree:: @ 8286DB4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -108,7 +108,7 @@ gTileset_Fortree: @ 8286DB4
.align 2
-gTileset_Lilycove: @ 8286DCC
+gTileset_Lilycove:: @ 8286DCC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -120,7 +120,7 @@ gTileset_Lilycove: @ 8286DCC
.align 2
-gTileset_Mossdeep: @ 8286DE4
+gTileset_Mossdeep:: @ 8286DE4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -132,7 +132,7 @@ gTileset_Mossdeep: @ 8286DE4
.align 2
-gTileset_EverGrande: @ 8286DFC
+gTileset_EverGrande:: @ 8286DFC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -144,7 +144,7 @@ gTileset_EverGrande: @ 8286DFC
.align 2
-gTileset_Pacifidlog: @ 8286E14
+gTileset_Pacifidlog:: @ 8286E14
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -156,7 +156,7 @@ gTileset_Pacifidlog: @ 8286E14
.align 2
-gTileset_Sootopolis: @ 8286E2C
+gTileset_Sootopolis:: @ 8286E2C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -168,7 +168,7 @@ gTileset_Sootopolis: @ 8286E2C
.align 2
-gTileset_Building: @ 8286E44
+gTileset_Building:: @ 8286E44
.byte TRUE @ is compressed
.byte FALSE @ is secondary tileset
.2byte 0 @ padding
@@ -180,7 +180,7 @@ gTileset_Building: @ 8286E44
.align 2
-gTileset_Shop: @ 8286E5C
+gTileset_Shop:: @ 8286E5C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -192,7 +192,7 @@ gTileset_Shop: @ 8286E5C
.align 2
-gTileset_PokemonCenter: @ 8286E74
+gTileset_PokemonCenter:: @ 8286E74
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -204,7 +204,7 @@ gTileset_PokemonCenter: @ 8286E74
.align 2
-gTileset_Cave: @ 8286E8C
+gTileset_Cave:: @ 8286E8C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -216,7 +216,7 @@ gTileset_Cave: @ 8286E8C
.align 2
-gTileset_PokemonSchool: @ 8286EA4
+gTileset_PokemonSchool:: @ 8286EA4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -228,7 +228,7 @@ gTileset_PokemonSchool: @ 8286EA4
.align 2
-gTileset_PokemonFanClub: @ 8286EBC
+gTileset_PokemonFanClub:: @ 8286EBC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -240,7 +240,7 @@ gTileset_PokemonFanClub: @ 8286EBC
.align 2
-gTileset_Unused1: @ 8286ED4
+gTileset_Unused1:: @ 8286ED4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -252,7 +252,7 @@ gTileset_Unused1: @ 8286ED4
.align 2
-gTileset_MeteorFalls: @ 8286EEC
+gTileset_MeteorFalls:: @ 8286EEC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -264,7 +264,7 @@ gTileset_MeteorFalls: @ 8286EEC
.align 2
-gTileset_OceanicMuseum: @ 8286F04
+gTileset_OceanicMuseum:: @ 8286F04
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -276,7 +276,7 @@ gTileset_OceanicMuseum: @ 8286F04
.align 2
-gTileset_CableClub: @ 8286F1C
+gTileset_CableClub:: @ 8286F1C
.byte FALSE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -288,7 +288,7 @@ gTileset_CableClub: @ 8286F1C
.align 2
-gTileset_SeashoreHouse: @ 8286F34
+gTileset_SeashoreHouse:: @ 8286F34
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -300,7 +300,7 @@ gTileset_SeashoreHouse: @ 8286F34
.align 2
-gTileset_PrettyPetalFlowerShop: @ 8286F4C
+gTileset_PrettyPetalFlowerShop:: @ 8286F4C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -312,7 +312,7 @@ gTileset_PrettyPetalFlowerShop: @ 8286F4C
.align 2
-gTileset_PokemonDayCare: @ 8286F64
+gTileset_PokemonDayCare:: @ 8286F64
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -324,7 +324,7 @@ gTileset_PokemonDayCare: @ 8286F64
.align 2
-gTileset_Facility: @ 8286F7C
+gTileset_Facility:: @ 8286F7C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -336,7 +336,7 @@ gTileset_Facility: @ 8286F7C
.align 2
-gTileset_BikeShop: @ 8286F94
+gTileset_BikeShop:: @ 8286F94
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -348,7 +348,7 @@ gTileset_BikeShop: @ 8286F94
.align 2
-gTileset_RusturfTunnel: @ 8286FAC
+gTileset_RusturfTunnel:: @ 8286FAC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -360,7 +360,7 @@ gTileset_RusturfTunnel: @ 8286FAC
.align 2
-gTileset_SecretBaseBrownCave: @ 8286FC4
+gTileset_SecretBaseBrownCave:: @ 8286FC4
.byte FALSE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -372,7 +372,7 @@ gTileset_SecretBaseBrownCave: @ 8286FC4
.align 2
-gTileset_SecretBaseTree: @ 8286FDC
+gTileset_SecretBaseTree:: @ 8286FDC
.byte FALSE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -384,7 +384,7 @@ gTileset_SecretBaseTree: @ 8286FDC
.align 2
-gTileset_SecretBaseShrub: @ 8286FF4
+gTileset_SecretBaseShrub:: @ 8286FF4
.byte FALSE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -396,7 +396,7 @@ gTileset_SecretBaseShrub: @ 8286FF4
.align 2
-gTileset_SecretBaseBlueCave: @ 828700C
+gTileset_SecretBaseBlueCave:: @ 828700C
.byte FALSE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -408,7 +408,7 @@ gTileset_SecretBaseBlueCave: @ 828700C
.align 2
-gTileset_SecretBaseYellowCave: @ 8287024
+gTileset_SecretBaseYellowCave:: @ 8287024
.byte FALSE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -420,7 +420,7 @@ gTileset_SecretBaseYellowCave: @ 8287024
.align 2
-gTileset_SecretBaseRedCave: @ 828703C
+gTileset_SecretBaseRedCave:: @ 828703C
.byte FALSE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -432,7 +432,7 @@ gTileset_SecretBaseRedCave: @ 828703C
.align 2
-gTileset_InsideOfTruck: @ 8287054
+gTileset_InsideOfTruck:: @ 8287054
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -444,7 +444,7 @@ gTileset_InsideOfTruck: @ 8287054
.align 2
-gTileset_Unused2: @ 828706C
+gTileset_Unused2:: @ 828706C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -456,7 +456,7 @@ gTileset_Unused2: @ 828706C
.align 2
-gTileset_Contest: @ 8287084
+gTileset_Contest:: @ 8287084
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -468,7 +468,7 @@ gTileset_Contest: @ 8287084
.align 2
-gTileset_LilycoveMuseum: @ 828709C
+gTileset_LilycoveMuseum:: @ 828709C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -480,7 +480,7 @@ gTileset_LilycoveMuseum: @ 828709C
.align 2
-gTileset_BrendansMaysHouse: @ 82870B4
+gTileset_BrendansMaysHouse:: @ 82870B4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -492,7 +492,7 @@ gTileset_BrendansMaysHouse: @ 82870B4
.align 2
-gTileset_Lab: @ 82870CC
+gTileset_Lab:: @ 82870CC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -504,7 +504,7 @@ gTileset_Lab: @ 82870CC
.align 2
-gTileset_Underwater: @ 82870E4
+gTileset_Underwater:: @ 82870E4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -516,7 +516,7 @@ gTileset_Underwater: @ 82870E4
.align 2
-gTileset_PetalburgGym: @ 82870FC
+gTileset_PetalburgGym:: @ 82870FC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -528,7 +528,7 @@ gTileset_PetalburgGym: @ 82870FC
.align 2
-gTileset_SootopolisGym: @ 8287114
+gTileset_SootopolisGym:: @ 8287114
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -540,7 +540,7 @@ gTileset_SootopolisGym: @ 8287114
.align 2
-gTileset_GenericBuilding: @ 828712C
+gTileset_GenericBuilding:: @ 828712C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -552,7 +552,7 @@ gTileset_GenericBuilding: @ 828712C
.align 2
-gTileset_MauvilleGameCorner: @ 8287144
+gTileset_MauvilleGameCorner:: @ 8287144
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -564,7 +564,7 @@ gTileset_MauvilleGameCorner: @ 8287144
.align 2
-gTileset_RustboroGym: @ 828715C
+gTileset_RustboroGym:: @ 828715C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -576,7 +576,7 @@ gTileset_RustboroGym: @ 828715C
.align 2
-gTileset_DewfordGym: @ 8287174
+gTileset_DewfordGym:: @ 8287174
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -588,7 +588,7 @@ gTileset_DewfordGym: @ 8287174
.align 2
-gTileset_MauvilleGym: @ 828718C
+gTileset_MauvilleGym:: @ 828718C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -600,7 +600,7 @@ gTileset_MauvilleGym: @ 828718C
.align 2
-gTileset_LavaridgeGym: @ 82871A4
+gTileset_LavaridgeGym:: @ 82871A4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -612,7 +612,7 @@ gTileset_LavaridgeGym: @ 82871A4
.align 2
-gTileset_TrickHousePuzzle: @ 82871BC
+gTileset_TrickHousePuzzle:: @ 82871BC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -624,7 +624,7 @@ gTileset_TrickHousePuzzle: @ 82871BC
.align 2
-gTileset_FortreeGym: @ 82871D4
+gTileset_FortreeGym:: @ 82871D4
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -636,7 +636,7 @@ gTileset_FortreeGym: @ 82871D4
.align 2
-gTileset_MossdeepGym: @ 82871EC
+gTileset_MossdeepGym:: @ 82871EC
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -648,7 +648,7 @@ gTileset_MossdeepGym: @ 82871EC
.align 2
-gTileset_Ship: @ 8287204
+gTileset_Ship:: @ 8287204
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -660,7 +660,7 @@ gTileset_Ship: @ 8287204
.align 2
-gTileset_SecretBase: @ 828721C
+gTileset_SecretBase:: @ 828721C
.byte FALSE @ is compressed
.byte FALSE @ is secondary tileset
.2byte 0 @ padding
@@ -672,7 +672,7 @@ gTileset_SecretBase: @ 828721C
.align 2
-gTileset_EliteFour: @ 8287234
+gTileset_EliteFour:: @ 8287234
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
@@ -684,7 +684,7 @@ gTileset_EliteFour: @ 8287234
.align 2
-gTileset_BattleTower: @ 828724C
+gTileset_BattleTower:: @ 828724C
.byte TRUE @ is compressed
.byte TRUE @ is secondary tileset
.2byte 0 @ padding
diff --git a/data/trade.s b/data/trade.s
new file mode 100644
index 000000000..8f96a72b1
--- /dev/null
+++ b/data/trade.s
@@ -0,0 +1,774 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+ .byte 0x90, 0x08, 0x00, 0x00
+ .byte 0xC0, 0x3A, 0x00, 0x00
+ .byte 0x1C, 0x00, 0x00, 0x00
+ .byte 0x30, 0x05, 0x00, 0x00
+ .byte 0x24, 0x00, 0x00, 0x00
+ .byte 0x64, 0x00, 0x00, 0x00
+ .byte 0xD8, 0x04, 0x00, 0x00
+
+ .align 1
+gTradeMovesBoxTilemap:: @ 820ABF0
+ .incbin "graphics/trade/moves_box_map.bin"
+
+ .align 1
+gTradePartyBoxTilemap:: @ 820ADEE
+ .incbin "graphics/trade/party_box_map.bin"
+
+ .align 2
+gTradeStripesBG2Tilemap:: @ 820AFEC
+ .incbin "graphics/trade/stripes_bg2_map.bin"
+
+ .align 2
+gTradeStripesBG3Tilemap:: @ 820B7EC
+ .incbin "graphics/trade/stripes_bg3_map.bin"
+
+ .align 2
+gOamData_820BFEC:: @ 820BFEC
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_820BFF4:: @ 820BFF4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820BFFC:: @ 820BFFC
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820C004:: @ 820C004
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820C00C:: @ 820C00C
+ obj_image_anim_frame 24, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820C014:: @ 820C014
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820C01C:: @ 820C01C
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_820C024:: @ 820C024
+ .4byte gSpriteAnim_820BFF4
+ .4byte gSpriteAnim_820BFFC
+ .4byte gSpriteAnim_820C004
+ .4byte gSpriteAnim_820C00C
+ .4byte gSpriteAnim_820C014
+ .4byte gSpriteAnim_820C01C
+
+ .align 2
+TradeScreenTextPalette: @ 820C03C
+ .incbin "graphics/trade/text1.gbapal"
+ .incbin "graphics/trade/text2.gbapal" @ unused?
+
+ .align 2
+gUnknown_0820C07C:: @ 820C07C
+ obj_tiles 0x0201d000, 256, 0x00c8
+ obj_tiles 0x0201d100, 256, 0x00c9
+ obj_tiles 0x0201d200, 256, 0x00ca
+ obj_tiles 0x0201d300, 256, 0x00cb
+ obj_tiles 0x0201d400, 256, 0x00cc
+ obj_tiles 0x0201d500, 256, 0x00cd
+ obj_tiles 0x0201d600, 256, 0x00ce
+ obj_tiles 0x0201d700, 256, 0x00cf
+ obj_tiles 0x0201d800, 256, 0x00d0
+ obj_tiles 0x0201d900, 256, 0x00d1
+ obj_tiles 0x0201da00, 256, 0x00d2
+ obj_tiles 0x0201db00, 256, 0x00d3
+ obj_tiles 0x0201dc00, 256, 0x00d4
+
+ .align 2
+gSpritePalette_TradeScreenText:: @ 820C0E4
+ obj_pal TradeScreenTextPalette, 4925
+
+ .align 2
+gSpriteTemplate_820C0EC:: @ 820C0EC
+ spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_820C104:: @ 820C104
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_820C10C:: @ 820C10C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820C114:: @ 820C114
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_820C11C:: @ 820C11C
+ .4byte gSpriteAnim_820C10C
+ .4byte gSpriteAnim_820C114
+
+ .align 2
+gUnknown_0820C124:: @ 820C124
+ obj_tiles gUnknown_08EA1DEC, 0x800, 300
+
+ .align 2
+gUnknown_0820C12C:: @ 820C12C
+ obj_pal gUnknown_08EA0328, 2345
+
+ .align 2
+gSpriteTemplate_820C134:: @ 820C134
+ spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_0820C14C:: @ 820C14C
+ .4byte TradeText_Cancel
+ .4byte TradeText_ChoosePoke
+ .4byte TradeText_Summary1
+ .4byte TradeText_Trade1
+ .4byte TradeText_CancelTradePrompt
+ .4byte TradeText_PressBToExit
+
+@ This is used to determine the next mon to select when the D-Pad is
+@ pressed in a given direction.
+@ Note that the mons are laid out like this.
+@ 0-5 are the player's party and 6-11 are the trading partner's party.
+@ 12 is the cancel button.
+@ 0 1 6 7
+@ 2 3 8 9
+@ 4 5 10 11
+@ 12
+gTradeNextSelectedMonTable:: @ 820C164
+ @ 0
+ .byte 4, 2, 12, 12, 0, 0 @ up
+ .byte 2, 4, 12, 12, 0, 0 @ down
+ .byte 7, 6, 1, 0, 0, 0 @ left
+ .byte 1, 6, 7, 0, 0, 0 @ right
+ @ 1
+ .byte 5, 3, 12, 12, 0, 0 @ up
+ .byte 3, 5, 12, 12, 0, 0 @ down
+ .byte 0, 7, 6, 1, 0, 0 @ left
+ .byte 6, 7, 0, 1, 0, 0 @ right
+ @ 2
+ .byte 0, 0, 0, 0, 0, 0 @ up
+ .byte 4, 0, 0, 0, 0, 0 @ down
+ .byte 9, 8, 7, 6, 0, 0 @ left
+ .byte 3, 1, 0, 0, 0, 0 @ right
+ @ 3
+ .byte 1, 1, 1, 1, 0, 0 @ up
+ .byte 5, 1, 1, 1, 0, 0 @ down
+ .byte 2, 9, 8, 7, 0, 0 @ left
+ .byte 8, 9, 6, 6, 0, 0 @ right
+ @ 4
+ .byte 2, 2, 2, 2, 0, 0 @ up
+ .byte 0, 0, 0, 0, 0, 0 @ down
+ .byte 11, 10, 9, 8, 7, 6 @ left
+ .byte 5, 3, 1, 0, 0, 0 @ right
+ @ 5
+ .byte 3, 3, 3, 3, 0, 0 @ up
+ .byte 1, 1, 1, 1, 0, 0 @ down
+ .byte 4, 4, 4, 4, 0, 0 @ left
+ .byte 10, 8, 6, 0, 0, 0 @ right
+ @ 6
+ .byte 10, 8, 12, 0, 0, 0 @ up
+ .byte 8, 10, 12, 0, 0, 0 @ down
+ .byte 1, 0, 0, 0, 0, 0 @ left
+ .byte 7, 0, 1, 0, 0, 0 @ right
+ @ 7
+ .byte 12, 0, 0, 0, 0, 0 @ up
+ .byte 9, 12, 0, 0, 0, 0 @ down
+ .byte 6, 0, 0, 0, 0, 0 @ left
+ .byte 0, 0, 0, 0, 0, 0 @ right
+ @ 8
+ .byte 6, 0, 0, 0, 0, 0 @ up
+ .byte 10, 6, 0, 0, 0, 0 @ down
+ .byte 3, 2, 1, 0, 0, 0 @ left
+ .byte 9, 7, 0, 0, 0, 0 @ right
+ @ 9
+ .byte 7, 0, 0, 0, 0, 0 @ up
+ .byte 11, 12, 0, 0, 0, 0 @ down
+ .byte 8, 0, 0, 0, 0, 0 @ left
+ .byte 2, 1, 0, 0, 0, 0 @ right
+ @ 10
+ .byte 8, 0, 0, 0, 0, 0 @ up
+ .byte 6, 0, 0, 0, 0, 0 @ down
+ .byte 5, 4, 3, 2, 1, 0 @ left
+ .byte 11, 9, 7, 0, 0, 0 @ right
+ @ 11
+ .byte 9, 0, 0, 0, 0, 0 @ up
+ .byte 12, 0, 0, 0, 0, 0 @ down
+ .byte 10, 0, 0, 0, 0, 0 @ left
+ .byte 4, 2, 0, 0, 0, 0 @ right
+ @ 12
+ .byte 11, 9, 7, 6, 0, 0 @ up
+ .byte 7, 6, 0, 0, 0, 0 @ down
+ .byte 12, 0, 0, 0, 0, 0 @ left
+ .byte 12, 0, 0, 0, 0, 0 @ right
+
+@ The coordinates are in units of tiles.
+@ These are used for both mon icons and the selected mon cursor,
+@ but the origins of the coordinates differ.
+gTradeMonSpriteCoords:: @ 820C29C
+ @ left-side party
+ .byte 1, 5
+ .byte 8, 5
+ .byte 1, 10
+ .byte 8, 10
+ .byte 1, 15
+ .byte 8, 15
+
+ @ right-side party
+ .byte 16, 5
+ .byte 23, 5
+ .byte 16, 10
+ .byte 23, 10
+ .byte 16, 15
+ .byte 23, 15
+
+ @ cancel button
+ .byte 23, 18
+
+gTradeLevelDisplayCoords:: @ 820C2B6
+ @ left-side party
+ .byte 5, 4
+ .byte 12, 4
+ .byte 5, 9
+ .byte 12, 9
+ .byte 5, 14
+ .byte 12, 14
+
+ @ right-side party
+ .byte 20, 4
+ .byte 27, 4
+ .byte 20, 9
+ .byte 27, 9
+ .byte 20, 14
+ .byte 27, 14
+
+gTradeMonBoxCoords:: @ 820C2CE
+ @ left-side party
+ .byte 1, 3
+ .byte 8, 3
+ .byte 1, 8
+ .byte 8, 8
+ .byte 1, 13
+ .byte 8, 13
+
+ @ right-side party
+ .byte 16, 3
+ .byte 23, 3
+ .byte 16, 8
+ .byte 23, 8
+ .byte 16, 13
+ .byte 23, 13
+
+gTradeUnknownSpriteCoords:: @ 820C2E6
+ .byte 59, 10
+ .byte 179, 10
+ .byte 59, 10
+ .byte 179, 10
+
+ .align 2
+gUnknown_0820C2F0:: @ 820C2F0
+ .4byte TradeText_LinkStandby
+ .4byte TradeText_TradeCancelled
+ .4byte TradeText_OnlyPoke
+ .4byte TradeText_NonTradablePoke
+ .4byte TradeText_WaitingForFriend
+ .4byte TradeText_WantToTrade
+
+gTradeMessageWindowRects:: @ 820C308
+ .byte 8, 7, 22, 12
+ .byte 8, 7, 22, 12
+ .byte 6, 7, 24, 12
+ .byte 6, 7, 24, 12
+ .byte 8, 7, 22, 12
+ .byte 7, 7, 23, 12
+
+ .align 2
+gUnknown_0820C320:: @ 820C320
+ .4byte TradeText_Summary2, sub_804A9F4 @unknown
+ .4byte TradeText_Trade2, sub_804AA00
+
+gUnknown_0820C330:: @ 820C330
+ .byte 0, 14
+ .byte 15, 29
+
+gUnknown_0820C334:: @ 820C334
+ .byte 3, 5
+ .byte 3, 7
+ .byte 18, 5
+ .byte 18, 7
+
+gOtherText_Terminator::
+ .string "$"
+
+gOtherText_MaleSymbol3:: @ 820C33D
+ .string "♂$"
+
+gOtherText_FemaleSymbol3:: @ 820C33F
+ .string "♀$"
+
+gOtherText_GenderlessSymbol:: @ 820C341
+ .string "$$"
+
+ .align 2
+ .4byte gTileBuffer
+
+@ Unused debug strings?
+ .string "かいめの そうしん$", 13
+ .string "かいめの じゅしん$", 13
+ .string "ポケモンアイコンセット$", 13
+ .string "OBJテキストセット$", 13
+ .string "セルセット$", 13
+ .string "OBJテキストADD$", 13
+ .string "システムメッセージADD$", 13
+ .string "はいけいセット$", 13
+
+@ Shedinja's Japanese name
+@ sub_8048D44 compares a pokemon name with this string
+gUnknown_0820C3B0:: @ 820C3B0
+ .string "ヌケニン$"
+
+ .string "こうかんせいりつ $" @ trade completed
+ .string "だめだたらしいよ $" @ it's no good (trade failed maybe?)
+
+gUnknown_0820C3D1:: @ 820C3D1
+ .byte 4, 3
+ .byte 19, 3
+
+ .align 2
+gTradeBallPalette:: @ 820C3D8
+ .incbin "graphics/trade/ball.gbapal"
+
+ .align 2
+gTradeBallTiles:: @ 820C3F8
+ .incbin "graphics/trade/ball.4bpp"
+
+ .align 2
+gUnknown_0820C9F8:: @ 820C9F8
+ .incbin "graphics/trade/unknown.gbapal"
+ .incbin "graphics/trade/gba.gbapal"
+ .incbin "graphics/trade/shadow.gbapal"
+ .space 32
+ .incbin "graphics/trade/misc.gbapal"
+
+ .align 2
+gUnknown_0820CA98:: @ 820CA98
+ .incbin "graphics/trade/gba.4bpp"
+ .incbin "graphics/trade/shadow.4bpp"
+
+ .align 2
+gUnknown_0820DD98:: @ 820DD98
+ .incbin "graphics/trade/pokeball_symbol.8bpp"
+
+ .align 2
+gUnknown_0820F798:: @ 820F798
+ .incbin "graphics/trade/shadow_map.bin"
+
+ .align 2
+gUnknown_08210798:: @ 8210798
+ .incbin "graphics/trade/gba_map.bin"
+
+ .align 2
+gUnknown_08211798:: @ 8211798
+ .incbin "graphics/trade/cable_closeup_map.bin"
+
+ .align 2
+gUnknown_08211F98:: @ 8211F98
+ .incbin "graphics/trade/pokeball_symbol_map.bin"
+
+ .incbin "graphics/unused/unknown/8212098.gbapal"
+
+ .align 2
+gTradeCableEndPalette:: @ 82120B8
+ .incbin "graphics/trade/cable_end.gbapal"
+
+ .incbin "graphics/unused/unknown/82120D8.gbapal"
+
+ .space 32
+
+ .align 2
+gTradeGlowPalette:: @ 8212118
+ .incbin "graphics/trade/glow.gbapal"
+
+ .align 2
+gTradeGlow1Tiles:: @ 8212138
+ .incbin "graphics/trade/glow1.4bpp"
+
+ .align 2
+gTradeGlow2Tiles:: @ 8212338
+ .incbin "graphics/trade/glow2.4bpp"
+
+ .align 2
+gTradeCableEndTiles:: @ 8212538
+ .incbin "graphics/trade/cable_end.4bpp"
+
+ .align 2
+gTradeGBAScreenTiles:: @ 8212738
+ .incbin "graphics/trade/gba_screen.4bpp"
+
+ .align 2
+gUnknown_08213738:: @ 8213738
+ .incbin "graphics/trade/gba_affine.8bpp"
+
+ .align 2
+gUnknown_08215778:: @ 8215778
+ .incbin "graphics/trade/gba_affine_map.bin"
+
+ .align 2
+gOamData_8215878:: @ 8215878
+ .2byte 0x0100
+ .2byte 0x4000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_8215880:: @ 8215880
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 4, 3
+ obj_image_anim_frame 8, 3
+ obj_image_anim_frame 12, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 20, 3
+ obj_image_anim_frame 24, 3
+ obj_image_anim_frame 28, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 36, 3
+ obj_image_anim_frame 40, 3
+ obj_image_anim_frame 44, 3
+ obj_image_anim_loop 1
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_82158BC:: @ 82158BC
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 4, 3
+ obj_image_anim_frame 8, 3
+ obj_image_anim_frame 12, 3
+ obj_image_anim_frame 16, 3
+ obj_image_anim_frame 20, 3
+ obj_image_anim_frame 24, 3
+ obj_image_anim_frame 28, 3
+ obj_image_anim_frame 32, 3
+ obj_image_anim_frame 36, 3
+ obj_image_anim_frame 40, 3
+ obj_image_anim_frame 44, 3
+ obj_image_anim_loop 2
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_82158F8:: @ 82158F8
+ .4byte gSpriteAnim_8215880
+ .4byte gSpriteAnim_82158BC
+
+ .align 2
+gSpriteAffineAnim_8215900:: @ 8215900
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8215910:: @ 8215910
+ obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8215920:: @ 8215920
+ obj_rot_scal_anim_frame 0x60, 0x100, 0, 0
+ obj_rot_scal_anim_frame 0x0, 0x0, 0, 5
+ obj_rot_scal_anim_frame 0x8, 0x0, 0, 20
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_8215940:: @ 8215940
+ .4byte gSpriteAffineAnim_8215900
+ .4byte gSpriteAffineAnim_8215910
+ .4byte gSpriteAffineAnim_8215920
+
+ .align 2
+gUnknown_0821594C:: @ 821594C
+ obj_tiles gTradeBallTiles, 0x600, 5557
+
+ .align 2
+gUnknown_08215954:: @ 8215954
+ obj_pal gTradeBallPalette, 5558
+
+ .align 2
+gSpriteTemplate_821595C:: @ 821595C
+ spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC
+
+ .align 2
+gOamData_8215974:: @ 8215974
+ .2byte 0x0500
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_821597C:: @ 821597C
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8215984:: @ 8215984
+ .4byte gSpriteAnim_821597C
+
+ .align 2
+gSpriteAffineAnim_8215988:: @ 8215988
+ obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5
+ obj_rot_scal_anim_frame 0xA, 0xA, 0, 5
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_82159A0:: @ 82159A0
+ .4byte gSpriteAffineAnim_8215988
+
+ .align 2
+gUnknown_082159A4:: @ 82159A4
+ obj_tiles gTradeGlow1Tiles, 0x200, 5550
+
+ .align 2
+gUnknown_082159AC:: @ 82159AC
+ obj_pal gTradeGlowPalette, 5551
+
+ .align 2
+gUnknown_082159B4:: @ 82159B4
+ obj_pal gTradeCableEndPalette, 5555
+
+ .align 2
+gSpriteTemplate_82159BC:: @ 82159BC
+ spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058
+
+ .align 2
+gOamData_82159D4:: @ 82159D4
+ .2byte 0x8000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_82159DC:: @ 82159DC
+ obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_82159E4:: @ 82159E4
+ obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_82159EC:: @ 82159EC
+ .4byte gSpriteAnim_82159DC
+ .4byte gSpriteAnim_82159E4
+
+ .align 2
+gUnknown_082159F4:: @ 82159F4
+ obj_tiles gTradeGlow2Tiles, 0x300, 5552
+
+ .align 2
+gSpriteTemplate_82159FC:: @ 82159FC
+ spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C
+
+ .align 2
+gOamData_8215A14:: @ 8215A14
+ .2byte 0x8000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8215A1C:: @ 8215A1C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8215A24:: @ 8215A24
+ .4byte gSpriteAnim_8215A1C
+
+ .align 2
+gUnknown_08215A28:: @ 8215A28
+ obj_tiles gTradeCableEndTiles, 0x100, 5554
+
+ .align 2
+gSpriteTemplate_8215A30:: @ 8215A30
+ spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC
+
+ .align 2
+gOamData_8215A48:: @ 8215A48
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_8215A50:: @ 8215A50
+ obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
+ obj_image_anim_loop 8
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_8215A74:: @ 8215A74
+ .4byte gSpriteAnim_8215A50
+
+ .align 2
+gUnknown_08215A78:: @ 8215A78
+ obj_tiles gTradeGBAScreenTiles, 0x1000, 5556
+
+ .align 2
+gSpriteTemplate_8215A80:: @ 8215A80
+ spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104
+
+ .align 1
+gTradeGlow2PaletteAnimTable:: @ 8215A98
+ .2byte 0x7F12
+ .2byte 0x7F12
+ .2byte 0x7F12
+ .2byte 0x7FFF
+ .2byte 0x7FFF
+ .2byte 0x7FFF
+ .2byte 0x7F12
+ .2byte 0x7F12
+ .2byte 0x7F12
+ .2byte 0x7FFF
+ .2byte 0x7FFF
+ .2byte 0x7FFF
+
+ .align 2
+gSpriteAffineAnim_8215AB0:: @ 8215AB0
+ obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
+ obj_rot_scal_anim_jump 0
+
+ .align 2
+gSpriteAffineAnimTable_8215AC0:: @ 8215AC0
+ .4byte gSpriteAffineAnim_8215AB0
+
+@ 8215AC4
+ .include "data/ingame_trades.inc"
+
+gTradeBallVerticalVelocityTable:: @ 8215BA0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte -4
+ .byte -4
+ .byte -4
+ .byte -3
+ .byte -3
+ .byte -3
+ .byte -3
+ .byte -2
+ .byte -2
+ .byte -2
+ .byte -2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte -1
+ .byte 0
+ .byte -1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte -4
+ .byte -3
+ .byte -3
+ .byte -2
+ .byte -2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte -1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte -4
+ .byte -3
+ .byte -2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 3
diff --git a/include/asm.inc.h b/include/asm.inc.h
index f533d8729..bfa37e058 100644
--- a/include/asm.inc.h
+++ b/include/asm.inc.h
@@ -11,7 +11,6 @@ void sub_8032AA8(u8 index, int i);
// asm/rom_803D1FC.o
u16 SpeciesToNationalPokedexNum(u16);
-u32 SpeciesToCryId(u32);
void DrawSpindaSpots(u16, u32, void *, u8);
u8 sub_803FC58(u16);
void AdjustFriendship(struct Pokemon *, u8);
@@ -34,42 +33,9 @@ u8 daycare_relationship_score_from_savegame(void);
// asm/rom_804373C.o
void CreatePokeballSprite(u8 r0, u8 r1, u8 r2, u8 r3, u8 s1, u8 s2, u8 s3, u16 s4);
-// asm/load_save.o
-void CheckForFlashMemory(void);
-int sub_80479F8();
-void sub_8047A04();
-void sub_8047A1C(void);
-void sub_8047A34(void);
-void save_serialize_game(void);
-void save_deserialize_game();
-
// asm/berry_blender.o
void sub_80516C4(u8, u16);
-// asm/metatile_behavior.o
-bool8 MetatileBehavior_IsSandOrDeepSand(char);
-bool8 is_tile_x69_2_warp_door(u8);
-u8 MetatileBehavior_IsDoor(u8);
-bool8 MetatileBehavior_IsLadder(u8);
-u8 sub_8056F08(u8);
-bool8 sub_8056F24(u8);
-u8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8);
-bool8 MetatileBehavior_IsEastArrowWarp(u8);
-bool8 MetatileBehavior_IsWestArrowWarp(u8);
-bool8 MetatileBehavior_IsNorthArrowWarp(u8);
-bool8 MetatileBehavior_IsSouthArrowWarp(u8);
-bool8 MetatileBehavior_IsTallGrass(char);
-bool8 MetatileBehavior_IsLongGrass(char);
-u8 MetatileBehavior_IsBridge(u8);
-u8 sub_8057450(u8);
-u8 MetatileBehavior_IsLandWildEncounter(u8);
-u8 MetatileBehavior_IsWaterWildEncounter(u8);
-bool8 sub_80574C4(char);
-bool8 sub_80574D8(char);
-bool8 sub_8057568(char);
-bool8 sub_805759C(u8);
-bool8 MetatileBehavior_IsSurfableFishableWater(u8);
-
// src/field_door.o
void FieldSetDoorOpened(u32, u32);
void FieldSetDoorClosed(u32, u32);
@@ -100,6 +66,7 @@ void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
void sub_805BCF0(u8, u8, u8, u8);
void sub_805BD48(u8, u8, u8);
void sub_805BD90(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
+void gpu_pal_allocator_reset__manage_upper_four(void);
void npc_coords_shift(struct MapObject *pObject, s16 x, s16 y);
void sub_805C0F8(u8, u8, u8, s16, s16);
void npc_coords_shift_still(struct MapObject *pObject);
@@ -249,11 +216,17 @@ void sub_808AB90(void);
// asm/rom_8094928.o
void sub_80961D8(void);
+u8 sub_809D3A4(u16 arg0, void (*)(struct Sprite *), int, u8 arg3, u32 arg4);
+u16 sub_809D4A8(u16);
+void sub_809D510(struct Sprite *);
+void sub_809D580(u16);
+void sub_809D608(u16);
u8 pokemon_ailments_get_primary(u32);
u8 exec_movement(u8, u8, u8, void *);
bool8 sub_80A212C(u8, u8, u8);
void sub_80A2178(void);
void sub_80A2B18(void);
+u16 sub_80A2D64(u16, u8 *);
void AddMapNamePopUpWindowTask(void);
void HideMapNamePopUpWindow();
@@ -261,12 +234,22 @@ void HideMapNamePopUpWindow();
void sub_80A3684(void);
void sub_80A3714(void);
void sub_80A53F8(void);
+void sub_80A5B40(void);
void sub_80A68CC();
+u8 sub_80A7D8C(u8 berry, int i, int i1);
+void sub_80A7DD4(void);
+u8 sub_80A7E5C(u8);
+
+// src/matsuda_debug_menu.o
+void sub_80AA280(u8);
+void sub_80AA5E8(u8);
+void sub_80AA658(u8);
// asm/contest.o
void sub_80AB1B0(void);
void sub_80AE098(u8);
void sub_80AE398(u8, u8);
+u32 sub_80AE770(u8, u8);
void sub_80AE82C(u8);
void sub_80AF668(void);
void sub_80B0F28(u8);
@@ -289,15 +272,6 @@ void *picbox_close(void);
// asm/naming_screen.o
void DoNamingScreen(u8 r0, struct SaveBlock2 *r1, u16 r2, u16 r3, u8 s0, MainCallback s4);
-// asm/money.o
-bool8 IsEnoughMoney(u32, u32);
-void sub_80B79B8(u32 *, u32);
-void sub_80B79E0(u32 *, u32);
-void sub_80B7AEC(u32, u8 left, u8 top);
-void sub_80B7BEC(u32, u8, u8);
-void sub_80B7C14(u32, u8, u8);
-void RemoveMoneyLabelObject(u8, u8);
-
// asm/secret_base.o
void sub_80BB5B4(void);
u8 sub_80BBB24(void);
@@ -373,6 +347,11 @@ void sub_80EBA5C(void);
void sub_80F7AA4(void);
void sub_80F7F30(void);
+// asm/menu_helpers.o
+bool8 sub_80F9344(void);
+void sub_80F9368(void);
+void sub_80F9438(void);
+
// asm/script_pokemon_util_80F99CC.o
void sub_80F99CC(void);
@@ -417,6 +396,7 @@ void sub_811AAD8(u8);
u8 sub_811AAE8(void);
// asm/mystery_event_script.o
+u32 sub_812613C(u8 *);
void sub_8126160(u8);
u16 sub_8126338(void);
@@ -467,12 +447,6 @@ void sub_813E930(/*TODO: arg types*/);
void sub_813EB4C(u8);
void sub_813EDBC(/*TODO: arg types*/);
-// asm/mystery_event_menu.o
-void CB2_InitMysteryEventMenu(void);
-
-// asm/save_failed_screen.o
-void fullscreen_save_activate();
-
// asm/rom_81473B8.o
bool8 sub_81474C8(void);
void sub_8147514(void);
@@ -486,6 +460,7 @@ u8 intro_create_brendan_sprite(/*TODO: arg types*/);
u8 intro_create_may_sprite(/*TODO: arg types*/);
u8 intro_create_latios_sprite(/*TODO: arg types*/);
u8 intro_create_latias_sprite(/*TODO: arg types*/);
+void sub_814A568(u8*);
// src/agb_flash.o
u16 ReadFlashId(void);
@@ -493,3 +468,4 @@ u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size);
u32 ProgramFlashSectorAndVerify();
u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n);
+u16 IdentifyFlash(void);
diff --git a/include/berry_tag_screen.h b/include/berry_tag_screen.h
new file mode 100644
index 000000000..60932ff80
--- /dev/null
+++ b/include/berry_tag_screen.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_BERRY_TAG_SCREEN_H
+#define GUARD_BERRY_TAG_SCREEN_H
+
+void BerryTagScreen_814625C(u8 taskId);
+
+#endif // GUARD_BERRY_TAG_SCREEN_H
diff --git a/include/config.h b/include/config.h
new file mode 100644
index 000000000..5ee062006
--- /dev/null
+++ b/include/config.h
@@ -0,0 +1,25 @@
+#ifndef GUARD_CONFIG_H
+#define GUARD_CONFIG_H
+
+#ifndef REVISION
+#define REVISION 0
+#endif
+
+#if REVISION == 2
+#define BUGFIX_BERRY
+#endif
+
+#if REVISION >= 1
+#define BUGFIX_GLYPHWIDTH
+#define BUGFIX_SAVEFAILEDSCREEN1
+#endif
+
+// #define BUGFIX_SAVEFAILEDSCREEN2
+
+// European editions of Ruby/Sapphire and all editions of Emerald have this fix.
+// #define BUGFIX_TRAINERAPPROACH
+
+// Fixed in Emerald.
+// #define BUGFIX_SETMONIVS
+
+#endif // GUARD_CONFIG_H
diff --git a/include/decompress.h b/include/decompress.h
index 382e6d76a..a9bdd341b 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -12,5 +12,6 @@ void LoadCompressedObjectPaletteOverrideBuffer(const struct SpritePalette *a, vo
void DecompressPicFromTable_2(const struct SpriteSheet *a, u8 b, u8 c, void *d, void *e, s32 f);
void sub_800D334(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g);
void sub_800D378(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g, u32 h);
+void Unused_LZDecompressWramIndirect(const void **src, void *dest);
#endif // GUARD_DECOMPRESS_H
diff --git a/include/global.h b/include/global.h
index ce2267642..66b6b6b50 100644
--- a/include/global.h
+++ b/include/global.h
@@ -2,10 +2,7 @@
#define GUARD_GLOBAL_H
#include "gba/gba.h"
-
-#ifndef REVISION
-#define REVISION 0
-#endif
+#include "config.h"
// Prevent cross-jump optimization.
#define BLOCK_CROSS_JUMP asm("");
@@ -29,6 +26,14 @@ enum
VERSION_RUBY = 2,
};
+enum LanguageId {
+ LANGUAGE_JAPANESE = 1,
+ LANGUAGE_ENGLISH = 2,
+ LANGUAGE_GERMAN = 5,
+};
+
+#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
+
enum
{
MALE,
@@ -169,6 +174,11 @@ struct EasyChatPair
u16 words[2];
}; /*size = 0x8*/
+struct SaveBlock1_2B4C_Struct
+{
+ u8 filler[0x24];
+};
+
struct SaveBlock1
{
/*0x00*/ struct Coords16 pos;
@@ -230,7 +240,9 @@ struct SaveBlock1
/*0x2B0D*/ u8 outbreakPokemonProbability;
/*0x2B0E*/ u8 filler_2B0E[0xE];
/*0x2B1C*/ u16 unk2B1C[4];
- /*0x2B24*/ u8 filler_2B24[0x2B0];
+ /*0x2B24*/ u8 filler_2B24[0x28];
+ /*0x2B4C*/ struct SaveBlock1_2B4C_Struct unkSave[16];
+ /*0x2D8C*/ u8 filler_2D8C[0x48];
/*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2DFC*/ u8 filler_2DFC[0x100];
/*0x2EFC*/ struct SB1_2EFC_Struct sb1_2EFC_struct[5];
@@ -284,7 +296,7 @@ struct SaveBlock2
{
/*0x00*/ u8 playerName[8];
/*0x08*/ u8 playerGender; // MALE, FEMALE
- /*0x09*/ u8 sb2_field_9;
+ /*0x09*/ u8 specialSaveWarp;
/*0x0A*/ u8 playerTrainerId[4];
/*0x0E*/ u16 playTimeHours;
/*0x10*/ u8 playTimeMinutes;
diff --git a/include/hold_effects.h b/include/hold_effects.h
new file mode 100644
index 000000000..b653f5a92
--- /dev/null
+++ b/include/hold_effects.h
@@ -0,0 +1,72 @@
+#ifndef GUARD_HOLD_EFFECTS_H
+#define GUARD_HOLD_EFFECTS_H
+
+#define HOLD_EFFECT_NONE 0
+#define HOLD_EFFECT_RESTORE_HP 1
+#define HOLD_EFFECT_CURE_PAR 2
+#define HOLD_EFFECT_CURE_SLP 3
+#define HOLD_EFFECT_CURE_PSN 4
+#define HOLD_EFFECT_CURE_BRN 5
+#define HOLD_EFFECT_CURE_FRZ 6
+#define HOLD_EFFECT_RESTORE_PP 7
+#define HOLD_EFFECT_CURE_CONFUSION 8
+#define HOLD_EFFECT_CURE_STATUS 9
+#define HOLD_EFFECT_CONFUSE_SPICY 10
+#define HOLD_EFFECT_CONFUSE_DRY 11
+#define HOLD_EFFECT_CONFUSE_SWEET 12
+#define HOLD_EFFECT_CONFUSE_BITTER 13
+#define HOLD_EFFECT_CONFUSE_SOUR 14
+#define HOLD_EFFECT_ATTACK_UP 15
+#define HOLD_EFFECT_DEFENSE_UP 16
+#define HOLD_EFFECT_SPEED_UP 17
+#define HOLD_EFFECT_SP_ATTACK_UP 18
+#define HOLD_EFFECT_SP_DEFENSE_UP 19
+#define HOLD_EFFECT_CRITICAL_UP 20
+#define HOLD_EFFECT_RANDOM_STAT_UP 21
+#define HOLD_EFFECT_EVASION_UP 22
+#define HOLD_EFFECT_RESTORE_STATS 23
+#define HOLD_EFFECT_MACHO_BRACE 24
+#define HOLD_EFFECT_EXP_SHARE 25
+#define HOLD_EFFECT_QUICK_CLAW 26
+#define HOLD_EFFECT_HAPPINESS_UP 27
+#define HOLD_EFFECT_CURE_ATTRACT 28
+#define HOLD_EFFECT_CHOICE_BAND 29
+#define HOLD_EFFECT_FLINCH 30
+#define HOLD_EFFECT_BUG_POWER 31
+#define HOLD_EFFECT_DOUBLE_PRIZE 32
+#define HOLD_EFFECT_REPEL 33
+#define HOLD_EFFECT_SOUL_DEW 34
+#define HOLD_EFFECT_DEEP_SEA_TOOTH 35
+#define HOLD_EFFECT_DEEP_SEA_SCALE 36
+#define HOLD_EFFECT_CAN_ALWAYS_RUN 37
+#define HOLD_EFFECT_PREVENT_EVOLVE 38
+#define HOLD_EFFECT_FOCUS_BAND 39
+#define HOLD_EFFECT_LUCKY_EGG 40
+#define HOLD_EFFECT_SCOPE_LENS 41
+#define HOLD_EFFECT_STEEL_POWER 42
+#define HOLD_EFFECT_LEFTOVERS 43
+#define HOLD_EFFECT_DRAGON_SCALE 44
+#define HOLD_EFFECT_LIGHT_BALL 45
+#define HOLD_EFFECT_GROUND_POWER 46
+#define HOLD_EFFECT_ROCK_POWER 47
+#define HOLD_EFFECT_GRASS_POWER 48
+#define HOLD_EFFECT_DARK_POWER 49
+#define HOLD_EFFECT_FIGHTING_POWER 50
+#define HOLD_EFFECT_ELECTRIC_POWER 51
+#define HOLD_EFFECT_WATER_POWER 52
+#define HOLD_EFFECT_FLYING_POWER 53
+#define HOLD_EFFECT_POISON_POWER 54
+#define HOLD_EFFECT_ICE_POWER 55
+#define HOLD_EFFECT_GHOST_POWER 56
+#define HOLD_EFFECT_PSYCHIC_POWER 57
+#define HOLD_EFFECT_FIRE_POWER 58
+#define HOLD_EFFECT_DRAGON_POWER 59
+#define HOLD_EFFECT_NORMAL_POWER 60
+#define HOLD_EFFECT_UP_GRADE 61
+#define HOLD_EFFECT_SHELL_BELL 62
+#define HOLD_EFFECT_LUCKY_PUNCH 63
+#define HOLD_EFFECT_METAL_POWDER 64
+#define HOLD_EFFECT_THICK_CLUB 65
+#define HOLD_EFFECT_STICK 66
+
+#endif // GUARD_HOLD_EFFECTS_H
diff --git a/include/link.h b/include/link.h
index 694339164..a5d30a473 100644
--- a/include/link.h
+++ b/include/link.h
@@ -124,11 +124,13 @@ struct Link
extern struct Link gLink;
extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS];
+extern u16 gLinkType;
extern u32 gLinkStatus;
extern u16 gSendCmd[CMD_LENGTH];
extern u8 gShouldAdvanceLinkState;
extern struct LinkPlayer gLinkPlayers[];
extern u16 word_3002910[];
+extern bool8 gReceivedRemoteLinkPlayers;
void Task_DestroySelf(u8);
void sub_8007270(u8);
diff --git a/include/load_save.h b/include/load_save.h
new file mode 100644
index 000000000..5ca52a2fc
--- /dev/null
+++ b/include/load_save.h
@@ -0,0 +1,17 @@
+#ifndef GUARD_LOAD_SAVE_H
+#define GUARD_LOAD_SAVE_H
+
+void CheckForFlashMemory(void);
+bool32 GetSecretBase2Field_9(void);
+void ClearSecretBase2Field_9(void);
+void SetSecretBase2Field_9(void);
+void SetSecretBase2Field_9_AndHideBG(void);
+void ClearSecretBase2Field_9_2(void);
+void SavePlayerParty(void);
+void LoadPlayerParty(void);
+void SaveSerializedGame(void);
+void LoadSerializedGame(void);
+void LoadPlayerData(void);
+void SavePlayerData(void);
+
+#endif // GUARD_LOAD_SAVE_H
diff --git a/include/mail.h b/include/mail.h
new file mode 100644
index 000000000..a579dc458
--- /dev/null
+++ b/include/mail.h
@@ -0,0 +1,15 @@
+#ifndef GUARD_MAIL_H
+#define GUARD_MAIL_H
+
+#include "main.h"
+
+struct MailStruct {
+ /* 0x00 */ u16 words[9];
+ /* 0x12 */ u8 var12[12];
+ /* 0x1E */ u16 var1E;
+ /* 0x20 */ u16 var20;
+};
+
+void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2);
+
+#endif // GUARD_MAIL_H
diff --git a/include/main.h b/include/main.h
index 054bba901..5d8f8b68a 100644
--- a/include/main.h
+++ b/include/main.h
@@ -40,6 +40,7 @@ struct Main
u8 state;
u8 oamLoadDisabled:1;
+ u8 inBattle:1;
};
extern u8 gUnknown_3001764;
diff --git a/include/menu.h b/include/menu.h
index 9592fc291..7b3525461 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -6,9 +6,11 @@
struct MenuAction
{
u8 *text;
- u8 (*func)(void);
+ u8 (*func)();
};
+void sub_8071C20(void);
+void AppendToList(u8 *list, u8 *pindex, u32 value);
void InitMenuWindow(const struct WindowConfig *);
void MultistepInitMenuWindowBegin(const struct WindowConfig *);
bool32 MultistepInitMenuWindowContinue(void);
@@ -39,7 +41,7 @@ s8 ProcessMenuInput(void);
s8 ProcessMenuInputNoWrap(void);
u8 MoveMenuCursor3(s8);
u8 MoveMenuCursor4(s8);
-void sub_807274C(u8, u8, u8, u8, u8 * const [][2], u8, u32);
+void sub_807274C(u8, u8, u8, u8, const struct MenuAction[], u8, u32);
s8 sub_80727CC(void);
u8 sub_807288C(u8);
void PrintMenuItems(u8, u8, u8, const struct MenuAction[]);
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
new file mode 100644
index 000000000..34b660054
--- /dev/null
+++ b/include/metatile_behavior.h
@@ -0,0 +1,136 @@
+#ifndef GUARD_METATILE_BEHAVIOR
+#define GUARD_METATILE_BEHAVIOR
+
+bool8 sub_8056D9C(u8);
+bool8 sub_8056DA0(u8);
+bool8 MetatileBehavior_IsJumpEast(u8);
+bool8 MetatileBehavior_IsJumpWest(u8);
+bool8 MetatileBehavior_IsJumpNorth(u8);
+bool8 MetatileBehavior_IsJumpSouth(u8);
+bool8 sub_8056E14(u8);
+bool8 MetatileBehavior_IsSandOrDeepSand(u8);
+bool8 MetatileBehavior_IsDeepSand(u8);
+bool8 MetatileBehavior_IsReflective(u8);
+bool8 MetatileBehavior_IsIce(u8);
+bool8 is_tile_x69_2_warp_door(u8);
+bool8 MetatileBehavior_IsDoor(u8);
+bool8 MetatileBehavior_IsEscalator(u8);
+bool8 unref_sub_8056EE0(u8);
+bool8 MetatileBehavior_IsLadder(u8);
+bool8 sub_8056F08(u8);
+bool8 sub_8056F24(u8);
+bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8);
+bool8 MetatileBehavior_IsEastArrowWarp(u8);
+bool8 MetatileBehavior_IsWestArrowWarp(u8);
+bool8 MetatileBehavior_IsNorthArrowWarp(u8);
+bool8 MetatileBehavior_IsSouthArrowWarp(u8);
+bool8 MetatileBehavior_IsArrowWarp(u8);
+bool8 sub_8056FFC(u8);
+bool8 MetatileBehavior_IsIce_2(u8);
+bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8);
+bool8 MetatileBehavior_0x05(u8);
+bool8 MetatileBehavior_IsWalkNorth(u8);
+bool8 MetatileBehavior_IsWalkSouth(u8);
+bool8 MetatileBehavior_IsWalkWest(u8);
+bool8 MetatileBehavior_IsWalkEast(u8);
+bool8 MetatileBehavior_IsNorthwardCurrent(u8);
+bool8 MetatileBehavior_IsSouthwardCurrent(u8);
+bool8 MetatileBehavior_IsWestwardCurrent(u8);
+bool8 MetatileBehavior_IsEastwardCurrent(u8);
+bool8 MetatileBehavior_IsSlideNorth(u8);
+bool8 MetatileBehavior_IsSlideSouth(u8);
+bool8 MetatileBehavior_IsSlideWest(u8);
+bool8 MetatileBehavior_IsSlideEast(u8);
+bool8 MetatileBehavior_IsCounter(u8);
+bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8, u8);
+bool8 MetatileBehavior_IsPC(u8);
+bool8 is_tile_x84(u8);
+bool8 sub_80571C0(u8);
+bool8 sub_80571EC(u8);
+bool8 sub_805720C(u8);
+bool8 is_tile_x98(u8);
+bool8 sub_8057238(u8);
+bool8 sub_805724C(u8);
+bool8 unref_sub_8057260(u8);
+bool8 sub_8057274(u8);
+bool8 sub_8057288(u8);
+bool8 sub_805729C(u8);
+bool8 sub_80572B0(u8);
+bool8 unref_sub_80572C4(u8);
+bool8 sub_80572D8(u8);
+bool8 sub_80572EC(u8);
+bool8 sub_8057300(u8);
+bool8 sub_8057314(u8);
+bool8 sub_8057328(u8);
+bool8 sub_805733C(u8);
+bool8 sub_8057350(u8);
+bool8 sub_8057364(u8);
+bool8 sub_8057378(u8);
+bool8 sub_805738C(u8);
+bool8 MetatileBehavior_HasRipples(u8);
+bool8 MetatileBehavior_IsPuddle(u8);
+bool8 MetatileBehavior_IsTallGrass(u8);
+bool8 MetatileBehavior_IsLongGrass(u8);
+bool8 MetatileBehavior_IsBerryTreeSoil(u8);
+bool8 MetatileBehavior_IsAsh(u8);
+bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8);
+bool8 MetatileBehavior_IsBridge(u8);
+u8 sub_8057450(u8);
+bool8 MetatileBehavior_IsLandWildEncounter(u8);
+bool8 MetatileBehavior_IsWaterWildEncounter(u8);
+bool8 sub_80574C4(u8);
+bool8 sub_80574D8(u8);
+bool8 sub_80574EC(u8);
+bool8 sub_805750C(u8);
+bool8 MetatileBehavior_IsShallowFlowingWater(u8);
+bool8 sub_8057540(u8);
+bool8 sub_8057554(u8);
+bool8 sub_8057568(u8);
+bool8 unref_sub_8057584(u8);
+bool8 sub_805759C(u8);
+bool8 MetatileBehavior_IsEastBlocked(u8);
+bool8 MetatileBehavior_IsWestBlocked(u8);
+bool8 MetatileBehavior_IsNorthBlocked(u8);
+bool8 MetatileBehavior_IsSouthBlocked(u8);
+bool8 MetatileBehavior_IsShortGrass(u8);
+bool8 MetatileBehavior_IsHotSprings(u8);
+bool8 MetatileBehavior_IsWaterfall(u8);
+bool8 MetatileBehavior_IsFortreeBridge(u8);
+bool8 sub_80576A0(u8);
+bool8 sub_80576B4(u8);
+bool8 sub_80576C8(u8);
+bool8 sub_80576DC(u8);
+bool8 MetatileBehavior_IsPacifidlogLog(u8);
+bool8 is_tile_x8C(u8);
+bool8 is_tile_x85(u8);
+bool8 is_tile_x8B(u8);
+bool8 is_tile_x8A(u8);
+bool8 is_tile_x87(u8);
+bool8 MetatileBehavior_0xBB(u8);
+bool8 MetatileBehavior_0xBC(u8);
+bool8 sub_8057798(u8);
+bool8 is_role_x68(u8);
+bool8 MetatileBehavior_IsAquaHideoutWarp(u8);
+bool8 MetatileBehavior_IsSurfableFishableWater(u8);
+bool8 sub_8057804(u8);
+bool8 sub_8057818(u8);
+bool8 sub_805782C(u8);
+bool8 MetatileBehavior_IsMuddySlope(u8);
+bool8 MetatileBehavior_IsBumpySlope(u8);
+bool8 MetatileBehavior_IsIsolatedVerticalRail(u8);
+bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8);
+bool8 MetatileBehavior_IsVerticalRail(u8);
+bool8 MetatileBehavior_IsHorizontalRail(u8);
+bool8 MetatileBehavior_IsSeaweed(u8);
+bool8 MetatileBehavior_IsRunningDisallowed(u8);
+bool8 sub_80578F8(u8);
+bool8 sub_805791C(u8);
+bool8 sub_8057930(u8);
+bool8 sub_8057944(u8);
+bool8 sub_8057958(u8);
+bool8 sub_805796C(u8);
+bool8 sub_8057980(u8);
+bool8 sub_8057994(u8);
+bool8 sub_80579A8(u8);
+
+#endif // GUARD_METATILE_BEHAVIOR
diff --git a/include/metatile_behaviors.h b/include/metatile_behaviors.h
new file mode 100644
index 000000000..ea705054e
--- /dev/null
+++ b/include/metatile_behaviors.h
@@ -0,0 +1,173 @@
+#ifndef GUARD_METATILE_BEHAVIORS
+#define GUARD_METATILE_BEHAVIORS
+
+#define MB_NORMAL 0x00
+#define MB_TALL_GRASS 0x02
+#define MB_LONG_GRASS 0x03
+#define MB_04 0x04
+#define MB_05 0x05
+#define MB_DEEP_SAND 0x06
+#define MB_SHORT_GRASS 0x07
+#define MB_CAVE 0x08
+#define MB_LONG_GRASS_SOUTH_EDGE 0x09
+#define MB_NO_RUNNING 0x0A
+#define MB_0B 0x0B
+#define MB_MOUNTAIN_TOP 0x0C
+#define MB_BATTLE_PYRAMID_WARP 0x0D
+#define MB_MOSSDEEP_GYM_WARP 0x0E
+#define MB_MT_PYRE_HOLE 0x0F
+#define MB_POND_WATER 0x10
+#define MB_SEMI_DEEP_WATER 0x11
+#define MB_DEEP_WATER 0x12
+#define MB_WATERFALL 0x13
+#define MB_SOOTOPOLIS_DEEP_WATER 0x14
+#define MB_OCEAN_WATER 0x15
+#define MB_PUDDLE 0x16
+#define MB_SHALLOW_WATER 0x17
+#define MB_18 0x18
+#define MB_NO_SURFACING 0x19
+#define MB_1A 0x1A
+#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B
+#define MB_SHOAL_CAVE_ENTRANCE 0x1C
+#define MB_ICE 0x20
+#define MB_SAND 0x21
+#define MB_SEAWEED 0x22
+#define MB_ASH 0x24
+#define MB_25 0x25
+#define MB_THIN_ICE 0x26
+#define MB_CRACKED_ICE 0x27
+#define MB_HOT_SPRINGS 0x28
+#define MB_LAVARIDGE_GYM_B1F_WARP 0x29
+#define MB_SEAWEED_NO_SURFACING 0x2A
+#define MB_REFLECTION_UNDER_BRIDGE 0x2B
+#define MB_IMPASSABLE_EAST 0x30
+#define MB_IMPASSABLE_WEST 0x31
+#define MB_IMPASSABLE_NORTH 0x32
+#define MB_IMPASSABLE_SOUTH 0x33
+#define MB_IMPASSABLE_NORTHEAST 0x34
+#define MB_IMPASSABLE_NORTHWEST 0x35
+#define MB_IMPASSABLE_SOUTHEAST 0x36
+#define MB_IMPASSABLE_SOUTHWEST 0x37
+#define MB_JUMP_EAST 0x38
+#define MB_JUMP_WEST 0x39
+#define MB_JUMP_NORTH 0x3A
+#define MB_JUMP_SOUTH 0x3B
+#define MB_JUMP_SOUTHEAST 0x3E
+#define MB_JUMP_SOUTHWEST 0x3F
+#define MB_WALK_EAST 0x40
+#define MB_WALK_WEST 0x41
+#define MB_WALK_NORTH 0x42
+#define MB_WALK_SOUTH 0x43
+#define MB_SLIDE_EAST 0x44
+#define MB_SLIDE_WEST 0x45
+#define MB_SLIDE_NORTH 0x46
+#define MB_SLIDE_SOUTH 0x47
+#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48
+#define MB_EASTWARD_CURRENT 0x50
+#define MB_WESTWARD_CURRENT 0x51
+#define MB_NORTHWARD_CURRENT 0x52
+#define MB_SOUTHWARD_CURRENT 0x53
+#define MB_NON_ANIMATED_DOOR 0x60
+#define MB_LADDER 0x61
+#define MB_EAST_ARROW_WARP 0x62
+#define MB_WEST_ARROW_WARP 0x63
+#define MB_NORTH_ARROW_WARP 0x64
+#define MB_SOUTH_ARROW_WARP 0x65
+#define MB_CRACKED_FLOOR_HOLE 0x66
+#define MB_AQUA_HIDEOUT_WARP 0x67
+#define MB_LAVARIDGE_GYM_1F_WARP 0x68
+#define MB_ANIMATED_DOOR 0x69
+#define MB_UP_ESCALATOR 0x6A
+#define MB_DOWN_ESCALATOR 0x6B
+#define MB_WATER_DOOR 0x6C
+#define MB_WATER_SOUTH_ARROW_WARP 0x6D
+#define MB_DEEP_SOUTH_WARP 0x6E
+#define MB_WARP_OR_BRIDGE 0x70
+#define MB_ROUTE120_NORTH_BRIDGE_1 0x72
+#define MB_ROUTE120_NORTH_BRIDGE_2 0x73
+#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74
+#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75
+#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76
+#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77
+#define MB_FORTREE_BRIDGE 0x78
+#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A
+#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B
+#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C
+#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D
+#define MB_ROUTE110_BRIDGE 0x7F
+#define MB_COUNTER 0x80
+#define MB_PC 0x83
+#define MB_84 0x84
+#define MB_REGION_MAP 0x85
+#define MB_TELEVISION 0x86
+#define MB_POKEBLOCK_FEEDER 0x87
+#define MB_SLOT_MACHINE 0x89
+#define MB_ROULETTE 0x8A
+#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B
+#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C
+#define MB_8D 0x8D
+#define MB_8E 0x8E
+#define MB_QUESTIONNAIRE 0x8F
+#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90
+#define MB_91 0x91
+#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92
+#define MB_93 0x93
+#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94
+#define MB_95 0x95
+#define MB_SECRET_BASE_SPOT_TREE_1 0x96
+#define MB_97 0x97
+#define MB_SECRET_BASE_SPOT_SHRUB 0x98
+#define MB_99 0x99
+#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A
+#define MB_9B 0x9B
+#define MB_SECRET_BASE_SPOT_TREE_2 0x9C
+#define MB_9D 0x9D
+#define MB_BERRY_TREE_SOIL 0xA0
+#define MB_SECRET_BASE_PC 0xB0
+#define MB_B1 0xB1
+#define MB_B2 0xB2
+#define MB_B3 0xB3
+#define MB_B4 0xB4
+#define MB_B5 0xB5
+#define MB_B6 0xB6
+#define MB_B7 0xB7
+#define MB_B8 0xB8
+#define MB_B9 0xB9
+#define MB_BA 0xBA
+#define MB_BB 0xBB
+#define MB_BC 0xBC
+#define MB_BD 0xBD
+#define MB_BE 0xBE
+#define MB_BF 0xBF
+#define MB_BED 0xC0
+#define MB_C1 0xC1
+#define MB_C2 0xC2
+#define MB_C3 0xC3
+#define MB_C4 0xC4
+#define MB_C5 0xC5
+#define MB_C6 0xC6
+#define MB_C7 0xC7
+#define MB_C8 0xC8
+#define MB_C9 0xC9
+#define MB_CA 0xCA
+#define MB_CB 0xCB
+#define MB_CC 0xCC
+#define MB_CD 0xCD
+#define MB_CE 0xCE
+#define MB_CF 0xCF
+#define MB_MUDDY_SLOPE 0xD0
+#define MB_BUMPY_SLOPE 0xD1
+#define MB_CRACKED_FLOOR 0xD2
+#define MB_ISOLATED_VERTICAL_RAIL 0xD3
+#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4
+#define MB_VERTICAL_RAIL 0xD5
+#define MB_HORIZONTAL_RAIL 0xD6
+#define MB_PICTURE_BOOK_SHELF 0xE0
+#define MB_BOOKSHELF 0xE1
+#define MB_POKEMON_CENTER_BOOKSHELF 0xE2
+#define MB_VASE 0xE3
+#define MB_TRASH_CAN 0xE4
+#define MB_SHOP_SHELF 0xE5
+#define MB_BLUEPRINT 0xE6
+
+#endif // GUARD_METATILE_BEHAVIORS
diff --git a/include/money.h b/include/money.h
new file mode 100644
index 000000000..49015ee19
--- /dev/null
+++ b/include/money.h
@@ -0,0 +1,17 @@
+#ifndef GUARD_MONEY_H
+#define GUARD_MONEY_H
+
+bool8 IsEnoughMoney(u32, u32);
+void sub_80B79B8(u32 *, u32);
+void sub_80B79E0(u32 *, u32);
+void sub_80B79F8(u8 *buffer, u32 arg1, u8 arg2);
+void sub_80B7A94(u32 arg0, u8 arg1, u8 x, u8 y);
+void sub_80B7AEC(u32, u8 left, u8 top);
+void sub_80B7B34(void);
+void sub_80B7BEC(u32, u8, u8);
+void sub_80B7C14(u32, u8, u8);
+void RemoveMoneyLabelObject(u8, u8);
+bool8 sub_80B7CE8(void);
+void sub_80B7D0C(void);
+
+#endif // GUARD_MONEY_H
diff --git a/include/mystery_event_menu.h b/include/mystery_event_menu.h
new file mode 100644
index 000000000..8801789d9
--- /dev/null
+++ b/include/mystery_event_menu.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_MYSTERY_EVENT_MENU_H
+#define GUARD_MYSTERY_EVENT_MENU_H
+
+void CB2_InitMysteryEventMenu(void);
+
+#endif // GUARD_MYSTERY_EVENT_MENU_H
diff --git a/include/pokemon.h b/include/pokemon.h
index dd80e1ea1..ee141dcc5 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -95,6 +95,25 @@
#define MON_FEMALE 0xFE
#define MON_GENDERLESS 0xFF
+#define TYPE_NORMAL 0x00
+#define TYPE_FIGHTING 0x01
+#define TYPE_FLYING 0x02
+#define TYPE_POISON 0x03
+#define TYPE_GROUND 0x04
+#define TYPE_ROCK 0x05
+#define TYPE_BUG 0x06
+#define TYPE_GHOST 0x07
+#define TYPE_STEEL 0x08
+#define TYPE_MYSTERY 0x09
+#define TYPE_FIRE 0x0a
+#define TYPE_WATER 0x0b
+#define TYPE_GRASS 0x0c
+#define TYPE_ELECTRIC 0x0d
+#define TYPE_PSYCHIC 0x0e
+#define TYPE_ICE 0x0f
+#define TYPE_DRAGON 0x10
+#define TYPE_DARK 0x11
+
struct PokemonSubstruct0
{
u16 species;
diff --git a/include/rom4.h b/include/rom4.h
index b12bbf4bc..036f43c36 100644
--- a/include/rom4.h
+++ b/include/rom4.h
@@ -59,7 +59,7 @@ void sub_8053720(s16, s16);
// sub_8053778
// unref_sub_8053790
// sub_80537CC
-// gpu_sync_bg_hide
+void gpu_sync_bg_hide();
// sub_8053818
// sub_8053850
// sub_80538B0
diff --git a/include/save_failed_screen.h b/include/save_failed_screen.h
new file mode 100644
index 000000000..5a097fb3f
--- /dev/null
+++ b/include/save_failed_screen.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_SAVE_FAILED_SCREEN_H
+#define GUARD_SAVE_FAILED_SCREEN_H
+
+void DoSaveFailedScreen(u8);
+
+#endif // GUARD_SAVE_FAILED_SCREEN_H
diff --git a/include/sprite.h b/include/sprite.h
index 4298593ca..57926fc68 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -245,5 +245,8 @@ void FreeSpritePaletteByTag(u16 tag);
void SetSubspriteTables(struct Sprite *sprite, struct SubspriteTable *subspriteTables);
bool8 AddSpriteToOamBuffer(struct Sprite *object, u8 *oamIndex);
bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u8 *oamIndex);
+void CopyToSprites(u8 *src);
+void CopyFromSprites(u8 *dest);
+u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
#endif // GUARD_SPRITE_H
diff --git a/include/start_menu.h b/include/start_menu.h
index 77bfe5d0e..ae9e51284 100644
--- a/include/start_menu.h
+++ b/include/start_menu.h
@@ -17,7 +17,5 @@ u8 StartMenu_RetireCallback(void);
u8 StartMenu_PlayerLinkCallback(void);
void InitSaveDialog(void);
void sub_8071B28(void);
-void sub_8071C20(void);
-void AppendToList(u8 *list, u8 *pindex, u32 value);
#endif // GUARD_STARTER_CHOOSE_H
diff --git a/include/text.h b/include/text.h
index d0d418eab..7dbbcb844 100644
--- a/include/text.h
+++ b/include/text.h
@@ -4,6 +4,7 @@
#define CHAR_SPACE 0x00
#define CHAR_QUESTION_MARK 0xAC
#define CHAR_HYPHEN 0xAE
+#define CHAR_CURRENCY 0xB7
#define CHAR_COLON 0xF0
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
#define PLACEHOLDER_BEGIN 0xFD // string placeholder
@@ -35,7 +36,7 @@ struct Window
{
u8 textMode;
u8 fontNum;
- u8 charset;
+ u8 language;
u8 foregroundColor;
u8 backgroundColor;
u8 shadowColor;
diff --git a/ld_script.txt b/ld_script.txt
index 44151e4b7..69cbc2ddc 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -50,9 +50,11 @@ SECTIONS {
src/decompress.o(.text);
asm/rom_800D42C.o(.text);
src/pokemon_1.o(.text);
- asm/calculate_base_damage.o(.text);
+ src/calculate_base_damage.o(.text);
src/pokemon_2.o(.text);
- asm/rom_803D1FC.o(.text);
+ asm/pokemon_item_effect.o(.text);
+ src/pokemon_3.o(.text);
+ asm/pokemon_3.o(.text);
src/trig.o(.text);
src/rng.o(.text);
asm/rom_8040EB4.o(.text);
@@ -60,18 +62,21 @@ SECTIONS {
asm/daycare.o(.text);
asm/egg_hatch.o(.text);
asm/rom_804373C.o(.text);
- asm/load_save.o(.text);
+ asm/smokescreen.o(.text);
+ asm/pokeball.o(.text);
+ src/load_save.o(.text);
asm/trade.o(.text);
asm/berry_blender.o(.text);
src/play_time.o(.text);
src/new_game.o(.text);
src/rom4.o(.text);
src/fieldmap.o(.text);
- asm/metatile_behavior.o(.text);
+ src/metatile_behavior.o(.text);
src/field_camera.o(.text);
src/field_door.o(.text);
src/field_player_avatar.o(.text);
asm/field_map_obj.o(.text);
+ src/field_ground_effect.o(.text);
asm/field_ground_effect.o(.text);
src/map_obj_80643A4.o(.text);
src/field_message_box.o(.text);
@@ -91,7 +96,8 @@ SECTIONS {
src/tileset_anim.o(.text);
src/palette.o(.text);
src/sound.o(.text);
- asm/rom_8074BAC.o(.text);
+ asm/battle_anim.o(.text);
+ asm/rom_8077ABC.o(.text);
src/task.o(.text);
asm/rom5.o(.text);
src/title_screen.o(.text);
@@ -112,6 +118,8 @@ SECTIONS {
src/trainer_card.o(.text);
src/save_menu_util.o(.text);
asm/rom_8094928.o(.text);
+ asm/fldeff_cut.o(.text);
+ asm/rom_80A2B18.o(.text);
asm/item_menu.o(.text);
src/battle_anim_80A7E7C.o(.text);
src/item.o(.text);
@@ -120,9 +128,9 @@ SECTIONS {
asm/contest.o(.text);
asm/shop.o(.text);
src/berry.o(.text);
- asm/script_menu.o(.text);
+ src/script_menu.o(.text);
asm/naming_screen.o(.text);
- asm/money.o(.text);
+ src/money.o(.text);
asm/contest_effect.o(.text);
src/record_mixing.o(.text);
asm/record_mixing.o(.text);
@@ -146,7 +154,7 @@ SECTIONS {
asm/pokenav.o(.text);
asm/mon_markings.o(.text);
asm/mauville_old_man.o(.text);
- asm/mail.o(.text);
+ src/mail.o(.text);
asm/menu_helpers.o(.text);
asm/script_pokemon_util_80F99CC.o(.text);
src/dewford_trend.o(.text);
@@ -162,6 +170,8 @@ SECTIONS {
src/starter_choose.o(.text);
src/wallclock.o(.text);
asm/rom6.o(.text);
+ asm/pokeblock.o(.text);
+ asm/rom_810CBB4.o(.text);
asm/battle_records.o(.text);
asm/pokedex_area_screen.o(.text);
asm/evolution_scene.o(.text);
@@ -179,19 +189,26 @@ SECTIONS {
asm/cable_car_util.o(.text);
asm/unused_8124F94.o(.text);
src/save.o(.text);
+ src/mystery_event_script.o(.text);
asm/mystery_event_script.o(.text);
asm/field_effect_helpers.o(.text);
asm/contest_ai.o(.text);
asm/rom_81258BC.o(.text);
+ src/player_pc.o(.text);
asm/player_pc.o(.text);
src/intro.o(.text);
- asm/rom_813BA94.o(.text);
+ asm/intro.o(.text);
+ asm/field_region_map.o(.text);
+ asm/battle_anim_813F0F4.o(.text);
+ asm/hall_of_fame.o(.text);
+ asm/credits.o(.text);
src/lottery_corner.o(.text);
src/diploma.o(.text);
- asm/berry_tag_screen.o(.text);
- asm/mystery_event_menu.o(.text);
- asm/save_failed_screen.o(.text);
+ src/berry_tag_screen.o(.text);
+ src/mystery_event_menu.o(.text);
+ src/save_failed_screen.o(.text);
asm/rom_81473B8.o(.text);
+ asm/pokeblock_feed.o(.text);
src/clear_save_data_menu.o(.text);
asm/rom_8148B8C.o(.text);
src/menu_cursor.o(.text);
@@ -252,6 +269,21 @@ SECTIONS {
src/link.o(.rodata);
src/rtc.o(.rodata);
data/data2.o(.rodata);
+ data/pokeball.o(.rodata);
+ data/trade.o(.rodata);
+ data/berry_blender.o(.rodata);
+ src/new_game.o(.rodata);
+ data/rom4.o(.rodata);
+ data/tilesets.o(.rodata);
+ data/maps.o(.rodata);
+ src/fieldmap.o(.rodata);
+ data/metatile_behavior.o(.rodata);
+ data/field_door.o(.rodata);
+ data/field_player_avatar.o(.rodata);
+ data/field_map_obj.o(.rodata);
+ src/field_ground_effect.o(.rodata);
+ data/field_ground_effect.o(.rodata);
+ data/data_83760F0.o(.rodata);
src/m4a_tables.o(.rodata);
data/sound_data.o(.rodata);
} =0
diff --git a/shared_syms.txt b/shared_syms.txt
index b85cd1f76..7c87c940d 100644
--- a/shared_syms.txt
+++ b/shared_syms.txt
@@ -16,6 +16,8 @@ unk_2016800 = 0x2016800;
unk_2016A00 = 0x2016A00;
unk_2016C00 = 0x2016C00;
+unk_201FE00 = 0x201FE00;
+
gSecretBaseRecord = 0x2017000;
dword_2017100 = 0x2017100;
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 4822cd585..68690bf1d 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -20,6 +20,7 @@
#include "field_message_box.h"
#include "trainer.h"
#include "starter_choose.h"
+#include "metatile_behavior.h"
#define NUM_TRAINER_EYE_TRAINERS 56
#define TRAINER_REMATCH_STEPS 255
@@ -448,7 +449,6 @@ u8 GetWildBattleTransition(void)
u8 GetTrainerBattleTransition(void)
{
struct Trainer *trainer;
- u8 trainerClass;
u8 partyCount;
u8 flashVar;
u8 level;
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
new file mode 100644
index 000000000..e7ef9ca76
--- /dev/null
+++ b/src/berry_tag_screen.c
@@ -0,0 +1,877 @@
+#include "global.h"
+#include "berry_tag_screen.h"
+#include "asm.h"
+#include "berry.h"
+#include "decompress.h"
+#include "main.h"
+#include "menu.h"
+#include "palette.h"
+#include "rom4.h"
+#include "songs.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+
+#define OFFSET_7B (123)
+#define FIRST_BERRY (0x85) // ITEM_CHERI_BERRY
+
+struct Struct2000000 {
+ /*0x00*/ u8 filler_0[0x1FFFF];
+ /*0x1FFFF*/ bool8 var_1FFFF;
+};
+
+struct BerryTagStatus {
+ s16 circles[5];
+};
+
+extern struct Struct2000000 unk_2000000;
+extern u16 gBGTilemapBuffers[4][0x400];
+extern u8 gUnknown_0203932C;
+extern struct BerryTagStatus gUnknown_0203932E;
+extern u16 gScriptItemId;
+extern u16 gUnknown_030041B4;
+
+extern const struct SpriteSheet gUnknown_083C1F74;
+extern const struct SpritePalette gUnknown_083C1F7C;
+
+extern u8 gOtherText_ThreeQuestions2[];
+extern u8 gOtherText_Size[];
+extern u8 gOtherText_Firm[];
+extern u8 gContestStatsText_Unknown1[];
+extern u8 *gUnknown_0841192C[];
+
+extern u8 gBerryCheck_Gfx[];
+extern u8 gBerryCheck_Pal[];
+extern u8 gUnknown_08E788E4[];
+extern u8 gUnknown_08E78A84[];
+
+static void sub_8146014(void);
+static void sub_814602C(void);
+static bool8 sub_8146058(void);
+static void sub_8146288(void);
+static bool8 sub_81462B8(void);
+static void sub_814640C(u8 taskId);
+static void sub_8146440(u8 taskId);
+static void sub_8146480(u8 taskid);
+static void sub_81464E4(void);
+static void sub_8146600(u8 berry);
+// static void sub_81466A0(void);
+static void sub_81466E8(u8 taskId, s32 direction);
+// static void sub_8146798(u8 berry);
+// static void sub_8146810(u8 berry);
+// static void sub_81468BC(void);
+
+static void sub_8146014(void) {
+ AnimateSprites();
+ BuildOamBuffer();
+ RunTasks();
+ UpdatePaletteFade();
+}
+
+static void sub_814602C(void) {
+ REG_BG0VOFS = gUnknown_030041B4;
+ REG_BG1VOFS = gUnknown_030041B4;
+
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static bool8 sub_8146058(void) {
+ u8 berry;
+ u16 backup;
+
+ switch (gMain.state) {
+ case 0:
+ sub_80F9438();
+ sub_80F9368();
+ sub_8146288();
+ REG_BLDCNT = 0;
+ gMain.state += 1;
+ break;
+
+ case 1:
+ ResetPaletteFade();
+ gPaletteFade.bufferTransferDisabled = 1;
+ gMain.state += 1;
+ break;
+
+ case 2:
+ ResetSpriteData();
+ gMain.state += 1;
+ break;
+
+ case 3:
+ SetUpWindowConfig(&gWindowConfig_81E6E18);
+ gMain.state += 1;
+ break;
+
+ case 4:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E6E18);
+ gMain.state += 1;
+ break;
+
+ case 5:
+ if (!MultistepInitMenuWindowContinue()) {
+ return FALSE;
+ }
+ unk_2000000.var_1FFFF = 0;
+ gMain.state += 1;
+ break;
+
+ case 6:
+ if (!sub_81462B8()) {
+ break;
+ }
+
+ unk_2000000.var_1FFFF = 0;
+ gMain.state += 1;
+ break;
+
+ case 7:
+ sub_81464E4();
+ gMain.state += 1;
+ break;
+
+ case 8:
+ berry = gScriptItemId + OFFSET_7B;
+ gUnknown_0203932C = sub_80A7D8C(berry, 56, 64);
+ gMain.state += 1;
+ break;
+
+ case 9:
+ sub_8146600(gScriptItemId + OFFSET_7B);
+ gMain.state += 1;
+ break;
+
+ case 10:
+ backup = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = backup;
+
+ REG_DISPSTAT |= DISPSTAT_VBLANK_INTR;
+ SetVBlankCallback(sub_814602C);
+ REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP;
+ gMain.state += 1;
+ break;
+
+ case 11:
+ if (sub_8055870() == TRUE) {
+ break;
+ }
+ gMain.state += 1;
+ break;
+
+ case 12:
+ BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
+ gPaletteFade.bufferTransferDisabled = 0;
+ SetMainCallback2(sub_8146014);
+ return TRUE;
+
+ }
+
+ return FALSE;
+}
+
+void BerryTagScreen_814625C(u8 taskId) {
+ do {
+ if (sub_8146058() == TRUE) {
+ CreateTask(sub_8146480, 0);
+ return;
+ }
+
+ } while (sub_80F9344() != TRUE);
+}
+
+static void sub_8146288(void) {
+ REG_BG1CNT = 0x502;
+ REG_BG2CNT = 0x600;
+ REG_BG3CNT = 0x703;
+ gUnknown_030041B4 = 0;
+}
+
+#ifdef NONMATCHING
+bool8 sub_81462B8(void) {
+ u16 i;
+
+ switch (unk_2000000.var_1FFFF) {
+ case 0:
+ LZDecompressVram(gBerryCheck_Gfx, (void *) VRAM);
+ unk_2000000.var_1FFFF += 1;
+ break;
+
+ case 1:
+ LZDecompressVram(gUnknown_08E788E4, (void *) VRAM + 0x2800);
+ unk_2000000.var_1FFFF += 1;
+ break;
+
+ case 2:
+ LZDecompressVram(gUnknown_08E78A84, (void *) VRAM + 0x3000);
+ unk_2000000.var_1FFFF += 1;
+ break;
+
+ case 3:
+ for (i = 0; i < 0x400; i++) {
+ u16 (*buffer)[0x400] = &gBGTilemapBuffers[3];
+ if (gSaveBlock2.playerGender == MALE) {
+ (*buffer)[i] = 0x4042;
+ } else {
+ (*buffer)[i] = 0x5042;
+ }
+ }
+ unk_2000000.var_1FFFF += 1;
+ break;
+
+ case 4:
+ LoadCompressedPalette(gBerryCheck_Pal, 0, 96 * 2);
+ unk_2000000.var_1FFFF += 1;
+ break;
+
+ case 5:
+ LoadCompressedObjectPic(&gUnknown_083C1F74);
+ unk_2000000.var_1FFFF += 1;
+ break;
+
+ case 6:
+ LoadCompressedObjectPalette(&gUnknown_083C1F7C);
+ unk_2000000.var_1FFFF = 0;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+#else
+__attribute__((naked))
+static bool8 sub_81462B8(void) {
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ ldr r1, _081462D4 @ =0x02000000\n\
+ ldr r2, _081462D8 @ =0x0001ffff\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ mov r12, r1\n\
+ cmp r0, 0x6\n\
+ bls _081462CA\n\
+ b _08146404\n\
+_081462CA:\n\
+ lsls r0, 2\n\
+ ldr r1, _081462DC @ =_081462E0\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_081462D4: .4byte 0x02000000\n\
+_081462D8: .4byte 0x0001ffff\n\
+_081462DC: .4byte _081462E0\n\
+ .align 2, 0\n\
+_081462E0:\n\
+ .4byte _081462FC\n\
+ .4byte _0814630C\n\
+ .4byte _0814632C\n\
+ .4byte _08146340\n\
+ .4byte _081463A4\n\
+ .4byte _081463C4\n\
+ .4byte _081463E4\n\
+_081462FC:\n\
+ ldr r0, _08146308 @ =gBerryCheck_Gfx\n\
+ movs r1, 0xC0\n\
+ lsls r1, 19\n\
+ bl LZDecompressVram\n\
+ b _081463CA\n\
+ .align 2, 0\n\
+_08146308: .4byte gBerryCheck_Gfx\n\
+_0814630C:\n\
+ ldr r0, _0814631C @ =gUnknown_08E788E4\n\
+ ldr r1, _08146320 @ =0x06002800\n\
+ bl LZDecompressVram\n\
+ ldr r1, _08146324 @ =0x02000000\n\
+ ldr r2, _08146328 @ =0x0001ffff\n\
+ adds r1, r2\n\
+ b _081463D0\n\
+ .align 2, 0\n\
+_0814631C: .4byte gUnknown_08E788E4\n\
+_08146320: .4byte 0x06002800\n\
+_08146324: .4byte 0x02000000\n\
+_08146328: .4byte 0x0001ffff\n\
+_0814632C:\n\
+ ldr r0, _08146338 @ =gUnknown_08E78A84\n\
+ ldr r1, _0814633C @ =0x06003000\n\
+ bl LZDecompressVram\n\
+ b _081463CA\n\
+ .align 2, 0\n\
+_08146338: .4byte gUnknown_08E78A84\n\
+_0814633C: .4byte 0x06003000\n\
+_08146340:\n\
+ movs r1, 0\n\
+ ldr r7, _0814635C @ =gBGTilemapBuffers + 0x1000\n\
+ adds r2, r7, 0\n\
+ ldr r6, _08146360 @ =0x00004042\n\
+ ldr r5, _08146364 @ =gSaveBlock2\n\
+ ldr r4, _08146368 @ =0x00005042\n\
+ ldr r3, _0814636C @ =0x000003ff\n\
+_0814634E:\n\
+ ldrb r0, [r5, 0x8]\n\
+ cmp r0, 0\n\
+ bne _08146370\n\
+ lsls r0, r1, 1\n\
+ adds r0, r2\n\
+ strh r6, [r0]\n\
+ b _08146376\n\
+ .align 2, 0\n\
+_0814635C: .4byte gBGTilemapBuffers + 0x1000\n\
+_08146360: .4byte 0x00004042\n\
+_08146364: .4byte gSaveBlock2\n\
+_08146368: .4byte 0x00005042\n\
+_0814636C: .4byte 0x000003ff\n\
+_08146370:\n\
+ lsls r0, r1, 1\n\
+ adds r0, r2\n\
+ strh r4, [r0]\n\
+_08146376:\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r1, r0, 16\n\
+ cmp r1, r3\n\
+ bls _0814634E\n\
+ ldr r1, _08146394 @ =0x06003800\n\
+ ldr r0, _08146398 @ =0x040000d4\n\
+ str r7, [r0]\n\
+ str r1, [r0, 0x4]\n\
+ ldr r1, _0814639C @ =0x80000400\n\
+ str r1, [r0, 0x8]\n\
+ ldr r0, [r0, 0x8]\n\
+ ldr r1, _081463A0 @ =0x0001ffff\n\
+ add r1, r12\n\
+ b _081463D0\n\
+ .align 2, 0\n\
+_08146394: .4byte 0x06003800\n\
+_08146398: .4byte 0x040000d4\n\
+_0814639C: .4byte 0x80000400\n\
+_081463A0: .4byte 0x0001ffff\n\
+_081463A4:\n\
+ ldr r0, _081463B8 @ =gBerryCheck_Pal\n\
+ movs r1, 0\n\
+ movs r2, 0xC0\n\
+ bl LoadCompressedPalette\n\
+ ldr r1, _081463BC @ =0x02000000\n\
+ ldr r2, _081463C0 @ =0x0001ffff\n\
+ adds r1, r2\n\
+ b _081463D0\n\
+ .align 2, 0\n\
+_081463B8: .4byte gBerryCheck_Pal\n\
+_081463BC: .4byte 0x02000000\n\
+_081463C0: .4byte 0x0001ffff\n\
+_081463C4:\n\
+ ldr r0, _081463D8 @ =gUnknown_083C1F74\n\
+ bl LoadCompressedObjectPic\n\
+_081463CA:\n\
+ ldr r1, _081463DC @ =0x02000000\n\
+ ldr r0, _081463E0 @ =0x0001ffff\n\
+ adds r1, r0\n\
+_081463D0:\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _08146404\n\
+ .align 2, 0\n\
+_081463D8: .4byte gUnknown_083C1F74\n\
+_081463DC: .4byte 0x02000000\n\
+_081463E0: .4byte 0x0001ffff\n\
+_081463E4:\n\
+ ldr r0, _081463F8 @ =gUnknown_083C1F7C\n\
+ bl LoadCompressedObjectPalette\n\
+ ldr r0, _081463FC @ =0x02000000\n\
+ ldr r1, _08146400 @ =0x0001ffff\n\
+ adds r0, r1\n\
+ movs r1, 0\n\
+ strb r1, [r0]\n\
+ movs r0, 0x1\n\
+ b _08146406\n\
+ .align 2, 0\n\
+_081463F8: .4byte gUnknown_083C1F7C\n\
+_081463FC: .4byte 0x02000000\n\
+_08146400: .4byte 0x0001ffff\n\
+_08146404:\n\
+ movs r0, 0\n\
+_08146406:\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .syntax divided\n");
+}
+#endif
+
+static void sub_814640C(u8 taskId) {
+ if (gPaletteFade.active) {
+ return;
+ }
+
+ SetMainCallback2(sub_80A5B40);
+ sub_80A7DD4();
+ gpu_pal_allocator_reset__manage_upper_four();
+ DestroyTask(taskId);
+}
+
+static void sub_8146440(u8 taskId) {
+ PlaySE(SE_SELECT);
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+
+ gTasks[taskId].func = sub_814640C;
+}
+
+static void sub_8146480(u8 taskid) {
+ register u16 keys asm("r1");
+
+ if (gPaletteFade.active) {
+ return;
+ }
+
+ keys = gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN);
+ if (keys == DPAD_UP) {
+ sub_81466E8(taskid, -1);
+ }
+
+ keys = gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN);
+ if (keys == DPAD_DOWN) {
+ sub_81466E8(taskid, 1);
+ }
+
+ if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) {
+ sub_8146440(taskid);
+ }
+}
+
+static void sub_81464E4(void) {
+ struct Berry *berryInfo;
+ u32 size;
+ s32 sizeMajor;
+ s32 sizeMinor;
+
+ berryInfo = GetBerryInfo(gScriptItemId + OFFSET_7B + 1);
+
+ ConvertIntToDecimalStringN(gStringVar1, gScriptItemId - FIRST_BERRY + 1, STR_CONV_MODE_LEADING_ZEROS, 2);
+ MenuPrint(gStringVar1, 12, 4);
+
+ MenuPrint(berryInfo->name, 14, 4);
+ MenuPrint(berryInfo->description1, 4, 14);
+ MenuPrint(berryInfo->description2, 4, 16);
+
+ size = (berryInfo->size * 1000) / 254;
+ if (size % 10 >= 5) {
+ size += 10;
+ }
+ sizeMinor = (size % 100) / 10;
+ sizeMajor = size / 100;
+
+ MenuPrint(gOtherText_Size, 11, 7);
+ if (berryInfo->size != 0) {
+ ConvertIntToDecimalStringN(gStringVar1, sizeMajor, STR_CONV_MODE_LEFT_ALIGN, 2);
+ ConvertIntToDecimalStringN(gStringVar2, sizeMinor, STR_CONV_MODE_LEFT_ALIGN, 2);
+ MenuPrint(gContestStatsText_Unknown1, 16, 7);
+ } else {
+ MenuPrint(gOtherText_ThreeQuestions2, 16, 7);
+ }
+
+ MenuPrint(gOtherText_Firm, 11, 9);
+ if (berryInfo->firmness != 0) {
+ MenuPrint(gUnknown_0841192C[berryInfo->firmness - 1], 16, 9);
+ } else {
+ MenuPrint(gOtherText_ThreeQuestions2, 16, 9);
+ }
+}
+
+#ifdef NONMATCHING
+static void sub_8146600(u8 berry) {
+ struct Berry *berryInfo;
+ u16 i;
+
+ berryInfo = GetBerryInfo(berry +1);
+
+ for (i = 0; i < 5; i++) {
+ gUnknown_0203932E.circles[i] |= 0xFFFF;
+ }
+
+ if (berryInfo->spicy) {
+ // argument is the center of the circle
+ gUnknown_0203932E.circles[0] = sub_80A7E5C(48);
+ }
+
+ if (berryInfo->dry) {
+ gUnknown_0203932E.circles[1] = sub_80A7E5C(88);
+ }
+
+ if (berryInfo->sweet) {
+ gUnknown_0203932E.circles[2] = sub_80A7E5C(128);
+ }
+
+ if (berryInfo->bitter) {
+ gUnknown_0203932E.circles[3] = sub_80A7E5C(168);
+ }
+
+ if (berryInfo->sour) {
+ gUnknown_0203932E.circles[4] = sub_80A7E5C(208);
+ }
+}
+#else
+__attribute__((naked))
+static void sub_8146600(u8 berry) {
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ lsls r0, 24\n\
+ movs r1, 0x80\n\
+ lsls r1, 17\n\
+ adds r0, r1\n\
+ lsrs r0, 24\n\
+ bl GetBerryInfo\n\
+ adds r4, r0, 0\n\
+ movs r2, 0\n\
+ ldr r5, _08146698 @ =gUnknown_0203932E\n\
+ ldr r0, _0814669C @ =0x0000ffff\n\
+ adds r3, r0, 0\n\
+_0814661A:\n\
+ lsls r0, r2, 1\n\
+ adds r0, r5\n\
+ ldrh r1, [r0]\n\
+ orrs r1, r3\n\
+ strh r1, [r0]\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r2, r0, 16\n\
+ cmp r2, 0x4\n\
+ bls _0814661A\n\
+ ldrb r0, [r4, 0x15]\n\
+ cmp r0, 0\n\
+ beq _08146642\n\
+ movs r0, 0x30\n\
+ bl sub_80A7E5C\n\
+ ldr r1, _08146698 @ =gUnknown_0203932E\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ strh r0, [r1]\n\
+_08146642:\n\
+ ldrb r0, [r4, 0x16]\n\
+ cmp r0, 0\n\
+ beq _08146656\n\
+ movs r0, 0x58\n\
+ bl sub_80A7E5C\n\
+ ldr r1, _08146698 @ =gUnknown_0203932E\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ strh r0, [r1, 0x2]\n\
+_08146656:\n\
+ ldrb r0, [r4, 0x17]\n\
+ cmp r0, 0\n\
+ beq _0814666A\n\
+ movs r0, 0x80\n\
+ bl sub_80A7E5C\n\
+ ldr r1, _08146698 @ =gUnknown_0203932E\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ strh r0, [r1, 0x4]\n\
+_0814666A:\n\
+ ldrb r0, [r4, 0x18]\n\
+ cmp r0, 0\n\
+ beq _0814667E\n\
+ movs r0, 0xA8\n\
+ bl sub_80A7E5C\n\
+ ldr r1, _08146698 @ =gUnknown_0203932E\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ strh r0, [r1, 0x6]\n\
+_0814667E:\n\
+ ldrb r0, [r4, 0x19]\n\
+ cmp r0, 0\n\
+ beq _08146692\n\
+ movs r0, 0xD0\n\
+ bl sub_80A7E5C\n\
+ ldr r1, _08146698 @ =gUnknown_0203932E\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ strh r0, [r1, 0x8]\n\
+_08146692:\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08146698: .4byte gUnknown_0203932E\n\
+_0814669C: .4byte 0x0000ffff\n\
+ .syntax divided\n");
+}
+#endif
+
+
+void sub_81466A0(void) {
+ u16 i;
+
+ for (i = 0; i < 5; i++) {
+ if (gUnknown_0203932E.circles[i] != -1) {
+ DestroySprite(&gSprites[gUnknown_0203932E.circles[i]]);
+ gUnknown_0203932E.circles[i] = -1;
+ }
+ }
+}
+
+
+__attribute__((naked))
+static void sub_81466E8(u8 taskId, s32 direction) {
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ lsls r0, 24\n\
+ lsrs r7, r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r2, r1, 24\n\
+ lsls r0, r7, 2\n\
+ adds r0, r7\n\
+ lsls r0, 3\n\
+ ldr r1, _08146748 @ =gTasks + 0x8\n\
+ adds r6, r0, r1\n\
+ ldr r4, _0814674C @ =gUnknown_03005D10\n\
+ movs r0, 0xC\n\
+ adds r0, r4\n\
+ mov r8, r0\n\
+ ldrb r1, [r0, 0x1]\n\
+ ldrb r0, [r4, 0xC]\n\
+ adds r1, r0\n\
+ cmp r1, 0\n\
+ bne _08146718\n\
+ lsls r0, r2, 24\n\
+ cmp r0, 0\n\
+ blt _0814678C\n\
+_08146718:\n\
+ adds r0, r1, 0x1\n\
+ lsls r5, r2, 24\n\
+ mov r1, r8\n\
+ ldrb r1, [r1, 0x2]\n\
+ cmp r0, r1\n\
+ bne _08146728\n\
+ cmp r5, 0\n\
+ bgt _0814678C\n\
+_08146728:\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ mov r2, r8\n\
+ ldrb r3, [r2, 0x1]\n\
+ ldrb r4, [r4, 0xC]\n\
+ mov r12, r4\n\
+ adds r0, r3, r4\n\
+ asrs r2, r5, 24\n\
+ adds r1, r0, r2\n\
+ cmp r1, 0\n\
+ bge _08146750\n\
+ negs r0, r0\n\
+ strh r0, [r6, 0x2]\n\
+ b _08146766\n\
+ .align 2, 0\n\
+_08146748: .4byte gTasks + 0x8\n\
+_0814674C: .4byte gUnknown_03005D10\n\
+_08146750:\n\
+ mov r4, r8\n\
+ ldrb r0, [r4, 0x2]\n\
+ cmp r1, r0\n\
+ blt _08146764\n\
+ subs r0, r3\n\
+ mov r1, r12\n\
+ subs r0, r1\n\
+ subs r0, 0x1\n\
+ strh r0, [r6, 0x2]\n\
+ b _08146766\n\
+_08146764:\n\
+ strh r2, [r6, 0x2]\n\
+_08146766:\n\
+ ldr r0, _08146780 @ =gTasks\n\
+ lsls r1, r7, 2\n\
+ adds r1, r7\n\
+ lsls r1, 3\n\
+ adds r1, r0\n\
+ ldr r0, _08146784 @ =sub_8146798\n\
+ str r0, [r1]\n\
+ cmp r5, 0\n\
+ bge _08146788\n\
+ movs r2, 0x10\n\
+ negs r2, r2\n\
+ adds r0, r2, 0\n\
+ b _0814678A\n\
+ .align 2, 0\n\
+_08146780: .4byte gTasks\n\
+_08146784: .4byte sub_8146798\n\
+_08146788:\n\
+ movs r0, 0x10\n\
+_0814678A:\n\
+ strh r0, [r6]\n\
+_0814678C:\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .syntax divided\n");
+}
+
+__attribute__((naked))
+void sub_8146798(u8 berry) {
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ lsls r0, r4, 2\n\
+ adds r0, r4\n\
+ lsls r0, 3\n\
+ ldr r1, _08146800 @ =gTasks + 0x8\n\
+ adds r0, r1\n\
+ ldr r2, _08146804 @ =gUnknown_030041B4\n\
+ ldrh r1, [r0]\n\
+ ldrh r5, [r2]\n\
+ adds r3, r1, r5\n\
+ movs r1, 0xFF\n\
+ ands r3, r1\n\
+ strh r3, [r2]\n\
+ movs r1, 0\n\
+ ldrsh r0, [r0, r1]\n\
+ cmp r0, 0\n\
+ ble _081467C2\n\
+ cmp r3, 0x90\n\
+ beq _081467CA\n\
+_081467C2:\n\
+ cmp r0, 0\n\
+ bge _081467E0\n\
+ cmp r3, 0x70\n\
+ bne _081467E0\n\
+_081467CA:\n\
+ ldr r0, _08146808 @ =gTasks\n\
+ lsls r1, r4, 2\n\
+ adds r1, r4\n\
+ lsls r1, 3\n\
+ adds r1, r0\n\
+ movs r0, 0xA\n\
+ ldrsb r0, [r1, r0]\n\
+ bl sub_8146810\n\
+ bl sub_81468BC\n\
+_081467E0:\n\
+ ldr r0, _08146804 @ =gUnknown_030041B4\n\
+ ldrh r2, [r0]\n\
+ cmp r2, 0\n\
+ bne _081467FA\n\
+ ldr r0, _08146808 @ =gTasks\n\
+ lsls r1, r4, 2\n\
+ adds r1, r4\n\
+ lsls r1, 3\n\
+ adds r1, r0\n\
+ strh r2, [r1, 0x8]\n\
+ strh r2, [r1, 0xA]\n\
+ ldr r0, _0814680C @ =sub_8146480\n\
+ str r0, [r1]\n\
+_081467FA:\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08146800: .4byte gTasks + 0x8\n\
+_08146804: .4byte gUnknown_030041B4\n\
+_08146808: .4byte gTasks\n\
+_0814680C: .4byte sub_8146480\n\
+ .syntax divided\n");
+}
+
+__attribute__((naked))
+void sub_8146810(u8 berry) {
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ adds r4, r3, 0\n\
+ lsls r0, r3, 24\n\
+ asrs r1, r0, 24\n\
+ cmp r1, 0\n\
+ ble _08146848\n\
+ ldr r0, _08146840 @ =gUnknown_03005D10\n\
+ adds r4, r0, 0\n\
+ adds r4, 0xC\n\
+ ldrb r2, [r0, 0xC]\n\
+ adds r1, r2, r1\n\
+ adds r6, r0, 0\n\
+ cmp r1, 0x7\n\
+ ble _08146844\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xF9\n\
+ adds r0, r2, r0\n\
+ ldrb r1, [r4, 0x1]\n\
+ adds r0, r1\n\
+ strb r0, [r4, 0x1]\n\
+ movs r0, 0x7\n\
+ b _0814686E\n\
+ .align 2, 0\n\
+_08146840: .4byte gUnknown_03005D10\n\
+_08146844:\n\
+ adds r0, r2, r3\n\
+ b _0814686E\n\
+_08146848:\n\
+ ldr r0, _08146868 @ =gUnknown_03005D10\n\
+ adds r5, r0, 0\n\
+ adds r5, 0xC\n\
+ ldrb r2, [r0, 0xC]\n\
+ adds r1, r2, r1\n\
+ adds r6, r0, 0\n\
+ cmp r1, 0\n\
+ bge _0814686C\n\
+ adds r0, r2, r3\n\
+ ldrb r1, [r5, 0x1]\n\
+ adds r0, r1\n\
+ movs r1, 0\n\
+ strb r0, [r5, 0x1]\n\
+ strb r1, [r6, 0xC]\n\
+ b _08146870\n\
+ .align 2, 0\n\
+_08146868: .4byte gUnknown_03005D10\n\
+_0814686C:\n\
+ adds r0, r2, r4\n\
+_0814686E:\n\
+ strb r0, [r6, 0xC]\n\
+_08146870:\n\
+ ldr r2, _081468AC @ =gScriptItemId\n\
+ movs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldrb r1, [r0, 0x1]\n\
+ ldrb r0, [r0]\n\
+ adds r1, r0\n\
+ ldr r0, _081468B0 @ =gUnknown_03005D24\n\
+ ldr r0, [r0]\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ ldrh r0, [r1]\n\
+ strh r0, [r2]\n\
+ ldr r0, _081468B4 @ =gUnknown_0203932C\n\
+ ldrb r1, [r0]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ ldr r1, _081468B8 @ =gSprites\n\
+ adds r0, r1\n\
+ bl DestroySprite\n\
+ bl sub_81466A0\n\
+ bl sub_80A7DD4\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_081468AC: .4byte gScriptItemId\n\
+_081468B0: .4byte gUnknown_03005D24\n\
+_081468B4: .4byte gUnknown_0203932C\n\
+_081468B8: .4byte gSprites\n\
+ .syntax divided\n");
+}
+
+void sub_81468BC(void) {
+ MenuZeroFillWindowRect(0, 4, 29, 19);
+ sub_81464E4();
+
+ // center of berry sprite
+ gUnknown_0203932C = sub_80A7D8C(gScriptItemId + OFFSET_7B, 56, 64);
+
+ sub_8146600(gScriptItemId + OFFSET_7B);
+}
diff --git a/src/blend_palette.c b/src/blend_palette.c
index c9503388f..843c50ac1 100644
--- a/src/blend_palette.c
+++ b/src/blend_palette.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "blend_palette.h"
#include "palette.h"
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor)
diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c
new file mode 100644
index 000000000..186fa062c
--- /dev/null
+++ b/src/calculate_base_damage.c
@@ -0,0 +1,1484 @@
+#include "global.h"
+#include "text.h"
+#include "string_util.h"
+#include "pokemon.h"
+#include "species.h"
+#include "main.h"
+#include "sprite.h"
+#include "berry.h"
+#include "item.h"
+#include "abilities.h"
+#include "hold_effects.h"
+#include "flag.h"
+
+extern u8 gPlayerPartyCount;
+extern struct Pokemon gPlayerParty[6];
+extern u8 gEnemyPartyCount;
+extern struct Pokemon gEnemyParty[6];
+
+extern u16 unk_20160BC[];
+extern struct SecretBaseRecord gSecretBaseRecord;
+extern u32 dword_2017100[];
+extern u16 gUnknown_020239F8;
+extern struct BattlePokemon gBattleMons[4];
+extern u16 gUnknown_02024BE6;
+extern u8 byte_2024C06;
+extern u8 gCritMultiplier;
+extern u16 gBattleWeather;
+extern struct BattleEnigmaBerry gEnigmaBerries[];
+extern u16 gBattleMovePower;
+extern struct SpriteTemplate gUnknown_02024E8C;
+extern u16 gTrainerBattleOpponent;
+extern struct PokemonStorage gPokemonStorage;
+
+extern u8 gBadEggNickname[];
+extern u8 gEggNickname[];
+extern u32 gBitTable[];
+extern struct BaseStats gBaseStats[];
+extern u8 gSpeciesNames[][11];
+extern struct BattleMove gBattleMoves[];
+extern struct SpriteTemplate gSpriteTemplate_8208288[];
+extern union AmimCmd *gSpriteAnimTable_81E7C64[];
+extern union AnimCmd **gUnknown_081EC2A4[];
+extern union AnimCmd **gUnknown_081ECACC[];
+extern u8 gTrainerClassToPicIndex[];
+extern u8 gTrainerClassToNameIndex[];
+extern u8 gSecretBaseTrainerClasses[];
+extern u8 gUnknown_08208238[];
+extern u8 gUnknown_0820823C[];
+extern u8 gStatStageRatios[];
+extern u8 gHoldEffectToType[][2];
+
+extern u8 battle_side_get_owner(u8);
+extern u8 sub_8018324(u8, u8, u8, u8, u16);
+extern u8 sub_803C348(u8);
+
+#define APPLY_STAT_MOD(var, mon, stat, statIndex) \
+{ \
+ (var) = (stat) * (gStatStageRatios)[(mon)->statStages[(statIndex)] * 2]; \
+ (var) /= (gStatStageRatios + 1)[(mon)->statStages[(statIndex)] * 2]; \
+}
+
+#ifdef NONMATCHING
+s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
+{
+ s32 i;
+ s32 damage = 0;
+ u8 type;
+ u16 attack, defense;
+ u16 spAttack, spDefense;
+ u8 defenderHoldEffect;
+ u8 defenderHoldEffectParam;
+ u8 attackerHoldEffect;
+ u8 attackerHoldEffectParam;
+ s32 a, b;
+
+ if (!powerOverride)
+ gBattleMovePower = gBattleMoves[move].power;
+ else
+ gBattleMovePower = powerOverride;
+
+ if (!typeOverride)
+ type = gBattleMoves[move].type;
+ else
+ type = typeOverride & 0x3F;
+
+ attack = attacker->attack;
+ defense = defender->defense;
+ spAttack = attacker->spAttack;
+ spDefense = defender->spDefense;
+
+ if (attacker->item == 175)
+ {
+ attackerHoldEffect = gEnigmaBerries[a7].holdEffect;
+ attackerHoldEffectParam = gEnigmaBerries[a7].holdEffectParam;
+ }
+ else
+ {
+ attackerHoldEffect = ItemId_GetHoldEffect(attacker->item);
+ attackerHoldEffectParam = ItemId_GetHoldEffectParam(attacker->item);
+ }
+
+ if (defender->item == 175)
+ {
+ defenderHoldEffect = gEnigmaBerries[a8].holdEffect;
+ defenderHoldEffectParam = gEnigmaBerries[a8].holdEffectParam;
+ }
+ else
+ {
+ defenderHoldEffect = ItemId_GetHoldEffect(defender->item);
+ defenderHoldEffectParam = ItemId_GetHoldEffectParam(defender->item);
+ }
+
+ if (attacker->ability == ABILITY_HUGE_POWER || attacker->ability == ABILITY_PURE_POWER)
+ attack *= 2;
+
+ if (!(gUnknown_020239F8 & 0x902))
+ {
+ if ((gUnknown_020239F8 & 8)
+ && gTrainerBattleOpponent != 1024
+ && FlagGet(BADGE01_GET)
+ && !battle_side_get_owner(a7))
+ attack = (110 * attack) / 100;
+
+ if (!(gUnknown_020239F8 & 0x902))
+ {
+ if ((gUnknown_020239F8 & 8)
+ && gTrainerBattleOpponent != 1024
+ && FlagGet(BADGE05_GET)
+ && !battle_side_get_owner(a8))
+ defense = (110 * defense) / 100;
+
+ if (!(gUnknown_020239F8 & 0x902))
+ {
+ if ((gUnknown_020239F8 & 8)
+ && gTrainerBattleOpponent != 1024
+ && FlagGet(BADGE07_GET)
+ && !battle_side_get_owner(a7))
+ spAttack = (110 * spAttack) / 100;
+
+ if (!(gUnknown_020239F8 & 0x902))
+ {
+ if ((gUnknown_020239F8 & 8)
+ && gTrainerBattleOpponent != 1024
+ && FlagGet(BADGE07_GET)
+ && !battle_side_get_owner(a8))
+ spDefense = (110 * spDefense) / 100;
+ }
+ }
+ }
+ }
+
+ for (i = 0; i < 17; i++)
+ {
+ if (attackerHoldEffect == gHoldEffectToType[i][0]
+ && type == gHoldEffectToType[i][1])
+ {
+ if (type <= 8)
+ attack = (attack * (attackerHoldEffectParam + 100)) / 100;
+ else
+ spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100;
+ break;
+ }
+ }
+
+ if (attackerHoldEffect == HOLD_EFFECT_CHOICE_BAND)
+ attack = (150 * attack) / 100;
+ if (attackerHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gUnknown_020239F8 & 0x100) && (attacker->species == SPECIES_LATIAS || attacker->species == SPECIES_LATIOS))
+ spAttack = (150 * spAttack) / 100;
+ if (defenderHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gUnknown_020239F8 & 0x100) && (defender->species == SPECIES_LATIAS || defender->species == SPECIES_LATIOS))
+ spDefense = (150 * spDefense) / 100;
+ if (attackerHoldEffect == HOLD_EFFECT_DEEP_SEA_TOOTH && attacker->species == SPECIES_CLAMPERL)
+ spAttack *= 2;
+ if (defenderHoldEffect == HOLD_EFFECT_DEEP_SEA_SCALE && defender->species == SPECIES_CLAMPERL)
+ spDefense *= 2;
+ if (attackerHoldEffect == HOLD_EFFECT_LIGHT_BALL && attacker->species == SPECIES_PIKACHU)
+ spAttack *= 2;
+ if (defenderHoldEffect == HOLD_EFFECT_METAL_POWDER && defender->species == SPECIES_DITTO)
+ defense *= 2;
+ if (attackerHoldEffect == HOLD_EFFECT_THICK_CLUB && (attacker->species == SPECIES_CUBONE || attacker->species == SPECIES_MAROWAK))
+ attack *= 2;
+ if (defender->ability == ABILITY_THICK_FAT && (type == TYPE_FIRE || type == TYPE_ICE))
+ spAttack /= 2;
+ if (attacker->ability == ABILITY_HUSTLE)
+ attack = (150 * attack) / 100;
+ if (attacker->ability == ABILITY_PLUS && sub_8018324(0xE, 0, ABILITY_MINUS, 0, 0))
+ spAttack = (150 * spAttack) / 100;
+ if (attacker->ability == ABILITY_MINUS && sub_8018324(0xE, 0, ABILITY_PLUS, 0, 0))
+ spAttack = (150 * spAttack) / 100;
+ if (attacker->ability == ABILITY_GUTS && attacker->status1)
+ attack = (150 * attack) / 100;
+ if (defender->ability == ABILITY_MARVEL_SCALE && defender->status1)
+ defense = (150 * defense) / 100;
+ if (type == TYPE_ELECTRIC && sub_8018324(0xE, 0, 0, 0xFD, 0))
+ gBattleMovePower /= 2;
+ if (type == TYPE_FIRE && sub_8018324(0xE, 0, 0, 0xFE, 0))
+ gBattleMovePower /= 2;
+ if (type == TYPE_GRASS && attacker->ability == ABILITY_OVERGROW && attacker->hp <= (attacker->maxHP / 3))
+ gBattleMovePower = (150 * gBattleMovePower) / 100;
+ if (type == TYPE_FIRE && attacker->ability == ABILITY_BLAZE && attacker->hp <= (attacker->maxHP / 3))
+ gBattleMovePower = (150 * gBattleMovePower) / 100;
+ if (type == TYPE_WATER && attacker->ability == ABILITY_TORRENT && attacker->hp <= (attacker->maxHP / 3))
+ gBattleMovePower = (150 * gBattleMovePower) / 100;
+ if (type == TYPE_BUG && attacker->ability == ABILITY_SWARM && attacker->hp <= (attacker->maxHP / 3))
+ gBattleMovePower = (150 * gBattleMovePower) / 100;
+ if (gBattleMoves[gUnknown_02024BE6].effect == 7)
+ defense /= 2;
+
+ if (type <= 8)
+ {
+ if (gCritMultiplier == 2)
+ {
+ if (attacker->statStages[1] > 6)
+ APPLY_STAT_MOD(a, attacker, attack, 1)
+ else
+ a = attack;
+ }
+ else
+ APPLY_STAT_MOD(a, attacker, attack, 1)
+
+ a = a * gBattleMovePower * (2 * attacker->level / 5 + 2);
+
+ if (gCritMultiplier == 2)
+ {
+ if (defender->statStages[2] < 6)
+ APPLY_STAT_MOD(b, defender, defense, 2)
+ else
+ b = defense;
+ }
+ else
+ APPLY_STAT_MOD(b, defender, defense, 2)
+
+ damage = (a / b) / 50;
+
+ if ((attacker->status1 & 0x10) && attacker->ability != ABILITY_GUTS)
+ damage /= 2;
+
+ if ((a4 & 1) && gCritMultiplier == 1)
+ {
+ if ((gUnknown_020239F8 & 1) && sub_803C348(2) == 2)
+ damage = 2 * (damage / 3);
+ else
+ damage /= 2;
+ }
+
+ if ((gUnknown_020239F8 & 1) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2)
+ damage /= 2;
+
+ if (damage == 0)
+ damage = 1;
+ }
+
+ if (type == 9)
+ damage = 0;
+
+ if (type > 9)
+ {
+ if (gCritMultiplier == 2)
+ {
+ if (attacker->statStages[4] > 6)
+ APPLY_STAT_MOD(a, attacker, spAttack, 4)
+ else
+ a = spAttack;
+ }
+ else
+ APPLY_STAT_MOD(a, attacker, spAttack, 4)
+
+ a = a * gBattleMovePower * (2 * attacker->level / 5 + 2);
+
+ if (gCritMultiplier == 2)
+ {
+ if (defender->statStages[5] < 6)
+ APPLY_STAT_MOD(b, defender, spDefense, 5)
+ else
+ b = spDefense;
+ }
+ else
+ APPLY_STAT_MOD(b, defender, spDefense, 5)
+
+ damage = (a / b) / 50;
+
+ if ((a4 & 2) && gCritMultiplier == 1)
+ {
+ if ((gUnknown_020239F8 & 1) && sub_803C348(2) == 2)
+ damage = 2 * (damage / 3);
+ else
+ damage /= 2;
+ }
+
+ if ((gUnknown_020239F8 & 1) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2)
+ damage /= 2;
+
+ if (!sub_8018324(0xE, 0, ABILITY_CLOUD_NINE, 0, 0) && !sub_8018324(0xE, 0, ABILITY_AIR_LOCK, 0, 0))
+ {
+ if (gBattleWeather & 1)
+ {
+ if (type == TYPE_FIRE)
+ {
+ damage /= 2;
+ }
+ else if (type == TYPE_WATER)
+ {
+ damage = (15 * damage) / 10;
+ }
+ }
+ if ((gBattleWeather & 0x9F) && gUnknown_02024BE6 == 76)
+ damage /= 2;
+ if (gBattleWeather & 0x60)
+ {
+ if (type == TYPE_FIRE)
+ {
+ damage = (15 * damage) / 10;
+ }
+ else if (type == TYPE_WATER)
+ {
+ damage /= 2;
+ }
+ }
+ }
+ if ((dword_2017100[a7] & 1) && type == TYPE_FIRE)
+ damage = (15 * damage) / 10;
+ }
+
+ return damage + 2;
+}
+#else
+__attribute__((naked))
+s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x2C\n\
+ adds r7, r0, 0\n\
+ str r1, [sp, 0x4]\n\
+ str r2, [sp, 0x8]\n\
+ ldr r0, [sp, 0x4C]\n\
+ ldr r1, [sp, 0x50]\n\
+ ldr r2, [sp, 0x54]\n\
+ ldr r4, [sp, 0x58]\n\
+ lsls r3, 16\n\
+ lsrs r3, 16\n\
+ str r3, [sp, 0xC]\n\
+ lsls r0, 16\n\
+ lsrs r3, r0, 16\n\
+ lsls r1, 24\n\
+ lsrs r6, r1, 24\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ str r2, [sp, 0x10]\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ movs r5, 0\n\
+ cmp r3, 0\n\
+ bne _0803BA80\n\
+ ldr r2, _0803BA78 @ =gBattleMovePower\n\
+ ldr r1, _0803BA7C @ =gBattleMoves\n\
+ ldr r3, [sp, 0x8]\n\
+ lsls r0, r3, 1\n\
+ adds r0, r3\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0, 0x1]\n\
+ strh r0, [r2]\n\
+ b _0803BA84\n\
+ .align 2, 0\n\
+_0803BA78: .4byte gBattleMovePower\n\
+_0803BA7C: .4byte gBattleMoves\n\
+_0803BA80:\n\
+ ldr r0, _0803BA9C @ =gBattleMovePower\n\
+ strh r3, [r0]\n\
+_0803BA84:\n\
+ cmp r6, 0\n\
+ bne _0803BAA4\n\
+ ldr r1, _0803BAA0 @ =gBattleMoves\n\
+ ldr r6, [sp, 0x8]\n\
+ lsls r0, r6, 1\n\
+ adds r0, r6\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0, 0x2]\n\
+ mov r9, r0\n\
+ b _0803BAAE\n\
+ .align 2, 0\n\
+_0803BA9C: .4byte gBattleMovePower\n\
+_0803BAA0: .4byte gBattleMoves\n\
+_0803BAA4:\n\
+ movs r0, 0x3F\n\
+ mov r9, r0\n\
+ mov r1, r9\n\
+ ands r1, r6\n\
+ mov r9, r1\n\
+_0803BAAE:\n\
+ ldrh r6, [r7, 0x2]\n\
+ ldr r2, [sp, 0x4]\n\
+ ldrh r2, [r2, 0x4]\n\
+ str r2, [sp, 0x14]\n\
+ ldrh r3, [r7, 0x8]\n\
+ mov r8, r3\n\
+ ldr r0, [sp, 0x4]\n\
+ ldrh r0, [r0, 0xA]\n\
+ str r0, [sp, 0x18]\n\
+ ldrh r0, [r7, 0x2E]\n\
+ cmp r0, 0xAF\n\
+ bne _0803BAE0\n\
+ ldr r1, _0803BADC @ =gEnigmaBerries\n\
+ ldr r2, [sp, 0x10]\n\
+ lsls r0, r2, 3\n\
+ subs r0, r2\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r3, [r0, 0x7]\n\
+ mov r10, r3\n\
+ ldrb r0, [r0, 0x1A]\n\
+ b _0803BAF6\n\
+ .align 2, 0\n\
+_0803BADC: .4byte gEnigmaBerries\n\
+_0803BAE0:\n\
+ ldrh r0, [r7, 0x2E]\n\
+ bl ItemId_GetHoldEffect\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r10, r0\n\
+ ldrh r0, [r7, 0x2E]\n\
+ bl ItemId_GetHoldEffectParam\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+_0803BAF6:\n\
+ str r0, [sp, 0x20]\n\
+ ldr r1, [sp, 0x4]\n\
+ ldrh r0, [r1, 0x2E]\n\
+ cmp r0, 0xAF\n\
+ bne _0803BB26\n\
+ ldr r1, _0803BB10 @ =gEnigmaBerries\n\
+ lsls r0, r4, 3\n\
+ subs r0, r4\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0, 0x7]\n\
+ str r0, [sp, 0x1C]\n\
+ b _0803BB3C\n\
+ .align 2, 0\n\
+_0803BB10: .4byte gEnigmaBerries\n\
+_0803BB14:\n\
+ ldr r0, [sp, 0x20]\n\
+ adds r0, 0x64\n\
+ muls r0, r6\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+ b _0803BCDC\n\
+_0803BB26:\n\
+ ldr r2, [sp, 0x4]\n\
+ ldrh r0, [r2, 0x2E]\n\
+ bl ItemId_GetHoldEffect\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ str r0, [sp, 0x1C]\n\
+ ldr r3, [sp, 0x4]\n\
+ ldrh r0, [r3, 0x2E]\n\
+ bl ItemId_GetHoldEffectParam\n\
+_0803BB3C:\n\
+ adds r0, r7, 0\n\
+ adds r0, 0x20\n\
+ ldrb r1, [r0]\n\
+ str r0, [sp, 0x24]\n\
+ cmp r1, 0x25\n\
+ beq _0803BB4C\n\
+ cmp r1, 0x4A\n\
+ bne _0803BB50\n\
+_0803BB4C:\n\
+ lsls r0, r6, 17\n\
+ lsrs r6, r0, 16\n\
+_0803BB50:\n\
+ ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0803BCBC @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803BB5E\n\
+ b _0803BC78\n\
+_0803BB5E:\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803BB98\n\
+ ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ beq _0803BB98\n\
+ ldr r0, _0803BCC4 @ =0x00000807\n\
+ bl FlagGet\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BB98\n\
+ ldr r0, [sp, 0x10]\n\
+ bl battle_side_get_owner\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0803BB98\n\
+ movs r0, 0x6E\n\
+ muls r0, r6\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+_0803BB98:\n\
+ ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0803BCBC @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0803BC78\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803BBE2\n\
+ ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ beq _0803BBE2\n\
+ ldr r0, _0803BCC8 @ =0x0000080b\n\
+ bl FlagGet\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BBE2\n\
+ adds r0, r4, 0\n\
+ bl battle_side_get_owner\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0803BBE2\n\
+ movs r0, 0x6E\n\
+ ldr r1, [sp, 0x14]\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x14]\n\
+_0803BBE2:\n\
+ ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0803BCBC @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0803BC78\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803BC2E\n\
+ ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ beq _0803BC2E\n\
+ ldr r0, _0803BCCC @ =0x0000080d\n\
+ bl FlagGet\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BC2E\n\
+ ldr r0, [sp, 0x10]\n\
+ bl battle_side_get_owner\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0803BC2E\n\
+ movs r0, 0x6E\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+_0803BC2E:\n\
+ ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0803BCBC @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0803BC78\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803BC78\n\
+ ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ beq _0803BC78\n\
+ ldr r0, _0803BCCC @ =0x0000080d\n\
+ bl FlagGet\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BC78\n\
+ adds r0, r4, 0\n\
+ bl battle_side_get_owner\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0803BC78\n\
+ movs r0, 0x6E\n\
+ ldr r3, [sp, 0x18]\n\
+ muls r0, r3\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x18]\n\
+_0803BC78:\n\
+ movs r2, 0\n\
+ ldr r4, _0803BCD0 @ =gHoldEffectToType\n\
+ ldr r0, [sp, 0x4]\n\
+ adds r0, 0x20\n\
+ str r0, [sp, 0x28]\n\
+ adds r3, r4, 0\n\
+_0803BC84:\n\
+ lsls r1, r2, 1\n\
+ ldrb r0, [r3]\n\
+ cmp r10, r0\n\
+ bne _0803BCD4\n\
+ adds r0, r4, 0x1\n\
+ adds r0, r1, r0\n\
+ ldrb r0, [r0]\n\
+ cmp r9, r0\n\
+ bne _0803BCD4\n\
+ mov r1, r9\n\
+ cmp r1, 0x8\n\
+ bhi _0803BC9E\n\
+ b _0803BB14\n\
+_0803BC9E:\n\
+ ldr r0, [sp, 0x20]\n\
+ adds r0, 0x64\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+ b _0803BCDC\n\
+ .align 2, 0\n\
+_0803BCB8: .4byte gUnknown_020239F8\n\
+_0803BCBC: .4byte 0x00000902\n\
+_0803BCC0: .4byte gTrainerBattleOpponent\n\
+_0803BCC4: .4byte 0x00000807\n\
+_0803BCC8: .4byte 0x0000080b\n\
+_0803BCCC: .4byte 0x0000080d\n\
+_0803BCD0: .4byte gHoldEffectToType\n\
+_0803BCD4:\n\
+ adds r3, 0x2\n\
+ adds r2, 0x1\n\
+ cmp r2, 0x10\n\
+ bls _0803BC84\n\
+_0803BCDC:\n\
+ mov r3, r10\n\
+ cmp r3, 0x1D\n\
+ bne _0803BCF0\n\
+ movs r0, 0x96\n\
+ muls r0, r6\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+_0803BCF0:\n\
+ mov r0, r10\n\
+ cmp r0, 0x22\n\
+ bne _0803BD28\n\
+ ldr r0, _0803BFDC @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0803BD28\n\
+ ldr r1, _0803BFE0 @ =0xfffffe69\n\
+ adds r0, r1, 0\n\
+ ldrh r2, [r7]\n\
+ adds r0, r2\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x1\n\
+ bhi _0803BD28\n\
+ movs r0, 0x96\n\
+ mov r3, r8\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+_0803BD28:\n\
+ ldr r0, [sp, 0x1C]\n\
+ cmp r0, 0x22\n\
+ bne _0803BD60\n\
+ ldr r0, _0803BFDC @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0803BD60\n\
+ ldr r1, _0803BFE0 @ =0xfffffe69\n\
+ adds r0, r1, 0\n\
+ ldr r2, [sp, 0x4]\n\
+ ldrh r2, [r2]\n\
+ adds r0, r2\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x1\n\
+ bhi _0803BD60\n\
+ movs r0, 0x96\n\
+ ldr r3, [sp, 0x18]\n\
+ muls r0, r3\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x18]\n\
+_0803BD60:\n\
+ mov r0, r10\n\
+ cmp r0, 0x23\n\
+ bne _0803BD76\n\
+ ldrh r1, [r7]\n\
+ ldr r0, _0803BFE4 @ =0x00000175\n\
+ cmp r1, r0\n\
+ bne _0803BD76\n\
+ mov r1, r8\n\
+ lsls r0, r1, 17\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+_0803BD76:\n\
+ ldr r2, [sp, 0x1C]\n\
+ cmp r2, 0x24\n\
+ bne _0803BD8E\n\
+ ldr r3, [sp, 0x4]\n\
+ ldrh r1, [r3]\n\
+ ldr r0, _0803BFE4 @ =0x00000175\n\
+ cmp r1, r0\n\
+ bne _0803BD8E\n\
+ ldr r1, [sp, 0x18]\n\
+ lsls r0, r1, 17\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x18]\n\
+_0803BD8E:\n\
+ mov r2, r10\n\
+ cmp r2, 0x2D\n\
+ bne _0803BDA2\n\
+ ldrh r0, [r7]\n\
+ cmp r0, 0x19\n\
+ bne _0803BDA2\n\
+ mov r3, r8\n\
+ lsls r0, r3, 17\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+_0803BDA2:\n\
+ ldr r0, [sp, 0x1C]\n\
+ cmp r0, 0x40\n\
+ bne _0803BDB8\n\
+ ldr r1, [sp, 0x4]\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0x84\n\
+ bne _0803BDB8\n\
+ ldr r2, [sp, 0x14]\n\
+ lsls r0, r2, 17\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x14]\n\
+_0803BDB8:\n\
+ mov r3, r10\n\
+ cmp r3, 0x41\n\
+ bne _0803BDCE\n\
+ ldrh r0, [r7]\n\
+ subs r0, 0x68\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x1\n\
+ bhi _0803BDCE\n\
+ lsls r0, r6, 17\n\
+ lsrs r6, r0, 16\n\
+_0803BDCE:\n\
+ ldr r1, [sp, 0x28]\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0x2F\n\
+ bne _0803BDE6\n\
+ mov r2, r9\n\
+ cmp r2, 0xA\n\
+ beq _0803BDE0\n\
+ cmp r2, 0xF\n\
+ bne _0803BDE6\n\
+_0803BDE0:\n\
+ mov r3, r8\n\
+ lsrs r3, 1\n\
+ mov r8, r3\n\
+_0803BDE6:\n\
+ ldr r0, [sp, 0x24]\n\
+ ldrb r4, [r0]\n\
+ cmp r4, 0x37\n\
+ bne _0803BDFC\n\
+ movs r0, 0x96\n\
+ muls r0, r6\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+_0803BDFC:\n\
+ cmp r4, 0x39\n\
+ bne _0803BE2A\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0xE\n\
+ movs r1, 0\n\
+ movs r2, 0x3A\n\
+ movs r3, 0\n\
+ bl sub_8018324\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BE2A\n\
+ movs r0, 0x96\n\
+ mov r1, r8\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+_0803BE2A:\n\
+ ldr r2, [sp, 0x24]\n\
+ ldrb r0, [r2]\n\
+ cmp r0, 0x3A\n\
+ bne _0803BE5C\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0xE\n\
+ movs r1, 0\n\
+ movs r2, 0x39\n\
+ movs r3, 0\n\
+ bl sub_8018324\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BE5C\n\
+ movs r0, 0x96\n\
+ mov r3, r8\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+_0803BE5C:\n\
+ ldr r1, [sp, 0x24]\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0x3E\n\
+ bne _0803BE78\n\
+ ldr r0, [r7, 0x4C]\n\
+ cmp r0, 0\n\
+ beq _0803BE78\n\
+ movs r0, 0x96\n\
+ muls r0, r6\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+_0803BE78:\n\
+ ldr r2, [sp, 0x28]\n\
+ ldrb r0, [r2]\n\
+ cmp r0, 0x3F\n\
+ bne _0803BE9A\n\
+ ldr r3, [sp, 0x4]\n\
+ ldr r0, [r3, 0x4C]\n\
+ cmp r0, 0\n\
+ beq _0803BE9A\n\
+ movs r0, 0x96\n\
+ ldr r1, [sp, 0x14]\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x14]\n\
+_0803BE9A:\n\
+ mov r2, r9\n\
+ cmp r2, 0xD\n\
+ bne _0803BEBE\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0xE\n\
+ movs r1, 0\n\
+ movs r2, 0\n\
+ movs r3, 0xFD\n\
+ bl sub_8018324\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BEBE\n\
+ ldr r1, _0803BFE8 @ =gBattleMovePower\n\
+ ldrh r0, [r1]\n\
+ lsrs r0, 1\n\
+ strh r0, [r1]\n\
+_0803BEBE:\n\
+ mov r3, r9\n\
+ cmp r3, 0xA\n\
+ bne _0803BEE2\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0xE\n\
+ movs r1, 0\n\
+ movs r2, 0\n\
+ movs r3, 0xFE\n\
+ bl sub_8018324\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0803BEE2\n\
+ ldr r1, _0803BFE8 @ =gBattleMovePower\n\
+ ldrh r0, [r1]\n\
+ lsrs r0, 1\n\
+ strh r0, [r1]\n\
+_0803BEE2:\n\
+ mov r0, r9\n\
+ cmp r0, 0xC\n\
+ bne _0803BF12\n\
+ ldr r1, [sp, 0x24]\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0x41\n\
+ bne _0803BF12\n\
+ ldrh r0, [r7, 0x2C]\n\
+ movs r1, 0x3\n\
+ bl __udivsi3\n\
+ ldrh r1, [r7, 0x28]\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r1, r0\n\
+ bhi _0803BF12\n\
+ ldr r4, _0803BFE8 @ =gBattleMovePower\n\
+ ldrh r1, [r4]\n\
+ movs r0, 0x96\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ strh r0, [r4]\n\
+_0803BF12:\n\
+ mov r2, r9\n\
+ cmp r2, 0xA\n\
+ bne _0803BF42\n\
+ ldr r3, [sp, 0x24]\n\
+ ldrb r0, [r3]\n\
+ cmp r0, 0x42\n\
+ bne _0803BF42\n\
+ ldrh r0, [r7, 0x2C]\n\
+ movs r1, 0x3\n\
+ bl __udivsi3\n\
+ ldrh r1, [r7, 0x28]\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r1, r0\n\
+ bhi _0803BF42\n\
+ ldr r4, _0803BFE8 @ =gBattleMovePower\n\
+ ldrh r1, [r4]\n\
+ movs r0, 0x96\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ strh r0, [r4]\n\
+_0803BF42:\n\
+ mov r0, r9\n\
+ cmp r0, 0xB\n\
+ bne _0803BF72\n\
+ ldr r1, [sp, 0x24]\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0x43\n\
+ bne _0803BF72\n\
+ ldrh r0, [r7, 0x2C]\n\
+ movs r1, 0x3\n\
+ bl __udivsi3\n\
+ ldrh r1, [r7, 0x28]\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r1, r0\n\
+ bhi _0803BF72\n\
+ ldr r4, _0803BFE8 @ =gBattleMovePower\n\
+ ldrh r1, [r4]\n\
+ movs r0, 0x96\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ strh r0, [r4]\n\
+_0803BF72:\n\
+ mov r2, r9\n\
+ cmp r2, 0x6\n\
+ bne _0803BFA2\n\
+ ldr r3, [sp, 0x24]\n\
+ ldrb r0, [r3]\n\
+ cmp r0, 0x44\n\
+ bne _0803BFA2\n\
+ ldrh r0, [r7, 0x2C]\n\
+ movs r1, 0x3\n\
+ bl __udivsi3\n\
+ ldrh r1, [r7, 0x28]\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r1, r0\n\
+ bhi _0803BFA2\n\
+ ldr r4, _0803BFE8 @ =gBattleMovePower\n\
+ ldrh r1, [r4]\n\
+ movs r0, 0x96\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ strh r0, [r4]\n\
+_0803BFA2:\n\
+ ldr r2, _0803BFEC @ =gBattleMoves\n\
+ ldr r0, _0803BFF0 @ =gUnknown_02024BE6\n\
+ ldrh r1, [r0]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x7\n\
+ bne _0803BFBC\n\
+ ldr r0, [sp, 0x14]\n\
+ lsrs r0, 1\n\
+ str r0, [sp, 0x14]\n\
+_0803BFBC:\n\
+ mov r1, r9\n\
+ cmp r1, 0x8\n\
+ bls _0803BFC4\n\
+ b _0803C122\n\
+_0803BFC4:\n\
+ ldr r0, _0803BFF4 @ =gCritMultiplier\n\
+ ldrb r1, [r0]\n\
+ adds r4, r0, 0\n\
+ cmp r1, 0x2\n\
+ bne _0803C000\n\
+ movs r0, 0x19\n\
+ ldrsb r0, [r7, r0]\n\
+ cmp r0, 0x6\n\
+ ble _0803BFFC\n\
+ ldr r2, _0803BFF8 @ =gStatStageRatios\n\
+ b _0803C006\n\
+ .align 2, 0\n\
+_0803BFDC: .4byte gUnknown_020239F8\n\
+_0803BFE0: .4byte 0xfffffe69\n\
+_0803BFE4: .4byte 0x00000175\n\
+_0803BFE8: .4byte gBattleMovePower\n\
+_0803BFEC: .4byte gBattleMoves\n\
+_0803BFF0: .4byte gUnknown_02024BE6\n\
+_0803BFF4: .4byte gCritMultiplier\n\
+_0803BFF8: .4byte gStatStageRatios\n\
+_0803BFFC:\n\
+ adds r5, r6, 0\n\
+ b _0803C01E\n\
+_0803C000:\n\
+ ldr r2, _0803C050 @ =gStatStageRatios\n\
+ movs r0, 0x19\n\
+ ldrsb r0, [r7, r0]\n\
+_0803C006:\n\
+ lsls r0, 1\n\
+ adds r1, r0, r2\n\
+ ldrb r1, [r1]\n\
+ adds r5, r6, 0\n\
+ muls r5, r1\n\
+ adds r2, 0x1\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ adds r0, r5, 0\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+_0803C01E:\n\
+ ldr r0, _0803C054 @ =gBattleMovePower\n\
+ ldrh r0, [r0]\n\
+ muls r5, r0\n\
+ adds r0, r7, 0\n\
+ adds r0, 0x2A\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 1\n\
+ movs r1, 0x5\n\
+ bl __divsi3\n\
+ adds r0, 0x2\n\
+ muls r5, r0\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0x2\n\
+ bne _0803C05C\n\
+ ldr r2, [sp, 0x4]\n\
+ movs r0, 0x1A\n\
+ ldrsb r0, [r2, r0]\n\
+ cmp r0, 0x5\n\
+ bgt _0803C058\n\
+ ldr r2, _0803C050 @ =gStatStageRatios\n\
+ ldr r3, [sp, 0x4]\n\
+ movs r0, 0x1A\n\
+ ldrsb r0, [r3, r0]\n\
+ b _0803C064\n\
+ .align 2, 0\n\
+_0803C050: .4byte gStatStageRatios\n\
+_0803C054: .4byte gBattleMovePower\n\
+_0803C058:\n\
+ ldr r3, [sp, 0x14]\n\
+ b _0803C07E\n\
+_0803C05C:\n\
+ ldr r2, _0803C0DC @ =gStatStageRatios\n\
+ ldr r1, [sp, 0x4]\n\
+ movs r0, 0x1A\n\
+ ldrsb r0, [r1, r0]\n\
+_0803C064:\n\
+ lsls r0, 1\n\
+ adds r1, r0, r2\n\
+ ldrb r1, [r1]\n\
+ ldr r6, [sp, 0x14]\n\
+ adds r3, r6, 0\n\
+ muls r3, r1\n\
+ adds r2, 0x1\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ adds r0, r3, 0\n\
+ bl __divsi3\n\
+ adds r3, r0, 0\n\
+_0803C07E:\n\
+ adds r0, r5, 0\n\
+ adds r1, r3, 0\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+ movs r1, 0x32\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+ ldr r0, [r7, 0x4C]\n\
+ movs r1, 0x10\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803C0A8\n\
+ ldr r1, [sp, 0x24]\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0x3E\n\
+ beq _0803C0A8\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+_0803C0A8:\n\
+ movs r0, 0x1\n\
+ ldr r2, [sp, 0xC]\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _0803C0EA\n\
+ ldrb r1, [r4]\n\
+ cmp r1, 0x1\n\
+ bne _0803C0EA\n\
+ ldr r0, _0803C0E0 @ =gUnknown_020239F8\n\
+ ldrh r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _0803C0E4\n\
+ movs r0, 0x2\n\
+ bl sub_803C348\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x2\n\
+ bne _0803C0E4\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x3\n\
+ bl __divsi3\n\
+ lsls r5, r0, 1\n\
+ b _0803C0EA\n\
+ .align 2, 0\n\
+_0803C0DC: .4byte gStatStageRatios\n\
+_0803C0E0: .4byte gUnknown_020239F8\n\
+_0803C0E4:\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+_0803C0EA:\n\
+ ldr r0, _0803C148 @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803C11C\n\
+ ldr r0, _0803C14C @ =gBattleMoves\n\
+ ldr r3, [sp, 0x8]\n\
+ lsls r1, r3, 1\n\
+ adds r1, r3\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ ldrb r0, [r1, 0x6]\n\
+ cmp r0, 0x8\n\
+ bne _0803C11C\n\
+ movs r0, 0x2\n\
+ bl sub_803C348\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x2\n\
+ bne _0803C11C\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+_0803C11C:\n\
+ cmp r5, 0\n\
+ bne _0803C122\n\
+ movs r5, 0x1\n\
+_0803C122:\n\
+ mov r6, r9\n\
+ cmp r6, 0x9\n\
+ bne _0803C12A\n\
+ movs r5, 0\n\
+_0803C12A:\n\
+ mov r0, r9\n\
+ cmp r0, 0x9\n\
+ bhi _0803C132\n\
+ b _0803C330\n\
+_0803C132:\n\
+ ldr r0, _0803C150 @ =gCritMultiplier\n\
+ ldrb r1, [r0]\n\
+ adds r4, r0, 0\n\
+ cmp r1, 0x2\n\
+ bne _0803C15C\n\
+ movs r0, 0x1C\n\
+ ldrsb r0, [r7, r0]\n\
+ cmp r0, 0x6\n\
+ ble _0803C158\n\
+ ldr r2, _0803C154 @ =gStatStageRatios\n\
+ b _0803C162\n\
+ .align 2, 0\n\
+_0803C148: .4byte gUnknown_020239F8\n\
+_0803C14C: .4byte gBattleMoves\n\
+_0803C150: .4byte gCritMultiplier\n\
+_0803C154: .4byte gStatStageRatios\n\
+_0803C158:\n\
+ mov r5, r8\n\
+ b _0803C17A\n\
+_0803C15C:\n\
+ ldr r2, _0803C1A8 @ =gStatStageRatios\n\
+ movs r0, 0x1C\n\
+ ldrsb r0, [r7, r0]\n\
+_0803C162:\n\
+ lsls r0, 1\n\
+ adds r1, r0, r2\n\
+ ldrb r1, [r1]\n\
+ mov r5, r8\n\
+ muls r5, r1\n\
+ adds r2, 0x1\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ adds r0, r5, 0\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+_0803C17A:\n\
+ ldr r0, _0803C1AC @ =gBattleMovePower\n\
+ ldrh r0, [r0]\n\
+ muls r5, r0\n\
+ adds r0, r7, 0\n\
+ adds r0, 0x2A\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 1\n\
+ movs r1, 0x5\n\
+ bl __divsi3\n\
+ adds r0, 0x2\n\
+ muls r5, r0\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0x2\n\
+ bne _0803C1B4\n\
+ ldr r1, [sp, 0x4]\n\
+ movs r0, 0x1D\n\
+ ldrsb r0, [r1, r0]\n\
+ cmp r0, 0x5\n\
+ bgt _0803C1B0\n\
+ ldr r2, _0803C1A8 @ =gStatStageRatios\n\
+ b _0803C1BC\n\
+ .align 2, 0\n\
+_0803C1A8: .4byte gStatStageRatios\n\
+_0803C1AC: .4byte gBattleMovePower\n\
+_0803C1B0:\n\
+ ldr r3, [sp, 0x18]\n\
+ b _0803C1D6\n\
+_0803C1B4:\n\
+ ldr r2, _0803C21C @ =gStatStageRatios\n\
+ ldr r1, [sp, 0x4]\n\
+ movs r0, 0x1D\n\
+ ldrsb r0, [r1, r0]\n\
+_0803C1BC:\n\
+ lsls r0, 1\n\
+ adds r1, r0, r2\n\
+ ldrb r1, [r1]\n\
+ ldr r6, [sp, 0x18]\n\
+ adds r3, r6, 0\n\
+ muls r3, r1\n\
+ adds r2, 0x1\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ adds r0, r3, 0\n\
+ bl __divsi3\n\
+ adds r3, r0, 0\n\
+_0803C1D6:\n\
+ adds r0, r5, 0\n\
+ adds r1, r3, 0\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+ movs r1, 0x32\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+ movs r0, 0x2\n\
+ ldr r1, [sp, 0xC]\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803C22A\n\
+ ldrb r1, [r4]\n\
+ cmp r1, 0x1\n\
+ bne _0803C22A\n\
+ ldr r0, _0803C220 @ =gUnknown_020239F8\n\
+ ldrh r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _0803C224\n\
+ movs r0, 0x2\n\
+ bl sub_803C348\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x2\n\
+ bne _0803C224\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x3\n\
+ bl __divsi3\n\
+ lsls r5, r0, 1\n\
+ b _0803C22A\n\
+ .align 2, 0\n\
+_0803C21C: .4byte gStatStageRatios\n\
+_0803C220: .4byte gUnknown_020239F8\n\
+_0803C224:\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+_0803C22A:\n\
+ ldr r0, _0803C2A4 @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803C25C\n\
+ ldr r0, _0803C2A8 @ =gBattleMoves\n\
+ ldr r2, [sp, 0x8]\n\
+ lsls r1, r2, 1\n\
+ adds r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ ldrb r0, [r1, 0x6]\n\
+ cmp r0, 0x8\n\
+ bne _0803C25C\n\
+ movs r0, 0x2\n\
+ bl sub_803C348\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x2\n\
+ bne _0803C25C\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+_0803C25C:\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0xE\n\
+ movs r1, 0\n\
+ movs r2, 0xD\n\
+ movs r3, 0\n\
+ bl sub_8018324\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0\n\
+ bne _0803C30C\n\
+ str r0, [sp]\n\
+ movs r0, 0xE\n\
+ movs r1, 0\n\
+ movs r2, 0x4D\n\
+ movs r3, 0\n\
+ bl sub_8018324\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0803C30C\n\
+ ldr r2, _0803C2AC @ =gBattleWeather\n\
+ ldrh r1, [r2]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ adds r4, r2, 0\n\
+ cmp r0, 0\n\
+ beq _0803C2C4\n\
+ mov r3, r9\n\
+ cmp r3, 0xA\n\
+ beq _0803C2B0\n\
+ cmp r3, 0xB\n\
+ beq _0803C2B8\n\
+ b _0803C2C4\n\
+ .align 2, 0\n\
+_0803C2A4: .4byte gUnknown_020239F8\n\
+_0803C2A8: .4byte gBattleMoves\n\
+_0803C2AC: .4byte gBattleWeather\n\
+_0803C2B0:\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+ b _0803C2C4\n\
+_0803C2B8:\n\
+ lsls r0, r5, 4\n\
+ subs r0, r5\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+_0803C2C4:\n\
+ ldrh r1, [r4]\n\
+ movs r0, 0x9F\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803C2DC\n\
+ ldr r0, _0803C2F4 @ =gUnknown_02024BE6\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0x4C\n\
+ bne _0803C2DC\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+_0803C2DC:\n\
+ ldrh r1, [r4]\n\
+ movs r0, 0x60\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803C30C\n\
+ mov r6, r9\n\
+ cmp r6, 0xA\n\
+ beq _0803C2F8\n\
+ cmp r6, 0xB\n\
+ beq _0803C306\n\
+ b _0803C30C\n\
+ .align 2, 0\n\
+_0803C2F4: .4byte gUnknown_02024BE6\n\
+_0803C2F8:\n\
+ lsls r0, r5, 4\n\
+ subs r0, r5\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+ b _0803C30C\n\
+_0803C306:\n\
+ lsrs r0, r5, 31\n\
+ adds r0, r5, r0\n\
+ asrs r5, r0, 1\n\
+_0803C30C:\n\
+ ldr r1, _0803C344 @ =0x02017100\n\
+ ldr r2, [sp, 0x10]\n\
+ lsls r0, r2, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0803C330\n\
+ mov r3, r9\n\
+ cmp r3, 0xA\n\
+ bne _0803C330\n\
+ lsls r0, r5, 4\n\
+ subs r0, r5\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+_0803C330:\n\
+ adds r0, r5, 0x2\n\
+ add sp, 0x2C\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_0803C344: .4byte 0x02017100\n\
+ .syntax divided");
+}
+#endif
diff --git a/src/coins.c b/src/coins.c
index c07a0c7c7..87d96f2bb 100644
--- a/src/coins.c
+++ b/src/coins.c
@@ -29,7 +29,6 @@ void PrintCoins(s32 a, u8 b, u8 c, u8 d)
u8 string[16];
u8 *ptr;
u8 r1;
- u8 r6;
u8 foo;
ConvertIntToDecimalString(string, a);
diff --git a/src/decompress.c b/src/decompress.c
index 7f8ed9271..ebfd78ffb 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -107,7 +107,7 @@ void sub_800D378(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s
DrawSpindaSpots(f, g, dest, r7);
}
-static void Unused_LZDecompressWramIndirect(const void **src, void *dest)
+void Unused_LZDecompressWramIndirect(const void **src, void *dest)
{
LZ77UnCompWram(*src, dest);
}
diff --git a/src/field_camera.c b/src/field_camera.c
index b9a813bdf..c55d8e2a3 100644
--- a/src/field_camera.c
+++ b/src/field_camera.c
@@ -427,7 +427,7 @@ void CameraUpdate(void)
gUnknown_03004898 -= r8;
}
-static void camera_move_and_redraw(int a, int b)
+void camera_move_and_redraw(int a, int b)
{
CameraMove(a, b);
UpdateFieldObjectsForCameraUpdate(a, b);
diff --git a/src/field_door.c b/src/field_door.c
index da57988ca..85a5965a0 100644
--- a/src/field_door.c
+++ b/src/field_door.c
@@ -2,6 +2,7 @@
#include "asm.h"
#include "task.h"
#include "field_camera.h"
+#include "metatile_behavior.h"
struct DoorGraphics
{
@@ -186,7 +187,7 @@ static s8 cur_mapdata_get_door_x2_at(struct DoorGraphics *gfx, u32 x, u32 y)
return gfx->unk2;
}
-static void unref_sub_805869C(u32 x, u32 y)
+void unref_sub_805869C(u32 x, u32 y)
{
StartDoorOpenAnimation(gDoorAnimGraphicsTable, x, y);
}
diff --git a/src/field_ground_effect.c b/src/field_ground_effect.c
new file mode 100644
index 000000000..42cf5d676
--- /dev/null
+++ b/src/field_ground_effect.c
@@ -0,0 +1,256 @@
+#include "global.h"
+#include "asm_fieldmap.h"
+#include "metatile_behavior.h"
+
+extern u32 gUnknown_08376008[];
+
+void FieldObjectUpdateMetatileBehaviors(struct MapObject *);
+void GetGroundEffectFlags_Reflection(struct MapObject *, u32 *);
+void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *, u32 *);
+void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *, u32 *);
+void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *, u32 *);
+void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *, u32 *);
+void GetGroundEffectFlags_Tracks(struct MapObject *, u32 *);
+void GetGroundEffectFlags_SandPile(struct MapObject *, u32 *);
+void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *, u32 *);
+void GetGroundEffectFlags_Puddle(struct MapObject *, u32 *);
+void GetGroundEffectFlags_Ripple(struct MapObject *, u32 *);
+void GetGroundEffectFlags_ShortGrass(struct MapObject *, u32 *);
+void GetGroundEffectFlags_HotSprings(struct MapObject *, u32 *);
+void GetGroundEffectFlags_Seaweed(struct MapObject *, u32 *);
+void GetGroundEffectFlags_JumpLanding(struct MapObject *, u32 *);
+u8 FieldObjectCheckForReflectiveSurface(struct MapObject *);
+
+void GetAllGroundEffectFlags_OnSpawn(struct MapObject *mapObj, u32 *flags)
+{
+ FieldObjectUpdateMetatileBehaviors(mapObj);
+ GetGroundEffectFlags_Reflection(mapObj, flags);
+ GetGroundEffectFlags_TallGrassOnSpawn(mapObj, flags);
+ GetGroundEffectFlags_LongGrassOnSpawn(mapObj, flags);
+ GetGroundEffectFlags_SandPile(mapObj, flags);
+ GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags);
+ GetGroundEffectFlags_ShortGrass(mapObj, flags);
+ GetGroundEffectFlags_HotSprings(mapObj, flags);
+}
+
+void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *mapObj, u32 *flags)
+{
+ FieldObjectUpdateMetatileBehaviors(mapObj);
+ GetGroundEffectFlags_Reflection(mapObj, flags);
+ GetGroundEffectFlags_TallGrassOnBeginStep(mapObj, flags);
+ GetGroundEffectFlags_LongGrassOnBeginStep(mapObj, flags);
+ GetGroundEffectFlags_Tracks(mapObj, flags);
+ GetGroundEffectFlags_SandPile(mapObj, flags);
+ GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags);
+ GetGroundEffectFlags_Puddle(mapObj, flags);
+ GetGroundEffectFlags_ShortGrass(mapObj, flags);
+ GetGroundEffectFlags_HotSprings(mapObj, flags);
+}
+
+void GetAllGroundEffectFlags_OnFinishStep(struct MapObject *mapObj, u32 *flags)
+{
+ FieldObjectUpdateMetatileBehaviors(mapObj);
+ GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags);
+ GetGroundEffectFlags_SandPile(mapObj, flags);
+ GetGroundEffectFlags_Puddle(mapObj, flags);
+ GetGroundEffectFlags_Ripple(mapObj, flags);
+ GetGroundEffectFlags_ShortGrass(mapObj, flags);
+ GetGroundEffectFlags_HotSprings(mapObj, flags);
+ GetGroundEffectFlags_Seaweed(mapObj, flags);
+ GetGroundEffectFlags_JumpLanding(mapObj, flags);
+}
+
+void FieldObjectUpdateMetatileBehaviors(struct MapObject *mapObj)
+{
+ mapObj->mapobj_unk_1F = MapGridGetMetatileBehaviorAt(mapObj->coords3.x, mapObj->coords3.y);
+ mapObj->mapobj_unk_1E = MapGridGetMetatileBehaviorAt(mapObj->coords2.x, mapObj->coords2.y);
+}
+
+void GetGroundEffectFlags_Reflection(struct MapObject *mapObj, u32 *flags)
+{
+ u32 reflectionFlags[2] = { 0x00000020, 0x00000010 };
+ u8 type = FieldObjectCheckForReflectiveSurface(mapObj);
+
+ if (type)
+ {
+ if (!mapObj->mapobj_bit_17)
+ {
+ mapObj->mapobj_bit_17 = 0;
+ mapObj->mapobj_bit_17 = 1;
+ *flags |= reflectionFlags[type - 1];
+ }
+ }
+ else
+ {
+ mapObj->mapobj_bit_17 = 0;
+ }
+}
+
+void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsTallGrass(mapObj->mapobj_unk_1E))
+ *flags |= 0x1;
+}
+
+void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsTallGrass(mapObj->mapobj_unk_1E))
+ *flags |= 0x2;
+}
+
+void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1E))
+ *flags |= 0x4;
+}
+
+void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1E))
+ *flags |= 0x8;
+}
+
+void GetGroundEffectFlags_Tracks(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1F))
+ {
+ *flags |= 0x100;
+ }
+ else if (MetatileBehavior_IsSandOrDeepSand(mapObj->mapobj_unk_1F)
+ || MetatileBehavior_IsUnusedFootprintMetatile(mapObj->mapobj_unk_1F))
+ {
+ *flags |= 0x80;
+ }
+}
+
+void GetGroundEffectFlags_SandPile(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1E)
+ && MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1F))
+ {
+ if (!mapObj->mapobj_bit_20)
+ {
+ mapObj->mapobj_bit_20 = 0;
+ mapObj->mapobj_bit_20 = 1;
+ *flags |= 0x800;
+ }
+ }
+ else
+ {
+ mapObj->mapobj_bit_20 = 0;
+ }
+}
+
+void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *mapObj, u32 *flags)
+{
+ if ((MetatileBehavior_IsShallowFlowingWater(mapObj->mapobj_unk_1E) && MetatileBehavior_IsShallowFlowingWater(mapObj->mapobj_unk_1F))
+ || (MetatileBehavior_IsPacifidlogLog(mapObj->mapobj_unk_1E) && MetatileBehavior_IsPacifidlogLog(mapObj->mapobj_unk_1F)))
+ {
+ if (!mapObj->mapobj_bit_19)
+ {
+ mapObj->mapobj_bit_19 = 0;
+ mapObj->mapobj_bit_19 = 1;
+ *flags |= 0x40;
+ }
+ }
+ else
+ {
+ mapObj->mapobj_bit_19 = 0;
+ }
+}
+
+void GetGroundEffectFlags_Puddle(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsPuddle(mapObj->mapobj_unk_1E)
+ && MetatileBehavior_IsPuddle(mapObj->mapobj_unk_1F))
+ {
+ *flags |= 0x400;
+ }
+}
+
+void GetGroundEffectFlags_Ripple(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_HasRipples(mapObj->mapobj_unk_1E))
+ *flags |= 0x200;
+}
+
+void GetGroundEffectFlags_ShortGrass(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsShortGrass(mapObj->mapobj_unk_1E)
+ && MetatileBehavior_IsShortGrass(mapObj->mapobj_unk_1F))
+ {
+ if (!mapObj->mapobj_bit_18)
+ {
+ mapObj->mapobj_bit_18 = 0;
+ mapObj->mapobj_bit_18 = 1;
+ *flags |= 0x20000;
+ }
+ }
+ else
+ {
+ mapObj->mapobj_bit_18 = 0;
+ }
+}
+
+void GetGroundEffectFlags_HotSprings(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsHotSprings(mapObj->mapobj_unk_1E)
+ && MetatileBehavior_IsHotSprings(mapObj->mapobj_unk_1F))
+ {
+ if (!mapObj->mapobj_bit_21)
+ {
+ mapObj->mapobj_bit_21 = 0;
+ mapObj->mapobj_bit_21 = 1;
+ *flags |= 0x40000;
+ }
+ }
+ else
+ {
+ mapObj->mapobj_bit_21 = 0;
+ }
+}
+
+void GetGroundEffectFlags_Seaweed(struct MapObject *mapObj, u32 *flags)
+{
+ if (MetatileBehavior_IsSeaweed(mapObj->mapobj_unk_1E))
+ *flags |= 0x80000;
+}
+
+void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags)
+{
+ typedef bool8 (*MetatileFunc)(u8);
+
+ static const MetatileFunc metatileFuncs[] =
+ {
+ MetatileBehavior_IsTallGrass,
+ MetatileBehavior_IsLongGrass,
+ MetatileBehavior_IsPuddle,
+ MetatileBehavior_IsSurfableWaterOrUnderwater,
+ MetatileBehavior_IsShallowFlowingWater,
+ sub_8056D9C,
+ };
+
+ static const u32 jumpLandingFlags[] =
+ {
+ 0x00001000, // Landing in tall grass
+ 0x00002000, // Landing in long grass
+ 0x00004000, // Landing on puddle
+ 0x00008000, // Landing on surfable water or underwater
+ 0x00004000, // Landing on shallow flowing water
+ 0x00010000, // Landing on any other type of ground
+ };
+
+ if (mapObj->mapobj_bit_5 && !mapObj->mapobj_bit_25)
+ {
+ u8 i;
+
+ for (i = 0; i < 6; i++)
+ {
+ if (metatileFuncs[i](mapObj->mapobj_unk_1E))
+ {
+ *flags |= jumpLandingFlags[i];
+ return;
+ }
+ }
+ }
+}
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 708544b87..5fffa785f 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -14,6 +14,7 @@
#include "field_effect.h"
#include "wild_encounter.h"
#include "asm_fieldmap.h"
+#include "metatile_behavior.h"
extern u8 gOtherText_OhABite[];
extern u8 gOtherText_PokeOnHook[];
@@ -821,7 +822,7 @@ u8 PlayerGetZCoord(void)
return gMapObjects[gPlayerAvatar.mapObjectId].elevation;
}
-static void unref_sub_8059790(s16 a, s16 b)
+void unref_sub_8059790(s16 a, s16 b)
{
sub_805C058(&gMapObjects[gPlayerAvatar.mapObjectId], a, b);
}
@@ -874,7 +875,7 @@ u8 GetPlayerAvatarGraphicsIdByStateId(u8 a)
return GetPlayerAvatarGraphicsIdByStateIdAndGender(a, gPlayerAvatar.gender);
}
-static u8 unref_sub_8059888(u8 a)
+u8 unref_sub_8059888(u8 a)
{
switch (a)
{
diff --git a/src/fieldmap.c b/src/fieldmap.c
index cd9baa217..4dcfbe30b 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -42,7 +42,7 @@ EWRAM_DATA struct MapHeader gMapHeader = {0};
EWRAM_DATA struct Camera gUnknown_0202E844 = {0};
EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0};
-extern const struct ConnectionFlags gUnknown_08308E28;
+static const struct ConnectionFlags sDummyConnectionFlags = {0};
void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader);
void sub_80560AC(struct MapHeader *);
@@ -112,7 +112,7 @@ void sub_80560AC(struct MapHeader *mapHeader) {
int count;
count = mapHeader->connections->count;
connection = mapHeader->connections->connections;
- gUnknown_0202E850 = gUnknown_08308E28;
+ gUnknown_0202E850 = sDummyConnectionFlags;
for (i = 0; i < count; i++, connection++) {
cMap = mapconnection_get_mapheader(connection);
offset = connection->offset;
@@ -156,8 +156,8 @@ void sub_8056134(int x, int y, struct MapHeader *mapHeader, int x2, int y2, int
void fillSouthConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) {
int x, y;
- int x2, y2;
- int width, height;
+ int x2;
+ int width;
int cWidth;
if (connectedMapHeader) {
@@ -190,9 +190,9 @@ void fillSouthConnection(struct MapHeader *mapHeader, struct MapHeader *connecte
}
void fillNorthConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) {
- int x, y;
+ int x;
int x2, y2;
- int width, height;
+ int width;
int cWidth, cHeight;
if (connectedMapHeader) {
@@ -229,9 +229,9 @@ void fillNorthConnection(struct MapHeader *mapHeader, struct MapHeader *connecte
void fillWestConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) {
- int x, y;
+ int y;
int x2, y2;
- int width, height;
+ int height;
int cWidth, cHeight;
if (connectedMapHeader) {
cWidth = connectedMapHeader->mapData->width;
@@ -265,9 +265,9 @@ void fillWestConnection(struct MapHeader *mapHeader, struct MapHeader *connected
void fillEastConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) {
int x, y;
- int x2, y2;
- int width, height;
- int cWidth, cHeight;
+ int y2;
+ int height;
+ int cHeight;
if (connectedMapHeader) {
cHeight = connectedMapHeader->mapData->height;
x = mapHeader->mapData->width + 7;
diff --git a/src/intro.c b/src/intro.c
index 13e35976e..dfc1d6a4c 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -520,8 +520,6 @@ static void task_intro_13(u8 taskId)
static void task_intro_14(u8 taskId)
{
- u8 newTaskId;
-
REG_WIN0H = 0xF0;
REG_WIN0V = 0xA0;
REG_WININ = 0x1C;
diff --git a/src/item.c b/src/item.c
index 84ab4c1c8..3f74b5925 100644
--- a/src/item.c
+++ b/src/item.c
@@ -58,7 +58,7 @@ void CopyItemName(u16 itemId, u8 *string)
}
//Unreferenced
-static s8 CountUsedBagPocketSlots(u8 pocket)
+s8 CountUsedBagPocketSlots(u8 pocket)
{
u8 i;
diff --git a/src/link.c b/src/link.c
index 56635def2..d2b5770e9 100644
--- a/src/link.c
+++ b/src/link.c
@@ -41,8 +41,8 @@ extern u16 word_3004858;
extern u8 gMultiText_LinkError[];
static void InitLinkTestBG(u8, u8, u8, u8);
-static void InitLinkTestBG_Unused(u8, u8, u8, u8);
-static void LinkTestScreen();
+void InitLinkTestBG_Unused(u8, u8, u8, u8);
+void LinkTestScreen();
static void InitLocalLinkPlayer(void);
static void VBlankCB_LinkTest(void);
static void InitLink(void);
@@ -60,15 +60,15 @@ static void LinkCB_BlockSendBegin(void);
static void LinkCB_BlockSend(void);
static void LinkCB_BlockSendEnd(void);
static void sub_8007E04(void);
-static u32 sub_8007E40(void);
+u32 sub_8007E40(void);
static void SetBlockReceivedFlag(u8);
static u16 LinkTestCalcBlockChecksum(void *, u16);
static void PrintHexDigit(u8, u8, u8);
static void PrintHex(u32, u8, u8, u8);
static void LinkCB_RequestPlayerDataExchange(void);
static void Task_PrintTestData(u8);
-static bool8 sub_8008224(void);
-static u8 GetDummy2(void);
+bool8 sub_8008224(void);
+u8 GetDummy2(void);
static void sub_8008350(void);
static void sub_800837C(void);
static void sub_80083E0(void);
@@ -90,8 +90,8 @@ static void DoRecv(void);
static void DoSend(void);
static void StopTimer(void);
static void SendRecvDone(void);
-static void ResetSendBuffer(void);
-static void ResetRecvBuffer(void);
+void ResetSendBuffer(void);
+void ResetRecvBuffer(void);
static struct BlockTransfer sBlockSend;
static struct BlockTransfer sBlockRecv[MAX_LINK_PLAYERS];
@@ -212,7 +212,7 @@ static void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charB
}
}
-static void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock)
+void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock)
{
LoadPalette(sLinkTestDigitPalette, 16 * paletteNum, 32);
DmaCopy16(3, sLinkTestDigitTiles, BG_CHAR_ADDR(charBaseBlock), 0x220);
@@ -223,7 +223,7 @@ static void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u
*gBGControlRegs[bgNum] = (screenBaseBlock << 8) | (charBaseBlock << 2);
}
-static void LinkTestScreen(void)
+void LinkTestScreen(void)
{
s32 i;
ResetSpriteData();
@@ -840,7 +840,7 @@ void sub_8007E24(void)
gLinkCallback = sub_8007E04;
}
-static u32 sub_8007E40(void)
+u32 sub_8007E40(void)
{
return dword_20238BC;
}
@@ -1025,7 +1025,7 @@ u8 sub_8008218(void)
return gSavedMultiplayerId;
}
-static bool8 sub_8008224(void)
+bool8 sub_8008224(void)
{
s32 count = 0;
s32 i;
@@ -1072,7 +1072,7 @@ bool8 IsLinkMaster(void)
return EXTRACT_MASTER(gLinkStatus);
}
-static u8 GetDummy2(void)
+u8 GetDummy2(void)
{
return sDummy2;
}
@@ -1236,7 +1236,7 @@ void CB2_LinkError(void)
static void CB2_PrintErrorMessage(void)
{
- u8 array[64]; // unused
+ u8 array[64] __attribute__((unused)); // unused
switch (gMain.state)
{
@@ -1772,7 +1772,7 @@ static void SendRecvDone(void)
}
}
-static void ResetSendBuffer(void)
+void ResetSendBuffer(void)
{
u8 i;
u8 j;
@@ -1785,7 +1785,7 @@ static void ResetSendBuffer(void)
gLink.sendQueue.data[i][j] = 0xEFFF;
}
-static void ResetRecvBuffer(void)
+void ResetRecvBuffer(void)
{
u8 i;
u8 j;
diff --git a/src/load_save.c b/src/load_save.c
new file mode 100644
index 000000000..0d4f1238d
--- /dev/null
+++ b/src/load_save.c
@@ -0,0 +1,164 @@
+#include "global.h"
+#include "load_save.h"
+#include "asm.h"
+#include "main.h"
+#include "pokemon.h"
+#include "rom4.h"
+
+extern u8 gPlayerPartyCount;
+extern u32 gUnknown_3004820;
+
+struct LoadedSaveData
+{
+ struct ItemSlot items[20];
+ struct ItemSlot keyItems[20];
+ struct ItemSlot pokeBalls[16];
+ struct ItemSlot TMsHMs[64];
+ struct ItemSlot berries[46];
+ struct SaveBlock1_2B4C_Struct unknownSaveData[16];
+};
+
+extern struct LoadedSaveData gLoadedSaveData[];
+
+void CheckForFlashMemory(void)
+{
+ if(!IdentifyFlash())
+ {
+ gUnknown_3004820 = 1;
+ InitFlashTimer();
+ }
+ else
+ gUnknown_3004820 = 0;
+}
+
+bool32 GetSecretBase2Field_9(void)
+{
+ return gSaveBlock2.specialSaveWarp;
+}
+
+void ClearSecretBase2Field_9(void)
+{
+ gSaveBlock2.specialSaveWarp = 0;
+}
+
+void SetSecretBase2Field_9(void)
+{
+ gSaveBlock2.specialSaveWarp = 1;
+}
+
+void SetSecretBase2Field_9_AndHideBG(void) // note: no other function sets specialSaveWarp to values other than 0 or 1, hence clear and set distinctions.
+{
+ gpu_sync_bg_hide(0); // the function doesn't use the parameter passed to it, but this is necessary to match.
+ gSaveBlock2.specialSaveWarp = 1;
+}
+
+void ClearSecretBase2Field_9_2(void) // duplicate function
+{
+ gSaveBlock2.specialSaveWarp = 0;
+}
+
+void SavePlayerParty(void)
+{
+ int i;
+
+ gSaveBlock1.playerPartyCount = gPlayerPartyCount;
+
+ for (i = 0; i < 6; i++)
+ gSaveBlock1.playerParty[i] = gPlayerParty[i];
+}
+
+void LoadPlayerParty(void)
+{
+ int i;
+
+ gPlayerPartyCount = gSaveBlock1.playerPartyCount;
+
+ for (i = 0; i < 6; i++)
+ gPlayerParty[i] = gSaveBlock1.playerParty[i];
+}
+
+static void SaveMapObjects(void)
+{
+ int i;
+
+ for(i = 0; i < 16; i++)
+ gSaveBlock1.mapObjects[i] = gMapObjects[i];
+}
+
+static void LoadMapObjects(void)
+{
+ int i;
+
+ for(i = 0; i < 16; i++)
+ gMapObjects[i] = gSaveBlock1.mapObjects[i];
+}
+
+void SaveSerializedGame(void)
+{
+ SavePlayerParty();
+ SaveMapObjects();
+}
+
+void LoadSerializedGame(void)
+{
+ LoadPlayerParty();
+ LoadMapObjects();
+}
+
+void LoadPlayerData(void)
+{
+ int i;
+
+ // load player items.
+ for(i = 0; i < 20; i++)
+ gLoadedSaveData->items[i] = gSaveBlock1.bagPocket_Items[i];
+
+ // load player key items.
+ for(i = 0; i < 20; i++)
+ gLoadedSaveData->keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i];
+
+ // load player pokeballs.
+ for(i = 0; i < 16; i++)
+ gLoadedSaveData->pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i];
+
+ // load player TMs and HMs.
+ for(i = 0; i < 64; i++)
+ gLoadedSaveData->TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i];
+
+ // load player berries.
+ for(i = 0; i < 46; i++)
+ gLoadedSaveData->berries[i] = gSaveBlock1.bagPocket_Berries[i];
+
+ // load misc data.
+ for(i = 0; i < 16; i++)
+ gLoadedSaveData->unknownSaveData[i] = gSaveBlock1.unkSave[i];
+}
+
+void SavePlayerData(void)
+{
+ int i;
+
+ // save player items.
+ for(i = 0; i < 20; i++)
+ gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData->items[i];
+
+ // save player key items.
+ for(i = 0; i < 20; i++)
+ gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData->keyItems[i];
+
+ // save player pokeballs.
+ for(i = 0; i < 16; i++)
+ gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData->pokeBalls[i];
+
+ // save player TMs and HMs.
+ for(i = 0; i < 64; i++)
+ gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData->TMsHMs[i];
+
+ // save player berries.
+ for(i = 0; i < 46; i++)
+ gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData->berries[i];
+
+ // save misc data.
+ for(i = 0; i < 16; i++)
+ gSaveBlock1.unkSave[i] = gLoadedSaveData->unknownSaveData[i];
+}
diff --git a/src/mail.c b/src/mail.c
new file mode 100644
index 000000000..c1ec02e4e
--- /dev/null
+++ b/src/mail.c
@@ -0,0 +1,683 @@
+#include "global.h"
+#include "mail.h"
+#include "asm.h"
+#include "menu.h"
+#include "palette.h"
+#include "rom4.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+
+struct UnkMailStruct
+{
+ u8 unk_0_0:2;
+ u8 unk_0_2:2;
+ u8 unk_0_4:4;
+};
+
+struct MailLayout {
+ u8 var0;
+ u8 var1;
+ u8 var2;
+ u8 var3_0:4;
+ u8 var3_4:4;
+ struct UnkMailStruct *var4;
+};
+
+struct Unk2000000 {
+ /* 0x00 */ u8 words[8][27];
+ /* 0xEC */ u8 varD8[20];
+ /* 0xEC */ MainCallback varEC;
+ /* 0xF0 */ MainCallback varF0;
+ /* 0xFF */ struct MailStruct *varF4;
+ /* 0xF8 */ u8 varF8;
+ /* 0xF9 */ u8 varF9;
+ /* 0xFA */ u8 varFA;
+ /* 0xFB */ u8 varFB;
+ /* 0xFC */ u8 varFC;
+ u8 padFD[1];
+ /* 0xFE */ u8 varFE;
+ /* 0xFF */ u8 varFF;
+ /* 0x100 */ u8 var100;
+ u8 pad101[3];
+ /* 0x104 */ MainCallback var104;
+ /* 0x108 */ MainCallback var108;
+ /* 0x10C */ struct MailLayout *var10C;
+};
+
+struct MailGraphics {
+ u16 (*palette)[];
+ u8 (*tiles)[];
+ u8 (*tileMap)[];
+ u16 var0C;
+ u16 var0E;
+ u16 color10;
+ u16 color12;
+};
+
+enum {
+ ITEM_ORANGE_MAIL = 0x79,
+ ITEM_HARBOR_MAIL,
+ ITEM_GLITTER_MAIL,
+ ITEM_MECH_MAIL,
+ ITEM_WOOD_MAIL,
+ ITEM_WAVE_MAIL,
+ ITEM_BEAD_MAIL,
+ ITEM_SHADOW_MAIL,
+ ITEM_TROPIC_MAIL,
+ ITEM_DREAM_MAIL,
+ ITEM_FAB_MAIL,
+ ITEM_RETRO_MAIL,
+};
+
+extern struct Unk2000000 unk_2000000;
+extern struct MailGraphics gMailGraphicsTable[];
+extern u16 gUnknown_083E562C[][2];
+
+extern struct MailLayout gUnknown_083E5730[];
+extern struct MailLayout gUnknown_083E57A4[];
+
+extern u8 gOtherText_From[];
+
+static u8 sub_80F8A28(void);
+// static void sub_80F8D50(void);
+// static u8 *sub_80F8D7C(u8 *dest, u8 *src);
+static void sub_80F8DA0(void);
+static void sub_80F8E80(void);
+static void sub_80F8F18(void);
+static void sub_80F8F2C(void);
+static void sub_80F8F58(void);
+static void sub_80F8F78(void);
+static void sub_80F8FB4(void);
+
+#ifdef NONMATCHING
+void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) {
+ u16 mailDesign;
+ u8 buffer[4];
+ u8 local1;
+
+ unk_2000000.varFF = GAME_LANGUAGE;
+
+ // Compiler uses [sub 1], while asm uses [ptr + FE]
+ unk_2000000.varFE = 1;
+ unk_2000000.var104 = (MainCallback) sub_80EB3FC;
+ unk_2000000.var108 = (MainCallback) ConvertEasyChatWordsToString;
+
+ mailDesign = arg0->var20 - ITEM_ORANGE_MAIL;
+
+ if (mailDesign <= 11) {
+ unk_2000000.varFA = arg0->var20 - ITEM_ORANGE_MAIL;
+ } else {
+ unk_2000000.varFA = 0;
+ arg2 = FALSE;
+ }
+
+ switch (unk_2000000.var100) {
+ case 0:
+ default:
+ unk_2000000.var10C = &gUnknown_083E5730[unk_2000000.varFA];
+ break;
+
+ case 1:
+ unk_2000000.var10C = &gUnknown_083E57A4[unk_2000000.varFA];
+ break;
+ }
+
+ if (((sub_80A2D64(arg0->var1E, buffer) << 16) +0xFFFF0000) <= (410 << 16)) {
+ switch (unk_2000000.varFA) {
+ case 6:
+ unk_2000000.varFB = 1;
+ break;
+
+ case 9:
+ unk_2000000.varFB = 2;
+ break;
+
+ default:
+ unk_2000000.varFB = 0;
+ break;
+ }
+ } else {
+ unk_2000000.varFB = 0;
+ }
+
+
+ unk_2000000.varF4 = arg0;
+ unk_2000000.varEC = arg1;
+ unk_2000000.varF8 = arg2;
+
+ SetMainCallback2(sub_80F8D50);
+}
+#else
+__attribute__((naked))
+void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) {
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ sub sp, 0x4\n\
+ adds r4, r0, 0\n\
+ adds r6, r1, 0\n\
+ lsls r2, 24\n\
+ lsrs r5, r2, 24\n\
+ ldr r2, _080F8958 @ =0x02000000\n\
+ adds r1, r2, 0\n\
+ adds r1, 0xFF\n\
+ movs r0, 0x2\n\
+ strb r0, [r1]\n\
+ adds r0, 0xFE\n\
+ adds r1, r2, r0\n\
+ movs r0, 0x1\n\
+ strb r0, [r1]\n\
+ movs r0, 0x82\n\
+ lsls r0, 1\n\
+ adds r1, r2, r0\n\
+ ldr r0, _080F895C @ =sub_80EB3FC\n\
+ str r0, [r1]\n\
+ movs r0, 0x84\n\
+ lsls r0, 1\n\
+ adds r1, r2, r0\n\
+ ldr r0, _080F8960 @ =ConvertEasyChatWordsToString\n\
+ str r0, [r1]\n\
+ ldrh r1, [r4, 0x20]\n\
+ adds r0, r1, 0\n\
+ subs r0, 0x79\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0xB\n\
+ bhi _080F8964\n\
+ subs r1, 0x79\n\
+ adds r0, r2, 0\n\
+ adds r0, 0xFA\n\
+ strb r1, [r0]\n\
+ b _080F896E\n\
+ .align 2, 0\n\
+_080F8958: .4byte 0x02000000\n\
+_080F895C: .4byte sub_80EB3FC\n\
+_080F8960: .4byte ConvertEasyChatWordsToString\n\
+_080F8964:\n\
+ adds r1, r2, 0\n\
+ adds r1, 0xFA\n\
+ movs r0, 0\n\
+ strb r0, [r1]\n\
+ movs r5, 0\n\
+_080F896E:\n\
+ ldr r1, _080F8994 @ =0x02000000\n\
+ movs r2, 0x80\n\
+ lsls r2, 1\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080F8980\n\
+ cmp r0, 0x1\n\
+ beq _080F899C\n\
+_080F8980:\n\
+ movs r0, 0x86\n\
+ lsls r0, 1\n\
+ adds r2, r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xFA\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 3\n\
+ ldr r1, _080F8998 @ =gUnknown_083E5730\n\
+ b _080F89AC\n\
+ .align 2, 0\n\
+_080F8994: .4byte 0x02000000\n\
+_080F8998: .4byte gUnknown_083E5730\n\
+_080F899C:\n\
+ movs r0, 0x86\n\
+ lsls r0, 1\n\
+ adds r2, r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xFA\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 3\n\
+ ldr r1, _080F89DC @ =gUnknown_083E57A4\n\
+_080F89AC:\n\
+ adds r0, r1\n\
+ str r0, [r2]\n\
+ ldrh r0, [r4, 0x1E]\n\
+ mov r1, sp\n\
+ bl sub_80A2D64\n\
+ lsls r0, 16\n\
+ ldr r1, _080F89E0 @ =0xffff0000\n\
+ adds r0, r1\n\
+ movs r1, 0xCD\n\
+ lsls r1, 17\n\
+ cmp r0, r1\n\
+ bhi _080F89F8\n\
+ ldr r0, _080F89E4 @ =0x02000000\n\
+ adds r1, r0, 0\n\
+ adds r1, 0xFA\n\
+ ldrb r2, [r1]\n\
+ adds r1, r0, 0\n\
+ cmp r2, 0x6\n\
+ beq _080F89E8\n\
+ cmp r2, 0x9\n\
+ beq _080F89F0\n\
+ b _080F89FA\n\
+ .align 2, 0\n\
+_080F89DC: .4byte gUnknown_083E57A4\n\
+_080F89E0: .4byte 0xffff0000\n\
+_080F89E4: .4byte 0x02000000\n\
+_080F89E8:\n\
+ adds r2, r1, 0\n\
+ adds r2, 0xFB\n\
+ movs r0, 0x1\n\
+ b _080F8A00\n\
+_080F89F0:\n\
+ adds r2, r1, 0\n\
+ adds r2, 0xFB\n\
+ movs r0, 0x2\n\
+ b _080F8A00\n\
+_080F89F8:\n\
+ ldr r1, _080F8A20 @ =0x02000000\n\
+_080F89FA:\n\
+ adds r2, r1, 0\n\
+ adds r2, 0xFB\n\
+ movs r0, 0\n\
+_080F8A00:\n\
+ strb r0, [r2]\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xF4\n\
+ str r4, [r0]\n\
+ subs r0, 0x8\n\
+ str r6, [r0]\n\
+ adds r0, 0xC\n\
+ strb r5, [r0]\n\
+ ldr r0, _080F8A24 @ =sub_80F8D50\n\
+ bl SetMainCallback2\n\
+ add sp, 0x4\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080F8A20: .4byte 0x02000000\n\
+_080F8A24: .4byte sub_80F8D50\n\
+ .syntax divided\n");
+}
+
+#endif
+
+#define RETURN_UP_STATE break
+#define RETURN_SKIP_STATE return FALSE
+
+static u8 sub_80F8A28(void) {
+ switch (gMain.state) {
+ case 0:
+ SetVBlankCallback(NULL);
+ remove_some_task();
+ REG_DISPCNT = 0;
+ RETURN_UP_STATE;
+
+ case 1: CpuFill16(0, (void *) OAM, OAM_SIZE);
+ RETURN_UP_STATE;
+
+ case 2:
+ ResetPaletteFade();
+ RETURN_UP_STATE;
+
+ case 3:
+ ResetTasks();
+ RETURN_UP_STATE;
+
+ case 4:
+ ResetSpriteData();
+ RETURN_UP_STATE;
+
+ case 5:
+ FreeAllSpritePalettes();
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+ REG_BLDCNT = 0;
+ REG_BLDALPHA = 0;
+ RETURN_UP_STATE;
+
+ case 6:
+ SetUpWindowConfig(&gWindowConfig_81E6DFC);
+ RETURN_UP_STATE;
+
+ case 7:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E6DFC);
+ RETURN_UP_STATE;
+
+ case 8:
+ if (MultistepInitMenuWindowContinue() == 0) {
+ return FALSE;
+ }
+ RETURN_UP_STATE;
+
+ case 9:
+ MenuZeroFillScreen();
+ RETURN_UP_STATE;
+
+ case 10: CpuFill16(1, (void *) (VRAM + 0x4800), 0x800);
+ RETURN_UP_STATE;
+
+ case 11:
+ LoadPalette(gMailGraphicsTable[unk_2000000.varFA].palette, 0, 16 * 2);
+ RETURN_UP_STATE;
+
+ case 12:
+ LZ77UnCompVram(gMailGraphicsTable[unk_2000000.varFA].tileMap, (void *) (VRAM + 0x4000));
+ RETURN_UP_STATE;
+
+ case 13:
+ LZ77UnCompVram(gMailGraphicsTable[unk_2000000.varFA].tiles, (void *) (VRAM));
+
+ gPlttBufferUnfaded[241] = gMailGraphicsTable[unk_2000000.varFA].color10;
+ gPlttBufferUnfaded[248] = gMailGraphicsTable[unk_2000000.varFA].color12;
+ gPlttBufferUnfaded[10] = gUnknown_083E562C[gSaveBlock2.playerGender][0];
+ gPlttBufferUnfaded[11] = gUnknown_083E562C[gSaveBlock2.playerGender][1];
+ RETURN_UP_STATE;
+
+ case 14:
+ if (unk_2000000.varF8 != 0) {
+ sub_80F8DA0();
+ }
+ RETURN_UP_STATE;
+
+ case 15:
+ if (unk_2000000.varF8 != 0) {
+ sub_80F8E80();
+ }
+
+ SetVBlankCallback(sub_80F8F18);
+ gPaletteFade.bufferTransferDisabled = 1;
+ RETURN_UP_STATE;
+
+ case 16: {
+ u16 local1;
+
+ local1 = sub_809D4A8(unk_2000000.varF4->var1E);
+
+ switch (unk_2000000.varFB) {
+ case 1:
+ sub_809D580(local1);
+ unk_2000000.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 96, 128, 0);
+ break;
+
+ case 2:
+ sub_809D580(local1);
+ unk_2000000.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 40, 128, 0);
+ break;
+ }
+ RETURN_UP_STATE;
+ }
+
+ case 17:
+ if (sub_8055870() != TRUE) {
+ RETURN_UP_STATE;
+ }
+ RETURN_SKIP_STATE;
+
+ case 18:
+ REG_BG0CNT = 0x9F08;
+ REG_BG1CNT = 0x0801;
+ REG_BG2CNT = 0x0902;
+ REG_BLDCNT = 0;
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ gPaletteFade.bufferTransferDisabled = 0;
+ unk_2000000.varF0 = sub_80F8F58;
+ return TRUE;
+
+ default:
+ return FALSE;
+ }
+
+ gMain.state += 1;
+ return FALSE;
+}
+
+void sub_80F8D50(void) {
+ do {
+ if (sub_80F8A28() == 1) {
+ SetMainCallback2(sub_80F8F2C);
+ return;
+ }
+ } while (sub_80F9344() != 1);
+}
+
+u8 *sub_80F8D7C(u8 *dest, u8 *src) {
+ u16 length;
+
+ StringCopy(dest, src);
+ sub_814A568(dest);
+
+ length = StringLength(dest);
+
+ return dest + length;
+}
+
+#ifdef NONMATCHING
+static void sub_80F8DA0(void) {
+ u8 local0;
+
+ local0 = unk_2000000.var10C->var0;
+
+ // No idea what's happening in this loop.
+ if (local0 <= 0) {
+ u8 i;
+ u8 i2 = 0;
+
+ for (i = 0; i < unk_2000000.var10C->var0; i++) {
+ ConvertEasyChatWordsToString(unk_2000000.words[i], &unk_2000000.varF4->words[i2],
+ ((*unk_2000000.var10C->var4)[i] << 28) >> 30, 1);
+ i2 += ((*unk_2000000.var10C->var4)[i] << 28) >> 30;
+ }
+ }
+
+ if (unk_2000000.var100 == 0) {
+ u8 *ptr;
+ u16 length;
+
+ ptr = sub_80F8D7C(unk_2000000.varD8, unk_2000000.varF4->var12);
+ StringCopy(ptr, gOtherText_From);
+
+ length = StringLength(unk_2000000.varD8);
+
+ unk_2000000.varF9 = unk_2000000.var10C->var2 - length;
+ } else {
+ u8 *ptr;
+
+ ptr = StringCopy(unk_2000000.varD8, gOtherText_From);
+ sub_80F8D7C(ptr, unk_2000000.varF4->var12);
+
+ unk_2000000.varF9 = unk_2000000.var10C->var2;
+ }
+}
+#else
+__attribute__((naked))
+static void sub_80F8DA0(void) {
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ movs r6, 0\n\
+ movs r5, 0\n\
+ ldr r2, _080F8E3C @ =0x02000000\n\
+ movs r0, 0x86\n\
+ lsls r0, 1\n\
+ adds r1, r2, r0\n\
+ ldr r0, [r1]\n\
+ ldrb r0, [r0]\n\
+ cmp r5, r0\n\
+ bcs _080F8E04\n\
+ mov r8, r2\n\
+ adds r7, r1, 0\n\
+_080F8DBE:\n\
+ lsls r0, r5, 3\n\
+ subs r0, r5\n\
+ lsls r0, 2\n\
+ subs r0, r5\n\
+ add r0, r8\n\
+ mov r1, r8\n\
+ adds r1, 0xF4\n\
+ lsls r2, r6, 1\n\
+ ldr r1, [r1]\n\
+ adds r1, r2\n\
+ ldr r2, [r7]\n\
+ ldr r2, [r2, 0x4]\n\
+ lsls r4, r5, 2\n\
+ adds r2, r4, r2\n\
+ ldr r2, [r2]\n\
+ lsls r2, 28\n\
+ lsrs r2, 30\n\
+ movs r3, 0x1\n\
+ bl ConvertEasyChatWordsToString\n\
+ ldr r1, [r7]\n\
+ ldr r0, [r1, 0x4]\n\
+ adds r4, r0\n\
+ ldr r0, [r4]\n\
+ lsls r0, 28\n\
+ lsrs r0, 30\n\
+ adds r0, r6, r0\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ ldrb r1, [r1]\n\
+ cmp r5, r1\n\
+ bcc _080F8DBE\n\
+_080F8E04:\n\
+ ldr r2, _080F8E40 @ =0x020000d8\n\
+ adds r4, r2, 0\n\
+ subs r4, 0xD8\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x28\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080F8E48\n\
+ ldr r1, [r2, 0x1C]\n\
+ adds r1, 0x12\n\
+ adds r0, r2, 0\n\
+ bl sub_80F8D7C\n\
+ adds r2, r0, 0\n\
+ ldr r1, _080F8E44 @ =gOtherText_From\n\
+ bl StringCopy\n\
+ ldr r0, _080F8E40 @ =0x020000d8\n\
+ bl StringLength\n\
+ movs r2, 0x86\n\
+ lsls r2, 1\n\
+ adds r1, r4, r2\n\
+ ldr r1, [r1]\n\
+ ldrb r1, [r1, 0x2]\n\
+ subs r1, r0\n\
+ b _080F8E6A\n\
+ .align 2, 0\n\
+_080F8E3C: .4byte 0x02000000\n\
+_080F8E40: .4byte 0x020000d8\n\
+_080F8E44: .4byte gOtherText_From\n\
+_080F8E48:\n\
+ ldr r1, _080F8E7C @ =gOtherText_From\n\
+ adds r0, r2, 0\n\
+ bl StringCopy\n\
+ adds r2, r0, 0\n\
+ adds r0, r4, 0\n\
+ adds r0, 0xF4\n\
+ ldr r1, [r0]\n\
+ adds r1, 0x12\n\
+ adds r0, r2, 0\n\
+ bl sub_80F8D7C\n\
+ movs r1, 0x86\n\
+ lsls r1, 1\n\
+ adds r0, r4, r1\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r0, 0x2]\n\
+_080F8E6A:\n\
+ adds r0, r4, 0\n\
+ adds r0, 0xF9\n\
+ strb r1, [r0]\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080F8E7C: .4byte gOtherText_From\n\
+ .syntax divided\n");
+}
+#endif
+
+static void sub_80F8E80(void) {
+ u16 pos;
+ u8 x;
+ u8 y = 0;
+
+ for (pos = 0; pos < unk_2000000.var10C->var0; pos++) {
+ if (unk_2000000.words[pos][0] == 0xFF) {
+ continue;
+ }
+
+ if (unk_2000000.words[pos][0] == 0x00) {
+ continue;
+ }
+
+ x = unk_2000000.var10C->var4[pos].unk_0_4;
+ y += unk_2000000.var10C->var4[pos].unk_0_0;
+ MenuPrint(unk_2000000.words[pos], unk_2000000.var10C->var3_4 + x, unk_2000000.var10C->var3_0 + y);
+ y += 2;
+ }
+
+ MenuPrint(unk_2000000.varD8, unk_2000000.varF9, unk_2000000.var10C->var1);
+}
+
+static void sub_80F8F18(void) {
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void sub_80F8F2C(void) {
+ if(unk_2000000.varFB != 0) {
+ AnimateSprites();
+ BuildOamBuffer();
+ }
+
+ unk_2000000.varF0();
+}
+
+static void sub_80F8F58(void) {
+ u8 local0;
+
+ local0 = UpdatePaletteFade();
+ if(local0 == 0) {
+ unk_2000000.varF0 = sub_80F8F78;
+ }
+}
+
+static void sub_80F8F78(void) {
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON)) {
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ unk_2000000.varF0 = sub_80F8FB4;
+ }
+}
+
+static void sub_80F8FB4(void) {
+ u16 local1;
+
+ if (UpdatePaletteFade()) {
+ return;
+ }
+
+ SetMainCallback2(unk_2000000.varEC);
+ switch (unk_2000000.varFB) {
+ case 2:
+ case 1:
+ local1 = sub_809D4A8(unk_2000000.varF4->var1E);
+ sub_809D608(local1);
+
+ sub_809D510(&gSprites[unk_2000000.varFC]);
+ break;
+ }
+
+ memset(&unk_2000000, 0, 0x110);
+ ResetPaletteFade();
+}
diff --git a/src/main.c b/src/main.c
index ad131547b..a3d5c4f30 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,17 +1,18 @@
#include "global.h"
#include "main.h"
#include "asm.h"
-#include "play_time.h"
-#include "m4a.h"
-#include "gba/m4a_internal.h"
#include "gba/flash_internal.h"
-#include "siirtc.h"
-#include "rtc.h"
+#include "gba/m4a_internal.h"
+#include "intro.h"
#include "link.h"
+#include "load_save.h"
+#include "m4a.h"
+#include "play_time.h"
#include "rng.h"
#include "rom4.h"
+#include "rtc.h"
+#include "siirtc.h"
#include "sound.h"
-#include "intro.h"
extern struct SoundInfo gSoundInfo;
extern u32 gUnknown_3004820;
@@ -31,7 +32,7 @@ static void IntrDummy(void);
const u8 gGameVersion = GAME_VERSION;
-const u8 gGameLanguage = 2; // English
+const u8 gGameLanguage = GAME_LANGUAGE; // English
const char BuildDateTime[] = "2002 10 15 20:34";
diff --git a/src/main_menu.c b/src/main_menu.c
index 274386b03..9842d6f39 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -3,6 +3,7 @@
#include "asm.h"
#include "decompress.h"
#include "menu.h"
+#include "mystery_event_menu.h"
#include "option_menu.h"
#include "palette.h"
#include "rom4.h"
diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c
index 18f644cbb..df2ca3206 100644
--- a/src/matsuda_debug_menu.c
+++ b/src/matsuda_debug_menu.c
@@ -1,12 +1,15 @@
#include "global.h"
+#include "asm.h"
+#include "link.h"
#include "main.h"
#include "menu.h"
#include "palette.h"
-#include "task.h"
-#include "link.h"
-#include "text.h"
+#include "rom4.h"
#include "sprite.h"
+#include "start_menu.h"
#include "string_util.h"
+#include "task.h"
+#include "text.h"
#define BIT(n) (1 << (n))
@@ -16,30 +19,6 @@ extern u8 gContestPlayerMonIndex;
extern u16 gScriptContestCategory;
extern u16 gScriptContestRank;
extern u8 (*gCallback_03004AE8)(void);
-extern void sub_80034D4(u8 *, u8 *);
-extern void sub_80AF668(void);
-extern void sub_80C2358(void);
-extern void sub_8071C20(void);
-extern void sub_80AA10C(void);
-extern void sub_80A9C98(u8);
-extern void sub_80C8734(void);
-extern void sub_80A9CC0(u8);
-extern void sub_80C88AC(u8);
-extern void sub_80A9CDC(u8);
-extern void sub_80C8E1C(u8);
-extern void sub_80A9D58(u8);
-extern void sub_80C8EBC(u8);
-extern void sub_80A9DBC(u8);
-extern u8 sub_80C4B34(u8 *);
-extern void sub_80B0F28(u8);
-extern void sub_80C8F34(u8);
-extern void sub_80A9DD8(u8);
-extern void sub_80A9F10(u8);
-extern void sub_805469C(void);
-extern void sub_80AE398(u8, u8);
-extern void sub_80AE098(u8);
-extern void sub_80AA5BC(u8);
-extern u32 sub_80AE770(u8, u8);
extern struct Window gMenuWindow;
@@ -64,16 +43,16 @@ extern u8 gMatsudaDebugMenu_GoBackText[];
extern u8 gMatsudaDebugMenu_BattlePointsText[];
extern u8 gMatsudaDebugMenu_StartText[];
-extern u8 gUnknown_083C92BC[];
-extern u8 gUnknown_083C92B4[];
+extern struct SpritePalette gUnknown_083C92BC;
+extern struct SpriteSheet gUnknown_083C92B4;
extern struct SpriteTemplate gSpriteTemplate_83C92CC;
extern u8 gMoveNames[][13];
extern u8 gMatsudaDebugMenu_UnknownByteArray[];
-extern u32 gMatsudaDebugMenuTextList1[];
-extern u32 gMatsudaDebugMenuTextList2[];
-extern u32 gMatsudaDebugMenuTextList3[];
+extern u8* gMatsudaDebugMenuTextList1[];
+extern u8* gMatsudaDebugMenuTextList2[];
+extern u8* gMatsudaDebugMenuTextList3[];
extern u8 gMatsudaDebugMenuContestTopLeft[][2];
struct ContestPokemon
@@ -97,24 +76,24 @@ extern struct ContestPokemon gContestMons[];
extern bool8 gReceivedRemoteLinkPlayers;
extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2];
-struct DebugMenuAction
-{
- u8 *text;
- u8 (*func)(void);
-};
-
-extern struct DebugMenuAction gMatsudaDebugMenuActions[];
-
-s8 sub_80A9B78(void);
-void sub_80A9BE4(u8 taskId);
-void sub_80A9E04(u8 taskId);
-void sub_80A9E3C(u8 taskId);
-void sub_80A9ED8(u8);
-void sub_80A9E80(u8);
-void sub_80AA280(u8);
-void sub_80AA5E8(u8);
-void sub_80AA614(u8, u8);
-void sub_80AA658(u8);
+extern struct MenuAction gMatsudaDebugMenuActions[];
+
+static bool8 sub_80A9B78(void);
+static void sub_80A9BE4(u8 taskId);
+static void sub_80A9C98(u8);
+static void sub_80A9CC0(u8);
+static void sub_80A9CDC(u8);
+static void sub_80A9D58(u8);
+static void sub_80A9DBC(u8);
+static void sub_80A9DD8(u8);
+static void sub_80A9E04(u8 taskId);
+static void sub_80A9E3C(u8 taskId);
+static void sub_80A9E80(u8);
+static void sub_80A9ED8(u8);
+static void sub_80A9F10(u8);
+static void sub_80AA10C(void);
+static void sub_80AA5BC(u8);
+static void sub_80AA614(u8, u8);
u8 unref_sub_80A9B28(void)
{
@@ -126,20 +105,20 @@ u8 unref_sub_80A9B28(void)
return 0;
}
-s8 sub_80A9B78(void)
+static bool8 sub_80A9B78(void)
{
s8 choice = ProcessMenuInput();
switch(choice)
{
case -2:
- return 0;
+ return FALSE;
default:
gCallback_03004AE8 = gMatsudaDebugMenuActions[choice].func;
- return 0;
+ return FALSE;
case -1:
sub_8071C20();
- return 1;
+ return TRUE;
}
}
@@ -150,7 +129,7 @@ s8 MatsudaDebugMenu_ContestResults(void)
return 1;
}
-void sub_80A9BE4(u8 taskId)
+static void sub_80A9BE4(u8 taskId)
{
if(!gPaletteFade.active)
{
@@ -189,23 +168,23 @@ s8 MatsudaDebugMenu_CommTest(void)
return 1;
}
-void sub_80A9C98(u8 taskId)
+static void sub_80A9C98(u8 taskId)
{
sub_80AE098(0);
SetTaskFuncWithFollowupFunc(taskId, sub_80C8734, sub_80A9CC0);
}
-void sub_80A9CC0(u8 taskId)
+static void sub_80A9CC0(u8 taskId)
{
SetTaskFuncWithFollowupFunc(taskId, sub_80C88AC, sub_80A9CDC);
}
-void sub_80A9CDC(u8 taskId)
+static void sub_80A9CDC(u8 taskId)
{
SetTaskFuncWithFollowupFunc(taskId, sub_80C8E1C, sub_80A9D58);
}
-void sub_80A9CF8(u8 taskId)
+static void sub_80A9CF8(u8 taskId)
{
if(gReceivedRemoteLinkPlayers == FALSE)
{
@@ -215,13 +194,13 @@ void sub_80A9CF8(u8 taskId)
}
}
-void sub_80A9D30(u8 taskId)
+static void sub_80A9D30(u8 taskId)
{
sub_800832C();
gTasks[taskId].func = sub_80A9CF8;
}
-void sub_80A9D58(u8 taskId)
+static void sub_80A9D58(u8 taskId)
{
int i;
u8 dest[4];
@@ -229,31 +208,31 @@ void sub_80A9D58(u8 taskId)
for(i = 0; i < 4; i++)
dest[i] = gTasks[taskId].data[5 + i];
- gUnknown_0203869B = sub_80C4B34(&dest);
+ gUnknown_0203869B = sub_80C4B34(dest);
sub_80AE82C((u8)gScriptContestCategory);
sub_80B0F28(0);
SetTaskFuncWithFollowupFunc(taskId, sub_80C8EBC, sub_80A9DBC);
}
-void sub_80A9DBC(u8 taskId)
+static void sub_80A9DBC(u8 taskId)
{
SetTaskFuncWithFollowupFunc(taskId, sub_80C8F34, sub_80A9DD8);
}
-void sub_80A9DD8(u8 taskId)
+static void sub_80A9DD8(u8 taskId)
{
DestroyTask(gTasks[taskId].data[10]);
DestroyTask(taskId);
sub_8071C20();
}
-void sub_80A9E04(u8 taskId)
+static void sub_80A9E04(u8 taskId)
{
if(gMain.newKeys == 2)
gTasks[(u8)gTasks[taskId].data[10]].func = sub_80A9D30;
}
-void sub_80A9E3C(u8 taskId)
+static void sub_80A9E3C(u8 taskId)
{
u8 i;
@@ -266,7 +245,7 @@ void sub_80A9E3C(u8 taskId)
gTasks[taskId].func = sub_80A9E80;
}
-void sub_80A9E80(u8 taskId)
+static void sub_80A9E80(u8 taskId)
{
TaskFunc func;
@@ -292,7 +271,7 @@ void sub_80A9E80(u8 taskId)
}
}
-void sub_80A9ED8(u8 taskId)
+static void sub_80A9ED8(u8 taskId)
{
gTasks[taskId].data[0] = gTasks[taskId].data[0] + 1;
if((gTasks[taskId].data[0]) == 101)
@@ -303,7 +282,7 @@ void sub_80A9ED8(u8 taskId)
}
}
-void sub_80A9F10(u8 taskId)
+static void sub_80A9F10(u8 taskId)
{
if(gReceivedRemoteLinkPlayers)
{
@@ -316,7 +295,7 @@ void sub_80A9F10(u8 taskId)
}
}
-void sub_80A9F50(void)
+static void sub_80A9F50(void)
{
REG_DISPCNT = DISPCNT_OBJ_1D_MAP;
REG_DISPCNT |= DISPCNT_OBJ_ON | DISPCNT_BG0_ON;
@@ -338,7 +317,7 @@ void sub_80A9F50(void)
gUnknown_030041B8 = 0;
}
-void sub_80A9FE4(void)
+static void sub_80A9FE4(void)
{
u8 *addr;
u32 i;
@@ -360,11 +339,11 @@ void sub_80A9FE4(void)
break;
}
}
- sub_80034D4(VRAM, &ptr);
+ sub_80034D4((void *)VRAM, ptr);
LoadFontDefaultPalette(&gWindowConfig_81E6C3C);
}
-void sub_80AA064(void)
+static void sub_80AA064(void)
{
AnimateSprites();
BuildOamBuffer();
@@ -374,7 +353,7 @@ void sub_80AA064(void)
SetMainCallback2(sub_805469C);
}
-void sub_80AA090(void)
+static void sub_80AA090(void)
{
REG_BG0HOFS = gUnknown_030042A4;
REG_BG0VOFS = gUnknown_030042A0;
@@ -390,7 +369,7 @@ void sub_80AA090(void)
sub_8089668();
}
-void sub_80AA10C(void)
+static void sub_80AA10C(void)
{
u8 i;
u8 zero;
@@ -428,8 +407,8 @@ void sub_80AA10C(void)
sub_80AA5E8(gScriptContestRank);
sub_8003460(&gMenuWindow, gMatsudaDebugMenu_GoBackText, 0xD6, 0x12, 0x12);
sub_8003460(&gMenuWindow, gMatsudaDebugMenu_BattlePointsText, 0xDC, zero, 0xC);
- LoadSpriteSheet(gUnknown_083C92B4);
- LoadSpritePalette(gUnknown_083C92BC);
+ LoadSpriteSheet(&gUnknown_083C92B4);
+ LoadSpritePalette(&gUnknown_083C92BC);
sub_80AA280(3);
sub_80AA658(3);
sub_80AA614(3, zero);
@@ -445,7 +424,7 @@ void sub_80AA280(u8 var)
u8 i;
FillWindowRect_DefaultPalette(&gMenuWindow, 0, 0, 0, 0x1E, 3);
- StringCopy(unk_2000000, &gMatsudaDebugMenu_StartText);
+ StringCopy(unk_2000000, gMatsudaDebugMenu_StartText);
StringAppend(unk_2000000, &gUnknown_0203857D[var][0]);
for(i = 0; i < 4; i++)
@@ -462,43 +441,43 @@ void sub_80AA280(u8 var)
}
}
-void sub_80AA340(u8 var)
+static void sub_80AA340(u8 var)
{
ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].cool, STR_CONV_MODE_RIGHT_ALIGN, 3);
sub_8003460(&gMenuWindow, unk_2000000, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]);
}
-void sub_80AA388(u8 var)
+static void sub_80AA388(u8 var)
{
ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].cute, STR_CONV_MODE_RIGHT_ALIGN, 3);
sub_8003460(&gMenuWindow, unk_2000000, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]);
}
-void sub_80AA3D0(u8 var)
+static void sub_80AA3D0(u8 var)
{
ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].beauty, STR_CONV_MODE_RIGHT_ALIGN, 3);
sub_8003460(&gMenuWindow, unk_2000000, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]);
}
-void sub_80AA418(u8 var)
+static void sub_80AA418(u8 var)
{
ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].smart, STR_CONV_MODE_RIGHT_ALIGN, 3);
sub_8003460(&gMenuWindow, unk_2000000, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]);
}
-void sub_80AA460(u8 var)
+static void sub_80AA460(u8 var)
{
ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].tough, STR_CONV_MODE_RIGHT_ALIGN, 3);
sub_8003460(&gMenuWindow, unk_2000000, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]);
}
-void sub_80AA4A8(u8 var)
+static void sub_80AA4A8(u8 var)
{
ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].sheen, STR_CONV_MODE_RIGHT_ALIGN, 3);
sub_8003460(&gMenuWindow, unk_2000000, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]);
}
-void sub_80AA4F0(u8 var1, u8 var2)
+static void sub_80AA4F0(u8 var1, u8 var2)
{
FillWindowRect_DefaultPalette(&gMenuWindow, 0, gUnknown_083C928E[var2][0], gUnknown_083C928E[var2][1], gUnknown_083C928E[var2][0] + 7, gUnknown_083C928E[var2][1] + 1);
sub_8003460(&gMenuWindow, gMoveNames[gContestMons[var1].moves[var2]], 0x8A + var2 * 14, gUnknown_083C928E[var2][0], gUnknown_083C928E[var2][1]);
@@ -506,7 +485,7 @@ void sub_80AA4F0(u8 var1, u8 var2)
sub_8003460(&gMenuWindow, gStringVar1, 0xFA + var2 * 6, gUnknown_083C928E[var2][0] + 7, gUnknown_083C928E[var2][1]);
}
-void sub_80AA5BC(u8 var)
+static void sub_80AA5BC(u8 var)
{
sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList2[var], 0xC2, 3, 0x12);
}
@@ -516,7 +495,7 @@ void sub_80AA5E8(u8 var)
sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList3[var], 0xE8, 3, 4);
}
-void sub_80AA614(u8 var1, u8 var2)
+static void sub_80AA614(u8 var1, u8 var2)
{
u16 var = sub_80AE770(var1, var2);
@@ -541,16 +520,16 @@ void sub_80AA658(u8 var)
void SetDebugMonForContest(void)
{
- SetMonData(&gPlayerParty, MON_DATA_COOL, &gContestMons[gContestPlayerMonIndex].cool);
- SetMonData(&gPlayerParty, MON_DATA_CUTE, &gContestMons[gContestPlayerMonIndex].cute);
- SetMonData(&gPlayerParty, MON_DATA_BEAUTY, &gContestMons[gContestPlayerMonIndex].beauty);
- SetMonData(&gPlayerParty, MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart);
- SetMonData(&gPlayerParty, MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough);
- SetMonData(&gPlayerParty, MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen);
- SetMonData(&gPlayerParty, MON_DATA_MOVE1, &gContestMons[gContestPlayerMonIndex].moves[0]);
- SetMonData(&gPlayerParty, MON_DATA_MOVE2, &gContestMons[gContestPlayerMonIndex].moves[1]);
- SetMonData(&gPlayerParty, MON_DATA_MOVE3, &gContestMons[gContestPlayerMonIndex].moves[2]);
- SetMonData(&gPlayerParty, MON_DATA_MOVE4, &gContestMons[gContestPlayerMonIndex].moves[3]);
+ SetMonData(&gPlayerParty[0], MON_DATA_COOL, &gContestMons[gContestPlayerMonIndex].cool);
+ SetMonData(&gPlayerParty[0], MON_DATA_CUTE, &gContestMons[gContestPlayerMonIndex].cute);
+ SetMonData(&gPlayerParty[0], MON_DATA_BEAUTY, &gContestMons[gContestPlayerMonIndex].beauty);
+ SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart);
+ SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough);
+ SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]);
}
// too complicated
@@ -735,7 +714,7 @@ _080AA89C: .4byte gUnknown_083C92A8\n\
.syntax divided");
}
-void sub_80AA8A0(struct Sprite *sprite, s8 var1, u8 var2)
+static void sub_80AA8A0(struct Sprite *sprite, s8 var1, u8 var2)
{
if(var1 == 1)
{
@@ -765,7 +744,7 @@ void sub_80AA8F8(struct Sprite *sprite, s8 var1)
sub_80AA8A0(sprite, var1, 3);
}
-u8 sub_80AA908(u32 a1, u8 a2, s8 a3) // first param is unused.
+static u8 sub_80AA908(u32 a1, u8 a2, s8 a3) // first param is unused.
{
s16 val = a2 + a3;
@@ -826,7 +805,7 @@ void sub_80AAA84(struct Sprite *sprite, u8 var2)
}
// a similar function is at 0x80AA908, however, it apparently returns the wrong type (u8 vs u16).
-u16 sub_80AAAC8(u32 a1, u16 a2, s8 a3) // first param is unused.
+static u16 sub_80AAAC8(u32 a1, u16 a2, s8 a3) // first param is unused.
{
s16 val = a2 + a3;
diff --git a/src/menu.c b/src/menu.c
index 0b5eab831..a06463ba3 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -6,6 +6,8 @@
#include "text_window.h"
#include "sound.h"
#include "menu_cursor.h"
+#include "map_obj_lock.h"
+#include "script.h"
struct Menu
{
@@ -24,8 +26,8 @@ static void MultistepInitMenuWindowInternal(const struct WindowConfig *, u16);
static void InitMenuWindowInternal(const struct WindowConfig *, u16);
static bool8 sub_80723D4(void);
static u8 sub_8072484(u8, u8, u8, u8, u8, u8, u32);
-static u8 sub_80724F4(u8, u8, u8, u8 * const [][2], u8);
-static void sub_8072620(u8, u8, u8, u8 * const [][2], u8);
+static u8 sub_80724F4(u8, u8, u8, const struct MenuAction[], u8);
+static void sub_8072620(u8, u8, u8, const struct MenuAction[], u8);
static void sub_8072D18(u8, u8);
static struct Menu gMenu;
@@ -41,6 +43,21 @@ EWRAM_DATA u16 gMenuMessageBoxContentTileOffset = 0;
extern const struct MenuAction gUnknown_08376D74[];
+void sub_8071C20(void)
+{
+ PlaySE(SE_SELECT);
+ MenuZeroFillScreen();
+ sub_8064E2C();
+ ScriptContext2_Disable();
+ sub_8072DEC();
+}
+
+void AppendToList(u8 *list, u8 *pindex, u32 value)
+{
+ list[*pindex] = value;
+ (*pindex)++;
+}
+
void InitMenuWindow(const struct WindowConfig *winConfig)
{
InitMenuWindowInternal(winConfig, 1);
@@ -390,7 +407,7 @@ static u8 sub_8072484(u8 a1, u8 a2, u8 menuItemCount, u8 a4, u8 width, u8 a6, u3
return a4;
}
-static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][2], u8 columnCount)
+static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, const struct MenuAction menuItems[], u8 columnCount)
{
u8 i;
u8 maxWidth;
@@ -402,7 +419,7 @@ static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][
maxWidth = 0;
for (i = 0; i < menuItemCount; i++)
{
- u8 width = (sub_8072CA4(menuItems[i][0]) + 7) / 8;
+ u8 width = (sub_8072CA4(menuItems[i].text) + 7) / 8;
if (width > maxWidth)
maxWidth = width;
@@ -448,7 +465,7 @@ static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][
return maxWidth;
}
-static void sub_8072620(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][2], u8 columnCount)
+static void sub_8072620(u8 left, u8 top, u8 menuItemCount, const struct MenuAction menuItems[], u8 columnCount)
{
u8 i;
u8 maxWidth;
@@ -459,7 +476,7 @@ static void sub_8072620(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[
maxWidth = 0;
for (i = 0; i < menuItemCount; i++)
{
- u8 width = (sub_8072CA4(menuItems[i][0]) + 7) / 8;
+ u8 width = (sub_8072CA4(menuItems[i].text) + 7) / 8;
if (width > maxWidth)
maxWidth = width;
@@ -478,11 +495,11 @@ static void sub_8072620(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[
u8 row = 0;
u8 j;
for (j = 0; i + j < menuItemCount; j += columnCount, row++)
- MenuPrint(menuItems[i + j][0], left + gMenu.columnXCoords[i % columnCount], top + 2 * row);
+ MenuPrint(menuItems[i + j].text, left + gMenu.columnXCoords[i % columnCount], top + 2 * row);
}
}
-void sub_807274C(u8 left, u8 top, u8 menuItemCount, u8 a4, u8 * const menuItems[][2], u8 columnCount, u32 a7)
+void sub_807274C(u8 left, u8 top, u8 menuItemCount, u8 a4, const struct MenuAction menuItems[], u8 columnCount, u32 a7)
{
u8 maxWidth = sub_80724F4(left, top, menuItemCount, menuItems, columnCount);
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
new file mode 100644
index 000000000..dd1ac75e3
--- /dev/null
+++ b/src/metatile_behavior.c
@@ -0,0 +1,1064 @@
+#include "global.h"
+#include "metatile_behaviors.h"
+
+extern u8 gUnknown_08308E2C[];
+
+bool8 MetatileBehavior_IsWaterfall(u8);
+
+bool8 sub_8056D9C(u8 var)
+{
+ return TRUE;
+}
+
+bool8 sub_8056DA0(u8 var)
+{
+ if((gUnknown_08308E2C[var] & 1) != 0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpEast(u8 var)
+{
+ if(var == MB_JUMP_EAST)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpWest(u8 var)
+{
+ if(var == MB_JUMP_WEST)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpNorth(u8 var)
+{
+ if(var == MB_JUMP_NORTH)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpSouth(u8 var)
+{
+ if(var == MB_JUMP_SOUTH)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8056E14(u8 var)
+{
+ if(var == MB_TALL_GRASS || var == MB_LONG_GRASS)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSandOrDeepSand(u8 var)
+{
+ if(var == MB_SAND || var == MB_DEEP_SAND)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsDeepSand(u8 var)
+{
+ if(var == MB_DEEP_SAND)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsReflective(u8 var)
+{
+ if(var == MB_POND_WATER || var == MB_PUDDLE || var == MB_1A || var == MB_ICE || var == MB_SOOTOPOLIS_DEEP_WATER || var == MB_REFLECTION_UNDER_BRIDGE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIce(u8 var)
+{
+ if(var == MB_ICE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x69_2_warp_door(u8 var)
+{
+ if(var == MB_ANIMATED_DOOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsDoor(u8 var)
+{
+ if(var == MB_8D || var == MB_ANIMATED_DOOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEscalator(u8 var)
+{
+ if(var == MB_UP_ESCALATOR || var == MB_DOWN_ESCALATOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_8056EE0(u8 var)
+{
+ if(var == MB_04)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsLadder(u8 var)
+{
+ if(var == MB_LADDER)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8056F08(u8 var)
+{
+ if(var == MB_NON_ANIMATED_DOOR || var == MB_WATER_DOOR || var == MB_DEEP_SOUTH_WARP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8056F24(u8 var)
+{
+ if(var == MB_DEEP_SOUTH_WARP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8 var)
+{
+ if((gUnknown_08308E2C[var] & 2) != 0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEastArrowWarp(u8 var)
+{
+ if(var == MB_EAST_ARROW_WARP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWestArrowWarp(u8 var)
+{
+ if(var == MB_WEST_ARROW_WARP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsNorthArrowWarp(u8 var)
+{
+ if(var == MB_NORTH_ARROW_WARP || var == MB_STAIRS_OUTSIDE_ABANDONED_SHIP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSouthArrowWarp(u8 var)
+{
+ if(var == MB_SOUTH_ARROW_WARP || var == MB_WATER_SOUTH_ARROW_WARP || var == MB_SHOAL_CAVE_ENTRANCE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+// unused
+bool8 MetatileBehavior_IsArrowWarp(u8 var)
+{
+ u8 var2 = 0;
+
+ if(MetatileBehavior_IsEastArrowWarp(var)
+ || MetatileBehavior_IsWestArrowWarp(var)
+ || MetatileBehavior_IsNorthArrowWarp(var)
+ || MetatileBehavior_IsSouthArrowWarp(var))
+ {
+ var2 = 1;
+ }
+ return var2;
+}
+
+bool8 sub_8056FFC(u8 var)
+{
+ if((var >= MB_WALK_EAST && var <= MB_TRICK_HOUSE_PUZZLE_8_FLOOR) || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT)
+ || var == MB_MUDDY_SLOPE || var == MB_CRACKED_FLOOR || var == MB_WATERFALL || var == MB_ICE || var == MB_BB || var == MB_BC)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIce_2(u8 var)
+{
+ if(var == MB_ICE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 var)
+{
+ if(var == MB_TRICK_HOUSE_PUZZLE_8_FLOOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_0x05(u8 var)
+{
+ if(var == MB_05)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkNorth(u8 var)
+{
+ if(var == MB_WALK_NORTH)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkSouth(u8 var)
+{
+ if(var == MB_WALK_SOUTH)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkWest(u8 var)
+{
+ if(var == MB_WALK_WEST)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkEast(u8 var)
+{
+ if(var == MB_WALK_EAST)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsNorthwardCurrent(u8 var)
+{
+ if(var == MB_NORTHWARD_CURRENT)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSouthwardCurrent(u8 var)
+{
+ if(var == MB_SOUTHWARD_CURRENT)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWestwardCurrent(u8 var)
+{
+ if(var == MB_WESTWARD_CURRENT)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEastwardCurrent(u8 var)
+{
+ if(var == MB_EASTWARD_CURRENT)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideNorth(u8 var)
+{
+ if(var == MB_SLIDE_NORTH)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideSouth(u8 var)
+{
+ if(var == MB_SLIDE_SOUTH)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideWest(u8 var)
+{
+ if(var == MB_SLIDE_WEST)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideEast(u8 var)
+{
+ if(var == MB_SLIDE_EAST)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsCounter(u8 var)
+{
+ if(var == MB_COUNTER)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir)
+{
+ if(playerDir != 2) // if the player isn't facing north, forget about it.
+ return FALSE;
+ else if(tile == MB_TELEVISION) // is the player's north tile a TV?
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPC(u8 var)
+{
+ if(var == MB_PC)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x84(u8 var)
+{
+ if(var == MB_84)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80571C0(u8 var)
+{
+ if(var == MB_91 || var == MB_93 || var == MB_95 || var == MB_97
+ || var == MB_99 || var == MB_9B || var == MB_9D)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80571EC(u8 var)
+{
+ if(var == MB_SECRET_BASE_SPOT_RED_CAVE || var == MB_SECRET_BASE_SPOT_BROWN_CAVE || var == MB_SECRET_BASE_SPOT_YELLOW_CAVE || var == MB_SECRET_BASE_SPOT_BLUE_CAVE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805720C(u8 var)
+{
+ if(var == MB_SECRET_BASE_SPOT_TREE_1 || var == MB_SECRET_BASE_SPOT_TREE_2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x98(u8 var)
+{
+ if(var == MB_SECRET_BASE_SPOT_SHRUB)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057238(u8 var)
+{
+ if(var == MB_SECRET_BASE_PC)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805724C(u8 var)
+{
+ if(var == MB_B1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_8057260(u8 var)
+{
+ if(var == MB_B2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057274(u8 var)
+{
+ if(var == MB_B3)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057288(u8 var)
+{
+ if(var == MB_B9)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805729C(u8 var)
+{
+ if(var == MB_NORMAL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80572B0(u8 var)
+{
+ if(var == MB_B7)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_80572C4(u8 var)
+{
+ if(var == MB_B2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80572D8(u8 var)
+{
+ if(var == MB_B5)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80572EC(u8 var)
+{
+ if(var == MB_C3)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057300(u8 var)
+{
+ if(var == MB_C2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057314(u8 var)
+{
+ if(var == MB_B8)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057328(u8 var)
+{
+ if(var == MB_BE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805733C(u8 var)
+{
+ if(var == MB_BD)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057350(u8 var)
+{
+ if(var == MB_BA)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057364(u8 var)
+{
+ if(var == MB_BF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057378(u8 var)
+{
+ if(var == MB_C4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805738C(u8 var)
+{
+ if(var == MB_C5)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_HasRipples(u8 var)
+{
+ if(var == MB_POND_WATER || var == MB_PUDDLE || var == MB_SOOTOPOLIS_DEEP_WATER)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPuddle(u8 var)
+{
+ if(var == MB_PUDDLE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsTallGrass(u8 var)
+{
+ if(var == MB_TALL_GRASS)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsLongGrass(u8 var)
+{
+ if(var == MB_LONG_GRASS)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsBerryTreeSoil(u8 var)
+{
+ if(var == MB_BERRY_TREE_SOIL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsAsh(u8 var)
+{
+ if(var == MB_ASH)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8 var)
+{
+ if(var == MB_25)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsBridge(u8 var)
+{
+ if(var >= MB_WARP_OR_BRIDGE && var <= MB_ROUTE120_NORTH_BRIDGE_2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+u8 sub_8057450(u8 var)
+{
+ u8 result = var - MB_WARP_OR_BRIDGE;
+
+ if(result > 3)
+ result = 0;
+
+ return result;
+}
+
+bool8 MetatileBehavior_IsLandWildEncounter(u8 var)
+{
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && sub_8056DA0(var) == TRUE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWaterWildEncounter(u8 var)
+{
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && sub_8056DA0(var) == TRUE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80574C4(u8 var)
+{
+ if(var == MB_0B)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80574D8(u8 var)
+{
+ if(var == MB_MOUNTAIN_TOP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80574EC(u8 var)
+{
+ if(var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER || var == MB_SOOTOPOLIS_DEEP_WATER)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805750C(u8 var)
+{
+ if(var == MB_NO_SURFACING || var == MB_SEAWEED_NO_SURFACING)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsShallowFlowingWater(u8 var)
+{
+ if(var == MB_SHALLOW_WATER || var == MB_STAIRS_OUTSIDE_ABANDONED_SHIP || var == MB_SHOAL_CAVE_ENTRANCE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057540(u8 var)
+{
+ if(var == MB_THIN_ICE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057554(u8 var)
+{
+ if(var == MB_CRACKED_ICE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057568(u8 var)
+{
+ if(var == MB_OCEAN_WATER || var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_8057584(u8 var)
+{
+ if(var == MB_18 || var == MB_1A)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805759C(u8 var)
+{
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) && MetatileBehavior_IsWaterfall(var) == FALSE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEastBlocked(u8 var)
+{
+ if(var == MB_IMPASSABLE_EAST || var == MB_IMPASSABLE_NORTHEAST || var == MB_IMPASSABLE_SOUTHEAST || var == MB_C1 || var == MB_BE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWestBlocked(u8 var)
+{
+ if(var == MB_IMPASSABLE_WEST || var == MB_IMPASSABLE_NORTHWEST || var == MB_IMPASSABLE_SOUTHWEST || var == MB_C1 || var == MB_BE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsNorthBlocked(u8 var)
+{
+ if(var == MB_IMPASSABLE_NORTH || var == MB_IMPASSABLE_NORTHEAST || var == MB_IMPASSABLE_NORTHWEST || var == MB_BED)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSouthBlocked(u8 var)
+{
+ if(var == MB_IMPASSABLE_SOUTH || var == MB_IMPASSABLE_SOUTHEAST || var == MB_IMPASSABLE_SOUTHWEST || var == MB_BED)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsShortGrass(u8 var)
+{
+ if(var == MB_SHORT_GRASS)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsHotSprings(u8 var)
+{
+ if(var == MB_HOT_SPRINGS)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWaterfall(u8 var)
+{
+ if(var == MB_WATERFALL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsFortreeBridge(u8 var)
+{
+ if(var == MB_FORTREE_BRIDGE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576A0(u8 var)
+{
+ if(var == MB_PACIFIDLOG_VERTICAL_LOG_1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576B4(u8 var)
+{
+ if(var == MB_PACIFIDLOG_VERTICAL_LOG_2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576C8(u8 var)
+{
+ if(var == MB_PACIFIDLOG_HORIZONTAL_LOG_1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576DC(u8 var)
+{
+ if(var == MB_PACIFIDLOG_HORIZONTAL_LOG_2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPacifidlogLog(u8 var)
+{
+ if(var >= MB_PACIFIDLOG_VERTICAL_LOG_1 && var <= MB_PACIFIDLOG_HORIZONTAL_LOG_2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x8C(u8 var)
+{
+ if(var == MB_TRICK_HOUSE_PUZZLE_DOOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x85(u8 var)
+{
+ if(var == MB_REGION_MAP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x8B(u8 var)
+{
+ if(var == MB_CLOSED_SOOTOPOLIS_GYM_DOOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x8A(u8 var)
+{
+ if(var == MB_ROULETTE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x87(u8 var)
+{
+ if(var == MB_POKEBLOCK_FEEDER)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_0xBB(u8 var)
+{
+ if(var == MB_BB)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_0xBC(u8 var)
+{
+ if(var == MB_BC)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057798(u8 var)
+{
+ if(var == MB_LAVARIDGE_GYM_B1F_WARP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_role_x68(u8 var)
+{
+ if(var == MB_LAVARIDGE_GYM_1F_WARP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsAquaHideoutWarp(u8 var)
+{
+ if(var == MB_AQUA_HIDEOUT_WARP)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSurfableFishableWater(u8 var)
+{
+ if(var == MB_POND_WATER || var == MB_OCEAN_WATER || var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER || var == MB_SOOTOPOLIS_DEEP_WATER || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057804(u8 var)
+{
+ if(var == MB_MT_PYRE_HOLE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057818(u8 var)
+{
+ if(var == MB_CRACKED_FLOOR_HOLE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805782C(u8 var)
+{
+ if(var == MB_CRACKED_FLOOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsMuddySlope(u8 var)
+{
+ if(var == MB_MUDDY_SLOPE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsBumpySlope(u8 var)
+{
+ if(var == MB_BUMPY_SLOPE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIsolatedVerticalRail(u8 var)
+{
+ if(var == MB_ISOLATED_VERTICAL_RAIL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8 var)
+{
+ if(var == MB_ISOLATED_HORIZONTAL_RAIL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsVerticalRail(u8 var)
+{
+ if(var == MB_VERTICAL_RAIL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsHorizontalRail(u8 var)
+{
+ if(var == MB_HORIZONTAL_RAIL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSeaweed(u8 var)
+{
+ if(var == MB_SEAWEED || var == MB_SEAWEED_NO_SURFACING)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsRunningDisallowed(u8 var)
+{
+ if(var == MB_NO_RUNNING || var == MB_LONG_GRASS || var == MB_HOT_SPRINGS || MetatileBehavior_IsPacifidlogLog(var) != FALSE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80578F8(u8 var)
+{
+ if(var == MB_TALL_GRASS || var == MB_LONG_GRASS || var == MB_ASH || var == MB_LONG_GRASS_SOUTH_EDGE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805791C(u8 var)
+{
+ if(var == MB_8E)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057930(u8 var)
+{
+ if(var == MB_PICTURE_BOOK_SHELF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057944(u8 var)
+{
+ if(var == MB_BOOKSHELF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057958(u8 var)
+{
+ if(var == MB_POKEMON_CENTER_BOOKSHELF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805796C(u8 var)
+{
+ if(var == MB_VASE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057980(u8 var)
+{
+ if(var == MB_TRASH_CAN)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057994(u8 var)
+{
+ if(var == MB_SHOP_SHELF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80579A8(u8 var)
+{
+ if(var == MB_BLUEPRINT)
+ return TRUE;
+ else
+ return FALSE;
+}
diff --git a/src/money.c b/src/money.c
new file mode 100644
index 000000000..2a59cab50
--- /dev/null
+++ b/src/money.c
@@ -0,0 +1,240 @@
+#include "global.h"
+#include "money.h"
+#include "decompress.h"
+#include "menu.h"
+#include "sprite.h"
+#include "string_util.h"
+
+#define SPRITE_TAG_MONEY (0x2722)
+
+extern u16 gSpecialVar_0x8005;
+extern u8 gUnknown_02038734;
+
+extern const struct SpriteSheet gUnknown_083CF584;
+extern const struct SpritePalette gUnknown_083CF58C;
+extern const struct SpriteTemplate gSpriteTemplate_83CF56C;
+
+bool8 IsEnoughMoney(u32 budget, u32 cost) {
+ if (budget >= cost) {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_80B79B8(u32 *arg0, u32 arg1) {
+ if (*arg0 > *arg0 + arg1) {
+ *arg0 = 999999;
+ return;
+ }
+
+ *arg0 = *arg0 + arg1;
+ if (*arg0 > 999999) {
+ *arg0 = 999999;
+ }
+}
+
+void sub_80B79E0(u32 *arg0, u32 arg1) {
+ if (*arg0 < arg1) {
+ *arg0 = 0;
+ } else {
+ *arg0 = *arg0 - arg1;
+ }
+}
+
+void sub_80B79F8(u8 *buffer, u32 arg1, u8 arg2) {
+ u8 width;
+ u8 i;
+
+ if (arg1 > 999999) {
+ width = 7;
+ } else if (arg1 > 99999) {
+ width = 6;
+ } else if (arg1 > 10000) {
+ width = 5;
+ } else if (arg1 > 999) {
+ width = 4;
+ } else if (arg1 > 99) {
+ width = 3;
+ } else if (arg1 > 9) {
+ width = 2;
+ } else {
+ width = 1;
+ }
+
+ buffer[0] = EXT_CTRL_CODE_BEGIN;
+ buffer[1] = 0x14;
+ buffer[2] = 0x06;
+ buffer += 3;
+
+ for (i = 0; i < arg2 - width; i++) {
+ buffer[0] = CHAR_SPACE;
+ buffer += 1;
+ }
+
+ buffer[0] = CHAR_CURRENCY;
+ buffer += 1;
+
+ buffer = ConvertIntToDecimalString(buffer, arg1);
+
+ buffer[0] = EXT_CTRL_CODE_BEGIN;
+ buffer[1] = 0x14;
+ buffer[2] = 0x00;
+ buffer[3] = EOS;
+}
+
+void sub_80B7A94(u32 arg0, u8 size, u8 x, u8 y) {
+ u8 buffer[16];
+ u8 stringWidth;
+
+ sub_80B79F8(buffer, arg0, size);
+ stringWidth = sub_8072CA4(buffer);
+
+ if (stringWidth >= (size + 1) * 8)
+ MenuPrint(buffer, x, y);
+ else
+ {
+ int xPlusOne = x + 1;
+ MenuPrint_PixelCoords(buffer, (xPlusOne + size) * 8 - stringWidth, y * 8, 1);
+ }
+}
+
+void sub_80B7AEC(u32 arg0, u8 left, u8 top) {
+ u8 buffer[32];
+ u8 *ptr;
+
+ ptr = &buffer[0];
+
+ ptr[0] = CHAR_CURRENCY;
+ ptr++;
+
+ ptr = ConvertIntToDecimalString(ptr, arg0);
+
+ MenuPrint_RightAligned(buffer, left, top);
+
+ ptr[0] = 0xFC;
+ ptr[1] = 0x14;
+ ptr[2] = 0x00;
+ ptr[3] = 0xFF;
+}
+
+__attribute__((naked))
+void sub_80B7B34(void) {
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ sub sp, 0x4\n\
+ mov r8, r0\n\
+ adds r5, r1, 0\n\
+ mov r9, r2\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
+ lsls r5, 24\n\
+ lsrs r5, 24\n\
+ mov r1, r9\n\
+ lsls r1, 8\n\
+ mov r9, r1\n\
+ ldr r4, _080B7BD8 @ =gDecoration10000_Gfx\n\
+ adds r0, r1, r4\n\
+ lsls r6, r5, 4\n\
+ subs r6, r5\n\
+ lsls r1, r6, 6\n\
+ mov r3, r8\n\
+ adds r3, 0x1\n\
+ lsls r3, 5\n\
+ ldr r2, _080B7BDC @ =0x06008000\n\
+ adds r3, r2\n\
+ adds r1, r3\n\
+ movs r2, 0x20\n\
+ str r3, [sp]\n\
+ bl CpuFastSet\n\
+ adds r4, 0x80\n\
+ add r9, r4\n\
+ adds r0, r5, 0x1\n\
+ lsls r4, r0, 4\n\
+ subs r4, r0\n\
+ lsls r1, r4, 6\n\
+ ldr r3, [sp]\n\
+ adds r1, r3\n\
+ mov r0, r9\n\
+ movs r2, 0x20\n\
+ bl CpuFastSet\n\
+ movs r3, 0\n\
+ lsls r5, 5\n\
+ mov r0, r8\n\
+ adds r7, r5, r0\n\
+ lsls r6, 1\n\
+ adds r6, 0x1\n\
+ add r6, r8\n\
+ ldr r1, _080B7BE0 @ =0xfffff000\n\
+ adds r5, r1, 0\n\
+ ldr r0, _080B7BE4 @ =0x0600f800\n\
+ mov r12, r0\n\
+ ldr r1, _080B7BE8 @ =0x0600f840\n\
+ mov r9, r1\n\
+ lsls r4, 1\n\
+ adds r4, 0x1\n\
+ add r4, r8\n\
+_080B7BAA:\n\
+ adds r1, r7, r3\n\
+ lsls r1, 1\n\
+ mov r0, r12\n\
+ adds r2, r1, r0\n\
+ adds r0, r3, r6\n\
+ adds r0, r5\n\
+ strh r0, [r2]\n\
+ add r1, r9\n\
+ adds r0, r3, r4\n\
+ adds r0, r5\n\
+ strh r0, [r1]\n\
+ adds r0, r3, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r3, r0, 16\n\
+ cmp r3, 0x3\n\
+ bls _080B7BAA\n\
+ add sp, 0x4\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080B7BD8: .4byte gDecoration10000_Gfx\n\
+_080B7BDC: .4byte 0x06008000\n\
+_080B7BE0: .4byte 0xfffff000\n\
+_080B7BE4: .4byte 0x0600f800\n\
+_080B7BE8: .4byte 0x0600f840\n\
+ .syntax divided\n");
+}
+
+void sub_80B7BEC(u32 arg0, u8 x, u8 y) {
+ sub_80B7A94(arg0, 6, x + 6, y + 1);
+}
+
+void sub_80B7C14(u32 arg0, u8 x, u8 y) {
+ MenuDrawTextWindow(x, y, x + 13, y + 3);
+ sub_80B7BEC(arg0, x, y);
+
+ LoadCompressedObjectPic(&gUnknown_083CF584);
+ LoadCompressedObjectPalette(&gUnknown_083CF58C);
+
+ gUnknown_02038734 = CreateSprite(&gSpriteTemplate_83CF56C, x * 8 + 19, y * 8 + 11, 0);
+}
+
+void RemoveMoneyLabelObject(u8 x, u8 y) {
+ DestroySpriteAndFreeResources(&gSprites[gUnknown_02038734]);
+ FreeSpritePaletteByTag(SPRITE_TAG_MONEY);
+ MenuZeroFillWindowRect(x, y, x + 13, y + 3);
+}
+
+bool8 sub_80B7CE8(void) {
+ return IsEnoughMoney(gSaveBlock1.money, gSpecialVar_0x8005);
+}
+
+void sub_80B7D0C(void) {
+ sub_80B79E0(&gSaveBlock1.money, gSpecialVar_0x8005);
+}
diff --git a/src/mori_debug_menu.c b/src/mori_debug_menu.c
index fbb796ca4..44f8542a5 100644
--- a/src/mori_debug_menu.c
+++ b/src/mori_debug_menu.c
@@ -5,9 +5,15 @@
#include "menu.h"
#include "main.h"
#include "string_util.h"
+#include "link.h"
+#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT)
+
+extern u8 gUnknown_03004DA0[];
extern u8 (*gCallback_03004AE8)(void);
+extern u8 gUnknown_0839B22C[][3];
+extern u8 gUnknown_0839B24A[];
extern u8 gUnknown_0839B24D[];
extern u8 gUnknown_0839B255[];
extern u8 gUnknown_0839B257[];
@@ -16,6 +22,17 @@ extern const struct MenuAction gMoriDebugMenuActions[];
extern u8 gSpeciesNames[][11];
+void unref_sub_8083CF0(void)
+{
+ int i;
+ int id = SIO_MULTI_CNT->id;
+ gUnknown_03004DA0[0] = EOS;
+ StringAppend(gUnknown_03004DA0, gUnknown_0839B24A);
+ for (i = 0; i < 10; i++)
+ if ((word_3002910[id ^ 1] >> i) & 1)
+ StringAppend(gUnknown_03004DA0, gUnknown_0839B22C[i]);
+}
+
bool8 sub_8083D4C(void)
{
if ( gMain.newKeys & A_BUTTON )
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
new file mode 100644
index 000000000..09523ff40
--- /dev/null
+++ b/src/mystery_event_menu.c
@@ -0,0 +1,346 @@
+#include "global.h"
+#include "sprite.h"
+#include "menu.h"
+#include "link.h"
+#include "text.h"
+#include "main.h"
+#include "palette.h"
+#include "task.h"
+#include "string_util.h"
+#include "songs.h"
+#include "sound.h"
+#include "save.h"
+#include "asm.h"
+#include "mystery_event_menu.h"
+
+extern u8 unk_2000000[];
+extern u8 gUnknown_02039338;
+
+extern u8 gSystemText_LinkStandby[];
+extern u8 gSystemText_LoadEventPressA[];
+extern u8 gSystemText_LoadingEvent[];
+extern u8 gSystemText_DontCutLink[];
+extern u8 gSystemText_EventLoadSuccess[];
+extern u8 gSystemText_LoadingError[];
+
+static void VBlankCB(void);
+static bool8 CheckLanguageMatch(void);
+static bool8 GetEventLoadMessage(u8 *dest, u32 status);
+static void CB2_MysteryEventMenu(void);
+
+static void VBlankCB(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static bool8 CheckLanguageMatch(void)
+{
+ bool8 val = FALSE;
+
+ if (gLinkPlayers[0].language == gLinkPlayers[1].language)
+ val = TRUE;
+
+ return val;
+}
+
+void CB2_InitMysteryEventMenu(void)
+{
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ SetVBlankCallback(VBlankCB);
+ SetUpWindowConfig(&gWindowConfig_81E6CE4);
+ InitMenuWindow(&gWindowConfig_81E6CE4);
+ MenuZeroFillScreen();
+ REG_DISPCNT = 320;
+ REG_BLDCNT = 0;
+ CreateTask(Task_DestroySelf, 0);
+ StopMapMusic();
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ FillPalette(0, 0, 2);
+ SetMainCallback2(CB2_MysteryEventMenu);
+}
+
+static bool8 GetEventLoadMessage(u8 *dest, u32 status)
+{
+ bool8 retVal = 1;
+
+ if (status == 0)
+ {
+ StringCopy(dest, gSystemText_EventLoadSuccess);
+ retVal = 0;
+ }
+
+ if (status == 2)
+ retVal = 0;
+
+ if (status == 1)
+ StringCopy(dest, gSystemText_LoadingError);
+
+ return retVal;
+}
+
+static void CB2_MysteryEventMenu(void)
+{
+ u16 unkVal;
+
+ switch (gMain.state)
+ {
+ case 0:
+ MenuDrawTextWindow(0, 14, 29, 19);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ gMain.state++;
+ break;
+ case 1:
+ if (gPaletteFade.active)
+ break;
+ sub_8072044(gSystemText_LinkStandby);
+ gMain.state++;
+ break;
+ case 2:
+ if (MenuUpdateWindowText())
+ {
+ gMain.state++;
+ gLinkType = 21761;
+ OpenLink();
+ }
+ break;
+ case 3:
+ if ((gLinkStatus & 0x20) && (gLinkStatus & 0x1C) > 4)
+ {
+ PlaySE(SE_PIN);
+ sub_8072044(gSystemText_LoadEventPressA);
+ gMain.state++;
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ CloseLink();
+ gMain.state = 15;
+ }
+ break;
+ case 4:
+ if (MenuUpdateWindowText())
+ gMain.state++;
+ break;
+#ifdef NONMATCHING
+ case 5:
+ if (GetLinkPlayerCount_2() != 2)
+ {
+ GetEventLoadMessage(gStringVar4, 1);
+ sub_8072044(gStringVar4);
+ gMain.state = 13;
+ break;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_8007F4C();
+ MenuDrawTextWindow(6, 5, 23, 8);
+ MenuPrint(gSystemText_LoadingEvent, 7, 6);
+ gMain.state++;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ CloseLink();
+ gMain.state = 15;
+ }
+ break;
+ case 6:
+ if (IsLinkConnectionEstablished())
+ {
+ if (!gReceivedRemoteLinkPlayers)
+ break;
+
+ if (GetLinkPlayerDataExchangeStatusTimed() == 3)
+ {
+ sub_800832C();
+ MenuZeroFillWindowRect(6, 5, 23, 8);
+ GetEventLoadMessage(gStringVar4, 1);
+ sub_8072044(gStringVar4);
+ gMain.state = 13;
+ break;
+ }
+ else if (CheckLanguageMatch())
+ {
+ sub_8072044(gSystemText_DontCutLink);
+ gMain.state++;
+ break;
+ }
+ else
+ {
+ CloseLink();
+ MenuZeroFillWindowRect(6, 5, 23, 8);
+ GetEventLoadMessage(gStringVar4, 1);
+ sub_8072044(gStringVar4);
+ gMain.state = 13;
+ break;
+ }
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ CloseLink();
+ gMain.state = 15;
+ break;
+ }
+ break;
+#else
+ case 5:
+ if (GetLinkPlayerCount_2() != 2)
+ {
+ goto label;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_8007F4C();
+ MenuDrawTextWindow(6, 5, 23, 8);
+ MenuPrint(gSystemText_LoadingEvent, 7, 6);
+ gMain.state++;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ CloseLink();
+ gMain.state = 15;
+ }
+ break;
+ case 6:
+ if (IsLinkConnectionEstablished())
+ {
+ register u8 *ptr asm("r0");
+ register u32 offset1 asm("r2");
+ register u32 offset2 asm("r1");
+
+ if (!gReceivedRemoteLinkPlayers)
+ break;
+
+ if (GetLinkPlayerDataExchangeStatusTimed() == 3)
+ {
+ sub_800832C();
+ MenuZeroFillWindowRect(6, 5, 23, 8);
+ GetEventLoadMessage(gStringVar4, 1);
+ sub_8072044(gStringVar4);
+ ptr = (u8 *)&gMain;
+ offset1 = offsetof(struct Main, state);
+ asm("" ::: "r1");
+ ptr += offset1;
+ *ptr = 13;
+ }
+ else if (CheckLanguageMatch())
+ {
+ register u8 *ptr2 asm("r1");
+ register int offset3 asm("r0");
+ register int dummy asm("r2");
+ sub_8072044(gSystemText_DontCutLink);
+ ptr2 = (u8 *)&gMain;
+ offset3 = offsetof(struct Main, state);
+ if (dummy)
+ dummy++;
+ ptr2 += offset3;
+ (*ptr2)++;
+ break;
+ }
+ else
+ {
+ CloseLink();
+ MenuZeroFillWindowRect(6, 5, 23, 8);
+ label:
+ GetEventLoadMessage(gStringVar4, 1);
+ sub_8072044(gStringVar4);
+ ptr = (u8 *)&gMain;
+ offset2 = offsetof(struct Main, state);
+ ptr += offset2;
+ *ptr = 13;
+ }
+ break;
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ CloseLink();
+ gMain.state = 15;
+ break;
+ }
+ break;
+#endif
+ case 7:
+ if (MenuUpdateWindowText())
+ gMain.state++;
+ break;
+ case 8:
+ if (GetBlockReceivedStatus())
+ {
+ ResetBlockReceivedFlags();
+ gMain.state++;
+ }
+ break;
+ case 9:
+ gMain.state++;
+ break;
+ case 10:
+ sub_800832C();
+ gMain.state++;
+ break;
+ case 11:
+ if (gReceivedRemoteLinkPlayers)
+ break;
+ unkVal = sub_812613C(unk_2000000);
+ CpuFill32(0, unk_2000000, 0x7D4);
+ if (!GetEventLoadMessage(gStringVar4, unkVal))
+ sub_8125D44(0);
+ gMain.state++;
+ break;
+ case 12:
+ sub_8072044(gStringVar4);
+ gMain.state++;
+ break;
+ case 13:
+ MenuZeroFillWindowRect(6, 5, 23, 8);
+ if (MenuUpdateWindowText())
+ {
+ gMain.state++;
+ gUnknown_02039338 = 0;
+ }
+ break;
+ case 14:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gMain.state++;
+ }
+ break;
+ case 15:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ gMain.state++;
+ break;
+ case 16:
+ if (!gPaletteFade.active)
+ DoSoftReset();
+ break;
+ }
+
+ if (gLinkStatus & 0x40)
+ {
+ if (!IsLinkMaster())
+ {
+ CloseLink();
+ MenuZeroFillWindowRect(6, 5, 23, 8);
+ GetEventLoadMessage(gStringVar4, 1);
+ sub_8072044(gStringVar4);
+ gMain.state = 13;
+ }
+ }
+
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
new file mode 100644
index 000000000..4aa3784d7
--- /dev/null
+++ b/src/mystery_event_script.c
@@ -0,0 +1,97 @@
+#include "global.h"
+#include "script.h"
+#include "string_util.h"
+
+#ifdef SAPPHIRE
+#define UNK_MASK 0x100
+#else
+#define UNK_MASK 0x80
+#endif
+
+extern struct ScriptContext gUnknown_02039288;
+
+extern ScrCmdFunc gScriptFuncs[];
+extern ScrCmdFunc gScriptFuncs_End[];
+
+extern u8 gOtherText_DataCannotUseVersion[];
+
+void sub_8126160(u32 val);
+
+bool32 sub_8126098(u16 a1, u32 a2, u16 a3, u32 a4)
+{
+ if (!(a1 & 0x2))
+ return FALSE;
+
+ if (!(a2 & 0x2))
+ return FALSE;
+
+ if (!(a3 & 0x4))
+ return FALSE;
+
+ if (!(a4 & UNK_MASK))
+ return FALSE;
+
+ return TRUE;
+}
+
+void sub_81260D0(void)
+{
+ StringExpandPlaceholders(gStringVar4, gOtherText_DataCannotUseVersion);
+ sub_8126160(3);
+}
+
+void sub_81260EC(struct ScriptContext *ctx, u8 *ptr)
+{
+ InitScriptContext(ctx, gScriptFuncs, gScriptFuncs_End);
+ SetupBytecodeScript(ctx, ptr);
+ ctx->data[0] = (u32)ptr;
+ ctx->data[1] = 0;
+ ctx->data[2] = 0;
+ ctx->data[3] = 0;
+}
+
+bool32 sub_812611C(struct ScriptContext *ctx)
+{
+ if (RunScript(ctx) && ctx->data[3])
+ return TRUE;
+ else
+ return FALSE;
+}
+
+u32 sub_812613C(u8 *ptr)
+{
+ struct ScriptContext *ctx = &gUnknown_02039288;
+ sub_81260EC(ctx, ptr);
+ while (sub_812611C(ctx))
+ ;
+ return ctx->data[2];
+}
+
+void sub_8126160(u32 val)
+{
+ gUnknown_02039288.data[2] = val;
+}
+
+int sub_812616C(u8 *a1, int a2)
+{
+ unsigned int i;
+ int sum = 0;
+
+ for (i = 0; i < a2; i++)
+ sum += a1[i];
+
+ return sum;
+}
+
+u32 sub_812618C(u8 *ptr)
+{
+ return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24);
+}
+
+void sub_81261A4(u8 *ptr, u32 val)
+{
+ ptr[0] = val;
+ ptr[1] = val >> 8;
+ ptr[2] = val >> 16;
+ ptr[3] = val >> 24;
+}
diff --git a/src/new_game.c b/src/new_game.c
index c36337409..fa1894086 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -18,7 +18,15 @@ extern u8 gUnknown_03005CE8;
extern u16 gSaveFileStatus;
extern u8 gUnknown_0819FA81[];
-extern const struct SB1_2EFC_Struct gUnknown_08216604;
+
+const struct SB1_2EFC_Struct gUnknown_08216604 =
+{
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ }
+};
void write_word_to_mem(u32 a1, u8 *a2)
{
@@ -102,7 +110,7 @@ void NewGameInitData(void)
sub_8052DE4();
memset(&gSaveBlock1, 0, sizeof(gSaveBlock1));
sub_80A2B18();
- gSaveBlock2.sb2_field_9 = 0;
+ gSaveBlock2.specialSaveWarp = 0;
set_player_trainer_id();
PlayTimeCounter_Reset();
sub_8052D78();
diff --git a/src/player_pc.c b/src/player_pc.c
new file mode 100644
index 000000000..822e2108e
--- /dev/null
+++ b/src/player_pc.c
@@ -0,0 +1,818 @@
+#include "global.h"
+#include "item.h"
+#include "task.h"
+#include "menu.h"
+#include "sound.h"
+#include "main.h"
+#include "script.h"
+#include "palette.h"
+#include "weather.h"
+#include "asm.h"
+#include "string_util.h"
+
+extern void DisplayItemMessageOnField(u8, u8*, TaskFunc, u16);
+extern void ItemStorageMenuProcessInput(u8);
+extern void DoPlayerPCDecoration(u8);
+extern void BuyMenuFreeMemory(void);
+extern void DestroyVerticalScrollIndicator(u8);
+extern u8 sub_813AF3C(void);
+extern void sub_813AF78(void);
+extern void sub_813A240(u8);
+extern void sub_813B108(u8);
+extern void sub_813B174(u8);
+extern void sub_80A6A30(void);
+extern u8 sub_807D770(void);
+extern void sub_813A280(u8);
+extern void sub_813AE6C(u8, u8);
+extern void sub_813A240(u8);
+extern void sub_813AD58(u16);
+extern void sub_813AE0C(u8);
+extern void sub_813ABE8(u8);
+extern void sub_813AA30(u8, u8);
+extern void sub_813A4B4(u8);
+extern void sub_813A468(u8);
+
+extern u8 gOtherText_NoItems[];
+
+extern u16 gNewGamePCItems[];
+
+extern u8 gOtherText_WhatWillYouDo[];
+extern u8 gOtherText_NoMailHere[];
+
+extern u8 *gUnknown_02039314;
+extern struct MenuAction gUnknown_08406298[];
+extern u8 gUnknown_084062B8[];
+extern u8 gUnknown_084062BC[];
+extern u8 gUnknown_030007B4;
+extern u8 unk_201FE00[];
+
+extern u8 gUnknown_08152850;
+extern u8 gUnknown_08152C75;
+
+extern u32 gUnknown_08406288[];
+extern const struct MenuAction gUnknown_084062C0[];
+
+void InitPlayerPCMenu(u8 taskId);
+void PlayerPCProcessMenuInput(u8 taskId);
+void InitItemStorageMenu(u8);
+void ItemStorageMenuPrint(u8 *);
+
+void NewGameInitPCItems(void)
+{
+ u8 i = 0;
+
+ ClearItemSlots(gSaveBlock1.pcItems, 0x32);
+
+ while (gNewGamePCItems[i * 2] && (gNewGamePCItems + 1)[i * 2])
+ {
+ if(AddPCItem(gNewGamePCItems[i * 2], (gNewGamePCItems + 1)[i * 2]) != 1)
+ break;
+ i++;
+ }
+}
+
+void BedroomPC(void)
+{
+ u8 taskId;
+
+ gUnknown_02039314 = gUnknown_084062B8;
+ gUnknown_030007B4 = 4;
+ taskId = CreateTask(TaskDummy, 0);
+ DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
+}
+
+void PlayerPC(void)
+{
+ u8 taskId;
+
+ gUnknown_02039314 = gUnknown_084062BC;
+ gUnknown_030007B4 = 3;
+ taskId = CreateTask(TaskDummy, 0);
+ DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
+}
+
+void InitPlayerPCMenu(u8 taskId)
+{
+ MenuDrawTextWindow(0, 0, 10, gUnknown_030007B4 * 2 + 1);
+ PrintMenuItemsReordered(1, 1, gUnknown_030007B4, gUnknown_08406298, gUnknown_02039314);
+ InitMenu(0, 1, 1, gUnknown_030007B4, 0, 9);
+ gTasks[taskId].func = PlayerPCProcessMenuInput;
+}
+
+void PlayerPCProcessMenuInput(u8 taskId)
+{
+ if(gMain.newAndRepeatedKeys & 0x40)
+ {
+ PlaySE(5);
+ MoveMenuCursor(-1);
+ }
+ else if(gMain.newAndRepeatedKeys & 0x80)
+ {
+ PlaySE(5);
+ MoveMenuCursor(1);
+ }
+ else if(gMain.newKeys & 0x1)
+ {
+ sub_8072DEC();
+ PlaySE(5);
+ gUnknown_08406298[gUnknown_02039314[GetMenuCursorPos()]].func(taskId);
+ }
+ else if(gMain.newKeys & 0x2)
+ {
+ sub_8072DEC();
+ PlaySE(5);
+ gUnknown_08406298[gUnknown_030007B4[gUnknown_02039314 - 1]].func(taskId);
+ }
+}
+
+void ReshowPlayerPC(u8 var)
+{
+ DisplayItemMessageOnField(var, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
+}
+
+void PlayerPC_ItemStorage(u8 taskId)
+{
+ InitItemStorageMenu(0);
+ gTasks[taskId].func = ItemStorageMenuProcessInput;
+}
+
+void PlayerPC_Mailbox(u8 taskId)
+{
+ MenuZeroFillWindowRect(0, 0, 10, 9);
+ unk_201FE00[3] = sub_813AF3C();
+ if(!unk_201FE00[3])
+ DisplayItemMessageOnField(taskId, gOtherText_NoMailHere, ReshowPlayerPC, 0);
+ else
+ {
+ unk_201FE00[0] = 0;
+ unk_201FE00[2] = 0;
+ sub_813AF78();
+ sub_813A240(taskId);
+ sub_813B108(taskId);
+ gTasks[taskId].func = sub_813B174;
+ }
+}
+
+void PlayerPC_Decoration(u8 var)
+{
+ MenuZeroFillWindowRect(0, 0, 10, 9);
+ DoPlayerPCDecoration(var);
+}
+
+void PlayerPC_TurnOff(u8 taskId)
+{
+ if(gUnknown_030007B4 == 4)
+ {
+ MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
+ if(!gSaveBlock2.playerGender)
+ ScriptContext1_SetupScript(&gUnknown_08152850); // male
+ else
+ ScriptContext1_SetupScript(&gUnknown_08152C75); // female
+ }
+ else
+ {
+ MenuZeroFillWindowRect(0, 0, 10, 9);
+ EnableBothScriptContexts();
+ }
+ DestroyTask(taskId);
+}
+
+void InitItemStorageMenu(u8 var)
+{
+ MenuZeroFillWindowRect(0, 0, 10, 9);
+ MenuDrawTextWindow(0, 0, 11, 9);
+ PrintMenuItems(1, 1, 4, gUnknown_084062C0);
+ InitMenu(0, 1, 1, 4, var, 10);
+ ItemStorageMenuPrint((u8 *)gUnknown_08406288[var]);
+}
+
+void ItemStorageMenuPrint(u8 *textPtr)
+{
+ MenuFillWindowRectWithBlankTile(2, 15, 27, 18);
+ MenuPrint(textPtr, 2, 15);
+}
+
+void ItemStorageMenuProcessInput(u8 var)
+{
+ if(gMain.newAndRepeatedKeys & 0x40)
+ {
+ PlaySE(5);
+ MoveMenuCursor(-1);
+ ItemStorageMenuPrint((u8 *)gUnknown_08406288[GetMenuCursorPos()]);
+ }
+ else if(gMain.newAndRepeatedKeys & 0x80)
+ {
+ PlaySE(5);
+ MoveMenuCursor(1);
+ ItemStorageMenuPrint((u8 *)gUnknown_08406288[GetMenuCursorPos()]);
+ }
+ else if(gMain.newKeys & 0x1)
+ {
+ PlaySE(5);
+ gUnknown_084062C0[GetMenuCursorPos()].func(var);
+ }
+ else if(gMain.newKeys & 0x2)
+ {
+ sub_8072DEC();
+ PlaySE(5);
+ gUnknown_084062C0[3].func(var);
+ }
+}
+
+void Task_ItemStorage_Deposit(u8 taskId)
+{
+ if(!gPaletteFade.active)
+ {
+ sub_80A6A30();
+ DestroyTask(taskId);
+ }
+}
+
+void ItemStorage_Deposit(u8 taskId)
+{
+ gTasks[taskId].func = Task_ItemStorage_Deposit;
+ fade_screen(1, 0);
+}
+
+void sub_813A0C8(u8 taskId)
+{
+ if(sub_807D770() == 1)
+ gTasks[taskId].func = ItemStorageMenuProcessInput;
+}
+
+void sub_813A0F8(void)
+{
+ MenuDisplayMessageBox();
+ InitItemStorageMenu(1);
+ CreateTask(sub_813A0C8, 0);
+ pal_fill_black();
+}
+
+void ItemStorage_Withdraw(u8 taskId)
+{
+ u8 var;
+ u16 * data = gTasks[taskId].data;
+
+ sub_8072DEC();
+ MenuZeroFillWindowRect(0, 0, 11, 9);
+ var = CountUsedPCItemSlots();
+ data[2] = var;
+
+ if(var)
+ {
+ MenuZeroFillWindowRect(0, 14, 29, 19);
+ data[6] = 0;
+ data[0] = 0;
+ data[1] = 0;
+ sub_813A240(taskId);
+ sub_813AE6C(taskId, 0);
+ gTasks[taskId].func = sub_813A280;
+ }
+ else
+ DisplayItemMessageOnField(taskId, gOtherText_NoItems, PlayerPC_ItemStorage, 0);
+}
+
+void ItemStorage_Toss(u8 taskId)
+{
+ u8 var;
+ u16 * data = gTasks[taskId].data;
+
+ sub_8072DEC();
+ MenuZeroFillWindowRect(0, 0, 11, 9);
+ var = CountUsedPCItemSlots();
+ data[2] = var;
+
+ if(var)
+ {
+ MenuZeroFillWindowRect(0, 14, 29, 19);
+ data[6] = 2;
+ data[0] = 0;
+ data[1] = 0;
+ sub_813A240(taskId);
+ sub_813AE6C(taskId, 2);
+ gTasks[taskId].func = sub_813A280;
+ }
+ else
+ DisplayItemMessageOnField(taskId, gOtherText_NoItems, PlayerPC_ItemStorage, 0);
+}
+
+void ItemStorage_Exit(u8 var)
+{
+ sub_8072DEC();
+ MenuZeroFillWindowRect(0, 0, 11, 9);
+ ReshowPlayerPC(var);
+}
+
+void sub_813A240(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (data[2] > 7)
+ data[4] = 8;
+ else
+ data[4] = data[2] + 1;
+
+ if(unk_201FE00[3] > 7)
+ unk_201FE00[1] = 8;
+ else
+ unk_201FE00[1] = unk_201FE00[3] + 1;
+}
+
+#ifdef NONMATCHING
+void sub_813A280(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if(gMain.newAndRepeatedKeys & 0x40)
+ {
+ if(data[0])
+ {
+ PlaySE(5);
+ data[0] = MoveMenuCursor(-1);
+ if(!data[9])
+ {
+ if(data[1] + data[0] == data[2])
+ {
+ sub_813AD58(0xFFFF);
+ return;
+ }
+ sub_813AD58(gSaveBlock1.pcItems[data[1] + data[0]].itemId);
+ }
+ return;
+ }
+ if(!data[1])
+ return;
+ PlaySE(5);
+ sub_813AE0C(taskId);
+ if(data[9])
+ MoveMenuCursor(0);
+ return;
+ }
+ if(!(gMain.newAndRepeatedKeys & 0x80))
+ {
+ if(gMain.newKeys & 0x4)
+ {
+ if(!data[9])
+ {
+ if(data[0] + data[1] != data[2])
+ {
+ PlaySE(5);
+ data[9] = 1;
+ data[8] = data[0] + data[1];
+ sub_813AD58(0xFFF7);
+ }
+ sub_813ABE8(taskId);
+ return;
+ }
+ PlaySE(5);
+ sub_813AA30(taskId, 0);
+ sub_813AE0C(taskId);
+ return;
+ }
+ if(gMain.newKeys & 0x1)
+ {
+ PlaySE(5);
+ if(data[9])
+ {
+ sub_813AA30(taskId, 0);
+ sub_813AE0C(taskId);
+ return;
+ }
+ if(data[1] + data[0] != data[2])
+ {
+ sub_813A4B4(taskId);
+ return;
+ }
+ }
+ else
+ {
+ if(!(gMain.newKeys & 0x2))
+ return;
+ PlaySE(5);
+ if(data[9])
+ {
+ sub_813AA30(taskId, 1);
+ sub_813AE0C(taskId);
+ return;
+ }
+ sub_8072DEC();
+ }
+ sub_813A468(taskId);
+ return;
+ }
+ if(data[0] == data[4] - 1)
+ {
+ if(data[1] + data[0] == data[2])
+ return;
+ PlaySE(5);
+ data[1]++;
+ sub_813AE0C(taskId);
+ if(data[9])
+ MoveMenuCursor(0);
+ return;
+ }
+ PlaySE(5);
+ data[0] = MoveMenuCursor(1);
+ if(!data[9])
+ {
+ if(data[1] + data[0] != data[2])
+ {
+ sub_813AD58(gSaveBlock1.pcItems[data[1] + data[0]].itemId);
+ return;
+ }
+ sub_813AD58(0xFFFF);
+ }
+}
+#else
+__attribute__((naked))
+void sub_813A280(u8 taskId)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ adds r6, r5, 0\n\
+ lsls r0, r5, 2\n\
+ adds r0, r5\n\
+ lsls r0, 3\n\
+ ldr r1, _0813A2DC @ =gTasks + 0x8\n\
+ adds r4, r0, r1\n\
+ ldr r2, _0813A2E0 @ =gMain\n\
+ ldrh r1, [r2, 0x30]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0813A306\n\
+ movs r1, 0\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r0, 0\n\
+ beq _0813A2E4\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ bl MoveMenuCursor\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ strh r0, [r4]\n\
+ ldrh r1, [r4, 0x2]\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ movs r2, 0x12\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r0, 0\n\
+ beq _0813A2CC\n\
+ b _0813A460\n\
+_0813A2CC:\n\
+ lsls r0, r1, 16\n\
+ asrs r1, r0, 16\n\
+ movs r2, 0x4\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r1, r0\n\
+ beq _0813A34C\n\
+ b _0813A358\n\
+ .align 2, 0\n\
+_0813A2DC: .4byte gTasks + 0x8\n\
+_0813A2E0: .4byte gMain\n\
+_0813A2E4:\n\
+ movs r1, 0x2\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r0, 0\n\
+ bne _0813A2EE\n\
+ b _0813A460\n\
+_0813A2EE:\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldrh r0, [r4, 0x2]\n\
+ subs r0, 0x1\n\
+ strh r0, [r4, 0x2]\n\
+ adds r0, r5, 0\n\
+ bl sub_813AE0C\n\
+ movs r2, 0x12\n\
+ ldrsh r0, [r4, r2]\n\
+ b _0813A394\n\
+_0813A306:\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0813A3A0\n\
+ movs r0, 0\n\
+ ldrsh r1, [r4, r0]\n\
+ movs r2, 0x8\n\
+ ldrsh r0, [r4, r2]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ beq _0813A370\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0x1\n\
+ bl MoveMenuCursor\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ strh r0, [r4]\n\
+ ldrh r1, [r4, 0x2]\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ movs r2, 0x12\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r0, 0\n\
+ beq _0813A340\n\
+ b _0813A460\n\
+_0813A340:\n\
+ lsls r0, r1, 16\n\
+ asrs r1, r0, 16\n\
+ movs r2, 0x4\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r1, r0\n\
+ bne _0813A358\n\
+_0813A34C:\n\
+ ldr r0, _0813A354 @ =0x0000ffff\n\
+ bl sub_813AD58\n\
+ b _0813A460\n\
+ .align 2, 0\n\
+_0813A354: .4byte 0x0000ffff\n\
+_0813A358:\n\
+ ldr r0, _0813A36C @ =gSaveBlock1\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ movs r0, 0x93\n\
+ lsls r0, 3\n\
+ adds r1, r0\n\
+ ldrh r0, [r1]\n\
+ bl sub_813AD58\n\
+ b _0813A460\n\
+ .align 2, 0\n\
+_0813A36C: .4byte gSaveBlock1\n\
+_0813A370:\n\
+ movs r2, 0x2\n\
+ ldrsh r0, [r4, r2]\n\
+ adds r0, r1\n\
+ movs r2, 0x4\n\
+ ldrsh r1, [r4, r2]\n\
+ cmp r0, r1\n\
+ beq _0813A460\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldrh r0, [r4, 0x2]\n\
+ adds r0, 0x1\n\
+ strh r0, [r4, 0x2]\n\
+ adds r0, r5, 0\n\
+ bl sub_813AE0C\n\
+ movs r1, 0x12\n\
+ ldrsh r0, [r4, r1]\n\
+_0813A394:\n\
+ cmp r0, 0\n\
+ beq _0813A460\n\
+ movs r0, 0\n\
+ bl MoveMenuCursor\n\
+ b _0813A460\n\
+_0813A3A0:\n\
+ ldrh r1, [r2, 0x2E]\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0813A3F0\n\
+ movs r2, 0x12\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r0, 0\n\
+ bne _0813A3E8\n\
+ movs r1, 0\n\
+ ldrsh r0, [r4, r1]\n\
+ movs r2, 0x2\n\
+ ldrsh r1, [r4, r2]\n\
+ adds r0, r1\n\
+ movs r2, 0x4\n\
+ ldrsh r1, [r4, r2]\n\
+ cmp r0, r1\n\
+ beq _0813A3DC\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0x1\n\
+ strh r0, [r4, 0x12]\n\
+ ldrh r0, [r4]\n\
+ ldrh r1, [r4, 0x2]\n\
+ adds r0, r1\n\
+ strh r0, [r4, 0x10]\n\
+ ldr r0, _0813A3E4 @ =0x0000fff7\n\
+ bl sub_813AD58\n\
+_0813A3DC:\n\
+ adds r0, r5, 0\n\
+ bl sub_813ABE8\n\
+ b _0813A460\n\
+ .align 2, 0\n\
+_0813A3E4: .4byte 0x0000fff7\n\
+_0813A3E8:\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ b _0813A420\n\
+_0813A3F0:\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0813A430\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r2, 0x12\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r0, 0\n\
+ bne _0813A420\n\
+ movs r1, 0x2\n\
+ ldrsh r0, [r4, r1]\n\
+ movs r2, 0\n\
+ ldrsh r1, [r4, r2]\n\
+ adds r0, r1\n\
+ movs r2, 0x4\n\
+ ldrsh r1, [r4, r2]\n\
+ cmp r0, r1\n\
+ beq _0813A44A\n\
+ adds r0, r5, 0\n\
+ bl sub_813A4B4\n\
+ b _0813A460\n\
+_0813A420:\n\
+ adds r0, r5, 0\n\
+ movs r1, 0\n\
+ bl sub_813AA30\n\
+ adds r0, r5, 0\n\
+ bl sub_813AE0C\n\
+ b _0813A460\n\
+_0813A430:\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0813A460\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r1, 0x12\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r0, 0\n\
+ bne _0813A452\n\
+ bl sub_8072DEC\n\
+_0813A44A:\n\
+ adds r0, r5, 0\n\
+ bl sub_813A468\n\
+ b _0813A460\n\
+_0813A452:\n\
+ adds r0, r6, 0\n\
+ movs r1, 0x1\n\
+ bl sub_813AA30\n\
+ adds r0, r6, 0\n\
+ bl sub_813AE0C\n\
+_0813A460:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .syntax divided");
+}
+#endif
+
+void sub_813A468(u8 taskId)
+{
+ BuyMenuFreeMemory();
+ DestroyVerticalScrollIndicator(0);
+ DestroyVerticalScrollIndicator(1);
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ MenuDisplayMessageBox();
+ InitItemStorageMenu(gTasks[taskId].data[6]);
+ gTasks[taskId].func = ItemStorageMenuProcessInput;
+}
+
+#ifdef NONMATCHING
+void sub_813A4B4(u8 taskId)
+{
+ u16 *data = gTasks[taskId].data;
+ u16 var = data[2] + data[0];
+
+ sub_80F996C(0);
+ sub_80F996C(1);
+
+ if(data[6])
+ {
+ if(gSaveBlock1.pcItems[var].itemId == 1)
+ {
+ data[3] = 1;
+ sub_813A794(taskId);
+ return;
+ }
+ sub_813AD58(0xFFF7);
+ data[3] = 1;
+ MenuDrawTextWindow(6, 8, 13, 11);
+ sub_80A418C(data[3], STR_CONV_MODE_RIGHT_ALIGN, 8, 9, 3);
+ gTasks[taskId].func = sub_813A584;
+ return;
+ }
+ if(gSaveBlock1.pcItems[var].itemId != 1)
+ {
+ sub_813AD58(0xFFF7);
+ data[3] = 1;
+ MenuDrawTextWindow(6, 8, 13, 11);
+ sub_80A418C(data[3], STR_CONV_MODE_RIGHT_ALIGN, 8, 9, 3);
+ gTasks[taskId].func = sub_813A584;
+ return;
+ }
+ data[3] = 1;
+ sub_813A6FC(taskId);
+}
+#else
+__attribute__((naked))
+void sub_813A4B4(u8 taskId)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ sub sp, 0x4\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ lsls r0, r6, 2\n\
+ adds r0, r6\n\
+ lsls r0, 3\n\
+ ldr r1, _0813A500 @ =gTasks + 0x8\n\
+ adds r4, r0, r1\n\
+ ldrb r0, [r4, 0x2]\n\
+ ldrb r1, [r4]\n\
+ adds r0, r1\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ movs r0, 0\n\
+ bl sub_80F996C\n\
+ movs r0, 0x1\n\
+ bl sub_80F996C\n\
+ movs r1, 0xC\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r0, 0\n\
+ bne _0813A518\n\
+ ldr r1, _0813A504 @ =gSaveBlock1\n\
+ lsls r0, r5, 2\n\
+ adds r0, r1\n\
+ ldr r1, _0813A508 @ =0x0000049a\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0x1\n\
+ bne _0813A50C\n\
+ strh r0, [r4, 0x6]\n\
+ adds r0, r6, 0\n\
+ bl sub_813A6FC\n\
+ b _0813A570\n\
+ .align 2, 0\n\
+_0813A500: .4byte gTasks + 0x8\n\
+_0813A504: .4byte gSaveBlock1\n\
+_0813A508: .4byte 0x0000049a\n\
+_0813A50C:\n\
+ ldr r0, _0813A514 @ =0x0000fffe\n\
+ bl sub_813AD58\n\
+ b _0813A542\n\
+ .align 2, 0\n\
+_0813A514: .4byte 0x0000fffe\n\
+_0813A518:\n\
+ ldr r1, _0813A534 @ =gSaveBlock1\n\
+ lsls r0, r5, 2\n\
+ adds r0, r1\n\
+ ldr r1, _0813A538 @ =0x0000049a\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0x1\n\
+ bne _0813A53C\n\
+ strh r0, [r4, 0x6]\n\
+ adds r0, r6, 0\n\
+ bl sub_813A794\n\
+ b _0813A570\n\
+ .align 2, 0\n\
+_0813A534: .4byte gSaveBlock1\n\
+_0813A538: .4byte 0x0000049a\n\
+_0813A53C:\n\
+ ldr r0, _0813A578 @ =0x0000fffc\n\
+ bl sub_813AD58\n\
+_0813A542:\n\
+ movs r0, 0x1\n\
+ strh r0, [r4, 0x6]\n\
+ movs r0, 0x6\n\
+ movs r1, 0x8\n\
+ movs r2, 0xD\n\
+ movs r3, 0xB\n\
+ bl MenuDrawTextWindow\n\
+ ldrh r0, [r4, 0x6]\n\
+ movs r1, 0x3\n\
+ str r1, [sp]\n\
+ movs r1, 0x1\n\
+ movs r2, 0x8\n\
+ movs r3, 0x9\n\
+ bl sub_80A418C\n\
+ ldr r1, _0813A57C @ =gTasks\n\
+ lsls r0, r6, 2\n\
+ adds r0, r6\n\
+ lsls r0, 3\n\
+ adds r0, r1\n\
+ ldr r1, _0813A580 @ =sub_813A584\n\
+ str r1, [r0]\n\
+_0813A570:\n\
+ add sp, 0x4\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0813A578: .4byte 0x0000fffc\n\
+_0813A57C: .4byte gTasks\n\
+_0813A580: .4byte sub_813A584\n\
+ .syntax divided");
+}
+#endif
diff --git a/src/pokedex.c b/src/pokedex.c
index aa832a681..54fa5912c 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -170,7 +170,6 @@ void sub_808C0B8(void)
void ClearPokedexView(struct PokedexView *pokedexView)
{
u16 i;
- struct UnknownStruct3 *p;
for(i = 0; i <= 385; i++)
{
@@ -1732,7 +1731,6 @@ void sub_808E6BC(void)
u8 sub_808E71C(void)
{
u16 r2;
- u16 r3;
u16 r4 = gPokedexView->selectedPokemon;
if((gMain.newKeys & DPAD_UP) && r4)
@@ -2177,8 +2175,6 @@ void sub_808F168(struct Sprite *sprite)
if(gPokedexView->menuIsOpen != 0 && gPokedexView->menuY == r1)
{
- u8 data2;
-
sprite->invisible = 0;
sprite->pos2.y = gPokedexView->menuCursorPos * 16;
sprite->pos2.x = gSineTable[(u8)sprite->data2] / 64;
diff --git a/src/pokemon_1.c b/src/pokemon_1.c
index 3971e08dd..d6f475171 100644
--- a/src/pokemon_1.c
+++ b/src/pokemon_1.c
@@ -200,7 +200,7 @@ void CreateMonWithGenderNatureLetter(struct Pokemon *mon, u16 species, u8 level,
do
{
personality = Random32();
- actualLetter = ((((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | personality & 0x3) % 28);
+ actualLetter = ((((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 28);
}
while (nature != GetNatureFromPersonality(personality)
|| gender != GetGenderFromSpeciesAndPersonality(species, personality)
@@ -302,9 +302,9 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src)
StringCopy(nickname, src->nickname);
if (nickname[0] == 0xFC && nickname[1] == 0x15)
- language = 1;
+ language = LANGUAGE_JAPANESE;
else
- language = 2;
+ language = GAME_LANGUAGE;
SetMonData(mon, MON_DATA_LANGUAGE, &language);
StripExtCtrlCodes(nickname);
@@ -422,7 +422,6 @@ void CalculateMonStats(struct Pokemon *mon)
u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
s32 level = GetLevelFromMonExp(mon);
s32 newMaxHP;
- u8 nature;
SetMonData(mon, MON_DATA_LEVEL, (u8 *)&level);
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index aeffb29a0..2baf1155e 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -26,7 +26,7 @@ extern u8 gUnknown_02024C07;
extern u8 gUnknown_02024C08;
extern u8 gUnknown_02024C0C;
extern u8 gXXX_CritRelated;
-extern u16 word_2024DB8;
+extern u16 gBattleWeather;
extern struct BattleEnigmaBerry gEnigmaBerries[];
extern u16 gBattleMovePower;
extern struct SpriteTemplate gUnknown_02024E8C;
@@ -1016,7 +1016,11 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data)
break;
case MON_DATA_IVS:
{
+#ifdef BUGFIX_SETMONIVS
+ u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24);
+#else
u32 ivs = *data; // Bug: Only the HP IV and the lower 3 bits of the Attack IV are read. The rest become 0.
+#endif
substruct3->hpIV = ivs & 0x1F;
substruct3->attackIV = (ivs >> 5) & 0x1F;
substruct3->defenseIV = (ivs >> 10) & 0x1F;
diff --git a/src/pokemon_3.c b/src/pokemon_3.c
new file mode 100644
index 000000000..f69ffcfef
--- /dev/null
+++ b/src/pokemon_3.c
@@ -0,0 +1,477 @@
+#include "global.h"
+#include "asm.h"
+#include "text.h"
+#include "string_util.h"
+#include "pokemon.h"
+#include "rng.h"
+#include "species.h"
+#include "main.h"
+#include "sprite.h"
+#include "flag.h"
+#include "rtc.h"
+#include "item.h"
+
+#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
+#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
+#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220
+#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level
+#define EVO_TRADE 0x0005 // Pokémon is traded
+#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item
+#define EVO_ITEM 0x0007 // specified item is used on Pokémon
+#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense
+#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense
+#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense
+#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value
+#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value
+#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask)
+#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
+#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
+
+struct Evolution
+{
+ u16 method;
+ u16 param;
+ u16 targetSpecies;
+};
+
+struct EvolutionData
+{
+ struct Evolution evolutions[5];
+};
+
+extern void get_battle_strings_(u8 *);
+
+extern u8 gPlayerPartyCount;
+extern struct Pokemon gPlayerParty[6];
+extern u8 gEnemyPartyCount;
+extern struct Pokemon gEnemyParty[6];
+extern struct BattlePokemon gBattleMons[4];
+extern u8 * const gItemEffectTable[];
+extern u8 gUnknown_02024A60;
+extern struct BattleEnigmaBerry gEnigmaBerries[];
+extern struct EvolutionData gEvolutionTable[];
+extern u16 gSpeciesToHoennPokedexNum[];
+extern u16 gSpeciesToNationalPokedexNum[];
+extern u16 gHoennToNationalOrder[];
+extern u16 gSpeciesIdToCryId[];
+extern u8 gUnknown_030041C0[];
+extern u8 gUnknown_03004290[];
+extern u8 gUnknown_020238CC[];
+extern u8 gUnknown_02024C07;
+extern u8 gUnknown_02024C08;
+extern u8 gUnknown_02024C0B;
+extern u8 gUnknown_02024E6C;
+
+extern u8 gUnknown_082082F8[];
+extern u8 gUnknown_083FFDB3[];
+extern u8 gUnknown_083FFDD3[];
+extern u8 gUnknown_083FEE5D[];
+extern u8 gUnknown_083FEE92[];
+extern u8 *gUnknown_08400F58[];
+
+bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId)
+{
+ u32 status = GetMonData(mon, MON_DATA_STATUS, 0);
+
+ if (status & healMask)
+ {
+ status &= ~healMask;
+ SetMonData(mon, MON_DATA_STATUS, (u8 *)&status);
+ if (gMain.inBattle && battleId != 4)
+ gBattleMons[battleId].status1 &= ~healMask;
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit)
+{
+ u8 *temp;
+ u8 *itemEffect;
+ u8 offset;
+ int i;
+ u8 j;
+ u8 val;
+
+ offset = 6;
+
+ temp = gItemEffectTable[itemId - 13];
+
+ if (!temp && itemId != 175)
+ return 0;
+
+ if (itemId == 175)
+ {
+ temp = gEnigmaBerries[gUnknown_02024A60].itemEffect;
+ }
+
+ itemEffect = temp;
+
+ for (i = 0; i < 6; i++)
+ {
+ switch (i)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ if (i == effectByte)
+ return 0;
+ break;
+ case 4:
+ val = itemEffect[4];
+ if (val & 0x20)
+ val &= 0xDF;
+ j = 0;
+ while (val)
+ {
+ if (val & 1)
+ {
+ switch (j)
+ {
+ case 2:
+ if (val & 0x10)
+ val &= 0xEF;
+ case 0:
+ if (i == effectByte && (val & effectBit))
+ return offset;
+ offset++;
+ break;
+ case 1:
+ if (i == effectByte && (val & effectBit))
+ return offset;
+ offset++;
+ break;
+ case 3:
+ if (i == effectByte && (val & effectBit))
+ return offset;
+ offset++;
+ break;
+ case 7:
+ if (i == effectByte)
+ return 0;
+ break;
+ }
+ }
+ j++;
+ val >>= 1;
+ if (i == effectByte)
+ effectBit >>= 1;
+ }
+ break;
+ case 5:
+ val = itemEffect[5];
+ j = 0;
+ while (val)
+ {
+ if (val & 1)
+ {
+ switch (j)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ if (i == effectByte && (val & effectBit))
+ return offset;
+ offset++;
+ break;
+ case 7:
+ if (i == effectByte)
+ return 0;
+ break;
+ }
+ }
+ j++;
+ val >>= 1;
+ if (i == effectByte)
+ effectBit >>= 1;
+ }
+ break;
+ }
+ }
+
+ return offset;
+}
+
+void sub_803F324(int stat)
+{
+ gUnknown_02024C08 = gUnknown_02024E6C;
+ StringCopy(gUnknown_030041C0, gUnknown_08400F58[gUnknown_082082F8[stat]]);
+ StringCopy(gUnknown_03004290, gUnknown_083FFDB3);
+ get_battle_strings_(gUnknown_083FFDD3);
+}
+
+u8 *sub_803F378(u16 itemId)
+{
+ int i;
+ u8 *itemEffect;
+
+ if (itemId == 175)
+ {
+ if (gMain.inBattle)
+ {
+ itemEffect = gEnigmaBerries[gUnknown_02024E6C].itemEffect;
+ }
+ else
+ {
+ itemEffect = gSaveBlock1.enigmaBerry.itemEffect;
+ }
+ }
+ else
+ {
+ itemEffect = gItemEffectTable[itemId - 13];
+ }
+
+ gUnknown_02024C0B = gUnknown_02024E6C;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (itemEffect[i] & 0xF)
+ sub_803F324(i * 2);
+ if (itemEffect[i] & 0xF0)
+ {
+ if (i)
+ {
+ sub_803F324(i * 2 + 1);
+ }
+ else
+ {
+ gUnknown_02024C07 = gUnknown_02024E6C;
+ get_battle_strings_(gUnknown_083FEE92);
+ }
+ }
+ }
+
+ if (itemEffect[3] & 0x80)
+ {
+ gUnknown_02024C07 = gUnknown_02024E6C;
+ get_battle_strings_(gUnknown_083FEE5D);
+ }
+
+ return gUnknown_020238CC;
+}
+
+u8 GetNature(struct Pokemon *mon)
+{
+ return GetMonData(mon, MON_DATA_PERSONALITY, 0) % 25;
+}
+
+u8 GetNatureFromPersonality(u32 personality)
+{
+ return personality % 25;
+}
+
+u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
+{
+ int i;
+ u16 targetSpecies = 0;
+ u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
+ u16 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0);
+ u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0);
+ u8 level;
+ u16 friendship;
+ u8 beauty = GetMonData(mon, MON_DATA_BEAUTY, 0);
+ u16 upperPersonality = personality >> 16;
+ u8 holdEffect;
+
+ if (heldItem == 175)
+ holdEffect = gSaveBlock1.enigmaBerry.holdEffect;
+ else
+ holdEffect = ItemId_GetHoldEffect(heldItem);
+
+ if (holdEffect == 38 && type != 3)
+ return 0;
+
+ switch (type)
+ {
+ case 0:
+ level = GetMonData(mon, MON_DATA_LEVEL, 0);
+ friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, 0);
+
+ for (i = 0; i < 5; i++)
+ {
+ switch (gEvolutionTable[species].evolutions[i].method)
+ {
+ case EVO_FRIENDSHIP:
+ if (friendship >= 220)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_FRIENDSHIP_DAY:
+ RtcCalcLocalTime();
+ if (gLocalTime.hours >= 12 && gLocalTime.hours < 24 && friendship >= 220)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_FRIENDSHIP_NIGHT:
+ RtcCalcLocalTime();
+ if (gLocalTime.hours >= 0 && gLocalTime.hours < 12 && friendship >= 220)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_LEVEL:
+ if (gEvolutionTable[species].evolutions[i].param <= level)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_LEVEL_ATK_GT_DEF:
+ if (gEvolutionTable[species].evolutions[i].param <= level)
+ if (GetMonData(mon, MON_DATA_ATK, 0) > GetMonData(mon, MON_DATA_DEF, 0))
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_LEVEL_ATK_EQ_DEF:
+ if (gEvolutionTable[species].evolutions[i].param <= level)
+ if (GetMonData(mon, MON_DATA_ATK, 0) == GetMonData(mon, MON_DATA_DEF, 0))
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_LEVEL_ATK_LT_DEF:
+ if (gEvolutionTable[species].evolutions[i].param <= level)
+ if (GetMonData(mon, MON_DATA_ATK, 0) < GetMonData(mon, MON_DATA_DEF, 0))
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_LEVEL_SILCOON:
+ if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) <= 4)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_LEVEL_CASCOON:
+ if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) > 4)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_LEVEL_NINJASK:
+ if (gEvolutionTable[species].evolutions[i].param <= level)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_BEAUTY:
+ if (gEvolutionTable[species].evolutions[i].param <= beauty)
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ }
+ }
+ break;
+ case 1:
+ for (i = 0; i < 5; i++)
+ {
+ switch (gEvolutionTable[species].evolutions[i].method)
+ {
+ case EVO_TRADE:
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ case EVO_TRADE_ITEM:
+ if (gEvolutionTable[species].evolutions[i].param == heldItem)
+ {
+ heldItem = 0;
+ SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ }
+ break;
+ }
+ }
+ break;
+ case 2:
+ case 3:
+ for (i = 0; i < 5; i++)
+ {
+ if (gEvolutionTable[species].evolutions[i].method == EVO_ITEM
+ && gEvolutionTable[species].evolutions[i].param == evolutionItem)
+ {
+ targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ break;
+ }
+ }
+ break;
+ }
+
+ return targetSpecies;
+}
+
+u16 HoennPokedexNumToSpecies(u16 hoennNum)
+{
+ u16 species;
+
+ if (!hoennNum)
+ return 0;
+
+ species = 0;
+
+ while (species < 411 && gSpeciesToHoennPokedexNum[species] != hoennNum)
+ species++;
+
+ if (species == 411)
+ return 0;
+
+ return species + 1;
+}
+
+u16 NationalPokedexNumToSpecies(u16 nationalNum)
+{
+ u16 species;
+
+ if (!nationalNum)
+ return 0;
+
+ species = 0;
+
+ while (species < 411 && gSpeciesToNationalPokedexNum[species] != nationalNum)
+ species++;
+
+ if (species == 411)
+ return 0;
+
+ return species + 1;
+}
+
+u16 NationalToHoennOrder(u16 nationalNum)
+{
+ u16 hoennNum;
+
+ if (!nationalNum)
+ return 0;
+
+ hoennNum = 0;
+
+ while (hoennNum < 411 && gHoennToNationalOrder[hoennNum] != nationalNum)
+ hoennNum++;
+
+ if (hoennNum == 411)
+ return 0;
+
+ return hoennNum + 1;
+}
+
+u16 SpeciesToNationalPokedexNum(u16 species)
+{
+ if (!species)
+ return 0;
+
+ return gSpeciesToNationalPokedexNum[species - 1];
+}
+
+u16 SpeciesToHoennPokedexNum(u16 species)
+{
+ if (!species)
+ return 0;
+
+ return gSpeciesToHoennPokedexNum[species - 1];
+}
+
+u16 HoennToNationalOrder(u16 hoennNum)
+{
+ if (!hoennNum)
+ return 0;
+
+ return gHoennToNationalOrder[hoennNum - 1];
+}
+
+u32 SpeciesToCryId(u16 species)
+{
+ if (species <= 250)
+ return species;
+
+ if (species < 276)
+ return 200;
+
+ return gSpeciesIdToCryId[species - 276];
+}
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index 11c00dbe2..21f386f2d 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -61,7 +61,6 @@ static u32 GetMonSize(u16 species, u16 b)
u64 unk0;
u32 r7;
u32 var;
- struct UnknownStruct *s;
r7 = sub_8090D54(SpeciesToNationalPokedexNum(species), 0);
var = TranslateBigMonSizeTableIndex(b);
diff --git a/src/rom4.c b/src/rom4.c
index a3b0b221d..bd5a9d285 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -4,31 +4,33 @@
#include "asm_fieldmap.h"
#include "battle_setup.h"
#include "berry.h"
+#include "field_camera.h"
+#include "field_effect.h"
#include "field_map_obj.h"
+#include "field_message_box.h"
#include "field_player_avatar.h"
+#include "flag.h"
+#include "heal_location.h"
+#include "link.h"
+#include "load_save.h"
+#include "main.h"
#include "menu.h"
-#include "weather.h"
-#include "task.h"
-#include "tileset_anim.h"
-#include "start_menu.h"
-#include "play_time.h"
-#include "truck_scene.h"
#include "new_game.h"
-#include "heal_location.h"
-#include "field_message_box.h"
+#include "palette.h"
+#include "play_time.h"
+#include "rng.h"
#include "safari_zone.h"
#include "script.h"
#include "songs.h"
#include "sound.h"
-#include "rng.h"
-#include "main.h"
-#include "palette.h"
-#include "link.h"
-#include "flag.h"
+#include "start_menu.h"
+#include "task.h"
+#include "tileset_anim.h"
+#include "truck_scene.h"
#include "var.h"
-#include "field_camera.h"
-#include "field_effect.h"
+#include "weather.h"
#include "wild_encounter.h"
+#include "metatile_behavior.h"
#ifdef SAPPHIRE
#define LEGENDARY_MUSIC BGM_OOAME // Heavy Rain
@@ -454,7 +456,7 @@ void sub_80537CC(u8 a1)
warp_set(&gSaveBlock1.warp1, warp->group, warp->map, -1, warp->x, warp->y);
}
-void gpu_sync_bg_hide(void)
+void gpu_sync_bg_hide()
{
gSaveBlock1.warp1 = gSaveBlock1.warp2;
}
@@ -1262,9 +1264,9 @@ void CB2_ContinueSavedGame(void)
PlayTimeCounter_Start();
ScriptContext1_Init();
ScriptContext2_Disable();
- if (sub_80479F8() == 1)
+ if (GetSecretBase2Field_9() == 1)
{
- sub_8047A04();
+ ClearSecretBase2Field_9();
sub_8053778();
warp_in();
SetMainCallback2(CB2_LoadMap);
diff --git a/src/rtc.c b/src/rtc.c
index 3d24253b9..d73f943d2 100644
--- a/src/rtc.c
+++ b/src/rtc.c
@@ -63,9 +63,8 @@ u16 ConvertDateToDayCount(u8 year, u8 month, u8 day)
s32 i;
u16 dayCount = 0;
-#if (REVISION < 2)
- // Revisions 0 and 1 don't add days for the year 2000,
- // causing the berry glitch.
+#ifndef BUGFIX_BERRY
+ // The berry glitch was caused by not adding days for the year 2000.
for (i = year - 1; i > 0; i--)
{
dayCount += 365;
@@ -74,8 +73,7 @@ u16 ConvertDateToDayCount(u8 year, u8 month, u8 day)
dayCount++;
}
#else
- // Revision 2 has "i >= 0" as the condition instead of "i > 0",
- // which fixes the issue.
+ // The fix was to use "i >= 0" as the condition instead of "i > 0".
for (i = year - 1; i >= 0; i--)
{
dayCount += 365;
@@ -83,7 +81,7 @@ u16 ConvertDateToDayCount(u8 year, u8 month, u8 day)
if (IsLeapYear(i) == TRUE)
dayCount++;
}
-#endif
+#endif // BUGFIX_BERRY
for (i = 0; i < month - 1; i++)
dayCount += sNumDaysInMonths[i];
diff --git a/src/save.c b/src/save.c
index a26e0da98..2771b4ea5 100644
--- a/src/save.c
+++ b/src/save.c
@@ -2,8 +2,10 @@
#include "save.h"
#include "asm.h"
#include "gba/gba.h"
+#include "load_save.h"
#include "rom4.h"
#include "gba/flash_internal.h"
+#include "save_failed_screen.h"
extern struct SaveSection unk_2000000;
@@ -550,27 +552,27 @@ u8 sub_8125C3C(u8 a1)
sav12_xor_increment(10);
for (i = 0; i < 2; i++)
sub_81253C8(28 + i, gHallOfFameSaveSectionLocations[i].data, gHallOfFameSaveSectionLocations[i].size);
- save_serialize_game();
+ SaveSerializedGame();
save_write_to_flash(0xFFFF, gSaveSectionLocations);
break;
case 0:
default:
- save_serialize_game();
+ SaveSerializedGame();
save_write_to_flash(0xFFFF, gSaveSectionLocations);
break;
case 1:
- save_serialize_game();
+ SaveSerializedGame();
for (i = 0; i < 5; i++)
save_write_to_flash(i, gSaveSectionLocations);
break;
case 2:
- save_serialize_game();
+ SaveSerializedGame();
save_write_to_flash(0, gSaveSectionLocations);
break;
case 4:
for (i = 28; i < 32; i++)
EraseFlashSector(i);
- save_serialize_game();
+ SaveSerializedGame();
save_write_to_flash(0xFFFF, gSaveSectionLocations);
break;
}
@@ -584,7 +586,7 @@ u8 sub_8125D44(u8 a1)
sub_8125C3C(a1);
if (!gUnknown_03005EA8)
return 1;
- fullscreen_save_activate(a1);
+ DoSaveFailedScreen(a1);
return 0xFF;
}
@@ -592,7 +594,7 @@ u8 sub_8125D80(void)
{
if (gUnknown_3004820 != 1)
return 1;
- save_serialize_game();
+ SaveSerializedGame();
sub_812546C(gSaveSectionLocations);
return 0;
}
@@ -601,7 +603,7 @@ bool8 sub_8125DA8(void)
{
u8 v0 = sub_812550C(14, gSaveSectionLocations);
if (gUnknown_03005EA8)
- fullscreen_save_activate(0);
+ DoSaveFailedScreen(0);
if (v0 == 0xFF)
return 1;
else
@@ -612,7 +614,7 @@ u8 sub_8125DDC(void)
{
sub_812556C(14, gSaveSectionLocations);
if (gUnknown_03005EA8)
- fullscreen_save_activate(0);
+ DoSaveFailedScreen(0);
return 0;
}
@@ -620,7 +622,7 @@ u8 sub_8125E04(void)
{
sub_8125758(14, gSaveSectionLocations);
if (gUnknown_03005EA8)
- fullscreen_save_activate(0);
+ DoSaveFailedScreen(0);
return 0;
}
@@ -629,7 +631,7 @@ u8 sub_8125E2C(void)
if (gUnknown_3004820 != 1)
return 1;
- save_serialize_game();
+ SaveSerializedGame();
sub_81254C8(gSaveSectionLocations);
sub_812556C(gUnknown_03005EB4 + 1, gSaveSectionLocations);
return 0;
@@ -650,7 +652,7 @@ u8 sub_8125E6C(void)
retVal = 1;
}
if (gUnknown_03005EA8)
- fullscreen_save_activate(1);
+ DoSaveFailedScreen(1);
return retVal;
}
@@ -669,7 +671,7 @@ u8 sub_8125EC8(u8 a1)
case 0:
default:
result = sub_812587C(0xFFFF, gSaveSectionLocations);
- save_deserialize_game();
+ LoadSerializedGame();
gSaveFileStatus = result;
gUnknown_03005EBC = 0;
break;
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
new file mode 100644
index 000000000..41e61eadb
--- /dev/null
+++ b/src/save_failed_screen.c
@@ -0,0 +1,301 @@
+#include "global.h"
+#include "main.h"
+#include "sprite.h"
+#include "palette.h"
+#include "task.h"
+#include "text.h"
+#include "menu.h"
+#include "save.h"
+#include "m4a.h"
+#include "gba/flash_internal.h"
+#include "asm.h"
+
+// In English 1.0, the text window is too small, causing text to overflow.
+
+#ifdef BUGFIX_SAVEFAILEDSCREEN1
+#define MSG_WIN_TOP 10
+#else
+#define MSG_WIN_TOP 12
+#endif
+
+#define CLOCK_WIN_TOP (MSG_WIN_TOP - 4)
+
+struct SaveFailedStruct
+{
+ u16 unk0;
+ u16 unk2;
+};
+
+extern u8 unk_2000000[];
+
+extern u16 gUnknown_0203933C;
+extern struct SaveFailedStruct gUnknown_0203933E;
+extern u32 gUnknown_03005EA8;
+extern u32 gUnknown_03005EBC;
+
+extern struct OamData gUnknown_08411940;
+extern u8 gUnknown_08411948[][3];
+
+extern u8 gBirchHelpGfx[];
+
+extern u8 gSystemText_SaveFailedBackupCheck[];
+extern u8 gSystemText_CheckCompleteSaveAttempt[];
+extern u8 gSystemText_BackupDamagedGameContinue[];
+extern u8 gSystemText_SaveCompletedPressA[];
+extern u8 gSystemText_SaveCompletedGameEnd[];
+extern u8 gSystemText_GameplayEnded[];
+
+extern u8 gBirchGrassTilemap[];
+extern u8 gBirchBagTilemap[];
+
+extern const u8 gSaveFailedClockGfx[];
+extern const u8 gSaveFailedClockPal[];
+extern u8 gBirchBagGrassPal[];
+
+static void VBlankCB(void);
+static void CB2_SaveFailedScreen(void);
+static void CB2_WipeSave(void);
+static void CB2_GameplayCannotBeContinued(void);
+static void CB2_FadeAndReturnToTitleScreen(void);
+static void CB2_ReturnToTitleScreen(void);
+static void VBlankCB_UpdateClockGraphics(void);
+static bool8 VerifySectorWipe(u16 sector);
+static bool8 WipeSector(u16 sector);
+static bool8 WipeSectors(u32 sectorBits);
+
+void DoSaveFailedScreen(u8 var)
+{
+ SetMainCallback2(CB2_SaveFailedScreen);
+ gUnknown_0203933C = var;
+ gUnknown_0203933E.unk0 = 0;
+}
+
+static void VBlankCB(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void CB2_SaveFailedScreen(void)
+{
+ u16 ime;
+
+ switch(gMain.state)
+ {
+ case 0:
+ default:
+ SetVBlankCallback(0);
+ REG_DISPCNT = 0;
+ REG_BG3CNT = 0;
+ REG_BG2CNT = 0;
+ REG_BG1CNT = 0;
+ REG_BG0CNT = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ DmaFill16(3, 0, VRAM, VRAM_SIZE);
+ DmaFill32(3, 0, OAM, OAM_SIZE);
+ DmaFill16(3, 0, PLTT, PLTT_SIZE);
+ LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
+ LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
+ LZ77UnCompVram(&gSaveFailedClockGfx, (void *)(VRAM + 0x10020));
+ ResetSpriteData();
+ ResetTasks();
+ ResetPaletteFade();
+ LoadPalette(&gBirchBagGrassPal, 0, 0x40);
+ LoadPalette(&gSaveFailedClockPal, 0x100, 0x20);
+ SetUpWindowConfig(&gWindowConfig_81E6C3C);
+ InitMenuWindow(&gWindowConfig_81E6CE4);
+ MenuDrawTextWindow(13, CLOCK_WIN_TOP, 16, CLOCK_WIN_TOP + 3); // clock window
+ MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); // message window
+ MenuPrint(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ ime = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = ime;
+ REG_DISPSTAT |= DISPSTAT_VBLANK_INTR;
+ SetVBlankCallback(VBlankCB);
+ REG_BG3CNT = 0x703;
+ REG_BG2CNT = 0x602;
+ REG_BG0CNT = 0x1f08;
+ REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG3_ON | DISPCNT_BG2_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_MODE_0;
+ gMain.state++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ SetMainCallback2(CB2_WipeSave);
+ SetVBlankCallback(VBlankCB_UpdateClockGraphics);
+ }
+ break;
+ }
+}
+
+static void CB2_WipeSave(void)
+{
+ u8 wipeTries = 0;
+
+ gUnknown_0203933E.unk0 = 1;
+
+ while (gUnknown_03005EA8 && wipeTries < 3)
+ {
+ if (WipeSectors(gUnknown_03005EA8))
+ {
+ MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19);
+ MenuPrint(gSystemText_BackupDamagedGameContinue, 2, MSG_WIN_TOP + 1);
+ SetMainCallback2(CB2_GameplayCannotBeContinued);
+ return;
+ }
+
+ MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19);
+ MenuPrint(gSystemText_CheckCompleteSaveAttempt, 2, MSG_WIN_TOP + 1);
+ sub_8125C3C(gUnknown_0203933C);
+
+ if (gUnknown_03005EA8)
+ {
+#ifdef BUGFIX_SAVEFAILEDSCREEN2
+ MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19);
+#endif
+ MenuPrint(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1);
+ }
+
+ wipeTries++;
+ }
+
+ if (wipeTries == 3)
+ {
+ MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19);
+ MenuPrint(gSystemText_BackupDamagedGameContinue, 2, MSG_WIN_TOP + 1);
+ SetMainCallback2(CB2_FadeAndReturnToTitleScreen); // called again below
+ }
+ else
+ {
+ MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19);
+
+ if (!gUnknown_03005EBC) // cant continue game.
+ MenuPrint(gSystemText_SaveCompletedGameEnd, 2, MSG_WIN_TOP + 1);
+ else // can continue game.
+ MenuPrint(gSystemText_SaveCompletedPressA, 2, MSG_WIN_TOP + 1);
+ }
+
+ SetMainCallback2(CB2_FadeAndReturnToTitleScreen);
+}
+
+static void CB2_GameplayCannotBeContinued(void)
+{
+ gUnknown_0203933E.unk0 = 0;
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19);
+ MenuPrint(gSystemText_GameplayEnded, 2, MSG_WIN_TOP + 1);
+ SetVBlankCallback(VBlankCB);
+ SetMainCallback2(CB2_FadeAndReturnToTitleScreen);
+ }
+}
+
+static void CB2_FadeAndReturnToTitleScreen(void)
+{
+ u8 zero;
+
+ gUnknown_0203933E.unk0 = zero = 0;
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, zero, 16, 0);
+ SetVBlankCallback(VBlankCB);
+ SetMainCallback2(CB2_ReturnToTitleScreen);
+ }
+}
+
+static void CB2_ReturnToTitleScreen(void)
+{
+ if (!UpdatePaletteFade())
+ {
+ if (!gUnknown_03005EBC)
+ {
+ DoSoftReset();
+ }
+ else
+ {
+ SetMainCallback2((MainCallback)gUnknown_03005EBC);
+ gUnknown_03005EBC = 0;
+ }
+ }
+}
+
+static void VBlankCB_UpdateClockGraphics(void)
+{
+ unsigned int n = (gMain.vblankCounter2 >> 3) & 7;
+
+ gMain.oamBuffer[0] = gUnknown_08411940;
+ gMain.oamBuffer[0].x = 112;
+ gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8;
+
+ if (gUnknown_0203933E.unk0)
+ {
+ gMain.oamBuffer[0].tileNum = gUnknown_08411948[n][0];
+ gMain.oamBuffer[0].matrixNum = (gUnknown_08411948[n][2] << 4) | (gUnknown_08411948[n][1] << 3);
+ }
+ else
+ {
+ gMain.oamBuffer[0].tileNum = 1;
+ }
+
+ CpuFastCopy(gMain.oamBuffer, (void *)OAM, 4);
+
+ if (gUnknown_0203933E.unk2)
+ gUnknown_0203933E.unk2--;
+}
+
+static bool8 VerifySectorWipe(u16 sector)
+{
+ u32 *ptr = (u32 *)unk_2000000;
+ u16 i;
+
+ ReadFlash(sector, 0, (u8 *)ptr, 4096);
+
+ for (i = 0; i < 0x400; i++, ptr++)
+ if (*ptr)
+ return TRUE;
+
+ return FALSE;
+}
+
+static bool8 WipeSector(u16 sector)
+{
+ u16 i, j;
+ bool8 failed = TRUE;
+
+ for (i = 0; failed && i < 130; i++)
+ {
+ for (j = 0; j < 0x1000; j++)
+ ProgramFlashByte(sector, j, 0);
+
+ failed = VerifySectorWipe(sector);
+ }
+
+ return failed;
+}
+
+static bool8 WipeSectors(u32 sectorBits)
+{
+ u16 i;
+
+ for (i = 0; i < 0x20; i++)
+ if ((sectorBits & (1 << i)) && !WipeSector(i))
+ sectorBits &= ~(1 << i);
+
+ if (sectorBits == 0)
+ return FALSE;
+ else
+ return TRUE;
+}
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 8051b0cb0..a8567a2bb 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -12,6 +12,7 @@
#include "asm_fieldmap.h"
#include "main.h"
#include "menu.h"
+#include "money.h"
#include "decoration.h"
#include "field_message_box.h"
#include "sound.h"
@@ -1697,7 +1698,7 @@ bool8 ScrCmd_setanimation(struct ScriptContext *ctx)
return FALSE;
}
-bool8 sub_8067B48()
+static bool8 sub_8067B48()
{
if (!FieldEffectActiveListContains(gUnknown_0202E8BC))
return TRUE;
@@ -1775,7 +1776,7 @@ bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx)
return FALSE;
}
-bool8 IsDoorAnimationStopped()
+static bool8 IsDoorAnimationStopped()
{
if (!FieldIsDoorAnimationRunning())
return TRUE;
diff --git a/src/script_menu.c b/src/script_menu.c
new file mode 100644
index 000000000..1010435cc
--- /dev/null
+++ b/src/script_menu.c
@@ -0,0 +1,431 @@
+#include "global.h"
+#include "task.h"
+#include "menu.h"
+#include "palette.h"
+#include "script.h"
+#include "sound.h"
+#include "flag.h"
+#include "sprite.h"
+
+struct MultichoiceListStruct
+{
+ struct MenuAction *list;
+ u8 count;
+};
+
+extern const struct MultichoiceListStruct gMultichoiceLists[];
+
+extern u16 gScriptResult;
+
+extern void FreeResourcesAndDestroySprite(struct Sprite *sprite);
+extern u8 CreateMonSprite_PicBox(u16, s16, s16, u8);
+extern u8 sub_80B59AC(void);
+
+extern u8 gPCText_PlayersPC[];
+extern u8 gPCText_SomeonesPC[];
+extern u8 gPCText_HallOfFame[];
+extern u8 gPCText_LogOff[];
+extern u8 gPCText_LanettesPC[];
+extern u8 gPCText_WhichPCShouldBeAccessed[];
+
+void DrawMultichoiceMenu(u8, u8, u8, struct MenuAction *list, u8, u8);
+void sub_80B53B4(u8, u8, u8, struct MenuAction *list, u8);
+void sub_80B52B4(u8);
+void sub_80B5230(u8, u8, u8, u8, u8, u8);
+void task_yes_no_maybe(u8);
+void sub_80B5684(u8);
+void CreatePCMenu(void);
+
+bool8 sub_80B5054(u8 left, u8 top, u8 var3, u8 var4)
+{
+ if(FuncIsActiveTask(sub_80B52B4) == 1)
+ return FALSE;
+ else
+ {
+ gScriptResult = 0xFF;
+ DrawMultichoiceMenu(left, top, gMultichoiceLists[var3].count, gMultichoiceLists[var3].list, var4, 0);
+ return TRUE;
+ }
+}
+
+bool8 sub_80B50B0(u8 left, u8 top, u8 var3, u8 var4, u8 var5)
+{
+ if(FuncIsActiveTask(sub_80B52B4) == 1)
+ return FALSE;
+ else
+ {
+ gScriptResult = 0xFF;
+ DrawMultichoiceMenu(left, top, gMultichoiceLists[var3].count, gMultichoiceLists[var3].list, var4, var5);
+ return TRUE;
+ }
+}
+
+u16 GetStringWidthInTilesForScriptMenu(u8 *str)
+{
+ // each tile on screen is 8x8, so it needs the number of tiles and not pixels, hence the division by 8.
+ return (GetStringWidthGivenWindowConfig((struct WindowConfig *)&gWindowConfig_81E6CE4, str) + 7) / 8;
+}
+
+void DrawMultichoiceMenu(u8 left, u8 top, u8 count, struct MenuAction *list, u8 var4, u8 cursorPos)
+{
+ u16 width = GetStringWidthInTilesForScriptMenu(list[0].text);
+ u16 newWidth;
+ u8 i;
+ u8 right;
+ u8 bottom;
+
+ for(i = 1; i < count; i++)
+ {
+ newWidth = GetStringWidthInTilesForScriptMenu(list[i].text);
+ if(width < newWidth)
+ width = newWidth;
+ }
+
+ right = width;
+ right = (right + left) + 1;
+
+ if(right > 29)
+ {
+ left = left + (29 - right);
+ right = 29;
+ }
+
+ bottom = top + (2 * count + 1);
+
+ MenuDrawTextWindow(left, top, right, bottom);
+ PrintMenuItems(left + 1, top + 1, count, list);
+ InitMenu(0, left + 1, top + 1, count, cursorPos, right - left - 1);
+ sub_80B5230(left, top, right, bottom, var4, count);
+}
+
+void sub_80B5230(u8 left, u8 top, u8 right, u8 bottom, u8 unkVar, u8 count)
+{
+ u8 taskId = CreateTask(sub_80B52B4, 80);
+
+ gTasks[taskId].data[0] = left;
+ gTasks[taskId].data[1] = top;
+ gTasks[taskId].data[2] = right;
+ gTasks[taskId].data[3] = bottom;
+ gTasks[taskId].data[4] = unkVar;
+
+ if(count > 3)
+ gTasks[taskId].data[5] = TRUE;
+ else
+ gTasks[taskId].data[5] = FALSE;
+}
+
+void sub_80B52B4(u8 taskId)
+{
+ s8 var;
+
+ if(!gPaletteFade.active)
+ {
+ if(!gTasks[taskId].data[5])
+ var = ProcessMenuInputNoWrap();
+ else
+ var = ProcessMenuInput();
+
+ if(var != -2)
+ {
+ if(var == -1)
+ {
+ if(!gTasks[taskId].data[4])
+ {
+ PlaySE(5);
+ gScriptResult = 127;
+ }
+ else
+ {
+ return;
+ }
+ }
+ else
+ {
+ gScriptResult = var;
+ }
+ sub_8072DEC();
+ MenuZeroFillWindowRect(gTasks[taskId].data[0], gTasks[taskId].data[1], gTasks[taskId].data[2], gTasks[taskId].data[3]);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+ }
+ }
+}
+
+bool8 Multichoice(u8 var1, u8 var2, u8 var3, u8 var4)
+{
+ if(FuncIsActiveTask(sub_80B52B4) == 1)
+ return FALSE;
+ else
+ {
+ gScriptResult = 0xFF;
+ sub_80B53B4(var1, var2, gMultichoiceLists[var3].count, gMultichoiceLists[var3].list, var4);
+ return TRUE;
+ }
+}
+
+void sub_80B53B4(u8 left, u8 top, u8 count, struct MenuAction *list, u8 var4)
+{
+ u16 width = GetStringWidthInTilesForScriptMenu(list[0].text);
+ u16 newWidth;
+ u8 i;
+ u8 right;
+ u8 bottom;
+
+ for(i = 1; i < count; i++)
+ {
+ newWidth = GetStringWidthInTilesForScriptMenu(list[i].text);
+ if(width < newWidth)
+ width = newWidth;
+ }
+
+ right = width;
+ right = (right + left) + 2;
+ bottom = top + (2 * count + 1);
+
+ PrintMenuItems(left, top, count, list);
+ InitMenu(0, left, top, count, 0, right - left - 1);
+ sub_80B5230(left, top, right, bottom, var4, count);
+}
+
+bool8 yes_no_box(u8 var1, u8 var2)
+{
+ u8 taskId;
+
+ if(FuncIsActiveTask(task_yes_no_maybe) == 1)
+ return FALSE;
+ else
+ {
+ gScriptResult = 0xFF;
+ DisplayYesNoMenu(var1, var2, 1);
+ taskId = CreateTask(task_yes_no_maybe, 0x50);
+ gTasks[taskId].data[0] = var1;
+ gTasks[taskId].data[1] = var2;
+ return TRUE;
+ }
+}
+
+// unused
+bool8 IsScriptActive(void)
+{
+ if(gScriptResult == 0xFF)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+void task_yes_no_maybe(u8 taskId)
+{
+ u8 left, top;
+
+ if (gTasks[taskId].data[2] < 5)
+ {
+ gTasks[taskId].data[2]++;
+ return;
+ }
+
+ switch (ProcessMenuInputNoWrap())
+ {
+ case -2:
+ return;
+ case -1:
+ case 1:
+ PlaySE(5);
+ gScriptResult = 0;
+ break;
+ case 0:
+ gScriptResult = 1;
+ break;
+ }
+
+ left = gTasks[taskId].data[0];
+ top = gTasks[taskId].data[1];
+
+ MenuZeroFillWindowRect(left, top, left + 6, top + 5);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+}
+
+bool8 sub_80B5578(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount)
+{
+ u8 bottom = 0;
+
+ if (FuncIsActiveTask(sub_80B5684) == TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ u8 taskId;
+ u8 width;
+
+ gScriptResult = 0xFF;
+
+ sub_807274C(left, top, gMultichoiceLists[multichoiceId].count, 0, gMultichoiceLists[multichoiceId].list, columnCount, 0);
+
+ taskId = CreateTask(sub_80B5684, 80);
+
+ if (!((gMultichoiceLists[multichoiceId].count >> 1) < columnCount || (gMultichoiceLists[multichoiceId].count & 1))
+ || columnCount == 1 || gMultichoiceLists[multichoiceId].count == columnCount)
+ {
+ bottom = (2 * (gMultichoiceLists[multichoiceId].count / columnCount)) + 1 + top;
+ }
+ else
+ {
+ bottom = (2 * (gMultichoiceLists[multichoiceId].count / columnCount)) + 3 + top;
+ }
+
+ width = sub_807288C(columnCount);
+ gTasks[taskId].data[0] = left;
+ gTasks[taskId].data[1] = top;
+ gTasks[taskId].data[2] = width + left + 2;
+ gTasks[taskId].data[3] = bottom;
+ gTasks[taskId].data[4] = a4;
+ return TRUE;
+ }
+}
+
+void sub_80B5684(u8 taskId)
+{
+ s8 var = sub_80727CC();
+
+ if (var != -2)
+ {
+ if (var == -1)
+ {
+ if (!gTasks[taskId].data[4])
+ {
+ PlaySE(5);
+ gScriptResult = 127;
+ }
+ else
+ {
+ return;
+ }
+ }
+ else
+ {
+ gScriptResult = var;
+ }
+ sub_8072DEC();
+ MenuZeroFillWindowRect(gTasks[taskId].data[0], gTasks[taskId].data[1], gTasks[taskId].data[2], gTasks[taskId].data[3]);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+ }
+}
+
+bool8 TryCreatePCMenu(void)
+{
+ if(FuncIsActiveTask(sub_80B52B4) == 1)
+ return FALSE;
+ else
+ {
+ gScriptResult = 0xFF;
+ CreatePCMenu();
+ return TRUE;
+ }
+}
+
+void CreatePCMenu(void)
+{
+ u16 playersPCWidth = GetStringWidthInTilesForScriptMenu(gPCText_PlayersPC);
+ u8 width;
+ u8 numChoices;
+
+ if(playersPCWidth > GetStringWidthInTilesForScriptMenu(gPCText_SomeonesPC))
+ width = playersPCWidth;
+ else
+ width = 8;
+
+ if(FlagGet(0x804)) // player has cleared game?
+ {
+ numChoices = 4;
+ MenuDrawTextWindow(0, 0, width + 2, 9);
+ MenuPrint(gPCText_HallOfFame, 1, 5);
+ MenuPrint(gPCText_LogOff, 1, 7);
+ }
+ else
+ {
+ numChoices = 3;
+ MenuDrawTextWindow(0, 0, width + 2, 7);
+ MenuPrint(gPCText_LogOff, 1, 5);
+ }
+
+ if(FlagGet(0x84B)) // player met lanette?
+ MenuPrint(gPCText_LanettesPC, 1, 1);
+ else
+ MenuPrint(gPCText_SomeonesPC, 1, 1);
+
+ MenuPrint(gPCText_PlayersPC, 1, 3);
+ InitMenu(0, 1, 1, numChoices, 0, width + 1);
+ sub_80B5230(0, 0, width + 2, 2 * numChoices + 1, 0, numChoices);
+}
+
+void sub_80B5838(void)
+{
+ MenuDisplayMessageBox();
+ MenuPrint(gPCText_WhichPCShouldBeAccessed, 2, 15);
+}
+
+void task_picbox(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch(task->data[0])
+ {
+ case 0:
+ task->data[0]++;
+ break;
+ case 1:
+ break;
+ case 2:
+ FreeResourcesAndDestroySprite(&gSprites[task->data[2]]);
+ task->data[0]++;
+ break;
+ case 3:
+ MenuZeroFillWindowRect(task->data[3], task->data[4], task->data[3] + 9, task->data[4] + 10);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+bool8 sub_80B58C4(u16 var1, u8 var2, u8 var3)
+{
+ u8 taskId;
+ u8 var;
+
+ if(FindTaskIdByFunc(task_picbox) != 0xFF)
+ return FALSE;
+ else
+ {
+ MenuDrawTextWindow(var2, var3, var2 + 9, var3 + 10);
+ taskId = CreateTask(task_picbox, 0x50);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = var1;
+ var = CreateMonSprite_PicBox(var1, var2 * 8 + 40, var3 * 8 + 40, 0);
+ gTasks[taskId].data[2] = var;
+ gTasks[taskId].data[3] = var2;
+ gTasks[taskId].data[4] = var3;
+ gSprites[var].callback = SpriteCallbackDummy;
+ gSprites[var].oam.priority = 0;
+ return TRUE;
+ }
+}
+
+void *picbox_close(void)
+{
+ u8 taskId = FindTaskIdByFunc(task_picbox);
+
+ if(taskId == 0xFF)
+ return NULL;
+
+ gTasks[taskId].data[0]++;
+ return (void *)sub_80B59AC;
+}
+
+bool8 sub_80B59AC(void)
+{
+ if(FindTaskIdByFunc(task_picbox) == 0xFF)
+ return TRUE;
+ else
+ return FALSE;
+}
diff --git a/src/sound.c b/src/sound.c
index 56719aa08..69accd1c2 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -12,6 +12,9 @@ struct Fanfare
u16 duration;
};
+// Hack: different prototype than definition
+u32 SpeciesToCryId(u32);
+
extern u16 gUnknown_020239F8;
extern struct MusicPlayerInfo *gMPlay_PokemonCry;
extern u8 gPokemonCryBGMDuckingCounter;
diff --git a/src/sprite.c b/src/sprite.c
index 78a8608ad..df101b61f 100644
--- a/src/sprite.c
+++ b/src/sprite.c
@@ -10,12 +10,8 @@
#define SET_SPRITE_TILE_RANGE(index, start, count) \
{ \
- u16 *rangeStarts; \
- u16 *rangeCounts; \
- rangeStarts = sSpriteTileRanges; \
- rangeStarts[index * 2] = start; \
- rangeCounts = sSpriteTileRanges + 1; \
- rangeCounts[index * 2] = count; \
+ sSpriteTileRanges[index * 2] = start; \
+ (sSpriteTileRanges + 1)[index * 2] = count; \
}
#define ALLOC_SPRITE_TILE(n) \
@@ -61,10 +57,8 @@ static void ClearSpriteCopyRequests(void);
static void ResetOamMatrices(void);
static void ResetSprite(struct Sprite *sprite);
static s16 AllocSpriteTiles(u16 tileCount);
-static u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
+u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, struct SpriteFrameImage *images);
-static void CopyFromSprites(u8 *dest);
-static void CopyToSprites(u8 *src);
static void ResetAllSprites(void);
static void BeginAnim(struct Sprite *sprite);
static void ContinueAnim(struct Sprite *sprite);
@@ -786,7 +780,7 @@ static s16 AllocSpriteTiles(u16 tileCount)
return start;
}
-static u8 SpriteTileAllocBitmapOp(u16 bit, u8 op)
+u8 SpriteTileAllocBitmapOp(u16 bit, u8 op)
{
u8 index = bit / 8;
u8 shift = bit % 8;
@@ -855,7 +849,7 @@ void RequestSpriteCopy(u8 *src, u8 *dest, u16 size)
}
}
-static void CopyFromSprites(u8 *dest)
+void CopyFromSprites(u8 *dest)
{
u32 i;
u8 *src = (u8 *)gSprites;
@@ -867,7 +861,7 @@ static void CopyFromSprites(u8 *dest)
}
}
-static void CopyToSprites(u8 *src)
+void CopyToSprites(u8 *src)
{
u32 i;
u8 *dest = (u8 *)gSprites;
diff --git a/src/start_menu.c b/src/start_menu.c
index 06eb28909..850f610e3 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -1,10 +1,19 @@
#include "global.h"
#include "start_menu.h"
#include "asm.h"
+#include "field_player_avatar.h"
+#include "flag.h"
+#include "load_save.h"
#include "main.h"
+#include "map_obj_lock.h"
#include "menu.h"
+#include "option_menu.h"
#include "palette.h"
#include "pokedex.h"
+#include "rom4.h"
+#include "safari_zone.h"
+#include "save.h"
+#include "save_menu_util.h"
#include "script.h"
#include "songs.h"
#include "sound.h"
@@ -12,15 +21,7 @@
#include "string_util.h"
#include "task.h"
#include "trainer_card.h"
-#include "flag.h"
-#include "rom4.h"
-#include "safari_zone.h"
-#include "field_player_avatar.h"
#include "weather.h"
-#include "save.h"
-#include "option_menu.h"
-#include "map_obj_lock.h"
-#include "save_menu_util.h"
//Menu actions
enum {
@@ -76,7 +77,6 @@ static void BuildStartMenuActions_Link(void);
static void DisplaySafariBallsWindow(void);
static bool32 PrintStartMenuItemsMultistep(s16 *a, u32 b);
static bool32 InitStartMenuMultistep(s16 *a, s16 *b);
-static void sub_8071230(void);
static void Task_StartMenu(u8 taskId);
static u8 StartMenu_InputProcessCallback(void);
static u8 SaveCallback1(void);
@@ -811,14 +811,14 @@ static void Task_8071B64(u8 taskId)
(*step)++;
break;
case 1:
- sub_8047A1C();
+ SetSecretBase2Field_9_AndHideBG();
sub_8125E2C();
(*step)++;
break;
case 2:
if(!sub_8125E6C())
break;
- sub_8047A34();
+ ClearSecretBase2Field_9_2();
(*step)++;
break;
case 3:
@@ -832,18 +832,3 @@ static void Task_8071B64(u8 taskId)
}
}
}
-
-void sub_8071C20(void)
-{
- PlaySE(SE_SELECT);
- MenuZeroFillScreen();
- sub_8064E2C();
- ScriptContext2_Disable();
- sub_8072DEC();
-}
-
-void AppendToList(u8 *list, u8 *pindex, u32 value)
-{
- list[*pindex] = value;
- (*pindex)++;
-}
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 341f73e4c..2750705b8 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -20,12 +20,12 @@ struct MonCoords
extern void * const gUnknown_081FAF4C[];
extern const u8 gStarterChoose_PokeballCoords[][2];
-extern u8 gUnknown_083F66F0[];
+extern u8 gBirchHelpGfx[];
extern u8 gBirchBagTilemap[];
extern u8 gBirchGrassTilemap[];
extern struct SpriteSheet gUnknown_083F7794;
extern struct SpriteSheet gUnknown_083F77A4;
-extern u8 gUnknown_083F62EC[];
+extern u8 gBirchBagGrassPal[];
extern const u8 gStarterChoose_LabelCoords[][2];
extern u16 gStarterMons[];
extern union AffineAnimCmd *gUnknown_083F778C[];
@@ -108,7 +108,7 @@ void CB2_ChooseStarter(void)
DmaFill32(3, 0, OAM, OAM_SIZE);
DmaFill16(3, 0, PLTT, PLTT_SIZE);
- LZ77UnCompVram(&gUnknown_083F66F0, (void *)VRAM);
+ LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000));
LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
remove_some_task();
@@ -116,7 +116,7 @@ void CB2_ChooseStarter(void)
ResetSpriteData();
ResetPaletteFade();
FreeAllSpritePalettes();
- LoadPalette(gUnknown_083F62EC, 0, 0x40);
+ LoadPalette(gBirchBagGrassPal, 0, 0x40);
LoadCompressedObjectPic(&gUnknown_083F7794);
LoadCompressedObjectPic(&gUnknown_083F77A4);
LoadSpritePalettes(gUnknown_083F77B4);
diff --git a/src/text.c b/src/text.c
index c632a4fa6..265ef5493 100644
--- a/src/text.c
+++ b/src/text.c
@@ -8,12 +8,6 @@
enum
{
- CHARSET_JAPANESE = 1,
- CHARSET_LATIN
-};
-
-enum
-{
WIN_STATE_END,
WIN_STATE_BEGIN,
WIN_STATE_NORMAL,
@@ -361,7 +355,7 @@ static const WriteGlyphTilemapFunc sWriteGlyphTilemapFuncs[] =
WriteGlyphTilemap_Font6,
};
-static const struct Window sDefaultWindow = { .charset = CHARSET_LATIN };
+static const struct Window sDefaultWindow = { .language = GAME_LANGUAGE };
typedef u8 (*ExtCtrlCodeFunc)(struct Window *);
@@ -1918,7 +1912,7 @@ static void MultistepLoadFont_LoadGlyph(struct Window *win, u16 startOffset, u8
}
}
-static void EmptyFunc(void)
+void EmptyFunc(void)
{
}
@@ -1947,7 +1941,7 @@ void InitWindow(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8
struct WindowConfig *winConfig = win->config;
win->textMode = winConfig->textMode;
win->fontNum = winConfig->fontNum;
- win->charset = CHARSET_LATIN;
+ win->language = GAME_LANGUAGE;
win->paletteNum = winConfig->paletteNum;
win->win_field_B = 0;
win->win_field_C = 0;
@@ -2045,7 +2039,7 @@ u8 sub_8002F44(struct Window *win)
static u8 sub_8002FA0(struct Window *win, const u8 *text)
{
u8 retVal;
- u8 savedCharset = win->charset;
+ u8 savedLanguage = win->language;
const u8 *savedText = win->text;
u16 savedTextIndex = win->textIndex;
win->text = text;
@@ -2055,7 +2049,7 @@ static u8 sub_8002FA0(struct Window *win, const u8 *text)
win->text = savedText;
win->textIndex = savedTextIndex;
win->state = WIN_STATE_NORMAL;
- win->charset = savedCharset;
+ win->language = savedLanguage;
return retVal;
}
@@ -2291,13 +2285,13 @@ static u8 ExtCtrlCode_Spacing(struct Window *win)
static u8 ExtCtrlCode_Japanese(struct Window *win)
{
- win->charset = CHARSET_JAPANESE;
+ win->language = LANGUAGE_JAPANESE;
return 2;
}
static u8 ExtCtrlCode_Latin(struct Window *win)
{
- win->charset = CHARSET_LATIN;
+ win->language = GAME_LANGUAGE;
return 2;
}
@@ -2596,7 +2590,7 @@ static void LoadFixedWidthGlyph(struct Window *win, u32 glyph, u8 *dest)
u8 *upperTile;
u8 *lowerTile;
- GetGlyphTilePointers(win->fontNum, win->charset, glyph, &upperTile, &lowerTile);
+ GetGlyphTilePointers(win->fontNum, win->language, glyph, &upperTile, &lowerTile);
switch (win->fontNum)
{
@@ -2627,17 +2621,17 @@ static void WriteGlyphTilemap(struct Window *win, u16 upperTileNum, u16 lowerTil
}
}
-static void GetGlyphTilePointers(u8 fontNum, u8 charset, u16 glyph, u8 **upperTilePtr, u8 **lowerTilePtr)
+static void GetGlyphTilePointers(u8 fontNum, u8 language, u16 glyph, u8 **upperTilePtr, u8 **lowerTilePtr)
{
u16 index;
const struct Font *font;
- if (charset == CHARSET_JAPANESE)
- charset = 0;
+ if (language == LANGUAGE_JAPANESE)
+ language = 0;
else
- charset = 7;
+ language = 7;
- font = &sFonts[charset + fontNum];
+ font = &sFonts[language + fontNum];
switch (font->type)
{
@@ -3137,7 +3131,7 @@ static void DrawDownArrow(struct Window *win)
{
u8 *upperTile;
u8 *lowerTile;
- GetGlyphTilePointers(win->fontNum, win->charset, 0, &upperTile, &lowerTile);
+ GetGlyphTilePointers(win->fontNum, win->language, 0, &upperTile, &lowerTile);
glyphTileInfo.width = 8 - glyphTileInfo.startPixel;
glyphTileInfo.src = upperTile;
glyphTileInfo.dest = (u32 *)(win->tileData + 32 * GetCursorTileNum(win, 1, 0));
@@ -3340,10 +3334,10 @@ static u8 GetGlyphWidth(struct Window *win, u32 glyph)
{
u8 width = 8;
-#if REVISION >= 1
- if (win->charset != CHARSET_JAPANESE)
+#ifdef BUGFIX_GLYPHWIDTH
+ if (win->language != LANGUAGE_JAPANESE)
#else
- if (win->charset == CHARSET_LATIN)
+ if (win->language == LANGUAGE_ENGLISH)
#endif
{
width = win->spacing;
@@ -3539,7 +3533,7 @@ u8 GetStringWidth(struct Window *win, const u8 *s)
{
u8 width = 0;
u8 savedFontNum = win->fontNum;
- u8 savedCharset = win->charset;
+ u8 savedCharset = win->language;
u8 savedSpacing = win->spacing;
s32 i = 0;
@@ -3552,9 +3546,9 @@ u8 GetStringWidth(struct Window *win, const u8 *s)
{
u8 temp;
i++;
- temp = win->charset;
+ temp = win->language;
width += GetStringWidth(win, GetExpandedPlaceholder(s[i]));
- win->charset = temp;
+ win->language = temp;
i++;
break;
}
@@ -3580,10 +3574,10 @@ u8 GetStringWidth(struct Window *win, const u8 *s)
win->spacing = s[i + 1];
break;
case 0x15:
- win->charset = 1;
+ win->language = LANGUAGE_JAPANESE;
break;
case 0x16:
- win->charset = 2;
+ win->language = GAME_LANGUAGE;
break;
}
@@ -3596,7 +3590,7 @@ u8 GetStringWidth(struct Window *win, const u8 *s)
}
win->spacing = savedSpacing;
- win->charset = savedCharset;
+ win->language = savedCharset;
win->fontNum = savedFontNum;
return width;
@@ -3659,10 +3653,9 @@ u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s)
void ConvertInternationalString(u8 *s, u8 language)
{
- if (language == CHARSET_JAPANESE)
+ if (language == LANGUAGE_JAPANESE)
{
u8 i;
- u8 length;
StripExtCtrlCodes(s);
i = StringLength(s);
@@ -4254,7 +4247,7 @@ static s32 DrawGlyphTiles(struct Window *win, u32 glyph, u32 glyphWidth)
u8 *lowerTile;
s32 retVal = 0;
- GetGlyphTilePointers(win->fontNum, win->charset, glyph, &upperTile, &lowerTile);
+ GetGlyphTilePointers(win->fontNum, win->language, glyph, &upperTile, &lowerTile);
glyphTileInfo.textMode = win->textMode;
glyphTileInfo.startPixel = (win->left + win->cursorX) & 7;
glyphTileInfo.width = glyphWidth;
diff --git a/src/trainer_card.c b/src/trainer_card.c
index a04ad4359..453cec76d 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -6,6 +6,7 @@
#include "link.h"
#include "main.h"
#include "menu.h"
+#include "money.h"
#include "palette.h"
#include "pokedex.h"
#include "rom4.h"
@@ -81,7 +82,7 @@ static void sub_809323C(void);
static void sub_8093254(void);
static void sub_80932AC(Callback callBack);
static void sub_80932E4(u8 arg1, Callback callBack);
-static void sub_8093324(void);
+void sub_8093324(void);
static void nullsub_60(u8);
static u32 sav12_xor_get_clamped_above(u8 index, u32 maxVal);
static u8 sub_80934F4(struct TrainerCard *);
@@ -91,7 +92,7 @@ static void sub_8093598(void);
static void sub_80935EC(void);
static void sub_8093610(void);
static void sub_8093688(void);
-static void sub_80936D4(void);
+void sub_80936D4(void);
static void sub_80937A4(void);
static void sub_80937BC(void);
static void sub_80937D8(void);
@@ -106,13 +107,13 @@ static void sub_80939DC(u8 taskId);
static void sub_8093A28(void);
static u8 sub_8093A48(void);
static void sub_8093A68(u8 taskId);
-static void sub_8093D7C(void);
+void sub_8093D7C(void);
static void sub_8093DAC(void);
static void sub_8093DC8(void);
static void sub_8093DEC(void);
static void sub_8093E04(void);
static void sub_8093E28(void);
-static void sub_8093EA0(void);
+void sub_8093EA0(void);
static void sub_8093EF8(void);
static void sub_8093F14(void);
static void sub_8093F48(void);
@@ -142,12 +143,12 @@ static void TrainerCard_Back_PrintLinkPokeblocks_Label(void);
static void TrainerCard_Back_PrintLinkPokeblocks(void);
static void TrainerCard_Back_PrintPokemonTrades_Label(void);
static void TrainerCard_Back_PrintPokemonTrades(void);
-static void unref_sub_8094588(u16 left, u16 top);
+void unref_sub_8094588(u16 left, u16 top);
void sub_8093110(Callback arg1) {
sub_80932AC(arg1);
SetMainCallback2(sub_8093174);
- unk_2000000.language = 2;
+ unk_2000000.language = GAME_LANGUAGE;
}
void sub_8093130(u8 playerIndex, Callback arg2) {
@@ -253,7 +254,7 @@ static void sub_80932E4(u8 arg1, Callback callBack) {
StoreWordInTwoHalfwords(&task->data[TD_CALLBACK], (u32) callBack);
}
-static void sub_8093324(void) {
+void sub_8093324(void) {
u8 taskId = FindTaskIdByFunc(nullsub_60);
struct Task *task = &gTasks[taskId];
unk_2000000.var_1 = task->data[TD_0];
@@ -592,7 +593,7 @@ _080936D0: .4byte 0x02000000\n\
#endif
-static void sub_80936D4(void) {
+void sub_80936D4(void) {
unk_2000000.var_7 = FALSE;
unk_2000000.var_8 = FALSE;
unk_2000000.var_9 = FALSE;
@@ -1338,7 +1339,7 @@ bool8 sub_8093D50(void) {
}
__attribute__((naked))
-static void sub_8093D7C(void) {
+void sub_8093D7C(void) {
asm(".syntax unified\n\
ldr r1, _08093DA0 @ =gUnknown_03004DE0\n\
ldr r0, _08093DA4 @ =REG_VCOUNT\n\
@@ -1471,7 +1472,7 @@ _08093E9C: .4byte 0x80000200\n\
.syntax divided\n");
}
-static void sub_8093EA0(void) {
+void sub_8093EA0(void) {
LoadPalette(gUnknown_083B5EF8[unk_2000000.var_2], 0, 48 * 2);
LoadPalette(gBadgesPalette, 48, 16 * 2);
LoadPalette(gUnknown_083B5F4C, 64, 16 * 2);
@@ -2016,7 +2017,7 @@ static void TrainerCard_Back_PrintPokemonTrades(void) {
MenuPrint_RightAligned(buffer, 28, 9);
}
-static void unref_sub_8094588(u16 left, u16 top) {
+void unref_sub_8094588(u16 left, u16 top) {
u8 *text = gOtherText_Boy;
if (gSaveBlock2.playerGender == FEMALE) {
diff --git a/src/trainer_see.c b/src/trainer_see.c
index 969bc94c1..2b4ecbcc1 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -20,7 +20,7 @@ extern u32 gUnknown_0202FF84[];
bool8 CheckTrainers(void)
{
u8 i;
-
+
for(i = 0; i < 16; i++)
{
if ( gMapObjects[i].active )
@@ -60,7 +60,7 @@ bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj)
s16 x, y;
u8 i;
u8 playerCoord;
-
+
PlayerGetDestCoords(&x, &y);
if ( trainerObj->trainerType == 1 ) // trainers that don't spin
{
@@ -119,6 +119,12 @@ bool8 IsTrainerInRangeEast(struct MapObject *trainerObj, s16 vision, s16 x, s16
return FALSE;
}
+#ifdef BUGFIX_TRAINERAPPROACH
+#define COLLISION_MASK ~1
+#else
+#define COLLISION_MASK 1
+#endif
+
bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 playerCoord, u8 direction)
{
s16 x, y;
@@ -127,21 +133,18 @@ bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 playerC
u8 i;
u8 var;
- if ( !playerCoord )
+ if (!playerCoord)
return FALSE;
x = trainerObj->coords2.x;
y = trainerObj->coords2.y;
- for(i = 0; i <= playerCoord - 1;)
+ for (i = 0; i <= playerCoord - 1; i++, MoveCoords(direction, &x, &y))
{
var = sub_8060024((struct MapObject *)trainerObj, x, y, direction);
- if (var != 0 && (var & 1) != 0 )
+ if (var && (var & COLLISION_MASK))
return FALSE;
-
- i++;
- MoveCoords(direction, &x, &y);
}
// preserve mapobj_unk_19 before clearing.
@@ -154,7 +157,7 @@ bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 playerC
trainerObj->mapobj_unk_19 = unk19_temp;
trainerObj->mapobj_unk_19b = unk19b_temp;
- if ( var == 4 )
+ if (var == 4)
return playerCoord;
return FALSE;
@@ -173,7 +176,7 @@ void sub_80842FC(TaskFunc func)
{
TaskFunc func2 = RunTrainerSeeFuncList;
u8 taskId = FindTaskIdByFunc(func2);
-
+
SetTaskFuncWithFollowupFunc(taskId, RunTrainerSeeFuncList, func);
gTasks[taskId].data[0] = 1;
func2(taskId);
@@ -201,7 +204,7 @@ s8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainerObj)
FieldObjectGetLocalIdAndMap(trainerObj, (u8 *)&gUnknown_0202FF84[0], (u8 *)&gUnknown_0202FF84[1], (u8 *)&gUnknown_0202FF84[2]);
FieldEffectStart(0);
-
+
direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18);
FieldObjectSetSpecialAnim(trainerObj, direction);
@@ -267,17 +270,17 @@ s8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainerObj)
s8 sub_8084534(u8 taskId, struct Task *task, struct MapObject *trainerObj) // technically only 1 parameter, but needs all 3 for TrainerSeeFuncList call.
{
struct MapObject *playerObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
+
if ( !FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj)
|| FieldObjectClearAnimIfSpecialAnimFinished(playerObj) )
SwitchTaskToFollowupFunc(taskId);
-
+
return 0;
}
s8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainerObj)
{
- if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
+ if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
|| FieldObjectClearAnimIfSpecialAnimFinished(trainerObj))
{
FieldObjectSetSpecialAnim(trainerObj, 0x59);
@@ -290,13 +293,13 @@ s8 sub_80845AC(u8 taskId, struct Task *task, struct MapObject *trainerObj)
{
if ( FieldObjectClearAnimIfSpecialAnimFinished(trainerObj) )
task->data[0] = 3;
-
+
return 0;
}
s8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainerObj)
{
- if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
+ if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
|| FieldObjectClearAnimIfSpecialAnimFinished(trainerObj))
{
FieldObjectSetSpecialAnim(trainerObj, 0x3E);
@@ -327,7 +330,7 @@ s8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainerObj)
{
trainerObj->mapobj_bit_26 = 0;
trainerObj->mapobj_bit_2 = 1;
-
+
sprite = &gSprites[trainerObj->spriteId];
sprite->oam.priority = 2;
FieldObjectClearAnimIfSpecialAnimFinished(trainerObj);
diff --git a/src/truck_scene.c b/src/truck_scene.c
index 4e45bd165..64eca498c 100644
--- a/src/truck_scene.c
+++ b/src/truck_scene.c
@@ -12,8 +12,6 @@ extern s8 gTruckCamera_HorizontalTable[];
s32 GetTruckCameraBobbingY(int a1)
{
- s32 result;
-
if (!(a1 % 120))
return -1;
else if ((a1 % 10) <= 4)
@@ -24,8 +22,6 @@ s32 GetTruckCameraBobbingY(int a1)
s32 GetTruckBoxMovement(int a1) // for the box movement?
{
- s32 result;
-
if (!((a1 + 120) % 180))
return -1;
diff --git a/src/weather.c b/src/weather.c
index c16faaed8..520185441 100644
--- a/src/weather.c
+++ b/src/weather.c
@@ -192,7 +192,7 @@ void sub_807CB10(void) {
v4 += v11;
dunno = v4 - v9;
if (dunno > 0) {
- v4 -= dunno + ((u16)dunno >> 15) >> 1;
+ v4 -= (dunno + ((u16)dunno >> 15)) >> 1;
}
v1[v6][v2] = v4 >> 8;
if (v1[v6][v2] > 0x1f) {
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 48fe3c116..1291242a7 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -11,6 +11,7 @@
#include "var.h"
#include "rom4.h"
#include "vars.h"
+#include "metatile_behavior.h"
struct WildPokemon
{
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 842903712..d76fc1e13 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -6,6 +6,8 @@
.space 0x2E8
.include "src/link.o"
+
+ .align 2
gUnknown_020238C4: @ 20238C4
.space 0x1
@@ -244,7 +246,7 @@ gUnknown_02024D28: @ 2024D28
gUnknown_02024D68: @ 2024D68
.space 0x50
-word_2024DB8: @ 2024DB8
+gBattleWeather: @ 2024DB8
.space 0x4
gUnknown_02024DBC: @ 2024DBC
@@ -310,7 +312,7 @@ gSaveBlock2: @ 2024EA4
gSaveBlock1: @ 2025734
.space 0x3AC0
-gUnknown_020291F4: @ 20291F4
+gLoadedSaveData: @ items
.space 0x4D8
gUnknown_020296CC: @ 20296CC