diff options
Diffstat (limited to 'asm/trainer_see.s')
-rw-r--r-- | asm/trainer_see.s | 774 |
1 files changed, 1 insertions, 773 deletions
diff --git a/asm/trainer_see.s b/asm/trainer_see.s index 11c4fcbcb..e56433bd5 100644 --- a/asm/trainer_see.s +++ b/asm/trainer_see.s @@ -5,778 +5,6 @@ .text - 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} @@ -841,7 +69,7 @@ _0808246E: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl sub_805FE7C + bl TryOverrideTemplateCoordsForObjectEvent adds r0, r5, 0 bl DestroyTask b _080824E2 |