summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/event_object_movement.s4142
-rw-r--r--asm/field_effect.s26
-rw-r--r--asm/field_ground_effect.s1894
-rw-r--r--asm/field_player_avatar.s40
-rw-r--r--asm/overworld.s4
-rw-r--r--asm/trainer_see.s1628
-rw-r--r--data/event_object_movement.s2100
-rw-r--r--data/field_effect_scripts.s24
-rw-r--r--data/field_ground_effect.s63
-rw-r--r--data/field_player_avatar.s33
-rw-r--r--data/maps/CeladonCity_GameCorner/scripts.inc4
-rw-r--r--data/trainer_see.s97
-rw-r--r--include/constants/event_object_movement.h323
-rw-r--r--include/constants/field_effects.h12
-rw-r--r--include/constants/movement_commands.h121
-rw-r--r--include/constants/object_events.h4
-rw-r--r--include/event_object_80688E4.h15
-rw-r--r--include/event_object_8097404.h34
-rw-r--r--include/event_object_movement.h28
-rw-r--r--include/field_player_avatar.h2
-rw-r--r--include/global.fieldmap.h6
-rw-r--r--include/quest_log.h1
-rw-r--r--include/trainer_see.h10
-rw-r--r--ld_script.txt10
-rw-r--r--src/bag.c2
-rw-r--r--src/battle_anim_effects_1.c6
-rw-r--r--src/battle_anim_effects_2.c1
-rw-r--r--src/battle_controller_link_opponent.c7
-rw-r--r--src/battle_controller_link_partner.c8
-rw-r--r--src/battle_controller_opponent.c8
-rw-r--r--src/battle_controller_player.c2
-rw-r--r--src/battle_controller_pokedude.c2
-rw-r--r--src/battle_controller_safari.c4
-rw-r--r--src/battle_gfx_sfx_util.c2
-rw-r--r--src/battle_interface.c1
-rw-r--r--src/battle_main.c4
-rw-r--r--src/battle_message.c1
-rw-r--r--src/battle_script_commands.c3
-rw-r--r--src/battle_setup.c5
-rw-r--r--src/battle_util2.c1
-rw-r--r--src/berry_fix_program.c5
-rw-r--r--src/credits.c2
-rw-r--r--src/daycare.c1
-rw-r--r--src/decompress.c1
-rw-r--r--src/digit_obj_util.c1
-rw-r--r--src/diploma.c2
-rw-r--r--src/dynamic_placeholder_text_util.c5
-rw-r--r--src/easy_chat.c15
-rw-r--r--src/event_object_80688E4.c2
-rw-r--r--src/event_object_lock.c2
-rw-r--r--src/evolution_scene.c2
-rw-r--r--src/field_fadetransition.c5
-rw-r--r--src/field_specials.c3
-rw-r--r--src/fieldmap.c1
-rw-r--r--src/fldeff_dig.c2
-rw-r--r--src/fldeff_rocksmash.c4
-rw-r--r--src/fldeff_softboiled.c1
-rw-r--r--src/fldeff_strength.c1
-rw-r--r--src/fldeff_sweetscent.c1
-rw-r--r--src/help_system.c2
-rw-r--r--src/hof_pc.c1
-rw-r--r--src/ice.c2
-rw-r--r--src/item_menu.c2
-rw-r--r--src/item_use.c2
-rw-r--r--src/itemfinder.c1
-rw-r--r--src/list_menu.c2
-rw-r--r--src/load_save.c1
-rw-r--r--src/main.c3
-rw-r--r--src/menu.c4
-rw-r--r--src/menu_indicators.c1
-rw-r--r--src/mevent_server.c4
-rw-r--r--src/mevent_server_helpers.c7
-rw-r--r--src/mevent_show_card.c3
-rw-r--r--src/mystery_event_script.c1
-rw-r--r--src/new_game.c1
-rw-r--r--src/new_menu_helpers.c2
-rw-r--r--src/oak_speech.c2
-rw-r--r--src/party_menu.c4
-rw-r--r--src/party_menu_specials.c1
-rw-r--r--src/pokeball.c1
-rw-r--r--src/pokemon_jump_6.c1
-rw-r--r--src/pokemon_size_record.c1
-rw-r--r--src/quest_log.c2
-rw-r--r--src/quest_log_objects.c47
-rw-r--r--src/quest_log_player.c18
-rw-r--r--src/random.c1
-rw-r--r--src/reshow_battle_screen.c3
-rw-r--r--src/rfu_union_tool.c2
-rw-r--r--src/roamer.c1
-rw-r--r--src/safari_zone.c1
-rw-r--r--src/save_failed_screen.c1
-rw-r--r--src/scanline_effect.c1
-rw-r--r--src/scrcmd.c2
-rw-r--r--src/script_pokemon_util.c2
-rw-r--r--src/sea_cottage_special_anim.c2
-rw-r--r--src/shop.c2
-rw-r--r--src/slot_machine.c1
-rw-r--r--src/sound.c1
-rw-r--r--src/start_menu.c2
-rw-r--r--src/text.c4
-rw-r--r--src/text_window.c1
-rw-r--r--src/tileset_anims.c6
-rw-r--r--src/tm_case.c1
-rw-r--r--src/trade.c3
-rw-r--r--src/trade_scene.c2
-rw-r--r--src/trainer_card.c2
-rw-r--r--src/trainer_pokemon_sprites.c3
-rw-r--r--src/trainer_see.c752
-rw-r--r--src/trainer_tower.c4
-rw-r--r--src/trig.c1
-rw-r--r--src/union_room_message.c1
-rw-r--r--src/util.c1
-rw-r--r--src/vs_seeker.c45
113 files changed, 5209 insertions, 6489 deletions
diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s
index f585a60bc..811182517 100644
--- a/asm/event_object_movement.s
+++ b/asm/event_object_movement.s
@@ -137,8 +137,8 @@ _0805DF28: .4byte gFieldEffectObjectTemplatePointers
_0805DF2C: .4byte gSprites
thumb_func_end sub_805DE8C
- thumb_func_start sub_805DF30
-sub_805DF30: @ 805DF30
+ thumb_func_start GetIndexOfFirstInactiveObjectEvent
+GetIndexOfFirstInactiveObjectEvent: @ 805DF30
push {lr}
movs r1, 0
ldr r2, _0805DF3C @ =gObjectEvents
@@ -165,7 +165,7 @@ _0805DF5A:
adds r0, r1, 0
pop {r1}
bx r1
- thumb_func_end sub_805DF30
+ thumb_func_end GetIndexOfFirstInactiveObjectEvent
thumb_func_start GetObjectEventIdByLocalIdAndMap
GetObjectEventIdByLocalIdAndMap: @ 805DF60
@@ -4408,8 +4408,8 @@ _0805FE52:
bx r1
thumb_func_end sub_805FDE8
- thumb_func_start sub_805FE5C
-sub_805FE5C: @ 805FE5C
+ thumb_func_start OverrideTemplateCoordsForObjectEvent
+OverrideTemplateCoordsForObjectEvent: @ 805FE5C
push {r4,lr}
adds r4, r0, 0
bl sub_805FDE8
@@ -4426,10 +4426,10 @@ _0805FE76:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_805FE5C
+ thumb_func_end OverrideTemplateCoordsForObjectEvent
- thumb_func_start sub_805FE7C
-sub_805FE7C: @ 805FE7C
+ thumb_func_start TryOverrideTemplateCoordsForObjectEvent
+TryOverrideTemplateCoordsForObjectEvent: @ 805FE7C
push {r4,lr}
lsls r1, 24
lsrs r4, r1, 24
@@ -4441,7 +4441,7 @@ _0805FE8C:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_805FE7C
+ thumb_func_end TryOverrideTemplateCoordsForObjectEvent
thumb_func_start sub_805FE94
sub_805FE94: @ 805FE94
@@ -4465,7 +4465,7 @@ sub_805FE94: @ 805FE94
lsls r0, 2
ldr r1, _0805FEC8 @ =gObjectEvents
adds r0, r1
- bl sub_805FE5C
+ bl OverrideTemplateCoordsForObjectEvent
_0805FEC2:
add sp, 0x4
pop {r0}
@@ -4717,13 +4717,13 @@ sub_8060078: @ 8060078
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -4736,7 +4736,7 @@ sub_8060078: @ 8060078
sub_80600A4: @ 80600A4
push {r4-r6,lr}
adds r6, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _080600D8
@@ -4831,13 +4831,13 @@ sub_806014C: @ 806014C
adds r5, r1, 0
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -4863,7 +4863,7 @@ sub_806017C: @ 806017C
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -4881,7 +4881,7 @@ sub_80601AC: @ 80601AC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _080601CA
@@ -5487,13 +5487,13 @@ sub_80605E4: @ 80605E4
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -5507,7 +5507,7 @@ sub_8060610: @ 8060610
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060646
@@ -5660,13 +5660,13 @@ sub_8060724: @ 8060724
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -5679,7 +5679,7 @@ sub_8060724: @ 8060724
sub_8060750: @ 8060750
push {r4-r6,lr}
adds r6, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060784
@@ -5774,13 +5774,13 @@ sub_80607F8: @ 80607F8
adds r5, r1, 0
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -5798,7 +5798,7 @@ sub_8060828: @ 8060828
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060846
@@ -5875,13 +5875,13 @@ sub_80608A8: @ 80608A8
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -5894,7 +5894,7 @@ sub_80608A8: @ 80608A8
sub_80608D4: @ 80608D4
push {r4-r6,lr}
adds r6, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060908
@@ -5989,13 +5989,13 @@ sub_806097C: @ 806097C
adds r5, r1, 0
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -6013,7 +6013,7 @@ sub_80609AC: @ 80609AC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _080609CA
@@ -6079,13 +6079,13 @@ sub_8060A18: @ 8060A18
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r5, 0x30]
pop {r4,r5}
@@ -6097,7 +6097,7 @@ sub_8060A18: @ 8060A18
sub_8060A44: @ 8060A44
push {r4,lr}
adds r4, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
bne _08060A56
@@ -6183,13 +6183,13 @@ sub_8060ACC: @ 8060ACC
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -6203,7 +6203,7 @@ sub_8060AF8: @ 8060AF8
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060B2E
@@ -6356,13 +6356,13 @@ sub_8060C0C: @ 8060C0C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -6376,7 +6376,7 @@ sub_8060C38: @ 8060C38
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060C6E
@@ -6529,13 +6529,13 @@ sub_8060D4C: @ 8060D4C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -6549,7 +6549,7 @@ sub_8060D78: @ 8060D78
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060DAE
@@ -6702,13 +6702,13 @@ sub_8060E8C: @ 8060E8C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -6722,7 +6722,7 @@ sub_8060EB8: @ 8060EB8
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08060EEE
@@ -6875,13 +6875,13 @@ sub_8060FCC: @ 8060FCC
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -6895,7 +6895,7 @@ sub_8060FF8: @ 8060FF8
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _0806102E
@@ -7048,13 +7048,13 @@ sub_806110C: @ 806110C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -7068,7 +7068,7 @@ sub_8061138: @ 8061138
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _0806116E
@@ -7221,13 +7221,13 @@ sub_806124C: @ 806124C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -7241,7 +7241,7 @@ sub_8061278: @ 8061278
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _080612AE
@@ -7394,13 +7394,13 @@ sub_806138C: @ 806138C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -7414,7 +7414,7 @@ sub_80613B8: @ 80613B8
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _080613EE
@@ -7567,13 +7567,13 @@ sub_80614CC: @ 80614CC
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -7587,7 +7587,7 @@ sub_80614F8: @ 80614F8
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _0806152E
@@ -7740,13 +7740,13 @@ sub_806160C: @ 806160C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
@@ -7760,7 +7760,7 @@ sub_8061638: @ 8061638
push {r4-r7,lr}
adds r6, r0, 0
adds r7, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _0806166E
@@ -7902,13 +7902,13 @@ sub_8061738: @ 8061738
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r5, 0x30]
pop {r4,r5}
@@ -7920,7 +7920,7 @@ sub_8061738: @ 8061738
sub_8061764: @ 8061764
push {r4,lr}
adds r4, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _0806177E
@@ -8045,13 +8045,13 @@ sub_806183C: @ 806183C
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r5, 0x30]
pop {r4,r5}
@@ -8063,7 +8063,7 @@ sub_806183C: @ 806183C
sub_8061868: @ 8061868
push {r4,lr}
adds r4, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08061882
@@ -8255,7 +8255,7 @@ _080619BC:
lsrs r5, r0, 24
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
lsls r0, 24
lsrs r6, r0, 24
cmp r5, 0x1
@@ -8275,7 +8275,7 @@ _080619BC:
bl ObjectEventSetDirection
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
lsls r0, 24
lsrs r6, r0, 24
ldrb r1, [r4, 0x18]
@@ -8297,7 +8297,7 @@ _08061A24:
adds r0, r4, 0
adds r1, r7, 0
adds r2, r6, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -8315,7 +8315,7 @@ sub_8061A44: @ 8061A44
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08061A62
@@ -8374,7 +8374,7 @@ _08061AA2:
bl ObjectEventSetDirection
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
lsls r0, 24
lsrs r6, r0, 24
ldrb r1, [r4, 0x18]
@@ -8395,7 +8395,7 @@ _08061AA2:
bl ObjectEventSetDirection
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
lsls r0, 24
lsrs r6, r0, 24
ldrb r1, [r4, 0x18]
@@ -8417,7 +8417,7 @@ _08061B0E:
adds r0, r4, 0
mov r1, r8
adds r2, r6, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -8438,7 +8438,7 @@ sub_8061B34: @ 8061B34
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08061B52
@@ -10418,7 +10418,7 @@ sub_8062944: @ 8062944
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08062962
@@ -10457,13 +10457,13 @@ sub_8062970: @ 8062970
adds r1, 0x21
ldrb r1, [r1]
bl state_to_direction
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -10507,13 +10507,13 @@ sub_80629B8: @ 80629B8
adds r3, r5, 0
bl ObjectEventMoveDestCoords
adds r0, r6, 0
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
@@ -10521,7 +10521,7 @@ sub_80629B8: @ 80629B8
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _08062A3E
@@ -10542,13 +10542,13 @@ sub_80629B8: @ 80629B8
bne _08062A52
_08062A3E:
adds r0, r6, 0
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
_08062A52:
ldrb r0, [r4]
movs r1, 0x2
@@ -10602,7 +10602,7 @@ sub_8062A70: @ 8062A70
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
@@ -10610,7 +10610,7 @@ sub_8062A70: @ 8062A70
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _08062AF6
@@ -10631,13 +10631,13 @@ sub_8062A70: @ 8062A70
bne _08062B0A
_08062AF6:
adds r0, r6, 0
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
_08062B0A:
ldrb r0, [r4]
movs r1, 0x2
@@ -10691,7 +10691,7 @@ sub_8062B28: @ 8062B28
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
@@ -10699,7 +10699,7 @@ sub_8062B28: @ 8062B28
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _08062BAE
@@ -10720,13 +10720,13 @@ sub_8062B28: @ 8062B28
bne _08062BC2
_08062BAE:
adds r0, r6, 0
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
_08062BC2:
ldrb r0, [r4]
movs r1, 0x2
@@ -10780,7 +10780,7 @@ sub_8062BE0: @ 8062BE0
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
@@ -10788,7 +10788,7 @@ sub_8062BE0: @ 8062BE0
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _08062C66
@@ -10809,13 +10809,13 @@ sub_8062BE0: @ 8062BE0
bne _08062C7A
_08062C66:
adds r0, r6, 0
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
_08062C7A:
ldrb r0, [r4]
movs r1, 0x2
@@ -10849,13 +10849,13 @@ cph_IM_DIFFERENT: @ 8062C98
adds r1, 0x21
ldrb r1, [r1]
bl state_to_direction
- bl sub_806413C
+ bl GetJumpInPlaceMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
@@ -10905,7 +10905,7 @@ sub_8062CE0: @ 8062CE0
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
@@ -10913,7 +10913,7 @@ sub_8062CE0: @ 8062CE0
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _08062D66
@@ -10934,13 +10934,13 @@ sub_8062CE0: @ 8062CE0
bne _08062D7A
_08062D66:
adds r0, r6, 0
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
_08062D7A:
ldrb r0, [r4]
movs r1, 0x2
@@ -11001,7 +11001,7 @@ oac_hopping: @ 8062D98
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
add r0, sp, 0x4
movs r2, 0
ldrsh r1, [r0, r2]
@@ -11009,7 +11009,7 @@ oac_hopping: @ 8062D98
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _08062E2C
@@ -11030,13 +11030,13 @@ oac_hopping: @ 8062D98
bne _08062E40
_08062E2C:
adds r0, r6, 0
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r7, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
_08062E40:
ldrb r0, [r4]
movs r1, 0x2
@@ -11352,7 +11352,7 @@ sub_8063078: @ 8063078
sub_8063084: @ 8063084
push {r4,lr}
adds r4, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08063096
@@ -11419,7 +11419,7 @@ sub_80630E4: @ 80630E4
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r5, 0x30]
pop {r4,r5}
@@ -11481,7 +11481,7 @@ sub_8063154: @ 8063154
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r5, 0x30]
pop {r4,r5}
@@ -11543,7 +11543,7 @@ sub_80631C4: @ 80631C4
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r5, 0x30]
pop {r4,r5}
@@ -11599,13 +11599,13 @@ sub_8063234: @ 8063234
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
ldrb r0, [r4, 0x1]
movs r1, 0x20
orrs r0, r1
@@ -11621,7 +11621,7 @@ sub_8063234: @ 8063234
sub_8063268: @ 8063268
push {r4,lr}
adds r4, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
bne _0806327A
@@ -11774,7 +11774,7 @@ sub_8063364: @ 8063364
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x98
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r4, 0x30]
pop {r4,r5}
@@ -11786,7 +11786,7 @@ sub_8063364: @ 8063364
sub_8063384: @ 8063384
push {r4,lr}
adds r4, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
bne _08063396
@@ -11822,7 +11822,7 @@ sub_80633B4: @ 80633B4
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x99
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r4, 0x30]
movs r0, 0
@@ -11840,7 +11840,7 @@ sub_80633D4: @ 80633D4
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x9A
- bl sub_80645C8
+ bl ObjectEventSetSingleMovement
movs r0, 0x1
strh r0, [r4, 0x30]
movs r0, 0
@@ -11853,7 +11853,7 @@ sub_80633D4: @ 80633D4
sub_80633F4: @ 80633F4
push {r4,lr}
adds r4, r1, 0
- bl sub_8064588
+ bl ObjectEventExecSingleMovementAction
lsls r0, 24
cmp r0, 0
beq _08063406
@@ -11933,8 +11933,8 @@ get_go_faster_image_anim_num: @ 8063460
_0806346C: .4byte gUnknown_83A6427
thumb_func_end get_go_faster_image_anim_num
- thumb_func_start sub_8063470
-sub_8063470: @ 8063470
+ thumb_func_start MovementActionFunc_x03_4
+MovementActionFunc_x03_4: @ 8063470
lsls r0, 24
lsrs r0, 24
ldr r1, _0806347C @ =gUnknown_83A6430
@@ -11943,7 +11943,7 @@ sub_8063470: @ 8063470
bx lr
.align 2, 0
_0806347C: .4byte gUnknown_83A6430
- thumb_func_end sub_8063470
+ thumb_func_end MovementActionFunc_x03_4
thumb_func_start sub_8063480
sub_8063480: @ 8063480
@@ -12292,7 +12292,7 @@ npc_block_way__next_tile: @ 806366C
ldrsh r2, [r4, r0]
adds r0, r6, 0
adds r3, r5, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
add sp, 0x4
@@ -12301,8 +12301,8 @@ npc_block_way__next_tile: @ 806366C
bx r1
thumb_func_end npc_block_way__next_tile
- thumb_func_start npc_block_way
-npc_block_way: @ 80636AC
+ thumb_func_start GetCollisionAtCoords
+GetCollisionAtCoords: @ 80636AC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -12400,10 +12400,10 @@ _08063762:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end npc_block_way
+ thumb_func_end GetCollisionAtCoords
- thumb_func_start sub_8063770
-sub_8063770: @ 8063770
+ thumb_func_start GetCollisionFlagsAtCoords
+GetCollisionFlagsAtCoords: @ 8063770
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -12503,7 +12503,7 @@ _0806382C:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_8063770
+ thumb_func_end GetCollisionFlagsAtCoords
thumb_func_start IsCoordOutsideObjectEventMovementRect
IsCoordOutsideObjectEventMovementRect: @ 806383C
@@ -13370,7 +13370,7 @@ sub_8063E28: @ 8063E28
bne _08063E5C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064544
+ bl ObjectEventExecHeldMovementAction
_08063E5C:
ldrb r0, [r4, 0x1E]
bl MetatileBehavior_IsIce_2
@@ -13416,8 +13416,8 @@ _08063E88:
bx r0
thumb_func_end sub_8063E28
- thumb_func_start sub_8063EB8
-sub_8063EB8: @ 8063EB8
+ thumb_func_start GetFaceDirectionMovementAction
+GetFaceDirectionMovementAction: @ 8063EB8
push {r4,lr}
sub sp, 0x8
lsls r0, 24
@@ -13439,7 +13439,7 @@ _08063ED0:
bx r1
.align 2, 0
_08063EE0: .4byte gUnknown_83A64EC
- thumb_func_end sub_8063EB8
+ thumb_func_end GetFaceDirectionMovementAction
thumb_func_start sub_8063EE4
sub_8063EE4: @ 8063EE4
@@ -13534,8 +13534,8 @@ _08063F70:
_08063F80: .4byte gUnknown_83A6500
thumb_func_end sub_8063F58
- thumb_func_start sub_8063F84
-sub_8063F84: @ 8063F84
+ thumb_func_start GetWalkNormalMovementAction
+GetWalkNormalMovementAction: @ 8063F84
push {r4,lr}
sub sp, 0x8
lsls r0, 24
@@ -13557,7 +13557,7 @@ _08063F9C:
bx r1
.align 2, 0
_08063FAC: .4byte gUnknown_83A6505
- thumb_func_end sub_8063F84
+ thumb_func_end GetWalkNormalMovementAction
thumb_func_start sub_8063FB0
sub_8063FB0: @ 8063FB0
@@ -13784,8 +13784,8 @@ _08064128:
_08064138: .4byte gUnknown_83A6532
thumb_func_end GetJumpLedgeAnimId
- thumb_func_start sub_806413C
-sub_806413C: @ 806413C
+ thumb_func_start GetJumpInPlaceMovementAction
+GetJumpInPlaceMovementAction: @ 806413C
push {r4,lr}
sub sp, 0x8
lsls r0, 24
@@ -13807,7 +13807,7 @@ _08064154:
bx r1
.align 2, 0
_08064164: .4byte gUnknown_83A6537
- thumb_func_end sub_806413C
+ thumb_func_end GetJumpInPlaceMovementAction
thumb_func_start sub_8064168
sub_8064168: @ 8064168
@@ -14018,7 +14018,7 @@ ObjectEventFaceOppositeDirection: @ 80642C8
bl GetOppositeDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -14344,7 +14344,7 @@ _08064508: .4byte gUnknown_83A65A9
ObjectEventExecSpecialAnim: @ 806450C
push {r4,lr}
adds r4, r0, 0
- ldr r2, _08064540 @ =gUnknown_83A65BC
+ ldr r2, _08064540 @ =sMovementActionFuncs
ldrb r0, [r4, 0x1C]
lsls r0, 2
adds r0, r2
@@ -14368,14 +14368,14 @@ _08064538:
pop {r0}
bx r0
.align 2, 0
-_08064540: .4byte gUnknown_83A65BC
+_08064540: .4byte sMovementActionFuncs
thumb_func_end ObjectEventExecSpecialAnim
- thumb_func_start sub_8064544
-sub_8064544: @ 8064544
+ thumb_func_start ObjectEventExecHeldMovementAction
+ObjectEventExecHeldMovementAction: @ 8064544
push {r4,lr}
adds r4, r0, 0
- ldr r2, _08064584 @ =gUnknown_83A65BC
+ ldr r2, _08064584 @ =sMovementActionFuncs
ldrb r0, [r4, 0x1C]
lsls r0, 2
adds r0, r2
@@ -14404,15 +14404,15 @@ _0806457C:
pop {r0}
bx r0
.align 2, 0
-_08064584: .4byte gUnknown_83A65BC
- thumb_func_end sub_8064544
+_08064584: .4byte sMovementActionFuncs
+ thumb_func_end ObjectEventExecHeldMovementAction
- thumb_func_start sub_8064588
-sub_8064588: @ 8064588
+ thumb_func_start ObjectEventExecSingleMovementAction
+ObjectEventExecSingleMovementAction: @ 8064588
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- ldr r1, _080645B4 @ =gUnknown_83A65BC
+ ldr r1, _080645B4 @ =sMovementActionFuncs
ldrb r0, [r4, 0x1C]
lsls r0, 2
adds r0, r1
@@ -14431,7 +14431,7 @@ sub_8064588: @ 8064588
movs r0, 0
b _080645C2
.align 2, 0
-_080645B4: .4byte gUnknown_83A65BC
+_080645B4: .4byte sMovementActionFuncs
_080645B8:
movs r0, 0xFF
strb r0, [r4, 0x1C]
@@ -14442,10 +14442,10 @@ _080645C2:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064588
+ thumb_func_end ObjectEventExecSingleMovementAction
- thumb_func_start sub_80645C8
-sub_80645C8: @ 80645C8
+ thumb_func_start ObjectEventSetSingleMovement
+ObjectEventSetSingleMovement: @ 80645C8
push {r4,lr}
adds r3, r0, 0
lsls r2, 24
@@ -14468,10 +14468,10 @@ _080645EA:
bx r0
.align 2, 0
_080645F0: .4byte gUnknown_3005E88
- thumb_func_end sub_80645C8
+ thumb_func_end ObjectEventSetSingleMovement
- thumb_func_start an_look_any
-an_look_any: @ 80645F4
+ thumb_func_start FaceDirection
+FaceDirection: @ 80645F4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -14501,47 +14501,47 @@ an_look_any: @ 80645F4
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end an_look_any
+ thumb_func_end FaceDirection
- thumb_func_start sub_8064638
-sub_8064638: @ 8064638
+ thumb_func_start MovementActionFunc_x00_0
+MovementActionFunc_x00_0: @ 8064638
push {lr}
movs r2, 0x1
- bl an_look_any
+ bl FaceDirection
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8064638
+ thumb_func_end MovementActionFunc_x00_0
- thumb_func_start sub_8064648
-sub_8064648: @ 8064648
+ thumb_func_start MovementActionFunc_x01_0
+MovementActionFunc_x01_0: @ 8064648
push {lr}
movs r2, 0x2
- bl an_look_any
+ bl FaceDirection
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8064648
+ thumb_func_end MovementActionFunc_x01_0
- thumb_func_start sub_8064658
-sub_8064658: @ 8064658
+ thumb_func_start MovementActionFunc_x02_0
+MovementActionFunc_x02_0: @ 8064658
push {lr}
movs r2, 0x3
- bl an_look_any
+ bl FaceDirection
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8064658
+ thumb_func_end MovementActionFunc_x02_0
- thumb_func_start sub_8064668
-sub_8064668: @ 8064668
+ thumb_func_start MovementActionFunc_x03_0
+MovementActionFunc_x03_0: @ 8064668
push {lr}
movs r2, 0x4
- bl an_look_any
+ bl FaceDirection
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8064668
+ thumb_func_end MovementActionFunc_x03_0
thumb_func_start sub_8064678
sub_8064678: @ 8064678
@@ -14934,8 +14934,8 @@ _08064962:
bx r1
thumb_func_end sub_8064930
- thumb_func_start sub_8064968
-sub_8064968: @ 8064968
+ thumb_func_start MovementActionFunc_x9B_0
+MovementActionFunc_x9B_0: @ 8064968
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -14943,16 +14943,16 @@ sub_8064968: @ 8064968
bl sub_8064904
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064988
+ bl MovementActionFunc_x9B_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064968
+ thumb_func_end MovementActionFunc_x9B_0
- thumb_func_start sub_8064988
-sub_8064988: @ 8064988
+ thumb_func_start MovementActionFunc_x9B_1
+MovementActionFunc_x9B_1: @ 8064988
push {r4,lr}
adds r4, r1, 0
bl sub_8064930
@@ -14969,10 +14969,10 @@ _080649A0:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064988
+ thumb_func_end MovementActionFunc_x9B_1
- thumb_func_start sub_80649A8
-sub_80649A8: @ 80649A8
+ thumb_func_start MovementActionFunc_x9C_0
+MovementActionFunc_x9C_0: @ 80649A8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -14980,16 +14980,16 @@ sub_80649A8: @ 80649A8
bl sub_8064904
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80649C8
+ bl MovementActionFunc_x9C_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80649A8
+ thumb_func_end MovementActionFunc_x9C_0
- thumb_func_start sub_80649C8
-sub_80649C8: @ 80649C8
+ thumb_func_start MovementActionFunc_x9C_1
+MovementActionFunc_x9C_1: @ 80649C8
push {r4,lr}
adds r4, r1, 0
bl sub_8064930
@@ -15006,10 +15006,10 @@ _080649E0:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80649C8
+ thumb_func_end MovementActionFunc_x9C_1
- thumb_func_start sub_80649E8
-sub_80649E8: @ 80649E8
+ thumb_func_start MovementActionFunc_x9D_0
+MovementActionFunc_x9D_0: @ 80649E8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15017,16 +15017,16 @@ sub_80649E8: @ 80649E8
bl sub_8064904
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064A08
+ bl MovementActionFunc_x9D_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80649E8
+ thumb_func_end MovementActionFunc_x9D_0
- thumb_func_start sub_8064A08
-sub_8064A08: @ 8064A08
+ thumb_func_start MovementActionFunc_x9D_1
+MovementActionFunc_x9D_1: @ 8064A08
push {r4,lr}
adds r4, r1, 0
bl sub_8064930
@@ -15043,10 +15043,10 @@ _08064A20:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064A08
+ thumb_func_end MovementActionFunc_x9D_1
- thumb_func_start sub_8064A28
-sub_8064A28: @ 8064A28
+ thumb_func_start MovementActionFunc_x9E_0
+MovementActionFunc_x9E_0: @ 8064A28
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15054,16 +15054,16 @@ sub_8064A28: @ 8064A28
bl sub_8064904
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064A48
+ bl MovementActionFunc_x9E_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064A28
+ thumb_func_end MovementActionFunc_x9E_0
- thumb_func_start sub_8064A48
-sub_8064A48: @ 8064A48
+ thumb_func_start MovementActionFunc_x9E_1
+MovementActionFunc_x9E_1: @ 8064A48
push {r4,lr}
adds r4, r1, 0
bl sub_8064930
@@ -15080,10 +15080,10 @@ _08064A60:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064A48
+ thumb_func_end MovementActionFunc_x9E_1
- thumb_func_start sub_8064A68
-sub_8064A68: @ 8064A68
+ thumb_func_start MovementActionFunc_x08_0
+MovementActionFunc_x08_0: @ 8064A68
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15091,16 +15091,16 @@ sub_8064A68: @ 8064A68
bl sub_8064830
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064A88
+ bl MovementActionFunc_x08_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064A68
+ thumb_func_end MovementActionFunc_x08_0
- thumb_func_start sub_8064A88
-sub_8064A88: @ 8064A88
+ thumb_func_start MovementActionFunc_x08_1
+MovementActionFunc_x08_1: @ 8064A88
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
@@ -15117,10 +15117,10 @@ _08064AA0:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064A88
+ thumb_func_end MovementActionFunc_x08_1
- thumb_func_start sub_8064AA8
-sub_8064AA8: @ 8064AA8
+ thumb_func_start MovementActionFunc_x09_0
+MovementActionFunc_x09_0: @ 8064AA8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15128,16 +15128,16 @@ sub_8064AA8: @ 8064AA8
bl sub_8064830
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064AC8
+ bl MovementActionFunc_x09_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064AA8
+ thumb_func_end MovementActionFunc_x09_0
- thumb_func_start sub_8064AC8
-sub_8064AC8: @ 8064AC8
+ thumb_func_start MovementActionFunc_x09_1
+MovementActionFunc_x09_1: @ 8064AC8
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
@@ -15154,10 +15154,10 @@ _08064AE0:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064AC8
+ thumb_func_end MovementActionFunc_x09_1
- thumb_func_start sub_8064AE8
-sub_8064AE8: @ 8064AE8
+ thumb_func_start MovementActionFunc_x0A_0
+MovementActionFunc_x0A_0: @ 8064AE8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15165,16 +15165,16 @@ sub_8064AE8: @ 8064AE8
bl sub_8064830
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064B08
+ bl MovementActionFunc_x0A_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064AE8
+ thumb_func_end MovementActionFunc_x0A_0
- thumb_func_start sub_8064B08
-sub_8064B08: @ 8064B08
+ thumb_func_start MovementActionFunc_x0A_1
+MovementActionFunc_x0A_1: @ 8064B08
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
@@ -15191,10 +15191,10 @@ _08064B20:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064B08
+ thumb_func_end MovementActionFunc_x0A_1
- thumb_func_start sub_8064B28
-sub_8064B28: @ 8064B28
+ thumb_func_start MovementActionFunc_x0B_0
+MovementActionFunc_x0B_0: @ 8064B28
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15202,16 +15202,16 @@ sub_8064B28: @ 8064B28
bl sub_8064830
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064B48
+ bl MovementActionFunc_x0B_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064B28
+ thumb_func_end MovementActionFunc_x0B_0
- thumb_func_start sub_8064B48
-sub_8064B48: @ 8064B48
+ thumb_func_start MovementActionFunc_x0B_1
+MovementActionFunc_x0B_1: @ 8064B48
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
@@ -15228,7 +15228,7 @@ _08064B60:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064B48
+ thumb_func_end MovementActionFunc_x0B_1
thumb_func_start sub_8064B68
sub_8064B68: @ 8064B68
@@ -15341,8 +15341,8 @@ _08064C36:
bx r1
thumb_func_end sub_8064C04
- thumb_func_start sub_8064C3C
-sub_8064C3C: @ 8064C3C
+ thumb_func_start MovementActionFunc_x0D_0
+MovementActionFunc_x0D_0: @ 8064C3C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15350,16 +15350,16 @@ sub_8064C3C: @ 8064C3C
bl sub_8064BD8
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064C5C
+ bl MovementActionFunc_x0D_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064C3C
+ thumb_func_end MovementActionFunc_x0D_0
- thumb_func_start sub_8064C5C
-sub_8064C5C: @ 8064C5C
+ thumb_func_start MovementActionFunc_x0D_1
+MovementActionFunc_x0D_1: @ 8064C5C
push {r4,lr}
adds r4, r1, 0
bl sub_8064C04
@@ -15376,10 +15376,10 @@ _08064C74:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064C5C
+ thumb_func_end MovementActionFunc_x0D_1
- thumb_func_start sub_8064C7C
-sub_8064C7C: @ 8064C7C
+ thumb_func_start MovementActionFunc_x0C_0
+MovementActionFunc_x0C_0: @ 8064C7C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15387,16 +15387,16 @@ sub_8064C7C: @ 8064C7C
bl sub_8064BD8
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064C9C
+ bl MovementActionFunc_x0C_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064C7C
+ thumb_func_end MovementActionFunc_x0C_0
- thumb_func_start sub_8064C9C
-sub_8064C9C: @ 8064C9C
+ thumb_func_start MovementActionFunc_x0C_1
+MovementActionFunc_x0C_1: @ 8064C9C
push {r4,lr}
adds r4, r1, 0
bl sub_8064C04
@@ -15413,10 +15413,10 @@ _08064CB4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064C9C
+ thumb_func_end MovementActionFunc_x0C_1
- thumb_func_start sub_8064CBC
-sub_8064CBC: @ 8064CBC
+ thumb_func_start MovementActionFunc_x0E_0
+MovementActionFunc_x0E_0: @ 8064CBC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15424,16 +15424,16 @@ sub_8064CBC: @ 8064CBC
bl sub_8064BD8
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064CDC
+ bl MovementActionFunc_x0E_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064CBC
+ thumb_func_end MovementActionFunc_x0E_0
- thumb_func_start sub_8064CDC
-sub_8064CDC: @ 8064CDC
+ thumb_func_start MovementActionFunc_x0E_1
+MovementActionFunc_x0E_1: @ 8064CDC
push {r4,lr}
adds r4, r1, 0
bl sub_8064C04
@@ -15450,10 +15450,10 @@ _08064CF4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064CDC
+ thumb_func_end MovementActionFunc_x0E_1
- thumb_func_start sub_8064CFC
-sub_8064CFC: @ 8064CFC
+ thumb_func_start MovementActionFunc_x0F_0
+MovementActionFunc_x0F_0: @ 8064CFC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15461,16 +15461,16 @@ sub_8064CFC: @ 8064CFC
bl sub_8064BD8
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064D1C
+ bl MovementActionFunc_x0F_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064CFC
+ thumb_func_end MovementActionFunc_x0F_0
- thumb_func_start sub_8064D1C
-sub_8064D1C: @ 8064D1C
+ thumb_func_start MovementActionFunc_x0F_1
+MovementActionFunc_x0F_1: @ 8064D1C
push {r4,lr}
adds r4, r1, 0
bl sub_8064C04
@@ -15487,10 +15487,10 @@ _08064D34:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064D1C
+ thumb_func_end MovementActionFunc_x0F_1
- thumb_func_start sub_8064D3C
-sub_8064D3C: @ 8064D3C
+ thumb_func_start MovementActionFunc_x10_0
+MovementActionFunc_x10_0: @ 8064D3C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15499,16 +15499,16 @@ sub_8064D3C: @ 8064D3C
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064D5C
+ bl MovementActionFunc_x10_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064D3C
+ thumb_func_end MovementActionFunc_x10_0
- thumb_func_start sub_8064D5C
-sub_8064D5C: @ 8064D5C
+ thumb_func_start MovementActionFunc_x10_1
+MovementActionFunc_x10_1: @ 8064D5C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -15525,10 +15525,10 @@ _08064D74:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064D5C
+ thumb_func_end MovementActionFunc_x10_1
- thumb_func_start sub_8064D7C
-sub_8064D7C: @ 8064D7C
+ thumb_func_start MovementActionFunc_x11_0
+MovementActionFunc_x11_0: @ 8064D7C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15537,16 +15537,16 @@ sub_8064D7C: @ 8064D7C
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064D9C
+ bl MovementActionFunc_x11_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064D7C
+ thumb_func_end MovementActionFunc_x11_0
- thumb_func_start sub_8064D9C
-sub_8064D9C: @ 8064D9C
+ thumb_func_start MovementActionFunc_x11_1
+MovementActionFunc_x11_1: @ 8064D9C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -15563,10 +15563,10 @@ _08064DB4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064D9C
+ thumb_func_end MovementActionFunc_x11_1
- thumb_func_start sub_8064DBC
-sub_8064DBC: @ 8064DBC
+ thumb_func_start MovementActionFunc_x12_0
+MovementActionFunc_x12_0: @ 8064DBC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15575,16 +15575,16 @@ sub_8064DBC: @ 8064DBC
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064DDC
+ bl MovementActionFunc_x12_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064DBC
+ thumb_func_end MovementActionFunc_x12_0
- thumb_func_start sub_8064DDC
-sub_8064DDC: @ 8064DDC
+ thumb_func_start MovementActionFunc_x12_1
+MovementActionFunc_x12_1: @ 8064DDC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -15601,10 +15601,10 @@ _08064DF4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064DDC
+ thumb_func_end MovementActionFunc_x12_1
- thumb_func_start sub_8064DFC
-sub_8064DFC: @ 8064DFC
+ thumb_func_start MovementActionFunc_x13_0
+MovementActionFunc_x13_0: @ 8064DFC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -15613,16 +15613,16 @@ sub_8064DFC: @ 8064DFC
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8064E1C
+ bl MovementActionFunc_x13_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8064DFC
+ thumb_func_end MovementActionFunc_x13_0
- thumb_func_start sub_8064E1C
-sub_8064E1C: @ 8064E1C
+ thumb_func_start MovementActionFunc_x13_1
+MovementActionFunc_x13_1: @ 8064E1C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -15639,7 +15639,7 @@ _08064E34:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8064E1C
+ thumb_func_end MovementActionFunc_x13_1
thumb_func_start sub_8064E3C
sub_8064E3C: @ 8064E3C
@@ -15966,8 +15966,8 @@ _080650A0:
bx r1
thumb_func_end sub_8065058
- thumb_func_start sub_80650A8
-sub_80650A8: @ 80650A8
+ thumb_func_start MovementActionFunc_x14_0
+MovementActionFunc_x14_0: @ 80650A8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -15980,17 +15980,17 @@ sub_80650A8: @ 80650A8
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80650D4
+ bl MovementActionFunc_x14_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80650A8
+ thumb_func_end MovementActionFunc_x14_0
- thumb_func_start sub_80650D4
-sub_80650D4: @ 80650D4
+ thumb_func_start MovementActionFunc_x14_1
+MovementActionFunc_x14_1: @ 80650D4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16013,10 +16013,10 @@ _080650F8:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80650D4
+ thumb_func_end MovementActionFunc_x14_1
- thumb_func_start sub_8065100
-sub_8065100: @ 8065100
+ thumb_func_start MovementActionFunc_x15_0
+MovementActionFunc_x15_0: @ 8065100
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -16029,17 +16029,17 @@ sub_8065100: @ 8065100
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806512C
+ bl MovementActionFunc_x15_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065100
+ thumb_func_end MovementActionFunc_x15_0
- thumb_func_start sub_806512C
-sub_806512C: @ 806512C
+ thumb_func_start MovementActionFunc_x15_1
+MovementActionFunc_x15_1: @ 806512C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16062,10 +16062,10 @@ _08065150:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806512C
+ thumb_func_end MovementActionFunc_x15_1
- thumb_func_start sub_8065158
-sub_8065158: @ 8065158
+ thumb_func_start MovementActionFunc_x16_0
+MovementActionFunc_x16_0: @ 8065158
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -16078,17 +16078,17 @@ sub_8065158: @ 8065158
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065184
+ bl MovementActionFunc_x16_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065158
+ thumb_func_end MovementActionFunc_x16_0
- thumb_func_start sub_8065184
-sub_8065184: @ 8065184
+ thumb_func_start MovementActionFunc_x16_1
+MovementActionFunc_x16_1: @ 8065184
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16111,10 +16111,10 @@ _080651A8:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065184
+ thumb_func_end MovementActionFunc_x16_1
- thumb_func_start sub_80651B0
-sub_80651B0: @ 80651B0
+ thumb_func_start MovementActionFunc_x17_0
+MovementActionFunc_x17_0: @ 80651B0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -16127,17 +16127,17 @@ sub_80651B0: @ 80651B0
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80651DC
+ bl MovementActionFunc_x17_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80651B0
+ thumb_func_end MovementActionFunc_x17_0
- thumb_func_start sub_80651DC
-sub_80651DC: @ 80651DC
+ thumb_func_start MovementActionFunc_x17_1
+MovementActionFunc_x17_1: @ 80651DC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16160,7 +16160,7 @@ _08065200:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80651DC
+ thumb_func_end MovementActionFunc_x17_1
thumb_func_start sub_8065208
sub_8065208: @ 8065208
@@ -16170,8 +16170,8 @@ sub_8065208: @ 8065208
bx lr
thumb_func_end sub_8065208
- thumb_func_start sub_8065210
-sub_8065210: @ 8065210
+ thumb_func_start MovementActionFunc_x18_1
+MovementActionFunc_x18_1: @ 8065210
push {lr}
ldrh r0, [r1, 0x34]
subs r0, 0x1
@@ -16188,10 +16188,10 @@ _08065222:
_08065228:
pop {r1}
bx r1
- thumb_func_end sub_8065210
+ thumb_func_end MovementActionFunc_x18_1
- thumb_func_start sub_806522C
-sub_806522C: @ 806522C
+ thumb_func_start MovementActionFunc_x18_0
+MovementActionFunc_x18_0: @ 806522C
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16200,16 +16200,16 @@ sub_806522C: @ 806522C
bl sub_8065208
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8065210
+ bl MovementActionFunc_x18_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806522C
+ thumb_func_end MovementActionFunc_x18_0
- thumb_func_start sub_806524C
-sub_806524C: @ 806524C
+ thumb_func_start MovementActionFunc_x19_0
+MovementActionFunc_x19_0: @ 806524C
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16218,16 +16218,16 @@ sub_806524C: @ 806524C
bl sub_8065208
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8065210
+ bl MovementActionFunc_x18_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806524C
+ thumb_func_end MovementActionFunc_x19_0
- thumb_func_start sub_806526C
-sub_806526C: @ 806526C
+ thumb_func_start MovementActionFunc_x1A_0
+MovementActionFunc_x1A_0: @ 806526C
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16236,16 +16236,16 @@ sub_806526C: @ 806526C
bl sub_8065208
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8065210
+ bl MovementActionFunc_x18_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806526C
+ thumb_func_end MovementActionFunc_x1A_0
- thumb_func_start sub_806528C
-sub_806528C: @ 806528C
+ thumb_func_start MovementActionFunc_x1B_0
+MovementActionFunc_x1B_0: @ 806528C
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16254,16 +16254,16 @@ sub_806528C: @ 806528C
bl sub_8065208
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8065210
+ bl MovementActionFunc_x18_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806528C
+ thumb_func_end MovementActionFunc_x1B_0
- thumb_func_start sub_80652AC
-sub_80652AC: @ 80652AC
+ thumb_func_start MovementActionFunc_x1C_0
+MovementActionFunc_x1C_0: @ 80652AC
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16272,16 +16272,16 @@ sub_80652AC: @ 80652AC
bl sub_8065208
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8065210
+ bl MovementActionFunc_x18_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80652AC
+ thumb_func_end MovementActionFunc_x1C_0
- thumb_func_start sub_80652CC
-sub_80652CC: @ 80652CC
+ thumb_func_start MovementActionFunc_x1D_0
+MovementActionFunc_x1D_0: @ 80652CC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16290,16 +16290,16 @@ sub_80652CC: @ 80652CC
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80652EC
+ bl MovementActionFunc_x1D_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80652CC
+ thumb_func_end MovementActionFunc_x1D_0
- thumb_func_start sub_80652EC
-sub_80652EC: @ 80652EC
+ thumb_func_start MovementActionFunc_x1D_1
+MovementActionFunc_x1D_1: @ 80652EC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -16316,10 +16316,10 @@ _08065304:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80652EC
+ thumb_func_end MovementActionFunc_x1D_1
- thumb_func_start sub_806530C
-sub_806530C: @ 806530C
+ thumb_func_start MovementActionFunc_x1E_0
+MovementActionFunc_x1E_0: @ 806530C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16328,16 +16328,16 @@ sub_806530C: @ 806530C
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806532C
+ bl MovementActionFunc_x1E_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806530C
+ thumb_func_end MovementActionFunc_x1E_0
- thumb_func_start sub_806532C
-sub_806532C: @ 806532C
+ thumb_func_start MovementActionFunc_x1E_1
+MovementActionFunc_x1E_1: @ 806532C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -16354,10 +16354,10 @@ _08065344:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806532C
+ thumb_func_end MovementActionFunc_x1E_1
- thumb_func_start sub_806534C
-sub_806534C: @ 806534C
+ thumb_func_start MovementActionFunc_x1F_0
+MovementActionFunc_x1F_0: @ 806534C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16366,16 +16366,16 @@ sub_806534C: @ 806534C
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806536C
+ bl MovementActionFunc_x1F_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806534C
+ thumb_func_end MovementActionFunc_x1F_0
- thumb_func_start sub_806536C
-sub_806536C: @ 806536C
+ thumb_func_start MovementActionFunc_x1F_1
+MovementActionFunc_x1F_1: @ 806536C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -16392,10 +16392,10 @@ _08065384:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806536C
+ thumb_func_end MovementActionFunc_x1F_1
- thumb_func_start sub_806538C
-sub_806538C: @ 806538C
+ thumb_func_start MovementActionFunc_x20_0
+MovementActionFunc_x20_0: @ 806538C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16404,16 +16404,16 @@ sub_806538C: @ 806538C
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80653AC
+ bl MovementActionFunc_x20_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806538C
+ thumb_func_end MovementActionFunc_x20_0
- thumb_func_start sub_80653AC
-sub_80653AC: @ 80653AC
+ thumb_func_start MovementActionFunc_x20_1
+MovementActionFunc_x20_1: @ 80653AC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -16430,7 +16430,7 @@ _080653C4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80653AC
+ thumb_func_end MovementActionFunc_x20_1
thumb_func_start sub_80653CC
sub_80653CC: @ 80653CC
@@ -16457,8 +16457,8 @@ _080653F0:
bx r1
thumb_func_end sub_80653CC
- thumb_func_start sub_80653F8
-sub_80653F8: @ 80653F8
+ thumb_func_start MovementActionFunc_xA0_0
+MovementActionFunc_xA0_0: @ 80653F8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16482,16 +16482,16 @@ _0806541A:
bl sub_8064678
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065438
+ bl MovementActionFunc_xA0_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80653F8
+ thumb_func_end MovementActionFunc_xA0_0
- thumb_func_start sub_8065438
-sub_8065438: @ 8065438
+ thumb_func_start MovementActionFunc_xA0_1
+MovementActionFunc_xA0_1: @ 8065438
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16513,10 +16513,10 @@ _0806545C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065438
+ thumb_func_end MovementActionFunc_xA0_1
- thumb_func_start sub_8065464
-sub_8065464: @ 8065464
+ thumb_func_start MovementActionFunc_xA1_0
+MovementActionFunc_xA1_0: @ 8065464
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16540,16 +16540,16 @@ _08065486:
bl sub_8064678
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80654A4
+ bl MovementActionFunc_xA1_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065464
+ thumb_func_end MovementActionFunc_xA1_0
- thumb_func_start sub_80654A4
-sub_80654A4: @ 80654A4
+ thumb_func_start MovementActionFunc_xA1_1
+MovementActionFunc_xA1_1: @ 80654A4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16571,10 +16571,10 @@ _080654C8:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80654A4
+ thumb_func_end MovementActionFunc_xA1_1
- thumb_func_start sub_80654D0
-sub_80654D0: @ 80654D0
+ thumb_func_start MovementActionFunc_xA2_0
+MovementActionFunc_xA2_0: @ 80654D0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16598,16 +16598,16 @@ _080654F2:
bl sub_8064678
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065510
+ bl MovementActionFunc_xA2_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80654D0
+ thumb_func_end MovementActionFunc_xA2_0
- thumb_func_start sub_8065510
-sub_8065510: @ 8065510
+ thumb_func_start MovementActionFunc_xA2_1
+MovementActionFunc_xA2_1: @ 8065510
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16629,10 +16629,10 @@ _08065534:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065510
+ thumb_func_end MovementActionFunc_xA2_1
- thumb_func_start sub_806553C
-sub_806553C: @ 806553C
+ thumb_func_start MovementActionFunc_xA3_0
+MovementActionFunc_xA3_0: @ 806553C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16656,16 +16656,16 @@ _0806555E:
bl sub_8064678
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806557C
+ bl MovementActionFunc_xA3_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806553C
+ thumb_func_end MovementActionFunc_xA3_0
- thumb_func_start sub_806557C
-sub_806557C: @ 806557C
+ thumb_func_start MovementActionFunc_xA3_1
+MovementActionFunc_xA3_1: @ 806557C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -16687,7 +16687,7 @@ _080655A0:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806557C
+ thumb_func_end MovementActionFunc_xA3_1
thumb_func_start sub_80655A8
sub_80655A8: @ 80655A8
@@ -16713,8 +16713,8 @@ sub_80655A8: @ 80655A8
bx r0
thumb_func_end sub_80655A8
- thumb_func_start sub_80655D4
-sub_80655D4: @ 80655D4
+ thumb_func_start MovementActionFunc_x04_0
+MovementActionFunc_x04_0: @ 80655D4
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16741,10 +16741,10 @@ _080655F6:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80655D4
+ thumb_func_end MovementActionFunc_x04_0
- thumb_func_start sub_8065610
-sub_8065610: @ 8065610
+ thumb_func_start MovementActionFunc_x05_0
+MovementActionFunc_x05_0: @ 8065610
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16771,10 +16771,10 @@ _08065632:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065610
+ thumb_func_end MovementActionFunc_x05_0
- thumb_func_start sub_806564C
-sub_806564C: @ 806564C
+ thumb_func_start MovementActionFunc_x06_0
+MovementActionFunc_x06_0: @ 806564C
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16801,10 +16801,10 @@ _0806566E:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806564C
+ thumb_func_end MovementActionFunc_x06_0
- thumb_func_start sub_8065688
-sub_8065688: @ 8065688
+ thumb_func_start MovementActionFunc_x07_0
+MovementActionFunc_x07_0: @ 8065688
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16831,7 +16831,7 @@ _080656AA:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065688
+ thumb_func_end MovementActionFunc_x07_0
thumb_func_start sub_80656C4
sub_80656C4: @ 80656C4
@@ -16871,8 +16871,8 @@ sub_80656C4: @ 80656C4
bx r0
thumb_func_end sub_80656C4
- thumb_func_start sub_806570C
-sub_806570C: @ 806570C
+ thumb_func_start MovementActionFunc_x25_1
+MovementActionFunc_x25_1: @ 806570C
push {lr}
ldrh r0, [r1, 0x34]
subs r0, 0x1
@@ -16895,10 +16895,10 @@ _0806571E:
_08065730:
pop {r1}
bx r1
- thumb_func_end sub_806570C
+ thumb_func_end MovementActionFunc_x25_1
- thumb_func_start sub_8065734
-sub_8065734: @ 8065734
+ thumb_func_start MovementActionFunc_x21_1
+MovementActionFunc_x21_1: @ 8065734
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -16923,16 +16923,16 @@ sub_8065734: @ 8065734
_0806575E:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065734
+ thumb_func_end MovementActionFunc_x21_1
- thumb_func_start sub_8065770
-sub_8065770: @ 8065770
+ thumb_func_start MovementActionFunc_x21_0
+MovementActionFunc_x21_0: @ 8065770
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -16950,17 +16950,17 @@ sub_8065770: @ 8065770
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065734
+ bl MovementActionFunc_x21_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065770
+ thumb_func_end MovementActionFunc_x21_0
- thumb_func_start sub_80657A8
-sub_80657A8: @ 80657A8
+ thumb_func_start MovementActionFunc_x22_0
+MovementActionFunc_x22_0: @ 80657A8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -16978,17 +16978,17 @@ sub_80657A8: @ 80657A8
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065734
+ bl MovementActionFunc_x21_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80657A8
+ thumb_func_end MovementActionFunc_x22_0
- thumb_func_start sub_80657E0
-sub_80657E0: @ 80657E0
+ thumb_func_start MovementActionFunc_x23_0
+MovementActionFunc_x23_0: @ 80657E0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17006,17 +17006,17 @@ sub_80657E0: @ 80657E0
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065734
+ bl MovementActionFunc_x21_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80657E0
+ thumb_func_end MovementActionFunc_x23_0
- thumb_func_start sub_8065818
-sub_8065818: @ 8065818
+ thumb_func_start MovementActionFunc_x24_0
+MovementActionFunc_x24_0: @ 8065818
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17034,17 +17034,17 @@ sub_8065818: @ 8065818
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065734
+ bl MovementActionFunc_x21_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065818
+ thumb_func_end MovementActionFunc_x24_0
- thumb_func_start sub_8065850
-sub_8065850: @ 8065850
+ thumb_func_start MovementActionFunc_x25_0
+MovementActionFunc_x25_0: @ 8065850
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17062,17 +17062,17 @@ sub_8065850: @ 8065850
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065850
+ thumb_func_end MovementActionFunc_x25_0
- thumb_func_start sub_8065888
-sub_8065888: @ 8065888
+ thumb_func_start MovementActionFunc_x26_0
+MovementActionFunc_x26_0: @ 8065888
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17090,17 +17090,17 @@ sub_8065888: @ 8065888
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065888
+ thumb_func_end MovementActionFunc_x26_0
- thumb_func_start sub_80658C0
-sub_80658C0: @ 80658C0
+ thumb_func_start MovementActionFunc_x27_0
+MovementActionFunc_x27_0: @ 80658C0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17118,17 +17118,17 @@ sub_80658C0: @ 80658C0
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80658C0
+ thumb_func_end MovementActionFunc_x27_0
- thumb_func_start sub_80658F8
-sub_80658F8: @ 80658F8
+ thumb_func_start MovementActionFunc_x28_0
+MovementActionFunc_x28_0: @ 80658F8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17146,17 +17146,17 @@ sub_80658F8: @ 80658F8
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80658F8
+ thumb_func_end MovementActionFunc_x28_0
- thumb_func_start sub_8065930
-sub_8065930: @ 8065930
+ thumb_func_start MovementActionFunc_x29_0
+MovementActionFunc_x29_0: @ 8065930
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17174,17 +17174,17 @@ sub_8065930: @ 8065930
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065930
+ thumb_func_end MovementActionFunc_x29_0
- thumb_func_start sub_8065968
-sub_8065968: @ 8065968
+ thumb_func_start MovementActionFunc_x2A_0
+MovementActionFunc_x2A_0: @ 8065968
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17202,17 +17202,17 @@ sub_8065968: @ 8065968
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065968
+ thumb_func_end MovementActionFunc_x2A_0
- thumb_func_start sub_80659A0
-sub_80659A0: @ 80659A0
+ thumb_func_start MovementActionFunc_x2B_0
+MovementActionFunc_x2B_0: @ 80659A0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17230,17 +17230,17 @@ sub_80659A0: @ 80659A0
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80659A0
+ thumb_func_end MovementActionFunc_x2B_0
- thumb_func_start sub_80659D8
-sub_80659D8: @ 80659D8
+ thumb_func_start MovementActionFunc_x2C_0
+MovementActionFunc_x2C_0: @ 80659D8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17258,17 +17258,17 @@ sub_80659D8: @ 80659D8
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80659D8
+ thumb_func_end MovementActionFunc_x2C_0
- thumb_func_start sub_8065A10
-sub_8065A10: @ 8065A10
+ thumb_func_start MovementActionFunc_x2D_0
+MovementActionFunc_x2D_0: @ 8065A10
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17286,17 +17286,17 @@ sub_8065A10: @ 8065A10
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065A10
+ thumb_func_end MovementActionFunc_x2D_0
- thumb_func_start sub_8065A48
-sub_8065A48: @ 8065A48
+ thumb_func_start MovementActionFunc_x2E_0
+MovementActionFunc_x2E_0: @ 8065A48
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17314,17 +17314,17 @@ sub_8065A48: @ 8065A48
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065A48
+ thumb_func_end MovementActionFunc_x2E_0
- thumb_func_start sub_8065A80
-sub_8065A80: @ 8065A80
+ thumb_func_start MovementActionFunc_x2F_0
+MovementActionFunc_x2F_0: @ 8065A80
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17342,17 +17342,17 @@ sub_8065A80: @ 8065A80
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065A80
+ thumb_func_end MovementActionFunc_x2F_0
- thumb_func_start sub_8065AB8
-sub_8065AB8: @ 8065AB8
+ thumb_func_start MovementActionFunc_x30_0
+MovementActionFunc_x30_0: @ 8065AB8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -17370,17 +17370,17 @@ sub_8065AB8: @ 8065AB8
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065AB8
+ thumb_func_end MovementActionFunc_x30_0
- thumb_func_start sub_8065AF0
-sub_8065AF0: @ 8065AF0
+ thumb_func_start MovementActionFunc_x31_0
+MovementActionFunc_x31_0: @ 8065AF0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17389,16 +17389,16 @@ sub_8065AF0: @ 8065AF0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065B10
+ bl MovementActionFunc_x31_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065AF0
+ thumb_func_end MovementActionFunc_x31_0
- thumb_func_start sub_8065B10
-sub_8065B10: @ 8065B10
+ thumb_func_start MovementActionFunc_x31_1
+MovementActionFunc_x31_1: @ 8065B10
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17415,10 +17415,10 @@ _08065B28:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065B10
+ thumb_func_end MovementActionFunc_x31_1
- thumb_func_start sub_8065B30
-sub_8065B30: @ 8065B30
+ thumb_func_start MovementActionFunc_x32_0
+MovementActionFunc_x32_0: @ 8065B30
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17427,16 +17427,16 @@ sub_8065B30: @ 8065B30
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065B50
+ bl MovementActionFunc_x32_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065B30
+ thumb_func_end MovementActionFunc_x32_0
- thumb_func_start sub_8065B50
-sub_8065B50: @ 8065B50
+ thumb_func_start MovementActionFunc_x32_1
+MovementActionFunc_x32_1: @ 8065B50
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17453,10 +17453,10 @@ _08065B68:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065B50
+ thumb_func_end MovementActionFunc_x32_1
- thumb_func_start sub_8065B70
-sub_8065B70: @ 8065B70
+ thumb_func_start MovementActionFunc_x33_0
+MovementActionFunc_x33_0: @ 8065B70
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17465,16 +17465,16 @@ sub_8065B70: @ 8065B70
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065B90
+ bl MovementActionFunc_x33_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065B70
+ thumb_func_end MovementActionFunc_x33_0
- thumb_func_start sub_8065B90
-sub_8065B90: @ 8065B90
+ thumb_func_start MovementActionFunc_x33_1
+MovementActionFunc_x33_1: @ 8065B90
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17491,10 +17491,10 @@ _08065BA8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065B90
+ thumb_func_end MovementActionFunc_x33_1
- thumb_func_start sub_8065BB0
-sub_8065BB0: @ 8065BB0
+ thumb_func_start MovementActionFunc_x34_0
+MovementActionFunc_x34_0: @ 8065BB0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17503,16 +17503,16 @@ sub_8065BB0: @ 8065BB0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065BD0
+ bl MovementActionFunc_x34_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065BB0
+ thumb_func_end MovementActionFunc_x34_0
- thumb_func_start sub_8065BD0
-sub_8065BD0: @ 8065BD0
+ thumb_func_start MovementActionFunc_x34_1
+MovementActionFunc_x34_1: @ 8065BD0
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17529,10 +17529,10 @@ _08065BE8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065BD0
+ thumb_func_end MovementActionFunc_x34_1
- thumb_func_start sub_8065BF0
-sub_8065BF0: @ 8065BF0
+ thumb_func_start MovementActionFunc_x35_0
+MovementActionFunc_x35_0: @ 8065BF0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17541,16 +17541,16 @@ sub_8065BF0: @ 8065BF0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065C10
+ bl MovementActionFunc_x35_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065BF0
+ thumb_func_end MovementActionFunc_x35_0
- thumb_func_start sub_8065C10
-sub_8065C10: @ 8065C10
+ thumb_func_start MovementActionFunc_x35_1
+MovementActionFunc_x35_1: @ 8065C10
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17567,10 +17567,10 @@ _08065C28:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065C10
+ thumb_func_end MovementActionFunc_x35_1
- thumb_func_start sub_8065C30
-sub_8065C30: @ 8065C30
+ thumb_func_start MovementActionFunc_x36_0
+MovementActionFunc_x36_0: @ 8065C30
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17579,16 +17579,16 @@ sub_8065C30: @ 8065C30
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065C50
+ bl MovementActionFunc_x36_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065C30
+ thumb_func_end MovementActionFunc_x36_0
- thumb_func_start sub_8065C50
-sub_8065C50: @ 8065C50
+ thumb_func_start MovementActionFunc_x36_1
+MovementActionFunc_x36_1: @ 8065C50
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17605,10 +17605,10 @@ _08065C68:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065C50
+ thumb_func_end MovementActionFunc_x36_1
- thumb_func_start sub_8065C70
-sub_8065C70: @ 8065C70
+ thumb_func_start MovementActionFunc_x37_0
+MovementActionFunc_x37_0: @ 8065C70
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17617,16 +17617,16 @@ sub_8065C70: @ 8065C70
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065C90
+ bl MovementActionFunc_x37_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065C70
+ thumb_func_end MovementActionFunc_x37_0
- thumb_func_start sub_8065C90
-sub_8065C90: @ 8065C90
+ thumb_func_start MovementActionFunc_x37_1
+MovementActionFunc_x37_1: @ 8065C90
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17643,10 +17643,10 @@ _08065CA8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065C90
+ thumb_func_end MovementActionFunc_x37_1
- thumb_func_start sub_8065CB0
-sub_8065CB0: @ 8065CB0
+ thumb_func_start MovementActionFunc_x38_0
+MovementActionFunc_x38_0: @ 8065CB0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17655,16 +17655,16 @@ sub_8065CB0: @ 8065CB0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065CD0
+ bl MovementActionFunc_x38_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065CB0
+ thumb_func_end MovementActionFunc_x38_0
- thumb_func_start sub_8065CD0
-sub_8065CD0: @ 8065CD0
+ thumb_func_start MovementActionFunc_x38_1
+MovementActionFunc_x38_1: @ 8065CD0
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17681,10 +17681,10 @@ _08065CE8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065CD0
+ thumb_func_end MovementActionFunc_x38_1
- thumb_func_start sub_8065CF0
-sub_8065CF0: @ 8065CF0
+ thumb_func_start MovementActionFunc_x39_0
+MovementActionFunc_x39_0: @ 8065CF0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17693,16 +17693,16 @@ sub_8065CF0: @ 8065CF0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065D10
+ bl MovementActionFunc_x39_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065CF0
+ thumb_func_end MovementActionFunc_x39_0
- thumb_func_start sub_8065D10
-sub_8065D10: @ 8065D10
+ thumb_func_start MovementActionFunc_x39_1
+MovementActionFunc_x39_1: @ 8065D10
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17719,10 +17719,10 @@ _08065D28:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065D10
+ thumb_func_end MovementActionFunc_x39_1
- thumb_func_start sub_8065D30
-sub_8065D30: @ 8065D30
+ thumb_func_start MovementActionFunc_x3A_0
+MovementActionFunc_x3A_0: @ 8065D30
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17731,16 +17731,16 @@ sub_8065D30: @ 8065D30
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065D50
+ bl MovementActionFunc_x3A_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065D30
+ thumb_func_end MovementActionFunc_x3A_0
- thumb_func_start sub_8065D50
-sub_8065D50: @ 8065D50
+ thumb_func_start MovementActionFunc_x3A_1
+MovementActionFunc_x3A_1: @ 8065D50
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17757,10 +17757,10 @@ _08065D68:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065D50
+ thumb_func_end MovementActionFunc_x3A_1
- thumb_func_start sub_8065D70
-sub_8065D70: @ 8065D70
+ thumb_func_start MovementActionFunc_x3B_0
+MovementActionFunc_x3B_0: @ 8065D70
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17769,16 +17769,16 @@ sub_8065D70: @ 8065D70
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065D90
+ bl MovementActionFunc_x3B_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065D70
+ thumb_func_end MovementActionFunc_x3B_0
- thumb_func_start sub_8065D90
-sub_8065D90: @ 8065D90
+ thumb_func_start MovementActionFunc_x3B_1
+MovementActionFunc_x3B_1: @ 8065D90
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17795,10 +17795,10 @@ _08065DA8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065D90
+ thumb_func_end MovementActionFunc_x3B_1
- thumb_func_start sub_8065DB0
-sub_8065DB0: @ 8065DB0
+ thumb_func_start MovementActionFunc_x3C_0
+MovementActionFunc_x3C_0: @ 8065DB0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -17807,16 +17807,16 @@ sub_8065DB0: @ 8065DB0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065DD0
+ bl MovementActionFunc_x3C_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065DB0
+ thumb_func_end MovementActionFunc_x3C_0
- thumb_func_start sub_8065DD0
-sub_8065DD0: @ 8065DD0
+ thumb_func_start MovementActionFunc_x3C_1
+MovementActionFunc_x3C_1: @ 8065DD0
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17833,7 +17833,7 @@ _08065DE8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065DD0
+ thumb_func_end MovementActionFunc_x3C_1
thumb_func_start do_run_south_anim
do_run_south_anim: @ 8065DF0
@@ -17844,7 +17844,7 @@ do_run_south_anim: @ 8065DF0
bl do_run_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065E10
+ bl MovementActionFunc_x3D_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
@@ -17852,8 +17852,8 @@ do_run_south_anim: @ 8065DF0
bx r1
thumb_func_end do_run_south_anim
- thumb_func_start sub_8065E10
-sub_8065E10: @ 8065E10
+ thumb_func_start MovementActionFunc_x3D_1
+MovementActionFunc_x3D_1: @ 8065E10
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17870,7 +17870,7 @@ _08065E28:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065E10
+ thumb_func_end MovementActionFunc_x3D_1
thumb_func_start do_run_north_anim
do_run_north_anim: @ 8065E30
@@ -17881,7 +17881,7 @@ do_run_north_anim: @ 8065E30
bl do_run_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065E50
+ bl MovementActionFunc_x3E_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
@@ -17889,8 +17889,8 @@ do_run_north_anim: @ 8065E30
bx r1
thumb_func_end do_run_north_anim
- thumb_func_start sub_8065E50
-sub_8065E50: @ 8065E50
+ thumb_func_start MovementActionFunc_x3E_1
+MovementActionFunc_x3E_1: @ 8065E50
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17907,7 +17907,7 @@ _08065E68:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065E50
+ thumb_func_end MovementActionFunc_x3E_1
thumb_func_start do_run_west_anim
do_run_west_anim: @ 8065E70
@@ -17918,7 +17918,7 @@ do_run_west_anim: @ 8065E70
bl do_run_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065E90
+ bl MovementActionFunc_x3F_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
@@ -17926,8 +17926,8 @@ do_run_west_anim: @ 8065E70
bx r1
thumb_func_end do_run_west_anim
- thumb_func_start sub_8065E90
-sub_8065E90: @ 8065E90
+ thumb_func_start MovementActionFunc_x3F_1
+MovementActionFunc_x3F_1: @ 8065E90
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17944,7 +17944,7 @@ _08065EA8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065E90
+ thumb_func_end MovementActionFunc_x3F_1
thumb_func_start do_run_east_anim
do_run_east_anim: @ 8065EB0
@@ -17955,7 +17955,7 @@ do_run_east_anim: @ 8065EB0
bl do_run_anim
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065ED0
+ bl MovementActionFunc_x40_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
@@ -17963,8 +17963,8 @@ do_run_east_anim: @ 8065EB0
bx r1
thumb_func_end do_run_east_anim
- thumb_func_start sub_8065ED0
-sub_8065ED0: @ 8065ED0
+ thumb_func_start MovementActionFunc_x40_1
+MovementActionFunc_x40_1: @ 8065ED0
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -17981,7 +17981,7 @@ _08065EE8:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065ED0
+ thumb_func_end MovementActionFunc_x40_1
thumb_func_start sub_8065EF0
sub_8065EF0: @ 8065EF0
@@ -18094,8 +18094,8 @@ _08065FBE:
bx r1
thumb_func_end sub_8065F8C
- thumb_func_start sub_8065FC4
-sub_8065FC4: @ 8065FC4
+ thumb_func_start MovementActionFunc_x41_0
+MovementActionFunc_x41_0: @ 8065FC4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18103,16 +18103,16 @@ sub_8065FC4: @ 8065FC4
bl sub_8065F60
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8065FE4
+ bl MovementActionFunc_x41_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8065FC4
+ thumb_func_end MovementActionFunc_x41_0
- thumb_func_start sub_8065FE4
-sub_8065FE4: @ 8065FE4
+ thumb_func_start MovementActionFunc_x41_1
+MovementActionFunc_x41_1: @ 8065FE4
push {r4,lr}
adds r4, r1, 0
bl sub_8065F8C
@@ -18129,10 +18129,10 @@ _08065FFC:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8065FE4
+ thumb_func_end MovementActionFunc_x41_1
- thumb_func_start sub_8066004
-sub_8066004: @ 8066004
+ thumb_func_start MovementActionFunc_x42_0
+MovementActionFunc_x42_0: @ 8066004
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18140,16 +18140,16 @@ sub_8066004: @ 8066004
bl sub_8065F60
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066024
+ bl MovementActionFunc_x42_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066004
+ thumb_func_end MovementActionFunc_x42_0
- thumb_func_start sub_8066024
-sub_8066024: @ 8066024
+ thumb_func_start MovementActionFunc_x42_1
+MovementActionFunc_x42_1: @ 8066024
push {r4,lr}
adds r4, r1, 0
bl sub_8065F8C
@@ -18166,10 +18166,10 @@ _0806603C:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066024
+ thumb_func_end MovementActionFunc_x42_1
- thumb_func_start sub_8066044
-sub_8066044: @ 8066044
+ thumb_func_start MovementActionFunc_x43_0
+MovementActionFunc_x43_0: @ 8066044
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18177,16 +18177,16 @@ sub_8066044: @ 8066044
bl sub_8065F60
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066064
+ bl MovementActionFunc_x43_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066044
+ thumb_func_end MovementActionFunc_x43_0
- thumb_func_start sub_8066064
-sub_8066064: @ 8066064
+ thumb_func_start MovementActionFunc_x43_1
+MovementActionFunc_x43_1: @ 8066064
push {r4,lr}
adds r4, r1, 0
bl sub_8065F8C
@@ -18203,10 +18203,10 @@ _0806607C:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066064
+ thumb_func_end MovementActionFunc_x43_1
- thumb_func_start sub_8066084
-sub_8066084: @ 8066084
+ thumb_func_start MovementActionFunc_x44_0
+MovementActionFunc_x44_0: @ 8066084
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18214,16 +18214,16 @@ sub_8066084: @ 8066084
bl sub_8065F60
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80660A4
+ bl MovementActionFunc_x44_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066084
+ thumb_func_end MovementActionFunc_x44_0
- thumb_func_start sub_80660A4
-sub_80660A4: @ 80660A4
+ thumb_func_start MovementActionFunc_x44_1
+MovementActionFunc_x44_1: @ 80660A4
push {r4,lr}
adds r4, r1, 0
bl sub_8065F8C
@@ -18240,7 +18240,7 @@ _080660BC:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80660A4
+ thumb_func_end MovementActionFunc_x44_1
thumb_func_start npc_set_direction_and_anim__an_proceed
npc_set_direction_and_anim__an_proceed: @ 80660C4
@@ -18266,8 +18266,8 @@ npc_set_direction_and_anim__an_proceed: @ 80660C4
bx r0
thumb_func_end npc_set_direction_and_anim__an_proceed
- thumb_func_start sub_80660F0
-sub_80660F0: @ 80660F0
+ thumb_func_start MovementActionFunc_x45_0
+MovementActionFunc_x45_0: @ 80660F0
push {lr}
ldrb r2, [r0, 0x18]
lsrs r2, 4
@@ -18278,10 +18278,10 @@ sub_80660F0: @ 80660F0
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_80660F0
+ thumb_func_end MovementActionFunc_x45_0
- thumb_func_start sub_8066108
-sub_8066108: @ 8066108
+ thumb_func_start MovementActionFunc_x45_1
+MovementActionFunc_x45_1: @ 8066108
push {r4,lr}
adds r4, r1, 0
adds r0, r4, 0
@@ -18299,7 +18299,7 @@ _08066122:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066108
+ thumb_func_end MovementActionFunc_x45_1
thumb_func_start sub_8066128
sub_8066128: @ 8066128
@@ -18327,8 +18327,8 @@ sub_8066128: @ 8066128
bx r0
thumb_func_end sub_8066128
- thumb_func_start sub_806615C
-sub_806615C: @ 806615C
+ thumb_func_start MovementActionFunc_x46_0
+MovementActionFunc_x46_0: @ 806615C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18336,16 +18336,16 @@ sub_806615C: @ 806615C
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806617C
+ bl MovementActionFunc_x46_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806615C
+ thumb_func_end MovementActionFunc_x46_0
- thumb_func_start sub_806617C
-sub_806617C: @ 806617C
+ thumb_func_start MovementActionFunc_x46_1
+MovementActionFunc_x46_1: @ 806617C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18367,10 +18367,10 @@ _0806619E:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806617C
+ thumb_func_end MovementActionFunc_x46_1
- thumb_func_start sub_80661A4
-sub_80661A4: @ 80661A4
+ thumb_func_start MovementActionFunc_x47_0
+MovementActionFunc_x47_0: @ 80661A4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18378,16 +18378,16 @@ sub_80661A4: @ 80661A4
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80661C4
+ bl MovementActionFunc_x47_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80661A4
+ thumb_func_end MovementActionFunc_x47_0
- thumb_func_start sub_80661C4
-sub_80661C4: @ 80661C4
+ thumb_func_start MovementActionFunc_x47_1
+MovementActionFunc_x47_1: @ 80661C4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18409,10 +18409,10 @@ _080661E6:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80661C4
+ thumb_func_end MovementActionFunc_x47_1
- thumb_func_start sub_80661EC
-sub_80661EC: @ 80661EC
+ thumb_func_start MovementActionFunc_x48_0
+MovementActionFunc_x48_0: @ 80661EC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18420,16 +18420,16 @@ sub_80661EC: @ 80661EC
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806620C
+ bl MovementActionFunc_x48_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80661EC
+ thumb_func_end MovementActionFunc_x48_0
- thumb_func_start sub_806620C
-sub_806620C: @ 806620C
+ thumb_func_start MovementActionFunc_x48_1
+MovementActionFunc_x48_1: @ 806620C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18451,10 +18451,10 @@ _0806622E:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806620C
+ thumb_func_end MovementActionFunc_x48_1
- thumb_func_start sub_8066234
-sub_8066234: @ 8066234
+ thumb_func_start MovementActionFunc_x49_0
+MovementActionFunc_x49_0: @ 8066234
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18462,16 +18462,16 @@ sub_8066234: @ 8066234
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066254
+ bl MovementActionFunc_x49_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066234
+ thumb_func_end MovementActionFunc_x49_0
- thumb_func_start sub_8066254
-sub_8066254: @ 8066254
+ thumb_func_start MovementActionFunc_x49_1
+MovementActionFunc_x49_1: @ 8066254
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18493,10 +18493,10 @@ _08066276:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066254
+ thumb_func_end MovementActionFunc_x49_1
- thumb_func_start sub_806627C
-sub_806627C: @ 806627C
+ thumb_func_start MovementActionFunc_xA6_0
+MovementActionFunc_xA6_0: @ 806627C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18504,16 +18504,16 @@ sub_806627C: @ 806627C
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806629C
+ bl MovementActionFunc_xA6_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806627C
+ thumb_func_end MovementActionFunc_xA6_0
- thumb_func_start sub_806629C
-sub_806629C: @ 806629C
+ thumb_func_start MovementActionFunc_xA6_1
+MovementActionFunc_xA6_1: @ 806629C
push {r4,lr}
adds r4, r1, 0
bl sub_8065040
@@ -18530,10 +18530,10 @@ _080662B4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806629C
+ thumb_func_end MovementActionFunc_xA6_1
- thumb_func_start sub_80662BC
-sub_80662BC: @ 80662BC
+ thumb_func_start MovementActionFunc_xA7_0
+MovementActionFunc_xA7_0: @ 80662BC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18541,16 +18541,16 @@ sub_80662BC: @ 80662BC
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80662DC
+ bl MovementActionFunc_xA7_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80662BC
+ thumb_func_end MovementActionFunc_xA7_0
- thumb_func_start sub_80662DC
-sub_80662DC: @ 80662DC
+ thumb_func_start MovementActionFunc_xA7_1
+MovementActionFunc_xA7_1: @ 80662DC
push {r4,lr}
adds r4, r1, 0
bl sub_8065040
@@ -18567,10 +18567,10 @@ _080662F4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80662DC
+ thumb_func_end MovementActionFunc_xA7_1
- thumb_func_start sub_80662FC
-sub_80662FC: @ 80662FC
+ thumb_func_start MovementActionFunc_xA8_0
+MovementActionFunc_xA8_0: @ 80662FC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18578,16 +18578,16 @@ sub_80662FC: @ 80662FC
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806631C
+ bl MovementActionFunc_xA8_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80662FC
+ thumb_func_end MovementActionFunc_xA8_0
- thumb_func_start sub_806631C
-sub_806631C: @ 806631C
+ thumb_func_start MovementActionFunc_xA8_1
+MovementActionFunc_xA8_1: @ 806631C
push {r4,lr}
adds r4, r1, 0
bl sub_8065040
@@ -18604,10 +18604,10 @@ _08066334:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806631C
+ thumb_func_end MovementActionFunc_xA8_1
- thumb_func_start sub_806633C
-sub_806633C: @ 806633C
+ thumb_func_start MovementActionFunc_xA9_0
+MovementActionFunc_xA9_0: @ 806633C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18615,16 +18615,16 @@ sub_806633C: @ 806633C
bl sub_8066128
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806635C
+ bl MovementActionFunc_xA9_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806633C
+ thumb_func_end MovementActionFunc_xA9_0
- thumb_func_start sub_806635C
-sub_806635C: @ 806635C
+ thumb_func_start MovementActionFunc_xA9_1
+MovementActionFunc_xA9_1: @ 806635C
push {r4,lr}
adds r4, r1, 0
bl sub_8065040
@@ -18641,10 +18641,10 @@ _08066374:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806635C
+ thumb_func_end MovementActionFunc_xA9_1
- thumb_func_start sub_806637C
-sub_806637C: @ 806637C
+ thumb_func_start MovementActionFunc_x4A_0
+MovementActionFunc_x4A_0: @ 806637C
push {r4-r6,lr}
sub sp, 0x4
adds r5, r0, 0
@@ -18678,7 +18678,7 @@ sub_806637C: @ 806637C
lsrs r2, 24
adds r0, r5, 0
adds r1, r6, 0
- bl an_look_any
+ bl FaceDirection
_080663C6:
movs r0, 0x1
strh r0, [r6, 0x32]
@@ -18688,10 +18688,10 @@ _080663C6:
bx r1
.align 2, 0
_080663D4: .4byte gObjectEvents
- thumb_func_end sub_806637C
+ thumb_func_end MovementActionFunc_x4A_0
- thumb_func_start sub_80663D8
-sub_80663D8: @ 80663D8
+ thumb_func_start MovementActionFunc_x4B_0
+MovementActionFunc_x4B_0: @ 80663D8
push {r4-r6,lr}
sub sp, 0x4
adds r5, r0, 0
@@ -18728,7 +18728,7 @@ sub_80663D8: @ 80663D8
lsrs r2, 24
adds r0, r5, 0
adds r1, r6, 0
- bl an_look_any
+ bl FaceDirection
_0806642A:
movs r0, 0x1
strh r0, [r6, 0x32]
@@ -18738,10 +18738,10 @@ _0806642A:
bx r1
.align 2, 0
_08066438: .4byte gObjectEvents
- thumb_func_end sub_80663D8
+ thumb_func_end MovementActionFunc_x4B_0
- thumb_func_start sub_806643C
-sub_806643C: @ 806643C
+ thumb_func_start MovementActionFunc_x4C_0
+MovementActionFunc_x4C_0: @ 806643C
ldrb r2, [r0, 0x1]
movs r3, 0x2
orrs r2, r3
@@ -18749,10 +18749,10 @@ sub_806643C: @ 806643C
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_806643C
+ thumb_func_end MovementActionFunc_x4C_0
- thumb_func_start sub_806644C
-sub_806644C: @ 806644C
+ thumb_func_start MovementActionFunc_x4D_0
+MovementActionFunc_x4D_0: @ 806644C
ldrb r3, [r0, 0x1]
movs r2, 0x3
negs r2, r2
@@ -18761,10 +18761,10 @@ sub_806644C: @ 806644C
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_806644C
+ thumb_func_end MovementActionFunc_x4D_0
- thumb_func_start sub_806645C
-sub_806645C: @ 806645C
+ thumb_func_start MovementActionFunc_x4E_0
+MovementActionFunc_x4E_0: @ 806645C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -18777,17 +18777,17 @@ sub_806645C: @ 806645C
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066488
+ bl MovementActionFunc_x4E_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806645C
+ thumb_func_end MovementActionFunc_x4E_0
- thumb_func_start sub_8066488
-sub_8066488: @ 8066488
+ thumb_func_start MovementActionFunc_x4E_1
+MovementActionFunc_x4E_1: @ 8066488
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18810,10 +18810,10 @@ _080664AC:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066488
+ thumb_func_end MovementActionFunc_x4E_1
- thumb_func_start sub_80664B4
-sub_80664B4: @ 80664B4
+ thumb_func_start MovementActionFunc_x4F_0
+MovementActionFunc_x4F_0: @ 80664B4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -18826,17 +18826,17 @@ sub_80664B4: @ 80664B4
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80664E0
+ bl MovementActionFunc_x4F_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80664B4
+ thumb_func_end MovementActionFunc_x4F_0
- thumb_func_start sub_80664E0
-sub_80664E0: @ 80664E0
+ thumb_func_start MovementActionFunc_x4F_1
+MovementActionFunc_x4F_1: @ 80664E0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18859,10 +18859,10 @@ _08066504:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80664E0
+ thumb_func_end MovementActionFunc_x4F_1
- thumb_func_start sub_806650C
-sub_806650C: @ 806650C
+ thumb_func_start MovementActionFunc_x50_0
+MovementActionFunc_x50_0: @ 806650C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -18875,17 +18875,17 @@ sub_806650C: @ 806650C
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066538
+ bl MovementActionFunc_x50_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806650C
+ thumb_func_end MovementActionFunc_x50_0
- thumb_func_start sub_8066538
-sub_8066538: @ 8066538
+ thumb_func_start MovementActionFunc_x50_1
+MovementActionFunc_x50_1: @ 8066538
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18908,10 +18908,10 @@ _0806655C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066538
+ thumb_func_end MovementActionFunc_x50_1
- thumb_func_start sub_8066564
-sub_8066564: @ 8066564
+ thumb_func_start MovementActionFunc_x51_0
+MovementActionFunc_x51_0: @ 8066564
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -18924,17 +18924,17 @@ sub_8066564: @ 8066564
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066590
+ bl MovementActionFunc_x51_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066564
+ thumb_func_end MovementActionFunc_x51_0
- thumb_func_start sub_8066590
-sub_8066590: @ 8066590
+ thumb_func_start MovementActionFunc_x51_1
+MovementActionFunc_x51_1: @ 8066590
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -18957,10 +18957,10 @@ _080665B4:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066590
+ thumb_func_end MovementActionFunc_x51_1
- thumb_func_start sub_80665BC
-sub_80665BC: @ 80665BC
+ thumb_func_start MovementActionFunc_x52_0
+MovementActionFunc_x52_0: @ 80665BC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -18973,17 +18973,17 @@ sub_80665BC: @ 80665BC
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80665E8
+ bl MovementActionFunc_x52_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80665BC
+ thumb_func_end MovementActionFunc_x52_0
- thumb_func_start sub_80665E8
-sub_80665E8: @ 80665E8
+ thumb_func_start MovementActionFunc_x52_1
+MovementActionFunc_x52_1: @ 80665E8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19006,10 +19006,10 @@ _0806660C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80665E8
+ thumb_func_end MovementActionFunc_x52_1
- thumb_func_start sub_8066614
-sub_8066614: @ 8066614
+ thumb_func_start MovementActionFunc_x53_0
+MovementActionFunc_x53_0: @ 8066614
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -19022,17 +19022,17 @@ sub_8066614: @ 8066614
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066640
+ bl MovementActionFunc_x53_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066614
+ thumb_func_end MovementActionFunc_x53_0
- thumb_func_start sub_8066640
-sub_8066640: @ 8066640
+ thumb_func_start MovementActionFunc_x53_1
+MovementActionFunc_x53_1: @ 8066640
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19055,10 +19055,10 @@ _08066664:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066640
+ thumb_func_end MovementActionFunc_x53_1
- thumb_func_start sub_806666C
-sub_806666C: @ 806666C
+ thumb_func_start MovementActionFunc_x54_0
+MovementActionFunc_x54_0: @ 806666C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -19071,17 +19071,17 @@ sub_806666C: @ 806666C
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066698
+ bl MovementActionFunc_x54_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806666C
+ thumb_func_end MovementActionFunc_x54_0
- thumb_func_start sub_8066698
-sub_8066698: @ 8066698
+ thumb_func_start MovementActionFunc_x54_1
+MovementActionFunc_x54_1: @ 8066698
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19104,10 +19104,10 @@ _080666BC:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066698
+ thumb_func_end MovementActionFunc_x54_1
- thumb_func_start sub_80666C4
-sub_80666C4: @ 80666C4
+ thumb_func_start MovementActionFunc_x55_0
+MovementActionFunc_x55_0: @ 80666C4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -19120,17 +19120,17 @@ sub_80666C4: @ 80666C4
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80666F0
+ bl MovementActionFunc_x55_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80666C4
+ thumb_func_end MovementActionFunc_x55_0
- thumb_func_start sub_80666F0
-sub_80666F0: @ 80666F0
+ thumb_func_start MovementActionFunc_x55_1
+MovementActionFunc_x55_1: @ 80666F0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19153,10 +19153,10 @@ _08066714:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80666F0
+ thumb_func_end MovementActionFunc_x55_1
- thumb_func_start sub_806671C
-sub_806671C: @ 806671C
+ thumb_func_start MovementActionFunc_x56_0
+MovementActionFunc_x56_0: @ 806671C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -19169,17 +19169,17 @@ sub_806671C: @ 806671C
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066748
+ bl MovementActionFunc_x56_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806671C
+ thumb_func_end MovementActionFunc_x56_0
- thumb_func_start sub_8066748
-sub_8066748: @ 8066748
+ thumb_func_start MovementActionFunc_x56_1
+MovementActionFunc_x56_1: @ 8066748
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19202,10 +19202,10 @@ _0806676C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066748
+ thumb_func_end MovementActionFunc_x56_1
- thumb_func_start sub_8066774
-sub_8066774: @ 8066774
+ thumb_func_start MovementActionFunc_x57_0
+MovementActionFunc_x57_0: @ 8066774
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -19218,17 +19218,17 @@ sub_8066774: @ 8066774
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80667A0
+ bl MovementActionFunc_x57_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066774
+ thumb_func_end MovementActionFunc_x57_0
- thumb_func_start sub_80667A0
-sub_80667A0: @ 80667A0
+ thumb_func_start MovementActionFunc_x57_1
+MovementActionFunc_x57_1: @ 80667A0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19251,10 +19251,10 @@ _080667C4:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80667A0
+ thumb_func_end MovementActionFunc_x57_1
- thumb_func_start sub_80667CC
-sub_80667CC: @ 80667CC
+ thumb_func_start MovementActionFunc_x58_0
+MovementActionFunc_x58_0: @ 80667CC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -19267,17 +19267,17 @@ sub_80667CC: @ 80667CC
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80667F8
+ bl MovementActionFunc_x58_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80667CC
+ thumb_func_end MovementActionFunc_x58_0
- thumb_func_start sub_80667F8
-sub_80667F8: @ 80667F8
+ thumb_func_start MovementActionFunc_x58_1
+MovementActionFunc_x58_1: @ 80667F8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19300,10 +19300,10 @@ _0806681C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80667F8
+ thumb_func_end MovementActionFunc_x58_1
- thumb_func_start sub_8066824
-sub_8066824: @ 8066824
+ thumb_func_start MovementActionFunc_x59_0
+MovementActionFunc_x59_0: @ 8066824
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -19316,17 +19316,17 @@ sub_8066824: @ 8066824
bl maybe_shadow_1
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066850
+ bl MovementActionFunc_x59_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066824
+ thumb_func_end MovementActionFunc_x59_0
- thumb_func_start sub_8066850
-sub_8066850: @ 8066850
+ thumb_func_start MovementActionFunc_x59_1
+MovementActionFunc_x59_1: @ 8066850
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19349,25 +19349,25 @@ _08066874:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066850
+ thumb_func_end MovementActionFunc_x59_1
- thumb_func_start sub_806687C
-sub_806687C: @ 806687C
+ thumb_func_start MovementActionFunc_x5A_0
+MovementActionFunc_x5A_0: @ 806687C
push {lr}
ldr r3, _08066890 @ =gInitialMovementTypeFacingDirections
ldrb r2, [r0, 0x6]
adds r2, r3
ldrb r2, [r2]
- bl an_look_any
+ bl FaceDirection
movs r0, 0x1
pop {r1}
bx r1
.align 2, 0
_08066890: .4byte gInitialMovementTypeFacingDirections
- thumb_func_end sub_806687C
+ thumb_func_end MovementActionFunc_x5A_0
- thumb_func_start sub_8066894
-sub_8066894: @ 8066894
+ thumb_func_start MovementActionFunc_x5B_0
+MovementActionFunc_x5B_0: @ 8066894
push {lr}
movs r2, 0x1
movs r3, 0x14
@@ -19375,10 +19375,10 @@ sub_8066894: @ 8066894
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_8066894
+ thumb_func_end MovementActionFunc_x5B_0
- thumb_func_start sub_80668A4
-sub_80668A4: @ 80668A4
+ thumb_func_start MovementActionFunc_x5C_0
+MovementActionFunc_x5C_0: @ 80668A4
ldrb r3, [r0, 0x3]
movs r2, 0x3
negs r2, r2
@@ -19387,10 +19387,10 @@ sub_80668A4: @ 80668A4
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_80668A4
+ thumb_func_end MovementActionFunc_x5C_0
- thumb_func_start sub_80668B4
-sub_80668B4: @ 80668B4
+ thumb_func_start MovementActionFunc_x5D_0
+MovementActionFunc_x5D_0: @ 80668B4
ldrb r2, [r0, 0x3]
movs r3, 0x2
orrs r2, r3
@@ -19398,10 +19398,10 @@ sub_80668B4: @ 80668B4
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_80668B4
+ thumb_func_end MovementActionFunc_x5D_0
- thumb_func_start sub_80668C4
-sub_80668C4: @ 80668C4
+ thumb_func_start MovementActionFunc_x5E_0
+MovementActionFunc_x5E_0: @ 80668C4
ldrb r2, [r0, 0x1]
movs r3, 0x10
orrs r2, r3
@@ -19409,10 +19409,10 @@ sub_80668C4: @ 80668C4
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_80668C4
+ thumb_func_end MovementActionFunc_x5E_0
- thumb_func_start sub_80668D4
-sub_80668D4: @ 80668D4
+ thumb_func_start MovementActionFunc_x5F_0
+MovementActionFunc_x5F_0: @ 80668D4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19433,10 +19433,10 @@ sub_80668D4: @ 80668D4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80668D4
+ thumb_func_end MovementActionFunc_x5F_0
- thumb_func_start sub_8066900
-sub_8066900: @ 8066900
+ thumb_func_start MovementActionFunc_x60_0
+MovementActionFunc_x60_0: @ 8066900
ldrb r2, [r0, 0x1]
movs r3, 0x20
orrs r2, r3
@@ -19444,10 +19444,10 @@ sub_8066900: @ 8066900
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_8066900
+ thumb_func_end MovementActionFunc_x60_0
- thumb_func_start sub_8066910
-sub_8066910: @ 8066910
+ thumb_func_start MovementActionFunc_x61_0
+MovementActionFunc_x61_0: @ 8066910
ldrb r3, [r0, 0x1]
movs r2, 0x21
negs r2, r2
@@ -19456,7 +19456,7 @@ sub_8066910: @ 8066910
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_8066910
+ thumb_func_end MovementActionFunc_x61_0
thumb_func_start do_exclamation_mark_bubble_1
do_exclamation_mark_bubble_1: @ 8066920
@@ -19467,7 +19467,7 @@ do_exclamation_mark_bubble_1: @ 8066920
adds r3, r1, 0
adds r3, 0x8
bl ObjectEventGetLocalIdAndMap
- movs r0, 0
+ movs r0, 0 @ FLDEFF_EXCLAMATION_MARK_ICON
bl FieldEffectStart
movs r0, 0x1
strh r0, [r4, 0x32]
@@ -19487,7 +19487,7 @@ do_exclamation_mark_bubble_2: @ 8066944
adds r3, r1, 0
adds r3, 0x8
bl ObjectEventGetLocalIdAndMap
- movs r0, 0x21
+ movs r0, 0x21 @ FLDEFF_QUESTION_MARK_ICON
bl FieldEffectStart
movs r0, 0x1
strh r0, [r4, 0x32]
@@ -19498,8 +19498,8 @@ do_exclamation_mark_bubble_2: @ 8066944
_08066964: .4byte gFieldEffectArguments
thumb_func_end do_exclamation_mark_bubble_2
- thumb_func_start do_heart_bubble
-do_heart_bubble: @ 8066968
+ thumb_func_start do_x_bubble
+do_x_bubble: @ 8066968
push {r4,lr}
adds r4, r1, 0
ldr r1, _08066988 @ =gFieldEffectArguments
@@ -19507,7 +19507,7 @@ do_heart_bubble: @ 8066968
adds r3, r1, 0
adds r3, 0x8
bl ObjectEventGetLocalIdAndMap
- movs r0, 0x2E
+ movs r0, 0x2E @ FLDEFF_X_ICON
bl FieldEffectStart
movs r0, 0x1
strh r0, [r4, 0x32]
@@ -19516,10 +19516,10 @@ do_heart_bubble: @ 8066968
bx r1
.align 2, 0
_08066988: .4byte gFieldEffectArguments
- thumb_func_end do_heart_bubble
+ thumb_func_end do_x_bubble
- thumb_func_start sub_806698C
-sub_806698C: @ 806698C
+ thumb_func_start do_double_excl_bubble
+do_double_excl_bubble: @ 806698C
push {r4,lr}
adds r4, r1, 0
ldr r1, _080669AC @ =gFieldEffectArguments
@@ -19527,7 +19527,7 @@ sub_806698C: @ 806698C
adds r3, r1, 0
adds r3, 0x8
bl ObjectEventGetLocalIdAndMap
- movs r0, 0x42
+ movs r0, 0x42 @ FLDEFF_DOUBLE_EXCL_MARK_ICON
bl FieldEffectStart
movs r0, 0x1
strh r0, [r4, 0x32]
@@ -19536,10 +19536,10 @@ sub_806698C: @ 806698C
bx r1
.align 2, 0
_080669AC: .4byte gFieldEffectArguments
- thumb_func_end sub_806698C
+ thumb_func_end do_double_excl_bubble
- thumb_func_start sub_80669B0
-sub_80669B0: @ 80669B0
+ thumb_func_start do_smile_bubble
+do_smile_bubble: @ 80669B0
push {r4,lr}
adds r4, r1, 0
ldr r1, _080669D0 @ =gFieldEffectArguments
@@ -19547,7 +19547,7 @@ sub_80669B0: @ 80669B0
adds r3, r1, 0
adds r3, 0x8
bl ObjectEventGetLocalIdAndMap
- movs r0, 0x40
+ movs r0, 0x40 @ FLDEFF_SMILEY_FACE_ICON
bl FieldEffectStart
movs r0, 0x1
strh r0, [r4, 0x32]
@@ -19556,10 +19556,10 @@ sub_80669B0: @ 80669B0
bx r1
.align 2, 0
_080669D0: .4byte gFieldEffectArguments
- thumb_func_end sub_80669B0
+ thumb_func_end do_smile_bubble
- thumb_func_start sub_80669D4
-sub_80669D4: @ 80669D4
+ thumb_func_start MovementActionFunc_x67_0
+MovementActionFunc_x67_0: @ 80669D4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19567,7 +19567,7 @@ sub_80669D4: @ 80669D4
cmp r0, 0x3F
bne _080669EA
adds r0, r4, 0
- bl sub_80824EC
+ bl MovementAction_RevealTrainer_RunTrainerSeeFuncList
movs r0, 0
b _08066A12
_080669EA:
@@ -19582,7 +19582,7 @@ _080669EA:
strh r0, [r5, 0x32]
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066A18
+ bl MovementActionFunc_x67_1
lsls r0, 24
lsrs r0, 24
b _08066A12
@@ -19594,10 +19594,10 @@ _08066A12:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80669D4
+ thumb_func_end MovementActionFunc_x67_0
- thumb_func_start sub_8066A18
-sub_8066A18: @ 8066A18
+ thumb_func_start MovementActionFunc_x67_1
+MovementActionFunc_x67_1: @ 8066A18
push {r4,lr}
adds r4, r1, 0
bl sub_80DCBE0
@@ -19614,10 +19614,10 @@ _08066A30:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066A18
+ thumb_func_end MovementActionFunc_x67_1
- thumb_func_start sub_8066A38
-sub_8066A38: @ 8066A38
+ thumb_func_start MovementActionFunc_x68_0
+MovementActionFunc_x68_0: @ 8066A38
push {r4,lr}
adds r4, r1, 0
adds r0, r4, 0
@@ -19630,10 +19630,10 @@ sub_8066A38: @ 8066A38
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066A38
+ thumb_func_end MovementActionFunc_x68_0
- thumb_func_start sub_8066A54
-sub_8066A54: @ 8066A54
+ thumb_func_start MovementActionFunc_x68_1
+MovementActionFunc_x68_1: @ 8066A54
push {r4,lr}
adds r4, r1, 0
adds r0, r4, 0
@@ -19651,10 +19651,10 @@ _08066A70:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066A54
+ thumb_func_end MovementActionFunc_x68_1
- thumb_func_start sub_8066A78
-sub_8066A78: @ 8066A78
+ thumb_func_start MovementActionFunc_x68_2
+MovementActionFunc_x68_2: @ 8066A78
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19684,10 +19684,10 @@ _08066AAA:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066A78
+ thumb_func_end MovementActionFunc_x68_2
- thumb_func_start sub_8066AB4
-sub_8066AB4: @ 8066AB4
+ thumb_func_start MovementActionFunc_x69_0
+MovementActionFunc_x69_0: @ 8066AB4
push {r4,lr}
adds r4, r1, 0
adds r0, r4, 0
@@ -19700,10 +19700,10 @@ sub_8066AB4: @ 8066AB4
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066AB4
+ thumb_func_end MovementActionFunc_x69_0
- thumb_func_start sub_8066AD0
-sub_8066AD0: @ 8066AD0
+ thumb_func_start MovementActionFunc_x69_1
+MovementActionFunc_x69_1: @ 8066AD0
push {r4,lr}
adds r4, r1, 0
adds r0, r4, 0
@@ -19721,10 +19721,10 @@ _08066AEC:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066AD0
+ thumb_func_end MovementActionFunc_x69_1
- thumb_func_start sub_8066AF4
-sub_8066AF4: @ 8066AF4
+ thumb_func_start MovementActionFunc_x69_2
+MovementActionFunc_x69_2: @ 8066AF4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -19754,10 +19754,10 @@ _08066B26:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066AF4
+ thumb_func_end MovementActionFunc_x69_2
- thumb_func_start sub_8066B30
-sub_8066B30: @ 8066B30
+ thumb_func_start MovementActionFunc_x6A_0
+MovementActionFunc_x6A_0: @ 8066B30
ldrb r2, [r0, 0x3]
movs r3, 0x4
orrs r2, r3
@@ -19765,10 +19765,10 @@ sub_8066B30: @ 8066B30
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_8066B30
+ thumb_func_end MovementActionFunc_x6A_0
- thumb_func_start sub_8066B40
-sub_8066B40: @ 8066B40
+ thumb_func_start MovementActionFunc_x6B_0
+MovementActionFunc_x6B_0: @ 8066B40
ldrb r3, [r0, 0x3]
movs r2, 0x5
negs r2, r2
@@ -19777,10 +19777,10 @@ sub_8066B40: @ 8066B40
movs r0, 0x1
strh r0, [r1, 0x32]
bx lr
- thumb_func_end sub_8066B40
+ thumb_func_end MovementActionFunc_x6B_0
- thumb_func_start sub_8066B50
-sub_8066B50: @ 8066B50
+ thumb_func_start MovementActionFunc_x6C_0
+MovementActionFunc_x6C_0: @ 8066B50
push {r4,lr}
adds r4, r1, 0
ldrb r0, [r4, 0x1]
@@ -19804,10 +19804,10 @@ sub_8066B50: @ 8066B50
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066B50
+ thumb_func_end MovementActionFunc_x6C_0
- thumb_func_start sub_8066B80
-sub_8066B80: @ 8066B80
+ thumb_func_start MovementActionFunc_x6D_0
+MovementActionFunc_x6D_0: @ 8066B80
push {r4,lr}
adds r4, r1, 0
ldrb r0, [r4, 0x3]
@@ -19829,10 +19829,10 @@ sub_8066B80: @ 8066B80
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066B80
+ thumb_func_end MovementActionFunc_x6D_0
- thumb_func_start sub_8066BB0
-sub_8066BB0: @ 8066BB0
+ thumb_func_start MovementActionFunc_x6E_0
+MovementActionFunc_x6E_0: @ 8066BB0
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -19849,16 +19849,16 @@ sub_8066BB0: @ 8066BB0
bl StartSpriteAffineAnimIfDifferent
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8066BE4
+ bl MovementActionFunc_x6E_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066BB0
+ thumb_func_end MovementActionFunc_x6E_0
- thumb_func_start sub_8066BE4
-sub_8066BE4: @ 8066BE4
+ thumb_func_start MovementActionFunc_x6E_1
+MovementActionFunc_x6E_1: @ 8066BE4
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
@@ -19881,10 +19881,10 @@ _08066C08:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066BE4
+ thumb_func_end MovementActionFunc_x6E_1
- thumb_func_start sub_8066C10
-sub_8066C10: @ 8066C10
+ thumb_func_start MovementActionFunc_x6F_0
+MovementActionFunc_x6F_0: @ 8066C10
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -19901,16 +19901,16 @@ sub_8066C10: @ 8066C10
bl ChangeSpriteAffineAnimIfDifferent
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8066C44
+ bl MovementActionFunc_x6F_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066C10
+ thumb_func_end MovementActionFunc_x6F_0
- thumb_func_start sub_8066C44
-sub_8066C44: @ 8066C44
+ thumb_func_start MovementActionFunc_x6F_1
+MovementActionFunc_x6F_1: @ 8066C44
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
@@ -19933,7 +19933,7 @@ _08066C68:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8066C44
+ thumb_func_end MovementActionFunc_x6F_1
thumb_func_start sub_8066C70
sub_8066C70: @ 8066C70
@@ -19967,48 +19967,48 @@ sub_8066C70: @ 8066C70
bx r0
thumb_func_end sub_8066C70
- thumb_func_start sub_8066CB0
-sub_8066CB0: @ 8066CB0
+ thumb_func_start MovementActionFunc_x70_0
+MovementActionFunc_x70_0: @ 8066CB0
push {lr}
movs r2, 0x1
bl sub_8066C70
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8066CB0
+ thumb_func_end MovementActionFunc_x70_0
- thumb_func_start sub_8066CC0
-sub_8066CC0: @ 8066CC0
+ thumb_func_start MovementActionFunc_x71_0
+MovementActionFunc_x71_0: @ 8066CC0
push {lr}
movs r2, 0x2
bl sub_8066C70
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8066CC0
+ thumb_func_end MovementActionFunc_x71_0
- thumb_func_start sub_8066CD0
-sub_8066CD0: @ 8066CD0
+ thumb_func_start MovementActionFunc_x72_0
+MovementActionFunc_x72_0: @ 8066CD0
push {lr}
movs r2, 0x3
bl sub_8066C70
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8066CD0
+ thumb_func_end MovementActionFunc_x72_0
- thumb_func_start sub_8066CE0
-sub_8066CE0: @ 8066CE0
+ thumb_func_start MovementActionFunc_x73_0
+MovementActionFunc_x73_0: @ 8066CE0
push {lr}
movs r2, 0x4
bl sub_8066C70
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_8066CE0
+ thumb_func_end MovementActionFunc_x73_0
- thumb_func_start sub_8066CF0
-sub_8066CF0: @ 8066CF0
+ thumb_func_start MovementActionFunc_x74_0
+MovementActionFunc_x74_0: @ 8066CF0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20025,10 +20025,10 @@ sub_8066CF0: @ 8066CF0
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066CF0
+ thumb_func_end MovementActionFunc_x74_0
- thumb_func_start sub_8066D14
-sub_8066D14: @ 8066D14
+ thumb_func_start MovementActionFunc_x75_0
+MovementActionFunc_x75_0: @ 8066D14
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20045,10 +20045,10 @@ sub_8066D14: @ 8066D14
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066D14
+ thumb_func_end MovementActionFunc_x75_0
- thumb_func_start sub_8066D38
-sub_8066D38: @ 8066D38
+ thumb_func_start MovementActionFunc_x76_0
+MovementActionFunc_x76_0: @ 8066D38
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20065,10 +20065,10 @@ sub_8066D38: @ 8066D38
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066D38
+ thumb_func_end MovementActionFunc_x76_0
- thumb_func_start sub_8066D5C
-sub_8066D5C: @ 8066D5C
+ thumb_func_start MovementActionFunc_x77_0
+MovementActionFunc_x77_0: @ 8066D5C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20085,10 +20085,10 @@ sub_8066D5C: @ 8066D5C
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066D5C
+ thumb_func_end MovementActionFunc_x77_0
- thumb_func_start sub_8066D80
-sub_8066D80: @ 8066D80
+ thumb_func_start MovementActionFunc_x78_0
+MovementActionFunc_x78_0: @ 8066D80
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20105,10 +20105,10 @@ sub_8066D80: @ 8066D80
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066D80
+ thumb_func_end MovementActionFunc_x78_0
- thumb_func_start sub_8066DA4
-sub_8066DA4: @ 8066DA4
+ thumb_func_start MovementActionFunc_x79_0
+MovementActionFunc_x79_0: @ 8066DA4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20125,10 +20125,10 @@ sub_8066DA4: @ 8066DA4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066DA4
+ thumb_func_end MovementActionFunc_x79_0
- thumb_func_start sub_8066DC8
-sub_8066DC8: @ 8066DC8
+ thumb_func_start MovementActionFunc_x7A_0
+MovementActionFunc_x7A_0: @ 8066DC8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20145,10 +20145,10 @@ sub_8066DC8: @ 8066DC8
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066DC8
+ thumb_func_end MovementActionFunc_x7A_0
- thumb_func_start sub_8066DEC
-sub_8066DEC: @ 8066DEC
+ thumb_func_start MovementActionFunc_x7B_0
+MovementActionFunc_x7B_0: @ 8066DEC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20165,10 +20165,10 @@ sub_8066DEC: @ 8066DEC
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066DEC
+ thumb_func_end MovementActionFunc_x7B_0
- thumb_func_start sub_8066E10
-sub_8066E10: @ 8066E10
+ thumb_func_start MovementActionFunc_x7B_3
+MovementActionFunc_x7B_3: @ 8066E10
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20185,10 +20185,10 @@ sub_8066E10: @ 8066E10
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066E10
+ thumb_func_end MovementActionFunc_x7B_3
- thumb_func_start sub_8066E34
-sub_8066E34: @ 8066E34
+ thumb_func_start MovementActionFunc_x7B_6
+MovementActionFunc_x7B_6: @ 8066E34
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20205,10 +20205,10 @@ sub_8066E34: @ 8066E34
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066E34
+ thumb_func_end MovementActionFunc_x7B_6
- thumb_func_start sub_8066E58
-sub_8066E58: @ 8066E58
+ thumb_func_start MovementActionFunc_x7B_9
+MovementActionFunc_x7B_9: @ 8066E58
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20225,10 +20225,10 @@ sub_8066E58: @ 8066E58
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066E58
+ thumb_func_end MovementActionFunc_x7B_9
- thumb_func_start sub_8066E7C
-sub_8066E7C: @ 8066E7C
+ thumb_func_start MovementActionFunc_x7B_12
+MovementActionFunc_x7B_12: @ 8066E7C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20245,7 +20245,7 @@ sub_8066E7C: @ 8066E7C
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066E7C
+ thumb_func_end MovementActionFunc_x7B_12
thumb_func_start sub_8066EA0
sub_8066EA0: @ 8066EA0
@@ -20280,8 +20280,8 @@ sub_8066EA0: @ 8066EA0
bx r0
thumb_func_end sub_8066EA0
- thumb_func_start sub_8066EE4
-sub_8066EE4: @ 8066EE4
+ thumb_func_start MovementActionFunc_x7C_0
+MovementActionFunc_x7C_0: @ 8066EE4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20294,17 +20294,17 @@ sub_8066EE4: @ 8066EE4
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066F10
+ bl MovementActionFunc_x7C_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066EE4
+ thumb_func_end MovementActionFunc_x7C_0
- thumb_func_start sub_8066F10
-sub_8066F10: @ 8066F10
+ thumb_func_start MovementActionFunc_x7C_1
+MovementActionFunc_x7C_1: @ 8066F10
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20327,10 +20327,10 @@ _08066F34:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066F10
+ thumb_func_end MovementActionFunc_x7C_1
- thumb_func_start sub_8066F3C
-sub_8066F3C: @ 8066F3C
+ thumb_func_start MovementActionFunc_x7D_0
+MovementActionFunc_x7D_0: @ 8066F3C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20343,17 +20343,17 @@ sub_8066F3C: @ 8066F3C
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066F68
+ bl MovementActionFunc_x7D_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066F3C
+ thumb_func_end MovementActionFunc_x7D_0
- thumb_func_start sub_8066F68
-sub_8066F68: @ 8066F68
+ thumb_func_start MovementActionFunc_x7D_1
+MovementActionFunc_x7D_1: @ 8066F68
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20376,10 +20376,10 @@ _08066F8C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066F68
+ thumb_func_end MovementActionFunc_x7D_1
- thumb_func_start sub_8066F94
-sub_8066F94: @ 8066F94
+ thumb_func_start MovementActionFunc_x7E_0
+MovementActionFunc_x7E_0: @ 8066F94
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20392,17 +20392,17 @@ sub_8066F94: @ 8066F94
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8066FC0
+ bl MovementActionFunc_x7E_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066F94
+ thumb_func_end MovementActionFunc_x7E_0
- thumb_func_start sub_8066FC0
-sub_8066FC0: @ 8066FC0
+ thumb_func_start MovementActionFunc_x7E_1
+MovementActionFunc_x7E_1: @ 8066FC0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20425,10 +20425,10 @@ _08066FE4:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066FC0
+ thumb_func_end MovementActionFunc_x7E_1
- thumb_func_start sub_8066FEC
-sub_8066FEC: @ 8066FEC
+ thumb_func_start MovementActionFunc_x7F_0
+MovementActionFunc_x7F_0: @ 8066FEC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20441,17 +20441,17 @@ sub_8066FEC: @ 8066FEC
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067018
+ bl MovementActionFunc_x7F_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8066FEC
+ thumb_func_end MovementActionFunc_x7F_0
- thumb_func_start sub_8067018
-sub_8067018: @ 8067018
+ thumb_func_start MovementActionFunc_x7F_1
+MovementActionFunc_x7F_1: @ 8067018
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20474,10 +20474,10 @@ _0806703C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067018
+ thumb_func_end MovementActionFunc_x7F_1
- thumb_func_start sub_8067044
-sub_8067044: @ 8067044
+ thumb_func_start MovementActionFunc_x80_0
+MovementActionFunc_x80_0: @ 8067044
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20490,17 +20490,17 @@ sub_8067044: @ 8067044
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067070
+ bl MovementActionFunc_x80_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067044
+ thumb_func_end MovementActionFunc_x80_0
- thumb_func_start sub_8067070
-sub_8067070: @ 8067070
+ thumb_func_start MovementActionFunc_x80_1
+MovementActionFunc_x80_1: @ 8067070
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20523,10 +20523,10 @@ _08067094:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067070
+ thumb_func_end MovementActionFunc_x80_1
- thumb_func_start sub_806709C
-sub_806709C: @ 806709C
+ thumb_func_start MovementActionFunc_x81_0
+MovementActionFunc_x81_0: @ 806709C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20539,17 +20539,17 @@ sub_806709C: @ 806709C
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80670C8
+ bl MovementActionFunc_x81_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806709C
+ thumb_func_end MovementActionFunc_x81_0
- thumb_func_start sub_80670C8
-sub_80670C8: @ 80670C8
+ thumb_func_start MovementActionFunc_x81_1
+MovementActionFunc_x81_1: @ 80670C8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20572,10 +20572,10 @@ _080670EC:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80670C8
+ thumb_func_end MovementActionFunc_x81_1
- thumb_func_start sub_80670F4
-sub_80670F4: @ 80670F4
+ thumb_func_start MovementActionFunc_x82_0
+MovementActionFunc_x82_0: @ 80670F4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20588,17 +20588,17 @@ sub_80670F4: @ 80670F4
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067120
+ bl MovementActionFunc_x82_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80670F4
+ thumb_func_end MovementActionFunc_x82_0
- thumb_func_start sub_8067120
-sub_8067120: @ 8067120
+ thumb_func_start MovementActionFunc_x82_1
+MovementActionFunc_x82_1: @ 8067120
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20621,10 +20621,10 @@ _08067144:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067120
+ thumb_func_end MovementActionFunc_x82_1
- thumb_func_start sub_806714C
-sub_806714C: @ 806714C
+ thumb_func_start MovementActionFunc_x83_0
+MovementActionFunc_x83_0: @ 806714C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20637,17 +20637,17 @@ sub_806714C: @ 806714C
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067178
+ bl MovementActionFunc_x83_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806714C
+ thumb_func_end MovementActionFunc_x83_0
- thumb_func_start sub_8067178
-sub_8067178: @ 8067178
+ thumb_func_start MovementActionFunc_x83_1
+MovementActionFunc_x83_1: @ 8067178
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20670,10 +20670,10 @@ _0806719C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067178
+ thumb_func_end MovementActionFunc_x83_1
- thumb_func_start sub_80671A4
-sub_80671A4: @ 80671A4
+ thumb_func_start MovementActionFunc_x84_0
+MovementActionFunc_x84_0: @ 80671A4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20686,17 +20686,17 @@ sub_80671A4: @ 80671A4
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80671D0
+ bl MovementActionFunc_x84_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80671A4
+ thumb_func_end MovementActionFunc_x84_0
- thumb_func_start sub_80671D0
-sub_80671D0: @ 80671D0
+ thumb_func_start MovementActionFunc_x84_1
+MovementActionFunc_x84_1: @ 80671D0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20719,10 +20719,10 @@ _080671F4:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80671D0
+ thumb_func_end MovementActionFunc_x84_1
- thumb_func_start sub_80671FC
-sub_80671FC: @ 80671FC
+ thumb_func_start MovementActionFunc_x85_0
+MovementActionFunc_x85_0: @ 80671FC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20735,17 +20735,17 @@ sub_80671FC: @ 80671FC
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067228
+ bl MovementActionFunc_x85_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80671FC
+ thumb_func_end MovementActionFunc_x85_0
- thumb_func_start sub_8067228
-sub_8067228: @ 8067228
+ thumb_func_start MovementActionFunc_x85_1
+MovementActionFunc_x85_1: @ 8067228
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20768,10 +20768,10 @@ _0806724C:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067228
+ thumb_func_end MovementActionFunc_x85_1
- thumb_func_start sub_8067254
-sub_8067254: @ 8067254
+ thumb_func_start MovementActionFunc_x86_0
+MovementActionFunc_x86_0: @ 8067254
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20784,17 +20784,17 @@ sub_8067254: @ 8067254
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067280
+ bl MovementActionFunc_x86_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067254
+ thumb_func_end MovementActionFunc_x86_0
- thumb_func_start sub_8067280
-sub_8067280: @ 8067280
+ thumb_func_start MovementActionFunc_x86_1
+MovementActionFunc_x86_1: @ 8067280
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20817,10 +20817,10 @@ _080672A4:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067280
+ thumb_func_end MovementActionFunc_x86_1
- thumb_func_start sub_80672AC
-sub_80672AC: @ 80672AC
+ thumb_func_start MovementActionFunc_x87_0
+MovementActionFunc_x87_0: @ 80672AC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20833,17 +20833,17 @@ sub_80672AC: @ 80672AC
bl sub_8066EA0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80672D8
+ bl MovementActionFunc_x87_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80672AC
+ thumb_func_end MovementActionFunc_x87_0
- thumb_func_start sub_80672D8
-sub_80672D8: @ 80672D8
+ thumb_func_start MovementActionFunc_x87_1
+MovementActionFunc_x87_1: @ 80672D8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -20866,10 +20866,10 @@ _080672FC:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80672D8
+ thumb_func_end MovementActionFunc_x87_1
- thumb_func_start sub_8067304
-sub_8067304: @ 8067304
+ thumb_func_start MovementActionFunc_x88_0
+MovementActionFunc_x88_0: @ 8067304
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20887,17 +20887,17 @@ sub_8067304: @ 8067304
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067304
+ thumb_func_end MovementActionFunc_x88_0
- thumb_func_start sub_806733C
-sub_806733C: @ 806733C
+ thumb_func_start MovementActionFunc_x89_0
+MovementActionFunc_x89_0: @ 806733C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20915,17 +20915,17 @@ sub_806733C: @ 806733C
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806733C
+ thumb_func_end MovementActionFunc_x89_0
- thumb_func_start sub_8067374
-sub_8067374: @ 8067374
+ thumb_func_start MovementActionFunc_x8A_0
+MovementActionFunc_x8A_0: @ 8067374
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20943,17 +20943,17 @@ sub_8067374: @ 8067374
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067374
+ thumb_func_end MovementActionFunc_x8A_0
- thumb_func_start sub_80673AC
-sub_80673AC: @ 80673AC
+ thumb_func_start MovementActionFunc_x8B_0
+MovementActionFunc_x8B_0: @ 80673AC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -20971,14 +20971,14 @@ sub_80673AC: @ 80673AC
bl sub_80656C4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806570C
+ bl MovementActionFunc_x25_1
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80673AC
+ thumb_func_end MovementActionFunc_x8B_0
thumb_func_start sub_80673E4
sub_80673E4: @ 80673E4
@@ -21007,8 +21007,8 @@ sub_80673E4: @ 80673E4
bx r0
thumb_func_end sub_80673E4
- thumb_func_start sub_806741C
-sub_806741C: @ 806741C
+ thumb_func_start MovementActionFunc_x8C_0
+MovementActionFunc_x8C_0: @ 806741C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21017,16 +21017,16 @@ sub_806741C: @ 806741C
bl sub_80673E4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806743C
+ bl MovementActionFunc_x8C_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806741C
+ thumb_func_end MovementActionFunc_x8C_0
- thumb_func_start sub_806743C
-sub_806743C: @ 806743C
+ thumb_func_start MovementActionFunc_x8C_1
+MovementActionFunc_x8C_1: @ 806743C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21043,10 +21043,10 @@ _08067454:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806743C
+ thumb_func_end MovementActionFunc_x8C_1
- thumb_func_start sub_806745C
-sub_806745C: @ 806745C
+ thumb_func_start MovementActionFunc_x8D_0
+MovementActionFunc_x8D_0: @ 806745C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21055,16 +21055,16 @@ sub_806745C: @ 806745C
bl sub_80673E4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806747C
+ bl MovementActionFunc_x8D_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806745C
+ thumb_func_end MovementActionFunc_x8D_0
- thumb_func_start sub_806747C
-sub_806747C: @ 806747C
+ thumb_func_start MovementActionFunc_x8D_1
+MovementActionFunc_x8D_1: @ 806747C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21081,10 +21081,10 @@ _08067494:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806747C
+ thumb_func_end MovementActionFunc_x8D_1
- thumb_func_start sub_806749C
-sub_806749C: @ 806749C
+ thumb_func_start MovementActionFunc_x8E_0
+MovementActionFunc_x8E_0: @ 806749C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21093,16 +21093,16 @@ sub_806749C: @ 806749C
bl sub_80673E4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80674BC
+ bl MovementActionFunc_x8E_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806749C
+ thumb_func_end MovementActionFunc_x8E_0
- thumb_func_start sub_80674BC
-sub_80674BC: @ 80674BC
+ thumb_func_start MovementActionFunc_x8E_1
+MovementActionFunc_x8E_1: @ 80674BC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21119,10 +21119,10 @@ _080674D4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80674BC
+ thumb_func_end MovementActionFunc_x8E_1
- thumb_func_start sub_80674DC
-sub_80674DC: @ 80674DC
+ thumb_func_start MovementActionFunc_x8F_0
+MovementActionFunc_x8F_0: @ 80674DC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21131,16 +21131,16 @@ sub_80674DC: @ 80674DC
bl sub_80673E4
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80674FC
+ bl MovementActionFunc_x8F_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80674DC
+ thumb_func_end MovementActionFunc_x8F_0
- thumb_func_start sub_80674FC
-sub_80674FC: @ 80674FC
+ thumb_func_start MovementActionFunc_x8F_1
+MovementActionFunc_x8F_1: @ 80674FC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21157,7 +21157,7 @@ _08067514:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80674FC
+ thumb_func_end MovementActionFunc_x8F_1
thumb_func_start sub_806751C
sub_806751C: @ 806751C
@@ -21184,8 +21184,8 @@ sub_806751C: @ 806751C
bx r0
thumb_func_end sub_806751C
- thumb_func_start sub_806754C
-sub_806754C: @ 806754C
+ thumb_func_start MovementActionFunc_x90_0
+MovementActionFunc_x90_0: @ 806754C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21194,16 +21194,16 @@ sub_806754C: @ 806754C
bl sub_806751C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806756C
+ bl MovementActionFunc_x90_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806754C
+ thumb_func_end MovementActionFunc_x90_0
- thumb_func_start sub_806756C
-sub_806756C: @ 806756C
+ thumb_func_start MovementActionFunc_x90_1
+MovementActionFunc_x90_1: @ 806756C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21220,10 +21220,10 @@ _08067584:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806756C
+ thumb_func_end MovementActionFunc_x90_1
- thumb_func_start sub_806758C
-sub_806758C: @ 806758C
+ thumb_func_start MovementActionFunc_x91_0
+MovementActionFunc_x91_0: @ 806758C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21232,16 +21232,16 @@ sub_806758C: @ 806758C
bl sub_806751C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80675AC
+ bl MovementActionFunc_x91_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806758C
+ thumb_func_end MovementActionFunc_x91_0
- thumb_func_start sub_80675AC
-sub_80675AC: @ 80675AC
+ thumb_func_start MovementActionFunc_x91_1
+MovementActionFunc_x91_1: @ 80675AC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21258,10 +21258,10 @@ _080675C4:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80675AC
+ thumb_func_end MovementActionFunc_x91_1
- thumb_func_start sub_80675CC
-sub_80675CC: @ 80675CC
+ thumb_func_start MovementActionFunc_x92_0
+MovementActionFunc_x92_0: @ 80675CC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21270,16 +21270,16 @@ sub_80675CC: @ 80675CC
bl sub_806751C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80675EC
+ bl MovementActionFunc_x92_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80675CC
+ thumb_func_end MovementActionFunc_x92_0
- thumb_func_start sub_80675EC
-sub_80675EC: @ 80675EC
+ thumb_func_start MovementActionFunc_x92_1
+MovementActionFunc_x92_1: @ 80675EC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21296,10 +21296,10 @@ _08067604:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80675EC
+ thumb_func_end MovementActionFunc_x92_1
- thumb_func_start sub_806760C
-sub_806760C: @ 806760C
+ thumb_func_start MovementActionFunc_x93_0
+MovementActionFunc_x93_0: @ 806760C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21308,16 +21308,16 @@ sub_806760C: @ 806760C
bl sub_806751C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_806762C
+ bl MovementActionFunc_x93_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_806760C
+ thumb_func_end MovementActionFunc_x93_0
- thumb_func_start sub_806762C
-sub_806762C: @ 806762C
+ thumb_func_start MovementActionFunc_x93_1
+MovementActionFunc_x93_1: @ 806762C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21334,7 +21334,7 @@ _08067644:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_806762C
+ thumb_func_end MovementActionFunc_x93_1
thumb_func_start sub_806764C
sub_806764C: @ 806764C
@@ -21364,8 +21364,8 @@ sub_806764C: @ 806764C
bx r0
thumb_func_end sub_806764C
- thumb_func_start sub_8067684
-sub_8067684: @ 8067684
+ thumb_func_start MovementActionFunc_x94_0
+MovementActionFunc_x94_0: @ 8067684
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21374,16 +21374,16 @@ sub_8067684: @ 8067684
bl sub_806764C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80676A4
+ bl MovementActionFunc_x94_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067684
+ thumb_func_end MovementActionFunc_x94_0
- thumb_func_start sub_80676A4
-sub_80676A4: @ 80676A4
+ thumb_func_start MovementActionFunc_x94_1
+MovementActionFunc_x94_1: @ 80676A4
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21400,10 +21400,10 @@ _080676BC:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80676A4
+ thumb_func_end MovementActionFunc_x94_1
- thumb_func_start sub_80676C4
-sub_80676C4: @ 80676C4
+ thumb_func_start MovementActionFunc_x95_0
+MovementActionFunc_x95_0: @ 80676C4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21412,16 +21412,16 @@ sub_80676C4: @ 80676C4
bl sub_806764C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80676E4
+ bl MovementActionFunc_x95_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80676C4
+ thumb_func_end MovementActionFunc_x95_0
- thumb_func_start sub_80676E4
-sub_80676E4: @ 80676E4
+ thumb_func_start MovementActionFunc_x95_1
+MovementActionFunc_x95_1: @ 80676E4
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21438,10 +21438,10 @@ _080676FC:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80676E4
+ thumb_func_end MovementActionFunc_x95_1
- thumb_func_start sub_8067704
-sub_8067704: @ 8067704
+ thumb_func_start MovementActionFunc_x96_0
+MovementActionFunc_x96_0: @ 8067704
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21450,16 +21450,16 @@ sub_8067704: @ 8067704
bl sub_806764C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067724
+ bl MovementActionFunc_x96_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067704
+ thumb_func_end MovementActionFunc_x96_0
- thumb_func_start sub_8067724
-sub_8067724: @ 8067724
+ thumb_func_start MovementActionFunc_x96_1
+MovementActionFunc_x96_1: @ 8067724
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21476,10 +21476,10 @@ _0806773C:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8067724
+ thumb_func_end MovementActionFunc_x96_1
- thumb_func_start sub_8067744
-sub_8067744: @ 8067744
+ thumb_func_start MovementActionFunc_x97_0
+MovementActionFunc_x97_0: @ 8067744
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -21488,16 +21488,16 @@ sub_8067744: @ 8067744
bl sub_806764C
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8067764
+ bl MovementActionFunc_x97_1
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067744
+ thumb_func_end MovementActionFunc_x97_0
- thumb_func_start sub_8067764
-sub_8067764: @ 8067764
+ thumb_func_start MovementActionFunc_x97_1
+MovementActionFunc_x97_1: @ 8067764
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
@@ -21514,10 +21514,10 @@ _0806777C:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8067764
+ thumb_func_end MovementActionFunc_x97_1
- thumb_func_start sub_8067784
-sub_8067784: @ 8067784
+ thumb_func_start MovementActionFunc_x98_0
+MovementActionFunc_x98_0: @ 8067784
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -21547,19 +21547,19 @@ sub_8067784: @ 8067784
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8067784
+ thumb_func_end MovementActionFunc_x98_0
- thumb_func_start sub_80677C0
-sub_80677C0: @ 80677C0
+ thumb_func_start MovementActionFunc_x98_1
+MovementActionFunc_x98_1: @ 80677C0
adds r1, 0x3F
ldrb r0, [r1]
lsls r0, 27
lsrs r0, 31
bx lr
- thumb_func_end sub_80677C0
+ thumb_func_end MovementActionFunc_x98_1
- thumb_func_start sub_80677CC
-sub_80677CC: @ 80677CC
+ thumb_func_start MovementActionFunc_x99_1
+MovementActionFunc_x99_1: @ 80677CC
push {r4-r6,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -21687,10 +21687,10 @@ _080678B8:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_80677CC
+ thumb_func_end MovementActionFunc_x99_1
- thumb_func_start sub_80678C0
-sub_80678C0: @ 80678C0
+ thumb_func_start MovementActionFunc_x9A_1
+MovementActionFunc_x9A_1: @ 80678C0
push {r4,lr}
ldrh r2, [r1, 0x3C]
adds r2, 0x4
@@ -21716,10 +21716,10 @@ _080678E6:
bx r1
.align 2, 0
_080678EC: .4byte gSineTable
- thumb_func_end sub_80678C0
+ thumb_func_end MovementActionFunc_x9A_1
- thumb_func_start sub_80678F0
-sub_80678F0: @ 80678F0
+ thumb_func_start MovementActionFunc_x9F_0
+MovementActionFunc_x9F_0: @ 80678F0
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -21744,25 +21744,25 @@ sub_80678F0: @ 80678F0
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80678F0
+ thumb_func_end MovementActionFunc_x9F_0
- thumb_func_start sub_8067924
-sub_8067924: @ 8067924
+ thumb_func_start MovementActionFunc_x9F_1
+MovementActionFunc_x9F_1: @ 8067924
adds r1, 0x3F
ldrb r0, [r1]
lsls r0, 27
lsrs r0, 31
bx lr
- thumb_func_end sub_8067924
+ thumb_func_end MovementActionFunc_x9F_1
- thumb_func_start sub_8067930
-sub_8067930: @ 8067930
+ thumb_func_start MovementActionFunc_x18_2
+MovementActionFunc_x18_2: @ 8067930
movs r0, 0x1
bx lr
- thumb_func_end sub_8067930
+ thumb_func_end MovementActionFunc_x18_2
- thumb_func_start sub_8067934
-sub_8067934: @ 8067934
+ thumb_func_start MovementActionFunc_x00_1
+MovementActionFunc_x00_1: @ 8067934
adds r1, 0x2C
ldrb r0, [r1]
movs r2, 0x40
@@ -21770,10 +21770,10 @@ sub_8067934: @ 8067934
strb r0, [r1]
movs r0, 0x1
bx lr
- thumb_func_end sub_8067934
+ thumb_func_end MovementActionFunc_x00_1
- thumb_func_start sub_8067944
-sub_8067944: @ 8067944
+ thumb_func_start MovementActionFunc_xA4_0
+MovementActionFunc_xA4_0: @ 8067944
movs r0, 0
strh r0, [r1, 0x26]
ldrh r0, [r1, 0x32]
@@ -21781,10 +21781,10 @@ sub_8067944: @ 8067944
strh r0, [r1, 0x32]
movs r0, 0
bx lr
- thumb_func_end sub_8067944
+ thumb_func_end MovementActionFunc_xA4_0
- thumb_func_start sub_8067954
-sub_8067954: @ 8067954
+ thumb_func_start MovementActionFunc_xA4_1
+MovementActionFunc_xA4_1: @ 8067954
push {lr}
adds r2, r1, 0
ldrh r0, [r2, 0x26]
@@ -21803,10 +21803,10 @@ _08067970:
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_8067954
+ thumb_func_end MovementActionFunc_xA4_1
- thumb_func_start sub_8067978
-sub_8067978: @ 8067978
+ thumb_func_start MovementActionFunc_xA5_0
+MovementActionFunc_xA5_0: @ 8067978
ldr r0, _08067988 @ =0x0000ff60
strh r0, [r1, 0x26]
ldrh r0, [r1, 0x32]
@@ -21816,10 +21816,10 @@ sub_8067978: @ 8067978
bx lr
.align 2, 0
_08067988: .4byte 0x0000ff60
- thumb_func_end sub_8067978
+ thumb_func_end MovementActionFunc_xA5_0
- thumb_func_start sub_806798C
-sub_806798C: @ 806798C
+ thumb_func_start MovementActionFunc_xA5_1
+MovementActionFunc_xA5_1: @ 806798C
push {lr}
ldrh r0, [r1, 0x26]
adds r0, 0x8
@@ -21834,13 +21834,13 @@ _080679A0:
movs r0, 0
pop {r1}
bx r1
- thumb_func_end sub_806798C
+ thumb_func_end MovementActionFunc_xA5_1
- thumb_func_start sub_80679A8
-sub_80679A8: @ 80679A8
+ thumb_func_start MovementActionFunc_xA4_2
+MovementActionFunc_xA4_2: @ 80679A8
movs r0, 0x1
bx lr
- thumb_func_end sub_80679A8
+ thumb_func_end MovementActionFunc_xA4_2
thumb_func_start npc_obj_transfer_image_anim_pause_flag
npc_obj_transfer_image_anim_pause_flag: @ 80679AC
@@ -22059,4 +22059,1890 @@ _08067B2E:
bx r0
thumb_func_end npc_update_obj_anim_flag
+ thumb_func_start GetAllGroundEffectFlags_OnSpawn
+GetAllGroundEffectFlags_OnSpawn: @ 8067B34
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl ObjectEventUpdateMetatileBehaviors
+ 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: @ 8067B7C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl ObjectEventUpdateMetatileBehaviors
+ 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: @ 8067BD4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl ObjectEventUpdateMetatileBehaviors
+ 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 ObjectEventUpdateMetatileBehaviors
+ObjectEventUpdateMetatileBehaviors: @ 8067C24
+ 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 ObjectEventUpdateMetatileBehaviors
+
+ thumb_func_start GetGroundEffectFlags_Reflection
+GetGroundEffectFlags_Reflection: @ 8067C4C
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldr r0, _08067C90 @ =gUnknown_83A7024
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ adds r0, r4, 0
+ bl sub_8067F88
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _08067C94
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 30
+ cmp r0, 0
+ blt _08067C9E
+ 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 _08067C9E
+ .align 2, 0
+_08067C90: .4byte gUnknown_83A7024
+_08067C94:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067C9E:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Reflection
+
+ thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn
+GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsTallGrass_2
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067CC0
+ ldr r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ str r0, [r4]
+_08067CC0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn
+
+ thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep
+GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsTallGrass_2
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067CE0
+ ldr r0, [r4]
+ movs r1, 0x2
+ orrs r0, r1
+ str r0, [r4]
+_08067CE0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep
+
+ thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn
+GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D00
+ ldr r0, [r4]
+ movs r1, 0x4
+ orrs r0, r1
+ str r0, [r4]
+_08067D00:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn
+
+ thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep
+GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D20
+ ldr r0, [r4]
+ movs r1, 0x8
+ orrs r0, r1
+ str r0, [r4]
+_08067D20:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep
+
+ thumb_func_start GetGroundEffectFlags_Tracks
+GetGroundEffectFlags_Tracks: @ 8067D28
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D42
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 1
+ b _08067D5E
+_08067D42:
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsMB21OrSand
+ lsls r0, 24
+ cmp r0, 0
+ bne _08067D5A
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse_5
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D62
+_08067D5A:
+ ldr r0, [r5]
+ movs r1, 0x80
+_08067D5E:
+ orrs r0, r1
+ str r0, [r5]
+_08067D62:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Tracks
+
+ thumb_func_start GetGroundEffectFlags_SandHeap
+GetGroundEffectFlags_SandHeap: @ 8067D68
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_ReturnFalse
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067DA6
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067DA6
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 27
+ cmp r0, 0
+ blt _08067DB0
+ 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 _08067DB0
+_08067DA6:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067DB0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_SandHeap
+
+ thumb_func_start GetGroundEffectFlags_ShallowFlowingWater
+GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_IsWaterfallBottom
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067DD6
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsWaterfallBottom
+ lsls r0, 24
+ cmp r0, 0
+ bne _08067DEE
+_08067DD6:
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_ReturnFalse_10
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E0C
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse_10
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E0C
+_08067DEE:
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 28
+ cmp r0, 0
+ blt _08067E16
+ 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 _08067E16
+_08067E0C:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067E16:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_ShallowFlowingWater
+
+ thumb_func_start GetGroundEffectFlags_Puddle
+GetGroundEffectFlags_Puddle: @ 8067E1C
+ 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 _08067E44
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsPuddle
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E44
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 3
+ orrs r0, r1
+ str r0, [r5]
+_08067E44:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Puddle
+
+ thumb_func_start GetGroundEffectFlags_Ripple
+GetGroundEffectFlags_Ripple: @ 8067E4C
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsPondWaterOrPuddle
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E66
+ ldr r0, [r4]
+ movs r1, 0x80
+ lsls r1, 2
+ orrs r0, r1
+ str r0, [r4]
+_08067E66:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Ripple
+
+ thumb_func_start GetGroundEffectFlags_ShortGrass
+GetGroundEffectFlags_ShortGrass: @ 8067E6C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_ReturnFalse_8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067EAA
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse_8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067EAA
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 29
+ cmp r0, 0
+ blt _08067EB4
+ 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 _08067EB4
+_08067EAA:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067EB4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_ShortGrass
+
+ thumb_func_start GetGroundEffectFlags_HotSprings
+GetGroundEffectFlags_HotSprings: @ 8067EBC
+ 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 _08067EFA
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsHotSprings
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067EFA
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 26
+ cmp r0, 0
+ blt _08067F04
+ 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 _08067F04
+_08067EFA:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067F04:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_HotSprings
+
+ thumb_func_start GetGroundEffectFlags_Seaweed
+GetGroundEffectFlags_Seaweed: @ 8067F0C
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsMB22
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067F26
+ ldr r0, [r4]
+ movs r1, 0x80
+ lsls r1, 12
+ orrs r0, r1
+ str r0, [r4]
+_08067F26:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Seaweed
+
+ thumb_func_start GetGroundEffectFlags_JumpLanding
+GetGroundEffectFlags_JumpLanding: @ 8067F2C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ adds r6, r1, 0
+ ldr r0, [r7]
+ ldr r1, _08067F68 @ =0x02000020
+ ands r0, r1
+ cmp r0, 0x20
+ bne _08067F7E
+ movs r5, 0
+ ldr r0, _08067F6C @ =gUnknown_83A702C
+ mov r8, r0
+_08067F46:
+ lsls r4, r5, 2
+ mov r0, r8
+ adds r1, r4, r0
+ ldrb r0, [r7, 0x1E]
+ ldr r1, [r1]
+ bl _call_via_r1
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067F74
+ ldr r0, _08067F70 @ =gUnknown_83A7044
+ adds r0, r4, r0
+ ldr r1, [r6]
+ ldr r0, [r0]
+ orrs r1, r0
+ str r1, [r6]
+ b _08067F7E
+ .align 2, 0
+_08067F68: .4byte 0x02000020
+_08067F6C: .4byte gUnknown_83A702C
+_08067F70: .4byte gUnknown_83A7044
+_08067F74:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _08067F46
+_08067F7E:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_JumpLanding
+
+ thumb_func_start sub_8067F88
+sub_8067F88: @ 8067F88
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r5, r0, 0
+ ldrb r0, [r5, 0x5]
+ bl GetObjectEventGraphicsInfo
+ movs r4, 0
+ movs r0, 0x1
+ mov r10, r0
+_08067FA0:
+ movs r1, 0x10
+ ldrsh r0, [r5, r1]
+ ldrh r1, [r5, 0x12]
+ add r1, r10
+ lsls r4, 16
+ asrs r6, r4, 16
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r4
+ cmp r0, 0
+ bne _080680BA
+ movs r3, 0x14
+ ldrsh r0, [r5, r3]
+ ldrh r1, [r5, 0x16]
+ add r1, r10
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ movs r2, 0x1
+ lsls r0, r2, 16
+ asrs r1, r0, 16
+ mov r8, r0
+ cmp r2, r1
+ bge _080680A8
+ movs r0, 0x80
+ lsls r0, 9
+ asrs r7, r0, 16
+_08067FFC:
+ ldrh r0, [r5, 0x10]
+ lsls r1, r2, 16
+ asrs r4, r1, 16
+ adds r0, r4, r0
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x12]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ ldrh r0, [r5, 0x10]
+ subs r0, r4
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x12]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ ldrh r0, [r5, 0x14]
+ adds r0, r4, r0
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x16]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ ldrh r0, [r5, 0x14]
+ subs r0, r4
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x16]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ asrs r0, 16
+ mov r3, r8
+ asrs r1, r3, 16
+ cmp r0, r1
+ blt _08067FFC
+_080680A8:
+ movs r0, 0x80
+ lsls r0, 9
+ add r0, r9
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bge _080680B8
+ b _08067FA0
+_080680B8:
+ movs r0, 0
+_080680BA:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8067F88
+
+ thumb_func_start GetReflectionTypeByMetatileBehavior
+GetReflectionTypeByMetatileBehavior: @ 80680C8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl MetatileBehavior_IsIce
+ lsls r0, 24
+ cmp r0, 0
+ beq _080680DE
+ movs r0, 0x1
+ b _080680F0
+_080680DE:
+ adds r0, r4, 0
+ bl MetatileBehavior_IsReflective
+ lsls r0, 24
+ cmp r0, 0
+ bne _080680EE
+ movs r0, 0
+ b _080680F0
+_080680EE:
+ movs r0, 0x2
+_080680F0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetReflectionTypeByMetatileBehavior
+
+ thumb_func_start GetLedgeJumpDirection
+GetLedgeJumpDirection: @ 80680F8
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r2, 24
+ lsrs r4, r2, 24
+ cmp r4, 0
+ beq _0806813E
+ cmp r4, 0x4
+ bls _08068114
+ subs r0, r4, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+_08068114:
+ subs r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r3, 16
+ asrs r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08068144 @ =gUnknown_83A705C
+ lsls r1, r4, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl _call_via_r1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08068148
+_0806813E:
+ movs r0, 0
+ b _0806814E
+ .align 2, 0
+_08068144: .4byte gUnknown_83A705C
+_08068148:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+_0806814E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetLedgeJumpDirection
+
+ thumb_func_start ObjectEventSetSpriteOamTableForLongGrass
+ObjectEventSetSpriteOamTableForLongGrass: @ 8068154
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldrb r0, [r5]
+ lsls r0, 27
+ cmp r0, 0
+ blt _080681A8
+ ldrb r0, [r5, 0x1E]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _080681A8
+ ldrb r0, [r5, 0x1F]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _080681A8
+ adds r4, 0x42
+ ldrb r1, [r4]
+ movs r6, 0x40
+ negs r6, r6
+ adds r0, r6, 0
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4]
+ ldrb r0, [r5, 0xB]
+ lsrs r0, 4
+ bl ZCoordToPriority
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080681A8
+ ldrb r0, [r4]
+ adds r1, r6, 0
+ ands r1, r0
+ movs r0, 0x5
+ orrs r1, r0
+ strb r1, [r4]
+_080681A8:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end ObjectEventSetSpriteOamTableForLongGrass
+
+ thumb_func_start IsZCoordMismatchAt
+IsZCoordMismatchAt: @ 80681B0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 16
+ lsrs r0, r1, 16
+ lsls r2, 16
+ lsrs r1, r2, 16
+ cmp r4, 0
+ beq _080681DE
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080681DE
+ cmp r0, 0xF
+ beq _080681DE
+ cmp r0, r4
+ bne _080681E2
+_080681DE:
+ movs r0, 0
+ b _080681E4
+_080681E2:
+ movs r0, 0x1
+_080681E4:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end IsZCoordMismatchAt
+
+ thumb_func_start ObjectEventUpdateZCoordAndPriority
+ObjectEventUpdateZCoordAndPriority: @ 80681EC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x3]
+ lsls r0, 29
+ cmp r0, 0
+ blt _0806823A
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoord
+ ldr r1, _08068240 @ =gUnknown_83A708C
+ ldrb r2, [r4, 0xB]
+ lsls r2, 24
+ lsrs r0, r2, 28
+ adds r0, r1
+ ldrb r0, [r0]
+ adds r4, r5, 0
+ adds r4, 0x42
+ movs r1, 0x3F
+ ands r1, r0
+ ldrb r3, [r4]
+ movs r0, 0x40
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r4]
+ ldr r0, _08068244 @ =gUnknown_83A707C
+ lsrs r2, 28
+ adds r2, r0
+ movs r0, 0x3
+ ldrb r1, [r2]
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r5, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+_0806823A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068240: .4byte gUnknown_83A708C
+_08068244: .4byte gUnknown_83A707C
+ thumb_func_end ObjectEventUpdateZCoordAndPriority
+
+ thumb_func_start InitObjectPriorityByZCoord
+InitObjectPriorityByZCoord: @ 8068248
+ push {r4,lr}
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _0806828C @ =gUnknown_83A708C
+ adds r2, r1, r2
+ ldrb r2, [r2]
+ movs r3, 0x42
+ adds r3, r0
+ mov r12, r3
+ movs r3, 0x3F
+ ands r3, r2
+ mov r2, r12
+ ldrb r4, [r2]
+ movs r2, 0x40
+ negs r2, r2
+ ands r2, r4
+ orrs r2, r3
+ mov r3, r12
+ strb r2, [r3]
+ ldr r2, _08068290 @ =gUnknown_83A707C
+ adds r1, r2
+ movs r3, 0x3
+ ldrb r2, [r1]
+ ands r2, r3
+ lsls r2, 2
+ ldrb r3, [r0, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r3
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806828C: .4byte gUnknown_83A708C
+_08068290: .4byte gUnknown_83A707C
+ thumb_func_end InitObjectPriorityByZCoord
+
+ thumb_func_start ZCoordToPriority
+ZCoordToPriority: @ 8068294
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080682A0 @ =gUnknown_83A707C
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_080682A0: .4byte gUnknown_83A707C
+ thumb_func_end ZCoordToPriority
+
+ thumb_func_start ObjectEventUpdateZCoord
+ObjectEventUpdateZCoord: @ 80682A4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ movs r2, 0x16
+ ldrsh r1, [r4, r2]
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, 0xF
+ beq _080682F2
+ cmp r0, 0xF
+ beq _080682F2
+ movs r3, 0xF
+ adds r0, r5, 0
+ ands r0, r3
+ ldrb r1, [r4, 0xB]
+ movs r2, 0x10
+ negs r2, r2
+ ands r2, r1
+ orrs r2, r0
+ strb r2, [r4, 0xB]
+ cmp r5, 0
+ beq _080682F2
+ cmp r5, 0xF
+ beq _080682F2
+ lsls r0, r5, 4
+ ands r2, r3
+ orrs r2, r0
+ strb r2, [r4, 0xB]
+_080682F2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end ObjectEventUpdateZCoord
+
+ thumb_func_start SetObjectSubpriorityByZCoord
+SetObjectSubpriorityByZCoord: @ 80682F8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ adds r3, r1, 0
+ adds r3, 0x29
+ movs r5, 0
+ ldrsb r5, [r3, r5]
+ ldrh r4, [r1, 0x22]
+ ldr r3, _08068338 @ =gSpriteCoordOffsetY
+ subs r4, r5
+ ldrh r3, [r3]
+ adds r4, r3
+ adds r4, 0x8
+ movs r3, 0xFF
+ ands r4, r3
+ lsrs r4, 4
+ movs r3, 0x10
+ subs r3, r4
+ lsls r3, 17
+ ldr r4, _0806833C @ =gUnknown_83A706C
+ adds r0, r4
+ lsrs r3, 16
+ ldrb r0, [r0]
+ adds r3, r0
+ adds r2, r3
+ adds r1, 0x43
+ strb r2, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068338: .4byte gSpriteCoordOffsetY
+_0806833C: .4byte gUnknown_83A706C
+ thumb_func_end SetObjectSubpriorityByZCoord
+
+ thumb_func_start ObjectEventUpdateSubpriority
+ObjectEventUpdateSubpriority: @ 8068340
+ push {lr}
+ adds r2, r0, 0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 29
+ cmp r0, 0
+ blt _08068356
+ ldrb r0, [r2, 0xB]
+ lsrs r0, 4
+ movs r2, 0x1
+ bl SetObjectSubpriorityByZCoord
+_08068356:
+ pop {r0}
+ bx r0
+ thumb_func_end ObjectEventUpdateSubpriority
+
+ thumb_func_start AreZCoordsCompatible
+AreZCoordsCompatible: @ 806835C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ cmp r0, 0
+ beq _08068372
+ cmp r1, 0
+ beq _08068372
+ cmp r0, r1
+ bne _08068376
+_08068372:
+ movs r0, 0x1
+ b _08068378
+_08068376:
+ movs r0, 0
+_08068378:
+ pop {r1}
+ bx r1
+ thumb_func_end AreZCoordsCompatible
+
+ thumb_func_start GroundEffect_SpawnOnTallGrass
+GroundEffect_SpawnOnTallGrass: @ 806837C
+ push {lr}
+ ldr r3, _080683C0 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _080683C4 @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0x1
+ str r0, [r3, 0x1C]
+ movs r0, 0x4
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080683C0: .4byte gFieldEffectArguments
+_080683C4: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_SpawnOnTallGrass
+
+ thumb_func_start GroundEffect_StepOnTallGrass
+GroundEffect_StepOnTallGrass: @ 80683C8
+ push {lr}
+ ldr r3, _0806840C @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _08068410 @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0
+ str r0, [r3, 0x1C]
+ movs r0, 0x4
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806840C: .4byte gFieldEffectArguments
+_08068410: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_StepOnTallGrass
+
+ thumb_func_start GroundEffect_SpawnOnLongGrass
+GroundEffect_SpawnOnLongGrass: @ 8068414
+ push {lr}
+ ldr r3, _08068458 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _0806845C @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0x1
+ str r0, [r3, 0x1C]
+ movs r0, 0x11
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068458: .4byte gFieldEffectArguments
+_0806845C: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_SpawnOnLongGrass
+
+ thumb_func_start GroundEffect_StepOnLongGrass
+GroundEffect_StepOnLongGrass: @ 8068460
+ push {lr}
+ ldr r3, _080684A4 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _080684A8 @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0
+ str r0, [r3, 0x1C]
+ movs r0, 0x11
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080684A4: .4byte gFieldEffectArguments
+_080684A8: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_StepOnLongGrass
+
+ thumb_func_start GroundEffect_WaterReflection
+GroundEffect_WaterReflection: @ 80684AC
+ push {lr}
+ movs r2, 0
+ bl SetUpReflection
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_WaterReflection
+
+ thumb_func_start GroundEffect_IceReflection
+GroundEffect_IceReflection: @ 80684B8
+ push {lr}
+ movs r2, 0x1
+ bl SetUpReflection
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_IceReflection
+
+ thumb_func_start GroundEffect_FlowingWater
+GroundEffect_FlowingWater: @ 80684C4
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x22
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_FlowingWater
+
+ thumb_func_start GroundEffect_SandTracks
+GroundEffect_SandTracks: @ 80684D4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x5]
+ bl GetObjectEventGraphicsInfo
+ ldr r1, _080684FC @ =gUnknown_83A709C
+ ldrb r0, [r0, 0xD]
+ lsls r0, 2
+ adds r0, r1
+ ldr r3, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl _call_via_r3
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080684FC: .4byte gUnknown_83A709C
+ thumb_func_end GroundEffect_SandTracks
+
+ thumb_func_start GroundEffect_DeepSandTracks
+GroundEffect_DeepSandTracks: @ 8068500
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x5]
+ bl GetObjectEventGraphicsInfo
+ ldr r1, _08068528 @ =gUnknown_83A709C
+ ldrb r0, [r0, 0xD]
+ lsls r0, 2
+ adds r0, r1
+ ldr r3, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl _call_via_r3
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068528: .4byte gUnknown_83A709C
+ thumb_func_end GroundEffect_DeepSandTracks
+
+ thumb_func_start nullsub_26
+nullsub_26: @ 806852C
+ bx lr
+ thumb_func_end nullsub_26
+
+ thumb_func_start DoTracksGroundEffect_Footprints
+DoTracksGroundEffect_Footprints: @ 8068530
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ lsls r4, r2, 24
+ lsrs r4, 24
+ ldr r1, _08068578 @ =gUnknown_83A70A8
+ mov r0, sp
+ movs r2, 0x4
+ bl memcpy
+ ldr r1, _0806857C @ =gFieldEffectArguments
+ movs r2, 0x14
+ ldrsh r0, [r5, r2]
+ str r0, [r1]
+ movs r2, 0x16
+ ldrsh r0, [r5, r2]
+ str r0, [r1, 0x4]
+ movs r0, 0x95
+ str r0, [r1, 0x8]
+ movs r0, 0x2
+ str r0, [r1, 0xC]
+ ldrb r0, [r5, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ str r0, [r1, 0x10]
+ lsls r4, 1
+ mov r1, sp
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ bl FieldEffectStart
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068578: .4byte gUnknown_83A70A8
+_0806857C: .4byte gFieldEffectArguments
+ thumb_func_end DoTracksGroundEffect_Footprints
+
+ thumb_func_start DoTracksGroundEffect_BikeTireTracks
+DoTracksGroundEffect_BikeTireTracks: @ 8068580
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, [r4, 0x10]
+ ldr r0, [r4, 0x14]
+ cmp r1, r0
+ beq _080685C2
+ ldr r2, _080685C8 @ =gFieldEffectArguments
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ str r0, [r2]
+ movs r1, 0x16
+ ldrsh r0, [r4, r1]
+ str r0, [r2, 0x4]
+ movs r0, 0x95
+ str r0, [r2, 0x8]
+ movs r0, 0x2
+ str r0, [r2, 0xC]
+ ldr r3, _080685CC @ =gUnknown_83A70AC
+ ldrb r1, [r4, 0x18]
+ lsls r1, 28
+ lsrs r1, 28
+ adds r0, r4, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ lsls r0, 2
+ subs r0, 0x5
+ adds r1, r0
+ adds r1, r3
+ ldrb r0, [r1]
+ str r0, [r2, 0x10]
+ movs r0, 0x23
+ bl FieldEffectStart
+_080685C2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080685C8: .4byte gFieldEffectArguments
+_080685CC: .4byte gUnknown_83A70AC
+ thumb_func_end DoTracksGroundEffect_BikeTireTracks
+
+ thumb_func_start GroundEffect_Ripple
+GroundEffect_Ripple: @ 80685D0
+ push {lr}
+ bl DoRippleFieldEffect
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_Ripple
+
+ thumb_func_start GroundEffect_StepOnPuddle
+GroundEffect_StepOnPuddle: @ 80685DC
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0xF
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_StepOnPuddle
+
+ thumb_func_start GroundEffect_SandHeap
+GroundEffect_SandHeap: @ 80685EC
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x27
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_SandHeap
+
+ thumb_func_start GroundEffect_JumpOnTallGrass
+GroundEffect_JumpOnTallGrass: @ 80685FC
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldr r1, _08068650 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r0, [r5, r2]
+ str r0, [r1]
+ movs r4, 0x12
+ ldrsh r0, [r5, r4]
+ str r0, [r1, 0x4]
+ ldrb r0, [r5, 0xB]
+ lsrs r0, 4
+ str r0, [r1, 0x8]
+ movs r0, 0x2
+ str r0, [r1, 0xC]
+ movs r0, 0xC
+ bl FieldEffectStart
+ ldrb r0, [r5, 0x8]
+ ldrb r1, [r5, 0x9]
+ ldrb r2, [r5, 0xA]
+ movs r7, 0x10
+ ldrsh r3, [r5, r7]
+ movs r7, 0x12
+ ldrsh r4, [r5, r7]
+ str r4, [sp]
+ bl sub_80DB564
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ bne _08068646
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl GroundEffect_SpawnOnTallGrass
+_08068646:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068650: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnTallGrass
+
+ thumb_func_start GroundEffect_JumpOnLongGrass
+GroundEffect_JumpOnLongGrass: @ 8068654
+ push {lr}
+ ldr r2, _08068678 @ =gFieldEffectArguments
+ movs r3, 0x10
+ ldrsh r1, [r0, r3]
+ str r1, [r2]
+ movs r3, 0x12
+ ldrsh r1, [r0, r3]
+ str r1, [r2, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r2, 0x8]
+ movs r0, 0x2
+ str r0, [r2, 0xC]
+ movs r0, 0x12
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068678: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnLongGrass
+
+ thumb_func_start GroundEffect_JumpOnShallowWater
+GroundEffect_JumpOnShallowWater: @ 806867C
+ push {r4,lr}
+ ldr r3, _080686A8 @ =gFieldEffectArguments
+ movs r4, 0x10
+ ldrsh r2, [r0, r4]
+ str r2, [r3]
+ movs r4, 0x12
+ ldrsh r2, [r0, r4]
+ str r2, [r3, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r3, 0x8]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [r3, 0xC]
+ movs r0, 0x10
+ bl FieldEffectStart
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080686A8: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnShallowWater
+
+ thumb_func_start GroundEffect_JumpOnWater
+GroundEffect_JumpOnWater: @ 80686AC
+ push {r4,lr}
+ ldr r3, _080686D8 @ =gFieldEffectArguments
+ movs r4, 0x10
+ ldrsh r2, [r0, r4]
+ str r2, [r3]
+ movs r4, 0x12
+ ldrsh r2, [r0, r4]
+ str r2, [r3, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r3, 0x8]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [r3, 0xC]
+ movs r0, 0xE
+ bl FieldEffectStart
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080686D8: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnWater
+
+ thumb_func_start GroundEffect_JumpLandingDust
+GroundEffect_JumpLandingDust: @ 80686DC
+ push {r4,lr}
+ ldr r3, _08068708 @ =gFieldEffectArguments
+ movs r4, 0x10
+ ldrsh r2, [r0, r4]
+ str r2, [r3]
+ movs r4, 0x12
+ ldrsh r2, [r0, r4]
+ str r2, [r3, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r3, 0x8]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [r3, 0xC]
+ movs r0, 0xA
+ bl FieldEffectStart
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068708: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpLandingDust
+
+ thumb_func_start GroundEffect_ShortGrass
+GroundEffect_ShortGrass: @ 806870C
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x29
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_ShortGrass
+
+ thumb_func_start GroundEffect_HotSprings
+GroundEffect_HotSprings: @ 806871C
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x2A
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_HotSprings
+
+ thumb_func_start GroundEffect_Seaweed
+GroundEffect_Seaweed: @ 806872C
+ push {lr}
+ ldr r2, _08068748 @ =gFieldEffectArguments
+ movs r3, 0x10
+ ldrsh r1, [r0, r3]
+ str r1, [r2]
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ str r0, [r2, 0x4]
+ movs r0, 0x35
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068748: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_Seaweed
+
+ thumb_func_start DoFlaggedGroundEffects
+DoFlaggedGroundEffects: @ 806874C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r7, r1, 0
+ adds r5, r2, 0
+ ldrb r0, [r6, 0x8]
+ cmp r0, 0x7F
+ bne _08068766
+ ldrb r0, [r6, 0x1]
+ lsls r0, 26
+ cmp r0, 0
+ blt _0806878E
+_08068766:
+ movs r4, 0
+ ldr r0, _08068798 @ =gUnknown_83A70BC
+ mov r8, r0
+_0806876C:
+ movs r0, 0x1
+ ands r0, r5
+ cmp r0, 0
+ beq _08068782
+ lsls r0, r4, 2
+ add r0, r8
+ ldr r2, [r0]
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl _call_via_r2
+_08068782:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsrs r5, 1
+ cmp r4, 0x13
+ bls _0806876C
+_0806878E:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068798: .4byte gUnknown_83A70BC
+ thumb_func_end DoFlaggedGroundEffects
+
+ thumb_func_start filters_out_some_ground_effects
+filters_out_some_ground_effects: @ 806879C
+ push {lr}
+ adds r2, r0, 0
+ adds r3, r1, 0
+ ldrb r0, [r2]
+ lsls r0, 27
+ cmp r0, 0
+ bge _080687CA
+ ldrb r1, [r2, 0x2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ adds r1, 0x8
+ ands r0, r1
+ subs r1, 0x18
+ ands r0, r1
+ strb r0, [r2, 0x2]
+ ldr r0, [r3]
+ ldr r1, _080687D0 @ =0xfff9f7bd
+ ands r0, r1
+ str r0, [r3]
+_080687CA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080687D0: .4byte 0xfff9f7bd
+ thumb_func_end filters_out_some_ground_effects
+
+ thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping
+FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4
+ push {lr}
+ adds r2, r1, 0
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _080687E8
+ ldr r0, [r2]
+ ldr r1, _080687EC @ =0xfffffbff
+ ands r0, r1
+ str r0, [r2]
+_080687E8:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080687EC: .4byte 0xfffffbff
+ thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping
+
+ thumb_func_start DoGroundEffects_OnSpawn
+DoGroundEffects_OnSpawn: @ 80687F0
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4]
+ lsls r0, 29
+ cmp r0, 0
+ bge _08068834
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoordAndPriority
+ adds r0, r4, 0
+ mov r1, sp
+ bl GetAllGroundEffectFlags_OnSpawn
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl ObjectEventSetSpriteOamTableForLongGrass
+ ldr r2, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl DoFlaggedGroundEffects
+ ldrb r1, [r4]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r4]
+_08068834:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end DoGroundEffects_OnSpawn
+
+ thumb_func_start DoGroundEffects_OnBeginStep
+DoGroundEffects_OnBeginStep: @ 806883C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4]
+ lsls r0, 29
+ cmp r0, 0
+ bge _08068888
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoordAndPriority
+ adds r0, r4, 0
+ mov r1, sp
+ bl GetAllGroundEffectFlags_OnBeginStep
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl ObjectEventSetSpriteOamTableForLongGrass
+ adds r0, r4, 0
+ mov r1, sp
+ bl filters_out_some_ground_effects
+ ldr r2, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl DoFlaggedGroundEffects
+ ldrb r1, [r4]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r4]
+_08068888:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end DoGroundEffects_OnBeginStep
+
+ thumb_func_start DoGroundEffects_OnFinishStep
+DoGroundEffects_OnFinishStep: @ 8068890
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4]
+ lsls r0, 28
+ cmp r0, 0
+ bge _080688DC
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoordAndPriority
+ adds r0, r4, 0
+ mov r1, sp
+ bl GetAllGroundEffectFlags_OnFinishStep
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl ObjectEventSetSpriteOamTableForLongGrass
+ adds r0, r4, 0
+ mov r1, sp
+ bl FilterOutStepOnPuddleGroundEffectIfJumping
+ ldr r2, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl DoFlaggedGroundEffects
+ ldrb r1, [r4]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x21
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r4]
+_080688DC:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end DoGroundEffects_OnFinishStep
+
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_effect.s b/asm/field_effect.s
index 462182563..64ef0ae18 100644
--- a/asm/field_effect.s
+++ b/asm/field_effect.s
@@ -2238,7 +2238,7 @@ sub_80844BC: @ 80844BC
bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2666,7 +2666,7 @@ _0808484A:
bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2947,7 +2947,7 @@ sub_8084A5C: @ 8084A5C
ldr r0, _08084AC0 @ =gObjectEvents
adds r4, r0
movs r0, 0x4
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3200,7 +3200,7 @@ sub_8084C3C: @ 8084C3C
bl ScriptContext2_Disable
bl UnfreezeObjectEvents
movs r0, 0x4
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4668,7 +4668,7 @@ _0808579E:
lsrs r0, 28
adds r0, r7
ldrb r0, [r0]
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7130,7 +7130,7 @@ sub_8086AB4: @ 8086AB4
ldr r0, _08086B28 @ =gObjectEvents
adds r4, r0
movs r0, 0x2
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7194,7 +7194,7 @@ sub_8086B30: @ 8086B30
strb r0, [r5]
ldrb r0, [r4, 0x18]
lsrs r0, 4
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7361,7 +7361,7 @@ _08086CA4:
beq _08086CC0
movs r0, 0x2
_08086CAE:
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7370,7 +7370,7 @@ _08086CAE:
b _08086CD2
_08086CC0:
movs r0, 0
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7380,7 +7380,7 @@ _08086CD2:
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7804,7 +7804,7 @@ sub_8086FFC: @ 8086FFC
ldr r0, _08087064 @ =gObjectEvents
adds r4, r0
movs r0, 0x2
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -8463,7 +8463,7 @@ _080874F2:
bl sub_80DC44C
_0808751A:
movs r0, 0x2
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -8790,7 +8790,7 @@ fishE: @ 8087780
bl sub_80DC44C
_080877B4:
adds r0, r7, 0
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s
deleted file mode 100644
index b9f0c842d..000000000
--- a/asm/field_ground_effect.s
+++ /dev/null
@@ -1,1894 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetAllGroundEffectFlags_OnSpawn
-GetAllGroundEffectFlags_OnSpawn: @ 8067B34
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ObjectEventUpdateMetatileBehaviors
- 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: @ 8067B7C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ObjectEventUpdateMetatileBehaviors
- 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: @ 8067BD4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ObjectEventUpdateMetatileBehaviors
- 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 ObjectEventUpdateMetatileBehaviors
-ObjectEventUpdateMetatileBehaviors: @ 8067C24
- 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 ObjectEventUpdateMetatileBehaviors
-
- thumb_func_start GetGroundEffectFlags_Reflection
-GetGroundEffectFlags_Reflection: @ 8067C4C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _08067C90 @ =gUnknown_83A7024
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- adds r0, r4, 0
- bl sub_8067F88
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08067C94
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 30
- cmp r0, 0
- blt _08067C9E
- 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 _08067C9E
- .align 2, 0
-_08067C90: .4byte gUnknown_83A7024
-_08067C94:
- ldrb r1, [r4, 0x2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067C9E:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Reflection
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn
-GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass_2
- lsls r0, 24
- cmp r0, 0
- beq _08067CC0
- ldr r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- str r0, [r4]
-_08067CC0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep
-GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass_2
- lsls r0, 24
- cmp r0, 0
- beq _08067CE0
- ldr r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- str r0, [r4]
-_08067CE0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn
-GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08067D00
- ldr r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- str r0, [r4]
-_08067D00:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep
-GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08067D20
- ldr r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- str r0, [r4]
-_08067D20:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_Tracks
-GetGroundEffectFlags_Tracks: @ 8067D28
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse
- lsls r0, 24
- cmp r0, 0
- beq _08067D42
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 1
- b _08067D5E
-_08067D42:
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsMB21OrSand
- lsls r0, 24
- cmp r0, 0
- bne _08067D5A
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse_5
- lsls r0, 24
- cmp r0, 0
- beq _08067D62
-_08067D5A:
- ldr r0, [r5]
- movs r1, 0x80
-_08067D5E:
- orrs r0, r1
- str r0, [r5]
-_08067D62:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Tracks
-
- thumb_func_start GetGroundEffectFlags_SandHeap
-GetGroundEffectFlags_SandHeap: @ 8067D68
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_ReturnFalse
- lsls r0, 24
- cmp r0, 0
- beq _08067DA6
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse
- lsls r0, 24
- cmp r0, 0
- beq _08067DA6
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 27
- cmp r0, 0
- blt _08067DB0
- 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 _08067DB0
-_08067DA6:
- ldrb r1, [r4, 0x2]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067DB0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_SandHeap
-
- thumb_func_start GetGroundEffectFlags_ShallowFlowingWater
-GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsWaterfallBottom
- lsls r0, 24
- cmp r0, 0
- beq _08067DD6
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsWaterfallBottom
- lsls r0, 24
- cmp r0, 0
- bne _08067DEE
-_08067DD6:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_ReturnFalse_10
- lsls r0, 24
- cmp r0, 0
- beq _08067E0C
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse_10
- lsls r0, 24
- cmp r0, 0
- beq _08067E0C
-_08067DEE:
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 28
- cmp r0, 0
- blt _08067E16
- 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 _08067E16
-_08067E0C:
- ldrb r1, [r4, 0x2]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067E16:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShallowFlowingWater
-
- thumb_func_start GetGroundEffectFlags_Puddle
-GetGroundEffectFlags_Puddle: @ 8067E1C
- 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 _08067E44
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08067E44
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- str r0, [r5]
-_08067E44:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Puddle
-
- thumb_func_start GetGroundEffectFlags_Ripple
-GetGroundEffectFlags_Ripple: @ 8067E4C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsPondWaterOrPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08067E66
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r4]
-_08067E66:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Ripple
-
- thumb_func_start GetGroundEffectFlags_ShortGrass
-GetGroundEffectFlags_ShortGrass: @ 8067E6C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_ReturnFalse_8
- lsls r0, 24
- cmp r0, 0
- beq _08067EAA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse_8
- lsls r0, 24
- cmp r0, 0
- beq _08067EAA
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 29
- cmp r0, 0
- blt _08067EB4
- 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 _08067EB4
-_08067EAA:
- ldrb r1, [r4, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067EB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShortGrass
-
- thumb_func_start GetGroundEffectFlags_HotSprings
-GetGroundEffectFlags_HotSprings: @ 8067EBC
- 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 _08067EFA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _08067EFA
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 26
- cmp r0, 0
- blt _08067F04
- 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 _08067F04
-_08067EFA:
- ldrb r1, [r4, 0x2]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067F04:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_HotSprings
-
- thumb_func_start GetGroundEffectFlags_Seaweed
-GetGroundEffectFlags_Seaweed: @ 8067F0C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsMB22
- lsls r0, 24
- cmp r0, 0
- beq _08067F26
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r4]
-_08067F26:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Seaweed
-
- thumb_func_start GetGroundEffectFlags_JumpLanding
-GetGroundEffectFlags_JumpLanding: @ 8067F2C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r0, [r7]
- ldr r1, _08067F68 @ =0x02000020
- ands r0, r1
- cmp r0, 0x20
- bne _08067F7E
- movs r5, 0
- ldr r0, _08067F6C @ =gUnknown_83A702C
- mov r8, r0
-_08067F46:
- lsls r4, r5, 2
- mov r0, r8
- adds r1, r4, r0
- ldrb r0, [r7, 0x1E]
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _08067F74
- ldr r0, _08067F70 @ =gUnknown_83A7044
- adds r0, r4, r0
- ldr r1, [r6]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r6]
- b _08067F7E
- .align 2, 0
-_08067F68: .4byte 0x02000020
-_08067F6C: .4byte gUnknown_83A702C
-_08067F70: .4byte gUnknown_83A7044
-_08067F74:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08067F46
-_08067F7E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_JumpLanding
-
- thumb_func_start sub_8067F88
-sub_8067F88: @ 8067F88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- ldrb r0, [r5, 0x5]
- bl GetObjectEventGraphicsInfo
- movs r4, 0
- movs r0, 0x1
- mov r10, r0
-_08067FA0:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- add r1, r10
- lsls r4, 16
- asrs r6, r4, 16
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- mov r9, r4
- cmp r0, 0
- bne _080680BA
- movs r3, 0x14
- ldrsh r0, [r5, r3]
- ldrh r1, [r5, 0x16]
- add r1, r10
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- movs r2, 0x1
- lsls r0, r2, 16
- asrs r1, r0, 16
- mov r8, r0
- cmp r2, r1
- bge _080680A8
- movs r0, 0x80
- lsls r0, 9
- asrs r7, r0, 16
-_08067FFC:
- ldrh r0, [r5, 0x10]
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x12]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- ldrh r0, [r5, 0x10]
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x12]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- ldrh r0, [r5, 0x14]
- adds r0, r4, r0
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x16]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- ldrh r0, [r5, 0x14]
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x16]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- mov r3, r8
- asrs r1, r3, 16
- cmp r0, r1
- blt _08067FFC
-_080680A8:
- movs r0, 0x80
- lsls r0, 9
- add r0, r9
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bge _080680B8
- b _08067FA0
-_080680B8:
- movs r0, 0
-_080680BA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8067F88
-
- thumb_func_start GetReflectionTypeByMetatileBehavior
-GetReflectionTypeByMetatileBehavior: @ 80680C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsIce
- lsls r0, 24
- cmp r0, 0
- beq _080680DE
- movs r0, 0x1
- b _080680F0
-_080680DE:
- adds r0, r4, 0
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- bne _080680EE
- movs r0, 0
- b _080680F0
-_080680EE:
- movs r0, 0x2
-_080680F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetReflectionTypeByMetatileBehavior
-
- thumb_func_start GetLedgeJumpDirection
-GetLedgeJumpDirection: @ 80680F8
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _0806813E
- cmp r4, 0x4
- bls _08068114
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
-_08068114:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08068144 @ =gUnknown_83A705C
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08068148
-_0806813E:
- movs r0, 0
- b _0806814E
- .align 2, 0
-_08068144: .4byte gUnknown_83A705C
-_08068148:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
-_0806814E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetLedgeJumpDirection
-
- thumb_func_start ObjectEventSetSpriteOamTableForLongGrass
-ObjectEventSetSpriteOamTableForLongGrass: @ 8068154
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5]
- lsls r0, 27
- cmp r0, 0
- blt _080681A8
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080681A8
- ldrb r0, [r5, 0x1F]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080681A8
- adds r4, 0x42
- ldrb r1, [r4]
- movs r6, 0x40
- negs r6, r6
- adds r0, r6, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- bl ZCoordToPriority
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080681A8
- ldrb r0, [r4]
- adds r1, r6, 0
- ands r1, r0
- movs r0, 0x5
- orrs r1, r0
- strb r1, [r4]
-_080681A8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ObjectEventSetSpriteOamTableForLongGrass
-
- thumb_func_start IsZCoordMismatchAt
-IsZCoordMismatchAt: @ 80681B0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r1, r2, 16
- cmp r4, 0
- beq _080681DE
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080681DE
- cmp r0, 0xF
- beq _080681DE
- cmp r0, r4
- bne _080681E2
-_080681DE:
- movs r0, 0
- b _080681E4
-_080681E2:
- movs r0, 0x1
-_080681E4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsZCoordMismatchAt
-
- thumb_func_start ObjectEventUpdateZCoordAndPriority
-ObjectEventUpdateZCoordAndPriority: @ 80681EC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _0806823A
- adds r0, r4, 0
- bl ObjectEventUpdateZCoord
- ldr r1, _08068240 @ =gUnknown_83A708C
- ldrb r2, [r4, 0xB]
- lsls r2, 24
- lsrs r0, r2, 28
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r5, 0
- adds r4, 0x42
- movs r1, 0x3F
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x40
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- ldr r0, _08068244 @ =gUnknown_83A707C
- lsrs r2, 28
- adds r2, r0
- movs r0, 0x3
- ldrb r1, [r2]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
-_0806823A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068240: .4byte gUnknown_83A708C
-_08068244: .4byte gUnknown_83A707C
- thumb_func_end ObjectEventUpdateZCoordAndPriority
-
- thumb_func_start InitObjectPriorityByZCoord
-InitObjectPriorityByZCoord: @ 8068248
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0806828C @ =gUnknown_83A708C
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r3, 0x42
- adds r3, r0
- mov r12, r3
- movs r3, 0x3F
- ands r3, r2
- mov r2, r12
- ldrb r4, [r2]
- movs r2, 0x40
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- ldr r2, _08068290 @ =gUnknown_83A707C
- adds r1, r2
- movs r3, 0x3
- ldrb r2, [r1]
- ands r2, r3
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806828C: .4byte gUnknown_83A708C
-_08068290: .4byte gUnknown_83A707C
- thumb_func_end InitObjectPriorityByZCoord
-
- thumb_func_start ZCoordToPriority
-ZCoordToPriority: @ 8068294
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080682A0 @ =gUnknown_83A707C
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080682A0: .4byte gUnknown_83A707C
- thumb_func_end ZCoordToPriority
-
- thumb_func_start ObjectEventUpdateZCoord
-ObjectEventUpdateZCoord: @ 80682A4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r5, 0xF
- beq _080682F2
- cmp r0, 0xF
- beq _080682F2
- movs r3, 0xF
- adds r0, r5, 0
- ands r0, r3
- ldrb r1, [r4, 0xB]
- movs r2, 0x10
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- cmp r5, 0
- beq _080682F2
- cmp r5, 0xF
- beq _080682F2
- lsls r0, r5, 4
- ands r2, r3
- orrs r2, r0
- strb r2, [r4, 0xB]
-_080682F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ObjectEventUpdateZCoord
-
- thumb_func_start SetObjectSubpriorityByZCoord
-SetObjectSubpriorityByZCoord: @ 80682F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0
- adds r3, 0x29
- movs r5, 0
- ldrsb r5, [r3, r5]
- ldrh r4, [r1, 0x22]
- ldr r3, _08068338 @ =gSpriteCoordOffsetY
- subs r4, r5
- ldrh r3, [r3]
- adds r4, r3
- adds r4, 0x8
- movs r3, 0xFF
- ands r4, r3
- lsrs r4, 4
- movs r3, 0x10
- subs r3, r4
- lsls r3, 17
- ldr r4, _0806833C @ =gUnknown_83A706C
- adds r0, r4
- lsrs r3, 16
- ldrb r0, [r0]
- adds r3, r0
- adds r2, r3
- adds r1, 0x43
- strb r2, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068338: .4byte gSpriteCoordOffsetY
-_0806833C: .4byte gUnknown_83A706C
- thumb_func_end SetObjectSubpriorityByZCoord
-
- thumb_func_start ObjectEventUpdateSubpriority
-ObjectEventUpdateSubpriority: @ 8068340
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08068356
- ldrb r0, [r2, 0xB]
- lsrs r0, 4
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
-_08068356:
- pop {r0}
- bx r0
- thumb_func_end ObjectEventUpdateSubpriority
-
- thumb_func_start AreZCoordsCompatible
-AreZCoordsCompatible: @ 806835C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0
- beq _08068372
- cmp r1, 0
- beq _08068372
- cmp r0, r1
- bne _08068376
-_08068372:
- movs r0, 0x1
- b _08068378
-_08068376:
- movs r0, 0
-_08068378:
- pop {r1}
- bx r1
- thumb_func_end AreZCoordsCompatible
-
- thumb_func_start GroundEffect_SpawnOnTallGrass
-GroundEffect_SpawnOnTallGrass: @ 806837C
- push {lr}
- ldr r3, _080683C0 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _080683C4 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_080683C0: .4byte gFieldEffectArguments
-_080683C4: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_SpawnOnTallGrass
-
- thumb_func_start GroundEffect_StepOnTallGrass
-GroundEffect_StepOnTallGrass: @ 80683C8
- push {lr}
- ldr r3, _0806840C @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _08068410 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_0806840C: .4byte gFieldEffectArguments
-_08068410: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_StepOnTallGrass
-
- thumb_func_start GroundEffect_SpawnOnLongGrass
-GroundEffect_SpawnOnLongGrass: @ 8068414
- push {lr}
- ldr r3, _08068458 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _0806845C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08068458: .4byte gFieldEffectArguments
-_0806845C: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_SpawnOnLongGrass
-
- thumb_func_start GroundEffect_StepOnLongGrass
-GroundEffect_StepOnLongGrass: @ 8068460
- push {lr}
- ldr r3, _080684A4 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _080684A8 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_080684A4: .4byte gFieldEffectArguments
-_080684A8: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_StepOnLongGrass
-
- thumb_func_start GroundEffect_WaterReflection
-GroundEffect_WaterReflection: @ 80684AC
- push {lr}
- movs r2, 0
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_WaterReflection
-
- thumb_func_start GroundEffect_IceReflection
-GroundEffect_IceReflection: @ 80684B8
- push {lr}
- movs r2, 0x1
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_IceReflection
-
- thumb_func_start GroundEffect_FlowingWater
-GroundEffect_FlowingWater: @ 80684C4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x22
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_FlowingWater
-
- thumb_func_start GroundEffect_SandTracks
-GroundEffect_SandTracks: @ 80684D4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetObjectEventGraphicsInfo
- ldr r1, _080684FC @ =gUnknown_83A709C
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080684FC: .4byte gUnknown_83A709C
- thumb_func_end GroundEffect_SandTracks
-
- thumb_func_start GroundEffect_DeepSandTracks
-GroundEffect_DeepSandTracks: @ 8068500
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetObjectEventGraphicsInfo
- ldr r1, _08068528 @ =gUnknown_83A709C
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068528: .4byte gUnknown_83A709C
- thumb_func_end GroundEffect_DeepSandTracks
-
- thumb_func_start nullsub_26
-nullsub_26: @ 806852C
- bx lr
- thumb_func_end nullsub_26
-
- thumb_func_start DoTracksGroundEffect_Footprints
-DoTracksGroundEffect_Footprints: @ 8068530
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r1, _08068578 @ =gUnknown_83A70A8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r1, _0806857C @ =gFieldEffectArguments
- movs r2, 0x14
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- movs r0, 0x95
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- str r0, [r1, 0x10]
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl FieldEffectStart
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068578: .4byte gUnknown_83A70A8
-_0806857C: .4byte gFieldEffectArguments
- thumb_func_end DoTracksGroundEffect_Footprints
-
- thumb_func_start DoTracksGroundEffect_BikeTireTracks
-DoTracksGroundEffect_BikeTireTracks: @ 8068580
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- beq _080685C2
- ldr r2, _080685C8 @ =gFieldEffectArguments
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- movs r0, 0x95
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- ldr r3, _080685CC @ =gUnknown_83A70AC
- ldrb r1, [r4, 0x18]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 2
- subs r0, 0x5
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- str r0, [r2, 0x10]
- movs r0, 0x23
- bl FieldEffectStart
-_080685C2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080685C8: .4byte gFieldEffectArguments
-_080685CC: .4byte gUnknown_83A70AC
- thumb_func_end DoTracksGroundEffect_BikeTireTracks
-
- thumb_func_start GroundEffect_Ripple
-GroundEffect_Ripple: @ 80685D0
- push {lr}
- bl DoRippleFieldEffect
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_Ripple
-
- thumb_func_start GroundEffect_StepOnPuddle
-GroundEffect_StepOnPuddle: @ 80685DC
- push {lr}
- adds r1, r0, 0
- movs r0, 0xF
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_StepOnPuddle
-
- thumb_func_start GroundEffect_SandHeap
-GroundEffect_SandHeap: @ 80685EC
- push {lr}
- adds r1, r0, 0
- movs r0, 0x27
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_SandHeap
-
- thumb_func_start GroundEffect_JumpOnTallGrass
-GroundEffect_JumpOnTallGrass: @ 80685FC
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, _08068650 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r4, 0x12
- ldrsh r0, [r5, r4]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- movs r0, 0xC
- bl FieldEffectStart
- ldrb r0, [r5, 0x8]
- ldrb r1, [r5, 0x9]
- ldrb r2, [r5, 0xA]
- movs r7, 0x10
- ldrsh r3, [r5, r7]
- movs r7, 0x12
- ldrsh r4, [r5, r7]
- str r4, [sp]
- bl sub_80DB564
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- bne _08068646
- adds r0, r5, 0
- adds r1, r6, 0
- bl GroundEffect_SpawnOnTallGrass
-_08068646:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068650: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnTallGrass
-
- thumb_func_start GroundEffect_JumpOnLongGrass
-GroundEffect_JumpOnLongGrass: @ 8068654
- push {lr}
- ldr r2, _08068678 @ =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r3, 0x12
- ldrsh r1, [r0, r3]
- str r1, [r2, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x12
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08068678: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnLongGrass
-
- thumb_func_start GroundEffect_JumpOnShallowWater
-GroundEffect_JumpOnShallowWater: @ 806867C
- push {r4,lr}
- ldr r3, _080686A8 @ =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x10
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080686A8: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnShallowWater
-
- thumb_func_start GroundEffect_JumpOnWater
-GroundEffect_JumpOnWater: @ 80686AC
- push {r4,lr}
- ldr r3, _080686D8 @ =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xE
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080686D8: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnWater
-
- thumb_func_start GroundEffect_JumpLandingDust
-GroundEffect_JumpLandingDust: @ 80686DC
- push {r4,lr}
- ldr r3, _08068708 @ =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xA
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08068708: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpLandingDust
-
- thumb_func_start GroundEffect_ShortGrass
-GroundEffect_ShortGrass: @ 806870C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x29
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_ShortGrass
-
- thumb_func_start GroundEffect_HotSprings
-GroundEffect_HotSprings: @ 806871C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2A
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_HotSprings
-
- thumb_func_start GroundEffect_Seaweed
-GroundEffect_Seaweed: @ 806872C
- push {lr}
- ldr r2, _08068748 @ =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- str r0, [r2, 0x4]
- movs r0, 0x35
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08068748: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_Seaweed
-
- thumb_func_start DoFlaggedGroundEffects
-DoFlaggedGroundEffects: @ 806874C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- ldrb r0, [r6, 0x8]
- cmp r0, 0x7F
- bne _08068766
- ldrb r0, [r6, 0x1]
- lsls r0, 26
- cmp r0, 0
- blt _0806878E
-_08068766:
- movs r4, 0
- ldr r0, _08068798 @ =gUnknown_83A70BC
- mov r8, r0
-_0806876C:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08068782
- lsls r0, r4, 2
- add r0, r8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_08068782:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsrs r5, 1
- cmp r4, 0x13
- bls _0806876C
-_0806878E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068798: .4byte gUnknown_83A70BC
- thumb_func_end DoFlaggedGroundEffects
-
- thumb_func_start filters_out_some_ground_effects
-filters_out_some_ground_effects: @ 806879C
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldrb r0, [r2]
- lsls r0, 27
- cmp r0, 0
- bge _080687CA
- ldrb r1, [r2, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- adds r1, 0x8
- ands r0, r1
- subs r1, 0x18
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r0, [r3]
- ldr r1, _080687D0 @ =0xfff9f7bd
- ands r0, r1
- str r0, [r3]
-_080687CA:
- pop {r0}
- bx r0
- .align 2, 0
-_080687D0: .4byte 0xfff9f7bd
- thumb_func_end filters_out_some_ground_effects
-
- thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping
-FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4
- push {lr}
- adds r2, r1, 0
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080687E8
- ldr r0, [r2]
- ldr r1, _080687EC @ =0xfffffbff
- ands r0, r1
- str r0, [r2]
-_080687E8:
- pop {r0}
- bx r0
- .align 2, 0
-_080687EC: .4byte 0xfffffbff
- thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping
-
- thumb_func_start DoGroundEffects_OnSpawn
-DoGroundEffects_OnSpawn: @ 80687F0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _08068834
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl ObjectEventUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl ObjectEventSetSpriteOamTableForLongGrass
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_08068834:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnSpawn
-
- thumb_func_start DoGroundEffects_OnBeginStep
-DoGroundEffects_OnBeginStep: @ 806883C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _08068888
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl ObjectEventUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl ObjectEventSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl filters_out_some_ground_effects
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_08068888:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnBeginStep
-
- thumb_func_start DoGroundEffects_OnFinishStep
-DoGroundEffects_OnFinishStep: @ 8068890
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 28
- cmp r0, 0
- bge _080688DC
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl ObjectEventUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnFinishStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl ObjectEventSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl FilterOutStepOnPuddleGroundEffectIfJumping
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_080688DC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnFinishStep
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index a605f1439..5510caceb 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -1120,7 +1120,7 @@ sub_805BBA8: @ 805BBA8
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
mov r1, sp
@@ -1323,7 +1323,7 @@ sub_805BCEC: @ 805BCEC
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r7, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _0805BDA0
@@ -1840,7 +1840,7 @@ sub_805C104: @ 805C104
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_8063F84
+ bl GetWalkNormalMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -1976,7 +1976,7 @@ PlayerFaceDirection: @ 805C1F4
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -2065,7 +2065,7 @@ _0805C27E:
ldrb r0, [r0, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
bl sub_805BFFC
@@ -2759,8 +2759,8 @@ GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 805C7E0
_0805C7F4: .4byte gUnknown_835B874
thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender
- thumb_func_start sub_805C7F8
-sub_805C7F8: @ 805C7F8
+ thumb_func_start GetHoennLinkPartnerGraphicsIdByGender
+GetHoennLinkPartnerGraphicsIdByGender: @ 805C7F8
lsls r0, 24
lsrs r0, 24
ldr r1, _0805C804 @ =gUnknown_835B880
@@ -2769,10 +2769,10 @@ sub_805C7F8: @ 805C7F8
bx lr
.align 2, 0
_0805C804: .4byte gUnknown_835B880
- thumb_func_end sub_805C7F8
+ thumb_func_end GetHoennLinkPartnerGraphicsIdByGender
- thumb_func_start sub_805C808
-sub_805C808: @ 805C808
+ thumb_func_start GetPlayerAvatarGraphicsIdByStateId
+GetPlayerAvatarGraphicsIdByStateId: @ 805C808
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2785,7 +2785,7 @@ sub_805C808: @ 805C808
bx r1
.align 2, 0
_0805C820: .4byte gPlayerAvatar
- thumb_func_end sub_805C808
+ thumb_func_end GetPlayerAvatarGraphicsIdByStateId
thumb_func_start sub_805C824
sub_805C824: @ 805C824
@@ -2906,7 +2906,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0
lsls r3, 28
lsrs r3, 28
adds r0, r4, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -3252,7 +3252,7 @@ sub_805CB70: @ 805CB70
ldr r0, _0805CBB0 @ =gObjectEvents
adds r4, r0
movs r0, 0x3
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3285,7 +3285,7 @@ sub_805CBB8: @ 805CBB8
cmp r0, 0
bne _0805CBD8
movs r0, 0x5
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
lsls r0, 24
lsrs r0, 24
b _0805CBE0
@@ -3713,7 +3713,7 @@ PlayerAvatar_DoSecretBaseMatJump: @ 805CEEC
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_806413C
+ bl GetJumpInPlaceMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3846,7 +3846,7 @@ sub_805CFEC: @ 805CFEC
add r0, sp
ldrb r6, [r0]
adds r0, r6, 0
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4129,7 +4129,7 @@ sub_805D240: @ 805D240
cmp r0, 0
beq _0805D2AE
movs r0, 0
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4138,7 +4138,7 @@ sub_805D240: @ 805D240
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -5450,7 +5450,7 @@ _0805DC9A:
ldrsh r0, [r5, r3]
adds r0, r1
ldrb r0, [r0]
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -5618,7 +5618,7 @@ _0805DDE4:
lsrs r0, 28
adds r0, r4
ldrb r0, [r0]
- bl sub_8063EB8
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
diff --git a/asm/overworld.s b/asm/overworld.s
index 5b3c01652..f18086650 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -7190,7 +7190,7 @@ SpawnLinkPlayerObjectEvent: @ 805839C
lsls r2, 24
lsrs r2, 24
mov r8, r2
- bl sub_805DF30
+ bl GetIndexOfFirstInactiveObjectEvent
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
@@ -7880,7 +7880,7 @@ _080588BC:
ldrb r0, [r4]
lsls r0, 30
lsrs r0, 31
- bl sub_805C7F8
+ bl GetHoennLinkPartnerGraphicsIdByGender
_080588C6:
lsls r0, 24
lsrs r0, 24
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
deleted file mode 100644
index c12bcaeeb..000000000
--- a/asm/trainer_see.s
+++ /dev/null
@@ -1,1628 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CheckForTrainersWantingBattle
-CheckForTrainersWantingBattle: @ 8081B30
- push {r4,r5,lr}
- bl sub_8111C2C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08081B44
- b _08081B78
-_08081B40:
- movs r0, 0x1
- b _08081B7A
-_08081B44:
- movs r4, 0
- ldr r5, _08081B80 @ =gObjectEvents
-_08081B48:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08081B6E
- ldrb r0, [r1, 0x7]
- cmp r0, 0x1
- beq _08081B62
- cmp r0, 0x3
- bne _08081B6E
-_08081B62:
- adds r0, r4, 0
- bl sub_8081B84
- lsls r0, 24
- cmp r0, 0
- bne _08081B40
-_08081B6E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08081B48
-_08081B78:
- movs r0, 0
-_08081B7A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08081B80: .4byte gObjectEvents
- thumb_func_end CheckForTrainersWantingBattle
-
- thumb_func_start sub_8081B84
-sub_8081B84: @ 8081B84
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl GetObjectEventScriptPointerByObjectEventId
- adds r6, r0, 0
- bl GetTrainerFlagFromScriptPointer
- cmp r0, 0
- bne _08081BE4
- lsls r4, r5, 3
- adds r0, r4, r5
- lsls r0, 2
- ldr r1, _08081BE0 @ =gObjectEvents
- adds r0, r1
- bl sub_8081BEC
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _08081BE4
- ldrb r0, [r6, 0x1]
- cmp r0, 0x4
- bne _08081BC0
- bl GetMonsStateToDoubles
- lsls r0, 24
- cmp r0, 0
- bne _08081BE4
-_08081BC0:
- adds r0, r5, 0
- adds r1, r6, 0
- bl ConfigureAndSetUpOneTrainerBattle
- adds r0, r4, r5
- lsls r0, 2
- ldr r1, _08081BE0 @ =gObjectEvents
- adds r0, r1
- subs r1, r7, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl sub_8081E68
- movs r0, 0x1
- b _08081BE6
- .align 2, 0
-_08081BE0: .4byte gObjectEvents
-_08081BE4:
- movs r0, 0
-_08081BE6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8081B84
-
- thumb_func_start sub_8081BEC
-sub_8081BEC: @ 8081BEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- ldrb r0, [r7, 0x7]
- mov r8, r4
- cmp r0, 0x1
- bne _08081C4C
- ldr r1, _08081C44 @ =gUnknown_83C7248
- ldrb r0, [r7, 0x18]
- lsls r0, 28
- lsrs r0, 26
- subs r0, 0x4
- adds r0, r1
- ldrb r1, [r7, 0x1D]
- mov r2, sp
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r5, 0
- ldrsh r3, [r4, r5]
- ldr r4, [r0]
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r7, 0x18]
- lsls r2, 28
- lsrs r2, 28
- adds r0, r7, 0
- adds r1, r6, 0
- bl CheckPathBetweenTrainerAndPlayer
- lsls r0, 24
- lsrs r0, 24
- b _08081C8C
- .align 2, 0
-_08081C44: .4byte gUnknown_83C7248
-_08081C48:
- adds r0, r6, 0
- b _08081C8C
-_08081C4C:
- movs r5, 0
-_08081C4E:
- ldr r0, _08081C98 @ =gUnknown_83C7248
- lsls r4, r5, 2
- adds r4, r0
- ldrb r1, [r7, 0x1D]
- mov r0, sp
- movs r6, 0
- ldrsh r2, [r0, r6]
- mov r0, r8
- movs r6, 0
- ldrsh r3, [r0, r6]
- ldr r4, [r4]
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl CheckPathBetweenTrainerAndPlayer
- lsls r0, 24
- cmp r0, 0
- bne _08081C48
- adds r5, r4, 0
- cmp r5, 0x3
- bls _08081C4E
- movs r0, 0
-_08081C8C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08081C98: .4byte gUnknown_83C7248
- thumb_func_end sub_8081BEC
-
- thumb_func_start IsTrainerInRangeSouth
-IsTrainerInRangeSouth: @ 8081C9C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 16
- lsrs r5, r3, 16
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- lsls r2, 16
- asrs r2, 16
- cmp r0, r2
- bne _08081CE4
- lsls r0, r5, 16
- asrs r2, r0, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r2, r0
- ble _08081CE4
- lsls r1, 16
- asrs r1, 16
- adds r0, r1
- cmp r2, r0
- bgt _08081CE4
- cmp r1, 0x3
- ble _08081CDA
- bl sub_805DF30
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _08081CE4
-_08081CDA:
- ldrb r0, [r4, 0x12]
- subs r0, r5, r0
- lsls r0, 24
- lsrs r0, 24
- b _08081CE6
-_08081CE4:
- movs r0, 0
-_08081CE6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeSouth
-
- thumb_func_start IsTrainerInRangeNorth
-IsTrainerInRangeNorth: @ 8081CEC
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r3, 16
- lsrs r5, r3, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r2, 16
- asrs r2, 16
- cmp r0, r2
- bne _08081D26
- lsls r0, r5, 16
- asrs r2, r0, 16
- ldrh r3, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r2, r0
- bge _08081D26
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- subs r1, r0
- cmp r2, r1
- blt _08081D26
- subs r0, r3, r5
- lsls r0, 24
- lsrs r0, 24
- b _08081D28
-_08081D26:
- movs r0, 0
-_08081D28:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeNorth
-
- thumb_func_start IsTrainerInRangeWest
-IsTrainerInRangeWest: @ 8081D30
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r3, 16
- asrs r3, 16
- cmp r0, r3
- bne _08081D6A
- lsls r0, r5, 16
- asrs r3, r0, 16
- ldrh r2, [r4, 0x10]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _08081D6A
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- subs r1, r0
- cmp r3, r1
- blt _08081D6A
- subs r0, r2, r5
- lsls r0, 24
- lsrs r0, 24
- b _08081D6C
-_08081D6A:
- movs r0, 0
-_08081D6C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeWest
-
- thumb_func_start IsTrainerInRangeEast
-IsTrainerInRangeEast: @ 8081D74
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r3, 16
- asrs r3, 16
- cmp r0, r3
- bne _08081DAE
- lsls r0, r5, 16
- asrs r3, r0, 16
- ldrh r2, [r4, 0x10]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- ble _08081DAE
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- adds r1, r0
- cmp r3, r1
- bgt _08081DAE
- subs r0, r5, r2
- lsls r0, 24
- lsrs r0, 24
- b _08081DB0
-_08081DAE:
- movs r0, 0
-_08081DB0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeEast
-
- thumb_func_start CheckPathBetweenTrainerAndPlayer
-CheckPathBetweenTrainerAndPlayer: @ 8081DB8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r1, 0
- beq _08081E54
- ldrh r1, [r6, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r6, 0x12]
- mov r1, sp
- adds r1, 0x2
- strh r0, [r1]
- movs r4, 0
- mov r8, r1
- mov r5, r9
- subs r5, 0x1
- cmp r4, r5
- bgt _08081E26
-_08081DEC:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r0, r6, 0
- adds r3, r7, 0
- bl sub_8063770
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08081E12
- movs r0, 0x2
- negs r0, r0
- ands r1, r0
- cmp r1, 0
- bne _08081E54
-_08081E12:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- mov r1, sp
- mov r2, r8
- bl MoveCoords
- cmp r4, r5
- ble _08081DEC
-_08081E26:
- ldrb r4, [r6, 0x19]
- lsls r5, r4, 28
- lsrs r5, 28
- lsrs r4, 4
- movs r0, 0
- strb r0, [r6, 0x19]
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r0, r6, 0
- adds r3, r7, 0
- bl npc_block_way
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r4, 4
- orrs r5, r4
- strb r5, [r6, 0x19]
- cmp r1, 0x4
- beq _08081E58
-_08081E54:
- movs r0, 0
- b _08081E5A
-_08081E58:
- mov r0, r9
-_08081E5A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckPathBetweenTrainerAndPlayer
-
- thumb_func_start sub_8081E68
-sub_8081E68: @ 8081E68
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r0, _08081E94 @ =RunTrainerSeeFuncList
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08081E98 @ =gTasks
- adds r1, r0
- lsrs r0, r5, 16
- strh r0, [r1, 0xA]
- strh r5, [r1, 0xC]
- strh r4, [r1, 0xE]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081E94: .4byte RunTrainerSeeFuncList
-_08081E98: .4byte gTasks
- thumb_func_end sub_8081E68
-
- thumb_func_start sub_8081E9C
-sub_8081E9C: @ 8081E9C
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, _08081ED4 @ =RunTrainerSeeFuncList
- adds r0, r5, 0
- bl FindTaskIdByFunc
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _08081ED8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- adds r0, r4, 0
- bl _call_via_r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08081ED4: .4byte RunTrainerSeeFuncList
-_08081ED8: .4byte gTasks
- thumb_func_end sub_8081E9C
-
- thumb_func_start RunTrainerSeeFuncList
-RunTrainerSeeFuncList: @ 8081EDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _08081F08 @ =gTasks
- adds r5, r0, r1
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r4, r0, 16
- ldrh r0, [r5, 0xC]
- orrs r4, r0
- ldrb r0, [r4]
- lsls r0, 31
- cmp r0, 0
- bne _08081F0C
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
- b _08081F28
- .align 2, 0
-_08081F08: .4byte gTasks
-_08081F0C:
- ldr r7, _08081F30 @ =gUnknown_83C7258
-_08081F0E:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r0, 2
- adds r0, r7
- ldr r3, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _08081F0E
-_08081F28:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08081F30: .4byte gUnknown_83C7258
- thumb_func_end RunTrainerSeeFuncList
-
- thumb_func_start sub_8081F34
-sub_8081F34: @ 8081F34
- movs r0, 0
- bx lr
- thumb_func_end sub_8081F34
-
- thumb_func_start sub_8081F38
-sub_8081F38: @ 8081F38
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldrb r1, [r4, 0x18]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _08081F54
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- ble _08081F54
- movs r0, 0xC
- b _08081F82
-_08081F54:
- ldr r1, _08081F8C @ =gFieldEffectArguments
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r4, 0
- bl ObjectEventGetLocalIdAndMap
- movs r0, 0
- bl FieldEffectStart
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_8063EB8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
-_08081F82:
- strh r0, [r5, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08081F8C: .4byte gFieldEffectArguments
- thumb_func_end sub_8081F38
-
- thumb_func_start sub_8081F90
-sub_8081F90: @ 8081F90
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- movs r0, 0
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- beq _08081FA6
- movs r0, 0
- b _08081FC8
-_08081FA6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r0, [r5, 0x6]
- subs r0, 0x39
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08081FBC
- movs r0, 0x6
- strh r0, [r4, 0x8]
-_08081FBC:
- ldrb r0, [r5, 0x6]
- cmp r0, 0x3F
- bne _08081FC6
- movs r0, 0x8
- strh r0, [r4, 0x8]
-_08081FC6:
- movs r0, 0x1
-_08081FC8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8081F90
-
- thumb_func_start sub_8081FD0
-sub_8081FD0: @ 8081FD0
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _08081FEE
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08082022
-_08081FEE:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08082014
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_8063F84
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
- b _08082022
-_08082014:
- adds r0, r4, 0
- movs r1, 0x4A
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08082022:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8081FD0
-
- thumb_func_start sub_808202C
-sub_808202C: @ 808202C
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808204A
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080820AC
-_0808204A:
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetTrainerMovementType
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_805FE7C
- adds r0, r4, 0
- bl sub_805FE5C
- ldr r0, _080820B4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080820B8 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080820A2
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080820AC
-_080820A2:
- bl sub_805C774
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080820AC:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080820B4: .4byte gPlayerAvatar
-_080820B8: .4byte gObjectEvents
- thumb_func_end sub_808202C
-
- thumb_func_start sub_80820BC
-sub_80820BC: @ 80820BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080820F8 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080820FC @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080820E8
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080820EE
-_080820E8:
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
-_080820EE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080820F8: .4byte gPlayerAvatar
-_080820FC: .4byte gObjectEvents
- thumb_func_end sub_80820BC
-
- thumb_func_start sub_8082100
-sub_8082100: @ 8082100
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808211E
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808212C
-_0808211E:
- adds r0, r4, 0
- movs r1, 0x67
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0808212C:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8082100
-
- thumb_func_start sub_8082134
-sub_8082134: @ 8082134
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r2, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08082148
- movs r0, 0x3
- strh r0, [r4, 0x8]
-_08082148:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8082134
-
- thumb_func_start sub_8082150
-sub_8082150: @ 8082150
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808216E
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808217C
-_0808216E:
- adds r0, r4, 0
- movs r1, 0x4A
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0808217C:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8082150
-
- thumb_func_start sub_8082184
-sub_8082184: @ 8082184
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventCheckHeldMovementStatus
- lsls r0, 24
- cmp r0, 0
- beq _080821CA
- ldr r2, _080821D4 @ =gFieldEffectArguments
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- ldr r3, _080821D8 @ =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r5, 0x10]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080821CA:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080821D4: .4byte gFieldEffectArguments
-_080821D8: .4byte gSprites
- thumb_func_end sub_8082184
-
- thumb_func_start sub_80821DC
-sub_80821DC: @ 80821DC
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r2, _0808224C @ =gSprites
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x2B
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _08082244
- ldrb r1, [r4, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_806413C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08082244:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808224C: .4byte gSprites
- thumb_func_end sub_80821DC
-
- thumb_func_start sub_8082250
-sub_8082250: @ 8082250
- push {r4,lr}
- adds r4, r1, 0
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08082264
- movs r0, 0x3
- strh r0, [r4, 0x8]
-_08082264:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8082250
-
- thumb_func_start sub_808226C
-sub_808226C: @ 808226C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r1, 0
- movs r0, 0
- strh r0, [r4, 0x12]
- ldr r0, _080822C4 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- 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, 0x12
- movs r1, 0x7
- movs r2, 0x7F
- bl SpawnSpecialObjectEventParameterized
- ldr r2, _080822C8 @ =gObjectEvents
- 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
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080822C4: .4byte gSaveBlock1Ptr
-_080822C8: .4byte gObjectEvents
- thumb_func_end sub_808226C
-
- thumb_func_start sub_80822CC
-sub_80822CC: @ 80822CC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, _08082348 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, _0808234C @ =gObjectEvents
- adds r0, r4
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _08082312
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808236E
-_08082312:
- movs r0, 0x12
- ldrsh r1, [r5, r0]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _08082350
- mov r0, sp
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _0808234C @ =gObjectEvents
- adds r4, r0
- movs r0, 0x2
- bl sub_8063FB0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x12]
- adds r0, 0x1
- strh r0, [r5, 0x12]
- b _0808236E
- .align 2, 0
-_08082348: .4byte gSaveBlock1Ptr
-_0808234C: .4byte gObjectEvents
-_08082350:
- ldr r1, _08082378 @ =gFieldEffectArguments
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r6, 0
- bl ObjectEventGetLocalIdAndMap
- movs r0, 0
- bl FieldEffectStart
- movs r0, 0
- strh r0, [r5, 0x12]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0808236E:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08082378: .4byte gFieldEffectArguments
- thumb_func_end sub_80822CC
-
- thumb_func_start sub_808237C
-sub_808237C: @ 808237C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- ldr r0, _08082404 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- movs r0, 0
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _0808242E
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, _08082408 @ =gObjectEvents
- adds r0, r4
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080823CC
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808242E
-_080823CC:
- movs r0, 0x12
- ldrsh r1, [r5, r0]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _0808240C
- mov r0, sp
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08082408 @ =gObjectEvents
- adds r4, r0
- movs r0, 0x1
- bl sub_8063FB0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x12]
- adds r0, 0x1
- strh r0, [r5, 0x12]
- b _0808242E
- .align 2, 0
-_08082404: .4byte gSaveBlock1Ptr
-_08082408: .4byte gObjectEvents
-_0808240C:
- bl GetPlayerAvatarObjectId
- lsls r0, 24
- lsrs r0, 24
- bl CameraObjectSetFollowedObjectId
- ldr r0, _08082438 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- bl RemoveObjectEventByLocalIdAndMap
- movs r0, 0
- strh r0, [r5, 0x12]
- movs r0, 0x2
- strh r0, [r5, 0x8]
-_0808242E:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08082438: .4byte gSaveBlock1Ptr
- thumb_func_end sub_808237C
-
- thumb_func_start sub_808243C
-sub_808243C: @ 808243C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080824D0 @ =gTasks
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0xA
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808246E
- ldr r0, [sp]
- bl ObjectEventClearAnim
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_0808246E:
- ldr r1, _080824D4 @ =gUnknown_83C7294
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r2, [sp]
- ldr r3, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl _call_via_r3
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _080824D8
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080824D8
- ldr r4, [sp]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetTrainerMovementType
- ldr r4, [sp]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_805FE7C
- adds r0, r5, 0
- bl DestroyTask
- b _080824E2
- .align 2, 0
-_080824D0: .4byte gTasks
-_080824D4: .4byte gUnknown_83C7294
-_080824D8:
- ldr r2, [sp]
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
-_080824E2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808243C
-
- thumb_func_start sub_80824EC
-sub_80824EC: @ 80824EC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08082518 @ =sub_808243C
- movs r1, 0
- bl CreateTask
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0808251C @ =gTasks+0x8
- adds r0, r1
- adds r0, 0x2
- adds r1, r4, 0
- bl StoreWordInTwoHalfwords
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08082518: .4byte sub_808243C
-_0808251C: .4byte gTasks+0x8
- thumb_func_end sub_80824EC
-
- thumb_func_start ScrSpecial_EndTrainerApproach
-ScrSpecial_EndTrainerApproach: @ 8082520
- push {lr}
- ldr r0, _0808252C @ =sub_8082530
- bl sub_8081E9C
- pop {r0}
- bx r0
- .align 2, 0
-_0808252C: .4byte sub_8082530
- thumb_func_end ScrSpecial_EndTrainerApproach
-
- thumb_func_start sub_8082530
-sub_8082530: @ 8082530
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8082530
-
- thumb_func_start FldEff_ExclamationMarkIcon1
-FldEff_ExclamationMarkIcon1: @ 8082544
- push {lr}
- ldr r0, _08082574 @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x53
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0808256C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08082578 @ =gSprites
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_808265C
-_0808256C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08082574: .4byte gUnknown_83C7388
-_08082578: .4byte gSprites
- thumb_func_end FldEff_ExclamationMarkIcon1
-
- thumb_func_start sub_808257C
-sub_808257C: @ 808257C
- push {lr}
- ldr r0, _080825AC @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080825A4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080825B0 @ =gSprites
- adds r0, r1
- movs r1, 0x42
- movs r2, 0x1
- bl sub_808265C
-_080825A4:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080825AC: .4byte gUnknown_83C7388
-_080825B0: .4byte gSprites
- thumb_func_end sub_808257C
-
- thumb_func_start sub_80825B4
-sub_80825B4: @ 80825B4
- push {lr}
- ldr r0, _080825E4 @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080825DC
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080825E8 @ =gSprites
- adds r0, r1
- movs r1, 0x2E
- movs r2, 0x2
- bl sub_808265C
-_080825DC:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080825E4: .4byte gUnknown_83C7388
-_080825E8: .4byte gSprites
- thumb_func_end sub_80825B4
-
- thumb_func_start sub_80825EC
-sub_80825EC: @ 80825EC
- push {lr}
- ldr r0, _0808261C @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08082614
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08082620 @ =gSprites
- adds r0, r1
- movs r1, 0x40
- movs r2, 0x3
- bl sub_808265C
-_08082614:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0808261C: .4byte gUnknown_83C7388
-_08082620: .4byte gSprites
- thumb_func_end sub_80825EC
-
- thumb_func_start sub_8082624
-sub_8082624: @ 8082624
- push {lr}
- ldr r0, _08082654 @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0808264C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08082658 @ =gSprites
- adds r0, r1
- movs r1, 0x21
- movs r2, 0x4
- bl sub_808265C
-_0808264C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08082654: .4byte gUnknown_83C7388
-_08082658: .4byte gSprites
- thumb_func_end sub_8082624
-
- thumb_func_start sub_808265C
-sub_808265C: @ 808265C
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldrb r4, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- ands r3, r4
- movs r4, 0x4
- orrs r3, r4
- strb r3, [r0, 0x5]
- movs r3, 0x3E
- adds r3, r0
- mov r12, r3
- ldrb r3, [r3]
- movs r4, 0x2
- orrs r3, r4
- mov r4, r12
- strb r3, [r4]
- ldr r4, _080826A0 @ =gFieldEffectArguments
- ldr r3, [r4]
- strh r3, [r0, 0x2E]
- ldr r3, [r4, 0x4]
- strh r3, [r0, 0x30]
- ldr r3, [r4, 0x8]
- strh r3, [r0, 0x32]
- ldr r3, _080826A4 @ =0x0000fffb
- strh r3, [r0, 0x34]
- strh r1, [r0, 0x3C]
- adds r1, r2, 0
- bl StartSpriteAnim
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080826A0: .4byte gFieldEffectArguments
-_080826A4: .4byte 0x0000fffb
- thumb_func_end sub_808265C
-
- thumb_func_start objc_exclamation_mark_probably
-objc_exclamation_mark_probably: @ 80826A8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080826DA
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080826E8
-_080826DA:
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
- b _08082736
-_080826E8:
- ldr r2, _0808272C @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08082730 @ =gSprites
- adds r1, r0
- ldrh r3, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r2, r3, r0
- strh r2, [r4, 0x36]
- ldrh r0, [r1, 0x20]
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0x10
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x24]
- strh r0, [r4, 0x24]
- ldrh r0, [r1, 0x26]
- adds r0, r2
- strh r0, [r4, 0x26]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _08082734
- adds r0, r3, 0x1
- strh r0, [r4, 0x34]
- b _08082736
- .align 2, 0
-_0808272C: .4byte gObjectEvents
-_08082730: .4byte gSprites
-_08082734:
- strh r2, [r4, 0x34]
-_08082736:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end objc_exclamation_mark_probably
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/data/event_object_movement.s b/data/event_object_movement.s
index 9c4f0a7ca..17adf3ef4 100644
--- a/data/event_object_movement.s
+++ b/data/event_object_movement.s
@@ -7668,17 +7668,19 @@ gUnknown_83A6404:: @ 83A6404
.4byte sub_80633F4
@ gFaceDirectionAnimNums ?
+@ gFaceDirectionAnimNums?
gUnknown_83A640C:: @ 83A640C
- .byte 0x00
- .byte 0x00
- .byte 0x01
- .byte 0x02
- .byte 0x03
- .byte 0x00
- .byte 0x00
- .byte 0x01
- .byte 0x01
-
+ .byte 0x00 @ DIR_NONE
+ .byte 0x00 @ DIR_SOUTH
+ .byte 0x01 @ DIR_NORTH
+ .byte 0x02 @ DIR_WEST
+ .byte 0x03 @ DIR_EAST
+ .byte 0x00 @ DIR_SOUTHWEST
+ .byte 0x00 @ DIR_SOUTHEAST
+ .byte 0x01 @ DIR_NORTHWEST
+ .byte 0x01 @ DIR_NORTHEAST
+
+@ gMoveDirectionAnimNums?
gUnknown_83A6415:: @ 83A6415
.byte 0x4 @ DIR_NONE
.byte 0x4 @ DIR_SOUTH
@@ -7690,6 +7692,7 @@ gUnknown_83A6415:: @ 83A6415
.byte 0x5 @ DIR_NORTHWEST
.byte 0x5 @ DIR_NORTHEAST
+@ gMoveDirectionFastAnimNums?
gUnknown_83A641E:: @ 83A641E
.byte 0x8 @ DIR_NONE
.byte 0x8 @ DIR_SOUTH
@@ -7701,6 +7704,7 @@ gUnknown_83A641E:: @ 83A641E
.byte 0x9 @ DIR_NORTHWEST
.byte 0x9 @ DIR_NORTHEAST
+@ gMoveDirectionFasterAnimNums?
gUnknown_83A6427:: @ 83A6427
.byte 0xC @ DIR_NONE
.byte 0xC @ DIR_SOUTH
@@ -7712,6 +7716,7 @@ gUnknown_83A6427:: @ 83A6427
.byte 0xD @ DIR_NORTHWEST
.byte 0xD @ DIR_NORTHEAST
+@ gMoveDirectionFastestAnimNums?
gUnknown_83A6430:: @ 83A6430
.byte 0x10 @ DIR_NONE
.byte 0x10 @ DIR_SOUTH
@@ -7723,6 +7728,7 @@ gUnknown_83A6430:: @ 83A6430
.byte 0x11 @ DIR_NORTHWEST
.byte 0x11 @ DIR_NORTHEAST
+@ gJumpSpecialDirectionAnimNums?
gUnknown_83A6439:: @ 83A6439
.byte 0x14 @ DIR_NONE
.byte 0x14 @ DIR_SOUTH
@@ -7734,6 +7740,7 @@ gUnknown_83A6439:: @ 83A6439
.byte 0x15 @ DIR_NORTHWEST
.byte 0x15 @ DIR_NORTHEAST
+@ gAcroWheelieDirectionAnimNums?
gUnknown_83A6442:: @ 83A6442
.byte 0x14 @ DIR_NONE
.byte 0x14 @ DIR_SOUTH
@@ -7745,6 +7752,7 @@ gUnknown_83A6442:: @ 83A6442
.byte 0x15 @ DIR_NORTHWEST
.byte 0x15 @ DIR_NORTHEAST
+@ ???
gUnknown_83A644B:: @ 83A644B
.byte 0x18 @ DIR_NONE
.byte 0x18 @ DIR_SOUTH
@@ -7756,6 +7764,7 @@ gUnknown_83A644B:: @ 83A644B
.byte 0x19 @ DIR_NORTHWEST
.byte 0x19 @ DIR_NORTHEAST
+@ gAcroEndWheelieDirectionAnimNums?
gUnknown_83A6454:: @ 83A6454
.byte 0x1C @ DIR_NONE
.byte 0x1C @ DIR_SOUTH
@@ -7767,6 +7776,7 @@ gUnknown_83A6454:: @ 83A6454
.byte 0x1D @ DIR_NORTHWEST
.byte 0x1D @ DIR_NORTHEAST
+@ gAcroUnusedActionDirectionAnimNums?
gUnknown_83A645D:: @ 83A645D
.byte 0x18 @ DIR_NONE
.byte 0x18 @ DIR_SOUTH
@@ -7778,6 +7788,7 @@ gUnknown_83A645D:: @ 83A645D
.byte 0x1A @ DIR_NORTHWEST
.byte 0x1B @ DIR_NORTHEAST
+@ gAcroWheeliePedalDirectionAnimNums?
gUnknown_83A6466:: @ 83A6466
.byte 0x20 @ DIR_NONE
.byte 0x20 @ DIR_SOUTH
@@ -7789,6 +7800,7 @@ gUnknown_83A6466:: @ 83A6466
.byte 0x21 @ DIR_NORTHWEST
.byte 0x21 @ DIR_NORTHEAST
+@ ???
gUnknown_83A646F:: @ 83A646F
.byte 0x24 @ DIR_NONE
.byte 0x24 @ DIR_SOUTH
@@ -7800,6 +7812,7 @@ gUnknown_83A646F:: @ 83A646F
.byte 0x25 @ DIR_NORTHWEST
.byte 0x25 @ DIR_NORTHEAST
+@ gFishingDirectionAnimNums?
gUnknown_83A6478:: @ 83A6478
.byte 0x0 @ DIR_NONE
.byte 0x0 @ DIR_SOUTH
@@ -7811,6 +7824,7 @@ gUnknown_83A6478:: @ 83A6478
.byte 0x1 @ DIR_NORTHWEST
.byte 0x1 @ DIR_NORTHEAST
+@ gFishingNoCatchDirectionAnimNums?
gUnknown_83A6481:: @ 83A6481
.byte 0x4 @ DIR_NONE
.byte 0x4 @ DIR_SOUTH
@@ -7822,6 +7836,7 @@ gUnknown_83A6481:: @ 83A6481
.byte 0x5 @ DIR_NORTHWEST
.byte 0x5 @ DIR_NORTHEAST
+@ gFishingBiteDirectionAnimNums?
gUnknown_83A648A:: @ 83A648A
.byte 0x8 @ DIR_NONE
.byte 0x8 @ DIR_SOUTH
@@ -7833,6 +7848,7 @@ gUnknown_83A648A:: @ 83A648A
.byte 0x9 @ DIR_NORTHWEST
.byte 0x9 @ DIR_NORTHEAST
+@ gRunningDirectionAnimNums?
gUnknown_83A6493:: @ 83A6493
.byte 0x14 @ DIR_NONE
.byte 0x14 @ DIR_SOUTH
@@ -7844,20 +7860,19 @@ gUnknown_83A6493:: @ 83A6493
.byte 0x15 @ DIR_NORTHWEST
.byte 0x15 @ DIR_NORTHEAST
+@ gTrainerFacingDirectionMovementTypes?
gUnknown_83A649C:: @ 83A649C
- .byte 0x08
- .byte 0x08
- .byte 0x07
- .byte 0x09
- .byte 0x0A
- .byte 0x08
- .byte 0x08
- .byte 0x07
- .byte 0x07
- .byte 0x00
- .byte 0x00
- .byte 0x00
+ .byte 0x08 @ DIR_NONE
+ .byte 0x08 @ DIR_SOUTH
+ .byte 0x07 @ DIR_NORTH
+ .byte 0x09 @ DIR_WEST
+ .byte 0x0A @ DIR_EAST
+ .byte 0x08 @ DIR_SOUTHWEST
+ .byte 0x08 @ DIR_SOUTHEAST
+ .byte 0x07 @ DIR_NORTHWEST
+ .byte 0x07 @ DIR_NORTHEAST
+ .align 2
gUnknown_83A64A8:: @ 83A64A8
.4byte MetatileBehavior_IsSouthBlocked
.4byte MetatileBehavior_IsNorthBlocked
@@ -8164,281 +8179,280 @@ gUnknown_83A65A9:: @ 83A65A9
.byte 0x00
.byte 0x00
-@ gMovementActionFuncs
-gUnknown_83A65BC:: @ 83A65BC
- .4byte gUnknown_83A6864
- .4byte gUnknown_83A686C
- .4byte gUnknown_83A6874
- .4byte gUnknown_83A687C
- .4byte gUnknown_83A6A30
- .4byte gUnknown_83A6A38
- .4byte gUnknown_83A6A40
- .4byte gUnknown_83A6A48
- .4byte gUnknown_83A68C8
- .4byte gUnknown_83A68D4
- .4byte gUnknown_83A68E0
- .4byte gUnknown_83A68EC
- .4byte gUnknown_83A6904
- .4byte gUnknown_83A68F8
- .4byte gUnknown_83A6910
- .4byte gUnknown_83A691C
- .4byte gUnknown_83A6928
- .4byte gUnknown_83A6934
- .4byte gUnknown_83A6940
- .4byte gUnknown_83A694C
- .4byte gUnknown_83A6964
- .4byte gUnknown_83A6970
- .4byte gUnknown_83A697C
- .4byte gUnknown_83A6988
- .4byte gUnknown_83A6994
- .4byte gUnknown_83A69A0
- .4byte gUnknown_83A69AC
- .4byte gUnknown_83A69B8
- .4byte gUnknown_83A69C4
- .4byte gUnknown_83A69D0
- .4byte gUnknown_83A69DC
- .4byte gUnknown_83A69E8
- .4byte gUnknown_83A69F4
- .4byte gUnknown_83A6A50
- .4byte gUnknown_83A6A5C
- .4byte gUnknown_83A6A68
- .4byte gUnknown_83A6A74
- .4byte gUnknown_83A6A80
- .4byte gUnknown_83A6A8C
- .4byte gUnknown_83A6A98
- .4byte gUnknown_83A6AA4
- .4byte gUnknown_83A6AB0
- .4byte gUnknown_83A6ABC
- .4byte gUnknown_83A6AC8
- .4byte gUnknown_83A6AD4
- .4byte gUnknown_83A6AE0
- .4byte gUnknown_83A6AEC
- .4byte gUnknown_83A6AF8
- .4byte gUnknown_83A6B04
- .4byte gUnknown_83A6B10
- .4byte gUnknown_83A6B1C
- .4byte gUnknown_83A6B28
- .4byte gUnknown_83A6B34
- .4byte gUnknown_83A6B40
- .4byte gUnknown_83A6B4C
- .4byte gUnknown_83A6B58
- .4byte gUnknown_83A6B64
- .4byte gUnknown_83A6B70
- .4byte gUnknown_83A6B7C
- .4byte gUnknown_83A6B88
- .4byte gUnknown_83A6B94
- .4byte gUnknown_83A6BA0
- .4byte gUnknown_83A6BAC
- .4byte gUnknown_83A6BB8
- .4byte gUnknown_83A6BC4
- .4byte gUnknown_83A6BD0
- .4byte gUnknown_83A6BDC
- .4byte gUnknown_83A6BE8
- .4byte gUnknown_83A6BF4
- .4byte gUnknown_83A6C00
- .4byte gUnknown_83A6C0C
- .4byte gUnknown_83A6C18
- .4byte gUnknown_83A6C24
- .4byte gUnknown_83A6C30
- .4byte gUnknown_83A6C6C
- .4byte gUnknown_83A6C74
- .4byte gUnknown_83A6C7C
- .4byte gUnknown_83A6C84
- .4byte gUnknown_83A6C8C
- .4byte gUnknown_83A6C98
- .4byte gUnknown_83A6CA4
- .4byte gUnknown_83A6CB0
- .4byte gUnknown_83A6CBC
- .4byte gUnknown_83A6CC8
- .4byte gUnknown_83A6CD4
- .4byte gUnknown_83A6CE0
- .4byte gUnknown_83A6CEC
- .4byte gUnknown_83A6CF8
- .4byte gUnknown_83A6D04
- .4byte gUnknown_83A6D10
- .4byte gUnknown_83A6D1C
- .4byte gUnknown_83A6D24
- .4byte gUnknown_83A6D30
- .4byte gUnknown_83A6D38
- .4byte gUnknown_83A6D40
- .4byte gUnknown_83A6D48
- .4byte gUnknown_83A6D50
- .4byte gUnknown_83A6D58
- .4byte gUnknown_83A6D60
- .4byte gUnknown_83A6D68
- .4byte gUnknown_83A6D70
- .4byte gUnknown_83A6D78
- .4byte gUnknown_83A6D80
- .4byte gUnknown_83A6D88
- .4byte gUnknown_83A6D94
- .4byte gUnknown_83A6DA4
- .4byte gUnknown_83A6DB4
- .4byte gUnknown_83A6DBC
- .4byte gUnknown_83A6DC4
- .4byte gUnknown_83A6DCC
- .4byte gUnknown_83A6DD4
- .4byte gUnknown_83A6DE0
- .4byte gUnknown_83A6DEC
- .4byte gUnknown_83A6DF4
- .4byte gUnknown_83A6DFC
- .4byte gUnknown_83A6E04
- .4byte gUnknown_83A6E0C
- .4byte gUnknown_83A6E18
- .4byte gUnknown_83A6E24
- .4byte gUnknown_83A6E30
- .4byte gUnknown_83A6E3C
- .4byte gUnknown_83A6E48
- .4byte gUnknown_83A6E54
- .4byte gUnknown_83A6E60
- .4byte gUnknown_83A6E9C
- .4byte gUnknown_83A6EA8
- .4byte gUnknown_83A6EB4
- .4byte gUnknown_83A6EC0
- .4byte gUnknown_83A6ECC
- .4byte gUnknown_83A6ED8
- .4byte gUnknown_83A6EE4
- .4byte gUnknown_83A6EF0
- .4byte gUnknown_83A6EFC
- .4byte gUnknown_83A6F08
- .4byte gUnknown_83A6F14
- .4byte gUnknown_83A6F20
- .4byte gUnknown_83A6F2C
- .4byte gUnknown_83A6F38
- .4byte gUnknown_83A6F44
- .4byte gUnknown_83A6F50
- .4byte gUnknown_83A6F5C
- .4byte gUnknown_83A6F68
- .4byte gUnknown_83A6F74
- .4byte gUnknown_83A6F80
- .4byte gUnknown_83A6F8C
- .4byte gUnknown_83A6F98
- .4byte gUnknown_83A6FA4
- .4byte gUnknown_83A6FB0
- .4byte gUnknown_83A6FBC
- .4byte gUnknown_83A6FC8
- .4byte gUnknown_83A6FD4
- .4byte gUnknown_83A6FE0
- .4byte gUnknown_83A6FEC
- .4byte gUnknown_83A6FF4
- .4byte gUnknown_83A6FFC
- .4byte gUnknown_83A6898
- .4byte gUnknown_83A68A4
- .4byte gUnknown_83A68B0
- .4byte gUnknown_83A68BC
- .4byte gUnknown_83A7004
- .4byte gUnknown_83A6A00
- .4byte gUnknown_83A6A0C
- .4byte gUnknown_83A6A18
- .4byte gUnknown_83A6A24
- .4byte gUnknown_83A700C
- .4byte gUnknown_83A7018
- .4byte gUnknown_83A6C3C
- .4byte gUnknown_83A6C48
- .4byte gUnknown_83A6C54
- .4byte gUnknown_83A6C60
-
-gUnknown_83A6864:: @ 83A6864
- .4byte sub_8064638
- .4byte sub_8067934
-
-gUnknown_83A686C:: @ 83A686C
- .4byte sub_8064648
- .4byte sub_8067934
-
-gUnknown_83A6874:: @ 83A6874
- .4byte sub_8064658
- .4byte sub_8067934
-
-gUnknown_83A687C:: @ 83A687C
- .4byte sub_8064668
- .4byte sub_8067934
+sMovementActionFuncs:: @ 83A65BC
+ .4byte sMovementActionFuncs_x00
+ .4byte sMovementActionFuncs_x01
+ .4byte sMovementActionFuncs_x02
+ .4byte sMovementActionFuncs_x03
+ .4byte sMovementActionFuncs_x04
+ .4byte sMovementActionFuncs_x05
+ .4byte sMovementActionFuncs_x06
+ .4byte sMovementActionFuncs_x07
+ .4byte sMovementActionFuncs_x08
+ .4byte sMovementActionFuncs_x09
+ .4byte sMovementActionFuncs_x0A
+ .4byte sMovementActionFuncs_x0B
+ .4byte sMovementActionFuncs_x0C
+ .4byte sMovementActionFuncs_x0D
+ .4byte sMovementActionFuncs_x0E
+ .4byte sMovementActionFuncs_x0F
+ .4byte sMovementActionFuncs_x10
+ .4byte sMovementActionFuncs_x11
+ .4byte sMovementActionFuncs_x12
+ .4byte sMovementActionFuncs_x13
+ .4byte sMovementActionFuncs_x14
+ .4byte sMovementActionFuncs_x15
+ .4byte sMovementActionFuncs_x16
+ .4byte sMovementActionFuncs_x17
+ .4byte sMovementActionFuncs_x18
+ .4byte sMovementActionFuncs_x19
+ .4byte sMovementActionFuncs_x1A
+ .4byte sMovementActionFuncs_x1B
+ .4byte sMovementActionFuncs_x1C
+ .4byte sMovementActionFuncs_x1D
+ .4byte sMovementActionFuncs_x1E
+ .4byte sMovementActionFuncs_x1F
+ .4byte sMovementActionFuncs_x20
+ .4byte sMovementActionFuncs_x21
+ .4byte sMovementActionFuncs_x22
+ .4byte sMovementActionFuncs_x23
+ .4byte sMovementActionFuncs_x24
+ .4byte sMovementActionFuncs_x25
+ .4byte sMovementActionFuncs_x26
+ .4byte sMovementActionFuncs_x27
+ .4byte sMovementActionFuncs_x28
+ .4byte sMovementActionFuncs_x29
+ .4byte sMovementActionFuncs_x2A
+ .4byte sMovementActionFuncs_x2B
+ .4byte sMovementActionFuncs_x2C
+ .4byte sMovementActionFuncs_x2D
+ .4byte sMovementActionFuncs_x2E
+ .4byte sMovementActionFuncs_x2F
+ .4byte sMovementActionFuncs_x30
+ .4byte sMovementActionFuncs_x31
+ .4byte sMovementActionFuncs_x32
+ .4byte sMovementActionFuncs_x33
+ .4byte sMovementActionFuncs_x34
+ .4byte sMovementActionFuncs_x35
+ .4byte sMovementActionFuncs_x36
+ .4byte sMovementActionFuncs_x37
+ .4byte sMovementActionFuncs_x38
+ .4byte sMovementActionFuncs_x39
+ .4byte sMovementActionFuncs_x3A
+ .4byte sMovementActionFuncs_x3B
+ .4byte sMovementActionFuncs_x3C
+ .4byte sMovementActionFuncs_x3D
+ .4byte sMovementActionFuncs_x3E
+ .4byte sMovementActionFuncs_x3F
+ .4byte sMovementActionFuncs_x40
+ .4byte sMovementActionFuncs_x41
+ .4byte sMovementActionFuncs_x42
+ .4byte sMovementActionFuncs_x43
+ .4byte sMovementActionFuncs_x44
+ .4byte sMovementActionFuncs_x45
+ .4byte sMovementActionFuncs_x46
+ .4byte sMovementActionFuncs_x47
+ .4byte sMovementActionFuncs_x48
+ .4byte sMovementActionFuncs_x49
+ .4byte sMovementActionFuncs_x4A
+ .4byte sMovementActionFuncs_x4B
+ .4byte sMovementActionFuncs_x4C
+ .4byte sMovementActionFuncs_x4D
+ .4byte sMovementActionFuncs_x4E
+ .4byte sMovementActionFuncs_x4F
+ .4byte sMovementActionFuncs_x50
+ .4byte sMovementActionFuncs_x51
+ .4byte sMovementActionFuncs_x52
+ .4byte sMovementActionFuncs_x53
+ .4byte sMovementActionFuncs_x54
+ .4byte sMovementActionFuncs_x55
+ .4byte sMovementActionFuncs_x56
+ .4byte sMovementActionFuncs_x57
+ .4byte sMovementActionFuncs_x58
+ .4byte sMovementActionFuncs_x59
+ .4byte sMovementActionFuncs_x5A
+ .4byte sMovementActionFuncs_x5B
+ .4byte sMovementActionFuncs_x5C
+ .4byte sMovementActionFuncs_x5D
+ .4byte sMovementActionFuncs_x5E
+ .4byte sMovementActionFuncs_x5F
+ .4byte sMovementActionFuncs_x60
+ .4byte sMovementActionFuncs_x61
+ .4byte sMovementActionFuncs_x62
+ .4byte sMovementActionFuncs_x63
+ .4byte sMovementActionFuncs_x64
+ .4byte sMovementActionFuncs_x65
+ .4byte sMovementActionFuncs_x66
+ .4byte sMovementActionFuncs_x67
+ .4byte sMovementActionFuncs_x68
+ .4byte sMovementActionFuncs_x69
+ .4byte sMovementActionFuncs_x6A
+ .4byte sMovementActionFuncs_x6B
+ .4byte sMovementActionFuncs_x6C
+ .4byte sMovementActionFuncs_x6D
+ .4byte sMovementActionFuncs_x6E
+ .4byte sMovementActionFuncs_x6F
+ .4byte sMovementActionFuncs_x70
+ .4byte sMovementActionFuncs_x71
+ .4byte sMovementActionFuncs_x72
+ .4byte sMovementActionFuncs_x73
+ .4byte sMovementActionFuncs_x74
+ .4byte sMovementActionFuncs_x75
+ .4byte sMovementActionFuncs_x76
+ .4byte sMovementActionFuncs_x77
+ .4byte sMovementActionFuncs_x78
+ .4byte sMovementActionFuncs_x79
+ .4byte sMovementActionFuncs_x7A
+ .4byte sMovementActionFuncs_x7B
+ .4byte sMovementActionFuncs_x7C
+ .4byte sMovementActionFuncs_x7D
+ .4byte sMovementActionFuncs_x7E
+ .4byte sMovementActionFuncs_x7F
+ .4byte sMovementActionFuncs_x80
+ .4byte sMovementActionFuncs_x81
+ .4byte sMovementActionFuncs_x82
+ .4byte sMovementActionFuncs_x83
+ .4byte sMovementActionFuncs_x84
+ .4byte sMovementActionFuncs_x85
+ .4byte sMovementActionFuncs_x86
+ .4byte sMovementActionFuncs_x87
+ .4byte sMovementActionFuncs_x88
+ .4byte sMovementActionFuncs_x89
+ .4byte sMovementActionFuncs_x8A
+ .4byte sMovementActionFuncs_x8B
+ .4byte sMovementActionFuncs_x8C
+ .4byte sMovementActionFuncs_x8D
+ .4byte sMovementActionFuncs_x8E
+ .4byte sMovementActionFuncs_x8F
+ .4byte sMovementActionFuncs_x90
+ .4byte sMovementActionFuncs_x91
+ .4byte sMovementActionFuncs_x92
+ .4byte sMovementActionFuncs_x93
+ .4byte sMovementActionFuncs_x94
+ .4byte sMovementActionFuncs_x95
+ .4byte sMovementActionFuncs_x96
+ .4byte sMovementActionFuncs_x97
+ .4byte sMovementActionFuncs_x98
+ .4byte sMovementActionFuncs_x99
+ .4byte sMovementActionFuncs_x9A
+ .4byte sMovementActionFuncs_x9B
+ .4byte sMovementActionFuncs_x9C
+ .4byte sMovementActionFuncs_x9D
+ .4byte sMovementActionFuncs_x9E
+ .4byte sMovementActionFuncs_x9F
+ .4byte sMovementActionFuncs_xA0
+ .4byte sMovementActionFuncs_xA1
+ .4byte sMovementActionFuncs_xA2
+ .4byte sMovementActionFuncs_xA3
+ .4byte sMovementActionFuncs_xA4
+ .4byte sMovementActionFuncs_xA5
+ .4byte sMovementActionFuncs_xA6
+ .4byte sMovementActionFuncs_xA7
+ .4byte sMovementActionFuncs_xA8
+ .4byte sMovementActionFuncs_xA9
+
+sMovementActionFuncs_x00:: @ 83A6864
+ .4byte MovementActionFunc_x00_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x01:: @ 83A686C
+ .4byte MovementActionFunc_x01_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x02:: @ 83A6874
+ .4byte MovementActionFunc_x02_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x03:: @ 83A687C
+ .4byte MovementActionFunc_x03_0
+ .4byte MovementActionFunc_x00_1
gUnknown_83A6884:: @ 83A6884
.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_8063470
-
-gUnknown_83A6898:: @ 83A6898
- .4byte sub_8064968
- .4byte sub_8064988
- .4byte sub_8067934
-
-gUnknown_83A68A4:: @ 83A68A4
- .4byte sub_80649A8
- .4byte sub_80649C8
- .4byte sub_8067934
-
-gUnknown_83A68B0:: @ 83A68B0
- .4byte sub_80649E8
- .4byte sub_8064A08
- .4byte sub_8067934
-
-gUnknown_83A68BC:: @ 83A68BC
- .4byte sub_8064A28
- .4byte sub_8064A48
- .4byte sub_8067934
-
-gUnknown_83A68C8:: @ 83A68C8
- .4byte sub_8064A68
- .4byte sub_8064A88
- .4byte sub_8067934
-
-gUnknown_83A68D4:: @ 83A68D4
- .4byte sub_8064AA8
- .4byte sub_8064AC8
- .4byte sub_8067934
-
-gUnknown_83A68E0:: @ 83A68E0
- .4byte sub_8064AE8
- .4byte sub_8064B08
- .4byte sub_8067934
-
-gUnknown_83A68EC:: @ 83A68EC
- .4byte sub_8064B28
- .4byte sub_8064B48
- .4byte sub_8067934
-
-gUnknown_83A68F8:: @ 83A68F8
- .4byte sub_8064C3C
- .4byte sub_8064C5C
- .4byte sub_8067934
-
-gUnknown_83A6904:: @ 83A6904
- .4byte sub_8064C7C
- .4byte sub_8064C9C
- .4byte sub_8067934
-
-gUnknown_83A6910:: @ 83A6910
- .4byte sub_8064CBC
- .4byte sub_8064CDC
- .4byte sub_8067934
-
-gUnknown_83A691C:: @ 83A691C
- .4byte sub_8064CFC
- .4byte sub_8064D1C
- .4byte sub_8067934
-
-gUnknown_83A6928:: @ 83A6928
- .4byte sub_8064D3C
- .4byte sub_8064D5C
- .4byte sub_8067934
-
-gUnknown_83A6934:: @ 83A6934
- .4byte sub_8064D7C
- .4byte sub_8064D9C
- .4byte sub_8067934
-
-gUnknown_83A6940:: @ 83A6940
- .4byte sub_8064DBC
- .4byte sub_8064DDC
- .4byte sub_8067934
-
-gUnknown_83A694C:: @ 83A694C
- .4byte sub_8064DFC
- .4byte sub_8064E1C
- .4byte sub_8067934
+ .4byte MovementActionFunc_x03_4
+
+sMovementActionFuncs_x9B:: @ 83A6898
+ .4byte MovementActionFunc_x9B_0
+ .4byte MovementActionFunc_x9B_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x9C:: @ 83A68A4
+ .4byte MovementActionFunc_x9C_0
+ .4byte MovementActionFunc_x9C_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x9D:: @ 83A68B0
+ .4byte MovementActionFunc_x9D_0
+ .4byte MovementActionFunc_x9D_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x9E:: @ 83A68BC
+ .4byte MovementActionFunc_x9E_0
+ .4byte MovementActionFunc_x9E_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x08:: @ 83A68C8
+ .4byte MovementActionFunc_x08_0
+ .4byte MovementActionFunc_x08_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x09:: @ 83A68D4
+ .4byte MovementActionFunc_x09_0
+ .4byte MovementActionFunc_x09_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x0A:: @ 83A68E0
+ .4byte MovementActionFunc_x0A_0
+ .4byte MovementActionFunc_x0A_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x0B:: @ 83A68EC
+ .4byte MovementActionFunc_x0B_0
+ .4byte MovementActionFunc_x0B_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x0D:: @ 83A68F8
+ .4byte MovementActionFunc_x0D_0
+ .4byte MovementActionFunc_x0D_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x0C:: @ 83A6904
+ .4byte MovementActionFunc_x0C_0
+ .4byte MovementActionFunc_x0C_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x0E:: @ 83A6910
+ .4byte MovementActionFunc_x0E_0
+ .4byte MovementActionFunc_x0E_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x0F:: @ 83A691C
+ .4byte MovementActionFunc_x0F_0
+ .4byte MovementActionFunc_x0F_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x10:: @ 83A6928
+ .4byte MovementActionFunc_x10_0
+ .4byte MovementActionFunc_x10_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x11:: @ 83A6934
+ .4byte MovementActionFunc_x11_0
+ .4byte MovementActionFunc_x11_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x12:: @ 83A6940
+ .4byte MovementActionFunc_x12_0
+ .4byte MovementActionFunc_x12_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x13:: @ 83A694C
+ .4byte MovementActionFunc_x13_0
+ .4byte MovementActionFunc_x13_1
+ .4byte MovementActionFunc_x00_1
gUnknown_83A6958:: @ 83A6958
.2byte 0x0000
@@ -8450,734 +8464,796 @@ gUnknown_83A695E:: @ 83A695E
.2byte 0x0000
.2byte 0x0001
-gUnknown_83A6964:: @ 83A6964
- .4byte sub_80650A8
- .4byte sub_80650D4
- .4byte sub_8067934
-
-gUnknown_83A6970:: @ 83A6970
- .4byte sub_8065100
- .4byte sub_806512C
- .4byte sub_8067934
-
-gUnknown_83A697C:: @ 83A697C
- .4byte sub_8065158
- .4byte sub_8065184
- .4byte sub_8067934
-
-gUnknown_83A6988:: @ 83A6988
- .4byte sub_80651B0
- .4byte sub_80651DC
- .4byte sub_8067934
-
-gUnknown_83A6994:: @ 83A6994
- .4byte sub_806522C
- .4byte sub_8065210
- .4byte sub_8067930
-
-gUnknown_83A69A0:: @ 83A69A0
- .4byte sub_806524C
- .4byte sub_8065210
- .4byte sub_8067930
-
-gUnknown_83A69AC:: @ 83A69AC
- .4byte sub_806526C
- .4byte sub_8065210
- .4byte sub_8067930
-
-gUnknown_83A69B8:: @ 83A69B8
- .4byte sub_806528C
- .4byte sub_8065210
- .4byte sub_8067930
-
-gUnknown_83A69C4:: @ 83A69C4
- .4byte sub_80652AC
- .4byte sub_8065210
- .4byte sub_8067930
-
-gUnknown_83A69D0:: @ 83A69D0
- .4byte sub_80652CC
- .4byte sub_80652EC
- .4byte sub_8067934
-
-gUnknown_83A69DC:: @ 83A69DC
- .4byte sub_806530C
- .4byte sub_806532C
- .4byte sub_8067934
-
-gUnknown_83A69E8:: @ 83A69E8
- .4byte sub_806534C
- .4byte sub_806536C
- .4byte sub_8067934
-
-gUnknown_83A69F4:: @ 83A69F4
- .4byte sub_806538C
- .4byte sub_80653AC
- .4byte sub_8067934
-
-gUnknown_83A6A00:: @ 83A6A00
- .4byte sub_80653F8
- .4byte sub_8065438
- .4byte sub_8067930
-
-gUnknown_83A6A0C:: @ 83A6A0C
- .4byte sub_8065464
- .4byte sub_80654A4
- .4byte sub_8067930
-
-gUnknown_83A6A18:: @ 83A6A18
- .4byte sub_80654D0
- .4byte sub_8065510
- .4byte sub_8067930
-
-gUnknown_83A6A24:: @ 83A6A24
- .4byte sub_806553C
- .4byte sub_806557C
- .4byte sub_8067930
-
-gUnknown_83A6A30:: @ 83A6A30
- .4byte sub_80655D4
- .4byte sub_8067930
-
-gUnknown_83A6A38:: @ 83A6A38
- .4byte sub_8065610
- .4byte sub_8067930
-
-gUnknown_83A6A40:: @ 83A6A40
- .4byte sub_806564C
- .4byte sub_8067930
-
-gUnknown_83A6A48:: @ 83A6A48
- .4byte sub_8065688
- .4byte sub_8067930
-
-gUnknown_83A6A50:: @ 83A6A50
- .4byte sub_8065770
- .4byte sub_8065734
- .4byte sub_8067934
-
-gUnknown_83A6A5C:: @ 83A6A5C
- .4byte sub_80657A8
- .4byte sub_8065734
- .4byte sub_8067934
-
-gUnknown_83A6A68:: @ 83A6A68
- .4byte sub_80657E0
- .4byte sub_8065734
- .4byte sub_8067934
-
-gUnknown_83A6A74:: @ 83A6A74
- .4byte sub_8065818
- .4byte sub_8065734
- .4byte sub_8067934
-
-gUnknown_83A6A80:: @ 83A6A80
- .4byte sub_8065850
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6A8C:: @ 83A6A8C
- .4byte sub_8065888
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6A98:: @ 83A6A98
- .4byte sub_80658C0
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6AA4:: @ 83A6AA4
- .4byte sub_80658F8
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6AB0:: @ 83A6AB0
- .4byte sub_8065930
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6ABC:: @ 83A6ABC
- .4byte sub_8065968
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6AC8:: @ 83A6AC8
- .4byte sub_80659A0
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6AD4:: @ 83A6AD4
- .4byte sub_80659D8
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6AE0:: @ 83A6AE0
- .4byte sub_8065A10
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6AEC:: @ 83A6AEC
- .4byte sub_8065A48
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6AF8:: @ 83A6AF8
- .4byte sub_8065A80
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6B04:: @ 83A6B04
- .4byte sub_8065AB8
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6B10:: @ 83A6B10
- .4byte sub_8065AF0
- .4byte sub_8065B10
- .4byte sub_8067934
-
-gUnknown_83A6B1C:: @ 83A6B1C
- .4byte sub_8065B30
- .4byte sub_8065B50
- .4byte sub_8067934
-
-gUnknown_83A6B28:: @ 83A6B28
- .4byte sub_8065B70
- .4byte sub_8065B90
- .4byte sub_8067934
-
-gUnknown_83A6B34:: @ 83A6B34
- .4byte sub_8065BB0
- .4byte sub_8065BD0
- .4byte sub_8067934
-
-gUnknown_83A6B40:: @ 83A6B40
- .4byte sub_8065BF0
- .4byte sub_8065C10
- .4byte sub_8067934
-
-gUnknown_83A6B4C:: @ 83A6B4C
- .4byte sub_8065C30
- .4byte sub_8065C50
- .4byte sub_8067934
-
-gUnknown_83A6B58:: @ 83A6B58
- .4byte sub_8065C70
- .4byte sub_8065C90
- .4byte sub_8067934
-
-gUnknown_83A6B64:: @ 83A6B64
- .4byte sub_8065CB0
- .4byte sub_8065CD0
- .4byte sub_8067934
-
-gUnknown_83A6B70:: @ 83A6B70
- .4byte sub_8065CF0
- .4byte sub_8065D10
- .4byte sub_8067934
-
-gUnknown_83A6B7C:: @ 83A6B7C
- .4byte sub_8065D30
- .4byte sub_8065D50
- .4byte sub_8067934
-
-gUnknown_83A6B88:: @ 83A6B88
- .4byte sub_8065D70
- .4byte sub_8065D90
- .4byte sub_8067934
-
-gUnknown_83A6B94:: @ 83A6B94
- .4byte sub_8065DB0
- .4byte sub_8065DD0
- .4byte sub_8067934
-
-gUnknown_83A6BA0:: @ 83A6BA0
+sMovementActionFuncs_x14:: @ 83A6964
+ .4byte MovementActionFunc_x14_0
+ .4byte MovementActionFunc_x14_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x15:: @ 83A6970
+ .4byte MovementActionFunc_x15_0
+ .4byte MovementActionFunc_x15_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x16:: @ 83A697C
+ .4byte MovementActionFunc_x16_0
+ .4byte MovementActionFunc_x16_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x17:: @ 83A6988
+ .4byte MovementActionFunc_x17_0
+ .4byte MovementActionFunc_x17_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x18:: @ 83A6994
+ .4byte MovementActionFunc_x18_0
+ .4byte MovementActionFunc_x18_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x19:: @ 83A69A0
+ .4byte MovementActionFunc_x19_0
+ .4byte MovementActionFunc_x18_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x1A:: @ 83A69AC
+ .4byte MovementActionFunc_x1A_0
+ .4byte MovementActionFunc_x18_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x1B:: @ 83A69B8
+ .4byte MovementActionFunc_x1B_0
+ .4byte MovementActionFunc_x18_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x1C:: @ 83A69C4
+ .4byte MovementActionFunc_x1C_0
+ .4byte MovementActionFunc_x18_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x1D:: @ 83A69D0
+ .4byte MovementActionFunc_x1D_0
+ .4byte MovementActionFunc_x1D_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x1E:: @ 83A69DC
+ .4byte MovementActionFunc_x1E_0
+ .4byte MovementActionFunc_x1E_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x1F:: @ 83A69E8
+ .4byte MovementActionFunc_x1F_0
+ .4byte MovementActionFunc_x1F_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x20:: @ 83A69F4
+ .4byte MovementActionFunc_x20_0
+ .4byte MovementActionFunc_x20_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_xA0:: @ 83A6A00
+ .4byte MovementActionFunc_xA0_0
+ .4byte MovementActionFunc_xA0_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_xA1:: @ 83A6A0C
+ .4byte MovementActionFunc_xA1_0
+ .4byte MovementActionFunc_xA1_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_xA2:: @ 83A6A18
+ .4byte MovementActionFunc_xA2_0
+ .4byte MovementActionFunc_xA2_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_xA3:: @ 83A6A24
+ .4byte MovementActionFunc_xA3_0
+ .4byte MovementActionFunc_xA3_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x04:: @ 83A6A30
+ .4byte MovementActionFunc_x04_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x05:: @ 83A6A38
+ .4byte MovementActionFunc_x05_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x06:: @ 83A6A40
+ .4byte MovementActionFunc_x06_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x07:: @ 83A6A48
+ .4byte MovementActionFunc_x07_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x21:: @ 83A6A50
+ .4byte MovementActionFunc_x21_0
+ .4byte MovementActionFunc_x21_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x22:: @ 83A6A5C
+ .4byte MovementActionFunc_x22_0
+ .4byte MovementActionFunc_x21_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x23:: @ 83A6A68
+ .4byte MovementActionFunc_x23_0
+ .4byte MovementActionFunc_x21_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x24:: @ 83A6A74
+ .4byte MovementActionFunc_x24_0
+ .4byte MovementActionFunc_x21_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x25:: @ 83A6A80
+ .4byte MovementActionFunc_x25_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x26:: @ 83A6A8C
+ .4byte MovementActionFunc_x26_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x27:: @ 83A6A98
+ .4byte MovementActionFunc_x27_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x28:: @ 83A6AA4
+ .4byte MovementActionFunc_x28_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x29:: @ 83A6AB0
+ .4byte MovementActionFunc_x29_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x2A:: @ 83A6ABC
+ .4byte MovementActionFunc_x2A_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x2B:: @ 83A6AC8
+ .4byte MovementActionFunc_x2B_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x2C:: @ 83A6AD4
+ .4byte MovementActionFunc_x2C_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x2D:: @ 83A6AE0
+ .4byte MovementActionFunc_x2D_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x2E:: @ 83A6AEC
+ .4byte MovementActionFunc_x2E_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x2F:: @ 83A6AF8
+ .4byte MovementActionFunc_x2F_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x30:: @ 83A6B04
+ .4byte MovementActionFunc_x30_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x31:: @ 83A6B10
+ .4byte MovementActionFunc_x31_0
+ .4byte MovementActionFunc_x31_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x32:: @ 83A6B1C
+ .4byte MovementActionFunc_x32_0
+ .4byte MovementActionFunc_x32_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x33:: @ 83A6B28
+ .4byte MovementActionFunc_x33_0
+ .4byte MovementActionFunc_x33_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x34:: @ 83A6B34
+ .4byte MovementActionFunc_x34_0
+ .4byte MovementActionFunc_x34_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x35:: @ 83A6B40
+ .4byte MovementActionFunc_x35_0
+ .4byte MovementActionFunc_x35_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x36:: @ 83A6B4C
+ .4byte MovementActionFunc_x36_0
+ .4byte MovementActionFunc_x36_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x37:: @ 83A6B58
+ .4byte MovementActionFunc_x37_0
+ .4byte MovementActionFunc_x37_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x38:: @ 83A6B64
+ .4byte MovementActionFunc_x38_0
+ .4byte MovementActionFunc_x38_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x39:: @ 83A6B70
+ .4byte MovementActionFunc_x39_0
+ .4byte MovementActionFunc_x39_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x3A:: @ 83A6B7C
+ .4byte MovementActionFunc_x3A_0
+ .4byte MovementActionFunc_x3A_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x3B:: @ 83A6B88
+ .4byte MovementActionFunc_x3B_0
+ .4byte MovementActionFunc_x3B_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x3C:: @ 83A6B94
+ .4byte MovementActionFunc_x3C_0
+ .4byte MovementActionFunc_x3C_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x3D:: @ 83A6BA0
.4byte do_run_south_anim
- .4byte sub_8065E10
- .4byte sub_8067934
+ .4byte MovementActionFunc_x3D_1
+ .4byte MovementActionFunc_x00_1
-gUnknown_83A6BAC:: @ 83A6BAC
+sMovementActionFuncs_x3E:: @ 83A6BAC
.4byte do_run_north_anim
- .4byte sub_8065E50
- .4byte sub_8067934
+ .4byte MovementActionFunc_x3E_1
+ .4byte MovementActionFunc_x00_1
-gUnknown_83A6BB8:: @ 83A6BB8
+sMovementActionFuncs_x3F:: @ 83A6BB8
.4byte do_run_west_anim
- .4byte sub_8065E90
- .4byte sub_8067934
+ .4byte MovementActionFunc_x3F_1
+ .4byte MovementActionFunc_x00_1
-gUnknown_83A6BC4:: @ 83A6BC4
+sMovementActionFuncs_x40:: @ 83A6BC4
.4byte do_run_east_anim
- .4byte sub_8065ED0
- .4byte sub_8067934
-
-gUnknown_83A6BD0:: @ 83A6BD0
- .4byte sub_8065FC4
- .4byte sub_8065FE4
- .4byte sub_8067934
-
-gUnknown_83A6BDC:: @ 83A6BDC
- .4byte sub_8066004
- .4byte sub_8066024
- .4byte sub_8067934
-
-gUnknown_83A6BE8:: @ 83A6BE8
- .4byte sub_8066044
- .4byte sub_8066064
- .4byte sub_8067934
-
-gUnknown_83A6BF4:: @ 83A6BF4
- .4byte sub_8066084
- .4byte sub_80660A4
- .4byte sub_8067934
-
-gUnknown_83A6C00:: @ 83A6C00
- .4byte sub_80660F0
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6C0C:: @ 83A6C0C
- .4byte sub_806615C
- .4byte sub_806617C
- .4byte sub_8067934
-
-gUnknown_83A6C18:: @ 83A6C18
- .4byte sub_80661A4
- .4byte sub_80661C4
- .4byte sub_8067934
-
-gUnknown_83A6C24:: @ 83A6C24
- .4byte sub_80661EC
- .4byte sub_806620C
- .4byte sub_8067934
-
-gUnknown_83A6C30:: @ 83A6C30
- .4byte sub_8066234
- .4byte sub_8066254
- .4byte sub_8067934
-
-gUnknown_83A6C3C:: @ 83A6C3C
- .4byte sub_806627C
- .4byte sub_806629C
- .4byte sub_8067934
-
-gUnknown_83A6C48:: @ 83A6C48
- .4byte sub_80662BC
- .4byte sub_80662DC
- .4byte sub_8067934
-
-gUnknown_83A6C54:: @ 83A6C54
- .4byte sub_80662FC
- .4byte sub_806631C
- .4byte sub_8067934
-
-gUnknown_83A6C60:: @ 83A6C60
- .4byte sub_806633C
- .4byte sub_806635C
- .4byte sub_8067934
-
-gUnknown_83A6C6C:: @ 83A6C6C
- .4byte sub_806637C
- .4byte sub_8067934
-
-gUnknown_83A6C74:: @ 83A6C74
- .4byte sub_80663D8
- .4byte sub_8067934
-
-gUnknown_83A6C7C:: @ 83A6C7C
- .4byte sub_806643C
- .4byte sub_8067934
-
-gUnknown_83A6C84:: @ 83A6C84
- .4byte sub_806644C
- .4byte sub_8067934
-
-gUnknown_83A6C8C:: @ 83A6C8C
- .4byte sub_806645C
- .4byte sub_8066488
- .4byte sub_8067934
-
-gUnknown_83A6C98:: @ 83A6C98
- .4byte sub_80664B4
- .4byte sub_80664E0
- .4byte sub_8067934
-
-gUnknown_83A6CA4:: @ 83A6CA4
- .4byte sub_806650C
- .4byte sub_8066538
- .4byte sub_8067934
-
-gUnknown_83A6CB0:: @ 83A6CB0
- .4byte sub_8066564
- .4byte sub_8066590
- .4byte sub_8067934
-
-gUnknown_83A6CBC:: @ 83A6CBC
- .4byte sub_80665BC
- .4byte sub_80665E8
- .4byte sub_8067934
-
-gUnknown_83A6CC8:: @ 83A6CC8
- .4byte sub_8066614
- .4byte sub_8066640
- .4byte sub_8067934
-
-gUnknown_83A6CD4:: @ 83A6CD4
- .4byte sub_806666C
- .4byte sub_8066698
- .4byte sub_8067934
-
-gUnknown_83A6CE0:: @ 83A6CE0
- .4byte sub_80666C4
- .4byte sub_80666F0
- .4byte sub_8067934
-
-gUnknown_83A6CEC:: @ 83A6CEC
- .4byte sub_806671C
- .4byte sub_8066748
- .4byte sub_8067934
-
-gUnknown_83A6CF8:: @ 83A6CF8
- .4byte sub_8066774
- .4byte sub_80667A0
- .4byte sub_8067934
-
-gUnknown_83A6D04:: @ 83A6D04
- .4byte sub_80667CC
- .4byte sub_80667F8
- .4byte sub_8067934
-
-gUnknown_83A6D10:: @ 83A6D10
- .4byte sub_8066824
- .4byte sub_8066850
- .4byte sub_8067934
-
-gUnknown_83A6D1C:: @ 83A6D1C
- .4byte sub_806687C
- .4byte sub_8067934
-
-gUnknown_83A6D24:: @ 83A6D24
- .4byte sub_8066894
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6D30:: @ 83A6D30
- .4byte sub_80668A4
- .4byte sub_8067930
-
-gUnknown_83A6D38:: @ 83A6D38
- .4byte sub_80668B4
- .4byte sub_8067930
-
-gUnknown_83A6D40:: @ 83A6D40
- .4byte sub_80668C4
- .4byte sub_8067930
-
-gUnknown_83A6D48:: @ 83A6D48
- .4byte sub_80668D4
- .4byte sub_8067930
-
-gUnknown_83A6D50:: @ 83A6D50
- .4byte sub_8066900
- .4byte sub_8067930
-
-gUnknown_83A6D58:: @ 83A6D58
- .4byte sub_8066910
- .4byte sub_8067930
-
-gUnknown_83A6D60:: @ 83A6D60
+ .4byte MovementActionFunc_x40_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x41:: @ 83A6BD0
+ .4byte MovementActionFunc_x41_0
+ .4byte MovementActionFunc_x41_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x42:: @ 83A6BDC
+ .4byte MovementActionFunc_x42_0
+ .4byte MovementActionFunc_x42_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x43:: @ 83A6BE8
+ .4byte MovementActionFunc_x43_0
+ .4byte MovementActionFunc_x43_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x44:: @ 83A6BF4
+ .4byte MovementActionFunc_x44_0
+ .4byte MovementActionFunc_x44_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x45:: @ 83A6C00
+ .4byte MovementActionFunc_x45_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x46:: @ 83A6C0C
+ .4byte MovementActionFunc_x46_0
+ .4byte MovementActionFunc_x46_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x47:: @ 83A6C18
+ .4byte MovementActionFunc_x47_0
+ .4byte MovementActionFunc_x47_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x48:: @ 83A6C24
+ .4byte MovementActionFunc_x48_0
+ .4byte MovementActionFunc_x48_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x49:: @ 83A6C30
+ .4byte MovementActionFunc_x49_0
+ .4byte MovementActionFunc_x49_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_xA6:: @ 83A6C3C
+ .4byte MovementActionFunc_xA6_0
+ .4byte MovementActionFunc_xA6_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_xA7:: @ 83A6C48
+ .4byte MovementActionFunc_xA7_0
+ .4byte MovementActionFunc_xA7_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_xA8:: @ 83A6C54
+ .4byte MovementActionFunc_xA8_0
+ .4byte MovementActionFunc_xA8_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_xA9:: @ 83A6C60
+ .4byte MovementActionFunc_xA9_0
+ .4byte MovementActionFunc_xA9_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x4A:: @ 83A6C6C
+ .4byte MovementActionFunc_x4A_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x4B:: @ 83A6C74
+ .4byte MovementActionFunc_x4B_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x4C:: @ 83A6C7C
+ .4byte MovementActionFunc_x4C_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x4D:: @ 83A6C84
+ .4byte MovementActionFunc_x4D_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x4E:: @ 83A6C8C
+ .4byte MovementActionFunc_x4E_0
+ .4byte MovementActionFunc_x4E_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x4F:: @ 83A6C98
+ .4byte MovementActionFunc_x4F_0
+ .4byte MovementActionFunc_x4F_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x50:: @ 83A6CA4
+ .4byte MovementActionFunc_x50_0
+ .4byte MovementActionFunc_x50_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x51:: @ 83A6CB0
+ .4byte MovementActionFunc_x51_0
+ .4byte MovementActionFunc_x51_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x52:: @ 83A6CBC
+ .4byte MovementActionFunc_x52_0
+ .4byte MovementActionFunc_x52_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x53:: @ 83A6CC8
+ .4byte MovementActionFunc_x53_0
+ .4byte MovementActionFunc_x53_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x54:: @ 83A6CD4
+ .4byte MovementActionFunc_x54_0
+ .4byte MovementActionFunc_x54_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x55:: @ 83A6CE0
+ .4byte MovementActionFunc_x55_0
+ .4byte MovementActionFunc_x55_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x56:: @ 83A6CEC
+ .4byte MovementActionFunc_x56_0
+ .4byte MovementActionFunc_x56_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x57:: @ 83A6CF8
+ .4byte MovementActionFunc_x57_0
+ .4byte MovementActionFunc_x57_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x58:: @ 83A6D04
+ .4byte MovementActionFunc_x58_0
+ .4byte MovementActionFunc_x58_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x59:: @ 83A6D10
+ .4byte MovementActionFunc_x59_0
+ .4byte MovementActionFunc_x59_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x5A:: @ 83A6D1C
+ .4byte MovementActionFunc_x5A_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x5B:: @ 83A6D24
+ .4byte MovementActionFunc_x5B_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x5C:: @ 83A6D30
+ .4byte MovementActionFunc_x5C_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x5D:: @ 83A6D38
+ .4byte MovementActionFunc_x5D_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x5E:: @ 83A6D40
+ .4byte MovementActionFunc_x5E_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x5F:: @ 83A6D48
+ .4byte MovementActionFunc_x5F_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x60:: @ 83A6D50
+ .4byte MovementActionFunc_x60_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x61:: @ 83A6D58
+ .4byte MovementActionFunc_x61_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x62:: @ 83A6D60
.4byte do_exclamation_mark_bubble_1
- .4byte sub_8067930
+ .4byte MovementActionFunc_x18_2
-gUnknown_83A6D68:: @ 83A6D68
+sMovementActionFuncs_x63:: @ 83A6D68
.4byte do_exclamation_mark_bubble_2
- .4byte sub_8067930
-
-gUnknown_83A6D70:: @ 83A6D70
- .4byte do_heart_bubble
- .4byte sub_8067930
-
-gUnknown_83A6D78:: @ 83A6D78
- .4byte sub_806698C
- .4byte sub_8067930
-
-gUnknown_83A6D80:: @ 83A6D80
- .4byte sub_80669B0
- .4byte sub_8067930
-
-gUnknown_83A6D88:: @ 83A6D88
- .4byte sub_80669D4
- .4byte sub_8066A18
- .4byte sub_8067930
-
-gUnknown_83A6D94:: @ 83A6D94
- .4byte sub_8066A38
- .4byte sub_8066A54
- .4byte sub_8066A78
- .4byte sub_8067930
-
-gUnknown_83A6DA4:: @ 83A6DA4
- .4byte sub_8066AB4
- .4byte sub_8066AD0
- .4byte sub_8066AF4
- .4byte sub_8067930
-
-gUnknown_83A6DB4:: @ 83A6DB4
- .4byte sub_8066B30
- .4byte sub_8067930
-
-gUnknown_83A6DBC:: @ 83A6DBC
- .4byte sub_8066B40
- .4byte sub_8067930
-
-gUnknown_83A6DC4:: @ 83A6DC4
- .4byte sub_8066B50
- .4byte sub_8067930
-
-gUnknown_83A6DCC:: @ 83A6DCC
- .4byte sub_8066B80
- .4byte sub_8067930
-
-gUnknown_83A6DD4:: @ 83A6DD4
- .4byte sub_8066BB0
- .4byte sub_8066BE4
- .4byte sub_8067934
-
-gUnknown_83A6DE0:: @ 83A6DE0
- .4byte sub_8066C10
- .4byte sub_8066C44
- .4byte sub_8067934
-
-gUnknown_83A6DEC:: @ 83A6DEC
- .4byte sub_8066CB0
- .4byte sub_8067934
-
-gUnknown_83A6DF4:: @ 83A6DF4
- .4byte sub_8066CC0
- .4byte sub_8067934
-
-gUnknown_83A6DFC:: @ 83A6DFC
- .4byte sub_8066CD0
- .4byte sub_8067934
-
-gUnknown_83A6E04:: @ 83A6E04
- .4byte sub_8066CE0
- .4byte sub_8067934
-
-gUnknown_83A6E0C:: @ 83A6E0C
- .4byte sub_8066CF0
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E18:: @ 83A6E18
- .4byte sub_8066D14
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E24:: @ 83A6E24
- .4byte sub_8066D38
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E30:: @ 83A6E30
- .4byte sub_8066D5C
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E3C:: @ 83A6E3C
- .4byte sub_8066D80
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E48:: @ 83A6E48
- .4byte sub_8066DA4
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E54:: @ 83A6E54
- .4byte sub_8066DC8
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E60:: @ 83A6E60
- .4byte sub_8066DEC
- .4byte sub_8066108
- .4byte sub_8067934
- .4byte sub_8066E10
- .4byte sub_8066108
- .4byte sub_8067934
- .4byte sub_8066E34
- .4byte sub_8066108
- .4byte sub_8067934
- .4byte sub_8066E58
- .4byte sub_8066108
- .4byte sub_8067934
- .4byte sub_8066E7C
- .4byte sub_8066108
- .4byte sub_8067934
-
-gUnknown_83A6E9C:: @ 83A6E9C
- .4byte sub_8066EE4
- .4byte sub_8066F10
- .4byte sub_8067934
-
-gUnknown_83A6EA8:: @ 83A6EA8
- .4byte sub_8066F3C
- .4byte sub_8066F68
- .4byte sub_8067934
-
-gUnknown_83A6EB4:: @ 83A6EB4
- .4byte sub_8066F94
- .4byte sub_8066FC0
- .4byte sub_8067934
-
-gUnknown_83A6EC0:: @ 83A6EC0
- .4byte sub_8066FEC
- .4byte sub_8067018
- .4byte sub_8067934
-
-gUnknown_83A6ECC:: @ 83A6ECC
- .4byte sub_8067044
- .4byte sub_8067070
- .4byte sub_8067934
-
-gUnknown_83A6ED8:: @ 83A6ED8
- .4byte sub_806709C
- .4byte sub_80670C8
- .4byte sub_8067934
-
-gUnknown_83A6EE4:: @ 83A6EE4
- .4byte sub_80670F4
- .4byte sub_8067120
- .4byte sub_8067934
-
-gUnknown_83A6EF0:: @ 83A6EF0
- .4byte sub_806714C
- .4byte sub_8067178
- .4byte sub_8067934
-
-gUnknown_83A6EFC:: @ 83A6EFC
- .4byte sub_80671A4
- .4byte sub_80671D0
- .4byte sub_8067934
-
-gUnknown_83A6F08:: @ 83A6F08
- .4byte sub_80671FC
- .4byte sub_8067228
- .4byte sub_8067934
-
-gUnknown_83A6F14:: @ 83A6F14
- .4byte sub_8067254
- .4byte sub_8067280
- .4byte sub_8067934
-
-gUnknown_83A6F20:: @ 83A6F20
- .4byte sub_80672AC
- .4byte sub_80672D8
- .4byte sub_8067934
-
-gUnknown_83A6F2C:: @ 83A6F2C
- .4byte sub_8067304
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6F38:: @ 83A6F38
- .4byte sub_806733C
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6F44:: @ 83A6F44
- .4byte sub_8067374
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6F50:: @ 83A6F50
- .4byte sub_80673AC
- .4byte sub_806570C
- .4byte sub_8067934
-
-gUnknown_83A6F5C:: @ 83A6F5C
- .4byte sub_806741C
- .4byte sub_806743C
- .4byte sub_8067934
-
-gUnknown_83A6F68:: @ 83A6F68
- .4byte sub_806745C
- .4byte sub_806747C
- .4byte sub_8067934
-
-gUnknown_83A6F74:: @ 83A6F74
- .4byte sub_806749C
- .4byte sub_80674BC
- .4byte sub_8067934
-
-gUnknown_83A6F80:: @ 83A6F80
- .4byte sub_80674DC
- .4byte sub_80674FC
- .4byte sub_8067934
-
-gUnknown_83A6F8C:: @ 83A6F8C
- .4byte sub_806754C
- .4byte sub_806756C
- .4byte sub_8067934
-
-gUnknown_83A6F98:: @ 83A6F98
- .4byte sub_806758C
- .4byte sub_80675AC
- .4byte sub_8067934
-
-gUnknown_83A6FA4:: @ 83A6FA4
- .4byte sub_80675CC
- .4byte sub_80675EC
- .4byte sub_8067934
-
-gUnknown_83A6FB0:: @ 83A6FB0
- .4byte sub_806760C
- .4byte sub_806762C
- .4byte sub_8067934
-
-gUnknown_83A6FBC:: @ 83A6FBC
- .4byte sub_8067684
- .4byte sub_80676A4
- .4byte sub_8067934
-
-gUnknown_83A6FC8:: @ 83A6FC8
- .4byte sub_80676C4
- .4byte sub_80676E4
- .4byte sub_8067934
-
-gUnknown_83A6FD4:: @ 83A6FD4
- .4byte sub_8067704
- .4byte sub_8067724
- .4byte sub_8067934
-
-gUnknown_83A6FE0:: @ 83A6FE0
- .4byte sub_8067744
- .4byte sub_8067764
- .4byte sub_8067934
-
-gUnknown_83A6FEC:: @ 83A6FEC
- .4byte sub_8067784
- .4byte sub_80677C0
-
-gUnknown_83A6FF4:: @ 83A6FF4
- .4byte sub_8067784
- .4byte sub_80677CC
-
-gUnknown_83A6FFC:: @ 83A6FFC
- .4byte sub_8067784
- .4byte sub_80678C0
-
-gUnknown_83A7004:: @ 83A7004
- .4byte sub_80678F0
- .4byte sub_8067924
-
-gUnknown_83A700C:: @ 83A700C
- .4byte sub_8067944
- .4byte sub_8067954
- .4byte sub_80679A8
-
-gUnknown_83A7018:: @ 83A7018
- .4byte sub_8067978
- .4byte sub_806798C
- .4byte sub_80679A8
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x64:: @ 83A6D70
+ .4byte do_x_bubble
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x65:: @ 83A6D78
+ .4byte do_double_excl_bubble
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x66:: @ 83A6D80
+ .4byte do_smile_bubble
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x67:: @ 83A6D88
+ .4byte MovementActionFunc_x67_0
+ .4byte MovementActionFunc_x67_1
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x68:: @ 83A6D94
+ .4byte MovementActionFunc_x68_0
+ .4byte MovementActionFunc_x68_1
+ .4byte MovementActionFunc_x68_2
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x69:: @ 83A6DA4
+ .4byte MovementActionFunc_x69_0
+ .4byte MovementActionFunc_x69_1
+ .4byte MovementActionFunc_x69_2
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x6A:: @ 83A6DB4
+ .4byte MovementActionFunc_x6A_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x6B:: @ 83A6DBC
+ .4byte MovementActionFunc_x6B_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x6C:: @ 83A6DC4
+ .4byte MovementActionFunc_x6C_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x6D:: @ 83A6DCC
+ .4byte MovementActionFunc_x6D_0
+ .4byte MovementActionFunc_x18_2
+
+sMovementActionFuncs_x6E:: @ 83A6DD4
+ .4byte MovementActionFunc_x6E_0
+ .4byte MovementActionFunc_x6E_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x6F:: @ 83A6DE0
+ .4byte MovementActionFunc_x6F_0
+ .4byte MovementActionFunc_x6F_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x70:: @ 83A6DEC
+ .4byte MovementActionFunc_x70_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x71:: @ 83A6DF4
+ .4byte MovementActionFunc_x71_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x72:: @ 83A6DFC
+ .4byte MovementActionFunc_x72_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x73:: @ 83A6E04
+ .4byte MovementActionFunc_x73_0
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x74:: @ 83A6E0C
+ .4byte MovementActionFunc_x74_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x75:: @ 83A6E18
+ .4byte MovementActionFunc_x75_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x76:: @ 83A6E24
+ .4byte MovementActionFunc_x76_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x77:: @ 83A6E30
+ .4byte MovementActionFunc_x77_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x78:: @ 83A6E3C
+ .4byte MovementActionFunc_x78_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x79:: @ 83A6E48
+ .4byte MovementActionFunc_x79_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x7A:: @ 83A6E54
+ .4byte MovementActionFunc_x7A_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x7B:: @ 83A6E60
+ .4byte MovementActionFunc_x7B_0
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+ .4byte MovementActionFunc_x7B_3
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+ .4byte MovementActionFunc_x7B_6
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+ .4byte MovementActionFunc_x7B_9
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+ .4byte MovementActionFunc_x7B_12
+ .4byte MovementActionFunc_x45_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x7C:: @ 83A6E9C
+ .4byte MovementActionFunc_x7C_0
+ .4byte MovementActionFunc_x7C_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x7D:: @ 83A6EA8
+ .4byte MovementActionFunc_x7D_0
+ .4byte MovementActionFunc_x7D_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x7E:: @ 83A6EB4
+ .4byte MovementActionFunc_x7E_0
+ .4byte MovementActionFunc_x7E_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x7F:: @ 83A6EC0
+ .4byte MovementActionFunc_x7F_0
+ .4byte MovementActionFunc_x7F_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x80:: @ 83A6ECC
+ .4byte MovementActionFunc_x80_0
+ .4byte MovementActionFunc_x80_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x81:: @ 83A6ED8
+ .4byte MovementActionFunc_x81_0
+ .4byte MovementActionFunc_x81_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x82:: @ 83A6EE4
+ .4byte MovementActionFunc_x82_0
+ .4byte MovementActionFunc_x82_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x83:: @ 83A6EF0
+ .4byte MovementActionFunc_x83_0
+ .4byte MovementActionFunc_x83_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x84:: @ 83A6EFC
+ .4byte MovementActionFunc_x84_0
+ .4byte MovementActionFunc_x84_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x85:: @ 83A6F08
+ .4byte MovementActionFunc_x85_0
+ .4byte MovementActionFunc_x85_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x86:: @ 83A6F14
+ .4byte MovementActionFunc_x86_0
+ .4byte MovementActionFunc_x86_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x87:: @ 83A6F20
+ .4byte MovementActionFunc_x87_0
+ .4byte MovementActionFunc_x87_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x88:: @ 83A6F2C
+ .4byte MovementActionFunc_x88_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x89:: @ 83A6F38
+ .4byte MovementActionFunc_x89_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x8A:: @ 83A6F44
+ .4byte MovementActionFunc_x8A_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x8B:: @ 83A6F50
+ .4byte MovementActionFunc_x8B_0
+ .4byte MovementActionFunc_x25_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x8C:: @ 83A6F5C
+ .4byte MovementActionFunc_x8C_0
+ .4byte MovementActionFunc_x8C_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x8D:: @ 83A6F68
+ .4byte MovementActionFunc_x8D_0
+ .4byte MovementActionFunc_x8D_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x8E:: @ 83A6F74
+ .4byte MovementActionFunc_x8E_0
+ .4byte MovementActionFunc_x8E_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x8F:: @ 83A6F80
+ .4byte MovementActionFunc_x8F_0
+ .4byte MovementActionFunc_x8F_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x90:: @ 83A6F8C
+ .4byte MovementActionFunc_x90_0
+ .4byte MovementActionFunc_x90_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x91:: @ 83A6F98
+ .4byte MovementActionFunc_x91_0
+ .4byte MovementActionFunc_x91_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x92:: @ 83A6FA4
+ .4byte MovementActionFunc_x92_0
+ .4byte MovementActionFunc_x92_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x93:: @ 83A6FB0
+ .4byte MovementActionFunc_x93_0
+ .4byte MovementActionFunc_x93_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x94:: @ 83A6FBC
+ .4byte MovementActionFunc_x94_0
+ .4byte MovementActionFunc_x94_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x95:: @ 83A6FC8
+ .4byte MovementActionFunc_x95_0
+ .4byte MovementActionFunc_x95_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x96:: @ 83A6FD4
+ .4byte MovementActionFunc_x96_0
+ .4byte MovementActionFunc_x96_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x97:: @ 83A6FE0
+ .4byte MovementActionFunc_x97_0
+ .4byte MovementActionFunc_x97_1
+ .4byte MovementActionFunc_x00_1
+
+sMovementActionFuncs_x98:: @ 83A6FEC
+ .4byte MovementActionFunc_x98_0
+ .4byte MovementActionFunc_x98_1
+
+sMovementActionFuncs_x99:: @ 83A6FF4
+ .4byte MovementActionFunc_x98_0
+ .4byte MovementActionFunc_x99_1
+
+sMovementActionFuncs_x9A:: @ 83A6FFC
+ .4byte MovementActionFunc_x98_0
+ .4byte MovementActionFunc_x9A_1
+
+sMovementActionFuncs_x9F:: @ 83A7004
+ .4byte MovementActionFunc_x9F_0
+ .4byte MovementActionFunc_x9F_1
+
+sMovementActionFuncs_xA4:: @ 83A700C
+ .4byte MovementActionFunc_xA4_0
+ .4byte MovementActionFunc_xA4_1
+ .4byte MovementActionFunc_xA4_2
+
+sMovementActionFuncs_xA5:: @ 83A7018
+ .4byte MovementActionFunc_xA5_0
+ .4byte MovementActionFunc_xA5_1
+ .4byte MovementActionFunc_xA4_2
+ .align 2
+gUnknown_83A7024:: @ 83A7024
+ .4byte 0x00000020, 0x00000010
+
+gUnknown_83A702C:: @ 83A702C
+ .4byte MetatileBehavior_IsTallGrass_2
+ .4byte MetatileBehavior_IsLongGrass
+ .4byte MetatileBehavior_IsPuddle
+ .4byte MetatileBehavior_IsSurfable
+ .4byte MetatileBehavior_IsWaterfallBottom
+ .4byte MetatileBehavior_UnusedReturnTrue
+
+gUnknown_83A7044:: @ 83A7044
+ .4byte 0x00001000, 0x00002000, 0x00004000, 0x00008000, 0x00004000, 0x00010000
+
+gUnknown_83A705C:: @ 83A705C
+ .4byte MetatileBehavior_IsJumpSouth
+ .4byte MetatileBehavior_IsJumpNorth
+ .4byte MetatileBehavior_IsJumpWest
+ .4byte MetatileBehavior_IsJumpEast
+
+gUnknown_83A706C:: @ 83A706C
+ .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73
+
+gUnknown_83A707C:: @ 83A707C
+ .byte 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x02
+
+gUnknown_83A708C:: @ 83A708C
+ .byte 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01
+
+gUnknown_83A709C:: @ 83A709C
+ .4byte nullsub_26
+ .4byte DoTracksGroundEffect_Footprints
+ .4byte DoTracksGroundEffect_BikeTireTracks
+
+gUnknown_83A70A8:: @ 83A70A8
+ .byte 0x0d, 0x00, 0x18, 0x00
+
+gUnknown_83A70AC:: @ 83A70AC
+ .byte 0x01, 0x02, 0x07, 0x08, 0x01, 0x02, 0x06, 0x05, 0x05, 0x08, 0x03, 0x04, 0x06, 0x07, 0x03, 0x04
+
+gUnknown_83A70BC:: @ 83A70BC
+ .4byte GroundEffect_SpawnOnTallGrass
+ .4byte GroundEffect_StepOnTallGrass
+ .4byte GroundEffect_SpawnOnLongGrass
+ .4byte GroundEffect_StepOnLongGrass
+ .4byte GroundEffect_WaterReflection
+ .4byte GroundEffect_IceReflection
+ .4byte GroundEffect_FlowingWater
+ .4byte GroundEffect_SandTracks
+ .4byte GroundEffect_DeepSandTracks
+ .4byte GroundEffect_Ripple
+ .4byte GroundEffect_StepOnPuddle
+ .4byte GroundEffect_SandHeap
+ .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_effect_scripts.s b/data/field_effect_scripts.s
index 98685da05..de50ed39d 100644
--- a/data/field_effect_scripts.s
+++ b/data/field_effect_scripts.s
@@ -2,7 +2,7 @@
.section script_data, "aw", %progbits
.align 2
gUnknown_81D96AC:: @ 81D96AC
- .4byte gFldEffScript_ExclamationMarkIcon1
+ .4byte gFldEffScript_ExclamationMarkIcon
.4byte gFldEffScript_UseCutOnGrass
.4byte gFldEffScript_UseCutOnTree
.4byte gFldEffScript_Shadow
@@ -35,7 +35,7 @@ gUnknown_81D96AC:: @ 81D96AC
.4byte gFldEffScript_NpcflyOut
.4byte gFldEffScript_UseFly
.4byte gFldEffScript_FlyIn
- .4byte gFldEffScript_ExclamationMarkIcon2
+ .4byte gFldEffScript_QuestionMarkIcon
.4byte gFldEffScript_FeetInFlowingWater
.4byte gFldEffScript_BikeTireTracks
.4byte gFldEffScript_SandDisguise
@@ -66,14 +66,14 @@ gUnknown_81D96AC:: @ 81D96AC
.4byte gFldEffScript_PcturnOn
.4byte gFldEffScript_HallOfFameRecord
.4byte gFldEffScript_UseTeleport
- .4byte gFldEffScript_Unk40
+ .4byte gFldEffScript_SmileyFaceIcon
.4byte gFldEffScript_Unk41
- .4byte gFldEffScript_Unk42
+ .4byte gFldEffScript_DoubleExclMarkIcon
.4byte gFldEffScript_Unk43
.4byte gFldEffScript_Unk44
.4byte gFldEffScript_Unk45
-gFldEffScript_ExclamationMarkIcon1:: @ 81D97C4
+gFldEffScript_ExclamationMarkIcon:: @ 81D97C4
callnative FldEff_ExclamationMarkIcon1
end
@@ -203,8 +203,8 @@ gFldEffScript_FlyIn:: @ 81D98BE
callnative FldEff_FlyIn
end
-gFldEffScript_ExclamationMarkIcon2:: @ 81D98C4
- callnative sub_8082624
+gFldEffScript_QuestionMarkIcon:: @ 81D98C4
+ callnative FldEff_QuestionMarkIcon
end
gFldEffScript_FeetInFlowingWater:: @ 81D98CA
@@ -257,7 +257,7 @@ gFldEffScript_Pokeball:: @ 81D9920
end
gFldEffScript_HeartIcon:: @ 81D992B
- callnative sub_80825B4
+ callnative FldEff_XIcon
end
gFldEffScript_Nop47:: @ 81D9931
@@ -321,16 +321,16 @@ gFldEffScript_UseTeleport:: @ 81D9986
callnative FldEff_UseTeleport
end
-gFldEffScript_Unk40:: @ 81D998C
- callnative sub_80825EC
+gFldEffScript_SmileyFaceIcon:: @ 81D998C
+ callnative FldEff_SmileyFaceIcon
end
gFldEffScript_Unk41:: @ 81D9992
callnative sub_8086BA8
end
-gFldEffScript_Unk42:: @ 81D9998
- callnative sub_808257C
+gFldEffScript_DoubleExclMarkIcon:: @ 81D9998
+ callnative FldEff_DoubleExclMarkIcon
end
gFldEffScript_Unk43:: @ 81D999E
diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s
deleted file mode 100644
index c871b2d4b..000000000
--- a/data/field_ground_effect.s
+++ /dev/null
@@ -1,63 +0,0 @@
- .section .rodata
- .align 2
-gUnknown_83A7024:: @ 83A7024
- .4byte 0x00000020, 0x00000010
-
-gUnknown_83A702C:: @ 83A702C
- .4byte MetatileBehavior_IsTallGrass_2
- .4byte MetatileBehavior_IsLongGrass
- .4byte MetatileBehavior_IsPuddle
- .4byte MetatileBehavior_IsSurfable
- .4byte MetatileBehavior_IsWaterfallBottom
- .4byte MetatileBehavior_UnusedReturnTrue
-
-gUnknown_83A7044:: @ 83A7044
- .4byte 0x00001000, 0x00002000, 0x00004000, 0x00008000, 0x00004000, 0x00010000
-
-gUnknown_83A705C:: @ 83A705C
- .4byte MetatileBehavior_IsJumpSouth
- .4byte MetatileBehavior_IsJumpNorth
- .4byte MetatileBehavior_IsJumpWest
- .4byte MetatileBehavior_IsJumpEast
-
-gUnknown_83A706C:: @ 83A706C
- .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73
-
-gUnknown_83A707C:: @ 83A707C
- .byte 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x02
-
-gUnknown_83A708C:: @ 83A708C
- .byte 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01
-
-gUnknown_83A709C:: @ 83A709C
- .4byte nullsub_26
- .4byte DoTracksGroundEffect_Footprints
- .4byte DoTracksGroundEffect_BikeTireTracks
-
-gUnknown_83A70A8:: @ 83A70A8
- .byte 0x0d, 0x00, 0x18, 0x00
-
-gUnknown_83A70AC:: @ 83A70AC
- .byte 0x01, 0x02, 0x07, 0x08, 0x01, 0x02, 0x06, 0x05, 0x05, 0x08, 0x03, 0x04, 0x06, 0x07, 0x03, 0x04
-
-gUnknown_83A70BC:: @ 83A70BC
- .4byte GroundEffect_SpawnOnTallGrass
- .4byte GroundEffect_StepOnTallGrass
- .4byte GroundEffect_SpawnOnLongGrass
- .4byte GroundEffect_StepOnLongGrass
- .4byte GroundEffect_WaterReflection
- .4byte GroundEffect_IceReflection
- .4byte GroundEffect_FlowingWater
- .4byte GroundEffect_SandTracks
- .4byte GroundEffect_DeepSandTracks
- .4byte GroundEffect_Ripple
- .4byte GroundEffect_StepOnPuddle
- .4byte GroundEffect_SandHeap
- .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_player_avatar.s b/data/field_player_avatar.s
index d89daa03c..c209c8501 100644
--- a/data/field_player_avatar.s
+++ b/data/field_player_avatar.s
@@ -1,3 +1,4 @@
+#include "constants/object_events.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
@@ -36,11 +37,11 @@ gUnknown_835B820:: @ 835B820
.align 2
gUnknown_835B828:: @ 835B828
- .4byte MetatileBehavior_ReturnFalse_14
- .4byte MetatileBehavior_ReturnFalse_15
- .4byte MetatileBehavior_ReturnFalse_16
- .4byte MetatileBehavior_ReturnFalse_17
- .4byte MetatileBehavior_ReturnFalse_18
+ .4byte MetatileBehavior_ReturnFalse_14 // Related to Acro Bike
+ .4byte MetatileBehavior_ReturnFalse_15 // Related to Acro Bike
+ .4byte MetatileBehavior_ReturnFalse_16 // Related to Acro Bike
+ .4byte MetatileBehavior_ReturnFalse_17 // Related to Acro Bike
+ .4byte MetatileBehavior_ReturnFalse_18 // Related to Acro Bike
gUnknown_835B83C:: @ 835B83C
.byte 0x09, 0x0a, 0x0b, 0x0c, 0x0d
@@ -63,16 +64,30 @@ gUnknown_835B864:: @ 835B864
.4byte MetatileBehavior_IsEastArrowWarp
gUnknown_835B874:: @ 835B874
- .byte 0x00, 0x07, 0x01, 0x08, 0x02, 0x09, 0x03, 0x0a, 0x04, 0x0b, 0x05, 0x0c
+ .byte OBJECT_EVENT_GFX_RED_NORMAL, OBJECT_EVENT_GFX_GREEN_NORMAL
+ .byte OBJECT_EVENT_GFX_RED_BIKE, OBJECT_EVENT_GFX_GREEN_BIKE
+ .byte OBJECT_EVENT_GFX_RED_SURF, OBJECT_EVENT_GFX_GREEN_SURF
+ .byte OBJECT_EVENT_GFX_RED_ITEM, OBJECT_EVENT_GFX_GREEN_ITEM
+ .byte OBJECT_EVENT_GFX_RED_FISH, OBJECT_EVENT_GFX_GREEN_FISH
+ .byte OBJECT_EVENT_GFX_RED_ITEM_COPY, OBJECT_EVENT_GFX_GREEN_ITEM_COPY
gUnknown_835B880:: @ 835B880
- .byte 0x0e, 0x0f
+ .byte OBJECT_EVENT_GFX_RS_BRENDAN
+ .byte OBJECT_EVENT_GFX_RS_MAY
gUnknown_835B882:: @ 835B882
- .byte 0x00, 0x01, 0x01, 0x02, 0x02, 0x08, 0x07, 0x01, 0x08, 0x02, 0x09, 0x08
+ @ Male
+ .byte OBJECT_EVENT_GFX_RED_NORMAL, 0x01
+ .byte OBJECT_EVENT_GFX_RED_BIKE, 0x02
+ .byte OBJECT_EVENT_GFX_RED_SURF, 0x08
+ @ Female
+ .byte OBJECT_EVENT_GFX_GREEN_NORMAL, 0x01
+ .byte OBJECT_EVENT_GFX_GREEN_BIKE, 0x02
+ .byte OBJECT_EVENT_GFX_GREEN_SURF, 0x08
gUnknown_835B88E:: @ 835B88E
- .byte 0x06, 0x0d
+ .byte OBJECT_EVENT_GFX_RED_VS_SEEKER
+ .byte OBJECT_EVENT_GFX_GREEN_VS_SEEKER
gUnknown_835B890:: @ 835B890
.4byte MetatileBehavior_IsSouthArrowWarp
diff --git a/data/maps/CeladonCity_GameCorner/scripts.inc b/data/maps/CeladonCity_GameCorner/scripts.inc
index c206f38b4..9032cd053 100644
--- a/data/maps/CeladonCity_GameCorner/scripts.inc
+++ b/data/maps/CeladonCity_GameCorner/scripts.inc
@@ -257,8 +257,8 @@ CeladonCity_GameCorner_EventScript_SlotMachine:: @ 816C96C
setfieldeffectarg 0, 255
setfieldeffectarg 1, 10
setfieldeffectarg 2, 14
- dofieldeffect FLDEFF_UNK_40
- waitfieldeffect FLDEFF_UNK_40 @ Smile icon?
+ dofieldeffect FLDEFF_SMILEY_FACE_ICON
+ waitfieldeffect FLDEFF_SMILEY_FACE_ICON
specialvar VAR_RESULT, Special_GetRandomSlotMachine
playslotmachine VAR_RESULT
releaseall
diff --git a/data/trainer_see.s b/data/trainer_see.s
deleted file mode 100644
index 3014d8ba0..000000000
--- a/data/trainer_see.s
+++ /dev/null
@@ -1,97 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2
-
-gUnknown_83C6AC8::
- .incbin "graphics/object_events/emoticons.4bpp"
-
-gUnknown_83C7248:: @ 83C7248
- .4byte IsTrainerInRangeSouth
- .4byte IsTrainerInRangeNorth
- .4byte IsTrainerInRangeWest
- .4byte IsTrainerInRangeEast
-
-gUnknown_83C7258:: @ 83C7258
- .4byte sub_8081F34
- .4byte sub_8081F38
- .4byte sub_8081F90
- .4byte sub_8081FD0
- .4byte sub_808202C
- .4byte sub_80820BC
- .4byte sub_8082100
- .4byte sub_8082134
- .4byte sub_8082150
- .4byte sub_8082184
- .4byte sub_80821DC
- .4byte sub_8082250
- .4byte sub_808226C
- .4byte sub_80822CC
- .4byte sub_808237C
-
-gUnknown_83C7294:: @ 83C7294
- .4byte sub_8082150
- .4byte sub_8082184
- .4byte sub_80821DC
- .4byte sub_8082250
-
-gOamData_83C72A4::
- .4byte 0x40000000, 0x00000400
-
-gSpriteImages_83C72AC::
- .4byte gUnknown_83C6AC8 + 0x000, 0x80
- .4byte gUnknown_83C6AC8 + 0x080, 0x80
- .4byte gUnknown_83C6AC8 + 0x100, 0x80
- .4byte gUnknown_83C6AC8 + 0x300, 0x80
- .4byte gUnknown_83C6AC8 + 0x380, 0x80
- .4byte gUnknown_83C6AC8 + 0x400, 0x80
- .4byte gUnknown_83C6AC8 + 0x180, 0x80
- .4byte gUnknown_83C6AC8 + 0x200, 0x80
- .4byte gUnknown_83C6AC8 + 0x280, 0x80
- .4byte gUnknown_83C6AC8 + 0x480, 0x80
- .4byte gUnknown_83C6AC8 + 0x500, 0x80
- .4byte gUnknown_83C6AC8 + 0x580, 0x80
- .4byte gUnknown_83C6AC8 + 0x600, 0x80
- .4byte gUnknown_83C6AC8 + 0x680, 0x80
- .4byte gUnknown_83C6AC8 + 0x700, 0x80
-
-gAnimCmd_83C7324::
- obj_image_anim_frame 0x0000, 0x0004
- obj_image_anim_frame 0x0001, 0x0004
- obj_image_anim_frame 0x0002, 0x0034
- obj_image_anim_end
-
-gAnimCmd_83C7334::
- obj_image_anim_frame 0x0006, 0x0004
- obj_image_anim_frame 0x0007, 0x0004
- obj_image_anim_frame 0x0008, 0x0034
- obj_image_anim_end
-
-gAnimCmd_83C7344::
- obj_image_anim_frame 0x0003, 0x0004
- obj_image_anim_frame 0x0004, 0x0004
- obj_image_anim_frame 0x0005, 0x0034
- obj_image_anim_end
-
-gAnimCmd_83C7354::
- obj_image_anim_frame 0x0009, 0x0004
- obj_image_anim_frame 0x000a, 0x0004
- obj_image_anim_frame 0x000b, 0x0034
- obj_image_anim_end
-
-gAnimCmd_83C7364::
- obj_image_anim_frame 0x000c, 0x0004
- obj_image_anim_frame 0x000d, 0x0004
- obj_image_anim_frame 0x000e, 0x0034
- obj_image_anim_end
-
-gSpriteAnimTable_83C7374::
- .4byte gAnimCmd_83C7324
- .4byte gAnimCmd_83C7334
- .4byte gAnimCmd_83C7344
- .4byte gAnimCmd_83C7354
- .4byte gAnimCmd_83C7364
-
-gUnknown_83C7388:: @ 83C7388
- spr_template 65535, 65535, gOamData_83C72A4, gSpriteAnimTable_83C7374, gSpriteImages_83C72AC, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably
diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h
index bf75a47cc..08713a602 100644
--- a/include/constants/event_object_movement.h
+++ b/include/constants/event_object_movement.h
@@ -88,163 +88,180 @@
#define MOVEMENT_ACTION_FACE_UP 0x1
#define MOVEMENT_ACTION_FACE_LEFT 0x2
#define MOVEMENT_ACTION_FACE_RIGHT 0x3
-#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0x4
-#define MOVEMENT_ACTION_WALK_SLOW_UP 0x5
-#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0x6
-#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0x7
-#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x8
-#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x9
-#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0xA
-#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0xB
-#define MOVEMENT_ACTION_JUMP_2_DOWN 0xC
-#define MOVEMENT_ACTION_JUMP_2_UP 0xD
-#define MOVEMENT_ACTION_JUMP_2_LEFT 0xE
-#define MOVEMENT_ACTION_JUMP_2_RIGHT 0xF
-#define MOVEMENT_ACTION_DELAY_1 0x10
-#define MOVEMENT_ACTION_DELAY_2 0x11
-#define MOVEMENT_ACTION_DELAY_4 0x12
-#define MOVEMENT_ACTION_DELAY_8 0x13
-#define MOVEMENT_ACTION_DELAY_16 0x14
-#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x15
-#define MOVEMENT_ACTION_WALK_FAST_UP 0x16
-#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x17
-#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x18
-#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x19
-#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x1A
-#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x1B
-#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x1C
-#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x1D
-#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x1E
-#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x1F
-#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x20
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x21
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x22
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x23
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x24
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x25
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x26
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x27
-#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x28
-#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN 0x29
-#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x2A
-#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x2B
-#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x2C
-#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x2D
-#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x2E
-#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x2F
-#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x30
-#define MOVEMENT_ACTION_SLIDE_DOWN 0x31
-#define MOVEMENT_ACTION_SLIDE_UP 0x32
-#define MOVEMENT_ACTION_SLIDE_LEFT 0x33
-#define MOVEMENT_ACTION_SLIDE_RIGHT 0x34
-#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x35
-#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x36
-#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x37
-#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x38
-#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x39
-#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x3A
-#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x3B
-#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x3C
-#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x3D
-#define MOVEMENT_ACTION_FACE_PLAYER 0x3E
-#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x3F
-#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x40
-#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x41
-#define MOVEMENT_ACTION_JUMP_DOWN 0x42
-#define MOVEMENT_ACTION_JUMP_UP 0x43
-#define MOVEMENT_ACTION_JUMP_LEFT 0x44
-#define MOVEMENT_ACTION_JUMP_RIGHT 0x45
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x46
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x47
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x48
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x49
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x4A
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x4B
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x4C
-#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x4D
-#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x4E
-#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x4F
-#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x50
-#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x51
-#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x52
-#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x53
-#define MOVEMENT_ACTION_SET_INVISIBLE 0x54
-#define MOVEMENT_ACTION_SET_VISIBLE 0x55
-#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x56
-#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x57
-#define MOVEMENT_ACTION_EMOTE_HEART 0x58
-#define MOVEMENT_ACTION_REVEAL_TRAINER 0x59
-#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x5A
-#define MOVEMENT_ACTION_CUT_TREE 0x5B
-#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x5C
-#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D
-#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E
-#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F
-#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60
-#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61
-#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62
-#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63
-#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64
-#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x65
-#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x66
-#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x67
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x68
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x69
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x6A
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x6B
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x6C
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x6D
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x6E
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x6F
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x70
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x71
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x72
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x73
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x74
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x75
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x76
-#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x77
-#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x78
-#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x79
-#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x7A
-#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x7B
-#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x7C
-#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x7D
-#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x7E
-#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x7F
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x80
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x81
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x82
-#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x83
-#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x84
-#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x85
-#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x86
-#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x87
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x88
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x89
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x8A
-#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x8B
-#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT 0x8C
-#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT 0x8D
-#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT 0x8E
-#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT 0x8F
-#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT 0x90
-#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT 0x91
-#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT 0x92
-#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT 0x93
-#define MOVEMENT_ACTION_STORE_AND_LOCK_ANIM 0x94
-#define MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM 0x95
-#define MOVEMENT_ACTION_WALK_LEFT_AFFINE 0x96
-#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97
-#define MOVEMENT_ACTION_LEVITATE 0x98
-#define MOVEMENT_ACTION_STOP_LEVITATE 0x99
-#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A
-#define MOVEMENT_ACTION_FIGURE_8 0x9B
+#define MOVEMENT_ACTION_FACE_DOWN_FAST 0x4
+#define MOVEMENT_ACTION_FACE_UP_FAST 0x5
+#define MOVEMENT_ACTION_FACE_LEFT_FAST 0x6
+#define MOVEMENT_ACTION_FACE_RIGHT_FAST 0x7
+#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN 0x8
+#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0x9
+#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0xA
+#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0xB
+#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0xC
+#define MOVEMENT_ACTION_WALK_SLOW_UP 0xD
+#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0xE
+#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0xF
+#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x10
+#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x11
+#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0x12
+#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0x13
+#define MOVEMENT_ACTION_JUMP_2_DOWN 0x14
+#define MOVEMENT_ACTION_JUMP_2_UP 0x15
+#define MOVEMENT_ACTION_JUMP_2_LEFT 0x16
+#define MOVEMENT_ACTION_JUMP_2_RIGHT 0x17
+#define MOVEMENT_ACTION_DELAY_1 0x18
+#define MOVEMENT_ACTION_DELAY_2 0x19
+#define MOVEMENT_ACTION_DELAY_4 0x1A
+#define MOVEMENT_ACTION_DELAY_8 0x1B
+#define MOVEMENT_ACTION_DELAY_16 0x1C
+#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x1D
+#define MOVEMENT_ACTION_WALK_FAST_UP 0x1E
+#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x1F
+#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x20
+#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x21
+#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x22
+#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x23
+#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x24
+#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x25
+#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x26
+#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x27
+#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x28
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x29
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x2A
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x2B
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x2C
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x2D
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x2E
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x2F
+#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x30
+#define MOVEMENT_ACTION_FACE_DOWN_SLOW 0x31
+#define MOVEMENT_ACTION_FACE_UP_SLOW 0x32
+#define MOVEMENT_ACTION_FACE_LEFT_SLOW 0x33
+#define MOVEMENT_ACTION_FACE_RIGHT_SLOW 0x34
+#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x35
+#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x36
+#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x37
+#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x38
+#define MOVEMENT_ACTION_SLIDE_DOWN 0x39
+#define MOVEMENT_ACTION_SLIDE_UP 0x3A
+#define MOVEMENT_ACTION_SLIDE_LEFT 0x3B
+#define MOVEMENT_ACTION_SLIDE_RIGHT 0x3C
+#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x3D
+#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x3E
+#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x3F
+#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x40
+#define MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW 0x41
+#define MOVEMENT_ACTION_PLAYER_RUN_UP_SLOW 0x42
+#define MOVEMENT_ACTION_PLAYER_RUN_LEFT_SLOW 0x43
+#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT_SLOW 0x44
+#define MOVEMENT_ACTION_UNKNOWN_STEP_45 0x45
+#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x46
+#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x47
+#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x48
+#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x49
+#define MOVEMENT_ACTION_FACE_PLAYER 0x4A
+#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x4B
+#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x4C
+#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x4D
+#define MOVEMENT_ACTION_JUMP_DOWN 0x4E
+#define MOVEMENT_ACTION_JUMP_UP 0x4F
+#define MOVEMENT_ACTION_JUMP_LEFT 0x50
+#define MOVEMENT_ACTION_JUMP_RIGHT 0x51
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x52
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x53
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x54
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x55
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x56
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x57
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x58
+#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x59
+#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x5A
+#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x5B
+#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x5C
+#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x5D
+#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x5E
+#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x5F
+#define MOVEMENT_ACTION_SET_INVISIBLE 0x60
+#define MOVEMENT_ACTION_SET_VISIBLE 0x61
+#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x62
+#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x63
+#define MOVEMENT_ACTION_EMOTE_X 0x64
+#define MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK 0x65
+#define MOVEMENT_ACTION_EMOTE_SMILE 0x66
+#define MOVEMENT_ACTION_REVEAL_TRAINER 0x67
+#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x68
+#define MOVEMENT_ACTION_CUT_TREE 0x69
+#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x6A
+#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x6B
+#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x6C
+#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x6D
+
+// These still exist in FRLG for some reason. They're not used by anything obvious.
+#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x6E
+#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x6F
+#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x70
+#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x71
+#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x72
+#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x73
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x74
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x75
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x76
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x77
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x78
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x79
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x7A
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x7B
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x7C
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x7D
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x7E
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x7F
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x80
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x81
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x82
+#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x83
+#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x84
+#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x85
+#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x86
+#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x87
+#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x88
+#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x89
+#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x8A
+#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x8B
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x8C
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x8D
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x8E
+#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x8F
+#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x90
+#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x91
+#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x92
+#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x93
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x94
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x95
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x96
+#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x97
+
+// 98-A3 are unknown
+#define MOVEMENT_ACTION_0x98 0x98
+#define MOVEMENT_ACTION_0x99 0x99
+#define MOVEMENT_ACTION_0x9A 0x9A
+#define MOVEMENT_ACTION_0x9B 0x9B
+#define MOVEMENT_ACTION_0x9C 0x9C
+#define MOVEMENT_ACTION_0x9D 0x9D
+#define MOVEMENT_ACTION_0x9E 0x9E
+#define MOVEMENT_ACTION_0x9F 0x9F
+#define MOVEMENT_ACTION_0xA0 0xA0
+#define MOVEMENT_ACTION_0xA1 0xA1
+#define MOVEMENT_ACTION_0xA2 0xA2
+#define MOVEMENT_ACTION_0xA3 0xA3
-// These two are verified correct in FRLG
#define MOVEMENT_ACTION_FLY_UP 0xA4
#define MOVEMENT_ACTION_FLY_DOWN 0xA5
+// Duplicates of JUMP_SPECIAL?
+#define MOVEMENT_ACTION_0xA6 0xA6
+#define MOVEMENT_ACTION_0xA7 0xA7
+#define MOVEMENT_ACTION_0xA8 0xA8
+#define MOVEMENT_ACTION_0xA9 0xA9
+
#define MOVEMENT_ACTION_STEP_END 0xFE
#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
index 1fd6777f0..c56c97d73 100644
--- a/include/constants/field_effects.h
+++ b/include/constants/field_effects.h
@@ -1,7 +1,7 @@
#ifndef GUARD_CONSTANTS_FIELD_EFFECTS_H
#define GUARD_CONSTANTS_FIELD_EFFECTS_H
-#define FLDEFF_EXCLAMATION_MARK_ICON_1 0
+#define FLDEFF_EXCLAMATION_MARK_ICON 0
#define FLDEFF_USE_CUT_ON_GRASS 1
#define FLDEFF_USE_CUT_ON_TREE 2
#define FLDEFF_SHADOW 3
@@ -34,7 +34,7 @@
#define FLDEFF_NPCFLY_OUT 30
#define FLDEFF_USE_FLY 31
#define FLDEFF_FLY_IN 32
-#define FLDEFF_EXCLAMATION_MARK_ICON_2 33
+#define FLDEFF_QUESTION_MARK_ICON 33
#define FLDEFF_FEET_IN_FLOWING_WATER 34
#define FLDEFF_BIKE_TIRE_TRACKS 35
#define FLDEFF_SAND_DISGUISE 36
@@ -47,7 +47,7 @@
#define FLDEFF_USE_WATERFALL 43
#define FLDEFF_USE_DIVE 44
#define FLDEFF_POKEBALL 45
-#define FLDEFF_HEART_ICON 46
+#define FLDEFF_X_ICON 46
#define FLDEFF_NOP_47 47
#define FLDEFF_NOP_48 48
#define FLDEFF_POP_OUT_OF_ASH 49
@@ -65,11 +65,11 @@
#define FLDEFF_PCTURN_ON 61
#define FLDEFF_HALL_OF_FAME_RECORD 62
#define FLDEFF_USE_TELEPORT 63
-#define FLDEFF_UNK_40 64 // TODO: game corner smile icon?
+#define FLDEFF_SMILEY_FACE_ICON 64
#define FLDEFF_UNK_41 65 // TODO: related to vs_seeker
-#define FLDEFF_UNK_42 66 // TODO: related to trainer see
+#define FLDEFF_DOUBLE_EXCL_MARK_ICON 66
#define FLDEFF_UNK_43 67 // TODO: related to deoxys
-#define FLDEFF_UNK_44 68 // TODO: related to trainer see
+#define FLDEFF_UNK_44 68 // TODO: related to ???
#define FLDEFF_UNK_45 69 // TODO: related to fame checker photos
#endif // GUARD_CONSTANTS_FIELD_EFFECTS_H
diff --git a/include/constants/movement_commands.h b/include/constants/movement_commands.h
deleted file mode 100644
index 8556ba951..000000000
--- a/include/constants/movement_commands.h
+++ /dev/null
@@ -1,121 +0,0 @@
-#ifndef GUARD_CONSTANTS_MOVEMENT_COMMANDS_H
-#define GUARD_CONSTANTS_MOVEMENT_COMMANDS_H
-
-enum
-{
- face_down,
- face_up,
- face_left,
- face_right,
- face_down_fast,
- face_up_fast,
- face_left_fast,
- face_right_fast,
- walk_slowest_down,
- walk_slowest_up,
- walk_slowest_left,
- walk_slowest_right,
- walk_slow_down,
- walk_slow_up,
- walk_slow_left,
- walk_slow_right,
- walk_down,
- walk_up,
- walk_left,
- walk_right,
- jump_2_down,
- jump_2_up,
- jump_2_left,
- jump_2_right,
- delay_1,
- delay_2,
- delay_4,
- delay_8,
- delay_16,
- walk_fast_down,
- walk_fast_up,
- walk_fast_left,
- walk_fast_right,
- walk_in_place_slow_down,
- walk_in_place_slow_up,
- walk_in_place_slow_left,
- walk_in_place_slow_right,
- walk_in_place_down,
- walk_in_place_up,
- walk_in_place_left,
- walk_in_place_right,
- walk_in_place_fast_down,
- walk_in_place_fast_up,
- walk_in_place_fast_left,
- walk_in_place_fast_right,
- walk_in_place_fastest_down,
- walk_in_place_fastest_up,
- walk_in_place_fastest_left,
- walk_in_place_fastest_right,
- face_down_slow,
- face_up_slow,
- face_left_slow,
- face_right_slow,
- walk_fastest_down,
- walk_fastest_up,
- walk_fastest_left,
- walk_fastest_right,
- slide_down,
- slide_up,
- slide_left,
- slide_right,
- player_run_down,
- player_run_up,
- player_run_left,
- player_run_right,
- player_run_down_slow,
- player_run_up_slow,
- player_run_left_slow,
- player_run_right_slow,
- step_45,
- jump_down_run,
- jump_up_run,
- jump_left_run,
- jump_right_run,
- face_player,
- face_away_player,
- lock_facing_direction,
- unlock_facing_direction,
- jump_down,
- jump_up,
- jump_left,
- jump_right,
- jump_in_place_down,
- jump_in_place_up,
- jump_in_place_left,
- jump_in_place_right,
- jump_in_place_down_up,
- jump_in_place_up_down,
- jump_in_place_left_right,
- jump_in_place_right_left,
- face_original_direction,
- nurse_joy_bow,
- enable_jump_landing_ground_effect,
- disable_jump_landing_ground_effect,
- disable_anim,
- restore_anim,
- set_invisible,
- set_visible,
- emote_exclamation_mark,
- emote_question_mark,
- emote_x,
- emote_double_exclamation_mark,
- emote_smile,
- step_67,
- rock_smash_break,
- cut_tree,
-
- step_91 = 0x91,
- step_92,
-
- step_96 = 0x96,
-
- step_end = 0xfe,
-};
-
-#endif //GUARD_CONSTANTS_MOVEMENT_COMMANDS_H
diff --git a/include/constants/object_events.h b/include/constants/object_events.h
index d6f33b33c..89dd75b5f 100644
--- a/include/constants/object_events.h
+++ b/include/constants/object_events.h
@@ -3,14 +3,14 @@
#define OBJECT_EVENT_GFX_RED_NORMAL 0
#define OBJECT_EVENT_GFX_RED_BIKE 1
-#define OBJECT_EVENT_GFX_RED_RUN 2
+#define OBJECT_EVENT_GFX_RED_SURF 2
#define OBJECT_EVENT_GFX_RED_ITEM 3
#define OBJECT_EVENT_GFX_RED_FISH 4
#define OBJECT_EVENT_GFX_RED_ITEM_COPY 5
#define OBJECT_EVENT_GFX_RED_VS_SEEKER 6
#define OBJECT_EVENT_GFX_GREEN_NORMAL 7
#define OBJECT_EVENT_GFX_GREEN_BIKE 8
-#define OBJECT_EVENT_GFX_GREEN_RUN 9
+#define OBJECT_EVENT_GFX_GREEN_SURF 9
#define OBJECT_EVENT_GFX_GREEN_ITEM 10
#define OBJECT_EVENT_GFX_GREEN_FISH 11
#define OBJECT_EVENT_GFX_GREEN_ITEM_COPY 12
diff --git a/include/event_object_80688E4.h b/include/event_object_80688E4.h
deleted file mode 100644
index 241d48c3a..000000000
--- a/include/event_object_80688E4.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef GUARD_EVENT_OBJECT_80688E4_H
-#define GUARD_EVENT_OBJECT_80688E4_H
-
-#include "global.h"
-
-void FreezeObjectEvents(void);
-bool8 FreezeObjectEvent(struct ObjectEvent *);
-void FreezeObjectEventsExceptOne(u8 objEventId);
-void RfuUnionObjectSetFacingDirection(u8 objectEventId, u8 direction);
-void RfuUnionObjectToggleInvisibility(u8 objectEventId, bool32 invisible);
-bool32 RfuUnionObjectIsInvisible(u8 objectEventId);
-void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo);
-bool32 RfuUnionObjectIsWarping(u8 objectEventId);
-
-#endif // GUARD_EVENT_OBJECT_80688E4_H
diff --git a/include/event_object_8097404.h b/include/event_object_8097404.h
deleted file mode 100644
index 23fce9576..000000000
--- a/include/event_object_8097404.h
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Created by scott on 9/7/2017.
-//
-
-#ifndef GUARD_EVENT_OBJECT_8097404_H
-#define GUARD_EVENT_OBJECT_8097404_H
-
-#include "global.h"
-
-// Exported type declarations
-
-// Exported RAM declarations
-extern void *gUnknown_020375B8;
-
-// Exported ROM declarations
-void sub_8097AC8(struct Sprite *);
-void UnfreezeObjectEvent(struct ObjectEvent *);
-void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
-u8 sub_8097F78(struct ObjectEvent *);
-bool8 obj_npc_ministep(struct Sprite *sprite);
-bool8 sub_80976EC(struct Sprite *sprite);
-void sub_80976DC(struct Sprite *, u8);
-void sub_809783C(struct Sprite *, u8, u8, u8);
-void DoShadowFieldEffect(struct ObjectEvent *);
-u8 sub_809785C(struct Sprite *);
-u8 sub_80978E4(struct Sprite *);
-void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
-bool8 sub_80979BC(struct Sprite *);
-void sub_8097750(struct Sprite *);
-bool8 sub_8097758(struct Sprite *);
-void sub_8097FA4(struct ObjectEvent *);
-void sub_8098044(u8);
-
-#endif // GUARD_EVENT_OBJECT_8097404_H
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index 650f137d9..b713dbd7d 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -48,7 +48,7 @@ void SpawnObjectEventsInView(s16, s16);
u8 sprite_new(u8, u8, s16, s16, u8, u8);
u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8);
u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup);
-u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8);
+int SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8);
u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *);
void sub_8093038(s16, s16, s16 *, s16 *);
void CameraObjectReset1(void);
@@ -65,7 +65,7 @@ void sub_808E82C(u8, u8, u8, s16, s16);
void sub_805F400(u8, u8, u8);
void sub_805F3A8(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
-void ObjectEventGetLocalIdAndMap(struct ObjectEvent *, u8 *, u8 *, u8 *);
+void ObjectEventGetLocalIdAndMap(struct ObjectEvent * objectEvent, u8 *localId, u8 *mapNum, u8 *mapGroup);
void npc_coords_shift(struct ObjectEvent *, s16, s16);
void sub_808EB08(struct ObjectEvent *, s16, s16);
void sub_805FE94(u8, u8, u8);
@@ -76,7 +76,7 @@ u8 GetStepInPlaceDelay4AnimId(u32);
u8 GetStepInPlaceDelay8AnimId(u32);
u8 GetStepInPlaceDelay16AnimId(u32);
u8 GetStepInPlaceDelay32AnimId(u32);
-u8 npc_block_way(struct ObjectEvent *, s16, s16, u32);
+u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32);
void MoveCoords(u8, s16 *, s16 *);
bool8 ObjectEventIsSpecialAnimActive(struct ObjectEvent *);
u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *);
@@ -84,7 +84,7 @@ u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z);
void sub_8063E28(struct ObjectEvent *, struct Sprite *);
bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8);
void npc_coords_shift_still(struct ObjectEvent *);
-void sub_805FE7C(struct ObjectEvent *, u8);
+void TryOverrideTemplateCoordsForObjectEvent(struct ObjectEvent *, u8);
void SetTrainerMovementType(struct ObjectEvent *, u8);
u8 sub_80634F0(u8 direction);
u8 sub_8063500(u8 a0);
@@ -93,11 +93,29 @@ u8 sub_805EB44(u8, u8, s16, s16);
void npc_paltag_set_load(u8 mode);
bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent);
u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent);
-u8 sub_8063F84(u8 direction);
+u8 GetWalkNormalMovementAction(u8 direction);
u8 GetTrainerFacingDirectionMovementType(u8 direction);
void CameraObjectSetFollowedObjectId(u8 spriteId);
void UnfreezeObjectEvents(void);
void TurnObjectEvent(u8, u8);
+const u8 *GetObjectEventScriptPointerByObjectEventId(u8 objectEventId);
+u8 GetIndexOfFirstInactiveObjectEvent(void);
+u8 GetCollisionFlagsAtCoords(struct ObjectEvent * objectEvent, s16 x, s16 y, u8 direction);
+u8 GetFaceDirectionMovementAction(u8 direction);
+u8 GetJumpInPlaceMovementAction(u8 direction);
+u8 sub_8063FB0(u8 direction);
+void OverrideTemplateCoordsForObjectEvent(struct ObjectEvent *);
+void sub_805C774(void);
+
+void FreezeObjectEvents(void);
+bool8 FreezeObjectEvent(struct ObjectEvent *);
+void UnfreezeObjectEvent(struct ObjectEvent *);
+void FreezeObjectEventsExceptOne(u8 objEventId);
+void RfuUnionObjectSetFacingDirection(u8 objectEventId, u8 direction);
+void RfuUnionObjectToggleInvisibility(u8 objectEventId, bool32 invisible);
+bool32 RfuUnionObjectIsInvisible(u8 objectEventId);
+void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo);
+bool32 RfuUnionObjectIsWarping(u8 objectEventId);
// Exported data declarations
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index a69ec6155..e9553025c 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -16,7 +16,7 @@ void sub_808D074(u8);
void sub_805C270(void);
void sub_805C780(void);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
-u8 sub_805C808(u8);
+u8 GetPlayerAvatarGraphicsIdByStateId(u8);
void SetPlayerAvatarStateMask(u8 mask);
void sub_805D9C4(struct Sprite *sprite);
void sub_805D154(u8 direction);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index e0053fe88..c599b68ab 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -205,9 +205,9 @@ struct ObjectEvent
/*0x0A*/ u8 mapGroup;
/*0x0B*/ u8 mapobj_unk_0B_0:4;
u8 elevation:4;
- /*0x0C*/ struct Coords16 coords1;
- /*0x10*/ struct Coords16 coords2;
- /*0x14*/ struct Coords16 coords3;
+ /*0x0C*/ struct Coords16 initialCoords;
+ /*0x10*/ struct Coords16 currentCoords;
+ /*0x14*/ struct Coords16 previousCoords;
/*0x18*/ u8 facingDirection:4; //current direction?
/*0x18*/ u8 placeholder18:4;
/*0x19*/ union ObjectEventRange range;
diff --git a/include/quest_log.h b/include/quest_log.h
index eddd4c02a..25d0d5871 100644
--- a/include/quest_log.h
+++ b/include/quest_log.h
@@ -49,5 +49,6 @@ void *QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx);
void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
void sub_8110840(void *oldSave);
void sub_8112F18(u8 windowId);
+bool8 sub_8111C2C(void);
#endif //GUARD_QUEST_LOG_H
diff --git a/include/trainer_see.h b/include/trainer_see.h
index 511edf404..65d4a9efe 100644
--- a/include/trainer_see.h
+++ b/include/trainer_see.h
@@ -3,8 +3,12 @@
#include "global.h"
-void sub_80B4578(struct ObjectEvent *);
-u8 sub_80B47BC(void);
-void sub_8155D78(struct ObjectEvent *);
+bool8 CheckForTrainersWantingBattle(void);
+void MovementAction_RevealTrainer_RunTrainerSeeFuncList(struct ObjectEvent *var);
+u8 FldEff_ExclamationMarkIcon1(void);
+u8 FldEff_DoubleExclMarkIcon(void);
+u8 FldEff_XIcon(void);
+u8 FldEff_SmileyFaceIcon(void);
+u8 FldEff_QuestionMarkIcon(void);
#endif //GUARD_TRAINER_SEE_H
diff --git a/ld_script.txt b/ld_script.txt
index d15778e06..0faaa6eec 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -94,8 +94,7 @@ SECTIONS {
src/field_door.o(.text);
asm/field_player_avatar.o(.text);
asm/event_object_movement.o(.text);
- asm/field_ground_effect.o(.text);
- src/event_object_80688E4.o(.text);
+ src/event_object_80688E4.o(.text); /* event_object_movement */
asm/field_message_box.o(.text);
src/event_object_lock.o(.text);
src/text_window_graphics.o(.text);
@@ -122,7 +121,7 @@ SECTIONS {
src/field_screen_effect.o(.text);
src/battle_setup.o(.text);
asm/cable_club.o(.text);
- asm/trainer_see.o(.text);
+ src/trainer_see.o(.text);
src/wild_encounter.o(.text);
asm/field_effect.o(.text);
src/scanline_effect.o(.text);
@@ -426,8 +425,7 @@ SECTIONS {
src/field_door.o(.rodata);
data/field_player_avatar.o(.rodata);
data/event_object_movement.o(.rodata);
- data/field_ground_effect.o(.rodata);
- src/event_object_80688E4.o(.rodata);
+ src/event_object_80688E4.o(.rodata); /* event_object_movement */
src/scrcmd.o(.rodata);
src/coord_event_weather.o(.rodata);
src/field_tasks.o(.rodata);
@@ -444,7 +442,7 @@ SECTIONS {
src/field_screen_effect.o(.rodata);
src/battle_setup.o(.rodata);
data/cable_club.o(.rodata);
- data/trainer_see.o(.rodata);
+ src/trainer_see.o(.rodata);
src/wild_encounter.o(.rodata);
data/field_effect.o(.rodata);
src/option_menu.o(.rodata);
diff --git a/src/bag.c b/src/bag.c
index 049aa9f8f..2ca62a3b4 100644
--- a/src/bag.c
+++ b/src/bag.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "task.h"
#include "palette.h"
#include "item_menu.h"
#include "text.h"
@@ -9,7 +8,6 @@
#include "new_menu_helpers.h"
#include "menu.h"
#include "money.h"
-#include "bag.h"
#include "strings.h"
static const u16 sBagWindowPalF[] = INCBIN_U16("data/bag/bag_window_pal.gbapal");
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index 647d2f367..33b5ceacc 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -1,15 +1,9 @@
#include "global.h"
-#include "malloc.h"
#include "battle_anim.h"
#include "battle_interface.h"
-#include "decompress.h"
#include "gpu_regs.h"
-#include "graphics.h"
-#include "main.h"
-#include "math_util.h"
#include "palette.h"
#include "random.h"
-#include "scanline_effect.h"
#include "sound.h"
#include "trig.h"
#include "util.h"
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 23be07785..093660389 100644
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -5,7 +5,6 @@
#include "decompress.h"
#include "gpu_regs.h"
#include "graphics.h"
-#include "main.h"
#include "math_util.h"
#include "palette.h"
#include "random.h"
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 7df93e170..3d8729824 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -1,27 +1,20 @@
#include "global.h"
-#include "bg.h"
#include "data.h"
#include "link.h"
-#include "main.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
-#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "util.h"
-#include "window.h"
#include "battle.h"
-#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
-#include "battle_setup.h"
-#include "battle_tower.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
#include "constants/facility_trainer_classes.h"
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 96130f049..5ac4f1abc 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -1,9 +1,6 @@
#include "global.h"
-#include "bg.h"
#include "data.h"
#include "link.h"
-#include "main.h"
-#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
@@ -12,16 +9,11 @@
#include "task.h"
#include "text.h"
#include "util.h"
-#include "window.h"
#include "battle.h"
-#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
-#include "battle_setup.h"
-#include "battle_tower.h"
-#include "reshow_battle_screen.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 3cb6d1432..26e35ae65 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -1,15 +1,10 @@
#include "global.h"
-#include "bg.h"
#include "data.h"
-#include "item.h"
-#include "link.h"
#include "main.h"
#include "m4a.h"
#include "task.h"
#include "text.h"
#include "util.h"
-#include "window.h"
-#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
#include "random.h"
@@ -20,15 +15,12 @@
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_setup.h"
#include "battle_tower.h"
#include "battle_gfx_sfx_util.h"
#include "battle_ai_script_commands.h"
#include "battle_ai_switch_items.h"
#include "trainer_tower.h"
-#include "reshow_battle_screen.h"
#include "constants/battle_anim.h"
-#include "constants/items.h"
#include "constants/moves.h"
#include "constants/songs.h"
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 7b0a8aa47..a751c0eea 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -10,7 +10,6 @@
#include "party_menu.h"
#include "pokeball.h"
#include "pokemon.h"
-#include "random.h"
#include "sound.h"
#include "strings.h"
#include "string_util.h"
@@ -24,7 +23,6 @@
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
-#include "battle_setup.h"
#include "battle_script_commands.h"
#include "reshow_battle_screen.h"
#include "constants/battle_anim.h"
diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c
index d8ebe5ba4..8737a3866 100644
--- a/src/battle_controller_pokedude.c
+++ b/src/battle_controller_pokedude.c
@@ -11,7 +11,6 @@
#include "link.h"
#include "sound.h"
#include "event_data.h"
-#include "item.h"
#include "item_menu.h"
#include "text.h"
#include "strings.h"
@@ -25,7 +24,6 @@
#include "reshow_battle_screen.h"
#include "teachy_tv.h"
#include "constants/songs.h"
-#include "constants/items.h"
#include "constants/moves.h"
#include "constants/pokemon.h"
#include "constants/trainers.h"
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 4b5153c7c..28ed4091e 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -9,16 +9,12 @@
#include "item_menu.h"
#include "link.h"
#include "main.h"
-#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
-#include "reshow_battle_screen.h"
#include "sound.h"
-#include "task.h"
#include "text.h"
#include "util.h"
-#include "window.h"
#include "strings.h"
#include "constants/songs.h"
#include "constants/battle_anim.h"
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 60cff27be..6f9f2b217 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -13,8 +13,6 @@
#include "party_menu.h"
#include "battle.h"
#include "battle_main.h"
-#include "battle_controllers.h"
-#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_interface.h"
#include "constants/battle_anim.h"
diff --git a/src/battle_interface.c b/src/battle_interface.c
index 56e9e0fad..e5145adc0 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -12,7 +12,6 @@
#include "safari_zone.h"
#include "sound.h"
#include "string_util.h"
-#include "strings.h"
#include "text.h"
#include "window.h"
#include "constants/songs.h"
diff --git a/src/battle_main.c b/src/battle_main.c
index faad8bafb..d160436ff 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -8,13 +8,11 @@
#include "battle_message.h"
#include "battle_scripts.h"
#include "battle_setup.h"
-#include "battle_tower.h"
#include "battle_string_ids.h"
#include "berry.h"
#include "bg.h"
#include "data.h"
#include "decompress.h"
-#include "dma3.h"
#include "event_data.h"
#include "evolution_scene.h"
#include "graphics.h"
@@ -40,14 +38,12 @@
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
-#include "strings.h"
#include "task.h"
#include "text.h"
#include "trig.h"
#include "vs_seeker.h"
#include "util.h"
#include "window.h"
-#include "cable_club.h"
#include "constants/abilities.h"
#include "constants/battle_move_effects.h"
#include "constants/battle_setup.h"
diff --git a/src/battle_message.c b/src/battle_message.c
index d8367c75e..6ec4c3f5d 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -22,7 +22,6 @@
#include "constants/moves.h"
#include "constants/items.h"
#include "constants/trainer_classes.h"
-#include "constants/trainer_tower.h"
struct BattleWindowText
{
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 4875a63f2..de505827f 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -3,7 +3,6 @@
#include "util.h"
#include "pokemon.h"
#include "random.h"
-#include "data.h"
#include "text.h"
#include "sound.h"
#include "pokedex.h"
@@ -14,7 +13,6 @@
#include "bg.h"
#include "string_util.h"
#include "pokemon_icon.h"
-#include "m4a.h"
#include "mail.h"
#include "event_data.h"
#include "strings.h"
@@ -30,7 +28,6 @@
#include "battle.h"
#include "battle_message.h"
#include "battle_anim.h"
-#include "battle_setup.h"
#include "battle_ai_script_commands.h"
#include "battle_scripts.h"
#include "battle_string_ids.h"
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 73e7acc1a..354487abd 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -13,7 +13,7 @@
#include "strings.h"
#include "string_util.h"
#include "event_data.h"
-#include "event_object_80688E4.h"
+#include "event_object_movement.h"
#include "metatile_behavior.h"
#include "event_scripts.h"
#include "fldeff.h"
@@ -22,10 +22,8 @@
#include "field_player_avatar.h"
#include "field_screen_effect.h"
#include "field_message_box.h"
-#include "event_object_movement.h"
#include "vs_seeker.h"
#include "battle.h"
-#include "battle_setup.h"
#include "battle_transition.h"
#include "battle_controllers.h"
#include "constants/battle_setup.h"
@@ -37,7 +35,6 @@
#include "constants/pokemon.h"
#include "constants/trainers.h"
#include "constants/trainer_classes.h"
-#include "constants/maps.h"
enum
{
diff --git a/src/battle_util2.c b/src/battle_util2.c
index a3a748767..6de4941cb 100644
--- a/src/battle_util2.c
+++ b/src/battle_util2.c
@@ -5,7 +5,6 @@
#include "pokemon.h"
#include "malloc.h"
#include "trainer_tower.h"
-#include "battle_util2.h"
void AllocateBattleResources(void)
{
diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c
index e60a53ef9..2e0bf8256 100644
--- a/src/berry_fix_program.c
+++ b/src/berry_fix_program.c
@@ -1,17 +1,12 @@
#include "global.h"
#include "gpu_regs.h"
#include "multiboot.h"
-#include "malloc.h"
-#include "bg.h"
#include "graphics.h"
#include "main.h"
#include "sprite.h"
#include "task.h"
#include "scanline_effect.h"
-#include "window.h"
-#include "text.h"
#include "help_system.h"
-#include "menu.h"
#include "m4a.h"
// Static type declarations
diff --git a/src/credits.c b/src/credits.c
index ceb2028f9..a53d72f31 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -11,8 +11,6 @@
#include "decompress.h"
#include "graphics.h"
#include "strings.h"
-#include "menu.h"
-#include "field_weather.h"
#include "trainer_pokemon_sprites.h"
#include "sound.h"
#include "constants/species.h"
diff --git a/src/daycare.c b/src/daycare.c
index 277a382c7..f9d1b7557 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "gflib.h"
#include "battle.h"
-#include "daycare.h"
#include "constants/species.h"
#include "constants/items.h"
#include "mail_data.h"
diff --git a/src/decompress.c b/src/decompress.c
index caeda738a..3f0c82bce 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -2,7 +2,6 @@
#include "malloc.h"
#include "decompress.h"
#include "pokemon.h"
-#include "text.h"
#include "constants/species.h"
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
diff --git a/src/digit_obj_util.c b/src/digit_obj_util.c
index af2618615..ed762c3c3 100644
--- a/src/digit_obj_util.c
+++ b/src/digit_obj_util.c
@@ -3,7 +3,6 @@
#include "decompress.h"
#include "digit_obj_util.h"
#include "main.h"
-#include "battle.h"
struct DigitPrinterAlloc
{
diff --git a/src/diploma.c b/src/diploma.c
index afb22400b..f702eebd5 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -4,7 +4,6 @@
#include "dynamic_placeholder_text_util.h"
#include "gba/macro.h"
#include "gpu_regs.h"
-#include "gpu_regs.h"
#include "main.h"
#include "malloc.h"
#include "menu.h"
@@ -19,7 +18,6 @@
#include "task.h"
#include "text.h"
#include "window.h"
-#include "diploma.h"
struct Diploma
{
diff --git a/src/dynamic_placeholder_text_util.c b/src/dynamic_placeholder_text_util.c
index a2622bf02..20e7258d3 100644
--- a/src/dynamic_placeholder_text_util.c
+++ b/src/dynamic_placeholder_text_util.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "text.h"
-#include "dynamic_placeholder_text_util.h"
#include "string_util.h"
#include "constants/object_events.h"
@@ -10,10 +9,10 @@ static const u8 sTextColorTable[] =
{
// [LOW_NYBBLE / 2] = 0xXY, // HIGH_NYBBLE
[OBJECT_EVENT_GFX_RED_NORMAL / 2] = 0x00, // OBJECT_EVENT_GFX_RED_BIKE
- [OBJECT_EVENT_GFX_RED_RUN / 2] = 0x00, // OBJECT_EVENT_GFX_RED_ITEM
+ [OBJECT_EVENT_GFX_RED_SURF / 2] = 0x00, // OBJECT_EVENT_GFX_RED_ITEM
[OBJECT_EVENT_GFX_RED_FISH / 2] = 0x00, // OBJECT_EVENT_GFX_RED_ITEM_COPY
[OBJECT_EVENT_GFX_RED_VS_SEEKER / 2] = 0x10, // OBJECT_EVENT_GFX_GREEN_NORMAL
- [OBJECT_EVENT_GFX_GREEN_BIKE / 2] = 0x11, // OBJECT_EVENT_GFX_GREEN_RUN
+ [OBJECT_EVENT_GFX_GREEN_BIKE / 2] = 0x11, // OBJECT_EVENT_GFX_GREEN_SURF
[OBJECT_EVENT_GFX_GREEN_ITEM / 2] = 0x11, // OBJECT_EVENT_GFX_GREEN_FISH
[OBJECT_EVENT_GFX_GREEN_ITEM_COPY / 2] = 0x11, // OBJECT_EVENT_GFX_GREEN_VS_SEEKER
[OBJECT_EVENT_GFX_RS_BRENDAN / 2] = 0x10, // OBJECT_EVENT_GFX_RS_MAY
diff --git a/src/easy_chat.c b/src/easy_chat.c
index 1d2873fc2..14662b660 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -1,33 +1,18 @@
#include "global.h"
#include "malloc.h"
-#include "bg.h"
#include "data.h"
-#include "decompress.h"
-#include "dynamic_placeholder_text_util.h"
#include "easy_chat.h"
#include "event_data.h"
#include "field_message_box.h"
-#include "field_weather.h"
-#include "gpu_regs.h"
-#include "graphics.h"
-#include "main.h"
#include "mevent.h"
#include "menu.h"
#include "mail.h"
-#include "overworld.h"
-#include "palette.h"
#include "pokedex.h"
#include "random.h"
-#include "sound.h"
#include "string_util.h"
#include "strings.h"
-#include "task.h"
-#include "text_window.h"
-#include "window.h"
#include "constants/easy_chat.h"
-#include "constants/object_events.h"
#include "constants/flags.h"
-#include "constants/songs.h"
#include "constants/species.h"
struct Unk203A120
diff --git a/src/event_object_80688E4.c b/src/event_object_80688E4.c
index 2d79c4f7b..de4cf358a 100644
--- a/src/event_object_80688E4.c
+++ b/src/event_object_80688E4.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "event_object_80688E4.h"
#include "event_object_movement.h"
#include "field_effect.h"
#include "field_ground_effect.h"
@@ -204,6 +203,7 @@ void sub_8068BBC(struct Sprite *sprite, u8 direction)
sprite->tStepNo = 0;
}
+// used by an_walk_any_2
bool8 sub_8068BCC(struct Sprite *sprite)
{
if (!(sprite->tDelay & 1))
diff --git a/src/event_object_lock.c b/src/event_object_lock.c
index 304b71c28..2bb9736aa 100644
--- a/src/event_object_lock.c
+++ b/src/event_object_lock.c
@@ -3,9 +3,7 @@
#include "field_player_avatar.h"
#include "event_object_movement.h"
#include "script_movement.h"
-#include "event_object_80688E4.h"
#include "event_data.h"
-#include "event_object_lock.h"
bool8 walkrun_is_standing_still(void)
{
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index f3b05b32c..71eb3fc36 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -31,8 +31,6 @@
#include "text.h"
#include "text_window.h"
#include "trig.h"
-#include "trade.h"
-#include "util.h"
#include "battle_string_ids.h"
#include "constants/species.h"
#include "constants/songs.h"
diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c
index 2e1dcd919..6e937e026 100644
--- a/src/field_fadetransition.c
+++ b/src/field_fadetransition.c
@@ -13,12 +13,11 @@
#include "metatile_behavior.h"
#include "quest_log.h"
#include "link.h"
-#include "event_object_80688E4.h"
+#include "event_object_movement.h"
#include "sound.h"
#include "field_door.h"
#include "field_effect.h"
#include "field_screen_effect.h"
-#include "event_object_movement.h"
#include "field_specials.h"
#include "event_object_lock.h"
#include "start_menu.h"
@@ -415,7 +414,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
if (sub_807E418())
{
sub_807DCB0(TRUE);
- ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], sub_8063F84(GetPlayerFacingDirection()));
+ ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
task->data[0] = 2;
}
break;
diff --git a/src/field_specials.c b/src/field_specials.c
index a1de82c0f..d9d15748a 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -46,6 +46,7 @@
#include "constants/region_map.h"
#include "constants/moves.h"
#include "constants/menu.h"
+#include "constants/event_objects.h"
static EWRAM_DATA u8 sElevatorCurrentFloorWindowId = 0;
static EWRAM_DATA u16 sElevatorScroll = 0;
@@ -315,7 +316,7 @@ void Special_AnimatePcTurnOff()
void SpawnCameraObject(void)
{
- u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJECT_EVENT_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
+ u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJECT_EVENT_GFX_YOUNGSTER, 8, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
gObjectEvents[objectEventId].invisible = TRUE;
CameraObjectSetFollowedObjectId(gObjectEvents[objectEventId].spriteId);
}
diff --git a/src/fieldmap.c b/src/fieldmap.c
index 90682da10..1f7d8b0b8 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -3,7 +3,6 @@
#include "palette.h"
#include "overworld.h"
#include "script.h"
-#include "menu.h"
#include "new_menu_helpers.h"
#include "quest_log.h"
#include "fieldmap.h"
diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c
index 7d229ce3f..9e1686468 100644
--- a/src/fldeff_dig.c
+++ b/src/fldeff_dig.c
@@ -5,8 +5,6 @@
#include "item_use.h"
#include "overworld.h"
#include "party_menu.h"
-#include "sprite.h"
-#include "constants/object_events.h"
static void FieldCallback_Dig(void);
static void sub_80C9AFC(void);
diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c
index 00f17a16d..baa51412b 100644
--- a/src/fldeff_rocksmash.c
+++ b/src/fldeff_rocksmash.c
@@ -3,16 +3,12 @@
#include "field_player_avatar.h"
#include "field_effect.h"
#include "party_menu.h"
-#include "malloc.h"
#include "event_data.h"
#include "script.h"
#include "fldeff.h"
#include "event_scripts.h"
-#include "field_weather.h"
#include "sound.h"
-#include "palette.h"
#include "overworld.h"
-#include "wild_encounter.h"
#include "event_object_movement.h"
#include "constants/songs.h"
#include "constants/object_events.h"
diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c
index 60437c125..966a7934c 100644
--- a/src/fldeff_softboiled.c
+++ b/src/fldeff_softboiled.c
@@ -5,7 +5,6 @@
#include "menu.h"
#include "new_menu_helpers.h"
#include "constants/songs.h"
-#include "fldeff.h"
static void sub_80E57E8(u8 taskId);
static void sub_80E583C(u8 taskId);
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index b8d5af31d..f3ddd8212 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -6,7 +6,6 @@
#include "script.h"
#include "fldeff.h"
#include "event_scripts.h"
-#include "constants/songs.h"
#include "constants/object_events.h"
static void FldEff_UseStrength(void);
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index 943d8504c..45c471e95 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -3,7 +3,6 @@
#include "field_effect.h"
#include "party_menu.h"
#include "malloc.h"
-#include "event_data.h"
#include "script.h"
#include "fldeff.h"
#include "event_scripts.h"
diff --git a/src/help_system.c b/src/help_system.c
index bb3135260..d68acbaa1 100644
--- a/src/help_system.c
+++ b/src/help_system.c
@@ -10,9 +10,7 @@
#include "strings.h"
#include "text.h"
#include "blit.h"
-#include "event_data.h"
#include "constants/songs.h"
-#include "constants/flags.h"
extern u8 gGlyphInfo[];
diff --git a/src/hof_pc.c b/src/hof_pc.c
index 76fd06abf..353c067c2 100644
--- a/src/hof_pc.c
+++ b/src/hof_pc.c
@@ -5,7 +5,6 @@
#include "script.h"
#include "script_menu.h"
#include "task.h"
-#include "hall_of_fame.h"
#include "bg.h"
#include "window.h"
diff --git a/src/ice.c b/src/ice.c
index 4ed6e0ece..6843538f9 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -1,10 +1,8 @@
#include "global.h"
#include "battle_anim.h"
#include "bg.h"
-#include "field_weather.h"
#include "gpu_regs.h"
#include "graphics.h"
-#include "main.h"
#include "palette.h"
#include "random.h"
#include "sprite.h"
diff --git a/src/item_menu.c b/src/item_menu.c
index ffba2eae9..a407c582f 100644
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -5,7 +5,7 @@
#include "berry_pouch.h"
#include "decompress.h"
#include "event_scripts.h"
-#include "event_object_80688E4.h"
+#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "graphics.h"
#include "help_system.h"
diff --git a/src/item_use.c b/src/item_use.c
index 022be5b2b..f5e880f98 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -19,7 +19,6 @@
#include "mail.h"
#include "main.h"
#include "malloc.h"
-#include "event_object_80688E4.h"
#include "event_object_lock.h"
#include "metatile_behavior.h"
#include "new_menu_helpers.h"
@@ -42,7 +41,6 @@
#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/songs.h"
-#include "constants/maps.h"
static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
diff --git a/src/itemfinder.c b/src/itemfinder.c
index 370fce841..5d6950acc 100644
--- a/src/itemfinder.c
+++ b/src/itemfinder.c
@@ -10,7 +10,6 @@
#include "field_player_avatar.h"
#include "field_specials.h"
#include "fieldmap.h"
-#include "itemfinder.h"
#include "constants/songs.h"
static void Task_NoResponse_CleanUp(u8 taskId);
diff --git a/src/list_menu.c b/src/list_menu.c
index 706c1679b..bd1d2699e 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -8,9 +8,7 @@
#include "main.h"
#include "task.h"
#include "graphics.h"
-#include "decompress.h"
#include "palette.h"
-#include "malloc.h"
#include "strings.h"
#include "sound.h"
#include "pokemon_icon.h"
diff --git a/src/load_save.c b/src/load_save.c
index 7f16f74a5..7ab28ffc3 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -8,7 +8,6 @@
#include "item.h"
#include "save_location.h"
#include "berry_powder.h"
-#include "item.h"
#include "overworld.h"
#include "quest_log.h"
diff --git a/src/main.c b/src/main.c
index b88326cda..a67c71746 100644
--- a/src/main.c
+++ b/src/main.c
@@ -9,7 +9,6 @@
#include "random.h"
#include "dma3.h"
#include "gba/flash_internal.h"
-#include "battle.h"
#include "help_system.h"
#include "sound.h"
#include "new_menu_helpers.h"
@@ -17,12 +16,10 @@
#include "overworld.h"
#include "sprite.h"
#include "play_time.h"
-#include "pokemon.h"
#include "intro.h"
#include "battle_controllers.h"
#include "scanline_effect.h"
#include "save_failed_screen.h"
-#include "battle.h"
extern u32 intr_main[];
diff --git a/src/menu.c b/src/menu.c
index 5a0da28b9..2f5b1a5db 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1,12 +1,8 @@
#include "global.h"
#include "bg.h"
-#include "malloc.h"
#include "menu.h"
#include "menu_helpers.h"
-#include "new_menu_helpers.h"
-#include "string_util.h"
#include "strings.h"
-#include "task.h"
#include "text_window.h"
#include "window.h"
#include "sound.h"
diff --git a/src/menu_indicators.c b/src/menu_indicators.c
index c07aaf772..3044fb8b4 100644
--- a/src/menu_indicators.c
+++ b/src/menu_indicators.c
@@ -3,7 +3,6 @@
#include "task.h"
#include "decompress.h"
#include "palette.h"
-#include "strings.h"
#include "sprite.h"
#include "trig.h"
#include "list_menu.h"
diff --git a/src/mevent_server.c b/src/mevent_server.c
index 3b1762540..f1505fcbc 100644
--- a/src/mevent_server.c
+++ b/src/mevent_server.c
@@ -1,10 +1,6 @@
#include "global.h"
#include "malloc.h"
-#include "decompress.h"
-#include "overworld.h"
#include "script.h"
-#include "battle_tower.h"
-#include "mystery_event_script.h"
#include "mevent.h"
#include "mevent_server.h"
diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c
index 94c01c081..234064afc 100644
--- a/src/mevent_server_helpers.c
+++ b/src/mevent_server_helpers.c
@@ -1,14 +1,7 @@
#include "global.h"
-#include "malloc.h"
-#include "decompress.h"
#include "util.h"
#include "link.h"
#include "link_rfu.h"
-#include "overworld.h"
-#include "script.h"
-#include "battle_tower.h"
-#include "mystery_event_script.h"
-#include "mevent.h"
#include "mevent_server.h"
static u32 mevent_receive_func(struct mevent_srv_sub *);
diff --git a/src/mevent_show_card.c b/src/mevent_show_card.c
index 3eeafa4b5..d2df613ae 100644
--- a/src/mevent_show_card.c
+++ b/src/mevent_show_card.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "constants/species.h"
#include "bg.h"
-#include "gpu_regs.h"
#include "palette.h"
#include "decompress.h"
#include "malloc.h"
@@ -9,9 +8,7 @@
#include "new_menu_helpers.h"
#include "pokemon_icon.h"
#include "mystery_gift_menu.h"
-#include "menu_indicators.h"
#include "string_util.h"
-#include "link_rfu.h"
#include "mevent.h"
#include "battle_anim.h"
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index 7b25cc5ff..5a105bae9 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -3,7 +3,6 @@
#include "battle_tower.h"
#include "easy_chat.h"
#include "event_data.h"
-#include "mail.h"
#include "mail_data.h"
#include "mystery_event_script.h"
#include "pokedex.h"
diff --git a/src/new_game.c b/src/new_game.c
index 9aea0b3aa..d03e83b34 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "new_game.h"
#include "random.h"
#include "main.h"
#include "overworld.h"
diff --git a/src/new_menu_helpers.c b/src/new_menu_helpers.c
index 39340ca55..11b353b8c 100644
--- a/src/new_menu_helpers.c
+++ b/src/new_menu_helpers.c
@@ -3,7 +3,6 @@
#include "dma3.h"
#include "task.h"
#include "bg.h"
-#include "gpu_regs.h"
#include "window.h"
#include "menu.h"
#include "menu_helpers.h"
@@ -13,7 +12,6 @@
#include "field_specials.h"
#include "text_window.h"
#include "script.h"
-#include "graphics.h"
#include "palette.h"
#define DLG_WINDOW_PALETTE_NUM 15
diff --git a/src/oak_speech.c b/src/oak_speech.c
index 6887ff85a..f7ec9a531 100644
--- a/src/oak_speech.c
+++ b/src/oak_speech.c
@@ -4,7 +4,6 @@
#include "task.h"
#include "malloc.h"
#include "gpu_regs.h"
-#include "wild_encounter.h"
#include "palette.h"
#include "blend_palette.h"
#include "text.h"
@@ -25,7 +24,6 @@
#include "overworld.h"
#include "random.h"
#include "data.h"
-#include "oak_speech.h"
#include "constants/species.h"
#include "constants/songs.h"
diff --git a/src/party_menu.c b/src/party_menu.c
index 600350ca9..6f2feaaad 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -13,11 +13,9 @@
#include "easy_chat.h"
#include "event_data.h"
#include "evolution_scene.h"
-#include "field_control_avatar.h"
#include "field_effect.h"
#include "field_player_avatar.h"
#include "field_screen_effect.h"
-#include "field_specials.h"
#include "field_weather.h"
#include "fieldmap.h"
#include "fldeff.h"
@@ -46,7 +44,6 @@
#include "pokemon_icon.h"
#include "pokemon_jump.h"
#include "pokemon_special_anim.h"
-#include "pokemon_storage_system.h"
#include "pokemon_summary_screen.h"
#include "quest_log.h"
#include "region_map.h"
@@ -78,7 +75,6 @@
#include "constants/quest_log.h"
#include "constants/songs.h"
#include "constants/species.h"
-#include "constants/vars.h"
#define PARTY_PAL_SELECTED (1 << 0)
#define PARTY_PAL_FAINTED (1 << 1)
diff --git a/src/party_menu_specials.c b/src/party_menu_specials.c
index 751684bd5..242422f7b 100644
--- a/src/party_menu_specials.c
+++ b/src/party_menu_specials.c
@@ -2,7 +2,6 @@
#include "data.h"
#include "script.h"
#include "overworld.h"
-#include "battle.h"
#include "palette.h"
#include "pokemon.h"
#include "party_menu.h"
diff --git a/src/pokeball.c b/src/pokeball.c
index aeaba08ab..92b22abe6 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -15,7 +15,6 @@
#include "link.h"
#include "battle_gfx_sfx_util.h"
#include "constants/songs.h"
-#include "constants/species.h"
#define tFrames data[0]
#define tPan data[1]
diff --git a/src/pokemon_jump_6.c b/src/pokemon_jump_6.c
index 140ec5df6..1e213ad75 100644
--- a/src/pokemon_jump_6.c
+++ b/src/pokemon_jump_6.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "gflib.h"
#include "menu.h"
-#include "pokemon_jump.h"
#include "script.h"
#include "strings.h"
#include "task.h"
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index 6eff367c5..66bdb9194 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -3,7 +3,6 @@
#include "event_data.h"
#include "pokedex.h"
#include "pokemon.h"
-#include "pokemon_size_record.h"
#include "string_util.h"
#include "text.h"
#include "strings.h"
diff --git a/src/quest_log.c b/src/quest_log.c
index 2ae5e9cfe..b747dd8b6 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -18,10 +18,8 @@
#include "field_fadetransition.h"
#include "field_weather.h"
#include "event_object_movement.h"
-#include "event_object_80688E4.h"
#include "event_object_lock.h"
#include "field_player_avatar.h"
-#include "field_control_avatar.h"
#include "battle.h"
#include "item.h"
#include "region_map.h"
diff --git a/src/quest_log_objects.c b/src/quest_log_objects.c
index aecc5fd68..5676c20fc 100644
--- a/src/quest_log_objects.c
+++ b/src/quest_log_objects.c
@@ -1,11 +1,8 @@
#include "global.h"
-#include "event_data.h"
#include "quest_log.h"
#include "fieldmap.h"
#include "field_player_avatar.h"
#include "metatile_behavior.h"
-#include "link.h"
-#include "link_rfu.h"
void SetQuestLogObjectEventsData(struct QuestLog * questLog)
{
@@ -39,8 +36,8 @@ void SetQuestLogObjectEventsData(struct QuestLog * questLog)
questLog->unk_008[i].localId = gObjectEvents[i].localId;
questLog->unk_008[i].mapNum = gObjectEvents[i].mapNum;
questLog->unk_008[i].mapGroup = gObjectEvents[i].mapGroup;
- questLog->unk_008[i].x = gObjectEvents[i].coords2.x;
- questLog->unk_008[i].y = gObjectEvents[i].coords2.y;
+ questLog->unk_008[i].x = gObjectEvents[i].currentCoords.x;
+ questLog->unk_008[i].y = gObjectEvents[i].currentCoords.y;
questLog->unk_008[i].trainerRange_berryTreeId = gObjectEvents[i].trainerRange_berryTreeId;
questLog->unk_008[i].mapobj_unk_1F = gObjectEvents[i].mapobj_unk_1F;
questLog->unk_008[i].mapobj_unk_21 = gObjectEvents[i].mapobj_unk_21;
@@ -83,8 +80,8 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl
gObjectEvents[i].localId = questLogObjectEvents[i].localId;
gObjectEvents[i].mapNum = questLogObjectEvents[i].mapNum;
gObjectEvents[i].mapGroup = questLogObjectEvents[i].mapGroup;
- gObjectEvents[i].coords2.x = questLogObjectEvents[i].x;
- gObjectEvents[i].coords2.y = questLogObjectEvents[i].y;
+ gObjectEvents[i].currentCoords.x = questLogObjectEvents[i].x;
+ gObjectEvents[i].currentCoords.y = questLogObjectEvents[i].y;
gObjectEvents[i].trainerRange_berryTreeId = questLogObjectEvents[i].trainerRange_berryTreeId;
gObjectEvents[i].mapobj_unk_1F = questLogObjectEvents[i].mapobj_unk_1F;
gObjectEvents[i].mapobj_unk_21 = questLogObjectEvents[i].mapobj_unk_21;
@@ -94,38 +91,38 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl
{
if (gObjectEvents[i].localId == templates[j].localId)
{
- gObjectEvents[i].coords1.x = templates[j].x + 7;
- gObjectEvents[i].coords1.y = templates[j].y + 7;
+ gObjectEvents[i].initialCoords.x = templates[j].x + 7;
+ gObjectEvents[i].initialCoords.y = templates[j].y + 7;
gObjectEvents[i].range.as_nybbles.x = templates[j].movementRangeX;
gObjectEvents[i].range.as_nybbles.y = templates[j].movementRangeY;
}
}
- gObjectEvents[i].mapobj_unk_1E = MapGridGetMetatileBehaviorAt(gObjectEvents[i].coords2.x, gObjectEvents[i].coords2.y);
- if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y)))
+ gObjectEvents[i].mapobj_unk_1E = MapGridGetMetatileBehaviorAt(gObjectEvents[i].currentCoords.x, gObjectEvents[i].currentCoords.y);
+ if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y)))
{
- gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x;
- gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y;
+ gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
+ gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
}
- else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x - 1), (s16)(gObjectEvents[i].coords2.y)))
+ else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x - 1), (s16)(gObjectEvents[i].currentCoords.y)))
{
- gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x - 1;
- gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y;
+ gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x - 1;
+ gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
}
- else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x + 1), (s16)(gObjectEvents[i].coords2.y)))
+ else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x + 1), (s16)(gObjectEvents[i].currentCoords.y)))
{
- gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x + 1;
- gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y;
+ gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x + 1;
+ gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
}
- else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y - 1)))
+ else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y - 1)))
{
- gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x;
- gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y - 1;
+ gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
+ gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y - 1;
}
- else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y + 1)))
+ else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y + 1)))
{
- gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x;
- gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y + 1;
+ gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
+ gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y + 1;
}
}
diff --git a/src/quest_log_player.c b/src/quest_log_player.c
index 0d7a2bb50..b6167a7bf 100644
--- a/src/quest_log_player.c
+++ b/src/quest_log_player.c
@@ -57,7 +57,7 @@ void sub_8150498(u8 a0)
static void sub_81504A8(void)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
- sub_81507BC(objectEvent, sub_805C808(0));
+ sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
}
@@ -65,7 +65,7 @@ static void sub_81504A8(void)
static void sub_81504E8(void)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
- sub_81507BC(objectEvent, sub_805C808(1));
+ sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(1));
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
sub_80BD620(0, 0);
@@ -86,7 +86,7 @@ static void sub_8150530(void)
}
else
{
- sub_81507BC(objectEvent, sub_805C808(4));
+ sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4));
StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection));
}
}
@@ -101,7 +101,7 @@ static void sub_81505C4(u8 taskId)
case 0:
ObjectEventClearAnimIfSpecialAnimActive(objectEvent);
objectEvent->enableAnim = TRUE;
- sub_81507BC(objectEvent, sub_805C808(4));
+ sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4));
StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection));
gTasks[taskId].data[0]++;
gTasks[taskId].data[1] = 0;
@@ -122,9 +122,9 @@ static void sub_81505C4(u8 taskId)
if (sprite->animEnded)
{
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
- sub_81507BC(objectEvent, sub_805C808(0));
+ sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
else
- sub_81507BC(objectEvent, sub_805C808(2));
+ sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
sprite->pos2.x = 0;
sprite->pos2.y = 0;
@@ -142,11 +142,11 @@ static void sub_8150708(void)
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
{
- sub_81507BC(objectEvent, sub_805C808(2));
+ sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
ObjectEventTurn(objectEvent, objectEvent->placeholder18);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
- gFieldEffectArguments[0] = objectEvent->coords2.x;
- gFieldEffectArguments[1] = objectEvent->coords2.y;
+ gFieldEffectArguments[0] = objectEvent->currentCoords.x;
+ gFieldEffectArguments[1] = objectEvent->currentCoords.y;
gFieldEffectArguments[2] = gPlayerAvatar.objectEventId;
fieldEffectId = FieldEffectStart(FLDEFF_SURF_BLOB);
objectEvent->mapobj_unk_1A = fieldEffectId;
diff --git a/src/random.c b/src/random.c
index f6c49971d..cb12ec805 100644
--- a/src/random.c
+++ b/src/random.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "random.h"
// The number 1103515245 comes from the example implementation
// of rand and srand in the ISO C standard.
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index ebfd18493..8eeb3bb55 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -6,7 +6,6 @@
#include "link.h"
#include "data.h"
#include "sprite.h"
-#include "text.h"
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "help_system.h"
@@ -14,8 +13,6 @@
#include "battle_interface.h"
#include "battle_anim.h"
#include "battle_controllers.h"
-#include "reshow_battle_screen.h"
-#include "constants/species.h"
static void CB2_ReshowBattleScreenAfterMenu(void);
static void sub_8077AAC(void);
diff --git a/src/rfu_union_tool.c b/src/rfu_union_tool.c
index 1d33fb7d1..8d90da201 100644
--- a/src/rfu_union_tool.c
+++ b/src/rfu_union_tool.c
@@ -1,8 +1,6 @@
#include "global.h"
#include "event_data.h"
#include "event_object_movement.h"
-#include "event_object_80688E4.h"
-#include "event_object_8097404.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "rfu_union_tool.h"
diff --git a/src/roamer.c b/src/roamer.c
index b3cc67f85..cf30dc3d2 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "roamer.h"
#include "random.h"
#include "overworld.h"
#include "field_specials.h"
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 65fb89bca..29e436d35 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -2,7 +2,6 @@
#include "battle.h"
#include "event_scripts.h"
#include "overworld.h"
-#include "battle.h"
#include "script.h"
#include "event_data.h"
#include "field_screen_effect.h"
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index b6cce890a..09e49a1bb 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -6,7 +6,6 @@
#include "help_system.h"
#include "m4a.h"
#include "save.h"
-#include "save_failed_screen.h"
#include "strings.h"
#include "text.h"
diff --git a/src/scanline_effect.c b/src/scanline_effect.c
index 22699b96d..e664945cd 100644
--- a/src/scanline_effect.c
+++ b/src/scanline_effect.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "battle.h"
#include "task.h"
#include "trig.h"
#include "scanline_effect.h"
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 1ff3eb954..389bf0cc2 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -21,7 +21,6 @@
#include "field_message_box.h"
#include "new_menu_helpers.h"
#include "window.h"
-#include "start_menu.h"
#include "script_menu.h"
#include "string_util.h"
#include "data.h"
@@ -38,7 +37,6 @@
#include "field_effect.h"
#include "fieldmap.h"
#include "field_door.h"
-#include "scrcmd.h"
extern u16 (*const gSpecials[])(void);
extern u16 (*const gSpecialsEnd[])(void);
diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c
index e12b809c6..7c8604b8e 100644
--- a/src/script_pokemon_util.c
+++ b/src/script_pokemon_util.c
@@ -1,9 +1,7 @@
#include "global.h"
-#include "battle.h"
#include "berry.h"
#include "daycare.h"
#include "event_data.h"
-#include "event_object_movement.h"
#include "load_save.h"
#include "malloc.h"
#include "overworld.h"
diff --git a/src/sea_cottage_special_anim.c b/src/sea_cottage_special_anim.c
index 56d01ca29..c63974a1f 100644
--- a/src/sea_cottage_special_anim.c
+++ b/src/sea_cottage_special_anim.c
@@ -1,10 +1,8 @@
#include "global.h"
#include "event_data.h"
#include "task.h"
-#include "menu.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "event_object_movement.h"
#include "field_camera.h"
static EWRAM_DATA u8 gUnknown_2039984 = 0;
diff --git a/src/shop.c b/src/shop.c
index 97061f8c0..efbbbd979 100644
--- a/src/shop.c
+++ b/src/shop.c
@@ -10,7 +10,6 @@
#include "window.h"
#include "field_specials.h"
#include "field_weather.h"
-#include "field_camera.h"
#include "task.h"
#include "text.h"
#include "item.h"
@@ -19,7 +18,6 @@
#include "sound.h"
#include "string_util.h"
#include "overworld.h"
-#include "window.h"
#include "palette.h"
#include "field_fadetransition.h"
#include "scanline_effect.h"
diff --git a/src/slot_machine.c b/src/slot_machine.c
index 651465ddb..d0422ab99 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -11,7 +11,6 @@
#include "coins.h"
#include "quest_log.h"
#include "overworld.h"
-#include "slot_machine.h"
#include "menu.h"
#include "new_menu_helpers.h"
#include "text_window.h"
diff --git a/src/sound.c b/src/sound.c
index ebd755838..b88d3b642 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -5,7 +5,6 @@
#include "quest_log.h"
#include "m4a.h"
#include "main.h"
-#include "pokemon.h"
#include "constants/songs.h"
#include "task.h"
diff --git a/src/start_menu.c b/src/start_menu.c
index b159f0375..bdcf68b51 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -23,7 +23,7 @@
#include "field_fadetransition.h"
#include "field_player_avatar.h"
#include "new_menu_helpers.h"
-#include "event_object_80688E4.h"
+#include "event_object_movement.h"
#include "event_object_lock.h"
#include "script.h"
#include "sound.h"
diff --git a/src/text.c b/src/text.c
index 83f089c12..2d4d4a9b0 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1,15 +1,11 @@
#include "global.h"
#include "main.h"
-#include "palette.h"
-#include "string_util.h"
#include "window.h"
#include "text.h"
#include "sprite.h"
-#include "blit.h"
#include "sound.h"
#include "m4a.h"
#include "quest_log.h"
-#include "window.h"
#include "graphics.h"
#include "dynamic_placeholder_text_util.h"
#include "constants/songs.h"
diff --git a/src/text_window.c b/src/text_window.c
index 98f82e818..6fde39078 100644
--- a/src/text_window.c
+++ b/src/text_window.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "bg.h"
#include "palette.h"
-#include "text.h"
#include "window.h"
#include "text_window.h"
#include "text_window_graphics.h"
diff --git a/src/tileset_anims.c b/src/tileset_anims.c
index dd0fe453d..04e129049 100644
--- a/src/tileset_anims.c
+++ b/src/tileset_anims.c
@@ -1,10 +1,4 @@
#include "global.h"
-#include "graphics.h"
-#include "palette.h"
-#include "util.h"
-#include "battle_transition.h"
-#include "task.h"
-#include "fieldmap.h"
static EWRAM_DATA struct {
const u16 *src;
diff --git a/src/tm_case.c b/src/tm_case.c
index ac4134029..f631e1604 100644
--- a/src/tm_case.c
+++ b/src/tm_case.c
@@ -25,7 +25,6 @@
#include "scanline_effect.h"
#include "sound.h"
#include "strings.h"
-#include "tm_case.h"
#include "menu_indicators.h"
#include "constants/items.h"
#include "constants/songs.h"
diff --git a/src/trade.c b/src/trade.c
index 1872e98ee..30bfa8389 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -6,7 +6,6 @@
#include "pokemon_icon.h"
#include "graphics.h"
#include "link.h"
-#include "load_save.h"
#include "link_rfu.h"
#include "cable_club.h"
#include "data.h"
@@ -14,7 +13,6 @@
#include "menu.h"
#include "overworld.h"
#include "battle_anim.h"
-#include "pokeball.h"
#include "party_menu.h"
#include "daycare.h"
#include "event_data.h"
@@ -22,7 +20,6 @@
#include "pokemon_summary_screen.h"
#include "pokemon_storage_system.h"
#include "new_menu_helpers.h"
-#include "trade.h"
#include "trade_scene.h"
#include "constants/songs.h"
#include "constants/moves.h"
diff --git a/src/trade_scene.c b/src/trade_scene.c
index 601d7ae2b..bb441f523 100644
--- a/src/trade_scene.c
+++ b/src/trade_scene.c
@@ -10,7 +10,6 @@
#include "palette.h"
#include "trade.h"
#include "link.h"
-#include "librfu.h"
#include "link_rfu.h"
#include "text.h"
#include "mevent.h"
@@ -31,7 +30,6 @@
#include "quest_log.h"
#include "help_system.h"
#include "new_menu_helpers.h"
-#include "battle_interface.h"
#include "pokedex.h"
#include "save.h"
#include "load_save.h"
diff --git a/src/trainer_card.c b/src/trainer_card.c
index f29c9c71c..d60738ee6 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -14,7 +14,6 @@
#include "event_data.h"
#include "easy_chat.h"
#include "money.h"
-#include "window.h"
#include "strings.h"
#include "string_util.h"
#include "trainer_card.h"
@@ -22,7 +21,6 @@
#include "pokedex.h"
#include "pokemon_icon.h"
#include "graphics.h"
-#include "pokemon_icon.h"
#include "help_system.h"
#include "trainer_pokemon_sprites.h"
#include "new_menu_helpers.h"
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index 7262954c9..9f706c6d5 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -2,12 +2,9 @@
#include "sprite.h"
#include "window.h"
#include "malloc.h"
-#include "constants/species.h"
#include "palette.h"
#include "decompress.h"
-#include "trainer_pokemon_sprites.h"
#include "pokemon.h"
-#include "constants/trainer_classes.h"
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct CompressedSpriteSheet gMonBackPicTable[];
diff --git a/src/trainer_see.c b/src/trainer_see.c
new file mode 100644
index 000000000..2bf8aa504
--- /dev/null
+++ b/src/trainer_see.c
@@ -0,0 +1,752 @@
+#include "global.h"
+#include "battle_setup.h"
+#include "event_object_movement.h"
+#include "field_effect.h"
+#include "field_player_avatar.h"
+#include "quest_log.h"
+#include "script.h"
+#include "task.h"
+#include "util.h"
+#include "constants/battle_setup.h"
+#include "constants/event_object_movement.h"
+#include "constants/event_objects.h"
+#include "constants/object_events.h"
+
+typedef u8 (*TrainerApproachFunc)(struct ObjectEvent *, s16, s16, s16);
+typedef bool8 (*TrainerSeeFunc)(u8, struct Task *, struct ObjectEvent *);
+
+static bool8 CheckTrainer(u8 trainerObjId);
+static u8 GetTrainerApproachDistance(struct ObjectEvent * trainerObj);
+static u8 GetTrainerApproachDistanceSouth(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y);
+static u8 GetTrainerApproachDistanceNorth(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y);
+static u8 GetTrainerApproachDistanceWest(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y);
+static u8 GetTrainerApproachDistanceEast(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y);
+static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent * trainerObj, u8 approachDistance, u8 facingDirection);
+static void TrainerApproachPlayer(struct ObjectEvent * trainerObj, u8 approachDistance);
+static void Task_RunTrainerSeeFuncList(u8 taskId);
+static bool8 TrainerSeeFunc_Dummy(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_StartExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_WaitExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_TrainerApproach(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_PrepareToEngage(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_End(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_BeginRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_WaitRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_TrainerInAshFacesPlayer(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_BeginJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_WaitJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_EndJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj);
+static void Task_DestroyTrainerApproachTask(u8 taskId);
+static void SpriteCB_TrainerIcons(struct Sprite * sprite);
+static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum);
+
+static const u16 sGfx_Emoticons[] = INCBIN_U16("graphics/object_events/emoticons.4bpp");
+
+// u8 func(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y)
+// range is the maximum distance the trainer can see
+// x and y are the player's coordinates
+// Returns distance to walk if trainer has unobstructed view of player
+// Returns 0 if trainer can't see player
+static const TrainerApproachFunc sDirectionalApproachDistanceFuncs[] = {
+ GetTrainerApproachDistanceSouth,
+ GetTrainerApproachDistanceNorth,
+ GetTrainerApproachDistanceWest,
+ GetTrainerApproachDistanceEast
+};
+
+// bool8 func(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+// Returns TRUE to run the next func immediately
+// Returns FALSE to delay the next func to the next frame
+static const TrainerSeeFunc sTrainerSeeFuncList[] = {
+ TrainerSeeFunc_Dummy,
+ TrainerSeeFunc_StartExclMark,
+ TrainerSeeFunc_WaitExclMark,
+ TrainerSeeFunc_TrainerApproach,
+ TrainerSeeFunc_PrepareToEngage,
+ TrainerSeeFunc_End,
+ TrainerSeeFunc_BeginRemoveDisguise,
+ TrainerSeeFunc_WaitRemoveDisguise,
+ TrainerSeeFunc_TrainerInAshFacesPlayer,
+ TrainerSeeFunc_BeginJumpOutOfAsh,
+ TrainerSeeFunc_WaitJumpOutOfAsh,
+ TrainerSeeFunc_EndJumpOutOfAsh,
+ TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj,
+ TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp,
+ TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown
+};
+
+static const TrainerSeeFunc sTrainerSeeFuncList2[] = {
+ TrainerSeeFunc_TrainerInAshFacesPlayer,
+ TrainerSeeFunc_BeginJumpOutOfAsh,
+ TrainerSeeFunc_WaitJumpOutOfAsh,
+ TrainerSeeFunc_EndJumpOutOfAsh
+};
+
+bool8 CheckForTrainersWantingBattle(void)
+{
+ u8 i;
+ if (sub_8111C2C() == TRUE)
+ return FALSE;
+
+ for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
+ {
+ if (gObjectEvents[i].active
+ && (
+ gObjectEvents[i].trainerType == 1
+ || gObjectEvents[i].trainerType == 3
+ )
+ && CheckTrainer(i)
+ )
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static bool8 CheckTrainer(u8 trainerObjId)
+{
+ const u8 *script = GetObjectEventScriptPointerByObjectEventId(trainerObjId);
+ u8 approachDistance;
+ if (GetTrainerFlagFromScriptPointer(script))
+ return FALSE;
+ approachDistance = GetTrainerApproachDistance(&gObjectEvents[trainerObjId]);
+ if (approachDistance != 0)
+ {
+ if (script[1] == TRAINER_BATTLE_DOUBLE && GetMonsStateToDoubles())
+ return FALSE;
+ ConfigureAndSetUpOneTrainerBattle(trainerObjId, script);
+ TrainerApproachPlayer(&gObjectEvents[trainerObjId], approachDistance - 1);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static u8 GetTrainerApproachDistance(struct ObjectEvent *trainerObj)
+{
+ s16 x, y;
+ u8 i;
+ u8 approachDistance;
+
+ PlayerGetDestCoords(&x, &y);
+ if (trainerObj->trainerType == 1) // can only see in one direction
+ {
+ approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y);
+ return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection);
+ }
+ else // can see in all directions
+ {
+ for (i = 0; i < 4; i++)
+ {
+ approachDistance = sDirectionalApproachDistanceFuncs[i](trainerObj, trainerObj->trainerRange_berryTreeId, x, y);
+ if (CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east
+ return approachDistance;
+ }
+ }
+
+ return 0;
+}
+
+// Returns how far south the player is from trainer. 0 if out of trainer's sight.
+static u8 GetTrainerApproachDistanceSouth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y)
+{
+ if (trainerObj->currentCoords.x == x
+ && y > trainerObj->currentCoords.y
+ && y <= trainerObj->currentCoords.y + range)
+ {
+ if (range > 3 && GetIndexOfFirstInactiveObjectEvent() == OBJECT_EVENTS_COUNT)
+ return 0;
+ return (y - trainerObj->currentCoords.y);
+ }
+ else
+ return 0;
+}
+
+// Returns how far north the player is from trainer. 0 if out of trainer's sight.
+static u8 GetTrainerApproachDistanceNorth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y)
+{
+ if (trainerObj->currentCoords.x == x
+ && y < trainerObj->currentCoords.y
+ && y >= trainerObj->currentCoords.y - range)
+ return (trainerObj->currentCoords.y - y);
+ else
+ return 0;
+}
+
+// Returns how far west the player is from trainer. 0 if out of trainer's sight.
+static u8 GetTrainerApproachDistanceWest(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y)
+{
+ if (trainerObj->currentCoords.y == y
+ && x < trainerObj->currentCoords.x
+ && x >= trainerObj->currentCoords.x - range)
+ return (trainerObj->currentCoords.x - x);
+ else
+ return 0;
+}
+
+// Returns how far east the player is from trainer. 0 if out of trainer's sight.
+static u8 GetTrainerApproachDistanceEast(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y)
+{
+ if (trainerObj->currentCoords.y == y
+ && x > trainerObj->currentCoords.x
+ && x <= trainerObj->currentCoords.x + range)
+ return (x - trainerObj->currentCoords.x);
+ else
+ return 0;
+}
+
+#define COLLISION_MASK (~1)
+
+static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 approachDistance, u8 direction)
+{
+ s16 x, y;
+ u8 unk19_temp;
+ u8 unk19b_temp;
+ u8 i;
+ u8 collision;
+
+ if (approachDistance == 0)
+ return 0;
+
+ x = trainerObj->currentCoords.x;
+ y = trainerObj->currentCoords.y;
+
+ for (i = 0; i <= approachDistance - 1; i++, MoveCoords(direction, &x, &y))
+ {
+ collision = GetCollisionFlagsAtCoords(trainerObj, x, y, direction);
+ if (collision != 0 && (collision & COLLISION_MASK))
+ return 0;
+ }
+
+ // preserve mapobj_unk_19 before clearing.
+ unk19_temp = trainerObj->range.as_nybbles.x;
+ unk19b_temp = trainerObj->range.as_nybbles.y;
+ trainerObj->range.as_nybbles.x = 0;
+ trainerObj->range.as_nybbles.y = 0;
+
+ collision = GetCollisionAtCoords(trainerObj, x, y, direction);
+
+ trainerObj->range.as_nybbles.x = unk19_temp;
+ trainerObj->range.as_nybbles.y = unk19b_temp;
+ if (collision == 4)
+ return approachDistance;
+
+ return 0;
+}
+
+#define tFuncId data[0]
+#define tTrainerObjHi data[1]
+#define tTrainerObjLo data[2]
+#define tTrainerRange data[3]
+#define tOutOfAshSpriteId data[4]
+#define tData5 data[5]
+
+#define TaskGetTrainerObj(dest, task) do { \
+ (dest) = (struct ObjectEvent *)(((task)->tTrainerObjHi << 16) | ((u16)(task)->tTrainerObjLo)); \
+} while (0)
+
+static void TrainerApproachPlayer(struct ObjectEvent * trainerObj, u8 approachDistance)
+{
+ u8 taskId = CreateTask(Task_RunTrainerSeeFuncList, 80);
+ struct Task * task = &gTasks[taskId];
+ task->tTrainerObjHi = ((uintptr_t)trainerObj) >> 16;
+ task->tTrainerObjLo = (uintptr_t)trainerObj;
+ task->tTrainerRange = approachDistance;
+}
+
+static void StartTrainerApproachWithFollowupTask(TaskFunc taskFunc)
+{
+ u8 taskId = FindTaskIdByFunc(Task_RunTrainerSeeFuncList);
+ SetTaskFuncWithFollowupFunc(taskId, Task_RunTrainerSeeFuncList, taskFunc);
+ gTasks[taskId].tFuncId = 1;
+ Task_RunTrainerSeeFuncList(taskId);
+}
+
+static void Task_RunTrainerSeeFuncList(u8 taskId)
+{
+ struct Task * task = &gTasks[taskId];
+ struct ObjectEvent * trainerObj;
+ TaskGetTrainerObj(trainerObj, task);
+
+ if (!trainerObj->active)
+ {
+ SwitchTaskToFollowupFunc(taskId);
+ }
+ else
+ {
+ while (sTrainerSeeFuncList[task->tFuncId](taskId, task, trainerObj))
+ ;
+ }
+}
+
+// TrainerSeeFuncs
+
+static bool8 TrainerSeeFunc_Dummy(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_StartExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ u8 action;
+ // FRLG introduces trainers who can see the player from offscreen above.
+ // Handle this case here.
+ if (trainerObj->facingDirection == DIR_SOUTH && task->tTrainerRange > 2)
+ {
+ task->tFuncId = 12;
+ }
+ else
+ {
+ ObjectEventGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON);
+ action = GetFaceDirectionMovementAction(trainerObj->facingDirection);
+ ObjectEventSetHeldMovement(trainerObj, action);
+ task->tFuncId++;
+ }
+ return TRUE;
+}
+
+static bool8 TrainerSeeFunc_WaitExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON))
+ {
+ return FALSE;
+ }
+ else
+ {
+ task->tFuncId++;
+ if (trainerObj->animPattern == MOVEMENT_TYPE_TREE_DISGUISE || trainerObj->animPattern == MOVEMENT_TYPE_MOUNTAIN_DISGUISE)
+ task->tFuncId = 6;
+ if (trainerObj->animPattern == MOVEMENT_TYPE_HIDDEN)
+ task->tFuncId = 8;
+ return TRUE;
+ }
+}
+
+static bool8 TrainerSeeFunc_TrainerApproach(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ if (!ObjectEventIsMovementOverridden(trainerObj) || ObjectEventClearHeldMovementIfFinished(trainerObj))
+ {
+ if (task->tTrainerRange)
+ {
+ ObjectEventSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection));
+ task->tTrainerRange--;
+ }
+ else
+ {
+ ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER);
+ task->tFuncId++;
+ }
+ }
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_PrepareToEngage(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ struct ObjectEvent *playerObj;
+
+ if (ObjectEventIsMovementOverridden(trainerObj) && !ObjectEventClearHeldMovementIfFinished(trainerObj))
+ return FALSE;
+
+ SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
+ TryOverrideTemplateCoordsForObjectEvent(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
+ OverrideTemplateCoordsForObjectEvent(trainerObj);
+
+ playerObj = &gObjectEvents[gPlayerAvatar.objectEventId];
+ if (ObjectEventIsMovementOverridden(playerObj) && !ObjectEventClearHeldMovementIfFinished(playerObj))
+ return FALSE;
+
+ sub_805C774();
+ // Uncomment to have player turn to face their opponent
+ // ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection)));
+ task->tFuncId++;
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_End(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.objectEventId];
+
+ if (!ObjectEventIsMovementOverridden(playerObj)
+ || ObjectEventClearHeldMovementIfFinished(playerObj))
+ SwitchTaskToFollowupFunc(taskId); // This ends the trainer walk routine.
+ return FALSE;
+}
+
+// Jumps here if disguised. Not used in FRLG.
+static bool8 TrainerSeeFunc_BeginRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ if (!ObjectEventIsMovementOverridden(trainerObj)
+ || ObjectEventClearHeldMovementIfFinished(trainerObj))
+ {
+ ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER);
+ task->tFuncId++;
+ }
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_WaitRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ if (ObjectEventClearHeldMovementIfFinished(trainerObj))
+ task->tFuncId = 3;
+
+ return FALSE;
+}
+
+// Jump here if hidden in ash. Not used in FRLG.
+static bool8 TrainerSeeFunc_TrainerInAshFacesPlayer(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ if (!ObjectEventIsMovementOverridden(trainerObj)
+ || ObjectEventClearHeldMovementIfFinished(trainerObj))
+ {
+ ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER);
+ task->tFuncId++;
+ }
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_BeginJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ if (ObjectEventCheckHeldMovementStatus(trainerObj))
+ {
+ gFieldEffectArguments[0] = trainerObj->currentCoords.x;
+ gFieldEffectArguments[1] = trainerObj->currentCoords.y;
+ gFieldEffectArguments[2] = gSprites[trainerObj->spriteId].subpriority - 1;
+ gFieldEffectArguments[3] = 2;
+ task->tOutOfAshSpriteId = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH);
+ task->tFuncId++;
+ }
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_WaitJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ struct Sprite *sprite;
+
+ if (gSprites[task->tOutOfAshSpriteId].animCmdIndex == 2)
+ {
+ trainerObj->fixedPriority = FALSE;
+ trainerObj->triggerGroundEffectsOnMove = TRUE;
+
+ sprite = &gSprites[trainerObj->spriteId];
+ sprite->oam.priority = 2;
+ ObjectEventClearHeldMovementIfFinished(trainerObj);
+ ObjectEventSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection));
+ task->tFuncId++;
+ }
+
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_EndJumpOutOfAsh(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj)
+{
+ if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
+ task->tFuncId = 3;
+
+ return FALSE;
+}
+
+// FRLG exclusive: Scroll the camera up to reveal an offscreen above trainer
+static bool8 TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj)
+{
+ int specialObjectId;
+ task->tData5 = 0;
+ specialObjectId = SpawnSpecialObjectEventParameterized(OBJECT_EVENT_GFX_YOUNGSTER, 7, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
+ gObjectEvents[specialObjectId].invisible = TRUE;
+ CameraObjectSetFollowedObjectId(gObjectEvents[specialObjectId].spriteId);
+ task->tFuncId++;
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj)
+{
+ u8 specialObjectId;
+ TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &specialObjectId);
+
+ if (ObjectEventIsMovementOverridden(&gObjectEvents[specialObjectId]) && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[specialObjectId]))
+ return FALSE;
+
+ if (task->tData5 != task->tTrainerRange - 1)
+ {
+ ObjectEventSetHeldMovement(&gObjectEvents[specialObjectId], sub_8063FB0(DIR_NORTH));
+ task->tData5++;
+ }
+ else
+ {
+ ObjectEventGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON);
+ task->tData5 = 0;
+ task->tFuncId++;
+ }
+ return FALSE;
+}
+
+static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj)
+{
+ u8 specialObjectId;
+ TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &specialObjectId);
+
+ if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON))
+ return FALSE;
+
+ if (ObjectEventIsMovementOverridden(&gObjectEvents[specialObjectId]) && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[specialObjectId]))
+ return FALSE;
+
+ if (task->tData5 != task->tTrainerRange - 1)
+ {
+ ObjectEventSetHeldMovement(&gObjectEvents[specialObjectId], sub_8063FB0(DIR_SOUTH));
+ task->tData5++;
+ }
+ else
+ {
+ CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId());
+ RemoveObjectEventByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ task->tData5 = 0;
+ task->tFuncId = 2;
+ }
+ return FALSE;
+}
+
+#undef tData5
+#undef tOutOfAshSpriteId
+#undef tTrainerRange
+#undef tTrainerObjLo
+#undef tTrainerObjHi
+#undef tFuncId
+
+static void Task_RevealTrainer_RunTrainerSeeFuncList(u8 taskId)
+{
+ struct Task * task = &gTasks[taskId];
+ struct ObjectEvent * trainerObj;
+
+ // another objEvent loaded into by loadword?
+ LoadWordFromTwoHalfwords((u16 *)&task->data[1], (uintptr_t *)&trainerObj);
+ if (!task->data[7])
+ {
+ ObjectEventClearAnim(trainerObj);
+ task->data[7]++;
+ }
+ sTrainerSeeFuncList2[task->data[0]](taskId, task, trainerObj);
+ if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
+ {
+ SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
+ TryOverrideTemplateCoordsForObjectEvent(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
+ DestroyTask(taskId);
+ }
+ else
+ {
+ trainerObj->heldMovementFinished = FALSE;
+ }
+}
+
+void MovementAction_RevealTrainer_RunTrainerSeeFuncList(struct ObjectEvent *var)
+{
+ StoreWordInTwoHalfwords((u16 *)&gTasks[CreateTask(Task_RevealTrainer_RunTrainerSeeFuncList, 0)].data[1], (u32)var);
+}
+
+void ScrSpecial_EndTrainerApproach(void)
+{
+ StartTrainerApproachWithFollowupTask(Task_DestroyTrainerApproachTask);
+}
+
+static void Task_DestroyTrainerApproachTask(u8 taskId)
+{
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+}
+
+// Trainer See Excl Mark Field Effect
+
+#define sLocalId data[0]
+#define sMapNum data[1]
+#define sMapGroup data[2]
+#define sData3 data[3]
+#define sData4 data[4]
+#define sFldEffId data[7]
+
+static const struct OamData sOamData_Emoticons = {
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct SpriteFrameImage sSpriteImages_Emoticons[] = {
+ {sGfx_Emoticons + 0x000, 0x80},
+ {sGfx_Emoticons + 0x040, 0x80},
+ {sGfx_Emoticons + 0x080, 0x80},
+
+ {sGfx_Emoticons + 0x180, 0x80},
+ {sGfx_Emoticons + 0x1C0, 0x80},
+ {sGfx_Emoticons + 0x200, 0x80},
+
+ {sGfx_Emoticons + 0x0C0, 0x80},
+ {sGfx_Emoticons + 0x100, 0x80},
+ {sGfx_Emoticons + 0x140, 0x80},
+
+ {sGfx_Emoticons + 0x240, 0x80},
+ {sGfx_Emoticons + 0x280, 0x80},
+ {sGfx_Emoticons + 0x2C0, 0x80},
+
+ {sGfx_Emoticons + 0x300, 0x80},
+ {sGfx_Emoticons + 0x340, 0x80},
+ {sGfx_Emoticons + 0x380, 0x80},
+};
+
+static const union AnimCmd sAnimCmd_ExclamationMark1[] = {
+ ANIMCMD_FRAME( 0, 4),
+ ANIMCMD_FRAME( 1, 4),
+ ANIMCMD_FRAME( 2, 52),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_DoubleExclMark[] = {
+ ANIMCMD_FRAME( 6, 4),
+ ANIMCMD_FRAME( 7, 4),
+ ANIMCMD_FRAME( 8, 52),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_X[] = {
+ ANIMCMD_FRAME( 3, 4),
+ ANIMCMD_FRAME( 4, 4),
+ ANIMCMD_FRAME( 5, 52),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_SmileyFace[] = {
+ ANIMCMD_FRAME( 9, 4),
+ ANIMCMD_FRAME(10, 4),
+ ANIMCMD_FRAME(11, 52),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_QuestionMark[] = {
+ ANIMCMD_FRAME(12, 4),
+ ANIMCMD_FRAME(13, 4),
+ ANIMCMD_FRAME(14, 52),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_Emoticons[] = {
+ sAnimCmd_ExclamationMark1,
+ sAnimCmd_DoubleExclMark,
+ sAnimCmd_X,
+ sAnimCmd_SmileyFace,
+ sAnimCmd_QuestionMark
+};
+
+static const struct SpriteTemplate sSpriteTemplate_Emoticons = {
+ .tileTag = 0xFFFF,
+ .paletteTag = 0xFFFF,
+ .oam = &sOamData_Emoticons,
+ .anims = sSpriteAnimTable_Emoticons,
+ .images = sSpriteImages_Emoticons,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_TrainerIcons
+};
+
+u8 FldEff_ExclamationMarkIcon1(void)
+{
+ u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x53);
+
+ if (spriteId != MAX_SPRITES)
+ SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON, 0);
+
+ return 0;
+}
+
+u8 FldEff_DoubleExclMarkIcon(void)
+{
+ u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52);
+
+ if (spriteId != MAX_SPRITES)
+ SetIconSpriteData(&gSprites[spriteId], FLDEFF_DOUBLE_EXCL_MARK_ICON, 1);
+
+ return 0;
+}
+
+u8 FldEff_XIcon(void)
+{
+ u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52);
+
+ if (spriteId != MAX_SPRITES)
+ SetIconSpriteData(&gSprites[spriteId], FLDEFF_X_ICON, 2);
+
+ return 0;
+}
+
+u8 FldEff_SmileyFaceIcon(void)
+{
+ u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52);
+
+ if (spriteId != MAX_SPRITES)
+ SetIconSpriteData(&gSprites[spriteId], FLDEFF_SMILEY_FACE_ICON, 3);
+
+ return 0;
+}
+
+u8 FldEff_QuestionMarkIcon(void)
+{
+ u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52);
+
+ if (spriteId != MAX_SPRITES)
+ SetIconSpriteData(&gSprites[spriteId], FLDEFF_QUESTION_MARK_ICON, 4);
+
+ return 0;
+}
+
+static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum)
+{
+ sprite->oam.priority = 1;
+ sprite->coordOffsetEnabled = 1;
+
+ sprite->sLocalId = gFieldEffectArguments[0];
+ sprite->sMapNum = gFieldEffectArguments[1];
+ sprite->sMapGroup = gFieldEffectArguments[2];
+ sprite->sData3 = -5;
+ sprite->sFldEffId = fldEffId;
+
+ StartSpriteAnim(sprite, spriteAnimNum);
+}
+
+static void SpriteCB_TrainerIcons(struct Sprite *sprite)
+{
+ u8 objEventId;
+
+ if (TryGetObjectEventIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &objEventId)
+ || sprite->animEnded)
+ {
+ FieldEffectStop(sprite, sprite->sFldEffId);
+ }
+ else
+ {
+ struct Sprite *objEventSprite = &gSprites[gObjectEvents[objEventId].spriteId];
+ sprite->sData4 += sprite->sData3;
+ sprite->pos1.x = objEventSprite->pos1.x;
+ sprite->pos1.y = objEventSprite->pos1.y - 16;
+ sprite->pos2.x = objEventSprite->pos2.x;
+ sprite->pos2.y = objEventSprite->pos2.y + sprite->sData4;
+ if (sprite->sData4)
+ sprite->sData3++;
+ else
+ sprite->sData3 = 0;
+ }
+}
+
+#undef sLocalId
+#undef sMapNum
+#undef sMapGroup
+#undef sData3
+#undef sData4
+#undef sFldEffId
diff --git a/src/trainer_tower.c b/src/trainer_tower.c
index 0f9907e2d..f4e9689a1 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -2,11 +2,9 @@
#include "main.h"
#include "task.h"
#include "malloc.h"
-#include "save.h"
#include "util.h"
#include "string_util.h"
#include "event_data.h"
-#include "random.h"
#include "cereader_tool.h"
#include "easy_chat.h"
#include "text.h"
@@ -20,11 +18,9 @@
#include "menu.h"
#include "new_menu_helpers.h"
#include "sound.h"
-#include "constants/flags.h"
#include "constants/vars.h"
#include "constants/items.h"
#include "constants/species.h"
-#include "constants/maps.h"
#include "constants/songs.h"
#include "constants/layouts.h"
#include "constants/trainers.h"
diff --git a/src/trig.c b/src/trig.c
index c2bca3059..2181ebef7 100644
--- a/src/trig.c
+++ b/src/trig.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "trig.h"
// Values of sin(x*(π/128)) as Q8.8 fixed-point numbers from x = 0 to x = 319
const s16 gSineTable[] =
diff --git a/src/union_room_message.c b/src/union_room_message.c
index 1d26d1968..3aeb40524 100644
--- a/src/union_room_message.c
+++ b/src/union_room_message.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "union_room_message.h"
#include "mevent_server.h"
#include "constants/union_room.h"
diff --git a/src/util.c b/src/util.c
index 93aa60f84..b32799584 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "util.h"
const u32 gBitTable[] =
{
diff --git a/src/vs_seeker.c b/src/vs_seeker.c
index 9c9a4d67f..e79c2cf22 100644
--- a/src/vs_seeker.c
+++ b/src/vs_seeker.c
@@ -18,12 +18,9 @@
#include "battle.h"
#include "battle_setup.h"
#include "random.h"
-#include "event_object_movement.h"
#include "field_player_avatar.h"
-#include "event_object_80688E4.h"
-#include "event_object_8097404.h"
#include "vs_seeker.h"
-#include "constants/movement_commands.h"
+#include "constants/event_object_movement.h"
#include "constants/object_events.h"
#include "constants/trainers.h"
#include "constants/maps.h"
@@ -547,29 +544,35 @@ static const VsSeekerData sVsSeekerData[] = {
};
static const u8 gUnknown_8453F5C[] = {
- delay_16,
- delay_16,
- delay_16,
- step_end
+ MOVEMENT_ACTION_DELAY_16,
+ MOVEMENT_ACTION_DELAY_16,
+ MOVEMENT_ACTION_DELAY_16,
+ MOVEMENT_ACTION_STEP_END
};
static const u8 gUnknown_8453F60[] = {
- emote_exclamation_mark,
- step_end
+ MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK,
+ MOVEMENT_ACTION_STEP_END
};
static const u8 sMovementScript_TrainerNoRematch[] = {
- emote_x,
- step_end
+ MOVEMENT_ACTION_EMOTE_X,
+ MOVEMENT_ACTION_STEP_END
};
static const u8 sMovementScript_TrainerRematch[] = {
- walk_in_place_fastest_down,
- emote_double_exclamation_mark,
- step_end
+ MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN,
+ MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK,
+ MOVEMENT_ACTION_STEP_END
};
-static const u8 gUnknown_8453F67[] = { 0x08, 0x08, 0x07, 0x09, 0x0a };
+static const u8 gUnknown_8453F67[] = {
+ MOVEMENT_TYPE_FACE_DOWN,
+ MOVEMENT_TYPE_FACE_DOWN,
+ MOVEMENT_TYPE_FACE_UP,
+ MOVEMENT_TYPE_FACE_LEFT,
+ MOVEMENT_TYPE_FACE_RIGHT
+};
// text
@@ -798,8 +801,8 @@ static void GatherNearbyTrainerInfo(void)
sVsSeeker->trainerInfo[vsSeekerObjectIdx].localId = templates[objectEventIdx].localId;
TryGetObjectEventIdByLocalIdAndMap(templates[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
sVsSeeker->trainerInfo[vsSeekerObjectIdx].objectEventId = objectEventId;
- sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].coords2.x - 7;
- sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].coords2.y - 7;
+ sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].currentCoords.x - 7;
+ sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].currentCoords.y - 7;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].graphicsId = templates[objectEventIdx].graphicsId;
vsSeekerObjectIdx++;
}
@@ -951,12 +954,12 @@ void sub_810CB90(void)
TryGetObjectEventIdByLocalIdAndMap(r4[r8].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &sp0);
r4_2 = &gObjectEvents[sp0];
sub_810CF54(&r4[r8]); // You are using this function incorrectly. Please consult the manual.
- sub_805FE7C(r4_2, gUnknown_8453F67[r4_2->facingDirection]);
+ TryOverrideTemplateCoordsForObjectEvent(r4_2, gUnknown_8453F67[r4_2->facingDirection]);
gSaveBlock1Ptr->trainerRematches[r4[r8].localId] = 0;
if (gSelectedObjectEvent == sp0)
r4_2->animPattern = gUnknown_8453F67[r4_2->facingDirection];
else
- r4_2->animPattern = 0x08;
+ r4_2->animPattern = MOVEMENT_TYPE_FACE_DOWN;
}
}
}
@@ -1312,7 +1315,7 @@ static void StartAllRespondantIdleMovements(void)
if (sub_810CF04(sVsSeeker->trainerInfo[j].objectEventId) == 1)
SetTrainerMovementType(r4, sVsSeeker->runningBehaviourEtcArray[i]);
- sub_805FE7C(r4, sVsSeeker->runningBehaviourEtcArray[i]);
+ TryOverrideTemplateCoordsForObjectEvent(r4, sVsSeeker->runningBehaviourEtcArray[i]);
gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[j].localId] = GetNextAvailableRematchTrainer(sVsSeekerData, sVsSeeker->trainerInfo[j].trainerIdx, &dummy);
}
}