diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_map_obj.s | 1371 |
1 files changed, 5 insertions, 1366 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index d54b57fed..4cb35a56c 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -6,1372 +6,6 @@ .text - thumb_func_start sub_805C930 -sub_805C930: @ 805C930 - push {r4-r6,lr} - adds r6, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805C964 - ldr r5, _0805C960 @ =gUnknown_0837520C - bl Random - movs r4, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r6, 0 - bl sub_8064820 - strh r4, [r6, 0x30] - movs r0, 0x1 - b _0805C966 - .align 2, 0 -_0805C960: .4byte gUnknown_0837520C -_0805C964: - movs r0, 0 -_0805C966: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805C930 - - thumb_func_start sub_805C96C -sub_805C96C: @ 805C96C - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl sub_8064824 - lsls r0, 24 - cmp r0, 0 - bne _0805C980 - movs r0, 0 - b _0805C986 -_0805C980: - movs r0, 0x4 - strh r0, [r4, 0x30] - movs r0, 0x1 -_0805C986: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805C96C - - thumb_func_start sub_805C98C -sub_805C98C: @ 805C98C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _0805C9D4 @ =gUnknown_08375240 - mov r0, sp - movs r2, 0x4 - bl memcpy - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r4, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl FieldObjectSetDirection - movs r0, 0x5 - strh r0, [r6, 0x30] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_805FF20 - lsls r0, 24 - cmp r0, 0 - beq _0805C9CA - movs r0, 0x1 - strh r0, [r6, 0x30] -_0805C9CA: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805C9D4: .4byte gUnknown_08375240 - thumb_func_end sub_805C98C - - thumb_func_start sub_805C9D8 -sub_805C9D8: @ 805C9D8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetGoSpeed0AnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetRegularAnim - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x6 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805C9D8 - - thumb_func_start sub_805CA08 -sub_805CA08: @ 805CA08 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805CA26 - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_0805CA26: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805CA08 - - thumb_func_start FieldObjectIsTrainerAndCloseToPlayer -FieldObjectIsTrainerAndCloseToPlayer: @ 805CA30 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r0, 0x80 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0805CA9C - ldrb r0, [r5, 0x7] - cmp r0, 0x1 - beq _0805CA4C - cmp r0, 0x3 - bne _0805CA9C -_0805CA4C: - mov r7, sp - adds r7, 0x2 - mov r0, sp - adds r1, r7, 0 - bl PlayerGetDestCoords - ldrh r2, [r5, 0x10] - ldrh r4, [r5, 0x12] - ldrb r1, [r5, 0x1D] - subs r3, r2, r1 - subs r0, r4, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r2, r1, r2 - lsls r2, 16 - lsrs r2, 16 - adds r1, r4 - lsls r1, 16 - lsrs r6, r1, 16 - mov r0, sp - lsls r3, 16 - asrs r3, 16 - movs r1, 0 - ldrsh r4, [r0, r1] - cmp r3, r4 - bgt _0805CA9C - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r4 - blt _0805CA9C - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0 - ldrsh r1, [r7, r2] - cmp r0, r1 - bgt _0805CA9C - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, r1 - bge _0805CAA0 -_0805CA9C: - movs r0, 0 - b _0805CAA2 -_0805CAA0: - movs r0, 0x1 -_0805CAA2: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end FieldObjectIsTrainerAndCloseToPlayer - - thumb_func_start sub_805CAAC -sub_805CAAC: @ 805CAAC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsls r3, 16 - cmp r2, r3 - ble _0805CACA - movs r2, 0x4 - lsls r0, r4, 16 - cmp r0, 0 - bge _0805CAD4 - movs r2, 0x3 - b _0805CAD4 -_0805CACA: - movs r2, 0x1 - lsls r0, 16 - cmp r0, 0 - bge _0805CAD4 - movs r2, 0x2 -_0805CAD4: - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805CAAC - - thumb_func_start sub_805CADC -sub_805CADC: @ 805CADC - push {lr} - movs r0, 0x1 - lsls r1, 16 - cmp r1, 0 - bge _0805CAE8 - movs r0, 0x2 -_0805CAE8: - pop {r1} - bx r1 - thumb_func_end sub_805CADC - - thumb_func_start sub_805CAEC -sub_805CAEC: @ 805CAEC - push {lr} - movs r1, 0x4 - lsls r0, 16 - cmp r0, 0 - bge _0805CAF8 - movs r1, 0x3 -_0805CAF8: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_805CAEC - - thumb_func_start sub_805CB00 -sub_805CB00: @ 805CB00 - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805CB3C - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0805CB56 - b _0805CB54 -_0805CB3C: - cmp r0, 0x4 - bne _0805CB56 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CADC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805CB56 -_0805CB54: - movs r0, 0x2 -_0805CB56: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CB00 - - thumb_func_start sub_805CB5C -sub_805CB5C: @ 805CB5C - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805CB98 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0805CBB2 - b _0805CBB0 -_0805CB98: - cmp r0, 0x3 - bne _0805CBB2 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CADC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805CBB2 -_0805CBB0: - movs r0, 0x2 -_0805CBB2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CB5C - - thumb_func_start sub_805CBB8 -sub_805CBB8: @ 805CBB8 - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805CBF4 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0805CC0E - b _0805CC0C -_0805CBF4: - cmp r0, 0x4 - bne _0805CC0E - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CADC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805CC0E -_0805CC0C: - movs r0, 0x1 -_0805CC0E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CBB8 - - thumb_func_start sub_805CC14 -sub_805CC14: @ 805CC14 - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805CC50 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CAEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0805CC6A - b _0805CC68 -_0805CC50: - cmp r0, 0x3 - bne _0805CC6A - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_805CADC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805CC6A -_0805CC68: - movs r0, 0x1 -_0805CC6A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CC14 - - thumb_func_start sub_805CC70 -sub_805CC70: @ 805CC70 - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0805CCA6 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CADC - lsls r0, 24 - lsrs r0, 24 -_0805CCA6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CC70 - - thumb_func_start sub_805CCAC -sub_805CCAC: @ 805CCAC - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0805CCE2 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CADC - lsls r0, 24 - lsrs r0, 24 -_0805CCE2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CCAC - - thumb_func_start sub_805CCE8 -sub_805CCE8: @ 805CCE8 - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805CD1E - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CAEC - lsls r0, 24 - lsrs r0, 24 -_0805CD1E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CCE8 - - thumb_func_start sub_805CD24 -sub_805CD24: @ 805CD24 - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CAAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805CD5A - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_805CAEC - lsls r0, 24 - lsrs r0, 24 -_0805CD5A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805CD24 - - thumb_func_start sub_805CD60 -sub_805CD60: @ 805CD60 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - bl FieldObjectIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - bne _0805CD78 - movs r0, 0 - b _0805CDDC -_0805CD78: - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - mov r2, sp - mov r0, sp - ldrh r0, [r0] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r5] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r5] - mov r0, sp - ldrh r3, [r5] - ldrh r2, [r0] - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0805CDAC - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 -_0805CDAC: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0 - bge _0805CDBA - negs r0, r0 - lsls r0, 16 - lsrs r3, r0, 16 -_0805CDBA: - ldr r0, _0805CDE4 @ =gUnknown_08375244 - lsls r4, r6, 2 - adds r4, r0 - mov r0, sp - movs r6, 0 - ldrsh r0, [r0, r6] - movs r6, 0 - ldrsh r1, [r5, r6] - lsls r2, 16 - asrs r2, 16 - lsls r3, 16 - asrs r3, 16 - ldr r4, [r4] - bl _call_via_r4 - lsls r0, 24 - lsrs r0, 24 -_0805CDDC: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805CDE4: .4byte gUnknown_08375244 - thumb_func_end sub_805CD60 - - thumb_func_start sub_805CDE8 -sub_805CDE8: @ 805CDE8 - 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, _0805CE04 @ =gMapObjects - adds r0, r2 - ldr r2, _0805CE08 @ =sub_805CE0C - bl meta_step - pop {r0} - bx r0 - .align 2, 0 -_0805CE04: .4byte gMapObjects -_0805CE08: .4byte sub_805CE0C - thumb_func_end sub_805CDE8 - - thumb_func_start sub_805CE0C -sub_805CE0C: @ 805CE0C - push {r4,lr} - ldr r3, _0805CE28 @ =gUnknown_08375270 - 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 -_0805CE28: .4byte gUnknown_08375270 - thumb_func_end sub_805CE0C - - thumb_func_start sub_805CE2C -sub_805CE2C: @ 805CE2C - 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_805CE2C - - thumb_func_start sub_805CE40 -sub_805CE40: @ 805CE40 - 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_805CE40 - - thumb_func_start sub_805CE6C -sub_805CE6C: @ 805CE6C - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805CEA2 - ldr r4, _0805CEAC @ =gUnknown_0837520C - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl sub_8064820 - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_0805CEA2: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805CEAC: .4byte gUnknown_0837520C - thumb_func_end sub_805CE6C - - thumb_func_start sub_805CEB0 -sub_805CEB0: @ 805CEB0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl sub_8064824 - lsls r0, 24 - cmp r0, 0 - bne _0805CECE - adds r0, r4, 0 - bl FieldObjectIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _0805CED6 -_0805CECE: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _0805CED8 -_0805CED6: - movs r0, 0 -_0805CED8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805CEB0 - - thumb_func_start sub_805CEE0 -sub_805CEE0: @ 805CEE0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _0805CF24 @ =gUnknown_08375240 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - movs r1, 0 - bl sub_805CD60 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0805CF10 - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_0805CF10: - adds r0, r4, 0 - bl FieldObjectSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805CF24: .4byte gUnknown_08375240 - thumb_func_end sub_805CEE0 - - thumb_func_start sub_805CF28 -sub_805CF28: @ 805CF28 - 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, _0805CF44 @ =gMapObjects - adds r0, r2 - ldr r2, _0805CF48 @ =sub_805CF4C - bl meta_step - pop {r0} - bx r0 - .align 2, 0 -_0805CF44: .4byte gMapObjects -_0805CF48: .4byte sub_805CF4C - thumb_func_end sub_805CF28 - - thumb_func_start sub_805CF4C -sub_805CF4C: @ 805CF4C - push {r4,lr} - ldr r3, _0805CF68 @ =gUnknown_08375284 - 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 -_0805CF68: .4byte gUnknown_08375284 - thumb_func_end sub_805CF4C - - thumb_func_start sub_805CF6C -sub_805CF6C: @ 805CF6C - 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_805CF6C - - thumb_func_start sub_805CF80 -sub_805CF80: @ 805CF80 - 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_805CF80 - - thumb_func_start sub_805CFAC -sub_805CFAC: @ 805CFAC - push {r4-r6,lr} - adds r6, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805CFE0 - ldr r5, _0805CFDC @ =gUnknown_0837520C - bl Random - movs r4, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r6, 0 - bl sub_8064820 - strh r4, [r6, 0x30] - movs r0, 0x1 - b _0805CFE2 - .align 2, 0 -_0805CFDC: .4byte gUnknown_0837520C -_0805CFE0: - movs r0, 0 -_0805CFE2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805CFAC - - thumb_func_start sub_805CFE8 -sub_805CFE8: @ 805CFE8 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl sub_8064824 - lsls r0, 24 - cmp r0, 0 - bne _0805CFFC - movs r0, 0 - b _0805D002 -_0805CFFC: - movs r0, 0x4 - strh r0, [r4, 0x30] - movs r0, 0x1 -_0805D002: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805CFE8 - - thumb_func_start sub_805D008 -sub_805D008: @ 805D008 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _0805D050 @ =gUnknown_083752A0 - mov r0, sp - movs r2, 0x2 - bl memcpy - bl Random - movs r7, 0x1 - adds r1, r7, 0 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r4, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl FieldObjectSetDirection - movs r0, 0x5 - strh r0, [r6, 0x30] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_805FF20 - lsls r0, 24 - cmp r0, 0 - beq _0805D046 - strh r7, [r6, 0x30] -_0805D046: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805D050: .4byte gUnknown_083752A0 - thumb_func_end sub_805D008 - - thumb_func_start sub_805D054 -sub_805D054: @ 805D054 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetGoSpeed0AnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetRegularAnim - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x6 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805D054 - - thumb_func_start sub_805D084 -sub_805D084: @ 805D084 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805D0A2 - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_0805D0A2: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805D084 - - thumb_func_start sub_805D0AC -sub_805D0AC: @ 805D0AC - 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, _0805D0C8 @ =gMapObjects - adds r0, r2 - ldr r2, _0805D0CC @ =sub_805D0D0 - bl meta_step - pop {r0} - bx r0 - .align 2, 0 -_0805D0C8: .4byte gMapObjects -_0805D0CC: .4byte sub_805D0D0 - thumb_func_end sub_805D0AC - - thumb_func_start sub_805D0D0 -sub_805D0D0: @ 805D0D0 - push {r4,lr} - ldr r3, _0805D0EC @ =gUnknown_083752A4 - 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 -_0805D0EC: .4byte gUnknown_083752A4 - thumb_func_end sub_805D0D0 - - thumb_func_start sub_805D0F0 -sub_805D0F0: @ 805D0F0 - 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_805D0F0 - - thumb_func_start sub_805D104 -sub_805D104: @ 805D104 - 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_805D104 - - thumb_func_start sub_805D130 -sub_805D130: @ 805D130 - push {r4-r6,lr} - adds r6, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805D164 - ldr r5, _0805D160 @ =gUnknown_0837520C - bl Random - movs r4, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r6, 0 - bl sub_8064820 - strh r4, [r6, 0x30] - movs r0, 0x1 - b _0805D166 - .align 2, 0 -_0805D160: .4byte gUnknown_0837520C -_0805D164: - movs r0, 0 -_0805D166: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805D130 - - thumb_func_start sub_805D16C -sub_805D16C: @ 805D16C - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl sub_8064824 - lsls r0, 24 - cmp r0, 0 - bne _0805D180 - movs r0, 0 - b _0805D186 -_0805D180: - movs r0, 0x4 - strh r0, [r4, 0x30] - movs r0, 0x1 -_0805D186: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805D16C - - thumb_func_start sub_805D18C -sub_805D18C: @ 805D18C - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _0805D1D4 @ =gUnknown_083752C0 - mov r0, sp - movs r2, 0x2 - bl memcpy - bl Random - movs r7, 0x1 - adds r1, r7, 0 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r4, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl FieldObjectSetDirection - movs r0, 0x5 - strh r0, [r6, 0x30] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_805FF20 - lsls r0, 24 - cmp r0, 0 - beq _0805D1CA - strh r7, [r6, 0x30] -_0805D1CA: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805D1D4: .4byte gUnknown_083752C0 - thumb_func_end sub_805D18C - - thumb_func_start sub_805D1D8 -sub_805D1D8: @ 805D1D8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetGoSpeed0AnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetRegularAnim - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x6 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805D1D8 - - thumb_func_start sub_805D208 -sub_805D208: @ 805D208 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805D226 - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_0805D226: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805D208 - - thumb_func_start sub_805D230 -sub_805D230: @ 805D230 - 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, _0805D24C @ =gMapObjects - adds r0, r2 - ldr r2, _0805D250 @ =sub_805D254 - bl meta_step - pop {r0} - bx r0 - .align 2, 0 -_0805D24C: .4byte gMapObjects -_0805D250: .4byte sub_805D254 - thumb_func_end sub_805D230 - - thumb_func_start sub_805D254 -sub_805D254: @ 805D254 - push {r4,lr} - ldr r3, _0805D270 @ =gUnknown_083752C4 - 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 -_0805D270: .4byte gUnknown_083752C4 - thumb_func_end sub_805D254 - - thumb_func_start sub_805D274 -sub_805D274: @ 805D274 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - 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, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805D274 - - thumb_func_start sub_805D2A0 -sub_805D2A0: @ 805D2A0 - push {r4,lr} - adds r4, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - bne _0805D2B2 - movs r0, 0 - b _0805D2B8 -_0805D2B2: - movs r0, 0x2 - strh r0, [r4, 0x30] - movs r0, 0x1 -_0805D2B8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805D2A0 - - thumb_func_start sub_805D2C0 -sub_805D2C0: @ 805D2C0 - ldrb r2, [r0] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - movs r0, 0 - bx lr - thumb_func_end sub_805D2C0 - thumb_func_start FieldObjectCB_BerryTree FieldObjectCB_BerryTree: @ 805D2D0 push {r4,r5,lr} @@ -7196,6 +5830,11 @@ sub_805FD08: @ 805FD08 thumb_func_start npc_reset npc_reset: @ 805FD18 +@ mapObject->mapobj_bit_1 = 0; +@ mapObject->mapobj_bit_6 = 0; +@ mapObject->mapobj_bit_7 = 0; +@ mapObject->mapobj_unk_1C = 0xff; +@ sprite->data1 = 0; ldrb r3, [r0] movs r2, 0x3 negs r2, r2 |