diff options
Diffstat (limited to 'asm/script_menu.s')
-rw-r--r-- | asm/script_menu.s | 560 |
1 files changed, 0 insertions, 560 deletions
diff --git a/asm/script_menu.s b/asm/script_menu.s index ab1b72340..5f03e65de 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -6,566 +6,6 @@ .text - thumb_func_start DrawMultichoiceMenu -DrawMultichoiceMenu: @ 80B5138 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r10, r3 - ldr r3, [sp, 0x34] - ldr r4, [sp, 0x38] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x8] - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0xC] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x10] - mov r1, r10 - ldr r0, [r1] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0x1 - cmp r4, r8 - bcs _080B5198 -_080B517A: - lsls r0, r4, 3 - add r0, r10 - ldr r0, [r0] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r0, 16 - cmp r5, r0 - bcs _080B518E - adds r5, r0, 0 -_080B518E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r8 - bcc _080B517A -_080B5198: - lsls r0, r5, 24 - lsrs r7, r0, 24 - mov r1, r9 - adds r0, r7, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x1D - bls _080B51B8 - mov r0, r9 - adds r0, 0x1D - subs r0, r7 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r7, 0x1D -_080B51B8: - mov r1, r8 - lsls r0, r1, 1 - adds r0, 0x1 - ldr r1, [sp, 0x8] - lsls r4, r1, 24 - asrs r4, 24 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - adds r2, r7, 0 - adds r3, r4, 0 - bl MenuDrawTextWindow - mov r6, r9 - adds r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - ldr r5, [sp, 0x8] - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r10 - bl PrintMenuItems - ldr r0, [sp, 0x10] - str r0, [sp] - mov r1, r9 - subs r0, r7, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - adds r1, r6, 0 - adds r2, r5, 0 - mov r3, r8 - bl InitMenu - ldr r0, [sp, 0xC] - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - mov r0, r9 - ldr r1, [sp, 0x8] - adds r2, r7, 0 - adds r3, r4, 0 - bl sub_80B5230 - 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 DrawMultichoiceMenu - - thumb_func_start sub_80B5230 -sub_80B5230: @ 80B5230 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x1C] - mov r8, r0 - ldr r0, [sp, 0x20] - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080B5298 @ =sub_80B52B4 - movs r1, 0x50 - str r3, [sp] - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B529C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r5, [r1, 0xA] - strh r6, [r1, 0xC] - ldr r3, [sp] - strh r3, [r1, 0xE] - mov r0, r8 - strh r0, [r1, 0x10] - mov r0, r9 - cmp r0, 0x3 - bls _080B52A0 - movs r0, 0x1 - b _080B52A2 - .align 2, 0 -_080B5298: .4byte sub_80B52B4 -_080B529C: .4byte gTasks -_080B52A0: - movs r0, 0 -_080B52A2: - strh r0, [r1, 0x12] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B5230 - - thumb_func_start sub_80B52B4 -sub_80B52B4: @ 80B52B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080B52E0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B534E - ldr r2, _080B52E4 @ =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0x12 - ldrsh r0, [r0, r2] - adds r5, r1, 0 - cmp r0, 0 - bne _080B52E8 - bl ProcessMenuInputNoWrap - b _080B52EC - .align 2, 0 -_080B52E0: .4byte gPaletteFade -_080B52E4: .4byte gTasks -_080B52E8: - bl ProcessMenuInput -_080B52EC: - lsls r0, 24 - lsrs r0, 24 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _080B534E - adds r0, 0x1 - cmp r1, r0 - bne _080B5328 - ldr r0, _080B5320 @ =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080B534E - movs r0, 0x5 - bl PlaySE - ldr r1, _080B5324 @ =gScriptResult - movs r0, 0x7F - strh r0, [r1] - b _080B532C - .align 2, 0 -_080B5320: .4byte gTasks -_080B5324: .4byte gScriptResult -_080B5328: - ldr r0, _080B5354 @ =gScriptResult - strh r1, [r0] -_080B532C: - bl sub_8072DEC - ldr r0, _080B5358 @ =gTasks - adds r3, r5, r4 - lsls r3, 3 - adds r3, r0 - ldrb r0, [r3, 0x8] - ldrb r1, [r3, 0xA] - ldrb r2, [r3, 0xC] - ldrb r3, [r3, 0xE] - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080B534E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B5354: .4byte gScriptResult -_080B5358: .4byte gTasks - thumb_func_end sub_80B52B4 - - thumb_func_start Multichoice -Multichoice: @ 80B535C - 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 r4, r2, 24 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, _080B539C @ =sub_80B52B4 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B53A8 - ldr r1, _080B53A0 @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - ldr r1, _080B53A4 @ =gMultichoiceLists - lsls r0, r4, 3 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldr r3, [r0] - str r5, [sp] - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_80B53B4 - movs r0, 0x1 - b _080B53AA - .align 2, 0 -_080B539C: .4byte sub_80B52B4 -_080B53A0: .4byte gScriptResult -_080B53A4: .4byte gMultichoiceLists -_080B53A8: - movs r0, 0 -_080B53AA: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end Multichoice - - thumb_func_start sub_80B53B4 -sub_80B53B4: @ 80B53B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r7, r3, 0 - ldr r3, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - ldr r0, [r7] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0x1 - cmp r5, r6 - bcs _080B5408 -_080B53EA: - lsls r0, r5, 3 - adds r0, r7 - ldr r0, [r0] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - bcs _080B53FE - adds r4, r0, 0 -_080B53FE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _080B53EA -_080B5408: - lsls r4, 24 - lsrs r4, 24 - add r4, r8 - adds r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r6, 1 - adds r0, 0x1 - mov r1, r9 - lsls r5, r1, 24 - asrs r5, 24 - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - mov r0, r8 - adds r2, r6, 0 - adds r3, r7, 0 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - mov r1, r8 - subs r0, r4, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - mov r2, r9 - adds r3, r6, 0 - bl InitMenu - mov r0, r10 - str r0, [sp] - str r6, [sp, 0x4] - mov r0, r8 - mov r1, r9 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80B5230 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B53B4 - - thumb_func_start yes_no_box -yes_no_box: @ 80B546C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r6, _080B54B4 @ =task_yes_no_maybe - adds r0, r6, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54C0 - ldr r1, _080B54B8 @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl DisplayYesNoMenu - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B54BC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r4, [r1, 0xA] - movs r0, 0x1 - b _080B54C2 - .align 2, 0 -_080B54B4: .4byte task_yes_no_maybe -_080B54B8: .4byte gScriptResult -_080B54BC: .4byte gTasks -_080B54C0: - movs r0, 0 -_080B54C2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end yes_no_box - - thumb_func_start unref_sub_80B54C8 -unref_sub_80B54C8: @ 80B54C8 - push {lr} - ldr r0, _080B54D8 @ =gScriptResult - ldrh r0, [r0] - cmp r0, 0xFF - beq _080B54DC - movs r0, 0x1 - b _080B54DE - .align 2, 0 -_080B54D8: .4byte gScriptResult -_080B54DC: - movs r0, 0 -_080B54DE: - pop {r1} - bx r1 - thumb_func_end unref_sub_80B54C8 - - thumb_func_start task_yes_no_maybe -task_yes_no_maybe: @ 80B54E4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080B5504 @ =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 _080B5508 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080B556A - .align 2, 0 -_080B5504: .4byte gTasks -_080B5508: - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B552C - cmp r1, r0 - bgt _080B5524 - subs r0, 0x1 - cmp r1, r0 - beq _080B556A - b _080B5542 -_080B5524: - cmp r1, 0 - beq _080B553C - cmp r1, 0x1 - bne _080B5542 -_080B552C: - movs r0, 0x5 - bl PlaySE - ldr r1, _080B5538 @ =gScriptResult - movs r0, 0 - b _080B5540 - .align 2, 0 -_080B5538: .4byte gScriptResult -_080B553C: - ldr r1, _080B5570 @ =gScriptResult - movs r0, 0x1 -_080B5540: - strh r0, [r1] -_080B5542: - ldr r0, _080B5574 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x8] - ldrb r1, [r1, 0xA] - adds r2, r0, 0x6 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0x5 - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080B556A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B5570: .4byte gScriptResult -_080B5574: .4byte gTasks - thumb_func_end task_yes_no_maybe - thumb_func_start sub_80B5578 sub_80B5578: @ 80B5578 push {r4-r7,lr} |