diff options
Diffstat (limited to 'asm')
38 files changed, 3241 insertions, 69679 deletions
diff --git a/asm/battle_bg.s b/asm/battle_bg.s deleted file mode 100644 index 96f33cb3c..000000000 --- a/asm/battle_bg.s +++ /dev/null @@ -1,1473 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_800F1E8 -sub_800F1E8: @ 800F1E8 - push {lr} - bl ResetSpriteData - ldr r0, _0800F21C @ =gUnknown_824EFF0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800F220 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, _0800F224 @ =sub_800F228 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0800F21C: .4byte gUnknown_824EFF0 -_0800F220: .4byte gSprites -_0800F224: .4byte sub_800F228 - thumb_func_end sub_800F1E8 - - thumb_func_start sub_800F228 -sub_800F228: @ 800F228 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_800F228 - - thumb_func_start sub_800F238 -sub_800F238: @ 800F238 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - ldr r1, _0800F24C @ =gUnknown_824EFC4 -_0800F242: - ldrb r3, [r1] - cmp r0, r3 - bne _0800F250 - ldrb r0, [r1, 0x1] - b _0800F25A - .align 2, 0 -_0800F24C: .4byte gUnknown_824EFC4 -_0800F250: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, 0x7 - bls _0800F242 - movs r0, 0x9 -_0800F25A: - pop {r1} - bx r1 - thumb_func_end sub_800F238 - - thumb_func_start sub_800F260 -sub_800F260: @ 800F260 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bls _0800F26C - movs r0, 0x9 -_0800F26C: - ldr r5, _0800F2A0 @ =gUnknown_824EE34 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - ldr r0, [r0] - ldr r1, _0800F2A4 @ =0x06008000 - bl LZDecompressVram - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _0800F2A8 @ =0x0600d000 - bl LZDecompressVram - adds r5, 0x10 - adds r4, r5 - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F2A0: .4byte gUnknown_824EE34 -_0800F2A4: .4byte 0x06008000 -_0800F2A8: .4byte 0x0600d000 - thumb_func_end sub_800F260 - - thumb_func_start sub_800F2AC -sub_800F2AC: @ 800F2AC - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bls _0800F2B8 - movs r0, 0x9 -_0800F2B8: - ldr r5, _0800F2E0 @ =gUnknown_824EE34 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 2 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _0800F2E4 @ =0x06004000 - bl LZDecompressVram - adds r5, 0xC - adds r4, r5 - ldr r0, [r4] - ldr r1, _0800F2E8 @ =0x0600e000 - bl LZDecompressVram - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F2E0: .4byte gUnknown_824EE34 -_0800F2E4: .4byte 0x06004000 -_0800F2E8: .4byte 0x0600e000 - thumb_func_end sub_800F2AC - - thumb_func_start sub_800F2EC -sub_800F2EC: @ 800F2EC - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bls _0800F2FC - movs r0, 0x9 -_0800F2FC: - ldr r2, _0800F320 @ =gUnknown_824EE34 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r0, r1, r2 - ldr r0, [r0] - str r0, [r4] - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - str r0, [r5] - adds r2, 0x10 - adds r1, r2 - ldr r0, [r1] - str r0, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F320: .4byte gUnknown_824EE34 - thumb_func_end sub_800F2EC - - thumb_func_start sub_800F324 -sub_800F324: @ 800F324 - push {lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0800F344 @ =gBattleBgTemplates - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _0800F348 @ =gUnknown_8248330 - bl InitWindows - bl DeactivateAllTextPrinters - pop {r0} - bx r0 - .align 2, 0 -_0800F344: .4byte gBattleBgTemplates -_0800F348: .4byte gUnknown_8248330 - thumb_func_end sub_800F324 - - thumb_func_start InitBattleBgsVideo -InitBattleBgsVideo: @ 800F34C - push {lr} - movs r0, 0xC5 - bl EnableInterrupts - bl sub_800F324 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _0800F37C @ =0x0000b040 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_0800F37C: .4byte 0x0000b040 - thumb_func_end InitBattleBgsVideo - - thumb_func_start LoadBattleMenuWindowGfx -LoadBattleMenuWindowGfx: @ 800F380 - push {r4,r5,lr} - movs r0, 0x2 - movs r1, 0x12 - movs r2, 0x10 - bl TextWindow_SetUserSelectedFrame - movs r0, 0x2 - movs r1, 0x22 - movs r2, 0x10 - bl TextWindow_SetUserSelectedFrame - ldr r4, _0800F3F0 @ =gPlttBufferUnfaded - adds r0, r4, 0 - adds r0, 0xB8 - ldr r1, _0800F3F4 @ =0x00002529 - strh r1, [r0] - adds r2, r4, 0 - adds r2, 0xBA - strh r1, [r2] - adds r2, 0x2 - ldr r1, _0800F3F8 @ =0x00007fff - strh r1, [r2] - adds r2, 0x2 - ldr r1, _0800F3FC @ =0x0000675a - strh r1, [r2] - ldr r5, _0800F400 @ =gPlttBufferFaded + 0xB8 - adds r1, r5, 0 - movs r2, 0x4 - bl CpuSet - ldr r0, _0800F404 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0800F408 @ =0x00010010 - ands r0, r1 - cmp r0, 0 - beq _0800F3EA - movs r0, 0x70 - bl Menu_LoadStdPalAt - movs r0, 0 - movs r1, 0x30 - movs r2, 0x70 - bl TextWindow_LoadResourcesStdFrame0 - adds r0, r4, 0 - adds r0, 0xEC - movs r1, 0 - strh r1, [r0] - adds r1, r5, 0 - adds r1, 0x34 - movs r2, 0x1 - bl CpuSet -_0800F3EA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F3F0: .4byte gPlttBufferUnfaded -_0800F3F4: .4byte 0x00002529 -_0800F3F8: .4byte 0x00007fff -_0800F3FC: .4byte 0x0000675a -_0800F400: .4byte gPlttBufferFaded + 0xB8 -_0800F404: .4byte gBattleTypeFlags -_0800F408: .4byte 0x00010010 - thumb_func_end LoadBattleMenuWindowGfx - - thumb_func_start DrawMainBattleBackground -DrawMainBattleBackground: @ 800F40C - push {lr} - bl sub_800FC2C - lsls r0, 24 - lsrs r0, 24 - bl sub_800F260 - pop {r0} - bx r0 - thumb_func_end DrawMainBattleBackground - - thumb_func_start LoadBattleTextboxAndBackground -LoadBattleTextboxAndBackground: @ 800F420 - push {lr} - ldr r0, _0800F454 @ =gBattleTextboxTiles - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r1, _0800F458 @ =gFile_graphics_interface_menu_map_tilemap - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _0800F45C @ =gBattleTextboxPalette - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - bl LoadBattleMenuWindowGfx - bl DrawMainBattleBackground - pop {r0} - bx r0 - .align 2, 0 -_0800F454: .4byte gBattleTextboxTiles -_0800F458: .4byte gFile_graphics_interface_menu_map_tilemap -_0800F45C: .4byte gBattleTextboxPalette - thumb_func_end LoadBattleTextboxAndBackground - - thumb_func_start sub_800F460 -sub_800F460: @ 800F460 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r4, [sp, 0x34] - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - movs r4, 0 - ldr r0, _0800F4B8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800F548 - ldr r0, _0800F4BC @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0800F4D2 - cmp r5, 0x1 - beq _0800F4FA - cmp r5, 0x1 - bgt _0800F4C0 - cmp r5, 0 - beq _0800F4CA - b _0800F504 - .align 2, 0 -_0800F4B8: .4byte gBattleTypeFlags -_0800F4BC: .4byte gTasks -_0800F4C0: - cmp r5, 0x2 - beq _0800F4CE - cmp r5, 0x3 - beq _0800F4EE - b _0800F504 -_0800F4CA: - ldrh r0, [r1, 0xE] - b _0800F4F0 -_0800F4CE: - ldrh r1, [r1, 0xE] - b _0800F4FC -_0800F4D2: - cmp r5, 0x1 - beq _0800F4EE - cmp r5, 0x1 - bgt _0800F4E0 - cmp r5, 0 - beq _0800F4EA - b _0800F504 -_0800F4E0: - cmp r5, 0x2 - beq _0800F4F6 - cmp r5, 0x3 - beq _0800F4FA - b _0800F504 -_0800F4EA: - ldrh r0, [r1, 0xE] - b _0800F4F0 -_0800F4EE: - ldrh r0, [r1, 0x10] -_0800F4F0: - movs r4, 0x3F - ands r4, r0 - b _0800F504 -_0800F4F6: - ldrh r1, [r1, 0xE] - b _0800F4FC -_0800F4FA: - ldrh r1, [r1, 0x10] -_0800F4FC: - movs r0, 0xFC - lsls r0, 4 - ands r0, r1 - lsrs r4, r0, 6 -_0800F504: - movs r2, 0 - movs r6, 0x3 - ldr r0, _0800F544 @ =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_0800F50E: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x2 - ble _0800F50E - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram - b _0800F5B6 - .align 2, 0 -_0800F544: .4byte 0x00006001 -_0800F548: - ldr r0, _0800F564 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r0, [r0] - cmp r5, r0 - bne _0800F56C - ldr r1, _0800F568 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0xE] - b _0800F578 - .align 2, 0 -_0800F564: .4byte gBattleStruct -_0800F568: .4byte gTasks -_0800F56C: - ldr r1, _0800F5C4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0x10] -_0800F578: - movs r2, 0 - movs r6, 0x3 - ldr r0, _0800F5C8 @ =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_0800F582: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x5 - ble _0800F582 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram -_0800F5B6: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800F5C4: .4byte gTasks -_0800F5C8: .4byte 0x00006001 - thumb_func_end sub_800F460 - - thumb_func_start sub_800F5CC -sub_800F5CC: @ 800F5CC - push {lr} - ldr r0, _0800F5E0 @ =gBattleOutcome - ldrb r2, [r0] - cmp r2, 0x3 - bne _0800F5E8 - ldr r0, _0800F5E4 @ =gUnknown_83FE883 - movs r1, 0x15 - bl BattlePutTextOnWindow - b _0800F6F0 - .align 2, 0 -_0800F5E0: .4byte gBattleOutcome -_0800F5E4: .4byte gUnknown_83FE883 -_0800F5E8: - ldr r0, _0800F61C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800F666 - cmp r2, 0x1 - bne _0800F632 - ldr r2, _0800F620 @ =gLinkPlayers - ldr r0, _0800F624 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _0800F682 - cmp r0, 0x1 - bgt _0800F628 - cmp r0, 0 - beq _0800F6BC - b _0800F6F0 - .align 2, 0 -_0800F61C: .4byte gBattleTypeFlags -_0800F620: .4byte gLinkPlayers -_0800F624: .4byte gBattleStruct -_0800F628: - cmp r0, 0x2 - beq _0800F6BC - cmp r0, 0x3 - bne _0800F6F0 - b _0800F682 -_0800F632: - ldr r2, _0800F654 @ =gLinkPlayers - ldr r0, _0800F658 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _0800F6BC - cmp r0, 0x1 - bgt _0800F65C - cmp r0, 0 - beq _0800F682 - b _0800F6F0 - .align 2, 0 -_0800F654: .4byte gLinkPlayers -_0800F658: .4byte gBattleStruct -_0800F65C: - cmp r0, 0x2 - beq _0800F682 - cmp r0, 0x3 - bne _0800F6F0 - b _0800F6BC -_0800F666: - cmp r2, 0x1 - bne _0800F6A4 - ldr r2, _0800F694 @ =gLinkPlayers - ldr r0, _0800F698 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _0800F6BC -_0800F682: - ldr r0, _0800F69C @ =gUnknown_83FE874 - movs r1, 0x17 - bl BattlePutTextOnWindow - ldr r0, _0800F6A0 @ =gUnknown_83FE87B - movs r1, 0x16 - bl BattlePutTextOnWindow - b _0800F6F0 - .align 2, 0 -_0800F694: .4byte gLinkPlayers -_0800F698: .4byte gBattleStruct -_0800F69C: .4byte gUnknown_83FE874 -_0800F6A0: .4byte gUnknown_83FE87B -_0800F6A4: - ldr r2, _0800F6D0 @ =gLinkPlayers - ldr r0, _0800F6D4 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _0800F6E0 -_0800F6BC: - ldr r0, _0800F6D8 @ =gUnknown_83FE874 - movs r1, 0x16 - bl BattlePutTextOnWindow - ldr r0, _0800F6DC @ =gUnknown_83FE87B - movs r1, 0x17 - bl BattlePutTextOnWindow - b _0800F6F0 - .align 2, 0 -_0800F6D0: .4byte gLinkPlayers -_0800F6D4: .4byte gBattleStruct -_0800F6D8: .4byte gUnknown_83FE874 -_0800F6DC: .4byte gUnknown_83FE87B -_0800F6E0: - ldr r0, _0800F6F4 @ =gUnknown_83FE874 - movs r1, 0x17 - bl BattlePutTextOnWindow - ldr r0, _0800F6F8 @ =gUnknown_83FE87B - movs r1, 0x16 - bl BattlePutTextOnWindow -_0800F6F0: - pop {r0} - bx r0 - .align 2, 0 -_0800F6F4: .4byte gUnknown_83FE874 -_0800F6F8: .4byte gUnknown_83FE87B - thumb_func_end sub_800F5CC - - thumb_func_start sub_800F6FC -sub_800F6FC: @ 800F6FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _0800F728 @ =gTasks - lsls r0, r7, 2 - mov r8, r0 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _0800F71E - b _0800F850 -_0800F71E: - cmp r0, 0x1 - bgt _0800F72C - cmp r0, 0 - beq _0800F734 - b _0800FAC4 - .align 2, 0 -_0800F728: .4byte gTasks -_0800F72C: - cmp r0, 0x2 - bne _0800F732 - b _0800F8F0 -_0800F732: - b _0800FAC4 -_0800F734: - ldr r0, _0800F75C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800F7CC - movs r5, 0 - movs r6, 0x3 -_0800F744: - ldr r0, _0800F760 @ =gLinkPlayers + 8 - adds r1, r5, r0 - subs r0, 0x8 - adds r4, r5, r0 - ldrh r0, [r4, 0x18] - cmp r0, 0x1 - beq _0800F77C - cmp r0, 0x1 - bgt _0800F764 - cmp r0, 0 - beq _0800F76E - b _0800F7C2 - .align 2, 0 -_0800F75C: .4byte gBattleTypeFlags -_0800F760: .4byte gLinkPlayers + 8 -_0800F764: - cmp r0, 0x2 - beq _0800F790 - cmp r0, 0x3 - beq _0800F7AA - b _0800F7C2 -_0800F76E: - adds r0, r1, 0 - movs r1, 0x11 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x4 - b _0800F79C -_0800F77C: - adds r0, r1, 0 - movs r1, 0x12 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x4 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - b _0800F7A2 -_0800F790: - adds r0, r1, 0 - movs r1, 0x13 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x8 -_0800F79C: - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x1 -_0800F7A2: - movs r3, 0x2 - bl sub_800F460 - b _0800F7C2 -_0800F7AA: - adds r0, r1, 0 - movs r1, 0x14 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x8 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_800F460 -_0800F7C2: - adds r5, 0x1C - subs r6, 0x1 - cmp r6, 0 - bge _0800F744 - b _0800F830 -_0800F7CC: - ldr r0, _0800F844 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r5, [r0] - movs r0, 0x1 - adds r6, r5, 0 - eors r6, r0 - adds r1, r6, 0 - ldr r4, _0800F848 @ =gLinkPlayers - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _0800F7F0 - adds r6, r5, 0 - adds r5, r1, 0 -_0800F7F0: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r4, 0x8 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0xF - bl BattlePutTextOnWindow - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0x10 - bl BattlePutTextOnWindow - movs r4, 0x7 - str r4, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_800F460 - str r4, [sp] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_800F460 -_0800F830: - ldr r0, _0800F84C @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0800FAC4 - .align 2, 0 -_0800F844: .4byte gBattleStruct -_0800F848: .4byte gLinkPlayers -_0800F84C: .4byte gTasks -_0800F850: - ldr r0, _0800F8CC @ =0x00002710 - bl AllocSpritePalette - lsls r0, 24 - ldr r2, _0800F8D0 @ =gPlttBufferUnfaded - lsrs r0, 19 - ldr r3, _0800F8D4 @ =0x0000021e - adds r0, r3 - adds r2, r0, r2 - ldr r1, _0800F8D8 @ =gPlttBufferFaded - adds r0, r1 - ldr r1, _0800F8DC @ =0x00007fff - strh r1, [r0] - strh r1, [r2] - ldr r0, _0800F8E0 @ =gUnknown_82482E8 - movs r1, 0x6C - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r4, _0800F8E4 @ =gBattleStruct - ldr r1, [r4] - adds r1, 0x7D - strb r0, [r1] - ldr r0, _0800F8E8 @ =gUnknown_8248300 - movs r1, 0x84 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x7E - strb r0, [r1] - ldr r3, _0800F8EC @ =gSprites - ldr r0, [r4] - adds r0, 0x7D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0800FAC4 - .align 2, 0 -_0800F8CC: .4byte 0x00002710 -_0800F8D0: .4byte gPlttBufferUnfaded -_0800F8D4: .4byte 0x0000021e -_0800F8D8: .4byte gPlttBufferFaded -_0800F8DC: .4byte 0x00007fff -_0800F8E0: .4byte gUnknown_82482E8 -_0800F8E4: .4byte gBattleStruct -_0800F8E8: .4byte gUnknown_8248300 -_0800F8EC: .4byte gSprites -_0800F8F0: - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0800F958 - ldr r4, _0800F944 @ =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F90A - adds r0, 0x1F -_0800F90A: - asrs r1, r0, 5 - movs r2, 0x14 - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800F948 @ =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F928 - adds r0, 0x1F -_0800F928: - asrs r1, r0, 5 - movs r3, 0x8C - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r0, _0800F94C @ =gBattle_BG1_Y - ldr r2, _0800F950 @ =0x0000ffdc - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _0800F954 @ =gBattle_BG2_Y - strh r1, [r0] - b _0800F9C4 - .align 2, 0 -_0800F944: .4byte gBattle_BG1_X -_0800F948: .4byte gBattle_BG2_X -_0800F94C: .4byte gBattle_BG1_Y -_0800F950: .4byte 0x0000ffdc -_0800F954: .4byte gBattle_BG2_Y -_0800F958: - ldr r4, _0800F9E8 @ =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F96A - adds r0, 0x1F -_0800F96A: - asrs r1, r0, 5 - movs r3, 0x14 - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800F9EC @ =gBattle_BG1_Y - ldrh r0, [r5, 0xA] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F988 - adds r0, 0x1F -_0800F988: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] - ldr r4, _0800F9F0 @ =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F9A0 - adds r0, 0x1F -_0800F9A0: - asrs r1, r0, 5 - movs r2, 0x8C - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800F9F4 @ =gBattle_BG2_Y - ldrh r0, [r5, 0xC] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F9BE - adds r0, 0x1F -_0800F9BE: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] -_0800F9C4: - ldr r1, _0800F9F8 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xC] - movs r2, 0xC - ldrsh r3, [r1, r2] - mov r8, r3 - cmp r3, 0 - beq _0800F9FC - subs r0, 0x2 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xA] - adds r0, 0x2 - strh r0, [r1, 0xA] - b _0800FAC4 - .align 2, 0 -_0800F9E8: .4byte gBattle_BG1_X -_0800F9EC: .4byte gBattle_BG1_Y -_0800F9F0: .4byte gBattle_BG2_X -_0800F9F4: .4byte gBattle_BG2_Y -_0800F9F8: .4byte gTasks -_0800F9FC: - movs r3, 0x12 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0800FA08 - bl sub_800F5CC -_0800FA08: - movs r0, 0x71 - bl PlaySE - adds r0, r7, 0 - bl DestroyTask - ldr r4, _0800FAD0 @ =gSprites - ldr r5, _0800FAD4 @ =gBattleStruct - ldr r0, [r5] - adds r0, 0x7D - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r5, [r5] - adds r6, r5, 0 - adds r6, 0x7E - ldrb r0, [r6] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x40 - ldr r7, _0800FAD8 @ =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, _0800FADC @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - adds r5, 0x7D - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r8 - strh r1, [r0, 0x2E] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r8 - strh r2, [r0, 0x32] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x32] -_0800FAC4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800FAD0: .4byte gSprites -_0800FAD4: .4byte gBattleStruct -_0800FAD8: .4byte 0x000003ff -_0800FADC: .4byte 0xfffffc00 - thumb_func_end sub_800F6FC - - thumb_func_start DrawBattleEntryBackground -DrawBattleEntryBackground: @ 800FAE0 - push {r4,lr} - ldr r0, _0800FB64 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800FB94 - ldr r0, _0800FB68 @ =gFile_graphics_battle_transitions_vs_frame_sheet - ldr r1, _0800FB6C @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800FB70 @ =gFile_graphics_battle_transitions_vs_sheet - ldr r1, _0800FB74 @ =0x06010000 - bl LZDecompressVram - ldr r0, _0800FB78 @ =gFile_graphics_battle_transitions_vs_frame_palette - movs r1, 0x60 - movs r2, 0x20 - bl LoadCompressedPalette - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetBgAttribute - ldr r1, _0800FB7C @ =0x00005c04 - movs r0, 0xA - bl SetGpuReg - ldr r4, _0800FB80 @ =gFile_graphics_battle_transitions_vs_frame_tilemap - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x48 - movs r1, 0x36 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x36 - bl SetGpuReg - ldr r0, _0800FB84 @ =gBattle_BG1_Y - ldr r2, _0800FB88 @ =0x0000ff5c - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _0800FB8C @ =gBattle_BG2_Y - strh r1, [r0] - ldr r0, _0800FB90 @ =gUnknown_8248318 - bl LoadCompressedSpriteSheetUsingHeap - b _0800FC26 - .align 2, 0 -_0800FB64: .4byte gBattleTypeFlags -_0800FB68: .4byte gFile_graphics_battle_transitions_vs_frame_sheet -_0800FB6C: .4byte 0x06004000 -_0800FB70: .4byte gFile_graphics_battle_transitions_vs_sheet -_0800FB74: .4byte 0x06010000 -_0800FB78: .4byte gFile_graphics_battle_transitions_vs_frame_palette -_0800FB7C: .4byte 0x00005c04 -_0800FB80: .4byte gFile_graphics_battle_transitions_vs_frame_tilemap -_0800FB84: .4byte gBattle_BG1_Y -_0800FB88: .4byte 0x0000ff5c -_0800FB8C: .4byte gBattle_BG2_Y -_0800FB90: .4byte gUnknown_8248318 -_0800FB94: - movs r0, 0x80 - lsls r0, 9 - ands r0, r1 - cmp r0, 0 - beq _0800FBA6 - movs r0, 0 - bl sub_800F2AC - b _0800FC26 -_0800FBA6: - ldr r0, _0800FBC8 @ =0x00080902 - ands r0, r1 - cmp r0, 0 - bne _0800FBF8 - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0800FBD8 - ldr r0, _0800FBCC @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x4 - bne _0800FBD0 - movs r0, 0x7 - bl sub_800F2AC - b _0800FC26 - .align 2, 0 -_0800FBC8: .4byte 0x00080902 -_0800FBCC: .4byte gGameVersion -_0800FBD0: - movs r0, 0x4 - bl sub_800F2AC - b _0800FC26 -_0800FBD8: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _0800FC08 - ldr r2, _0800FC00 @ =gTrainers - ldr r0, _0800FC04 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x54 - beq _0800FBF8 - cmp r0, 0x5A - bne _0800FC08 -_0800FBF8: - movs r0, 0x8 - bl sub_800F2AC - b _0800FC26 - .align 2, 0 -_0800FC00: .4byte gTrainers -_0800FC04: .4byte gTrainerBattleOpponent_A -_0800FC08: - bl sav1_map_get_battletype - lsls r0, 24 - cmp r0, 0 - bne _0800FC20 - ldr r0, _0800FC1C @ =gBattleTerrain - ldrb r0, [r0] - bl sub_800F2AC - b _0800FC26 - .align 2, 0 -_0800FC1C: .4byte gBattleTerrain -_0800FC20: - movs r0, 0x8 - bl sub_800F2AC -_0800FC26: - pop {r4} - pop {r0} - bx r0 - thumb_func_end DrawBattleEntryBackground - - thumb_func_start sub_800FC2C -sub_800FC2C: @ 800FC2C - push {lr} - ldr r0, _0800FC40 @ =gBattleTypeFlags - ldr r1, [r0] - ldr r2, _0800FC44 @ =0x00080902 - ands r2, r1 - cmp r2, 0 - beq _0800FC48 - movs r0, 0xA - b _0800FCAA - .align 2, 0 -_0800FC40: .4byte gBattleTypeFlags -_0800FC44: .4byte 0x00080902 -_0800FC48: - movs r0, 0x80 - lsls r0, 9 - ands r0, r1 - cmp r0, 0 - beq _0800FC60 - ldr r0, _0800FC5C @ =gBattleTerrain - strb r2, [r0] - movs r0, 0 - b _0800FCAA - .align 2, 0 -_0800FC5C: .4byte gBattleTerrain -_0800FC60: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _0800FC90 - ldr r2, _0800FC80 @ =gTrainers - ldr r0, _0800FC84 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x54 - bne _0800FC88 - movs r0, 0xC - b _0800FCAA - .align 2, 0 -_0800FC80: .4byte gTrainers -_0800FC84: .4byte gTrainerBattleOpponent_A -_0800FC88: - cmp r0, 0x5A - bne _0800FC90 - movs r0, 0x13 - b _0800FCAA -_0800FC90: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0800FCA6 - bl sub_800F238 - lsls r0, 24 - lsrs r0, 24 - b _0800FCAA -_0800FCA6: - ldr r0, _0800FCB0 @ =gBattleTerrain - ldrb r0, [r0] -_0800FCAA: - pop {r1} - bx r1 - .align 2, 0 -_0800FCB0: .4byte gBattleTerrain - thumb_func_end sub_800FC2C - - thumb_func_start sub_800FCB4 -sub_800FCB4: @ 800FCB4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - cmp r0, 0x6 - bhi _0800FD92 - lsls r0, 2 - ldr r1, _0800FCCC @ =_0800FCD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800FCCC: .4byte _0800FCD0 - .align 2, 0 -_0800FCD0: - .4byte _0800FCEC - .4byte _0800FCFC - .4byte _0800FD14 - .4byte _0800FD24 - .4byte _0800FD3E - .4byte _0800FD68 - .4byte _0800FD8C -_0800FCEC: - ldr r0, _0800FCF8 @ =gBattleTextboxTiles - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _0800FD94 - .align 2, 0 -_0800FCF8: .4byte gBattleTextboxTiles -_0800FCFC: - ldr r1, _0800FD10 @ =gFile_graphics_interface_menu_map_tilemap - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _0800FD94 - .align 2, 0 -_0800FD10: .4byte gFile_graphics_interface_menu_map_tilemap -_0800FD14: - ldr r0, _0800FD20 @ =gBattleTextboxPalette - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _0800FD94 - .align 2, 0 -_0800FD20: .4byte gBattleTextboxPalette -_0800FD24: - bl sub_800FC2C - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800FD5C @ =gUnknown_824EE34 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _0800FD60 @ =0x06008000 - bl LZDecompressVram -_0800FD3E: - bl sub_800FC2C - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800FD5C @ =gUnknown_824EE34 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - ldr r1, _0800FD64 @ =0x0600d000 - bl LZDecompressVram - b _0800FD94 - .align 2, 0 -_0800FD5C: .4byte gUnknown_824EE34 -_0800FD60: .4byte 0x06008000 -_0800FD64: .4byte 0x0600d000 -_0800FD68: - bl sub_800FC2C - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800FD88 @ =gUnknown_824EE34 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x10 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _0800FD94 - .align 2, 0 -_0800FD88: .4byte gUnknown_824EE34 -_0800FD8C: - bl LoadBattleMenuWindowGfx - b _0800FD94 -_0800FD92: - movs r4, 0x1 -_0800FD94: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_800FCB4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_crush.s b/asm/berry_crush.s deleted file mode 100644 index 6502fc916..000000000 --- a/asm/berry_crush.s +++ /dev/null @@ -1,580 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814B6F0 -sub_814B6F0: @ 814B6F0 - ldr r0, _0814B6F8 @ =gUnknown_203F3DC - ldr r0, [r0] - bx lr - .align 2, 0 -_0814B6F8: .4byte gUnknown_203F3DC - thumb_func_end sub_814B6F0 - - thumb_func_start sub_814B6FC -sub_814B6FC: @ 814B6FC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _0814B70C @ =gUnknown_203F3DC - ldr r0, [r5] - cmp r0, 0 - bne _0814B710 - movs r0, 0x2 - b _0814B740 - .align 2, 0 -_0814B70C: .4byte gUnknown_203F3DC -_0814B710: - cmp r4, 0 - bne _0814B716 - ldr r4, [r0] -_0814B716: - ldrb r0, [r0, 0xA] - bl DestroyTask - ldr r0, [r5] - bl Free - movs r0, 0 - str r0, [r5] - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B748 @ =CB2_ReturnToField - cmp r4, r0 - bne _0814B73E - ldr r0, _0814B74C @ =0x0000012f - bl PlayNewMapMusic - ldr r0, _0814B750 @ =sub_8056534 - bl sub_80565E0 -_0814B73E: - movs r0, 0 -_0814B740: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0814B748: .4byte CB2_ReturnToField -_0814B74C: .4byte 0x0000012f -_0814B750: .4byte sub_8056534 - thumb_func_end sub_814B6FC - - thumb_func_start sub_814B754 -sub_814B754: @ 814B754 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0 - mov r8, r0 - ldr r0, _0814B784 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0814B772 - ldr r0, _0814B788 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0814B790 -_0814B772: - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B78C @ =Rfu - mov r1, r8 - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - b _0814B7DC - .align 2, 0 -_0814B784: .4byte gReceivedRemoteLinkPlayers -_0814B788: .4byte gWirelessCommType -_0814B78C: .4byte Rfu -_0814B790: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r8 - cmp r0, 0x1 - bls _0814B7AC - cmp r7, r8 - bcc _0814B7C0 -_0814B7AC: - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B7BC @ =Rfu - movs r1, 0 - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - b _0814B7DC - .align 2, 0 -_0814B7BC: .4byte Rfu -_0814B7C0: - ldr r6, _0814B7E8 @ =gUnknown_203F3DC - ldr r0, _0814B7EC @ =0x000041c0 - bl AllocZeroed - adds r5, r0, 0 - str r5, [r6] - cmp r5, 0 - bne _0814B7F4 - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B7F0 @ =Rfu - strh r5, [r0, 0x10] - strh r5, [r0, 0x12] -_0814B7DC: - adds r0, 0xEE - ldrb r1, [r0] - movs r1, 0x1 - strb r1, [r0] - b _0814B84C - .align 2, 0 -_0814B7E8: .4byte gUnknown_203F3DC -_0814B7EC: .4byte 0x000041c0 -_0814B7F0: .4byte Rfu -_0814B7F4: - str r4, [r5] - movs r4, 0 - strb r7, [r5, 0x8] - ldr r0, [r6] - mov r1, r8 - strb r1, [r0, 0x9] - ldr r0, [r6] - bl sub_814BABC - ldr r1, [r6] - movs r2, 0x1 - movs r0, 0x1 - strh r0, [r1, 0x12] - strb r2, [r1, 0xE] - ldr r1, [r6] - movs r0, 0x6 - strb r0, [r1, 0xF] - ldr r0, [r6] - adds r0, 0x36 - movs r2, 0x1 - negs r2, r2 - movs r1, 0x10 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl sub_814D564 - ldr r2, [r6] - adds r2, 0x36 - movs r0, 0x4 - movs r1, 0x1 - bl sub_814BB4C - ldr r0, _0814B858 @ =sub_814BA80 - bl SetMainCallback2 - ldr r0, _0814B85C @ =sub_814BA98 - movs r1, 0x8 - bl CreateTask - ldr r1, [r6] - strb r0, [r1, 0xA] -_0814B84C: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B858: .4byte sub_814BA80 -_0814B85C: .4byte sub_814BA98 - thumb_func_end sub_814B754 - - thumb_func_start sub_814B860 -sub_814B860: @ 814B860 - push {r4,lr} - sub sp, 0xC - ldr r1, _0814B878 @ =gSpecialVar_ItemId - ldrh r0, [r1] - subs r0, 0x85 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2B - bls _0814B87C - movs r0, 0x85 - strh r0, [r1] - b _0814B884 - .align 2, 0 -_0814B878: .4byte gSpecialVar_ItemId -_0814B87C: - ldrh r0, [r1] - movs r1, 0x1 - bl RemoveBagItem -_0814B884: - ldr r4, _0814B8E0 @ =gUnknown_203F3DC - ldr r2, [r4] - ldrb r0, [r2, 0x8] - lsls r0, 5 - adds r0, r2, r0 - ldr r1, _0814B8E4 @ =gSpecialVar_ItemId - ldrh r1, [r1] - subs r1, 0x85 - adds r0, 0xA4 - movs r3, 0 - strh r1, [r0] - movs r0, 0x1 - strb r0, [r2, 0xE] - ldr r1, [r4] - movs r0, 0x9 - strb r0, [r1, 0xF] - ldr r0, [r4] - adds r0, 0x36 - movs r2, 0x1 - negs r2, r2 - movs r1, 0x10 - str r1, [sp] - str r3, [sp, 0x4] - str r3, [sp, 0x8] - movs r1, 0 - bl sub_814D564 - ldr r2, [r4] - adds r2, 0x36 - movs r0, 0x4 - movs r1, 0x1 - bl sub_814BB4C - ldr r0, _0814B8E8 @ =sub_814BA98 - movs r1, 0x8 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0xA] - ldr r0, _0814B8EC @ =sub_814BA80 - bl SetMainCallback2 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B8E0: .4byte gUnknown_203F3DC -_0814B8E4: .4byte gSpecialVar_ItemId -_0814B8E8: .4byte sub_814BA98 -_0814B8EC: .4byte sub_814BA80 - thumb_func_end sub_814B860 - - thumb_func_start sub_814B8F0 -sub_814B8F0: @ 814B8F0 - push {lr} - ldr r0, _0814B90C @ =gUnknown_203F3DC - ldr r0, [r0] - ldrb r0, [r0, 0xA] - bl DestroyTask - ldr r1, _0814B910 @ =sub_814B860 - movs r0, 0x5 - movs r2, 0 - bl InitBerryPouch - pop {r0} - bx r0 - .align 2, 0 -_0814B90C: .4byte gUnknown_203F3DC -_0814B910: .4byte sub_814B860 - thumb_func_end sub_814B8F0 - - thumb_func_start sub_814B914 -sub_814B914: @ 814B914 - push {lr} - ldr r0, _0814B920 @ =sub_814BA6C - bl SetVBlankCallback - pop {r0} - bx r0 - .align 2, 0 -_0814B920: .4byte sub_814BA6C - thumb_func_end sub_814B914 - - thumb_func_start sub_814B924 -sub_814B924: @ 814B924 - push {lr} - movs r0, 0 - bl SetVBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_814B924 - - thumb_func_start sub_814B930 -sub_814B930: @ 814B930 - push {r4,r5,lr} - ldr r4, _0814B974 @ =gUnknown_203F3DC - ldr r0, [r4] - adds r0, 0x6C - ldrh r2, [r0] - lsls r2, 8 - movs r1, 0xF0 - lsls r1, 6 - adds r0, r2, 0 - bl sub_80D8B68 - adds r2, r0, 0 - ldr r0, [r4] - adds r0, 0x72 - ldrh r3, [r0] - lsls r3, 8 - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_80D8B68 - adds r3, r0, 0 - ldr r0, _0814B978 @ =0x0000ffff - ands r3, r0 - ldr r2, [r4] - strh r3, [r2, 0x16] - ldrb r0, [r2, 0x9] - cmp r0, 0x3 - beq _0814B9B4 - cmp r0, 0x3 - bgt _0814B97C - cmp r0, 0x2 - beq _0814B986 - b _0814BA3C - .align 2, 0 -_0814B974: .4byte gUnknown_203F3DC -_0814B978: .4byte 0x0000ffff -_0814B97C: - cmp r0, 0x4 - beq _0814B9E4 - cmp r0, 0x5 - beq _0814BA14 - b _0814BA3C -_0814B986: - ldr r5, _0814B9B0 @ =gSaveBlock2Ptr - ldr r1, [r5] - movs r0, 0xAF - lsls r0, 4 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - movs r2, 0xAF - lsls r2, 4 - b _0814BA38 - .align 2, 0 -_0814B9B0: .4byte gSaveBlock2Ptr -_0814B9B4: - ldr r5, _0814B9DC @ =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, _0814B9E0 @ =0x00000af2 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - ldr r2, _0814B9E0 @ =0x00000af2 - b _0814BA38 - .align 2, 0 -_0814B9DC: .4byte gSaveBlock2Ptr -_0814B9E0: .4byte 0x00000af2 -_0814B9E4: - ldr r5, _0814BA0C @ =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, _0814BA10 @ =0x00000af4 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - ldr r2, _0814BA10 @ =0x00000af4 - b _0814BA38 - .align 2, 0 -_0814BA0C: .4byte gSaveBlock2Ptr -_0814BA10: .4byte 0x00000af4 -_0814BA14: - ldr r5, _0814BA60 @ =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, _0814BA64 @ =0x00000af6 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - ldr r2, _0814BA64 @ =0x00000af6 -_0814BA38: - adds r0, r2 - strh r1, [r0] -_0814BA3C: - ldr r4, _0814BA68 @ =gUnknown_203F3DC - ldr r1, [r4] - ldr r0, [r1, 0x68] - str r0, [r1, 0x1C] - bl GiveBerryPowder - lsls r0, 24 - cmp r0, 0 - bne _0814BA5A - ldr r0, [r4] - adds r0, 0x25 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_0814BA5A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814BA60: .4byte gSaveBlock2Ptr -_0814BA64: .4byte 0x00000af6 -_0814BA68: .4byte gUnknown_203F3DC - thumb_func_end sub_814B930 - - thumb_func_start sub_814BA6C -sub_814BA6C: @ 814BA6C - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_814BA6C - - thumb_func_start sub_814BA80 -sub_814BA80: @ 814BA80 - push {lr} - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_814BA80 - - thumb_func_start sub_814BA98 -sub_814BA98: @ 814BA98 - push {r4,lr} - ldr r4, _0814BAB8 @ =gUnknown_203F3DC - ldr r0, [r4] - ldr r2, [r0, 0x4] - cmp r2, 0 - beq _0814BAAC - adds r1, r0, 0 - adds r1, 0x36 - bl _call_via_r2 -_0814BAAC: - ldr r0, [r4] - bl sub_814D9CC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814BAB8: .4byte gUnknown_203F3DC - thumb_func_end sub_814BA98 - - thumb_func_start sub_814BABC -sub_814BABC: @ 814BABC - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - b _0814BAE8 -_0814BAC4: - lsls r4, r5, 5 - adds r0, r4, 0 - adds r0, 0x98 - adds r0, r6, r0 - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - ldr r2, _0814BB2C @ =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r4, r6, r4 - adds r4, 0x9F - movs r0, 0xFF - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0814BAE8: - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814BAC4 - cmp r5, 0x4 - bhi _0814BB14 -_0814BAF2: - lsls r4, r5, 5 - adds r0, r4, 0 - adds r0, 0x98 - adds r0, r6, r0 - movs r1, 0x1 - movs r2, 0x7 - bl memset - adds r4, r6, r4 - adds r4, 0x9F - movs r0, 0xFF - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0814BAF2 -_0814BB14: - ldr r0, _0814BB30 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsls r0, 29 - lsrs r0, 29 - cmp r0, 0x1 - beq _0814BB3E - cmp r0, 0x1 - bgt _0814BB34 - cmp r0, 0 - beq _0814BB3A - b _0814BB46 - .align 2, 0 -_0814BB2C: .4byte gLinkPlayers + 8 -_0814BB30: .4byte gSaveBlock2Ptr -_0814BB34: - cmp r0, 0x2 - beq _0814BB42 - b _0814BB46 -_0814BB3A: - movs r0, 0x8 - b _0814BB44 -_0814BB3E: - movs r0, 0x4 - b _0814BB44 -_0814BB42: - movs r0, 0x1 -_0814BB44: - strb r0, [r6, 0xB] -_0814BB46: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814BABC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s deleted file mode 100644 index 7495c8519..000000000 --- a/asm/berry_crush_2.s +++ /dev/null @@ -1,3494 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814BB4C -sub_814BB4C: @ 814BB4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r2, 0 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - mov r8, r4 - bl sub_814B6F0 - adds r6, r0, 0 - cmp r5, 0x19 - bls _0814BB6A - movs r5, 0 -_0814BB6A: - cmp r4, 0 - beq _0814BB74 - cmp r4, 0x1 - beq _0814BBA0 - b _0814BBAA -_0814BB74: - cmp r5, 0 - beq _0814BB88 - ldr r0, _0814BB9C @ =gUnknown_846E34C - lsls r1, r5, 2 - adds r1, r0 - ldr r2, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r2 -_0814BB88: - ldrb r0, [r6, 0xE] - cmp r0, 0x19 - bls _0814BB92 - mov r0, r8 - strb r0, [r6, 0xE] -_0814BB92: - ldr r0, _0814BB9C @ =gUnknown_846E34C - ldrb r1, [r6, 0xE] - lsls r1, 2 - b _0814BBA4 - .align 2, 0 -_0814BB9C: .4byte gUnknown_846E34C -_0814BBA0: - ldr r0, _0814BBB4 @ =gUnknown_846E34C - lsls r1, r5, 2 -_0814BBA4: - adds r1, r0 - ldr r0, [r1] - str r0, [r6, 0x4] -_0814BBAA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814BBB4: .4byte gUnknown_846E34C - thumb_func_end sub_814BB4C - - thumb_func_start sub_814BBB8 -sub_814BBB8: @ 814BBB8 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldrb r2, [r1] - ldrb r3, [r1, 0x1] - lsls r3, 8 - orrs r2, r3 - ldrb r3, [r1, 0x2] - lsls r3, 16 - orrs r2, r3 - ldrb r3, [r1, 0x3] - lsls r3, 24 - adds r0, r2, 0 - orrs r0, r3 - ldrb r2, [r1, 0x9] - strb r2, [r1] - ldrb r4, [r1, 0x8] - lsls r4, 8 - ldrb r2, [r1, 0x7] - orrs r4, r2 - ldr r5, _0814BC0C @ =gPaletteFade - ldrb r3, [r5, 0x8] - movs r2, 0x7F - ands r2, r3 - strb r2, [r5, 0x8] - movs r5, 0x4 - ldrsb r5, [r1, r5] - ldrb r2, [r1, 0x5] - ldrb r3, [r1, 0x6] - str r4, [sp] - adds r1, r5, 0 - bl BeginNormalPaletteFade - bl UpdatePaletteFade - movs r0, 0x2 - strb r0, [r6, 0xE] - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814BC0C: .4byte gPaletteFade - thumb_func_end sub_814BBB8 - - thumb_func_start sub_814BC10 -sub_814BC10: @ 814BC10 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _0814BC44 - cmp r0, 0x1 - bgt _0814BC26 - cmp r0, 0 - beq _0814BC30 - b _0814BC66 -_0814BC26: - cmp r0, 0x2 - beq _0814BC4A - cmp r0, 0x3 - beq _0814BC56 - b _0814BC66 -_0814BC30: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0814BC6C - ldrb r0, [r5] - cmp r0, 0 - bne _0814BC66 - movs r0, 0x3 - b _0814BC6A -_0814BC44: - bl sub_80FA42C - b _0814BC66 -_0814BC4A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0814BC66 - b _0814BC6C -_0814BC56: - ldrb r0, [r4, 0xF] - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strb r0, [r4, 0xC] - b _0814BC6E -_0814BC66: - ldrb r0, [r4, 0xC] - adds r0, 0x1 -_0814BC6A: - strb r0, [r4, 0xC] -_0814BC6C: - movs r0, 0 -_0814BC6E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814BC10 - - thumb_func_start sub_814BC74 -sub_814BC74: @ 814BC74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - adds r5, r1, 0 - ldrb r4, [r5, 0x3] - lsls r4, 8 - ldrb r0, [r5, 0x2] - orrs r4, r0 - ldrb r6, [r7, 0xC] - cmp r6, 0x1 - beq _0814BD20 - cmp r6, 0x1 - bgt _0814BC98 - cmp r6, 0 - beq _0814BCA2 - b _0814BD68 -_0814BC98: - cmp r6, 0x2 - beq _0814BD38 - cmp r6, 0x3 - beq _0814BD48 - b _0814BD68 -_0814BCA2: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldrb r1, [r5, 0x1] - movs r0, 0x2 - mov r8, r0 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0814BCF0 - ldr r4, _0814BCE8 @ =gStringVar4 - ldr r1, _0814BCEC @ =gUnknown_846E328 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - ldrb r3, [r7, 0xB] - str r6, [sp] - mov r0, r8 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - b _0814BD12 - .align 2, 0 -_0814BCE8: .4byte gStringVar4 -_0814BCEC: .4byte gUnknown_846E328 -_0814BCF0: - ldr r1, _0814BD1C @ =gUnknown_846E328 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldrb r3, [r7, 0xB] - str r4, [sp] - mov r0, r8 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 -_0814BD12: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _0814BD68 - .align 2, 0 -_0814BD1C: .4byte gUnknown_846E328 -_0814BD20: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0814BD6E - cmp r4, 0 - bne _0814BD68 - ldrb r0, [r7, 0xC] - adds r0, 0x1 - strb r0, [r7, 0xC] - b _0814BD68 -_0814BD38: - ldr r0, _0814BD44 @ =gMain - ldrh r0, [r0, 0x2E] - ands r4, r0 - cmp r4, 0 - bne _0814BD68 - b _0814BD6E - .align 2, 0 -_0814BD44: .4byte gMain -_0814BD48: - ldrb r1, [r5, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814BD5A - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame -_0814BD5A: - ldrb r0, [r7, 0xE] - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - ldrb r0, [r5, 0x4] - b _0814BD6C -_0814BD68: - ldrb r0, [r7, 0xC] - adds r0, 0x1 -_0814BD6C: - strb r0, [r7, 0xC] -_0814BD6E: - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814BC74 - - thumb_func_start sub_814BD7C -sub_814BD7C: @ 814BD7C - push {r4,lr} - adds r4, r0, 0 - bl sub_814D5C8 - cmp r0, 0 - beq _0814BD94 - ldrb r0, [r4, 0xE] - adds r2, r4, 0 - adds r2, 0x36 - movs r1, 0 - bl sub_814BB4C -_0814BD94: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BD7C - - thumb_func_start sub_814BD9C -sub_814BD9C: @ 814BD9C - push {r4,lr} - adds r4, r0, 0 - bl sub_814D888 - cmp r0, 0 - beq _0814BDB4 - ldrb r0, [r4, 0xE] - adds r2, r4, 0 - adds r2, 0x36 - movs r1, 0 - bl sub_814BB4C -_0814BDB4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BD9C - - thumb_func_start sub_814BDBC -sub_814BDBC: @ 814BDBC - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0 - beq _0814BDCC - cmp r0, 0x1 - beq _0814BDD2 - b _0814BDFC -_0814BDCC: - bl sub_80FA42C - b _0814BDFC -_0814BDD2: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814BE02 - ldr r0, _0814BDF8 @ =0x00000111 - bl PlayNewMapMusic - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x3 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814BE02 - .align 2, 0 -_0814BDF8: .4byte 0x00000111 -_0814BDFC: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814BE02: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BDBC - - thumb_func_start sub_814BE0C -sub_814BE0C: @ 814BE0C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0 - beq _0814BE22 - cmp r0, 0x1 - beq _0814BE48 - adds r0, 0x1 - b _0814BE58 -_0814BE22: - adds r0, r4, 0 - bl sub_814D4D8 - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x1 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x7 - strb r0, [r4, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814BE5A -_0814BE48: - movs r0, 0x8 - strb r0, [r4, 0xE] - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0x2 -_0814BE58: - strb r0, [r4, 0xC] -_0814BE5A: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814BE0C - - thumb_func_start sub_814BE64 -sub_814BE64: @ 814BE64 - push {lr} - movs r1, 0 - str r1, [r0, 0x4] - ldr r0, _0814BE78 @ =sub_814B8F0 - bl SetMainCallback2 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0814BE78: .4byte sub_814B8F0 - thumb_func_end sub_814BE64 - - thumb_func_start sub_814BE7C -sub_814BE7C: @ 814BE7C - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r2, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x5 - bls _0814BE8C - b _0814BFC0 -_0814BE8C: - lsls r0, 2 - ldr r1, _0814BE98 @ =_0814BE9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814BE98: .4byte _0814BE9C - .align 2, 0 -_0814BE9C: - .4byte _0814BEB4 - .4byte _0814BED4 - .4byte _0814BEDA - .4byte _0814BF0A - .4byte _0814BF1A - .4byte _0814BFA4 -_0814BEB4: - movs r0, 0x1 - str r0, [sp] - adds r0, r2, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x9 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814BFC6 -_0814BED4: - bl sub_80FA42C - b _0814BFC0 -_0814BEDA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814BFC6 - adds r4, r5, 0 - adds r4, 0x42 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xC - bl memset - ldrb r0, [r5, 0x8] - lsls r0, 5 - adds r0, r5, r0 - adds r0, 0xA4 - ldrh r0, [r0] - strh r0, [r4] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl SendBlock - b _0814BFC0 -_0814BF0A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814BFC6 - movs r0, 0 - strh r0, [r5, 0x10] - b _0814BFC0 -_0814BF1A: - bl GetBlockReceivedStatus - ldr r2, _0814BF98 @ =gUnknown_846E3C8 - ldrb r4, [r5, 0x9] - subs r1, r4, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _0814BFC6 - movs r3, 0 - cmp r3, r4 - bcs _0814BF7E - ldr r7, _0814BF9C @ =gBlockRecvBuffer - movs r6, 0 - ldr r4, _0814BFA0 @ =gUnknown_83DFC9C -_0814BF3C: - lsls r0, r3, 5 - adds r0, r5, r0 - lsls r1, r3, 8 - adds r1, r7 - ldrh r1, [r1] - adds r2, r0, 0 - adds r2, 0xA4 - strh r1, [r2] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xB0 - bls _0814BF56 - strh r6, [r2] -_0814BF56: - ldrh r1, [r2] - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x18] - ldrb r1, [r1] - adds r0, r1 - strh r0, [r5, 0x18] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x2] - ldr r0, [r5, 0x1C] - adds r0, r1 - str r0, [r5, 0x1C] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r5, 0x9] - cmp r3, r0 - bcc _0814BF3C -_0814BF7E: - movs r0, 0 - strh r0, [r5, 0x10] - bl ResetBlockReceivedFlags - movs r1, 0x18 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r1, 0x80 - lsls r1, 6 - bl sub_80D8B68 - str r0, [r5, 0x20] - b _0814BFC0 - .align 2, 0 -_0814BF98: .4byte gUnknown_846E3C8 -_0814BF9C: .4byte gBlockRecvBuffer -_0814BFA0: .4byte gUnknown_83DFC9C -_0814BFA4: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - movs r0, 0xA - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x4 - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0814BFC6 -_0814BFC0: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814BFC6: - movs r0, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814BE7C - - thumb_func_start sub_814BFD0 -sub_814BFD0: @ 814BFD0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x6 - bls _0814BFDC - b _0814C108 -_0814BFDC: - lsls r0, 2 - ldr r1, _0814BFE8 @ =_0814BFEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814BFE8: .4byte _0814BFEC - .align 2, 0 -_0814BFEC: - .4byte _0814C008 - .4byte _0814C01A - .4byte _0814C048 - .4byte _0814C080 - .4byte _0814C0B0 - .4byte _0814C0D2 - .4byte _0814C0E4 -_0814C008: - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - adds r0, r4, 0 - bl sub_814DA24 - bl sub_80FA42C - b _0814C108 -_0814C01A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C10E - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - ldr r3, _0814C044 @ =0x00000139 - adds r1, r4, r3 - strb r0, [r1] - adds r2, 0x2 - adds r1, r4, r2 - strb r0, [r1] - adds r3, 0x2 - adds r1, r4, r3 - strb r0, [r1] - b _0814C108 - .align 2, 0 -_0814C044: .4byte 0x00000139 -_0814C048: - movs r0, 0x9C - lsls r0, 1 - adds r3, r4, r0 - ldrb r0, [r3] - lsls r0, 2 - movs r2, 0xB8 - lsls r2, 1 - adds r1, r4, r2 - adds r0, r1, r0 - ldr r2, [r0] - ldr r0, _0814C07C @ =sub_814DB84 - str r0, [r2, 0x1C] - ldrb r0, [r3] - lsls r0, 2 - adds r1, r0 - ldr r1, [r1] - adds r1, 0x2C - ldrb r2, [r1] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1] - movs r0, 0x36 - bl PlaySE - b _0814C108 - .align 2, 0 -_0814C07C: .4byte sub_814DB84 -_0814C080: - movs r3, 0x9C - lsls r3, 1 - adds r2, r4, r3 - ldrb r0, [r2] - lsls r0, 2 - adds r3, 0x38 - adds r1, r4, r3 - adds r3, r1, r0 - ldr r0, [r3] - ldr r1, [r0, 0x1C] - ldr r0, _0814C0AC @ =sub_814DB84 - cmp r1, r0 - beq _0814C10E - movs r0, 0 - str r0, [r3] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - bl sub_80FA42C - b _0814C108 - .align 2, 0 -_0814C0AC: .4byte sub_814DB84 -_0814C0B0: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C10E - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - ldrb r0, [r1] - ldrb r2, [r4, 0x9] - cmp r0, r2 - bcs _0814C0CC - movs r0, 0x2 - b _0814C10C -_0814C0CC: - movs r0, 0 - strb r0, [r1] - b _0814C108 -_0814C0D2: - movs r3, 0x9C - lsls r3, 1 - adds r1, r4, r3 - adds r0, r4, 0 - bl sub_814DC24 - bl sub_80FA42C - b _0814C108 -_0814C0E4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C10E - movs r0, 0x25 - bl PlaySE - movs r0, 0xB - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814C10E -_0814C108: - ldrb r0, [r4, 0xC] - adds r0, 0x1 -_0814C10C: - strb r0, [r4, 0xC] -_0814C10E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BFD0 - - thumb_func_start sub_814C118 -sub_814C118: @ 814C118 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0xC] - cmp r1, 0x1 - beq _0814C17C - cmp r1, 0x1 - bgt _0814C12C - cmp r1, 0 - beq _0814C136 - b _0814C23C -_0814C12C: - cmp r1, 0x2 - beq _0814C1FC - cmp r1, 0x3 - beq _0814C21E - b _0814C23C -_0814C136: - ldrh r0, [r4, 0x2A] - adds r0, 0x4 - strh r0, [r4, 0x2A] - lsls r0, 16 - cmp r0, 0 - bge _0814C144 - b _0814C242 -_0814C144: - strh r1, [r4, 0x2A] - ldr r0, _0814C174 @ =0x00000139 - adds r3, r4, r0 - movs r0, 0x4 - strb r0, [r3] - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - ldr r2, _0814C178 @ =gUnknown_846E2F0 - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r2 - ldrb r0, [r0] - movs r2, 0x9D - lsls r2, 1 - adds r1, r4, r2 - strb r0, [r1] - movs r0, 0xCF - bl PlaySE - b _0814C23C - .align 2, 0 -_0814C174: .4byte 0x00000139 -_0814C178: .4byte gUnknown_846E2F0 -_0814C17C: - ldr r7, _0814C1F4 @ =gUnknown_846E2F0 - movs r0, 0x9C - lsls r0, 1 - adds r6, r4, r0 - ldr r1, _0814C1F8 @ =0x00000139 - adds r5, r4, r1 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - ldrb r2, [r6] - adds r0, r2 - adds r0, r7 - movs r1, 0 - ldrsb r1, [r0, r1] - strh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - movs r1, 0x9D - lsls r1, 1 - adds r2, r4, r1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - bcc _0814C242 - ldrb r0, [r5] - cmp r0, 0 - beq _0814C23C - subs r0, 0x1 - strb r0, [r5] - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r7 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0 - strb r0, [r6] - b _0814C242 - .align 2, 0 -_0814C1F4: .4byte gUnknown_846E2F0 -_0814C1F8: .4byte 0x00000139 -_0814C1FC: - movs r0, 0 - strh r0, [r4, 0x2C] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - bl sub_80FA42C - b _0814C23C -_0814C21E: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C242 - movs r0, 0xC - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x6 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814C242 -_0814C23C: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814C242: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814C118 - - thumb_func_start sub_814C24C -sub_814C24C: @ 814C24C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _0814C26C - cmp r0, 0x1 - bgt _0814C262 - cmp r0, 0 - beq _0814C292 - b _0814C2EC -_0814C262: - cmp r0, 0x2 - beq _0814C28A - cmp r0, 0x3 - beq _0814C298 - b _0814C2EC -_0814C26C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C2F2 - movs r1, 0x80 - lsls r1, 5 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x78 - movs r3, 0x50 - bl sub_815F138 - b _0814C2EC -_0814C28A: - bl sub_815F198 - cmp r0, 0 - bne _0814C2F2 -_0814C292: - bl sub_80FA42C - b _0814C2EC -_0814C298: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C2F2 - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldr r2, _0814C2D4 @ =0x00000139 - adds r1, r4, r2 - strb r0, [r1] - adds r2, 0x1 - adds r1, r4, r2 - strb r0, [r1] - adds r2, 0x1 - adds r1, r4, r2 - strb r0, [r1] - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - cmp r0, 0 - bne _0814C2D8 - movs r0, 0xD - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814C2E2 - .align 2, 0 -_0814C2D4: .4byte 0x00000139 -_0814C2D8: - movs r0, 0xE - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814C2E2: - movs r1, 0 - movs r0, 0x7 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814C2F2 -_0814C2EC: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814C2F2: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814C24C - - thumb_func_start sub_814C2FC -sub_814C2FC: @ 814C2FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - movs r0, 0 - mov r8, r0 - movs r2, 0 - adds r7, r2, 0 - ldrb r1, [r4, 0x9] - cmp r7, r1 - bcs _0814C40A - movs r2, 0x5E - adds r2, r4 - mov r9, r2 - ldr r3, _0814C3C0 @ =gUnknown_846E2E0 - mov r10, r3 -_0814C320: - lsls r0, r7, 4 - ldr r1, _0814C3C4 @ =gRecvCmds - adds r2, r0, r1 - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r3, 0xBC - lsls r3, 6 - cmp r0, r3 - bne _0814C3FE - ldrh r0, [r2, 0x2] - cmp r0, 0x2 - bne _0814C3FE - ldrb r1, [r2, 0x4] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0814C3F6 - mov r0, r9 - ldrb r2, [r0] - lsrs r1, r2, 3 - mov r3, r10 - adds r0, r7, r3 - ldrb r0, [r0] - orrs r1, r0 - lsls r1, 3 - movs r0, 0x7 - ands r0, r2 - orrs r0, r1 - mov r1, r9 - strb r0, [r1] - lsls r2, r7, 5 - adds r3, r4, r2 - mov r12, r3 - mov r1, r12 - adds r1, 0xB5 - movs r0, 0x1 - strb r0, [r1] - subs r1, 0x7 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - subs r1, 0x8 - ldrh r0, [r4, 0x28] - ldrh r1, [r1] - subs r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r5, r12 - adds r5, 0xAA - ldrh r1, [r5] - subs r0, r1, 0x1 - adds r6, r2, 0 - cmp r3, r0 - blt _0814C3C8 - adds r0, r1, 0x1 - cmp r3, r0 - bgt _0814C3C8 - mov r1, r12 - adds r1, 0xA8 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - strh r3, [r5] - mov r0, r12 - adds r0, 0xAC - ldrh r1, [r1] - ldrh r2, [r0] - cmp r1, r2 - bls _0814C3D6 - strh r1, [r0] - b _0814C3D6 - .align 2, 0 -_0814C3C0: .4byte gUnknown_846E2E0 -_0814C3C4: .4byte gRecvCmds -_0814C3C8: - adds r0, r4, r6 - adds r2, r0, 0 - adds r2, 0xA8 - movs r1, 0 - strh r1, [r2] - adds r0, 0xAA - strh r3, [r0] -_0814C3D6: - adds r1, r4, r6 - ldrh r0, [r4, 0x28] - adds r3, r1, 0 - adds r3, 0xA6 - movs r2, 0 - strh r0, [r3] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _0814C3FE - strb r2, [r1] - b _0814C3FE -_0814C3F6: - lsls r0, r7, 5 - adds r0, r4, r0 - adds r0, 0xB5 - strb r1, [r0] -_0814C3FE: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r3, [r4, 0x9] - cmp r7, r3 - bcc _0814C320 -_0814C40A: - mov r0, r8 - cmp r0, 0x1 - bls _0814C440 - movs r7, 0 - ldrb r1, [r4, 0x9] - cmp r7, r1 - bcs _0814C440 - movs r3, 0x2 -_0814C41A: - lsls r0, r7, 5 - adds r1, r4, r0 - adds r2, r1, 0 - adds r2, 0xB5 - ldrb r0, [r2] - cmp r0, 0 - beq _0814C434 - orrs r0, r3 - strb r0, [r2] - adds r1, 0xB0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0814C434: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r2, [r4, 0x9] - cmp r7, r2 - bcc _0814C41A -_0814C440: - mov r3, r8 - cmp r3, 0 - beq _0814C4A8 - ldrh r0, [r4, 0x2E] - add r0, r8 - strh r0, [r4, 0x2E] - ldr r1, _0814C490 @ =gUnknown_846E2E8 - mov r0, r8 - subs r0, 0x1 - adds r0, r1 - ldrb r0, [r0] - add r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r4, 0x34] - add r0, r8 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x1A] - add r0, r8 - strh r0, [r4, 0x1A] - movs r1, 0x18 - ldrsh r0, [r4, r1] - movs r3, 0x1A - ldrsh r2, [r4, r3] - subs r0, r2 - cmp r0, 0 - ble _0814C494 - lsls r2, 8 - ldr r1, [r4, 0x20] - adds r0, r2, 0 - bl sub_80D8B68 - adds r2, r0, 0 - asrs r2, 8 - adds r0, r4, 0 - adds r0, 0x24 - strb r2, [r0] - b _0814C4A8 - .align 2, 0 -_0814C490: .4byte gUnknown_846E2E8 -_0814C494: - adds r1, r4, 0 - adds r1, 0x24 - movs r0, 0x20 - strb r0, [r1] - adds r2, r4, 0 - adds r2, 0x5E - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_0814C4A8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814C2FC - - thumb_func_start sub_814C4B8 -sub_814C4B8: @ 814C4B8 - push {r4-r6,lr} - adds r3, r0, 0 - movs r6, 0 - movs r1, 0 - adds r4, r1, 0 - ldrb r0, [r3, 0x9] - cmp r4, r0 - bcs _0814C510 - adds r5, r3, 0 - adds r5, 0x64 -_0814C4CC: - lsls r0, r4, 5 - adds r1, r3, r0 - adds r0, r1, 0 - adds r0, 0xB5 - ldrb r2, [r0] - cmp r2, 0 - beq _0814C504 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r1, 0 - adds r0, 0xB4 - ldrb r0, [r0] - adds r1, r0, 0x1 - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0814C4F4 - movs r0, 0x4 - orrs r1, r0 -_0814C4F4: - lsls r0, r4, 1 - adds r0, r4 - lsls r1, r0 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] -_0814C504: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r1, [r3, 0x9] - cmp r4, r1 - bcc _0814C4CC -_0814C510: - adds r0, r3, 0 - adds r0, 0x24 - ldrb r1, [r0] - adds r0, 0x3C - strh r1, [r0] - cmp r6, 0 - bne _0814C534 - ldr r2, _0814C530 @ =0x0000013b - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0814C600 - movs r4, 0x9C - lsls r4, 1 - adds r1, r3, r4 - b _0814C572 - .align 2, 0 -_0814C530: .4byte 0x0000013b -_0814C534: - ldr r5, _0814C560 @ =0x0000013b - adds r2, r3, r5 - ldrb r0, [r2] - cmp r0, 0 - beq _0814C57A - ldr r0, _0814C564 @ =0x00000139 - adds r1, r3, r0 - ldrb r2, [r1] - cmp r6, r2 - beq _0814C56C - subs r0, r6, 0x1 - strb r0, [r1] - ldr r1, _0814C568 @ =gUnknown_846E314 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x9D - lsls r4, 1 - adds r1, r3, r4 - strb r0, [r1] - b _0814C5A0 - .align 2, 0 -_0814C560: .4byte 0x0000013b -_0814C564: .4byte 0x00000139 -_0814C568: .4byte gUnknown_846E314 -_0814C56C: - movs r5, 0x9C - lsls r5, 1 - adds r1, r3, r5 -_0814C572: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0814C5A0 -_0814C57A: - movs r0, 0x9C - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - strb r0, [r1] - subs r0, r6, 0x1 - ldr r4, _0814C5D0 @ =0x00000139 - adds r1, r3, r4 - strb r0, [r1] - ldr r1, _0814C5D4 @ =gUnknown_846E314 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r5, 0x9D - lsls r5, 1 - adds r1, r3, r5 - strb r0, [r1] - movs r0, 0x1 - strb r0, [r2] -_0814C5A0: - ldr r0, _0814C5D8 @ =0x0000013b - adds r4, r3, r0 - ldrb r0, [r4] - cmp r0, 0 - beq _0814C600 - movs r2, 0x9C - lsls r2, 1 - adds r1, r3, r2 - movs r5, 0x9D - lsls r5, 1 - adds r2, r3, r5 - ldrb r0, [r1] - ldrb r5, [r2] - cmp r0, r5 - bcc _0814C5DC - movs r0, 0 - strb r0, [r1] - ldr r5, _0814C5D0 @ =0x00000139 - adds r1, r3, r5 - strb r0, [r1] - strb r0, [r2] - strb r0, [r4] - movs r1, 0 - b _0814C5F0 - .align 2, 0 -_0814C5D0: .4byte 0x00000139 -_0814C5D4: .4byte gUnknown_846E314 -_0814C5D8: .4byte 0x0000013b -_0814C5DC: - ldr r2, _0814C5F8 @ =gUnknown_846E314 - ldrb r1, [r1] - ldr r4, _0814C5FC @ =0x00000139 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, 0x1 - adds r1, r0 - adds r1, r2 - ldrb r1, [r1] -_0814C5F0: - adds r0, r3, 0 - adds r0, 0x5F - strb r1, [r0] - b _0814C608 - .align 2, 0 -_0814C5F8: .4byte gUnknown_846E314 -_0814C5FC: .4byte 0x00000139 -_0814C600: - adds r1, r3, 0 - adds r1, 0x5F - movs r0, 0 - strb r0, [r1] -_0814C608: - ldrh r1, [r3, 0x26] - adds r0, r3, 0 - adds r0, 0x62 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814C4B8 - - thumb_func_start sub_814C618 -sub_814C618: @ 814C618 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldr r3, _0814C6AC @ =gMain - ldrh r1, [r3, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0814C63A - adds r2, r5, 0 - adds r2, 0x5E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0814C63A: - ldrh r1, [r3, 0x2C] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0814C65A - ldrb r0, [r5, 0x8] - lsls r0, 5 - adds r0, r5, r0 - adds r1, r0, 0 - adds r1, 0xB2 - ldrh r0, [r1] - ldrh r2, [r5, 0x28] - cmp r0, r2 - bcs _0814C65A - adds r0, 0x1 - strh r0, [r1] -_0814C65A: - ldrb r0, [r5, 0x8] - adds r7, r5, 0 - adds r7, 0x5E - cmp r0, 0 - beq _0814C670 - ldrb r1, [r7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0814C670 - b _0814C7AC -_0814C670: - adds r4, r5, 0 - adds r4, 0x5C - movs r0, 0x2 - strh r0, [r4] - ldrh r0, [r5, 0x28] - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - mov r8, r4 - adds r6, r5, 0 - adds r6, 0x25 - cmp r0, 0 - bne _0814C6C8 - movs r0, 0x2E - ldrsh r2, [r5, r0] - ldr r1, _0814C6B0 @ =gUnknown_846E3C4 - ldrb r0, [r5, 0x9] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - ble _0814C6B4 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrb r0, [r6] - movs r1, 0x10 - orrs r0, r1 - b _0814C6BC - .align 2, 0 -_0814C6AC: .4byte gMain -_0814C6B0: .4byte gUnknown_846E3C4 -_0814C6B4: - ldrb r1, [r6] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 -_0814C6BC: - strb r0, [r6] - movs r0, 0 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] -_0814C6C8: - ldrh r0, [r5, 0x28] - movs r1, 0xF - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0814C73E - movs r0, 0x34 - ldrsh r2, [r5, r0] - ldr r3, _0814C6F4 @ =gUnknown_846E3B4 - ldrb r0, [r5, 0x9] - subs r0, 0x2 - lsls r1, r0, 2 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C6F8 - ldrb r1, [r6] - movs r0, 0x1F - ands r0, r1 - strb r0, [r6] - b _0814C738 - .align 2, 0 -_0814C6F4: .4byte gUnknown_846E3B4 -_0814C6F8: - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C70C - ldrb r0, [r6] - movs r1, 0x1F - ands r1, r0 - movs r0, 0x20 - b _0814C734 -_0814C70C: - adds r0, r3, 0x2 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C71C - movs r0, 0x2 - strh r0, [r5, 0x34] - b _0814C738 -_0814C71C: - adds r0, r3, 0x3 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C72C - movs r0, 0x3 - strh r0, [r5, 0x34] - b _0814C738 -_0814C72C: - ldrb r0, [r6] - movs r1, 0x1F - ands r1, r0 - movs r0, 0x80 -_0814C734: - orrs r1, r0 - strb r1, [r6] -_0814C738: - movs r0, 0 - strh r0, [r5, 0x34] - b _0814C76A -_0814C73E: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3C - bls _0814C76A - cmp r0, 0x46 - bls _0814C75A - bl sub_80FBA44 - movs r0, 0 - strh r0, [r5, 0x10] - b _0814C76A -_0814C75A: - ldrb r0, [r7] - movs r4, 0xF8 - ands r4, r0 - cmp r4, 0 - bne _0814C76A - bl sub_80FBA44 - strh r4, [r5, 0x10] -_0814C76A: - ldrh r1, [r5, 0x28] - ldr r0, _0814C7B8 @ =0x00008c9f - cmp r1, r0 - bls _0814C77A - ldrb r0, [r7] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r7] -_0814C77A: - ldrb r1, [r6] - lsls r1, 27 - lsrs r1, 31 - lsls r1, 1 - ldrb r2, [r7] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7] - ldrb r0, [r6] - lsrs r0, 5 - adds r2, r5, 0 - adds r2, 0x66 - strh r0, [r2] - adds r4, r5, 0 - adds r4, 0x42 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0xC - bl memcpy - adds r0, r4, 0 - bl sub_80F9E2C -_0814C7AC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814C7B8: .4byte 0x00008c9f - thumb_func_end sub_814C618 - - thumb_func_start sub_814C7BC -sub_814C7BC: @ 814C7BC - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r3, _0814C808 @ =gRecvCmds - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcs _0814C7E0 - movs r1, 0 -_0814C7CC: - lsls r0, r4, 5 - adds r0, r5, r0 - adds r0, 0xB5 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcc _0814C7CC -_0814C7E0: - adds r2, r3, 0 - ldrh r0, [r2] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0814C7F8 - ldrh r0, [r2, 0x2] - cmp r0, 0x2 - beq _0814C80C -_0814C7F8: - adds r2, r5, 0 - adds r2, 0x25 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _0814C84A - .align 2, 0 -_0814C808: .4byte gRecvCmds -_0814C80C: - adds r4, r5, 0 - adds r4, 0x4E - adds r0, r4, 0 - adds r1, r3, 0 - movs r2, 0xE - bl memcpy - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x2A] - movs r0, 0x5 - ldrsb r0, [r4, r0] - strh r0, [r5, 0x2C] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x28] - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_814DC5C - ldrb r1, [r4, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814C84A - adds r0, r5, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_0814C84A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814C7BC - - thumb_func_start sub_814C850 -sub_814C850: @ 814C850 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x5C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - adds r0, 0x4E - movs r1, 0 - movs r2, 0xE - bl memset - adds r0, r4, 0 - bl sub_814C7BC - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0814C8D8 - ldrh r1, [r4, 0x28] - ldr r0, _0814C8C0 @ =0x00008c9f - cmp r1, r0 - bls _0814C8C4 - adds r0, 0x1 - strh r0, [r4, 0x28] - movs r0, 0x10 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814C8CE - .align 2, 0 -_0814C8C0: .4byte 0x00008c9f -_0814C8C4: - movs r0, 0xF - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814C8CE: - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814C8F2 -_0814C8D8: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_814C2FC - adds r0, r4, 0 - bl sub_814C4B8 - adds r0, r4, 0 - bl sub_814C618 - movs r0, 0 -_0814C8F2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814C850 - - thumb_func_start sub_814C8F8 -sub_814C8F8: @ 814C8F8 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x5C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - adds r0, 0x4E - movs r1, 0 - movs r2, 0xE - bl memset - adds r0, r4, 0 - bl sub_814C7BC - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0814C980 - ldrh r1, [r4, 0x28] - ldr r0, _0814C968 @ =0x00008c9f - cmp r1, r0 - bls _0814C96C - adds r0, 0x1 - strh r0, [r4, 0x28] - movs r0, 0x10 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814C976 - .align 2, 0 -_0814C968: .4byte 0x00008c9f -_0814C96C: - movs r0, 0xF - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814C976: - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814C988 -_0814C980: - adds r0, r4, 0 - bl sub_814C618 - movs r0, 0 -_0814C988: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814C8F8 - - thumb_func_start sub_814C990 -sub_814C990: @ 814C990 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x5 - bls _0814C99C - b _0814CB12 -_0814C99C: - lsls r0, 2 - ldr r1, _0814C9A8 @ =_0814C9AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814C9A8: .4byte _0814C9AC - .align 2, 0 -_0814C9AC: - .4byte _0814C9C4 - .4byte _0814C9EC - .4byte _0814CA3C - .4byte _0814CABC - .4byte _0814CADA - .4byte _0814CAF4 -_0814C9C4: - movs r0, 0x8 - strh r0, [r4, 0x12] - movs r0, 0xCF - bl PlaySE - movs r0, 0x1 - negs r0, r0 - ldr r2, _0814C9E8 @ =0x000003ff - movs r1, 0x8 - bl BlendPalettes - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - b _0814CB12 - .align 2, 0 -_0814C9E8: .4byte 0x000003ff -_0814C9EC: - movs r1, 0x9C - lsls r1, 1 - adds r5, r4, r1 - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0814CA02 - b _0814CB18 -_0814CA02: - movs r0, 0x1 - negs r0, r0 - ldr r2, _0814CA30 @ =0x000003ff - movs r1, 0 - bl BlendPalettes - ldr r2, _0814CA34 @ =0x00000139 - adds r1, r4, r2 - movs r0, 0x4 - strb r0, [r1] - movs r0, 0 - strb r0, [r5] - ldr r2, _0814CA38 @ =gUnknown_846E2F0 - ldrb r1, [r1] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r2 - ldrb r0, [r0] - movs r2, 0x9D - lsls r2, 1 - adds r1, r4, r2 - strb r0, [r1] - b _0814CB12 - .align 2, 0 -_0814CA30: .4byte 0x000003ff -_0814CA34: .4byte 0x00000139 -_0814CA38: .4byte gUnknown_846E2F0 -_0814CA3C: - ldr r7, _0814CAB4 @ =gUnknown_846E2F0 - movs r0, 0x9C - lsls r0, 1 - adds r6, r4, r0 - ldr r1, _0814CAB8 @ =0x00000139 - adds r5, r4, r1 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - ldrb r2, [r6] - adds r0, r2 - adds r0, r7 - movs r1, 0 - ldrsb r1, [r0, r1] - strh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - movs r1, 0x9D - lsls r1, 1 - adds r2, r4, r1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - bcc _0814CB18 - ldrb r0, [r5] - cmp r0, 0 - beq _0814CB12 - subs r0, 0x1 - strb r0, [r5] - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r7 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0 - strb r0, [r6] - b _0814CB18 - .align 2, 0 -_0814CAB4: .4byte gUnknown_846E2F0 -_0814CAB8: .4byte 0x00000139 -_0814CABC: - movs r0, 0 - strh r0, [r4, 0x2C] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - b _0814CB12 -_0814CADA: - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - adds r0, r4, 0 - bl sub_814DE50 - cmp r0, 0 - beq _0814CB18 - bl sub_80FA42C - movs r0, 0 - strh r0, [r4, 0x10] - b _0814CB12 -_0814CAF4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814CB18 - movs r0, 0x11 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814CB1A -_0814CB12: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814CB18: - movs r0, 0 -_0814CB1A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814C990 - - thumb_func_start sub_814CB20 -sub_814CB20: @ 814CB20 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - beq _0814CB64 - cmp r0, 0x1 - bgt _0814CB38 - cmp r0, 0 - beq _0814CB42 - b _0814CBFC -_0814CB38: - cmp r0, 0x2 - beq _0814CB8A - cmp r0, 0x3 - beq _0814CBBC - b _0814CBFC -_0814CB42: - movs r0, 0x9 - strh r0, [r5, 0x12] - movs r0, 0x1A - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0x8 - movs r2, 0x1F - bl BlendPalettes - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x4 - strb r0, [r1] - b _0814CBFC -_0814CB64: - movs r0, 0x9C - lsls r0, 1 - adds r4, r5, r0 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0814CC02 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - movs r2, 0x1F - bl BlendPalettes - movs r0, 0 - strb r0, [r4] - b _0814CBFC -_0814CB8A: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_814DE50 - cmp r0, 0 - beq _0814CC02 - bl sub_80FA42C - movs r0, 0 - strh r0, [r5, 0x10] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - b _0814CBFC -_0814CBBC: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814CC02 - ldr r0, _0814CBF8 @ =gStringVar1 - ldr r1, [r5, 0x1C] - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x7 - movs r2, 0x1 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strh r4, [r5, 0x10] - b _0814CC00 - .align 2, 0 -_0814CBF8: .4byte gStringVar1 -_0814CBFC: - ldrb r0, [r5, 0xC] - adds r0, 0x1 -_0814CC00: - strb r0, [r5, 0xC] -_0814CC02: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814CB20 - - thumb_func_start sub_814CC0C -sub_814CC0C: @ 814CC0C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r7, r0, 0 - ldrb r0, [r7, 0xC] - cmp r0, 0x7 - bls _0814CC22 - b _0814CF8E -_0814CC22: - lsls r0, 2 - ldr r1, _0814CC2C @ =_0814CC30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814CC2C: .4byte _0814CC30 - .align 2, 0 -_0814CC30: - .4byte _0814CC50 - .4byte _0814CC8A - .4byte _0814CC98 - .4byte _0814CD00 - .4byte _0814CE80 - .4byte _0814CF30 - .4byte _0814CF3C - .4byte _0814CF70 -_0814CC50: - adds r4, r7, 0 - adds r4, 0x42 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x4 - bl memset - ldrb r0, [r7, 0x8] - lsls r0, 5 - adds r0, r7, r0 - adds r2, r0, 0 - adds r2, 0xB2 - ldrh r1, [r7, 0x28] - ldrh r0, [r2] - cmp r0, r1 - bls _0814CC72 - strh r1, [r2] -_0814CC72: - ldrb r0, [r7, 0x8] - lsls r0, 5 - adds r0, r7, r0 - adds r0, 0xB2 - ldrh r0, [r0] - strh r0, [r4] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl SendBlock - b _0814CF8E -_0814CC8A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0814CC96 - b _0814CF94 -_0814CC96: - b _0814CF64 -_0814CC98: - bl GetBlockReceivedStatus - ldr r2, _0814CCF4 @ =gUnknown_846E3C8 - ldrb r3, [r7, 0x9] - subs r1, r3, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - beq _0814CCB0 - b _0814CF94 -_0814CCB0: - movs r0, 0 - mov r8, r0 - adds r4, r7, 0 - adds r4, 0x42 - cmp r8, r3 - bcs _0814CCDE - ldr r2, _0814CCF8 @ =gBlockRecvBuffer -_0814CCBE: - mov r3, r8 - lsls r1, r3, 5 - adds r1, r7, r1 - lsls r0, r3, 8 - adds r0, r2 - ldrh r0, [r0] - adds r1, 0xB2 - strh r0, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r6, [r7, 0x9] - cmp r8, r6 - bcc _0814CCBE -_0814CCDE: - movs r0, 0 - strh r0, [r7, 0x10] - strh r0, [r4] - bl ResetBlockReceivedFlags - ldrb r0, [r7, 0x8] - cmp r0, 0 - bne _0814CCFC - movs r0, 0x3 - b _0814CF92 - .align 2, 0 -_0814CCF4: .4byte gUnknown_846E3C8 -_0814CCF8: .4byte gBlockRecvBuffer -_0814CCFC: - movs r0, 0x6 - b _0814CF92 -_0814CD00: - adds r0, r7, 0 - adds r0, 0x68 - movs r1, 0 - movs r2, 0x30 - bl memset - ldrh r1, [r7, 0x28] - adds r0, r7, 0 - adds r0, 0x6C - strh r1, [r0] - movs r0, 0x18 - ldrsh r4, [r7, r0] - ldrh r0, [r7, 0x28] - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl __divsi3 - adds r1, r7, 0 - adds r1, 0x6E - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r7, r1] - lsls r0, 8 - movs r4, 0xC8 - lsls r4, 6 - adds r1, r4, 0 - bl sub_80D8AE0 - adds r2, r0, 0 - movs r3, 0x32 - ldrsh r1, [r7, r3] - lsls r1, 8 - bl sub_80D8B68 - adds r2, r0, r4 - asrs r2, 8 - movs r1, 0x7F - adds r0, r2, 0 - ands r0, r1 - adds r1, r7, 0 - adds r1, 0x70 - strh r0, [r1] - lsls r2, 8 - movs r1, 0xC8 - lsls r1, 7 - adds r0, r2, 0 - bl sub_80D8B68 - adds r2, r0, 0 - ldrb r1, [r7, 0x9] - ldr r0, [r7, 0x1C] - muls r0, r1 - lsls r4, r0, 8 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80D8AE0 - adds r4, r0, 0 - asrs r0, r4, 8 - str r0, [r7, 0x68] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r1, r7, 0 - adds r1, 0x8F - strb r0, [r1] - movs r6, 0 - mov r8, r6 - mov r9, r1 - ldrb r0, [r7, 0x9] - cmp r8, r0 - bcc _0814CDA4 - b _0814CF8E -_0814CDA4: - adds r0, r7, 0 - adds r0, 0x88 - add r0, r8 - mov r1, r8 - strb r1, [r0] - adds r0, r7, 0 - adds r0, 0x90 - add r0, r8 - strb r1, [r0] - mov r3, r8 - lsls r2, r3, 1 - adds r1, r7, 0 - adds r1, 0x74 - adds r1, r2 - lsls r0, r3, 5 - adds r3, r7, r0 - adds r5, r3, 0 - adds r5, 0xAE - ldrh r0, [r5] - strh r0, [r1] - adds r1, r7, 0 - adds r1, 0x72 - ldrh r6, [r1] - adds r0, r6 - strh r0, [r1] - mov r1, r9 - ldrb r0, [r1] - adds r6, r2, 0 - cmp r0, 0x1 - beq _0814CE0E - cmp r0, 0x1 - bgt _0814CDEA - cmp r0, 0 - beq _0814CDF0 - b _0814CE64 -_0814CDEA: - cmp r0, 0x2 - beq _0814CE2C - b _0814CE64 -_0814CDF0: - ldrh r0, [r5] - cmp r0, 0 - beq _0814CE32 - adds r0, r3, 0 - adds r0, 0xAC - ldrh r2, [r0] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_80D8AE0 - adds r2, r0, 0 - ldrh r4, [r5] - b _0814CE5A -_0814CE0E: - ldrh r0, [r5] - cmp r0, 0 - beq _0814CE32 - adds r0, r3, 0 - adds r0, 0xB0 - ldrh r2, [r0] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_80D8AE0 - adds r2, r0, 0 - ldrh r4, [r5] - b _0814CE5A -_0814CE2C: - ldrh r0, [r5] - cmp r0, 0 - bne _0814CE36 -_0814CE32: - movs r4, 0 - b _0814CE64 -_0814CE36: - adds r1, r3, 0 - adds r1, 0xB2 - ldrh r0, [r1] - ldrh r2, [r7, 0x28] - cmp r0, r2 - bcc _0814CE48 - movs r4, 0xC8 - lsls r4, 7 - b _0814CE64 -_0814CE48: - ldrh r2, [r1] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_80D8AE0 - adds r2, r0, 0 - ldrh r4, [r7, 0x28] -_0814CE5A: - lsls r4, 8 - adds r1, r4, 0 - bl sub_80D8B68 - adds r4, r0, 0 -_0814CE64: - asrs r4, 4 - adds r0, r7, 0 - adds r0, 0x7E - adds r0, r6 - strh r4, [r0] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r7, 0x9] - cmp r8, r3 - bcc _0814CDA4 - b _0814CF8E -_0814CE80: - movs r6, 0 - mov r8, r6 - ldrb r0, [r7, 0x9] - subs r0, 0x1 - adds r1, r7, 0 - adds r1, 0x68 - str r1, [sp, 0xC] - cmp r8, r0 - bge _0814CF24 -_0814CE92: - ldrb r0, [r7, 0x9] - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r2, r8 - adds r2, 0x1 - str r2, [sp, 0x8] - cmp r4, r8 - bls _0814CF14 - adds r3, r7, 0 - adds r3, 0x74 - str r3, [sp] - adds r6, r7, 0 - adds r6, 0x88 - str r6, [sp, 0x4] - movs r0, 0x90 - adds r0, r7 - mov r10, r0 - movs r1, 0x7E - adds r1, r7 - mov r9, r1 -_0814CEBC: - subs r2, r4, 0x1 - mov r12, r2 - lsls r6, r2, 1 - ldr r0, [sp] - adds r3, r0, r6 - lsls r5, r4, 1 - adds r1, r0, r5 - ldrh r2, [r3] - ldrh r0, [r1] - cmp r2, r0 - bcs _0814CEE6 - ldrh r0, [r1] - strh r2, [r1] - strh r0, [r3] - ldr r1, [sp, 0x4] - adds r2, r1, r4 - ldrb r3, [r2] - add r1, r12 - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] -_0814CEE6: - mov r2, r9 - adds r3, r2, r6 - adds r1, r2, r5 - ldrh r2, [r3] - ldrh r6, [r1] - cmp r2, r6 - bcs _0814CF0A - ldrh r0, [r1] - strh r2, [r1] - strh r0, [r3] - mov r0, r10 - adds r2, r0, r4 - ldrb r3, [r2] - mov r1, r10 - add r1, r12 - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] -_0814CF0A: - mov r1, r12 - lsls r0, r1, 24 - lsrs r4, r0, 24 - cmp r4, r8 - bhi _0814CEBC -_0814CF14: - ldr r2, [sp, 0x8] - lsls r0, r2, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r7, 0x9] - subs r0, 0x1 - cmp r8, r0 - blt _0814CE92 -_0814CF24: - movs r0, 0 - ldr r1, [sp, 0xC] - movs r2, 0x30 - bl SendBlock - b _0814CF8E -_0814CF30: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814CF94 - b _0814CF64 -_0814CF3C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0814CF94 - adds r4, r7, 0 - adds r4, 0x68 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r1, _0814CF6C @ =gBlockRecvBuffer - adds r0, r4, 0 - movs r2, 0x30 - bl memcpy - bl ResetBlockReceivedFlags -_0814CF64: - movs r0, 0 - strh r0, [r7, 0x10] - b _0814CF8E - .align 2, 0 -_0814CF6C: .4byte gBlockRecvBuffer -_0814CF70: - bl sub_814B930 - movs r0, 0x12 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - movs r1, 0xB - strh r1, [r7, 0x12] - strb r0, [r7, 0xC] - adds r1, r7, 0 - adds r1, 0x24 - strb r0, [r1] - b _0814CF94 -_0814CF8E: - ldrb r0, [r7, 0xC] - adds r0, 0x1 -_0814CF92: - strb r0, [r7, 0xC] -_0814CF94: - movs r0, 0 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814CC0C - - thumb_func_start sub_814CFA8 -sub_814CFA8: @ 814CFA8 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x4 - bhi _0814D084 - lsls r0, 2 - ldr r1, _0814CFC0 @ =_0814CFC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814CFC0: .4byte _0814CFC4 - .align 2, 0 -_0814CFC4: - .4byte _0814CFD8 - .4byte _0814CFEA - .4byte _0814CFFC - .4byte _0814D02C - .4byte _0814D03C -_0814CFD8: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_814E644 - cmp r0, 0 - bne _0814D084 - b _0814D08A -_0814CFEA: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1E - strb r0, [r1] - b _0814D084 -_0814CFFC: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0814D00E - subs r0, 0x1 - strb r0, [r1] - b _0814D08A -_0814D00E: - ldr r0, _0814D028 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814D08A - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_814E80C - b _0814D084 - .align 2, 0 -_0814D028: .4byte gMain -_0814D02C: - ldrh r0, [r5, 0x12] - cmp r0, 0xC - bhi _0814D084 - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0814D08A -_0814D03C: - ldr r0, _0814D07C @ =gStringVar1 - ldr r1, [r5, 0x1C] - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _0814D080 @ =gStringVar2 - bl GetBerryPowder - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D08A - .align 2, 0 -_0814D07C: .4byte gStringVar1 -_0814D080: .4byte gStringVar2 -_0814D084: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D08A: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814CFA8 - - thumb_func_start sub_814D094 -sub_814D094: @ 814D094 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x4 - bhi _0814D178 - lsls r0, 2 - ldr r1, _0814D0AC @ =_0814D0B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814D0AC: .4byte _0814D0B0 - .align 2, 0 -_0814D0B0: - .4byte _0814D0C4 - .4byte _0814D100 - .4byte _0814D106 - .4byte _0814D150 - .4byte _0814D164 -_0814D0C4: - ldrh r1, [r5, 0x28] - ldr r0, _0814D0FC @ =0x00008c9f - cmp r1, r0 - bls _0814D0D6 - movs r1, 0x9C - lsls r1, 1 - adds r0, r5, r1 - bl sub_814EB04 -_0814D0D6: - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x8 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r4, 0 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D17E - .align 2, 0 -_0814D0FC: .4byte 0x00008c9f -_0814D100: - bl sub_80FA42C - b _0814D178 -_0814D106: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D17E - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldr r2, _0814D148 @ =gText_SavingDontTurnOffThePower2 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized2 - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0814D14C @ =sub_80DA634 - movs r1, 0 - bl CreateTask - b _0814D178 - .align 2, 0 -_0814D148: .4byte gText_SavingDontTurnOffThePower2 -_0814D14C: .4byte sub_80DA634 -_0814D150: - ldr r0, _0814D160 @ =sub_80DA634 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0814D178 - b _0814D17E - .align 2, 0 -_0814D160: .4byte sub_80DA634 -_0814D164: - movs r0, 0x14 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0xF - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0814D17E -_0814D178: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D17E: - movs r0, 0 - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D094 - - thumb_func_start sub_814D188 -sub_814D188: @ 814D188 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - beq _0814D1CA - cmp r0, 0x1 - bgt _0814D1A0 - cmp r0, 0 - beq _0814D1A6 - b _0814D230 -_0814D1A0: - cmp r0, 0x2 - beq _0814D1D0 - b _0814D230 -_0814D1A6: - movs r0, 0x1 - str r0, [sp] - adds r0, r6, 0 - movs r1, 0x4 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x14 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strb r0, [r5, 0xC] - b _0814D238 -_0814D1CA: - bl DisplayYesNoMenuDefaultYes - b _0814D230 -_0814D1D0: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0814D236 - adds r0, r5, 0 - adds r0, 0x42 - movs r1, 0 - movs r2, 0xC - bl memset - cmp r4, 0 - bne _0814D202 - bl CheckHasAtLeastOneBerry - lsls r0, 24 - cmp r0, 0 - beq _0814D1FE - strh r4, [r5, 0x14] - b _0814D206 -_0814D1FE: - movs r0, 0x3 - b _0814D204 -_0814D202: - movs r0, 0x1 -_0814D204: - strh r0, [r5, 0x14] -_0814D206: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x8 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x15 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D236 -_0814D230: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D236: - movs r0, 0 -_0814D238: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814D188 - - thumb_func_start sub_814D240 -sub_814D240: @ 814D240 - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _0814D266 - cmp r0, 0x1 - bgt _0814D256 - cmp r0, 0 - beq _0814D260 - b _0814D30C -_0814D256: - cmp r0, 0x2 - beq _0814D288 - cmp r0, 0x3 - beq _0814D296 - b _0814D30C -_0814D260: - bl sub_80FA42C - b _0814D30C -_0814D266: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D312 - ldrh r0, [r4, 0x14] - adds r1, r4, 0 - adds r1, 0x42 - strh r0, [r1] - adds r0, r4, 0 - adds r0, 0x4E - strh r5, [r0] - movs r0, 0 - movs r2, 0x2 - bl SendBlock - b _0814D30C -_0814D288: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D312 - strh r5, [r4, 0x10] - b _0814D30C -_0814D296: - bl GetBlockReceivedStatus - ldr r2, _0814D2E8 @ =gUnknown_846E3C8 - ldrb r3, [r4, 0x9] - subs r1, r3, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _0814D312 - adds r7, r4, 0 - adds r7, 0x42 - adds r6, r4, 0 - adds r6, 0x4E - cmp r5, r3 - bcs _0814D2D4 - adds r1, r6, 0 - ldr r2, _0814D2EC @ =gBlockRecvBuffer -_0814D2BC: - lsls r0, r5, 8 - adds r0, r2 - ldrh r0, [r0] - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4, 0x9] - cmp r5, r0 - bcc _0814D2BC -_0814D2D4: - ldrh r0, [r6] - cmp r0, 0 - beq _0814D2F0 - movs r0, 0x17 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814D2FA - .align 2, 0 -_0814D2E8: .4byte gUnknown_846E3C8 -_0814D2EC: .4byte gBlockRecvBuffer -_0814D2F0: - movs r0, 0x16 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814D2FA: - bl ResetBlockReceivedFlags - movs r1, 0 - movs r0, 0 - strh r0, [r7] - strh r0, [r6] - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814D314 -_0814D30C: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814D312: - movs r0, 0 -_0814D314: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814D240 - - thumb_func_start sub_814D31C -sub_814D31C: @ 814D31C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _0814D34A - cmp r4, 0x1 - bgt _0814D332 - cmp r4, 0 - beq _0814D33C - b _0814D394 -_0814D332: - cmp r4, 0x2 - beq _0814D356 - cmp r4, 0x3 - beq _0814D37A - b _0814D394 -_0814D33C: - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - b _0814D370 -_0814D34A: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _0814D394 - b _0814D39A -_0814D356: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - adds r0, r5, 0 - bl sub_814DA04 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 -_0814D370: - bl BeginNormalPaletteFade - bl UpdatePaletteFade - b _0814D394 -_0814D37A: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0814D39A - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strh r4, [r5, 0x12] - b _0814D398 -_0814D394: - ldrb r0, [r5, 0xC] - adds r0, 0x1 -_0814D398: - strb r0, [r5, 0xC] -_0814D39A: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D31C - - thumb_func_start sub_814D3A4 -sub_814D3A4: @ 814D3A4 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _0814D41C - cmp r4, 0x1 - bgt _0814D3BA - cmp r4, 0 - beq _0814D3C0 - b _0814D456 -_0814D3BA: - cmp r4, 0x2 - beq _0814D434 - b _0814D456 -_0814D3C0: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldrh r1, [r5, 0x14] - cmp r1, 0x3 - bne _0814D3F0 - ldr r0, _0814D3EC @ =gUnknown_846E328 - ldr r2, [r0, 0x14] - ldrb r3, [r5, 0xB] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 - b _0814D40C - .align 2, 0 -_0814D3EC: .4byte gUnknown_846E328 -_0814D3F0: - ldr r0, _0814D418 @ =gUnknown_846E328 - ldr r2, [r0, 0x18] - ldrb r3, [r5, 0xB] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 -_0814D40C: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _0814D456 - .align 2, 0 -_0814D418: .4byte gUnknown_846E328 -_0814D41C: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0814D45C - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x78 - strb r0, [r1] - b _0814D456 -_0814D434: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - ldrb r0, [r1] - adds r4, r0, 0 - cmp r4, 0 - beq _0814D448 - subs r0, 0x1 - strb r0, [r1] - b _0814D45C -_0814D448: - movs r0, 0x18 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D45C -_0814D456: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D45C: - movs r0, 0 - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D3A4 - - thumb_func_start sub_814D468 -sub_814D468: @ 814D468 - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _0814D488 - cmp r4, 0x1 - bgt _0814D47C - cmp r4, 0 - beq _0814D482 - b _0814D4B8 -_0814D47C: - cmp r4, 0x2 - beq _0814D498 - b _0814D4B8 -_0814D482: - bl sub_80FA42C - b _0814D4B8 -_0814D488: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D4BE - bl sub_800AAC0 - b _0814D4B8 -_0814D498: - ldr r0, _0814D4B4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0814D4BE - movs r0, 0x19 - strb r0, [r5, 0xE] - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D4BE - .align 2, 0 -_0814D4B4: .4byte gReceivedRemoteLinkPlayers -_0814D4B8: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D4BE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D468 - - thumb_func_start sub_814D4C8 -sub_814D4C8: @ 814D4C8 - push {lr} - movs r0, 0 - bl sub_814B6FC - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_814D4C8 - - thumb_func_start sub_814D4D8 -sub_814D4D8: @ 814D4D8 - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x33 - bl IncrementGameStat - strb r5, [r4, 0xD] - movs r1, 0 - strh r5, [r4, 0x10] - movs r0, 0x2 - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - str r5, [r4, 0x1C] - strh r5, [r4, 0x18] - strh r5, [r4, 0x1A] - str r5, [r4, 0x20] - adds r0, r4, 0 - adds r0, 0x24 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x25 - movs r0, 0 - strb r0, [r1] - strh r5, [r4, 0x26] - strh r5, [r4, 0x28] - strh r5, [r4, 0x2E] - ldr r0, _0814D560 @ =0x0000ffff - strh r0, [r4, 0x32] - strh r5, [r4, 0x30] - strh r5, [r4, 0x34] - movs r6, 0 - movs r3, 0 -_0814D518: - lsls r0, r5, 5 - adds r2, r4, r0 - adds r1, r2, 0 - adds r1, 0xA4 - ldr r0, _0814D560 @ =0x0000ffff - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xA6 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r1, 0x6 - movs r0, 0x1 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xAC - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strb r6, [r0] - adds r0, 0x1 - strb r6, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0814D518 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814D560: .4byte 0x0000ffff - thumb_func_end sub_814D4D8 - - thumb_func_start sub_814D564 -sub_814D564: @ 814D564 - push {r4-r6,lr} - sub sp, 0x8 - str r2, [sp, 0x4] - ldr r5, [sp, 0x18] - ldr r6, [sp, 0x1C] - ldr r4, [sp, 0x20] - mov r2, sp - strh r4, [r2] - add r4, sp, 0x4 - ldrb r2, [r4] - strb r2, [r0] - ldrb r2, [r4, 0x1] - strb r2, [r0, 0x1] - ldrb r2, [r4, 0x2] - strb r2, [r0, 0x2] - ldrb r2, [r4, 0x3] - strb r2, [r0, 0x3] - strb r3, [r0, 0x4] - strb r5, [r0, 0x5] - strb r6, [r0, 0x6] - mov r2, sp - ldrb r2, [r2] - strb r2, [r0, 0x7] - mov r2, sp - ldrb r2, [r2, 0x1] - strb r2, [r0, 0x8] - strb r1, [r0, 0x9] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814D564 - - thumb_func_start sub_814D5A4 -sub_814D5A4: @ 814D5A4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, [sp, 0x10] - mov r4, sp - strh r3, [r4] - strb r1, [r0] - strb r2, [r0, 0x1] - mov r1, sp - ldrb r1, [r1] - strb r1, [r0, 0x2] - mov r1, sp - ldrb r1, [r1, 0x1] - strb r1, [r0, 0x3] - strb r5, [r0, 0x4] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814D5A4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s deleted file mode 100644 index 9e3334a7f..000000000 --- a/asm/berry_crush_3.s +++ /dev/null @@ -1,3431 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814D5C8 -sub_814D5C8: @ 814D5C8 - push {r4,r5,lr} - sub sp, 0xC - bl sub_814B6F0 - adds r5, r0, 0 - cmp r5, 0 - bne _0814D5DC - movs r0, 0x1 - negs r0, r0 - b _0814D880 -_0814D5DC: - ldrb r0, [r5, 0xC] - cmp r0, 0x9 - bls _0814D5E4 - b _0814D878 -_0814D5E4: - lsls r0, 2 - ldr r1, _0814D5F0 @ =_0814D5F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814D5F0: .4byte _0814D5F4 - .align 2, 0 -_0814D5F4: - .4byte _0814D61C - .4byte _0814D63A - .4byte _0814D660 - .4byte _0814D66E - .4byte _0814D6F4 - .4byte _0814D73A - .4byte _0814D768 - .4byte _0814D798 - .4byte _0814D7F4 - .4byte _0814D830 -_0814D61C: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ScanlineEffect_Stop - bl ResetTempTileDataBuffers - b _0814D878 -_0814D63A: - add r0, sp, 0x8 - movs r4, 0 - strh r4, [r0] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, _0814D658 @ =0x01000200 - bl CpuSet - ldr r0, _0814D65C @ =gReservedSpritePaletteCount - strb r4, [r0] - movs r0, 0x3 - bl sub_815C980 - b _0814D878 - .align 2, 0 -_0814D658: .4byte 0x01000200 -_0814D65C: .4byte gReservedSpritePaletteCount -_0814D660: - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - b _0814D878 -_0814D66E: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0814D6F0 @ =gUnknown_846E3CC - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0xE0 - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x87 - lsls r0, 6 - adds r1, r5, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0xC7 - lsls r0, 6 - adds r1, r5, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - b _0814D878 - .align 2, 0 -_0814D6F0: .4byte gUnknown_846E3CC -_0814D6F4: - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - b _0814D878 -_0814D73A: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r1, _0814D764 @ =gUnknown_8EAFFC0 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _0814D878 - .align 2, 0 -_0814D764: .4byte gUnknown_8EAFFC0 -_0814D768: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - cmp r0, 0 - beq _0814D774 - b _0814D87E -_0814D774: - bl InitStandardTextBoxWindows - bl ResetBg0 - adds r0, r5, 0 - bl sub_814EB38 - adds r0, r5, 0 - bl sub_814EBB0 - ldr r0, _0814D794 @ =gPaletteFade - ldrb r1, [r0, 0x8] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0, 0x8] - b _0814D878 - .align 2, 0 -_0814D794: .4byte gPaletteFade -_0814D798: - ldr r0, _0814D7E4 @ =gUnknown_8EAFEA0 - movs r2, 0xC0 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - ldr r1, _0814D7E8 @ =gUnknown_846ED90 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _0814D7EC @ =gUnknown_846EEC0 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _0814D7F0 @ =gUnknown_846F058 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - adds r0, r5, 0 - bl sub_814EC80 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0814D878 - .align 2, 0 -_0814D7E4: .4byte gUnknown_8EAFEA0 -_0814D7E8: .4byte gUnknown_846ED90 -_0814D7EC: .4byte gUnknown_846EEC0 -_0814D7F0: .4byte gUnknown_846F058 -_0814D7F4: - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - adds r0, r5, 0 - bl sub_814ECE0 - ldr r0, _0814D82C @ =gSpriteCoordOffsetY - ldrh r1, [r0] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x16 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - b _0814D878 - .align 2, 0 -_0814D82C: .4byte gSpriteCoordOffsetY -_0814D830: - ldr r2, _0814D874 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - bl sub_814B914 - movs r0, 0 - strb r0, [r5, 0xC] - movs r0, 0x1 - b _0814D880 - .align 2, 0 -_0814D874: .4byte gPaletteFade -_0814D878: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D87E: - movs r0, 0 -_0814D880: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D5C8 - - thumb_func_start sub_814D888 -sub_814D888: @ 814D888 - push {r4,r5,lr} - sub sp, 0x8 - bl sub_814B6F0 - adds r5, r0, 0 - cmp r5, 0 - bne _0814D89C - movs r0, 0x1 - negs r0, r0 - b _0814D9C2 -_0814D89C: - ldrb r0, [r5, 0xC] - cmp r0, 0x7 - bls _0814D8A4 - b _0814D9BA -_0814D8A4: - lsls r0, 2 - ldr r1, _0814D8B0 @ =_0814D8B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814D8B0: .4byte _0814D8B4 - .align 2, 0 -_0814D8B4: - .4byte _0814D8D4 - .4byte _0814D8DA - .4byte _0814D8E4 - .4byte _0814D8FA - .4byte _0814D906 - .4byte _0814D962 - .4byte _0814D9A2 - .4byte _0814D9B2 -_0814D8D4: - bl sub_80FA42C - b _0814D9BA -_0814D8DA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D9C0 -_0814D8E4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl UpdatePaletteFade - b _0814D9BA -_0814D8FA: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _0814D9BA - b _0814D9C0 -_0814D906: - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0814D9BA -_0814D962: - bl FreeAllWindowBuffers - movs r0, 0 - bl HideBg - movs r0, 0 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl HideBg - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x2 - bl HideBg - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl HideBg - movs r0, 0x3 - bl UnsetBgTilemapBuffer - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl ClearGpuRegBits - b _0814D9BA -_0814D9A2: - bl DestroyWirelessStatusIndicatorSprite - adds r0, r5, 0 - bl sub_814EF10 - bl sub_815C9F4 - b _0814D9BA -_0814D9B2: - movs r0, 0 - strb r0, [r5, 0xC] - movs r0, 0x1 - b _0814D9C2 -_0814D9BA: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D9C0: - movs r0, 0 -_0814D9C2: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D888 - - thumb_func_start sub_814D9CC -sub_814D9CC: @ 814D9CC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0814DA00 @ =gSpriteCoordOffsetY - ldrh r1, [r4, 0x2C] - ldrh r2, [r4, 0x2A] - adds r1, r2 - strh r1, [r0] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x16 - bl SetGpuReg - ldrh r0, [r4, 0x12] - cmp r0, 0x7 - bne _0814D9F8 - movs r1, 0x9C - lsls r1, 1 - adds r0, r4, r1 - ldrh r1, [r4, 0x28] - bl sub_814EAD4 -_0814D9F8: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0814DA00: .4byte gSpriteCoordOffsetY - thumb_func_end sub_814D9CC - - thumb_func_start sub_814DA04 -sub_814DA04: @ 814DA04 - movs r1, 0 - ldr r2, _0814DA18 @ =0x0000ff98 - strh r2, [r0, 0x2A] - strh r1, [r0, 0x2C] - ldr r0, _0814DA1C @ =gSpriteCoordOffsetX - strh r1, [r0] - ldr r0, _0814DA20 @ =gSpriteCoordOffsetY - strh r2, [r0] - bx lr - .align 2, 0 -_0814DA18: .4byte 0x0000ff98 -_0814DA1C: .4byte gSpriteCoordOffsetX -_0814DA20: .4byte gSpriteCoordOffsetY - thumb_func_end sub_814DA04 - - thumb_func_start sub_814DA24 -sub_814DA24: @ 814DA24 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r10, r0 - str r1, [sp] - movs r0, 0 - mov r9, r0 - mov r1, r10 - ldrb r1, [r1, 0x9] - cmp r9, r1 - bcc _0814DA42 - b _0814DB60 -_0814DA42: - ldr r1, _0814DB70 @ =gUnknown_846F2EC - mov r2, r9 - lsls r0, r2, 1 - adds r0, r1 - ldrh r2, [r0] - mov r1, r9 - lsls r0, r1, 5 - add r0, r10 - adds r0, 0xA4 - ldrh r3, [r0] - adds r3, 0x85 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _0814DB74 @ =gUnknown_846F470 - adds r1, r2, 0 - bl AddItemIconObjectWithCustomObjectTemplate - lsls r0, 24 - lsrs r0, 24 - mov r2, r9 - lsls r3, r2, 2 - ldr r1, [sp] - adds r1, 0x38 - adds r6, r1, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0814DB78 @ =gSprites - adds r1, r0 - str r1, [r6] - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r2, [r6] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r6] - ldr r0, [sp] - adds r0, 0xC - adds r0, r3 - mov r8, r0 - ldr r0, [r0] - ldrh r0, [r0, 0x8] - adds r0, 0x78 - strh r0, [r1, 0x20] - ldr r1, [r6] - ldr r0, _0814DB7C @ =0x0000fff0 - strh r0, [r1, 0x22] - ldr r3, [r6] - adds r5, r3, 0 - adds r5, 0x2E - movs r0, 0x80 - lsls r0, 2 - strh r0, [r5, 0x2] - movs r0, 0x20 - strh r0, [r5, 0x4] - movs r0, 0x70 - strh r0, [r5, 0xE] - mov r2, r8 - ldr r1, [r2] - ldrh r0, [r1, 0xA] - ldrh r1, [r1, 0x8] - subs r0, r1 - lsls r0, 16 - asrs r1, r0, 16 - adds r0, r1, 0 - cmp r1, 0 - bge _0814DAD4 - adds r0, r1, 0x3 -_0814DAD4: - asrs r0, 2 - strh r0, [r5, 0xC] - lsls r0, r1, 23 - lsrs r7, r0, 16 - movs r2, 0x80 - lsls r2, 2 - adds r2, 0x20 - lsrs r2, 1 - movs r0, 0x7 - movs r1, 0xFE - lsls r1, 6 - str r3, [sp, 0x4] - bl sub_80D8B40 - adds r4, r0, 0 - ldr r0, [r6] - ldrh r0, [r0, 0x20] - lsls r0, 7 - ldr r3, [sp, 0x4] - strh r0, [r3, 0x2E] - lsls r1, r7, 16 - asrs r1, 16 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x7 - adds r2, r4, 0 - bl sub_80D8B40 - strh r0, [r5, 0x6] - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x55 - bl sub_80D8ABC - adds r2, r0, 0 - movs r0, 0 - strh r0, [r5, 0x8] - lsls r2, 16 - asrs r2, 16 - movs r0, 0x7 - movs r1, 0xFE - lsls r1, 6 - bl sub_80D8B40 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xE] - ldr r2, _0814DB80 @ =0xffff8000 - adds r1, r2, 0 - orrs r0, r1 - strh r0, [r5, 0xE] - mov r1, r8 - ldr r0, [r1] - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _0814DB4C - ldr r0, [r6] - movs r1, 0x1 - bl StartSpriteAffineAnim -_0814DB4C: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r10 - ldrb r0, [r0, 0x9] - cmp r9, r0 - bcs _0814DB60 - b _0814DA42 -_0814DB60: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814DB70: .4byte gUnknown_846F2EC -_0814DB74: .4byte gUnknown_846F470 -_0814DB78: .4byte gSprites -_0814DB7C: .4byte 0x0000fff0 -_0814DB80: .4byte 0xffff8000 - thumb_func_end sub_814DA24 - - thumb_func_start sub_814DB84 -sub_814DB84: @ 814DB84 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r5, 0x26] - adds r0, r2 - strh r0, [r5, 0x26] - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r6, 0x80 - lsls r6, 8 - ands r0, r6 - cmp r0, 0 - beq _0814DBEA - ldrh r0, [r4, 0x6] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - movs r2, 0xC - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r5, 0x24] - movs r1, 0xE - ldrsh r0, [r4, r1] - ands r0, r6 - cmp r0, 0 - beq _0814DBEA - ldrh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - cmp r0, 0x7E - ble _0814DBEA - movs r0, 0 - strh r0, [r5, 0x24] - ldrh r1, [r4, 0xE] - ldr r0, _0814DC1C @ =0x00007fff - ands r0, r1 - strh r0, [r4, 0xE] -_0814DBEA: - ldrh r0, [r4] - lsls r0, 16 - asrs r0, 23 - strh r0, [r5, 0x20] - movs r2, 0x22 - ldrsh r1, [r5, r2] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - ldrh r2, [r4, 0xE] - ldr r0, _0814DC1C @ =0x00007fff - ands r0, r2 - cmp r1, r0 - blt _0814DC16 - ldr r0, _0814DC20 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite -_0814DC16: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814DC1C: .4byte 0x00007fff -_0814DC20: .4byte SpriteCallbackDummy - thumb_func_end sub_814DB84 - - thumb_func_start sub_814DC24 -sub_814DC24: @ 814DC24 - push {r4-r7,lr} - adds r6, r0, 0 - movs r5, 0 - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcs _0814DC50 - ldr r7, _0814DC58 @ =gUnknown_846F2EC -_0814DC32: - lsls r0, r5, 1 - adds r0, r7 - ldrh r4, [r0] - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814DC32 -_0814DC50: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814DC58: .4byte gUnknown_846F2EC - thumb_func_end sub_814DC24 - - thumb_func_start sub_814DC5C -sub_814DC5C: @ 814DC5C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r6, r0, 0 - str r1, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0x4E - adds r1, r6 - mov r10, r1 - mov r9, r0 - ldrb r2, [r6, 0x9] - cmp r0, r2 - bcs _0814DD2A - ldr r7, _0814DCC0 @ =gUnknown_846F2D0 -_0814DC80: - mov r3, r10 - ldrh r0, [r3, 0xA] - mov r4, r9 - lsls r1, r4, 1 - add r1, r9 - asrs r0, r1 - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - lsrs r1, 16 - mov r8, r1 - cmp r1, 0 - beq _0814DD1A - ldr r0, [sp, 0x4] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0814DCC4 - lsls r4, 2 - ldr r5, [sp] - adds r5, 0x24 - adds r0, r5, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _0814DCD6 - .align 2, 0 -_0814DCC0: .4byte gUnknown_846F2D0 -_0814DCC4: - mov r0, r9 - lsls r4, r0, 2 - ldr r5, [sp] - adds r5, 0x24 - adds r0, r5, r4 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim -_0814DCD6: - adds r3, r5, r4 - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r4, 0x5 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - subs r4, 0x3C - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r2, [r3] - movs r0, 0x3 - mov r1, r8 - ands r1, r0 - mov r8, r1 - subs r1, 0x1 - lsls r1, 1 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r2, 0x24] - ldr r2, [r3] - ldr r3, _0814DD38 @ =gUnknown_846F2D0 + 1 - adds r1, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - strh r0, [r2, 0x26] -_0814DD1A: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r4, [r6, 0x9] - cmp r9, r4 - bcc _0814DC80 -_0814DD2A: - ldr r0, [sp, 0x4] - cmp r0, 0 - bne _0814DD3C - adds r2, r6, 0 - adds r2, 0x25 - ldrb r1, [r2] - b _0814DE18 - .align 2, 0 -_0814DD38: .4byte gUnknown_846F2D0 + 1 -_0814DD3C: - ldrh r0, [r6, 0x28] - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r1, r8 - str r1, [sp, 0x8] - movs r2, 0 - mov r9, r2 - mov r3, r10 - ldrh r1, [r3, 0xC] - lsls r0, r1, 1 - adds r0, 0x3 - adds r6, 0x25 - str r6, [sp, 0xC] - adds r3, r1, 0 - cmp r9, r0 - bge _0814DE0C -_0814DD64: - mov r4, r9 - lsls r1, r4, 2 - ldr r0, [sp] - adds r0, 0x4C - adds r7, r0, r1 - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0814DDFA - ldr r0, _0814DDD0 @ =sub_814F0D8 - str r0, [r2, 0x1C] - lsls r1, r4, 1 - ldr r3, _0814DDD4 @ =gUnknown_846F2D6 - adds r0, r1, r3 - movs r4, 0 - ldrsb r4, [r0, r4] - adds r0, r4, 0 - adds r0, 0x78 - strh r0, [r2, 0x20] - ldr r2, [r7] - ldr r0, _0814DDD8 @ =gUnknown_846F2D6 + 1 - adds r1, r0 - movs r6, 0 - ldrsb r6, [r1, r6] - mov r1, r8 - lsls r0, r1, 2 - subs r0, 0x88 - subs r0, r6, r0 - strh r0, [r2, 0x22] - ldr r5, [r7] - ldr r2, [sp, 0x8] - lsls r1, r2, 2 - adds r0, r4, 0 - bl __divsi3 - adds r4, r0 - strh r4, [r5, 0x24] - ldr r0, [r7] - strh r6, [r0, 0x26] - mov r3, r10 - ldrb r1, [r3, 0x4] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0814DDDC - ldr r0, [r7] - movs r1, 0x1 - bl StartSpriteAnim - b _0814DDE4 - .align 2, 0 -_0814DDD0: .4byte sub_814F0D8 -_0814DDD4: .4byte gUnknown_846F2D6 -_0814DDD8: .4byte gUnknown_846F2D6 + 1 -_0814DDDC: - ldr r0, [r7] - movs r1, 0 - bl StartSpriteAnim -_0814DDE4: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r4, r10 - ldrh r3, [r4, 0xC] - cmp r0, 0x3 - bls _0814DDFA - movs r0, 0 - mov r8, r0 -_0814DDFA: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, r3, 1 - adds r0, 0x3 - cmp r9, r0 - blt _0814DD64 -_0814DE0C: - ldr r2, [sp, 0xC] - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0814DE22 -_0814DE18: - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _0814DE40 -_0814DE22: - ldr r3, [sp, 0x4] - cmp r3, 0x1 - bne _0814DE30 - movs r0, 0x47 - bl PlaySE - b _0814DE36 -_0814DE30: - movs r0, 0x46 - bl PlaySE -_0814DE36: - ldr r4, [sp, 0xC] - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_0814DE40: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814DC5C - - thumb_func_start sub_814DE50 -sub_814DE50: @ 814DE50 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r2, 0 - ldrb r0, [r5, 0x9] - cmp r2, r0 - bcs _0814DE82 - adds r4, r6, 0 - adds r4, 0x24 - movs r7, 0x4 - adds r3, r0, 0 -_0814DE66: - lsls r0, r2, 2 - adds r0, r4, r0 - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0814DE9C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _0814DE66 -_0814DE82: - movs r2, 0 - adds r3, r6, 0 - adds r3, 0x4C - movs r4, 0x4 -_0814DE8A: - lsls r0, r2, 2 - adds r0, r3, r0 - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _0814DEA0 -_0814DE9C: - movs r0, 0 - b _0814DEB8 -_0814DEA0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xA - bls _0814DE8A - movs r1, 0x2C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0814DEB6 - movs r0, 0 - strh r0, [r5, 0x2C] -_0814DEB6: - movs r0, 0x1 -_0814DEB8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814DE50 - - thumb_func_start sub_814DEC0 -sub_814DEC0: @ 814DEC0 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r4, r1, 16 - lsrs r4, 16 - movs r7, 0 - movs r5, 0xE1 - lsls r5, 4 - adds r0, r4, 0 - adds r1, r5, 0 - bl __udivsi3 - strh r0, [r6, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3C - bl __udivsi3 - strh r0, [r6, 0x6] - adds r0, r4, 0 - movs r1, 0x3C - bl __umodsi3 - lsls r0, 24 - asrs r0, 16 - movs r1, 0x4 - bl sub_80D8AA0 - adds r2, r7, 0 - lsls r0, 16 - asrs r3, r0, 16 - movs r0, 0x7 - mov r12, r0 - ldr r5, _0814DF3C @ =gUnknown_846E450 - movs r4, 0x1 -_0814DF0C: - mov r0, r12 - subs r1, r0, r2 - adds r0, r3, 0 - asrs r0, r1 - ands r0, r4 - cmp r0, 0 - beq _0814DF22 - lsls r0, r2, 2 - adds r0, r5 - ldr r0, [r0] - adds r7, r0 -_0814DF22: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0814DF0C - ldr r1, _0814DF40 @ =1000000 - adds r0, r7, 0 - bl __udivsi3 - strh r0, [r6, 0x8] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814DF3C: .4byte gUnknown_846E450 -_0814DF40: .4byte 1000000 - thumb_func_end sub_814DEC0 - - thumb_func_start sub_814DF44 -sub_814DF44: @ 814DF44 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x2 - mov r1, r8 - bl GetStringWidth - lsls r4, 2 - lsrs r0, 1 - subs r4, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r5, 1 - adds r0, r5 - ldr r1, _0814DFA0 @ =gUnknown_846E3DC - adds r0, r1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814DFA0: .4byte gUnknown_846E3DC - thumb_func_end sub_814DF44 - - thumb_func_start sub_814DFA4 -sub_814DFA4: @ 814DFA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - str r0, [sp, 0xC] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x18] - movs r0, 0 - mov r8, r0 - movs r1, 0 - str r1, [sp, 0x1C] - movs r2, 0 - str r2, [sp, 0x20] - ldr r4, [sp, 0xC] - adds r4, 0x68 - str r4, [sp, 0x24] - ldr r0, [sp, 0xC] - ldrb r0, [r0, 0x9] - cmp r8, r0 - bcc _0814DFE0 - b _0814E30C -_0814DFE0: - ldr r1, [sp, 0x10] - lsls r1, 2 - str r1, [sp, 0x28] - movs r4, 0xDD - lsls r4, 1 - ldr r2, [sp, 0xC] - adds r4, r2, r4 - str r4, [sp, 0x2C] -_0814DFF0: - bl DynamicPlaceholderTextUtil_Reset - ldr r0, [sp, 0x10] - cmp r0, 0x1 - beq _0814E0E4 - cmp r0, 0x1 - bgt _0814E00A - cmp r0, 0 - beq _0814E01A - mov r1, r8 - lsls r1, 3 - mov r9, r1 - b _0814E0C8 -_0814E00A: - ldr r0, [sp, 0x10] - cmp r0, 0x2 - bne _0814E012 - b _0814E200 -_0814E012: - mov r1, r8 - lsls r1, 3 - mov r9, r1 - b _0814E0C8 -_0814E01A: - ldr r0, [sp, 0x24] - adds r0, 0x20 - add r0, r8 - ldrb r0, [r0] - str r0, [sp, 0x1C] - mov r0, r8 - lsls r3, r0, 1 - ldr r2, [sp, 0x24] - adds r2, 0xC - cmp r0, 0 - beq _0814E048 - adds r0, r2, r3 - mov r1, r8 - subs r1, 0x1 - lsls r1, 1 - adds r1, r2, r1 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _0814E048 - mov r4, r8 - adds r1, r4, 0 - str r1, [sp, 0x20] -_0814E048: - ldr r1, [sp, 0x28] - ldr r4, [sp, 0x10] - adds r0, r1, r4 - lsls r0, 1 - adds r0, r3, r0 - adds r0, r2, r0 - ldrh r1, [r0] - ldr r0, _0814E0D8 @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r0, _0814E0DC @ =gUnknown_846F4B8 - ldr r1, [sp, 0x28] - adds r0, r1, r0 - ldr r5, [r0] - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - ldr r2, [sp, 0x14] - subs r0, r2, r0 - subs r0, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, [sp, 0x2C] - ldrb r0, [r4] - mov r1, r8 - lsls r6, r1, 3 - subs r4, r6, r1 - lsls r4, 1 - ldr r2, [sp, 0x18] - adds r4, r2, r4 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0814E0E0 @ =gUnknown_846E3DC - str r1, [sp] - movs r2, 0 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r7, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - adds r2, r7, 0 - subs r2, 0x18 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _0814E0E0 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, _0814E0D8 @ =gStringVar1 - str r1, [sp, 0x8] - movs r1, 0x2 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - mov r9, r6 -_0814E0C8: - ldr r6, [sp, 0x20] - adds r6, 0xA2 - ldr r2, [sp, 0x1C] - lsls r5, r2, 5 - movs r4, 0x1 - add r4, r8 - mov r10, r4 - b _0814E27E - .align 2, 0 -_0814E0D8: .4byte gStringVar1 -_0814E0DC: .4byte gUnknown_846F4B8 -_0814E0E0: .4byte gUnknown_846E3DC -_0814E0E4: - ldr r0, [sp, 0x24] - add r0, r8 - adds r0, 0x28 - ldrb r0, [r0] - str r0, [sp, 0x1C] - mov r0, r8 - lsls r3, r0, 1 - ldr r2, [sp, 0x24] - adds r2, 0xC - cmp r0, 0 - beq _0814E116 - adds r0, r3, 0 - adds r0, 0xA - adds r0, r2, r0 - mov r4, r8 - lsls r1, r4, 1 - adds r1, 0x8 - adds r1, r2, r1 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _0814E116 - mov r1, r8 - adds r0, r1, 0 - str r0, [sp, 0x20] -_0814E116: - ldr r0, [sp, 0x28] - ldr r1, [sp, 0x10] - adds r4, r0, r1 - lsls r4, 1 - adds r4, r3, r4 - adds r4, r2, r4 - ldrh r1, [r4] - lsrs r1, 4 - ldr r0, _0814E1E4 @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r3, 0 - ldrb r0, [r4] - movs r7, 0xF - ands r7, r0 - movs r2, 0 - ldr r4, [sp, 0x10] - lsls r4, 2 - str r4, [sp, 0x34] - mov r0, r8 - lsls r0, 3 - mov r9, r0 - ldr r1, [sp, 0x14] - subs r1, 0x4 - str r1, [sp, 0x30] - ldr r6, [sp, 0x20] - adds r6, 0xA2 - ldr r4, [sp, 0x1C] - lsls r5, r4, 5 - movs r0, 0x1 - add r0, r8 - mov r10, r0 - movs r1, 0x1 - mov r12, r1 - ldr r4, _0814E1E8 @ =gUnknown_846E450 -_0814E160: - movs r0, 0x3 - subs r1, r0, r2 - adds r0, r7, 0 - asrs r0, r1 - mov r1, r12 - ands r0, r1 - cmp r0, 0 - beq _0814E178 - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - adds r3, r0 -_0814E178: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0814E160 - adds r0, r3, 0 - ldr r1, _0814E1EC @ =1000000 - bl __udivsi3 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0814E1F0 @ =gStringVar2 - adds r1, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0814E1F4 @ =gUnknown_846F4B8 - ldr r2, [sp, 0x34] - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, _0814E1F8 @ =gStringVar4 - bl StringExpandPlaceholders - movs r0, 0x2 - ldr r1, _0814E1F8 @ =gStringVar4 - movs r2, 0 - bl GetStringWidth - adds r2, r0, 0 - ldr r4, [sp, 0x30] - subs r2, r4, r2 - lsls r2, 24 - lsrs r2, 24 - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - mov r4, r9 - mov r1, r8 - subs r3, r4, r1 - lsls r3, 1 - ldr r4, [sp, 0x18] - adds r3, r4, r3 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _0814E1FC @ =gUnknown_846E3DC - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, _0814E1F8 @ =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized3 - b _0814E27E - .align 2, 0 -_0814E1E4: .4byte gStringVar1 -_0814E1E8: .4byte gUnknown_846E450 -_0814E1EC: .4byte 1000000 -_0814E1F0: .4byte gStringVar2 -_0814E1F4: .4byte gUnknown_846F4B8 -_0814E1F8: .4byte gStringVar4 -_0814E1FC: .4byte gUnknown_846E3DC -_0814E200: - mov r2, r8 - str r2, [sp, 0x1C] - mov r0, r8 - adds r4, r0, 0 - str r4, [sp, 0x20] - lsls r5, r0, 5 - ldr r1, [sp, 0xC] - adds r0, r1, r5 - adds r0, 0xA4 - ldrb r2, [r0] - cmp r2, 0x2B - bls _0814E21A - movs r2, 0 -_0814E21A: - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, _0814E294 @ =gBerries - adds r1, r0 - ldr r0, _0814E298 @ =gStringVar1 - bl StringCopy - ldr r0, _0814E29C @ =gUnknown_846F4B8 - ldr r1, [r0, 0x8] - ldr r0, _0814E2A0 @ =gStringVar4 - bl StringExpandPlaceholders - movs r0, 0x2 - ldr r1, _0814E2A0 @ =gStringVar4 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - adds r2, r0, 0 - ldr r4, [sp, 0x14] - subs r2, r4, r2 - subs r2, 0x4 - lsls r2, 24 - lsrs r2, 24 - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - mov r1, r8 - lsls r4, r1, 3 - subs r3, r4, r1 - lsls r3, 1 - ldr r1, [sp, 0x18] - adds r3, r1, r3 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _0814E2A4 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, _0814E2A0 @ =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized3 - mov r9, r4 - mov r6, r8 - adds r6, 0xA2 - movs r2, 0x1 - add r2, r8 - mov r10, r2 -_0814E27E: - ldr r0, [sp, 0x1C] - ldr r4, [sp, 0xC] - ldrb r4, [r4, 0x8] - cmp r0, r4 - bne _0814E2B0 - ldr r0, _0814E2A8 @ =gStringVar3 - ldr r1, _0814E2AC @ =gUnknown_841D020 - bl StringCopy - b _0814E2B8 - .align 2, 0 -_0814E294: .4byte gBerries -_0814E298: .4byte gStringVar1 -_0814E29C: .4byte gUnknown_846F4B8 -_0814E2A0: .4byte gStringVar4 -_0814E2A4: .4byte gUnknown_846E3DC -_0814E2A8: .4byte gStringVar3 -_0814E2AC: .4byte gUnknown_841D020 -_0814E2B0: - ldr r0, _0814E31C @ =gStringVar3 - ldr r1, _0814E320 @ =gUnknown_841D02C - bl StringCopy -_0814E2B8: - ldr r4, _0814E31C @ =gStringVar3 - strb r6, [r4] - adds r1, r5, 0 - adds r1, 0x98 - ldr r0, [sp, 0xC] - adds r1, r0, r1 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, _0814E324 @ =gStringVar4 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - mov r2, r9 - mov r4, r8 - subs r3, r2, r4 - lsls r3, 1 - ldr r1, [sp, 0x18] - adds r3, r1, r3 - lsls r3, 24 - lsrs r3, 24 - ldr r2, _0814E328 @ =gUnknown_846E3DC - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, _0814E324 @ =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x4 - bl AddTextPrinterParameterized3 - mov r2, r10 - lsls r0, r2, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, [sp, 0xC] - ldrb r4, [r4, 0x9] - cmp r8, r4 - bcs _0814E30C - b _0814DFF0 -_0814E30C: - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814E31C: .4byte gStringVar3 -_0814E320: .4byte gUnknown_841D02C -_0814E324: .4byte gStringVar4 -_0814E328: .4byte gUnknown_846E3DC - thumb_func_end sub_814DFA4 - - thumb_func_start sub_814E32C -sub_814E32C: @ 814E32C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - mov r8, r0 - movs r0, 0 - mov r10, r0 - movs r6, 0 - movs r1, 0 - str r1, [sp, 0xC] - mov r2, r8 - adds r2, 0x68 - str r2, [sp, 0x10] - movs r4, 0xDD - lsls r4, 1 - add r4, r8 - mov r9, r4 - ldrb r0, [r4] - movs r1, 0x4 - bl GetWindowAttribute - lsls r0, 27 - movs r1, 0xD6 - lsls r1, 24 - adds r0, r1 - lsrs r7, r0, 24 - movs r0, 0x9C - lsls r0, 1 - add r0, r8 - ldr r2, [sp, 0x10] - ldrh r1, [r2, 0x4] - bl sub_814DEC0 - ldrb r0, [r4] - ldr r4, _0814E560 @ =gUnknown_846E3DC - str r4, [sp] - str r6, [sp, 0x4] - ldr r1, _0814E564 @ =gUnknown_841D050 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, _0814E568 @ =gUnknown_841D088 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r1, 0xBE - subs r0, r1, r0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r2, r9 - ldrb r0, [r2] - ldr r1, _0814E560 @ =gUnknown_846E3DC - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - adds r0, r6, 0 - subs r0, 0x20 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x9F - lsls r0, 1 - add r0, r8 - movs r4, 0 - ldrsh r1, [r0, r4] - ldr r0, _0814E56C @ =gStringVar1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0814E570 @ =gStringVar2 - movs r1, 0xA0 - lsls r1, 1 - add r1, r8 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _0814E574 @ =gStringVar4 - ldr r1, _0814E578 @ =gUnknown_841D080 - adds r0, r5, 0 - bl StringExpandPlaceholders - mov r4, r9 - ldrb r0, [r4] - ldr r1, _0814E560 @ =gUnknown_846E3DC - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, _0814E57C @ =gUnknown_841D078 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - subs r1, r6, 0x3 - subs r1, r0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r1, r9 - ldrb r0, [r1] - ldr r2, _0814E560 @ =gUnknown_846E3DC - str r2, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - adds r0, r6, 0 - subs r0, 0x9 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x9E - lsls r0, 1 - add r0, r8 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, _0814E56C @ =gStringVar1 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r1, _0814E580 @ =gUnknown_841D074 - adds r0, r5, 0 - bl StringExpandPlaceholders - mov r4, r9 - ldrb r0, [r4] - ldr r1, _0814E560 @ =gUnknown_846E3DC - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - adds r0, r7, 0 - adds r0, 0xE - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - ldr r4, _0814E560 @ =gUnknown_846E3DC - str r4, [sp] - mov r1, r10 - str r1, [sp, 0x4] - ldr r1, _0814E584 @ =gUnknown_841D058 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, _0814E588 @ =gUnknown_841D098 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r2, 0xBE - subs r0, r2, r0 - lsls r0, 24 - str r0, [sp, 0x18] - lsrs r6, r0, 24 - mov r1, r9 - ldrb r0, [r1] - ldr r2, _0814E560 @ =gUnknown_846E3DC - str r2, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x3 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - mov r4, r8 - ldrb r2, [r4, 0x16] - ldrh r0, [r4, 0x16] - mov r12, r0 - movs r1, 0x7 - mov r9, r1 - movs r5, 0x1 - ldr r3, _0814E58C @ =gUnknown_846E450 -_0814E4CC: - mov r4, r9 - mov r0, r10 - subs r1, r4, r0 - adds r0, r2, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0814E4EA - mov r1, r10 - lsls r0, r1, 2 - adds r0, r3 - ldr r0, [r0] - ldr r4, [sp, 0xC] - adds r4, r0 - str r4, [sp, 0xC] -_0814E4EA: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0x7 - bls _0814E4CC - ldr r0, _0814E56C @ =gStringVar1 - mov r2, r12 - lsrs r1, r2, 8 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0814E570 @ =gStringVar2 - ldr r1, _0814E590 @ =1000000 - ldr r0, [sp, 0xC] - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, _0814E574 @ =gStringVar4 - ldr r1, _0814E594 @ =gUnknown_841D090 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r6, 0 - subs r0, 0x26 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0814E59C - movs r0, 0xDD - lsls r0, 1 - add r0, r8 - ldrb r0, [r0] - ldr r1, _0814E598 @ =gUnknown_846E3EB - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - b _0814E5B6 - .align 2, 0 -_0814E560: .4byte gUnknown_846E3DC -_0814E564: .4byte gUnknown_841D050 -_0814E568: .4byte gUnknown_841D088 -_0814E56C: .4byte gStringVar1 -_0814E570: .4byte gStringVar2 -_0814E574: .4byte gStringVar4 -_0814E578: .4byte gUnknown_841D080 -_0814E57C: .4byte gUnknown_841D078 -_0814E580: .4byte gUnknown_841D074 -_0814E584: .4byte gUnknown_841D058 -_0814E588: .4byte gUnknown_841D098 -_0814E58C: .4byte gUnknown_846E450 -_0814E590: .4byte 1000000 -_0814E594: .4byte gUnknown_841D090 -_0814E598: .4byte gUnknown_846E3EB -_0814E59C: - movs r0, 0xDD - lsls r0, 1 - add r0, r8 - ldrb r0, [r0] - ldr r1, _0814E630 @ =gUnknown_846E3DC - str r1, [sp] - str r2, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 -_0814E5B6: - adds r0, r7, 0 - adds r0, 0xE - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0xDD - lsls r4, 1 - add r8, r4 - mov r1, r8 - ldrb r0, [r1] - ldr r2, _0814E630 @ =gUnknown_846E3DC - mov r9, r2 - str r2, [sp] - movs r5, 0 - str r5, [sp, 0x4] - ldr r1, _0814E634 @ =gUnknown_841D068 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r0, _0814E638 @ =gStringVar1 - ldr r4, [sp, 0x10] - ldrh r1, [r4, 0x8] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0814E63C @ =gStringVar4 - ldr r1, _0814E640 @ =gUnknown_841D0A4 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r1, 0xBE - subs r1, r0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r1, r8 - ldrb r0, [r1] - mov r2, r9 - str r2, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814E630: .4byte gUnknown_846E3DC -_0814E634: .4byte gUnknown_841D068 -_0814E638: .4byte gStringVar1 -_0814E63C: .4byte gStringVar4 -_0814E640: .4byte gUnknown_841D0A4 - thumb_func_end sub_814E32C - - thumb_func_start sub_814E644 -sub_814E644: @ 814E644 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r6, r1, 0 - adds r0, r6, 0 - adds r0, 0x80 - ldrb r0, [r0] - cmp r0, 0x5 - bls _0814E658 - b _0814E7F8 -_0814E658: - lsls r0, 2 - ldr r1, _0814E664 @ =_0814E668 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814E664: .4byte _0814E668 - .align 2, 0 -_0814E668: - .4byte _0814E680 - .4byte _0814E6CC - .4byte _0814E6E0 - .4byte _0814E704 - .4byte _0814E7D8 - .4byte _0814E7E0 -_0814E680: - ldrb r0, [r4, 0x9] - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - bl sub_814EB04 - ldrh r0, [r4, 0x12] - lsls r0, 3 - ldr r2, _0814E6A8 @ =gUnknown_846E3CC + 4 - mov r1, sp - adds r0, r2 - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - ldrh r0, [r4, 0x12] - cmp r0, 0xD - bne _0814E6B0 - ldr r0, _0814E6AC @ =gUnknown_846E448 - adds r0, 0x4 - b _0814E6B2 - .align 2, 0 -_0814E6A8: .4byte gUnknown_846E3CC + 4 -_0814E6AC: .4byte gUnknown_846E448 -_0814E6B0: - ldr r0, _0814E6C8 @ =gUnknown_846E448 -_0814E6B2: - adds r0, r5, r0 - ldrb r1, [r0] - mov r0, sp - strb r1, [r0, 0x4] - mov r0, sp - bl AddWindow - adds r1, r6, 0 - adds r1, 0x82 - strb r0, [r1] - b _0814E7F8 - .align 2, 0 -_0814E6C8: .4byte gUnknown_846E448 -_0814E6CC: - adds r4, r6, 0 - adds r4, 0x82 - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - b _0814E7F8 -_0814E6E0: - adds r5, r6, 0 - adds r5, 0x82 - ldrb r0, [r5] - ldr r4, _0814E700 @ =0x0000021d - adds r1, r4, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - ldrb r0, [r5] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0xD - bl DrawStdFrameWithCustomTileAndPalette - b _0814E7F8 - .align 2, 0 -_0814E700: .4byte 0x0000021d -_0814E704: - ldrb r0, [r4, 0x9] - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x12] - cmp r0, 0xC - beq _0814E764 - cmp r0, 0xC - bgt _0814E71C - cmp r0, 0xB - beq _0814E722 - b _0814E7F8 -_0814E71C: - cmp r0, 0xD - beq _0814E7B4 - b _0814E7F8 -_0814E722: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r3, _0814E75C @ =gUnknown_841D0A8 - movs r1, 0x16 - movs r2, 0x3 - bl sub_814DF44 - ldr r0, _0814E760 @ =gUnknown_846E448 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r3, 3 - ldrb r1, [r4, 0x9] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xB0 - bl sub_814DFA4 - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0x5 - b _0814E800 - .align 2, 0 -_0814E75C: .4byte gUnknown_841D0A8 -_0814E760: .4byte gUnknown_846E448 -_0814E764: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r2, _0814E7AC @ =gUnknown_846F4B8 - adds r1, r4, 0 - adds r1, 0x8F - ldrb r1, [r1] - adds r1, 0x3 - lsls r1, 2 - adds r1, r2 - ldr r3, [r1] - movs r1, 0x16 - movs r2, 0x4 - bl sub_814DF44 - ldr r0, _0814E7B0 @ =gUnknown_846E448 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r3, 3 - ldrb r1, [r4, 0x9] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0xB0 - bl sub_814DFA4 - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0x5 - b _0814E800 - .align 2, 0 -_0814E7AC: .4byte gUnknown_846F4B8 -_0814E7B0: .4byte gUnknown_846E448 -_0814E7B4: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r3, _0814E7D4 @ =gUnknown_841D0C0 - movs r1, 0x18 - movs r2, 0x3 - bl sub_814DF44 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xC0 - movs r3, 0x10 - bl sub_814DFA4 - b _0814E7F8 - .align 2, 0 -_0814E7D4: .4byte gUnknown_841D0C0 -_0814E7D8: - adds r0, r4, 0 - bl sub_814E32C - b _0814E7F8 -_0814E7E0: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _0814E804 -_0814E7F8: - adds r1, r6, 0 - adds r1, 0x80 - ldrb r0, [r1] - adds r0, 0x1 -_0814E800: - strb r0, [r1] - movs r0, 0 -_0814E804: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814E644 - - thumb_func_start sub_814E80C -sub_814E80C: @ 814E80C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xDD - lsls r0, 1 - adds r5, r4, r0 - ldrb r0, [r5] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r5] - bl RemoveWindow - adds r0, r4, 0 - bl sub_814EBB0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814E80C - - thumb_func_start sub_814E830 -sub_814E830: @ 814E830 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - mov r9, r0 - mov r10, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0814E864 @ =gTasks+0x8 - adds r7, r0, r1 - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0x1 - beq _0814E8B0 - cmp r0, 0x1 - bgt _0814E868 - cmp r0, 0 - beq _0814E876 - b _0814EA66 - .align 2, 0 -_0814E864: .4byte gTasks+0x8 -_0814E868: - cmp r0, 0x2 - bne _0814E86E - b _0814EA2C -_0814E86E: - cmp r0, 0x3 - bne _0814E874 - b _0814EA40 -_0814E874: - b _0814EA66 -_0814E876: - ldr r0, _0814E8A8 @ =gUnknown_846E3F0 - bl AddWindow - strh r0, [r7, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r7, 0x2] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r7, 0x2] - ldr r4, _0814E8AC @ =0x0000021d - adds r1, r4, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - ldrb r0, [r7, 0x2] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0xD - bl DrawStdFrameWithCustomTileAndPalette - b _0814EA66 - .align 2, 0 -_0814E8A8: .4byte gUnknown_846E3F0 -_0814E8AC: .4byte 0x0000021d -_0814E8B0: - ldr r5, _0814E9FC @ =gUnknown_841D118 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r0, 0x2 - adds r1, r5, 0 - mov r2, r8 - bl GetStringWidth - lsrs r0, 1 - movs r4, 0x60 - subs r0, r4, r0 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r7, 0x2] - ldr r6, _0814EA00 @ =gUnknown_846E3E5 - str r6, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - ldr r5, _0814EA04 @ =gUnknown_841D124 - movs r0, 0x2 - adds r1, r5, 0 - mov r2, r8 - bl GetStringWidth - lsrs r0, 1 - subs r4, r0 - lsls r4, 24 - lsrs r2, r4, 24 - ldrb r0, [r7, 0x2] - str r6, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x12 - bl AddTextPrinterParameterized3 - movs r0, 0x2A - str r0, [sp, 0xC] - ldr r1, _0814EA08 @ =gStringVar4 - mov r8, r1 -_0814E90E: - mov r1, r9 - adds r1, 0x2 - ldr r0, _0814EA0C @ =gStringVar1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - mov r0, r8 - ldr r1, _0814EA10 @ =gUnknown_841D13C - bl StringExpandPlaceholders - ldrb r0, [r7, 0x2] - ldr r1, _0814EA14 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x4 - ldr r3, [sp, 0xC] - bl AddTextPrinterParameterized3 - movs r3, 0 - mov r0, r9 - lsls r4, r0, 1 - ldr r1, [sp, 0xC] - adds r1, 0xE - str r1, [sp, 0x10] - movs r0, 0x1 - add r9, r0 - adds r0, r4, r7 - ldrh r0, [r0, 0x4] - movs r2, 0xFF - ands r2, r0 - movs r6, 0x1 - ldr r5, _0814EA18 @ =gUnknown_846E450 -_0814E958: - movs r0, 0x7 - subs r1, r0, r3 - adds r0, r2, 0 - asrs r0, r1 - ands r0, r6 - cmp r0, 0 - beq _0814E96E - lsls r0, r3, 2 - adds r0, r5 - ldr r0, [r0] - add r10, r0 -_0814E96E: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _0814E958 - adds r0, r4, r7 - ldrh r1, [r0, 0x4] - lsrs r1, 8 - ldr r0, _0814EA0C @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, r10 - ldr r1, _0814EA1C @ =1000000 - bl __udivsi3 - adds r1, r0, 0 - ldr r0, _0814EA20 @ =gStringVar2 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r0, r8 - ldr r1, _0814EA24 @ =gUnknown_841D090 - bl StringExpandPlaceholders - movs r1, 0 - strb r1, [r0] - adds r0, 0x1 - ldr r1, _0814EA28 @ =gUnknown_841D098 - bl StringCopy - movs r0, 0x3 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - movs r1, 0xC0 - subs r1, r0 - lsls r1, 24 - lsrs r2, r1, 24 - ldrb r0, [r7, 0x2] - ldr r1, _0814EA14 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x3 - ldr r3, [sp, 0xC] - bl AddTextPrinterParameterized3 - ldr r1, [sp, 0x10] - lsls r0, r1, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - movs r0, 0 - mov r10, r0 - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0x3 - bls _0814E90E - ldrb r0, [r7, 0x2] - movs r1, 0x3 - bl CopyWindowToVram - b _0814EA66 - .align 2, 0 -_0814E9FC: .4byte gUnknown_841D118 -_0814EA00: .4byte gUnknown_846E3E5 -_0814EA04: .4byte gUnknown_841D124 -_0814EA08: .4byte gStringVar4 -_0814EA0C: .4byte gStringVar1 -_0814EA10: .4byte gUnknown_841D13C -_0814EA14: .4byte gUnknown_846E3DC -_0814EA18: .4byte gUnknown_846E450 -_0814EA1C: .4byte 1000000 -_0814EA20: .4byte gStringVar2 -_0814EA24: .4byte gUnknown_841D090 -_0814EA28: .4byte gUnknown_841D098 -_0814EA2C: - ldr r0, _0814EA3C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0814EA66 - b _0814EA6C - .align 2, 0 -_0814EA3C: .4byte gMain -_0814EA40: - ldrb r0, [r7, 0x2] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r7, 0x2] - bl ClearWindowTilemap - ldrb r0, [r7, 0x2] - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl ScriptContext2_Disable - mov r0, r9 - b _0814EA6A -_0814EA66: - ldrh r0, [r7] - adds r0, 0x1 -_0814EA6A: - strh r0, [r7] -_0814EA6C: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814E830 - - thumb_func_start ShowBerryCrushRankings -ShowBerryCrushRankings: @ 814EA7C - push {lr} - bl ScriptContext2_Enable - ldr r0, _0814EAC4 @ =sub_814E830 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814EAC8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0814EACC @ =gSaveBlock2Ptr - ldr r2, [r0] - movs r3, 0xAF - lsls r3, 4 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0xC] - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0xE] - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0x10] - ldr r0, _0814EAD0 @ =0x00000af6 - adds r2, r0 - ldrh r0, [r2] - strh r0, [r1, 0x12] - pop {r0} - bx r0 - .align 2, 0 -_0814EAC4: .4byte sub_814E830 -_0814EAC8: .4byte gTasks -_0814EACC: .4byte gSaveBlock2Ptr -_0814EAD0: .4byte 0x00000af6 - thumb_func_end ShowBerryCrushRankings - - thumb_func_start sub_814EAD4 -sub_814EAD4: @ 814EAD4 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_814DEC0 - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r0, 0 - bl sub_815CD70 - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r0, 0x1 - bl sub_815CD70 - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r0, 0x2 - bl sub_815CD70 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814EAD4 - - thumb_func_start sub_814EB04 -sub_814EB04: @ 814EB04 - push {lr} - ldr r2, [r0, 0x78] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2] - ldr r1, [r0, 0x7C] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x1 - bl sub_815D1A8 - movs r0, 0x1 - movs r1, 0x1 - bl sub_815D1A8 - movs r0, 0 - movs r1, 0x1 - bl sub_815D1A8 - pop {r0} - bx r0 - thumb_func_end sub_814EB04 - - thumb_func_start sub_814EB38 -sub_814EB38: @ 814EB38 - push {r4-r7,lr} - adds r5, r0, 0 - movs r6, 0 - ldrb r0, [r5, 0x9] - cmp r6, r0 - bcs _0814EB98 - ldr r7, _0814EBA0 @ =gUnknown_846F280 -_0814EB46: - lsls r0, r6, 2 - movs r1, 0xA2 - lsls r1, 1 - adds r2, r5, r1 - adds r2, r0 - ldrb r1, [r5, 0x9] - subs r1, 0x2 - lsls r0, r1, 2 - adds r0, r1 - adds r0, r6, r0 - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814EBA4 @ =gUnknown_846F294 - adds r0, r1 - str r0, [r2] - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _0814EBA8 @ =gUnknown_846E3F8 - adds r0, r1 - bl AddWindow - ldr r1, _0814EBAC @ =0x000001bb - adds r4, r5, r1 - adds r4, r6 - strb r0, [r4] - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r5, 0x9] - cmp r6, r0 - bcc _0814EB46 -_0814EB98: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814EBA0: .4byte gUnknown_846F280 -_0814EBA4: .4byte gUnknown_846F294 -_0814EBA8: .4byte gUnknown_846E3F8 -_0814EBAC: .4byte 0x000001bb - thumb_func_end sub_814EB38 - - thumb_func_start sub_814EBB0 -sub_814EBB0: @ 814EBB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r6, r0, 0 - movs r7, 0 - ldrb r0, [r6, 0x9] - cmp r7, r0 - bcs _0814EC66 - movs r1, 0 - mov r8, r1 -_0814EBC6: - ldr r1, _0814EC10 @ =0x000001bb - adds r0, r6, r1 - adds r5, r0, r7 - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r6, 0x8] - cmp r7, r0 - bne _0814EC18 - lsls r4, r7, 5 - adds r4, 0x98 - adds r4, r6, r4 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - lsrs r0, 1 - movs r2, 0x24 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, _0814EC14 @ =gUnknown_846E3DF - str r1, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized4 - b _0814EC4C - .align 2, 0 -_0814EC10: .4byte 0x000001bb -_0814EC14: .4byte gUnknown_846E3DF -_0814EC18: - lsls r4, r7, 5 - adds r4, 0x98 - adds r4, r6, r4 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - lsrs r0, 1 - movs r2, 0x24 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, _0814EC78 @ =gUnknown_846E3E2 - str r1, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized4 -_0814EC4C: - ldr r1, _0814EC7C @ =0x000001bb - adds r0, r6, r1 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r6, 0x9] - cmp r7, r0 - bcc _0814EBC6 -_0814EC66: - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814EC78: .4byte gUnknown_846E3E2 -_0814EC7C: .4byte 0x000001bb - thumb_func_end sub_814EBB0 - - thumb_func_start sub_814EC80 -sub_814EC80: @ 814EC80 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r5, 0 - ldr r0, _0814EC94 @ =gUnknown_8EB0ADC - ldr r4, _0814EC98 @ =gDecompressionBuffer - adds r1, r4, 0 - bl LZ77UnCompWram - b _0814ECCA - .align 2, 0 -_0814EC94: .4byte gUnknown_8EB0ADC -_0814EC98: .4byte gDecompressionBuffer -_0814EC9C: - lsls r1, r5, 2 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r6, r2 - adds r0, r1 - ldr r3, [r0] - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - ldrb r2, [r3, 0x1] - ldrb r3, [r3, 0x2] - movs r0, 0xA - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x3 - bl CopyToBgTilemapBufferRect - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0814ECCA: - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814EC9C - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814EC80 - - thumb_func_start sub_814ECE0 -sub_814ECE0: @ 814ECE0 - push {r4-r7,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r0, _0814EEE0 @ =0x0000ff98 - strh r0, [r6, 0x2A] - strh r5, [r6, 0x2C] - ldr r1, _0814EEE4 @ =gSpriteCoordOffsetX - strh r5, [r1] - ldr r1, _0814EEE8 @ =gSpriteCoordOffsetY - strh r0, [r1] - ldr r4, _0814EEEC @ =gUnknown_846F2F8 -_0814ECF6: - lsls r0, r5, 3 - adds r0, r4 - bl LoadCompressedSpriteSheet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0814ECF6 - ldr r0, _0814EEF0 @ =gUnknown_846F320 - bl LoadSpritePalettes - ldr r0, _0814EEF4 @ =gUnknown_846F410 - movs r1, 0x78 - movs r2, 0x58 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xAC - lsls r0, 1 - adds r3, r6, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, _0814EEF8 @ =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r3] - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1] - movs r5, 0 - ldrb r1, [r6, 0x9] - cmp r5, r1 - bcs _0814EDD2 - movs r7, 0x4 -_0814ED5A: - lsls r4, r5, 2 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r6, r3 - adds r0, r4 - ldr r0, [r0] - ldrh r1, [r0, 0x4] - adds r1, 0x78 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r0, 0x6] - adds r2, 0x20 - lsls r2, 16 - asrs r2, 16 - ldr r0, _0814EEFC @ =gUnknown_846F428 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xAE - lsls r0, 1 - adds r3, r6, r0 - adds r3, r4 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r0, _0814EEF8 @ =gSprites - adds r1, r0 - str r1, [r3] - ldrb r0, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r0, r2 - orrs r0, r7 - strb r0, [r1, 0x5] - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r7 - strb r0, [r1] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814ED5A -_0814EDD2: - movs r5, 0 - ldr r4, _0814EF00 @ =gUnknown_846F2D6 - adds r7, r4, 0x1 -_0814EDD8: - lsls r2, r5, 1 - adds r0, r2, r4 - movs r1, 0 - ldrsb r1, [r0, r1] - adds r1, 0x78 - adds r2, r7 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - adds r2, 0x88 - ldr r0, _0814EF04 @ =gUnknown_846F440 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r5, 2 - movs r1, 0xC2 - lsls r1, 1 - adds r3, r6, r1 - adds r3, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, _0814EEF8 @ =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r3] - strh r5, [r0, 0x2E] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _0814EDD8 - movs r5, 0 -_0814EE3E: - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 19 - movs r3, 0xB0 - lsls r3, 16 - adds r1, r3 - asrs r1, 16 - ldr r0, _0814EF08 @ =gUnknown_846F458 - movs r2, 0x8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r5, 2 - movs r4, 0xD8 - lsls r4, 1 - adds r3, r6, r4 - adds r3, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, _0814EEF8 @ =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r1, r2 - strb r1, [r0, 0x5] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - adds r4, 0x8 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r3, 0x41 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0814EE3E - ldr r4, _0814EF0C @ =gUnknown_846F488 - movs r0, 0 - movs r1, 0 - adds r2, r4, 0 - bl sub_815CA40 - adds r2, r4, 0 - adds r2, 0x10 - movs r0, 0x1 - movs r1, 0 - bl sub_815CA40 - adds r4, 0x20 - movs r0, 0x2 - movs r1, 0 - adds r2, r4, 0 - bl sub_815CA40 - ldrh r0, [r6, 0x12] - cmp r0, 0x1 - bne _0814EED8 - movs r4, 0x9C - lsls r4, 1 - adds r0, r6, r4 - bl sub_814EB04 -_0814EED8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814EEE0: .4byte 0x0000ff98 -_0814EEE4: .4byte gSpriteCoordOffsetX -_0814EEE8: .4byte gSpriteCoordOffsetY -_0814EEEC: .4byte gUnknown_846F2F8 -_0814EEF0: .4byte gUnknown_846F320 -_0814EEF4: .4byte gUnknown_846F410 -_0814EEF8: .4byte gSprites -_0814EEFC: .4byte gUnknown_846F428 -_0814EF00: .4byte gUnknown_846F2D6 -_0814EF04: .4byte gUnknown_846F440 -_0814EF08: .4byte gUnknown_846F458 -_0814EF0C: .4byte gUnknown_846F488 - thumb_func_end sub_814ECE0 - - thumb_func_start sub_814EF10 -sub_814EF10: @ 814EF10 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - movs r0, 0x4 - bl FreeSpriteTilesByTag - movs r0, 0x3 - bl FreeSpriteTilesByTag - movs r0, 0x2 - bl FreeSpriteTilesByTag - movs r0, 0x1 - bl FreeSpriteTilesByTag - movs r0, 0x4 - bl FreeSpritePaletteByTag - movs r0, 0x2 - bl FreeSpritePaletteByTag - movs r0, 0x1 - bl FreeSpritePaletteByTag - movs r0, 0xD8 - lsls r0, 1 - adds r6, r5, r0 -_0814EF46: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0814EF46 - movs r0, 0x2 - bl sub_815D108 - movs r0, 0x1 - bl sub_815D108 - movs r0, 0 - bl sub_815D108 - movs r4, 0 - movs r1, 0xC2 - lsls r1, 1 - adds r6, r5, r1 -_0814EF74: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _0814EF74 - movs r4, 0 - ldrb r2, [r5, 0x9] - cmp r4, r2 - bcs _0814EFAC -_0814EF90: - lsls r1, r4, 2 - movs r2, 0xAE - lsls r2, 1 - adds r0, r5, r2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcc _0814EF90 -_0814EFAC: - movs r1, 0xAC - lsls r1, 1 - adds r0, r5, r1 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814EFC8 - adds r0, r2, 0 - bl DestroySprite -_0814EFC8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814EF10 - - thumb_func_start sub_814EFD0 -sub_814EFD0: @ 814EFD0 - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0814EFF6 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] -_0814EFF6: - pop {r0} - bx r0 - thumb_func_end sub_814EFD0 - - thumb_func_start sub_814EFFC -sub_814EFFC: @ 814EFFC - push {r4,r5,lr} - adds r3, r0, 0 - movs r1, 0 - ldr r5, _0814F040 @ =SpriteCallbackDummy - adds r2, r3, 0 - adds r2, 0x2E - movs r4, 0 -_0814F00A: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r4, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0814F00A - movs r0, 0 - strh r0, [r3, 0x24] - strh r0, [r3, 0x26] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - str r5, [r3, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814F040: .4byte SpriteCallbackDummy - thumb_func_end sub_814EFFC - - thumb_func_start sub_814F044 -sub_814F044: @ 814F044 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r5, 0x26] - adds r0, r2 - strh r0, [r5, 0x26] - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r6, 0x80 - lsls r6, 8 - ands r0, r6 - cmp r0, 0 - beq _0814F0AA - ldrh r0, [r4, 0x6] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - movs r2, 0xC - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r5, 0x24] - movs r1, 0xE - ldrsh r0, [r4, r1] - ands r0, r6 - cmp r0, 0 - beq _0814F0AA - ldrh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - cmp r0, 0x7E - ble _0814F0AA - movs r0, 0 - strh r0, [r5, 0x24] - ldrh r1, [r4, 0xE] - ldr r0, _0814F0D0 @ =0x00007fff - ands r0, r1 - strh r0, [r4, 0xE] -_0814F0AA: - ldrh r0, [r4] - lsls r0, 16 - asrs r0, 23 - strh r0, [r5, 0x20] - movs r2, 0x22 - ldrsh r1, [r5, r2] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - ldrh r2, [r4, 0xE] - ldr r0, _0814F0D0 @ =0x00007fff - ands r0, r2 - cmp r1, r0 - ble _0814F0CA - ldr r0, _0814F0D4 @ =sub_814EFFC - str r0, [r5, 0x1C] -_0814F0CA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814F0D0: .4byte 0x00007fff -_0814F0D4: .4byte sub_814EFFC - thumb_func_end sub_814F044 - - thumb_func_start sub_814F0D8 -sub_814F0D8: @ 814F0D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r6, 0 - adds r7, 0x2E - movs r0, 0 - mov r8, r0 - movs r2, 0xA0 - lsls r2, 2 - strh r2, [r7, 0x2] - movs r0, 0x20 - strh r0, [r7, 0x4] - movs r1, 0xA8 - strh r1, [r7, 0xE] - movs r0, 0x24 - ldrsh r4, [r6, r0] - lsls r4, 23 - lsrs r4, 16 - ldrh r0, [r6, 0x22] - subs r1, r0 - lsls r1, 23 - asrs r1, 16 - adds r2, 0x20 - asrs r2, 1 - movs r0, 0x7 - bl sub_80D8B40 - adds r5, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 7 - strh r0, [r6, 0x2E] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - movs r0, 0x7 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80D8B40 - strh r0, [r7, 0x6] - movs r0, 0x7 - adds r1, r5, 0 - movs r2, 0x55 - bl sub_80D8ABC - adds r2, r0, 0 - mov r1, r8 - strh r1, [r7, 0x8] - movs r1, 0xFE - lsls r1, 6 - lsls r2, 16 - asrs r2, 16 - movs r0, 0x7 - bl sub_80D8B40 - strh r0, [r7, 0xA] - movs r2, 0x24 - ldrsh r0, [r6, r2] - cmp r0, 0 - bge _0814F156 - adds r0, 0x3 -_0814F156: - asrs r0, 2 - strh r0, [r7, 0xC] - ldrh r0, [r7, 0xE] - ldr r2, _0814F194 @ =0xffff8000 - adds r1, r2, 0 - orrs r0, r1 - strh r0, [r7, 0xE] - mov r0, r8 - strh r0, [r6, 0x26] - strh r0, [r6, 0x24] - ldr r0, _0814F198 @ =sub_814F044 - str r0, [r6, 0x1C] - adds r2, r6, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r2, 0x12 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814F194: .4byte 0xffff8000 -_0814F198: .4byte sub_814F044 - thumb_func_end sub_814F0D8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/bike.s b/asm/bike.s index f714c067f..e73e906bc 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -718,7 +718,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8 push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r1, _080BD5F0 @ =gUnknown_2036E2C + ldr r1, _080BD5F0 @ =gUnusedBikeCameraAheadPanback movs r0, 0 strb r0, [r1] ldr r0, _080BD5F4 @ =gPlayerAvatar @@ -733,7 +733,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8 bl Overworld_PlaySpecialMapMusic b _080BD618 .align 2, 0 -_080BD5F0: .4byte gUnknown_2036E2C +_080BD5F0: .4byte gUnusedBikeCameraAheadPanback _080BD5F4: .4byte gPlayerAvatar _080BD5F8: adds r0, r2, 0 diff --git a/asm/cable_club.s b/asm/cable_club.s deleted file mode 100644 index 27a3d93f4..000000000 --- a/asm/cable_club.s +++ /dev/null @@ -1,2526 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8080748 -sub_8080748: @ 8080748 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _08080784 @ =sub_80809F8 - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0808077C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08080788 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0xA] - strh r5, [r1, 0xC] -_0808077C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08080784: .4byte sub_80809F8 -_08080788: .4byte gTasks - thumb_func_end sub_8080748 - - thumb_func_start sub_808078C -sub_808078C: @ 808078C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _080807DC @ =gStringVar1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl SetStdWindowBorderStyle - ldr r5, _080807E0 @ =gStringVar4 - ldr r1, _080807E4 @ =gUnknown_841DF82 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080807DC: .4byte gStringVar1 -_080807E0: .4byte gStringVar4 -_080807E4: .4byte gUnknown_841DF82 - thumb_func_end sub_808078C - - thumb_func_start sub_80807E8 -sub_80807E8: @ 80807E8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl ClearStdWindowAndFrame - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80807E8 - - thumb_func_start sub_8080808 -sub_8080808: @ 8080808 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08080830 @ =gTasks+0x8 - adds r4, r1, r0 - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r5, r0 - beq _0808083E - cmp r5, 0x1 - bhi _08080834 - ldrh r0, [r4, 0xA] - bl sub_80807E8 - b _0808083C - .align 2, 0 -_08080830: .4byte gTasks+0x8 -_08080834: - ldrh r0, [r4, 0xA] - adds r1, r5, 0 - bl sub_808078C -_0808083C: - strh r5, [r4, 0x6] -_0808083E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8080808 - - thumb_func_start sub_8080844 -sub_8080844: @ 8080844 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl GetLinkPlayerDataExchangeStatusTimed - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x5 - bhi _080808B4 - lsls r0, 2 - ldr r1, _08080868 @ =_0808086C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080868: .4byte _0808086C - .align 2, 0 -_0808086C: - .4byte _08080884 - .4byte _080808B4 - .4byte _08080888 - .4byte _0808088C - .4byte _08080890 - .4byte _08080894 -_08080884: - movs r0, 0x1 - b _080808B6 -_08080888: - movs r0, 0x3 - b _080808B6 -_0808088C: - movs r0, 0x7 - b _080808B6 -_08080890: - movs r0, 0x9 - b _080808B6 -_08080894: - ldr r4, _080808B0 @ =gStringVar1 - bl GetLinkPlayerCount_2 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - movs r0, 0x4 - b _080808B6 - .align 2, 0 -_080808B0: .4byte gStringVar1 -_080808B4: - movs r0, 0 -_080808B6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8080844 - - thumb_func_start sub_80808BC -sub_80808BC: @ 80808BC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl HasLinkErrorOccurred - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080808D2 - movs r0, 0 - b _080808E2 -_080808D2: - ldr r0, _080808E8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080808EC @ =sub_8080FF0 - str r0, [r1] - movs r0, 0x1 -_080808E2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080808E8: .4byte gTasks -_080808EC: .4byte sub_8080FF0 - thumb_func_end sub_80808BC - - thumb_func_start sub_80808F0 -sub_80808F0: @ 80808F0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08080924 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08080934 - bl IsLinkConnectionEstablished - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08080934 - ldr r0, _08080928 @ =gLinkType - strh r1, [r0] - ldr r1, _0808092C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08080930 @ =sub_8080FB4 - str r1, [r0] - movs r0, 0x1 - b _08080936 - .align 2, 0 -_08080924: .4byte gMain -_08080928: .4byte gLinkType -_0808092C: .4byte gTasks -_08080930: .4byte sub_8080FB4 -_08080934: - movs r0, 0 -_08080936: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80808F0 - - thumb_func_start sub_808093C -sub_808093C: @ 808093C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsLinkConnectionEstablished - lsls r0, 24 - cmp r0, 0 - beq _08080952 - movs r0, 0x1 - bl SetSuppressLinkErrorMessage -_08080952: - ldr r0, _08080964 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08080968 - movs r0, 0 - b _0808097E - .align 2, 0 -_08080964: .4byte gMain -_08080968: - ldr r1, _08080984 @ =gLinkType - movs r0, 0 - strh r0, [r1] - ldr r1, _08080988 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0808098C @ =sub_8080FB4 - str r1, [r0] - movs r0, 0x1 -_0808097E: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08080984: .4byte gLinkType -_08080988: .4byte gTasks -_0808098C: .4byte sub_8080FB4 - thumb_func_end sub_808093C - - thumb_func_start sub_8080990 -sub_8080990: @ 8080990 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl GetSioMultiSI - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080809A6 - movs r0, 0 - b _080809B6 -_080809A6: - ldr r0, _080809BC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080809C0 @ =sub_8080FF0 - str r0, [r1] - movs r0, 0x1 -_080809B6: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080809BC: .4byte gTasks -_080809C0: .4byte sub_8080FF0 - thumb_func_end sub_8080990 - - thumb_func_start sub_80809C4 -sub_80809C4: @ 80809C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080809F4 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080809EE - movs r0, 0x2 - bl sub_800A474 - adds r0, r4, 0 - bl DestroyTask -_080809EE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080809F4: .4byte gTasks - thumb_func_end sub_80809C4 - - thumb_func_start sub_80809F8 -sub_80809F8: @ 80809F8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08080A28 @ =gTasks+0x8 - adds r4, r1, r0 - movs r3, 0 - ldrsh r2, [r4, r3] - cmp r2, 0 - bne _08080A30 - bl OpenLinkTimed - bl sub_800AA24 - bl ResetLinkPlayers - ldr r0, _08080A2C @ =gUnknown_83C6AB0 - bl AddWindow - strh r0, [r4, 0xA] - b _08080A3C - .align 2, 0 -_08080A28: .4byte gTasks+0x8 -_08080A2C: .4byte gUnknown_83C6AB0 -_08080A30: - cmp r2, 0x9 - ble _08080A3C - subs r0, 0x8 - adds r0, r1, r0 - ldr r1, _08080A48 @ =sub_8080A4C - str r1, [r0] -_08080A3C: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080A48: .4byte sub_8080A4C - thumb_func_end sub_80809F8 - - thumb_func_start sub_8080A4C -sub_8080A4C: @ 8080A4C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080AC0 - adds r0, r4, 0 - bl sub_808093C - cmp r0, 0x1 - beq _08080AC0 - cmp r5, 0x1 - bls _08080AC0 - movs r0, 0x1 - bl SetSuppressLinkErrorMessage - ldr r1, _08080AA4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0 - strh r0, [r4, 0xE] - bl IsLinkMaster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08080AB0 - movs r0, 0x15 - bl PlaySE - ldr r0, _08080AA8 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel - bl ShowFieldAutoScrollMessage - ldr r0, _08080AAC @ =sub_8080AD0 - b _08080ABE - .align 2, 0 -_08080AA4: .4byte gTasks -_08080AA8: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel -_08080AAC: .4byte sub_8080AD0 -_08080AB0: - movs r0, 0x16 - bl PlaySE - ldr r0, _08080AC8 @ =CableClub_Text_AwaitingLinkupBCancel - bl ShowFieldAutoScrollMessage - ldr r0, _08080ACC @ =sub_8080CDC -_08080ABE: - str r0, [r4] -_08080AC0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080AC8: .4byte CableClub_Text_AwaitingLinkupBCancel -_08080ACC: .4byte sub_8080CDC - thumb_func_end sub_8080A4C - - thumb_func_start sub_8080AD0 -sub_8080AD0: @ 8080AD0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080B10 - adds r0, r4, 0 - bl sub_8080990 - cmp r0, 0x1 - beq _08080B10 - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080B10 - bl textbox_any_visible - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08080B10 - ldr r0, _08080B18 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0xE] - ldr r0, _08080B1C @ =sub_8080B20 - str r0, [r1] -_08080B10: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080B18: .4byte gTasks -_08080B1C: .4byte sub_8080B20 - thumb_func_end sub_8080AD0 - - thumb_func_start sub_8080B20 -sub_8080B20: @ 8080B20 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r8, r0 - ldr r0, _08080BB4 @ =gTasks+0x8 - mov r9, r0 - mov r7, r8 - add r7, r9 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080BA8 - adds r0, r4, 0 - bl sub_8080990 - cmp r0, 0x1 - beq _08080BA8 - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080BA8 - adds r6, r5, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8080808 - ldr r0, _08080BB8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08080BA8 - movs r1, 0x2 - ldrsh r0, [r7, r1] - cmp r5, r0 - blt _08080BA8 - adds r0, r6, 0 - bl sub_800A900 - ldrh r0, [r7, 0xA] - bl sub_80807E8 - ldr r0, _08080BBC @ =gStringVar1 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, _08080BC0 @ =CableClub_Text_StartLinkWithXPlayersAConfirmBCancel - bl ShowFieldAutoScrollMessage - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, _08080BC4 @ =sub_8080BC8 - str r1, [r0] -_08080BA8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080BB4: .4byte gTasks+0x8 -_08080BB8: .4byte gMain -_08080BBC: .4byte gStringVar1 -_08080BC0: .4byte CableClub_Text_StartLinkWithXPlayersAConfirmBCancel -_08080BC4: .4byte sub_8080BC8 - thumb_func_end sub_8080B20 - - thumb_func_start sub_8080BC8 -sub_8080BC8: @ 8080BC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r5, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080C5C - adds r0, r5, 0 - bl sub_8080990 - cmp r0, 0x1 - beq _08080C5C - adds r0, r5, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080C5C - bl textbox_any_visible - lsls r0, 24 - cmp r0, 0 - bne _08080C5C - bl GetSavedPlayerCount - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08080C16 - ldr r0, _08080C2C @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08080C3C -_08080C16: - ldr r0, _08080C30 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel - bl ShowFieldAutoScrollMessage - ldr r1, _08080C34 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08080C38 @ =sub_8080AD0 - str r1, [r0] - b _08080C5C - .align 2, 0 -_08080C2C: .4byte gMain -_08080C30: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel -_08080C34: .4byte gTasks -_08080C38: .4byte sub_8080AD0 -_08080C3C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08080C5C - movs r0, 0x5 - bl PlaySE - bl CheckShouldAdvanceLinkState - ldr r0, _08080C64 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _08080C68 @ =sub_8080C6C - str r0, [r1] -_08080C5C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08080C64: .4byte gTasks -_08080C68: .4byte sub_8080C6C - thumb_func_end sub_8080BC8 - - thumb_func_start sub_8080C6C -sub_8080C6C: @ 8080C6C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08080CB0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r7, [r5, 0xA] - ldrb r6, [r5, 0xC] - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080CCE - adds r0, r4, 0 - bl sub_808102C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08080CCE - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl GetSavedPlayerCount - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08080CB8 - ldr r0, _08080CB4 @ =sub_8080FF0 - b _08080CCC - .align 2, 0 -_08080CB0: .4byte gTasks -_08080CB4: .4byte sub_8080FF0 -_08080CB8: - ldr r4, _08080CD4 @ =gSpecialVar_Result - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8080844 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - beq _08080CCE - ldr r0, _08080CD8 @ =sub_8080DC0 -_08080CCC: - str r0, [r5] -_08080CCE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080CD4: .4byte gSpecialVar_Result -_08080CD8: .4byte sub_8080DC0 - thumb_func_end sub_8080C6C - - thumb_func_start sub_8080CDC -sub_8080CDC: @ 8080CDC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08080D30 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r7, [r5, 0xA] - ldrb r6, [r5, 0xC] - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080D74 - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080D74 - ldr r4, _08080D34 @ =gSpecialVar_Result - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8080844 - adds r1, r0, 0 - strh r1, [r4] - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08080D74 - subs r0, r1, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08080D3C - bl sub_800AAC0 - bl HideFieldMessageBox - ldr r0, _08080D38 @ =sub_8080F78 - b _08080D72 - .align 2, 0 -_08080D30: .4byte gTasks -_08080D34: .4byte gSpecialVar_Result -_08080D38: .4byte sub_8080F78 -_08080D3C: - cmp r2, 0x7 - beq _08080D44 - cmp r2, 0x9 - bne _08080D54 -_08080D44: - bl CloseLink - bl HideFieldMessageBox - ldr r0, _08080D50 @ =sub_8080F78 - b _08080D72 - .align 2, 0 -_08080D50: .4byte sub_8080F78 -_08080D54: - bl GetLinkPlayerCount_2 - ldr r4, _08080D7C @ =gFieldLinkPlayerCount - strb r0, [r4] - bl GetMultiplayerId - ldr r1, _08080D80 @ =gLocalLinkPlayerId - strb r0, [r1] - ldrb r0, [r4] - bl sub_800A900 - ldr r0, _08080D84 @ =gBlockSendBuffer - bl TrainerCard_GenerateCardForLinkPlayer - ldr r0, _08080D88 @ =sub_8080E6C -_08080D72: - str r0, [r5] -_08080D74: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080D7C: .4byte gFieldLinkPlayerCount -_08080D80: .4byte gLocalLinkPlayerId -_08080D84: .4byte gBlockSendBuffer -_08080D88: .4byte sub_8080E6C - thumb_func_end sub_8080CDC - - thumb_func_start sub_8080D8C -sub_8080D8C: @ 8080D8C - push {r4,r5,lr} - movs r5, 0 - ldr r4, _08080D94 @ =gLinkPlayers - b _08080DAC - .align 2, 0 -_08080D94: .4byte gLinkPlayers -_08080D98: - ldrb r0, [r4] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08080DA8 - movs r0, 0x1 - b _08080DBA -_08080DA8: - adds r4, 0x1C - adds r5, 0x1 -_08080DAC: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _08080D98 - movs r0, 0 -_08080DBA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8080D8C - - thumb_func_start sub_8080DC0 -sub_8080DC0: @ 8080DC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080E50 - ldr r0, _08080DE8 @ =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bne _08080DEC - bl sub_8080D8C - cmp r0, 0x1 - beq _08080DFE - bl sub_800AAC0 - b _08080E02 - .align 2, 0 -_08080DE8: .4byte gSpecialVar_Result -_08080DEC: - cmp r0, 0x3 - bne _08080DF6 - bl sub_800AAC0 - b _08080E02 -_08080DF6: - cmp r0, 0x7 - beq _08080DFE - cmp r0, 0x9 - bne _08080E20 -_08080DFE: - bl CloseLink -_08080E02: - bl HideFieldMessageBox - ldr r0, _08080E18 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _08080E1C @ =sub_8080F78 - str r0, [r1] - b _08080E50 - .align 2, 0 -_08080E18: .4byte gTasks -_08080E1C: .4byte sub_8080F78 -_08080E20: - bl GetLinkPlayerCount_2 - ldr r4, _08080E58 @ =gFieldLinkPlayerCount - strb r0, [r4] - bl GetMultiplayerId - ldr r1, _08080E5C @ =gLocalLinkPlayerId - strb r0, [r1] - ldrb r0, [r4] - bl sub_800A900 - ldr r0, _08080E60 @ =gBlockSendBuffer - bl TrainerCard_GenerateCardForLinkPlayer - ldr r1, _08080E64 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08080E68 @ =sub_8080E6C - str r1, [r0] - movs r0, 0x2 - bl sub_800A474 -_08080E50: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080E58: .4byte gFieldLinkPlayerCount -_08080E5C: .4byte gLocalLinkPlayerId -_08080E60: .4byte gBlockSendBuffer -_08080E64: .4byte gTasks -_08080E68: .4byte sub_8080E6C - thumb_func_end sub_8080DC0 - - thumb_func_start sub_8080E6C -sub_8080E6C: @ 8080E6C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080F66 - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A8A4 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08080F66 - movs r5, 0 - lsls r0, r7, 2 - mov r8, r0 - b _08080EF8 -_08080E9A: - ldr r1, _08080ED0 @ =gLinkPlayers - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r6, r0, r1 - ldrb r0, [r6] - subs r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _08080EDC - lsls r1, r5, 8 - ldr r0, _08080ED4 @ =gBlockRecvBuffer - adds r1, r0 - ldr r0, _08080ED8 @ =gTrainerCards - lsls r4, r5, 1 - adds r4, r5 - lsls r4, 5 - adds r4, r0 - adds r0, r4, 0 - movs r2, 0x38 - bl memcpy - ldrh r0, [r6] - adds r4, 0x38 - strb r0, [r4] - b _08080EF2 - .align 2, 0 -_08080ED0: .4byte gLinkPlayers -_08080ED4: .4byte gBlockRecvBuffer -_08080ED8: .4byte gTrainerCards -_08080EDC: - lsls r1, r5, 8 - ldr r0, _08080F3C @ =gBlockRecvBuffer - adds r1, r0 - ldr r2, _08080F40 @ =gTrainerCards - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 5 - adds r0, r2 - movs r2, 0x60 - bl memcpy -_08080EF2: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08080EF8: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcc _08080E9A - movs r0, 0 - bl SetSuppressLinkErrorMessage - bl ResetBlockReceivedFlags - bl HideFieldMessageBox - ldr r0, _08080F44 @ =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x1 - bne _08080F54 - ldr r0, _08080F48 @ =gLinkType - ldrh r1, [r0] - ldr r0, _08080F4C @ =0x00004411 - ldr r0, _08080F50 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x12] - bl sub_80807E8 - bl EnableBothScriptContexts - adds r0, r7, 0 - bl DestroyTask - b _08080F66 - .align 2, 0 -_08080F3C: .4byte gBlockRecvBuffer -_08080F40: .4byte gTrainerCards -_08080F44: .4byte gSpecialVar_Result -_08080F48: .4byte gLinkType -_08080F4C: .4byte 0x00004411 -_08080F50: .4byte gTasks -_08080F54: - bl sub_800AAC0 - ldr r0, _08080F70 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _08080F74 @ =sub_8080F78 - str r0, [r1] -_08080F66: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080F70: .4byte gTasks -_08080F74: .4byte sub_8080F78 - thumb_func_end sub_8080E6C - - thumb_func_start sub_8080F78 -sub_8080F78: @ 8080F78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08080FAC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08080FA6 - ldr r0, _08080FB0 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x12] - bl sub_80807E8 - bl EnableBothScriptContexts - ldrb r0, [r4, 0x12] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_08080FA6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080FAC: .4byte gReceivedRemoteLinkPlayers -_08080FB0: .4byte gTasks - thumb_func_end sub_8080F78 - - thumb_func_start sub_8080FB4 -sub_8080FB4: @ 8080FB4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08080FE8 @ =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - ldr r1, _08080FEC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl sub_80807E8 - bl HideFieldMessageBox - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080FE8: .4byte gSpecialVar_Result -_08080FEC: .4byte gTasks - thumb_func_end sub_8080FB4 - - thumb_func_start sub_8080FF0 -sub_8080FF0: @ 8080FF0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08081024 @ =gSpecialVar_Result - movs r0, 0x6 - strh r0, [r1] - ldr r1, _08081028 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl sub_80807E8 - bl HideFieldMessageBox - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081024: .4byte gSpecialVar_Result -_08081028: .4byte gTasks - thumb_func_end sub_8080FF0 - - thumb_func_start sub_808102C -sub_808102C: @ 808102C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08081050 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 18 - cmp r0, r1 - bgt _08081054 - movs r0, 0 - b _0808105A - .align 2, 0 -_08081050: .4byte gTasks -_08081054: - ldr r0, _08081060 @ =sub_8080FF0 - str r0, [r2] - movs r0, 0x1 -_0808105A: - pop {r1} - bx r1 - .align 2, 0 -_08081060: .4byte sub_8080FF0 - thumb_func_end sub_808102C - - thumb_func_start TryBattleLinkup -TryBattleLinkup: @ 8081064 - push {r4,lr} - movs r3, 0x2 - movs r2, 0x2 - ldr r0, _0808107C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _08081098 - cmp r0, 0x2 - bgt _08081080 - cmp r0, 0x1 - beq _08081086 - b _080810B4 - .align 2, 0 -_0808107C: .4byte gSpecialVar_0x8004 -_08081080: - cmp r0, 0x5 - beq _080810A8 - b _080810B4 -_08081086: - movs r3, 0x2 - ldr r1, _08081090 @ =gLinkType - ldr r4, _08081094 @ =0x00002233 - b _080810B0 - .align 2, 0 -_08081090: .4byte gLinkType -_08081094: .4byte 0x00002233 -_08081098: - movs r3, 0x2 - ldr r1, _080810A0 @ =gLinkType - ldr r4, _080810A4 @ =0x00002244 - b _080810B0 - .align 2, 0 -_080810A0: .4byte gLinkType -_080810A4: .4byte 0x00002244 -_080810A8: - movs r3, 0x4 - movs r2, 0x4 - ldr r1, _080810C4 @ =gLinkType - ldr r4, _080810C8 @ =0x00002255 -_080810B0: - adds r0, r4, 0 - strh r0, [r1] -_080810B4: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8080748 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080810C4: .4byte gLinkType -_080810C8: .4byte 0x00002255 - thumb_func_end TryBattleLinkup - - thumb_func_start TryTradeLinkup -TryTradeLinkup: @ 80810CC - push {lr} - ldr r1, _080810E8 @ =gLinkType - ldr r2, _080810EC @ =0x00001133 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080810F0 @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x2 - movs r1, 0x2 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_080810E8: .4byte gLinkType -_080810EC: .4byte 0x00001133 -_080810F0: .4byte gBattleTypeFlags - thumb_func_end TryTradeLinkup - - thumb_func_start sub_80810F4 -sub_80810F4: @ 80810F4 - push {lr} - ldr r1, _08081118 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r1, _0808111C @ =gLinkType - ldr r2, _08081120 @ =0x00003311 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08081124 @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_08081118: .4byte gSpecialVar_Result -_0808111C: .4byte gLinkType -_08081120: .4byte 0x00003311 -_08081124: .4byte gBattleTypeFlags - thumb_func_end sub_80810F4 - - thumb_func_start sub_8081128 -sub_8081128: @ 8081128 - push {lr} - ldr r1, _08081144 @ =gLinkType - ldr r2, _08081148 @ =0x00006601 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0808114C @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x4 - movs r1, 0x4 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_08081144: .4byte gLinkType -_08081148: .4byte 0x00006601 -_0808114C: .4byte gBattleTypeFlags - thumb_func_end sub_8081128 - - thumb_func_start sub_8081150 -sub_8081150: @ 8081150 - push {lr} - ldr r0, _08081164 @ =sub_80811FC - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08081168 - movs r0, 0xFF - b _080811EC - .align 2, 0 -_08081164: .4byte sub_80811FC -_08081168: - ldr r0, _0808117C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x4 - bhi _080811E0 - lsls r0, 2 - ldr r1, _08081180 @ =_08081184 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808117C: .4byte gSpecialVar_0x8004 -_08081180: .4byte _08081184 - .align 2, 0 -_08081184: - .4byte _08081198 - .4byte _080811A8 - .4byte _080811C8 - .4byte _080811D8 - .4byte _080811B8 -_08081198: - ldr r1, _080811A0 @ =gLinkType - ldr r2, _080811A4 @ =0x00002233 - b _080811DC - .align 2, 0 -_080811A0: .4byte gLinkType -_080811A4: .4byte 0x00002233 -_080811A8: - ldr r1, _080811B0 @ =gLinkType - ldr r2, _080811B4 @ =0x00002244 - b _080811DC - .align 2, 0 -_080811B0: .4byte gLinkType -_080811B4: .4byte 0x00002244 -_080811B8: - ldr r1, _080811C0 @ =gLinkType - ldr r2, _080811C4 @ =0x00002255 - b _080811DC - .align 2, 0 -_080811C0: .4byte gLinkType -_080811C4: .4byte 0x00002255 -_080811C8: - ldr r1, _080811D0 @ =gLinkType - ldr r2, _080811D4 @ =0x00001111 - b _080811DC - .align 2, 0 -_080811D0: .4byte gLinkType -_080811D4: .4byte 0x00001111 -_080811D8: - ldr r1, _080811F0 @ =gLinkType - ldr r2, _080811F4 @ =0x00003322 -_080811DC: - adds r0, r2, 0 - strh r0, [r1] -_080811E0: - ldr r0, _080811F8 @ =sub_80811FC - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 -_080811EC: - pop {r1} - bx r1 - .align 2, 0 -_080811F0: .4byte gLinkType -_080811F4: .4byte 0x00003322 -_080811F8: .4byte sub_80811FC - thumb_func_end sub_8081150 - - thumb_func_start sub_80811FC -sub_80811FC: @ 80811FC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08081228 @ =gTasks+0x8 - adds r4, r1, r0 - movs r3, 0 - ldrsh r2, [r4, r3] - cmp r2, 0 - bne _08081230 - bl OpenLink - bl ResetLinkPlayers - ldr r0, _0808122C @ =sub_8081A90 - movs r1, 0x50 - bl CreateTask - b _0808123C - .align 2, 0 -_08081228: .4byte gTasks+0x8 -_0808122C: .4byte sub_8081A90 -_08081230: - cmp r2, 0x9 - ble _0808123C - subs r0, 0x8 - adds r0, r1, r0 - ldr r1, _08081248 @ =sub_808124C - str r1, [r0] -_0808123C: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081248: .4byte sub_808124C - thumb_func_end sub_80811FC - - thumb_func_start sub_808124C -sub_808124C: @ 808124C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08081292 - bl IsLinkMaster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081284 - ldr r0, _0808127C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08081280 @ =sub_80812A0 - b _08081290 - .align 2, 0 -_0808127C: .4byte gTasks -_08081280: .4byte sub_80812A0 -_08081284: - ldr r0, _08081298 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0808129C @ =sub_80812D8 -_08081290: - str r0, [r1] -_08081292: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081298: .4byte gTasks -_0808129C: .4byte sub_80812D8 - thumb_func_end sub_808124C - - thumb_func_start sub_80812A0 -sub_80812A0: @ 80812A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl GetSavedPlayerCount - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080812CA - bl CheckShouldAdvanceLinkState - ldr r0, _080812D0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080812D4 @ =sub_80812D8 - str r0, [r1] -_080812CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080812D0: .4byte gTasks -_080812D4: .4byte sub_80812D8 - thumb_func_end sub_80812A0 - - thumb_func_start sub_80812D8 -sub_80812D8: @ 80812D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08081308 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _08081300 - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081300 - bl sub_800A9A4 - bl sub_8009FE8 - adds r0, r4, 0 - bl DestroyTask -_08081300: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081308: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_80812D8 - - thumb_func_start sub_808130C -sub_808130C: @ 808130C - push {lr} - bl Field_AskSaveTheGame - pop {r0} - bx r0 - thumb_func_end sub_808130C - - thumb_func_start sub_8081318 -sub_8081318: @ 8081318 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808133C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _08081332 - b _0808143A -_08081332: - lsls r0, 2 - ldr r1, _08081340 @ =_08081344 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808133C: .4byte gTasks -_08081340: .4byte _08081344 - .align 2, 0 -_08081344: - .4byte _0808135C - .4byte _0808137C - .4byte _0808138C - .4byte _0808139C - .4byte _080813A2 - .4byte _080813B8 -_0808135C: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r1, _08081374 @ =gLinkType - ldr r2, _08081378 @ =0x00002211 - adds r0, r2, 0 - strh r0, [r1] - bl ClearLinkCallback_2 - b _080813AA - .align 2, 0 -_08081374: .4byte gLinkType -_08081378: .4byte 0x00002211 -_0808137C: - ldr r0, _08081388 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - b _080813A6 - .align 2, 0 -_08081388: .4byte gPaletteFade -_0808138C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0808143A - b _080813AA -_0808139C: - bl sub_800AAC0 - b _080813AA -_080813A2: - ldr r0, _080813B4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] -_080813A6: - cmp r0, 0 - bne _0808143A -_080813AA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0808143A - .align 2, 0 -_080813B4: .4byte gReceivedRemoteLinkPlayers -_080813B8: - ldr r0, _080813CC @ =gLinkPlayers - ldr r0, [r0, 0x4] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080813D4 - ldr r0, _080813D0 @ =0x00000109 - bl PlayMapChosenOrBattleBGM - b _080813DC - .align 2, 0 -_080813CC: .4byte gLinkPlayers -_080813D0: .4byte 0x00000109 -_080813D4: - movs r0, 0x85 - lsls r0, 1 - bl PlayMapChosenOrBattleBGM -_080813DC: - ldr r0, _080813F0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _08081404 - cmp r0, 0x2 - bgt _080813F4 - cmp r0, 0x1 - beq _080813FA - b _0808141A - .align 2, 0 -_080813F0: .4byte gSpecialVar_0x8004 -_080813F4: - cmp r0, 0x5 - beq _08081410 - b _0808141A -_080813FA: - ldr r1, _08081400 @ =gBattleTypeFlags - movs r0, 0xA - b _08081418 - .align 2, 0 -_08081400: .4byte gBattleTypeFlags -_08081404: - ldr r1, _0808140C @ =gBattleTypeFlags - movs r0, 0xB - b _08081418 - .align 2, 0 -_0808140C: .4byte gBattleTypeFlags -_08081410: - bl ReducePlayerPartyToThree - ldr r1, _08081440 @ =gBattleTypeFlags - movs r0, 0x4B -_08081418: - str r0, [r1] -_0808141A: - bl CleanupOverworldWindowsAndTilemaps - ldr r1, _08081444 @ =gTrainerBattleOpponent_A - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08081448 @ =CB2_InitBattle - bl SetMainCallback2 - ldr r1, _0808144C @ =gMain - ldr r0, _08081450 @ =sub_8081668 - str r0, [r1, 0x8] - adds r0, r5, 0 - bl DestroyTask -_0808143A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081440: .4byte gBattleTypeFlags -_08081444: .4byte gTrainerBattleOpponent_A -_08081448: .4byte CB2_InitBattle -_0808144C: .4byte gMain -_08081450: .4byte sub_8081668 - thumb_func_end sub_8081318 - - thumb_func_start sub_8081454 -sub_8081454: @ 8081454 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08081478 @ =gTasks+0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - bls _0808146E - b _0808160A -_0808146E: - lsls r0, 2 - ldr r1, _0808147C @ =_08081480 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08081478: .4byte gTasks+0x8 -_0808147C: .4byte _08081480 - .align 2, 0 -_08081480: - .4byte _080814A0 - .4byte _080814C4 - .4byte _080814DC - .4byte _080814F0 - .4byte _0808154C - .4byte _08081560 - .4byte _0808156A - .4byte _0808157A -_080814A0: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, _080814BC @ =gLinkType - ldr r2, _080814C0 @ =0x00002211 - adds r1, r2, 0 - strh r1, [r0] - bl ClearLinkCallback_2 - movs r0, 0x1 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814BC: .4byte gLinkType -_080814C0: .4byte 0x00002211 -_080814C4: - ldr r0, _080814D8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080814D2 - b _0808160A -_080814D2: - movs r0, 0x2 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814D8: .4byte gPaletteFade -_080814DC: - ldr r1, _080814EC @ =gLocalLinkPlayer - movs r0, 0 - movs r2, 0x1C - bl SendBlock - movs r0, 0x3 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814EC: .4byte gLocalLinkPlayer -_080814F0: - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A8D4 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08081504 - b _0808160A -_08081504: - movs r4, 0 - ldr r5, _0808150C @ =gLinkPlayers - b _08081536 - .align 2, 0 -_0808150C: .4byte gLinkPlayers -_08081510: - lsls r1, r4, 8 - ldr r2, _08081548 @ =gBlockRecvBuffer - adds r0, r5, 0 - adds r1, r2 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldr r1, [r1] - str r1, [r0] - adds r0, r5, 0 - bl sub_800B284 - lsls r0, r4, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag - adds r5, 0x1C - adds r4, 0x1 -_08081536: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _08081510 - movs r0, 0x4 - strh r0, [r6] - b _0808160A - .align 2, 0 -_08081548: .4byte gBlockRecvBuffer -_0808154C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0808160A - movs r0, 0x5 - strh r0, [r6] - b _0808160A -_08081560: - bl sub_800AB9C - movs r0, 0x6 - strh r0, [r6] - b _0808160A -_0808156A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0808160A - movs r0, 0x7 - strh r0, [r6] - b _0808160A -_0808157A: - ldr r0, _08081590 @ =gLinkPlayers - ldr r0, [r0, 0x4] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08081598 - ldr r0, _08081594 @ =0x00000109 - bl PlayMapChosenOrBattleBGM - b _080815A0 - .align 2, 0 -_08081590: .4byte gLinkPlayers -_08081594: .4byte 0x00000109 -_08081598: - movs r0, 0x85 - lsls r0, 1 - bl PlayMapChosenOrBattleBGM -_080815A0: - ldr r0, _080815B8 @ =gLinkPlayers - ldr r1, _080815BC @ =0x00002211 - str r1, [r0, 0x14] - ldr r0, _080815C0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _080815D4 - cmp r0, 0x2 - bgt _080815C4 - cmp r0, 0x1 - beq _080815CA - b _080815EA - .align 2, 0 -_080815B8: .4byte gLinkPlayers -_080815BC: .4byte 0x00002211 -_080815C0: .4byte gSpecialVar_0x8004 -_080815C4: - cmp r0, 0x5 - beq _080815E0 - b _080815EA -_080815CA: - ldr r1, _080815D0 @ =gBattleTypeFlags - movs r0, 0xA - b _080815E8 - .align 2, 0 -_080815D0: .4byte gBattleTypeFlags -_080815D4: - ldr r1, _080815DC @ =gBattleTypeFlags - movs r0, 0xB - b _080815E8 - .align 2, 0 -_080815DC: .4byte gBattleTypeFlags -_080815E0: - bl ReducePlayerPartyToThree - ldr r1, _08081610 @ =gBattleTypeFlags - movs r0, 0x4B -_080815E8: - str r0, [r1] -_080815EA: - bl CleanupOverworldWindowsAndTilemaps - ldr r1, _08081614 @ =gTrainerBattleOpponent_A - movs r3, 0x80 - lsls r3, 4 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _08081618 @ =CB2_InitBattle - bl SetMainCallback2 - ldr r1, _0808161C @ =gMain - ldr r0, _08081620 @ =sub_8081668 - str r0, [r1, 0x8] - adds r0, r4, 0 - bl DestroyTask -_0808160A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08081610: .4byte gBattleTypeFlags -_08081614: .4byte gTrainerBattleOpponent_A -_08081618: .4byte CB2_InitBattle -_0808161C: .4byte gMain -_08081620: .4byte sub_8081668 - thumb_func_end sub_8081454 - - thumb_func_start sub_8081624 -sub_8081624: @ 8081624 - push {r4,lr} - ldr r0, _0808163C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _08081640 - cmp r0, 0x1 - beq _0808164C - b _0808165C - .align 2, 0 -_0808163C: .4byte gMain -_08081640: - bl sub_800AAC0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0808165C -_0808164C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0808165C - ldr r0, _08081664 @ =CB2_ReturnToField - bl SetMainCallback2 -_0808165C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081664: .4byte CB2_ReturnToField - thumb_func_end sub_8081624 - - thumb_func_start sub_8081668 -sub_8081668: @ 8081668 - push {r4,r5,lr} - ldr r2, _080816B0 @ =gBattleTypeFlags - ldr r0, [r2] - ldr r1, _080816B4 @ =0x0000ffdf - ands r0, r1 - str r0, [r2] - bl sub_8055DB8 - bl LoadPlayerParty - bl SavePlayerBag - bl Special_UpdateTrainerFansAfterLinkBattle - ldr r0, _080816B8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x5 - beq _0808170A - ldr r0, _080816BC @ =gLocalLinkPlayerId - ldrb r0, [r0] - movs r5, 0x1 - eors r0, r5 - bl TryRecordLinkBattleOutcome - ldr r0, _080816C0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0808170A - ldr r0, _080816C4 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - beq _080816C8 - cmp r0, 0x2 - beq _080816EC - b _0808170A - .align 2, 0 -_080816B0: .4byte gBattleTypeFlags -_080816B4: .4byte 0x0000ffdf -_080816B8: .4byte gSpecialVar_0x8004 -_080816BC: .4byte gLocalLinkPlayerId -_080816C0: .4byte gWirelessCommType -_080816C4: .4byte gBattleOutcome -_080816C8: - ldr r4, _080816E8 @ =gLinkPlayers - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0 - bl sub_8144714 - b _0808170A - .align 2, 0 -_080816E8: .4byte gLinkPlayers -_080816EC: - ldr r4, _08081718 @ =gLinkPlayers - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0x1 - bl sub_8144714 -_0808170A: - bl InUnionRoom - cmp r0, 0x1 - bne _08081724 - ldr r1, _0808171C @ =gMain - ldr r0, _08081720 @ =sub_8081624 - b _08081728 - .align 2, 0 -_08081718: .4byte gLinkPlayers -_0808171C: .4byte gMain -_08081720: .4byte sub_8081624 -_08081724: - ldr r1, _08081738 @ =gMain - ldr r0, _0808173C @ =c2_8056854 -_08081728: - str r0, [r1, 0x8] - ldr r0, _08081740 @ =CB2_SetUpSaveAfterLinkBattle - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081738: .4byte gMain -_0808173C: .4byte c2_8056854 -_08081740: .4byte CB2_SetUpSaveAfterLinkBattle - thumb_func_end sub_8081668 - - thumb_func_start CleanupLinkRoomState -CleanupLinkRoomState: @ 8081744 - push {lr} - ldr r0, _0808176C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _08081758 - cmp r1, 0x5 - bne _08081760 -_08081758: - bl LoadPlayerParty - bl SavePlayerBag -_08081760: - movs r0, 0x7F - bl copy_saved_warp2_bank_and_enter_x_to_warp1 - pop {r0} - bx r0 - .align 2, 0 -_0808176C: .4byte gSpecialVar_0x8004 - thumb_func_end CleanupLinkRoomState - - thumb_func_start sub_8081770 -sub_8081770: @ 8081770 - push {lr} - bl sub_8057F5C - pop {r0} - bx r0 - thumb_func_end sub_8081770 - - thumb_func_start sub_808177C -sub_808177C: @ 808177C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080817A0 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080817C0 - cmp r0, 0x1 - bgt _080817A4 - cmp r0, 0 - beq _080817AE - b _08081820 - .align 2, 0 -_080817A0: .4byte gTasks -_080817A4: - cmp r0, 0x2 - beq _080817E0 - cmp r0, 0x3 - beq _0808180C - b _08081820 -_080817AE: - ldr r0, _080817BC @ =CableClub_Text_PleaseWaitBCancel - bl ShowFieldMessage - movs r0, 0x1 - strh r0, [r5, 0x8] - b _08081820 - .align 2, 0 -_080817BC: .4byte CableClub_Text_PleaseWaitBCancel -_080817C0: - bl IsFieldMessageBoxHidden - lsls r0, 24 - cmp r0, 0 - beq _08081820 - bl sub_8057F34 - ldr r0, _080817DC @ =gSpecialVar_0x8005 - ldrb r0, [r0] - bl SetLocalLinkPlayerId - movs r0, 0x2 - strh r0, [r5, 0x8] - b _08081820 - .align 2, 0 -_080817DC: .4byte gSpecialVar_0x8005 -_080817E0: - bl sub_8057EC0 - cmp r0, 0x1 - beq _080817F2 - cmp r0, 0x1 - bcc _08081820 - cmp r0, 0x2 - beq _08081806 - b _08081820 -_080817F2: - bl HideFieldMessageBox - movs r0, 0 - strh r0, [r5, 0x8] - bl sub_8057F70 - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc - b _08081820 -_08081806: - movs r0, 0x3 - strh r0, [r5, 0x8] - b _08081820 -_0808180C: - bl sub_8057F48 - movs r0, 0x1 - bl sub_80F771C - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_08081820: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808177C - - thumb_func_start sub_8081828 -sub_8081828: @ 8081828 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0808184C @ =sub_808177C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl SetTaskFuncWithFollowupFunc - bl ScriptContext1_Stop - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808184C: .4byte sub_808177C - thumb_func_end sub_8081828 - - thumb_func_start sub_8081850 -sub_8081850: @ 8081850 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08081874 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08081894 - cmp r0, 0x1 - bgt _08081878 - cmp r0, 0 - beq _08081882 - b _080818D8 - .align 2, 0 -_08081874: .4byte gTasks -_08081878: - cmp r0, 0x2 - beq _080818A8 - cmp r0, 0x3 - beq _080818C4 - b _080818D8 -_08081882: - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - bl ClearLinkCallback_2 - b _080818B8 -_08081894: - ldr r0, _080818A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080818D8 - b _080818B8 - .align 2, 0 -_080818A4: .4byte gPaletteFade -_080818A8: - ldr r1, _080818C0 @ =gSelectedTradeMonPositions - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bl m4aMPlayAllStop - bl sub_800AAC0 -_080818B8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080818D8 - .align 2, 0 -_080818C0: .4byte gSelectedTradeMonPositions -_080818C4: - ldr r0, _080818E0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080818D8 - ldr r0, _080818E4 @ =CB2_ReturnFromLinkTrade - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_080818D8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080818E0: .4byte gReceivedRemoteLinkPlayers -_080818E4: .4byte CB2_ReturnFromLinkTrade - thumb_func_end sub_8081850 - - thumb_func_start sub_80818E8 -sub_80818E8: @ 80818E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808190C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0808192C - cmp r0, 0x1 - bgt _08081910 - cmp r0, 0 - beq _0808191A - b _08081970 - .align 2, 0 -_0808190C: .4byte gTasks+0x8 -_08081910: - cmp r0, 0x2 - beq _08081940 - cmp r0, 0x3 - beq _0808195C - b _08081970 -_0808191A: - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - bl Rfu_set_zero - b _08081950 -_0808192C: - ldr r0, _0808193C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08081970 - b _08081950 - .align 2, 0 -_0808193C: .4byte gPaletteFade -_08081940: - ldr r1, _08081958 @ =gSelectedTradeMonPositions - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bl m4aMPlayAllStop - bl sub_800AB9C -_08081950: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08081970 - .align 2, 0 -_08081958: .4byte gSelectedTradeMonPositions -_0808195C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08081970 - bl sub_8117118 - adds r0, r5, 0 - bl DestroyTask -_08081970: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80818E8 - - thumb_func_start EnterTradeSeat -EnterTradeSeat: @ 8081978 - push {lr} - ldr r0, _0808198C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08081994 - ldr r0, _08081990 @ =sub_80818E8 - bl sub_8081828 - b _0808199A - .align 2, 0 -_0808198C: .4byte gWirelessCommType -_08081990: .4byte sub_80818E8 -_08081994: - ldr r0, _080819A0 @ =sub_8081850 - bl sub_8081828 -_0808199A: - pop {r0} - bx r0 - .align 2, 0 -_080819A0: .4byte sub_8081850 - thumb_func_end EnterTradeSeat - - thumb_func_start sub_80819A4 -sub_80819A4: @ 80819A4 - push {lr} - ldr r0, _080819B4 @ =sub_8081850 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080819B4: .4byte sub_8081850 - thumb_func_end sub_80819A4 - - thumb_func_start sub_80819B8 -sub_80819B8: @ 80819B8 - push {lr} - bl sub_80819A4 - bl ScriptContext1_Stop - pop {r0} - bx r0 - thumb_func_end sub_80819B8 - - thumb_func_start EnterColosseumPlayerSpot -EnterColosseumPlayerSpot: @ 80819C8 - push {lr} - ldr r1, _080819E4 @ =gLinkType - ldr r2, _080819E8 @ =0x00002211 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080819EC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080819F4 - ldr r0, _080819F0 @ =sub_8081454 - bl sub_8081828 - b _080819FA - .align 2, 0 -_080819E4: .4byte gLinkType -_080819E8: .4byte 0x00002211 -_080819EC: .4byte gWirelessCommType -_080819F0: .4byte sub_8081454 -_080819F4: - ldr r0, _08081A00 @ =sub_8081318 - bl sub_8081828 -_080819FA: - pop {r0} - bx r0 - .align 2, 0 -_08081A00: .4byte sub_8081318 - thumb_func_end EnterColosseumPlayerSpot - - thumb_func_start sub_8081A04 -sub_8081A04: @ 8081A04 - push {lr} - ldr r0, _08081A18 @ =sub_808177C - movs r1, 0x50 - bl CreateTask - bl ScriptContext1_Stop - pop {r0} - bx r0 - .align 2, 0 -_08081A18: .4byte sub_808177C - thumb_func_end sub_8081A04 - - thumb_func_start Script_ShowLinkTrainerCard -Script_ShowLinkTrainerCard: @ 8081A1C - push {lr} - ldr r0, _08081A2C @ =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, _08081A30 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl ShowTrainerCardInLink - pop {r0} - bx r0 - .align 2, 0 -_08081A2C: .4byte gSpecialVar_0x8006 -_08081A30: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end Script_ShowLinkTrainerCard - - thumb_func_start sub_8081A34 -sub_8081A34: @ 8081A34 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08081A74 @ =gSpecialVar_0x8006 - strh r4, [r0] - ldr r0, _08081A78 @ =gStringVar1 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, _08081A7C @ =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r4, 0 - bl GetTrainerCardStars - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08081A88 - ldr r0, _08081A80 @ =gStringVar2 - ldr r2, _08081A84 @ =gUnknown_83C6AB8 - subs r1, 0x1 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x1 - b _08081A8A - .align 2, 0 -_08081A74: .4byte gSpecialVar_0x8006 -_08081A78: .4byte gStringVar1 -_08081A7C: .4byte gLinkPlayers + 8 -_08081A80: .4byte gStringVar2 -_08081A84: .4byte gUnknown_83C6AB8 -_08081A88: - movs r0, 0 -_08081A8A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8081A34 - - thumb_func_start sub_8081A90 -sub_8081A90: @ 8081A90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08081AD8 @ =gTasks - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - movs r0, 0x96 - lsls r0, 17 - cmp r1, r0 - ble _08081AC2 - bl CloseLink - ldr r0, _08081ADC @ =CB2_LinkError - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08081AC2: - ldr r0, _08081AE0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08081AD0 - adds r0, r5, 0 - bl DestroyTask -_08081AD0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081AD8: .4byte gTasks -_08081ADC: .4byte CB2_LinkError -_08081AE0: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8081A90 - - thumb_func_start sub_8081AE4 -sub_8081AE4: @ 8081AE4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08081B04 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08081AFC - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_08081AFC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081B04: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8081AE4 - - thumb_func_start sub_8081B08 -sub_8081B08: @ 8081B08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800AAC0 - ldr r1, _08081B28 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08081B2C @ =sub_8081AE4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081B28: .4byte gTasks -_08081B2C: .4byte sub_8081AE4 - thumb_func_end sub_8081B08 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s deleted file mode 100644 index 367f12814..000000000 --- a/asm/clear_save_data_screen.s +++ /dev/null @@ -1,469 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F5574 -sub_80F5574: @ 80F5574 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80F5574 - - thumb_func_start sub_80F558C -sub_80F558C: @ 80F558C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80F558C - - thumb_func_start CB2_SaveClearScreen_Init -CB2_SaveClearScreen_Init: @ 80F55A0 - push {r4,lr} - ldr r4, _080F55D0 @ =gUnknown_203AB54 - movs r0, 0x4 - bl AllocZeroed - str r0, [r4] - movs r1, 0 - strb r1, [r0, 0x1] - ldr r0, [r4] - strb r1, [r0] - ldr r0, [r4] - strb r1, [r0, 0x2] - bl sub_80F580C - ldr r0, _080F55D4 @ =sub_80F55DC - movs r1, 0 - bl CreateTask - ldr r0, _080F55D8 @ =sub_80F5574 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F55D0: .4byte gUnknown_203AB54 -_080F55D4: .4byte sub_80F55DC -_080F55D8: .4byte sub_80F5574 - thumb_func_end CB2_SaveClearScreen_Init - - thumb_func_start sub_80F55DC -sub_80F55DC: @ 80F55DC - push {r4,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080F55F8 @ =gUnknown_203AB54 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x5 - bhi _080F56C0 - lsls r0, 2 - ldr r1, _080F55FC @ =_080F5600 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F55F8: .4byte gUnknown_203AB54 -_080F55FC: .4byte _080F5600 - .align 2, 0 -_080F5600: - .4byte _080F5618 - .4byte _080F562A - .4byte _080F5644 - .4byte _080F564A - .4byte _080F5660 - .4byte _080F569C -_080F5618: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080F56E2 -_080F562A: - ldr r0, _080F5640 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F56EC - movs r0, 0 - bl SetVBlankCallback - b _080F56E2 - .align 2, 0 -_080F5640: .4byte gPaletteFade -_080F5644: - bl sub_80F5820 - b _080F56E2 -_080F564A: - movs r0, 0 - movs r1, 0x1 - movs r2, 0xF0 - bl TextWindow_SetStdFrame0_WithPal - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xF0 - bl TextWindow_SetStdFrame0_WithPal - b _080F56E2 -_080F5660: - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xF - bl DrawStdFrameWithCustomTileAndPalette - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, _080F5694 @ =gUnknown_841EE80 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - ldr r0, _080F5698 @ =gUnknown_841B69E - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x3 - bl AddTextPrinterParameterized4 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _080F56E2 - .align 2, 0 -_080F5694: .4byte gUnknown_841EE80 -_080F5698: .4byte gUnknown_841B69E -_080F569C: - ldr r0, _080F56BC @ =gUnknown_841EE68 - movs r2, 0x1 - str r2, [sp] - movs r1, 0xF - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _080F56E2 - .align 2, 0 -_080F56BC: .4byte gUnknown_841EE68 -_080F56C0: - ldr r0, _080F56F4 @ =0x0000ffff - str r0, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080F56F8 @ =sub_80F558C - bl SetVBlankCallback - ldr r1, _080F56FC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080F5700 @ =sub_80F5708 - str r1, [r0] -_080F56E2: - ldr r0, _080F5704 @ =gUnknown_203AB54 - ldr r1, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] -_080F56EC: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F56F4: .4byte 0x0000ffff -_080F56F8: .4byte sub_80F558C -_080F56FC: .4byte gTasks -_080F5700: .4byte sub_80F5708 -_080F5704: .4byte gUnknown_203AB54 - thumb_func_end sub_80F55DC - - thumb_func_start sub_80F5708 -sub_80F5708: @ 80F5708 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r5, _080F5740 @ =gUnknown_203AB54 - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0 - bne _080F578C - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _080F5736 - cmp r4, r0 - ble _080F5792 - cmp r4, 0 - beq _080F5744 - cmp r4, 0x1 - bne _080F5792 -_080F5736: - movs r0, 0x5 - bl PlaySE - b _080F577A - .align 2, 0 -_080F5740: .4byte gUnknown_203AB54 -_080F5744: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, _080F5784 @ =gUnknown_841EE80 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - ldr r0, _080F5788 @ =gUnknown_841B6B9 - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x3 - bl AddTextPrinterParameterized4 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - bl ClearSaveData -_080F577A: - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080F5792 - .align 2, 0 -_080F5784: .4byte gUnknown_841EE80 -_080F5788: .4byte gUnknown_841B6B9 -_080F578C: - adds r0, r1, 0 - bl sub_80F579C -_080F5792: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F5708 - - thumb_func_start sub_80F579C -sub_80F579C: @ 80F579C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080F57B4 @ =gUnknown_203AB54 - ldr r0, [r5] - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _080F57B8 - cmp r0, 0x1 - beq _080F57D4 - b _080F57FE - .align 2, 0 -_080F57B4: .4byte gUnknown_203AB54 -_080F57B8: - ldr r0, _080F57D0 @ =0x0000ffff - str r0, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldrb r0, [r1, 0x2] - adds r0, 0x1 - strb r0, [r1, 0x2] - b _080F57FE - .align 2, 0 -_080F57D0: .4byte 0x0000ffff -_080F57D4: - ldr r0, _080F5808 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080F57FE - bl DestroyYesNoMenu - adds r0, r6, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, [r5] - bl Free - str r4, [r5] - bl DoSoftReset -_080F57FE: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F5808: .4byte gPaletteFade - thumb_func_end sub_80F579C - - thumb_func_start sub_80F580C -sub_80F580C: @ 80F580C - push {lr} - bl ResetSpriteData - bl ResetPaletteFade - bl ResetTasks - pop {r0} - bx r0 - thumb_func_end sub_80F580C - - thumb_func_start sub_80F5820 -sub_80F5820: @ 80F5820 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _080F593C @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _080F5940 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080F5846: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080F5846 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _080F593C @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080F5944 @ =gUnknown_841EE64 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, _080F5948 @ =gUnknown_841EE68 - bl InitWindows - bl DeactivateAllTextPrinters - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F593C: .4byte 0x040000d4 -_080F5940: .4byte 0x81000800 -_080F5944: .4byte gUnknown_841EE64 -_080F5948: .4byte gUnknown_841EE68 - thumb_func_end sub_80F5820 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s deleted file mode 100644 index 3e9c18491..000000000 --- a/asm/dodrio_berry_picking.s +++ /dev/null @@ -1,11411 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81507FC -sub_81507FC: @ 81507FC - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _081508A4 @ =gUnknown_3002044 - movs r0, 0 - str r0, [r1] - ldr r0, _081508A8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _081508CC - ldr r4, _081508AC @ =gUnknown_203F3E0 - ldr r0, _081508B0 @ =0x00003330 - bl AllocZeroed - str r0, [r4] - cmp r0, 0 - beq _081508CC - bl sub_81508D8 - ldr r0, [r4] - bl sub_81508EC - ldr r0, [r4] - str r5, [r0] - bl GetMultiplayerId - ldr r1, [r4] - adds r1, 0x28 - strb r0, [r1] - ldr r1, [r4] - ldr r2, _081508B4 @ =0x000032cc - adds r0, r1, r2 - adds r2, r1, 0 - adds r2, 0x28 - ldrb r3, [r2] - lsls r2, r3, 4 - subs r2, r3 - lsls r2, 2 - adds r1, r2 - ldr r2, _081508B8 @ =0x000031a0 - adds r1, r2 - movs r2, 0x3C - bl memcpy - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x28 - ldrb r1, [r1] - lsls r1, 2 - ldr r2, _081508BC @ =0x0000318c - adds r1, r2 - adds r0, r1 - movs r1, 0x64 - muls r1, r6 - ldr r2, _081508C0 @ =gPlayerParty - adds r1, r2 - bl sub_8152048 - ldr r0, _081508C4 @ =sub_8150A84 - movs r1, 0x1 - bl CreateTask - ldr r0, _081508C8 @ =sub_815201C - bl SetMainCallback2 - bl sub_8153150 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x24 - ldrb r0, [r0] - adds r1, r2, 0 - adds r1, 0x44 - adds r2, 0x48 - bl sub_81529A4 - bl StopMapMusic - movs r0, 0xA5 - lsls r0, 1 - bl PlayNewMapMusic - b _081508D2 - .align 2, 0 -_081508A4: .4byte gUnknown_3002044 -_081508A8: .4byte gReceivedRemoteLinkPlayers -_081508AC: .4byte gUnknown_203F3E0 -_081508B0: .4byte 0x00003330 -_081508B4: .4byte 0x000032cc -_081508B8: .4byte 0x000031a0 -_081508BC: .4byte 0x0000318c -_081508C0: .4byte gPlayerParty -_081508C4: .4byte sub_8150A84 -_081508C8: .4byte sub_815201C -_081508CC: - adds r0, r5, 0 - bl SetMainCallback2 -_081508D2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81507FC - - thumb_func_start sub_81508D8 -sub_81508D8: @ 81508D8 - push {lr} - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - pop {r0} - bx r0 - thumb_func_end sub_81508D8 - - thumb_func_start sub_81508EC -sub_81508EC: @ 81508EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - adds r2, r0, 0 - movs r0, 0 - strb r0, [r2, 0xC] - strb r0, [r2, 0x10] - strb r0, [r2, 0x14] - strb r0, [r2, 0x18] - strb r0, [r2, 0x1C] - movs r3, 0x8E - lsls r3, 1 - adds r1, r2, r3 - str r0, [r1] - movs r7, 0x90 - lsls r7, 1 - adds r1, r2, r7 - str r0, [r1] - adds r1, r2, 0 - adds r1, 0x30 - strb r0, [r1] - adds r1, 0x10 - strb r0, [r1] - subs r1, 0x4 - strb r0, [r1] - adds r3, 0x10 - adds r1, r2, r3 - str r0, [r1] - movs r5, 0 - adds r1, r2, 0 - adds r1, 0x98 - movs r3, 0 -_08150932: - adds r0, r1, r5 - strb r3, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08150932 - movs r5, 0 - adds r7, r2, 0 - adds r7, 0xA8 - str r7, [sp] - adds r0, r2, 0 - adds r0, 0xB0 - str r0, [sp, 0xC] - movs r1, 0x4A - adds r1, r2 - mov r10, r1 - movs r3, 0x4C - adds r3, r2 - mov r9, r3 - movs r7, 0x4E - adds r7, r2 - mov r12, r7 - subs r0, 0x60 - str r0, [sp, 0x24] - adds r6, r2, 0 - adds r6, 0x54 - adds r1, r2, 0 - adds r1, 0xD0 - str r1, [sp, 0x1C] - adds r3, r2, 0 - adds r3, 0xDC - str r3, [sp, 0x20] - adds r7, r2, 0 - adds r7, 0xC4 - str r7, [sp, 0x14] - adds r0, 0xA4 - str r0, [sp, 0x4] - adds r1, 0x25 - str r1, [sp, 0x8] - subs r3, 0xBC - str r3, [sp, 0x10] - movs r7, 0x24 - adds r7, r2 - mov r8, r7 - subs r0, 0xC0 - str r0, [sp, 0x18] - movs r3, 0 - movs r1, 0x86 - lsls r1, 1 - adds r4, r2, r1 - movs r7, 0x98 - lsls r7, 1 - adds r2, r7 -_0815099E: - ldr r1, [sp] - adds r0, r1, r5 - strb r3, [r0] - ldr r7, [sp, 0xC] - adds r0, r7, r5 - strb r3, [r0] - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - mov r7, r10 - adds r1, r7, r0 - strh r3, [r1] - mov r7, r9 - adds r1, r7, r0 - strh r3, [r1] - mov r7, r12 - adds r1, r7, r0 - strh r3, [r1] - ldr r7, [sp, 0x24] - adds r1, r7, r0 - strh r3, [r1] - adds r0, r6, r0 - strh r3, [r0] - adds r0, r4, r5 - strb r3, [r0] - lsls r0, r5, 2 - adds r0, r2, r0 - str r3, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0815099E - movs r5, 0 - movs r3, 0 - movs r4, 0xFF - ldr r6, [sp, 0x1C] -_081509E8: - adds r0, r6, r5 - strb r3, [r0] - ldr r1, [sp, 0x20] - adds r0, r1, r5 - strb r3, [r0] - ldr r7, [sp, 0x14] - adds r0, r7, r5 - strb r3, [r0] - lsls r1, r5, 1 - ldr r0, [sp, 0x4] - adds r2, r0, r1 - ldrb r0, [r2] - orrs r0, r4 - strb r0, [r2] - ldr r7, [sp, 0x8] - adds r1, r7, r1 - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _081509E8 - bl GetMultiplayerId - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _08150A26 - movs r1, 0x1 -_08150A26: - ldr r0, [sp, 0x10] - strb r1, [r0] - bl GetLinkPlayerCount - mov r1, r8 - strb r0, [r1] - bl GetMultiplayerId - ldr r3, [sp, 0x18] - strb r0, [r3] - movs r5, 0x1 - mov r7, r8 - ldrb r7, [r7] - cmp r5, r7 - bcs _08150A72 - ldr r7, [sp, 0x18] - mov r6, r8 -_08150A48: - adds r4, r7, r5 - subs r0, r5, 0x1 - adds r0, r7, r0 - ldrb r0, [r0] - adds r0, 0x1 - strb r0, [r4] - ldrb r2, [r4] - ldrb r1, [r6] - subs r0, r1, 0x1 - cmp r2, r0 - ble _08150A66 - adds r0, r2, 0 - bl __umodsi3 - strb r0, [r4] -_08150A66: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6] - cmp r5, r0 - bcc _08150A48 -_08150A72: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81508EC - - thumb_func_start sub_8150A84 -sub_8150A84: @ 8150A84 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08150AA4 @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - cmp r0, 0x7 - bls _08150A98 - b _08150BF0 -_08150A98: - lsls r0, 2 - ldr r1, _08150AA8 @ =_08150AAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08150AA4: .4byte gUnknown_203F3E0 -_08150AA8: .4byte _08150AAC - .align 2, 0 -_08150AAC: - .4byte _08150ACC - .4byte _08150AE0 - .4byte _08150B08 - .4byte _08150B16 - .4byte _08150B3C - .4byte _08150B90 - .4byte _08150BA2 - .4byte _08150BCC -_08150ACC: - movs r0, 0 - bl SetVBlankCallback - ldr r0, _08150ADC @ =sub_8151750 - movs r1, 0x4 - bl sub_815205C - b _08150BDC - .align 2, 0 -_08150ADC: .4byte sub_8151750 -_08150AE0: - ldr r0, _08150B00 @ =sub_8151750 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08150AEE - b _08150BFC -_08150AEE: - ldr r4, _08150B04 @ =gUnknown_203F3E0 - ldr r0, [r4] - movs r1, 0xB0 - lsls r1, 1 - adds r0, r1 - bl sub_8154968 - ldr r1, [r4] - b _08150BE0 - .align 2, 0 -_08150B00: .4byte sub_8151750 -_08150B04: .4byte gUnknown_203F3E0 -_08150B08: - bl sub_8155E68 - cmp r0, 0 - bne _08150BFC - bl sub_80FA42C - b _08150BDC -_08150B16: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08150BFC - ldr r0, _08150B38 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08150BDC - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - b _08150BDC - .align 2, 0 -_08150B38: .4byte gReceivedRemoteLinkPlayers -_08150B3C: - ldr r0, _08150B88 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - bl sub_8153A9C - movs r4, 0 - cmp r4, r5 - bcs _08150B76 -_08150B4E: - ldr r0, _08150B88 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x34 - adds r0, r4 - ldrb r2, [r0] - lsls r0, r2, 2 - ldr r3, _08150B8C @ =0x0000318c - adds r0, r3 - adds r0, r1, r0 - adds r1, 0x24 - ldrb r3, [r1] - adds r1, r4, 0 - bl sub_8153AFC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08150B4E -_08150B76: - ldr r4, _08150B88 @ =gUnknown_203F3E0 - ldr r0, [r4] - adds r0, 0x24 - ldrb r1, [r0] - movs r0, 0 - bl sub_8153D80 - ldr r1, [r4] - b _08150BE0 - .align 2, 0 -_08150B88: .4byte gUnknown_203F3E0 -_08150B8C: .4byte 0x0000318c -_08150B90: - bl sub_8154128 - bl sub_815417C - bl sub_8154438 - bl sub_8153E28 - b _08150BDC -_08150BA2: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08150BC8 @ =sub_8152034 - bl SetVBlankCallback - b _08150BDC - .align 2, 0 -_08150BC8: .4byte sub_8152034 -_08150BCC: - bl UpdatePaletteFade - ldr r0, _08150BE8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08150BFC -_08150BDC: - ldr r0, _08150BEC @ =gUnknown_203F3E0 - ldr r1, [r0] -_08150BE0: - ldrb r0, [r1, 0xC] - adds r0, 0x1 - strb r0, [r1, 0xC] - b _08150BFC - .align 2, 0 -_08150BE8: .4byte gPaletteFade -_08150BEC: .4byte gUnknown_203F3E0 -_08150BF0: - adds r0, r1, 0 - bl DestroyTask - ldr r0, _08150C04 @ =sub_81516DC - bl sub_815206C -_08150BFC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08150C04: .4byte sub_81516DC - thumb_func_end sub_8150A84 - - thumb_func_start sub_8150C08 -sub_8150C08: @ 8150C08 - push {lr} - bl sub_8151B54 - ldr r1, _08150C34 @ =sUnknown_8475578 - ldr r0, _08150C38 @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0x18] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08150C3C @ =gUnknown_3002044 - ldr r0, [r0] - cmp r0, 0 - bne _08150C2C - bl sub_815293C -_08150C2C: - bl sub_8151BA0 - pop {r0} - bx r0 - .align 2, 0 -_08150C34: .4byte sUnknown_8475578 -_08150C38: .4byte gUnknown_203F3E0 -_08150C3C: .4byte gUnknown_3002044 - thumb_func_end sub_8150C08 - - thumb_func_start sub_8150C40 -sub_8150C40: @ 8150C40 - push {lr} - bl sub_8151C5C - ldr r1, _08150C6C @ =sUnknown_84755A8 - ldr r0, _08150C70 @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0x18] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08150C74 @ =gUnknown_3002044 - ldr r0, [r0] - cmp r0, 0 - bne _08150C64 - bl sub_8152970 -_08150C64: - bl sub_8151D28 - pop {r0} - bx r0 - .align 2, 0 -_08150C6C: .4byte sUnknown_84755A8 -_08150C70: .4byte gUnknown_203F3E0 -_08150C74: .4byte gUnknown_3002044 - thumb_func_end sub_8150C40 - - thumb_func_start sub_8150C78 -sub_8150C78: @ 8150C78 - push {r4,lr} - ldr r4, _08150C8C @ =gUnknown_203F3E0 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _08150C90 - cmp r0, 0x1 - beq _08150CA6 - b _08150CB4 - .align 2, 0 -_08150C8C: .4byte gUnknown_203F3E0 -_08150C90: - movs r0, 0x1 - bl sub_8153BF8 - movs r0, 0x1 - bl sub_81549D4 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08150CB4 -_08150CA6: - bl sub_8155E68 - cmp r0, 0 - bne _08150CB4 - movs r0, 0x1 - bl sub_8152090 -_08150CB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8150C78 - - thumb_func_start sub_8150CBC -sub_8150CBC: @ 8150CBC - push {r4,lr} - ldr r4, _08150CD8 @ =gUnknown_203F3E0 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - cmp r0, 0 - bne _08150CDC - bl sub_8152110 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08150CEC - .align 2, 0 -_08150CD8: .4byte gUnknown_203F3E0 -_08150CDC: - movs r0, 0x8C - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x2 - bl sub_8152090 -_08150CEC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8150CBC - - thumb_func_start sub_8150CF4 -sub_8150CF4: @ 8150CF4 - push {lr} - sub sp, 0x4 - ldr r0, _08150D0C @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x4 - bhi _08150D74 - lsls r0, 2 - ldr r1, _08150D10 @ =_08150D14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08150D0C: .4byte gUnknown_203F3E0 -_08150D10: .4byte _08150D14 - .align 2, 0 -_08150D14: - .4byte _08150D28 - .4byte _08150D4E - .4byte _08150D3A - .4byte _08150D46 - .4byte _08150D64 -_08150D28: - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x78 - movs r3, 0x50 - bl sub_815F138 - b _08150D52 -_08150D3A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08150D74 - b _08150D52 -_08150D46: - bl sub_815F198 - cmp r0, 0 - bne _08150D74 -_08150D4E: - bl sub_80FA42C -_08150D52: - ldr r0, _08150D60 @ =gUnknown_203F3E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08150D74 - .align 2, 0 -_08150D60: .4byte gUnknown_203F3E0 -_08150D64: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08150D74 - movs r0, 0x3 - bl sub_8152090 -_08150D74: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8150CF4 - - thumb_func_start sub_8150D7C -sub_8150D7C: @ 8150D7C - push {lr} - ldr r0, _08150DA0 @ =gUnknown_203F3E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0 - bne _08150D9A - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _08150D9A - movs r0, 0x4 - bl sub_8152090 -_08150D9A: - pop {r0} - bx r0 - .align 2, 0 -_08150DA0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8150D7C - - thumb_func_start sub_8150DA4 -sub_8150DA4: @ 8150DA4 - push {r4,lr} - ldr r4, _08150DE4 @ =gUnknown_203F3E0 - ldr r2, [r4] - ldrb r0, [r2, 0x10] - cmp r0, 0 - bne _08150E62 - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _08150E54 - adds r0, r2, 0 - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0 - bne _08150E5A - ldr r0, _08150DE8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08150DF4 - ldr r1, _08150DEC @ =0x000031cc - adds r0, r2, r1 - ldrb r1, [r0] - cmp r1, 0 - bne _08150E5A - ldr r3, _08150DF0 @ =0x000031d0 - adds r0, r2, r3 - strb r1, [r0] - movs r0, 0x2 - b _08150E2E - .align 2, 0 -_08150DE4: .4byte gUnknown_203F3E0 -_08150DE8: .4byte gMain -_08150DEC: .4byte 0x000031cc -_08150DF0: .4byte 0x000031d0 -_08150DF4: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08150E14 - ldr r3, _08150E10 @ =0x000031cc - adds r0, r2, r3 - ldrb r1, [r0] - cmp r1, 0 - bne _08150E5A - adds r3, 0x4 - adds r0, r2, r3 - strb r1, [r0] - movs r0, 0x1 - b _08150E2E - .align 2, 0 -_08150E10: .4byte 0x000031cc -_08150E14: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08150E40 - ldr r3, _08150E3C @ =0x000031cc - adds r0, r2, r3 - ldrb r1, [r0] - cmp r1, 0 - bne _08150E5A - adds r3, 0x4 - adds r0, r2, r3 - strb r1, [r0] - movs r0, 0x3 -_08150E2E: - bl sub_815327C - ldr r1, [r4] - ldr r2, _08150E3C @ =0x000031cc - adds r1, r2 - strb r0, [r1] - b _08150E5A - .align 2, 0 -_08150E3C: .4byte 0x000031cc -_08150E40: - movs r0, 0 - bl sub_815327C - ldr r1, [r4] - ldr r3, _08150E50 @ =0x000031cc - adds r1, r3 - strb r0, [r1] - b _08150E5A - .align 2, 0 -_08150E50: .4byte 0x000031cc -_08150E54: - movs r0, 0xB - bl sub_8152090 -_08150E5A: - bl sub_815256C - bl sub_8151D98 -_08150E62: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8150DA4 - - thumb_func_start sub_8150E68 -sub_8150E68: @ 8150E68 - push {lr} - ldr r0, _08150EA8 @ =gUnknown_203F3E0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _08150F30 - ldr r0, _08150EAC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08150EB8 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r2, r0 - ldr r1, _08150EB0 @ =0x000031cc - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08150F36 - ldr r3, _08150EB4 @ =0x000032f8 - adds r1, r2, r3 - movs r0, 0x2 - strb r0, [r1] - b _08150F36 - .align 2, 0 -_08150EA8: .4byte gUnknown_203F3E0 -_08150EAC: .4byte gMain -_08150EB0: .4byte 0x000031cc -_08150EB4: .4byte 0x000032f8 -_08150EB8: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08150EEC - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r2, r0 - ldr r1, _08150EE4 @ =0x000031cc - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08150F36 - ldr r3, _08150EE8 @ =0x000032f8 - adds r1, r2, r3 - movs r0, 0x1 - strb r0, [r1] - b _08150F36 - .align 2, 0 -_08150EE4: .4byte 0x000031cc -_08150EE8: .4byte 0x000032f8 -_08150EEC: - movs r0, 0x20 - ands r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _08150F24 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r2, r0 - ldr r1, _08150F1C @ =0x000031cc - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08150F36 - ldr r3, _08150F20 @ =0x000032f8 - adds r1, r2, r3 - movs r0, 0x3 - strb r0, [r1] - b _08150F36 - .align 2, 0 -_08150F1C: .4byte 0x000031cc -_08150F20: .4byte 0x000032f8 -_08150F24: - ldr r3, _08150F2C @ =0x000032f8 - adds r0, r2, r3 - strb r1, [r0] - b _08150F36 - .align 2, 0 -_08150F2C: .4byte 0x000032f8 -_08150F30: - movs r0, 0xB - bl sub_8152090 -_08150F36: - bl sub_8151E94 - pop {r0} - bx r0 - thumb_func_end sub_8150E68 - - thumb_func_start sub_8150F40 -sub_8150F40: @ 8150F40 - push {r4,r5,lr} - bl sub_815256C - bl sub_8151D98 - bl sub_8152A98 - cmp r0, 0x1 - bne _08150F5E - bl sub_8153004 - movs r0, 0x5 - bl sub_8152090 - b _08150FBC -_08150F5E: - ldr r0, _08150F8C @ =gUnknown_203F3E0 - ldr r2, [r0] - movs r1, 0x96 - lsls r1, 1 - adds r4, r2, r1 - movs r1, 0x1 - str r1, [r4] - movs r3, 0x1 - adds r1, r2, 0 - adds r1, 0x24 - adds r5, r0, 0 - ldrb r1, [r1] - cmp r3, r1 - bcs _08150FBC - movs r1, 0x9A - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - cmp r0, 0x1 - beq _08150F90 - movs r0, 0 - str r0, [r4] - b _08150FBC - .align 2, 0 -_08150F8C: .4byte gUnknown_203F3E0 -_08150F90: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x24 - ldrb r0, [r0] - cmp r3, r0 - bcs _08150FBC - lsls r0, r3, 2 - movs r4, 0x98 - lsls r4, 1 - adds r1, r2, r4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0x1 - beq _08150F90 - movs r0, 0x96 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] -_08150FBC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8150F40 - - thumb_func_start sub_8150FC4 -sub_8150FC4: @ 8150FC4 - push {lr} - bl sub_8151E94 - bl sub_8152AD8 - cmp r0, 0x1 - bne _08150FD8 - movs r0, 0x5 - bl sub_8152090 -_08150FD8: - pop {r0} - bx r0 - thumb_func_end sub_8150FC4 - - thumb_func_start sub_8150FDC -sub_8150FDC: @ 8150FDC - push {r4-r6,lr} - ldr r6, _08150FF4 @ =gUnknown_203F3E0 - ldr r1, [r6] - ldrb r4, [r1, 0x10] - cmp r4, 0x1 - beq _08151010 - cmp r4, 0x1 - bgt _08150FF8 - cmp r4, 0 - beq _08150FFE - b _08151078 - .align 2, 0 -_08150FF4: .4byte gUnknown_203F3E0 -_08150FF8: - cmp r4, 0x2 - beq _0815101E - b _08151078 -_08150FFE: - adds r1, 0x4A - movs r0, 0 - movs r2, 0x3C - bl SendBlock - ldr r0, [r6] - strb r4, [r0, 0x8] - ldr r1, [r6] - b _0815106A -_08151010: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08151092 - ldr r1, [r6] - b _0815106A -_0815101E: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _08151048 -_0815102A: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151040 - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_08151040: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_08151048: - ldr r0, [r6] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _0815102A - ldr r3, _08151074 @ =gUnknown_203F3E0 - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _08151092 - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - ldr r1, [r3] -_0815106A: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151092 - .align 2, 0 -_08151074: .4byte gUnknown_203F3E0 -_08151078: - movs r0, 0x1 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - beq _08151092 - movs r0, 0x6 - bl sub_8152090 - ldr r0, _08151098 @ =0x00000137 - movs r1, 0x4 - bl FadeOutAndPlayNewMapMusic -_08151092: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151098: .4byte 0x00000137 - thumb_func_end sub_8150FDC - - thumb_func_start sub_815109C -sub_815109C: @ 815109C - push {r4-r6,lr} - ldr r6, _081510B4 @ =gUnknown_203F3E0 - ldr r2, [r6] - ldrb r4, [r2, 0x10] - cmp r4, 0x1 - beq _081510DA - cmp r4, 0x1 - bgt _081510B8 - cmp r4, 0 - beq _081510BE - b _08151150 - .align 2, 0 -_081510B4: .4byte gUnknown_203F3E0 -_081510B8: - cmp r4, 0x2 - beq _081510E8 - b _08151150 -_081510BE: - ldrb r0, [r2, 0x14] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, 0x4A - adds r1, r2, r1 - movs r0, 0 - movs r2, 0x3C - bl SendBlock - ldr r0, [r6] - strb r4, [r0, 0x8] - ldr r1, [r6] - b _08151140 -_081510DA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0815118A - ldr r1, [r6] - b _08151140 -_081510E8: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _0815111E -_081510F4: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151116 - ldr r0, [r6] - adds r0, 0x4A - ldr r1, _08151148 @ =gBlockRecvBuffer - movs r2, 0x3C - bl memcpy - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_08151116: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0815111E: - ldr r0, [r6] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _081510F4 - ldr r3, _0815114C @ =gUnknown_203F3E0 - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _0815118A - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - ldr r1, [r3] -_08151140: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _0815118A - .align 2, 0 -_08151148: .4byte gBlockRecvBuffer -_0815114C: .4byte gUnknown_203F3E0 -_08151150: - movs r0, 0x1 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - beq _0815118A - ldr r0, _08151190 @ =gUnknown_203F3E0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x54 - adds r0, r1 - ldrh r1, [r0] - movs r3, 0x8A - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r0, 0x6 - bl sub_8152090 - ldr r0, _08151194 @ =0x00000137 - movs r1, 0x4 - bl FadeOutAndPlayNewMapMusic -_0815118A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151190: .4byte gUnknown_203F3E0 -_08151194: .4byte 0x00000137 - thumb_func_end sub_815109C - - thumb_func_start sub_8151198 -sub_8151198: @ 8151198 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _081511B0 @ =gUnknown_203F3E0 - ldr r0, [r6] - ldrb r4, [r0, 0x10] - cmp r4, 0x1 - beq _081511DC - cmp r4, 0x1 - bgt _081511B4 - cmp r4, 0 - beq _081511BE - b _0815129C - .align 2, 0 -_081511B0: .4byte gUnknown_203F3E0 -_081511B4: - cmp r4, 0x2 - beq _08151202 - cmp r4, 0x3 - beq _0815121C - b _0815129C -_081511BE: - bl sub_81531FC - movs r0, 0x1 - bl sub_81540DC - bl sub_81544F0 - movs r0, 0x1 - bl sub_81545BC - movs r0, 0x2 - bl sub_81549D4 - ldr r1, [r6] - b _0815128A -_081511DC: - bl sub_8155E68 - cmp r0, 0 - bne _081512AA - mov r0, sp - strb r4, [r0] - movs r0, 0x5 - bl sub_81549D4 - bl sub_8155E8C - mov r1, sp - strb r0, [r1] - movs r0, 0 - movs r2, 0x1 - bl SendBlock - ldr r1, [r6] - b _0815128A -_08151202: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _081512AA - ldr r1, [r6] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x10] - ldr r0, [r6] - strb r2, [r0, 0x8] - b _081512AA -_0815121C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _0815125A -_08151228: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151252 - ldr r2, [r6] - adds r2, r4, r2 - movs r0, 0x86 - lsls r0, 1 - adds r2, r0 - lsls r0, r4, 8 - ldr r1, _08151294 @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_08151252: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0815125A: - ldr r0, [r6] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _08151228 - ldr r4, _08151298 @ =gUnknown_203F3E0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _081512AA - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x77 - bls _081512AA - movs r0, 0x6 - bl sub_81549D4 - ldr r1, [r4] -_0815128A: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _081512AA - .align 2, 0 -_08151294: .4byte gBlockRecvBuffer -_08151298: .4byte gUnknown_203F3E0 -_0815129C: - bl sub_8155E68 - cmp r0, 0 - bne _081512AA - movs r0, 0x7 - bl sub_8152090 -_081512AA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8151198 - - thumb_func_start sub_81512B4 -sub_81512B4: @ 81512B4 - push {r4-r7,lr} - sub sp, 0x4 - ldr r5, _081512D0 @ =gUnknown_203F3E0 - ldr r0, [r5] - ldrb r0, [r0, 0x10] - cmp r0, 0x6 - bls _081512C4 - b _0815144A -_081512C4: - lsls r0, 2 - ldr r1, _081512D4 @ =_081512D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081512D0: .4byte gUnknown_203F3E0 -_081512D4: .4byte _081512D8 - .align 2, 0 -_081512D8: - .4byte _081512F4 - .4byte _08151314 - .4byte _08151330 - .4byte _08151344 - .4byte _08151360 - .4byte _0815138C - .4byte _081513AC -_081512F4: - bl sub_81534AC - ldr r1, _0815130C @ =0x00000bb7 - cmp r0, r1 - bls _08151304 - movs r0, 0x4 - bl sub_81549D4 -_08151304: - ldr r0, _08151310 @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_0815130C: .4byte 0x00000bb7 -_08151310: .4byte gUnknown_203F3E0 -_08151314: - bl sub_8155E68 - cmp r0, 0 - beq _0815131E - b _08151480 -_0815131E: - movs r0, 0x3 - bl sub_81549D4 - ldr r0, _0815132C @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_0815132C: .4byte gUnknown_203F3E0 -_08151330: - bl sub_81546C0 - bl sub_8153048 - ldr r0, _08151340 @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_08151340: .4byte gUnknown_203F3E0 -_08151344: - bl sub_8155E8C - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0 - bne _08151356 - b _08151480 -_08151356: - ldr r0, _0815135C @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_0815135C: .4byte gUnknown_203F3E0 -_08151360: - bl sub_8155E68 - cmp r0, 0 - beq _0815136A - b _08151480 -_0815136A: - movs r0, 0x5 - bl sub_81549D4 - bl sub_8155E8C - mov r1, sp - strb r0, [r1] - movs r0, 0 - movs r2, 0x1 - bl SendBlock - ldr r0, _08151388 @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_08151388: .4byte gUnknown_203F3E0 -_0815138C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08151480 - ldr r3, _081513A8 @ =gUnknown_203F3E0 - ldr r1, [r3] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x10] - ldr r0, [r3] - strb r2, [r0, 0x8] - b _08151480 - .align 2, 0 -_081513A8: .4byte gUnknown_203F3E0 -_081513AC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r7, _08151434 @ =gUnknown_203F3E0 - ldr r0, [r7] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcs _08151400 - adds r6, r7, 0 -_081513C4: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _081513EE - ldr r2, [r6] - adds r2, r4, r2 - movs r0, 0x86 - lsls r0, 1 - adds r2, r0 - lsls r0, r4, 8 - ldr r1, _08151438 @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_081513EE: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r7] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _081513C4 -_08151400: - ldr r4, _08151434 @ =gUnknown_203F3E0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _0815143C - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x77 - bls _08151480 - bl sub_815336C - movs r0, 0x6 - bl sub_81549D4 - ldr r1, [r4] -_0815142A: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151480 - .align 2, 0 -_08151434: .4byte gUnknown_203F3E0 -_08151438: .4byte gBlockRecvBuffer -_0815143C: - bl sub_81532B8 - b _08151480 -_08151442: - movs r0, 0x8 - bl sub_8152090 - b _08151480 -_0815144A: - bl sub_8155E68 - cmp r0, 0 - bne _08151480 - movs r4, 0 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcs _0815147A - movs r3, 0x86 - lsls r3, 1 - adds r2, r1, r3 - adds r1, r0, 0 -_08151468: - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08151442 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r1 - bcc _08151468 -_0815147A: - movs r0, 0xA - bl sub_8152090 -_08151480: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81512B4 - - thumb_func_start sub_8151488 -sub_8151488: @ 8151488 - push {r4,lr} - ldr r4, _081514A0 @ =gUnknown_203F3E0 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - beq _081514B6 - cmp r0, 0x1 - bgt _081514A4 - cmp r0, 0 - beq _081514AA - b _081514D6 - .align 2, 0 -_081514A0: .4byte gUnknown_203F3E0 -_081514A4: - cmp r0, 0x2 - beq _081514C0 - b _081514D6 -_081514AA: - bl sub_800AAC0 - movs r0, 0x7 - bl sub_81549D4 - b _081514CC -_081514B6: - bl sub_8155E68 - cmp r0, 0 - bne _081514E4 - b _081514CC -_081514C0: - bl sub_8155E8C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _081514E4 -_081514CC: - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _081514E4 -_081514D6: - ldr r0, _081514EC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081514E4 - movs r0, 0x9 - bl sub_8152090 -_081514E4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081514EC: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8151488 - - thumb_func_start sub_81514F0 -sub_81514F0: @ 81514F0 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08151508 @ =gUnknown_203F3E0 - ldr r0, [r4] - ldrb r1, [r0, 0x10] - cmp r1, 0x1 - beq _08151524 - cmp r1, 0x1 - bgt _0815150C - cmp r1, 0 - beq _08151512 - b _0815156C - .align 2, 0 -_08151508: .4byte gUnknown_203F3E0 -_0815150C: - cmp r1, 0x2 - beq _0815153C - b _0815156C -_08151512: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0815155E -_08151524: - bl UpdatePaletteFade - ldr r0, _08151538 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08151590 - b _0815155E - .align 2, 0 -_08151538: .4byte gPaletteFade -_0815153C: - bl sub_8154274 - bl sub_8153ED8 - ldr r0, [r4] - adds r0, 0x24 - ldrb r0, [r0] - bl sub_8153D08 - bl sub_8154578 - ldr r1, _08151568 @ =gUnknown_3002044 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x8 - bl sub_81549D4 -_0815155E: - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151590 - .align 2, 0 -_08151568: .4byte gUnknown_3002044 -_0815156C: - bl sub_8155E68 - cmp r0, 0 - bne _08151590 - ldr r4, _08151598 @ =gUnknown_203F3E0 - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl DestroyTask - ldr r0, [r4] - bl Free - bl FreeAllWindowBuffers -_08151590: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08151598: .4byte gUnknown_203F3E0 - thumb_func_end sub_81514F0 - - thumb_func_start sub_815159C -sub_815159C: @ 815159C - push {r4,lr} - sub sp, 0x4 - ldr r4, _081515B4 @ =gUnknown_203F3E0 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - cmp r0, 0x6 - bhi _0815169C - lsls r0, 2 - ldr r1, _081515B8 @ =_081515BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081515B4: .4byte gUnknown_203F3E0 -_081515B8: .4byte _081515BC - .align 2, 0 -_081515BC: - .4byte _081515D8 - .4byte _08151676 - .4byte _081515F0 - .4byte _08151642 - .4byte _08151648 - .4byte _08151656 - .4byte _08151676 -_081515D8: - movs r0, 0x9 - bl sub_81549D4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08151686 -_081515F0: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - b _08151686 -_08151642: - bl StopMapMusic - b _08151686 -_08151648: - movs r0, 0xA5 - lsls r0, 1 - bl PlayNewMapMusic - bl sub_8154540 - b _08151686 -_08151656: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08151686 -_08151676: - bl UpdatePaletteFade - ldr r0, _08151694 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081516CC -_08151686: - ldr r0, _08151698 @ =gUnknown_203F3E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _081516CC - .align 2, 0 -_08151694: .4byte gPaletteFade -_08151698: .4byte gUnknown_203F3E0 -_0815169C: - ldrb r0, [r1, 0x4] - bl DestroyTask - ldr r0, _081516D4 @ =sub_81516DC - bl sub_815206C - bl sub_8154730 - ldr r0, [r4] - bl sub_81508EC - ldr r0, _081516D8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081516C2 - ldr r0, [r4] - adds r0, 0x24 - movs r1, 0x1 - strb r1, [r0] -_081516C2: - bl sub_8153150 - movs r0, 0 - bl sub_81545BC -_081516CC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081516D4: .4byte sub_81516DC -_081516D8: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_815159C - - thumb_func_start sub_81516DC -sub_81516DC: @ 81516DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _081516F8 @ =gUnknown_203F3E0 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - adds r4, r1, 0 - cmp r0, 0x1 - beq _08151708 - cmp r0, 0x1 - bgt _081516FC - cmp r0, 0 - beq _08151702 - b _08151720 - .align 2, 0 -_081516F8: .4byte gUnknown_203F3E0 -_081516FC: - cmp r0, 0x2 - beq _0815170E - b _08151720 -_08151702: - bl sub_81520B4 - b _08151712 -_08151708: - bl sub_8153DD8 - b _08151716 -_0815170E: - bl sub_8153F1C -_08151712: - cmp r0, 0x1 - bne _08151744 -_08151716: - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151744 -_08151720: - ldr r0, [r4] - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _08151738 - ldr r0, _08151734 @ =sub_8150C08 - bl sub_815206C - b _0815173E - .align 2, 0 -_08151734: .4byte sub_8150C08 -_08151738: - ldr r0, _0815174C @ =sub_8150C40 - bl sub_815206C -_0815173E: - adds r0, r5, 0 - bl DestroyTask -_08151744: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815174C: .4byte sub_8150C40 - thumb_func_end sub_81516DC - - thumb_func_start sub_8151750 -sub_8151750: @ 8151750 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08151774 @ =gTasks+0x8 - adds r6, r0, r1 - movs r0, 0 - ldrsh r5, [r6, r0] - cmp r5, 0x1 - beq _081517A8 - cmp r5, 0x1 - bgt _08151778 - cmp r5, 0 - beq _0815177E - b _08151836 - .align 2, 0 -_08151774: .4byte gTasks+0x8 -_08151778: - cmp r5, 0x2 - beq _081517BA - b _08151836 -_0815177E: - ldr r4, _081517A0 @ =gUnknown_203F3E0 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 2 - ldr r2, _081517A4 @ =0x0000318c - adds r0, r2 - adds r1, r0 - movs r0, 0 - movs r2, 0x1 - bl SendBlock - ldr r0, [r4] - strb r5, [r0, 0x8] - b _081517B2 - .align 2, 0 -_081517A0: .4byte gUnknown_203F3E0 -_081517A4: .4byte 0x0000318c -_081517A8: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08151836 -_081517B2: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _08151836 -_081517BA: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r3, _08151840 @ =gUnknown_203F3E0 - ldr r0, [r3] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcs _08151812 - adds r6, r3, 0 -_081517D2: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151800 - ldr r0, [r6] - lsls r2, r4, 2 - adds r2, r0 - ldr r0, _08151844 @ =0x0000318c - adds r2, r0 - lsls r0, r4, 8 - ldr r1, _08151848 @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0 - str r3, [sp] - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] - ldr r3, [sp] -_08151800: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r3] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _081517D2 -_08151812: - ldr r4, _08151840 @ =gUnknown_203F3E0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x24 - ldrb r0, [r0, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _08151836 - adds r0, r7, 0 - bl DestroyTask - movs r0, 0x6 - bl sub_81549D4 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] -_08151836: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08151840: .4byte gUnknown_203F3E0 -_08151844: .4byte 0x0000318c -_08151848: .4byte gBlockRecvBuffer - thumb_func_end sub_8151750 - - thumb_func_start sub_815184C -sub_815184C: @ 815184C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - ldr r6, _08151928 @ =gUnknown_203F3E0 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x24 - ldrb r7, [r1] - ldr r2, _0815192C @ =0x000031a0 - adds r1, r0, r2 - ldr r3, _08151930 @ =0x000031cc - adds r2, r0, r3 - ldr r4, _08151934 @ =0x00003208 - adds r3, r0, r4 - ldr r5, _08151938 @ =0x00003244 - adds r4, r0, r5 - str r4, [sp] - adds r5, 0x3C - adds r4, r0, r5 - str r4, [sp, 0x4] - adds r5, 0x3C - adds r4, r0, r5 - str r4, [sp, 0x8] - adds r4, r0, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r5, 0x90 - lsls r5, 1 - adds r4, r0, r5 - str r4, [sp, 0x10] - movs r4, 0x96 - lsls r4, 1 - adds r0, r4 - str r0, [sp, 0x14] - movs r0, 0 - bl sub_815A950 - ldr r1, [r6] - ldr r5, _0815193C @ =0x000031b0 - adds r2, r1, r5 - str r0, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - movs r5, 0x1 - cmp r5, r7 - bcs _081518F4 -_081518B0: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xA8 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _081518EA - lsls r0, r5, 4 - subs r0, r5 - lsls r4, r0, 2 - adds r1, r4, r1 - ldr r2, _08151930 @ =0x000031cc - adds r1, r2 - adds r0, r5, 0 - bl sub_815AB04 - adds r1, r0, 0 - cmp r1, 0 - bne _081518EA - ldr r0, [r6] - adds r0, r4 - ldr r3, _08151930 @ =0x000031cc - adds r0, r3 - strb r1, [r0] - ldr r0, [r6] - movs r4, 0x94 - lsls r4, 1 - adds r0, r4 - strb r1, [r0] -_081518EA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _081518B0 -_081518F4: - ldr r5, _08151928 @ =gUnknown_203F3E0 - ldr r1, [r5] - movs r6, 0x92 - lsls r6, 1 - adds r1, r6 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _08151952 - ldr r1, [r5] - movs r2, 0x94 - lsls r2, 1 - adds r0, r1, r2 - ldrb r4, [r0] - cmp r4, 0 - beq _08151940 - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - movs r1, 0 - strb r1, [r0] - b _08151952 - .align 2, 0 -_08151928: .4byte gUnknown_203F3E0 -_0815192C: .4byte 0x000031a0 -_08151930: .4byte 0x000031cc -_08151934: .4byte 0x00003208 -_08151938: .4byte 0x00003244 -_0815193C: .4byte 0x000031b0 -_08151940: - adds r0, r1, r6 - ldrb r0, [r0] - cmp r0, 0x46 - bls _08151952 - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - strb r4, [r0] -_08151952: - movs r5, 0 - cmp r5, r7 - bcs _08151A46 - ldr r3, _0815199C @ =0x000031cc - mov r12, r3 - ldr r4, _081519A0 @ =gUnknown_203F3E0 - mov r8, r4 -_08151960: - mov r6, r8 - ldr r2, [r6] - lsls r0, r5, 4 - subs r1, r0, r5 - lsls r1, 2 - adds r1, r2, r1 - add r1, r12 - ldrb r1, [r1] - adds r6, r0, 0 - cmp r1, 0 - beq _08151986 - adds r0, r2, 0 - adds r0, 0xA8 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - bne _08151986 - movs r0, 0x1 - strb r0, [r1] -_08151986: - adds r3, r4, 0 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0xA8 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x3 - bgt _081519A4 - cmp r0, 0x1 - bge _081519AA - b _08151A3C - .align 2, 0 -_0815199C: .4byte 0x000031cc -_081519A0: .4byte gUnknown_203F3E0 -_081519A4: - cmp r0, 0x4 - beq _081519F8 - b _08151A3C -_081519AA: - adds r1, 0xB0 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _08151A3C - ldr r0, [r3] - adds r0, 0xB0 - adds r0, r5 - strb r2, [r0] - ldr r0, [r3] - adds r0, 0xA8 - adds r0, r5 - strb r2, [r0] - ldr r0, [r3] - subs r1, r6, r5 - lsls r1, 2 - adds r0, r1 - add r0, r12 - strb r2, [r0] - ldr r0, [r3] - adds r0, r1 - ldr r6, _081519F0 @ =0x000031d0 - adds r0, r6 - strb r2, [r0] - ldr r0, [r3] - adds r0, r1 - ldr r1, _081519F4 @ =0x000031d4 - adds r0, r1 - b _08151A3A - .align 2, 0 -_081519F0: .4byte 0x000031d0 -_081519F4: .4byte 0x000031d4 -_081519F8: - adds r1, 0xB0 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x27 - bls _08151A3C - ldr r0, [r4] - adds r0, 0xB0 - adds r0, r5 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xA8 - adds r0, r5 - strb r2, [r0] - ldr r0, [r4] - subs r1, r6, r5 - lsls r1, 2 - adds r0, r1 - add r0, r12 - strb r2, [r0] - ldr r0, [r4] - adds r0, r1 - ldr r3, _08151A54 @ =0x000031d0 - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - adds r0, r1 - ldr r6, _08151A58 @ =0x000031d4 - adds r0, r6 -_08151A3A: - strb r2, [r0] -_08151A3C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08151960 -_08151A46: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08151A54: .4byte 0x000031d0 -_08151A58: .4byte 0x000031d4 - thumb_func_end sub_815184C - - thumb_func_start sub_8151A5C -sub_8151A5C: @ 8151A5C - push {r4-r7,lr} - sub sp, 0x18 - ldr r5, _08151B20 @ =gUnknown_203F3E0 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x24 - ldrb r6, [r1] - ldr r2, _08151B24 @ =0x000031a0 - adds r1, r0, r2 - ldr r3, _08151B28 @ =0x000031cc - adds r2, r0, r3 - ldr r4, _08151B2C @ =0x00003208 - adds r3, r0, r4 - ldr r7, _08151B30 @ =0x00003244 - adds r4, r0, r7 - str r4, [sp] - adds r7, 0x3C - adds r4, r0, r7 - str r4, [sp, 0x4] - adds r7, 0x3C - adds r4, r0, r7 - str r4, [sp, 0x8] - adds r4, r0, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r7, 0x90 - lsls r7, 1 - adds r4, r0, r7 - str r4, [sp, 0x10] - movs r4, 0x96 - lsls r4, 1 - adds r0, r4 - str r0, [sp, 0x14] - movs r0, 0 - bl sub_815A950 - ldr r1, [r5] - ldr r7, _08151B34 @ =0x000031b0 - adds r2, r1, r7 - str r0, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 - cmp r4, r6 - bcs _08151AEC -_08151ABC: - adds r0, r4, 0 - bl sub_815AB60 - cmp r0, 0 - beq _08151AE2 - ldr r0, _08151B20 @ =gUnknown_203F3E0 - ldr r2, [r0] - lsls r1, r4, 2 - movs r3, 0x98 - lsls r3, 1 - adds r0, r2, r3 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - movs r7, 0x94 - lsls r7, 1 - adds r1, r2, r7 - movs r0, 0 - strb r0, [r1] -_08151AE2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08151ABC -_08151AEC: - ldr r5, _08151B20 @ =gUnknown_203F3E0 - ldr r1, [r5] - movs r6, 0x92 - lsls r6, 1 - adds r1, r6 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _08151B4A - ldr r1, [r5] - movs r2, 0x94 - lsls r2, 1 - adds r0, r1, r2 - ldrb r4, [r0] - cmp r4, 0 - beq _08151B38 - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - movs r1, 0 - strb r1, [r0] - b _08151B4A - .align 2, 0 -_08151B20: .4byte gUnknown_203F3E0 -_08151B24: .4byte 0x000031a0 -_08151B28: .4byte 0x000031cc -_08151B2C: .4byte 0x00003208 -_08151B30: .4byte 0x00003244 -_08151B34: .4byte 0x000031b0 -_08151B38: - adds r0, r1, r6 - ldrb r0, [r0] - cmp r0, 0x46 - bls _08151B4A - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - strb r4, [r0] -_08151B4A: - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151A5C - - thumb_func_start sub_8151B54 -sub_8151B54: @ 8151B54 - push {r4,r5,lr} - ldr r5, _08151B6C @ =gUnknown_203F3E0 - ldr r0, [r5] - ldrb r0, [r0, 0x18] - cmp r0, 0x4 - beq _08151B90 - cmp r0, 0x4 - bgt _08151B70 - cmp r0, 0x3 - beq _08151B76 - b _08151B9A - .align 2, 0 -_08151B6C: .4byte gUnknown_203F3E0 -_08151B70: - cmp r0, 0xB - beq _08151B96 - b _08151B9A -_08151B76: - bl sub_8152A00 - adds r4, r0, 0 - cmp r4, 0x1 - bne _08151B9A - bl sub_8152A70 - ldr r0, [r5] - movs r1, 0x8E - lsls r1, 1 - adds r0, r1 - str r4, [r0] - b _08151B9A -_08151B90: - bl sub_815184C - b _08151B9A -_08151B96: - bl sub_8151A5C -_08151B9A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8151B54 - - thumb_func_start sub_8151BA0 -sub_8151BA0: @ 8151BA0 - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _08151BB4 @ =gUnknown_203F3E0 - ldr r5, [r0] - ldrb r0, [r5, 0x18] - cmp r0, 0x4 - beq _08151BB8 - cmp r0, 0xB - beq _08151C08 - b _08151C44 - .align 2, 0 -_08151BB4: .4byte gUnknown_203F3E0 -_08151BB8: - ldr r1, _08151BF8 @ =0x000032cc - adds r0, r5, r1 - ldr r2, _08151BFC @ =0x000031cc - adds r1, r5, r2 - ldr r3, _08151C00 @ =0x00003208 - adds r2, r5, r3 - ldr r4, _08151C04 @ =0x00003244 - adds r3, r5, r4 - movs r6, 0xCA - lsls r6, 6 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r4, r5, 0 - adds r4, 0x40 - ldrb r4, [r4] - str r4, [sp, 0x8] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0xC] - adds r6, 0xC - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0x10] - bl sub_815A61C - b _08151C44 - .align 2, 0 -_08151BF8: .4byte 0x000032cc -_08151BFC: .4byte 0x000031cc -_08151C00: .4byte 0x00003208 -_08151C04: .4byte 0x00003244 -_08151C08: - ldr r1, _08151C4C @ =0x000032cc - adds r0, r5, r1 - ldr r2, _08151C50 @ =0x000031cc - adds r1, r5, r2 - ldr r3, _08151C54 @ =0x00003208 - adds r2, r5, r3 - ldr r4, _08151C58 @ =0x00003244 - adds r3, r5, r4 - movs r6, 0xCA - lsls r6, 6 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r4, r5, 0 - adds r4, 0x40 - ldrb r4, [r4] - str r4, [sp, 0x8] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0xC] - adds r6, 0xC - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0x10] - bl sub_815A61C -_08151C44: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151C4C: .4byte 0x000032cc -_08151C50: .4byte 0x000031cc -_08151C54: .4byte 0x00003208 -_08151C58: .4byte 0x00003244 - thumb_func_end sub_8151BA0 - - thumb_func_start sub_8151C5C -sub_8151C5C: @ 8151C5C - push {r4-r6,lr} - sub sp, 0x18 - ldr r0, _08151C70 @ =gUnknown_203F3E0 - ldr r5, [r0] - ldrb r0, [r5, 0x18] - cmp r0, 0x4 - beq _08151C74 - cmp r0, 0xB - beq _08151CCC - b _08151D10 - .align 2, 0 -_08151C70: .4byte gUnknown_203F3E0 -_08151C74: - adds r0, r5, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 2 - ldr r2, _08151CBC @ =0x000031a0 - adds r1, r2 - adds r1, r5, r1 - ldr r3, _08151CC0 @ =0x000031cc - adds r2, r5, r3 - ldr r4, _08151CC4 @ =0x00003208 - adds r3, r5, r4 - ldr r6, _08151CC8 @ =0x00003244 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x8] - adds r4, r5, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - str r4, [sp, 0x10] - adds r6, 0xC - adds r4, r5, r6 - str r4, [sp, 0x14] - bl sub_815A950 - b _08151D10 - .align 2, 0 -_08151CBC: .4byte 0x000031a0 -_08151CC0: .4byte 0x000031cc -_08151CC4: .4byte 0x00003208 -_08151CC8: .4byte 0x00003244 -_08151CCC: - adds r0, r5, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 2 - ldr r2, _08151D18 @ =0x000031a0 - adds r1, r2 - adds r1, r5, r1 - ldr r3, _08151D1C @ =0x000031cc - adds r2, r5, r3 - ldr r4, _08151D20 @ =0x00003208 - adds r3, r5, r4 - ldr r6, _08151D24 @ =0x00003244 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x8] - adds r4, r5, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - str r4, [sp, 0x10] - adds r6, 0xC - adds r4, r5, r6 - str r4, [sp, 0x14] - bl sub_815A950 -_08151D10: - add sp, 0x18 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151D18: .4byte 0x000031a0 -_08151D1C: .4byte 0x000031cc -_08151D20: .4byte 0x00003208 -_08151D24: .4byte 0x00003244 - thumb_func_end sub_8151C5C - - thumb_func_start sub_8151D28 -sub_8151D28: @ 8151D28 - push {r4,lr} - ldr r4, _08151D40 @ =gUnknown_203F3E0 - ldr r1, [r4] - ldrb r0, [r1, 0x18] - cmp r0, 0x4 - beq _08151D5E - cmp r0, 0x4 - bgt _08151D44 - cmp r0, 0x3 - beq _08151D4A - b _08151D90 - .align 2, 0 -_08151D40: .4byte gUnknown_203F3E0 -_08151D44: - cmp r0, 0xB - beq _08151D74 - b _08151D90 -_08151D4A: - movs r0, 0x1 - bl sub_815A5BC - ldr r0, [r4] - movs r1, 0x8E - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - b _08151D90 -_08151D5E: - ldr r2, _08151D70 @ =0x000032f8 - adds r1, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08151D90 - bl sub_815AAD8 - b _08151D90 - .align 2, 0 -_08151D70: .4byte 0x000032f8 -_08151D74: - movs r2, 0x90 - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08151D90 - adds r2, 0xC - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08151D90 - movs r0, 0x1 - bl sub_815AB3C -_08151D90: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8151D28 - - thumb_func_start sub_8151D98 -sub_8151D98: @ 8151D98 - push {r4-r6,lr} - ldr r6, _08151DD0 @ =gUnknown_203F3E0 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r1, r2, r0 - ldr r3, _08151DD4 @ =0x000031cc - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08151DD8 - bl IsSEPlaying - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08151E3A - ldr r0, [r6] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r2 - strb r1, [r0] - b _08151E3A - .align 2, 0 -_08151DD0: .4byte gUnknown_203F3E0 -_08151DD4: .4byte 0x000031cc -_08151DD8: - ldr r3, _08151E04 @ =0x000031d0 - adds r0, r1, r3 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151E08 - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08151E3A - movs r0, 0x19 - bl m4aSongNumStop - movs r0, 0x19 - bl PlaySE - ldr r0, [r6] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r2 - b _08151E38 - .align 2, 0 -_08151E04: .4byte 0x000031d0 -_08151E08: - ldr r3, _08151E64 @ =0x000031d4 - adds r0, r1, r3 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151E3A - movs r5, 0xA2 - lsls r5, 1 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _08151E3A - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08151E3A - movs r0, 0x16 - bl PlaySE - movs r0, 0x1 - bl sub_8153BC0 - ldr r0, [r6] - adds r0, r5 -_08151E38: - strb r4, [r0] -_08151E3A: - ldr r0, _08151E68 @ =gUnknown_203F3E0 - ldr r2, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r2, r5 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - bne _08151E6C - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08151E6C - bl StopMapMusic - ldr r0, [r4] - adds r0, r5 - movs r1, 0x1 - b _08151E8A - .align 2, 0 -_08151E64: .4byte 0x000031d4 -_08151E68: .4byte gUnknown_203F3E0 -_08151E6C: - ldr r0, [r4] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08151E8C - movs r0, 0xA - bl PlayFanfareByFanfareNum - ldr r0, [r4] - movs r2, 0xAA - lsls r2, 1 - adds r0, r2 - movs r1, 0x2 -_08151E8A: - strb r1, [r0] -_08151E8C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8151D98 - - thumb_func_start sub_8151E94 -sub_8151E94: @ 8151E94 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, _08151EE0 @ =gUnknown_203F3E0 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x44 - ldrb r0, [r0] - mov r8, r0 - adds r0, r2, 0 - adds r0, 0x48 - ldrb r7, [r0] - subs r0, 0x20 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r1, r2, r0 - ldr r3, _08151EE4 @ =0x000031cc - adds r0, r1, r3 - ldrb r3, [r0] - cmp r3, 0 - bne _08151EEC - ldr r4, _08151EE8 @ =0x000031d0 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08151F4E - adds r4, 0x4 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08151F4E - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - strb r3, [r0] - b _08151F4E - .align 2, 0 -_08151EE0: .4byte gUnknown_203F3E0 -_08151EE4: .4byte 0x000031cc -_08151EE8: .4byte 0x000031d0 -_08151EEC: - ldr r3, _08151F18 @ =0x000031d0 - adds r0, r1, r3 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151F1C - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08151F4E - movs r0, 0x19 - bl m4aSongNumStop - movs r0, 0x19 - bl PlaySE - ldr r0, [r6] - movs r3, 0xA2 - lsls r3, 1 - adds r0, r3 - b _08151F4C - .align 2, 0 -_08151F18: .4byte 0x000031d0 -_08151F1C: - ldr r4, _08151FA0 @ =0x000031d4 - adds r0, r1, r4 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151F4E - movs r5, 0xA2 - lsls r5, 1 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _08151F4E - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08151F4E - movs r0, 0x16 - bl PlaySE - movs r0, 0x1 - bl sub_8153BC0 - ldr r0, [r6] - adds r0, r5 -_08151F4C: - strb r4, [r0] -_08151F4E: - mov r4, r8 - cmp r4, r7 - bcs _08151FC2 - ldr r5, _08151FA4 @ =gUnknown_203F3E0 -_08151F56: - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - ldr r1, _08151FA8 @ =0x000031a0 - adds r0, r1 - adds r0, r2, r0 - adds r1, r0, 0 - adds r1, 0x14 - adds r0, 0x1F - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08151FAC - movs r3, 0xA4 - lsls r3, 1 - adds r0, r2, r3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08151FB8 - adds r0, r1, r4 - ldrb r0, [r0] - adds r0, 0x43 - bl PlaySE - ldr r0, [r5] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - movs r1, 0x1 - b _08151FB6 - .align 2, 0 -_08151FA0: .4byte 0x000031d4 -_08151FA4: .4byte gUnknown_203F3E0 -_08151FA8: .4byte 0x000031a0 -_08151FAC: - movs r3, 0xA4 - lsls r3, 1 - adds r0, r2, r3 - adds r0, r4 - movs r1, 0 -_08151FB6: - strb r1, [r0] -_08151FB8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - bcc _08151F56 -_08151FC2: - ldr r0, _08151FEC @ =gUnknown_203F3E0 - ldr r2, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r2, r5 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - bne _08151FF0 - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08151FF0 - bl StopMapMusic - ldr r0, [r4] - adds r0, r5 - movs r1, 0x1 - b _0815200E - .align 2, 0 -_08151FEC: .4byte gUnknown_203F3E0 -_08151FF0: - ldr r0, [r4] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08152010 - movs r0, 0xA - bl PlayFanfareByFanfareNum - ldr r0, [r4] - movs r3, 0xAA - lsls r3, 1 - adds r0, r3 - movs r1, 0x2 -_0815200E: - strb r1, [r0] -_08152010: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151E94 - - thumb_func_start sub_815201C -sub_815201C: @ 815201C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_815201C - - thumb_func_start sub_8152034 -sub_8152034: @ 8152034 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_8152034 - - thumb_func_start sub_8152048 -sub_8152048: @ 8152048 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl IsMonShiny - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8152048 - - thumb_func_start sub_815205C -sub_815205C: @ 815205C - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - pop {r0} - bx r0 - thumb_func_end sub_815205C - - thumb_func_start sub_815206C -sub_815206C: @ 815206C - push {lr} - movs r1, 0x1 - bl CreateTask - ldr r1, _0815208C @ =gUnknown_203F3E0 - ldr r3, [r1] - movs r2, 0 - strb r0, [r3, 0x4] - ldr r0, [r1] - strb r2, [r0, 0x10] - ldr r0, [r1] - strb r2, [r0, 0xC] - ldr r0, [r1] - strb r2, [r0, 0x14] - pop {r0} - bx r0 - .align 2, 0 -_0815208C: .4byte gUnknown_203F3E0 - thumb_func_end sub_815206C - - thumb_func_start sub_8152090 -sub_8152090: @ 8152090 - push {r4,lr} - ldr r2, _081520B0 @ =gUnknown_203F3E0 - ldr r1, [r2] - ldrb r3, [r1, 0x18] - movs r4, 0 - strb r3, [r1, 0x1C] - ldr r1, [r2] - strb r0, [r1, 0x18] - ldr r0, [r2] - strb r4, [r0, 0x10] - ldr r0, [r2] - strb r4, [r0, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081520B0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152090 - - thumb_func_start sub_81520B4 -sub_81520B4: @ 81520B4 - push {r4,lr} - ldr r3, _081520E8 @ =gUnknown_203F3E0 - ldr r1, [r3] - ldrb r0, [r1, 0x14] - lsrs r2, r0, 2 - adds r0, 0x1 - strb r0, [r1, 0x14] - cmp r2, 0 - beq _08152108 - ldr r3, [r3] - ldrb r0, [r3, 0x14] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08152108 - ldr r1, _081520EC @ =sUnknown_8475548 - adds r0, r3, 0 - adds r0, 0x24 - ldrb r0, [r0] - subs r0, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bcc _081520F0 - movs r0, 0x1 - b _0815210A - .align 2, 0 -_081520E8: .4byte gUnknown_203F3E0 -_081520EC: .4byte sUnknown_8475548 -_081520F0: - lsls r4, r2, 3 - adds r1, r4, 0 - movs r0, 0x14 - bl SetGpuReg - negs r4, r4 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x18 - adds r1, r4, 0 - bl SetGpuReg -_08152108: - movs r0, 0 -_0815210A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81520B4 - - thumb_func_start sub_8152110 -sub_8152110: @ 8152110 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08152168 @ =gUnknown_203F3E0 - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x44 - adds r0, 0x48 - ldrb r5, [r0] - ldrb r1, [r1] - cmp r1, r5 - bcs _0815215C - mov r8, r2 - ldr r0, _0815216C @ =0x000032e0 - mov r12, r0 - movs r7, 0 - movs r6, 0x1 -_08152132: - mov r2, r8 - ldr r0, [r2] - mov r2, r12 - adds r4, r0, r2 - ldr r2, _08152170 @ =0x000032eb - adds r0, r2 - adds r2, r0, r1 - movs r3, 0 - adds r0, r1, 0 - ands r0, r6 - cmp r0, 0 - bne _0815214C - movs r3, 0x1 -_0815214C: - strb r3, [r2] - adds r0, r4, r1 - strb r7, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r5 - bcc _08152132 -_0815215C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08152168: .4byte gUnknown_203F3E0 -_0815216C: .4byte 0x000032e0 -_08152170: .4byte 0x000032eb - thumb_func_end sub_8152110 - - thumb_func_start sub_8152174 -sub_8152174: @ 8152174 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, _08152248 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x44 - ldrb r0, [r0] - str r0, [sp] - adds r0, r1, 0 - adds r0, 0x48 - ldrb r0, [r0] - str r0, [sp, 0x4] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - str r0, [sp, 0x8] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _081521A8 - b _08152464 -_081521A8: - movs r6, 0 - ldr r0, [sp, 0x8] - cmp r6, r0 - bcs _08152290 -_081521B0: - ldr r3, _08152248 @ =gUnknown_203F3E0 - lsls r0, r6, 4 - subs r1, r0, r6 - lsls r1, 2 - ldr r2, [r3] - adds r1, r2 - ldr r4, _0815224C @ =0x000031cc - adds r4, r1 - mov r8, r4 - ldrb r1, [r4] - mov r9, r0 - adds r0, r6, 0x1 - str r0, [sp, 0xC] - cmp r1, 0 - beq _08152284 - adds r0, r2, 0 - adds r0, 0xA8 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08152284 - ldr r1, [sp] - mov r10, r1 - ldr r2, [sp, 0x4] - cmp r10, r2 - bcs _08152284 - adds r7, r3, 0 -_081521E6: - ldr r0, _08152250 @ =sUnknown_8471F50 - add r0, r10 - ldrb r5, [r0] - ldr r1, [r7] - lsls r4, r5, 1 - adds r0, r1, 0 - adds r0, 0xF4 - adds r0, r4 - ldrb r0, [r0] - cmp r0, r6 - beq _08152284 - adds r0, r1, 0 - adds r0, 0xF5 - adds r0, r4 - ldrb r0, [r0] - cmp r0, r6 - beq _08152284 - mov r0, r8 - ldrb r1, [r0] - adds r0, r6, 0 - adds r2, r5, 0 - bl sub_8152484 - cmp r0, 0x1 - bne _08152260 - movs r2, 0 - ldr r3, _08152248 @ =gUnknown_203F3E0 - mov r8, r4 -_0815221E: - ldr r0, [r3] - mov r4, r8 - adds r1, r2, r4 - adds r0, 0xF4 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08152254 - strb r6, [r1] - ldr r0, [r3] - adds r0, 0xA8 - adds r0, r6 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0xC4 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - b _08152284 - .align 2, 0 -_08152248: .4byte gUnknown_203F3E0 -_0815224C: .4byte 0x000031cc -_08152250: .4byte sUnknown_8471F50 -_08152254: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bls _0815221E - b _08152284 -_08152260: - ldr r0, [r7] - mov r2, r9 - subs r1, r2, r6 - lsls r1, 2 - adds r0, r1 - ldr r4, _08152354 @ =0x000031d4 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08152284 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, [sp, 0x4] - cmp r10, r0 - bcc _081521E6 -_08152284: - ldr r1, [sp, 0xC] - lsls r0, r1, 24 - lsrs r6, r0, 24 - ldr r2, [sp, 0x8] - cmp r6, r2 - bcc _081521B0 -_08152290: - ldr r4, [sp] - mov r10, r4 - ldr r0, [sp, 0x4] - cmp r10, r0 - bcc _0815229C - b _08152464 -_0815229C: - ldr r1, _08152358 @ =gUnknown_203F3E0 - mov r9, r1 -_081522A0: - movs r6, 0xFF - ldr r0, _0815235C @ =sUnknown_8471F50 - add r0, r10 - ldrb r5, [r0] - mov r2, r9 - ldr r0, [r2] - adds r0, 0xC4 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081522B8 - b _08152452 -_081522B8: - adds r0, r5, 0 - bl sub_8152BD4 - mov r1, r9 - ldr r4, [r1] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r1, 0x90 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _081522DE - movs r3, 0x2 -_081522DE: - ldr r2, _08152360 @ =sUnknown_847553C - ldr r0, _08152364 @ =0x000031b4 - adds r1, r4, r0 - adds r1, r5 - lsls r0, r3, 1 - adds r0, r3 - ldrb r1, [r1] - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0xD0 - adds r0, r5 - ldrb r0, [r0] - subs r2, r1, r0 - cmp r2, 0x5 - bgt _0815230C - adds r1, r4, 0 - adds r1, 0x9C - adds r1, r5 - ldrb r0, [r1] - adds r0, r2 - strb r0, [r1] -_0815230C: - mov r2, r9 - ldr r1, [r2] - adds r1, 0x9C - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - movs r4, 0xFF - ands r0, r4 - cmp r0, 0x5 - bhi _08152326 - b _08152452 -_08152326: - mov r1, r9 - ldr r0, [r1] - adds r0, 0x9C - adds r0, r5 - strb r2, [r0] - ldr r3, [r1] - lsls r1, r5, 1 - adds r0, r3, 0 - adds r0, 0xF4 - adds r2, r0, r1 - ldrb r0, [r2] - mov r8, r1 - cmp r0, 0xFF - bne _08152368 - adds r0, r3, 0 - adds r0, 0xF5 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08152350 - b _08152452 -_08152350: - b _08152378 - .align 2, 0 -_08152354: .4byte 0x000031d4 -_08152358: .4byte gUnknown_203F3E0 -_0815235C: .4byte sUnknown_8471F50 -_08152360: .4byte sUnknown_847553C -_08152364: .4byte 0x000031b4 -_08152368: - adds r0, r3, 0 - adds r0, 0xF5 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08152378 - ldrb r4, [r2] - b _0815239E -_08152378: - mov r2, r9 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0xF4 - add r0, r8 - ldrb r7, [r0] - adds r1, 0xF5 - add r1, r8 - ldrb r6, [r1] - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0815239A - adds r4, r7, 0 - b _0815239E -_0815239A: - adds r4, r6, 0 - adds r6, r7, 0 -_0815239E: - mov r1, r9 - ldr r0, [r1] - ldr r2, _08152474 @ =0x000032eb - adds r0, r2 - adds r0, r5 - movs r1, 0x7 - strb r1, [r0] - mov r1, r9 - ldr r0, [r1] - adds r0, 0xC4 - adds r0, r5 - movs r1, 0x2 - strb r1, [r0] - mov r2, r9 - ldr r0, [r2] - adds r0, 0xA8 - adds r0, r4 - movs r1, 0x3 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xB8 - adds r0, r5 - strb r4, [r0] - ldr r1, [r2] - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - adds r1, r0 - ldr r2, _08152478 @ =0x000031d0 - adds r1, r2 - movs r0, 0x1 - strb r0, [r1] - mov r2, r9 - ldr r1, [r2] - lsls r0, r6, 4 - subs r0, r6 - lsls r0, 2 - adds r1, r0 - ldr r0, _0815247C @ =0x000031d4 - adds r1, r0 - movs r2, 0x1 - strb r2, [r1] - mov r0, r9 - ldr r1, [r0] - lsls r0, r4, 1 - adds r1, 0x86 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8152D34 - movs r0, 0x1 - bl sub_8152F94 - adds r0, r4, 0 - bl sub_8152B64 - mov r1, r9 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0xE8 - adds r1, r5 - ldr r2, _08152480 @ =0x000032e0 - adds r0, r2 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - mov r4, r9 - ldr r0, [r4] - adds r0, r2 - adds r0, r5 - movs r1, 0x3 - strb r1, [r0] - ldr r1, [r4] - adds r1, 0xF4 - add r1, r8 - ldrb r0, [r1] - movs r2, 0xFF - orrs r0, r2 - strb r0, [r1] - ldr r1, [r4] - adds r1, 0xF5 - add r1, r8 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] -_08152452: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r4, [sp, 0x4] - cmp r10, r4 - bcs _08152464 - b _081522A0 -_08152464: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08152474: .4byte 0x000032eb -_08152478: .4byte 0x000031d0 -_0815247C: .4byte 0x000031d4 -_08152480: .4byte 0x000032e0 - thumb_func_end sub_8152174 - - thumb_func_start sub_8152484 -sub_8152484: @ 8152484 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r7, 0 - ldr r2, _081524B8 @ =gUnknown_203F3E0 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _081524BC @ =0x000032e0 - adds r1, r0 - mov r12, r2 - cmp r3, 0x2 - beq _081524C0 - cmp r3, 0x2 - bgt _081524C6 - cmp r3, 0x1 - beq _081524C4 - b _081524C6 - .align 2, 0 -_081524B8: .4byte gUnknown_203F3E0 -_081524BC: .4byte 0x000032e0 -_081524C0: - movs r7, 0x1 - b _081524C6 -_081524C4: - movs r7, 0x2 -_081524C6: - adds r0, r1, 0 - adds r0, 0xB - adds r0, r6 - ldrb r0, [r0] - subs r0, 0x6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08152524 - ldr r0, _08152518 @ =sUnknown_8472063 - lsls r1, r4, 1 - adds r1, r4 - adds r1, r7, r1 - lsls r2, r5, 4 - subs r2, r5 - adds r1, r2 - adds r1, r0 - ldrb r1, [r1] - cmp r6, r1 - bne _0815255A - mov r0, r12 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xC4 - adds r0, r6 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08152520 - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - adds r0, r1, r0 - ldr r1, _0815251C @ =0x000031d4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0815255A - .align 2, 0 -_08152518: .4byte sUnknown_8472063 -_0815251C: .4byte 0x000031d4 -_08152520: - movs r0, 0x1 - b _0815255C -_08152524: - ldr r0, _08152564 @ =sUnknown_8472063 - lsls r1, r4, 1 - adds r1, r4 - adds r1, r7, r1 - lsls r2, r5, 4 - subs r2, r5 - adds r1, r2 - adds r1, r0 - ldrb r1, [r1] - cmp r6, r1 - bne _0815255A - mov r1, r12 - ldr r0, [r1] - adds r0, 0xA8 - adds r0, r4 - movs r1, 0x4 - strb r1, [r0] - mov r0, r12 - ldr r1, [r0] - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - adds r1, r0 - ldr r0, _08152568 @ =0x000031d4 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] -_0815255A: - movs r0, 0 -_0815255C: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08152564: .4byte sUnknown_8472063 -_08152568: .4byte 0x000031d4 - thumb_func_end sub_8152484 - - thumb_func_start sub_815256C -sub_815256C: @ 815256C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _08152640 @ =gUnknown_203F3E0 - ldr r4, [r2] - adds r0, r4, 0 - adds r0, 0x44 - ldrb r1, [r0] - adds r0, 0x4 - ldrb r0, [r0] - mov r9, r0 - movs r3, 0 - mov r10, r3 - movs r5, 0x90 - lsls r5, 1 - adds r0, r4, r5 - str r3, [r0] - adds r5, r1, 0 - mov r0, r9 - subs r0, 0x1 - cmp r5, r0 - blt _0815259E - b _081527BC -_0815259E: - mov r8, r2 -_081525A0: - mov r0, r8 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0xC4 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - bls _081525B2 - b _081526BC -_081525B2: - movs r1, 0x90 - lsls r1, 1 - adds r0, r4, r1 - movs r2, 0x1 - str r2, [r0] - ldr r1, _08152644 @ =0x000032eb - adds r0, r4, r1 - adds r6, r0, r5 - ldrb r0, [r6] - cmp r0, 0x9 - bls _0815264C - movs r7, 0 - movs r0, 0xA - strb r0, [r6] - mov r1, r8 - ldr r0, [r1] - adds r0, 0xC4 - adds r0, r5 - movs r1, 0x3 - strb r1, [r0] - mov r1, r8 - ldr r0, [r1] - movs r6, 0xA4 - lsls r6, 1 - adds r0, r6 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - bne _081525FC - strb r2, [r1] - ldr r2, _08152648 @ =0x000032e0 - adds r0, r4, r2 - adds r0, r5 - ldrb r0, [r0] - adds r0, 0x43 - bl PlaySE -_081525FC: - mov r0, r8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08152612 - mov r2, r10 - cmp r2, 0x1 - beq _08152612 - b _081527AC -_08152612: - movs r0, 0x1 - mov r10, r0 - adds r0, r1, r6 - adds r0, r5 - strb r7, [r0] - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x40 - ldrb r0, [r1] - cmp r0, 0x9 - bhi _0815262E - adds r0, 0x1 - strb r0, [r1] -_0815262E: - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0 - bl sub_8152D34 - movs r0, 0 - bl sub_8152F94 - b _081527AC - .align 2, 0 -_08152640: .4byte gUnknown_203F3E0 -_08152644: .4byte 0x000032eb -_08152648: .4byte 0x000032e0 -_0815264C: - adds r0, r5, 0 - bl sub_8152BD4 - mov r2, r8 - ldr r7, [r2] - lsls r0, 24 - lsrs r0, 24 - adds r1, r7, 0 - adds r1, 0x90 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _08152672 - movs r3, 0x2 -_08152672: - ldr r2, _081526B4 @ =sUnknown_847553C - ldr r0, _081526B8 @ =0x000032e0 - adds r1, r4, r0 - adds r1, r5 - lsls r0, r3, 1 - adds r0, r3 - ldrb r1, [r1] - adds r0, r1 - adds r0, r2 - ldrb r2, [r0] - adds r1, r7, 0 - adds r1, 0xD0 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r3, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r2 - bcc _081526AC - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - mov r1, r8 - ldr r0, [r1] - adds r0, 0xD0 - adds r0, r5 - strb r3, [r0] -_081526AC: - bl sub_8152174 - b _081527AC - .align 2, 0 -_081526B4: .4byte sUnknown_847553C -_081526B8: .4byte 0x000032e0 -_081526BC: - cmp r0, 0x2 - bne _0815273C - adds r1, r4, 0 - adds r1, 0xDC - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r3, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bls _081527AC - mov r0, r8 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xB8 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, r0 - ldr r1, _08152730 @ =0x000031d0 - adds r2, r1 - strb r3, [r2] - mov r2, r8 - ldr r0, [r2] - adds r0, 0xDC - adds r0, r5 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0xD0 - adds r0, r5 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0xC4 - adds r0, r5 - strb r3, [r0] - ldr r1, _08152734 @ =0x000032eb - adds r0, r4, r1 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - adds r0, r5, 0 - bl sub_8152BD4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - bl sub_8152BF8 - ldr r2, _08152738 @ =0x000032e0 - adds r1, r4, r2 - adds r1, r5 - strb r0, [r1] - b _081527AC - .align 2, 0 -_08152730: .4byte 0x000031d0 -_08152734: .4byte 0x000032eb -_08152738: .4byte 0x000032e0 -_0815273C: - cmp r0, 0x3 - bne _081527AC - adds r1, r4, 0 - adds r1, 0xDC - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bls _081527AC - mov r0, r8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _081527AC - adds r0, r1, 0 - adds r0, 0xDC - adds r0, r5 - strb r2, [r0] - mov r1, r8 - ldr r0, [r1] - adds r0, 0xD0 - adds r0, r5 - strb r2, [r0] - ldr r0, [r1] - adds r0, 0xC4 - adds r0, r5 - strb r2, [r0] - ldr r2, _081527CC @ =0x000032eb - adds r0, r4, r2 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - mov r0, r8 - ldr r1, [r0] - adds r1, 0xE8 - adds r1, r5 - subs r2, 0xB - adds r4, r2 - adds r4, r5 - ldrb r0, [r4] - strb r0, [r1] - adds r0, r5, 0 - bl sub_8152BD4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - bl sub_8152BF8 - strb r0, [r4] -_081527AC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r9 - subs r0, 0x1 - cmp r5, r0 - bge _081527BC - b _081525A0 -_081527BC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081527CC: .4byte 0x000032eb - thumb_func_end sub_815256C - - thumb_func_start sub_81527D0 -sub_81527D0: @ 81527D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08152838 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x44 - adds r0, 0x48 - ldrb r0, [r0] - mov r8, r0 - ldrb r6, [r1] - cmp r6, r8 - bcs _081528C2 - ldr r0, _0815283C @ =sUnknown_8471F50 - mov r9, r0 -_081527F0: - ldr r0, _08152838 @ =gUnknown_203F3E0 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - ldr r2, _08152840 @ =0x000031a0 - adds r0, r2 - adds r7, r3, r0 - movs r0, 0xB - adds r2, r1, 0 - muls r2, r0 - adds r2, r6, r2 - adds r3, 0x24 - ldrb r1, [r3] - subs r1, 0x1 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 3 - subs r0, r1 - adds r2, r0 - add r2, r9 - ldrb r4, [r2] - adds r0, r7, 0 - adds r0, 0x1F - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08152844 - adds r0, r6, 0 - movs r1, 0 - bl sub_81542EC - b _0815284C - .align 2, 0 -_08152838: .4byte gUnknown_203F3E0 -_0815283C: .4byte sUnknown_8471F50 -_08152840: .4byte 0x000031a0 -_08152844: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_81542EC -_0815284C: - adds r0, r7, 0 - adds r0, 0x1F - adds r5, r0, r4 - ldrb r0, [r5] - cmp r0, 0x9 - bls _08152878 - adds r0, r7, 0 - adds r0, 0x14 - adds r0, r4 - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8154398 - ldrb r1, [r5] - lsls r1, 25 - movs r0, 0xFF - lsls r0, 24 - adds r1, r0 - b _0815289A -_08152878: - adds r0, r7, 0 - adds r0, 0x14 - adds r3, r0, r4 - ldrb r0, [r3] - cmp r0, 0x3 - bne _081528A4 - movs r0, 0x7 - strb r0, [r5] - adds r0, r6, 0 - movs r1, 0x6 - bl sub_8154398 - ldrb r1, [r5] - lsls r1, 25 - movs r2, 0xFF - lsls r2, 24 - adds r1, r2 -_0815289A: - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8154370 - b _081528B8 -_081528A4: - ldrb r1, [r3] - adds r0, r6, 0 - bl sub_8154398 - ldrb r1, [r5] - lsls r1, 25 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8154370 -_081528B8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r8 - bcc _081527F0 -_081528C2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81527D0 - - thumb_func_start sub_81528D0 -sub_81528D0: @ 81528D0 - push {r4-r6,lr} - ldr r1, _08152908 @ =gUnknown_203F3E0 - ldr r0, [r1] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0 - cmp r4, r5 - bcs _08152902 - adds r6, r1, 0 -_081528E2: - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - ldr r1, [r6] - adds r0, r1 - ldr r1, _0815290C @ =0x000031cc - adds r0, r1 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8153DA8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081528E2 -_08152902: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08152908: .4byte gUnknown_203F3E0 -_0815290C: .4byte 0x000031cc - thumb_func_end sub_81528D0 - - thumb_func_start sub_8152910 -sub_8152910: @ 8152910 - push {r4,r5,lr} - ldr r0, _08152938 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0 - cmp r4, r5 - bcs _08152932 -_08152920: - adds r0, r4, 0 - movs r1, 0x4 - bl sub_8153DA8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152920 -_08152932: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08152938: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152910 - - thumb_func_start sub_815293C -sub_815293C: @ 815293C - push {lr} - bl sub_81527D0 - ldr r0, _08152954 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08152958 - bl sub_8152910 - b _0815295C - .align 2, 0 -_08152954: .4byte gUnknown_203F3E0 -_08152958: - bl sub_81528D0 -_0815295C: - ldr r0, _0815296C @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - bl sub_8153FC8 - pop {r0} - bx r0 - .align 2, 0 -_0815296C: .4byte gUnknown_203F3E0 - thumb_func_end sub_815293C - - thumb_func_start sub_8152970 -sub_8152970: @ 8152970 - push {lr} - bl sub_81527D0 - ldr r0, _08152988 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _0815298C - bl sub_8152910 - b _08152990 - .align 2, 0 -_08152988: .4byte gUnknown_203F3E0 -_0815298C: - bl sub_81528D0 -_08152990: - ldr r0, _081529A0 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - bl sub_8153FC8 - pop {r0} - bx r0 - .align 2, 0 -_081529A0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152970 - - thumb_func_start sub_81529A4 -sub_81529A4: @ 81529A4 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x4 - bhi _081529FC - lsls r0, 2 - ldr r1, _081529BC @ =_081529C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081529BC: .4byte _081529C0 - .align 2, 0 -_081529C0: - .4byte _081529D4 - .4byte _081529DC - .4byte _081529E4 - .4byte _081529EC - .4byte _081529F4 -_081529D4: - movs r0, 0x4 - strb r0, [r3] - movs r0, 0x7 - b _081529FA -_081529DC: - movs r0, 0x3 - strb r0, [r3] - movs r0, 0x8 - b _081529FA -_081529E4: - movs r0, 0x2 - strb r0, [r3] - movs r0, 0x9 - b _081529FA -_081529EC: - movs r0, 0x1 - strb r0, [r3] - movs r0, 0xA - b _081529FA -_081529F4: - movs r0, 0 - strb r0, [r3] - movs r0, 0xB -_081529FA: - strb r0, [r2] -_081529FC: - pop {r0} - bx r0 - thumb_func_end sub_81529A4 - - thumb_func_start sub_8152A00 -sub_8152A00: @ 8152A00 - push {r4-r6,lr} - ldr r1, _08152A58 @ =gUnknown_203F3E0 - ldr r0, [r1] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0x1 - cmp r4, r5 - bcs _08152A66 - adds r6, r1, 0 -_08152A12: - ldr r0, [r6] - movs r1, 0xAC - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08152A34 - adds r0, r4, 0 - bl sub_815A5E8 - ldr r1, [r6] - movs r2, 0xAC - lsls r2, 1 - adds r1, r2 - adds r1, r4 - strb r0, [r1] -_08152A34: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152A12 - cmp r4, r5 - bcs _08152A66 - ldr r0, _08152A58 @ =gUnknown_203F3E0 - ldr r0, [r0] - movs r2, 0xAC - lsls r2, 1 - adds r1, r0, r2 -_08152A4C: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08152A5C - movs r0, 0 - b _08152A68 - .align 2, 0 -_08152A58: .4byte gUnknown_203F3E0 -_08152A5C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152A4C -_08152A66: - movs r0, 0x1 -_08152A68: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8152A00 - - thumb_func_start sub_8152A70 -sub_8152A70: @ 8152A70 - push {r4,lr} - movs r1, 0 - ldr r4, _08152A94 @ =gUnknown_203F3E0 - movs r3, 0xAC - lsls r3, 1 - movs r2, 0 -_08152A7C: - ldr r0, [r4] - adds r0, r3 - adds r0, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _08152A7C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08152A94: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152A70 - - thumb_func_start sub_8152A98 -sub_8152A98: @ 8152A98 - push {r4,lr} - ldr r3, _08152ACC @ =gUnknown_203F3E0 - ldr r1, [r3] - adds r2, r1, 0 - adds r2, 0x40 - ldrb r0, [r2] - cmp r0, 0x9 - bls _08152AD0 - movs r4, 0x90 - lsls r4, 1 - adds r0, r1, r4 - ldr r0, [r0] - cmp r0, 0 - bne _08152AD0 - movs r0, 0xA - strb r0, [r2] - ldr r0, [r3] - movs r1, 0x96 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08152AD0 - movs r0, 0x1 - b _08152AD2 - .align 2, 0 -_08152ACC: .4byte gUnknown_203F3E0 -_08152AD0: - movs r0, 0 -_08152AD2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8152A98 - - thumb_func_start sub_8152AD8 -sub_8152AD8: @ 8152AD8 - push {r4-r6,lr} - ldr r4, _08152B50 @ =gUnknown_203F3E0 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x40 - ldrb r0, [r2] - cmp r0, 0x9 - bls _08152B5C - adds r0, r1, 0 - adds r0, 0x44 - ldrb r3, [r0] - adds r0, 0x4 - ldrb r5, [r0] - movs r0, 0xA - strb r0, [r2] - ldr r4, [r4] - mov r12, r4 - movs r0, 0x96 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - cmp r0, 0 - beq _08152B5C - adds r4, r3, 0 - cmp r4, r5 - bcs _08152B4C - mov r0, r12 - adds r0, 0x28 - ldrb r3, [r0] - lsls r1, r3, 4 - subs r1, r3 - lsls r1, 2 - ldr r6, _08152B54 @ =sUnknown_8471F50 - subs r0, 0x4 - ldrb r2, [r0] - subs r2, 0x1 - add r1, r12 - movs r0, 0xB - muls r3, r0 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 3 - subs r2, r0, r2 - ldr r0, _08152B58 @ =0x000031bf - adds r1, r0 -_08152B32: - adds r0, r4, r3 - adds r0, r2 - adds r0, r6 - ldrb r0, [r0] - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0xA - bne _08152B5C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152B32 -_08152B4C: - movs r0, 0x1 - b _08152B5E - .align 2, 0 -_08152B50: .4byte gUnknown_203F3E0 -_08152B54: .4byte sUnknown_8471F50 -_08152B58: .4byte 0x000031bf -_08152B5C: - movs r0, 0 -_08152B5E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8152AD8 - - thumb_func_start sub_8152B64 -sub_8152B64: @ 8152B64 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08152BCC @ =sUnknown_8475550 - mov r8, r0 - ldr r0, _08152BD0 @ =gUnknown_203F3E0 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0x90 - adds r0, r5 - mov r9, r0 - ldrb r7, [r0] - adds r0, r7, 0 - movs r1, 0x7 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - add r4, r8 - adds r0, r7, 0 - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldrb r4, [r4] - adds r0, r4 - lsls r0, 24 - lsls r5, 1 - adds r6, 0x86 - adds r6, r5 - ldrh r1, [r6] - lsrs r0, 24 - cmp r1, r0 - bcc _08152BBE - adds r0, r7, 0x1 - mov r1, r9 - strb r0, [r1] -_08152BBE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08152BCC: .4byte sUnknown_8475550 -_08152BD0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152B64 - - thumb_func_start sub_8152BD4 -sub_8152BD4: @ 8152BD4 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08152BF0 @ =sUnknown_84720FC - ldr r1, _08152BF4 @ =gUnknown_203F3E0 - ldr r1, [r1] - adds r1, 0x24 - ldrb r1, [r1] - subs r1, 0x1 - movs r2, 0xB - muls r1, r2 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08152BF0: .4byte sUnknown_84720FC -_08152BF4: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152BD4 - - thumb_func_start sub_8152BF8 -sub_8152BF8: @ 8152BF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _08152C78 @ =gUnknown_203F3E0 - ldr r1, [r4] - adds r1, 0x24 - ldrb r2, [r1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08152C7C @ =sUnknown_84720AE - lsls r1, r0, 1 - adds r1, r0 - lsls r0, r2, 4 - subs r0, r2 - adds r1, r0 - adds r0, r1, r3 - ldrb r0, [r0] - mov r12, r0 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r7, [r0] - adds r3, 0x2 - adds r1, r3 - ldrb r1, [r1] - mov r8, r1 - movs r3, 0 - ldr r1, _08152C80 @ =sUnknown_8472133 - lsls r0, r2, 2 - adds r2, r0, r2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08152C60 - adds r6, r1, 0 -_08152C46: - adds r0, r3, r2 - adds r0, r6 - ldrb r0, [r0] - cmp r5, r0 - beq _08152C84 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r3, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08152C46 -_08152C60: - ldr r0, [r4] - adds r0, 0x90 - mov r1, r12 - adds r2, r0, r1 - adds r1, r0, r7 - ldrb r0, [r2] - ldrb r3, [r1] - cmp r0, r3 - bls _08152C8E - adds r1, r0, 0 - b _08152C90 - .align 2, 0 -_08152C78: .4byte gUnknown_203F3E0 -_08152C7C: .4byte sUnknown_84720AE -_08152C80: .4byte sUnknown_8472133 -_08152C84: - ldr r0, [r4] - adds r0, 0x90 - adds r0, r7 - ldrb r0, [r0] - b _08152CA2 -_08152C8E: - ldrb r1, [r1] -_08152C90: - ldr r0, [r4] - adds r0, 0x90 - mov r2, r8 - adds r4, r0, r2 - ldrb r0, [r4] - cmp r0, r1 - bls _08152CA0 - adds r1, r0, 0 -_08152CA0: - adds r0, r1, 0 -_08152CA2: - adds r1, r5, 0 - bl sub_8152CB8 - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8152BF8 - - thumb_func_start sub_8152CB8 -sub_8152CB8: @ 8152CB8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08152CE4 @ =gUnknown_203F3E0 - ldr r2, [r2] - adds r2, 0xE8 - adds r2, r1 - ldrb r4, [r2] - movs r1, 0x7 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bhi _08152D26 - lsls r0, 2 - ldr r1, _08152CE8 @ =_08152CEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152CE4: .4byte gUnknown_203F3E0 -_08152CE8: .4byte _08152CEC - .align 2, 0 -_08152CEC: - .4byte _08152D26 - .4byte _08152D1E - .4byte _08152D2A - .4byte _08152D08 - .4byte _08152D0E - .4byte _08152D14 - .4byte _08152D1A -_08152D08: - cmp r4, 0 - beq _08152D1E - b _08152D26 -_08152D0E: - cmp r4, 0 - beq _08152D2A - b _08152D26 -_08152D14: - cmp r4, 0x2 - beq _08152D1E - b _08152D2A -_08152D1A: - cmp r4, 0 - bne _08152D22 -_08152D1E: - movs r0, 0x1 - b _08152D2C -_08152D22: - cmp r4, 0x1 - beq _08152D2A -_08152D26: - movs r0, 0 - b _08152D2C -_08152D2A: - movs r0, 0x2 -_08152D2C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8152CB8 - - thumb_func_start sub_8152D34 -sub_8152D34: @ 8152D34 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08152D60 @ =gUnknown_203F3E0 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x24 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r4, 0 - bge _08152D54 - b _08152F8E -_08152D54: - cmp r4, 0x2 - ble _08152D64 - cmp r4, 0x3 - beq _08152D94 - b _08152F8E - .align 2, 0 -_08152D60: .4byte gUnknown_203F3E0 -_08152D64: - ldr r1, _08152D8C @ =0x000031b4 - adds r0, r2, r1 - adds r0, r3 - ldrb r4, [r0] - lsls r4, 1 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r4, r0 - adds r0, r2, 0 - adds r0, 0x4A - adds r0, r4 - ldrh r0, [r0] - ldr r1, _08152D90 @ =0x00004e20 - bl sub_815378C - ldr r1, [r5] - adds r1, 0x4A - adds r1, r4 - b _08152F8C - .align 2, 0 -_08152D8C: .4byte 0x000031b4 -_08152D90: .4byte 0x00004e20 -_08152D94: - cmp r0, 0x3 - bne _08152D9A - b _08152EE0 -_08152D9A: - cmp r0, 0x3 - bgt _08152DA6 - cmp r0, 0x2 - bne _08152DA4 - b _08152F4A -_08152DA4: - b _08152F8E -_08152DA6: - cmp r0, 0x4 - beq _08152E56 - cmp r0, 0x5 - beq _08152DB0 - b _08152F8E -_08152DB0: - cmp r3, 0x9 - bls _08152DB6 - b _08152F8E -_08152DB6: - lsls r0, r3, 2 - ldr r1, _08152DC0 @ =_08152DC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152DC0: .4byte _08152DC4 - .align 2, 0 -_08152DC4: - .4byte _08152DEC - .4byte _08152DFC - .4byte _08152E02 - .4byte _08152E12 - .4byte _08152E18 - .4byte _08152E28 - .4byte _08152E2E - .4byte _08152E3C - .4byte _08152E40 - .4byte _08152E50 -_08152DEC: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x68 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x74 - b _08152F88 -_08152DFC: - ldr r1, [r5] - adds r1, 0x74 - b _08152F88 -_08152E02: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x74 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x80 - b _08152F88 -_08152E12: - ldr r1, [r5] - adds r1, 0x80 - b _08152F88 -_08152E18: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x80 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x50 - b _08152F88 -_08152E28: - ldr r1, [r5] - adds r1, 0x50 - b _08152F88 -_08152E2E: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x50 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _08152F86 -_08152E3C: - ldr r1, [r5] - b _08152F86 -_08152E40: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x5C - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x68 - b _08152F88 -_08152E50: - ldr r1, [r5] - adds r1, 0x68 - b _08152F88 -_08152E56: - subs r0, r3, 0x1 - cmp r0, 0x7 - bls _08152E5E - b _08152F8E -_08152E5E: - lsls r0, 2 - ldr r1, _08152E68 @ =_08152E6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152E68: .4byte _08152E6C - .align 2, 0 -_08152E6C: - .4byte _08152E8C - .4byte _08152E9C - .4byte _08152EA2 - .4byte _08152EB2 - .4byte _08152EB8 - .4byte _08152EC6 - .4byte _08152ECA - .4byte _08152EDA -_08152E8C: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x68 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x74 - b _08152F88 -_08152E9C: - ldr r1, [r5] - adds r1, 0x74 - b _08152F88 -_08152EA2: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x74 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x50 - b _08152F88 -_08152EB2: - ldr r1, [r5] - adds r1, 0x50 - b _08152F88 -_08152EB8: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x50 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _08152F86 -_08152EC6: - ldr r1, [r5] - b _08152F86 -_08152ECA: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x5C - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x68 - b _08152F88 -_08152EDA: - ldr r1, [r5] - adds r1, 0x68 - b _08152F88 -_08152EE0: - subs r0, r3, 0x2 - cmp r0, 0x5 - bhi _08152F8E - lsls r0, 2 - ldr r1, _08152EF0 @ =_08152EF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152EF0: .4byte _08152EF4 - .align 2, 0 -_08152EF4: - .4byte _08152F0C - .4byte _08152F1C - .4byte _08152F22 - .4byte _08152F32 - .4byte _08152F38 - .4byte _08152F46 -_08152F0C: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x5C - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x68 - b _08152F88 -_08152F1C: - ldr r1, [r5] - adds r1, 0x68 - b _08152F88 -_08152F22: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x68 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x50 - b _08152F88 -_08152F32: - ldr r1, [r5] - adds r1, 0x50 - b _08152F88 -_08152F38: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x50 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _08152F86 -_08152F46: - ldr r1, [r5] - b _08152F86 -_08152F4A: - cmp r3, 0x4 - beq _08152F70 - cmp r3, 0x4 - bgt _08152F58 - cmp r3, 0x3 - beq _08152F62 - b _08152F8E -_08152F58: - cmp r3, 0x5 - beq _08152F76 - cmp r3, 0x6 - beq _08152F84 - b _08152F8E -_08152F62: - adds r1, r2, 0 - adds r1, 0x50 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r1, 0xC - b _08152F88 -_08152F70: - adds r1, r2, 0 - adds r1, 0x50 - b _08152F88 -_08152F76: - adds r1, r2, 0 - adds r1, 0x50 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r1, 0xC - b _08152F88 -_08152F84: - adds r1, r2, 0 -_08152F86: - adds r1, 0x5C -_08152F88: - ldrh r0, [r1] - adds r0, 0x1 -_08152F8C: - strh r0, [r1] -_08152F8E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8152D34 - - thumb_func_start sub_8152F94 -sub_8152F94: @ 8152F94 - push {r4,r5,lr} - adds r1, r0, 0 - ldr r4, _08152FD8 @ =gUnknown_203F3E0 - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0x24 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08152FFE - cmp r1, 0x1 - bne _08152FE0 - movs r5, 0x89 - lsls r5, 1 - adds r1, r3, r5 - ldrh r0, [r1] - adds r2, r0, 0x1 - strh r2, [r1] - movs r0, 0x8A - lsls r0, 1 - adds r1, r3, r0 - lsls r0, r2, 16 - lsrs r0, 16 - ldrh r3, [r1] - cmp r0, r3 - bls _08152FC8 - strh r2, [r1] -_08152FC8: - ldr r0, [r4] - adds r2, r0, r5 - ldrh r0, [r2] - ldr r1, _08152FDC @ =0x0000270f - cmp r0, r1 - bls _08152FFE - strh r1, [r2] - b _08152FFE - .align 2, 0 -_08152FD8: .4byte gUnknown_203F3E0 -_08152FDC: .4byte 0x0000270f -_08152FE0: - movs r2, 0x89 - lsls r2, 1 - adds r0, r3, r2 - movs r5, 0x8A - lsls r5, 1 - adds r1, r3, r5 - ldrh r0, [r0] - ldrh r3, [r1] - cmp r0, r3 - bls _08152FF6 - strh r0, [r1] -_08152FF6: - ldr r0, [r4] - adds r0, r2 - movs r1, 0 - strh r1, [r0] -_08152FFE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8152F94 - - thumb_func_start sub_8153004 -sub_8153004: @ 8153004 - push {r4,r5,lr} - movs r3, 0 - ldr r2, _08153044 @ =gUnknown_203F3E0 - ldr r0, [r2] - adds r0, 0x24 - ldrb r0, [r0] - cmp r3, r0 - bcs _0815303C - adds r5, r2, 0 - movs r4, 0x8A - lsls r4, 1 -_0815301A: - ldr r2, [r5] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x54 - adds r1, r0 - adds r0, r2, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r2, 0x24 - ldrb r2, [r2] - cmp r3, r2 - bcc _0815301A -_0815303C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08153044: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153004 - - thumb_func_start sub_8153048 -sub_8153048: @ 8153048 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r7, _08153138 @ =gUnknown_203F3E0 - movs r4, 0 - ldr r0, _0815313C @ =0x000031bf - mov r10, r0 -_0815305C: - movs r2, 0 - lsls r6, r5, 4 - lsls r1, r5, 1 - mov r8, r1 - lsls r0, r5, 3 - mov r12, r0 - adds r1, r5, 0x1 - mov r9, r1 - subs r0, r6, r5 - lsls r3, r0, 2 -_08153070: - ldr r0, [r7] - adds r1, r2, r3 - add r0, r10 - adds r0, r1 - strb r4, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xA - bls _08153070 - ldr r0, [r7] - subs r1, r6, r5 - lsls r1, 2 - adds r0, r1 - ldr r2, _08153140 @ =0x000031cc - adds r0, r2 - strb r4, [r0] - ldr r0, [r7] - adds r0, r1 - ldr r1, _08153144 @ =0x000031d0 - adds r0, r1 - strb r4, [r0] - ldr r0, [r7] - adds r0, 0x90 - adds r0, r5 - strb r4, [r0] - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x86 - add r0, r8 - strh r4, [r0] - add r1, r12 - ldr r2, _08153148 @ =0x00003308 - adds r1, r2 - strb r4, [r1] - ldr r2, [r7] - ldr r1, _0815314C @ =0x0000330c - adds r0, r2, r1 - add r0, r12 - str r4, [r0] - mov r0, r8 - adds r1, r0, r5 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x4A - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x4E - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x50 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x52 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x54 - adds r0, r1 - strh r4, [r0] - mov r1, r9 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0815305C - ldr r2, _08153138 @ =gUnknown_203F3E0 - ldr r0, [r2] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r1, _08153138 @ =gUnknown_203F3E0 - ldr r0, [r1] - movs r1, 0x89 - lsls r1, 1 - adds r3, r0, r1 - movs r1, 0 - strh r2, [r3] - adds r0, 0x40 - strb r1, [r0] - bl sub_81528D0 - bl sub_81527D0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08153138: .4byte gUnknown_203F3E0 -_0815313C: .4byte 0x000031bf -_08153140: .4byte 0x000031cc -_08153144: .4byte 0x000031d0 -_08153148: .4byte 0x00003308 -_0815314C: .4byte 0x0000330c - thumb_func_end sub_8153048 - - thumb_func_start sub_8153150 -sub_8153150: @ 8153150 - push {r4,r5,lr} - movs r4, 0 - ldr r0, _08153168 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r0, [r0] - cmp r0, 0x4 - beq _0815316C - cmp r0, 0x5 - beq _08153170 - b _08153172 - .align 2, 0 -_08153168: .4byte gUnknown_203F3E0 -_0815316C: - movs r4, 0x1 - b _08153172 -_08153170: - movs r4, 0x2 -_08153172: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - lsls r1, r4, 2 - ldr r5, _081531B4 @ =gUnknown_203F3E0 - ldr r2, _081531B8 @ =sUnknown_8475558 - adds r1, r4 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - ldrb r2, [r0] -_08153196: - ldr r1, [r5] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r1, 0x52 - adds r1, r0 - strh r2, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x4 - bls _08153196 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081531B4: .4byte gUnknown_203F3E0 -_081531B8: .4byte sUnknown_8475558 - thumb_func_end sub_8153150 - - thumb_func_start sub_81531BC -sub_81531BC: @ 81531BC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081531F4 @ =gUnknown_203F3E0 - ldr r2, [r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x4A - adds r0, r1 - ldrh r3, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1 - ldrh r0, [r0] - adds r2, 0x4E - adds r2, r1 - adds r3, r0 - ldrh r2, [r2] - adds r0, r3, r2 - ldr r1, _081531F8 @ =0x0000270f - cmp r0, r1 - bls _081531EE - adds r0, r1, 0 -_081531EE: - pop {r1} - bx r1 - .align 2, 0 -_081531F4: .4byte gUnknown_203F3E0 -_081531F8: .4byte 0x0000270f - thumb_func_end sub_81531BC - - thumb_func_start sub_81531FC -sub_81531FC: @ 81531FC - push {r4-r6,lr} - ldr r5, _08153264 @ =gUnknown_203F3E0 - ldr r0, [r5] - adds r0, 0x28 - ldrb r0, [r0] - bl sub_81531BC - ldr r1, _08153268 @ =0x0000270f - bl sub_815379C - adds r4, r0, 0 - ldr r0, [r5] - adds r0, 0x28 - ldrb r0, [r0] - bl sub_8153424 - ldr r1, _0815326C @ =0x000f4236 - bl sub_815379C - adds r2, r0, 0 - ldr r3, _08153270 @ =gSaveBlock2Ptr - ldr r0, [r3] - movs r6, 0xB1 - lsls r6, 4 - adds r1, r0, r6 - ldr r0, [r1] - cmp r0, r2 - bcs _08153236 - str r2, [r1] -_08153236: - ldr r0, [r3] - ldr r2, _08153274 @ =0x00000b14 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, r4 - bcs _08153244 - strh r4, [r1] -_08153244: - ldr r0, [r3] - ldr r6, _08153278 @ =0x00000b16 - adds r2, r0, r6 - ldr r0, [r5] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - cmp r0, r1 - bcs _0815325C - strh r1, [r2] -_0815325C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153264: .4byte gUnknown_203F3E0 -_08153268: .4byte 0x0000270f -_0815326C: .4byte 0x000f4236 -_08153270: .4byte gSaveBlock2Ptr -_08153274: .4byte 0x00000b14 -_08153278: .4byte 0x00000b16 - thumb_func_end sub_81531FC - - thumb_func_start sub_815327C -sub_815327C: @ 815327C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _081532B4 @ =gUnknown_203F3E0 - ldr r0, [r1] - adds r0, 0x9B - ldrb r6, [r0] - movs r3, 0x3 - adds r5, r1, 0 - adds r4, r5, 0 -_08153290: - ldr r0, [r4] - adds r0, 0x98 - adds r2, r0, r3 - subs r1, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r3, r1, 24 - cmp r3, 0 - bne _08153290 - ldr r0, [r5] - adds r0, 0x98 - strb r7, [r0] - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081532B4: .4byte gUnknown_203F3E0 - thumb_func_end sub_815327C - - thumb_func_start sub_81532B8 -sub_81532B8: @ 81532B8 - push {r4,lr} - ldr r4, _081532EC @ =gUnknown_203F3E0 - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, 0x88 - adds r2, r0, r1 - ldrb r0, [r2] - cmp r0, 0 - bne _08153360 - ldr r0, _081532F0 @ =gMain - ldrh r2, [r0, 0x2E] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _081532F8 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _081532F4 @ =0x000031cc - adds r0, r1 - movs r1, 0x2 - b _0815332E - .align 2, 0 -_081532EC: .4byte gUnknown_203F3E0 -_081532F0: .4byte gMain -_081532F4: .4byte 0x000031cc -_081532F8: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _08153314 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _08153310 @ =0x000031cc - adds r0, r1 - movs r1, 0x3 - b _0815332E - .align 2, 0 -_08153310: .4byte 0x000031cc -_08153314: - movs r0, 0x10 - ands r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0815334C - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _08153348 @ =0x000031cc - adds r0, r1 - movs r1, 0x1 -_0815332E: - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x28 - adds r0, 0xB0 - ldrb r1, [r1] - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0xCD - bl PlaySE - b _08153364 - .align 2, 0 -_08153348: .4byte 0x000031cc -_0815334C: - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _0815335C @ =0x000031cc - adds r0, r1 - strb r2, [r0] - b _08153364 - .align 2, 0 -_0815335C: .4byte 0x000031cc -_08153360: - subs r0, 0x1 - strb r0, [r2] -_08153364: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81532B8 - - thumb_func_start sub_815336C -sub_815336C: @ 815336C - ldr r0, _08153388 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x28 - ldrb r2, [r0] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 2 - adds r1, r0 - ldr r0, _0815338C @ =0x000031cc - adds r1, r0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08153388: .4byte gUnknown_203F3E0 -_0815338C: .4byte 0x000031cc - thumb_func_end sub_815336C - - thumb_func_start sub_8153390 -sub_8153390: @ 8153390 - ldr r0, _081533B0 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x28 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, 0x52 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x85 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_081533B0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153390 - - thumb_func_start sub_81533B4 -sub_81533B4: @ 81533B4 - ldr r0, _081533C0 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r0, [r0] - bx lr - .align 2, 0 -_081533C0: .4byte gUnknown_203F3E0 - thumb_func_end sub_81533B4 - - thumb_func_start sub_81533C4 -sub_81533C4: @ 81533C4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _081533E4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081533F0 - ldr r0, _081533E8 @ =gUnknown_203F3E0 - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 2 - ldr r2, _081533EC @ =0x000031a0 - adds r1, r2 - ldr r0, [r0] - b _081533F8 - .align 2, 0 -_081533E4: .4byte gReceivedRemoteLinkPlayers -_081533E8: .4byte gUnknown_203F3E0 -_081533EC: .4byte 0x000031a0 -_081533F0: - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - ldr r1, _08153400 @ =gLinkPlayers + 8 -_081533F8: - adds r0, r1 - pop {r1} - bx r1 - .align 2, 0 -_08153400: .4byte gLinkPlayers + 8 - thumb_func_end sub_81533C4 - - thumb_func_start sub_8153404 -sub_8153404: @ 8153404 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r2, _08153420 @ =gUnknown_203F3E0 - ldr r3, [r2] - lsrs r1, 23 - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - adds r3, 0x4A - adds r3, r1 - ldrh r0, [r3] - bx lr - .align 2, 0 -_08153420: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153404 - - thumb_func_start sub_8153424 -sub_8153424: @ 8153424 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - movs r3, 0 - ldr r0, _08153490 @ =gUnknown_203F3E0 - mov r9, r0 - ldr r2, _08153494 @ =sUnknown_84755D8 - mov r10, r2 - ldr r2, [r0] - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - str r0, [sp] - adds r6, r2, 0 - adds r6, 0x4A - mov r12, r1 - mov r8, r10 -_08153452: - lsls r1, r3, 1 - ldr r7, [sp] - adds r0, r1, r7 - adds r0, r6, r0 - ldrh r2, [r0] - add r1, r8 - movs r7, 0 - ldrsh r0, [r1, r7] - muls r0, r2 - adds r5, r0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08153452 - mov r0, r9 - ldr r1, [r0] - mov r2, r12 - adds r0, r2, r4 - lsls r0, 2 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - mov r3, r10 - movs r7, 0x6 - ldrsh r0, [r3, r7] - muls r0, r1 - cmp r5, r0 - bls _08153498 - subs r0, r5, r0 - b _0815349A - .align 2, 0 -_08153490: .4byte gUnknown_203F3E0 -_08153494: .4byte sUnknown_84755D8 -_08153498: - movs r0, 0 -_0815349A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153424 - - thumb_func_start sub_81534AC -sub_81534AC: @ 81534AC - push {r4-r6,lr} - ldr r0, _081534E8 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r6, [r0] - movs r0, 0 - bl sub_8153424 - adds r5, r0, 0 - movs r4, 0x1 - cmp r4, r6 - bcs _081534DA -_081534C4: - adds r0, r4, 0 - bl sub_8153424 - cmp r0, r5 - bls _081534D0 - adds r5, r0, 0 -_081534D0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _081534C4 -_081534DA: - ldr r1, _081534EC @ =0x000f4236 - adds r0, r5, 0 - bl sub_815379C - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081534E8: .4byte gUnknown_203F3E0 -_081534EC: .4byte 0x000f4236 - thumb_func_end sub_81534AC - - thumb_func_start sub_81534F0 -sub_81534F0: @ 81534F0 - push {r4,r5,lr} - lsls r0, 24 - ldr r1, _08153530 @ =gUnknown_203F3E0 - ldr r2, [r1] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r5, [r1] - lsrs r4, r0, 23 - adds r2, 0x4A - adds r0, r2, r4 - ldrh r3, [r0] - movs r1, 0 - cmp r1, r5 - bcs _08153528 -_0815350C: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r2, r0 - ldrh r0, [r0] - cmp r0, r3 - bls _0815351E - adds r3, r0, 0 -_0815351E: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r5 - bcc _0815350C -_08153528: - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08153530: .4byte gUnknown_203F3E0 - thumb_func_end sub_81534F0 - - thumb_func_start sub_8153534 -sub_8153534: @ 8153534 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0x1 - ldr r0, _081535AC @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0 - cmp r4, r5 - bcs _08153562 -_0815354C: - adds r0, r4, 0 - bl sub_8153424 - lsls r1, r4, 2 - add r1, sp - str r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0815354C -_08153562: - lsls r7, 2 - mov r12, r7 - cmp r6, 0 - beq _0815359C - subs r7, r5, 0x1 -_0815356C: - movs r6, 0 - movs r4, 0 - cmp r6, r7 - bge _08153598 - adds r5, r7, 0 -_08153576: - lsls r0, r4, 2 - mov r2, sp - adds r1, r2, r0 - adds r4, 0x1 - lsls r0, r4, 2 - adds r3, r2, r0 - ldr r0, [r1] - ldr r2, [r3] - cmp r0, r2 - bcs _08153590 - str r2, [r1] - str r0, [r3] - movs r6, 0x1 -_08153590: - lsls r0, r4, 24 - lsrs r4, r0, 24 - cmp r4, r5 - blt _08153576 -_08153598: - cmp r6, 0 - bne _0815356C -_0815359C: - mov r0, sp - add r0, r12 - ldr r0, [r0] - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081535AC: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153534 - - thumb_func_start sub_81535B0 -sub_81535B0: @ 81535B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - mov r8, r0 - mov r9, r0 - ldr r6, _08153690 @ =gUnknown_203F3E0 - ldr r0, [r6] - adds r0, 0x24 - ldrb r5, [r0] - bl sub_81534AC - bl sub_81534AC - cmp r0, 0 - bne _08153604 - movs r4, 0 - cmp r9, r5 - bcs _08153604 - adds r2, r6, 0 - ldr r1, _08153694 @ =0x00003308 - mov r12, r1 - movs r7, 0 - movs r6, 0x4 - ldr r3, _08153698 @ =0x0000330c -_081535E8: - ldr r0, [r2] - lsls r1, r4, 3 - adds r0, r1 - add r0, r12 - strb r6, [r0] - ldr r0, [r2] - adds r0, r3 - adds r0, r1 - str r7, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081535E8 -_08153604: - movs r4, 0 - cmp r4, r5 - bcs _0815362E -_0815360A: - adds r0, r4, 0 - bl sub_8153424 - ldr r1, _0815369C @ =0x000f4236 - bl sub_815379C - ldr r1, _08153690 @ =gUnknown_203F3E0 - ldr r1, [r1] - lsls r2, r4, 3 - ldr r3, _08153698 @ =0x0000330c - adds r1, r3 - adds r1, r2 - str r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0815360A -_0815362E: - mov r0, r10 - bl sub_8153534 - adds r6, r0, 0 - mov r3, r8 - movs r4, 0 - cmp r4, r5 - bcs _0815367A - ldr r7, _08153690 @ =gUnknown_203F3E0 - mov r10, r7 -_08153642: - mov r0, r10 - ldr r2, [r0] - lsls r1, r4, 3 - ldr r7, _08153698 @ =0x0000330c - adds r0, r2, r7 - adds r0, r1 - ldr r0, [r0] - cmp r6, r0 - bne _08153670 - adds r0, r2, r1 - ldr r1, _08153694 @ =0x00003308 - adds r0, r1 - strb r3, [r0] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08153670: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08153642 -_0815367A: - mov r10, r8 - cmp r9, r5 - bcc _0815362E - movs r0, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08153690: .4byte gUnknown_203F3E0 -_08153694: .4byte 0x00003308 -_08153698: .4byte 0x0000330c -_0815369C: .4byte 0x000f4236 - thumb_func_end sub_81535B0 - - thumb_func_start sub_81536A0 -sub_81536A0: @ 81536A0 - lsls r1, 24 - ldr r2, _081536B8 @ =gUnknown_203F3E0 - ldr r2, [r2] - lsrs r1, 21 - ldr r3, _081536BC @ =0x00003308 - adds r2, r3 - adds r2, r1 - ldr r1, [r2] - ldr r2, [r2, 0x4] - str r1, [r0] - str r2, [r0, 0x4] - bx lr - .align 2, 0 -_081536B8: .4byte gUnknown_203F3E0 -_081536BC: .4byte 0x00003308 - thumb_func_end sub_81536A0 - - thumb_func_start sub_81536C0 -sub_81536C0: @ 81536C0 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r0, _08153728 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - mov r0, sp - movs r1, 0 - movs r2, 0x14 - bl memset - movs r4, 0 - cmp r7, r5 - bcs _081536F8 -_081536E2: - adds r0, r4, 0 - bl sub_8153424 - lsls r1, r4, 2 - add r1, sp - str r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081536E2 -_081536F8: - lsls r0, r6, 2 - add r0, sp - ldr r1, [r0] - movs r4, 0 -_08153700: - cmp r4, r6 - beq _08153714 - lsls r0, r4, 2 - add r0, sp - ldr r0, [r0] - cmp r1, r0 - bcs _08153714 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_08153714: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08153700 - adds r0, r7, 0 - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08153728: .4byte gUnknown_203F3E0 - thumb_func_end sub_81536C0 - - thumb_func_start sub_815372C -sub_815372C: @ 815372C - push {r4-r6,lr} - ldr r0, _08153754 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x28 - ldrb r4, [r0] - bl sub_8153390 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, r5, 0 - adds r0, r4, 0 - bl sub_8153424 - adds r4, r0, 0 - bl sub_81534AC - cmp r4, r0 - beq _08153758 - movs r0, 0x3 - b _08153786 - .align 2, 0 -_08153754: .4byte gUnknown_203F3E0 -_08153758: - adds r0, r5, 0 - movs r1, 0x1 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - bne _0815376A - movs r0, 0x2 - b _08153786 -_0815376A: - adds r0, r6, 0 - movs r1, 0x1 - bl AddBagItem - adds r0, r6, 0 - movs r1, 0x1 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - beq _08153784 - movs r0, 0 - b _08153786 -_08153784: - movs r0, 0x1 -_08153786: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_815372C - - thumb_func_start sub_815378C -sub_815378C: @ 815378C - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - cmp r2, r0 - bcs _08153798 - adds r0, r2, 0x1 -_08153798: - pop {r1} - bx r1 - thumb_func_end sub_815378C - - thumb_func_start sub_815379C -sub_815379C: @ 815379C - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - cmp r2, r0 - bcs _081537A8 - adds r0, r2, 0 -_081537A8: - pop {r1} - bx r1 - thumb_func_end sub_815379C - - thumb_func_start sub_81537AC -sub_81537AC: @ 81537AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081537BC @ =gUnknown_203F3E0 - ldr r1, [r1] - adds r1, 0x34 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_081537BC: .4byte gUnknown_203F3E0 - thumb_func_end sub_81537AC - - thumb_func_start IsDodrioInParty -IsDodrioInParty: @ 81537C0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _081537F0 @ =gSpecialVar_Result -_081537C6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _081537F4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081537F8 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0x55 - bne _081537F8 - movs r0, 0x1 - strh r0, [r6] - b _08153804 - .align 2, 0 -_081537F0: .4byte gSpecialVar_Result -_081537F4: .4byte gPlayerParty -_081537F8: - adds r5, 0x1 - cmp r5, 0x5 - ble _081537C6 - ldr r1, _0815380C @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] -_08153804: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815380C: .4byte gSpecialVar_Result - thumb_func_end IsDodrioInParty - - thumb_func_start ShowDodrioBerryPickingRecords -ShowDodrioBerryPickingRecords: @ 8153810 - push {r4,lr} - ldr r4, _0815382C @ =sub_8153830 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815382C: .4byte sub_8153830 - thumb_func_end ShowDodrioBerryPickingRecords - - thumb_func_start sub_8153830 -sub_8153830: @ 8153830 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08153854 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0815387C - cmp r0, 0x1 - bgt _08153858 - cmp r0, 0 - beq _08153862 - b _081538CA - .align 2, 0 -_08153854: .4byte gTasks+0x8 -_08153858: - cmp r0, 0x2 - beq _08153888 - cmp r0, 0x3 - beq _081538B0 - b _081538CA -_08153862: - ldr r0, _08153878 @ =sUnknown_84755E0 - bl AddWindow - strh r0, [r4, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl sub_81538D0 - ldrb r0, [r4, 0x2] - movs r1, 0x3 - b _0815389E - .align 2, 0 -_08153878: .4byte sUnknown_84755E0 -_0815387C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081538CA - b _081538A2 -_08153888: - ldr r0, _081538AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081538CA - ldrb r0, [r4, 0x2] - bl rbox_fill_rectangle - ldrb r0, [r4, 0x2] - movs r1, 0x1 -_0815389E: - bl CopyWindowToVram -_081538A2: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081538CA - .align 2, 0 -_081538AC: .4byte gMain -_081538B0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081538CA - ldrb r0, [r4, 0x2] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_081538CA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8153830 - - thumb_func_start sub_81538D0 -sub_81538D0: @ 81538D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _081539CC @ =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, _081539D0 @ =0x00000b14 - adds r0, r1, r2 - ldrh r0, [r0] - str r0, [sp, 0xC] - subs r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - str r0, [sp, 0x10] - ldr r0, _081539D4 @ =0x00000b16 - adds r1, r0 - ldrh r0, [r1] - str r0, [sp, 0x14] - ldr r4, _081539D8 @ =0x0000021d - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0xD - bl DrawTextBorderOuter - adds r0, r7, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _081539DC @ =sUnknown_84755E8 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized - movs r4, 0 - add r2, sp, 0x18 - mov r8, r2 - movs r0, 0xFF - mov r10, r0 - mov r9, r4 - mov r2, sp - adds r2, 0xC - str r2, [sp, 0x2C] -_08153946: - ldr r0, [sp, 0x2C] - ldm r0!, {r1} - str r0, [sp, 0x2C] - ldr r0, _081539E0 @ =sUnknown_84755F8 - adds r0, r4, r0 - ldrb r3, [r0] - mov r0, r8 - movs r2, 0 - bl ConvertIntToDecimalStringN - movs r0, 0x2 - mov r1, r8 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - adds r5, r0, 0 - ldr r1, _081539DC @ =sUnknown_84755E8 - adds r6, r4, 0x1 - lsls r0, r6, 2 - adds r0, r1 - ldr r2, [r0] - ldr r0, _081539E4 @ =sUnknown_84755FC - lsls r4, 1 - adds r0, r4, r0 - ldrb r0, [r0] - str r0, [sp] - mov r0, r10 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized - movs r3, 0xE0 - subs r3, r5 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _081539E8 @ =sUnknown_8475602 - adds r4, r0 - ldrb r0, [r4] - str r0, [sp] - mov r2, r10 - str r2, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - mov r2, r8 - bl AddTextPrinterParameterized - adds r4, r6, 0 - cmp r4, 0x2 - ble _08153946 - adds r0, r7, 0 - bl PutWindowTilemap - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081539CC: .4byte gSaveBlock2Ptr -_081539D0: .4byte 0x00000b14 -_081539D4: .4byte 0x00000b16 -_081539D8: .4byte 0x0000021d -_081539DC: .4byte sUnknown_84755E8 -_081539E0: .4byte sUnknown_84755F8 -_081539E4: .4byte sUnknown_84755FC -_081539E8: .4byte sUnknown_8475602 - thumb_func_end sub_81538D0 - - thumb_func_start sub_81539EC -sub_81539EC: @ 81539EC - push {lr} - bl GetLinkPlayerCount - ldr r1, _08153A00 @ =gUnknown_203F3E0 - ldr r1, [r1] - adds r1, 0x24 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08153A00: .4byte gUnknown_203F3E0 - thumb_func_end sub_81539EC - - thumb_func_start sub_8153A04 -sub_8153A04: @ 8153A04 - push {r4-r7,lr} - ldr r0, _08153A8C @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r4, [r0] - cmp r4, 0x4 - bhi _08153A32 - ldr r5, _08153A90 @ =sUnknown_8475648 -_08153A14: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, _08153A94 @ =gLinkPlayers + 8 - adds r0, r1 - lsls r1, r4, 2 - adds r1, r5 - ldr r1, [r1] - bl StringCopy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08153A14 -_08153A32: - ldr r0, _08153A8C @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r1, 0x24 - movs r2, 0x5 - strb r2, [r1] - movs r1, 0 - mov r12, r0 -_08153A40: - movs r4, 0 - mov r2, r12 - ldr r0, [r2] - adds r0, 0x24 - adds r5, r1, 0x1 - ldrb r0, [r0] - cmp r4, r0 - bcs _08153A7E - ldr r7, _08153A8C @ =gUnknown_203F3E0 - lsls r3, r1, 1 - ldr r6, _08153A98 @ =sUnknown_8475608 -_08153A56: - ldr r2, [r7] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r3, r0 - adds r1, r2, 0 - adds r1, 0x4A - adds r1, r0 - lsls r0, r4, 3 - adds r0, r3, r0 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r2, 0x24 - ldrb r2, [r2] - cmp r4, r2 - bcc _08153A56 -_08153A7E: - lsls r0, r5, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _08153A40 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08153A8C: .4byte gUnknown_203F3E0 -_08153A90: .4byte sUnknown_8475648 -_08153A94: .4byte gLinkPlayers + 8 -_08153A98: .4byte sUnknown_8475608 - thumb_func_end sub_8153A04 - - thumb_func_start sub_8153A9C -sub_8153A9C: @ 8153A9C - push {r4,r5,lr} - sub sp, 0x18 - movs r5, 0xC0 - lsls r5, 6 - adds r0, r5, 0 - bl AllocZeroed - adds r4, r0, 0 - ldr r0, _08153AF0 @ =gUnknown_8478D90 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _08153AF4 @ =gUnknown_8478D98 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x10] - str r1, [sp, 0x14] - ldr r0, _08153AF8 @ =sDodrioBerryPkmnGfx - adds r1, r4, 0 - bl LZ77UnCompWram - cmp r4, 0 - beq _08153ADC - str r4, [sp] - str r5, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r4, 0 - bl Free -_08153ADC: - add r0, sp, 0x8 - bl LoadSpritePalette - add r0, sp, 0x10 - bl LoadSpritePalette - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08153AF0: .4byte gUnknown_8478D90 -_08153AF4: .4byte gUnknown_8478D98 -_08153AF8: .4byte sDodrioBerryPkmnGfx - thumb_func_end sub_8153A9C - - thumb_func_start sub_8153AFC -sub_8153AFC: @ 8153AFC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x30 - adds r6, r1, 0 - mov r8, r2 - adds r5, r3, 0 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 24 - lsrs r5, 24 - add r1, sp, 0x18 - movs r3, 0 - strh r3, [r1] - ldrb r2, [r0] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - ldr r0, _08153B88 @ =sOamData_8478C98 - str r0, [sp, 0x1C] - ldr r0, _08153B8C @ =sSpriteAnimTable_8478CE0 - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, _08153B90 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x28] - ldr r0, _08153B94 @ =sub_8153B9C - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - movs r0, 0x4 - bl AllocZeroed - ldr r1, _08153B98 @ =gUnknown_203F3E4 - mov r2, r8 - lsls r4, r2, 2 - adds r4, r1 - str r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8154608 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - movs r2, 0x88 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - movs r0, 0x1 - mov r1, r8 - bl sub_8153D48 - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153B88: .4byte sOamData_8478C98 -_08153B8C: .4byte sSpriteAnimTable_8478CE0 -_08153B90: .4byte gDummySpriteAffineAnimTable -_08153B94: .4byte sub_8153B9C -_08153B98: .4byte gUnknown_203F3E4 - thumb_func_end sub_8153AFC - - thumb_func_start sub_8153B9C -sub_8153B9C: @ 8153B9C - push {lr} - movs r2, 0x2E - ldrsh r1, [r0, r2] - cmp r1, 0x1 - beq _08153BB0 - cmp r1, 0x1 - ble _08153BBA - cmp r1, 0x2 - beq _08153BB6 - b _08153BBA -_08153BB0: - bl sub_8153C30 - b _08153BBA -_08153BB6: - bl sub_8153CA0 -_08153BBA: - pop {r0} - bx r0 - thumb_func_end sub_8153B9C - - thumb_func_start sub_8153BC0 -sub_8153BC0: @ 8153BC0 - push {lr} - bl GetMultiplayerId - ldr r1, _08153BF0 @ =gUnknown_203F3E4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153BF4 @ =gSprites - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x32] - strh r2, [r0, 0x34] - strh r2, [r0, 0x36] - pop {r0} - bx r0 - .align 2, 0 -_08153BF0: .4byte gUnknown_203F3E4 -_08153BF4: .4byte gSprites - thumb_func_end sub_8153BC0 - - thumb_func_start sub_8153BF8 -sub_8153BF8: @ 8153BF8 - push {lr} - bl GetMultiplayerId - ldr r1, _08153C28 @ =gUnknown_203F3E4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153C2C @ =gSprites - adds r0, r1 - movs r2, 0 - movs r1, 0x2 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x32] - strh r2, [r0, 0x34] - strh r2, [r0, 0x36] - pop {r0} - bx r0 - .align 2, 0 -_08153C28: .4byte gUnknown_203F3E4 -_08153C2C: .4byte gSprites - thumb_func_end sub_8153BF8 - - thumb_func_start sub_8153C30 -sub_8153C30: @ 8153C30 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r2, r0, 16 - lsrs r0, 31 - adds r0, r2, r0 - asrs r1, r0, 1 - adds r0, r1, 0 - cmp r1, 0 - bge _08153C4C - adds r0, r1, 0x3 -_08153C4C: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r2, 0x2 - ble _08153C96 - cmp r0, 0x2 - bgt _08153C62 - cmp r0, 0x1 - bge _08153C66 -_08153C62: - movs r0, 0x1 - b _08153C68 -_08153C66: - movs r0, 0xFF -_08153C68: - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _08153C96 - movs r0, 0 - strh r0, [r4, 0x2E] - bl sub_81533B4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8154608 - strh r0, [r4, 0x20] -_08153C96: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8153C30 - - thumb_func_start sub_8153CA0 -sub_8153CA0: @ 8153CA0 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xD - bl __divsi3 - lsls r0, 16 - asrs r1, r0, 16 - adds r0, r1, 0 - cmp r1, 0 - bge _08153CC0 - adds r0, r1, 0x3 -_08153CC0: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r1, 0xD - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08153CE4 - cmp r4, 0 - beq _08153CE4 - movs r0, 0xCD - bl PlaySE -_08153CE4: - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x67 - ble _08153CF2 - movs r0, 0 - strh r0, [r5, 0x2E] - movs r4, 0 -_08153CF2: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_8153DA8 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8153CA0 - - thumb_func_start sub_8153D08 -sub_8153D08: @ 8153D08 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08153D3A - ldr r6, _08153D40 @ =gUnknown_203F3E4 -_08153D16: - lsls r0, r4, 2 - adds r0, r6 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153D44 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08153D30 - bl DestroySpriteAndFreeResources -_08153D30: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08153D16 -_08153D3A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153D40: .4byte gUnknown_203F3E4 -_08153D44: .4byte gSprites - thumb_func_end sub_8153D08 - - thumb_func_start sub_8153D48 -sub_8153D48: @ 8153D48 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _08153D78 @ =gSprites - ldr r2, _08153D7C @ =gUnknown_203F3E4 - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - ldrh r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_08153D78: .4byte gSprites -_08153D7C: .4byte gUnknown_203F3E4 - thumb_func_end sub_8153D48 - - thumb_func_start sub_8153D80 -sub_8153D80: @ 8153D80 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - cmp r4, r5 - bcs _08153DA2 -_08153D90: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8153D48 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08153D90 -_08153DA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8153D80 - - thumb_func_start sub_8153DA8 -sub_8153DA8: @ 8153DA8 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08153DCC @ =gUnknown_203F3E4 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ldrh r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _08153DD0 @ =gSprites - adds r0, r2 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_08153DCC: .4byte gUnknown_203F3E4 -_08153DD0: .4byte gSprites - thumb_func_end sub_8153DA8 - - thumb_func_start nullsub_97 -nullsub_97: @ 8153DD4 - bx lr - thumb_func_end nullsub_97 - - thumb_func_start sub_8153DD8 -sub_8153DD8: @ 8153DD8 - push {r4-r7,lr} - movs r4, 0 - ldr r0, _08153E20 @ =gSprites - mov r12, r0 - movs r6, 0 - ldr r5, _08153E24 @ =gUnknown_203F43C -_08153DE4: - ldr r3, [r5] - lsls r1, r4, 1 - adds r0, r3, 0 - adds r0, 0x2A - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - lsls r0, r4, 4 - adds r0, 0x30 - strh r0, [r1, 0x20] - lsls r2, r4, 3 - movs r7, 0x8 - negs r7, r7 - adds r0, r7, 0 - subs r0, r2 - strh r0, [r1, 0x22] - adds r3, 0xC - adds r3, r4 - strb r6, [r3] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153DE4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08153E20: .4byte gSprites -_08153E24: .4byte gUnknown_203F43C - thumb_func_end sub_8153DD8 - - thumb_func_start sub_8153E28 -sub_8153E28: @ 8153E28 - push {r4-r6,lr} - sub sp, 0x28 - movs r4, 0xC0 - lsls r4, 1 - adds r0, r4, 0 - bl AllocZeroed - adds r6, r0, 0 - ldr r0, _08153EC8 @ =gUnknown_8478DA0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x20] - str r1, [sp, 0x24] - ldr r0, _08153ECC @ =sDodrioBerryStatusGfx - adds r1, r6, 0 - bl LZ77UnCompWram - cmp r6, 0 - beq _08153EB8 - str r6, [sp, 0x18] - add r5, sp, 0x18 - movs r0, 0x80 - lsls r0, 9 - orrs r0, r4 - str r0, [r5, 0x4] - mov r1, sp - ldr r0, _08153ED0 @ =gUnknown_8478DA8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r4, _08153ED4 @ =gUnknown_203F43C - movs r0, 0x40 - bl AllocZeroed - str r0, [r4] - adds r0, r5, 0 - bl LoadSpriteSheet - add r0, sp, 0x20 - bl LoadSpritePalette - movs r4, 0 -_08153E7E: - lsls r1, r4, 20 - movs r0, 0xC0 - lsls r0, 14 - adds r1, r0 - asrs r1, 16 - lsls r0, r4, 3 - movs r3, 0x8 - negs r3, r3 - adds r2, r3, 0 - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - mov r0, sp - movs r3, 0 - bl CreateSprite - ldr r1, _08153ED4 @ =gUnknown_203F43C - ldr r1, [r1] - lsls r2, r4, 1 - adds r1, 0x2A - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153E7E -_08153EB8: - adds r0, r6, 0 - bl Free - add sp, 0x28 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153EC8: .4byte gUnknown_8478DA0 -_08153ECC: .4byte sDodrioBerryStatusGfx -_08153ED0: .4byte gUnknown_8478DA8 -_08153ED4: .4byte gUnknown_203F43C - thumb_func_end sub_8153E28 - - thumb_func_start sub_8153ED8 -sub_8153ED8: @ 8153ED8 - push {r4,r5,lr} - movs r4, 0 -_08153EDC: - ldr r5, _08153F14 @ =gUnknown_203F43C - ldr r0, [r5] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153F18 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08153EFA - bl DestroySpriteAndFreeResources -_08153EFA: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153EDC - ldr r0, [r5] - bl Free - movs r0, 0 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08153F14: .4byte gUnknown_203F43C -_08153F18: .4byte gSprites - thumb_func_end sub_8153ED8 - - thumb_func_start sub_8153F1C -sub_8153F1C: @ 8153F1C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r3, 0 - movs r6, 0 - ldr r0, _08153FAC @ =gUnknown_203F43C - mov r9, r0 -_08153F2E: - mov r7, r9 - ldr r2, [r7] - lsls r5, r6, 1 - adds r0, r2, 0 - adds r0, 0x2A - adds r0, r5 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153FB0 @ =gSprites - adds r4, r0, r1 - adds r0, r2, 0 - adds r0, 0x16 - adds r0, r5 - movs r1, 0x2 - strh r1, [r0] - adds r0, r2, 0 - adds r0, 0xC - adds r2, r0, r6 - ldrb r1, [r2] - cmp r1, 0 - beq _08153F64 - movs r7, 0x22 - ldrsh r0, [r4, r7] - cmp r0, 0x8 - beq _08153F9A -_08153F64: - movs r3, 0x1 - movs r7, 0x22 - ldrsh r0, [r4, r7] - cmp r0, 0x8 - bne _08153F8A - cmp r1, 0 - bne _08153F9A - strb r3, [r2] - mov r1, r9 - ldr r0, [r1] - adds r0, 0x16 - adds r0, r5 - ldr r1, _08153FB4 @ =0x0000fff0 - strh r1, [r0] - movs r0, 0x1E - str r3, [sp] - bl PlaySE - ldr r3, [sp] -_08153F8A: - mov r7, r9 - ldr r0, [r7] - adds r0, 0x16 - adds r0, r5 - ldrh r0, [r0] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_08153F9A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x9 - bls _08153F2E - cmp r3, 0 - bne _08153FB8 - movs r0, 0x1 - b _08153FBA - .align 2, 0 -_08153FAC: .4byte gUnknown_203F43C -_08153FB0: .4byte gSprites -_08153FB4: .4byte 0x0000fff0 -_08153FB8: - movs r0, 0 -_08153FBA: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153F1C - - thumb_func_start sub_8153FC8 -sub_8153FC8: @ 8153FC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _08154004 - movs r4, 0 -_08153FD4: - ldr r0, _08153FFC @ =gUnknown_203F43C - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08154000 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153FD4 - b _081540CE - .align 2, 0 -_08153FFC: .4byte gUnknown_203F43C -_08154000: .4byte gSprites -_08154004: - movs r4, 0 - movs r0, 0xA - subs r0, r5 - cmp r4, r0 - bge _081540CA - ldr r6, _08154034 @ =gSprites -_08154010: - cmp r5, 0x6 - bls _08154078 - ldr r0, _08154038 @ =gUnknown_203F43C - ldr r2, [r0] - ldr r1, _0815403C @ =0x0000fffa - adds r0, r1, 0 - ldrh r1, [r2, 0x3E] - adds r0, r1 - adds r0, r5 - movs r1, 0 - strh r0, [r2, 0x3E] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bls _08154040 - strh r1, [r2, 0x3E] - b _08154092 - .align 2, 0 -_08154034: .4byte gSprites -_08154038: .4byte gUnknown_203F43C -_0815403C: .4byte 0x0000fffa -_08154040: - cmp r0, 0xA - bls _0815405E - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - bl StartSpriteAnim - b _08154092 -_0815405E: - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - bl StartSpriteAnim - b _08154092 -_08154078: - ldr r0, _081540A4 @ =gUnknown_203F43C - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - bl StartSpriteAnim -_08154092: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0xA - subs r0, r5 - cmp r4, r0 - blt _08154010 - b _081540CA - .align 2, 0 -_081540A4: .4byte gUnknown_203F43C -_081540A8: - ldr r0, _081540D4 @ =gUnknown_203F43C - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081540D8 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081540CA: - cmp r4, 0x9 - bls _081540A8 -_081540CE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081540D4: .4byte gUnknown_203F43C -_081540D8: .4byte gSprites - thumb_func_end sub_8153FC8 - - thumb_func_start sub_81540DC -sub_81540DC: @ 81540DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r7, _08154120 @ =gSprites - movs r1, 0x1 - ands r0, r1 - lsls r4, r0, 2 - movs r6, 0x5 - negs r6, r6 - ldr r5, _08154124 @ =gUnknown_203F43C -_081540F2: - ldr r0, [r5] - lsls r1, r3, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x9 - bls _081540F2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154120: .4byte gSprites -_08154124: .4byte gUnknown_203F43C - thumb_func_end sub_81540DC - - thumb_func_start sub_8154128 -sub_8154128: @ 8154128 - push {r4,r5,lr} - sub sp, 0x10 - movs r5, 0x90 - lsls r5, 3 - adds r0, r5, 0 - bl AllocZeroed - adds r4, r0, 0 - ldr r0, _08154174 @ =gUnknown_8478DCC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _08154178 @ =sDodrioBerrySpritesGfx - adds r1, r4, 0 - bl LZ77UnCompWram - cmp r4, 0 - beq _0815415E - str r4, [sp] - movs r0, 0x80 - lsls r0, 10 - orrs r0, r5 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet -_0815415E: - add r0, sp, 0x8 - bl LoadSpritePalette - adds r0, r4, 0 - bl Free - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08154174: .4byte gUnknown_8478DCC -_08154178: .4byte sDodrioBerrySpritesGfx - thumb_func_end sub_8154128 - - thumb_func_start sub_815417C -sub_815417C: @ 815417C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - mov r1, sp - ldr r0, _0815420C @ =gUnknown_8478DDC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - add r2, sp, 0x18 - adds r1, r2, 0 - ldr r0, _08154210 @ =gUnknown_8478DF4 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - movs r5, 0 - mov r9, r2 -_081541A4: - movs r0, 0x4 - bl AllocZeroed - ldr r1, _08154214 @ =gUnknown_203F400 - lsls r4, r5, 2 - adds r4, r1 - str r0, [r4] - lsls r0, r5, 3 - lsls r1, r5, 4 - adds r1, r0 - mov r0, sp - movs r2, 0x8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81542EC - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _081541A4 - movs r5, 0 - ldr r7, _08154218 @ =gUnknown_203F42C - ldr r4, _0815421C @ =sUnknown_8478DD4 - mov r8, r4 -_081541E4: - movs r0, 0x4 - bl AllocZeroed - lsls r1, r5, 2 - adds r4, r1, r7 - str r0, [r4] - adds r6, r1, 0 - cmp r5, 0x3 - bne _08154220 - mov r0, r8 - movs r2, 0x6 - ldrsh r1, [r0, r2] - mov r0, r9 - movs r2, 0x39 - movs r3, 0 - bl CreateSprite - ldr r1, [r7, 0xC] - b _08154234 - .align 2, 0 -_0815420C: .4byte gUnknown_8478DDC -_08154210: .4byte gUnknown_8478DF4 -_08154214: .4byte gUnknown_203F400 -_08154218: .4byte gUnknown_203F42C -_0815421C: .4byte sUnknown_8478DD4 -_08154220: - lsls r0, r5, 1 - add r0, r8 - movs r3, 0 - ldrsh r1, [r0, r3] - mov r0, r9 - movs r2, 0x3C - movs r3, 0 - bl CreateSprite - ldr r1, [r4] -_08154234: - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r6, r7 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08154270 @ =gSprites - adds r0, r1 - adds r1, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081541E4 - movs r0, 0x1 - bl sub_8154324 - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154270: .4byte gSprites - thumb_func_end sub_815417C - - thumb_func_start sub_8154274 -sub_8154274: @ 8154274 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _081542E0 @ =gUnknown_203F400 -_0815427A: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081542E4 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08154294 - bl DestroySprite -_08154294: - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _0815427A - movs r5, 0 - ldr r6, _081542E8 @ =gUnknown_203F42C -_081542AC: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081542E4 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _081542C6 - bl DestroySprite -_081542C6: - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081542AC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081542E0: .4byte gUnknown_203F400 -_081542E4: .4byte gSprites -_081542E8: .4byte gUnknown_203F42C - thumb_func_end sub_8154274 - - thumb_func_start sub_81542EC -sub_81542EC: @ 81542EC - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0815431C @ =gSprites - ldr r2, _08154320 @ =gUnknown_203F400 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - adds r2, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 -_0815431C: .4byte gSprites -_08154320: .4byte gUnknown_203F400 - thumb_func_end sub_81542EC - - thumb_func_start sub_8154324 -sub_8154324: @ 8154324 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r7, _08154368 @ =gSprites - ldr r6, _0815436C @ =gUnknown_203F42C - movs r1, 0x1 - ands r0, r1 - lsls r4, r0, 2 - movs r5, 0x5 - negs r5, r5 -_0815433A: - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0815433A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154368: .4byte gSprites -_0815436C: .4byte gUnknown_203F42C - thumb_func_end sub_8154324 - - thumb_func_start sub_8154370 -sub_8154370: @ 8154370 - lsls r0, 24 - lsls r1, 24 - ldr r3, _08154390 @ =gSprites - ldr r2, _08154394 @ =gUnknown_203F400 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ldrh r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - lsrs r1, 21 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08154390: .4byte gSprites -_08154394: .4byte gUnknown_203F400 - thumb_func_end sub_8154370 - - thumb_func_start sub_8154398 -sub_8154398: @ 8154398 - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _081543BC @ =gUnknown_203F400 - lsrs r0, 14 - adds r0, r2 - ldr r0, [r0] - ldrh r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _081543C0 @ =gSprites - adds r0, r2 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_081543BC: .4byte gUnknown_203F400 -_081543C0: .4byte gSprites - thumb_func_end sub_8154398 - - thumb_func_start sub_81543C4 -sub_81543C4: @ 81543C4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081543E4 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, 0x32 - strh r1, [r2, 0x20] - movs r0, 0x32 - strh r0, [r2, 0x22] - bx lr - .align 2, 0 -_081543E4: .4byte gSprites - thumb_func_end sub_81543C4 - - thumb_func_start sub_81543E8 -sub_81543E8: @ 81543E8 - push {r4-r7,lr} - adds r4, r0, 0 - adds r0, 0x42 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _0815442A - movs r3, 0 - ldr r7, _08154430 @ =gUnknown_8478E0C - ldr r6, _08154434 @ =gUnknown_203F3F8 - movs r5, 0 -_081543FE: - lsls r0, r3, 2 - adds r2, r0, r6 - ldr r1, [r2] - ldrh r0, [r1, 0x2] - adds r0, 0x1 - strh r0, [r1, 0x2] - adds r1, r3, r7 - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1] - cmp r0, r1 - bls _08154420 - ldrh r0, [r4, 0x20] - subs r0, 0x1 - strh r0, [r4, 0x20] - ldr r0, [r2] - strh r5, [r0, 0x2] -_08154420: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _081543FE -_0815442A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154430: .4byte gUnknown_8478E0C -_08154434: .4byte gUnknown_203F3F8 - thumb_func_end sub_81543E8 - - thumb_func_start sub_8154438 -sub_8154438: @ 8154438 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - movs r4, 0x80 - lsls r4, 3 - adds r0, r4, 0 - bl AllocZeroed - adds r6, r0, 0 - ldr r0, _081544DC @ =gUnknown_8478E18 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x20] - str r1, [sp, 0x24] - ldr r0, _081544E0 @ =sDodrioBerryPlatformGfx - adds r1, r6, 0 - bl LZ77UnCompWram - cmp r6, 0 - beq _081544C6 - str r6, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xA0 - lsls r1, 11 - orrs r1, r4 - str r1, [r0, 0x4] - mov r2, sp - ldr r1, _081544E4 @ =gUnknown_8478E20 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - bl LoadSpriteSheet - add r0, sp, 0x20 - bl LoadSpritePalette - movs r5, 0 - ldr r7, _081544E8 @ =gUnknown_8478E0E - adds r0, r7, 0x2 - mov r9, r0 - ldr r1, _081544EC @ =gUnknown_203F3F8 - mov r8, r1 -_08154492: - movs r0, 0x4 - bl AllocZeroed - lsls r2, r5, 2 - mov r3, r8 - adds r4, r2, r3 - str r0, [r4] - adds r0, r2, r7 - movs r3, 0 - ldrsh r1, [r0, r3] - add r2, r9 - movs r0, 0 - ldrsh r2, [r2, r0] - mov r0, sp - movs r3, 0x4 - bl CreateSprite - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _08154492 -_081544C6: - adds r0, r6, 0 - bl Free - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081544DC: .4byte gUnknown_8478E18 -_081544E0: .4byte sDodrioBerryPlatformGfx -_081544E4: .4byte gUnknown_8478E20 -_081544E8: .4byte gUnknown_8478E0E -_081544EC: .4byte gUnknown_203F3F8 - thumb_func_end sub_8154438 - - thumb_func_start sub_81544F0 -sub_81544F0: @ 81544F0 - push {r4-r7,lr} - movs r3, 0 - ldr r0, _08154534 @ =gUnknown_203F3F8 - mov r12, r0 - ldr r4, _08154538 @ =gUnknown_8478E0E - adds r7, r4, 0x2 - ldr r6, _0815453C @ =gSprites - movs r5, 0x1 -_08154500: - lsls r2, r3, 2 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r0, r1, 0 - adds r0, 0x42 - strh r5, [r0] - adds r0, r2, r4 - ldrh r0, [r0] - strh r0, [r1, 0x20] - adds r2, r7 - ldrh r0, [r2] - strh r0, [r1, 0x22] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _08154500 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154534: .4byte gUnknown_203F3F8 -_08154538: .4byte gUnknown_8478E0E -_0815453C: .4byte gSprites - thumb_func_end sub_81544F0 - - thumb_func_start sub_8154540 -sub_8154540: @ 8154540 - push {r4,r5,lr} - movs r2, 0 - ldr r5, _08154570 @ =gUnknown_203F3F8 - ldr r4, _08154574 @ =gSprites - movs r3, 0 -_0815454A: - lsls r0, r2, 2 - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x42 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bls _0815454A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08154570: .4byte gUnknown_203F3F8 -_08154574: .4byte gSprites - thumb_func_end sub_8154540 - - thumb_func_start sub_8154578 -sub_8154578: @ 8154578 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _081545B4 @ =gUnknown_203F3F8 -_0815457E: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081545B8 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08154598 - bl DestroySprite -_08154598: - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0815457E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081545B4: .4byte gUnknown_203F3F8 -_081545B8: .4byte gSprites - thumb_func_end sub_8154578 - - thumb_func_start sub_81545BC -sub_81545BC: @ 81545BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r7, _08154600 @ =gSprites - ldr r6, _08154604 @ =gUnknown_203F3F8 - movs r1, 0x1 - ands r0, r1 - lsls r4, r0, 2 - movs r5, 0x5 - negs r5, r5 -_081545D2: - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _081545D2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154600: .4byte gSprites -_08154604: .4byte gUnknown_203F3F8 - thumb_func_end sub_81545BC - - thumb_func_start sub_8154608 -sub_8154608: @ 8154608 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - subs r0, r1, 0x1 - cmp r0, 0x4 - bhi _081546BA - lsls r0, 2 - ldr r1, _08154624 @ =_08154628 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154624: .4byte _08154628 - .align 2, 0 -_08154628: - .4byte _081546A8 - .4byte _0815463C - .4byte _08154646 - .4byte _0815465A - .4byte _08154682 -_0815463C: - cmp r2, 0 - beq _08154672 - cmp r2, 0x1 - bne _081546BA - b _08154676 -_08154646: - cmp r2, 0x1 - beq _081546AC - cmp r2, 0x1 - bgt _08154654 - cmp r2, 0 - beq _081546A8 - b _081546BA -_08154654: - cmp r2, 0x2 - bne _081546BA - b _081546B8 -_0815465A: - cmp r2, 0x1 - beq _08154676 - cmp r2, 0x1 - bgt _08154668 - cmp r2, 0 - beq _08154672 - b _081546BA -_08154668: - cmp r2, 0x2 - beq _0815467A - cmp r2, 0x3 - beq _0815467E - b _081546BA -_08154672: - movs r3, 0xC - b _081546BA -_08154676: - movs r3, 0x12 - b _081546BA -_0815467A: - movs r3, 0x18 - b _081546BA -_0815467E: - movs r3, 0x6 - b _081546BA -_08154682: - cmp r2, 0x4 - bhi _081546BA - lsls r0, r2, 2 - ldr r1, _08154690 @ =_08154694 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154690: .4byte _08154694 - .align 2, 0 -_08154694: - .4byte _081546A8 - .4byte _081546AC - .4byte _081546B0 - .4byte _081546B4 - .4byte _081546B8 -_081546A8: - movs r3, 0xF - b _081546BA -_081546AC: - movs r3, 0x15 - b _081546BA -_081546B0: - movs r3, 0x1B - b _081546BA -_081546B4: - movs r3, 0x3 - b _081546BA -_081546B8: - movs r3, 0x9 -_081546BA: - lsls r0, r3, 3 - pop {r1} - bx r1 - thumb_func_end sub_8154608 - - thumb_func_start sub_81546C0 -sub_81546C0: @ 81546C0 - push {r4,lr} - movs r4, 0 -_081546C4: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81542EC - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8154370 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _081546C4 - movs r0, 0 - bl sub_81540DC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81546C0 - - thumb_func_start sub_81546EC -sub_81546EC: @ 81546EC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetUserFrameGraphicsInfo - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r0, 0 - movs r3, 0x1 - bl LoadBgTiles - adds r0, r4, 0 - bl GetUserFrameGraphicsInfo - ldr r0, [r0, 0x4] - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81546EC - - thumb_func_start sub_8154720 -sub_8154720: @ 8154720 - push {lr} - movs r0, 0 - movs r1, 0xA - movs r2, 0xB0 - bl TextWindow_SetStdFrame0_WithPal - pop {r0} - bx r0 - thumb_func_end sub_8154720 - - thumb_func_start sub_8154730 -sub_8154730: @ 8154730 - ldr r3, _08154760 @ =gUnknown_203F440 - ldr r0, [r3] - movs r2, 0xC0 - lsls r2, 6 - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r1, _08154764 @ =0x00003014 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r1, 0x4 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r1, 0x8 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r1, 0x4 - adds r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 -_08154760: .4byte gUnknown_203F440 -_08154764: .4byte 0x00003014 - thumb_func_end sub_8154730 - - thumb_func_start sub_8154768 -sub_8154768: @ 8154768 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r6, 0xA - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x3 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x4 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x6 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x7 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x8 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r4, [r4, 0x2] - adds r3, r4 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x9 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8154768 - - thumb_func_start sub_8154868 -sub_8154868: @ 8154868 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r6, 0xB - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xA - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xB - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xC - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xD - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xF - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x10 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x11 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r4, [r4, 0x2] - adds r3, r4 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x12 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8154868 - - thumb_func_start sub_8154968 -sub_8154968: @ 8154968 - push {r4,lr} - ldr r4, _081549B0 @ =gUnknown_203F440 - str r0, [r4] - movs r2, 0xC0 - lsls r2, 6 - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r3, _081549B4 @ =0x00003014 - adds r1, r0, r3 - strb r2, [r1] - ldr r1, _081549B8 @ =0x00003018 - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r3, 0xC - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - adds r1, 0xC - adds r0, r1 - strb r2, [r0] - ldr r0, _081549BC @ =sub_8154A08 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - ldr r2, _081549C0 @ =0x00003004 - adds r1, r2 - strb r0, [r1] - ldr r0, _081549C4 @ =sub_8154A2C - bl sub_8155E24 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081549B0: .4byte gUnknown_203F440 -_081549B4: .4byte 0x00003014 -_081549B8: .4byte 0x00003018 -_081549BC: .4byte sub_8154A08 -_081549C0: .4byte 0x00003004 -_081549C4: .4byte sub_8154A2C - thumb_func_end sub_8154968 - - thumb_func_start sub_81549C8 -sub_81549C8: @ 81549C8 - push {lr} - bl FreeAllWindowBuffers - pop {r0} - bx r0 - thumb_func_end sub_81549C8 - - thumb_func_start sub_81549D4 -sub_81549D4: @ 81549D4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, _08154A04 @ =gUnknown_8478EC4 - adds r7, r5, 0x4 -_081549E0: - lsls r1, r4, 3 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, r6 - bne _081549F2 - adds r0, r1, r7 - ldr r0, [r0] - bl sub_8155E24 -_081549F2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081549E0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154A04: .4byte gUnknown_8478EC4 - thumb_func_end sub_81549D4 - - thumb_func_start sub_8154A08 -sub_8154A08: @ 8154A08 - push {lr} - ldr r0, _08154A28 @ =gUnknown_203F440 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08154A22 - bl sub_8155E54 - bl _call_via_r0 -_08154A22: - pop {r0} - bx r0 - .align 2, 0 -_08154A28: .4byte gUnknown_203F440 - thumb_func_end sub_8154A08 - - thumb_func_start sub_8154A2C -sub_8154A2C: @ 8154A2C - push {lr} - ldr r0, _08154A48 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154A4C @ =0x00003014 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _08154B24 - lsls r0, 2 - ldr r1, _08154A50 @ =_08154A54 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154A48: .4byte gUnknown_203F440 -_08154A4C: .4byte 0x00003014 -_08154A50: .4byte _08154A54 - .align 2, 0 -_08154A54: - .4byte _08154A68 - .4byte _08154A6E - .4byte _08154A88 - .4byte _08154ACC - .4byte _08154AF8 -_08154A68: - bl sub_8155EA0 - b _08154B08 -_08154A6E: - bl sub_8155FE0 - cmp r0, 0x1 - bne _08154B2E - ldr r0, _08154A80 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154A84 @ =0x00003014 - adds r1, r2 - b _08154B10 - .align 2, 0 -_08154A80: .4byte gUnknown_203F440 -_08154A84: .4byte 0x00003014 -_08154A88: - ldr r1, _08154AC0 @ =sDodrioBerryBgTilemap1 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _08154AC4 @ =sDodrioBerryBgTilemap2Left - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _08154AC8 @ =sDodrioBerryBgTilemap2Right - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _08154B08 - .align 2, 0 -_08154AC0: .4byte sDodrioBerryBgTilemap1 -_08154AC4: .4byte sDodrioBerryBgTilemap2Left -_08154AC8: .4byte sDodrioBerryBgTilemap2Right -_08154ACC: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, _08154AF0 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154AF4 @ =0x00003014 - adds r1, r2 - b _08154B10 - .align 2, 0 -_08154AF0: .4byte gUnknown_203F440 -_08154AF4: .4byte 0x00003014 -_08154AF8: - ldr r0, _08154B18 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl sub_81546EC - bl sub_8154720 -_08154B08: - ldr r0, _08154B1C @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08154B20 @ =0x00003014 - adds r1, r0 -_08154B10: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08154B2E - .align 2, 0 -_08154B18: .4byte gSaveBlock2Ptr -_08154B1C: .4byte gUnknown_203F440 -_08154B20: .4byte 0x00003014 -_08154B24: - movs r2, 0xC0 - lsls r2, 6 - adds r1, r2 - movs r0, 0x1 - str r0, [r1] -_08154B2E: - pop {r0} - bx r0 - thumb_func_end sub_8154A2C - - thumb_func_start sub_8154B34 -sub_8154B34: @ 8154B34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, _08154B74 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r2, _08154B78 @ =0x00003014 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08154B7C - cmp r0, 0x1 - bne _08154B54 - b _08154CE0 -_08154B54: - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB4 - bhi _08154B62 - b _08154D82 -_08154B62: - bl sub_81533B4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - cmp r6, r7 - bcc _08154B72 - b _08154D5A -_08154B72: - b _08154D34 - .align 2, 0 -_08154B74: .4byte gUnknown_203F440 -_08154B78: .4byte 0x00003014 -_08154B7C: - bl sub_81533B4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08154CB8 @ =sUnknown_8478E80 - subs r0, r7, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - ldr r2, _08154CBC @ =0xffffff00 - ldr r0, [sp, 0xC] - ands r0, r2 - ldr r1, _08154CC0 @ =0x00ffffff - ands r0, r1 - movs r1, 0xE0 - lsls r1, 19 - orrs r0, r1 - str r0, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r2 - movs r1, 0x2 - orrs r0, r1 - ldr r1, _08154CC4 @ =0xffff00ff - ands r0, r1 - movs r1, 0xD0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _08154CC8 @ =0x0000ffff - ands r0, r1 - movs r1, 0x98 - lsls r1, 13 - orrs r0, r1 - str r0, [sp, 0x10] - movs r6, 0 - cmp r6, r7 - bcs _08154CAC - mov r3, sp - adds r3, 0xC - str r3, [sp, 0x18] - mov r10, r4 - ldr r0, _08154CCC @ =0x00003008 - mov r9, r0 -_08154BD0: - movs r1, 0 - mov r8, r1 - adds r0, r6, 0 - bl sub_81537AC - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - bl sub_81533C4 - adds r1, r0, 0 - movs r0, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - movs r1, 0x38 - subs r1, r0 - lsrs r1, 1 - str r1, [sp, 0x14] - ldrb r0, [r5] - lsls r0, 8 - ldr r2, _08154CC4 @ =0xffff00ff - ldr r1, [sp, 0xC] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0xC] - ldrb r2, [r5, 0x1] - lsls r2, 16 - ldr r0, _08154CD0 @ =0xff00ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0xC] - add r0, sp, 0xC - bl AddWindow - mov r2, r10 - ldr r1, [r2] - add r1, r9 - adds r1, r6 - strb r0, [r1] - ldr r0, [r2] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r3, r10 - ldr r0, [r3] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08154C4E - movs r0, 0x2 - mov r8, r0 -_08154C4E: - adds r0, r4, 0 - bl sub_81533C4 - adds r4, r0, 0 - mov r1, r10 - ldr r0, [r1] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - ldr r3, [sp, 0x14] - lsls r2, r3, 24 - lsrs r2, 24 - mov r3, r8 - lsls r1, r3, 1 - add r1, r8 - ldr r3, _08154CD4 @ =sUnknown_8478E38 - adds r1, r3 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - mov r2, r10 - ldr r0, [r2] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r3, [sp, 0x18] - ldrh r0, [r3, 0x6] - adds r0, 0xE - strh r0, [r3, 0x6] - add r0, sp, 0xC - bl sub_8154868 - adds r5, 0x4 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08154BD0 -_08154CAC: - ldr r0, _08154CD8 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08154CDC @ =0x00003014 - adds r1, r0 - b _08154D1E - .align 2, 0 -_08154CB8: .4byte sUnknown_8478E80 -_08154CBC: .4byte 0xffffff00 -_08154CC0: .4byte 0x00ffffff -_08154CC4: .4byte 0xffff00ff -_08154CC8: .4byte 0x0000ffff -_08154CCC: .4byte 0x00003008 -_08154CD0: .4byte 0xff00ffff -_08154CD4: .4byte sUnknown_8478E38 -_08154CD8: .4byte gUnknown_203F440 -_08154CDC: .4byte 0x00003014 -_08154CE0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08154D82 - bl sub_81533B4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - cmp r6, r7 - bcs _08154D10 -_08154CF8: - ldr r0, [r4] - ldr r1, _08154D28 @ =0x00003008 - adds r0, r1 - adds r0, r6 - ldrb r0, [r0] - bl PutWindowTilemap - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08154CF8 -_08154D10: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08154D2C @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154D30 @ =0x00003014 - adds r1, r2 -_08154D1E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08154D82 - .align 2, 0 -_08154D28: .4byte 0x00003008 -_08154D2C: .4byte gUnknown_203F440 -_08154D30: .4byte 0x00003014 -_08154D34: - ldr r5, _08154D94 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r4, _08154D98 @ =0x00003008 - adds r0, r4 - adds r0, r6 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, r4 - adds r0, r6 - ldrb r0, [r0] - bl RemoveWindow - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08154D34 -_08154D5A: - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08154D94 @ =gUnknown_203F440 - ldr r0, [r0] - movs r3, 0xC0 - lsls r3, 6 - adds r0, r3 - movs r1, 0x1 - str r1, [r0] -_08154D82: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154D94: .4byte gUnknown_203F440 -_08154D98: .4byte 0x00003008 - thumb_func_end sub_8154B34 - - thumb_func_start sub_8154D9C -sub_8154D9C: @ 8154D9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x70 - lsls r0, 24 - movs r1, 0 - mov r8, r1 - movs r6, 0 - lsrs r7, r0, 24 - add r4, sp, 0x2C - ldr r1, _08154F64 @ =gUnknown_8478F14 - adds r0, r4, 0 - movs r2, 0x5 - bl memcpy - movs r5, 0 - cmp r5, r7 - bcs _08154DEC - add r4, sp, 0x34 -_08154DC6: - mov r0, sp - adds r0, r5 - adds r0, 0x2C - strb r5, [r0] - add r0, sp, 0x5C - adds r1, r5, 0 - bl sub_81536A0 - lsls r2, r5, 3 - adds r2, r4, r2 - ldr r0, [sp, 0x5C] - ldr r1, [sp, 0x60] - str r0, [r2] - str r1, [r2, 0x4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154DC6 -_08154DEC: - bl sub_81534AC - cmp r0, 0 - beq _08154E22 -_08154DF4: - movs r5, 0 - cmp r5, r7 - bcs _08154E1C - add r2, sp, 0x34 - add r1, sp, 0x2C -_08154DFE: - lsls r0, r5, 3 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, r8 - bne _08154E12 - adds r0, r1, r6 - strb r5, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08154E12: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154DFE -_08154E1C: - mov r8, r6 - cmp r6, r7 - bcc _08154DF4 -_08154E22: - movs r5, 0 - ldr r4, _08154F68 @ =gText_SpacePoints - cmp r5, r7 - bcs _08154E48 - add r1, sp, 0x34 - add r6, sp, 0x38 - subs r3, r7, 0x1 -_08154E30: - lsls r2, r5, 3 - adds r0, r6, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08154E3E - adds r0, r1, r2 - strb r3, [r0] -_08154E3E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154E30 -_08154E48: - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r1, 0xD8 - subs r1, r0 - str r1, [sp, 0x64] - movs r5, 0 - cmp r5, r7 - bcs _08154F52 - mov r2, sp - adds r2, 0x34 - str r2, [sp, 0x68] - ldr r3, _08154F6C @ =0x00003009 - mov r10, r3 - adds r0, r1, 0 - subs r0, 0x23 - lsls r0, 24 - str r0, [sp, 0x6C] -_08154E70: - movs r4, 0 - mov r8, r4 - mov r0, sp - adds r0, r5 - adds r0, 0x2C - ldrb r0, [r0] - adds r4, r0, 0 - lsls r1, r4, 3 - add r0, sp, 0x38 - adds r0, r1 - ldr r0, [r0] - mov r9, r0 - ldr r2, _08154F70 @ =gUnknown_203F440 - ldr r0, [r2] - add r0, r10 - ldrb r0, [r0] - ldr r2, _08154F74 @ =sUnknown_8478E94 - ldr r3, [sp, 0x68] - adds r1, r3, r1 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r2, [r1] - ldr r3, _08154F78 @ =sUnknown_8478EBA - lsls r1, r5, 1 - adds r1, r3 - ldrb r6, [r1] - str r6, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - mov r3, r8 - str r3, [sp, 0x8] - movs r1, 0 - movs r3, 0x8 - bl AddTextPrinterParameterized - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08154EC8 - movs r0, 0x2 - mov r8, r0 -_08154EC8: - adds r0, r4, 0 - bl sub_81533C4 - adds r3, r0, 0 - ldr r1, _08154F70 @ =gUnknown_203F440 - ldr r0, [r1] - add r0, r10 - ldrb r0, [r0] - mov r2, r8 - lsls r1, r2, 1 - add r1, r8 - ldr r2, _08154F7C @ =sUnknown_8478E38 - adds r1, r2 - str r1, [sp] - movs r4, 0x1 - negs r4, r4 - str r4, [sp, 0x4] - str r3, [sp, 0x8] - movs r1, 0 - movs r2, 0x1C - adds r3, r6, 0 - bl AddTextPrinterParameterized3 - add r0, sp, 0xC - mov r1, r9 - movs r2, 0x1 - movs r3, 0x7 - bl ConvertIntToDecimalStringN - movs r0, 0 - add r1, sp, 0xC - adds r2, r4, 0 - bl GetStringWidth - ldr r1, _08154F70 @ =gUnknown_203F440 - ldr r0, [r1] - add r0, r10 - ldrb r0, [r0] - str r6, [sp] - movs r2, 0xFF - str r2, [sp, 0x4] - movs r3, 0 - str r3, [sp, 0x8] - movs r1, 0 - add r2, sp, 0xC - ldr r4, [sp, 0x6C] - lsrs r3, r4, 24 - bl AddTextPrinterParameterized - ldr r1, _08154F70 @ =gUnknown_203F440 - ldr r0, [r1] - add r0, r10 - ldrb r0, [r0] - ldr r2, [sp, 0x64] - lsls r3, r2, 24 - str r6, [sp] - movs r4, 0xFF - str r4, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - ldr r2, _08154F68 @ =gText_SpacePoints - lsrs r3, 24 - bl AddTextPrinterParameterized - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154E70 -_08154F52: - add sp, 0x70 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154F64: .4byte gUnknown_8478F14 -_08154F68: .4byte gText_SpacePoints -_08154F6C: .4byte 0x00003009 -_08154F70: .4byte gUnknown_203F440 -_08154F74: .4byte sUnknown_8478E94 -_08154F78: .4byte sUnknown_8478EBA -_08154F7C: .4byte sUnknown_8478E38 - thumb_func_end sub_8154D9C - - thumb_func_start sub_8154F80 -sub_8154F80: @ 8154F80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8C - bl sub_81533B4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x84] - ldr r6, _08154FB0 @ =gUnknown_203F440 - ldr r1, [r6] - ldr r2, _08154FB4 @ =0x00003014 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xB - bls _08154FA6 - b _08155678 -_08154FA6: - lsls r0, 2 - ldr r1, _08154FB8 @ =_08154FBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154FB0: .4byte gUnknown_203F440 -_08154FB4: .4byte 0x00003014 -_08154FB8: .4byte _08154FBC - .align 2, 0 -_08154FBC: - .4byte _08154FEC - .4byte _08155008 - .4byte _08155060 - .4byte _0815524C - .4byte _08155298 - .4byte _081552DC - .4byte _08155340 - .4byte _0815537C - .4byte _081553C0 - .4byte _08155480 - .4byte _081555D8 - .4byte _0815562C -_08154FEC: - bl sub_81535B0 - ldr r0, _08155000 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08155004 @ =0x0000301c - adds r2, r1, r0 - movs r0, 0 - strh r0, [r2] - b _0815565A - .align 2, 0 -_08155000: .4byte gUnknown_203F440 -_08155004: .4byte 0x0000301c -_08155008: - ldr r6, _08155050 @ =sUnknown_8475674 - adds r0, r6, 0 - bl AddWindow - ldr r4, _08155054 @ =gUnknown_203F440 - ldr r1, [r4] - ldr r2, _08155058 @ =0x00003008 - mov r8, r2 - add r1, r8 - strb r0, [r1] - movs r0, 0x8 - adds r0, r6 - mov r9, r0 - bl AddWindow - ldr r1, [r4] - ldr r5, _0815505C @ =0x00003009 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - add r0, r8 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r6, 0 - bl sub_8154868 - mov r0, r9 - bl sub_8154868 - b _08155658 - .align 2, 0 -_08155050: .4byte sUnknown_8475674 -_08155054: .4byte gUnknown_203F440 -_08155058: .4byte 0x00003008 -_0815505C: .4byte 0x00003009 -_08155060: - ldr r4, _081551A8 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r5, _081551AC @ =0x00003008 - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldr r1, _081551B0 @ =0x00003009 - mov r9, r1 - add r0, r9 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _081551B4 @ =gText_BerryPickingResults - mov r8, r2 - movs r2, 0x1 - negs r2, r2 - movs r0, 0 - mov r1, r8 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0xE0 - subs r0, r1 - lsrs r3, r0, 1 - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x2 - str r1, [sp] - movs r6, 0xFF - str r6, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r1, 0 - mov r2, r8 - bl AddTextPrinterParameterized - ldr r0, [r4] - add r0, r9 - ldrb r0, [r0] - ldr r2, _081551B8 @ =gText_10P30P50P50P - movs r1, 0x10 - str r1, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0 - movs r3, 0x44 - bl AddTextPrinterParameterized - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x84] - cmp r9, r1 - bcc _081550DA - b _08155214 -_081550DA: - movs r5, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r9, r0 - bne _081550EA - movs r5, 0x2 -_081550EA: - mov r0, r9 - bl sub_81533C4 - adds r6, r0, 0 - ldr r0, _081551A8 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _081551B0 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - ldr r1, _081551BC @ =sUnknown_8478EB0 - mov r2, r9 - lsls r4, r2, 1 - adds r4, r1 - ldrb r3, [r4] - lsls r1, r5, 1 - adds r1, r5 - ldr r2, _081551C0 @ =sUnknown_8478E38 - adds r1, r2 - str r1, [sp] - movs r5, 0x1 - negs r5, r5 - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0 - movs r2, 0x2 - bl AddTextPrinterParameterized3 - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x88] - mov r8, r4 - ldr r1, _081551C4 @ =sUnknown_8478EA8 - mov r10, r1 -_0815512E: - mov r0, r9 - adds r1, r7, 0 - bl sub_8153404 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _081551C8 @ =0x0000270f - bl sub_815379C - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl sub_81534F0 - ldr r1, _081551C8 @ =0x0000270f - bl sub_815379C - lsls r0, 16 - lsrs r6, r0, 16 - add r0, sp, 0xC - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - movs r0, 0 - add r1, sp, 0xC - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - adds r5, r0, 0 - cmp r6, r4 - bne _081551D0 - cmp r6, 0 - beq _081551D0 - ldr r0, _081551A8 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _081551B0 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - lsls r1, r7, 1 - add r1, r10 - ldrb r2, [r1] - subs r2, r5 - lsls r2, 24 - lsrs r2, 24 - mov r1, r8 - ldrb r3, [r1] - ldr r1, _081551CC @ =sUnknown_8478E38+0x3 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0 - bl AddTextPrinterParameterized3 - b _081551FA - .align 2, 0 -_081551A8: .4byte gUnknown_203F440 -_081551AC: .4byte 0x00003008 -_081551B0: .4byte 0x00003009 -_081551B4: .4byte gText_BerryPickingResults -_081551B8: .4byte gText_10P30P50P50P -_081551BC: .4byte sUnknown_8478EB0 -_081551C0: .4byte sUnknown_8478E38 -_081551C4: .4byte sUnknown_8478EA8 -_081551C8: .4byte 0x0000270f -_081551CC: .4byte sUnknown_8478E38+0x3 -_081551D0: - ldr r0, _0815523C @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _08155240 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - lsls r1, r7, 1 - add r1, r10 - ldrb r3, [r1] - subs r3, r5 - lsls r3, 24 - lsrs r3, 24 - mov r2, r8 - ldrb r1, [r2] - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - add r2, sp, 0xC - bl AddTextPrinterParameterized -_081551FA: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _0815512E - ldr r1, [sp, 0x88] - lsls r0, r1, 24 - lsrs r0, 24 - mov r9, r0 - ldr r2, [sp, 0x84] - cmp r9, r2 - bcs _08155214 - b _081550DA -_08155214: - ldr r4, _0815523C @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155244 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - ldr r2, _08155240 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _08155248 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_0815523C: .4byte gUnknown_203F440 -_08155240: .4byte 0x00003009 -_08155244: .4byte 0x00003008 -_08155248: .4byte 0x00003014 -_0815524C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155270 - ldr r4, _08155288 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815528C @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r4] - ldr r2, _08155290 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - bl PutWindowTilemap -_08155270: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl sub_8154324 - ldr r0, _08155288 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08155294 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_08155288: .4byte gUnknown_203F440 -_0815528C: .4byte 0x00003008 -_08155290: .4byte 0x00003009 -_08155294: .4byte 0x00003014 -_08155298: - ldr r4, _081552D0 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _081552D4 @ =0x0000301c - adds r2, r0, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081552B0 - b _081556C8 -_081552B0: - ldr r0, _081552D8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081552BE - b _081556C8 -_081552BE: - movs r0, 0 - strh r0, [r2] - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_8154324 - b _08155658 - .align 2, 0 -_081552D0: .4byte gUnknown_203F440 -_081552D4: .4byte 0x0000301c -_081552D8: .4byte gMain -_081552DC: - ldr r4, _08155330 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r5, _08155334 @ =0x00003008 - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldr r1, _08155338 @ =0x00003009 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r6, _0815533C @ =gText_AnnouncingRankings - movs r2, 0x1 - negs r2, r2 - movs r0, 0 - adds r1, r6, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0xE0 - subs r0, r1 - lsrs r3, r0, 1 - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r2, r6, 0 - bl AddTextPrinterParameterized - b _08155658 - .align 2, 0 -_08155330: .4byte gUnknown_203F440 -_08155334: .4byte 0x00003008 -_08155338: .4byte 0x00003009 -_0815533C: .4byte gText_AnnouncingRankings -_08155340: - ldr r0, [sp, 0x84] - bl sub_8154D9C - ldr r4, _0815536C @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155370 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - ldr r2, _08155374 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _08155378 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_0815536C: .4byte gUnknown_203F440 -_08155370: .4byte 0x00003008 -_08155374: .4byte 0x00003009 -_08155378: .4byte 0x00003014 -_0815537C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081553A0 - ldr r4, _081553B0 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _081553B4 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r4] - ldr r2, _081553B8 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - bl PutWindowTilemap -_081553A0: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _081553B0 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _081553BC @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_081553B0: .4byte gUnknown_203F440 -_081553B4: .4byte 0x00003008 -_081553B8: .4byte 0x00003009 -_081553BC: .4byte 0x00003014 -_081553C0: - ldr r4, _08155408 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815540C @ =0x0000301c - adds r2, r0, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081553D8 - b _081556C8 -_081553D8: - ldr r0, _08155410 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081553E6 - b _081556C8 -_081553E6: - movs r0, 0 - strh r0, [r2] - movs r0, 0x5 - bl PlaySE - bl sub_81534AC - ldr r1, _08155414 @ =0x00000bb7 - cmp r0, r1 - bhi _0815541C - ldr r0, [r4] - ldr r2, _08155418 @ =0x00003014 - adds r0, r2 - movs r1, 0x7F - strb r1, [r0] - b _0815542C - .align 2, 0 -_08155408: .4byte gUnknown_203F440 -_0815540C: .4byte 0x0000301c -_08155410: .4byte gMain -_08155414: .4byte 0x00000bb7 -_08155418: .4byte 0x00003014 -_0815541C: - bl StopMapMusic - ldr r1, [r4] - ldr r0, _08155470 @ =0x00003014 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815542C: - movs r0, 0x1E - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x5 - bl FillBgTilemapBufferRect_Palette0 - ldr r5, _08155474 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r4, _08155478 @ =0x00003009 - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - ldr r6, _0815547C @ =sUnknown_8475684 - adds r0, r6, 0 - bl AddWindow - ldr r1, [r5] - adds r1, r4 - strb r0, [r1] - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r6, 0 - bl sub_8154868 - b _081556C8 - .align 2, 0 -_08155470: .4byte 0x00003014 -_08155474: .4byte gUnknown_203F440 -_08155478: .4byte 0x00003009 -_0815547C: .4byte sUnknown_8475684 -_08155480: - ldr r0, _08155558 @ =0x00000101 - bl PlayNewMapMusic - ldr r4, _0815555C @ =gUnknown_203F440 - ldr r0, [r4] - ldr r6, _08155560 @ =0x00003008 - adds r0, r6 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldr r1, _08155564 @ =0x00003009 - mov r10, r1 - add r0, r10 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r5, _08155568 @ =gText_AnnouncingPrizes - movs r2, 0x1 - negs r2, r2 - movs r0, 0 - adds r1, r5, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0xE0 - subs r0, r1 - lsrs r3, r0, 1 - ldr r0, [r4] - adds r0, r6 - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r2, 0x2 - mov r9, r2 - str r2, [sp] - movs r1, 0xFF - mov r8, r1 - str r1, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0 - adds r2, r5, 0 - bl AddTextPrinterParameterized - bl DynamicPlaceholderTextUtil_Reset - bl sub_8153390 - lsls r0, 16 - lsrs r0, 16 - add r5, sp, 0x70 - adds r1, r5, 0 - bl CopyItemName - movs r0, 0 - adds r1, r5, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, _0815556C @ =gText_FirstPlacePrize - add r0, sp, 0xC - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r0, [r4] - add r0, r10 - ldrb r0, [r0] - mov r2, r9 - str r2, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0 - add r2, sp, 0xC - movs r3, 0x8 - bl AddTextPrinterParameterized - bl sub_815372C - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - cmp r4, 0 - beq _0815559E - cmp r4, 0x3 - beq _0815559E - bl DynamicPlaceholderTextUtil_Reset - bl sub_8153390 - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl CopyItemName - movs r0, 0 - adds r1, r5, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - cmp r4, 0x2 - bne _08155574 - ldr r1, _08155570 @ =gText_CantHoldAnyMore - add r0, sp, 0xC - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - b _08155580 - .align 2, 0 -_08155558: .4byte 0x00000101 -_0815555C: .4byte gUnknown_203F440 -_08155560: .4byte 0x00003008 -_08155564: .4byte 0x00003009 -_08155568: .4byte gText_AnnouncingPrizes -_0815556C: .4byte gText_FirstPlacePrize -_08155570: .4byte gText_CantHoldAnyMore -_08155574: - cmp r6, 0x1 - bne _08155580 - ldr r1, _081555C4 @ =gText_FilledStorageSpace - add r0, sp, 0xC - bl DynamicPlaceholderTextUtil_ExpandPlaceholders -_08155580: - ldr r0, _081555C8 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _081555CC @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x28 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - add r2, sp, 0xC - movs r3, 0x8 - bl AddTextPrinterParameterized -_0815559E: - ldr r4, _081555C8 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _081555D0 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - ldr r2, _081555CC @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _081555D4 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_081555C4: .4byte gText_FilledStorageSpace -_081555C8: .4byte gUnknown_203F440 -_081555CC: .4byte 0x00003009 -_081555D0: .4byte 0x00003008 -_081555D4: .4byte 0x00003014 -_081555D8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081555FC - ldr r4, _08155618 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815561C @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r4] - ldr r2, _08155620 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - bl PutWindowTilemap -_081555FC: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08155624 @ =0x00000137 - movs r1, 0x14 - movs r2, 0xA - bl FadeOutAndFadeInNewMapMusic - ldr r0, _08155618 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08155628 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_08155618: .4byte gUnknown_203F440 -_0815561C: .4byte 0x00003008 -_08155620: .4byte 0x00003009 -_08155624: .4byte 0x00000137 -_08155628: .4byte 0x00003014 -_0815562C: - ldr r4, _08155668 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815566C @ =0x0000301c - adds r2, r0, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bls _081556C8 - ldr r0, _08155670 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081556C8 - movs r0, 0 - strh r0, [r2] - movs r0, 0x5 - bl PlaySE -_08155658: - ldr r1, [r4] -_0815565A: - ldr r2, _08155674 @ =0x00003014 - adds r1, r2 -_0815565E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081556C8 - .align 2, 0 -_08155668: .4byte gUnknown_203F440 -_0815566C: .4byte 0x0000301c -_08155670: .4byte gMain -_08155674: .4byte 0x00003014 -_08155678: - ldr r5, _081556D8 @ =0x00003008 - adds r0, r1, r5 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r6] - ldr r4, _081556DC @ =0x00003009 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0] - bl RemoveWindow - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] -_081556C8: - add sp, 0x8C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081556D8: .4byte 0x00003008 -_081556DC: .4byte 0x00003009 - thumb_func_end sub_8154F80 - - thumb_func_start sub_81556E0 -sub_81556E0: @ 81556E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r1, _08155708 @ =gUnknown_203F440 - ldr r2, [r1] - ldr r0, _0815570C @ =0x00003014 - mov r9, r0 - adds r0, r2, r0 - ldrb r7, [r0] - mov r10, r1 - cmp r7, 0x1 - beq _0815579C - cmp r7, 0x1 - bgt _08155710 - cmp r7, 0 - beq _0815571E - b _081559EC - .align 2, 0 -_08155708: .4byte gUnknown_203F440 -_0815570C: .4byte 0x00003014 -_08155710: - cmp r7, 0x2 - bne _08155716 - b _08155868 -_08155716: - cmp r7, 0x3 - bne _0815571C - b _081558A4 -_0815571C: - b _081559EC -_0815571E: - ldr r5, _08155788 @ =sUnknown_847568C - adds r0, r5, 0 - bl AddWindow - mov r2, r10 - ldr r1, [r2] - ldr r3, _0815578C @ =0x00003008 - adds r1, r3 - strb r0, [r1] - movs r0, 0x8 - adds r0, r5 - mov r8, r0 - bl AddWindow - mov r2, r10 - ldr r1, [r2] - ldr r4, _08155790 @ =0x00003009 - adds r1, r4 - strb r0, [r1] - ldr r0, [r2] - ldr r3, _0815578C @ =0x00003008 - adds r0, r3 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r1, r10 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r5, 0 - bl sub_8154868 - mov r0, r8 - bl sub_8154768 - mov r2, r10 - ldr r1, [r2] - add r1, r9 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - ldr r3, _08155794 @ =0x00003020 - adds r0, r3 - strb r7, [r0] - ldr r0, [r2] - ldr r1, _08155798 @ =0x00003024 - adds r0, r1 - strb r7, [r0] - b _08155A58 - .align 2, 0 -_08155788: .4byte sUnknown_847568C -_0815578C: .4byte 0x00003008 -_08155790: .4byte 0x00003009 -_08155794: .4byte 0x00003020 -_08155798: .4byte 0x00003024 -_0815579C: - ldr r3, _0815584C @ =0x00003008 - mov r8, r3 - adds r0, r2, r3 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - mov r1, r10 - ldr r0, [r1] - ldr r7, _08155850 @ =0x00003009 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - mov r2, r10 - ldr r0, [r2] - add r0, r8 - ldrb r0, [r0] - ldr r2, _08155854 @ =gText_WantToPlayAgain - movs r1, 0x6 - str r1, [sp] - movs r5, 0xFF - str r5, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - mov r3, r10 - ldr r0, [r3] - adds r0, r7 - ldrb r0, [r0] - ldr r2, _08155858 @ =gText_Yes - movs r1, 0x2 - mov r9, r1 - str r1, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r2, r10 - ldr r0, [r2] - adds r0, r7 - ldrb r0, [r0] - ldr r2, _0815585C @ =gText_No - movs r1, 0x10 - str r1, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r3, r10 - ldr r0, [r3] - adds r0, r7 - ldrb r0, [r0] - ldr r2, _08155860 @ =gFameCheckerText_ListMenuCursor - mov r1, r9 - str r1, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - mov r2, r10 - ldr r0, [r2] - add r0, r8 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - mov r3, r10 - ldr r0, [r3] - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - mov r0, r10 - ldr r1, [r0] - ldr r2, _08155864 @ =0x00003014 - adds r1, r2 - b _081559DA - .align 2, 0 -_0815584C: .4byte 0x00003008 -_08155850: .4byte 0x00003009 -_08155854: .4byte gText_WantToPlayAgain -_08155858: .4byte gText_Yes -_0815585C: .4byte gText_No -_08155860: .4byte gFameCheckerText_ListMenuCursor -_08155864: .4byte 0x00003014 -_08155868: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0815588E - mov r3, r10 - ldr r0, [r3] - ldr r1, _0815589C @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - mov r2, r10 - ldr r0, [r2] - ldr r3, _081558A0 @ =0x00003009 - adds r0, r3 - ldrb r0, [r0] - bl PutWindowTilemap -_0815588E: - movs r0, 0 - bl CopyBgTilemapBufferToVram - mov r0, r10 - ldr r1, [r0] - add r1, r9 - b _081559DA - .align 2, 0 -_0815589C: .4byte 0x00003008 -_081558A0: .4byte 0x00003009 -_081558A4: - ldr r1, _0815590C @ =0x00003020 - adds r0, r2, r1 - ldrb r7, [r0] - cmp r7, 0 - bne _081558B0 - movs r7, 0x1 -_081558B0: - ldr r4, _08155910 @ =0x00003009 - adds r0, r2, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - mov r2, r10 - ldr r0, [r2] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155914 @ =gText_Yes - movs r3, 0x2 - mov r8, r3 - str r3, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r2, r10 - ldr r0, [r2] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155918 @ =gText_No - movs r6, 0x10 - str r6, [sp] - movs r3, 0xFF - str r3, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r1, r10 - ldr r0, [r1] - adds r0, r4 - ldrb r1, [r0] - ldr r2, _0815591C @ =gFameCheckerText_ListMenuCursor - cmp r7, 0x1 - bne _08155920 - mov r3, r8 - str r3, [sp] - b _08155922 - .align 2, 0 -_0815590C: .4byte 0x00003020 -_08155910: .4byte 0x00003009 -_08155914: .4byte gText_Yes -_08155918: .4byte gText_No -_0815591C: .4byte gFameCheckerText_ListMenuCursor -_08155920: - str r6, [sp] -_08155922: - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r4, _08155970 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155974 @ =0x00003009 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _08155978 @ =gMain - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08155984 - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - ldr r2, _0815597C @ =0x00003020 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _08155966 - strb r5, [r1] -_08155966: - ldr r1, [r4] - ldr r3, _08155980 @ =0x00003014 - adds r1, r3 - b _081559DA - .align 2, 0 -_08155970: .4byte gUnknown_203F440 -_08155974: .4byte 0x00003009 -_08155978: .4byte gMain -_0815597C: .4byte 0x00003020 -_08155980: .4byte 0x00003014 -_08155984: - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _081559BC - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - ldr r2, _081559A8 @ =0x00003020 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x1 - beq _081559B2 - cmp r0, 0x1 - bgt _081559AC - cmp r0, 0 - beq _081559B2 - b _08155A58 - .align 2, 0 -_081559A8: .4byte 0x00003020 -_081559AC: - cmp r0, 0x2 - beq _081559B8 - b _08155A58 -_081559B2: - movs r0, 0x2 - strb r0, [r1] - b _08155A58 -_081559B8: - strb r5, [r1] - b _08155A58 -_081559BC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08155A58 - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - ldr r3, _081559E4 @ =0x00003020 - adds r0, r3 - movs r1, 0x2 - strb r1, [r0] - ldr r1, [r4] - ldr r0, _081559E8 @ =0x00003014 - adds r1, r0 -_081559DA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155A58 - .align 2, 0 -_081559E4: .4byte 0x00003020 -_081559E8: .4byte 0x00003014 -_081559EC: - mov r1, r10 - ldr r0, [r1] - ldr r2, _08155A68 @ =0x00003020 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _08155A6C @ =0x00003024 - adds r0, r3 - strb r1, [r0] - mov r1, r10 - ldr r0, [r1] - ldr r5, _08155A70 @ =0x00003008 - adds r0, r5 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r2, r10 - ldr r0, [r2] - ldr r4, _08155A74 @ =0x00003009 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r3, r10 - ldr r0, [r3] - adds r0, r5 - ldrb r0, [r0] - bl RemoveWindow - mov r1, r10 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - mov r2, r10 - ldr r0, [r2] - movs r3, 0xC0 - lsls r3, 6 - adds r0, r3 - movs r1, 0x1 - str r1, [r0] -_08155A58: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08155A68: .4byte 0x00003020 -_08155A6C: .4byte 0x00003024 -_08155A70: .4byte 0x00003008 -_08155A74: .4byte 0x00003009 - thumb_func_end sub_81556E0 - - thumb_func_start sub_8155A78 -sub_8155A78: @ 8155A78 - push {r4-r6,lr} - sub sp, 0x10 - ldr r5, _08155A94 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r6, _08155A98 @ =0x00003014 - adds r0, r6 - ldrb r4, [r0] - cmp r4, 0x1 - beq _08155AD0 - cmp r4, 0x1 - bgt _08155A9C - cmp r4, 0 - beq _08155AA6 - b _08155B18 - .align 2, 0 -_08155A94: .4byte gUnknown_203F440 -_08155A98: .4byte 0x00003014 -_08155A9C: - cmp r4, 0x2 - beq _08155AE4 - cmp r4, 0x3 - beq _08155AFC - b _08155B18 -_08155AA6: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldr r2, _08155ACC @ =gText_SavingDontTurnOffThePower2 - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized2 - b _08155B08 - .align 2, 0 -_08155ACC: .4byte gText_SavingDontTurnOffThePower2 -_08155AD0: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, [r5] - ldr r0, _08155AE0 @ =0x00003014 - adds r1, r0 - b _08155B0C - .align 2, 0 -_08155AE0: .4byte 0x00003014 -_08155AE4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155B40 - ldr r0, _08155AF8 @ =sub_80DA634 - movs r1, 0 - bl CreateTask - b _08155B08 - .align 2, 0 -_08155AF8: .4byte sub_80DA634 -_08155AFC: - ldr r0, _08155B14 @ =sub_80DA634 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08155B40 -_08155B08: - ldr r1, [r5] - adds r1, r6 -_08155B0C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155B40 - .align 2, 0 -_08155B14: .4byte sub_80DA634 -_08155B18: - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08155B48 @ =gUnknown_203F440 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] -_08155B40: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08155B48: .4byte gUnknown_203F440 - thumb_func_end sub_8155A78 - - thumb_func_start sub_8155B4C -sub_8155B4C: @ 8155B4C - push {r4-r6,lr} - sub sp, 0xC - ldr r1, _08155B6C @ =gUnknown_203F440 - ldr r2, [r1] - ldr r6, _08155B70 @ =0x00003014 - adds r0, r2, r6 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0x1 - beq _08155BA4 - cmp r0, 0x1 - bgt _08155B74 - cmp r0, 0 - beq _08155B7A - b _08155C18 - .align 2, 0 -_08155B6C: .4byte gUnknown_203F440 -_08155B70: .4byte 0x00003014 -_08155B74: - cmp r0, 0x2 - beq _08155BEC - b _08155C18 -_08155B7A: - ldr r4, _08155B9C @ =sUnknown_84756A4 - adds r0, r4, 0 - bl AddWindow - ldr r1, [r5] - ldr r2, _08155BA0 @ =0x00003008 - adds r1, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, r2 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r4, 0 - bl sub_8154868 - b _08155C08 - .align 2, 0 -_08155B9C: .4byte sUnknown_84756A4 -_08155BA0: .4byte 0x00003008 -_08155BA4: - ldr r4, _08155BE0 @ =0x00003008 - adds r0, r2, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155BE4 @ =gText_CommunicationStandby3 - movs r1, 0x6 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r5] - ldr r0, _08155BE8 @ =0x00003014 - adds r1, r0 - b _08155C0C - .align 2, 0 -_08155BE0: .4byte 0x00003008 -_08155BE4: .4byte gText_CommunicationStandby3 -_08155BE8: .4byte 0x00003014 -_08155BEC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155C02 - ldr r0, [r5] - ldr r1, _08155C14 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap -_08155C02: - movs r0, 0 - bl CopyBgTilemapBufferToVram -_08155C08: - ldr r1, [r5] - adds r1, r6 -_08155C0C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155C24 - .align 2, 0 -_08155C14: .4byte 0x00003008 -_08155C18: - ldr r0, [r5] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] -_08155C24: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8155B4C - - thumb_func_start sub_8155C2C -sub_8155C2C: @ 8155C2C - push {r4,r5,lr} - sub sp, 0x8 - ldr r5, _08155C78 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r4, _08155C7C @ =0x00003008 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, [r5] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08155C78: .4byte gUnknown_203F440 -_08155C7C: .4byte 0x00003008 - thumb_func_end sub_8155C2C - - thumb_func_start sub_8155C80 -sub_8155C80: @ 8155C80 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, _08155CA0 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r7, _08155CA4 @ =0x00003014 - adds r2, r1, r7 - ldrb r5, [r2] - adds r6, r0, 0 - cmp r5, 0x1 - beq _08155D08 - cmp r5, 0x1 - bgt _08155CA8 - cmp r5, 0 - beq _08155CB2 - b _08155D9C - .align 2, 0 -_08155CA0: .4byte gUnknown_203F440 -_08155CA4: .4byte 0x00003014 -_08155CA8: - cmp r5, 0x2 - beq _08155D50 - cmp r5, 0x3 - beq _08155D7C - b _08155D9C -_08155CB2: - ldr r4, _08155CF8 @ =sUnknown_847569C - adds r0, r4, 0 - bl AddWindow - ldr r1, [r6] - ldr r2, _08155CFC @ =0x00003008 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, r2 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r4, 0 - bl sub_8154868 - ldr r1, [r6] - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - ldr r2, _08155D00 @ =0x0000301c - adds r1, r0, r2 - movs r2, 0 - strh r5, [r1] - ldr r1, _08155D04 @ =0x00003020 - adds r0, r1 - strb r2, [r0] - ldr r0, [r6] - adds r1, 0x4 - adds r0, r1 - strb r2, [r0] - b _08155DE2 - .align 2, 0 -_08155CF8: .4byte sUnknown_847569C -_08155CFC: .4byte 0x00003008 -_08155D00: .4byte 0x0000301c -_08155D04: .4byte 0x00003020 -_08155D08: - ldr r4, _08155D44 @ =0x00003008 - adds r0, r1, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155D48 @ =gText_SomeoneDroppedOut - movs r1, 0x6 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r6] - ldr r2, _08155D4C @ =0x00003014 - adds r1, r2 - b _08155D70 - .align 2, 0 -_08155D44: .4byte 0x00003008 -_08155D48: .4byte gText_SomeoneDroppedOut -_08155D4C: .4byte 0x00003014 -_08155D50: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155D66 - ldr r0, [r6] - ldr r1, _08155D78 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap -_08155D66: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r6] - adds r1, r7 -_08155D70: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155DE2 - .align 2, 0 -_08155D78: .4byte 0x00003008 -_08155D7C: - ldr r0, _08155D98 @ =0x0000301c - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x77 - bls _08155DE2 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _08155DE2 - .align 2, 0 -_08155D98: .4byte 0x0000301c -_08155D9C: - ldr r0, [r6] - ldr r1, _08155DEC @ =0x00003024 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - ldr r0, [r6] - ldr r4, _08155DF0 @ =0x00003008 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - movs r2, 0xC0 - lsls r2, 6 - adds r0, r2 - movs r1, 0x1 - str r1, [r0] -_08155DE2: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08155DEC: .4byte 0x00003024 -_08155DF0: .4byte 0x00003008 - thumb_func_end sub_8155C80 - - thumb_func_start unused_0 -unused_0: @ 8155DF4 - push {r4,lr} - ldr r4, _08155E18 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155E1C @ =0x00003004 - adds r0, r1 - ldrb r0, [r0] - bl DestroyTask - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08155E18: .4byte gUnknown_203F440 -_08155E1C: .4byte 0x00003004 - thumb_func_end unused_0 - - thumb_func_start nullsub_98 -nullsub_98: @ 8155E20 - bx lr - thumb_func_end nullsub_98 - - thumb_func_start sub_8155E24 -sub_8155E24: @ 8155E24 - push {r4,lr} - ldr r2, _08155E48 @ =gUnknown_203F440 - ldr r1, [r2] - ldr r3, _08155E4C @ =0x00003014 - adds r1, r3 - movs r3, 0 - strb r3, [r1] - ldr r1, [r2] - movs r4, 0xC0 - lsls r4, 6 - adds r2, r1, r4 - str r3, [r2] - ldr r2, _08155E50 @ =0x00003028 - adds r1, r2 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08155E48: .4byte gUnknown_203F440 -_08155E4C: .4byte 0x00003014 -_08155E50: .4byte 0x00003028 - thumb_func_end sub_8155E24 - - thumb_func_start sub_8155E54 -sub_8155E54: @ 8155E54 - ldr r0, _08155E60 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r1, _08155E64 @ =0x00003028 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08155E60: .4byte gUnknown_203F440 -_08155E64: .4byte 0x00003028 - thumb_func_end sub_8155E54 - - thumb_func_start sub_8155E68 -sub_8155E68: @ 8155E68 - push {lr} - ldr r0, _08155E80 @ =gUnknown_203F440 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - beq _08155E84 - movs r0, 0x1 - b _08155E86 - .align 2, 0 -_08155E80: .4byte gUnknown_203F440 -_08155E84: - movs r0, 0 -_08155E86: - pop {r1} - bx r1 - thumb_func_end sub_8155E68 - - thumb_func_start sub_8155E8C -sub_8155E8C: @ 8155E8C - ldr r0, _08155E98 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r1, _08155E9C @ =0x00003024 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08155E98: .4byte gUnknown_203F440 -_08155E9C: .4byte 0x00003024 - thumb_func_end sub_8155E8C - - thumb_func_start sub_8155EA0 -sub_8155EA0: @ 8155EA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _08155FD0 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _08155FD4 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08155EC6: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _08155EC6 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _08155FD0 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08155FD8 @ =sUnknown_847565C - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl InitStandardTextBoxWindows - bl ResetBg0 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, _08155FDC @ =gUnknown_203F440 - ldr r1, [r4] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 6 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08155FD0: .4byte 0x040000d4 -_08155FD4: .4byte 0x81000800 -_08155FD8: .4byte sUnknown_847565C -_08155FDC: .4byte gUnknown_203F440 - thumb_func_end sub_8155EA0 - - thumb_func_start sub_8155FE0 -sub_8155FE0: @ 8155FE0 - push {lr} - sub sp, 0x4 - ldr r0, _08155FFC @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _08156000 @ =0x00003018 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x5 - bhi _0815607A - lsls r0, 2 - ldr r1, _08156004 @ =_08156008 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08155FFC: .4byte gUnknown_203F440 -_08156000: .4byte 0x00003018 -_08156004: .4byte _08156008 - .align 2, 0 -_08156008: - .4byte _08156020 - .4byte _08156030 - .4byte _08156036 - .4byte _08156044 - .4byte _0815605C - .4byte _0815606A -_08156020: - ldr r0, _0815602C @ =sDodrioBerryBgPal1 - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - b _08156082 - .align 2, 0 -_0815602C: .4byte sDodrioBerryBgPal1 -_08156030: - bl ResetTempTileDataBuffers - b _08156082 -_08156036: - ldr r1, _08156040 @ =sDodrioBerryBgGfx1 - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - b _0815604C - .align 2, 0 -_08156040: .4byte sDodrioBerryBgGfx1 -_08156044: - ldr r1, _08156058 @ =sDodrioBerryBgGfx2 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 -_0815604C: - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _08156082 - .align 2, 0 -_08156058: .4byte sDodrioBerryBgGfx2 -_0815605C: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08156082 - b _08156090 -_0815606A: - movs r0, 0x3 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - b _08156082 -_0815607A: - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _08156092 -_08156082: - ldr r0, _08156098 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _0815609C @ =0x00003018 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08156090: - movs r0, 0 -_08156092: - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_08156098: .4byte gUnknown_203F440 -_0815609C: .4byte 0x00003018 - thumb_func_end sub_8155FE0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/dodrio_berry_picking_2.s b/asm/dodrio_berry_picking_2.s deleted file mode 100644 index 792dc4b0f..000000000 --- a/asm/dodrio_berry_picking_2.s +++ /dev/null @@ -1,734 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815A61C -sub_815A61C: @ 815A61C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x48] - lsls r4, 24 - str r4, [sp, 0x1C] - movs r4, 0x14 - adds r4, r0 - mov r9, r4 - mov r5, sp - movs r4, 0x2 - strb r4, [r5] - mov r10, sp - mov r5, r9 - ldrb r4, [r5, 0xB] - movs r7, 0xF - adds r5, r7, 0 - ands r5, r4 - mov r6, r10 - ldrb r6, [r6, 0x1] - mov r8, r6 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x1] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0xC] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x1] - ldrb r5, [r6, 0xD] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x2] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x2] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0xE] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x2] - ldrb r5, [r6, 0xF] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x3] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x3] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0x10] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x3] - ldrb r5, [r6, 0x11] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x4] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x4] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0x12] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x4] - ldrb r4, [r6, 0x13] - movs r6, 0xF - ands r4, r6 - mov r6, r8 - ldrb r5, [r6, 0x5] - movs r6, 0x10 - negs r6, r6 - ands r6, r5 - orrs r6, r4 - str r6, [sp, 0xC] - mov r4, r8 - strb r6, [r4, 0x5] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x14] - lsls r4, 4 - ldr r6, [sp, 0xC] - ands r6, r7 - orrs r6, r4 - strb r6, [r5, 0x5] - mov r7, sp - movs r4, 0x3 - mov r8, r4 - ldrb r0, [r0, 0x14] - mov r5, r8 - ands r0, r5 - ldrb r5, [r7, 0x6] - movs r6, 0x4 - negs r6, r6 - mov r10, r6 - mov r4, r10 - ands r4, r5 - orrs r4, r0 - strb r4, [r7, 0x6] - mov r5, r9 - ldrb r0, [r5, 0x1] - mov r6, r8 - ands r0, r6 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - strb r5, [r7, 0x6] - mov r0, r9 - ldrb r4, [r0, 0x2] - ands r4, r6 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - strb r0, [r7, 0x6] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x3] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x6] - mov r4, r9 - ldrb r0, [r4, 0x4] - mov r5, r8 - ands r0, r5 - ldrb r5, [r7, 0x7] - mov r4, r10 - ands r4, r5 - orrs r4, r0 - strb r4, [r7, 0x7] - mov r6, r9 - ldrb r0, [r6, 0x5] - mov r5, r8 - ands r0, r5 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - strb r5, [r7, 0x7] - ldrb r4, [r6, 0x6] - mov r6, r8 - ands r4, r6 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - strb r0, [r7, 0x7] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x7] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x7] - mov r8, sp - mov r0, r9 - ldrb r4, [r0, 0x8] - movs r7, 0x3 - adds r0, r7, 0 - ands r0, r4 - mov r4, r8 - ldrb r5, [r4, 0x8] - mov r4, r10 - ands r4, r5 - orrs r4, r0 - mov r5, r8 - strb r4, [r5, 0x8] - mov r6, r9 - ldrb r5, [r6, 0x9] - adds r0, r7, 0 - ands r0, r5 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - mov r0, r8 - strb r5, [r0, 0x8] - ldrb r0, [r1] - adds r4, r7, 0 - ands r4, r0 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - mov r4, r8 - strb r0, [r4, 0x8] - mov r5, sp - ldrb r4, [r2] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x8] - ldrb r4, [r3] - adds r0, r7, 0 - ands r0, r4 - ldrb r4, [r5, 0x9] - mov r6, r10 - ands r6, r4 - orrs r6, r0 - mov r10, r6 - strb r6, [r5, 0x9] - ldr r0, [sp, 0x40] - ldrb r4, [r0] - adds r0, r7, 0 - ands r0, r4 - lsls r0, 2 - movs r4, 0xD - negs r4, r4 - ands r6, r4 - orrs r6, r0 - str r6, [sp, 0x10] - strb r6, [r5, 0x9] - mov r4, sp - ldr r5, [sp, 0x44] - ldrb r0, [r5] - adds r6, r7, 0 - ands r6, r0 - lsls r0, r6, 4 - subs r7, 0x34 - ldr r5, [sp, 0x10] - ands r7, r5 - orrs r7, r0 - strb r7, [r4, 0x9] - mov r5, sp - ldrb r0, [r1, 0x4] - movs r6, 0x1 - mov r12, r6 - mov r4, r12 - ands r4, r0 - lsls r4, 6 - movs r0, 0x41 - negs r0, r0 - mov r10, r0 - ands r0, r7 - orrs r0, r4 - strb r0, [r5, 0x9] - ldrb r4, [r2, 0x4] - lsls r4, 7 - movs r5, 0x7F - ands r0, r5 - orrs r0, r4 - mov r4, r8 - strb r0, [r4, 0x9] - ldrb r4, [r3, 0x4] - mov r0, r12 - ands r0, r4 - mov r5, r8 - ldrb r4, [r5, 0xA] - movs r7, 0x2 - negs r7, r7 - adds r5, r7, 0 - ands r5, r4 - orrs r5, r0 - mov r6, r8 - strb r5, [r6, 0xA] - mov r9, sp - ldr r4, [sp, 0x40] - ldrb r0, [r4, 0x4] - mov r4, r12 - ands r4, r0 - lsls r4, 1 - movs r6, 0x3 - negs r6, r6 - mov r8, r6 - mov r0, r8 - ands r0, r5 - orrs r0, r4 - mov r4, r9 - strb r0, [r4, 0xA] - ldr r6, [sp, 0x44] - ldrb r5, [r6, 0x4] - mov r4, r12 - ands r4, r5 - lsls r4, 2 - movs r5, 0x5 - negs r5, r5 - ands r0, r5 - orrs r0, r4 - mov r4, r9 - strb r0, [r4, 0xA] - mov r4, sp - ldrb r1, [r1, 0x8] - mov r0, r12 - ands r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0xB] - ands r5, r1 - orrs r5, r0 - strb r5, [r4, 0xB] - ldrb r1, [r2, 0x8] - mov r0, r12 - ands r0, r1 - lsls r0, 3 - movs r1, 0x9 - negs r1, r1 - ands r1, r5 - orrs r1, r0 - strb r1, [r4, 0xB] - ldrb r2, [r3, 0x8] - mov r0, r12 - ands r0, r2 - lsls r0, 4 - movs r2, 0x11 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0xB] - mov r3, sp - ldr r5, [sp, 0x40] - ldrb r0, [r5, 0x8] - mov r1, r12 - ands r1, r0 - lsls r1, 5 - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xB] - mov r2, sp - ldrb r1, [r6, 0x8] - mov r6, r12 - ands r6, r1 - lsls r1, r6, 6 - mov r3, r10 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0xB] - ldr r4, [sp, 0x1C] - lsrs r3, r4, 21 - ldrb r1, [r2, 0xA] - movs r0, 0x7 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0xA] - mov r1, sp - ldr r5, [sp, 0x4C] - movs r6, 0x1 - ands r5, r6 - lsls r2, r5, 1 - ldrb r0, [r1, 0xB] - mov r3, r8 - ands r3, r0 - orrs r3, r2 - mov r8, r3 - strb r3, [r1, 0xB] - mov r0, sp - ldr r4, [sp, 0x50] - ands r4, r6 - mov r5, r8 - ands r5, r7 - orrs r5, r4 - strb r5, [r0, 0xB] - bl sub_80F9E2C - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815A61C - - thumb_func_start sub_815A950 -sub_815A950: @ 815A950 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r0, [sp, 0x1C] - mov r12, r0 - ldr r1, [sp, 0x20] - mov r8, r1 - ldr r0, [sp, 0x24] - mov r9, r0 - adds r2, r7, 0 - adds r2, 0x14 - ldr r4, _0815A98C @ =gRecvCmds - ldrh r0, [r4] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815A988 - adds r3, r4, 0x2 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _0815A990 -_0815A988: - movs r0, 0 - b _0815AACA - .align 2, 0 -_0815A98C: .4byte gRecvCmds -_0815A990: - ldrb r0, [r3, 0x1] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xB] - ldrb r0, [r3, 0x1] - lsrs r0, 4 - strb r0, [r2, 0xC] - ldrb r0, [r3, 0x2] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xD] - ldrb r0, [r3, 0x2] - lsrs r0, 4 - strb r0, [r2, 0xE] - ldrb r0, [r3, 0x3] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xF] - ldrb r0, [r3, 0x3] - lsrs r0, 4 - strb r0, [r2, 0x10] - ldrb r0, [r3, 0x4] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x11] - ldrb r0, [r3, 0x4] - lsrs r0, 4 - strb r0, [r2, 0x12] - ldrb r0, [r3, 0x5] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x13] - ldrb r0, [r3, 0x5] - lsrs r0, 4 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x15] - ldrb r0, [r3, 0x6] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r7, 0x14] - ldrb r0, [r3, 0x6] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x1] - ldrb r0, [r3, 0x6] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r2, 0x2] - ldrb r0, [r3, 0x6] - lsrs r0, 6 - strb r0, [r2, 0x3] - ldrb r0, [r3, 0x7] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0x4] - ldrb r0, [r3, 0x7] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x5] - ldrb r0, [r3, 0x7] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r2, 0x6] - ldrb r0, [r3, 0x7] - lsrs r0, 6 - strb r0, [r2, 0x7] - ldrb r0, [r3, 0x8] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0x8] - ldrb r0, [r3, 0x8] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x9] - ldrb r0, [r3, 0x6] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0xA] - ldrb r0, [r3, 0x8] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r5] - ldrb r0, [r3, 0x9] - lsls r0, 25 - lsrs r0, 31 - strb r0, [r5, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 29 - lsrs r0, 31 - strb r0, [r5, 0x8] - ldrb r0, [r3, 0x8] - lsrs r0, 6 - strb r0, [r6] - ldrb r0, [r3, 0x9] - lsrs r0, 7 - strb r0, [r6, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 28 - lsrs r0, 31 - strb r0, [r6, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 30 - lsrs r0, 30 - mov r1, r12 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 31 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 27 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 28 - lsrs r0, 30 - mov r1, r8 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 30 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 26 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 26 - lsrs r0, 30 - mov r1, r9 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 29 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 25 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0xA] - lsrs r0, 3 - ldr r1, [sp, 0x28] - strb r0, [r1] - ldrb r0, [r3, 0xB] - lsls r0, 30 - lsrs r0, 31 - ldr r1, [sp, 0x2C] - str r0, [r1] - ldrb r0, [r3, 0xB] - lsls r0, 31 - lsrs r0, 31 - ldr r1, [sp, 0x30] - str r0, [r1] - movs r0, 0x1 -_0815AACA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_815A950 - - thumb_func_start sub_815AAD8 -sub_815AAD8: @ 815AAD8 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0815AB00 @ =0xffffff00 - ldr r1, [sp] - ands r1, r3 - movs r2, 0x3 - orrs r1, r2 - str r1, [sp] - ldr r1, [sp, 0x4] - ands r1, r3 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0815AB00: .4byte 0xffffff00 - thumb_func_end sub_815AAD8 - - thumb_func_start sub_815AB04 -sub_815AB04: @ 815AB04 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldr r3, _0815AB2C @ =gRecvCmds - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815AB28 - lsls r0, r2, 4 - adds r1, r3, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x3 - beq _0815AB30 -_0815AB28: - movs r0, 0 - b _0815AB36 - .align 2, 0 -_0815AB2C: .4byte gRecvCmds -_0815AB30: - ldrb r0, [r1, 0x4] - strb r0, [r4] - movs r0, 0x1 -_0815AB36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815AB04 - - thumb_func_start sub_815AB3C -sub_815AB3C: @ 815AB3C - push {lr} - sub sp, 0x8 - ldr r2, _0815AB5C @ =0xffffff00 - ldr r1, [sp] - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - str r1, [sp] - str r0, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0815AB5C: .4byte 0xffffff00 - thumb_func_end sub_815AB3C - - thumb_func_start sub_815AB60 -sub_815AB60: @ 815AB60 - push {lr} - adds r2, r0, 0 - ldr r3, _0815AB88 @ =gRecvCmds - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815AB82 - lsls r0, r2, 4 - adds r1, r3, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x4 - beq _0815AB8C -_0815AB82: - movs r0, 0 - b _0815AB8E - .align 2, 0 -_0815AB88: .4byte gRecvCmds -_0815AB8C: - ldr r0, [r1, 0x4] -_0815AB8E: - pop {r1} - bx r1 - thumb_func_end sub_815AB60 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/easy_chat_2.s b/asm/easy_chat_2.s deleted file mode 100644 index c88c5deeb..000000000 --- a/asm/easy_chat_2.s +++ /dev/null @@ -1,7654 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start DoEasyChatScreen -DoEasyChatScreen: @ 80FEBAC - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - bl ResetTasks - ldr r0, _080FEC00 @ =sub_80FEC54 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080FEC04 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r6, 0 - bl SetWordTaskArg - adds r0, r4, 0 - movs r1, 0x4 - mov r2, r8 - bl SetWordTaskArg - ldr r0, _080FEC08 @ =sub_80FEC0C - bl SetMainCallback2 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FEC00: .4byte sub_80FEC54 -_080FEC04: .4byte gTasks -_080FEC08: .4byte sub_80FEC0C - thumb_func_end DoEasyChatScreen - - thumb_func_start sub_80FEC0C -sub_80FEC0C: @ 80FEC0C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80FEC0C - - thumb_func_start sub_80FEC24 -sub_80FEC24: @ 80FEC24 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_80FEC24 - - thumb_func_start sub_80FEC38 -sub_80FEC38: @ 80FEC38 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080FEC50 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - str r1, [r2] - movs r0, 0 - strh r0, [r2, 0x8] - bx lr - .align 2, 0 -_080FEC50: .4byte gTasks - thumb_func_end sub_80FEC38 - - thumb_func_start sub_80FEC54 -sub_80FEC54: @ 80FEC54 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsUpdateLinkStateCBActive - cmp r0, 0 - bne _080FEC70 -_080FEC62: - adds r0, r4, 0 - bl sub_80FED80 - lsls r0, 24 - cmp r0, 0 - bne _080FEC62 - b _080FEC7E -_080FEC70: - adds r0, r4, 0 - bl sub_80FED80 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FEC86 -_080FEC7E: - ldr r1, _080FEC8C @ =sub_80FEC90 - adds r0, r4, 0 - bl sub_80FEC38 -_080FEC86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FEC8C: .4byte sub_80FEC90 - thumb_func_end sub_80FEC54 - - thumb_func_start sub_80FEC90 -sub_80FEC90: @ 80FEC90 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080FECB4 @ =gTasks+0x8 - adds r6, r0, r1 - movs r0, 0 - ldrsh r5, [r6, r0] - cmp r5, 0x1 - beq _080FECEC - cmp r5, 0x1 - bgt _080FECB8 - cmp r5, 0 - beq _080FECC2 - b _080FED6E - .align 2, 0 -_080FECB4: .4byte gTasks+0x8 -_080FECB8: - cmp r5, 0x2 - beq _080FED28 - cmp r5, 0x3 - beq _080FED38 - b _080FED6E -_080FECC2: - ldr r0, _080FECE8 @ =sub_80FEC24 - bl SetVBlankCallback - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080FED20 - .align 2, 0 -_080FECE8: .4byte sub_80FEC24 -_080FECEC: - bl sub_80FF028 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x17 - bne _080FED10 - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x3 - strh r0, [r6] - b _080FED6E -_080FED10: - cmp r4, 0 - beq _080FED6E - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_8100134 -_080FED20: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _080FED6E -_080FED28: - bl sub_810014C - lsls r0, 24 - cmp r0, 0 - bne _080FED6E - movs r0, 0x1 - strh r0, [r6] - b _080FED6E -_080FED38: - ldr r0, _080FED78 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080FED6E - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0xE - bne _080FED50 - bl sub_80FEF4C -_080FED50: - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080FED62 - ldr r0, _080FED7C @ =0x0000082d - bl FlagSet - bl sub_80FEF2C -_080FED62: - adds r0, r4, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_80FEE24 -_080FED6E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FED78: .4byte gPaletteFade -_080FED7C: .4byte 0x0000082d - thumb_func_end sub_80FEC90 - - thumb_func_start sub_80FED80 -sub_80FED80: @ 80FED80 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080FEDA4 @ =gTasks+0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _080FEE12 - lsls r0, 2 - ldr r1, _080FEDA8 @ =_080FEDAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FEDA4: .4byte gTasks+0x8 -_080FEDA8: .4byte _080FEDAC - .align 2, 0 -_080FEDAC: - .4byte _080FEDC0 - .4byte _080FEDD4 - .4byte _080FEDDA - .4byte _080FEDEE - .4byte _080FEE06 -_080FEDC0: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetPaletteFade - b _080FEE16 -_080FEDD4: - bl InitEasyChatSelection - b _080FEDF2 -_080FEDDA: - ldrb r4, [r6, 0x2] - adds r0, r5, 0 - movs r1, 0x2 - bl GetWordTaskArg - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80FEF6C - b _080FEDF2 -_080FEDEE: - bl sub_80FFF80 -_080FEDF2: - lsls r0, 24 - cmp r0, 0 - bne _080FEE16 - adds r0, r5, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_80FEE24 - b _080FEE16 -_080FEE06: - bl sub_80FFF98 - lsls r0, 24 - cmp r0, 0 - beq _080FEE16 - b _080FEE1C -_080FEE12: - movs r0, 0 - b _080FEE1E -_080FEE16: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_080FEE1C: - movs r0, 0x1 -_080FEE1E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FED80 - - thumb_func_start sub_80FEE24 -sub_80FEE24: @ 80FEE24 - push {r4,lr} - adds r4, r0, 0 - bl DestroyEasyChatSelectionData - bl sub_80FF010 - bl sub_810011C - bl FreeAllWindowBuffers - adds r0, r4, 0 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FEE24 - - thumb_func_start sub_80FEE44 -sub_80FEE44: @ 80FEE44 - push {lr} - ldr r0, _080FEE58 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0xE - bhi _080FEF12 - lsls r0, 2 - ldr r1, _080FEE5C @ =_080FEE60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FEE58: .4byte gSpecialVar_0x8004 -_080FEE5C: .4byte _080FEE60 - .align 2, 0 -_080FEE60: - .4byte _080FEE9C - .4byte _080FEEB0 - .4byte _080FEEC4 - .4byte _080FEED8 - .4byte _080FEEF4 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEEEC -_080FEE9C: - ldr r0, _080FEEA8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEEAC @ =0x00002ca0 - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEEA8: .4byte gSaveBlock1Ptr -_080FEEAC: .4byte 0x00002ca0 -_080FEEB0: - ldr r0, _080FEEBC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEEC0 @ =0x00002cac - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEEBC: .4byte gSaveBlock1Ptr -_080FEEC0: .4byte 0x00002cac -_080FEEC4: - ldr r0, _080FEED0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEED4 @ =0x00002cb8 - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEED0: .4byte gSaveBlock1Ptr -_080FEED4: .4byte 0x00002cb8 -_080FEED8: - ldr r0, _080FEEE4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEEE8 @ =0x00002cc4 - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEEE4: .4byte gSaveBlock1Ptr -_080FEEE8: .4byte 0x00002cc4 -_080FEEEC: - bl GetMEventProfileECWordsMaybe - adds r1, r0, 0 - b _080FEF08 -_080FEEF4: - ldr r2, _080FEF18 @ =gSaveBlock1Ptr - ldr r0, _080FEF1C @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080FEF20 @ =0x00002cd0 - adds r0, r1 - ldr r1, [r2] - adds r1, r0 -_080FEF08: - ldr r0, _080FEF24 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, _080FEF28 @ =sub_80568C4 - bl DoEasyChatScreen -_080FEF12: - pop {r0} - bx r0 - .align 2, 0 -_080FEF18: .4byte gSaveBlock1Ptr -_080FEF1C: .4byte gSpecialVar_0x8005 -_080FEF20: .4byte 0x00002cd0 -_080FEF24: .4byte gSpecialVar_0x8004 -_080FEF28: .4byte sub_80568C4 - thumb_func_end sub_80FEE44 - - thumb_func_start sub_80FEF2C -sub_80FEF2C: @ 80FEF2C - push {r4,lr} - ldr r4, _080FEF44 @ =gSpecialVar_0x8004 - ldr r0, _080FEF48 @ =gUnknown_843F29C - movs r1, 0x4 - bl sub_80FFEDC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FEF44: .4byte gSpecialVar_0x8004 -_080FEF48: .4byte gUnknown_843F29C - thumb_func_end sub_80FEF2C - - thumb_func_start sub_80FEF4C -sub_80FEF4C: @ 80FEF4C - push {r4,lr} - ldr r4, _080FEF64 @ =gSpecialVar_0x8004 - ldr r0, _080FEF68 @ =gUnknown_843F2A4 - movs r1, 0x4 - bl sub_80FFEDC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FEF64: .4byte gSpecialVar_0x8004 -_080FEF68: .4byte gUnknown_843F2A4 - thumb_func_end sub_80FEF4C - - thumb_func_start sub_80FEF6C -sub_80FEF6C: @ 80FEF6C - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080FEF88 @ =gUnknown_203ACE8 - movs r0, 0x2C - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _080FEF8C - movs r0, 0 - b _080FF006 - .align 2, 0 -_080FEF88: .4byte gUnknown_203ACE8 -_080FEF8C: - movs r1, 0 - strb r5, [r0] - ldr r0, [r4] - str r6, [r0, 0x14] - strb r1, [r0, 0x4] - ldr r0, [r4] - strb r1, [r0, 0x5] - ldr r0, [r4] - strb r1, [r0, 0x6] - ldr r0, [r4] - strb r1, [r0, 0x9] - adds r0, r5, 0 - bl sub_80FFF1C - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldr r2, _080FF00C @ =gUnknown_843F2AC - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r2, [r1, 0x1] - strb r2, [r3, 0x2] - ldr r2, [r4] - ldrb r1, [r1, 0x2] - strb r1, [r2, 0x3] - ldr r1, [r4] - ldrb r3, [r1, 0x2] - ldrb r2, [r1, 0x3] - adds r5, r3, 0 - muls r5, r2 - adds r2, r5, 0 - strb r2, [r1, 0x7] - ldr r1, [r4] - strb r0, [r1, 0x1] - ldr r1, [r4] - ldrb r0, [r1, 0x7] - cmp r0, 0x9 - bls _080FEFE0 - movs r0, 0x9 - strb r0, [r1, 0x7] -_080FEFE0: - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x18 - ldrb r2, [r0, 0x7] - adds r0, r6, 0 - bl CpuSet - bl GetNumDisplayableGroups - ldr r2, [r4] - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0x1 - strb r0, [r2, 0xD] - movs r0, 0x1 -_080FF006: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080FF00C: .4byte gUnknown_843F2AC - thumb_func_end sub_80FEF6C - - thumb_func_start sub_80FF010 -sub_80FF010: @ 80FF010 - push {lr} - ldr r0, _080FF024 @ =gUnknown_203ACE8 - ldr r0, [r0] - cmp r0, 0 - beq _080FF01E - bl Free -_080FF01E: - pop {r0} - bx r0 - .align 2, 0 -_080FF024: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF010 - - thumb_func_start sub_80FF028 -sub_80FF028: @ 80FF028 - push {lr} - ldr r0, _080FF040 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0x6 - bhi _080FF092 - lsls r0, 2 - ldr r1, _080FF044 @ =_080FF048 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FF040: .4byte gUnknown_203ACE8 -_080FF044: .4byte _080FF048 - .align 2, 0 -_080FF048: - .4byte _080FF064 - .4byte _080FF06A - .4byte _080FF070 - .4byte _080FF076 - .4byte _080FF07C - .4byte _080FF082 - .4byte _080FF088 -_080FF064: - bl sub_80FF098 - b _080FF08C -_080FF06A: - bl sub_80FF20C - b _080FF08C -_080FF070: - bl sub_80FF360 - b _080FF08C -_080FF076: - bl sub_80FF41C - b _080FF08C -_080FF07C: - bl sub_80FF4A8 - b _080FF08C -_080FF082: - bl sub_80FF544 - b _080FF08C -_080FF088: - bl sub_80FF4F0 -_080FF08C: - lsls r0, 16 - lsrs r0, 16 - b _080FF094 -_080FF092: - movs r0, 0 -_080FF094: - pop {r1} - bx r1 - thumb_func_end sub_80FF028 - - thumb_func_start sub_80FF098 -sub_80FF098: @ 80FF098 - push {r4-r7,lr} - ldr r0, _080FF0C0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FF0E4 - ldr r1, _080FF0C4 @ =gUnknown_203ACE8 - ldr r3, [r1] - movs r2, 0 - movs r0, 0x2 - strb r0, [r3, 0x4] - ldr r0, [r1] - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r0, [r1] - strb r2, [r0, 0xC] - movs r0, 0x9 - b _080FF1FC - .align 2, 0 -_080FF0C0: .4byte gMain -_080FF0C4: .4byte gUnknown_203ACE8 -_080FF0C8: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _080FF194 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080FF184 - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080FF174 - movs r0, 0 - b _080FF1FC -_080FF0E4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080FF1A4 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080FF1AA - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080FF0C8 - ldr r2, _080FF16C @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - subs r0, 0x1 -_080FF104: - strb r0, [r1, 0x6] -_080FF106: - adds r7, r2, 0 - adds r4, r7, 0 - ldr r2, [r4] - movs r0, 0x6 - ldrsb r0, [r2, r0] - ldr r6, _080FF170 @ =gUnknown_843F2AC - cmp r0, 0 - bge _080FF124 - ldrb r0, [r2, 0x1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x2] - strb r0, [r2, 0x6] -_080FF124: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - adds r5, r6, 0 - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x2] - cmp r2, r0 - ble _080FF140 - movs r0, 0 - strb r0, [r3, 0x6] -_080FF140: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - cmp r2, r0 - bne _080FF1B4 - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0x2 - ble _080FF162 - movs r0, 0x2 - strb r0, [r3, 0x5] -_080FF162: - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x3 - b _080FF1FC - .align 2, 0 -_080FF16C: .4byte gUnknown_203ACE8 -_080FF170: .4byte gUnknown_843F2AC -_080FF174: - ldr r2, _080FF180 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - b _080FF106 - .align 2, 0 -_080FF180: .4byte gUnknown_203ACE8 -_080FF184: - ldr r2, _080FF190 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - adds r0, 0x1 - b _080FF104 - .align 2, 0 -_080FF190: .4byte gUnknown_203ACE8 -_080FF194: - ldr r2, _080FF1A0 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - b _080FF106 - .align 2, 0 -_080FF1A0: .4byte gUnknown_203ACE8 -_080FF1A4: - bl sub_80FF590 - b _080FF1AE -_080FF1AA: - bl sub_80FF5C0 -_080FF1AE: - lsls r0, 16 - lsrs r0, 16 - b _080FF1FC -_080FF1B4: - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0 - bge _080FF1C2 - ldrb r0, [r1, 0x1] - subs r0, 0x1 - strb r0, [r3, 0x5] -_080FF1C2: - ldr r3, [r4] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x1] - cmp r2, r0 - blt _080FF1DC - movs r0, 0 - strb r0, [r3, 0x5] -_080FF1DC: - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080FF1FA - ldr r2, [r7] - ldr r0, [r2, 0x4] - ldr r1, _080FF204 @ =0x00ffff00 - ands r0, r1 - ldr r1, _080FF208 @ =0x00040100 - cmp r0, r1 - bne _080FF1FA - movs r0, 0 - strb r0, [r2, 0x5] -_080FF1FA: - movs r0, 0x2 -_080FF1FC: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080FF204: .4byte 0x00ffff00 -_080FF208: .4byte 0x00040100 - thumb_func_end sub_80FF098 - - thumb_func_start sub_80FF20C -sub_80FF20C: @ 80FF20C - push {r4-r6,lr} - ldr r2, _080FF22C @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FF270 - ldr r0, _080FF230 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080FF26A - b _080FF254 - .align 2, 0 -_080FF22C: .4byte gMain -_080FF230: .4byte gUnknown_203ACE8 -_080FF234: - movs r0, 0x20 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _080FF2F8 - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - bne _080FF2E8 - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _080FF2D8 - movs r0, 0 - b _080FF34E -_080FF254: - cmp r0, 0x1 - bgt _080FF25E - cmp r0, 0 - beq _080FF264 - b _080FF270 -_080FF25E: - cmp r0, 0x2 - beq _080FF30E - b _080FF270 -_080FF264: - bl sub_80FF5A8 - b _080FF312 -_080FF26A: - bl sub_80FF590 - b _080FF312 -_080FF270: - ldrh r2, [r2, 0x2E] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _080FF308 - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - bne _080FF30E - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _080FF234 - ldr r2, _080FF2D0 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - subs r0, 0x1 - strb r0, [r1, 0x6] -_080FF294: - adds r6, r2, 0 -_080FF296: - adds r5, r6, 0 - ldr r4, [r5] - movs r3, 0x6 - ldrsb r3, [r4, r3] - ldr r2, _080FF2D4 @ =gUnknown_843F2AC - ldrb r1, [r4, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - ldrb r0, [r1, 0x2] - cmp r3, r0 - bne _080FF318 - movs r0, 0x5 - ldrsb r0, [r4, r0] - cmp r0, 0 - bge _080FF2BC - movs r0, 0x2 - strb r0, [r4, 0x5] -_080FF2BC: - ldr r1, [r5] - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x2 - ble _080FF2CA - movs r0, 0 - strb r0, [r1, 0x5] -_080FF2CA: - movs r0, 0x3 - b _080FF34E - .align 2, 0 -_080FF2D0: .4byte gUnknown_203ACE8 -_080FF2D4: .4byte gUnknown_843F2AC -_080FF2D8: - ldr r2, _080FF2E4 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - b _080FF294 - .align 2, 0 -_080FF2E4: .4byte gUnknown_203ACE8 -_080FF2E8: - ldr r1, _080FF2F4 @ =gUnknown_203ACE8 - ldr r0, [r1] - strb r3, [r0, 0x6] - adds r6, r1, 0 - b _080FF296 - .align 2, 0 -_080FF2F4: .4byte gUnknown_203ACE8 -_080FF2F8: - ldr r2, _080FF304 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - b _080FF294 - .align 2, 0 -_080FF304: .4byte gUnknown_203ACE8 -_080FF308: - bl sub_80FF590 - b _080FF312 -_080FF30E: - bl sub_80FF5C0 -_080FF312: - lsls r0, 16 - lsrs r0, 16 - b _080FF34E -_080FF318: - movs r0, 0x5 - ldrsb r0, [r4, r0] - ldrb r1, [r1, 0x1] - cmp r0, r1 - blt _080FF326 - subs r0, r1, 0x1 - strb r0, [r4, 0x5] -_080FF326: - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080FF344 - ldr r2, [r6] - ldr r0, [r2, 0x4] - ldr r1, _080FF354 @ =0x00ffff00 - ands r0, r1 - ldr r1, _080FF358 @ =0x00040100 - cmp r0, r1 - bne _080FF344 - movs r0, 0 - strb r0, [r2, 0x5] -_080FF344: - ldr r0, _080FF35C @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0x2 -_080FF34E: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080FF354: .4byte 0x00ffff00 -_080FF358: .4byte 0x00040100 -_080FF35C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF20C - - thumb_func_start sub_80FF360 -sub_80FF360: @ 80FF360 - push {lr} - ldr r1, _080FF378 @ =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x2 - ands r0, r2 - adds r3, r1, 0 - cmp r0, 0 - beq _080FF37C - bl sub_80FF678 - b _080FF412 - .align 2, 0 -_080FF378: .4byte gMain -_080FF37C: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080FF3CA - ldr r0, _080FF39C @ =gUnknown_203ACE8 - ldr r2, [r0] - movs r1, 0xA - ldrsb r1, [r2, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF3A0 - bl sub_80FF5FC - b _080FF412 - .align 2, 0 -_080FF39C: .4byte gUnknown_203ACE8 -_080FF3A0: - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0x1 - beq _080FF3BE - cmp r0, 0x1 - bgt _080FF3B2 - cmp r0, 0 - beq _080FF3B8 - b _080FF3CA -_080FF3B2: - cmp r0, 0x2 - beq _080FF3C4 - b _080FF3CA -_080FF3B8: - bl sub_80FF688 - b _080FF412 -_080FF3BE: - bl sub_80FF6B4 - b _080FF412 -_080FF3C4: - bl sub_80FF678 - b _080FF412 -_080FF3CA: - ldrh r1, [r3, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080FF3DA - bl sub_80FF688 - b _080FF412 -_080FF3DA: - ldrh r1, [r3, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080FF3E8 - movs r0, 0x2 - b _080FF40E -_080FF3E8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080FF3F4 - movs r0, 0x3 - b _080FF40E -_080FF3F4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FF400 - movs r0, 0x1 - b _080FF40E -_080FF400: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080FF40C - movs r0, 0 - b _080FF416 -_080FF40C: - movs r0, 0 -_080FF40E: - bl sub_80FF7CC -_080FF412: - lsls r0, 16 - lsrs r0, 16 -_080FF416: - pop {r1} - bx r1 - thumb_func_end sub_80FF360 - - thumb_func_start sub_80FF41C -sub_80FF41C: @ 80FF41C - push {lr} - ldr r2, _080FF438 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080FF440 - ldr r0, _080FF43C @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1, 0x4] - movs r0, 0xD - b _080FF4A2 - .align 2, 0 -_080FF438: .4byte gMain -_080FF43C: .4byte gUnknown_203ACE8 -_080FF440: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FF44E - bl sub_80FF6C8 - b _080FF49E -_080FF44E: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080FF45A - movs r0, 0x4 - b _080FF49A -_080FF45A: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080FF466 - movs r0, 0x5 - b _080FF49A -_080FF466: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080FF474 - movs r0, 0x2 - b _080FF49A -_080FF474: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080FF480 - movs r0, 0x3 - b _080FF49A -_080FF480: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FF48C - movs r0, 0x1 - b _080FF49A -_080FF48C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080FF498 - movs r0, 0 - b _080FF4A2 -_080FF498: - movs r0, 0 -_080FF49A: - bl sub_80FFA38 -_080FF49E: - lsls r0, 16 - lsrs r0, 16 -_080FF4A2: - pop {r1} - bx r1 - thumb_func_end sub_80FF41C - - thumb_func_start sub_80FF4A8 -sub_80FF4A8: @ 80FF4A8 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080FF4DC - cmp r1, 0 - bgt _080FF4C4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF4C8 - b _080FF4E8 -_080FF4C4: - cmp r1, 0x1 - bne _080FF4E8 -_080FF4C8: - bl sub_80FF5F0 - ldr r1, _080FF4D8 @ =gUnknown_203ACE8 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x7 - b _080FF4EA - .align 2, 0 -_080FF4D8: .4byte gUnknown_203ACE8 -_080FF4DC: - ldr r0, _080FF4E4 @ =gSpecialVar_Result - strh r1, [r0] - movs r0, 0x17 - b _080FF4EA - .align 2, 0 -_080FF4E4: .4byte gSpecialVar_Result -_080FF4E8: - movs r0, 0 -_080FF4EA: - pop {r1} - bx r1 - thumb_func_end sub_80FF4A8 - - thumb_func_start sub_80FF4F0 -sub_80FF4F0: @ 80FF4F0 - push {r4,lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080FF524 - cmp r1, 0 - bgt _080FF50C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF510 - b _080FF53C -_080FF50C: - cmp r1, 0x1 - bne _080FF53C -_080FF510: - bl sub_80FF5F0 - ldr r1, _080FF520 @ =gUnknown_203ACE8 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x7 - b _080FF53E - .align 2, 0 -_080FF520: .4byte gUnknown_203ACE8 -_080FF524: - ldr r4, _080FF538 @ =gSpecialVar_Result - bl sub_80FF78C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - bl sub_80FF6F0 - movs r0, 0x17 - b _080FF53E - .align 2, 0 -_080FF538: .4byte gSpecialVar_Result -_080FF53C: - movs r0, 0 -_080FF53E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FF4F0 - - thumb_func_start sub_80FF544 -sub_80FF544: @ 80FF544 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080FF574 - cmp r1, 0 - bgt _080FF560 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF564 - b _080FF588 -_080FF560: - cmp r1, 0x1 - bne _080FF588 -_080FF564: - ldr r0, _080FF570 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x7 - b _080FF58A - .align 2, 0 -_080FF570: .4byte gUnknown_203ACE8 -_080FF574: - bl sub_80FF728 - ldr r0, _080FF584 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x8 - b _080FF58A - .align 2, 0 -_080FF584: .4byte gUnknown_203ACE8 -_080FF588: - movs r0, 0 -_080FF58A: - pop {r1} - bx r1 - thumb_func_end sub_80FF544 - - thumb_func_start sub_80FF590 -sub_80FF590: @ 80FF590 - ldr r2, _080FF5A4 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x4] - strb r0, [r1, 0x8] - ldr r1, [r2] - movs r0, 0x4 - strb r0, [r1, 0x4] - movs r0, 0x5 - bx lr - .align 2, 0 -_080FF5A4: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF590 - - thumb_func_start sub_80FF5A8 -sub_80FF5A8: @ 80FF5A8 - ldr r2, _080FF5BC @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x4] - strb r0, [r1, 0x8] - ldr r1, [r2] - movs r0, 0x5 - strb r0, [r1, 0x4] - movs r0, 0x4 - bx lr - .align 2, 0 -_080FF5BC: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF5A8 - - thumb_func_start sub_80FF5C0 -sub_80FF5C0: @ 80FF5C0 - push {r4,lr} - ldr r4, _080FF5DC @ =gUnknown_203ACE8 - ldr r0, [r4] - ldrb r1, [r0, 0x4] - strb r1, [r0, 0x8] - bl sub_80FFF48 - cmp r0, 0 - bne _080FF5E0 - ldr r1, [r4] - movs r0, 0x6 - strb r0, [r1, 0x4] - b _080FF5E8 - .align 2, 0 -_080FF5DC: .4byte gUnknown_203ACE8 -_080FF5E0: - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1, 0x4] - movs r0, 0x5 -_080FF5E8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FF5C0 - - thumb_func_start sub_80FF5F0 -sub_80FF5F0: @ 80FF5F0 - ldr r0, _080FF5F8 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bx lr - .align 2, 0 -_080FF5F8: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF5F0 - - thumb_func_start sub_80FF5FC -sub_80FF5FC: @ 80FF5FC - push {lr} - ldr r0, _080FF624 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _080FF628 - bl sub_80FFB8C - lsls r0, 24 - lsrs r0, 24 - bl GetSelectedGroupByIndex - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl GetUnlockedECWords - b _080FF638 - .align 2, 0 -_080FF624: .4byte gUnknown_203ACE8 -_080FF628: - bl sub_80FFBAC - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - bl GetUnlockedECWords -_080FF638: - bl GetNumDisplayedWords - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080FF670 - ldr r2, _080FF66C @ =gUnknown_203ACE8 - ldr r3, [r2] - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0 - strb r0, [r3, 0xF] - ldr r0, [r2] - strb r1, [r0, 0xE] - ldr r0, [r2] - strb r1, [r0, 0x10] - ldr r0, [r2] - strb r1, [r0, 0x11] - ldr r1, [r2] - movs r0, 0x3 - strb r0, [r1, 0x4] - movs r0, 0xB - b _080FF672 - .align 2, 0 -_080FF66C: .4byte gUnknown_203ACE8 -_080FF670: - movs r0, 0 -_080FF672: - pop {r1} - bx r1 - thumb_func_end sub_80FF5FC - - thumb_func_start sub_80FF678 -sub_80FF678: @ 80FF678 - ldr r0, _080FF684 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0xA - bx lr - .align 2, 0 -_080FF684: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF678 - - thumb_func_start sub_80FF688 -sub_80FF688: @ 80FF688 - push {lr} - ldr r1, _080FF6A8 @ =gUnknown_203ACE8 - ldr r0, [r1] - movs r2, 0 - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r0, [r1] - strb r2, [r0, 0xC] - ldr r1, [r1] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FF6AC - movs r0, 0x1 - strb r0, [r1, 0x9] - b _080FF6AE - .align 2, 0 -_080FF6A8: .4byte gUnknown_203ACE8 -_080FF6AC: - strb r2, [r1, 0x9] -_080FF6AE: - movs r0, 0x16 - pop {r1} - bx r1 - thumb_func_end sub_80FF688 - - thumb_func_start sub_80FF6B4 -sub_80FF6B4: @ 80FF6B4 - push {lr} - ldr r0, _080FF6C4 @ =0x0000ffff - bl sub_80FF768 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080FF6C4: .4byte 0x0000ffff - thumb_func_end sub_80FF6B4 - - thumb_func_start sub_80FF6C8 -sub_80FF6C8: @ 80FF6C8 - push {lr} - bl sub_80FFBE4 - lsls r0, 16 - lsrs r0, 16 - bl GetDisplayedWordByIndex - lsls r0, 16 - lsrs r0, 16 - bl sub_80FF768 - ldr r0, _080FF6EC @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0xC - pop {r1} - bx r1 - .align 2, 0 -_080FF6EC: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF6C8 - - thumb_func_start sub_80FF6F0 -sub_80FF6F0: @ 80FF6F0 - push {r4,r5,lr} - movs r4, 0 - ldr r3, _080FF724 @ =gUnknown_203ACE8 - ldr r0, [r3] - ldrb r0, [r0, 0x7] - cmp r4, r0 - bcs _080FF71E - adds r5, r3, 0 -_080FF700: - ldr r3, [r5] - ldr r1, [r3, 0x14] - lsls r2, r4, 1 - adds r1, r2, r1 - adds r0, r3, 0 - adds r0, 0x18 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r3, [r3, 0x7] - cmp r4, r3 - bcc _080FF700 -_080FF71E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FF724: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF6F0 - - thumb_func_start sub_80FF728 -sub_80FF728: @ 80FF728 - push {r4,r5,lr} - movs r3, 0 - ldr r2, _080FF760 @ =gUnknown_203ACE8 - ldr r0, [r2] - ldrb r0, [r0, 0x7] - cmp r3, r0 - bcs _080FF758 - adds r5, r2, 0 - ldr r0, _080FF764 @ =0x0000ffff - adds r4, r0, 0 -_080FF73C: - ldr r2, [r5] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0x18 - adds r1, r0 - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r2, [r2, 0x7] - cmp r3, r2 - bcc _080FF73C -_080FF758: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FF760: .4byte gUnknown_203ACE8 -_080FF764: .4byte 0x0000ffff - thumb_func_end sub_80FF728 - - thumb_func_start sub_80FF768 -sub_80FF768: @ 80FF768 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_80FFB6C - lsls r0, 16 - ldr r1, _080FF788 @ =gUnknown_203ACE8 - ldr r1, [r1] - lsrs r0, 15 - adds r1, 0x18 - adds r1, r0 - strh r4, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FF788: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF768 - - thumb_func_start sub_80FF78C -sub_80FF78C: @ 80FF78C - push {r4,r5,lr} - movs r2, 0 - ldr r0, _080FF7B4 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x7] - cmp r2, r1 - bcs _080FF7C2 - adds r5, r1, 0 - adds r4, r0, 0 - adds r4, 0x18 - ldr r3, [r0, 0x14] -_080FF7A2: - lsls r0, r2, 1 - adds r1, r4, r0 - adds r0, r3 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - beq _080FF7B8 - movs r0, 0x1 - b _080FF7C4 - .align 2, 0 -_080FF7B4: .4byte gUnknown_203ACE8 -_080FF7B8: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r5 - bcc _080FF7A2 -_080FF7C2: - movs r0, 0 -_080FF7C4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FF78C - - thumb_func_start sub_80FF7CC -sub_80FF7CC: @ 80FF7CC - push {lr} - adds r2, r0, 0 - ldr r0, _080FF7F0 @ =gUnknown_203ACE8 - ldr r3, [r0] - movs r1, 0xA - ldrsb r1, [r3, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF7FC - ldrb r0, [r3, 0x9] - cmp r0, 0 - bne _080FF7F4 - adds r0, r2, 0 - bl sub_80FF80C - b _080FF802 - .align 2, 0 -_080FF7F0: .4byte gUnknown_203ACE8 -_080FF7F4: - adds r0, r2, 0 - bl sub_80FF8D8 - b _080FF802 -_080FF7FC: - adds r0, r2, 0 - bl sub_80FF968 -_080FF802: - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80FF7CC - - thumb_func_start sub_80FF80C -sub_80FF80C: @ 80FF80C - push {r4,lr} - cmp r0, 0x1 - beq _080FF882 - cmp r0, 0x1 - bcc _080FF8A2 - cmp r0, 0x2 - beq _080FF820 - cmp r0, 0x3 - beq _080FF848 - b _080FF8CE -_080FF820: - ldr r0, _080FF83C @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0xB - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xC] - cmn r0, r3 - beq _080FF8CE - ldrb r2, [r1, 0xB] - cmp r0, 0 - beq _080FF840 - subs r0, r2, 0x1 - strb r0, [r1, 0xB] -_080FF838: - movs r0, 0xE - b _080FF8D0 - .align 2, 0 -_080FF83C: .4byte gUnknown_203ACE8 -_080FF840: - subs r0, r3, 0x1 - strb r0, [r1, 0xC] - movs r0, 0x10 - b _080FF8D0 -_080FF848: - ldr r0, _080FF870 @ =gUnknown_203ACE8 - ldr r2, [r0] - movs r1, 0xB - ldrsb r1, [r2, r1] - ldrb r3, [r2, 0xC] - adds r1, r3 - ldrb r0, [r2, 0xD] - subs r0, 0x1 - cmp r1, r0 - bge _080FF8CE - ldrb r1, [r2, 0xB] - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0x2 - bgt _080FF874 - adds r0, r1, 0x1 - strb r0, [r2, 0xB] - movs r4, 0xE - b _080FF87A - .align 2, 0 -_080FF870: .4byte gUnknown_203ACE8 -_080FF874: - adds r0, r3, 0x1 - strb r0, [r2, 0xC] - movs r4, 0xF -_080FF87A: - bl sub_80FFC1C - adds r0, r4, 0 - b _080FF8D0 -_080FF882: - ldr r0, _080FF898 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FF89C - subs r0, r2, 0x1 - strb r0, [r1, 0xA] - b _080FF838 - .align 2, 0 -_080FF898: .4byte gUnknown_203ACE8 -_080FF89C: - bl sub_80FF9E8 - b _080FF838 -_080FF8A2: - ldr r0, _080FF8C4 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - bgt _080FF8C8 - adds r0, r2, 0x1 - strb r0, [r1, 0xA] - bl sub_80FFC6C - lsls r0, 24 - cmp r0, 0 - beq _080FF838 - bl sub_80FF9E8 - b _080FF838 - .align 2, 0 -_080FF8C4: .4byte gUnknown_203ACE8 -_080FF8C8: - bl sub_80FF9E8 - b _080FF838 -_080FF8CE: - movs r0, 0 -_080FF8D0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FF80C - - thumb_func_start sub_80FF8D8 -sub_80FF8D8: @ 80FF8D8 - push {lr} - cmp r0, 0x1 - beq _080FF944 - cmp r0, 0x1 - bcc _080FF928 - cmp r0, 0x2 - beq _080FF8EE - cmp r0, 0x3 - beq _080FF90E - movs r0, 0 - b _080FF960 -_080FF8EE: - ldr r0, _080FF900 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080FF904 - subs r0, r2, 0x1 - b _080FF906 - .align 2, 0 -_080FF900: .4byte gUnknown_203ACE8 -_080FF904: - movs r0, 0x3 -_080FF906: - strb r0, [r1, 0xB] - bl sub_80FFC1C - b _080FF95E -_080FF90E: - ldr r0, _080FF920 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bgt _080FF924 - adds r0, r2, 0x1 - b _080FF906 - .align 2, 0 -_080FF920: .4byte gUnknown_203ACE8 -_080FF924: - movs r0, 0 - b _080FF906 -_080FF928: - ldr r0, _080FF940 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] - bl sub_80FFC6C - lsls r0, 24 - cmp r0, 0 - beq _080FF95E - b _080FF95A - .align 2, 0 -_080FF940: .4byte gUnknown_203ACE8 -_080FF944: - ldr r2, _080FF964 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0xA] - subs r0, 0x1 - strb r0, [r1, 0xA] - ldr r0, [r2] - ldrb r0, [r0, 0xA] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080FF95E -_080FF95A: - bl sub_80FF9E8 -_080FF95E: - movs r0, 0xE -_080FF960: - pop {r1} - bx r1 - .align 2, 0 -_080FF964: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF8D8 - - thumb_func_start sub_80FF968 -sub_80FF968: @ 80FF968 - push {lr} - adds r2, r0, 0 - cmp r2, 0x1 - beq _080FF9B8 - cmp r2, 0x1 - bcc _080FF9CC - cmp r2, 0x2 - beq _080FF980 - cmp r2, 0x3 - beq _080FF99C - movs r0, 0 - b _080FF9DE -_080FF980: - ldr r0, _080FF994 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r3, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FF998 - subs r0, r3, 0x1 - b _080FF9DA - .align 2, 0 -_080FF994: .4byte gUnknown_203ACE8 -_080FF998: - strb r2, [r1, 0xB] - b _080FF9DC -_080FF99C: - ldr r0, _080FF9B0 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0x1 - bgt _080FF9B4 - adds r0, r2, 0x1 - b _080FF9DA - .align 2, 0 -_080FF9B0: .4byte gUnknown_203ACE8 -_080FF9B4: - movs r0, 0 - b _080FF9DA -_080FF9B8: - ldr r0, _080FF9C8 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0xB] - adds r0, 0x1 - strb r0, [r1, 0xB] - bl sub_80FFA0C - b _080FF9DC - .align 2, 0 -_080FF9C8: .4byte gUnknown_203ACE8 -_080FF9CC: - ldr r2, _080FF9E4 @ =gUnknown_203ACE8 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0xA] - ldr r1, [r2] - ldrb r0, [r1, 0xB] - adds r0, 0x1 -_080FF9DA: - strb r0, [r1, 0xB] -_080FF9DC: - movs r0, 0xE -_080FF9DE: - pop {r1} - bx r1 - .align 2, 0 -_080FF9E4: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF968 - - thumb_func_start sub_80FF9E8 -sub_80FF9E8: @ 80FF9E8 - push {lr} - ldr r2, _080FFA08 @ =gUnknown_203ACE8 - ldr r1, [r2] - movs r0, 0xFF - strb r0, [r1, 0xA] - ldr r2, [r2] - ldrb r1, [r2, 0xB] - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _080FFA02 - subs r0, r1, 0x1 - strb r0, [r2, 0xB] -_080FFA02: - pop {r0} - bx r0 - .align 2, 0 -_080FFA08: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF9E8 - - thumb_func_start sub_80FFA0C -sub_80FFA0C: @ 80FFA0C - push {r4,lr} - ldr r4, _080FFA24 @ =gUnknown_203ACE8 - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FFA28 - movs r0, 0x1 - strb r0, [r1, 0xA] - bl sub_80FFC1C - b _080FFA32 - .align 2, 0 -_080FFA24: .4byte gUnknown_203ACE8 -_080FFA28: - ldrb r0, [r1, 0xB] - bl sub_80FFC04 - ldr r1, [r4] - strb r0, [r1, 0xA] -_080FFA32: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FFA0C - - thumb_func_start sub_80FFA38 -sub_80FFA38: @ 80FFA38 - push {r4,lr} - cmp r0, 0x5 - bls _080FFA40 - b _080FFB64 -_080FFA40: - lsls r0, 2 - ldr r1, _080FFA4C @ =_080FFA50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FFA4C: .4byte _080FFA50 - .align 2, 0 -_080FFA50: - .4byte _080FFAEC - .4byte _080FFACA - .4byte _080FFA68 - .4byte _080FFA94 - .4byte _080FFB14 - .4byte _080FFB34 -_080FFA68: - ldr r0, _080FFA88 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x11 - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xE] - adds r0, r3 - cmp r0, 0 - bgt _080FFA7A - b _080FFB64 -_080FFA7A: - ldrb r2, [r1, 0x11] - movs r0, 0x11 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080FFA8C - subs r0, r2, 0x1 - b _080FFAB2 - .align 2, 0 -_080FFA88: .4byte gUnknown_203ACE8 -_080FFA8C: - subs r0, r3, 0x1 - strb r0, [r1, 0xE] - movs r4, 0x12 - b _080FFAC2 -_080FFA94: - ldr r0, _080FFAB8 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x11 - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xE] - adds r0, r3 - ldrb r2, [r1, 0xF] - cmp r0, r2 - bge _080FFB64 - ldrb r2, [r1, 0x11] - movs r0, 0x11 - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bgt _080FFABC - adds r0, r2, 0x1 -_080FFAB2: - strb r0, [r1, 0x11] - movs r4, 0x11 - b _080FFAC2 - .align 2, 0 -_080FFAB8: .4byte gUnknown_203ACE8 -_080FFABC: - adds r0, r3, 0x1 - strb r0, [r1, 0xE] - movs r4, 0x13 -_080FFAC2: - bl sub_80FFC44 - adds r0, r4, 0 - b _080FFB66 -_080FFACA: - ldr r0, _080FFADC @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080FFAE0 - subs r0, r2, 0x1 - b _080FFAE2 - .align 2, 0 -_080FFADC: .4byte gUnknown_203ACE8 -_080FFAE0: - movs r0, 0x1 -_080FFAE2: - strb r0, [r1, 0x10] - bl sub_80FFC44 -_080FFAE8: - movs r0, 0x11 - b _080FFB66 -_080FFAEC: - ldr r4, _080FFB10 @ =gUnknown_203ACE8 - ldr r1, [r4] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - bgt _080FFB0A - adds r0, r2, 0x1 - strb r0, [r1, 0x10] - bl sub_80FFCC0 - lsls r0, 24 - cmp r0, 0 - beq _080FFAE8 - ldr r1, [r4] -_080FFB0A: - movs r0, 0 - strb r0, [r1, 0x10] - b _080FFAE8 - .align 2, 0 -_080FFB10: .4byte gUnknown_203ACE8 -_080FFB14: - ldr r0, _080FFB28 @ =gUnknown_203ACE8 - ldr r2, [r0] - ldrb r0, [r2, 0xE] - adds r1, r0, 0 - cmp r1, 0 - beq _080FFB64 - cmp r1, 0x3 - bls _080FFB2C - subs r0, 0x4 - b _080FFB2E - .align 2, 0 -_080FFB28: .4byte gUnknown_203ACE8 -_080FFB2C: - movs r0, 0 -_080FFB2E: - strb r0, [r2, 0xE] - movs r0, 0x14 - b _080FFB66 -_080FFB34: - ldr r3, _080FFB60 @ =gUnknown_203ACE8 - ldr r1, [r3] - ldrb r2, [r1, 0xE] - ldrb r0, [r1, 0xF] - subs r0, 0x4 - cmp r2, r0 - bgt _080FFB64 - adds r0, r2, 0x4 - strb r0, [r1, 0xE] - ldr r2, [r3] - ldrb r1, [r2, 0xE] - ldrb r3, [r2, 0xF] - subs r0, r3, 0x3 - cmp r1, r0 - ble _080FFB58 - adds r0, r3, 0 - adds r0, 0xFD - strb r0, [r2, 0xE] -_080FFB58: - bl sub_80FFC44 - movs r0, 0x15 - b _080FFB66 - .align 2, 0 -_080FFB60: .4byte gUnknown_203ACE8 -_080FFB64: - movs r0, 0 -_080FFB66: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFA38 - - thumb_func_start sub_80FFB6C -sub_80FFB6C: @ 80FFB6C - ldr r0, _080FFB88 @ =gUnknown_203ACE8 - ldr r0, [r0] - movs r2, 0x6 - ldrsb r2, [r0, r2] - ldrb r1, [r0, 0x2] - muls r1, r2 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_080FFB88: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFB6C - - thumb_func_start sub_80FFB8C -sub_80FFB8C: @ 80FFB8C - ldr r0, _080FFBA8 @ =gUnknown_203ACE8 - ldr r0, [r0] - movs r1, 0xB - ldrsb r1, [r0, r1] - ldrb r2, [r0, 0xC] - adds r1, r2 - lsls r1, 1 - ldrb r0, [r0, 0xA] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_080FFBA8: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFB8C - - thumb_func_start sub_80FFBAC -sub_80FFBAC: @ 80FFBAC - push {lr} - ldr r0, _080FFBDC @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0xA] - movs r3, 0 - cmp r0, 0x6 - bhi _080FFBBE - movs r3, 0xA - ldrsb r3, [r1, r3] -_080FFBBE: - ldrb r0, [r1, 0xB] - movs r2, 0 - cmp r0, 0x3 - bhi _080FFBCA - movs r2, 0xB - ldrsb r2, [r1, r2] -_080FFBCA: - ldr r0, _080FFBE0 @ =gUnknown_843F39C - lsls r1, r2, 3 - subs r1, r2 - adds r1, r3, r1 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_080FFBDC: .4byte gUnknown_203ACE8 -_080FFBE0: .4byte gUnknown_843F39C - thumb_func_end sub_80FFBAC - - thumb_func_start sub_80FFBE4 -sub_80FFBE4: @ 80FFBE4 - ldr r0, _080FFC00 @ =gUnknown_203ACE8 - ldr r0, [r0] - movs r1, 0x11 - ldrsb r1, [r0, r1] - ldrb r2, [r0, 0xE] - adds r1, r2 - lsls r1, 1 - ldrb r0, [r0, 0x10] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_080FFC00: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFBE4 - - thumb_func_start sub_80FFC04 -sub_80FFC04: @ 80FFC04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080FFC12 - cmp r0, 0x1 - beq _080FFC16 -_080FFC12: - movs r0, 0x6 - b _080FFC18 -_080FFC16: - movs r0, 0x5 -_080FFC18: - pop {r1} - bx r1 - thumb_func_end sub_80FFC04 - - thumb_func_start sub_80FFC1C -sub_80FFC1C: @ 80FFC1C - push {lr} - b _080FFC32 -_080FFC20: - ldr r0, _080FFC40 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FFC3C - subs r0, r2, 0x1 - strb r0, [r1, 0xA] -_080FFC32: - bl sub_80FFC6C - lsls r0, 24 - cmp r0, 0 - bne _080FFC20 -_080FFC3C: - pop {r0} - bx r0 - .align 2, 0 -_080FFC40: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFC1C - - thumb_func_start sub_80FFC44 -sub_80FFC44: @ 80FFC44 - push {lr} - b _080FFC5A -_080FFC48: - ldr r0, _080FFC68 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FFC64 - subs r0, r2, 0x1 - strb r0, [r1, 0x10] -_080FFC5A: - bl sub_80FFCC0 - lsls r0, 24 - cmp r0, 0 - bne _080FFC48 -_080FFC64: - pop {r0} - bx r0 - .align 2, 0 -_080FFC68: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFC44 - - thumb_func_start sub_80FFC6C -sub_80FFC6C: @ 80FFC6C - push {r4,lr} - ldr r4, _080FFC98 @ =gUnknown_203ACE8 - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FFC9C - bl sub_80FFB8C - adds r4, r0, 0 - bl GetNumDisplayableGroups - movs r1, 0 - lsls r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsrs r0, 24 - cmp r4, r0 - bcc _080FFC92 - movs r1, 0x1 -_080FFC92: - adds r0, r1, 0 - b _080FFCB8 - .align 2, 0 -_080FFC98: .4byte gUnknown_203ACE8 -_080FFC9C: - ldrb r0, [r1, 0xB] - bl sub_80FFC04 - movs r2, 0 - ldr r1, [r4] - ldrb r1, [r1, 0xA] - lsls r1, 24 - asrs r1, 24 - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - ble _080FFCB6 - movs r2, 0x1 -_080FFCB6: - adds r0, r2, 0 -_080FFCB8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFC6C - - thumb_func_start sub_80FFCC0 -sub_80FFCC0: @ 80FFCC0 - push {r4,lr} - bl sub_80FFBE4 - adds r4, r0, 0 - bl GetNumDisplayedWords - movs r1, 0 - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - bcc _080FFCD8 - movs r1, 0x1 -_080FFCD8: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFCC0 - - thumb_func_start sub_80FFCE0 -sub_80FFCE0: @ 80FFCE0 - ldr r2, _080FFCF4 @ =gUnknown_843F2AC - ldr r0, _080FFCF8 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] - bx lr - .align 2, 0 -_080FFCF4: .4byte gUnknown_843F2AC -_080FFCF8: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFCE0 - - thumb_func_start sub_80FFCFC -sub_80FFCFC: @ 80FFCFC - ldr r2, _080FFD14 @ =gUnknown_843F2AC - ldr r0, _080FFD18 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - bx lr - .align 2, 0 -_080FFD14: .4byte gUnknown_843F2AC -_080FFD18: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFCFC - - thumb_func_start sub_80FFD1C -sub_80FFD1C: @ 80FFD1C - ldr r0, _080FFD24 @ =gUnknown_203ACE8 - ldr r0, [r0] - adds r0, 0x18 - bx lr - .align 2, 0 -_080FFD24: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD1C - - thumb_func_start sub_80FFD28 -sub_80FFD28: @ 80FFD28 - ldr r0, _080FFD30 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - bx lr - .align 2, 0 -_080FFD30: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD28 - - thumb_func_start sub_80FFD34 -sub_80FFD34: @ 80FFD34 - ldr r0, _080FFD3C @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - bx lr - .align 2, 0 -_080FFD3C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD34 - - thumb_func_start sub_80FFD40 -sub_80FFD40: @ 80FFD40 - ldr r0, _080FFD48 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - bx lr - .align 2, 0 -_080FFD48: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD40 - - thumb_func_start sub_80FFD4C -sub_80FFD4C: @ 80FFD4C - ldr r0, _080FFD54 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - bx lr - .align 2, 0 -_080FFD54: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD4C - - thumb_func_start sub_80FFD58 -sub_80FFD58: @ 80FFD58 - push {r4,r5,lr} - ldr r4, _080FFD88 @ =gUnknown_843F2AC - ldr r2, _080FFD8C @ =gUnknown_203ACE8 - ldr r5, [r2] - ldrb r3, [r5, 0x1] - lsls r2, r3, 1 - adds r2, r3 - lsls r2, 3 - adds r3, r4, 0 - adds r3, 0x8 - adds r2, r3 - ldr r2, [r2] - str r2, [r0] - ldrb r2, [r5, 0x1] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r4, 0xC - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FFD88: .4byte gUnknown_843F2AC -_080FFD8C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD58 - - thumb_func_start sub_80FFD90 -sub_80FFD90: @ 80FFD90 - push {r4,r5,lr} - ldr r4, _080FFDC0 @ =gUnknown_843F2AC - ldr r2, _080FFDC4 @ =gUnknown_203ACE8 - ldr r5, [r2] - ldrb r3, [r5, 0x1] - lsls r2, r3, 1 - adds r2, r3 - lsls r2, 3 - adds r3, r4, 0 - adds r3, 0x10 - adds r2, r3 - ldr r2, [r2] - str r2, [r0] - ldrb r2, [r5, 0x1] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r4, 0x14 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FFDC0: .4byte gUnknown_843F2AC -_080FFDC4: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD90 - - thumb_func_start sub_80FFDC8 -sub_80FFDC8: @ 80FFDC8 - push {lr} - adds r2, r0, 0 - ldr r0, _080FFDDC @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bne _080FFDE4 - ldr r0, _080FFDE0 @ =gUnknown_84189EE - b _080FFDE6 - .align 2, 0 -_080FFDDC: .4byte gUnknown_203ACE8 -_080FFDE0: .4byte gUnknown_84189EE -_080FFDE4: - ldr r0, _080FFDF0 @ =gUnknown_84189E0 -_080FFDE6: - str r0, [r2] - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080FFDF0: .4byte gUnknown_84189E0 - thumb_func_end sub_80FFDC8 - - thumb_func_start sub_80FFDF4 -sub_80FFDF4: @ 80FFDF4 - ldr r2, _080FFE00 @ =gUnknown_8418937 - str r2, [r0] - ldr r0, _080FFE04 @ =gUnknown_8418956 - str r0, [r1] - bx lr - .align 2, 0 -_080FFE00: .4byte gUnknown_8418937 -_080FFE04: .4byte gUnknown_8418956 - thumb_func_end sub_80FFDF4 - - thumb_func_start sub_80FFE08 -sub_80FFE08: @ 80FFE08 - ldr r2, _080FFE18 @ =gUnknown_203ACE8 - ldr r3, [r2] - ldrb r2, [r3, 0xA] - strb r2, [r0] - ldrb r0, [r3, 0xB] - strb r0, [r1] - bx lr - .align 2, 0 -_080FFE18: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE08 - - thumb_func_start sub_80FFE1C -sub_80FFE1C: @ 80FFE1C - ldr r0, _080FFE24 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - bx lr - .align 2, 0 -_080FFE24: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE1C - - thumb_func_start sub_80FFE28 -sub_80FFE28: @ 80FFE28 - ldr r0, _080FFE30 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bx lr - .align 2, 0 -_080FFE30: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE28 - - thumb_func_start sub_80FFE34 -sub_80FFE34: @ 80FFE34 - ldr r2, _080FFE44 @ =gUnknown_203ACE8 - ldr r3, [r2] - ldrb r2, [r3, 0x10] - strb r2, [r0] - ldrb r0, [r3, 0x11] - strb r0, [r1] - bx lr - .align 2, 0 -_080FFE44: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE34 - - thumb_func_start sub_80FFE48 -sub_80FFE48: @ 80FFE48 - ldr r0, _080FFE50 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0xE] - bx lr - .align 2, 0 -_080FFE50: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE48 - - thumb_func_start sub_80FFE54 -sub_80FFE54: @ 80FFE54 - ldr r0, _080FFE5C @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0xF] - bx lr - .align 2, 0 -_080FFE5C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE54 - - thumb_func_start sub_80FFE60 -sub_80FFE60: @ 80FFE60 - movs r0, 0 - bx lr - thumb_func_end sub_80FFE60 - - thumb_func_start sub_80FFE64 -sub_80FFE64: @ 80FFE64 - push {lr} - ldr r0, _080FFE78 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - cmp r0, 0x2 - beq _080FFE7C - cmp r0, 0x3 - beq _080FFE86 - b _080FFE90 - .align 2, 0 -_080FFE78: .4byte gUnknown_203ACE8 -_080FFE7C: - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FFE90 - ldrb r0, [r1, 0xC] - b _080FFE88 -_080FFE86: - ldrb r0, [r1, 0xE] -_080FFE88: - cmp r0, 0 - beq _080FFE90 - movs r0, 0x1 - b _080FFE92 -_080FFE90: - movs r0, 0 -_080FFE92: - pop {r1} - bx r1 - thumb_func_end sub_80FFE64 - - thumb_func_start sub_80FFE98 -sub_80FFE98: @ 80FFE98 - push {lr} - ldr r0, _080FFEAC @ =gUnknown_203ACE8 - ldr r2, [r0] - ldrb r0, [r2, 0x4] - cmp r0, 0x2 - beq _080FFEB0 - cmp r0, 0x3 - beq _080FFEC6 - b _080FFED4 - .align 2, 0 -_080FFEAC: .4byte gUnknown_203ACE8 -_080FFEB0: - ldrb r0, [r2, 0x9] - cmp r0, 0 - bne _080FFED4 - ldrb r1, [r2, 0xC] - adds r1, 0x4 - ldrb r0, [r2, 0xD] - subs r0, 0x1 - cmp r1, r0 - bgt _080FFED4 - movs r0, 0x1 - b _080FFED6 -_080FFEC6: - ldrb r0, [r2, 0xE] - adds r0, 0x4 - ldrb r2, [r2, 0xF] - cmp r0, r2 - bgt _080FFED4 - movs r0, 0x1 - b _080FFED6 -_080FFED4: - movs r0, 0 -_080FFED6: - pop {r1} - bx r1 - thumb_func_end sub_80FFE98 - - thumb_func_start sub_80FFEDC -sub_80FFEDC: @ 80FFEDC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - movs r2, 0 - cmp r2, r3 - bcs _080FFF12 - ldr r0, _080FFF04 @ =gUnknown_203ACE8 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0x18 -_080FFEF2: - lsls r0, r2, 1 - adds r1, r0, r5 - adds r0, r4, r0 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - beq _080FFF08 - movs r0, 0x1 - b _080FFF14 - .align 2, 0 -_080FFF04: .4byte gUnknown_203ACE8 -_080FFF08: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _080FFEF2 -_080FFF12: - movs r0, 0 -_080FFF14: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FFEDC - - thumb_func_start sub_80FFF1C -sub_80FFF1C: @ 80FFF1C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r2, _080FFF34 @ =gUnknown_843F2AC -_080FFF26: - ldrb r0, [r2] - cmp r0, r3 - bne _080FFF38 - lsls r0, r1, 24 - lsrs r0, 24 - b _080FFF42 - .align 2, 0 -_080FFF34: .4byte gUnknown_843F2AC -_080FFF38: - adds r2, 0x18 - adds r1, 0x1 - cmp r1, 0x9 - bls _080FFF26 - movs r0, 0 -_080FFF42: - pop {r1} - bx r1 - thumb_func_end sub_80FFF1C - - thumb_func_start sub_80FFF48 -sub_80FFF48: @ 80FFF48 - push {r4,lr} - movs r2, 0 - ldr r0, _080FFF68 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x7] - cmp r2, r1 - bge _080FFF78 - ldr r4, _080FFF6C @ =0x0000ffff - adds r3, r1, 0 - adds r1, r0, 0 - adds r1, 0x18 -_080FFF5E: - ldrh r0, [r1] - cmp r0, r4 - beq _080FFF70 - movs r0, 0 - b _080FFF7A - .align 2, 0 -_080FFF68: .4byte gUnknown_203ACE8 -_080FFF6C: .4byte 0x0000ffff -_080FFF70: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _080FFF5E -_080FFF78: - movs r0, 0x1 -_080FFF7A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFF48 - - thumb_func_start sub_80FFF80 -sub_80FFF80: @ 80FFF80 - push {lr} - bl sub_8100BF4 - lsls r0, 24 - cmp r0, 0 - beq _080FFF90 - movs r0, 0x1 - b _080FFF92 -_080FFF90: - movs r0, 0 -_080FFF92: - pop {r1} - bx r1 - thumb_func_end sub_80FFF80 - - thumb_func_start sub_80FFF98 -sub_80FFF98: @ 80FFF98 - push {r4,lr} - sub sp, 0x8 - ldr r0, _080FFFB4 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bls _080FFFA8 - b _08100100 -_080FFFA8: - lsls r0, 2 - ldr r1, _080FFFB8 @ =_080FFFBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FFFB4: .4byte gUnknown_203ACEC -_080FFFB8: .4byte _080FFFBC - .align 2, 0 -_080FFFBC: - .4byte _080FFFD4 - .4byte _08100038 - .4byte _0810006C - .4byte _0810009C - .4byte _081000AE - .4byte _081000B8 -_080FFFD4: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08100028 @ =gUnknown_843F8A0 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, _0810002C @ =gUnknown_203ACEC - ldr r1, [r4] - movs r0, 0xB0 - lsls r0, 4 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0xC0 - lsls r0, 2 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, _08100030 @ =gUnknown_843F8B0 - bl InitWindows - bl DeactivateAllTextPrinters - bl sub_8100CBC - bl sub_8100C5C - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, _08100034 @ =0x01000100 - add r0, sp, 0x4 - bl CpuFastSet - b _08100104 - .align 2, 0 -_08100028: .4byte gUnknown_843F8A0 -_0810002C: .4byte gUnknown_203ACEC -_08100030: .4byte gUnknown_843F8B0 -_08100034: .4byte 0x01000100 -_08100038: - ldr r1, _08100064 @ =gUnknown_8E99DAC - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, _08100068 @ =gUnknown_8E99E74 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - bl sub_8100F44 - bl sub_8102428 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _08100104 - .align 2, 0 -_08100064: .4byte gUnknown_8E99DAC -_08100068: .4byte gUnknown_8E99E74 -_0810006C: - ldr r0, _08100094 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 2 - adds r0, r1 - bl sub_8101100 - ldr r1, _08100098 @ =gUnknown_843F7AC - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _08100104 - .align 2, 0 -_08100094: .4byte gUnknown_203ACEC -_08100098: .4byte gUnknown_843F7AC -_0810009C: - bl sub_8100D24 - bl sub_8100E34 - bl sub_8100FDC - bl sub_81012CC - b _08100104 -_081000AE: - bl sub_8101A90 - bl sub_8101AC4 - b _08100104 -_081000B8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0810010E - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8101A5C - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3B - bl SetGpuReg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0 - bl ShowBg - bl sub_81021D4 - bl sub_8102320 - b _08100104 -_08100100: - movs r0, 0 - b _08100110 -_08100104: - ldr r0, _08100118 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810010E: - movs r0, 0x1 -_08100110: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08100118: .4byte gUnknown_203ACEC - thumb_func_end sub_80FFF98 - - thumb_func_start sub_810011C -sub_810011C: @ 810011C - push {lr} - ldr r0, _08100130 @ =gUnknown_203ACEC - ldr r0, [r0] - cmp r0, 0 - beq _0810012A - bl Free -_0810012A: - pop {r0} - bx r0 - .align 2, 0 -_08100130: .4byte gUnknown_203ACEC - thumb_func_end sub_810011C - - thumb_func_start sub_8100134 -sub_8100134: @ 8100134 - push {lr} - ldr r1, _08100148 @ =gUnknown_203ACEC - ldr r1, [r1] - movs r2, 0 - strh r0, [r1, 0x4] - strh r2, [r1] - bl sub_810014C - pop {r0} - bx r0 - .align 2, 0 -_08100148: .4byte gUnknown_203ACEC - thumb_func_end sub_8100134 - - thumb_func_start sub_810014C -sub_810014C: @ 810014C - push {lr} - ldr r0, _08100164 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0, 0x4] - cmp r0, 0x16 - bhi _08100250 - lsls r0, 2 - ldr r1, _08100168 @ =_0810016C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08100164: .4byte gUnknown_203ACEC -_08100168: .4byte _0810016C - .align 2, 0 -_0810016C: - .4byte _08100250 - .4byte _081001C8 - .4byte _081001CE - .4byte _081001D4 - .4byte _081001DA - .4byte _081001E0 - .4byte _081001E6 - .4byte _081001EC - .4byte _081001F2 - .4byte _081001F8 - .4byte _081001FE - .4byte _08100204 - .4byte _0810020A - .4byte _08100210 - .4byte _08100216 - .4byte _0810021C - .4byte _08100222 - .4byte _08100228 - .4byte _0810022E - .4byte _08100234 - .4byte _0810023A - .4byte _08100240 - .4byte _08100246 -_081001C8: - bl sub_8100258 - b _0810024A -_081001CE: - bl sub_8100290 - b _0810024A -_081001D4: - bl sub_8100374 - b _0810024A -_081001DA: - bl sub_8100430 - b _0810024A -_081001E0: - bl sub_81003A8 - b _0810024A -_081001E6: - bl sub_81003EC - b _0810024A -_081001EC: - bl sub_8100474 - b _0810024A -_081001F2: - bl sub_81004B8 - b _0810024A -_081001F8: - bl sub_81004F4 - b _0810024A -_081001FE: - bl sub_81005C0 - b _0810024A -_08100204: - bl sub_81007D0 - b _0810024A -_0810020A: - bl sub_8100890 - b _0810024A -_08100210: - bl sub_810093C - b _0810024A -_08100216: - bl sub_8100720 - b _0810024A -_0810021C: - bl sub_810072C - b _0810024A -_08100222: - bl sub_8100774 - b _0810024A -_08100228: - bl sub_81009F8 - b _0810024A -_0810022E: - bl sub_8100A78 - b _0810024A -_08100234: - bl sub_8100A04 - b _0810024A -_0810023A: - bl sub_8100B70 - b _0810024A -_08100240: - bl sub_8100AE8 - b _0810024A -_08100246: - bl sub_8100660 -_0810024A: - lsls r0, 24 - lsrs r0, 24 - b _08100252 -_08100250: - movs r0, 0 -_08100252: - pop {r1} - bx r1 - thumb_func_end sub_810014C - - thumb_func_start sub_8100258 -sub_8100258: @ 8100258 - push {r4,lr} - ldr r4, _0810026C @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100270 - cmp r0, 0x1 - beq _0810027E - b _08100288 - .align 2, 0 -_0810026C: .4byte gUnknown_203ACEC -_08100270: - bl sub_8100FDC - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100288 -_0810027E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0810028A -_08100288: - movs r0, 0x1 -_0810028A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100258 - - thumb_func_start sub_8100290 -sub_8100290: @ 8100290 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - bl sub_80FFD1C - adds r4, r0, 0 - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - bl sub_80FFD40 - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_80FFD4C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl sub_80FFD34 - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - lsls r0, 1 - adds r4, r0 - ldr r1, _08100304 @ =gUnknown_843F888 - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 19 - movs r1, 0xD0 - lsls r1, 12 - adds r0, r1 - lsrs r6, r0, 16 - movs r5, 0 - cmp r5, r7 - bcs _0810033A - ldr r2, _08100308 @ =0x0000ffff - mov r10, r2 -_081002EE: - ldrh r0, [r4] - cmp r0, r10 - bne _08100310 - movs r0, 0x1 - ldr r1, _0810030C @ =gUnknown_843F8D8 - movs r2, 0 - bl GetStringWidth - lsls r1, r0, 3 - subs r0, r1, r0 - b _08100322 - .align 2, 0 -_08100304: .4byte gUnknown_843F888 -_08100308: .4byte 0x0000ffff -_0810030C: .4byte gUnknown_843F8D8 -_08100310: - ldrh r1, [r4] - mov r0, sp - bl CopyEasyChatWord - movs r0, 0x1 - mov r1, sp - movs r2, 0 - bl GetStringWidth -_08100322: - adds r0, 0x11 - lsls r1, r6, 16 - asrs r1, 16 - adds r1, r0 - lsls r1, 16 - lsrs r6, r1, 16 - adds r4, 0x2 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _081002EE -_0810033A: - ldr r1, _08100370 @ =gUnknown_843F888 - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - mov r2, r8 - lsls r1, r2, 1 - ldrb r0, [r0, 0x1] - adds r1, r0 - adds r1, 0x1 - lsls r1, 3 - adds r1, 0x1 - lsls r0, r6, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_8101B58 - movs r0, 0 - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08100370: .4byte gUnknown_843F888 - thumb_func_end sub_8100290 - - thumb_func_start sub_8100374 -sub_8100374: @ 8100374 - push {lr} - bl sub_80FFD40 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08100396 - cmp r0, 0x1 - bgt _0810038C - cmp r0, 0 - beq _08100392 - b _081003A2 -_0810038C: - cmp r0, 0x2 - beq _0810039A - b _081003A2 -_08100392: - movs r0, 0x1C - b _0810039C -_08100396: - movs r0, 0x73 - b _0810039C -_0810039A: - movs r0, 0xBF -_0810039C: - movs r1, 0x61 - bl sub_8101B58 -_081003A2: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8100374 - - thumb_func_start sub_81003A8 -sub_81003A8: @ 81003A8 - push {r4,lr} - ldr r4, _081003BC @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _081003C0 - cmp r0, 0x1 - beq _081003DA - b _081003E4 - .align 2, 0 -_081003BC: .4byte gUnknown_203ACEC -_081003C0: - bl sub_8101B88 - movs r0, 0x2 - bl sub_8100E7C - movs r0, 0x1 - bl sub_8100F18 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081003E4 -_081003DA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _081003E6 -_081003E4: - movs r0, 0x1 -_081003E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81003A8 - - thumb_func_start sub_81003EC -sub_81003EC: @ 81003EC - push {r4,lr} - ldr r4, _08100400 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100404 - cmp r0, 0x1 - beq _0810041E - b _08100428 - .align 2, 0 -_08100400: .4byte gUnknown_203ACEC -_08100404: - bl sub_8101B88 - movs r0, 0x3 - bl sub_8100E7C - movs r0, 0 - bl sub_8100F18 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100428 -_0810041E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0810042A -_08100428: - movs r0, 0x1 -_0810042A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81003EC - - thumb_func_start sub_8100430 -sub_8100430: @ 8100430 - push {r4,lr} - ldr r4, _08100444 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100448 - cmp r0, 0x1 - beq _08100462 - b _0810046C - .align 2, 0 -_08100444: .4byte gUnknown_203ACEC -_08100448: - bl sub_8101B88 - movs r0, 0x1 - bl sub_8100E7C - movs r0, 0x1 - bl sub_8100F18 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0810046C -_08100462: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0810046E -_0810046C: - movs r0, 0x1 -_0810046E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100430 - - thumb_func_start sub_8100474 -sub_8100474: @ 8100474 - push {r4,lr} - ldr r4, _08100488 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0810048C - cmp r0, 0x1 - beq _081004A6 - b _081004B0 - .align 2, 0 -_08100488: .4byte gUnknown_203ACEC -_0810048C: - bl sub_8101BA8 - movs r0, 0 - bl sub_8100E7C - movs r0, 0 - bl ShowBg - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081004B0 -_081004A6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _081004B2 -_081004B0: - movs r0, 0x1 -_081004B2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100474 - - thumb_func_start sub_81004B8 -sub_81004B8: @ 81004B8 - push {r4,lr} - ldr r4, _081004CC @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _081004D0 - cmp r0, 0x1 - beq _081004E6 - movs r0, 0x1 - b _081004EE - .align 2, 0 -_081004CC: .4byte gUnknown_203ACEC -_081004D0: - bl sub_8101BA8 - movs r0, 0 - bl sub_8100E7C - bl sub_8100FDC - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081004E6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 -_081004EE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81004B8 - - thumb_func_start sub_81004F4 -sub_81004F4: @ 81004F4 - push {lr} - ldr r0, _0810050C @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081005AE - lsls r0, 2 - ldr r1, _08100510 @ =_08100514 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810050C: .4byte gUnknown_203ACEC -_08100510: .4byte _08100514 - .align 2, 0 -_08100514: - .4byte _08100528 - .4byte _08100544 - .4byte _08100556 - .4byte _0810056C - .4byte _0810058C -_08100528: - bl sub_8101B88 - movs r0, 0 - bl HideBg - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8101A5C - bl sub_810131C - b _0810057A -_08100544: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - movs r0, 0 - bl sub_81015D4 - b _0810057A -_08100556: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - b _0810057A -_0810056C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - bl sub_8101FAC -_0810057A: - ldr r0, _08100588 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081005B8 - .align 2, 0 -_08100588: .4byte gUnknown_203ACEC -_0810058C: - bl sub_8102018 - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - bl sub_8101BC0 - movs r0, 0 - bl sub_81022E0 - bl sub_810224C - ldr r0, _081005B4 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081005AE: - movs r0, 0 - b _081005BA - .align 2, 0 -_081005B4: .4byte gUnknown_203ACEC -_081005B8: - movs r0, 0x1 -_081005BA: - pop {r1} - bx r1 - thumb_func_end sub_81004F4 - - thumb_func_start sub_81005C0 -sub_81005C0: @ 81005C0 - push {lr} - ldr r0, _081005D8 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _08100658 - lsls r0, 2 - ldr r1, _081005DC @ =_081005E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081005D8: .4byte gUnknown_203ACEC -_081005DC: .4byte _081005E0 - .align 2, 0 -_081005E0: - .4byte _081005F4 - .4byte _08100602 - .4byte _0810061E - .4byte _08100630 - .4byte _08100654 -_081005F4: - bl sub_8101C48 - bl sub_81020AC - bl sub_81022B0 - b _08100644 -_08100602: - bl sub_81020D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08100658 - movs r0, 0x1 - bl sub_81015D4 - ldr r0, _0810062C @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810061E: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100658 - b _08100644 - .align 2, 0 -_0810062C: .4byte gUnknown_203ACEC -_08100630: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100658 - bl sub_8101BA8 - movs r0, 0 - bl ShowBg -_08100644: - ldr r0, _08100650 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100658 - .align 2, 0 -_08100650: .4byte gUnknown_203ACEC -_08100654: - movs r0, 0 - b _0810065A -_08100658: - movs r0, 0x1 -_0810065A: - pop {r1} - bx r1 - thumb_func_end sub_81005C0 - - thumb_func_start sub_8100660 -sub_8100660: @ 8100660 - push {lr} - ldr r0, _08100678 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _08100718 - lsls r0, 2 - ldr r1, _0810067C @ =_08100680 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08100678: .4byte gUnknown_203ACEC -_0810067C: .4byte _08100680 - .align 2, 0 -_08100680: - .4byte _08100694 - .4byte _081006A8 - .4byte _081006C2 - .4byte _081006E8 - .4byte _0810070E -_08100694: - bl sub_8101C48 - bl sub_81022B0 - bl sub_810215C - movs r0, 0x5 - bl sub_81015D4 - b _081006D6 -_081006A8: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_81021B8 - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_810131C - b _081006D6 -_081006C2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100718 - movs r0, 0x6 - bl sub_81015D4 - bl sub_8102178 -_081006D6: - ldr r0, _081006E4 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100718 - .align 2, 0 -_081006E4: .4byte gUnknown_203ACEC -_081006E8: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_81021B8 - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_810224C - bl sub_8101BC0 - ldr r0, _08100714 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810070E: - movs r0, 0 - b _0810071A - .align 2, 0 -_08100714: .4byte gUnknown_203ACEC -_08100718: - movs r0, 0x1 -_0810071A: - pop {r1} - bx r1 - thumb_func_end sub_8100660 - - thumb_func_start sub_8100720 -sub_8100720: @ 8100720 - push {lr} - bl sub_8101C80 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8100720 - - thumb_func_start sub_810072C -sub_810072C: @ 810072C - push {r4,lr} - ldr r4, _08100740 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100744 - cmp r0, 0x1 - beq _08100754 - b _0810076A - .align 2, 0 -_08100740: .4byte gUnknown_203ACEC -_08100744: - movs r0, 0x1 - movs r1, 0x2 - bl sub_81019B0 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100754: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _0810076A - bl sub_8101C80 - bl sub_810224C - movs r0, 0 - b _0810076C -_0810076A: - movs r0, 0x1 -_0810076C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810072C - - thumb_func_start sub_8100774 -sub_8100774: @ 8100774 - push {r4,lr} - ldr r4, _0810078C @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _081007A8 - cmp r0, 0x1 - bgt _08100790 - cmp r0, 0 - beq _08100796 - b _081007C8 - .align 2, 0 -_0810078C: .4byte gUnknown_203ACEC -_08100790: - cmp r0, 0x2 - beq _081007C0 - b _081007C8 -_08100796: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - bl sub_81019B0 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081007A8: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _081007C8 - bl sub_810224C - ldr r0, _081007C4 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081007C0: - movs r0, 0 - b _081007CA - .align 2, 0 -_081007C4: .4byte gUnknown_203ACEC -_081007C8: - movs r0, 0x1 -_081007CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100774 - - thumb_func_start sub_81007D0 -sub_81007D0: @ 81007D0 - push {lr} - ldr r0, _081007E8 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bhi _08100888 - lsls r0, 2 - ldr r1, _081007EC @ =_081007F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081007E8: .4byte gUnknown_203ACEC -_081007EC: .4byte _081007F0 - .align 2, 0 -_081007F0: - .4byte _08100808 - .4byte _08100816 - .4byte _08100826 - .4byte _08100838 - .4byte _08100858 - .4byte _0810087E -_08100808: - bl sub_8101C48 - bl sub_81020AC - bl sub_81022B0 - b _08100848 -_08100816: - bl sub_81020D0 - lsls r0, 24 - cmp r0, 0 - bne _08100888 - bl sub_81015BC - b _08100848 -_08100826: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100888 - movs r0, 0x2 - bl sub_81015D4 - b _08100848 -_08100838: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100888 - movs r0, 0x2 - bl sub_81012E0 -_08100848: - ldr r0, _08100854 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100888 - .align 2, 0 -_08100854: .4byte gUnknown_203ACEC -_08100858: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100888 - bl sub_8101E80 - movs r0, 0x1 - bl sub_81022E0 - bl sub_810224C - bl sub_8102394 - ldr r0, _08100884 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810087E: - movs r0, 0 - b _0810088A - .align 2, 0 -_08100884: .4byte gUnknown_203ACEC -_08100888: - movs r0, 0x1 -_0810088A: - pop {r1} - bx r1 - thumb_func_end sub_81007D0 - - thumb_func_start sub_8100890 -sub_8100890: @ 8100890 - push {lr} - ldr r0, _081008A8 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bhi _08100934 - lsls r0, 2 - ldr r1, _081008AC @ =_081008B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081008A8: .4byte gUnknown_203ACEC -_081008AC: .4byte _081008B0 - .align 2, 0 -_081008B0: - .4byte _081008C8 - .4byte _081008CE - .4byte _081008E0 - .4byte _081008F2 - .4byte _08100914 - .4byte _0810092C -_081008C8: - bl sub_8100FDC - b _08100902 -_081008CE: - bl sub_8101F80 - bl sub_81022B0 - bl sub_81023F8 - bl sub_81015BC - b _08100902 -_081008E0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100934 - movs r0, 0x3 - bl sub_81015D4 - b _08100902 -_081008F2: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100934 - movs r0, 0 - bl ShowBg -_08100902: - ldr r0, _08100910 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100934 - .align 2, 0 -_08100910: .4byte gUnknown_203ACEC -_08100914: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100934 - bl sub_8101BA8 - ldr r0, _08100930 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810092C: - movs r0, 0 - b _08100936 - .align 2, 0 -_08100930: .4byte gUnknown_203ACEC -_08100934: - movs r0, 0x1 -_08100936: - pop {r1} - bx r1 - thumb_func_end sub_8100890 - - thumb_func_start sub_810093C -sub_810093C: @ 810093C - push {lr} - ldr r0, _08100954 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081009F0 - lsls r0, 2 - ldr r1, _08100958 @ =_0810095C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08100954: .4byte gUnknown_203ACEC -_08100958: .4byte _0810095C - .align 2, 0 -_0810095C: - .4byte _08100970 - .4byte _08100982 - .4byte _08100994 - .4byte _081009A4 - .4byte _081009C4 -_08100970: - bl sub_8101F80 - bl sub_81022B0 - bl sub_81023F8 - bl sub_81015BC - b _081009B2 -_08100982: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - movs r0, 0x4 - bl sub_81015D4 - b _081009B2 -_08100994: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - bl sub_810131C - b _081009B2 -_081009A4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - bl sub_8101FAC -_081009B2: - ldr r0, _081009C0 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081009F0 - .align 2, 0 -_081009C0: .4byte gUnknown_203ACEC -_081009C4: - bl sub_8102018 - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - bl sub_8101BC0 - movs r0, 0 - bl sub_81022E0 - bl sub_810224C - ldr r0, _081009EC @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0 - b _081009F2 - .align 2, 0 -_081009EC: .4byte gUnknown_203ACEC -_081009F0: - movs r0, 0x1 -_081009F2: - pop {r1} - bx r1 - thumb_func_end sub_810093C - - thumb_func_start sub_81009F8 -sub_81009F8: @ 81009F8 - push {lr} - bl sub_8101F04 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_81009F8 - - thumb_func_start sub_8100A04 -sub_8100A04: @ 8100A04 - push {r4,lr} - ldr r4, _08100A1C @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100A30 - cmp r0, 0x1 - bgt _08100A20 - cmp r0, 0 - beq _08100A2A - b _08100A6E - .align 2, 0 -_08100A1C: .4byte gUnknown_203ACEC -_08100A20: - cmp r0, 0x2 - beq _08100A4C - cmp r0, 0x3 - beq _08100A6A - b _08100A6E -_08100A2A: - bl sub_81013EC - b _08100A42 -_08100A30: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100A6E - movs r0, 0x1 - movs r1, 0x2 - bl sub_81019B0 -_08100A42: - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100A6E -_08100A4C: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100A6E - bl sub_8101F04 - bl sub_810224C - bl sub_8102394 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100A6A: - movs r0, 0 - b _08100A70 -_08100A6E: - movs r0, 0x1 -_08100A70: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100A04 - - thumb_func_start sub_8100A78 -sub_8100A78: @ 8100A78 - push {r4,lr} - ldr r4, _08100A90 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100AA4 - cmp r0, 0x1 - bgt _08100A94 - cmp r0, 0 - beq _08100A9E - b _08100AE0 - .align 2, 0 -_08100A90: .4byte gUnknown_203ACEC -_08100A94: - cmp r0, 0x2 - beq _08100AC2 - cmp r0, 0x3 - beq _08100ADC - b _08100AE0 -_08100A9E: - bl sub_8101410 - b _08100AB8 -_08100AA4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100AE0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - bl sub_81019B0 -_08100AB8: - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100AE0 -_08100AC2: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100AE0 - bl sub_810224C - bl sub_8102394 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100ADC: - movs r0, 0 - b _08100AE2 -_08100AE0: - movs r0, 0x1 -_08100AE2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100A78 - - thumb_func_start sub_8100AE8 -sub_8100AE8: @ 8100AE8 - push {r4,r5,lr} - ldr r5, _08100B00 @ =gUnknown_203ACEC - ldr r0, [r5] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100B14 - cmp r0, 0x1 - bgt _08100B04 - cmp r0, 0 - beq _08100B0E - b _08100B66 - .align 2, 0 -_08100B00: .4byte gUnknown_203ACEC -_08100B04: - cmp r0, 0x2 - beq _08100B44 - cmp r0, 0x3 - beq _08100B62 - b _08100B66 -_08100B0E: - bl sub_8101434 - b _08100B3A -_08100B14: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100B66 - bl sub_80FFE48 - adds r4, r0, 0 - bl sub_8101A48 - lsls r4, 24 - lsrs r4, 24 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_81019B0 -_08100B3A: - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100B66 -_08100B44: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100B66 - bl sub_8101F04 - bl sub_810224C - bl sub_8102394 - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100B62: - movs r0, 0 - b _08100B68 -_08100B66: - movs r0, 0x1 -_08100B68: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8100AE8 - - thumb_func_start sub_8100B70 -sub_8100B70: @ 8100B70 - push {r4,r5,lr} - ldr r5, _08100B88 @ =gUnknown_203ACEC - ldr r0, [r5] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100B9C - cmp r0, 0x1 - bgt _08100B8C - cmp r0, 0 - beq _08100B96 - b _08100BEA - .align 2, 0 -_08100B88: .4byte gUnknown_203ACEC -_08100B8C: - cmp r0, 0x2 - beq _08100BCC - cmp r0, 0x3 - beq _08100BE6 - b _08100BEA -_08100B96: - bl sub_8101478 - b _08100BC2 -_08100B9C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100BEA - bl sub_80FFE48 - adds r4, r0, 0 - bl sub_8101A48 - lsls r4, 24 - lsrs r4, 24 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_81019B0 -_08100BC2: - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100BEA -_08100BCC: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100BEA - bl sub_810224C - bl sub_8102394 - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100BE6: - movs r0, 0 - b _08100BEC -_08100BEA: - movs r0, 0x1 -_08100BEC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8100B70 - - thumb_func_start sub_8100BF4 -sub_8100BF4: @ 8100BF4 - push {r4,lr} - ldr r4, _08100C50 @ =gUnknown_203ACEC - movs r0, 0x98 - lsls r0, 5 - bl Alloc - adds r2, r0, 0 - str r2, [r4] - cmp r2, 0 - beq _08100C54 - movs r1, 0 - strh r1, [r2] - movs r3, 0xB6 - lsls r3, 2 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - movs r0, 0x1 - b _08100C56 - .align 2, 0 -_08100C50: .4byte gUnknown_203ACEC -_08100C54: - movs r0, 0 -_08100C56: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100BF4 - - thumb_func_start sub_8100C5C -sub_8100C5C: @ 8100C5C - push {lr} - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_8100C5C - - thumb_func_start sub_8100CBC -sub_8100CBC: @ 8100CBC - push {r4,lr} - bl ResetPaletteFade - ldr r0, _08100D10 @ =gUnknown_8E99D8C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08100D14 @ =gUnknown_843F76C - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08100D18 @ =gUnknown_843F78C - movs r1, 0x40 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08100D1C @ =gUnknown_843F874 - movs r1, 0xA0 - movs r2, 0x8 - bl LoadPalette - ldr r4, _08100D20 @ =gUnknown_843F87C - adds r0, r4, 0 - movs r1, 0xB0 - movs r2, 0xA - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0xA - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08100D10: .4byte gUnknown_8E99D8C -_08100D14: .4byte gUnknown_843F76C -_08100D18: .4byte gUnknown_843F78C -_08100D1C: .4byte gUnknown_843F874 -_08100D20: .4byte gUnknown_843F87C - thumb_func_end sub_8100CBC - - thumb_func_start sub_8100D24 -sub_8100D24: @ 8100D24 - push {r4,r5,lr} - sub sp, 0x14 - bl sub_80FFCFC - adds r5, r0, 0 - cmp r5, 0 - beq _08100D7A - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - movs r4, 0x80 - subs r4, r0 - lsrs r4, 1 - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_8100DC4 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08100D7A: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8100D24 - - thumb_func_start sub_8100D84 -sub_8100D84: @ 8100D84 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r2, 0 - ldr r2, [sp, 0x1C] - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r0, r2, 24 - lsls r4, 24 - lsrs r4, 24 - cmp r1, 0x1 - bne _08100DAC - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 -_08100DAC: - str r0, [sp] - str r4, [sp, 0x4] - ldr r0, [sp, 0x24] - str r0, [sp, 0x8] - adds r0, r5, 0 - adds r2, r6, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8100D84 - - thumb_func_start sub_8100DC4 -sub_8100DC4: @ 8100DC4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r9, r2 - ldr r2, [sp, 0x2C] - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x38] - ldr r7, [sp, 0x3C] - mov r8, r7 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r2, 24 - lsrs r3, r2, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r1, 0x1 - bne _08100E0A - adds r0, r3, 0x2 - lsls r0, 24 - lsrs r3, r0, 24 -_08100E0A: - add r0, sp, 0xC - strb r5, [r0] - strb r6, [r0, 0x1] - strb r2, [r0, 0x2] - str r0, [sp] - lsls r0, r4, 24 - asrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - mov r0, r12 - adds r2, r7, 0 - bl AddTextPrinterParameterized3 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8100DC4 - - thumb_func_start sub_8100E34 -sub_8100E34: @ 8100E34 - push {lr} - sub sp, 0xC - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE0 - bl TextWindow_SetUserSelectedFrame - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl sub_8100E7C - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8100E34 - - thumb_func_start sub_8100E7C -sub_8100E7C: @ 8100E7C - push {lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - movs r0, 0 - str r0, [sp, 0x10] - str r0, [sp, 0xC] - cmp r1, 0x1 - beq _08100EC2 - cmp r1, 0x1 - bgt _08100E9A - cmp r1, 0 - beq _08100EA4 - b _08100ECA -_08100E9A: - cmp r2, 0x2 - beq _08100EAE - cmp r2, 0x3 - beq _08100EB8 - b _08100ECA -_08100EA4: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFD58 - b _08100ECA -_08100EAE: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFDC8 - b _08100ECA -_08100EB8: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFD90 - b _08100ECA -_08100EC2: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFDF4 -_08100ECA: - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, [sp, 0xC] - cmp r2, 0 - beq _08100EEC - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 -_08100EEC: - ldr r2, [sp, 0x10] - cmp r2, 0 - beq _08100F08 - movs r0, 0x10 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 -_08100F08: - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r0} - bx r0 - thumb_func_end sub_8100E7C - - thumb_func_start sub_8100F18 -sub_8100F18: @ 8100F18 - push {lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08100F40 @ =gUnknown_843F8D0 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r2, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_08100F40: .4byte gUnknown_843F8D0 - thumb_func_end sub_8100F18 - - thumb_func_start sub_8100F44 -sub_8100F44: @ 8100F44 - push {r4,r5,lr} - sub sp, 0x8 - bl sub_80FFCE0 - lsls r0, 24 - ldr r5, _08100FC0 @ =0xffffff00 - ldr r3, [sp] - ands r3, r5 - movs r1, 0x3 - orrs r3, r1 - str r3, [sp] - ldr r1, _08100FC4 @ =gUnknown_843F888 - lsrs r0, 22 - adds r0, r1 - ldrb r2, [r0] - lsls r2, 8 - ldr r4, _08100FC8 @ =0xffff00ff - adds r1, r4, 0 - ands r1, r3 - orrs r1, r2 - str r1, [sp] - ldrb r2, [r0, 0x1] - lsls r2, 16 - ldr r3, _08100FCC @ =0xff00ffff - ands r3, r1 - orrs r3, r2 - str r3, [sp] - ldrb r2, [r0, 0x2] - lsls r2, 24 - ldr r1, _08100FD0 @ =0x00ffffff - ands r1, r3 - orrs r1, r2 - str r1, [sp] - ldrb r1, [r0, 0x3] - ldr r0, [sp, 0x4] - ands r0, r5 - orrs r0, r1 - ands r0, r4 - movs r1, 0xB0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _08100FD4 @ =0x0000ffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl AddWindow - ldr r1, _08100FD8 @ =gUnknown_203ACEC - ldr r1, [r1] - strh r0, [r1, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08100FC0: .4byte 0xffffff00 -_08100FC4: .4byte gUnknown_843F888 -_08100FC8: .4byte 0xffff00ff -_08100FCC: .4byte 0xff00ffff -_08100FD0: .4byte 0x00ffffff -_08100FD4: .4byte 0x0000ffff -_08100FD8: .4byte gUnknown_203ACEC - thumb_func_end sub_8100F44 - - thumb_func_start sub_8100FDC -sub_8100FDC: @ 8100FDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - bl sub_80FFD1C - adds r4, r0, 0 - bl sub_80FFD34 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl sub_80FFD28 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - ldr r0, _0810101C @ =gUnknown_203ACEC - ldr r0, [r0] - ldrb r0, [r0, 0x2] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r6, 0 - b _081010D6 - .align 2, 0 -_0810101C: .4byte gUnknown_203ACEC -_08101020: - ldr r0, _0810105C @ =gUnknown_203ACEC - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xA - movs r0, 0xFF - strb r0, [r1, 0xA] - adds r0, r2, 0 - ldr r1, _08101060 @ =gUnknown_843F8DB - bl StringAppend - adds r2, r0, 0 - movs r5, 0 - lsls r7, r6, 28 - adds r0, r6, 0x1 - mov r9, r0 - cmp r5, r8 - bge _081010B4 - ldr r0, _08101064 @ =0x0000ffff - mov r10, r0 -_08101046: - ldrh r0, [r4] - cmp r0, r10 - beq _08101068 - adds r1, r0, 0 - adds r0, r2, 0 - bl CopyEasyChatWord - adds r2, r0, 0 - adds r4, 0x2 - b _08101096 - .align 2, 0 -_0810105C: .4byte gUnknown_203ACEC -_08101060: .4byte gUnknown_843F8DB -_08101064: .4byte 0x0000ffff -_08101068: - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x4 - bl WriteColorChangeControlCode - adds r2, r0, 0 - adds r4, 0x2 - movs r3, 0xF9 - movs r1, 0x9 - movs r0, 0x6 -_0810107C: - strb r3, [r2] - adds r2, 0x1 - strb r1, [r2] - adds r2, 0x1 - subs r0, 0x1 - cmp r0, 0 - bge _0810107C - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x2 - bl WriteColorChangeControlCode - adds r2, r0, 0 -_08101096: - adds r0, r2, 0 - ldr r1, _081010F8 @ =gUnknown_843F8DB - bl StringAppend - adds r2, r0, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x2 - bne _081010AE - cmp r5, 0 - bne _081010AE - cmp r6, 0x4 - beq _081010B4 -_081010AE: - adds r5, 0x1 - cmp r5, r8 - blt _08101046 -_081010B4: - movs r0, 0xFF - strb r0, [r2] - ldr r0, _081010FC @ =gUnknown_203ACEC - ldr r2, [r0] - ldrb r0, [r2, 0x2] - adds r2, 0xA - lsrs r1, r7, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 - mov r6, r9 -_081010D6: - ldr r0, [sp, 0xC] - cmp r6, r0 - blt _08101020 - ldr r0, _081010FC @ =gUnknown_203ACEC - ldr r0, [r0] - ldrb r0, [r0, 0x2] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081010F8: .4byte gUnknown_843F8DB -_081010FC: .4byte gUnknown_203ACEC - thumb_func_end sub_8100FDC - - thumb_func_start sub_8101100 -sub_8101100: @ 8101100 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - bl sub_80FFCE0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - str r0, [sp] - ldr r2, _08101194 @ =0x01000200 - mov r0, sp - mov r1, r8 - bl CpuFastSet - cmp r5, 0x2 - bne _081011A4 - ldr r0, _08101198 @ =gUnknown_843F888 - adds r1, r0, 0 - adds r1, 0x8 - ldrb r5, [r0, 0x8] - ldrb r0, [r1, 0x2] - adds r4, r5, r0 - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x3] - adds r0, r2 - mov r12, r0 - adds r7, r2, 0 - cmp r7, r12 - blt _08101144 - b _08101296 -_08101144: - adds r3, r5, 0 - lsls r0, r3, 1 - mov r9, r0 -_0810114A: - subs r6, r3, 0x1 - lsls r0, r7, 5 - adds r1, r0, r6 - lsls r1, 1 - add r1, r8 - ldr r5, _0810119C @ =0x00001005 - adds r2, r5, 0 - strh r2, [r1] - adds r6, r3, 0 - adds r5, r0, 0 - adds r2, r7, 0x1 - cmp r6, r4 - bge _0810117E - movs r0, 0x80 - lsls r0, 5 - adds r1, r0, 0 - lsls r0, r7, 6 - add r0, r8 - add r0, r9 - subs r6, r4, r6 -_08101172: - strh r1, [r0] - adds r0, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _08101172 - adds r6, r4, 0 -_0810117E: - adds r0, r5, r6 - lsls r0, 1 - add r0, r8 - ldr r5, _081011A0 @ =0x00001007 - adds r1, r5, 0 - strh r1, [r0] - adds r7, r2, 0 - cmp r7, r12 - blt _0810114A - b _08101296 - .align 2, 0 -_08101194: .4byte 0x01000200 -_08101198: .4byte gUnknown_843F888 -_0810119C: .4byte 0x00001005 -_081011A0: .4byte 0x00001007 -_081011A4: - ldr r6, _081012A8 @ =gUnknown_843F888 - mov r9, r6 - lsls r5, 2 - adds r1, r5, r6 - ldrb r3, [r1, 0x1] - subs r7, r3, 0x1 - ldrb r2, [r1] - subs r6, r2, 0x1 - ldrb r0, [r1, 0x2] - adds r4, r2, r0 - ldrb r0, [r1, 0x3] - adds r3, r0 - mov r12, r3 - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r3, _081012AC @ =0x00001001 - adds r1, r3, 0 - strh r1, [r0] - adds r6, r2, 0 - mov r10, r9 - mov r9, r5 - cmp r6, r4 - bge _081011F0 - ldr r5, _081012B0 @ =0x00001002 - adds r2, r5, 0 - lsls r1, r6, 1 - lsls r0, r7, 6 - add r0, r8 - adds r1, r0 - subs r6, r4, r6 -_081011E4: - strh r2, [r1] - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _081011E4 - adds r6, r4, 0 -_081011F0: - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r6, _081012B4 @ =0x00001003 - adds r1, r6, 0 - strh r1, [r0] - adds r7, 0x1 - cmp r7, r12 - bge _08101252 - ldr r0, _081012A8 @ =gUnknown_843F888 - add r0, r9 - ldrb r3, [r0] - lsls r5, r3, 1 -_0810120C: - subs r6, r3, 0x1 - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r2, _081012B8 @ =0x00001005 - adds r1, r2, 0 - strh r1, [r0] - adds r6, r3, 0 - adds r2, r7, 0x1 - cmp r6, r4 - bge _0810123E - movs r0, 0x80 - lsls r0, 5 - adds r1, r0, 0 - lsls r0, r7, 6 - add r0, r8 - adds r0, r5, r0 - subs r6, r4, r6 -_08101232: - strh r1, [r0] - adds r0, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _08101232 - adds r6, r4, 0 -_0810123E: - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r6, _081012BC @ =0x00001007 - adds r1, r6, 0 - strh r1, [r0] - adds r7, r2, 0 - cmp r7, r12 - blt _0810120C -_08101252: - mov r0, r9 - add r0, r10 - ldrb r3, [r0] - subs r6, r3, 0x1 - lsls r2, r7, 5 - adds r0, r2, r6 - lsls r0, 1 - add r0, r8 - ldr r5, _081012C0 @ =0x00001009 - adds r1, r5, 0 - strh r1, [r0] - adds r6, r3, 0 - adds r5, r2, 0 - cmp r6, r4 - bge _0810128A - ldr r0, _081012C4 @ =0x0000100a - adds r2, r0, 0 - lsls r1, r6, 1 - lsls r0, r7, 6 - add r0, r8 - adds r0, r1, r0 - subs r6, r4, r6 -_0810127E: - strh r2, [r0] - adds r0, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _0810127E - adds r6, r4, 0 -_0810128A: - adds r0, r5, r6 - lsls r0, 1 - add r0, r8 - ldr r2, _081012C8 @ =0x0000100b - adds r1, r2, 0 - strh r1, [r0] -_08101296: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081012A8: .4byte gUnknown_843F888 -_081012AC: .4byte 0x00001001 -_081012B0: .4byte 0x00001002 -_081012B4: .4byte 0x00001003 -_081012B8: .4byte 0x00001005 -_081012BC: .4byte 0x00001007 -_081012C0: .4byte 0x00001009 -_081012C4: .4byte 0x0000100a -_081012C8: .4byte 0x0000100b - thumb_func_end sub_8101100 - - thumb_func_start sub_81012CC -sub_81012CC: @ 81012CC - push {lr} - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - pop {r0} - bx r0 - thumb_func_end sub_81012CC - - thumb_func_start sub_81012E0 -sub_81012E0: @ 81012E0 - push {r4,lr} - adds r4, r0, 0 - bl sub_810198C - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - cmp r4, 0x1 - beq _08101304 - cmp r4, 0x1 - bcc _081012FE - cmp r4, 0x2 - beq _0810130A - b _0810130E -_081012FE: - bl sub_810133C - b _0810130E -_08101304: - bl sub_81013A0 - b _0810130E -_0810130A: - bl sub_81013DC -_0810130E: - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81012E0 - - thumb_func_start sub_810131C -sub_810131C: @ 810131C - push {lr} - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _08101330 - movs r0, 0 - bl sub_81012E0 - b _08101336 -_08101330: - movs r0, 0x1 - bl sub_81012E0 -_08101336: - pop {r0} - bx r0 - thumb_func_end sub_810131C - - thumb_func_start sub_810133C -sub_810133C: @ 810133C - push {r4-r7,lr} - sub sp, 0xC - movs r5, 0 - movs r7, 0x60 -_08101344: - movs r4, 0 - lsls r0, r7, 24 - lsrs r6, r0, 24 -_0810134A: - lsls r0, r5, 24 - lsrs r0, 24 - adds r5, 0x1 - bl GetSelectedGroupByIndex - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x16 - beq _0810138A - bl GetEasyChatWordGroupName - adds r2, r0, 0 - movs r0, 0x54 - adds r3, r4, 0 - muls r3, r0 - adds r3, 0xA - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - bl sub_8100D84 - adds r4, 0x1 - cmp r4, 0x1 - ble _0810134A - adds r7, 0x10 - b _08101344 -_0810138A: - bl sub_80FFE28 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_81019B0 - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810133C - - thumb_func_start sub_81013A0 -sub_81013A0: @ 81013A0 - push {r4-r6,lr} - sub sp, 0xC - movs r5, 0 - movs r4, 0xC0 - lsls r4, 23 - ldr r6, _081013D8 @ =gUnknown_843F8E0 -_081013AC: - ldm r6!, {r2} - lsrs r0, r4, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0xA - bl sub_8100D84 - movs r0, 0x80 - lsls r0, 21 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0x3 - bls _081013AC - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081013D8: .4byte gUnknown_843F8E0 - thumb_func_end sub_81013A0 - - thumb_func_start sub_81013DC -sub_81013DC: @ 81013DC - push {lr} - movs r0, 0 - movs r1, 0x4 - bl sub_81014AC - pop {r0} - bx r0 - thumb_func_end sub_81013DC - - thumb_func_start sub_81013EC -sub_81013EC: @ 81013EC - push {r4,lr} - bl sub_80FFE48 - adds r4, r0, 0 - adds r4, 0x3 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8101558 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81014AC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81013EC - - thumb_func_start sub_8101410 -sub_8101410: @ 8101410 - push {r4,lr} - bl sub_80FFE48 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8101558 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81014AC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101410 - - thumb_func_start sub_8101434 -sub_8101434: @ 8101434 - push {r4,r5,lr} - bl sub_80FFE48 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - adds r0, r5, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80FFE54 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bls _08101456 - adds r4, r0, 0 -_08101456: - cmp r5, r4 - bcs _08101470 - subs r4, r5 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8101558 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81014AC -_08101470: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101434 - - thumb_func_start sub_8101478 -sub_8101478: @ 8101478 - push {r4,r5,lr} - bl sub_80FFE48 - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8101A48 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _081014A4 - subs r4, r0, r5 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8101558 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81014AC -_081014A4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101478 - - thumb_func_start sub_81014AC -sub_81014AC: @ 81014AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r4, r0, 1 - lsls r0, 4 - adds r1, r0, 0 - adds r1, 0x60 - movs r0, 0xFF - ands r1, r0 - movs r0, 0 - cmp r0, r10 - bge _08101538 - ldr r2, _08101550 @ =gUnknown_203ACEC - mov r9, r2 -_081014D8: - movs r5, 0 - movs r2, 0x10 - adds r2, r1 - mov r8, r2 - adds r7, r0, 0x1 - lsls r0, r1, 24 - lsrs r6, r0, 24 -_081014E6: - lsls r0, r4, 16 - lsrs r0, 16 - adds r4, 0x1 - bl GetDisplayedWordByIndex - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _08101554 @ =0x0000ffff - cmp r1, r0 - beq _0810152A - mov r2, r9 - ldr r0, [r2] - adds r0, 0xCB - movs r2, 0 - bl CopyEasyChatWordPadded - mov r0, r9 - ldr r2, [r0] - adds r2, 0xCB - movs r0, 0xD - adds r3, r5, 0 - muls r3, r0 - adds r3, 0x3 - lsls r3, 27 - lsrs r3, 24 - str r6, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - bl sub_8100D84 -_0810152A: - adds r5, 0x1 - cmp r5, 0x1 - ble _081014E6 - mov r1, r8 - adds r0, r7, 0 - cmp r0, r10 - blt _081014D8 -_08101538: - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101550: .4byte gUnknown_203ACEC -_08101554: .4byte 0x0000ffff - thumb_func_end sub_81014AC - - thumb_func_start sub_8101558 -sub_8101558: @ 8101558 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsls r1, 24 - lsrs r0, 20 - adds r3, r0, 0 - adds r3, 0x60 - movs r0, 0xFF - ands r3, r0 - lsrs r0, r1, 20 - adds r1, r3, r0 - cmp r1, 0xFF - ble _08101584 - ldr r0, _08101580 @ =0xffffff00 - adds r4, r1, r0 - movs r0, 0x80 - lsls r0, 1 - subs r0, r3 - b _08101586 - .align 2, 0 -_08101580: .4byte 0xffffff00 -_08101584: - movs r4, 0 -_08101586: - movs r5, 0xE0 - str r5, [sp] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - cmp r4, 0 - beq _081015B2 - str r5, [sp] - lsls r0, r4, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect -_081015B2: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101558 - - thumb_func_start sub_81015BC -sub_81015BC: @ 81015BC - push {lr} - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_81015BC - - thumb_func_start sub_81015D4 -sub_81015D4: @ 81015D4 - push {lr} - ldr r1, _081015E8 @ =gUnknown_203ACEC - cmp r0, 0x6 - bhi _0810168E - lsls r0, 2 - ldr r1, _081015EC @ =_081015F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081015E8: .4byte gUnknown_203ACEC -_081015EC: .4byte _081015F0 - .align 2, 0 -_081015F0: - .4byte _0810160C - .4byte _08101620 - .4byte _08101630 - .4byte _08101644 - .4byte _08101658 - .4byte _0810166C - .4byte _08101680 -_0810160C: - ldr r1, _0810161C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0xA - b _0810168C - .align 2, 0 -_0810161C: .4byte gUnknown_203ACEC -_08101620: - ldr r1, _0810162C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r3, 0 - movs r0, 0x9 - b _0810164C - .align 2, 0 -_0810162C: .4byte gUnknown_203ACEC -_08101630: - ldr r1, _08101640 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0xB - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x11 - b _0810168C - .align 2, 0 -_08101640: .4byte gUnknown_203ACEC -_08101644: - ldr r1, _08101654 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r3, 0 - movs r0, 0x11 -_0810164C: - strb r0, [r2, 0x6] - ldr r0, [r1] - strb r3, [r0, 0x7] - b _0810168E - .align 2, 0 -_08101654: .4byte gUnknown_203ACEC -_08101658: - ldr r1, _08101668 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0x11 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0xA - b _0810168C - .align 2, 0 -_08101668: .4byte gUnknown_203ACEC -_0810166C: - ldr r1, _0810167C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0x12 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x16 - b _0810168C - .align 2, 0 -_0810167C: .4byte gUnknown_203ACEC -_08101680: - ldr r1, _081016A8 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0x16 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x12 -_0810168C: - strb r0, [r2, 0x7] -_0810168E: - ldr r1, [r1] - ldrb r0, [r1, 0x6] - movs r3, 0x1 - negs r3, r3 - adds r2, r3, 0 - ldrb r3, [r1, 0x7] - cmp r0, r3 - bcs _081016A0 - movs r2, 0x1 -_081016A0: - strb r2, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_081016A8: .4byte gUnknown_203ACEC - thumb_func_end sub_81015D4 - - thumb_func_start sub_81016AC -sub_81016AC: @ 81016AC - push {r4,lr} - ldr r4, _081016D8 @ =gUnknown_203ACEC - ldr r1, [r4] - ldrb r2, [r1, 0x6] - ldrb r0, [r1, 0x7] - cmp r2, r0 - beq _081016DC - ldrb r0, [r1, 0x8] - adds r0, r2, r0 - strb r0, [r1, 0x6] - ldr r0, [r4] - ldrb r0, [r0, 0x6] - bl sub_81016E4 - ldr r0, [r4] - ldrb r1, [r0, 0x6] - ldrb r0, [r0, 0x7] - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _081016DE - .align 2, 0 -_081016D8: .4byte gUnknown_203ACEC -_081016DC: - movs r0, 0 -_081016DE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81016AC - - thumb_func_start sub_81016E4 -sub_81016E4: @ 81016E4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1E - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0xA - bl FillBgTilemapBufferRect_Palette0 - cmp r4, 0x16 - bls _08101706 - b _08101822 -_08101706: - lsls r0, r4, 2 - ldr r1, _08101710 @ =_08101714 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08101710: .4byte _08101714 - .align 2, 0 -_08101714: - .4byte _08101822 - .4byte _08101770 - .4byte _08101778 - .4byte _08101780 - .4byte _08101788 - .4byte _08101790 - .4byte _08101798 - .4byte _08101808 - .4byte _081017FA - .4byte _081017EC - .4byte _081017DE - .4byte _081017A6 - .4byte _081017AE - .4byte _081017B6 - .4byte _081017BE - .4byte _081017C6 - .4byte _081017CE - .4byte _081017D6 - .4byte _081017DE - .4byte _081017EC - .4byte _081017FA - .4byte _08101808 - .4byte _08101816 -_08101770: - movs r0, 0xB - movs r1, 0xE - movs r2, 0x3 - b _0810179E -_08101778: - movs r0, 0x9 - movs r1, 0xE - movs r2, 0x7 - b _0810179E -_08101780: - movs r0, 0x7 - movs r1, 0xE - movs r2, 0xB - b _0810179E -_08101788: - movs r0, 0x5 - movs r1, 0xE - movs r2, 0xF - b _0810179E -_08101790: - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x13 - b _0810179E -_08101798: - movs r0, 0x1 - movs r1, 0xE - movs r2, 0x17 -_0810179E: - movs r3, 0x2 - bl sub_8101830 - b _08101822 -_081017A6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x18 - b _081017E4 -_081017AE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x19 - b _081017E4 -_081017B6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1A - b _081017E4 -_081017BE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1B - b _081017E4 -_081017C6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - b _081017E4 -_081017CE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1D - b _081017E4 -_081017D6: - movs r0, 0 - movs r1, 0xA - movs r2, 0x1E - b _081017E4 -_081017DE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x17 -_081017E4: - movs r3, 0xA - bl sub_8101830 - b _08101822 -_081017EC: - movs r0, 0x1 - movs r1, 0xB - movs r2, 0x17 - movs r3, 0x8 - bl sub_8101830 - b _08101822 -_081017FA: - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x17 - movs r3, 0x6 - bl sub_8101830 - b _08101822 -_08101808: - movs r0, 0x1 - movs r1, 0xD - movs r2, 0x17 - movs r3, 0x4 - bl sub_8101830 - b _08101822 -_08101816: - movs r0, 0x1 - movs r1, 0xE - movs r2, 0x17 - movs r3, 0x2 - bl sub_8101830 -_08101822: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81016E4 - - thumb_func_start sub_8101830 -sub_8101830: @ 8101830 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r12, r0 - adds r7, r1, 0 - mov r9, r2 - mov r10, r3 - ldr r0, _08101968 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 2 - adds r6, r0, r1 - mov r0, r12 - add r0, r9 - subs r5, r0, 0x1 - adds r0, r7, r3 - subs r0, 0x1 - mov r8, r0 - mov r2, r12 - adds r3, r7, 0 - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r4, _0810196C @ =0x00004001 - adds r1, r4, 0 - strh r1, [r0] - adds r2, 0x1 - cmp r2, r5 - bge _0810188C - ldr r0, _08101970 @ =0x00004002 - adds r4, r0, 0 - lsls r1, r2, 1 - lsls r0, r3, 6 - adds r0, r6 - adds r1, r0 - subs r2, r5, r2 -_08101880: - strh r4, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _08101880 - adds r2, r5, 0 -_0810188C: - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, _08101974 @ =0x00004003 - adds r1, r2, 0 - strh r1, [r0] - adds r3, 0x1 - mov r4, r12 - adds r4, 0x1 - adds r0, r7, 0x1 - str r0, [sp, 0x4] - mov r1, r9 - subs r1, 0x2 - str r1, [sp] - movs r2, 0x2 - negs r2, r2 - add r10, r2 - cmp r3, r8 - bge _081018FC - lsls r7, r4, 1 - mov r9, r7 -_081018B8: - lsls r0, r3, 5 - add r0, r12 - lsls r0, 1 - adds r0, r6 - ldr r2, _08101978 @ =0x00004005 - adds r1, r2, 0 - strh r1, [r0] - adds r2, r4, 0 - adds r7, r3, 0x1 - cmp r4, r5 - bge _081018E8 - movs r0, 0x80 - lsls r0, 7 - adds r1, r0, 0 - lsls r0, r3, 6 - adds r0, r6 - add r0, r9 - subs r2, r5, r4 -_081018DC: - strh r1, [r0] - adds r0, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _081018DC - adds r2, r5, 0 -_081018E8: - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, _0810197C @ =0x00004007 - adds r1, r2, 0 - strh r1, [r0] - adds r3, r7, 0 - cmp r3, r8 - blt _081018B8 -_081018FC: - lsls r0, r3, 5 - mov r7, r12 - adds r1, r0, r7 - lsls r1, 1 - adds r1, r6 - ldr r7, _08101980 @ =0x00004009 - adds r2, r7, 0 - strh r2, [r1] - adds r2, r4, 0 - mov r12, r0 - cmp r4, r5 - bge _0810192E - ldr r0, _08101984 @ =0x0000400a - adds r7, r0, 0 - lsls r1, r4, 1 - lsls r0, r3, 6 - adds r0, r6 - adds r0, r1, r0 - subs r2, r5, r4 -_08101922: - strh r7, [r0] - adds r0, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _08101922 - adds r2, r5, 0 -_0810192E: - mov r1, r12 - adds r0, r1, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, _08101988 @ =0x0000400b - adds r1, r2, 0 - strh r1, [r0] - lsls r0, r4, 27 - lsrs r0, 24 - ldr r3, [sp, 0x4] - lsls r1, r3, 27 - lsrs r1, 24 - ldr r4, [sp] - lsls r2, r4, 27 - lsrs r2, 24 - mov r7, r10 - lsls r3, r7, 27 - lsrs r3, 24 - bl sub_8101A5C - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101968: .4byte gUnknown_203ACEC -_0810196C: .4byte 0x00004001 -_08101970: .4byte 0x00004002 -_08101974: .4byte 0x00004003 -_08101978: .4byte 0x00004005 -_0810197C: .4byte 0x00004007 -_08101980: .4byte 0x00004009 -_08101984: .4byte 0x0000400a -_08101988: .4byte 0x0000400b - thumb_func_end sub_8101830 - - thumb_func_start sub_810198C -sub_810198C: @ 810198C - push {lr} - movs r1, 0x80 - lsls r1, 4 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgY - ldr r0, _081019AC @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_081019AC: .4byte gUnknown_203ACEC - thumb_func_end sub_810198C - - thumb_func_start sub_81019B0 -sub_81019B0: @ 81019B0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x2 - bl GetBgY - adds r2, r0, 0 - ldr r0, _081019FC @ =gUnknown_203ACEC - ldr r3, [r0] - movs r0, 0xB3 - lsls r0, 2 - adds r1, r3, r0 - ldrh r0, [r1] - adds r0, r4 - strh r0, [r1] - lsls r4, 20 - asrs r4, 16 - lsls r0, r4, 8 - adds r2, r0 - cmp r5, 0 - beq _08101A00 - movs r1, 0xB4 - lsls r1, 2 - adds r0, r3, r1 - str r2, [r0] - movs r0, 0xB5 - lsls r0, 2 - adds r1, r3, r0 - lsls r0, r5, 8 - str r0, [r1] - cmp r4, 0 - bge _08101A0A - negs r0, r0 - str r0, [r1] - b _08101A0A - .align 2, 0 -_081019FC: .4byte gUnknown_203ACEC -_08101A00: - movs r0, 0x2 - adds r1, r2, 0 - movs r2, 0 - bl ChangeBgY -_08101A0A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81019B0 - - thumb_func_start sub_8101A10 -sub_8101A10: @ 8101A10 - push {lr} - movs r0, 0x2 - bl GetBgY - ldr r1, _08101A3C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r3, 0xB4 - lsls r3, 2 - adds r1, r2, r3 - ldr r1, [r1] - cmp r0, r1 - beq _08101A40 - movs r1, 0xB5 - lsls r1, 2 - adds r0, r2, r1 - ldr r1, [r0] - movs r0, 0x2 - movs r2, 0x1 - bl ChangeBgY - movs r0, 0x1 - b _08101A42 - .align 2, 0 -_08101A3C: .4byte gUnknown_203ACEC -_08101A40: - movs r0, 0 -_08101A42: - pop {r1} - bx r1 - thumb_func_end sub_8101A10 - - thumb_func_start sub_8101A48 -sub_8101A48: @ 8101A48 - ldr r0, _08101A58 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_08101A58: .4byte gUnknown_203ACEC - thumb_func_end sub_8101A48 - - thumb_func_start sub_8101A5C -sub_8101A5C: @ 8101A5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, r0, 8 - adds r0, r2 - orrs r4, r0 - lsls r5, r1, 8 - adds r1, r3 - orrs r5, r1 - movs r0, 0x40 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x44 - adds r1, r5, 0 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101A5C - - thumb_func_start sub_8101A90 -sub_8101A90: @ 8101A90 - push {r4,r5,lr} - ldr r0, _08101AB8 @ =gUnknown_843F8F0 - bl LoadSpriteSheets - ldr r0, _08101ABC @ =gUnknown_843F910 - bl LoadSpritePalettes - movs r5, 0 - ldr r4, _08101AC0 @ =gUnknown_843F938 -_08101AA2: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x3 - bls _08101AA2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08101AB8: .4byte gUnknown_843F8F0 -_08101ABC: .4byte gUnknown_843F910 -_08101AC0: .4byte gUnknown_843F938 - thumb_func_end sub_8101A90 - - thumb_func_start sub_8101AC4 -sub_8101AC4: @ 8101AC4 - push {lr} - bl sub_80FFCE0 - lsls r0, 24 - ldr r1, _08101B10 @ =gUnknown_843F888 - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 19 - ldrb r2, [r0, 0x1] - adds r2, 0x1 - lsls r2, 3 - adds r2, 0x1 - ldr r0, _08101B14 @ =gUnknown_843F968 - movs r3, 0xD0 - lsls r3, 12 - adds r1, r3 - asrs r1, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08101B18 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r1, 0xB6 - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08101B1C @ =gSprites - adds r1, r0 - str r1, [r2] - movs r0, 0x1 - strh r0, [r1, 0x30] - pop {r0} - bx r0 - .align 2, 0 -_08101B10: .4byte gUnknown_843F888 -_08101B14: .4byte gUnknown_843F968 -_08101B18: .4byte gUnknown_203ACEC -_08101B1C: .4byte gSprites - thumb_func_end sub_8101AC4 - - thumb_func_start sub_8101B20 -sub_8101B20: @ 8101B20 - push {lr} - adds r1, r0, 0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08101B4E - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08101B4E - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _08101B4E - ldr r0, _08101B54 @ =0x0000fffa - strh r0, [r1, 0x24] -_08101B4E: - pop {r0} - bx r0 - .align 2, 0 -_08101B54: .4byte 0x0000fffa - thumb_func_end sub_8101B20 - - thumb_func_start sub_8101B58 -sub_8101B58: @ 8101B58 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08101B84 @ =gUnknown_203ACEC - ldr r2, [r2] - movs r3, 0xB6 - lsls r3, 2 - adds r2, r3 - ldr r3, [r2] - movs r4, 0 - strh r0, [r3, 0x20] - ldr r0, [r2] - strh r1, [r0, 0x22] - ldr r0, [r2] - strh r4, [r0, 0x24] - ldr r0, [r2] - strh r4, [r0, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101B84: .4byte gUnknown_203ACEC - thumb_func_end sub_8101B58 - - thumb_func_start sub_8101B88 -sub_8101B88: @ 8101B88 - ldr r0, _08101BA4 @ =gUnknown_203ACEC - ldr r1, [r0] - movs r0, 0xB6 - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0 - strh r2, [r0, 0x2E] - ldr r0, [r1] - strh r2, [r0, 0x30] - ldr r0, [r1] - strh r2, [r0, 0x24] - bx lr - .align 2, 0 -_08101BA4: .4byte gUnknown_203ACEC - thumb_func_end sub_8101B88 - - thumb_func_start sub_8101BA8 -sub_8101BA8: @ 8101BA8 - ldr r0, _08101BBC @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB6 - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x30] - bx lr - .align 2, 0 -_08101BBC: .4byte gUnknown_203ACEC - thumb_func_end sub_8101BA8 - - thumb_func_start sub_8101BC0 -sub_8101BC0: @ 8101BC0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r6, _08101C38 @ =gUnknown_843F9B8 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08101C3C @ =gUnknown_203ACEC - ldr r2, [r5] - movs r1, 0xB7 - lsls r1, 2 - mov r8, r1 - add r2, r8 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _08101C40 @ =gSprites - adds r1, r4 - str r1, [r2] - movs r0, 0x20 - strh r0, [r1, 0x24] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - movs r1, 0xB8 - lsls r1, 2 - adds r3, r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r3] - ldr r0, _08101C44 @ =0x0000ffe0 - strh r0, [r1, 0x24] - add r2, r8 - ldr r1, [r2] - adds r1, 0x3F - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - bl sub_8101C80 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08101C38: .4byte gUnknown_843F9B8 -_08101C3C: .4byte gUnknown_203ACEC -_08101C40: .4byte gSprites -_08101C44: .4byte 0x0000ffe0 - thumb_func_end sub_8101BC0 - - thumb_func_start sub_8101C48 -sub_8101C48: @ 8101C48 - push {r4-r6,lr} - ldr r5, _08101C7C @ =gUnknown_203ACEC - ldr r0, [r5] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - adds r4, r0, r4 - movs r6, 0 - str r6, [r4] - movs r4, 0xB8 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - adds r0, r4 - str r6, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08101C7C: .4byte gUnknown_203ACEC - thumb_func_end sub_8101C48 - - thumb_func_start sub_8101C80 -sub_8101C80: @ 8101C80 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08101CC8 @ =gUnknown_203ACEC - ldr r1, [r0] - movs r2, 0xB7 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _08101CDC - adds r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _08101CDC - mov r4, sp - adds r4, 0x1 - mov r0, sp - adds r1, r4, 0 - bl sub_80FFE08 - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _08101CCC - mov r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - bl sub_8101CE4 - b _08101CDC - .align 2, 0 -_08101CC8: .4byte gUnknown_203ACEC -_08101CCC: - mov r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - bl sub_8101D9C -_08101CDC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101C80 - - thumb_func_start sub_8101CE4 -sub_8101CE4: @ 8101CE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 24 - lsrs r7, r1, 24 - lsls r0, 24 - asrs r5, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _08101D48 - ldr r0, _08101D44 @ =gUnknown_203ACEC - mov r8, r0 - ldr r0, [r0] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - mov r2, r8 - ldr r1, [r2] - adds r4, r1, r4 - ldr r2, [r4] - movs r0, 0x54 - muls r5, r0 - adds r5, 0x3A - strh r5, [r2, 0x20] - ldr r0, [r4] - lsls r4, r7, 24 - asrs r4, 20 - adds r4, 0x60 - strh r4, [r0, 0x22] - movs r6, 0xB8 - lsls r6, 2 - adds r1, r6 - ldr r0, [r1] - movs r1, 0 - bl StartSpriteAnim - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - ldr r1, [r0] - strh r5, [r1, 0x20] - b _08101D8A - .align 2, 0 -_08101D44: .4byte gUnknown_203ACEC -_08101D48: - ldr r6, _08101D98 @ =gUnknown_203ACEC - ldr r0, [r6] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r6] - adds r4, r1, r4 - ldr r0, [r4] - movs r2, 0xD8 - mov r8, r2 - mov r2, r8 - strh r2, [r0, 0x20] - ldr r0, [r4] - lsls r4, r7, 24 - asrs r4, 20 - adds r4, 0x70 - strh r4, [r0, 0x22] - movs r5, 0xB8 - lsls r5, 2 - adds r1, r5 - ldr r0, [r1] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldr r1, [r0] - mov r2, r8 - strh r2, [r1, 0x20] -_08101D8A: - ldr r0, [r0] - strh r4, [r0, 0x22] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101D98: .4byte gUnknown_203ACEC - thumb_func_end sub_8101CE4 - - thumb_func_start sub_8101D9C -sub_8101D9C: @ 8101D9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsrs r4, r0, 24 - asrs r2, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _08101E2C - lsls r0, r5, 24 - asrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, 0x60 - mov r8, r0 - movs r7, 0x20 - cmp r2, 0x6 - bne _08101DCE - cmp r1, 0 - bne _08101DCE - movs r7, 0x9D - movs r6, 0x2 - b _08101DE4 -_08101DCE: - ldr r3, _08101E24 @ =gUnknown_843F958 - lsls r1, r4, 24 - lsrs r0, r1, 24 - movs r2, 0 - cmp r0, 0x6 - bhi _08101DDC - asrs r2, r1, 24 -_08101DDC: - adds r0, r2, r3 - ldrb r0, [r0] - adds r7, r0 - movs r6, 0x3 -_08101DE4: - ldr r5, _08101E28 @ =gUnknown_203ACEC - ldr r0, [r5] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - adds r1, r6, 0 - bl StartSpriteAnim - ldr r1, [r5] - adds r4, r1, r4 - ldr r0, [r4] - strh r7, [r0, 0x20] - ldr r0, [r4] - mov r2, r8 - strh r2, [r0, 0x22] - movs r4, 0xB8 - lsls r4, 2 - adds r1, r4 - ldr r0, [r1] - adds r1, r6, 0 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, r4 - ldr r1, [r0] - strh r7, [r1, 0x20] - ldr r0, [r0] - mov r1, r8 - strh r1, [r0, 0x22] - b _08101E72 - .align 2, 0 -_08101E24: .4byte gUnknown_843F958 -_08101E28: .4byte gUnknown_203ACEC -_08101E2C: - ldr r6, _08101E7C @ =gUnknown_203ACEC - ldr r0, [r6] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r6] - adds r4, r1, r4 - ldr r0, [r4] - movs r2, 0xD8 - mov r8, r2 - mov r2, r8 - strh r2, [r0, 0x20] - ldr r0, [r4] - lsls r4, r5, 24 - asrs r4, 20 - adds r4, 0x70 - strh r4, [r0, 0x22] - movs r5, 0xB8 - lsls r5, 2 - adds r1, r5 - ldr r0, [r1] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldr r1, [r0] - mov r2, r8 - strh r2, [r1, 0x20] - ldr r0, [r0] - strh r4, [r0, 0x22] -_08101E72: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101E7C: .4byte gUnknown_203ACEC - thumb_func_end sub_8101D9C - - thumb_func_start sub_8101E80 -sub_8101E80: @ 8101E80 - push {lr} - ldr r0, _08101EC4 @ =gUnknown_843F968 - movs r1, 0 - movs r2, 0 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08101EC8 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r1, 0xB9 - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08101ECC @ =gSprites - adds r1, r0 - str r1, [r2] - ldr r0, _08101ED0 @ =sub_8101ED4 - str r0, [r1, 0x1C] - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - bl sub_8101F04 - pop {r0} - bx r0 - .align 2, 0 -_08101EC4: .4byte gUnknown_843F968 -_08101EC8: .4byte gUnknown_203ACEC -_08101ECC: .4byte gSprites -_08101ED0: .4byte sub_8101ED4 - thumb_func_end sub_8101E80 - - thumb_func_start sub_8101ED4 -sub_8101ED4: @ 8101ED4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08101EFA - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _08101EFA - ldr r0, _08101F00 @ =0x0000fffa - strh r0, [r1, 0x24] -_08101EFA: - pop {r0} - bx r0 - .align 2, 0 -_08101F00: .4byte 0x0000fffa - thumb_func_end sub_8101ED4 - - thumb_func_start sub_8101F04 -sub_8101F04: @ 8101F04 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x1 - mov r0, sp - adds r1, r4, 0 - bl sub_80FFE34 - mov r0, sp - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xD - muls r0, r1 - adds r0, 0x3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r1, 25 - movs r2, 0xB0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_8101F40 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101F04 - - thumb_func_start sub_8101F40 -sub_8101F40: @ 8101F40 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _08101F7C @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB9 - lsls r1, 2 - adds r3, r0, r1 - ldr r1, [r3] - cmp r1, 0 - beq _08101F74 - lsls r0, r2, 3 - adds r0, 0x4 - movs r2, 0 - strh r0, [r1, 0x20] - ldr r1, [r3] - adds r0, r4, 0x1 - lsls r0, 3 - adds r0, 0x1 - strh r0, [r1, 0x22] - ldr r0, [r3] - strh r2, [r0, 0x24] - ldr r0, [r3] - strh r2, [r0, 0x2E] -_08101F74: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101F7C: .4byte gUnknown_203ACEC - thumb_func_end sub_8101F40 - - thumb_func_start sub_8101F80 -sub_8101F80: @ 8101F80 - push {r4,lr} - ldr r4, _08101FA8 @ =gUnknown_203ACEC - ldr r0, [r4] - movs r1, 0xB9 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08101FA2 - bl DestroySprite - ldr r0, [r4] - movs r1, 0xB9 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_08101FA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101FA8: .4byte gUnknown_203ACEC - thumb_func_end sub_8101F80 - - thumb_func_start sub_8101FAC -sub_8101FAC: @ 8101FAC - push {r4-r6,lr} - ldr r0, _08102004 @ =gUnknown_843FA40 - movs r1, 0xD0 - movs r2, 0x80 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08102008 @ =gUnknown_203ACEC - ldr r2, [r5] - movs r1, 0xBA - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _0810200C @ =gSprites - adds r1, r4 - str r1, [r2] - movs r6, 0 - ldr r0, _08102010 @ =0x0000ffc0 - strh r0, [r1, 0x24] - ldr r0, _08102014 @ =gUnknown_843FA20 - movs r1, 0xD0 - movs r2, 0x50 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - movs r1, 0xBB - lsls r1, 2 - adds r3, r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r3] - strb r6, [r2, 0x9] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08102004: .4byte gUnknown_843FA40 -_08102008: .4byte gUnknown_203ACEC -_0810200C: .4byte gSprites -_08102010: .4byte 0x0000ffc0 -_08102014: .4byte gUnknown_843FA20 - thumb_func_end sub_8101FAC - - thumb_func_start sub_8102018 -sub_8102018: @ 8102018 - push {r4,lr} - ldr r4, _0810202C @ =gUnknown_203ACEC - ldr r2, [r4] - ldrb r3, [r2, 0x9] - cmp r3, 0 - beq _08102030 - cmp r3, 0x1 - beq _08102088 - movs r0, 0 - b _081020A6 - .align 2, 0 -_0810202C: .4byte gUnknown_203ACEC -_08102030: - movs r0, 0xBA - lsls r0, 2 - adds r2, r0 - ldr r1, [r2] - ldrh r0, [r1, 0x24] - adds r0, 0x8 - strh r0, [r1, 0x24] - ldr r2, [r2] - movs r1, 0x24 - ldrsh r0, [r2, r1] - cmp r0, 0 - blt _081020A4 - strh r3, [r2, 0x24] - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _08102066 - ldr r0, [r4] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _08102076 -_08102066: - ldr r0, [r4] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim -_08102076: - ldr r0, _08102084 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] - b _081020A4 - .align 2, 0 -_08102084: .4byte gUnknown_203ACEC -_08102088: - movs r1, 0xBB - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081020A4 - movs r0, 0x2 - strb r0, [r2, 0x9] - movs r0, 0 - b _081020A6 -_081020A4: - movs r0, 0x1 -_081020A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8102018 - - thumb_func_start sub_81020AC -sub_81020AC: @ 81020AC - push {lr} - ldr r2, _081020CC @ =gUnknown_203ACEC - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x9] - ldr r0, [r2] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_081020CC: .4byte gUnknown_203ACEC - thumb_func_end sub_81020AC - - thumb_func_start sub_81020D0 -sub_81020D0: @ 81020D0 - push {r4-r6,lr} - ldr r5, _081020E4 @ =gUnknown_203ACEC - ldr r3, [r5] - ldrb r0, [r3, 0x9] - cmp r0, 0 - beq _081020E8 - cmp r0, 0x1 - beq _08102102 - movs r0, 0 - b _08102154 - .align 2, 0 -_081020E4: .4byte gUnknown_203ACEC -_081020E8: - movs r1, 0xBB - lsls r1, 2 - adds r0, r3, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08102152 - movs r0, 0x1 - strb r0, [r3, 0x9] - b _08102152 -_08102102: - movs r0, 0xBA - lsls r0, 2 - adds r2, r3, r0 - ldr r1, [r2] - ldrh r0, [r1, 0x24] - subs r0, 0x8 - movs r6, 0 - strh r0, [r1, 0x24] - ldr r0, [r2] - movs r2, 0x24 - ldrsh r1, [r0, r2] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - bgt _08102152 - movs r4, 0xBB - lsls r4, 2 - adds r0, r3, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - movs r1, 0xBA - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - ldr r1, [r5] - adds r4, r1, r4 - str r6, [r4] - movs r2, 0xBA - lsls r2, 2 - adds r0, r1, r2 - str r6, [r0] - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] - movs r0, 0 - b _08102154 -_08102152: - movs r0, 0x1 -_08102154: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81020D0 - - thumb_func_start sub_810215C -sub_810215C: @ 810215C - push {lr} - ldr r0, _08102174 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x4 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_08102174: .4byte gUnknown_203ACEC - thumb_func_end sub_810215C - - thumb_func_start sub_8102178 -sub_8102178: @ 8102178 - push {lr} - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _0810219C - ldr r0, _08102198 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _081021AE - .align 2, 0 -_08102198: .4byte gUnknown_203ACEC -_0810219C: - ldr r0, _081021B4 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim -_081021AE: - pop {r0} - bx r0 - .align 2, 0 -_081021B4: .4byte gUnknown_203ACEC - thumb_func_end sub_8102178 - - thumb_func_start sub_81021B8 -sub_81021B8: @ 81021B8 - ldr r0, _081021D0 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsrs r1, 4 - movs r0, 0x1 - bics r0, r1 - bx lr - .align 2, 0 -_081021D0: .4byte gUnknown_203ACEC - thumb_func_end sub_81021B8 - - thumb_func_start sub_81021D4 -sub_81021D4: @ 81021D4 - push {r4,lr} - ldr r4, _08102240 @ =gUnknown_843FA98 - adds r0, r4, 0 - movs r1, 0x60 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08102202 - ldr r0, _08102244 @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBC - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102248 @ =gSprites - adds r0, r1 - str r0, [r2] -_08102202: - adds r0, r4, 0 - movs r1, 0x60 - movs r2, 0x9C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08102236 - ldr r0, _08102244 @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBD - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102248 @ =gSprites - adds r0, r1 - str r0, [r2] - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_08102236: - bl sub_81022B0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08102240: .4byte gUnknown_843FA98 -_08102244: .4byte gUnknown_203ACEC -_08102248: .4byte gSprites - thumb_func_end sub_81021D4 - - thumb_func_start sub_810224C -sub_810224C: @ 810224C - push {r4-r6,lr} - bl sub_80FFE64 - ldr r6, _081022AC @ =gUnknown_203ACEC - ldr r1, [r6] - movs r2, 0xBC - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _08102266 - movs r2, 0x1 -_08102266: - adds r3, r1, 0 - adds r3, 0x3E - movs r4, 0x1 - lsls r2, 2 - ldrb r1, [r3] - movs r5, 0x5 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - bl sub_80FFE98 - ldr r1, [r6] - movs r2, 0xBD - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _08102292 - movs r2, 0x1 -_08102292: - adds r3, r1, 0 - adds r3, 0x3E - adds r1, r4, 0 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081022AC: .4byte gUnknown_203ACEC - thumb_func_end sub_810224C - - thumb_func_start sub_81022B0 -sub_81022B0: @ 81022B0 - ldr r3, _081022DC @ =gUnknown_203ACEC - ldr r0, [r3] - movs r1, 0xBC - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xBD - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_081022DC: .4byte gUnknown_203ACEC - thumb_func_end sub_81022B0 - - thumb_func_start sub_81022E0 -sub_81022E0: @ 81022E0 - push {lr} - cmp r0, 0 - bne _081022FC - ldr r0, _081022F8 @ =gUnknown_203ACEC - ldr r2, [r0] - movs r1, 0xBC - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - movs r1, 0x60 - b _0810230A - .align 2, 0 -_081022F8: .4byte gUnknown_203ACEC -_081022FC: - ldr r0, _0810231C @ =gUnknown_203ACEC - ldr r2, [r0] - movs r1, 0xBC - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - movs r1, 0x78 -_0810230A: - strh r1, [r0, 0x20] - movs r3, 0xBD - lsls r3, 2 - adds r0, r2, r3 - ldr r0, [r0] - strh r1, [r0, 0x20] - pop {r0} - bx r0 - .align 2, 0 -_0810231C: .4byte gUnknown_203ACEC - thumb_func_end sub_81022E0 - - thumb_func_start sub_8102320 -sub_8102320: @ 8102320 - push {r4,lr} - ldr r4, _08102388 @ =gUnknown_843FA80 - adds r0, r4, 0 - movs r1, 0xDC - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0810234E - ldr r0, _0810238C @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBE - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102390 @ =gSprites - adds r0, r1 - str r0, [r2] -_0810234E: - adds r0, r4, 0 - movs r1, 0xDC - movs r2, 0x9C - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0810237E - ldr r0, _0810238C @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBF - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102390 @ =gSprites - adds r0, r1 - str r0, [r2] - movs r1, 0x1 - bl StartSpriteAnim -_0810237E: - bl sub_81023F8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08102388: .4byte gUnknown_843FA80 -_0810238C: .4byte gUnknown_203ACEC -_08102390: .4byte gSprites - thumb_func_end sub_8102320 - - thumb_func_start sub_8102394 -sub_8102394: @ 8102394 - push {r4-r6,lr} - bl sub_80FFE64 - ldr r6, _081023F4 @ =gUnknown_203ACEC - ldr r1, [r6] - movs r2, 0xBE - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _081023AE - movs r2, 0x1 -_081023AE: - adds r3, r1, 0 - adds r3, 0x3E - movs r4, 0x1 - lsls r2, 2 - ldrb r1, [r3] - movs r5, 0x5 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - bl sub_80FFE98 - ldr r1, [r6] - movs r2, 0xBF - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _081023DA - movs r2, 0x1 -_081023DA: - adds r3, r1, 0 - adds r3, 0x3E - adds r1, r4, 0 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081023F4: .4byte gUnknown_203ACEC - thumb_func_end sub_8102394 - - thumb_func_start sub_81023F8 -sub_81023F8: @ 81023F8 - ldr r3, _08102424 @ =gUnknown_203ACEC - ldr r0, [r3] - movs r1, 0xBE - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xBF - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_08102424: .4byte gUnknown_203ACEC - thumb_func_end sub_81023F8 - - thumb_func_start sub_8102428 -sub_8102428: @ 8102428 - push {r4,lr} - sub sp, 0x14 - ldr r3, _081024A8 @ =0xffffff00 - ldr r0, [sp, 0xC] - ands r0, r3 - movs r1, 0x3 - orrs r0, r1 - ldr r2, _081024AC @ =0xffff00ff - ands r0, r2 - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - ldr r1, _081024B0 @ =0xff00ffff - ands r0, r1 - movs r1, 0xB0 - lsls r1, 12 - orrs r0, r1 - ldr r1, _081024B4 @ =0x00ffffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 21 - orrs r0, r1 - str r0, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r3 - movs r1, 0x2 - orrs r0, r1 - ands r0, r2 - movs r1, 0xB0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _081024B8 @ =0x0000ffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 14 - orrs r0, r1 - str r0, [sp, 0x10] - add r0, sp, 0xC - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _081024BC @ =gUnknown_841EE2B - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 - adds r0, r4, 0 - bl PutWindowTilemap - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081024A8: .4byte 0xffffff00 -_081024AC: .4byte 0xffff00ff -_081024B0: .4byte 0xff00ffff -_081024B4: .4byte 0x00ffffff -_081024B8: .4byte 0x0000ffff -_081024BC: .4byte gUnknown_841EE2B - thumb_func_end sub_8102428 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/event_object_80688E4.s b/asm/event_object_80688E4.s deleted file mode 100644 index e850e2200..000000000 --- a/asm/event_object_80688E4.s +++ /dev/null @@ -1,1503 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start FreezeObjectEvent -FreezeObjectEvent: @ 80688E4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5] - movs r0, 0xA0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - bne _0806896C - ldrb r0, [r5, 0x1] - movs r4, 0x1 - orrs r0, r4 - strb r0, [r5, 0x1] - ldr r3, _08068968 @ =gSprites - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 7 - ldrb r2, [r5, 0x2] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsrs r1, 7 - ands r1, r4 - ldrb r2, [r5, 0x3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - b _0806896E - .align 2, 0 -_08068968: .4byte gSprites -_0806896C: - movs r0, 0x1 -_0806896E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FreezeObjectEvent - - thumb_func_start FreezeObjectEvents -FreezeObjectEvents: @ 8068974 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080689A8 @ =gObjectEvents -_0806897A: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08068998 - ldr r0, _080689AC @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _08068998 - adds r0, r1, 0 - bl FreezeObjectEvent -_08068998: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0806897A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080689A8: .4byte gObjectEvents -_080689AC: .4byte gPlayerAvatar - thumb_func_end FreezeObjectEvents - - thumb_func_start FreezeObjectEventsExceptOne -FreezeObjectEventsExceptOne: @ 80689B0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r6, _080689EC @ =gObjectEvents -_080689BA: - cmp r4, r5 - beq _080689DC - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080689DC - ldr r0, _080689F0 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080689DC - adds r0, r1, 0 - bl FreezeObjectEvent -_080689DC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080689BA - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080689EC: .4byte gObjectEvents -_080689F0: .4byte gPlayerAvatar - thumb_func_end FreezeObjectEventsExceptOne - - thumb_func_start UnfreezeObjectEvent -UnfreezeObjectEvent: @ 80689F4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r2, [r5] - ldr r1, _08068A54 @ =0x00000101 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - bne _08068A4C - ldrb r1, [r5, 0x1] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - ldr r4, _08068A58 @ =gSprites - ldrb r0, [r5, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r5, 0x2] - adds r1, 0x2C - lsrs r2, 7 - lsls r2, 6 - ldrb r3, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrb r1, [r5, 0x3] - lsls r1, 31 - lsrs r1, 31 - adds r2, 0x2C - lsls r1, 7 - ldrb r3, [r2] - movs r0, 0x7F - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_08068A4C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068A54: .4byte 0x00000101 -_08068A58: .4byte gSprites - thumb_func_end UnfreezeObjectEvent - - thumb_func_start UnfreezeObjectEvents -UnfreezeObjectEvents: @ 8068A5C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _08068A88 @ =gObjectEvents -_08068A62: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08068A78 - adds r0, r1, 0 - bl UnfreezeObjectEvent -_08068A78: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08068A62 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068A88: .4byte gObjectEvents - thumb_func_end UnfreezeObjectEvents - - thumb_func_start little_step -little_step: @ 8068A8C - lsls r1, 24 - ldr r2, _08068AA8 @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068AA8: .4byte sDirectionToVectors - thumb_func_end little_step - - thumb_func_start double_little_steps -double_little_steps: @ 8068AAC - lsls r1, 24 - ldr r2, _08068ACC @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 1 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 1 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068ACC: .4byte sDirectionToVectors - thumb_func_end double_little_steps - - thumb_func_start triple_little_steps -triple_little_steps: @ 8068AD0 - lsls r1, 24 - ldr r2, _08068AF4 @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r3, r2, 1 - adds r2, r3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r2, r1, 1 - adds r1, r2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068AF4: .4byte sDirectionToVectors - thumb_func_end triple_little_steps - - thumb_func_start quad_little_steps -quad_little_steps: @ 8068AF8 - lsls r1, 24 - ldr r2, _08068B18 @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 2 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068B18: .4byte sDirectionToVectors - thumb_func_end quad_little_steps - - thumb_func_start oct_little_steps -oct_little_steps: @ 8068B1C - lsls r1, 24 - ldr r2, _08068B3C @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 3 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068B3C: .4byte sDirectionToVectors - thumb_func_end oct_little_steps - - thumb_func_start oamt_npc_ministep_reset -oamt_npc_ministep_reset: @ 8068B40 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - bx lr - thumb_func_end oamt_npc_ministep_reset - - thumb_func_start obj_npc_ministep -obj_npc_ministep: @ 8068B54 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _08068BAC @ =gUnknown_83A71B0 - movs r0, 0x36 - ldrsh r2, [r4, r0] - lsls r0, r2, 1 - adds r0, r5 - movs r3, 0x38 - ldrsh r1, [r4, r3] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _08068BB4 - ldr r1, _08068BB0 @ =gUnknown_83A719C - lsls r0, r2, 2 - adds r0, r1 - movs r1, 0x38 - ldrsh r2, [r4, r1] - ldr r0, [r0] - lsls r2, 2 - adds r2, r0 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r5 - lsls r0, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r1, r3] - cmp r0, r1 - blt _08068BB4 - movs r0, 0x1 - b _08068BB6 - .align 2, 0 -_08068BAC: .4byte gUnknown_83A71B0 -_08068BB0: .4byte gUnknown_83A719C -_08068BB4: - movs r0, 0 -_08068BB6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end obj_npc_ministep - - thumb_func_start sub_8068BBC -sub_8068BBC: @ 8068BBC - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068BBC - - thumb_func_start sub_8068BCC -sub_8068BCC: @ 8068BCC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x36] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08068BEC - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08068BEC: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068BFE - movs r0, 0 - b _08068C00 -_08068BFE: - movs r0, 0x1 -_08068C00: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068BCC - - thumb_func_start sub_8068C08 -sub_8068C08: @ 8068C08 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068C08 - - thumb_func_start sub_8068C18 -sub_8068C18: @ 8068C18 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _08068C3E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _08068C42 -_08068C3E: - movs r0, 0 - strh r0, [r4, 0x36] -_08068C42: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068C4E - movs r0, 0 - b _08068C50 -_08068C4E: - movs r0, 0x1 -_08068C50: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068C18 - - thumb_func_start sub_8068C58 -sub_8068C58: @ 8068C58 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068C58 - - thumb_func_start sub_8068C68 -sub_8068C68: @ 8068C68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _08068C90 - movs r0, 0 - strh r0, [r4, 0x36] - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08068C90: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068C9C - movs r0, 0 - b _08068C9E -_08068C9C: - movs r0, 0x1 -_08068C9E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068C68 - - thumb_func_start sub_8068CA4 -sub_8068CA4: @ 8068CA4 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068CA4 - - thumb_func_start sub_8068CB4 -sub_8068CB4: @ 8068CB4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08068CD8 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - b _08068CE8 -_08068CD8: - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl double_little_steps - ldrh r0, [r4, 0x38] - adds r0, 0x2 -_08068CE8: - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068CF6 - movs r0, 0 - b _08068CF8 -_08068CF6: - movs r0, 0x1 -_08068CF8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068CB4 - - thumb_func_start sub_8068D00 -sub_8068D00: @ 8068D00 - lsls r1, 24 - ldr r2, _08068D18 @ =gUnknown_83A71EC - lsrs r1, 22 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - ldr r1, [r1] - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - bx lr - .align 2, 0 -_08068D18: .4byte gUnknown_83A71EC - thumb_func_end sub_8068D00 - - thumb_func_start sub_8068D1C -sub_8068D1C: @ 8068D1C - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - strh r4, [r0, 0x3A] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8068D1C - - thumb_func_start sub_8068D3C -sub_8068D3C: @ 8068D3C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, _08068DBC @ =gUnknown_83A71F8 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r5, sp, 0x8 - ldr r1, _08068DC0 @ =gUnknown_83A71FE - adds r0, r5, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08068D6E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step -_08068D6E: - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - adds r1, r5, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r4, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8068D00 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x3A] - adds r1, 0x1 - strh r1, [r4, 0x3A] - movs r2, 0x36 - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _08068DA8 - movs r6, 0x1 -_08068DA8: - cmp r1, r2 - blt _08068DB2 - movs r0, 0 - strh r0, [r4, 0x26] - movs r6, 0xFF -_08068DB2: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068DBC: .4byte gUnknown_83A71F8 -_08068DC0: .4byte gUnknown_83A71FE - thumb_func_end sub_8068D3C - - thumb_func_start sub_8068DC4 -sub_8068DC4: @ 8068DC4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - ldr r1, _08068E50 @ =gUnknown_83A7202 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r4, sp, 0x8 - ldr r1, _08068E54 @ =gUnknown_83A7208 - adds r0, r4, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08068E00 - ldrh r1, [r5, 0x3A] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08068E00 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl little_step -_08068E00: - movs r2, 0x3A - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - adds r1, r4, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8068D00 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0x3A] - adds r1, 0x1 - strh r1, [r5, 0x3A] - movs r2, 0x36 - ldrsh r0, [r5, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _08068E3A - movs r6, 0x1 -_08068E3A: - cmp r1, r2 - blt _08068E44 - movs r0, 0 - strh r0, [r5, 0x26] - movs r6, 0xFF -_08068E44: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068E50: .4byte gUnknown_83A7202 -_08068E54: .4byte gUnknown_83A7208 - thumb_func_end sub_8068DC4 - - thumb_func_start SetMovementDelay -SetMovementDelay: @ 8068E58 - strh r1, [r0, 0x34] - bx lr - thumb_func_end SetMovementDelay - - thumb_func_start WaitForMovementDelay -WaitForMovementDelay: @ 8068E5C - push {lr} - ldrh r1, [r0, 0x34] - subs r1, 0x1 - strh r1, [r0, 0x34] - lsls r1, 16 - cmp r1, 0 - beq _08068E6E - movs r0, 0 - b _08068E70 -_08068E6E: - movs r0, 0x1 -_08068E70: - pop {r1} - bx r1 - thumb_func_end WaitForMovementDelay - - thumb_func_start SetAndStartSpriteAnim -SetAndStartSpriteAnim: @ 8068E74 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - adds r3, r0, 0 - adds r3, 0x2A - strb r1, [r3] - adds r4, r0, 0 - adds r4, 0x2C - ldrb r3, [r4] - movs r1, 0x41 - negs r1, r1 - ands r1, r3 - strb r1, [r4] - adds r1, r2, 0 - bl SeekSpriteAnim - pop {r4} - pop {r0} - bx r0 - thumb_func_end SetAndStartSpriteAnim - - thumb_func_start SpriteAnimEnded -SpriteAnimEnded: @ 8068E9C - push {lr} - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08068EAE - movs r0, 0 - b _08068EB0 -_08068EAE: - movs r0, 0x1 -_08068EB0: - pop {r1} - bx r1 - thumb_func_end SpriteAnimEnded - - thumb_func_start sub_8068EB4 -sub_8068EB4: @ 8068EB4 - push {r4-r6,lr} - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - mov r3, r12 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08068F1C - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r4, r12 - adds r4, 0x28 - movs r0, 0 - ldrsb r0, [r4, r0] - ldr r2, _08068F14 @ =gSpriteCoordOffsetX - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - subs r3, 0x15 - movs r0, 0 - ldrsb r0, [r3, r0] - ldr r2, _08068F18 @ =gSpriteCoordOffsetY - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - adds r2, r3, 0 - b _08068F4A - .align 2, 0 -_08068F14: .4byte gSpriteCoordOffsetX -_08068F18: .4byte gSpriteCoordOffsetY -_08068F1C: - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r3, r12 - adds r3, 0x28 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - mov r2, r12 - adds r2, 0x29 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, r3, 0 -_08068F4A: - ldrb r0, [r4] - lsls r0, 24 - asrs r0, 25 - subs r0, r6, r0 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r0, [r2] - lsls r0, 24 - asrs r0, 25 - subs r0, r5, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _08068F76 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08068F82 -_08068F76: - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_08068F82: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _08068F96 - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08068FA2 -_08068F96: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08068FA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8068EB4 - - thumb_func_start UpdateObjectEventSpriteSubpriorityAndVisibility -UpdateObjectEventSpriteSubpriorityAndVisibility: @ 8068FA8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8069248 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrh r1, [r4, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8068EB4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end UpdateObjectEventSpriteSubpriorityAndVisibility - - thumb_func_start sub_8068FD0 -sub_8068FD0: @ 8068FD0 - push {r4,r5,lr} - movs r5, 0 - movs r4, 0x3F -_08068FD6: - ldr r0, _08069004 @ =gSprites - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08068FF6 - ldr r1, [r2, 0x1C] - ldr r0, _08069008 @ =UpdateObjectEventSpriteSubpriorityAndVisibility - cmp r1, r0 - bne _08068FF6 - adds r0, r2, 0 - bl DestroySprite -_08068FF6: - adds r5, 0x44 - subs r4, 0x1 - cmp r4, 0 - bge _08068FD6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069004: .4byte gSprites -_08069008: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility - thumb_func_end sub_8068FD0 - - thumb_func_start sub_806900C -sub_806900C: @ 806900C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r6, _08069040 @ =gSprites - movs r4, 0 -_08069018: - adds r2, r4, r6 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08069048 - ldr r1, [r2, 0x1C] - ldr r0, _08069044 @ =UpdateObjectEventSpriteSubpriorityAndVisibility - cmp r1, r0 - bne _08069048 - ldrh r0, [r2, 0x2E] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bne _08069048 - adds r0, r3, 0 - b _08069052 - .align 2, 0 -_08069040: .4byte gSprites -_08069044: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility -_08069048: - adds r4, 0x44 - adds r3, 0x1 - cmp r3, 0x3F - ble _08069018 - movs r0, 0x40 -_08069052: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_806900C - - thumb_func_start sub_8069058 -sub_8069058: @ 8069058 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_806900C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0806908A - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08069090 @ =gSprites - adds r4, r0 - adds r0, r5, 0 - bl GetFaceDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0806908A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069090: .4byte gSprites - thumb_func_end sub_8069058 - - thumb_func_start sub_8069094 -sub_8069094: @ 8069094 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_806900C - adds r1, r0, 0 - cmp r1, 0x40 - beq _0806911E - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080690F8 @ =gSprites - adds r4, r0, r1 - adds r0, r5, 0 - bl GetObjectEventGraphicsInfo - ldrh r3, [r4, 0x4] - lsls r3, 22 - ldr r1, [r0, 0x10] - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [r4] - str r2, [r4, 0x4] - lsrs r3, 22 - ldrh r2, [r4, 0x4] - ldr r1, _080690FC @ =0xfffffc00 - ands r1, r2 - orrs r1, r3 - strh r1, [r4, 0x4] - ldrb r2, [r0, 0xC] - lsls r2, 28 - lsrs r2, 24 - ldrb r3, [r4, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r2 - strb r1, [r4, 0x5] - ldr r1, [r0, 0x1C] - str r1, [r4, 0xC] - ldr r1, [r0, 0x14] - cmp r1, 0 - bne _08069100 - str r1, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x42 - strb r1, [r0] - b _08069116 - .align 2, 0 -_080690F8: .4byte gSprites -_080690FC: .4byte 0xfffffc00 -_08069100: - adds r0, r4, 0 - bl SetSubspriteTables - adds r2, r4, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_08069116: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_0806911E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8069094 - - thumb_func_start sub_8069124 -sub_8069124: @ 8069124 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r2, 0x40 - beq _08069160 - cmp r4, 0 - beq _08069154 - ldr r0, _08069150 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x32] - b _08069160 - .align 2, 0 -_08069150: .4byte gSprites -_08069154: - ldr r1, _08069168 @ =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x32] -_08069160: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08069168: .4byte gSprites - thumb_func_end sub_8069124 - - thumb_func_start sub_806916C -sub_806916C: @ 806916C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - bne _08069182 - movs r0, 0 - b _0806919A -_08069182: - movs r3, 0 - ldr r0, _080691A0 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08069198 - movs r3, 0x1 -_08069198: - adds r0, r3, 0 -_0806919A: - pop {r1} - bx r1 - .align 2, 0 -_080691A0: .4byte gSprites - thumb_func_end sub_806916C - - thumb_func_start sub_80691A4 -sub_80691A4: @ 80691A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080691CA - ldr r0, _080691D0 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r4, [r1, 0x34] - strh r0, [r1, 0x36] -_080691CA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080691D0: .4byte gSprites - thumb_func_end sub_80691A4 - - thumb_func_start sub_80691D4 -sub_80691D4: @ 80691D4 - push {lr} - adds r2, r0, 0 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080691E6 - cmp r0, 0x1 - beq _080691EE - b _0806920C -_080691E6: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x36] - adds r0, 0x1 - strh r0, [r2, 0x36] -_080691EE: - ldrh r0, [r2, 0x26] - subs r0, 0x8 - movs r3, 0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _0806920C - strh r3, [r2, 0x26] - movs r0, 0x1 - strh r0, [r2, 0x32] - strh r3, [r2, 0x34] - strh r3, [r2, 0x36] -_0806920C: - pop {r0} - bx r0 - thumb_func_end sub_80691D4 - - thumb_func_start sub_8069210 -sub_8069210: @ 8069210 - push {lr} - adds r1, r0, 0 - movs r2, 0x36 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08069222 - cmp r0, 0x1 - beq _0806922C - b _0806923E -_08069222: - ldr r0, _08069244 @ =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] -_0806922C: - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _0806923E - strh r0, [r1, 0x34] - strh r0, [r1, 0x36] -_0806923E: - pop {r0} - bx r0 - .align 2, 0 -_08069244: .4byte 0x0000ff60 - thumb_func_end sub_8069210 - - thumb_func_start sub_8069248 -sub_8069248: @ 8069248 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08069264 - cmp r0, 0x1 - bgt _0806925E - cmp r0, 0 - beq _08069284 - b _08069274 -_0806925E: - cmp r0, 0x2 - beq _0806926C - b _08069274 -_08069264: - adds r0, r1, 0 - bl sub_8069210 - b _08069284 -_0806926C: - adds r0, r1, 0 - bl sub_80691D4 - b _08069284 -_08069274: - movs r0, 0 - strh r0, [r1, 0x34] - ldr r0, _08069288 @ =gUnknown_83A720C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/evobjmv.c" - ldr r1, _0806928C @ =0x00003413 - ldr r2, _08069290 @ =gUnknown_83A7240 "0" - movs r3, 0x1 - bl AGBAssert -_08069284: - pop {r0} - bx r0 - .align 2, 0 -_08069288: .4byte gUnknown_83A720C -_0806928C: .4byte 0x00003413 -_08069290: .4byte gUnknown_83A7240 - thumb_func_end sub_8069248 - - thumb_func_start sub_8069294 -sub_8069294: @ 8069294 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080692B8 - ldr r0, _080692BC @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080692C0 -_080692B8: - movs r0, 0 - b _080692C2 - .align 2, 0 -_080692BC: .4byte gSprites -_080692C0: - movs r0, 0x1 -_080692C2: - pop {r1} - bx r1 - thumb_func_end sub_8069294 - - thumb_func_start oe_exec_and_other_stuff -oe_exec_and_other_stuff: @ 80692C8 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080692EC @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - adds r0, r4, 0 - bl FieldEffectStart - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080692EC: .4byte gFieldEffectArguments - thumb_func_end oe_exec_and_other_stuff - - thumb_func_start DoShadowFieldEffect -DoShadowFieldEffect: @ 80692F0 - push {lr} - adds r1, r0, 0 - ldrb r2, [r1, 0x2] - lsls r0, r2, 25 - cmp r0, 0 - blt _08069308 - movs r0, 0x40 - orrs r0, r2 - strb r0, [r1, 0x2] - movs r0, 0x3 - bl oe_exec_and_other_stuff -_08069308: - pop {r0} - bx r0 - thumb_func_end DoShadowFieldEffect - - thumb_func_start DoRippleFieldEffect -DoRippleFieldEffect: @ 806930C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - ldr r2, _08069344 @ =gFieldEffectArguments - movs r3, 0x20 - ldrsh r1, [r4, r3] - str r1, [r2] - movs r3, 0x22 - ldrsh r1, [r4, r3] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - adds r1, r0 - subs r1, 0x2 - str r1, [r2, 0x4] - movs r0, 0x97 - str r0, [r2, 0x8] - movs r0, 0x3 - str r0, [r2, 0xC] - movs r0, 0x5 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08069344: .4byte gFieldEffectArguments - thumb_func_end DoRippleFieldEffect - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s index 06e977258..0b3eb41af 100644 --- a/asm/event_object_movement.s +++ b/asm/event_object_movement.s @@ -4,4 +4,1891 @@ .syntax unified .text + + thumb_func_start GetAllGroundEffectFlags_OnSpawn +GetAllGroundEffectFlags_OnSpawn: @ 8067B34 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl ObjectEventUpdateMetatileBehaviors + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Reflection + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_TallGrassOnSpawn + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_LongGrassOnSpawn + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_SandHeap + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShallowFlowingWater + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShortGrass + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_HotSprings + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetAllGroundEffectFlags_OnSpawn + + thumb_func_start GetAllGroundEffectFlags_OnBeginStep +GetAllGroundEffectFlags_OnBeginStep: @ 8067B7C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl ObjectEventUpdateMetatileBehaviors + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Reflection + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_TallGrassOnBeginStep + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_LongGrassOnBeginStep + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Tracks + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_SandHeap + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShallowFlowingWater + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Puddle + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShortGrass + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_HotSprings + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetAllGroundEffectFlags_OnBeginStep + + thumb_func_start GetAllGroundEffectFlags_OnFinishStep +GetAllGroundEffectFlags_OnFinishStep: @ 8067BD4 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl ObjectEventUpdateMetatileBehaviors + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShallowFlowingWater + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_SandHeap + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Puddle + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Ripple + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShortGrass + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_HotSprings + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Seaweed + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_JumpLanding + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetAllGroundEffectFlags_OnFinishStep + + thumb_func_start ObjectEventUpdateMetatileBehaviors +ObjectEventUpdateMetatileBehaviors: @ 8067C24 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x14 + ldrsh r0, [r4, r1] + movs r2, 0x16 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + strb r0, [r4, 0x1F] + movs r1, 0x10 + ldrsh r0, [r4, r1] + movs r2, 0x12 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + strb r0, [r4, 0x1E] + pop {r4} + pop {r0} + bx r0 + thumb_func_end ObjectEventUpdateMetatileBehaviors + + thumb_func_start GetGroundEffectFlags_Reflection +GetGroundEffectFlags_Reflection: @ 8067C4C + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + ldr r0, _08067C90 @ =gUnknown_83A7024 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [sp] + str r1, [sp, 0x4] + adds r0, r4, 0 + bl sub_8067F88 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _08067C94 + ldrb r1, [r4, 0x2] + lsls r0, r1, 30 + cmp r0, 0 + blt _08067C9E + movs r0, 0x3 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r4, 0x2] + subs r0, r2, 0x1 + lsls r0, 2 + add r0, sp + ldr r1, [r5] + ldr r0, [r0] + orrs r1, r0 + str r1, [r5] + b _08067C9E + .align 2, 0 +_08067C90: .4byte gUnknown_83A7024 +_08067C94: + ldrb r1, [r4, 0x2] + movs r0, 0x3 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067C9E: + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Reflection + + thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn +GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsTallGrass_2 + lsls r0, 24 + cmp r0, 0 + beq _08067CC0 + ldr r0, [r4] + movs r1, 0x1 + orrs r0, r1 + str r0, [r4] +_08067CC0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn + + thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep +GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsTallGrass_2 + lsls r0, 24 + cmp r0, 0 + beq _08067CE0 + ldr r0, [r4] + movs r1, 0x2 + orrs r0, r1 + str r0, [r4] +_08067CE0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep + + thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn +GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _08067D00 + ldr r0, [r4] + movs r1, 0x4 + orrs r0, r1 + str r0, [r4] +_08067D00: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn + + thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep +GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _08067D20 + ldr r0, [r4] + movs r1, 0x8 + orrs r0, r1 + str r0, [r4] +_08067D20: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep + + thumb_func_start GetGroundEffectFlags_Tracks +GetGroundEffectFlags_Tracks: @ 8067D28 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse + lsls r0, 24 + cmp r0, 0 + beq _08067D42 + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 1 + b _08067D5E +_08067D42: + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsMB21OrSand + lsls r0, 24 + cmp r0, 0 + bne _08067D5A + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse_5 + lsls r0, 24 + cmp r0, 0 + beq _08067D62 +_08067D5A: + ldr r0, [r5] + movs r1, 0x80 +_08067D5E: + orrs r0, r1 + str r0, [r5] +_08067D62: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Tracks + + thumb_func_start GetGroundEffectFlags_SandHeap +GetGroundEffectFlags_SandHeap: @ 8067D68 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_ReturnFalse + lsls r0, 24 + cmp r0, 0 + beq _08067DA6 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse + lsls r0, 24 + cmp r0, 0 + beq _08067DA6 + ldrb r1, [r4, 0x2] + lsls r0, r1, 27 + cmp r0, 0 + blt _08067DB0 + movs r0, 0x11 + negs r0, r0 + ands r0, r1 + movs r1, 0x10 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 4 + orrs r0, r1 + str r0, [r5] + b _08067DB0 +_08067DA6: + ldrb r1, [r4, 0x2] + movs r0, 0x11 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067DB0: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_SandHeap + + thumb_func_start GetGroundEffectFlags_ShallowFlowingWater +GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_IsWaterfallBottom + lsls r0, 24 + cmp r0, 0 + beq _08067DD6 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsWaterfallBottom + lsls r0, 24 + cmp r0, 0 + bne _08067DEE +_08067DD6: + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_ReturnFalse_10 + lsls r0, 24 + cmp r0, 0 + beq _08067E0C + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse_10 + lsls r0, 24 + cmp r0, 0 + beq _08067E0C +_08067DEE: + ldrb r1, [r4, 0x2] + lsls r0, r1, 28 + cmp r0, 0 + blt _08067E16 + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x40 + orrs r0, r1 + str r0, [r5] + b _08067E16 +_08067E0C: + ldrb r1, [r4, 0x2] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067E16: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_ShallowFlowingWater + + thumb_func_start GetGroundEffectFlags_Puddle +GetGroundEffectFlags_Puddle: @ 8067E1C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_IsPuddle + lsls r0, 24 + cmp r0, 0 + beq _08067E44 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsPuddle + lsls r0, 24 + cmp r0, 0 + beq _08067E44 + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 3 + orrs r0, r1 + str r0, [r5] +_08067E44: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Puddle + + thumb_func_start GetGroundEffectFlags_Ripple +GetGroundEffectFlags_Ripple: @ 8067E4C + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsPondWaterOrPuddle + lsls r0, 24 + cmp r0, 0 + beq _08067E66 + ldr r0, [r4] + movs r1, 0x80 + lsls r1, 2 + orrs r0, r1 + str r0, [r4] +_08067E66: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Ripple + + thumb_func_start GetGroundEffectFlags_ShortGrass +GetGroundEffectFlags_ShortGrass: @ 8067E6C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_ReturnFalse_8 + lsls r0, 24 + cmp r0, 0 + beq _08067EAA + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse_8 + lsls r0, 24 + cmp r0, 0 + beq _08067EAA + ldrb r1, [r4, 0x2] + lsls r0, r1, 29 + cmp r0, 0 + blt _08067EB4 + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 10 + orrs r0, r1 + str r0, [r5] + b _08067EB4 +_08067EAA: + ldrb r1, [r4, 0x2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067EB4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_ShortGrass + + thumb_func_start GetGroundEffectFlags_HotSprings +GetGroundEffectFlags_HotSprings: @ 8067EBC + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_IsHotSprings + lsls r0, 24 + cmp r0, 0 + beq _08067EFA + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsHotSprings + lsls r0, 24 + cmp r0, 0 + beq _08067EFA + ldrb r1, [r4, 0x2] + lsls r0, r1, 26 + cmp r0, 0 + blt _08067F04 + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + movs r1, 0x20 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 11 + orrs r0, r1 + str r0, [r5] + b _08067F04 +_08067EFA: + ldrb r1, [r4, 0x2] + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067F04: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_HotSprings + + thumb_func_start GetGroundEffectFlags_Seaweed +GetGroundEffectFlags_Seaweed: @ 8067F0C + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsMB22 + lsls r0, 24 + cmp r0, 0 + beq _08067F26 + ldr r0, [r4] + movs r1, 0x80 + lsls r1, 12 + orrs r0, r1 + str r0, [r4] +_08067F26: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Seaweed + + thumb_func_start GetGroundEffectFlags_JumpLanding +GetGroundEffectFlags_JumpLanding: @ 8067F2C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + adds r6, r1, 0 + ldr r0, [r7] + ldr r1, _08067F68 @ =0x02000020 + ands r0, r1 + cmp r0, 0x20 + bne _08067F7E + movs r5, 0 + ldr r0, _08067F6C @ =gUnknown_83A702C + mov r8, r0 +_08067F46: + lsls r4, r5, 2 + mov r0, r8 + adds r1, r4, r0 + ldrb r0, [r7, 0x1E] + ldr r1, [r1] + bl _call_via_r1 + lsls r0, 24 + cmp r0, 0 + beq _08067F74 + ldr r0, _08067F70 @ =gUnknown_83A7044 + adds r0, r4, r0 + ldr r1, [r6] + ldr r0, [r0] + orrs r1, r0 + str r1, [r6] + b _08067F7E + .align 2, 0 +_08067F68: .4byte 0x02000020 +_08067F6C: .4byte gUnknown_83A702C +_08067F70: .4byte gUnknown_83A7044 +_08067F74: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _08067F46 +_08067F7E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_JumpLanding + + thumb_func_start sub_8067F88 +sub_8067F88: @ 8067F88 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + ldrb r0, [r5, 0x5] + bl GetObjectEventGraphicsInfo + movs r4, 0 + movs r0, 0x1 + mov r10, r0 +_08067FA0: + movs r1, 0x10 + ldrsh r0, [r5, r1] + ldrh r1, [r5, 0x12] + add r1, r10 + lsls r4, 16 + asrs r6, r4, 16 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + mov r9, r4 + cmp r0, 0 + bne _080680BA + movs r3, 0x14 + ldrsh r0, [r5, r3] + ldrh r1, [r5, 0x16] + add r1, r10 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + movs r2, 0x1 + lsls r0, r2, 16 + asrs r1, r0, 16 + mov r8, r0 + cmp r2, r1 + bge _080680A8 + movs r0, 0x80 + lsls r0, 9 + asrs r7, r0, 16 +_08067FFC: + ldrh r0, [r5, 0x10] + lsls r1, r2, 16 + asrs r4, r1, 16 + adds r0, r4, r0 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x12] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + ldrh r0, [r5, 0x10] + subs r0, r4 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x12] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + ldrh r0, [r5, 0x14] + adds r0, r4, r0 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x16] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + ldrh r0, [r5, 0x14] + subs r0, r4 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x16] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + asrs r0, 16 + mov r3, r8 + asrs r1, r3, 16 + cmp r0, r1 + blt _08067FFC +_080680A8: + movs r0, 0x80 + lsls r0, 9 + add r0, r9 + lsrs r4, r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bge _080680B8 + b _08067FA0 +_080680B8: + movs r0, 0 +_080680BA: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8067F88 + + thumb_func_start GetReflectionTypeByMetatileBehavior +GetReflectionTypeByMetatileBehavior: @ 80680C8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl MetatileBehavior_IsIce + lsls r0, 24 + cmp r0, 0 + beq _080680DE + movs r0, 0x1 + b _080680F0 +_080680DE: + adds r0, r4, 0 + bl MetatileBehavior_IsReflective + lsls r0, 24 + cmp r0, 0 + bne _080680EE + movs r0, 0 + b _080680F0 +_080680EE: + movs r0, 0x2 +_080680F0: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetReflectionTypeByMetatileBehavior + + thumb_func_start GetLedgeJumpDirection +GetLedgeJumpDirection: @ 80680F8 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + lsls r1, 16 + lsrs r1, 16 + lsls r2, 24 + lsrs r4, r2, 24 + cmp r4, 0 + beq _0806813E + cmp r4, 0x4 + bls _08068114 + subs r0, r4, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 +_08068114: + subs r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r3, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08068144 @ =gUnknown_83A705C + lsls r1, r4, 2 + adds r1, r2 + ldr r1, [r1] + bl _call_via_r1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068148 +_0806813E: + movs r0, 0 + b _0806814E + .align 2, 0 +_08068144: .4byte gUnknown_83A705C +_08068148: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r0, 24 +_0806814E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetLedgeJumpDirection + + thumb_func_start ObjectEventSetSpriteOamTableForLongGrass +ObjectEventSetSpriteOamTableForLongGrass: @ 8068154 + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + ldrb r0, [r5] + lsls r0, 27 + cmp r0, 0 + blt _080681A8 + ldrb r0, [r5, 0x1E] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _080681A8 + ldrb r0, [r5, 0x1F] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _080681A8 + adds r4, 0x42 + ldrb r1, [r4] + movs r6, 0x40 + negs r6, r6 + adds r0, r6, 0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4] + ldrb r0, [r5, 0xB] + lsrs r0, 4 + bl ZCoordToPriority + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080681A8 + ldrb r0, [r4] + adds r1, r6, 0 + ands r1, r0 + movs r0, 0x5 + orrs r1, r0 + strb r1, [r4] +_080681A8: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end ObjectEventSetSpriteOamTableForLongGrass + + thumb_func_start IsZCoordMismatchAt +IsZCoordMismatchAt: @ 80681B0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 16 + lsrs r0, r1, 16 + lsls r2, 16 + lsrs r1, r2, 16 + cmp r4, 0 + beq _080681DE + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080681DE + cmp r0, 0xF + beq _080681DE + cmp r0, r4 + bne _080681E2 +_080681DE: + movs r0, 0 + b _080681E4 +_080681E2: + movs r0, 0x1 +_080681E4: + pop {r4} + pop {r1} + bx r1 + thumb_func_end IsZCoordMismatchAt + + thumb_func_start ObjectEventUpdateZCoordAndPriority +ObjectEventUpdateZCoordAndPriority: @ 80681EC + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x3] + lsls r0, 29 + cmp r0, 0 + blt _0806823A + adds r0, r4, 0 + bl ObjectEventUpdateZCoord + ldr r1, _08068240 @ =gUnknown_83A708C + ldrb r2, [r4, 0xB] + lsls r2, 24 + lsrs r0, r2, 28 + adds r0, r1 + ldrb r0, [r0] + adds r4, r5, 0 + adds r4, 0x42 + movs r1, 0x3F + ands r1, r0 + ldrb r3, [r4] + movs r0, 0x40 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r4] + ldr r0, _08068244 @ =gUnknown_83A707C + lsrs r2, 28 + adds r2, r0 + movs r0, 0x3 + ldrb r1, [r2] + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] +_0806823A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068240: .4byte gUnknown_83A708C +_08068244: .4byte gUnknown_83A707C + thumb_func_end ObjectEventUpdateZCoordAndPriority + + thumb_func_start InitObjectPriorityByZCoord +InitObjectPriorityByZCoord: @ 8068248 + push {r4,lr} + lsls r1, 24 + lsrs r1, 24 + ldr r2, _0806828C @ =gUnknown_83A708C + adds r2, r1, r2 + ldrb r2, [r2] + movs r3, 0x42 + adds r3, r0 + mov r12, r3 + movs r3, 0x3F + ands r3, r2 + mov r2, r12 + ldrb r4, [r2] + movs r2, 0x40 + negs r2, r2 + ands r2, r4 + orrs r2, r3 + mov r3, r12 + strb r2, [r3] + ldr r2, _08068290 @ =gUnknown_83A707C + adds r1, r2 + movs r3, 0x3 + ldrb r2, [r1] + ands r2, r3 + lsls r2, 2 + ldrb r3, [r0, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r3 + orrs r1, r2 + strb r1, [r0, 0x5] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806828C: .4byte gUnknown_83A708C +_08068290: .4byte gUnknown_83A707C + thumb_func_end InitObjectPriorityByZCoord + + thumb_func_start ZCoordToPriority +ZCoordToPriority: @ 8068294 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080682A0 @ =gUnknown_83A707C + adds r0, r1 + ldrb r0, [r0] + bx lr + .align 2, 0 +_080682A0: .4byte gUnknown_83A707C + thumb_func_end ZCoordToPriority + + thumb_func_start ObjectEventUpdateZCoord +ObjectEventUpdateZCoord: @ 80682A4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x10 + ldrsh r0, [r4, r1] + movs r2, 0x12 + ldrsh r1, [r4, r2] + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r5, r0, 24 + movs r1, 0x14 + ldrsh r0, [r4, r1] + movs r2, 0x16 + ldrsh r1, [r4, r2] + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + cmp r5, 0xF + beq _080682F2 + cmp r0, 0xF + beq _080682F2 + movs r3, 0xF + adds r0, r5, 0 + ands r0, r3 + ldrb r1, [r4, 0xB] + movs r2, 0x10 + negs r2, r2 + ands r2, r1 + orrs r2, r0 + strb r2, [r4, 0xB] + cmp r5, 0 + beq _080682F2 + cmp r5, 0xF + beq _080682F2 + lsls r0, r5, 4 + ands r2, r3 + orrs r2, r0 + strb r2, [r4, 0xB] +_080682F2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end ObjectEventUpdateZCoord + + thumb_func_start SetObjectSubpriorityByZCoord +SetObjectSubpriorityByZCoord: @ 80682F8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r2, 24 + lsrs r2, 24 + adds r3, r1, 0 + adds r3, 0x29 + movs r5, 0 + ldrsb r5, [r3, r5] + ldrh r4, [r1, 0x22] + ldr r3, _08068338 @ =gSpriteCoordOffsetY + subs r4, r5 + ldrh r3, [r3] + adds r4, r3 + adds r4, 0x8 + movs r3, 0xFF + ands r4, r3 + lsrs r4, 4 + movs r3, 0x10 + subs r3, r4 + lsls r3, 17 + ldr r4, _0806833C @ =gUnknown_83A706C + adds r0, r4 + lsrs r3, 16 + ldrb r0, [r0] + adds r3, r0 + adds r2, r3 + adds r1, 0x43 + strb r2, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068338: .4byte gSpriteCoordOffsetY +_0806833C: .4byte gUnknown_83A706C + thumb_func_end SetObjectSubpriorityByZCoord + + thumb_func_start ObjectEventUpdateSubpriority +ObjectEventUpdateSubpriority: @ 8068340 + push {lr} + adds r2, r0, 0 + ldrb r0, [r2, 0x3] + lsls r0, 29 + cmp r0, 0 + blt _08068356 + ldrb r0, [r2, 0xB] + lsrs r0, 4 + movs r2, 0x1 + bl SetObjectSubpriorityByZCoord +_08068356: + pop {r0} + bx r0 + thumb_func_end ObjectEventUpdateSubpriority + + thumb_func_start AreZCoordsCompatible +AreZCoordsCompatible: @ 806835C + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + cmp r0, 0 + beq _08068372 + cmp r1, 0 + beq _08068372 + cmp r0, r1 + bne _08068376 +_08068372: + movs r0, 0x1 + b _08068378 +_08068376: + movs r0, 0 +_08068378: + pop {r1} + bx r1 + thumb_func_end AreZCoordsCompatible + + thumb_func_start GroundEffect_SpawnOnTallGrass +GroundEffect_SpawnOnTallGrass: @ 806837C + push {lr} + ldr r3, _080683C0 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _080683C4 @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0x1 + str r0, [r3, 0x1C] + movs r0, 0x4 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_080683C0: .4byte gFieldEffectArguments +_080683C4: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_SpawnOnTallGrass + + thumb_func_start GroundEffect_StepOnTallGrass +GroundEffect_StepOnTallGrass: @ 80683C8 + push {lr} + ldr r3, _0806840C @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _08068410 @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0 + str r0, [r3, 0x1C] + movs r0, 0x4 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_0806840C: .4byte gFieldEffectArguments +_08068410: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_StepOnTallGrass + + thumb_func_start GroundEffect_SpawnOnLongGrass +GroundEffect_SpawnOnLongGrass: @ 8068414 + push {lr} + ldr r3, _08068458 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _0806845C @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0x1 + str r0, [r3, 0x1C] + movs r0, 0x11 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_08068458: .4byte gFieldEffectArguments +_0806845C: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_SpawnOnLongGrass + + thumb_func_start GroundEffect_StepOnLongGrass +GroundEffect_StepOnLongGrass: @ 8068460 + push {lr} + ldr r3, _080684A4 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _080684A8 @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0 + str r0, [r3, 0x1C] + movs r0, 0x11 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_080684A4: .4byte gFieldEffectArguments +_080684A8: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_StepOnLongGrass + + thumb_func_start GroundEffect_WaterReflection +GroundEffect_WaterReflection: @ 80684AC + push {lr} + movs r2, 0 + bl SetUpReflection + pop {r0} + bx r0 + thumb_func_end GroundEffect_WaterReflection + + thumb_func_start GroundEffect_IceReflection +GroundEffect_IceReflection: @ 80684B8 + push {lr} + movs r2, 0x1 + bl SetUpReflection + pop {r0} + bx r0 + thumb_func_end GroundEffect_IceReflection + + thumb_func_start GroundEffect_FlowingWater +GroundEffect_FlowingWater: @ 80684C4 + push {lr} + adds r1, r0, 0 + movs r0, 0x22 + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_FlowingWater + + thumb_func_start GroundEffect_SandTracks +GroundEffect_SandTracks: @ 80684D4 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x5] + bl GetObjectEventGraphicsInfo + ldr r1, _080684FC @ =gUnknown_83A709C + ldrb r0, [r0, 0xD] + lsls r0, 2 + adds r0, r1 + ldr r3, [r0] + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl _call_via_r3 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080684FC: .4byte gUnknown_83A709C + thumb_func_end GroundEffect_SandTracks + + thumb_func_start GroundEffect_DeepSandTracks +GroundEffect_DeepSandTracks: @ 8068500 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x5] + bl GetObjectEventGraphicsInfo + ldr r1, _08068528 @ =gUnknown_83A709C + ldrb r0, [r0, 0xD] + lsls r0, 2 + adds r0, r1 + ldr r3, [r0] + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl _call_via_r3 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068528: .4byte gUnknown_83A709C + thumb_func_end GroundEffect_DeepSandTracks + + thumb_func_start nullsub_26 +nullsub_26: @ 806852C + bx lr + thumb_func_end nullsub_26 + + thumb_func_start DoTracksGroundEffect_Footprints +DoTracksGroundEffect_Footprints: @ 8068530 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r4, r2, 24 + lsrs r4, 24 + ldr r1, _08068578 @ =gUnknown_83A70A8 + mov r0, sp + movs r2, 0x4 + bl memcpy + ldr r1, _0806857C @ =gFieldEffectArguments + movs r2, 0x14 + ldrsh r0, [r5, r2] + str r0, [r1] + movs r2, 0x16 + ldrsh r0, [r5, r2] + str r0, [r1, 0x4] + movs r0, 0x95 + str r0, [r1, 0x8] + movs r0, 0x2 + str r0, [r1, 0xC] + ldrb r0, [r5, 0x18] + lsls r0, 28 + lsrs r0, 28 + str r0, [r1, 0x10] + lsls r4, 1 + mov r1, sp + adds r0, r1, r4 + ldrb r0, [r0] + bl FieldEffectStart + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068578: .4byte gUnknown_83A70A8 +_0806857C: .4byte gFieldEffectArguments + thumb_func_end DoTracksGroundEffect_Footprints + + thumb_func_start DoTracksGroundEffect_BikeTireTracks +DoTracksGroundEffect_BikeTireTracks: @ 8068580 + push {r4,lr} + adds r4, r0, 0 + ldr r1, [r4, 0x10] + ldr r0, [r4, 0x14] + cmp r1, r0 + beq _080685C2 + ldr r2, _080685C8 @ =gFieldEffectArguments + movs r1, 0x14 + ldrsh r0, [r4, r1] + str r0, [r2] + movs r1, 0x16 + ldrsh r0, [r4, r1] + str r0, [r2, 0x4] + movs r0, 0x95 + str r0, [r2, 0x8] + movs r0, 0x2 + str r0, [r2, 0xC] + ldr r3, _080685CC @ =gUnknown_83A70AC + ldrb r1, [r4, 0x18] + lsls r1, 28 + lsrs r1, 28 + adds r0, r4, 0 + adds r0, 0x20 + ldrb r0, [r0] + lsls r0, 2 + subs r0, 0x5 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] + str r0, [r2, 0x10] + movs r0, 0x23 + bl FieldEffectStart +_080685C2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080685C8: .4byte gFieldEffectArguments +_080685CC: .4byte gUnknown_83A70AC + thumb_func_end DoTracksGroundEffect_BikeTireTracks + + thumb_func_start GroundEffect_Ripple +GroundEffect_Ripple: @ 80685D0 + push {lr} + bl DoRippleFieldEffect + pop {r0} + bx r0 + thumb_func_end GroundEffect_Ripple + + thumb_func_start GroundEffect_StepOnPuddle +GroundEffect_StepOnPuddle: @ 80685DC + push {lr} + adds r1, r0, 0 + movs r0, 0xF + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_StepOnPuddle + + thumb_func_start GroundEffect_SandHeap +GroundEffect_SandHeap: @ 80685EC + push {lr} + adds r1, r0, 0 + movs r0, 0x27 + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_SandHeap + + thumb_func_start GroundEffect_JumpOnTallGrass +GroundEffect_JumpOnTallGrass: @ 80685FC + push {r4-r7,lr} + sub sp, 0x4 + adds r5, r0, 0 + adds r6, r1, 0 + ldr r1, _08068650 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r0, [r5, r2] + str r0, [r1] + movs r4, 0x12 + ldrsh r0, [r5, r4] + str r0, [r1, 0x4] + ldrb r0, [r5, 0xB] + lsrs r0, 4 + str r0, [r1, 0x8] + movs r0, 0x2 + str r0, [r1, 0xC] + movs r0, 0xC + bl FieldEffectStart + ldrb r0, [r5, 0x8] + ldrb r1, [r5, 0x9] + ldrb r2, [r5, 0xA] + movs r7, 0x10 + ldrsh r3, [r5, r7] + movs r7, 0x12 + ldrsh r4, [r5, r7] + str r4, [sp] + bl FindTallGrassFieldEffectSpriteId + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + bne _08068646 + adds r0, r5, 0 + adds r1, r6, 0 + bl GroundEffect_SpawnOnTallGrass +_08068646: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08068650: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnTallGrass + + thumb_func_start GroundEffect_JumpOnLongGrass +GroundEffect_JumpOnLongGrass: @ 8068654 + push {lr} + ldr r2, _08068678 @ =gFieldEffectArguments + movs r3, 0x10 + ldrsh r1, [r0, r3] + str r1, [r2] + movs r3, 0x12 + ldrsh r1, [r0, r3] + str r1, [r2, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r2, 0x8] + movs r0, 0x2 + str r0, [r2, 0xC] + movs r0, 0x12 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_08068678: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnLongGrass + + thumb_func_start GroundEffect_JumpOnShallowWater +GroundEffect_JumpOnShallowWater: @ 806867C + push {r4,lr} + ldr r3, _080686A8 @ =gFieldEffectArguments + movs r4, 0x10 + ldrsh r2, [r0, r4] + str r2, [r3] + movs r4, 0x12 + ldrsh r2, [r0, r4] + str r2, [r3, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r3, 0x8] + ldrb r0, [r1, 0x5] + lsls r0, 28 + lsrs r0, 30 + str r0, [r3, 0xC] + movs r0, 0x10 + bl FieldEffectStart + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080686A8: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnShallowWater + + thumb_func_start GroundEffect_JumpOnWater +GroundEffect_JumpOnWater: @ 80686AC + push {r4,lr} + ldr r3, _080686D8 @ =gFieldEffectArguments + movs r4, 0x10 + ldrsh r2, [r0, r4] + str r2, [r3] + movs r4, 0x12 + ldrsh r2, [r0, r4] + str r2, [r3, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r3, 0x8] + ldrb r0, [r1, 0x5] + lsls r0, 28 + lsrs r0, 30 + str r0, [r3, 0xC] + movs r0, 0xE + bl FieldEffectStart + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080686D8: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnWater + + thumb_func_start GroundEffect_JumpLandingDust +GroundEffect_JumpLandingDust: @ 80686DC + push {r4,lr} + ldr r3, _08068708 @ =gFieldEffectArguments + movs r4, 0x10 + ldrsh r2, [r0, r4] + str r2, [r3] + movs r4, 0x12 + ldrsh r2, [r0, r4] + str r2, [r3, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r3, 0x8] + ldrb r0, [r1, 0x5] + lsls r0, 28 + lsrs r0, 30 + str r0, [r3, 0xC] + movs r0, 0xA + bl FieldEffectStart + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08068708: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpLandingDust + + thumb_func_start GroundEffect_ShortGrass +GroundEffect_ShortGrass: @ 806870C + push {lr} + adds r1, r0, 0 + movs r0, 0x29 + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_ShortGrass + + thumb_func_start GroundEffect_HotSprings +GroundEffect_HotSprings: @ 806871C + push {lr} + adds r1, r0, 0 + movs r0, 0x2A + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_HotSprings + + thumb_func_start GroundEffect_Seaweed +GroundEffect_Seaweed: @ 806872C + push {lr} + ldr r2, _08068748 @ =gFieldEffectArguments + movs r3, 0x10 + ldrsh r1, [r0, r3] + str r1, [r2] + movs r1, 0x12 + ldrsh r0, [r0, r1] + str r0, [r2, 0x4] + movs r0, 0x35 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_08068748: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_Seaweed + + thumb_func_start DoFlaggedGroundEffects +DoFlaggedGroundEffects: @ 806874C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r7, r1, 0 + adds r5, r2, 0 + ldrb r0, [r6, 0x8] + cmp r0, 0x7F + bne _08068766 + ldrb r0, [r6, 0x1] + lsls r0, 26 + cmp r0, 0 + blt _0806878E +_08068766: + movs r4, 0 + ldr r0, _08068798 @ =gUnknown_83A70BC + mov r8, r0 +_0806876C: + movs r0, 0x1 + ands r0, r5 + cmp r0, 0 + beq _08068782 + lsls r0, r4, 2 + add r0, r8 + ldr r2, [r0] + adds r0, r6, 0 + adds r1, r7, 0 + bl _call_via_r2 +_08068782: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + lsrs r5, 1 + cmp r4, 0x13 + bls _0806876C +_0806878E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08068798: .4byte gUnknown_83A70BC + thumb_func_end DoFlaggedGroundEffects + + thumb_func_start filters_out_some_ground_effects +filters_out_some_ground_effects: @ 806879C + push {lr} + adds r2, r0, 0 + adds r3, r1, 0 + ldrb r0, [r2] + lsls r0, 27 + cmp r0, 0 + bge _080687CA + ldrb r1, [r2, 0x2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + adds r1, 0x8 + ands r0, r1 + subs r1, 0x18 + ands r0, r1 + strb r0, [r2, 0x2] + ldr r0, [r3] + ldr r1, _080687D0 @ =0xfff9f7bd + ands r0, r1 + str r0, [r3] +_080687CA: + pop {r0} + bx r0 + .align 2, 0 +_080687D0: .4byte 0xfff9f7bd + thumb_func_end filters_out_some_ground_effects + + thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping +FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4 + push {lr} + adds r2, r1, 0 + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _080687E8 + ldr r0, [r2] + ldr r1, _080687EC @ =0xfffffbff + ands r0, r1 + str r0, [r2] +_080687E8: + pop {r0} + bx r0 + .align 2, 0 +_080687EC: .4byte 0xfffffbff + thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping + + thumb_func_start DoGroundEffects_OnSpawn +DoGroundEffects_OnSpawn: @ 80687F0 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4] + lsls r0, 29 + cmp r0, 0 + bge _08068834 + movs r0, 0 + str r0, [sp] + adds r0, r4, 0 + bl ObjectEventUpdateZCoordAndPriority + adds r0, r4, 0 + mov r1, sp + bl GetAllGroundEffectFlags_OnSpawn + adds r0, r4, 0 + adds r1, r5, 0 + bl ObjectEventSetSpriteOamTableForLongGrass + ldr r2, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + bl DoFlaggedGroundEffects + ldrb r1, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r4] +_08068834: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end DoGroundEffects_OnSpawn + + thumb_func_start DoGroundEffects_OnBeginStep +DoGroundEffects_OnBeginStep: @ 806883C + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4] + lsls r0, 29 + cmp r0, 0 + bge _08068888 + movs r0, 0 + str r0, [sp] + adds r0, r4, 0 + bl ObjectEventUpdateZCoordAndPriority + adds r0, r4, 0 + mov r1, sp + bl GetAllGroundEffectFlags_OnBeginStep + adds r0, r4, 0 + adds r1, r5, 0 + bl ObjectEventSetSpriteOamTableForLongGrass + adds r0, r4, 0 + mov r1, sp + bl filters_out_some_ground_effects + ldr r2, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + bl DoFlaggedGroundEffects + ldrb r1, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r4] +_08068888: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end DoGroundEffects_OnBeginStep + + thumb_func_start DoGroundEffects_OnFinishStep +DoGroundEffects_OnFinishStep: @ 8068890 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4] + lsls r0, 28 + cmp r0, 0 + bge _080688DC + movs r0, 0 + str r0, [sp] + adds r0, r4, 0 + bl ObjectEventUpdateZCoordAndPriority + adds r0, r4, 0 + mov r1, sp + bl GetAllGroundEffectFlags_OnFinishStep + adds r0, r4, 0 + adds r1, r5, 0 + bl ObjectEventSetSpriteOamTableForLongGrass + adds r0, r4, 0 + mov r1, sp + bl FilterOutStepOnPuddleGroundEffectIfJumping + ldr r2, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + bl DoFlaggedGroundEffects + ldrb r1, [r4] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + movs r1, 0x21 + negs r1, r1 + ands r0, r1 + strb r0, [r4] +_080688DC: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end DoGroundEffects_OnFinishStep + .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_camera.s b/asm/field_camera.s deleted file mode 100644 index 86a1c0e76..000000000 --- a/asm/field_camera.s +++ /dev/null @@ -1,1299 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start move_tilemap_camera_to_upper_left_corner_ -move_tilemap_camera_to_upper_left_corner_: @ 805A5A8 - movs r1, 0 - strb r1, [r0, 0x2] - strb r1, [r0, 0x3] - strb r1, [r0] - strb r1, [r0, 0x1] - movs r1, 0x1 - strb r1, [r0, 0x4] - bx lr - thumb_func_end move_tilemap_camera_to_upper_left_corner_ - - thumb_func_start tilemap_move_something -tilemap_move_something: @ 805A5B8 - ldrb r3, [r0, 0x2] - adds r3, r1 - strb r3, [r0, 0x2] - ldrb r1, [r0, 0x2] - movs r3, 0x1F - ands r1, r3 - strb r1, [r0, 0x2] - ldrb r1, [r0, 0x3] - adds r1, r2 - strb r1, [r0, 0x3] - ldrb r1, [r0, 0x3] - ands r1, r3 - strb r1, [r0, 0x3] - bx lr - thumb_func_end tilemap_move_something - - thumb_func_start coords8_add -coords8_add: @ 805A5D4 - ldrb r3, [r0] - adds r3, r1 - strb r3, [r0] - ldrb r1, [r0, 0x1] - adds r1, r2 - strb r1, [r0, 0x1] - bx lr - thumb_func_end coords8_add - - thumb_func_start move_tilemap_camera_to_upper_left_corner -move_tilemap_camera_to_upper_left_corner: @ 805A5E4 - push {lr} - ldr r0, _0805A5F0 @ =gUnknown_3000E90 - bl move_tilemap_camera_to_upper_left_corner_ - pop {r0} - bx r0 - .align 2, 0 -_0805A5F0: .4byte gUnknown_3000E90 - thumb_func_end move_tilemap_camera_to_upper_left_corner - - thumb_func_start FieldUpdateBgTilemapScroll -FieldUpdateBgTilemapScroll: @ 805A5F4 - push {r4,r5,lr} - ldr r1, _0805A64C @ =gUnknown_3000E90 - ldr r0, _0805A650 @ =gUnknown_3000E98 - movs r2, 0 - ldrsh r5, [r0, r2] - ldrb r0, [r1] - adds r5, r0 - ldr r0, _0805A654 @ =gUnknown_3000E9A - 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 - .align 2, 0 -_0805A64C: .4byte gUnknown_3000E90 -_0805A650: .4byte gUnknown_3000E98 -_0805A654: .4byte gUnknown_3000E9A - thumb_func_end FieldUpdateBgTilemapScroll - - thumb_func_start sub_805A658 -sub_805A658: @ 805A658 - push {r4,lr} - ldr r3, _0805A678 @ =gUnknown_3000E90 - ldr r2, _0805A67C @ =gUnknown_3000E98 - ldrh r2, [r2] - ldrb r4, [r3] - adds r2, r4 - strh r2, [r0] - ldr r0, _0805A680 @ =gUnknown_3000E9A - ldrh r0, [r0] - ldrb r3, [r3, 0x1] - adds r0, r3 - adds r0, 0x8 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805A678: .4byte gUnknown_3000E90 -_0805A67C: .4byte gUnknown_3000E98 -_0805A680: .4byte gUnknown_3000E9A - thumb_func_end sub_805A658 - - thumb_func_start DrawWholeMapView -DrawWholeMapView: @ 805A684 - push {lr} - ldr r0, _0805A6A0 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x2 - ldrsh r1, [r1, r2] - ldr r2, _0805A6A4 @ =gMapHeader - ldr r2, [r2] - bl DrawWholeMapViewInternal - pop {r0} - bx r0 - .align 2, 0 -_0805A6A0: .4byte gSaveBlock1Ptr -_0805A6A4: .4byte gMapHeader - thumb_func_end DrawWholeMapView - - thumb_func_start DrawWholeMapViewInternal -DrawWholeMapViewInternal: @ 805A6A8 - 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 -_0805A6BC: - ldr r2, _0805A728 @ =gUnknown_3000E90 - ldrb r0, [r2, 0x3] - adds r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A6D0 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A6D0: - lsls r6, r0, 5 - movs r4, 0 - adds r7, r1, 0x2 - str r7, [sp] - lsrs r5, r1, 1 -_0805A6DA: - ldr r1, _0805A728 @ =gUnknown_3000E90 - ldrb r0, [r1, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A6EE - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A6EE: - 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 sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A6DA - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x1F - bls _0805A6BC - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A728: .4byte gUnknown_3000E90 - thumb_func_end DrawWholeMapViewInternal - - thumb_func_start RedrawMapSlicesForCameraUpdate -RedrawMapSlicesForCameraUpdate: @ 805A72C - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - ldr r0, _0805A774 @ =gMapHeader - ldr r4, [r0] - cmp r6, 0 - ble _0805A744 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceWest -_0805A744: - cmp r6, 0 - bge _0805A750 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceEast -_0805A750: - cmp r7, 0 - ble _0805A75C - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceNorth -_0805A75C: - cmp r7, 0 - bge _0805A768 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceSouth -_0805A768: - movs r0, 0x1 - strb r0, [r5, 0x4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A774: .4byte gMapHeader - thumb_func_end RedrawMapSlicesForCameraUpdate - - thumb_func_start RedrawMapSliceNorth -RedrawMapSliceNorth: @ 805A778 - 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 _0805A790 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A790: - lsls r6, r0, 5 - movs r4, 0 -_0805A794: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A7A6 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A7A6: - adds r1, r6, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0805A7D4 @ =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 sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A794 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A7D4: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceNorth - - thumb_func_start RedrawMapSliceSouth -RedrawMapSliceSouth: @ 805A7D8 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - ldrb r0, [r5, 0x3] - lsls r6, r0, 5 - movs r4, 0 -_0805A7E4: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A7F6 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A7F6: - adds r1, r6, r0 - ldr r0, _0805A820 @ =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 sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A7E4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A820: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceSouth - - thumb_func_start RedrawMapSliceEast -RedrawMapSliceEast: @ 805A824 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r1 - ldrb r6, [r5, 0x2] - movs r4, 0 -_0805A832: - ldrb r0, [r5, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A844 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A844: - lsls r1, r0, 5 - adds r1, r6 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0805A878 @ =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 sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A832 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A878: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceEast - - thumb_func_start RedrawMapSliceWest -RedrawMapSliceWest: @ 805A87C - 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 _0805A89A - adds r0, r5, 0 - subs r0, 0x20 - lsls r0, 24 - lsrs r5, r0, 24 -_0805A89A: - movs r4, 0 -_0805A89C: - ldrb r0, [r6, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A8AE - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A8AE: - lsls r1, r0, 5 - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0805A8E4 @ =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 sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A89C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A8E4: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceWest - - thumb_func_start CurrentMapDrawMetatileAt -CurrentMapDrawMetatileAt: @ 805A8E8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _0805A914 @ =gUnknown_3000E90 - adds r1, r4, 0 - adds r2, r5, 0 - bl MapPosToBgTilemapOffset - adds r1, r0, 0 - cmp r1, 0 - blt _0805A90E - ldr r0, _0805A918 @ =gMapHeader - ldr r0, [r0] - lsls r1, 16 - lsrs r1, 16 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_805A948 -_0805A90E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805A914: .4byte gUnknown_3000E90 -_0805A918: .4byte gMapHeader - thumb_func_end CurrentMapDrawMetatileAt - - thumb_func_start DrawDoorMetatileAt -DrawDoorMetatileAt: @ 805A91C - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r0, _0805A944 @ =gUnknown_3000E90 - adds r1, r3, 0 - adds r2, r4, 0 - bl MapPosToBgTilemapOffset - cmp r0, 0 - blt _0805A93E - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r5, 0 - bl DrawMetatile -_0805A93E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805A944: .4byte gUnknown_3000E90 - thumb_func_end DrawDoorMetatileAt - - thumb_func_start sub_805A948 -sub_805A948: @ 805A948 - 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 _0805A970 - movs r4, 0 -_0805A970: - ldr r0, _0805A97C @ =0x0000027f - cmp r4, r0 - bhi _0805A980 - ldr r0, [r5, 0x10] - ldr r5, [r0, 0xC] - b _0805A98C - .align 2, 0 -_0805A97C: .4byte 0x0000027f -_0805A980: - ldr r0, [r5, 0x14] - ldr r5, [r0, 0xC] - ldr r1, _0805A9B0 @ =0xfffffd80 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0805A98C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - bl MapGridGetMetatileLayerTypeAt - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 4 - adds r1, r5, r1 - mov r2, r8 - bl DrawMetatile - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A9B0: .4byte 0xfffffd80 - thumb_func_end sub_805A948 - - thumb_func_start DrawMetatile -DrawMetatile: @ 805A9B4 - push {r4,lr} - adds r4, r1, 0 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0x1 - beq _0805AA0C - cmp r0, 0x1 - bgt _0805A9CA - cmp r0, 0 - beq _0805AA6C - b _0805AABE -_0805A9CA: - cmp r0, 0x2 - bne _0805AABE - ldr r0, _0805AA04 @ =gUnknown_300501C - 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, _0805AA08 @ =gUnknown_3005014 - 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 _0805AAA2 - .align 2, 0 -_0805AA04: .4byte gUnknown_300501C -_0805AA08: .4byte gUnknown_3005014 -_0805AA0C: - ldr r0, _0805AA60 @ =gUnknown_300501C - 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, _0805AA64 @ =gUnknown_3005014 - 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, _0805AA68 @ =gUnknown_3005018 - 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 _0805AABE - .align 2, 0 -_0805AA60: .4byte gUnknown_300501C -_0805AA64: .4byte gUnknown_3005014 -_0805AA68: .4byte gUnknown_3005018 -_0805AA6C: - ldr r0, _0805AAD8 @ =gUnknown_300501C - ldr r0, [r0] - lsls r3, r2, 1 - adds r0, r3, r0 - ldr r1, _0805AADC @ =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, _0805AAE0 @ =gUnknown_3005014 - 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] -_0805AAA2: - ldr r0, _0805AAE4 @ =gUnknown_3005018 - 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] -_0805AABE: - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x3 - bl ScheduleBgCopyTilemapToVram - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805AAD8: .4byte gUnknown_300501C -_0805AADC: .4byte 0x00003014 -_0805AAE0: .4byte gUnknown_3005014 -_0805AAE4: .4byte gUnknown_3005018 - thumb_func_end DrawMetatile - - thumb_func_start MapPosToBgTilemapOffset -MapPosToBgTilemapOffset: @ 805AAE8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _0805AB18 @ =gSaveBlock1Ptr - ldr r3, [r0] - movs r5, 0 - ldrsh r0, [r3, r5] - subs r1, r0 - lsls r1, 1 - cmp r1, 0x1F - bhi _0805AB12 - ldrb r0, [r4, 0x2] - adds r1, r0 - cmp r1, 0x1F - ble _0805AB06 - subs r1, 0x20 -_0805AB06: - movs r5, 0x2 - ldrsh r0, [r3, r5] - subs r0, r2, r0 - lsls r2, r0, 1 - cmp r2, 0x1F - bls _0805AB1C -_0805AB12: - movs r0, 0x1 - negs r0, r0 - b _0805AB2A - .align 2, 0 -_0805AB18: .4byte gSaveBlock1Ptr -_0805AB1C: - ldrb r0, [r4, 0x3] - adds r2, r0 - cmp r2, 0x1F - ble _0805AB26 - subs r2, 0x20 -_0805AB26: - lsls r0, r2, 5 - adds r0, r1 -_0805AB2A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MapPosToBgTilemapOffset - - thumb_func_start CameraUpdateCallback -CameraUpdateCallback: @ 805AB30 - push {lr} - adds r3, r0, 0 - ldr r2, [r3, 0x4] - cmp r2, 0 - beq _0805AB50 - ldr r1, _0805AB54 @ =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] -_0805AB50: - pop {r0} - bx r0 - .align 2, 0 -_0805AB54: .4byte gSprites - thumb_func_end CameraUpdateCallback - - thumb_func_start ResetCameraUpdateInfo -ResetCameraUpdateInfo: @ 805AB58 - ldr r1, _0805AB6C @ =gFieldCamera - movs r0, 0 - str r0, [r1, 0x8] - str r0, [r1, 0xC] - str r0, [r1, 0x10] - str r0, [r1, 0x14] - str r0, [r1, 0x4] - str r0, [r1] - bx lr - .align 2, 0 -_0805AB6C: .4byte gFieldCamera - thumb_func_end ResetCameraUpdateInfo - - thumb_func_start InitCameraUpdateCallback -InitCameraUpdateCallback: @ 805AB70 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0805ABA4 @ =gFieldCamera - ldr r1, [r4, 0x4] - cmp r1, 0 - beq _0805AB8C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805ABA8 @ =gSprites - adds r0, r1 - bl DestroySprite -_0805AB8C: - adds r0, r5, 0 - bl AddCameraObject - lsls r0, 24 - lsrs r0, 24 - str r0, [r4, 0x4] - ldr r0, _0805ABAC @ =CameraUpdateCallback - str r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805ABA4: .4byte gFieldCamera -_0805ABA8: .4byte gSprites -_0805ABAC: .4byte CameraUpdateCallback - thumb_func_end InitCameraUpdateCallback - - thumb_func_start CameraUpdate -CameraUpdate: @ 805ABB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, _0805ACA4 @ =gFieldCamera - ldr r1, [r6] - cmp r1, 0 - beq _0805ABC4 - adds r0, r6, 0 - bl _call_via_r1 -_0805ABC4: - 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 _0805ABE2 - cmp r7, 0 - beq _0805ABE2 - subs r4, 0x1 - cmp r7, 0 - ble _0805ABE2 - movs r4, 0x1 -_0805ABE2: - cmp r0, 0 - bne _0805ABF6 - mov r2, r8 - cmp r2, 0 - beq _0805ABF6 - movs r5, 0x1 - negs r5, r5 - cmp r2, 0 - ble _0805ABF6 - movs r5, 0x1 -_0805ABF6: - cmp r1, 0 - beq _0805AC08 - cmn r1, r7 - bne _0805AC08 - movs r4, 0x1 - negs r4, r4 - cmp r7, 0 - ble _0805AC08 - movs r4, 0x1 -_0805AC08: - cmp r0, 0 - beq _0805AC1C - mov r3, r8 - cmn r0, r3 - bne _0805AC1C - movs r4, 0x1 - negs r4, r4 - cmp r3, 0 - ble _0805AC1C - movs r4, 0x1 -_0805AC1C: - ldr r2, _0805ACA4 @ =gFieldCamera - ldr r0, [r2, 0x10] - adds r1, r0, r7 - str r1, [r2, 0x10] - adds r0, r1, 0 - cmp r1, 0 - bge _0805AC2C - adds r0, 0xF -_0805AC2C: - 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 _0805AC44 - adds r0, 0xF -_0805AC44: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x14] - cmp r4, 0 - bne _0805AC54 - cmp r5, 0 - beq _0805AC7E -_0805AC54: - adds r0, r4, 0 - adds r1, r5, 0 - bl CameraMove - adds r0, r4, 0 - adds r1, r5, 0 - bl UpdateObjectEventsForCameraUpdate - ldr r6, _0805ACA8 @ =gUnknown_3000E90 - 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 -_0805AC7E: - ldr r0, _0805ACA8 @ =gUnknown_3000E90 - adds r1, r7, 0 - mov r2, r8 - bl coords8_add - ldr r1, _0805ACAC @ =gTotalCameraPixelOffsetX - ldrh r0, [r1] - subs r0, r7 - strh r0, [r1] - ldr r1, _0805ACB0 @ =gTotalCameraPixelOffsetY - ldrh r0, [r1] - mov r2, r8 - subs r0, r2 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805ACA4: .4byte gFieldCamera -_0805ACA8: .4byte gUnknown_3000E90 -_0805ACAC: .4byte gTotalCameraPixelOffsetX -_0805ACB0: .4byte gTotalCameraPixelOffsetY - thumb_func_end CameraUpdate - - thumb_func_start sub_805ACB4 -sub_805ACB4: @ 805ACB4 - 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 UpdateObjectEventsForCameraUpdate - bl DrawWholeMapView - ldr r1, _0805ACE8 @ =gTotalCameraPixelOffsetX - lsls r4, 4 - ldrh r0, [r1] - subs r0, r4 - strh r0, [r1] - ldr r1, _0805ACEC @ =gTotalCameraPixelOffsetY - lsls r5, 4 - ldrh r0, [r1] - subs r0, r5 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805ACE8: .4byte gTotalCameraPixelOffsetX -_0805ACEC: .4byte gTotalCameraPixelOffsetY - thumb_func_end sub_805ACB4 - - thumb_func_start sub_805ACF0 -sub_805ACF0: @ 805ACF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0805ADCC @ =gFieldCamera - ldr r1, [r4] - cmp r1, 0 - beq _0805AD04 - adds r0, r4, 0 - bl _call_via_r1 -_0805AD04: - ldr r7, [r4, 0x8] - ldr r0, [r4, 0xC] - mov r8, r0 - movs r5, 0 - movs r6, 0 - ldr r1, [r4, 0x10] - ldr r0, [r4, 0x14] - cmp r1, 0 - bne _0805AD22 - cmp r7, 0 - beq _0805AD22 - subs r5, 0x1 - cmp r7, 0 - ble _0805AD22 - movs r5, 0x1 -_0805AD22: - cmp r0, 0 - bne _0805AD36 - mov r2, r8 - cmp r2, 0 - beq _0805AD36 - movs r6, 0x1 - negs r6, r6 - cmp r2, 0 - ble _0805AD36 - movs r6, 0x1 -_0805AD36: - cmp r1, 0 - beq _0805AD48 - cmn r1, r7 - bne _0805AD48 - movs r5, 0x1 - negs r5, r5 - cmp r7, 0 - ble _0805AD48 - movs r5, 0x1 -_0805AD48: - cmp r0, 0 - beq _0805AD5C - mov r3, r8 - cmn r0, r3 - bne _0805AD5C - movs r5, 0x1 - negs r5, r5 - cmp r3, 0 - ble _0805AD5C - movs r5, 0x1 -_0805AD5C: - ldr r2, _0805ADCC @ =gFieldCamera - ldr r0, [r2, 0x10] - adds r1, r0, r7 - str r1, [r2, 0x10] - adds r0, r1, 0 - cmp r1, 0 - bge _0805AD6C - adds r0, 0xF -_0805AD6C: - 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 _0805AD84 - adds r0, 0xF -_0805AD84: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x14] - cmp r5, 0 - bne _0805AD94 - cmp r6, 0 - beq _0805ADB6 -_0805AD94: - adds r0, r5, 0 - adds r1, r6, 0 - bl CameraMove - ldr r4, _0805ADD0 @ =gUnknown_3000E90 - lsls r5, 1 - lsls r6, 1 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl tilemap_move_something - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl RedrawMapSlicesForCameraUpdate -_0805ADB6: - ldr r0, _0805ADD0 @ =gUnknown_3000E90 - adds r1, r7, 0 - mov r2, r8 - bl coords8_add - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805ADCC: .4byte gFieldCamera -_0805ADD0: .4byte gUnknown_3000E90 - thumb_func_end sub_805ACF0 - - thumb_func_start SetCameraPanningCallback -SetCameraPanningCallback: @ 805ADD4 - ldr r1, _0805ADDC @ =gUnknown_3000EA0 - str r0, [r1] - bx lr - .align 2, 0 -_0805ADDC: .4byte gUnknown_3000EA0 - thumb_func_end SetCameraPanningCallback - - thumb_func_start SetCameraPanning -SetCameraPanning: @ 805ADE0 - ldr r2, _0805ADF0 @ =gUnknown_3000E98 - strh r0, [r2] - ldr r0, _0805ADF4 @ =gUnknown_3000E9A - lsls r1, 16 - asrs r1, 16 - adds r1, 0x20 - strh r1, [r0] - bx lr - .align 2, 0 -_0805ADF0: .4byte gUnknown_3000E98 -_0805ADF4: .4byte gUnknown_3000E9A - thumb_func_end SetCameraPanning - - thumb_func_start InstallCameraPanAheadCallback -InstallCameraPanAheadCallback: @ 805ADF8 - ldr r1, _0805AE14 @ =gUnknown_3000EA0 - ldr r0, _0805AE18 @ =CameraPanningCB_PanAhead - str r0, [r1] - ldr r1, _0805AE1C @ =gUnknown_3000E9C - movs r0, 0 - strb r0, [r1] - ldr r1, _0805AE20 @ =gUnknown_3000E98 - movs r0, 0 - strh r0, [r1] - ldr r1, _0805AE24 @ =gUnknown_3000E9A - movs r0, 0x20 - strh r0, [r1] - bx lr - .align 2, 0 -_0805AE14: .4byte gUnknown_3000EA0 -_0805AE18: .4byte CameraPanningCB_PanAhead -_0805AE1C: .4byte gUnknown_3000E9C -_0805AE20: .4byte gUnknown_3000E98 -_0805AE24: .4byte gUnknown_3000E9A - thumb_func_end InstallCameraPanAheadCallback - - thumb_func_start UpdateCameraPanning -UpdateCameraPanning: @ 805AE28 - push {lr} - ldr r0, _0805AE58 @ =gUnknown_3000EA0 - ldr r0, [r0] - cmp r0, 0 - beq _0805AE36 - bl _call_via_r0 -_0805AE36: - ldr r2, _0805AE5C @ =gSpriteCoordOffsetX - ldr r0, _0805AE60 @ =gTotalCameraPixelOffsetX - ldr r1, _0805AE64 @ =gUnknown_3000E98 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r2, _0805AE68 @ =gSpriteCoordOffsetY - ldr r0, _0805AE6C @ =gTotalCameraPixelOffsetY - ldr r1, _0805AE70 @ =gUnknown_3000E9A - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - subs r0, 0x8 - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0805AE58: .4byte gUnknown_3000EA0 -_0805AE5C: .4byte gSpriteCoordOffsetX -_0805AE60: .4byte gTotalCameraPixelOffsetX -_0805AE64: .4byte gUnknown_3000E98 -_0805AE68: .4byte gSpriteCoordOffsetY -_0805AE6C: .4byte gTotalCameraPixelOffsetY -_0805AE70: .4byte gUnknown_3000E9A - thumb_func_end UpdateCameraPanning - - thumb_func_start CameraPanningCB_PanAhead -CameraPanningCB_PanAhead: @ 805AE74 - push {lr} - ldr r0, _0805AE84 @ =gUnknown_2036E2C - ldrb r0, [r0] - cmp r0, 0 - bne _0805AE88 - bl InstallCameraPanAheadCallback - b _0805AF10 - .align 2, 0 -_0805AE84: .4byte gUnknown_2036E2C -_0805AE88: - ldr r0, _0805AEA0 @ =gPlayerAvatar - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - bne _0805AEA8 - ldr r0, _0805AEA4 @ =gUnknown_3000E9C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - cmp r1, 0 - beq _0805AF10 - b _0805AEAE - .align 2, 0 -_0805AEA0: .4byte gPlayerAvatar -_0805AEA4: .4byte gUnknown_3000E9C -_0805AEA8: - ldr r1, _0805AED0 @ =gUnknown_3000E9C - movs r0, 0 - strb r0, [r1] -_0805AEAE: - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805AED8 - ldr r2, _0805AED4 @ =gUnknown_3000E9A - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - ble _0805AF10 - subs r0, r3, 0x2 - b _0805AF0E - .align 2, 0 -_0805AED0: .4byte gUnknown_3000E9C -_0805AED4: .4byte gUnknown_3000E9A -_0805AED8: - cmp r0, 0x1 - bne _0805AEF4 - ldr r1, _0805AEF0 @ =gUnknown_3000E9A - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x47 - bgt _0805AF10 - adds r0, r2, 0x2 - strh r0, [r1] - b _0805AF10 - .align 2, 0 -_0805AEF0: .4byte gUnknown_3000E9A -_0805AEF4: - ldr r2, _0805AF04 @ =gUnknown_3000E9A - ldrh r0, [r2] - movs r3, 0 - ldrsh r1, [r2, r3] - cmp r1, 0x1F - bgt _0805AF08 - adds r0, 0x2 - b _0805AF0E - .align 2, 0 -_0805AF04: .4byte gUnknown_3000E9A -_0805AF08: - cmp r1, 0x20 - ble _0805AF10 - subs r0, 0x2 -_0805AF0E: - strh r0, [r2] -_0805AF10: - pop {r0} - bx r0 - thumb_func_end CameraPanningCB_PanAhead - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 07b7ea3ed..09c516bd8 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -332,7 +332,7 @@ sub_806CAC8: @ 806CAC8 movs r2, 0x2 ldrsh r1, [r4, r2] movs r2, 0xFF - bl sub_8058F48 + bl MapGridGetMetatileAttributeAt mov r8, r0 mov r0, sp movs r1, 0 @@ -798,7 +798,7 @@ sub_806CEA0: @ 806CEA0 movs r0, 0 b _0806CED2 _0806CEB8: - ldr r0, _0806CED8 @ =gUnknown_8168CE4 + ldr r0, _0806CED8 @ =PalletTown_PlayersHouse_2F_EventScript_PC cmp r4, r0 beq _0806CECA ldr r0, _0806CEDC @ =EventScript_PC @@ -815,7 +815,7 @@ _0806CED2: pop {r1} bx r1 .align 2, 0 -_0806CED8: .4byte gUnknown_8168CE4 +_0806CED8: .4byte PalletTown_PlayersHouse_2F_EventScript_PC _0806CEDC: .4byte EventScript_PC thumb_func_end sub_806CEA0 @@ -1330,10 +1330,10 @@ _0806D2F0: lsrs r0, 24 cmp r0, 0x1 bne _0806D308 - ldr r0, _0806D304 @ =EventScript_1C549C + ldr r0, _0806D304 @ =TrainerTower_EventScript_ShowTime b _0806D53E .align 2, 0 -_0806D304: .4byte EventScript_1C549C +_0806D304: .4byte TrainerTower_EventScript_ShowTime _0806D308: adds r0, r4, 0 adds r1, r5, 0 @@ -1530,10 +1530,10 @@ _0806D4A0: lsrs r0, 24 cmp r0, 0x1 bne _0806D4B8 - ldr r0, _0806D4B4 @ =gUnknown_81A7702 + ldr r0, _0806D4B4 @ =EventScript_Questionnaire b _0806D53E .align 2, 0 -_0806D4B4: .4byte gUnknown_81A7702 +_0806D4B4: .4byte EventScript_Questionnaire _0806D4B8: adds r0, r4, 0 adds r1, r5, 0 @@ -1664,16 +1664,16 @@ _0806D5A4: lsrs r0, 24 cmp r0, 0x1 bne _0806D5D8 - ldr r0, _0806D5D4 @ =EventScript_InteractWithWaterfall + ldr r0, _0806D5D4 @ =EventScript_Waterfall b _0806D5E2 .align 2, 0 _0806D5D0: .4byte 0x00000826 -_0806D5D4: .4byte EventScript_InteractWithWaterfall +_0806D5D4: .4byte EventScript_Waterfall _0806D5D8: - ldr r0, _0806D5DC @ =EventScript_81BE2FF + ldr r0, _0806D5DC @ =EventScript_CantUseWaterfall b _0806D5E2 .align 2, 0 -_0806D5DC: .4byte EventScript_81BE2FF +_0806D5DC: .4byte EventScript_CantUseWaterfall _0806D5E0: movs r0, 0 _0806D5E2: @@ -1822,11 +1822,11 @@ _0806D6EC: lsrs r0, 24 cmp r0, 0x1 bne _0806D704 - ldr r0, _0806D700 @ =EventScript_PoisonWhiteOut + ldr r0, _0806D700 @ =EventScript_FieldPoison bl ScriptContext1_SetupScript b _0806D730 .align 2, 0 -_0806D700: .4byte EventScript_PoisonWhiteOut +_0806D700: .4byte EventScript_FieldPoison _0806D704: bl ShouldEggHatch lsls r0, 24 diff --git a/asm/field_effect.s b/asm/field_effect.s deleted file mode 100644 index 4e0fee5c8..000000000 --- a/asm/field_effect.s +++ /dev/null @@ -1,9666 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start FieldEffectStart -FieldEffectStart: @ 8083444 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl FieldEffectActiveListAdd - ldr r0, _08083484 @ =gUnknown_81D96AC - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - str r0, [sp] - add r4, sp, 0x4 - ldr r5, _08083488 @ =gUnknown_83CBE30 -_08083462: - ldr r0, [sp] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r5 - ldr r2, [r0] - mov r0, sp - adds r1, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _08083462 - ldr r0, [sp, 0x4] - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08083484: .4byte gUnknown_81D96AC -_08083488: .4byte gUnknown_83CBE30 - thumb_func_end FieldEffectStart - - thumb_func_start FieldEffectCmd_loadtiles -FieldEffectCmd_loadtiles: @ 808348C - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl FieldEffectScript_LoadTiles - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadtiles - - thumb_func_start FieldEffectCmd_loadfadedpal -FieldEffectCmd_loadfadedpal: @ 80834A0 - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl sub_8083614 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadfadedpal - - thumb_func_start FieldEffectCmd_loadpal -FieldEffectCmd_loadpal: @ 80834B4 - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl sub_808365C - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadpal - - thumb_func_start FieldEffectCmd_callnative -FieldEffectCmd_callnative: @ 80834C8 - push {lr} - ldr r2, [r0] - adds r2, 0x1 - str r2, [r0] - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_callnative - - thumb_func_start sub_80834DC -sub_80834DC: @ 80834DC - movs r0, 0 - bx lr - thumb_func_end sub_80834DC - - thumb_func_start FieldEffectCmd_loadgfx_callnative -FieldEffectCmd_loadgfx_callnative: @ 80834E0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl FieldEffectScript_LoadTiles - adds r0, r4, 0 - bl sub_8083614 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadgfx_callnative - - thumb_func_start FieldEffectCmd_loadtiles_callnative -FieldEffectCmd_loadtiles_callnative: @ 8083508 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl FieldEffectScript_LoadTiles - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadtiles_callnative - - thumb_func_start FieldEffectCmd_loadfadedpal_callnative -FieldEffectCmd_loadfadedpal_callnative: @ 808352C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl sub_8083614 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadfadedpal_callnative - - thumb_func_start FieldEffectScript_ReadWord -FieldEffectScript_ReadWord: @ 8083550 - ldr r2, [r0] - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - adds r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - adds r0, r1 - bx lr - thumb_func_end FieldEffectScript_ReadWord - - thumb_func_start FieldEffectScript_LoadTiles -FieldEffectScript_LoadTiles: @ 8083568 - push {r4,r5,lr} - adds r4, r0, 0 - bl FieldEffectScript_ReadWord - adds r5, r0, 0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _08083594 @ =0xffff0000 - cmp r0, r1 - bne _08083586 - adds r0, r5, 0 - bl LoadSpriteSheet -_08083586: - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08083594: .4byte 0xffff0000 - thumb_func_end FieldEffectScript_LoadTiles - - thumb_func_start sub_8083598 -sub_8083598: @ 8083598 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080835B4 @ =gUnknown_2036E28 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080835B8 - cmp r0, 0x1 - ble _08083606 - cmp r0, 0x2 - beq _080835CC - cmp r0, 0x3 - beq _080835E0 - b _08083606 - .align 2, 0 -_080835B4: .4byte gUnknown_2036E28 -_080835B8: - adds r4, 0x10 - lsls r0, r4, 5 - ldr r1, _080835C8 @ =gPlttBufferUnfaded - adds r0, r1 - movs r1, 0x10 - bl TintPalette_GrayScale - b _080835F6 - .align 2, 0 -_080835C8: .4byte gPlttBufferUnfaded -_080835CC: - adds r4, 0x10 - lsls r0, r4, 5 - ldr r1, _080835DC @ =gPlttBufferUnfaded - adds r0, r1 - movs r1, 0x10 - bl TintPalette_SepiaTone - b _080835F6 - .align 2, 0 -_080835DC: .4byte gPlttBufferUnfaded -_080835E0: - adds r4, 0x10 - lsls r0, r4, 4 - movs r1, 0x10 - bl sub_8111F38 - lsls r0, r4, 5 - ldr r1, _0808360C @ =gPlttBufferUnfaded - adds r0, r1 - movs r1, 0x10 - bl TintPalette_GrayScale -_080835F6: - lsls r1, r4, 5 - ldr r0, _0808360C @ =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, _08083610 @ =gPlttBufferFaded - adds r1, r2 - movs r2, 0x8 - bl CpuFastSet -_08083606: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808360C: .4byte gPlttBufferUnfaded -_08083610: .4byte gPlttBufferFaded - thumb_func_end sub_8083598 - - thumb_func_start sub_8083614 -sub_8083614: @ 8083614 - push {r4-r6,lr} - adds r6, r0, 0 - bl FieldEffectScript_ReadWord - adds r5, r0, 0 - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl LoadSpritePalette - cmp r4, 0xFF - bne _08083642 - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - bl sub_8083598 -_08083642: - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - bl sub_807AA8C - ldr r0, [r6] - adds r0, 0x4 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8083614 - - thumb_func_start sub_808365C -sub_808365C: @ 808365C - push {r4-r6,lr} - adds r6, r0, 0 - bl FieldEffectScript_ReadWord - adds r5, r0, 0 - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl LoadSpritePalette - cmp r4, 0xFF - beq _0808368A - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - bl sub_8083598 -_0808368A: - ldr r0, [r6] - adds r0, 0x4 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_808365C - - thumb_func_start FieldEffectScript_CallNative -FieldEffectScript_CallNative: @ 8083698 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldEffectScript_ReadWord - bl _call_via_r0 - str r0, [r5] - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectScript_CallNative - - thumb_func_start FieldEffectFreeGraphicsResources -FieldEffectFreeGraphicsResources: @ 80836B4 - push {r4,r5,lr} - adds r1, r0, 0 - adds r1, 0x40 - ldrh r5, [r1] - ldrb r4, [r0, 0x5] - lsrs r4, 4 - bl DestroySprite - adds r0, r5, 0 - bl FieldEffectFreeTilesIfUnused - adds r0, r4, 0 - bl FieldEffectFreePaletteIfUnused - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectFreeGraphicsResources - - thumb_func_start FieldEffectStop -FieldEffectStop: @ 80836D8 - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl FieldEffectFreeGraphicsResources - adds r0, r4, 0 - bl FieldEffectActiveListRemove - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldEffectStop - - thumb_func_start FieldEffectFreeTilesIfUnused -FieldEffectFreeTilesIfUnused: @ 80836F0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl GetSpriteTileTagByTileStart - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _0808374C @ =0x0000ffff - cmp r3, r0 - beq _08083744 - movs r2, 0 - ldr r5, _08083750 @ =gSprites -_0808370A: - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r5 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08083734 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _08083734 - adds r0, r1, 0 - adds r0, 0x40 - ldrh r0, [r0] - cmp r4, r0 - beq _08083744 -_08083734: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _0808370A - adds r0, r3, 0 - bl FreeSpriteTilesByTag -_08083744: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808374C: .4byte 0x0000ffff -_08083750: .4byte gSprites - thumb_func_end FieldEffectFreeTilesIfUnused - - thumb_func_start FieldEffectFreePaletteIfUnused -FieldEffectFreePaletteIfUnused: @ 8083754 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080837A4 @ =0x0000ffff - cmp r5, r0 - beq _0808379C - movs r2, 0 - ldr r6, _080837A8 @ =gSprites - adds r3, r4, 0 -_08083770: - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0808378C - ldrb r0, [r1, 0x5] - lsrs r0, 4 - cmp r0, r3 - beq _0808379C -_0808378C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _08083770 - adds r0, r5, 0 - bl FreeSpritePaletteByTag -_0808379C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080837A4: .4byte 0x0000ffff -_080837A8: .4byte gSprites - thumb_func_end FieldEffectFreePaletteIfUnused - - thumb_func_start FieldEffectActiveListClear -FieldEffectActiveListClear: @ 80837AC - push {r4,lr} - movs r2, 0 - ldr r4, _080837CC @ =gUnknown_3000FC8 - movs r3, 0xFF -_080837B4: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080837B4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080837CC: .4byte gUnknown_3000FC8 - thumb_func_end FieldEffectActiveListClear - - thumb_func_start FieldEffectActiveListAdd -FieldEffectActiveListAdd: @ 80837D0 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _080837E8 @ =gUnknown_3000FC8 -_080837DA: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, 0xFF - bne _080837EC - strb r3, [r1] - b _080837F6 - .align 2, 0 -_080837E8: .4byte gUnknown_3000FC8 -_080837EC: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080837DA -_080837F6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldEffectActiveListAdd - - thumb_func_start FieldEffectActiveListRemove -FieldEffectActiveListRemove: @ 80837FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _08083818 @ =gUnknown_3000FC8 - movs r5, 0xFF -_08083808: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, r3 - bne _0808381C - orrs r0, r5 - strb r0, [r1] - b _08083826 - .align 2, 0 -_08083818: .4byte gUnknown_3000FC8 -_0808381C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _08083808 -_08083826: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectActiveListRemove - - thumb_func_start FieldEffectActiveListContains -FieldEffectActiveListContains: @ 808382C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, _08083844 @ =gUnknown_3000FC8 -_08083836: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _08083848 - movs r0, 0x1 - b _08083854 - .align 2, 0 -_08083844: .4byte gUnknown_3000FC8 -_08083848: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1F - bls _08083836 - movs r0, 0 -_08083854: - pop {r1} - bx r1 - thumb_func_end FieldEffectActiveListContains - - thumb_func_start CreateTrainerSprite -CreateTrainerSprite: @ 8083858 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r9, r3 - ldr r7, [sp, 0x34] - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsrs r4, 21 - ldr r3, _080838E0 @ =gTrainerFrontPicPaletteTable - mov r8, r3 - add r8, r4 - mov r0, r8 - adds r1, r7, 0 - bl LoadCompressedSpritePaletteOverrideBuffer - ldr r0, _080838E4 @ =gTrainerFrontPicTable - adds r4, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl LoadCompressedSpriteSheetOverrideBuffer - mov r1, sp - ldrh r0, [r4, 0x6] - movs r2, 0 - strh r0, [r1] - mov r3, r8 - ldrh r0, [r3, 0x4] - strh r0, [r1, 0x2] - ldr r0, _080838E8 @ =gUnknown_83CBE50 - str r0, [sp, 0x4] - ldr r0, _080838EC @ =gDummySpriteAnimTable - str r0, [sp, 0x8] - str r2, [sp, 0xC] - ldr r0, _080838F0 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, _080838F4 @ =SpriteCallbackDummy - str r0, [sp, 0x14] - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, r9 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080838E0: .4byte gTrainerFrontPicPaletteTable -_080838E4: .4byte gTrainerFrontPicTable -_080838E8: .4byte gUnknown_83CBE50 -_080838EC: .4byte gDummySpriteAnimTable -_080838F0: .4byte gDummySpriteAffineAnimTable -_080838F4: .4byte SpriteCallbackDummy - thumb_func_end CreateTrainerSprite - - thumb_func_start LoadTrainerGfx_TrainerCard -LoadTrainerGfx_TrainerCard: @ 80838F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r1, r2, 0 - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _08083928 @ =gTrainerFrontPicTable - lsrs r4, 21 - adds r0, r4, r0 - ldr r0, [r0] - bl LZDecompressVram - ldr r0, _0808392C @ =gTrainerFrontPicPaletteTable - adds r4, r0 - ldr r0, [r4] - adds r1, r5, 0 - movs r2, 0x20 - bl LoadCompressedPalette - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08083928: .4byte gTrainerFrontPicTable -_0808392C: .4byte gTrainerFrontPicPaletteTable - thumb_func_end LoadTrainerGfx_TrainerCard - - thumb_func_start AddNewGameBirchObject -AddNewGameBirchObject: @ 8083930 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _08083968 @ =gUnknown_83CBE70 - bl LoadSpritePalette - ldr r0, _0808396C @ =gUnknown_83CBE84 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08083968: .4byte gUnknown_83CBE70 -_0808396C: .4byte gUnknown_83CBE84 - thumb_func_end AddNewGameBirchObject - - thumb_func_start sub_8083970 -sub_8083970: @ 8083970 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 8 - lsls r1, 16 - asrs r1, 16 - str r1, [sp] - lsls r2, 16 - asrs r2, 16 - str r2, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - ldr r1, _080839C0 @ =gMonPaletteTable - lsls r4, r0, 3 - adds r4, r1 - ldrh r1, [r4, 0x4] - str r1, [sp, 0xC] - movs r1, 0 - adds r2, r3, 0 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl sub_807B084 - ldr r0, _080839C4 @ =0x0000ffff - cmp r5, r0 - beq _080839C8 - lsls r0, r5, 24 - lsrs r0, 24 - b _080839CA - .align 2, 0 -_080839C0: .4byte gMonPaletteTable -_080839C4: .4byte 0x0000ffff -_080839C8: - movs r0, 0x40 -_080839CA: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8083970 - - thumb_func_start sub_80839D4 -sub_80839D4: @ 80839D4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x10 - adds r6, r0, 0 - mov r9, r1 - mov r10, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x2C] - lsls r6, 16 - lsrs r6, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl GetMonSpritePalStructFromOtIdPersonality - mov r8, r0 - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r1, r8 - ldrh r0, [r1, 0x4] - str r0, [sp, 0xC] - adds r0, r6, 0 - mov r1, r9 - mov r2, r10 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - lsls r0, 16 - lsrs r4, r0, 16 - mov r1, r8 - ldrh r0, [r1, 0x4] - bl IndexOfSpritePaletteTag - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl sub_807B084 - ldr r0, _08083A44 @ =0x0000ffff - cmp r4, r0 - beq _08083A48 - lsls r0, r4, 24 - lsrs r0, 24 - b _08083A4A - .align 2, 0 -_08083A44: .4byte 0x0000ffff -_08083A48: - movs r0, 0x40 -_08083A4A: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80839D4 - - thumb_func_start sub_8083A5C -sub_8083A5C: @ 8083A5C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_807B0B4 - ldrb r0, [r4, 0x1] - lsls r0, 30 - cmp r0, 0 - beq _08083A7A - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix -_08083A7A: - adds r0, r5, 0 - bl FreeAndDestroyMonPicSprite - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8083A5C - - thumb_func_start MultiplyInvertedPaletteRGBComponents -MultiplyInvertedPaletteRGBComponents: @ 8083A88 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, _08083B0C @ =gPlttBufferUnfaded - lsrs r0, 15 - adds r4, r0, r4 - ldrh r4, [r4] - movs r5, 0x1F - mov r9, r5 - mov r8, r4 - mov r6, r8 - ands r6, r5 - mov r8, r6 - movs r6, 0xF8 - lsls r6, 2 - ands r6, r4 - lsrs r6, 5 - movs r5, 0xF8 - lsls r5, 7 - ands r4, r5 - lsrs r4, 10 - mov r7, r9 - mov r5, r8 - subs r7, r5 - mov r12, r7 - mov r7, r12 - muls r7, r1 - adds r1, r7, 0 - asrs r1, 4 - add r8, r1 - mov r5, r9 - subs r1, r5, r6 - muls r1, r2 - asrs r1, 4 - adds r6, r1 - subs r5, r4 - mov r9, r5 - mov r1, r9 - muls r1, r3 - asrs r1, 4 - adds r4, r1 - mov r7, r8 - lsls r7, 16 - lsls r6, 21 - orrs r6, r7 - lsls r4, 26 - orrs r4, r6 - lsrs r4, 16 - ldr r1, _08083B10 @ =gPlttBufferFaded - adds r0, r1 - strh r4, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08083B0C: .4byte gPlttBufferUnfaded -_08083B10: .4byte gPlttBufferFaded - thumb_func_end MultiplyInvertedPaletteRGBComponents - - thumb_func_start MultiplyPaletteRGBComponents -MultiplyPaletteRGBComponents: @ 8083B14 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, _08083B84 @ =gPlttBufferUnfaded - lsrs r0, 15 - adds r4, r0, r4 - ldrh r4, [r4] - movs r5, 0x1F - mov r8, r5 - mov r6, r8 - ands r6, r4 - mov r8, r6 - movs r5, 0xF8 - lsls r5, 2 - ands r5, r4 - lsrs r5, 5 - movs r6, 0xF8 - lsls r6, 7 - ands r4, r6 - lsrs r4, 10 - mov r6, r8 - muls r6, r1 - adds r1, r6, 0 - asrs r1, 4 - mov r6, r8 - subs r6, r1 - adds r1, r5, 0 - muls r1, r2 - asrs r1, 4 - subs r5, r1 - adds r1, r4, 0 - muls r1, r3 - asrs r1, 4 - subs r4, r1 - lsls r6, 16 - lsls r5, 21 - orrs r5, r6 - lsls r4, 26 - orrs r4, r5 - lsrs r4, 16 - ldr r1, _08083B88 @ =gPlttBufferFaded - adds r0, r1 - strh r4, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08083B84: .4byte gPlttBufferUnfaded -_08083B88: .4byte gPlttBufferFaded - thumb_func_end MultiplyPaletteRGBComponents - - thumb_func_start sub_8083B8C -sub_8083B8C: @ 8083B8C - push {r4,lr} - bl CalculatePlayerPartyCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08083BC8 @ =sub_8083BD0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083BCC @ =gTasks - adds r1, r0 - strh r4, [r1, 0xA] - movs r0, 0x5D - strh r0, [r1, 0xC] - movs r0, 0x24 - strh r0, [r1, 0xE] - movs r0, 0x80 - strh r0, [r1, 0x10] - movs r0, 0x18 - strh r0, [r1, 0x12] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08083BC8: .4byte sub_8083BD0 -_08083BCC: .4byte gTasks - thumb_func_end sub_8083B8C - - thumb_func_start sub_8083BD0 -sub_8083BD0: @ 8083BD0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083BF8 @ =gTasks - adds r1, r0 - ldr r2, _08083BFC @ =gUnknown_83CBFD0 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_08083BF8: .4byte gTasks -_08083BFC: .4byte gUnknown_83CBFD0 - thumb_func_end sub_8083BD0 - - thumb_func_start PokecenterHealEffect_0 -PokecenterHealEffect_0: @ 8083C00 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r3, 0xE - ldrsh r2, [r4, r3] - movs r3, 0x1 - bl sub_8083E14 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl PokecenterHealEffectHelper - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - pop {r4} - pop {r0} - bx r0 - thumb_func_end PokecenterHealEffect_0 - - thumb_func_start PokecenterHealEffect_1 -PokecenterHealEffect_1: @ 8083C3C - push {r4,lr} - adds r2, r0, 0 - ldr r3, _08083C74 @ =gSprites - movs r1, 0x14 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r4, 0x2E - ldrsh r0, [r1, r4] - cmp r0, 0x1 - ble _08083C6E - movs r0, 0x16 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_08083C6E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08083C74: .4byte gSprites - thumb_func_end PokecenterHealEffect_1 - - thumb_func_start sub_8083C78 -sub_8083C78: @ 8083C78 - push {lr} - adds r3, r0, 0 - ldr r2, _08083C9C @ =gSprites - movs r0, 0x14 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _08083C98 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08083C98: - pop {r0} - bx r0 - .align 2, 0 -_08083C9C: .4byte gSprites - thumb_func_end sub_8083C78 - - thumb_func_start PokecenterHealEffect_3 -PokecenterHealEffect_3: @ 8083CA0 - push {lr} - ldr r2, _08083CD8 @ =gSprites - movs r3, 0x14 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x6 - ble _08083CD2 - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x19 - bl FieldEffectActiveListRemove - ldr r0, _08083CDC @ =sub_8083BD0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08083CD2: - pop {r0} - bx r0 - .align 2, 0 -_08083CD8: .4byte gSprites -_08083CDC: .4byte sub_8083BD0 - thumb_func_end PokecenterHealEffect_3 - - thumb_func_start sub_8083CE0 -sub_8083CE0: @ 8083CE0 - push {r4,lr} - bl CalculatePlayerPartyCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08083D14 @ =sub_8083D1C - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083D18 @ =gTasks - adds r1, r0 - strh r4, [r1, 0xA] - movs r0, 0x75 - strh r0, [r1, 0xC] - movs r0, 0x3C - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08083D14: .4byte sub_8083D1C -_08083D18: .4byte gTasks - thumb_func_end sub_8083CE0 - - thumb_func_start sub_8083D1C -sub_8083D1C: @ 8083D1C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083D44 @ =gTasks - adds r1, r0 - ldr r2, _08083D48 @ =gUnknown_83CBFE0 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_08083D44: .4byte gTasks -_08083D48: .4byte gUnknown_83CBFE0 - thumb_func_end sub_8083D1C - - thumb_func_start HallOfFameRecordEffect_0 -HallOfFameRecordEffect_0: @ 8083D4C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r3, 0xE - ldrsh r2, [r4, r3] - movs r3, 0 - bl sub_8083E14 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - thumb_func_end HallOfFameRecordEffect_0 - - thumb_func_start sub_8083D74 -sub_8083D74: @ 8083D74 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _08083DA8 @ =gSprites - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x1 - ble _08083DA2 - movs r0, 0x78 - movs r1, 0x19 - bl sub_808428C - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08083DA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08083DA8: .4byte gSprites - thumb_func_end sub_8083D74 - - thumb_func_start sub_8083DAC -sub_8083DAC: @ 8083DAC - push {lr} - adds r3, r0, 0 - ldr r2, _08083DD0 @ =gSprites - movs r0, 0x14 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _08083DCC - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08083DCC: - pop {r0} - bx r0 - .align 2, 0 -_08083DD0: .4byte gSprites - thumb_func_end sub_8083DAC - - thumb_func_start sub_8083DD4 -sub_8083DD4: @ 8083DD4 - push {lr} - ldr r2, _08083E0C @ =gSprites - movs r3, 0x14 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x6 - ble _08083E06 - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x3E - bl FieldEffectActiveListRemove - ldr r0, _08083E10 @ =sub_8083D1C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08083E06: - pop {r0} - bx r0 - .align 2, 0 -_08083E0C: .4byte gSprites -_08083E10: .4byte sub_8083D1C - thumb_func_end sub_8083DD4 - - thumb_func_start sub_8083E14 -sub_8083E14: @ 8083E14 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _08083E68 @ =sub_8083E70 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, _08083E6C @ =gSprites - adds r1, r2 - strh r4, [r1, 0x24] - strh r5, [r1, 0x26] - adds r3, r1, 0 - adds r3, 0x43 - movs r2, 0xFF - strb r2, [r3] - strh r6, [r1, 0x38] - mov r2, r8 - strh r2, [r1, 0x3A] - strh r0, [r1, 0x3C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08083E68: .4byte sub_8083E70 -_08083E6C: .4byte gSprites - thumb_func_end sub_8083E14 - - thumb_func_start sub_8083E70 -sub_8083E70: @ 8083E70 - push {lr} - ldr r2, _08083E88 @ =gUnknown_83CBFF0 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08083E88: .4byte gUnknown_83CBFF0 - thumb_func_end sub_8083E70 - - thumb_func_start PokeballGlowEffect_0 -PokeballGlowEffect_0: @ 8083E8C - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08083EA4 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _08083F00 -_08083EA4: - movs r0, 0x19 - strh r0, [r4, 0x30] - ldr r0, _08083F18 @ =gUnknown_83CBF88 - ldr r1, _08083F1C @ =gUnknown_83CC010 - movs r2, 0x32 - ldrsh r3, [r4, r2] - lsls r3, 2 - adds r3, r1 - ldrh r1, [r4, 0x24] - ldrh r2, [r3] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x26] - ldrh r3, [r3, 0x2] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08083F20 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldrh r0, [r4, 0x3C] - strh r0, [r1, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - movs r0, 0x17 - bl PlaySE -_08083F00: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08083F12 - movs r0, 0x20 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08083F12: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08083F18: .4byte gUnknown_83CBF88 -_08083F1C: .4byte gUnknown_83CC010 -_08083F20: .4byte gSprites - thumb_func_end PokeballGlowEffect_0 - - thumb_func_start PokeballGlowEffect_1 -PokeballGlowEffect_1: @ 8083F24 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _08083F54 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - movs r0, 0x8 - strh r0, [r1, 0x30] - strh r2, [r1, 0x32] - strh r2, [r1, 0x34] - movs r2, 0x38 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08083F54 - movs r0, 0x80 - lsls r0, 1 - bl PlayFanfare -_08083F54: - pop {r0} - bx r0 - thumb_func_end PokeballGlowEffect_1 - - thumb_func_start PokeballGlowEffect_2 -PokeballGlowEffect_2: @ 8083F58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - ldrh r0, [r7, 0x30] - subs r0, 0x1 - strh r0, [r7, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _08083F88 - movs r0, 0x8 - strh r0, [r7, 0x30] - ldrh r0, [r7, 0x32] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r7, 0x32] - cmp r0, 0 - bne _08083F88 - ldrh r0, [r7, 0x34] - adds r0, 0x1 - strh r0, [r7, 0x34] -_08083F88: - ldrh r4, [r7, 0x32] - adds r4, 0x3 - movs r0, 0x3 - mov r8, r0 - mov r1, r8 - ands r4, r1 - ldr r3, _08084080 @ =0x00001007 - mov r10, r3 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x84 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r6, _08084084 @ =gUnknown_83CC028 - adds r1, r4, r6 - ldrb r1, [r1] - ldr r5, _08084088 @ =gUnknown_83CC02C - adds r2, r4, r5 - ldrb r2, [r2] - ldr r3, _0808408C @ =gUnknown_83CC030 - mov r9, r3 - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - adds r4, 0x2 - mov r0, r8 - ands r4, r0 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x83 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r4, r6 - ldrb r1, [r1] - adds r2, r4, r5 - ldrb r2, [r2] - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - adds r4, 0x1 - mov r3, r8 - ands r4, r3 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x81 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r4, r6 - ldrb r1, [r1] - adds r2, r4, r5 - ldrb r2, [r2] - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - lsls r4, 24 - lsrs r4, 24 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r3, _08084090 @ =0x01050000 - adds r0, r3 - lsrs r0, 16 - adds r6, r4, r6 - ldrb r6, [r6] - adds r5, r4, r5 - ldrb r5, [r5] - add r4, r9 - ldrb r4, [r4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, _08084094 @ =0x01030000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - movs r3, 0x34 - ldrsh r0, [r7, r3] - cmp r0, 0x2 - ble _08084072 - ldrh r0, [r7, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r7, 0x2E] - movs r0, 0x8 - strh r0, [r7, 0x30] - strh r1, [r7, 0x32] -_08084072: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08084080: .4byte 0x00001007 -_08084084: .4byte gUnknown_83CC028 -_08084088: .4byte gUnknown_83CC02C -_0808408C: .4byte gUnknown_83CC030 -_08084090: .4byte 0x01050000 -_08084094: .4byte 0x01030000 - thumb_func_end PokeballGlowEffect_2 - - thumb_func_start PokeballGlowEffect_3 -PokeballGlowEffect_3: @ 8084098 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080840C8 - movs r0, 0x8 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r2, 0x32] - cmp r0, 0x3 - bne _080840C8 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0x1E - strh r0, [r2, 0x30] -_080840C8: - ldrh r4, [r2, 0x32] - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08084174 @ =0x00001007 - mov r8, r0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x84 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r1, _08084178 @ =gUnknown_83CC028 - adds r1, r4, r1 - ldrb r6, [r1] - ldr r1, _0808417C @ =gUnknown_83CC02C - adds r1, r4, r1 - ldrb r5, [r1] - ldr r1, _08084180 @ =gUnknown_83CC030 - adds r4, r1 - ldrb r4, [r4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x83 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x81 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, _08084184 @ =0x01050000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, _08084188 @ =0x01030000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08084174: .4byte 0x00001007 -_08084178: .4byte gUnknown_83CC028 -_0808417C: .4byte gUnknown_83CC02C -_08084180: .4byte gUnknown_83CC030 -_08084184: .4byte 0x01050000 -_08084188: .4byte 0x01030000 - thumb_func_end PokeballGlowEffect_3 - - thumb_func_start PokeballGlowEffect_4 -PokeballGlowEffect_4: @ 808418C - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080841A2 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_080841A2: - pop {r0} - bx r0 - thumb_func_end PokeballGlowEffect_4 - - thumb_func_start PokeballGlowEffect_5 -PokeballGlowEffect_5: @ 80841A8 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] - bx lr - thumb_func_end PokeballGlowEffect_5 - - thumb_func_start PokeballGlowEffect_6 -PokeballGlowEffect_6: @ 80841B0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080841C6 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _080841CC -_080841C6: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080841CC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end PokeballGlowEffect_6 - - thumb_func_start nullsub_50 -nullsub_50: @ 80841D4 - bx lr - thumb_func_end nullsub_50 - - thumb_func_start SpriteCB_PokeballGlow -SpriteCB_PokeballGlow: @ 80841D8 - push {lr} - adds r3, r0, 0 - ldr r2, _080841FC @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _080841F8 - adds r0, r3, 0 - bl FieldEffectFreeGraphicsResources -_080841F8: - pop {r0} - bx r0 - .align 2, 0 -_080841FC: .4byte gSprites - thumb_func_end SpriteCB_PokeballGlow - - thumb_func_start PokecenterHealEffectHelper -PokecenterHealEffectHelper: @ 8084200 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _08084244 @ =gUnknown_83CBFA0 - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _08084248 @ =gSprites - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x8 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2] - pop {r1} - bx r1 - .align 2, 0 -_08084244: .4byte gUnknown_83CBFA0 -_08084248: .4byte gSprites - thumb_func_end PokecenterHealEffectHelper - - thumb_func_start sub_808424C -sub_808424C: @ 808424C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08084270 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_08084270: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08084284 - adds r0, r4, 0 - bl FieldEffectFreeGraphicsResources -_08084284: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_808424C - - thumb_func_start sub_808428C -sub_808428C: @ 808428C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _080842A8 @ =gUnknown_83CBFB8 - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0 - bl CreateSpriteAtEnd - pop {r0} - bx r0 - .align 2, 0 -_080842A8: .4byte gUnknown_83CBFB8 - thumb_func_end sub_808428C - - thumb_func_start sub_80842AC -sub_80842AC: @ 80842AC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080842C2 - adds r0, r2, 0 - bl FieldEffectFreeGraphicsResources -_080842C2: - pop {r0} - bx r0 - thumb_func_end sub_80842AC - - thumb_func_start sub_80842C8 -sub_80842C8: @ 80842C8 - push {lr} - ldr r0, _080842DC @ =CB2_ReturnToField - bl SetMainCallback2 - ldr r1, _080842E0 @ =gFieldCallback - ldr r0, _080842E4 @ =mapldr_080842E8 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080842DC: .4byte CB2_ReturnToField -_080842E0: .4byte gFieldCallback -_080842E4: .4byte mapldr_080842E8 - thumb_func_end sub_80842C8 - - thumb_func_start mapldr_080842E8 -mapldr_080842E8: @ 80842E8 - push {lr} - bl sub_807DC00 - ldr r0, _08084308 @ =task00_8084310 - movs r1, 0 - bl CreateTask - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _0808430C @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08084308: .4byte task00_8084310 -_0808430C: .4byte gFieldCallback - thumb_func_end mapldr_080842E8 - - thumb_func_start task00_8084310 -task00_8084310: @ 8084310 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808437C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r6, [r4, r0] - cmp r6, 0 - bne _08084350 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08084376 - bl GetCursorSelectionMonId - ldr r1, _08084380 @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - cmp r0, 0x5 - ble _08084344 - str r6, [r1] -_08084344: - movs r0, 0x1F - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084350: - movs r0, 0x1F - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084376 - bl sub_8054CA0 - bl WarpIntoMap - ldr r0, _08084384 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r1, _08084388 @ =gFieldCallback - ldr r0, _0808438C @ =mapldr_08084390 - str r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_08084376: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808437C: .4byte gTasks -_08084380: .4byte gFieldEffectArguments -_08084384: .4byte CB2_LoadMap -_08084388: .4byte gFieldCallback -_0808438C: .4byte mapldr_08084390 - thumb_func_end task00_8084310 - - thumb_func_start mapldr_08084390 -mapldr_08084390: @ 8084390 - push {r4,lr} - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _080843E8 @ =c3_080843F8 - movs r1, 0 - bl CreateTask - ldr r4, _080843EC @ =gObjectEvents - ldr r3, _080843F0 @ =gPlayerAvatar - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r3] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080843D2 - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3 - bl ObjectEventTurn -_080843D2: - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _080843F4 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080843E8: .4byte c3_080843F8 -_080843EC: .4byte gObjectEvents -_080843F0: .4byte gPlayerAvatar -_080843F4: .4byte gFieldCallback - thumb_func_end mapldr_08084390 - - thumb_func_start c3_080843F8 -c3_080843F8: @ 80843F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808444C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808442A - ldr r0, _08084450 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08084444 - movs r0, 0x20 - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0808442A: - movs r0, 0x20 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084444 - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - adds r0, r5, 0 - bl DestroyTask -_08084444: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808444C: .4byte gTasks -_08084450: .4byte gPaletteFade - thumb_func_end c3_080843F8 - - thumb_func_start sub_8084454 -sub_8084454: @ 8084454 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r0, _0808447C @ =sub_8084484 - movs r1, 0 - bl CreateTask - ldr r1, _08084480 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0808447C: .4byte sub_8084484 -_08084480: .4byte gFieldCallback - thumb_func_end sub_8084454 - - thumb_func_start sub_8084484 -sub_8084484: @ 8084484 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080844B4 @ =gTasks - adds r4, r1, r0 - ldr r5, _080844B8 @ =gUnknown_83CC034 -_08084496: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08084496 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080844B4: .4byte gTasks -_080844B8: .4byte gUnknown_83CC034 - thumb_func_end sub_8084484 - - thumb_func_start sub_80844BC -sub_80844BC: @ 80844BC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - mov r9, r0 - ldr r6, _08084558 @ =gPlayerAvatar - ldrb r0, [r6, 0x5] - lsls r5, r0, 3 - adds r5, r0 - lsls r5, 2 - ldr r0, _0808455C @ =gObjectEvents - mov r8, r0 - add r5, r8 - ldrb r0, [r6, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084560 @ =gSprites - adds r4, r0 - bl CameraObjectReset2 - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r0, 0x1 - strb r0, [r6, 0x6] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl ObjectEventSetHeldMovement - adds r3, r4, 0 - adds r3, 0x42 - ldrb r0, [r3] - lsrs r0, 6 - mov r1, r9 - strh r0, [r1, 0x10] - ldrb r0, [r5, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r5, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - ldrb r1, [r3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3] - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08084558: .4byte gPlayerAvatar -_0808455C: .4byte gObjectEvents -_08084560: .4byte gSprites - thumb_func_end sub_80844BC - - thumb_func_start sub_8084564 -sub_8084564: @ 8084564 - push {r4,lr} - adds r4, r0, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08084578 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084578: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084564 - - thumb_func_start sub_8084580 -sub_8084580: @ 8084580 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080845E4 @ =gPlayerAvatar - ldrb r0, [r6, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080845E8 @ =gSprites - adds r2, r0 - adds r0, r2, 0 - adds r0, 0x29 - movs r4, 0 - ldrsb r4, [r0, r4] - lsls r0, r4, 17 - negs r0, r0 - ldrh r1, [r2, 0x22] - ldr r3, _080845EC @ =gSpriteCoordOffsetY - adds r1, r4 - ldrh r3, [r3] - adds r1, r3 - asrs r0, 16 - adds r0, r1 - negs r0, r0 - movs r1, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r5, 0xA] - strh r1, [r5, 0xC] - ldr r2, _080845F0 @ =gObjectEvents - ldrb r0, [r6, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x25 - bl PlaySE - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080845E4: .4byte gPlayerAvatar -_080845E8: .4byte gSprites -_080845EC: .4byte gSpriteCoordOffsetY -_080845F0: .4byte gObjectEvents - thumb_func_end sub_8084580 - - thumb_func_start sub_80845F4 -sub_80845F4: @ 80845F4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r2, _080846A0 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080846A4 @ =gObjectEvents - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080846A8 @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r2, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bgt _08084636 - ldrh r1, [r4, 0xC] - adds r0, r2, r1 - strh r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r0, 0 - beq _08084636 - lsls r0, r2, 1 - strh r0, [r4, 0xA] -_08084636: - ldrh r2, [r4, 0xE] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08084674 - movs r0, 0x26 - ldrsh r1, [r5, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - blt _08084674 - adds r0, r2, 0x1 - strh r0, [r4, 0xE] - ldrb r1, [r6, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x3] - ldrb r1, [r4, 0x10] - adds r3, r5, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] -_08084674: - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _08084698 - movs r0, 0xCF - bl PlaySE - ldrb r0, [r6] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r6] - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084698: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080846A0: .4byte gPlayerAvatar -_080846A4: .4byte gObjectEvents -_080846A8: .4byte gSprites - thumb_func_end sub_80845F4 - - thumb_func_start sub_80846AC -sub_80846AC: @ 80846AC - push {lr} - ldrh r1, [r0, 0x8] - adds r1, 0x1 - movs r2, 0 - strh r1, [r0, 0x8] - movs r1, 0x4 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80846AC - - thumb_func_start sub_80846C8 -sub_80846C8: @ 80846C8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r2, r0 - strh r2, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080846F0 - lsls r0, r2, 16 - asrs r0, 17 - strh r0, [r4, 0xA] -_080846F0: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080846FE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080846FE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80846C8 - - thumb_func_start sub_8084708 -sub_8084708: @ 8084708 - push {r4,lr} - sub sp, 0x4 - ldr r1, _08084778 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - bl CameraObjectReset1 - bl UnfreezeObjectEvents - bl InstallCameraPanAheadCallback - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r0, 16 - bl sub_8055B38 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08084760 - ldr r0, _0808477C @ =0x00004001 - movs r1, 0x1 - bl VarSet - movs r0, 0x8 - bl SetPlayerAvatarTransitionFlags - movs r0, 0x16 - bl HelpSystem_SetSomeVariable2 -_08084760: - ldr r0, _08084780 @ =sub_8084484 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084778: .4byte gPlayerAvatar -_0808477C: .4byte 0x00004001 -_08084780: .4byte sub_8084484 - thumb_func_end sub_8084708 - - thumb_func_start sub_8084784 -sub_8084784: @ 8084784 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080847B8 @ =sub_80847C0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080847BC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0xA] - cmp r4, 0x6A - bne _080847B0 - movs r0, 0x1 - strh r0, [r1, 0xA] -_080847B0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080847B8: .4byte sub_80847C0 -_080847BC: .4byte gTasks - thumb_func_end sub_8084784 - - thumb_func_start sub_80847C0 -sub_80847C0: @ 80847C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080847F0 @ =gTasks - adds r4, r1, r0 - ldr r5, _080847F4 @ =gUnknown_83CC050 -_080847D2: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080847D2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080847F0: .4byte gTasks -_080847F4: .4byte gUnknown_83CC050 - thumb_func_end sub_80847C0 - - thumb_func_start sub_80847F8 -sub_80847F8: @ 80847F8 - push {r4,lr} - adds r4, r0, 0 - bl FreezeObjectEvents - bl CameraObjectReset2 - ldrb r0, [r4, 0xA] - bl sub_809C448 - movs r0, 0x1 - bl sub_81128BC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80847F8 - - thumb_func_start sub_8084820 -sub_8084820: @ 8084820 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084888 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0808488C @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808484A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808487E -_0808484A: - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x8] - strh r1, [r5, 0xC] - strh r1, [r5, 0xE] - ldrb r0, [r5, 0xA] - cmp r0, 0 - bne _08084878 - movs r0, 0x4 - strh r0, [r5, 0x8] -_08084878: - movs r0, 0x49 - bl PlaySE -_0808487E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084888: .4byte gPlayerAvatar -_0808488C: .4byte gObjectEvents - thumb_func_end sub_8084820 - - thumb_func_start sub_8084890 -sub_8084890: @ 8084890 - push {r4,lr} - adds r4, r0, 0 - bl sub_80848F8 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _080848AA - bl sub_8084990 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080848AA: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084890 - - thumb_func_start sub_80848B4 -sub_80848B4: @ 80848B4 - push {lr} - bl sub_80848F8 - bl sub_80849A0 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80848B4 - - thumb_func_start sub_80848C4 -sub_80848C4: @ 80848C4 - push {r4,lr} - adds r4, r0, 0 - bl sub_8084944 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _080848DE - bl sub_8084990 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080848DE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80848C4 - - thumb_func_start sub_80848E8 -sub_80848E8: @ 80848E8 - push {lr} - bl sub_8084944 - bl sub_80849A0 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80848E8 - - thumb_func_start sub_80848F8 -sub_80848F8: @ 80848F8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _0808493C @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084940 @ =gSprites - adds r4, r0 - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x84 - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x94 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084936 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] -_08084936: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808493C: .4byte gPlayerAvatar -_08084940: .4byte gSprites - thumb_func_end sub_80848F8 - - thumb_func_start sub_8084944 -sub_8084944: @ 8084944 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084988 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0808498C @ =gSprites - adds r4, r0 - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x7C - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x76 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084982 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] -_08084982: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084988: .4byte gPlayerAvatar -_0808498C: .4byte gSprites - thumb_func_end sub_8084944 - - thumb_func_start sub_8084990 -sub_8084990: @ 8084990 - push {lr} - bl sub_8055F88 - bl sub_807DC18 - pop {r0} - bx r0 - thumb_func_end sub_8084990 - - thumb_func_start sub_80849A0 -sub_80849A0: @ 80849A0 - push {lr} - ldr r0, _080849E0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080849DC - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080849DC - bl sub_809C460 - bl WarpIntoMap - ldr r1, _080849E4 @ =gFieldCallback - ldr r0, _080849E8 @ =sub_80849F4 - str r0, [r1] - ldr r0, _080849EC @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _080849F0 @ =sub_80847C0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080849DC: - pop {r0} - bx r0 - .align 2, 0 -_080849E0: .4byte gPaletteFade -_080849E4: .4byte gFieldCallback -_080849E8: .4byte sub_80849F4 -_080849EC: .4byte CB2_LoadMap -_080849F0: .4byte sub_80847C0 - thumb_func_end sub_80849A0 - - thumb_func_start sub_80849F4 -sub_80849F4: @ 80849F4 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r0, _08084A1C @ =sub_8084A24 - movs r1, 0 - bl CreateTask - ldr r1, _08084A20 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08084A1C: .4byte sub_8084A24 -_08084A20: .4byte gFieldCallback - thumb_func_end sub_80849F4 - - thumb_func_start sub_8084A24 -sub_8084A24: @ 8084A24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08084A54 @ =gTasks - adds r4, r1, r0 - ldr r5, _08084A58 @ =gUnknown_83CC068 -_08084A36: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08084A36 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084A54: .4byte gTasks -_08084A58: .4byte gUnknown_83CC068 - thumb_func_end sub_8084A24 - - thumb_func_start sub_8084A5C -sub_8084A5C: @ 8084A5C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl CameraObjectReset2 - ldr r0, _08084ABC @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084AC0 @ =gObjectEvents - adds r4, r0 - movs r0, 0x4 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x10 - strh r0, [r5, 0xA] - cmp r1, 0x6B - bne _08084AC4 - movs r1, 0x1 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _08084AC6 - .align 2, 0 -_08084ABC: .4byte gPlayerAvatar -_08084AC0: .4byte gObjectEvents -_08084AC4: - movs r1, 0 -_08084AC6: - adds r0, r1, 0 - bl sub_809C448 - movs r0, 0x1 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084A5C - - thumb_func_start sub_8084AD8 -sub_8084AD8: @ 8084AD8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084B10 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084B14 @ =gSprites - adds r4, r0 - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x84 - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x94 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084B10: .4byte gPlayerAvatar -_08084B14: .4byte gSprites - thumb_func_end sub_8084AD8 - - thumb_func_start sub_8084B18 -sub_8084B18: @ 8084B18 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _08084B70 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084B74 @ =gSprites - adds r5, r0, r1 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x84 - bl Cos - strh r0, [r5, 0x24] - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x94 - bl Sin - strh r0, [r5, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084B56 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_08084B56: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08084B66 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - movs r0, 0x5 - strh r0, [r4, 0x8] -_08084B66: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084B70: .4byte gPlayerAvatar -_08084B74: .4byte gSprites - thumb_func_end sub_8084B18 - - thumb_func_start sub_8084B78 -sub_8084B78: @ 8084B78 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084BB0 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084BB4 @ =gSprites - adds r4, r0 - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x7C - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x76 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084BB0: .4byte gPlayerAvatar -_08084BB4: .4byte gSprites - thumb_func_end sub_8084B78 - - thumb_func_start sub_8084BB8 -sub_8084BB8: @ 8084BB8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _08084C10 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084C14 @ =gSprites - adds r5, r0, r1 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x7C - bl Cos - strh r0, [r5, 0x24] - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x76 - bl Sin - strh r0, [r5, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084BF6 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_08084BF6: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08084C08 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084C08: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084C10: .4byte gPlayerAvatar -_08084C14: .4byte gSprites - thumb_func_end sub_8084BB8 - - thumb_func_start sub_8084C18 -sub_8084C18: @ 8084C18 - push {r4,lr} - adds r4, r0, 0 - bl sub_809C474 - lsls r0, 24 - cmp r0, 0 - bne _08084C34 - bl sub_809C460 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _08084C36 -_08084C34: - movs r0, 0 -_08084C36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084C18 - - thumb_func_start sub_8084C3C -sub_8084C3C: @ 8084C3C - push {r4,lr} - ldr r0, _08084C94 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084C98 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08084C8A - bl CameraObjectReset1 - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - movs r0, 0x4 - bl GetWalkNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldr r0, _08084C9C @ =sub_8084A24 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2 - bl sub_81128BC -_08084C8A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084C94: .4byte gPlayerAvatar -_08084C98: .4byte gObjectEvents -_08084C9C: .4byte sub_8084A24 - thumb_func_end sub_8084C3C - - thumb_func_start oei_waterfall -oei_waterfall: @ 8084CA0 - push {r4,lr} - ldr r4, _08084CCC @ =sub_8084CD8 - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08084CD0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _08084CD4 @ =gFieldEffectArguments - ldr r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084CCC: .4byte sub_8084CD8 -_08084CD0: .4byte gTasks -_08084CD4: .4byte gFieldEffectArguments - thumb_func_end oei_waterfall - - thumb_func_start sub_8084CD8 -sub_8084CD8: @ 8084CD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08084D14 @ =gUnknown_83CC084 - ldr r2, _08084D18 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08084CEA: - movs r0, 0x8 - ldrsh r2, [r4, r0] - lsls r2, 2 - adds r2, r5 - ldr r0, _08084D1C @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08084D20 @ =gObjectEvents - adds r1, r0 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _08084CEA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084D14: .4byte gUnknown_83CC084 -_08084D18: .4byte gTasks -_08084D1C: .4byte gPlayerAvatar -_08084D20: .4byte gObjectEvents - thumb_func_end sub_8084CD8 - - thumb_func_start sub_8084D24 -sub_8084D24: @ 8084D24 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, _08084D40 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084D40: .4byte gPlayerAvatar - thumb_func_end sub_8084D24 - - thumb_func_start waterfall_1_do_anim_probably -waterfall_1_do_anim_probably: @ 8084D44 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ScriptContext2_Enable - adds r0, r5, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - bne _08084D74 - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - ldr r1, _08084D7C @ =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084D74: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084D7C: .4byte gFieldEffectArguments - thumb_func_end waterfall_1_do_anim_probably - - thumb_func_start waterfall_2_wait_anim_finish_probably -waterfall_2_wait_anim_finish_probably: @ 8084D80 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084D9A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _08084D9C -_08084D9A: - movs r0, 0 -_08084D9C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end waterfall_2_wait_anim_finish_probably - - thumb_func_start sub_8084DA4 -sub_8084DA4: @ 8084DA4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0x2 - bl sub_8063F2C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084DA4 - - thumb_func_start sub_8084DCC -sub_8084DCC: @ 8084DCC - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - bne _08084DE2 - movs r0, 0 - b _08084E1E -_08084DE2: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08084E18 - bl ScriptContext2_Disable - ldr r0, _08084E10 @ =gPlayerAvatar - strb r4, [r0, 0x6] - ldr r0, _08084E14 @ =sub_8084CD8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2B - bl FieldEffectActiveListRemove - movs r0, 0 - b _08084E1E - .align 2, 0 -_08084E10: .4byte gPlayerAvatar -_08084E14: .4byte sub_8084CD8 -_08084E18: - movs r0, 0x3 - strh r0, [r5, 0x8] - movs r0, 0x1 -_08084E1E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084DCC - - thumb_func_start FldEff_UseDive -FldEff_UseDive: @ 8084E24 - push {r4,lr} - ldr r4, _08084E54 @ =sub_8084E60 - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08084E58 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _08084E5C @ =gFieldEffectArguments - ldr r2, [r3] - strh r2, [r1, 0x26] - ldr r2, [r3, 0x4] - strh r2, [r1, 0x24] - bl _call_via_r4 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084E54: .4byte sub_8084E60 -_08084E58: .4byte gTasks -_08084E5C: .4byte gFieldEffectArguments - thumb_func_end FldEff_UseDive - - thumb_func_start sub_8084E60 -sub_8084E60: @ 8084E60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08084E90 @ =gUnknown_83CC098 - ldr r2, _08084E94 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08084E72: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08084E72 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084E90: .4byte gUnknown_83CC098 -_08084E94: .4byte gTasks - thumb_func_end sub_8084E60 - - thumb_func_start dive_1_lock -dive_1_lock: @ 8084E98 - ldr r2, _08084EA8 @ =gPlayerAvatar - movs r1, 0x1 - strb r1, [r2, 0x6] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .align 2, 0 -_08084EA8: .4byte gPlayerAvatar - thumb_func_end dive_1_lock - - thumb_func_start dive_2_unknown -dive_2_unknown: @ 8084EAC - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, _08084ED0 @ =gFieldEffectArguments - movs r2, 0x26 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084ED0: .4byte gFieldEffectArguments - thumb_func_end dive_2_unknown - - thumb_func_start dive_3_unknown -dive_3_unknown: @ 8084ED4 - push {lr} - sub sp, 0x8 - mov r1, sp - adds r1, 0x2 - mov r0, sp - bl PlayerGetDestCoords - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084F18 - ldr r2, _08084F20 @ =gObjectEvents - ldr r0, _08084F24 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1E] - mov r0, sp - bl dive_warp - ldr r0, _08084F28 @ =sub_8084E60 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2C - bl FieldEffectActiveListRemove -_08084F18: - movs r0, 0 - add sp, 0x8 - pop {r1} - bx r1 - .align 2, 0 -_08084F20: .4byte gObjectEvents -_08084F24: .4byte gPlayerAvatar -_08084F28: .4byte sub_8084E60 - thumb_func_end dive_3_unknown - - thumb_func_start sub_8084F2C -sub_8084F2C: @ 8084F2C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08084F40 @ =sub_8084F44 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08084F40: .4byte sub_8084F44 - thumb_func_end sub_8084F2C - - thumb_func_start sub_8084F44 -sub_8084F44: @ 8084F44 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08084F8C @ =gUnknown_83CC0A4 - ldr r2, _08084F90 @ =gTasks - ldr r5, _08084F94 @ =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08084F58: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08084F98 @ =gObjectEvents - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08084F9C @ =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _08084F58 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08084F8C: .4byte gUnknown_83CC0A4 -_08084F90: .4byte gTasks -_08084F94: .4byte gPlayerAvatar -_08084F98: .4byte gObjectEvents -_08084F9C: .4byte gSprites - thumb_func_end sub_8084F44 - - thumb_func_start sub_8084FA0 -sub_8084FA0: @ 8084FA0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FreezeObjectEvents - bl CameraObjectReset2 - movs r0, 0 - bl SetCameraPanningCallback - ldr r0, _08084FD4 @ =gPlayerAvatar - movs r2, 0x1 - strb r2, [r0, 0x6] - ldrb r0, [r5, 0x3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x3] - strh r2, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084FD4: .4byte gPlayerAvatar - thumb_func_end sub_8084FA0 - - thumb_func_start sub_8084FD8 -sub_8084FD8: @ 8084FD8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r0, r0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08085004 - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085004: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084FD8 - - thumb_func_start sub_808500C -sub_808500C: @ 808500C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0xE] - ldr r3, _08085054 @ =gFieldEffectArguments - movs r5, 0x10 - ldrsh r0, [r1, r5] - str r0, [r3] - movs r5, 0x12 - ldrsh r0, [r1, r5] - str r0, [r3, 0x4] - adds r0, r2, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r3, 0x8] - ldrb r0, [r2, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0x32 - bl FieldEffectStart - movs r0, 0xAB - bl PlaySE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08085054: .4byte gFieldEffectArguments - thumb_func_end sub_808500C - - thumb_func_start sub_8085058 -sub_8085058: @ 8085058 - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r2, r0 - strh r2, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r1, r0, 0x1 - strh r1, [r4, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x11 - bgt _08085092 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080850A4 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x3 - bgt _080850A4 - lsls r0, r2, 1 - b _080850A2 -_08085092: - movs r0, 0x4 - ands r1, r0 - cmp r1, 0 - bne _080850A4 - lsls r0, r2, 16 - cmp r0, 0 - ble _080850A4 - asrs r0, 17 -_080850A2: - strh r0, [r4, 0xA] -_080850A4: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x6 - ble _080850F0 - adds r0, r5, 0 - adds r0, 0x29 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r2, r1, 17 - negs r2, r2 - movs r7, 0x26 - ldrsh r3, [r5, r7] - movs r7, 0x22 - ldrsh r0, [r5, r7] - adds r0, r1 - ldr r1, _080850E8 @ =gSpriteCoordOffsetY - movs r7, 0 - ldrsh r1, [r1, r7] - adds r0, r1 - asrs r2, 16 - adds r0, r2 - cmn r3, r0 - ble _080850EC - ldrh r0, [r5, 0x26] - ldrh r1, [r4, 0xE] - subs r0, r1 - strh r0, [r5, 0x26] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _080850F0 - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - b _080850F0 - .align 2, 0 -_080850E8: .4byte gSpriteCoordOffsetY -_080850EC: - movs r0, 0x1 - strh r0, [r4, 0x10] -_080850F0: - ldrh r2, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808512E - movs r7, 0x26 - ldrsh r1, [r5, r7] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0808512E - adds r0, r2, 0x1 - strh r0, [r4, 0x12] - ldrb r0, [r6, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r6, 0x3] - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_0808512E: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08085144 - movs r7, 0x10 - ldrsh r0, [r4, r7] - cmp r0, 0 - beq _08085144 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085144: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8085058 - - thumb_func_start sub_808514C -sub_808514C: @ 808514C - push {r4,lr} - adds r4, r0, 0 - bl sub_8055F88 - bl sub_807DC18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_808514C - - thumb_func_start sub_8085168 -sub_8085168: @ 8085168 - push {lr} - ldr r0, _080851A8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080851A0 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080851A0 - bl WarpIntoMap - ldr r1, _080851AC @ =gFieldCallback - ldr r0, _080851B0 @ =mapldr_080851BC - str r0, [r1] - ldr r0, _080851B4 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _080851B8 @ =sub_8084F44 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080851A0: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080851A8: .4byte gPaletteFade -_080851AC: .4byte gFieldCallback -_080851B0: .4byte mapldr_080851BC -_080851B4: .4byte CB2_LoadMap -_080851B8: .4byte sub_8084F44 - thumb_func_end sub_8085168 - - thumb_func_start mapldr_080851BC -mapldr_080851BC: @ 80851BC - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - ldr r0, _080851E0 @ =gFieldCallback - movs r1, 0 - str r1, [r0] - ldr r0, _080851E4 @ =sub_80851E8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080851E0: .4byte gFieldCallback -_080851E4: .4byte sub_80851E8 - thumb_func_end mapldr_080851BC - - thumb_func_start sub_80851E8 -sub_80851E8: @ 80851E8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08085230 @ =gUnknown_83CC0BC - ldr r2, _08085234 @ =gTasks - ldr r5, _08085238 @ =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080851FC: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0808523C @ =gObjectEvents - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08085240 @ =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080851FC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08085230: .4byte gUnknown_83CC0BC -_08085234: .4byte gTasks -_08085238: .4byte gPlayerAvatar -_0808523C: .4byte gObjectEvents -_08085240: .4byte gSprites - thumb_func_end sub_80851E8 - - thumb_func_start sub_8085244 -sub_8085244: @ 8085244 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl CameraObjectReset2 - bl FreezeObjectEvents - ldr r1, _08085270 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08085270: .4byte gPlayerAvatar - thumb_func_end sub_8085244 - - thumb_func_start sub_8085274 -sub_8085274: @ 8085274 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _080852B4 - ldr r1, _080852BC @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r2, 0x12 - ldrsh r0, [r5, r2] - str r0, [r1, 0x4] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r1, 0x8] - ldrb r0, [r6, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r1, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080852B4: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080852BC: .4byte gFieldEffectArguments - thumb_func_end sub_8085274 - - thumb_func_start sub_80852C0 -sub_80852C0: @ 80852C0 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0xA - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085310 @ =gSprites - adds r0, r1 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bls _08085308 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldrb r1, [r4, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - bl CameraObjectReset1 - movs r0, 0xA8 - bl PlaySE - movs r0, 0x4 - bl GetJumpMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement -_08085308: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08085310: .4byte gSprites - thumb_func_end sub_80852C0 - - thumb_func_start sub_8085314 -sub_8085314: @ 8085314 - push {lr} - adds r0, r1, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808533E - ldr r1, _08085344 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - ldr r0, _08085348 @ =sub_80851E8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0808533E: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08085344: .4byte gPlayerAvatar -_08085348: .4byte sub_80851E8 - thumb_func_end sub_8085314 - - thumb_func_start FldEff_LavaridgeGymWarp -FldEff_LavaridgeGymWarp: @ 808534C - push {r4,lr} - ldr r4, _080853A4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080853A8 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x84 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080853AC @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3 - ldrb r3, [r4, 0xC] - ands r3, r1 - lsls r3, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080853A4: .4byte gFieldEffectArguments -_080853A8: .4byte gFieldEffectObjectTemplatePointers -_080853AC: .4byte gSprites - thumb_func_end FldEff_LavaridgeGymWarp - - thumb_func_start sub_80853B0 -sub_80853B0: @ 80853B0 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080853C8 - adds r0, r2, 0 - movs r1, 0x32 - bl FieldEffectStop -_080853C8: - pop {r0} - bx r0 - thumb_func_end sub_80853B0 - - thumb_func_start sub_80853CC -sub_80853CC: @ 80853CC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080853E0 @ =sub_80853E4 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080853E0: .4byte sub_80853E4 - thumb_func_end sub_80853CC - - thumb_func_start sub_80853E4 -sub_80853E4: @ 80853E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0808542C @ =gUnknown_83CC0CC - ldr r2, _08085430 @ =gTasks - ldr r5, _08085434 @ =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080853F8: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08085438 @ =gObjectEvents - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0808543C @ =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080853F8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808542C: .4byte gUnknown_83CC0CC -_08085430: .4byte gTasks -_08085434: .4byte gPlayerAvatar -_08085438: .4byte gObjectEvents -_0808543C: .4byte gSprites - thumb_func_end sub_80853E4 - - thumb_func_start sub_8085440 -sub_8085440: @ 8085440 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl FreezeObjectEvents - bl CameraObjectReset2 - ldr r1, _0808546C @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r0, [r4, 0x3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808546C: .4byte gPlayerAvatar - thumb_func_end sub_8085440 - - thumb_func_start sub_8085470 -sub_8085470: @ 8085470 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080854E4 - ldrh r1, [r5, 0xA] - movs r2, 0xA - ldrsh r0, [r5, r2] - cmp r0, 0x3 - ble _080854C4 - ldr r1, _080854C0 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r2, 0x12 - ldrsh r0, [r4, r2] - str r0, [r1, 0x4] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r1, 0x8] - ldrb r0, [r6, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r1, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r5, 0xA] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080854E4 - .align 2, 0 -_080854C0: .4byte gFieldEffectArguments -_080854C4: - adds r0, r1, 0x1 - strh r0, [r5, 0xA] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetWalkInPlaceFastMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - movs r0, 0x21 - bl PlaySE -_080854E4: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8085470 - - thumb_func_start sub_80854EC -sub_80854EC: @ 80854EC - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r2, _08085520 @ =gSprites - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x2 - bne _08085516 - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08085516: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08085520: .4byte gSprites - thumb_func_end sub_80854EC - - thumb_func_start sub_8085524 -sub_8085524: @ 8085524 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08085542 - bl sub_8055F88 - bl sub_807DC18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085542: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8085524 - - thumb_func_start sub_808554C -sub_808554C: @ 808554C - push {lr} - ldr r0, _0808558C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08085584 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085584 - bl WarpIntoMap - ldr r1, _08085590 @ =gFieldCallback - ldr r0, _08085594 @ =sub_8084454 - str r0, [r1] - ldr r0, _08085598 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _0808559C @ =sub_80853E4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085584: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0808558C: .4byte gPaletteFade -_08085590: .4byte gFieldCallback -_08085594: .4byte sub_8084454 -_08085598: .4byte CB2_LoadMap -_0808559C: .4byte sub_80853E4 - thumb_func_end sub_808554C - - thumb_func_start FldEff_PopOutOfAsh -FldEff_PopOutOfAsh: @ 80855A0 - push {r4,lr} - ldr r4, _080855F8 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080855FC @ =gFieldEffectObjectTemplatePointers - adds r0, 0x80 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08085600 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3 - ldrb r3, [r4, 0xC] - ands r3, r1 - lsls r3, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080855F8: .4byte gFieldEffectArguments -_080855FC: .4byte gFieldEffectObjectTemplatePointers -_08085600: .4byte gSprites - thumb_func_end FldEff_PopOutOfAsh - - thumb_func_start sub_8085604 -sub_8085604: @ 8085604 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0808561C - adds r0, r2, 0 - movs r1, 0x31 - bl FieldEffectStop -_0808561C: - pop {r0} - bx r0 - thumb_func_end sub_8085604 - - thumb_func_start sub_8085620 -sub_8085620: @ 8085620 - push {lr} - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r0, _08085638 @ =sub_808563C - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085638: .4byte sub_808563C - thumb_func_end sub_8085620 - - thumb_func_start sub_808563C -sub_808563C: @ 808563C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085664 @ =gUnknown_83CC0E0 - ldr r2, _08085668 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085664: .4byte gUnknown_83CC0E0 -_08085668: .4byte gTasks - thumb_func_end sub_808563C - - thumb_func_start sub_808566C -sub_808566C: @ 808566C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x8] - movs r0, 0x40 - strh r0, [r4, 0x22] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - strh r5, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808566C - - thumb_func_start sub_8085690 -sub_8085690: @ 8085690 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080856D4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080856D8 @ =gObjectEvents - adds r6, r0, r1 - adds r4, r5, 0 - adds r4, 0x8 - adds r1, r5, 0 - adds r1, 0xA - adds r2, r5, 0 - adds r2, 0xC - adds r0, r6, 0 - bl sub_808576C - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _080856DC - adds r0, r1, 0x1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _08085702 - movs r0, 0x27 - bl PlaySE - b _08085702 - .align 2, 0 -_080856D4: .4byte gPlayerAvatar -_080856D8: .4byte gObjectEvents -_080856DC: - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08085702 - adds r1, r5, 0 - adds r1, 0x12 - adds r2, r5, 0 - adds r2, 0x14 - adds r0, r6, 0 - bl sub_80857F0 - cmp r0, 0 - bne _08085702 - bl sub_8055F88 - bl sub_807DC18 - movs r0, 0x1 - strh r0, [r4, 0x8] -_08085702: - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _08085750 - ldr r0, _08085758 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08085750 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085750 - ldrh r1, [r5, 0x26] - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl SetObjectEventDirection - bl sub_80555E0 - bl WarpIntoMap - ldr r1, _0808575C @ =gFieldCallback - ldr r0, _08085760 @ =sub_80859D4 - str r0, [r1] - ldr r0, _08085764 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _08085768 @ =sub_808563C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085750: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08085758: .4byte gPaletteFade -_0808575C: .4byte gFieldCallback -_08085760: .4byte sub_80859D4 -_08085764: .4byte CB2_LoadMap -_08085768: .4byte sub_808563C - thumb_func_end sub_8085690 - - thumb_func_start sub_808576C -sub_808576C: @ 808576C - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808578A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080857E4 -_0808578A: - ldrh r1, [r6] - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0808579E - subs r0, r1, 0x1 - strh r0, [r6] - lsls r0, 16 - cmp r0, 0 - bne _080857E4 -_0808579E: - ldr r7, _080857E0 @ =gUnknown_83CC0E8 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r0, r7 - ldrb r0, [r0] - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r1, [r5] - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0xB - bgt _080857C8 - adds r0, r1, 0x1 - strh r0, [r5] -_080857C8: - movs r0, 0 - ldrsh r1, [r5, r0] - movs r0, 0xC - asrs r0, r1 - strh r0, [r6] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r0, r7 - ldrb r0, [r0] - b _080857EA - .align 2, 0 -_080857E0: .4byte gUnknown_83CC0E8 -_080857E4: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 -_080857EA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808576C - - thumb_func_start sub_80857F0 -sub_80857F0: @ 80857F0 - push {r4-r7,lr} - adds r7, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldrb r0, [r7, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08085818 @ =gSprites - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08085830 - cmp r0, 0x1 - bgt _0808581C - cmp r0, 0 - beq _08085826 - b _0808589A - .align 2, 0 -_08085818: .4byte gSprites -_0808581C: - cmp r0, 0x2 - beq _08085878 - cmp r0, 0x3 - beq _08085896 - b _0808589A -_08085826: - bl CameraObjectReset2 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08085830: - ldrh r0, [r4, 0x26] - subs r0, 0x8 - strh r0, [r4, 0x26] - ldrh r0, [r6] - subs r0, 0x8 - strh r0, [r6] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _0808589A - ldrb r0, [r7, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r7, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0 - strb r0, [r1] - adds r2, r4, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0808589A -_08085878: - ldrh r0, [r4, 0x26] - subs r0, 0x8 - strh r0, [r4, 0x26] - ldrh r0, [r6] - subs r0, 0x8 - strh r0, [r6] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x58 - negs r1, r1 - cmp r0, r1 - bgt _0808589A - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08085896: - movs r0, 0 - b _0808589C -_0808589A: - movs r0, 0x1 -_0808589C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80857F0 - - thumb_func_start sub_80858A4 -sub_80858A4: @ 80858A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r9, r3 - ldr r0, [sp, 0x20] - mov r10, r0 - ldrb r0, [r6, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080858D8 @ =gSprites - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08085948 - cmp r0, 0x1 - bgt _080858DC - cmp r0, 0 - beq _080858E6 - b _080859C2 - .align 2, 0 -_080858D8: .4byte gSprites -_080858DC: - cmp r0, 0x2 - beq _0808599C - cmp r0, 0x3 - beq _080859BE - b _080859C2 -_080858E6: - bl CameraObjectReset2 - movs r2, 0x58 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r7] - ldrh r0, [r4, 0x26] - subs r0, 0x58 - movs r3, 0 - strh r0, [r4, 0x26] - ldrb r0, [r4, 0x5] - lsls r0, 28 - lsrs r0, 30 - mov r1, r9 - strh r0, [r1] - movs r2, 0x43 - adds r2, r4 - mov r8, r2 - ldrb r0, [r2] - mov r1, r10 - strh r0, [r1] - movs r2, 0x42 - adds r2, r4 - mov r12, r2 - ldrb r0, [r2] - lsrs r0, 6 - ldr r1, [sp, 0x24] - strh r0, [r1] - ldrb r0, [r6, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r6, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - mov r2, r8 - strb r3, [r2] - mov r0, r12 - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08085948: - ldrh r0, [r4, 0x26] - adds r0, 0x4 - strh r0, [r4, 0x26] - ldrh r0, [r7] - adds r0, 0x4 - strh r0, [r7] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - blt _080859C2 - movs r0, 0x3 - mov r2, r9 - ldrb r1, [r2] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - mov r1, r10 - ldrh r0, [r1] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r2, [sp, 0x24] - ldrb r1, [r2] - adds r3, r4, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _080859C2 -_0808599C: - ldrh r0, [r4, 0x26] - adds r0, 0x4 - strh r0, [r4, 0x26] - ldrh r0, [r7] - adds r0, 0x4 - strh r0, [r7] - lsls r0, 16 - cmp r0, 0 - blt _080859C2 - movs r0, 0x1E - bl PlaySE - bl CameraObjectReset1 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080859BE: - movs r0, 0 - b _080859C4 -_080859C2: - movs r0, 0x1 -_080859C4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80858A4 - - thumb_func_start sub_80859D4 -sub_80859D4: @ 80859D4 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _08085A14 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - ldr r2, _08085A18 @ =gObjectEvents - ldr r0, _08085A1C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, _08085A20 @ =sub_8085A24 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085A14: .4byte gFieldCallback -_08085A18: .4byte gObjectEvents -_08085A1C: .4byte gPlayerAvatar -_08085A20: .4byte sub_8085A24 - thumb_func_end sub_80859D4 - - thumb_func_start sub_8085A24 -sub_8085A24: @ 8085A24 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085A4C @ =gUnknown_83CC0F0 - ldr r2, _08085A50 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085A4C: .4byte gUnknown_83CC0F0 -_08085A50: .4byte gTasks - thumb_func_end sub_8085A24 - - thumb_func_start sub_8085A54 -sub_8085A54: @ 8085A54 - push {r4,lr} - adds r4, r0, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08085A78 - movs r0, 0x28 - bl PlaySE - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085A78: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8085A54 - - thumb_func_start sub_8085A80 -sub_8085A80: @ 8085A80 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r4, 0 - adds r5, 0x8 - ldr r0, _08085AD4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085AD8 @ =gObjectEvents - adds r6, r0, r1 - adds r1, r4, 0 - adds r1, 0xA - adds r2, r4, 0 - adds r2, 0xC - adds r3, r4, 0 - adds r3, 0xE - adds r0, r5, 0 - adds r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r0, 0x12 - str r0, [sp, 0x4] - adds r0, r6, 0 - bl sub_80858A4 - adds r7, r0, 0 - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - ldrh r1, [r5, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x7 - bgt _08085ADC - adds r0, r1, 0x1 - strh r0, [r5, 0xC] - b _08085B10 - .align 2, 0 -_08085AD4: .4byte gPlayerAvatar -_08085AD8: .4byte gObjectEvents -_08085ADC: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _08085B10 - adds r0, r1, 0x1 - strh r0, [r5, 0xC] - adds r1, r4, 0 - adds r1, 0x1A - adds r2, r4, 0 - adds r2, 0x1C - adds r0, r6, 0 - bl sub_808576C - lsls r0, 24 - lsrs r1, r0, 24 - strh r1, [r5, 0x10] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x31 - ble _08085B10 - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08085B10 - movs r0, 0x1 - strh r0, [r5, 0xE] -_08085B10: - cmp r7, 0 - bne _08085B58 - movs r0, 0x10 - ldrsh r1, [r5, r0] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08085B58 - adds r0, r6, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085B58 - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - ldrb r1, [r6, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x3] - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - ldr r0, _08085B60 @ =sub_8085A24 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085B58: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08085B60: .4byte sub_8085A24 - thumb_func_end sub_8085A80 - - thumb_func_start CreateTeleportFieldEffectTask -CreateTeleportFieldEffectTask: @ 8085B64 - push {lr} - ldr r0, _08085B74 @ =sub_8085B78 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085B74: .4byte sub_8085B78 - thumb_func_end CreateTeleportFieldEffectTask - - thumb_func_start sub_8085B78 -sub_8085B78: @ 8085B78 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085BA0 @ =gUnknown_83CC0F8 - ldr r2, _08085BA4 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085BA0: .4byte gUnknown_83CC0F8 -_08085BA4: .4byte gTasks - thumb_func_end sub_8085B78 - - thumb_func_start sub_8085BA8 -sub_8085BA8: @ 8085BA8 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - bl CameraObjectReset2 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8085BA8 - - thumb_func_start sub_8085BD0 -sub_8085BD0: @ 8085BD0 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08085C54 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r0, _08085C58 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085C5C @ =gObjectEvents - adds r5, r0, r1 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08085C02 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _08085C1C -_08085C02: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r5, 0 - bl ObjectEventTurn - movs r0, 0x8 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_08085C1C: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x7 - ble _08085C4A - movs r2, 0x26 - ldrsh r1, [r4, r2] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r1, r0 - bne _08085C4A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x4 - strh r0, [r4, 0xA] - movs r0, 0x8 - strh r0, [r4, 0xC] - movs r0, 0x1 - strh r0, [r4, 0xE] - movs r0, 0x27 - bl PlaySE -_08085C4A: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08085C54: .4byte gUnknown_83CC108 -_08085C58: .4byte gPlayerAvatar -_08085C5C: .4byte gObjectEvents - thumb_func_end sub_8085BD0 - - thumb_func_start sub_8085C60 -sub_8085C60: @ 8085C60 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08085D24 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r2, _08085D28 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085D2C @ =gObjectEvents - adds r3, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085D30 @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _08085CAA - movs r0, 0x4 - strh r0, [r4, 0xA] - ldrb r0, [r3, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r3, 0 - bl ObjectEventTurn -_08085CAA: - ldrh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - subs r0, r1 - strh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - adds r0, r1, r2 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _08085CD6 - movs r0, 0x4 - strh r0, [r4, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _08085CD6 - lsls r0, r1, 1 - strh r0, [r4, 0xE] -_08085CD6: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - ble _08085D04 - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _08085D04 - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_08085D04: - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0xA7 - ble _08085D1A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_8055F88 - bl sub_807DC18 -_08085D1A: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08085D24: .4byte gUnknown_83CC108 -_08085D28: .4byte gPlayerAvatar -_08085D2C: .4byte gObjectEvents -_08085D30: .4byte gSprites - thumb_func_end sub_8085C60 - - thumb_func_start sub_8085D34 -sub_8085D34: @ 8085D34 - push {lr} - ldr r0, _08085D74 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08085D70 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085D70 - bl copy_saved_warp3_bank_and_enter_x_to_warp1 - bl WarpIntoMap - ldr r0, _08085D78 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r1, _08085D7C @ =gFieldCallback - ldr r0, _08085D80 @ =mapldr_08085D88 - str r0, [r1] - ldr r0, _08085D84 @ =sub_8085B78 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085D70: - pop {r0} - bx r0 - .align 2, 0 -_08085D74: .4byte gPaletteFade -_08085D78: .4byte CB2_LoadMap -_08085D7C: .4byte gFieldCallback -_08085D80: .4byte mapldr_08085D88 -_08085D84: .4byte sub_8085B78 - thumb_func_end sub_8085D34 - - thumb_func_start mapldr_08085D88 -mapldr_08085D88: @ 8085D88 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _08085DCC @ =gFieldCallback - movs r0, 0 - str r0, [r1] - ldr r2, _08085DD0 @ =gObjectEvents - ldr r0, _08085DD4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - bl CameraObjectReset2 - ldr r0, _08085DD8 @ =sub_8085DDC - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085DCC: .4byte gFieldCallback -_08085DD0: .4byte gObjectEvents -_08085DD4: .4byte gPlayerAvatar -_08085DD8: .4byte sub_8085DDC - thumb_func_end mapldr_08085D88 - - thumb_func_start sub_8085DDC -sub_8085DDC: @ 8085DDC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085E04 @ =gUnknown_83CC110 - ldr r2, _08085E08 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085E04: .4byte gUnknown_83CC110 -_08085E08: .4byte gTasks - thumb_func_end sub_8085DDC - - thumb_func_start sub_8085E0C -sub_8085E0C: @ 8085E0C - push {r4-r6,lr} - adds r6, r0, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08085E82 - ldr r5, _08085E88 @ =gPlayerAvatar - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08085E8C @ =gSprites - adds r2, r0 - adds r0, r2, 0 - adds r0, 0x29 - movs r4, 0 - ldrsb r4, [r0, r4] - lsls r0, r4, 17 - negs r0, r0 - ldrh r1, [r2, 0x22] - ldr r3, _08085E90 @ =gSpriteCoordOffsetY - adds r1, r4 - ldrh r3, [r3] - adds r1, r3 - asrs r0, 16 - adds r0, r1 - negs r0, r0 - strh r0, [r2, 0x26] - ldr r3, _08085E94 @ =gObjectEvents - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r3, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r3 - strb r0, [r1, 0x1] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x8 - strh r0, [r6, 0xA] - movs r0, 0x1 - strh r0, [r6, 0xC] - adds r2, 0x42 - ldrb r0, [r2] - lsrs r0, 6 - strh r0, [r6, 0x24] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x26] - movs r0, 0x27 - bl PlaySE -_08085E82: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08085E88: .4byte gPlayerAvatar -_08085E8C: .4byte gSprites -_08085E90: .4byte gSpriteCoordOffsetY -_08085E94: .4byte gObjectEvents - thumb_func_end sub_8085E0C - - thumb_func_start sub_8085E98 -sub_8085E98: @ 8085E98 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08085F00 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r2, _08085F04 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085F08 @ =gObjectEvents - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085F0C @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - blt _08085F10 - ldrh r1, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08085F36 - adds r0, r1, 0x1 - strh r0, [r4, 0x22] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - ldrh r1, [r4, 0x24] - adds r3, r5, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08085F36 - .align 2, 0 -_08085F00: .4byte gUnknown_83CC108 -_08085F04: .4byte gPlayerAvatar -_08085F08: .4byte gObjectEvents -_08085F0C: .4byte gSprites -_08085F10: - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _08085F36 - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_08085F36: - ldrh r2, [r5, 0x26] - movs r3, 0x26 - ldrsh r1, [r5, r3] - movs r0, 0x30 - negs r0, r0 - cmp r1, r0 - blt _08085F5A - ldrh r1, [r4, 0xA] - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0x1 - ble _08085F5A - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _08085F5A - subs r0, r1, 0x1 - strh r0, [r4, 0xA] -_08085F5A: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - movs r7, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _08085F7C - movs r0, 0x4 - strh r0, [r4, 0xC] - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r6, 0 - bl ObjectEventTurn -_08085F7C: - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _08085F92 - strh r7, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0xA] - strh r7, [r4, 0xC] -_08085F92: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8085E98 - - thumb_func_start sub_8085F9C -sub_8085F9C: @ 8085F9C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08086018 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r0, _0808601C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086020 @ =gObjectEvents - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _08086010 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r5, 0 - bl ObjectEventTurn - movs r0, 0x8 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _08086010 - movs r0, 0x24 - ldrsh r1, [r4, r0] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r1, r0 - bne _08086010 - bl ScriptContext2_Disable - bl CameraObjectReset1 - bl UnfreezeObjectEvents - ldr r0, _08086024 @ =sub_8085DDC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08086010: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086018: .4byte gUnknown_83CC108 -_0808601C: .4byte gPlayerAvatar -_08086020: .4byte gObjectEvents -_08086024: .4byte sub_8085DDC - thumb_func_end sub_8085F9C - - thumb_func_start FldEff_FieldMoveShowMon -FldEff_FieldMoveShowMon: @ 8086028 - push {r4,lr} - bl GetCurrentMapType - lsls r0, 24 - lsrs r0, 24 - bl IsMapTypeOutdoors - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08086048 - ldr r0, _08086044 @ =sub_80860E0 - b _0808604A - .align 2, 0 -_08086044: .4byte sub_80860E0 -_08086048: - ldr r0, _08086078 @ =sub_8086468 -_0808604A: - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _0808607C @ =gFieldEffectArguments - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_8086860 - ldr r2, _08086080 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x26] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08086078: .4byte sub_8086468 -_0808607C: .4byte gFieldEffectArguments -_08086080: .4byte gTasks - thumb_func_end FldEff_FieldMoveShowMon - - thumb_func_start FldEff_FieldMoveShowMonInit -FldEff_FieldMoveShowMonInit: @ 8086084 - push {r4-r6,lr} - ldr r5, _080860D8 @ =gFieldEffectArguments - ldr r0, [r5] - movs r6, 0x80 - lsls r6, 24 - ands r6, r0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r0, _080860DC @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - str r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x8] - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - movs r0, 0x6 - bl FieldEffectStart - movs r0, 0x3B - bl FieldEffectActiveListRemove - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080860D8: .4byte gFieldEffectArguments -_080860DC: .4byte gPlayerParty - thumb_func_end FldEff_FieldMoveShowMonInit - - thumb_func_start sub_80860E0 -sub_80860E0: @ 80860E0 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086108 @ =gUnknown_83CC11C - ldr r2, _0808610C @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086108: .4byte gUnknown_83CC11C -_0808610C: .4byte gTasks - thumb_func_end sub_80860E0 - - thumb_func_start sub_8086110 -sub_8086110: @ 8086110 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x48 - bl GetGpuReg - strh r0, [r4, 0x1E] - movs r0, 0x4A - bl GetGpuReg - strh r0, [r4, 0x20] - adds r0, r4, 0 - adds r0, 0x22 - ldr r1, _08086170 @ =gMain - ldr r1, [r1, 0xC] - bl StoreWordInTwoHalfwords - ldr r1, _08086174 @ =0x0000f0f1 - strh r1, [r4, 0xA] - ldr r0, _08086178 @ =0x00005051 - strh r0, [r4, 0xC] - movs r0, 0x3F - strh r0, [r4, 0xE] - movs r0, 0x3E - strh r0, [r4, 0x10] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x44 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0x10] - movs r0, 0x4A - bl SetGpuReg - ldr r0, _0808617C @ =sub_80863C0 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086170: .4byte gMain -_08086174: .4byte 0x0000f0f1 -_08086178: .4byte 0x00005051 -_0808617C: .4byte sub_80863C0 - thumb_func_end sub_8086110 - - thumb_func_start sub_8086180 -sub_8086180: @ 8086180 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - mov r8, r0 - movs r0, 0x8 - bl GetGpuReg - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 18 - lsls r4, 30 - lsrs r4, 16 - movs r0, 0x8 - bl GetGpuReg - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 24 - lsls r5, 27 - lsrs r5, 16 - ldr r0, _080861F0 @ =gUnknown_83CB5F0 - movs r6, 0xC0 - lsls r6, 19 - adds r4, r6 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, 0 - bl CpuSet - movs r0, 0 - str r0, [sp] - adds r6, r5, r6 - ldr r2, _080861F4 @ =0x05000200 - mov r0, sp - adds r1, r6, 0 - bl CpuSet - ldr r0, _080861F8 @ =gUnknown_83CB7F0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - adds r0, r5, 0 - bl sub_8086428 - mov r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080861F0: .4byte gUnknown_83CB5F0 -_080861F4: .4byte 0x05000200 -_080861F8: .4byte gUnknown_83CB7F0 - thumb_func_end sub_8086180 - - thumb_func_start sub_80861FC -sub_80861FC: @ 80861FC - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldrh r6, [r3, 0xA] - ldrh r2, [r3, 0xC] - movs r7, 0xFF - lsrs r1, r6, 8 - subs r1, 0x10 - lsls r1, 16 - lsrs r0, r2, 8 - subs r0, 0x2 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r7, 0 - ands r0, r2 - adds r5, r0, 0x2 - lsrs r2, r1, 16 - cmp r1, 0 - bge _08086228 - movs r2, 0 -_08086228: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0x27 - bgt _08086232 - movs r4, 0x28 -_08086232: - cmp r5, 0x78 - ble _08086238 - movs r5, 0x78 -_08086238: - lsls r2, 16 - asrs r2, 16 - lsls r1, r2, 8 - adds r0, r7, 0 - ands r0, r6 - orrs r1, r0 - strh r1, [r3, 0xA] - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r4, 8 - adds r1, r5, 0 - orrs r0, r1 - strh r0, [r3, 0xC] - cmp r2, 0 - bne _08086278 - cmp r4, 0x28 - bne _08086278 - cmp r1, 0x78 - bne _08086278 - ldr r2, _08086280 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08086284 @ =sub_80868C0 - str r1, [r0] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08086278: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08086280: .4byte gSprites -_08086284: .4byte sub_80868C0 - thumb_func_end sub_80861FC - - thumb_func_start sub_8086288 -sub_8086288: @ 8086288 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldr r2, _080862B4 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080862AE - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080862AE: - pop {r0} - bx r0 - .align 2, 0 -_080862B4: .4byte gSprites - thumb_func_end sub_8086288 - - thumb_func_start sub_80862B8 -sub_80862B8: @ 80862B8 - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldrh r2, [r3, 0xC] - lsls r1, r2, 16 - movs r0, 0xFF - asrs r1, 24 - adds r1, 0x6 - lsls r1, 16 - ands r0, r2 - subs r0, 0x6 - lsls r0, 16 - lsrs r2, r0, 16 - lsrs r4, r1, 16 - asrs r1, 16 - cmp r1, 0x50 - ble _080862E0 - movs r4, 0x50 -_080862E0: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x50 - bgt _080862EA - movs r2, 0x51 -_080862EA: - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r0, 8 - lsls r2, 16 - asrs r2, 16 - orrs r1, r2 - strh r1, [r3, 0xC] - cmp r0, 0x50 - bne _08086306 - cmp r2, 0x51 - bne _08086306 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08086306: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80862B8 - - thumb_func_start sub_808630C -sub_808630C: @ 808630C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x8 - bl GetGpuReg - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 24 - lsls r1, 27 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - movs r0, 0xC0 - lsls r0, 19 - adds r1, r0 - ldr r2, _08086354 @ =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0xF1 - strh r0, [r4, 0xA] - movs r0, 0xA1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x1E] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086354: .4byte 0x05000200 - thumb_func_end sub_808630C - - thumb_func_start sub_8086358 -sub_8086358: @ 8086358 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl Menu_LoadStdPal - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080863B8 @ =gSprites - adds r0, r1 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - bl sub_8083A5C - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r0, _080863BC @ =sub_80860E0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080863B8: .4byte gSprites -_080863BC: .4byte sub_80860E0 - thumb_func_end sub_8086358 - - thumb_func_start sub_80863C0 -sub_80863C0: @ 80863C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08086420 @ =sub_80860E0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _08086424 @ =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl _call_via_r0 - ldrh r1, [r4, 0xA] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x44 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0x10] - movs r0, 0x4A - bl SetGpuReg - ldrh r1, [r4, 0x12] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0x14] - movs r0, 0x12 - bl SetGpuReg - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086420: .4byte sub_80860E0 -_08086424: .4byte gTasks - thumb_func_end sub_80863C0 - - thumb_func_start sub_8086428 -sub_8086428: @ 8086428 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0808645C @ =0x06000140 - adds r2, r0, r1 - movs r1, 0 - ldr r5, _08086460 @ =gUnknown_83CB810 - movs r0, 0xF0 - lsls r0, 8 - adds r4, r0, 0 - ldr r3, _08086464 @ =0x0000013f -_0808643E: - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - orrs r0, r4 - strh r0, [r2] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, 0x2 - cmp r1, r3 - bls _0808643E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808645C: .4byte 0x06000140 -_08086460: .4byte gUnknown_83CB810 -_08086464: .4byte 0x0000013f - thumb_func_end sub_8086428 - - thumb_func_start sub_8086468 -sub_8086468: @ 8086468 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086490 @ =gUnknown_83CC138 - ldr r2, _08086494 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086490: .4byte gUnknown_83CC138 -_08086494: .4byte gTasks - thumb_func_end sub_8086468 - - thumb_func_start sub_8086498 -sub_8086498: @ 8086498 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0xA] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x22 - ldr r1, _080864CC @ =gMain - ldr r1, [r1, 0xC] - bl StoreWordInTwoHalfwords - ldr r0, _080864D0 @ =sub_80866E0 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080864CC: .4byte gMain -_080864D0: .4byte sub_80866E0 - thumb_func_end sub_8086498 - - thumb_func_start sub_80864D4 -sub_80864D4: @ 80864D4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r9, r0 - movs r0, 0x8 - bl GetGpuReg - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 18 - lsls r5, 30 - lsrs r5, 16 - movs r0, 0x8 - bl GetGpuReg - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 24 - lsls r4, 27 - lsrs r4, 16 - movs r0, 0 - mov r8, r0 - mov r1, r9 - strh r4, [r1, 0x20] - ldr r0, _08086548 @ =gUnknown_83CBA90 - movs r6, 0xC0 - lsls r6, 19 - adds r5, r6 - adds r1, r5, 0 - movs r2, 0x40 - bl CpuSet - mov r0, r8 - str r0, [sp] - adds r4, r6 - ldr r2, _0808654C @ =0x05000200 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - ldr r0, _08086550 @ =gUnknown_83CBB10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086548: .4byte gUnknown_83CBA90 -_0808654C: .4byte 0x05000200 -_08086550: .4byte gUnknown_83CBB10 - thumb_func_end sub_80864D4 - - thumb_func_start sub_8086554 -sub_8086554: @ 8086554 - push {r4,lr} - adds r4, r0, 0 - bl sub_8086738 - lsls r0, 24 - cmp r0, 0 - beq _080865A6 - movs r0, 0x48 - bl GetGpuReg - strh r0, [r4, 0x12] - movs r1, 0xFF - ands r1, r0 - movs r2, 0x88 - lsls r2, 5 - adds r0, r2, 0 - orrs r1, r0 - movs r0, 0x48 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, _080865B4 @ =0x00002878 - movs r0, 0x46 - bl SetGpuReg - ldr r2, _080865B8 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080865BC @ =sub_80868C0 - str r1, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080865A6: - adds r0, r4, 0 - bl sub_8086728 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080865B4: .4byte 0x00002878 -_080865B8: .4byte gSprites -_080865BC: .4byte sub_80868C0 - thumb_func_end sub_8086554 - - thumb_func_start sub_80865C0 -sub_80865C0: @ 80865C0 - push {r4,lr} - adds r4, r0, 0 - bl sub_8086728 - ldr r2, _080865EC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080865E4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080865E4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080865EC: .4byte gSprites - thumb_func_end sub_80865C0 - - thumb_func_start sub_80865F0 -sub_80865F0: @ 80865F0 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8086728 - ldrh r1, [r4, 0xA] - movs r0, 0x7 - ands r0, r1 - movs r1, 0 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - ldr r5, _0808662C @ =0x0000ffff - movs r0, 0x42 - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x46 - adds r1, r5, 0 - bl SetGpuReg - ldrh r1, [r4, 0x12] - movs r0, 0x48 - bl SetGpuReg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808662C: .4byte 0x0000ffff - thumb_func_end sub_80865F0 - - thumb_func_start sub_8086630 -sub_8086630: @ 8086630 - push {r4,lr} - adds r4, r0, 0 - bl sub_8086728 - adds r0, r4, 0 - bl sub_80867F0 - lsls r0, 24 - cmp r0, 0 - beq _0808664A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0808664A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8086630 - - thumb_func_start sub_8086650 -sub_8086650: @ 8086650 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x8 - bl GetGpuReg - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 24 - lsls r1, 27 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - movs r0, 0xC0 - lsls r0, 19 - adds r1, r0 - ldr r2, _080866D4 @ =0x05000200 - mov r0, sp - bl CpuSet - adds r0, r4, 0 - adds r0, 0x22 - add r1, sp, 0x4 - bl LoadWordFromTwoHalfwords - ldr r0, [sp, 0x4] - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl Menu_LoadStdPal - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080866D8 @ =gSprites - adds r0, r1 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - bl sub_8083A5C - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r0, _080866DC @ =sub_8086468 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080866D4: .4byte 0x05000200 -_080866D8: .4byte gSprites -_080866DC: .4byte sub_8086468 - thumb_func_end sub_8086650 - - thumb_func_start sub_80866E0 -sub_80866E0: @ 80866E0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08086720 @ =sub_8086468 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _08086724 @ =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl _call_via_r0 - ldrh r1, [r4, 0xA] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086720: .4byte sub_8086468 -_08086724: .4byte gTasks - thumb_func_end sub_80866E0 - - thumb_func_start sub_8086728 -sub_8086728: @ 8086728 - ldrh r1, [r0, 0xA] - subs r1, 0x10 - strh r1, [r0, 0xA] - ldrh r1, [r0, 0xE] - adds r1, 0x10 - strh r1, [r0, 0xE] - bx lr - thumb_func_end sub_8086728 - - thumb_func_start sub_8086738 -sub_8086738: @ 8086738 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r2, [r5, 0x10] - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1F - ble _08086754 - movs r0, 0x1 - b _080867D8 -_08086754: - ldrh r0, [r5, 0xE] - lsls r0, 16 - asrs r3, r0, 19 - movs r1, 0x1F - ands r3, r1 - movs r4, 0x10 - ldrsh r0, [r5, r4] - cmp r3, r0 - blt _080867D6 - movs r0, 0x20 - subs r3, r0, r3 - ands r3, r1 - subs r0, r2 - mov r12, r0 - mov r7, r12 - ands r7, r1 - mov r12, r7 - ldrh r0, [r5, 0x20] - ldr r1, _080867E8 @ =0x06000140 - adds r1, r0 - mov r8, r1 - movs r4, 0 - ldr r7, _080867EC @ =gUnknown_83CBB30 - mov r10, r7 - movs r0, 0xF0 - lsls r0, 8 - mov r9, r0 - adds r1, r3, 0x1 - movs r0, 0x1F - ands r1, r0 - str r1, [sp] - mov r6, r12 - adds r6, 0x1 - ands r6, r0 -_08086798: - lsls r1, r4, 5 - adds r2, r1, r3 - lsls r2, 1 - add r2, r8 - mov r7, r12 - adds r0, r7, r1 - lsls r0, 1 - add r0, r10 - ldrh r0, [r0] - mov r7, r9 - orrs r0, r7 - strh r0, [r2] - ldr r0, [sp] - adds r2, r1, r0 - lsls r2, 1 - add r2, r8 - adds r1, r6, r1 - lsls r1, 1 - add r1, r10 - ldrh r0, [r1] - mov r1, r9 - orrs r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9 - bls _08086798 - ldrh r0, [r5, 0x10] - adds r0, 0x2 - strh r0, [r5, 0x10] -_080867D6: - movs r0, 0 -_080867D8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080867E8: .4byte 0x06000140 -_080867EC: .4byte gUnknown_83CBB30 - thumb_func_end sub_8086738 - - thumb_func_start sub_80867F0 -sub_80867F0: @ 80867F0 - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1F - ble _08086800 - movs r0, 0x1 - b _08086854 -_08086800: - ldrh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 19 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r2, r0 - blt _08086852 - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r2, r0, 19 - movs r0, 0x1F - ands r2, r0 - ldrh r0, [r5, 0x20] - ldr r1, _0808685C @ =0x06000140 - adds r6, r0, r1 - movs r3, 0 - movs r0, 0xF0 - lsls r0, 8 - adds r7, r0, 0 - adds r4, r2, 0x1 - movs r0, 0x1F - ands r4, r0 -_08086830: - lsls r0, r3, 5 - adds r1, r0, r2 - lsls r1, 1 - adds r1, r6 - strh r7, [r1] - adds r0, r4 - lsls r0, 1 - adds r0, r6 - strh r7, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9 - bls _08086830 - ldrh r0, [r5, 0x10] - adds r0, 0x2 - strh r0, [r5, 0x10] -_08086852: - movs r0, 0 -_08086854: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0808685C: .4byte 0x06000140 - thumb_func_end sub_80867F0 - - thumb_func_start sub_8086860 -sub_8086860: @ 8086860 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r5, 0x80 - lsls r5, 24 - ands r5, r6 - lsrs r5, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _080868B4 @ =0x7fffffff - ands r6, r0 - lsls r0, r6, 16 - lsrs r0, 16 - movs r3, 0xA0 - lsls r3, 1 - movs r4, 0x50 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - bl sub_80839D4 - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _080868B8 @ =gSprites - adds r2, r1 - ldr r1, _080868BC @ =SpriteCallbackDummy - str r1, [r2, 0x1C] - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x5] - strh r6, [r2, 0x2E] - strh r5, [r2, 0x3A] - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080868B4: .4byte 0x7fffffff -_080868B8: .4byte gSprites -_080868BC: .4byte SpriteCallbackDummy - thumb_func_end sub_8086860 - - thumb_func_start sub_80868C0 -sub_80868C0: @ 80868C0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x20] - subs r0, 0x14 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - bgt _08086900 - movs r0, 0x78 - strh r0, [r1, 0x20] - movs r0, 0x1E - strh r0, [r1, 0x30] - ldr r0, _080868F4 @ =sub_8086904 - str r0, [r1, 0x1C] - movs r2, 0x3A - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080868F8 - ldrh r0, [r1, 0x2E] - movs r1, 0 - movs r2, 0x7D - movs r3, 0xA - bl PlayCry2 - b _08086900 - .align 2, 0 -_080868F4: .4byte sub_8086904 -_080868F8: - ldrh r0, [r1, 0x2E] - movs r1, 0 - bl PlayCry1 -_08086900: - pop {r0} - bx r0 - thumb_func_end sub_80868C0 - - thumb_func_start sub_8086904 -sub_8086904: @ 8086904 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _08086918 - ldr r0, _0808691C @ =sub_8086920 - str r0, [r1, 0x1C] -_08086918: - pop {r0} - bx r0 - .align 2, 0 -_0808691C: .4byte sub_8086920 - thumb_func_end sub_8086904 - - thumb_func_start sub_8086920 -sub_8086920: @ 8086920 - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x20] - movs r0, 0x20 - ldrsh r1, [r2, r0] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - bge _08086938 - movs r0, 0x1 - strh r0, [r2, 0x3C] - b _0808693E -_08086938: - adds r0, r3, 0 - subs r0, 0x14 - strh r0, [r2, 0x20] -_0808693E: - pop {r0} - bx r0 - thumb_func_end sub_8086920 - - thumb_func_start sub_8086944 -sub_8086944: @ 8086944 - push {r4,lr} - ldr r0, _08086980 @ =sub_8086990 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08086984 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08086988 @ =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r1, 0x26] - bl sav1_reset_battle_music_maybe - ldr r4, _0808698C @ =0x00000131 - adds r0, r4, 0 - bl sub_8056124 - cmp r0, 0 - beq _08086978 - adds r0, r4, 0 - bl Overworld_ChangeMusicTo -_08086978: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08086980: .4byte sub_8086990 -_08086984: .4byte gTasks -_08086988: .4byte gFieldEffectArguments -_0808698C: .4byte 0x00000131 - thumb_func_end sub_8086944 - - thumb_func_start sub_8086990 -sub_8086990: @ 8086990 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080869B8 @ =gUnknown_83CC154 - ldr r2, _080869BC @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080869B8: .4byte gUnknown_83CC154 -_080869BC: .4byte gTasks - thumb_func_end sub_8086990 - - thumb_func_start sub_80869C0 -sub_80869C0: @ 80869C0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r5, _08086A18 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r5, 0x6] - movs r0, 0x8 - bl SetPlayerAvatarStateMask - adds r6, r4, 0 - adds r6, 0xA - movs r0, 0xC - adds r0, r4 - mov r8, r0 - adds r0, r6, 0 - mov r1, r8 - bl PlayerGetDestCoords - ldr r2, _08086A1C @ =gObjectEvents - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - lsrs r0, 4 - adds r1, r6, 0 - mov r2, r8 - bl MoveCoords - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086A18: .4byte gPlayerAvatar -_08086A1C: .4byte gObjectEvents - thumb_func_end sub_80869C0 - - thumb_func_start sub_8086A20 -sub_8086A20: @ 8086A20 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08086A64 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086A68 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08086A4A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086A5C -_08086A4A: - bl sub_805CB70 - adds r0, r4, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08086A5C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086A64: .4byte gPlayerAvatar -_08086A68: .4byte gObjectEvents - thumb_func_end sub_8086A20 - - thumb_func_start sub_8086A6C -sub_8086A6C: @ 8086A6C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08086AA8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086AAC @ =gObjectEvents - adds r0, r1 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - cmp r0, 0 - beq _08086AA2 - ldr r2, _08086AB0 @ =gFieldEffectArguments - movs r1, 0x26 - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r2] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08086AA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086AA8: .4byte gPlayerAvatar -_08086AAC: .4byte gObjectEvents -_08086AB0: .4byte gFieldEffectArguments - thumb_func_end sub_8086A6C - - thumb_func_start sub_8086AB4 -sub_8086AB4: @ 8086AB4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08086B1E - ldr r5, _08086B24 @ =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08086B28 @ =gObjectEvents - adds r4, r0 - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_80641C0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldr r1, _08086B2C @ =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r6, r2] - str r0, [r1] - movs r2, 0xC - ldrsh r0, [r6, r2] - str r0, [r1, 0x4] - ldrb r0, [r5, 0x5] - str r0, [r1, 0x8] - movs r0, 0x8 - bl FieldEffectStart - strb r0, [r4, 0x1A] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08086B1E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086B24: .4byte gPlayerAvatar -_08086B28: .4byte gObjectEvents -_08086B2C: .4byte gFieldEffectArguments - thumb_func_end sub_8086AB4 - - thumb_func_start sub_8086B30 -sub_8086B30: @ 8086B30 - push {r4,r5,lr} - ldr r5, _08086B9C @ =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086BA0 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086B96 - movs r0, 0 - strb r0, [r5, 0x6] - ldrb r1, [r5] - movs r0, 0xDF - ands r0, r1 - strb r0, [r5] - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_80DC44C - bl UnfreezeObjectEvents - bl ScriptContext2_Disable - movs r0, 0x9 - bl FieldEffectActiveListRemove - ldr r0, _08086BA4 @ =sub_8086990 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x16 - bl HelpSystem_SetSomeVariable2 -_08086B96: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086B9C: .4byte gPlayerAvatar -_08086BA0: .4byte gObjectEvents -_08086BA4: .4byte sub_8086990 - thumb_func_end sub_8086B30 - - thumb_func_start sub_8086BA8 -sub_8086BA8: @ 8086BA8 - push {lr} - ldr r0, _08086BC8 @ =gQuestLogState - ldrb r0, [r0] - cmp r0, 0x1 - bne _08086BBA - movs r0, 0x8 - movs r1, 0x59 - bl sub_811278C -_08086BBA: - ldr r0, _08086BCC @ =sub_8086BD0 - movs r1, 0xFF - bl CreateTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08086BC8: .4byte gQuestLogState -_08086BCC: .4byte sub_8086BD0 - thumb_func_end sub_8086BA8 - - thumb_func_start sub_8086BD0 -sub_8086BD0: @ 8086BD0 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086BF8 @ =gUnknown_83CC168 - ldr r2, _08086BFC @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086BF8: .4byte gUnknown_83CC168 -_08086BFC: .4byte gTasks - thumb_func_end sub_8086BD0 - - thumb_func_start sub_8086C00 -sub_8086C00: @ 8086C00 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _08086C20 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086C20: .4byte gPlayerAvatar - thumb_func_end sub_8086C00 - - thumb_func_start sub_8086C24 -sub_8086C24: @ 8086C24 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08086C68 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086C6C @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08086C4E - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086C60 -_08086C4E: - bl sub_805CBE8 - adds r0, r4, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08086C60: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086C68: .4byte gPlayerAvatar -_08086C6C: .4byte gObjectEvents - thumb_func_end sub_8086C24 - - thumb_func_start sub_8086C70 -sub_8086C70: @ 8086C70 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _08086C9C @ =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086CA0 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086CEE - ldrb r1, [r5] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _08086CA4 - movs r0, 0x1 - b _08086CAE - .align 2, 0 -_08086C9C: .4byte gPlayerAvatar -_08086CA0: .4byte gObjectEvents -_08086CA4: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08086CC0 - movs r0, 0x2 -_08086CAE: - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - b _08086CD2 -_08086CC0: - movs r0, 0 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId -_08086CD2: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventForceSetHeldMovement - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08086CEE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8086C70 - - thumb_func_start sub_8086CF4 -sub_8086CF4: @ 8086CF4 - push {r4,lr} - ldr r4, _08086D2C @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086D30 @ =gObjectEvents - adds r0, r1 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086D26 - movs r0, 0 - strb r0, [r4, 0x6] - movs r0, 0x41 - bl FieldEffectActiveListRemove - ldr r0, _08086D34 @ =sub_8086BD0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08086D26: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086D2C: .4byte gPlayerAvatar -_08086D30: .4byte gObjectEvents -_08086D34: .4byte sub_8086BD0 - thumb_func_end sub_8086CF4 - - thumb_func_start sub_8086D38 -sub_8086D38: @ 8086D38 - push {r4,lr} - ldr r0, _08086D84 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x68] - movs r1, 0x78 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - ldr r0, _08086D88 @ =gSprites - adds r2, r0 - ldrb r1, [r2, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, _08086D8C @ =sub_8086D94 - str r0, [r2, 0x1C] - ldr r0, _08086D90 @ =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r2, 0x30] - movs r0, 0x97 - bl PlaySE - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08086D84: .4byte gFieldEffectObjectTemplatePointers -_08086D88: .4byte gSprites -_08086D8C: .4byte sub_8086D94 -_08086D90: .4byte gFieldEffectArguments - thumb_func_end sub_8086D38 - - thumb_func_start sub_8086D94 -sub_8086D94: @ 8086D94 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x8C - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08086DF6 - movs r2, 0x30 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08086E0C @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_08086DF6: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _08086E06 - adds r0, r4, 0 - movs r1, 0x1E - bl FieldEffectStop -_08086E06: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086E0C: .4byte gSprites - thumb_func_end sub_8086D94 - - thumb_func_start FldEff_UseFly -FldEff_UseFly: @ 8086E10 - push {lr} - ldr r0, _08086E34 @ =sub_8086E40 - movs r1, 0xFE - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08086E38 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08086E3C @ =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r1, 0xA] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08086E34: .4byte sub_8086E40 -_08086E38: .4byte gTasks -_08086E3C: .4byte gFieldEffectArguments - thumb_func_end FldEff_UseFly - - thumb_func_start sub_8086E40 -sub_8086E40: @ 8086E40 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086E68 @ =gUnknown_83CC178 - ldr r2, _08086E6C @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086E68: .4byte gUnknown_83CC178 -_08086E6C: .4byte gTasks - thumb_func_end sub_8086E40 - - thumb_func_start sub_8086E70 -sub_8086E70: @ 8086E70 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _08086EC0 @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086EC4 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08086E9A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086EB8 -_08086E9A: - ldrb r0, [r6] - strh r0, [r5, 0x26] - movs r0, 0x1 - strb r0, [r6, 0x6] - bl SetPlayerAvatarStateMask - bl sub_805CB70 - adds r0, r4, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08086EB8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086EC0: .4byte gPlayerAvatar -_08086EC4: .4byte gObjectEvents - thumb_func_end sub_8086E70 - - thumb_func_start sub_8086EC8 -sub_8086EC8: @ 8086EC8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08086F00 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086F04 @ =gObjectEvents - adds r0, r1 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086EF8 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r1, _08086F08 @ =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart -_08086EF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086F00: .4byte gPlayerAvatar -_08086F04: .4byte gObjectEvents -_08086F08: .4byte gFieldEffectArguments - thumb_func_end sub_8086EC8 - - thumb_func_start sub_8086F0C -sub_8086F0C: @ 8086F0C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08086F54 - ldr r0, _08086F5C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086F60 @ =gObjectEvents - adds r5, r0, r1 - ldrh r1, [r4, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08086F44 - ldrb r0, [r5, 0x1A] - movs r1, 0x2 - bl sub_80DC44C - ldrb r0, [r5, 0x1A] - movs r1, 0 - bl sub_80DC478 -_08086F44: - bl sub_8087168 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08086F54: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086F5C: .4byte gPlayerAvatar -_08086F60: .4byte gObjectEvents - thumb_func_end sub_8086F0C - - thumb_func_start sub_8086F64 -sub_8086F64: @ 8086F64 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _08086F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xC] - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - ldr r0, _08086FA0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086FA4 @ =gObjectEvents - adds r0, r1 - movs r1, 0x2 - bl ObjectEventSetHeldMovement -_08086F98: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086FA0: .4byte gPlayerAvatar -_08086FA4: .4byte gObjectEvents - thumb_func_end sub_8086F64 - - thumb_func_start sub_8086FA8 -sub_8086FA8: @ 8086FA8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08086FF4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086FF8 @ =gObjectEvents - adds r2, r0, r1 - ldrh r1, [r4, 0xC] - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08086FCE - subs r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _08086FEC -_08086FCE: - adds r0, r2, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086FEC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x97 - bl PlaySE - ldrb r0, [r4, 0xA] - bl sub_80871C8 -_08086FEC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086FF4: .4byte gPlayerAvatar -_08086FF8: .4byte gObjectEvents - thumb_func_end sub_8086FA8 - - thumb_func_start sub_8086FFC -sub_8086FFC: @ 8086FFC - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0808705A - ldr r0, _08087060 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087064 @ =gObjectEvents - adds r4, r0 - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087068 @ =gSprites - adds r0, r1 - movs r1, 0x16 - bl StartSpriteAnim - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - movs r1, 0x54 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - strh r0, [r5, 0xC] -_0808705A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087060: .4byte gPlayerAvatar -_08087064: .4byte gObjectEvents -_08087068: .4byte gSprites - thumb_func_end sub_8086FFC - - thumb_func_start sub_808706C -sub_808706C: @ 808706C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _080870FC - ldr r0, _08087104 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087108 @ =gObjectEvents - adds r4, r0 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfActive - ldrb r1, [r4, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] - ldrb r0, [r5, 0xA] - ldrb r1, [r4, 0x4] - bl sub_8087204 - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0808710C @ =gSprites - adds r0, r4 - ldr r1, _08087110 @ =gSaveBlock2Ptr - ldr r1, [r1] - ldrb r1, [r1, 0x8] - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl sub_80877FC - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _08087114 @ =sub_8087828 - str r1, [r0] - bl CameraObjectReset2 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080870FC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087104: .4byte gPlayerAvatar -_08087108: .4byte gObjectEvents -_0808710C: .4byte gSprites -_08087110: .4byte gSaveBlock2Ptr -_08087114: .4byte sub_8087828 - thumb_func_end sub_808706C - - thumb_func_start sub_8087118 -sub_8087118: @ 8087118 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _08087132 - bl sub_807DC18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08087132: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8087118 - - thumb_func_start sub_8087138 -sub_8087138: @ 8087138 - push {lr} - ldr r0, _08087160 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0808715A - movs r0, 0x1F - bl FieldEffectActiveListRemove - ldr r0, _08087164 @ =sub_8086E40 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0808715A: - pop {r0} - bx r0 - .align 2, 0 -_08087160: .4byte gPaletteFade -_08087164: .4byte sub_8086E40 - thumb_func_end sub_8087138 - - thumb_func_start sub_8087168 -sub_8087168: @ 8087168 - push {lr} - ldr r0, _080871A0 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x68] - movs r1, 0xFF - movs r2, 0xB4 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _080871A4 @ =gSprites - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - movs r3, 0xD - negs r3, r3 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - ldr r1, _080871A8 @ =sub_8087220 - str r1, [r2, 0x1C] - pop {r1} - bx r1 - .align 2, 0 -_080871A0: .4byte gFieldEffectObjectTemplatePointers -_080871A4: .4byte gSprites -_080871A8: .4byte sub_8087220 - thumb_func_end sub_8087168 - - thumb_func_start sub_80871AC -sub_80871AC: @ 80871AC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080871C4 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_080871C4: .4byte gSprites - thumb_func_end sub_80871AC - - thumb_func_start sub_80871C8 -sub_80871C8: @ 80871C8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080871FC @ =gSprites - adds r4, r0 - ldr r0, _08087200 @ =sub_80872F0 - str r0, [r4, 0x1C] - movs r1, 0 - movs r0, 0x78 - strh r0, [r4, 0x20] - strh r1, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x2E - movs r2, 0x10 - bl memset - movs r0, 0x40 - strh r0, [r4, 0x3A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080871FC: .4byte gSprites -_08087200: .4byte sub_80872F0 - thumb_func_end sub_80871C8 - - thumb_func_start sub_8087204 -sub_8087204: @ 8087204 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0808721C @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - strh r1, [r2, 0x3A] - bx lr - .align 2, 0 -_0808721C: .4byte gSprites - thumb_func_end sub_8087204 - - thumb_func_start sub_8087220 -sub_8087220: @ 8087220 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080872E2 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808727A - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _0808725C @ =gUnknown_83CC1CC - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _08087260 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08087264 - movs r0, 0x80 - b _08087266 - .align 2, 0 -_0808725C: .4byte gUnknown_83CC1CC -_08087260: .4byte gSaveBlock2Ptr -_08087264: - movs r0, 0x76 -_08087266: - strh r0, [r4, 0x20] - ldr r0, _080872E8 @ =0x0000ffd0 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x40 - strh r0, [r4, 0x30] - adds r0, 0xC0 - strh r0, [r4, 0x32] -_0808727A: - ldrh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x32] - movs r0, 0x32 - ldrsh r1, [r4, r0] - ldr r0, _080872EC @ =0x000007ff - cmp r1, r0 - bgt _080872B0 - adds r0, r2, 0 - adds r0, 0x60 - strh r0, [r4, 0x32] -_080872B0: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x81 - ble _080872E2 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec -_080872E2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080872E8: .4byte 0x0000ffd0 -_080872EC: .4byte 0x000007ff - thumb_func_end sub_8087220 - - thumb_func_start sub_80872F0 -sub_80872F0: @ 80872F0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x8C - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _0808734E - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08087360 @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_0808734E: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _0808735A - movs r0, 0x1 - strh r0, [r4, 0x3C] -_0808735A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087360: .4byte gSprites - thumb_func_end sub_80872F0 - - thumb_func_start sub_8087364 -sub_8087364: @ 8087364 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808744E - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080873C4 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080873A0 @ =gUnknown_83CC1CC - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _080873A4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080873A8 - movs r0, 0x70 - b _080873AA - .align 2, 0 -_080873A0: .4byte gUnknown_83CC1CC -_080873A4: .4byte gSaveBlock2Ptr -_080873A8: - movs r0, 0x64 -_080873AA: - strh r0, [r4, 0x20] - ldr r0, _08087454 @ =0x0000ffe0 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0xF0 - strh r0, [r4, 0x30] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0x80 - strh r0, [r4, 0x36] -_080873C4: - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r2, r1 - ldrh r0, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - movs r0, 0xFF - ands r2, r0 - strh r2, [r4, 0x30] - movs r3, 0x30 - ldrsh r0, [r4, r3] - movs r1, 0x20 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r2, 0x80 - lsls r2, 1 - cmp r0, r2 - ble _08087406 - ldrh r0, [r4, 0x36] - subs r0, r1, r0 - strh r0, [r4, 0x32] -_08087406: - ldrh r1, [r4, 0x36] - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0xFF - bgt _08087416 - adds r0, r1, 0 - adds r0, 0x18 - strh r0, [r4, 0x36] -_08087416: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0xFF - bgt _08087420 - strh r2, [r4, 0x32] -_08087420: - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - ble _0808744E - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0808744E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087454: .4byte 0x0000ffe0 - thumb_func_end sub_8087364 - - thumb_func_start sub_8087458 -sub_8087458: @ 8087458 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80871C8 - ldr r1, _0808747C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08087480 @ =sub_8087364 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808747C: .4byte gSprites -_08087480: .4byte sub_8087364 - thumb_func_end sub_8087458 - - thumb_func_start FldEff_FlyIn -FldEff_FlyIn: @ 8087484 - push {lr} - ldr r0, _08087494 @ =sub_8087498 - movs r1, 0xFE - bl CreateTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08087494: .4byte sub_8087498 - thumb_func_end FldEff_FlyIn - - thumb_func_start sub_8087498 -sub_8087498: @ 8087498 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080874C0 @ =gUnknown_83CC1D4 - ldr r2, _080874C4 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080874C0: .4byte gUnknown_83CC1D4 -_080874C4: .4byte gTasks - thumb_func_end sub_8087498 - - thumb_func_start sub_80874C8 -sub_80874C8: @ 80874C8 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, _080875B4 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080875B8 @ =gObjectEvents - adds r5, r0, r1 - adds r0, r5, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080874F2 - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080875AE -_080874F2: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x21 - strh r0, [r6, 0xC] - ldrb r0, [r4] - strh r0, [r6, 0x26] - movs r0, 0x1 - strb r0, [r4, 0x6] - bl SetPlayerAvatarStateMask - ldrh r1, [r6, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808751A - ldrb r0, [r5, 0x1A] - movs r1, 0 - bl sub_80DC44C -_0808751A: - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl ObjectEventSetGraphicsId - bl CameraObjectReset2 - adds r0, r5, 0 - movs r1, 0x3 - bl ObjectEventTurn - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080875BC @ =gSprites - adds r0, r4 - movs r1, 0x16 - bl StartSpriteAnim - ldrb r1, [r5, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - bl sub_8087168 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xA] - bl sub_80871C8 - ldrb r0, [r6, 0xA] - ldrb r1, [r5, 0x4] - bl sub_8087204 - movs r0, 0xA - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080875C0 @ =gSaveBlock2Ptr - ldr r1, [r1] - ldrb r1, [r1, 0x8] - lsls r1, 25 - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0xA - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl sub_80877FC - movs r2, 0xA - ldrsh r1, [r6, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _080875C4 @ =sub_8087828 - str r1, [r0] -_080875AE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080875B4: .4byte gPlayerAvatar -_080875B8: .4byte gObjectEvents -_080875BC: .4byte gSprites -_080875C0: .4byte gSaveBlock2Ptr -_080875C4: .4byte sub_8087828 - thumb_func_end sub_80874C8 - - thumb_func_start sub_80875C8 -sub_80875C8: @ 80875C8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _08087638 @ =gSprites - adds r0, r6 - bl sub_80878C0 - ldrh r1, [r5, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080875F2 - subs r0, r1, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _08087630 -_080875F2: - ldr r0, _0808763C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087640 @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - ldrb r0, [r5, 0xA] - movs r1, 0x40 - bl sub_8087204 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - strh r1, [r5, 0xC] -_08087630: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087638: .4byte gSprites -_0808763C: .4byte gPlayerAvatar -_08087640: .4byte gObjectEvents - thumb_func_end sub_80875C8 - - thumb_func_start sub_8087644 -sub_8087644: @ 8087644 - push {r4,lr} - sub sp, 0x24 - adds r4, r0, 0 - ldr r1, _0808768C @ =gUnknown_83CC1F0 - mov r0, sp - movs r2, 0x24 - bl memcpy - ldr r0, _08087690 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08087694 @ =gSprites - adds r1, r0 - movs r2, 0xC - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - ble _08087682 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08087682: - add sp, 0x24 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808768C: .4byte gUnknown_83CC1F0 -_08087690: .4byte gPlayerAvatar -_08087694: .4byte gSprites - thumb_func_end sub_8087644 - - thumb_func_start sub_8087698 -sub_8087698: @ 8087698 - push {r4-r6,lr} - adds r6, r0, 0 - ldrb r0, [r6, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _080876FC - ldr r0, _08087704 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r5, r0, 3 - adds r5, r0 - lsls r5, 2 - ldr r0, _08087708 @ =gObjectEvents - adds r5, r0 - ldrb r0, [r5, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0808770C @ =gSprites - adds r4, r0 - ldrb r1, [r5, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x10 - ldrsh r1, [r5, r0] - movs r0, 0x12 - ldrsh r2, [r5, r0] - adds r0, r5, 0 - bl MoveObjectEventToMapCoords - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - bl sub_805CB70 - adds r0, r5, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080876FC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087704: .4byte gPlayerAvatar -_08087708: .4byte gObjectEvents -_0808770C: .4byte gSprites - thumb_func_end sub_8087698 - - thumb_func_start sub_8087710 -sub_8087710: @ 8087710 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08087740 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087744 @ =gObjectEvents - adds r0, r1 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08087738 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r0, [r4, 0xA] - bl sub_8087458 -_08087738: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087740: .4byte gPlayerAvatar -_08087744: .4byte gObjectEvents - thumb_func_end sub_8087710 - - thumb_func_start sub_8087748 -sub_8087748: @ 8087748 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _08087774 - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0808777C @ =gSprites - adds r0, r1 - bl DestroySprite - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xA] -_08087774: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808777C: .4byte gSprites - thumb_func_end sub_8087748 - - thumb_func_start fishE -fishE: @ 8087780 - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080877EA - ldr r6, _080877F0 @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080877F4 @ =gObjectEvents - adds r4, r0, r1 - movs r7, 0 - ldrh r1, [r5, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080877B4 - movs r7, 0x2 - ldrb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_80DC44C -_080877B4: - adds r0, r7, 0 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - adds r0, r4, 0 - movs r1, 0x1 - bl ObjectEventTurn - ldrh r0, [r5, 0x26] - strb r0, [r6] - movs r0, 0 - strb r0, [r6, 0x6] - movs r0, 0x20 - bl FieldEffectActiveListRemove - ldr r0, _080877F8 @ =sub_8087498 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080877EA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080877F0: .4byte gPlayerAvatar -_080877F4: .4byte gObjectEvents -_080877F8: .4byte sub_8087498 - thumb_func_end fishE - - thumb_func_start sub_80877FC -sub_80877FC: @ 80877FC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r5, r1, 24 - lsrs r5, 24 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _08087824 @ =gUnknown_83CC23C - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - adds r1, r5, 0 - bl StartSpriteAffineAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087824: .4byte gUnknown_83CC23C - thumb_func_end sub_80877FC - - thumb_func_start sub_8087828 -sub_8087828: @ 8087828 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0xB4 - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _08087886 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080878BC @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_08087886: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080878B4 - movs r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - subs r0, 0x5 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec -_080878B4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080878BC: .4byte gSprites - thumb_func_end sub_8087828 - - thumb_func_start sub_80878C0 -sub_80878C0: @ 80878C0 - push {r4-r6,lr} - adds r4, r0, 0 - ldrb r5, [r4, 0x1] - lsls r0, r5, 30 - cmp r0, 0 - beq _08087916 - ldr r1, _0808791C @ =gOamMatrices - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r3, r0, 27 - lsls r0, r3, 3 - adds r1, r0, r1 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x80 - lsls r2, 1 - cmp r0, r2 - beq _080878EC - movs r6, 0x6 - ldrsh r0, [r1, r6] - cmp r0, r2 - bne _08087916 -_080878EC: - movs r0, 0x4 - negs r0, r0 - ands r0, r5 - strb r0, [r4, 0x1] - adds r0, r3, 0 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _08087920 @ =sub_80872F0 - str r0, [r4, 0x1C] -_08087916: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808791C: .4byte gOamMatrices -_08087920: .4byte sub_80872F0 - thumb_func_end sub_80878C0 - - thumb_func_start sub_8087924 -sub_8087924: @ 8087924 - push {r4-r7,lr} - sub sp, 0x4 - ldr r7, _080879C4 @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080879BA - mov r0, sp - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080879C8 @ =gObjectEvents - adds r4, r0 - movs r0, 0x10 - ldrsh r5, [r4, r0] - subs r5, 0x7 - movs r0, 0x12 - ldrsh r6, [r4, r0] - subs r6, 0x7 - ldr r1, [r7, 0xC] - subs r5, r1, r5 - lsls r5, 4 - ldr r2, [r7, 0x10] - subs r6, r2, r6 - lsls r6, 4 - adds r1, 0x7 - lsls r1, 16 - asrs r1, 16 - adds r2, 0x7 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - bl ShiftObjectEventCoords - ldr r0, _080879CC @ =sub_80879D8 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080879D0 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldrb r0, [r4, 0x4] - strh r0, [r2, 0xA] - ldr r3, _080879D4 @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - adds r0, r5 - strh r0, [r2, 0xC] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - adds r0, r6 - strh r0, [r2, 0xE] - ldr r0, [r7, 0x14] - strh r0, [r2, 0x18] - mov r0, sp - ldrb r0, [r0] - strh r0, [r2, 0x1A] -_080879BA: - movs r0, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080879C4: .4byte gFieldEffectArguments -_080879C8: .4byte gObjectEvents -_080879CC: .4byte sub_80879D8 -_080879D0: .4byte gTasks -_080879D4: .4byte gSprites - thumb_func_end sub_8087924 - - thumb_func_start sub_80879D8 -sub_80879D8: @ 80879D8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08087A04 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087A08 @ =gSprites - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08087A0C - cmp r0, 0x1 - beq _08087A4A - b _08087AA8 - .align 2, 0 -_08087A04: .4byte gTasks+0x8 -_08087A08: .4byte gSprites -_08087A0C: - ldrh r0, [r6, 0x20] - lsls r0, 4 - strh r0, [r5, 0x8] - ldrh r0, [r6, 0x22] - lsls r0, 4 - strh r0, [r5, 0xA] - movs r2, 0x4 - ldrsh r0, [r5, r2] - lsls r0, 4 - movs r2, 0x8 - ldrsh r1, [r5, r2] - subs r0, r1 - movs r2, 0x10 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0xC] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 4 - movs r2, 0xA - ldrsh r1, [r5, r2] - subs r0, r1 - movs r2, 0x10 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0xE] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08087A4A: - ldrh r1, [r5, 0x10] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08087A78 - subs r0, r1, 0x1 - strh r0, [r5, 0x10] - ldrh r1, [r5, 0xC] - ldrh r0, [r5, 0x8] - adds r1, r0 - strh r1, [r5, 0x8] - ldrh r0, [r5, 0xE] - ldrh r2, [r5, 0xA] - adds r0, r2 - strh r0, [r5, 0xA] - lsls r1, 16 - asrs r1, 20 - strh r1, [r6, 0x20] - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 20 - strh r0, [r6, 0x22] - b _08087AA8 -_08087A78: - movs r1, 0x12 - ldrsh r0, [r5, r1] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087AB0 @ =gObjectEvents - adds r4, r0 - ldrh r0, [r5, 0x4] - strh r0, [r6, 0x20] - ldrh r0, [r5, 0x6] - strh r0, [r6, 0x22] - adds r0, r4, 0 - bl ShiftStillObjectEventCoords - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x43 - bl FieldEffectActiveListRemove - adds r0, r7, 0 - bl DestroyTask -_08087AA8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08087AB0: .4byte gObjectEvents - thumb_func_end sub_80879D8 - - thumb_func_start sub_8087AB4 -sub_8087AB4: @ 8087AB4 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08087AF8 @ =gFieldEffectArguments - ldrb r0, [r4] - ldrb r1, [r4, 0x4] - ldrb r2, [r4, 0x8] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08087B04 - ldr r0, _08087AFC @ =sub_8087BC0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08087B00 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, sp - ldrb r0, [r0] - strh r0, [r1, 0xC] - ldr r0, [r4] - strh r0, [r1, 0x14] - ldr r0, [r4, 0x4] - strh r0, [r1, 0x16] - ldr r0, [r4, 0x8] - strh r0, [r1, 0x18] - b _08087B0A - .align 2, 0 -_08087AF8: .4byte gFieldEffectArguments -_08087AFC: .4byte sub_8087BC0 -_08087B00: .4byte gTasks -_08087B04: - movs r0, 0x44 - bl FieldEffectActiveListRemove -_08087B0A: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8087AB4 - - thumb_func_start sub_8087B14 -sub_8087B14: @ 8087B14 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08087B4C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08087B50 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _08087B54 - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08087B54 - subs r0, r1, 0x1 - b _08087B52 - .align 2, 0 -_08087B4C: .4byte gTasks+0x8 -_08087B50: - movs r0, 0x4 -_08087B52: - strh r0, [r4, 0xA] -_08087B54: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08087B8E - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08087B84 - ldrh r1, [r4, 0xA] - negs r1, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl SetCameraPanning - b _08087B8E -_08087B84: - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning -_08087B8E: - bl UpdateCameraPanning - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08087BA0 - adds r0, r5, 0 - bl DestroyTask -_08087BA0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8087B14 - - thumb_func_start sub_8087BA8 -sub_8087BA8: @ 8087BA8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08087BBC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x16] - bx lr - .align 2, 0 -_08087BBC: .4byte gTasks - thumb_func_end sub_8087BA8 - - thumb_func_start sub_8087BC0 -sub_8087BC0: @ 8087BC0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08087BF8 @ =gTasks+0x8 - adds r4, r0 - bl InstallCameraPanAheadCallback - movs r0, 0 - bl SetCameraPanningCallback - ldr r1, _08087BFC @ =gUnknown_83CC244 - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087BF8: .4byte gTasks+0x8 -_08087BFC: .4byte gUnknown_83CC244 - thumb_func_end sub_8087BC0 - - thumb_func_start sub_8087C00 -sub_8087C00: @ 8087C00 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08087C28 @ =sub_8087B14 - movs r1, 0x5A - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x51 - bl PlaySE - strh r4, [r5, 0xA] - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087C28: .4byte sub_8087B14 - thumb_func_end sub_8087C00 - - thumb_func_start sub_8087C2C -sub_8087C2C: @ 8087C2C - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - ldrh r0, [r7, 0x6] - adds r0, 0x1 - strh r0, [r7, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _08087C9A - ldr r2, _08087CA4 @ =gObjectEvents - movs r1, 0x4 - ldrsh r0, [r7, r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087CA8 @ =gSprites - adds r4, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldr r6, _08087CAC @ =0x0000ffff - ldr r5, _08087CB0 @ =0x00007fff - adds r0, r6, 0 - movs r1, 0x10 - adds r2, r5, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r4, 0 - bl sub_8087CFC - movs r0, 0x50 - bl PlaySE - ldrb r0, [r7, 0xA] - bl sub_8087BA8 - movs r0, 0 - strh r0, [r7, 0x6] - ldrh r0, [r7, 0x2] - adds r0, 0x1 - strh r0, [r7, 0x2] -_08087C9A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08087CA4: .4byte gObjectEvents -_08087CA8: .4byte gSprites -_08087CAC: .4byte 0x0000ffff -_08087CB0: .4byte 0x00007fff - thumb_func_end sub_8087C2C - - thumb_func_start sub_8087CB4 -sub_8087CB4: @ 8087CB4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _08087CF4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08087CEE - ldr r0, _08087CF8 @ =sub_8087B14 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08087CEE - bl InstallCameraPanAheadCallback - ldrb r0, [r4, 0xC] - ldrb r1, [r4, 0xE] - ldrb r2, [r4, 0x10] - bl RemoveObjectEventByLocalIdAndMap - movs r0, 0x44 - bl FieldEffectActiveListRemove - adds r0, r5, 0 - bl DestroyTask -_08087CEE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087CF4: .4byte gPaletteFade -_08087CF8: .4byte sub_8087B14 - thumb_func_end sub_8087CB4 - - thumb_func_start sub_8087CFC -sub_8087CFC: @ 8087CFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, _08087D80 @ =gTotalCameraPixelOffsetX - movs r1, 0 - ldrsh r2, [r0, r1] - movs r3, 0x20 - ldrsh r0, [r6, r3] - adds r2, r0 - movs r1, 0x24 - ldrsh r0, [r6, r1] - adds r2, r0 - ldr r0, _08087D84 @ =gTotalCameraPixelOffsetY - movs r3, 0 - ldrsh r0, [r0, r3] - movs r3, 0x22 - ldrsh r1, [r6, r3] - adds r0, r1 - movs r3, 0x26 - ldrsh r1, [r6, r3] - adds r0, r1 - subs r0, 0x4 - movs r5, 0 - lsls r2, 16 - mov r8, r2 - lsls r7, r0, 16 -_08087D32: - ldr r0, _08087D88 @ =gUnknown_83CC2A0 - mov r2, r8 - asrs r1, r2, 16 - asrs r2, r7, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08087D6E - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087D8C @ =gSprites - adds r4, r0 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - strh r5, [r4, 0x2E] - ldrb r1, [r6, 0x5] - lsrs r1, 4 - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] -_08087D6E: - adds r5, 0x1 - cmp r5, 0x3 - ble _08087D32 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08087D80: .4byte gTotalCameraPixelOffsetX -_08087D84: .4byte gTotalCameraPixelOffsetY -_08087D88: .4byte gUnknown_83CC2A0 -_08087D8C: .4byte gSprites - thumb_func_end sub_8087CFC - - thumb_func_start sub_8087D90 -sub_8087D90: @ 8087D90 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08087DBC - cmp r0, 0x1 - bgt _08087DA6 - cmp r0, 0 - beq _08087DB0 - b _08087DDA -_08087DA6: - cmp r0, 0x2 - beq _08087DC8 - cmp r0, 0x3 - beq _08087DCE - b _08087DDA -_08087DB0: - ldrh r0, [r1, 0x20] - subs r0, 0x10 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0xC - b _08087DD8 -_08087DBC: - ldrh r0, [r1, 0x20] - adds r0, 0x10 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0xC - b _08087DD8 -_08087DC8: - ldrh r0, [r1, 0x20] - subs r0, 0x10 - b _08087DD2 -_08087DCE: - ldrh r0, [r1, 0x20] - adds r0, 0x10 -_08087DD2: - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - adds r0, 0xC -_08087DD8: - strh r0, [r1, 0x22] -_08087DDA: - ldrh r0, [r1, 0x20] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF8 - bhi _08087DF6 - movs r0, 0x22 - ldrsh r2, [r1, r0] - movs r0, 0x4 - negs r0, r0 - cmp r2, r0 - blt _08087DF6 - cmp r2, 0xA4 - ble _08087DFC -_08087DF6: - adds r0, r1, 0 - bl DestroySprite -_08087DFC: - pop {r0} - bx r0 - thumb_func_end sub_8087D90 - - thumb_func_start sub_8087E00 -sub_8087E00: @ 8087E00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08087E24 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08087E1E - movs r0, 0x45 - bl FieldEffectActiveListRemove - adds r0, r4, 0 - bl DestroyTask -_08087E1E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087E24: .4byte gPaletteFade - thumb_func_end sub_8087E00 - - thumb_func_start sub_8087E28 -sub_8087E28: @ 8087E28 - push {r4,r5,lr} - sub sp, 0x4 - movs r4, 0x1 - negs r4, r4 - ldr r5, _08087E5C @ =0x00007fff - adds r0, r4, 0 - movs r1, 0x10 - adds r2, r5, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0xF - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08087E60 @ =sub_8087E00 - movs r1, 0x5A - bl CreateTask - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087E5C: .4byte 0x00007fff -_08087E60: .4byte sub_8087E00 - thumb_func_end sub_8087E28 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s deleted file mode 100644 index a2f2de676..000000000 --- a/asm/field_effect_helpers.s +++ /dev/null @@ -1,4308 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpReflection -SetUpReflection: @ 80DAD7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x22 - ldrsh r2, [r4, r0] - adds r0, r4, 0 - movs r3, 0x98 - bl CreateCopySpriteAt - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DAE2C @ =gSprites - adds r7, r1, r0 - ldr r0, _080DAE30 @ =sub_80DAF50 - str r0, [r7, 0x1C] - ldrb r1, [r7, 0x5] - movs r0, 0xC - orrs r1, r0 - strb r1, [r7, 0x5] - ldr r2, _080DAE34 @ =gReflectionEffectPaletteMap - lsrs r0, r1, 4 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 4 - movs r2, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x5] - movs r1, 0x3F - adds r1, r7 - mov r8, r1 - ldrb r0, [r1] - movs r1, 0x40 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - ldr r0, _080DAE38 @ =gDummySpriteAnimTable - str r0, [r7, 0x8] - adds r0, r7, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _080DAE3C @ =gDummySpriteAffineAnimTable - str r0, [r7, 0x10] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x8 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - adds r2, r7, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x2E] - strh r0, [r7, 0x2E] - ldrb r0, [r6, 0x8] - strh r0, [r7, 0x30] - strh r5, [r7, 0x3C] - adds r0, r6, 0 - adds r1, r7, 0 - bl npc_pal_op - cmp r5, 0 - bne _080DAE22 - ldrb r0, [r7, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r7, 0x1] -_080DAE22: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DAE2C: .4byte gSprites -_080DAE30: .4byte sub_80DAF50 -_080DAE34: .4byte gReflectionEffectPaletteMap -_080DAE38: .4byte gDummySpriteAnimTable -_080DAE3C: .4byte gDummySpriteAffineAnimTable - thumb_func_end SetUpReflection - - thumb_func_start sub_80DAE40 -sub_80DAE40: @ 80DAE40 - push {lr} - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - ldrh r0, [r0, 0xA] - subs r0, 0x2 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80DAE40 - - thumb_func_start npc_pal_op -npc_pal_op: @ 80DAE54 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _080DAEAC @ =gUnknown_83FECCC - mov r0, sp - movs r2, 0x6 - bl memcpy - movs r0, 0 - strh r0, [r4, 0x32] - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - ldrb r1, [r0, 0xC] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DAEB0 - ldrb r0, [r5, 0x1F] - bl MetatileBehavior_GetBridgeType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080DAE96 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_GetBridgeType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080DAEB0 -_080DAE96: - subs r0, 0x1 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_A - b _080DAEBA - .align 2, 0 -_080DAEAC: .4byte gUnknown_83FECCC -_080DAEB0: - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_B -_080DAEBA: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end npc_pal_op - - thumb_func_start npc_pal_op_B -npc_pal_op_B: @ 80DAEC4 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _080DAEF0 @ =0x000011ff - cmp r1, r0 - beq _080DAF18 - ldrb r0, [r2, 0xC] - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - bne _080DAEF4 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl LoadPlayerObjectReflectionPalette - b _080DAF12 - .align 2, 0 -_080DAEF0: .4byte 0x000011ff -_080DAEF4: - cmp r1, 0xA - bne _080DAF02 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl LoadSpecialObjectReflectionPalette - b _080DAF12 -_080DAF02: - adds r0, r4, 0 - bl GetObjectPaletteTag - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl PatchObjectPalette -_080DAF12: - adds r0, r4, 0 - bl sub_807AA8C -_080DAF18: - pop {r4} - pop {r0} - bx r0 - thumb_func_end npc_pal_op_B - - thumb_func_start npc_pal_op_A -npc_pal_op_A: @ 80DAF20 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _080DAF4C @ =0x000011ff - cmp r1, r0 - beq _080DAF44 - adds r0, r1, 0 - adds r1, r4, 0 - bl PatchObjectPalette - adds r0, r4, 0 - bl sub_807AA8C -_080DAF44: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DAF4C: .4byte 0x000011ff - thumb_func_end npc_pal_op_A - - thumb_func_start sub_80DAF50 -sub_80DAF50: @ 80DAF50 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DAF98 @ =gObjectEvents - adds r7, r0, r1 - ldrb r1, [r7, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DAF9C @ =gSprites - adds r5, r0, r1 - ldr r0, [r7] - ldr r1, _080DAFA0 @ =0x00020001 - ands r0, r1 - cmp r0, r1 - bne _080DAF88 - ldrb r1, [r7, 0x8] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _080DAFA4 -_080DAF88: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _080DB0AE - .align 2, 0 -_080DAF98: .4byte gObjectEvents -_080DAF9C: .4byte gSprites -_080DAFA0: .4byte 0x00020001 -_080DAFA4: - ldr r1, _080DB0BC @ =gReflectionEffectPaletteMap - ldrb r0, [r5, 0x5] - lsrs r0, 4 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r5, 0x1] - lsrs r1, 6 - lsls r1, 6 - ldrb r2, [r4, 0x1] - movs r3, 0x3F - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r5, 0x3] - lsrs r0, 6 - lsls r0, 6 - ldrb r2, [r4, 0x3] - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r2, 0x10 - orrs r0, r2 - lsls r0, 1 - subs r2, 0x4F - mov r9, r2 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - ldrh r2, [r4, 0x4] - ldr r0, _080DB0C0 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, [r5, 0x18] - str r0, [r4, 0x18] - adds r0, r5, 0 - adds r0, 0x42 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 26 - adds r2, r4, 0 - adds r2, 0x42 - ands r3, r0 - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - movs r0, 0x3E - adds r0, r5 - mov r8, r0 - ldrb r0, [r0] - adds r6, r4, 0 - adds r6, 0x3E - movs r1, 0x4 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrh r0, [r5, 0x20] - strh r0, [r4, 0x20] - adds r0, r7, 0 - bl sub_80DAE40 - ldrh r1, [r5, 0x22] - adds r0, r1 - ldrh r1, [r4, 0x32] - adds r1, r0 - strh r1, [r4, 0x22] - adds r0, r5, 0 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x28 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x29 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x29 - strb r0, [r1] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x2 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DB0AE - ldrb r0, [r4, 0x3] - mov r2, r9 - ands r2, r0 - strb r2, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080DB0AE - movs r1, 0x2 - adds r0, r2, 0 - orrs r0, r1 - strb r0, [r4, 0x3] -_080DB0AE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB0BC: .4byte gReflectionEffectPaletteMap -_080DB0C0: .4byte 0xfffffc00 - thumb_func_end sub_80DAF50 - - thumb_func_start CreateWarpArrowSprite -CreateWarpArrowSprite: @ 80DB0C4 - push {r4,lr} - ldr r0, _080DB10C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x20] - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0x40 - beq _080DB102 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DB110 @ =gSprites - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - orrs r0, r3 - strb r0, [r1] -_080DB102: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DB10C: .4byte gFieldEffectObjectTemplatePointers -_080DB110: .4byte gSprites - thumb_func_end CreateWarpArrowSprite - - thumb_func_start objid_set_invisible -objid_set_invisible: @ 80DB114 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080DB130 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_080DB130: .4byte gSprites - thumb_func_end objid_set_invisible - - thumb_func_start sub_80DB134 -sub_80DB134: @ 80DB134 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _080DB1D8 @ =gSprites - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080DB17E - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - bne _080DB17E - movs r0, 0x30 - ldrsh r1, [r2, r0] - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - beq _080DB1CA -_080DB17E: - lsls r0, r7, 16 - asrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - mov r4, sp - adds r4, 0x2 - mov r2, sp - adds r3, r4, 0 - bl SetSpritePosToMapCoords - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _080DB1D8 @ =gSprites - adds r2, r0, r1 - mov r0, sp - ldrh r0, [r0] - adds r0, 0x8 - strh r0, [r2, 0x20] - ldrh r0, [r4] - adds r0, 0x8 - strh r0, [r2, 0x22] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - strh r7, [r2, 0x2E] - strh r6, [r2, 0x30] - mov r1, r8 - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_080DB1CA: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB1D8: .4byte gSprites - thumb_func_end sub_80DB134 - - thumb_func_start oei_shadow -oei_shadow: @ 80DB1DC - push {r4,r5,lr} - ldr r5, _080DB268 @ =gFieldEffectArguments - ldrb r0, [r5] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080DB26C @ =gObjectEvents - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - bl GetObjectEventGraphicsInfo - adds r4, r0, 0 - ldr r2, _080DB270 @ =gFieldEffectObjectTemplatePointers - ldr r1, _080DB274 @ =gUnknown_83FECD2 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - movs r3, 0x94 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB260 - ldr r0, _080DB278 @ =gSprites - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldr r0, [r5] - strh r0, [r2, 0x2E] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r5, 0x8] - strh r0, [r2, 0x32] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - ldr r3, _080DB27C @ =gUnknown_83FECD6 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x34] -_080DB260: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DB268: .4byte gFieldEffectArguments -_080DB26C: .4byte gObjectEvents -_080DB270: .4byte gFieldEffectObjectTemplatePointers -_080DB274: .4byte gUnknown_83FECD2 -_080DB278: .4byte gSprites -_080DB27C: .4byte gUnknown_83FECD6 - thumb_func_end oei_shadow - - thumb_func_start oamc_shadow -oamc_shadow: @ 80DB280 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DB2AE - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop - b _080DB334 -_080DB2AE: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB33C @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DB340 @ =gSprites - adds r1, r0 - ldrb r0, [r1, 0x5] - movs r2, 0xC - ands r2, r0 - ldrb r3, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, 0x5] - ldrh r0, [r1, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x34] - ldrh r1, [r1, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldr r0, [r4] - ldr r1, _080DB344 @ =0x00400001 - ands r0, r1 - cmp r0, r1 - bne _080DB32C - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPokeGrass - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsSurfable - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsSurfable - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - beq _080DB334 -_080DB32C: - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop -_080DB334: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DB33C: .4byte gObjectEvents -_080DB340: .4byte gSprites -_080DB344: .4byte 0x00400001 - thumb_func_end oamc_shadow - - thumb_func_start oei_grass_normal -oei_grass_normal: @ 80DB348 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080DB3E0 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DB3E4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x10] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB3D4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB3E8 @ =gSprites - adds r3, r0, r1 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r3, 0x2E] - ldr r0, [r5] - strh r0, [r3, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r3, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r3, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r3, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r3, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _080DB3D4 - adds r0, r3, 0 - movs r1, 0x4 - bl SeekSpriteAnim -_080DB3D4: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DB3E0: .4byte gFieldEffectArguments -_080DB3E4: .4byte gFieldEffectObjectTemplatePointers -_080DB3E8: .4byte gSprites - thumb_func_end oei_grass_normal - - thumb_func_start unc_grass_normal -unc_grass_normal: @ 80DB3EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r3, _080DB498 @ =gCamera - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DB438 - ldr r0, _080DB49C @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r4 - bne _080DB41E - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r7 - beq _080DB438 -_080DB41E: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_080DB438: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DB48C - adds r0, r6, 0 - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _080DB48C - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080DB4A0 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DB4A0 -_080DB48C: - adds r0, r5, 0 - movs r1, 0x4 - bl FieldEffectStop - b _080DB4E4 - .align 2, 0 -_080DB498: .4byte gCamera -_080DB49C: .4byte gSaveBlock1Ptr -_080DB4A0: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB4F0 @ =gObjectEvents - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _080DB4C0 - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _080DB4C0 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_080DB4C0: - movs r6, 0 - adds r0, r5, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - bne _080DB4CE - movs r6, 0x4 -_080DB4CE: - adds r0, r5, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_80DCD48 -_080DB4E4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB4F0: .4byte gObjectEvents - thumb_func_end unc_grass_normal - - thumb_func_start FldEff_JumpTallGrass -FldEff_JumpTallGrass: @ 80DB4F4 - push {r4,lr} - ldr r4, _080DB558 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8063BC4 - ldr r0, _080DB55C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x28] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DB550 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DB560 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xC - strh r0, [r2, 0x30] -_080DB550: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DB558: .4byte gFieldEffectArguments -_080DB55C: .4byte gFieldEffectObjectTemplatePointers -_080DB560: .4byte gSprites - thumb_func_end FldEff_JumpTallGrass - - thumb_func_start sub_80DB564 -sub_80DB564: @ 80DB564 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r5, 0 - ldr r0, _080DB5D4 @ =gSprites - mov r8, r0 - lsls r3, 16 - asrs r3, 16 - lsls r4, 16 - asrs r4, 16 -_080DB588: - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - mov r1, r8 - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _080DB5DC - ldr r1, [r2, 0x1C] - ldr r0, _080DB5D8 @ =unc_grass_normal - cmp r1, r0 - bne _080DB5DC - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r3, r0 - bne _080DB5DC - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r4, r0 - bne _080DB5DC - ldrh r1, [r2, 0x34] - lsls r0, r1, 16 - asrs r0, 24 - cmp r12, r0 - bne _080DB5DC - movs r0, 0xFF - ands r0, r1 - cmp r7, r0 - bne _080DB5DC - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r6, r0 - bne _080DB5DC - adds r0, r5, 0 - b _080DB5E8 - .align 2, 0 -_080DB5D4: .4byte gSprites -_080DB5D8: .4byte unc_grass_normal -_080DB5DC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3F - bls _080DB588 - movs r0, 0x40 -_080DB5E8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB564 - - thumb_func_start FldEff_LongGrass -FldEff_LongGrass: @ 80DB5F4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080DB690 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DB694 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x3C] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB684 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB698 @ =gSprites - adds r4, r0, r1 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, 0x8] - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldr r0, [r5] - strh r0, [r4, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r4, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r4, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r4, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _080DB684 - adds r0, r4, 0 - movs r1, 0x6 - bl SeekSpriteAnim -_080DB684: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DB690: .4byte gFieldEffectArguments -_080DB694: .4byte gFieldEffectObjectTemplatePointers -_080DB698: .4byte gSprites - thumb_func_end FldEff_LongGrass - - thumb_func_start unc_grass_tall -unc_grass_tall: @ 80DB69C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r7, r0, 8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _080DB748 @ =gCamera - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DB6E8 - ldr r0, _080DB74C @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r7 - bne _080DB6CE - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r6 - beq _080DB6E8 -_080DB6CE: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_080DB6E8: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DB73C - adds r0, r4, 0 - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080DB73C - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080DB750 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DB750 -_080DB73C: - adds r0, r5, 0 - movs r1, 0x11 - bl FieldEffectStop - b _080DB786 - .align 2, 0 -_080DB748: .4byte gCamera -_080DB74C: .4byte gSaveBlock1Ptr -_080DB750: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB794 @ =gObjectEvents - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _080DB770 - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _080DB770 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_080DB770: - adds r0, r5, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0 - bl sub_80DCD48 -_080DB786: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB794: .4byte gObjectEvents - thumb_func_end unc_grass_tall - - thumb_func_start FldEff_JumpLongGrass -FldEff_JumpLongGrass: @ 80DB798 - push {r4,lr} - ldr r4, _080DB7FC @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DB800 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x40] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DB7F4 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DB804 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x12 - strh r0, [r2, 0x30] -_080DB7F4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DB7FC: .4byte gFieldEffectArguments -_080DB800: .4byte gFieldEffectObjectTemplatePointers -_080DB804: .4byte gSprites - thumb_func_end FldEff_JumpLongGrass - - thumb_func_start sub_80DB808 -sub_80DB808: @ 80DB808 - push {r4-r6,lr} - ldr r6, _080DB89C @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DB8A0 @ =gObjectEvents - adds r5, r1, r0 - ldr r0, _080DB8A4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x78] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DB894 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _080DB8A8 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_080DB894: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080DB89C: .4byte gFieldEffectArguments -_080DB8A0: .4byte gObjectEvents -_080DB8A4: .4byte gFieldEffectObjectTemplatePointers -_080DB8A8: .4byte gSprites - thumb_func_end sub_80DB808 - - thumb_func_start sub_80DB8AC -sub_80DB8AC: @ 80DB8AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DB8EA - ldr r5, _080DB8F4 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - lsls r0, 29 - cmp r0, 0 - blt _080DB8F8 -_080DB8EA: - adds r0, r4, 0 - movs r1, 0x29 - bl FieldEffectStop - b _080DB98E - .align 2, 0 -_080DB8F4: .4byte gObjectEvents -_080DB8F8: - ldrb r0, [r1, 0x5] - bl GetObjectEventGraphicsInfo - mov r8, r0 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB99C @ =gSprites - adds r6, r0, r1 - ldrh r5, [r6, 0x22] - ldrh r7, [r6, 0x20] - movs r0, 0x20 - ldrsh r1, [r6, r0] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080DB934 - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _080DB94E -_080DB934: - strh r7, [r4, 0x34] - strh r5, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DB94E - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_080DB94E: - strh r7, [r4, 0x20] - strh r5, [r4, 0x22] - mov r1, r8 - ldrh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x8 - strh r0, [r4, 0x26] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r0, [r6, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r6, 0 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_8068EB4 -_080DB98E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB99C: .4byte gSprites - thumb_func_end sub_80DB8AC - - thumb_func_start FldEff_SandFootprints -FldEff_SandFootprints: @ 80DB9A0 - push {r4,lr} - ldr r4, _080DBA08 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBA0C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x2C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB9FE - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBA10 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0xD - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_080DB9FE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBA08: .4byte gFieldEffectArguments -_080DBA0C: .4byte gFieldEffectObjectTemplatePointers -_080DBA10: .4byte gSprites - thumb_func_end FldEff_SandFootprints - - thumb_func_start FldEff_DeepSandFootprints -FldEff_DeepSandFootprints: @ 80DBA14 - push {r4,r5,lr} - ldr r4, _080DBA7C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBA80 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x5C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _080DBA74 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBA84 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x18 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_080DBA74: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DBA7C: .4byte gFieldEffectArguments -_080DBA80: .4byte gFieldEffectObjectTemplatePointers -_080DBA84: .4byte gSprites - thumb_func_end FldEff_DeepSandFootprints - - thumb_func_start FldEff_BikeTireTracks -FldEff_BikeTireTracks: @ 80DBA88 - push {r4,r5,lr} - ldr r4, _080DBAF0 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBAF4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x6C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _080DBAE8 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBAF8 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x23 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_080DBAE8: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DBAF0: .4byte gFieldEffectArguments -_080DBAF4: .4byte gFieldEffectObjectTemplatePointers -_080DBAF8: .4byte gSprites - thumb_func_end FldEff_BikeTireTracks - - thumb_func_start sub_80DBAFC -sub_80DBAFC: @ 80DBAFC - push {lr} - ldr r2, _080DBB14 @ =gUnknown_83FECE0 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080DBB14: .4byte gUnknown_83FECE0 - thumb_func_end sub_80DBAFC - - thumb_func_start sub_80DBB18 -sub_80DBB18: @ 80DBB18 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080DBB2E - movs r0, 0x1 - strh r0, [r1, 0x2E] -_080DBB2E: - adds r0, r1, 0 - movs r1, 0 - bl sub_8068EB4 - pop {r0} - bx r0 - thumb_func_end sub_80DBB18 - - thumb_func_start sub_80DBB3C -sub_80DBB3C: @ 80DBB3C - push {r4,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - ldrb r1, [r3] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_8068EB4 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x38 - ble _080DBB80 - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop -_080DBB80: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DBB3C - - thumb_func_start FldEff_Splash -FldEff_Splash: @ 80DBB88 - push {r4-r6,lr} - ldr r6, _080DBC1C @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DBC20 @ =gObjectEvents - adds r5, r1, r0 - ldr r0, _080DBC24 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x40 - beq _080DBC12 - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - ldr r4, _080DBC28 @ =gSprites - adds r3, r4 - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - ldrb r2, [r5, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r4, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r2 - strb r1, [r3, 0x5] - ldr r1, [r6] - strh r1, [r3, 0x2E] - ldr r1, [r6, 0x4] - strh r1, [r3, 0x30] - ldr r1, [r6, 0x8] - strh r1, [r3, 0x32] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x4 - strh r0, [r3, 0x26] - movs r0, 0x3F - bl PlaySE -_080DBC12: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080DBC1C: .4byte gFieldEffectArguments -_080DBC20: .4byte gObjectEvents -_080DBC24: .4byte gFieldEffectObjectTemplatePointers -_080DBC28: .4byte gSprites - thumb_func_end FldEff_Splash - - thumb_func_start sub_80DBC2C -sub_80DBC2C: @ 80DBC2C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080DBC5C - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DBC66 -_080DBC5C: - adds r0, r4, 0 - movs r1, 0xF - bl FieldEffectStop - b _080DBCA6 -_080DBC66: - ldr r3, _080DBCB0 @ =gSprites - ldr r2, _080DBCB4 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x20] - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 -_080DBCA6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DBCB0: .4byte gSprites -_080DBCB4: .4byte gObjectEvents - thumb_func_end sub_80DBC2C - - thumb_func_start FldEff_JumpSmallSplash -FldEff_JumpSmallSplash: @ 80DBCB8 - push {r4,lr} - ldr r4, _080DBD1C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8063BC4 - ldr r0, _080DBD20 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x38] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBD14 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DBD24 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x10 - strh r0, [r2, 0x30] -_080DBD14: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBD1C: .4byte gFieldEffectArguments -_080DBD20: .4byte gFieldEffectObjectTemplatePointers -_080DBD24: .4byte gSprites - thumb_func_end FldEff_JumpSmallSplash - - thumb_func_start oei_water_drop_tall -oei_water_drop_tall: @ 80DBD28 - push {r4,lr} - ldr r4, _080DBD8C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBD90 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x30] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBD84 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DBD94 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xE - strh r0, [r2, 0x30] -_080DBD84: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBD8C: .4byte gFieldEffectArguments -_080DBD90: .4byte gFieldEffectObjectTemplatePointers -_080DBD94: .4byte gSprites - thumb_func_end oei_water_drop_tall - - thumb_func_start FldEff_FeetInFlowingWater -FldEff_FeetInFlowingWater: @ 80DBD98 - push {r4-r7,lr} - ldr r7, _080DBE38 @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DBE3C @ =gObjectEvents - adds r6, r1, r0 - ldr r0, _080DBE40 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080DBE2E - ldrb r0, [r6, 0x5] - bl GetObjectEventGraphicsInfo - adds r4, r0, 0 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r3, _080DBE44 @ =gSprites - adds r0, r3 - ldr r1, _080DBE48 @ =sub_80DBE50 - str r1, [r0, 0x1C] - adds r5, r0, 0 - adds r5, 0x3E - ldrb r1, [r5] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r5] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r7] - strh r1, [r0, 0x2E] - ldr r1, [r7, 0x4] - strh r1, [r0, 0x30] - ldr r1, [r7, 0x8] - strh r1, [r0, 0x32] - ldr r1, _080DBE4C @ =0x0000ffff - strh r1, [r0, 0x34] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x36] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - subs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0x1 - bl StartSpriteAnim -_080DBE2E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080DBE38: .4byte gFieldEffectArguments -_080DBE3C: .4byte gObjectEvents -_080DBE40: .4byte gFieldEffectObjectTemplatePointers -_080DBE44: .4byte gSprites -_080DBE48: .4byte sub_80DBE50 -_080DBE4C: .4byte 0x0000ffff - thumb_func_end FldEff_FeetInFlowingWater - - thumb_func_start sub_80DBE50 -sub_80DBE50: @ 80DBE50 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DBE8A - ldr r2, _080DBE94 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrb r0, [r5, 0x2] - lsls r0, 28 - cmp r0, 0 - blt _080DBE98 -_080DBE8A: - adds r0, r4, 0 - movs r1, 0x22 - bl FieldEffectStop - b _080DBEE2 - .align 2, 0 -_080DBE94: .4byte gObjectEvents -_080DBE98: - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBEEC @ =gSprites - adds r0, r1 - ldrh r1, [r0, 0x20] - strh r1, [r4, 0x20] - ldrh r1, [r0, 0x22] - strh r1, [r4, 0x22] - adds r0, 0x43 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 - ldr r1, [r5, 0x10] - ldr r0, [r4, 0x34] - cmp r1, r0 - beq _080DBEE2 - ldrh r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldrh r0, [r5, 0x12] - strh r0, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080DBEE2 - movs r0, 0x3F - bl PlaySE -_080DBEE2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DBEEC: .4byte gSprites - thumb_func_end sub_80DBE50 - - thumb_func_start oei_ripples -oei_ripples: @ 80DBEF0 - push {r4,lr} - ldr r0, _080DBF44 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x14] - ldr r4, _080DBF48 @ =gFieldEffectArguments - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBF3C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DBF4C @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x5 - strh r0, [r2, 0x2E] -_080DBF3C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBF44: .4byte gFieldEffectObjectTemplatePointers -_080DBF48: .4byte gFieldEffectArguments -_080DBF4C: .4byte gSprites - thumb_func_end oei_ripples - - thumb_func_start sub_80DBF50 -sub_80DBF50: @ 80DBF50 - push {r4-r6,lr} - ldr r6, _080DBFE4 @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DBFE8 @ =gObjectEvents - adds r5, r1, r0 - ldr r0, _080DBFEC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x7C] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBFDC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _080DBFF0 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_080DBFDC: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080DBFE4: .4byte gFieldEffectArguments -_080DBFE8: .4byte gObjectEvents -_080DBFEC: .4byte gFieldEffectObjectTemplatePointers -_080DBFF0: .4byte gSprites - thumb_func_end sub_80DBF50 - - thumb_func_start sub_80DBFF4 -sub_80DBFF4: @ 80DBFF4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DC02E - ldr r5, _080DC038 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - lsls r0, 26 - cmp r0, 0 - blt _080DC03C -_080DC02E: - adds r0, r4, 0 - movs r1, 0x2A - bl FieldEffectStop - b _080DC080 - .align 2, 0 -_080DC038: .4byte gObjectEvents -_080DC03C: - ldrb r0, [r1, 0x5] - bl GetObjectEventGraphicsInfo - mov r1, sp - ldrb r2, [r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _080DC088 @ =gSprites - adds r1, r2 - ldrh r2, [r1, 0x20] - strh r2, [r4, 0x20] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - ldrh r2, [r1, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r4, 0x22] - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 -_080DC080: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DC088: .4byte gSprites - thumb_func_end sub_80DBFF4 - - thumb_func_start FldEff_Unknown19 -FldEff_Unknown19: @ 80DC08C - push {r4,lr} - ldr r4, _080DC0EC @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC0F0 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x44] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC0E4 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC0F4 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x13 - strh r0, [r2, 0x2E] -_080DC0E4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC0EC: .4byte gFieldEffectArguments -_080DC0F0: .4byte gFieldEffectObjectTemplatePointers -_080DC0F4: .4byte gSprites - thumb_func_end FldEff_Unknown19 - - thumb_func_start FldEff_Unknown20 -FldEff_Unknown20: @ 80DC0F8 - push {r4,lr} - ldr r4, _080DC158 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC15C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x48] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC150 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC160 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x14 - strh r0, [r2, 0x2E] -_080DC150: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC158: .4byte gFieldEffectArguments -_080DC15C: .4byte gFieldEffectObjectTemplatePointers -_080DC160: .4byte gSprites - thumb_func_end FldEff_Unknown20 - - thumb_func_start FldEff_Unknown21 -FldEff_Unknown21: @ 80DC164 - push {r4,lr} - ldr r4, _080DC1C4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC1C8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x4C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC1BC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC1CC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x15 - strh r0, [r2, 0x2E] -_080DC1BC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC1C4: .4byte gFieldEffectArguments -_080DC1C8: .4byte gFieldEffectObjectTemplatePointers -_080DC1CC: .4byte gSprites - thumb_func_end FldEff_Unknown21 - - thumb_func_start FldEff_Unknown22 -FldEff_Unknown22: @ 80DC1D0 - push {r4,lr} - ldr r4, _080DC230 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC234 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x50] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC228 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC238 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x16 - strh r0, [r2, 0x2E] -_080DC228: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC230: .4byte gFieldEffectArguments -_080DC234: .4byte gFieldEffectObjectTemplatePointers -_080DC238: .4byte gSprites - thumb_func_end FldEff_Unknown22 - - thumb_func_start StartAshFieldEffect -StartAshFieldEffect: @ 80DC23C - push {r4,lr} - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080DC26C @ =gFieldEffectArguments - lsls r0, 16 - asrs r0, 16 - str r0, [r4] - lsls r1, 16 - asrs r1, 16 - str r1, [r4, 0x4] - movs r0, 0x52 - str r0, [r4, 0x8] - movs r0, 0x1 - str r0, [r4, 0xC] - str r2, [r4, 0x10] - lsls r3, 16 - asrs r3, 16 - str r3, [r4, 0x14] - movs r0, 0x7 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC26C: .4byte gFieldEffectArguments - thumb_func_end StartAshFieldEffect - - thumb_func_start oei_ash -oei_ash: @ 80DC270 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080DC2F0 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC2F4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x18] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - ldrb r3, [r5, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC2E6 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC2F8 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r5] - strh r0, [r2, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r2, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r2, 0x36] -_080DC2E6: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DC2F0: .4byte gFieldEffectArguments -_080DC2F4: .4byte gFieldEffectObjectTemplatePointers -_080DC2F8: .4byte gSprites - thumb_func_end oei_ash - - thumb_func_start sub_80DC2FC -sub_80DC2FC: @ 80DC2FC - push {lr} - ldr r2, _080DC314 @ =gUnknown_83FECE8 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080DC314: .4byte gUnknown_83FECE8 - thumb_func_end sub_80DC2FC - - thumb_func_start sub_80DC318 -sub_80DC318: @ 80DC318 - push {lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x36] - subs r0, 0x1 - strh r0, [r3, 0x36] - lsls r0, 16 - cmp r0, 0 - bne _080DC342 - movs r0, 0x1 - strh r0, [r3, 0x2E] -_080DC342: - pop {r0} - bx r0 - thumb_func_end sub_80DC318 - - thumb_func_start sub_80DC348 -sub_80DC348: @ 80DC348 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r4, 0x34] - bl MapGridSetMetatileIdAt - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - ldr r2, _080DC3A0 @ =gObjectEvents - ldr r0, _080DC3A4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x2 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC3A0: .4byte gObjectEvents -_080DC3A4: .4byte gPlayerAvatar - thumb_func_end sub_80DC348 - - thumb_func_start sub_80DC3A8 -sub_80DC3A8: @ 80DC3A8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8068EB4 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DC3C8 - adds r0, r4, 0 - movs r1, 0x7 - bl FieldEffectStop -_080DC3C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DC3A8 - - thumb_func_start sub_80DC3D0 -sub_80DC3D0: @ 80DC3D0 - push {r4,r5,lr} - ldr r4, _080DC43C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC440 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x1C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x96 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - cmp r0, 0x40 - beq _080DC42C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DC444 @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r4, 0x8] - movs r2, 0 - strh r0, [r1, 0x32] - strh r2, [r1, 0x34] - ldr r0, _080DC448 @ =0x0000ffff - strh r0, [r1, 0x3A] - movs r0, 0x1 - negs r0, r0 - strh r0, [r1, 0x3C] -_080DC42C: - movs r0, 0x8 - bl FieldEffectActiveListRemove - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DC43C: .4byte gFieldEffectArguments -_080DC440: .4byte gFieldEffectObjectTemplatePointers -_080DC444: .4byte gSprites -_080DC448: .4byte 0x0000ffff - thumb_func_end sub_80DC3D0 - - thumb_func_start sub_80DC44C -sub_80DC44C: @ 80DC44C - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080DC474 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrh r0, [r2, 0x2E] - movs r3, 0x10 - negs r3, r3 - ands r3, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 24 - orrs r0, r3 - strh r0, [r2, 0x2E] - bx lr - .align 2, 0 -_080DC474: .4byte gSprites - thumb_func_end sub_80DC44C - - thumb_func_start sub_80DC478 -sub_80DC478: @ 80DC478 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080DC4A0 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrh r0, [r2, 0x2E] - movs r3, 0xF1 - negs r3, r3 - ands r3, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 20 - orrs r3, r0 - strh r3, [r2, 0x2E] - bx lr - .align 2, 0 -_080DC4A0: .4byte gSprites - thumb_func_end sub_80DC478 - - thumb_func_start sub_80DC4A4 -sub_80DC4A4: @ 80DC4A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r4, _080DC4D0 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r4 - ldrh r0, [r3, 0x2E] - ldr r4, _080DC4D4 @ =0xfffff0ff - ands r4, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 16 - orrs r4, r0 - strh r4, [r3, 0x2E] - strh r2, [r3, 0x30] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC4D0: .4byte gSprites -_080DC4D4: .4byte 0xfffff0ff - thumb_func_end sub_80DC4A4 - - thumb_func_start sub_80DC4D8 -sub_80DC4D8: @ 80DC4D8 - ldrh r1, [r0, 0x2E] - movs r0, 0xF - ands r0, r1 - bx lr - thumb_func_end sub_80DC4D8 - - thumb_func_start sub_80DC4E0 -sub_80DC4E0: @ 80DC4E0 - ldrh r1, [r0, 0x2E] - movs r0, 0xF0 - ands r0, r1 - lsrs r0, 4 - bx lr - thumb_func_end sub_80DC4E0 - - thumb_func_start sub_80DC4EC -sub_80DC4EC: @ 80DC4EC - ldrh r1, [r0, 0x2E] - movs r0, 0xF0 - lsls r0, 4 - ands r0, r1 - lsrs r0, 8 - bx lr - thumb_func_end sub_80DC4EC - - thumb_func_start sub_80DC4F8 -sub_80DC4F8: @ 80DC4F8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080DC548 @ =gObjectEvents - adds r4, r0 - ldrb r0, [r4, 0x4] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, _080DC54C @ =gSprites - adds r5, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80DC550 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80DC588 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_80DC61C - ldrb r0, [r5, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r2, [r6, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DC548: .4byte gObjectEvents -_080DC54C: .4byte gSprites - thumb_func_end sub_80DC4F8 - - thumb_func_start sub_80DC550 -sub_80DC550: @ 80DC550 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _080DC584 @ =gUnknown_83FECF4 - mov r0, sp - movs r2, 0x5 - bl memcpy - adds r0, r4, 0 - bl sub_80DC4E0 - lsls r0, 24 - cmp r0, 0 - bne _080DC57C - ldrb r0, [r5, 0x18] - lsrs r0, 4 - add r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnimIfDifferent -_080DC57C: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DC584: .4byte gUnknown_83FECF4 - thumb_func_end sub_80DC550 - - thumb_func_start sub_80DC588 -sub_80DC588: @ 80DC588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r1, 0 - ldrh r2, [r0, 0x10] - mov r1, sp - strh r2, [r1] - ldrh r1, [r0, 0x12] - mov r0, sp - adds r0, 0x2 - strh r1, [r0] - movs r2, 0x26 - ldrsh r3, [r4, r2] - mov r8, r0 - cmp r3, 0 - bne _080DC610 - mov r0, sp - movs r5, 0 - ldrsh r2, [r0, r5] - movs r5, 0x3A - ldrsh r0, [r4, r5] - cmp r2, r0 - bne _080DC5C4 - lsls r0, r1, 16 - asrs r0, 16 - movs r5, 0x3C - ldrsh r1, [r4, r5] - cmp r0, r1 - beq _080DC610 -_080DC5C4: - strh r3, [r4, 0x38] - strh r2, [r4, 0x3A] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - strh r0, [r4, 0x3C] - movs r5, 0x1 - mov r7, r8 - mov r6, sp -_080DC5D6: - adds r0, r5, 0 - mov r1, sp - adds r2, r7, 0 - bl MoveCoords - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080DC5FC - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _080DC610 -_080DC5FC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x3A] - strh r0, [r6] - ldrh r0, [r4, 0x3C] - mov r1, r8 - strh r0, [r1] - cmp r5, 0x4 - bls _080DC5D6 -_080DC610: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DC588 - - thumb_func_start sub_80DC61C -sub_80DC61C: @ 80DC61C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r4, r2, 0 - ldr r1, _080DC680 @ =gUnknown_83FECFA - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - bl sub_80DC4D8 - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - cmp r2, 0 - beq _080DC6A6 - ldrh r1, [r4, 0x36] - adds r1, 0x1 - strh r1, [r4, 0x36] - movs r3, 0x38 - ldrsh r0, [r4, r3] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080DC65C - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] -_080DC65C: - ldrh r1, [r4, 0x36] - movs r0, 0x1F - ands r0, r1 - cmp r0, 0 - bne _080DC66C - ldrh r0, [r4, 0x34] - negs r0, r0 - strh r0, [r4, 0x34] -_080DC66C: - cmp r2, 0x2 - beq _080DC6A6 - adds r0, r4, 0 - bl sub_80DC4EC - lsls r0, 24 - cmp r0, 0 - bne _080DC684 - ldrh r0, [r4, 0x26] - b _080DC68A - .align 2, 0 -_080DC680: .4byte gUnknown_83FECFA -_080DC684: - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x30] - adds r0, r3 -_080DC68A: - strh r0, [r5, 0x26] - adds r0, r4, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - beq _080DC69C - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] -_080DC69C: - ldrh r0, [r5, 0x20] - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r4, 0x22] -_080DC6A6: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DC61C - - thumb_func_start sub_80DC6B0 -sub_80DC6B0: @ 80DC6B0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080DC6F4 @ =gDummySpriteTemplate - movs r1, 0 - movs r2, 0 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _080DC6F8 @ =gSprites - adds r2, r1 - ldr r1, _080DC6FC @ =sub_80DC700 - str r1, [r2, 0x1C] - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r1, [r1] - movs r3, 0x4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - strh r4, [r2, 0x2E] - movs r1, 0x1 - strh r1, [r2, 0x30] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC6F4: .4byte gDummySpriteTemplate -_080DC6F8: .4byte gSprites -_080DC6FC: .4byte sub_80DC700 - thumb_func_end sub_80DC6B0 - - thumb_func_start sub_80DC700 -sub_80DC700: @ 80DC700 - push {lr} - adds r2, r0, 0 - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DC73C @ =gSprites - adds r3, r0, r1 - ldrh r1, [r2, 0x32] - adds r0, r1, 0x1 - strh r0, [r2, 0x32] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080DC728 - ldrh r0, [r2, 0x30] - ldrh r1, [r3, 0x26] - adds r0, r1 - strh r0, [r3, 0x26] -_080DC728: - ldrh r1, [r2, 0x32] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _080DC738 - ldrh r0, [r2, 0x30] - negs r0, r0 - strh r0, [r2, 0x30] -_080DC738: - pop {r0} - bx r0 - .align 2, 0 -_080DC73C: .4byte gSprites - thumb_func_end sub_80DC700 - - thumb_func_start FldEff_Dust -FldEff_Dust: @ 80DC740 - push {r4,lr} - ldr r4, _080DC7A4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8063BC4 - ldr r0, _080DC7A8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x24] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC79C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC7AC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xA - strh r0, [r2, 0x30] -_080DC79C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC7A4: .4byte gFieldEffectArguments -_080DC7A8: .4byte gFieldEffectObjectTemplatePointers -_080DC7AC: .4byte gSprites - thumb_func_end FldEff_Dust - - thumb_func_start FldEff_SandPile -FldEff_SandPile: @ 80DC7B0 - push {r4-r7,lr} - ldr r7, _080DC85C @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DC860 @ =gObjectEvents - adds r6, r1, r0 - ldr r0, _080DC864 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x74] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x40 - beq _080DC854 - ldrb r0, [r6, 0x5] - bl GetObjectEventGraphicsInfo - adds r5, r0, 0 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r4, _080DC868 @ =gSprites - adds r0, r4 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r7] - strh r1, [r0, 0x2E] - ldr r1, [r7, 0x4] - strh r1, [r0, 0x30] - ldr r1, [r7, 0x8] - strh r1, [r0, 0x32] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x20] - strh r1, [r0, 0x34] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x36] - ldrh r1, [r5, 0xA] - lsls r1, 16 - asrs r1, 17 - subs r1, 0x2 - strh r1, [r0, 0x26] - movs r1, 0x2 - bl SeekSpriteAnim -_080DC854: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080DC85C: .4byte gFieldEffectArguments -_080DC860: .4byte gObjectEvents -_080DC864: .4byte gFieldEffectObjectTemplatePointers -_080DC868: .4byte gSprites - thumb_func_end FldEff_SandPile - - thumb_func_start sub_80DC86C -sub_80DC86C: @ 80DC86C - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DC8A6 - ldr r2, _080DC8B0 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1, 0x2] - lsls r0, 27 - cmp r0, 0 - blt _080DC8B4 -_080DC8A6: - adds r0, r4, 0 - movs r1, 0x27 - bl FieldEffectStop - b _080DC926 - .align 2, 0 -_080DC8B0: .4byte gObjectEvents -_080DC8B4: - ldr r2, _080DC930 @ =gSprites - ldrb r1, [r1, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r5, [r0, 0x22] - ldrh r6, [r0, 0x20] - movs r2, 0x20 - ldrsh r1, [r0, r2] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080DC8DC - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _080DC8F6 -_080DC8DC: - strh r6, [r4, 0x34] - strh r5, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DC8F6 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_080DC8F6: - strh r6, [r4, 0x20] - strh r5, [r4, 0x22] - ldr r3, _080DC930 @ =gSprites - ldr r2, _080DC934 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 -_080DC926: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DC930: .4byte gSprites -_080DC934: .4byte gObjectEvents - thumb_func_end sub_80DC86C - - thumb_func_start FldEff_Bubbles -FldEff_Bubbles: @ 80DC938 - push {r4,lr} - ldr r4, _080DC990 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0 - bl sub_8063BC4 - ldr r0, _080DC994 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x88 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC988 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DC998 @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x5] -_080DC988: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC990: .4byte gFieldEffectArguments -_080DC994: .4byte gFieldEffectObjectTemplatePointers -_080DC998: .4byte gSprites - thumb_func_end FldEff_Bubbles - - thumb_func_start sub_80DC99C -sub_80DC99C: @ 80DC99C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, r0 - strh r1, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r1, [r4, 0x3E] - ldr r0, _080DC9D8 @ =0x00001004 - ands r0, r1 - cmp r0, 0 - beq _080DC9D0 - adds r0, r4, 0 - movs r1, 0x35 - bl FieldEffectStop -_080DC9D0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC9D8: .4byte 0x00001004 - thumb_func_end sub_80DC99C - - thumb_func_start sub_80DC9DC -sub_80DC9DC: @ 80DC9DC - movs r0, 0 - bx lr - thumb_func_end sub_80DC9DC - - thumb_func_start ShowTreeDisguiseFieldEffect -ShowTreeDisguiseFieldEffect: @ 80DC9E0 - push {lr} - movs r0, 0x1C - movs r1, 0x18 - movs r2, 0x4 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end ShowTreeDisguiseFieldEffect - - thumb_func_start ShowMountainDisguiseFieldEffect -ShowMountainDisguiseFieldEffect: @ 80DC9F0 - push {lr} - movs r0, 0x1D - movs r1, 0x19 - movs r2, 0x3 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end ShowMountainDisguiseFieldEffect - - thumb_func_start ShowSandDisguiseFieldEffect -ShowSandDisguiseFieldEffect: @ 80DCA00 - push {lr} - movs r0, 0x24 - movs r1, 0x1C - movs r2, 0x2 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end ShowSandDisguiseFieldEffect - - thumb_func_start ShowDisguiseFieldEffect -ShowDisguiseFieldEffect: @ 80DCA10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - ldr r5, _080DCA44 @ =gFieldEffectArguments - ldrb r0, [r5] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x8] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DCA48 - adds r0, r4, 0 - bl FieldEffectActiveListRemove - movs r0, 0x40 - b _080DCAB4 - .align 2, 0 -_080DCA44: .4byte gFieldEffectArguments -_080DCA48: - ldr r1, _080DCAC0 @ =gFieldEffectObjectTemplatePointers - lsls r0, r6, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - mov r1, sp - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DCAB0 - mov r0, sp - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DCAC4 @ =gSprites - adds r2, r0 - movs r0, 0x3E - adds r0, r2 - mov r12, r0 - ldrb r3, [r0] - lsls r1, r3, 30 - lsrs r1, 31 - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - lsls r3, r7, 4 - ldrb r1, [r2, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x5] - mov r0, r8 - strh r0, [r2, 0x30] - ldr r0, [r5] - strh r0, [r2, 0x32] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x34] - ldr r0, [r5, 0x8] - strh r0, [r2, 0x36] -_080DCAB0: - mov r0, sp - ldrb r0, [r0] -_080DCAB4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080DCAC0: .4byte gFieldEffectObjectTemplatePointers -_080DCAC4: .4byte gSprites - thumb_func_end ShowDisguiseFieldEffect - - thumb_func_start sub_80DCAC8 -sub_80DCAC8: @ 80DCAC8 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5, 0x36] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DCAF8 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldEffectStop -_080DCAF8: - ldr r4, _080DCBB0 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - mov r1, sp - ldrb r2, [r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - ldr r1, _080DCBB4 @ =gSprites - adds r2, r1 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r1, [r1] - movs r3, 0x3E - adds r3, r5 - mov r12, r3 - movs r3, 0x4 - ands r3, r1 - mov r1, r12 - ldrb r4, [r1] - movs r1, 0x5 - negs r1, r1 - ands r1, r4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - ldrh r1, [r2, 0x20] - strh r1, [r5, 0x20] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - ldrh r1, [r2, 0x22] - adds r0, r1 - subs r0, 0x10 - strh r0, [r5, 0x22] - adds r2, 0x43 - ldrb r0, [r2] - subs r0, 0x1 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x1 - bne _080DCB78 - adds r0, r1, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080DCB78: - movs r3, 0x2E - ldrsh r0, [r5, r3] - ldrh r2, [r5, 0x2E] - cmp r0, 0x2 - bne _080DCB94 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCB94 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_080DCB94: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080DCBA8 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldEffectStop -_080DCBA8: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DCBB0: .4byte gObjectEvents -_080DCBB4: .4byte gSprites - thumb_func_end sub_80DCAC8 - - thumb_func_start sub_80DCBB8 -sub_80DCBB8: @ 80DCBB8 - push {lr} - adds r1, r0, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080DCBD6 - ldr r2, _080DCBDC @ =gSprites - ldrb r1, [r1, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] -_080DCBD6: - pop {r0} - bx r0 - .align 2, 0 -_080DCBDC: .4byte gSprites - thumb_func_end sub_80DCBB8 - - thumb_func_start sub_80DCBE0 -sub_80DCBE0: @ 80DCBE0 - push {lr} - adds r2, r0, 0 - adds r2, 0x21 - ldrb r1, [r2] - cmp r1, 0x2 - beq _080DCC16 - cmp r1, 0 - beq _080DCC16 - ldrb r1, [r0, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DCC08 @ =gSprites - adds r1, r0, r1 - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080DCC0C - movs r0, 0 - b _080DCC18 - .align 2, 0 -_080DCC08: .4byte gSprites -_080DCC0C: - movs r0, 0x2 - strb r0, [r2] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_080DCC16: - movs r0, 0x1 -_080DCC18: - pop {r1} - bx r1 - thumb_func_end sub_80DCBE0 - - thumb_func_start FldEff_Sparkle -FldEff_Sparkle: @ 80DCC1C - push {r4,lr} - ldr r4, _080DCC84 @ =gFieldEffectArguments - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - ldr r0, [r4, 0x4] - adds r0, 0x7 - str r0, [r4, 0x4] - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DCC88 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x8C - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080DCC7C - ldr r0, _080DCC8C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x3 - ldrb r2, [r4, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] -_080DCC7C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DCC84: .4byte gFieldEffectArguments -_080DCC88: .4byte gFieldEffectObjectTemplatePointers -_080DCC8C: .4byte gSprites - thumb_func_end FldEff_Sparkle - - thumb_func_start sub_80DCC90 -sub_80DCC90: @ 80DCC90 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080DCCC4 - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCCBC - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_080DCCBC: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080DCCDA -_080DCCC4: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x22 - ble _080DCCDA - adds r0, r2, 0 - movs r1, 0x36 - bl FieldEffectStop -_080DCCDA: - pop {r0} - bx r0 - thumb_func_end sub_80DCC90 - - thumb_func_start sub_80DCCE0 -sub_80DCCE0: @ 80DCCE0 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCCFE - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop - b _080DCD14 -_080DCCFE: - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0 - bl SetObjectSubpriorityByZCoord -_080DCD14: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DCCE0 - - thumb_func_start sub_80DCD1C -sub_80DCD1C: @ 80DCD1C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCD3A - ldrh r1, [r2, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl FieldEffectStop - b _080DCD42 -_080DCD3A: - adds r0, r2, 0 - movs r1, 0 - bl sub_8068EB4 -_080DCD42: - pop {r0} - bx r0 - thumb_func_end sub_80DCD1C - - thumb_func_start sub_80DCD48 -sub_80DCD48: @ 80DCD48 - push {r4-r7,lr} - adds r6, r0, 0 - adds r0, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r1, r6, 0 - bl SetObjectSubpriorityByZCoord - movs r7, 0 -_080DCD5E: - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 2 - ldr r1, _080DCDF8 @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r4] - lsls r0, 31 - cmp r0, 0 - beq _080DCE00 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DCDFC @ =gSprites - adds r5, r0, r1 - adds r0, r6, 0 - adds r0, 0x28 - movs r2, 0 - ldrsb r2, [r0, r2] - ldrh r0, [r6, 0x20] - adds r1, r0, r2 - subs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x20 - ldrsh r2, [r5, r0] - cmp r1, r2 - bge _080DCE00 - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r2 - ble _080DCE00 - adds r0, r5, 0 - adds r0, 0x29 - movs r3, 0 - ldrsb r3, [r0, r3] - ldrh r2, [r5, 0x22] - adds r2, r3 - ldrh r4, [r5, 0x22] - adds r0, r6, 0 - adds r0, 0x29 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r6, 0x22] - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - adds r3, r0, r3 - lsls r2, 16 - asrs r2, 16 - lsls r3, 16 - asrs r3, 16 - cmp r2, r3 - blt _080DCDD8 - cmp r2, r0 - bge _080DCE00 -_080DCDD8: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - ble _080DCE00 - adds r2, r6, 0 - adds r2, 0x43 - adds r0, r5, 0 - adds r0, 0x43 - ldrb r1, [r0] - ldrb r0, [r2] - cmp r0, r1 - bhi _080DCE00 - adds r0, r1, 0x2 - strb r0, [r2] - b _080DCE0A - .align 2, 0 -_080DCDF8: .4byte gObjectEvents -_080DCDFC: .4byte gSprites -_080DCE00: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bls _080DCD5E -_080DCE0A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DCD48 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s deleted file mode 100644 index b9f0c842d..000000000 --- a/asm/field_ground_effect.s +++ /dev/null @@ -1,1894 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetAllGroundEffectFlags_OnSpawn -GetAllGroundEffectFlags_OnSpawn: @ 8067B34 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnSpawn - - thumb_func_start GetAllGroundEffectFlags_OnBeginStep -GetAllGroundEffectFlags_OnBeginStep: @ 8067B7C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Tracks - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnBeginStep - - thumb_func_start GetAllGroundEffectFlags_OnFinishStep -GetAllGroundEffectFlags_OnFinishStep: @ 8067BD4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Ripple - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Seaweed - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_JumpLanding - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnFinishStep - - thumb_func_start ObjectEventUpdateMetatileBehaviors -ObjectEventUpdateMetatileBehaviors: @ 8067C24 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1F] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateMetatileBehaviors - - thumb_func_start GetGroundEffectFlags_Reflection -GetGroundEffectFlags_Reflection: @ 8067C4C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _08067C90 @ =gUnknown_83A7024 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - adds r0, r4, 0 - bl sub_8067F88 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08067C94 - ldrb r1, [r4, 0x2] - lsls r0, r1, 30 - cmp r0, 0 - blt _08067C9E - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x2] - subs r0, r2, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r5] - ldr r0, [r0] - orrs r1, r0 - str r1, [r5] - b _08067C9E - .align 2, 0 -_08067C90: .4byte gUnknown_83A7024 -_08067C94: - ldrb r1, [r4, 0x2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067C9E: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Reflection - - thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn -GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _08067CC0 - ldr r0, [r4] - movs r1, 0x1 - orrs r0, r1 - str r0, [r4] -_08067CC0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep -GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _08067CE0 - ldr r0, [r4] - movs r1, 0x2 - orrs r0, r1 - str r0, [r4] -_08067CE0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn -GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08067D00 - ldr r0, [r4] - movs r1, 0x4 - orrs r0, r1 - str r0, [r4] -_08067D00: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep -GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08067D20 - ldr r0, [r4] - movs r1, 0x8 - orrs r0, r1 - str r0, [r4] -_08067D20: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_Tracks -GetGroundEffectFlags_Tracks: @ 8067D28 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067D42 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 1 - b _08067D5E -_08067D42: - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsMB21OrSand - lsls r0, 24 - cmp r0, 0 - bne _08067D5A - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_5 - lsls r0, 24 - cmp r0, 0 - beq _08067D62 -_08067D5A: - ldr r0, [r5] - movs r1, 0x80 -_08067D5E: - orrs r0, r1 - str r0, [r5] -_08067D62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Tracks - - thumb_func_start GetGroundEffectFlags_SandHeap -GetGroundEffectFlags_SandHeap: @ 8067D68 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067DA6 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067DA6 - ldrb r1, [r4, 0x2] - lsls r0, r1, 27 - cmp r0, 0 - blt _08067DB0 - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 4 - orrs r0, r1 - str r0, [r5] - b _08067DB0 -_08067DA6: - ldrb r1, [r4, 0x2] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067DB0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_SandHeap - - thumb_func_start GetGroundEffectFlags_ShallowFlowingWater -GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsWaterfallBottom - lsls r0, 24 - cmp r0, 0 - beq _08067DD6 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsWaterfallBottom - lsls r0, 24 - cmp r0, 0 - bne _08067DEE -_08067DD6: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse_10 - lsls r0, 24 - cmp r0, 0 - beq _08067E0C - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_10 - lsls r0, 24 - cmp r0, 0 - beq _08067E0C -_08067DEE: - ldrb r1, [r4, 0x2] - lsls r0, r1, 28 - cmp r0, 0 - blt _08067E16 - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x40 - orrs r0, r1 - str r0, [r5] - b _08067E16 -_08067E0C: - ldrb r1, [r4, 0x2] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067E16: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShallowFlowingWater - - thumb_func_start GetGroundEffectFlags_Puddle -GetGroundEffectFlags_Puddle: @ 8067E1C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E44 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E44 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r5] -_08067E44: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Puddle - - thumb_func_start GetGroundEffectFlags_Ripple -GetGroundEffectFlags_Ripple: @ 8067E4C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsPondWaterOrPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E66 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r4] -_08067E66: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Ripple - - thumb_func_start GetGroundEffectFlags_ShortGrass -GetGroundEffectFlags_ShortGrass: @ 8067E6C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse_8 - lsls r0, 24 - cmp r0, 0 - beq _08067EAA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_8 - lsls r0, 24 - cmp r0, 0 - beq _08067EAA - ldrb r1, [r4, 0x2] - lsls r0, r1, 29 - cmp r0, 0 - blt _08067EB4 - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [r5] - b _08067EB4 -_08067EAA: - ldrb r1, [r4, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067EB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShortGrass - - thumb_func_start GetGroundEffectFlags_HotSprings -GetGroundEffectFlags_HotSprings: @ 8067EBC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _08067EFA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _08067EFA - ldrb r1, [r4, 0x2] - lsls r0, r1, 26 - cmp r0, 0 - blt _08067F04 - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r5] - b _08067F04 -_08067EFA: - ldrb r1, [r4, 0x2] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067F04: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_HotSprings - - thumb_func_start GetGroundEffectFlags_Seaweed -GetGroundEffectFlags_Seaweed: @ 8067F0C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsMB22 - lsls r0, 24 - cmp r0, 0 - beq _08067F26 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r4] -_08067F26: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Seaweed - - thumb_func_start GetGroundEffectFlags_JumpLanding -GetGroundEffectFlags_JumpLanding: @ 8067F2C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r6, r1, 0 - ldr r0, [r7] - ldr r1, _08067F68 @ =0x02000020 - ands r0, r1 - cmp r0, 0x20 - bne _08067F7E - movs r5, 0 - ldr r0, _08067F6C @ =gUnknown_83A702C - mov r8, r0 -_08067F46: - lsls r4, r5, 2 - mov r0, r8 - adds r1, r4, r0 - ldrb r0, [r7, 0x1E] - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _08067F74 - ldr r0, _08067F70 @ =gUnknown_83A7044 - adds r0, r4, r0 - ldr r1, [r6] - ldr r0, [r0] - orrs r1, r0 - str r1, [r6] - b _08067F7E - .align 2, 0 -_08067F68: .4byte 0x02000020 -_08067F6C: .4byte gUnknown_83A702C -_08067F70: .4byte gUnknown_83A7044 -_08067F74: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08067F46 -_08067F7E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_JumpLanding - - thumb_func_start sub_8067F88 -sub_8067F88: @ 8067F88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - movs r4, 0 - movs r0, 0x1 - mov r10, r0 -_08067FA0: - movs r1, 0x10 - ldrsh r0, [r5, r1] - ldrh r1, [r5, 0x12] - add r1, r10 - lsls r4, 16 - asrs r6, r4, 16 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - mov r9, r4 - cmp r0, 0 - bne _080680BA - movs r3, 0x14 - ldrsh r0, [r5, r3] - ldrh r1, [r5, 0x16] - add r1, r10 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - movs r2, 0x1 - lsls r0, r2, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r2, r1 - bge _080680A8 - movs r0, 0x80 - lsls r0, 9 - asrs r7, r0, 16 -_08067FFC: - ldrh r0, [r5, 0x10] - lsls r1, r2, 16 - asrs r4, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x12] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x10] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x12] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x14] - adds r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x16] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x14] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x16] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - mov r3, r8 - asrs r1, r3, 16 - cmp r0, r1 - blt _08067FFC -_080680A8: - movs r0, 0x80 - lsls r0, 9 - add r0, r9 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bge _080680B8 - b _08067FA0 -_080680B8: - movs r0, 0 -_080680BA: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8067F88 - - thumb_func_start GetReflectionTypeByMetatileBehavior -GetReflectionTypeByMetatileBehavior: @ 80680C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsIce - lsls r0, 24 - cmp r0, 0 - beq _080680DE - movs r0, 0x1 - b _080680F0 -_080680DE: - adds r0, r4, 0 - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _080680EE - movs r0, 0 - b _080680F0 -_080680EE: - movs r0, 0x2 -_080680F0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetReflectionTypeByMetatileBehavior - - thumb_func_start GetLedgeJumpDirection -GetLedgeJumpDirection: @ 80680F8 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r4, 0 - beq _0806813E - cmp r4, 0x4 - bls _08068114 - subs r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 -_08068114: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08068144 @ =gUnknown_83A705C - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068148 -_0806813E: - movs r0, 0 - b _0806814E - .align 2, 0 -_08068144: .4byte gUnknown_83A705C -_08068148: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 -_0806814E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLedgeJumpDirection - - thumb_func_start ObjectEventSetSpriteOamTableForLongGrass -ObjectEventSetSpriteOamTableForLongGrass: @ 8068154 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5] - lsls r0, 27 - cmp r0, 0 - blt _080681A8 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080681A8 - ldrb r0, [r5, 0x1F] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080681A8 - adds r4, 0x42 - ldrb r1, [r4] - movs r6, 0x40 - negs r6, r6 - adds r0, r6, 0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080681A8 - ldrb r0, [r4] - adds r1, r6, 0 - ands r1, r0 - movs r0, 0x5 - orrs r1, r0 - strb r1, [r4] -_080681A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ObjectEventSetSpriteOamTableForLongGrass - - thumb_func_start IsZCoordMismatchAt -IsZCoordMismatchAt: @ 80681B0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsrs r1, r2, 16 - cmp r4, 0 - beq _080681DE - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080681DE - cmp r0, 0xF - beq _080681DE - cmp r0, r4 - bne _080681E2 -_080681DE: - movs r0, 0 - b _080681E4 -_080681E2: - movs r0, 0x1 -_080681E4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsZCoordMismatchAt - - thumb_func_start ObjectEventUpdateZCoordAndPriority -ObjectEventUpdateZCoordAndPriority: @ 80681EC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _0806823A - adds r0, r4, 0 - bl ObjectEventUpdateZCoord - ldr r1, _08068240 @ =gUnknown_83A708C - ldrb r2, [r4, 0xB] - lsls r2, 24 - lsrs r0, r2, 28 - adds r0, r1 - ldrb r0, [r0] - adds r4, r5, 0 - adds r4, 0x42 - movs r1, 0x3F - ands r1, r0 - ldrb r3, [r4] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - ldr r0, _08068244 @ =gUnknown_83A707C - lsrs r2, 28 - adds r2, r0 - movs r0, 0x3 - ldrb r1, [r2] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] -_0806823A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068240: .4byte gUnknown_83A708C -_08068244: .4byte gUnknown_83A707C - thumb_func_end ObjectEventUpdateZCoordAndPriority - - thumb_func_start InitObjectPriorityByZCoord -InitObjectPriorityByZCoord: @ 8068248 - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0806828C @ =gUnknown_83A708C - adds r2, r1, r2 - ldrb r2, [r2] - movs r3, 0x42 - adds r3, r0 - mov r12, r3 - movs r3, 0x3F - ands r3, r2 - mov r2, r12 - ldrb r4, [r2] - movs r2, 0x40 - negs r2, r2 - ands r2, r4 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - ldr r2, _08068290 @ =gUnknown_83A707C - adds r1, r2 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806828C: .4byte gUnknown_83A708C -_08068290: .4byte gUnknown_83A707C - thumb_func_end InitObjectPriorityByZCoord - - thumb_func_start ZCoordToPriority -ZCoordToPriority: @ 8068294 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080682A0 @ =gUnknown_83A707C - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080682A0: .4byte gUnknown_83A707C - thumb_func_end ZCoordToPriority - - thumb_func_start ObjectEventUpdateZCoord -ObjectEventUpdateZCoord: @ 80682A4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r5, 0xF - beq _080682F2 - cmp r0, 0xF - beq _080682F2 - movs r3, 0xF - adds r0, r5, 0 - ands r0, r3 - ldrb r1, [r4, 0xB] - movs r2, 0x10 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0xB] - cmp r5, 0 - beq _080682F2 - cmp r5, 0xF - beq _080682F2 - lsls r0, r5, 4 - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0xB] -_080682F2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateZCoord - - thumb_func_start SetObjectSubpriorityByZCoord -SetObjectSubpriorityByZCoord: @ 80682F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0 - adds r3, 0x29 - movs r5, 0 - ldrsb r5, [r3, r5] - ldrh r4, [r1, 0x22] - ldr r3, _08068338 @ =gSpriteCoordOffsetY - subs r4, r5 - ldrh r3, [r3] - adds r4, r3 - adds r4, 0x8 - movs r3, 0xFF - ands r4, r3 - lsrs r4, 4 - movs r3, 0x10 - subs r3, r4 - lsls r3, 17 - ldr r4, _0806833C @ =gUnknown_83A706C - adds r0, r4 - lsrs r3, 16 - ldrb r0, [r0] - adds r3, r0 - adds r2, r3 - adds r1, 0x43 - strb r2, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068338: .4byte gSpriteCoordOffsetY -_0806833C: .4byte gUnknown_83A706C - thumb_func_end SetObjectSubpriorityByZCoord - - thumb_func_start ObjectEventUpdateSubpriority -ObjectEventUpdateSubpriority: @ 8068340 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _08068356 - ldrb r0, [r2, 0xB] - lsrs r0, 4 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord -_08068356: - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateSubpriority - - thumb_func_start AreZCoordsCompatible -AreZCoordsCompatible: @ 806835C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r0, 0 - beq _08068372 - cmp r1, 0 - beq _08068372 - cmp r0, r1 - bne _08068376 -_08068372: - movs r0, 0x1 - b _08068378 -_08068376: - movs r0, 0 -_08068378: - pop {r1} - bx r1 - thumb_func_end AreZCoordsCompatible - - thumb_func_start GroundEffect_SpawnOnTallGrass -GroundEffect_SpawnOnTallGrass: @ 806837C - push {lr} - ldr r3, _080683C0 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _080683C4 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_080683C0: .4byte gFieldEffectArguments -_080683C4: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_SpawnOnTallGrass - - thumb_func_start GroundEffect_StepOnTallGrass -GroundEffect_StepOnTallGrass: @ 80683C8 - push {lr} - ldr r3, _0806840C @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _08068410 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_0806840C: .4byte gFieldEffectArguments -_08068410: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_StepOnTallGrass - - thumb_func_start GroundEffect_SpawnOnLongGrass -GroundEffect_SpawnOnLongGrass: @ 8068414 - push {lr} - ldr r3, _08068458 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _0806845C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068458: .4byte gFieldEffectArguments -_0806845C: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_SpawnOnLongGrass - - thumb_func_start GroundEffect_StepOnLongGrass -GroundEffect_StepOnLongGrass: @ 8068460 - push {lr} - ldr r3, _080684A4 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _080684A8 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_080684A4: .4byte gFieldEffectArguments -_080684A8: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_StepOnLongGrass - - thumb_func_start GroundEffect_WaterReflection -GroundEffect_WaterReflection: @ 80684AC - push {lr} - movs r2, 0 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_WaterReflection - - thumb_func_start GroundEffect_IceReflection -GroundEffect_IceReflection: @ 80684B8 - push {lr} - movs r2, 0x1 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_IceReflection - - thumb_func_start GroundEffect_FlowingWater -GroundEffect_FlowingWater: @ 80684C4 - push {lr} - adds r1, r0, 0 - movs r0, 0x22 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_FlowingWater - - thumb_func_start GroundEffect_SandTracks -GroundEffect_SandTracks: @ 80684D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldr r1, _080684FC @ =gUnknown_83A709C - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080684FC: .4byte gUnknown_83A709C - thumb_func_end GroundEffect_SandTracks - - thumb_func_start GroundEffect_DeepSandTracks -GroundEffect_DeepSandTracks: @ 8068500 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldr r1, _08068528 @ =gUnknown_83A709C - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068528: .4byte gUnknown_83A709C - thumb_func_end GroundEffect_DeepSandTracks - - thumb_func_start nullsub_26 -nullsub_26: @ 806852C - bx lr - thumb_func_end nullsub_26 - - thumb_func_start DoTracksGroundEffect_Footprints -DoTracksGroundEffect_Footprints: @ 8068530 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r4, r2, 24 - lsrs r4, 24 - ldr r1, _08068578 @ =gUnknown_83A70A8 - mov r0, sp - movs r2, 0x4 - bl memcpy - ldr r1, _0806857C @ =gFieldEffectArguments - movs r2, 0x14 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r2, 0x16 - ldrsh r0, [r5, r2] - str r0, [r1, 0x4] - movs r0, 0x95 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - str r0, [r1, 0x10] - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl FieldEffectStart - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068578: .4byte gUnknown_83A70A8 -_0806857C: .4byte gFieldEffectArguments - thumb_func_end DoTracksGroundEffect_Footprints - - thumb_func_start DoTracksGroundEffect_BikeTireTracks -DoTracksGroundEffect_BikeTireTracks: @ 8068580 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x10] - ldr r0, [r4, 0x14] - cmp r1, r0 - beq _080685C2 - ldr r2, _080685C8 @ =gFieldEffectArguments - movs r1, 0x14 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x16 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - movs r0, 0x95 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - ldr r3, _080685CC @ =gUnknown_83A70AC - ldrb r1, [r4, 0x18] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 2 - subs r0, 0x5 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - str r0, [r2, 0x10] - movs r0, 0x23 - bl FieldEffectStart -_080685C2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080685C8: .4byte gFieldEffectArguments -_080685CC: .4byte gUnknown_83A70AC - thumb_func_end DoTracksGroundEffect_BikeTireTracks - - thumb_func_start GroundEffect_Ripple -GroundEffect_Ripple: @ 80685D0 - push {lr} - bl DoRippleFieldEffect - pop {r0} - bx r0 - thumb_func_end GroundEffect_Ripple - - thumb_func_start GroundEffect_StepOnPuddle -GroundEffect_StepOnPuddle: @ 80685DC - push {lr} - adds r1, r0, 0 - movs r0, 0xF - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_StepOnPuddle - - thumb_func_start GroundEffect_SandHeap -GroundEffect_SandHeap: @ 80685EC - push {lr} - adds r1, r0, 0 - movs r0, 0x27 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_SandHeap - - thumb_func_start GroundEffect_JumpOnTallGrass -GroundEffect_JumpOnTallGrass: @ 80685FC - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _08068650 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r4, 0x12 - ldrsh r0, [r5, r4] - str r0, [r1, 0x4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - movs r0, 0xC - bl FieldEffectStart - ldrb r0, [r5, 0x8] - ldrb r1, [r5, 0x9] - ldrb r2, [r5, 0xA] - movs r7, 0x10 - ldrsh r3, [r5, r7] - movs r7, 0x12 - ldrsh r4, [r5, r7] - str r4, [sp] - bl sub_80DB564 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - bne _08068646 - adds r0, r5, 0 - adds r1, r6, 0 - bl GroundEffect_SpawnOnTallGrass -_08068646: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068650: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnTallGrass - - thumb_func_start GroundEffect_JumpOnLongGrass -GroundEffect_JumpOnLongGrass: @ 8068654 - push {lr} - ldr r2, _08068678 @ =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r3, 0x12 - ldrsh r1, [r0, r3] - str r1, [r2, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x12 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068678: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnLongGrass - - thumb_func_start GroundEffect_JumpOnShallowWater -GroundEffect_JumpOnShallowWater: @ 806867C - push {r4,lr} - ldr r3, _080686A8 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0x10 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080686A8: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnShallowWater - - thumb_func_start GroundEffect_JumpOnWater -GroundEffect_JumpOnWater: @ 80686AC - push {r4,lr} - ldr r3, _080686D8 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xE - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080686D8: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnWater - - thumb_func_start GroundEffect_JumpLandingDust -GroundEffect_JumpLandingDust: @ 80686DC - push {r4,lr} - ldr r3, _08068708 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xA - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08068708: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpLandingDust - - thumb_func_start GroundEffect_ShortGrass -GroundEffect_ShortGrass: @ 806870C - push {lr} - adds r1, r0, 0 - movs r0, 0x29 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_ShortGrass - - thumb_func_start GroundEffect_HotSprings -GroundEffect_HotSprings: @ 806871C - push {lr} - adds r1, r0, 0 - movs r0, 0x2A - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_HotSprings - - thumb_func_start GroundEffect_Seaweed -GroundEffect_Seaweed: @ 806872C - push {lr} - ldr r2, _08068748 @ =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r1, 0x12 - ldrsh r0, [r0, r1] - str r0, [r2, 0x4] - movs r0, 0x35 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068748: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_Seaweed - - thumb_func_start DoFlaggedGroundEffects -DoFlaggedGroundEffects: @ 806874C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r1, 0 - adds r5, r2, 0 - ldrb r0, [r6, 0x8] - cmp r0, 0x7F - bne _08068766 - ldrb r0, [r6, 0x1] - lsls r0, 26 - cmp r0, 0 - blt _0806878E -_08068766: - movs r4, 0 - ldr r0, _08068798 @ =gUnknown_83A70BC - mov r8, r0 -_0806876C: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08068782 - lsls r0, r4, 2 - add r0, r8 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r2 -_08068782: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsrs r5, 1 - cmp r4, 0x13 - bls _0806876C -_0806878E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068798: .4byte gUnknown_83A70BC - thumb_func_end DoFlaggedGroundEffects - - thumb_func_start filters_out_some_ground_effects -filters_out_some_ground_effects: @ 806879C - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r0, [r2] - lsls r0, 27 - cmp r0, 0 - bge _080687CA - ldrb r1, [r2, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - adds r1, 0x8 - ands r0, r1 - subs r1, 0x18 - ands r0, r1 - strb r0, [r2, 0x2] - ldr r0, [r3] - ldr r1, _080687D0 @ =0xfff9f7bd - ands r0, r1 - str r0, [r3] -_080687CA: - pop {r0} - bx r0 - .align 2, 0 -_080687D0: .4byte 0xfff9f7bd - thumb_func_end filters_out_some_ground_effects - - thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping -FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4 - push {lr} - adds r2, r1, 0 - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080687E8 - ldr r0, [r2] - ldr r1, _080687EC @ =0xfffffbff - ands r0, r1 - str r0, [r2] -_080687E8: - pop {r0} - bx r0 - .align 2, 0 -_080687EC: .4byte 0xfffffbff - thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping - - thumb_func_start DoGroundEffects_OnSpawn -DoGroundEffects_OnSpawn: @ 80687F0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _08068834 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_08068834: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnSpawn - - thumb_func_start DoGroundEffects_OnBeginStep -DoGroundEffects_OnBeginStep: @ 806883C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _08068888 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl filters_out_some_ground_effects - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_08068888: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnBeginStep - - thumb_func_start DoGroundEffects_OnFinishStep -DoGroundEffects_OnFinishStep: @ 8068890 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 28 - cmp r0, 0 - bge _080688DC - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnFinishStep - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl FilterOutStepOnPuddleGroundEffectIfJumping - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_080688DC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnFinishStep - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_message_box.s b/asm/field_message_box.s deleted file mode 100644 index b823956b7..000000000 --- a/asm/field_message_box.s +++ /dev/null @@ -1,306 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8069348 -sub_8069348: @ 8069348 - ldr r1, _08069368 @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - ldr r2, _0806936C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - subs r1, 0x2 - ands r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 -_08069368: .4byte gUnknown_203709C -_0806936C: .4byte gTextFlags - thumb_func_end sub_8069348 - - thumb_func_start sub_8069370 -sub_8069370: @ 8069370 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08069394 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080693DA - cmp r0, 0x1 - bgt _08069398 - cmp r0, 0 - beq _0806939E - b _08069402 - .align 2, 0 -_08069394: .4byte gTasks -_08069398: - cmp r0, 0x2 - beq _080693EA - b _08069402 -_0806939E: - ldr r0, _080693BC @ =gQuestLogState - ldrb r0, [r0] - cmp r0, 0x2 - bne _080693C4 - ldr r2, _080693C0 @ =gTextFlags - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl TextWindow_LoadTilesStdFrame1 - b _080693E2 - .align 2, 0 -_080693BC: .4byte gQuestLogState -_080693C0: .4byte gTextFlags -_080693C4: - bl IsMsgSignPost - lsls r0, 24 - cmp r0, 0 - bne _080693D4 - bl LoadStdWindowFrameGfx - b _080693E2 -_080693D4: - bl sub_80F79A4 - b _080693E2 -_080693DA: - movs r0, 0 - movs r1, 0x1 - bl DrawDialogueFrame -_080693E2: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _08069402 -_080693EA: - bl RunTextPrinters_CheckPrinter0Active - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _08069402 - ldr r1, _08069408 @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_08069402: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069408: .4byte gUnknown_203709C - thumb_func_end sub_8069370 - - thumb_func_start task_add_textbox -task_add_textbox: @ 806940C - push {lr} - ldr r0, _0806941C @ =sub_8069370 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0806941C: .4byte sub_8069370 - thumb_func_end task_add_textbox - - thumb_func_start task_del_textbox -task_del_textbox: @ 8069420 - push {lr} - ldr r0, _08069438 @ =sub_8069370 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08069434 - bl DestroyTask -_08069434: - pop {r0} - bx r0 - .align 2, 0 -_08069438: .4byte sub_8069370 - thumb_func_end task_del_textbox - - thumb_func_start ShowFieldMessage -ShowFieldMessage: @ 806943C - push {r4,lr} - adds r1, r0, 0 - ldr r4, _08069458 @ =gUnknown_203709C - ldrb r0, [r4] - cmp r0, 0 - bne _0806945C - adds r0, r1, 0 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x2 - strb r0, [r4] - movs r0, 0x1 - b _0806945E - .align 2, 0 -_08069458: .4byte gUnknown_203709C -_0806945C: - movs r0, 0 -_0806945E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ShowFieldMessage - - thumb_func_start ShowFieldAutoScrollMessage -ShowFieldAutoScrollMessage: @ 8069464 - push {lr} - adds r1, r0, 0 - ldr r2, _08069480 @ =gUnknown_203709C - ldrb r0, [r2] - cmp r0, 0 - bne _08069484 - movs r0, 0x3 - strb r0, [r2] - adds r0, r1, 0 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - b _08069486 - .align 2, 0 -_08069480: .4byte gUnknown_203709C -_08069484: - movs r0, 0 -_08069486: - pop {r1} - bx r1 - thumb_func_end ShowFieldAutoScrollMessage - - thumb_func_start sub_806948C -sub_806948C: @ 806948C - push {lr} - ldr r2, _080694A0 @ =gUnknown_203709C - movs r1, 0x3 - strb r1, [r2] - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080694A0: .4byte gUnknown_203709C - thumb_func_end sub_806948C - - thumb_func_start sub_80694A4 -sub_80694A4: @ 80694A4 - push {lr} - ldr r1, _080694BC @ =gUnknown_203709C - ldrb r0, [r1] - cmp r0, 0 - bne _080694C0 - movs r0, 0x2 - strb r0, [r1] - bl textbox_auto_and_task_add - movs r0, 0x1 - b _080694C2 - .align 2, 0 -_080694BC: .4byte gUnknown_203709C -_080694C0: - movs r0, 0 -_080694C2: - pop {r1} - bx r1 - thumb_func_end sub_80694A4 - - thumb_func_start textbox_fdecode_auto_and_task_add -textbox_fdecode_auto_and_task_add: @ 80694C8 - push {lr} - adds r1, r0, 0 - ldr r0, _080694E0 @ =gStringVar4 - bl StringExpandPlaceholders - movs r0, 0x1 - bl AddTextPrinterDiffStyle - bl task_add_textbox - pop {r0} - bx r0 - .align 2, 0 -_080694E0: .4byte gStringVar4 - thumb_func_end textbox_fdecode_auto_and_task_add - - thumb_func_start textbox_auto_and_task_add -textbox_auto_and_task_add: @ 80694E4 - push {lr} - movs r0, 0x1 - bl AddTextPrinterDiffStyle - bl task_add_textbox - pop {r0} - bx r0 - thumb_func_end textbox_auto_and_task_add - - thumb_func_start HideFieldMessageBox -HideFieldMessageBox: @ 80694F4 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - ldr r1, _0806950C @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0806950C: .4byte gUnknown_203709C - thumb_func_end HideFieldMessageBox - - thumb_func_start textbox_any_visible -textbox_any_visible: @ 8069510 - ldr r0, _08069518 @ =gUnknown_203709C - ldrb r0, [r0] - bx lr - .align 2, 0 -_08069518: .4byte gUnknown_203709C - thumb_func_end textbox_any_visible - - thumb_func_start IsFieldMessageBoxHidden -IsFieldMessageBoxHidden: @ 806951C - push {lr} - ldr r0, _0806952C @ =gUnknown_203709C - ldrb r0, [r0] - cmp r0, 0 - beq _08069530 - movs r0, 0 - b _08069532 - .align 2, 0 -_0806952C: .4byte gUnknown_203709C -_08069530: - movs r0, 0x1 -_08069532: - pop {r1} - bx r1 - thumb_func_end IsFieldMessageBoxHidden - - thumb_func_start sub_8069538 -sub_8069538: @ 8069538 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl DrawStdWindowFrame - ldr r1, _08069550 @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08069550: .4byte gUnknown_203709C - thumb_func_end sub_8069538 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 9fc806779..31123a703 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -2759,8 +2759,8 @@ GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 805C7E0 _0805C7F4: .4byte gUnknown_835B874 thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender - thumb_func_start sub_805C7F8 -sub_805C7F8: @ 805C7F8 + thumb_func_start GetHoennLinkPartnerGraphicsIdByGender +GetHoennLinkPartnerGraphicsIdByGender: @ 805C7F8 lsls r0, 24 lsrs r0, 24 ldr r1, _0805C804 @ =gUnknown_835B880 @@ -2769,10 +2769,10 @@ sub_805C7F8: @ 805C7F8 bx lr .align 2, 0 _0805C804: .4byte gUnknown_835B880 - thumb_func_end sub_805C7F8 + thumb_func_end GetHoennLinkPartnerGraphicsIdByGender - thumb_func_start sub_805C808 -sub_805C808: @ 805C808 + thumb_func_start GetPlayerAvatarGraphicsIdByStateId +GetPlayerAvatarGraphicsIdByStateId: @ 805C808 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2785,7 +2785,7 @@ sub_805C808: @ 805C808 bx r1 .align 2, 0 _0805C820: .4byte gPlayerAvatar - thumb_func_end sub_805C808 + thumb_func_end GetPlayerAvatarGraphicsIdByStateId thumb_func_start GetPlayerAvatarGenderByGraphicsId GetPlayerAvatarGenderByGraphicsId: @ 805C824 @@ -2921,7 +2921,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_805C938 + bl MetatileAtCoordsIsWaterTile lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2940,24 +2940,24 @@ _0805C92E: bx r1 thumb_func_end IsPlayerFacingSurfableFishableWater - thumb_func_start sub_805C938 -sub_805C938: @ 805C938 + thumb_func_start MetatileAtCoordsIsWaterTile +MetatileAtCoordsIsWaterTile: @ 805C938 push {lr} lsls r0, 16 asrs r0, 16 lsls r1, 16 asrs r1, 16 movs r2, 0x1 - bl sub_8058F48 + bl MapGridGetMetatileAttributeAt lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_805A2BC + bl TestMetatileAttributeBit lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_805C938 + thumb_func_end MetatileAtCoordsIsWaterTile thumb_func_start ClearPlayerAvatarInfo ClearPlayerAvatarInfo: @ 805C95C @@ -3252,7 +3252,7 @@ sub_805CB70: @ 805CB70 ldr r0, _0805CBB0 @ =gObjectEvents adds r4, r0 movs r0, 0x3 - bl sub_805C808 + bl GetPlayerAvatarGraphicsIdByStateId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3285,7 +3285,7 @@ sub_805CBB8: @ 805CBB8 cmp r0, 0 bne _0805CBD8 movs r0, 0x5 - bl sub_805C808 + bl GetPlayerAvatarGraphicsIdByStateId lsls r0, 24 lsrs r0, 24 b _0805CBE0 @@ -3403,7 +3403,7 @@ _0805CC62: movs r1, 0 ldrsh r3, [r7, r1] adds r1, r6, 0 - bl sub_80DB134 + bl ShowWarpArrowSprite b _0805CCC2 .align 2, 0 _0805CCA4: .4byte gUnknown_835B890 @@ -3419,7 +3419,7 @@ _0805CCA8: cmp r1, 0x3 ble _0805CC62 ldrb r0, [r5, 0x1B] - bl objid_set_invisible + bl SetSpriteInvisible _0805CCC2: add sp, 0x4 pop {r3,r4} @@ -4129,7 +4129,7 @@ sub_805D240: @ 805D240 cmp r0, 0 beq _0805D2AE movs r0, 0 - bl sub_805C808 + bl GetPlayerAvatarGraphicsIdByStateId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4157,7 +4157,7 @@ sub_805D240: @ 805D240 bl DestroySprite adds r0, r5, 0 bl DestroyTask - bl sub_812B35C + bl SetHelpContextForMap _0805D2AE: pop {r4-r6} pop {r0} diff --git a/asm/field_weather.s b/asm/field_weather.s index 7960543a6..c5204def2 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -1906,8 +1906,8 @@ _0807AA84: .4byte gUnknown_2037F34 _0807AA88: .4byte 0x000006c6 thumb_func_end IsWeatherNotFadingIn - thumb_func_start sub_807AA8C -sub_807AA8C: @ 807AA8C + thumb_func_start UpdateSpritePaletteWithWeather +UpdateSpritePaletteWithWeather: @ 807AA8C push {r4-r6,lr} lsls r0, 24 lsrs r0, 8 @@ -2017,7 +2017,7 @@ _0807AB68: bx r0 .align 2, 0 _0807AB70: .4byte 0x000073fc - thumb_func_end sub_807AA8C + thumb_func_end UpdateSpritePaletteWithWeather thumb_func_start sub_807AB74 sub_807AB74: @ 807AB74 @@ -2078,7 +2078,7 @@ sub_807ABC0: @ 807ABC0 movs r2, 0x20 bl LoadPalette ldrb r0, [r4] - bl sub_807AA8C + bl UpdateSpritePaletteWithWeather pop {r4} pop {r0} bx r0 @@ -2698,8 +2698,8 @@ _0807B07C: .4byte gUnknown_2037F34 _0807B080: .4byte 0x000006c6 thumb_func_end sub_807B070 - thumb_func_start sub_807B084 -sub_807B084: @ 807B084 + thumb_func_start PreservePaletteInWeather +PreservePaletteInWeather: @ 807B084 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 @@ -2721,10 +2721,10 @@ sub_807B084: @ 807B084 _0807B0A8: .4byte gUnknown_83C2CC0 _0807B0AC: .4byte gUnknown_2038684 _0807B0B0: .4byte gUnknown_20386A4 - thumb_func_end sub_807B084 + thumb_func_end PreservePaletteInWeather - thumb_func_start sub_807B0B4 -sub_807B0B4: @ 807B0B4 + thumb_func_start ResetPreservedPalettesInWeather +ResetPreservedPalettesInWeather: @ 807B0B4 ldr r1, _0807B0BC @ =gUnknown_20386A4 ldr r0, _0807B0C0 @ =gUnknown_83C2CC0 str r0, [r1] @@ -2732,7 +2732,7 @@ sub_807B0B4: @ 807B0B4 .align 2, 0 _0807B0BC: .4byte gUnknown_20386A4 _0807B0C0: .4byte gUnknown_83C2CC0 - thumb_func_end sub_807B0B4 + thumb_func_end ResetPreservedPalettesInWeather thumb_func_start sub_807B0C4 sub_807B0C4: @ 807B0C4 diff --git a/asm/field_weather_effects.s b/asm/field_weather_effects.s index 24ccbcf94..decfe4078 100644 --- a/asm/field_weather_effects.s +++ b/asm/field_weather_effects.s @@ -526,8 +526,8 @@ sub_807B6BC: @ 807B6BC bx lr thumb_func_end sub_807B6BC - thumb_func_start sub_807B6C0 -sub_807B6C0: @ 807B6C0 + thumb_func_start StartDroughtWeatherBlend +StartDroughtWeatherBlend: @ 807B6C0 push {lr} ldr r0, _0807B6D0 @ =task50_0807B6D4 movs r1, 0x50 @@ -536,7 +536,7 @@ sub_807B6C0: @ 807B6C0 bx r0 .align 2, 0 _0807B6D0: .4byte task50_0807B6D4 - thumb_func_end sub_807B6C0 + thumb_func_end StartDroughtWeatherBlend thumb_func_start task50_0807B6D4 task50_0807B6D4: @ 807B6D4 diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s deleted file mode 100644 index c0266194e..000000000 --- a/asm/fldeff_cut.s +++ /dev/null @@ -1,535 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8097874 -sub_8097874: @ 8097874 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x1 - bl sub_8058F48 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805A2BC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8097874 - - thumb_func_start SetUpFieldMove_Cut -SetUpFieldMove_Cut: @ 8097898 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, _080978CC @ =gUnknown_2039874 - movs r0, 0 - strb r0, [r4] - bl CutMoveRuinValleyCheck - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080978E0 - movs r0, 0x5F - bl CheckObjectGraphicsInFrontOfPlayer - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08097904 - ldr r1, _080978D0 @ =gFieldCallback2 - ldr r0, _080978D4 @ =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, _080978D8 @ =gPostMenuFieldCallback - ldr r0, _080978DC @ =sub_80979D0 - b _080978EC - .align 2, 0 -_080978CC: .4byte gUnknown_2039874 -_080978D0: .4byte gFieldCallback2 -_080978D4: .4byte FieldCallback_PrepareFadeInFromMenu -_080978D8: .4byte gPostMenuFieldCallback -_080978DC: .4byte sub_80979D0 -_080978E0: - strb r0, [r4] -_080978E2: - ldr r1, _080978F4 @ =gFieldCallback2 - ldr r0, _080978F8 @ =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, _080978FC @ =gPostMenuFieldCallback - ldr r0, _08097900 @ =sub_8097984 -_080978EC: - str r0, [r1] - movs r0, 0x1 - b _08097970 - .align 2, 0 -_080978F4: .4byte gFieldCallback2 -_080978F8: .4byte FieldCallback_PrepareFadeInFromMenu -_080978FC: .4byte gPostMenuFieldCallback -_08097900: .4byte sub_8097984 -_08097904: - ldr r4, _0809797C @ =gPlayerFacingPosition - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - movs r7, 0 - adds r2, r4, 0 - ldr r0, _08097980 @ =0x0000ffff - mov r8, r0 -_08097916: - mov r1, r8 - adds r0, r1, r7 - ldrh r1, [r2, 0x2] - adds r0, r1 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_08097924: - mov r1, r8 - adds r0, r1, r6 - ldrh r1, [r2] - adds r0, r1 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - str r2, [sp] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp] - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _0809795A - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8097874 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp] - cmp r0, 0x1 - beq _080978E2 -_0809795A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _08097924 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _08097916 - movs r0, 0 -_08097970: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809797C: .4byte gPlayerFacingPosition -_08097980: .4byte 0x0000ffff - thumb_func_end SetUpFieldMove_Cut - - thumb_func_start sub_8097984 -sub_8097984: @ 8097984 - push {lr} - movs r0, 0x1 - bl FieldEffectStart - bl GetCursorSelectionMonId - ldr r1, _0809799C @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809799C: .4byte gFieldEffectArguments - thumb_func_end sub_8097984 - - thumb_func_start sub_80979A0 -sub_80979A0: @ 80979A0 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080979C8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080979CC @ =sub_8097A20 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080979C8: .4byte gTasks -_080979CC: .4byte sub_8097A20 - thumb_func_end sub_80979A0 - - thumb_func_start sub_80979D0 -sub_80979D0: @ 80979D0 - push {lr} - bl GetCursorSelectionMonId - ldr r1, _080979E8 @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r0, _080979EC @ =EventScript_FldEffCut - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080979E8: .4byte gFieldEffectArguments -_080979EC: .4byte EventScript_FldEffCut - thumb_func_end sub_80979D0 - - thumb_func_start sub_80979F0 -sub_80979F0: @ 80979F0 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08097A18 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _08097A1C @ =sub_8097C6C - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08097A18: .4byte gTasks -_08097A1C: .4byte sub_8097C6C - thumb_func_end sub_80979F0 - - thumb_func_start sub_8097A20 -sub_8097A20: @ 8097A20 - push {lr} - movs r0, 0x1 - bl FieldEffectActiveListRemove - ldr r0, _08097A38 @ =gUnknown_2039874 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08097A3C - bl CutMoveOpenDottedHoleDoor - b _08097A42 - .align 2, 0 -_08097A38: .4byte gUnknown_2039874 -_08097A3C: - movs r0, 0x3A - bl FieldEffectStart -_08097A42: - pop {r0} - bx r0 - thumb_func_end sub_8097A20 - - thumb_func_start sub_8097A48 -sub_8097A48: @ 8097A48 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - movs r0, 0x79 - bl PlaySE - ldr r4, _08097B38 @ =gPlayerFacingPosition - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - mov r8, r4 - ldr r0, _08097B3C @ =0x0000ffff - mov r9, r0 -_08097A68: - mov r1, r9 - adds r0, r1, r7 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_08097A78: - mov r1, r9 - adds r0, r1, r6 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _08097ABC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8097874 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08097ABC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8097B50 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_805F378 -_08097ABC: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _08097A78 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _08097A68 - bl DrawWholeMapView - ldr r4, _08097B40 @ =gUnknown_2039870 - movs r0, 0x8 - bl Alloc - str r0, [r4] - movs r7, 0 - ldr r5, _08097B44 @ =gSprites -_08097AE2: - ldr r0, _08097B48 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r2, 0x80 - lsls r2, 12 - adds r1, r2 - asrs r1, 16 - ldrb r2, [r0] - adds r2, 0x14 - ldr r0, _08097B4C @ =gUnknown_83D414C - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, r7 - strb r0, [r1] - ldr r0, [r4] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - lsls r1, r7, 5 - strh r1, [r0, 0x32] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _08097AE2 - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08097B38: .4byte gPlayerFacingPosition -_08097B3C: .4byte 0x0000ffff -_08097B40: .4byte gUnknown_2039870 -_08097B44: .4byte gSprites -_08097B48: .4byte gPlayerAvatar -_08097B4C: .4byte gUnknown_83D414C - thumb_func_end sub_8097A48 - - thumb_func_start sub_8097B50 -sub_8097B50: @ 8097B50 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - movs r4, 0 - lsrs r6, r0, 16 - asrs r0, 16 - lsrs r7, r1, 16 - asrs r1, 16 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, _08097B84 @ =gUnknown_83D4100 - ldr r5, _08097B88 @ =0x0000ffff - mov r12, r1 -_08097B6E: - lsls r3, r4, 2 - adds r0, r3, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _08097BA0 - cmp r0, r2 - beq _08097B8C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - b _08097B6E - .align 2, 0 -_08097B84: .4byte gUnknown_83D4100 -_08097B88: .4byte 0x0000ffff -_08097B8C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - mov r2, r12 - adds r2, 0x2 - adds r2, r3, r2 - ldrh r2, [r2] - bl MapGridSetMetatileIdAt -_08097BA0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8097B50 - - thumb_func_start objc_8097BA8 -objc_8097BA8: @ 8097BA8 - movs r2, 0 - movs r1, 0x8 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x34] - ldr r1, _08097BB8 @ =objc_8097BBC - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_08097BB8: .4byte objc_8097BBC - thumb_func_end objc_8097BA8 - - thumb_func_start objc_8097BBC -objc_8097BBC: @ 8097BBC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x2E] - adds r1, 0x1 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 18 - adds r1, r0 - strh r1, [r4, 0x2E] - adds r2, 0x1 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1C - beq _08097C08 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _08097C0C -_08097C08: - ldr r0, _08097C14 @ =sub_8097C18 - str r0, [r4, 0x1C] -_08097C0C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097C14: .4byte sub_8097C18 - thumb_func_end objc_8097BBC - - thumb_func_start sub_8097C18 -sub_8097C18: @ 8097C18 - push {r4-r6,lr} - movs r4, 0x1 -_08097C1C: - ldr r6, _08097C64 @ =gUnknown_2039870 - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08097C68 @ =gSprites - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _08097C1C - ldr r0, [r6] - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3A - bl FieldEffectStop - ldr r0, [r6] - bl Free - bl sub_80696C0 - bl ScriptContext2_Disable - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08097C64: .4byte gUnknown_2039870 -_08097C68: .4byte gSprites - thumb_func_end sub_8097C18 - - thumb_func_start sub_8097C6C -sub_8097C6C: @ 8097C6C - push {lr} - movs r0, 0x79 - bl PlaySE - movs r0, 0x2 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8097C6C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s deleted file mode 100644 index f550d2291..000000000 --- a/asm/fldeff_flash.s +++ /dev/null @@ -1,964 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Flash -SetUpFieldMove_Flash: @ 80C9B2C - push {lr} - ldr r0, _080C9B54 @ =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _080C9B6C - ldr r0, _080C9B58 @ =0x00000806 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C9B6C - ldr r1, _080C9B5C @ =gFieldCallback2 - ldr r0, _080C9B60 @ =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, _080C9B64 @ =gPostMenuFieldCallback - ldr r0, _080C9B68 @ =sub_80C9B74 - str r0, [r1] - movs r0, 0x1 - b _080C9B6E - .align 2, 0 -_080C9B54: .4byte gMapHeader -_080C9B58: .4byte 0x00000806 -_080C9B5C: .4byte gFieldCallback2 -_080C9B60: .4byte FieldCallback_PrepareFadeInFromMenu -_080C9B64: .4byte gPostMenuFieldCallback -_080C9B68: .4byte sub_80C9B74 -_080C9B6C: - movs r0, 0 -_080C9B6E: - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Flash - - thumb_func_start sub_80C9B74 -sub_80C9B74: @ 80C9B74 - push {r4,lr} - bl oei_task_add - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCursorSelectionMonId - ldr r1, _080C9BA4 @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r1, _080C9BA8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080C9BAC @ =sub_80C9BB0 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9BA4: .4byte gFieldEffectArguments -_080C9BA8: .4byte gTasks -_080C9BAC: .4byte sub_80C9BB0 - thumb_func_end sub_80C9B74 - - thumb_func_start sub_80C9BB0 -sub_80C9BB0: @ 80C9BB0 - push {lr} - movs r0, 0xC8 - bl PlaySE - ldr r0, _080C9BC8 @ =0x00000806 - bl FlagSet - ldr r0, _080C9BCC @ =EventScript_FldEffFlash - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080C9BC8: .4byte 0x00000806 -_080C9BCC: .4byte EventScript_FldEffFlash - thumb_func_end sub_80C9BB0 - - thumb_func_start sub_80C9BD0 -sub_80C9BD0: @ 80C9BD0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80C9BD0 - - thumb_func_start sub_80C9BE8 -sub_80C9BE8: @ 80C9BE8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80C9BE8 - - thumb_func_start sub_80C9BFC -sub_80C9BFC: @ 80C9BFC - push {lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _080C9CC8 @ =0x040000d4 - mov r0, sp - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080C9CCC @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080C9CD0 @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r2, [r0] - str r0, [r1] - ldr r0, _080C9CD4 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _080C9CD8 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - movs r0, 0x1 - bl EnableInterrupts - ldr r0, _080C9CDC @ =sub_80C9BE8 - bl SetVBlankCallback - ldr r0, _080C9CE0 @ =sub_80C9BD0 - bl SetMainCallback2 - bl sub_80C9CE8 - lsls r0, 24 - cmp r0, 0 - bne _080C9CC2 - ldr r0, _080C9CE4 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080C9CC2: - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080C9CC8: .4byte 0x040000d4 -_080C9CCC: .4byte 0x8100c000 -_080C9CD0: .4byte 0x85000100 -_080C9CD4: .4byte 0x05000002 -_080C9CD8: .4byte 0x810001ff -_080C9CDC: .4byte sub_80C9BE8 -_080C9CE0: .4byte sub_80C9BD0 -_080C9CE4: .4byte gMain - thumb_func_end sub_80C9BFC - - thumb_func_start sub_80C9CE8 -sub_80C9CE8: @ 80C9CE8 - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r7, r0, 24 - bl GetCurrentMapType - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - bl sub_80561B4 - ldr r5, _080C9D24 @ =gMapHeader - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x14] - cmp r0, r1 - beq _080C9D36 - ldrb r0, [r5, 0x14] - movs r1, 0 - bl sub_80F8154 - cmp r0, 0x1 - bne _080C9D36 - ldrb r0, [r5, 0x14] - bl sub_80CA160 - movs r0, 0x1 - b _080C9D70 - .align 2, 0 -_080C9D24: .4byte gMapHeader -_080C9D28: - adds r0, r3, 0x4 - adds r0, r2, r0 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _080C9D70 -_080C9D36: - ldr r5, _080C9D78 @ =gUnknown_83F5738 - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _080C9D6E - adds r3, r5, 0 -_080C9D48: - adds r0, r1, r4 - lsls r2, r0, 2 - adds r1, r2, r3 - ldrb r0, [r1] - cmp r0, r7 - bne _080C9D5A - ldrb r0, [r1, 0x1] - cmp r0, r6 - beq _080C9D28 -_080C9D5A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9D48 -_080C9D6E: - movs r0, 0 -_080C9D70: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080C9D78: .4byte gUnknown_83F5738 - thumb_func_end sub_80C9CE8 - - thumb_func_start sub_80C9D7C -sub_80C9D7C: @ 80C9D7C - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _080C9DAC @ =gUnknown_83F5738 - ldrb r0, [r1] - cmp r0, 0 - beq _080C9DC4 - adds r6, r1, 0 -_080C9D92: - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _080C9DB0 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _080C9DB0 - ldrb r0, [r2, 0x2] - b _080C9DC6 - .align 2, 0 -_080C9DAC: .4byte gUnknown_83F5738 -_080C9DB0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9D92 -_080C9DC4: - movs r0, 0 -_080C9DC6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C9D7C - - thumb_func_start sub_80C9DCC -sub_80C9DCC: @ 80C9DCC - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _080C9DFC @ =gUnknown_83F5738 - ldrb r0, [r1] - cmp r0, 0 - beq _080C9E14 - adds r6, r1, 0 -_080C9DE2: - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _080C9E00 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _080C9E00 - ldrb r0, [r2, 0x3] - b _080C9E16 - .align 2, 0 -_080C9DFC: .4byte gUnknown_83F5738 -_080C9E00: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9DE2 -_080C9E14: - movs r0, 0 -_080C9E16: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C9DCC - - thumb_func_start sub_80C9E1C -sub_80C9E1C: @ 80C9E1C - push {lr} - ldr r0, _080C9E2C @ =sub_80C9E30 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C9E2C: .4byte sub_80C9E30 - thumb_func_end sub_80C9E1C - - thumb_func_start sub_80C9E30 -sub_80C9E30: @ 80C9E30 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9E44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C9E48 @ =sub_80C9E4C - str r0, [r1] - bx lr - .align 2, 0 -_080C9E44: .4byte gTasks -_080C9E48: .4byte sub_80C9E4C - thumb_func_end sub_80C9E30 - - thumb_func_start sub_80C9E4C -sub_80C9E4C: @ 80C9E4C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, _080C9EC8 @ =gUnknown_83F5A44 - ldr r1, _080C9ECC @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _080C9ED0 @ =gUnknown_83F5864 - ldr r1, _080C9ED4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _080C9ED8 @ =gUnknown_83F5804 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080C9EDC @ =gUnknown_83F5844 + 0x10 - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, _080C9EE0 @ =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _080C9EE4 @ =0x00001f0c =BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31) - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, _080C9EE8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C9EEC @ =sub_80C9EF0 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9EC8: .4byte gUnknown_83F5A44 -_080C9ECC: .4byte 0x0600c000 -_080C9ED0: .4byte gUnknown_83F5864 -_080C9ED4: .4byte 0x0600f800 -_080C9ED8: .4byte gUnknown_83F5804 -_080C9EDC: .4byte gUnknown_83F5844 + 0x10 -_080C9EE0: .4byte 0x00003e41 -_080C9EE4: .4byte 0x00001f0c -_080C9EE8: .4byte gTasks -_080C9EEC: .4byte sub_80C9EF0 - thumb_func_end sub_80C9E4C - - thumb_func_start sub_80C9EF0 -sub_80C9EF0: @ 80C9EF0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9F20 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r4, [r5, 0xA] - movs r0, 0x80 - lsls r0, 5 - adds r1, r4, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0x10 - bhi _080C9F24 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _080C9F2C - .align 2, 0 -_080C9F20: .4byte gTasks -_080C9F24: - movs r0, 0 - strh r0, [r5, 0xC] - ldr r0, _080C9F34 @ =sub_80C9F38 - str r0, [r5] -_080C9F2C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C9F34: .4byte sub_80C9F38 - thumb_func_end sub_80C9EF0 - - thumb_func_start sub_80C9F38 -sub_80C9F38: @ 80C9F38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080C9F74 @ =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, _080C9F78 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _080C9F80 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, _080C9F7C @ =gUnknown_83F5844 + 0x10 - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _080C9F92 - .align 2, 0 -_080C9F74: .4byte 0x00001010 -_080C9F78: .4byte gTasks -_080C9F7C: .4byte gUnknown_83F5844 + 0x10 -_080C9F80: - ldr r0, _080C9F98 @ =gUnknown_83F5804 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080C9F9C @ =sub_80C9FA0 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_080C9F92: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9F98: .4byte gUnknown_83F5804 -_080C9F9C: .4byte sub_80C9FA0 - thumb_func_end sub_80C9F38 - - thumb_func_start sub_80C9FA0 -sub_80C9FA0: @ 80C9FA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9FC0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080C9FC4 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080C9FCC - .align 2, 0 -_080C9FC0: .4byte gTasks -_080C9FC4: - ldr r0, _080C9FD0 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080C9FCC: - pop {r0} - bx r0 - .align 2, 0 -_080C9FD0: .4byte gMain - thumb_func_end sub_80C9FA0 - - thumb_func_start sub_80C9FD4 -sub_80C9FD4: @ 80C9FD4 - push {lr} - ldr r0, _080C9FE4 @ =sub_80C9FE8 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C9FE4: .4byte sub_80C9FE8 - thumb_func_end sub_80C9FD4 - - thumb_func_start sub_80C9FE8 -sub_80C9FE8: @ 80C9FE8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9FFC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080CA000 @ =sub_80CA004 - str r0, [r1] - bx lr - .align 2, 0 -_080C9FFC: .4byte gTasks -_080CA000: .4byte sub_80CA004 - thumb_func_end sub_80C9FE8 - - thumb_func_start sub_80CA004 -sub_80CA004: @ 80CA004 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, _080CA080 @ =gUnknown_83F5A44 - ldr r1, _080CA084 @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _080CA088 @ =gUnknown_83F5864 - ldr r1, _080CA08C @ =0x0600f800 - bl LZ77UnCompVram - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _080CA090 @ =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _080CA094 @ =gUnknown_83F5804 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080CA098 @ =gUnknown_83F5824 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080CA09C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CA0A0 @ =sub_80CA0A4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA080: .4byte gUnknown_83F5A44 -_080CA084: .4byte 0x0600c000 -_080CA088: .4byte gUnknown_83F5864 -_080CA08C: .4byte 0x0600f800 -_080CA090: .4byte 0x00001f0c -_080CA094: .4byte gUnknown_83F5804 -_080CA098: .4byte gUnknown_83F5824 -_080CA09C: .4byte gTasks -_080CA0A0: .4byte sub_80CA0A4 - thumb_func_end sub_80CA004 - - thumb_func_start sub_80CA0A4 -sub_80CA0A4: @ 80CA0A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA0D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0xF - bhi _080CA0E0 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, _080CA0DC @ =gUnknown_83F5844 - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _080CA0F4 - .align 2, 0 -_080CA0D8: .4byte gTasks -_080CA0DC: .4byte gUnknown_83F5844 -_080CA0E0: - ldr r1, _080CA0FC @ =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, _080CA100 @ =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - ldr r0, _080CA104 @ =sub_80CA108 - str r0, [r4] -_080CA0F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA0FC: .4byte 0x00001010 -_080CA100: .4byte 0x00003e41 -_080CA104: .4byte sub_80CA108 - thumb_func_end sub_80CA0A4 - - thumb_func_start sub_80CA108 -sub_80CA108: @ 80CA108 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA13C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r0, [r5, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0 - beq _080CA140 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _080CA152 - .align 2, 0 -_080CA13C: .4byte gTasks -_080CA140: - ldr r0, _080CA158 @ =gUnknown_83F5824 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080CA15C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080CA152: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CA158: .4byte gUnknown_83F5824 -_080CA15C: .4byte gMain - thumb_func_end sub_80CA108 - - thumb_func_start sub_80CA160 -sub_80CA160: @ 80CA160 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080CA188 @ =sub_80CA190 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA18C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA188: .4byte sub_80CA190 -_080CA18C: .4byte gTasks - thumb_func_end sub_80CA160 - - thumb_func_start sub_80CA190 -sub_80CA190: @ 80CA190 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CA1B8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _080CA1AC - b _080CA2D2 -_080CA1AC: - lsls r0, 2 - ldr r1, _080CA1BC @ =_080CA1C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CA1B8: .4byte gTasks+0x8 -_080CA1BC: .4byte _080CA1C0 - .align 2, 0 -_080CA1C0: - .4byte _080CA1D8 - .4byte _080CA208 - .4byte _080CA224 - .4byte _080CA24E - .4byte _080CA262 - .4byte _080CA2A4 -_080CA1D8: - ldr r0, _080CA204 @ =gMain - ldr r2, [r0, 0xC] - adds r0, r5, 0 - movs r1, 0x5 - bl SetWordTaskArg - movs r0, 0 - bl SetVBlankCallback - bl sub_80F8180 - ldrb r0, [r4, 0x6] - bl sub_80F819C - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _080CA294 - .align 2, 0 -_080CA204: .4byte gMain -_080CA208: - bl sub_80F8258 - cmp r0, 0 - bne _080CA2D2 - ldrb r0, [r4, 0x6] - bl sub_80F8318 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _080CA294 -_080CA224: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080CA2D2 - movs r1, 0x1 - negs r1, r1 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r5, 0 - movs r1, 0x5 - bl GetWordTaskArg - bl SetVBlankCallback - b _080CA294 -_080CA24E: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CA2D2 - ldrb r0, [r4, 0x6] - bl sub_80F856C - strh r0, [r4, 0x4] - b _080CA294 -_080CA262: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - bgt _080CA280 - ldr r0, _080CA29C @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CA2D2 -_080CA280: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - ldr r2, _080CA2A0 @ =0x00007fff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080CA294: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080CA2D2 - .align 2, 0 -_080CA29C: .4byte gMain -_080CA2A0: .4byte 0x00007fff -_080CA2A4: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CA2D2 - lsls r6, r5, 2 - movs r1, 0 - adds r0, r4, 0 - adds r0, 0x1E -_080CA2B6: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r4 - bge _080CA2B6 - movs r1, 0x8 - ldrsh r0, [r4, r1] - bl sub_80F8234 - ldr r1, _080CA2DC @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CA2E0 @ =sub_80CA004 - str r1, [r0] -_080CA2D2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CA2DC: .4byte gTasks -_080CA2E0: .4byte sub_80CA004 - thumb_func_end sub_80CA190 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s deleted file mode 100644 index 2cc761554..000000000 --- a/asm/librfu_intr.s +++ /dev/null @@ -1,697 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - arm_func_start IntrSIO32 -IntrSIO32: @ 81DFC50 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - ldr r3, _081DFCB0 @ =gSTWIStatus - ldr r0, [r3] - ldr r2, [r0] - sub r11, r12, 0x4 - cmp r2, 0xA - bne _081DFC8C - ldr r0, [r0, 0x20] - cmp r0, 0 - ldmdbeq r11, {r11,sp,lr} - bxeq lr - bl Callback_Dummy_ID - ldmdb r11, {r11,sp,lr} - bx lr -_081DFC8C: - ldrb r3, [r0, 0x14] - cmp r3, 0x1 - bne _081DFCA4 - bl sio32intr_clock_master - ldmdb r11, {r11,sp,lr} - bx lr -_081DFCA4: - bl sio32intr_clock_slave - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081DFCB0: .4byte gSTWIStatus - arm_func_end IntrSIO32 - - arm_func_start sio32intr_clock_master -sio32intr_clock_master: @ 81DFCB4 - mov r12, sp - stmdb sp!, {r4-r6,r11,r12,lr,pc} - mov r0, 0x50 - sub r11, r12, 0x4 - bl STWI_set_timer_in_RAM - mov r4, 0x120 - ldr r2, _081DFF28 @ =gSTWIStatus - add r4, r4, 0x4000000 - ldr lr, [r4] - ldr r12, [r2] - ldr r3, [r12] - mov r6, r2 - cmp r3, 0 - bne _081DFD34 - cmp lr, 0x80000000 - bne _081DFDB4 - ldrb r2, [r12, 0x5] - ldrb r3, [r12, 0x4] - cmp r2, r3 - bhi _081DFD24 - ldr r3, [r12, 0x24] - mov r1, r2 - ldr r2, [r3, r1, lsl 2] - str r2, [r4] - ldrb r3, [r12, 0x5] - add r3, r3, 0x1 - strb r3, [r12, 0x5] - b _081DFE10 -_081DFD24: - mov r3, 0x1 - str r3, [r12] - str lr, [r4] - b _081DFE10 -_081DFD34: - ldr r3, [r12] - cmp r3, 0x1 - bne _081DFDC4 - mov r3, 0x99000000 - add r3, r3, 0x660000 - mov r5, 0x80000000 - and r2, lr, r5, asr 15 - cmp r2, r3 - bne _081DFDB4 - mov r3, 0 - strb r3, [r12, 0x8] - ldr r1, [r6] - ldrb r0, [r1, 0x8] - ldr r2, [r1, 0x28] - str lr, [r2, r0, lsl 2] - ldrb r3, [r1, 0x8] - add r3, r3, 0x1 - strb r3, [r1, 0x8] - ldr r2, [r6] - strb lr, [r2, 0x9] - ldr r3, [r6] - mov r2, lr, lsr 8 - strb r2, [r3, 0x7] - ldr r1, [r6] - ldrb r2, [r1, 0x7] - ldrb r3, [r1, 0x8] - cmp r2, r3 - bcc _081DFDFC - mov r3, 0x2 - str r3, [r1] - str r5, [r4] - b _081DFE10 -_081DFDB4: - bl STWI_stop_timer_in_RAM - mov r0, 0x82 - bl STWI_set_timer_in_RAM - b _081DFF3C -_081DFDC4: - ldr r3, [r12] - cmp r3, 0x2 - bne _081DFE10 - ldrb r1, [r12, 0x8] - ldr r2, [r12, 0x28] - str lr, [r2, r1, lsl 2] - ldrb r3, [r12, 0x8] - add r3, r3, 0x1 - strb r3, [r12, 0x8] - ldr r1, [r6] - ldrb r2, [r1, 0x7] - ldrb r3, [r1, 0x8] - cmp r2, r3 - bcs _081DFE08 -_081DFDFC: - mov r3, 0x3 - str r3, [r1] - b _081DFE10 -_081DFE08: - mov r3, 0x80000000 - str r3, [r4] -_081DFE10: - mov r0, 0x1 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081DFF3C - mov r4, 0x128 - add r4, r4, 0x4000000 - mov r5, 0x5000 - add r3, r5, 0xB - strh r3, [r4] - mov r0, 0 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081DFF3C - bl STWI_stop_timer_in_RAM - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x3 - bne _081DFF2C - ldrb r3, [r1, 0x9] - cmp r3, 0xA5 - cmpne r3, 0xA7 - beq _081DFE84 - and r3, r3, 0xFF - cmp r3, 0xB5 - beq _081DFE84 - cmp r3, 0xB7 - bne _081DFECC -_081DFE84: - mov r1, 0x120 - add r1, r1, 0x4000000 - mov r12, 0x128 - add r12, r12, 0x4000000 - ldr r0, [r6] - mov r3, 0 - strb r3, [r0, 0x14] - mov r2, 0x80000000 - str r2, [r1] - add r3, r3, 0x5000 - add r2, r3, 0x2 - strh r2, [r12] - add r3, r3, 0x82 - strh r3, [r12] - ldr r2, [r6] - mov r3, 0x5 - str r3, [r2] - b _081DFEFC -_081DFECC: - cmp r3, 0xEE - bne _081DFEEC - add r3, r5, 0x3 - strh r3, [r4] - mov r2, 0x4 - str r2, [r1] - strh r0, [r1, 0x12] - b _081DFEFC -_081DFEEC: - add r3, r5, 0x3 - strh r3, [r4] - mov r2, 0x4 - str r2, [r1] -_081DFEFC: - ldr r2, [r6] - mov r3, 0 - strb r3, [r2, 0x2C] - ldr r0, [r6] - ldr r2, [r0, 0x18] - cmp r2, r3 - beq _081DFF3C - ldrh r1, [r0, 0x12] - ldrb r0, [r0, 0x6] - bl Callback_Dummy_M - b _081DFF3C - .align 2, 0 -_081DFF28: .4byte gSTWIStatus -_081DFF2C: - add r3, r5, 0x3 - strh r3, [r4] - add r2, r5, 0x83 - strh r2, [r4] -_081DFF3C: - ldmdb r11, {r4-r6,r11,sp,lr} - bx lr - arm_func_end sio32intr_clock_master - - arm_func_start sio32intr_clock_slave -sio32intr_clock_slave: @ 81DFF44 - mov r12, sp - stmdb sp!, {r4-r6,r11,r12,lr,pc} - ldr r4, _081E02F0 @ =gSTWIStatus - mov r0, 0x64 - ldr r3, [r4] - mov r6, 0 - strb r6, [r3, 0x10] - sub r11, r12, 0x4 - bl STWI_set_timer_in_RAM - mov r0, r6 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - mov r5, r4 - beq _081E0348 - mov r3, 0x128 - add r3, r3, 0x4000000 - mov r2, 0x5000 - add r2, r2, 0xA - strh r2, [r3] - mov lr, 0x120 - ldr r0, [r5] - add lr, lr, 0x4000000 - ldr r12, [lr] - ldr r3, [r0] - cmp r3, 0x5 - bne _081E0074 - ldr r3, [r0, 0x28] - mov r4, 0x1 - mov r0, 0x99000000 - str r12, [r3] - add r0, r0, 0x660000 - ldr r2, [r5] - mov r3, r0, lsr 16 - strb r4, [r2, 0x5] - cmp r3, r12, lsr 16 - bne _081E01C0 - ldr r3, [r5] - mov r2, r12, lsr 8 - strb r2, [r3, 0x4] - ldr r2, [r5] - strb r12, [r2, 0x6] - ldr r1, [r5] - ldrb r3, [r1, 0x4] - cmp r3, r6 - bne _081E0058 - ldrb r2, [r1, 0x6] - sub r3, r2, 0x27 - cmp r2, 0x36 - cmpne r3, 0x2 - bhi _081E002C - add r3, r2, 0x80 - strb r3, [r1, 0x9] - ldr r2, [r5] - ldrb r3, [r2, 0x9] - ldr r1, [r2, 0x24] - add r3, r3, r0 - b _081E00DC -_081E002C: - ldr r2, [r1, 0x24] - ldr r3, _081E02F4 @ =0x996601ee - str r3, [r2] - ldr r2, [r5] - ldrb r3, [r2, 0x6] - sub r3, r3, 0x10 - cmp r3, 0x2D - bhi _081E0114 - ldr r3, [r2, 0x24] - str r4, [r3, 0x4] - b _081E0120 -_081E0058: - mov r3, 0x80000000 - str r3, [lr] - strb r4, [r1, 0x5] - ldr r2, [r5] - add r3, r3, 0x80000006 - str r3, [r2] - b _081E01D0 -_081E0074: - ldr r3, [r0] - cmp r3, 0x6 - bne _081E0174 - ldrb r1, [r0, 0x5] - ldr r2, [r0, 0x28] - str r12, [r2, r1, lsl 2] - ldrb r3, [r0, 0x5] - add r3, r3, 0x1 - strb r3, [r0, 0x5] - ldr r1, [r5] - ldrb r2, [r1, 0x4] - ldrb r3, [r1, 0x5] - cmp r2, r3 - bcs _081E0168 - ldrb r2, [r1, 0x6] - sub r3, r2, 0x28 - cmp r2, 0x36 - cmpne r3, 0x1 - bhi _081E00EC - add r3, r2, 0x80 - strb r3, [r1, 0x9] - ldr r2, [r5] - ldrb r3, [r2, 0x9] - ldr r1, [r2, 0x24] - orr r3, r3, 0x99000000 - orr r3, r3, 0x660000 -_081E00DC: - str r3, [r1] - ldr r2, [r5] - strb r6, [r2, 0x7] - b _081E0138 -_081E00EC: - ldr r2, [r1, 0x24] - ldr r3, _081E02F4 @ =0x996601ee - str r3, [r2] - ldr r2, [r5] - ldrb r3, [r2, 0x6] - sub r3, r3, 0x10 - cmp r3, 0x2D - ldrls r2, [r2, 0x24] - movls r3, 0x1 - bls _081E011C -_081E0114: - ldr r2, [r2, 0x24] - mov r3, 0x2 -_081E011C: - str r3, [r2, 0x4] -_081E0120: - ldr r2, [r5] - mov r3, 0x1 - strb r3, [r2, 0x7] - ldr r1, [r5] - add r3, r3, 0x2 - strh r3, [r1, 0x12] -_081E0138: - ldr r0, [r5] - ldr r2, [r0, 0x24] - mov r3, 0x120 - ldr r1, [r2] - add r3, r3, 0x4000000 - str r1, [r3] - mov r2, 0x1 - strb r2, [r0, 0x8] - ldr r1, [r5] - mov r3, 0x7 - str r3, [r1] - b _081E01D0 -_081E0168: - mov r3, 0x80000000 - str r3, [lr] - b _081E01D0 -_081E0174: - ldr r3, [r0] - cmp r3, 0x7 - bne _081E01D0 - cmp r12, 0x80000000 - bne _081E01C0 - ldrb r2, [r0, 0x7] - ldrb r3, [r0, 0x8] - cmp r2, r3 - movcc r3, 0x8 - strcc r3, [r0] - bcc _081E01D0 - ldrb r1, [r0, 0x8] - ldr r3, [r0, 0x24] - ldr r2, [r3, r1, lsl 2] - str r2, [lr] - ldrb r3, [r0, 0x8] - add r3, r3, 0x1 - strb r3, [r0, 0x8] - b _081E01D0 -_081E01C0: - bl STWI_stop_timer_in_RAM - mov r0, 0x64 - bl STWI_set_timer_in_RAM - b _081E0348 -_081E01D0: - mov r0, 0x1 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081E0348 - mov r6, r5 - ldr r3, [r6] - ldr r2, [r3] - cmp r2, 0x8 - bne _081E0298 - mov r4, 0x128 - add r4, r4, 0x4000000 - mov r3, 0x5000 - add r3, r3, 0x2 - strh r3, [r4] - bl STWI_stop_timer_in_RAM - ldr r0, [r6] - ldrh r3, [r0, 0x12] - cmp r3, 0x3 - bne _081E0244 - bl STWI_init_slave - ldr r3, [r6] - ldr r1, [r3, 0x1C] - cmp r1, 0 - beq _081E0348 - mov r0, 0x1EC - add r0, r0, 0x2 - bl Callback_Dummy_S - b _081E0348 -_081E0244: - mov r3, 0x120 - add r3, r3, 0x4000000 - mov r1, 0 - str r1, [r3] - mov r2, 0x5000 - strh r1, [r4] - add r2, r2, 0x3 - strh r2, [r4] - mov r3, 0x1 - strb r3, [r0, 0x14] - ldr r0, [r5] - ldr r2, [r0, 0x1C] - str r1, [r0] - cmp r2, r1 - beq _081E0348 - ldrb r3, [r0, 0x4] - ldrb r0, [r0, 0x6] - mov r1, r2 - orr r0, r0, r3, lsl 8 - bl Callback_Dummy_S - b _081E0348 -_081E0298: - mov r3, 0x208 - add r3, r3, 0x4000000 - mov r2, 0 - strh r2, [r3] - mov r1, 0x100 - add r2, r1, 0x4000002 - ldrh r3, [r2] - tst r3, 0x80 - beq _081E031C - ldrh r3, [r2] - tst r3, 0x3 - bne _081E02F8 - mov r2, 0xFF00 - add r1, r1, 0x4000000 - ldrh r3, [r1] - add r2, r2, 0x9B - cmp r3, r2 - bls _081E031C -_081E02E0: - ldrh r3, [r1] - cmp r3, r2 - bhi _081E02E0 - b _081E031C - .align 2, 0 -_081E02F0: .4byte gSTWIStatus -_081E02F4: .4byte 0x996601ee -_081E02F8: - mov r2, 0xFF00 - add r1, r1, 0x4000000 - ldrh r3, [r1] - add r2, r2, 0xFE - cmp r3, r2 - bls _081E031C -_081E0310: - ldrh r3, [r1] - cmp r3, r2 - bhi _081E0310 -_081E031C: - mov r1, 0x128 - add r1, r1, 0x4000000 - mov r0, 0x208 - add r0, r0, 0x4000000 - mov r3, 0x5000 - add r2, r3, 0x2 - strh r2, [r1] - add r3, r3, 0x82 - strh r3, [r1] - mov r2, 0x1 - strh r2, [r0] -_081E0348: - ldmdb r11, {r4-r6,r11,sp,lr} - bx lr - arm_func_end sio32intr_clock_slave - - arm_func_start handshake_wait -handshake_wait: @ 81E0350 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - mov r1, 0x128 - add r1, r1, 0x4000000 - mov r0, r0, lsl 16 - ldr r2, _081E03B4 @ =gSTWIStatus - sub r11, r12, 0x4 - mov lr, r0, lsr 14 - ldr r12, [r2] -_081E0374: - ldrb r3, [r12, 0x10] - and r0, r3, 0xFF - cmp r0, 0x1 - beq _081E03A0 - ldrh r3, [r1] - and r3, r3, 0x4 - cmp r3, lr - bne _081E0374 - mov r0, 0 - ldmdb r11, {r11,sp,lr} - bx lr -_081E03A0: - ldr r2, [r2] - mov r3, 0 - strb r3, [r2, 0x10] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E03B4: .4byte gSTWIStatus - arm_func_end handshake_wait - - arm_func_start STWI_set_timer_in_RAM -STWI_set_timer_in_RAM: @ 81E03B8 - mov r12, sp - stmdb sp!, {r4,r5,r11,r12,lr,pc} - mov r1, 0x208 - add r1, r1, 0x4000000 - mov r3, 0 - sub r11, r12, 0x4 - ldr r12, _081E0470 @ =gSTWIStatus - and lr, r0, 0xFF - ldr r2, [r12] - cmp lr, 0x50 - ldrb r0, [r2, 0xA] - mov r4, r12 - mov r2, lr - strh r3, [r1] - mov r0, r0, lsl 2 - add r3, r3, 0x100 - add r1, r3, 0x4000000 - add r3, r3, 0x4000002 - add r5, r0, r3 - beq _081E0440 - bgt _081E0418 - cmp lr, 0x32 - beq _081E042C - b _081E048C -_081E0418: - cmp r2, 0x64 - beq _081E0458 - cmp r2, 0x82 - beq _081E0474 - b _081E048C -_081E042C: - mvn r3, 0x334 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x1 - b _081E0488 -_081E0440: - mov r3, 0xAE000000 - mov r3, r3, asr 20 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x2 - b _081E0488 -_081E0458: - mvn r3, 0x660 - sub r3, r3, 0x9 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x3 - b _081E0488 - .align 2, 0 -_081E0470: .4byte gSTWIStatus -_081E0474: - mvn r3, 0x850 - sub r3, r3, 0x2 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x4 -_081E0488: - str r3, [r2, 0xC] -_081E048C: - mov r12, 0x200 - add r12, r12, 0x4000002 - mov r3, 0xC3 - strh r3, [r5] - mov r1, 0x208 - ldr r2, [r4] - add r1, r1, 0x4000000 - ldrb r0, [r2, 0xA] - sub r3, r3, 0xBB - mov r3, r3, lsl r0 - strh r3, [r12] - mov r2, 0x1 - strh r2, [r1] - ldmdb r11, {r4,r5,r11,sp,lr} - bx lr - arm_func_end STWI_set_timer_in_RAM - - arm_func_start STWI_stop_timer_in_RAM -STWI_stop_timer_in_RAM: @ 81E04C8 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - mov r1, 0x100 - ldr lr, _081E0514 @ =gSTWIStatus - add r0, r1, 0x4000000 - ldr r2, [lr] - sub r11, r12, 0x4 - ldrb r3, [r2, 0xA] - mov r12, 0 - str r12, [r2, 0xC] - mov r3, r3, lsl 2 - strh r12, [r3, r0] - ldr r2, [lr] - ldrb r3, [r2, 0xA] - add r1, r1, 0x4000002 - mov r3, r3, lsl 2 - strh r12, [r3, r1] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E0514: .4byte gSTWIStatus - arm_func_end STWI_stop_timer_in_RAM - - arm_func_start STWI_init_slave -STWI_init_slave: @ 81E0518 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - ldr r0, _081E05A0 @ =gSTWIStatus - ldr r2, [r0] - mov r3, 0x5 - str r3, [r2] - mov r1, 0 - strb r1, [r2, 0x14] - ldr r3, [r0] - strb r1, [r3, 0x4] - ldr r2, [r0] - strb r1, [r2, 0x5] - ldr r3, [r0] - strb r1, [r3, 0x6] - ldr r2, [r0] - strb r1, [r2, 0x7] - ldr r3, [r0] - strb r1, [r3, 0x8] - ldr r2, [r0] - strb r1, [r2, 0x9] - ldr r3, [r0] - str r1, [r3, 0xC] - sub r11, r12, 0x4 - strb r1, [r3, 0x10] - mov r2, 0x128 - ldr r12, [r0] - add r2, r2, 0x4000000 - strh r1, [r12, 0x12] - mov r3, 0x5000 - strb r1, [r12, 0x15] - add r3, r3, 0x82 - strh r3, [r2] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E05A0: .4byte gSTWIStatus - arm_func_end STWI_init_slave - - arm_func_start Callback_Dummy_M -Callback_Dummy_M: @ 81E05A4 - bx r2 - arm_func_end Callback_Dummy_M - - arm_func_start Callback_Dummy_S -Callback_Dummy_S: @ 81E05A8 - bx r1 - arm_func_end Callback_Dummy_S - - arm_func_start Callback_Dummy_ID -Callback_Dummy_ID: @ 81E05AC - bx r0 - arm_func_end Callback_Dummy_ID diff --git a/asm/macros.inc b/asm/macros.inc index ffbe3db29..0e53dc2a2 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -5,6 +5,7 @@ .include "asm/macros/ec.inc" .include "asm/macros/map.inc" .include "asm/macros/m4a.inc" + .include "asm/macros/trainer_tower.inc" .macro region_map_location x, y, width, height, name .byte \x diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 51f8e7330..35314ac3f 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1629,7 +1629,7 @@ @ Jumps to dest if the Quest Log is currently showing playback scenes (dest is usually a release/end) .macro goto_if_questlog dest:req - special Special_GetQuestLogState + special GetQuestLogState compare VAR_RESULT, 2 goto_if_eq \dest .endm diff --git a/asm/macros/map.inc b/asm/macros/map.inc index d903899fe..881ffdbb4 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -14,9 +14,10 @@ .4byte \address .endm - .macro object_event index:req, gfx:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req + .macro object_event index:req, gfx:req, in_connection:req x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req .byte \index - .2byte \gfx + .byte \gfx + .byte \in_connection .byte 0 .2byte \x, \y .byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0 @@ -88,3 +89,8 @@ map \map .space 2 .endm + + .macro map_header_flags allow_cycling:req, allow_escaping:req, allow_running:req, show_map_name:req + .byte \allow_cycling + .byte ((\show_map_name & 1) << 2) | ((\allow_running & 1) << 1) | ((\allow_escaping & 1) << 0) + .endm diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc index c4ca78010..9f11f4460 100644 --- a/asm/macros/movement.inc +++ b/asm/macros/movement.inc @@ -109,7 +109,7 @@ create_movement emote_x create_movement emote_double_exclamation_mark create_movement emote_smile - create_movement step_67 + create_movement reveal_trainer create_movement rock_smash_break create_movement cut_tree diff --git a/asm/macros/trainer_tower.inc b/asm/macros/trainer_tower.inc new file mode 100644 index 000000000..94d9efe77 --- /dev/null +++ b/asm/macros/trainer_tower.inc @@ -0,0 +1,133 @@ + @ Sets NPC gfx and the floor layout depending on current challenge and floor + .macro ttower_initfloor + setvar VAR_0x8004, TRAINER_TOWER_FUNC_INIT_FLOOR + special CallTrainerTowerFunc + .endm + + @ Buffers the opponents battle speech to gStringVar4. speech is any TRAINER_TOWER_TEXT_*. + .macro ttower_getspeech speech:req, trainer=0xFF + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_SPEECH + setvar VAR_0x8005, \speech + .if \trainer >= VARS_START && \trainer != 0xFF + copyvar VAR_0x8006, \trainer + .elseif \trainer != 0xFF + setvar VAR_0x8006, \trainer + .endif + special CallTrainerTowerFunc + .endm + + @ Starts a trainer tower battle. VAR_0x8005 is unused + .macro ttower_dobattle + setvar VAR_0x8004, TRAINER_TOWER_FUNC_DO_BATTLE + setvar VAR_0x8005, 0 + special CallTrainerTowerFunc + .endm + + @ Returns the current challenge type (CHALLENGE_TYPE_*). Mixed challenges use different types for each floor. If VAR_0x8005 is != FALSE, does nothing + .macro ttower_getchallengetype + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE + setvar VAR_0x8005, FALSE + special CallTrainerTowerFunc + .endm + + @ Adds 1 to the number of floors cleared (all trainers on floor defeated) + .macro ttower_clearedfloor + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLEARED_FLOOR + special CallTrainerTowerFunc + .endm + + @ TRUE if the trainers on this floor were already beaten, FALSE otherwise + .macro ttower_isfloorcleared + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED + special CallTrainerTowerFunc + .endm + + @ Initializes the Trainer Tower challenge and starts the timer + .macro ttower_startchallenge + setvar VAR_0x8004, TRAINER_TOWER_FUNC_START_CHALLENGE + special CallTrainerTowerFunc + .endm + + @ 0 if not spoken to yet, 1 if spoken to but not received prize, 2 if received prize + .macro ttower_getownerstate + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_OWNER_STATE + special CallTrainerTowerFunc + .endm + + @ Tries to give prize. 0 if given successfully, 1 if no room for prize, 2 if giving prize should be skipped + .macro ttower_giveprize + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GIVE_PRIZE + special CallTrainerTowerFunc + .endm + + @ Checks the final challenge time. 0 if new record, 1 if not, 2 if time has already been checked + .macro ttower_checkfinaltime + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_FINAL_TIME + special CallTrainerTowerFunc + .endm + + @ Resumes the challenge timer (or starts, if the timer is 0) + .macro ttower_resumetimer + setvar VAR_0x8004, TRAINER_TOWER_FUNC_RESUME_TIMER + special CallTrainerTowerFunc + .endm + + @ Sets that the player lost the challenge + .macro ttower_setlost + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SET_LOST + special CallTrainerTowerFunc + .endm + + @ Returns the status of the current Trainer Tower challenge (CHALLENGE_STATUS_*) + .macro ttower_getchallengestatus + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS + special CallTrainerTowerFunc + .endm + + @ Buffers the current challenge time (min in gStringVar1, sec in gStringVar2, fraction sec in gStringVar3) + .macro ttower_gettime + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_TIME + special CallTrainerTowerFunc + .endm + + @ Unused. Displays Trainer Tower results. Handled by ShowBattleRecords instead + .macro ttower_showresults + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOW_RESULTS + special CallTrainerTowerFunc + .endm + + @ Unused. See above + .macro ttower_closeresults + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLOSE_RESULTS + special CallTrainerTowerFunc + .endm + + @ Returns the eligibility of the players party for a double battle (using GetMonsStateToDoubles) + .macro ttower_checkdoubles + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_DOUBLES + special CallTrainerTowerFunc + .endm + + @ For the unused E-Reader challenges, gets the number of floors used. Otherwise returns FALSE (all floors used) + .macro ttower_getnumfloors + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_NUM_FLOORS + special CallTrainerTowerFunc + .endm + + @ Dummied, always returns FALSE + .macro ttower_shouldexit + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER + special CallTrainerTowerFunc + .endm + + @ Plays the encounter music for the trainer number in VAR_TEMP_1 + .macro ttower_encountermusic + setvar VAR_0x8004, TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC + special CallTrainerTowerFunc + .endm + + @ TRUE if the player reached the Battle Tower owner, FALSE otherwise + .macro ttower_getbeatchallenge + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE + special CallTrainerTowerFunc + .endm diff --git a/asm/naming_screen.s b/asm/naming_screen.s deleted file mode 100644 index 105d156ce..000000000 --- a/asm/naming_screen.s +++ /dev/null @@ -1,4594 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start DoNamingScreen -DoNamingScreen: @ 809D954 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - ldr r4, _0809D980 @ =gUnknown_203998C - movs r0, 0xF2 - lsls r0, 5 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _0809D984 - ldr r0, [sp, 0x1C] - bl SetMainCallback2 - b _0809D9BE - .align 2, 0 -_0809D980: .4byte gUnknown_203998C -_0809D984: - ldr r1, _0809D9C8 @ =0x00001e2c - adds r0, r1 - strb r7, [r0] - ldr r0, [r4] - ldr r2, _0809D9CC @ =0x00001e34 - adds r1, r0, r2 - strh r5, [r1] - adds r2, 0x2 - adds r1, r0, r2 - strh r6, [r1] - ldr r1, _0809D9D0 @ =0x00001e38 - adds r2, r0, r1 - ldr r1, [sp, 0x18] - str r1, [r2] - ldr r2, _0809D9D4 @ =0x00001e30 - adds r1, r0, r2 - mov r2, r8 - str r2, [r1] - ldr r1, _0809D9D8 @ =0x00001e3c - adds r0, r1 - ldr r2, [sp, 0x1C] - str r2, [r0] - cmp r7, 0 - bne _0809D9B8 - bl StartTimer1 -_0809D9B8: - ldr r0, _0809D9DC @ =c2_choose_name_or_words_screen - bl SetMainCallback2 -_0809D9BE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D9C8: .4byte 0x00001e2c -_0809D9CC: .4byte 0x00001e34 -_0809D9D0: .4byte 0x00001e38 -_0809D9D4: .4byte 0x00001e30 -_0809D9D8: .4byte 0x00001e3c -_0809D9DC: .4byte c2_choose_name_or_words_screen - thumb_func_end DoNamingScreen - - thumb_func_start c2_choose_name_or_words_screen -c2_choose_name_or_words_screen: @ 809D9E0 - push {lr} - ldr r0, _0809D9FC @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bhi _0809DA78 - lsls r0, 2 - ldr r1, _0809DA00 @ =_0809DA04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809D9FC: .4byte gMain -_0809DA00: .4byte _0809DA04 - .align 2, 0 -_0809DA04: - .4byte _0809DA24 - .4byte _0809DA2E - .4byte _0809DA34 - .4byte _0809DA3A - .4byte _0809DA44 - .4byte _0809DA4A - .4byte _0809DA50 - .4byte _0809DA56 -_0809DA24: - bl sub_809FB88 - bl sub_809DA84 - b _0809DA62 -_0809DA2E: - bl choose_name_or_words_screen_init_bgs - b _0809DA62 -_0809DA34: - bl ResetPaletteFade - b _0809DA62 -_0809DA3A: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _0809DA62 -_0809DA44: - bl ResetTasks - b _0809DA62 -_0809DA4A: - bl choose_name_or_words_screen_apply_bg_pals - b _0809DA62 -_0809DA50: - bl choose_name_or_words_screen_load_bg_tile_patterns - b _0809DA62 -_0809DA56: - bl sub_809E898 - bl UpdatePaletteFade - bl sub_809FC34 -_0809DA62: - ldr r1, _0809DA74 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0809DA80 - .align 2, 0 -_0809DA74: .4byte gMain -_0809DA78: - bl sub_809F8C0 - bl sub_809DD60 -_0809DA80: - pop {r0} - bx r0 - thumb_func_end c2_choose_name_or_words_screen - - thumb_func_start sub_809DA84 -sub_809DA84: @ 809DA84 - push {r4-r6,lr} - ldr r4, _0809DB3C @ =gUnknown_203998C - ldr r0, [r4] - ldr r1, _0809DB40 @ =0x00001e10 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r1, [r4] - ldr r3, _0809DB44 @ =0x00001e18 - adds r0, r1, r3 - movs r5, 0 - strh r2, [r0] - ldr r6, _0809DB48 @ =0x00001e1a - adds r0, r1, r6 - strh r2, [r0] - ldr r0, _0809DB4C @ =0x00001e1c - adds r2, r1, r0 - movs r3, 0x1 - movs r0, 0x1 - strh r0, [r2] - adds r6, 0x4 - adds r2, r1, r6 - movs r0, 0x2 - strh r0, [r2] - movs r0, 0xF1 - lsls r0, 5 - adds r1, r0 - strb r5, [r1] - ldr r0, [r4] - ldr r1, _0809DB50 @ =0x00001e21 - adds r0, r1 - strb r3, [r0] - ldr r1, [r4] - ldr r5, _0809DB54 @ =0x00001e28 - adds r3, r1, r5 - ldr r2, _0809DB58 @ =gUnknown_83E248C - adds r6, 0xE - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - ldrb r0, [r0, 0x4] - ldr r2, _0809DB5C @ =0x00001e22 - adds r1, r2 - strb r0, [r1] - ldr r2, [r4] - adds r0, r2, r5 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r1, 3 - movs r0, 0xF0 - subs r0, r1 - asrs r0, 1 - adds r0, 0x6 - ldr r3, _0809DB60 @ =0x00001e16 - adds r1, r2, r3 - strh r0, [r1] - ldr r6, _0809DB64 @ =gKeyRepeatStartDelay - ldrh r0, [r6] - ldr r1, _0809DB68 @ =0x00001e25 - adds r2, r1 - strb r0, [r2] - ldr r0, [r4] - movs r2, 0xC0 - lsls r2, 5 - adds r0, r2 - movs r1, 0xFF - movs r2, 0x10 - bl memset - ldr r1, [r4] - adds r5, r1, r5 - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0 - beq _0809DB30 - movs r3, 0xC0 - lsls r3, 5 - adds r0, r1, r3 - ldr r2, _0809DB6C @ =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_0809DB30: - movs r0, 0x10 - strh r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809DB3C: .4byte gUnknown_203998C -_0809DB40: .4byte 0x00001e10 -_0809DB44: .4byte 0x00001e18 -_0809DB48: .4byte 0x00001e1a -_0809DB4C: .4byte 0x00001e1c -_0809DB50: .4byte 0x00001e21 -_0809DB54: .4byte 0x00001e28 -_0809DB58: .4byte gUnknown_83E248C -_0809DB5C: .4byte 0x00001e22 -_0809DB60: .4byte 0x00001e16 -_0809DB64: .4byte gKeyRepeatStartDelay -_0809DB68: .4byte 0x00001e25 -_0809DB6C: .4byte 0x00001e30 - thumb_func_end sub_809DA84 - - thumb_func_start sub_809DB70 -sub_809DB70: @ 809DB70 - push {r4,r5,lr} - movs r3, 0 - ldr r4, _0809DBAC @ =gSprites - movs r5, 0x5 - negs r5, r5 -_0809DB7A: - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r4 - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - lsls r0, r1, 31 - cmp r0, 0 - beq _0809DB94 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_0809DB94: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3F - bls _0809DB7A - movs r0, 0 - bl sub_809EA0C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809DBAC: .4byte gSprites - thumb_func_end sub_809DB70 - - thumb_func_start choose_name_or_words_screen_init_bgs -choose_name_or_words_screen_init_bgs: @ 809DBB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0xC - mov r8, r0 - add r2, sp, 0x8 - movs r6, 0 - ldr r1, _0809DD44 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0809DD48 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0809DBD6: - strh r6, [r2] - add r0, sp, 0x8 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0809DBD6 - strh r6, [r2] - add r2, sp, 0x8 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0xC] - ldr r2, _0809DD44 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x8 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0809DD4C @ =gUnknown_83E2290 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl InitStandardTextBoxWindows - bl ResetBg0 -_0809DCA4: - lsls r0, r4, 3 - ldr r1, _0809DD50 @ =gUnknown_83E22A0 - adds r0, r1 - bl AddWindow - ldr r5, _0809DD54 @ =gUnknown_203998C - ldr r1, [r5] - ldr r2, _0809DD58 @ =0x00001e11 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0809DCA4 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r1, 0xC8 - lsls r1, 3 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _0809DD5C @ =0x0000080c - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r5] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x80 - lsls r0, 4 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809DD44: .4byte 0x040000d4 -_0809DD48: .4byte 0x81000800 -_0809DD4C: .4byte gUnknown_83E2290 -_0809DD50: .4byte gUnknown_83E22A0 -_0809DD54: .4byte gUnknown_203998C -_0809DD58: .4byte 0x00001e11 -_0809DD5C: .4byte 0x0000080c - thumb_func_end choose_name_or_words_screen_init_bgs - - thumb_func_start sub_809DD60 -sub_809DD60: @ 809DD60 - push {lr} - ldr r0, _0809DD80 @ =sub_809DD88 - movs r1, 0x2 - bl CreateTask - ldr r0, _0809DD84 @ =sub_809FB70 - bl SetMainCallback2 - bl HelpSystem_BackupSomeVariable - movs r0, 0x3 - bl HelpSystem_SetSomeVariable2 - pop {r0} - bx r0 - .align 2, 0 -_0809DD80: .4byte sub_809DD88 -_0809DD84: .4byte sub_809FB70 - thumb_func_end sub_809DD60 - - thumb_func_start sub_809DD88 -sub_809DD88: @ 809DD88 - push {lr} - ldr r0, _0809DDA4 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809DDA8 @ =0x00001e10 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _0809DE1A - lsls r0, 2 - ldr r1, _0809DDAC @ =_0809DDB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809DDA4: .4byte gUnknown_203998C -_0809DDA8: .4byte 0x00001e10 -_0809DDAC: .4byte _0809DDB0 - .align 2, 0 -_0809DDB0: - .4byte _0809DDD8 - .4byte _0809DDE6 - .4byte _0809DDEC - .4byte _0809DDF2 - .4byte _0809DDF8 - .4byte _0809DDFE - .4byte _0809DE04 - .4byte _0809DE0A - .4byte _0809DE10 - .4byte _0809DE16 -_0809DDD8: - bl sub_809DE70 - bl sub_809DB70 - bl sub_809FB9C - b _0809DE1A -_0809DDE6: - bl sub_809DF28 - b _0809DE1A -_0809DDEC: - bl sub_809DF64 - b _0809DE1A -_0809DDF2: - bl sub_809DF74 - b _0809DE1A -_0809DDF8: - bl sub_809E210 - b _0809DE1A -_0809DDFE: - bl sub_809E250 - b _0809DE1A -_0809DE04: - bl pokemon_store - b _0809DE1A -_0809DE0A: - bl sub_809E1D4 - b _0809DE1A -_0809DE10: - bl sub_809E014 - b _0809DE1A -_0809DE16: - bl sub_809E048 -_0809DE1A: - pop {r0} - bx r0 - thumb_func_end sub_809DD88 - - thumb_func_start sub_809DE20 -sub_809DE20: @ 809DE20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809DE2C @ =gUnknown_83E234B - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809DE2C: .4byte gUnknown_83E234B - thumb_func_end sub_809DE20 - - thumb_func_start sub_809DE30 -sub_809DE30: @ 809DE30 - ldr r1, _0809DE44 @ =gUnknown_83E234E - ldr r0, _0809DE48 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809DE4C @ =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809DE44: .4byte gUnknown_83E234E -_0809DE48: .4byte gUnknown_203998C -_0809DE4C: .4byte 0x00001e22 - thumb_func_end sub_809DE30 - - thumb_func_start sub_809DE50 -sub_809DE50: @ 809DE50 - ldr r1, _0809DE64 @ =gUnknown_83E2351 - ldr r0, _0809DE68 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809DE6C @ =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809DE64: .4byte gUnknown_83E2351 -_0809DE68: .4byte gUnknown_203998C -_0809DE6C: .4byte 0x00001e22 - thumb_func_end sub_809DE50 - - thumb_func_start sub_809DE70 -sub_809DE70: @ 809DE70 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _0809DF08 @ =gUnknown_8E982BC - movs r0, 0x3 - bl sub_809F900 - ldr r5, _0809DF0C @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809DF10 @ =0x00001e22 - adds r0, r1 - movs r6, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r1, _0809DF14 @ =gUnknown_8E98458 - movs r0, 0x2 - bl sub_809F900 - ldr r1, _0809DF18 @ =gUnknown_8E98398 - movs r0, 0x1 - bl sub_809F900 - ldr r0, [r5] - ldr r1, _0809DF1C @ =0x00001e12 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_809F9E8 - ldr r0, [r5] - ldr r1, _0809DF20 @ =0x00001e11 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_809F9E8 - bl sub_809F914 - bl sub_809F56C - bl sub_809FAE4 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r6, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldr r0, _0809DF24 @ =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809DF08: .4byte gUnknown_8E982BC -_0809DF0C: .4byte gUnknown_203998C -_0809DF10: .4byte 0x00001e22 -_0809DF14: .4byte gUnknown_8E98458 -_0809DF18: .4byte gUnknown_8E98398 -_0809DF1C: .4byte 0x00001e12 -_0809DF20: .4byte 0x00001e11 -_0809DF24: .4byte 0x00001e10 - thumb_func_end sub_809DE70 - - thumb_func_start sub_809DF28 -sub_809DF28: @ 809DF28 - push {lr} - ldr r0, _0809DF58 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809DF50 - movs r0, 0x1 - bl SetInputState - movs r0, 0x1 - bl sub_809EA64 - ldr r0, _0809DF5C @ =gUnknown_203998C - ldr r1, [r0] - ldr r0, _0809DF60 @ =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0809DF50: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809DF58: .4byte gPaletteFade -_0809DF5C: .4byte gUnknown_203998C -_0809DF60: .4byte 0x00001e10 - thumb_func_end sub_809DF28 - - thumb_func_start sub_809DF64 -sub_809DF64: @ 809DF64 - push {lr} - bl sub_809F0CC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_809DF64 - - thumb_func_start sub_809DF74 -sub_809DF74: @ 809DF74 - push {lr} - bl sub_809EAD4 - lsls r0, 24 - cmp r0, 0 - beq _0809DF96 - movs r0, 0x1 - bl SetInputState - bl sub_809E9F8 - ldr r0, _0809DF9C @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809DFA0 @ =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] -_0809DF96: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809DF9C: .4byte gUnknown_203998C -_0809DFA0: .4byte 0x00001e10 - thumb_func_end sub_809DF74 - - thumb_func_start pokemon_store -pokemon_store: @ 809DFA4 - push {r4,lr} - bl sub_809F7EC - movs r0, 0 - bl SetInputState - movs r0, 0 - bl sub_809EA64 - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl sub_809E518 - ldr r4, _0809DFEC @ =gUnknown_203998C - ldr r0, [r4] - ldr r1, _0809DFF0 @ =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _0809DFF8 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _0809DFF8 - bl pokemon_transfer_to_pc_with_message - ldr r0, [r4] - ldr r1, _0809DFF4 @ =0x00001e10 - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - movs r0, 0 - b _0809E006 - .align 2, 0 -_0809DFEC: .4byte gUnknown_203998C -_0809DFF0: .4byte 0x00001e2c -_0809DFF4: .4byte 0x00001e10 -_0809DFF8: - ldr r0, _0809E00C @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809E010 @ =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] - movs r0, 0x1 -_0809E006: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809E00C: .4byte gUnknown_203998C -_0809E010: .4byte 0x00001e10 - thumb_func_end pokemon_store - - thumb_func_start sub_809E014 -sub_809E014: @ 809E014 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0809E040 @ =gUnknown_203998C - ldr r1, [r0] - ldr r0, _0809E044 @ =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_0809E040: .4byte gUnknown_203998C -_0809E044: .4byte 0x00001e10 - thumb_func_end sub_809E014 - - thumb_func_start sub_809E048 -sub_809E048: @ 809E048 - push {r4,r5,lr} - ldr r0, _0809E0A0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0809E096 - ldr r4, _0809E0A4 @ =gUnknown_203998C - ldr r0, [r4] - ldr r1, _0809E0A8 @ =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0809E06C - bl SeedRngAndSetTrainerId -_0809E06C: - ldr r0, [r4] - ldr r1, _0809E0AC @ =0x00001e3c - adds r0, r1 - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, _0809E0B0 @ =sub_809DD88 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, [r4] - bl Free - str r5, [r4] - bl HelpSystem_RestoreSomeVariable -_0809E096: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809E0A0: .4byte gPaletteFade -_0809E0A4: .4byte gUnknown_203998C -_0809E0A8: .4byte 0x00001e2c -_0809E0AC: .4byte 0x00001e3c -_0809E0B0: .4byte sub_809DD88 - thumb_func_end sub_809E048 - - thumb_func_start pokemon_transfer_to_pc_with_message -pokemon_transfer_to_pc_with_message: @ 809E0B4 - push {r4,r5,lr} - sub sp, 0x10 - movs r5, 0 - bl IsDestinationBoxFull - lsls r0, 24 - cmp r0, 0 - bne _0809E104 - ldr r4, _0809E0F0 @ =gStringVar1 - ldr r0, _0809E0F4 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, _0809E0F8 @ =gStringVar2 - ldr r1, _0809E0FC @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809E100 @ =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - b _0809E144 - .align 2, 0 -_0809E0F0: .4byte gStringVar1 -_0809E0F4: .4byte 0x00004037 -_0809E0F8: .4byte gStringVar2 -_0809E0FC: .4byte gUnknown_203998C -_0809E100: .4byte 0x00001e30 -_0809E104: - ldr r4, _0809E1AC @ =gStringVar1 - ldr r0, _0809E1B0 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, _0809E1B4 @ =gStringVar2 - ldr r1, _0809E1B8 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809E1BC @ =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r4, _0809E1C0 @ =gStringVar3 - bl GetPCBoxToSendMon - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - movs r5, 0x2 -_0809E144: - ldr r0, _0809E1C4 @ =0x00000834 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0809E156 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0809E156: - ldr r4, _0809E1C8 @ =gStringVar4 - ldr r1, _0809E1CC @ =gUnknown_83E2280 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldr r2, _0809E1D0 @ =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E1AC: .4byte gStringVar1 -_0809E1B0: .4byte 0x00004037 -_0809E1B4: .4byte gStringVar2 -_0809E1B8: .4byte gUnknown_203998C -_0809E1BC: .4byte 0x00001e30 -_0809E1C0: .4byte gStringVar3 -_0809E1C4: .4byte 0x00000834 -_0809E1C8: .4byte gStringVar4 -_0809E1CC: .4byte gUnknown_83E2280 -_0809E1D0: .4byte gTextFlags - thumb_func_end pokemon_transfer_to_pc_with_message - - thumb_func_start sub_809E1D4 -sub_809E1D4: @ 809E1D4 - push {lr} - bl RunTextPrinters - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0809E1FE - ldr r0, _0809E204 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809E1FE - ldr r0, _0809E208 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809E20C @ =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] -_0809E1FE: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809E204: .4byte gMain -_0809E208: .4byte gUnknown_203998C -_0809E20C: .4byte 0x00001e10 - thumb_func_end sub_809E1D4 - - thumb_func_start sub_809E210 -sub_809E210: @ 809E210 - push {lr} - movs r0, 0 - bl SetInputState - bl sub_809EC20 - bl sub_809E30C - movs r0, 0x1 - bl sub_809EA0C - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_809E518 - movs r0, 0x6 - bl PlaySE - ldr r0, _0809E248 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809E24C @ =0x00001e10 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809E248: .4byte gUnknown_203998C -_0809E24C: .4byte 0x00001e10 - thumb_func_end sub_809E210 - - thumb_func_start sub_809E250 -sub_809E250: @ 809E250 - push {r4-r6,lr} - sub sp, 0x4 - bl sub_809E364 - lsls r0, 24 - cmp r0, 0 - beq _0809E302 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_809E9CC - bl sub_809EB40 - movs r5, 0 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 24 - lsrs r0, 24 - adds r6, r4, 0 - cmp r1, r0 - bne _0809E282 - movs r5, 0x1 -_0809E282: - ldr r2, _0809E2B8 @ =gUnknown_203998C - ldr r0, [r2] - ldr r1, _0809E2BC @ =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r1, [r2] - ldr r3, _0809E2C0 @ =0x00001e22 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, [r2] - adds r4, r3 - ldrb r0, [r4] - movs r1, 0x3 - bl __umodsi3 - strb r0, [r4] - cmp r5, 0 - beq _0809E2C4 - mov r4, sp - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - b _0809E2E2 - .align 2, 0 -_0809E2B8: .4byte gUnknown_203998C -_0809E2BC: .4byte 0x00001e10 -_0809E2C0: .4byte 0x00001e22 -_0809E2C4: - mov r0, sp - movs r2, 0 - ldrsh r4, [r0, r2] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _0809E2E4 - mov r4, sp - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 -_0809E2E2: - strh r0, [r4] -_0809E2E4: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - bl sub_809E948 - bl sub_809FA60 - movs r0, 0x1 - bl SetInputState - movs r0, 0 - bl sub_809EA0C -_0809E302: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_809E250 - - thumb_func_start sub_809E30C -sub_809E30C: @ 809E30C - push {r4,lr} - ldr r4, _0809E328 @ =sub_809E32C - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809E328: .4byte sub_809E32C - thumb_func_end sub_809E30C - - thumb_func_start sub_809E32C -sub_809E32C: @ 809E32C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0809E35C @ =gUnknown_83E2354 - ldr r2, _0809E360 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0809E33E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0809E33E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E35C: .4byte gUnknown_83E2354 -_0809E360: .4byte gTasks - thumb_func_end sub_809E32C - - thumb_func_start sub_809E364 -sub_809E364: @ 809E364 - push {lr} - ldr r0, _0809E378 @ =sub_809E32C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0809E37C - movs r0, 0 - b _0809E37E - .align 2, 0 -_0809E378: .4byte sub_809E32C -_0809E37C: - movs r0, 0x1 -_0809E37E: - pop {r1} - bx r1 - thumb_func_end sub_809E364 - - thumb_func_start sub_809E384 -sub_809E384: @ 809E384 - ldr r1, _0809E3A0 @ =gUnknown_203998C - ldr r1, [r1] - ldr r3, _0809E3A4 @ =0x00001e18 - adds r2, r1, r3 - movs r3, 0 - strh r3, [r2] - ldr r2, _0809E3A8 @ =0x00001e1a - adds r1, r2 - strh r3, [r1] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .align 2, 0 -_0809E3A0: .4byte gUnknown_203998C -_0809E3A4: .4byte 0x00001e18 -_0809E3A8: .4byte 0x00001e1a - thumb_func_end sub_809E384 - - thumb_func_start sub_809E3AC -sub_809E3AC: @ 809E3AC - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, _0809E42C @ =gUnknown_203998C - ldr r0, [r5] - ldr r2, _0809E430 @ =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r1, _0809E434 @ =0x00001e18 - adds r0, r1 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r2, _0809E438 @ =0x00001e21 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _0809E422 - ldr r0, [r5] - ldr r1, _0809E43C @ =0x00001e1c - adds r2, r0, r1 - ldrb r3, [r2] - adds r1, 0x2 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - strh r3, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0809E422: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809E42C: .4byte gUnknown_203998C -_0809E430: .4byte 0x00001e1a -_0809E434: .4byte 0x00001e18 -_0809E438: .4byte 0x00001e21 -_0809E43C: .4byte 0x00001e1c - thumb_func_end sub_809E3AC - - thumb_func_start sub_809E440 -sub_809E440: @ 809E440 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, _0809E4C4 @ =gUnknown_203998C - ldr r0, [r5] - ldr r2, _0809E4C8 @ =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r3, _0809E4CC @ =0x00001e18 - adds r0, r3 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r3, _0809E4D0 @ =0x00001e21 - adds r1, r3 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _0809E4BA - ldr r0, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r0, r2 - ldrb r2, [r1] - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [r5] - adds r0, r3 - strb r2, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0809E4BA: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809E4C4: .4byte gUnknown_203998C -_0809E4C8: .4byte 0x00001e1a -_0809E4CC: .4byte 0x00001e18 -_0809E4D0: .4byte 0x00001e21 - thumb_func_end sub_809E440 - - thumb_func_start sub_809E4D4 -sub_809E4D4: @ 809E4D4 - push {lr} - ldr r0, _0809E4EC @ =sub_809E32C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809E4EC: .4byte sub_809E32C - thumb_func_end sub_809E4D4 - - thumb_func_start sub_809E4F0 -sub_809E4F0: @ 809E4F0 - push {lr} - ldr r0, _0809E510 @ =c3_0809E58C - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809E514 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x3 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0809E510: .4byte c3_0809E58C -_0809E514: .4byte gTasks - thumb_func_end sub_809E4F0 - - thumb_func_start sub_809E518 -sub_809E518: @ 809E518 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _0809E550 @ =c3_0809E58C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0809E554 @ =gTasks - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r5, r0 - bne _0809E558 - cmp r6, 0 - bne _0809E558 - strh r7, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - b _0809E584 - .align 2, 0 -_0809E550: .4byte c3_0809E58C -_0809E554: .4byte gTasks -_0809E558: - cmp r5, 0x3 - bne _0809E568 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0809E568 - cmp r6, 0 - beq _0809E584 -_0809E568: - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _0809E57A - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_809E6B8 -_0809E57A: - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r7, 0 - bl sub_809E6E0 -_0809E584: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809E518 - - thumb_func_start c3_0809E58C -c3_0809E58C: @ 809E58C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0809E5F4 @ =gTasks - adds r4, r1, r0 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _0809E63E - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0809E63E - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_809E644 - lsls r0, 16 - lsrs r0, 16 - ldrb r3, [r4, 0xE] - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyInvertedPaletteRGBComponents - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0809E5D8 - subs r0, r1, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _0809E63E -_0809E5D8: - movs r0, 0x2 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r0, 0 - blt _0809E602 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0xD - bgt _0809E5F8 - adds r0, r2, r1 - b _0809E606 - .align 2, 0 -_0809E5F4: .4byte gTasks -_0809E5F8: - movs r0, 0x10 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x14] - adds r0, 0x1 - b _0809E60C -_0809E602: - ldrh r3, [r4, 0xE] - adds r0, r1, r3 -_0809E606: - strh r0, [r4, 0xE] - ldrh r2, [r4, 0x14] - adds r0, r1, r2 -_0809E60C: - strh r0, [r4, 0x14] - movs r3, 0xE - ldrsh r0, [r4, r3] - ldrh r1, [r4, 0xE] - cmp r0, 0x10 - bne _0809E62C - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _0809E62C - ldr r0, _0809E628 @ =0x0000fffc - strh r0, [r4, 0x10] - b _0809E63E - .align 2, 0 -_0809E628: .4byte 0x0000fffc -_0809E62C: - lsls r0, r1, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _0809E63E - ldrh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0x2 - strh r0, [r4, 0x10] - strh r1, [r4, 0x14] -_0809E63E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end c3_0809E58C - - thumb_func_start sub_809E644 -sub_809E644: @ 809E644 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x4 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x87 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - add r6, sp, 0x8 - strh r0, [r6] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - mov r1, sp - adds r1, 0xA - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - add r1, sp, 0xC - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - ldr r1, _0809E6B4 @ =0x00000101 - adds r0, r1 - mov r1, sp - adds r1, 0xE - strh r0, [r1] - mov r0, sp - adds r1, r6, 0 - movs r2, 0x8 - bl memcpy - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrh r0, [r0] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809E6B4: .4byte 0x00000101 - thumb_func_end sub_809E644 - - thumb_func_start sub_809E6B8 -sub_809E6B8: @ 809E6B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_809E644 - lsls r0, 16 - ldr r2, _0809E6D8 @ =gPlttBufferFaded - lsrs r0, 15 - adds r2, r0, r2 - ldr r1, _0809E6DC @ =gPlttBufferUnfaded - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0809E6D8: .4byte gPlttBufferFaded -_0809E6DC: .4byte gPlttBufferUnfaded - thumb_func_end sub_809E6B8 - - thumb_func_start sub_809E6E0 -sub_809E6E0: @ 809E6E0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0xC] - movs r2, 0x4 - strh r2, [r0, 0xE] - movs r1, 0x2 - strh r1, [r0, 0x10] - strh r3, [r0, 0x12] - strh r2, [r0, 0x14] - bx lr - thumb_func_end sub_809E6E0 - - thumb_func_start sub_809E700 -sub_809E700: @ 809E700 - push {r4-r6,lr} - adds r5, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0809E718 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim -_0809E718: - ldrh r0, [r5, 0x36] - movs r1, 0xFF - ands r1, r0 - adds r6, r5, 0 - adds r6, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2E - ldrsh r4, [r5, r0] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809E74C - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] -_0809E74C: - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0809E77C - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0809E77C - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0809E77C - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r1, r0 - beq _0809E786 -_0809E77C: - movs r0, 0 - strh r0, [r5, 0x38] - movs r0, 0x2 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x3C] -_0809E786: - ldrh r0, [r5, 0x3C] - subs r0, 0x1 - strh r0, [r5, 0x3C] - lsls r0, 16 - cmp r0, 0 - bne _0809E7AE - ldrh r1, [r5, 0x3A] - ldrh r2, [r5, 0x38] - adds r0, r1, r2 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _0809E7A6 - cmp r0, 0 - bne _0809E7AA -_0809E7A6: - negs r0, r1 - strh r0, [r5, 0x3A] -_0809E7AA: - movs r0, 0x2 - strh r0, [r5, 0x3C] -_0809E7AE: - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0809E7E4 - ldrh r4, [r5, 0x38] - lsls r5, r4, 24 - lsrs r5, 24 - lsls r4, 16 - asrs r4, 17 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, _0809E7EC @ =0x01010000 - adds r0, r2 - lsrs r0, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r5, 0 - bl MultiplyInvertedPaletteRGBComponents -_0809E7E4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809E7EC: .4byte 0x01010000 - thumb_func_end sub_809E700 - - thumb_func_start sub_809E7F0 -sub_809E7F0: @ 809E7F0 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _0809E838 @ =gUnknown_83E2364 - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0809E814 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _0809E822 -_0809E814: - movs r0, 0x8 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] -_0809E822: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809E838: .4byte gUnknown_83E2364 - thumb_func_end sub_809E7F0 - - thumb_func_start sub_809E83C -sub_809E83C: @ 809E83C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _0809E864 @ =gUnknown_83E236C - mov r0, sp - movs r2, 0x8 - bl memcpy - bl sub_809F668 - lsls r0, 24 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - cmp r0, r1 - beq _0809E868 - movs r0, 0 - strh r0, [r4, 0x26] - strh r0, [r4, 0x30] - b _0809E88E - .align 2, 0 -_0809E864: .4byte gUnknown_83E236C -_0809E868: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0809E890 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] - movs r0, 0 -_0809E88E: - strh r0, [r4, 0x32] -_0809E890: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809E83C - - thumb_func_start sub_809E898 -sub_809E898: @ 809E898 - push {lr} - bl sub_809E8B4 - bl sub_809EB5C - bl sub_809EDE8 - bl sub_809EE60 - bl sub_809EF24 - pop {r0} - bx r0 - thumb_func_end sub_809E898 - - thumb_func_start sub_809E8B4 -sub_809E8B4: @ 809E8B4 - push {r4-r6,lr} - ldr r0, _0809E938 @ =gUnknown_83E25EC - movs r1, 0x26 - movs r2, 0x58 - movs r3, 0x1 - bl CreateSprite - ldr r5, _0809E93C @ =gUnknown_203998C - ldr r1, [r5] - ldr r4, _0809E940 @ =0x00001e23 - adds r1, r4 - strb r0, [r1] - movs r0, 0x1 - bl sub_809EA0C - ldr r6, _0809E944 @ =gSprites - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x1] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, 0x1] - ldr r2, [r5] - adds r2, r4 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x3A] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - strh r1, [r0, 0x3A] - movs r0, 0 - movs r1, 0 - bl sub_809E948 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809E938: .4byte gUnknown_83E25EC -_0809E93C: .4byte gUnknown_203998C -_0809E940: .4byte 0x00001e23 -_0809E944: .4byte gSprites - thumb_func_end sub_809E8B4 - - thumb_func_start sub_809E948 -sub_809E948: @ 809E948 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - ldr r1, _0809E994 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809E998 @ =0x00001e23 - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _0809E99C @ =gSprites - adds r5, r1, r2 - lsrs r1, r0, 16 - mov r8, r1 - asrs r6, r0, 16 - ldr r4, _0809E9A0 @ =gUnknown_83E2330 - bl sub_809DE50 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - cmp r6, r0 - bge _0809E9A8 - bl sub_809DE50 - ldr r1, _0809E9A4 @ =gUnknown_83E2333 - lsls r0, 24 - lsrs r0, 21 - adds r0, r6, r0 - adds r0, r1 - ldrb r0, [r0] - adds r0, 0x26 - b _0809E9AA - .align 2, 0 -_0809E994: .4byte gUnknown_203998C -_0809E998: .4byte 0x00001e23 -_0809E99C: .4byte gSprites -_0809E9A0: .4byte gUnknown_83E2330 -_0809E9A4: .4byte gUnknown_83E2333 -_0809E9A8: - movs r0, 0 -_0809E9AA: - strh r0, [r5, 0x20] - lsls r0, r7, 16 - asrs r0, 12 - adds r0, 0x58 - strh r0, [r5, 0x22] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x30] - strh r0, [r5, 0x34] - mov r2, r8 - strh r2, [r5, 0x2E] - strh r7, [r5, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809E948 - - thumb_func_start sub_809E9CC -sub_809E9CC: @ 809E9CC - ldr r2, _0809E9EC @ =gUnknown_203998C - ldr r2, [r2] - ldr r3, _0809E9F0 @ =0x00001e23 - adds r2, r3 - ldrb r3, [r2] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - ldr r3, _0809E9F4 @ =gSprites - adds r2, r3 - ldrh r3, [r2, 0x2E] - strh r3, [r0] - ldrh r0, [r2, 0x30] - strh r0, [r1] - bx lr - .align 2, 0 -_0809E9EC: .4byte gUnknown_203998C -_0809E9F0: .4byte 0x00001e23 -_0809E9F4: .4byte gSprites - thumb_func_end sub_809E9CC - - thumb_func_start sub_809E9F8 -sub_809E9F8: @ 809E9F8 - push {lr} - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_809E948 - pop {r0} - bx r0 - thumb_func_end sub_809E9F8 - - thumb_func_start sub_809EA0C -sub_809EA0C: @ 809EA0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0809EA54 @ =gSprites - ldr r1, _0809EA58 @ =gUnknown_203998C - ldr r4, [r1] - ldr r1, _0809EA5C @ =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - ldr r1, _0809EA60 @ =0xffffff00 - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809EA54: .4byte gSprites -_0809EA58: .4byte gUnknown_203998C -_0809EA5C: .4byte 0x00001e23 -_0809EA60: .4byte 0xffffff00 - thumb_func_end sub_809EA0C - - thumb_func_start sub_809EA64 -sub_809EA64: @ 809EA64 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, _0809EA9C @ =gSprites - ldr r1, _0809EAA0 @ =gUnknown_203998C - ldr r4, [r1] - ldr r1, _0809EAA4 @ =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - movs r1, 0xFF - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsrs r0, 16 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809EA9C: .4byte gSprites -_0809EAA0: .4byte gUnknown_203998C -_0809EAA4: .4byte 0x00001e23 - thumb_func_end sub_809EA64 - - thumb_func_start sub_809EAA8 -sub_809EAA8: @ 809EAA8 - push {lr} - ldr r0, _0809EAC8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809EACC @ =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809EAD0 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_0809EAC8: .4byte gUnknown_203998C -_0809EACC: .4byte 0x00001e23 -_0809EAD0: .4byte gSprites - thumb_func_end sub_809EAA8 - - thumb_func_start sub_809EAD4 -sub_809EAD4: @ 809EAD4 - ldr r2, _0809EAF4 @ =gSprites - ldr r0, _0809EAF8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809EAFC @ =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 31 - bx lr - .align 2, 0 -_0809EAF4: .4byte gSprites -_0809EAF8: .4byte gUnknown_203998C -_0809EAFC: .4byte 0x00001e23 - thumb_func_end sub_809EAD4 - - thumb_func_start sub_809EB00 -sub_809EB00: @ 809EB00 - push {r4,r5,lr} - sub sp, 0x4 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl sub_809E9CC - mov r0, sp - movs r1, 0 - ldrsh r4, [r0, r1] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _0809EB34 - ldr r0, _0809EB30 @ =gUnknown_83E2374 - movs r2, 0 - ldrsh r1, [r5, r2] - adds r1, r0 - ldrb r0, [r1] - b _0809EB36 - .align 2, 0 -_0809EB30: .4byte gUnknown_83E2374 -_0809EB34: - movs r0, 0 -_0809EB36: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809EB00 - - thumb_func_start sub_809EB40 -sub_809EB40: @ 809EB40 - push {r4,lr} - ldr r4, _0809EB58 @ =gUnknown_83E2330 - bl sub_809DE50 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809EB58: .4byte gUnknown_83E2330 - thumb_func_end sub_809EB40 - - thumb_func_start sub_809EB5C -sub_809EB5C: @ 809EB5C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _0809EC00 @ =gUnknown_83E2574 - movs r1, 0xCC - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809EC04 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809EC08 @ =0x00001e24 - adds r1, r2 - strb r0, [r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, _0809EC0C @ =gSprites - mov r8, r0 - add r5, r8 - ldr r1, _0809EC10 @ =gUnknown_83E2504 - adds r0, r5, 0 - bl SetSubspriteTables - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r6, 0x4 - orrs r0, r6 - strb r0, [r1] - ldr r0, _0809EC14 @ =gUnknown_83E25A4 - movs r1, 0xCC - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r8 - ldr r1, _0809EC18 @ =gUnknown_83E250C - adds r0, r4, 0 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r6 - strb r0, [r4] - ldr r0, _0809EC1C @ =gUnknown_83E258C - movs r1, 0xCC - movs r2, 0x53 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r6 - strb r1, [r2, 0x5] - strh r0, [r5, 0x3C] - adds r2, 0x3E - ldrb r0, [r2] - orrs r0, r6 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EC00: .4byte gUnknown_83E2574 -_0809EC04: .4byte gUnknown_203998C -_0809EC08: .4byte 0x00001e24 -_0809EC0C: .4byte gSprites -_0809EC10: .4byte gUnknown_83E2504 -_0809EC14: .4byte gUnknown_83E25A4 -_0809EC18: .4byte gUnknown_83E250C -_0809EC1C: .4byte gUnknown_83E258C - thumb_func_end sub_809EB5C - - thumb_func_start sub_809EC20 -sub_809EC20: @ 809EC20 - ldr r0, _0809EC44 @ =gUnknown_203998C - ldr r2, [r0] - ldr r1, _0809EC48 @ =0x00001e24 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809EC4C @ =gSprites - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r1, _0809EC50 @ =0x00001e22 - adds r2, r1 - ldrb r1, [r2] - strh r1, [r0, 0x30] - bx lr - .align 2, 0 -_0809EC44: .4byte gUnknown_203998C -_0809EC48: .4byte 0x00001e24 -_0809EC4C: .4byte gSprites -_0809EC50: .4byte 0x00001e22 - thumb_func_end sub_809EC20 - - thumb_func_start sub_809EC54 -sub_809EC54: @ 809EC54 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _0809EC78 @ =gUnknown_83E2378 -_0809EC5A: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0809EC5A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809EC78: .4byte gUnknown_83E2378 - thumb_func_end sub_809EC54 - - thumb_func_start sub_809EC7C -sub_809EC7C: @ 809EC7C - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r1, _0809ECC4 @ =gSprites - adds r5, r1 - movs r2, 0x3C - ldrsh r0, [r6, r2] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldr r0, _0809ECC8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809ECCC @ =0x00001e22 - adds r0, r1 - ldrb r0, [r0] - bl sub_809DE20 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_809ED88 - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809ECC4: .4byte gSprites -_0809ECC8: .4byte gUnknown_203998C -_0809ECCC: .4byte 0x00001e22 - thumb_func_end sub_809EC7C - - thumb_func_start sub_809ECD0 -sub_809ECD0: @ 809ECD0 - movs r0, 0 - bx lr - thumb_func_end sub_809ECD0 - - thumb_func_start sub_809ECD4 -sub_809ECD4: @ 809ECD4 - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, _0809ED40 @ =gSprites - adds r4, r0, r2 - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0809ED38 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, _0809ED44 @ =0x0000fffc - strh r0, [r4, 0x26] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r0, 24 - lsrs r0, 24 - bl sub_809DE20 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_809ED88 -_0809ED38: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809ED40: .4byte gSprites -_0809ED44: .4byte 0x0000fffc - thumb_func_end sub_809ECD4 - - thumb_func_start sub_809ED48 -sub_809ED48: @ 809ED48 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809ED84 @ =gSprites - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _0809ED7C - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0x2E] -_0809ED7C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809ED84: .4byte gSprites - thumb_func_end sub_809ED48 - - thumb_func_start sub_809ED88 -sub_809ED88: @ 809ED88 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0809EDE0 @ =gUnknown_83E2388 - lsls r4, r5, 1 - adds r0, r4, r0 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 4 - mov r1, r8 - ldrb r2, [r1, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - mov r0, r8 - strb r1, [r0, 0x5] - ldr r0, _0809EDE4 @ =gUnknown_83E238E - adds r4, r0 - ldrh r0, [r4] - bl GetSpriteTileStartByTag - adds r1, r6, 0 - adds r1, 0x40 - strh r0, [r1] - adds r6, 0x42 - movs r1, 0x3F - ands r1, r5 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EDE0: .4byte gUnknown_83E2388 -_0809EDE4: .4byte gUnknown_83E238E - thumb_func_end sub_809ED88 - - thumb_func_start sub_809EDE8 -sub_809EDE8: @ 809EDE8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _0809EE50 @ =gUnknown_83E25BC - movs r1, 0xCC - movs r2, 0x74 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r6, _0809EE54 @ =gSprites - adds r4, r6 - ldr r0, _0809EE58 @ =gUnknown_83E2524 - mov r8, r0 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r4] - ldr r0, _0809EE5C @ =gUnknown_83E25D4 - movs r1, 0xCC - movs r2, 0x8C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r5 - strb r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EE50: .4byte gUnknown_83E25BC -_0809EE54: .4byte gSprites -_0809EE58: .4byte gUnknown_83E2524 -_0809EE5C: .4byte gUnknown_83E25D4 - thumb_func_end sub_809EDE8 - - thumb_func_start sub_809EE60 -sub_809EE60: @ 809EE60 - push {r4-r6,lr} - ldr r5, _0809EF0C @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809EF10 @ =0x00001e16 - adds r0, r4 - ldrh r1, [r0] - subs r1, 0x5 - ldr r0, _0809EF14 @ =gUnknown_83E2604 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x38 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, _0809EF18 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r4, r0, r4 - ldrh r1, [r4] - movs r5, 0 - ldr r2, _0809EF1C @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcs _0809EF04 - adds r6, r3, 0 -_0809EEB2: - lsls r1, 16 - asrs r4, r1, 16 - movs r0, 0xC0 - lsls r0, 10 - adds r1, r0 - asrs r1, 16 - ldr r0, _0809EF20 @ =gUnknown_83E261C - movs r2, 0x3C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - strh r5, [r0, 0x2E] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x8 - lsls r4, 16 - lsrs r1, r4, 16 - ldr r0, _0809EF0C @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809EF1C @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcc _0809EEB2 -_0809EF04: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EF0C: .4byte gUnknown_203998C -_0809EF10: .4byte 0x00001e16 -_0809EF14: .4byte gUnknown_83E2604 -_0809EF18: .4byte gSprites -_0809EF1C: .4byte 0x00001e28 -_0809EF20: .4byte gUnknown_83E261C - thumb_func_end sub_809EE60 - - thumb_func_start sub_809EF24 -sub_809EF24: @ 809EF24 - push {lr} - ldr r1, _0809EF44 @ =gUnknown_83E2394 - ldr r0, _0809EF48 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809EF4C @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_0809EF44: .4byte gUnknown_83E2394 -_0809EF48: .4byte gUnknown_203998C -_0809EF4C: .4byte 0x00001e28 - thumb_func_end sub_809EF24 - - thumb_func_start nullsub_54 -nullsub_54: @ 809EF50 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_809EF54 -sub_809EF54: @ 809EF54 - push {lr} - sub sp, 0x4 - ldr r0, _0809EFA0 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809EFA4 @ =0x00001e34 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0 - bl sub_805C7C8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809EFA8 @ =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - movs r2, 0x38 - movs r3, 0x25 - bl AddPseudoObjectEvent - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0809EFAC @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x4 - bl StartSpriteAnim - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0809EFA0: .4byte gUnknown_203998C -_0809EFA4: .4byte 0x00001e34 -_0809EFA8: .4byte SpriteCallbackDummy -_0809EFAC: .4byte gSprites - thumb_func_end sub_809EF54 - - thumb_func_start sub_809EFB0 -sub_809EFB0: @ 809EFB0 - push {r4,lr} - ldr r0, _0809EFE4 @ =gUnknown_83E2634 - movs r1, 0x38 - movs r2, 0x29 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0809EFE8 @ =gSprites - adds r4, r0 - ldr r1, _0809EFEC @ =gUnknown_83E252C - adds r0, r4, 0 - bl SetSubspriteTables - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809EFE4: .4byte gUnknown_83E2634 -_0809EFE8: .4byte gSprites -_0809EFEC: .4byte gUnknown_83E252C - thumb_func_end sub_809EFB0 - - thumb_func_start sub_809EFF0 -sub_809EFF0: @ 809EFF0 - push {lr} - sub sp, 0xC - bl LoadMonIconPalettes - ldr r0, _0809F038 @ =gUnknown_203998C - ldr r3, [r0] - ldr r1, _0809F03C @ =0x00001e34 - adds r0, r3, r1 - ldrh r0, [r0] - ldr r1, _0809F040 @ =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - ldr r2, _0809F044 @ =0x00001e38 - adds r3, r2 - ldr r2, [r3] - str r2, [sp, 0x4] - movs r2, 0x1 - str r2, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x28 - bl CreateMonIcon - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F048 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_0809F038: .4byte gUnknown_203998C -_0809F03C: .4byte 0x00001e34 -_0809F040: .4byte SpriteCallbackDummy -_0809F044: .4byte 0x00001e38 -_0809F048: .4byte gSprites - thumb_func_end sub_809EFF0 - - thumb_func_start sub_809F04C -sub_809F04C: @ 809F04C - push {r4,lr} - sub sp, 0x2C - ldr r0, _0809F0B8 @ =gUnknown_83E23C0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x1C] - str r1, [sp, 0x20] - ldr r0, _0809F0BC @ =gUnknown_83E23C8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x24] - str r1, [sp, 0x28] - ldr r1, _0809F0C0 @ =SpriteCallbackDummy - add r3, sp, 0x18 - movs r0, 0 - mov r2, sp - bl MakeObjectTemplateFromObjectEventGraphicsInfo - mov r2, sp - add r0, sp, 0x1C - ldrh r1, [r0, 0x6] - strh r1, [r2] - add r4, sp, 0x24 - ldrh r1, [r4, 0x4] - strh r1, [r2, 0x2] - ldr r1, _0809F0C4 @ =gUnknown_83E23BC - str r1, [sp, 0x8] - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0x38 - movs r2, 0x25 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F0C8 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0x2C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809F0B8: .4byte gUnknown_83E23C0 -_0809F0BC: .4byte gUnknown_83E23C8 -_0809F0C0: .4byte SpriteCallbackDummy -_0809F0C4: .4byte gUnknown_83E23BC -_0809F0C8: .4byte gSprites - thumb_func_end sub_809F04C - - thumb_func_start sub_809F0CC -sub_809F0CC: @ 809F0CC - push {r4,r5,lr} - bl GetInputEvent - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_809EB00 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0x8 - bne _0809F0EA - bl sub_809F1F0 - b _0809F106 -_0809F0EA: - cmp r4, 0x6 - bne _0809F0F4 - bl sub_809F700 - b _0809F114 -_0809F0F4: - cmp r5, 0x9 - beq _0809F110 - ldr r1, _0809F10C @ =gUnknown_83E23D0 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_0809F106: - lsls r0, 24 - lsrs r0, 24 - b _0809F116 - .align 2, 0 -_0809F10C: .4byte gUnknown_83E23D0 -_0809F110: - bl sub_809E9F8 -_0809F114: - movs r0, 0 -_0809F116: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809F0CC - - thumb_func_start sub_809F11C -sub_809F11C: @ 809F11C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - bne _0809F156 - bl sub_809F75C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_809EAA8 - cmp r4, 0 - beq _0809F156 - movs r0, 0 - bl SetInputState - ldr r0, _0809F160 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809F164 @ =0x00001e10 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] -_0809F156: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809F160: .4byte gUnknown_203998C -_0809F164: .4byte 0x00001e10 - thumb_func_end sub_809F11C - - thumb_func_start KeyboardKeyHandler_Page -KeyboardKeyHandler_Page: @ 809F168 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - beq _0809F182 - movs r0, 0 - b _0809F18A -_0809F182: - bl sub_809F1F0 - lsls r0, 24 - lsrs r0, 24 -_0809F18A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end KeyboardKeyHandler_Page - - thumb_func_start KeyboardKeyHandler_Backspace -KeyboardKeyHandler_Backspace: @ 809F190 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - bne _0809F1AA - bl sub_809F700 -_0809F1AA: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end KeyboardKeyHandler_Backspace - - thumb_func_start KeyboardKeyHandler_OK -KeyboardKeyHandler_OK: @ 809F1B4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - beq _0809F1CE - movs r0, 0 - b _0809F1E2 -_0809F1CE: - movs r0, 0x5 - bl PlaySE - ldr r0, _0809F1E8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809F1EC @ =0x00001e10 - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 -_0809F1E2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809F1E8: .4byte gUnknown_203998C -_0809F1EC: .4byte 0x00001e10 - thumb_func_end KeyboardKeyHandler_OK - - thumb_func_start sub_809F1F0 -sub_809F1F0: @ 809F1F0 - ldr r0, _0809F200 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809F204 @ =0x00001e10 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - movs r0, 0x1 - bx lr - .align 2, 0 -_0809F200: .4byte gUnknown_203998C -_0809F204: .4byte 0x00001e10 - thumb_func_end sub_809F1F0 - - thumb_func_start InputInit -InputInit: @ 809F208 - push {lr} - ldr r0, _0809F218 @ =sub_809F26C - movs r1, 0x1 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0809F218: .4byte sub_809F26C - thumb_func_end InputInit - - thumb_func_start GetInputEvent -GetInputEvent: @ 809F21C - push {lr} - ldr r0, _0809F238 @ =sub_809F26C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F23C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0xA] - pop {r1} - bx r1 - .align 2, 0 -_0809F238: .4byte sub_809F26C -_0809F23C: .4byte gTasks - thumb_func_end GetInputEvent - - thumb_func_start SetInputState -SetInputState: @ 809F240 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809F264 @ =sub_809F26C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F268 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809F264: .4byte sub_809F26C -_0809F268: .4byte gTasks - thumb_func_end SetInputState - - thumb_func_start sub_809F26C -sub_809F26C: @ 809F26C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0809F294 @ =gUnknown_83E23E0 - ldr r2, _0809F298 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_0809F294: .4byte gUnknown_83E23E0 -_0809F298: .4byte gTasks - thumb_func_end sub_809F26C - - thumb_func_start InputState_Disabled -InputState_Disabled: @ 809F29C - movs r1, 0 - strh r1, [r0, 0xA] - bx lr - thumb_func_end InputState_Disabled - - thumb_func_start InputState_Enabled -InputState_Enabled: @ 809F2A4 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0xA] - ldr r0, _0809F2C0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809F2C4 - movs r0, 0x5 - strh r0, [r2, 0xA] - b _0809F2F4 - .align 2, 0 -_0809F2C0: .4byte gMain -_0809F2C4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809F2D2 - movs r0, 0x6 - strh r0, [r2, 0xA] - b _0809F2F4 -_0809F2D2: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809F2E0 - movs r0, 0x8 - strh r0, [r2, 0xA] - b _0809F2F4 -_0809F2E0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0809F2EE - movs r0, 0x9 - strh r0, [r2, 0xA] - b _0809F2F4 -_0809F2EE: - adds r0, r2, 0 - bl sub_809F2F8 -_0809F2F4: - pop {r0} - bx r0 - thumb_func_end InputState_Enabled - - thumb_func_start sub_809F2F8 -sub_809F2F8: @ 809F2F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r9, r0 - ldr r1, _0809F3E4 @ =gUnknown_83E23E8 - mov r0, sp - movs r2, 0xA - bl memcpy - add r0, sp, 0xC - mov r10, r0 - ldr r1, _0809F3E8 @ =gUnknown_83E23F2 - movs r2, 0xA - bl memcpy - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x2C] - ldr r1, _0809F3EC @ =gUnknown_83E23FC - ldr r0, [sp, 0x2C] - movs r2, 0x8 - bl memcpy - mov r2, sp - adds r2, 0x20 - str r2, [sp, 0x30] - ldr r1, _0809F3F0 @ =gUnknown_83E2404 - adds r0, r2, 0 - movs r2, 0x6 - bl memcpy - add r4, sp, 0x28 - mov r5, sp - adds r5, 0x2A - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_809E9CC - ldr r0, _0809F3F4 @ =gMain - ldrh r2, [r0, 0x30] - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - negs r0, r0 - lsrs r1, r0, 31 - movs r0, 0x80 - ands r0, r2 - adds r6, r4, 0 - cmp r0, 0 - beq _0809F366 - movs r1, 0x2 -_0809F366: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _0809F370 - movs r1, 0x3 -_0809F370: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _0809F37A - movs r1, 0x4 -_0809F37A: - ldrh r0, [r6] - mov r8, r0 - lsls r1, 1 - mov r2, sp - adds r7, r2, r1 - ldrh r0, [r7] - add r0, r8 - strh r0, [r6] - add r1, r10 - ldrh r0, [r1] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - bge _0809F3A6 - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] -_0809F3A6: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _0809F3BA - movs r0, 0 - strh r0, [r6] -_0809F3BA: - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _0809F426 - movs r2, 0 - ldrsh r4, [r6, r2] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809F3F8 - ldrh r0, [r5] - mov r1, r9 - strh r0, [r1, 0xC] - movs r2, 0 - ldrsh r0, [r5, r2] - lsls r0, 1 - ldr r1, [sp, 0x2C] - adds r0, r1, r0 - b _0809F422 - .align 2, 0 -_0809F3E4: .4byte gUnknown_83E23E8 -_0809F3E8: .4byte gUnknown_83E23F2 -_0809F3EC: .4byte gUnknown_83E23FC -_0809F3F0: .4byte gUnknown_83E2404 -_0809F3F4: .4byte gMain -_0809F3F8: - mov r2, r8 - lsls r4, r2, 16 - asrs r4, 16 - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809F426 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _0809F418 - mov r2, r9 - ldrh r0, [r2, 0xC] - b _0809F424 -_0809F418: - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 1 - ldr r2, [sp, 0x30] - adds r0, r2, r0 -_0809F422: - ldrh r0, [r0] -_0809F424: - strh r0, [r5] -_0809F426: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809F468 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _0809F442 - movs r0, 0x2 - strh r0, [r5] -_0809F442: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0x2 - ble _0809F44E - movs r0, 0 - strh r0, [r5] -_0809F44E: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809F45E - movs r0, 0x1 - mov r2, r9 - strh r0, [r2, 0xC] - b _0809F480 -_0809F45E: - cmp r0, 0x2 - bne _0809F480 - mov r1, r9 - strh r0, [r1, 0xC] - b _0809F480 -_0809F468: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0 - bge _0809F474 - movs r0, 0x3 - strh r0, [r5] -_0809F474: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - ble _0809F480 - movs r0, 0 - strh r0, [r5] -_0809F480: - movs r2, 0 - ldrsh r0, [r6, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl sub_809E948 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809F2F8 - - thumb_func_start sub_809F49C -sub_809F49C: @ 809F49C - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0809F4E4 @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809F4E8 @ =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _0809F4EC @ =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldr r2, [r1, 0x8] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F4E4: .4byte gUnknown_203998C -_0809F4E8: .4byte 0x00001e14 -_0809F4EC: .4byte 0x00001e28 - thumb_func_end sub_809F49C - - thumb_func_start sub_809F4F0 -sub_809F4F0: @ 809F4F0 - push {r4,r5,lr} - sub sp, 0x2C - ldr r5, _0809F558 @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809F55C @ =0x00001e34 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, _0809F560 @ =gSpeciesNames - adds r1, r0 - add r0, sp, 0xC - bl StringCopy - ldr r0, [r5] - ldr r1, _0809F564 @ =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x8] - add r0, sp, 0xC - movs r2, 0xF - bl StringAppendN - ldr r0, [r5] - ldr r4, _0809F568 @ =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x1 - bl AddTextPrinterParameterized - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F558: .4byte gUnknown_203998C -_0809F55C: .4byte 0x00001e34 -_0809F560: .4byte gSpeciesNames -_0809F564: .4byte 0x00001e28 -_0809F568: .4byte 0x00001e14 - thumb_func_end sub_809F4F0 - - thumb_func_start sub_809F56C -sub_809F56C: @ 809F56C - push {lr} - ldr r1, _0809F588 @ =gUnknown_83E240C - ldr r0, _0809F58C @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809F590 @ =0x00001e2c - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_0809F588: .4byte gUnknown_83E240C -_0809F58C: .4byte gUnknown_203998C -_0809F590: .4byte 0x00001e2c - thumb_func_end sub_809F56C - - thumb_func_start sub_809F594 -sub_809F594: @ 809F594 - push {lr} - ldr r1, _0809F5B4 @ =gUnknown_83E2420 - ldr r0, _0809F5B8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809F5BC @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_0809F5B4: .4byte gUnknown_83E2420 -_0809F5B8: .4byte gUnknown_203998C -_0809F5BC: .4byte 0x00001e28 - thumb_func_end sub_809F594 - - thumb_func_start nullsub_55 -nullsub_55: @ 809F5C0 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_809F5C4 -sub_809F5C4: @ 809F5C4 - push {r4,r5,lr} - sub sp, 0x10 - movs r4, 0 - ldr r1, _0809F61C @ =gText_MaleSymbol - add r0, sp, 0xC - bl StringCopy - ldr r5, _0809F620 @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809F624 @ =0x00001e36 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _0809F614 - cmp r0, 0xFE - bne _0809F5EE - ldr r1, _0809F628 @ =gText_FemaleSymbol - add r0, sp, 0xC - bl StringCopy - movs r4, 0x1 -_0809F5EE: - ldr r0, [r5] - ldr r1, _0809F62C @ =0x00001e13 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r4, 1 - adds r1, r4 - ldr r2, _0809F630 @ =gUnknown_83E2428 - adds r1, r2 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x68 - movs r3, 0x1 - bl AddTextPrinterParameterized3 -_0809F614: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F61C: .4byte gText_MaleSymbol -_0809F620: .4byte gUnknown_203998C -_0809F624: .4byte 0x00001e36 -_0809F628: .4byte gText_FemaleSymbol -_0809F62C: .4byte 0x00001e13 -_0809F630: .4byte gUnknown_83E2428 - thumb_func_end sub_809F5C4 - - thumb_func_start sub_809F634 -sub_809F634: @ 809F634 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _0809F664 @ =gUnknown_83E22D0 - bl sub_809DE50 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 13 - adds r4, r5 - lsls r0, 24 - lsrs r0, 19 - adds r4, r0 - adds r4, r6 - ldrb r0, [r4] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809F664: .4byte gUnknown_83E22D0 - thumb_func_end sub_809F634 - - thumb_func_start sub_809F668 -sub_809F668: @ 809F668 - push {r4,r5,lr} - movs r2, 0 - ldr r0, _0809F690 @ =gUnknown_203998C - ldr r4, [r0] - ldr r3, _0809F694 @ =0x00001e28 - adds r1, r4, r3 - ldr r1, [r1] - ldrb r3, [r1, 0x1] - adds r5, r0, 0 - cmp r2, r3 - bcs _0809F6A2 - movs r0, 0xC0 - lsls r0, 5 - adds r1, r4, r0 -_0809F684: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0809F698 - adds r0, r2, 0 - b _0809F6B2 - .align 2, 0 -_0809F690: .4byte gUnknown_203998C -_0809F694: .4byte 0x00001e28 -_0809F698: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _0809F684 -_0809F6A2: - ldr r0, [r5] - ldr r1, _0809F6B8 @ =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_0809F6B2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809F6B8: .4byte 0x00001e28 - thumb_func_end sub_809F668 - - thumb_func_start sub_809F6BC -sub_809F6BC: @ 809F6BC - push {lr} - ldr r0, _0809F6E8 @ =gUnknown_203998C - ldr r2, [r0] - ldr r1, _0809F6EC @ =0x00001e28 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - ble _0809F6F8 - movs r0, 0xC0 - lsls r0, 5 - adds r3, r2, r0 -_0809F6D8: - asrs r2, r1, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0809F6F0 - lsrs r0, r1, 24 - b _0809F6FA - .align 2, 0 -_0809F6E8: .4byte gUnknown_203998C -_0809F6EC: .4byte 0x00001e28 -_0809F6F0: - subs r0, r2, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - bgt _0809F6D8 -_0809F6F8: - movs r0, 0 -_0809F6FA: - pop {r1} - bx r1 - thumb_func_end sub_809F6BC - - thumb_func_start sub_809F700 -sub_809F700: @ 809F700 - push {r4-r6,lr} - bl sub_809F6BC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _0809F758 @ =gUnknown_203998C - ldr r0, [r6] - movs r5, 0xC0 - lsls r5, 5 - adds r0, r5 - adds r0, r4 - movs r1, 0 - strb r1, [r0] - bl sub_809F914 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - adds r0, r5 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - bl sub_809EB00 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0809F740 - cmp r0, 0x2 - bne _0809F74A -_0809F740: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl sub_809E518 -_0809F74A: - movs r0, 0x17 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809F758: .4byte gUnknown_203998C - thumb_func_end sub_809F700 - - thumb_func_start sub_809F75C -sub_809F75C: @ 809F75C - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_809E9CC - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl sub_809F634 - lsls r0, 24 - lsrs r0, 24 - bl sub_809F7C4 - bl sub_809F914 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x5 - bl PlaySE - bl sub_809F6BC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809F7B0 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809F7B4 @ =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldrb r1, [r1, 0x1] - subs r1, 0x1 - cmp r0, r1 - bne _0809F7B8 - movs r0, 0x1 - b _0809F7BA - .align 2, 0 -_0809F7B0: .4byte gUnknown_203998C -_0809F7B4: .4byte 0x00001e28 -_0809F7B8: - movs r0, 0 -_0809F7BA: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809F75C - - thumb_func_start sub_809F7C4 -sub_809F7C4: @ 809F7C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_809F668 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809F7E8 @ =gUnknown_203998C - ldr r1, [r1] - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - adds r1, r0 - strb r4, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809F7E8: .4byte gUnknown_203998C - thumb_func_end sub_809F7C4 - - thumb_func_start sub_809F7EC -sub_809F7EC: @ 809F7EC - push {r4,r5,lr} - movs r2, 0 - ldr r1, _0809F800 @ =gUnknown_203998C - ldr r0, [r1] - ldr r4, _0809F804 @ =0x00001e28 - adds r0, r4 - ldr r0, [r0] - adds r5, r1, 0 - b _0809F84C - .align 2, 0 -_0809F800: .4byte gUnknown_203998C -_0809F804: .4byte 0x00001e28 -_0809F808: - ldr r1, [r1] - movs r0, 0xC0 - lsls r0, 5 - adds r3, r1, r0 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0809F83C - cmp r0, 0xFF - beq _0809F83C - ldr r2, _0809F838 @ =0x00001e30 - adds r0, r1, r2 - ldr r0, [r0] - adds r1, r4 - ldr r1, [r1] - ldrb r2, [r1, 0x1] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r1, r3, 0 - bl StringCopyN - b _0809F852 - .align 2, 0 -_0809F838: .4byte 0x00001e30 -_0809F83C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, r5, 0 - ldr r0, [r1] - ldr r4, _0809F858 @ =0x00001e28 - adds r0, r4 - ldr r0, [r0] -_0809F84C: - ldrb r0, [r0, 0x1] - cmp r2, r0 - bcc _0809F808 -_0809F852: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F858: .4byte 0x00001e28 - thumb_func_end sub_809F7EC - - thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns -choose_name_or_words_screen_load_bg_tile_patterns: @ 809F85C - push {r4-r6,lr} - ldr r0, _0809F8AC @ =gUnknown_8E980E4 - ldr r6, _0809F8B0 @ =gUnknown_203998C - ldr r1, [r6] - ldr r4, _0809F8B4 @ =0x00001810 - adds r1, r4 - bl LZ77UnCompWram - ldr r1, [r6] - adds r1, r4 - movs r5, 0xC0 - lsls r5, 3 - movs r0, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x3 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r0, _0809F8B8 @ =gUnknown_83E267C - bl LoadSpriteSheets - ldr r0, _0809F8BC @ =gUnknown_83E26E4 - bl LoadSpritePalettes - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809F8AC: .4byte gUnknown_8E980E4 -_0809F8B0: .4byte gUnknown_203998C -_0809F8B4: .4byte 0x00001810 -_0809F8B8: .4byte gUnknown_83E267C -_0809F8BC: .4byte gUnknown_83E26E4 - thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns - - thumb_func_start sub_809F8C0 -sub_809F8C0: @ 809F8C0 - push {lr} - bl InputInit - bl sub_809E4F0 - pop {r0} - bx r0 - thumb_func_end sub_809F8C0 - - thumb_func_start choose_name_or_words_screen_apply_bg_pals -choose_name_or_words_screen_apply_bg_pals: @ 809F8D0 - push {lr} - ldr r0, _0809F8F8 @ =gUnknown_8E98024 - movs r1, 0 - movs r2, 0xC0 - bl LoadPalette - ldr r0, _0809F8FC @ =gUnknown_8E97FE4 - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl stdpal_get - movs r1, 0xB0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_0809F8F8: .4byte gUnknown_8E98024 -_0809F8FC: .4byte gUnknown_8E97FE4 - thumb_func_end choose_name_or_words_screen_apply_bg_pals - - thumb_func_start sub_809F900 -sub_809F900: @ 809F900 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - pop {r0} - bx r0 - thumb_func_end sub_809F900 - - thumb_func_start sub_809F914 -sub_809F914: @ 809F914 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r7, _0809F9D8 @ =gUnknown_203998C - ldr r1, [r7] - ldr r2, _0809F9DC @ =0x00001e28 - adds r0, r1, r2 - ldr r0, [r0] - ldrb r6, [r0, 0x1] - subs r2, 0x12 - adds r0, r1, r2 - ldrh r0, [r0] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, _0809F9E0 @ =0x00001e13 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - cmp r4, r6 - bcs _0809F9AA - add r5, sp, 0xC - mov r10, r4 - ldr r0, _0809F9E4 @ =gExpandedPlaceholder_Empty - ldrb r0, [r0] - mov r8, r0 -_0809F956: - ldr r0, [r7] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r5] - mov r2, r8 - strb r2, [r5, 0x1] - ldrb r0, [r5] - bl sub_809FC54 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0x1 - bne _0809F97A - movs r1, 0x2 -_0809F97A: - ldr r0, [r7] - ldr r2, _0809F9E0 @ =0x00001e13 - adds r0, r2 - ldrb r0, [r0] - lsls r3, r4, 3 - add r3, r9 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - movs r1, 0x2 - add r2, sp, 0xC - bl AddTextPrinterParameterized - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0809F956 -_0809F9AA: - bl sub_809F594 - ldr r5, _0809F9D8 @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809F9E0 @ =0x00001e13 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809F9D8: .4byte gUnknown_203998C -_0809F9DC: .4byte 0x00001e28 -_0809F9E0: .4byte 0x00001e13 -_0809F9E4: .4byte gExpandedPlaceholder_Empty - thumb_func_end sub_809F914 - - thumb_func_start sub_809F9E8 -sub_809F9E8: @ 809F9E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _0809FA54 @ =gUnknown_83E243C - adds r0, r5, r0 - ldrb r1, [r0] - adds r0, r6, 0 - bl FillWindowPixelBuffer - movs r4, 0 - ldr r1, _0809FA58 @ =gUnknown_83E2440 - lsls r0, r5, 2 - adds r0, r1 - ldr r7, [r0] - ldr r0, _0809FA5C @ =gUnknown_83E264C - mov r8, r0 -_0809FA12: - lsls r3, r4, 4 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r7, [sp] - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r4, 2 - lsls r1, r5, 4 - adds r0, r1 - add r0, r8 - ldr r0, [r0] - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0 - bl AddTextPrinterParameterized3 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0809FA12 - adds r0, r6, 0 - bl PutWindowTilemap - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809FA54: .4byte gUnknown_83E243C -_0809FA58: .4byte gUnknown_83E2440 -_0809FA5C: .4byte gUnknown_83E264C - thumb_func_end sub_809F9E8 - - thumb_func_start sub_809FA60 -sub_809FA60: @ 809FA60 - push {r4,r5,lr} - movs r0, 0xA - bl GetGpuReg - adds r4, r0, 0 - movs r5, 0x3 - ands r4, r5 - movs r0, 0xC - bl GetGpuReg - ands r0, r5 - cmp r4, r0 - bls _0809FA90 - movs r2, 0x1 - movs r5, 0x1 - ldr r1, _0809FA88 @ =gUnknown_203998C - ldr r0, [r1] - ldr r3, _0809FA8C @ =0x00001e11 - b _0809FA9A - .align 2, 0 -_0809FA88: .4byte gUnknown_203998C -_0809FA8C: .4byte 0x00001e11 -_0809FA90: - movs r2, 0x2 - movs r5, 0x2 - ldr r1, _0809FAD4 @ =gUnknown_203998C - ldr r0, [r1] - ldr r3, _0809FAD8 @ =0x00001e12 -_0809FA9A: - adds r0, r3 - ldrb r4, [r0] - adds r0, r1, 0 - ldr r1, _0809FADC @ =gUnknown_83E244C - ldr r0, [r0] - ldr r3, _0809FAE0 @ =0x00001e22 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl sub_809F900 - bl sub_809DE30 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_809F9E8 - adds r0, r5, 0 - bl CopyBgTilemapBufferToVram - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809FAD4: .4byte gUnknown_203998C -_0809FAD8: .4byte 0x00001e12 -_0809FADC: .4byte gUnknown_83E244C -_0809FAE0: .4byte 0x00001e22 - thumb_func_end sub_809FA60 - - thumb_func_start sub_809FAE4 -sub_809FAE4: @ 809FAE4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r1, _0809FB60 @ =gUnknown_83E2458 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldr r0, _0809FB64 @ =gUnknown_8418E77 - mov r8, r0 - movs r0, 0 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - adds r6, r0, 0 - ldr r5, _0809FB68 @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809FB6C @ =0x00001e15 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x14 - negs r1, r1 - adds r2, r1, 0 - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - add r1, sp, 0xC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809FB60: .4byte gUnknown_83E2458 -_0809FB64: .4byte gUnknown_8418E77 -_0809FB68: .4byte gUnknown_203998C -_0809FB6C: .4byte 0x00001e15 - thumb_func_end sub_809FAE4 - - thumb_func_start sub_809FB70 -sub_809FB70: @ 809FB70 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_809FB70 - - thumb_func_start sub_809FB88 -sub_809FB88: @ 809FB88 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_809FB88 - - thumb_func_start sub_809FB9C -sub_809FB9C: @ 809FB9C - push {lr} - ldr r0, _0809FBA8 @ =sub_809FBAC - bl SetVBlankCallback - pop {r0} - bx r0 - .align 2, 0 -_0809FBA8: .4byte sub_809FBAC - thumb_func_end sub_809FB9C - - thumb_func_start sub_809FBAC -sub_809FBAC: @ 809FBAC - push {r4,r5,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r5, _0809FC1C @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809FC20 @ =0x00001e18 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r5] - ldr r1, _0809FC24 @ =0x00001e1a - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - movs r0, 0xA - bl GetGpuReg - ldr r4, _0809FC28 @ =0x0000fffc - adds r1, r4, 0 - ands r1, r0 - movs r0, 0xA - bl SetGpuReg - ldr r0, [r5] - ldr r1, _0809FC2C @ =0x00001e1c - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xA - bl SetGpuRegBits - movs r0, 0xC - bl GetGpuReg - ands r4, r0 - movs r0, 0xC - adds r1, r4, 0 - bl SetGpuReg - ldr r0, [r5] - ldr r1, _0809FC30 @ =0x00001e1e - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xC - bl SetGpuRegBits - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809FC1C: .4byte gUnknown_203998C -_0809FC20: .4byte 0x00001e18 -_0809FC24: .4byte 0x00001e1a -_0809FC28: .4byte 0x0000fffc -_0809FC2C: .4byte 0x00001e1c -_0809FC30: .4byte 0x00001e1e - thumb_func_end sub_809FBAC - - thumb_func_start sub_809FC34 -sub_809FC34: @ 809FC34 - push {lr} - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r0} - bx r0 - thumb_func_end sub_809FC34 - - thumb_func_start sub_809FC54 -sub_809FC54: @ 809FC54 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r0, _0809FC74 @ =gUnknown_8418E8A - ldrb r1, [r0] - adds r3, r0, 0 - cmp r1, 0xFF - beq _0809FC86 - adds r1, r3, 0 -_0809FC68: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r4, r0 - bne _0809FC78 - movs r0, 0x1 - b _0809FC88 - .align 2, 0 -_0809FC74: .4byte gUnknown_8418E8A -_0809FC78: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0809FC68 -_0809FC86: - movs r0, 0 -_0809FC88: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809FC54 - - thumb_func_start sub_809FC90 -sub_809FC90: @ 809FC90 - push {lr} - sub sp, 0x8 - ldr r0, _0809FCB0 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FCB4 @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FCB0: .4byte gSaveBlock2Ptr -_0809FCB4: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FC90 - - thumb_func_start sub_809FCB8 -sub_809FCB8: @ 809FCB8 - push {lr} - sub sp, 0x8 - ldr r0, _0809FCD8 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FCDC @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x1 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FCD8: .4byte gSaveBlock2Ptr -_0809FCDC: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FCB8 - - thumb_func_start sub_809FCE0 -sub_809FCE0: @ 809FCE0 - push {lr} - sub sp, 0x8 - ldr r0, _0809FD00 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FD04 @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x2 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FD00: .4byte gSaveBlock2Ptr -_0809FD04: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FCE0 - - thumb_func_start sub_809FD08 -sub_809FD08: @ 809FD08 - push {lr} - sub sp, 0x8 - ldr r0, _0809FD28 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FD2C @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x3 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FD28: .4byte gSaveBlock2Ptr -_0809FD2C: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FD08 - - thumb_func_start sub_809FD30 -sub_809FD30: @ 809FD30 - push {lr} - sub sp, 0x8 - ldr r0, _0809FD50 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FD54 @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x4 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FD50: .4byte gSaveBlock2Ptr -_0809FD54: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FD30 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index 214d06092..27235fa18 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -8,7 +8,7 @@ thumb_func_start sub_8054BC8 sub_8054BC8: @ 8054BC8 push {r4,lr} - ldr r0, _08054BFC @ =gUnknown_81A654B + ldr r0, _08054BFC @ =EventScript_ResetEliteFourEnd bl ScriptContext2_RunNewScript ldr r0, _08054C00 @ =gSaveBlock1Ptr ldr r4, [r0] @@ -27,7 +27,7 @@ sub_8054BC8: @ 8054BC8 pop {r0} bx r0 .align 2, 0 -_08054BFC: .4byte gUnknown_81A654B +_08054BFC: .4byte EventScript_ResetEliteFourEnd _08054C00: .4byte gSaveBlock1Ptr thumb_func_end sub_8054BC8 @@ -66,8 +66,8 @@ _08054C40: .4byte sWhiteOutMoneyLossMultipliers _08054C44: .4byte gSaveBlock1Ptr thumb_func_end ComputeWhiteOutMoneyLoss - thumb_func_start Special_OverworldWhiteOutGetMoneyLoss -Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48 + thumb_func_start OverworldWhiteOutGetMoneyLoss +OverworldWhiteOutGetMoneyLoss: @ 8054C48 push {r4,r5,lr} bl ComputeWhiteOutMoneyLoss adds r4, r0, 0 @@ -85,7 +85,7 @@ Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48 bx r0 .align 2, 0 _08054C6C: .4byte gStringVar1 - thumb_func_end Special_OverworldWhiteOutGetMoneyLoss + thumb_func_end OverworldWhiteOutGetMoneyLoss thumb_func_start CountBadgesForOverworldWhiteOutLossCalculation CountBadgesForOverworldWhiteOutLossCalculation: @ 8054C70 @@ -115,8 +115,8 @@ _08054C8A: _08054C9C: .4byte sWhiteOutMoneyLossBadgeFlagIDs thumb_func_end CountBadgesForOverworldWhiteOutLossCalculation - thumb_func_start sub_8054CA0 -sub_8054CA0: @ 8054CA0 + thumb_func_start Overworld_ResetStateAfterFly +Overworld_ResetStateAfterFly: @ 8054CA0 push {lr} bl ResetInitialPlayerAvatarState movs r0, 0x83 @@ -152,7 +152,7 @@ _08054CF8: .4byte 0x00000805 _08054CFC: .4byte 0x00000806 _08054D00: .4byte 0x00000808 _08054D04: .4byte 0x0000404d - thumb_func_end sub_8054CA0 + thumb_func_end Overworld_ResetStateAfterFly thumb_func_start Overworld_ResetStateAfterTeleport Overworld_ResetStateAfterTeleport: @ 8054D08 @@ -1718,7 +1718,7 @@ sub_8055864: @ 8055864 bl sav1_reset_battle_music_maybe bl mapheader_run_script_with_tag_x3 bl TryRegenerateRenewableHiddenItems - bl not_trainer_hill_battle_pyramid + bl InitMap ldr r4, _0805591C @ =gMapHeader ldr r0, [r4] bl copy_map_tileset2_to_vram_2 @@ -1739,7 +1739,7 @@ _080558D4: bl DoCurrentWeather bl ResetFieldTasksArgs bl mapheader_run_script_with_tag_x5 - bl sub_80561B4 + bl GetLastUsedWarpMapSectionId ldr r1, _0805591C @ =gMapHeader lsls r0, 24 lsrs r0, 24 @@ -1798,7 +1798,7 @@ _08055974: bl UpdateLocationHistoryForRoamer bl RoamerMoveToOtherLocationSet bl sub_8110920 - bl not_trainer_hill_battle_pyramid + bl InitMap pop {r4} pop {r0} bx r0 @@ -1823,7 +1823,7 @@ sub_80559A8: @ 80559A8 bl sub_8110920 bl sub_8111708 bl set_current_map_header_from_sav1 - bl not_trainer_hill_battle_pyramid + bl InitMap pop {r0} bx r0 .align 2, 0 @@ -2597,7 +2597,7 @@ GetMapMusicFadeoutSpeed: @ 8055F68 push {lr} bl warp1_get_mapheader ldrb r0, [r0, 0x17] - bl is_light_level_8_or_9 + bl IsMapTypeIndoors lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2611,8 +2611,8 @@ _08055F82: bx r1 thumb_func_end GetMapMusicFadeoutSpeed - thumb_func_start sub_8055F88 -sub_8055F88: @ 8055F88 + thumb_func_start TryFadeOutOldMapMusic +TryFadeOutOldMapMusic: @ 8055F88 push {r4,lr} bl sub_8055DA4 lsls r0, 16 @@ -2638,7 +2638,7 @@ _08055FB8: bx r0 .align 2, 0 _08055FC0: .4byte 0x00004001 - thumb_func_end sub_8055F88 + thumb_func_end TryFadeOutOldMapMusic thumb_func_start BGMusicStopped BGMusicStopped: @ 8055FC4 @@ -2899,8 +2899,8 @@ GetCurrentMapType: @ 8056188 _0805619C: .4byte gSaveBlock1Ptr thumb_func_end GetCurrentMapType - thumb_func_start get_map_light_from_warp0 -get_map_light_from_warp0: @ 80561A0 + thumb_func_start GetLastUsedWarpMapType +GetLastUsedWarpMapType: @ 80561A0 push {lr} ldr r0, _080561B0 @ =gUnknown_2031DB4 bl get_map_light_level_from_warp @@ -2910,10 +2910,10 @@ get_map_light_from_warp0: @ 80561A0 bx r1 .align 2, 0 _080561B0: .4byte gUnknown_2031DB4 - thumb_func_end get_map_light_from_warp0 + thumb_func_end GetLastUsedWarpMapType - thumb_func_start sub_80561B4 -sub_80561B4: @ 80561B4 + thumb_func_start GetLastUsedWarpMapSectionId +GetLastUsedWarpMapSectionId: @ 80561B4 push {lr} ldr r1, _080561D4 @ =gUnknown_2031DB4 movs r0, 0 @@ -2931,7 +2931,7 @@ sub_80561B4: @ 80561B4 bx r1 .align 2, 0 _080561D4: .4byte gUnknown_2031DB4 - thumb_func_end sub_80561B4 + thumb_func_end GetLastUsedWarpMapSectionId thumb_func_start IsMapTypeOutdoors IsMapTypeOutdoors: @ 80561D8 @@ -2981,8 +2981,8 @@ _08056218: bx r1 thumb_func_end Overworld_MapTypeAllowsTeleportAndFly - thumb_func_start is_light_level_8_or_9 -is_light_level_8_or_9: @ 805621C + thumb_func_start IsMapTypeIndoors +IsMapTypeIndoors: @ 805621C push {lr} lsls r0, 24 movs r1, 0xF8 @@ -2998,10 +2998,10 @@ _08056230: _08056232: pop {r1} bx r1 - thumb_func_end is_light_level_8_or_9 + thumb_func_end IsMapTypeIndoors - thumb_func_start sav1_saved_warp2_map_get_name -sav1_saved_warp2_map_get_name: @ 8056238 + thumb_func_start GetSavedWarpRegionMapSectionId +GetSavedWarpRegionMapSectionId: @ 8056238 push {lr} ldr r0, _0805625C @ =gSaveBlock1Ptr ldr r1, [r0] @@ -3020,7 +3020,7 @@ sav1_saved_warp2_map_get_name: @ 8056238 bx r1 .align 2, 0 _0805625C: .4byte gSaveBlock1Ptr - thumb_func_end sav1_saved_warp2_map_get_name + thumb_func_end GetSavedWarpRegionMapSectionId thumb_func_start GetCurrentRegionMapSectionId GetCurrentRegionMapSectionId: @ 8056260 @@ -3044,8 +3044,8 @@ GetCurrentRegionMapSectionId: @ 8056260 _08056284: .4byte gSaveBlock1Ptr thumb_func_end GetCurrentRegionMapSectionId - thumb_func_start sav1_map_get_battletype -sav1_map_get_battletype: @ 8056288 + thumb_func_start GetCurrentMapBattleScene +GetCurrentMapBattleScene: @ 8056288 push {lr} ldr r0, _080562AC @ =gSaveBlock1Ptr ldr r1, [r0] @@ -3064,10 +3064,10 @@ sav1_map_get_battletype: @ 8056288 bx r1 .align 2, 0 _080562AC: .4byte gSaveBlock1Ptr - thumb_func_end sav1_map_get_battletype + thumb_func_end GetCurrentMapBattleScene - thumb_func_start sub_80562B0 -sub_80562B0: @ 80562B0 + thumb_func_start InitOverworldBgs +InitOverworldBgs: @ 80562B0 push {r4-r6,lr} mov r6, r8 push {r6} @@ -3091,7 +3091,7 @@ sub_80562B0: @ 80562B0 movs r1, 0x5 movs r2, 0x1 bl SetBgAttribute - ldr r0, _08056348 @ =gUnknown_3005018 + ldr r0, _08056348 @ =gBGTilemapBuffers2 mov r8, r0 movs r4, 0x80 lsls r4, 4 @@ -3099,11 +3099,11 @@ sub_80562B0: @ 80562B0 bl AllocZeroed mov r1, r8 str r0, [r1] - ldr r6, _0805634C @ =gUnknown_3005014 + ldr r6, _0805634C @ =gBGTilemapBuffers1 adds r0, r4, 0 bl AllocZeroed str r0, [r6] - ldr r5, _08056350 @ =gUnknown_300501C + ldr r5, _08056350 @ =gBGTilemapBuffers3 adds r0, r4, 0 bl AllocZeroed str r0, [r5] @@ -3127,10 +3127,10 @@ sub_80562B0: @ 80562B0 bx r0 .align 2, 0 _08056344: .4byte gUnknown_826D320 -_08056348: .4byte gUnknown_3005018 -_0805634C: .4byte gUnknown_3005014 -_08056350: .4byte gUnknown_300501C - thumb_func_end sub_80562B0 +_08056348: .4byte gBGTilemapBuffers2 +_0805634C: .4byte gBGTilemapBuffers1 +_08056350: .4byte gBGTilemapBuffers3 + thumb_func_end InitOverworldBgs thumb_func_start sub_8056354 sub_8056354: @ 8056354 @@ -3155,7 +3155,7 @@ sub_8056354: @ 8056354 movs r1, 0x5 movs r2, 0x1 bl SetBgAttribute - ldr r0, _080563E4 @ =gUnknown_3005018 + ldr r0, _080563E4 @ =gBGTilemapBuffers2 mov r8, r0 movs r4, 0x80 lsls r4, 4 @@ -3163,11 +3163,11 @@ sub_8056354: @ 8056354 bl AllocZeroed mov r1, r8 str r0, [r1] - ldr r6, _080563E8 @ =gUnknown_3005014 + ldr r6, _080563E8 @ =gBGTilemapBuffers1 adds r0, r4, 0 bl AllocZeroed str r0, [r6] - ldr r5, _080563EC @ =gUnknown_300501C + ldr r5, _080563EC @ =gBGTilemapBuffers3 adds r0, r4, 0 bl AllocZeroed str r0, [r5] @@ -3191,30 +3191,30 @@ sub_8056354: @ 8056354 bx r0 .align 2, 0 _080563E0: .4byte gUnknown_826D320 -_080563E4: .4byte gUnknown_3005018 -_080563E8: .4byte gUnknown_3005014 -_080563EC: .4byte gUnknown_300501C +_080563E4: .4byte gBGTilemapBuffers2 +_080563E8: .4byte gBGTilemapBuffers1 +_080563EC: .4byte gBGTilemapBuffers3 thumb_func_end sub_8056354 thumb_func_start CleanupOverworldWindowsAndTilemaps CleanupOverworldWindowsAndTilemaps: @ 80563F0 push {lr} bl FreeAllOverworldWindowBuffers - ldr r0, _08056414 @ =gUnknown_300501C + ldr r0, _08056414 @ =gBGTilemapBuffers3 ldr r0, [r0] bl Free - ldr r0, _08056418 @ =gUnknown_3005014 + ldr r0, _08056418 @ =gBGTilemapBuffers1 ldr r0, [r0] bl Free - ldr r0, _0805641C @ =gUnknown_3005018 + ldr r0, _0805641C @ =gBGTilemapBuffers2 ldr r0, [r0] bl Free pop {r0} bx r0 .align 2, 0 -_08056414: .4byte gUnknown_300501C -_08056418: .4byte gUnknown_3005014 -_0805641C: .4byte gUnknown_3005018 +_08056414: .4byte gBGTilemapBuffers3 +_08056418: .4byte gBGTilemapBuffers1 +_0805641C: .4byte gBGTilemapBuffers2 thumb_func_end CleanupOverworldWindowsAndTilemaps thumb_func_start sub_8056420 @@ -3347,8 +3347,8 @@ _08056522: _08056530: .4byte gUnknown_3005E90 thumb_func_end sub_80564C8 - thumb_func_start sub_8056534 -sub_8056534: @ 8056534 + thumb_func_start CB1_Overworld +CB1_Overworld: @ 8056534 push {r4,lr} ldr r4, _0805655C @ =gMain ldr r1, [r4, 0x4] @@ -3379,7 +3379,7 @@ _08056570: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8056534 + thumb_func_end CB1_Overworld thumb_func_start sub_8056578 sub_8056578: @ 8056578 @@ -3430,14 +3430,14 @@ _080565D4: _080565DC: .4byte gPaletteFade thumb_func_end sub_80565B4 - thumb_func_start sub_80565E0 -sub_80565E0: @ 80565E0 + thumb_func_start SetMainCallback1 +SetMainCallback1: @ 80565E0 ldr r1, _080565E8 @ =gMain str r0, [r1] bx lr .align 2, 0 _080565E8: .4byte gMain - thumb_func_end sub_80565E0 + thumb_func_end SetMainCallback1 thumb_func_start map_post_load_hook_exec map_post_load_hook_exec: @ 80565EC @@ -3490,7 +3490,7 @@ _08056640: .4byte gFieldCallback thumb_func_start CB2_NewGame CB2_NewGame: @ 8056644 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl NewGameInitData @@ -3507,8 +3507,8 @@ CB2_NewGame: @ 8056644 ldr r0, _08056698 @ =gMain + 0x438 bl do_load_map_stuff_loop bl SetFieldVBlankCallback - ldr r0, _0805669C @ =sub_8056534 - bl sub_80565E0 + ldr r0, _0805669C @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _080566A0 @ =sub_80565B4 bl SetMainCallback2 pop {r0} @@ -3518,7 +3518,7 @@ _0805668C: .4byte gFieldCallback _08056690: .4byte sub_807DF7C _08056694: .4byte gFieldCallback2 _08056698: .4byte gMain + 0x438 -_0805669C: .4byte sub_8056534 +_0805669C: .4byte CB1_Overworld _080566A0: .4byte sub_80565B4 thumb_func_end CB2_NewGame @@ -3537,7 +3537,7 @@ CB2_WhiteOut: @ 80566A4 lsrs r0, 24 cmp r0, 0x77 bls _08056702 - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl sub_8054BC8 @@ -3555,8 +3555,8 @@ CB2_WhiteOut: @ 80566A4 bl do_load_map_stuff_loop bl sub_8112364 bl SetFieldVBlankCallback - ldr r0, _08056714 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _08056714 @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _08056718 @ =sub_80565B4 bl SetMainCallback2 _08056702: @@ -3567,19 +3567,19 @@ _08056702: _08056708: .4byte gMain _0805670C: .4byte gFieldCallback _08056710: .4byte sub_807F5F0 -_08056714: .4byte sub_8056534 +_08056714: .4byte CB1_Overworld _08056718: .4byte sub_80565B4 thumb_func_end CB2_WhiteOut thumb_func_start CB2_LoadMap CB2_LoadMap: @ 805671C push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 - ldr r0, _08056740 @ =sub_80C9BFC + bl SetMainCallback1 + ldr r0, _08056740 @ =CB2_DoChangeMap bl SetMainCallback2 ldr r1, _08056744 @ =gMain ldr r0, _08056748 @ =sub_805674C @@ -3587,7 +3587,7 @@ CB2_LoadMap: @ 805671C pop {r0} bx r0 .align 2, 0 -_08056740: .4byte sub_80C9BFC +_08056740: .4byte CB2_DoChangeMap _08056744: .4byte gMain _08056748: .4byte sub_805674C thumb_func_end CB2_LoadMap @@ -3608,24 +3608,24 @@ sub_805674C: @ 805674C _08056768: .4byte gMain + 0x438 _0805676C: bl SetFieldVBlankCallback - ldr r0, _08056780 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _08056780 @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _08056784 @ =sub_80565B4 bl SetMainCallback2 _0805677C: pop {r0} bx r0 .align 2, 0 -_08056780: .4byte sub_8056534 +_08056780: .4byte CB1_Overworld _08056784: .4byte sub_80565B4 thumb_func_end sub_805674C - thumb_func_start sub_8056788 -sub_8056788: @ 8056788 + thumb_func_start CB2_ReturnToFieldCableClub +CB2_ReturnToFieldCableClub: @ 8056788 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _080567A0 @ =gFieldCallback - ldr r1, _080567A4 @ =sub_807DE58 + ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink str r1, [r0] ldr r0, _080567A8 @ =c2_80567AC bl SetMainCallback2 @@ -3633,20 +3633,20 @@ sub_8056788: @ 8056788 bx r0 .align 2, 0 _080567A0: .4byte gFieldCallback -_080567A4: .4byte sub_807DE58 +_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink _080567A8: .4byte c2_80567AC - thumb_func_end sub_8056788 + thumb_func_end CB2_ReturnToFieldCableClub thumb_func_start c2_80567AC c2_80567AC: @ 80567AC push {lr} ldr r0, _080567D0 @ =gMain + 0x438 - bl sub_8056A5C + bl map_loading_iteration_3 cmp r0, 0 beq _080567CC bl SetFieldVBlankCallback ldr r0, _080567D4 @ =c1_link_related - bl sub_80565E0 + bl SetMainCallback1 bl sub_80578D8 ldr r0, _080567D8 @ =sub_80565B4 bl SetMainCallback2 @@ -3671,7 +3671,7 @@ CB2_ReturnToField: @ 80567DC .align 2, 0 _080567F0: .4byte c2_exit_to_overworld_2_link _080567F4: - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _08056804 @ =c2_exit_to_overworld_2_local bl SetMainCallback2 _080567FE: @@ -3722,26 +3722,26 @@ _08056850: .4byte sub_80565B4 thumb_func_start c2_8056854 c2_8056854: @ 8056854 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic ldr r0, _08056878 @ =c1_link_related - bl sub_80565E0 + bl SetMainCallback1 bl sub_80578D8 ldr r0, _0805687C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08056888 ldr r1, _08056880 @ =gFieldCallback - ldr r0, _08056884 @ =sub_807DE58 + ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink b _0805688C .align 2, 0 _08056878: .4byte c1_link_related _0805687C: .4byte gWirelessCommType _08056880: .4byte gFieldCallback -_08056884: .4byte sub_807DE58 +_08056884: .4byte FieldCB_ReturnToFieldWirelessLink _08056888: ldr r1, _080568A0 @ =gFieldCallback - ldr r0, _080568A4 @ =sub_807DDD0 + ldr r0, _080568A4 @ =FieldCB_ReturnToFieldWiredLink _0805688C: str r0, [r1] bl ScriptContext1_Init @@ -3751,13 +3751,13 @@ _0805688C: bx r0 .align 2, 0 _080568A0: .4byte gFieldCallback -_080568A4: .4byte sub_807DDD0 +_080568A4: .4byte FieldCB_ReturnToFieldWiredLink thumb_func_end c2_8056854 thumb_func_start CB2_ReturnToFieldWithOpenMenu CB2_ReturnToFieldWithOpenMenu: @ 80568A8 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568BC @ =gFieldCallback2 ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit str r0, [r1] @@ -3772,7 +3772,7 @@ _080568C0: .4byte FieldCB2_ReturnToStartMenuInit thumb_func_start sub_80568C4 sub_80568C4: @ 80568C4 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568D8 @ =gFieldCallback ldr r0, _080568DC @ =sub_807DD44 str r0, [r1] @@ -3787,7 +3787,7 @@ _080568DC: .4byte sub_807DD44 thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568F4 @ =gFieldCallback ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2 str r0, [r1] @@ -3802,7 +3802,7 @@ _080568F8: .4byte FieldCallback_ReturnToEventScript2 thumb_func_start CB2_Overworld CB2_Overworld: @ 80568FC push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _08056910 @ =gFieldCallback ldr r0, _08056914 @ =sub_807DF7C str r0, [r1] @@ -3836,14 +3836,14 @@ _08056934: .4byte gMapHeader thumb_func_start CB2_ContinueSavedGame CB2_ContinueSavedGame: @ 8056938 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl set_current_map_header_from_sav1 bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 - bl sub_80589E8 + bl InitMapFromSavedGame bl PlayTimeCounter_Start bl ScriptContext1_Init bl ScriptContext2_Disable @@ -3870,8 +3870,8 @@ _0805699C: ldr r0, _080569B0 @ =gFieldCallback ldr r1, _080569B4 @ =sub_8056918 str r1, [r0] - ldr r0, _080569B8 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _080569B8 @ =CB1_Overworld + bl SetMainCallback1 bl CB2_ReturnToField _080569AC: pop {r0} @@ -3879,11 +3879,11 @@ _080569AC: .align 2, 0 _080569B0: .4byte gFieldCallback _080569B4: .4byte sub_8056918 -_080569B8: .4byte sub_8056534 +_080569B8: .4byte CB1_Overworld thumb_func_end CB2_ContinueSavedGame - thumb_func_start sub_80569BC -sub_80569BC: @ 80569BC + thumb_func_start FieldClearVBlankHBlankCallbacks +FieldClearVBlankHBlankCallbacks: @ 80569BC push {lr} bl sub_80CC87C lsls r0, 24 @@ -3915,7 +3915,7 @@ _080569F4: bl SetHBlankCallback pop {r0} bx r0 - thumb_func_end sub_80569BC + thumb_func_end FieldClearVBlankHBlankCallbacks thumb_func_start SetFieldVBlankCallback SetFieldVBlankCallback: @ 8056A04 @@ -3962,8 +3962,8 @@ _08056A52: _08056A58: .4byte gFlashEffectParams thumb_func_end InitCurrentFlashLevelScanlineEffect - thumb_func_start sub_8056A5C -sub_8056A5C: @ 8056A5C + thumb_func_start map_loading_iteration_3 +map_loading_iteration_3: @ 8056A5C push {r4,lr} adds r4, r0, 0 ldrb r0, [r4] @@ -3995,7 +3995,7 @@ _08056A78: .4byte _08056B58 .4byte _08056B6A _08056AB0: - bl sub_80562B0 + bl InitOverworldBgs bl ScriptContext1_Init bl ScriptContext2_Disable b _08056B62 @@ -4012,7 +4012,7 @@ _08056ACE: bl sub_8057074 bl sub_80571A8 bl sub_8057140 - bl sub_812B35C + bl SetHelpContextForMap b _08056B62 _08056AE4: bl InitCurrentFlashLevelScanlineEffect @@ -4084,7 +4084,7 @@ _08056B70: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8056A5C + thumb_func_end map_loading_iteration_3 thumb_func_start sub_8056B78 sub_8056B78: @ 8056B78 @@ -4121,8 +4121,8 @@ _08056B94: .4byte _08056CC0 .4byte _08056BFA _08056BD0: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks adds r0, r5, 0 bl sub_8055920 b _08056CCA @@ -4152,7 +4152,7 @@ _08056BFE: bl sub_80CC534 bl sub_80CC59C _08056C16: - bl sub_812B35C + bl SetHelpContextForMap b _08056CCA .align 2, 0 _08056C1C: .4byte gQuestLogState @@ -4196,7 +4196,7 @@ _08056C72: bl InitTilesetAnimations b _08056CCA _08056C78: - bl sub_80561B4 + bl GetLastUsedWarpMapSectionId ldr r5, _08056CA4 @ =gMapHeader lsls r0, 24 lsrs r0, 24 @@ -4205,13 +4205,13 @@ _08056C78: beq _08056CA8 ldrb r0, [r5, 0x14] movs r1, 0x1 - bl sub_80F8154 + bl MapHasPreviewScreen_HandleQLState2 cmp r0, 0x1 bne _08056CA8 ldrb r0, [r5, 0x14] - bl sub_80F819C + bl MapPreview_LoadGfx ldrb r0, [r5, 0x14] - bl sub_80F8268 + bl MapPreview_StartForestTransition b _08056CCA .align 2, 0 _08056CA4: .4byte gMapHeader @@ -4266,7 +4266,7 @@ _08056CF0: .4byte _08056D26 .4byte _08056D38 _08056D04: - bl sub_80562B0 + bl InitOverworldBgs bl sub_8111F14 movs r0, 0 bl sub_8057024 @@ -4275,7 +4275,7 @@ _08056D04: b _08056D30 _08056D1C: bl sub_8056F08 - bl sub_812B35C + bl SetHelpContextForMap b _08056D30 _08056D26: bl map_post_load_hook_exec @@ -4331,8 +4331,8 @@ _08056D60: .4byte _08056E34 .4byte _08056E46 _08056D98: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks b _08056E3E _08056DA2: bl sub_8111F14 @@ -4343,7 +4343,7 @@ _08056DAE: bl sub_8057230 bl sub_8057100 bl sub_805715C - bl sub_812B35C + bl SetHelpContextForMap b _08056E3E _08056DC0: bl InitCurrentFlashLevelScanlineEffect @@ -4914,15 +4914,15 @@ _08057268: .4byte gLinkPlayers thumb_func_start sub_805726C sub_805726C: @ 805726C push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _08057298 @ =gUnknown_2036E28 movs r0, 0x1 strb r0, [r1] bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 - ldr r0, _0805729C @ =sub_80C9BFC + bl SetMainCallback1 + ldr r0, _0805729C @ =CB2_DoChangeMap bl SetMainCallback2 ldr r1, _080572A0 @ =gMain ldr r0, _080572A4 @ =sub_80572D8 @@ -4931,7 +4931,7 @@ sub_805726C: @ 805726C bx r0 .align 2, 0 _08057298: .4byte gUnknown_2036E28 -_0805729C: .4byte sub_80C9BFC +_0805729C: .4byte CB2_DoChangeMap _080572A0: .4byte gMain _080572A4: .4byte sub_80572D8 thumb_func_end sub_805726C @@ -4939,7 +4939,7 @@ _080572A4: .4byte sub_80572D8 thumb_func_start sub_80572A8 sub_80572A8: @ 80572A8 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _080572D0 @ =gUnknown_2036E28 movs r1, 0x1 strb r1, [r0] @@ -4947,7 +4947,7 @@ sub_80572A8: @ 80572A8 bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _080572D4 @ =sub_80572D8 bl SetMainCallback2 pop {r0} @@ -4963,15 +4963,15 @@ sub_80572D8: @ 80572D8 ldr r0, _080572F4 @ =gMain + 0x438 bl sub_8057300 bl SetFieldVBlankCallback - ldr r0, _080572F8 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _080572F8 @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _080572FC @ =sub_80565B4 bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 _080572F4: .4byte gMain + 0x438 -_080572F8: .4byte sub_8056534 +_080572F8: .4byte CB1_Overworld _080572FC: .4byte sub_80565B4 thumb_func_end sub_80572D8 @@ -5019,8 +5019,8 @@ _08057330: .4byte _08057404 .4byte _0805740A _0805735C: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks bl sub_8111F14 bl sub_81113E4 bl sub_8111438 @@ -5118,7 +5118,7 @@ _0805742A: thumb_func_start sub_8057430 sub_8057430: @ 8057430 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic ldr r1, _08057484 @ =gUnknown_2036E28 movs r0, 0x3 @@ -5128,7 +5128,7 @@ sub_8057430: @ 8057430 bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 - bl sub_80589E8 + bl InitMapFromSavedGame bl PlayTimeCounter_Start bl ScriptContext1_Init ldr r1, _08057488 @ =gUnknown_2031DE0 @@ -5148,14 +5148,14 @@ _08057484: .4byte gUnknown_2036E28 _08057488: .4byte gUnknown_2031DE0 _0805748C: .4byte CB2_LoadMap _08057490: - ldr r0, _080574A0 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _080574A0 @ =CB1_Overworld + bl SetMainCallback1 bl CB2_ReturnToField _0805749A: pop {r0} bx r0 .align 2, 0 -_080574A0: .4byte sub_8056534 +_080574A0: .4byte CB1_Overworld thumb_func_end sub_8057430 thumb_func_start Overworld_CreditsMainCB @@ -5313,7 +5313,7 @@ _08057560: bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r1, _08057614 @ =gFieldCallback2 ldr r0, _08057618 @ =sub_80574EC str r0, [r1] @@ -6809,7 +6809,7 @@ _080580F4: .4byte gUnknown_3000E80 _080580F8: .4byte CableClub_EventScript_TooBusyToNotice _080580FC: adds r0, r2, 0 - bl sub_8081A34 + bl GetSeeingLinkPlayerCardMsg cmp r0, 0 bne _08058110 ldr r0, _0805810C @ =CableClub_EventScript_ReadTrainerCard @@ -7880,7 +7880,7 @@ _080588BC: ldrb r0, [r4] lsls r0, 30 lsrs r0, 31 - bl sub_805C7F8 + bl GetHoennLinkPartnerGraphicsIdByGender _080588C6: lsls r0, 24 lsrs r0, 24 @@ -7979,7 +7979,7 @@ _08058978: _0805898A: adds r0, r5, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldrb r0, [r6] lsls r0, 29 cmp r0, 0 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 345f3c83c..9dbbabd6f 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -1839,7 +1839,7 @@ _08106478: bl FillWindowPixelBuffer movs r0, 0xB0 movs r1, 0x1 - bl sub_8107D38 + bl ListMenuLoadStdPalAt mov r0, r10 cmp r0, 0 beq _08106504 diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s deleted file mode 100644 index d94a5c8db..000000000 --- a/asm/pokemon_jump.s +++ /dev/null @@ -1,642 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81475C0 -sub_81475C0: @ 81475C0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08147600 @ =sub_8147654 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08147604 @ =gTasks - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - strh r5, [r0, 0xA] - ldr r0, _08147608 @ =gUnknown_846B4AC - lsls r5, 4 - adds r5, r0 - ldr r1, [r5] - adds r0, r4, 0 - bl _call_via_r1 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08147600: .4byte sub_8147654 -_08147604: .4byte gTasks -_08147608: .4byte gUnknown_846B4AC - thumb_func_end sub_81475C0 - - thumb_func_start sub_814760C -sub_814760C: @ 814760C - push {lr} - ldr r0, _08147630 @ =sub_8147654 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08147638 - ldr r0, _08147634 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - movs r0, 0x1 - b _0814763A - .align 2, 0 -_08147630: .4byte sub_8147654 -_08147634: .4byte gTasks -_08147638: - movs r0, 0 -_0814763A: - pop {r1} - bx r1 - thumb_func_end sub_814760C - - thumb_func_start sub_8147640 -sub_8147640: @ 8147640 - push {lr} - ldr r0, _08147650 @ =sub_8147654 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08147650: .4byte sub_8147654 - thumb_func_end sub_8147640 - - thumb_func_start sub_8147654 -sub_8147654: @ 8147654 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08147678 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - beq _081476A0 - cmp r0, 0x3 - bgt _0814767C - cmp r0, 0x2 - beq _08147682 - b _081476D6 - .align 2, 0 -_08147678: .4byte gTasks+0x8 -_0814767C: - cmp r0, 0x4 - beq _081476BC - b _081476D6 -_08147682: - ldr r1, _0814769C @ =gUnknown_846B4AC - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 4 - adds r1, 0x8 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - movs r0, 0x3 - strh r0, [r4] - b _081476D6 - .align 2, 0 -_0814769C: .4byte gUnknown_846B4AC -_081476A0: - ldr r0, _081476B8 @ =gUnknown_846B4AC - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r1, 4 - adds r0, 0xC - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl _call_via_r1 - b _081476D6 - .align 2, 0 -_081476B8: .4byte gUnknown_846B4AC -_081476BC: - ldr r0, _081476DC @ =gUnknown_846B4AC - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r1, 4 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl _call_via_r1 - adds r0, r5, 0 - bl DestroyTask -_081476D6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081476DC: .4byte gUnknown_846B4AC - thumb_func_end sub_8147654 - - thumb_func_start sub_81476E0 -sub_81476E0: @ 81476E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0x6 - ldrsh r0, [r4, r1] - lsls r0, 3 - ldr r1, _081477B0 @ =gUnknown_846B42C - adds r0, r1 - bl LoadCompressedSpriteSheet - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 3 - ldr r1, _081477B4 @ =gUnknown_846B43C - adds r0, r1 - bl LoadSpritePalette - movs r5, 0 - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r5, r0 - bge _08147748 -_08147714: - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, _081477B8 @ =gUnknown_846B494 - adds r0, r1 - movs r2, 0x12 - ldrsh r1, [r4, r2] - movs r3, 0x14 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0xE] - bl CreateSprite - lsls r1, r5, 1 - adds r1, r4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x1A] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _08147714 -_08147748: - movs r5, 0 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r5, r0 - bge _081477A4 - movs r7, 0x3 - movs r3, 0xD - negs r3, r3 - mov r12, r3 - ldr r6, _081477BC @ =gSprites -_0814775C: - lsls r0, r5, 1 - adds r0, r4 - movs r1, 0x1A - ldrsh r0, [r0, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldrb r1, [r4, 0xC] - ands r1, r7 - lsls r1, 2 - ldrb r3, [r2, 0x5] - mov r0, r12 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0xA] - strh r0, [r2, 0x30] - mov r3, r8 - strh r3, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r4, 0x1A] - strh r0, [r2, 0x38] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _0814775C -_081477A4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081477B0: .4byte gUnknown_846B42C -_081477B4: .4byte gUnknown_846B43C -_081477B8: .4byte gUnknown_846B494 -_081477BC: .4byte gSprites - thumb_func_end sub_81476E0 - - thumb_func_start sub_81477C0 -sub_81477C0: @ 81477C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r1, _08147840 @ =gTasks+0x8 - adds r4, r1 - movs r5, 0 - strh r5, [r4, 0x4] - strh r5, [r4, 0x6] - strh r5, [r4, 0x8] - movs r1, 0x3C - strh r1, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - movs r1, 0x3 - strh r1, [r4, 0x10] - movs r1, 0x78 - strh r1, [r4, 0x12] - movs r1, 0x58 - strh r1, [r4, 0x14] - adds r1, r4, 0 - bl sub_81476E0 - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08147844 @ =gSprites - adds r0, r5 - movs r1, 0x4 - bl StartSpriteAnim - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08147848 @ =0x0000ffe0 - strh r1, [r0, 0x24] - movs r0, 0x1E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x5 - bl StartSpriteAnim - movs r0, 0x1E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x20 - strh r1, [r0, 0x24] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08147840: .4byte gTasks+0x8 -_08147844: .4byte gSprites -_08147848: .4byte 0x0000ffe0 - thumb_func_end sub_81477C0 - - thumb_func_start sub_814784C -sub_814784C: @ 814784C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08147860 @ =gTasks+0x8 - adds r4, r1, r0 - b _08147880 - .align 2, 0 -_08147860: .4byte gTasks+0x8 -_08147864: - lsls r0, r5, 1 - adds r0, r4 - movs r2, 0x1A - ldrsh r1, [r0, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081478B0 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08147880: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _08147864 - ldr r1, _081478B4 @ =gUnknown_846B42C - movs r2, 0x6 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r1, _081478B8 @ =gUnknown_846B43C - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081478B0: .4byte gSprites -_081478B4: .4byte gUnknown_846B42C -_081478B8: .4byte gUnknown_846B43C - thumb_func_end sub_814784C - - thumb_func_start sub_81478BC -sub_81478BC: @ 81478BC - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x34 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08147900 @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0x16 - ldrsh r0, [r5, r1] - movs r2, 0xA - ldrsh r1, [r5, r2] - bl __modsi3 - cmp r0, 0 - bne _081479CE - ldrh r2, [r5, 0x16] - movs r3, 0x16 - ldrsh r1, [r5, r3] - movs r3, 0x14 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _081479CE - strh r2, [r5, 0x14] - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _081479C8 - lsls r0, 2 - ldr r1, _08147904 @ =_08147908 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08147900: .4byte gTasks+0x8 -_08147904: .4byte _08147908 - .align 2, 0 -_08147908: - .4byte _0814791C - .4byte _0814792A - .4byte _0814792A - .4byte _0814793E - .4byte _08147988 -_0814791C: - adds r2, r6, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0814792A: - movs r0, 0x31 - bl PlaySE - ldrh r1, [r6, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl StartSpriteAnim - b _081479C8 -_0814793E: - movs r0, 0x15 - bl PlaySE - ldrh r1, [r6, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl StartSpriteAnim - ldr r4, _08147984 @ =gSprites - movs r2, 0x1C - ldrsh r0, [r5, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - b _081479C8 - .align 2, 0 -_08147984: .4byte gSprites -_08147988: - adds r1, r6, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r3, _081479C4 @ =gSprites - movs r0, 0x1C - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - movs r0, 0x1E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - movs r0, 0x4 - strh r0, [r5] - b _081479CE - .align 2, 0 -_081479C4: .4byte gSprites -_081479C8: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] -_081479CE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81478BC - - thumb_func_start sub_81479D4 -sub_81479D4: @ 81479D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, _08147A28 @ =gTasks+0x8 - adds r6, r4, r5 - movs r0, 0x31 - bl PlaySE - ldr r2, _08147A2C @ =gSprites - movs r0, 0x1A - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08147A30 @ =sub_81478BC - str r1, [r0] - movs r0, 0x1A - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - subs r5, 0x8 - adds r4, r5 - movs r0, 0x3 - strh r0, [r4, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08147A28: .4byte gTasks+0x8 -_08147A2C: .4byte gSprites -_08147A30: .4byte sub_81478BC - thumb_func_end sub_81479D4 - - thumb_func_start sub_8147A34 -sub_8147A34: @ 8147A34 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08147A88 @ =gTasks+0x8 - adds r4, r1, r0 - ldr r0, _08147A8C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08147A98 - ldr r1, _08147A90 @ =gRecvCmds - ldrh r0, [r1, 0x2] - ldr r5, _08147A94 @ =0x00007fff - cmp r0, r5 - bne _08147A5C - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x16] -_08147A5C: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08147A9E - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - mov r0, sp - movs r1, 0 - movs r2, 0xC - bl memset - mov r0, sp - strh r5, [r0] - mov r1, sp - ldrh r0, [r4, 0x18] - strh r0, [r1, 0x2] - mov r0, sp - bl sub_80F9E2C - b _08147A9E - .align 2, 0 -_08147A88: .4byte gTasks+0x8 -_08147A8C: .4byte gReceivedRemoteLinkPlayers -_08147A90: .4byte gRecvCmds -_08147A94: .4byte 0x00007fff -_08147A98: - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_08147A9E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8147A34 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s deleted file mode 100644 index 5e6327c81..000000000 --- a/asm/pokemon_jump_2.s +++ /dev/null @@ -1,8055 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8147AA8 -sub_8147AA8: @ 8147AA8 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _08147B20 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08147B3C - ldr r5, _08147B24 @ =gUnknown_203F3D4 - ldr r0, _08147B28 @ =0x000083b0 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _08147B3C - bl ResetTasks - ldr r0, _08147B2C @ =sub_8147DA0 - movs r1, 0x1 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, [r5] - movs r1, 0 - strh r1, [r0, 0x8] - str r6, [r0] - strb r4, [r0, 0x4] - bl GetMultiplayerId - ldr r1, [r5] - strb r0, [r1, 0x6] - ldr r0, [r5] - ldrb r2, [r0, 0x6] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - ldr r2, _08147B30 @ =0x000082a8 - adds r1, r2 - adds r0, r1 - movs r1, 0x64 - muls r1, r7 - ldr r2, _08147B34 @ =gPlayerParty - adds r1, r2 - bl sub_8147D2C - ldr r0, [r5] - bl sub_8147B60 - ldr r2, [r5] - adds r0, r4, 0 - movs r1, 0x2 - bl SetWordTaskArg - ldr r0, _08147B38 @ =sub_8147D6C - bl SetMainCallback2 - b _08147B42 - .align 2, 0 -_08147B20: .4byte gReceivedRemoteLinkPlayers -_08147B24: .4byte gUnknown_203F3D4 -_08147B28: .4byte 0x000083b0 -_08147B2C: .4byte sub_8147DA0 -_08147B30: .4byte 0x000082a8 -_08147B34: .4byte gPlayerParty -_08147B38: .4byte sub_8147D6C -_08147B3C: - adds r0, r6, 0 - bl SetMainCallback2 -_08147B42: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8147AA8 - - thumb_func_start sub_8147B48 -sub_8147B48: @ 8147B48 - push {lr} - bl sub_8149D24 - ldr r0, _08147B5C @ =gUnknown_203F3D4 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .align 2, 0 -_08147B5C: .4byte gUnknown_203F3D4 - thumb_func_end sub_8147B48 - - thumb_func_start sub_8147B60 -sub_8147B60: @ 8147B60 - push {r4,lr} - adds r4, r0, 0 - bl GetLinkPlayerCount - movs r2, 0 - strb r0, [r4, 0x5] - adds r1, r4, 0 - adds r1, 0x70 - movs r0, 0x5 - strb r0, [r1] - adds r0, r4, 0 - adds r0, 0x72 - strh r2, [r0] - bl sub_8147C20 - adds r0, r4, 0 - bl sub_8147B94 - ldrb r0, [r4, 0x5] - cmp r0, 0x5 - bne _08147B8E - bl sub_814B4E8 -_08147B8E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8147B60 - - thumb_func_start sub_8147B94 -sub_8147B94: @ 8147B94 - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x6 - str r0, [r4, 0x14] - str r0, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x4A - movs r6, 0 - movs r5, 0 - strh r5, [r0] - str r5, [r4, 0x1C] - str r5, [r4, 0x5C] - bl GetMultiplayerId - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _08147BBA - movs r1, 0x1 -_08147BBA: - adds r0, r4, 0 - adds r0, 0x47 - strb r1, [r0] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - str r5, [r4, 0x58] - strh r5, [r4, 0x3A] - subs r0, 0x3 - strb r6, [r0] - str r5, [r4, 0x54] - adds r0, 0x2 - strb r6, [r0] - adds r0, 0x3 - strb r6, [r0] - subs r0, 0x1 - movs r1, 0x1 - strb r1, [r0] - str r5, [r4, 0x78] - adds r0, 0x29 - strb r6, [r0] - adds r0, 0x3 - strh r5, [r0] - str r1, [r4, 0x60] - subs r0, 0x27 - strb r6, [r0] - str r5, [r4, 0x68] - str r5, [r4, 0x64] - str r5, [r4, 0x2C] - str r5, [r4, 0x30] - bl sub_8147C98 - bl sub_81491E4 - movs r2, 0 - adds r5, r4, 0 - adds r5, 0x7C - movs r3, 0 - adds r1, r4, 0 - adds r1, 0x9A -_08147C0C: - adds r0, r5, r2 - strb r3, [r0] - strh r3, [r1] - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x4 - ble _08147C0C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8147B94 - - thumb_func_start sub_8147C20 -sub_8147C20: @ 8147C20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _08147C80 @ =gUnknown_203F3D4 - movs r6, 0 - movs r5, 0 - ldr r0, _08147C84 @ =gUnknown_846B4BC - mov r8, r0 - movs r4, 0x4 -_08147C32: - ldr r0, [r7] - adds r0, r5 - ldr r1, _08147C88 @ =0x000082a8 - adds r0, r1 - ldrh r0, [r0] - bl sub_8147D00 - lsls r0, 16 - ldr r1, [r7] - adds r1, r6 - asrs r0, 14 - add r0, r8 - ldrh r0, [r0, 0x2] - ldr r2, _08147C8C @ =0x000082f0 - adds r1, r2 - strh r0, [r1] - adds r6, 0x28 - adds r5, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _08147C32 - ldr r0, _08147C80 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldr r0, _08147C90 @ =0x000083ac - adds r3, r1, r0 - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _08147C94 @ =0x000082e4 - adds r0, r2 - adds r1, r0 - str r1, [r3] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08147C80: .4byte gUnknown_203F3D4 -_08147C84: .4byte gUnknown_846B4BC -_08147C88: .4byte 0x000082a8 -_08147C8C: .4byte 0x000082f0 -_08147C90: .4byte 0x000083ac -_08147C94: .4byte 0x000082e4 - thumb_func_end sub_8147C20 - - thumb_func_start sub_8147C98 -sub_8147C98: @ 8147C98 - push {r4-r7,lr} - movs r5, 0 - ldr r6, _08147CE8 @ =gUnknown_203F3D4 - movs r4, 0 - movs r3, 0 -_08147CA2: - ldr r2, [r6] - adds r1, r2, r3 - ldr r7, _08147CEC @ =0x000082f2 - adds r0, r1, r7 - strh r4, [r0] - adds r7, 0x2 - adds r0, r1, r7 - strh r4, [r0] - ldr r0, _08147CF0 @ =0x000082f6 - adds r1, r0 - strh r4, [r1] - ldr r1, _08147CF4 @ =0x000082e4 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - subs r7, 0xC - adds r0, r2, r7 - adds r0, r3 - ldr r1, _08147CF8 @ =0x7fffffff - str r1, [r0] - ldr r1, _08147CFC @ =0x000082f8 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - adds r2, 0x8B - adds r2, r5 - movs r0, 0x9 - strb r0, [r2] - adds r3, 0x28 - adds r5, 0x1 - cmp r5, 0x4 - ble _08147CA2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08147CE8: .4byte gUnknown_203F3D4 -_08147CEC: .4byte 0x000082f2 -_08147CF0: .4byte 0x000082f6 -_08147CF4: .4byte 0x000082e4 -_08147CF8: .4byte 0x7fffffff -_08147CFC: .4byte 0x000082f8 - thumb_func_end sub_8147C98 - - thumb_func_start sub_8147D00 -sub_8147D00: @ 8147D00 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0 - ldr r2, _08147D18 @ =gUnknown_846B4BC -_08147D0A: - ldrh r0, [r2] - cmp r0, r3 - bne _08147D1C - lsls r0, r1, 16 - asrs r0, 16 - b _08147D28 - .align 2, 0 -_08147D18: .4byte gUnknown_846B4BC -_08147D1C: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0x63 - bls _08147D0A - movs r0, 0x1 - negs r0, r0 -_08147D28: - pop {r1} - bx r1 - thumb_func_end sub_8147D00 - - thumb_func_start sub_8147D2C -sub_8147D2C: @ 8147D2C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8147D2C - - thumb_func_start sub_8147D58 -sub_8147D58: @ 8147D58 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_8147D58 - - thumb_func_start sub_8147D6C -sub_8147D6C: @ 8147D6C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8147D6C - - thumb_func_start sub_8147D84 -sub_8147D84: @ 8147D84 - push {lr} - movs r1, 0x1 - bl CreateTask - ldr r2, _08147D9C @ =gUnknown_203F3D4 - ldr r1, [r2] - movs r3, 0 - strb r0, [r1, 0x4] - ldr r0, [r2] - strh r3, [r0, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_08147D9C: .4byte gUnknown_203F3D4 - thumb_func_end sub_8147D84 - - thumb_func_start sub_8147DA0 -sub_8147DA0: @ 8147DA0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08147DC0 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0x8] - adds r2, r1, 0 - cmp r0, 0x5 - bls _08147DB6 - b _08147F04 -_08147DB6: - lsls r0, 2 - ldr r1, _08147DC4 @ =_08147DC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08147DC0: .4byte gUnknown_203F3D4 -_08147DC4: .4byte _08147DC8 - .align 2, 0 -_08147DC8: - .4byte _08147DE0 - .4byte _08147E0C - .4byte _08147E3C - .4byte _08147E64 - .4byte _08147EA0 - .4byte _08147ECC -_08147DE0: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _08147E04 @ =sub_8148E80 - movs r1, 0x5 - bl sub_8148F5C - movs r0, 0x4 - bl FadeOutMapMusic - ldr r0, _08147E08 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08147EBC - .align 2, 0 -_08147E04: .4byte sub_8148E80 -_08147E08: .4byte gUnknown_203F3D4 -_08147E0C: - ldr r0, _08147E34 @ =sub_8148E80 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08147F04 - ldr r4, _08147E38 @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0xA4 - bl sub_8149CEC - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r1, [r4] - b _08147EBC - .align 2, 0 -_08147E34: .4byte sub_8148E80 -_08147E38: .4byte gUnknown_203F3D4 -_08147E3C: - bl sub_8149D68 - cmp r0, 0 - bne _08147F04 - bl IsNotWaitingForBGMStop - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08147F04 - movs r0, 0xA3 - lsls r0, 1 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic - ldr r0, _08147E60 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08147EBC - .align 2, 0 -_08147E60: .4byte gUnknown_203F3D4 -_08147E64: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08147F04 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08147E98 @ =sub_8147D58 - bl SetVBlankCallback - ldr r0, _08147E9C @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08147EBC - .align 2, 0 -_08147E98: .4byte sub_8147D58 -_08147E9C: .4byte gUnknown_203F3D4 -_08147EA0: - bl UpdatePaletteFade - ldr r0, _08147EC4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08147F04 - ldr r1, _08147EC8 @ =gUnknown_203F3D4 - ldr r0, [r1] - strb r2, [r0, 0x7] - ldr r1, [r1] -_08147EBC: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08147F04 - .align 2, 0 -_08147EC4: .4byte gPaletteFade -_08147EC8: .4byte gUnknown_203F3D4 -_08147ECC: - ldr r0, [r2] - ldrb r1, [r0, 0x7] - adds r1, 0x1 - strb r1, [r0, 0x7] - ldr r1, [r2] - ldrb r0, [r1, 0x7] - cmp r0, 0x13 - bls _08147F04 - adds r0, r1, 0 - adds r0, 0x47 - ldrb r0, [r0] - cmp r0, 0 - beq _08147EF4 - ldr r0, _08147EF0 @ =sub_814807C - bl sub_8147D84 - b _08147EFA - .align 2, 0 -_08147EF0: .4byte sub_814807C -_08147EF4: - ldr r0, _08147F0C @ =sub_8148290 - bl sub_8147D84 -_08147EFA: - bl sub_8148F7C - adds r0, r4, 0 - bl DestroyTask -_08147F04: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08147F0C: .4byte sub_8148290 - thumb_func_end sub_8147DA0 - - thumb_func_start sub_8147F10 -sub_8147F10: @ 8147F10 - push {lr} - adds r1, r0, 0 - cmp r1, 0 - bne _08147F30 - ldr r0, _08147F28 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldr r0, _08147F2C @ =0x00001111 - str r0, [r1, 0x30] - movs r0, 0x1 - str r0, [r1, 0x2C] - b _08147F42 - .align 2, 0 -_08147F28: .4byte gUnknown_203F3D4 -_08147F2C: .4byte 0x00001111 -_08147F30: - ldr r0, _08147F48 @ =gUnknown_203F3D4 - ldr r2, [r0] - subs r1, 0x1 - movs r0, 0x1 - lsls r0, r1 - subs r0, 0x1 - str r0, [r2, 0x30] - movs r0, 0 - str r0, [r2, 0x2C] -_08147F42: - pop {r0} - bx r0 - .align 2, 0 -_08147F48: .4byte gUnknown_203F3D4 - thumb_func_end sub_8147F10 - - thumb_func_start sub_8147F4C -sub_8147F4C: @ 8147F4C - push {r4-r6,lr} - ldr r4, _08147F98 @ =gUnknown_203F3D4 - ldr r1, [r4] - adds r1, 0x70 - movs r2, 0 - strb r0, [r1] - ldr r0, [r4] - movs r3, 0 - strh r2, [r0, 0x8] - strh r2, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x49 - strb r3, [r0] - movs r3, 0x1 - ldr r0, [r4] - ldrb r0, [r0, 0x5] - cmp r3, r0 - bge _08147F90 - adds r6, r4, 0 - ldr r5, _08147F9C @ =0x000082fc - movs r4, 0 - movs r2, 0x28 -_08147F7E: - ldr r1, [r6] - adds r0, r1, r5 - adds r0, r2 - str r4, [r0] - adds r2, 0x28 - adds r3, 0x1 - ldrb r1, [r1, 0x5] - cmp r3, r1 - blt _08147F7E -_08147F90: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08147F98: .4byte gUnknown_203F3D4 -_08147F9C: .4byte 0x000082fc - thumb_func_end sub_8147F4C - - thumb_func_start sub_8147FA0 -sub_8147FA0: @ 8147FA0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r4, 0x1 - movs r0, 0 - str r0, [sp, 0x4] - ldr r7, _08148068 @ =gUnknown_203F3D4 - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148044 - adds r1, r7, 0 - mov r10, r1 - movs r2, 0x2 - add r2, sp - mov r8, r2 - ldr r3, _0814806C @ =0x0000830c - mov r9, r3 - movs r6, 0x28 -_08147FCC: - mov r1, r10 - ldr r0, [r1] - adds r1, r0, r6 - ldr r2, _08148070 @ =0x000082f4 - adds r1, r2 - ldrh r5, [r1] - add r0, r9 - adds r1, r4, 0 - mov r2, sp - mov r3, r8 - bl sub_8149C24 - cmp r0, 0 - beq _0814800C - ldr r2, [r7] - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x90 - adds r0, r1 - mov r3, r8 - ldrh r1, [r3] - strh r1, [r0] - adds r2, 0x8B - adds r2, r4 - mov r0, sp - ldrb r0, [r0] - strb r0, [r2] - ldr r0, [r7] - adds r0, r6 - ldr r1, _08148074 @ =0x000082f6 - adds r0, r1 - strh r5, [r0] -_0814800C: - mov r2, r10 - ldr r1, [r2] - ldr r3, _08148078 @ =0x000082fc - adds r0, r1, r3 - adds r0, r6 - ldr r0, [r0] - cmp r0, 0 - beq _08148032 - adds r0, r1, 0 - adds r0, 0x8B - adds r0, r4 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _08148032 - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_08148032: - movs r1, 0x28 - add r9, r1 - adds r6, 0x28 - adds r4, 0x1 - ldr r7, _08148068 @ =gUnknown_203F3D4 - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08147FCC -_08148044: - ldr r2, _08148068 @ =gUnknown_203F3D4 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - ldr r3, [sp, 0x4] - cmp r3, r0 - bne _08148058 - adds r1, 0x49 - movs r0, 0x1 - strb r0, [r1] -_08148058: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148068: .4byte gUnknown_203F3D4 -_0814806C: .4byte 0x0000830c -_08148070: .4byte 0x000082f4 -_08148074: .4byte 0x000082f6 -_08148078: .4byte 0x000082fc - thumb_func_end sub_8147FA0 - - thumb_func_start sub_814807C -sub_814807C: @ 814807C - push {r4,r5,lr} - bl sub_8147FA0 - bl sub_8149534 - ldr r0, _081480F8 @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - bne _081480AE - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _081480AE - adds r0, r1, 0 - adds r0, 0x4C - ldrb r0, [r0] - bl sub_8147F4C - movs r0, 0x3 - bl sub_8147F10 -_081480AE: - ldr r4, _081480F8 @ =gUnknown_203F3D4 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r5, [r0] - cmp r5, 0x1 - bne _081480EA - ldr r1, _081480FC @ =gUnknown_846B64C - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _081480EA - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _08148100 @ =0x000082fc - adds r1, r2 - adds r1, r0 - str r5, [r1] -_081480EA: - bl sub_81492D8 - bl sub_8148104 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081480F8: .4byte gUnknown_203F3D4 -_081480FC: .4byte gUnknown_846B64C -_08148100: .4byte 0x000082fc - thumb_func_end sub_814807C - - thumb_func_start sub_8148104 -sub_8148104: @ 8148104 - push {r4,lr} - ldr r4, _08148134 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldr r0, [r1, 0x2C] - cmp r0, 0 - bne _0814811A - ldr r2, _08148138 @ =0x000082e4 - adds r0, r1, r2 - adds r1, 0x70 - bl sub_8149AF8 -_0814811A: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, _0814813C @ =0x00001111 - cmp r2, r0 - beq _0814812C - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_0814812C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08148134: .4byte gUnknown_203F3D4 -_08148138: .4byte 0x000082e4 -_0814813C: .4byte 0x00001111 - thumb_func_end sub_8148104 - - thumb_func_start sub_8148140 -sub_8148140: @ 8148140 - ldr r2, _0814816C @ =gUnknown_203F3D4 - ldr r1, [r2] - adds r1, 0x70 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - strh r3, [r0, 0x8] - strh r3, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r2] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _08148170 @ =0x000082fc - adds r1, r2 - adds r1, r0 - str r3, [r1] - bx lr - .align 2, 0 -_0814816C: .4byte gUnknown_203F3D4 -_08148170: .4byte 0x000082fc - thumb_func_end sub_8148140 - - thumb_func_start sub_8148174 -sub_8148174: @ 8148174 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r4, _081481F0 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldr r2, _081481F4 @ =0x000082f4 - adds r1, r0, r2 - ldrh r1, [r1] - mov r8, r1 - ldr r3, _081481F8 @ =0x000082e4 - adds r0, r3 - mov r1, sp - bl sub_8149B7C - cmp r0, 0 - beq _08148224 - ldr r2, [r4] - ldrb r0, [r2, 0x6] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, _081481FC @ =0x000082fc - adds r0, r2, r3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _081481C2 - mov r0, sp - adds r1, r2, 0 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _081481C2 - mov r0, sp - ldrb r0, [r0] - bl sub_8148140 -_081481C2: - ldr r3, _081481F0 @ =gUnknown_203F3D4 - ldr r2, [r3] - ldr r0, [r2, 0x78] - ldr r1, [sp, 0x8] - cmp r0, r1 - beq _08148204 - str r1, [r2, 0x78] - movs r4, 0x1 - str r4, [r2, 0x5C] - mov r0, sp - ldrb r1, [r0, 0x1] - adds r0, r2, 0 - adds r0, 0x71 - strb r1, [r0] - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x71 - ldrb r1, [r1] - cmp r1, 0 - beq _08148200 - adds r0, 0x4D - strb r4, [r0] - b _08148204 - .align 2, 0 -_081481F0: .4byte gUnknown_203F3D4 -_081481F4: .4byte 0x000082f4 -_081481F8: .4byte 0x000082e4 -_081481FC: .4byte 0x000082fc -_08148200: - adds r0, 0x4D - strb r1, [r0] -_08148204: - ldr r0, _08148280 @ =gUnknown_203F3D4 - ldr r1, [r0] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - mov r0, sp - ldrh r2, [r0, 0x4] - adds r0, r1, 0 - adds r0, 0x74 - strh r2, [r0] - ldr r0, _08148284 @ =0x000082f6 - adds r1, r0 - mov r2, r8 - strh r2, [r1] -_08148224: - movs r4, 0x1 - ldr r2, _08148280 @ =gUnknown_203F3D4 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148272 - adds r7, r2, 0 - ldr r6, _08148288 @ =0x0000830c - movs r5, 0x28 -_08148236: - ldr r1, [r7] - ldrb r3, [r1, 0x6] - cmp r4, r3 - beq _08148264 - adds r0, r1, r5 - ldr r3, _0814828C @ =0x000082f4 - adds r0, r3 - ldrh r0, [r0] - mov r8, r0 - adds r0, r1, r6 - adds r1, r4, 0 - str r2, [sp, 0xC] - bl sub_8149C90 - ldr r2, [sp, 0xC] - cmp r0, 0 - beq _08148264 - ldr r0, [r7] - adds r0, r5 - ldr r1, _08148284 @ =0x000082f6 - adds r0, r1 - mov r3, r8 - strh r3, [r0] -_08148264: - adds r6, 0x28 - adds r5, 0x28 - adds r4, 0x1 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08148236 -_08148272: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148280: .4byte gUnknown_203F3D4 -_08148284: .4byte 0x000082f6 -_08148288: .4byte 0x0000830c -_0814828C: .4byte 0x000082f4 - thumb_func_end sub_8148174 - - thumb_func_start sub_8148290 -sub_8148290: @ 8148290 - push {r4,lr} - bl sub_8148174 - ldr r4, _081482EC @ =gUnknown_203F3D4 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - beq _081482DC - ldr r1, _081482F0 @ =gUnknown_846B670 - adds r0, r2, 0 - adds r0, 0x70 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _081482DC - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _081482F4 @ =0x000082fc - adds r1, r2 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x3 - bl sub_8147F10 -_081482DC: - bl sub_81492D8 - bl sub_81482F8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081482EC: .4byte gUnknown_203F3D4 -_081482F0: .4byte gUnknown_846B670 -_081482F4: .4byte 0x000082fc - thumb_func_end sub_8148290 - - thumb_func_start sub_81482F8 -sub_81482F8: @ 81482F8 - push {r4,lr} - ldr r4, _08148338 @ =gUnknown_203F3D4 - ldr r2, [r4] - ldr r0, [r2, 0x2C] - cmp r0, 0 - bne _08148320 - ldrb r1, [r2, 0x6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0814833C @ =0x000082e4 - adds r0, r1 - adds r0, r2, r0 - adds r1, r2, 0 - adds r1, 0x70 - ldrb r1, [r1] - adds r2, 0x42 - ldrh r2, [r2] - bl sub_8149BF4 -_08148320: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, _08148340 @ =0x00001111 - cmp r2, r0 - beq _08148332 - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_08148332: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08148338: .4byte gUnknown_203F3D4 -_0814833C: .4byte 0x000082e4 -_08148340: .4byte 0x00001111 - thumb_func_end sub_81482F8 - - thumb_func_start sub_8148344 -sub_8148344: @ 8148344 - push {r4,lr} - ldr r4, _08148358 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0814835C - cmp r0, 0x1 - beq _0814836A - b _08148390 - .align 2, 0 -_08148358: .4byte gUnknown_203F3D4 -_0814835C: - movs r0, 0x3 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814836A: - bl sub_81488DC - cmp r0, 0 - bne _08148390 - ldr r0, _0814838C @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - movs r0, 0 - b _08148392 - .align 2, 0 -_0814838C: .4byte gUnknown_203F3D4 -_08148390: - movs r0, 0x1 -_08148392: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148344 - - thumb_func_start sub_8148398 -sub_8148398: @ 8148398 - push {r4,lr} - ldr r4, _081483AC @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _081483B0 - cmp r0, 0x1 - beq _081483C6 - movs r0, 0x1 - b _081483CA - .align 2, 0 -_081483AC: .4byte gUnknown_203F3D4 -_081483B0: - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - str r0, [r1, 0x24] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081483C6: - bl sub_81488DC -_081483CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148398 - - thumb_func_start sub_81483D0 -sub_81483D0: @ 81483D0 - push {r4,lr} - ldr r4, _081483E4 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _081483E8 - cmp r0, 0x1 - beq _081483FC - b _08148410 - .align 2, 0 -_081483E4: .4byte gUnknown_203F3D4 -_081483E8: - bl sub_81491E4 - movs r0, 0x5 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08148410 -_081483FC: - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _08148410 - adds r1, 0x4C - movs r0, 0x2 - strb r0, [r1] - movs r0, 0 - b _08148412 -_08148410: - movs r0, 0x1 -_08148412: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81483D0 - - thumb_func_start sub_8148418 -sub_8148418: @ 8148418 - push {r4,lr} - ldr r4, _0814842C @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _08148430 - cmp r0, 0x1 - beq _0814844E - b _0814845A - .align 2, 0 -_0814842C: .4byte gUnknown_203F3D4 -_08148430: - bl sub_81491E4 - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x4A - strh r0, [r2] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814844E: - bl sub_8149804 - cmp r0, 0 - beq _0814845A - movs r0, 0 - b _0814845C -_0814845A: - movs r0, 0x1 -_0814845C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148418 - - thumb_func_start sub_8148464 -sub_8148464: @ 8148464 - push {lr} - bl sub_81489C8 - cmp r0, 0 - bne _0814848C - ldr r0, _08148488 @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - b _081484A6 - .align 2, 0 -_08148488: .4byte gUnknown_203F3D4 -_0814848C: - bl sub_8149630 - cmp r0, 0 - beq _08148498 - movs r0, 0x1 - b _081484A8 -_08148498: - bl sub_81491B4 - ldr r0, _081484AC @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x4C - movs r1, 0x3 - strb r1, [r0] -_081484A6: - movs r0, 0 -_081484A8: - pop {r1} - bx r1 - .align 2, 0 -_081484AC: .4byte gUnknown_203F3D4 - thumb_func_end sub_8148464 - - thumb_func_start sub_81484B0 -sub_81484B0: @ 81484B0 - push {lr} - bl sub_81489C8 - cmp r0, 0 - beq _081484CA - bl sub_8149630 - cmp r0, 0 - beq _081484C6 - movs r0, 0x1 - b _081484CC -_081484C6: - bl sub_81491B4 -_081484CA: - movs r0, 0 -_081484CC: - pop {r1} - bx r1 - thumb_func_end sub_81484B0 - - thumb_func_start sub_81484D0 -sub_81484D0: @ 81484D0 - push {r4,lr} - ldr r4, _081484E8 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0x1 - beq _08148508 - cmp r0, 0x1 - bgt _081484EC - cmp r0, 0 - beq _081484F2 - b _08148564 - .align 2, 0 -_081484E8: .4byte gUnknown_203F3D4 -_081484EC: - cmp r0, 0x2 - beq _0814855C - b _08148564 -_081484F2: - bl sub_8149630 - bl sub_81496D4 - cmp r0, 0 - beq _08148564 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08148564 -_08148508: - bl sub_8148A60 - cmp r0, 0 - bne _08148564 - bl sub_81498B4 - cmp r0, 0 - beq _0814852A - bl sub_81498D8 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x7 - b _08148550 -_0814852A: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x74 - ldrh r0, [r0] - cmp r0, 0xC7 - bls _08148544 - ldrh r0, [r1, 0xE] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x8 - b _08148550 -_08148544: - ldrh r0, [r1, 0xE] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x4 -_08148550: - strb r0, [r1] - ldr r0, _08148560 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814855C: - movs r0, 0 - b _08148566 - .align 2, 0 -_08148560: .4byte gUnknown_203F3D4 -_08148564: - movs r0, 0x1 -_08148566: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81484D0 - - thumb_func_start sub_814856C -sub_814856C: @ 814856C - push {r4,lr} - ldr r4, _08148584 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0x1 - beq _081485AC - cmp r0, 0x1 - bgt _08148588 - cmp r0, 0 - beq _0814858E - b _081485C0 - .align 2, 0 -_08148584: .4byte gUnknown_203F3D4 -_08148588: - cmp r0, 0x2 - beq _081485BC - b _081485C0 -_0814858E: - bl sub_8149630 - cmp r0, 0 - bne _0814859A - bl sub_81491B4 -_0814859A: - bl sub_81496D4 - cmp r0, 0 - beq _081485C0 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081485C0 -_081485AC: - bl sub_8148A60 - cmp r0, 0 - bne _081485C0 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081485BC: - movs r0, 0 - b _081485C2 -_081485C0: - movs r0, 0x1 -_081485C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814856C - - thumb_func_start sub_81485C8 -sub_81485C8: @ 81485C8 - push {r4,lr} - ldr r4, _081485E0 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r1, [r0, 0x8] - cmp r1, 0x1 - beq _081485FC - cmp r1, 0x1 - bgt _081485E4 - cmp r1, 0 - beq _081485EE - b _0814865C - .align 2, 0 -_081485E0: .4byte gUnknown_203F3D4 -_081485E4: - cmp r1, 0x2 - beq _08148628 - cmp r1, 0x3 - beq _08148652 - b _0814865C -_081485EE: - movs r0, 0x4 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081485FC: - bl sub_8148C80 - cmp r0, 0 - bne _0814865C - ldr r4, _08148624 @ =gUnknown_203F3D4 - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_814B494 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0814865C - .align 2, 0 -_08148624: .4byte gUnknown_203F3D4 -_08148628: - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0814865C - bl sub_8149748 - cmp r0, 0 - beq _08148640 - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0x5 - b _08148646 -_08148640: - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0x6 -_08148646: - strb r1, [r0] - ldr r0, _08148658 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08148652: - movs r0, 0 - b _0814865E - .align 2, 0 -_08148658: .4byte gUnknown_203F3D4 -_0814865C: - movs r0, 0x1 -_0814865E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81485C8 - - thumb_func_start sub_8148664 -sub_8148664: @ 8148664 - push {r4,lr} - ldr r4, _08148678 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0814867C - cmp r0, 0x1 - beq _0814868A - b _081486BC - .align 2, 0 -_08148678: .4byte gUnknown_203F3D4 -_0814867C: - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814868A: - bl sub_8148C80 - cmp r0, 0 - bne _081486BC - ldr r4, _081486B8 @ =gUnknown_203F3D4 - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_814B494 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x45 - ldrb r1, [r1] - adds r0, 0x42 - strh r1, [r0] - movs r0, 0 - b _081486BE - .align 2, 0 -_081486B8: .4byte gUnknown_203F3D4 -_081486BC: - movs r0, 0x1 -_081486BE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148664 - - thumb_func_start sub_81486C4 -sub_81486C4: @ 81486C4 - push {r4,lr} - ldr r4, _081486D8 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _081486DC - cmp r0, 0x1 - beq _081486EE - b _0814871A - .align 2, 0 -_081486D8: .4byte gUnknown_203F3D4 -_081486DC: - bl sub_8148E2C - cmp r0, 0 - bne _0814871A - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0814871A -_081486EE: - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0814871A - adds r0, r1, 0 - bl sub_8147B94 - bl Random - ldr r1, [r4] - lsls r0, 16 - lsrs r0, 16 - str r0, [r1, 0x24] - adds r3, r1, 0 - adds r3, 0x72 - movs r2, 0 - strh r0, [r3] - adds r1, 0x4C - strb r2, [r1] - movs r0, 0 - b _0814871C -_0814871A: - movs r0, 0x1 -_0814871C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81486C4 - - thumb_func_start sub_8148724 -sub_8148724: @ 8148724 - push {r4,lr} - ldr r4, _08148738 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0814873C - cmp r0, 0x1 - beq _08148752 - b _08148756 - .align 2, 0 -_08148738: .4byte gUnknown_203F3D4 -_0814873C: - bl sub_8148E2C - cmp r0, 0 - bne _08148756 - ldr r0, [r4] - bl sub_8147B94 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08148752: - movs r0, 0 - b _08148758 -_08148756: - movs r0, 0x1 -_08148758: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148724 - - thumb_func_start sub_8148760 -sub_8148760: @ 8148760 - push {r4,lr} - ldr r4, _08148778 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0x1 - beq _08148788 - cmp r0, 0x1 - bgt _0814877C - cmp r0, 0 - beq _08148782 - b _081487AC - .align 2, 0 -_08148778: .4byte gUnknown_203F3D4 -_0814877C: - cmp r0, 0x2 - beq _08148798 - b _081487AC -_08148782: - movs r0, 0x1 - strh r0, [r1, 0x8] - b _081487AC -_08148788: - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081487AC -_08148798: - bl sub_8148D5C - cmp r0, 0 - bne _081487AC - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - bl sub_8147B48 -_081487AC: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148760 - - thumb_func_start sub_81487B4 -sub_81487B4: @ 81487B4 - push {r4,lr} - ldr r4, _081487C8 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _081487CC - cmp r0, 0x1 - beq _081487DC - b _081487F8 - .align 2, 0 -_081487C8: .4byte gUnknown_203F3D4 -_081487CC: - movs r0, 0x4 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081487F8 -_081487DC: - bl sub_8148B54 - cmp r0, 0 - bne _081487F8 - ldr r0, [r4] - ldrh r1, [r0, 0xE] - adds r2, r0, 0 - adds r2, 0x72 - strh r1, [r2] - adds r0, 0x4C - movs r1, 0x8 - strb r1, [r0] - movs r0, 0 - b _081487FA -_081487F8: - movs r0, 0x1 -_081487FA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81487B4 - - thumb_func_start sub_8148800 -sub_8148800: @ 8148800 - push {lr} - movs r0, 0 - bl sub_8147F10 - bl sub_8148B54 - cmp r0, 0 - beq _08148814 - movs r0, 0x1 - b _08148816 -_08148814: - movs r0, 0 -_08148816: - pop {r1} - bx r1 - thumb_func_end sub_8148800 - - thumb_func_start sub_814881C -sub_814881C: @ 814881C - push {r4,lr} - ldr r1, _08148834 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0x8] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _081488D4 - lsls r0, 2 - ldr r1, _08148838 @ =_0814883C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148834: .4byte gUnknown_203F3D4 -_08148838: .4byte _0814883C - .align 2, 0 -_0814883C: - .4byte _08148850 - .4byte _0814886C - .4byte _0814887C - .4byte _08148894 - .4byte _081488B8 -_08148850: - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_814B494 - movs r0, 0x5 - bl sub_8149D40 - ldr r1, [r4] - b _081488A8 -_0814886C: - bl sub_8149D68 - cmp r0, 0 - bne _081488D4 - movs r0, 0 - bl sub_8147F10 - b _081488A4 -_0814887C: - bl sub_8149804 - cmp r0, 0 - beq _081488D4 - ldr r0, _08148890 @ =sub_80DA634 - movs r1, 0x6 - bl CreateTask - b _081488A4 - .align 2, 0 -_08148890: .4byte sub_80DA634 -_08148894: - ldr r0, _081488B0 @ =sub_80DA634 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _081488D4 - bl sub_814A6CC -_081488A4: - ldr r0, _081488B4 @ =gUnknown_203F3D4 - ldr r1, [r0] -_081488A8: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081488D4 - .align 2, 0 -_081488B0: .4byte sub_80DA634 -_081488B4: .4byte gUnknown_203F3D4 -_081488B8: - bl sub_814A6FC - cmp r0, 0 - bne _081488D4 - ldr r0, _081488D0 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x4C - movs r1, 0x4 - strb r1, [r0] - movs r0, 0 - b _081488D6 - .align 2, 0 -_081488D0: .4byte gUnknown_203F3D4 -_081488D4: - movs r0, 0x1 -_081488D6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814881C - - thumb_func_start sub_81488DC -sub_81488DC: @ 81488DC - push {r4,r5,lr} - ldr r1, _081488F4 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x7 - bhi _081489C0 - lsls r0, 2 - ldr r1, _081488F8 @ =_081488FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081488F4: .4byte gUnknown_203F3D4 -_081488F8: .4byte _081488FC - .align 2, 0 -_081488FC: - .4byte _0814891C - .4byte _08148928 - .4byte _08148948 - .4byte _08148962 - .4byte _08148974 - .4byte _0814897C - .4byte _0814899C - .4byte _081489B6 -_0814891C: - movs r0, 0x2 - bl sub_8149D40 - bl sub_814AAA0 - b _0814898C -_08148928: - bl sub_8149D68 - adds r5, r0, 0 - cmp r5, 0 - bne _081489C0 - ldr r4, _08148944 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrb r0, [r0, 0x6] - bl sub_814AAB4 - ldr r1, [r4] - strh r5, [r1, 0x3C] - b _08148990 - .align 2, 0 -_08148944: .4byte gUnknown_203F3D4 -_08148948: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x78 - bls _081489C0 - movs r0, 0x3 - bl sub_8149D40 - ldr r1, [r4] - b _08148990 -_08148962: - bl sub_8149D68 - cmp r0, 0x1 - beq _081489C0 - bl sub_814AAC8 - cmp r0, 0x1 - beq _081489C0 - b _0814898C -_08148974: - movs r0, 0x9 - bl sub_8149D40 - b _0814898C -_0814897C: - bl sub_8149D68 - cmp r0, 0 - bne _081489C0 - bl sub_814935C - bl sub_814A3E4 -_0814898C: - ldr r0, _08148998 @ =gUnknown_203F3D4 - ldr r1, [r0] -_08148990: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _081489C0 - .align 2, 0 -_08148998: .4byte gUnknown_203F3D4 -_0814899C: - bl sub_814A408 - cmp r0, 0 - bne _081489C0 - bl sub_814936C - bl sub_8148F9C - ldr r0, _081489BC @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_081489B6: - movs r0, 0 - b _081489C2 - .align 2, 0 -_081489BC: .4byte gUnknown_203F3D4 -_081489C0: - movs r0, 0x1 -_081489C2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81488DC - - thumb_func_start sub_81489C8 -sub_81489C8: @ 81489C8 - push {r4,r5,lr} - bl sub_8148FE0 - ldr r5, _081489E0 @ =gUnknown_203F3D4 - ldr r1, [r5] - ldrh r4, [r1, 0x36] - cmp r4, 0 - beq _081489E4 - movs r0, 0 - strh r0, [r1, 0x36] - b _08148A58 - .align 2, 0 -_081489E0: .4byte gUnknown_203F3D4 -_081489E4: - ldrh r0, [r1, 0xA] - cmp r0, 0x1 - beq _08148A10 - cmp r0, 0x1 - bgt _081489F4 - cmp r0, 0 - beq _081489FE - b _08148A56 -_081489F4: - cmp r0, 0x2 - beq _08148A34 - cmp r0, 0x3 - beq _08148A48 - b _08148A56 -_081489FE: - movs r0, 0 - bl sub_814922C - cmp r0, 0 - beq _08148A56 - ldr r1, [r5] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148A10: - ldr r0, _08148A2C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08148A56 - bl sub_8149260 - movs r0, 0x3 - bl sub_8147F10 - ldr r0, _08148A30 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08148A40 - .align 2, 0 -_08148A2C: .4byte gMain -_08148A30: .4byte gUnknown_203F3D4 -_08148A34: - movs r0, 0x1 - bl sub_814922C - cmp r0, 0x1 - bne _08148A56 - ldr r1, [r5] -_08148A40: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148A56 -_08148A48: - movs r0, 0 - bl sub_814922C - cmp r0, 0x1 - bne _08148A56 - ldr r0, [r5] - strh r4, [r0, 0xA] -_08148A56: - movs r0, 0x1 -_08148A58: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81489C8 - - thumb_func_start sub_8148A60 -sub_8148A60: @ 8148A60 - push {r4-r6,lr} - ldr r1, _08148A78 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r5, r1, 0 - cmp r0, 0x4 - bhi _08148B4C - lsls r0, 2 - ldr r1, _08148A7C @ =_08148A80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148A78: .4byte gUnknown_203F3D4 -_08148A7C: .4byte _08148A80 - .align 2, 0 -_08148A80: - .4byte _08148A94 - .4byte _08148AB8 - .4byte _08148AFC - .4byte _08148B20 - .4byte _08148B42 -_08148A94: - movs r4, 0 - ldr r0, [r5] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148AB4 - adds r6, r5, 0 -_08148AA0: - adds r0, r4, 0 - bl sub_814AA78 - cmp r0, 0x1 - beq _08148B4C - adds r4, 0x1 - ldr r0, [r6] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08148AA0 -_08148AB4: - ldr r1, [r5] - b _08148B18 -_08148AB8: - movs r4, 0 - ldr r0, [r5] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148AE8 - adds r6, r5, 0 - movs r5, 0 -_08148AC6: - ldr r0, [r6] - adds r0, r5 - ldr r1, _08148AF4 @ =0x000082f4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x2 - bne _08148ADC - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_814AA60 -_08148ADC: - adds r5, 0x28 - adds r4, 0x1 - ldr r0, [r6] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08148AC6 -_08148AE8: - movs r0, 0x1 - bl sub_8149D40 - ldr r0, _08148AF8 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08148B14 - .align 2, 0 -_08148AF4: .4byte 0x000082f4 -_08148AF8: .4byte gUnknown_203F3D4 -_08148AFC: - ldr r1, [r5] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x64 - bls _08148B4C - movs r0, 0x3 - bl sub_8149D40 - ldr r1, [r5] -_08148B14: - movs r0, 0 - strh r0, [r1, 0x3C] -_08148B18: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148B4C -_08148B20: - bl sub_8149D68 - adds r5, r0, 0 - cmp r5, 0 - bne _08148B4C - bl sub_814AA8C - ldr r4, _08148B48 @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0x71 - strb r5, [r0] - bl sub_8149210 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148B42: - movs r0, 0 - b _08148B4E - .align 2, 0 -_08148B48: .4byte gUnknown_203F3D4 -_08148B4C: - movs r0, 0x1 -_08148B4E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8148A60 - - thumb_func_start sub_8148B54 -sub_8148B54: @ 8148B54 - push {r4,lr} - ldr r1, _08148B70 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x6 - bls _08148B64 - b _08148C78 -_08148B64: - lsls r0, 2 - ldr r1, _08148B74 @ =_08148B78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148B70: .4byte gUnknown_203F3D4 -_08148B74: .4byte _08148B78 - .align 2, 0 -_08148B78: - .4byte _08148B94 - .4byte _08148BB4 - .4byte _08148BCC - .4byte _08148BFC - .4byte _08148BB4 - .4byte _08148BCC - .4byte _08148C6C -_08148B94: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x72 - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x3E - adds r2, 0x40 - bl sub_8149900 - ldr r1, [r4] - ldrh r0, [r1, 0x3E] - adds r1, 0x40 - ldrh r1, [r1] - bl sub_814A468 - b _08148BEC -_08148BB4: - bl sub_814A62C - adds r2, r0, 0 - cmp r2, 0 - bne _08148C78 - ldr r0, _08148BC8 @ =gUnknown_203F3D4 - ldr r1, [r0] - strh r2, [r1, 0x3C] - b _08148BEE - .align 2, 0 -_08148BC8: .4byte gUnknown_203F3D4 -_08148BCC: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r2, r0, 0x1 - strh r2, [r1, 0x3C] - ldr r0, _08148BF8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08148BE8 - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0xB4 - bls _08148C78 -_08148BE8: - bl sub_814A6CC -_08148BEC: - ldr r1, [r4] -_08148BEE: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148C78 - .align 2, 0 -_08148BF8: .4byte gMain -_08148BFC: - bl sub_814A6FC - cmp r0, 0 - bne _08148C78 - ldr r4, _08148C48 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x3E] - adds r1, 0x40 - ldrh r1, [r1] - bl sub_8149978 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x40 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - beq _08148C54 - ldrh r0, [r1, 0x3E] - ldrh r1, [r2] - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - beq _08148C54 - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - movs r1, 0x1 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - bne _08148C4C - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - bl sub_814A53C - b _08148C5E - .align 2, 0 -_08148C48: .4byte gUnknown_203F3D4 -_08148C4C: - ldr r1, [r4] - movs r0, 0x6 - strh r0, [r1, 0xA] - b _08148C78 -_08148C54: - ldr r4, _08148C68 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - bl sub_814A5B4 -_08148C5E: - ldr r1, [r4] - movs r0, 0x4 - strh r0, [r1, 0xA] - b _08148C78 - .align 2, 0 -_08148C68: .4byte gUnknown_203F3D4 -_08148C6C: - bl sub_814A6FC - cmp r0, 0 - bne _08148C78 - movs r0, 0 - b _08148C7A -_08148C78: - movs r0, 0x1 -_08148C7A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148B54 - - thumb_func_start sub_8148C80 -sub_8148C80: @ 8148C80 - push {r4,lr} - ldr r0, _08148C98 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrh r0, [r0, 0xA] - cmp r0, 0x6 - bhi _08148D54 - lsls r0, 2 - ldr r1, _08148C9C @ =_08148CA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148C98: .4byte gUnknown_203F3D4 -_08148C9C: .4byte _08148CA0 - .align 2, 0 -_08148CA0: - .4byte _08148CBC - .4byte _08148CC0 - .4byte _08148CCA - .4byte _08148D18 - .4byte _08148D22 - .4byte _08148D38 - .4byte _08148D4A -_08148CBC: - movs r0, 0x4 - b _08148D24 -_08148CC0: - bl sub_8149D68 - cmp r0, 0 - bne _08148D54 - b _08148D28 -_08148CCA: - bl sub_814A744 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08148D00 - cmp r1, 0 - bgt _08148CE4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08148CE8 - b _08148D54 -_08148CE4: - cmp r1, 0x1 - bne _08148D54 -_08148CE8: - ldr r4, _08148CFC @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0x45 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x6 - bl sub_8149D40 - ldr r1, [r4] - b _08148D2C - .align 2, 0 -_08148CFC: .4byte gUnknown_203F3D4 -_08148D00: - ldr r4, _08148D14 @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0x45 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x6 - bl sub_8149D40 - ldr r1, [r4] - b _08148D2C - .align 2, 0 -_08148D14: .4byte gUnknown_203F3D4 -_08148D18: - bl sub_8149D68 - cmp r0, 0 - bne _08148D54 - b _08148D28 -_08148D22: - movs r0, 0x8 -_08148D24: - bl sub_8149D40 -_08148D28: - ldr r0, _08148D34 @ =gUnknown_203F3D4 - ldr r1, [r0] -_08148D2C: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148D54 - .align 2, 0 -_08148D34: .4byte gUnknown_203F3D4 -_08148D38: - bl sub_8149D68 - cmp r0, 0 - bne _08148D54 - ldr r0, _08148D50 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148D4A: - movs r0, 0 - b _08148D56 - .align 2, 0 -_08148D50: .4byte gUnknown_203F3D4 -_08148D54: - movs r0, 0x1 -_08148D56: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148C80 - - thumb_func_start sub_8148D5C -sub_8148D5C: @ 8148D5C - push {r4,lr} - sub sp, 0x4 - ldr r1, _08148D78 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x5 - bhi _08148E20 - lsls r0, 2 - ldr r1, _08148D7C @ =_08148D80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148D78: .4byte gUnknown_203F3D4 -_08148D7C: .4byte _08148D80 - .align 2, 0 -_08148D80: - .4byte _08148D98 - .4byte _08148D9E - .4byte _08148DAE - .4byte _08148DC4 - .4byte _08148DEA - .4byte _08148E10 -_08148D98: - bl sub_814A6CC - b _08148DFA -_08148D9E: - bl sub_814A6FC - cmp r0, 0 - bne _08148E20 - movs r0, 0x7 - bl sub_8149D40 - b _08148DFA -_08148DAE: - bl sub_8149D68 - adds r2, r0, 0 - cmp r2, 0 - bne _08148E20 - ldr r0, _08148DC0 @ =gUnknown_203F3D4 - ldr r1, [r0] - strh r2, [r1, 0x3C] - b _08148DFE - .align 2, 0 -_08148DC0: .4byte gUnknown_203F3D4 -_08148DC4: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x78 - bls _08148E20 - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - b _08148DFE -_08148DEA: - ldr r0, _08148E08 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08148E20 - bl sub_800AAC0 -_08148DFA: - ldr r0, _08148E0C @ =gUnknown_203F3D4 - ldr r1, [r0] -_08148DFE: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148E20 - .align 2, 0 -_08148E08: .4byte gPaletteFade -_08148E0C: .4byte gUnknown_203F3D4 -_08148E10: - ldr r0, _08148E1C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08148E20 - movs r0, 0 - b _08148E22 - .align 2, 0 -_08148E1C: .4byte gReceivedRemoteLinkPlayers -_08148E20: - movs r0, 0x1 -_08148E22: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148D5C - - thumb_func_start sub_8148E2C -sub_8148E2C: @ 8148E2C - push {r4,lr} - ldr r4, _08148E44 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0xA] - cmp r0, 0x1 - beq _08148E62 - cmp r0, 0x1 - bgt _08148E48 - cmp r0, 0 - beq _08148E4E - b _08148E76 - .align 2, 0 -_08148E44: .4byte gUnknown_203F3D4 -_08148E48: - cmp r0, 0x2 - beq _08148E72 - b _08148E76 -_08148E4E: - bl sub_814A6CC - movs r0, 0 - bl sub_814AA24 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148E76 -_08148E62: - bl sub_814A6FC - cmp r0, 0 - bne _08148E76 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148E72: - movs r0, 0 - b _08148E78 -_08148E76: - movs r0, 0x1 -_08148E78: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148E2C - - thumb_func_start sub_8148E80 -sub_8148E80: @ 8148E80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, 2 - add r0, r10 - lsls r0, 3 - ldr r1, _08148EB4 @ =gTasks+0x8 - adds r6, r0, r1 - mov r0, r10 - movs r1, 0xE - bl GetWordTaskArg - mov r8, r0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _08148EC4 - cmp r0, 0x1 - beq _08148ED8 - b _08148F44 - .align 2, 0 -_08148EB4: .4byte gTasks+0x8 -_08148EB8: - bl sub_8147C20 - mov r0, r10 - bl DestroyTask - b _08148F44 -_08148EC4: - movs r1, 0 - adds r0, r6, 0 - adds r0, 0x8 -_08148ECA: - strh r1, [r0, 0x4] - subs r0, 0x2 - cmp r0, r6 - bge _08148ECA - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_08148ED8: - mov r3, r8 - ldrb r1, [r3, 0x6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r4, _08148F54 @ =0x000082a8 - adds r0, r4 - add r0, r8 - bl sub_8149A6C - movs r2, 0 - adds r5, r6, 0x4 - mov r9, r2 - movs r7, 0x83 - lsls r7, 8 - add r7, r8 - add r4, r8 -_08148EFA: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08148F34 - adds r0, r2, 0 - adds r1, r4, 0 - str r2, [sp] - bl sub_8149A90 - ldr r2, [sp] - cmp r0, 0 - beq _08148F34 - ldr r1, _08148F58 @ =gLinkPlayers + 8 - add r1, r9 - adds r0, r7, 0 - bl StringCopy - movs r0, 0x1 - strh r0, [r5] - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - movs r3, 0x2 - ldrsh r0, [r6, r3] - ldr r2, [sp] - mov r1, r8 - ldrb r1, [r1, 0x5] - cmp r0, r1 - beq _08148EB8 -_08148F34: - adds r5, 0x2 - movs r3, 0x1C - add r9, r3 - adds r7, 0x28 - adds r4, 0xC - adds r2, 0x1 - cmp r2, 0x4 - ble _08148EFA -_08148F44: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148F54: .4byte 0x000082a8 -_08148F58: .4byte gLinkPlayers + 8 - thumb_func_end sub_8148E80 - - thumb_func_start sub_8148F5C -sub_8148F5C: @ 8148F5C - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08148F78 @ =gUnknown_203F3D4 - ldr r2, [r1] - movs r1, 0xE - bl SetWordTaskArg - pop {r0} - bx r0 - .align 2, 0 -_08148F78: .4byte gUnknown_203F3D4 - thumb_func_end sub_8148F5C - - thumb_func_start sub_8148F7C -sub_8148F7C: @ 8148F7C - ldr r0, _08148F98 @ =gUnknown_203F3D4 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4A - movs r1, 0 - strh r1, [r0] - movs r0, 0x6 - str r0, [r2, 0x14] - strh r1, [r2, 0x34] - str r1, [r2, 0x1C] - strh r1, [r2, 0x36] - str r1, [r2, 0x10] - bx lr - .align 2, 0 -_08148F98: .4byte gUnknown_203F3D4 - thumb_func_end sub_8148F7C - - thumb_func_start sub_8148F9C -sub_8148F9C: @ 8148F9C - push {r4,lr} - ldr r3, _08148FD8 @ =gUnknown_203F3D4 - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x4A - movs r4, 0 - movs r2, 0 - strh r2, [r1] - ldr r1, _08148FDC @ =0x000006ff - strh r1, [r0, 0x34] - movs r1, 0x7 - str r1, [r0, 0x14] - strh r2, [r0, 0x36] - str r2, [r0, 0x10] - adds r0, 0x51 - strb r4, [r0] - ldr r0, [r3] - adds r0, 0x50 - strb r4, [r0] - ldr r0, [r3] - str r2, [r0, 0x20] - adds r1, r0, 0 - adds r1, 0x4E - strh r2, [r1] - str r2, [r0, 0x6C] - bl sub_8149078 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08148FD8: .4byte gUnknown_203F3D4 -_08148FDC: .4byte 0x000006ff - thumb_func_end sub_8148F9C - - thumb_func_start sub_8148FE0 -sub_8148FE0: @ 8148FE0 - push {r4,lr} - ldr r4, _08149038 @ =gUnknown_203F3D4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x46 - ldrb r0, [r0] - cmp r0, 0 - beq _08149030 - adds r1, 0x4A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl sub_8149044 - ldr r3, [r4] - ldrh r1, [r3, 0x34] - adds r2, r1, r0 - strh r2, [r3, 0x34] - lsls r1, r2, 16 - ldr r0, _0814903C @ =0x09fe0000 - cmp r1, r0 - bls _08149012 - ldr r1, _08149040 @ =0xfffff601 - adds r0, r2, r1 - strh r0, [r3, 0x34] -_08149012: - ldr r1, [r4] - ldr r2, [r1, 0x14] - str r2, [r1, 0x18] - ldrh r0, [r1, 0x34] - lsrs r0, 8 - str r0, [r1, 0x14] - cmp r0, 0x6 - bls _08149030 - cmp r2, 0x6 - bhi _08149030 - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] - bl sub_8149078 -_08149030: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08149038: .4byte gUnknown_203F3D4 -_0814903C: .4byte 0x09fe0000 -_08149040: .4byte 0xfffff601 - thumb_func_end sub_8148FE0 - - thumb_func_start sub_8149044 -sub_8149044: @ 8149044 - push {lr} - ldr r0, _08149054 @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r0, [r2, 0x10] - cmp r0, 0 - beq _08149058 - movs r0, 0 - b _0814906E - .align 2, 0 -_08149054: .4byte gUnknown_203F3D4 -_08149058: - ldr r3, [r2, 0x1C] - ldrh r1, [r2, 0x34] - ldr r0, _08149074 @ =0x000005ff - cmp r1, r0 - bhi _0814906C - ldr r0, [r2, 0x20] - adds r0, 0x50 - str r0, [r2, 0x20] - lsrs r0, 8 - adds r3, r0 -_0814906C: - adds r0, r3, 0 -_0814906E: - pop {r1} - bx r1 - .align 2, 0 -_08149074: .4byte 0x000005ff - thumb_func_end sub_8149044 - - thumb_func_start sub_8149078 -sub_8149078: @ 8149078 - push {r4,lr} - ldr r4, _081490A8 @ =gUnknown_203F3D4 - ldr r3, [r4] - movs r0, 0 - str r0, [r3, 0x20] - adds r1, r3, 0 - adds r1, 0x4E - ldrh r0, [r1] - cmp r0, 0 - beq _081490BC - subs r0, 0x1 - strh r0, [r1] - ldr r0, [r3, 0x6C] - cmp r0, 0 - beq _08149186 - bl sub_8149194 - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - beq _081490AC - ldr r1, [r4] - b _08149182 - .align 2, 0 -_081490A8: .4byte gUnknown_203F3D4 -_081490AC: - ldr r1, [r4] - ldr r0, [r1, 0x28] - cmp r0, 0x36 - bls _081490B8 - movs r0, 0x1E - b _08149184 -_081490B8: - movs r0, 0x52 - b _08149184 -_081490BC: - adds r2, r3, 0 - adds r2, 0x50 - ldrb r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08149110 - ldr r0, _08149108 @ =gUnknown_846B694 - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x51 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - ldrh r1, [r1] - adds r0, r1 - str r0, [r3, 0x28] - bl sub_8149194 - ldr r2, [r4] - ldr r3, _0814910C @ =gUnknown_846B6A4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 1 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x2 - adds r1, r2, 0 - adds r1, 0x4E - strh r0, [r1] - adds r2, 0x50 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0814917E - .align 2, 0 -_08149108: .4byte gUnknown_846B694 -_0814910C: .4byte gUnknown_846B6A4 -_08149110: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x8 - bne _0814912C - adds r1, r3, 0 - adds r1, 0x51 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _08149128 - adds r0, 0x1 - strb r0, [r1] - b _0814912C -_08149128: - movs r0, 0x1 - str r0, [r3, 0x6C] -_0814912C: - ldr r2, _0814918C @ =gUnknown_846B694 - ldr r4, _08149190 @ =gUnknown_203F3D4 - ldr r0, [r4] - mov r12, r0 - mov r3, r12 - adds r3, 0x50 - ldrb r0, [r3] - movs r1, 0xF - subs r1, r0 - lsls r1, 1 - adds r1, r2 - mov r0, r12 - adds r0, 0x51 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - ldrh r1, [r1] - adds r0, r1 - mov r1, r12 - str r0, [r1, 0x28] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _0814917E - bl sub_8149194 - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - bne _08149176 - ldr r1, [r4] - ldr r0, [r1, 0x28] - subs r0, 0x5 - str r0, [r1, 0x28] -_08149176: - ldr r0, [r4] - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] -_0814917E: - ldr r0, _08149190 @ =gUnknown_203F3D4 - ldr r1, [r0] -_08149182: - ldr r0, [r1, 0x28] -_08149184: - str r0, [r1, 0x1C] -_08149186: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814918C: .4byte gUnknown_846B694 -_08149190: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149078 - - thumb_func_start sub_8149194 -sub_8149194: @ 8149194 - ldr r0, _081491A8 @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r1, [r2, 0x24] - ldr r0, _081491AC @ =0x41c64e6d - muls r0, r1 - ldr r1, _081491B0 @ =0x00006073 - adds r0, r1 - str r0, [r2, 0x24] - lsrs r0, 16 - bx lr - .align 2, 0 -_081491A8: .4byte gUnknown_203F3D4 -_081491AC: .4byte 0x41c64e6d -_081491B0: .4byte 0x00006073 - thumb_func_end sub_8149194 - - thumb_func_start sub_81491B4 -sub_81491B4: @ 81491B4 - push {lr} - ldr r0, _081491D0 @ =gUnknown_203F3D4 - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x10] - movs r0, 0x6 - str r0, [r1, 0x14] - ldr r0, _081491D4 @ =0x000005ff - strh r0, [r1, 0x34] - bl sub_814936C - pop {r0} - bx r0 - .align 2, 0 -_081491D0: .4byte gUnknown_203F3D4 -_081491D4: .4byte 0x000005ff - thumb_func_end sub_81491B4 - - thumb_func_start sub_81491D8 -sub_81491D8: @ 81491D8 - ldr r0, _081491E0 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r0, [r0, 0x10] - bx lr - .align 2, 0 -_081491E0: .4byte gUnknown_203F3D4 - thumb_func_end sub_81491D8 - - thumb_func_start sub_81491E4 -sub_81491E4: @ 81491E4 - push {r4,r5,lr} - ldr r5, _08149208 @ =gUnknown_203F3D4 - ldr r4, _0814920C @ =0x000082f8 - movs r3, 0 - movs r2, 0 - movs r1, 0x4 -_081491F0: - ldr r0, [r5] - adds r0, r4 - adds r0, r2 - str r3, [r0] - adds r2, 0x28 - subs r1, 0x1 - cmp r1, 0 - bge _081491F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149208: .4byte gUnknown_203F3D4 -_0814920C: .4byte 0x000082f8 - thumb_func_end sub_81491E4 - - thumb_func_start sub_8149210 -sub_8149210: @ 8149210 - ldr r0, _08149224 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _08149228 @ =0x000083ac - adds r0, r1 - ldr r1, [r0] - movs r2, 0 - strh r2, [r1, 0x10] - ldr r0, [r0] - strh r2, [r0, 0x12] - bx lr - .align 2, 0 -_08149224: .4byte gUnknown_203F3D4 -_08149228: .4byte 0x000083ac - thumb_func_end sub_8149210 - - thumb_func_start sub_814922C -sub_814922C: @ 814922C - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08149250 @ =gUnknown_203F3D4 - ldr r2, [r1] - ldrb r3, [r2, 0x6] - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r2, r1 - ldr r1, _08149254 @ =0x000082f4 - adds r2, r1 - ldrh r1, [r2] - cmp r1, r0 - beq _08149258 - movs r0, 0 - b _0814925A - .align 2, 0 -_08149250: .4byte gUnknown_203F3D4 -_08149254: .4byte 0x000082f4 -_08149258: - movs r0, 0x1 -_0814925A: - pop {r1} - bx r1 - thumb_func_end sub_814922C - - thumb_func_start sub_8149260 -sub_8149260: @ 8149260 - ldr r0, _08149280 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _08149284 @ =0x000083ac - adds r2, r0, r1 - ldr r1, [r2] - adds r0, 0x4A - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r1, [r2] - ldrh r0, [r1, 0x10] - strh r0, [r1, 0x12] - ldr r1, [r2] - movs r0, 0x1 - strh r0, [r1, 0x10] - bx lr - .align 2, 0 -_08149280: .4byte gUnknown_203F3D4 -_08149284: .4byte 0x000083ac - thumb_func_end sub_8149260 - - thumb_func_start sub_8149288 -sub_8149288: @ 8149288 - push {r4,lr} - ldr r0, _081492B0 @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r0, _081492B4 @ =0x000083ac - adds r3, r2, r0 - ldr r1, [r3] - ldrh r0, [r1, 0x10] - strh r0, [r1, 0x12] - ldr r0, [r3] - movs r4, 0x2 - strh r4, [r0, 0x10] - ldr r1, [r3] - adds r2, 0x4A - ldrh r0, [r2] - strh r0, [r1, 0xE] - ldr r0, [r3] - str r4, [r0, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081492B0: .4byte gUnknown_203F3D4 -_081492B4: .4byte 0x000083ac - thumb_func_end sub_8149288 - - thumb_func_start sub_81492B8 -sub_81492B8: @ 81492B8 - ldr r0, _081492D0 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _081492D4 @ =0x000083ac - adds r0, r1 - ldr r1, [r0] - ldrh r2, [r1, 0x10] - movs r3, 0 - strh r2, [r1, 0x12] - ldr r0, [r0] - strh r3, [r0, 0x10] - bx lr - .align 2, 0 -_081492D0: .4byte gUnknown_203F3D4 -_081492D4: .4byte 0x000083ac - thumb_func_end sub_81492B8 - - thumb_func_start sub_81492D8 -sub_81492D8: @ 81492D8 - push {r4,r5,lr} - ldr r4, _08149334 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldr r0, [r1, 0x5C] - cmp r0, 0 - beq _08149318 - ldr r0, [r1, 0x78] - bl sub_814AA24 - ldr r1, [r4] - movs r5, 0 - str r5, [r1, 0x5C] - adds r0, r1, 0 - adds r0, 0x4D - ldrb r0, [r0] - cmp r0, 0 - beq _08149318 - adds r0, r1, 0 - adds r0, 0x71 - ldrb r0, [r0] - bl sub_814A98C - ldr r1, _08149338 @ =gUnknown_846B6AC - subs r0, 0x2 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl PlaySE - ldr r0, [r4] - adds r0, 0x4D - strb r5, [r0] -_08149318: - ldr r0, _08149334 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x74 - ldrh r0, [r0] - bl sub_814AA34 - bl sub_814937C - bl sub_814933C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149334: .4byte gUnknown_203F3D4 -_08149338: .4byte gUnknown_846B6AC - thumb_func_end sub_81492D8 - - thumb_func_start sub_814933C -sub_814933C: @ 814933C - push {lr} - ldr r0, _08149358 @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x46 - ldrb r0, [r0] - cmp r0, 0 - beq _08149352 - ldr r0, [r1, 0x14] - bl sub_814A95C -_08149352: - pop {r0} - bx r0 - .align 2, 0 -_08149358: .4byte gUnknown_203F3D4 - thumb_func_end sub_814933C - - thumb_func_start sub_814935C -sub_814935C: @ 814935C - ldr r0, _08149368 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x46 - movs r1, 0 - strb r1, [r0] - bx lr - .align 2, 0 -_08149368: .4byte gUnknown_203F3D4 - thumb_func_end sub_814935C - - thumb_func_start sub_814936C -sub_814936C: @ 814936C - ldr r0, _08149378 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x46 - movs r1, 0x1 - strb r1, [r0] - bx lr - .align 2, 0 -_08149378: .4byte gUnknown_203F3D4 - thumb_func_end sub_814936C - - thumb_func_start sub_814937C -sub_814937C: @ 814937C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r6, 0 - ldr r2, _081493B8 @ =gUnknown_203F3D4 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - mov r9, r0 - movs r5, 0 - cmp r6, r9 - bge _0814945C - mov r10, r2 - mov r8, r5 - movs r7, 0 -_0814939E: - mov r0, r10 - ldr r3, [r0] - adds r1, r3, r7 - ldr r2, _081493BC @ =0x000082f4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0x1 - beq _081493D0 - cmp r2, 0x1 - bgt _081493C0 - cmp r2, 0 - beq _081493C6 - b _08149450 - .align 2, 0 -_081493B8: .4byte gUnknown_203F3D4 -_081493BC: .4byte 0x000082f4 -_081493C0: - cmp r2, 0x2 - beq _08149434 - b _08149450 -_081493C6: - adds r0, r5, 0 - movs r1, 0 - bl sub_814A940 - b _08149450 -_081493D0: - ldr r0, _08149424 @ =0x000082f6 - adds r4, r1, r0 - ldrh r0, [r4] - cmp r0, 0x1 - bne _081493F2 - ldr r0, _08149428 @ =0x000082f2 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x9A - add r1, r8 - str r1, [sp] - ldrh r1, [r0] - mov r12, r1 - ldr r0, [sp] - ldrh r0, [r0] - cmp r12, r0 - beq _0814941A -_081493F2: - ldrb r3, [r3, 0x6] - cmp r5, r3 - bne _081493FA - strh r2, [r4] -_081493FA: - orrs r6, r2 - mov r1, r10 - ldr r2, [r1] - ldr r1, _0814942C @ =0x000082e8 - adds r0, r2, r1 - adds r0, r7 - ldr r1, _08149430 @ =0x7fffffff - str r1, [r0] - adds r1, r2, 0 - adds r1, 0x9A - add r1, r8 - adds r2, r7 - ldr r0, _08149428 @ =0x000082f2 - adds r2, r0 - ldrh r0, [r2] - strh r0, [r1] -_0814941A: - adds r0, r5, 0 - bl sub_8149490 - b _08149450 - .align 2, 0 -_08149424: .4byte 0x000082f6 -_08149428: .4byte 0x000082f2 -_0814942C: .4byte 0x000082e8 -_08149430: .4byte 0x7fffffff -_08149434: - ldr r0, _0814946C @ =0x000082f6 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0x2 - beq _08149450 - ldrb r3, [r3, 0x6] - cmp r5, r3 - bne _08149446 - strh r2, [r1] -_08149446: - orrs r6, r2 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_814AA48 -_08149450: - movs r1, 0x2 - add r8, r1 - adds r7, 0x28 - adds r5, 0x1 - cmp r5, r9 - blt _0814939E -_0814945C: - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _08149470 - movs r0, 0xFF - bl PlaySE - b _0814947E - .align 2, 0 -_0814946C: .4byte 0x000082f6 -_08149470: - movs r0, 0x1 - ands r6, r0 - cmp r6, 0 - beq _0814947E - movs r0, 0xA - bl PlaySE -_0814947E: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814937C - - thumb_func_start sub_8149490 -sub_8149490: @ 8149490 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _081494BC @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r0, [r2, 0x68] - cmp r0, 0 - bne _0814952A - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _081494C0 @ =0x000082e4 - adds r0, r1 - adds r5, r2, r0 - ldr r1, [r5, 0x4] - ldr r0, _081494C4 @ =0x7fffffff - cmp r1, r0 - beq _081494C8 - adds r0, r1, 0x1 - str r0, [r5, 0x4] - adds r3, r0, 0 - b _081494E0 - .align 2, 0 -_081494BC: .4byte gUnknown_203F3D4 -_081494C0: .4byte 0x000082e4 -_081494C4: .4byte 0x7fffffff -_081494C8: - adds r0, r2, 0 - adds r0, 0x4A - ldrh r1, [r0] - ldrh r0, [r5, 0xE] - subs r3, r1, r0 - ldr r0, _08149500 @ =0x0000fde7 - cmp r3, r0 - ble _081494DE - ldr r0, _08149504 @ =0xffff0218 - adds r3, r0 - adds r3, r1 -_081494DE: - str r3, [r5, 0x4] -_081494E0: - cmp r3, 0x3 - ble _0814952A - subs r3, 0x4 - cmp r3, 0x2F - bgt _0814950C - ldr r2, _08149508 @ =gUnknown_846B6B4 - ldrh r1, [r5, 0xC] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - adds r0, r3, r0 - adds r0, r2 - movs r4, 0 - ldrsb r4, [r0, r4] - b _0814950E - .align 2, 0 -_08149500: .4byte 0x0000fde7 -_08149504: .4byte 0xffff0218 -_08149508: .4byte gUnknown_846B6B4 -_0814950C: - movs r4, 0 -_0814950E: - adds r1, r4, 0 - adds r0, r6, 0 - bl sub_814A940 - cmp r4, 0 - bne _08149528 - ldr r0, _08149530 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r6, r0 - bne _08149528 - bl sub_81492B8 -_08149528: - str r4, [r5] -_0814952A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08149530: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149490 - - thumb_func_start sub_8149534 -sub_8149534: @ 8149534 - push {r4,r5,lr} - ldr r5, _08149560 @ =gUnknown_203F3D4 - ldr r1, [r5] - ldr r0, [r1, 0x14] - cmp r0, 0x8 - bne _081495C6 - ldr r0, [r1, 0x18] - cmp r0, 0x7 - bne _081495C6 - ldr r4, [r1, 0x58] - cmp r4, 0 - bne _08149564 - bl sub_8149878 - ldr r0, [r5] - str r4, [r0, 0x54] - movs r1, 0x1 - str r1, [r0, 0x58] - adds r0, 0x71 - strb r4, [r0] - b _081495C6 - .align 2, 0 -_08149560: .4byte gUnknown_203F3D4 -_08149564: - ldr r0, [r1, 0x54] - cmp r0, 0x5 - bne _08149578 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xC] - bl sub_8149898 - b _0814957C -_08149578: - movs r0, 0 - strh r0, [r1, 0xC] -_0814957C: - ldr r4, _08149628 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldr r0, [r1, 0x54] - cmp r0, 0x1 - ble _08149596 - movs r0, 0x1 - str r0, [r1, 0x64] - adds r0, r1, 0 - adds r0, 0x86 - adds r1, 0x81 - movs r2, 0x5 - bl memcpy -_08149596: - bl sub_8149878 - ldr r0, [r4] - movs r2, 0 - str r2, [r0, 0x54] - movs r1, 0x1 - str r1, [r0, 0x58] - adds r0, 0x71 - strb r2, [r0] - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x74 - ldrh r1, [r2] - ldr r0, _0814962C @ =0x0000270e - cmp r1, r0 - bhi _081495BA - adds r0, r1, 0x1 - strh r0, [r2] -_081495BA: - movs r0, 0xA - bl sub_8149780 - movs r0, 0x3 - bl sub_8147F10 -_081495C6: - ldr r4, _08149628 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldr r0, [r0, 0x64] - cmp r0, 0 - beq _081495FC - bl sub_8149710 - cmp r0, 0x1 - beq _081495E0 - ldr r0, [r4] - ldr r0, [r0, 0x14] - cmp r0, 0 - bne _081495FC -_081495E0: - ldr r0, [r4] - adds r0, 0x86 - bl sub_8149834 - bl sub_8149888 - bl sub_8149780 - movs r0, 0x3 - bl sub_8147F10 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_081495FC: - ldr r4, _08149628 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldr r0, [r0, 0x58] - cmp r0, 0 - beq _08149622 - bl sub_81497A8 - adds r2, r0, 0 - ldr r1, [r4] - ldr r0, [r1, 0x54] - cmp r2, r0 - ble _08149622 - str r2, [r1, 0x54] - adds r0, r1, 0 - adds r0, 0x81 - adds r1, 0x7C - movs r2, 0x5 - bl memcpy -_08149622: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149628: .4byte gUnknown_203F3D4 -_0814962C: .4byte 0x0000270e - thumb_func_end sub_8149534 - - thumb_func_start sub_8149630 -sub_8149630: @ 8149630 - push {r4,r5,lr} - ldr r5, _08149664 @ =gUnknown_203F3D4 - ldr r1, [r5] - ldr r0, [r1, 0x14] - cmp r0, 0x6 - bne _0814967A - ldr r4, _08149668 @ =0x000083ac - adds r0, r1, r4 - ldr r1, [r0] - ldr r0, [r1] - cmp r0, 0 - bne _0814967A - ldrh r0, [r1, 0x12] - cmp r0, 0x1 - bne _08149670 - bl sub_81491D8 - adds r1, r0, 0 - cmp r1, 0x1 - bne _08149670 - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - str r1, [r0, 0x14] - b _0814967A - .align 2, 0 -_08149664: .4byte gUnknown_203F3D4 -_08149668: .4byte 0x000083ac -_0814966C: - movs r0, 0 - b _081496C2 -_08149670: - bl sub_8149288 - movs r0, 0x3 - bl sub_8147F10 -_0814967A: - ldr r0, _081496C8 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldr r0, [r1, 0x14] - cmp r0, 0x7 - bne _081496A0 - ldr r0, [r1, 0x18] - cmp r0, 0x6 - bne _081496A0 - ldr r2, _081496CC @ =0x000083ac - adds r0, r1, r2 - ldr r1, [r0] - ldrh r0, [r1, 0x10] - cmp r0, 0x2 - beq _081496A0 - movs r0, 0x1 - str r0, [r1, 0x14] - movs r0, 0x3 - bl sub_8147F10 -_081496A0: - movs r2, 0 - ldr r0, _081496C8 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r1, [r0, 0x5] - cmp r2, r1 - bge _081496C0 - adds r3, r1, 0 - ldr r4, _081496D0 @ =0x000082f4 - adds r1, r0, r4 -_081496B2: - ldrh r0, [r1] - cmp r0, 0x2 - beq _0814966C - adds r1, 0x28 - adds r2, 0x1 - cmp r2, r3 - blt _081496B2 -_081496C0: - movs r0, 0x1 -_081496C2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081496C8: .4byte gUnknown_203F3D4 -_081496CC: .4byte 0x000083ac -_081496D0: .4byte 0x000082f4 - thumb_func_end sub_8149630 - - thumb_func_start sub_81496D4 -sub_81496D4: @ 81496D4 - push {r4,lr} - ldr r0, _08149708 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r3, [r0, 0x5] - movs r4, 0 - cmp r4, r3 - bge _081496F8 - ldr r1, _0814970C @ =0x000082f8 - adds r2, r0, r1 - adds r1, r3, 0 -_081496E8: - ldr r0, [r2] - cmp r0, 0 - beq _081496F0 - adds r4, 0x1 -_081496F0: - adds r2, 0x28 - subs r1, 0x1 - cmp r1, 0 - bne _081496E8 -_081496F8: - movs r0, 0 - cmp r4, r3 - bne _08149700 - movs r0, 0x1 -_08149700: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08149708: .4byte gUnknown_203F3D4 -_0814970C: .4byte 0x000082f8 - thumb_func_end sub_81496D4 - - thumb_func_start sub_8149710 -sub_8149710: @ 8149710 - push {r4,lr} - movs r2, 0 - ldr r0, _08149730 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r1, [r0, 0x5] - cmp r2, r1 - bge _08149740 - adds r3, r1, 0 - ldr r4, _08149734 @ =0x000082f8 - adds r1, r0, r4 -_08149724: - ldr r0, [r1] - cmp r0, 0x1 - beq _08149738 - movs r0, 0 - b _08149742 - .align 2, 0 -_08149730: .4byte gUnknown_203F3D4 -_08149734: .4byte 0x000082f8 -_08149738: - adds r1, 0x28 - adds r2, 0x1 - cmp r2, r3 - blt _08149724 -_08149740: - movs r0, 0x1 -_08149742: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149710 - - thumb_func_start sub_8149748 -sub_8149748: @ 8149748 - push {lr} - ldr r0, _0814975C @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x45 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08149760 -_08149758: - movs r0, 0 - b _0814977C - .align 2, 0 -_0814975C: .4byte gUnknown_203F3D4 -_08149760: - movs r2, 0x1 - ldrb r0, [r1, 0x5] - cmp r2, r0 - bge _0814977A - adds r3, r0, 0 - adds r1, 0x92 -_0814976C: - ldrh r0, [r1] - cmp r0, 0x1 - beq _08149758 - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _0814976C -_0814977A: - movs r0, 0x1 -_0814977C: - pop {r1} - bx r1 - thumb_func_end sub_8149748 - - thumb_func_start sub_8149780 -sub_8149780: @ 8149780 - push {lr} - ldr r1, _081497A0 @ =gUnknown_203F3D4 - ldr r2, [r1] - ldr r1, [r2, 0x78] - adds r1, r0 - str r1, [r2, 0x78] - movs r0, 0x1 - str r0, [r2, 0x5C] - ldr r0, _081497A4 @ =0x00018695 - cmp r1, r0 - bls _0814979A - adds r0, 0x1 - str r0, [r2, 0x78] -_0814979A: - pop {r0} - bx r0 - .align 2, 0 -_081497A0: .4byte gUnknown_203F3D4 -_081497A4: .4byte 0x00018695 - thumb_func_end sub_8149780 - - thumb_func_start sub_81497A8 -sub_81497A8: @ 81497A8 - push {r4-r7,lr} - movs r5, 0 - ldr r1, _081497E0 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrb r4, [r0, 0x5] - movs r2, 0 - cmp r5, r4 - bge _081497FA - mov r12, r1 - movs r3, 0 - ldr r7, _081497E4 @ =0x000082e4 - movs r6, 0x1E - negs r6, r6 -_081497C2: - mov r0, r12 - ldr r1, [r0] - adds r0, r1, r7 - adds r0, r3 - ldr r0, [r0] - cmp r0, r6 - bne _081497E8 - adds r0, r1, 0 - adds r0, 0x7C - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - adds r5, 0x1 - b _081497F2 - .align 2, 0 -_081497E0: .4byte gUnknown_203F3D4 -_081497E4: .4byte 0x000082e4 -_081497E8: - adds r0, r1, 0 - adds r0, 0x7C - adds r0, r2 - movs r1, 0 - strb r1, [r0] -_081497F2: - adds r3, 0x28 - adds r2, 0x1 - cmp r2, r4 - blt _081497C2 -_081497FA: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81497A8 - - thumb_func_start sub_8149804 -sub_8149804: @ 8149804 - push {lr} - movs r2, 0 - ldr r1, _08149828 @ =Rfu - ldr r3, _0814982C @ =0x0000069e - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08149820 - ldr r3, _08149830 @ =0x000008d2 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08149820 - movs r2, 0x1 -_08149820: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_08149828: .4byte Rfu -_0814982C: .4byte 0x0000069e -_08149830: .4byte 0x000008d2 - thumb_func_end sub_8149804 - - thumb_func_start sub_8149834 -sub_8149834: @ 8149834 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - ldr r6, _08149874 @ =gUnknown_203F3D4 - movs r5, 0x1 -_08149842: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08149852 - adds r0, r5, 0 - lsls r0, r1 - orrs r2, r0 - adds r3, 0x1 -_08149852: - adds r1, 0x1 - cmp r1, 0x4 - ble _08149842 - ldr r0, [r6] - adds r0, 0x71 - strb r2, [r0] - cmp r2, 0 - beq _0814986A - ldr r0, [r6] - adds r0, 0x4D - movs r1, 0x1 - strb r1, [r0] -_0814986A: - adds r0, r3, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08149874: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149834 - - thumb_func_start sub_8149878 -sub_8149878: @ 8149878 - ldr r0, _08149884 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x44 - movs r1, 0 - strb r1, [r0] - bx lr - .align 2, 0 -_08149884: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149878 - - thumb_func_start sub_8149888 -sub_8149888: @ 8149888 - ldr r1, _08149894 @ =gUnknown_846B744 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08149894: .4byte gUnknown_846B744 - thumb_func_end sub_8149888 - - thumb_func_start sub_8149898 -sub_8149898: @ 8149898 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _081498B0 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrh r2, [r0, 0xE] - cmp r1, r2 - bls _081498AA - strh r1, [r0, 0xE] -_081498AA: - pop {r0} - bx r0 - .align 2, 0 -_081498B0: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149898 - - thumb_func_start sub_81498B4 -sub_81498B4: @ 81498B4 - push {lr} - ldr r0, _081498C8 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _081498CC @ =gUnknown_846B76C - ldr r2, [r0, 0x78] - ldr r0, [r1] - cmp r2, r0 - bcs _081498D0 - movs r0, 0 - b _081498D2 - .align 2, 0 -_081498C8: .4byte gUnknown_203F3D4 -_081498CC: .4byte gUnknown_846B76C -_081498D0: - movs r0, 0x1 -_081498D2: - pop {r1} - bx r1 - thumb_func_end sub_81498B4 - - thumb_func_start sub_81498D8 -sub_81498D8: @ 81498D8 - push {r4,lr} - bl sub_8149910 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8149930 - lsls r0, 16 - lsrs r0, 4 - ldr r1, _081498FC @ =0x00000fff - ands r4, r1 - orrs r0, r4 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081498FC: .4byte 0x00000fff - thumb_func_end sub_81498D8 - - thumb_func_start sub_8149900 -sub_8149900: @ 8149900 - lsls r0, 16 - lsrs r3, r0, 28 - strh r3, [r2] - lsls r0, 4 - lsrs r0, 20 - strh r0, [r1] - bx lr - thumb_func_end sub_8149900 - - thumb_func_start sub_8149910 -sub_8149910: @ 8149910 - push {lr} - bl Random - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - ldr r0, _0814992C @ =gUnknown_846B75C - lsrs r1, 15 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_0814992C: .4byte gUnknown_846B75C - thumb_func_end sub_8149910 - - thumb_func_start sub_8149930 -sub_8149930: @ 8149930 - push {r4-r6,lr} - movs r5, 0 - movs r4, 0 - ldr r3, _08149964 @ =gUnknown_203F3D4 - ldr r0, [r3] - ldr r2, _08149968 @ =gUnknown_846B76C - ldr r1, [r0, 0x78] - ldr r0, [r2] - cmp r1, r0 - bcc _0814996C - ldr r5, [r2, 0x4] - adds r6, r3, 0 - adds r3, r2, 0x4 -_0814994A: - adds r3, 0x8 - adds r2, 0x8 - adds r4, 0x1 - cmp r4, 0x4 - bhi _0814996C - ldr r0, [r6] - ldr r1, [r0, 0x78] - ldr r0, [r2] - cmp r1, r0 - bcc _0814996C - ldr r5, [r3] - b _0814994A - .align 2, 0 -_08149964: .4byte gUnknown_203F3D4 -_08149968: .4byte gUnknown_846B76C -_0814996C: - lsls r0, r5, 16 - lsrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8149930 - - thumb_func_start sub_8149978 -sub_8149978: @ 8149978 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - b _0814998A -_08149984: - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0814998A: - cmp r4, 0 - beq _0814999C - adds r0, r5, 0 - adds r1, r4, 0 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - beq _08149984 -_0814999C: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8149978 - - thumb_func_start sub_81499A4 -sub_81499A4: @ 81499A4 - push {lr} - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81499A4 - - thumb_func_start sub_81499B4 -sub_81499B4: @ 81499B4 - ldr r0, _081499BC @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - bx lr - .align 2, 0 -_081499BC: .4byte gUnknown_203F3D4 - thumb_func_end sub_81499B4 - - thumb_func_start sub_81499C0 -sub_81499C0: @ 81499C0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081499D8 @ =gUnknown_203F3D4 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _081499DC @ =0x000082a8 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_081499D8: .4byte gUnknown_203F3D4 -_081499DC: .4byte 0x000082a8 - thumb_func_end sub_81499C0 - - thumb_func_start sub_81499E0 -sub_81499E0: @ 81499E0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _081499FC @ =gUnknown_203F3D4 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, [r2] - adds r0, r1 - movs r1, 0x83 - lsls r1, 8 - adds r0, r1 - bx lr - .align 2, 0 -_081499FC: .4byte gUnknown_203F3D4 - thumb_func_end sub_81499E0 - - thumb_func_start IsSpeciesAllowedInPokemonJump -IsSpeciesAllowedInPokemonJump: @ 8149A00 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_8147D00 - lsls r0, 16 - asrs r0, 16 - mvns r0, r0 - lsrs r0, 31 - pop {r1} - bx r1 - thumb_func_end IsSpeciesAllowedInPokemonJump - - thumb_func_start IsPokemonJumpSpeciesInParty -IsPokemonJumpSpeciesInParty: @ 8149A18 - push {r4,r5,lr} - movs r5, 0 -_08149A1C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08149A4C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _08149A54 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl IsSpeciesAllowedInPokemonJump - cmp r0, 0 - beq _08149A54 - ldr r1, _08149A50 @ =gSpecialVar_Result - movs r0, 0x1 - b _08149A5E - .align 2, 0 -_08149A4C: .4byte gPlayerParty -_08149A50: .4byte gSpecialVar_Result -_08149A54: - adds r5, 0x1 - cmp r5, 0x5 - ble _08149A1C - ldr r1, _08149A68 @ =gSpecialVar_Result - movs r0, 0 -_08149A5E: - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149A68: .4byte gSpecialVar_Result - thumb_func_end IsPokemonJumpSpeciesInParty - - thumb_func_start sub_8149A6C -sub_8149A6C: @ 8149A6C - push {lr} - sub sp, 0xC - mov r2, sp - movs r1, 0x1 - strb r1, [r2] - ldrh r1, [r0] - strh r1, [r2, 0x2] - ldr r1, [r0, 0x4] - str r1, [sp, 0x8] - ldr r0, [r0, 0x8] - str r0, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8149A6C - - thumb_func_start sub_8149A90 -sub_8149A90: @ 8149A90 - push {r4,lr} - sub sp, 0xC - adds r4, r1, 0 - ldr r3, _08149AC4 @ =gRecvCmds - lsls r2, r0, 4 - adds r0, r2, r3 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r1, 0xBC - lsls r1, 6 - cmp r0, r1 - bne _08149AC0 - adds r1, r3, 0x2 - adds r1, r2, r1 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x1 - beq _08149AC8 -_08149AC0: - movs r0, 0 - b _08149AD8 - .align 2, 0 -_08149AC4: .4byte gRecvCmds -_08149AC8: - mov r0, sp - ldrh r0, [r0, 0x2] - strh r0, [r4] - ldr r0, [sp, 0x8] - str r0, [r4, 0x4] - ldr r0, [sp, 0x4] - str r0, [r4, 0x8] - movs r0, 0x1 -_08149AD8: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149A90 - - thumb_func_start sub_8149AE0 -sub_8149AE0: @ 8149AE0 - push {lr} - sub sp, 0xC - mov r2, sp - movs r1, 0x2 - strb r1, [r2] - str r0, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8149AE0 - - thumb_func_start sub_8149AF8 -sub_8149AF8: @ 8149AF8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r3, sp - movs r2, 0x3 - strb r2, [r3] - ldr r3, [r1, 0x8] - lsls r3, 15 - ldr r2, [sp, 0x8] - ldr r4, _08149B74 @ =0x00007fff - mov r8, r4 - ands r2, r4 - orrs r2, r3 - str r2, [sp, 0x8] - mov r6, sp - ldrb r2, [r1, 0x1] - movs r5, 0x1F - adds r3, r5, 0 - ands r3, r2 - ldrb r4, [r6, 0x3] - movs r2, 0x20 - negs r2, r2 - ands r2, r4 - orrs r2, r3 - strb r2, [r6, 0x3] - mov r3, sp - ldrb r2, [r1] - strb r2, [r3, 0x1] - ldrh r2, [r1, 0x2] - strh r2, [r3, 0x6] - mov r4, sp - ldrh r2, [r1, 0x4] - mov r1, r8 - ands r2, r1 - ldrh r3, [r4, 0x8] - ldr r1, _08149B78 @ =0xffff8000 - ands r1, r3 - orrs r1, r2 - strh r1, [r4, 0x8] - mov r2, sp - ldrh r1, [r0, 0x10] - strb r1, [r2, 0x2] - mov r3, sp - ldr r1, [r0, 0x14] - lsls r1, 5 - ldrb r2, [r3, 0x3] - ands r5, r2 - orrs r5, r1 - strb r5, [r3, 0x3] - mov r1, sp - ldrh r0, [r0, 0xE] - strh r0, [r1, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08149B74: .4byte 0x00007fff -_08149B78: .4byte 0xffff8000 - thumb_func_end sub_8149AF8 - - thumb_func_start sub_8149B7C -sub_8149B7C: @ 8149B7C - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r4, r1, 0 - ldr r2, _08149BE4 @ =gRecvCmds - ldrh r0, [r2] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _08149BE8 - adds r1, r2, 0x2 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x3 - bne _08149BE8 - ldr r0, [sp, 0x8] - lsrs r0, 15 - str r0, [r4, 0x8] - mov r0, sp - ldrb r1, [r0, 0x3] - lsls r0, r1, 27 - lsrs r0, 27 - strb r0, [r4, 0x1] - mov r0, sp - ldrb r0, [r0, 0x1] - strb r0, [r4] - mov r0, sp - ldrh r0, [r0, 0x6] - strh r0, [r4, 0x2] - mov r0, sp - ldrh r0, [r0, 0x8] - lsls r0, 17 - lsrs r0, 17 - strh r0, [r4, 0x4] - mov r0, sp - ldrb r0, [r0, 0x2] - strh r0, [r5, 0x10] - lsls r1, 24 - lsrs r1, 29 - str r1, [r5, 0x14] - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r5, 0xE] - movs r0, 0x1 - b _08149BEA - .align 2, 0 -_08149BE4: .4byte gRecvCmds -_08149BE8: - movs r0, 0 -_08149BEA: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8149B7C - - thumb_func_start sub_8149BF4 -sub_8149BF4: @ 8149BF4 - push {r4,lr} - sub sp, 0xC - mov r4, sp - movs r3, 0x4 - strb r3, [r4] - ldrh r3, [r0, 0x10] - strb r3, [r4, 0x1] - ldr r3, [r0, 0x14] - strb r3, [r4, 0x2] - ldr r3, [r0, 0x18] - strb r3, [r4, 0x3] - mov r3, sp - ldrh r0, [r0, 0xE] - strh r0, [r3, 0x4] - mov r0, sp - strb r1, [r0, 0x6] - strh r2, [r0, 0x8] - bl sub_80F9E2C - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8149BF4 - - thumb_func_start sub_8149C24 -sub_8149C24: @ 8149C24 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, _08149C80 @ =gRecvCmds - lsls r2, r1, 4 - adds r0, r2, r3 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r1, 0xBC - lsls r1, 6 - cmp r0, r1 - bne _08149C84 - adds r1, r3, 0x2 - adds r1, r2, r1 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _08149C84 - mov r0, sp - ldrb r0, [r0, 0x1] - strh r0, [r4, 0x10] - mov r0, sp - ldrb r0, [r0, 0x2] - str r0, [r4, 0x14] - mov r0, sp - ldrb r0, [r0, 0x3] - str r0, [r4, 0x18] - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r4, 0xE] - mov r0, sp - ldrb r0, [r0, 0x6] - strb r0, [r5] - mov r0, sp - ldrh r0, [r0, 0x8] - strh r0, [r6] - movs r0, 0x1 - b _08149C86 - .align 2, 0 -_08149C80: .4byte gRecvCmds -_08149C84: - movs r0, 0 -_08149C86: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8149C24 - - thumb_func_start sub_8149C90 -sub_8149C90: @ 8149C90 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r3, _08149CDC @ =gRecvCmds - lsls r2, r1, 4 - adds r0, r2, r3 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r1, 0xBC - lsls r1, 6 - cmp r0, r1 - bne _08149CE0 - adds r1, r3, 0x2 - adds r1, r2, r1 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _08149CE0 - mov r0, sp - ldrb r0, [r0, 0x1] - strh r0, [r4, 0x10] - mov r0, sp - ldrb r0, [r0, 0x2] - str r0, [r4, 0x14] - mov r0, sp - ldrb r0, [r0, 0x3] - str r0, [r4, 0x18] - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r4, 0xE] - movs r0, 0x1 - b _08149CE2 - .align 2, 0 -_08149CDC: .4byte gRecvCmds -_08149CE0: - movs r0, 0 -_08149CE2: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149C90 - - thumb_func_start sub_8149CEC -sub_8149CEC: @ 8149CEC - push {r4,lr} - ldr r4, _08149D18 @ =gUnknown_203F3D8 - str r0, [r4] - bl sub_8149D34 - ldr r0, _08149D1C @ =sub_8149DA4 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0x6] - ldr r2, [r4] - ldrb r0, [r2, 0x6] - movs r1, 0x2 - bl SetWordTaskArg - ldr r0, _08149D20 @ =sub_8149DC8 - bl sub_8149D80 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08149D18: .4byte gUnknown_203F3D8 -_08149D1C: .4byte sub_8149DA4 -_08149D20: .4byte sub_8149DC8 - thumb_func_end sub_8149CEC - - thumb_func_start sub_8149D24 -sub_8149D24: @ 8149D24 - push {lr} - bl FreeAllWindowBuffers - bl sub_815C9F4 - pop {r0} - bx r0 - thumb_func_end sub_8149D24 - - thumb_func_start sub_8149D34 -sub_8149D34: @ 8149D34 - movs r1, 0 - strh r1, [r0, 0x4] - str r1, [r0] - movs r1, 0xFF - strh r1, [r0, 0x12] - bx lr - thumb_func_end sub_8149D34 - - thumb_func_start sub_8149D40 -sub_8149D40: @ 8149D40 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r4, _08149D64 @ =gUnknown_846D8FC -_08149D48: - ldr r0, [r4] - cmp r0, r6 - bne _08149D54 - ldr r0, [r4, 0x4] - bl sub_8149D80 -_08149D54: - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x9 - bls _08149D48 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08149D64: .4byte gUnknown_846D8FC - thumb_func_end sub_8149D40 - - thumb_func_start sub_8149D68 -sub_8149D68: @ 8149D68 - ldr r0, _08149D7C @ =gUnknown_203F3D8 - ldr r0, [r0] - ldr r1, [r0] - movs r0, 0x1 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .align 2, 0 -_08149D7C: .4byte gUnknown_203F3D8 - thumb_func_end sub_8149D68 - - thumb_func_start sub_8149D80 -sub_8149D80: @ 8149D80 - push {r4,lr} - adds r2, r0, 0 - ldr r4, _08149DA0 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrb r0, [r0, 0x6] - movs r1, 0 - bl SetWordTaskArg - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0x4] - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08149DA0: .4byte gUnknown_203F3D8 - thumb_func_end sub_8149D80 - - thumb_func_start sub_8149DA4 -sub_8149DA4: @ 8149DA4 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08149DC4 @ =gUnknown_203F3D8 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - bne _08149DC0 - adds r0, r1, 0 - movs r1, 0 - bl GetWordTaskArg - bl _call_via_r0 -_08149DC0: - pop {r0} - bx r0 - .align 2, 0 -_08149DC4: .4byte gUnknown_203F3D8 - thumb_func_end sub_8149DA4 - - thumb_func_start sub_8149DC8 -sub_8149DC8: @ 8149DC8 - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _08149DE4 @ =gUnknown_203F3D8 - ldr r1, [r6] - ldrh r5, [r1, 0x4] - cmp r5, 0x1 - bne _08149DD8 - b _08149F18 -_08149DD8: - cmp r5, 0x1 - bgt _08149DE8 - cmp r5, 0 - beq _08149DF0 - b _08149F5A - .align 2, 0 -_08149DE4: .4byte gUnknown_203F3D8 -_08149DE8: - cmp r5, 0x2 - bne _08149DEE - b _08149F56 -_08149DEE: - b _08149F5A -_08149DF0: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08149EE8 @ =gUnknown_846D8D4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _08149EEC @ =gUnknown_846D8E4 - bl InitWindows - bl ResetBgPositions - bl ResetTempTileDataBuffers - ldr r0, [r6] - bl sub_814AD6C - bl sub_814A9C8 - ldr r0, _08149EF0 @ =gUnknown_846B7B4 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08149EF4 @ =gUnknown_846B7D4 - str r5, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _08149EF8 @ =gUnknown_846BA00 - movs r4, 0x1 - str r4, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _08149EFC @ =gUnknown_846BBB0 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08149F00 @ =gUnknown_846BBD0 - str r5, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _08149F04 @ =gUnknown_846C520 - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _08149F08 @ =gUnknown_846C8D8 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08149F0C @ =gUnknown_846C8F8 - str r5, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _08149F10 @ =gUnknown_846D3A8 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _08149F14 @ =gUnknown_846B794 - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - ldr r1, [r6] - movs r0, 0xD3 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - bl SetBgTilemapBuffer - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - bl sub_814A84C - movs r0, 0 - bl sub_814AA24 - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl sub_814FDA0 - movs r0, 0 - movs r1, 0xA - movs r2, 0xD0 - bl LoadUserWindowBorderGfx - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _08149F4C - .align 2, 0 -_08149EE8: .4byte gUnknown_846D8D4 -_08149EEC: .4byte gUnknown_846D8E4 -_08149EF0: .4byte gUnknown_846B7B4 -_08149EF4: .4byte gUnknown_846B7D4 -_08149EF8: .4byte gUnknown_846BA00 -_08149EFC: .4byte gUnknown_846BBB0 -_08149F00: .4byte gUnknown_846BBD0 -_08149F04: .4byte gUnknown_846C520 -_08149F08: .4byte gUnknown_846C8D8 -_08149F0C: .4byte gUnknown_846C8F8 -_08149F10: .4byte gUnknown_846D3A8 -_08149F14: .4byte gUnknown_846B794 -_08149F18: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - cmp r0, 0 - bne _08149F5A - bl sub_814A8B8 - ldr r0, [r6] - bl sub_814B294 - ldr r0, [r6] - movs r1, 0x6 - bl sub_814B348 - movs r0, 0x3 - bl ShowBg - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x1 - bl HideBg -_08149F4C: - ldr r1, [r6] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08149F5A -_08149F56: - movs r0, 0x1 - str r0, [r1] -_08149F5A: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8149DC8 - - thumb_func_start sub_8149F64 -sub_8149F64: @ 8149F64 - push {r4,lr} - ldr r4, _08149F7C @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrh r0, [r0, 0x4] - cmp r0, 0x1 - beq _08149F90 - cmp r0, 0x1 - bgt _08149F80 - cmp r0, 0 - beq _08149F8A - b _08149FCA - .align 2, 0 -_08149F7C: .4byte gUnknown_203F3D8 -_08149F80: - cmp r0, 0x2 - beq _08149FA2 - cmp r0, 0x3 - beq _08149FBA - b _08149FCA -_08149F8A: - bl sub_814AADC - b _08149FB0 -_08149F90: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08149FCA - movs r0, 0 - bl sub_814AC30 - b _08149FB0 -_08149FA2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08149FCA - bl sub_814AC94 -_08149FB0: - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08149FCA -_08149FBA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08149FCA - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1] -_08149FCA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8149F64 - - thumb_func_start sub_8149FD0 -sub_8149FD0: @ 8149FD0 - push {r4,lr} - ldr r4, _08149FE8 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrh r0, [r0, 0x4] - cmp r0, 0x1 - beq _08149FFC - cmp r0, 0x1 - bgt _08149FEC - cmp r0, 0 - beq _08149FF6 - b _0814A036 - .align 2, 0 -_08149FE8: .4byte gUnknown_203F3D8 -_08149FEC: - cmp r0, 0x2 - beq _0814A00E - cmp r0, 0x3 - beq _0814A026 - b _0814A036 -_08149FF6: - bl sub_814AADC - b _0814A01C -_08149FFC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A036 - movs r0, 0x1 - bl sub_814AC30 - b _0814A01C -_0814A00E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A036 - bl sub_814AC94 -_0814A01C: - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A036 -_0814A026: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A036 - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1] -_0814A036: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8149FD0 - - thumb_func_start sub_814A03C -sub_814A03C: @ 814A03C - push {r4,r5,lr} - bl sub_81499A4 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0814A058 @ =gUnknown_203F3D8 - ldr r0, [r0] - ldrh r0, [r0, 0x4] - cmp r0, 0 - beq _0814A05C - cmp r0, 0x1 - beq _0814A090 - b _0814A0BE - .align 2, 0 -_0814A058: .4byte gUnknown_203F3D8 -_0814A05C: - movs r4, 0 - cmp r4, r5 - bge _0814A078 -_0814A062: - ldr r0, _0814A08C @ =gUnknown_203F3D8 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r4, 0x1 - cmp r4, r5 - blt _0814A062 -_0814A078: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _0814A08C @ =gUnknown_203F3D8 - ldr r1, [r0] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A0BE - .align 2, 0 -_0814A08C: .4byte gUnknown_203F3D8 -_0814A090: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A0BE - movs r4, 0 - cmp r4, r5 - bge _0814A0B6 -_0814A0A0: - ldr r0, _0814A0C4 @ =gUnknown_203F3D8 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - ldrb r0, [r0] - bl RemoveWindow - adds r4, 0x1 - cmp r4, r5 - blt _0814A0A0 -_0814A0B6: - ldr r0, _0814A0C4 @ =gUnknown_203F3D8 - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1] -_0814A0BE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814A0C4: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A03C - - thumb_func_start sub_814A0C8 -sub_814A0C8: @ 814A0C8 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A0E0 @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A124 - cmp r4, 0x1 - bgt _0814A0E4 - cmp r4, 0 - beq _0814A0EA - b _0814A16C - .align 2, 0 -_0814A0E0: .4byte gUnknown_203F3D8 -_0814A0E4: - cmp r4, 0x2 - beq _0814A15C - b _0814A16C -_0814A0EA: - movs r0, 0x1 - movs r1, 0x8 - movs r2, 0x14 - movs r3, 0x2 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A120 @ =gUnknown_841CBFD - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A152 - .align 2, 0 -_0814A120: .4byte gUnknown_841CBFD -_0814A124: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A16C - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0x17 - movs r1, 0x7 - movs r2, 0 - bl sub_814A7D0 - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A152: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A16C -_0814A15C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A16C - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A16C: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A0C8 - - thumb_func_start sub_814A174 -sub_814A174: @ 814A174 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A18C @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A1D0 - cmp r4, 0x1 - bgt _0814A190 - cmp r4, 0 - beq _0814A196 - b _0814A20E - .align 2, 0 -_0814A18C: .4byte gUnknown_203F3D8 -_0814A190: - cmp r4, 0x2 - beq _0814A1FE - b _0814A20E -_0814A196: - movs r0, 0x2 - movs r1, 0x7 - movs r2, 0x1A - movs r3, 0x4 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A1CC @ =gUnknown_841CC42 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A1F4 - .align 2, 0 -_0814A1CC: .4byte gUnknown_841CC42 -_0814A1D0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A20E - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A1F4: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A20E -_0814A1FE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A20E - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A20E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A174 - - thumb_func_start sub_814A218 -sub_814A218: @ 814A218 - push {r4,r5,lr} - ldr r5, _0814A22C @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0 - beq _0814A230 - cmp r4, 0x1 - beq _0814A248 - b _0814A25E - .align 2, 0 -_0814A22C: .4byte gUnknown_203F3D8 -_0814A230: - bl sub_814A6CC - bl DestroyYesNoMenu - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A25E -_0814A248: - bl sub_814A6FC - cmp r0, 0 - bne _0814A25E - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A25E - ldr r0, [r5] - str r4, [r0] -_0814A25E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A218 - - thumb_func_start sub_814A264 -sub_814A264: @ 814A264 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A27C @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A2C0 - cmp r4, 0x1 - bgt _0814A280 - cmp r4, 0 - beq _0814A286 - b _0814A2FE - .align 2, 0 -_0814A27C: .4byte gUnknown_203F3D8 -_0814A280: - cmp r4, 0x2 - beq _0814A2EE - b _0814A2FE -_0814A286: - movs r0, 0x2 - movs r1, 0x8 - movs r2, 0x16 - movs r3, 0x4 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A2BC @ =gUnknown_841CC11 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A2E4 - .align 2, 0 -_0814A2BC: .4byte gUnknown_841CC11 -_0814A2C0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A2FE - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A2E4: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A2FE -_0814A2EE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A2FE - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A2FE: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A264 - - thumb_func_start sub_814A308 -sub_814A308: @ 814A308 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A320 @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A364 - cmp r4, 0x1 - bgt _0814A324 - cmp r4, 0 - beq _0814A32A - b _0814A3A2 - .align 2, 0 -_0814A320: .4byte gUnknown_203F3D8 -_0814A324: - cmp r4, 0x2 - beq _0814A392 - b _0814A3A2 -_0814A32A: - movs r0, 0x7 - movs r1, 0xA - movs r2, 0x10 - movs r3, 0x2 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A360 @ =gUnknown_841CC64 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A388 - .align 2, 0 -_0814A360: .4byte gUnknown_841CC64 -_0814A364: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A3A2 - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A388: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A3A2 -_0814A392: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A3A2 - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A3A2: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A308 - - thumb_func_start sub_814A3AC -sub_814A3AC: @ 814A3AC - push {r4,r5,lr} - ldr r5, _0814A3C0 @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0 - beq _0814A3C4 - cmp r4, 0x1 - beq _0814A3D2 - b _0814A3DE - .align 2, 0 -_0814A3C0: .4byte gUnknown_203F3D8 -_0814A3C4: - bl sub_814B43C - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A3DE -_0814A3D2: - bl sub_814B460 - cmp r0, 0 - bne _0814A3DE - ldr r0, [r5] - str r4, [r0] -_0814A3DE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A3AC - - thumb_func_start sub_814A3E4 -sub_814A3E4: @ 814A3E4 - push {lr} - ldr r1, _0814A404 @ =gUnknown_203F3D8 - ldr r0, [r1] - movs r2, 0 - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r2, [r1] - movs r0, 0x6 - strb r0, [r2, 0xC] - ldr r0, [r1] - ldrb r0, [r0, 0xC] - bl sub_814A95C - pop {r0} - bx r0 - .align 2, 0 -_0814A404: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A3E4 - - thumb_func_start sub_814A408 -sub_814A408: @ 814A408 - push {r4,lr} - ldr r0, _0814A41C @ =gUnknown_203F3D8 - ldr r2, [r0] - ldrb r3, [r2, 0xA] - adds r4, r0, 0 - cmp r3, 0 - beq _0814A420 - cmp r3, 0x1 - beq _0814A45A - b _0814A45E - .align 2, 0 -_0814A41C: .4byte gUnknown_203F3D8 -_0814A420: - ldrb r0, [r2, 0xB] - adds r0, 0x1 - strb r0, [r2, 0xB] - ldr r1, [r4] - ldrb r0, [r1, 0xB] - cmp r0, 0xA - bls _0814A44A - strb r3, [r1, 0xB] - ldr r0, [r4] - ldrb r1, [r0, 0xC] - adds r1, 0x1 - strb r1, [r0, 0xC] - ldr r1, [r4] - ldrb r0, [r1, 0xC] - cmp r0, 0x9 - bls _0814A44A - strb r3, [r1, 0xC] - ldr r1, [r4] - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] -_0814A44A: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_814A95C - ldr r0, [r4] - ldrb r0, [r0, 0xC] - cmp r0, 0x7 - bne _0814A45E -_0814A45A: - movs r0, 0 - b _0814A460 -_0814A45E: - movs r0, 0x1 -_0814A460: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814A408 - - thumb_func_start sub_814A468 -sub_814A468: @ 814A468 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r5, _0814A52C @ =gUnknown_203F3D8 - ldr r1, [r5] - adds r1, 0x26 - adds r0, r4, 0 - bl CopyItemName - ldr r0, [r5] - adds r0, 0x66 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - subs r4, 0x85 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x29 - bhi _0814A4C2 - cmp r6, 0x1 - bls _0814A4C2 - ldr r0, [r5] - adds r0, 0x26 - bl StringLength - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0814A4C2 - ldr r0, [r5] - adds r0, r1, r0 - adds r0, 0x25 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r5] - adds r0, 0x26 - ldr r1, _0814A530 @ =gUnknown_846D94C - bl StringAppend -_0814A4C2: - bl DynamicPlaceholderTextUtil_Reset - ldr r4, _0814A52C @ =gUnknown_203F3D8 - ldr r1, [r4] - adds r1, 0x26 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, [r4] - adds r1, 0x66 - movs r0, 0x1 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, [r4] - adds r0, 0xA6 - ldr r1, _0814A534 @ =gUnknown_841CBA9 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x16 - movs r3, 0x4 - bl sub_814A754 - ldr r2, [r4] - movs r5, 0 - movs r3, 0 - strh r0, [r2, 0x12] - lsls r0, 24 - lsrs r0, 24 - adds r2, 0xA6 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r3, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _0814A538 @ =0x00000101 - strh r0, [r1, 0x14] - strb r5, [r1, 0xD] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814A52C: .4byte gUnknown_203F3D8 -_0814A530: .4byte gUnknown_846D94C -_0814A534: .4byte gUnknown_841CBA9 -_0814A538: .4byte 0x00000101 - thumb_func_end sub_814A468 - - thumb_func_start sub_814A53C -sub_814A53C: @ 814A53C - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 16 - lsrs r0, 16 - ldr r4, _0814A5AC @ =gUnknown_203F3D8 - ldr r1, [r4] - adds r1, 0x26 - bl CopyItemName - bl DynamicPlaceholderTextUtil_Reset - ldr r1, [r4] - adds r1, 0x26 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, [r4] - adds r0, 0xA6 - ldr r1, _0814A5B0 @ =gUnknown_841CBCA - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x16 - movs r3, 0x4 - bl sub_814A754 - ldr r2, [r4] - movs r6, 0 - movs r5, 0 - strh r0, [r2, 0x12] - lsls r0, 24 - lsrs r0, 24 - adds r2, 0xA6 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - strh r5, [r0, 0x14] - strb r6, [r0, 0xD] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814A5AC: .4byte gUnknown_203F3D8 -_0814A5B0: .4byte gUnknown_841CBCA - thumb_func_end sub_814A53C - - thumb_func_start sub_814A5B4 -sub_814A5B4: @ 814A5B4 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 16 - lsrs r0, 16 - ldr r4, _0814A624 @ =gUnknown_203F3D8 - ldr r1, [r4] - adds r1, 0x26 - bl CopyItemName - bl DynamicPlaceholderTextUtil_Reset - ldr r1, [r4] - adds r1, 0x26 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, [r4] - adds r0, 0xA6 - ldr r1, _0814A628 @ =gUnknown_841CBE4 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x4 - movs r1, 0x9 - movs r2, 0x16 - movs r3, 0x2 - bl sub_814A754 - ldr r2, [r4] - movs r6, 0 - movs r5, 0 - strh r0, [r2, 0x12] - lsls r0, 24 - lsrs r0, 24 - adds r2, 0xA6 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - strh r5, [r0, 0x14] - strb r6, [r0, 0xD] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814A624: .4byte gUnknown_203F3D8 -_0814A628: .4byte gUnknown_841CBE4 - thumb_func_end sub_814A5B4 - - thumb_func_start sub_814A62C -sub_814A62C: @ 814A62C - push {r4,lr} - ldr r4, _0814A644 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrb r0, [r0, 0xD] - cmp r0, 0x1 - beq _0814A680 - cmp r0, 0x1 - bgt _0814A648 - cmp r0, 0 - beq _0814A652 - b _0814A6C4 - .align 2, 0 -_0814A644: .4byte gUnknown_203F3D8 -_0814A648: - cmp r0, 0x2 - beq _0814A6A6 - cmp r0, 0x3 - beq _0814A6BA - b _0814A6C4 -_0814A652: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A6C4 - ldr r0, [r4] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] - b _0814A6C4 -_0814A680: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A6C4 - ldr r1, [r4] - ldrh r0, [r1, 0x14] - cmp r0, 0 - bne _0814A698 - ldrb r0, [r1, 0xD] - adds r0, 0x2 - b _0814A6B8 -_0814A698: - ldrh r0, [r1, 0x14] - bl PlayFanfare - ldr r1, [r4] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] -_0814A6A6: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _0814A6C4 - ldr r0, _0814A6C0 @ =gUnknown_203F3D8 - ldr r1, [r0] - ldrb r0, [r1, 0xD] - adds r0, 0x1 -_0814A6B8: - strb r0, [r1, 0xD] -_0814A6BA: - movs r0, 0 - b _0814A6C6 - .align 2, 0 -_0814A6C0: .4byte gUnknown_203F3D8 -_0814A6C4: - movs r0, 0x1 -_0814A6C6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814A62C - - thumb_func_start sub_814A6CC -sub_814A6CC: @ 814A6CC - push {r4,lr} - ldr r4, _0814A6F8 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrh r0, [r0, 0x12] - cmp r0, 0xFF - beq _0814A6F0 - lsls r0, 24 - lsrs r0, 24 - bl rbox_fill_rectangle - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - bl CopyWindowToVram - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0xD] -_0814A6F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814A6F8: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A6CC - - thumb_func_start sub_814A6FC -sub_814A6FC: @ 814A6FC - push {r4,lr} - ldr r4, _0814A70C @ =gUnknown_203F3D8 - ldr r1, [r4] - ldrh r0, [r1, 0x12] - cmp r0, 0xFF - bne _0814A710 -_0814A708: - movs r0, 0 - b _0814A73C - .align 2, 0 -_0814A70C: .4byte gUnknown_203F3D8 -_0814A710: - ldrb r0, [r1, 0xD] - cmp r0, 0 - bne _0814A736 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A73A - ldr r0, [r4] - ldrb r0, [r0, 0x12] - bl RemoveWindow - ldr r1, [r4] - movs r0, 0xFF - strh r0, [r1, 0x12] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] - b _0814A708 -_0814A736: - cmp r0, 0x1 - beq _0814A708 -_0814A73A: - movs r0, 0x1 -_0814A73C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814A6FC - - thumb_func_start sub_814A744 -sub_814A744: @ 814A744 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_814A744 - - thumb_func_start sub_814A754 -sub_814A754: @ 814A754 - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _0814A7BC @ =0xffffff00 - ldr r4, [sp] - ands r4, r6 - lsls r0, 24 - lsrs r0, 16 - ldr r5, _0814A7C0 @ =0xffff00ff - ands r4, r5 - orrs r4, r0 - lsls r1, 24 - lsrs r1, 8 - ldr r0, _0814A7C4 @ =0xff00ffff - ands r4, r0 - orrs r4, r1 - lsls r2, 24 - ldr r0, _0814A7C8 @ =0x00ffffff - ands r4, r0 - orrs r4, r2 - str r4, [sp] - lsls r3, 24 - lsrs r3, 24 - ldr r0, [sp, 0x4] - ands r0, r6 - orrs r0, r3 - ands r0, r5 - movs r1, 0xF0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _0814A7CC @ =0x0000ffff - ands r0, r1 - movs r1, 0x86 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl AddWindow - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r4, 0 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814A7BC: .4byte 0xffffff00 -_0814A7C0: .4byte 0xffff00ff -_0814A7C4: .4byte 0xff00ffff -_0814A7C8: .4byte 0x00ffffff -_0814A7CC: .4byte 0x0000ffff - thumb_func_end sub_814A754 - - thumb_func_start sub_814A7D0 -sub_814A7D0: @ 814A7D0 - push {r4,r5,lr} - sub sp, 0x14 - lsls r2, 24 - lsrs r2, 24 - ldr r5, _0814A838 @ =0xffffff00 - ldr r3, [sp, 0xC] - ands r3, r5 - lsls r0, 24 - lsrs r0, 16 - ldr r4, _0814A83C @ =0xffff00ff - ands r3, r4 - orrs r3, r0 - lsls r1, 24 - lsrs r1, 8 - ldr r0, _0814A840 @ =0xff00ffff - ands r3, r0 - orrs r3, r1 - ldr r0, _0814A844 @ =0x00ffffff - ands r3, r0 - movs r0, 0xC0 - lsls r0, 19 - orrs r3, r0 - str r3, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r5 - movs r1, 0x4 - orrs r0, r1 - ands r0, r4 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - ldr r1, _0814A848 @ =0x0000ffff - ands r0, r1 - movs r1, 0xAC - lsls r1, 14 - orrs r0, r1 - str r0, [sp, 0x10] - movs r0, 0xA - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - str r2, [sp, 0x8] - add r0, sp, 0xC - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814A838: .4byte 0xffffff00 -_0814A83C: .4byte 0xffff00ff -_0814A840: .4byte 0xff00ffff -_0814A844: .4byte 0x00ffffff -_0814A848: .4byte 0x0000ffff - thumb_func_end sub_814A7D0 - - thumb_func_start sub_814A84C -sub_814A84C: @ 814A84C - push {r4,lr} - sub sp, 0x10 - ldr r1, _0814A8AC @ =gUnknown_846D950 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - add r0, sp, 0xC - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, _0814A8B0 @ =gUnknown_841CB52 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - add r0, sp, 0xC - str r0, [sp] - str r4, [sp, 0x4] - ldr r0, _0814A8B4 @ =gUnknown_841CB5A - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814A8AC: .4byte gUnknown_846D950 -_0814A8B0: .4byte gUnknown_841CB52 -_0814A8B4: .4byte gUnknown_841CB5A - thumb_func_end sub_814A84C - - thumb_func_start sub_814A8B8 -sub_814A8B8: @ 814A8B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - bl sub_81499A4 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - ldr r1, _0814A934 @ =gUnknown_846D9D4 - subs r0, 0x2 - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - movs r6, 0 - cmp r6, r10 - bge _0814A922 - ldr r0, _0814A938 @ =gMonFrontPicCoords - mov r9, r0 - ldr r1, _0814A93C @ =gUnknown_203F3D8 - mov r8, r1 -_0814A8E6: - lsls r4, r6, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_81499C0 - adds r1, r0, 0 - ldrh r0, [r1] - lsls r0, 2 - add r0, r9 - ldrb r3, [r0, 0x1] - mov r2, r8 - ldr r0, [r2] - movs r7, 0 - ldrsh r2, [r5, r7] - adds r3, 0x70 - str r4, [sp] - bl sub_814ADCC - mov r1, r8 - ldr r0, [r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x70 - adds r3, r4, 0 - bl sub_814B240 - adds r5, 0x2 - adds r6, 0x1 - cmp r6, r10 - blt _0814A8E6 -_0814A922: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814A934: .4byte gUnknown_846D9D4 -_0814A938: .4byte gMonFrontPicCoords -_0814A93C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A8B8 - - thumb_func_start sub_814A940 -sub_814A940: @ 814A940 - ldr r2, _0814A954 @ =gUnknown_203F3D8 - ldr r2, [r2] - lsls r0, 2 - ldr r3, _0814A958 @ =0x000081a8 - adds r2, r3 - adds r2, r0 - ldr r0, [r2] - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_0814A954: .4byte gUnknown_203F3D8 -_0814A958: .4byte 0x000081a8 - thumb_func_end sub_814A940 - - thumb_func_start sub_814A95C -sub_814A95C: @ 814A95C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0814A984 @ =gUnknown_203F3D8 - ldr r0, [r0] - adds r1, r4, 0 - bl sub_814B348 - ldr r0, _0814A988 @ =gUnknown_846D953 - adds r4, r0 - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 13 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814A984: .4byte gUnknown_203F3D8 -_0814A988: .4byte gUnknown_846D953 - thumb_func_end sub_814A95C - - thumb_func_start sub_814A98C -sub_814A98C: @ 814A98C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - movs r6, 0 -_0814A996: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0814A9AA - ldr r0, _0814A9C4 @ =gUnknown_203F3D8 - ldr r0, [r0] - adds r1, r5, 0 - bl sub_814AF0C - adds r6, 0x1 -_0814A9AA: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x4 - ble _0814A996 - subs r0, r6, 0x2 - lsls r0, 24 - lsrs r0, 24 - bl sub_814ACCC - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814A9C4: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A98C - - thumb_func_start sub_814A9C8 -sub_814A9C8: @ 814A9C8 - push {r4,lr} - sub sp, 0x10 - mov r1, sp - movs r0, 0x40 - strb r0, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x6C - strh r0, [r1, 0x4] - movs r4, 0x6 - strh r4, [r1, 0x6] - ldr r0, _0814AA1C @ =gUnknown_846D960 - str r0, [sp, 0x8] - ldr r0, _0814AA20 @ =gUnknown_846D968 - str r0, [sp, 0xC] - movs r0, 0x2 - bl sub_815C980 - movs r0, 0 - movs r1, 0 - mov r2, sp - bl sub_815CA40 - mov r1, sp - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x1E - strh r0, [r1, 0x4] - mov r0, sp - strh r4, [r0, 0x6] - movs r0, 0x1 - movs r1, 0 - mov r2, sp - bl sub_815CA40 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814AA1C: .4byte gUnknown_846D960 -_0814AA20: .4byte gUnknown_846D968 - thumb_func_end sub_814A9C8 - - thumb_func_start sub_814AA24 -sub_814AA24: @ 814AA24 - push {lr} - adds r1, r0, 0 - movs r0, 0 - bl sub_815CD70 - pop {r0} - bx r0 - thumb_func_end sub_814AA24 - - thumb_func_start sub_814AA34 -sub_814AA34: @ 814AA34 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - bl sub_815CD70 - pop {r0} - bx r0 - thumb_func_end sub_814AA34 - - thumb_func_start sub_814AA48 -sub_814AA48: @ 814AA48 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0814AA5C @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814AFE8 - pop {r0} - bx r0 - .align 2, 0 -_0814AA5C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA48 - - thumb_func_start sub_814AA60 -sub_814AA60: @ 814AA60 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0814AA74 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B080 - pop {r0} - bx r0 - .align 2, 0 -_0814AA74: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA60 - - thumb_func_start sub_814AA78 -sub_814AA78: @ 814AA78 - push {lr} - adds r1, r0, 0 - ldr r0, _0814AA88 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B010 - pop {r1} - bx r1 - .align 2, 0 -_0814AA88: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA78 - - thumb_func_start sub_814AA8C -sub_814AA8C: @ 814AA8C - push {lr} - ldr r0, _0814AA9C @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B0A8 - pop {r0} - bx r0 - .align 2, 0 -_0814AA9C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA8C - - thumb_func_start sub_814AAA0 -sub_814AAA0: @ 814AAA0 - push {lr} - ldr r0, _0814AAB0 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B134 - pop {r0} - bx r0 - .align 2, 0 -_0814AAB0: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AAA0 - - thumb_func_start sub_814AAB4 -sub_814AAB4: @ 814AAB4 - push {lr} - adds r1, r0, 0 - ldr r0, _0814AAC4 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B168 - pop {r0} - bx r0 - .align 2, 0 -_0814AAC4: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AAB4 - - thumb_func_start sub_814AAC8 -sub_814AAC8: @ 814AAC8 - push {lr} - ldr r0, _0814AAD8 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B190 - pop {r1} - bx r1 - .align 2, 0 -_0814AAD8: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AAC8 - - thumb_func_start sub_814AADC -sub_814AADC: @ 814AADC - push {r4-r7,lr} - sub sp, 0x8 - bl sub_81499A4 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r1, _0814AB7C @ =gUnknown_846D9A8 - subs r0, r7, 0x2 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - ldr r2, _0814AB80 @ =0xffffff00 - ldr r0, [sp] - ands r0, r2 - ldr r1, _0814AB84 @ =0x00ffffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 20 - orrs r0, r1 - str r0, [sp] - ldr r0, [sp, 0x4] - ands r0, r2 - movs r1, 0x2 - orrs r0, r1 - ldr r1, _0814AB88 @ =0xffff00ff - ands r0, r1 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - ldr r1, _0814AB8C @ =0x0000ffff - ands r0, r1 - movs r1, 0xAC - lsls r1, 14 - orrs r0, r1 - str r0, [sp, 0x4] - movs r5, 0 - cmp r5, r7 - bge _0814AB6C - mov r6, sp -_0814AB2A: - ldrb r0, [r4] - lsls r0, 8 - ldr r2, _0814AB88 @ =0xffff00ff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - ldrb r2, [r4, 0x2] - lsls r2, 16 - ldr r0, _0814AB90 @ =0xff00ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp] - mov r0, sp - bl AddWindow - ldr r1, _0814AB94 @ =gUnknown_203F3D8 - ldr r1, [r1] - lsls r2, r5, 1 - adds r1, 0x1C - adds r1, r2 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r6, 0x6] - adds r0, 0x10 - strh r0, [r6, 0x6] - adds r4, 0x4 - adds r5, 0x1 - cmp r5, r7 - blt _0814AB2A -_0814AB6C: - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814AB7C: .4byte gUnknown_846D9A8 -_0814AB80: .4byte 0xffffff00 -_0814AB84: .4byte 0x00ffffff -_0814AB88: .4byte 0xffff00ff -_0814AB8C: .4byte 0x0000ffff -_0814AB90: .4byte 0xff00ffff -_0814AB94: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AADC - - thumb_func_start sub_814AB98 -sub_814AB98: @ 814AB98 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r5, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - add r0, sp, 0xC - strb r1, [r0] - strb r2, [r0, 0x1] - strb r3, [r0, 0x2] - ldr r6, _0814AC2C @ =gUnknown_203F3D8 - ldr r0, [r6] - lsls r1, r5, 1 - mov r8, r1 - adds r0, 0x1C - add r0, r8 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - bl sub_81499E0 - adds r1, r0, 0 - movs r2, 0x1 - negs r2, r2 - mov r9, r2 - movs r0, 0 - bl GetStringWidth - movs r4, 0x40 - subs r4, r0 - lsrs r4, 1 - adds r0, r5, 0 - bl sub_81499E0 - adds r1, r0, 0 - ldr r0, [r6] - adds r0, 0x1C - add r0, r8 - ldrb r0, [r0] - lsls r4, 24 - lsrs r4, 24 - add r2, sp, 0xC - str r2, [sp] - mov r2, r9 - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - ldr r0, [r6] - adds r0, 0x1C - add r0, r8 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814AC2C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AB98 - - thumb_func_start sub_814AC30 -sub_814AC30: @ 814AC30 - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0 - bne _0814AC5A - movs r4, 0 - cmp r4, r5 - bge _0814AC8C -_0814AC46: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x3 - bl sub_814AB98 - adds r4, 0x1 - cmp r4, r5 - blt _0814AC46 - b _0814AC8C -_0814AC5A: - bl sub_81499B4 - lsls r0, 16 - lsrs r6, r0, 16 - movs r4, 0 - cmp r4, r5 - bge _0814AC8C -_0814AC68: - cmp r6, r4 - beq _0814AC7A - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x3 - bl sub_814AB98 - b _0814AC86 -_0814AC7A: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x4 - movs r3, 0x5 - bl sub_814AB98 -_0814AC86: - adds r4, 0x1 - cmp r4, r5 - blt _0814AC68 -_0814AC8C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814AC30 - - thumb_func_start sub_814AC94 -sub_814AC94: @ 814AC94 - push {r4,r5,lr} - bl sub_81499A4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0 - cmp r4, r5 - bge _0814ACBA -_0814ACA4: - ldr r0, _0814ACC8 @ =gUnknown_203F3D8 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - adds r4, 0x1 - cmp r4, r5 - blt _0814ACA4 -_0814ACBA: - movs r0, 0 - bl CopyBgTilemapBufferToVram - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814ACC8: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AC94 - - thumb_func_start sub_814ACCC -sub_814ACCC: @ 814ACCC - push {r4,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _0814AD10 @ =gUnknown_203F3D8 - ldr r2, [r0] - movs r0, 0 - str r0, [r2, 0x18] - lsrs r1, 25 - lsls r1, 16 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - ands r4, r0 - lsls r4, 8 - subs r4, 0x28 - lsls r4, 8 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - ldr r0, _0814AD14 @ =sub_814AD50 - movs r1, 0x4 - bl CreateTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814AD10: .4byte gUnknown_203F3D8 -_0814AD14: .4byte sub_814AD50 - thumb_func_end sub_814ACCC - - thumb_func_start sub_814AD18 -sub_814AD18: @ 814AD18 - push {r4,lr} - ldr r4, _0814AD28 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldr r0, [r0, 0x18] - cmp r0, 0x1F - bls _0814AD2C - movs r0, 0 - b _0814AD4A - .align 2, 0 -_0814AD28: .4byte gUnknown_203F3D8 -_0814AD2C: - movs r0, 0x1 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgY - ldr r1, [r4] - ldr r0, [r1, 0x18] - adds r0, 0x1 - str r0, [r1, 0x18] - cmp r0, 0x1F - bls _0814AD48 - movs r0, 0x1 - bl HideBg -_0814AD48: - movs r0, 0x1 -_0814AD4A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814AD18 - - thumb_func_start sub_814AD50 -sub_814AD50: @ 814AD50 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_814AD18 - cmp r0, 0 - bne _0814AD64 - adds r0, r4, 0 - bl DestroyTask -_0814AD64: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814AD50 - - thumb_func_start sub_814AD6C -sub_814AD6C: @ 814AD6C - push {r4-r6,lr} - adds r6, r0, 0 - movs r4, 0 - ldr r5, _0814ADAC @ =gUnknown_846E0B0 -_0814AD74: - adds r0, r5, 0 - bl LoadCompressedSpriteSheet - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x4 - bls _0814AD74 - movs r4, 0 - ldr r5, _0814ADB0 @ =gUnknown_846E0D8 -_0814AD86: - adds r0, r5, 0 - bl LoadSpritePalette - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x1 - bls _0814AD86 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - strb r0, [r6, 0xE] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - strb r0, [r6, 0xF] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814ADAC: .4byte gUnknown_846E0B0 -_0814ADB0: .4byte gUnknown_846E0D8 - thumb_func_end sub_814AD6C - - thumb_func_start sub_814ADB4 -sub_814ADB4: @ 814ADB4 - push {lr} - movs r2, 0 - movs r1, 0x7 - adds r0, 0x3C -_0814ADBC: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0814ADBC - pop {r0} - bx r0 - thumb_func_end sub_814ADB4 - - thumb_func_start sub_814ADCC -sub_814ADCC: @ 814ADCC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r9, r0 - adds r7, r1, 0 - ldr r0, [sp, 0x54] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x28] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x2C] - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, sp - ldr r0, _0814AE20 @ =gUnknown_846E0E8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r0, 0x80 - lsls r0, 6 - bl Alloc - mov r8, r0 - movs r0, 0x80 - lsls r0, 4 - bl Alloc - mov r10, r0 - bl sub_81499B4 - lsls r0, 16 - lsrs r0, 16 - cmp r6, r0 - bne _0814AE24 - movs r0, 0x3 - b _0814AE2A - .align 2, 0 -_0814AE20: .4byte gUnknown_846E0E8 -_0814AE24: - adds r0, r6, 0x4 - lsls r0, 24 - lsrs r0, 24 -_0814AE2A: - str r0, [sp, 0x30] - mov r1, r8 - cmp r1, 0 - beq _0814AEEC - mov r2, r10 - cmp r2, 0 - beq _0814AEEC - ldrh r2, [r7] - lsls r0, r2, 3 - ldr r1, _0814AED8 @ =gMonFrontPicTable - adds r0, r1 - ldr r3, [r7, 0x8] - mov r1, r8 - bl HandleLoadSpecialPokePic - mov r3, r8 - str r3, [sp, 0x18] - adds r4, r6, 0 - add r0, sp, 0x18 - ldr r5, _0814AEDC @ =0xffff0000 - lsls r1, r4, 16 - movs r2, 0x80 - lsls r2, 4 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpriteSheet - ldrh r0, [r7] - ldr r1, [r7, 0x4] - ldr r2, [r7, 0x8] - bl GetMonSpritePalFromSpeciesAndPersonality - str r0, [sp, 0x20] - add r0, sp, 0x20 - ldr r1, [r0, 0x4] - ands r1, r5 - orrs r1, r4 - str r1, [r0, 0x4] - bl LoadCompressedSpritePalette - mov r0, r8 - bl Free - mov r0, r10 - bl Free - mov r1, sp - mov r0, sp - ldrh r0, [r0] - adds r0, r6 - strh r0, [r1] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r0, r6 - strh r0, [r1, 0x2] - ldr r4, [sp, 0x28] - lsls r1, r4, 16 - asrs r1, 16 - ldr r0, [sp, 0x2C] - lsls r2, r0, 16 - asrs r2, 16 - mov r0, sp - ldr r3, [sp, 0x30] - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0814AEEC - lsls r0, r6, 2 - ldr r2, _0814AEE0 @ =0x000081a8 - add r2, r9 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814AEE4 @ =gSprites - adds r0, r1 - str r0, [r2] - ldr r0, _0814AEE8 @ =0x000081fc - add r0, r9 - adds r0, r6 - add r1, sp, 0x30 - ldrb r1, [r1] - strb r1, [r0] - b _0814AEF8 - .align 2, 0 -_0814AED8: .4byte gMonFrontPicTable -_0814AEDC: .4byte 0xffff0000 -_0814AEE0: .4byte 0x000081a8 -_0814AEE4: .4byte gSprites -_0814AEE8: .4byte 0x000081fc -_0814AEEC: - lsls r0, r6, 2 - ldr r1, _0814AF08 @ =0x000081a8 - add r1, r9 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_0814AEF8: - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814AF08: .4byte 0x000081a8 - thumb_func_end sub_814ADCC - - thumb_func_start sub_814AF0C -sub_814AF0C: @ 814AF0C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r6, r1, 2 - ldr r0, _0814AF64 @ =0x000081bc - adds r5, r4, r0 - adds r5, r6 - ldr r0, [r5] - bl sub_814ADB4 - ldr r2, [r5] - ldr r0, _0814AF68 @ =0x000081a8 - adds r4, r0 - adds r4, r6 - ldr r1, [r4] - ldr r0, _0814AF6C @ =gSprites - subs r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r1, r0, 8 - adds r0, r1 - lsls r1, r0, 16 - adds r0, r1 - negs r0, r0 - asrs r0, 2 - strh r0, [r2, 0x3C] - ldr r1, [r5] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r5] - movs r0, 0x60 - strh r0, [r1, 0x22] - ldr r0, [r5] - ldr r1, _0814AF70 @ =sub_814AF74 - str r1, [r0, 0x1C] - movs r1, 0x1 - bl StartSpriteAnim - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814AF64: .4byte 0x000081bc -_0814AF68: .4byte 0x000081a8 -_0814AF6C: .4byte gSprites -_0814AF70: .4byte sub_814AF74 - thumb_func_end sub_814AF0C - - thumb_func_start sub_814AF74 -sub_814AF74: @ 814AF74 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _0814AFA0 - cmp r0, 0x1 - bgt _0814AF8A - cmp r0, 0 - beq _0814AF90 - b _0814AFDE -_0814AF8A: - cmp r0, 0x2 - beq _0814AFC0 - b _0814AFDE -_0814AF90: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0814AFDE - b _0814AFCE -_0814AFA0: - ldrh r1, [r2, 0x22] - subs r1, 0x1 - strh r1, [r2, 0x22] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x48 - bgt _0814AFDE - movs r0, 0x48 - strh r0, [r2, 0x22] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _0814AFDE -_0814AFC0: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _0814AFDE -_0814AFCE: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldr r0, _0814AFE4 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0814AFDE: - pop {r0} - bx r0 - .align 2, 0 -_0814AFE4: .4byte SpriteCallbackDummy - thumb_func_end sub_814AF74 - - thumb_func_start sub_814AFE8 -sub_814AFE8: @ 814AFE8 - push {lr} - lsls r1, 2 - ldr r2, _0814B008 @ =0x000081a8 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - ldr r1, _0814B00C @ =sub_814B038 - str r1, [r2, 0x1C] - movs r1, 0 - strh r1, [r2, 0x26] - ldr r0, [r0] - bl sub_814ADB4 - pop {r0} - bx r0 - .align 2, 0 -_0814B008: .4byte 0x000081a8 -_0814B00C: .4byte sub_814B038 - thumb_func_end sub_814AFE8 - - thumb_func_start sub_814B010 -sub_814B010: @ 814B010 - push {lr} - movs r2, 0 - lsls r1, 2 - ldr r3, _0814B030 @ =0x000081a8 - adds r0, r3 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x1C] - ldr r0, _0814B034 @ =sub_814B038 - cmp r1, r0 - bne _0814B028 - movs r2, 0x1 -_0814B028: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_0814B030: .4byte 0x000081a8 -_0814B034: .4byte sub_814B038 - thumb_func_end sub_814B010 - - thumb_func_start sub_814B038 -sub_814B038: @ 814B038 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0814B064 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814B05C - movs r0, 0x2 - b _0814B05E -_0814B05C: - ldr r0, _0814B078 @ =0x0000fffe -_0814B05E: - strh r0, [r2, 0x26] - movs r0, 0 - strh r0, [r2, 0x30] -_0814B064: - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0xC - ble _0814B074 - movs r0, 0 - strh r0, [r2, 0x26] - ldr r0, _0814B07C @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0814B074: - pop {r0} - bx r0 - .align 2, 0 -_0814B078: .4byte 0x0000fffe -_0814B07C: .4byte SpriteCallbackDummy - thumb_func_end sub_814B038 - - thumb_func_start sub_814B080 -sub_814B080: @ 814B080 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 2 - ldr r0, _0814B0A0 @ =0x000081a8 - adds r4, r0 - adds r4, r1 - ldr r0, [r4] - bl sub_814ADB4 - ldr r1, [r4] - ldr r0, _0814B0A4 @ =sub_814B100 - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B0A0: .4byte 0x000081a8 -_0814B0A4: .4byte sub_814B100 - thumb_func_end sub_814B080 - - thumb_func_start sub_814B0A8 -sub_814B0A8: @ 814B0A8 - push {r4-r7,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0814B0EC - movs r1, 0x5 - negs r1, r1 - mov r12, r1 - ldr r1, _0814B0F4 @ =0x000081a8 - adds r3, r4, r1 - ldr r7, _0814B0F8 @ =sub_814B100 - ldr r6, _0814B0FC @ =SpriteCallbackDummy - movs r5, 0xA - adds r4, r0, 0 -_0814B0CA: - ldr r2, [r3] - ldr r0, [r2, 0x1C] - cmp r0, r7 - bne _0814B0E4 - adds r2, 0x3E - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - str r6, [r0, 0x1C] - adds r0, 0x43 - strb r5, [r0] -_0814B0E4: - adds r3, 0x4 - subs r4, 0x1 - cmp r4, 0 - bne _0814B0CA -_0814B0EC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B0F4: .4byte 0x000081a8 -_0814B0F8: .4byte sub_814B100 -_0814B0FC: .4byte SpriteCallbackDummy - thumb_func_end sub_814B0A8 - - thumb_func_start sub_814B100 -sub_814B100: @ 814B100 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0814B12E - movs r0, 0 - strh r0, [r3, 0x2E] - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0814B12E: - pop {r0} - bx r0 - thumb_func_end sub_814B100 - - thumb_func_start sub_814B134 -sub_814B134: @ 814B134 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - cmp r2, r3 - bge _0814B15E - ldr r0, _0814B164 @ =0x000081fc - adds r5, r4, r0 - subs r0, 0x54 - adds r4, r0 -_0814B14E: - ldm r4!, {r0} - adds r1, r5, r2 - ldrb r1, [r1] - adds r0, 0x43 - strb r1, [r0] - adds r2, 0x1 - cmp r2, r3 - blt _0814B14E -_0814B15E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814B164: .4byte 0x000081fc - thumb_func_end sub_814B134 - - thumb_func_start sub_814B168 -sub_814B168: @ 814B168 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 2 - ldr r0, _0814B188 @ =0x000081a8 - adds r4, r0 - adds r4, r1 - ldr r0, [r4] - bl sub_814ADB4 - ldr r1, [r4] - ldr r0, _0814B18C @ =sub_814B1CC - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B188: .4byte 0x000081a8 -_0814B18C: .4byte sub_814B1CC - thumb_func_end sub_814B168 - - thumb_func_start sub_814B190 -sub_814B190: @ 814B190 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - cmp r2, r3 - bge _0814B1C4 - ldr r5, _0814B1B4 @ =sub_814B1CC - ldr r0, _0814B1B8 @ =0x000081a8 - adds r1, r4, r0 -_0814B1A8: - ldr r0, [r1] - ldr r0, [r0, 0x1C] - cmp r0, r5 - bne _0814B1BC - movs r0, 0x1 - b _0814B1C6 - .align 2, 0 -_0814B1B4: .4byte sub_814B1CC -_0814B1B8: .4byte 0x000081a8 -_0814B1BC: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, r3 - blt _0814B1A8 -_0814B1C4: - movs r0, 0 -_0814B1C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814B190 - - thumb_func_start sub_814B1CC -sub_814B1CC: @ 814B1CC - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - cmp r4, 0 - beq _0814B1DE - cmp r4, 0x1 - beq _0814B1EC - b _0814B234 -_0814B1DE: - movs r0, 0x1C - bl PlaySE - strh r4, [r5, 0x30] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0814B1EC: - ldrh r0, [r5, 0x30] - adds r0, 0x4 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0814B1FE - movs r0, 0 - strh r0, [r5, 0x30] -_0814B1FE: - ldr r1, _0814B22C @ =gSineTable - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - negs r0, r0 - strh r0, [r5, 0x26] - movs r0, 0x30 - ldrsh r1, [r5, r0] - cmp r1, 0 - bne _0814B234 - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _0814B230 - strh r1, [r5, 0x2E] - b _0814B234 - .align 2, 0 -_0814B22C: .4byte gSineTable -_0814B230: - ldr r0, _0814B23C @ =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0814B234: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814B23C: .4byte SpriteCallbackDummy - thumb_func_end sub_814B1CC - - thumb_func_start sub_814B240 -sub_814B240: @ 814B240 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r3, 24 - lsrs r4, r3, 24 - ldr r0, _0814B288 @ =gUnknown_846E2B4 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0814B280 - ldr r0, _0814B28C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r3] - lsls r2, r4, 2 - ldr r3, _0814B290 @ =0x000081bc - adds r0, r5, r3 - adds r0, r2 - str r1, [r0] -_0814B280: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814B288: .4byte gUnknown_846E2B4 -_0814B28C: .4byte gSprites -_0814B290: .4byte 0x000081bc - thumb_func_end sub_814B240 - - thumb_func_start sub_814B294 -sub_814B294: @ 814B294 - push {r4-r7,lr} - adds r7, r0, 0 - movs r5, 0 - movs r4, 0 - ldr r6, _0814B334 @ =gUnknown_846E100 -_0814B29E: - ldr r1, _0814B338 @ =gUnknown_846E160 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - ldr r2, _0814B33C @ =gUnknown_846E150 - lsls r1, r5, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r6, r3] - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r5, 2 - ldr r3, _0814B340 @ =0x000081d0 - adds r2, r7, r3 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814B344 @ =gSprites - adds r0, r1 - str r0, [r2] - adds r5, 0x1 - adds r6, 0x14 - adds r4, 0x1 - cmp r4, 0x3 - ble _0814B29E - movs r4, 0x3 - movs r6, 0x3C -_0814B2E0: - ldr r1, _0814B338 @ =gUnknown_846E160 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - ldr r2, _0814B33C @ =gUnknown_846E150 - lsls r1, r5, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - ldr r2, _0814B334 @ =gUnknown_846E100 - adds r2, r6, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r5, 2 - ldr r3, _0814B340 @ =0x000081d0 - adds r2, r7, r3 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814B344 @ =gSprites - adds r0, r1 - str r0, [r2] - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - adds r5, 0x1 - subs r6, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _0814B2E0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B334: .4byte gUnknown_846E100 -_0814B338: .4byte gUnknown_846E160 -_0814B33C: .4byte gUnknown_846E150 -_0814B340: .4byte 0x000081d0 -_0814B344: .4byte gSprites - thumb_func_end sub_814B294 - - thumb_func_start sub_814B348 -sub_814B348: @ 814B348 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r0, [sp, 0x8] - cmp r1, 0x5 - ble _0814B368 - movs r0, 0xA - subs r1, r0, r1 - movs r0, 0x3 - str r0, [sp] - ldr r2, [sp, 0x8] - ldrb r0, [r2, 0xF] - b _0814B370 -_0814B368: - movs r3, 0x2 - str r3, [sp] - ldr r7, [sp, 0x8] - ldrb r0, [r7, 0xE] -_0814B370: - movs r6, 0 - lsls r2, r1, 1 - str r2, [sp, 0x4] - lsls r0, 4 - mov r9, r0 - lsls r1, 24 - mov r8, r1 - ldr r0, _0814B434 @ =gUnknown_846E100 - adds r4, r2, r0 - ldr r3, [sp] - lsls r3, 2 - mov r10, r3 - movs r5, 0x3 -_0814B38A: - lsls r0, r6, 2 - ldr r7, [sp, 0x8] - ldr r1, _0814B438 @ =0x000081d0 - adds r2, r7, r1 - adds r2, r0 - ldr r1, [r2] - ldrh r0, [r4] - strh r0, [r1, 0x22] - ldr r3, [r2] - ldrb r0, [r3, 0x5] - movs r7, 0xD - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r3, [r2] - ldrb r1, [r3, 0x5] - movs r0, 0xF - ands r0, r1 - mov r7, r9 - orrs r0, r7 - strb r0, [r3, 0x5] - ldr r0, [r2] - mov r2, r8 - lsrs r1, r2, 24 - bl StartSpriteAnim - adds r6, 0x1 - adds r4, 0x14 - subs r5, 0x1 - cmp r5, 0 - bge _0814B38A - movs r5, 0x3 - ldr r0, _0814B434 @ =gUnknown_846E100 - ldr r3, [sp, 0x4] - adds r0, r3, r0 - adds r4, r0, 0 - adds r4, 0x3C - ldr r7, [sp] - lsls r7, 2 - mov r10, r7 -_0814B3E0: - lsls r0, r6, 2 - ldr r1, [sp, 0x8] - ldr r3, _0814B438 @ =0x000081d0 - adds r2, r1, r3 - adds r2, r0 - ldr r1, [r2] - ldrh r0, [r4] - strh r0, [r1, 0x22] - ldr r3, [r2] - ldrb r0, [r3, 0x5] - movs r7, 0xD - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r3, [r2] - ldrb r1, [r3, 0x5] - movs r0, 0xF - ands r0, r1 - mov r7, r9 - orrs r0, r7 - strb r0, [r3, 0x5] - ldr r0, [r2] - mov r2, r8 - lsrs r1, r2, 24 - bl StartSpriteAnim - adds r6, 0x1 - subs r4, 0x14 - subs r5, 0x1 - cmp r5, 0 - bge _0814B3E0 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B434: .4byte gUnknown_846E100 -_0814B438: .4byte 0x000081d0 - thumb_func_end sub_814B348 - - thumb_func_start sub_814B43C -sub_814B43C: @ 814B43C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - movs r1, 0x7 - movs r2, 0x78 - movs r3, 0x50 - bl sub_815F138 - adds r0, r4, 0 - bl sub_814B134 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814B43C - - thumb_func_start sub_814B460 -sub_814B460: @ 814B460 - push {lr} - bl sub_815F198 - pop {r1} - bx r1 - thumb_func_end sub_814B460 - - thumb_func_start sub_814B46C -sub_814B46C: @ 814B46C - ldr r0, _0814B478 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - bx lr - .align 2, 0 -_0814B478: .4byte gSaveBlock2Ptr - thumb_func_end sub_814B46C - - thumb_func_start ResetPokeJumpResults -ResetPokeJumpResults: @ 814B47C - push {lr} - bl sub_814B46C - movs r1, 0 - strh r1, [r0] - str r1, [r0, 0xC] - strh r1, [r0, 0x4] - strh r1, [r0, 0x6] - str r1, [r0, 0x8] - strh r1, [r0, 0x2] - pop {r0} - bx r0 - thumb_func_end ResetPokeJumpResults - - thumb_func_start sub_814B494 -sub_814B494: @ 814B494 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - bl sub_814B46C - adds r1, r0, 0 - movs r2, 0 - ldr r0, [r1, 0xC] - cmp r0, r4 - bcs _0814B4B8 - ldr r0, _0814B4E0 @ =0x00018696 - cmp r4, r0 - bhi _0814B4B8 - str r4, [r1, 0xC] - movs r2, 0x1 -_0814B4B8: - ldrh r0, [r1] - cmp r0, r5 - bcs _0814B4C8 - ldr r0, _0814B4E4 @ =0x0000270f - cmp r5, r0 - bhi _0814B4C8 - strh r5, [r1] - movs r2, 0x1 -_0814B4C8: - ldrh r0, [r1, 0x4] - cmp r0, r6 - bcs _0814B4D8 - ldr r0, _0814B4E4 @ =0x0000270f - cmp r6, r0 - bhi _0814B4D8 - strh r6, [r1, 0x4] - movs r2, 0x1 -_0814B4D8: - adds r0, r2, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814B4E0: .4byte 0x00018696 -_0814B4E4: .4byte 0x0000270f - thumb_func_end sub_814B494 - - thumb_func_start sub_814B4E8 -sub_814B4E8: @ 814B4E8 - push {lr} - bl sub_814B46C - adds r2, r0, 0 - ldrh r1, [r2, 0x6] - ldr r0, _0814B500 @ =0x0000270e - cmp r1, r0 - bhi _0814B4FC - adds r0, r1, 0x1 - strh r0, [r2, 0x6] -_0814B4FC: - pop {r0} - bx r0 - .align 2, 0 -_0814B500: .4byte 0x0000270e - thumb_func_end sub_814B4E8 - - thumb_func_start ShowPokemonJumpRecords -ShowPokemonJumpRecords: @ 814B504 - push {r4,lr} - ldr r4, _0814B520 @ =sub_814B524 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B520: .4byte sub_814B524 - thumb_func_end ShowPokemonJumpRecords - - thumb_func_start sub_814B524 -sub_814B524: @ 814B524 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0814B548 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0814B570 - cmp r0, 0x1 - bgt _0814B54C - cmp r0, 0 - beq _0814B556 - b _0814B5BE - .align 2, 0 -_0814B548: .4byte gTasks+0x8 -_0814B54C: - cmp r0, 0x2 - beq _0814B57C - cmp r0, 0x3 - beq _0814B5A4 - b _0814B5BE -_0814B556: - ldr r0, _0814B56C @ =gUnknown_846E2CC - bl AddWindow - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x2] - bl sub_814B5C4 - ldrb r0, [r4, 0x2] - movs r1, 0x3 - b _0814B592 - .align 2, 0 -_0814B56C: .4byte gUnknown_846E2CC -_0814B570: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814B5BE - b _0814B596 -_0814B57C: - ldr r0, _0814B5A0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0814B5BE - ldrb r0, [r4, 0x2] - bl rbox_fill_rectangle - ldrb r0, [r4, 0x2] - movs r1, 0x1 -_0814B592: - bl CopyWindowToVram -_0814B596: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0814B5BE - .align 2, 0 -_0814B5A0: .4byte gMain -_0814B5A4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814B5BE - ldrb r0, [r4, 0x2] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0814B5BE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814B524 - - thumb_func_start sub_814B5C4 -sub_814B5C4: @ 814B5C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x28] - bl sub_814B46C - ldrh r1, [r0] - str r1, [sp, 0x14] - ldr r1, [r0, 0xC] - str r1, [sp, 0x18] - ldrh r0, [r0, 0x4] - str r0, [sp, 0x1C] - ldr r0, [sp, 0x28] - lsls r4, r0, 24 - lsrs r4, 24 - ldr r5, _0814B6C8 @ =0x0000021d - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xD - bl DrawTextBorderOuter - adds r0, r4, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _0814B6CC @ =gUnknown_841CB63 - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized5 - movs r7, 0 - mov r8, r4 - movs r1, 0xFF - mov r10, r1 - movs r6, 0 - mov r0, sp - adds r0, 0x14 - str r0, [sp, 0x2C] - movs r1, 0xA0 - lsls r1, 21 - mov r9, r1 - add r5, sp, 0x20 -_0814B63E: - ldr r1, _0814B6D0 @ =gUnknown_846E2D4 - lsls r0, r7, 2 - adds r0, r1 - ldr r2, [r0] - mov r0, r9 - lsrs r4, r0, 24 - str r4, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - mov r0, r8 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized5 - ldr r0, [sp, 0x2C] - ldm r0!, {r1} - str r0, [sp, 0x2C] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - bl sub_814B6D4 - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - movs r3, 0xDE - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - str r4, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - str r6, [sp, 0xC] - str r6, [sp, 0x10] - mov r0, r8 - movs r1, 0x2 - adds r2, r5, 0 - bl AddTextPrinterParameterized5 - movs r0, 0xE0 - lsls r0, 20 - add r9, r0 - adds r7, 0x1 - ldr r1, [sp, 0x28] - lsls r0, r1, 24 - cmp r7, 0x2 - bls _0814B63E - lsrs r0, 24 - bl PutWindowTilemap - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B6C8: .4byte 0x0000021d -_0814B6CC: .4byte gUnknown_841CB63 -_0814B6D0: .4byte gUnknown_846E2D4 - thumb_func_end sub_814B5C4 - - thumb_func_start sub_814B6D4 -sub_814B6D4: @ 814B6D4 - push {lr} - adds r1, r0, 0 - b _0814B6DC -_0814B6DA: - adds r1, 0x1 -_0814B6DC: - ldrb r0, [r1] - cmp r0, 0xFF - beq _0814B6EA - cmp r0, 0 - bne _0814B6DA - movs r0, 0xFF - strb r0, [r1] -_0814B6EA: - pop {r0} - bx r0 - thumb_func_end sub_814B6D4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 115c9567b..3227d5dcd 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1411,8 +1411,8 @@ _0808C3CC: .4byte _0808C5A6 .4byte _0808C680 _0808C3E0: - movs r0, 0x1C - bl HelpSystem_SetSomeVariable2 + movs r0, 0x1C @ HELPCONTEXT_BILLS_PC + bl SetHelpContext ldrb r0, [r5, 0xA] adds r1, r5, 0 adds r1, 0x26 @@ -1795,13 +1795,13 @@ mapldr_0808C6D8: @ 808C6D8 adds r1, r2 movs r2, 0 strh r2, [r1, 0x8] - ldr r2, _0808C728 @ =gUnknown_20397A8 + ldr r2, _0808C728 @ =sPreviousBoxOption ldrb r2, [r2] strh r2, [r1, 0xA] bl _call_via_r4 adds r0, r5, 0 bl SetVBlankCallback - bl sub_807DC00 + bl FadeInFromBlack pop {r4,r5} pop {r0} bx r0 @@ -1809,7 +1809,7 @@ mapldr_0808C6D8: @ 808C6D8 _0808C71C: .4byte gMain _0808C720: .4byte c3_0808C39C _0808C724: .4byte gTasks -_0808C728: .4byte gUnknown_20397A8 +_0808C728: .4byte sPreviousBoxOption thumb_func_end mapldr_0808C6D8 thumb_func_start sub_808C72C @@ -1881,7 +1881,7 @@ _0808C7B0: .4byte gUnknown_83CDA20 sub_808C7B4: @ 808C7B4 push {lr} bl sub_808FDF0 - ldr r1, _0808C7D0 @ =gUnknown_20397A8 + ldr r1, _0808C7D0 @ =sPreviousBoxOption strb r0, [r1] ldr r1, _0808C7D4 @ =gFieldCallback ldr r0, _0808C7D8 @ =mapldr_0808C6D8 @@ -1891,7 +1891,7 @@ sub_808C7B4: @ 808C7B4 pop {r0} bx r0 .align 2, 0 -_0808C7D0: .4byte gUnknown_20397A8 +_0808C7D0: .4byte sPreviousBoxOption _0808C7D4: .4byte gFieldCallback _0808C7D8: .4byte mapldr_0808C6D8 _0808C7DC: .4byte CB2_ReturnToField @@ -2651,7 +2651,7 @@ sub_808CD98: @ 808CD98 bl ProcessSpriteCopyRequests bl sub_8096BF8 bl TransferPlttBuffer - ldr r0, _0808CDC0 @ =gUnknown_20397B0 + ldr r0, _0808CDC0 @ =sPSSData ldr r0, [r0] movs r1, 0xB3 lsls r1, 2 @@ -2662,7 +2662,7 @@ sub_808CD98: @ 808CD98 pop {r0} bx r0 .align 2, 0 -_0808CDC0: .4byte gUnknown_20397B0 +_0808CDC0: .4byte sPSSData thumb_func_end sub_808CD98 thumb_func_start c2_Box @@ -2684,9 +2684,9 @@ sub_808CDE4: @ 808CDE4 lsls r0, 24 lsrs r5, r0, 24 bl ResetTasks - ldr r0, _0808CE08 @ =gUnknown_20397B5 + ldr r0, _0808CE08 @ =sCurrentBoxOption strb r5, [r0] - ldr r4, _0808CE0C @ =gUnknown_20397B0 + ldr r4, _0808CE0C @ =sPSSData ldr r0, _0808CE10 @ =0x000062bc bl Alloc str r0, [r4] @@ -2696,8 +2696,8 @@ sub_808CDE4: @ 808CDE4 bl SetMainCallback2 b _0808CE4A .align 2, 0 -_0808CE08: .4byte gUnknown_20397B5 -_0808CE0C: .4byte gUnknown_20397B0 +_0808CE08: .4byte sCurrentBoxOption +_0808CE0C: .4byte sPSSData _0808CE10: .4byte 0x000062bc _0808CE14: .4byte sub_808C7B4 _0808CE18: @@ -2715,10 +2715,10 @@ _0808CE18: bl CreateTask ldr r1, [r4] strb r0, [r1, 0x4] - movs r0, 0x1C - bl HelpSystem_SetSomeVariable2 + movs r0, 0x1C @ HELPCONTEXT_BILLS_PC + bl SetHelpContext bl StorageGetCurrentBox - ldr r1, _0808CE58 @ =gUnknown_20397B8 + ldr r1, _0808CE58 @ =sLastUsedBox strb r0, [r1] ldr r0, _0808CE5C @ =c2_Box bl SetMainCallback2 @@ -2729,7 +2729,7 @@ _0808CE4A: .align 2, 0 _0808CE50: .4byte gUnknown_20397BA _0808CE54: .4byte task_box_related_3 -_0808CE58: .4byte gUnknown_20397B8 +_0808CE58: .4byte sLastUsedBox _0808CE5C: .4byte c2_Box thumb_func_end sub_808CDE4 @@ -2737,7 +2737,7 @@ _0808CE5C: .4byte c2_Box sub_808CE60: @ 808CE60 push {r4,lr} bl ResetTasks - ldr r4, _0808CE80 @ =gUnknown_20397B0 + ldr r4, _0808CE80 @ =sPSSData ldr r0, _0808CE84 @ =0x000062bc bl Alloc adds r1, r0, 0 @@ -2748,11 +2748,11 @@ sub_808CE60: @ 808CE60 bl SetMainCallback2 b _0808CEB6 .align 2, 0 -_0808CE80: .4byte gUnknown_20397B0 +_0808CE80: .4byte sPSSData _0808CE84: .4byte 0x000062bc _0808CE88: .4byte sub_808C7B4 _0808CE8C: - ldr r0, _0808CEBC @ =gUnknown_20397B5 + ldr r0, _0808CEBC @ =sCurrentBoxOption ldrb r0, [r0] movs r2, 0 strb r0, [r1, 0x1] @@ -2766,8 +2766,8 @@ _0808CE8C: bl CreateTask ldr r1, [r4] strb r0, [r1, 0x4] - movs r0, 0x1C - bl HelpSystem_SetSomeVariable2 + movs r0, 0x1C @ HELPCONTEXT_BILLS_PC + bl SetHelpContext ldr r0, _0808CEC4 @ =c2_Box bl SetMainCallback2 _0808CEB6: @@ -2775,7 +2775,7 @@ _0808CEB6: pop {r0} bx r0 .align 2, 0 -_0808CEBC: .4byte gUnknown_20397B5 +_0808CEBC: .4byte sCurrentBoxOption _0808CEC0: .4byte task_box_related_3 _0808CEC4: .4byte c2_Box thumb_func_end sub_808CE60 @@ -2825,7 +2825,7 @@ sub_808CF10: @ 808CF10 lsls r2, 2 adds r0, r2, 0 strh r0, [r1] - ldr r4, _0808CF84 @ =gUnknown_20397B0 + ldr r4, _0808CF84 @ =sPSSData ldr r1, [r4] adds r0, r1, 0 adds r0, 0x8 @@ -2860,7 +2860,7 @@ sub_808CF10: @ 808CF10 bx r0 .align 2, 0 _0808CF80: .4byte gReservedSpriteTileCount -_0808CF84: .4byte gUnknown_20397B0 +_0808CF84: .4byte sPSSData _0808CF88: .4byte gKeyRepeatStartDelay _0808CF8C: .4byte gUnknown_83CE6F8 _0808CF90: .4byte 0x000002c7 @@ -2870,9 +2870,9 @@ _0808CF90: .4byte 0x000002c7 sub_808CF94: @ 808CF94 push {lr} bl sub_8092B50 - ldr r2, _0808CFB8 @ =gUnknown_20397B4 + ldr r2, _0808CFB8 @ =sInPartyMenu movs r1, 0 - ldr r0, _0808CFBC @ =gUnknown_20397B0 + ldr r0, _0808CFBC @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -2886,15 +2886,15 @@ _0808CFAA: pop {r0} bx r0 .align 2, 0 -_0808CFB8: .4byte gUnknown_20397B4 -_0808CFBC: .4byte gUnknown_20397B0 +_0808CFB8: .4byte sInPartyMenu +_0808CFBC: .4byte sPSSData _0808CFC0: .4byte gUnknown_20397B6 thumb_func_end sub_808CF94 thumb_func_start sub_808CFC4 sub_808CFC4: @ 808CFC4 push {lr} - ldr r0, _0808CFF0 @ =gUnknown_20397B0 + ldr r0, _0808CFF0 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -2914,7 +2914,7 @@ _0808CFE2: pop {r0} bx r0 .align 2, 0 -_0808CFF0: .4byte gUnknown_20397B0 +_0808CFF0: .4byte sPSSData _0808CFF4: .4byte 0x00000b07 thumb_func_end sub_808CFC4 @@ -2922,7 +2922,7 @@ _0808CFF4: .4byte 0x00000b07 add_to_c3_somehow: @ 808CFF8 push {r4,lr} ldr r4, _0808D018 @ =gTasks - ldr r1, _0808D01C @ =gUnknown_20397B0 + ldr r1, _0808D01C @ =sPSSData ldr r3, [r1] ldrb r2, [r3, 0x4] lsls r1, r2, 2 @@ -2937,14 +2937,14 @@ add_to_c3_somehow: @ 808CFF8 bx r0 .align 2, 0 _0808D018: .4byte gTasks -_0808D01C: .4byte gUnknown_20397B0 +_0808D01C: .4byte sPSSData thumb_func_end add_to_c3_somehow thumb_func_start task_box_related_3 task_box_related_3: @ 808D020 push {lr} sub sp, 0x4 - ldr r0, _0808D03C @ =gUnknown_20397B0 + ldr r0, _0808D03C @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xA @@ -2957,7 +2957,7 @@ _0808D030: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808D03C: .4byte gUnknown_20397B0 +_0808D03C: .4byte sPSSData _0808D040: .4byte _0808D044 .align 2, 0 _0808D044: @@ -2979,12 +2979,12 @@ _0808D070: movs r1, 0 bl SetGpuReg bl sub_808CF10 - ldr r0, _0808D0A0 @ =gUnknown_20397B0 + ldr r0, _0808D0A0 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 beq _0808D0BE - ldr r0, _0808D0A4 @ =gUnknown_20397B7 + ldr r0, _0808D0A4 @ =sWhichToReshow ldrb r0, [r0] cmp r0, 0x1 beq _0808D0AE @@ -2994,8 +2994,8 @@ _0808D070: beq _0808D0B4 b _0808D0BE .align 2, 0 -_0808D0A0: .4byte gUnknown_20397B0 -_0808D0A4: .4byte gUnknown_20397B7 +_0808D0A0: .4byte sPSSData +_0808D0A4: .4byte sWhichToReshow _0808D0A8: cmp r0, 0x2 beq _0808D0BA @@ -3041,7 +3041,7 @@ _0808D0D6: _0808D100: .4byte 0x05000080 _0808D104: bl sub_808CEC8 - ldr r0, _0808D11C @ =gUnknown_20397B0 + ldr r0, _0808D11C @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 @@ -3051,10 +3051,10 @@ _0808D114: bl sub_808CF94 b _0808D20C .align 2, 0 -_0808D11C: .4byte gUnknown_20397B0 +_0808D11C: .4byte sPSSData _0808D120: bl sub_808FFAC - ldr r0, _0808D134 @ =gUnknown_20397B0 + ldr r0, _0808D134 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 @@ -3062,7 +3062,7 @@ _0808D120: bl sub_80922C0 b _0808D20C .align 2, 0 -_0808D134: .4byte gUnknown_20397B0 +_0808D134: .4byte sPSSData _0808D138: bl sub_8092340 b _0808D20C @@ -3098,7 +3098,7 @@ _0808D178: lsls r0, 24 cmp r0, 0 bne _0808D216 - ldr r0, _0808D1A8 @ =gUnknown_20397B0 + ldr r0, _0808D1A8 @ =sPSSData ldr r2, [r0] ldrb r0, [r2, 0x1] cmp r0, 0x3 @@ -3116,7 +3116,7 @@ _0808D178: bl LoadMonMarkingsFrameGfx b _0808D20C .align 2, 0 -_0808D1A8: .4byte gUnknown_20397B0 +_0808D1A8: .4byte sPSSData _0808D1AC: .4byte 0x00000da2 _0808D1B0: .4byte 0x0000dace _0808D1B4: @@ -3125,7 +3125,7 @@ _0808D1B4: b _0808D20C _0808D1BE: bl sub_808CFC4 - ldr r0, _0808D1E0 @ =gUnknown_20397B0 + ldr r0, _0808D1E0 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 @@ -3139,7 +3139,7 @@ _0808D1BE: bl add_to_c3_somehow b _0808D1FA .align 2, 0 -_0808D1E0: .4byte gUnknown_20397B0 +_0808D1E0: .4byte sPSSData _0808D1E4: .4byte sub_808D220 _0808D1E8: movs r0, 0x1 @@ -3157,7 +3157,7 @@ _0808D1FA: _0808D204: .4byte sub_808D26C _0808D208: .4byte sub_808CD98 _0808D20C: - ldr r0, _0808D21C @ =gUnknown_20397B0 + ldr r0, _0808D21C @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -3167,13 +3167,13 @@ _0808D216: pop {r0} bx r0 .align 2, 0 -_0808D21C: .4byte gUnknown_20397B0 +_0808D21C: .4byte sPSSData thumb_func_end task_box_related_3 thumb_func_start sub_808D220 sub_808D220: @ 808D220 push {r4,lr} - ldr r4, _0808D234 @ =gUnknown_20397B0 + ldr r4, _0808D234 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -3182,7 +3182,7 @@ sub_808D220: @ 808D220 beq _0808D252 b _0808D262 .align 2, 0 -_0808D234: .4byte gUnknown_20397B0 +_0808D234: .4byte sPSSData _0808D238: movs r0, 0x2 bl PlaySE @@ -3214,7 +3214,7 @@ _0808D268: .4byte sub_808D2BC sub_808D26C: @ 808D26C push {r4,lr} sub sp, 0x4 - ldr r4, _0808D280 @ =gUnknown_20397B0 + ldr r4, _0808D280 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -3223,7 +3223,7 @@ sub_808D26C: @ 808D26C beq _0808D29E b _0808D2AE .align 2, 0 -_0808D280: .4byte gUnknown_20397B0 +_0808D280: .4byte sPSSData _0808D284: movs r1, 0x1 negs r1, r1 @@ -3256,7 +3256,7 @@ _0808D2B8: .4byte sub_808D2BC thumb_func_start sub_808D2BC sub_808D2BC: @ 808D2BC push {r4,r5,lr} - ldr r0, _0808D2D4 @ =gUnknown_20397B0 + ldr r0, _0808D2D4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xB @@ -3269,7 +3269,7 @@ _0808D2CA: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808D2D4: .4byte gUnknown_20397B0 +_0808D2D4: .4byte sPSSData _0808D2D8: .4byte _0808D2DC .align 2, 0 _0808D2DC: @@ -3332,15 +3332,15 @@ _0808D32C: _0808D394: movs r0, 0x5 bl PlaySE - ldr r0, _0808D3A4 @ =gUnknown_20397B0 + ldr r0, _0808D3A4 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D3A4: .4byte gUnknown_20397B0 +_0808D3A4: .4byte sPSSData _0808D3A8: - ldr r4, _0808D3C8 @ =gUnknown_20397B0 + ldr r4, _0808D3C8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0, 0x1] subs r0, 0x2 @@ -3355,7 +3355,7 @@ _0808D3A8: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D3C8: .4byte gUnknown_20397B0 +_0808D3C8: .4byte sPSSData _0808D3CC: bl sub_8092B50 ldr r0, _0808D3D8 @ =sub_808D7BC @@ -3364,7 +3364,7 @@ _0808D3CC: .align 2, 0 _0808D3D8: .4byte sub_808D7BC _0808D3DC: - ldr r4, _0808D408 @ =gUnknown_20397B0 + ldr r4, _0808D408 @ =sPSSData ldr r0, [r4] ldrb r0, [r0, 0x1] cmp r0, 0x2 @@ -3385,7 +3385,7 @@ _0808D3DC: _0808D404: b _0808D416 .align 2, 0 -_0808D408: .4byte gUnknown_20397B0 +_0808D408: .4byte sPSSData _0808D40C: .4byte 0x00000ce2 _0808D410: cmp r0, 0x3 @@ -3427,7 +3427,7 @@ _0808D45C: movs r0, 0x5 bl PlaySE bl StorageGetCurrentBox - ldr r4, _0808D48C @ =gUnknown_20397B0 + ldr r4, _0808D48C @ =sPSSData ldr r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -3447,13 +3447,13 @@ _0808D47E: adds r0, r1, r2 b _0808D78A .align 2, 0 -_0808D48C: .4byte gUnknown_20397B0 +_0808D48C: .4byte sPSSData _0808D490: .4byte 0x000002ca _0808D494: movs r0, 0x5 bl PlaySE bl StorageGetCurrentBox - ldr r4, _0808D4C4 @ =gUnknown_20397B0 + ldr r4, _0808D4C4 @ =sPSSData ldr r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -3473,7 +3473,7 @@ _0808D4B6: adds r0, r1, r2 b _0808D78A .align 2, 0 -_0808D4C4: .4byte gUnknown_20397B0 +_0808D4C4: .4byte sPSSData _0808D4C8: .4byte 0x000002ca _0808D4CC: bl sub_8094D60 @@ -3486,7 +3486,7 @@ _0808D4D8: lsls r0, 24 cmp r0, 0 bne _0808D538 - ldr r4, _0808D500 @ =gUnknown_20397B0 + ldr r4, _0808D500 @ =sPSSData ldr r0, [r4] ldr r1, _0808D504 @ =0x00000ce2 adds r0, r1 @@ -3501,7 +3501,7 @@ _0808D4F6: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D500: .4byte gUnknown_20397B0 +_0808D500: .4byte sPSSData _0808D504: .4byte 0x00000ce2 _0808D508: movs r0, 0x5 @@ -3525,13 +3525,13 @@ _0808D52E: cmp r0, 0 bne _0808D548 _0808D538: - ldr r0, _0808D544 @ =gUnknown_20397B0 + ldr r0, _0808D544 @ =sPSSData ldr r1, [r0] movs r0, 0x4 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D544: .4byte gUnknown_20397B0 +_0808D544: .4byte sPSSData _0808D548: movs r0, 0x5 bl PlaySE @@ -3588,13 +3588,13 @@ _0808D5C0: _0808D5CA: movs r0, 0x1 bl sub_80950BC - ldr r0, _0808D5DC @ =gUnknown_20397B0 + ldr r0, _0808D5DC @ =sPSSData ldr r1, [r0] movs r0, 0x8 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D5DC: .4byte gUnknown_20397B0 +_0808D5DC: .4byte sPSSData _0808D5E0: movs r0, 0x5 bl PlaySE @@ -3609,13 +3609,13 @@ _0808D5EE: movs r0, 0x4 _0808D5F6: bl sub_80950BC - ldr r0, _0808D604 @ =gUnknown_20397B0 + ldr r0, _0808D604 @ =sPSSData ldr r1, [r0] movs r0, 0x9 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D604: .4byte gUnknown_20397B0 +_0808D604: .4byte sPSSData _0808D608: movs r0, 0x5 bl PlaySE @@ -3624,13 +3624,13 @@ _0808D608: movs r0, 0x5 _0808D616: bl sub_80950BC - ldr r0, _0808D624 @ =gUnknown_20397B0 + ldr r0, _0808D624 @ =sPSSData ldr r1, [r0] movs r0, 0x7 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D624: .4byte gUnknown_20397B0 +_0808D624: .4byte sPSSData _0808D628: movs r0, 0x1A bl PlaySE @@ -3651,7 +3651,7 @@ _0808D63C: _0808D64C: bl sub_808F974 _0808D650: - ldr r4, _0808D668 @ =gUnknown_20397B0 + ldr r4, _0808D668 @ =sPSSData ldr r0, [r4] ldr r1, _0808D66C @ =0x00000ce6 adds r0, r1 @@ -3663,7 +3663,7 @@ _0808D662: ldr r1, [r4] b _0808D6DC .align 2, 0 -_0808D668: .4byte gUnknown_20397B0 +_0808D668: .4byte sPSSData _0808D66C: .4byte 0x00000ce6 _0808D670: bl sub_80915FC @@ -3672,13 +3672,13 @@ _0808D670: beq _0808D67C b _0808D7B2 _0808D67C: - ldr r0, _0808D6BC @ =gUnknown_20397B0 + ldr r0, _0808D6BC @ =sPSSData ldr r0, [r0] ldr r1, _0808D6C0 @ =0x000002ca adds r0, r1 ldrb r0, [r0] bl sub_808BA00 - ldr r0, _0808D6C4 @ =gUnknown_20397B4 + ldr r0, _0808D6C4 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 bne _0808D6A4 @@ -3689,7 +3689,7 @@ _0808D67C: bl sub_8092F54 bl BoxSetMosaic _0808D6A4: - ldr r4, _0808D6BC @ =gUnknown_20397B0 + ldr r4, _0808D6BC @ =sPSSData ldr r1, [r4] ldrb r0, [r1, 0x1] cmp r0, 0x3 @@ -3700,9 +3700,9 @@ _0808D6A4: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D6BC: .4byte gUnknown_20397B0 +_0808D6BC: .4byte sPSSData _0808D6C0: .4byte 0x000002ca -_0808D6C4: .4byte gUnknown_20397B4 +_0808D6C4: .4byte sInPartyMenu _0808D6C8: ldr r0, _0808D6E4 @ =gMain ldrh r1, [r0, 0x2E] @@ -3711,7 +3711,7 @@ _0808D6C8: cmp r0, 0 beq _0808D7B2 bl sub_808FD20 - ldr r0, _0808D6E8 @ =gUnknown_20397B0 + ldr r0, _0808D6E8 @ =sPSSData ldr r1, [r0] _0808D6DC: movs r0, 0 @@ -3719,7 +3719,7 @@ _0808D6DC: b _0808D7B2 .align 2, 0 _0808D6E4: .4byte gMain -_0808D6E8: .4byte gUnknown_20397B0 +_0808D6E8: .4byte sPSSData _0808D6EC: movs r0, 0x1A bl PlaySE @@ -3731,13 +3731,13 @@ _0808D6F6: movs r0, 0x16 _0808D6FE: bl sub_808FBA4 - ldr r0, _0808D70C @ =gUnknown_20397B0 + ldr r0, _0808D70C @ =sPSSData ldr r1, [r0] movs r0, 0x6 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D70C: .4byte gUnknown_20397B0 +_0808D70C: .4byte sPSSData _0808D710: ldr r0, _0808D728 @ =gMain ldrh r1, [r0, 0x2E] @@ -3772,7 +3772,7 @@ _0808D74C: lsrs r4, r0, 24 cmp r4, 0 bne _0808D7B2 - ldr r5, _0808D770 @ =gUnknown_20397B0 + ldr r5, _0808D770 @ =sPSSData ldr r0, [r5] ldr r1, _0808D774 @ =0x00000ce6 adds r0, r1 @@ -3785,14 +3785,14 @@ _0808D76A: strb r4, [r0] b _0808D7B2 .align 2, 0 -_0808D770: .4byte gUnknown_20397B0 +_0808D770: .4byte sPSSData _0808D774: .4byte 0x00000ce6 _0808D778: bl sub_809610C lsls r0, 24 cmp r0, 0 bne _0808D7B2 - ldr r4, _0808D798 @ =gUnknown_20397B0 + ldr r4, _0808D798 @ =sPSSData ldr r0, [r4] ldr r1, _0808D79C @ =0x000002ca adds r0, r1 @@ -3804,7 +3804,7 @@ _0808D78A: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D798: .4byte gUnknown_20397B0 +_0808D798: .4byte sPSSData _0808D79C: .4byte 0x000002ca _0808D7A0: bl sub_809610C @@ -3813,7 +3813,7 @@ _0808D7A4: lsrs r1, r0, 24 cmp r1, 0 bne _0808D7B2 - ldr r0, _0808D7B8 @ =gUnknown_20397B0 + ldr r0, _0808D7B8 @ =sPSSData ldr r0, [r0] strb r1, [r0] _0808D7B2: @@ -3821,13 +3821,13 @@ _0808D7B2: pop {r0} bx r0 .align 2, 0 -_0808D7B8: .4byte gUnknown_20397B0 +_0808D7B8: .4byte sPSSData thumb_func_end sub_808D2BC thumb_func_start sub_808D7BC sub_808D7BC: @ 808D7BC push {r4,lr} - ldr r4, _0808D7D0 @ =gUnknown_20397B0 + ldr r4, _0808D7D0 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -3836,7 +3836,7 @@ sub_808D7BC: @ 808D7BC beq _0808D7E2 b _0808D7F2 .align 2, 0 -_0808D7D0: .4byte gUnknown_20397B0 +_0808D7D0: .4byte sPSSData _0808D7D4: bl sub_808FAD4 ldr r1, [r4] @@ -3862,7 +3862,7 @@ _0808D7F8: .4byte sub_808D2BC thumb_func_start sub_808D7FC sub_808D7FC: @ 808D7FC push {r4,lr} - ldr r4, _0808D814 @ =gUnknown_20397B0 + ldr r4, _0808D814 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0x1 @@ -3873,7 +3873,7 @@ sub_808D7FC: @ 808D7FC beq _0808D81E b _0808D86A .align 2, 0 -_0808D814: .4byte gUnknown_20397B0 +_0808D814: .4byte sPSSData _0808D818: cmp r0, 0x2 beq _0808D84A @@ -3925,7 +3925,7 @@ _0808D874: .4byte sub_808D2BC thumb_func_start sub_808D878 sub_808D878: @ 808D878 push {r4,lr} - ldr r0, _0808D890 @ =gUnknown_20397B0 + ldr r0, _0808D890 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x6 @@ -3938,7 +3938,7 @@ _0808D886: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808D890: .4byte gUnknown_20397B0 +_0808D890: .4byte sPSSData _0808D894: .4byte _0808D898 .align 2, 0 _0808D898: @@ -3958,7 +3958,7 @@ _0808D8B4: _0808D8C0: movs r0, 0x5 bl PlaySE - ldr r4, _0808D8D8 @ =gUnknown_20397B0 + ldr r4, _0808D8D8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -3967,7 +3967,7 @@ _0808D8C0: bl sub_808FBA4 b _0808D906 .align 2, 0 -_0808D8D8: .4byte gUnknown_20397B0 +_0808D8D8: .4byte sPSSData _0808D8DC: bl sub_809616C lsls r0, 24 @@ -3990,13 +3990,13 @@ _0808D900: bl sub_808FBA4 _0808D906: bl sub_8094E88 - ldr r0, _0808D914 @ =gUnknown_20397B0 + ldr r0, _0808D914 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808D914: .4byte gUnknown_20397B0 +_0808D914: .4byte sPSSData _0808D918: bl sub_8094F90 lsls r0, 24 @@ -4004,13 +4004,13 @@ _0808D918: beq _0808D924 b _0808DB86 _0808D924: - ldr r0, _0808D930 @ =gUnknown_20397B0 + ldr r0, _0808D930 @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808D930: .4byte gUnknown_20397B0 +_0808D930: .4byte sPSSData _0808D934: bl sub_8094F94 adds r0, 0x1 @@ -4104,7 +4104,7 @@ _0808DA20: lsls r0, 24 cmp r0, 0 bne _0808DA66 - ldr r4, _0808DA50 @ =gUnknown_20397B0 + ldr r4, _0808DA50 @ =sPSSData ldr r0, [r4] ldr r2, _0808DA54 @ =0x00000ce2 adds r0, r2 @@ -4120,7 +4120,7 @@ _0808DA20: bl add_to_c3_somehow b _0808DB86 .align 2, 0 -_0808DA50: .4byte gUnknown_20397B0 +_0808DA50: .4byte sPSSData _0808DA54: .4byte 0x00000ce2 _0808DA58: .4byte sub_808DD88 _0808DA5C: @@ -4129,15 +4129,15 @@ _0808DA5C: cmp r0, 0 beq _0808DA74 _0808DA66: - ldr r0, _0808DA70 @ =gUnknown_20397B0 + ldr r0, _0808DA70 @ =sPSSData ldr r1, [r0] movs r0, 0x3 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808DA70: .4byte gUnknown_20397B0 +_0808DA70: .4byte sPSSData _0808DA74: - ldr r4, _0808DA88 @ =gUnknown_20397B0 + ldr r4, _0808DA88 @ =sPSSData ldr r1, [r4] ldr r2, _0808DA8C @ =0x00000ce9 adds r0, r1, r2 @@ -4148,7 +4148,7 @@ _0808DA74: strb r0, [r1] b _0808DB86 .align 2, 0 -_0808DA88: .4byte gUnknown_20397B0 +_0808DA88: .4byte sPSSData _0808DA8C: .4byte 0x00000ce9 _0808DA90: ldr r2, _0808DAA8 @ =0x00000ce2 @@ -4245,13 +4245,13 @@ _0808DB54: movs r0, 0x16 _0808DB5C: bl sub_808FBA4 - ldr r0, _0808DB6C @ =gUnknown_20397B0 + ldr r0, _0808DB6C @ =sPSSData ldr r1, [r0] movs r0, 0x6 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808DB6C: .4byte gUnknown_20397B0 +_0808DB6C: .4byte sPSSData _0808DB70: ldr r0, _0808DB8C @ =gMain ldrh r1, [r0, 0x2E] @@ -4274,7 +4274,7 @@ _0808DB90: .4byte sub_808D2BC thumb_func_start sub_808DB94 sub_808DB94: @ 808DB94 push {r4,lr} - ldr r4, _0808DBA8 @ =gUnknown_20397B0 + ldr r4, _0808DBA8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4283,7 +4283,7 @@ sub_808DB94: @ 808DB94 beq _0808DBBC b _0808DBE6 .align 2, 0 -_0808DBA8: .4byte gUnknown_20397B0 +_0808DBA8: .4byte sPSSData _0808DBAC: movs r0, 0 bl sub_8092B7C @@ -4297,7 +4297,7 @@ _0808DBBC: lsls r0, 24 cmp r0, 0 bne _0808DBE6 - ldr r0, _0808DBD8 @ =gUnknown_20397B4 + ldr r0, _0808DBD8 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808DBE0 @@ -4305,7 +4305,7 @@ _0808DBBC: bl add_to_c3_somehow b _0808DBE6 .align 2, 0 -_0808DBD8: .4byte gUnknown_20397B4 +_0808DBD8: .4byte sInPartyMenu _0808DBDC: .4byte sub_808E688 _0808DBE0: ldr r0, _0808DBEC @ =sub_808D2BC @@ -4321,7 +4321,7 @@ _0808DBEC: .4byte sub_808D2BC thumb_func_start sub_808DBF0 sub_808DBF0: @ 808DBF0 push {r4,lr} - ldr r4, _0808DC04 @ =gUnknown_20397B0 + ldr r4, _0808DC04 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4330,7 +4330,7 @@ sub_808DBF0: @ 808DBF0 beq _0808DC1E b _0808DC46 .align 2, 0 -_0808DC04: .4byte gUnknown_20397B0 +_0808DC04: .4byte sPSSData _0808DC08: movs r0, 0x1 bl sub_808FE54 @@ -4346,7 +4346,7 @@ _0808DC1E: lsls r0, 24 cmp r0, 0 bne _0808DC46 - ldr r0, _0808DC38 @ =gUnknown_20397B4 + ldr r0, _0808DC38 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808DC40 @@ -4354,7 +4354,7 @@ _0808DC1E: bl add_to_c3_somehow b _0808DC46 .align 2, 0 -_0808DC38: .4byte gUnknown_20397B4 +_0808DC38: .4byte sInPartyMenu _0808DC3C: .4byte sub_808E688 _0808DC40: ldr r0, _0808DC4C @ =sub_808D2BC @@ -4370,7 +4370,7 @@ _0808DC4C: .4byte sub_808D2BC thumb_func_start sub_808DC50 sub_808DC50: @ 808DC50 push {r4,lr} - ldr r4, _0808DC64 @ =gUnknown_20397B0 + ldr r4, _0808DC64 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4379,7 +4379,7 @@ sub_808DC50: @ 808DC50 beq _0808DC7E b _0808DC92 .align 2, 0 -_0808DC64: .4byte gUnknown_20397B0 +_0808DC64: .4byte sPSSData _0808DC68: movs r0, 0 bl sub_808FE54 @@ -4409,7 +4409,7 @@ _0808DC98: .4byte sub_808D2BC thumb_func_start sub_808DC9C sub_808DC9C: @ 808DC9C push {lr} - ldr r0, _0808DCB4 @ =gUnknown_20397B0 + ldr r0, _0808DCB4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x5 @@ -4420,7 +4420,7 @@ sub_808DC9C: @ 808DC9C ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808DCB4: .4byte gUnknown_20397B0 +_0808DCB4: .4byte sPSSData _0808DCB8: .4byte _0808DCBC .align 2, 0 _0808DCBC: @@ -4438,24 +4438,24 @@ _0808DCD4: bne _0808DCF4 movs r0, 0xE bl sub_808FBA4 - ldr r0, _0808DCF0 @ =gUnknown_20397B0 + ldr r0, _0808DCF0 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808DD7E .align 2, 0 -_0808DCF0: .4byte gUnknown_20397B0 +_0808DCF0: .4byte sPSSData _0808DCF4: bl sub_8092B5C movs r0, 0 bl sub_8092B7C - ldr r0, _0808DD08 @ =gUnknown_20397B0 + ldr r0, _0808DD08 @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808DD7E .align 2, 0 -_0808DD08: .4byte gUnknown_20397B0 +_0808DD08: .4byte sPSSData _0808DD0C: ldr r0, _0808DD24 @ =gMain ldrh r1, [r0, 0x2E] @@ -4496,14 +4496,14 @@ _0808DD5A: bne _0808DD7E bl sub_808FAA8 _0808DD68: - ldr r0, _0808DD74 @ =gUnknown_20397B0 + ldr r0, _0808DD74 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808DD7E .align 2, 0 -_0808DD74: .4byte gUnknown_20397B0 +_0808DD74: .4byte sPSSData _0808DD78: ldr r0, _0808DD84 @ =sub_808D7FC bl add_to_c3_somehow @@ -4518,7 +4518,7 @@ _0808DD84: .4byte sub_808D7FC sub_808DD88: @ 808DD88 push {r4,lr} sub sp, 0x4 - ldr r0, _0808DDA4 @ =gUnknown_20397B0 + ldr r0, _0808DDA4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -4531,7 +4531,7 @@ _0808DD98: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808DDA4: .4byte gUnknown_20397B0 +_0808DDA4: .4byte sPSSData _0808DDA8: .4byte _0808DDAC .align 2, 0 _0808DDAC: @@ -4543,7 +4543,7 @@ _0808DDAC: _0808DDC0: movs r0, 0x6 bl sub_808FBA4 - ldr r4, _0808DDEC @ =gUnknown_20397B0 + ldr r4, _0808DDEC @ =sPSSData ldr r0, [r4] ldr r1, _0808DDF0 @ =0x00001e58 adds r0, r1 @@ -4561,7 +4561,7 @@ _0808DDC0: adds r0, 0x1 b _0808DEB8 .align 2, 0 -_0808DDEC: .4byte gUnknown_20397B0 +_0808DDEC: .4byte sPSSData _0808DDF0: .4byte 0x00001e58 _0808DDF4: .4byte 0x0000dac7 _0808DDF8: .4byte gUnknown_20397B6 @@ -4591,32 +4591,32 @@ _0808DE1C: bl sub_808FD20 bl sub_808C950 bl sub_808C8FC - ldr r0, _0808DE4C @ =gUnknown_20397B0 + ldr r0, _0808DE4C @ =sPSSData ldr r1, [r0] movs r0, 0x2 b _0808DEB8 .align 2, 0 _0808DE48: .4byte gUnknown_20397B6 -_0808DE4C: .4byte gUnknown_20397B0 +_0808DE4C: .4byte sPSSData _0808DE50: movs r0, 0x8 bl sub_808FBA4 - ldr r0, _0808DE60 @ =gUnknown_20397B0 + ldr r0, _0808DE60 @ =sPSSData ldr r1, [r0] movs r0, 0x4 b _0808DEB8 .align 2, 0 -_0808DE60: .4byte gUnknown_20397B0 +_0808DE60: .4byte sPSSData _0808DE64: bl CompactPartySlots bl sub_80909F4 - ldr r0, _0808DE78 @ =gUnknown_20397B0 + ldr r0, _0808DE78 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 b _0808DEB8 .align 2, 0 -_0808DE78: .4byte gUnknown_20397B0 +_0808DE78: .4byte sPSSData _0808DE7C: bl sub_8090A60 lsls r0, 24 @@ -4640,7 +4640,7 @@ _0808DEA0: beq _0808DEBA movs r0, 0x6 bl sub_808FBA4 - ldr r0, _0808DEC8 @ =gUnknown_20397B0 + ldr r0, _0808DEC8 @ =sPSSData ldr r1, [r0] movs r0, 0x1 _0808DEB8: @@ -4652,13 +4652,13 @@ _0808DEBA: bx r0 .align 2, 0 _0808DEC4: .4byte gMain -_0808DEC8: .4byte gUnknown_20397B0 +_0808DEC8: .4byte sPSSData thumb_func_end sub_808DD88 thumb_func_start sub_808DECC sub_808DECC: @ 808DECC push {lr} - ldr r0, _0808DEE4 @ =gUnknown_20397B0 + ldr r0, _0808DEE4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xD @@ -4671,7 +4671,7 @@ _0808DEDA: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808DEE4: .4byte gUnknown_20397B0 +_0808DEE4: .4byte sPSSData _0808DEE8: .4byte _0808DEEC .align 2, 0 _0808DEEC: @@ -4694,7 +4694,7 @@ _0808DF24: bl sub_808FBA4 movs r0, 0x1 bl sub_808FCE8 - ldr r0, _0808DF54 @ =gUnknown_20397B0 + ldr r0, _0808DF54 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -4713,7 +4713,7 @@ _0808DF3A: beq _0808DF5E b _0808E0AE .align 2, 0 -_0808DF54: .4byte gUnknown_20397B0 +_0808DF54: .4byte sPSSData _0808DF58: cmp r1, 0x1 beq _0808DF5E @@ -4772,7 +4772,7 @@ _0808DFBC: cmp r0, 0 beq _0808E0AE bl sub_808FD20 - ldr r0, _0808DFE4 @ =gUnknown_20397B4 + ldr r0, _0808DFE4 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808DFE8 @@ -4781,15 +4781,15 @@ _0808DFBC: b _0808E074 .align 2, 0 _0808DFE0: .4byte gMain -_0808DFE4: .4byte gUnknown_20397B4 +_0808DFE4: .4byte sInPartyMenu _0808DFE8: - ldr r0, _0808DFF4 @ =gUnknown_20397B0 + ldr r0, _0808DFF4 @ =sPSSData ldr r1, [r0] movs r0, 0x7 strb r0, [r1] b _0808E0AE .align 2, 0 -_0808DFF4: .4byte gUnknown_20397B0 +_0808DFF4: .4byte sPSSData _0808DFF8: bl sub_8090A60 lsls r0, 24 @@ -4850,7 +4850,7 @@ _0808E062: _0808E070: bl sub_808FBA4 _0808E074: - ldr r0, _0808E084 @ =gUnknown_20397B0 + ldr r0, _0808E084 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -4858,15 +4858,15 @@ _0808E074: b _0808E0AE .align 2, 0 _0808E080: .4byte gMain -_0808E084: .4byte gUnknown_20397B0 +_0808E084: .4byte sPSSData _0808E088: - ldr r0, _0808E094 @ =gUnknown_20397B0 + ldr r0, _0808E094 @ =sPSSData ldr r1, [r0] movs r0, 0x8 strb r0, [r1] b _0808E0AE .align 2, 0 -_0808E094: .4byte gUnknown_20397B0 +_0808E094: .4byte sPSSData _0808E098: ldr r0, _0808E0B4 @ =gMain ldrh r1, [r0, 0x2E] @@ -4888,7 +4888,7 @@ _0808E0B8: .4byte sub_808D2BC thumb_func_start sub_808E0BC sub_808E0BC: @ 808E0BC push {r4,lr} - ldr r4, _0808E0D0 @ =gUnknown_20397B0 + ldr r4, _0808E0D0 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4897,7 +4897,7 @@ sub_808E0BC: @ 808E0BC beq _0808E108 b _0808E130 .align 2, 0 -_0808E0D0: .4byte gUnknown_20397B0 +_0808E0D0: .4byte sPSSData _0808E0D4: movs r0, 0xC bl sub_808FBA4 @@ -4949,7 +4949,7 @@ _0808E13C: .4byte sub_808D2BC thumb_func_start sub_808E140 sub_808E140: @ 808E140 push {r4,r5,lr} - ldr r5, _0808E158 @ =gUnknown_20397B0 + ldr r5, _0808E158 @ =sPSSData ldr r0, [r5] ldrb r1, [r0] cmp r1, 0x1 @@ -4960,7 +4960,7 @@ sub_808E140: @ 808E140 beq _0808E166 b _0808E1EA .align 2, 0 -_0808E158: .4byte gUnknown_20397B0 +_0808E158: .4byte sPSSData _0808E15C: cmp r1, 0x2 beq _0808E1B4 @@ -4988,7 +4988,7 @@ _0808E188: .4byte sub_808E6D0 _0808E18C: movs r0, 0x2 bl sub_8094D14 - ldr r0, _0808E1B0 @ =gUnknown_20397B4 + ldr r0, _0808E1B0 @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5001,7 +5001,7 @@ _0808E18C: bl sub_8095D84 b _0808E1D0 .align 2, 0 -_0808E1B0: .4byte gUnknown_20397B4 +_0808E1B0: .4byte sInPartyMenu _0808E1B4: bl sub_809610C lsls r0, 24 @@ -5036,7 +5036,7 @@ _0808E1F0: .4byte sub_808D2BC thumb_func_start sub_808E1F4 sub_808E1F4: @ 808E1F4 push {r4,lr} - ldr r0, _0808E20C @ =gUnknown_20397B0 + ldr r0, _0808E20C @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -5047,7 +5047,7 @@ sub_808E1F4: @ 808E1F4 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E20C: .4byte gUnknown_20397B0 +_0808E20C: .4byte sPSSData _0808E210: .4byte _0808E214 .align 2, 0 _0808E214: @@ -5059,7 +5059,7 @@ _0808E214: _0808E228: movs r0, 0x2 bl sub_8094D14 - ldr r0, _0808E24C @ =gUnknown_20397B4 + ldr r0, _0808E24C @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5072,7 +5072,7 @@ _0808E228: bl sub_8095F74 b _0808E280 .align 2, 0 -_0808E24C: .4byte gUnknown_20397B4 +_0808E24C: .4byte sInPartyMenu _0808E250: bl sub_809610C lsls r0, 24 @@ -5095,7 +5095,7 @@ _0808E270: _0808E27C: bl sub_808FD20 _0808E280: - ldr r0, _0808E290 @ =gUnknown_20397B0 + ldr r0, _0808E290 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -5103,7 +5103,7 @@ _0808E280: b _0808E2A4 .align 2, 0 _0808E28C: .4byte gMain -_0808E290: .4byte gUnknown_20397B0 +_0808E290: .4byte sPSSData _0808E294: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5122,7 +5122,7 @@ _0808E2AC: .4byte sub_808D2BC thumb_func_start sub_808E2B0 sub_808E2B0: @ 808E2B0 push {r4,r5,lr} - ldr r1, _0808E2CC @ =gUnknown_20397B0 + ldr r1, _0808E2CC @ =sPSSData ldr r0, [r1] ldrb r0, [r0] adds r5, r1, 0 @@ -5136,7 +5136,7 @@ _0808E2C0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E2CC: .4byte gUnknown_20397B0 +_0808E2CC: .4byte sPSSData _0808E2D0: .4byte _0808E2D4 .align 2, 0 _0808E2D4: @@ -5168,7 +5168,7 @@ _0808E310: .4byte 0x00000ce2 _0808E314: movs r0, 0x5 bl PlaySE - ldr r0, _0808E33C @ =gUnknown_20397B4 + ldr r0, _0808E33C @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5184,7 +5184,7 @@ _0808E314: strb r0, [r1] b _0808E3BA .align 2, 0 -_0808E33C: .4byte gUnknown_20397B4 +_0808E33C: .4byte sInPartyMenu _0808E340: bl sub_809610C lsls r0, 24 @@ -5192,13 +5192,13 @@ _0808E340: bne _0808E3BA movs r0, 0x19 bl sub_808FBA4 - ldr r0, _0808E35C @ =gUnknown_20397B0 + ldr r0, _0808E35C @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808E3BA .align 2, 0 -_0808E35C: .4byte gUnknown_20397B0 +_0808E35C: .4byte sPSSData _0808E360: ldr r0, _0808E384 @ =gMain ldrh r1, [r0, 0x2E] @@ -5209,14 +5209,14 @@ _0808E360: bl sub_808FD20 bl sub_8092F54 bl sub_808F49C - ldr r0, _0808E388 @ =gUnknown_20397B0 + ldr r0, _0808E388 @ =sPSSData ldr r1, [r0] movs r0, 0x4 strb r0, [r1] b _0808E3BA .align 2, 0 _0808E384: .4byte gMain -_0808E388: .4byte gUnknown_20397B0 +_0808E388: .4byte sPSSData _0808E38C: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5249,7 +5249,7 @@ _0808E3C4: .4byte sub_808D2BC thumb_func_start sub_808E3C8 sub_808E3C8: @ 808E3C8 push {r4,lr} - ldr r1, _0808E3E0 @ =gUnknown_20397B0 + ldr r1, _0808E3E0 @ =sPSSData ldr r0, [r1] ldrb r0, [r0] adds r4, r1, 0 @@ -5261,7 +5261,7 @@ sub_808E3C8: @ 808E3C8 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E3E0: .4byte gUnknown_20397B0 +_0808E3E0: .4byte sPSSData _0808E3E4: .4byte _0808E3E8 .align 2, 0 _0808E3E8: @@ -5293,7 +5293,7 @@ _0808E424: .4byte sub_808E6D0 _0808E428: movs r0, 0x2 bl sub_8094D14 - ldr r0, _0808E44C @ =gUnknown_20397B4 + ldr r0, _0808E44C @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5306,7 +5306,7 @@ _0808E428: bl sub_8095EA0 b _0808E480 .align 2, 0 -_0808E44C: .4byte gUnknown_20397B4 +_0808E44C: .4byte sInPartyMenu _0808E450: bl sub_809610C lsls r0, 24 @@ -5328,7 +5328,7 @@ _0808E470: beq _0808E4A4 bl sub_808FD20 _0808E480: - ldr r0, _0808E490 @ =gUnknown_20397B0 + ldr r0, _0808E490 @ =sPSSData ldr r1, [r0] _0808E484: ldrb r0, [r1] @@ -5337,7 +5337,7 @@ _0808E484: b _0808E4A4 .align 2, 0 _0808E48C: .4byte gMain -_0808E490: .4byte gUnknown_20397B0 +_0808E490: .4byte sPSSData _0808E494: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5356,7 +5356,7 @@ _0808E4AC: .4byte sub_808D2BC thumb_func_start sub_808E4B0 sub_808E4B0: @ 808E4B0 push {lr} - ldr r0, _0808E4C8 @ =gUnknown_20397B0 + ldr r0, _0808E4C8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x6 @@ -5367,7 +5367,7 @@ sub_808E4B0: @ 808E4B0 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E4C8: .4byte gUnknown_20397B0 +_0808E4C8: .4byte sPSSData _0808E4CC: .4byte _0808E4D0 .align 2, 0 _0808E4D0: @@ -5416,14 +5416,14 @@ _0808E534: cmp r0, 0 bne _0808E55C _0808E53A: - ldr r0, _0808E548 @ =gUnknown_20397B0 + ldr r0, _0808E548 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808E55C .align 2, 0 -_0808E548: .4byte gUnknown_20397B0 +_0808E548: .4byte sPSSData _0808E54C: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5441,7 +5441,7 @@ _0808E560: .4byte sub_808D2BC thumb_func_start sub_808E564 sub_808E564: @ 808E564 push {r4,lr} - ldr r0, _0808E57C @ =gUnknown_20397B0 + ldr r0, _0808E57C @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x5 @@ -5454,7 +5454,7 @@ _0808E572: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E57C: .4byte gUnknown_20397B0 +_0808E57C: .4byte sPSSData _0808E580: .4byte _0808E584 .align 2, 0 _0808E584: @@ -5471,13 +5471,13 @@ _0808E59C: bl sub_808FBA4 movs r0, 0 bl sub_808FCE8 - ldr r0, _0808E5B8 @ =gUnknown_20397B0 + ldr r0, _0808E5B8 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808E67C .align 2, 0 -_0808E5B8: .4byte gUnknown_20397B0 +_0808E5B8: .4byte sPSSData _0808E5BC: bl Menu_ProcessInputNoWrapClearOnChoose lsls r0, 24 @@ -5498,7 +5498,7 @@ _0808E5DA: bl sub_808FD20 b _0808E660 _0808E5E0: - ldr r4, _0808E604 @ =gUnknown_20397B0 + ldr r4, _0808E604 @ =sPSSData ldr r0, [r4] ldr r1, _0808E608 @ =0x00002224 adds r0, r1 @@ -5515,7 +5515,7 @@ _0808E5E0: strb r0, [r1] b _0808E67C .align 2, 0 -_0808E604: .4byte gUnknown_20397B0 +_0808E604: .4byte sPSSData _0808E608: .4byte 0x00002224 _0808E60C: movs r0, 0x1A @@ -5532,23 +5532,23 @@ _0808E61A: cmp r0, 0 beq _0808E67C bl sub_808FD20 - ldr r0, _0808E638 @ =gUnknown_20397B0 + ldr r0, _0808E638 @ =sPSSData ldr r1, [r0] movs r0, 0x5 strb r0, [r1] b _0808E67C .align 2, 0 _0808E634: .4byte gMain -_0808E638: .4byte gUnknown_20397B0 +_0808E638: .4byte sPSSData _0808E63C: bl sub_8096088 - ldr r0, _0808E64C @ =gUnknown_20397B0 + ldr r0, _0808E64C @ =sPSSData ldr r1, [r0] movs r0, 0x4 strb r0, [r1] b _0808E67C .align 2, 0 -_0808E64C: .4byte gUnknown_20397B0 +_0808E64C: .4byte sPSSData _0808E650: bl sub_809610C lsls r0, 24 @@ -5580,7 +5580,7 @@ _0808E684: .4byte sub_808D2BC thumb_func_start sub_808E688 sub_808E688: @ 808E688 push {r4,lr} - ldr r4, _0808E69C @ =gUnknown_20397B0 + ldr r4, _0808E69C @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -5589,7 +5589,7 @@ sub_808E688: @ 808E688 beq _0808E6B2 b _0808E6C6 .align 2, 0 -_0808E69C: .4byte gUnknown_20397B0 +_0808E69C: .4byte sPSSData _0808E6A0: bl CompactPartySlots bl sub_80909F4 @@ -5617,7 +5617,7 @@ _0808E6CC: .4byte sub_808D2BC thumb_func_start sub_808E6D0 sub_808E6D0: @ 808E6D0 push {r4,lr} - ldr r4, _0808E6E8 @ =gUnknown_20397B0 + ldr r4, _0808E6E8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0x1 @@ -5628,7 +5628,7 @@ sub_808E6D0: @ 808E6D0 beq _0808E6F6 b _0808E738 .align 2, 0 -_0808E6E8: .4byte gUnknown_20397B0 +_0808E6E8: .4byte sPSSData _0808E6EC: cmp r0, 0x2 beq _0808E70A @@ -5679,7 +5679,7 @@ _0808E740: .4byte sub_808D2BC thumb_func_start box_related box_related: @ 808E744 push {r4,lr} - ldr r4, _0808E75C @ =gUnknown_20397B0 + ldr r4, _0808E75C @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0x1 @@ -5690,7 +5690,7 @@ box_related: @ 808E744 beq _0808E766 b _0808E830 .align 2, 0 -_0808E75C: .4byte gUnknown_20397B0 +_0808E75C: .4byte sPSSData _0808E760: cmp r0, 0x2 beq _0808E78C @@ -5785,7 +5785,7 @@ _0808E838: .4byte sub_808E9A0 thumb_func_start sub_808E83C sub_808E83C: @ 808E83C push {r4,r5,lr} - ldr r0, _0808E854 @ =gUnknown_20397B0 + ldr r0, _0808E854 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x5 @@ -5798,7 +5798,7 @@ _0808E84A: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E854: .4byte gUnknown_20397B0 +_0808E854: .4byte sPSSData _0808E858: .4byte _0808E85C .align 2, 0 _0808E85C: @@ -5812,11 +5812,11 @@ _0808E874: bl sub_808FD34 movs r0, 0x2 bl sub_808FBA4 - ldr r0, _0808E884 @ =gUnknown_20397B0 + ldr r0, _0808E884 @ =sPSSData ldr r1, [r0] b _0808E976 .align 2, 0 -_0808E884: .4byte gUnknown_20397B0 +_0808E884: .4byte sPSSData _0808E888: bl sub_8094F90 lsls r0, 24 @@ -5824,14 +5824,14 @@ _0808E888: beq _0808E894 b _0808E994 _0808E894: - ldr r0, _0808E89C @ =gUnknown_20397B0 + ldr r0, _0808E89C @ =sPSSData ldr r1, [r0] b _0808E976 .align 2, 0 -_0808E89C: .4byte gUnknown_20397B0 +_0808E89C: .4byte sPSSData _0808E8A0: bl sub_8094F94 - ldr r5, _0808E8CC @ =gUnknown_20397B0 + ldr r5, _0808E8CC @ =sPSSData ldr r1, [r5] ldr r4, _0808E8D0 @ =0x0000078e adds r1, r4 @@ -5849,7 +5849,7 @@ _0808E8A0: bl add_to_c3_somehow b _0808E994 .align 2, 0 -_0808E8CC: .4byte gUnknown_20397B0 +_0808E8CC: .4byte sPSSData _0808E8D0: .4byte 0x0000078e _0808E8D4: .4byte sub_808D2BC _0808E8D8: @@ -5873,7 +5873,7 @@ _0808E8FA: lsls r0, 24 cmp r0, 0 bne _0808E994 - ldr r4, _0808E91C @ =gUnknown_20397B0 + ldr r4, _0808E91C @ =sPSSData ldr r0, [r4] ldr r1, _0808E920 @ =0x0000078e adds r0, r1 @@ -5883,11 +5883,11 @@ _0808E8FA: bl sub_808FBA4 b _0808E974 .align 2, 0 -_0808E91C: .4byte gUnknown_20397B0 +_0808E91C: .4byte sPSSData _0808E920: .4byte 0x0000078e _0808E924: bl sub_8094F94 - ldr r4, _0808E954 @ =gUnknown_20397B0 + ldr r4, _0808E954 @ =sPSSData ldr r1, [r4] movs r5, 0xF2 lsls r5, 3 @@ -5908,7 +5908,7 @@ _0808E924: strb r0, [r1] b _0808E994 .align 2, 0 -_0808E954: .4byte gUnknown_20397B0 +_0808E954: .4byte sPSSData _0808E958: movs r0, 0x5 bl PlaySE @@ -5949,7 +5949,7 @@ _0808E99C: .4byte sub_808D2BC sub_808E9A0: @ 808E9A0 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _0808E9B8 @ =gUnknown_20397B0 + ldr r5, _0808E9B8 @ =sPSSData ldr r0, [r5] ldrb r4, [r0] cmp r4, 0x1 @@ -5960,7 +5960,7 @@ sub_808E9A0: @ 808E9A0 beq _0808E9C6 b _0808EA80 .align 2, 0 -_0808E9B8: .4byte gUnknown_20397B0 +_0808E9B8: .4byte sPSSData _0808E9BC: cmp r4, 0x2 beq _0808EA4C @@ -6062,7 +6062,7 @@ _0808EA8C: .4byte sub_808D2BC sub_808EA90: @ 808EA90 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _0808EAA4 @ =gUnknown_20397B0 + ldr r5, _0808EAA4 @ =sPSSData ldr r0, [r5] ldrb r4, [r0] cmp r4, 0 @@ -6071,7 +6071,7 @@ sub_808EA90: @ 808EA90 beq _0808EAC6 b _0808EAE0 .align 2, 0 -_0808EAA4: .4byte gUnknown_20397B0 +_0808EAA4: .4byte sPSSData _0808EAA8: bl sub_8093630 movs r0, 0x1 @@ -6091,7 +6091,7 @@ _0808EAC6: lsls r0, 24 cmp r0, 0 bne _0808EAE0 - ldr r0, _0808EAE8 @ =gUnknown_20397B7 + ldr r0, _0808EAE8 @ =sWhichToReshow strb r4, [r0] ldr r1, [r5] movs r0, 0x2 @@ -6104,7 +6104,7 @@ _0808EAE0: pop {r0} bx r0 .align 2, 0 -_0808EAE8: .4byte gUnknown_20397B7 +_0808EAE8: .4byte sWhichToReshow _0808EAEC: .4byte sub_808EE18 thumb_func_end sub_808EA90 @@ -6112,7 +6112,7 @@ _0808EAEC: .4byte sub_808EE18 sub_808EAF0: @ 808EAF0 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _0808EB04 @ =gUnknown_20397B0 + ldr r5, _0808EB04 @ =sPSSData ldr r0, [r5] ldrb r4, [r0] cmp r4, 0 @@ -6121,7 +6121,7 @@ sub_808EAF0: @ 808EAF0 beq _0808EB26 b _0808EB40 .align 2, 0 -_0808EB04: .4byte gUnknown_20397B0 +_0808EB04: .4byte sPSSData _0808EB08: bl sub_80936B8 movs r0, 0x1 @@ -6142,7 +6142,7 @@ _0808EB26: lsrs r1, r0, 24 cmp r1, 0 bne _0808EB40 - ldr r0, _0808EB48 @ =gUnknown_20397B7 + ldr r0, _0808EB48 @ =sWhichToReshow strb r1, [r0] ldr r0, [r5] strb r4, [r0, 0x2] @@ -6154,7 +6154,7 @@ _0808EB40: pop {r0} bx r0 .align 2, 0 -_0808EB48: .4byte gUnknown_20397B7 +_0808EB48: .4byte sWhichToReshow _0808EB4C: .4byte sub_808EE18 thumb_func_end sub_808EAF0 @@ -6162,7 +6162,7 @@ _0808EB4C: .4byte sub_808EE18 sub_808EB50: @ 808EB50 push {r4,lr} sub sp, 0x4 - ldr r4, _0808EB64 @ =gUnknown_20397B0 + ldr r4, _0808EB64 @ =sPSSData ldr r0, [r4] ldrb r1, [r0] cmp r1, 0 @@ -6171,7 +6171,7 @@ sub_808EB50: @ 808EB50 beq _0808EB82 b _0808EB9E .align 2, 0 -_0808EB64: .4byte gUnknown_20397B0 +_0808EB64: .4byte sPSSData _0808EB68: movs r0, 0x1 negs r0, r0 @@ -6190,7 +6190,7 @@ _0808EB82: lsls r0, 24 cmp r0, 0 bne _0808EB9E - ldr r1, _0808EBA8 @ =gUnknown_20397B7 + ldr r1, _0808EBA8 @ =sWhichToReshow movs r0, 0x2 strb r0, [r1] ldr r1, [r4] @@ -6204,14 +6204,14 @@ _0808EB9E: pop {r0} bx r0 .align 2, 0 -_0808EBA8: .4byte gUnknown_20397B7 +_0808EBA8: .4byte sWhichToReshow _0808EBAC: .4byte sub_808EE18 thumb_func_end sub_808EB50 thumb_func_start sub_808EBB0 sub_808EBB0: @ 808EBB0 push {r4,lr} - ldr r0, _0808EBC8 @ =gUnknown_20397B0 + ldr r0, _0808EBC8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -6224,7 +6224,7 @@ _0808EBBE: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808EBC8: .4byte gUnknown_20397B0 +_0808EBC8: .4byte sPSSData _0808EBCC: .4byte _0808EBD0 .align 2, 0 _0808EBD0: @@ -6242,13 +6242,13 @@ _0808EBE4: bl PlaySE movs r0, 0xF bl sub_808FBA4 - ldr r0, _0808EC04 @ =gUnknown_20397B0 + ldr r0, _0808EC04 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808ECD0 .align 2, 0 -_0808EC04: .4byte gUnknown_20397B0 +_0808EC04: .4byte sPSSData _0808EC08: bl sub_809616C lsls r0, 24 @@ -6266,13 +6266,13 @@ _0808EC20: bl sub_808FBA4 movs r0, 0 bl sub_808FCE8 - ldr r0, _0808EC3C @ =gUnknown_20397B0 + ldr r0, _0808EC3C @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808ECD0 .align 2, 0 -_0808EC3C: .4byte gUnknown_20397B0 +_0808EC3C: .4byte sPSSData _0808EC40: ldr r0, _0808EC50 @ =gMain ldrh r1, [r0, 0x2E] @@ -6317,14 +6317,14 @@ _0808EC90: movs r2, 0x1 bl sub_80A0A70 _0808EC9A: - ldr r0, _0808ECA8 @ =gUnknown_20397B0 + ldr r0, _0808ECA8 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808ECD0 .align 2, 0 -_0808ECA8: .4byte gUnknown_20397B0 +_0808ECA8: .4byte sPSSData _0808ECAC: bl sub_80A0AAC lsls r0, 24 @@ -6335,7 +6335,7 @@ _0808ECAC: bl CalculatePlayerPartyCount ldr r1, _0808ECD8 @ =gPlayerPartyCount strb r0, [r1] - ldr r0, _0808ECDC @ =gUnknown_20397B0 + ldr r0, _0808ECDC @ =sPSSData ldr r0, [r0] strb r4, [r0, 0x2] ldr r0, _0808ECE0 @ =sub_808EE18 @@ -6346,14 +6346,14 @@ _0808ECD0: bx r0 .align 2, 0 _0808ECD8: .4byte gPlayerPartyCount -_0808ECDC: .4byte gUnknown_20397B0 +_0808ECDC: .4byte sPSSData _0808ECE0: .4byte sub_808EE18 thumb_func_end sub_808EBB0 thumb_func_start sub_808ECE4 sub_808ECE4: @ 808ECE4 push {r4,lr} - ldr r0, _0808ECFC @ =gUnknown_20397B0 + ldr r0, _0808ECFC @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -6366,7 +6366,7 @@ _0808ECF2: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808ECFC: .4byte gUnknown_20397B0 +_0808ECFC: .4byte sPSSData _0808ED00: .4byte _0808ED04 .align 2, 0 _0808ED04: @@ -6384,13 +6384,13 @@ _0808ED18: bl PlaySE movs r0, 0xF bl sub_808FBA4 - ldr r0, _0808ED38 @ =gUnknown_20397B0 + ldr r0, _0808ED38 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808EE04 .align 2, 0 -_0808ED38: .4byte gUnknown_20397B0 +_0808ED38: .4byte sPSSData _0808ED3C: bl sub_809616C lsls r0, 24 @@ -6408,13 +6408,13 @@ _0808ED54: bl sub_808FBA4 movs r0, 0 bl sub_808FCE8 - ldr r0, _0808ED70 @ =gUnknown_20397B0 + ldr r0, _0808ED70 @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808EE04 .align 2, 0 -_0808ED70: .4byte gUnknown_20397B0 +_0808ED70: .4byte sPSSData _0808ED74: ldr r0, _0808ED84 @ =gMain ldrh r1, [r0, 0x2E] @@ -6460,14 +6460,14 @@ _0808EDC4: movs r2, 0 bl sub_80A0A70 _0808EDCE: - ldr r0, _0808EDDC @ =gUnknown_20397B0 + ldr r0, _0808EDDC @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808EE04 .align 2, 0 -_0808EDDC: .4byte gUnknown_20397B0 +_0808EDDC: .4byte sPSSData _0808EDE0: bl sub_80A0AAC lsls r0, 24 @@ -6478,7 +6478,7 @@ _0808EDE0: bl CalculatePlayerPartyCount ldr r1, _0808EE0C @ =gPlayerPartyCount strb r0, [r1] - ldr r0, _0808EE10 @ =gUnknown_20397B0 + ldr r0, _0808EE10 @ =sPSSData ldr r0, [r0] strb r4, [r0, 0x2] ldr r0, _0808EE14 @ =sub_808EE18 @@ -6489,7 +6489,7 @@ _0808EE04: bx r0 .align 2, 0 _0808EE0C: .4byte gPlayerPartyCount -_0808EE10: .4byte gUnknown_20397B0 +_0808EE10: .4byte sPSSData _0808EE14: .4byte sub_808EE18 thumb_func_end sub_808ECE4 @@ -6501,7 +6501,7 @@ sub_808EE18: @ 808EE18 sub sp, 0x8 lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _0808EE44 @ =gUnknown_20397B0 + ldr r0, _0808EE44 @ =sPSSData ldr r0, [r0] ldrb r4, [r0, 0x2] ldrb r0, [r0, 0x1] @@ -6516,7 +6516,7 @@ sub_808EE18: @ 808EE18 ldr r1, _0808EE48 @ =gUnknown_20397BA b _0808EE50 .align 2, 0 -_0808EE44: .4byte gUnknown_20397B0 +_0808EE44: .4byte sPSSData _0808EE48: .4byte gUnknown_20397BA _0808EE4C: ldr r1, _0808EE70 @ =gUnknown_20397BA @@ -6540,7 +6540,7 @@ _0808EE62: _0808EE70: .4byte gUnknown_20397BA _0808EE74: .4byte sub_808C7B4 _0808EE78: - ldr r0, _0808EEAC @ =gUnknown_20397B0 + ldr r0, _0808EEAC @ =sPSSData ldr r1, [r0] ldr r2, _0808EEB0 @ =0x0000217c adds r0, r1, r2 @@ -6564,7 +6564,7 @@ _0808EE78: bl ShowPokemonSummaryScreen b _0808EEF6 .align 2, 0 -_0808EEAC: .4byte gUnknown_20397B0 +_0808EEAC: .4byte sPSSData _0808EEB0: .4byte 0x0000217c _0808EEB4: .4byte 0x0000217a _0808EEB8: .4byte sub_808CE60 @@ -6618,7 +6618,7 @@ sub_808EF0C: @ 808EF0C bl sub_8094CC8 lsls r0, 24 lsrs r1, r0, 24 - ldr r0, _0808EF44 @ =gUnknown_20397B4 + ldr r0, _0808EF44 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808EF4C @@ -6632,7 +6632,7 @@ sub_808EF0C: @ 808EF0C b _0808EF56 .align 2, 0 _0808EF40: .4byte gSpecialVar_ItemId -_0808EF44: .4byte gUnknown_20397B4 +_0808EF44: .4byte sInPartyMenu _0808EF48: .4byte gPlayerParty _0808EF4C: adds r0, r1, 0 @@ -6655,7 +6655,7 @@ sub_808EF68: @ 808EF68 push {r4,lr} bl sub_80F7B2C bl sub_80950A4 - ldr r4, _0808EF88 @ =gUnknown_20397B0 + ldr r4, _0808EF88 @ =sPSSData ldr r0, [r4] bl Free movs r0, 0 @@ -6665,7 +6665,7 @@ sub_808EF68: @ 808EF68 pop {r0} bx r0 .align 2, 0 -_0808EF88: .4byte gUnknown_20397B0 +_0808EF88: .4byte sPSSData thumb_func_end sub_808EF68 thumb_func_start sub_808EF8C @@ -6726,7 +6726,7 @@ sub_808EFE4: @ 808EFE4 movs r3, 0 bl DecompressAndLoadBgGfxUsingHeap ldr r0, _0808F038 @ =gUnknown_83CE5FC - ldr r5, _0808F03C @ =gUnknown_20397B0 + ldr r5, _0808F03C @ =sPSSData ldr r1, [r5] ldr r4, _0808F040 @ =0x00005abc adds r1, r4 @@ -6747,7 +6747,7 @@ sub_808EFE4: @ 808EFE4 _0808F030: .4byte gUnknown_83CEA50 _0808F034: .4byte gUnknown_8E9C438 _0808F038: .4byte gUnknown_83CE5FC -_0808F03C: .4byte gUnknown_20397B0 +_0808F03C: .4byte sPSSData _0808F040: .4byte 0x00005abc thumb_func_end sub_808EFE4 @@ -6797,7 +6797,7 @@ sub_808F078: @ 808F078 movs r1, 0xF0 movs r2, 0x20 bl LoadPalette - ldr r0, _0808F0BC @ =gUnknown_20397B0 + ldr r0, _0808F0BC @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -6811,7 +6811,7 @@ sub_808F078: @ 808F078 _0808F0B0: .4byte gUnknown_8E9C3F8 _0808F0B4: .4byte gUnknown_8E9C418 _0808F0B8: .4byte gUnknown_83CEA10 -_0808F0BC: .4byte gUnknown_20397B0 +_0808F0BC: .4byte sPSSData _0808F0C0: .4byte gUnknown_83CE738 _0808F0C4: ldr r0, _0808F0EC @ =gUnknown_83CE758 @@ -6840,7 +6840,7 @@ sub_808F0F4: @ 808F0F4 movs r0, 0x10 movs r2, 0 bl CreateMonMarkingSprite_AllOff - ldr r4, _0808F158 @ =gUnknown_20397B0 + ldr r4, _0808F158 @ =sPSSData ldr r1, [r4] movs r3, 0xD9 lsls r3, 4 @@ -6882,7 +6882,7 @@ sub_808F0F4: @ 808F0F4 bx r0 .align 2, 0 _0808F154: .4byte 0x0000dac8 -_0808F158: .4byte gUnknown_20397B0 +_0808F158: .4byte sPSSData _0808F15C: .4byte 0x00000d9c _0808F160: .4byte 0x06010000 thumb_func_end sub_808F0F4 @@ -6911,7 +6911,7 @@ _0808F17A: bl CreateSprite lsls r0, 24 lsrs r0, 24 - ldr r1, _0808F1C4 @ =gUnknown_20397B0 + ldr r1, _0808F1C4 @ =sPSSData ldr r2, [r1] lsls r1, r4, 2 ldr r3, _0808F1C8 @ =0x00000d94 @@ -6935,7 +6935,7 @@ _0808F17A: .align 2, 0 _0808F1BC: .4byte gUnknown_83CEA68 _0808F1C0: .4byte gUnknown_83CEBD8 -_0808F1C4: .4byte gUnknown_20397B0 +_0808F1C4: .4byte sPSSData _0808F1C8: .4byte 0x00000d94 _0808F1CC: .4byte gSprites thumb_func_end sub_808F164 @@ -6943,7 +6943,7 @@ _0808F1CC: .4byte gSprites thumb_func_start sub_808F1D0 sub_808F1D0: @ 808F1D0 push {lr} - ldr r0, _0808F1FC @ =gUnknown_20397B0 + ldr r0, _0808F1FC @ =sPSSData ldr r1, [r0] movs r2, 0xCE lsls r2, 4 @@ -6960,14 +6960,14 @@ sub_808F1D0: @ 808F1D0 pop {r0} bx r0 .align 2, 0 -_0808F1FC: .4byte gUnknown_20397B0 +_0808F1FC: .4byte sPSSData thumb_func_end sub_808F1D0 thumb_func_start BoxSetMosaic BoxSetMosaic: @ 808F200 push {lr} bl sub_808F1D0 - ldr r3, _0808F24C @ =gUnknown_20397B0 + ldr r3, _0808F24C @ =sPSSData ldr r0, [r3] ldr r1, _0808F250 @ =0x00002238 adds r0, r1 @@ -7003,14 +7003,14 @@ _0808F248: pop {r0} bx r0 .align 2, 0 -_0808F24C: .4byte gUnknown_20397B0 +_0808F24C: .4byte sPSSData _0808F250: .4byte 0x00002238 _0808F254: .4byte BoxSetMosaic2 thumb_func_end BoxSetMosaic thumb_func_start sub_808F258 sub_808F258: @ 808F258 - ldr r0, _0808F26C @ =gUnknown_20397B0 + ldr r0, _0808F26C @ =sPSSData ldr r0, [r0] ldr r1, _0808F270 @ =0x00002238 adds r0, r1 @@ -7020,7 +7020,7 @@ sub_808F258: @ 808F258 lsrs r0, 31 bx lr .align 2, 0 -_0808F26C: .4byte gUnknown_20397B0 +_0808F26C: .4byte sPSSData _0808F270: .4byte 0x00002238 thumb_func_end sub_808F258 @@ -7069,7 +7069,7 @@ _0808F2B8: .4byte SpriteCallbackDummy sub_808F2BC: @ 808F2BC push {r4-r7,lr} sub sp, 0x28 - ldr r0, _0808F350 @ =gUnknown_20397B0 + ldr r0, _0808F350 @ =sPSSData mov r12, r0 ldr r1, [r0] ldr r4, _0808F354 @ =0x000022bc @@ -7107,7 +7107,7 @@ _0808F2F6: cmp r6, r1 bls _0808F2F6 movs r6, 0 - ldr r5, _0808F350 @ =gUnknown_20397B0 + ldr r5, _0808F350 @ =sPSSData ldr r4, _0808F358 @ =0x0000223c movs r2, 0 _0808F310: @@ -7121,7 +7121,7 @@ _0808F310: lsrs r6, r0, 16 cmp r6, 0xF bls _0808F310 - ldr r0, _0808F350 @ =gUnknown_20397B0 + ldr r0, _0808F350 @ =sPSSData ldr r0, [r0] ldr r6, _0808F368 @ =0x00002238 adds r0, r6 @@ -7141,7 +7141,7 @@ _0808F310: beq _0808F3C8 b _0808F3B4 .align 2, 0 -_0808F350: .4byte gUnknown_20397B0 +_0808F350: .4byte sPSSData _0808F354: .4byte 0x000022bc _0808F358: .4byte 0x0000223c _0808F35C: .4byte 0x0000dac6 @@ -7149,7 +7149,7 @@ _0808F360: .4byte gUnknown_83CEA70 _0808F364: .4byte 0x000007ff _0808F368: .4byte 0x00002238 _0808F36C: - ldr r0, _0808F39C @ =gUnknown_20397B0 + ldr r0, _0808F39C @ =sPSSData ldr r2, [r0] ldr r7, _0808F3A0 @ =0x00002238 adds r3, r2, r7 @@ -7174,7 +7174,7 @@ _0808F36C: str r0, [r2] b _0808F3C8 .align 2, 0 -_0808F39C: .4byte gUnknown_20397B0 +_0808F39C: .4byte sPSSData _0808F3A0: .4byte 0x00002238 _0808F3A4: .4byte gSprites _0808F3A8: .4byte 0x00002232 @@ -7191,7 +7191,7 @@ _0808F3B4: cmp r1, 0x40 bne _0808F36C _0808F3C8: - ldr r0, _0808F3EC @ =gUnknown_20397B0 + ldr r0, _0808F3EC @ =sPSSData ldr r0, [r0] ldr r1, _0808F3F0 @ =0x00002238 adds r0, r1 @@ -7208,7 +7208,7 @@ _0808F3E2: pop {r0} bx r0 .align 2, 0 -_0808F3EC: .4byte gUnknown_20397B0 +_0808F3EC: .4byte sPSSData _0808F3F0: .4byte 0x00002238 _0808F3F4: .4byte 0x0000dac6 thumb_func_end sub_808F2BC @@ -7219,7 +7219,7 @@ sub_808F3F8: @ 808F3F8 adds r3, r1, 0 lsls r0, 16 lsrs r2, r0, 16 - ldr r6, _0808F468 @ =gUnknown_20397B0 + ldr r6, _0808F468 @ =sPSSData ldr r4, [r6] ldr r7, _0808F46C @ =0x00002238 adds r0, r4, r7 @@ -7268,7 +7268,7 @@ sub_808F3F8: @ 808F3F8 strb r0, [r1] b _0808F496 .align 2, 0 -_0808F468: .4byte gUnknown_20397B0 +_0808F468: .4byte sPSSData _0808F46C: .4byte 0x00002238 _0808F470: .4byte gMonFrontPicTable _0808F474: .4byte 0x000022bc @@ -7298,7 +7298,7 @@ sub_808F49C: @ 808F49C movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer - ldr r6, _0808F51C @ =gUnknown_20397B0 + ldr r6, _0808F51C @ =sPSSData ldr r2, [r6] ldrb r0, [r2, 0x1] cmp r0, 0x3 @@ -7339,7 +7339,7 @@ _0808F4D4: lsrs r5, r0, 16 cmp r4, 0x2 bls _0808F4BC - ldr r0, _0808F51C @ =gUnknown_20397B0 + ldr r0, _0808F51C @ =sPSSData ldr r2, [r0] ldr r0, _0808F524 @ =0x00000d61 adds r2, r0 @@ -7355,7 +7355,7 @@ _0808F4D4: bl AddTextPrinterParameterized b _0808F57E .align 2, 0 -_0808F51C: .4byte gUnknown_20397B0 +_0808F51C: .4byte sPSSData _0808F520: .4byte 0x00000cf5 _0808F524: .4byte 0x00000d61 _0808F528: @@ -7406,7 +7406,7 @@ _0808F57E: movs r0, 0 movs r1, 0x2 bl CopyWindowToVram - ldr r4, _0808F5C4 @ =gUnknown_20397B0 + ldr r4, _0808F5C4 @ =sPSSData ldr r1, [r4] movs r2, 0xCE lsls r2, 4 @@ -7435,7 +7435,7 @@ _0808F57E: .align 2, 0 _0808F5BC: .4byte 0x00000d61 _0808F5C0: .4byte 0x00000cf5 -_0808F5C4: .4byte gUnknown_20397B0 +_0808F5C4: .4byte sPSSData _0808F5C8: movs r2, 0xD9 lsls r2, 4 @@ -7459,7 +7459,7 @@ _0808F5D8: sub_808F5E8: @ 808F5E8 push {r4,lr} sub sp, 0x4 - ldr r0, _0808F634 @ =gUnknown_20397B0 + ldr r0, _0808F634 @ =sPSSData ldr r0, [r0] movs r1, 0xCE lsls r1, 4 @@ -7476,7 +7476,7 @@ sub_808F5E8: @ 808F5E8 bl sub_80F7CE8 movs r4, 0 _0808F60E: - ldr r0, _0808F634 @ =gUnknown_20397B0 + ldr r0, _0808F634 @ =sPSSData ldr r0, [r0] lsls r1, r4, 2 ldr r2, _0808F638 @ =0x00000d94 @@ -7495,7 +7495,7 @@ _0808F60E: bls _0808F60E b _0808F66E .align 2, 0 -_0808F634: .4byte gUnknown_20397B0 +_0808F634: .4byte sPSSData _0808F638: .4byte 0x00000d94 _0808F63C: movs r0, 0x2 @@ -7507,7 +7507,7 @@ _0808F63C: bl sub_80F7CE8 movs r4, 0 _0808F64E: - ldr r0, _0808F684 @ =gUnknown_20397B0 + ldr r0, _0808F684 @ =sPSSData ldr r0, [r0] lsls r1, r4, 2 ldr r2, _0808F688 @ =0x00000d94 @@ -7532,7 +7532,7 @@ _0808F66E: pop {r0} bx r0 .align 2, 0 -_0808F684: .4byte gUnknown_20397B0 +_0808F684: .4byte sPSSData _0808F688: .4byte 0x00000d94 thumb_func_end sub_808F5E8 @@ -7541,7 +7541,7 @@ sub_808F68C: @ 808F68C push {r4,lr} sub sp, 0x4 ldr r0, _0808F704 @ =gUnknown_8E9CAEC - ldr r4, _0808F708 @ =gUnknown_20397B0 + ldr r4, _0808F708 @ =sPSSData ldr r1, [r4] adds r1, 0xB0 bl LZ77UnCompWram @@ -7573,7 +7573,7 @@ sub_808F68C: @ 808F68C movs r2, 0 bl sub_80F7CAC bl sub_808F9FC - ldr r0, _0808F714 @ =gUnknown_20397B4 + ldr r0, _0808F714 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808F718 @@ -7588,10 +7588,10 @@ sub_808F68C: @ 808F68C b _0808F73A .align 2, 0 _0808F704: .4byte gUnknown_8E9CAEC -_0808F708: .4byte gUnknown_20397B0 +_0808F708: .4byte sPSSData _0808F70C: .4byte gUnknown_8E9C3D8 _0808F710: .4byte gUnknown_83CE778 -_0808F714: .4byte gUnknown_20397B4 +_0808F714: .4byte sInPartyMenu _0808F718: movs r0, 0x2 str r0, [sp] @@ -7609,7 +7609,7 @@ _0808F718: _0808F73A: movs r0, 0x1 bl ScheduleBgCopyTilemapToVram - ldr r0, _0808F754 @ =gUnknown_20397B0 + ldr r0, _0808F754 @ =sPSSData ldr r0, [r0] ldr r1, _0808F758 @ =0x000002c7 adds r0, r1 @@ -7620,14 +7620,14 @@ _0808F73A: pop {r0} bx r0 .align 2, 0 -_0808F754: .4byte gUnknown_20397B0 +_0808F754: .4byte sPSSData _0808F758: .4byte 0x000002c7 thumb_func_end sub_808F68C thumb_func_start sub_808F75C sub_808F75C: @ 808F75C push {lr} - ldr r0, _0808F788 @ =gUnknown_20397B0 + ldr r0, _0808F788 @ =sPSSData ldr r1, [r0] movs r0, 0xB0 lsls r0, 2 @@ -7647,7 +7647,7 @@ sub_808F75C: @ 808F75C pop {r0} bx r0 .align 2, 0 -_0808F788: .4byte gUnknown_20397B0 +_0808F788: .4byte sPSSData _0808F78C: .4byte 0x000002c2 _0808F790: .4byte 0x000002c5 thumb_func_end sub_808F75C @@ -7655,7 +7655,7 @@ _0808F790: .4byte 0x000002c5 thumb_func_start sub_808F794 sub_808F794: @ 808F794 push {r4,lr} - ldr r4, _0808F7F0 @ =gUnknown_20397B0 + ldr r4, _0808F7F0 @ =sPSSData ldr r2, [r4] ldr r1, _0808F7F4 @ =0x000002c5 adds r0, r2, r1 @@ -7696,11 +7696,11 @@ sub_808F794: @ 808F794 movs r0, 0x1 b _0808F804 .align 2, 0 -_0808F7F0: .4byte gUnknown_20397B0 +_0808F7F0: .4byte sPSSData _0808F7F4: .4byte 0x000002c5 _0808F7F8: .4byte 0x000002c2 _0808F7FC: - ldr r1, _0808F80C @ =gUnknown_20397B4 + ldr r1, _0808F80C @ =sInPartyMenu movs r0, 0x1 strb r0, [r1] _0808F802: @@ -7710,13 +7710,13 @@ _0808F804: pop {r1} bx r1 .align 2, 0 -_0808F80C: .4byte gUnknown_20397B4 +_0808F80C: .4byte sInPartyMenu thumb_func_end sub_808F794 thumb_func_start sub_808F810 sub_808F810: @ 808F810 push {r4,lr} - ldr r4, _0808F844 @ =gUnknown_20397B0 + ldr r4, _0808F844 @ =sPSSData ldr r1, [r4] movs r0, 0xB0 lsls r0, 2 @@ -7741,7 +7741,7 @@ _0808F83C: pop {r0} bx r0 .align 2, 0 -_0808F844: .4byte gUnknown_20397B0 +_0808F844: .4byte sPSSData _0808F848: .4byte 0x000002c2 _0808F84C: .4byte 0x000002c5 thumb_func_end sub_808F810 @@ -7750,7 +7750,7 @@ _0808F84C: .4byte 0x000002c5 sub_808F850: @ 808F850 push {r4,r5,lr} sub sp, 0x8 - ldr r5, _0808F8C8 @ =gUnknown_20397B0 + ldr r5, _0808F8C8 @ =sPSSData ldr r2, [r5] ldr r1, _0808F8CC @ =0x000002c5 adds r0, r2, r1 @@ -7804,11 +7804,11 @@ sub_808F850: @ 808F850 movs r0, 0x1 b _0808F8FE .align 2, 0 -_0808F8C8: .4byte gUnknown_20397B0 +_0808F8C8: .4byte sPSSData _0808F8CC: .4byte 0x000002c5 _0808F8D0: .4byte 0x000002c2 _0808F8D4: - ldr r0, _0808F908 @ =gUnknown_20397B4 + ldr r0, _0808F908 @ =sInPartyMenu movs r1, 0 strb r1, [r0] bl sub_8090C44 @@ -7831,7 +7831,7 @@ _0808F8FE: pop {r1} bx r1 .align 2, 0 -_0808F908: .4byte gUnknown_20397B4 +_0808F908: .4byte sInPartyMenu thumb_func_end sub_808F850 thumb_func_start sub_808F90C @@ -7867,7 +7867,7 @@ _0808F934: thumb_func_start sub_808F948 sub_808F948: @ 808F948 - ldr r2, _0808F968 @ =gUnknown_20397B0 + ldr r2, _0808F968 @ =sPSSData ldr r0, [r2] ldr r1, _0808F96C @ =0x000002c7 adds r0, r1 @@ -7884,7 +7884,7 @@ sub_808F948: @ 808F948 strb r3, [r0] bx lr .align 2, 0 -_0808F968: .4byte gUnknown_20397B0 +_0808F968: .4byte sPSSData _0808F96C: .4byte 0x000002c7 _0808F970: .4byte 0x000002c9 thumb_func_end sub_808F948 @@ -7892,7 +7892,7 @@ _0808F970: .4byte 0x000002c9 thumb_func_start sub_808F974 sub_808F974: @ 808F974 push {lr} - ldr r0, _0808F994 @ =gUnknown_20397B0 + ldr r0, _0808F994 @ =sPSSData ldr r0, [r0] ldr r2, _0808F998 @ =0x000002c7 adds r1, r0, r2 @@ -7907,14 +7907,14 @@ _0808F98E: pop {r0} bx r0 .align 2, 0 -_0808F994: .4byte gUnknown_20397B0 +_0808F994: .4byte sPSSData _0808F998: .4byte 0x000002c7 thumb_func_end sub_808F974 thumb_func_start sub_808F99C sub_808F99C: @ 808F99C push {r4,lr} - ldr r3, _0808F9F0 @ =gUnknown_20397B0 + ldr r3, _0808F9F0 @ =sPSSData ldr r1, [r3] ldr r2, _0808F9F4 @ =0x000002c7 adds r0, r1, r2 @@ -7956,7 +7956,7 @@ _0808F9E8: pop {r0} bx r0 .align 2, 0 -_0808F9F0: .4byte gUnknown_20397B0 +_0808F9F0: .4byte sPSSData _0808F9F4: .4byte 0x000002c7 _0808F9F8: .4byte 0x000002c9 thumb_func_end sub_808F99C @@ -8012,7 +8012,7 @@ _0808FA40: adds r0, r1 lsrs r3, r0, 16 movs r0, 0 - ldr r1, _0808FAA4 @ =gUnknown_20397B0 + ldr r1, _0808FAA4 @ =sPSSData mov r12, r1 _0808FA5C: movs r2, 0 @@ -8050,7 +8050,7 @@ _0808FA68: .align 2, 0 _0808FA9C: .4byte gUnknown_83CE7D8 _0808FAA0: .4byte gUnknown_83CE7C0 -_0808FAA4: .4byte gUnknown_20397B0 +_0808FAA4: .4byte sPSSData thumb_func_end sub_808FA30 thumb_func_start sub_808FAA8 @@ -8077,7 +8077,7 @@ sub_808FAA8: @ 808FAA8 thumb_func_start sub_808FAD4 sub_808FAD4: @ 808FAD4 push {lr} - ldr r0, _0808FAF0 @ =gUnknown_20397B0 + ldr r0, _0808FAF0 @ =sPSSData ldr r0, [r0] ldr r1, _0808FAF4 @ =0x000002c6 adds r0, r1 @@ -8089,14 +8089,14 @@ sub_808FAD4: @ 808FAD4 pop {r0} bx r0 .align 2, 0 -_0808FAF0: .4byte gUnknown_20397B0 +_0808FAF0: .4byte sPSSData _0808FAF4: .4byte 0x000002c6 thumb_func_end sub_808FAD4 thumb_func_start sub_808FAF8 sub_808FAF8: @ 808FAF8 push {r4,r5,lr} - ldr r4, _0808FB14 @ =gUnknown_20397B0 + ldr r4, _0808FB14 @ =sPSSData ldr r0, [r4] ldr r5, _0808FB18 @ =0x000002c6 adds r0, r5 @@ -8109,7 +8109,7 @@ sub_808FAF8: @ 808FAF8 beq _0808FB22 b _0808FB60 .align 2, 0 -_0808FB14: .4byte gUnknown_20397B0 +_0808FB14: .4byte sPSSData _0808FB18: .4byte 0x000002c6 _0808FB1C: cmp r0, 0x2 @@ -8216,16 +8216,16 @@ _0808FBD0: .4byte _0808FC04 .4byte _0808FC1C _0808FBF0: - ldr r0, _0808FBFC @ =gUnknown_20397B0 + ldr r0, _0808FBFC @ =sPSSData ldr r1, [r0] ldr r0, _0808FC00 @ =0x00000cea adds r1, r0 b _0808FC0C .align 2, 0 -_0808FBFC: .4byte gUnknown_20397B0 +_0808FBFC: .4byte sPSSData _0808FC00: .4byte 0x00000cea _0808FC04: - ldr r0, _0808FC14 @ =gUnknown_20397B0 + ldr r0, _0808FC14 @ =sPSSData ldr r1, [r0] ldr r2, _0808FC18 @ =0x000021d0 adds r1, r2 @@ -8234,14 +8234,14 @@ _0808FC0C: bl DynamicPlaceholderTextUtil_SetPlaceholderPtr b _0808FC7C .align 2, 0 -_0808FC14: .4byte gUnknown_20397B0 +_0808FC14: .4byte sPSSData _0808FC18: .4byte 0x000021d0 _0808FC1C: bl sub_809616C lsls r0, 24 cmp r0, 0 beq _0808FC40 - ldr r0, _0808FC38 @ =gUnknown_20397B0 + ldr r0, _0808FC38 @ =sPSSData ldr r4, [r0] ldr r0, _0808FC3C @ =0x000021db adds r4, r0 @@ -8250,10 +8250,10 @@ _0808FC1C: adds r0, r4, 0 b _0808FC4C .align 2, 0 -_0808FC38: .4byte gUnknown_20397B0 +_0808FC38: .4byte sPSSData _0808FC3C: .4byte 0x000021db _0808FC40: - ldr r0, _0808FC54 @ =gUnknown_20397B0 + ldr r0, _0808FC54 @ =sPSSData ldr r1, [r0] ldr r2, _0808FC58 @ =0x000021db adds r0, r1, r2 @@ -8264,7 +8264,7 @@ _0808FC4C: adds r2, r0, 0 b _0808FC62 .align 2, 0 -_0808FC54: .4byte gUnknown_20397B0 +_0808FC54: .4byte sPSSData _0808FC58: .4byte 0x000021db _0808FC5C: .4byte 0x00000d61 _0808FC60: @@ -8276,14 +8276,14 @@ _0808FC62: beq _0808FC60 movs r0, 0xFF strb r0, [r2] - ldr r0, _0808FCDC @ =gUnknown_20397B0 + ldr r0, _0808FCDC @ =sPSSData ldr r1, [r0] ldr r0, _0808FCE0 @ =0x000021db adds r1, r0 movs r0, 0 bl DynamicPlaceholderTextUtil_SetPlaceholderPtr _0808FC7C: - ldr r5, _0808FCDC @ =gUnknown_20397B0 + ldr r5, _0808FCDC @ =sPSSData ldr r0, [r5] movs r4, 0x86 lsls r4, 6 @@ -8324,7 +8324,7 @@ _0808FC7C: pop {r0} bx r0 .align 2, 0 -_0808FCDC: .4byte gUnknown_20397B0 +_0808FCDC: .4byte sPSSData _0808FCE0: .4byte 0x000021db _0808FCE4: .4byte gUnknown_83CEA88 thumb_func_end sub_808FBA4 @@ -8455,11 +8455,11 @@ _0808FDE6: thumb_func_start sub_808FDF0 sub_808FDF0: @ 808FDF0 - ldr r0, _0808FDF8 @ =gUnknown_20397B5 + ldr r0, _0808FDF8 @ =sCurrentBoxOption ldrb r0, [r0] bx lr .align 2, 0 -_0808FDF8: .4byte gUnknown_20397B5 +_0808FDF8: .4byte sCurrentBoxOption thumb_func_end sub_808FDF0 thumb_func_start sub_808FDFC @@ -8469,7 +8469,7 @@ sub_808FDFC: @ 808FDFC lsls r0, 24 cmp r0, 0 bne _0808FE38 - ldr r0, _0808FE24 @ =gUnknown_20397B4 + ldr r0, _0808FE24 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FE28 @@ -8481,7 +8481,7 @@ sub_808FDFC: @ 808FDFC bl sub_8095C84 b _0808FE38 .align 2, 0 -_0808FE24: .4byte gUnknown_20397B4 +_0808FE24: .4byte sInPartyMenu _0808FE28: bl sub_8094CC8 adds r1, r0, 0 @@ -8512,13 +8512,13 @@ sub_808FE54: @ 808FE54 bl sub_8094D34 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0808FE90 @ =gUnknown_20397B0 + ldr r0, _0808FE90 @ =sPSSData ldr r0, [r0] movs r1, 0xCE lsls r1, 4 adds r0, r1 ldrh r7, [r0] - ldr r0, _0808FE94 @ =gUnknown_20397B4 + ldr r0, _0808FE94 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FE9C @@ -8534,8 +8534,8 @@ sub_808FE54: @ 808FE54 bl GetMonData b _0808FEB2 .align 2, 0 -_0808FE90: .4byte gUnknown_20397B0 -_0808FE94: .4byte gUnknown_20397B4 +_0808FE90: .4byte sPSSData +_0808FE94: .4byte sInPartyMenu _0808FE98: .4byte gPlayerParty _0808FE9C: bl StorageGetCurrentBox @@ -8549,7 +8549,7 @@ _0808FE9C: _0808FEB2: lsls r0, 16 lsrs r3, r0, 16 - ldr r0, _0808FECC @ =gUnknown_20397B0 + ldr r0, _0808FECC @ =sPSSData ldr r0, [r0] ldr r2, _0808FED0 @ =0x00002228 adds r1, r0, r2 @@ -8561,7 +8561,7 @@ _0808FEB2: beq _0808FEDE b _0808FF6A .align 2, 0 -_0808FECC: .4byte gUnknown_20397B0 +_0808FECC: .4byte sPSSData _0808FED0: .4byte 0x00002228 _0808FED4: cmp r5, 0x2 @@ -8570,7 +8570,7 @@ _0808FED4: beq _0808FF58 b _0808FF6A _0808FEDE: - ldr r0, _0808FEF0 @ =gUnknown_20397B4 + ldr r0, _0808FEF0 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FEF4 @@ -8580,7 +8580,7 @@ _0808FEEA: movs r2, 0x16 b _0808FF02 .align 2, 0 -_0808FEF0: .4byte gUnknown_20397B4 +_0808FEF0: .4byte sInPartyMenu _0808FEF4: cmp r4, 0xE beq _0808FEEA @@ -8601,7 +8601,7 @@ _0808FF08: strb r4, [r1, 0x4] movs r0, 0xFF strb r0, [r1, 0x5] - ldr r0, _0808FF24 @ =gUnknown_20397B4 + ldr r0, _0808FF24 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FF28 @@ -8610,7 +8610,7 @@ _0808FF08: movs r2, 0x19 b _0808FF64 .align 2, 0 -_0808FF24: .4byte gUnknown_20397B4 +_0808FF24: .4byte sInPartyMenu _0808FF28: cmp r4, 0xE bne _0808FF32 @@ -8659,7 +8659,7 @@ _0808FF6A: thumb_func_start sub_808FF70 sub_808FF70: @ 808FF70 push {r4,lr} - ldr r4, _0808FFA0 @ =gUnknown_20397B8 + ldr r4, _0808FFA0 @ =sLastUsedBox bl StorageGetCurrentBox ldrb r1, [r4] lsls r0, 24 @@ -8680,7 +8680,7 @@ _0808FF9A: pop {r0} bx r0 .align 2, 0 -_0808FFA0: .4byte gUnknown_20397B8 +_0808FFA0: .4byte sLastUsedBox _0808FFA4: .4byte 0x00000843 _0808FFA8: .4byte 0x00004037 thumb_func_end sub_808FF70 @@ -8690,7 +8690,7 @@ sub_808FFAC: @ 808FFAC push {r4-r6,lr} bl LoadMonIconPalettes movs r2, 0 - ldr r3, _0809003C @ =gUnknown_20397B0 + ldr r3, _0809003C @ =sPSSData ldr r5, _08090040 @ =0x00000b04 movs r4, 0 adds r6, r3, 0 @@ -8706,7 +8706,7 @@ _0808FFBC: cmp r2, 0x27 bls _0808FFBC movs r2, 0 - ldr r5, _0809003C @ =gUnknown_20397B0 + ldr r5, _0809003C @ =sPSSData ldr r4, _08090044 @ =0x00000b54 movs r3, 0 _0808FFD8: @@ -8721,7 +8721,7 @@ _0808FFD8: cmp r2, 0x27 bls _0808FFD8 movs r2, 0 - ldr r5, _0809003C @ =gUnknown_20397B0 + ldr r5, _0809003C @ =sPSSData ldr r4, _08090048 @ =0x00000a6c movs r3, 0 _0808FFF4: @@ -8736,7 +8736,7 @@ _0808FFF4: cmp r2, 0x5 bls _0808FFF4 movs r2, 0 - ldr r5, _0809003C @ =gUnknown_20397B0 + ldr r5, _0809003C @ =sPSSData ldr r4, _0809004C @ =0x00000a84 movs r3, 0 _08090010: @@ -8762,7 +8762,7 @@ _08090010: pop {r0} bx r0 .align 2, 0 -_0809003C: .4byte gUnknown_20397B0 +_0809003C: .4byte sPSSData _08090040: .4byte 0x00000b04 _08090044: .4byte 0x00000b54 _08090048: .4byte 0x00000a6c @@ -8790,7 +8790,7 @@ _08090068: sub_8090070: @ 8090070 push {r4-r6,lr} sub sp, 0x8 - ldr r5, _080900C4 @ =gUnknown_20397B0 + ldr r5, _080900C4 @ =sPSSData ldr r0, [r5] ldr r4, _080900C8 @ =0x000020a0 adds r0, r4 @@ -8826,7 +8826,7 @@ sub_8090070: @ 8090070 pop {r0} bx r0 .align 2, 0 -_080900C4: .4byte gUnknown_20397B0 +_080900C4: .4byte sPSSData _080900C8: .4byte 0x000020a0 _080900CC: .4byte 0x00000a68 _080900D0: .4byte sub_80911B0 @@ -8888,7 +8888,7 @@ _080900F4: adds r0, r4, 0 asrs r3, 16 bl sub_80912E0 - ldr r1, _08090154 @ =gUnknown_20397B0 + ldr r1, _08090154 @ =sPSSData ldr r1, [r1] mov r3, r8 lsls r2, r3, 2 @@ -8898,10 +8898,10 @@ _080900F4: str r0, [r1] b _0809016C .align 2, 0 -_08090154: .4byte gUnknown_20397B0 +_08090154: .4byte sPSSData _08090158: .4byte 0x00000a84 _0809015C: - ldr r0, _080901E4 @ =gUnknown_20397B0 + ldr r0, _080901E4 @ =sPSSData ldr r0, [r0] mov r2, r8 lsls r1, r2, 2 @@ -8928,7 +8928,7 @@ _0809016C: lsrs r7, r0, 16 cmp r7, 0x4 bls _080900EE - ldr r0, _080901E4 @ =gUnknown_20397B0 + ldr r0, _080901E4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -8944,7 +8944,7 @@ _080901A2: bl GetBoxMonDataFromAnyBox cmp r0, 0 bne _080901C8 - ldr r0, _080901E4 @ =gUnknown_20397B0 + ldr r0, _080901E4 @ =sPSSData ldr r0, [r0] lsls r1, r6, 2 ldr r3, _080901E8 @ =0x00000a84 @@ -8972,7 +8972,7 @@ _080901D2: pop {r0} bx r0 .align 2, 0 -_080901E4: .4byte gUnknown_20397B0 +_080901E4: .4byte sPSSData _080901E8: .4byte 0x00000a84 thumb_func_end sub_80900D4 @@ -9033,7 +9033,7 @@ sub_80901EC: @ 80901EC adds r3, r4, 0 bl sub_80912E0 adds r3, r0, 0 - ldr r0, _08090294 @ =gUnknown_20397B0 + ldr r0, _08090294 @ =sPSSData ldr r2, [r0] lsls r1, r7, 2 ldr r4, _08090298 @ =0x00000a84 @@ -9058,7 +9058,7 @@ _08090286: pop {r0} bx r0 .align 2, 0 -_08090294: .4byte gUnknown_20397B0 +_08090294: .4byte sPSSData _08090298: .4byte 0x00000a84 thumb_func_end sub_80901EC @@ -9068,7 +9068,7 @@ sub_809029C: @ 809029C lsls r0, 16 lsrs r3, r0, 16 movs r2, 0 - ldr r7, _080902D4 @ =gUnknown_20397B0 + ldr r7, _080902D4 @ =sPSSData ldr r6, _080902D8 @ =0x00000a84 movs r5, 0x1 ldr r4, _080902DC @ =sub_8090324 @@ -9095,7 +9095,7 @@ _080902C4: pop {r0} bx r0 .align 2, 0 -_080902D4: .4byte gUnknown_20397B0 +_080902D4: .4byte sPSSData _080902D8: .4byte 0x00000a84 _080902DC: .4byte sub_8090324 thumb_func_end sub_809029C @@ -9117,7 +9117,7 @@ sub_80902E0: @ 80902E0 strh r0, [r2, 0x20] b _08090312 _080902FC: - ldr r0, _08090318 @ =gUnknown_20397B0 + ldr r0, _08090318 @ =sPSSData ldr r1, [r0] ldr r3, _0809031C @ =0x00000c62 adds r1, r3 @@ -9132,7 +9132,7 @@ _08090312: pop {r0} bx r0 .align 2, 0 -_08090318: .4byte gUnknown_20397B0 +_08090318: .4byte sPSSData _0809031C: .4byte 0x00000c62 _08090320: .4byte SpriteCallbackDummy thumb_func_end sub_80902E0 @@ -9177,7 +9177,7 @@ sub_809035C: @ 809035C lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r7, _0809039C @ =gUnknown_20397B0 + ldr r7, _0809039C @ =sPSSData _08090366: ldr r0, [r7] lsls r4, r5, 2 @@ -9207,7 +9207,7 @@ _08090386: pop {r0} bx r0 .align 2, 0 -_0809039C: .4byte gUnknown_20397B0 +_0809039C: .4byte sPSSData _080903A0: .4byte 0x00000a84 thumb_func_end sub_809035C @@ -9253,7 +9253,7 @@ sub_80903A4: @ 80903A4 movs r3, 0 mov r9, r3 adds r5, r0, 0 - ldr r1, _08090488 @ =gUnknown_20397B0 + ldr r1, _08090488 @ =sPSSData ldr r0, [r1] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -9262,7 +9262,7 @@ sub_80903A4: @ 80903A4 lsls r2, 16 mov r10, r2 _08090404: - ldr r6, _08090488 @ =gUnknown_20397B0 + ldr r6, _08090488 @ =sPSSData ldr r2, [r6] lsls r0, r5, 1 ldr r3, _0809048C @ =0x00000ba4 @@ -9288,7 +9288,7 @@ _08090404: asrs r2, r6, 16 bl sub_80912E0 adds r2, r0, 0 - ldr r1, _08090488 @ =gUnknown_20397B0 + ldr r1, _08090488 @ =sPSSData ldr r0, [r1] ldr r3, _08090490 @ =0x00000a84 adds r0, r3 @@ -9329,7 +9329,7 @@ _08090470: bge _08090404 b _08090550 .align 2, 0 -_08090488: .4byte gUnknown_20397B0 +_08090488: .4byte sPSSData _0809048C: .4byte 0x00000ba4 _08090490: .4byte 0x00000a84 _08090494: .4byte sub_80902E0 @@ -9452,7 +9452,7 @@ sub_8090574: @ 8090574 lsrs r0, 24 lsls r4, 24 lsrs r4, 24 - ldr r6, _080905D0 @ =gUnknown_20397B0 + ldr r6, _080905D0 @ =sPSSData ldr r1, [r6] ldr r2, _080905D4 @ =0x00000c66 adds r1, r2 @@ -9492,7 +9492,7 @@ sub_8090574: @ 8090574 movs r1, 0 b _080905F4 .align 2, 0 -_080905D0: .4byte gUnknown_20397B0 +_080905D0: .4byte sPSSData _080905D4: .4byte 0x00000c66 _080905D8: .4byte 0x00000c67 _080905DC: .4byte 0x00000c65 @@ -9506,7 +9506,7 @@ _080905EC: movs r1, 0x5 _080905F4: strb r1, [r0] - ldr r0, _08090624 @ =gUnknown_20397B0 + ldr r0, _08090624 @ =sPSSData ldr r2, [r0] ldr r7, _08090620 @ =0x00000c64 adds r0, r2, r7 @@ -9528,14 +9528,14 @@ _080905F4: bx r0 .align 2, 0 _08090620: .4byte 0x00000c64 -_08090624: .4byte gUnknown_20397B0 +_08090624: .4byte sPSSData _08090628: .4byte 0x00000c5e thumb_func_end sub_8090574 thumb_func_start sub_809062C sub_809062C: @ 809062C push {r4-r6,lr} - ldr r5, _08090658 @ =gUnknown_20397B0 + ldr r5, _08090658 @ =sPSSData ldr r0, [r5] ldr r4, _0809065C @ =0x00000c5c adds r1, r0, r4 @@ -9557,7 +9557,7 @@ _08090640: beq _0809066C b _08090782 .align 2, 0 -_08090658: .4byte gUnknown_20397B0 +_08090658: .4byte sPSSData _0809065C: .4byte 0x00000c5c _08090660: .4byte 0x00000c66 _08090664: @@ -9653,7 +9653,7 @@ _0809070C: cmp r0, 0 bne _08090740 _08090718: - ldr r0, _08090738 @ =gUnknown_20397B0 + ldr r0, _08090738 @ =sPSSData ldr r1, [r0] ldr r2, _0809073C @ =0x00000c66 adds r1, r2 @@ -9666,10 +9666,10 @@ _08090728: .4byte 0x00000c5e _0809072C: .4byte 0x00000c64 _08090730: .4byte 0x00000c62 _08090734: .4byte 0x00000c65 -_08090738: .4byte gUnknown_20397B0 +_08090738: .4byte sPSSData _0809073C: .4byte 0x00000c66 _08090740: - ldr r3, _08090760 @ =gUnknown_20397B0 + ldr r3, _08090760 @ =sPSSData ldr r0, [r3] ldr r6, _08090764 @ =0x00000c64 adds r1, r0, r6 @@ -9686,7 +9686,7 @@ _08090740: strb r2, [r0] b _0809078C .align 2, 0 -_08090760: .4byte gUnknown_20397B0 +_08090760: .4byte sPSSData _08090764: .4byte 0x00000c64 _08090768: .4byte 0x00000c65 _0809076C: .4byte 0x00000c66 @@ -9723,7 +9723,7 @@ sub_8090794: @ 8090794 lsrs r6, r0, 24 movs r5, 0 movs r0, 0 - ldr r1, _08090810 @ =gUnknown_20397B0 + ldr r1, _08090810 @ =sPSSData mov r9, r1 _080907A8: adds r0, 0x1 @@ -9766,7 +9766,7 @@ _080907EA: mov r0, r8 cmp r0, 0x4 ble _080907A8 - ldr r0, _08090810 @ =gUnknown_20397B0 + ldr r0, _08090810 @ =sPSSData ldr r0, [r0] ldr r1, _08090818 @ =0x00000c58 adds r0, r1 @@ -9778,7 +9778,7 @@ _080907EA: pop {r0} bx r0 .align 2, 0 -_08090810: .4byte gUnknown_20397B0 +_08090810: .4byte sPSSData _08090814: .4byte 0x00000ba4 _08090818: .4byte 0x00000c58 thumb_func_end sub_8090794 @@ -9787,7 +9787,7 @@ _08090818: .4byte 0x00000c58 sub_809081C: @ 809081C push {r4,r5,lr} lsls r0, 24 - ldr r5, _08090848 @ =gUnknown_20397B0 + ldr r5, _08090848 @ =sPSSData ldr r1, [r5] lsrs r4, r0, 22 ldr r0, _0809084C @ =0x00000a84 @@ -9808,7 +9808,7 @@ _08090842: pop {r0} bx r0 .align 2, 0 -_08090848: .4byte gUnknown_20397B0 +_08090848: .4byte sPSSData _0809084C: .4byte 0x00000a84 thumb_func_end sub_809081C @@ -9818,7 +9818,7 @@ sub_8090850: @ 8090850 lsls r0, 24 lsls r1, 24 lsrs r2, r1, 24 - ldr r1, _08090884 @ =gUnknown_20397B0 + ldr r1, _08090884 @ =sPSSData ldr r1, [r1] lsrs r0, 22 ldr r3, _08090888 @ =0x00000a84 @@ -9841,7 +9841,7 @@ _0809087E: pop {r0} bx r0 .align 2, 0 -_08090884: .4byte gUnknown_20397B0 +_08090884: .4byte sPSSData _08090888: .4byte 0x00000a84 thumb_func_end sub_8090850 @@ -9872,7 +9872,7 @@ sub_809088C: @ 809088C movs r2, 0x68 movs r3, 0x40 bl sub_80912E0 - ldr r1, _08090930 @ =gUnknown_20397B0 + ldr r1, _08090930 @ =sPSSData ldr r1, [r1] ldr r2, _08090934 @ =0x00000a6c adds r1, r2 @@ -9911,7 +9911,7 @@ _080908D2: adds r0, r5, 0 movs r2, 0x98 bl sub_80912E0 - ldr r1, _08090930 @ =gUnknown_20397B0 + ldr r1, _08090930 @ =sPSSData ldr r1, [r1] lsls r2, r6, 2 ldr r3, _08090934 @ =0x00000a6c @@ -9924,10 +9924,10 @@ _080908D2: b _08090946 .align 2, 0 _0809092C: .4byte gPlayerParty -_08090930: .4byte gUnknown_20397B0 +_08090930: .4byte sPSSData _08090934: .4byte 0x00000a6c _08090938: - ldr r0, _080909E8 @ =gUnknown_20397B0 + ldr r0, _080909E8 @ =sPSSData ldr r0, [r0] lsls r1, r6, 2 ldr r2, _080909EC @ =0x00000a6c @@ -9940,7 +9940,7 @@ _08090946: lsrs r6, r0, 16 cmp r6, 0x5 bls _080908D2 - ldr r3, _080909E8 @ =gUnknown_20397B0 + ldr r3, _080909E8 @ =sPSSData mov r0, r8 cmp r0, 0 bne _0809098A @@ -10020,7 +10020,7 @@ _080909DA: pop {r0} bx r0 .align 2, 0 -_080909E8: .4byte gUnknown_20397B0 +_080909E8: .4byte sPSSData _080909EC: .4byte 0x00000a6c _080909F0: .4byte gPlayerParty thumb_func_end sub_809088C @@ -10029,7 +10029,7 @@ _080909F0: .4byte gPlayerParty sub_80909F4: @ 80909F4 push {r4-r7,lr} sub sp, 0x4 - ldr r0, _08090A54 @ =gUnknown_20397B0 + ldr r0, _08090A54 @ =sPSSData ldr r1, [r0] ldr r2, _08090A58 @ =0x00000c5a adds r1, r2 @@ -10078,21 +10078,21 @@ _08090A42: pop {r0} bx r0 .align 2, 0 -_08090A54: .4byte gUnknown_20397B0 +_08090A54: .4byte sPSSData _08090A58: .4byte 0x00000c5a _08090A5C: .4byte 0x00000a6c thumb_func_end sub_80909F4 thumb_func_start sub_8090A60 sub_8090A60: @ 8090A60 - ldr r0, _08090A6C @ =gUnknown_20397B0 + ldr r0, _08090A6C @ =sPSSData ldr r0, [r0] ldr r1, _08090A70 @ =0x00000c5a adds r0, r1 ldrb r0, [r0] bx lr .align 2, 0 -_08090A6C: .4byte gUnknown_20397B0 +_08090A6C: .4byte sPSSData _08090A70: .4byte 0x00000c5a thumb_func_end sub_8090A60 @@ -10206,7 +10206,7 @@ _08090B32: strh r0, [r3, 0x22] ldr r0, _08090B5C @ =SpriteCallbackDummy str r0, [r3, 0x1C] - ldr r0, _08090B60 @ =gUnknown_20397B0 + ldr r0, _08090B60 @ =sPSSData ldr r2, [r0] movs r0, 0x30 ldrsh r1, [r3, r0] @@ -10226,7 +10226,7 @@ _08090B54: bx r0 .align 2, 0 _08090B5C: .4byte SpriteCallbackDummy -_08090B60: .4byte gUnknown_20397B0 +_08090B60: .4byte sPSSData _08090B64: .4byte 0x00000a6c _08090B68: .4byte 0x00000c5a thumb_func_end sub_8090AE0 @@ -10234,7 +10234,7 @@ _08090B68: .4byte 0x00000c5a thumb_func_start sub_8090B6C sub_8090B6C: @ 8090B6C push {r4,lr} - ldr r4, _08090B90 @ =gUnknown_20397B0 + ldr r4, _08090B90 @ =sPSSData ldr r0, [r4] ldr r1, _08090B94 @ =0x00000a68 adds r0, r1 @@ -10252,7 +10252,7 @@ _08090B8A: pop {r0} bx r0 .align 2, 0 -_08090B90: .4byte gUnknown_20397B0 +_08090B90: .4byte sPSSData _08090B94: .4byte 0x00000a68 thumb_func_end sub_8090B6C @@ -10260,7 +10260,7 @@ _08090B94: .4byte 0x00000a68 sub_8090B98: @ 8090B98 push {r4-r6,lr} movs r3, 0 - ldr r6, _08090BEC @ =gUnknown_20397B0 + ldr r6, _08090BEC @ =sPSSData lsls r0, 16 asrs r4, r0, 16 movs r5, 0x5 @@ -10302,7 +10302,7 @@ _08090BA6: strb r1, [r0] b _08090BFE .align 2, 0 -_08090BEC: .4byte gUnknown_20397B0 +_08090BEC: .4byte sPSSData _08090BF0: .4byte 0x00000a6c _08090BF4: adds r2, 0x3E @@ -10325,7 +10325,7 @@ _08090BFE: sub_8090C10: @ 8090C10 push {r4,r5,lr} lsls r0, 24 - ldr r5, _08090C3C @ =gUnknown_20397B0 + ldr r5, _08090C3C @ =sPSSData ldr r1, [r5] lsrs r4, r0, 22 ldr r0, _08090C40 @ =0x00000a6c @@ -10346,7 +10346,7 @@ _08090C36: pop {r0} bx r0 .align 2, 0 -_08090C3C: .4byte gUnknown_20397B0 +_08090C3C: .4byte sPSSData _08090C40: .4byte 0x00000a6c thumb_func_end sub_8090C10 @@ -10354,7 +10354,7 @@ _08090C40: .4byte 0x00000a6c sub_8090C44: @ 8090C44 push {r4-r6,lr} movs r5, 0 - ldr r6, _08090C7C @ =gUnknown_20397B0 + ldr r6, _08090C7C @ =sPSSData _08090C4A: ldr r0, [r6] lsls r4, r5, 2 @@ -10381,7 +10381,7 @@ _08090C6A: pop {r0} bx r0 .align 2, 0 -_08090C7C: .4byte gUnknown_20397B0 +_08090C7C: .4byte sPSSData _08090C80: .4byte 0x00000a6c thumb_func_end sub_8090C44 @@ -10391,7 +10391,7 @@ sub_8090C84: @ 8090C84 lsls r0, 24 lsls r1, 24 lsrs r2, r1, 24 - ldr r1, _08090CB8 @ =gUnknown_20397B0 + ldr r1, _08090CB8 @ =sPSSData ldr r1, [r1] lsrs r0, 22 ldr r3, _08090CBC @ =0x00000a6c @@ -10414,7 +10414,7 @@ _08090CB2: pop {r0} bx r0 .align 2, 0 -_08090CB8: .4byte gUnknown_20397B0 +_08090CB8: .4byte sPSSData _08090CBC: .4byte 0x00000a6c thumb_func_end sub_8090C84 @@ -10428,7 +10428,7 @@ sub_8090CC0: @ 8090CC0 adds r5, r1, 0 cmp r4, 0 bne _08090CF0 - ldr r3, _08090CE8 @ =gUnknown_20397B0 + ldr r3, _08090CE8 @ =sPSSData ldr r0, [r3] ldr r5, _08090CEC @ =0x00000a68 adds r2, r0, r5 @@ -10441,12 +10441,12 @@ sub_8090CC0: @ 8090CC0 str r4, [r0] b _08090D0C .align 2, 0 -_08090CE8: .4byte gUnknown_20397B0 +_08090CE8: .4byte sPSSData _08090CEC: .4byte 0x00000a68 _08090CF0: cmp r4, 0x1 bne _08090D42 - ldr r3, _08090D48 @ =gUnknown_20397B0 + ldr r3, _08090D48 @ =sPSSData ldr r0, [r3] ldr r1, _08090D4C @ =0x00000a68 adds r2, r0, r1 @@ -10490,7 +10490,7 @@ _08090D42: pop {r0} bx r0 .align 2, 0 -_08090D48: .4byte gUnknown_20397B0 +_08090D48: .4byte sPSSData _08090D4C: .4byte 0x00000a68 _08090D50: .4byte 0x00000a84 _08090D54: .4byte sub_80911B0 @@ -10505,7 +10505,7 @@ sub_8090D58: @ 8090D58 lsrs r6, r1, 24 cmp r0, 0xE bne _08090DA4 - ldr r3, _08090D98 @ =gUnknown_20397B0 + ldr r3, _08090D98 @ =sPSSData ldr r1, [r3] lsls r5, r6, 2 ldr r4, _08090D9C @ =0x00000a6c @@ -10531,11 +10531,11 @@ sub_8090D58: @ 8090D58 strb r1, [r0] b _08090DE0 .align 2, 0 -_08090D98: .4byte gUnknown_20397B0 +_08090D98: .4byte sPSSData _08090D9C: .4byte 0x00000a6c _08090DA0: .4byte 0x00000a68 _08090DA4: - ldr r5, _08090DF8 @ =gUnknown_20397B0 + ldr r5, _08090DF8 @ =sPSSData ldr r1, [r5] lsls r4, r6, 2 ldr r3, _08090DFC @ =0x00000a84 @@ -10577,7 +10577,7 @@ _08090DE0: pop {r0} bx r0 .align 2, 0 -_08090DF8: .4byte gUnknown_20397B0 +_08090DF8: .4byte sPSSData _08090DFC: .4byte 0x00000a84 _08090E00: .4byte 0x00000a68 _08090E04: .4byte SpriteCallbackDummy @@ -10592,7 +10592,7 @@ sub_8090E08: @ 8090E08 lsrs r4, r1, 24 cmp r0, 0xE bne _08090E30 - ldr r3, _08090E24 @ =gUnknown_20397B0 + ldr r3, _08090E24 @ =sPSSData ldr r1, [r3] ldr r0, _08090E28 @ =0x00000afc adds r2, r1, r0 @@ -10600,11 +10600,11 @@ sub_8090E08: @ 8090E08 ldr r4, _08090E2C @ =0x00000a6c b _08090E3C .align 2, 0 -_08090E24: .4byte gUnknown_20397B0 +_08090E24: .4byte sPSSData _08090E28: .4byte 0x00000afc _08090E2C: .4byte 0x00000a6c _08090E30: - ldr r3, _08090E5C @ =gUnknown_20397B0 + ldr r3, _08090E5C @ =sPSSData ldr r1, [r3] ldr r0, _08090E60 @ =0x00000afc adds r2, r1, r0 @@ -10628,7 +10628,7 @@ _08090E3C: pop {r0} bx r0 .align 2, 0 -_08090E5C: .4byte gUnknown_20397B0 +_08090E5C: .4byte sPSSData _08090E60: .4byte 0x00000afc _08090E64: .4byte 0x00000a84 _08090E68: .4byte 0x00000a68 @@ -10642,7 +10642,7 @@ sub_8090E74: @ 8090E74 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r6, _08090E90 @ =gUnknown_20397B0 + ldr r6, _08090E90 @ =sPSSData ldr r0, [r6] ldr r1, _08090E94 @ =0x00000c59 mov r9, r1 @@ -10653,7 +10653,7 @@ sub_8090E74: @ 8090E74 movs r0, 0 b _08090FA0 .align 2, 0 -_08090E90: .4byte gUnknown_20397B0 +_08090E90: .4byte sPSSData _08090E94: .4byte 0x00000c59 _08090E98: adds r0, 0x1 @@ -10828,7 +10828,7 @@ _08090FDE: beq _0809101C b _08091072 _08090FE4: - ldr r3, _08090FF4 @ =gUnknown_20397B0 + ldr r3, _08090FF4 @ =sPSSData ldr r1, [r3] movs r0, 0xB0 lsls r0, 4 @@ -10837,10 +10837,10 @@ _08090FE4: ldr r4, _08090FF8 @ =0x00000a6c b _0809100A .align 2, 0 -_08090FF4: .4byte gUnknown_20397B0 +_08090FF4: .4byte sPSSData _08090FF8: .4byte 0x00000a6c _08090FFC: - ldr r3, _08091014 @ =gUnknown_20397B0 + ldr r3, _08091014 @ =sPSSData ldr r1, [r3] movs r0, 0xB0 lsls r0, 4 @@ -10854,10 +10854,10 @@ _0809100A: adds r4, r3, 0 b _0809102E .align 2, 0 -_08091014: .4byte gUnknown_20397B0 +_08091014: .4byte sPSSData _08091018: .4byte 0x00000a84 _0809101C: - ldr r0, _08091078 @ =gUnknown_20397B0 + ldr r0, _08091078 @ =sPSSData ldr r1, [r0] movs r3, 0xB0 lsls r3, 4 @@ -10904,7 +10904,7 @@ _08091072: pop {r0} bx r0 .align 2, 0 -_08091078: .4byte gUnknown_20397B0 +_08091078: .4byte sPSSData _0809107C: .4byte 0x00000a68 _08091080: .4byte gUnknown_83CEC38 thumb_func_end sub_8090FC4 @@ -10912,7 +10912,7 @@ _08091080: .4byte gUnknown_83CEC38 thumb_func_start sub_8091084 sub_8091084: @ 8091084 push {lr} - ldr r0, _080910AC @ =gUnknown_20397B0 + ldr r0, _080910AC @ =sPSSData ldr r0, [r0] movs r1, 0xB0 lsls r1, 4 @@ -10932,7 +10932,7 @@ _080910A6: movs r0, 0 b _080910C6 .align 2, 0 -_080910AC: .4byte gUnknown_20397B0 +_080910AC: .4byte sPSSData _080910B0: adds r0, r1, 0 adds r0, 0x3F @@ -10954,7 +10954,7 @@ _080910C6: thumb_func_start sub_80910CC sub_80910CC: @ 80910CC push {r4,lr} - ldr r4, _08091110 @ =gUnknown_20397B0 + ldr r4, _08091110 @ =sPSSData ldr r0, [r4] movs r1, 0xB0 lsls r1, 4 @@ -10986,13 +10986,13 @@ _08091108: pop {r0} bx r0 .align 2, 0 -_08091110: .4byte gUnknown_20397B0 +_08091110: .4byte sPSSData thumb_func_end sub_80910CC thumb_func_start sub_8091114 sub_8091114: @ 8091114 push {lr} - ldr r3, _0809114C @ =gUnknown_20397B0 + ldr r3, _0809114C @ =sPSSData ldr r0, [r3] movs r1, 0xB0 lsls r1, 4 @@ -11020,13 +11020,13 @@ _08091148: pop {r0} bx r0 .align 2, 0 -_0809114C: .4byte gUnknown_20397B0 +_0809114C: .4byte sPSSData thumb_func_end sub_8091114 thumb_func_start sub_8091150 sub_8091150: @ 8091150 push {lr} - ldr r0, _08091168 @ =gUnknown_20397B0 + ldr r0, _08091168 @ =sPSSData ldr r0, [r0] movs r1, 0xB0 lsls r1, 4 @@ -11037,7 +11037,7 @@ sub_8091150: @ 8091150 movs r0, 0 b _08091180 .align 2, 0 -_08091168: .4byte gUnknown_20397B0 +_08091168: .4byte sPSSData _0809116C: ldr r0, [r0] adds r0, 0x3F @@ -11059,7 +11059,7 @@ _08091180: sub_8091184: @ 8091184 lsls r0, 24 lsrs r0, 24 - ldr r1, _080911A8 @ =gUnknown_20397B0 + ldr r1, _080911A8 @ =sPSSData ldr r1, [r1] ldr r2, _080911AC @ =0x00000a68 adds r1, r2 @@ -11075,13 +11075,13 @@ sub_8091184: @ 8091184 strb r1, [r3, 0x5] bx lr .align 2, 0 -_080911A8: .4byte gUnknown_20397B0 +_080911A8: .4byte sPSSData _080911AC: .4byte 0x00000a68 thumb_func_end sub_8091184 thumb_func_start sub_80911B0 sub_80911B0: @ 80911B0 - ldr r1, _080911D0 @ =gUnknown_20397B0 + ldr r1, _080911D0 @ =sPSSData ldr r1, [r1] movs r2, 0xCB lsls r2, 4 @@ -11097,7 +11097,7 @@ sub_80911B0: @ 80911B0 strh r1, [r0, 0x22] bx lr .align 2, 0 -_080911D0: .4byte gUnknown_20397B0 +_080911D0: .4byte sPSSData thumb_func_end sub_80911B0 thumb_func_start sub_80911D4 @@ -11106,7 +11106,7 @@ sub_80911D4: @ 80911D4 lsls r0, 16 lsrs r3, r0, 16 movs r4, 0 - ldr r1, _0809123C @ =gUnknown_20397B0 + ldr r1, _0809123C @ =sPSSData ldr r0, [r1] ldr r2, _08091240 @ =0x00000b54 adds r0, r2 @@ -11159,7 +11159,7 @@ _08091234: ldr r0, _08091244 @ =0x0000ffff b _0809127A .align 2, 0 -_0809123C: .4byte gUnknown_20397B0 +_0809123C: .4byte sPSSData _08091240: .4byte 0x00000b54 _08091244: .4byte 0x0000ffff _08091248: @@ -11203,7 +11203,7 @@ sub_8091290: @ 8091290 lsls r0, 16 lsrs r5, r0, 16 movs r3, 0 - ldr r6, _080912C4 @ =gUnknown_20397B0 + ldr r6, _080912C4 @ =sPSSData _0809129A: ldr r1, [r6] lsls r2, r3, 1 @@ -11226,7 +11226,7 @@ _0809129A: strh r0, [r4] b _080912DA .align 2, 0 -_080912C4: .4byte gUnknown_20397B0 +_080912C4: .4byte sPSSData _080912C8: .4byte 0x00000b54 _080912CC: .4byte 0x00000b04 _080912D0: @@ -11432,7 +11432,7 @@ _0809144C: .4byte _080914D6 .4byte _080914FC _08091460: - ldr r1, _0809148C @ =gUnknown_20397B0 + ldr r1, _0809148C @ =sPSSData ldr r0, [r1] ldr r2, _08091490 @ =0x000002d2 adds r0, r2 @@ -11453,7 +11453,7 @@ _08091460: strh r0, [r4, 0xA] b _08091508 .align 2, 0 -_0809148C: .4byte gUnknown_20397B0 +_0809148C: .4byte sPSSData _08091490: .4byte 0x000002d2 _08091494: .4byte 0x00004abc _08091498: @@ -11466,7 +11466,7 @@ _08091498: negs r1, r1 cmp r0, r1 beq _0809150E - ldr r0, _080914C4 @ =gUnknown_20397B0 + ldr r0, _080914C4 @ =sPSSData ldr r1, [r0] ldr r2, _080914C8 @ =0x00004abc adds r1, r2 @@ -11476,7 +11476,7 @@ _08091498: bl ShowBg b _08091508 .align 2, 0 -_080914C4: .4byte gUnknown_20397B0 +_080914C4: .4byte sPSSData _080914C8: .4byte 0x00004abc _080914CC: ldrb r0, [r4, 0xC] @@ -11529,7 +11529,7 @@ sub_8091514: @ 8091514 lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 - ldr r5, _080915D8 @ =gUnknown_20397B0 + ldr r5, _080915D8 @ =sPSSData ldr r2, [r5] lsls r0, r6, 24 asrs r3, r0, 24 @@ -11621,7 +11621,7 @@ _0809159A: pop {r0} bx r0 .align 2, 0 -_080915D8: .4byte gUnknown_20397B0 +_080915D8: .4byte sPSSData _080915DC: .4byte 0x000002ce _080915E0: .4byte 0x000002d3 _080915E4: .4byte 0x000002d6 @@ -11635,7 +11635,7 @@ _080915F8: .4byte 0x00000a63 thumb_func_start sub_80915FC sub_80915FC: @ 80915FC push {r4-r6,lr} - ldr r4, _08091618 @ =gUnknown_20397B0 + ldr r4, _08091618 @ =sPSSData ldr r1, [r4] ldr r5, _0809161C @ =0x00000a63 adds r0, r1, r5 @@ -11648,7 +11648,7 @@ sub_80915FC: @ 80915FC beq _08091626 b _080916D4 .align 2, 0 -_08091618: .4byte gUnknown_20397B0 +_08091618: .4byte sPSSData _0809161C: .4byte 0x00000a63 _08091620: cmp r0, 0x2 @@ -11673,7 +11673,7 @@ _08091644: bl sub_809196C cmp r0, 0 beq _080916E2 - ldr r6, _0809168C @ =gUnknown_20397B0 + ldr r6, _0809168C @ =sPSSData ldr r1, [r6] ldr r4, _08091688 @ =0x00000a64 adds r0, r1, r4 @@ -11701,7 +11701,7 @@ _08091644: b _080916D4 .align 2, 0 _08091688: .4byte 0x00000a64 -_0809168C: .4byte gUnknown_20397B0 +_0809168C: .4byte sPSSData _08091690: .4byte 0x00000a65 _08091694: bl sub_809062C @@ -11735,7 +11735,7 @@ _080916D0: adds r0, r5, 0 b _080916E4 _080916D4: - ldr r0, _080916EC @ =gUnknown_20397B0 + ldr r0, _080916EC @ =sPSSData ldr r1, [r0] ldr r4, _080916F0 @ =0x00000a63 adds r1, r4 @@ -11749,7 +11749,7 @@ _080916E4: pop {r1} bx r1 .align 2, 0 -_080916EC: .4byte gUnknown_20397B0 +_080916EC: .4byte sPSSData _080916F0: .4byte 0x00000a63 thumb_func_end sub_80915FC @@ -11800,7 +11800,7 @@ sub_8091730: @ 8091730 lsrs r0, 24 adds r1, r4, 0 bl sub_808BDBC - ldr r0, _08091758 @ =gUnknown_20397B0 + ldr r0, _08091758 @ =sPSSData ldr r0, [r0] ldr r1, _0809175C @ =0x00000a62 adds r0, r1 @@ -11810,7 +11810,7 @@ sub_8091730: @ 8091730 pop {r0} bx r0 .align 2, 0 -_08091758: .4byte gUnknown_20397B0 +_08091758: .4byte sPSSData _0809175C: .4byte 0x00000a62 thumb_func_end sub_8091730 @@ -11818,7 +11818,7 @@ _0809175C: .4byte 0x00000a62 sub_8091760: @ 8091760 push {r4,lr} sub sp, 0x4 - ldr r1, _08091780 @ =gUnknown_20397B0 + ldr r1, _08091780 @ =sPSSData ldr r0, [r1] ldr r2, _08091784 @ =0x00000a62 adds r0, r2 @@ -11832,7 +11832,7 @@ sub_8091760: @ 8091760 ldr r0, [r0] mov pc, r0 .align 2, 0 -_08091780: .4byte gUnknown_20397B0 +_08091780: .4byte sPSSData _08091784: .4byte 0x00000a62 _08091788: .4byte _0809178C .align 2, 0 @@ -11877,7 +11877,7 @@ _080917E2: cmp r0, 0x1 bne _08091844 bl sub_8091EF0 - ldr r4, _08091810 @ =gUnknown_20397B0 + ldr r4, _08091810 @ =sPSSData ldr r0, [r4] movs r1, 0xE7 lsls r1, 3 @@ -11894,7 +11894,7 @@ _080917E2: adds r1, r2 b _0809182E .align 2, 0 -_08091810: .4byte gUnknown_20397B0 +_08091810: .4byte sPSSData _08091814: .4byte 0x0000ffff _08091818: .4byte 0x00000a62 _0809181C: @@ -11903,7 +11903,7 @@ _0809181C: cmp r0, 0 bne _08091844 _08091826: - ldr r0, _08091838 @ =gUnknown_20397B0 + ldr r0, _08091838 @ =sPSSData ldr r1, [r0] ldr r0, _0809183C @ =0x00000a62 adds r1, r0 @@ -11913,7 +11913,7 @@ _0809182E: strb r0, [r1] b _08091844 .align 2, 0 -_08091838: .4byte gUnknown_20397B0 +_08091838: .4byte sPSSData _0809183C: .4byte 0x00000a62 _08091840: movs r0, 0 @@ -11931,7 +11931,7 @@ _08091846: sub_8091850: @ 8091850 push {r4-r7,lr} sub sp, 0x4 - ldr r4, _08091904 @ =gUnknown_20397B0 + ldr r4, _08091904 @ =sPSSData ldr r2, [r4] ldr r3, _08091908 @ =0x000006f9 adds r2, r3 @@ -11965,7 +11965,7 @@ _0809188A: adds r0, r1 bl sub_8091A24 _08091896: - ldr r6, _08091904 @ =gUnknown_20397B0 + ldr r6, _08091904 @ =sPSSData ldr r0, [r6] ldr r2, _0809190C @ =0x000006fa adds r0, r2 @@ -12016,7 +12016,7 @@ _08091896: bl LoadPalette b _08091938 .align 2, 0 -_08091904: .4byte gUnknown_20397B0 +_08091904: .4byte sPSSData _08091908: .4byte 0x000006f9 _0809190C: .4byte 0x000006fa _08091910: .4byte 0x000006fb @@ -12036,7 +12036,7 @@ _08091924: bl CpuSet _08091938: ldr r1, [r7] - ldr r0, _08091968 @ =gUnknown_20397B0 + ldr r0, _08091968 @ =sPSSData ldr r0, [r0] ldr r3, _08091960 @ =0x000002d2 adds r0, r3 @@ -12056,7 +12056,7 @@ _08091938: .align 2, 0 _08091960: .4byte 0x000002d2 _08091964: .4byte gPlttBufferUnfaded + 0x80 -_08091968: .4byte gUnknown_20397B0 +_08091968: .4byte sPSSData thumb_func_end sub_8091850 thumb_func_start sub_809196C @@ -12083,7 +12083,7 @@ sub_8091984: @ 8091984 lsls r3, 24 lsrs r3, 24 lsls r5, r3, 17 - ldr r0, _080919F0 @ =gUnknown_20397B0 + ldr r0, _080919F0 @ =sPSSData ldr r0, [r0] movs r4, 0xB3 lsls r4, 2 @@ -12132,7 +12132,7 @@ sub_8091984: @ 8091984 adds r0, r1 b _080919FA .align 2, 0 -_080919F0: .4byte gUnknown_20397B0 +_080919F0: .4byte sPSSData _080919F4: lsls r0, r6, 16 ldr r4, _08091A20 @ =0xfffc0000 @@ -12164,7 +12164,7 @@ _08091A20: .4byte 0xfffc0000 sub_8091A24: @ 8091A24 push {r4-r6,lr} adds r2, r0, 0 - ldr r0, _08091A50 @ =gUnknown_20397B0 + ldr r0, _08091A50 @ =sPSSData ldr r0, [r0] movs r1, 0xB3 lsls r1, 2 @@ -12184,7 +12184,7 @@ sub_8091A24: @ 8091A24 adds r0, r6 b _08091A5C .align 2, 0 -_08091A50: .4byte gUnknown_20397B0 +_08091A50: .4byte sPSSData _08091A54: lsls r0, 1 movs r1, 0xC8 @@ -12236,7 +12236,7 @@ sub_8091A94: @ 8091A94 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r1, _08091C1C @ =gUnknown_20397B0 + ldr r1, _08091C1C @ =sPSSData mov r10, r1 ldr r1, [r1] movs r2, 0xBE @@ -12374,7 +12374,7 @@ _08091BBC: adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 - ldr r5, _08091C1C @ =gUnknown_20397B0 + ldr r5, _08091C1C @ =sPSSData ldr r2, [r5] lsls r0, r4, 2 movs r3, 0xE4 @@ -12410,7 +12410,7 @@ _08091BBC: pop {r0} bx r0 .align 2, 0 -_08091C1C: .4byte gUnknown_20397B0 +_08091C1C: .4byte sPSSData _08091C20: .4byte 0x00030200 _08091C24: .4byte 0x000006fc _08091C28: .4byte 0x0000dac9 @@ -12437,7 +12437,7 @@ sub_8091C48: @ 8091C48 lsls r1, 24 lsrs r1, 24 mov r10, r1 - ldr r4, _08091CC4 @ =gUnknown_20397B0 + ldr r4, _08091CC4 @ =sPSSData ldr r2, [r4] movs r1, 0xBE lsls r1, 2 @@ -12488,7 +12488,7 @@ _08091C9C: mov r9, r0 b _08091CFC .align 2, 0 -_08091CC4: .4byte gUnknown_20397B0 +_08091CC4: .4byte sPSSData _08091CC8: .4byte 0x0000ffff _08091CCC: .4byte 0x00030200 _08091CD0: .4byte gUnknown_83D2B7C @@ -12659,7 +12659,7 @@ _08091E30: .4byte sub_8091EB8 thumb_func_start sub_8091E34 sub_8091E34: @ 8091E34 push {lr} - ldr r0, _08091E50 @ =gUnknown_20397B0 + ldr r0, _08091E50 @ =sPSSData ldr r0, [r0] movs r1, 0xDF lsls r1, 3 @@ -12671,12 +12671,12 @@ sub_8091E34: @ 8091E34 bl FreeSpriteTilesByTag b _08091E5A .align 2, 0 -_08091E50: .4byte gUnknown_20397B0 +_08091E50: .4byte sPSSData _08091E54: movs r0, 0x3 bl FreeSpriteTilesByTag _08091E5A: - ldr r0, _08091E7C @ =gUnknown_20397B0 + ldr r0, _08091E7C @ =sPSSData ldr r0, [r0] movs r3, 0xE4 lsls r3, 3 @@ -12694,7 +12694,7 @@ _08091E5A: pop {r0} bx r0 .align 2, 0 -_08091E7C: .4byte gUnknown_20397B0 +_08091E7C: .4byte sPSSData _08091E80: .4byte 0x00000724 thumb_func_end sub_8091E34 @@ -12771,7 +12771,7 @@ sub_8091EF0: @ 8091EF0 bl sub_808BD94 lsls r0, 24 lsrs r1, r0, 24 - ldr r0, _08091F2C @ =gUnknown_20397B0 + ldr r0, _08091F2C @ =sPSSData ldr r2, [r0] movs r3, 0xDF lsls r3, 3 @@ -12792,7 +12792,7 @@ sub_8091EF0: @ 8091EF0 bl CpuSet b _08091F50 .align 2, 0 -_08091F2C: .4byte gUnknown_20397B0 +_08091F2C: .4byte sPSSData _08091F30: .4byte gUnknown_83D29D0 _08091F34: .4byte gPlttBufferUnfaded _08091F38: @@ -12874,7 +12874,7 @@ _08091F8A: adds r0, r1, 0 _08091FCA: strh r0, [r4, 0x34] - ldr r0, _08092008 @ =gUnknown_20397B0 + ldr r0, _08092008 @ =sPSSData ldr r0, [r0] lsls r1, r5, 2 movs r2, 0xE6 @@ -12902,7 +12902,7 @@ _08091FF6: _08091FFC: .4byte gUnknown_83D2B54 _08092000: .4byte gUnknown_83D2BB4 _08092004: .4byte gSprites -_08092008: .4byte gUnknown_20397B0 +_08092008: .4byte sPSSData thumb_func_end sub_8091F80 thumb_func_start sub_809200C @@ -12911,7 +12911,7 @@ sub_809200C: @ 809200C lsls r0, 24 lsrs r5, r0, 24 movs r2, 0 - ldr r7, _08092060 @ =gUnknown_20397B0 + ldr r7, _08092060 @ =sPSSData mov r12, r7 movs r6, 0xE6 lsls r6, 3 @@ -12951,7 +12951,7 @@ _08092020: movs r2, 0x48 b _08092084 .align 2, 0 -_08092060: .4byte gUnknown_20397B0 +_08092060: .4byte sPSSData _08092064: .4byte 0x00000734 _08092068: ldr r1, [r7] @@ -12998,7 +12998,7 @@ sub_80920AC: @ 80920AC movs r5, 0 movs r6, 0x5 negs r6, r6 - ldr r4, _080920F8 @ =gUnknown_20397B0 + ldr r4, _080920F8 @ =sPSSData _080920B8: ldr r1, [r4] lsls r0, r3, 2 @@ -13031,7 +13031,7 @@ _080920B8: pop {r0} bx r0 .align 2, 0 -_080920F8: .4byte gUnknown_20397B0 +_080920F8: .4byte sPSSData thumb_func_end sub_80920AC thumb_func_start sub_80920FC @@ -13041,7 +13041,7 @@ sub_80920FC: @ 80920FC cmp r0, 0 beq _08092138 movs r2, 0 - ldr r6, _08092134 @ =gUnknown_20397B0 + ldr r6, _08092134 @ =sPSSData movs r5, 0xE6 lsls r5, 3 movs r3, 0 @@ -13066,10 +13066,10 @@ _08092110: bls _08092110 b _08092158 .align 2, 0 -_08092134: .4byte gUnknown_20397B0 +_08092134: .4byte sPSSData _08092138: movs r2, 0 - ldr r5, _08092160 @ =gUnknown_20397B0 + ldr r5, _08092160 @ =sPSSData movs r4, 0xE6 lsls r4, 3 movs r3, 0 @@ -13090,7 +13090,7 @@ _08092158: pop {r0} bx r0 .align 2, 0 -_08092160: .4byte gUnknown_20397B0 +_08092160: .4byte sPSSData thumb_func_end sub_80920FC thumb_func_start sub_8092164 @@ -13148,7 +13148,7 @@ _080921C8: strh r0, [r2, 0x2E] b _08092230 _080921CE: - ldr r0, _08092218 @ =gUnknown_20397B0 + ldr r0, _08092218 @ =sPSSData ldr r1, [r0] ldr r0, _0809221C @ =0x000002ce adds r1, r0 @@ -13187,10 +13187,10 @@ _080921F4: strh r0, [r2, 0x2E] b _08092230 .align 2, 0 -_08092218: .4byte gUnknown_20397B0 +_08092218: .4byte sPSSData _0809221C: .4byte 0x000002ce _08092220: - ldr r0, _08092234 @ =gUnknown_20397B0 + ldr r0, _08092234 @ =sPSSData ldr r0, [r0] ldr r1, _08092238 @ =0x000002ce adds r0, r1 @@ -13202,7 +13202,7 @@ _08092230: pop {r0} bx r0 .align 2, 0 -_08092234: .4byte gUnknown_20397B0 +_08092234: .4byte sPSSData _08092238: .4byte 0x000002ce thumb_func_end sub_8092164 @@ -13276,36 +13276,36 @@ _080922B6: thumb_func_start sub_80922C0 sub_80922C0: @ 80922C0 push {lr} - ldr r0, _080922D4 @ =gUnknown_20397B0 + ldr r0, _080922D4 @ =sPSSData ldr r0, [r0] ldrb r1, [r0, 0x1] cmp r1, 0x1 beq _080922DC - ldr r1, _080922D8 @ =gUnknown_2039820 + ldr r1, _080922D8 @ =sBoxCursorArea movs r0, 0 strb r0, [r1] b _080922E0 .align 2, 0 -_080922D4: .4byte gUnknown_20397B0 -_080922D8: .4byte gUnknown_2039820 +_080922D4: .4byte sPSSData +_080922D8: .4byte sBoxCursorArea _080922DC: - ldr r0, _0809231C @ =gUnknown_2039820 + ldr r0, _0809231C @ =sBoxCursorArea strb r1, [r0] _080922E0: - ldr r0, _08092320 @ =gUnknown_2039821 + ldr r0, _08092320 @ =sBoxCursorPosition movs r1, 0 strb r1, [r0] - ldr r0, _08092324 @ =gUnknown_2039822 + ldr r0, _08092324 @ =sIsMonBeingMoved strb r1, [r0] - ldr r0, _08092328 @ =gUnknown_2039823 + ldr r0, _08092328 @ =sMovingMonOrigBoxId strb r1, [r0] - ldr r0, _0809232C @ =gUnknown_2039824 + ldr r0, _0809232C @ =sMovingMonOrigBoxPos strb r1, [r0] - ldr r0, _08092330 @ =gUnknown_2039825 + ldr r0, _08092330 @ =sCanOnlyMove strb r1, [r0] bl sub_8092B50 bl sub_8094AD8 - ldr r2, _08092334 @ =gUnknown_20397B0 + ldr r2, _08092334 @ =sPSSData ldr r0, [r2] ldr r1, _08092338 @ =0x00000cd2 adds r0, r1 @@ -13320,13 +13320,13 @@ _080922E0: pop {r0} bx r0 .align 2, 0 -_0809231C: .4byte gUnknown_2039820 -_08092320: .4byte gUnknown_2039821 -_08092324: .4byte gUnknown_2039822 -_08092328: .4byte gUnknown_2039823 -_0809232C: .4byte gUnknown_2039824 -_08092330: .4byte gUnknown_2039825 -_08092334: .4byte gUnknown_20397B0 +_0809231C: .4byte sBoxCursorArea +_08092320: .4byte sBoxCursorPosition +_08092324: .4byte sIsMonBeingMoved +_08092328: .4byte sMovingMonOrigBoxId +_0809232C: .4byte sMovingMonOrigBoxPos +_08092330: .4byte sCanOnlyMove +_08092334: .4byte sPSSData _08092338: .4byte 0x00000cd2 _0809233C: .4byte 0x000021ef thumb_func_end sub_80922C0 @@ -13336,7 +13336,7 @@ sub_8092340: @ 8092340 push {lr} bl sub_8094AD8 bl sub_8093AAC - ldr r3, _08092380 @ =gUnknown_20397B0 + ldr r3, _08092380 @ =sPSSData ldr r0, [r3] ldr r1, _08092384 @ =0x00000cd2 adds r0, r1 @@ -13347,7 +13347,7 @@ sub_8092340: @ 8092340 ldr r1, _08092388 @ =0x000021ef adds r0, r1 strb r2, [r0] - ldr r0, _0809238C @ =gUnknown_2039822 + ldr r0, _0809238C @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _0809237A @@ -13362,10 +13362,10 @@ _0809237A: pop {r0} bx r0 .align 2, 0 -_08092380: .4byte gUnknown_20397B0 +_08092380: .4byte sPSSData _08092384: .4byte 0x00000cd2 _08092388: .4byte 0x000021ef -_0809238C: .4byte gUnknown_2039822 +_0809238C: .4byte sIsMonBeingMoved _08092390: .4byte 0x000020a0 _08092394: .4byte gUnknown_20397BC thumb_func_end sub_8092340 @@ -13446,7 +13446,7 @@ _08092422: movs r0, 0xC b _0809244E _0809242A: - ldr r0, _08092444 @ =gUnknown_2039822 + ldr r0, _08092444 @ =sIsMonBeingMoved ldrb r0, [r0] movs r1, 0xE cmp r0, 0 @@ -13460,7 +13460,7 @@ _08092436: strh r0, [r4] b _08092450 .align 2, 0 -_08092444: .4byte gUnknown_2039822 +_08092444: .4byte sIsMonBeingMoved _08092448: movs r0, 0xA0 strh r0, [r4] @@ -13476,7 +13476,7 @@ _08092450: thumb_func_start sub_8092458 sub_8092458: @ 8092458 push {lr} - ldr r0, _08092480 @ =gUnknown_2039820 + ldr r0, _08092480 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -13484,7 +13484,7 @@ sub_8092458: @ 8092458 beq _0809248C cmp r0, 0x1 bne _080924A0 - ldr r0, _08092484 @ =gUnknown_2039821 + ldr r0, _08092484 @ =sBoxCursorPosition movs r1, 0 ldrsb r1, [r0, r1] movs r0, 0x64 @@ -13495,11 +13495,11 @@ sub_8092458: @ 8092458 bl GetMonData b _08092496 .align 2, 0 -_08092480: .4byte gUnknown_2039820 -_08092484: .4byte gUnknown_2039821 +_08092480: .4byte sBoxCursorArea +_08092484: .4byte sBoxCursorPosition _08092488: .4byte gPlayerParty _0809248C: - ldr r0, _0809249C @ =gUnknown_2039821 + ldr r0, _0809249C @ =sBoxCursorPosition ldrb r0, [r0] movs r1, 0xB bl GetBoxMonDataFromSelectedBox @@ -13508,7 +13508,7 @@ _08092496: lsrs r0, 16 b _080924A2 .align 2, 0 -_0809249C: .4byte gUnknown_2039821 +_0809249C: .4byte sBoxCursorPosition _080924A0: movs r0, 0 _080924A2: @@ -13519,7 +13519,7 @@ _080924A2: thumb_func_start sub_80924A8 sub_80924A8: @ 80924A8 push {r4-r7,lr} - ldr r7, _080924C4 @ =gUnknown_20397B0 + ldr r7, _080924C4 @ =sPSSData ldr r5, [r7] ldr r0, _080924C8 @ =0x00000ccc adds r1, r5, r0 @@ -13532,7 +13532,7 @@ sub_80924A8: @ 80924A8 movs r0, 0 b _080925F4 .align 2, 0 -_080924C4: .4byte gUnknown_20397B0 +_080924C4: .4byte sPSSData _080924C8: .4byte 0x00000ccc _080924CC: bl sub_809610C @@ -13710,7 +13710,7 @@ sub_8092604: @ 8092604 mov r2, sp adds r3, r6, 0 bl sub_8092398 - ldr r1, _08092654 @ =gUnknown_20397B0 + ldr r1, _08092654 @ =sPSSData ldr r0, [r1] movs r2, 0xCD lsls r2, 4 @@ -13735,7 +13735,7 @@ sub_8092604: @ 8092604 pop {r0} bx r0 .align 2, 0 -_08092654: .4byte gUnknown_20397B0 +_08092654: .4byte sPSSData _08092658: .4byte 0x00000cd1 _0809265C: .4byte 0x00000cca thumb_func_end sub_8092604 @@ -13743,7 +13743,7 @@ _0809265C: .4byte 0x00000cca thumb_func_start sub_8092660 sub_8092660: @ 8092660 push {r4-r7,lr} - ldr r0, _0809267C @ =gUnknown_20397B0 + ldr r0, _0809267C @ =sPSSData ldr r2, [r0] ldr r3, _08092680 @ =0x00000cce adds r1, r2, r3 @@ -13756,7 +13756,7 @@ sub_8092660: @ 8092660 movs r0, 0xC b _0809268E .align 2, 0 -_0809267C: .4byte gUnknown_20397B0 +_0809267C: .4byte sPSSData _08092680: .4byte 0x00000cce _08092684: .4byte 0x00000ccc _08092688: @@ -13944,7 +13944,7 @@ sub_80927E8: @ 80927E8 adds r1, r6, 0 bl sub_8092604 bl sub_8092660 - ldr r5, _0809282C @ =gUnknown_20397B0 + ldr r5, _0809282C @ =sPSSData ldr r1, [r5] ldrb r0, [r1, 0x1] cmp r0, 0x3 @@ -13954,7 +13954,7 @@ sub_80927E8: @ 80927E8 ldrb r0, [r0] cmp r0, 0 bne _08092852 - ldr r0, _08092834 @ =gUnknown_2039822 + ldr r0, _08092834 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08092852 @@ -13966,9 +13966,9 @@ sub_80927E8: @ 80927E8 bl StartSpriteAnim b _08092852 .align 2, 0 -_0809282C: .4byte gUnknown_20397B0 +_0809282C: .4byte sPSSData _08092830: .4byte 0x000021ef -_08092834: .4byte gUnknown_2039822 +_08092834: .4byte sIsMonBeingMoved _08092838: bl sub_809616C lsls r0, 24 @@ -13982,30 +13982,30 @@ _08092838: movs r1, 0x1 bl StartSpriteAnim _08092852: - ldr r0, _08092874 @ =gUnknown_20397B0 + ldr r0, _08092874 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 bne _080928AC - ldr r0, _08092878 @ =gUnknown_2039820 + ldr r0, _08092878 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08092880 - ldr r0, _0809287C @ =gUnknown_2039821 + ldr r0, _0809287C @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0 bl sub_8095D44 b _0809288E .align 2, 0 -_08092874: .4byte gUnknown_20397B0 -_08092878: .4byte gUnknown_2039820 -_0809287C: .4byte gUnknown_2039821 +_08092874: .4byte sPSSData +_08092878: .4byte sBoxCursorArea +_0809287C: .4byte sBoxCursorPosition _08092880: cmp r0, 0x1 bne _0809288E - ldr r0, _0809289C @ =gUnknown_2039821 + ldr r0, _0809289C @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0x1 bl sub_8095D44 @@ -14017,7 +14017,7 @@ _0809288E: bl sub_8095C84 b _080928AC .align 2, 0 -_0809289C: .4byte gUnknown_2039821 +_0809289C: .4byte sBoxCursorPosition _080928A0: cmp r4, 0x1 bne _080928D8 @@ -14027,13 +14027,13 @@ _080928A0: _080928AC: cmp r4, 0x1 bne _080928D8 - ldr r0, _08092920 @ =gUnknown_2039820 + ldr r0, _08092920 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 beq _080928D8 - ldr r1, _08092924 @ =gUnknown_20397B0 + ldr r1, _08092924 @ =sPSSData ldr r0, [r1] ldr r2, _08092928 @ =0x00000cd2 adds r0, r2 @@ -14054,7 +14054,7 @@ _080928D8: blt _080929A0 cmp r4, 0x3 bgt _080929A0 - ldr r5, _08092924 @ =gUnknown_20397B0 + ldr r5, _08092924 @ =sPSSData ldr r0, [r5] movs r2, 0xCB lsls r2, 4 @@ -14085,12 +14085,12 @@ _080928D8: strb r2, [r1, 0x5] b _080929A0 .align 2, 0 -_08092920: .4byte gUnknown_2039820 -_08092924: .4byte gUnknown_20397B0 +_08092920: .4byte sBoxCursorArea +_08092924: .4byte sPSSData _08092928: .4byte 0x00000cd2 _0809292C: .4byte 0x00000cb4 _08092930: - ldr r3, _08092964 @ =gUnknown_20397B0 + ldr r3, _08092964 @ =sPSSData ldr r1, [r3] ldr r2, _08092968 @ =0x000021ef adds r0, r1, r2 @@ -14117,7 +14117,7 @@ _08092930: strb r0, [r1] b _080929A0 .align 2, 0 -_08092964: .4byte gUnknown_20397B0 +_08092964: .4byte sPSSData _08092968: .4byte 0x000021ef _0809296C: .4byte 0x00000cb4 _08092970: @@ -14132,13 +14132,13 @@ _08092970: movs r1, 0x8 orrs r0, r1 strb r0, [r2, 0x5] - ldr r0, _080929A8 @ =gUnknown_2039820 + ldr r0, _080929A8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _080929A0 - ldr r0, _080929AC @ =gUnknown_2039822 + ldr r0, _080929AC @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080929A0 @@ -14149,22 +14149,22 @@ _080929A0: pop {r0} bx r0 .align 2, 0 -_080929A8: .4byte gUnknown_2039820 -_080929AC: .4byte gUnknown_2039822 +_080929A8: .4byte sBoxCursorArea +_080929AC: .4byte sIsMonBeingMoved thumb_func_end sub_80927E8 thumb_func_start sub_80929B0 sub_80929B0: @ 80929B0 push {r4,lr} - ldr r1, _080929F4 @ =gUnknown_2039820 - ldr r4, _080929F8 @ =gUnknown_20397B0 + ldr r1, _080929F4 @ =sBoxCursorArea + ldr r4, _080929F8 @ =sPSSData ldr r2, [r4] movs r3, 0xCD lsls r3, 4 adds r0, r2, r3 ldrb r0, [r0] strb r0, [r1] - ldr r1, _080929FC @ =gUnknown_2039821 + ldr r1, _080929FC @ =sBoxCursorPosition adds r3, 0x1 adds r0, r2, r3 ldrb r0, [r0] @@ -14177,7 +14177,7 @@ sub_80929B0: @ 80929B0 ldrb r0, [r0] cmp r0, 0 bne _08092A22 - ldr r0, _08092A04 @ =gUnknown_2039822 + ldr r0, _08092A04 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08092A22 @@ -14188,11 +14188,11 @@ sub_80929B0: @ 80929B0 bl StartSpriteAnim b _08092A22 .align 2, 0 -_080929F4: .4byte gUnknown_2039820 -_080929F8: .4byte gUnknown_20397B0 -_080929FC: .4byte gUnknown_2039821 +_080929F4: .4byte sBoxCursorArea +_080929F8: .4byte sPSSData +_080929FC: .4byte sBoxCursorPosition _08092A00: .4byte 0x000021ef -_08092A04: .4byte gUnknown_2039822 +_08092A04: .4byte sIsMonBeingMoved _08092A08: bl sub_809616C lsls r0, 24 @@ -14207,7 +14207,7 @@ _08092A08: bl StartSpriteAnim _08092A22: bl sub_8093A10 - ldr r0, _08092A3C @ =gUnknown_2039820 + ldr r0, _08092A3C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14219,7 +14219,7 @@ _08092A22: beq _08092A74 b _08092AD0 .align 2, 0 -_08092A3C: .4byte gUnknown_2039820 +_08092A3C: .4byte sBoxCursorArea _08092A40: cmp r0, 0x2 beq _08092A4A @@ -14231,7 +14231,7 @@ _08092A4A: bl sub_80920FC b _08092AD0 _08092A52: - ldr r0, _08092A6C @ =gUnknown_20397B0 + ldr r0, _08092A6C @ =sPSSData ldr r0, [r0] ldr r2, _08092A70 @ =0x00000cb4 adds r0, r2 @@ -14244,10 +14244,10 @@ _08092A62: bl sub_8091184 b _08092AD0 .align 2, 0 -_08092A6C: .4byte gUnknown_20397B0 +_08092A6C: .4byte sPSSData _08092A70: .4byte 0x00000cb4 _08092A74: - ldr r4, _08092AD8 @ =gUnknown_20397B0 + ldr r4, _08092AD8 @ =sPSSData ldr r1, [r4] ldr r3, _08092ADC @ =0x000021ef adds r0, r1, r3 @@ -14297,7 +14297,7 @@ _08092AD0: pop {r0} bx r0 .align 2, 0 -_08092AD8: .4byte gUnknown_20397B0 +_08092AD8: .4byte sPSSData _08092ADC: .4byte 0x000021ef _08092AE0: .4byte 0x00000cb4 thumb_func_end sub_80929B0 @@ -14305,14 +14305,14 @@ _08092AE0: .4byte 0x00000cb4 thumb_func_start sub_8092AE4 sub_8092AE4: @ 8092AE4 push {lr} - ldr r0, _08092AF4 @ =gUnknown_2039822 + ldr r0, _08092AF4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08092AF8 movs r3, 0 b _08092B06 .align 2, 0 -_08092AF4: .4byte gUnknown_2039822 +_08092AF4: .4byte sIsMonBeingMoved _08092AF8: bl CalculatePlayerPartyCount lsls r0, 24 @@ -14321,7 +14321,7 @@ _08092AF8: bls _08092B06 movs r3, 0x5 _08092B06: - ldr r0, _08092B34 @ =gUnknown_20397B0 + ldr r0, _08092B34 @ =sPSSData ldr r2, [r0] movs r1, 0xCB lsls r1, 4 @@ -14344,7 +14344,7 @@ _08092B26: pop {r0} bx r0 .align 2, 0 -_08092B34: .4byte gUnknown_20397B0 +_08092B34: .4byte sPSSData _08092B38: .4byte 0x00000cd3 thumb_func_end sub_8092AE4 @@ -14373,13 +14373,13 @@ _08092B58: .4byte gUnknown_2039826 thumb_func_start sub_8092B5C sub_8092B5C: @ 8092B5C ldr r0, _08092B68 @ =gUnknown_2039826 - ldr r1, _08092B6C @ =gUnknown_2039821 + ldr r1, _08092B6C @ =sBoxCursorPosition ldrb r1, [r1] strb r1, [r0] bx lr .align 2, 0 _08092B68: .4byte gUnknown_2039826 -_08092B6C: .4byte gUnknown_2039821 +_08092B6C: .4byte sBoxCursorPosition thumb_func_end sub_8092B5C thumb_func_start sub_8092B70 @@ -14394,7 +14394,7 @@ _08092B78: .4byte gUnknown_2039826 thumb_func_start sub_8092B7C sub_8092B7C: @ 8092B7C lsls r0, 24 - ldr r1, _08092B9C @ =gUnknown_20397B0 + ldr r1, _08092B9C @ =sPSSData ldr r1, [r1] ldr r2, _08092BA0 @ =0x00000d88 adds r3, r1, r2 @@ -14409,7 +14409,7 @@ sub_8092B7C: @ 8092B7C strb r0, [r1] bx lr .align 2, 0 -_08092B9C: .4byte gUnknown_20397B0 +_08092B9C: .4byte sPSSData _08092BA0: .4byte 0x00000d88 _08092BA4: .4byte gUnknown_83D346C _08092BA8: .4byte 0x00000d8c @@ -14421,18 +14421,18 @@ sub_8092BAC: @ 8092BAC lsls r0, 24 cmp r0, 0 bne _08092BCC - ldr r0, _08092BC0 @ =gUnknown_20397B0 + ldr r0, _08092BC0 @ =sPSSData ldr r1, [r0] ldr r2, _08092BC4 @ =0x00000d88 adds r1, r2 ldr r2, _08092BC8 @ =sub_8092E00 b _08092BD6 .align 2, 0 -_08092BC0: .4byte gUnknown_20397B0 +_08092BC0: .4byte sPSSData _08092BC4: .4byte 0x00000d88 _08092BC8: .4byte sub_8092E00 _08092BCC: - ldr r0, _08092BE8 @ =gUnknown_20397B0 + ldr r0, _08092BE8 @ =sPSSData ldr r1, [r0] ldr r2, _08092BEC @ =0x00000d88 adds r1, r2 @@ -14447,7 +14447,7 @@ _08092BD6: pop {r0} bx r0 .align 2, 0 -_08092BE8: .4byte gUnknown_20397B0 +_08092BE8: .4byte sPSSData _08092BEC: .4byte 0x00000d88 _08092BF0: .4byte sub_8092E10 _08092BF4: .4byte 0x00000d8c @@ -14456,7 +14456,7 @@ _08092BF4: .4byte 0x00000d8c thumb_func_start sub_8092BF8 sub_8092BF8: @ 8092BF8 push {lr} - ldr r0, _08092C10 @ =gUnknown_20397B0 + ldr r0, _08092C10 @ =sPSSData ldr r0, [r0] ldr r1, _08092C14 @ =0x00000d88 adds r0, r1 @@ -14467,14 +14467,14 @@ sub_8092BF8: @ 8092BF8 pop {r1} bx r1 .align 2, 0 -_08092C10: .4byte gUnknown_20397B0 +_08092C10: .4byte sPSSData _08092C14: .4byte 0x00000d88 thumb_func_end sub_8092BF8 thumb_func_start sub_8092C18 sub_8092C18: @ 8092C18 push {r4,r5,lr} - ldr r4, _08092C34 @ =gUnknown_20397B0 + ldr r4, _08092C34 @ =sPSSData ldr r1, [r4] ldr r5, _08092C38 @ =0x00000d8c adds r0, r1, r5 @@ -14487,7 +14487,7 @@ sub_8092C18: @ 8092C18 beq _08092C46 b _08092C9C .align 2, 0 -_08092C34: .4byte gUnknown_20397B0 +_08092C34: .4byte sPSSData _08092C38: .4byte 0x00000d8c _08092C3C: cmp r0, 0x2 @@ -14496,7 +14496,7 @@ _08092C3C: beq _08092C4E b _08092C9C _08092C46: - ldr r0, _08092C54 @ =gUnknown_2039822 + ldr r0, _08092C54 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08092C58 @@ -14504,7 +14504,7 @@ _08092C4E: movs r0, 0 b _08092C9E .align 2, 0 -_08092C54: .4byte gUnknown_2039822 +_08092C54: .4byte sIsMonBeingMoved _08092C58: movs r2, 0xCB lsls r2, 4 @@ -14549,7 +14549,7 @@ _08092C9E: thumb_func_start sub_8092CA4 sub_8092CA4: @ 8092CA4 push {r4,r5,lr} - ldr r4, _08092CC0 @ =gUnknown_20397B0 + ldr r4, _08092CC0 @ =sPSSData ldr r0, [r4] ldr r5, _08092CC4 @ =0x00000d8c adds r0, r5 @@ -14562,7 +14562,7 @@ sub_8092CA4: @ 8092CA4 beq _08092CCE b _08092D18 .align 2, 0 -_08092CC0: .4byte gUnknown_20397B0 +_08092CC0: .4byte sPSSData _08092CC4: .4byte 0x00000d8c _08092CC8: cmp r0, 0x2 @@ -14615,7 +14615,7 @@ _08092D1A: thumb_func_start sub_8092D20 sub_8092D20: @ 8092D20 push {r4,r5,lr} - ldr r4, _08092D3C @ =gUnknown_20397B0 + ldr r4, _08092D3C @ =sPSSData ldr r1, [r4] ldr r5, _08092D40 @ =0x00000d8c adds r0, r1, r5 @@ -14628,14 +14628,14 @@ sub_8092D20: @ 8092D20 beq _08092D4A b _08092DF8 .align 2, 0 -_08092D3C: .4byte gUnknown_20397B0 +_08092D3C: .4byte sPSSData _08092D40: .4byte 0x00000d8c _08092D44: cmp r0, 0x2 beq _08092DF4 b _08092DF8 _08092D4A: - ldr r0, _08092D64 @ =gUnknown_2039820 + ldr r0, _08092D64 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14648,7 +14648,7 @@ _08092D4A: movs r0, 0xE b _08092D76 .align 2, 0 -_08092D64: .4byte gUnknown_2039820 +_08092D64: .4byte sBoxCursorArea _08092D68: .4byte 0x00000d8d _08092D6C: bl StorageGetCurrentBox @@ -14657,7 +14657,7 @@ _08092D6C: adds r1, r2 _08092D76: strb r0, [r1] - ldr r4, _08092DA8 @ =gUnknown_20397B0 + ldr r4, _08092DA8 @ =sPSSData ldr r0, [r4] movs r1, 0xCB lsls r1, 4 @@ -14669,7 +14669,7 @@ _08092D76: ldr r2, _08092DA4 @ =0x00000d8d adds r0, r2 ldrb r0, [r0] - ldr r1, _08092DAC @ =gUnknown_2039821 + ldr r1, _08092DAC @ =sBoxCursorPosition ldrb r1, [r1] bl sub_8090E08 ldr r1, [r4] @@ -14678,8 +14678,8 @@ _08092D76: b _08092DE2 .align 2, 0 _08092DA4: .4byte 0x00000d8d -_08092DA8: .4byte gUnknown_20397B0 -_08092DAC: .4byte gUnknown_2039821 +_08092DA8: .4byte sPSSData +_08092DAC: .4byte sBoxCursorPosition _08092DB0: .4byte 0x00000d8c _08092DB4: bl sub_8090E74 @@ -14697,7 +14697,7 @@ _08092DB4: ldr r2, _08092DEC @ =0x00000d8d adds r0, r2 ldrb r0, [r0] - ldr r1, _08092DF0 @ =gUnknown_2039821 + ldr r1, _08092DF0 @ =sBoxCursorPosition ldrb r1, [r1] bl diegohint1 ldr r1, [r4] @@ -14709,7 +14709,7 @@ _08092DE2: b _08092DF8 .align 2, 0 _08092DEC: .4byte 0x00000d8d -_08092DF0: .4byte gUnknown_2039821 +_08092DF0: .4byte sBoxCursorPosition _08092DF4: movs r0, 0 b _08092DFA @@ -14744,7 +14744,7 @@ sub_8092E10: @ 8092E10 thumb_func_start sub_8092E20 sub_8092E20: @ 8092E20 push {lr} - ldr r0, _08092E44 @ =gUnknown_20397B0 + ldr r0, _08092E44 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -14762,7 +14762,7 @@ _08092E3A: strh r0, [r1, 0x26] b _08092E4C .align 2, 0 -_08092E44: .4byte gUnknown_20397B0 +_08092E44: .4byte sPSSData _08092E48: movs r0, 0 b _08092E4E @@ -14776,7 +14776,7 @@ _08092E4E: thumb_func_start sub_8092E54 sub_8092E54: @ 8092E54 push {lr} - ldr r0, _08092E74 @ =gUnknown_20397B0 + ldr r0, _08092E74 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -14792,7 +14792,7 @@ sub_8092E54: @ 8092E54 movs r0, 0x1 b _08092E7A .align 2, 0 -_08092E74: .4byte gUnknown_20397B0 +_08092E74: .4byte sPSSData _08092E78: movs r0, 0 _08092E7A: @@ -14803,7 +14803,7 @@ _08092E7A: thumb_func_start sub_8092E80 sub_8092E80: @ 8092E80 push {r4,lr} - ldr r0, _08092EA8 @ =gUnknown_2039820 + ldr r0, _08092EA8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14811,7 +14811,7 @@ sub_8092E80: @ 8092E80 beq _08092EB0 cmp r0, 0x1 bne _08092EDC - ldr r4, _08092EAC @ =gUnknown_2039821 + ldr r4, _08092EAC @ =sBoxCursorPosition ldrb r1, [r4] movs r0, 0xE bl sub_8092F60 @@ -14820,10 +14820,10 @@ sub_8092E80: @ 8092E80 bl sub_8090CC0 b _08092ED6 .align 2, 0 -_08092EA8: .4byte gUnknown_2039820 -_08092EAC: .4byte gUnknown_2039821 +_08092EA8: .4byte sBoxCursorArea +_08092EAC: .4byte sBoxCursorPosition _08092EB0: - ldr r0, _08092EE4 @ =gUnknown_20397B0 + ldr r0, _08092EE4 @ =sPSSData ldr r0, [r0] ldr r1, _08092EE8 @ =0x000021ef adds r0, r1 @@ -14833,14 +14833,14 @@ _08092EB0: bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 - ldr r4, _08092EEC @ =gUnknown_2039821 + ldr r4, _08092EEC @ =sBoxCursorPosition ldrb r1, [r4] bl sub_8092F60 ldrb r1, [r4] movs r0, 0x1 bl sub_8090CC0 _08092ED6: - ldr r1, _08092EF0 @ =gUnknown_2039822 + ldr r1, _08092EF0 @ =sIsMonBeingMoved movs r0, 0x1 strb r0, [r1] _08092EDC: @@ -14848,16 +14848,16 @@ _08092EDC: pop {r0} bx r0 .align 2, 0 -_08092EE4: .4byte gUnknown_20397B0 +_08092EE4: .4byte sPSSData _08092EE8: .4byte 0x000021ef -_08092EEC: .4byte gUnknown_2039821 -_08092EF0: .4byte gUnknown_2039822 +_08092EEC: .4byte sBoxCursorPosition +_08092EF0: .4byte sIsMonBeingMoved thumb_func_end sub_8092E80 thumb_func_start sub_8092EF4 sub_8092EF4: @ 8092EF4 push {r4,r5,lr} - ldr r0, _08092F1C @ =gUnknown_2039820 + ldr r0, _08092F1C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14865,7 +14865,7 @@ sub_8092EF4: @ 8092EF4 beq _08092F24 cmp r0, 0x1 bne _08092F46 - ldr r4, _08092F20 @ =gUnknown_2039821 + ldr r4, _08092F20 @ =sBoxCursorPosition ldrb r1, [r4] movs r0, 0xE bl diegohint2 @@ -14874,14 +14874,14 @@ sub_8092EF4: @ 8092EF4 bl sub_8090D58 b _08092F40 .align 2, 0 -_08092F1C: .4byte gUnknown_2039820 -_08092F20: .4byte gUnknown_2039821 +_08092F1C: .4byte sBoxCursorArea +_08092F20: .4byte sBoxCursorPosition _08092F24: bl StorageGetCurrentBox adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, _08092F4C @ =gUnknown_2039821 + ldr r5, _08092F4C @ =sBoxCursorPosition ldrb r1, [r5] adds r0, r4, 0 bl diegohint2 @@ -14889,7 +14889,7 @@ _08092F24: adds r0, r4, 0 bl sub_8090D58 _08092F40: - ldr r1, _08092F50 @ =gUnknown_2039822 + ldr r1, _08092F50 @ =sIsMonBeingMoved movs r0, 0 strb r0, [r1] _08092F46: @@ -14897,8 +14897,8 @@ _08092F46: pop {r0} bx r0 .align 2, 0 -_08092F4C: .4byte gUnknown_2039821 -_08092F50: .4byte gUnknown_2039822 +_08092F4C: .4byte sBoxCursorPosition +_08092F50: .4byte sIsMonBeingMoved thumb_func_end sub_8092EF4 thumb_func_start sub_8092F54 @@ -14918,12 +14918,12 @@ sub_8092F60: @ 8092F60 lsrs r5, r1, 24 cmp r4, 0xE bne _08092F9C - ldr r0, _08092F8C @ =gUnknown_20397B0 + ldr r0, _08092F8C @ =sPSSData ldr r0, [r0] ldr r1, _08092F90 @ =0x000020a0 adds r0, r1 ldr r3, _08092F94 @ =gPlayerParty - ldr r1, _08092F98 @ =gUnknown_2039821 + ldr r1, _08092F98 @ =sBoxCursorPosition movs r2, 0 ldrsb r2, [r1, r2] movs r1, 0x64 @@ -14933,12 +14933,12 @@ sub_8092F60: @ 8092F60 bl memcpy b _08092FAC .align 2, 0 -_08092F8C: .4byte gUnknown_20397B0 +_08092F8C: .4byte sPSSData _08092F90: .4byte 0x000020a0 _08092F94: .4byte gPlayerParty -_08092F98: .4byte gUnknown_2039821 +_08092F98: .4byte sBoxCursorPosition _08092F9C: - ldr r0, _08092FC4 @ =gUnknown_20397B0 + ldr r0, _08092FC4 @ =sPSSData ldr r2, [r0] ldr r0, _08092FC8 @ =0x000020a0 adds r2, r0 @@ -14949,18 +14949,18 @@ _08092FAC: adds r0, r4, 0 adds r1, r5, 0 bl sub_8093030 - ldr r0, _08092FCC @ =gUnknown_2039823 + ldr r0, _08092FCC @ =sMovingMonOrigBoxId strb r4, [r0] - ldr r0, _08092FD0 @ =gUnknown_2039824 + ldr r0, _08092FD0 @ =sMovingMonOrigBoxPos strb r5, [r0] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_08092FC4: .4byte gUnknown_20397B0 +_08092FC4: .4byte sPSSData _08092FC8: .4byte 0x000020a0 -_08092FCC: .4byte gUnknown_2039823 -_08092FD0: .4byte gUnknown_2039824 +_08092FCC: .4byte sMovingMonOrigBoxId +_08092FD0: .4byte sMovingMonOrigBoxPos thumb_func_end sub_8092F60 thumb_func_start diegohint2 @@ -14976,7 +14976,7 @@ diegohint2: @ 8092FD4 movs r0, 0x64 muls r0, r7 adds r0, r1 - ldr r1, _08093000 @ =gUnknown_20397B0 + ldr r1, _08093000 @ =sPSSData ldr r1, [r1] ldr r2, _08093004 @ =0x000020a0 adds r1, r2 @@ -14985,10 +14985,10 @@ diegohint2: @ 8092FD4 b _08093020 .align 2, 0 _08092FFC: .4byte gPlayerParty -_08093000: .4byte gUnknown_20397B0 +_08093000: .4byte sPSSData _08093004: .4byte 0x000020a0 _08093008: - ldr r5, _08093028 @ =gUnknown_20397B0 + ldr r5, _08093028 @ =sPSSData ldr r0, [r5] ldr r4, _0809302C @ =0x000020a0 adds r0, r4 @@ -15003,7 +15003,7 @@ _08093020: pop {r0} bx r0 .align 2, 0 -_08093028: .4byte gUnknown_20397B0 +_08093028: .4byte sPSSData _0809302C: .4byte 0x000020a0 thumb_func_end diegohint2 @@ -15040,7 +15040,7 @@ diegohint1: @ 8093058 lsrs r7, r1, 24 cmp r6, 0xE bne _0809308C - ldr r0, _08093080 @ =gUnknown_20397B0 + ldr r0, _08093080 @ =sPSSData ldr r0, [r0] ldr r1, _08093084 @ =0x00002104 adds r0, r1 @@ -15052,11 +15052,11 @@ diegohint1: @ 8093058 bl memcpy b _0809309C .align 2, 0 -_08093080: .4byte gUnknown_20397B0 +_08093080: .4byte sPSSData _08093084: .4byte 0x00002104 _08093088: .4byte gPlayerParty _0809308C: - ldr r0, _080930D0 @ =gUnknown_20397B0 + ldr r0, _080930D0 @ =sPSSData ldr r2, [r0] ldr r0, _080930D4 @ =0x00002104 adds r2, r0 @@ -15067,7 +15067,7 @@ _0809309C: adds r0, r6, 0 adds r1, r7, 0 bl diegohint2 - ldr r5, _080930D0 @ =gUnknown_20397B0 + ldr r5, _080930D0 @ =sPSSData ldr r1, [r5] ldr r4, _080930D8 @ =0x000020a0 adds r0, r1, r4 @@ -15079,19 +15079,19 @@ _0809309C: adds r0, r4 movs r1, 0 bl sub_8093AD0 - ldr r0, _080930DC @ =gUnknown_2039823 + ldr r0, _080930DC @ =sMovingMonOrigBoxId strb r6, [r0] - ldr r0, _080930E0 @ =gUnknown_2039824 + ldr r0, _080930E0 @ =sMovingMonOrigBoxPos strb r7, [r0] pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080930D0: .4byte gUnknown_20397B0 +_080930D0: .4byte sPSSData _080930D4: .4byte 0x00002104 _080930D8: .4byte 0x000020a0 -_080930DC: .4byte gUnknown_2039823 -_080930E0: .4byte gUnknown_2039824 +_080930DC: .4byte sMovingMonOrigBoxId +_080930E0: .4byte sMovingMonOrigBoxPos thumb_func_end diegohint1 thumb_func_start sub_80930E4 @@ -15111,7 +15111,7 @@ sub_80930E4: @ 80930E4 movs r0, 0 b _08093164 _08093102: - ldr r5, _08093120 @ =gUnknown_2039822 + ldr r5, _08093120 @ =sIsMonBeingMoved ldrb r0, [r5] cmp r0, 0 beq _08093124 @@ -15124,9 +15124,9 @@ _08093102: strb r0, [r5] b _0809313E .align 2, 0 -_08093120: .4byte gUnknown_2039822 +_08093120: .4byte sIsMonBeingMoved _08093124: - ldr r5, _0809316C @ =gUnknown_2039821 + ldr r5, _0809316C @ =sBoxCursorPosition ldrb r1, [r5] movs r0, 0xE bl sub_8092F60 @@ -15145,7 +15145,7 @@ _0809313E: lsrs r0, r4, 24 bl sub_80901EC _08093150: - ldr r0, _08093170 @ =gUnknown_20397B0 + ldr r0, _08093170 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15159,14 +15159,14 @@ _08093164: pop {r1} bx r1 .align 2, 0 -_0809316C: .4byte gUnknown_2039821 -_08093170: .4byte gUnknown_20397B0 +_0809316C: .4byte sBoxCursorPosition +_08093170: .4byte sPSSData thumb_func_end sub_80930E4 thumb_func_start sub_8093174 sub_8093174: @ 8093174 push {lr} - ldr r0, _08093190 @ =gUnknown_20397B0 + ldr r0, _08093190 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15178,22 +15178,22 @@ sub_8093174: @ 8093174 pop {r0} bx r0 .align 2, 0 -_08093190: .4byte gUnknown_20397B0 +_08093190: .4byte sPSSData thumb_func_end sub_8093174 thumb_func_start sub_8093194 sub_8093194: @ 8093194 push {lr} - ldr r0, _080931A4 @ =gUnknown_2039822 + ldr r0, _080931A4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080931A8 movs r2, 0x2 b _080931B8 .align 2, 0 -_080931A4: .4byte gUnknown_2039822 +_080931A4: .4byte sIsMonBeingMoved _080931A8: - ldr r0, _080931D8 @ =gUnknown_2039820 + ldr r0, _080931D8 @ =sBoxCursorArea movs r1, 0 ldrsb r1, [r0, r1] movs r2, 0x1 @@ -15202,11 +15202,11 @@ _080931A8: orrs r0, r1 lsrs r2, r0, 31 _080931B8: - ldr r0, _080931DC @ =gUnknown_2039821 + ldr r0, _080931DC @ =sBoxCursorPosition ldrb r1, [r0] adds r0, r2, 0 bl sub_8090FC4 - ldr r0, _080931E0 @ =gUnknown_20397B0 + ldr r0, _080931E0 @ =sPSSData ldr r1, [r0] ldr r2, _080931E4 @ =0x000021d0 adds r0, r1, r2 @@ -15216,9 +15216,9 @@ _080931B8: pop {r0} bx r0 .align 2, 0 -_080931D8: .4byte gUnknown_2039820 -_080931DC: .4byte gUnknown_2039821 -_080931E0: .4byte gUnknown_20397B0 +_080931D8: .4byte sBoxCursorArea +_080931DC: .4byte sBoxCursorPosition +_080931E0: .4byte sPSSData _080931E4: .4byte 0x000021d0 _080931E8: .4byte 0x00000cea thumb_func_end sub_8093194 @@ -15233,7 +15233,7 @@ sub_80931EC: @ 80931EC movs r0, 0x1 b _08093210 _080931FC: - ldr r0, _08093214 @ =gUnknown_20397B0 + ldr r0, _08093214 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15246,14 +15246,14 @@ _08093210: pop {r1} bx r1 .align 2, 0 -_08093214: .4byte gUnknown_20397B0 +_08093214: .4byte sPSSData thumb_func_end sub_80931EC thumb_func_start sub_8093218 sub_8093218: @ 8093218 push {lr} bl sub_80910CC - ldr r1, _0809322C @ =gUnknown_2039822 + ldr r1, _0809322C @ =sIsMonBeingMoved ldrb r0, [r1] cmp r0, 0 beq _08093230 @@ -15261,9 +15261,9 @@ sub_8093218: @ 8093218 strb r0, [r1] b _08093256 .align 2, 0 -_0809322C: .4byte gUnknown_2039822 +_0809322C: .4byte sIsMonBeingMoved _08093230: - ldr r0, _08093240 @ =gUnknown_2039820 + ldr r0, _08093240 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -15272,13 +15272,13 @@ _08093230: movs r2, 0xE b _0809324C .align 2, 0 -_08093240: .4byte gUnknown_2039820 +_08093240: .4byte sBoxCursorArea _08093244: bl StorageGetCurrentBox lsls r0, 24 lsrs r2, r0, 24 _0809324C: - ldr r0, _08093260 @ =gUnknown_2039821 + ldr r0, _08093260 @ =sBoxCursorPosition ldrb r1, [r0] adds r0, r2, 0 bl sub_8093030 @@ -15287,17 +15287,17 @@ _08093256: pop {r0} bx r0 .align 2, 0 -_08093260: .4byte gUnknown_2039821 +_08093260: .4byte sBoxCursorPosition thumb_func_end sub_8093218 thumb_func_start sub_8093264 sub_8093264: @ 8093264 push {lr} - ldr r0, _08093284 @ =gUnknown_2039822 + ldr r0, _08093284 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08093280 - ldr r0, _08093288 @ =gUnknown_20397B0 + ldr r0, _08093288 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15309,18 +15309,18 @@ _08093280: pop {r0} bx r0 .align 2, 0 -_08093284: .4byte gUnknown_2039822 -_08093288: .4byte gUnknown_20397B0 +_08093284: .4byte sIsMonBeingMoved +_08093288: .4byte sPSSData thumb_func_end sub_8093264 thumb_func_start sub_809328C sub_809328C: @ 809328C push {r4-r6,lr} - ldr r0, _080932C0 @ =gUnknown_2039822 + ldr r0, _080932C0 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080932D8 - ldr r4, _080932C4 @ =gUnknown_20397B0 + ldr r4, _080932C4 @ =sPSSData ldr r1, [r4] ldr r2, _080932C8 @ =0x00002104 adds r0, r1, r2 @@ -15340,25 +15340,25 @@ sub_809328C: @ 809328C negs r1, r1 b _08093354 .align 2, 0 -_080932C0: .4byte gUnknown_2039822 -_080932C4: .4byte gUnknown_20397B0 +_080932C0: .4byte sIsMonBeingMoved +_080932C4: .4byte sPSSData _080932C8: .4byte 0x00002104 _080932CC: .4byte 0x000020a0 _080932D0: .4byte 0x0000216e _080932D4: .4byte 0x0000216f _080932D8: - ldr r0, _0809330C @ =gUnknown_2039820 + ldr r0, _0809330C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _08093324 - ldr r4, _08093310 @ =gUnknown_20397B0 + ldr r4, _08093310 @ =sPSSData ldr r0, [r4] ldr r3, _08093314 @ =0x00002104 adds r0, r3 ldr r3, _08093318 @ =gPlayerParty - ldr r1, _0809331C @ =gUnknown_2039821 + ldr r1, _0809331C @ =sBoxCursorPosition movs r2, 0 ldrsb r2, [r1, r2] movs r1, 0x64 @@ -15373,19 +15373,19 @@ _080932D8: strb r1, [r0] b _08093348 .align 2, 0 -_0809330C: .4byte gUnknown_2039820 -_08093310: .4byte gUnknown_20397B0 +_0809330C: .4byte sBoxCursorArea +_08093310: .4byte sPSSData _08093314: .4byte 0x00002104 _08093318: .4byte gPlayerParty -_0809331C: .4byte gUnknown_2039821 +_0809331C: .4byte sBoxCursorPosition _08093320: .4byte 0x0000216e _08093324: bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 - ldr r1, _080933BC @ =gUnknown_2039821 + ldr r1, _080933BC @ =sBoxCursorPosition ldrb r1, [r1] - ldr r4, _080933C0 @ =gUnknown_20397B0 + ldr r4, _080933C0 @ =sPSSData ldr r2, [r4] ldr r3, _080933C4 @ =0x00002104 adds r2, r3 @@ -15396,15 +15396,15 @@ _08093324: adds r1, r2 strb r0, [r1] _08093348: - ldr r0, _080933C0 @ =gUnknown_20397B0 + ldr r0, _080933C0 @ =sPSSData ldr r0, [r0] - ldr r1, _080933BC @ =gUnknown_2039821 + ldr r1, _080933BC @ =sBoxCursorPosition ldrb r1, [r1] ldr r3, _080933CC @ =0x0000216f adds r0, r3 _08093354: strb r1, [r0] - ldr r6, _080933C0 @ =gUnknown_20397B0 + ldr r6, _080933C0 @ =sPSSData ldr r0, [r6] ldr r4, _080933D0 @ =0x0000216a adds r0, r4 @@ -15455,8 +15455,8 @@ _08093354: strb r0, [r1] b _080933FE .align 2, 0 -_080933BC: .4byte gUnknown_2039821 -_080933C0: .4byte gUnknown_20397B0 +_080933BC: .4byte sBoxCursorPosition +_080933C0: .4byte sPSSData _080933C4: .4byte 0x00002104 _080933C8: .4byte 0x0000216e _080933CC: .4byte 0x0000216f @@ -15477,7 +15477,7 @@ _080933F0: adds r0, r1 strb r2, [r0] _080933FE: - ldr r0, _08093418 @ =gUnknown_20397B0 + ldr r0, _08093418 @ =sPSSData ldr r0, [r0] ldr r2, _0809341C @ =0x00002170 adds r0, r2 @@ -15489,7 +15489,7 @@ _080933FE: .align 2, 0 _08093410: .4byte 0x00002169 _08093414: .4byte 0x00002168 -_08093418: .4byte gUnknown_20397B0 +_08093418: .4byte sPSSData _0809341C: .4byte 0x00002170 thumb_func_end sub_809328C @@ -15498,7 +15498,7 @@ sub_8093420: @ 8093420 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _08093444 @ =gUnknown_20397B0 + ldr r0, _08093444 @ =sPSSData ldr r3, [r0] ldr r2, _08093448 @ =0x00002169 adds r1, r3, r2 @@ -15513,7 +15513,7 @@ sub_8093420: @ 8093420 asrs r0, 24 b _08093604 .align 2, 0 -_08093444: .4byte gUnknown_20397B0 +_08093444: .4byte sPSSData _08093448: .4byte 0x00002169 _0809344C: .4byte 0x00002168 _08093450: @@ -15569,7 +15569,7 @@ _08093488: _080934AE: movs r0, 0x2 ands r4, r0 - ldr r0, _08093510 @ =gUnknown_20397B0 + ldr r0, _08093510 @ =sPSSData mov r12, r0 cmp r4, 0 beq _080934C2 @@ -15614,7 +15614,7 @@ _08093500: .4byte 0x0000216e _08093504: .4byte gPlayerParty _08093508: .4byte 0x00002172 _0809350C: .4byte 0x0000216a -_08093510: .4byte gUnknown_20397B0 +_08093510: .4byte sPSSData _08093514: .4byte 0x0000216b _08093518: .4byte 0x0000216c _0809351C: .4byte 0x0000216d @@ -15686,7 +15686,7 @@ _0809358E: movs r1, 0 strb r1, [r0] _080935A0: - ldr r2, _08093628 @ =gUnknown_20397B0 + ldr r2, _08093628 @ =sPSSData ldr r1, [r2] ldr r0, _08093618 @ =0x0000216d adds r1, r0 @@ -15753,19 +15753,19 @@ _08093618: .4byte 0x0000216d _0809361C: .4byte 0x0000216e _08093620: .4byte 0x0000216a _08093624: .4byte 0x0000216b -_08093628: .4byte gUnknown_20397B0 +_08093628: .4byte sPSSData _0809362C: .4byte 0x00002168 thumb_func_end sub_8093420 thumb_func_start sub_8093630 sub_8093630: @ 8093630 push {lr} - ldr r0, _08093650 @ =gUnknown_2039822 + ldr r0, _08093650 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _0809364A ldr r0, _08093654 @ =gUnknown_20397BC - ldr r1, _08093658 @ =gUnknown_20397B0 + ldr r1, _08093658 @ =sPSSData ldr r1, [r1] ldr r2, _0809365C @ =0x000020a0 adds r1, r2 @@ -15775,24 +15775,24 @@ _0809364A: pop {r0} bx r0 .align 2, 0 -_08093650: .4byte gUnknown_2039822 +_08093650: .4byte sIsMonBeingMoved _08093654: .4byte gUnknown_20397BC -_08093658: .4byte gUnknown_20397B0 +_08093658: .4byte sPSSData _0809365C: .4byte 0x000020a0 thumb_func_end sub_8093630 thumb_func_start sub_8093660 sub_8093660: @ 8093660 push {lr} - ldr r0, _08093684 @ =gUnknown_2039822 + ldr r0, _08093684 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080936A8 - ldr r0, _08093688 @ =gUnknown_2039823 + ldr r0, _08093688 @ =sMovingMonOrigBoxId ldrb r0, [r0] cmp r0, 0xE bne _08093698 - ldr r0, _0809368C @ =gUnknown_20397B0 + ldr r0, _0809368C @ =sPSSData ldr r0, [r0] ldr r1, _08093690 @ =0x000020a0 adds r0, r1 @@ -15801,13 +15801,13 @@ sub_8093660: @ 8093660 bl memcpy b _080936A8 .align 2, 0 -_08093684: .4byte gUnknown_2039822 -_08093688: .4byte gUnknown_2039823 -_0809368C: .4byte gUnknown_20397B0 +_08093684: .4byte sIsMonBeingMoved +_08093688: .4byte sMovingMonOrigBoxId +_0809368C: .4byte sPSSData _08093690: .4byte 0x000020a0 _08093694: .4byte gUnknown_20397BC _08093698: - ldr r0, _080936AC @ =gUnknown_20397B0 + ldr r0, _080936AC @ =sPSSData ldr r0, [r0] ldr r1, _080936B0 @ =0x000020a0 adds r0, r1 @@ -15818,7 +15818,7 @@ _080936A8: pop {r0} bx r0 .align 2, 0 -_080936AC: .4byte gUnknown_20397B0 +_080936AC: .4byte sPSSData _080936B0: .4byte 0x000020a0 _080936B4: .4byte gUnknown_20397BC thumb_func_end sub_8093660 @@ -15826,12 +15826,12 @@ _080936B4: .4byte gUnknown_20397BC thumb_func_start sub_80936B8 sub_80936B8: @ 80936B8 push {r4,r5,lr} - ldr r0, _080936EC @ =gUnknown_2039822 + ldr r0, _080936EC @ =sIsMonBeingMoved ldrb r5, [r0] cmp r5, 0 beq _08093708 bl sub_8093630 - ldr r3, _080936F0 @ =gUnknown_20397B0 + ldr r3, _080936F0 @ =sPSSData ldr r1, [r3] ldr r0, _080936F4 @ =0x0000217c adds r2, r1, r0 @@ -15851,27 +15851,27 @@ sub_80936B8: @ 80936B8 strb r2, [r0] b _0809379A .align 2, 0 -_080936EC: .4byte gUnknown_2039822 -_080936F0: .4byte gUnknown_20397B0 +_080936EC: .4byte sIsMonBeingMoved +_080936F0: .4byte sPSSData _080936F4: .4byte 0x0000217c _080936F8: .4byte gUnknown_20397BC _080936FC: .4byte 0x00002179 _08093700: .4byte 0x00002178 _08093704: .4byte 0x0000217a _08093708: - ldr r0, _08093744 @ =gUnknown_2039820 + ldr r0, _08093744 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _08093764 - ldr r4, _08093748 @ =gUnknown_20397B0 + ldr r4, _08093748 @ =sPSSData ldr r1, [r4] ldr r0, _0809374C @ =0x0000217c adds r2, r1, r0 ldr r0, _08093750 @ =gPlayerParty str r0, [r2] - ldr r0, _08093754 @ =gUnknown_2039821 + ldr r0, _08093754 @ =sBoxCursorPosition ldrb r0, [r0] ldr r2, _08093758 @ =0x00002179 adds r1, r2 @@ -15888,11 +15888,11 @@ _08093708: strb r5, [r0] b _0809379A .align 2, 0 -_08093744: .4byte gUnknown_2039820 -_08093748: .4byte gUnknown_20397B0 +_08093744: .4byte sBoxCursorArea +_08093748: .4byte sPSSData _0809374C: .4byte 0x0000217c _08093750: .4byte gPlayerParty -_08093754: .4byte gUnknown_2039821 +_08093754: .4byte sBoxCursorPosition _08093758: .4byte 0x00002179 _0809375C: .4byte 0x00002178 _08093760: .4byte 0x0000217a @@ -15902,12 +15902,12 @@ _08093764: lsrs r0, 24 movs r1, 0 bl GetBoxedMonPtr - ldr r3, _080937A0 @ =gUnknown_20397B0 + ldr r3, _080937A0 @ =sPSSData ldr r2, [r3] ldr r4, _080937A4 @ =0x0000217c adds r1, r2, r4 str r0, [r1] - ldr r0, _080937A8 @ =gUnknown_2039821 + ldr r0, _080937A8 @ =sBoxCursorPosition ldrb r0, [r0] ldr r1, _080937AC @ =0x00002179 adds r2, r1 @@ -15927,9 +15927,9 @@ _0809379A: pop {r0} bx r0 .align 2, 0 -_080937A0: .4byte gUnknown_20397B0 +_080937A0: .4byte sPSSData _080937A4: .4byte 0x0000217c -_080937A8: .4byte gUnknown_2039821 +_080937A8: .4byte sBoxCursorPosition _080937AC: .4byte 0x00002179 _080937B0: .4byte 0x00002178 thumb_func_end sub_80936B8 @@ -15937,16 +15937,16 @@ _080937B0: .4byte 0x00002178 thumb_func_start sub_80937B4 sub_80937B4: @ 80937B4 push {r4,lr} - ldr r0, _080937C4 @ =gUnknown_2039822 + ldr r0, _080937C4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080937C8 bl sub_8093660 b _080937D0 .align 2, 0 -_080937C4: .4byte gUnknown_2039822 +_080937C4: .4byte sIsMonBeingMoved _080937C8: - ldr r4, _080937D8 @ =gUnknown_2039821 + ldr r4, _080937D8 @ =sBoxCursorPosition bl GetLastViewedMonIndex strb r0, [r4] _080937D0: @@ -15954,7 +15954,7 @@ _080937D0: pop {r0} bx r0 .align 2, 0 -_080937D8: .4byte gUnknown_2039821 +_080937D8: .4byte sBoxCursorPosition thumb_func_end sub_80937B4 thumb_func_start CompactPartySlots @@ -16048,12 +16048,12 @@ sub_8093878: @ 8093878 lsrs r0, 24 mov r1, sp strb r0, [r1] - ldr r2, _080938A8 @ =gUnknown_20397B0 + ldr r2, _080938A8 @ =sPSSData ldr r1, [r2] ldr r3, _080938AC @ =0x00000ce7 adds r1, r3 strb r0, [r1] - ldr r0, _080938B0 @ =gUnknown_2039822 + ldr r0, _080938B0 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080938B8 @@ -16065,17 +16065,17 @@ sub_8093878: @ 8093878 bl SetMonData b _080938EC .align 2, 0 -_080938A8: .4byte gUnknown_20397B0 +_080938A8: .4byte sPSSData _080938AC: .4byte 0x00000ce7 -_080938B0: .4byte gUnknown_2039822 +_080938B0: .4byte sIsMonBeingMoved _080938B4: .4byte 0x000020a0 _080938B8: - ldr r4, _080938F4 @ =gUnknown_2039820 + ldr r4, _080938F4 @ =sBoxCursorArea movs r0, 0 ldrsb r0, [r4, r0] cmp r0, 0x1 bne _080938D8 - ldr r0, _080938F8 @ =gUnknown_2039821 + ldr r0, _080938F8 @ =sBoxCursorPosition movs r1, 0 ldrsb r1, [r0, r1] movs r0, 0x64 @@ -16090,7 +16090,7 @@ _080938D8: ldrsb r0, [r4, r0] cmp r0, 0 bne _080938EC - ldr r0, _080938F8 @ =gUnknown_2039821 + ldr r0, _080938F8 @ =sBoxCursorPosition ldrb r0, [r0] movs r1, 0x8 mov r2, sp @@ -16101,25 +16101,25 @@ _080938EC: pop {r0} bx r0 .align 2, 0 -_080938F4: .4byte gUnknown_2039820 -_080938F8: .4byte gUnknown_2039821 +_080938F4: .4byte sBoxCursorArea +_080938F8: .4byte sBoxCursorPosition _080938FC: .4byte gPlayerParty thumb_func_end sub_8093878 thumb_func_start sub_8093900 sub_8093900: @ 8093900 push {lr} - ldr r0, _08093928 @ =gUnknown_2039820 + ldr r0, _08093928 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _08093934 - ldr r0, _0809392C @ =gUnknown_2039822 + ldr r0, _0809392C @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08093934 - ldr r0, _08093930 @ =gUnknown_2039821 + ldr r0, _08093930 @ =sBoxCursorPosition ldrb r0, [r0] bl CountPartyAliveNonEggMonsExcept lsls r0, 24 @@ -16128,9 +16128,9 @@ sub_8093900: @ 8093900 movs r0, 0x1 b _08093936 .align 2, 0 -_08093928: .4byte gUnknown_2039820 -_0809392C: .4byte gUnknown_2039822 -_08093930: .4byte gUnknown_2039821 +_08093928: .4byte sBoxCursorArea +_0809392C: .4byte sIsMonBeingMoved +_08093930: .4byte sBoxCursorPosition _08093934: movs r0, 0 _08093936: @@ -16141,23 +16141,23 @@ _08093936: thumb_func_start sub_809393C sub_809393C: @ 809393C push {lr} - ldr r0, _08093980 @ =gUnknown_2039822 + ldr r0, _08093980 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08093998 - ldr r0, _08093984 @ =gUnknown_2039820 + ldr r0, _08093984 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _0809397C - ldr r0, _08093988 @ =gUnknown_2039821 + ldr r0, _08093988 @ =sBoxCursorPosition ldrb r0, [r0] bl CountPartyAliveNonEggMonsExcept lsls r0, 24 cmp r0, 0 bne _0809397C - ldr r0, _0809398C @ =gUnknown_20397B0 + ldr r0, _0809398C @ =sPSSData ldr r1, [r0] ldr r2, _08093990 @ =0x00000ce9 adds r0, r1, r2 @@ -16174,10 +16174,10 @@ _0809397C: movs r0, 0x1 b _0809399A .align 2, 0 -_08093980: .4byte gUnknown_2039822 -_08093984: .4byte gUnknown_2039820 -_08093988: .4byte gUnknown_2039821 -_0809398C: .4byte gUnknown_20397B0 +_08093980: .4byte sIsMonBeingMoved +_08093984: .4byte sBoxCursorArea +_08093988: .4byte sBoxCursorPosition +_0809398C: .4byte sPSSData _08093990: .4byte 0x00000ce9 _08093994: .4byte 0x000020a0 _08093998: @@ -16189,18 +16189,18 @@ _0809399A: thumb_func_start sub_80939A0 sub_80939A0: @ 80939A0 - ldr r0, _080939A8 @ =gUnknown_2039822 + ldr r0, _080939A8 @ =sIsMonBeingMoved ldrb r0, [r0] bx lr .align 2, 0 -_080939A8: .4byte gUnknown_2039822 +_080939A8: .4byte sIsMonBeingMoved thumb_func_end sub_80939A0 thumb_func_start sub_80939AC sub_80939AC: @ 80939AC push {lr} movs r1, 0 - ldr r0, _080939C4 @ =gUnknown_2039820 + ldr r0, _080939C4 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16212,20 +16212,20 @@ _080939BE: pop {r1} bx r1 .align 2, 0 -_080939C4: .4byte gUnknown_2039820 +_080939C4: .4byte sBoxCursorArea thumb_func_end sub_80939AC thumb_func_start sub_80939C8 sub_80939C8: @ 80939C8 push {lr} movs r1, 0 - ldr r0, _080939EC @ =gUnknown_2039820 + ldr r0, _080939EC @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x3 bne _080939E6 - ldr r0, _080939F0 @ =gUnknown_2039821 + ldr r0, _080939F0 @ =sBoxCursorPosition ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16237,15 +16237,15 @@ _080939E6: pop {r1} bx r1 .align 2, 0 -_080939EC: .4byte gUnknown_2039820 -_080939F0: .4byte gUnknown_2039821 +_080939EC: .4byte sBoxCursorArea +_080939F0: .4byte sBoxCursorPosition thumb_func_end sub_80939C8 thumb_func_start sub_80939F4 sub_80939F4: @ 80939F4 push {lr} movs r1, 0 - ldr r0, _08093A0C @ =gUnknown_2039820 + ldr r0, _08093A0C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16257,16 +16257,16 @@ _08093A06: pop {r1} bx r1 .align 2, 0 -_08093A0C: .4byte gUnknown_2039820 +_08093A0C: .4byte sBoxCursorArea thumb_func_end sub_80939F4 thumb_func_start sub_8093A10 sub_8093A10: @ 8093A10 push {r4,lr} - ldr r0, _08093A44 @ =gUnknown_20397B0 + ldr r0, _08093A44 @ =sPSSData ldr r1, [r0] movs r2, 0 - ldr r3, _08093A48 @ =gUnknown_2039822 + ldr r3, _08093A48 @ =sIsMonBeingMoved ldrb r0, [r3] cmp r0, 0 bne _08093A22 @@ -16278,7 +16278,7 @@ _08093A22: ldrb r0, [r3] cmp r0, 0 bne _08093AA0 - ldr r0, _08093A50 @ =gUnknown_2039820 + ldr r0, _08093A50 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16290,16 +16290,16 @@ _08093A22: beq _08093A8A b _08093AA0 .align 2, 0 -_08093A44: .4byte gUnknown_20397B0 -_08093A48: .4byte gUnknown_2039822 +_08093A44: .4byte sPSSData +_08093A48: .4byte sIsMonBeingMoved _08093A4C: .4byte 0x00000ce6 -_08093A50: .4byte gUnknown_2039820 +_08093A50: .4byte sBoxCursorArea _08093A54: cmp r0, 0x3 bgt _08093AA0 b _08093A80 _08093A5A: - ldr r1, _08093A78 @ =gUnknown_2039821 + ldr r1, _08093A78 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r1, r0] cmp r0, 0x5 @@ -16313,7 +16313,7 @@ _08093A5A: bl sub_8093AD0 b _08093AA0 .align 2, 0 -_08093A78: .4byte gUnknown_2039821 +_08093A78: .4byte sBoxCursorPosition _08093A7C: .4byte gPlayerParty _08093A80: movs r0, 0 @@ -16324,7 +16324,7 @@ _08093A8A: bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 - ldr r1, _08093AA8 @ =gUnknown_2039821 + ldr r1, _08093AA8 @ =sBoxCursorPosition ldrb r1, [r1] bl GetBoxedMonPtr movs r1, 0x1 @@ -16334,13 +16334,13 @@ _08093AA0: pop {r0} bx r0 .align 2, 0 -_08093AA8: .4byte gUnknown_2039821 +_08093AA8: .4byte sBoxCursorPosition thumb_func_end sub_8093A10 thumb_func_start sub_8093AAC sub_8093AAC: @ 8093AAC push {lr} - ldr r0, _08093AC0 @ =gUnknown_2039822 + ldr r0, _08093AC0 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08093AC8 @@ -16349,7 +16349,7 @@ sub_8093AAC: @ 8093AAC bl sub_8093AD0 b _08093ACC .align 2, 0 -_08093AC0: .4byte gUnknown_2039822 +_08093AC0: .4byte sIsMonBeingMoved _08093AC4: .4byte gUnknown_20397BC _08093AC8: bl sub_8093A10 @@ -16369,7 +16369,7 @@ sub_8093AD0: @ 8093AD0 lsls r1, 24 lsrs r1, 24 adds r5, r1, 0 - ldr r0, _08093B38 @ =gUnknown_20397B0 + ldr r0, _08093B38 @ =sPSSData mov r8, r0 ldr r1, [r0] ldr r3, _08093B3C @ =0x00000ce2 @@ -16411,7 +16411,7 @@ _08093B16: strb r1, [r0] b _08093B56 .align 2, 0 -_08093B38: .4byte gUnknown_20397B0 +_08093B38: .4byte sPSSData _08093B3C: .4byte 0x00000ce2 _08093B40: .4byte 0x00000ce9 _08093B44: @@ -16424,7 +16424,7 @@ _08093B44: adds r1, r2 strb r0, [r1] _08093B56: - ldr r4, _08093BD0 @ =gUnknown_20397B0 + ldr r4, _08093BD0 @ =sPSSData ldr r2, [r4] ldr r5, _08093BD4 @ =0x00000cea adds r2, r5 @@ -16476,7 +16476,7 @@ _08093B56: b _08093CFC .align 2, 0 _08093BCC: .4byte 0x00000ce9 -_08093BD0: .4byte gUnknown_20397B0 +_08093BD0: .4byte sPSSData _08093BD4: .4byte 0x00000cea _08093BD8: .4byte 0x00000ce8 _08093BDC: .4byte 0x00000ce7 @@ -16533,7 +16533,7 @@ _08093C3C: adds r1, r2 strb r0, [r1] _08093C4E: - ldr r5, _08093CD4 @ =gUnknown_20397B0 + ldr r5, _08093CD4 @ =sPSSData ldr r2, [r5] ldr r4, _08093CD8 @ =0x00000cea adds r2, r4 @@ -16591,7 +16591,7 @@ _08093C4E: b _08093CFC .align 2, 0 _08093CD0: .4byte 0x00000ce9 -_08093CD4: .4byte gUnknown_20397B0 +_08093CD4: .4byte sPSSData _08093CD8: .4byte 0x00000cea _08093CDC: .4byte 0x00000ce8 _08093CE0: .4byte 0x00000ce7 @@ -16606,7 +16606,7 @@ _08093CF0: strh r1, [r0] strh r1, [r2] _08093CFC: - ldr r0, _08093D50 @ =gUnknown_20397B0 + ldr r0, _08093D50 @ =sPSSData ldr r1, [r0] movs r2, 0xCE lsls r2, 4 @@ -16615,7 +16615,7 @@ _08093CFC: cmp r2, 0 bne _08093D68 _08093D0C: - ldr r4, _08093D50 @ =gUnknown_20397B0 + ldr r4, _08093D50 @ =sPSSData ldr r0, [r4] ldr r3, _08093D54 @ =0x00000cea adds r0, r3 @@ -16645,7 +16645,7 @@ _08093D0C: adds r0, r1 b _08093DC6 .align 2, 0 -_08093D50: .4byte gUnknown_20397B0 +_08093D50: .4byte sPSSData _08093D54: .4byte 0x00000cea _08093D58: .4byte 0x00000cf5 _08093D5C: .4byte 0x00000d19 @@ -16679,7 +16679,7 @@ _08093D94: movs r3, 0x8 bl StringCopyPadded _08093DA2: - ldr r4, _08093DD8 @ =gUnknown_20397B0 + ldr r4, _08093DD8 @ =sPSSData ldr r0, [r4] ldr r3, _08093DDC @ =0x00000d19 adds r0, r3 @@ -16703,7 +16703,7 @@ _08093DC6: .align 2, 0 _08093DD0: .4byte 0x00000cf5 _08093DD4: .4byte gText_EggNickname -_08093DD8: .4byte gUnknown_20397B0 +_08093DD8: .4byte sPSSData _08093DDC: .4byte 0x00000d19 _08093DE0: .4byte 0x00000d3d _08093DE4: .4byte 0x00000d61 @@ -16716,7 +16716,7 @@ _08093DF0: movs r3, 0xFF mov r9, r3 _08093DF4: - ldr r4, _08093E78 @ =gUnknown_20397B0 + ldr r4, _08093E78 @ =sPSSData ldr r1, [r4] ldr r2, _08093E7C @ =0x00000cf5 adds r0, r1, r2 @@ -16780,7 +16780,7 @@ _08093DF4: adds r2, r4, r0 b _08093EF2 .align 2, 0 -_08093E78: .4byte gUnknown_20397B0 +_08093E78: .4byte sPSSData _08093E7C: .4byte 0x00000cf5 _08093E80: .4byte 0x00000cea _08093E84: .4byte 0x00000d19 @@ -16855,7 +16855,7 @@ _08093EF2: movs r0, 0x5 strb r0, [r2] adds r2, 0x1 - ldr r4, _08093F68 @ =gUnknown_20397B0 + ldr r4, _08093F68 @ =sPSSData ldr r0, [r4] ldr r1, _08093F6C @ =0x00000ce8 adds r0, r1 @@ -16886,7 +16886,7 @@ _08093EF2: .align 2, 0 _08093F60: .4byte 0x00000d41 _08093F64: .4byte 0x00000d42 -_08093F68: .4byte gUnknown_20397B0 +_08093F68: .4byte sPSSData _08093F6C: .4byte 0x00000ce8 _08093F70: .4byte 0x00000ce2 _08093F74: .4byte 0x00000d61 @@ -16911,7 +16911,7 @@ _08093F94: .4byte 0x00000d61 thumb_func_start sub_8093F98 sub_8093F98: @ 8093F98 push {lr} - ldr r0, _08093FB8 @ =gUnknown_20397B0 + ldr r0, _08093FB8 @ =sPSSData ldr r0, [r0] ldr r1, _08093FBC @ =0x000021ef adds r0, r1 @@ -16926,7 +16926,7 @@ _08093FB0: bl sub_8093FD4 b _08093FCA .align 2, 0 -_08093FB8: .4byte gUnknown_20397B0 +_08093FB8: .4byte sPSSData _08093FBC: .4byte 0x000021ef _08093FC0: bl sub_8094240 @@ -16947,12 +16947,12 @@ sub_8093FD4: @ 8093FD4 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _08094058 @ =gUnknown_2039820 + ldr r0, _08094058 @ =sBoxCursorArea ldrb r0, [r0] mov r8, r0 - ldr r2, _0809405C @ =gUnknown_2039821 + ldr r2, _0809405C @ =sBoxCursorPosition ldrb r4, [r2] - ldr r5, _08094060 @ =gUnknown_20397B0 + ldr r5, _08094060 @ =sPSSData ldr r0, [r5] ldr r1, _08094064 @ =0x00000cce mov r10, r1 @@ -17009,9 +17009,9 @@ _08094034: strb r6, [r0] b _08094224 .align 2, 0 -_08094058: .4byte gUnknown_2039820 -_0809405C: .4byte gUnknown_2039821 -_08094060: .4byte gUnknown_20397B0 +_08094058: .4byte sBoxCursorArea +_0809405C: .4byte sBoxCursorPosition +_08094060: .4byte sPSSData _08094064: .4byte 0x00000cce _08094068: .4byte 0x00000ccf _0809406C: .4byte 0x00000cd3 @@ -17089,20 +17089,20 @@ _080940EC: lsls r0, 24 cmp r0, 0 beq _080941B0 - ldr r0, _0809410C @ =gUnknown_2039825 + ldr r0, _0809410C @ =sCanOnlyMove ldrb r0, [r0] cmp r0, 0 bne _08094110 movs r0, 0x8 b _08094232 .align 2, 0 -_0809410C: .4byte gUnknown_2039825 +_0809410C: .4byte sCanOnlyMove _08094110: ldr r1, [r5] ldrb r0, [r1, 0x1] cmp r0, 0x2 bne _08094120 - ldr r0, _0809413C @ =gUnknown_2039822 + ldr r0, _0809413C @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0x1 bne _080941A0 @@ -17120,7 +17120,7 @@ _08094120: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0809413C: .4byte gUnknown_2039822 +_0809413C: .4byte sIsMonBeingMoved _08094140: .4byte _08094144 .align 2, 0 _08094144: @@ -17267,7 +17267,7 @@ sub_8094240: @ 8094240 ands r0, r1 cmp r0, 0 beq _08094278 - ldr r4, _08094274 @ =gUnknown_2039821 + ldr r4, _08094274 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] movs r1, 0x6 @@ -17280,13 +17280,13 @@ sub_8094240: @ 8094240 b _080942DA .align 2, 0 _08094270: .4byte gMain -_08094274: .4byte gUnknown_2039821 +_08094274: .4byte sBoxCursorPosition _08094278: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _08094298 - ldr r1, _08094294 @ =gUnknown_2039821 + ldr r1, _08094294 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r1, r0] adds r0, 0x6 @@ -17296,13 +17296,13 @@ _08094278: adds r1, 0x6 b _080942DA .align 2, 0 -_08094294: .4byte gUnknown_2039821 +_08094294: .4byte sBoxCursorPosition _08094298: movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _080942BC - ldr r4, _080942B8 @ =gUnknown_2039821 + ldr r4, _080942B8 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] movs r1, 0x6 @@ -17314,13 +17314,13 @@ _08094298: subs r1, 0x1 b _080942DA .align 2, 0 -_080942B8: .4byte gUnknown_2039821 +_080942B8: .4byte sBoxCursorPosition _080942BC: movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080942F0 - ldr r4, _080942E8 @ =gUnknown_2039821 + ldr r4, _080942E8 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] adds r0, 0x1 @@ -17338,7 +17338,7 @@ _080942DA: movs r0, 0x15 b _08094364 .align 2, 0 -_080942E8: .4byte gUnknown_2039821 +_080942E8: .4byte sBoxCursorPosition _080942EC: movs r0, 0x18 b _08094364 @@ -17349,14 +17349,14 @@ _080942F4: bl sub_8095AA0 lsls r0, 24 lsrs r0, 24 - ldr r1, _08094330 @ =gUnknown_2039821 + ldr r1, _08094330 @ =sBoxCursorPosition ldrb r1, [r1] lsls r1, 24 asrs r1, 24 cmp r0, r1 beq _08094344 - ldr r2, _08094334 @ =gUnknown_2039822 - ldr r0, _08094338 @ =gUnknown_20397B0 + ldr r2, _08094334 @ =sIsMonBeingMoved + ldr r0, _08094338 @ =sPSSData ldr r1, [r0] movs r3, 0xCE lsls r3, 4 @@ -17370,18 +17370,18 @@ _080942F4: movs r0, 0x2 strb r0, [r1] bl StorageGetCurrentBox - ldr r1, _08094340 @ =gUnknown_2039823 + ldr r1, _08094340 @ =sMovingMonOrigBoxId strb r0, [r1] movs r0, 0x17 b _08094364 .align 2, 0 -_08094330: .4byte gUnknown_2039821 -_08094334: .4byte gUnknown_2039822 -_08094338: .4byte gUnknown_20397B0 +_08094330: .4byte sBoxCursorPosition +_08094334: .4byte sIsMonBeingMoved +_08094338: .4byte sPSSData _0809433C: .4byte 0x000021ef -_08094340: .4byte gUnknown_2039823 +_08094340: .4byte sMovingMonOrigBoxId _08094344: - ldr r1, _0809436C @ =gUnknown_20397B0 + ldr r1, _0809436C @ =sPSSData ldr r0, [r1] ldr r2, _08094370 @ =0x000021ef adds r0, r2 @@ -17402,7 +17402,7 @@ _08094364: pop {r1} bx r1 .align 2, 0 -_0809436C: .4byte gUnknown_20397B0 +_0809436C: .4byte sPSSData _08094370: .4byte 0x000021ef _08094374: .4byte 0x00000cb4 thumb_func_end sub_8094240 @@ -17421,13 +17421,13 @@ sub_8094378: @ 8094378 lsls r0, 24 cmp r0, 0 beq _08094450 - ldr r0, _080943A0 @ =gUnknown_2039821 + ldr r0, _080943A0 @ =sBoxCursorPosition ldrb r1, [r0] subs r1, 0x6 b _08094402 .align 2, 0 _0809439C: .4byte gMain -_080943A0: .4byte gUnknown_2039821 +_080943A0: .4byte sBoxCursorPosition _080943A4: movs r0, 0x80 ands r0, r1 @@ -17438,12 +17438,12 @@ _080943A4: lsls r0, 24 cmp r0, 0 beq _08094450 - ldr r0, _080943C0 @ =gUnknown_2039821 + ldr r0, _080943C0 @ =sBoxCursorPosition ldrb r1, [r0] adds r1, 0x6 b _08094402 .align 2, 0 -_080943C0: .4byte gUnknown_2039821 +_080943C0: .4byte sBoxCursorPosition _080943C4: movs r0, 0x20 ands r0, r1 @@ -17454,12 +17454,12 @@ _080943C4: lsls r0, 24 cmp r0, 0 beq _0809446A - ldr r0, _080943E0 @ =gUnknown_2039821 + ldr r0, _080943E0 @ =sBoxCursorPosition ldrb r1, [r0] subs r1, 0x1 b _08094402 .align 2, 0 -_080943E0: .4byte gUnknown_2039821 +_080943E0: .4byte sBoxCursorPosition _080943E4: movs r0, 0x10 ands r0, r1 @@ -17472,7 +17472,7 @@ _080943E4: lsls r0, 24 cmp r0, 0 beq _0809447E - ldr r0, _08094410 @ =gUnknown_2039821 + ldr r0, _08094410 @ =sBoxCursorPosition ldrb r1, [r0] adds r1, 0x1 _08094402: @@ -17483,7 +17483,7 @@ _08094402: movs r0, 0x19 b _08094484 .align 2, 0 -_08094410: .4byte gUnknown_2039821 +_08094410: .4byte sBoxCursorPosition _08094414: ldrh r1, [r2, 0x2E] movs r0, 0x1 @@ -17494,9 +17494,9 @@ _08094414: lsls r0, 24 cmp r0, 0 beq _08094450 - ldr r0, _0809443C @ =gUnknown_2039822 + ldr r0, _0809443C @ =sIsMonBeingMoved strb r4, [r0] - ldr r0, _08094440 @ =gUnknown_20397B0 + ldr r0, _08094440 @ =sPSSData ldr r0, [r0] ldr r1, _08094444 @ =0x000021ef adds r0, r1 @@ -17504,8 +17504,8 @@ _08094414: movs r0, 0x1A b _08094484 .align 2, 0 -_0809443C: .4byte gUnknown_2039822 -_08094440: .4byte gUnknown_20397B0 +_0809443C: .4byte sIsMonBeingMoved +_08094440: .4byte sPSSData _08094444: .4byte 0x000021ef _08094448: movs r0, 0x2 @@ -17555,12 +17555,12 @@ sub_809448C: @ 809448C mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _080944FC @ =gUnknown_2039820 + ldr r0, _080944FC @ =sBoxCursorArea ldrb r0, [r0] mov r9, r0 - ldr r6, _08094500 @ =gUnknown_2039821 + ldr r6, _08094500 @ =sBoxCursorPosition ldrb r4, [r6] - ldr r2, _08094504 @ =gUnknown_20397B0 + ldr r2, _08094504 @ =sPSSData ldr r0, [r2] ldr r1, _08094508 @ =0x00000ccf adds r0, r1 @@ -17611,9 +17611,9 @@ _080944F8: movs r7, 0x1 b _08094692 .align 2, 0 -_080944FC: .4byte gUnknown_2039820 -_08094500: .4byte gUnknown_2039821 -_08094504: .4byte gUnknown_20397B0 +_080944FC: .4byte sBoxCursorArea +_08094500: .4byte sBoxCursorPosition +_08094504: .4byte sPSSData _08094508: .4byte 0x00000ccf _0809450C: .4byte 0x00000cce _08094510: .4byte gMain @@ -17687,14 +17687,14 @@ _0809458C: lsls r0, 24 cmp r0, 0 beq _08094624 - ldr r0, _080945A4 @ =gUnknown_2039825 + ldr r0, _080945A4 @ =sCanOnlyMove ldrb r0, [r0] cmp r0, 0 bne _080945A8 movs r0, 0x8 b _080946A0 .align 2, 0 -_080945A4: .4byte gUnknown_2039825 +_080945A4: .4byte sCanOnlyMove _080945A8: movs r0, 0 bl sub_8094E50 @@ -17759,7 +17759,7 @@ _08094624: mov r12, r2 cmp r0, 0 beq _0809464C - ldr r0, _08094644 @ =gUnknown_20397B0 + ldr r0, _08094644 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -17768,7 +17768,7 @@ _08094624: b _080946A0 .align 2, 0 _08094640: .4byte gMain -_08094644: .4byte gUnknown_20397B0 +_08094644: .4byte sPSSData _08094648: movs r1, 0x1 mov r8, r1 @@ -17831,7 +17831,7 @@ _080946A0: thumb_func_start sub_80946AC sub_80946AC: @ 80946AC push {r4-r6,lr} - ldr r3, _080946E8 @ =gUnknown_20397B0 + ldr r3, _080946E8 @ =sPSSData ldr r0, [r3] ldr r1, _080946EC @ =0x00000ccf adds r0, r1 @@ -17860,7 +17860,7 @@ sub_80946AC: @ 80946AC movs r6, 0x2 b _0809477E .align 2, 0 -_080946E8: .4byte gUnknown_20397B0 +_080946E8: .4byte sPSSData _080946EC: .4byte 0x00000ccf _080946F0: .4byte 0x00000cce _080946F4: .4byte 0x00000cd3 @@ -17961,13 +17961,13 @@ sub_80947A0: @ 80947A0 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _080947F0 @ =gUnknown_2039820 + ldr r0, _080947F0 @ =sBoxCursorArea ldrb r0, [r0] mov r8, r0 - ldr r0, _080947F4 @ =gUnknown_2039821 + ldr r0, _080947F4 @ =sBoxCursorPosition mov r12, r0 ldrb r2, [r0] - ldr r3, _080947F8 @ =gUnknown_20397B0 + ldr r3, _080947F8 @ =sPSSData ldr r0, [r3] ldr r1, _080947FC @ =0x00000ccf adds r0, r1 @@ -17999,9 +17999,9 @@ sub_80947A0: @ 80947A0 ldr r0, [r4] b _08094898 .align 2, 0 -_080947F0: .4byte gUnknown_2039820 -_080947F4: .4byte gUnknown_2039821 -_080947F8: .4byte gUnknown_20397B0 +_080947F0: .4byte sBoxCursorArea +_080947F4: .4byte sBoxCursorPosition +_080947F8: .4byte sPSSData _080947FC: .4byte 0x00000ccf _08094800: .4byte 0x00000cce _08094804: .4byte 0x00000cd3 @@ -18111,7 +18111,7 @@ sub_80948B4: @ 80948B4 adds r4, r0, 0 cmp r1, 0 beq _080948F8 - ldr r5, _080948E4 @ =gUnknown_2039820 + ldr r5, _080948E4 @ =sBoxCursorArea _080948C4: lsls r0, r3, 3 adds r2, r0, r4 @@ -18128,7 +18128,7 @@ _080948C4: b _080948FA .align 2, 0 _080948E0: .4byte gUnknown_83D3478 -_080948E4: .4byte gUnknown_2039820 +_080948E4: .4byte sBoxCursorArea _080948E8: adds r0, r3, 0x1 lsls r0, 16 @@ -18166,7 +18166,7 @@ sub_8094900: @ 8094900 sub_8094924: @ 8094924 push {lr} bl sub_8094DA8 - ldr r0, _0809493C @ =gUnknown_20397B0 + ldr r0, _0809493C @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -18174,7 +18174,7 @@ sub_8094924: @ 8094924 bl sub_8094A0C b _08094944 .align 2, 0 -_0809493C: .4byte gUnknown_20397B0 +_0809493C: .4byte sPSSData _08094940: bl sub_809494C _08094944: @@ -18190,7 +18190,7 @@ sub_809494C: @ 809494C bl sub_8092458 lsls r0, 16 lsrs r1, r0, 16 - ldr r0, _0809496C @ =gUnknown_20397B0 + ldr r0, _0809496C @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -18201,7 +18201,7 @@ sub_809494C: @ 809494C beq _08094982 b _080949BC .align 2, 0 -_0809496C: .4byte gUnknown_20397B0 +_0809496C: .4byte sPSSData _08094970: cmp r0, 0x2 beq _0809498E @@ -18219,7 +18219,7 @@ _08094982: bl sub_8094DEC b _080949C0 _0809498E: - ldr r0, _080949A4 @ =gUnknown_2039822 + ldr r0, _080949A4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080949B0 @@ -18229,7 +18229,7 @@ _0809498E: bl sub_8094DEC b _080949C0 .align 2, 0 -_080949A4: .4byte gUnknown_2039822 +_080949A4: .4byte sIsMonBeingMoved _080949A8: movs r0, 0x5 bl sub_8094DEC @@ -18246,12 +18246,12 @@ _080949BC: _080949C0: movs r0, 0x6 bl sub_8094DEC - ldr r0, _080949E4 @ =gUnknown_20397B0 + ldr r0, _080949E4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x2 bne _080949F2 - ldr r0, _080949E8 @ =gUnknown_2039820 + ldr r0, _080949E8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -18261,8 +18261,8 @@ _080949C0: bl sub_8094DEC b _080949F2 .align 2, 0 -_080949E4: .4byte gUnknown_20397B0 -_080949E8: .4byte gUnknown_2039820 +_080949E4: .4byte sPSSData +_080949E8: .4byte sBoxCursorArea _080949EC: movs r0, 0x1 bl sub_8094DEC @@ -18282,7 +18282,7 @@ _08094A06: thumb_func_start sub_8094A0C sub_8094A0C: @ 8094A0C push {r4,r5,lr} - ldr r4, _08094A48 @ =gUnknown_20397B0 + ldr r4, _08094A48 @ =sPSSData ldr r0, [r4] movs r5, 0xCE lsls r5, 4 @@ -18310,7 +18310,7 @@ sub_8094A0C: @ 8094A0C bl sub_8094DEC b _08094AA8 .align 2, 0 -_08094A48: .4byte gUnknown_20397B0 +_08094A48: .4byte sPSSData _08094A4C: .4byte 0x00000ce2 _08094A50: ldrh r0, [r1] @@ -18367,7 +18367,7 @@ _08094AB0: thumb_func_start sub_8094AB8 sub_8094AB8: @ 8094AB8 - ldr r1, _08094AD4 @ =gUnknown_20397B0 + ldr r1, _08094AD4 @ =sPSSData ldr r1, [r1] movs r2, 0xCB lsls r2, 4 @@ -18381,7 +18381,7 @@ sub_8094AB8: @ 8094AB8 strh r1, [r0, 0x22] bx lr .align 2, 0 -_08094AD4: .4byte gUnknown_20397B0 +_08094AD4: .4byte sPSSData thumb_func_end sub_8094AB8 thumb_func_start sub_8094AD8 @@ -18407,7 +18407,7 @@ sub_8094AD8: @ 8094AD8 bl LoadSpritePalettes ldr r0, _08094BAC @ =0x0000daca bl IndexOfSpritePaletteTag - ldr r6, _08094BB0 @ =gUnknown_20397B0 + ldr r6, _08094BB0 @ =sPSSData ldr r1, [r6] ldr r4, _08094BB4 @ =0x00000cd4 adds r1, r4 @@ -18418,9 +18418,9 @@ sub_8094AD8: @ 8094AD8 ldr r5, _08094BBC @ =0x00000cd5 adds r1, r5 strb r0, [r1] - ldr r0, _08094BC0 @ =gUnknown_2039820 + ldr r0, _08094BC0 @ =sBoxCursorArea ldrb r0, [r0] - ldr r1, _08094BC4 @ =gUnknown_2039821 + ldr r1, _08094BC4 @ =sBoxCursorPosition ldrb r1, [r1] add r4, sp, 0x28 mov r5, sp @@ -18449,7 +18449,7 @@ sub_8094AD8: @ 8094AD8 ldr r0, _08094BCC @ =gSprites adds r1, r0 str r1, [r3] - ldr r0, _08094BD0 @ =gUnknown_2039825 + ldr r0, _08094BD0 @ =sCanOnlyMove ldr r5, _08094BB4 @ =0x00000cd4 adds r2, r5 ldrb r0, [r0] @@ -18471,7 +18471,7 @@ sub_8094AD8: @ 8094AD8 movs r1, 0x4 orrs r0, r1 strb r0, [r2, 0x5] - ldr r0, _08094BD4 @ =gUnknown_2039822 + ldr r0, _08094BD4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08094BE4 @@ -18485,16 +18485,16 @@ sub_8094AD8: @ 8094AD8 _08094BA4: .4byte gUnknown_83D34A0 _08094BA8: .4byte gUnknown_83D34B8 _08094BAC: .4byte 0x0000daca -_08094BB0: .4byte gUnknown_20397B0 +_08094BB0: .4byte sPSSData _08094BB4: .4byte 0x00000cd4 _08094BB8: .4byte 0x0000dac7 _08094BBC: .4byte 0x00000cd5 -_08094BC0: .4byte gUnknown_2039820 -_08094BC4: .4byte gUnknown_2039821 +_08094BC0: .4byte sBoxCursorArea +_08094BC4: .4byte sBoxCursorPosition _08094BC8: .4byte gUnknown_83D350C _08094BCC: .4byte gSprites -_08094BD0: .4byte gUnknown_2039825 -_08094BD4: .4byte gUnknown_2039822 +_08094BD0: .4byte sCanOnlyMove +_08094BD4: .4byte sIsMonBeingMoved _08094BD8: ldr r0, [r6] movs r1, 0xCB @@ -18503,7 +18503,7 @@ _08094BD8: movs r1, 0 str r1, [r0] _08094BE4: - ldr r0, _08094BF8 @ =gUnknown_2039820 + ldr r0, _08094BF8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -18513,7 +18513,7 @@ _08094BE4: movs r4, 0x1 b _08094C00 .align 2, 0 -_08094BF8: .4byte gUnknown_2039820 +_08094BF8: .4byte sBoxCursorArea _08094BFC: movs r3, 0x15 movs r4, 0x2 @@ -18526,7 +18526,7 @@ _08094C00: lsrs r0, 24 cmp r0, 0x40 beq _08094C68 - ldr r5, _08094C58 @ =gUnknown_20397B0 + ldr r5, _08094C58 @ =sPSSData ldr r2, [r5] ldr r3, _08094C5C @ =0x00000cb4 adds r2, r3 @@ -18543,7 +18543,7 @@ _08094C00: ands r0, r2 orrs r0, r3 strb r0, [r1, 0x5] - ldr r0, _08094C64 @ =gUnknown_2039820 + ldr r0, _08094C64 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -18561,12 +18561,12 @@ _08094C00: b _08094C74 .align 2, 0 _08094C54: .4byte gUnknown_83D3524 -_08094C58: .4byte gUnknown_20397B0 +_08094C58: .4byte sPSSData _08094C5C: .4byte 0x00000cb4 _08094C60: .4byte gSprites -_08094C64: .4byte gUnknown_2039820 +_08094C64: .4byte sBoxCursorArea _08094C68: - ldr r0, _08094C7C @ =gUnknown_20397B0 + ldr r0, _08094C7C @ =sPSSData ldr r0, [r0] ldr r5, _08094C80 @ =0x00000cb4 adds r0, r5 @@ -18578,14 +18578,14 @@ _08094C74: pop {r0} bx r0 .align 2, 0 -_08094C7C: .4byte gUnknown_20397B0 +_08094C7C: .4byte sPSSData _08094C80: .4byte 0x00000cb4 thumb_func_end sub_8094AD8 thumb_func_start sub_8094C84 sub_8094C84: @ 8094C84 push {lr} - ldr r2, _08094CBC @ =gUnknown_2039825 + ldr r2, _08094CBC @ =sCanOnlyMove movs r1, 0 ldrb r0, [r2] cmp r0, 0 @@ -18593,7 +18593,7 @@ sub_8094C84: @ 8094C84 movs r1, 0x1 _08094C92: strb r1, [r2] - ldr r0, _08094CC0 @ =gUnknown_20397B0 + ldr r0, _08094CC0 @ =sPSSData ldr r0, [r0] movs r3, 0xCB lsls r3, 4 @@ -18613,18 +18613,18 @@ _08094C92: pop {r0} bx r0 .align 2, 0 -_08094CBC: .4byte gUnknown_2039825 -_08094CC0: .4byte gUnknown_20397B0 +_08094CBC: .4byte sCanOnlyMove +_08094CC0: .4byte sPSSData _08094CC4: .4byte 0x00000cd4 thumb_func_end sub_8094C84 thumb_func_start sub_8094CC8 sub_8094CC8: @ 8094CC8 - ldr r0, _08094CD0 @ =gUnknown_2039821 + ldr r0, _08094CD0 @ =sBoxCursorPosition ldrb r0, [r0] bx lr .align 2, 0 -_08094CD0: .4byte gUnknown_2039821 +_08094CD0: .4byte sBoxCursorPosition thumb_func_end sub_8094CC8 thumb_func_start sub_8094CD4 @@ -18632,13 +18632,13 @@ sub_8094CD4: @ 8094CD4 push {r4-r6,lr} adds r5, r0, 0 adds r6, r1, 0 - ldr r0, _08094D00 @ =gUnknown_2039820 + ldr r0, _08094D00 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08094D08 - ldr r4, _08094D04 @ =gUnknown_2039821 + ldr r4, _08094D04 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] movs r1, 0x6 @@ -18650,8 +18650,8 @@ sub_8094CD4: @ 8094CD4 bl __divsi3 b _08094D0C .align 2, 0 -_08094D00: .4byte gUnknown_2039820 -_08094D04: .4byte gUnknown_2039821 +_08094D00: .4byte sBoxCursorArea +_08094D04: .4byte sBoxCursorPosition _08094D08: movs r0, 0 strb r0, [r5] @@ -18668,7 +18668,7 @@ sub_8094D14: @ 8094D14 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 - ldr r0, _08094D30 @ =gUnknown_20397B0 + ldr r0, _08094D30 @ =sPSSData ldr r0, [r0] movs r2, 0xCB lsls r2, 4 @@ -18678,21 +18678,21 @@ sub_8094D14: @ 8094D14 pop {r0} bx r0 .align 2, 0 -_08094D30: .4byte gUnknown_20397B0 +_08094D30: .4byte sPSSData thumb_func_end sub_8094D14 thumb_func_start sub_8094D34 sub_8094D34: @ 8094D34 - ldr r0, _08094D3C @ =gUnknown_2039823 + ldr r0, _08094D3C @ =sMovingMonOrigBoxId ldrb r0, [r0] bx lr .align 2, 0 -_08094D3C: .4byte gUnknown_2039823 +_08094D3C: .4byte sMovingMonOrigBoxId thumb_func_end sub_8094D34 thumb_func_start sub_8094D40 sub_8094D40: @ 8094D40 - ldr r0, _08094D5C @ =gUnknown_20397B0 + ldr r0, _08094D5C @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -18707,19 +18707,19 @@ sub_8094D40: @ 8094D40 strb r0, [r2, 0x5] bx lr .align 2, 0 -_08094D5C: .4byte gUnknown_20397B0 +_08094D5C: .4byte sPSSData thumb_func_end sub_8094D40 thumb_func_start sub_8094D60 sub_8094D60: @ 8094D60 push {lr} - ldr r0, _08094D7C @ =gUnknown_2039820 + ldr r0, _08094D7C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08094D78 - ldr r0, _08094D80 @ =gUnknown_2039821 + ldr r0, _08094D80 @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0 bl sub_8095D44 @@ -18727,20 +18727,20 @@ _08094D78: pop {r0} bx r0 .align 2, 0 -_08094D7C: .4byte gUnknown_2039820 -_08094D80: .4byte gUnknown_2039821 +_08094D7C: .4byte sBoxCursorArea +_08094D80: .4byte sBoxCursorPosition thumb_func_end sub_8094D60 thumb_func_start sub_8094D84 sub_8094D84: @ 8094D84 push {lr} - ldr r0, _08094DA0 @ =gUnknown_2039820 + ldr r0, _08094DA0 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08094D9C - ldr r0, _08094DA4 @ =gUnknown_2039821 + ldr r0, _08094DA4 @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0 bl sub_8095C84 @@ -18748,13 +18748,13 @@ _08094D9C: pop {r0} bx r0 .align 2, 0 -_08094DA0: .4byte gUnknown_2039820 -_08094DA4: .4byte gUnknown_2039821 +_08094DA0: .4byte sBoxCursorArea +_08094DA4: .4byte sBoxCursorPosition thumb_func_end sub_8094D84 thumb_func_start sub_8094DA8 sub_8094DA8: @ 8094DA8 - ldr r2, _08094DDC @ =gUnknown_20397B0 + ldr r2, _08094DDC @ =sPSSData ldr r0, [r2] ldr r1, _08094DE0 @ =0x00000ca8 adds r0, r1 @@ -18780,7 +18780,7 @@ sub_8094DA8: @ 8094DA8 strh r1, [r0] bx lr .align 2, 0 -_08094DDC: .4byte gUnknown_20397B0 +_08094DDC: .4byte sPSSData _08094DE0: .4byte 0x00000ca8 _08094DE4: .4byte 0x00000ca9 _08094DE8: .4byte 0x00000c6d @@ -18791,7 +18791,7 @@ sub_8094DEC: @ 8094DEC push {r4,r5,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r4, _08094E40 @ =gUnknown_20397B0 + ldr r4, _08094E40 @ =sPSSData ldr r2, [r4] ldr r5, _08094E44 @ =0x00000ca8 adds r1, r2, r5 @@ -18831,7 +18831,7 @@ _08094E38: pop {r0} bx r0 .align 2, 0 -_08094E40: .4byte gUnknown_20397B0 +_08094E40: .4byte sPSSData _08094E44: .4byte 0x00000ca8 _08094E48: .4byte gUnknown_83D353C _08094E4C: .4byte 0x00000ca9 @@ -18842,7 +18842,7 @@ sub_8094E50: @ 8094E50 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08094E74 @ =gUnknown_20397B0 + ldr r0, _08094E74 @ =sPSSData ldr r1, [r0] ldr r3, _08094E78 @ =0x00000ca8 adds r0, r1, r3 @@ -18857,7 +18857,7 @@ sub_8094E50: @ 8094E50 ldrsb r0, [r1, r0] b _08094E84 .align 2, 0 -_08094E74: .4byte gUnknown_20397B0 +_08094E74: .4byte sPSSData _08094E78: .4byte 0x00000ca8 _08094E7C: .4byte 0x00000c74 _08094E80: @@ -18876,7 +18876,7 @@ sub_8094E88: @ 8094E88 mov r4, r8 push {r4-r6} sub sp, 0xC - ldr r5, _08094F6C @ =gUnknown_20397B0 + ldr r5, _08094F6C @ =sPSSData ldr r1, [r5] ldr r2, _08094F70 @ =0x00000ca9 adds r0, r1, r2 @@ -18978,7 +18978,7 @@ sub_8094E88: @ 8094E88 pop {r0} bx r0 .align 2, 0 -_08094F6C: .4byte gUnknown_20397B0 +_08094F6C: .4byte sPSSData _08094F70: .4byte 0x00000ca9 _08094F74: .4byte 0x00000ca8 _08094F78: .4byte 0x00000c6c @@ -19050,7 +19050,7 @@ _08094FF2: _08094FFE: cmp r5, 0 blt _08095010 - ldr r0, _0809501C @ =gUnknown_20397B0 + ldr r0, _0809501C @ =sPSSData ldr r0, [r0] lsls r1, r5, 3 ldr r2, _08095020 @ =0x00000c74 @@ -19064,14 +19064,14 @@ _08095010: pop {r1} bx r1 .align 2, 0 -_0809501C: .4byte gUnknown_20397B0 +_0809501C: .4byte sPSSData _08095020: .4byte 0x00000c74 thumb_func_end sub_8094F94 thumb_func_start sub_8095024 sub_8095024: @ 8095024 push {r4,r5,lr} - ldr r5, _08095048 @ =gUnknown_20397B0 + ldr r5, _08095048 @ =sPSSData ldr r0, [r5] ldr r4, _0809504C @ =0x00000cac adds r0, r4 @@ -19086,7 +19086,7 @@ sub_8095024: @ 8095024 pop {r0} bx r0 .align 2, 0 -_08095048: .4byte gUnknown_20397B0 +_08095048: .4byte sPSSData _0809504C: .4byte 0x00000cac thumb_func_end sub_8095024 @@ -19102,7 +19102,7 @@ sub_8095050: @ 8095050 ldr r0, _08095090 @ =gUnknown_83D35D4 bl AddWindow8Bit adds r1, r0, 0 - ldr r0, _08095094 @ =gUnknown_20397B0 + ldr r0, _08095094 @ =sPSSData ldr r0, [r0] ldr r2, _08095098 @ =0x000021f0 adds r0, r2 @@ -19121,7 +19121,7 @@ sub_8095050: @ 8095050 _08095088: .4byte gUnknown_2039828 _0809508C: .4byte 0x00000974 _08095090: .4byte gUnknown_83D35D4 -_08095094: .4byte gUnknown_20397B0 +_08095094: .4byte sPSSData _08095098: .4byte 0x000021f0 _0809509C: movs r0, 0 @@ -19264,7 +19264,7 @@ _08095168: movs r2, 0 movs r3, 0 bl FillBgTilemapBufferRect_Palette0 - ldr r5, _08095208 @ =gUnknown_20397B0 + ldr r5, _08095208 @ =sPSSData ldr r0, [r5] ldr r4, _0809520C @ =0x000021f0 adds r0, r4 @@ -19306,7 +19306,7 @@ _080951F8: b _08095228 .align 2, 0 _08095204: .4byte 0xfffffc00 -_08095208: .4byte gUnknown_20397B0 +_08095208: .4byte sPSSData _0809520C: .4byte 0x000021f0 _08095210: .4byte 0x00007fff _08095214: @@ -19412,7 +19412,7 @@ _080952B8: ldr r1, [r4] ldrb r0, [r1, 0x7] strb r0, [r1, 0x5] - ldr r0, _080952F8 @ =gUnknown_20397B0 + ldr r0, _080952F8 @ =sPSSData ldr r0, [r0] ldr r1, _080952FC @ =0x000021f0 adds r0, r1 @@ -19425,7 +19425,7 @@ _080952B8: strb r0, [r1, 0x1] b _0809530A .align 2, 0 -_080952F8: .4byte gUnknown_20397B0 +_080952F8: .4byte sPSSData _080952FC: .4byte 0x000021f0 _08095300: bl IsDma3ManagerBusyWithBgCopy @@ -19958,7 +19958,7 @@ sub_80956A4: @ 80956A4 adds r0, 0x8 lsls r0, 24 lsrs r0, 24 - ldr r1, _08095724 @ =gUnknown_20397B0 + ldr r1, _08095724 @ =sPSSData ldr r1, [r1] ldr r2, _08095728 @ =0x000021f0 adds r1, r2 @@ -19986,7 +19986,7 @@ _0809571A: pop {r0} bx r0 .align 2, 0 -_08095724: .4byte gUnknown_20397B0 +_08095724: .4byte sPSSData _08095728: .4byte 0x000021f0 thumb_func_end sub_80956A4 @@ -20009,7 +20009,7 @@ sub_809572C: @ 809572C lsls r0, 16 cmp r0, 0 beq _0809576E - ldr r0, _08095778 @ =gUnknown_20397B0 + ldr r0, _08095778 @ =sPSSData ldr r0, [r0] ldr r1, _0809577C @ =0x000021f0 adds r0, r1 @@ -20029,7 +20029,7 @@ _0809576E: pop {r0} bx r0 .align 2, 0 -_08095778: .4byte gUnknown_20397B0 +_08095778: .4byte sPSSData _0809577C: .4byte 0x000021f0 thumb_func_end sub_809572C @@ -20575,7 +20575,7 @@ sub_8095B5C: @ 8095B5C mov r5, r8 push {r5-r7} sub sp, 0x20 - ldr r3, _08095C58 @ =gUnknown_20397B0 + ldr r3, _08095C58 @ =sPSSData ldr r0, [r3] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20679,7 +20679,7 @@ _08095B9C: cmp r7, 0x2 ble _08095B9C _08095C3C: - ldr r0, _08095C58 @ =gUnknown_20397B0 + ldr r0, _08095C58 @ =sPSSData ldr r0, [r0] ldr r4, _08095C80 @ =0x00002224 adds r0, r4 @@ -20694,7 +20694,7 @@ _08095C3C: pop {r0} bx r0 .align 2, 0 -_08095C58: .4byte gUnknown_20397B0 +_08095C58: .4byte sPSSData _08095C5C: .4byte gUnknown_3000FE8 _08095C60: .4byte 0xffff0000 _08095C64: .4byte gUnknown_83D3728 @@ -20717,7 +20717,7 @@ sub_8095C84: @ 8095C84 mov r8, r0 lsls r1, 24 lsrs r7, r1, 24 - ldr r0, _08095CB8 @ =gUnknown_20397B0 + ldr r0, _08095CB8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20734,7 +20734,7 @@ sub_8095C84: @ 8095C84 beq _08095CD2 b _08095D36 .align 2, 0 -_08095CB8: .4byte gUnknown_20397B0 +_08095CB8: .4byte sPSSData _08095CBC: adds r0, r7, 0 movs r1, 0x5 @@ -20805,7 +20805,7 @@ sub_8095D44: @ 8095D44 lsrs r6, r0, 24 lsls r1, 24 lsrs r5, r1, 24 - ldr r0, _08095D80 @ =gUnknown_20397B0 + ldr r0, _08095D80 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20829,7 +20829,7 @@ _08095D7A: pop {r0} bx r0 .align 2, 0 -_08095D80: .4byte gUnknown_20397B0 +_08095D80: .4byte sPSSData thumb_func_end sub_8095D44 thumb_func_start sub_8095D84 @@ -20841,7 +20841,7 @@ sub_8095D84: @ 8095D84 lsls r1, 24 lsrs r5, r1, 24 adds r7, r5, 0 - ldr r0, _08095DE8 @ =gUnknown_20397B0 + ldr r0, _08095DE8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20878,7 +20878,7 @@ sub_8095D84: @ 8095D84 bl sub_8090850 b _08095E04 .align 2, 0 -_08095DE8: .4byte gUnknown_20397B0 +_08095DE8: .4byte sPSSData _08095DEC: movs r0, 0x64 muls r0, r7 @@ -20891,7 +20891,7 @@ _08095DEC: movs r1, 0x1 bl sub_8090C84 _08095E04: - ldr r0, _08095E20 @ =gUnknown_20397B0 + ldr r0, _08095E20 @ =sPSSData ldr r0, [r0] ldr r2, _08095E24 @ =0x00000ce2 adds r1, r0, r2 @@ -20906,7 +20906,7 @@ _08095E14: bx r0 .align 2, 0 _08095E1C: .4byte gPlayerParty -_08095E20: .4byte gUnknown_20397B0 +_08095E20: .4byte sPSSData _08095E24: .4byte 0x00000ce2 _08095E28: .4byte 0x00002224 thumb_func_end sub_8095D84 @@ -20948,7 +20948,7 @@ sub_8095E2C: @ 8095E2C adds r0, r4, 0 movs r1, 0x1 bl sub_8096624 - ldr r0, _08095E98 @ =gUnknown_20397B0 + ldr r0, _08095E98 @ =sPSSData ldr r0, [r0] ldr r1, _08095E9C @ =0x00002224 adds r0, r1 @@ -20959,7 +20959,7 @@ sub_8095E2C: @ 8095E2C pop {r0} bx r0 .align 2, 0 -_08095E98: .4byte gUnknown_20397B0 +_08095E98: .4byte sPSSData _08095E9C: .4byte 0x00002224 thumb_func_end sub_8095E2C @@ -20974,7 +20974,7 @@ sub_8095EA0: @ 8095EA0 mov r9, r0 lsls r1, 24 lsrs r7, r1, 24 - ldr r0, _08095F08 @ =gUnknown_20397B0 + ldr r0, _08095F08 @ =sPSSData mov r8, r0 ldr r0, [r0] ldrb r0, [r0, 0x1] @@ -21013,7 +21013,7 @@ sub_8095EA0: @ 8095EA0 adds r0, r4 b _08095F3C .align 2, 0 -_08095F08: .4byte gUnknown_20397B0 +_08095F08: .4byte sPSSData _08095F0C: .4byte 0x00002224 _08095F10: movs r0, 0x64 @@ -21073,7 +21073,7 @@ sub_8095F74: @ 8095F74 lsls r1, 24 lsrs r5, r1, 24 mov r8, r5 - ldr r6, _08095FCC @ =gUnknown_20397B0 + ldr r6, _08095FCC @ =sPSSData ldr r0, [r6] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -21105,7 +21105,7 @@ sub_8095F74: @ 8095F74 bl sub_8090850 b _08095FF4 .align 2, 0 -_08095FCC: .4byte gUnknown_20397B0 +_08095FCC: .4byte sPSSData _08095FD0: .4byte 0x00002224 _08095FD4: movs r0, 0x64 @@ -21142,7 +21142,7 @@ sub_8096008: @ 8096008 lsls r1, 24 lsrs r5, r1, 24 adds r7, r5, 0 - ldr r0, _08096060 @ =gUnknown_20397B0 + ldr r0, _08096060 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -21175,7 +21175,7 @@ sub_8096008: @ 8096008 bl sub_8090850 b _0809607C .align 2, 0 -_08096060: .4byte gUnknown_20397B0 +_08096060: .4byte sPSSData _08096064: movs r0, 0x64 muls r0, r7 @@ -21199,7 +21199,7 @@ _08096084: .4byte gPlayerParty thumb_func_start sub_8096088 sub_8096088: @ 8096088 push {r4,lr} - ldr r0, _080960BC @ =gUnknown_20397B0 + ldr r0, _080960BC @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -21223,20 +21223,20 @@ _080960B6: pop {r0} bx r0 .align 2, 0 -_080960BC: .4byte gUnknown_20397B0 +_080960BC: .4byte sPSSData thumb_func_end sub_8096088 thumb_func_start sub_80960C0 sub_80960C0: @ 80960C0 push {r4,lr} - ldr r0, _08096108 @ =gUnknown_20397B0 + ldr r0, _08096108 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 bne _08096100 movs r4, 0 _080960CE: - ldr r0, _08096108 @ =gUnknown_20397B0 + ldr r0, _08096108 @ =sPSSData ldr r1, [r0] lsls r0, r4, 4 adds r1, r0 @@ -21266,14 +21266,14 @@ _08096100: pop {r0} bx r0 .align 2, 0 -_08096108: .4byte gUnknown_20397B0 +_08096108: .4byte sPSSData thumb_func_end sub_80960C0 thumb_func_start sub_809610C sub_809610C: @ 809610C push {r4,r5,lr} movs r5, 0 - ldr r0, _08096148 @ =gUnknown_20397B0 + ldr r0, _08096148 @ =sPSSData ldr r0, [r0] ldr r1, _0809614C @ =0x000021f4 adds r4, r0, r1 @@ -21304,7 +21304,7 @@ _08096144: movs r0, 0x1 b _08096164 .align 2, 0 -_08096148: .4byte gUnknown_20397B0 +_08096148: .4byte sPSSData _0809614C: .4byte 0x000021f4 _08096150: .4byte SpriteCallbackDummy _08096154: .4byte sub_80969BC @@ -21324,7 +21324,7 @@ _08096164: thumb_func_start sub_809616C sub_809616C: @ 809616C push {lr} - ldr r0, _08096190 @ =gUnknown_20397B0 + ldr r0, _08096190 @ =sPSSData ldr r1, [r0] ldrb r0, [r1, 0x1] cmp r0, 0x3 @@ -21342,7 +21342,7 @@ _0809617E: movs r0, 0x1 b _080961A2 .align 2, 0 -_08096190: .4byte gUnknown_20397B0 +_08096190: .4byte sPSSData _08096194: .4byte 0x000021fe _08096198: adds r1, 0x10 @@ -21359,7 +21359,7 @@ _080961A2: thumb_func_start sub_80961A8 sub_80961A8: @ 80961A8 push {lr} - ldr r0, _080961BC @ =gUnknown_20397B0 + ldr r0, _080961BC @ =sPSSData ldr r0, [r0] ldr r1, _080961C0 @ =0x00002224 adds r0, r1 @@ -21368,20 +21368,20 @@ sub_80961A8: @ 80961A8 pop {r1} bx r1 .align 2, 0 -_080961BC: .4byte gUnknown_20397B0 +_080961BC: .4byte sPSSData _080961C0: .4byte 0x00002224 thumb_func_end sub_80961A8 thumb_func_start sub_80961C4 sub_80961C4: @ 80961C4 - ldr r0, _080961D0 @ =gUnknown_20397B0 + ldr r0, _080961D0 @ =sPSSData ldr r0, [r0] ldr r1, _080961D4 @ =0x00002224 adds r0, r1 ldrh r0, [r0] bx lr .align 2, 0 -_080961D0: .4byte gUnknown_20397B0 +_080961D0: .4byte sPSSData _080961D4: .4byte 0x00002224 thumb_func_end sub_80961C4 @@ -21389,7 +21389,7 @@ _080961D4: .4byte 0x00002224 sub_80961D8: @ 80961D8 push {r4,r5,lr} movs r2, 0 - ldr r5, _080961F8 @ =gUnknown_20397B0 + ldr r5, _080961F8 @ =sPSSData movs r3, 0x88 lsls r3, 6 movs r4, 0x1 @@ -21405,7 +21405,7 @@ _080961E4: adds r0, r2, 0 b _08096208 .align 2, 0 -_080961F8: .4byte gUnknown_20397B0 +_080961F8: .4byte sPSSData _080961FC: adds r0, r2, 0x1 lsls r0, 24 @@ -21427,7 +21427,7 @@ sub_8096210: @ 8096210 lsls r1, 24 lsrs r1, 24 movs r3, 0 - ldr r0, _08096244 @ =gUnknown_20397B0 + ldr r0, _08096244 @ =sPSSData ldr r2, [r0] _08096220: movs r5, 0x88 @@ -21449,7 +21449,7 @@ _08096220: movs r0, 0x1 b _08096252 .align 2, 0 -_08096244: .4byte gUnknown_20397B0 +_08096244: .4byte sPSSData _08096248: adds r2, 0x10 adds r3, 0x1 @@ -21470,7 +21470,7 @@ sub_8096258: @ 8096258 lsls r1, 24 lsrs r4, r1, 24 movs r3, 0 - ldr r0, _08096290 @ =gUnknown_20397B0 + ldr r0, _08096290 @ =sPSSData ldr r1, [r0] _08096268: lsls r0, r3, 4 @@ -21494,7 +21494,7 @@ _08096268: adds r0, r3, 0 b _080962A0 .align 2, 0 -_08096290: .4byte gUnknown_20397B0 +_08096290: .4byte sPSSData _08096294: adds r0, r3, 0x1 lsls r0, 24 @@ -21513,7 +21513,7 @@ sub_80962A8: @ 80962A8 push {r4-r6,lr} adds r5, r0, 0 movs r2, 0 - ldr r0, _080962D4 @ =gUnknown_20397B0 + ldr r0, _080962D4 @ =sPSSData ldr r3, [r0] ldr r0, _080962D8 @ =0x000021f4 adds r4, r3, r0 @@ -21533,7 +21533,7 @@ _080962BA: adds r0, r2, 0 b _080962E8 .align 2, 0 -_080962D4: .4byte gUnknown_20397B0 +_080962D4: .4byte sPSSData _080962D8: .4byte 0x000021f4 _080962DC: adds r0, r2, 0x1 @@ -21566,11 +21566,11 @@ sub_80962F0: @ 80962F0 beq _0809631C cmp r1, 0x1 beq _08096378 - ldr r4, _08096318 @ =gUnknown_20397B0 + ldr r4, _08096318 @ =sPSSData lsls r3, r5, 4 b _080963D8 .align 2, 0 -_08096318: .4byte gUnknown_20397B0 +_08096318: .4byte sPSSData _0809631C: adds r0, r7, 0 movs r1, 0x6 @@ -21583,7 +21583,7 @@ _0809631C: bl __udivsi3 lsls r0, 24 lsrs r0, 24 - ldr r6, _08096370 @ =gUnknown_20397B0 + ldr r6, _08096370 @ =sPSSData ldr r2, [r6] lsls r5, 4 ldr r1, _08096374 @ =0x000021f4 @@ -21613,12 +21613,12 @@ _0809631C: adds r3, r5, 0 b _080963D8 .align 2, 0 -_08096370: .4byte gUnknown_20397B0 +_08096370: .4byte sPSSData _08096374: .4byte 0x000021f4 _08096378: cmp r7, 0 bne _080963A0 - ldr r4, _08096398 @ =gUnknown_20397B0 + ldr r4, _08096398 @ =sPSSData ldr r0, [r4] lsls r3, r5, 4 ldr r1, _0809639C @ =0x000021f4 @@ -21632,10 +21632,10 @@ _08096378: strh r0, [r1, 0x22] b _080963C0 .align 2, 0 -_08096398: .4byte gUnknown_20397B0 +_08096398: .4byte sPSSData _0809639C: .4byte 0x000021f4 _080963A0: - ldr r4, _080963F8 @ =gUnknown_20397B0 + ldr r4, _080963F8 @ =sPSSData ldr r0, [r4] lsls r3, r5, 4 ldr r1, _080963FC @ =0x000021f4 @@ -21683,7 +21683,7 @@ _080963EE: pop {r0} bx r0 .align 2, 0 -_080963F8: .4byte gUnknown_20397B0 +_080963F8: .4byte sPSSData _080963FC: .4byte 0x000021f4 _08096400: .4byte 0x000021fe _08096404: .4byte 0x000021ff @@ -21704,7 +21704,7 @@ sub_8096408: @ 8096408 bhi _08096490 movs r0, 0 str r0, [sp] - ldr r4, _080964A0 @ =gUnknown_20397B0 + ldr r4, _080964A0 @ =sPSSData ldr r1, [r4] ldr r6, _080964A4 @ =0x000042bc adds r1, r6 @@ -21731,7 +21731,7 @@ _08096446: subs r4, 0x1 cmp r4, 0 bge _08096446 - ldr r5, _080964A0 @ =gUnknown_20397B0 + ldr r5, _080964A0 @ =sPSSData ldr r1, [r5] ldr r4, _080964A4 @ =0x000042bc adds r0, r1, r4 @@ -21763,7 +21763,7 @@ _08096490: pop {r0} bx r0 .align 2, 0 -_080964A0: .4byte gUnknown_20397B0 +_080964A0: .4byte sPSSData _080964A4: .4byte 0x000042bc _080964A8: .4byte 0x01000080 _080964AC: .4byte 0x000022bc @@ -21780,7 +21780,7 @@ sub_80964B8: @ 80964B8 lsrs r3, r1, 24 cmp r2, 0x2 bhi _080964DA - ldr r0, _080964E0 @ =gUnknown_20397B0 + ldr r0, _080964E0 @ =sPSSData ldr r0, [r0] lsls r1, r2, 4 ldr r2, _080964E4 @ =0x000021f4 @@ -21793,7 +21793,7 @@ _080964DA: pop {r0} bx r0 .align 2, 0 -_080964E0: .4byte gUnknown_20397B0 +_080964E0: .4byte sPSSData _080964E4: .4byte 0x000021f4 thumb_func_end sub_80964B8 @@ -21834,7 +21834,7 @@ _08096514: .4byte _08096612 .4byte _08096600 _08096534: - ldr r0, _0809654C @ =gUnknown_20397B0 + ldr r0, _0809654C @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _08096550 @ =0x000021f4 @@ -21846,11 +21846,11 @@ _08096534: ldr r0, _08096554 @ =sub_809692C b _08096610 .align 2, 0 -_0809654C: .4byte gUnknown_20397B0 +_0809654C: .4byte sPSSData _08096550: .4byte 0x000021f4 _08096554: .4byte sub_809692C _08096558: - ldr r0, _08096570 @ =gUnknown_20397B0 + ldr r0, _08096570 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _08096574 @ =0x000021f4 @@ -21863,11 +21863,11 @@ _08096558: ldr r0, _08096578 @ =sub_8096958 b _08096610 .align 2, 0 -_08096570: .4byte gUnknown_20397B0 +_08096570: .4byte sPSSData _08096574: .4byte 0x000021f4 _08096578: .4byte sub_8096958 _0809657C: - ldr r0, _0809659C @ =gUnknown_20397B0 + ldr r0, _0809659C @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _080965A0 @ =0x000021f4 @@ -21884,11 +21884,11 @@ _0809657C: ldr r0, _080965A4 @ =sub_80969F4 b _08096610 .align 2, 0 -_0809659C: .4byte gUnknown_20397B0 +_0809659C: .4byte sPSSData _080965A0: .4byte 0x000021f4 _080965A4: .4byte sub_80969F4 _080965A8: - ldr r0, _080965C8 @ =gUnknown_20397B0 + ldr r0, _080965C8 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _080965CC @ =0x000021f4 @@ -21905,11 +21905,11 @@ _080965A8: strh r3, [r0, 0x3C] b _08096612 .align 2, 0 -_080965C8: .4byte gUnknown_20397B0 +_080965C8: .4byte sPSSData _080965CC: .4byte 0x000021f4 _080965D0: .4byte sub_8096A74 _080965D4: - ldr r0, _080965F4 @ =gUnknown_20397B0 + ldr r0, _080965F4 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _080965F8 @ =0x000021f4 @@ -21926,11 +21926,11 @@ _080965D4: ldr r0, _080965FC @ =sub_8096B10 b _08096610 .align 2, 0 -_080965F4: .4byte gUnknown_20397B0 +_080965F4: .4byte sPSSData _080965F8: .4byte 0x000021f4 _080965FC: .4byte sub_8096B10 _08096600: - ldr r0, _08096618 @ =gUnknown_20397B0 + ldr r0, _08096618 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _0809661C @ =0x000021f4 @@ -21945,7 +21945,7 @@ _08096612: pop {r0} bx r0 .align 2, 0 -_08096618: .4byte gUnknown_20397B0 +_08096618: .4byte sPSSData _0809661C: .4byte 0x000021f4 _08096620: .4byte sub_8096BAC thumb_func_end sub_80964E8 @@ -21959,7 +21959,7 @@ sub_8096624: @ 8096624 lsrs r4, r1, 24 cmp r2, 0x2 bhi _08096666 - ldr r1, _0809666C @ =gUnknown_20397B0 + ldr r1, _0809666C @ =sPSSData ldr r0, [r1] lsls r2, 4 adds r0, r2 @@ -21991,7 +21991,7 @@ _08096666: pop {r0} bx r0 .align 2, 0 -_0809666C: .4byte gUnknown_20397B0 +_0809666C: .4byte sPSSData _08096670: .4byte 0x000021f4 thumb_func_end sub_8096624 @@ -22025,15 +22025,15 @@ sub_8096694: @ 8096694 lsls r0, 24 cmp r0, 0 beq _080966B4 - ldr r0, _080966AC @ =gUnknown_20397B0 + ldr r0, _080966AC @ =sPSSData ldr r0, [r0] ldr r1, _080966B0 @ =0x00002224 b _080966BA .align 2, 0 -_080966AC: .4byte gUnknown_20397B0 +_080966AC: .4byte sPSSData _080966B0: .4byte 0x00002224 _080966B4: - ldr r0, _080966EC @ =gUnknown_20397B0 + ldr r0, _080966EC @ =sPSSData ldr r0, [r0] ldr r1, _080966F0 @ =0x00000ce2 _080966BA: @@ -22060,14 +22060,14 @@ _080966BA: pop {r0} bx r0 .align 2, 0 -_080966EC: .4byte gUnknown_20397B0 +_080966EC: .4byte sPSSData _080966F0: .4byte 0x00000ce2 thumb_func_end sub_8096694 thumb_func_start sub_80966F4 sub_80966F4: @ 80966F4 push {lr} - ldr r0, _0809671C @ =gUnknown_20397B0 + ldr r0, _0809671C @ =sPSSData ldr r0, [r0] ldr r1, _08096720 @ =0x00002226 adds r0, r1 @@ -22084,7 +22084,7 @@ sub_80966F4: @ 80966F4 pop {r0} bx r0 .align 2, 0 -_0809671C: .4byte gUnknown_20397B0 +_0809671C: .4byte sPSSData _08096720: .4byte 0x00002226 _08096724: .4byte gUnknown_83D35DC thumb_func_end sub_80966F4 @@ -22093,7 +22093,7 @@ _08096724: .4byte gUnknown_83D35DC sub_8096728: @ 8096728 push {r4,r5,lr} sub sp, 0x10 - ldr r0, _08096740 @ =gUnknown_20397B0 + ldr r0, _08096740 @ =sPSSData ldr r0, [r0] ldr r2, _08096744 @ =0x00002226 adds r1, r0, r2 @@ -22103,7 +22103,7 @@ sub_8096728: @ 8096728 movs r0, 0 b _080967AE .align 2, 0 -_08096740: .4byte gUnknown_20397B0 +_08096740: .4byte sPSSData _08096744: .4byte 0x00002226 _08096748: subs r0, 0x1 @@ -22119,7 +22119,7 @@ _08096758: movs r1, 0xA bl GetBgAttribute adds r1, r0, 0 - ldr r0, _080967B8 @ =gUnknown_20397B0 + ldr r0, _080967B8 @ =sPSSData ldr r0, [r0] ldr r2, _080967BC @ =0x00002226 adds r0, r2 @@ -22148,7 +22148,7 @@ _08096758: _08096798: adds r0, r5, 0 bl sub_8096898 - ldr r0, _080967B8 @ =gUnknown_20397B0 + ldr r0, _080967B8 @ =sPSSData ldr r0, [r0] ldr r1, _080967BC @ =0x00002226 adds r0, r1 @@ -22162,7 +22162,7 @@ _080967AE: pop {r1} bx r1 .align 2, 0 -_080967B8: .4byte gUnknown_20397B0 +_080967B8: .4byte sPSSData _080967BC: .4byte 0x00002226 thumb_func_end sub_8096728 @@ -22170,7 +22170,7 @@ _080967BC: .4byte 0x00002226 sub_80967C0: @ 80967C0 push {r4,r5,lr} sub sp, 0x10 - ldr r5, _080967D8 @ =gUnknown_20397B0 + ldr r5, _080967D8 @ =sPSSData ldr r0, [r5] ldr r4, _080967DC @ =0x00002226 adds r0, r4 @@ -22180,7 +22180,7 @@ sub_80967C0: @ 80967C0 movs r0, 0 b _08096886 .align 2, 0 -_080967D8: .4byte gUnknown_20397B0 +_080967D8: .4byte sPSSData _080967DC: .4byte 0x00002226 _080967E0: cmp r0, 0 @@ -22213,7 +22213,7 @@ _08096812: movs r1, 0xA bl GetBgAttribute adds r1, r0, 0 - ldr r0, _08096890 @ =gUnknown_20397B0 + ldr r0, _08096890 @ =sPSSData ldr r0, [r0] ldr r2, _08096894 @ =0x00002226 adds r0, r2 @@ -22254,7 +22254,7 @@ _08096852: movs r1, 0 movs r3, 0xB bl FillBgTilemapBufferRect - ldr r0, _08096890 @ =gUnknown_20397B0 + ldr r0, _08096890 @ =sPSSData ldr r0, [r0] ldr r1, _08096894 @ =0x00002226 adds r0, r1 @@ -22270,7 +22270,7 @@ _08096886: pop {r1} bx r1 .align 2, 0 -_08096890: .4byte gUnknown_20397B0 +_08096890: .4byte sPSSData _08096894: .4byte 0x00002226 thumb_func_end sub_80967C0 @@ -22429,7 +22429,7 @@ _080969B8: .4byte sub_80969BC thumb_func_start sub_80969BC sub_80969BC: @ 80969BC - ldr r1, _080969F0 @ =gUnknown_20397B0 + ldr r1, _080969F0 @ =sPSSData ldr r3, [r1] movs r1, 0xCB lsls r1, 4 @@ -22456,7 +22456,7 @@ sub_80969BC: @ 80969BC strb r1, [r0, 0x5] bx lr .align 2, 0 -_080969F0: .4byte gUnknown_20397B0 +_080969F0: .4byte sPSSData thumb_func_end sub_80969BC thumb_func_start sub_80969F4 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index d6c3f548f..b0c2b9a87 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -106,8 +106,8 @@ _081345D0: cmp r0, 0x5 beq _08134604 _081345D4: - movs r0, 0x6 - bl HelpSystem_SetSomeVariable2 + movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO + bl SetHelpContext ldr r2, _081345F8 @ =gUnknown_203B140 ldr r0, [r2] ldr r3, _081345FC @ =0x00003214 @@ -127,8 +127,8 @@ _081345F8: .4byte gUnknown_203B140 _081345FC: .4byte 0x00003214 _08134600: .4byte 0x00003234 _08134604: - movs r0, 0x6 - bl HelpSystem_SetSomeVariable2 + movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO + bl SetHelpContext ldr r0, [r4] ldr r3, _08134628 @ =0x00003214 adds r0, r3 @@ -148,8 +148,8 @@ _08134628: .4byte 0x00003214 _0813462C: .4byte 0x0000321c _08134630: .4byte 0x00003234 _08134634: - movs r0, 0x8 - bl HelpSystem_SetSomeVariable2 + movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES + bl SetHelpContext ldr r0, [r4] ldr r3, _08134710 @ =0x00003214 adds r0, r3 @@ -3187,7 +3187,7 @@ _08135FC8: .4byte gUnknown_8E9B310 _08135FCC: movs r0, 0x60 movs r1, 0x1 - bl sub_8107D38 + bl ListMenuLoadStdPalAt ldr r0, _08135FE0 @ =gUnknown_84636C0 movs r1, 0x70 _08135FD8: @@ -7600,15 +7600,15 @@ _08138460: .4byte 0x00003214 _08138464: cmp r0, 0x3 bgt _08138476 - movs r0, 0x8 + movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES b _08138472 _0813846C: - movs r0, 0x6 + movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO b _08138472 _08138470: - movs r0, 0x7 + movs r0, 0x7 @ HELPCONTEXT_POKEMON_SKILLS _08138472: - bl HelpSystem_SetSomeVariable2 + bl SetHelpContext _08138476: pop {r0} bx r0 diff --git a/asm/script_movement.s b/asm/script_movement.s deleted file mode 100644 index 04b3ab9b9..000000000 --- a/asm/script_movement.s +++ /dev/null @@ -1,602 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ScriptMovement_StartObjectMovementScript -ScriptMovement_StartObjectMovementScript: @ 8097434 - 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 TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _08097456 - movs r0, 0x1 - b _0809747E -_08097456: - ldr r0, _08097488 @ =Task_80A244C - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08097468 - movs r0, 0x32 - bl sub_80974F8 -_08097468: - bl sub_8097540 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - ldrb r1, [r1] - adds r2, r4, 0 - bl sub_8097554 - lsls r0, 24 - lsrs r0, 24 -_0809747E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08097488: .4byte Task_80A244C - thumb_func_end ScriptMovement_StartObjectMovementScript - - thumb_func_start ScriptMovement_IsObjectMovementFinished -ScriptMovement_IsObjectMovementFinished: @ 809748C - 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 TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080974CE - bl sub_8097540 - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80975C0 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _080974CE - adds r0, r4, 0 - bl sub_80976D0 - lsls r0, 24 - lsrs r0, 24 - b _080974D0 -_080974CE: - movs r0, 0x1 -_080974D0: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScriptMovement_IsObjectMovementFinished - - thumb_func_start sub_80974D8 -sub_80974D8: @ 80974D8 - push {r4,lr} - bl sub_8097540 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080974F2 - adds r0, r4, 0 - bl UnfreezeObjects - adds r0, r4, 0 - bl DestroyTask -_080974F2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80974D8 - - thumb_func_start sub_80974F8 -sub_80974F8: @ 80974F8 - push {r4,r5,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08097534 @ =Task_80A244C - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r5, _08097538 @ =gTasks+0x8 - ldr r0, _0809753C @ =0x0000ffff - adds r4, r0, 0 -_08097518: - 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 _08097518 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08097534: .4byte Task_80A244C -_08097538: .4byte gTasks+0x8 -_0809753C: .4byte 0x0000ffff - thumb_func_end sub_80974F8 - - thumb_func_start sub_8097540 -sub_8097540: @ 8097540 - push {lr} - ldr r0, _08097550 @ =Task_80A244C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08097550: .4byte Task_80A244C - thumb_func_end sub_8097540 - - thumb_func_start sub_8097554 -sub_8097554: @ 8097554 - 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_80975C0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _08097590 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80976D0 - lsls r0, 24 - cmp r0, 0 - beq _080975B0 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - b _080975A6 -_08097590: - adds r0, r7, 0 - movs r1, 0xFF - bl sub_80975C0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080975B0 - adds r0, r7, 0 - adds r1, r4, 0 - mov r2, r8 -_080975A6: - mov r3, r9 - bl sub_8097728 - movs r0, 0 - b _080975B2 -_080975B0: - movs r0, 0x1 -_080975B2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8097554 - - thumb_func_start sub_80975C0 -sub_80975C0: @ 80975C0 - 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, _080975E4 @ =gTasks+0x8 - adds r1, r0 - adds r1, 0x2 - movs r2, 0 -_080975D8: - ldrb r0, [r1] - cmp r0, r3 - bne _080975E8 - adds r0, r2, 0 - b _080975F6 - .align 2, 0 -_080975E4: .4byte gTasks+0x8 -_080975E8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, 0x1 - cmp r2, 0xF - bls _080975D8 - movs r0, 0x10 -_080975F6: - pop {r1} - bx r1 - thumb_func_end sub_80975C0 - - thumb_func_start sub_80975FC -sub_80975FC: @ 80975FC - 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, _0809762C @ =gTasks+0x8 - adds r1, r0 - adds r1, 0x2 - str r1, [r2] - movs r0, 0 - cmp r0, r3 - bcs _08097628 -_0809761A: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x1 - cmp r0, r3 - bcc _0809761A - str r1, [r2] -_08097628: - pop {r0} - bx r0 - .align 2, 0 -_0809762C: .4byte gTasks+0x8 - thumb_func_end sub_80975FC - - thumb_func_start sub_8097630 -sub_8097630: @ 8097630 - 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_80975FC - ldr r0, [sp] - strb r4, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8097630 - - thumb_func_start sub_8097654 -sub_8097654: @ 8097654 - 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_80975FC - ldr r0, [sp] - ldrb r0, [r0] - strb r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8097654 - - thumb_func_start sub_8097678 -sub_8097678: @ 8097678 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r2, _080976A0 @ =gBitTable - lsrs r1, 22 - adds r1, r2 - ldr r2, [r1] - mvns r2, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r3, _080976A4 @ =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 - .align 2, 0 -_080976A0: .4byte gBitTable -_080976A4: .4byte gTasks - thumb_func_end sub_8097678 - - thumb_func_start sub_80976A8 -sub_80976A8: @ 80976A8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080976C8 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080976CC @ =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r2, 0x8] - bx lr - .align 2, 0 -_080976C8: .4byte gTasks -_080976CC: .4byte gBitTable - thumb_func_end sub_80976A8 - - thumb_func_start sub_80976D0 -sub_80976D0: @ 80976D0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080976F8 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080976FC @ =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - ands r0, r1 - cmp r0, 0 - bne _08097700 - movs r0, 0 - b _08097702 - .align 2, 0 -_080976F8: .4byte gTasks -_080976FC: .4byte gBitTable -_08097700: - movs r0, 0x1 -_08097702: - pop {r1} - bx r1 - thumb_func_end sub_80976D0 - - thumb_func_start npc_obj_offscreen_culling_and_flag_update -npc_obj_offscreen_culling_and_flag_update: @ 8097708 - lsls r0, 24 - ldr r2, _08097714 @ =gUnknown_2039830 - lsrs r0, 22 - adds r0, r2 - str r1, [r0] - bx lr - .align 2, 0 -_08097714: .4byte gUnknown_2039830 - thumb_func_end npc_obj_offscreen_culling_and_flag_update - - thumb_func_start sub_8097718 -sub_8097718: @ 8097718 - lsls r0, 24 - ldr r1, _08097724 @ =gUnknown_2039830 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08097724: .4byte gUnknown_2039830 - thumb_func_end sub_8097718 - - thumb_func_start sub_8097728 -sub_8097728: @ 8097728 - 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_8097678 - 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_8097630 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8097728 - - thumb_func_start UnfreezeObjects -UnfreezeObjects: @ 8097768 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080977A4 @ =gTasks+0x8 - adds r1, r0 - adds r4, r1, 0x2 - movs r5, 0 -_0809777C: - ldrb r0, [r4] - cmp r0, 0xFF - beq _08097792 - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080977A8 @ =gObjectEvents - adds r0, r1 - bl UnfreezeObjectEvent -_08097792: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x1 - cmp r5, 0xF - bls _0809777C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080977A4: .4byte gTasks+0x8 -_080977A8: .4byte gObjectEvents - thumb_func_end UnfreezeObjects - - thumb_func_start Task_80A244C -Task_80A244C: @ 80977AC - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - mov r6, sp -_080977B8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, sp - bl sub_8097654 - ldrb r0, [r6] - cmp r0, 0xFF - beq _080977DC - adds r4, r0, 0 - adds r0, r5, 0 - bl sub_8097718 - adds r3, r0, 0 - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80977F0 -_080977DC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _080977B8 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end Task_80A244C - - thumb_func_start sub_80977F0 -sub_80977F0: @ 80977F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r8, r5 - lsls r2, 24 - lsrs r4, r2, 24 - adds r1, r5, 0 - bl sub_80976D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809786A - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _08097850 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsHeldMovementActive - lsls r0, 24 - cmp r0, 0 - beq _08097838 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0809786A -_08097838: - ldrb r1, [r6] - cmp r1, 0xFE - bne _08097854 - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_80976A8 - adds r0, r4, 0 - bl FreezeObjectEvent - b _0809786A - .align 2, 0 -_08097850: .4byte gObjectEvents -_08097854: - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - lsls r0, 24 - cmp r0, 0 - bne _0809786A - adds r6, 0x1 - mov r0, r8 - adds r1, r6, 0 - bl npc_obj_offscreen_culling_and_flag_update -_0809786A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80977F0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trainer_see.s b/asm/trainer_see.s deleted file mode 100644 index dee50b60f..000000000 --- a/asm/trainer_see.s +++ /dev/null @@ -1,1628 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CheckForTrainersWantingBattle -CheckForTrainersWantingBattle: @ 8081B30 - push {r4,r5,lr} - bl sub_8111C2C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081B44 - b _08081B78 -_08081B40: - movs r0, 0x1 - b _08081B7A -_08081B44: - movs r4, 0 - ldr r5, _08081B80 @ =gObjectEvents -_08081B48: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08081B6E - ldrb r0, [r1, 0x7] - cmp r0, 0x1 - beq _08081B62 - cmp r0, 0x3 - bne _08081B6E -_08081B62: - adds r0, r4, 0 - bl sub_8081B84 - lsls r0, 24 - cmp r0, 0 - bne _08081B40 -_08081B6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08081B48 -_08081B78: - movs r0, 0 -_08081B7A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08081B80: .4byte gObjectEvents - thumb_func_end CheckForTrainersWantingBattle - - thumb_func_start sub_8081B84 -sub_8081B84: @ 8081B84 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl GetObjectEventScriptPointerByObjectEventId - adds r6, r0, 0 - bl GetTrainerFlagFromScriptPointer - cmp r0, 0 - bne _08081BE4 - lsls r4, r5, 3 - adds r0, r4, r5 - lsls r0, 2 - ldr r1, _08081BE0 @ =gObjectEvents - adds r0, r1 - bl sub_8081BEC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - beq _08081BE4 - ldrb r0, [r6, 0x1] - cmp r0, 0x4 - bne _08081BC0 - bl GetMonsStateToDoubles - lsls r0, 24 - cmp r0, 0 - bne _08081BE4 -_08081BC0: - adds r0, r5, 0 - adds r1, r6, 0 - bl ConfigureAndSetUpOneTrainerBattle - adds r0, r4, r5 - lsls r0, 2 - ldr r1, _08081BE0 @ =gObjectEvents - adds r0, r1 - subs r1, r7, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl sub_8081E68 - movs r0, 0x1 - b _08081BE6 - .align 2, 0 -_08081BE0: .4byte gObjectEvents -_08081BE4: - movs r0, 0 -_08081BE6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8081B84 - - thumb_func_start sub_8081BEC -sub_8081BEC: @ 8081BEC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldrb r0, [r7, 0x7] - mov r8, r4 - cmp r0, 0x1 - bne _08081C4C - ldr r1, _08081C44 @ =gUnknown_83C7248 - ldrb r0, [r7, 0x18] - lsls r0, 28 - lsrs r0, 26 - subs r0, 0x4 - adds r0, r1 - ldrb r1, [r7, 0x1D] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r5, 0 - ldrsh r3, [r4, r5] - ldr r4, [r0] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r2, [r7, 0x18] - lsls r2, 28 - lsrs r2, 28 - adds r0, r7, 0 - adds r1, r6, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - lsrs r0, 24 - b _08081C8C - .align 2, 0 -_08081C44: .4byte gUnknown_83C7248 -_08081C48: - adds r0, r6, 0 - b _08081C8C -_08081C4C: - movs r5, 0 -_08081C4E: - ldr r0, _08081C98 @ =gUnknown_83C7248 - lsls r4, r5, 2 - adds r4, r0 - ldrb r1, [r7, 0x1D] - mov r0, sp - movs r6, 0 - ldrsh r2, [r0, r6] - mov r0, r8 - movs r6, 0 - ldrsh r3, [r0, r6] - ldr r4, [r4] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - cmp r0, 0 - bne _08081C48 - adds r5, r4, 0 - cmp r5, 0x3 - bls _08081C4E - movs r0, 0 -_08081C8C: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08081C98: .4byte gUnknown_83C7248 - thumb_func_end sub_8081BEC - - thumb_func_start IsTrainerInRangeSouth -IsTrainerInRangeSouth: @ 8081C9C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r3, 0x10 - ldrsh r0, [r4, r3] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _08081CE4 - lsls r0, r5, 16 - asrs r2, r0, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r2, r0 - ble _08081CE4 - lsls r1, 16 - asrs r1, 16 - adds r0, r1 - cmp r2, r0 - bgt _08081CE4 - cmp r1, 0x3 - ble _08081CDA - bl GetFirstInactiveObjectEventId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _08081CE4 -_08081CDA: - ldrb r0, [r4, 0x12] - subs r0, r5, r0 - lsls r0, 24 - lsrs r0, 24 - b _08081CE6 -_08081CE4: - movs r0, 0 -_08081CE6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeSouth - - thumb_func_start IsTrainerInRangeNorth -IsTrainerInRangeNorth: @ 8081CEC - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _08081D26 - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - bge _08081D26 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r2, r1 - blt _08081D26 - subs r0, r3, r5 - lsls r0, 24 - lsrs r0, 24 - b _08081D28 -_08081D26: - movs r0, 0 -_08081D28: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeNorth - - thumb_func_start IsTrainerInRangeWest -IsTrainerInRangeWest: @ 8081D30 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _08081D6A - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _08081D6A - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r3, r1 - blt _08081D6A - subs r0, r2, r5 - lsls r0, 24 - lsrs r0, 24 - b _08081D6C -_08081D6A: - movs r0, 0 -_08081D6C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeWest - - thumb_func_start IsTrainerInRangeEast -IsTrainerInRangeEast: @ 8081D74 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _08081DAE - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - ble _08081DAE - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r3, r1 - bgt _08081DAE - subs r0, r5, r2 - lsls r0, 24 - lsrs r0, 24 - b _08081DB0 -_08081DAE: - movs r0, 0 -_08081DB0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeEast - - thumb_func_start CheckPathBetweenTrainerAndPlayer -CheckPathBetweenTrainerAndPlayer: @ 8081DB8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - cmp r1, 0 - beq _08081E54 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r1, sp - adds r1, 0x2 - strh r0, [r1] - movs r4, 0 - mov r8, r1 - mov r5, r9 - subs r5, 0x1 - cmp r4, r5 - bgt _08081E26 -_08081DEC: - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl GetCollisionFlagsAtCoords - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08081E12 - movs r0, 0x2 - negs r0, r0 - ands r1, r0 - cmp r1, 0 - bne _08081E54 -_08081E12: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - mov r1, sp - mov r2, r8 - bl MoveCoords - cmp r4, r5 - ble _08081DEC -_08081E26: - ldrb r4, [r6, 0x19] - lsls r5, r4, 28 - lsrs r5, 28 - lsrs r4, 4 - movs r0, 0 - strb r0, [r6, 0x19] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r1, r0, 24 - lsls r4, 4 - orrs r5, r4 - strb r5, [r6, 0x19] - cmp r1, 0x4 - beq _08081E58 -_08081E54: - movs r0, 0 - b _08081E5A -_08081E58: - mov r0, r9 -_08081E5A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPathBetweenTrainerAndPlayer - - thumb_func_start sub_8081E68 -sub_8081E68: @ 8081E68 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, _08081E94 @ =RunTrainerSeeFuncList - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08081E98 @ =gTasks - adds r1, r0 - lsrs r0, r5, 16 - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - strh r4, [r1, 0xE] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081E94: .4byte RunTrainerSeeFuncList -_08081E98: .4byte gTasks - thumb_func_end sub_8081E68 - - thumb_func_start sub_8081E9C -sub_8081E9C: @ 8081E9C - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _08081ED4 @ =RunTrainerSeeFuncList - adds r0, r5, 0 - bl FindTaskIdByFunc - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, _08081ED8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - adds r0, r4, 0 - bl _call_via_r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08081ED4: .4byte RunTrainerSeeFuncList -_08081ED8: .4byte gTasks - thumb_func_end sub_8081E9C - - thumb_func_start RunTrainerSeeFuncList -RunTrainerSeeFuncList: @ 8081EDC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _08081F08 @ =gTasks - adds r5, r0, r1 - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r4, r0, 16 - ldrh r0, [r5, 0xC] - orrs r4, r0 - ldrb r0, [r4] - lsls r0, 31 - cmp r0, 0 - bne _08081F0C - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _08081F28 - .align 2, 0 -_08081F08: .4byte gTasks -_08081F0C: - ldr r7, _08081F30 @ =gUnknown_83C7258 -_08081F0E: - movs r1, 0x8 - ldrsh r0, [r5, r1] - lsls r0, 2 - adds r0, r7 - ldr r3, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _08081F0E -_08081F28: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08081F30: .4byte gUnknown_83C7258 - thumb_func_end RunTrainerSeeFuncList - - thumb_func_start sub_8081F34 -sub_8081F34: @ 8081F34 - movs r0, 0 - bx lr - thumb_func_end sub_8081F34 - - thumb_func_start sub_8081F38 -sub_8081F38: @ 8081F38 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldrb r1, [r4, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _08081F54 - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x2 - ble _08081F54 - movs r0, 0xC - b _08081F82 -_08081F54: - ldr r1, _08081F8C @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r4, 0 - bl ObjectEventGetLocalIdAndMap - movs r0, 0 - bl FieldEffectStart - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 -_08081F82: - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08081F8C: .4byte gFieldEffectArguments - thumb_func_end sub_8081F38 - - thumb_func_start sub_8081F90 -sub_8081F90: @ 8081F90 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - movs r0, 0 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - beq _08081FA6 - movs r0, 0 - b _08081FC8 -_08081FA6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r0, [r5, 0x6] - subs r0, 0x39 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08081FBC - movs r0, 0x6 - strh r0, [r4, 0x8] -_08081FBC: - ldrb r0, [r5, 0x6] - cmp r0, 0x3F - bne _08081FC6 - movs r0, 0x8 - strh r0, [r4, 0x8] -_08081FC6: - movs r0, 0x1 -_08081FC8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8081F90 - - thumb_func_start sub_8081FD0 -sub_8081FD0: @ 8081FD0 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08081FEE - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08082022 -_08081FEE: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08082014 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetWalkNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - b _08082022 -_08082014: - adds r0, r4, 0 - movs r1, 0x4A - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08082022: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8081FD0 - - thumb_func_start sub_808202C -sub_808202C: @ 808202C - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808204A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080820AC -_0808204A: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetTrainerMovementType - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl OverrideMovementTypeForObjectEvent - adds r0, r4, 0 - bl OverrideTemplateCoordsForObjectEvent - ldr r0, _080820B4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080820B8 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080820A2 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080820AC -_080820A2: - bl sub_805C774 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080820AC: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080820B4: .4byte gPlayerAvatar -_080820B8: .4byte gObjectEvents - thumb_func_end sub_808202C - - thumb_func_start sub_80820BC -sub_80820BC: @ 80820BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080820F8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080820FC @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080820E8 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080820EE -_080820E8: - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc -_080820EE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080820F8: .4byte gPlayerAvatar -_080820FC: .4byte gObjectEvents - thumb_func_end sub_80820BC - - thumb_func_start sub_8082100 -sub_8082100: @ 8082100 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808211E - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808212C -_0808211E: - adds r0, r4, 0 - movs r1, 0x67 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0808212C: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8082100 - - thumb_func_start sub_8082134 -sub_8082134: @ 8082134 - push {r4,lr} - adds r4, r1, 0 - adds r0, r2, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08082148 - movs r0, 0x3 - strh r0, [r4, 0x8] -_08082148: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8082134 - - thumb_func_start sub_8082150 -sub_8082150: @ 8082150 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808216E - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808217C -_0808216E: - adds r0, r4, 0 - movs r1, 0x4A - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0808217C: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8082150 - - thumb_func_start sub_8082184 -sub_8082184: @ 8082184 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - cmp r0, 0 - beq _080821CA - ldr r2, _080821D4 @ =gFieldEffectArguments - movs r1, 0x10 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x12 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - ldr r3, _080821D8 @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r5, 0x10] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080821CA: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080821D4: .4byte gFieldEffectArguments -_080821D8: .4byte gSprites - thumb_func_end sub_8082184 - - thumb_func_start sub_80821DC -sub_80821DC: @ 80821DC - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r2, _0808224C @ =gSprites - movs r1, 0x10 - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x2B - ldrb r0, [r1] - cmp r0, 0x2 - bne _08082244 - ldrb r1, [r4, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x3] - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetJumpInPlaceMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08082244: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808224C: .4byte gSprites - thumb_func_end sub_80821DC - - thumb_func_start sub_8082250 -sub_8082250: @ 8082250 - push {r4,lr} - adds r4, r1, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08082264 - movs r0, 0x3 - strh r0, [r4, 0x8] -_08082264: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8082250 - - thumb_func_start sub_808226C -sub_808226C: @ 808226C - push {r4,lr} - sub sp, 0x8 - adds r4, r1, 0 - movs r0, 0 - strh r0, [r4, 0x12] - ldr r0, _080822C4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x12 - movs r1, 0x7 - movs r2, 0x7F - bl SpawnSpecialObjectEventParameterized - ldr r2, _080822C8 @ =gObjectEvents - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080822C4: .4byte gSaveBlock1Ptr -_080822C8: .4byte gObjectEvents - thumb_func_end sub_808226C - - thumb_func_start sub_80822CC -sub_80822CC: @ 80822CC - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, _08082348 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, _0808234C @ =gObjectEvents - adds r0, r4 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08082312 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808236E -_08082312: - movs r0, 0x12 - ldrsh r1, [r5, r0] - movs r2, 0xE - ldrsh r0, [r5, r2] - subs r0, 0x1 - cmp r1, r0 - beq _08082350 - mov r0, sp - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0808234C @ =gObjectEvents - adds r4, r0 - movs r0, 0x2 - bl GetWalkFastMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x12] - adds r0, 0x1 - strh r0, [r5, 0x12] - b _0808236E - .align 2, 0 -_08082348: .4byte gSaveBlock1Ptr -_0808234C: .4byte gObjectEvents -_08082350: - ldr r1, _08082378 @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r6, 0 - bl ObjectEventGetLocalIdAndMap - movs r0, 0 - bl FieldEffectStart - movs r0, 0 - strh r0, [r5, 0x12] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0808236E: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08082378: .4byte gFieldEffectArguments - thumb_func_end sub_80822CC - - thumb_func_start sub_808237C -sub_808237C: @ 808237C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - ldr r0, _08082404 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - movs r0, 0 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0808242E - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, _08082408 @ =gObjectEvents - adds r0, r4 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080823CC - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808242E -_080823CC: - movs r0, 0x12 - ldrsh r1, [r5, r0] - movs r2, 0xE - ldrsh r0, [r5, r2] - subs r0, 0x1 - cmp r1, r0 - beq _0808240C - mov r0, sp - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08082408 @ =gObjectEvents - adds r4, r0 - movs r0, 0x1 - bl GetWalkFastMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x12] - adds r0, 0x1 - strh r0, [r5, 0x12] - b _0808242E - .align 2, 0 -_08082404: .4byte gSaveBlock1Ptr -_08082408: .4byte gObjectEvents -_0808240C: - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, _08082438 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveObjectEventByLocalIdAndMap - movs r0, 0 - strh r0, [r5, 0x12] - movs r0, 0x2 - strh r0, [r5, 0x8] -_0808242E: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08082438: .4byte gSaveBlock1Ptr - thumb_func_end sub_808237C - - thumb_func_start sub_808243C -sub_808243C: @ 808243C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080824D0 @ =gTasks - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0xA - mov r1, sp - bl LoadWordFromTwoHalfwords - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808246E - ldr r0, [sp] - bl ObjectEventClearHeldMovement - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_0808246E: - ldr r1, _080824D4 @ =gUnknown_83C7294 - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r2, [sp] - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl _call_via_r3 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _080824D8 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080824D8 - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetTrainerMovementType - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl OverrideMovementTypeForObjectEvent - adds r0, r5, 0 - bl DestroyTask - b _080824E2 - .align 2, 0 -_080824D0: .4byte gTasks -_080824D4: .4byte gUnknown_83C7294 -_080824D8: - ldr r2, [sp] - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_080824E2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808243C - - thumb_func_start sub_80824EC -sub_80824EC: @ 80824EC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08082518 @ =sub_808243C - movs r1, 0 - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0808251C @ =gTasks+0x8 - adds r0, r1 - adds r0, 0x2 - adds r1, r4, 0 - bl StoreWordInTwoHalfwords - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08082518: .4byte sub_808243C -_0808251C: .4byte gTasks+0x8 - thumb_func_end sub_80824EC - - thumb_func_start ScrSpecial_EndTrainerApproach -ScrSpecial_EndTrainerApproach: @ 8082520 - push {lr} - ldr r0, _0808252C @ =sub_8082530 - bl sub_8081E9C - pop {r0} - bx r0 - .align 2, 0 -_0808252C: .4byte sub_8082530 - thumb_func_end ScrSpecial_EndTrainerApproach - - thumb_func_start sub_8082530 -sub_8082530: @ 8082530 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8082530 - - thumb_func_start FldEff_ExclamationMarkIcon1 -FldEff_ExclamationMarkIcon1: @ 8082544 - push {lr} - ldr r0, _08082574 @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x53 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0808256C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08082578 @ =gSprites - adds r0, r1 - movs r1, 0 - movs r2, 0 - bl sub_808265C -_0808256C: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08082574: .4byte gUnknown_83C7388 -_08082578: .4byte gSprites - thumb_func_end FldEff_ExclamationMarkIcon1 - - thumb_func_start sub_808257C -sub_808257C: @ 808257C - push {lr} - ldr r0, _080825AC @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080825A4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080825B0 @ =gSprites - adds r0, r1 - movs r1, 0x42 - movs r2, 0x1 - bl sub_808265C -_080825A4: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080825AC: .4byte gUnknown_83C7388 -_080825B0: .4byte gSprites - thumb_func_end sub_808257C - - thumb_func_start sub_80825B4 -sub_80825B4: @ 80825B4 - push {lr} - ldr r0, _080825E4 @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080825DC - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080825E8 @ =gSprites - adds r0, r1 - movs r1, 0x2E - movs r2, 0x2 - bl sub_808265C -_080825DC: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080825E4: .4byte gUnknown_83C7388 -_080825E8: .4byte gSprites - thumb_func_end sub_80825B4 - - thumb_func_start sub_80825EC -sub_80825EC: @ 80825EC - push {lr} - ldr r0, _0808261C @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08082614 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08082620 @ =gSprites - adds r0, r1 - movs r1, 0x40 - movs r2, 0x3 - bl sub_808265C -_08082614: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0808261C: .4byte gUnknown_83C7388 -_08082620: .4byte gSprites - thumb_func_end sub_80825EC - - thumb_func_start sub_8082624 -sub_8082624: @ 8082624 - push {lr} - ldr r0, _08082654 @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0808264C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08082658 @ =gSprites - adds r0, r1 - movs r1, 0x21 - movs r2, 0x4 - bl sub_808265C -_0808264C: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08082654: .4byte gUnknown_83C7388 -_08082658: .4byte gSprites - thumb_func_end sub_8082624 - - thumb_func_start sub_808265C -sub_808265C: @ 808265C - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldrb r4, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - ands r3, r4 - movs r4, 0x4 - orrs r3, r4 - strb r3, [r0, 0x5] - movs r3, 0x3E - adds r3, r0 - mov r12, r3 - ldrb r3, [r3] - movs r4, 0x2 - orrs r3, r4 - mov r4, r12 - strb r3, [r4] - ldr r4, _080826A0 @ =gFieldEffectArguments - ldr r3, [r4] - strh r3, [r0, 0x2E] - ldr r3, [r4, 0x4] - strh r3, [r0, 0x30] - ldr r3, [r4, 0x8] - strh r3, [r0, 0x32] - ldr r3, _080826A4 @ =0x0000fffb - strh r3, [r0, 0x34] - strh r1, [r0, 0x3C] - adds r1, r2, 0 - bl StartSpriteAnim - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080826A0: .4byte gFieldEffectArguments -_080826A4: .4byte 0x0000fffb - thumb_func_end sub_808265C - - thumb_func_start objc_exclamation_mark_probably -objc_exclamation_mark_probably: @ 80826A8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080826DA - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080826E8 -_080826DA: - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop - b _08082736 -_080826E8: - ldr r2, _0808272C @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08082730 @ =gSprites - adds r1, r0 - ldrh r3, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r2, r3, r0 - strh r2, [r4, 0x36] - ldrh r0, [r1, 0x20] - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0x10 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r1, 0x26] - adds r0, r2 - strh r0, [r4, 0x26] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _08082734 - adds r0, r3, 0x1 - strh r0, [r4, 0x34] - b _08082736 - .align 2, 0 -_0808272C: .4byte gObjectEvents -_08082730: .4byte gSprites -_08082734: - strh r2, [r4, 0x34] -_08082736: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end objc_exclamation_mark_probably - - .align 2, 0 @ Don't pad with nop. |