diff options
Diffstat (limited to 'asm/rom_807C828.s')
-rw-r--r-- | asm/rom_807C828.s | 1423 |
1 files changed, 0 insertions, 1423 deletions
diff --git a/asm/rom_807C828.s b/asm/rom_807C828.s index cedf8a16a..23ffed2a0 100644 --- a/asm/rom_807C828.s +++ b/asm/rom_807C828.s @@ -15271,1427 +15271,4 @@ _08083D44: .4byte word_3002910 _08083D48: .4byte gUnknown_0839B22C thumb_func_end unref_sub_8083CF0 - thumb_func_start sub_8083D4C -sub_8083D4C: @ 8083D4C - push {lr} - ldr r0, _08083D60 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08083D64 - movs r0, 0 - b _08083D6A - .align 2, 0 -_08083D60: .4byte gMain -_08083D64: - bl sub_8071C20 - movs r0, 0x1 -_08083D6A: - pop {r1} - bx r1 - thumb_func_end sub_8083D4C - - thumb_func_start MoriDebugMenu_SearchChild -MoriDebugMenu_SearchChild: @ 8083D70 - push {r4-r6,lr} - sub sp, 0x34 - ldr r0, _08083DE4 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_8041870 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - movs r6, 0xB - adds r1, r4, 0 - muls r1, r6 - ldr r4, _08083DE8 - adds r1, r4 - mov r0, sp - bl StringCopy - ldr r1, _08083DEC - mov r0, sp - bl StringAppend - adds r1, r5, 0 - muls r1, r6 - adds r1, r4 - mov r0, sp - bl StringAppend - ldr r1, _08083DF0 - mov r0, sp - bl StringAppend - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0xE - movs r2, 0x1E - movs r3, 0x13 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _08083DF4 - ldr r0, _08083DF8 - str r0, [r1] - movs r0, 0 - add sp, 0x34 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08083DE4: .4byte gPlayerParty -_08083DE8: .4byte gSpeciesNames -_08083DEC: .4byte gUnknown_0839B24D -_08083DF0: .4byte gUnknown_0839B255 -_08083DF4: .4byte gCallback_03004AE8 -_08083DF8: .4byte sub_8083D4C - thumb_func_end MoriDebugMenu_SearchChild - - thumb_func_start MoriDebugMenu_Egg -MoriDebugMenu_Egg: @ 8083DFC - push {lr} - ldr r0, _08083E24 - bl daycare_count_pokemon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08083E1A - bl daycare_relationship_score_from_savegame - lsls r0, 24 - cmp r0, 0 - beq _08083E1A - bl sub_8041940 -_08083E1A: - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08083E24: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end MoriDebugMenu_Egg - - thumb_func_start MoriDebugMenu_MaleEgg -MoriDebugMenu_MaleEgg: @ 8083E28 - push {lr} - ldr r0, _08083E50 - bl daycare_count_pokemon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08083E46 - bl daycare_relationship_score_from_savegame - lsls r0, 24 - cmp r0, 0 - beq _08083E46 - bl sub_8041950 -_08083E46: - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08083E50: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end MoriDebugMenu_MaleEgg - - thumb_func_start MoriDebugMenu_1000Steps -MoriDebugMenu_1000Steps: @ 8083E54 - push {lr} - movs r0, 0xFA - lsls r0, 2 - bl sub_8041790 - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MoriDebugMenu_1000Steps - - thumb_func_start MoriDebugMenu_10000Steps -MoriDebugMenu_10000Steps: @ 8083E68 - push {lr} - ldr r0, _08083E7C - bl sub_8041790 - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08083E7C: .4byte 0x00002710 - thumb_func_end MoriDebugMenu_10000Steps - - thumb_func_start MoriDebugMenu_MoveTutor -MoriDebugMenu_MoveTutor: @ 8083E80 - push {lr} - bl sub_8132670 - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MoriDebugMenu_MoveTutor - - thumb_func_start MoriDebugMenu_BreedEgg -MoriDebugMenu_BreedEgg: @ 8083E90 - push {r4-r6,lr} - sub sp, 0x4 - movs r5, 0 - movs r6, 0 -_08083E98: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08083EE0 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _08083EBC - mov r0, sp - strb r6, [r0] - adds r0, r4, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_08083EBC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08083E98 - ldr r0, _08083EE4 - ldr r1, _08083EE8 - adds r0, r1 - movs r1, 0xFD - strb r1, [r0] - bl sub_8071C20 - movs r0, 0x1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08083EE0: .4byte gPlayerParty -_08083EE4: .4byte gSaveBlock1 -_08083EE8: .4byte 0x000030b6 - thumb_func_end MoriDebugMenu_BreedEgg - - thumb_func_start MoriDebugMenu_LongName -MoriDebugMenu_LongName: @ 8083EEC - push {lr} - ldr r0, _08083F04 - ldr r2, _08083F08 - movs r1, 0x2 - bl SetMonData - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08083F04: .4byte gPlayerParty -_08083F08: .4byte gUnknown_0839B257 - thumb_func_end MoriDebugMenu_LongName - - thumb_func_start MoriDebugMenu_PokeblockCase -MoriDebugMenu_PokeblockCase: @ 8083F0C - push {r4,lr} - movs r4, 0 -_08083F10: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_810CA6C - adds r4, 0x1 - cmp r4, 0x27 - ble _08083F10 - bl sub_8071C20 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MoriDebugMenu_PokeblockCase - - thumb_func_start MoriDebugMenuProcessInput -MoriDebugMenuProcessInput: @ 8083F2C - push {lr} - bl ProcessMenuInput - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _08083F52 - adds r0, 0x1 - cmp r1, r0 - beq _08083F60 - ldr r2, _08083F58 - ldr r0, _08083F5C - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] -_08083F52: - movs r0, 0 - b _08083F66 - .align 2, 0 -_08083F58: .4byte gCallback_03004AE8 -_08083F5C: .4byte gMoriDebugMenuActions -_08083F60: - bl sub_8071C20 - movs r0, 0x1 -_08083F66: - pop {r1} - bx r1 - thumb_func_end MoriDebugMenuProcessInput - - thumb_func_start InitMoriDebugMenu -InitMoriDebugMenu: @ 8083F6C - push {lr} - sub sp, 0x8 - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r3, _08083FB0 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x9 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x9 - bl InitMenu - ldr r1, _08083FB4 - ldr r0, _08083FB8 - str r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r1} - bx r1 - .align 2, 0 -_08083FB0: .4byte gMoriDebugMenuActions -_08083FB4: .4byte gCallback_03004AE8 -_08083FB8: .4byte MoriDebugMenuProcessInput - thumb_func_end InitMoriDebugMenu - - thumb_func_start CheckTrainers -CheckTrainers: @ 8083FBC - push {r4,r5,lr} - movs r4, 0 - ldr r5, _08083FEC -_08083FC2: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08083FF0 - ldrb r0, [r1, 0x7] - cmp r0, 0x1 - beq _08083FDC - cmp r0, 0x3 - bne _08083FF0 -_08083FDC: - adds r0, r4, 0 - bl CheckTrainer - lsls r0, 24 - cmp r0, 0 - beq _08083FF0 - movs r0, 0x1 - b _08083FFC - .align 2, 0 -_08083FEC: .4byte gMapObjects -_08083FF0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08083FC2 - movs r0, 0 -_08083FFC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end CheckTrainers - - thumb_func_start CheckTrainer -CheckTrainer: @ 8084004 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r4, 0 - bl GetFieldObjectScriptPointerByFieldObjectId - adds r6, r0, 0 - bl GetTrainerFlagFromScriptPointer - cmp r0, 0 - bne _08084034 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _08084038 - adds r5, r0, r1 - adds r0, r5, 0 - bl TrainerCanApproachPlayer - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0808403C -_08084034: - movs r0, 0 - b _08084052 - .align 2, 0 -_08084038: .4byte gMapObjects -_0808403C: - adds r0, r7, 0 - adds r1, r6, 0 - bl TrainerWantsBattle - subs r1, r4, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_80842C8 - movs r0, 0x1 -_08084052: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckTrainer - - thumb_func_start TrainerCanApproachPlayer -TrainerCanApproachPlayer: @ 8084058 - 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 _080840B8 - ldr r1, _080840B0 - 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 _080840F8 - .align 2, 0 -_080840B0: .4byte gUnknown_0839B488 -_080840B4: - adds r0, r6, 0 - b _080840F8 -_080840B8: - movs r5, 0 -_080840BA: - ldr r0, _08084104 - 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 _080840B4 - adds r5, r4, 0 - cmp r5, 0x3 - bls _080840BA - movs r0, 0 -_080840F8: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08084104: .4byte gUnknown_0839B488 - thumb_func_end TrainerCanApproachPlayer - - thumb_func_start IsTrainerInRangeSouth -IsTrainerInRangeSouth: @ 8084108 - 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 _08084142 - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - ble _08084142 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r2, r1 - bgt _08084142 - subs r0, r5, r3 - lsls r0, 24 - lsrs r0, 24 - b _08084144 -_08084142: - movs r0, 0 -_08084144: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeSouth - - thumb_func_start IsTrainerInRangeNorth -IsTrainerInRangeNorth: @ 808414C - 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 _08084186 - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - bge _08084186 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r2, r1 - blt _08084186 - subs r0, r3, r5 - lsls r0, 24 - lsrs r0, 24 - b _08084188 -_08084186: - movs r0, 0 -_08084188: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeNorth - - thumb_func_start IsTrainerInRangeWest -IsTrainerInRangeWest: @ 8084190 - 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 _080841CA - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _080841CA - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r3, r1 - blt _080841CA - subs r0, r2, r5 - lsls r0, 24 - lsrs r0, 24 - b _080841CC -_080841CA: - movs r0, 0 -_080841CC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeWest - - thumb_func_start IsTrainerInRangeEast -IsTrainerInRangeEast: @ 80841D4 - 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 _0808420E - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - ble _0808420E - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r3, r1 - bgt _0808420E - subs r0, r5, r2 - lsls r0, 24 - lsrs r0, 24 - b _08084210 -_0808420E: - movs r0, 0 -_08084210: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeEast - - thumb_func_start CheckPathBetweenTrainerAndPlayer -CheckPathBetweenTrainerAndPlayer: @ 8084218 - 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 _080842B2 - 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 _08084284 -_0808424C: - 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_8060024 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08084270 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080842B2 -_08084270: - 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 _0808424C -_08084284: - 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 _080842B6 -_080842B2: - movs r0, 0 - b _080842B8 -_080842B6: - mov r0, r9 -_080842B8: - 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_80842C8 -sub_80842C8: @ 80842C8 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, _080842F4 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080842F8 - 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 -_080842F4: .4byte sub_808433C -_080842F8: .4byte gTasks - thumb_func_end sub_80842C8 - - thumb_func_start sub_80842FC -sub_80842FC: @ 80842FC - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _08084334 - 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, _08084338 - 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 -_08084334: .4byte sub_808433C -_08084338: .4byte gTasks - thumb_func_end sub_80842FC - - thumb_func_start sub_808433C -sub_808433C: @ 808433C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _08084368 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r5, r0, 16 - movs r1, 0xC - ldrsh r0, [r4, r1] - orrs r5, r0 - ldrb r0, [r5] - lsls r0, 31 - cmp r0, 0 - bne _0808436C - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _08084388 - .align 2, 0 -_08084368: .4byte gTasks -_0808436C: - ldr r7, _08084390 -_0808436E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r7 - ldr r3, [r0] - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _0808436E -_08084388: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08084390: .4byte gUnknown_0839B498 - thumb_func_end sub_808433C - - thumb_func_start sub_8084394 -sub_8084394: @ 8084394 - movs r0, 0 - bx lr - thumb_func_end sub_8084394 - - thumb_func_start sub_8084398 -sub_8084398: @ 8084398 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r1, _080843D8 - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r4, 0 - bl FieldObjectGetLocalIdAndMap - movs r0, 0 - bl FieldEffectStart - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080843D8: .4byte gUnknown_0202FF84 - thumb_func_end sub_8084398 - - thumb_func_start sub_80843DC -sub_80843DC: @ 80843DC - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - movs r0, 0 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - beq _080843F2 - movs r0, 0 - b _08084414 -_080843F2: - 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 _08084408 - movs r0, 0x6 - strh r0, [r4, 0x8] -_08084408: - ldrb r0, [r5, 0x6] - cmp r0, 0x3F - bne _08084412 - movs r0, 0x8 - strh r0, [r4, 0x8] -_08084412: - movs r0, 0x1 -_08084414: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80843DC - - thumb_func_start sub_808441C -sub_808441C: @ 808441C - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _0808443A - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _0808446E -_0808443A: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08084460 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetGoSpeed0AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - b _0808446E -_08084460: - adds r0, r4, 0 - movs r1, 0x3E - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0808446E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_808441C - - thumb_func_start sub_8084478 -sub_8084478: @ 8084478 - push {r4-r6,lr} - adds r6, r1, 0 - adds r5, r2, 0 - adds r0, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _08084496 - adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _08084524 -_08084496: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl npc_set_running_behaviour_etc - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_805C774 - adds r0, r5, 0 - bl sub_805C754 - ldr r0, _0808452C - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084530 - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080844EE - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _08084524 -_080844EE: - bl sub_80597E8 - ldr r0, _0808452C - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084530 - adds r4, r0 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08084524: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808452C: .4byte gPlayerAvatar -_08084530: .4byte gMapObjects - thumb_func_end sub_8084478 - - thumb_func_start sub_8084534 -sub_8084534: @ 8084534 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08084570 - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084574 - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _08084560 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _08084566 -_08084560: - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc -_08084566: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084570: .4byte gPlayerAvatar -_08084574: .4byte gMapObjects - thumb_func_end sub_8084534 - - thumb_func_start sub_8084578 -sub_8084578: @ 8084578 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _08084596 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080845A4 -_08084596: - adds r0, r4, 0 - movs r1, 0x59 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080845A4: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084578 - - thumb_func_start sub_80845AC -sub_80845AC: @ 80845AC - push {r4,lr} - adds r4, r1, 0 - adds r0, r2, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080845C0 - movs r0, 0x3 - strh r0, [r4, 0x8] -_080845C0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80845AC - - thumb_func_start sub_80845C8 -sub_80845C8: @ 80845C8 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080845E6 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080845F4 -_080845E6: - adds r0, r4, 0 - movs r1, 0x3E - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080845F4: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80845C8 - - thumb_func_start sub_80845FC -sub_80845FC: @ 80845FC - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - cmp r0, 0 - beq _08084642 - ldr r2, _0808464C - movs r1, 0x10 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x12 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - ldr r3, _08084650 - 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] -_08084642: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808464C: .4byte gUnknown_0202FF84 -_08084650: .4byte gSprites - thumb_func_end sub_80845FC - - thumb_func_start sub_8084654 -sub_8084654: @ 8084654 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r2, _080846C4 - 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 _080846BC - 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 FieldObjectClearAnimIfSpecialAnimFinished - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_806084C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080846BC: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080846C4: .4byte gSprites - thumb_func_end sub_8084654 - - thumb_func_start sub_80846C8 -sub_80846C8: @ 80846C8 - push {r4,lr} - adds r4, r1, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080846DC - movs r0, 0x3 - strh r0, [r4, 0x8] -_080846DC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80846C8 - - thumb_func_start sub_80846E4 -sub_80846E4: @ 80846E4 - 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, _08084778 - 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 _08084716 - ldr r0, [sp] - bl FieldObjectClearAnim - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_08084716: - ldr r1, _0808477C - 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 _08084780 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084780 - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl npc_set_running_behaviour_etc - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_805C774 - adds r0, r5, 0 - bl DestroyTask - b _0808478A - .align 2, 0 -_08084778: .4byte gTasks -_0808477C: .4byte gUnknown_0839B4C8 -_08084780: - ldr r2, [sp] - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_0808478A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80846E4 - - thumb_func_start sub_8084794 -sub_8084794: @ 8084794 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080847C0 - 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, _080847C4 - adds r0, r1 - adds r0, 0x2 - adds r1, r4, 0 - bl StoreWordInTwoHalfwords - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080847C0: .4byte sub_80846E4 -_080847C4: .4byte gUnknown_03004B28 - thumb_func_end sub_8084794 - - thumb_func_start sub_80847C8 -sub_80847C8: @ 80847C8 - push {lr} - ldr r0, _080847D4 - bl sub_80842FC - pop {r0} - bx r0 - .align 2, 0 -_080847D4: .4byte sub_80847D8 - thumb_func_end sub_80847C8 - - thumb_func_start sub_80847D8 -sub_80847D8: @ 80847D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80847D8 - .align 2, 0 @ Don't pad with nop. |