From f9ef7a58f321bff3041fa17f1528e8e871bfb8b4 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Sun, 2 Apr 2023 11:04:53 -0700 Subject: [PATCH] minor: more documentation and work --- src/code_801D760.c | 10 +-- src/friend_list_menu_1.c | 20 +++--- src/wonder_mail.c | 85 +++++++++++------------ src/wonder_mail_2_1.c | 6 +- src/wonder_mail_2_mid.c | 3 +- src/wonder_mail_3.c | 2 +- src/wonder_mail_3_mid.c | 137 +++++++++++++++++++------------------- src/wonder_mail_4.c | 2 +- src/wonder_mail_5.c | 2 +- src/wonder_mail_802DF88.c | 9 +-- 10 files changed, 138 insertions(+), 138 deletions(-) diff --git a/src/code_801D760.c b/src/code_801D760.c index 59063f118..cd94d33e3 100644 --- a/src/code_801D760.c +++ b/src/code_801D760.c @@ -107,13 +107,13 @@ struct unk_203B250 *gUnknown_203B250; void sub_801D680(void) { - int local_c; + int menuAction; - local_c = 0; - if ((sub_8012FD8(&gUnknown_203B250->unk18) == '\0') && (sub_8013114(&gUnknown_203B250->unk18,&local_c), local_c != 1)) { - gUnknown_203B250->unk14 = local_c; + menuAction = 0; + if ((sub_8012FD8(&gUnknown_203B250->unk18) == '\0') && (sub_8013114(&gUnknown_203B250->unk18,&menuAction), menuAction != 1)) { + gUnknown_203B250->unk14 = menuAction; } - switch(local_c) { + switch(menuAction) { case 2: sub_801D208(3); break; diff --git a/src/friend_list_menu_1.c b/src/friend_list_menu_1.c index 19f1ae683..e44eafca8 100644 --- a/src/friend_list_menu_1.c +++ b/src/friend_list_menu_1.c @@ -17,7 +17,7 @@ struct unkStruct_203B2B4 // size: 0x178 s32 unk0; s32 state; - u32 unk8; + u32 fallbackState; u8 unkC; u8 unkD; s16 species; @@ -97,7 +97,7 @@ bool8 sub_80252F0(s32 param_1) return FALSE; } else { - gUnknown_203B2B4 = MemoryAlloc(0x178,8); + gUnknown_203B2B4 = MemoryAlloc(sizeof(struct unkStruct_203B2B4),8); gUnknown_203B2B4->unk70 = 0; gUnknown_203B2B4->unk0 = param_1; gUnknown_203B2B4->unkC = sub_8002658(sub_80A5728()); @@ -180,7 +180,7 @@ void sub_8025434(s32 newState) void sub_802544C(void) { - s32 iVar5; + s32 index; sub_8006518(gUnknown_203B2B4->unk118); @@ -200,9 +200,9 @@ void sub_802544C(void) sub_8012CAC(&gUnknown_203B2B4->unk118[2],gUnknown_203B2B4->unkC8); break; default: - for(iVar5 = 0; iVar5 < 4; iVar5++) + for(index = 0; index < 4; index++) { - gUnknown_203B2B4->unk118[iVar5] = gUnknown_80DD148; + gUnknown_203B2B4->unk118[index] = gUnknown_80DD148; } break; @@ -219,7 +219,7 @@ void sub_8025518(void) switch(gUnknown_203B2B4->state) { case 0: - gUnknown_203B2B4->unk8 = 1; + gUnknown_203B2B4->fallbackState = 1; sub_80141B4(gUnknown_80DD1A8,0,0,0x301); break; case 1: @@ -262,19 +262,19 @@ void sub_8025518(void) sub_801B3C0(&item); break; case 8: - gUnknown_203B2B4->unk8 = 2; + gUnknown_203B2B4->fallbackState = 2; sub_80141B4(gUnknown_80DD1C8,0,0,0x101); break; case 9: - gUnknown_203B2B4->unk8 = 2; + gUnknown_203B2B4->fallbackState = 2; sub_80141B4(gUnknown_80DD1EC,0,0,0x101); break; case 10: - gUnknown_203B2B4->unk8 = 2; + gUnknown_203B2B4->fallbackState = 2; sub_80141B4(gUnknown_80DD240,0,0,0x101); break; case 7: - gUnknown_203B2B4->unk8 = 1; + gUnknown_203B2B4->fallbackState = 1; PlaySound(0xcf); sub_80141B4(gUnknown_80DD270,0,0,0x101); break; diff --git a/src/wonder_mail.c b/src/wonder_mail.c index cebf0efde..cf45434a5 100644 --- a/src/wonder_mail.c +++ b/src/wonder_mail.c @@ -171,6 +171,7 @@ enum FriendRescueStates { RECEIVED_FRIEND_SOS_MAIL_SAVE_PRE = 0x24, RECEIVED_FRIEND_SOS_MAIL_SAVE_COMPLETE = 0x25, PROMPT_SOS_MAIL_PASSWORD = 0x26, + PROMPT_CHOOSE_AOK_MAIL = 0x29, NO_AOK_MAIL_TO_SEND = 0x2F, NO_POKEMON_IN_FRIEND_AREA = 0x31, PROMPT_SELECT_HELPER_POKEMON = 0x32, @@ -360,7 +361,7 @@ u32 sub_8028078(void) case 0x2d: sub_80295A8(); break; - case 0x29: + case PROMPT_CHOOSE_AOK_MAIL: sub_8029668(); break; case 0x2b: @@ -578,7 +579,7 @@ void sub_8028348(void) case 0x2D: sub_8014248(gUnknown_80DDDBC, 0, 8, gUnknown_80DDA64, 0, 4, 0, &gUnknown_203B2C0->faceFile,0xC); break; - case 0x29: + case PROMPT_CHOOSE_AOK_MAIL: sub_80141B4(gUnknown_80DDDD8, 0, &gUnknown_203B2C0->faceFile,0x10d); break; case 0x2A: @@ -854,14 +855,14 @@ void PrintFriendRescueCounterError(u32 errorCode) void sub_8028BF0(void) { - u32 temp; - if(sub_80144A4(&temp) != 0) + u32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } gUnknown_203B2C0->unk40 = 8; gUnknown_203B2C0->speciesNum = -1; - switch(temp) + switch(menuChoice) { case 0: gUnknown_203B2C0->unk40 = 3; @@ -890,7 +891,7 @@ void sub_8028BF0(void) gUnknown_203B2C0->unk538 = 2; if(CountMailType(WONDER_MAIL_TYPE_AOK) != 0) { - SetFriendRescueCounterState(0x29); + SetFriendRescueCounterState(PROMPT_CHOOSE_AOK_MAIL); } else { @@ -951,13 +952,13 @@ void sub_8028CFC() void sub_8028D4C() { - s32 temp; + s32 menuChoice; - if(sub_80144A4(&temp) != 0) + if(sub_80144A4(&menuChoice) != 0) { return; } - gUnknown_203B2C0->unk538 = temp; + gUnknown_203B2C0->unk538 = menuChoice; switch(gUnknown_203B2C0->unk538) { case 5: @@ -1010,13 +1011,13 @@ void sub_8028E08() void sub_8028E24() { - s32 temp; + s32 menuChoice; - if(sub_80144A4(&temp) != 0) + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 8: SetFriendRescueCounterState(CONFIRM_DELETE_ALL_MAIL_1); @@ -1031,13 +1032,13 @@ void sub_8028E24() void sub_8028E54() { - s32 temp; + s32 menuChoice; - if(sub_80144A4(&temp) != 0) + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 8: SetFriendRescueCounterState(CONFIRM_DELETE_ALL_MAIL_2); @@ -1080,13 +1081,13 @@ void sub_8028EAC() void sub_8028ED4() { - s32 temp; + s32 menuChoice; - if(sub_80144A4(&temp) != 0) + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp){ + switch(menuChoice){ case 8: SetFriendRescueCounterState(0xB); break; @@ -1168,14 +1169,14 @@ void sub_8028FC0() void sub_8028FDC(void) { - s32 temp; + s32 menuChoice; struct unkStruct_203B480 *mail; - if(sub_80144A4(&temp) != 0) + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 8: mail = sub_8095228(gUnknown_203B2C0->mailIndex); @@ -1295,12 +1296,12 @@ void sub_80291AC(void) void sub_8029208(void) { - s32 temp; - if(sub_80144A4(&temp) != 0) + s32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 13: @@ -1340,12 +1341,12 @@ void sub_8029208(void) void sub_80292A4(void) { - s32 temp; - if(sub_80144A4(&temp) != 0) + s32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 8: switch(gUnknown_203B2C0->unk538) @@ -1504,12 +1505,12 @@ void sub_80293F4(void) void sub_802955C(void) { - s32 temp; - if(sub_80144A4(&temp) != 0) + s32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 8: SetFriendRescueCounterState(PROMPT_SOS_MAIL_PASSWORD); @@ -1532,12 +1533,12 @@ void sub_802958C(void) void sub_80295A8(void) { - s32 temp; - if(sub_80144A4(&temp) != 0) + s32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 8: SetFriendRescueCounterState(0x8); @@ -1750,12 +1751,12 @@ void sub_8029944(void) void sub_80299AC(void) { - s32 temp; - if(sub_80144A4(&temp) != 0) + s32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 0x12: SetFriendRescueCounterState(4); @@ -1770,12 +1771,12 @@ void sub_80299AC(void) void sub_80299D8(void) { - s32 temp; - if(sub_80144A4(&temp) != 0) + s32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 8: @@ -1792,12 +1793,12 @@ void sub_80299D8(void) void sub_8029A18(void) { - s32 temp; - if(sub_80144A4(&temp) != 0) + s32 menuChoice; + if(sub_80144A4(&menuChoice) != 0) { return; } - switch(temp) + switch(menuChoice) { case 0x11: if(sub_8024108(3) != 0) diff --git a/src/wonder_mail_2_1.c b/src/wonder_mail_2_1.c index 70aa44570..d9199c857 100644 --- a/src/wonder_mail_2_1.c +++ b/src/wonder_mail_2_1.c @@ -19,7 +19,7 @@ struct unkStruct_203B2E8 s16 unk24; s16 unk26; u16 unk28; - u16 unk2A; + u16 acceptedJobs; u16 unk2C; u8 fill2E[0x3C - 0x2E]; u32 unk3C; @@ -143,7 +143,7 @@ extern struct WonderMail* GetJobSlotInfo(u8); extern s32 sub_8013800(void *, u32); extern void sub_803B35C(void *, u32 *); extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32); -extern void CreateRescueTitle(void *); +extern void CreateRescueTitle(struct unkStruct_802C39C *); extern void sub_8013984(u32 *); extern void sub_802C6DC(void); @@ -263,7 +263,7 @@ void sub_802C640(u8 r0) { ResetUnusedInputStruct(); sub_800641C(gUnknown_203B2E8->unk44, 0, 0); - gUnknown_203B2E8->unk2A = CountAcceptedJobs(); + gUnknown_203B2E8->acceptedJobs = CountAcceptedJobs(); sub_8013984(&gUnknown_203B2E8->unk8); sub_802C6DC(); DrawJobListMenu(); diff --git a/src/wonder_mail_2_mid.c b/src/wonder_mail_2_mid.c index 84ae37cb5..51c83c228 100644 --- a/src/wonder_mail_2_mid.c +++ b/src/wonder_mail_2_mid.c @@ -31,7 +31,7 @@ extern struct WonderMail *GetPelipperBoardSlotInfo(u32); extern void sub_803B35C(struct WonderMail *, u32 *); extern u8 gBulletinBoardText[]; extern bool8 IsMailinJobSlot(struct WonderMail *); -extern void CreateRescueTitle(void *); +extern void CreateRescueTitle(struct unkStruct_802C39C *); extern void xxx_call_draw_string(s32, s32, u8 *, s32, s32); @@ -83,7 +83,6 @@ extern struct UnkTextStruct2 gUnknown_80DFC9C; extern u16 gUnknown_203B2E4; extern struct WonderMail *GetMailboxSlotInfo(u8); -extern void CreateRescueTitle(void *); extern struct PokemonStruct *GetPlayerPokemonStruct(void); extern u8 gMailboxText[]; extern u8 gAvailablePokemonNames[]; diff --git a/src/wonder_mail_3.c b/src/wonder_mail_3.c index b57dfa98f..bad548ab3 100644 --- a/src/wonder_mail_3.c +++ b/src/wonder_mail_3.c @@ -150,7 +150,7 @@ extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); -extern void CreateRescueTitle(void *); +extern void CreateRescueTitle(struct unkStruct_802C39C *); extern s32 sub_8013800(void *, u32); extern u8 gUnknown_80DFDBC[]; diff --git a/src/wonder_mail_3_mid.c b/src/wonder_mail_3_mid.c index a3918e39c..330e53d26 100644 --- a/src/wonder_mail_3_mid.c +++ b/src/wonder_mail_3_mid.c @@ -10,6 +10,7 @@ #include "friend_area.h" #include "item.h" #include "menu_input.h" +#include "code_802C39C.h" struct unkStruct_803B344 { @@ -29,12 +30,7 @@ struct unkStruct_203B30C s32 state; u8 unk4; u8 unk5[3]; - u32 unk8; - u8 fillC[0x4C - 0xC]; - u8 unk4C; - u8 fill4D[0x58 - 0x4D]; - u8 *unk58; - u32 unk5C; + struct unkStruct_802C39C unk8; struct MenuStruct unk60; struct MenuItem unkB0[8]; struct UnkTextStruct2 unkF0[4]; @@ -98,6 +94,20 @@ struct unkStruct_203B314 extern struct unkStruct_203B314 *gUnknown_203B314; + +enum FriendRewardStates { + PREP_MONEY_REWARD = 0, + MONEY_REWARD = 1, + PREP_FRIEND_AREA_REWARD = 2, + UNLOCK_FRIEND_AREA = 3, + PREP_ITEM_REWARD = 4, + GIVE_ITEM_REWARD = 5, + NEXT_ITEM = 6, + TEAM_PNTS_REWARD = 7, + NEW_TEAM_RANK = 8, + REWARD_EXIT = 9, +}; + extern u8 sub_802FCF0(u32); extern void sub_802F9C0(void); extern void sub_802FA50(void); @@ -107,7 +117,7 @@ extern void sub_8013878(u32 *, s32); extern void AddMenuCursorSprite(u32 *); extern void sub_8013984(u32 *); -extern void sub_802F2E8(u32); +extern void SetRewardSceneState(u32); extern void sub_802EFEC(u32); extern void sub_802F148(void); extern void sub_802F184(void); @@ -118,8 +128,8 @@ extern void sub_801B72C(void); extern u32 sub_801B6AC(void); extern void sub_802F108(void); extern s32 sub_80144A4(s32 *); -extern void sub_803B35C(struct WonderMail*, u32 *); -extern void sub_802DE84(u32 *); +extern void sub_803B35C(struct WonderMail*, struct unkStruct_802C39C *); +extern void sub_802DE84(struct unkStruct_802C39C *); extern void sub_802CDD4(u32); extern void sub_802CED8(u32); extern void sub_802CFD0(void); @@ -322,7 +332,7 @@ void sub_802EFEC(u32 newState) void sub_802F004(void) { - s32 iVar3; + s32 index; sub_8006518(gUnknown_203B30C->unkF0); switch(gUnknown_203B30C->state) @@ -333,9 +343,9 @@ void sub_802F004(void) sub_8012CAC(&gUnknown_203B30C->unkF0[2], gUnknown_203B30C->unkB0); break; default: - for(iVar3 = 0; iVar3 < 4; iVar3++) + for(index = 0; index < 4; index++) { - gUnknown_203B30C->unkF0[iVar3] = gUnknown_80E03C4; + gUnknown_203B30C->unkF0[index] = gUnknown_80E03C4; } } ResetUnusedInputStruct(); @@ -361,9 +371,9 @@ void sub_802F088(void) case 3: temp = sub_803B344(gUnknown_203B30C->unk4); sub_803B35C(&temp->mail, &gUnknown_203B30C->unk8); - gUnknown_203B30C->unk8 = 3; - gUnknown_203B30C->unk4C = 0; - gUnknown_203B30C->unk58 = temp->unk18; + gUnknown_203B30C->unk8.unk0[0] = 3; + gUnknown_203B30C->unk8.unk44 = 0; + gUnknown_203B30C->unk8.unk50[0] = temp->unk18; sub_802DE84(&gUnknown_203B30C->unk8); } } @@ -446,7 +456,7 @@ void sub_802F1E8(void) -u32 sub_802F204(struct unkStruct_802F204 *r0, bool8 r1) +u32 sub_802F204(struct unkStruct_802F204 *r0, bool8 displayClientSprite) { struct unkStruct_203B310 *preload; @@ -455,7 +465,7 @@ u32 sub_802F204(struct unkStruct_802F204 *r0, bool8 r1) gUnknown_203B310 = MemoryAlloc(sizeof(struct unkStruct_203B310), 8); gUnknown_203B310->unk10 = r0; gUnknown_203B310->itemRewardIndex = 0; - gUnknown_203B310->displayClientDialogueSprite = r1; + gUnknown_203B310->displayClientDialogueSprite = displayClientSprite; // NOTE: dumb var to get correct ordering preload = gUnknown_203B310; @@ -476,7 +486,7 @@ u32 sub_802F204(struct unkStruct_802F204 *r0, bool8 r1) gUnknown_203B310->faceData = gUnknown_203B310->faceFile->data; } - sub_802F2E8(0); + SetRewardSceneState(PREP_MONEY_REWARD); return 1; } @@ -484,9 +494,9 @@ u32 sub_802F298(void) { switch(gUnknown_203B310->state) { - case 9: + case REWARD_EXIT: return 3; - case 5: + case GIVE_ITEM_REWARD: sub_802F6FC(); return 0; default: @@ -506,7 +516,7 @@ void sub_802F2C0(void) } } -void sub_802F2E8(u32 newState) +void SetRewardSceneState(u32 newState) { gUnknown_203B310->state = newState; sub_802F300(); @@ -515,14 +525,14 @@ void sub_802F2E8(u32 newState) void sub_802F300(void) { - s32 iVar3; + s32 index; switch(gUnknown_203B310->state) { - case 0: + case PREP_MONEY_REWARD: sub_8006518(gUnknown_203B310->unk24); - for(iVar3 = 0; iVar3 < 4; iVar3++) + for(index = 0; index < 4; index++) { - gUnknown_203B310->unk24[iVar3] = gUnknown_80E041C; + gUnknown_203B310->unk24[index] = gUnknown_80E041C; } ResetUnusedInputStruct(); sub_800641C(gUnknown_203B310->unk24, 1, 1); @@ -540,24 +550,23 @@ void HandleMissionReward(void) struct Item item; switch(gUnknown_203B310->state) { - case 0: - // Reward intro.. + case PREP_MONEY_REWARD: moneyReward = gUnknown_203B310->unk10->moneyReward; if (moneyReward == 0) { - sub_802F2E8(2); + SetRewardSceneState(PREP_FRIEND_AREA_REWARD); } else { gUnknown_202DE30 = moneyReward; if (gUnknown_203B310->displayClientDialogueSprite) { sub_80141B4(gUnknown_80E0434,0,&gUnknown_203B310->faceFile,0x10d); - gUnknown_203B310->nextState = 1; + gUnknown_203B310->nextState = MONEY_REWARD; } else { - sub_802F2E8(1); + SetRewardSceneState(MONEY_REWARD); } } break; - case 1: + case MONEY_REWARD: PlaySound(0xcb); AddToTeamMoney(gUnknown_203B310->unk10->moneyReward); if (sub_808D544(0) < 2) { @@ -566,26 +575,24 @@ void HandleMissionReward(void) else { sub_80141B4(gUnknown_80E0484,0,0,0x101); } - gUnknown_203B310->nextState = 2; + gUnknown_203B310->nextState = PREP_FRIEND_AREA_REWARD; break; - case 2: - if (gUnknown_203B310->unk10->friendAreaReward == '\0') { - // No friend area reward.. go to item reward - sub_802F2E8(4); + case PREP_FRIEND_AREA_REWARD: + if (gUnknown_203B310->unk10->friendAreaReward == 0) { + SetRewardSceneState(PREP_ITEM_REWARD); } else { sub_8092578(gUnknown_202E628,gUnknown_203B310->unk10->friendAreaReward,0); if (gUnknown_203B310->displayClientDialogueSprite) { sub_80141B4(gUnknown_80E04B4,0,&gUnknown_203B310->faceFile,0x10d); - gUnknown_203B310->nextState = 3; + gUnknown_203B310->nextState = UNLOCK_FRIEND_AREA; } else { - sub_802F2E8(3); + SetRewardSceneState(UNLOCK_FRIEND_AREA); } } break; - case 3: - // Friend area reward + case UNLOCK_FRIEND_AREA: if (GetFriendAreaStatus(gUnknown_203B310->unk10->friendAreaReward)) { // We already have the friend area AddToTeamMoney(1000); @@ -605,9 +612,9 @@ void HandleMissionReward(void) sub_80141B4(gUnknown_80E05FC,0,0,0x101); } } - gUnknown_203B310->nextState = 4; + gUnknown_203B310->nextState = PREP_ITEM_REWARD; break; - case 4: + case PREP_ITEM_REWARD: itemID = gUnknown_203B310->unk10->itemRewards[0]; if (itemID != ITEM_NOTHING) { @@ -626,26 +633,24 @@ void HandleMissionReward(void) sub_8090E14(gUnknown_202DEA8,&item,&local_20); if (gUnknown_203B310->displayClientDialogueSprite) { sub_80141B4(gUnknown_80E0640,0,&gUnknown_203B310->faceFile,0x10d); - gUnknown_203B310->nextState = 5; + gUnknown_203B310->nextState = GIVE_ITEM_REWARD; } else { - sub_802F2E8(5); + SetRewardSceneState(GIVE_ITEM_REWARD); } } else { - sub_802F2E8(5); + SetRewardSceneState(GIVE_ITEM_REWARD); } } else - sub_802F2E8(7); + SetRewardSceneState(TEAM_PNTS_REWARD); break; - case 5: - // Item reward + case GIVE_ITEM_REWARD: if ((gUnknown_203B310->unk10->itemRewards[gUnknown_203B310->itemRewardIndex]) == 0) { - // No item in this reward slot - sub_802F2E8(6); + SetRewardSceneState(NEXT_ITEM); } else { if ((gUnknown_203B310->itemRewardIndex == 0) && (gUnknown_203B310->unk10->moneyReward == 0)) { @@ -656,47 +661,41 @@ void HandleMissionReward(void) } } break; - case 6: - // Increase item reward slot index + case NEXT_ITEM: gUnknown_203B310->itemRewardIndex++; if(gUnknown_203B310->itemRewardIndex < MAX_ITEM_REWARDS) - sub_802F2E8(5); + SetRewardSceneState(GIVE_ITEM_REWARD); else - // No more items to check... move to give points - sub_802F2E8(7); + SetRewardSceneState(TEAM_PNTS_REWARD); break; - case 7: + case TEAM_PNTS_REWARD: if (gUnknown_203B310->unk10->teamRankPtsReward == 0) { - // No pnts to reward - sub_802F2E8(9); + SetRewardSceneState(REWARD_EXIT); } else { gUnknown_203B310->currTeamRank = GetRescueTeamRank(); AddToTeamRankPts(gUnknown_203B310->unk10->teamRankPtsReward); PlaySound(0xcb); if (gUnknown_203B310->currTeamRank != GetRescueTeamRank()) { - // Rank up time - gUnknown_203B310->nextState = 8; + gUnknown_203B310->nextState = NEW_TEAM_RANK; } else { - // No rank up.. close out - gUnknown_203B310->nextState = 9; + gUnknown_203B310->nextState = REWARD_EXIT; } gUnknown_202DE30 = gUnknown_203B310->unk10->teamRankPtsReward; sub_80141B4(gUnknown_80E0670,0,0,0x101); } break; - case 8: - // Rank up + case NEW_TEAM_RANK: PlaySound(0xc9); - gUnknown_203B310->nextState = 9; + gUnknown_203B310->nextState = REWARD_EXIT; rankString = GetTeamRankString(gUnknown_203B310->currTeamRank); strcpy(gUnknown_202E038,rankString); rankString = GetTeamRankString(GetRescueTeamRank()); strcpy(gUnknown_202E038 + 0x50,rankString); sub_80141B4(gUnknown_80E06A8,0,0,0x101); break; - case 9: + case REWARD_EXIT: break; } } @@ -707,8 +706,8 @@ void sub_802F6FC(void) { case 2: case 3: - sub_801B72C(); - sub_802F2E8(6); + sub_801B72C(); + SetRewardSceneState(NEXT_ITEM); break; case 0: case 1: @@ -721,7 +720,7 @@ void sub_802F718(void) s32 temp; if (sub_80144A4(&temp) == 0) { - sub_802F2E8(gUnknown_203B310->nextState); + SetRewardSceneState(gUnknown_203B310->nextState); } } diff --git a/src/wonder_mail_4.c b/src/wonder_mail_4.c index 6578b2e67..f5f1c527f 100644 --- a/src/wonder_mail_4.c +++ b/src/wonder_mail_4.c @@ -101,7 +101,7 @@ extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32); extern void sub_8008C54(u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); -extern void CreateRescueTitle(void *); +extern void CreateRescueTitle(struct unkStruct_802C39C *); u32 sub_80306A8(u32 wonderMailType, u32 r1, struct UnkTextStruct2_sub *r2, u32 r3) { diff --git a/src/wonder_mail_5.c b/src/wonder_mail_5.c index bc06f252b..016db8b64 100644 --- a/src/wonder_mail_5.c +++ b/src/wonder_mail_5.c @@ -50,7 +50,7 @@ extern void sub_8030DD4(void); extern void sub_801317C(void *); extern void PlayMenuSoundEffect(u32); extern u32 sub_8012A64(void *, u32); -extern void CreateRescueDescription(void *); +extern void CreateRescueDescription(struct unkStruct_802C39C *); extern void xxx_call_draw_string(u32, u32, const char *, u32, u32); extern void sub_80073E0(u32); extern void sub_80073B8(u32); diff --git a/src/wonder_mail_802DF88.c b/src/wonder_mail_802DF88.c index 0042fafef..ebe144815 100644 --- a/src/wonder_mail_802DF88.c +++ b/src/wonder_mail_802DF88.c @@ -10,6 +10,7 @@ #include "wonder_mail_3.h" #include "code_80958E8.h" #include "menu_input.h" +#include "code_802C39C.h" struct unkStruct_203B2FC { @@ -40,7 +41,7 @@ struct unkStruct_203B300 { // size: 0x7C u8 fill0[0xC]; - u32 *unkC; + struct unkStruct_802C39C *unkC; u32 unk10; struct UnkTextStruct2 *unk14; struct UnkTextStruct2 unk18[4]; @@ -108,7 +109,7 @@ static const u8 wonder_mail_802DF88_fill1[] = "pksdir0"; extern void sub_80073B8(u32); extern void sub_80073E0(u32); -extern void CreateRescueDescription(u32 *); +extern void CreateRescueDescription(struct unkStruct_802C39C *); extern void PlayMenuSoundEffect(u32); extern s32 sub_8012A64(void *, u32); extern s32 sub_80144A4(s32 *); @@ -524,12 +525,12 @@ void sub_802DE60(void) } } -u32 sub_802DE84(u32 *r0) +u32 sub_802DE84(struct unkStruct_802C39C *r0) { gUnknown_203B300 = MemoryAlloc(sizeof(struct unkStruct_203B300), 8); gUnknown_203B300->unkC = r0; sub_801317C(); - gUnknown_203B300->unk10 = *gUnknown_203B300->unkC; + gUnknown_203B300->unk10 = gUnknown_203B300->unkC->unk0[0]; gUnknown_203B300->unk14 = &gUnknown_203B300->unk18[gUnknown_203B300->unk10]; sub_8006518(gUnknown_203B300->unk18); gUnknown_203B300->unk18[gUnknown_203B300->unk10] = gUnknown_80E0264;