through mevent_message

This commit is contained in:
PikalaxALT
2019-04-26 08:51:05 -04:00
parent 76a421f6f1
commit 7b4e2ec05b
9 changed files with 254 additions and 366 deletions
+18 -322
View File
@@ -5,310 +5,6 @@
.text
thumb_func_start sub_8142AB4
sub_8142AB4: @ 8142AB4
push {lr}
cmp r0, 0
bne _08142AC0
bl sub_8143F38
b _08142AC4
_08142AC0:
bl sub_8143DBC
_08142AC4:
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end sub_8142AB4
thumb_func_start sub_8142ACC
sub_8142ACC: @ 8142ACC
push {lr}
cmp r0, 0
bne _08142AE2
adds r0, r1, 0
bl sub_814593C
cmp r0, 0
beq _08142AEC
bl sub_81456F0
b _08142AF4
_08142AE2:
adds r0, r1, 0
bl sub_8146604
cmp r0, 0
bne _08142AF0
_08142AEC:
movs r0, 0
b _08142AF6
_08142AF0:
bl sub_81462EC
_08142AF4:
movs r0, 0x1
_08142AF6:
pop {r1}
bx r1
thumb_func_end sub_8142ACC
thumb_func_start sub_8142AFC
sub_8142AFC: @ 8142AFC
push {lr}
cmp r2, 0
beq _08142B0C
ldr r3, _08142B08 @ =gUnknown_841ECD3
b _08142B0E
.align 2, 0
_08142B08: .4byte gUnknown_841ECD3
_08142B0C:
ldr r3, _08142B1C @ =gUnknown_841EC99
_08142B0E:
movs r2, 0x1
bl mevent_message_print_and_prompt_yes_no
lsls r0, 24
asrs r0, 24
pop {r1}
bx r1
.align 2, 0
_08142B1C: .4byte gUnknown_841EC99
thumb_func_end sub_8142AFC
thumb_func_start mevent_message_was_thrown_away
mevent_message_was_thrown_away: @ 8142B20
push {lr}
cmp r1, 0
beq _08142B30
ldr r1, _08142B2C @ =gUnknown_841ED9C
b _08142B32
.align 2, 0
_08142B2C: .4byte gUnknown_841ED9C
_08142B30:
ldr r1, _08142B3C @ =gUnknown_841ED7B
_08142B32:
bl MG_PrintTextOnWindow1AndWaitButton
pop {r1}
bx r1
.align 2, 0
_08142B3C: .4byte gUnknown_841ED7B
thumb_func_end mevent_message_was_thrown_away
thumb_func_start mevent_save_game
mevent_save_game: @ 8142B40
push {r4,lr}
adds r4, r0, 0
ldrb r0, [r4]
cmp r0, 0x4
bhi _08142BB0
lsls r0, 2
ldr r1, _08142B54 @ =_08142B58
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08142B54: .4byte _08142B58
.align 2, 0
_08142B58:
.4byte _08142B6C
.4byte _08142B78
.4byte _08142B80
.4byte _08142B8C
.4byte _08142BA4
_08142B6C:
ldr r0, _08142B74 @ =gUnknown_841ED2F
bl AddTextPrinterToWindow1
b _08142B98
.align 2, 0
_08142B74: .4byte gUnknown_841ED2F
_08142B78:
movs r0, 0
bl TrySavingData
b _08142B98
_08142B80:
ldr r0, _08142B88 @ =gUnknown_841ED50
bl AddTextPrinterToWindow1
b _08142B98
.align 2, 0
_08142B88: .4byte gUnknown_841ED50
_08142B8C:
ldr r0, _08142BA0 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x3
ands r0, r1
cmp r0, 0
beq _08142BB0
_08142B98:
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
b _08142BB0
.align 2, 0
_08142BA0: .4byte gMain
_08142BA4:
movs r0, 0
strb r0, [r4]
bl ClearTextWindow
movs r0, 0x1
b _08142BB2
_08142BB0:
movs r0, 0
_08142BB2:
pop {r4}
pop {r1}
bx r1
thumb_func_end mevent_save_game
thumb_func_start mevent_message
mevent_message: @ 8142BB8
push {r4-r6,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r6, r1, 24
lsls r2, 24
lsrs r5, r2, 24
movs r2, 0
str r2, [r4]
cmp r3, 0xE
bls _08142BCE
b _08142CE0
_08142BCE:
lsls r0, r3, 2
ldr r1, _08142BD8 @ =_08142BDC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08142BD8: .4byte _08142BDC
.align 2, 0
_08142BDC:
.4byte _08142C18
.4byte _08142C24
.4byte _08142C30
.4byte _08142C48
.4byte _08142C60
.4byte _08142C6C
.4byte _08142C78
.4byte _08142C84
.4byte _08142C90
.4byte _08142C9C
.4byte _08142CA8
.4byte _08142CC0
.4byte _08142CCC
.4byte _08142CD8
.4byte _08142CDC
_08142C18:
movs r0, 0
str r0, [r4]
ldr r2, _08142C20 @ =gUnknown_841EA6F
b _08142CE0
.align 2, 0
_08142C20: .4byte gUnknown_841EA6F
_08142C24:
movs r0, 0
str r0, [r4]
ldr r2, _08142C2C @ =gUnknown_841E9D3
b _08142CE0
.align 2, 0
_08142C2C: .4byte gUnknown_841E9D3
_08142C30:
movs r0, 0x1
str r0, [r4]
ldr r2, _08142C40 @ =gUnknown_841E866
cmp r5, 0
bne _08142CE0
ldr r2, _08142C44 @ =gUnknown_841E8BD
b _08142CE0
.align 2, 0
_08142C40: .4byte gUnknown_841E866
_08142C44: .4byte gUnknown_841E8BD
_08142C48:
movs r0, 0x1
str r0, [r4]
ldr r2, _08142C58 @ =gUnknown_841E88F
cmp r5, 0
bne _08142CE0
ldr r2, _08142C5C @ =gUnknown_841E8E2
b _08142CE0
.align 2, 0
_08142C58: .4byte gUnknown_841E88F
_08142C5C: .4byte gUnknown_841E8E2
_08142C60:
movs r0, 0x1
str r0, [r4]
ldr r2, _08142C68 @ =gUnknown_841E90C
b _08142CE0
.align 2, 0
_08142C68: .4byte gUnknown_841E90C
_08142C6C:
movs r0, 0
str r0, [r4]
ldr r2, _08142C74 @ =gUnknown_841E946
b _08142CE0
.align 2, 0
_08142C74: .4byte gUnknown_841E946
_08142C78:
movs r0, 0
str r0, [r4]
ldr r2, _08142C80 @ =gUnknown_841E98F
b _08142CE0
.align 2, 0
_08142C80: .4byte gUnknown_841E98F
_08142C84:
movs r0, 0
str r0, [r4]
ldr r2, _08142C8C @ =gUnknown_841E968
b _08142CE0
.align 2, 0
_08142C8C: .4byte gUnknown_841E968
_08142C90:
movs r0, 0
str r0, [r4]
ldr r2, _08142C98 @ =gUnknown_841E9AB
b _08142CE0
.align 2, 0
_08142C98: .4byte gUnknown_841E9AB
_08142C9C:
movs r0, 0
str r0, [r4]
ldr r2, _08142CA4 @ =gUnknown_841E7D1
b _08142CE0
.align 2, 0
_08142CA4: .4byte gUnknown_841E7D1
_08142CA8:
movs r0, 0
str r0, [r4]
ldr r2, _08142CB8 @ =gUnknown_841EA3F
cmp r6, 0
bne _08142CE0
ldr r2, _08142CBC @ =gUnknown_841EA0D
b _08142CE0
.align 2, 0
_08142CB8: .4byte gUnknown_841EA3F
_08142CBC: .4byte gUnknown_841EA0D
_08142CC0:
movs r0, 0
str r0, [r4]
ldr r2, _08142CC8 @ =gUnknown_841E7BC
b _08142CE0
.align 2, 0
_08142CC8: .4byte gUnknown_841E7BC
_08142CCC:
movs r0, 0x1
str r0, [r4]
ldr r2, _08142CD4 @ =gUnknown_841E92B
b _08142CE0
.align 2, 0
_08142CD4: .4byte gUnknown_841E92B
_08142CD8:
movs r0, 0x1
b _08142CDE
_08142CDC:
movs r0, 0
_08142CDE:
str r0, [r4]
_08142CE0:
adds r0, r2, 0
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end mevent_message
thumb_func_start mevent_08142CE8
mevent_08142CE8: @ 8142CE8
push {r4-r6,lr}
@@ -372,7 +68,7 @@ _08142D48:
mevent_message_stamp_card_etc_send_status: @ 8142D50
push {r4,lr}
adds r3, r0, 0
ldr r1, _08142D6C @ =gUnknown_841E7BC
ldr r1, _08142D6C @ =gText_CommunicationError
movs r0, 0
str r0, [r3]
adds r4, r1, 0
@@ -384,7 +80,7 @@ mevent_message_stamp_card_etc_send_status: @ 8142D50
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08142D6C: .4byte gUnknown_841E7BC
_08142D6C: .4byte gText_CommunicationError
_08142D70: .4byte _08142D74
.align 2, 0
_08142D74:
@@ -404,15 +100,15 @@ _08142D74:
.4byte _08142E08
.4byte _08142E10
_08142DB0:
ldr r1, _08142DB4 @ =gUnknown_841EA6F
ldr r1, _08142DB4 @ =gText_NothingSentOver
b _08142E12
.align 2, 0
_08142DB4: .4byte gUnknown_841EA6F
_08142DB4: .4byte gText_NothingSentOver
_08142DB8:
ldr r1, _08142DBC @ =gUnknown_841E9D3
ldr r1, _08142DBC @ =gText_RecordUploadedViaWireless
b _08142E12
.align 2, 0
_08142DBC: .4byte gUnknown_841E9D3
_08142DBC: .4byte gText_RecordUploadedViaWireless
_08142DC0:
ldr r1, _08142DC4 @ =gUnknown_841EB20
b _08142DCA
@@ -447,10 +143,10 @@ _08142DEC:
.align 2, 0
_08142DF0: .4byte gUnknown_841EBDE
_08142DF4:
ldr r1, _08142DF8 @ =gUnknown_841E9AB
ldr r1, _08142DF8 @ =gText_NoMoreRoomForStamps
b _08142E12
.align 2, 0
_08142DF8: .4byte gUnknown_841E9AB
_08142DF8: .4byte gText_NoMoreRoomForStamps
_08142DFC:
ldr r1, _08142E00 @ =gUnknown_841EC40
b _08142E12
@@ -629,11 +325,11 @@ _08142F6A:
_08142F8A:
movs r0, 0
strb r0, [r5, 0xC]
bl ValidateReceivedWonderNews
bl ValidateReceivedWonderCard
b _08142F9A
_08142F94:
strb r1, [r5, 0xC]
bl ValidateReceivedWonderCard
bl ValidateReceivedWonderNews
_08142F9A:
cmp r0, 0x1
bne _08142FA0
@@ -1163,7 +859,7 @@ _081433A2:
adds r0, 0x9
ldrb r2, [r5, 0xC]
adds r1, r5, 0
bl sub_8142AFC
bl mevent_message_prompt_discard
adds r1, r0, 0
cmp r1, 0
beq _081433BE
@@ -1214,13 +910,13 @@ _08143402:
_08143408:
ldrb r0, [r5, 0xC]
movs r1, 0x1
bl sub_8142ACC
bl TearDownCardOrNews_ReturnToTopMenu
cmp r0, 0
bne _08143416
b _081435C6
_08143416:
ldrb r0, [r5, 0xC]
bl sub_8142AB4
bl DestroyNewsOrCard
movs r0, 0x19
strb r0, [r5, 0x8]
b _081435C6
@@ -1244,7 +940,7 @@ _08143436:
_08143442:
ldrb r0, [r5, 0xC]
movs r1, 0
bl sub_8142ACC
bl TearDownCardOrNews_ReturnToTopMenu
cmp r0, 0
bne _08143450
b _081435C6
@@ -1255,7 +951,7 @@ _08143450:
_08143456:
ldrb r0, [r5, 0xC]
movs r1, 0x1
bl sub_8142ACC
bl TearDownCardOrNews_ReturnToTopMenu
cmp r0, 0
bne _08143464
b _081435C6
@@ -1266,7 +962,7 @@ _08143464:
_0814346A:
ldrb r0, [r5, 0xC]
movs r1, 0x1
bl sub_8142ACC
bl TearDownCardOrNews_ReturnToTopMenu
cmp r0, 0
bne _08143478
b _081435C6
@@ -1404,7 +1100,7 @@ _08143588: .4byte 0x00030100
_0814358C:
adds r0, r5, 0
adds r0, 0x9
ldr r1, _081435A8 @ =gUnknown_841E7BC
ldr r1, _081435A8 @ =gText_CommunicationError
bl MG_PrintTextOnWindow1AndWaitButton
_08143596:
cmp r0, 0
@@ -1417,7 +1113,7 @@ _0814359E:
bl PrintMysteryGiftOrEReaderTopMenu
b _081435C6
.align 2, 0
_081435A8: .4byte gUnknown_841E7BC
_081435A8: .4byte gText_CommunicationError
_081435AC:
bl sub_80098B8
bl sub_812B484
+22 -22
View File
@@ -2464,10 +2464,10 @@ gUnknown_841E794:: @ 841E794
gUnknown_841E7A3:: @ 841E7A3
.incbin "baserom.gba", 0x41E7A3, 0x19
gUnknown_841E7BC:: @ 841E7BC
gText_CommunicationError:: @ 841E7BC
.incbin "baserom.gba", 0x41E7BC, 0x15
gUnknown_841E7D1:: @ 841E7D1
gText_CommunicationCanceled:: @ 841E7D1
.incbin "baserom.gba", 0x41E7D1, 0x21
gUnknown_841E7F2:: @ 841E7F2
@@ -2476,46 +2476,46 @@ gUnknown_841E7F2:: @ 841E7F2
gUnknown_841E823:: @ 841E823
.incbin "baserom.gba", 0x41E823, 0x43
gUnknown_841E866:: @ 841E866
gText_WonderCardReceivedFrom:: @ 841E866
.incbin "baserom.gba", 0x41E866, 0x29
gUnknown_841E88F:: @ 841E88F
gText_WonderNewsReceivedFrom:: @ 841E88F
.incbin "baserom.gba", 0x41E88F, 0x2E
gUnknown_841E8BD:: @ 841E8BD
gText_WonderCardReceived:: @ 841E8BD
.incbin "baserom.gba", 0x41E8BD, 0x25
gUnknown_841E8E2:: @ 841E8E2
gText_WonderNewsReceived:: @ 841E8E2
.incbin "baserom.gba", 0x41E8E2, 0x2A
gUnknown_841E90C:: @ 841E90C
gText_NewStampReceived:: @ 841E90C
.incbin "baserom.gba", 0x41E90C, 0x1F
gUnknown_841E92B:: @ 841E92B
gText_NewTrainerReceived:: @ 841E92B
.incbin "baserom.gba", 0x41E92B, 0x1B
gUnknown_841E946:: @ 841E946
gText_AlreadyHadCard:: @ 841E946
.incbin "baserom.gba", 0x41E946, 0x22
gUnknown_841E968:: @ 841E968
gText_AlreadyHadNews:: @ 841E968
.incbin "baserom.gba", 0x41E968, 0x27
gUnknown_841E98F:: @ 841E98F
gText_AlreadyHadStamp:: @ 841E98F
.incbin "baserom.gba", 0x41E98F, 0x1C
gUnknown_841E9AB:: @ 841E9AB
gText_NoMoreRoomForStamps:: @ 841E9AB
.incbin "baserom.gba", 0x41E9AB, 0x28
gUnknown_841E9D3:: @ 841E9D3
gText_RecordUploadedViaWireless:: @ 841E9D3
.incbin "baserom.gba", 0x41E9D3, 0x3A
gUnknown_841EA0D:: @ 841EA0D
gText_CantAcceptCardFromTrainer:: @ 841EA0D
.incbin "baserom.gba", 0x41EA0D, 0x32
gUnknown_841EA3F:: @ 841EA3F
gText_CantAcceptNewsFromTrainer:: @ 841EA3F
.incbin "baserom.gba", 0x41EA3F, 0x30
gUnknown_841EA6F:: @ 841EA6F
gText_NothingSentOver:: @ 841EA6F
.incbin "baserom.gba", 0x41EA6F, 0x17
gText_WhatToDoWithCards:: @ 841EA86
@@ -2557,25 +2557,25 @@ gUnknown_841EC40:: @ 841EC40
gUnknown_841EC6A:: @ 841EC6A
.incbin "baserom.gba", 0x41EC6A, 0x2F
gUnknown_841EC99:: @ 841EC99
gText_IfThrowAwayCardEventWontHappen:: @ 841EC99
.incbin "baserom.gba", 0x41EC99, 0x3A
gUnknown_841ECD3:: @ 841ECD3
gText_OkayToDiscardNews:: @ 841ECD3
.incbin "baserom.gba", 0x41ECD3, 0x26
gUnknown_841ECF9:: @ 841ECF9
.incbin "baserom.gba", 0x41ECF9, 0x36
gUnknown_841ED2F:: @ 841ED2F
gText_DataWillBeSaved:: @ 841ED2F
.incbin "baserom.gba", 0x41ED2F, 0x21
gUnknown_841ED50:: @ 841ED50
gText_SaveCompletedPressA:: @ 841ED50
.incbin "baserom.gba", 0x41ED50, 0x2B
gUnknown_841ED7B:: @ 841ED7B
gText_WonderCardThrownAway:: @ 841ED7B
.incbin "baserom.gba", 0x41ED7B, 0x21
gUnknown_841ED9C:: @ 841ED9C
gText_WonderNewsThrownAway:: @ 841ED9C
.incbin "baserom.gba", 0x41ED9C, 0x21
gText_MysteryGift:: @ 841EDBD
+1 -1
View File
@@ -393,7 +393,7 @@ gSpecials:: @ 815FD60
def_special sub_812B220
def_special sub_812B234
def_special sub_812B248
def_special ValidateReceivedWonderNews
def_special ValidateReceivedWonderCard
def_special sub_810B810
def_special sub_811999C
def_special sp182_move_string
+7 -1
View File
@@ -38,8 +38,8 @@ 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 ValidateReceivedWonderCard(void);
bool32 ValidateReceivedWonderNews(void);
bool32 ValidateReceivedWonderCard(void);
bool32 sub_8143EF4(const u8 * src);
bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data);
void sub_814410C(struct MEventBuffer_32E0_Sub * buffer);
@@ -54,5 +54,11 @@ bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventB
bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0);
s32 FadeToWonderCardMenu(void);
s32 FadeToWonderNewsMenu(void);
void DestroyWonderCard(void);
void DestroyWonderNews(void);
void DestroyWonderCardResources(void);
void DestroyWonderNewsResources(void);
s32 FadeOutFromWonderCard(bool32 flag);
s32 FadeOutFromWonderNews(bool32 flag);
#endif //GUARD_MEVENT_H
+1 -1
View File
@@ -59,7 +59,7 @@ u16 sub_8146CE8(void)
struct MysteryEventStruct *r4 = sub_8143D94();
u16 r5;
if (!sub_806E2BC() || !ValidateReceivedWonderCard())
if (!sub_806E2BC() || !ValidateReceivedWonderNews())
return 0;
r5 = sub_8146E0C(r4);
+10 -10
View File
@@ -515,7 +515,7 @@ u16 * sub_8143DA8(void)
return gSaveBlock1Ptr->unk_3120.unk_338;
}
void sub_8143DBC(void)
void DestroyWonderNews(void)
{
sub_8143E9C();
}
@@ -530,7 +530,7 @@ bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src)
return TRUE;
}
bool32 ValidateReceivedWonderCard(void)
bool32 ValidateReceivedWonderNews(void)
{
if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub)) != gSaveBlock1Ptr->unk_3120.buffer_000.crc)
return FALSE;
@@ -570,7 +570,7 @@ bool32 sub_8143EF4(const u8 * src)
{
const u8 * r5 = (const u8 *)&gSaveBlock1Ptr->unk_3120.buffer_000.data;
u32 i;
if (!ValidateReceivedWonderCard())
if (!ValidateReceivedWonderNews())
return FALSE;
for (i = 0; i < sizeof(struct MEventBuffer_3120_Sub); i++)
{
@@ -580,7 +580,7 @@ bool32 sub_8143EF4(const u8 * src)
return TRUE;
}
void sub_8143F38(void)
void DestroyWonderCard(void)
{
sub_814407C();
sub_81440B4();
@@ -597,7 +597,7 @@ bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data)
struct MEventBuffer_32E0_Sub * r1;
if (!sub_8144018(data))
return FALSE;
sub_8143F38();
DestroyWonderCard();
memcpy(&gSaveBlock1Ptr->unk_3120.buffer_1c0.data, data, sizeof(struct MEventBuffer_32E0_Sub));
gSaveBlock1Ptr->unk_3120.buffer_1c0.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_3120.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub));
r2 = &gSaveBlock1Ptr->unk_3120.buffer_310.data;
@@ -606,7 +606,7 @@ bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data)
return TRUE;
}
bool32 ValidateReceivedWonderNews(void)
bool32 ValidateReceivedWonderCard(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 (ValidateReceivedWonderNews())
if (ValidateReceivedWonderCard())
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 (!ValidateReceivedWonderNews())
if (!ValidateReceivedWonderCard())
return 0;
data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data;
if (data->unk_08_0 != 1)
@@ -759,7 +759,7 @@ void sub_81442CC(struct MEventStruct_Unk1442CC * data)
data->unk_08 = 1;
data->unk_0C = 1;
data->unk_10 = 1;
if (ValidateReceivedWonderNews())
if (ValidateReceivedWonderCard())
{
data->unk_14 = GetSavedWonderCard()->unk_00;
data->unk_20 = *sav1_get_mevent_buffer_2();
@@ -945,7 +945,7 @@ bool32 sub_81446D0(u16 a0)
gUnknown_203F3BC = FALSE;
if (a0 == 0)
return FALSE;
if (!ValidateReceivedWonderNews())
if (!ValidateReceivedWonderCard())
return FALSE;
if (gSaveBlock1Ptr->unk_3120.buffer_1c0.data.unk_00 != a0)
return FALSE;
+4 -4
View File
@@ -145,7 +145,7 @@ bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventB
return TRUE;
}
void sub_81456F0(void)
void DestroyWonderCardResources(void)
{
if (gUnknown_203F3C8 != NULL)
{
@@ -219,7 +219,7 @@ s32 FadeToWonderCardMenu(void)
return 0;
}
s32 sub_814593C(bool32 flag)
s32 FadeOutFromWonderCard(bool32 flag)
{
if (gUnknown_203F3C8 == NULL)
return -1;
@@ -523,7 +523,7 @@ bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0)
return TRUE;
}
void sub_81462EC(void)
void DestroyWonderNewsResources(void)
{
if (gUnknown_203F3CC != NULL)
{
@@ -608,7 +608,7 @@ s32 FadeToWonderNewsMenu(void)
return 0;
}
s32 sub_8146604(bool32 flag)
s32 FadeOutFromWonderNews(bool32 flag)
{
if (gUnknown_203F3CC == NULL)
return -1;
+189 -3
View File
@@ -18,6 +18,7 @@
#include "link_rfu.h"
#include "string_util.h"
#include "mevent.h"
#include "save.h"
#include "constants/songs.h"
EWRAM_DATA u8 sDownArrowCounterAndYCoordIdx[8] = {};
@@ -33,7 +34,12 @@ extern const u8 gJPText_MysteryGift[];
extern const u8 gJPText_DecideStop[];
extern const u8 gText_WhatToDoWithCards[];
extern const u8 gText_WhatToDoWithNews[];
extern const u8 gText_OkayToDiscardNews[];
extern const u8 gText_IfThrowAwayCardEventWontHappen[];
extern const u8 gText_WonderCardThrownAway[];
extern const u8 gText_WonderNewsThrownAway[];
extern const u8 gText_DataWillBeSaved[];
extern const u8 gText_SaveCompletedPressA[];
extern const u8 gText_WonderCards[];
extern const u8 gText_WonderNews[];
extern const u8 gText_Exit3[];
@@ -47,6 +53,22 @@ extern const u8 gText_VarietyOfEventsImportedWireless[];
extern const u8 gText_WonderCardsInPossession[];
extern const u8 gText_ReadNewsThatArrived[];
extern const u8 gText_ReturnToTitle[];
extern const u8 gText_NothingSentOver[];
extern const u8 gText_RecordUploadedViaWireless[];
extern const u8 gText_WonderCardReceived[];
extern const u8 gText_WonderCardReceivedFrom[];
extern const u8 gText_WonderNewsReceived[];
extern const u8 gText_WonderNewsReceivedFrom[];
extern const u8 gText_NewStampReceived[];
extern const u8 gText_AlreadyHadCard[];
extern const u8 gText_AlreadyHadStamp[];
extern const u8 gText_AlreadyHadNews[];
extern const u8 gText_NoMoreRoomForStamps[];
extern const u8 gText_CommunicationCanceled[];
extern const u8 gText_CantAcceptCardFromTrainer[];
extern const u8 gText_CantAcceptNewsFromTrainer[];
extern const u8 gText_CommunicationError[];
extern const u8 gText_NewTrainerReceived[];
const u16 gUnkTextboxBorderPal[] = INCBIN_U16("graphics/interface/unk_textbox_border.gbapal");
const u32 gUnkTextboxBorderGfx[] = INCBIN_U32("graphics/interface/unk_textbox_border.4bpp.lz");
@@ -806,11 +828,11 @@ bool32 ValidateCardOrNews(bool32 cardOrNews)
{
if (cardOrNews == 0)
{
return ValidateReceivedWonderNews();
return ValidateReceivedWonderCard();
}
else
{
return ValidateReceivedWonderCard();
return ValidateReceivedWonderNews();
}
}
@@ -855,4 +877,168 @@ bool32 HandleLoadWonderCardOrNews(u8 * state, bool32 cardOrNews)
return FALSE;
}
bool32 DestroyNewsOrCard(bool32 cardOrNews)
{
if (cardOrNews == 0)
{
DestroyWonderCard();
}
else
{
DestroyWonderNews();
}
return TRUE;
}
bool32 TearDownCardOrNews_ReturnToTopMenu(bool32 cardOrNews, bool32 arg1)
{
if (cardOrNews == 0)
{
if (FadeOutFromWonderCard(arg1) != 0)
{
DestroyWonderCardResources();
return TRUE;
}
else
{
return FALSE;
}
}
else
{
if (FadeOutFromWonderNews(arg1) != 0)
{
DestroyWonderNewsResources();
return TRUE;
}
else
{
return FALSE;
}
}
}
s32 mevent_message_prompt_discard(u8 * textState, u16 * windowId, bool32 cardOrNews)
{
if (cardOrNews == 0)
{
return mevent_message_print_and_prompt_yes_no(textState, windowId, TRUE, gText_IfThrowAwayCardEventWontHappen);
}
else
{
return mevent_message_print_and_prompt_yes_no(textState, windowId, TRUE, gText_OkayToDiscardNews);
}
}
bool32 mevent_message_was_thrown_away(u8 * textState, bool32 cardOrNews)
{
if (cardOrNews == 0)
{
return MG_PrintTextOnWindow1AndWaitButton(textState, gText_WonderCardThrownAway);
}
else
{
return MG_PrintTextOnWindow1AndWaitButton(textState, gText_WonderNewsThrownAway);
}
}
bool32 mevent_save_game(u8 * state)
{
switch (*state)
{
case 0:
AddTextPrinterToWindow1(gText_DataWillBeSaved);
(*state)++;
break;
case 1:
TrySavingData(0);
(*state)++;
break;
case 2:
AddTextPrinterToWindow1(gText_SaveCompletedPressA);
(*state)++;
break;
case 3:
if (JOY_NEW(A_BUTTON | B_BUTTON))
{
(*state)++;
}
break;
case 4:
*state = 0;
ClearTextWindow();
return TRUE;
}
return FALSE;
}
const u8 * mevent_message(u32 * flag_p, u8 cardOrNews, u8 cardOrNewsSource, u32 msgId)
{
const u8 * msg = NULL;
*flag_p = 0;
switch (msgId)
{
case 0:
*flag_p = 0;
msg = gText_NothingSentOver;
break;
case 1:
*flag_p = 0;
msg = gText_RecordUploadedViaWireless;
break;
case 2:
*flag_p = 1;
msg = cardOrNewsSource == 0 ? gText_WonderCardReceived : gText_WonderCardReceivedFrom;
break;
case 3:
*flag_p = 1;
msg = cardOrNewsSource == 0 ? gText_WonderNewsReceived : gText_WonderNewsReceivedFrom;
break;
case 4:
*flag_p = 1;
msg = gText_NewStampReceived;
break;
case 5:
*flag_p = 0;
msg = gText_AlreadyHadCard;
break;
case 6:
*flag_p = 0;
msg = gText_AlreadyHadStamp;
break;
case 7:
*flag_p = 0;
msg = gText_AlreadyHadNews;
break;
case 8:
*flag_p = 0;
msg = gText_NoMoreRoomForStamps;
break;
case 9:
*flag_p = 0;
msg = gText_CommunicationCanceled;
break;
case 10:
*flag_p = 0;
msg = cardOrNews == 0 ? gText_CantAcceptCardFromTrainer : gText_CantAcceptNewsFromTrainer;
break;
case 11:
*flag_p = 0;
msg = gText_CommunicationError;
break;
case 12:
*flag_p = 1;
msg = gText_NewTrainerReceived;
break;
case 13:
*flag_p = 1;
break;
case 14:
*flag_p = 0;
break;
}
return msg;
}
+2 -2
View File
@@ -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 ValidateReceivedWonderNews(void); // mevent
extern bool32 ValidateReceivedWonderCard(void); // mevent
enum
{
@@ -525,7 +525,7 @@ bool32 sub_8069DFC(void)
u8 *sub_8069E48(void)
{
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
if (!ValidateReceivedWonderNews())
if (!ValidateReceivedWonderCard())
return NULL;
if (scriptData->magic != RAM_SCRIPT_MAGIC)
return NULL;