diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_map_obj.s | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index c6386a015..8d0520bb1 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -6,278 +6,6 @@ .text - thumb_func_start sub_805ADDC -sub_805ADDC: @ 805ADDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0805ADF4 @ =gMapHeader - ldr r0, [r0, 0x4] - cmp r0, 0 - bne _0805AE10 - b _0805AE3E - .align 2, 0 -_0805ADF4: .4byte gMapHeader -_0805ADF8: - ldr r1, _0805AE0C @ =0xfffff3e0 - adds r0, r7, r1 - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r4, 0 - bl InitFieldObjectStateFromTemplate - lsls r0, 24 - lsrs r0, 24 - b _0805AE40 - .align 2, 0 -_0805AE0C: .4byte 0xfffff3e0 -_0805AE10: - ldrb r6, [r0] - movs r5, 0 - cmp r5, r6 - bcs _0805AE3E - ldr r7, _0805AE4C @ =gSaveBlock1 + 0xC20 -_0805AE1A: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r7 - ldrb r0, [r4] - cmp r0, r8 - bne _0805AE34 - ldrh r0, [r4, 0x14] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0805ADF8 -_0805AE34: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _0805AE1A -_0805AE3E: - movs r0, 0x10 -_0805AE40: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805AE4C: .4byte gSaveBlock1 + 0xC20 - thumb_func_end sub_805ADDC - - thumb_func_start GetAvailableFieldObjectSlot -GetAvailableFieldObjectSlot: @ 805AE50 - push {r4-r7,lr} - mov r12, r3 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r2, 0 - ldr r1, _0805AEAC @ =gMapObjects - ldrb r0, [r1] - lsls r0, 31 - adds r7, r1, 0 - cmp r0, 0 - beq _0805AEA4 - adds r3, r1, 0 -_0805AE70: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r3 - ldrb r0, [r1, 0x8] - cmp r0, r6 - bne _0805AE8A - ldrb r0, [r1, 0x9] - cmp r0, r5 - bne _0805AE8A - ldrb r0, [r1, 0xA] - cmp r0, r4 - beq _0805AEA8 -_0805AE8A: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bhi _0805AEA8 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0805AE70 -_0805AEA4: - cmp r2, 0xF - bls _0805AEB0 -_0805AEA8: - movs r0, 0x1 - b _0805AEE4 - .align 2, 0 -_0805AEAC: .4byte gMapObjects -_0805AEB0: - mov r0, r12 - strb r2, [r0] - ldr r1, _0805AEEC @ =gMapObjects -_0805AEB6: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrb r0, [r3] - lsls r0, 31 - cmp r0, 0 - beq _0805AED8 - ldrb r0, [r3, 0x8] - cmp r0, r6 - bne _0805AED8 - ldrb r0, [r3, 0x9] - cmp r0, r5 - bne _0805AED8 - ldrb r0, [r3, 0xA] - cmp r0, r4 - beq _0805AEA8 -_0805AED8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0805AEB6 - movs r0, 0 -_0805AEE4: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805AEEC: .4byte gMapObjects - thumb_func_end GetAvailableFieldObjectSlot - - thumb_func_start RemoveFieldObject -RemoveFieldObject: @ 805AEF0 - push {lr} - ldrb r2, [r0] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bl RemoveFieldObjectInternal - pop {r0} - bx r0 - thumb_func_end RemoveFieldObject - - thumb_func_start RemoveFieldObjectByLocalIdAndMap -RemoveFieldObjectByLocalIdAndMap: @ 805AF04 - 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 _0805AF42 - mov r0, sp - ldrb r0, [r0] - bl GetFieldObjectFlagIdByFieldObjectId - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805AF48 @ =gMapObjects - adds r0, r1 - bl RemoveFieldObject -_0805AF42: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805AF48: .4byte gMapObjects - thumb_func_end RemoveFieldObjectByLocalIdAndMap - - thumb_func_start RemoveFieldObjectInternal -RemoveFieldObjectInternal: @ 805AF4C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - bl GetFieldObjectGraphicsInfo - ldrh r2, [r0, 0x6] - ldr r1, _0805AF90 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - ldr r2, _0805AF94 @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0xC - adds r0, r1 - mov r1, sp - str r1, [r0] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - bl DestroySprite - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805AF90: .4byte 0xffff0000 -_0805AF94: .4byte gSprites - thumb_func_end RemoveFieldObjectInternal - - thumb_func_start npc_hide_all_but_player -npc_hide_all_but_player: @ 805AF98 - push {r4,lr} - movs r4, 0 -_0805AF9C: - ldr r0, _0805AFC4 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _0805AFB2 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _0805AFC8 @ =gMapObjects - adds r0, r1 - bl RemoveFieldObject -_0805AFB2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0805AF9C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805AFC4: .4byte gPlayerAvatar -_0805AFC8: .4byte gMapObjects - thumb_func_end npc_hide_all_but_player - thumb_func_start sub_805AFCC sub_805AFCC: @ 805AFCC push {r4-r7,lr} |