diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/rom4.s | 826 |
1 files changed, 0 insertions, 826 deletions
diff --git a/asm/rom4.s b/asm/rom4.s index f195272e4..caf9fd336 100644 --- a/asm/rom4.s +++ b/asm/rom4.s @@ -5,832 +5,6 @@ .text - thumb_func_start sub_8055980 -sub_8055980: @ 8055980 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - mov r10, r2 - mov r8, r3 - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r9 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - bl sub_805AB54 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, r7, 2 - ldr r0, _08055A24 @ =gUnknown_02029818 - adds r4, r0 - lsls r5, r6, 3 - adds r5, r6 - lsls r5, 2 - ldr r0, _08055A28 @ =gMapObjects - adds r5, r0 - adds r0, r4, 0 - bl sub_8055954 - adds r0, r5, 0 - bl sub_8055970 - movs r2, 0 - movs r1, 0x1 - movs r0, 0x1 - strb r0, [r4] - strb r7, [r4, 0x1] - strb r6, [r4, 0x2] - strb r2, [r4, 0x3] - ldrb r0, [r5] - orrs r0, r1 - mov r2, r8 - ands r2, r1 - lsls r2, 1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - orrs r0, r2 - strb r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x19] - movs r0, 0x40 - strb r0, [r5, 0x4] - mov r0, r9 - lsls r0, 16 - asrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - asrs r1, 16 - mov r10, r1 - adds r0, r5, 0 - mov r1, r9 - mov r2, r10 - bl sub_8055A2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08055A24: .4byte gUnknown_02029818 -_08055A28: .4byte gMapObjects - thumb_func_end sub_8055980 - - thumb_func_start sub_8055A2C -sub_8055A2C: @ 8055A2C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0xC - adds r3, r4, 0 - adds r3, 0xE - bl sub_80603CC - ldrh r0, [r4, 0xC] - adds r0, 0x8 - strh r0, [r4, 0xC] - adds r0, r4, 0 - bl FieldObjectUpdateZCoord - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8055A2C - - thumb_func_start unref_sub_8055A6C -unref_sub_8055A6C: @ 8055A6C - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _08055A94 @ =gUnknown_02029818 - lsrs r0, 22 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - beq _08055A8E - ldrb r0, [r1, 0x2] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08055A98 @ =gMapObjects - adds r1, r0 - strb r2, [r1, 0x19] -_08055A8E: - pop {r0} - bx r0 - .align 2, 0 -_08055A94: .4byte gUnknown_02029818 -_08055A98: .4byte gMapObjects - thumb_func_end unref_sub_8055A6C - - thumb_func_start unref_sub_8055A9C -unref_sub_8055A9C: @ 8055A9C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 22 - ldr r1, _08055ADC @ =gUnknown_02029818 - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055AE0 @ =gMapObjects - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0x40 - beq _08055AC8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055AE4 @ =gSprites - adds r0, r1 - bl DestroySprite -_08055AC8: - movs r0, 0 - strb r0, [r5] - ldrb r1, [r4] - subs r0, 0x2 - ands r0, r1 - strb r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055ADC: .4byte gUnknown_02029818 -_08055AE0: .4byte gMapObjects -_08055AE4: .4byte gSprites - thumb_func_end unref_sub_8055A9C - - thumb_func_start sub_8055AE8 -sub_8055AE8: @ 8055AE8 - lsls r0, 24 - ldr r1, _08055B00 @ =gUnknown_02029818 - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055B04 @ =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x4] - bx lr - .align 2, 0 -_08055B00: .4byte gUnknown_02029818 -_08055B04: .4byte gMapObjects - thumb_func_end sub_8055AE8 - - thumb_func_start sub_8055B08 -sub_8055B08: @ 8055B08 - lsls r0, 24 - ldr r3, _08055B28 @ =gUnknown_02029818 - lsrs r0, 22 - adds r0, r3 - ldrb r3, [r0, 0x2] - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r3, _08055B2C @ =gMapObjects - adds r0, r3 - ldrh r3, [r0, 0x10] - strh r3, [r1] - ldrh r0, [r0, 0x12] - strh r0, [r2] - bx lr - .align 2, 0 -_08055B28: .4byte gUnknown_02029818 -_08055B2C: .4byte gMapObjects - thumb_func_end sub_8055B08 - - thumb_func_start sub_8055B30 -sub_8055B30: @ 8055B30 - lsls r0, 24 - ldr r1, _08055B48 @ =gUnknown_02029818 - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055B4C @ =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x19] - bx lr - .align 2, 0 -_08055B48: .4byte gUnknown_02029818 -_08055B4C: .4byte gMapObjects - thumb_func_end sub_8055B30 - - thumb_func_start sub_8055B50 -sub_8055B50: @ 8055B50 - lsls r0, 24 - ldr r1, _08055B6C @ =gUnknown_02029818 - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055B70 @ =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0xB] - lsls r0, 28 - lsrs r0, 28 - bx lr - .align 2, 0 -_08055B6C: .4byte gUnknown_02029818 -_08055B70: .4byte gMapObjects - thumb_func_end sub_8055B50 - - thumb_func_start unref_sub_8055B74 -unref_sub_8055B74: @ 8055B74 - lsls r0, 24 - ldr r1, _08055B94 @ =gUnknown_02029818 - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055B98 @ =gMapObjects - adds r0, r1 - adds r0, 0x21 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x10 - subs r0, r1 - bx lr - .align 2, 0 -_08055B94: .4byte gUnknown_02029818 -_08055B98: .4byte gMapObjects - thumb_func_end unref_sub_8055B74 - - thumb_func_start sub_8055B9C -sub_8055B9C: @ 8055B9C - push {r4-r6,lr} - movs r2, 0 - ldr r5, _08055BE0 @ =gUnknown_02029818 - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r3, r1, 16 -_08055BAA: - lsls r0, r2, 2 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - beq _08055BE8 - ldrb r0, [r1, 0x3] - cmp r0, 0 - beq _08055BBE - cmp r0, 0x2 - bne _08055BE8 -_08055BBE: - ldrb r1, [r1, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055BE4 @ =gMapObjects - adds r1, r0, r1 - movs r6, 0x10 - ldrsh r0, [r1, r6] - cmp r0, r4 - bne _08055BE8 - movs r6, 0x12 - ldrsh r0, [r1, r6] - cmp r0, r3 - bne _08055BE8 - adds r0, r2, 0 - b _08055BF4 - .align 2, 0 -_08055BE0: .4byte gUnknown_02029818 -_08055BE4: .4byte gMapObjects -_08055BE8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _08055BAA - movs r0, 0x4 -_08055BF4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8055B9C - - thumb_func_start sub_8055BFC -sub_8055BFC: @ 8055BFC - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - adds r2, r3, 0 - lsrs r0, 22 - ldr r1, _08055C2C @ =gUnknown_02029818 - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055C30 @ =gMapObjects - adds r6, r0, r1 - ldrb r0, [r5] - cmp r0, 0 - beq _08055C58 - cmp r3, 0xA - bls _08055C34 - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - b _08055C58 - .align 2, 0 -_08055C2C: .4byte gUnknown_02029818 -_08055C30: .4byte gMapObjects -_08055C34: - ldr r4, _08055C60 @ =gUnknown_082166D8 - ldr r1, _08055C64 @ =gUnknown_082166A0 - ldrb r0, [r5, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r2 -_08055C58: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08055C60: .4byte gUnknown_082166D8 -_08055C64: .4byte gUnknown_082166A0 - thumb_func_end sub_8055BFC - - thumb_func_start sub_8055C68 -sub_8055C68: @ 8055C68 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, _08055C84 @ =gUnknown_082166AC - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08055C84: .4byte gUnknown_082166AC - thumb_func_end sub_8055C68 - - thumb_func_start sub_8055C88 -sub_8055C88: @ 8055C88 - movs r0, 0x1 - bx lr - thumb_func_end sub_8055C88 - - thumb_func_start sub_8055C8C -sub_8055C8C: @ 8055C8C - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, _08055CA8 @ =gUnknown_082166AC - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08055CA8: .4byte gUnknown_082166AC - thumb_func_end sub_8055C8C - - thumb_func_start sub_8055CAC -sub_8055CAC: @ 8055CAC - movs r0, 0 - bx lr - thumb_func_end sub_8055CAC - - thumb_func_start sub_8055CB0 -sub_8055CB0: @ 8055CB0 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x19] - bl npc_something3 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x19] - mov r6, sp - adds r6, 0x2 - adds r0, r5, 0 - mov r2, sp - adds r3, r6, 0 - bl FieldObjectMoveDestCoords - ldrb r0, [r4, 0x2] - ldrb r1, [r5, 0x19] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r4, 0 - ldrsh r3, [r6, r4] - bl npc_080587EC - lsls r0, 24 - cmp r0, 0 - bne _08055D0E - adds r1, r5, 0 - adds r1, 0x21 - movs r0, 0x10 - strb r0, [r1] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r3, 0 - ldrsh r2, [r6, r3] - adds r0, r5, 0 - bl npc_coords_shift - adds r0, r5, 0 - bl FieldObjectUpdateZCoord - movs r0, 0x1 - b _08055D10 -_08055D0E: - movs r0, 0 -_08055D10: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8055CB0 - - thumb_func_start sub_8055D18 -sub_8055D18: @ 8055D18 - push {r4,lr} - adds r4, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x19] - bl npc_something3 - strb r0, [r4, 0x19] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8055D18 - - thumb_func_start sub_8055D30 -sub_8055D30: @ 8055D30 - movs r1, 0 - strb r1, [r0, 0x3] - bx lr - thumb_func_end sub_8055D30 - - thumb_func_start sub_8055D38 -sub_8055D38: @ 8055D38 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r4, 0 - adds r5, 0x21 - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - movs r0, 0x1 - strb r0, [r6, 0x3] - ldrb r0, [r4, 0x19] - adds r1, 0xC - adds r2, r4, 0 - adds r2, 0xE - bl MoveCoords - ldrb r0, [r5] - cmp r0, 0 - bne _08055D68 - adds r0, r4, 0 - bl npc_coords_shift_still - movs r0, 0x2 - strb r0, [r6, 0x3] -_08055D68: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8055D38 - - thumb_func_start npc_something3 -npc_something3: @ 8055D70 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - subs r0, 0x1 - cmp r0, 0x9 - bhi _08055DC8 - lsls r0, 2 - ldr r1, _08055D8C @ =_08055D90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08055D8C: .4byte _08055D90 - .align 2, 0 -_08055D90: - .4byte _08055DB8 - .4byte _08055DBC - .4byte _08055DC0 - .4byte _08055DC4 - .4byte _08055DC8 - .4byte _08055DC8 - .4byte _08055DB8 - .4byte _08055DBC - .4byte _08055DC0 - .4byte _08055DC4 -_08055DB8: - movs r0, 0x2 - b _08055DCA -_08055DBC: - movs r0, 0x1 - b _08055DCA -_08055DC0: - movs r0, 0x3 - b _08055DCA -_08055DC4: - movs r0, 0x4 - b _08055DCA -_08055DC8: - adds r0, r2, 0 -_08055DCA: - pop {r1} - bx r1 - thumb_func_end npc_something3 - - thumb_func_start npc_080587EC -npc_080587EC: @ 8055DD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r3, 16 - movs r4, 0 - ldr r0, _08055E34 @ =gMapObjects - mov r9, r0 - lsrs r2, r3, 16 - mov r10, r2 - asrs r6, r3, 16 -_08055DF4: - mov r7, r12 - lsls r3, r7, 16 - mov r0, r10 - lsls r5, r0, 16 - cmp r4, r8 - beq _08055E38 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - mov r2, r9 - adds r1, r0, r2 - movs r7, 0x10 - ldrsh r0, [r1, r7] - asrs r2, r3, 16 - cmp r0, r2 - bne _08055E1C - movs r7, 0x12 - ldrsh r0, [r1, r7] - cmp r0, r6 - beq _08055E2E -_08055E1C: - movs r7, 0x14 - ldrsh r0, [r1, r7] - cmp r0, r2 - bne _08055E38 - movs r0, 0x16 - ldrsh r1, [r1, r0] - asrs r0, r5, 16 - cmp r1, r0 - bne _08055E38 -_08055E2E: - movs r0, 0x1 - b _08055E4E - .align 2, 0 -_08055E34: .4byte gMapObjects -_08055E38: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08055DF4 - asrs r0, r3, 16 - asrs r1, r5, 16 - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 -_08055E4E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end npc_080587EC - - thumb_func_start sub_8055E5C -sub_8055E5C: @ 8055E5C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, r5, 2 - ldr r0, _08055EC8 @ =gUnknown_02029818 - adds r2, r0 - ldrb r1, [r2, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055ECC @ =gMapObjects - adds r4, r0, r1 - ldrb r0, [r2] - cmp r0, 0 - beq _08055EBE - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 31 - movs r0, 0 - bl sub_805983C - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08055ED0 @ =sub_8055ED8 - movs r2, 0 - str r2, [sp] - movs r3, 0 - bl AddPseudoFieldObject - strb r0, [r4, 0x4] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055ED4 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - strh r5, [r0, 0x2E] - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] -_08055EBE: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055EC8: .4byte gUnknown_02029818 -_08055ECC: .4byte gMapObjects -_08055ED0: .4byte sub_8055ED8 -_08055ED4: .4byte gSprites - thumb_func_end sub_8055E5C - - thumb_func_start sub_8055ED8 -sub_8055ED8: @ 8055ED8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - lsls r4, 2 - ldr r0, _08055F3C @ =gUnknown_02029818 - adds r4, r0 - ldrb r1, [r4, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08055F40 @ =gMapObjects - adds r6, r0, r1 - ldrh r0, [r6, 0xC] - strh r0, [r5, 0x20] - ldrh r0, [r6, 0xE] - strh r0, [r5, 0x22] - ldrb r0, [r6, 0xB] - lsrs r0, 4 - adds r1, r5, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrb r0, [r6, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldrb r0, [r4, 0x3] - cmp r0, 0 - bne _08055F44 - ldrb r0, [r6, 0x19] - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - b _08055F56 - .align 2, 0 -_08055F3C: .4byte gUnknown_02029818 -_08055F40: .4byte gMapObjects -_08055F44: - ldrb r0, [r6, 0x19] - bl get_go_image_anim_num - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnimIfDifferent -_08055F56: - adds r0, r5, 0 - movs r1, 0 - bl sub_806487C - ldrb r0, [r6] - lsls r0, 29 - cmp r0, 0 - bge _08055F88 - ldrh r0, [r5, 0x3C] - movs r1, 0x4 - ands r1, r0 - lsls r1, 16 - adds r3, r5, 0 - adds r3, 0x3E - lsrs r1, 18 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_08055F88: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8055ED8 - thumb_func_start mapconnection_get_mapheader mapconnection_get_mapheader: @ 8055F90 push {lr} |