Move more data to friend_rescue.c

This commit is contained in:
Seth Barberee
2024-08-17 20:20:18 -07:00
parent d20d2a720a
commit 00a4611d4c
4 changed files with 552 additions and 815 deletions

View File

@@ -1,626 +1,6 @@
.section .rodata
.align 2,0
.string "pksdir0\0"
.global gUnknown_80E2068
gUnknown_80E2068: @ 80E2068
.4byte GoRescue_80E20AC
.byte 0x00, 0x00, 0x00, 0x00
.4byte GetHelp_80E20A0
.byte 0x01, 0x00, 0x00, 0x00
.4byte Info_80E2098
.byte 0x17, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global Exit_80E2090
Exit_80E2090:
.string "Exit\0"
.align 2,0
.global Info_80E2098
Info_80E2098:
.string "Info\0"
.align 2,0
.global GetHelp_80E20A0
GetHelp_80E20A0:
.string "Get Help\0"
.align 2,0
.global GoRescue_80E20AC
GoRescue_80E20AC:
.string "Go Rescue\0"
.align 2,0
.global gUnknown_80E20B8
gUnknown_80E20B8: @ 80E20B8
.4byte GoRescue_80E20AC
.byte 0x00, 0x00, 0x00, 0x00
.4byte GetHelp_80E20A0
.byte 0xff, 0xff, 0xff, 0xff
.4byte Info_80E2098
.byte 0x17, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E20E0
gUnknown_80E20E0: @ 80E20E0
.4byte GoRescue_80E20AC
.byte 0xff, 0xff, 0xff, 0xff
.4byte GetHelp_80E20A0
.byte 0x01, 0x00, 0x00, 0x00
.4byte Info_80E2098
.byte 0x17, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E2108
gUnknown_80E2108: @ 80E2108
.4byte GoRescue_80E20AC
.byte 0xff, 0xff, 0xff, 0xff
.4byte GetHelp_80E20A0
.byte 0xff, 0xff, 0xff, 0xff
.4byte Info_80E2098
.byte 0x17, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E2130
gUnknown_80E2130: @ 80E2130
@ Friend Resuce Pelipper Menu
.4byte ReceiveSOSMail_80E217C
.byte 0x03, 0x00, 0x00, 0x00
.4byte SendAOKMail_80E216C
.byte 0x04, 0x00, 0x00, 0x00
.4byte GetThankYouMail_80E2158
.byte 0x14, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global GetThankYouMail_80E2158
GetThankYouMail_80E2158:
.string "Get Thank-You Mail\0"
.align 2,0
.global SendAOKMail_80E216C
SendAOKMail_80E216C:
.string "Send A-OK Mail\0"
.align 2,0
.global ReceiveSOSMail_80E217C
ReceiveSOSMail_80E217C:
.string "Receive SOS Mail\0"
.align 2,0
.global gUnknown_80E2190
gUnknown_80E2190: @ 80E2190
.4byte ReceiveSOSMail_80E217C
.byte 0x03, 0x00, 0x00, 0x00
.4byte SendAOKMail_80E216C
.byte 0xff, 0xff, 0xff, 0xff
.4byte GetThankYouMail_80E2158
.byte 0x14, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E21B8
gUnknown_80E21B8: @ 80E21B8
.4byte SendSOS_80E2208
.byte 0x11, 0x00, 0x00, 0x00
.4byte ReceiveAOK_80E21F4
.byte 0x12, 0x00, 0x00, 0x00
.4byte SendThankYou_80E21E0
.byte 0x13, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global SendThankYou_80E21E0
SendThankYou_80E21E0:
.string "Send Thank-You Mail\0"
.align 2,0
.global ReceiveAOK_80E21F4
ReceiveAOK_80E21F4:
.string "Receive A-OK Mail\0"
.align 2,0
.global SendSOS_80E2208
SendSOS_80E2208:
.string "Send SOS Mail\0"
.align 2,0
.global gUnknown_80E2218
gUnknown_80E2218: @ 80E2218
.4byte SendSOS_80E2208
.byte 0xff, 0xff, 0xff, 0xff
.4byte ReceiveAOK_80E21F4
.byte 0xff, 0xff, 0xff, 0xff
.4byte SendThankYou_80E21E0
.byte 0x13, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E2240
gUnknown_80E2240: @ 80E2240
.4byte SendSOS_80E2208
.byte 0x11, 0x00, 0x00, 0x00
.4byte ReceiveAOK_80E21F4
.byte 0x12, 0x00, 0x00, 0x00
.4byte SendThankYou_80E21E0
.byte 0xff, 0xff, 0xff, 0xff
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E2268
gUnknown_80E2268: @ 80E2268
.4byte SendSOS_80E2208
.byte 0xff, 0xff, 0xff, 0xff
.4byte ReceiveAOK_80E21F4
.byte 0xff, 0xff, 0xff, 0xff
.4byte SendThankYou_80E21E0
.byte 0xff, 0xff, 0xff, 0xff
.4byte Exit_80E2090
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E2290
gUnknown_80E2290: @ 80E2290
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global Cancel_80E22A8
Cancel_80E22A8:
.string "Cancel\0"
.align 2,0
.global Yes_80E22B0
Yes_80E22B0:
.string "Yes\0"
.align 2,0
.global gUnknown_80E22B4
gUnknown_80E22B4: @ 80E22B4
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte No_80E22CC
.byte 0x07, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global No_80E22CC
No_80E22CC:
.string "No\0"
.align 2,0
.global gUnknown_80E22D0
gUnknown_80E22D0: @ 80E22D0
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte No_80E22CC
.byte 0x07, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E22F0
gUnknown_80E22F0: @ 80E22F0
.4byte SendPokemon_80E2308
.byte 0x10, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global SendPokemon_80E2308
SendPokemon_80E2308:
.string "Send w/o Pokémon\0"
.align 2,0
.global gUnknown_80E231C
gUnknown_80E231C: @ 80E231C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x16, 0x00, 0x07, 0x00
.byte 0x06, 0x00, 0x04, 0x00
.byte 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global gUnknown_80E2334
gUnknown_80E2334: @ 80E2334
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x16, 0x00, 0x06, 0x00
.byte 0x06, 0x00, 0x04, 0x00
.byte 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global gUnknown_80E234C
gUnknown_80E234C: @ 80E234C
.4byte Confirm_80E2364
.byte 0x09, 0x00, 0x00, 0x00
.4byte Info_80E2098
.byte 0x0a, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global Confirm_80E2364
Confirm_80E2364:
.string "Confirm\0"
.align 2,0
.global gUnknown_80E236C
gUnknown_80E236C: @ 80E236C
.4byte GameLinkCable_80E2398
.byte 0x0b, 0x00, 0x00, 0x00
.4byte Password_80E238C
.byte 0x0d, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global Password_80E238C
Password_80E238C:
.string "Password\0"
.align 2,0
.global GameLinkCable_80E2398
GameLinkCable_80E2398:
.string "Game Link cable\0"
.align 2,0
.global gUnknown_80E23A8
gUnknown_80E23A8: @ 80E23A8
.4byte SendPokemon_80E23E0
.byte 0x0f, 0x00, 0x00, 0x00
.4byte DontSendPokemon_80E23C8
.byte 0x10, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global DontSendPokemon_80E23C8
DontSendPokemon_80E23C8:
.string "Don{APOSTROPHE}t Send Pokémon\0"
.align 2,0
.global SendPokemon_80E23E0
SendPokemon_80E23E0:
.string "Send Pokémon\0"
.align 2,0
.global gUnknown_80E23F0
gUnknown_80E23F0: @ 80E23F0
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x15, 0x00, 0x04, 0x00
.byte 0x06, 0x00, 0x05, 0x00
.byte 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global gUnknown_80E2408
gUnknown_80E2408: @ 80E2408
.4byte Confirm_80E2364
.byte 0x09, 0x00, 0x00, 0x00
.4byte Info_80E2098
.byte 0x0a, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.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_80E2440
gUnknown_80E2440: @ 80E2440
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E2458
gUnknown_80E2458: @ 80E2458
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte No_80E22CC
.byte 0x07, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E2470
gUnknown_80E2470: @ 80E2470
.4byte SendItem_80E24A4
.byte 0x15, 0x00, 0x00, 0x00
.4byte DontSendItem_80E2490
.byte 0x16, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
DontSendItem_80E2490:
.string "Don{APOSTROPHE}t Send Item\0"
.align 2,0
SendItem_80E24A4:
.string "Send Item\0"
.align 2,0
.global gUnknown_80E24B0
gUnknown_80E24B0: @ 80E24B0
.4byte SendwoItem_80E24C8
.byte 0x16, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
SendwoItem_80E24C8:
.string "Send w/o Item\0"
.align 2,0
.global gUnknown_80E24D8
gUnknown_80E24D8: @ 80E24D8
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte No_80E22CC
.byte 0x07, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E24F8
gUnknown_80E24F8: @ 80E24F8
.4byte RescueInfo_80E2540
.byte 0x1A, 0x00, 0x00, 0x00
.4byte GoRescue_80E530
.byte 0x1B, 0x00, 0x00, 0x00
.4byte GetHelp_80E2520
.byte 0x1C, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
.byte 0x19, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00
GetHelp_80E2520:
.string "{COLOR_1 YELLOW}Get help{END_COLOR_TEXT_1} \0"
.align 2,0
GoRescue_80E530:
.string "{COLOR_1 YELLOW}Go rescue{END_COLOR_TEXT_1} \0"
.align 2,0
RescueInfo_80E2540:
.string "Friend Rescue Info\0"
.align 2,0
.global gUnknown_80E2554
gUnknown_80E2554: @ 80E2554
.4byte RescueProcedures_80E25A0
.byte 0x1E, 0x00, 0x00, 0x00
.4byte ReceiveSOSMail_80E217C
.byte 0x1F, 0x00, 0x00, 0x00
.4byte LeaveForRescue_80E258C
.byte 0x20, 0x00, 0x00, 0x00
.4byte SendAOKMail_80E216C
.byte 0x21, 0x00, 0x00, 0x00
.4byte GetThankYouMail_80E2158
.byte 0x22, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x19, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00
LeaveForRescue_80E258C:
.string "Leave for Rescue\0"
.align 2,0
RescueProcedures_80E25A0:
.string "Rescue Procedures\0"
.align 2,0
.global gUnknown_80E25B4
gUnknown_80E25B4: @ 80E25B4
.4byte GettingHelp_80E25E4
.byte 0x23, 0x00, 0x00, 0x00
.4byte SendSOS_80E2208
.byte 0x24, 0x00, 0x00, 0x00
.4byte ReceiveAOK_80E21F4
.byte 0x25, 0x00, 0x00, 0x00
.4byte SendThankYou_80E21E0
.byte 0x26, 0x00, 0x00, 0x00
.4byte Exit_80E2090
.byte 0x19, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00
GettingHelp_80E25E4:
.string "Getting Help\0"
.align 2,0
.global gUnknown_80E25F4
gUnknown_80E25F4: @ 80E25F4
.string "What would you like to do?\0"
.align 2,0
.global gUnknown_80E2610
gUnknown_80E2610: @ 80E2610
.string "How would you like to send your\n"
.string "{COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1}?\0"
.align 2,0
.global gUnknown_80E2640
gUnknown_80E2640: @ 80E2640
.string "How would you like to receive your\n"
.string "friend{APOSTROPHE}s {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1}?\0"
.align 2,0
.global gUnknown_80E2680
gUnknown_80E2680: @ 80E2680
.string "How would you like to send your\n"
.string "{COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1}?\0"
.align 2,0
.global gUnknown_80E26B0
gUnknown_80E26B0: @ 80E26B0
.string "How would you like to receive your\n"
.string "friend{APOSTROPHE}s {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1}?\0"
.align 2,0
.global gUnknown_80E26F0
gUnknown_80E26F0: @ 80E26F0
.string "How would you like to send your\n"
.string "{COLOR_1 LIGHT_BLUE}Thank-You Mail{END_COLOR_TEXT_1}?\0"
.align 2,0
.global gUnknown_80E2728
gUnknown_80E2728: @ 80E2728
.string "How would you like to receive your\n"
.string "friend{APOSTROPHE}s {COLOR_1 LIGHT_BLUE}Thank-You Mail{END_COLOR_TEXT_1}?\0"
.align 2,0
.global gUnknown_80E276C
gUnknown_80E276C: @ 80E276C
.string "The GBA Game Pak does not have\n"
.string "an {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} on it.\0"
.align 2,0
.global gUnknown_80E27A4
gUnknown_80E27A4: @ 80E27A4
.string "If you accept an {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1}{COMMA} the\n"
.string "{COLOR_1 LIGHT_BLUE}Thank-You Mail{END_COLOR_TEXT_1} you received before\n"
.string "will be overwritten. Is that OK?\0"
.align 2,0
.global gUnknown_80E2814
gUnknown_80E2814: @ 80E2814
.string "Please enter the {COLOR_1 LIGHT_BLUE}A-OK Mail password{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E2840
gUnknown_80E2840: @ 80E2840
.string "The {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} will be received and\n"
.string "processed.\0"
.align 2,0
.global gUnknown_80E2874
gUnknown_80E2874: @ 80E2874
.string "A {COLOR_1 LIGHT_BLUE}helper Pokémon{END_COLOR_TEXT_1} also arrived!\0"
.align 2,0
.global gUnknown_80E2898
gUnknown_80E2898: @ 80E2898
.string "An {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} was received.\n"
.string "Your adventure will be saved.\0"
.align 2,0
.global gUnknown_80E28D8
gUnknown_80E28D8: @ 80E28D8
.string "Resume your game using {COLOR_1 LIGHT_BLUE}Revive Team{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E2904
gUnknown_80E2904: @ 80E2904
.string "Your friend{APOSTROPHE}s Mailbox is full.\n"
.string "This piece of mail cannot be sent.\n"
.string "The recipient must delete old mail.\0"
.align 2,0
.global gUnknown_80E296C
gUnknown_80E296C: @ 80E296C
.string "Please choose the {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1} you want\n"
.string "to send.\0"
.align 2,0
.global gUnknown_80E29A0
gUnknown_80E29A0: @ 80E29A0
.string "This {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1} will be sent.\n"
.string "Is that OK?\0"
.align 2,0
.global gUnknown_80E29D0
gUnknown_80E29D0: @ 80E29D0
.string "Your {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1} was sent.\n"
.string "Your adventure will be saved.\0"
.align 2,0
.global gUnknown_80E2A0C
gUnknown_80E2A0C: @ 80E2A0C
.asciz "Save completed."
.align 2,0
.global gUnknown_80E2A1C
gUnknown_80E2A1C: @ 80E2A1C
.string "Please give this password to the friend\n"
.string "coming to your rescue.\0"
.align 2,0
.global gUnknown_80E2A5C
gUnknown_80E2A5C: @ 80E2A5C
.string "Here is the {COLOR_1 LIGHT_BLUE}SOS Mail password{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E2A80
gUnknown_80E2A80: @ 80E2A80
.string "Here is the {COLOR_1 LIGHT_BLUE}A-OK Mail password{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E2AA8
gUnknown_80E2AA8: @ 80E2AA8
.string "Please give this password to the friend\n"
.string "that you rescued.\0"
.align 2,0
.global gUnknown_80E2AE4
gUnknown_80E2AE4: @ 80E2AE4
.string "Please connect a {COLOR_1 LIGHT_BLUE}Link Cable{END_COLOR_TEXT_1}.\n"
.string "When your friend{APOSTROPHE}s side is ready{COMMA} you may\n"
.string "communicate and exchange data.\0"
.align 2,0
.global gUnknown_80E2B54
gUnknown_80E2B54: @ 80E2B54
.string "Your {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} was sent.\n"
.string "Your adventure will be saved.\0"
.align 2,0
.global gUnknown_80E2B90
gUnknown_80E2B90: @ 80E2B90
.string "Using a {COLOR_1 LIGHT_BLUE}Game Link cable{END_COLOR_TEXT_1}{COMMA}\n"
.string "you can send a {COLOR_1 LIGHT_BLUE}helper Pokémon{END_COLOR_TEXT_1} to\n"
.string "a friend.\0"
.align 2,0
.global gUnknown_80E2BE0
gUnknown_80E2BE0: @ 80E2BE0
@@ -1132,4 +512,4 @@ gUnknown_80E499C: @ 80E499C
gUnknown_80E49C4: @ 80E49C4
.string "This password does not appear to be\n"
.string "that of a {COLOR_1 LIGHT_BLUE}Thank-You Mail{END_COLOR_TEXT_1}.\0"
.align 2,0
.align 2,0

