diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2020-02-21 20:50:44 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-21 20:50:44 -0500 |
commit | e194cf83d257796591e6a7a2cb88e208ac7de968 (patch) | |
tree | f39d5da19fd92a02d1b66ac4f2eb1dae325952ab | |
parent | 4280723f0ef24ff218cb81fd4ce8eb7abf063d34 (diff) | |
parent | 7624b5e5c0d4d8290356dc897c2ea179c842d2b8 (diff) |
Merge pull request #262 from PikalaxALT/trainer_see
Trainer see
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); @@ -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" @@ -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); } } |