through HandleLoadWonderCardOrNews
This commit is contained in:
+1
-1
@@ -4169,7 +4169,7 @@ _08117C12:
|
||||
adds r1, 0x14
|
||||
ldr r3, _08117C38 @ =gStringVar4
|
||||
movs r2, 0
|
||||
bl sub_81427A0
|
||||
bl mevent_message_print_and_prompt_yes_no
|
||||
lsls r0, 24
|
||||
asrs r4, r0, 24
|
||||
cmp r4, 0
|
||||
|
||||
+10
-393
@@ -5,389 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81427A0
|
||||
sub_81427A0: @ 81427A0
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x1C
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
adds r1, r3, 0
|
||||
lsls r2, 24
|
||||
lsrs r6, r2, 24
|
||||
ldrb r0, [r5]
|
||||
cmp r0, 0x1
|
||||
beq _08142834
|
||||
cmp r0, 0x1
|
||||
bgt _081427BE
|
||||
cmp r0, 0
|
||||
beq _081427CA
|
||||
b _081428E6
|
||||
_081427BE:
|
||||
cmp r0, 0x2
|
||||
beq _0814288C
|
||||
cmp r0, 0xFF
|
||||
bne _081427C8
|
||||
b _081428C2
|
||||
_081427C8:
|
||||
b _081428E6
|
||||
_081427CA:
|
||||
ldr r0, _081427D8 @ =gStringVar4
|
||||
bl StringExpandPlaceholders
|
||||
cmp r6, 0
|
||||
bne _081427E0
|
||||
ldr r0, _081427DC @ =gUnknown_8466D90
|
||||
b _081427E2
|
||||
.align 2, 0
|
||||
_081427D8: .4byte gStringVar4
|
||||
_081427DC: .4byte gUnknown_8466D90
|
||||
_081427E0:
|
||||
ldr r0, _08142828 @ =gUnknown_8466D98
|
||||
_081427E2:
|
||||
bl AddWindow
|
||||
strh r0, [r4]
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
ldrb r0, [r4]
|
||||
movs r2, 0
|
||||
str r2, [sp]
|
||||
movs r1, 0x2
|
||||
str r1, [sp, 0x4]
|
||||
ldr r1, _0814282C @ =sMG_Ereader_TextColor_2
|
||||
str r1, [sp, 0x8]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r1, _08142830 @ =gStringVar4
|
||||
str r1, [sp, 0x10]
|
||||
movs r1, 0x2
|
||||
movs r3, 0x2
|
||||
bl AddTextPrinterParametrized2
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF
|
||||
bl DrawTextBorderOuter
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r4]
|
||||
bl PutWindowTilemap
|
||||
b _0814287E
|
||||
.align 2, 0
|
||||
_08142828: .4byte gUnknown_8466D98
|
||||
_0814282C: .4byte sMG_Ereader_TextColor_2
|
||||
_08142830: .4byte gStringVar4
|
||||
_08142834:
|
||||
ldr r0, _08142850 @ =gUnknown_8466DB0
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r0]
|
||||
str r0, [sp, 0x14]
|
||||
str r1, [sp, 0x18]
|
||||
cmp r6, 0
|
||||
bne _08142858
|
||||
ldr r0, _08142854 @ =0xff00ffff
|
||||
ldr r1, [sp, 0x14]
|
||||
ands r1, r0
|
||||
movs r0, 0x90
|
||||
lsls r0, 12
|
||||
b _08142862
|
||||
.align 2, 0
|
||||
_08142850: .4byte gUnknown_8466DB0
|
||||
_08142854: .4byte 0xff00ffff
|
||||
_08142858:
|
||||
ldr r0, _08142888 @ =0xff00ffff
|
||||
ldr r1, [sp, 0x14]
|
||||
ands r1, r0
|
||||
movs r0, 0xF0
|
||||
lsls r0, 12
|
||||
_08142862:
|
||||
orrs r1, r0
|
||||
str r1, [sp, 0x14]
|
||||
movs r0, 0xA
|
||||
str r0, [sp]
|
||||
movs r0, 0xE
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0
|
||||
str r0, [sp, 0x8]
|
||||
add r0, sp, 0x14
|
||||
movs r1, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0x2
|
||||
bl sub_810FF60
|
||||
_0814287E:
|
||||
ldrb r0, [r5]
|
||||
adds r0, 0x1
|
||||
strb r0, [r5]
|
||||
b _081428E6
|
||||
.align 2, 0
|
||||
_08142888: .4byte 0xff00ffff
|
||||
_0814288C:
|
||||
bl ProcessMenuInputNoWrap_
|
||||
lsls r0, 24
|
||||
asrs r6, r0, 24
|
||||
movs r1, 0x80
|
||||
lsls r1, 17
|
||||
adds r0, r1
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
bhi _081428E6
|
||||
movs r0, 0
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r4]
|
||||
bl rbox_fill_rectangle
|
||||
ldrb r0, [r4]
|
||||
bl ClearWindowTilemap
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r4]
|
||||
bl RemoveWindow
|
||||
adds r0, r6, 0
|
||||
b _081428EA
|
||||
_081428C2:
|
||||
movs r0, 0
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r4]
|
||||
bl rbox_fill_rectangle
|
||||
ldrb r0, [r4]
|
||||
bl ClearWindowTilemap
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r4]
|
||||
bl RemoveWindow
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
b _081428EA
|
||||
_081428E6:
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
_081428EA:
|
||||
add sp, 0x1C
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81427A0
|
||||
|
||||
thumb_func_start sub_81428F4
|
||||
sub_81428F4: @ 81428F4
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x14
|
||||
adds r6, r0, 0
|
||||
adds r5, r1, 0
|
||||
ldrb r0, [r6]
|
||||
cmp r0, 0x1
|
||||
beq _08142994
|
||||
cmp r0, 0x1
|
||||
bgt _0814290C
|
||||
cmp r0, 0
|
||||
beq _08142914
|
||||
b _08142A38
|
||||
_0814290C:
|
||||
cmp r0, 0xFF
|
||||
bne _08142912
|
||||
b _08142A14
|
||||
_08142912:
|
||||
b _08142A38
|
||||
_08142914:
|
||||
cmp r2, 0
|
||||
bne _0814292C
|
||||
ldr r0, _08142924 @ =gStringVar4
|
||||
ldr r1, _08142928 @ =gUnknown_841EA86
|
||||
bl StringExpandPlaceholders
|
||||
b _08142934
|
||||
.align 2, 0
|
||||
_08142924: .4byte gStringVar4
|
||||
_08142928: .4byte gUnknown_841EA86
|
||||
_0814292C:
|
||||
ldr r0, _08142984 @ =gStringVar4
|
||||
ldr r1, _08142988 @ =gUnknown_841EAB7
|
||||
bl StringExpandPlaceholders
|
||||
_08142934:
|
||||
ldr r0, _0814298C @ =gUnknown_8466DA0
|
||||
bl AddWindow
|
||||
strh r0, [r5]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
ldrb r0, [r5]
|
||||
movs r2, 0
|
||||
str r2, [sp]
|
||||
movs r1, 0x2
|
||||
str r1, [sp, 0x4]
|
||||
ldr r1, _08142990 @ =sMG_Ereader_TextColor_2
|
||||
str r1, [sp, 0x8]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r1, _08142984 @ =gStringVar4
|
||||
str r1, [sp, 0x10]
|
||||
movs r1, 0x2
|
||||
movs r3, 0x2
|
||||
bl AddTextPrinterParametrized2
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF
|
||||
bl DrawTextBorderOuter
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r5]
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r6]
|
||||
adds r0, 0x1
|
||||
strb r0, [r6]
|
||||
b _08142A38
|
||||
.align 2, 0
|
||||
_08142984: .4byte gStringVar4
|
||||
_08142988: .4byte gUnknown_841EAB7
|
||||
_0814298C: .4byte gUnknown_8466DA0
|
||||
_08142990: .4byte sMG_Ereader_TextColor_2
|
||||
_08142994:
|
||||
cmp r3, 0
|
||||
beq _081429BC
|
||||
cmp r2, 0
|
||||
bne _081429AC
|
||||
ldr r0, _081429A4 @ =gUnknown_8466DC0
|
||||
ldr r1, _081429A8 @ =gUnknown_8466E90
|
||||
b _081429D4
|
||||
.align 2, 0
|
||||
_081429A4: .4byte gUnknown_8466DC0
|
||||
_081429A8: .4byte gUnknown_8466E90
|
||||
_081429AC:
|
||||
ldr r0, _081429B4 @ =gUnknown_8466DC8
|
||||
ldr r1, _081429B8 @ =gUnknown_8466EC0
|
||||
b _081429D4
|
||||
.align 2, 0
|
||||
_081429B4: .4byte gUnknown_8466DC8
|
||||
_081429B8: .4byte gUnknown_8466EC0
|
||||
_081429BC:
|
||||
cmp r2, 0
|
||||
bne _081429D0
|
||||
ldr r0, _081429C8 @ =gUnknown_8466DB8
|
||||
ldr r1, _081429CC @ =gUnknown_8466E78
|
||||
b _081429D4
|
||||
.align 2, 0
|
||||
_081429C8: .4byte gUnknown_8466DB8
|
||||
_081429CC: .4byte gUnknown_8466E78
|
||||
_081429D0:
|
||||
ldr r0, _08142A0C @ =gUnknown_8466DC0
|
||||
ldr r1, _08142A10 @ =gUnknown_8466EA8
|
||||
_081429D4:
|
||||
movs r2, 0xE0
|
||||
str r2, [sp]
|
||||
movs r2, 0x1
|
||||
movs r3, 0xA
|
||||
bl DoMysteryGiftListMenu
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _08142A38
|
||||
movs r0, 0
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r5]
|
||||
bl rbox_fill_rectangle
|
||||
ldrb r0, [r5]
|
||||
bl ClearWindowTilemap
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r5]
|
||||
bl RemoveWindow
|
||||
adds r0, r4, 0
|
||||
b _08142A3C
|
||||
.align 2, 0
|
||||
_08142A0C: .4byte gUnknown_8466DC0
|
||||
_08142A10: .4byte gUnknown_8466EA8
|
||||
_08142A14:
|
||||
movs r0, 0
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r5]
|
||||
bl rbox_fill_rectangle
|
||||
ldrb r0, [r5]
|
||||
bl ClearWindowTilemap
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r5]
|
||||
bl RemoveWindow
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
b _08142A3C
|
||||
_08142A38:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_08142A3C:
|
||||
add sp, 0x14
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81428F4
|
||||
|
||||
thumb_func_start sub_8142A44
|
||||
sub_8142A44: @ 8142A44
|
||||
push {lr}
|
||||
cmp r0, 0
|
||||
beq _08142A50
|
||||
bl sub_8143E1C
|
||||
b _08142A54
|
||||
_08142A50:
|
||||
bl sub_8143FC8
|
||||
_08142A54:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8142A44
|
||||
|
||||
thumb_func_start sub_8142A58
|
||||
sub_8142A58: @ 8142A58
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
ldrb r0, [r5]
|
||||
cmp r0, 0
|
||||
beq _08142A68
|
||||
cmp r0, 0x1
|
||||
beq _08142A90
|
||||
b _08142AAC
|
||||
_08142A68:
|
||||
cmp r1, 0
|
||||
bne _08142A80
|
||||
bl sav1_get_mevent_buffer_1
|
||||
adds r4, r0, 0
|
||||
bl sav1_get_mevent_buffer_2
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl sub_8145654
|
||||
b _08142A88
|
||||
_08142A80:
|
||||
bl sub_8143D58
|
||||
bl sub_8146288
|
||||
_08142A88:
|
||||
ldrb r0, [r5]
|
||||
adds r0, 0x1
|
||||
strb r0, [r5]
|
||||
b _08142AAC
|
||||
_08142A90:
|
||||
cmp r1, 0
|
||||
bne _08142A9E
|
||||
bl sub_814571C
|
||||
_08142A98:
|
||||
cmp r0, 0
|
||||
bne _08142AA4
|
||||
b _08142AAC
|
||||
_08142A9E:
|
||||
bl sub_8146318
|
||||
b _08142A98
|
||||
_08142AA4:
|
||||
movs r0, 0
|
||||
strb r0, [r5]
|
||||
movs r0, 0x1
|
||||
b _08142AAE
|
||||
_08142AAC:
|
||||
movs r0, 0
|
||||
_08142AAE:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8142A58
|
||||
|
||||
thumb_func_start sub_8142AB4
|
||||
sub_8142AB4: @ 8142AB4
|
||||
push {lr}
|
||||
@@ -444,7 +61,7 @@ _08142B0C:
|
||||
ldr r3, _08142B1C @ =gUnknown_841EC99
|
||||
_08142B0E:
|
||||
movs r2, 0x1
|
||||
bl sub_81427A0
|
||||
bl mevent_message_print_and_prompt_yes_no
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
pop {r1}
|
||||
@@ -1012,11 +629,11 @@ _08142F6A:
|
||||
_08142F8A:
|
||||
movs r0, 0
|
||||
strb r0, [r5, 0xC]
|
||||
bl sub_8143FC8
|
||||
bl ValidateReceivedWonderNews
|
||||
b _08142F9A
|
||||
_08142F94:
|
||||
strb r1, [r5, 0xC]
|
||||
bl sub_8143E1C
|
||||
bl ValidateReceivedWonderCard
|
||||
_08142F9A:
|
||||
cmp r0, 0x1
|
||||
bne _08142FA0
|
||||
@@ -1107,7 +724,7 @@ _08143036:
|
||||
_08143042:
|
||||
bl ClearTextWindow
|
||||
ldrb r0, [r5, 0xC]
|
||||
bl sub_8142A44
|
||||
bl ValidateCardOrNews
|
||||
cmp r0, 0
|
||||
beq _08143052
|
||||
b _081434C4
|
||||
@@ -1259,7 +876,7 @@ _08143174:
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0
|
||||
bl sub_81427A0
|
||||
bl mevent_message_print_and_prompt_yes_no
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
cmp r1, 0x1
|
||||
@@ -1286,7 +903,7 @@ _081431B0:
|
||||
ldr r3, _081431D8 @ =gUnknown_841E7F2
|
||||
adds r1, r5, 0
|
||||
movs r2, 0
|
||||
bl sub_81427A0
|
||||
bl mevent_message_print_and_prompt_yes_no
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
cmp r1, 0x1
|
||||
@@ -1310,7 +927,7 @@ _081431E0:
|
||||
ldr r3, _08143204 @ =gUnknown_841E823
|
||||
adds r1, r5, 0
|
||||
movs r2, 0
|
||||
bl sub_81427A0
|
||||
bl mevent_message_print_and_prompt_yes_no
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
cmp r1, 0x1
|
||||
@@ -1430,7 +1047,7 @@ _081432CC:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x9
|
||||
ldrb r1, [r5, 0xC]
|
||||
bl sub_8142A58
|
||||
bl HandleLoadWonderCardOrNews
|
||||
cmp r0, 0
|
||||
bne _081432DC
|
||||
b _081435C6
|
||||
@@ -1507,7 +1124,7 @@ _0814335A:
|
||||
adds r1, r5, 0
|
||||
movs r3, 0x1
|
||||
_08143364:
|
||||
bl sub_81428F4
|
||||
bl HandleMysteryGiftListMenu
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0x1
|
||||
beq _08143386
|
||||
@@ -1571,7 +1188,7 @@ _081433D2:
|
||||
ldr r3, _081433F8 @ =gUnknown_841ECF9
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x1
|
||||
bl sub_81427A0
|
||||
bl mevent_message_print_and_prompt_yes_no
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
cmp r1, 0x1
|
||||
|
||||
+2
-2
@@ -2516,10 +2516,10 @@ gUnknown_841EA3F:: @ 841EA3F
|
||||
gUnknown_841EA6F:: @ 841EA6F
|
||||
.incbin "baserom.gba", 0x41EA6F, 0x17
|
||||
|
||||
gUnknown_841EA86:: @ 841EA86
|
||||
gText_WhatToDoWithCards:: @ 841EA86
|
||||
.incbin "baserom.gba", 0x41EA86, 0x31
|
||||
|
||||
gUnknown_841EAB7:: @ 841EAB7
|
||||
gText_WhatToDoWithNews:: @ 841EAB7
|
||||
.incbin "baserom.gba", 0x41EAB7, 0x30
|
||||
|
||||
gUnknown_841EAE7:: @ 841EAE7
|
||||
|
||||
+11
-11
@@ -2,28 +2,28 @@
|
||||
|
||||
.align 2
|
||||
|
||||
gUnknown_8466D90:: @ 8466D90
|
||||
sWindowTemplate_PromptYesOrNo_Width28:: @ 8466D90
|
||||
.incbin "baserom.gba", 0x466D90, 0x8
|
||||
|
||||
gUnknown_8466D98:: @ 8466D98
|
||||
sWindowTemplate_PromptYesOrNo_Width20:: @ 8466D98
|
||||
.incbin "baserom.gba", 0x466D98, 0x8
|
||||
|
||||
gUnknown_8466DA0:: @ 8466DA0
|
||||
sMysteryGiftMenuWindowTemplate:: @ 8466DA0
|
||||
.incbin "baserom.gba", 0x466DA0, 0x8
|
||||
|
||||
sWindowTemplate_ThreeOptions:: @ 8466DA8
|
||||
.incbin "baserom.gba", 0x466DA8, 0x8
|
||||
|
||||
gUnknown_8466DB0:: @ 8466DB0
|
||||
sWindowTemplate_YesNoBox:: @ 8466DB0
|
||||
.incbin "baserom.gba", 0x466DB0, 0x8
|
||||
|
||||
gUnknown_8466DB8:: @ 8466DB8
|
||||
sWindowTemplate_7by8:: @ 8466DB8
|
||||
.incbin "baserom.gba", 0x466DB8, 0x8
|
||||
|
||||
gUnknown_8466DC0:: @ 8466DC0
|
||||
sWindowTemplate_7by6:: @ 8466DC0
|
||||
.incbin "baserom.gba", 0x466DC0, 0x8
|
||||
|
||||
gUnknown_8466DC8:: @ 8466DC8
|
||||
sWindowTemplate_7by4:: @ 8466DC8
|
||||
.incbin "baserom.gba", 0x466DC8, 0x8
|
||||
|
||||
sListMenuItems_CardsOrNews:: @ 8466DD0
|
||||
@@ -35,16 +35,16 @@ sListMenuItems_WirelessOrFriend:: @ 8466DE8
|
||||
sListMenuTemplate_ThreeOptions:: @ 8466E00
|
||||
.incbin "baserom.gba", 0x466E00, 0x78
|
||||
|
||||
gUnknown_8466E78:: @ 8466E78
|
||||
sListMenu_ReceiveSendToss:: @ 8466E78
|
||||
.incbin "baserom.gba", 0x466E78, 0x18
|
||||
|
||||
gUnknown_8466E90:: @ 8466E90
|
||||
sListMenu_ReceiveToss:: @ 8466E90
|
||||
.incbin "baserom.gba", 0x466E90, 0x18
|
||||
|
||||
gUnknown_8466EA8:: @ 8466EA8
|
||||
sListMenu_ReceiveSend:: @ 8466EA8
|
||||
.incbin "baserom.gba", 0x466EA8, 0x18
|
||||
|
||||
gUnknown_8466EC0:: @ 8466EC0
|
||||
sListMenu_Receive:: @ 8466EC0
|
||||
.incbin "baserom.gba", 0x466EC0, 0x28
|
||||
|
||||
sMG_Ereader_TextColor_1:: @ 8466EE8
|
||||
|
||||
+1
-1
@@ -393,7 +393,7 @@ gSpecials:: @ 815FD60
|
||||
def_special sub_812B220
|
||||
def_special sub_812B234
|
||||
def_special sub_812B248
|
||||
def_special sub_8143FC8
|
||||
def_special ValidateReceivedWonderNews
|
||||
def_special sub_810B810
|
||||
def_special sub_811999C
|
||||
def_special sp182_move_string
|
||||
|
||||
+8
-3
@@ -33,12 +33,13 @@ struct MEvent_Str_2
|
||||
u8 fill_00[0x40];
|
||||
};
|
||||
|
||||
struct MEventBuffer_3120_Sub * sub_8143D58(void);
|
||||
struct MEventBuffer_32E0_Sub * sav1_get_mevent_buffer_1(void);
|
||||
struct MEventBuffer_3120_Sub * GetSavedWonderNews(void);
|
||||
struct MEventBuffer_32E0_Sub * GetSavedWonderCard(void);
|
||||
struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void);
|
||||
struct MysteryEventStruct * sub_8143D94(void);
|
||||
bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src);
|
||||
bool32 sub_8143E1C(void);
|
||||
bool32 ValidateReceivedWonderCard(void);
|
||||
bool32 ValidateReceivedWonderNews(void);
|
||||
bool32 sub_8143EF4(const u8 * src);
|
||||
bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data);
|
||||
void sub_814410C(struct MEventBuffer_32E0_Sub * buffer);
|
||||
@@ -49,5 +50,9 @@ u32 sub_8144418(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void *
|
||||
u32 sub_8144434(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void * unused);
|
||||
bool32 sub_8144474(const struct MEventStruct_Unk1442CC * a0, const u16 * a1);
|
||||
u16 sub_81444B0(const struct MEventStruct_Unk1442CC * a0, u32 command);
|
||||
bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6);
|
||||
bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0);
|
||||
s32 FadeToWonderCardMenu(void);
|
||||
s32 FadeToWonderNewsMenu(void);
|
||||
|
||||
#endif //GUARD_MEVENT_H
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ u16 sub_8146CE8(void)
|
||||
struct MysteryEventStruct *r4 = sub_8143D94();
|
||||
u16 r5;
|
||||
|
||||
if (!sub_806E2BC() || !sub_8143E1C())
|
||||
if (!sub_806E2BC() || !ValidateReceivedWonderCard())
|
||||
return 0;
|
||||
|
||||
r5 = sub_8146E0C(r4);
|
||||
|
||||
+12
-12
@@ -490,12 +490,12 @@ void sub_8143D24(void)
|
||||
sub_80BDE28();
|
||||
}
|
||||
|
||||
struct MEventBuffer_3120_Sub * sub_8143D58(void)
|
||||
struct MEventBuffer_3120_Sub * GetSavedWonderNews(void)
|
||||
{
|
||||
return &gSaveBlock1Ptr->unk_3120.buffer_000.data;
|
||||
}
|
||||
|
||||
struct MEventBuffer_32E0_Sub * sav1_get_mevent_buffer_1(void)
|
||||
struct MEventBuffer_32E0_Sub * GetSavedWonderCard(void)
|
||||
{
|
||||
return &gSaveBlock1Ptr->unk_3120.buffer_1c0.data;
|
||||
}
|
||||
@@ -530,7 +530,7 @@ bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_8143E1C(void)
|
||||
bool32 ValidateReceivedWonderCard(void)
|
||||
{
|
||||
if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub)) != gSaveBlock1Ptr->unk_3120.buffer_000.crc)
|
||||
return FALSE;
|
||||
@@ -556,7 +556,7 @@ bool32 sub_8143E78(void)
|
||||
|
||||
void sub_8143E9C(void)
|
||||
{
|
||||
CpuFill32(0, sub_8143D58(), sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data));
|
||||
CpuFill32(0, GetSavedWonderNews(), sizeof(gSaveBlock1Ptr->unk_3120.buffer_000.data));
|
||||
gSaveBlock1Ptr->unk_3120.buffer_000.crc = 0;
|
||||
}
|
||||
|
||||
@@ -570,7 +570,7 @@ bool32 sub_8143EF4(const u8 * src)
|
||||
{
|
||||
const u8 * r5 = (const u8 *)&gSaveBlock1Ptr->unk_3120.buffer_000.data;
|
||||
u32 i;
|
||||
if (!sub_8143E1C())
|
||||
if (!ValidateReceivedWonderCard())
|
||||
return FALSE;
|
||||
for (i = 0; i < sizeof(struct MEventBuffer_3120_Sub); i++)
|
||||
{
|
||||
@@ -606,7 +606,7 @@ bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_8143FC8(void)
|
||||
bool32 ValidateReceivedWonderNews(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->unk_3120.buffer_1c0.crc != CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub)))
|
||||
return FALSE;
|
||||
@@ -654,7 +654,7 @@ void sub_81440B4(void)
|
||||
|
||||
u16 sub_81440E8(void)
|
||||
{
|
||||
if (sub_8143FC8())
|
||||
if (ValidateReceivedWonderNews())
|
||||
return gSaveBlock1Ptr->unk_3120.buffer_1c0.data.unk_00;
|
||||
return 0;
|
||||
}
|
||||
@@ -721,7 +721,7 @@ bool32 sub_81441F0(const u16 * data)
|
||||
s32 sub_8144218(void)
|
||||
{
|
||||
struct MEventBuffer_32E0_Sub * data;
|
||||
if (!sub_8143FC8())
|
||||
if (!ValidateReceivedWonderNews())
|
||||
return 0;
|
||||
data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data;
|
||||
if (data->unk_08_0 != 1)
|
||||
@@ -759,11 +759,11 @@ void sub_81442CC(struct MEventStruct_Unk1442CC * data)
|
||||
data->unk_08 = 1;
|
||||
data->unk_0C = 1;
|
||||
data->unk_10 = 1;
|
||||
if (sub_8143FC8())
|
||||
if (ValidateReceivedWonderNews())
|
||||
{
|
||||
data->unk_14 = sav1_get_mevent_buffer_1()->unk_00;
|
||||
data->unk_14 = GetSavedWonderCard()->unk_00;
|
||||
data->unk_20 = *sav1_get_mevent_buffer_2();
|
||||
data->unk_44 = sav1_get_mevent_buffer_1()->unk_09;
|
||||
data->unk_44 = GetSavedWonderCard()->unk_09;
|
||||
}
|
||||
else
|
||||
data->unk_14 = 0;
|
||||
@@ -945,7 +945,7 @@ bool32 sub_81446D0(u16 a0)
|
||||
gUnknown_203F3BC = FALSE;
|
||||
if (a0 == 0)
|
||||
return FALSE;
|
||||
if (!sub_8143FC8())
|
||||
if (!ValidateReceivedWonderNews())
|
||||
return FALSE;
|
||||
if (gSaveBlock1Ptr->unk_3120.buffer_1c0.data.unk_00 != a0)
|
||||
return FALSE;
|
||||
|
||||
@@ -126,7 +126,7 @@ const struct UnkStruct_8467FB8 gUnknown_8467FB8[8] = {
|
||||
{1, 0, 0, 7, gUnknown_8467A7C, gUnknown_8467CAC, gUnknown_846716C}
|
||||
};
|
||||
|
||||
bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6)
|
||||
bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6)
|
||||
{
|
||||
if (r5 == NULL || r6 == NULL)
|
||||
return FALSE;
|
||||
@@ -155,7 +155,7 @@ void sub_81456F0(void)
|
||||
}
|
||||
}
|
||||
|
||||
s32 sub_814571C(void)
|
||||
s32 FadeToWonderCardMenu(void)
|
||||
{
|
||||
if (gUnknown_203F3C8 == NULL)
|
||||
return -1;
|
||||
@@ -508,7 +508,7 @@ const struct UnkStruct_8467FB8 gUnknown_8468720[] = {
|
||||
{1, 0, 0, 0, gUnknown_84685B4, gUnknown_8468644, gUnknown_84680A0}
|
||||
};
|
||||
|
||||
bool32 sub_8146288(const struct MEventBuffer_3120_Sub * a0)
|
||||
bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0)
|
||||
{
|
||||
if (a0 == NULL)
|
||||
return FALSE;
|
||||
@@ -533,7 +533,7 @@ void sub_81462EC(void)
|
||||
}
|
||||
}
|
||||
|
||||
s32 sub_8146318(void)
|
||||
s32 FadeToWonderNewsMenu(void)
|
||||
{
|
||||
if (gUnknown_203F3CC == NULL)
|
||||
return -1;
|
||||
|
||||
+2
-2
@@ -526,12 +526,12 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr)
|
||||
break;
|
||||
case 26:
|
||||
AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 506);
|
||||
memcpy(svr->mevent_32e0, sav1_get_mevent_buffer_1(), 332);
|
||||
memcpy(svr->mevent_32e0, GetSavedWonderCard(), 332);
|
||||
sub_814410C(svr->mevent_32e0);
|
||||
break;
|
||||
case 27:
|
||||
AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 512);
|
||||
memcpy(svr->mevent_3120, sub_8143D58(), 444);
|
||||
memcpy(svr->mevent_3120, GetSavedWonderNews(), 444);
|
||||
break;
|
||||
case 28:
|
||||
AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 517);
|
||||
|
||||
+204
-7
@@ -17,15 +17,9 @@
|
||||
#include "list_menu.h"
|
||||
#include "link_rfu.h"
|
||||
#include "string_util.h"
|
||||
#include "mevent.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
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;
|
||||
|
||||
@@ -117,6 +111,24 @@ static const struct WindowTemplate sMainWindows[] = {
|
||||
}
|
||||
};
|
||||
|
||||
extern const struct WindowTemplate sWindowTemplate_PromptYesOrNo_Width28;
|
||||
extern const struct WindowTemplate sWindowTemplate_PromptYesOrNo_Width20;
|
||||
extern const struct WindowTemplate sMysteryGiftMenuWindowTemplate;
|
||||
extern const struct WindowTemplate sWindowTemplate_ThreeOptions;
|
||||
extern const struct WindowTemplate sWindowTemplate_YesNoBox;
|
||||
extern const struct WindowTemplate sWindowTemplate_7by8;
|
||||
extern const struct WindowTemplate sWindowTemplate_7by6;
|
||||
extern const struct WindowTemplate sWindowTemplate_7by4;
|
||||
extern const struct ListMenuItem sListMenuItems_CardsOrNews[];
|
||||
extern const struct ListMenuItem sListMenuItems_WirelessOrFriend[];
|
||||
extern const struct ListMenuTemplate sListMenuTemplate_ThreeOptions;
|
||||
extern const struct ListMenuTemplate sListMenu_ReceiveSendToss;
|
||||
extern const struct ListMenuTemplate sListMenu_ReceiveToss;
|
||||
extern const struct ListMenuTemplate sListMenu_ReceiveSend;
|
||||
extern const struct ListMenuTemplate sListMenu_Receive;
|
||||
extern const struct TextColor sMG_Ereader_TextColor_1;
|
||||
extern const struct TextColor sMG_Ereader_TextColor_2;
|
||||
|
||||
void vblankcb_mystery_gift_e_reader_run(void)
|
||||
{
|
||||
ProcessSpriteCopyRequests();
|
||||
@@ -236,6 +248,8 @@ extern const u8 gUnknown_841EDCA[];
|
||||
extern const u8 gUnknown_841EDBD[];
|
||||
extern const u8 gUnknown_841DE50[];
|
||||
extern const u8 gUnknown_841DE51[];
|
||||
extern const u8 gText_WhatToDoWithCards[];
|
||||
extern const u8 gText_WhatToDoWithNews[];
|
||||
|
||||
void PrintMysteryGiftOrEReaderTopMenu(bool8 mg_or_ereader, bool32 usePickOkCancel)
|
||||
{
|
||||
@@ -426,5 +440,188 @@ u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu)
|
||||
return response;
|
||||
}
|
||||
|
||||
s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, const u8 * str)
|
||||
{
|
||||
struct WindowTemplate windowTemplate;
|
||||
s8 input;
|
||||
|
||||
switch (*textState)
|
||||
{
|
||||
case 0:
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
if (yesNoBoxPlacement == 0)
|
||||
{
|
||||
*windowId = AddWindow(&sWindowTemplate_PromptYesOrNo_Width28);
|
||||
}
|
||||
else
|
||||
{
|
||||
*windowId = AddWindow(&sWindowTemplate_PromptYesOrNo_Width20);
|
||||
}
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParametrized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
CopyWindowToVram(*windowId, 2);
|
||||
PutWindowTilemap(*windowId);
|
||||
(*textState)++;
|
||||
break;
|
||||
case 1:
|
||||
windowTemplate = sWindowTemplate_YesNoBox;
|
||||
if (yesNoBoxPlacement == 0)
|
||||
{
|
||||
windowTemplate.tilemapTop = 9;
|
||||
}
|
||||
else
|
||||
{
|
||||
windowTemplate.tilemapTop = 15;
|
||||
}
|
||||
sub_810FF60(&windowTemplate, 2, 0, 2, 10, 14, 0);
|
||||
(*textState)++;
|
||||
break;
|
||||
case 2:
|
||||
input = ProcessMenuInputNoWrap_();
|
||||
if (input == -1 || input == 0 || input == 1)
|
||||
{
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
RemoveWindow(*windowId);
|
||||
return input;
|
||||
}
|
||||
break;
|
||||
case 0xFF:
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
RemoveWindow(*windowId);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return -2;
|
||||
}
|
||||
|
||||
s32 HandleMysteryGiftListMenu(u8 * textState, u16 * windowId, bool32 cannotToss, bool32 cannotSend)
|
||||
{
|
||||
struct WindowTemplate windowTemplate;
|
||||
s32 input;
|
||||
|
||||
switch (*textState)
|
||||
{
|
||||
case 0:
|
||||
if (cannotToss == 0)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_WhatToDoWithCards);
|
||||
}
|
||||
else
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_WhatToDoWithNews);
|
||||
}
|
||||
*windowId = AddWindow(&sMysteryGiftMenuWindowTemplate);
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParametrized2(*windowId, 2, 0, 2, 0, 2, &sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
CopyWindowToVram(*windowId, 2);
|
||||
PutWindowTilemap(*windowId);
|
||||
(*textState)++;
|
||||
break;
|
||||
case 1:
|
||||
windowTemplate = sWindowTemplate_YesNoBox;
|
||||
if (cannotSend)
|
||||
{
|
||||
if (cannotToss == 0)
|
||||
{
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_7by6, &sListMenu_ReceiveToss, 1, 0x00A, 0xE0);
|
||||
}
|
||||
else
|
||||
{
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_7by4, &sListMenu_Receive, 1, 0x00A, 0xE0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cannotToss == 0)
|
||||
{
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_7by8, &sListMenu_ReceiveSendToss, 1, 0x00A, 0xE0);
|
||||
}
|
||||
else
|
||||
{
|
||||
input = DoMysteryGiftListMenu(&sWindowTemplate_7by6, &sListMenu_ReceiveSend, 1, 0x00A, 0xE0);
|
||||
}
|
||||
}
|
||||
if (input != -1)
|
||||
{
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
RemoveWindow(*windowId);
|
||||
return input;
|
||||
}
|
||||
break;
|
||||
case 0xFF:
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
RemoveWindow(*windowId);
|
||||
return -2;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool32 ValidateCardOrNews(bool32 cardOrNews)
|
||||
{
|
||||
if (cardOrNews == 0)
|
||||
{
|
||||
return ValidateReceivedWonderNews();
|
||||
}
|
||||
else
|
||||
{
|
||||
return ValidateReceivedWonderCard();
|
||||
}
|
||||
}
|
||||
|
||||
bool32 HandleLoadWonderCardOrNews(u8 * state, bool32 cardOrNews)
|
||||
{
|
||||
s32 v0;
|
||||
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
if (cardOrNews == 0)
|
||||
{
|
||||
InitWonderCardResources(GetSavedWonderCard(), sav1_get_mevent_buffer_2());
|
||||
}
|
||||
else
|
||||
{
|
||||
InitWonderNewsResources(GetSavedWonderNews());
|
||||
}
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (cardOrNews == 0)
|
||||
{
|
||||
v0 = FadeToWonderCardMenu();
|
||||
check:
|
||||
if (v0 != 0)
|
||||
{
|
||||
goto done;
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
v0 = FadeToWonderNewsMenu();
|
||||
goto check;
|
||||
}
|
||||
done:
|
||||
*state = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ extern u8 gUnknown_203ADFA;
|
||||
|
||||
extern void sub_80CBDE8(void); // field_specials
|
||||
extern u16 CalcCRC16WithTable(u8 *data, int length); // util
|
||||
extern bool32 sub_8143FC8(void); // mevent
|
||||
extern bool32 ValidateReceivedWonderNews(void); // mevent
|
||||
|
||||
enum
|
||||
{
|
||||
@@ -525,7 +525,7 @@ bool32 sub_8069DFC(void)
|
||||
u8 *sub_8069E48(void)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
if (!sub_8143FC8())
|
||||
if (!ValidateReceivedWonderNews())
|
||||
return NULL;
|
||||
if (scriptData->magic != RAM_SCRIPT_MAGIC)
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user