summaryrefslogtreecommitdiff
path: root/asm/field_map_obj.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/field_map_obj.s')
-rw-r--r--asm/field_map_obj.s2481
1 files changed, 0 insertions, 2481 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index b50b6f2d1..d54b57fed 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -6,2487 +6,6 @@
.text
- thumb_func_start sub_805B75C
-sub_805B75C: @ 805B75C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- movs r7, 0
- ldr r2, _0805B900 @ =gLinkPlayerMapObjects
-_0805B77E:
- lsls r0, r7, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0805B790
- ldrb r1, [r1, 0x2]
- cmp r8, r1
- bne _0805B790
- b _0805B8EE
-_0805B790:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _0805B77E
- mov r1, r8
- lsls r0, r1, 3
- add r0, r8
- lsls r0, 2
- ldr r1, _0805B904 @ =gMapObjects
- adds r6, r0, r1
- movs r0, 0
- str r0, [sp, 0x20]
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r5, r0, 0
- ldrh r2, [r5, 0x6]
- ldr r1, _0805B908 @ =0xffff0000
- add r4, sp, 0x18
- ldr r0, [r4, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r4, 0x4]
- ldrb r0, [r6, 0x5]
- ldrb r1, [r6, 0x6]
- add r3, sp, 0x20
- mov r2, sp
- bl MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex
- str r4, [sp, 0xC]
- mov r0, sp
- ldr r2, _0805B90C @ =0x0000ffff
- adds r4, r2, 0
- strh r4, [r0, 0x2]
- ldrb r1, [r5, 0xC]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0805B7EA
- ldrh r0, [r5, 0x2]
- lsls r1, 28
- lsrs r1, 28
- bl npc_load_two_palettes__no_record
-_0805B7EA:
- ldrb r0, [r5, 0xC]
- lsls r1, r0, 28
- lsrs r0, r1, 28
- cmp r0, 0x9
- bls _0805B7FC
- ldrh r0, [r5, 0x2]
- lsrs r1, 28
- bl npc_load_two_palettes__and_record
-_0805B7FC:
- mov r0, sp
- strh r4, [r0, 0x2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x40
- beq _0805B8EE
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _0805B910 @ =gSprites
- adds r4, r0, r1
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- ldrh r2, [r6, 0x10]
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r2, [r6, 0x12]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8060388
- ldrh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r4, 0
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r2, r4, 0
- adds r2, 0x29
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x8
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r1, 0x10
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, [r5, 0x1C]
- str r0, [r4, 0xC]
- ldrb r0, [r6, 0x6]
- cmp r0, 0xB
- bne _0805B88A
- mov r0, r8
- adds r1, r7, 0
- bl SetPlayerAvatarFieldObjectIdAndObjectId
- bl sub_8126B54
- strb r0, [r6, 0x1B]
-_0805B88A:
- ldr r1, [sp, 0x20]
- cmp r1, 0
- beq _0805B896
- adds r0, r4, 0
- bl SetSubspriteTables
-_0805B896:
- ldrb r1, [r5, 0xC]
- lsls r1, 28
- lsrs r1, 24
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- mov r0, r8
- strh r0, [r4, 0x2E]
- strb r7, [r6, 0x4]
- ldrb r0, [r6, 0x1]
- lsls r0, 27
- cmp r0, 0
- blt _0805B8DC
- ldrb r0, [r6, 0x6]
- cmp r0, 0xB
- beq _0805B8DC
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_0805B8DC:
- adds r0, r6, 0
- bl sub_805B914
- ldrb r0, [r6, 0xB]
- lsrs r0, 4
- adds r1, r4, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
-_0805B8EE:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805B900: .4byte gLinkPlayerMapObjects
-_0805B904: .4byte gMapObjects
-_0805B908: .4byte 0xffff0000
-_0805B90C: .4byte 0x0000ffff
-_0805B910: .4byte gSprites
- thumb_func_end sub_805B75C
-
- thumb_func_start sub_805B914
-sub_805B914: @ 805B914
- push {lr}
- ldrb r2, [r0]
- movs r3, 0x3
- negs r3, r3
- adds r1, r3, 0
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r2, [r0, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- ands r1, r3
- movs r2, 0x5
- negs r2, r2
- ands r1, r2
- subs r2, 0x4
- ands r1, r2
- subs r2, 0x8
- ands r1, r2
- subs r2, 0x10
- ands r1, r2
- strb r1, [r0, 0x2]
- bl FieldObjectClearAnim
- pop {r0}
- bx r0
- thumb_func_end sub_805B914
-
- thumb_func_start SetPlayerAvatarFieldObjectIdAndObjectId
-SetPlayerAvatarFieldObjectIdAndObjectId: @ 805B94C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0805B978 @ =gPlayerAvatar
- strb r0, [r5, 0x5]
- strb r1, [r5, 0x4]
- ldr r1, _0805B97C @ =gMapObjects
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- ldrb r0, [r4, 0x5]
- bl GetPlayerAvatarGenderByGraphicsId
- strb r0, [r5, 0x7]
- ldrb r0, [r4, 0x5]
- movs r1, 0x20
- bl SetPlayerAvatarExtraStateTransition
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805B978: .4byte gPlayerAvatar
-_0805B97C: .4byte gMapObjects
- thumb_func_end SetPlayerAvatarFieldObjectIdAndObjectId
-
- thumb_func_start sub_805B980
-sub_805B980: @ 805B980
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r0, r8
- bl GetFieldObjectGraphicsInfo
- adds r5, r0, 0
- ldrb r1, [r6, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805BA7C @ =gSprites
- adds r4, r0, r1
- ldrb r1, [r5, 0xC]
- movs r7, 0xF
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0805B9B8
- ldrh r0, [r5, 0x2]
- lsls r1, 28
- lsrs r1, 28
- bl pal_patch_for_npc
-_0805B9B8:
- ldrb r1, [r5, 0xC]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0xA
- bne _0805B9CC
- ldrh r0, [r5, 0x2]
- lsls r1, 28
- lsrs r1, 28
- bl npc_load_two_palettes__and_record
-_0805B9CC:
- ldr r0, [r5, 0x10]
- ldrb r2, [r0, 0x1]
- lsrs r2, 6
- lsls r2, 6
- ldrb r3, [r4, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, 0x1]
- ldr r0, [r5, 0x10]
- ldrb r0, [r0, 0x3]
- lsrs r0, 6
- lsls r0, 6
- ldrb r2, [r4, 0x3]
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x3]
- ldr r0, [r5, 0x1C]
- str r0, [r4, 0xC]
- ldr r0, [r5, 0x18]
- str r0, [r4, 0x8]
- ldr r0, [r5, 0x14]
- str r0, [r4, 0x18]
- ldrb r1, [r5, 0xC]
- lsls r1, 28
- lsrs r1, 24
- ldrb r2, [r4, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrb r1, [r5, 0xC]
- lsls r1, 25
- lsrs r1, 31
- lsls r1, 4
- ldrb r2, [r6, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x1]
- mov r0, r8
- strb r0, [r6, 0x5]
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_80603CC
- ldrh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r4, 0
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r2, r4, 0
- adds r2, 0x29
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x8
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r1, 0x10
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrb r0, [r6, 0x1]
- lsrs r0, 7
- cmp r0, 0
- beq _0805BA72
- bl CameraObjectReset1
-_0805BA72:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BA7C: .4byte gSprites
- thumb_func_end sub_805B980
-
- thumb_func_start unref_sub_805BA80
-unref_sub_805BA80: @ 805BA80
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805BAB4
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805BABC @ =gMapObjects
- adds r0, r1
- adds r1, r4, 0
- bl sub_805B980
-_0805BAB4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BABC: .4byte gMapObjects
- thumb_func_end unref_sub_805BA80
-
- thumb_func_start FieldObjectTurn
-FieldObjectTurn: @ 805BAC0
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- bl FieldObjectSetDirection
- ldrb r0, [r6, 0x1]
- lsls r0, 27
- cmp r0, 0
- blt _0805BB06
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, _0805BB0C @ =gSprites
- adds r4, r5
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrb r1, [r6, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- bl SeekSpriteAnim
-_0805BB06:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BB0C: .4byte gSprites
- thumb_func_end FieldObjectTurn
-
- thumb_func_start FieldObjectTurnByLocalIdAndMap
-FieldObjectTurnByLocalIdAndMap: @ 805BB10
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805BB44
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805BB4C @ =gMapObjects
- adds r0, r1
- adds r1, r4, 0
- bl FieldObjectTurn
-_0805BB44:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BB4C: .4byte gMapObjects
- thumb_func_end FieldObjectTurnByLocalIdAndMap
-
- thumb_func_start unref_sub_805BB50
-unref_sub_805BB50: @ 805BB50
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0x5]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805BB6C @ =gMapObjects
- adds r0, r2
- bl FieldObjectTurn
- pop {r0}
- bx r0
- .align 2, 0
-_0805BB6C: .4byte gMapObjects
- thumb_func_end unref_sub_805BB50
-
- thumb_func_start get_berry_tree_graphics
-get_berry_tree_graphics: @ 805BB70
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r5, 0x1]
- adds r4, r7, 0
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0x1D]
- bl GetStageByBerryTreeId
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0805BBFC
- ldrb r1, [r5, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0x1D]
- bl GetBerryTypeByBerryTreeId
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- subs r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r4, 0x2B
- bls _0805BBC4
- movs r4, 0
-_0805BBC4:
- ldr r0, _0805BC04 @ =gBerryTreeGraphicsIdTablePointers
- lsls r4, 2
- adds r0, r4, r0
- ldr r0, [r0]
- adds r0, r6
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_805B980
- ldr r0, _0805BC08 @ =gBerryTreePicTablePointers
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r7, 0xC]
- ldr r0, _0805BC0C @ =gBerryTreePaletteSlotTablePointers
- adds r4, r0
- ldr r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r7, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
- adds r0, r7, 0
- adds r1, r6, 0
- bl StartSpriteAnim
-_0805BBFC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BC04: .4byte gBerryTreeGraphicsIdTablePointers
-_0805BC08: .4byte gBerryTreePicTablePointers
-_0805BC0C: .4byte gBerryTreePaletteSlotTablePointers
- thumb_func_end get_berry_tree_graphics
-
- thumb_func_start GetFieldObjectGraphicsInfo
-GetFieldObjectGraphicsInfo: @ 805BC10
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xEF
- bls _0805BC28
- adds r0, r1, 0
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl VarGetFieldObjectGraphicsId
- adds r1, r0, 0
-_0805BC28:
- cmp r1, 0xD9
- bls _0805BC2E
- movs r1, 0x5
-_0805BC2E:
- ldr r0, _0805BC3C @ =gMapObjectGraphicsInfoPointers
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_0805BC3C: .4byte gMapObjectGraphicsInfoPointers
- thumb_func_end GetFieldObjectGraphicsInfo
-
- thumb_func_start FieldObjectHandleDynamicGraphicsId
-FieldObjectHandleDynamicGraphicsId: @ 805BC40
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x5]
- cmp r0, 0xEF
- bls _0805BC56
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl VarGetFieldObjectGraphicsId
- strb r0, [r4, 0x5]
-_0805BC56:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectHandleDynamicGraphicsId
-
- thumb_func_start npc_by_local_id_and_map_set_field_1_bit_x20
-npc_by_local_id_and_map_set_field_1_bit_x20: @ 805BC5C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805BC9E
- ldr r2, _0805BCA8 @ =gMapObjects
- mov r0, sp
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x1
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 5
- ldrb r3, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x1]
-_0805BC9E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BCA8: .4byte gMapObjects
- thumb_func_end npc_by_local_id_and_map_set_field_1_bit_x20
-
- thumb_func_start FieldObjectGetLocalIdAndMap
-FieldObjectGetLocalIdAndMap: @ 805BCAC
- push {r4,lr}
- ldrb r4, [r0, 0x8]
- strb r4, [r1]
- ldrb r1, [r0, 0x9]
- strb r1, [r2]
- ldrb r0, [r0, 0xA]
- strb r0, [r3]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectGetLocalIdAndMap
-
- thumb_func_start sub_805BCC0
-sub_805BCC0: @ 805BCC0
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetFieldObjectIdByXY
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _0805BCE8
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805BCEC @ =gMapObjects
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0805BCE8:
- pop {r0}
- bx r0
- .align 2, 0
-_0805BCEC: .4byte gMapObjects
- thumb_func_end sub_805BCC0
-
- thumb_func_start sub_805BCF0
-sub_805BCF0: @ 805BCF0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805BD36
- mov r0, sp
- ldrb r0, [r0]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- ldr r0, _0805BD40 @ =gMapObjects
- adds r2, r0
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805BD44 @ =gSprites
- adds r0, r1
- ldrb r1, [r2, 0x3]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x3]
- adds r0, 0x43
- strb r4, [r0]
-_0805BD36:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BD40: .4byte gMapObjects
-_0805BD44: .4byte gSprites
- thumb_func_end sub_805BCF0
-
- thumb_func_start sub_805BD48
-sub_805BD48: @ 805BD48
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805BD84
- mov r0, sp
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0805BD8C @ =gMapObjects
- adds r1, r0
- ldrb r2, [r1, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x3]
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_0805BD84:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0805BD8C: .4byte gMapObjects
- thumb_func_end sub_805BD48
-
- thumb_func_start sub_805BD90
-sub_805BD90: @ 805BD90
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, [sp, 0x10]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r4, 16
- lsrs r4, 16
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805BDD4
- ldr r2, _0805BDDC @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805BDE0 @ =gSprites
- adds r0, r1
- strh r5, [r0, 0x24]
- strh r4, [r0, 0x26]
-_0805BDD4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BDDC: .4byte gMapObjects
-_0805BDE0: .4byte gSprites
- thumb_func_end sub_805BD90
-
- thumb_func_start gpu_pal_allocator_reset__manage_upper_four
-gpu_pal_allocator_reset__manage_upper_four: @ 805BDE4
- push {lr}
- bl FreeAllSpritePalettes
- ldr r1, _0805BDF4 @ =gReservedSpritePaletteCount
- movs r0, 0xC
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0805BDF4: .4byte gReservedSpritePaletteCount
- thumb_func_end gpu_pal_allocator_reset__manage_upper_four
-
- thumb_func_start sub_805BDF8
-sub_805BDF8: @ 805BDF8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl FindFieldObjectPaletteIndexByTag
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _0805BE1C @ =0x000011ff
- cmp r1, r0
- beq _0805BE16
- lsls r0, r1, 3
- ldr r1, _0805BE20 @ =gUnknown_0837377C
- adds r0, r1
- bl sub_805BE58
-_0805BE16:
- pop {r0}
- bx r0
- .align 2, 0
-_0805BE1C: .4byte 0x000011ff
-_0805BE20: .4byte gUnknown_0837377C
- thumb_func_end sub_805BDF8
-
- thumb_func_start unref_sub_805BE24
-unref_sub_805BE24: @ 805BE24
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldrh r0, [r5]
- ldr r1, _0805BE54 @ =0x000011ff
- cmp r0, r1
- beq _0805BE4E
- adds r6, r1, 0
-_0805BE34:
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- bl sub_805BDF8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r6
- bne _0805BE34
-_0805BE4E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BE54: .4byte 0x000011ff
- thumb_func_end unref_sub_805BE24
-
- thumb_func_start sub_805BE58
-sub_805BE58: @ 805BE58
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0805BE76
- adds r0, r4, 0
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r0, 24
- b _0805BE78
-_0805BE76:
- movs r0, 0xFF
-_0805BE78:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805BE58
-
- thumb_func_start pal_patch_for_npc
-pal_patch_for_npc: @ 805BE80
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- bl FindFieldObjectPaletteIndexByTag
- lsls r0, 24
- ldr r1, _0805BEB4 @ =gUnknown_0837377C
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0]
- lsls r4, 20
- movs r1, 0x80
- lsls r1, 17
- adds r4, r1
- lsrs r4, 16
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805BEB4: .4byte gUnknown_0837377C
- thumb_func_end pal_patch_for_npc
-
- thumb_func_start pal_patch_for_npc_range
-pal_patch_for_npc_range: @ 805BEB8
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r4, r6
- bcs _0805BEDC
-_0805BEC8:
- ldrh r0, [r5]
- adds r1, r4, 0
- bl pal_patch_for_npc
- adds r5, 0x2
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0805BEC8
-_0805BEDC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pal_patch_for_npc_range
-
- thumb_func_start FindFieldObjectPaletteIndexByTag
-FindFieldObjectPaletteIndexByTag: @ 805BEE4
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r2, 0
- ldr r0, _0805BF0C @ =gUnknown_0837377C
- ldrh r1, [r0, 0x4]
- ldr r3, _0805BF10 @ =0x000011ff
- adds r4, r0, 0
- cmp r1, r3
- beq _0805BF24
- adds r6, r4, 0
- adds r1, r3, 0
-_0805BEFC:
- lsls r0, r2, 3
- adds r0, r6
- ldrh r0, [r0, 0x4]
- cmp r0, r5
- bne _0805BF14
- adds r0, r2, 0
- b _0805BF26
- .align 2, 0
-_0805BF0C: .4byte gUnknown_0837377C
-_0805BF10: .4byte 0x000011ff
-_0805BF14:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 3
- adds r0, r4
- ldrh r0, [r0, 0x4]
- cmp r0, r1
- bne _0805BEFC
-_0805BF24:
- movs r0, 0xFF
-_0805BF26:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end FindFieldObjectPaletteIndexByTag
-
- thumb_func_start npc_load_two_palettes__no_record
-npc_load_two_palettes__no_record: @ 805BF2C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl pal_patch_for_npc
- movs r3, 0
- ldr r1, _0805BF74 @ =gUnknown_08373874
- ldrh r0, [r1]
- ldr r2, _0805BF78 @ =0x000011ff
- cmp r0, r2
- beq _0805BF94
- ldr r0, _0805BF7C @ =gUnknown_0830FD14
- adds r5, r0
- adds r6, r2, 0
-_0805BF50:
- lsls r2, r3, 3
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r4
- bne _0805BF84
- adds r1, 0x4
- adds r1, r2, r1
- ldr r0, _0805BF80 @ =gUnknown_030005A4
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrb r1, [r5]
- bl pal_patch_for_npc
- b _0805BF94
- .align 2, 0
-_0805BF74: .4byte gUnknown_08373874
-_0805BF78: .4byte 0x000011ff
-_0805BF7C: .4byte gUnknown_0830FD14
-_0805BF80: .4byte gUnknown_030005A4
-_0805BF84:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- bne _0805BF50
-_0805BF94:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end npc_load_two_palettes__no_record
-
- thumb_func_start npc_load_two_palettes__and_record
-npc_load_two_palettes__and_record: @ 805BF9C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _0805BFE8 @ =gUnknown_030005A6
- strh r4, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl pal_patch_for_npc
- movs r3, 0
- ldr r1, _0805BFEC @ =gUnknown_083738E4
- ldrh r0, [r1]
- ldr r2, _0805BFF0 @ =0x000011ff
- cmp r0, r2
- beq _0805C00C
- ldr r0, _0805BFF4 @ =gUnknown_0830FD14
- adds r5, r0
- adds r6, r2, 0
-_0805BFC4:
- lsls r2, r3, 3
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r4
- bne _0805BFFC
- adds r1, 0x4
- adds r1, r2, r1
- ldr r0, _0805BFF8 @ =gUnknown_030005A4
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrb r1, [r5]
- bl pal_patch_for_npc
- b _0805C00C
- .align 2, 0
-_0805BFE8: .4byte gUnknown_030005A6
-_0805BFEC: .4byte gUnknown_083738E4
-_0805BFF0: .4byte 0x000011ff
-_0805BFF4: .4byte gUnknown_0830FD14
-_0805BFF8: .4byte gUnknown_030005A4
-_0805BFFC:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- bne _0805BFC4
-_0805C00C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end npc_load_two_palettes__and_record
-
- thumb_func_start unref_sub_805C014
-unref_sub_805C014: @ 805C014
- push {r4,lr}
- ldrh r3, [r0, 0x10]
- strh r3, [r0, 0x14]
- ldrh r4, [r0, 0x12]
- strh r4, [r0, 0x16]
- lsls r1, 16
- asrs r1, 16
- adds r1, r3
- strh r1, [r0, 0x10]
- lsls r2, 16
- asrs r2, 16
- adds r2, r4
- strh r2, [r0, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_805C014
-
- thumb_func_start npc_coords_shift
-npc_coords_shift: @ 805C034
- ldrh r3, [r0, 0x10]
- strh r3, [r0, 0x14]
- ldrh r3, [r0, 0x12]
- strh r3, [r0, 0x16]
- strh r1, [r0, 0x10]
- strh r2, [r0, 0x12]
- bx lr
- thumb_func_end npc_coords_shift
-
- thumb_func_start npc_coords_set
-npc_coords_set: @ 805C044
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- strh r1, [r0, 0x14]
- strh r2, [r0, 0x16]
- strh r1, [r0, 0x10]
- strh r2, [r0, 0x12]
- bx lr
- thumb_func_end npc_coords_set
-
- thumb_func_start sub_805C058
-sub_805C058: @ 805C058
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldrb r1, [r6, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805C0F4 @ =gSprites
- adds r7, r0, r1
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- mov r8, r0
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl npc_coords_set
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- adds r2, r7, 0
- adds r2, 0x20
- adds r3, r7, 0
- adds r3, 0x22
- bl sub_80603CC
- mov r1, r8
- ldrh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r7, 0
- adds r1, 0x28
- strb r0, [r1]
- mov r2, r8
- ldrh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r2, r7, 0
- adds r2, 0x29
- strb r0, [r2]
- ldrh r0, [r7, 0x20]
- adds r0, 0x8
- strh r0, [r7, 0x20]
- ldrh r1, [r7, 0x22]
- adds r1, 0x10
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- strh r0, [r7, 0x22]
- adds r0, r6, 0
- bl sub_805B914
- ldrb r0, [r6, 0x1]
- lsrs r0, 7
- cmp r0, 0
- beq _0805C0EA
- bl CameraObjectReset1
-_0805C0EA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C0F4: .4byte gSprites
- thumb_func_end sub_805C058
-
- thumb_func_start sub_805C0F8
-sub_805C0F8: @ 805C0F8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, [sp, 0x10]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r4, 16
- lsrs r4, 16
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805C140
- lsls r1, r5, 16
- lsls r2, r4, 16
- mov r0, sp
- ldrb r3, [r0]
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- ldr r3, _0805C148 @ =gMapObjects
- adds r0, r3
- movs r3, 0xE0
- lsls r3, 11
- adds r1, r3
- asrs r1, 16
- adds r2, r3
- asrs r2, 16
- bl sub_805C058
-_0805C140:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C148: .4byte gMapObjects
- thumb_func_end sub_805C0F8
-
- thumb_func_start npc_coords_shift_still
-npc_coords_shift_still: @ 805C14C
- push {lr}
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- movs r3, 0x12
- ldrsh r2, [r0, r3]
- bl npc_coords_shift
- pop {r0}
- bx r0
- thumb_func_end npc_coords_shift_still
-
- thumb_func_start UpdateFieldObjectCoordsForCameraUpdate
-UpdateFieldObjectCoordsForCameraUpdate: @ 805C160
- push {r4,r5,lr}
- ldr r2, _0805C1C0 @ =gUnknown_0202E844
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805C1B8
- movs r3, 0
- ldr r5, _0805C1C4 @ =gMapObjects
- movs r0, 0x4
- ldrsh r4, [r2, r0]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
-_0805C17A:
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- adds r2, r0, r5
- ldrb r0, [r2]
- lsls r0, 31
- cmp r0, 0
- beq _0805C1AE
- ldrh r0, [r2, 0xC]
- subs r0, r4
- strh r0, [r2, 0xC]
- ldrh r0, [r2, 0xE]
- subs r0, r1
- strh r0, [r2, 0xE]
- ldrh r0, [r2, 0x10]
- subs r0, r4
- strh r0, [r2, 0x10]
- ldrh r0, [r2, 0x12]
- subs r0, r1
- strh r0, [r2, 0x12]
- ldrh r0, [r2, 0x14]
- subs r0, r4
- strh r0, [r2, 0x14]
- ldrh r0, [r2, 0x16]
- subs r0, r1
- strh r0, [r2, 0x16]
-_0805C1AE:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _0805C17A
-_0805C1B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C1C0: .4byte gUnknown_0202E844
-_0805C1C4: .4byte gMapObjects
- thumb_func_end UpdateFieldObjectCoordsForCameraUpdate
-
- thumb_func_start GetFieldObjectIdByXYZ
-GetFieldObjectIdByXYZ: @ 805C1C8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 24
- lsrs r5, r2, 24
- movs r4, 0
- ldr r0, _0805C214 @ =gMapObjects
- mov r8, r0
-_0805C1E0:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- mov r2, r8
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _0805C218
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- cmp r0, r7
- bne _0805C218
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r0, r6
- bne _0805C218
- adds r0, r1, 0
- adds r1, r5, 0
- bl FieldObjectDoesZCoordMatch
- lsls r0, 24
- cmp r0, 0
- beq _0805C218
- adds r0, r4, 0
- b _0805C224
- .align 2, 0
-_0805C214: .4byte gMapObjects
-_0805C218:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0805C1E0
- movs r0, 0x10
-_0805C224:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectIdByXYZ
-
- thumb_func_start FieldObjectDoesZCoordMatch
-FieldObjectDoesZCoordMatch: @ 805C230
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xB]
- movs r0, 0xF
- ands r0, r2
- cmp r0, 0
- beq _0805C250
- cmp r1, 0
- beq _0805C250
- lsls r0, r2, 28
- lsrs r0, 28
- cmp r0, r1
- beq _0805C250
- movs r0, 0
- b _0805C252
-_0805C250:
- movs r0, 0x1
-_0805C252:
- pop {r1}
- bx r1
- thumb_func_end FieldObjectDoesZCoordMatch
-
- thumb_func_start UpdateFieldObjectsForCameraUpdate
-UpdateFieldObjectsForCameraUpdate: @ 805C258
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl UpdateFieldObjectCoordsForCameraUpdate
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805B55C
- bl RemoveFieldObjectsOutsideView
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end UpdateFieldObjectsForCameraUpdate
-
- thumb_func_start AddCameraObject
-AddCameraObject: @ 805C284
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0805C2C0 @ =gSpriteTemplate_830FD24
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0805C2C4 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0x3E
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- strh r4, [r1, 0x2E]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C2C0: .4byte gSpriteTemplate_830FD24
-_0805C2C4: .4byte gSprites
- thumb_func_end AddCameraObject
-
- thumb_func_start ObjectCB_CameraObject
-ObjectCB_CameraObject: @ 805C2C8
- push {r4,r5,lr}
- sub sp, 0xC
- mov r2, sp
- ldr r1, _0805C2EC @ =gUnknown_0830FD3C
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- movs r2, 0x30
- ldrsh r1, [r0, r2]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- bl _call_via_r1
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C2EC: .4byte gUnknown_0830FD3C
- thumb_func_end ObjectCB_CameraObject
-
- thumb_func_start CameraObject_0
-CameraObject_0: @ 805C2F0
- push {lr}
- ldr r3, _0805C328 @ =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r1, [r1, 0x20]
- strh r1, [r0, 0x20]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x22]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x1
- strh r1, [r0, 0x30]
- bl CameraObject_1
- pop {r0}
- bx r0
- .align 2, 0
-_0805C328: .4byte gSprites
- thumb_func_end CameraObject_0
-
- thumb_func_start CameraObject_1
-CameraObject_1: @ 805C32C
- push {r4,r5,lr}
- ldr r3, _0805C360 @ =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r3, [r1, 0x22]
- ldrh r2, [r0, 0x20]
- ldrh r4, [r1, 0x20]
- movs r5, 0x20
- ldrsh r1, [r1, r5]
- subs r1, r2
- strh r1, [r0, 0x32]
- ldrh r2, [r0, 0x22]
- lsls r1, r3, 16
- asrs r1, 16
- subs r1, r2
- strh r1, [r0, 0x34]
- strh r4, [r0, 0x20]
- strh r3, [r0, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C360: .4byte gSprites
- thumb_func_end CameraObject_1
-
- thumb_func_start CameraObject_2
-CameraObject_2: @ 805C364
- push {r4,lr}
- ldr r4, _0805C390 @ =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x20]
- movs r3, 0
- strh r1, [r0, 0x20]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x22]
- strh r3, [r0, 0x32]
- strh r3, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C390: .4byte gSprites
- thumb_func_end CameraObject_2
-
- thumb_func_start FindCameraObject
-FindCameraObject: @ 805C394
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, _0805C3C0 @ =gSprites
- adds r5, r4, 0
- adds r5, 0x1C
-_0805C39E:
- lsls r0, r3, 4
- adds r0, r3
- lsls r1, r0, 2
- adds r2, r1, r4
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0805C3C8
- adds r0, r1, r5
- ldr r1, [r0]
- ldr r0, _0805C3C4 @ =ObjectCB_CameraObject
- cmp r1, r0
- bne _0805C3C8
- adds r0, r2, 0
- b _0805C3D4
- .align 2, 0
-_0805C3C0: .4byte gSprites
-_0805C3C4: .4byte ObjectCB_CameraObject
-_0805C3C8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3F
- bls _0805C39E
- movs r0, 0
-_0805C3D4:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FindCameraObject
-
- thumb_func_start CameraObjectReset1
-CameraObjectReset1: @ 805C3DC
- push {lr}
- bl FindCameraObject
- adds r2, r0, 0
- cmp r2, 0
- beq _0805C3F4
- movs r0, 0
- strh r0, [r2, 0x30]
- ldr r1, [r2, 0x1C]
- adds r0, r2, 0
- bl _call_via_r1
-_0805C3F4:
- pop {r0}
- bx r0
- thumb_func_end CameraObjectReset1
-
- thumb_func_start CameraObjectSetFollowedObjectId
-CameraObjectSetFollowedObjectId: @ 805C3F8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl FindCameraObject
- cmp r0, 0
- beq _0805C40C
- strh r4, [r0, 0x2E]
- bl CameraObjectReset1
-_0805C40C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CameraObjectSetFollowedObjectId
-
- thumb_func_start CameraObjectGetFollowedObjectId
-CameraObjectGetFollowedObjectId: @ 805C414
- push {lr}
- bl FindCameraObject
- cmp r0, 0
- beq _0805C426
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- b _0805C428
-_0805C426:
- movs r0, 0x40
-_0805C428:
- pop {r1}
- bx r1
- thumb_func_end CameraObjectGetFollowedObjectId
-
- thumb_func_start CameraObjectReset2
-CameraObjectReset2: @ 805C42C
- push {lr}
- bl FindCameraObject
- movs r1, 0x2
- strh r1, [r0, 0x30]
- pop {r0}
- bx r0
- thumb_func_end CameraObjectReset2
-
- thumb_func_start unref_sub_805C43C
-unref_sub_805C43C: @ 805C43C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r3, 24
- lsrs r7, r3, 24
- movs r5, 0
- ldr r1, _0805C484 @ =gSprites
-_0805C456:
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _0805C488
- adds r0, r4, 0
- mov r1, r12
- movs r2, 0x44
- bl memcpy
- mov r0, r8
- strh r0, [r4, 0x20]
- strh r6, [r4, 0x22]
- adds r0, r4, 0
- adds r0, 0x43
- strb r7, [r0]
- b _0805C492
- .align 2, 0
-_0805C484: .4byte gSprites
-_0805C488:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3F
- bls _0805C456
-_0805C492:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_805C43C
-
- thumb_func_start obj_unfreeze
-obj_unfreeze: @ 805C4A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r3, 24
- lsrs r7, r3, 24
- movs r5, 0x3F
- ldr r3, _0805C4F4 @ =gSprites
- movs r2, 0x1
- negs r2, r2
-_0805C4BE:
- lsls r0, r5, 16
- asrs r1, r0, 16
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r3
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _0805C4F8
- adds r0, r4, 0
- mov r1, r12
- movs r2, 0x44
- bl memcpy
- mov r0, r8
- strh r0, [r4, 0x20]
- strh r6, [r4, 0x22]
- adds r0, r4, 0
- adds r0, 0x43
- strb r7, [r0]
- lsls r0, r5, 24
- lsrs r0, 24
- b _0805C506
- .align 2, 0
-_0805C4F4: .4byte gSprites
-_0805C4F8:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, r2
- bgt _0805C4BE
- movs r0, 0x40
-_0805C506:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end obj_unfreeze
-
- thumb_func_start FieldObjectSetDirection
-FieldObjectSetDirection: @ 805C510
- push {r4,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- adds r4, r2, 0
- ldrb r0, [r3, 0x18]
- lsls r0, 28
- lsrs r0, 28
- adds r1, r3, 0
- adds r1, 0x20
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- lsls r0, 30
- cmp r0, 0
- blt _0805C540
- movs r0, 0xF
- adds r1, r2, 0
- ands r1, r0
- ldrb r2, [r3, 0x18]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x18]
-_0805C540:
- lsls r2, r4, 4
- ldrb r1, [r3, 0x18]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectSetDirection
-
- thumb_func_start GetFieldObjectScriptPointerByLocalIdAndMap
-GetFieldObjectScriptPointerByLocalIdAndMap: @ 805C554
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- bl GetFieldObjectTemplateByLocalIdAndMap
- ldr r0, [r0, 0x10]
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectScriptPointerByLocalIdAndMap
-
- thumb_func_start GetFieldObjectScriptPointerByFieldObjectId
-GetFieldObjectScriptPointerByFieldObjectId: @ 805C56C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805C58C @ =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r0, [r2, 0x8]
- ldrb r1, [r2, 0x9]
- ldrb r2, [r2, 0xA]
- bl GetFieldObjectScriptPointerByLocalIdAndMap
- pop {r1}
- bx r1
- .align 2, 0
-_0805C58C: .4byte gMapObjects
- thumb_func_end GetFieldObjectScriptPointerByFieldObjectId
-
- thumb_func_start GetFieldObjectFlagIdByLocalIdAndMap
-GetFieldObjectFlagIdByLocalIdAndMap: @ 805C590
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- bl GetFieldObjectTemplateByLocalIdAndMap
- ldrh r0, [r0, 0x14]
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectFlagIdByLocalIdAndMap
-
- thumb_func_start GetFieldObjectFlagIdByFieldObjectId
-GetFieldObjectFlagIdByFieldObjectId: @ 805C5A8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805C5CC @ =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r0, [r2, 0x8]
- ldrb r1, [r2, 0x9]
- ldrb r2, [r2, 0xA]
- bl GetFieldObjectFlagIdByLocalIdAndMap
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_0805C5CC: .4byte gMapObjects
- thumb_func_end GetFieldObjectFlagIdByFieldObjectId
-
- thumb_func_start unref_sub_805C5D0
-unref_sub_805C5D0: @ 805C5D0
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805C604
- ldr r2, _0805C600 @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x7]
- b _0805C606
- .align 2, 0
-_0805C600: .4byte gMapObjects
-_0805C604:
- movs r0, 0xFF
-_0805C606:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end unref_sub_805C5D0
-
- thumb_func_start unref_sub_805C60C
-unref_sub_805C60C: @ 805C60C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0805C620 @ =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x7]
- bx lr
- .align 2, 0
-_0805C620: .4byte gMapObjects
- thumb_func_end unref_sub_805C60C
-
- thumb_func_start unref_sub_805C624
-unref_sub_805C624: @ 805C624
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805C658
- ldr r2, _0805C654 @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1D]
- b _0805C65A
- .align 2, 0
-_0805C654: .4byte gMapObjects
-_0805C658:
- movs r0, 0xFF
-_0805C65A:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end unref_sub_805C624
-
- thumb_func_start FieldObjectGetBerryTreeId
-FieldObjectGetBerryTreeId: @ 805C660
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0805C674 @ =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1D]
- bx lr
- .align 2, 0
-_0805C674: .4byte gMapObjects
- thumb_func_end FieldObjectGetBerryTreeId
-
- thumb_func_start GetFieldObjectTemplateByLocalIdAndMap
-GetFieldObjectTemplateByLocalIdAndMap: @ 805C678
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r1, _0805C6A4 @ =gSaveBlock1
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, r3
- bne _0805C6AC
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, r2
- bne _0805C6AC
- movs r0, 0xC2
- lsls r0, 4
- adds r1, r0
- ldr r0, _0805C6A8 @ =gMapHeader
- ldr r0, [r0, 0x4]
- b _0805C6B8
- .align 2, 0
-_0805C6A4: .4byte gSaveBlock1
-_0805C6A8: .4byte gMapHeader
-_0805C6AC:
- adds r0, r2, 0
- adds r1, r3, 0
- bl get_mapheader_by_bank_and_number
- ldr r0, [r0, 0x4]
- ldr r1, [r0, 0x4]
-_0805C6B8:
- ldrb r2, [r0]
- adds r0, r4, 0
- bl FindFieldObjectTemplateInArrayByLocalId
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectTemplateByLocalIdAndMap
-
- thumb_func_start FindFieldObjectTemplateInArrayByLocalId
-FindFieldObjectTemplateInArrayByLocalId: @ 805C6C8
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- cmp r1, r2
- bcs _0805C6F6
-_0805C6DA:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r5
- ldrb r0, [r3]
- cmp r0, r4
- bne _0805C6EC
- adds r0, r3, 0
- b _0805C6F8
-_0805C6EC:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcc _0805C6DA
-_0805C6F6:
- movs r0, 0
-_0805C6F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FindFieldObjectTemplateInArrayByLocalId
-
- thumb_func_start sub_805C700
-sub_805C700: @ 805C700
- push {r4,r5,lr}
- adds r2, r0, 0
- ldrb r1, [r2, 0x9]
- ldr r4, _0805C720 @ =gSaveBlock1
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- adds r5, r4, 0
- cmp r1, r0
- bne _0805C74A
- ldrb r1, [r2, 0xA]
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- cmp r1, r0
- beq _0805C72E
- b _0805C74A
- .align 2, 0
-_0805C720: .4byte gSaveBlock1
-_0805C724:
- movs r1, 0xC2
- lsls r1, 4
- adds r0, r5, r1
- adds r0, r2, r0
- b _0805C74C
-_0805C72E:
- movs r3, 0
- ldrb r0, [r2, 0x8]
- movs r2, 0xC2
- lsls r2, 4
- adds r1, r4, r2
- movs r2, 0
-_0805C73A:
- ldrb r4, [r1]
- cmp r0, r4
- beq _0805C724
- adds r1, 0x18
- adds r2, 0x18
- adds r3, 0x1
- cmp r3, 0x3F
- ble _0805C73A
-_0805C74A:
- movs r0, 0
-_0805C74C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805C700
-
- thumb_func_start sub_805C754
-sub_805C754: @ 805C754
- push {r4,lr}
- adds r4, r0, 0
- bl sub_805C700
- adds r1, r0, 0
- cmp r1, 0
- beq _0805C76E
- ldrh r0, [r4, 0x10]
- subs r0, 0x7
- strh r0, [r1, 0x4]
- ldrh r0, [r4, 0x12]
- subs r0, 0x7
- strh r0, [r1, 0x6]
-_0805C76E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C754
-
- thumb_func_start sub_805C774
-sub_805C774: @ 805C774
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_805C700
- cmp r0, 0
- beq _0805C784
- strb r4, [r0, 0x9]
-_0805C784:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C774
-
- thumb_func_start sub_805C78C
-sub_805C78C: @ 805C78C
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0805C7BA
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805C7C0 @ =gMapObjects
- adds r0, r1
- bl sub_805C754
-_0805C7BA:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0805C7C0: .4byte gMapObjects
- thumb_func_end sub_805C78C
-
- thumb_func_start sub_805C7C4
-sub_805C7C4: @ 805C7C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl gpu_pal_allocator_reset__manage_upper_four
- ldr r1, _0805C7F4 @ =gUnknown_030005A6
- ldr r2, _0805C7F8 @ =0x000011ff
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0805C7FC @ =gUnknown_030005A4
- strb r4, [r0]
- ldr r1, _0805C800 @ =gUnknown_0837399C
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0xA
- bl pal_patch_for_npc_range
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C7F4: .4byte gUnknown_030005A6
-_0805C7F8: .4byte 0x000011ff
-_0805C7FC: .4byte gUnknown_030005A4
-_0805C800: .4byte gUnknown_0837399C
- thumb_func_end sub_805C7C4
-
- thumb_func_start npc_paltag_by_palslot
-npc_paltag_by_palslot: @ 805C804
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x9
- bhi _0805C840
- ldr r1, _0805C820 @ =gUnknown_0837399C
- ldr r0, _0805C824 @ =gUnknown_030005A4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r2, 1
- b _0805C834
- .align 2, 0
-_0805C820: .4byte gUnknown_0837399C
-_0805C824: .4byte gUnknown_030005A4
-_0805C828:
- adds r1, r4, 0x4
- adds r1, r2, r1
- ldr r0, _0805C83C @ =gUnknown_030005A4
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 1
-_0805C834:
- adds r0, r1
- ldrh r0, [r0]
- b _0805C872
- .align 2, 0
-_0805C83C: .4byte gUnknown_030005A4
-_0805C840:
- movs r3, 0
- ldr r0, _0805C878 @ =gUnknown_083738E4
- ldrh r1, [r0]
- ldr r2, _0805C87C @ =0x000011ff
- adds r4, r0, 0
- cmp r1, r2
- beq _0805C870
- adds r6, r4, 0
- ldr r0, _0805C880 @ =gUnknown_030005A6
- ldrh r1, [r0]
- adds r5, r2, 0
-_0805C856:
- lsls r2, r3, 3
- adds r0, r2, r6
- ldrh r0, [r0]
- cmp r0, r1
- beq _0805C828
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r5
- bne _0805C856
-_0805C870:
- ldr r0, _0805C87C @ =0x000011ff
-_0805C872:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C878: .4byte gUnknown_083738E4
-_0805C87C: .4byte 0x000011ff
-_0805C880: .4byte gUnknown_030005A6
- thumb_func_end npc_paltag_by_palslot
-
- thumb_func_start sub_805C884
-sub_805C884: @ 805C884
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805C8A0 @ =gMapObjects
- adds r0, r2
- ldr r2, _0805C8A4 @ =sub_805C8A8
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805C8A0: .4byte gMapObjects
-_0805C8A4: .4byte sub_805C8A8
- thumb_func_end sub_805C884
-
- thumb_func_start sub_805C8A8
-sub_805C8A8: @ 805C8A8
- movs r0, 0
- bx lr
- thumb_func_end sub_805C8A8
-
- thumb_func_start sub_805C8AC
-sub_805C8AC: @ 805C8AC
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805C8C8 @ =gMapObjects
- adds r0, r2
- ldr r2, _0805C8CC @ =sub_805C8D0
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805C8C8: .4byte gMapObjects
-_0805C8CC: .4byte sub_805C8D0
- thumb_func_end sub_805C8AC
-
- thumb_func_start sub_805C8D0
-sub_805C8D0: @ 805C8D0
- push {r4,lr}
- ldr r3, _0805C8EC @ =gUnknown_08375224
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C8EC: .4byte gUnknown_08375224
- thumb_func_end sub_805C8D0
-
- thumb_func_start sub_805C8F0
-sub_805C8F0: @ 805C8F0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805C8F0
-
- thumb_func_start sub_805C904
-sub_805C904: @ 805C904
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805C904
-
thumb_func_start sub_805C930
sub_805C930: @ 805C930
push {r4-r6,lr}