mirror of
https://github.com/pret/pmd-red.git
synced 2024-11-30 16:30:24 +00:00
0d3b11e81a
* data work and decomp some mail/pelipper board * resuce -> rescue * label more data
97 lines
2.5 KiB
C
97 lines
2.5 KiB
C
#ifndef GUARD_PERSONALITY_TEST_H
|
|
#define GUARD_PERSONALITY_TEST_H
|
|
|
|
#include "constants/personality_test.h"
|
|
#include "text.h"
|
|
|
|
// Definitely wrong but need to figure out better structure later
|
|
struct FaceData
|
|
{
|
|
/* 0x0 */ u8 *unk0[5];
|
|
};
|
|
|
|
struct PersonalityAnswer
|
|
{
|
|
const char * text;
|
|
int effect;
|
|
};
|
|
|
|
struct PersonalityQuestion
|
|
{
|
|
const char * question;
|
|
const struct PersonalityAnswer * answers;
|
|
const u8 (*effects);
|
|
};
|
|
|
|
struct PersonalityStruct_203B400
|
|
{
|
|
/* 0x0 */ s32 FrameCounter;
|
|
/* 0x4 */ u32 unk4;
|
|
/* 0x8 */ s16 StarterID;
|
|
/* 0xA */ s16 PartnerID;
|
|
u8 padding[0x20 - 0xC];
|
|
/* 0x20 */ char PartnerNick[0x14];
|
|
/* 0x34 */ u32 TestState;
|
|
/* 0x38 */ s32 QuestionCounter;
|
|
/* 0x3C */ u32 currQuestionIndex;
|
|
/* 0x40 */ u8 playerNature;
|
|
/* 0x44 */ s32 NatureTotals[NUM_PERSONALITIES];
|
|
/* 0x78 */ u8 QuestionTracker[NUM_QUIZ_QUESTIONS];
|
|
/* 0xB0 */ u32 playerGender; // 1 = Female, 0 = Male
|
|
u32 unkb4;
|
|
u32 unkb8;
|
|
u32 unkbc;
|
|
};
|
|
EWRAM_DATA struct PersonalityStruct_203B400 *gUnknown_203B400;
|
|
|
|
struct PersonalityStruct_203B404
|
|
{
|
|
// Size: 0xB8
|
|
/* 0x0 */ s16 StarterID;
|
|
/* 0x2 */ s16 PartnerArray[NUM_PARTNERS];
|
|
u8 unk16;
|
|
/* 0x18 */ struct UnkInputStruct *unk18; // something menu related (seems to be some struct)
|
|
u8 padding[0x30 - 0x1C];
|
|
/* 0x30 */ s16 currPartnerSelection;
|
|
s16 unk32;
|
|
u8 padding2[0x3A - 0x34];
|
|
/* 0x3A */ s16 numPartners;
|
|
u8 padding3[0x4C - 0x3C];
|
|
u32 unk4C;
|
|
/* 0x50 */ struct UnkTextStruct2 *unk50;
|
|
/* 0x54 */ struct UnkTextStruct2 unk54[4];
|
|
/* 0xB4 */ u8 unkb4[4];
|
|
};
|
|
EWRAM_DATA struct PersonalityStruct_203B404 *gUnknown_203B404;
|
|
|
|
void InitializeTestStats(void);
|
|
void GenerateNewQuestionOrGender(void);
|
|
void CallPromptNewQuestion(void);
|
|
void PrintPersonalityTypeDescription(void);
|
|
void SetPlayerGender(void);
|
|
void RevealPersonality(void);
|
|
void RevealStarter(void);
|
|
void AdvanceToPickPartnerPrompt(void);
|
|
void PromptPickPartner(void);
|
|
void AdvanceToPartnerSelection(void);
|
|
void CallCreatePartnerSelectionMenu(void);
|
|
void PromptForPartnerNickname(void);
|
|
void AdvanceToPartnerNickhameScreen(void);
|
|
void NicknamePartner(void);
|
|
void PrintEndIntroText(void);
|
|
void AdvanceToTestEnd(void);
|
|
s32 GetValidPartners(void);
|
|
void UpdateNatureTotals(void);
|
|
void PromptNewQuestion(void);
|
|
void PersonalityTest_DisplayPartnerSprite(void);
|
|
u16 HandlePartnerSelectionInput(void);
|
|
void PersonalityTest_DisplayStarterSprite(void);
|
|
void CreatePartnerSelectionMenu(s16);
|
|
void sub_803CE6C(void);
|
|
void sub_803CEAC(void);
|
|
void sub_803CECC(void);
|
|
void nullsub_135(void);
|
|
|
|
|
|
#endif
|