summaryrefslogtreecommitdiff
path: root/src/post_office_guide.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/post_office_guide.c')
-rw-r--r--src/post_office_guide.c258
1 files changed, 147 insertions, 111 deletions
diff --git a/src/post_office_guide.c b/src/post_office_guide.c
index 2c0f1d6..8fbfe56 100644
--- a/src/post_office_guide.c
+++ b/src/post_office_guide.c
@@ -2,7 +2,6 @@
#include "pokemon.h"
#include "file_system.h"
#include "input.h"
-#include "constants/species.h"
#include "menu.h"
#include "memory.h"
#include "text.h"
@@ -62,14 +61,51 @@ extern const char Delivery_Text[];
extern const char BulletinBoard_Text[];
extern const char PostOffice_Text[];
+enum PostOfficeStates
+{
+ EXIT_POST_OFFICE_MENU,
+ IM_GUIDE_START_MENU,
+ ANYTHING_ELSE_START_MENU,
+ RETURN_TO_START_MENU,
+ DISPLAY_FRIEND_RESCUE_MENU,
+ RETURN_TO_FRIEND_RESCUE,
+ DISPLAY_GO_RESCUE_MENU,
+ RETURN_TO_GO_RESCUE,
+ DISPLAY_GET_HELP_MENU,
+ RETURN_TO_GET_HELP,
+};
+
+enum PostOfficeMenuActions
+{
+ POST_OFFICE,
+ BULLETIN_BOARD,
+ DELIVERY,
+ FRIEND_RESCUE,
+ CANCEL,
+ EXIT,
+ FRIEND_RESCUE_INFO,
+ GO_RESCUE,
+ GET_HELP_MENU,
+ DELETING_MAIL,
+ RESCUE_PROCEDURES,
+ RECEIVE_SOS_MAIL,
+ LEAVE_FOR_RESCUE,
+ SEND_AOK_MAIL,
+ GET_THANK_YOU_MAIL,
+ GETTING_HELP,
+ SEND_SOS_MAIL,
+ RECEIVE_AOK_MAIL,
+ SEND_THANK_YOU_MAIL
+};
+
const struct MenuItem gPostOfficeHelpStartMenu[] =
{
- {PostOffice_Text, 0x0},
- {BulletinBoard_Text, 0x1},
- {Delivery_Text, 0x2},
- {FriendRescue_80E0A80,0x3},
- {Cancel_80E0A78,0x4},
- {NULL,0x5}
+ {PostOffice_Text, POST_OFFICE},
+ {BulletinBoard_Text, BULLETIN_BOARD},
+ {Delivery_Text, DELIVERY},
+ {FriendRescue_80E0A80, FRIEND_RESCUE},
+ {Cancel_80E0A78, CANCEL},
+ {NULL, EXIT}
};
ALIGNED(4) const char Cancel_80E0A78[] = _("Cancel");
@@ -80,12 +116,12 @@ ALIGNED(4) const char PostOffice_Text[] = _("Post Office");
const struct MenuItem gPostOfficeHelpFriendRescueMenu[] =
{
- {FriendRescueInfo_Text, 0x6},
- {GoRescue_Text, 0x7},
- {GetHelp_Text, 0x8},
- {DeletingMailInfo_Text,0x9},
- {Exit_80EA0EC,0x5},
- {NULL,0x5}
+ {FriendRescueInfo_Text, FRIEND_RESCUE_INFO},
+ {GoRescue_Text, GO_RESCUE},
+ {GetHelp_Text, GET_HELP_MENU},
+ {DeletingMailInfo_Text, DELETING_MAIL},
+ {Exit_80EA0EC, EXIT},
+ {NULL, EXIT}
};
ALIGNED(4) const char Exit_80EA0EC[] = _("Exit");
@@ -97,13 +133,13 @@ ALIGNED(4) const char FriendRescueInfo_Text[] = _("Friend Rescue Info");
const struct MenuItem gPostOfficeHelpGoRescueMenu[] =
{
- {RescueProcedures_Text, 0xA},
- {ReceiveSOSMail_Text, 0xB},
- {LeaveForRescue_Text, 0xC},
- {SendAOKMail_Text, 0xD},
- {GetThankYouMail_Text,0xE},
- {Exit_80EA0EC,0x5},
- {NULL,0x5}
+ {RescueProcedures_Text, RESCUE_PROCEDURES},
+ {ReceiveSOSMail_Text, RECEIVE_SOS_MAIL},
+ {LeaveForRescue_Text, LEAVE_FOR_RESCUE},
+ {SendAOKMail_Text, SEND_AOK_MAIL},
+ {GetThankYouMail_Text, GET_THANK_YOU_MAIL},
+ {Exit_80EA0EC, EXIT},
+ {NULL, EXIT}
};
ALIGNED(4) const char GetThankYouMail_Text[] = _("Get Thank-You Mail");
@@ -115,12 +151,12 @@ ALIGNED(4) const char RescueProcedures_Text[] = _("Rescue Procedures");
const struct MenuItem gPostOfficeHelpGetHelpMenu[] =
{
- {GettingHelp_Text, 0xF},
- {SendSOSMail_Text, 0x10},
- {ReceiveAOKMail_Text, 0x11},
- {SendThankYouMail_Text,0x12},
- {Exit_80EA0EC,0x5},
- {NULL,0x5}
+ {GettingHelp_Text, GETTING_HELP},
+ {SendSOSMail_Text, SEND_SOS_MAIL},
+ {ReceiveAOKMail_Text, RECEIVE_AOK_MAIL},
+ {SendThankYouMail_Text, SEND_THANK_YOU_MAIL},
+ {Exit_80EA0EC, EXIT},
+ {NULL, EXIT}
};
ALIGNED(4) const char SendThankYouMail_Text[] = _("Send Thank-You Mail");
@@ -168,13 +204,13 @@ extern void sub_801317C(void *);
void UpdateHelperPelipperState(u8);
void HandlePostOfficeHelpStartMenuSelection();
-void sub_8031848();
+void ReturnToPostOfficeStartMenu();
extern void HandlePostOfficeHelpFriendRescueMenuSelection();
-extern void sub_80318D0();
+extern void ReturnToFriendRescueMenu();
extern void HandlePostOfficeHelpGoRescueMenuSelection();
-extern void sub_803192C();
+extern void ReturntoGoRescueMenu();
extern void HandlePostOfficeHelpGetHelpMenuSelection();
-extern void sub_8031988();
+extern void ReturnToGetHelpMenu();
extern s32 sub_80144A4(s32 *);
extern s32 sub_80969D0(u8);
extern void sub_8012D08(struct UnkTextStruct2 *, s32);
@@ -208,40 +244,40 @@ u32 CreateHelperPelipperMenu(s16 speciesID)
}
}
gPostOfficeHelper->currMenuChoice = 0;
- UpdateHelperPelipperState(1);
+ UpdateHelperPelipperState(IM_GUIDE_START_MENU);
return 1;
}
-u32 sub_8031540(void)
+u32 HelperPelliperCallback(void)
{
switch(gPostOfficeHelper->state) {
- case 1:
- case 2:
+ case IM_GUIDE_START_MENU:
+ case ANYTHING_ELSE_START_MENU:
HandlePostOfficeHelpStartMenuSelection();
break;
- case 3:
- sub_8031848();
+ case RETURN_TO_START_MENU:
+ ReturnToPostOfficeStartMenu();
break;
- case 4:
+ case DISPLAY_FRIEND_RESCUE_MENU:
HandlePostOfficeHelpFriendRescueMenuSelection();
break;
- case 5:
- sub_80318D0();
+ case RETURN_TO_FRIEND_RESCUE:
+ ReturnToFriendRescueMenu();
break;
- case 6:
+ case DISPLAY_GO_RESCUE_MENU:
HandlePostOfficeHelpGoRescueMenuSelection();
break;
- case 7:
- sub_803192C();
+ case RETURN_TO_GO_RESCUE:
+ ReturntoGoRescueMenu();
break;
- case 0:
+ case EXIT_POST_OFFICE_MENU:
return 3;
- case 8:
+ case DISPLAY_GET_HELP_MENU:
HandlePostOfficeHelpGetHelpMenuSelection();
break;
- case 9:
- sub_8031988();
+ case RETURN_TO_GET_HELP:
+ ReturnToGetHelpMenu();
break;
}
return 0;
@@ -271,85 +307,85 @@ void UpdateHelperPelipperText(void)
switch(gPostOfficeHelper->state)
{
- case 8:
+ case DISPLAY_GET_HELP_MENU:
sub_8014248(gWhatdYouWantToKnow, 0, gPostOfficeHelper->currMenuChoice, gPostOfficeHelpGetHelpMenu, 0, 4, 0, faceFile, 0xC);
break;
- case 9:
+ case RETURN_TO_GET_HELP:
switch(gPostOfficeHelper->currMenuChoice)
{
- case 15:
+ case GETTING_HELP:
sub_80141B4(gGettingHelpExplaination, 0, faceFile, 0x10d);
break;
- case 16:
+ case SEND_SOS_MAIL:
sub_80141B4(gSendSOSMailExplaination, 0, faceFile, 0x10d);
break;
- case 17:
+ case RECEIVE_AOK_MAIL:
sub_80141B4(gReceiveAOKMailExplaination, 0, faceFile, 0x10d);
break;
- case 18:
+ case SEND_THANK_YOU_MAIL:
sub_80141B4(gSendThankYouMailExplaination, 0, faceFile, 0x10d);
break;
default:
break;
}
break;
- case 6:
+ case DISPLAY_GO_RESCUE_MENU:
sub_8014248(gWhatdYouWantToKnow, 0, gPostOfficeHelper->currMenuChoice, gPostOfficeHelpGoRescueMenu, 0, 4, 0, faceFile, 0xC);
break;
- case 7:
+ case RETURN_TO_GO_RESCUE:
switch(gPostOfficeHelper->currMenuChoice)
{
- case 10:
+ case RESCUE_PROCEDURES:
sub_80141B4(gRescueProceduresExplaination, 0, faceFile, 0x10d);
break;
- case 11:
+ case RECEIVE_SOS_MAIL:
sub_80141B4(gReceiveSOSMailExplaination, 0, faceFile, 0x10d);
break;
- case 13:
+ case SEND_AOK_MAIL:
sub_80141B4(gSendAOKMailExplaination, 0, faceFile, 0x10d);
break;
- case 12:
+ case LEAVE_FOR_RESCUE:
sub_80141B4(gLeaveForRescueExplaination, 0, faceFile, 0x10d);
break;
- case 14:
+ case GET_THANK_YOU_MAIL:
sub_80141B4(gGetThankYouMailExplaination, 0, faceFile, 0x10d);
break;
default:
break;
}
break;
- case 1:
+ case IM_GUIDE_START_MENU:
sub_8014248(gImYourGuide, 0, gPostOfficeHelper->currMenuChoice, gPostOfficeHelpStartMenu, 0, 4, 0, faceFile, 0xC);
break;
- case 2:
+ case ANYTHING_ELSE_START_MENU:
sub_8014248(gAnythingElse, 0, gPostOfficeHelper->currMenuChoice, gPostOfficeHelpStartMenu, 0, 4, 0, faceFile, 0xC);
break;
- case 3:
+ case RETURN_TO_START_MENU:
switch(gPostOfficeHelper->currMenuChoice)
{
- case 0:
+ case POST_OFFICE:
sub_80141B4(gPostOfficeExplaination, 0, faceFile, 0x10d);
break;
- case 1:
+ case BULLETIN_BOARD:
sub_80141B4(gBulletinBoardExplaination, 0, faceFile, 0x10d);
break;
- case 2:
+ case DELIVERY:
sub_80141B4(gDeliveryExplaination, 0, faceFile, 0x10d);
break;
default:
break;
}
break;
- case 4:
+ case DISPLAY_FRIEND_RESCUE_MENU:
sub_8014248(gWhatdYouWantToKnow, 0, gPostOfficeHelper->currMenuChoice, gPostOfficeHelpFriendRescueMenu, 0, 4, 0, faceFile, 0xC);
break;
- case 5:
+ case RETURN_TO_FRIEND_RESCUE:
switch(gPostOfficeHelper->currMenuChoice)
{
- case 6:
+ case FRIEND_RESCUE_INFO:
sub_80141B4(gFriendRescueExplaination, 0, faceFile, 0x10d);
break;
- case 9:
+ case DELETING_MAIL:
sub_80141B4(gDeletingMailExplaination, 0, faceFile, 0x10d);
break;
default:
@@ -375,30 +411,30 @@ void HandlePostOfficeHelpStartMenuSelection(void)
{
switch(chosenAction)
{
- case 4:
- case 5:
- UpdateHelperPelipperState(0);
+ case CANCEL:
+ case EXIT:
+ UpdateHelperPelipperState(EXIT_POST_OFFICE_MENU);
break;
- case 3:
+ case FRIEND_RESCUE:
gPostOfficeHelper->currMenuChoice = chosenAction;
- UpdateHelperPelipperState(4);
+ UpdateHelperPelipperState(DISPLAY_FRIEND_RESCUE_MENU);
break;
- case 0:
- case 1:
- case 2:
+ case POST_OFFICE:
+ case BULLETIN_BOARD:
+ case DELIVERY:
gPostOfficeHelper->currMenuChoice = chosenAction;
- UpdateHelperPelipperState(3);
+ UpdateHelperPelipperState(RETURN_TO_START_MENU);
break;
}
}
}
-void sub_8031848(void)
+void ReturnToPostOfficeStartMenu(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
- UpdateHelperPelipperState(2);
+ UpdateHelperPelipperState(ANYTHING_ELSE_START_MENU);
}
}
@@ -409,30 +445,30 @@ void HandlePostOfficeHelpFriendRescueMenuSelection(void)
{
switch(chosenAction)
{
- case 5:
- UpdateHelperPelipperState(2);
+ case EXIT:
+ UpdateHelperPelipperState(ANYTHING_ELSE_START_MENU);
break;
- case 7:
- UpdateHelperPelipperState(6);
+ case GO_RESCUE:
+ UpdateHelperPelipperState(DISPLAY_GO_RESCUE_MENU);
break;
- case 8:
- UpdateHelperPelipperState(8);
+ case GET_HELP_MENU:
+ UpdateHelperPelipperState(DISPLAY_GET_HELP_MENU);
break;
- case 6:
- case 9:
+ case FRIEND_RESCUE_INFO:
+ case DELETING_MAIL:
gPostOfficeHelper->currMenuChoice = chosenAction;
- UpdateHelperPelipperState(5);
+ UpdateHelperPelipperState(RETURN_TO_FRIEND_RESCUE);
break;
}
}
}
-void sub_80318D0(void)
+void ReturnToFriendRescueMenu(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
- UpdateHelperPelipperState(4);
+ UpdateHelperPelipperState(DISPLAY_FRIEND_RESCUE_MENU);
}
}
@@ -443,27 +479,27 @@ void HandlePostOfficeHelpGoRescueMenuSelection(void)
{
switch(chosenAction)
{
- case 5:
- UpdateHelperPelipperState(4);
+ case EXIT:
+ UpdateHelperPelipperState(DISPLAY_FRIEND_RESCUE_MENU);
break;
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
+ case RESCUE_PROCEDURES:
+ case RECEIVE_SOS_MAIL:
+ case LEAVE_FOR_RESCUE:
+ case SEND_AOK_MAIL:
+ case GET_THANK_YOU_MAIL:
gPostOfficeHelper->currMenuChoice = chosenAction;
- UpdateHelperPelipperState(7);
+ UpdateHelperPelipperState(RETURN_TO_GO_RESCUE);
break;
}
}
}
-void sub_803192C(void)
+void ReturntoGoRescueMenu(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
- UpdateHelperPelipperState(6);
+ UpdateHelperPelipperState(DISPLAY_GO_RESCUE_MENU);
}
}
@@ -474,26 +510,26 @@ void HandlePostOfficeHelpGetHelpMenuSelection(void)
{
switch(chosenAction)
{
- case 5:
- UpdateHelperPelipperState(4);
+ case EXIT:
+ UpdateHelperPelipperState(DISPLAY_FRIEND_RESCUE_MENU);
break;
- case 15:
- case 16:
- case 17:
- case 18:
+ case GETTING_HELP:
+ case SEND_SOS_MAIL:
+ case RECEIVE_AOK_MAIL:
+ case SEND_THANK_YOU_MAIL:
gPostOfficeHelper->currMenuChoice = chosenAction;
- UpdateHelperPelipperState(9);
+ UpdateHelperPelipperState(RETURN_TO_GET_HELP);
break;
}
}
}
-void sub_8031988(void)
+void ReturnToGetHelpMenu(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
- UpdateHelperPelipperState(8);
+ UpdateHelperPelipperState(DISPLAY_GET_HELP_MENU);
}
}
@@ -503,7 +539,7 @@ u32 sub_80319A4(u8 param_1,u8 param_2,int param_3)
gUnknown_203B330 = MemoryAlloc(0x78,8);
gUnknown_203B330->unkC = param_1;
gUnknown_203B330->unkD = param_2;
- sub_801317C(gUnknown_203B330);
+ sub_801317C(&gUnknown_203B330->unk0);
gUnknown_203B330->unk10 = param_3;
gUnknown_203B330->unk14 = &gUnknown_203B330->unk18[param_3];
sub_8031A2C();