diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-03-05 10:31:31 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-03-05 10:31:31 -0500 |
commit | cb99443c51d6263425fb4d853177efc07aee5fb9 (patch) | |
tree | 4ed3f1569ccf478036a21cfdbc335e8ed4cfea8c | |
parent | e9c3b78d9f7142fda849ea2fe420459480fdf989 (diff) |
through sub_81556E0
-rw-r--r-- | asm/dodrio_berry_picking.s | 1777 | ||||
-rw-r--r-- | data/strings.s | 2 | ||||
-rw-r--r-- | include/dodrio_berry_picking.h | 16 | ||||
-rw-r--r-- | include/strings.h | 2 | ||||
-rw-r--r-- | src/berry_pouch.c | 2 | ||||
-rw-r--r-- | src/dodrio_berry_picking.c | 7 | ||||
-rw-r--r-- | src/dodrio_berry_picking_2.c | 397 | ||||
-rw-r--r-- | src/fame_checker.c | 4 | ||||
-rw-r--r-- | src/help_system.c | 2 | ||||
-rw-r--r-- | src/item_menu.c | 2 | ||||
-rw-r--r-- | src/item_pc.c | 2 | ||||
-rw-r--r-- | src/list_menu.c | 2 | ||||
-rw-r--r-- | src/menu.c | 4 | ||||
-rw-r--r-- | src/shop.c | 2 | ||||
-rw-r--r-- | src/tm_case.c | 2 |
15 files changed, 423 insertions, 1800 deletions
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index 6758ca71b..0305193cf 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -5,1783 +5,6 @@ .text - 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 Min - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl sub_81534F0 - ldr r1, _081551C8 @ =0x0000270f - bl Min - 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} diff --git a/data/strings.s b/data/strings.s index 93a98960e..82926fad7 100644 --- a/data/strings.s +++ b/data/strings.s @@ -504,7 +504,7 @@ gUnknown_8416233:: gUnknown_8416238:: @ 8416238 .string "{PP}$" -gFameCheckerText_ListMenuCursor:: @ 841623B +gText_SelectorArrow2:: @ 841623B .string "▶$" gUnknown_841623D:: @ 841623D diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h index a65172b33..caef41073 100644 --- a/include/dodrio_berry_picking.h +++ b/include/dodrio_berry_picking.h @@ -42,6 +42,12 @@ struct DodrioSubstruct_31A0 u8 filler_35[4]; }; // size = 0x3C +struct DodrioSubstruct_3308 +{ + u8 unk0; + u32 unk4; +}; + void StartDodrioBerryPicking(u16 species, MainCallback callback); u32 sub_815A950(u32 unused, struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 *arg6, u32 *arg7, u32 *arg8); @@ -83,5 +89,15 @@ void sub_81546C0(void); void sub_8154730(void); void sub_8154968(struct DodrioSubstruct_0160 * unk0160); void sub_81549D4(u8 a0); +u8 *sub_81533C4(u8 id); +u8 sub_81537AC(u8 id); +void sub_81536A0(struct DodrioSubstruct_3308 *dst, u8 id); +u32 sub_81534AC(void); +u32 Min(u32 x, u32 y); +u16 sub_8153404(u8 arg0, u8 arg1); +u32 sub_81534F0(u8 arg0); +u32 sub_81535B0(void); +u16 sub_8153390(void); +u8 sub_815372C(void); #endif //GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/strings.h b/include/strings.h index c812e991a..55041a658 100644 --- a/include/strings.h +++ b/include/strings.h @@ -114,7 +114,7 @@ extern const u8 gText_TurnedOverItemsWorthYen[]; extern const u8 gPokedudeText_TMTypes[]; extern const u8 gPokedudeText_ReadTMDescription[]; extern const u8 gFameCheckerText_Cancel[]; -extern const u8 gFameCheckerText_ListMenuCursor[]; +extern const u8 gText_SelectorArrow2[]; extern const u8 gFameCheckerText_FameCheckerWillBeClosed[]; extern const u8 gFameCheckerText_ClearTextbox[]; extern const u8 gFameCheckerText_MainScreenUI[]; // "{DPAD_ANY}PICK {DPAD_UPDOWN}SELECT {A_BUTTON}OK$" diff --git a/src/berry_pouch.c b/src/berry_pouch.c index 63677574b..ef8ded539 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -748,7 +748,7 @@ static void BerryPouchSetArrowCursorAt(u8 y, u8 colorIdx) } else { - BerryPouchPrint(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx); + BerryPouchPrint(0, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, colorIdx); } } diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 294b73053..9ef052f32 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -17,12 +17,6 @@ #include "constants/items.h" #include "constants/species.h" -struct DodrioSubstruct_3308 -{ - u8 unk0; - u32 unk4; -}; - struct DodrioStruct { /*0x0000*/ void (*savedCallback)(void); @@ -139,7 +133,6 @@ u8 sub_815327C(u8); void sub_81532B8(void); void sub_815336C(void); u32 sub_8153424(u8 mpId); -u32 sub_81534AC(void); u32 Min(u32 x, u32 y); void Task_ShowDodrioBerryPickingRecords(u8 taskId); void sub_81538D0(u8 windowId); diff --git a/src/dodrio_berry_picking_2.c b/src/dodrio_berry_picking_2.c index 1589b13b8..aac4b485f 100644 --- a/src/dodrio_berry_picking_2.c +++ b/src/dodrio_berry_picking_2.c @@ -1,7 +1,10 @@ #include "global.h" #include "gflib.h" #include "dodrio_berry_picking.h" +#include "dynamic_placeholder_text_util.h" +#include "item.h" #include "link.h" +#include "menu.h" #include "strings.h" #include "task.h" #include "text_window.h" @@ -914,7 +917,7 @@ struct WinCoords u8 top; }; -const u8 sUnknown_8478E38[][3] = +const u8 sTextColorTable[][3] = { { TEXT_COLOR_WHITE, @@ -1036,5 +1039,393 @@ void sub_8154A2C(void) } } -// This is declared inside pokeemerald's sub_80296A8 -const u8 gUnknown_8478F14[5] = {0, 1, 2, 3, 4}; +void sub_8154B34(void) +{ + u8 i, playersCount, id, colorsId, *name; + u32 left; + struct WindowTemplate window; + const struct WinCoords *ptr; + + switch (gUnknown_203F440->state) + { + case 0: + playersCount = sub_81533B4(); + ptr = sUnknown_8478E80[playersCount - 1]; + window.bg = 0; + window.width = 7; + window.height = 2; + window.paletteNum = 0xD; + window.baseBlock = 0x13; + for (i = 0; i < playersCount; ptr++, i++) + { + colorsId = 0; + id = sub_81537AC(i); + left = (56 - GetStringWidth(0, sub_81533C4(id), -1)) / 2u; + window.tilemapLeft = ptr->left; + window.tilemapTop = ptr->top; + gUnknown_203F440->unk3008[i] = AddWindow(&window); + ClearWindowTilemap(gUnknown_203F440->unk3008[i]); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[i], PIXEL_FILL(1)); + if (id == GetMultiplayerId()) + colorsId = 2; + name = sub_81533C4(id); + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[i], 0, left, 1, sTextColorTable[colorsId], -1, name); + CopyWindowToVram(gUnknown_203F440->unk3008[i], 2); + window.baseBlock += 0xE; + sub_8154868(&window); + } + gUnknown_203F440->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + playersCount = sub_81533B4(); + for (i = 0; i < playersCount; i++) + PutWindowTilemap(gUnknown_203F440->unk3008[i]); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + } + break; + default: + if (++gUnknown_203F440->state > 180) + { + playersCount = sub_81533B4(); + for (i = 0; i < playersCount; i++) + { + ClearWindowTilemap(gUnknown_203F440->unk3008[i]); + RemoveWindow(gUnknown_203F440->unk3008[i]); + } + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + } + break; + } +} + +void sub_8154D9C(u8 playersCount_) +{ + u8 i, r8 = 0, r6 = 0; + u8 playersCount = playersCount_; // Pointless variable, I know, but it's needed to match. + u8 *name; + u32 x, numWidth; + u8 numString[32]; + u8 array[5] = {0, 1, 2, 3, 4}; + struct DodrioSubstruct_3308 temp, structArray[5]; + + for (i = 0; i < playersCount; i++) + { + array[i] = i; + sub_81536A0(&temp, i); + structArray[i] = temp; + } + + if (sub_81534AC() != 0) + { + do + { + for (i = 0; i < playersCount; i++) + { + if (structArray[i].unk0 == r8) + { + array[r6] = i; + r6++; + } + } + r8 = r6; + } while (r6 < playersCount); + } + + for (i = 0; i < playersCount; i++) + { + if (structArray[i].unk4 == 0) + structArray[i].unk0 = playersCount - 1; + } + + x = 216 - GetStringWidth(0, gText_SpacePoints, 0); + for (i = 0; i < playersCount; i++) + { + u8 colorsId = 0; + u8 id = array[i]; + u32 points = structArray[id].unk4; + + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sUnknown_8478E94[structArray[id].unk0], 8, sUnknown_8478EBA[i], -1, NULL); + if (id == GetMultiplayerId()) + colorsId = 2; + name = sub_81533C4(id); + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, 28, sUnknown_8478EBA[i], sTextColorTable[colorsId], -1, name); + ConvertIntToDecimalStringN(numString, points, STR_CONV_MODE_RIGHT_ALIGN, 7); + numWidth = GetStringWidth(0, numString, -1); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, numString, x - 35, sUnknown_8478EBA[i], -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, gText_SpacePoints, x, sUnknown_8478EBA[i], -1, NULL); + } +} + +void sub_8154F80(void) +{ + u8 i, j, itemGiveRet, playersCount = sub_81533B4(); + u8 *name; + u32 strWidth, x; + u8 sp0C[100]; + u8 sp70[20]; + + switch (gUnknown_203F440->state) + { + case 0: + sub_81535B0(); + gUnknown_203F440->unk301C = 0; + gUnknown_203F440->state++; + break; + case 1: + gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_8475674[0]); + gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_8475674[1]); + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + sub_8154868(&sUnknown_8475674[0]); + sub_8154868(&sUnknown_8475674[1]); + gUnknown_203F440->state++; + break; + case 2: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + strWidth = GetStringWidth(0, gText_BerryPickingResults, -1); + x = (224 - strWidth) / 2; + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_BerryPickingResults, x, 2, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, gText_10P30P50P50P, 68, 16, -1, NULL); + for (i = 0; i < playersCount; i++) + { + u8 colorsId = 0; + if (i == GetMultiplayerId()) + colorsId = 2; + + name = sub_81533C4(i); + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, 2, sUnknown_8478EB0[i], sTextColorTable[colorsId], -1, name); + for (j = 0; j < 4; j++) + { + u32 width; + u16 result1 = Min(sub_8153404(i, j), 9999); + u16 result2 = Min(sub_81534F0(j), 9999); + + ConvertIntToDecimalStringN(sp0C, result1, STR_CONV_MODE_LEFT_ALIGN, 4); + width = GetStringWidth(0, sp0C, -1); + if (result2 == result1 && result2 != 0) + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], sTextColorTable[1], -1, sp0C); + else + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], -1, NULL); + } + } + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + sub_8154324(FALSE); + gUnknown_203F440->state++; + break; + case 4: + if (++gUnknown_203F440->unk301C >= 30 && gMain.newKeys & A_BUTTON) + { + gUnknown_203F440->unk301C = 0; + PlaySE(SE_SELECT); + sub_8154324(TRUE); + gUnknown_203F440->state++; + } + break; + case 5: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + strWidth = GetStringWidth(0, gText_AnnouncingRankings, -1); + x = (224 - strWidth) / 2; + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_AnnouncingRankings, x, 2, -1, NULL); + gUnknown_203F440->state++; + break; + case 6: + sub_8154D9C(playersCount); + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 7: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + break; + case 8: + if (++gUnknown_203F440->unk301C >= 30 && gMain.newKeys & A_BUTTON) + { + gUnknown_203F440->unk301C = 0; + PlaySE(SE_SELECT); + if (sub_81534AC() < 3000) + { + gUnknown_203F440->state = 127; + } + else + { + StopMapMusic(); + gUnknown_203F440->state++; + } + + FillBgTilemapBufferRect_Palette0(0, 0, 0, 5, 30, 15); + RemoveWindow(gUnknown_203F440->unk3008[1]); + gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_8475684); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + sub_8154868(&sUnknown_8475684); + } + break; + case 9: + PlayNewMapMusic(MUS_FANFA1); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + strWidth = GetStringWidth(0, gText_AnnouncingPrizes, -1); + x = (224 - strWidth) / 2; + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_AnnouncingPrizes, x, 2, -1, NULL); + DynamicPlaceholderTextUtil_Reset(); + CopyItemName(sub_8153390(), sp70); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sp70); + DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FirstPlacePrize); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 2, -1, NULL); + itemGiveRet = sub_815372C(); + if (itemGiveRet != 0 && itemGiveRet != 3) + { + DynamicPlaceholderTextUtil_Reset(); + CopyItemName(sub_8153390(), sp70); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sp70); + if (itemGiveRet == 2) + DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_CantHoldAnyMore); + else if (itemGiveRet == 1) + DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FilledStorageSpace); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 40, -1, NULL); + } + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 10: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + FadeOutAndFadeInNewMapMusic(MUS_WIN_YASEI, 20, 10); + gUnknown_203F440->state++; + break; + case 11: + if (++gUnknown_203F440->unk301C >= 30 && gMain.newKeys & A_BUTTON) + { + gUnknown_203F440->unk301C = 0; + PlaySE(SE_SELECT); + gUnknown_203F440->state++; + } + break; + default: + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + RemoveWindow(gUnknown_203F440->unk3008[0]); + RemoveWindow(gUnknown_203F440->unk3008[1]); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + break; + } +} + +void sub_81556E0(void) +{ + u8 y; + + switch (gUnknown_203F440->state) + { + case 0: + gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_847568C[0]); + gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_847568C[1]); + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + sub_8154868(&sUnknown_847568C[0]); + sub_8154768(&sUnknown_847568C[1]); + gUnknown_203F440->state++; + gUnknown_203F440->unk3020 = 0; + gUnknown_203F440->unk3024 = 0; + break; + case 1: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_WantToPlayAgain, 0, 6, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, 2, -1, NULL); + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + break; + case 3: + y = gUnknown_203F440->unk3020; + if (y == 0) + y = 1; + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, y == 1 ? 2 : 16, -1, NULL); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 3); + // Increment state only if A or B button have been pressed. + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gUnknown_203F440->unk3020 == 0) + gUnknown_203F440->unk3020 = 1; + gUnknown_203F440->state++; + } + else if (gMain.newKeys & (DPAD_UP | DPAD_DOWN)) + { + PlaySE(SE_SELECT); + switch (gUnknown_203F440->unk3020) + { + case 0: + gUnknown_203F440->unk3020 = 2; + break; + case 1: + gUnknown_203F440->unk3020 = 2; + break; + case 2: + gUnknown_203F440->unk3020 = 1; + break; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + gUnknown_203F440->unk3020 = 2; + gUnknown_203F440->state++; + } + break; + default: + gUnknown_203F440->unk3024 = gUnknown_203F440->unk3020; + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + RemoveWindow(gUnknown_203F440->unk3008[0]); + RemoveWindow(gUnknown_203F440->unk3008[1]); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + break; + } +} diff --git a/src/fame_checker.c b/src/fame_checker.c index 6f60b4a44..a77c89c0d 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1536,7 +1536,7 @@ static void PlaceListMenuCursor(bool8 isActive) { u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->listMenuTaskId); if (isActive == TRUE) - AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_DkGrey, 0, gText_SelectorArrow2); else - AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_White, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_White, 0, gText_SelectorArrow2); } diff --git a/src/help_system.c b/src/help_system.c index d68acbaa1..4d037de5d 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -1085,7 +1085,7 @@ void PlaceListMenuCursor(void) u8 glyphHeight = GetFontAttribute(2, 1) + 1; u8 x = gHelpSystemListMenu.sub.left; u8 y = gHelpSystemListMenu.sub.top + glyphHeight * gHelpSystemListMenu.cursorPos; - HelpSystem_PrintTextAt(gFameCheckerText_ListMenuCursor, x, y); + HelpSystem_PrintTextAt(gText_SelectorArrow2, x, y); } void sub_813C860(u8 i) diff --git a/src/item_menu.c b/src/item_menu.c index a407c582f..2253c287e 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -740,7 +740,7 @@ static void bag_menu_print_cursor(u8 y, u8 colorIdx) } else { - BagPrintTextOnWindow(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx); + BagPrintTextOnWindow(0, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, colorIdx); } } diff --git a/src/item_pc.c b/src/item_pc.c index 7c7abdce3..f5bc6659b 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -577,7 +577,7 @@ static void ItemPc_PrintOrRemoveCursorAt(u8 y, u8 colorIdx) } else { - ItemPc_AddTextPrinterParameterized(0, 2, gFameCheckerText_ListMenuCursor, 0, y, 0, 0, 0, colorIdx); + ItemPc_AddTextPrinterParameterized(0, 2, gText_SelectorArrow2, 0, y, 0, 0, 0, colorIdx); } } diff --git a/src/list_menu.c b/src/list_menu.c index 21ef40fbe..9439d712c 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -413,7 +413,7 @@ static void ListMenuDrawCursor(struct ListMenu *list) switch (list->template.cursorKind) { case 0: - ListMenuPrint(list, gFameCheckerText_ListMenuCursor, x, y); + ListMenuPrint(list, gText_SelectorArrow2, x, y); break; case 1: break; diff --git a/src/menu.c b/src/menu.c index 2f5b1a5db..b7c3f54eb 100644 --- a/src/menu.c +++ b/src/menu.c @@ -303,7 +303,7 @@ static void Menu_RedrawCursor(u8 oldPos, u8 newPos) width = GetMenuCursorDimensionByFont(sMenu.fontId, 0); height = GetMenuCursorDimensionByFont(sMenu.fontId, 1); FillWindowPixelRect(sMenu.windowId, 1, sMenu.left, sMenu.optionHeight * oldPos + sMenu.top, width, height); - AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gFameCheckerText_ListMenuCursor, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0); + AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow2, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0); } u8 Menu_MoveCursor(s8 cursorDelta) @@ -645,7 +645,7 @@ static void MultichoiceGrid_RedrawCursor(u8 oldCursorPos, u8 newCursorPos) FillWindowPixelRect(sMenu.windowId, PIXEL_FILL(1), xPos, yPos, cursorWidth, cursorHeight); xPos = (newCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left; yPos = (newCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top; - AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gFameCheckerText_ListMenuCursor, xPos, yPos, 0, 0); + AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow2, xPos, yPos, 0, 0); } static u8 MultichoiceGrid_MoveCursor(s8 deltaX, s8 deltaY) diff --git a/src/shop.c b/src/shop.c index 5a9ee6b95..5cc9ab3f0 100644 --- a/src/shop.c +++ b/src/shop.c @@ -668,7 +668,7 @@ static void BuyMenuPrintCursorAtYPosition(u8 y, u8 a1) } else { - BuyMenuPrint(4, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, a1); + BuyMenuPrint(4, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, a1); } } diff --git a/src/tm_case.c b/src/tm_case.c index f631e1604..04729345f 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -612,7 +612,7 @@ static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1) } else { - AddTextPrinterParameterized_ColorByIndex(0, 2, gFameCheckerText_ListMenuCursor, 0, a0, 0, 0, 0, a1); + AddTextPrinterParameterized_ColorByIndex(0, 2, gText_SelectorArrow2, 0, a0, 0, 0, 0, a1); } } |