through MysteryGift_HandleThreeOptionMenu
This commit is contained in:
@@ -423,7 +423,7 @@ sub_810BB74: @ 810BB74
|
||||
lsrs r0, 24
|
||||
movs r1, 0x64
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_810BB74
|
||||
|
||||
+1
-1
@@ -1016,7 +1016,7 @@ _080E4EF4:
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x7
|
||||
ble _080E4EF4
|
||||
|
||||
+1
-1
@@ -7855,7 +7855,7 @@ sub_8100E34: @ 8100E34
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl sub_8100E7C
|
||||
movs r0, 0x1
|
||||
|
||||
+18
-18
@@ -4067,7 +4067,7 @@ _08117AB8:
|
||||
bl AddWindow
|
||||
strb r0, [r5, 0xF]
|
||||
ldrb r0, [r5, 0xF]
|
||||
bl sub_814240C
|
||||
bl MG_DrawTextBorder
|
||||
ldr r0, _08117B74 @ =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, _08117B78 @ =gUnknown_8456D34
|
||||
@@ -4113,7 +4113,7 @@ _08117BA4: .4byte gUnknown_203B058
|
||||
_08117BA8: .4byte gStringVar4
|
||||
_08117BAC:
|
||||
ldr r0, _08117BB8 @ =gStringVar4
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
movs r0, 0x4
|
||||
strb r0, [r5, 0xC]
|
||||
b _08117ECA
|
||||
@@ -4142,7 +4142,7 @@ _08117BE4:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _08117C08 @ =gUnknown_84577F8
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
cmp r0, 0
|
||||
bne _08117BF4
|
||||
b _08117ECA
|
||||
@@ -4346,7 +4346,7 @@ _08117D88:
|
||||
b _08117ECA
|
||||
_08117D94:
|
||||
ldr r0, _08117DA0 @ =gStringVar4
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
movs r0, 0xA
|
||||
strb r0, [r5, 0xC]
|
||||
b _08117ECA
|
||||
@@ -4416,7 +4416,7 @@ _08117E26:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _08117E44 @ =gUnknown_84571B8
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
cmp r0, 0
|
||||
beq _08117ECA
|
||||
adds r0, r4, 0
|
||||
@@ -4585,7 +4585,7 @@ _08117F7C:
|
||||
b _08118288
|
||||
_08117FB0:
|
||||
ldr r0, _08117FBC @ =gUnknown_8458FE4
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
movs r0, 0x2
|
||||
strb r0, [r5, 0x8]
|
||||
b _08118288
|
||||
@@ -4623,7 +4623,7 @@ _08117FC0:
|
||||
bl AddWindow
|
||||
strb r0, [r5, 0xD]
|
||||
ldrb r0, [r5, 0xB]
|
||||
bl sub_814240C
|
||||
bl MG_DrawTextBorder
|
||||
ldr r0, _08118068 @ =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, _0811806C @ =gUnknown_8456DDC
|
||||
@@ -4638,7 +4638,7 @@ _08117FC0:
|
||||
bl ListMenuInit
|
||||
strb r0, [r5, 0xE]
|
||||
ldrb r0, [r5, 0xD]
|
||||
bl sub_814240C
|
||||
bl MG_DrawTextBorder
|
||||
ldrb r0, [r5, 0xD]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@@ -4766,7 +4766,7 @@ _08118146:
|
||||
_0811814C: .4byte gMain
|
||||
_08118150:
|
||||
ldr r0, _08118184 @ =gUnknown_8459238
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
ldr r4, _08118188 @ =gStringVar1
|
||||
ldrb r0, [r5, 0xF]
|
||||
lsls r0, 5
|
||||
@@ -4831,7 +4831,7 @@ _081181D0:
|
||||
b _08118288
|
||||
_081181D6:
|
||||
ldr r0, _081181E8 @ =gUnknown_84576AC
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80FB9E4
|
||||
@@ -4868,7 +4868,7 @@ _08118222:
|
||||
adds r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
cmp r0, 0
|
||||
beq _08118288
|
||||
bl sub_80FCE44
|
||||
@@ -4878,7 +4878,7 @@ _08118244: .4byte gUnknown_8457838
|
||||
_08118248:
|
||||
bl sub_80FCE44
|
||||
ldr r0, _08118264 @ =gUnknown_84571B8
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
_08118252:
|
||||
adds r0, r6, 0
|
||||
bl DestroyTask
|
||||
@@ -5004,7 +5004,7 @@ _08118340:
|
||||
b _08118604
|
||||
_0811836E:
|
||||
ldr r0, _0811837C @ =gUnknown_84591DC
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
movs r0, 0x2
|
||||
strb r0, [r5, 0x8]
|
||||
b _08118604
|
||||
@@ -5041,7 +5041,7 @@ _08118380:
|
||||
bl AddWindow
|
||||
strb r0, [r5, 0xB]
|
||||
ldrb r0, [r5, 0xB]
|
||||
bl sub_814240C
|
||||
bl MG_DrawTextBorder
|
||||
ldr r0, _08118400 @ =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, _08118404 @ =gUnknown_8456DDC
|
||||
@@ -5163,7 +5163,7 @@ _081184BC:
|
||||
_081184C4: .4byte gMain
|
||||
_081184C8:
|
||||
ldr r0, _081184FC @ =gUnknown_845928C
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
ldr r4, _08118500 @ =gStringVar1
|
||||
ldrb r0, [r5, 0xF]
|
||||
lsls r0, 5
|
||||
@@ -5228,7 +5228,7 @@ _08118548:
|
||||
b _08118604
|
||||
_0811854E:
|
||||
ldr r0, _08118560 @ =gUnknown_845777C
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80FB9E4
|
||||
@@ -5281,7 +5281,7 @@ _081185B4:
|
||||
adds r1, r2
|
||||
ldr r1, [r1]
|
||||
_081185C2:
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
cmp r0, 0
|
||||
beq _08118604
|
||||
bl sub_80FCE44
|
||||
@@ -12797,7 +12797,7 @@ _0811C168:
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0xD
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
str r5, [sp]
|
||||
movs r0, 0
|
||||
adds r1, r6, 0
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ _08106F24:
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
ldr r1, [sp, 0x4]
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
_08106F34:
|
||||
ldr r0, _08106F64 @ =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
|
||||
@@ -360,7 +360,7 @@ _080983C6:
|
||||
adds r0, r4, 0
|
||||
adds r1, r6, 0
|
||||
movs r2, 0xD
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
adds r0, r4, 0
|
||||
bl PutWindowTilemap
|
||||
adds r0, r5, 0
|
||||
|
||||
+32
-518
@@ -5,492 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_814240C
|
||||
sub_814240C: @ 814240C
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF
|
||||
bl sub_8150048
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_814240C
|
||||
|
||||
thumb_func_start sub_8142420
|
||||
sub_8142420: @ 8142420
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0xC
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
movs r0, 0x20
|
||||
str r0, [sp]
|
||||
movs r0, 0x2
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0x3
|
||||
movs r1, 0x3
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl FillBgTilemapBufferRect
|
||||
movs r4, 0x1
|
||||
movs r1, 0x11
|
||||
mov r10, r1
|
||||
_0814244E:
|
||||
movs r7, 0
|
||||
mov r0, r8
|
||||
adds r0, 0x2
|
||||
movs r1, 0x1
|
||||
add r1, r8
|
||||
mov r9, r1
|
||||
lsls r5, r0, 24
|
||||
movs r6, 0
|
||||
_0814245E:
|
||||
mov r1, r8
|
||||
ands r1, r4
|
||||
adds r0, r7, 0
|
||||
ands r0, r4
|
||||
cmp r1, r0
|
||||
beq _08142480
|
||||
lsrs r2, r6, 24
|
||||
str r4, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
mov r0, r10
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0x3
|
||||
movs r1, 0x1
|
||||
lsrs r3, r5, 24
|
||||
bl FillBgTilemapBufferRect
|
||||
b _08142494
|
||||
_08142480:
|
||||
lsrs r2, r6, 24
|
||||
str r4, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
mov r1, r10
|
||||
str r1, [sp, 0x8]
|
||||
movs r0, 0x3
|
||||
movs r1, 0x2
|
||||
lsrs r3, r5, 24
|
||||
bl FillBgTilemapBufferRect
|
||||
_08142494:
|
||||
movs r0, 0x80
|
||||
lsls r0, 17
|
||||
adds r6, r0
|
||||
adds r7, 0x1
|
||||
cmp r7, 0x1F
|
||||
ble _0814245E
|
||||
mov r8, r9
|
||||
mov r1, r8
|
||||
cmp r1, 0x11
|
||||
ble _0814244E
|
||||
add sp, 0xC
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8142420
|
||||
|
||||
thumb_func_start sub_81424B8
|
||||
sub_81424B8: @ 81424B8
|
||||
push {lr}
|
||||
sub sp, 0xC
|
||||
cmp r0, 0
|
||||
beq _081424C6
|
||||
cmp r0, 0x1
|
||||
beq _081424DE
|
||||
b _081424F6
|
||||
_081424C6:
|
||||
movs r0, 0x20
|
||||
str r0, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl FillBgTilemapBufferRect
|
||||
b _081424F6
|
||||
_081424DE:
|
||||
movs r0, 0x20
|
||||
str r0, [sp]
|
||||
movs r0, 0x1E
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x2
|
||||
bl FillBgTilemapBufferRect
|
||||
_081424F6:
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
add sp, 0xC
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81424B8
|
||||
|
||||
thumb_func_start sub_8142504
|
||||
sub_8142504: @ 8142504
|
||||
push {r4,lr}
|
||||
sub sp, 0x14
|
||||
adds r1, r0, 0
|
||||
ldr r4, _08142558 @ =gStringVar4
|
||||
adds r0, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r0, 0x2
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, _0814255C @ =gUnknown_8466EF0
|
||||
str r0, [sp, 0x8]
|
||||
str r1, [sp, 0xC]
|
||||
str r4, [sp, 0x10]
|
||||
movs r0, 0x1
|
||||
movs r1, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0x2
|
||||
bl AddTextPrinterParametrized2
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF
|
||||
bl sub_8150048
|
||||
movs r0, 0x1
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0x1
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
add sp, 0x14
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08142558: .4byte gStringVar4
|
||||
_0814255C: .4byte gUnknown_8466EF0
|
||||
thumb_func_end sub_8142504
|
||||
|
||||
thumb_func_start sub_8142560
|
||||
sub_8142560: @ 8142560
|
||||
push {lr}
|
||||
movs r0, 0x1
|
||||
bl rbox_fill_rectangle
|
||||
movs r0, 0x1
|
||||
bl ClearWindowTilemap
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8142560
|
||||
|
||||
thumb_func_start mevent_0814257C
|
||||
mevent_0814257C: @ 814257C
|
||||
push {r4,lr}
|
||||
sub sp, 0xC
|
||||
adds r4, r0, 0
|
||||
adds r0, r1, 0
|
||||
ldrb r2, [r4]
|
||||
cmp r2, 0x1
|
||||
beq _081425A4
|
||||
cmp r2, 0x1
|
||||
bgt _08142594
|
||||
cmp r2, 0
|
||||
beq _0814259E
|
||||
b _08142604
|
||||
_08142594:
|
||||
cmp r2, 0x2
|
||||
beq _081425D8
|
||||
cmp r2, 0xFF
|
||||
beq _08142600
|
||||
b _08142604
|
||||
_0814259E:
|
||||
bl sub_8142504
|
||||
b _081425C8
|
||||
_081425A4:
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
ldr r0, _081425D0 @ =sDownArrowCounterAndYCoordIdx
|
||||
str r0, [sp, 0x4]
|
||||
adds r0, 0x1
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0x1
|
||||
movs r1, 0xD0
|
||||
movs r2, 0x14
|
||||
movs r3, 0x1
|
||||
bl DrawDownArrow
|
||||
ldr r0, _081425D4 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x3
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08142604
|
||||
_081425C8:
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
b _08142602
|
||||
.align 2, 0
|
||||
_081425D0: .4byte sDownArrowCounterAndYCoordIdx
|
||||
_081425D4: .4byte gMain
|
||||
_081425D8:
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
ldr r0, _081425FC @ =sDownArrowCounterAndYCoordIdx
|
||||
str r0, [sp, 0x4]
|
||||
adds r0, 0x1
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0x1
|
||||
movs r1, 0xD0
|
||||
movs r2, 0x14
|
||||
movs r3, 0x1
|
||||
bl DrawDownArrow
|
||||
movs r0, 0
|
||||
strb r0, [r4]
|
||||
bl sub_8142560
|
||||
movs r0, 0x1
|
||||
b _08142606
|
||||
.align 2, 0
|
||||
_081425FC: .4byte sDownArrowCounterAndYCoordIdx
|
||||
_08142600:
|
||||
movs r0, 0x2
|
||||
_08142602:
|
||||
strb r0, [r4]
|
||||
_08142604:
|
||||
movs r0, 0
|
||||
_08142606:
|
||||
add sp, 0xC
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end mevent_0814257C
|
||||
|
||||
thumb_func_start sub_8142610
|
||||
sub_8142610: @ 8142610
|
||||
push {lr}
|
||||
sub sp, 0xC
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
ldr r0, _08142634 @ =sDownArrowCounterAndYCoordIdx
|
||||
str r0, [sp, 0x4]
|
||||
adds r0, 0x1
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0x1
|
||||
movs r1, 0xD0
|
||||
movs r2, 0x14
|
||||
movs r3, 0x1
|
||||
bl DrawDownArrow
|
||||
add sp, 0xC
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08142634: .4byte sDownArrowCounterAndYCoordIdx
|
||||
thumb_func_end sub_8142610
|
||||
|
||||
thumb_func_start sub_8142638
|
||||
sub_8142638: @ 8142638
|
||||
push {lr}
|
||||
sub sp, 0xC
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
ldr r0, _0814265C @ =sDownArrowCounterAndYCoordIdx
|
||||
str r0, [sp, 0x4]
|
||||
adds r0, 0x1
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0x1
|
||||
movs r1, 0xD0
|
||||
movs r2, 0x14
|
||||
movs r3, 0x1
|
||||
bl DrawDownArrow
|
||||
add sp, 0xC
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0814265C: .4byte sDownArrowCounterAndYCoordIdx
|
||||
thumb_func_end sub_8142638
|
||||
|
||||
thumb_func_start sub_8142660
|
||||
sub_8142660: @ 8142660
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08142670
|
||||
cmp r0, 0x1
|
||||
beq _0814268C
|
||||
b _08142698
|
||||
_08142670:
|
||||
bl sub_8142610
|
||||
ldr r0, _08142688 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x3
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08142698
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _08142698
|
||||
.align 2, 0
|
||||
_08142688: .4byte gMain
|
||||
_0814268C:
|
||||
bl sub_8142638
|
||||
movs r0, 0
|
||||
strb r0, [r4]
|
||||
movs r0, 0x1
|
||||
b _0814269A
|
||||
_08142698:
|
||||
movs r0, 0
|
||||
_0814269A:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8142660
|
||||
|
||||
thumb_func_start sub_81426A0
|
||||
sub_81426A0: @ 81426A0
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
bne _081426B0
|
||||
adds r0, r1, 0
|
||||
bl sub_8142504
|
||||
_081426B0:
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x78
|
||||
bhi _081426C2
|
||||
movs r0, 0
|
||||
b _081426CC
|
||||
_081426C2:
|
||||
movs r0, 0
|
||||
strb r0, [r4]
|
||||
bl sub_8142560
|
||||
movs r0, 0x1
|
||||
_081426CC:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81426A0
|
||||
|
||||
thumb_func_start sub_81426D4
|
||||
sub_81426D4: @ 81426D4
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x24
|
||||
lsls r2, 24
|
||||
add r1, sp, 0x4
|
||||
ldr r0, _081426F8 @ =gUnknown_8466E00
|
||||
ldm r0!, {r3-r5}
|
||||
stm r1!, {r3-r5}
|
||||
ldm r0!, {r3-r5}
|
||||
stm r1!, {r3-r5}
|
||||
ldr r0, _081426FC @ =gUnknown_8466DA8
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r0]
|
||||
str r0, [sp, 0x1C]
|
||||
str r1, [sp, 0x20]
|
||||
cmp r2, 0
|
||||
bne _08142704
|
||||
ldr r0, _08142700 @ =gUnknown_8466DD0
|
||||
b _08142706
|
||||
.align 2, 0
|
||||
_081426F8: .4byte gUnknown_8466E00
|
||||
_081426FC: .4byte gUnknown_8466DA8
|
||||
_08142700: .4byte gUnknown_8466DD0
|
||||
_08142704:
|
||||
ldr r0, _08142794 @ =gUnknown_8466DE8
|
||||
_08142706:
|
||||
str r0, [sp, 0x4]
|
||||
movs r6, 0
|
||||
movs r4, 0
|
||||
add r0, sp, 0x4
|
||||
add r7, sp, 0x1C
|
||||
ldrh r0, [r0, 0xC]
|
||||
cmp r6, r0
|
||||
bcs _0814273A
|
||||
add r5, sp, 0x4
|
||||
_08142718:
|
||||
ldr r1, [sp, 0x4]
|
||||
lsls r0, r4, 3
|
||||
adds r0, r1
|
||||
ldr r1, [r0]
|
||||
ldrb r2, [r5, 0x16]
|
||||
lsls r2, 29
|
||||
lsrs r2, 29
|
||||
movs r0, 0x2
|
||||
bl GetStringWidth
|
||||
cmp r0, r6
|
||||
bls _08142732
|
||||
adds r6, r0, 0
|
||||
_08142732:
|
||||
adds r4, 0x1
|
||||
ldrh r0, [r5, 0xC]
|
||||
cmp r4, r0
|
||||
bcc _08142718
|
||||
_0814273A:
|
||||
adds r2, r6, 0
|
||||
adds r2, 0x9
|
||||
lsrs r2, 3
|
||||
adds r2, 0x2
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
ands r2, r0
|
||||
lsls r3, r2, 24
|
||||
ldr r0, _08142798 @ =0x00ffffff
|
||||
ldr r1, [sp, 0x1C]
|
||||
ands r1, r0
|
||||
orrs r1, r3
|
||||
movs r0, 0x1E
|
||||
subs r0, r2
|
||||
lsls r0, 23
|
||||
lsrs r0, 16
|
||||
ldr r2, _0814279C @ =0xffff00ff
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
str r1, [sp, 0x1C]
|
||||
movs r0, 0xE0
|
||||
str r0, [sp]
|
||||
adds r0, r7, 0
|
||||
add r1, sp, 0x4
|
||||
movs r2, 0x1
|
||||
movs r3, 0xA
|
||||
bl DoMysteryGiftListMenu
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _0814278A
|
||||
movs r0, 0x2
|
||||
bl ClearWindowTilemap
|
||||
movs r0, 0x2
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
_0814278A:
|
||||
adds r0, r4, 0
|
||||
add sp, 0x24
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08142794: .4byte gUnknown_8466DE8
|
||||
_08142798: .4byte 0x00ffffff
|
||||
_0814279C: .4byte 0xffff00ff
|
||||
thumb_func_end sub_81426D4
|
||||
|
||||
thumb_func_start sub_81427A0
|
||||
sub_81427A0: @ 81427A0
|
||||
push {r4-r6,lr}
|
||||
@@ -539,7 +53,7 @@ _081427E2:
|
||||
str r2, [sp]
|
||||
movs r1, 0x2
|
||||
str r1, [sp, 0x4]
|
||||
ldr r1, _0814282C @ =gUnknown_8466EF0
|
||||
ldr r1, _0814282C @ =sMG_Ereader_TextColor_2
|
||||
str r1, [sp, 0x8]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r1, _08142830 @ =gStringVar4
|
||||
@@ -550,7 +64,7 @@ _081427E2:
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
@@ -559,7 +73,7 @@ _081427E2:
|
||||
b _0814287E
|
||||
.align 2, 0
|
||||
_08142828: .4byte gUnknown_8466D98
|
||||
_0814282C: .4byte gUnknown_8466EF0
|
||||
_0814282C: .4byte sMG_Ereader_TextColor_2
|
||||
_08142830: .4byte gStringVar4
|
||||
_08142834:
|
||||
ldr r0, _08142850 @ =gUnknown_8466DB0
|
||||
@@ -700,7 +214,7 @@ _08142934:
|
||||
str r2, [sp]
|
||||
movs r1, 0x2
|
||||
str r1, [sp, 0x4]
|
||||
ldr r1, _08142990 @ =gUnknown_8466EF0
|
||||
ldr r1, _08142990 @ =sMG_Ereader_TextColor_2
|
||||
str r1, [sp, 0x8]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r1, _08142984 @ =gStringVar4
|
||||
@@ -711,7 +225,7 @@ _08142934:
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
@@ -725,7 +239,7 @@ _08142934:
|
||||
_08142984: .4byte gStringVar4
|
||||
_08142988: .4byte gUnknown_841EAB7
|
||||
_0814298C: .4byte gUnknown_8466DA0
|
||||
_08142990: .4byte gUnknown_8466EF0
|
||||
_08142990: .4byte sMG_Ereader_TextColor_2
|
||||
_08142994:
|
||||
cmp r3, 0
|
||||
beq _081429BC
|
||||
@@ -951,7 +465,7 @@ _08142B2C: .4byte gUnknown_841ED9C
|
||||
_08142B30:
|
||||
ldr r1, _08142B3C @ =gUnknown_841ED7B
|
||||
_08142B32:
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
@@ -981,7 +495,7 @@ _08142B58:
|
||||
.4byte _08142BA4
|
||||
_08142B6C:
|
||||
ldr r0, _08142B74 @ =gUnknown_841ED2F
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
b _08142B98
|
||||
.align 2, 0
|
||||
_08142B74: .4byte gUnknown_841ED2F
|
||||
@@ -991,7 +505,7 @@ _08142B78:
|
||||
b _08142B98
|
||||
_08142B80:
|
||||
ldr r0, _08142B88 @ =gUnknown_841ED50
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
b _08142B98
|
||||
.align 2, 0
|
||||
_08142B88: .4byte gUnknown_841ED50
|
||||
@@ -1012,7 +526,7 @@ _08142BA0: .4byte gMain
|
||||
_08142BA4:
|
||||
movs r0, 0
|
||||
strb r0, [r4]
|
||||
bl sub_8142560
|
||||
bl ClearTextWindow
|
||||
movs r0, 0x1
|
||||
b _08142BB2
|
||||
_08142BB0:
|
||||
@@ -1199,7 +713,7 @@ _08142D00:
|
||||
_08142D06:
|
||||
cmp r0, 0
|
||||
beq _08142D0E
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
_08142D0E:
|
||||
movs r0, 0x81
|
||||
lsls r0, 1
|
||||
@@ -1226,7 +740,7 @@ _08142D30:
|
||||
beq _08142D46
|
||||
movs r0, 0
|
||||
strb r0, [r6]
|
||||
bl sub_8142560
|
||||
bl ClearTextWindow
|
||||
movs r0, 0x1
|
||||
b _08142D48
|
||||
_08142D46:
|
||||
@@ -1361,7 +875,7 @@ sub_8142E20: @ 8142E20
|
||||
cmp r0, 0
|
||||
bne _08142E46
|
||||
adds r0, r4, 0
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
b _08142E4E
|
||||
_08142E46:
|
||||
adds r0, r4, 0
|
||||
@@ -1484,7 +998,7 @@ _08142F6A:
|
||||
adds r0, 0x9
|
||||
adds r1, r5, 0
|
||||
movs r2, 0
|
||||
bl sub_81426D4
|
||||
bl MysteryGift_HandleThreeOptionMenu
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0x1
|
||||
beq _08142F94
|
||||
@@ -1530,7 +1044,7 @@ _08142FC0:
|
||||
adds r0, 0x9
|
||||
ldr r1, _08142FE0 @ =gUnknown_841E6DC
|
||||
_08142FC6:
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
cmp r0, 0
|
||||
bne _08142FD0
|
||||
b _081435C6
|
||||
@@ -1548,13 +1062,13 @@ _08142FE4:
|
||||
cmp r0, 0
|
||||
bne _08142FF8
|
||||
ldr r0, _08142FF4 @ =gUnknown_841E717
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
b _08142FFE
|
||||
.align 2, 0
|
||||
_08142FF4: .4byte gUnknown_841E717
|
||||
_08142FF8:
|
||||
ldr r0, _08143004 @ =gUnknown_841E741
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
_08142FFE:
|
||||
movs r0, 0x4
|
||||
strb r0, [r5, 0x8]
|
||||
@@ -1566,7 +1080,7 @@ _08143008:
|
||||
adds r0, 0x9
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x1
|
||||
bl sub_81426D4
|
||||
bl MysteryGift_HandleThreeOptionMenu
|
||||
adds r4, r0, 0
|
||||
cmp r4, 0x1
|
||||
beq _08143036
|
||||
@@ -1578,20 +1092,20 @@ _08143008:
|
||||
beq _08143042
|
||||
b _081435C6
|
||||
_08143028:
|
||||
bl sub_8142560
|
||||
bl ClearTextWindow
|
||||
movs r1, 0
|
||||
movs r0, 0x5
|
||||
strb r0, [r5, 0x8]
|
||||
strb r1, [r5, 0xD]
|
||||
b _081435C6
|
||||
_08143036:
|
||||
bl sub_8142560
|
||||
bl ClearTextWindow
|
||||
movs r0, 0x5
|
||||
strb r0, [r5, 0x8]
|
||||
strb r4, [r5, 0xD]
|
||||
b _081435C6
|
||||
_08143042:
|
||||
bl sub_8142560
|
||||
bl ClearTextWindow
|
||||
ldrb r0, [r5, 0xC]
|
||||
bl sub_8142A44
|
||||
cmp r0, 0
|
||||
@@ -1654,7 +1168,7 @@ _081430B8:
|
||||
cmp r0, 0
|
||||
beq _081430D4
|
||||
movs r0, 0x1
|
||||
bl sub_81424B8
|
||||
bl ClearScreenInBg0
|
||||
movs r0, 0x7
|
||||
strb r0, [r5, 0x8]
|
||||
bl mevent_srv_ish_do_init
|
||||
@@ -1669,13 +1183,13 @@ _081430D4:
|
||||
b _081435C6
|
||||
_081430DE:
|
||||
movs r0, 0x1
|
||||
bl sub_81424B8
|
||||
bl ClearScreenInBg0
|
||||
b _08143464
|
||||
.align 2, 0
|
||||
_081430E8: .4byte gSpecialVar_Result
|
||||
_081430EC:
|
||||
ldr r0, _081430F8 @ =gUnknown_841E794
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
movs r0, 0x8
|
||||
strb r0, [r5, 0x8]
|
||||
b _081435C6
|
||||
@@ -1760,7 +1274,7 @@ _08143198:
|
||||
bl mevent_srv_ish_get_buffer
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
cmp r0, 0
|
||||
bne _081431AE
|
||||
b _081435C6
|
||||
@@ -1838,7 +1352,7 @@ _08143232:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x9
|
||||
ldr r1, _08143258 @ =gUnknown_841E7A3
|
||||
bl sub_81426A0
|
||||
bl PrintStringAndWait2Seconds
|
||||
cmp r0, 0
|
||||
bne _08143242
|
||||
b _081435C6
|
||||
@@ -1879,7 +1393,7 @@ _08143278:
|
||||
_0814328A:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x9
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
_08143292:
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
@@ -2165,7 +1679,7 @@ _0814349C:
|
||||
cmp r0, 0
|
||||
beq _081434B4
|
||||
movs r0, 0x1
|
||||
bl sub_81424B8
|
||||
bl ClearScreenInBg0
|
||||
movs r0, 0x1F
|
||||
strb r0, [r5, 0x8]
|
||||
b _081435C6
|
||||
@@ -2179,7 +1693,7 @@ _081434B4:
|
||||
b _081435C6
|
||||
_081434BE:
|
||||
movs r0, 0x1
|
||||
bl sub_81424B8
|
||||
bl ClearScreenInBg0
|
||||
_081434C4:
|
||||
movs r0, 0x12
|
||||
strb r0, [r5, 0x8]
|
||||
@@ -2198,7 +1712,7 @@ _081434D0:
|
||||
cmp r0, 0
|
||||
bne _08143500
|
||||
ldr r0, _081434FC @ =gUnknown_841EAE7
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
bl mevent_srv_common_do_init_2
|
||||
b _0814350A
|
||||
.align 2, 0
|
||||
@@ -2208,7 +1722,7 @@ _081434F8: .4byte gStringVar3
|
||||
_081434FC: .4byte gUnknown_841EAE7
|
||||
_08143500:
|
||||
ldr r0, _08143510 @ =gUnknown_841EB01
|
||||
bl sub_8142504
|
||||
bl AddTextPrinterToWindow1
|
||||
bl mevent_srv_common_do_init_1
|
||||
_0814350A:
|
||||
movs r0, 0x20
|
||||
@@ -2274,7 +1788,7 @@ _0814358C:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x9
|
||||
ldr r1, _081435A8 @ =gUnknown_841E7BC
|
||||
bl mevent_0814257C
|
||||
bl MG_PrintTextOnWindow1AndWaitButton
|
||||
_08143596:
|
||||
cmp r0, 0
|
||||
beq _081435C6
|
||||
|
||||
@@ -1688,7 +1688,7 @@ sub_811D2A8: @ 811D2A8
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
@@ -2285,7 +2285,7 @@ sub_811D764: @ 811D764
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0x2
|
||||
str r0, [sp]
|
||||
movs r0, 0x3
|
||||
|
||||
@@ -8311,7 +8311,7 @@ _0808FC7C:
|
||||
movs r0, 0x1
|
||||
movs r1, 0x2
|
||||
movs r2, 0xD
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0x1
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0x1
|
||||
|
||||
+1
-1
@@ -4215,7 +4215,7 @@ sub_81417E4: @ 81417E4
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r1, 0x2
|
||||
str r1, [sp]
|
||||
movs r0, 0xFF
|
||||
|
||||
+1
-1
@@ -1912,7 +1912,7 @@ _0806FC14:
|
||||
movs r0, 0
|
||||
movs r1, 0x8
|
||||
movs r2, 0xF
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0
|
||||
|
||||
+3
-3
@@ -440,8 +440,8 @@ sub_815001C: @ 815001C
|
||||
_08150044: .4byte gSaveBlock2Ptr
|
||||
thumb_func_end sub_815001C
|
||||
|
||||
thumb_func_start sub_8150048
|
||||
sub_8150048: @ 8150048
|
||||
thumb_func_start DrawTextBorderOuter
|
||||
DrawTextBorderOuter: @ 8150048
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
@@ -625,7 +625,7 @@ sub_8150048: @ 8150048
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8150048
|
||||
thumb_func_end DrawTextBorderOuter
|
||||
|
||||
thumb_func_start sub_81501D0
|
||||
sub_81501D0: @ 81501D0
|
||||
|
||||
+2
-2
@@ -3369,7 +3369,7 @@ _0804E208:
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0x1
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@@ -5876,7 +5876,7 @@ sub_804F5BC: @ 804F5BC
|
||||
movs r0, 0
|
||||
movs r1, 0x14
|
||||
movs r2, 0xC
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0
|
||||
|
||||
@@ -4288,7 +4288,7 @@ sub_812A424: @ 812A424
|
||||
ldrb r0, [r0, 0x18]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xD
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
ldr r0, [r6]
|
||||
ldrb r0, [r0, 0x18]
|
||||
movs r1, 0xE
|
||||
@@ -4524,7 +4524,7 @@ _0812A6B0:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0xA
|
||||
movs r2, 0x2
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
ldrb r3, [r4, 0x5]
|
||||
ldrb r0, [r4, 0x6]
|
||||
str r0, [sp]
|
||||
@@ -4980,7 +4980,7 @@ sub_812AA10: @ 812AA10
|
||||
movs r0, 0x3
|
||||
movs r1, 0x1
|
||||
movs r2, 0xD
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
ldr r0, _0812AA60 @ =gUnknown_845ABEC
|
||||
str r0, [sp]
|
||||
movs r0, 0x3
|
||||
|
||||
+6
-6
@@ -5179,7 +5179,7 @@ _0814A124:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0x17
|
||||
movs r1, 0x7
|
||||
movs r2, 0
|
||||
@@ -5265,7 +5265,7 @@ _0814A1D0:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
_0814A1F4:
|
||||
@@ -5386,7 +5386,7 @@ _0814A2C0:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
_0814A2E4:
|
||||
@@ -5468,7 +5468,7 @@ _0814A364:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
_0814A388:
|
||||
@@ -5839,7 +5839,7 @@ _0814A652:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldr r1, [r4]
|
||||
@@ -7934,7 +7934,7 @@ sub_814B5C4: @ 814B5C4
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0xD
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
||||
+1
-1
@@ -6478,7 +6478,7 @@ sub_81538D0: @ 81538D0
|
||||
adds r0, r7, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0xD
|
||||
bl sub_8150048
|
||||
bl DrawTextBorderOuter
|
||||
adds r0, r7, 0
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
||||
@@ -11,7 +11,7 @@ gUnknown_8466D98:: @ 8466D98
|
||||
gUnknown_8466DA0:: @ 8466DA0
|
||||
.incbin "baserom.gba", 0x466DA0, 0x8
|
||||
|
||||
gUnknown_8466DA8:: @ 8466DA8
|
||||
sWindowTemplate_ThreeOptions:: @ 8466DA8
|
||||
.incbin "baserom.gba", 0x466DA8, 0x8
|
||||
|
||||
gUnknown_8466DB0:: @ 8466DB0
|
||||
@@ -26,13 +26,13 @@ gUnknown_8466DC0:: @ 8466DC0
|
||||
gUnknown_8466DC8:: @ 8466DC8
|
||||
.incbin "baserom.gba", 0x466DC8, 0x8
|
||||
|
||||
gUnknown_8466DD0:: @ 8466DD0
|
||||
sListMenuItems_CardsOrNews:: @ 8466DD0
|
||||
.incbin "baserom.gba", 0x466DD0, 0x18
|
||||
|
||||
gUnknown_8466DE8:: @ 8466DE8
|
||||
sListMenuItems_WirelessOrFriend:: @ 8466DE8
|
||||
.incbin "baserom.gba", 0x466DE8, 0x18
|
||||
|
||||
gUnknown_8466E00:: @ 8466E00
|
||||
sListMenuTemplate_ThreeOptions:: @ 8466E00
|
||||
.incbin "baserom.gba", 0x466E00, 0x78
|
||||
|
||||
gUnknown_8466E78:: @ 8466E78
|
||||
@@ -47,8 +47,8 @@ gUnknown_8466EA8:: @ 8466EA8
|
||||
gUnknown_8466EC0:: @ 8466EC0
|
||||
.incbin "baserom.gba", 0x466EC0, 0x28
|
||||
|
||||
gUnknown_8466EE8:: @ 8466EE8
|
||||
sMG_Ereader_TextColor_1:: @ 8466EE8
|
||||
.incbin "baserom.gba", 0x466EE8, 0x8
|
||||
|
||||
gUnknown_8466EF0:: @ 8466EF0
|
||||
sMG_Ereader_TextColor_2:: @ 8466EF0
|
||||
.incbin "baserom.gba", 0x466EF0, 0x10
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
#ifndef GUARD_LINK_RFU_H
|
||||
#define GUARD_LINK_RFU_H
|
||||
|
||||
void sub_8142504(const u8 *str);
|
||||
bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src);
|
||||
void AddTextPrinterToWindow1(const u8 *str);
|
||||
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src);
|
||||
void sub_80FA190(void);
|
||||
void sub_8142420(void);
|
||||
void MG_DrawCheckerboardPattern(void);
|
||||
|
||||
#endif //GUARD_LINK_RFU_H
|
||||
|
||||
@@ -59,5 +59,6 @@ void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
|
||||
void DestroyListMenu(u8, u16 *, u16 *);
|
||||
u16 ListMenuGetYCoordForPrintingArrowCursor(u8);
|
||||
void sub_8107D38(u8, u8);
|
||||
s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
|
||||
|
||||
#endif //GUARD_LIST_MENU_H
|
||||
|
||||
@@ -25,5 +25,6 @@ void sub_814FF2C(u8 windowId, u16 tileStart, u8 palette);
|
||||
void sub_815001C(u8 windowId, u16 tileStart, u8 palette);
|
||||
void sub_814FE40(u8 windowId, u16 tileStart, u8 palette);
|
||||
void sub_814FDA0(u8 windowId, u16 tileStart, u8 palette);
|
||||
void DrawTextBorderOuter(u8 windowId, u16 tileStart, u8 palette);
|
||||
|
||||
#endif // GUARD_TEXT_WINDOW_H
|
||||
|
||||
+14
-14
@@ -279,7 +279,7 @@ void sub_8143910(u8 taskId)
|
||||
switch (data->t08)
|
||||
{
|
||||
case 0:
|
||||
if (mevent_0814257C(&data->t09, gUnknown_841DE52))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE52))
|
||||
data->t08 = 1;
|
||||
break;
|
||||
case 1:
|
||||
@@ -301,9 +301,9 @@ void sub_8143910(u8 taskId)
|
||||
data->t08 = 13;
|
||||
break;
|
||||
case 4:
|
||||
if (mevent_0814257C(&data->t09, gUnknown_841DE53))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE53))
|
||||
{
|
||||
sub_8142504(gUnknown_841DE54);
|
||||
AddTextPrinterToWindow1(gUnknown_841DE54);
|
||||
sub_81438E8(&data->t00);
|
||||
data->t08 = 5;
|
||||
}
|
||||
@@ -350,11 +350,11 @@ void sub_8143910(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (mevent_0814257C(&data->t09, gUnknown_841DE7C))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE7C))
|
||||
data->t08 = 4;
|
||||
break;
|
||||
case 8:
|
||||
sub_8142504(gUnknown_841DE95);
|
||||
AddTextPrinterToWindow1(gUnknown_841DE95);
|
||||
sub_81435DC(&gUnknown_3005ED0, gUnknownSerialData_End - gUnknownSerialData_Start, gUnknownSerialData_Start);
|
||||
data->t08 = 9;
|
||||
break;
|
||||
@@ -370,7 +370,7 @@ void sub_8143910(u8 taskId)
|
||||
else if (data->t0E == 1)
|
||||
{
|
||||
sub_81438E8(&data->t00);
|
||||
sub_8142504(gUnknown_841DE9B);
|
||||
AddTextPrinterToWindow1(gUnknown_841DE9B);
|
||||
data->t08 = 11;
|
||||
}
|
||||
else
|
||||
@@ -382,7 +382,7 @@ void sub_8143910(u8 taskId)
|
||||
break;
|
||||
case 12:
|
||||
sub_81436BC();
|
||||
sub_8142504(gUnknown_841DE98);
|
||||
AddTextPrinterToWindow1(gUnknown_841DE98);
|
||||
data->t08 = 13;
|
||||
break;
|
||||
case 13:
|
||||
@@ -391,7 +391,7 @@ void sub_8143910(u8 taskId)
|
||||
case 0:
|
||||
break;
|
||||
case 2:
|
||||
sub_8142504(gUnknown_841DE95);
|
||||
AddTextPrinterToWindow1(gUnknown_841DE95);
|
||||
data->t08 = 14;
|
||||
break;
|
||||
case 1:
|
||||
@@ -439,7 +439,7 @@ void sub_8143910(u8 taskId)
|
||||
case 17:
|
||||
if (sub_815D794(gDecompressionBuffer))
|
||||
{
|
||||
sub_8142504(gUnknown_841DE99);
|
||||
AddTextPrinterToWindow1(gUnknown_841DE99);
|
||||
sub_81438E8(&data->t00);
|
||||
data->t08 = 18;
|
||||
}
|
||||
@@ -449,7 +449,7 @@ void sub_8143910(u8 taskId)
|
||||
case 18:
|
||||
if (sub_81438F0(&data->t00, 120))
|
||||
{
|
||||
sub_8142504(gUnknown_841DE9A);
|
||||
AddTextPrinterToWindow1(gUnknown_841DE9A);
|
||||
PlayFanfare(258);
|
||||
data->t08 = 19;
|
||||
}
|
||||
@@ -459,19 +459,19 @@ void sub_8143910(u8 taskId)
|
||||
data->t08 = 26;
|
||||
break;
|
||||
case 23:
|
||||
if (mevent_0814257C(&data->t09, gUnknown_841DE7D))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE7D))
|
||||
data->t08 = 26;
|
||||
break;
|
||||
case 20:
|
||||
if (mevent_0814257C(&data->t09, gUnknown_841DE96))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE96))
|
||||
data->t08 = 0;
|
||||
break;
|
||||
case 21:
|
||||
if (mevent_0814257C(&data->t09, gUnknown_841DE97))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE97))
|
||||
data->t08 = 0;
|
||||
break;
|
||||
case 22:
|
||||
if (mevent_0814257C(&data->t09, gUnknown_841DE9C))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE9C))
|
||||
data->t08 = 0;
|
||||
break;
|
||||
case 26:
|
||||
|
||||
@@ -656,7 +656,7 @@ s32 sub_8146604(bool32 flag)
|
||||
PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag);
|
||||
break;
|
||||
case 6:
|
||||
sub_8142420();
|
||||
MG_DrawCheckerboardPattern();
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
|
||||
|
||||
+183
-6
@@ -14,10 +14,17 @@
|
||||
#include "sound.h"
|
||||
#include "mystery_gift_menu.h"
|
||||
#include "title_screen.h"
|
||||
#include "list_menu.h"
|
||||
#include "link_rfu.h"
|
||||
#include "string_util.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
extern const struct TextColor gUnknown_8466EE8;
|
||||
extern const struct WindowTemplate sWindowTemplate_ThreeOptions;
|
||||
extern const struct ListMenuItem sListMenuItems_CardsOrNews[];
|
||||
extern const struct ListMenuItem sListMenuItems_WirelessOrFriend[];
|
||||
extern const struct ListMenuTemplate sListMenuTemplate_ThreeOptions;
|
||||
extern const struct TextColor sMG_Ereader_TextColor_1;
|
||||
extern const struct TextColor sMG_Ereader_TextColor_2;
|
||||
|
||||
EWRAM_DATA u8 sDownArrowCounterAndYCoordIdx[8] = {};
|
||||
EWRAM_DATA bool8 gGiftIsFromEReader = FALSE;
|
||||
@@ -170,7 +177,7 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 mg_or_ereader)
|
||||
FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
|
||||
FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11);
|
||||
sub_8142420();
|
||||
MG_DrawCheckerboardPattern();
|
||||
PrintMysteryGiftOrEReaderTopMenu(mg_or_ereader, 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
@@ -238,16 +245,186 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 mg_or_ereader, bool32 usePickOkCance
|
||||
if (!mg_or_ereader)
|
||||
{
|
||||
src = usePickOkCancel == TRUE ? gUnknown_8415F51 : gUnknown_841EDCA;
|
||||
AddTextPrinterParametrized2(0, 2, 2, 2, 0, 0, &gUnknown_8466EE8, 0, gUnknown_841EDBD);
|
||||
AddTextPrinterParametrized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gUnknown_841EDBD);
|
||||
width = 222 - GetStringWidth(0, src, 0);
|
||||
AddTextPrinterParametrized2(0, 0, width, 2, 0, 0, &gUnknown_8466EE8, 0, src);
|
||||
AddTextPrinterParametrized2(0, 0, width, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, src);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParametrized2(0, 2, 2, 2, 0, 0, &gUnknown_8466EE8, 0, gUnknown_841DE50);
|
||||
AddTextPrinterParametrized2(0, 0, 0x78, 2, 0, 0, &gUnknown_8466EE8, 0, gUnknown_841DE51);
|
||||
AddTextPrinterParametrized2(0, 2, 2, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gUnknown_841DE50);
|
||||
AddTextPrinterParametrized2(0, 0, 0x78, 2, 0, 0, &sMG_Ereader_TextColor_1, 0, gUnknown_841DE51);
|
||||
}
|
||||
CopyWindowToVram(0, 2);
|
||||
PutWindowTilemap(0);
|
||||
}
|
||||
|
||||
void MG_DrawTextBorder(u8 windowId)
|
||||
{
|
||||
DrawTextBorderOuter(windowId, 0x01, 0xF);
|
||||
}
|
||||
|
||||
void MG_DrawCheckerboardPattern(void)
|
||||
{
|
||||
s32 i = 0, j;
|
||||
|
||||
FillBgTilemapBufferRect(3, 0x003, 0, 0, 32, 2, 0x11);
|
||||
|
||||
for (i = 0; i < 18; i++)
|
||||
{
|
||||
for (j = 0; j < 32; j++)
|
||||
{
|
||||
if ((i & 1) != (j & 1))
|
||||
{
|
||||
FillBgTilemapBufferRect(3, 1, j, i + 2, 1, 1, 0x11);
|
||||
}
|
||||
else
|
||||
{
|
||||
FillBgTilemapBufferRect(3, 2, j, i + 2, 1, 1, 0x11);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ClearScreenInBg0(bool32 ignoreTopTwoRows)
|
||||
{
|
||||
switch (ignoreTopTwoRows)
|
||||
{
|
||||
case 0:
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x11);
|
||||
break;
|
||||
case 1:
|
||||
FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 0x11);
|
||||
break;
|
||||
}
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
|
||||
void AddTextPrinterToWindow1(const u8 *str)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
FillWindowPixelBuffer(1, 0x11);
|
||||
AddTextPrinterParametrized2(1, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(1, 0x001, 0xF);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 3);
|
||||
}
|
||||
|
||||
void ClearTextWindow(void)
|
||||
{
|
||||
rbox_fill_rectangle(1);
|
||||
ClearWindowTilemap(1);
|
||||
CopyWindowToVram(1, 1);
|
||||
}
|
||||
|
||||
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 *textState, const u8 *str)
|
||||
{
|
||||
switch (*textState)
|
||||
{
|
||||
case 0:
|
||||
AddTextPrinterToWindow1(str);
|
||||
goto inc;
|
||||
case 1:
|
||||
DrawDownArrow(1, 0xD0, 0x14, 1, FALSE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
inc:
|
||||
(*textState)++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
DrawDownArrow(1, 0xD0, 0x14, 1, TRUE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
|
||||
*textState = 0;
|
||||
ClearTextWindow();
|
||||
return TRUE;
|
||||
case 0xFF:
|
||||
*textState = 2;
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void HideDownArrow(void)
|
||||
{
|
||||
DrawDownArrow(1, 0xD0, 0x14, 1, FALSE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
|
||||
}
|
||||
|
||||
void ShowDownArrow(void)
|
||||
{
|
||||
DrawDownArrow(1, 0xD0, 0x14, 1, TRUE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]);
|
||||
}
|
||||
|
||||
bool32 unref_HideDownArrowAndWaitButton(u8 * textState)
|
||||
{
|
||||
switch (*textState)
|
||||
{
|
||||
case 0:
|
||||
HideDownArrow();
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
(*textState)++;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
ShowDownArrow();
|
||||
*textState = 0;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 PrintStringAndWait2Seconds(u8 * counter, const u8 * str)
|
||||
{
|
||||
if (*counter == 0)
|
||||
{
|
||||
AddTextPrinterToWindow1(str);
|
||||
}
|
||||
if (++(*counter) > 120)
|
||||
{
|
||||
*counter = 0;
|
||||
ClearTextWindow();
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu)
|
||||
{
|
||||
struct ListMenuTemplate listMenuTemplate = sListMenuTemplate_ThreeOptions;
|
||||
struct WindowTemplate windowTemplate = sWindowTemplate_ThreeOptions;
|
||||
u32 width;
|
||||
s32 finalWidth;
|
||||
s32 response;
|
||||
u32 i;
|
||||
|
||||
if (whichMenu == 0)
|
||||
{
|
||||
listMenuTemplate.items = sListMenuItems_CardsOrNews;
|
||||
}
|
||||
else
|
||||
{
|
||||
listMenuTemplate.items = sListMenuItems_WirelessOrFriend;
|
||||
}
|
||||
width = 0;
|
||||
for (i = 0; i < listMenuTemplate.totalItems; i++)
|
||||
{
|
||||
u32 curWidth = GetStringWidth(2, listMenuTemplate.items[i].unk_00, listMenuTemplate.lettersSpacing);
|
||||
if (curWidth > width)
|
||||
width = curWidth;
|
||||
}
|
||||
finalWidth = (((width + 9) / 8) + 2) & ~1;
|
||||
windowTemplate.width = finalWidth;
|
||||
windowTemplate.tilemapLeft = (30 - finalWidth) / 2;
|
||||
response = DoMysteryGiftListMenu(&windowTemplate, &listMenuTemplate, 1, 0x00A, 0xE0);
|
||||
if (response != -1)
|
||||
{
|
||||
ClearWindowTilemap(2);
|
||||
CopyWindowToVram(2, 1);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user