mirror of
https://github.com/pret/pmd-red.git
synced 2025-02-26 16:15:38 +00:00
move some more menu items over and figure out sub_8035CF4
This commit is contained in:
parent
78d49f5ca6
commit
1c92acbef7
@ -520,358 +520,3 @@ gUnknown_80E6EAC: @ 80E6EAC
|
||||
|
||||
.asciz "pksdir0"
|
||||
|
||||
.global gUnknown_80E6F20
|
||||
gUnknown_80E6F20: @ 80E6F20
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E6F38
|
||||
gUnknown_80E6F38: @ 80E6F38
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x05, 0x00, 0x08, 0x00
|
||||
.byte 0x15, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E6F50
|
||||
gUnknown_80E6F50: @ 80E6F50
|
||||
.4byte sUnknown_80E6FAC, 0x4
|
||||
.4byte sUnknown_80E6F90, 0x4
|
||||
.4byte sUnknown_80E6F70, 0x4
|
||||
.4byte 0, 0x2
|
||||
|
||||
sUnknown_80E6F70:
|
||||
.string "#+Don~27t turn off the power.\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E6F90:
|
||||
.string "#+Saving your adventure!\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E6FAC:
|
||||
.string "#+#C2Beware!#R \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E6FBC
|
||||
gUnknown_80E6FBC: @ 80E6FBC
|
||||
.4byte sUnknown_80E7008, 0x4
|
||||
.4byte sUnknown_80E6FF0, 0x4
|
||||
.4byte sUnknown_80E6FDC, 0x4
|
||||
.4byte 0, 0x2
|
||||
|
||||
sUnknown_80E6FDC:
|
||||
.string "#+has been saved.\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E6FF0:
|
||||
.string "#+Your adventure so far\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E7008:
|
||||
.string "#+#CGSuccess!#R \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E701C
|
||||
gUnknown_80E701C: @ 80E701C
|
||||
.4byte sUnknown_80E7078, 0x4
|
||||
.4byte sUnknown_80E7050, 0x4
|
||||
.4byte sUnknown_80E703C, 0x4
|
||||
.4byte 0, 0x2
|
||||
|
||||
sUnknown_80E703C:
|
||||
.string "#+Please try again.\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E7050:
|
||||
.string "#+Your adventure could not be saved.\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E7078:
|
||||
.string "#+#C2Save failed!#R \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7090
|
||||
gUnknown_80E7090: @ 80E7090
|
||||
.4byte sUnknown_80E6FAC, 0x4
|
||||
.4byte DeletingAdventure_80E70B0, 0x4
|
||||
.4byte sUnknown_80E6F70, 0x4
|
||||
.4byte 0, 0x2
|
||||
|
||||
DeletingAdventure_80E70B0:
|
||||
.string "{CENTER_ALIGN}Deleting your adventure!\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E70CC
|
||||
gUnknown_80E70CC: @ 80E70CC
|
||||
.4byte sUnknown_80E7008, 0x4
|
||||
.4byte AdventureDeleted_80E70F0, 0x4
|
||||
.4byte Data_80E70EC, 0x4
|
||||
.4byte 0, 0x2
|
||||
|
||||
Data_80E70EC:
|
||||
.string " \0"
|
||||
.align 2, 0
|
||||
|
||||
AdventureDeleted_80E70F0:
|
||||
.string "{CENTER_ALIGN}Your adventure has been deleted.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7114
|
||||
gUnknown_80E7114: @ 80E7114
|
||||
.4byte sUnknown_80E715C, 0x4
|
||||
.4byte sUnknown_80E7134, 0x4
|
||||
.4byte sUnknown_80E703C, 0x4
|
||||
.4byte 0, 0x2
|
||||
|
||||
sUnknown_80E7134:
|
||||
.string "#+Your adventure could not be deleted.\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E715C:
|
||||
.string "#+#C2Deletion failed!#R \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7178
|
||||
gUnknown_80E7178: @ 80E7178
|
||||
.string "#+The data could not be written.\n"
|
||||
.string "#+Please turn off the power and remove\n"
|
||||
.string "#+and reinsert the DS Card.\0"
|
||||
.align 2, 0
|
||||
|
||||
.string "pksdir0\0"
|
||||
|
||||
.global gUnknown_80E71E4
|
||||
gUnknown_80E71E4: @ 80E71E4
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E71FC
|
||||
gUnknown_80E71FC: @ 80E71FC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7214
|
||||
gUnknown_80E7214: @ 80E7214
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte IncorrectPassword_80E7250, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
CheckAgain_80E7234:
|
||||
.string "{CENTER_ALIGN}Please check it again.\0"
|
||||
.align 2, 0
|
||||
|
||||
IncorrectPassword_80E7250:
|
||||
.string "{CENTER_ALIGN}Incorrect password!\0"
|
||||
.align 2, 0
|
||||
|
||||
Error_80E7268:
|
||||
.string "{CENTER_ALIGN}{COLOR_1 RED}Error!{END_COLOR_TEXT_1} \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7278
|
||||
gUnknown_80E7278: @ 80E7278
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7290
|
||||
gUnknown_80E7290: @ 80E7290
|
||||
.4byte Success_80E72D8, 0xC
|
||||
.4byte PasswordAccept_80E72B4, 0xC
|
||||
.4byte DATA_80E72B0, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
DATA_80E72B0:
|
||||
.string " \0"
|
||||
.align 2, 0
|
||||
|
||||
PasswordAccept_80E72B4:
|
||||
.string "{CENTER_ALIGN}The password has been accepted.\0"
|
||||
.align 2, 0
|
||||
|
||||
Success_80E72D8:
|
||||
.string "{CENTER_ALIGN}{COLOR_1 LIGHT_BLUE_2}Success!{END_COLOR_TEXT_1} \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E72EC
|
||||
gUnknown_80E72EC: @ 80E72EC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7304
|
||||
gUnknown_80E7304: @ 80E7304
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte NotSOSMail_80E7324, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
NotSOSMail_80E7324:
|
||||
.string "{CENTER_ALIGN}This is not an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7344
|
||||
gUnknown_80E7344: @ 80E7344
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E735C
|
||||
gUnknown_80E735C: @ 80E735C
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte ReceiveSOSMail_80E737C, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
ReceiveSOSMail_80E737C:
|
||||
.string "{CENTER_ALIGN}This {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} has been received already.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E73AC
|
||||
gUnknown_80E73AC: @ 80E73AC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E73C4
|
||||
gUnknown_80E73C4: @ 80E73C4
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E73E4, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E73E4:
|
||||
.string "#+This is not an #CGA-OK Mail#R.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7408
|
||||
gUnknown_80E7408: @ 80E7408
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7420
|
||||
gUnknown_80E7420: @ 80E7420
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E7440, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E7440:
|
||||
.string "#+This #CGA-OK Mail#R cannot be used.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7468
|
||||
gUnknown_80E7468: @ 80E7468
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7480
|
||||
gUnknown_80E7480: @ 80E7480
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E74A0, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E74A0:
|
||||
.string "#+This is not a #CGThank-You Mail#R.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E74C8
|
||||
gUnknown_80E74C8: @ 80E74C8
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E74E0
|
||||
gUnknown_80E74E0: @ 80E74E0
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E7500, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E7500:
|
||||
.string "#+This #CGThank-You Mail#R cannot be used.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E752C
|
||||
gUnknown_80E752C: @ 80E752C
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7544
|
||||
gUnknown_80E7544: @ 80E7544
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E7564, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E7564:
|
||||
.string "#+This is not a #CGWonder Mail#R.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7588
|
||||
gUnknown_80E7588: @ 80E7588
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E75A0
|
||||
gUnknown_80E75A0: @ 80E75A0
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E75CC, 0xC
|
||||
.4byte sUnknown_80E75C0, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E75C0:
|
||||
.string "#+new mail.\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E75CC:
|
||||
.string "#+There is no space for receiving\0"
|
||||
.align 2, 0
|
||||
|
||||
.string "pksdir0\0"
|
||||
|
233
data/data_80E6F20.s
Normal file
233
data/data_80E6F20.s
Normal file
@ -0,0 +1,233 @@
|
||||
.section .rodata
|
||||
|
||||
.global gUnknown_80E71E4
|
||||
gUnknown_80E71E4: @ 80E71E4
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E71FC
|
||||
gUnknown_80E71FC: @ 80E71FC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7214
|
||||
gUnknown_80E7214: @ 80E7214
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte IncorrectPassword_80E7250, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
CheckAgain_80E7234:
|
||||
.string "{CENTER_ALIGN}Please check it again.\0"
|
||||
.align 2, 0
|
||||
|
||||
IncorrectPassword_80E7250:
|
||||
.string "{CENTER_ALIGN}Incorrect password!\0"
|
||||
.align 2, 0
|
||||
|
||||
Error_80E7268:
|
||||
.string "{CENTER_ALIGN}{COLOR_1 RED}Error!{END_COLOR_TEXT_1} \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7278
|
||||
gUnknown_80E7278: @ 80E7278
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7290
|
||||
gUnknown_80E7290: @ 80E7290
|
||||
.4byte Success_80E72D8, 0xC
|
||||
.4byte PasswordAccept_80E72B4, 0xC
|
||||
.4byte DATA_80E72B0, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
DATA_80E72B0:
|
||||
.string " \0"
|
||||
.align 2, 0
|
||||
|
||||
PasswordAccept_80E72B4:
|
||||
.string "{CENTER_ALIGN}The password has been accepted.\0"
|
||||
.align 2, 0
|
||||
|
||||
Success_80E72D8:
|
||||
.string "{CENTER_ALIGN}{COLOR_1 LIGHT_BLUE_2}Success!{END_COLOR_TEXT_1} \0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E72EC
|
||||
gUnknown_80E72EC: @ 80E72EC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7304
|
||||
gUnknown_80E7304: @ 80E7304
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte NotSOSMail_80E7324, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
NotSOSMail_80E7324:
|
||||
.string "{CENTER_ALIGN}This is not an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7344
|
||||
gUnknown_80E7344: @ 80E7344
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E735C
|
||||
gUnknown_80E735C: @ 80E735C
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte ReceiveSOSMail_80E737C, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
ReceiveSOSMail_80E737C:
|
||||
.string "{CENTER_ALIGN}This {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} has been received already.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E73AC
|
||||
gUnknown_80E73AC: @ 80E73AC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E73C4
|
||||
gUnknown_80E73C4: @ 80E73C4
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E73E4, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E73E4:
|
||||
.string "#+This is not an #CGA-OK Mail#R.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7408
|
||||
gUnknown_80E7408: @ 80E7408
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7420
|
||||
gUnknown_80E7420: @ 80E7420
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E7440, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E7440:
|
||||
.string "#+This #CGA-OK Mail#R cannot be used.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7468
|
||||
gUnknown_80E7468: @ 80E7468
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7480
|
||||
gUnknown_80E7480: @ 80E7480
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E74A0, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E74A0:
|
||||
.string "#+This is not a #CGThank-You Mail#R.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E74C8
|
||||
gUnknown_80E74C8: @ 80E74C8
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E74E0
|
||||
gUnknown_80E74E0: @ 80E74E0
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E7500, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E7500:
|
||||
.string "#+This #CGThank-You Mail#R cannot be used.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E752C
|
||||
gUnknown_80E752C: @ 80E752C
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E7544
|
||||
gUnknown_80E7544: @ 80E7544
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E7564, 0xC
|
||||
.4byte CheckAgain_80E7234, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E7564:
|
||||
.string "#+This is not a #CGWonder Mail#R.\0"
|
||||
.align 2, 0
|
||||
|
||||
.global gUnknown_80E7588
|
||||
gUnknown_80E7588: @ 80E7588
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x09, 0x00
|
||||
.byte 0x17, 0x00, 0x05, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E75A0
|
||||
gUnknown_80E75A0: @ 80E75A0
|
||||
.4byte Error_80E7268, 0xC
|
||||
.4byte sUnknown_80E75CC, 0xC
|
||||
.4byte sUnknown_80E75C0, 0xC
|
||||
.4byte 0, 0xA
|
||||
|
||||
sUnknown_80E75C0:
|
||||
.string "#+new mail.\0"
|
||||
.align 2, 0
|
||||
|
||||
sUnknown_80E75CC:
|
||||
.string "#+There is no space for receiving\0"
|
||||
.align 2, 0
|
||||
|
||||
.string "pksdir0\0"
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "item.h"
|
||||
#include "pokemon.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "menu.h"
|
||||
|
||||
struct WonderMailStruct_203B33C
|
||||
{
|
||||
@ -21,13 +22,7 @@ struct WonderMailStruct_203B33C
|
||||
struct unkStruct_203B480 unk1B8;
|
||||
struct unkStruct_203B480 unk1E8;
|
||||
u8 unk218;
|
||||
u8 padding7[3];
|
||||
u32 unk21C;
|
||||
u8 padding[0x7C];
|
||||
u32 unk29C;
|
||||
u8 padding6[0x6C];
|
||||
u32 unk30C;
|
||||
u8 padding8[0x4C];
|
||||
struct MenuStruct unk21C[4];
|
||||
struct UnkTextStruct2 unk35C[4];
|
||||
struct UnkTextStruct2 unk3BC[4];
|
||||
struct Item unk41C;
|
||||
|
@ -55,14 +55,14 @@ struct UnkInputStruct
|
||||
/* 0x2 */ u8 unk2;
|
||||
/* 0x3 */ u8 unk3;
|
||||
/* 0x4 */ u8 unk4;
|
||||
/* 0x5 */ u32 unk5;
|
||||
/* 0x9 */ u32 unk9;
|
||||
/* 0xD */ u32 unkD;
|
||||
/* 0x11 */ u32 unk11;
|
||||
/* 0x15 */ u32 unk15;
|
||||
/* 0x19 */ u32 unk19;
|
||||
/* 0x1D */ u32 unk1D;
|
||||
/* 0x21 */ u32 unk21;
|
||||
/* 0x8 */ u32 unk8;
|
||||
/* 0xC */ u32 unkC;
|
||||
/* 0x10 */ u32 unk10;
|
||||
/* 0x14 */ u32 unk14;
|
||||
/* 0x18 */ u32 unk18;
|
||||
/* 0x1C */ u32 unk1C;
|
||||
/* 0x20 */ u32 unk20;
|
||||
/* 0x24 */ u32 unk24;
|
||||
/* 0x28 */ u8 unk28;
|
||||
/* 0x29 */ u8 a_button;
|
||||
/* 0x2A */ u8 b_button;
|
||||
|
@ -7,4 +7,25 @@ struct MenuItem
|
||||
s32 menuAction; // action??
|
||||
};
|
||||
|
||||
struct MenuStruct
|
||||
{
|
||||
// size: 0x50
|
||||
u32 unk0;
|
||||
/* 0x4 */ struct MenuItem *menuItems;
|
||||
u32 unk8;
|
||||
u16 *unkC;
|
||||
s32 fill10;
|
||||
/* 0x14 */ u32 unk14;
|
||||
u8 fill18[0x2C - 0x18];
|
||||
/* 0x2C */ s16 menuIndex;
|
||||
s16 unk2E;
|
||||
u8 fill30[0x38 - 0x30];
|
||||
u16 unk38;
|
||||
u8 fill3A[0x48 - 0x3A];
|
||||
s32 menuAction;
|
||||
u8 unk4C;
|
||||
u8 unk4D;
|
||||
};
|
||||
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
@ -445,6 +445,8 @@ SECTIONS {
|
||||
src/main_menu.o(.rodata);
|
||||
src/trade_items_menu.o(.rodata);
|
||||
data/data_80E59A8.o(.rodata);
|
||||
src/save_menu.o(.rodata);
|
||||
data/data_80E6F20.o(.rodata);
|
||||
src/load_screen.o(.rodata);
|
||||
src/wonder_mail_main_menu.o(.rodata);
|
||||
src/debug_menu.o(.rodata);
|
||||
|
@ -45,10 +45,9 @@ extern u32 sub_80154F0();
|
||||
extern void sub_80155F0();
|
||||
extern void sub_80141B4(u8 *r0, u32, u32 *r1, u32);
|
||||
extern void sub_8014248(const char *r0, u32, u32, struct MenuItem *r4, u32, u32, u32, u32 *r5, u32);
|
||||
extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
|
||||
|
||||
extern u8 sub_8012FD8(u32 *);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u8 sub_8012FD8(struct MenuStruct *);
|
||||
extern void sub_8013114(struct MenuStruct *, s32 *);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_801CB5C(u32);
|
||||
@ -56,7 +55,7 @@ extern void sub_8035CC0(struct UnkTextStruct2 *, u32);
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
extern void sub_8035CF4(u32 *, u32, u32);
|
||||
extern void sub_8035CF4(struct MenuStruct *, u32, u32);
|
||||
extern u8 sub_801CB24(void);
|
||||
extern u32 sub_8030DA0(void);
|
||||
extern void sub_8030DE4(void);
|
||||
@ -232,7 +231,6 @@ extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern u32 sub_801D008(void);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_8035CF4(u32 *, u32, u32);
|
||||
extern s32 sub_8037B28(u32);
|
||||
extern void sub_803092C(void);
|
||||
extern void sub_801CCD8(void);
|
||||
@ -240,7 +238,6 @@ extern void sub_80151C0(u32, u8 *);
|
||||
extern void sub_801C8C4(u32, u32, s32 * , u32);
|
||||
extern void xxx_call_start_bg_music(void);
|
||||
extern u32 GetDungeonTeamRankPts(struct DungeonLocation *, u32);
|
||||
extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
|
||||
extern void sub_802F204(struct unkStruct_802F204 *, u32);
|
||||
extern void nullsub_23(u32);
|
||||
extern s32 sub_8037D64(u32, void *, void *);
|
||||
@ -828,8 +825,8 @@ void sub_8034074(void)
|
||||
|
||||
menuAction = -1;
|
||||
sub_8030768(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
|
||||
sub_8013114(&gUnknown_203B33C->unk30C, &menuAction);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
{
|
||||
case 9:
|
||||
@ -865,7 +862,7 @@ void sub_8034130(void)
|
||||
sub_803092C();
|
||||
if(gUnknown_203B33C->fallbackState == 0x7E)
|
||||
{
|
||||
sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
|
||||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
SetFriendRescueMenuState(0x1E);
|
||||
}
|
||||
else
|
||||
@ -911,8 +908,8 @@ void sub_8034254(void)
|
||||
menuAction = -1;
|
||||
|
||||
sub_8023A94(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
|
||||
sub_8013114(&gUnknown_203B33C->unk30C, &menuAction);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
{
|
||||
case 9:
|
||||
@ -951,7 +948,7 @@ void sub_8034310(void)
|
||||
sub_8023B7C(1);
|
||||
if(gUnknown_203B33C->fallbackState == 0x7E)
|
||||
{
|
||||
sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
|
||||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
SetFriendRescueMenuState(0x27);
|
||||
}
|
||||
else
|
||||
@ -1106,8 +1103,8 @@ void sub_8034590(void)
|
||||
menuAction = -1;
|
||||
|
||||
sub_8030768(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
|
||||
sub_8013114(&gUnknown_203B33C->unk30C, &menuAction);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
{
|
||||
case 9:
|
||||
@ -1143,7 +1140,7 @@ void sub_803464C(void)
|
||||
sub_803092C();
|
||||
if(gUnknown_203B33C->fallbackState == 0x7E)
|
||||
{
|
||||
sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
|
||||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
SetFriendRescueMenuState(0x33);
|
||||
}
|
||||
else
|
||||
@ -1431,8 +1428,8 @@ void sub_8034A70(void)
|
||||
|
||||
menuAction = -1;
|
||||
sub_8030768(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
|
||||
sub_8013114(&gUnknown_203B33C->unk30C, &menuAction);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
{
|
||||
case 9:
|
||||
@ -1468,7 +1465,7 @@ void sub_8034B2C(void)
|
||||
sub_803092C();
|
||||
if(gUnknown_203B33C->fallbackState == 0x7E)
|
||||
{
|
||||
sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
|
||||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
SetFriendRescueMenuState(0x5D);
|
||||
}
|
||||
else
|
||||
@ -1518,7 +1515,7 @@ void sub_8034C38(void)
|
||||
sub_801CB5C(1);
|
||||
if(gUnknown_203B33C->fallbackState == 0x7E)
|
||||
{
|
||||
sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
|
||||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
SetFriendRescueMenuState(0x60);
|
||||
}
|
||||
else
|
||||
@ -1536,8 +1533,8 @@ void sub_8034C98(void)
|
||||
|
||||
menuAction = -1;
|
||||
sub_801CA08(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
|
||||
sub_8013114(&gUnknown_203B33C->unk30C, &menuAction);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
{
|
||||
case 9:
|
||||
|
136
src/main_menu.c
136
src/main_menu.c
@ -30,30 +30,12 @@
|
||||
// Deletes the Save
|
||||
|
||||
|
||||
struct unkStruct_Menu
|
||||
{
|
||||
// size 0x50;
|
||||
u8 fil0[0x4C];
|
||||
u8 unk4C;
|
||||
u8 fill4D[0x50 - 0x4D];
|
||||
};
|
||||
|
||||
struct unkStruct_203B34C
|
||||
{
|
||||
// size: 0x1A8
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
struct MenuItem *unk8; // Array of menu choices??
|
||||
u8 fillC[0x30 - 0xC];
|
||||
s16 menuIndex;
|
||||
u8 fill32[0x54 - 0x32];
|
||||
|
||||
u32 unk54;
|
||||
u8 fill58[0xA4 - 0x58];
|
||||
|
||||
u32 unkA4;
|
||||
u32 unkA8;
|
||||
u8 fillAC[0x144 - 0xAC];
|
||||
struct MenuStruct unk4[3];
|
||||
u8 fillF4[0x144 - 0xF4];
|
||||
struct UnkTextStruct2 unk144[4];
|
||||
/* 0x1A4 */ u32 currMenuChoice;
|
||||
};
|
||||
@ -76,11 +58,12 @@ extern void sub_80370D4(void);
|
||||
extern void CleanWonderMailMenu(void);
|
||||
extern void sub_80383A8(void);
|
||||
extern void CleanSaveMenu(void);
|
||||
extern u8 sub_8012FD8(u32 *);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u8 sub_8012FD8(struct MenuStruct *);
|
||||
extern void sub_8013114(struct MenuStruct *, s32 *);
|
||||
extern u8 sub_803D0D8();
|
||||
extern void sub_8012D60(struct unkStruct_Menu *, const struct MenuItem *, u32, u32, u32, u32);
|
||||
extern void sub_8012E04(struct unkStruct_Menu *, const struct MenuItem *, u32, u32, u32, u32);
|
||||
extern void sub_8012D60(struct MenuStruct *, const struct MenuItem *, u32, u32, u32, u32);
|
||||
extern void sub_8012E04(struct MenuStruct *, const struct MenuItem *, u32, u32, u32, u32);
|
||||
void sub_8012EBC(struct MenuStruct *);
|
||||
|
||||
void CleanMainMenu(void);
|
||||
void DrawMainMenu(void);
|
||||
@ -645,18 +628,18 @@ void sub_8035C1C(void)
|
||||
}
|
||||
|
||||
void
|
||||
SetMenuItems(struct unkStruct_Menu *param_1, struct UnkTextStruct2 *unkData, int param_3, const struct UnkTextStruct2 *param_4, const struct MenuItem *param_5, char param_6 ,u32 param_7, u32 unused_8)
|
||||
SetMenuItems(struct MenuStruct *param_1, struct UnkTextStruct2 *unkData, int index, const struct UnkTextStruct2 *param_4, const struct MenuItem *param_5, char param_6 ,u32 param_7, u32 unused_8)
|
||||
{
|
||||
unkData[param_3] = *param_4;
|
||||
unkData[index] = *param_4;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(unkData,1,1);
|
||||
if (param_6 != '\0') {
|
||||
sub_8012D60(¶m_1[param_3],param_5,0,0,param_7,param_3);
|
||||
if (param_6 != 0) {
|
||||
sub_8012D60(¶m_1[index],param_5,0,0,param_7,index);
|
||||
}
|
||||
else {
|
||||
sub_8012E04(¶m_1[param_3],param_5,0,0,0,param_3);
|
||||
sub_8012E04(¶m_1[index],param_5,0,0,0,index);
|
||||
}
|
||||
param_1[param_3].unk4C = 1;
|
||||
param_1[index].unk4C = 1;
|
||||
}
|
||||
|
||||
void sub_8035CC0(struct UnkTextStruct2 *dataArray, u32 index)
|
||||
@ -667,27 +650,12 @@ void sub_8035CC0(struct UnkTextStruct2 *dataArray, u32 index)
|
||||
sub_800641C(dataArray, 1, 1);
|
||||
}
|
||||
|
||||
NAKED
|
||||
void sub_8035CF4(void * Menu, u32 index, u8 r2)
|
||||
{
|
||||
asm_unified("\tpush {lr}\n"
|
||||
"\tadds r3, r0, 0\n"
|
||||
"\tlsls r0, r1, 2\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tlsls r0, 4\n"
|
||||
"\tadds r0, r3\n"
|
||||
"\tadds r1, r0, 0\n"
|
||||
"\tadds r1, 0x4C\n"
|
||||
"\tstrb r2, [r1]\n"
|
||||
"\tadds r2, r0, 0\n"
|
||||
"\tadds r2, 0x4D\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tstrb r1, [r2]\n"
|
||||
"\tsubs r1, 0x2\n"
|
||||
"\tstr r1, [r0, 0x48]\n"
|
||||
"\tbl sub_8012EBC\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0");
|
||||
void sub_8035CF4(struct MenuStruct * Menu, u32 index, u8 r2)
|
||||
{
|
||||
Menu[index].unk4C = r2;
|
||||
Menu[index].unk4D = 1;
|
||||
Menu[index].menuAction = -1;
|
||||
sub_8012EBC(&Menu[index]);
|
||||
}
|
||||
|
||||
void sub_8035D1C(void)
|
||||
@ -814,10 +782,10 @@ void DrawMainMenu(void)
|
||||
|
||||
if(SetMainMenuText())
|
||||
{
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4,2,0);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4,2,0);
|
||||
}
|
||||
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4,0,1);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4,0,1);
|
||||
gUnknown_203B34C->unk0 = 1;
|
||||
}
|
||||
|
||||
@ -838,14 +806,14 @@ u32 UpdateMainMenu(void)
|
||||
switch(gUnknown_203B34C->unk0)
|
||||
{
|
||||
case 1:
|
||||
sub_8012FD8(&gUnknown_203B34C->unkA4);
|
||||
if(!sub_8012FD8(&gUnknown_203B34C->unk4))
|
||||
sub_8013114(&gUnknown_203B34C->unk4, &nextMenu);
|
||||
sub_8012FD8(&gUnknown_203B34C->unk4[2]);
|
||||
if(!sub_8012FD8(gUnknown_203B34C->unk4))
|
||||
sub_8013114(gUnknown_203B34C->unk4, &nextMenu);
|
||||
|
||||
if(SetMainMenuText())
|
||||
{
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4, 0, 1);
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4, 2, 0);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4, 0, 1);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4, 2, 0);
|
||||
}
|
||||
switch(nextMenu)
|
||||
{
|
||||
@ -856,8 +824,8 @@ u32 UpdateMainMenu(void)
|
||||
gUnknown_203B34C->unk0 = 1;
|
||||
nextMenu = MENU_NO_SCREEN_CHANGE;
|
||||
ResetUnusedInputStruct();
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4, 0, 1);
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4, 2, 0);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4, 0, 1);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4, 2, 0);
|
||||
break;
|
||||
case MENU_TRADE_ITEMS:
|
||||
sub_8035DA0();
|
||||
@ -880,8 +848,8 @@ u32 UpdateMainMenu(void)
|
||||
}
|
||||
break;
|
||||
case 0xC:
|
||||
if(!sub_8012FD8(&gUnknown_203B34C->unk54))
|
||||
sub_8013114(&gUnknown_203B34C->unk54, &nextMenu);
|
||||
if(!sub_8012FD8(&gUnknown_203B34C->unk4[1]))
|
||||
sub_8013114(&gUnknown_203B34C->unk4[1], &nextMenu);
|
||||
switch(nextMenu)
|
||||
{
|
||||
case 0xffdd:
|
||||
@ -917,8 +885,8 @@ bool8 SetMainMenuText(void)
|
||||
struct MenuItem *preload;
|
||||
|
||||
// Have to load the pointer before the index
|
||||
preload = gUnknown_203B34C->unk8;
|
||||
menuChoice = preload[gUnknown_203B34C->menuIndex].menuAction; // chosen menu action?
|
||||
preload = gUnknown_203B34C->unk4[0].menuItems;
|
||||
menuChoice = preload[gUnknown_203B34C->unk4[0].menuIndex].menuAction; // chosen menu action?
|
||||
if (gUnknown_203B34C->currMenuChoice == menuChoice) {
|
||||
return FALSE;
|
||||
}
|
||||
@ -929,50 +897,50 @@ bool8 SetMainMenuText(void)
|
||||
switch(menuChoice) {
|
||||
case MENU_WIRELESS_COMMS:
|
||||
// Using wireless communications, you can go on an adventure to unknown worlds.
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E6030,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E6030,0,0,0);
|
||||
break;
|
||||
case MENU_WONDER_MAIL:
|
||||
// Using passwords, you can receive Wonder Mail
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F80,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F80,0,0,0);
|
||||
break;
|
||||
case MENU_AWAITING_RESCUE:
|
||||
// You are awaiting resuce by a friend
|
||||
// You can give up waiting for rescue
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F1C,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5F1C,0,0,0);
|
||||
break;
|
||||
case MENU_NEW_GAME:
|
||||
// Start an entirely new adventure
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5CCC,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5CCC,0,0,0);
|
||||
break;
|
||||
case MENU_CONTINUE:
|
||||
// Resume your adventure from where you last saved
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DA0,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DA0,0,0,0);
|
||||
break;
|
||||
case MENU_DELETE_SAVE_PROMPT:
|
||||
// This will delete your saved game data.
|
||||
// Beware! This will delete it forever
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DF0,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5DF0,0,0,0);
|
||||
break;
|
||||
case MENU_ADVENTURE_LOG:
|
||||
// Check your career as an adventurer
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D0C,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D0C,0,0,0);
|
||||
break;
|
||||
case MENU_FRIEND_RESCUE:
|
||||
// Using a Game Link cable or passwords, friends may rescue each other
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5E5C,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5E5C,0,0,0);
|
||||
break;
|
||||
case MENU_TRADE_ITEMS:
|
||||
// Using a Game Link cable you can trade stored items with a friend
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5EBC,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5EBC,0,0,0);
|
||||
break;
|
||||
case MENU_DUAL_SLOT:
|
||||
// Using Dual Slot function, you can receive teams from your friends
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5FCC,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5FCC,0,0,0);
|
||||
break;
|
||||
case MENU_DEBUG:
|
||||
// This is the Debug Mode.
|
||||
// It won't be in the release version
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D48,0,0,0);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,2,&gUnknown_80E5CB4,gUnknown_80E5D48,0,0,0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -986,9 +954,9 @@ void sub_803623C(void)
|
||||
SetMainMenuItems();
|
||||
gUnknown_203B34C->currMenuChoice = -1;
|
||||
if (SetMainMenuText()) {
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4,2,0);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4,2,0);
|
||||
}
|
||||
sub_8035CF4(&gUnknown_203B34C->unk4,0,1);
|
||||
sub_8035CF4(gUnknown_203B34C->unk4,0,1);
|
||||
}
|
||||
|
||||
void SetMainMenuItems(void)
|
||||
@ -1003,7 +971,7 @@ void SetMainMenuItems(void)
|
||||
// Friend Rescue
|
||||
// Trade Items
|
||||
// Wonder Mail
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5C18,1,gUnknown_203B350,1);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5C18,1,gUnknown_203B350,1);
|
||||
}
|
||||
else {
|
||||
// Revive Team
|
||||
@ -1011,7 +979,7 @@ void SetMainMenuItems(void)
|
||||
// Adventure Log
|
||||
// Friend Rescue
|
||||
// Trade Items
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5BC4,gUnknown_80E5BDC,1,gUnknown_203B350,1);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5BC4,gUnknown_80E5BDC,1,gUnknown_203B350,1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -1022,7 +990,7 @@ void SetMainMenuItems(void)
|
||||
// Friend Rescue
|
||||
// Trade Items
|
||||
// Wonder Mail
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5AFC,1,gUnknown_203B350,1);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5AFC,1,gUnknown_203B350,1);
|
||||
}
|
||||
else {
|
||||
// Continue
|
||||
@ -1030,7 +998,7 @@ void SetMainMenuItems(void)
|
||||
// Adventure Log
|
||||
// Friend Rescue
|
||||
// Trade Items
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A60,gUnknown_80E5A90,1,gUnknown_203B350,1);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A60,gUnknown_80E5A90,1,gUnknown_203B350,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1042,7 +1010,7 @@ void SetMainMenuItems(void)
|
||||
// Friend Rescue
|
||||
// Trade Items
|
||||
// Wonder Mail
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5B8C,1,gUnknown_203B350,1);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5A78,gUnknown_80E5B8C,1,gUnknown_203B350,1);
|
||||
}
|
||||
else {
|
||||
// Awaiting Rescue
|
||||
@ -1050,7 +1018,7 @@ void SetMainMenuItems(void)
|
||||
// Adventure Log
|
||||
// Friend Rescue
|
||||
// Trade Items
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5B34,gUnknown_80E5B4C,1,gUnknown_203B350,1);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E5B34,gUnknown_80E5B4C,1,gUnknown_203B350,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1058,7 +1026,7 @@ void SetMainMenuItems(void)
|
||||
{
|
||||
// New Game
|
||||
// Adventure Log
|
||||
SetMenuItems((struct unkStruct_Menu *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E59E0,gUnknown_80E59F8,1,gUnknown_203B350,1);
|
||||
SetMenuItems((struct MenuStruct *)&gUnknown_203B34C->unk4,gUnknown_203B34C->unk144,0,&gUnknown_80E59E0,gUnknown_80E59F8,1,gUnknown_203B350,1);
|
||||
}
|
||||
}
|
||||
|
||||
|
129
src/save_menu.c
129
src/save_menu.c
@ -1,3 +1,4 @@
|
||||
#include "gba/defines.h"
|
||||
#include "global.h"
|
||||
#include "input.h"
|
||||
#include "menu.h"
|
||||
@ -27,19 +28,115 @@ struct unkStruct_203B360
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B360 *gUnknown_203B364;
|
||||
extern struct UnkTextStruct2 gUnknown_80E6F20;
|
||||
extern struct UnkTextStruct2 gUnknown_80E6F38;
|
||||
extern struct MenuItem gUnknown_80E7090[];
|
||||
extern struct MenuItem gUnknown_80E6F50[];
|
||||
extern struct MenuItem gUnknown_80E70CC;
|
||||
extern struct MenuItem gUnknown_80E6FBC;
|
||||
extern struct MenuItem gUnknown_80E7114;
|
||||
extern struct MenuItem gUnknown_80E701C;
|
||||
extern u8 gUnknown_80E7178[];
|
||||
|
||||
const struct UnkTextStruct2 gUnknown_80E6F20 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
|
||||
const struct UnkTextStruct2 gUnknown_80E6F38 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x08, 0x00,
|
||||
0x15, 0x05,
|
||||
0x05, 0x00,
|
||||
NULL
|
||||
};
|
||||
|
||||
const u8 sUnknown_80E6F70[];
|
||||
const u8 sUnknown_80E6F90[];
|
||||
const u8 sUnknown_80E6FAC[];
|
||||
|
||||
const struct MenuItem gSavingAdventureMenuItems[] = {
|
||||
{sUnknown_80E6FAC, 4},
|
||||
{sUnknown_80E6F90, 4},
|
||||
{sUnknown_80E6F70, 4},
|
||||
{NULL, 2}
|
||||
};
|
||||
ALIGNED(4) const u8 sUnknown_80E6F70[] = _("{CENTER_ALIGN}Don{APOSTROPHE}t turn off the power.");
|
||||
ALIGNED(4) const u8 sUnknown_80E6F90[] = _("{CENTER_ALIGN}Saving your adventure!");
|
||||
ALIGNED(4) const u8 sUnknown_80E6FAC[] = _("{CENTER_ALIGN}{COLOR_1 RED}Beware!{END_COLOR_TEXT_1} ");
|
||||
|
||||
extern const u8 sUnknown_80E6FDC[];
|
||||
extern const u8 sUnknown_80E7008[];
|
||||
extern const u8 sUnknown_80E6FF0[];
|
||||
|
||||
const struct MenuItem gAdventureSavedMenuItems[] = {
|
||||
{sUnknown_80E7008, 4},
|
||||
{sUnknown_80E6FF0, 4},
|
||||
{sUnknown_80E6FDC, 4},
|
||||
{NULL, 2}
|
||||
};
|
||||
ALIGNED(4) const u8 sUnknown_80E6FDC[] = _("{CENTER_ALIGN}has been saved.");
|
||||
ALIGNED(4) const u8 sUnknown_80E6FF0[] = _("{CENTER_ALIGN}Your adventure so far");
|
||||
ALIGNED(4) const u8 sUnknown_80E7008[] = _("{CENTER_ALIGN}{COLOR_1 LIGHT_BLUE_2}Success!{END_COLOR_TEXT_1} ");
|
||||
|
||||
extern const u8 sUnknown_80E7078[];
|
||||
extern const u8 sUnknown_80E7050[];
|
||||
extern const u8 sUnknown_80E703C[];
|
||||
|
||||
const struct MenuItem gAdventureCouldNotBeSavedMenuItems[] = {
|
||||
{sUnknown_80E7078, 4},
|
||||
{sUnknown_80E7050, 4},
|
||||
{sUnknown_80E703C, 4},
|
||||
{NULL, 2}
|
||||
};
|
||||
ALIGNED(4) const u8 sUnknown_80E703C[] = _("{CENTER_ALIGN}Please try again.");
|
||||
ALIGNED(4) const u8 sUnknown_80E7050[] = _("{CENTER_ALIGN}Your adventure could not be saved.");
|
||||
ALIGNED(4) const u8 sUnknown_80E7078[] = _("{CENTER_ALIGN}{COLOR_1 RED}Save failed!{END_COLOR_TEXT_1} ");
|
||||
|
||||
|
||||
extern const u8 DeletingAdventure_80E70B0[];
|
||||
|
||||
const struct MenuItem gDeletingYourAdventureMenuItems[] = {
|
||||
{sUnknown_80E6FAC, 4},
|
||||
{DeletingAdventure_80E70B0, 4},
|
||||
{sUnknown_80E6F70, 4},
|
||||
{NULL, 2}
|
||||
};
|
||||
ALIGNED(4) const u8 DeletingAdventure_80E70B0[] = _("{CENTER_ALIGN}Deleting your adventure!");
|
||||
|
||||
extern const u8 Data_80E70EC[];
|
||||
extern const u8 AdventureDeleted_80E70F0[];
|
||||
|
||||
const struct MenuItem gDeletedSaveMenuItems[] = {
|
||||
{sUnknown_80E7008, 4},
|
||||
{AdventureDeleted_80E70F0, 4},
|
||||
{Data_80E70EC, 4},
|
||||
{NULL, 2},
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 Data_80E70EC[] = _(" ");
|
||||
ALIGNED(4) const u8 AdventureDeleted_80E70F0[] = _("{CENTER_ALIGN}Your adventure has been deleted.");
|
||||
|
||||
extern const u8 sUnknown_80E7134[];
|
||||
extern const u8 sUnknown_80E715C[];
|
||||
|
||||
const struct MenuItem gAdventureCouldNotBeDeletedMenuItems[] = {
|
||||
{sUnknown_80E715C, 4},
|
||||
{sUnknown_80E7134, 4},
|
||||
{sUnknown_80E703C, 4},
|
||||
{NULL, 2},
|
||||
};
|
||||
ALIGNED(4) const u8 sUnknown_80E7134[] = _("{CENTER_ALIGN}Your adventure could not be deleted.");
|
||||
ALIGNED(4) const u8 sUnknown_80E715C[] = _("{CENTER_ALIGN}{COLOR_1 RED}Deletion failed!{END_COLOR_TEXT_1} ");
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_80E7178[] = _("{CENTER_ALIGN}The data could not be written.\n"
|
||||
"{CENTER_ALIGN}Please turn off the power and remove\n"
|
||||
"{CENTER_ALIGN}and reinsert the DS Card.");
|
||||
|
||||
ALIGNED(4) static const u8 save_menu_fill0[] = "pksdir0";
|
||||
|
||||
extern void ResetSprites(u32);
|
||||
extern void sub_8038440();
|
||||
extern void sub_8035CF4(u32 *, u32, u32);
|
||||
extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, struct UnkTextStruct2 *, struct MenuItem *, u32, u32, u32);
|
||||
extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
|
||||
extern u8 sub_80130A8(u32 *);
|
||||
extern void sub_8013114(u32 *, u32 *);
|
||||
extern void sub_80384D0();
|
||||
@ -68,12 +165,12 @@ void CreateSaveMenu(s32 currMenu)
|
||||
|
||||
if (currMenu == MENU_DELETE_SAVE) {
|
||||
// Beware, Deleting your Adventure
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gUnknown_80E7090,
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gDeletingYourAdventureMenuItems,
|
||||
0,6,0);
|
||||
}
|
||||
else {
|
||||
// Saving your Adventure
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gUnknown_80E6F50,
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,gSavingAdventureMenuItems,
|
||||
0,6,0);
|
||||
}
|
||||
sub_8035CF4(&gUnknown_203B364->unk8,0,1);
|
||||
@ -121,11 +218,11 @@ s32 UpdateSaveMenu(void)
|
||||
sub_8035CC0(gUnknown_203B364->unk148,0);
|
||||
if (gUnknown_203B364->currMenu == MENU_DELETE_SAVE) {
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
|
||||
&gUnknown_80E70CC,0,6,0);
|
||||
gDeletedSaveMenuItems,0,6,0);
|
||||
}
|
||||
else {
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
|
||||
&gUnknown_80E6FBC,0,6,0);
|
||||
gAdventureSavedMenuItems,0,6,0);
|
||||
}
|
||||
if (gUnknown_203B364->currMenu == 0x2d) {
|
||||
gUnknown_203B364->unk4 = 1;
|
||||
@ -142,11 +239,11 @@ s32 UpdateSaveMenu(void)
|
||||
sub_8035CC0(gUnknown_203B364->unk148,0);
|
||||
if (gUnknown_203B364->currMenu == MENU_DELETE_SAVE) {
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
|
||||
&gUnknown_80E7114,0,6,0);
|
||||
gAdventureCouldNotBeDeletedMenuItems,0,6,0);
|
||||
}
|
||||
else {
|
||||
SetMenuItems(&gUnknown_203B364->unk8,gUnknown_203B364->unk148,0,&gUnknown_80E6F38,
|
||||
&gUnknown_80E701C,0,6,0);
|
||||
gAdventureCouldNotBeSavedMenuItems,0,6,0);
|
||||
}
|
||||
sub_8035CF4(&gUnknown_203B364->unk8,0,1);
|
||||
gUnknown_203B364->unk4 = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user