mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-09 12:08:39 -05:00
minor: more documentation and work
This commit is contained in:
parent
155d4e9f0d
commit
f9ef7a58f3
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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[];
|
||||
|
|
|
|||
|
|
@ -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[];
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user