summaryrefslogtreecommitdiff
path: root/include/personality_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/personality_test.h')
-rw-r--r--include/personality_test.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/include/personality_test.h b/include/personality_test.h
new file mode 100644
index 0000000..49f6c6b
--- /dev/null
+++ b/include/personality_test.h
@@ -0,0 +1,95 @@
+#ifndef GUARD_PERSONALITY_TEST_H
+#define GUARD_PERSONALITY_TEST_H
+
+#include "constants/personality_test.h"
+
+struct unkData
+{
+ u8 unk0[24];
+};
+
+extern const struct unkData gUnknown_80F4244;
+
+struct PersonalityStruct_203B400
+{
+ s32 FrameCounter;
+ u32 unk4;
+ /* 0x8 */ s16 StarterID;
+ /* 0xA */ s16 PartnerID;
+ u8 padding[0x20 - 0xC];
+ s32 unk20;
+ u8 padding2[0x34 - 0x24];
+ /* 0x34 */ u32 TestState;
+ /* 0x38 */ s32 QuestionCounter;
+ /* 0x3C */ u32 currQuestionIndex;
+ /* 0x40 */ u8 playerNature;
+ u8 padding3[3];
+ /* 0x44 */ s32 NatureTotals[13];
+ /* 0x78 */ u8 QuestionTracker[NUM_QUIZ_QUESTIONS];
+ /* 0xB0 */ u32 playerGender; // 1 = Female, 0 = Male
+ u32 unkb4;
+ u32 unkb8;
+ u32 unkbc;
+};
+extern struct PersonalityStruct_203B400 *gUnknown_203B400;
+
+struct PersonalitySubStruct
+{
+ u8 unkb4;
+ u8 unkb5;
+ u8 unkb6;
+ u8 unkb7;
+};
+
+struct PersonalityStruct_203B404
+{
+ // Size: 0xB8
+ /* 0x0 */ s16 StarterID;
+ /* 0x2 */ s16 PartnerArray[NUM_PARTNERS];
+ u8 unk16;
+ u8 unk17;
+ /* 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 unkData *unk50;
+ /* 0x54 */ struct unkData unk54[4];
+ /* 0xB4 */ struct PersonalitySubStruct sub;
+};
+extern 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 sub_803CA8C(void);
+void PromptPickPartner(void);
+void sub_803CAD4(void);
+void CallCreatePartnerSelectionMenu(void);
+void PromptForPartnerNickname(void);
+void sub_803CB5C(void);
+void sub_803CB7C(void);
+void PrintEndIntroText(void);
+void sub_803CBE4(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_803CECC(void);
+void nullsub_135(void);
+
+
+#endif