summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-04-12 12:30:41 -0700
committerGitHub <noreply@github.com>2018-04-12 12:30:41 -0700
commitcff12d7907f03a8fe939be854555c2e6353bcab8 (patch)
tree9003393ec7c964e42c39b09b871ea1e252b7372c /asm
parenta5cd6e8ef4717aad4a055d5acb6ef250e359fc45 (diff)
parentac7d69eb6e491541837455a2fba0ee63586c6191 (diff)
Merge pull request #234 from KDSKardabox/master
Port map_obj_lock, map_name_popup, rom6 & script_movement
Diffstat (limited to 'asm')
-rw-r--r--asm/map_name_popup.s570
-rw-r--r--asm/map_obj_lock.s474
-rw-r--r--asm/rom6.s452
-rw-r--r--asm/script_movement.s577
4 files changed, 0 insertions, 2073 deletions
diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s
deleted file mode 100644
index d4775389a..000000000
--- a/asm/map_name_popup.s
+++ /dev/null
@@ -1,570 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80D47D4
-sub_80D47D4: @ 80D47D4
- push {lr}
- bl HideStartMenu
- bl ShowMapNamePopup
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80D47D4
-
- thumb_func_start ShowMapNamePopup
-ShowMapNamePopup: @ 80D47E4
- push {r4,lr}
- movs r0, 0x80
- lsls r0, 7
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080D486C
- ldr r4, =Task_MapNamePopUpWindow
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080D4844
- adds r0, r4, 0
- movs r1, 0x5A
- bl CreateTask
- ldr r4, =gUnknown_02039DD4
- strb r0, [r4]
- movs r0, 0x12
- movs r1, 0x28
- bl SetGpuReg
- ldr r2, =gTasks
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x8]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x28
- strh r1, [r0, 0xC]
- b _080D486C
- .pool
-_080D4844:
- ldr r3, =gTasks
- ldr r2, =gUnknown_02039DD4
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x2
- beq _080D485E
- movs r0, 0x2
- strh r0, [r1, 0x8]
-_080D485E:
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080D486C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowMapNamePopup
-
- thumb_func_start Task_MapNamePopUpWindow
-Task_MapNamePopUpWindow: @ 80D487C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- adds r3, r0, 0
- cmp r1, 0x6
- bhi _080D4966
- lsls r0, r1, 2
- ldr r1, =_080D48A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D48A8:
- .4byte _080D48DE
- .4byte _080D4908
- .4byte _080D4920
- .4byte _080D4966
- .4byte _080D494C
- .4byte _080D4960
- .4byte _080D48C4
-_080D48C4:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080D4966
- strh r1, [r4, 0x8]
- strh r1, [r4, 0x10]
- bl ShowMapNamePopUpWindow
- b _080D4966
-_080D48DE:
- ldrh r0, [r4, 0xC]
- subs r0, 0x2
- movs r2, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _080D4966
- strh r2, [r4, 0xC]
- movs r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =gUnknown_02039DD4
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r2, [r0, 0xA]
- b _080D4966
- .pool
-_080D4908:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080D4966
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080D4966
-_080D4920:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- movs r1, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080D4966
- movs r0, 0x28
- strh r0, [r4, 0xC]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080D4946
- movs r0, 0x6
- strh r0, [r4, 0x8]
- strh r1, [r4, 0x10]
- strh r1, [r4, 0xE]
- b _080D4966
-_080D4946:
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080D496E
-_080D494C:
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x5
- strh r0, [r4, 0x8]
- b _080D4966
-_080D4960:
- bl HideMapNamePopUpWindow
- b _080D496E
-_080D4966:
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
-_080D496E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Task_MapNamePopUpWindow
-
- thumb_func_start HideMapNamePopUpWindow
-HideMapNamePopUpWindow: @ 80D4974
- push {lr}
- ldr r0, =Task_MapNamePopUpWindow
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080D49A4
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- bl RemoveMapNamePopUpWindow
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg_ForcedBlank
- ldr r0, =gUnknown_02039DD4
- ldrb r0, [r0]
- bl DestroyTask
-_080D49A4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end HideMapNamePopUpWindow
-
- thumb_func_start ShowMapNamePopUpWindow
-ShowMapNamePopUpWindow: @ 80D49B0
- push {r4,r5,lr}
- sub sp, 0x24
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080D4A08
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- bne _080D49DC
- mov r4, sp
- adds r4, 0xF
- ldr r0, =gUnknown_0857F544
- ldr r1, [r0, 0x1C]
- b _080D49F2
- .pool
-_080D49DC:
- mov r4, sp
- adds r4, 0xF
- ldr r1, =gUnknown_0857F544
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000cb2
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
-_080D49F2:
- adds r0, r4, 0
- bl StringCopy
- b _080D4A18
- .pool
-_080D4A08:
- mov r4, sp
- adds r4, 0xF
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
-_080D4A18:
- bl AddMapNamePopUpWindow
- bl LoadMapNamePopUpWindowBg
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x50
- bl GetStringCenterAlignXOffset
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- add r1, sp, 0xC
- movs r5, 0
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- adds r0, r1, 0
- strb r5, [r0, 0x2]
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x7
- add r2, sp, 0xC
- adds r3, r4, 0
- bl PrintTextOnWindow
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x24
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowMapNamePopUpWindow
-
- thumb_func_start sub_80D4A78
-sub_80D4A78: @ 80D4A78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x14]
- movs r5, 0
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsrs r3, r2, 24
- str r3, [sp, 0xC]
- movs r6, 0xFF
- lsls r6, 24
- adds r6, r2
- mov r8, r6
- str r0, [sp, 0x18]
- subs r4, r1, 0x1
-_080D4AB4:
- ldr r0, =0x0000021d
- adds r1, r5, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- movs r6, 0xE
- mov r9, r6
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r6, r8
- lsrs r3, r6, 24
- bl FillBgTilemapBufferRect
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0xB
- ble _080D4AB4
- ldr r1, =0x00000229
- movs r0, 0x1
- negs r0, r0
- add r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- ldr r3, [sp, 0xC]
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022a
- ldr r6, [sp, 0x10]
- add r6, r10
- lsls r6, 24
- lsrs r6, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- ldr r3, [sp, 0xC]
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022b
- ldr r4, [sp, 0xC]
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x8B
- lsls r1, 2
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022d
- ldr r4, [sp, 0xC]
- adds r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022e
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r5, 0
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- adds r0, r1, r2
- lsls r4, r0, 24
- movs r6, 0x1
-_080D4B8A:
- ldr r3, =0x0000022f
- adds r1, r5, r3
- lsls r1, 16
- lsrs r1, 16
- subs r0, r5, 0x1
- ldr r3, [sp, 0x18]
- asrs r2, r3, 24
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- str r6, [sp]
- str r6, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- adds r0, r7, 0
- lsrs r3, r4, 24
- bl FillBgTilemapBufferRect
- adds r5, 0x1
- cmp r5, 0xB
- ble _080D4B8A
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D4A78
-
- thumb_func_start LoadMapNamePopUpWindowBg
-LoadMapNamePopUpWindowBg: @ 80D4BE0
- push {r4,r5,lr}
- sub sp, 0x8
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x14]
- cmp r1, 0x57
- bls _080D4C0A
- cmp r1, 0xC4
- bls _080D4C08
- adds r0, r1, 0
- subs r0, 0x6D
- lsls r0, 16
- lsrs r1, r0, 16
- b _080D4C0A
- .pool
-_080D4C08:
- movs r1, 0
-_080D4C0A:
- ldr r0, =gUnknown_0857F464
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl GetWindowAttribute
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- subs r1, r4
- lsls r1, 6
- ldr r2, =gMapPopUp_Outline_Table
- adds r1, r2
- movs r2, 0x80
- lsls r2, 3
- ldr r3, =0x0000021d
- bl LoadBgTiles
- ldr r1, =sub_80D4A78
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- bl PutWindowTilemap
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x16]
- cmp r0, 0xE
- bne _080D4C6C
- ldr r0, =gUnknown_0857F444
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- b _080D4C7A
- .pool
-_080D4C6C:
- lsls r0, r4, 5
- ldr r1, =gMapPopUp_Palette_Table
- adds r0, r1
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
-_080D4C7A:
- lsls r1, r4, 4
- subs r1, r4
- lsls r1, 6
- ldr r0, =gMapPopUp_Table
- adds r1, r0
- movs r0, 0x50
- str r0, [sp]
- movs r0, 0x18
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapToWindow
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadMapNamePopUpWindowBg
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s
deleted file mode 100644
index 97abc7fec..000000000
--- a/asm/map_obj_lock.s
+++ /dev/null
@@ -1,474 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start walkrun_is_standing_still
-walkrun_is_standing_still: @ 8098388
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- beq _0809839C
- movs r0, 0x1
- b _0809839E
- .pool
-_0809839C:
- movs r0, 0
-_0809839E:
- pop {r1}
- bx r1
- thumb_func_end walkrun_is_standing_still
-
- thumb_func_start sub_80983A4
-sub_80983A4: @ 80983A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl walkrun_is_standing_still
- lsls r0, 24
- cmp r0, 0
- beq _080983BE
- bl sub_808B864
- adds r0, r4, 0
- bl DestroyTask
-_080983BE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80983A4
-
- thumb_func_start sub_80983C4
-sub_80983C4: @ 80983C4
- push {lr}
- ldr r0, =sub_80983A4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080983E0
- bl sub_808BCF4
- movs r0, 0x1
- b _080983E2
- .pool
-_080983E0:
- movs r0, 0
-_080983E2:
- pop {r1}
- bx r1
- thumb_func_end sub_80983C4
-
- thumb_func_start ScriptFreezeMapObjects
-ScriptFreezeMapObjects: @ 80983E8
- push {lr}
- bl FreezeMapObjects
- ldr r0, =sub_80983A4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end ScriptFreezeMapObjects
-
- thumb_func_start sub_8098400
-sub_8098400: @ 8098400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809842A
- bl walkrun_is_standing_still
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0809842A
- bl sub_808B864
- strh r4, [r5, 0x8]
-_0809842A:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08098452
- ldr r2, =gMapObjects
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _08098452
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_08098452:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098468
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098468
- adds r0, r6, 0
- bl DestroyTask
-_08098468:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098400
-
- thumb_func_start sub_809847C
-sub_809847C: @ 809847C
- push {lr}
- ldr r0, =sub_8098400
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08098498
- bl sub_808BCF4
- movs r0, 0x1
- b _0809849A
- .pool
-_08098498:
- movs r0, 0
-_0809849A:
- pop {r1}
- bx r1
- thumb_func_end sub_809847C
-
- thumb_func_start LockSelectedMapObject
-LockSelectedMapObject: @ 80984A0
- push {r4,r5,lr}
- ldr r4, =gSelectedMapObject
- ldrb r0, [r4]
- bl FreezeMapObjectsExceptOne
- ldr r0, =sub_8098400
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gMapObjects
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _080984DE
- adds r0, r1, 0
- bl FreezeMapObject
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_080984DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LockSelectedMapObject
-
- thumb_func_start sub_80984F4
-sub_80984F4: @ 80984F4
- push {lr}
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80D338C
- bl UnfreezeMapObjects
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80984F4
-
- thumb_func_start sub_8098524
-sub_8098524: @ 8098524
- push {r4,lr}
- ldr r4, =gMapObjects
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08098542
- adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
-_08098542:
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80D338C
- bl UnfreezeMapObjects
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098524
-
- thumb_func_start sub_8098574
-sub_8098574: @ 8098574
- push {lr}
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldr r1, =gSpecialVar_Facing
- ldrb r1, [r1]
- bl FieldObjectFaceOppositeDirection
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098574
-
- thumb_func_start sub_809859C
-sub_809859C: @ 809859C
- push {lr}
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimActive
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809859C
-
- thumb_func_start sub_80985BC
-sub_80985BC: @ 80985BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldrb r7, [r5, 0xC]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080985E8
- bl walkrun_is_standing_still
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _080985E8
- bl sub_808B864
- strh r4, [r5, 0x8]
-_080985E8:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809860C
- ldr r0, =gMapObjects
- lsls r1, r7, 3
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809860C
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_0809860C:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098622
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098622
- adds r0, r6, 0
- bl DestroyTask
-_08098622:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80985BC
-
- thumb_func_start sub_8098630
-sub_8098630: @ 8098630
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- bl GetChosenApproachingTrainerMapObjectId
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gNoOfApproachingTrainers
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080986E0
- movs r0, 0x1
- bl GetChosenApproachingTrainerMapObjectId
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8098074
- ldr r7, =sub_80985BC
- adds r0, r7, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- mov r9, r0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- mov r1, r9
- adds r6, r0, r1
- strh r4, [r6, 0xC]
- ldr r2, =gMapObjects
- mov r8, r2
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809869A
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r6, 0xA]
-_0809869A:
- adds r0, r7, 0
- movs r1, 0x51
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- mov r1, r9
- adds r4, r0, r1
- strh r5, [r4, 0xC]
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- mov r2, r8
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809871A
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r4, 0xA]
- b _0809871A
- .pool
-_080986E0:
- adds r0, r4, 0
- bl FreezeMapObjectsExceptOne
- ldr r0, =sub_80985BC
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r5, r0, r1
- strh r4, [r5, 0xC]
- ldr r1, =gMapObjects
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809871A
- adds r0, r1, 0
- bl FreezeMapObject
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_0809871A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098630
-
- thumb_func_start sub_8098734
-sub_8098734: @ 8098734
- push {lr}
- ldr r0, =sub_80985BC
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08098750
- bl sub_808BCF4
- movs r0, 0x1
- b _08098752
- .pool
-_08098750:
- movs r0, 0
-_08098752:
- pop {r1}
- bx r1
- thumb_func_end sub_8098734
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom6.s b/asm/rom6.s
deleted file mode 100644
index b103c0875..000000000
--- a/asm/rom6.s
+++ /dev/null
@@ -1,452 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start npc_before_player_of_type
-npc_before_player_of_type: @ 8135424
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gUnknown_0203AB40
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- bl PlayerGetZCoord
- strb r0, [r4, 0x4]
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x5]
- cmp r0, r5
- bne _08135470
- ldr r1, =gSpecialVar_LastTalked
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- movs r0, 0x1
- b _08135472
- .pool
-_08135470:
- movs r0, 0
-_08135472:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end npc_before_player_of_type
-
- thumb_func_start oei_task_add
-oei_task_add: @ 8135478
- push {lr}
- ldr r0, =gUnknown_0203AB40
- adds r1, r0, 0x2
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r0, =task08_080C9820
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_task_add
-
- thumb_func_start task08_080C9820
-task08_080C9820: @ 813549C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl ScriptContext2_Enable
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r1, [r1, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _081354D2
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _0813551E
-_081354D2:
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x5
- bne _08135504
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8135578
- b _0813551C
- .pool
-_08135504:
- bl sub_808C114
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_813552C
-_0813551C:
- str r0, [r1]
-_0813551E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task08_080C9820
-
- thumb_func_start sub_813552C
-sub_813552C: @ 813552C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08135560
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8135578
- str r0, [r1]
-_08135560:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813552C
-
- thumb_func_start sub_8135578
-sub_8135578: @ 8135578
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081355FC
- bl player_get_direction_lower_nybble
- ldr r6, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r6, 0x4]
- cmp r0, 0x1
- bne _0813559E
- str r4, [r6, 0x8]
-_0813559E:
- ldr r1, [r6, 0x4]
- cmp r1, 0x2
- bne _081355A8
- movs r0, 0x1
- str r0, [r6, 0x8]
-_081355A8:
- cmp r1, 0x3
- bne _081355B0
- movs r0, 0x2
- str r0, [r6, 0x8]
-_081355B0:
- cmp r1, 0x4
- bne _081355B8
- movs r0, 0x3
- str r0, [r6, 0x8]
-_081355B8:
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- bl GetPlayerAvatarGraphicsIdByCurrentState
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r1, [r6, 0x8]
- bl StartSpriteAnim
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813561C
- str r1, [r0]
-_081355FC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135578
-
- thumb_func_start sub_813561C
-sub_813561C: @ 813561C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x18]
- lsls r1, 16
- ldrh r0, [r0, 0x1A]
- orrs r1, r0
- bl _call_via_r1
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813561C
-
- thumb_func_start sub_8135654
-sub_8135654: @ 8135654
- push {r4,lr}
- bl ShouldDoBrailleStrengthEffect
- lsls r0, 24
- cmp r0, 0
- beq _0813568C
- ldr r4, =gSpecialVar_Result
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_8179834
- b _081356A8
- .pool
-_0813568C:
- movs r0, 0x56
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813569E
- movs r0, 0
- b _081356AC
-_0813569E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_81356C4
-_081356A8:
- str r0, [r1]
- movs r0, 0x1
-_081356AC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8135654
-
- thumb_func_start sub_81356C4
-sub_81356C4: @ 81356C4
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =Route111_EventScript_2907F0
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81356C4
-
- thumb_func_start oei_rocksmash
-oei_rocksmash: @ 81356E4
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_8135714
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x13
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_rocksmash
-
- thumb_func_start sub_8135714
-sub_8135714: @ 8135714
- push {lr}
- movs r0, 0x83
- bl PlaySE
- movs r0, 0x25
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8135714
-
- thumb_func_start sub_813572C
-sub_813572C: @ 813572C
- push {lr}
- bl sub_80FE314
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813573E
- movs r0, 0
- b _0813574C
-_0813573E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =FieldCallback_Teleport
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_dig
- str r0, [r1]
- movs r0, 0x1
-_0813574C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813572C
-
- thumb_func_start hm2_dig
-hm2_dig: @ 8135760
- push {lr}
- bl Overworld_ResetStateAfterDigEscRope
- movs r0, 0x26
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_dig
-
- thumb_func_start sub_8135780
-sub_8135780: @ 8135780
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_81357BC
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- bl ShouldDoBrailleDigEffect
- lsls r0, 24
- cmp r0, 0
- bne _081357AC
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
-_081357AC:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8135780
-
- thumb_func_start sub_81357BC
-sub_81357BC: @ 81357BC
- push {r4,lr}
- movs r0, 0x26
- bl FieldEffectActiveListRemove
- bl ShouldDoBrailleDigEffect
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _081357D6
- bl DoBrailleDigEffect
- b _081357EE
-_081357D6:
- ldr r0, =task08_080A1C44
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
-_081357EE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81357BC
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_movement.s b/asm/script_movement.s
deleted file mode 100644
index 8c6a6257c..000000000
--- a/asm/script_movement.s
+++ /dev/null
@@ -1,577 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ScriptMovement_StartObjectMovementScript
-ScriptMovement_StartObjectMovementScript: @ 80D32E8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r3, 0
- 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
- beq _080D330A
- movs r0, 0x1
- b _080D3332
-_080D330A:
- ldr r0, =sub_80D3660
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080D331C
- movs r0, 0x32
- bl sub_80D33AC
-_080D331C:
- bl sub_80D33F4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- ldrb r1, [r1]
- adds r2, r4, 0
- bl sub_80D3408
- lsls r0, 24
- lsrs r0, 24
-_080D3332:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ScriptMovement_StartObjectMovementScript
-
- thumb_func_start ScriptMovement_IsObjectMovementFinished
-ScriptMovement_IsObjectMovementFinished: @ 80D3340
- push {r4,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 _080D3382
- bl sub_80D33F4
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80D3474
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _080D3382
- adds r0, r4, 0
- bl sub_80D3584
- lsls r0, 24
- lsrs r0, 24
- b _080D3384
-_080D3382:
- movs r0, 0x1
-_080D3384:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScriptMovement_IsObjectMovementFinished
-
- thumb_func_start sub_80D338C
-sub_80D338C: @ 80D338C
- push {r4,lr}
- bl sub_80D33F4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080D33A6
- adds r0, r4, 0
- bl sub_80D361C
- adds r0, r4, 0
- bl DestroyTask
-_080D33A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D338C
-
- thumb_func_start sub_80D33AC
-sub_80D33AC: @ 80D33AC
- push {r4,r5,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80D3660
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r3, r1, 3
- ldr r5, =gTasks + 0x8
- ldr r0, =0x0000ffff
- adds r4, r0, 0
-_080D33CC:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r5
- ldrh r1, [r0]
- orrs r1, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _080D33CC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D33AC
-
- thumb_func_start sub_80D33F4
-sub_80D33F4: @ 80D33F4
- push {lr}
- ldr r0, =sub_80D3660
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D33F4
-
- thumb_func_start sub_80D3408
-sub_80D3408: @ 80D3408
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80D3474
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080D3444
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D3584
- lsls r0, 24
- cmp r0, 0
- beq _080D3464
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- b _080D345A
-_080D3444:
- adds r0, r7, 0
- movs r1, 0xFF
- bl sub_80D3474
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080D3464
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
-_080D345A:
- mov r3, r9
- bl sub_80D35DC
- movs r0, 0
- b _080D3466
-_080D3464:
- movs r0, 0x1
-_080D3466:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D3408
-
- thumb_func_start sub_80D3474
-sub_80D3474: @ 80D3474
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r1, 0x2
- movs r2, 0
-_080D348C:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080D349C
- adds r0, r2, 0
- b _080D34AA
- .pool
-_080D349C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r2, 0xF
- bls _080D348C
- movs r0, 0x10
-_080D34AA:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3474
-
- thumb_func_start sub_80D34B0
-sub_80D34B0: @ 80D34B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r1, 0x2
- str r1, [r2]
- movs r0, 0
- cmp r0, r3
- bcs _080D34DC
-_080D34CE:
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0x1
- cmp r0, r3
- bcc _080D34CE
- str r1, [r2]
-_080D34DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D34B0
-
- thumb_func_start sub_80D34E4
-sub_80D34E4: @ 80D34E4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- mov r2, sp
- bl sub_80D34B0
- ldr r0, [sp]
- strb r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D34E4
-
- thumb_func_start sub_80D3508
-sub_80D3508: @ 80D3508
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r2, sp
- bl sub_80D34B0
- ldr r0, [sp]
- ldrb r0, [r0]
- strb r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3508
-
- thumb_func_start sub_80D352C
-sub_80D352C: @ 80D352C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, =gBitTable
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- mvns r2, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0x8]
- ands r2, r0
- strh r2, [r1, 0x8]
- bx lr
- .pool
- thumb_func_end sub_80D352C
-
- thumb_func_start sub_80D355C
-sub_80D355C: @ 80D355C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r2, 0x8]
- bx lr
- .pool
- thumb_func_end sub_80D355C
-
- thumb_func_start sub_80D3584
-sub_80D3584: @ 80D3584
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- ands r0, r1
- cmp r0, 0
- bne _080D35B4
- movs r0, 0
- b _080D35B6
- .pool
-_080D35B4:
- movs r0, 0x1
-_080D35B6:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3584
-
- thumb_func_start npc_obj_offscreen_culling_and_flag_update
-npc_obj_offscreen_culling_and_flag_update: @ 80D35BC
- lsls r0, 24
- ldr r2, =gUnknown_02039D90
- lsrs r0, 22
- adds r0, r2
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end npc_obj_offscreen_culling_and_flag_update
-
- thumb_func_start sub_80D35CC
-sub_80D35CC: @ 80D35CC
- lsls r0, 24
- ldr r1, =gUnknown_02039D90
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D35CC
-
- thumb_func_start sub_80D35DC
-sub_80D35DC: @ 80D35DC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D352C
- adds r0, r4, 0
- mov r1, r8
- bl npc_obj_offscreen_culling_and_flag_update
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_80D34E4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D35DC
-
- thumb_func_start sub_80D361C
-sub_80D361C: @ 80D361C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r4, r1, 0x2
- movs r5, 0
-_080D3630:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080D3646
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl npc_sync_anim_pause_bits
-_080D3646:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r5, 0xF
- bls _080D3630
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D361C
-
- thumb_func_start sub_80D3660
-sub_80D3660: @ 80D3660
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- mov r6, sp
-_080D366C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_80D3508
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _080D3690
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80D35CC
- adds r3, r0, 0
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80D36A4
-_080D3690:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080D366C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3660
-
- thumb_func_start sub_80D36A4
-sub_80D36A4: @ 80D36A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r3, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- lsls r2, 24
- lsrs r2, 24
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080D36DC
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080D370E
-_080D36DC:
- ldrb r1, [r5]
- cmp r1, 0xFE
- bne _080D36F8
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80D355C
- adds r0, r4, 0
- bl FreezeMapObject
- b _080D370E
- .pool
-_080D36F8:
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- lsls r0, 24
- cmp r0, 0
- bne _080D370E
- adds r5, 0x1
- mov r0, r8
- adds r1, r5, 0
- bl npc_obj_offscreen_culling_and_flag_update
-_080D370E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D36A4
-
- .align 2, 0 @ Don't pad with nop.