diff options
Diffstat (limited to 'asm/script_menu.s')
-rw-r--r-- | asm/script_menu.s | 2058 |
1 files changed, 0 insertions, 2058 deletions
diff --git a/asm/script_menu.s b/asm/script_menu.s deleted file mode 100644 index 56781a953..000000000 --- a/asm/script_menu.s +++ /dev/null @@ -1,2058 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809C954 -sub_809C954: @ 809C954 - push {lr} - adds r1, r0, 0 - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r1, r0, 0 - adds r0, r1, 0x7 - cmp r0, 0 - bge _0809C96A - adds r0, 0x7 -_0809C96A: - lsls r0, 13 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_809C954 - - thumb_func_start sub_809C974 -sub_809C974: @ 809C974 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, [r7] - bl sub_809C954 - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0x1 - cmp r5, r4 - bcs _0809C9AA -_0809C98C: - lsls r0, r5, 3 - adds r0, r7 - ldr r0, [r0] - bl sub_809C954 - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bcs _0809C9A0 - adds r6, r0, 0 -_0809C9A0: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r4 - bcc _0809C98C -_0809C9AA: - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809C974 - - thumb_func_start ScriptMenu_Multichoice -ScriptMenu_Multichoice: @ 809C9B4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - ldr r0, _0809C9F0 @ =sub_809CC98 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809C9F8 - ldr r0, _0809C9F4 @ =gSpecialVar_Result - movs r1, 0xFF - strh r1, [r0] - movs r0, 0 - str r0, [sp] - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_809CA64 - movs r0, 0x1 - b _0809C9FA - .align 2, 0 -_0809C9F0: .4byte sub_809CC98 -_0809C9F4: .4byte gSpecialVar_Result -_0809C9F8: - movs r0, 0 -_0809C9FA: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ScriptMenu_Multichoice - - thumb_func_start ScriptMenu_MultichoiceWithDefault -ScriptMenu_MultichoiceWithDefault: @ 809CA04 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, [sp, 0x1C] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r5, r3, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809CA4C @ =sub_809CC98 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809CA54 - ldr r1, _0809CA50 @ =gSpecialVar_Result - movs r0, 0xFF - strh r0, [r1] - str r4, [sp] - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_809CA64 - movs r0, 0x1 - b _0809CA56 - .align 2, 0 -_0809CA4C: .4byte sub_809CC98 -_0809CA50: .4byte gSpecialVar_Result -_0809CA54: - movs r0, 0 -_0809CA56: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ScriptMenu_MultichoiceWithDefault - - thumb_func_start sub_809CA64 -sub_809CA64: @ 809CA64 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x18] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x1C] - movs r0, 0x2 - ands r0, r3 - cmp r0, 0 - bne _0809CAA6 - ldr r0, _0809CB54 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809CBA2 -_0809CAA6: - movs r0, 0x1 - ldr r1, [sp, 0x18] - ands r1, r0 - str r1, [sp, 0x18] - ldr r1, _0809CB58 @ =gUnknown_83E04B0 - mov r2, r10 - lsls r0, r2, 3 - adds r0, r1 - ldrb r7, [r0, 0x4] - ldr r0, [r0] - mov r8, r0 - movs r6, 0 - cmp r6, r7 - bge _0809CADE - mov r5, r8 - adds r4, r7, 0 -_0809CAC6: - ldr r1, [r5] - movs r0, 0x2 - movs r2, 0 - bl GetStringWidth - cmp r0, r6 - ble _0809CAD6 - adds r6, r0, 0 -_0809CAD6: - adds r5, 0x8 - subs r4, 0x1 - cmp r4, 0 - bne _0809CAC6 -_0809CADE: - adds r0, r6, 0 - adds r0, 0x9 - cmp r0, 0 - bge _0809CAE8 - adds r0, 0x7 -_0809CAE8: - asrs r0, 3 - adds r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r9 - adds r0, r1, r5 - cmp r0, 0x1C - ble _0809CB02 - movs r0, 0x1C - subs r0, r5 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0809CB02: - adds r0, r7, 0 - bl sub_809CBB4 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r9 - ldr r1, [sp, 0x14] - adds r2, r5, 0 - bl CreateWindowFromRect - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0 - bl SetStdWindowBorderStyle - mov r2, r10 - cmp r2, 0x1E - beq _0809CB32 - cmp r2, 0xD - beq _0809CB32 - cmp r2, 0x29 - bne _0809CB5C -_0809CB32: - movs r0, 0xE - str r0, [sp] - str r7, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x2 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - movs r2, 0x8 - movs r3, 0x2 - bl MultichoiceList_PrintItems - b _0809CB7A - .align 2, 0 -_0809CB54: .4byte sub_809D6D4 -_0809CB58: .4byte gUnknown_83E04B0 -_0809CB5C: - movs r0, 0xE - str r0, [sp] - str r7, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x2 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - movs r2, 0x8 - movs r3, 0x2 - bl MultichoiceList_PrintItems -_0809CB7A: - movs r0, 0xE - str r0, [sp] - str r7, [sp, 0x4] - ldr r2, [sp, 0x1C] - str r2, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - ldr r0, [sp, 0x18] - adds r1, r7, 0 - adds r2, r5, 0 - mov r3, r10 - bl sub_809CC18 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram -_0809CBA2: - 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_809CA64 - - thumb_func_start sub_809CBB4 -sub_809CBB4: @ 809CBB4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _0809CC10 - lsls r0, 2 - ldr r1, _0809CBC8 @ =_0809CBCC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809CBC8: .4byte _0809CBCC - .align 2, 0 -_0809CBCC: - .4byte _0809CC10 - .4byte _0809CBF0 - .4byte _0809CBF4 - .4byte _0809CBF8 - .4byte _0809CBFC - .4byte _0809CC00 - .4byte _0809CC04 - .4byte _0809CC08 - .4byte _0809CC0C -_0809CBF0: - movs r0, 0x2 - b _0809CC12 -_0809CBF4: - movs r0, 0x4 - b _0809CC12 -_0809CBF8: - movs r0, 0x6 - b _0809CC12 -_0809CBFC: - movs r0, 0x7 - b _0809CC12 -_0809CC00: - movs r0, 0x9 - b _0809CC12 -_0809CC04: - movs r0, 0xB - b _0809CC12 -_0809CC08: - movs r0, 0xD - b _0809CC12 -_0809CC0C: - movs r0, 0xE - b _0809CC12 -_0809CC10: - movs r0, 0x1 -_0809CC12: - pop {r1} - bx r1 - thumb_func_end sub_809CBB4 - - thumb_func_start sub_809CC18 -sub_809CC18: @ 809CC18 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - cmp r4, 0x27 - beq _0809CC36 - cmp r4, 0x2F - beq _0809CC36 - cmp r4, 0x32 - bne _0809CC40 -_0809CC36: - ldr r1, _0809CC3C @ =gUnknown_2039988 - movs r0, 0xC - b _0809CC44 - .align 2, 0 -_0809CC3C: .4byte gUnknown_2039988 -_0809CC40: - ldr r1, _0809CC68 @ =gUnknown_2039988 - movs r0, 0 -_0809CC44: - strb r0, [r1] - ldr r0, _0809CC6C @ =sub_809CC98 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0809CC70 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - strh r6, [r1, 0x10] - cmp r5, 0x3 - bls _0809CC74 - movs r0, 0x1 - b _0809CC76 - .align 2, 0 -_0809CC68: .4byte gUnknown_2039988 -_0809CC6C: .4byte sub_809CC98 -_0809CC70: .4byte gTasks -_0809CC74: - movs r0, 0 -_0809CC76: - strh r0, [r1, 0x12] - ldr r1, _0809CC94 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0x14] - strh r4, [r0, 0x16] - adds r0, r4, 0 - bl sub_809CD48 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809CC94: .4byte gTasks - thumb_func_end sub_809CC18 - - thumb_func_start sub_809CC98 -sub_809CC98: @ 809CC98 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0809CCC4 @ =gTasks+0x8 - adds r5, r0, r1 - ldr r0, _0809CCC8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809CD3C - ldr r1, _0809CCCC @ =gUnknown_2039988 - ldrb r0, [r1] - cmp r0, 0 - beq _0809CCD0 - subs r0, 0x1 - strb r0, [r1] - b _0809CD3C - .align 2, 0 -_0809CCC4: .4byte gTasks+0x8 -_0809CCC8: .4byte gPaletteFade -_0809CCCC: .4byte gUnknown_2039988 -_0809CCD0: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809CCDE - bl Menu_ProcessInputNoWrapAround - b _0809CCE2 -_0809CCDE: - bl Menu_ProcessInput -_0809CCE2: - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809CD20 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _0809CCF8 - ldrb r0, [r5, 0xE] - bl sub_809CD48 -_0809CCF8: - lsls r0, r4, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0809CD3C - adds r0, 0x1 - cmp r1, r0 - bne _0809CD28 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809CD3C - movs r0, 0x5 - bl PlaySE - ldr r1, _0809CD24 @ =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - b _0809CD2C - .align 2, 0 -_0809CD20: .4byte gMain -_0809CD24: .4byte gSpecialVar_Result -_0809CD28: - ldr r0, _0809CD44 @ =gSpecialVar_Result - strh r1, [r0] -_0809CD2C: - ldrb r0, [r5, 0xC] - bl sub_809D6B0 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0809CD3C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809CD44: .4byte gSpecialVar_Result - thumb_func_end sub_809CC98 - - thumb_func_start sub_809CD48 -sub_809CD48: @ 809CD48 - push {r4,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2F - beq _0809CD78 - cmp r0, 0x2F - bgt _0809CD60 - cmp r0, 0x27 - beq _0809CD66 - b _0809CDE0 -_0809CD60: - cmp r1, 0x32 - beq _0809CDB0 - b _0809CDE0 -_0809CD66: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r4, _0809CD74 @ =gUnknown_83E072C - b _0809CD82 - .align 2, 0 -_0809CD74: .4byte gUnknown_83E072C -_0809CD78: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r4, _0809CDAC @ =gUnknown_83E0738 -_0809CD82: - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r2, [r0] - 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 - b _0809CDE0 - .align 2, 0 -_0809CDAC: .4byte gUnknown_83E0738 -_0809CDB0: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r4, _0809CDE8 @ =gUnknown_83E0748 - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r2, [r0] - 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 -_0809CDE0: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809CDE8: .4byte gUnknown_83E0748 - thumb_func_end sub_809CD48 - - thumb_func_start ScriptMenu_YesNo -ScriptMenu_YesNo: @ 809CDEC - push {r4,lr} - ldr r4, _0809CE04 @ =task_yes_no_maybe - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809CE08 - movs r0, 0 - b _0809CE28 - .align 2, 0 -_0809CE04: .4byte task_yes_no_maybe -_0809CE08: - ldr r1, _0809CE30 @ =gSpecialVar_Result - movs r0, 0xFF - strh r0, [r1] - ldr r0, _0809CE34 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - cmp r0, 0 - bne _0809CE26 - bl DisplayYesNoMenuDefaultYes - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_0809CE26: - movs r0, 0x1 -_0809CE28: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809CE30: .4byte gSpecialVar_Result -_0809CE34: .4byte sub_809D6D4 - thumb_func_end ScriptMenu_YesNo - - thumb_func_start sub_809CE38 -sub_809CE38: @ 809CE38 - push {lr} - ldr r0, _0809CE48 @ =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0xFF - beq _0809CE4C - movs r0, 0x1 - b _0809CE4E - .align 2, 0 -_0809CE48: .4byte gSpecialVar_Result -_0809CE4C: - movs r0, 0 -_0809CE4E: - pop {r1} - bx r1 - thumb_func_end sub_809CE38 - - thumb_func_start task_yes_no_maybe -task_yes_no_maybe: @ 809CE54 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0809CE74 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x4 - bgt _0809CE78 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _0809CEBC - .align 2, 0 -_0809CE74: .4byte gTasks -_0809CE78: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0809CE9C - cmp r1, r0 - bgt _0809CE94 - subs r0, 0x1 - cmp r1, r0 - beq _0809CEBC - b _0809CEB2 -_0809CE94: - cmp r1, 0 - beq _0809CEAC - cmp r1, 0x1 - bne _0809CEB2 -_0809CE9C: - movs r0, 0x5 - bl PlaySE - ldr r1, _0809CEA8 @ =gSpecialVar_Result - movs r0, 0 - b _0809CEB0 - .align 2, 0 -_0809CEA8: .4byte gSpecialVar_Result -_0809CEAC: - ldr r1, _0809CEC4 @ =gSpecialVar_Result - movs r0, 0x1 -_0809CEB0: - strh r0, [r1] -_0809CEB2: - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0809CEBC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809CEC4: .4byte gSpecialVar_Result - thumb_func_end task_yes_no_maybe - - thumb_func_start ScriptMenu_MultichoiceGrid -ScriptMenu_MultichoiceGrid: @ 809CEC8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - ldr r4, [sp, 0x38] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r4, 24 - lsrs r7, r4, 24 - ldr r0, _0809CF04 @ =sub_809CFDC - mov r9, r0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809CF08 - movs r0, 0 - b _0809CFBA - .align 2, 0 -_0809CF04: .4byte sub_809CFDC -_0809CF08: - ldr r1, _0809CFCC @ =gSpecialVar_Result - movs r0, 0xFF - strh r0, [r1] - ldr r0, _0809CFD0 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809CFB8 - ldr r1, _0809CFD4 @ =gUnknown_83E04B0 - lsls r0, r5, 3 - adds r0, r1 - ldr r1, [r0] - mov r8, r1 - ldrb r4, [r0, 0x4] - mov r0, r8 - adds r1, r4, 0 - bl sub_809C974 - adds r5, r0, 0 - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl __udivsi3 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - mov r0, r9 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809CFD8 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0 - mov r9, r0 - mov r1, r10 - strh r1, [r4, 0x10] - adds r2, r5, 0 - muls r2, r7 - lsls r2, 24 - lsrs r2, 24 - lsls r3, r6, 25 - lsrs r3, 24 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - bl CreateWindowFromRect - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - movs r1, 0 - bl SetStdWindowBorderStyle - ldrb r0, [r4, 0x14] - lsls r5, 27 - lsrs r5, 24 - str r7, [sp] - str r6, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x10 - bl MultichoiceGrid_PrintItems - ldrb r0, [r4, 0x14] - str r5, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - mov r1, r9 - str r1, [sp, 0xC] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl MultichoiceGrid_InitCursor - movs r0, 0 - bl ScheduleBgCopyTilemapToVram -_0809CFB8: - movs r0, 0x1 -_0809CFBA: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809CFCC: .4byte gSpecialVar_Result -_0809CFD0: .4byte sub_809D6D4 -_0809CFD4: .4byte gUnknown_83E04B0 -_0809CFD8: .4byte gTasks - thumb_func_end ScriptMenu_MultichoiceGrid - - thumb_func_start sub_809CFDC -sub_809CFDC: @ 809CFDC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0809D018 @ =gTasks+0x8 - adds r5, r0, r1 - bl Menu_ProcessInputGridLayout - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0809D034 - adds r0, 0x1 - cmp r1, r0 - bne _0809D020 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809D034 - movs r0, 0x5 - bl PlaySE - ldr r1, _0809D01C @ =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - b _0809D024 - .align 2, 0 -_0809D018: .4byte gTasks+0x8 -_0809D01C: .4byte gSpecialVar_Result -_0809D020: - ldr r0, _0809D03C @ =gSpecialVar_Result - strh r1, [r0] -_0809D024: - ldrb r0, [r5, 0xC] - bl sub_809D6B0 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0809D034: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D03C: .4byte gSpecialVar_Result - thumb_func_end sub_809CFDC - - thumb_func_start ScrSpecial_CreatePCMenu -ScrSpecial_CreatePCMenu: @ 809D040 - push {lr} - ldr r0, _0809D060 @ =sub_809CC98 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809D068 - ldr r1, _0809D064 @ =gSpecialVar_Result - movs r0, 0xFF - strh r0, [r1] - bl sub_809D070 - movs r0, 0x1 - b _0809D06A - .align 2, 0 -_0809D060: .4byte sub_809CC98 -_0809D064: .4byte gSpecialVar_Result -_0809D068: - movs r0, 0 -_0809D06A: - pop {r1} - bx r1 - thumb_func_end ScrSpecial_CreatePCMenu - - thumb_func_start sub_809D070 -sub_809D070: @ 809D070 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - ldr r0, _0809D11C @ =gUnknown_8417BB6 - bl sub_809C954 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xA - bgt _0809D0A0 - cmp r0, 0x9 - bge _0809D0AE -_0809D0A0: - ldr r0, _0809D120 @ =0x00000829 - bl FlagGet - lsls r0, 24 - movs r4, 0xD - cmp r0, 0 - beq _0809D0B0 -_0809D0AE: - movs r4, 0xE -_0809D0B0: - ldr r0, _0809D124 @ =0x0000082c - bl FlagGet - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _0809D134 - movs r0, 0x5 - mov r9, r0 - movs r0, 0 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0xA - bl CreateWindowFromRect - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - movs r1, 0 - bl SetStdWindowBorderStyle - ldr r2, _0809D128 @ =gUnknown_8417BD3 - movs r0, 0x22 - str r0, [sp] - movs r5, 0xFF - str r5, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized - ldr r2, _0809D12C @ =gUnknown_8417BBE - movs r0, 0x32 - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized - ldr r2, _0809D130 @ =gUnknown_8417BCB - movs r0, 0x42 - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized - b _0809D1A8 - .align 2, 0 -_0809D11C: .4byte gUnknown_8417BB6 -_0809D120: .4byte 0x00000829 -_0809D124: .4byte 0x0000082c -_0809D128: .4byte gUnknown_8417BD3 -_0809D12C: .4byte gUnknown_8417BBE -_0809D130: .4byte gUnknown_8417BCB -_0809D134: - ldr r1, _0809D1D0 @ =0x00000829 - mov r8, r1 - mov r0, r8 - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - mov r9, r1 - cmp r0, 0 - beq _0809D14C - movs r0, 0x4 - mov r9, r0 -_0809D14C: - mov r1, r9 - lsls r3, r1, 1 - movs r0, 0 - movs r1, 0 - adds r2, r4, 0 - bl CreateWindowFromRect - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - movs r1, 0 - bl SetStdWindowBorderStyle - mov r0, r8 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0809D188 - ldr r2, _0809D1D4 @ =gUnknown_8417BD3 - movs r0, 0x22 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized -_0809D188: - ldr r2, _0809D1D8 @ =gUnknown_8417BCB - mov r0, r9 - subs r0, 0x1 - lsls r0, 4 - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized -_0809D1A8: - ldr r0, _0809D1DC @ =0x00000834 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0809D1E4 - ldr r2, _0809D1E0 @ =gUnknown_8417BAC - movs r0, 0x2 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized - b _0809D1FA - .align 2, 0 -_0809D1D0: .4byte 0x00000829 -_0809D1D4: .4byte gUnknown_8417BD3 -_0809D1D8: .4byte gUnknown_8417BCB -_0809D1DC: .4byte 0x00000834 -_0809D1E0: .4byte gUnknown_8417BAC -_0809D1E4: - ldr r2, _0809D248 @ =gUnknown_8417B9F - movs r0, 0x2 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized -_0809D1FA: - ldr r4, _0809D24C @ =gStringVar4 - ldr r1, _0809D250 @ =gUnknown_8417BB6 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r7, 0 - movs r3, 0x12 - bl Menu_PrintFormatIntlPlayerName - movs r0, 0x10 - str r0, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0 - mov r1, r9 - adds r2, r6, 0 - movs r3, 0xFF - bl sub_809CC18 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D248: .4byte gUnknown_8417B9F -_0809D24C: .4byte gStringVar4 -_0809D250: .4byte gUnknown_8417BB6 - thumb_func_end sub_809D070 - - thumb_func_start ScriptMenu_DisplayPCStartupPrompt -ScriptMenu_DisplayPCStartupPrompt: @ 809D254 - push {lr} - sub sp, 0x10 - movs r0, 0 - movs r1, 0x1 - bl sub_80F7768 - ldr r2, _0809D284 @ =gUnknown_81A508A - 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 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0809D284: .4byte gUnknown_81A508A - thumb_func_end ScriptMenu_DisplayPCStartupPrompt - - thumb_func_start sub_809D288 -sub_809D288: @ 809D288 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809D2AC @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0809D2E8 - cmp r0, 0x1 - bgt _0809D2B0 - cmp r0, 0 - beq _0809D2CE - b _0809D2E8 - .align 2, 0 -_0809D2AC: .4byte gTasks -_0809D2B0: - cmp r0, 0x2 - beq _0809D2BA - cmp r0, 0x3 - beq _0809D2DC - b _0809D2E8 -_0809D2BA: - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809D2D8 @ =gSprites - adds r0, r1 - ldrb r1, [r4, 0xC] - bl sub_8083A5C -_0809D2CE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0809D2E8 - .align 2, 0 -_0809D2D8: .4byte gSprites -_0809D2DC: - ldrb r0, [r4, 0x12] - bl sub_809D6B0 - adds r0, r5, 0 - bl DestroyTask -_0809D2E8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809D288 - - thumb_func_start ScriptMenu_ShowPokemonPic -ScriptMenu_ShowPokemonPic: @ 809D2F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _0809D318 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809D31C - movs r0, 0x1 - b _0809D3C2 - .align 2, 0 -_0809D318: .4byte sub_809D6D4 -_0809D31C: - ldr r4, _0809D3B0 @ =sub_809D288 - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D3C0 - lsls r1, r7, 19 - movs r0, 0xA0 - lsls r0, 14 - adds r1, r0 - asrs r1, 16 - lsls r2, r6, 19 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - movs r3, 0 - bl sub_8083970 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x8 - movs r3, 0x8 - bl CreateWindowFromRect - ldr r1, _0809D3B4 @ =gTasks - lsls r3, r4, 2 - adds r3, r4 - lsls r3, 3 - adds r3, r1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r3, 0x12] - strh r1, [r3, 0x8] - mov r0, r8 - strh r0, [r3, 0xA] - strh r5, [r3, 0xC] - ldr r4, _0809D3B8 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r0, r4, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _0809D3BC @ =SpriteCallbackDummy - str r2, [r0] - adds r1, r4 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r0, [r3, 0x12] - movs r1, 0x1 - bl SetStdWindowBorderStyle - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x1 - b _0809D3C2 - .align 2, 0 -_0809D3B0: .4byte sub_809D288 -_0809D3B4: .4byte gTasks -_0809D3B8: .4byte gSprites -_0809D3BC: .4byte SpriteCallbackDummy -_0809D3C0: - movs r0, 0 -_0809D3C2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ScriptMenu_ShowPokemonPic - - thumb_func_start ScriptMenu_GetPicboxWaitFunc -ScriptMenu_GetPicboxWaitFunc: @ 809D3CC - push {lr} - ldr r0, _0809D3F0 @ =sub_809D288 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _0809D3FC - ldr r0, _0809D3F4 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r0, _0809D3F8 @ =sub_809D404 - b _0809D3FE - .align 2, 0 -_0809D3F0: .4byte sub_809D288 -_0809D3F4: .4byte gTasks -_0809D3F8: .4byte sub_809D404 -_0809D3FC: - movs r0, 0 -_0809D3FE: - pop {r1} - bx r1 - thumb_func_end ScriptMenu_GetPicboxWaitFunc - - thumb_func_start sub_809D404 -sub_809D404: @ 809D404 - push {lr} - ldr r0, _0809D418 @ =sub_809D288 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0809D41C - movs r0, 0 - b _0809D41E - .align 2, 0 -_0809D418: .4byte sub_809D288 -_0809D41C: - movs r0, 0x1 -_0809D41E: - pop {r1} - bx r1 - thumb_func_end sub_809D404 - - thumb_func_start sub_809D424 -sub_809D424: @ 809D424 - push {r4,r5,lr} - ldr r0, _0809D450 @ =sub_809D288 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0809D48C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809D454 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - blt _0809D48C - cmp r0, 0x2 - ble _0809D458 - cmp r0, 0x3 - beq _0809D480 - b _0809D48C - .align 2, 0 -_0809D450: .4byte sub_809D288 -_0809D454: .4byte gTasks -_0809D458: - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809D47C @ =gSprites - adds r0, r1 - ldrb r1, [r4, 0xC] - bl sub_8083A5C - ldrb r0, [r4, 0x12] - bl sub_809D6B0 - adds r0, r5, 0 - bl DestroyTask - b _0809D48C - .align 2, 0 -_0809D47C: .4byte gSprites -_0809D480: - ldrb r0, [r4, 0x12] - bl sub_809D6B0 - adds r0, r5, 0 - bl DestroyTask -_0809D48C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809D424 - - thumb_func_start sub_809D494 -sub_809D494: @ 809D494 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809D4B8 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0809D4FC - cmp r0, 0x1 - bgt _0809D4BC - cmp r0, 0 - beq _0809D4DE - b _0809D4FC - .align 2, 0 -_0809D4B8: .4byte gTasks -_0809D4BC: - cmp r0, 0x2 - beq _0809D4C6 - cmp r0, 0x3 - beq _0809D4F0 - b _0809D4FC -_0809D4C6: - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809D4E8 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r0, _0809D4EC @ =0x00001b58 - bl FreeSpriteTilesByTag -_0809D4DE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0809D4FC - .align 2, 0 -_0809D4E8: .4byte gSprites -_0809D4EC: .4byte 0x00001b58 -_0809D4F0: - ldrb r0, [r4, 0x12] - bl sub_809D6B0 - adds r0, r5, 0 - bl DestroyTask -_0809D4FC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809D494 - - thumb_func_start sub_809D504 -sub_809D504: @ 809D504 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _0809D544 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809D5F2 - ldr r0, _0809D548 @ =sub_809D494 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D55C - ldr r0, _0809D54C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x8D - bne _0809D558 - ldr r0, _0809D550 @ =gUnknown_83E17C0 - bl LoadSpriteSheets - ldr r0, _0809D554 @ =gUnknown_83E17A0 - movs r1, 0xE8 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - b _0809D572 - .align 2, 0 -_0809D544: .4byte sub_809D6D4 -_0809D548: .4byte sub_809D494 -_0809D54C: .4byte gSpecialVar_0x8004 -_0809D550: .4byte gUnknown_83E17C0 -_0809D554: .4byte gUnknown_83E17A0 -_0809D558: - cmp r0, 0x8E - beq _0809D560 -_0809D55C: - movs r0, 0 - b _0809D5F4 -_0809D560: - ldr r0, _0809D600 @ =gUnknown_83E17D0 - bl LoadSpriteSheets - ldr r0, _0809D604 @ =gUnknown_83E0F80 - movs r1, 0xE8 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette -_0809D572: - ldr r0, _0809D608 @ =gUnknown_83E0768 - ldr r1, _0809D60C @ =gSpecialVar_0x8005 - mov r8, r1 - ldrh r1, [r1] - lsls r1, 19 - movs r2, 0xA0 - lsls r2, 14 - adds r1, r2 - asrs r1, 16 - ldr r6, _0809D610 @ =gSpecialVar_0x8006 - ldrh r2, [r6] - lsls r2, 19 - movs r3, 0xA0 - lsls r3, 14 - adds r2, r3 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _0809D614 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0xD0 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r0, _0809D618 @ =sub_809D494 - movs r1, 0x50 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - ldrb r0, [r1] - ldrb r1, [r6] - movs r2, 0x8 - movs r3, 0x8 - bl CreateWindowFromRect - ldr r2, _0809D61C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r1, 0x12] - strh r2, [r1, 0x8] - strh r5, [r1, 0xC] - movs r1, 0x1 - bl SetStdWindowBorderStyle - movs r0, 0 - bl ScheduleBgCopyTilemapToVram -_0809D5F2: - movs r0, 0x1 -_0809D5F4: - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D600: .4byte gUnknown_83E17D0 -_0809D604: .4byte gUnknown_83E0F80 -_0809D608: .4byte gUnknown_83E0768 -_0809D60C: .4byte gSpecialVar_0x8005 -_0809D610: .4byte gSpecialVar_0x8006 -_0809D614: .4byte gSprites -_0809D618: .4byte sub_809D494 -_0809D61C: .4byte gTasks - thumb_func_end sub_809D504 - - thumb_func_start sub_809D620 -sub_809D620: @ 809D620 - push {lr} - ldr r0, _0809D644 @ =sub_809D494 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _0809D64C - ldr r0, _0809D648 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 - b _0809D64E - .align 2, 0 -_0809D644: .4byte sub_809D494 -_0809D648: .4byte gTasks -_0809D64C: - movs r0, 0 -_0809D64E: - pop {r1} - bx r1 - thumb_func_end sub_809D620 - - thumb_func_start CreateWindowFromRect -CreateWindowFromRect: @ 809D654 - push {r4,r5,lr} - sub sp, 0x20 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsls r5, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x80 - lsls r0, 17 - adds r4, r0 - lsrs r4, 24 - adds r5, r0 - lsrs r5, 24 - str r2, [sp] - str r3, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x38 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl SetWindowTemplateFields - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - add r0, sp, 0x18 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - add sp, 0x20 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end CreateWindowFromRect - - thumb_func_start sub_809D6B0 -sub_809D6B0: @ 809D6B0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl ClearWindowTilemap - adds r0, r4, 0 - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - adds r0, r4, 0 - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809D6B0 - - thumb_func_start sub_809D6D4 -sub_809D6D4: @ 809D6D4 - push {lr} - ldr r0, _0809D74C @ =EventScript_1A7AE0 - bl ScriptContext1_SetupScript - ldr r0, _0809D750 @ =sub_809D288 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0809D710 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0809D754 @ =gTasks+0x8 - adds r2, r0, r1 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bgt _0809D710 - movs r0, 0x4 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809D758 @ =gSprites - adds r0, r1 - ldrb r1, [r2, 0x4] - bl sub_8083A5C -_0809D710: - ldr r0, _0809D75C @ =sub_809D494 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0809D748 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0809D754 @ =gTasks+0x8 - adds r2, r0, r1 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bgt _0809D748 - movs r0, 0x4 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809D758 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r0, _0809D760 @ =0x00001b58 - bl FreeSpriteTilesByTag -_0809D748: - pop {r0} - bx r0 - .align 2, 0 -_0809D74C: .4byte EventScript_1A7AE0 -_0809D750: .4byte sub_809D288 -_0809D754: .4byte gTasks+0x8 -_0809D758: .4byte gSprites -_0809D75C: .4byte sub_809D494 -_0809D760: .4byte 0x00001b58 - thumb_func_end sub_809D6D4 - - thumb_func_start sub_809D764 -sub_809D764: @ 809D764 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - ldr r1, _0809D7A0 @ =gSpecialVar_Result - movs r0, 0xFF - strh r0, [r1] - ldr r0, _0809D7A4 @ =sub_809D6D4 - bl sub_81119D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809D784 - b _0809D8A8 -_0809D784: - ldr r0, _0809D7A8 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0809D7B0 - ldr r0, _0809D7AC @ =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r4, 0x4 - cmp r0, 0x4 - bhi _0809D798 - movs r4, 0x5 -_0809D798: - movs r0, 0x5 - mov r9, r0 - movs r5, 0x2 - b _0809D7B8 - .align 2, 0 -_0809D7A0: .4byte gSpecialVar_Result -_0809D7A4: .4byte sub_809D6D4 -_0809D7A8: .4byte gSpecialVar_0x8005 -_0809D7AC: .4byte gSpecialVar_0x8004 -_0809D7B0: - movs r4, 0 - movs r0, 0x6 - mov r9, r0 - movs r5, 0 -_0809D7B8: - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - mov r0, r9 - lsls r3, r0, 1 - movs r0, 0x11 - adds r1, r5, 0 - movs r2, 0xB - bl CreateWindowFromRect - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - movs r1, 0 - bl SetStdWindowBorderStyle - movs r6, 0 - mov r5, r9 - subs r5, 0x2 - cmp r6, r5 - bge _0809D844 -_0809D7F2: - ldr r0, _0809D820 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - beq _0809D828 - ldr r1, _0809D824 @ =gUnknown_83E17E0 - lsls r0, r4, 2 - adds r0, r1 - ldr r2, [r0] - lsls r0, r6, 4 - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - mov r3, r8 - bl AddTextPrinterParameterized - b _0809D82E - .align 2, 0 -_0809D820: .4byte gSpecialVar_0x8004 -_0809D824: .4byte gUnknown_83E17E0 -_0809D828: - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0809D82E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bne _0809D83A - movs r4, 0 -_0809D83A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r5 - blt _0809D7F2 -_0809D844: - ldr r2, _0809D8B8 @ =gUnknown_8417DED - lsls r0, r6, 4 - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r5, 0xFF - str r5, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - mov r3, r8 - bl AddTextPrinterParameterized - adds r0, r6, 0x1 - lsls r0, 24 - ldr r2, _0809D8BC @ =gOtherText_Exit - lsrs r0, 20 - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - mov r3, r8 - bl AddTextPrinterParameterized - movs r0, 0x10 - str r0, [sp] - mov r0, r9 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0 - mov r1, r9 - adds r2, r7, 0 - movs r3, 0xFF - bl sub_809CC18 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram -_0809D8A8: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D8B8: .4byte gUnknown_8417DED -_0809D8BC: .4byte gOtherText_Exit - thumb_func_end sub_809D764 - - thumb_func_start sub_809D8C0 -sub_809D8C0: @ 809D8C0 - push {lr} - ldr r3, _0809D8EC @ =gSpecialVar_Result - ldrh r2, [r3] - adds r1, r2, 0 - cmp r1, 0x7F - beq _0809D930 - ldr r0, _0809D8F0 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0809D924 - cmp r1, 0x3 - beq _0809D928 - cmp r1, 0x4 - beq _0809D930 - cmp r1, 0 - bne _0809D8F8 - ldr r0, _0809D8F4 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x4 - bls _0809D904 - movs r0, 0x4 - b _0809D94E - .align 2, 0 -_0809D8EC: .4byte gSpecialVar_Result -_0809D8F0: .4byte gSpecialVar_0x8005 -_0809D8F4: .4byte gSpecialVar_0x8004 -_0809D8F8: - cmp r1, 0x1 - bne _0809D90C - ldr r0, _0809D908 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x5 - bls _0809D918 -_0809D904: - movs r0, 0x5 - b _0809D94E - .align 2, 0 -_0809D908: .4byte gSpecialVar_0x8004 -_0809D90C: - cmp r1, 0x2 - bne _0809D94C - ldr r0, _0809D91C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x6 - bls _0809D920 -_0809D918: - movs r0, 0x6 - b _0809D94E - .align 2, 0 -_0809D91C: .4byte gSpecialVar_0x8004 -_0809D920: - movs r0, 0x7 - b _0809D94E -_0809D924: - cmp r1, 0x4 - bne _0809D92C -_0809D928: - movs r0, 0xFE - b _0809D94E -_0809D92C: - cmp r1, 0x5 - bne _0809D934 -_0809D930: - movs r0, 0x7F - b _0809D94E -_0809D934: - ldr r0, _0809D944 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r1, r0 - bcc _0809D948 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _0809D94E - .align 2, 0 -_0809D944: .4byte gSpecialVar_0x8004 -_0809D948: - ldrh r0, [r3] - b _0809D94E -_0809D94C: - movs r0, 0 -_0809D94E: - pop {r1} - bx r1 - thumb_func_end sub_809D8C0 - - .align 2, 0 @ Don't pad with nop. |