diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-04-12 12:30:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-12 12:30:41 -0700 |
commit | cff12d7907f03a8fe939be854555c2e6353bcab8 (patch) | |
tree | 9003393ec7c964e42c39b09b871ea1e252b7372c /asm | |
parent | a5cd6e8ef4717aad4a055d5acb6ef250e359fc45 (diff) | |
parent | ac7d69eb6e491541837455a2fba0ee63586c6191 (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.s | 570 | ||||
-rw-r--r-- | asm/map_obj_lock.s | 474 | ||||
-rw-r--r-- | asm/rom6.s | 452 | ||||
-rw-r--r-- | asm/script_movement.s | 577 |
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. |