mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-27 11:14:28 -05:00
Decomp most of friend_rescue (#49)
* decomp most of friend_rescue * dump corresponding data * more data dumping and name some personality test funcs * dump more text
This commit is contained in:
2614
asm/friend_rescue.s
2614
asm/friend_rescue.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4,12 +4,16 @@
|
||||
struct WonderMailStruct_203B33C
|
||||
{
|
||||
// size: 0x568
|
||||
u32 unk0;
|
||||
u32 state;
|
||||
u32 unk4;
|
||||
u8 unk8[0x36];
|
||||
u8 passwordBuffer[0x36];
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
u16 unk48[232];
|
||||
u32 status;
|
||||
u16 unk48[(0xE0 - 0x48) / 2];
|
||||
s16 unkE0;
|
||||
u8 unkE2[0x168 - 0xE2];
|
||||
s16 unk168;
|
||||
u8 unk16A[0x218 - 0x16A];
|
||||
u8 unk218;
|
||||
u8 padding7[3];
|
||||
u32 unk21C;
|
||||
@@ -31,7 +35,7 @@ struct WonderMailStruct_203B33C
|
||||
u8 fill52E;
|
||||
u32 unk530;
|
||||
u32 unk534;
|
||||
u16 unk538; // A7 << 3
|
||||
s16 unk538; // A7 << 3
|
||||
u32 unk53C;
|
||||
u32 unk540; // A8 << 4
|
||||
s16 unk544;
|
||||
|
||||
@@ -71,15 +71,15 @@ void PrintPersonalityTypeDescription(void);
|
||||
void SetPlayerGender(void);
|
||||
void RevealPersonality(void);
|
||||
void RevealStarter(void);
|
||||
void sub_803CA8C(void);
|
||||
void AdvanceToPickPartnerPrompt(void);
|
||||
void PromptPickPartner(void);
|
||||
void sub_803CAD4(void);
|
||||
void AdvanceToPartnerSelection(void);
|
||||
void CallCreatePartnerSelectionMenu(void);
|
||||
void PromptForPartnerNickname(void);
|
||||
void sub_803CB5C(void);
|
||||
void sub_803CB7C(void);
|
||||
void AdvanceToPartnerNickhameScreen(void);
|
||||
void NicknamePartner(void);
|
||||
void PrintEndIntroText(void);
|
||||
void sub_803CBE4(void);
|
||||
void AdvanceToTestEnd(void);
|
||||
s32 GetValidPartners(void);
|
||||
void UpdateNatureTotals(void);
|
||||
void PromptNewQuestion(void);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "pokemon.h"
|
||||
#include "memory.h"
|
||||
|
||||
extern void sub_80338C4(u32);
|
||||
extern void SetFriendRescueMenuState(u32);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern void sub_802F2C0();
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
@@ -129,18 +129,18 @@ u32 CreateFriendRescueMenu(void)
|
||||
monName = GetMonSpecies(SPECIES_PELIPPER);
|
||||
strcpy(gAvailablePokemonNames,monName);
|
||||
for(counter = 0; counter < 0x36; counter++){
|
||||
gUnknown_203B33C->unk8[counter] = 0;
|
||||
gUnknown_203B33C->passwordBuffer[counter] = 0;
|
||||
}
|
||||
gUnknown_203B33C->unk4 = 0x7E;
|
||||
gUnknown_203B33C->unk52C = sub_8039880();
|
||||
gUnknown_203B33C->unk52D = gUnknown_203B33C->unk52C;
|
||||
sub_80338C4(0);
|
||||
SetFriendRescueMenuState(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 UpdateFriendRescueMenu(void)
|
||||
{
|
||||
switch(gUnknown_203B33C->unk0)
|
||||
switch(gUnknown_203B33C->state)
|
||||
{
|
||||
case 0x78:
|
||||
sub_8035300();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -227,13 +227,13 @@ u8 HandleTestTrackerState(void)
|
||||
RevealStarter();
|
||||
break;
|
||||
case 6:
|
||||
sub_803CA8C();
|
||||
AdvanceToPickPartnerPrompt();
|
||||
break;
|
||||
case 7:
|
||||
PromptPickPartner();
|
||||
break;
|
||||
case 8:
|
||||
sub_803CAD4();
|
||||
AdvanceToPartnerSelection();
|
||||
break;
|
||||
case 9:
|
||||
CallCreatePartnerSelectionMenu();
|
||||
@@ -242,16 +242,16 @@ u8 HandleTestTrackerState(void)
|
||||
PromptForPartnerNickname();
|
||||
break;
|
||||
case 11:
|
||||
sub_803CB5C();
|
||||
AdvanceToPartnerNickhameScreen();
|
||||
break;
|
||||
case 12:
|
||||
sub_803CB7C();
|
||||
NicknamePartner();
|
||||
break;
|
||||
case 13:
|
||||
PrintEndIntroText();
|
||||
break;
|
||||
case 14:
|
||||
sub_803CBE4();
|
||||
AdvanceToTestEnd();
|
||||
break;
|
||||
case 15:
|
||||
iVar1 = Random() * gUnknown_203B400->FrameCounter;
|
||||
@@ -471,7 +471,7 @@ void RevealStarter(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803CA8C(void)
|
||||
void AdvanceToPickPartnerPrompt(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
@@ -486,7 +486,7 @@ void PromptPickPartner(void)
|
||||
gUnknown_203B400->TestState = 8;
|
||||
}
|
||||
|
||||
void sub_803CAD4(void)
|
||||
void AdvanceToPartnerSelection(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
@@ -517,7 +517,7 @@ void PromptForPartnerNickname(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803CB5C(void)
|
||||
void AdvanceToPartnerNickhameScreen(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
@@ -526,7 +526,7 @@ void sub_803CB5C(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803CB7C(void)
|
||||
void NicknamePartner(void)
|
||||
{
|
||||
CopyStringtoBuffer(gUnknown_203B400->PartnerNick, GetMonSpecies(gUnknown_203B400->PartnerID));
|
||||
sub_801602C(3, gUnknown_203B400->PartnerNick);
|
||||
@@ -542,7 +542,7 @@ void PrintEndIntroText(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803CBE4(void)
|
||||
void AdvanceToTestEnd(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
@@ -624,9 +624,9 @@ void CreatePartnerSelectionMenu(s16 starterID)
|
||||
|
||||
u16 HandlePartnerSelectionInput(void)
|
||||
{
|
||||
s32 sVar1;
|
||||
s32 partnerID;
|
||||
|
||||
sVar1 = gUnknown_203B404->currPartnerSelection;
|
||||
partnerID = gUnknown_203B404->currPartnerSelection;
|
||||
gUnknown_203B404->unk16 = 0;
|
||||
if (GetKeyPress(&gUnknown_203B404->unk18) == A_BUTTON) {
|
||||
PlayMenuSoundEffect(0);
|
||||
@@ -636,7 +636,7 @@ u16 HandlePartnerSelectionInput(void)
|
||||
if (sub_80138B8(&gUnknown_203B404->unk18, 1) != '\0') {
|
||||
RedrawPartnerSelectionMenu();
|
||||
}
|
||||
if (sVar1 != gUnknown_203B404->currPartnerSelection) {
|
||||
if (partnerID != gUnknown_203B404->currPartnerSelection) {
|
||||
PersonalityTest_DisplayPartnerSprite();
|
||||
}
|
||||
if (gUnknown_203B404->unk16 != '\0') {
|
||||
|
||||
Reference in New Issue
Block a user