summaryrefslogtreecommitdiff
path: root/asm/rom_807C828.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/rom_807C828.s')
-rw-r--r--asm/rom_807C828.s1423
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.