summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDiegoisawesome <Diegoisawesome@users.noreply.github.com>2018-04-18 14:12:51 -0500
committerGitHub <noreply@github.com>2018-04-18 14:12:51 -0500
commitd10844f1feaf1e9add59685e037fab7ad0027dce (patch)
tree932a43254cff7cd4b3d480ab1a2c25cf9efa0b95 /asm
parent4e63a52832f4a443e24df4f38503e3b449b54e45 (diff)
parentdc759a501b7dfa183b64ea68fbd9437f04e39e74 (diff)
Merge pull request #237 from KDSKardabox/master
Decompile mon markings, rotating_gate & field_camera
Diffstat (limited to 'asm')
-rw-r--r--asm/field_camera.s1153
-rw-r--r--asm/field_player_avatar.s2
-rw-r--r--asm/mon_markings.s946
-rw-r--r--asm/rotating_gate.s1152
4 files changed, 1 insertions, 3252 deletions
diff --git a/asm/field_camera.s b/asm/field_camera.s
deleted file mode 100644
index 35359f444..000000000
--- a/asm/field_camera.s
+++ /dev/null
@@ -1,1153 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start move_tilemap_camera_to_upper_left_corner_
-@ void move_tilemap_camera_to_upper_left_corner_(struc_28 *a1)
-move_tilemap_camera_to_upper_left_corner_: @ 8089B58
- 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
-@ void tilemap_move_something(struct struc_28 *, u8 deltaX, u8 deltaY)
-tilemap_move_something: @ 8089B68
- 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
-@ void coords8_add(struct coords8 *coords, u8 x, u8 y)
-coords8_add: @ 8089B84
- 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
-@ void move_tilemap_camera_to_upper_left_corner()
-move_tilemap_camera_to_upper_left_corner: @ 8089B94
- push {lr}
- ldr r0, =gUnknown_03000E20
- bl move_tilemap_camera_to_upper_left_corner_
- pop {r0}
- bx r0
- .pool
- thumb_func_end move_tilemap_camera_to_upper_left_corner
-
- thumb_func_start FieldUpdateBgTilemapScroll
-@ void FieldUpdateBgTilemapScroll()
-FieldUpdateBgTilemapScroll: @ 8089BA4
- push {r4,r5,lr}
- ldr r1, =gUnknown_03000E20
- ldr r0, =gUnknown_03000E28
- movs r2, 0
- ldrsh r5, [r0, r2]
- ldrb r0, [r1]
- adds r5, r0
- ldr r0, =gUnknown_03000E2A
- movs r2, 0
- ldrsh r4, [r0, r2]
- ldrb r1, [r1, 0x1]
- adds r4, r1
- adds r4, 0x8
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0x14
- adds r1, r5, 0
- bl SetGpuReg
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x16
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x18
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1A
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x1C
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1E
- adds r1, r4, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldUpdateBgTilemapScroll
-
- thumb_func_start sub_8089C08
-sub_8089C08: @ 8089C08
- push {r4,lr}
- ldr r3, =gUnknown_03000E20
- ldr r2, =gUnknown_03000E28
- ldrh r2, [r2]
- ldrb r4, [r3]
- adds r2, r4
- strh r2, [r0]
- ldr r0, =gUnknown_03000E2A
- ldrh r0, [r0]
- ldrb r3, [r3, 0x1]
- adds r0, r3
- adds r0, 0x8
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8089C08
-
- thumb_func_start DrawWholeMapView
-@ void DrawWholeMapView()
-DrawWholeMapView: @ 8089C34
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r2, =gMapHeader
- ldr r2, [r2]
- bl DrawWholeMapViewInternal
- ldr r1, =gUnknown_03000E20
- movs r0, 0x1
- strb r0, [r1, 0x4]
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawWholeMapView
-
- thumb_func_start DrawWholeMapViewInternal
-@ void DrawWholeMapViewInternal(s32 x, s32 y, struct mapdata_header *mapGrid)
-DrawWholeMapViewInternal: @ 8089C60
- 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
-_08089C74:
- ldr r2, =gUnknown_03000E20
- ldrb r0, [r2, 0x3]
- adds r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089C88
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089C88:
- lsls r6, r0, 5
- movs r4, 0
- adds r7, r1, 0x2
- str r7, [sp]
- lsrs r5, r1, 1
-_08089C92:
- ldr r1, =gUnknown_03000E20
- ldrb r0, [r1, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089CA6
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089CA6:
- 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 _08089C92
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _08089C74
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawWholeMapViewInternal
-
- thumb_func_start RedrawMapSlicesForCameraUpdate
-@ void RedrawMapSlicesForCameraUpdate(struct struc_28 *, u8 deltaX, u8 deltaY)
-RedrawMapSlicesForCameraUpdate: @ 8089CE4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r0, =gMapHeader
- ldr r4, [r0]
- cmp r6, 0
- ble _08089CFC
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceWest
-_08089CFC:
- cmp r6, 0
- bge _08089D08
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceEast
-_08089D08:
- cmp r7, 0
- ble _08089D14
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceNorth
-_08089D14:
- cmp r7, 0
- bge _08089D20
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceSouth
-_08089D20:
- movs r0, 0x1
- strb r0, [r5, 0x4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSlicesForCameraUpdate
-
- thumb_func_start RedrawMapSliceNorth
-@ void RedrawMapSliceNorth(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceNorth: @ 8089D30
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- adds r0, 0x1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089D48
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089D48:
- lsls r6, r0, 5
- movs r4, 0
-_08089D4C:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089D5E
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089D5E:
- adds r1, r6, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r3, 0xE
- adds r0, r7, 0
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089D4C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceNorth
-
- thumb_func_start RedrawMapSliceSouth
-@ void RedrawMapSliceSouth(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceSouth: @ 8089D90
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- lsls r6, r0, 5
- movs r4, 0
-_08089D9C:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089DAE
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089DAE:
- adds r1, r6, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r0, r7, 0
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089D9C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceSouth
-
- thumb_func_start RedrawMapSliceEast
-@ void RedrawMapSliceEast(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceEast: @ 8089DDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- ldrb r6, [r5, 0x2]
- movs r4, 0
-_08089DEA:
- ldrb r0, [r5, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089DFC
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089DFC:
- lsls r1, r0, 5
- adds r1, r6
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- 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 _08089DEA
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceEast
-
- thumb_func_start RedrawMapSliceWest
-@ void RedrawMapSliceWest(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceWest: @ 8089E34
- 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 _08089E52
- adds r0, r5, 0
- subs r0, 0x20
- lsls r0, 24
- lsrs r5, r0, 24
-_08089E52:
- movs r4, 0
-_08089E54:
- ldrb r0, [r6, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089E66
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089E66:
- lsls r1, r0, 5
- adds r1, r5
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r2, 0xE
- 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 _08089E54
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceWest
-
- thumb_func_start CurrentMapDrawMetatileAt
-@ void CurrentMapDrawMetatileAt(u32 x, u32 y)
-CurrentMapDrawMetatileAt: @ 8089EA0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r6, =gUnknown_03000E20
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl MapPosToBgTilemapOffset
- adds r1, r0, 0
- cmp r1, 0
- blt _08089ECC
- ldr r0, =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]
-_08089ECC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CurrentMapDrawMetatileAt
-
- thumb_func_start DrawDoorMetatileAt
-@ void DrawDoorMetatileAt(u32 x, u32 y, u16 *metatile)
-DrawDoorMetatileAt: @ 8089EDC
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r6, =gUnknown_03000E20
- adds r0, r6, 0
- adds r1, r3, 0
- adds r2, r4, 0
- bl MapPosToBgTilemapOffset
- cmp r0, 0
- blt _08089F04
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0x1
- adds r1, r5, 0
- bl DrawMetatile
- movs r0, 0x1
- strb r0, [r6, 0x4]
-_08089F04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawDoorMetatileAt
-
- thumb_func_start DrawMetatileAt
-@ void DrawMetatileAt(struct mapdata_header *mapGrid, u16 offset, s32 x, s32 y)
-DrawMetatileAt: @ 8089F10
- 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 _08089F38
- movs r4, 0
-_08089F38:
- ldr r0, =0x000001ff
- cmp r4, r0
- bhi _08089F48
- ldr r0, [r5, 0x10]
- ldr r5, [r0, 0xC]
- b _08089F54
- .pool
-_08089F48:
- ldr r0, [r5, 0x14]
- ldr r5, [r0, 0xC]
- ldr r1, =0xfffffe00
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_08089F54:
- 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
- .pool
- thumb_func_end DrawMetatileAt
-
- thumb_func_start DrawMetatile
-@ void DrawMetatile(u32 layerType, u16 *metatile, u16 offset)
-DrawMetatile: @ 8089F78
- push {r4,lr}
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x1
- beq _08089FD0
- cmp r0, 0x1
- bgt _08089F8E
- cmp r0, 0
- beq _0808A030
- b _0808A082
-_08089F8E:
- cmp r0, 0x2
- bne _0808A082
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- movs r2, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- b _0808A066
- .pool
-_08089FD0:
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4, 0x8]
- strh r1, [r0]
- ldrh r1, [r4, 0xA]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0xC]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0xE]
- strh r1, [r0]
- ldr r0, =gUnknown_03005DA0
- ldr r0, [r0]
- adds r3, r0
- movs r1, 0
- strh r1, [r3]
- strh r1, [r3, 0x2]
- adds r0, r3, 0
- adds r0, 0x40
- strh r1, [r0]
- adds r3, 0x42
- strh r1, [r3]
- b _0808A082
- .pool
-_0808A030:
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldr r1, =0x00003014
- adds r2, r1, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
-_0808A066:
- ldr r0, =gUnknown_03005DA0
- ldr r0, [r0]
- adds r3, r0
- ldrh r0, [r4, 0x8]
- strh r0, [r3]
- ldrh r0, [r4, 0xA]
- strh r0, [r3, 0x2]
- adds r1, r3, 0
- adds r1, 0x40
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r3, 0x42
- ldrh r0, [r4, 0xE]
- strh r0, [r3]
-_0808A082:
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawMetatile
-
- thumb_func_start MapPosToBgTilemapOffset
-@ u32 MapPosToBgTilemapOffset(struct struc_28 *, u32 x, u32 y)
-MapPosToBgTilemapOffset: @ 808A0AC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r5, 0
- ldrsh r0, [r3, r5]
- subs r1, r0
- lsls r1, 1
- cmp r1, 0x1F
- bhi _0808A0D6
- ldrb r0, [r4, 0x2]
- adds r1, r0
- cmp r1, 0x1F
- ble _0808A0CA
- subs r1, 0x20
-_0808A0CA:
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- subs r0, r2, r0
- lsls r2, r0, 1
- cmp r2, 0x1F
- bls _0808A0E0
-_0808A0D6:
- movs r0, 0x1
- negs r0, r0
- b _0808A0EE
- .pool
-_0808A0E0:
- ldrb r0, [r4, 0x3]
- adds r2, r0
- cmp r2, 0x1F
- ble _0808A0EA
- subs r2, 0x20
-_0808A0EA:
- lsls r0, r2, 5
- adds r0, r1
-_0808A0EE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end MapPosToBgTilemapOffset
-
- thumb_func_start CameraUpdateCallback
-@ void CameraUpdateCallback(struct CameraUpdateInfo *info)
-CameraUpdateCallback: @ 808A0F4
- push {lr}
- adds r3, r0, 0
- ldr r2, [r3, 0x4]
- cmp r2, 0
- beq _0808A114
- ldr r1, =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]
-_0808A114:
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraUpdateCallback
-
- thumb_func_start ResetCameraUpdateInfo
-@ void ResetCameraUpdateInfo()
-ResetCameraUpdateInfo: @ 808A11C
- ldr r1, =gUnknown_03005DD0
- 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
- .pool
- thumb_func_end ResetCameraUpdateInfo
-
- thumb_func_start InitCameraUpdateCallback
-@ u8 InitCameraUpdateCallback(u8 followedObjectId)
-InitCameraUpdateCallback: @ 808A134
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_03005DD0
- ldr r1, [r4, 0x4]
- cmp r1, 0
- beq _0808A150
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_0808A150:
- adds r0, r5, 0
- bl AddCameraObject
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- ldr r0, =CameraUpdateCallback
- str r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end InitCameraUpdateCallback
-
- thumb_func_start CameraUpdate
-@ void CameraUpdate()
-CameraUpdate: @ 808A174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, =gUnknown_03005DD0
- ldr r1, [r6]
- cmp r1, 0
- beq _0808A188
- adds r0, r6, 0
- bl _call_via_r1
-_0808A188:
- 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 _0808A1A6
- cmp r7, 0
- beq _0808A1A6
- subs r4, 0x1
- cmp r7, 0
- ble _0808A1A6
- movs r4, 0x1
-_0808A1A6:
- cmp r0, 0
- bne _0808A1BA
- mov r2, r8
- cmp r2, 0
- beq _0808A1BA
- movs r5, 0x1
- negs r5, r5
- cmp r2, 0
- ble _0808A1BA
- movs r5, 0x1
-_0808A1BA:
- cmp r1, 0
- beq _0808A1CC
- cmn r1, r7
- bne _0808A1CC
- movs r4, 0x1
- negs r4, r4
- cmp r7, 0
- ble _0808A1CC
- movs r4, 0x1
-_0808A1CC:
- cmp r0, 0
- beq _0808A1E0
- mov r3, r8
- cmn r0, r3
- bne _0808A1E0
- movs r4, 0x1
- negs r4, r4
- cmp r3, 0
- ble _0808A1E0
- movs r4, 0x1
-_0808A1E0:
- ldr r2, =gUnknown_03005DD0
- ldr r0, [r2, 0x10]
- adds r1, r0, r7
- str r1, [r2, 0x10]
- adds r0, r1, 0
- cmp r1, 0
- bge _0808A1F0
- adds r0, 0xF
-_0808A1F0:
- 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 _0808A208
- adds r0, 0xF
-_0808A208:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x14]
- cmp r4, 0
- bne _0808A218
- cmp r5, 0
- beq _0808A24E
-_0808A218:
- 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, =gUnknown_03000E20
- 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
-_0808A24E:
- ldr r0, =gUnknown_03000E20
- adds r1, r7, 0
- mov r2, r8
- bl coords8_add
- ldr r1, =gUnknown_03005DEC
- ldrh r0, [r1]
- subs r0, r7
- strh r0, [r1]
- ldr r1, =gUnknown_03005DE8
- ldrh r0, [r1]
- mov r2, r8
- subs r0, r2
- strh r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraUpdate
-
- thumb_func_start sub_808A284
-sub_808A284: @ 808A284
- 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, =gUnknown_03005DEC
- lsls r4, 4
- ldrh r0, [r1]
- subs r0, r4
- strh r0, [r1]
- ldr r1, =gUnknown_03005DE8
- lsls r5, 4
- ldrh r0, [r1]
- subs r0, r5
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808A284
-
- thumb_func_start SetCameraPanningCallback
-@ void SetCameraPanningCallback(void ( *callback)())
-SetCameraPanningCallback: @ 808A2C0
- ldr r1, =gUnknown_03000E30
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end SetCameraPanningCallback
-
- thumb_func_start SetCameraPanning
-@ void SetCameraPanning(s16 x, s16 y)
-SetCameraPanning: @ 808A2CC
- ldr r2, =gUnknown_03000E28
- strh r0, [r2]
- ldr r0, =gUnknown_03000E2A
- lsls r1, 16
- asrs r1, 16
- adds r1, 0x20
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end SetCameraPanning
-
- thumb_func_start InstallCameraPanAheadCallback
-@ void InstallCameraPanAheadCallback()
-InstallCameraPanAheadCallback: @ 808A2E4
- ldr r1, =gUnknown_03000E30
- ldr r0, =CameraPanningCB_PanAhead
- str r0, [r1]
- ldr r1, =gUnknown_03000E2C
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_03000E28
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000E2A
- movs r0, 0x20
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end InstallCameraPanAheadCallback
-
- thumb_func_start UpdateCameraPanning
-@ void UpdateCameraPanning()
-UpdateCameraPanning: @ 808A314
- push {lr}
- ldr r0, =gUnknown_03000E30
- ldr r0, [r0]
- cmp r0, 0
- beq _0808A322
- bl _call_via_r0
-_0808A322:
- ldr r2, =gSpriteCoordOffsetX
- ldr r0, =gUnknown_03005DEC
- ldr r1, =gUnknown_03000E28
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r2, =gSpriteCoordOffsetY
- ldr r0, =gUnknown_03005DE8
- ldr r1, =gUnknown_03000E2A
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- subs r0, 0x8
- strh r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateCameraPanning
-
- thumb_func_start CameraPanningCB_PanAhead
-@ void CameraPanningCB_PanAhead()
-CameraPanningCB_PanAhead: @ 808A360
- push {lr}
- ldr r0, =gUnknown_02037348
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808A374
- bl InstallCameraPanAheadCallback
- b _0808A3FC
- .pool
-_0808A374:
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- bne _0808A394
- ldr r0, =gUnknown_03000E2C
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- cmp r1, 0
- beq _0808A3FC
- b _0808A39A
- .pool
-_0808A394:
- ldr r1, =gUnknown_03000E2C
- movs r0, 0
- strb r0, [r1]
-_0808A39A:
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808A3C4
- ldr r2, =gUnknown_03000E2A
- ldrh r3, [r2]
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- ble _0808A3FC
- subs r0, r3, 0x2
- b _0808A3FA
- .pool
-_0808A3C4:
- cmp r0, 0x1
- bne _0808A3E0
- ldr r1, =gUnknown_03000E2A
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x47
- bgt _0808A3FC
- adds r0, r2, 0x2
- strh r0, [r1]
- b _0808A3FC
- .pool
-_0808A3E0:
- ldr r2, =gUnknown_03000E2A
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x1F
- bgt _0808A3F4
- adds r0, 0x2
- b _0808A3FA
- .pool
-_0808A3F4:
- cmp r1, 0x20
- ble _0808A3FC
- subs r0, 0x2
-_0808A3FA:
- strh r0, [r2]
-_0808A3FC:
- pop {r0}
- bx r0
- thumb_func_end CameraPanningCB_PanAhead
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index cd4f83681..f5acc1e3e 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -1071,7 +1071,7 @@ sub_808B164: @ 808B164
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
- bl sub_80FBFD4
+ bl CheckForRotatingGatePuzzleCollisionWithoutAnimation
cmp r0, 0
beq _0808B1A2
movs r0, 0x8
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
deleted file mode 100644
index dfc375fdf..000000000
--- a/asm/mon_markings.s
+++ /dev/null
@@ -1,946 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811F90C
-sub_811F90C: @ 811F90C
- ldr r1, =gUnknown_0203A124
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_811F90C
-
- thumb_func_start sub_811F918
-sub_811F918: @ 811F918
- push {lr}
- sub sp, 0x4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl GetWindowFrameTilesPal
- ldr r3, =gUnknown_0203A124
- ldr r2, [r3]
- ldr r1, [r0]
- str r1, [r2, 0x2C]
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x30]
- ldr r0, =0x000010b4
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- mov r0, sp
- strh r1, [r0]
- ldr r1, [r3]
- adds r1, 0x34
- ldr r2, =0x01000800
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811F918
-
- thumb_func_start sub_811F960
-sub_811F960: @ 811F960
- push {r4-r7,lr}
- ldr r0, =gUnknown_0203A124
- ldr r1, [r0]
- ldr r2, =0x000010b4
- adds r0, r1, r2
- ldrb r2, [r0]
- lsls r0, r2, 8
- adds r0, 0x34
- adds r5, r1, r0
- cmp r2, 0xD
- beq _0811FA30
- cmp r2, 0xD
- bgt _0811F988
- cmp r2, 0
- beq _0811F98E
- b _0811F9D8
- .pool
-_0811F988:
- cmp r2, 0xE
- beq _0811FA7C
- b _0811F9D8
-_0811F98E:
- ldr r0, [r1, 0x2C]
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811F99E:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x20
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811F99E
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x40
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r0, =0x000010b4
- adds r1, r0
- b _0811FA1E
- .pool
-_0811F9D8:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- ldr r0, [r0, 0x2C]
- adds r0, 0x60
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811F9EE:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x80
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811F9EE
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0xA0
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, =0x000010b4
- adds r1, r2
-_0811FA1E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0811FA88
- .pool
-_0811FA30:
- ldr r0, [r1, 0x2C]
- adds r0, 0xC0
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811FA42:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0xE0
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811FA42
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, =0x000010b4
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0811FA7C:
- movs r0, 0
- b _0811FA8A
- .pool
-_0811FA88:
- movs r0, 0x1
-_0811FA8A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_811F960
-
- thumb_func_start sub_811FA90
-sub_811FA90: @ 811FA90
- push {lr}
- bl sub_811F918
-_0811FA96:
- bl sub_811F960
- lsls r0, 24
- cmp r0, 0
- bne _0811FA96
- pop {r0}
- bx r0
- thumb_func_end sub_811FA90
-
- thumb_func_start sub_811FAA4
-sub_811FAA4: @ 811FAA4
- push {r4-r7,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r2, =gUnknown_0203A124
- ldr r3, [r2]
- movs r1, 0
- strb r1, [r3, 0x5]
- ldr r1, [r2]
- strb r0, [r1, 0x4]
- movs r3, 0
- adds r7, r2, 0
- adds r4, r7, 0
- movs r2, 0x1
-_0811FAC2:
- ldr r0, [r4]
- adds r1, r0, 0x6
- adds r1, r3
- ldrb r0, [r0, 0x4]
- asrs r0, r3
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0811FAC2
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- ldr r3, [r7]
- ldrh r2, [r3]
- ldrh r3, [r3, 0x2]
- bl sub_811FC80
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FAA4
-
- thumb_func_start sub_811FAF8
-sub_811FAF8: @ 811FAF8
- push {r4-r7,lr}
- movs r5, 0
- ldr r4, =gUnknown_0203A124
-_0811FAFE:
- ldr r0, [r4]
- ldrh r0, [r0]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FAFE
- movs r5, 0
- ldr r6, =gUnknown_0203A124
-_0811FB28:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0xC
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0xC
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FB28
- movs r5, 0
- ldr r6, =gUnknown_0203A124
-_0811FB52:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0x14
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0x14
- adds r0, r4
- movs r7, 0
- str r7, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0811FB52
- ldr r4, =gUnknown_0203A124
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- beq _0811FB8A
- bl DestroySprite
- ldr r0, [r4]
- str r7, [r0, 0x24]
-_0811FB8A:
- ldr r0, [r4]
- ldr r0, [r0, 0x28]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r4]
- str r7, [r0, 0x28]
-_0811FB9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FAF8
-
- thumb_func_start sub_811FBA4
-sub_811FBA4: @ 811FBA4
- push {r4,r5,lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _0811FBDC
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- cmp r0, 0
- bge _0811FC64
- ldr r1, [r2]
- movs r0, 0x5
- strb r0, [r1, 0x5]
- b _0811FC64
- .pool
-_0811FBDC:
- movs r0, 0x80
- ands r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0811FC0C
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- ble _0811FC64
- ldr r0, [r2]
- strb r5, [r0, 0x5]
- b _0811FC64
- .pool
-_0811FC0C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0811FC68
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r0, [r2]
- movs r1, 0x5
- ldrsb r1, [r0, r1]
- cmp r1, 0x4
- beq _0811FC40
- cmp r1, 0x5
- beq _0811FC76
- adds r0, 0x6
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0811FC62
- movs r2, 0x1
- b _0811FC62
- .pool
-_0811FC40:
- strb r4, [r0, 0x4]
- movs r3, 0
- adds r4, r2, 0
-_0811FC46:
- ldr r2, [r4]
- adds r0, r2, 0x6
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, r3
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0811FC46
- b _0811FC76
-_0811FC62:
- strb r2, [r1]
-_0811FC64:
- movs r0, 0x1
- b _0811FC78
-_0811FC68:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811FC64
- movs r0, 0x5
- bl PlaySE
-_0811FC76:
- movs r0, 0
-_0811FC78:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811FBA4
-
- thumb_func_start sub_811FC80
-sub_811FC80: @ 811FC80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r4, =gUnknown_0203A124
- ldr r0, [r4]
- adds r0, 0x34
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- movs r7, 0
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x1E
- strh r5, [r0]
- add r1, sp, 0x20
- ldr r0, =gPokenavConditionMarker_Gfx
- str r0, [sp, 0x20]
- movs r0, 0xC8
- lsls r0, 2
- strh r0, [r1, 0x4]
- adds r0, r5, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x28
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r2, sp, 0x18
- mov r10, r2
- mov r0, sp
- mov r1, r10
- movs r2, 0x18
- bl memcpy
- ldr r0, [r4]
- ldr r0, [r0, 0x30]
- str r0, [sp, 0x30]
- add r0, sp, 0x34
- strh r6, [r0]
- add r1, sp, 0x38
- ldr r0, =gPokenavConditionMarker_Pal
- str r0, [sp, 0x38]
- adds r0, r6, 0x1
- strh r0, [r1, 0x4]
- add r0, sp, 0x40
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r4, sp, 0x30
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0x18
- bl memcpy
- strh r5, [r4]
- strh r6, [r4, 0x2]
- ldr r0, =gUnknown_0859EE7C
- str r0, [r4, 0x4]
- ldr r0, =gUnknown_0859EF14
- str r0, [r4, 0x8]
- str r7, [r4, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [r4, 0x10]
- ldr r0, =TaskDummy7
- str r0, [r4, 0x14]
- mov r0, sp
- bl LoadSpriteSheets
- mov r0, r10
- bl LoadSpritePalettes
- movs r5, 0
- mov r3, r8
- lsls r3, 16
- mov r8, r3
- movs r0, 0x80
- lsls r0, 14
- add r0, r8
- mov r10, r0
- mov r1, r8
- str r1, [sp, 0x48]
- mov r2, r9
- lsls r2, 16
- mov r9, r2
- movs r7, 0x80
- lsls r7, 14
- add r7, r9
- mov r3, r9
- str r3, [sp, 0x4C]
-_0811FD58:
- adds r0, r4, 0
- mov r2, r10
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _0811FD70
- b _0811FEFC
-_0811FD70:
- ldr r6, =gUnknown_0203A124
- ldr r2, [r6]
- lsls r0, r5, 2
- adds r2, 0xC
- adds r2, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FD58
- ldr r0, [r6]
- ldr r1, [r0, 0x10]
- ldr r3, [sp, 0x4C]
- asrs r0, r3, 16
- adds r0, 0x60
- strh r0, [r1, 0x22]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- ldr r0, =gUnknown_0859EEDC
- str r0, [r4, 0x8]
- ldr r0, =sub_811FF40
- str r0, [r4, 0x14]
- ldr r0, =gUnknown_0859EE84
- str r0, [r4, 0x4]
- movs r5, 0
- ldr r0, [sp, 0x48]
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- mov r9, r0
-_0811FDC8:
- lsls r2, r5, 4
- adds r2, 0x10
- ldr r3, [sp, 0x4C]
- asrs r3, 16
- mov r8, r3
- add r2, r8
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- mov r3, r9
- asrs r1, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _0811FDEE
- b _0811FF0C
-_0811FDEE:
- ldr r6, =gUnknown_0203A124
- ldr r1, [r6]
- lsls r0, r5, 2
- adds r1, 0x14
- adds r1, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r7, =gSprites
- adds r0, r7
- str r0, [r1]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0811FDC8
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _0811FEA8
- ldr r0, [r6]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r7
- str r1, [r0, 0x28]
- ldrb r3, [r1, 0x1]
- movs r2, 0x3F
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- ldr r1, [r0, 0x28]
- ldrb r0, [r1, 0x3]
- ands r2, r0
- movs r0, 0x80
- orrs r2, r0
- strb r2, [r1, 0x3]
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- movs r1, 0x9
- bl StartSpriteAnim
- ldr r1, [r6]
- ldr r2, [r1, 0x28]
- ldr r3, [sp, 0x48]
- asrs r0, r3, 16
- adds r0, 0x20
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x28]
- mov r0, r8
- adds r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, [r1, 0x28]
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- b _0811FEAE
- .pool
-_0811FEA8:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x28]
-_0811FEAE:
- ldr r0, =sub_811FF7C
- str r0, [r4, 0x14]
- ldr r0, [sp, 0x48]
- movs r2, 0xC0
- lsls r2, 12
- adds r1, r0, r2
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _0811FF20
- ldr r0, =gUnknown_0203A124
- ldr r2, [r0]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2, 0x24]
- ldr r3, [sp, 0x4C]
- asrs r0, r3, 16
- adds r0, 0x10
- strh r0, [r1, 0x2E]
- ldr r0, [r2, 0x24]
- movs r1, 0x8
- bl StartSpriteAnim
- b _0811FF28
- .pool
-_0811FEFC:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0xC
- b _0811FF14
- .pool
-_0811FF0C:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x14
-_0811FF14:
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _0811FF28
- .pool
-_0811FF20:
- ldr r0, =gUnknown_0203A124
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x24]
-_0811FF28:
- add sp, 0x50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FC80
-
- thumb_func_start TaskDummy7
-TaskDummy7: @ 811FF3C
- bx lr
- thumb_func_end TaskDummy7
-
- thumb_func_start sub_811FF40
-sub_811FF40: @ 811FF40
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- adds r0, 0x6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0811FF6C
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _0811FF76
- .pool
-_0811FF6C:
- lsls r1, 25
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_0811FF76:
- pop {r0}
- bx r0
- thumb_func_end sub_811FF40
-
- thumb_func_start sub_811FF7C
-sub_811FF7C: @ 811FF7C
- ldr r1, =gUnknown_0203A124
- ldr r1, [r1]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 4
- ldrh r2, [r0, 0x2E]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_811FF7C
-
- thumb_func_start sub_811FF94
-sub_811FF94: @ 811FF94
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _0811FFA4
- ldr r2, =gUnknown_0859E65C
-_0811FFA4:
- movs r3, 0x10
- bl sub_811FFD4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FF94
-
- thumb_func_start sub_811FFB4
-sub_811FFB4: @ 811FFB4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _0811FFC4
- ldr r2, =gUnknown_0859E65C
-_0811FFC4:
- movs r3, 0x1
- bl sub_811FFD4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FFB4
-
- thumb_func_start sub_811FFD4
-sub_811FFD4: @ 811FFD4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gUnknown_0859E67C
- str r4, [sp, 0x18]
- movs r4, 0x80
- add r5, sp, 0x18
- lsrs r6, r0, 16
- orrs r0, r4
- str r0, [r5, 0x4]
- str r2, [sp, 0x20]
- ldr r0, =0xffff0000
- mov r8, r0
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- mov r2, r8
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r6, [r0]
- strh r1, [r0, 0x2]
- ldr r0, =gUnknown_0859EF1C
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_0859EFA4
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, =TaskDummy7
- str r0, [sp, 0x14]
- lsls r3, 23
- lsrs r3, 16
- ldr r0, [r5, 0x4]
- mov r1, r8
- ands r0, r1
- orrs r0, r3
- str r0, [r5, 0x4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _08120068
- movs r0, 0
- b _08120072
- .pool
-_08120068:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
-_08120072:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FFD4
-
- thumb_func_start sub_8120084
-sub_8120084: @ 8120084
- push {lr}
- lsls r0, 24
- lsrs r0, 17
- ldr r2, =gUnknown_0859E67C
- adds r0, r2
- movs r2, 0x80
- movs r3, 0x10
- bl RequestDma3Copy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120084
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s
deleted file mode 100644
index 9b57dc1b0..000000000
--- a/asm/rotating_gate.s
+++ /dev/null
@@ -1,1152 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetCurrentMapRotatingGatePuzzleType
-GetCurrentMapRotatingGatePuzzleType: @ 80FB7E8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x86
- lsls r0, 1
- cmp r1, r0
- bne _080FB800
- movs r0, 0x1
- b _080FB812
- .pool
-_080FB800:
- ldr r0, =0x0000081d
- cmp r1, r0
- beq _080FB810
- movs r0, 0
- b _080FB812
- .pool
-_080FB810:
- movs r0, 0x2
-_080FB812:
- pop {r1}
- bx r1
- thumb_func_end GetCurrentMapRotatingGatePuzzleType
-
- thumb_func_start sub_80FB818
-sub_80FB818: @ 80FB818
- push {r4-r6,lr}
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r5, r0, 0
- movs r3, 0
- ldr r4, =gUnknown_0203A048
- ldrb r0, [r4]
- cmp r3, r0
- bge _080FB844
- ldr r6, =gUnknown_0203A044
-_080FB830:
- adds r2, r5, r3
- ldr r1, [r6]
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0, 0x5]
- strb r0, [r2]
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _080FB830
-_080FB844:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB818
-
- thumb_func_start sub_80FB854
-sub_80FB854: @ 80FB854
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB854
-
- thumb_func_start sub_80FB870
-sub_80FB870: @ 80FB870
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB870
-
- thumb_func_start sub_80FB890
-sub_80FB890: @ 80FB890
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80FB854
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0x1
- bne _080FB8B4
- cmp r1, 0
- beq _080FB8B0
- subs r0, r1, 0x1
- lsls r0, 24
- b _080FB8BE
-_080FB8B0:
- movs r1, 0x3
- b _080FB8C0
-_080FB8B4:
- adds r1, 0x1
- lsls r1, 24
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r1
-_080FB8BE:
- lsrs r1, r0, 24
-_080FB8C0:
- adds r0, r5, 0
- bl sub_80FB870
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB890
-
- thumb_func_start sub_80FB8CC
-sub_80FB8CC: @ 80FB8CC
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0x1
- beq _080FB8E0
- cmp r0, 0x1
- ble _080FB914
- cmp r0, 0x2
- beq _080FB8F8
- b _080FB914
-_080FB8E0:
- ldr r1, =gUnknown_0203A044
- ldr r0, =gUnknown_0858E8B0
- str r0, [r1]
- ldr r1, =gUnknown_0203A048
- movs r0, 0x8
- b _080FB902
- .pool
-_080FB8F8:
- ldr r1, =gUnknown_0203A044
- ldr r0, =gUnknown_0858E8F0
- str r0, [r1]
- ldr r1, =gUnknown_0203A048
- movs r0, 0xB
-_080FB902:
- strb r0, [r1]
- movs r1, 0
- ldr r3, =gUnknown_0203A038
- movs r2, 0x40
-_080FB90A:
- adds r0, r1, r3
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0xA
- bls _080FB90A
-_080FB914:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB8CC
-
- thumb_func_start sub_80FB928
-sub_80FB928: @ 80FB928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r3, r0, 16
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, 0xE
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r5, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FB9DA
- lsls r0, r2, 16
- asrs r7, r0, 16
- lsls r0, r3, 16
- asrs r6, r0, 16
-_080FB976:
- ldr r0, =gUnknown_0203A044
- ldr r0, [r0]
- lsls r1, r5, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r1, r0, 16
- cmp r7, r1
- bgt _080FB9CC
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- blt _080FB9CC
- lsls r0, r2, 16
- asrs r1, r0, 16
- cmp r6, r1
- bgt _080FB9CC
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r1
- blt _080FB9CC
- ldr r0, =gUnknown_0203A038
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x40
- bne _080FB9CC
- ldr r3, [sp]
- lsls r1, r3, 16
- mov r0, r10
- lsls r2, r0, 16
- adds r0, r5, 0
- asrs r1, 16
- asrs r2, 16
- bl sub_80FB9FC
- strb r0, [r4]
-_080FB9CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FB976
-_080FB9DA:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB928
-
- thumb_func_start sub_80FB9FC
-sub_80FB9FC: @ 80FB9FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r0, =gUnknown_0203A044
- lsls r1, r6, 3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080FBA24
- cmp r0, 0x4
- bne _080FBA34
-_080FBA24:
- mov r1, sp
- ldr r0, =gUnknown_08591FE0
- b _080FBA38
- .pool
-_080FBA34:
- mov r1, sp
- ldr r0, =gUnknown_08591FC8
-_080FBA38:
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r2, sp
- ldrb r0, [r4, 0x4]
- movs r3, 0x98
- lsls r3, 5
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x94
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080FBAD4
- ldrh r0, [r4]
- adds r0, 0x7
- ldrh r1, [r4, 0x2]
- adds r1, 0x7
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r2, =gSprites
- adds r4, r2
- strh r6, [r4, 0x2E]
- movs r2, 0x3E
- adds r2, r4
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x2
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- lsls r0, 16
- asrs r0, 16
- lsls r2, r7, 16
- asrs r2, 16
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- mov r3, r8
- lsls r2, r3, 16
- asrs r2, 16
- 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_8092FF0
- adds r0, r4, 0
- bl sub_80FBB64
- adds r0, r6, 0
- bl sub_80FB854
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- adds r0, r5, 0
- b _080FBAD6
- .pool
-_080FBAD4:
- movs r0, 0x40
-_080FBAD6:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB9FC
-
- thumb_func_start sub_80FBAE4
-sub_80FBAE4: @ 80FBAE4
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x30]
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r6, 0x32]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r6, 0
- bl sub_80FBB64
- cmp r5, 0x1
- bne _080FBB2A
- adds r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetPlayerSpeed
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080FBB1A
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080FBB1A:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
- b _080FBB58
-_080FBB2A:
- cmp r5, 0x2
- bne _080FBB58
- adds r0, r7, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetPlayerSpeed
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080FBB4A
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080FBB4A:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
-_080FBB58:
- movs r0, 0
- strh r0, [r6, 0x30]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FBAE4
-
- thumb_func_start sub_80FBB64
-sub_80FBB64: @ 80FBB64
- push {r4-r6,lr}
- mov r12, r0
- mov r4, r12
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r5, 0x5
- negs r5, r5
- ands r5, r0
- strb r5, [r4]
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- adds r0, 0x28
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r0, =gSpriteCoordOffsetX
- adds r2, r1
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 16
- mov r3, r12
- ldrh r1, [r3, 0x26]
- ldrh r0, [r3, 0x22]
- adds r1, r0
- mov r0, r12
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r3, =gSpriteCoordOffsetY
- adds r0, r1
- ldrh r3, [r3]
- adds r0, r3
- lsls r0, 16
- movs r3, 0x80
- lsls r3, 15
- adds r1, r2, r3
- lsrs r1, 16
- lsrs r6, r0, 16
- adds r0, r3
- lsrs r3, r0, 16
- asrs r2, 16
- cmp r2, 0xFF
- bgt _080FBBCA
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080FBBD2
-_080FBBCA:
- movs r1, 0x4
- adds r0, r5, 0
- orrs r0, r1
- strb r0, [r4]
-_080FBBD2:
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _080FBBE6
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080FBBF2
-_080FBBE6:
- mov r0, r12
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080FBBF2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBB64
-
- thumb_func_start LoadRotatingGatePics
-@ void LoadRotatingGatePics()
-LoadRotatingGatePics: @ 80FBC00
- push {lr}
- ldr r0, =gUnknown_08591D58
- bl LoadSpriteSheets
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadRotatingGatePics
-
- thumb_func_start sub_80FBC10
-sub_80FBC10: @ 80FBC10
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r1, 0xE
- lsls r1, 16
- lsrs r7, r1, 16
- movs r6, 0
- b _080FBCB6
- .pool
-_080FBC48:
- ldr r0, =gUnknown_0203A044
- ldr r0, [r0]
- lsls r1, r6, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_0203A038
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x40
- beq _080FBCB4
- lsls r0, r2, 16
- mov r2, r10
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080FBC94
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r2, r0
- bgt _080FBC94
- lsls r0, r3, 16
- mov r2, r8
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080FBC94
- lsls r0, r7, 16
- asrs r0, 16
- cmp r2, r0
- ble _080FBCB4
-_080FBC94:
- ldr r0, =gUnknown_0203A038
- adds r5, r6, r0
- ldrb r0, [r5]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- movs r0, 0x40
- strb r0, [r5]
-_080FBCB4:
- adds r6, 0x1
-_080FBCB6:
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FBC48
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBC10
-
- thumb_func_start sub_80FBCDC
-sub_80FBCDC: @ 80FBCDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r1, 0x1
- bne _080FBCFC
- ldr r0, =gUnknown_08592058
- mov r10, r0
- b _080FBD08
- .pool
-_080FBCFC:
- cmp r1, 0x2
- beq _080FBD04
-_080FBD00:
- movs r0, 0
- b _080FBD98
-_080FBD04:
- ldr r1, =gUnknown_08592038
- mov r10, r1
-_080FBD08:
- adds r0, r4, 0
- bl sub_80FB854
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- movs r3, 0
- lsls r2, 3
- str r2, [sp, 0x4]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
-_080FBD38:
- movs r6, 0
- ldr r2, [sp]
- adds r7, r2, r3
- lsls r0, r3, 1
- adds r5, r7, 0
- ldr r1, [sp, 0x4]
- adds r0, r1
- ldr r2, =gUnknown_08592078
- adds r4, r0, r2
-_080FBD4A:
- adds r0, r5, 0
- cmp r5, 0
- bge _080FBD52
- adds r0, r7, 0x3
-_080FBD52:
- asrs r0, 2
- lsls r0, 2
- subs r0, r5, r0
- lsls r0, 1
- adds r0, r6
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r4]
- cmp r0, 0
- beq _080FBD88
- lsls r1, 2
- add r1, r10
- movs r0, 0
- ldrsb r0, [r1, r0]
- add r0, r9
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- add r1, r8
- str r3, [sp, 0x8]
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x8]
- cmp r0, 0x1
- beq _080FBD00
-_080FBD88:
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, 0x1
- ble _080FBD4A
- adds r3, 0x1
- cmp r3, 0x3
- ble _080FBD38
- movs r0, 0x1
-_080FBD98:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBCDC
-
- thumb_func_start sub_80FBDB4
-sub_80FBDB4: @ 80FBDB4
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r4, 24
- lsrs r5, r4, 24
- lsrs r4, 25
- movs r0, 0x1
- ands r5, r0
- adds r0, r6, 0
- bl sub_80FB854
- subs r4, r0
- adds r1, r4, 0x4
- adds r0, r1, 0
- cmp r1, 0
- bge _080FBDDA
- adds r0, r4, 0x7
-_080FBDDA:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- ldr r1, =gUnknown_0203A044
- ldr r2, [r1]
- lsls r1, r6, 3
- adds r1, r2
- ldrb r1, [r1, 0x4]
- ldr r2, =gUnknown_08592078
- lsls r0, 24
- asrs r0, 23
- adds r0, r5
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBDB4
-
- thumb_func_start sub_80FBE08
-sub_80FBE08: @ 80FBE08
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gUnknown_0203A038
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0x40
- beq _080FBE2C
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- strh r1, [r4, 0x30]
- adds r0, r3, 0
- bl sub_80FB854
- strh r0, [r4, 0x32]
-_080FBE2C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBE08
-
- thumb_func_start sub_80FBE3C
-sub_80FBE3C: @ 80FBE3C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x2
- bne _080FBE58
- ldr r3, =gUnknown_08591FF8
- b _080FBE7A
- .pool
-_080FBE58:
- cmp r0, 0x1
- bne _080FBE64
- ldr r3, =gUnknown_08592008
- b _080FBE7A
- .pool
-_080FBE64:
- cmp r0, 0x3
- bne _080FBE70
- ldr r3, =gUnknown_08592018
- b _080FBE7A
- .pool
-_080FBE70:
- cmp r3, 0x4
- beq _080FBE78
- movs r0, 0xFF
- b _080FBE88
-_080FBE78:
- ldr r3, =gUnknown_08592028
-_080FBE7A:
- lsls r0, r2, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 14
- adds r0, r1
- adds r0, r3, r0
- ldrb r0, [r0]
-_080FBE88:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBE3C
-
- thumb_func_start sub_80FBE90
-sub_80FBE90: @ 80FBE90
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBEA2
- bl sub_80FB8CC
- bl sub_80FB818
-_080FBEA2:
- pop {r0}
- bx r0
- thumb_func_end sub_80FBE90
-
- thumb_func_start RotatingGatePuzzleCameraUpdate
-@ void RotatingGatePuzzleCameraUpdate(s32 deltaX, s32 deltaY)
-RotatingGatePuzzleCameraUpdate: @ 80FBEA8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBECA
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl sub_80FB928
- bl sub_80FBC10
-_080FBECA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end RotatingGatePuzzleCameraUpdate
-
- thumb_func_start RotatingGate_InitPuzzleAndGraphics
-RotatingGate_InitPuzzleAndGraphics: @ 80FBED0
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBEEA
- bl LoadRotatingGatePics
- bl sub_80FB8CC
- movs r0, 0
- movs r1, 0
- bl sub_80FB928
-_080FBEEA:
- pop {r0}
- bx r0
- thumb_func_end RotatingGate_InitPuzzleAndGraphics
-
- thumb_func_start CheckForRotatingGatePuzzleCollision
-CheckForRotatingGatePuzzleCollision: @ 80FBEF0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- bne _080FBF24
- b _080FBFC2
-_080FBF12:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBE08
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FB890
- b _080FBFC2
-_080FBF24:
- movs r6, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- bge _080FBFC2
- lsls r0, r4, 16
- asrs r7, r0, 16
-_080FBF32:
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- subs r0, r4, 0x2
- cmp r0, r7
- bgt _080FBFB8
- adds r0, r4, 0x1
- cmp r7, r0
- bgt _080FBFB8
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r3, 0x2
- mov r2, r8
- lsls r0, r2, 16
- asrs r2, r0, 16
- cmp r1, r2
- bgt _080FBFB8
- adds r0, r3, 0x1
- cmp r2, r0
- bgt _080FBFB8
- subs r1, r7, r4
- adds r1, 0x2
- subs r2, r3
- adds r2, 0x2
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, r9
- bl sub_80FBE3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080FBFB8
- lsrs r5, r0, 4
- movs r1, 0xF
- ands r1, r0
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80FBDB4
- cmp r0, 0
- beq _080FBFB8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBCDC
- cmp r0, 0
- bne _080FBF12
- movs r0, 0x1
- b _080FBFC4
- .pool
-_080FBFB8:
- adds r6, 0x1
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FBF32
-_080FBFC2:
- movs r0, 0
-_080FBFC4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckForRotatingGatePuzzleCollision
-
- thumb_func_start sub_80FBFD4
-sub_80FBFD4: @ 80FBFD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- bne _080FBFFA
- b _080FC08A
-_080FBFF6:
- movs r0, 0x1
- b _080FC08C
-_080FBFFA:
- movs r6, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- bge _080FC08A
- lsls r0, r4, 16
- asrs r7, r0, 16
-_080FC008:
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- subs r0, r4, 0x2
- cmp r0, r7
- bgt _080FC080
- adds r0, r4, 0x1
- cmp r7, r0
- bgt _080FC080
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r3, 0x2
- mov r2, r8
- lsls r0, r2, 16
- asrs r2, r0, 16
- cmp r1, r2
- bgt _080FC080
- adds r0, r3, 0x1
- cmp r2, r0
- bgt _080FC080
- subs r1, r7, r4
- adds r1, 0x2
- subs r2, r3
- adds r2, 0x2
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, r9
- bl sub_80FBE3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080FC080
- lsrs r5, r0, 4
- movs r1, 0xF
- ands r1, r0
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80FBDB4
- cmp r0, 0
- beq _080FC080
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBCDC
- cmp r0, 0
- beq _080FBFF6
-_080FC080:
- adds r6, 0x1
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FC008
-_080FC08A:
- movs r0, 0
-_080FC08C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBFD4
-
- .align 2, 0 @ Don't pad with nop.