View File

@@ -520,6 +520,7 @@ SECTIONS {
src/post_office_guide2.o(.rodata);
src/code_8031D70.o(.rodata);
src/adventure_log.o(.rodata);
src/friend_rescue.o(.rodata);
data/friend_rescue.o(.rodata);
data/credits1.o(.rodata);
src/credits2.o(.rodata);

View File

@@ -0,0 +1,316 @@
extern const u8 GoRescue_80E20AC[];
extern const u8 GetHelp_80E20A0[];
extern const u8 Info_80E2098[];
extern const u8 Exit_80E2090[];
const MenuItem gUnknown_80E2068[5] = {
{GoRescue_80E20AC, 0x0},
{GetHelp_80E20A0, 0x1},
{Info_80E2098, 0x17},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
const u8 Exit_80E2090[] = "Exit";
const u8 Info_80E2098[] = "Info";
const u8 GetHelp_80E20A0[] = "Get Help";
const u8 GoRescue_80E20AC[] = "Go Rescue";
const MenuItem gUnknown_80E20B8[5] = {
{GoRescue_80E20AC, 0x0},
{GetHelp_80E20A0, -1},
{Info_80E2098, 0x17},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
const MenuItem gUnknown_80E20E0[5] = {
{GoRescue_80E20AC, -1},
{GetHelp_80E20A0, 1},
{Info_80E2098, 0x17},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
const MenuItem gUnknown_80E2108[5] = {
{GoRescue_80E20AC, -1},
{GetHelp_80E20A0, -1},
{Info_80E2098, 0x17},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
extern const u8 ReceiveSOSMail_80E217C[];
extern const u8 SendAOKMail_80E216C[];
extern const u8 GetThankYouMail_80E2158[];
const MenuItem gUnknown_80E2130[5] = {
{ReceiveSOSMail_80E217C, 3},
{SendAOKMail_80E216C, 4},
{GetThankYouMail_80E2158, 0x14},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
const u8 GetThankYouMail_80E2158[] = "Get Thank-You Mail";
const u8 SendAOKMail_80E216C[] = "Send A-OK Mail";
const u8 ReceiveSOSMail_80E217C[] = "Receive SOS Mail";
const MenuItem gUnknown_80E2190[5] = {
{ReceiveSOSMail_80E217C, 3},
{SendAOKMail_80E216C, -1},
{GetThankYouMail_80E2158, 0x14},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
extern const u8 SendSOS_80E2208[];
extern const u8 ReceiveAOK_80E21F4[];
extern const u8 SendThankYou_80E21E0[];
const MenuItem gUnknown_80E21B8[5] = {
{SendSOS_80E2208, 0x11},
{ReceiveAOK_80E21F4, 0x12},
{SendThankYou_80E21E0, 0x13},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
const u8 SendThankYou_80E21E0[] = "Send Thank-You Mail";
const u8 ReceiveAOK_80E21F4[] = "Receive A-OK Mail";
const u8 SendSOS_80E2208[] = "Send SOS Mail";
const MenuItem gUnknown_80E2218[5] = {
{SendSOS_80E2208, -1},
{ReceiveAOK_80E21F4, -1},
{SendThankYou_80E21E0, 0x13},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
const MenuItem gUnknown_80E2240[5] = {
{SendSOS_80E2208, 0x11},
{ReceiveAOK_80E21F4, 0x12},
{SendThankYou_80E21E0, -1},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
const MenuItem gUnknown_80E2268[5] = {
{SendSOS_80E2208, -1},
{ReceiveAOK_80E21F4, -1},
{SendThankYou_80E21E0, -1},
{Exit_80E2090, 0x8},
{NULL, 0x8},
};
extern const u8 Yes_80E22B0[];
extern const u8 Cancel_80E22A8[];
const MenuItem gUnknown_80E2290[3] = {
{Yes_80E22B0, 6},
{Cancel_80E22A8, 0x8},
{NULL, 0x8},
};
const u8 Cancel_80E22A8[] = "Cancel";
const u8 Yes_80E22B0[] = "Yes";
extern const u8 No_80E22CC[];
const MenuItem gUnknown_80E22B4[3] = {
{Yes_80E22B0, 6},
{No_80E22CC, 7},
{NULL, 0x8},
};
const u8 No_80E22CC[] = "No";
const MenuItem gUnknown_80E22D0[4] = {
{Yes_80E22B0, 6},
{No_80E22CC, 7},
{Cancel_80E22A8, 8},
{NULL, 0x8},
};
extern const u8 SendPokemon_80E2308[];
const MenuItem gUnknown_80E22F0[3] = {
{SendPokemon_80E2308, 0x10},
{Cancel_80E22A8, 8},
{NULL, 0x8},
};
const u8 SendPokemon_80E2308[] = _("Send w/o Pokémon");
const UnkTextStruct2 gUnknown_80E231C =
{
0x00, 0x00, 0x00, 0x00,
0x03,
0x16, 0x07,
0x06, 0x04,
0x04, 0x00,
NULL
};
const UnkTextStruct2 gUnknown_80E2334 =
{
0x00, 0x00, 0x00, 0x00,
0x03,
0x16, 0x06,
0x06, 0x04,
0x04, 0x00,
NULL
};
extern const u8 Confirm_80E2364[];
const MenuItem gUnknown_80E234C[3] = {
{Confirm_80E2364, 9},
{Info_80E2098, 10},
{NULL, 0x8},
};
const u8 Confirm_80E2364[] = "Confirm";
extern const u8 GameLinkCable_80E2398[];
extern const u8 Password_80E238C[];
const MenuItem gUnknown_80E236C[4] = {
{GameLinkCable_80E2398, 0xB},
{Password_80E238C, 0xD},
{Cancel_80E22A8, 8},
{NULL, 0x8},
};
const u8 Password_80E238C[] = "Password";
const u8 GameLinkCable_80E2398[] = "Game Link cable";
extern const u8 SendPokemon_80E23E0[];
extern const u8 DontSendPokemon_80E23C8[];
const MenuItem gUnknown_80E23A8[4] = {
{SendPokemon_80E23E0, 0xF},
{DontSendPokemon_80E23C8, 0x10},
{Cancel_80E22A8, 8},
{NULL, 0x8},
};
ALIGNED(4) const u8 DontSendPokemon_80E23C8[] = _("Don{APOSTROPHE}t Send Pokémon");
ALIGNED(4) const u8 SendPokemon_80E23E0[] = _("Send Pokémon");
const UnkTextStruct2 gUnknown_80E23F0 =
{
0x00, 0x00, 0x00, 0x00,
0x03,
0x15, 0x04,
0x06, 0x05,
0x05, 0x00,
NULL
};
const MenuItem gUnknown_80E2408[4] = {
{Confirm_80E2364, 0x9},
{Info_80E2098, 0xA},
{Cancel_80E22A8, 5},
{NULL, 0x8},
};
UNUSED static const UnkTextStruct2 unused_text =
{
0x00, 0x00, 0x00, 0x00,
0x03,
0x00, 0x00,
0x00, 0x00,
0x00, 0x00,
NULL
};
const MenuItem gUnknown_80E2440[3] = {
{Yes_80E22B0, 6},
{Cancel_80E22A8, 0x8},
{NULL, 0x8},
};
const MenuItem gUnknown_80E2458[3] = {
{Yes_80E22B0, 6},
{No_80E22CC, 0x7},
{NULL, 0x8},
};
extern const u8 SendItem_80E24A4[];
extern const u8 DontSendItem_80E2490[];
const MenuItem gUnknown_80E2470[4] = {
{SendItem_80E24A4, 0x15},
{DontSendItem_80E2490, 0x16},
{Cancel_80E22A8, 8},
{NULL, 0x8},
};
const u8 DontSendItem_80E2490[] = _("Don{APOSTROPHE}t Send Item");
const u8 SendItem_80E24A4[] = "Send Item";
extern const u8 SendwoItem_80E24C8[];
const MenuItem gUnknown_80E24B0[3] = {
{SendwoItem_80E24C8, 0x16},
{Cancel_80E22A8, 8},
{NULL, 0x8},
};
const u8 SendwoItem_80E24C8[] = "Send w/o Item";
const MenuItem gUnknown_80E24D8[4] = {
{Yes_80E22B0, 6},
{No_80E22CC, 0x7},
{Cancel_80E22A8, 0x8},
{NULL, 0x8},
};
extern const u8 RescueInfo_80E2540[];
extern const u8 GoRescue_80E530[];
extern const u8 GetHelp_80E2520[];
const MenuItem gUnknown_80E24F8[5] = {
{RescueInfo_80E2540, 0x1A},
{GoRescue_80E530, 0x1B},
{GetHelp_80E2520, 0x1C},
{Cancel_80E22A8, 0x19},
{NULL, 0x19},
};
ALIGNED(4) const u8 GetHelp_80E2520[] = _("{COLOR_1 YELLOW}Get help{END_COLOR_TEXT_1} ");
ALIGNED(4) const u8 GoRescue_80E530[] = _("{COLOR_1 YELLOW}Go rescue{END_COLOR_TEXT_1} ");
const u8 RescueInfo_80E2540[] = "Friend Rescue Info";
extern const u8 RescueProcedures_80E25A0[];
extern const u8 LeaveForRescue_80E258C[];
const MenuItem gUnknown_80E2554[7] = {
{RescueProcedures_80E25A0, 0x1E},
{ReceiveSOSMail_80E217C, 0x1F},
{LeaveForRescue_80E258C, 0x20},
{SendAOKMail_80E216C, 0x21},
{GetThankYouMail_80E2158, 0x22},
{Exit_80E2090, 0x19},
{NULL, 0x19},
};
const u8 LeaveForRescue_80E258C[] = "Leave for Rescue";
const u8 RescueProcedures_80E25A0[] = "Rescue Procedures";
extern const u8 GettingHelp_80E25E4[];
const MenuItem gUnknown_80E25B4[6] = {
{GettingHelp_80E25E4, 0x23},
{SendSOS_80E2208, 0x24},
{ReceiveAOK_80E21F4, 0x25},
{SendThankYou_80E21E0, 0x26},
{Exit_80E2090, 0x19},
{NULL, 0x19},
};
const u8 GettingHelp_80E25E4[] = "Getting Help";

View File

@@ -1,4 +1,5 @@
#include "global.h"
#include "globaldata.h"
#include "code_80118A4.h"
#include "code_80130A8.h"
#include "code_801B3C0.h"
@@ -12,6 +13,7 @@
#include "constants/wonder_mail.h"
#include "cpu.h"
#include "friend_rescue.h"
#include "input.h"
#include "items.h"
#include "main_menu1.h"
#include "memory.h"
@@ -30,6 +32,111 @@ extern char gUnknown_202E5D8[0x50];
extern char gAvailablePokemonNames[0x50];
extern TeamInventory *gTeamInventoryRef;
// NOTE: MenuItems and UnkTextStruct2 defined in here..
#include "data/friend_rescue_menus.h"
const u8 gUnknown_80E25F4[] = "What would you like to do?";
ALIGNED(4) const u8 gUnknown_80E2610[] = _(
"How would you like to send your\n"
"{COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1}?");
ALIGNED(4) const u8 gUnknown_80E2640[] = _(
"How would you like to receive your\n"
"friend{APOSTROPHE}s {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1}?");
ALIGNED(4) const u8 gUnknown_80E2680[] = _(
"How would you like to send your\n"
"{COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1}?");
ALIGNED(4) const u8 gUnknown_80E26B0[] = _(
"How would you like to receive your\n"
"friend{APOSTROPHE}s {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1}?");
ALIGNED(4) const u8 gUnknown_80E26F0[] = _(
"How would you like to send your\n"
"{COLOR_1 LIGHT_BLUE}Thank-You Mail{END_COLOR_TEXT_1}?");
ALIGNED(4) const u8 gUnknown_80E2728[] = _(
"How would you like to receive your\n"
"friend{APOSTROPHE}s {COLOR_1 LIGHT_BLUE}Thank-You Mail{END_COLOR_TEXT_1}?");
ALIGNED(4) const u8 gUnknown_80E276C[] = _(
"The GBA Game Pak does not have\n"
"an {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} on it.");
ALIGNED(4) const u8 gUnknown_80E27A4[] = _(
"If you accept an {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1}{COMMA} the\n"
"{COLOR_1 LIGHT_BLUE}Thank-You Mail{END_COLOR_TEXT_1} you received before\n"
"will be overwritten. Is that OK?");
ALIGNED(4) const u8 gUnknown_80E2814[] = _(
"Please enter the {COLOR_1 LIGHT_BLUE}A-OK Mail password{END_COLOR_TEXT_1}.");
ALIGNED(4) const u8 gUnknown_80E2840[] = _(
"The {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} will be received and\n"
"processed.");
ALIGNED(4) const u8 gUnknown_80E2874[] = _(
"A {COLOR_1 LIGHT_BLUE}helper Pokémon{END_COLOR_TEXT_1} also arrived!");
ALIGNED(4) const u8 gUnknown_80E2898[] = _(
"An {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} was received.\n"
"Your adventure will be saved.");
ALIGNED(4) const u8 gUnknown_80E28D8[] = _(
"Resume your game using {COLOR_1 LIGHT_BLUE}Revive Team{END_COLOR_TEXT_1}.");
ALIGNED(4) const u8 gUnknown_80E2904[] = _(
"Your friend{APOSTROPHE}s Mailbox is full.\n"
"This piece of mail cannot be sent.\n"
"The recipient must delete old mail.");
ALIGNED(4) const u8 gUnknown_80E296C[] = _(
"Please choose the {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1} you want\n"
"to send.");
ALIGNED(4) const u8 gUnknown_80E29A0[] = _(
"This {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1} will be sent.\n"
"Is that OK?");
ALIGNED(4) const u8 gUnknown_80E29D0[] = _(
"Your {COLOR_1 LIGHT_BLUE}SOS Mail{END_COLOR_TEXT_1} was sent.\n"
"Your adventure will be saved.");
ALIGNED(4) const u8 gUnknown_80E2A0C[] = "Save completed.";
ALIGNED(4) const u8 gUnknown_80E2A1C[] = _(
"Please give this password to the friend\n"
"coming to your rescue.");
ALIGNED(4) const u8 gUnknown_80E2A5C[] = _(
"Here is the {COLOR_1 LIGHT_BLUE}SOS Mail password{END_COLOR_TEXT_1}.");
ALIGNED(4) const u8 gUnknown_80E2A80[] = _(
"Here is the {COLOR_1 LIGHT_BLUE}A-OK Mail password{END_COLOR_TEXT_1}.");
ALIGNED(4) const u8 gUnknown_80E2AA8[] = _(
"Please give this password to the friend\n"
"that you rescued.");
ALIGNED(4) const u8 gUnknown_80E2AE4[] = _(
"Please connect a {COLOR_1 LIGHT_BLUE}Link Cable{END_COLOR_TEXT_1}.\n"
"When your friend{APOSTROPHE}s side is ready{COMMA} you may\n"
"communicate and exchange data.");
ALIGNED(4) const u8 gUnknown_80E2B54[] = _(
"Your {COLOR_1 LIGHT_BLUE}A-OK Mail{END_COLOR_TEXT_1} was sent.\n"
"Your adventure will be saved.");
ALIGNED(4) const u8 gUnknown_80E2B90[] = _(
"Using a {COLOR_1 LIGHT_BLUE}Game Link cable{END_COLOR_TEXT_1}{COMMA}\n"
"you can send a {COLOR_1 LIGHT_BLUE}helper Pokémon{END_COLOR_TEXT_1} to\n"
"a friend.");
extern u8 gUnknown_80E44A4[];
extern u8 gUnknown_80E4500[];
extern u8 gUnknown_80E4550[];
@@ -44,7 +151,6 @@ extern u8 gUnknown_80E4788[];
extern u8 gUnknown_80E47D8[];
extern u8 gUnknown_80E4480[];
extern u8 gUnknown_80E482C[];
extern u8 gUnknown_80E25F4[];
extern u8 gUnknown_80E2D7C[];
extern u8 gUnknown_80E2E20[];
extern u8 gUnknown_80E319C[];
@@ -53,17 +159,7 @@ extern u8 gUnknown_80E32C4[];
extern u8 gUnknown_80E4314[];
extern u8 gUnknown_80E41DC[];
extern u8 gUnknown_80E2FEC[];
extern u8 gUnknown_80E2898[];
extern u8 gUnknown_80E2B54[];
extern u8 gUnknown_80E29D0[];
extern u8 gUnknown_80E3220[];
extern u8 gUnknown_80E2A0C[];
extern u8 gUnknown_80E2610[];
extern u8 gUnknown_80E2640[];
extern u8 gUnknown_80E2680[];
extern u8 gUnknown_80E26B0[];
extern u8 gUnknown_80E26F0[];
extern u8 gUnknown_80E2728[];
extern u8 gUnknown_80E3690[];
extern u8 gUnknown_80E3818[];
extern u8 gUnknown_80E3998[];
@@ -98,33 +194,18 @@ extern u8 gUnknown_80E331C[];
extern u8 gUnknown_80E3288[];
extern u8 gUnknown_80E3248[];
extern u8 gUnknown_80E31FC[];
extern u8 gUnknown_80E276C[];
extern u8 gUnknown_80E27A4[];
extern u8 gUnknown_80E2CD4[];
extern u8 gUnknown_80E3030[];
extern u8 gUnknown_80E3078[];
extern u8 gUnknown_80E31D8[];
extern u8 gUnknown_80E2CE8[];
extern u8 gUnknown_80E2B90[];
extern u8 gUnknown_80E2AE4[];
extern u8 gUnknown_80E2A80[];
extern u8 gUnknown_80E2AA8[];
extern u8 gUnknown_80E2D60[];
extern u8 gUnknown_80E2BE0[];
extern u8 gUnknown_80E2C48[];
extern u8 gUnknown_80E29A0[];
extern u8 gUnknown_80E2A5C[];
extern u8 gUnknown_80E2904[];
extern u8 gUnknown_80E2C94[];
extern u8 gUnknown_80E2D30[];
extern u8 gUnknown_80E296C[];
extern u8 gUnknown_80E314C[];
extern u8 gUnknown_80E2A1C[];
extern u8 gUnknown_80E2840[];
extern u8 gUnknown_80E2874[];
extern u8 gUnknown_80E317C[];
extern u8 gUnknown_80E28D8[];
extern u8 gUnknown_80E2814[];
extern u8 gUnknown_80E30D0[];
extern u8 gUnknown_80E48A8[];
extern u8 gUnknown_80E49C4[];
@@ -136,122 +217,90 @@ extern u8 gUnknown_80E499C[];
extern u8 gUnknown_80E460C[];
extern u8 gUnknown_80E31FC[];
extern MenuItem gUnknown_80E20B8;
extern MenuItem gUnknown_80E2108;
extern MenuItem gUnknown_80E20E0;
extern MenuItem gUnknown_80E2068;
extern MenuItem gUnknown_80E24F8;
extern MenuItem gUnknown_80E2554;
extern MenuItem gUnknown_80E22F0;
extern MenuItem gUnknown_80E236C;
extern MenuItem gUnknown_80E2440;
extern MenuItem gUnknown_80E2470;
extern MenuItem gUnknown_80E24B0;
extern MenuItem gUnknown_80E2130;
extern MenuItem gUnknown_80E2190;
extern MenuItem gUnknown_80E21B8;
extern MenuItem gUnknown_80E2268;
extern MenuItem gUnknown_80E2218;
extern MenuItem gUnknown_80E2240;
extern MenuItem gUnknown_80E2290;
extern MenuItem gUnknown_80E22D0;
extern MenuItem gUnknown_80E234C;
extern MenuItem gUnknown_80E24D8;
extern MenuItem gUnknown_80E2458;
extern MenuItem gUnknown_80E2408;
extern MenuItem gUnknown_80E23A8;
extern MenuItem gUnknown_80E22B4;
extern UnkTextStruct2 gUnknown_80E231C;
extern UnkTextStruct2 gUnknown_80E23F0;
extern UnkTextStruct2 gUnknown_80E2334;
extern MenuItem gUnknown_80E25B4;
EWRAM_DATA_2 WonderMailStruct_203B33C *gUnknown_203B33C = {0};
extern u8 sub_8039880(void);
extern void sub_8035300(void);
extern void QueueNextFriendRescueState(u32);
extern void nullsub_41(void);
extern void nullsub_42(void);
extern void nullsub_43(void);
extern void nullsub_44(void);
extern void nullsub_45(void);
extern void nullsub_46(void);
extern void nullsub_47(void);
extern void nullsub_48(void);
extern void nullsub_49(void);
extern void nullsub_50(void);
extern void nullsub_51(void);
extern void sub_8035374(void);
extern void sub_80353BC(void);
extern void sub_8033A2C(void);
extern void sub_803477C(void);
extern void sub_80347AC(void);
extern void sub_80347C8(void);
extern void sub_80347E4(void);
extern void sub_8034804(void);
extern void sub_80344C0(void);
extern void sub_8034478(void);
extern void sub_80344A0(void);
extern void sub_803418C(void);
extern void sub_8034254(void);
extern void sub_8034310(void);
extern void sub_8034378(void);
extern void sub_80343C4(void);
extern void sub_8034404(void);
extern void sub_8034500(void);
extern void sub_8034590(void);
extern void sub_803464C(void);
extern void sub_80346A8(void);
extern void sub_80346D8(void);
extern void sub_8034700(void);
extern void sub_8034720(void);
extern void sub_803473C(void);
extern void sub_8033FB4(void);
extern void sub_8034074(void);
extern void sub_8034130(void);
extern void sub_8033FE4(void);
extern void sub_8033D74(void);
extern void sub_8033D94(void);
extern void sub_8033DBC(void);
extern void sub_8033F64(void);
extern void sub_8033C54(void);
extern void sub_8033CAC(void);
extern void sub_8033D48(void);
extern void sub_8035424(void);
extern void sub_8034970(void);
extern void sub_80351E0(void);
extern void sub_8034D74(void);
extern void sub_8034EF0(void);
extern void sub_8034F38(void);
extern void sub_80352A4(void);
extern void sub_8034EC8(void);
extern void sub_8033B8C(void);
extern void sub_80339C8(void);
extern void sub_80348C4(void);
extern void sub_803482C(void);
extern void sub_80349B0(void);
extern void sub_8034A70(void);
extern void sub_8034B2C(void);
extern void sub_80349E0(void);
extern void sub_8034B88(void);
extern void sub_8034C98(void);
extern void sub_8034C38(void);
extern void sub_8034D54(void);
extern void sub_8034F18(void);
extern void sub_8034F58(void);
extern void sub_8034F88(void);
extern void sub_8035018(void);
extern void sub_8035038(void);
extern void sub_8035094(void);
extern void sub_80350F4(void);
extern void sub_803517C(void);
extern void sub_8035210(void);
extern void sub_8035430(void);
extern void sub_8034848(void);
void sub_8035300(void);
void QueueNextFriendRescueState(u32);
void nullsub_41(void);
void nullsub_42(void);
void nullsub_43(void);
void nullsub_44(void);
void nullsub_45(void);
void nullsub_46(void);
void nullsub_47(void);
void nullsub_48(void);
void nullsub_49(void);
void nullsub_50(void);
void nullsub_51(void);
void sub_8035374(void);
void sub_80353BC(void);
void sub_8033A2C(void);
void sub_803477C(void);
void sub_80347AC(void);
void sub_80347C8(void);
void sub_80347E4(void);
void sub_8034804(void);
void sub_80344C0(void);
void sub_8034478(void);
void sub_80344A0(void);
void sub_803418C(void);
void sub_8034254(void);
void sub_8034310(void);
void sub_8034378(void);
void sub_80343C4(void);
void sub_8034404(void);
void sub_8034500(void);
void sub_8034590(void);
void sub_803464C(void);
void sub_80346A8(void);
void sub_80346D8(void);
void sub_8034700(void);
void sub_8034720(void);
void sub_803473C(void);
void sub_8033FB4(void);
void sub_8034074(void);
void sub_8034130(void);
void sub_8033FE4(void);
void sub_8033D74(void);
void sub_8033D94(void);
void sub_8033DBC(void);
void sub_8033F64(void);
void sub_8033C54(void);
void sub_8033CAC(void);
void sub_8033D48(void);
void sub_8035424(void);
void sub_8034970(void);
void sub_80351E0(void);
void sub_8034D74(void);
void sub_8034EF0(void);
void sub_8034F38(void);
void sub_80352A4(void);
void sub_8034EC8(void);
void sub_8033B8C(void);
void sub_80339C8(void);
void sub_80348C4(void);
void sub_803482C(void);
void sub_80349B0(void);
void sub_8034A70(void);
void sub_8034B2C(void);
void sub_80349E0(void);
void sub_8034B88(void);
void sub_8034C98(void);
void sub_8034C38(void);
void sub_8034D54(void);
void sub_8034F18(void);
void sub_8034F58(void);
void sub_8034F88(void);
void sub_8035018(void);
void sub_8035038(void);
void sub_8035094(void);
void sub_80350F4(void);
void sub_803517C(void);
void sub_8035210(void);
void sub_8035430(void);
void sub_8034848(void);
extern u32 sub_8030DA0(void);
extern void sub_8030DE4(void);
@@ -262,13 +311,10 @@ extern void sub_8030D40(u8, u32);
extern void sub_8030810(u32);
extern u8 sub_80307EC(void);
extern u32 sub_8031DCC(void);
extern void sub_8031E10(void);
extern void sub_8031E00(void);
extern u32 sub_8039068(u32, u8 *passwordBuffer, unkStruct_203B480 *r0);
extern void sub_803084C(void);
extern void sub_8031E10(void);
extern void sub_8030DE4(void);
extern u8 sub_800D588(void);
extern u32 sub_8023CE8(void);
extern u32 sub_80306A8(u32 wonderMailType, u32, UnkTextStruct2_sub *, u32);
@@ -277,13 +323,7 @@ extern void sub_803092C(void);
extern bool8 sub_8031D70(u32 mailIndex, s32);
extern s32 sub_8037B28(u32);
extern s32 CountMailType(u8 mailType);
extern u32 GetDungeonTeamRankPts(DungeonLocation *, u32);
unkStruct_203B480 * GetMailatIndex(u8 index);
extern s32 GetMailIndex(u8 mailType, u32 param_2);
extern char * GetMonSpecies(s16 index);
extern void MemoryFill8(u8 *dest, u8 value, s32 size);
extern void ResetUnusedInputStruct(void);
extern void sprintfStatic(char *buffer, const char *text, ...);
u32 CreateFriendRescueMenu(void)
@@ -692,70 +732,70 @@ void sub_8032828(void)
case 0x0:
if (CountMailType(WONDER_MAIL_TYPE_SOS) == 0 && CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0) {
if (gUnknown_203B33C->unk52C != 0)
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
}
else {
if (gUnknown_203B33C->unk52C != 0)
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
}
break;
case 0x1:
if (CountMailType(WONDER_MAIL_TYPE_SOS) == 0 && CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0) {
if (gUnknown_203B33C->unk52C != 0)
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
}
else {
if (gUnknown_203B33C->unk52C != 0)
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E25F4[0], 0, 0, &gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
}
break;
case 0x3:
if (CountMailType(WONDER_MAIL_TYPE_AOK) != 0)
sub_8014248(&gUnknown_80E25F4[0], 0, 3, &gUnknown_80E2130, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 3, gUnknown_80E2130, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E25F4[0], 0, 3, &gUnknown_80E2190, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 3, gUnknown_80E2190, NULL, 4, 0, NULL, 0x101);
break;
case 0x4:
if (CountMailType(WONDER_MAIL_TYPE_SOS) == 0) {
if (CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0)
sub_8014248(&gUnknown_80E25F4[0], 0, 17, &gUnknown_80E2268, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2268, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E25F4[0], 0, 17, &gUnknown_80E2218, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2218, NULL, 4, 0, NULL, 0x101);
}
else {
if (CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0)
sub_8014248(&gUnknown_80E25F4[0], 0, 17, &gUnknown_80E2240, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2240, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E25F4[0], 0, 17, &gUnknown_80E21B8, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E21B8, NULL, 4, 0, NULL, 0x101);
}
break;
case 0xE:
switch(gUnknown_203B33C->unk528) {
case 0x11:
sub_8014248(&gUnknown_80E2610[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2610[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
break;
case 0x3:
sub_8014248(&gUnknown_80E2640[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2640[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
break;
case 0x4:
sub_8014248(&gUnknown_80E2680[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2680[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
break;
case 0x12:
sub_8014248(&gUnknown_80E26B0[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E26B0[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
break;
case 0x13:
sub_8014248(&gUnknown_80E26F0[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E26F0[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
break;
case 0x14:
sub_8014248(&gUnknown_80E2728[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2728[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
break;
}
break;
@@ -763,7 +803,7 @@ void sub_8032828(void)
sub_80141B4(&gUnknown_80E276C[0], 0, 0, 0x101);
break;
case 0x3D:
sub_8014248(&gUnknown_80E27A4[0], 0, 6, &gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E27A4[0], 0, 6, gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
break;
case 0x43:
sub_80141B4(&gUnknown_80E2814[0], 0, 0, 0x101);
@@ -802,7 +842,7 @@ void sub_8032828(void)
}
break;
case 0x35:
sub_8014248(&gUnknown_80E29A0[0], 0, 6, &gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E29A0[0], 0, 6, gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
break;
case 0x37:
switch ((u32)gUnknown_203B33C->unk524) {
@@ -864,7 +904,7 @@ void sub_8032828(void)
sub_80141B4(&gUnknown_80E2B90[0], 0, 0, 0x101);
break;
case 0x21:
sub_8014248(&gUnknown_80E2BE0[0], 0, 15, &gUnknown_80E23A8, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2BE0[0], 0, 15, gUnknown_80E23A8, NULL, 4, 0, NULL, 0x101);
break;
case 0x25:
sub_80141B4(&gUnknown_80E2C48[0], 0, 0, 0x101);
@@ -878,15 +918,15 @@ void sub_8032828(void)
break;
case 0x27:
sub_8006518(gUnknown_203B33C->unk35C);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E2334, &gUnknown_80E234C, TRUE, 0, FALSE);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E2334, gUnknown_80E234C, TRUE, 0, FALSE);
sub_8023DA4();
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
break;
case 0x24:
sub_8014248(&gUnknown_80E2C94[0], 0, 16, &gUnknown_80E22F0, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2C94[0], 0, 16, gUnknown_80E22F0, NULL, 4, 0, NULL, 0x101);
break;
case 0x29:
sub_8014248(&gUnknown_80E2CD4[0], 0, 6, &gUnknown_80E22D0, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2CD4[0], 0, 6, gUnknown_80E22D0, NULL, 4, 0, NULL, 0x101);
break;
case 0x1C:
sub_80141B4(&gUnknown_80E2CE8[0], 0, 0, 0x101);
@@ -899,17 +939,17 @@ void sub_8032828(void)
}
break;
case 0x20:
sub_8014248(&gUnknown_80E2D30[0], 0, 6, &gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2D30[0], 0, 6, gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
break;
case 0x22:
sub_80141B4(&gUnknown_80E2D60[0], 0, 0, 0x101);
break;
case 0x5:
sub_8014248(&gUnknown_80E2D7C[0], 0, 6, &gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2D7C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
break;
case 0xA:
case 0x4C:
sub_8014248(&gUnknown_80E2E20[0], 0, 6, &gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2E20[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
break;
case 0xB:
case 0x4D:
@@ -1005,7 +1045,7 @@ void sub_8032828(void)
sub_80306A8(1, 0, NULL, 6);
break;
case 0x15:
sub_8014248(&gUnknown_80E2F78[0], 0, 6, &gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2F78[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
break;
case 0xF:
sub_80141B4(&gUnknown_80E2FA0[0], 0, 0, 0x101);
@@ -1034,14 +1074,14 @@ void sub_8032828(void)
sub_80151C0(4, gUnknown_203B33C->passwordBuffer);
break;
case 0x5A:
sub_8014248(&gUnknown_80E30A4[0], 0, 6, &gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E30A4[0], 0, 6, gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
break;
case 0x5B:
sub_80141B4(gUnknown_80E30D0, 0, 0, 0x101);
break;
case 0x5D:
sub_8006518(gUnknown_203B33C->unk35C);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E231C, &gUnknown_80E2408, TRUE, 0, FALSE);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E231C, gUnknown_80E2408, TRUE, 0, FALSE);
sub_803092C();
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
break;
@@ -1057,7 +1097,7 @@ void sub_8032828(void)
break;
case 0x60:
sub_8006518(gUnknown_203B33C->unk35C);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E23F0, &gUnknown_80E2408, TRUE, 0, FALSE);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E23F0, gUnknown_80E2408, TRUE, 0, FALSE);
sub_801CCD8();
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
break;
@@ -1173,7 +1213,7 @@ void sub_8032828(void)
sub_80141B4(gUnknown_80E3288, 0, 0, 0x101);
break;
case 0x69:
sub_8014248(&gUnknown_80E2D7C[0], 0, 6, &gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E2D7C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
break;
case 0x59:
sub_80922B4(buffer, GetPlayerPokemonStruct()->name, POKEMON_NAME_LENGTH);
@@ -1181,7 +1221,7 @@ void sub_8032828(void)
sub_80141B4(gUnknown_203B33C->unk424, 0, 0, 0x101);
break;
case 0x58:
sub_8014248(&gUnknown_80E331C[0], 0, 6, &gUnknown_80E24D8, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E331C[0], 0, 6, gUnknown_80E24D8, NULL, 4, 0, NULL, 0x101);
break;
case 0x75:
sub_80141B4(gUnknown_80E317C, 0, 0, 0x101);
@@ -1193,16 +1233,16 @@ void sub_8032828(void)
sub_80141B4(&gUnknown_80E3378[0], 0, 0, 0x101);
break;
case 0x56:
sub_8014248(&gUnknown_80E339C[0], 0, 22, &gUnknown_80E24B0, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E339C[0], 0, 22, gUnknown_80E24B0, NULL, 4, 0, NULL, 0x101);
break;
case 0x55:
sub_8014248(&gUnknown_80E33D8[0], 0, 21, &gUnknown_80E2470, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E33D8[0], 0, 21, gUnknown_80E2470, NULL, 4, 0, NULL, 0x101);
break;
case 0x53:
sub_80141B4(&gUnknown_80E3430[0], 0, 0, 0x101);
break;
case 0x54:
sub_8014248(&gUnknown_80E34B0[0], 0, 6, &gUnknown_80E2440, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E34B0[0], 0, 6, gUnknown_80E2440, NULL, 4, 0, NULL, 0x101);
break;
case 0x46:
sub_80141B4(&gUnknown_80E34F0[0], 0, 0, 0x101);
@@ -1220,12 +1260,12 @@ void sub_8032828(void)
case 0x1E:
case 0x33:
sub_8006518(gUnknown_203B33C->unk35C);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E231C, &gUnknown_80E234C, TRUE, 0, FALSE);
SetMenuItems(gUnknown_203B33C->unk21C, gUnknown_203B33C->unk35C, 3, &gUnknown_80E231C, gUnknown_80E234C, TRUE, 0, FALSE);
sub_803092C();
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
break;
case 0x4A:
sub_8014248(&gUnknown_80E352C[0], 0, 6, &gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E352C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
break;
case 0x44:
sub_80141B4(&gUnknown_80E355C[0], 0, 0, 0x101);
@@ -1238,12 +1278,12 @@ void sub_8032828(void)
break;
case 0x52:
if (gUnknown_203B33C->unk40 == 6)
sub_8014248(&gUnknown_80E360C[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E360C[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
else
sub_8014248(&gUnknown_80E3644[0], 0, 11, &gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
sub_8014248(&gUnknown_80E3644[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
break;
case 0x7C:
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, &gUnknown_80E25B4, 0, 4, 0, 0, 0x101);
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E25B4, 0, 4, 0, 0, 0x101);
break;
case 0x7D:
switch (gUnknown_203B33C->unk564) {
@@ -1262,7 +1302,7 @@ void sub_8032828(void)
}
break;
case 0x7A:
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, &gUnknown_80E2554, 0, 4, 0, 0, 0x101);
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E2554, 0, 4, 0, 0, 0x101);
break;
case 0x7B:
switch (gUnknown_203B33C->unk564) {
@@ -1284,7 +1324,7 @@ void sub_8032828(void)
}
break;
case 0x78:
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, &gUnknown_80E24F8, 0, 4, 0, 0, 0x101);
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E24F8, 0, 4, 0, 0, 0x101);
break;
case 0x79:
switch (gUnknown_203B33C->unk564) {
@@ -1648,7 +1688,7 @@ void sub_8033DBC(void)
switch(sub_8039068(mailMode, gUnknown_203B33C->passwordBuffer, &mail))
{
case PASSWORD_ENTRY_INCORRECT_PASSWORD:
sub_8014248(gUnknown_80E48A8, 0, 6, &gUnknown_80E2290, 0, 4, 0, 0, 0x101);
sub_8014248(gUnknown_80E48A8, 0, 6, gUnknown_80E2290, 0, 4, 0, 0, 0x101);
SetFriendRescueMenuState(0x1B);
break;
case PASSWORD_ENTRY_NOT_SOS_MAIL:
@@ -2532,7 +2572,7 @@ void sub_8034D74(void)
switch(sub_8039068(PASSWORD_ENTRY_THANK_YOU_MAIL_MODE, gUnknown_203B33C->passwordBuffer, &mail))
{
case PASSWORD_ENTRY_INCORRECT_PASSWORD:
sub_8014248(gUnknown_80E48A8, 0, 6, &gUnknown_80E2440, 0, 4, 0, 0, 0x101);
sub_8014248(gUnknown_80E48A8, 0, 6, gUnknown_80E2440, 0, 4, 0, 0, 0x101);
SetFriendRescueMenuState(0x74);
break;
case PASSWORD_ENTRY_NOT_THANK_YOU_MAIL: