diff options
Diffstat (limited to 'asm/field_camera.s')
-rw-r--r-- | asm/field_camera.s | 1330 |
1 files changed, 0 insertions, 1330 deletions
diff --git a/asm/field_camera.s b/asm/field_camera.s deleted file mode 100644 index 624e1cd14..000000000 --- a/asm/field_camera.s +++ /dev/null @@ -1,1330 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start move_tilemap_camera_to_upper_left_corner_ -move_tilemap_camera_to_upper_left_corner_: @ 80579BC - movs r1, 0 - strb r1, [r0, 0x2] - strb r1, [r0, 0x3] - strb r1, [r0] - strb r1, [r0, 0x1] - movs r1, 0x1 - strb r1, [r0, 0x4] - bx lr - thumb_func_end move_tilemap_camera_to_upper_left_corner_ - - thumb_func_start tilemap_move_something -tilemap_move_something: @ 80579CC - ldrb r3, [r0, 0x2] - adds r3, r1 - strb r3, [r0, 0x2] - ldrb r1, [r0, 0x2] - movs r3, 0x1F - ands r1, r3 - strb r1, [r0, 0x2] - ldrb r1, [r0, 0x3] - adds r1, r2 - strb r1, [r0, 0x3] - ldrb r1, [r0, 0x3] - ands r1, r3 - strb r1, [r0, 0x3] - bx lr - thumb_func_end tilemap_move_something - - thumb_func_start coords8_add -coords8_add: @ 80579E8 - ldrb r3, [r0] - adds r3, r1 - strb r3, [r0] - ldrb r1, [r0, 0x1] - adds r1, r2 - strb r1, [r0, 0x1] - bx lr - thumb_func_end coords8_add - - thumb_func_start move_tilemap_camera_to_upper_left_corner -move_tilemap_camera_to_upper_left_corner: @ 80579F8 - push {r4-r6,lr} - sub sp, 0x8 - ldr r0, _08057A44 @ =gUnknown_03000590 - bl move_tilemap_camera_to_upper_left_corner_ - mov r0, sp - movs r6, 0 - strh r6, [r0] - ldr r4, _08057A48 @ =gBG2TilemapBuffer - ldr r5, _08057A4C @ =0x01000400 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - mov r0, sp - adds r0, 0x2 - strh r6, [r0] - ldr r2, _08057A50 @ =0xfffff800 - adds r1, r4, r2 - adds r2, r5, 0 - bl CpuSet - add r0, sp, 0x4 - ldr r2, _08057A54 @ =0x00003014 - adds r1, r2, 0 - strh r1, [r0] - movs r1, 0x80 - lsls r1, 4 - adds r4, r1 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08057A44: .4byte gUnknown_03000590 -_08057A48: .4byte gBG2TilemapBuffer -_08057A4C: .4byte 0x01000400 -_08057A50: .4byte 0xfffff800 -_08057A54: .4byte 0x00003014 - thumb_func_end move_tilemap_camera_to_upper_left_corner - - thumb_func_start sub_8057A58 -sub_8057A58: @ 8057A58 - push {r4-r7,lr} - ldr r5, _08057AE8 @ =gBGHOffsetRegs - ldr r1, [r5, 0x4] - ldr r6, _08057AEC @ =gUnknown_03000590 - ldr r4, _08057AF0 @ =gUnknown_03000598 - ldrh r0, [r4] - ldrb r2, [r6] - adds r0, r2 - strh r0, [r1] - ldr r3, _08057AF4 @ =gBGVOffsetRegs - ldr r1, [r3, 0x4] - ldr r2, _08057AF8 @ =gUnknown_0300059A - ldrh r0, [r2] - ldrb r7, [r6, 0x1] - adds r0, r7 - adds r0, 0x8 - strh r0, [r1] - ldr r1, [r5, 0x8] - ldrh r0, [r4] - ldrb r7, [r6] - adds r0, r7 - strh r0, [r1] - ldr r1, [r3, 0x8] - ldrh r0, [r2] - ldrb r7, [r6, 0x1] - adds r0, r7 - adds r0, 0x8 - strh r0, [r1] - ldr r1, [r5, 0xC] - ldrh r0, [r4] - ldrb r4, [r6] - adds r0, r4 - strh r0, [r1] - ldr r1, [r3, 0xC] - ldrh r0, [r2] - ldrb r7, [r6, 0x1] - adds r0, r7 - adds r0, 0x8 - strh r0, [r1] - ldrb r0, [r6, 0x4] - cmp r0, 0 - beq _08057AE0 - ldr r0, _08057AFC @ =0x040000d4 - ldr r2, _08057B00 @ =gBG1TilemapBuffer - str r2, [r0] - ldr r1, _08057B04 @ =0x0600e800 - str r1, [r0, 0x4] - ldr r3, _08057B08 @ =0x80000400 - str r3, [r0, 0x8] - ldr r1, [r0, 0x8] - movs r4, 0x80 - lsls r4, 4 - adds r1, r2, r4 - str r1, [r0] - ldr r1, _08057B0C @ =0x0600e000 - str r1, [r0, 0x4] - str r3, [r0, 0x8] - ldr r1, [r0, 0x8] - movs r7, 0x80 - lsls r7, 5 - adds r2, r7 - str r2, [r0] - ldr r1, _08057B10 @ =0x0600f000 - str r1, [r0, 0x4] - str r3, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0 - strb r0, [r6, 0x4] -_08057AE0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057AE8: .4byte gBGHOffsetRegs -_08057AEC: .4byte gUnknown_03000590 -_08057AF0: .4byte gUnknown_03000598 -_08057AF4: .4byte gBGVOffsetRegs -_08057AF8: .4byte gUnknown_0300059A -_08057AFC: .4byte 0x040000d4 -_08057B00: .4byte gBG1TilemapBuffer -_08057B04: .4byte 0x0600e800 -_08057B08: .4byte 0x80000400 -_08057B0C: .4byte 0x0600e000 -_08057B10: .4byte 0x0600f000 - thumb_func_end sub_8057A58 - - thumb_func_start sub_8057B14 -sub_8057B14: @ 8057B14 - push {r4,lr} - ldr r3, _08057B34 @ =gUnknown_03000590 - ldr r2, _08057B38 @ =gUnknown_03000598 - ldrh r2, [r2] - ldrb r4, [r3] - adds r2, r4 - strh r2, [r0] - ldr r0, _08057B3C @ =gUnknown_0300059A - ldrh r0, [r0] - ldrb r3, [r3, 0x1] - adds r0, r3 - adds r0, 0x8 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08057B34: .4byte gUnknown_03000590 -_08057B38: .4byte gUnknown_03000598 -_08057B3C: .4byte gUnknown_0300059A - thumb_func_end sub_8057B14 - - thumb_func_start DrawWholeMapView -DrawWholeMapView: @ 8057B40 - push {lr} - ldr r1, _08057B60 @ =gSaveBlock1 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x2 - ldrsh r1, [r1, r2] - ldr r2, _08057B64 @ =gMapHeader - ldr r2, [r2] - bl DrawWholeMapViewInternal - ldr r1, _08057B68 @ =gUnknown_03000590 - movs r0, 0x1 - strb r0, [r1, 0x4] - pop {r0} - bx r0 - .align 2, 0 -_08057B60: .4byte gSaveBlock1 -_08057B64: .4byte gMapHeader -_08057B68: .4byte gUnknown_03000590 - thumb_func_end DrawWholeMapView - - thumb_func_start DrawWholeMapViewInternal -DrawWholeMapViewInternal: @ 8057B6C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - mov r9, r1 - mov r8, r2 - movs r1, 0 -_08057B80: - ldr r2, _08057BEC @ =gUnknown_03000590 - ldrb r0, [r2, 0x3] - adds r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08057B94 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08057B94: - lsls r6, r0, 5 - movs r4, 0 - adds r7, r1, 0x2 - str r7, [sp] - lsrs r5, r1, 1 -_08057B9E: - ldr r1, _08057BEC @ =gUnknown_03000590 - ldrb r0, [r1, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08057BB2 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08057BB2: - adds r1, r6, r0 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r4, 1 - add r2, r10 - mov r0, r8 - mov r7, r9 - adds r3, r7, r5 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08057B9E - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x1F - bls _08057B80 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057BEC: .4byte gUnknown_03000590 - thumb_func_end DrawWholeMapViewInternal - - thumb_func_start RedrawMapSlicesForCameraUpdate -RedrawMapSlicesForCameraUpdate: @ 8057BF0 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - ldr r0, _08057C38 @ =gMapHeader - ldr r4, [r0] - cmp r6, 0 - ble _08057C08 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8057D48 -_08057C08: - cmp r6, 0 - bge _08057C14 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceEast -_08057C14: - cmp r7, 0 - ble _08057C20 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8057C3C -_08057C20: - cmp r7, 0 - bge _08057C2C - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceSouth -_08057C2C: - movs r0, 0x1 - strb r0, [r5, 0x4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057C38: .4byte gMapHeader - thumb_func_end RedrawMapSlicesForCameraUpdate - - thumb_func_start sub_8057C3C -sub_8057C3C: @ 8057C3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r1 - ldrb r0, [r5, 0x3] - adds r0, 0x1C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08057C58 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08057C58: - lsls r7, r0, 5 - movs r4, 0 - ldr r6, _08057CA0 @ =gSaveBlock1 -_08057C5E: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08057C70 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08057C70: - adds r1, r7, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - ldrsh r2, [r6, r0] - lsrs r0, r4, 1 - adds r2, r0 - movs r0, 0x2 - ldrsh r3, [r6, r0] - adds r3, 0xE - mov r0, r8 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08057C5E - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057CA0: .4byte gSaveBlock1 - thumb_func_end sub_8057C3C - - thumb_func_start RedrawMapSliceSouth -RedrawMapSliceSouth: @ 8057CA4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r1 - ldrb r0, [r5, 0x3] - lsls r7, r0, 5 - movs r4, 0 - ldr r6, _08057CF0 @ =gSaveBlock1 -_08057CB6: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08057CC8 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08057CC8: - adds r1, r7, r0 - movs r0, 0 - ldrsh r2, [r6, r0] - lsrs r0, r4, 1 - adds r2, r0 - movs r0, 0x2 - ldrsh r3, [r6, r0] - mov r0, r8 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08057CB6 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057CF0: .4byte gSaveBlock1 - thumb_func_end RedrawMapSliceSouth - - thumb_func_start RedrawMapSliceEast -RedrawMapSliceEast: @ 8057CF4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r1 - ldrb r6, [r5, 0x2] - movs r4, 0 -_08057D02: - ldrb r0, [r5, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08057D14 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08057D14: - lsls r1, r0, 5 - adds r1, r6 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _08057D44 @ =gSaveBlock1 - movs r3, 0 - ldrsh r2, [r0, r3] - movs r7, 0x2 - ldrsh r3, [r0, r7] - lsrs r0, r4, 1 - adds r3, r0 - mov r0, r8 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08057D02 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057D44: .4byte gSaveBlock1 - thumb_func_end RedrawMapSliceEast - - thumb_func_start sub_8057D48 -sub_8057D48: @ 8057D48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - mov r8, r1 - ldrb r0, [r6, 0x2] - adds r0, 0x1C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1F - bls _08057D66 - adds r0, r5, 0 - subs r0, 0x20 - lsls r0, 24 - lsrs r5, r0, 24 -_08057D66: - movs r4, 0 - ldr r7, _08057DAC @ =gSaveBlock1 -_08057D6A: - ldrb r0, [r6, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08057D7C - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08057D7C: - lsls r1, r0, 5 - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - ldrsh r2, [r7, r0] - adds r2, 0xE - movs r0, 0x2 - ldrsh r3, [r7, r0] - lsrs r0, r4, 1 - adds r3, r0 - mov r0, r8 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08057D6A - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057DAC: .4byte gSaveBlock1 - thumb_func_end sub_8057D48 - - thumb_func_start CurrentMapDrawMetatileAt -CurrentMapDrawMetatileAt: @ 8057DB0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r6, _08057DE4 @ =gUnknown_03000590 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl MapPosToBgTilemapOffset - adds r1, r0, 0 - cmp r1, 0 - blt _08057DDC - ldr r0, _08057DE8 @ =gMapHeader - ldr r0, [r0] - lsls r1, 16 - lsrs r1, 16 - adds r2, r4, 0 - adds r3, r5, 0 - bl DrawMetatileAt - movs r0, 0x1 - strb r0, [r6, 0x4] -_08057DDC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08057DE4: .4byte gUnknown_03000590 -_08057DE8: .4byte gMapHeader - thumb_func_end CurrentMapDrawMetatileAt - - thumb_func_start DrawDoorMetatileAt -DrawDoorMetatileAt: @ 8057DEC - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r6, _08057E1C @ =gUnknown_03000590 - adds r0, r6, 0 - adds r1, r3, 0 - adds r2, r4, 0 - bl MapPosToBgTilemapOffset - cmp r0, 0 - blt _08057E14 - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r5, 0 - bl DrawMetatile - movs r0, 0x1 - strb r0, [r6, 0x4] -_08057E14: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08057E1C: .4byte gUnknown_03000590 - thumb_func_end DrawDoorMetatileAt - - thumb_func_start DrawMetatileAt -DrawMetatileAt: @ 8057E20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r2, 0 - adds r7, r3, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x80 - lsls r0, 3 - cmp r4, r0 - bls _08057E48 - movs r4, 0 -_08057E48: - ldr r0, _08057E54 @ =0x000001ff - cmp r4, r0 - bhi _08057E58 - ldr r0, [r5, 0x10] - ldr r5, [r0, 0xC] - b _08057E64 - .align 2, 0 -_08057E54: .4byte 0x000001ff -_08057E58: - ldr r0, [r5, 0x14] - ldr r5, [r0, 0xC] - ldr r1, _08057E84 @ =0xfffffe00 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_08057E64: - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileLayerTypeAt - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 4 - adds r1, r5, r1 - mov r2, r8 - bl DrawMetatile - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057E84: .4byte 0xfffffe00 - thumb_func_end DrawMetatileAt - - thumb_func_start DrawMetatile -DrawMetatile: @ 8057E88 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r1, 0 - lsls r2, 16 - lsrs r6, r2, 16 - cmp r0, 0x1 - beq _08057F28 - cmp r0, 0x1 - bgt _08057EA6 - cmp r0, 0 - bne _08057EA4 - b _08057FA0 -_08057EA4: - b _08058010 -_08057EA6: - cmp r0, 0x2 - beq _08057EAC - b _08058010 -_08057EAC: - ldr r0, _08057F24 @ =gBG0TilemapBuffer - mov r12, r0 - lsls r1, r6, 1 - mov r9, r1 - movs r5, 0xC0 - lsls r5, 5 - add r5, r12 - adds r1, r5 - ldrh r0, [r7] - movs r2, 0 - mov r8, r2 - strh r0, [r1] - adds r4, r6, 0x1 - lsls r4, 1 - adds r1, r4, r5 - ldrh r0, [r7, 0x2] - strh r0, [r1] - adds r3, r6, 0 - adds r3, 0x20 - lsls r3, 1 - adds r1, r3, r5 - ldrh r0, [r7, 0x4] - strh r0, [r1] - adds r2, r6, 0 - adds r2, 0x21 - lsls r2, 1 - adds r5, r2, r5 - ldrh r0, [r7, 0x6] - strh r0, [r5] - movs r1, 0x80 - lsls r1, 5 - add r1, r12 - mov r5, r9 - adds r0, r5, r1 - mov r5, r8 - strh r5, [r0] - adds r0, r4, r1 - strh r5, [r0] - adds r0, r3, r1 - strh r5, [r0] - adds r1, r2, r1 - strh r5, [r1] - movs r5, 0x80 - lsls r5, 4 - add r5, r12 - add r9, r5 - ldrh r0, [r7, 0x8] - mov r1, r9 - strh r0, [r1] - adds r4, r5 - ldrh r0, [r7, 0xA] - strh r0, [r4] - adds r3, r5 - ldrh r0, [r7, 0xC] - strh r0, [r3] - adds r2, r5 - ldrh r0, [r7, 0xE] - strh r0, [r2] - b _08058010 - .align 2, 0 -_08057F24: .4byte gBG0TilemapBuffer -_08057F28: - ldr r2, _08057F98 @ =gBG0TilemapBuffer - mov r12, r2 - lsls r3, r6, 1 - mov r8, r3 - movs r2, 0xC0 - lsls r2, 5 - add r2, r12 - adds r1, r3, r2 - ldrh r0, [r7] - movs r5, 0 - mov r9, r5 - strh r0, [r1] - adds r5, r6, 0x1 - lsls r5, 1 - adds r1, r5, r2 - ldrh r0, [r7, 0x2] - strh r0, [r1] - adds r4, r6, 0 - adds r4, 0x20 - lsls r4, 1 - adds r1, r4, r2 - ldrh r0, [r7, 0x4] - strh r0, [r1] - adds r3, r6, 0 - adds r3, 0x21 - lsls r3, 1 - adds r2, r3, r2 - ldrh r0, [r7, 0x6] - strh r0, [r2] - movs r1, 0x80 - lsls r1, 5 - add r1, r12 - mov r0, r8 - adds r2, r0, r1 - ldrh r0, [r7, 0x8] - strh r0, [r2] - adds r2, r5, r1 - ldrh r0, [r7, 0xA] - strh r0, [r2] - adds r2, r4, r1 - ldrh r0, [r7, 0xC] - strh r0, [r2] - adds r1, r3, r1 - ldrh r0, [r7, 0xE] - strh r0, [r1] - ldr r1, _08057F9C @ =gBG1TilemapBuffer - add r8, r1 - mov r0, r9 - mov r2, r8 - strh r0, [r2] - adds r5, r1 - strh r0, [r5] - adds r4, r1 - strh r0, [r4] - adds r3, r1 - b _0805800E - .align 2, 0 -_08057F98: .4byte gBG0TilemapBuffer -_08057F9C: .4byte gBG1TilemapBuffer -_08057FA0: - ldr r1, _0805801C @ =gBG0TilemapBuffer - mov r9, r1 - lsls r2, r6, 1 - mov r8, r2 - movs r1, 0xC0 - lsls r1, 5 - add r1, r9 - adds r0, r2, r1 - ldr r2, _08058020 @ =0x00003014 - strh r2, [r0] - adds r5, r6, 0x1 - lsls r5, 1 - adds r0, r5, r1 - strh r2, [r0] - adds r4, r6, 0 - adds r4, 0x20 - lsls r4, 1 - adds r0, r4, r1 - strh r2, [r0] - adds r3, r6, 0 - adds r3, 0x21 - lsls r3, 1 - adds r1, r3, r1 - strh r2, [r1] - movs r1, 0x80 - lsls r1, 5 - add r1, r9 - mov r0, r8 - adds r2, r0, r1 - ldrh r0, [r7] - strh r0, [r2] - adds r2, r5, r1 - ldrh r0, [r7, 0x2] - strh r0, [r2] - adds r2, r4, r1 - ldrh r0, [r7, 0x4] - strh r0, [r2] - adds r1, r3, r1 - ldrh r0, [r7, 0x6] - strh r0, [r1] - movs r2, 0x80 - lsls r2, 4 - add r2, r9 - add r8, r2 - ldrh r0, [r7, 0x8] - mov r1, r8 - strh r0, [r1] - adds r5, r2 - ldrh r0, [r7, 0xA] - strh r0, [r5] - adds r4, r2 - ldrh r0, [r7, 0xC] - strh r0, [r4] - adds r3, r2 - ldrh r0, [r7, 0xE] -_0805800E: - strh r0, [r3] -_08058010: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805801C: .4byte gBG0TilemapBuffer -_08058020: .4byte 0x00003014 - thumb_func_end DrawMetatile - - thumb_func_start MapPosToBgTilemapOffset -MapPosToBgTilemapOffset: @ 8058024 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r4, _08058054 @ =gSaveBlock1 - movs r5, 0 - ldrsh r0, [r4, r5] - subs r1, r0 - lsls r1, 1 - cmp r1, 0x1F - bhi _0805804C - ldrb r0, [r3, 0x2] - adds r1, r0 - cmp r1, 0x1F - ble _08058040 - subs r1, 0x20 -_08058040: - movs r5, 0x2 - ldrsh r0, [r4, r5] - subs r0, r2, r0 - lsls r2, r0, 1 - cmp r2, 0x1F - bls _08058058 -_0805804C: - movs r0, 0x1 - negs r0, r0 - b _08058066 - .align 2, 0 -_08058054: .4byte gSaveBlock1 -_08058058: - ldrb r0, [r3, 0x3] - adds r2, r0 - cmp r2, 0x1F - ble _08058062 - subs r2, 0x20 -_08058062: - lsls r0, r2, 5 - adds r0, r1 -_08058066: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MapPosToBgTilemapOffset - - thumb_func_start CameraUpdateCallback -CameraUpdateCallback: @ 805806C - push {lr} - adds r3, r0, 0 - ldr r2, [r3, 0x4] - cmp r2, 0 - beq _0805808C - ldr r1, _08058090 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r0, r2] - str r1, [r3, 0x8] - movs r1, 0x34 - ldrsh r0, [r0, r1] - str r0, [r3, 0xC] -_0805808C: - pop {r0} - bx r0 - .align 2, 0 -_08058090: .4byte gSprites - thumb_func_end CameraUpdateCallback - - thumb_func_start ResetCameraUpdateInfo -ResetCameraUpdateInfo: @ 8058094 - ldr r1, _080580A8 @ =gUnknown_03004880 - movs r0, 0 - str r0, [r1, 0x8] - str r0, [r1, 0xC] - str r0, [r1, 0x10] - str r0, [r1, 0x14] - str r0, [r1, 0x4] - str r0, [r1] - bx lr - .align 2, 0 -_080580A8: .4byte gUnknown_03004880 - thumb_func_end ResetCameraUpdateInfo - - thumb_func_start InitCameraUpdateCallback -InitCameraUpdateCallback: @ 80580AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080580E0 @ =gUnknown_03004880 - ldr r1, [r4, 0x4] - cmp r1, 0 - beq _080580C8 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080580E4 @ =gSprites - adds r0, r1 - bl DestroySprite -_080580C8: - adds r0, r5, 0 - bl AddCameraObject - lsls r0, 24 - lsrs r0, 24 - str r0, [r4, 0x4] - ldr r0, _080580E8 @ =CameraUpdateCallback - str r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080580E0: .4byte gUnknown_03004880 -_080580E4: .4byte gSprites -_080580E8: .4byte CameraUpdateCallback - thumb_func_end InitCameraUpdateCallback - - thumb_func_start CameraUpdate -CameraUpdate: @ 80580EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, _080581EC @ =gUnknown_03004880 - ldr r1, [r6] - cmp r1, 0 - beq _08058100 - adds r0, r6, 0 - bl _call_via_r1 -_08058100: - ldr r7, [r6, 0x8] - ldr r0, [r6, 0xC] - mov r8, r0 - movs r4, 0 - movs r5, 0 - ldr r1, [r6, 0x10] - ldr r0, [r6, 0x14] - cmp r1, 0 - bne _0805811E - cmp r7, 0 - beq _0805811E - subs r4, 0x1 - cmp r7, 0 - ble _0805811E - movs r4, 0x1 -_0805811E: - cmp r0, 0 - bne _08058132 - mov r2, r8 - cmp r2, 0 - beq _08058132 - movs r5, 0x1 - negs r5, r5 - cmp r2, 0 - ble _08058132 - movs r5, 0x1 -_08058132: - cmp r1, 0 - beq _08058144 - cmn r1, r7 - bne _08058144 - movs r4, 0x1 - negs r4, r4 - cmp r7, 0 - ble _08058144 - movs r4, 0x1 -_08058144: - cmp r0, 0 - beq _08058158 - mov r3, r8 - cmn r0, r3 - bne _08058158 - movs r4, 0x1 - negs r4, r4 - cmp r3, 0 - ble _08058158 - movs r4, 0x1 -_08058158: - ldr r2, _080581EC @ =gUnknown_03004880 - ldr r0, [r2, 0x10] - adds r1, r0, r7 - str r1, [r2, 0x10] - adds r0, r1, 0 - cmp r1, 0 - bge _08058168 - adds r0, 0xF -_08058168: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x10] - ldr r0, [r2, 0x14] - mov r3, r8 - adds r1, r0, r3 - str r1, [r2, 0x14] - adds r0, r1, 0 - cmp r1, 0 - bge _08058180 - adds r0, 0xF -_08058180: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x14] - cmp r4, 0 - bne _08058190 - cmp r5, 0 - beq _080581C6 -_08058190: - adds r0, r4, 0 - adds r1, r5, 0 - bl CameraMove - adds r0, r4, 0 - adds r1, r5, 0 - bl UpdateFieldObjectsForCameraUpdate - adds r0, r4, 0 - adds r1, r5, 0 - bl RotatingGatePuzzleCameraUpdate - bl ResetBerryTreeSparkleFlags - ldr r6, _080581F0 @ =gUnknown_03000590 - lsls r4, 1 - lsls r5, 1 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl tilemap_move_something - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl RedrawMapSlicesForCameraUpdate -_080581C6: - ldr r0, _080581F0 @ =gUnknown_03000590 - adds r1, r7, 0 - mov r2, r8 - bl coords8_add - ldr r1, _080581F4 @ =gUnknown_0300489C - ldrh r0, [r1] - subs r0, r7 - strh r0, [r1] - ldr r1, _080581F8 @ =gUnknown_03004898 - ldrh r0, [r1] - mov r2, r8 - subs r0, r2 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080581EC: .4byte gUnknown_03004880 -_080581F0: .4byte gUnknown_03000590 -_080581F4: .4byte gUnknown_0300489C -_080581F8: .4byte gUnknown_03004898 - thumb_func_end CameraUpdate - - thumb_func_start camera_move_and_redraw -camera_move_and_redraw: @ 80581FC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl CameraMove - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl UpdateFieldObjectsForCameraUpdate - bl DrawWholeMapView - ldr r1, _08058230 @ =gUnknown_0300489C - lsls r4, 4 - ldrh r0, [r1] - subs r0, r4 - strh r0, [r1] - ldr r1, _08058234 @ =gUnknown_03004898 - lsls r5, 4 - ldrh r0, [r1] - subs r0, r5 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08058230: .4byte gUnknown_0300489C -_08058234: .4byte gUnknown_03004898 - thumb_func_end camera_move_and_redraw - - thumb_func_start SetCameraPanningCallback -SetCameraPanningCallback: @ 8058238 - ldr r1, _08058240 @ =gUnknown_030005A0 - str r0, [r1] - bx lr - .align 2, 0 -_08058240: .4byte gUnknown_030005A0 - thumb_func_end SetCameraPanningCallback - - thumb_func_start SetCameraPanning -SetCameraPanning: @ 8058244 - ldr r2, _08058254 @ =gUnknown_03000598 - strh r0, [r2] - ldr r0, _08058258 @ =gUnknown_0300059A - lsls r1, 16 - asrs r1, 16 - adds r1, 0x20 - strh r1, [r0] - bx lr - .align 2, 0 -_08058254: .4byte gUnknown_03000598 -_08058258: .4byte gUnknown_0300059A - thumb_func_end SetCameraPanning - - thumb_func_start InstallCameraPanAheadCallback -InstallCameraPanAheadCallback: @ 805825C - ldr r1, _08058278 @ =gUnknown_030005A0 - ldr r0, _0805827C @ =CameraPanningCB_PanAhead - str r0, [r1] - ldr r1, _08058280 @ =gUnknown_0300059C - movs r0, 0 - strb r0, [r1] - ldr r1, _08058284 @ =gUnknown_03000598 - movs r0, 0 - strh r0, [r1] - ldr r1, _08058288 @ =gUnknown_0300059A - movs r0, 0x20 - strh r0, [r1] - bx lr - .align 2, 0 -_08058278: .4byte gUnknown_030005A0 -_0805827C: .4byte CameraPanningCB_PanAhead -_08058280: .4byte gUnknown_0300059C -_08058284: .4byte gUnknown_03000598 -_08058288: .4byte gUnknown_0300059A - thumb_func_end InstallCameraPanAheadCallback - - thumb_func_start UpdateCameraPanning -UpdateCameraPanning: @ 805828C - push {lr} - ldr r0, _080582BC @ =gUnknown_030005A0 - ldr r0, [r0] - cmp r0, 0 - beq _0805829A - bl _call_via_r0 -_0805829A: - ldr r2, _080582C0 @ =gSpriteCoordOffsetX - ldr r0, _080582C4 @ =gUnknown_0300489C - ldr r1, _080582C8 @ =gUnknown_03000598 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r2, _080582CC @ =gSpriteCoordOffsetY - ldr r0, _080582D0 @ =gUnknown_03004898 - ldr r1, _080582D4 @ =gUnknown_0300059A - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - subs r0, 0x8 - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_080582BC: .4byte gUnknown_030005A0 -_080582C0: .4byte gSpriteCoordOffsetX -_080582C4: .4byte gUnknown_0300489C -_080582C8: .4byte gUnknown_03000598 -_080582CC: .4byte gSpriteCoordOffsetY -_080582D0: .4byte gUnknown_03004898 -_080582D4: .4byte gUnknown_0300059A - thumb_func_end UpdateCameraPanning - - thumb_func_start CameraPanningCB_PanAhead -CameraPanningCB_PanAhead: @ 80582D8 - push {lr} - ldr r0, _080582E8 @ =gUnknown_0202E854 - ldrb r0, [r0] - cmp r0, 0 - bne _080582EC - bl InstallCameraPanAheadCallback - b _08058374 - .align 2, 0 -_080582E8: .4byte gUnknown_0202E854 -_080582EC: - ldr r0, _08058304 @ =gPlayerAvatar - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - bne _0805830C - ldr r0, _08058308 @ =gUnknown_0300059C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - cmp r1, 0 - beq _08058374 - b _08058312 - .align 2, 0 -_08058304: .4byte gPlayerAvatar -_08058308: .4byte gUnknown_0300059C -_0805830C: - ldr r1, _08058334 @ =gUnknown_0300059C - movs r0, 0 - strb r0, [r1] -_08058312: - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805833C - ldr r2, _08058338 @ =gUnknown_0300059A - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - ble _08058374 - subs r0, r3, 0x2 - b _08058372 - .align 2, 0 -_08058334: .4byte gUnknown_0300059C -_08058338: .4byte gUnknown_0300059A -_0805833C: - cmp r0, 0x1 - bne _08058358 - ldr r1, _08058354 @ =gUnknown_0300059A - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x47 - bgt _08058374 - adds r0, r2, 0x2 - strh r0, [r1] - b _08058374 - .align 2, 0 -_08058354: .4byte gUnknown_0300059A -_08058358: - ldr r2, _08058368 @ =gUnknown_0300059A - ldrh r0, [r2] - movs r3, 0 - ldrsh r1, [r2, r3] - cmp r1, 0x1F - bgt _0805836C - adds r0, 0x2 - b _08058372 - .align 2, 0 -_08058368: .4byte gUnknown_0300059A -_0805836C: - cmp r1, 0x20 - ble _08058374 - subs r0, 0x2 -_08058372: - strh r0, [r2] -_08058374: - pop {r0} - bx r0 - thumb_func_end CameraPanningCB_PanAhead - - .align 2, 0 @ Don't pad with nop. |