From 2d57d12209e26ad09107f52e9e94e01939d6d91c Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Tue, 21 Jan 2025 00:17:29 +0100 Subject: work --- include/Message/MessageManager.hpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 include/Message/MessageManager.hpp (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp new file mode 100644 index 00000000..6d61c627 --- /dev/null +++ b/include/Message/MessageManager.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include "global.h" +#include "types.h" + +typedef struct UnknownData { + unk32 unk_00; + unk32 unk_04; + unk32 unk_08; + unk32 unk_0C; + unk32 unk_10; + unk32 unk_14; + unk16 unk_18; + unk16 unk_1A; +} UnknownData; + +class MessageManager { +private: + UnknownData* aUnknownData; + +public: + void func_020372f0(int index, int param_3, int param_4); +}; -- cgit v1.2.3 From 1176ff47edec871b9ccf83750e682bb9aa717fc5 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 22 Jan 2025 03:54:07 +0100 Subject: document most of the BMG file format --- include/Message/BMG.hpp | 89 ++++++++++++++++++++++++++++++++++++++ include/Message/MessageManager.hpp | 20 ++++----- 2 files changed, 98 insertions(+), 11 deletions(-) create mode 100644 include/Message/BMG.hpp (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp new file mode 100644 index 00000000..02bf3df2 --- /dev/null +++ b/include/Message/BMG.hpp @@ -0,0 +1,89 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#define BMG_MAGIC "MESGbmg1" +#define BMG_TAG(a, b, c, d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) + +typedef enum BMGTag { + /* "INF1" */ BMG_TAG_INF1 = BMG_TAG('I', 'N', 'F', '1'), + /* "FLW1" */ BMG_TAG_FLW1 = BMG_TAG('F', 'L', 'W', '1'), + /* "FLI1" */ BMG_TAG_FLI1 = BMG_TAG('F', 'L', 'I', '1'), + /* "DAT1" */ BMG_TAG_DAT1 = BMG_TAG('D', 'A', 'T', '1'), +} BMGTag; + +typedef enum BMGEncoding { + /* 1 */ BMG_ENCODING_CP1252 = 1, + /* 2 */ BMG_ENCODING_UTF16_BE, + /* 3 */ BMG_ENCODING_SHIFT_JIS, + /* 4 */ BMG_ENCODING_UTF8, + /* 5 */ BMG_ENCODING_MAX +} BMGEncoding; + +typedef struct BMGSectionBase { + /* 0x00 */ char tag[4]; // "INF1", "DAT1", ... + /* 0x04 */ u32 size; // the size of the section +} BMGSectionBase; // size = 0x8 + +typedef struct BMGHeader { + /* 0x00 */ char magic[8]; // always "MESGbmg1" + /* 0x08 */ u32 fileSize; // the size of the BMG file + /* 0x0C */ u32 numSections; // the number of sections (INF1, DAT1, ...) + /* 0x10 */ u8 encoding; // see `BMGEncoding` + /* 0x11 */ u8 unk_11[0xF]; // alignment padding? + /* 0x20 */ BMGSectionBase* firstSection; // technically not part of the header but used by functions +} BMGHeader; // size = 0x24 + +typedef struct EntryINF1 { + /* 0x00 */ u32 offset; // relative to the end of the DAT1 header + /* 0x04 */ u32 unk_04; // flags? +} EntryINF1; // size = 0x8 + +typedef struct SectionINF1 { + /* 0x00 */ BMGSectionBase base; + /* 0x08 */ u16 numEntries; + /* 0x0A */ u16 entrySize; + /* 0x0C */ u16 groupId; + /* 0x0E */ u8 colorId; + /* 0x0F */ u8 unk_0F[0x1]; // alignment padding? + /* 0x10 */ EntryINF1* entries; +} SectionINF1; + +typedef struct EntryFLW1 { + /* 0x00 */ u8* data; //! TODO: find what's the format +} EntryFLW1; + +typedef struct SectionFLW1 { + /* 0x00 */ BMGSectionBase base; + /* 0x08 */ EntryFLW1* entries; +} SectionFLW1; + +typedef struct EntryFLI1 { + /* 0x00 */ u8* data; //! TODO: find what's the format +} EntryFLI1; + +typedef struct SectionFLI1 { + /* 0x00 */ BMGSectionBase base; + /* 0x08 */ EntryFLI1* entries; +} SectionFLI1; + +typedef struct EntryDAT1 { + /* 0x00 */ char* text; +} EntryDAT1; + +typedef struct SectionDAT1 { + /* 0x00 */ BMGSectionBase base; + /* 0x08 */ EntryDAT1* entries; +} SectionDAT1; + +typedef struct BMGFileInfo { + /* 0x00 */ BMGHeader* pHeader; // pointer to the file's header + /* 0x04 */ SectionINF1* pINF1; // pointer to the data informations (INF -> informations) + /* 0x08 */ SectionFLW1* pFLW1; // pointer to an unknown dataset (FLW -> ?) + /* 0x0C */ SectionFLI1* pFLI1; // pointer to an unknown dataset (FLI -> ?) + /* 0x10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) + /* 0x14 */ BMGHeader* unk_14; // same as unk_00 (?) + /* 0x18 */ s16 unk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) + /* 0x1A */ s16 unk_1A; // stores result of `func_020371c8` (currently undetermined purpose) +} BMGFileInfo; // size = 0x1C diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 6d61c627..71106045 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -2,21 +2,19 @@ #include "global.h" #include "types.h" +#include "Message/BMG.hpp" -typedef struct UnknownData { - unk32 unk_00; - unk32 unk_04; - unk32 unk_08; - unk32 unk_0C; - unk32 unk_10; - unk32 unk_14; - unk16 unk_18; - unk16 unk_1A; -} UnknownData; +/** + * - pHeader + * 021ACFD0 + * 021FD7B0 + * 02204380 + * 023D98B0 + */ class MessageManager { private: - UnknownData* aUnknownData; + BMGFileInfo* aUnknownData; public: void func_020372f0(int index, int param_3, int param_4); -- cgit v1.2.3 From a72a9d77d2843f1e0a6d80f09b5f6978fc47c439 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 22 Jan 2025 17:17:37 +0100 Subject: document flow stuff --- include/Message/BMG.hpp | 74 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 02bf3df2..cbb41527 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -21,10 +21,10 @@ typedef enum BMGEncoding { /* 5 */ BMG_ENCODING_MAX } BMGEncoding; -typedef struct BMGSectionBase { +typedef struct SectionBase { /* 0x00 */ char tag[4]; // "INF1", "DAT1", ... /* 0x04 */ u32 size; // the size of the section -} BMGSectionBase; // size = 0x8 +} SectionBase; // size = 0x8 typedef struct BMGHeader { /* 0x00 */ char magic[8]; // always "MESGbmg1" @@ -32,16 +32,16 @@ typedef struct BMGHeader { /* 0x0C */ u32 numSections; // the number of sections (INF1, DAT1, ...) /* 0x10 */ u8 encoding; // see `BMGEncoding` /* 0x11 */ u8 unk_11[0xF]; // alignment padding? - /* 0x20 */ BMGSectionBase* firstSection; // technically not part of the header but used by functions + /* 0x20 */ SectionBase* firstSection; // technically not part of the header but used by functions } BMGHeader; // size = 0x24 typedef struct EntryINF1 { /* 0x00 */ u32 offset; // relative to the end of the DAT1 header - /* 0x04 */ u32 unk_04; // flags? + /* 0x04 */ u32 unk_04; // flags/attributes? } EntryINF1; // size = 0x8 typedef struct SectionINF1 { - /* 0x00 */ BMGSectionBase base; + /* 0x00 */ SectionBase base; /* 0x08 */ u16 numEntries; /* 0x0A */ u16 entrySize; /* 0x0C */ u16 groupId; @@ -50,22 +50,62 @@ typedef struct SectionINF1 { /* 0x10 */ EntryINF1* entries; } SectionINF1; -typedef struct EntryFLW1 { - /* 0x00 */ u8* data; //! TODO: find what's the format -} EntryFLW1; +typedef enum InstrType { + /* 1 */ FLW1_TYPE_SHOW_MSG = 1, + /* 2 */ FLW1_TYPE_BRANCH = 2, + /* 3 */ FLW1_TYPE_EVENT = 3, +} InstrType; + +typedef struct InstrShowMsg { + /* 0x01 */ u8 bmgFileIndex; // index into sBMGFiles + /* 0x02 */ u16 msgIndex; // index of INF1 entry + /* 0x04 */ s16 nextIndex; // index of FLW1 entry, 0xFFFF stops the conversation + /* 0x06 */ s16 nextBMGFileIndex; // index into sBMGFiles +} InstrShowMsg; // size = 0x8 + +typedef struct InstrBranch { + /* 0x01 */ u8 unk_01; + /* 0x02 */ u16 funcIndex; // index of the query function to run + /* 0x04 */ u16 funcArg; // the argument to use in the function + /* 0x06 */ u16 flwEntry; // the index of the second section table to be used next in the conversation. +} InstrBranch; // size = 0x8 + +typedef struct InstrEvent { + /* 0x01 */ u8 funcIndex; // index of the query function to run + /* 0x02 */ u16 flwEntry; // the index of the second section table to be used next in the conversation. + /* 0x04 */ u32 funcArg; // the argument to use in the function +} InstrEvent; // size = 0x8 + +typedef struct FLW1Instr { + /* 0x00 */ u8 type; // see InstrType + /* 0x01 */ union { + InstrShowMsg showMsg; + InstrBranch branch; + InstrEvent event; + }; +} FLW1Instr; // size = 0x8 typedef struct SectionFLW1 { - /* 0x00 */ BMGSectionBase base; - /* 0x08 */ EntryFLW1* entries; + /* 0x00 */ SectionBase base; + /* 0x04 */ u16 numInstructions; + /* 0x08 */ u16 numLabels; + /* 0x0C */ u32 unk_0C; // always zero? + /* 0x10 */ FLW1Instr* instructions; + /* 0x14 */ s16* flwEntries; + /* 0x18 */ s8* bmgFileIndices; } SectionFLW1; typedef struct EntryFLI1 { - /* 0x00 */ u8* data; //! TODO: find what's the format -} EntryFLI1; + /* 0x00 */ u32 msgFlowID; + /* 0x04 */ u32 msgFlowNodeIndex; +} EntryFLI1; // size = 0x8 typedef struct SectionFLI1 { - /* 0x00 */ BMGSectionBase base; - /* 0x08 */ EntryFLI1* entries; + /* 0x00 */ SectionBase base; + /* 0x04 */ u16 numEntries; + /* 0x08 */ u16 entrySize; + /* 0x0C */ u32 unk_0C; // always zero? + /* 0x10 */ EntryFLI1* entries; } SectionFLI1; typedef struct EntryDAT1 { @@ -73,15 +113,15 @@ typedef struct EntryDAT1 { } EntryDAT1; typedef struct SectionDAT1 { - /* 0x00 */ BMGSectionBase base; + /* 0x00 */ SectionBase base; /* 0x08 */ EntryDAT1* entries; } SectionDAT1; typedef struct BMGFileInfo { /* 0x00 */ BMGHeader* pHeader; // pointer to the file's header /* 0x04 */ SectionINF1* pINF1; // pointer to the data informations (INF -> informations) - /* 0x08 */ SectionFLW1* pFLW1; // pointer to an unknown dataset (FLW -> ?) - /* 0x0C */ SectionFLI1* pFLI1; // pointer to an unknown dataset (FLI -> ?) + /* 0x08 */ SectionFLW1* pFLW1; // pointer to the message flow data (FLW -> flow) + /* 0x0C */ SectionFLI1* pFLI1; // pointer to the message flow index table (FLI -> flow index table) /* 0x10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) /* 0x14 */ BMGHeader* unk_14; // same as unk_00 (?) /* 0x18 */ s16 unk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) -- cgit v1.2.3 From fc19911a51de34af62c5b21df94718bad83d09c9 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 22 Jan 2025 20:56:39 +0100 Subject: func_020371c8: 96% --- include/Message/BMG.hpp | 9 +++++---- include/Message/MessageManager.hpp | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index cbb41527..fccb914d 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -4,13 +4,15 @@ #include "types.h" #define BMG_MAGIC "MESGbmg1" -#define BMG_TAG(a, b, c, d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) +#define BMG_TAG(a, b, c, d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) typedef enum BMGTag { /* "INF1" */ BMG_TAG_INF1 = BMG_TAG('I', 'N', 'F', '1'), /* "FLW1" */ BMG_TAG_FLW1 = BMG_TAG('F', 'L', 'W', '1'), /* "FLI1" */ BMG_TAG_FLI1 = BMG_TAG('F', 'L', 'I', '1'), /* "DAT1" */ BMG_TAG_DAT1 = BMG_TAG('D', 'A', 'T', '1'), + /* "MID1" */ BMG_TAG_MID1 = BMG_TAG('M', 'I', 'D', '1'), + /* "MID1" */ BMG_TAG_STR1 = BMG_TAG('S', 'T', 'R', '1'), } BMGTag; typedef enum BMGEncoding { @@ -22,7 +24,7 @@ typedef enum BMGEncoding { } BMGEncoding; typedef struct SectionBase { - /* 0x00 */ char tag[4]; // "INF1", "DAT1", ... + /* 0x00 */ u32 tag; // "INF1", "DAT1", ... /* 0x04 */ u32 size; // the size of the section } SectionBase; // size = 0x8 @@ -32,8 +34,7 @@ typedef struct BMGHeader { /* 0x0C */ u32 numSections; // the number of sections (INF1, DAT1, ...) /* 0x10 */ u8 encoding; // see `BMGEncoding` /* 0x11 */ u8 unk_11[0xF]; // alignment padding? - /* 0x20 */ SectionBase* firstSection; // technically not part of the header but used by functions -} BMGHeader; // size = 0x24 +} BMGHeader; // size = 0x20 typedef struct EntryINF1 { /* 0x00 */ u32 offset; // relative to the end of the DAT1 header diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 71106045..e1d63cc3 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -17,5 +17,5 @@ private: BMGFileInfo* aUnknownData; public: - void func_020372f0(int index, int param_3, int param_4); + void func_020372f0(int index, s16 unk_18, int param_4); }; -- cgit v1.2.3 From 969a5a7c51b6f24d13c85b5565d8c3c0aadcf7d7 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 22 Jan 2025 22:20:29 +0100 Subject: removed messagemanager class --- include/Message/BMG.hpp | 46 +++++++++++++++++++++++++++++++++++++- include/Message/MessageManager.hpp | 21 ----------------- 2 files changed, 45 insertions(+), 22 deletions(-) delete mode 100644 include/Message/MessageManager.hpp (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index fccb914d..d128838d 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -23,6 +23,44 @@ typedef enum BMGEncoding { /* 5 */ BMG_ENCODING_MAX } BMGEncoding; +typedef enum BMGFileIndex { + /* 0 */ BMG_FILE_INDEX_SYSTEM, + /* 1 */ BMG_FILE_INDEX_REGULAR, + /* 2 */ BMG_FILE_INDEX_BATTLE, + /* 3 */ BMG_FILE_INDEX_TEST, + /* 4 */ BMG_FILE_INDEX_DEFAULT, + /* 5 */ BMG_FILE_INDEX_SEA, + /* 6 */ BMG_FILE_INDEX_KAITEI, + /* 7 */ BMG_FILE_INDEX_MAIN_ISL, + /* 8 */ BMG_FILE_INDEX_BRAVE, + /* 9 */ BMG_FILE_INDEX_FLAME, + /* 10 */ BMG_FILE_INDEX_WIND, + /* 11 */ BMG_FILE_INDEX_FROST, + /* 12 */ BMG_FILE_INDEX_POWER, + /* 13 */ BMG_FILE_INDEX_WISDOM, + /* 14 */ BMG_FILE_INDEX_GHOST, + /* 15 */ BMG_FILE_INDEX_HIDARI, + /* 16 */ BMG_FILE_INDEX_SENNIN, + /* 17 */ BMG_FILE_INDEX_SHIP, + /* 18 */ BMG_FILE_INDEX_COLLECT, + /* 19 */ BMG_FILE_INDEX_MAINSELECT, + /* 20 */ BMG_FILE_INDEX_FIELD, + /* 21 */ BMG_FILE_INDEX_WISDOM_DNGN, + /* 22 */ BMG_FILE_INDEX_DEMO, + /* 23 */ BMG_FILE_INDEX_BATTLECOMMON, + /* 24 */ BMG_FILE_INDEX_BOSSLAST1, + /* 25 */ BMG_FILE_INDEX_BOSSLAST3, + /* 26 */ BMG_FILE_INDEX_TORII, + /* 27 */ BMG_FILE_INDEX_MYOU, + /* 28 */ BMG_FILE_INDEX_KOJIMA1, + /* 29 */ BMG_FILE_INDEX_KOJIMA2, + /* 30 */ BMG_FILE_INDEX_KOJIMA5, + /* 31 */ BMG_FILE_INDEX_KOJIMA3, + /* 32 */ BMG_FILE_INDEX_STAFF, + /* 33 */ BMG_FILE_INDEX_KAITEI_F, + /* 34 */ BMG_FILE_INDEX_MAX +} BMGFileIndex; + typedef struct SectionBase { /* 0x00 */ u32 tag; // "INF1", "DAT1", ... /* 0x04 */ u32 size; // the size of the section @@ -126,5 +164,11 @@ typedef struct BMGFileInfo { /* 0x10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) /* 0x14 */ BMGHeader* unk_14; // same as unk_00 (?) /* 0x18 */ s16 unk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) - /* 0x1A */ s16 unk_1A; // stores result of `func_020371c8` (currently undetermined purpose) + /* 0x1A */ s16 groupId; // stores the group id } BMGFileInfo; // size = 0x1C + +// 0x027E0C68 + 0x14 +typedef struct BMGGroups { + /* 0x00 */ BMGFileInfo* entries; // accessed with `groupId` + /* 0x04 */ u32 numEntries; +} BMGGroups; // size = 0x8 diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp deleted file mode 100644 index e1d63cc3..00000000 --- a/include/Message/MessageManager.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "global.h" -#include "types.h" -#include "Message/BMG.hpp" - -/** - * - pHeader - * 021ACFD0 - * 021FD7B0 - * 02204380 - * 023D98B0 - */ - -class MessageManager { -private: - BMGFileInfo* aUnknownData; - -public: - void func_020372f0(int index, s16 unk_18, int param_4); -}; -- cgit v1.2.3 From c2c40b8221e2ea1ce3cd8e6257209dad892ad7e5 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 23 Jan 2025 14:51:54 +0100 Subject: match func_020370d0 to func_02037178 --- include/Message/BMG.hpp | 79 ++++++++++++++++++++++++++++++++++++++++++++++++- include/global.h | 3 +- 2 files changed, 80 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index d128838d..08c7a7fa 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -170,5 +170,82 @@ typedef struct BMGFileInfo { // 0x027E0C68 + 0x14 typedef struct BMGGroups { /* 0x00 */ BMGFileInfo* entries; // accessed with `groupId` - /* 0x04 */ u32 numEntries; + /* 0x04 */ s32 numEntries; } BMGGroups; // size = 0x8 + +typedef void (*Struct_027E0C68_unk_28_unk_58)(struct Struct_027E0C68_unk_28*); + +typedef struct Struct_027E0C68_unk_28_unk_00 { + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk32 unk_28; + /* 0x2C */ unk32 unk_2C; + /* 0x30 */ unk32 unk_30; + /* 0x34 */ unk32 unk_34; + /* 0x38 */ unk32 unk_38; + /* 0x3C */ unk32 unk_3C; + /* 0x40 */ unk32 unk_40; + /* 0x44 */ unk32 unk_44; + /* 0x48 */ unk32 unk_48; + /* 0x4C */ unk32 unk_4C; + /* 0x50 */ unk32 unk_50; + /* 0x54 */ unk32 unk_54; + /* 0x58 */ Struct_027E0C68_unk_28_unk_58 unk_58; + /* 0x5C */ unk32 unk_5C; +} Struct_027E0C68_unk_28_unk_00; + +typedef struct Struct_027E0C68_unk_28 { + /* 0x00 */ Struct_027E0C68_unk_28_unk_00* unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; +} Struct_027E0C68_unk_28; + +typedef struct Struct_027E0C68_unk_18 { + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk32 unk_28; + /* 0x2C */ unk32 unk_2C; + /* 0x30 */ unk32 unk_30; + /* 0x34 */ unk16 unk_34; + /* 0x36 */ unk16 unk_36; + /* 0x38 */ unk32 unk_38; + /* 0x3C */ unk32 unk_3C; + /* 0x40 */ unk32 unk_40; + /* 0x44 */ unk32 unk_44; + /* 0x48 */ unk32 unk_48; +} Struct_027E0C68_unk_18; // size = 0x4C + +typedef struct Struct_027E0C68 { + /* 0x00 */ unk16 unk_00; + /* 0x02 */ unk16 unk_02; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ BMGGroups* pGroups; + /* 0x18 */ Struct_027E0C68_unk_18* unk_18; + /* 0x1C */ Struct_027E0C68_unk_18* unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ Struct_027E0C68_unk_28* unk_28[6]; // 022172B0 +} Struct_027E0C68; + +Struct_027E0C68_unk_18* func_020370e8(Struct_027E0C68* param_1, unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); +Struct_027E0C68_unk_28* func_02037178(Struct_027E0C68* param_1, u32 param_2); diff --git a/include/global.h b/include/global.h index 617f672f..8d6635dd 100644 --- a/include/global.h +++ b/include/global.h @@ -7,7 +7,8 @@ #define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1f)) #define RESET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1f))) -#define ARRAY_LEN(arr) ((sizeof(arr) / sizeof(*arr))) +#define ARRAY_LEN_U(arr) (u32)((sizeof(arr) / sizeof(*arr))) +#define ARRAY_LEN(arr) (s32)(sizeof(arr) / sizeof(*arr)) // Prevent the IDE from reporting errors that the compiler/linker won't report #ifdef __INTELLISENSE__ -- cgit v1.2.3 From 302c28edcb006510d84824c0da0291bf81507b04 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:24:03 +0100 Subject: more funcs + split BMG.cpp --- include/Message/BMG.hpp | 31 +++++++++++++++++++++++-------- include/Message/MessageManager.hpp | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 include/Message/MessageManager.hpp (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 08c7a7fa..4af7ccb7 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -173,7 +173,9 @@ typedef struct BMGGroups { /* 0x04 */ s32 numEntries; } BMGGroups; // size = 0x8 +typedef void (*Struct_027E0C68_unk_28_unk_50)(struct Struct_027E0C68_unk_28*, EntryINF1*, int, u8*); typedef void (*Struct_027E0C68_unk_28_unk_58)(struct Struct_027E0C68_unk_28*); +typedef void (*Struct_027E0C68_unk_18_unk_08)(struct Struct_027E0C68_unk_18*); typedef struct Struct_027E0C68_unk_28_unk_00 { /* 0x00 */ unk32 unk_00; @@ -196,22 +198,30 @@ typedef struct Struct_027E0C68_unk_28_unk_00 { /* 0x44 */ unk32 unk_44; /* 0x48 */ unk32 unk_48; /* 0x4C */ unk32 unk_4C; - /* 0x50 */ unk32 unk_50; + /* 0x50 */ Struct_027E0C68_unk_28_unk_50 unk_50; /* 0x54 */ unk32 unk_54; /* 0x58 */ Struct_027E0C68_unk_28_unk_58 unk_58; /* 0x5C */ unk32 unk_5C; } Struct_027E0C68_unk_28_unk_00; +//! TODO: this should be a class typedef struct Struct_027E0C68_unk_28 { /* 0x00 */ Struct_027E0C68_unk_28_unk_00* unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; + /* 0x04 */ struct Struct_027E0C68_unk_28* unk_04; + /* 0x08 */ struct Struct_027E0C68_unk_28* unk_08; /* 0x0C */ unk32 unk_0C; } Struct_027E0C68_unk_28; -typedef struct Struct_027E0C68_unk_18 { +typedef struct Struct_027E0C68_unk_18_unk_00 { /* 0x00 */ unk32 unk_00; /* 0x04 */ unk32 unk_04; + /* 0x08 */ Struct_027E0C68_unk_18_unk_08 unk_08; + /* 0x0C */ unk32 unk_0C; +} Struct_027E0C68_unk_18_unk_00; + +typedef struct Struct_027E0C68_unk_18 { + /* 0x00 */ Struct_027E0C68_unk_18_unk_00* unk_00; + /* 0x04 */ unk32 unk_04; /* 0x08 */ unk32 unk_08; /* 0x0C */ unk32 unk_0C; /* 0x10 */ unk32 unk_10; @@ -235,8 +245,10 @@ typedef struct Struct_027E0C68_unk_18 { typedef struct Struct_027E0C68 { /* 0x00 */ unk16 unk_00; /* 0x02 */ unk16 unk_02; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; + /* 0x04 */ u8 unk_04; + /* 0x05 */ u8 unk_05; + /* 0x06 */ unk16 unk_06; + /* 0x08 */ Struct_027E0C68_unk_28* unk_08; /* 0x0C */ unk32 unk_0C; /* 0x10 */ unk32 unk_10; /* 0x14 */ BMGGroups* pGroups; @@ -247,5 +259,8 @@ typedef struct Struct_027E0C68 { /* 0x28 */ Struct_027E0C68_unk_28* unk_28[6]; // 022172B0 } Struct_027E0C68; -Struct_027E0C68_unk_18* func_020370e8(Struct_027E0C68* param_1, unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); -Struct_027E0C68_unk_28* func_02037178(Struct_027E0C68* param_1, u32 param_2); +extern Struct_027E0C68_unk_28* func_02036f68(Struct_027E0C68 *param_1, u32 param_2, u8* param_3); +extern Struct_027E0C68_unk_18* func_020370e8(Struct_027E0C68* param_1, unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); +extern Struct_027E0C68_unk_28* func_02037178(Struct_027E0C68* param_1, u32 param_2); +extern EntryINF1* func_02037258(BMGFileInfo* pFileInfo, unk32 param_2); +extern u32 func_020373ec(BMGGroups* pGroups, unk32 param_2); diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp new file mode 100644 index 00000000..4151991b --- /dev/null +++ b/include/Message/MessageManager.hpp @@ -0,0 +1,37 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Message/BMG.hpp" + +class UnkStruct_027E0C68 { +private: + /* 0x00 */ unk16 unk_00; + /* 0x02 */ unk16 unk_02; + /* 0x04 */ u8 unk_04; + /* 0x05 */ u8 unk_05; + /* 0x06 */ unk16 unk_06; + /* 0x08 */ Struct_027E0C68_unk_28* unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ BMGGroups* pGroups; + /* 0x18 */ Struct_027E0C68_unk_18* unk_18; + /* 0x1C */ Struct_027E0C68_unk_18* unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ Struct_027E0C68_unk_28* unk_28[6]; // 022172B0 + +public: + s32 func_02036850(void); + s32 func_02036ce4(Struct_027E0C68_unk_18* param_2, unk32 param_3); + unk32 func_02036d30(unk32 param_2); + unk32 func_02036d4c(unk32 param_2); + void func_02036d6c(void); + void func_02036edc(u32 param_2, u8 param_3); + Struct_027E0C68_unk_28* func_02036f68(u32 param_2, u8* param_3); + Struct_027E0C68_unk_18* func_020370d0(unk32 param_2, unk32 param_3); + Struct_027E0C68_unk_18* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); + void func_02037158(Struct_027E0C68_unk_28* param_2); + Struct_027E0C68_unk_28* func_02037178(Struct_027E0C68_unk_28* param_2); +}; -- cgit v1.2.3 From cf97807bbc2941a50267b1de59b88ae971009488 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 23 Jan 2025 21:54:51 +0100 Subject: progress and add more funcs --- include/Message/BMG.hpp | 89 -------------------------------------- include/Message/MessageManager.hpp | 74 +++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 89 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 4af7ccb7..7915ced7 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -173,94 +173,5 @@ typedef struct BMGGroups { /* 0x04 */ s32 numEntries; } BMGGroups; // size = 0x8 -typedef void (*Struct_027E0C68_unk_28_unk_50)(struct Struct_027E0C68_unk_28*, EntryINF1*, int, u8*); -typedef void (*Struct_027E0C68_unk_28_unk_58)(struct Struct_027E0C68_unk_28*); -typedef void (*Struct_027E0C68_unk_18_unk_08)(struct Struct_027E0C68_unk_18*); - -typedef struct Struct_027E0C68_unk_28_unk_00 { - /* 0x00 */ unk32 unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ unk32 unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ unk32 unk_34; - /* 0x38 */ unk32 unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ unk32 unk_48; - /* 0x4C */ unk32 unk_4C; - /* 0x50 */ Struct_027E0C68_unk_28_unk_50 unk_50; - /* 0x54 */ unk32 unk_54; - /* 0x58 */ Struct_027E0C68_unk_28_unk_58 unk_58; - /* 0x5C */ unk32 unk_5C; -} Struct_027E0C68_unk_28_unk_00; - -//! TODO: this should be a class -typedef struct Struct_027E0C68_unk_28 { - /* 0x00 */ Struct_027E0C68_unk_28_unk_00* unk_00; - /* 0x04 */ struct Struct_027E0C68_unk_28* unk_04; - /* 0x08 */ struct Struct_027E0C68_unk_28* unk_08; - /* 0x0C */ unk32 unk_0C; -} Struct_027E0C68_unk_28; - -typedef struct Struct_027E0C68_unk_18_unk_00 { - /* 0x00 */ unk32 unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ Struct_027E0C68_unk_18_unk_08 unk_08; - /* 0x0C */ unk32 unk_0C; -} Struct_027E0C68_unk_18_unk_00; - -typedef struct Struct_027E0C68_unk_18 { - /* 0x00 */ Struct_027E0C68_unk_18_unk_00* unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ unk32 unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ unk16 unk_34; - /* 0x36 */ unk16 unk_36; - /* 0x38 */ unk32 unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ unk32 unk_48; -} Struct_027E0C68_unk_18; // size = 0x4C - -typedef struct Struct_027E0C68 { - /* 0x00 */ unk16 unk_00; - /* 0x02 */ unk16 unk_02; - /* 0x04 */ u8 unk_04; - /* 0x05 */ u8 unk_05; - /* 0x06 */ unk16 unk_06; - /* 0x08 */ Struct_027E0C68_unk_28* unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ BMGGroups* pGroups; - /* 0x18 */ Struct_027E0C68_unk_18* unk_18; - /* 0x1C */ Struct_027E0C68_unk_18* unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ Struct_027E0C68_unk_28* unk_28[6]; // 022172B0 -} Struct_027E0C68; - -extern Struct_027E0C68_unk_28* func_02036f68(Struct_027E0C68 *param_1, u32 param_2, u8* param_3); -extern Struct_027E0C68_unk_18* func_020370e8(Struct_027E0C68* param_1, unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); -extern Struct_027E0C68_unk_28* func_02037178(Struct_027E0C68* param_1, u32 param_2); extern EntryINF1* func_02037258(BMGFileInfo* pFileInfo, unk32 param_2); extern u32 func_020373ec(BMGGroups* pGroups, unk32 param_2); diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 4151991b..00d92ace 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -5,6 +5,77 @@ #include "Message/BMG.hpp" +typedef void (*Struct_027E0C68_unk_28_unk_50)(struct Struct_027E0C68_unk_28*, EntryINF1*, int, u8*); +typedef void (*Struct_027E0C68_unk_28_unk_58)(struct Struct_027E0C68_unk_28*); +typedef void (*Struct_027E0C68_unk_18_unk_08)(void); +typedef void (*Struct_027E0C68_unk_28_unk_28)(struct Struct_027E0C68_unk_28*); +typedef void (*Struct_027E0C68_unk_28_unk_3C)(struct Struct_027E0C68_unk_28*, unk32); + +typedef struct Struct_027E0C68_unk_28_unk_00 { + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ Struct_027E0C68_unk_28_unk_28 unk_28; + /* 0x2C */ unk32 unk_2C; + /* 0x30 */ unk32 unk_30; + /* 0x34 */ unk32 unk_34; + /* 0x38 */ unk32 unk_38; + /* 0x3C */ Struct_027E0C68_unk_28_unk_3C unk_3C; + /* 0x40 */ unk32 unk_40; + /* 0x44 */ unk32 unk_44; + /* 0x48 */ unk32 unk_48; + /* 0x4C */ unk32 unk_4C; + /* 0x50 */ Struct_027E0C68_unk_28_unk_50 unk_50; + /* 0x54 */ unk32 unk_54; + /* 0x58 */ Struct_027E0C68_unk_28_unk_58 unk_58; + /* 0x5C */ unk32 unk_5C; +} Struct_027E0C68_unk_28_unk_00; + +//! TODO: this should be a class +typedef struct Struct_027E0C68_unk_28 { + /* 0x00 */ Struct_027E0C68_unk_28_unk_00* unk_00; + /* 0x04 */ struct Struct_027E0C68_unk_28* unk_04; + /* 0x08 */ struct Struct_027E0C68_unk_28* unk_08; + /* 0x0C */ unk32 unk_0C; +} Struct_027E0C68_unk_28; + +typedef struct Struct_027E0C68_unk_18_unk_00 { + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ Struct_027E0C68_unk_18_unk_08 unk_08; + /* 0x0C */ unk32 unk_0C; +} Struct_027E0C68_unk_18_unk_00; + +typedef struct Struct_027E0C68_unk_18 { + /* 0x00 */ Struct_027E0C68_unk_18_unk_00* unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk32 unk_28; + /* 0x2C */ unk32 unk_2C; + /* 0x30 */ unk32 unk_30; + /* 0x34 */ unk16 unk_34; + /* 0x36 */ unk16 unk_36; + /* 0x38 */ unk32 unk_38; + /* 0x3C */ unk32 unk_3C; + /* 0x40 */ unk32 unk_40; + /* 0x44 */ unk32 unk_44; + /* 0x48 */ unk32 unk_48; +} Struct_027E0C68_unk_18; // size = 0x4C + class UnkStruct_027E0C68 { private: /* 0x00 */ unk16 unk_00; @@ -24,10 +95,13 @@ private: public: s32 func_02036850(void); + void func_02036c50(unk32 param_2); + void func_02036ca4(unk32 param_2); s32 func_02036ce4(Struct_027E0C68_unk_18* param_2, unk32 param_3); unk32 func_02036d30(unk32 param_2); unk32 func_02036d4c(unk32 param_2); void func_02036d6c(void); + Struct_027E0C68_unk_28* func_02036da8(u32 param_2, s32* param_3); void func_02036edc(u32 param_2, u8 param_3); Struct_027E0C68_unk_28* func_02036f68(u32 param_2, u8* param_3); Struct_027E0C68_unk_18* func_020370d0(unk32 param_2, unk32 param_3); -- cgit v1.2.3 From 3194675d0d444d3d200d8a5c85fca16ea4cb1f09 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 02:24:14 +0100 Subject: more progress & cleanup structs --- include/Message/MessageManager.hpp | 133 +++++++++++++++++++++++-------------- 1 file changed, 84 insertions(+), 49 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 00d92ace..8d10c0b6 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -5,62 +5,78 @@ #include "Message/BMG.hpp" -typedef void (*Struct_027E0C68_unk_28_unk_50)(struct Struct_027E0C68_unk_28*, EntryINF1*, int, u8*); -typedef void (*Struct_027E0C68_unk_28_unk_58)(struct Struct_027E0C68_unk_28*); -typedef void (*Struct_027E0C68_unk_18_unk_08)(void); -typedef void (*Struct_027E0C68_unk_28_unk_28)(struct Struct_027E0C68_unk_28*); -typedef void (*Struct_027E0C68_unk_28_unk_3C)(struct Struct_027E0C68_unk_28*, unk32); +// temp +#define UNK_TYPE void -typedef struct Struct_027E0C68_unk_28_unk_00 { - /* 0x00 */ unk32 unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; +class UnkStruct_027E0C68_UnkSubClass1 { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32* unk_04; + /* 0x08 */ unk32* unk_08; /* 0x0C */ unk32 unk_0C; /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; + /* 0x14 */ u8 unk_14; + /* 0x15 */ s16* unk_15; + /* 0x16 */ unk16 unk_16; /* 0x18 */ unk32 unk_18; /* 0x1C */ unk32 unk_1C; /* 0x20 */ unk32 unk_20; /* 0x24 */ unk32 unk_24; - /* 0x28 */ Struct_027E0C68_unk_28_unk_28 unk_28; + /* 0x28 */ unk32 unk_28; /* 0x2C */ unk32 unk_2C; /* 0x30 */ unk32 unk_30; /* 0x34 */ unk32 unk_34; /* 0x38 */ unk32 unk_38; - /* 0x3C */ Struct_027E0C68_unk_28_unk_3C unk_3C; + /* 0x3C */ unk32 unk_3C; /* 0x40 */ unk32 unk_40; /* 0x44 */ unk32 unk_44; /* 0x48 */ unk32 unk_48; /* 0x4C */ unk32 unk_4C; - /* 0x50 */ Struct_027E0C68_unk_28_unk_50 unk_50; + /* 0x50 */ unk32 unk_50; /* 0x54 */ unk32 unk_54; - /* 0x58 */ Struct_027E0C68_unk_28_unk_58 unk_58; - /* 0x5C */ unk32 unk_5C; -} Struct_027E0C68_unk_28_unk_00; - -//! TODO: this should be a class -typedef struct Struct_027E0C68_unk_28 { - /* 0x00 */ Struct_027E0C68_unk_28_unk_00* unk_00; - /* 0x04 */ struct Struct_027E0C68_unk_28* unk_04; - /* 0x08 */ struct Struct_027E0C68_unk_28* unk_08; - /* 0x0C */ unk32 unk_0C; -} Struct_027E0C68_unk_28; + /* 0x58 */ unk32 unk_58; + /* 0x5C */ s16 unk_5C; -typedef struct Struct_027E0C68_unk_18_unk_00 { - /* 0x00 */ unk32 unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ Struct_027E0C68_unk_18_unk_08 unk_08; - /* 0x0C */ unk32 unk_0C; -} Struct_027E0C68_unk_18_unk_00; + /* 0x00 */ virtual UNK_TYPE vfunc_00(void); + /* 0x04 */ virtual UNK_TYPE vfunc_04(void); + /* 0x08 */ virtual UNK_TYPE vfunc_08(void); + /* 0x0C */ virtual UNK_TYPE vfunc_0C(void); + /* 0x10 */ virtual UNK_TYPE vfunc_10(void); + /* 0x14 */ virtual UNK_TYPE vfunc_14(void); + /* 0x18 */ virtual UNK_TYPE vfunc_18(void); + /* 0x1C */ virtual UNK_TYPE vfunc_1C(void); + /* 0x20 */ virtual UNK_TYPE vfunc_20(void); + /* 0x24 */ virtual UNK_TYPE vfunc_24(void); + /* 0x28 */ virtual void vfunc_28(void); + /* 0x2C */ virtual UNK_TYPE vfunc_2C(void); + /* 0x30 */ virtual UNK_TYPE vfunc_30(void); + /* 0x34 */ virtual UNK_TYPE vfunc_34(void); + /* 0x38 */ virtual UNK_TYPE vfunc_38(void); + /* 0x3C */ virtual void vfunc_3C(unk32 param_2); + /* 0x40 */ virtual UNK_TYPE vfunc_40(void); + /* 0x44 */ virtual UNK_TYPE vfunc_44(void); + /* 0x48 */ virtual UNK_TYPE vfunc_48(void); + /* 0x4C */ virtual UNK_TYPE vfunc_4C(void); + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, int param_3, u8* param_4); + /* 0x54 */ virtual UNK_TYPE vfunc_54(void); + /* 0x58 */ virtual void vfunc_58(void); + /* 0x5C */ virtual UNK_TYPE vfunc_5C(void); + /* 0x60 */ virtual UNK_TYPE vfunc_60(void); + /* 0x64 */ virtual UNK_TYPE vfunc_64(void); + /* 0x68 */ virtual UNK_TYPE vfunc_68(void); + /* 0x6C */ virtual UNK_TYPE vfunc_6C(void); + /* 0x70 */ virtual UNK_TYPE vfunc_70(void); +}; -typedef struct Struct_027E0C68_unk_18 { - /* 0x00 */ Struct_027E0C68_unk_18_unk_00* unk_00; +class UnkStruct_027E0C68_UnkSubClass2 { +public: + /* 0x00 (vtable) */ /* 0x04 */ unk32 unk_04; /* 0x08 */ unk32 unk_08; /* 0x0C */ unk32 unk_0C; /* 0x10 */ unk32 unk_10; /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; + /* 0x18 */ u32 unk_18; /* 0x1C */ unk32 unk_1C; /* 0x20 */ unk32 unk_20; /* 0x24 */ unk32 unk_24; @@ -74,7 +90,21 @@ typedef struct Struct_027E0C68_unk_18 { /* 0x40 */ unk32 unk_40; /* 0x44 */ unk32 unk_44; /* 0x48 */ unk32 unk_48; -} Struct_027E0C68_unk_18; // size = 0x4C + + /* 0x00 */ virtual UNK_TYPE vfunc_00(void); + /* 0x04 */ virtual UNK_TYPE vfunc_04(void); + /* 0x08 */ virtual void vfunc_08(void); + /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1* param_2); + /* 0x10 */ virtual void vfunc_10(void); + /* 0x14 */ virtual UNK_TYPE vfunc_14(void); + /* 0x1C */ virtual UNK_TYPE vfunc_1C(void); + /* 0x20 */ virtual UNK_TYPE vfunc_20(void); + /* 0x24 */ virtual UNK_TYPE vfunc_24(void); + /* 0x28 */ virtual UNK_TYPE vfunc_28(void); + /* 0x2C */ virtual UNK_TYPE vfunc_2C(void); + /* 0x30 */ virtual UNK_TYPE vfunc_30(void); + /* 0x34 */ virtual UNK_TYPE vfunc_34(void); +}; class UnkStruct_027E0C68 { private: @@ -83,29 +113,34 @@ private: /* 0x04 */ u8 unk_04; /* 0x05 */ u8 unk_05; /* 0x06 */ unk16 unk_06; - /* 0x08 */ Struct_027E0C68_unk_28* unk_08; + /* 0x08 */ UnkStruct_027E0C68_UnkSubClass1* unk_08; /* 0x0C */ unk32 unk_0C; /* 0x10 */ unk32 unk_10; /* 0x14 */ BMGGroups* pGroups; - /* 0x18 */ Struct_027E0C68_unk_18* unk_18; - /* 0x1C */ Struct_027E0C68_unk_18* unk_1C; - /* 0x20 */ unk32 unk_20; + /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18; + /* 0x1C */ UnkStruct_027E0C68_UnkSubClass2* unk_1C; + /* 0x20 */ u32* unk_20; /* 0x24 */ unk32 unk_24; - /* 0x28 */ Struct_027E0C68_unk_28* unk_28[6]; // 022172B0 + /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; // 022172B0 public: - s32 func_02036850(void); + UnkStruct_027E0C68_UnkSubClass1* func_020366c4(void); + bool func_02036808(void); + bool func_02036824(void); + bool func_02036850(void); + void func_02036888(UnkStruct_027E0C68_UnkSubClass2* param_2); + bool func_020368f4(unk32 param_2); void func_02036c50(unk32 param_2); void func_02036ca4(unk32 param_2); - s32 func_02036ce4(Struct_027E0C68_unk_18* param_2, unk32 param_3); - unk32 func_02036d30(unk32 param_2); - unk32 func_02036d4c(unk32 param_2); + s32 func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3); + unk32 func_02036d30(u32* param_2); + unk32 func_02036d4c(u32* param_2); void func_02036d6c(void); - Struct_027E0C68_unk_28* func_02036da8(u32 param_2, s32* param_3); + UnkStruct_027E0C68_UnkSubClass1* func_02036da8(u32 param_2, s32* param_3); void func_02036edc(u32 param_2, u8 param_3); - Struct_027E0C68_unk_28* func_02036f68(u32 param_2, u8* param_3); - Struct_027E0C68_unk_18* func_020370d0(unk32 param_2, unk32 param_3); - Struct_027E0C68_unk_18* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); - void func_02037158(Struct_027E0C68_unk_28* param_2); - Struct_027E0C68_unk_28* func_02037178(Struct_027E0C68_unk_28* param_2); + UnkStruct_027E0C68_UnkSubClass1* func_02036f68(u32 param_2, u8* param_3); + UnkStruct_027E0C68_UnkSubClass2* func_020370d0(unk32 param_2, unk32 param_3); + UnkStruct_027E0C68_UnkSubClass2* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); + void func_02037158(UnkStruct_027E0C68_UnkSubClass1* param_2); + UnkStruct_027E0C68_UnkSubClass1* func_02037178(UnkStruct_027E0C68_UnkSubClass1* param_2); }; -- cgit v1.2.3 From dea4060fb5eca12980e578b820e6ee349d721c8e Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 03:37:43 +0100 Subject: more progress --- include/Message/MessageManager.hpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 8d10c0b6..b20e846c 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -3,6 +3,7 @@ #include "global.h" #include "types.h" +#include "System/SysNew.hpp" #include "Message/BMG.hpp" // temp @@ -36,6 +37,8 @@ public: /* 0x54 */ unk32 unk_54; /* 0x58 */ unk32 unk_58; /* 0x5C */ s16 unk_5C; + /* 0x60 */ unk32 unk_60[0x3D]; + /* 0x5C */ s16 unk_15C; /* 0x00 */ virtual UNK_TYPE vfunc_00(void); /* 0x04 */ virtual UNK_TYPE vfunc_04(void); @@ -106,7 +109,7 @@ public: /* 0x34 */ virtual UNK_TYPE vfunc_34(void); }; -class UnkStruct_027E0C68 { +class UnkStruct_027E0C68 : public SysObject { private: /* 0x00 */ unk16 unk_00; /* 0x02 */ unk16 unk_02; @@ -121,10 +124,17 @@ private: /* 0x1C */ UnkStruct_027E0C68_UnkSubClass2* unk_1C; /* 0x20 */ u32* unk_20; /* 0x24 */ unk32 unk_24; - /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; // 022172B0 + /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; public: + UnkStruct_027E0C68(); + ~UnkStruct_027E0C68(); UnkStruct_027E0C68_UnkSubClass1* func_020366c4(void); + UnkStruct_027E0C68_UnkSubClass1* func_02036700(void); + UnkStruct_027E0C68_UnkSubClass2* func_0203673c(void); + unk32 func_02036798(void); + bool func_020367dc(int param_2); + bool UnkStruct_027E0C68::func_020367ec(void); bool func_02036808(void); bool func_02036824(void); bool func_02036850(void); -- cgit v1.2.3 From c26639a9dae5c5898d02bbf5d8cbf77ebf813fec Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 03:46:27 +0100 Subject: declared data_027e0c68 --- include/Message/MessageManager.hpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index b20e846c..bfb4853f 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -154,3 +154,5 @@ public: void func_02037158(UnkStruct_027E0C68_UnkSubClass1* param_2); UnkStruct_027E0C68_UnkSubClass1* func_02037178(UnkStruct_027E0C68_UnkSubClass1* param_2); }; + +extern UnkStruct_027E0C68 data_027e0c68; -- cgit v1.2.3 From b4d8083acebcd9564d4cac82f51e85fb431ac1df Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 15:16:58 +0100 Subject: more progress --- include/Message/BMG.hpp | 5 ++ include/Message/MessageManager.hpp | 115 +++++++++++++++++++------------------ 2 files changed, 63 insertions(+), 57 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 7915ced7..844da446 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -5,6 +5,9 @@ #define BMG_MAGIC "MESGbmg1" #define BMG_TAG(a, b, c, d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) +#define BMG_GET_INF1(pGroups, flags) (func_02037258(&(pGroups)->entries[(flags) >> 0x10], (flags) & 0xFFFF)) +#define BMG_GET_MSG_OFFSET(pGroups, flags) (BMG_GET_INF1((pGroups), (flags))->offset) +#define BMG_GET_MSG_ADDR(pGroups, flags) ((u32)(pGroups)->entries[(flags) >> 0x10].pDAT1 + (BMG_GET_MSG_OFFSET((pGroups), (flags)) & ~1)) typedef enum BMGTag { /* "INF1" */ BMG_TAG_INF1 = BMG_TAG('I', 'N', 'F', '1'), @@ -174,4 +177,6 @@ typedef struct BMGGroups { } BMGGroups; // size = 0x8 extern EntryINF1* func_02037258(BMGFileInfo* pFileInfo, unk32 param_2); +extern void func_020372f0(BMGGroups* pGroups, BMGFileIndex eIndex, s16 unk_18); +extern void func_020373b4(BMGGroups* pGroups, s16 unk_18); extern u32 func_020373ec(BMGGroups* pGroups, unk32 param_2); diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index bfb4853f..aa0ac753 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -9,7 +9,7 @@ // temp #define UNK_TYPE void -class UnkStruct_027E0C68_UnkSubClass1 { +class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { public: /* 0x00 (vtable) */ /* 0x04 */ unk32* unk_04; @@ -24,7 +24,7 @@ public: /* 0x20 */ unk32 unk_20; /* 0x24 */ unk32 unk_24; /* 0x28 */ unk32 unk_28; - /* 0x2C */ unk32 unk_2C; + /* 0x2C */ u32* unk_2C; /* 0x30 */ unk32 unk_30; /* 0x34 */ unk32 unk_34; /* 0x38 */ unk32 unk_38; @@ -40,38 +40,38 @@ public: /* 0x60 */ unk32 unk_60[0x3D]; /* 0x5C */ s16 unk_15C; - /* 0x00 */ virtual UNK_TYPE vfunc_00(void); - /* 0x04 */ virtual UNK_TYPE vfunc_04(void); - /* 0x08 */ virtual UNK_TYPE vfunc_08(void); - /* 0x0C */ virtual UNK_TYPE vfunc_0C(void); - /* 0x10 */ virtual UNK_TYPE vfunc_10(void); - /* 0x14 */ virtual UNK_TYPE vfunc_14(void); - /* 0x18 */ virtual UNK_TYPE vfunc_18(void); - /* 0x1C */ virtual UNK_TYPE vfunc_1C(void); - /* 0x20 */ virtual UNK_TYPE vfunc_20(void); - /* 0x24 */ virtual UNK_TYPE vfunc_24(void); - /* 0x28 */ virtual void vfunc_28(void); - /* 0x2C */ virtual UNK_TYPE vfunc_2C(void); - /* 0x30 */ virtual UNK_TYPE vfunc_30(void); - /* 0x34 */ virtual UNK_TYPE vfunc_34(void); - /* 0x38 */ virtual UNK_TYPE vfunc_38(void); - /* 0x3C */ virtual void vfunc_3C(unk32 param_2); - /* 0x40 */ virtual UNK_TYPE vfunc_40(void); - /* 0x44 */ virtual UNK_TYPE vfunc_44(void); - /* 0x48 */ virtual UNK_TYPE vfunc_48(void); - /* 0x4C */ virtual UNK_TYPE vfunc_4C(void); - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, int param_3, u8* param_4); - /* 0x54 */ virtual UNK_TYPE vfunc_54(void); - /* 0x58 */ virtual void vfunc_58(void); - /* 0x5C */ virtual UNK_TYPE vfunc_5C(void); - /* 0x60 */ virtual UNK_TYPE vfunc_60(void); - /* 0x64 */ virtual UNK_TYPE vfunc_64(void); - /* 0x68 */ virtual UNK_TYPE vfunc_68(void); - /* 0x6C */ virtual UNK_TYPE vfunc_6C(void); - /* 0x70 */ virtual UNK_TYPE vfunc_70(void); + UnkStruct_027E0C68_UnkSubClass1(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; + /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; + /* 0x0C */ virtual UNK_TYPE vfunc_0C(void) override; + /* 0x10 */ virtual UNK_TYPE vfunc_10(void) override; + /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; + /* 0x18 */ virtual UNK_TYPE vfunc_18(void) override; + /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; + /* 0x28 */ virtual void vfunc_28(void) override; + /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override; + /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; + /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; + /* 0x38 */ virtual UNK_TYPE vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual UNK_TYPE vfunc_40(void) override; + /* 0x44 */ virtual UNK_TYPE vfunc_44(void) override; + /* 0x48 */ virtual UNK_TYPE vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, int param_3, u8* param_4) override; + /* 0x54 */ virtual UNK_TYPE vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual UNK_TYPE vfunc_5C(void) override; + /* 0x60 */ virtual UNK_TYPE vfunc_60(void) override; + /* 0x64 */ virtual UNK_TYPE vfunc_64(void) override; + /* 0x68 */ virtual UNK_TYPE vfunc_68(void) override; + /* 0x6C */ virtual UNK_TYPE vfunc_6C(void) override; + /* 0x70 */ virtual UNK_TYPE vfunc_70(void) override; }; -class UnkStruct_027E0C68_UnkSubClass2 { +class UnkStruct_027E0C68_UnkSubClass2 : public SysObject { public: /* 0x00 (vtable) */ /* 0x04 */ unk32 unk_04; @@ -88,50 +88,51 @@ public: /* 0x30 */ unk32 unk_30; /* 0x34 */ unk16 unk_34; /* 0x36 */ unk16 unk_36; - /* 0x38 */ unk32 unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ unk32 unk_48; + /* 0x38 */ u8 unk_38; + /* 0x39 */ u8 unk_39; + /* 0x3A */ unk16 unk_3A; - /* 0x00 */ virtual UNK_TYPE vfunc_00(void); - /* 0x04 */ virtual UNK_TYPE vfunc_04(void); - /* 0x08 */ virtual void vfunc_08(void); - /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1* param_2); - /* 0x10 */ virtual void vfunc_10(void); - /* 0x14 */ virtual UNK_TYPE vfunc_14(void); - /* 0x1C */ virtual UNK_TYPE vfunc_1C(void); - /* 0x20 */ virtual UNK_TYPE vfunc_20(void); - /* 0x24 */ virtual UNK_TYPE vfunc_24(void); - /* 0x28 */ virtual UNK_TYPE vfunc_28(void); - /* 0x2C */ virtual UNK_TYPE vfunc_2C(void); - /* 0x30 */ virtual UNK_TYPE vfunc_30(void); - /* 0x34 */ virtual UNK_TYPE vfunc_34(void); + UnkStruct_027E0C68_UnkSubClass2(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2() override; + /* 0x08 */ virtual void vfunc_08(void) override; + /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1* param_2) override; + /* 0x10 */ virtual void vfunc_10(void) override; + /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; + /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; + /* 0x28 */ virtual UNK_TYPE vfunc_28(void) override; + /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override; + /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; + /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; }; class UnkStruct_027E0C68 : public SysObject { -private: +public: /* 0x00 */ unk16 unk_00; - /* 0x02 */ unk16 unk_02; + /* 0x02 */ u8 unk_02; + /* 0x03 */ u8 unk_03; /* 0x04 */ u8 unk_04; /* 0x05 */ u8 unk_05; /* 0x06 */ unk16 unk_06; /* 0x08 */ UnkStruct_027E0C68_UnkSubClass1* unk_08; - /* 0x0C */ unk32 unk_0C; + /* 0x0C */ u8 unk_0C; + /* 0x0C */ u8 unk_0D; + /* 0x0C */ unk16 unk_0E; /* 0x10 */ unk32 unk_10; /* 0x14 */ BMGGroups* pGroups; - /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18; - /* 0x1C */ UnkStruct_027E0C68_UnkSubClass2* unk_1C; + /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18[2]; /* 0x20 */ u32* unk_20; /* 0x24 */ unk32 unk_24; /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; -public: - UnkStruct_027E0C68(); + void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); + void func_0203665c(void); ~UnkStruct_027E0C68(); UnkStruct_027E0C68_UnkSubClass1* func_020366c4(void); UnkStruct_027E0C68_UnkSubClass1* func_02036700(void); UnkStruct_027E0C68_UnkSubClass2* func_0203673c(void); + bool func_02036770(u32 param_2); unk32 func_02036798(void); bool func_020367dc(int param_2); bool UnkStruct_027E0C68::func_020367ec(void); -- cgit v1.2.3 From 2e722d333a55861694da6f7486dc6ef056db3433 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:33:53 +0100 Subject: func_0203690c: 90% --- include/Message/MessageManager.hpp | 47 +++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index aa0ac753..7b7155dd 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -31,7 +31,9 @@ public: /* 0x3C */ unk32 unk_3C; /* 0x40 */ unk32 unk_40; /* 0x44 */ unk32 unk_44; - /* 0x48 */ unk32 unk_48; + /* 0x48 */ u8 unk_48; + /* 0x49 */ u8 unk_49; + /* 0x4A */ unk16 unk_4A; /* 0x4C */ unk32 unk_4C; /* 0x50 */ unk32 unk_50; /* 0x54 */ unk32 unk_54; @@ -51,7 +53,7 @@ public: /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; /* 0x28 */ virtual void vfunc_28(void) override; - /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; /* 0x38 */ virtual UNK_TYPE vfunc_38(void) override; @@ -107,6 +109,32 @@ public: /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; }; +class UnkStruct_027E0C68_UnkSubClass3 : public SysObject { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ u32 unk_18; + + UnkStruct_027E0C68_UnkSubClass3(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass3() override; + /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; + /* 0x0C */ virtual UNK_TYPE vfunc_0C(void) override; + /* 0x10 */ virtual void vfunc_10(void) override; + /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; + /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; + /* 0x28 */ virtual UNK_TYPE vfunc_28(void) override; + /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override; + /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; + /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; + /* 0x38 */ virtual UNK_TYPE vfunc_38(void) override; +}; + class UnkStruct_027E0C68 : public SysObject { public: /* 0x00 */ unk16 unk_00; @@ -119,12 +147,13 @@ public: /* 0x0C */ u8 unk_0C; /* 0x0C */ u8 unk_0D; /* 0x0C */ unk16 unk_0E; - /* 0x10 */ unk32 unk_10; + /* 0x10 */ unk16 unk_10; + /* 0x10 */ unk16 unk_12; /* 0x14 */ BMGGroups* pGroups; /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18[2]; - /* 0x20 */ u32* unk_20; - /* 0x24 */ unk32 unk_24; + /* 0x20 */ UnkStruct_027E0C68_UnkSubClass3* unk_20[2]; // is it actually UnkStruct_027E0C68_UnkSubClass2? /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; + /* 0x40 */ UnkStruct_027E0C68_UnkSubClass1* unk_40[2]; // is array size 6? void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203665c(void); @@ -140,12 +169,14 @@ public: bool func_02036824(void); bool func_02036850(void); void func_02036888(UnkStruct_027E0C68_UnkSubClass2* param_2); - bool func_020368f4(unk32 param_2); + bool func_020368f4(UnkStruct_027E0C68_UnkSubClass3* param_2); + void func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4); + void func_02036bbc(UNK_TYPE); void func_02036c50(unk32 param_2); void func_02036ca4(unk32 param_2); s32 func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3); - unk32 func_02036d30(u32* param_2); - unk32 func_02036d4c(u32* param_2); + bool func_02036d30(UnkStruct_027E0C68_UnkSubClass3* param_2); + bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass3* param_2); void func_02036d6c(void); UnkStruct_027E0C68_UnkSubClass1* func_02036da8(u32 param_2, s32* param_3); void func_02036edc(u32 param_2, u8 param_3); -- cgit v1.2.3 From 5b8beb79d7a44014aa0ed490a1eca726c2c3310b Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:36:33 +0100 Subject: make func_0203643c static --- include/Message/MessageManager.hpp | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 7b7155dd..596124ce 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -155,6 +155,7 @@ public: /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; /* 0x40 */ UnkStruct_027E0C68_UnkSubClass1* unk_40[2]; // is array size 6? + static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3); void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203665c(void); ~UnkStruct_027E0C68(); -- cgit v1.2.3 From d44088642ebf495a5f40a0212cddb023d4a4f454 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:21:26 +0100 Subject: match func_02036bbc --- include/Message/MessageManager.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 596124ce..3bf87777 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -59,7 +59,7 @@ public: /* 0x38 */ virtual UNK_TYPE vfunc_38(void) override; /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; /* 0x40 */ virtual UNK_TYPE vfunc_40(void) override; - /* 0x44 */ virtual UNK_TYPE vfunc_44(void) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ virtual UNK_TYPE vfunc_48(void) override; /* 0x4C */ virtual void vfunc_4C(void) override; /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, int param_3, u8* param_4) override; @@ -172,7 +172,7 @@ public: void func_02036888(UnkStruct_027E0C68_UnkSubClass2* param_2); bool func_020368f4(UnkStruct_027E0C68_UnkSubClass3* param_2); void func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4); - void func_02036bbc(UNK_TYPE); + void func_02036bbc(void); void func_02036c50(unk32 param_2); void func_02036ca4(unk32 param_2); s32 func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3); -- cgit v1.2.3 From 3de7041c34072cca1942d46441e5811344db6150 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 21:16:19 +0100 Subject: more progress --- include/Message/MessageManager.hpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 3bf87777..06caff2b 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -40,7 +40,12 @@ public: /* 0x58 */ unk32 unk_58; /* 0x5C */ s16 unk_5C; /* 0x60 */ unk32 unk_60[0x3D]; - /* 0x5C */ s16 unk_15C; + /* 0x15C */ s16 unk_15C; + /* 0x15C */ s16 unk_15E; + /* 0x160 */ unk32 unk_160; + /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; + /* 0x168 */ unk32 unk_168[0xAC]; + /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; UnkStruct_027E0C68_UnkSubClass1(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; @@ -96,7 +101,7 @@ public: UnkStruct_027E0C68_UnkSubClass2(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2() override; - /* 0x08 */ virtual void vfunc_08(void) override; + /* 0x08 */ virtual void vfunc_08(u32 param_1) override; /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1* param_2) override; /* 0x10 */ virtual void vfunc_10(void) override; /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; @@ -175,7 +180,7 @@ public: void func_02036bbc(void); void func_02036c50(unk32 param_2); void func_02036ca4(unk32 param_2); - s32 func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3); + bool func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3); bool func_02036d30(UnkStruct_027E0C68_UnkSubClass3* param_2); bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass3* param_2); void func_02036d6c(void); -- cgit v1.2.3 From 660c5e96554153dda38e8d2185db07ae70432266 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 22:11:59 +0100 Subject: convert BMGGroups to a class --- include/Message/BMG.hpp | 18 ++++++++++++------ include/Message/MessageManager.hpp | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 844da446..997e41f3 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -2,6 +2,7 @@ #include "global.h" #include "types.h" +#include "System/SysNew.hpp" #define BMG_MAGIC "MESGbmg1" #define BMG_TAG(a, b, c, d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) @@ -170,13 +171,18 @@ typedef struct BMGFileInfo { /* 0x1A */ s16 groupId; // stores the group id } BMGFileInfo; // size = 0x1C -// 0x027E0C68 + 0x14 -typedef struct BMGGroups { + +class BMGGroups : public SysObject { +public: /* 0x00 */ BMGFileInfo* entries; // accessed with `groupId` /* 0x04 */ s32 numEntries; -} BMGGroups; // size = 0x8 + /* 0x08 */ + + BMGGroups(); + ~BMGGroups(); + void func_020372f0(BMGFileIndex eIndex, s16 unk_18); + void func_020373b4(s16 unk_18); + u32 func_020373ec(unk32 param_2); +}; extern EntryINF1* func_02037258(BMGFileInfo* pFileInfo, unk32 param_2); -extern void func_020372f0(BMGGroups* pGroups, BMGFileIndex eIndex, s16 unk_18); -extern void func_020373b4(BMGGroups* pGroups, s16 unk_18); -extern u32 func_020373ec(BMGGroups* pGroups, unk32 param_2); diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 06caff2b..d6547c2f 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -159,6 +159,7 @@ public: /* 0x20 */ UnkStruct_027E0C68_UnkSubClass3* unk_20[2]; // is it actually UnkStruct_027E0C68_UnkSubClass2? /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; /* 0x40 */ UnkStruct_027E0C68_UnkSubClass1* unk_40[2]; // is array size 6? + /* 0x48 */ static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3); void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); -- cgit v1.2.3 From 9aaf744c3e1a7dd01c541c45bfd40ac221b83e25 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 24 Jan 2025 23:48:25 +0100 Subject: add missing sections to BMG.cpp delink --- include/Message/BMG.hpp | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 997e41f3..9a163559 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -171,7 +171,6 @@ typedef struct BMGFileInfo { /* 0x1A */ s16 groupId; // stores the group id } BMGFileInfo; // size = 0x1C - class BMGGroups : public SysObject { public: /* 0x00 */ BMGFileInfo* entries; // accessed with `groupId` -- cgit v1.2.3 From 45f07884d2db01590e0fdcb4409349e36ab4f8fa Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 25 Jan 2025 03:07:39 +0100 Subject: started vfuncs decomp --- include/Message/MessageManager.hpp | 73 +------------- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 112 +++++++++++++++++++++ 2 files changed, 113 insertions(+), 72 deletions(-) create mode 100644 include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index d6547c2f..2ab2dcc8 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -5,78 +5,7 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" - -// temp -#define UNK_TYPE void - -class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32* unk_04; - /* 0x08 */ unk32* unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ u8 unk_14; - /* 0x15 */ s16* unk_15; - /* 0x16 */ unk16 unk_16; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ u32* unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ unk32 unk_34; - /* 0x38 */ unk32 unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ u8 unk_48; - /* 0x49 */ u8 unk_49; - /* 0x4A */ unk16 unk_4A; - /* 0x4C */ unk32 unk_4C; - /* 0x50 */ unk32 unk_50; - /* 0x54 */ unk32 unk_54; - /* 0x58 */ unk32 unk_58; - /* 0x5C */ s16 unk_5C; - /* 0x60 */ unk32 unk_60[0x3D]; - /* 0x15C */ s16 unk_15C; - /* 0x15C */ s16 unk_15E; - /* 0x160 */ unk32 unk_160; - /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; - /* 0x168 */ unk32 unk_168[0xAC]; - /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; - - UnkStruct_027E0C68_UnkSubClass1(); - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; - /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; - /* 0x0C */ virtual UNK_TYPE vfunc_0C(void) override; - /* 0x10 */ virtual UNK_TYPE vfunc_10(void) override; - /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; - /* 0x18 */ virtual UNK_TYPE vfunc_18(void) override; - /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; - /* 0x28 */ virtual void vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; - /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; - /* 0x38 */ virtual UNK_TYPE vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual UNK_TYPE vfunc_40(void) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual UNK_TYPE vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, int param_3, u8* param_4) override; - /* 0x54 */ virtual UNK_TYPE vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual UNK_TYPE vfunc_5C(void) override; - /* 0x60 */ virtual UNK_TYPE vfunc_60(void) override; - /* 0x64 */ virtual UNK_TYPE vfunc_64(void) override; - /* 0x68 */ virtual UNK_TYPE vfunc_68(void) override; - /* 0x6C */ virtual UNK_TYPE vfunc_6C(void) override; - /* 0x70 */ virtual UNK_TYPE vfunc_70(void) override; -}; +#include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp" class UnkStruct_027E0C68_UnkSubClass2 : public SysObject { public: diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp new file mode 100644 index 00000000..534b725f --- /dev/null +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -0,0 +1,112 @@ +#pragma once + +#include "System/SysNew.hpp" +#include "Message/BMG.hpp" + +// temp +#define UNK_TYPE void + +class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { +public: + /* 0x000 (vtable) */ + /* 0x004 */ unk32* unk_04; + /* 0x008 */ unk32* unk_08; + /* 0x00C */ unk32* unk_0C; + /* 0x010 */ unk32* unk_10; + /* 0x014 */ unk32 unk_14; + /* 0x018 */ unk32 unk_18; + /* 0x01C */ unk32 unk_1C; + /* 0x020 */ unk32 unk_20; + /* 0x024 */ unk32* unk_24; + /* 0x028 */ unk32* unk_28; + /* 0x02C */ u32* unk_2C; + /* 0x030 */ unk32 unk_30; + /* 0x034 */ unk32 unk_34; + /* 0x038 */ unk32 unk_38; + /* 0x03C */ unk32 unk_3C; + /* 0x040 */ unk32 unk_40; + /* 0x044 */ unk32 unk_44; + /* 0x048 */ u8 unk_48; + /* 0x049 */ u8 unk_49; + /* 0x04A */ unk16 unk_4A; + /* 0x04C */ unk32 unk_4C; + /* 0x050 */ u8 unk_50; + /* 0x050 */ unk8 unk_51; + /* 0x050 */ unk16 unk_52; + /* 0x054 */ unk32 unk_54; + /* 0x058 */ unk32 unk_58; + /* 0x05C */ s16 unk_5C; + /* 0x05E */ s16 unk_5E; + /* 0x060 */ unk32 unk_60[0x2E]; + /* 0x118 */ s32 unk_118; + /* 0x11C */ unk32 unk_11C[0xD]; + /* 0x150 */ unk8 unk_150; + /* 0x151 */ unk8 unk_151; + /* 0x152 */ unk8 unk_152; + /* 0x153 */ unk8 unk_153; + /* 0x154 */ unk32 unk_154; + /* 0x158 */ unk16 unk_158; + /* 0x15A */ unk16 unk_15A; + /* 0x15C */ s16 unk_15C; + /* 0x15C */ s16 unk_15E; + /* 0x160 */ unk32 unk_160; + /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; + /* 0x168 */ u32 unk_168; + /* 0x16C */ u8 unk_16C[0x84]; + /* 0x1F0 */ u32 unk_1F0; + /* 0x1F4 */ u8 unk_1F4[0x84]; + /* 0x278 */ u32 unk_278; + /* 0x27C */ u8 unk_27C[0x84]; + /* 0x300 */ u32 unk_300; + /* 0x304 */ u8 unk_304[0x84]; + /* 0x388 */ u32 unk_388; + /* 0x38C */ u8 unk_38C[0x84]; + /* 0x410 */ u32 unk_410; + /* 0x414 */ unk32 unk_414; + /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; + + UnkStruct_027E0C68_UnkSubClass1(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; + /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; // func_0203c2c8 (dtor?) + /* 0x0C */ virtual void func_02039228(unk32* param_2, unk32* param_3) override; + /* 0x10 */ virtual void func_02039578(unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) override; + /* 0x14 */ virtual UNK_TYPE func_0203e060(void) override; + /* 0x18 */ virtual UNK_TYPE func_0203dcb4(void) override; + /* 0x1C */ virtual UNK_TYPE func_0203b264(void) override; + /* 0x20 */ virtual UNK_TYPE func_0203b310(void) override; + /* 0x24 */ virtual UNK_TYPE func_0203b814(void) override; + /* 0x28 */ virtual void func_0203e0c8(void) override; + /* 0x2C */ virtual void func_02039a5c(void) override; + /* 0x30 */ virtual void func_02038ed0(void) override; + /* 0x34 */ virtual UNK_TYPE func_02038c34(void) override; + /* 0x38 */ virtual UNK_TYPE func_0203c350(void) override; + /* 0x3C */ virtual void func_02039ccc(unk32 param_2) override; + /* 0x40 */ virtual UNK_TYPE func_02039d74(void) override; + /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void func_0203a328(void) override; + /* 0x4C */ virtual void func_02039a3c(void) override; + /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, int param_3, u8* param_4) override; + /* 0x54 */ virtual UNK_TYPE func_0203a988(void) override; + /* 0x58 */ virtual void func_0203af1c(void) override; + /* 0x5C */ virtual UNK_TYPE func_0203aea8(void) override; + /* 0x60 */ virtual UNK_TYPE func_0203b410(void) override; + /* 0x64 */ virtual UNK_TYPE func_0203b5d0(void) override; + /* 0x68 */ virtual unk32 func_020393d0(unk32 param_2) override; + /* 0x6C */ virtual void func_0203bdcc(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + unk32 func_020337d8(unk32 param_2); + void func_02038b28(void); + void func_0203e090(void); + void func_0203dc10(unk32 param_2, unk32 param_3, unk32 param_4); + void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + + // not sure it belongs to this class: + void func_0203e2ac(unk32* param_2, unk32* param_3); + void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_02038b40(void); + void func_0203ec34(u32*); + void func_020350ac(u32*); + void func_02038b1c(void); +}; -- cgit v1.2.3 From acc3200e655c6f4cf40e1911ccf18249b78900b5 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 25 Jan 2025 21:25:14 +0100 Subject: more vfuncs progress --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 177 ++++++++++++++++++--- 1 file changed, 154 insertions(+), 23 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 534b725f..33c8c7ef 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -6,6 +6,65 @@ // temp #define UNK_TYPE void +typedef struct UnkStruct_0203b264 { + /* 0 */ u8 mUnk_0[0x4]; + /* 4 */ u16 *mUnk_4; + /* 8 */ +} UnkStruct_0203b264; + +typedef struct UnkSubClass1_unk_154 { + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 unk_04; + u8 unk_05; + u8 unk_06; +} UnkSubClass1_unk_154; + +typedef u32 (*UnkCallback1)(void); + +typedef struct UnkStruct1 { + /* 0x00 */ UnkCallback1 unk_00; + /* 0x04 */ UnkCallback1 unk_04; +} UnkStruct1; // size = 0x8 + +class UnkSubClass1_unk_168 { +public: + /* 0x00 */ UnkStruct1* unk_00; + /* 0x04 */ + + void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); + void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_020352d8(void); + void func_020350ac(void); +}; + +class UnkSubClass1_unk_410 { +public: + /* 0x00 */ unk32 unk_00; + /* 0x04 */ + + void func_0203ec34(void); +}; + +class UnkSubClass1_unk_424 { +public: + /* 0x00 */ unk32 unk_00; + /* 0x04 */ + + void func_0203ee80(unk32); + void func_0203ef78(unk16, u16, unk8); +}; + +class UnkSubClass1_unk_124 { +public: + /* 0x00 */ unk32 unk_00; + /* 0x04 */ + + void func_0203f020(unk32, unk32); +}; + class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { public: /* 0x000 (vtable) */ @@ -31,55 +90,112 @@ public: /* 0x04A */ unk16 unk_4A; /* 0x04C */ unk32 unk_4C; /* 0x050 */ u8 unk_50; - /* 0x050 */ unk8 unk_51; - /* 0x050 */ unk16 unk_52; + /* 0x051 */ unk8 unk_51; + /* 0x052 */ unk16 unk_52; /* 0x054 */ unk32 unk_54; /* 0x058 */ unk32 unk_58; /* 0x05C */ s16 unk_5C; /* 0x05E */ s16 unk_5E; /* 0x060 */ unk32 unk_60[0x2E]; /* 0x118 */ s32 unk_118; - /* 0x11C */ unk32 unk_11C[0xD]; + /* 0x11C */ unk8 unk_11C; + /* 0x11D */ unk8 unk_11D; + /* 0x11E */ u8 unk_11E; + /* 0x11F */ unk8 unk_11F; + /* 0x120 */ u8 unk_120; + /* 0x120 */ u8 unk_121; + /* 0x122 */ u8 unk_122; + /* 0x122 */ u8 unk_123; + /* 0x124 */ UnkSubClass1_unk_124* unk_124; + /* 0x128 */ unk32 unk_128; + /* 0x12C */ unk32 unk_12C; + /* 0x130 */ unk16 unk_130; + /* 0x132 */ unk16 unk_132; + /* 0x134 */ unk32 unk_134; + /* 0x138 */ unk32 unk_138; + /* 0x13C */ unk32 unk_13C; + /* 0x140 */ unk32 unk_140; + /* 0x144 */ unk32 unk_144; + /* 0x148 */ unk32 unk_148; + /* 0x14C */ unk32 unk_14C; /* 0x150 */ unk8 unk_150; /* 0x151 */ unk8 unk_151; /* 0x152 */ unk8 unk_152; /* 0x153 */ unk8 unk_153; - /* 0x154 */ unk32 unk_154; + /* 0x154 */ UnkSubClass1_unk_154* unk_154; /* 0x158 */ unk16 unk_158; /* 0x15A */ unk16 unk_15A; /* 0x15C */ s16 unk_15C; - /* 0x15C */ s16 unk_15E; + /* 0x15E */ s8 unk_15E; + /* 0x15F */ s8 unk_15F; /* 0x160 */ unk32 unk_160; /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; - /* 0x168 */ u32 unk_168; - /* 0x16C */ u8 unk_16C[0x84]; - /* 0x1F0 */ u32 unk_1F0; + /* 0x168 */ UnkSubClass1_unk_168 unk_168; + /* 0x16C */ u32* unk_16C; + /* 0x16C */ u32* unk_170; + /* 0x16C */ u8 unk_174[0x58]; + /* 0x1CC */ u32 unk_1CC; + /* 0x1D0 */ unk32 unk_1D0; + /* 0x1D4 */ unk32 unk_1D4; + /* 0x1D8 */ unk32 unk_1D8; + /* 0x1DC */ u32* unk_1DC; + /* 0x1E0 */ u32* unk_1E0; + /* 0x1E4 */ u32 unk_1E4; + /* 0x1E8 */ unk32 unk_1E8; + /* 0x1EC */ unk32 unk_1EC; + /* 0x1F0 */ UnkSubClass1_unk_168 unk_1F0; /* 0x1F4 */ u8 unk_1F4[0x84]; - /* 0x278 */ u32 unk_278; + /* 0x278 */ UnkSubClass1_unk_168 unk_278; /* 0x27C */ u8 unk_27C[0x84]; - /* 0x300 */ u32 unk_300; + /* 0x300 */ UnkSubClass1_unk_168 unk_300; /* 0x304 */ u8 unk_304[0x84]; - /* 0x388 */ u32 unk_388; + /* 0x388 */ UnkSubClass1_unk_168 unk_388; /* 0x38C */ u8 unk_38C[0x84]; - /* 0x410 */ u32 unk_410; + /* 0x410 */ UnkSubClass1_unk_410 unk_410; /* 0x414 */ unk32 unk_414; /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; + /* 0x41C */ unk32 unk_41C; + /* 0x420 */ unk32 unk_420; + /* 0x424 */ UnkSubClass1_unk_424 unk_424; + /* 0x428 */ u16* unk_428; + /* 0x42C */ unk32 unk_42C; + /* 0x430 */ unk32 unk_430; + /* 0x434 */ u8 unk_434[0xF4]; + /* 0x528 */ s16* unk_528; + /* 0x52C */ u8 unk_52C[0x3C]; + /* 0x568 */ unk32 unk_568; + /* 0x56C */ unk16 unk_56C; + /* 0x56E */ unk16 unk_56E; + /* 0x570 */ unk16 unk_570; + /* 0x572 */ unk16 unk_572; + /* 0x574 */ s16 unk_574; + /* 0x576 */ u8 unk_576; + /* 0x577 */ u8 unk_577; + /* 0x578 */ u8 unk_578; + /* 0x579 */ u8 unk_579; + /* 0x57A */ u8 unk_57A; + /* 0x57B */ u8 unk_57B; + /* 0x57C */ u8 unk_57C; + /* 0x57D */ u8 unk_57D; + /* 0x57E */ u8 unk_57E; + /* 0x57F */ u8 unk_57F; + /* 0x580 */ u8 unk_580; UnkStruct_027E0C68_UnkSubClass1(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; // func_0203c2c8 (dtor?) /* 0x0C */ virtual void func_02039228(unk32* param_2, unk32* param_3) override; - /* 0x10 */ virtual void func_02039578(unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) override; - /* 0x14 */ virtual UNK_TYPE func_0203e060(void) override; - /* 0x18 */ virtual UNK_TYPE func_0203dcb4(void) override; - /* 0x1C */ virtual UNK_TYPE func_0203b264(void) override; - /* 0x20 */ virtual UNK_TYPE func_0203b310(void) override; + /* 0x10 */ virtual void func_02039578(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x14 */ virtual void func_0203e060(u8 param_2, u8 param_3) override; + /* 0x18 */ virtual bool func_0203dcb4(unk32 param_2, unk32 param_3) override; + /* 0x1C */ virtual unk32 func_0203b264(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x20 */ virtual unk32 func_0203b310(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; /* 0x24 */ virtual UNK_TYPE func_0203b814(void) override; - /* 0x28 */ virtual void func_0203e0c8(void) override; + /* 0x28 */ virtual bool func_0203e0c8(void) override; /* 0x2C */ virtual void func_02039a5c(void) override; /* 0x30 */ virtual void func_02038ed0(void) override; /* 0x34 */ virtual UNK_TYPE func_02038c34(void) override; - /* 0x38 */ virtual UNK_TYPE func_0203c350(void) override; + /* 0x38 */ virtual bool func_0203c350(void) override; /* 0x3C */ virtual void func_02039ccc(unk32 param_2) override; /* 0x40 */ virtual UNK_TYPE func_02039d74(void) override; /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY) override; @@ -88,9 +204,9 @@ public: /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, int param_3, u8* param_4) override; /* 0x54 */ virtual UNK_TYPE func_0203a988(void) override; /* 0x58 */ virtual void func_0203af1c(void) override; - /* 0x5C */ virtual UNK_TYPE func_0203aea8(void) override; + /* 0x5C */ virtual void func_0203aea8(void) override; /* 0x60 */ virtual UNK_TYPE func_0203b410(void) override; - /* 0x64 */ virtual UNK_TYPE func_0203b5d0(void) override; + /* 0x64 */ virtual void func_0203b5d0(unk32 param_2) override; /* 0x68 */ virtual unk32 func_020393d0(unk32 param_2) override; /* 0x6C */ virtual void func_0203bdcc(unk32* param_2, unk32* param_3) override; /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3) override; @@ -99,14 +215,29 @@ public: unk32 func_020337d8(unk32 param_2); void func_02038b28(void); void func_0203e090(void); - void func_0203dc10(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk32 func_0203a30c(void); + unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + unk32 func_0203cb5c(unk8, unk32); + void func_020393a8(unk32 param_2); + void func_0203be08(void); + unk32 func_02032fa4(void); + void func_0203e0f8(void); + + void func_0203dc10(u8 param_2, u8 param_3); + void func_0203dc10(u8 param_2); // not sure it belongs to this class: void func_0203e2ac(unk32* param_2, unk32* param_3); void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); void func_02038b40(void); - void func_0203ec34(u32*); void func_020350ac(u32*); void func_02038b1c(void); + unk32 func_0203951c(void); + unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); + void func_0203f020(UnkSubClass1_unk_124*, unk32, unk32); + void func_0203947c(void); + void func_0203fc78(unk32*, unk32*); + void func_02032fcc(unk32, unk32); + void func_020331c4(unk32, unk32); }; -- cgit v1.2.3 From fb0f8b909e722d5ae6363b29d97f82aeeaf655c6 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 25 Jan 2025 21:47:15 +0100 Subject: cleanup unk_168 to unk_388 --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 63 ++++++++++++++-------- 1 file changed, 40 insertions(+), 23 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 33c8c7ef..5c4e61bf 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -29,10 +29,43 @@ typedef struct UnkStruct1 { /* 0x04 */ UnkCallback1 unk_04; } UnkStruct1; // size = 0x8 -class UnkSubClass1_unk_168 { +class UnkSubClass1_UnkownClass1 { public: /* 0x00 */ UnkStruct1* unk_00; - /* 0x04 */ + /* 0x04 */ u32* unk_04; + /* 0x08 */ u32* unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ u32* unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk32 unk_28; + /* 0x2C */ unk32 unk_2C; + /* 0x30 */ unk32 unk_30; + /* 0x34 */ u32* unk_34; + /* 0x38 */ u32* unk_38; + /* 0x3C */ unk32 unk_3C; + /* 0x40 */ unk32 unk_40; + /* 0x44 */ unk32 unk_44; + /* 0x48 */ unk32 unk_48; + /* 0x4C */ unk32 unk_4C; + /* 0x50 */ unk32 unk_50; + /* 0x54 */ unk32 unk_54; + /* 0x58 */ unk32 unk_58; + /* 0x5C */ unk32 unk_5C; + /* 0x60 */ unk32 unk_60; + /* 0x64 */ unk32 unk_64; + /* 0x68 */ unk32 unk_68; + /* 0x6C */ unk32 unk_6C; + /* 0x70 */ unk32 unk_70; + /* 0x74 */ u32* unk_74; + /* 0x78 */ u32* unk_78; + /* 0x7C */ unk32 unk_7C; + /* 0x80 */ unk32 unk_80; + /* 0x84 */ unk32 unk_84; + /* 0x88 */ void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); @@ -130,27 +163,11 @@ public: /* 0x15F */ s8 unk_15F; /* 0x160 */ unk32 unk_160; /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; - /* 0x168 */ UnkSubClass1_unk_168 unk_168; - /* 0x16C */ u32* unk_16C; - /* 0x16C */ u32* unk_170; - /* 0x16C */ u8 unk_174[0x58]; - /* 0x1CC */ u32 unk_1CC; - /* 0x1D0 */ unk32 unk_1D0; - /* 0x1D4 */ unk32 unk_1D4; - /* 0x1D8 */ unk32 unk_1D8; - /* 0x1DC */ u32* unk_1DC; - /* 0x1E0 */ u32* unk_1E0; - /* 0x1E4 */ u32 unk_1E4; - /* 0x1E8 */ unk32 unk_1E8; - /* 0x1EC */ unk32 unk_1EC; - /* 0x1F0 */ UnkSubClass1_unk_168 unk_1F0; - /* 0x1F4 */ u8 unk_1F4[0x84]; - /* 0x278 */ UnkSubClass1_unk_168 unk_278; - /* 0x27C */ u8 unk_27C[0x84]; - /* 0x300 */ UnkSubClass1_unk_168 unk_300; - /* 0x304 */ u8 unk_304[0x84]; - /* 0x388 */ UnkSubClass1_unk_168 unk_388; - /* 0x38C */ u8 unk_38C[0x84]; + /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; + /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; + /* 0x278 */ UnkSubClass1_UnkownClass1 unk_278; + /* 0x300 */ UnkSubClass1_UnkownClass1 unk_300; + /* 0x388 */ UnkSubClass1_UnkownClass1 unk_388; /* 0x410 */ UnkSubClass1_unk_410 unk_410; /* 0x414 */ unk32 unk_414; /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; -- cgit v1.2.3 From dae35edc7b4bdce6debfe91f72e1150b35cc2947 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 25 Jan 2025 22:02:41 +0100 Subject: sorted declarations --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 25 +++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 5c4e61bf..20f4b5cd 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -229,32 +229,31 @@ public: /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3) override; /* 0x74 */ + unk32 func_02032fa4(void); unk32 func_020337d8(unk32 param_2); void func_02038b28(void); - void func_0203e090(void); - void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - unk32 func_0203a30c(void); unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - unk32 func_0203cb5c(unk8, unk32); void func_020393a8(unk32 param_2); + unk32 func_0203a30c(void); void func_0203be08(void); - unk32 func_02032fa4(void); - void func_0203e0f8(void); - - void func_0203dc10(u8 param_2, u8 param_3); + unk32 func_0203cb5c(unk8, unk32); void func_0203dc10(u8 param_2); + void func_0203dc10(u8 param_2, u8 param_3); + void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_0203e090(void); + void func_0203e0f8(void); // not sure it belongs to this class: - void func_0203e2ac(unk32* param_2, unk32* param_3); + void func_02032fcc(unk32, unk32); void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - void func_02038b40(void); + void func_020331c4(unk32, unk32); void func_020350ac(u32*); void func_02038b1c(void); + void func_02038b40(void); + void func_0203947c(void); unk32 func_0203951c(void); unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); + void func_0203e2ac(unk32* param_2, unk32* param_3); void func_0203f020(UnkSubClass1_unk_124*, unk32, unk32); - void func_0203947c(void); void func_0203fc78(unk32*, unk32*); - void func_02032fcc(unk32, unk32); - void func_020331c4(unk32, unk32); }; -- cgit v1.2.3 From 8250e4aa3a9f8ada1fe76eb7c6d6214b90979cf4 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sun, 26 Jan 2025 00:12:53 +0100 Subject: more vfuncs progress --- include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 20f4b5cd..b08e7b7f 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -211,7 +211,7 @@ public: /* 0x28 */ virtual bool func_0203e0c8(void) override; /* 0x2C */ virtual void func_02039a5c(void) override; /* 0x30 */ virtual void func_02038ed0(void) override; - /* 0x34 */ virtual UNK_TYPE func_02038c34(void) override; + /* 0x34 */ virtual unk32 func_02038c34(unk32 param_2) override; /* 0x38 */ virtual bool func_0203c350(void) override; /* 0x3C */ virtual void func_02039ccc(unk32 param_2) override; /* 0x40 */ virtual UNK_TYPE func_02039d74(void) override; @@ -230,8 +230,10 @@ public: /* 0x74 */ unk32 func_02032fa4(void); + unk32 func_02032fb4(void); unk32 func_020337d8(unk32 param_2); void func_02038b28(void); + unk32 func_02038d10(void); unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); void func_020393a8(unk32 param_2); unk32 func_0203a30c(void); @@ -247,13 +249,12 @@ public: void func_02032fcc(unk32, unk32); void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); void func_020331c4(unk32, unk32); - void func_020350ac(u32*); + unk32 func_02038cf4(void); void func_02038b1c(void); void func_02038b40(void); void func_0203947c(void); unk32 func_0203951c(void); unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); - void func_0203e2ac(unk32* param_2, unk32* param_3); - void func_0203f020(UnkSubClass1_unk_124*, unk32, unk32); + void func_0203e2ac(unk32* param_2); void func_0203fc78(unk32*, unk32*); }; -- cgit v1.2.3 From 6dd1cac92c43b179c28e9db745f681b052be6b5e Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sun, 26 Jan 2025 03:36:11 +0100 Subject: more vfuncs progress --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 75 ++++++++++++++++++++-- 1 file changed, 68 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index b08e7b7f..60320873 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -67,10 +67,11 @@ public: /* 0x84 */ unk32 unk_84; /* 0x88 */ + void func_020350ac(void); void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); + void func_0203516c(void); void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); void func_020352d8(void); - void func_020350ac(void); }; class UnkSubClass1_unk_410 { @@ -79,6 +80,7 @@ public: /* 0x04 */ void func_0203ec34(void); + void func_0203ebf8(void); }; class UnkSubClass1_unk_424 { @@ -88,21 +90,66 @@ public: void func_0203ee80(unk32); void func_0203ef78(unk16, u16, unk8); + void func_0203ef78(unk16); // overload? }; class UnkSubClass1_unk_124 { public: /* 0x00 */ unk32 unk_00; + /* 0x00 */ unk32 unk_04; + /* 0x00 */ unk32 unk_08; + /* 0x00 */ unk32 unk_0C; + /* 0x00 */ unk32 unk_10; + /* 0x00 */ unk32 unk_14; + /* 0x00 */ unk32 unk_18; + /* 0x00 */ unk32 unk_1C; + /* 0x00 */ unk32 unk_20; + /* 0x00 */ unk32 unk_24; + /* 0x00 */ unk8 unk_28; + /* 0x00 */ unk8 unk_29; + /* 0x00 */ unk8 unk_2A; + /* 0x00 */ unk8 unk_2B; + /* 0x00 */ unk32 unk_2C; /* 0x04 */ void func_0203f020(unk32, unk32); }; +class UnkSubClass1_02256FF8 { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ u8 unk_1C; + /* 0x20 */ + + UnkSubClass1_02256FF8(); + /* 0x00 */ virtual ~UnkSubClass1_02256FF8() override; + /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE) override; + /* 0x0C */ virtual UNK_TYPE vfunc_0C(UNK_TYPE) override; + /* 0x10 */ virtual UNK_TYPE vfunc_10(UNK_TYPE) override; + /* 0x14 */ virtual UNK_TYPE vfunc_14(UNK_TYPE) override; + /* 0x18 */ virtual UNK_TYPE vfunc_18(UNK_TYPE) override; + /* 0x1C */ virtual UNK_TYPE vfunc_1C(UNK_TYPE) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual UNK_TYPE vfunc_28(UNK_TYPE) override; + /* 0x2C */ virtual UNK_TYPE vfunc_2C(UNK_TYPE) override; + /* 0x30 */ virtual UNK_TYPE vfunc_30(UNK_TYPE) override; + /* 0x34 */ virtual UNK_TYPE vfunc_34(UNK_TYPE) override; + /* 0x38 */ virtual UNK_TYPE vfunc_38(UNK_TYPE) override; + /* 0x3C */ +}; + class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { public: /* 0x000 (vtable) */ /* 0x004 */ unk32* unk_04; - /* 0x008 */ unk32* unk_08; + /* 0x008 */ UnkSubClass1_02256FF8* unk_08; /* 0x00C */ unk32* unk_0C; /* 0x010 */ unk32* unk_10; /* 0x014 */ unk32 unk_14; @@ -140,8 +187,8 @@ public: /* 0x122 */ u8 unk_122; /* 0x122 */ u8 unk_123; /* 0x124 */ UnkSubClass1_unk_124* unk_124; - /* 0x128 */ unk32 unk_128; - /* 0x12C */ unk32 unk_12C; + /* 0x128 */ UnkStruct1* unk_128; + /* 0x12C */ u16* unk_12C; // pointer to the current position in the message to display /* 0x130 */ unk16 unk_130; /* 0x132 */ unk16 unk_132; /* 0x134 */ unk32 unk_134; @@ -152,7 +199,7 @@ public: /* 0x148 */ unk32 unk_148; /* 0x14C */ unk32 unk_14C; /* 0x150 */ unk8 unk_150; - /* 0x151 */ unk8 unk_151; + /* 0x151 */ u8 unk_151; /* 0x152 */ unk8 unk_152; /* 0x153 */ unk8 unk_153; /* 0x154 */ UnkSubClass1_unk_154* unk_154; @@ -184,7 +231,7 @@ public: /* 0x56C */ unk16 unk_56C; /* 0x56E */ unk16 unk_56E; /* 0x570 */ unk16 unk_570; - /* 0x572 */ unk16 unk_572; + /* 0x572 */ u16 unk_572; /* 0x574 */ s16 unk_574; /* 0x576 */ u8 unk_576; /* 0x577 */ u8 unk_577; @@ -197,6 +244,12 @@ public: /* 0x57E */ u8 unk_57E; /* 0x57F */ u8 unk_57F; /* 0x580 */ u8 unk_580; + /* 0x581 */ u8 unk_581; + /* 0x582 */ u8 unk_582; + /* 0x583 */ u8 unk_583; + /* 0x584 */ u8 unk_584; + /* 0x585 */ u8 unk_585; + /* 0x586 */ u8 unk_586; UnkStruct_027E0C68_UnkSubClass1(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; @@ -214,7 +267,7 @@ public: /* 0x34 */ virtual unk32 func_02038c34(unk32 param_2) override; /* 0x38 */ virtual bool func_0203c350(void) override; /* 0x3C */ virtual void func_02039ccc(unk32 param_2) override; - /* 0x40 */ virtual UNK_TYPE func_02039d74(void) override; + /* 0x40 */ virtual void func_02039d74(unk32 param_2, unk32 param_3) override; /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ virtual void func_0203a328(void) override; /* 0x4C */ virtual void func_02039a3c(void) override; @@ -234,14 +287,22 @@ public: unk32 func_020337d8(unk32 param_2); void func_02038b28(void); unk32 func_02038d10(void); + void func_02038d20(void); unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); void func_020393a8(unk32 param_2); + unk32 func_0203a2c0(void); unk32 func_0203a30c(void); + void func_0203a35c(void); + unk32 func_0203a3e0(void); + void func_0203b0ec(unk32 param_2); + void func_0203bd8c(u16 param_2); void func_0203be08(void); + void func_0203be64(void); unk32 func_0203cb5c(unk8, unk32); void func_0203dc10(u8 param_2); void func_0203dc10(u8 param_2, u8 param_3); void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk32 func_0203de14(unk32); void func_0203e090(void); void func_0203e0f8(void); -- cgit v1.2.3 From 1af423e8ae2dd22a8dd77e23d5ae26c69dc343bc Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sun, 26 Jan 2025 14:19:50 +0100 Subject: update symbols --- include/Message/MessageManager.hpp | 7 ++++--- include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 2ab2dcc8..8f70ce23 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -34,13 +34,14 @@ public: /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1* param_2) override; /* 0x10 */ virtual void vfunc_10(void) override; /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; + /* 0x18 */ virtual UNK_TYPE vfunc_18(void) override; /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override; /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; /* 0x28 */ virtual UNK_TYPE vfunc_28(void) override; /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override; /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; - /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; + /* 0x34 */ }; class UnkStruct_027E0C68_UnkSubClass3 : public SysObject { @@ -119,8 +120,8 @@ public: UnkStruct_027E0C68_UnkSubClass1* func_02036f68(u32 param_2, u8* param_3); UnkStruct_027E0C68_UnkSubClass2* func_020370d0(unk32 param_2, unk32 param_3); UnkStruct_027E0C68_UnkSubClass2* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); - void func_02037158(UnkStruct_027E0C68_UnkSubClass1* param_2); - UnkStruct_027E0C68_UnkSubClass1* func_02037178(UnkStruct_027E0C68_UnkSubClass1* param_2); + void func_02037158(UnkSubClass1_02256FF8* param_2); + UnkStruct_027E0C68_UnkSubClass1* func_02037178(UnkSubClass1_02256FF8* param_2); }; extern UnkStruct_027E0C68 data_027e0c68; diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 60320873..61c057f0 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -286,6 +286,7 @@ public: unk32 func_02032fb4(void); unk32 func_020337d8(unk32 param_2); void func_02038b28(void); + void func_02038b40(void); unk32 func_02038d10(void); void func_02038d20(void); unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); @@ -312,7 +313,6 @@ public: void func_020331c4(unk32, unk32); unk32 func_02038cf4(void); void func_02038b1c(void); - void func_02038b40(void); void func_0203947c(void); unk32 func_0203951c(void); unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); -- cgit v1.2.3 From 2107619c79f2044cc3efff596e6d032f0d5ad99e Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sun, 26 Jan 2025 16:42:09 +0100 Subject: more vfuncs progress --- include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 61c057f0..c8ea6cc9 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -67,6 +67,8 @@ public: /* 0x84 */ unk32 unk_84; /* 0x88 */ + void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); + void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_020350ac(void); void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_0203516c(void); @@ -153,7 +155,10 @@ public: /* 0x00C */ unk32* unk_0C; /* 0x010 */ unk32* unk_10; /* 0x014 */ unk32 unk_14; - /* 0x018 */ unk32 unk_18; + /* 0x018 */ u8 unk_18; + /* 0x018 */ u8 unk_19; + /* 0x018 */ u8 unk_1A; + /* 0x018 */ u8 unk_1B; /* 0x01C */ unk32 unk_1C; /* 0x020 */ unk32 unk_20; /* 0x024 */ unk32* unk_24; @@ -226,7 +231,10 @@ public: /* 0x430 */ unk32 unk_430; /* 0x434 */ u8 unk_434[0xF4]; /* 0x528 */ s16* unk_528; - /* 0x52C */ u8 unk_52C[0x3C]; + /* 0x52C */ u8 unk_52C[0x30]; + /* 0x55C */ unk32 unk_55C; + /* 0x560 */ unk32 unk_560; + /* 0x564 */ unk32 unk_564; /* 0x568 */ unk32 unk_568; /* 0x56C */ unk16 unk_56C; /* 0x56E */ unk16 unk_56E; @@ -299,7 +307,7 @@ public: void func_0203bd8c(u16 param_2); void func_0203be08(void); void func_0203be64(void); - unk32 func_0203cb5c(unk8, unk32); + unk32 func_0203cb5c(unk8, s16); void func_0203dc10(u8 param_2); void func_0203dc10(u8 param_2, u8 param_3); void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); @@ -307,6 +315,9 @@ public: void func_0203e090(void); void func_0203e0f8(void); + void func_0203a188(unk32, unk32); + void func_0203e1b0(unk32, unk32, unk32); + // not sure it belongs to this class: void func_02032fcc(unk32, unk32); void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); -- cgit v1.2.3 From 1518fbfa8042ab241dc037f77739594bc11a964e Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sun, 26 Jan 2025 23:54:14 +0100 Subject: more vfuncs progress --- include/DTCM/UnkStruct_027e103c.hpp | 12 +++++++++++ include/Item/ItemManager.hpp | 3 +++ include/Message/MessageManager.hpp | 2 +- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 23 ++++++++++++++++++---- 4 files changed, 35 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index c95f759a..f4a51c4a 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -18,6 +18,18 @@ struct UnkStruct_027e103c { /* 24 */ u8 mUnk_24; /* 25 */ unk8 mUnk_25[7]; /* 2c */ + + void func_ov000_020cf284(unk32, unk32); + + unk32 func_ov000_020cf4bc(void); + unk8* func_ov000_020cef9c(void); + void func_ov000_020cfb38(void); + unk32 func_ov000_020cf488(void); + void func_ov000_020cfa24(void); + void func_ov000_020cfe40(unk32, unk32); + void func_ov005_02104028(unk32); + unk32 func_ov000_020cf0bc(void); + void func_ov005_02103f8c(unk32*); }; extern UnkStruct_027e103c *data_027e103c; diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index ae5e8cad..35985374 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -124,6 +124,8 @@ struct UnkStruct_027e0d38 { /* 24 */ void *mUnk_24; /* 28 */ void *mUnk_28; /* 2c */ + + unk32 func_ov000_02078b40(void); }; typedef u32 ItemModelId; @@ -332,3 +334,4 @@ public: }; extern ItemManager *gItemManager; +extern UnkStruct_027e0d38 *data_027e0d38; diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 8f70ce23..9b24632b 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -115,7 +115,7 @@ public: bool func_02036d30(UnkStruct_027E0C68_UnkSubClass3* param_2); bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass3* param_2); void func_02036d6c(void); - UnkStruct_027E0C68_UnkSubClass1* func_02036da8(u32 param_2, s32* param_3); + UnkStruct_027E0C68_UnkSubClass1* func_02036da8(u32 param_2, s16* param_3); void func_02036edc(u32 param_2, u8 param_3); UnkStruct_027E0C68_UnkSubClass1* func_02036f68(u32 param_2, u8* param_3); UnkStruct_027E0C68_UnkSubClass2* func_020370d0(unk32 param_2, unk32 param_3); diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index c8ea6cc9..df2e9152 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -6,6 +6,8 @@ // temp #define UNK_TYPE void +#define ESCAPE_SEQUENCE_MARKER '\x1A' + typedef struct UnkStruct_0203b264 { /* 0 */ u8 mUnk_0[0x4]; /* 4 */ u16 *mUnk_4; @@ -32,7 +34,8 @@ typedef struct UnkStruct1 { class UnkSubClass1_UnkownClass1 { public: /* 0x00 */ UnkStruct1* unk_00; - /* 0x04 */ u32* unk_04; + /* 0x04 */ unk16 unk_04; + /* 0x06 */ unk16 unk_06; /* 0x08 */ u32* unk_08; /* 0x0C */ unk32 unk_0C; /* 0x10 */ unk32 unk_10; @@ -82,6 +85,7 @@ public: /* 0x04 */ void func_0203ec34(void); + void func_0203ebe0(void); void func_0203ebf8(void); }; @@ -93,6 +97,7 @@ public: void func_0203ee80(unk32); void func_0203ef78(unk16, u16, unk8); void func_0203ef78(unk16); // overload? + void func_0203ee48(void); }; class UnkSubClass1_unk_124 { @@ -233,7 +238,8 @@ public: /* 0x528 */ s16* unk_528; /* 0x52C */ u8 unk_52C[0x30]; /* 0x55C */ unk32 unk_55C; - /* 0x560 */ unk32 unk_560; + /* 0x560 */ unk16 unk_560; + /* 0x560 */ unk16 unk_562; /* 0x564 */ unk32 unk_564; /* 0x568 */ unk32 unk_568; /* 0x56C */ unk16 unk_56C; @@ -279,8 +285,8 @@ public: /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ virtual void func_0203a328(void) override; /* 0x4C */ virtual void func_02039a3c(void) override; - /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, int param_3, u8* param_4) override; - /* 0x54 */ virtual UNK_TYPE func_0203a988(void) override; + /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void func_0203a988(void) override; /* 0x58 */ virtual void func_0203af1c(void) override; /* 0x5C */ virtual void func_0203aea8(void) override; /* 0x60 */ virtual UNK_TYPE func_0203b410(void) override; @@ -314,9 +320,16 @@ public: unk32 func_0203de14(unk32); void func_0203e090(void); void func_0203e0f8(void); + void func_020392b4(void); + void func_0203b764(void); void func_0203a188(unk32, unk32); void func_0203e1b0(unk32, unk32, unk32); + unk32 func_0203a6d0(unk32, unk32); + unk32 func_0203b0bc(void); + void func_02038f44(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5, unk32 param_6); + u16* func_02037604(u16**); + void func_02039398(void); // not sure it belongs to this class: void func_02032fcc(unk32, unk32); @@ -329,4 +342,6 @@ public: unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); void func_0203e2ac(unk32* param_2); void func_0203fc78(unk32*, unk32*); + + void func_0203cabc(unk32); }; -- cgit v1.2.3 From 097e8853e4abe1d2827c05ef83993cd08ad6e765 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Mon, 27 Jan 2025 18:17:33 +0100 Subject: progress --- include/Message/MessageManager.hpp | 19 +-- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 177 ++++++++++++++------- 2 files changed, 130 insertions(+), 66 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 9b24632b..2cfe20ab 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -27,11 +27,12 @@ public: /* 0x38 */ u8 unk_38; /* 0x39 */ u8 unk_39; /* 0x3A */ unk16 unk_3A; + /* 0x3C */ UnkStruct_027E0C68_UnkSubClass2(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2() override; /* 0x08 */ virtual void vfunc_08(u32 param_1) override; - /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1* param_2) override; + /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1_Sub1* param_2) override; /* 0x10 */ virtual void vfunc_10(void) override; /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; /* 0x18 */ virtual UNK_TYPE vfunc_18(void) override; @@ -78,7 +79,7 @@ public: /* 0x04 */ u8 unk_04; /* 0x05 */ u8 unk_05; /* 0x06 */ unk16 unk_06; - /* 0x08 */ UnkStruct_027E0C68_UnkSubClass1* unk_08; + /* 0x08 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_08; /* 0x0C */ u8 unk_0C; /* 0x0C */ u8 unk_0D; /* 0x0C */ unk16 unk_0E; @@ -87,16 +88,16 @@ public: /* 0x14 */ BMGGroups* pGroups; /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18[2]; /* 0x20 */ UnkStruct_027E0C68_UnkSubClass3* unk_20[2]; // is it actually UnkStruct_027E0C68_UnkSubClass2? - /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1* unk_28[6]; - /* 0x40 */ UnkStruct_027E0C68_UnkSubClass1* unk_40[2]; // is array size 6? + /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_28[6]; + /* 0x40 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_40[2]; // is array size 6? /* 0x48 */ static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3); void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203665c(void); ~UnkStruct_027E0C68(); - UnkStruct_027E0C68_UnkSubClass1* func_020366c4(void); - UnkStruct_027E0C68_UnkSubClass1* func_02036700(void); + UnkStruct_027E0C68_UnkSubClass1_Sub1* func_020366c4(void); + UnkStruct_027E0C68_UnkSubClass1_Sub1* func_02036700(void); UnkStruct_027E0C68_UnkSubClass2* func_0203673c(void); bool func_02036770(u32 param_2); unk32 func_02036798(void); @@ -115,13 +116,13 @@ public: bool func_02036d30(UnkStruct_027E0C68_UnkSubClass3* param_2); bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass3* param_2); void func_02036d6c(void); - UnkStruct_027E0C68_UnkSubClass1* func_02036da8(u32 param_2, s16* param_3); + UnkStruct_027E0C68_UnkSubClass1_Base* func_02036da8(u32 param_2, s16* param_3); void func_02036edc(u32 param_2, u8 param_3); - UnkStruct_027E0C68_UnkSubClass1* func_02036f68(u32 param_2, u8* param_3); + UnkStruct_027E0C68_UnkSubClass1_Sub1* func_02036f68(u32 param_2, u8* param_3); UnkStruct_027E0C68_UnkSubClass2* func_020370d0(unk32 param_2, unk32 param_3); UnkStruct_027E0C68_UnkSubClass2* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); void func_02037158(UnkSubClass1_02256FF8* param_2); - UnkStruct_027E0C68_UnkSubClass1* func_02037178(UnkSubClass1_02256FF8* param_2); + UnkStruct_027E0C68_UnkSubClass1_Base* func_02037178(UnkSubClass1_02256FF8* param_2); }; extern UnkStruct_027E0C68 data_027e0c68; diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index df2e9152..ef6350ec 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -8,6 +8,15 @@ #define ESCAPE_SEQUENCE_MARKER '\x1A' +struct func_0203b410_param_2 { + unk32 unk_00; + unk32 unk_04; + unk32 unk_08; + unk32 unk_0C; + unk16 unk_10; + unk16 unk_12; +}; + typedef struct UnkStruct_0203b264 { /* 0 */ u8 mUnk_0[0x4]; /* 4 */ u16 *mUnk_4; @@ -152,7 +161,7 @@ public: /* 0x3C */ }; -class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { +class UnkStruct_027E0C68_UnkSubClass1_Base : public SysObject { public: /* 0x000 (vtable) */ /* 0x004 */ unk32* unk_04; @@ -160,10 +169,7 @@ public: /* 0x00C */ unk32* unk_0C; /* 0x010 */ unk32* unk_10; /* 0x014 */ unk32 unk_14; - /* 0x018 */ u8 unk_18; - /* 0x018 */ u8 unk_19; - /* 0x018 */ u8 unk_1A; - /* 0x018 */ u8 unk_1B; + /* 0x018 */ s32 unk_18; /* 0x01C */ unk32 unk_1C; /* 0x020 */ unk32 unk_20; /* 0x024 */ unk32* unk_24; @@ -198,6 +204,8 @@ public: /* 0x122 */ u8 unk_123; /* 0x124 */ UnkSubClass1_unk_124* unk_124; /* 0x128 */ UnkStruct1* unk_128; + + //! TODO: confirm this is part of the base class /* 0x12C */ u16* unk_12C; // pointer to the current position in the message to display /* 0x130 */ unk16 unk_130; /* 0x132 */ unk16 unk_132; @@ -216,10 +224,93 @@ public: /* 0x158 */ unk16 unk_158; /* 0x15A */ unk16 unk_15A; /* 0x15C */ s16 unk_15C; + /* 0x15E */ + + UnkStruct_027E0C68_UnkSubClass1_Base(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base(); + /* 0x08 */ virtual UNK_TYPE vfunc_08(void); // func_0203c2c8 (dtor?) + /* 0x0C */ virtual void func_02039228(unk32* param_2, unk32* param_3); + /* 0x10 */ virtual void func_02039578(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); + /* 0x14 */ virtual void func_0203e060(u8 param_2, u8 param_3); + /* 0x18 */ virtual bool func_0203dcb4(unk32 param_2, unk32 param_3); + /* 0x1C */ virtual unk32 func_0203b264(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); + /* 0x20 */ virtual unk32 func_0203b310(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 0x24 */ virtual UNK_TYPE func_0203b814(UNK_TYPE); + /* 0x28 */ virtual bool func_0203e0c8(void); + /* 0x2C */ virtual void func_02039a5c(void); + /* 0x30 */ virtual void func_02038ed0(void); + /* 0x34 */ virtual unk32 func_02038c34(unk32 param_2); + /* 0x38 */ virtual bool func_0203c350(void); + /* 0x3C */ virtual void func_02039ccc(unk32 param_2); + /* 0x40 */ virtual void func_02039d74(unk32 param_2, unk32 param_3); + /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY); + /* 0x48 */ virtual void func_0203a328(void); + /* 0x4C */ virtual void func_02039a3c(void); + /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); + /* 0x54 */ virtual void func_0203a988(void); + /* 0x58 */ virtual void func_0203af1c(void); + /* 0x5C */ virtual void func_0203aea8(void); + /* 0x60 */ virtual void func_0203b410(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); + /* 0x64 */ virtual void func_0203b5d0(unk32 param_2); + /* 0x68 */ virtual unk32 func_020393d0(unk32 param_2); + /* 0x6C */ virtual void func_0203bdcc(unk32* param_2, unk32* param_3); + /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3); + /* 0x74 */ + + unk32 func_02032fa4(void); + unk32 func_02032fb4(void); + unk32 func_020337d8(unk32 param_2); + u16* func_02037604(u16**); + void func_02038b28(void); + void func_02038b40(void); + unk32 func_02038d10(void); + void func_02038d20(void); + void func_02038f44(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5, unk32 param_6); + unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + void func_020392b4(void); + void func_02039398(void); + void func_020393a8(unk32 param_2); + void func_0203a188(unk32, unk32); + unk32 func_0203a2c0(void); + unk32 func_0203a30c(void); + void func_0203a35c(void); + unk32 func_0203a3e0(void); + unk32 func_0203a6d0(unk32, unk32); + unk32 func_0203b0bc(void); + void func_0203b0ec(unk32 param_2); + void func_0203b764(void); + void func_0203bd8c(u16 param_2); + void func_0203be08(void); + void func_0203be64(void); + unk32 func_0203cb5c(unk8, s16); + void func_0203dc10(u8 param_2); + void func_0203dc10(u8 param_2, u8 param_3); + void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk32 func_0203de14(unk32); + void func_0203e090(void); + void func_0203e0f8(void); + void func_0203e1b0(unk32, unk32, unk32); + + // not sure it belongs to this class: + void func_02032fcc(unk32, unk32); + void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_020331c4(unk32, unk32); + unk32 func_02038cf4(void); + void func_02038b1c(void); + void func_0203947c(void); + unk32 func_0203951c(void); + void func_0203cabc(unk32); + unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); + void func_0203e2ac(unk32* param_2); + void func_0203fc78(unk32*, unk32*); +}; + +class UnkStruct_027E0C68_UnkSubClass1_Sub1 : public UnkStruct_027E0C68_UnkSubClass1_Base { +public: /* 0x15E */ s8 unk_15E; /* 0x15F */ s8 unk_15F; /* 0x160 */ unk32 unk_160; - /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; + /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_164; /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; /* 0x278 */ UnkSubClass1_UnkownClass1 unk_278; @@ -227,7 +318,7 @@ public: /* 0x388 */ UnkSubClass1_UnkownClass1 unk_388; /* 0x410 */ UnkSubClass1_unk_410 unk_410; /* 0x414 */ unk32 unk_414; - /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; + /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_418; /* 0x41C */ unk32 unk_41C; /* 0x420 */ unk32 unk_420; /* 0x424 */ UnkSubClass1_unk_424 unk_424; @@ -264,17 +355,18 @@ public: /* 0x584 */ u8 unk_584; /* 0x585 */ u8 unk_585; /* 0x586 */ u8 unk_586; + /* 0x588 */ u8 unk_588[0x2C]; + /* 0x5B4 */ - UnkStruct_027E0C68_UnkSubClass1(); - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; - /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; // func_0203c2c8 (dtor?) + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override; + /* 0x08 */ virtual UNK_TYPE vfunc_08(void); // func_0203c2c8 (dtor? override) /* 0x0C */ virtual void func_02039228(unk32* param_2, unk32* param_3) override; /* 0x10 */ virtual void func_02039578(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 0x14 */ virtual void func_0203e060(u8 param_2, u8 param_3) override; /* 0x18 */ virtual bool func_0203dcb4(unk32 param_2, unk32 param_3) override; /* 0x1C */ virtual unk32 func_0203b264(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; /* 0x20 */ virtual unk32 func_0203b310(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x24 */ virtual UNK_TYPE func_0203b814(void) override; + /* 0x24 */ virtual UNK_TYPE func_0203b814(UNK_TYPE) override; /* 0x28 */ virtual bool func_0203e0c8(void) override; /* 0x2C */ virtual void func_02039a5c(void) override; /* 0x30 */ virtual void func_02038ed0(void) override; @@ -289,59 +381,30 @@ public: /* 0x54 */ virtual void func_0203a988(void) override; /* 0x58 */ virtual void func_0203af1c(void) override; /* 0x5C */ virtual void func_0203aea8(void) override; - /* 0x60 */ virtual UNK_TYPE func_0203b410(void) override; + /* 0x60 */ virtual void func_0203b410(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; /* 0x64 */ virtual void func_0203b5d0(unk32 param_2) override; /* 0x68 */ virtual unk32 func_020393d0(unk32 param_2) override; /* 0x6C */ virtual void func_0203bdcc(unk32* param_2, unk32* param_3) override; /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3) override; /* 0x74 */ - unk32 func_02032fa4(void); - unk32 func_02032fb4(void); - unk32 func_020337d8(unk32 param_2); - void func_02038b28(void); - void func_02038b40(void); - unk32 func_02038d10(void); - void func_02038d20(void); - unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - void func_020393a8(unk32 param_2); - unk32 func_0203a2c0(void); - unk32 func_0203a30c(void); - void func_0203a35c(void); - unk32 func_0203a3e0(void); - void func_0203b0ec(unk32 param_2); - void func_0203bd8c(u16 param_2); - void func_0203be08(void); - void func_0203be64(void); - unk32 func_0203cb5c(unk8, s16); - void func_0203dc10(u8 param_2); - void func_0203dc10(u8 param_2, u8 param_3); - void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - unk32 func_0203de14(unk32); - void func_0203e090(void); - void func_0203e0f8(void); - void func_020392b4(void); - void func_0203b764(void); + UnkStruct_027E0C68_UnkSubClass1_Sub1(); +}; - void func_0203a188(unk32, unk32); - void func_0203e1b0(unk32, unk32, unk32); - unk32 func_0203a6d0(unk32, unk32); - unk32 func_0203b0bc(void); - void func_02038f44(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5, unk32 param_6); - u16* func_02037604(u16**); - void func_02039398(void); +class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base { +public: + /* 0x15E */ u8 unk_15E[0x62]; + /* 0x1C0 */ - // not sure it belongs to this class: - void func_02032fcc(unk32, unk32); - void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - void func_020331c4(unk32, unk32); - unk32 func_02038cf4(void); - void func_02038b1c(void); - void func_0203947c(void); - unk32 func_0203951c(void); - unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); - void func_0203e2ac(unk32* param_2); - void func_0203fc78(unk32*, unk32*); + UnkStruct_027E0C68_UnkSubClass1_Sub2(); + virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub2(); +}; - void func_0203cabc(unk32); +class UnkStruct_027E0C68_UnkSubClass1_Sub3 : public UnkStruct_027E0C68_UnkSubClass1_Base { +public: + /* 0x15E */ u8 unk_15E[0x12]; + /* 0x170 */ + + UnkStruct_027E0C68_UnkSubClass1_Sub3(); + virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); }; -- cgit v1.2.3 From 277517b3be33af77a082497b2dd367e188d2c29e Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Mon, 27 Jan 2025 20:23:50 +0100 Subject: improve splits --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index ef6350ec..447cb216 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -408,3 +408,92 @@ public: UnkStruct_027E0C68_UnkSubClass1_Sub3(); virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); }; + +// TEMPORARY + +extern "C" u32 func_01ff9b4c(unk32, unk32); +extern "C" unk32 func_0203c084(void); +extern "C" void func_ov018_02169634(UnkStruct_027E0C68_UnkSubClass1_Sub1*); +extern "C" unk32 func_ov000_02079e04(void); +extern "C" unk32 func_01ff9b88(unk32, unk32); +extern "C" unk32 func_02016fcc(unk32); +extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); +extern "C" unk32 func_0202d5b4(char*, char*, unk32, unk32, unk32); +extern unk32 data_020691a0; +extern unk32* data_02068894; +extern unk32 data_02056af0; +extern unk32* data_02056a00; +extern char* data_02057f08; // "MSP" +extern char* data_02057eec; // "Menu/UI_main/opening.bin" +extern char* data_02057ed8; // "MSP:opening.nclr" + +struct Struct_027e0db0 { + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; +}; +extern Struct_027e0db0 data_027e0db0; + +// see Actor.cpp +struct UnkStruct2 { + /* 0 */ u32 mUnk_0; + /* 4 */ u32 mUnk_4; + /* 8 */ +}; +extern UnkStruct2 data_027e077c; +extern u8 data_02056be4[]; +extern u8 data_027e0618[]; + +class UnkClass_027e0cbc { +public: + unk32 func_0203d7e0(unk32); + unk32 func_0203d77c(unk32, s32, s32); +}; +extern UnkClass_027e0cbc data_027e0cbc; +extern unk16 data_02056a10[]; +extern unk16 data_02056a16[]; +extern unk32 data_02056a04[]; +extern unk32 data_027e0c38[]; +extern "C" void func_0203489c(unk32, unk16, unk32*, unk32*); +extern "C" void func_020347b0(unk32, unk16, unk32*, unk32*, unk32, unk32); +extern THUMB unk32 func_0202ab48(void); +extern "C" void func_02034984(unk32, unk32, unk32, unk32, unk32); +extern "C" void func_02034698(unk32, unk32, unk32*, unk32*); +extern struct TouchControl data_027e0d78; + +class UnkClass_027e0e28 { +public: + unk32 func_ov000_0207bc48(); +}; +extern UnkClass_027e0e28* data_027e0e28; +extern u8 data_027e0c54; +extern unk32* data_ov009_0211f5b4; +extern "C" unk32 func_ov003_020f3f94(unk32*); +extern unk32* data_02057ed4; + +// see Actor.cpp +typedef struct UnkStruct_01ffbe34 { + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk8 mUnk_08; + /* 09 */ unk8 mUnk_09; + /* 0a */ unk8 mUnk_0a; + /* 0b */ unk8 mUnk_0b; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk8 mUnk_14; + /* 15 */ unk8 mUnk_15; + /* 16 */ unk16 mUnk_16; + /* 18 */ unk32 mUnk_18; + /* 1c */ unk32 mUnk_1c; + /* 20 */ +} UnkStruct_01ffbe34; +extern "C" void func_01ffbe34(UnkStruct_01ffbe34 *param1); + +class UnkClass_027e1054 { +public: + unk32 unk_00; + unk32 unk_04; + + void func_ov003_020f4874(void); +}; +extern UnkClass_027e1054 data_027e1054; -- cgit v1.2.3 From 06a1f74615de91663c877fe526790b2323edcbf9 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Mon, 27 Jan 2025 21:21:40 +0100 Subject: fix function names (and more) --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 180 ++++++++++++++------- 1 file changed, 123 insertions(+), 57 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 447cb216..e6a985f9 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -228,33 +228,33 @@ public: UnkStruct_027E0C68_UnkSubClass1_Base(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base(); - /* 0x08 */ virtual UNK_TYPE vfunc_08(void); // func_0203c2c8 (dtor?) - /* 0x0C */ virtual void func_02039228(unk32* param_2, unk32* param_3); - /* 0x10 */ virtual void func_02039578(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); - /* 0x14 */ virtual void func_0203e060(u8 param_2, u8 param_3); - /* 0x18 */ virtual bool func_0203dcb4(unk32 param_2, unk32 param_3); - /* 0x1C */ virtual unk32 func_0203b264(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); - /* 0x20 */ virtual unk32 func_0203b310(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - /* 0x24 */ virtual UNK_TYPE func_0203b814(UNK_TYPE); - /* 0x28 */ virtual bool func_0203e0c8(void); - /* 0x2C */ virtual void func_02039a5c(void); - /* 0x30 */ virtual void func_02038ed0(void); - /* 0x34 */ virtual unk32 func_02038c34(unk32 param_2); - /* 0x38 */ virtual bool func_0203c350(void); - /* 0x3C */ virtual void func_02039ccc(unk32 param_2); - /* 0x40 */ virtual void func_02039d74(unk32 param_2, unk32 param_3); - /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY); - /* 0x48 */ virtual void func_0203a328(void); - /* 0x4C */ virtual void func_02039a3c(void); - /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); - /* 0x54 */ virtual void func_0203a988(void); - /* 0x58 */ virtual void func_0203af1c(void); - /* 0x5C */ virtual void func_0203aea8(void); - /* 0x60 */ virtual void func_0203b410(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); - /* 0x64 */ virtual void func_0203b5d0(unk32 param_2); - /* 0x68 */ virtual unk32 func_020393d0(unk32 param_2); - /* 0x6C */ virtual void func_0203bdcc(unk32* param_2, unk32* param_3); - /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); + /* 0x28 */ virtual bool vfunc_28(void); + /* 0x2C */ virtual void vfunc_2C(void); + /* 0x30 */ virtual void vfunc_30(void); + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); + /* 0x38 */ virtual bool vfunc_38(void); + /* 0x3C */ virtual void vfunc_3C(unk32 param_2); + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); + /* 0x48 */ virtual void vfunc_48(void); + /* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); + /* 0x54 */ virtual void vfunc_54(void); + /* 0x58 */ virtual void vfunc_58(void); + /* 0x5C */ virtual void vfunc_5C(void); + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); + /* 0x64 */ virtual void vfunc_64(unk32 param_2); + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); /* 0x74 */ unk32 func_02032fa4(void); @@ -358,37 +358,41 @@ public: /* 0x588 */ u8 unk_588[0x2C]; /* 0x5B4 */ + //! TODO: remove the function declarations that are not overridden + + UnkStruct_027E0C68_UnkSubClass1_Sub1(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override; - /* 0x08 */ virtual UNK_TYPE vfunc_08(void); // func_0203c2c8 (dtor? override) - /* 0x0C */ virtual void func_02039228(unk32* param_2, unk32* param_3) override; - /* 0x10 */ virtual void func_02039578(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x14 */ virtual void func_0203e060(u8 param_2, u8 param_3) override; - /* 0x18 */ virtual bool func_0203dcb4(unk32 param_2, unk32 param_3) override; - /* 0x1C */ virtual unk32 func_0203b264(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x20 */ virtual unk32 func_0203b310(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x24 */ virtual UNK_TYPE func_0203b814(UNK_TYPE) override; - /* 0x28 */ virtual bool func_0203e0c8(void) override; - /* 0x2C */ virtual void func_02039a5c(void) override; - /* 0x30 */ virtual void func_02038ed0(void) override; - /* 0x34 */ virtual unk32 func_02038c34(unk32 param_2) override; - /* 0x38 */ virtual bool func_0203c350(void) override; - /* 0x3C */ virtual void func_02039ccc(unk32 param_2) override; - /* 0x40 */ virtual void func_02039d74(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void func_0203a328(void) override; - /* 0x4C */ virtual void func_02039a3c(void) override; - /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; - /* 0x54 */ virtual void func_0203a988(void) override; - /* 0x58 */ virtual void func_0203af1c(void) override; - /* 0x5C */ virtual void func_0203aea8(void) override; - /* 0x60 */ virtual void func_0203b410(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void func_0203b5d0(unk32 param_2) override; - /* 0x68 */ virtual unk32 func_020393d0(unk32 param_2) override; - /* 0x6C */ virtual void func_0203bdcc(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3) override; + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ - UnkStruct_027E0C68_UnkSubClass1_Sub1(); + void func_0203e060(u8 param_2, u8 param_3); + void func_02039a3c(void); }; class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base { @@ -396,8 +400,39 @@ public: /* 0x15E */ u8 unk_15E[0x62]; /* 0x1C0 */ + //! TODO: remove the function declarations that are not overridden + UnkStruct_027E0C68_UnkSubClass1_Sub2(); - virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub2(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub2(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + }; class UnkStruct_027E0C68_UnkSubClass1_Sub3 : public UnkStruct_027E0C68_UnkSubClass1_Base { @@ -405,8 +440,39 @@ public: /* 0x15E */ u8 unk_15E[0x12]; /* 0x170 */ + //! TODO: remove the function declarations that are not overridden + UnkStruct_027E0C68_UnkSubClass1_Sub3(); - virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + }; // TEMPORARY -- cgit v1.2.3 From f04fd8f032a61d6498a48d0b5cd7ec8884a94fee Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Tue, 28 Jan 2025 01:37:09 +0100 Subject: reverse ctor adventure --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 292 +++++++++++++++------ 1 file changed, 214 insertions(+), 78 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index e6a985f9..71651f3f 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -79,6 +79,7 @@ public: /* 0x84 */ unk32 unk_84; /* 0x88 */ + UnkSubClass1_UnkownClass1(); void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_020350ac(void); @@ -88,9 +89,22 @@ public: void func_020352d8(void); }; +class UnknownClass2 : public SysObject { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32* unk_04; + /* 0x08 */ + + UnknownClass2(); + /* 0x00 */ virtual ~UnknownClass2(); + /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE); + /* 0x0C */ virtual UNK_TYPE vfunc_0C(UNK_TYPE); + /* 0x10 */ +}; + class UnkSubClass1_unk_410 { public: - /* 0x00 */ unk32 unk_00; + /* 0x00 */ struct UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_00; /* 0x04 */ void func_0203ec34(void); @@ -98,9 +112,10 @@ public: void func_0203ebf8(void); }; +// same as UnkSubClass1_unk_410? class UnkSubClass1_unk_424 { public: - /* 0x00 */ unk32 unk_00; + /* 0x00 */ struct UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_00; /* 0x04 */ void func_0203ee80(unk32); @@ -111,22 +126,21 @@ public: class UnkSubClass1_unk_124 { public: - /* 0x00 */ unk32 unk_00; - /* 0x00 */ unk32 unk_04; - /* 0x00 */ unk32 unk_08; - /* 0x00 */ unk32 unk_0C; - /* 0x00 */ unk32 unk_10; - /* 0x00 */ unk32 unk_14; - /* 0x00 */ unk32 unk_18; - /* 0x00 */ unk32 unk_1C; - /* 0x00 */ unk32 unk_20; - /* 0x00 */ unk32 unk_24; - /* 0x00 */ unk8 unk_28; - /* 0x00 */ unk8 unk_29; - /* 0x00 */ unk8 unk_2A; - /* 0x00 */ unk8 unk_2B; - /* 0x00 */ unk32 unk_2C; - /* 0x04 */ + /* 0x00 */ void* unk_00; // pointer to UnkStruct_027E0C68_UnkSubClass1_Base (well, the first members of the base class) + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk8 unk_28; + /* 0x29 */ unk8 unk_29; + /* 0x2A */ unk8 unk_2A; + /* 0x2B */ unk8 unk_2B; + /* 0x2C */ void func_0203f020(unk32, unk32); }; @@ -161,7 +175,7 @@ public: /* 0x3C */ }; -class UnkStruct_027E0C68_UnkSubClass1_Base : public SysObject { +class UnkStruct_027E0C68_UnkSubClass1_Base_1 : public SysObject { public: /* 0x000 (vtable) */ /* 0x004 */ unk32* unk_04; @@ -178,30 +192,127 @@ public: /* 0x030 */ unk32 unk_30; /* 0x034 */ unk32 unk_34; /* 0x038 */ unk32 unk_38; - /* 0x03C */ unk32 unk_3C; + /* 0x03C */ unk16 unk_3C; + /* 0x03E */ unk16 unk_3E; /* 0x040 */ unk32 unk_40; /* 0x044 */ unk32 unk_44; /* 0x048 */ u8 unk_48; /* 0x049 */ u8 unk_49; /* 0x04A */ unk16 unk_4A; - /* 0x04C */ unk32 unk_4C; + /* 0x04C */ unk8 unk_4C; + /* 0x04C */ unk8 unk_4D; + /* 0x04C */ unk8 unk_4E; + /* 0x04C */ unk8 unk_4F; /* 0x050 */ u8 unk_50; /* 0x051 */ unk8 unk_51; + + UnkStruct_027E0C68_UnkSubClass1_Base_1(); + /* 0x00*/ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_1(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); + /* 0x28 */ virtual bool vfunc_28(void); + /* 0x2C */ virtual void vfunc_2C(void); + /* 0x30 */ virtual void vfunc_30(void); + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); + /* 0x38 */ virtual bool vfunc_38(void); + /* 0x3C */ virtual void vfunc_3C(unk32 param_2); + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); + /* 0x48 */ virtual void vfunc_48(void); + /* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); + /* 0x54 */ virtual void vfunc_54(void); + /* 0x58 */ virtual void vfunc_58(void); + /* 0x5C */ virtual void vfunc_5C(void); + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); + /* 0x64 */ virtual void vfunc_64(unk32 param_2); + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); + /* 0x74 */ +}; + +class UnkStruct_027E0C68_UnkSubClass1_Base_0 : public UnkStruct_027E0C68_UnkSubClass1_Base_1 { +public: /* 0x052 */ unk16 unk_52; /* 0x054 */ unk32 unk_54; /* 0x058 */ unk32 unk_58; /* 0x05C */ s16 unk_5C; /* 0x05E */ s16 unk_5E; - /* 0x060 */ unk32 unk_60[0x2E]; + /* 0x060 */ unk32 unk_60; + /* 0x064 */ unk32 unk_64; + /* 0x068 */ unk32 unk_68; + /* 0x06C */ unk32 unk_6C; + /* 0x070 */ unk32 unk_70; + /* 0x074 */ unk32 unk_74; + /* 0x078 */ unk32 unk_78; + /* 0x07C */ unk32 unk_7C; + /* 0x080 */ unk32 unk_80; + /* 0x084 */ unk32 unk_84; + /* 0x088 */ unk32 unk_88; + /* 0x08C */ unk32 unk_8C; + /* 0x090 */ unk32 unk_90; + /* 0x094 */ unk32 unk_94; + /* 0x098 */ unk32 unk_98; + /* 0x09C */ unk32 unk_9C; + /* 0x100 */ unk32 unk_100; + /* 0x104 */ unk32 unk_104; + /* 0x108 */ unk32 unk_108; + /* 0x10C */ unk32 unk_10C; + /* 0x110 */ unk32 unk_110; + /* 0x118 */ void* unk_114; /* 0x118 */ s32 unk_118; /* 0x11C */ unk8 unk_11C; /* 0x11D */ unk8 unk_11D; /* 0x11E */ u8 unk_11E; /* 0x11F */ unk8 unk_11F; /* 0x120 */ u8 unk_120; - /* 0x120 */ u8 unk_121; + /* 0x121 */ u8 unk_121; /* 0x122 */ u8 unk_122; - /* 0x122 */ u8 unk_123; + /* 0x123 */ u8 unk_123; + /* 0x124 */ + + UnkStruct_027E0C68_UnkSubClass1_Base_0(unk8 param_2, unk32 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ +}; + +class UnkStruct_027E0C68_UnkSubClass1_Base : public UnkStruct_027E0C68_UnkSubClass1_Base_0 { +public: /* 0x124 */ UnkSubClass1_unk_124* unk_124; /* 0x128 */ UnkStruct1* unk_128; @@ -216,47 +327,57 @@ public: /* 0x144 */ unk32 unk_144; /* 0x148 */ unk32 unk_148; /* 0x14C */ unk32 unk_14C; - /* 0x150 */ unk8 unk_150; - /* 0x151 */ u8 unk_151; - /* 0x152 */ unk8 unk_152; - /* 0x153 */ unk8 unk_153; + /* 0x150 */ unk8 unk_150[4]; /* 0x154 */ UnkSubClass1_unk_154* unk_154; /* 0x158 */ unk16 unk_158; /* 0x15A */ unk16 unk_15A; /* 0x15C */ s16 unk_15C; - /* 0x15E */ + /* 0x15E */ s8 unk_15E; + /* 0x15F */ s8 unk_15F; + /* 0x160 */ unk8 unk_160; + /* 0x160 */ unk8 unk_161; + /* 0x160 */ unk8 unk_162; + /* 0x160 */ unk8 unk_163; + /* 0x164 */ + //! TODO: fake? UnkStruct_027E0C68_UnkSubClass1_Base(); + + UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk8 param_3); + //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); - /* 0x28 */ virtual bool vfunc_28(void); - /* 0x2C */ virtual void vfunc_2C(void); - /* 0x30 */ virtual void vfunc_30(void); - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); - /* 0x38 */ virtual bool vfunc_38(void); - /* 0x3C */ virtual void vfunc_3C(unk32 param_2); - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); - /* 0x48 */ virtual void vfunc_48(void); - /* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); - /* 0x54 */ virtual void vfunc_54(void); - /* 0x58 */ virtual void vfunc_58(void); - /* 0x5C */ virtual void vfunc_5C(void); - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); - /* 0x64 */ virtual void vfunc_64(unk32 param_2); - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ + static void func_0203881c(UnkStruct1** param_2); + static void func_020387e0(unk8* param_2); + unk32 func_02032fa4(void); unk32 func_02032fb4(void); unk32 func_020337d8(unk32 param_2); @@ -307,9 +428,6 @@ public: class UnkStruct_027E0C68_UnkSubClass1_Sub1 : public UnkStruct_027E0C68_UnkSubClass1_Base { public: - /* 0x15E */ s8 unk_15E; - /* 0x15F */ s8 unk_15F; - /* 0x160 */ unk32 unk_160; /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_164; /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; @@ -319,18 +437,36 @@ public: /* 0x410 */ UnkSubClass1_unk_410 unk_410; /* 0x414 */ unk32 unk_414; /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_418; - /* 0x41C */ unk32 unk_41C; - /* 0x420 */ unk32 unk_420; + /* 0x41C */ unk16 unk_41C; + /* 0x41C */ unk16 unk_41E; + /* 0x420 */ unk16 unk_420; + /* 0x420 */ unk16 unk_422; /* 0x424 */ UnkSubClass1_unk_424 unk_424; /* 0x428 */ u16* unk_428; /* 0x42C */ unk32 unk_42C; /* 0x430 */ unk32 unk_430; /* 0x434 */ u8 unk_434[0xF4]; - /* 0x528 */ s16* unk_528; - /* 0x52C */ u8 unk_52C[0x30]; + /* 0x528 */ u16* unk_528; + /* 0x52C */ u8 unk_52C; + /* 0x55C */ unk32 unk_530; + /* 0x55C */ unk32 unk_534; + /* 0x55C */ unk32 unk_538; + /* 0x55C */ unk32 unk_53C; + /* 0x55C */ unk32 unk_540; + /* 0x55C */ unk8 unk_544; + /* 0x55C */ unk8 unk_545; + /* 0x55C */ unk8 unk_546; + /* 0x55C */ unk8 unk_547; + /* 0x55C */ unk32 unk_548; + /* 0x55C */ unk32 unk_54C; + /* 0x55C */ unk32 unk_550; + /* 0x55C */ unk32 unk_554; + /* 0x55C */ unk8 unk_558; + /* 0x55C */ unk8 unk_559; + /* 0x55C */ unk8 unk_55A; + /* 0x55C */ unk8 unk_55B; /* 0x55C */ unk32 unk_55C; - /* 0x560 */ unk16 unk_560; - /* 0x560 */ unk16 unk_562; + /* 0x560 */ unk32 unk_560; /* 0x564 */ unk32 unk_564; /* 0x568 */ unk32 unk_568; /* 0x56C */ unk16 unk_56C; @@ -338,12 +474,11 @@ public: /* 0x570 */ unk16 unk_570; /* 0x572 */ u16 unk_572; /* 0x574 */ s16 unk_574; - /* 0x576 */ u8 unk_576; - /* 0x577 */ u8 unk_577; - /* 0x578 */ u8 unk_578; - /* 0x579 */ u8 unk_579; + /* 0x576 */ unk16 unk_576; + /* 0x578 */ s16 unk_578; + // /* 0x579 */ u8 unk_579; /* 0x57A */ u8 unk_57A; - /* 0x57B */ u8 unk_57B; + /* 0x57B */ s8 unk_57B; /* 0x57C */ u8 unk_57C; /* 0x57D */ u8 unk_57D; /* 0x57E */ u8 unk_57E; @@ -355,12 +490,13 @@ public: /* 0x584 */ u8 unk_584; /* 0x585 */ u8 unk_585; /* 0x586 */ u8 unk_586; - /* 0x588 */ u8 unk_588[0x2C]; + /* 0x586 */ u8 unk_587; + /* 0x588 */ UnkSubClass1_unk_124 unk_588; /* 0x5B4 */ - //! TODO: remove the function declarations that are not overridden UnkStruct_027E0C68_UnkSubClass1_Sub1(); + //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override; /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; @@ -393,16 +529,17 @@ public: void func_0203e060(u8 param_2, u8 param_3); void func_02039a3c(void); + + void func_02039ca8(void); }; class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base { public: - /* 0x15E */ u8 unk_15E[0x62]; + /* 0x164 */ u8 unk_164[0x5C]; /* 0x1C0 */ - //! TODO: remove the function declarations that are not overridden - UnkStruct_027E0C68_UnkSubClass1_Sub2(); + //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub2(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; @@ -437,12 +574,11 @@ public: class UnkStruct_027E0C68_UnkSubClass1_Sub3 : public UnkStruct_027E0C68_UnkSubClass1_Base { public: - /* 0x15E */ u8 unk_15E[0x12]; + /* 0x164 */ u8 unk_164[0xC]; /* 0x170 */ - //! TODO: remove the function declarations that are not overridden - UnkStruct_027E0C68_UnkSubClass1_Sub3(); + //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; -- cgit v1.2.3 From 3392c0bcb7dc3daf615b357fbc3aa7387f4f8b1f Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Tue, 28 Jan 2025 01:49:16 +0100 Subject: fix issues --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 31 ++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 71651f3f..aeea5f11 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -205,6 +205,7 @@ public: /* 0x04C */ unk8 unk_4F; /* 0x050 */ u8 unk_50; /* 0x051 */ unk8 unk_51; + /* 0x052 */ UnkStruct_027E0C68_UnkSubClass1_Base_1(); /* 0x00*/ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_1(); @@ -261,6 +262,30 @@ public: /* 0x094 */ unk32 unk_94; /* 0x098 */ unk32 unk_98; /* 0x09C */ unk32 unk_9C; + /* 0x0A0 */ unk32 unk_A0; + /* 0x0A4 */ unk32 unk_A4; + /* 0x0A8 */ unk32 unk_A8; + /* 0x0AC */ unk32 unk_AC; + /* 0x0B0 */ unk32 unk_B0; + /* 0x0B4 */ unk32 unk_B4; + /* 0x0B8 */ unk32 unk_B8; + /* 0x0BC */ unk32 unk_BC; + /* 0x0C0 */ unk32 unk_C0; + /* 0x0C4 */ unk32 unk_C4; + /* 0x0C8 */ unk32 unk_C8; + /* 0x0CC */ unk32 unk_CC; + /* 0x0D0 */ unk32 unk_D0; + /* 0x0D4 */ unk32 unk_D4; + /* 0x0D8 */ unk32 unk_D8; + /* 0x0DC */ unk32 unk_DC; + /* 0x0E0 */ unk32 unk_E0; + /* 0x0E4 */ unk32 unk_E4; + /* 0x0E8 */ unk32 unk_E8; + /* 0x0EC */ unk32 unk_EC; + /* 0x0F0 */ unk32 unk_F0; + /* 0x0F4 */ unk32 unk_F4; + /* 0x0F8 */ unk32 unk_F8; + /* 0x0FC */ unk32 unk_FC; /* 0x100 */ unk32 unk_100; /* 0x104 */ unk32 unk_104; /* 0x108 */ unk32 unk_108; @@ -278,6 +303,9 @@ public: /* 0x123 */ u8 unk_123; /* 0x124 */ + //! TODO: fake? + UnkStruct_027E0C68_UnkSubClass1_Base_0(); + UnkStruct_027E0C68_UnkSubClass1_Base_0(unk8 param_2, unk32 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0(); @@ -316,7 +344,7 @@ public: /* 0x124 */ UnkSubClass1_unk_124* unk_124; /* 0x128 */ UnkStruct1* unk_128; - //! TODO: confirm this is part of the base class + //! TODO: confirm this is part of this class /* 0x12C */ u16* unk_12C; // pointer to the current position in the message to display /* 0x130 */ unk16 unk_130; /* 0x132 */ unk16 unk_132; @@ -476,7 +504,6 @@ public: /* 0x574 */ s16 unk_574; /* 0x576 */ unk16 unk_576; /* 0x578 */ s16 unk_578; - // /* 0x579 */ u8 unk_579; /* 0x57A */ u8 unk_57A; /* 0x57B */ s8 unk_57B; /* 0x57C */ u8 unk_57C; -- cgit v1.2.3 From 2c350df3b4857f3864ed9a8ee7ebd6242ade7a3a Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Tue, 28 Jan 2025 02:22:36 +0100 Subject: more progress --- include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index aeea5f11..c457ff32 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -355,7 +355,7 @@ public: /* 0x144 */ unk32 unk_144; /* 0x148 */ unk32 unk_148; /* 0x14C */ unk32 unk_14C; - /* 0x150 */ unk8 unk_150[4]; + /* 0x150 */ u8 unk_150[4]; /* 0x154 */ UnkSubClass1_unk_154* unk_154; /* 0x158 */ unk16 unk_158; /* 0x15A */ unk16 unk_15A; @@ -420,8 +420,6 @@ public: void func_02039398(void); void func_020393a8(unk32 param_2); void func_0203a188(unk32, unk32); - unk32 func_0203a2c0(void); - unk32 func_0203a30c(void); void func_0203a35c(void); unk32 func_0203a3e0(void); unk32 func_0203a6d0(unk32, unk32); @@ -456,7 +454,7 @@ public: class UnkStruct_027E0C68_UnkSubClass1_Sub1 : public UnkStruct_027E0C68_UnkSubClass1_Base { public: - /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_164; + /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_164; /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; /* 0x278 */ UnkSubClass1_UnkownClass1 unk_278; @@ -495,8 +493,7 @@ public: /* 0x55C */ unk8 unk_55B; /* 0x55C */ unk32 unk_55C; /* 0x560 */ unk32 unk_560; - /* 0x564 */ unk32 unk_564; - /* 0x568 */ unk32 unk_568; + /* 0x564 */ u16 unk_564[4]; /* 0x56C */ unk16 unk_56C; /* 0x56E */ unk16 unk_56E; /* 0x570 */ unk16 unk_570; @@ -557,7 +554,12 @@ public: void func_0203e060(u8 param_2, u8 param_3); void func_02039a3c(void); + unk32 func_02038b78(void); + unk32 func_02039250(void); void func_02039ca8(void); + bool func_0203a2c0(void); + unk32 func_0203a30c(void); + bool func_0203a3e0(void); }; class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base { -- cgit v1.2.3 From d4e8b81dde4aaa5947b53fffb2e2ba6644e3a860 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Tue, 28 Jan 2025 18:47:44 +0100 Subject: more ctor/dtor progress --- include/Message/MessageManager.hpp | 85 ++++++++++-------- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 100 +++++++++++++-------- 2 files changed, 110 insertions(+), 75 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 2cfe20ab..988ec1cd 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -6,19 +6,53 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" #include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp" +#include "lib/math.h" -class UnkStruct_027E0C68_UnkSubClass2 : public SysObject { +// astruct_14 +class UnkStruct_027E0C68_UnkSubClass2_Base1 : public SysObject { public: /* 0x00 (vtable) */ - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; + /* 0x04 */ unk32 unk_04[4]; /* 0x14 */ unk32 unk_14; /* 0x18 */ u32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; + /* 0x1C */ unk8 unk_1C; + /* 0x1D */ u8 unk_1D; + /* 0x1E */ unk16 unk_1E; + /* 0x20 */ + + UnkStruct_027E0C68_UnkSubClass2_Base1(unk32 param_2, unk32 param_3); + + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2_Base1(); + /* 0x08 */ virtual void vfunc_08(u32 param_1); + /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1_Sub1* param_2); + /* 0x10 */ virtual void vfunc_10(void); + /* 0x14 */ virtual UNK_TYPE vfunc_14(void); + /* 0x18 */ virtual UNK_TYPE vfunc_18(void); + /* 0x1C */ virtual UNK_TYPE vfunc_1C(void); + /* 0x20 */ virtual UNK_TYPE vfunc_20(void); + /* 0x24 */ virtual UNK_TYPE vfunc_24(void); + /* 0x28 */ virtual UNK_TYPE vfunc_28(void); + /* 0x2C */ virtual UNK_TYPE vfunc_2C(void); + /* 0x30 */ virtual UNK_TYPE vfunc_30(void); + /* 0x34 */ +}; + +class UnkStruct_027E0C68_UnkSubClass2_unk_24 { +public: + /* 0x00 */ unk32 unk_00; + /* 0x04 */ + + void func_020376c0(Vec3p param_2); +}; + +// astruct_15 +class UnkStruct_027E0C68_UnkSubClass2 : public UnkStruct_027E0C68_UnkSubClass2_Base1 { +public: + /* 0x20 */ unk8 unk_20; + /* 0x21 */ unk8 unk_21; + /* 0x22 */ unk8 unk_22; + /* 0x23 */ unk8 unk_23; + /* 0x24 */ UnkStruct_027E0C68_UnkSubClass2_unk_24 unk_24; /* 0x28 */ unk32 unk_28; /* 0x2C */ unk32 unk_2C; /* 0x30 */ unk32 unk_30; @@ -45,32 +79,6 @@ public: /* 0x34 */ }; -class UnkStruct_027E0C68_UnkSubClass3 : public SysObject { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ u32 unk_18; - - UnkStruct_027E0C68_UnkSubClass3(); - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass3() override; - /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; - /* 0x0C */ virtual UNK_TYPE vfunc_0C(void) override; - /* 0x10 */ virtual void vfunc_10(void) override; - /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; - /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; - /* 0x28 */ virtual UNK_TYPE vfunc_28(void) override; - /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override; - /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; - /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override; - /* 0x38 */ virtual UNK_TYPE vfunc_38(void) override; -}; - class UnkStruct_027E0C68 : public SysObject { public: /* 0x00 */ unk16 unk_00; @@ -87,7 +95,7 @@ public: /* 0x10 */ unk16 unk_12; /* 0x14 */ BMGGroups* pGroups; /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18[2]; - /* 0x20 */ UnkStruct_027E0C68_UnkSubClass3* unk_20[2]; // is it actually UnkStruct_027E0C68_UnkSubClass2? + /* 0x20 */ UnkStruct_027E0C68_UnkSubClass2_Base1* unk_20[2]; /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_28[6]; /* 0x40 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_40[2]; // is array size 6? /* 0x48 */ @@ -95,6 +103,7 @@ public: static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3); void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203665c(void); + UnkStruct_027E0C68(); ~UnkStruct_027E0C68(); UnkStruct_027E0C68_UnkSubClass1_Sub1* func_020366c4(void); UnkStruct_027E0C68_UnkSubClass1_Sub1* func_02036700(void); @@ -107,14 +116,14 @@ public: bool func_02036824(void); bool func_02036850(void); void func_02036888(UnkStruct_027E0C68_UnkSubClass2* param_2); - bool func_020368f4(UnkStruct_027E0C68_UnkSubClass3* param_2); + bool func_020368f4(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); void func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4); void func_02036bbc(void); void func_02036c50(unk32 param_2); void func_02036ca4(unk32 param_2); bool func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3); - bool func_02036d30(UnkStruct_027E0C68_UnkSubClass3* param_2); - bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass3* param_2); + bool func_02036d30(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); + bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); void func_02036d6c(void); UnkStruct_027E0C68_UnkSubClass1_Base* func_02036da8(u32 param_2, s16* param_3); void func_02036edc(u32 param_2, u8 param_3); diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index c457ff32..0bd03ee1 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -35,14 +35,25 @@ typedef struct UnkSubClass1_unk_154 { typedef u32 (*UnkCallback1)(void); -typedef struct UnkStruct1 { - /* 0x00 */ UnkCallback1 unk_00; - /* 0x04 */ UnkCallback1 unk_04; -} UnkStruct1; // size = 0x8 +// astruct_11 +class UnkSubClass1_UnkownClass1_Sub1 { +public: + /* 0x00 */ unk16 unk_00; + /* 0x02 */ unk16 unk_02; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ + + UnkSubClass1_UnkownClass1_Sub1(); +}; +// astruct_10 class UnkSubClass1_UnkownClass1 { public: - /* 0x00 */ UnkStruct1* unk_00; + /* 0x00 (vtable) */ /* 0x04 */ unk16 unk_04; /* 0x06 */ unk16 unk_06; /* 0x08 */ u32* unk_08; @@ -66,29 +77,60 @@ public: /* 0x50 */ unk32 unk_50; /* 0x54 */ unk32 unk_54; /* 0x58 */ unk32 unk_58; - /* 0x5C */ unk32 unk_5C; - /* 0x60 */ unk32 unk_60; - /* 0x64 */ unk32 unk_64; - /* 0x68 */ unk32 unk_68; - /* 0x6C */ unk32 unk_6C; - /* 0x70 */ unk32 unk_70; + /* 0x5C */ UnkSubClass1_UnkownClass1_Sub1 unk_5C; /* 0x74 */ u32* unk_74; /* 0x78 */ u32* unk_78; /* 0x7C */ unk32 unk_7C; - /* 0x80 */ unk32 unk_80; - /* 0x84 */ unk32 unk_84; + /* 0x80 */ unk16 unk_80; + /* 0x80 */ unk16 unk_82; + /* 0x84 */ unk16 unk_84; + /* 0x84 */ unk8 unk_86; + /* 0x84 */ unk8 unk_87; /* 0x88 */ + /* 0x00 */ virtual unk16 func_020351a8(void); + /* 0x04 */ virtual unk16 func_020351b0(void); + /* 0x08 */ + UnkSubClass1_UnkownClass1(); + ~UnkSubClass1_UnkownClass1(); void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); - void func_020350ac(void); void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_0203516c(void); void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); void func_020352d8(void); }; +class UnkSubClass1_UnkownClass2_Base1 { +public: + /* 0x00 (vtable) */ + /* 0x04 */ u16* unk_00; // pointer to the current position in the message to display + /* 0x08 */ unk16 unk_08; + /* 0x0A */ unk16 unk_0A; + /* 0x0C */ unk16 unk_0C; + /* 0x0E */ unk16 unk_0E; + /* 0x10 */ unk32 unk_10; + + UnkSubClass1_UnkownClass2_Base1(); + /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2_Base1() override; + /* 0x08 */ +}; + +class UnkSubClass1_UnkownClass2 : public UnkSubClass1_UnkownClass2_Base1 { +public: + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x2C */ + + UnkSubClass1_UnkownClass2(); + /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2() override; + /* 0x08 */ +}; + class UnknownClass2 : public SysObject { public: /* 0x00 (vtable) */ @@ -303,10 +345,7 @@ public: /* 0x123 */ u8 unk_123; /* 0x124 */ - //! TODO: fake? - UnkStruct_027E0C68_UnkSubClass1_Base_0(); - - UnkStruct_027E0C68_UnkSubClass1_Base_0(unk8 param_2, unk32 param_3, unk32 param_4); + UnkStruct_027E0C68_UnkSubClass1_Base_0(unk32 param_2, unk32 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; @@ -339,22 +378,11 @@ public: /* 0x74 */ }; +// astruct_6 class UnkStruct_027E0C68_UnkSubClass1_Base : public UnkStruct_027E0C68_UnkSubClass1_Base_0 { public: /* 0x124 */ UnkSubClass1_unk_124* unk_124; - /* 0x128 */ UnkStruct1* unk_128; - - //! TODO: confirm this is part of this class - /* 0x12C */ u16* unk_12C; // pointer to the current position in the message to display - /* 0x130 */ unk16 unk_130; - /* 0x132 */ unk16 unk_132; - /* 0x134 */ unk32 unk_134; - /* 0x138 */ unk32 unk_138; - /* 0x13C */ unk32 unk_13C; - /* 0x140 */ unk32 unk_140; - /* 0x144 */ unk32 unk_144; - /* 0x148 */ unk32 unk_148; - /* 0x14C */ unk32 unk_14C; + /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128; /* 0x150 */ u8 unk_150[4]; /* 0x154 */ UnkSubClass1_unk_154* unk_154; /* 0x158 */ unk16 unk_158; @@ -371,7 +399,7 @@ public: //! TODO: fake? UnkStruct_027E0C68_UnkSubClass1_Base(); - UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk8 param_3); + UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; @@ -403,8 +431,7 @@ public: /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ - static void func_0203881c(UnkStruct1** param_2); - static void func_020387e0(unk8* param_2); + static void func_020387e0(u8* param_2); unk32 func_02032fa4(void); unk32 func_02032fb4(void); @@ -443,7 +470,6 @@ public: void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); void func_020331c4(unk32, unk32); unk32 func_02038cf4(void); - void func_02038b1c(void); void func_0203947c(void); unk32 func_0203951c(void); void func_0203cabc(unk32); @@ -518,7 +544,6 @@ public: /* 0x588 */ UnkSubClass1_unk_124 unk_588; /* 0x5B4 */ - UnkStruct_027E0C68_UnkSubClass1_Sub1(); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override; @@ -557,6 +582,7 @@ public: unk32 func_02038b78(void); unk32 func_02039250(void); void func_02039ca8(void); + void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); bool func_0203a2c0(void); unk32 func_0203a30c(void); bool func_0203a3e0(void); @@ -687,7 +713,7 @@ extern unk32 data_027e0c38[]; extern "C" void func_0203489c(unk32, unk16, unk32*, unk32*); extern "C" void func_020347b0(unk32, unk16, unk32*, unk32*, unk32, unk32); extern THUMB unk32 func_0202ab48(void); -extern "C" void func_02034984(unk32, unk32, unk32, unk32, unk32); +extern "C" void func_02034984(unk32, u8, unk32, unk32); extern "C" void func_02034698(unk32, unk32, unk32*, unk32*); extern struct TouchControl data_027e0d78; -- cgit v1.2.3 From 27e9ac2396ae3c6c3d8002c04dd258e935166caa Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 29 Jan 2025 16:36:55 +0100 Subject: more progress --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 90 ++++++++++++++-------- include/Unknown/func_ov000_020d0644.hpp | 19 +++++ 2 files changed, 75 insertions(+), 34 deletions(-) create mode 100644 include/Unknown/func_ov000_020d0644.hpp (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 0bd03ee1..ffe5f92e 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -2,6 +2,7 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" +#include "Unknown/func_ov000_020d0644.hpp" // temp #define UNK_TYPE void @@ -131,19 +132,6 @@ public: /* 0x08 */ }; -class UnknownClass2 : public SysObject { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32* unk_04; - /* 0x08 */ - - UnknownClass2(); - /* 0x00 */ virtual ~UnknownClass2(); - /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE); - /* 0x0C */ virtual UNK_TYPE vfunc_0C(UNK_TYPE); - /* 0x10 */ -}; - class UnkSubClass1_unk_410 { public: /* 0x00 */ struct UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_00; @@ -217,13 +205,14 @@ public: /* 0x3C */ }; +// astruct_8? class UnkStruct_027E0C68_UnkSubClass1_Base_1 : public SysObject { public: /* 0x000 (vtable) */ /* 0x004 */ unk32* unk_04; /* 0x008 */ UnkSubClass1_02256FF8* unk_08; /* 0x00C */ unk32* unk_0C; - /* 0x010 */ unk32* unk_10; + /* 0x010 */ unk32 unk_10; /* 0x014 */ unk32 unk_14; /* 0x018 */ s32 unk_18; /* 0x01C */ unk32 unk_1C; @@ -281,6 +270,20 @@ public: /* 0x74 */ }; +class UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114 : public SysObject { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32* unk_04; + /* 0x08 */ + + UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114() override; + /* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE); + /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE); + /* 0x0C */ +}; + +// astruct_7 class UnkStruct_027E0C68_UnkSubClass1_Base_0 : public UnkStruct_027E0C68_UnkSubClass1_Base_1 { public: /* 0x052 */ unk16 unk_52; @@ -333,14 +336,13 @@ public: /* 0x108 */ unk32 unk_108; /* 0x10C */ unk32 unk_10C; /* 0x110 */ unk32 unk_110; - /* 0x118 */ void* unk_114; + /* 0x118 */ UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114* unk_114; /* 0x118 */ s32 unk_118; - /* 0x11C */ unk8 unk_11C; - /* 0x11D */ unk8 unk_11D; - /* 0x11E */ u8 unk_11E; + /* 0x11C */ unk16 unk_11C; + /* 0x11E */ unk8 unk_11E; /* 0x11F */ unk8 unk_11F; /* 0x120 */ u8 unk_120; - /* 0x121 */ u8 unk_121; + /* 0x121 */ s8 unk_121; /* 0x122 */ u8 unk_122; /* 0x123 */ u8 unk_123; /* 0x124 */ @@ -392,13 +394,9 @@ public: /* 0x15F */ s8 unk_15F; /* 0x160 */ unk8 unk_160; /* 0x160 */ unk8 unk_161; - /* 0x160 */ unk8 unk_162; - /* 0x160 */ unk8 unk_163; + /* 0x160 */ unk16 unk_162; /* 0x164 */ - //! TODO: fake? - UnkStruct_027E0C68_UnkSubClass1_Base(); - UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base(); @@ -439,6 +437,7 @@ public: u16* func_02037604(u16**); void func_02038b28(void); void func_02038b40(void); + void func_02039208(unk32 param_2); unk32 func_02038d10(void); void func_02038d20(void); void func_02038f44(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5, unk32 param_6); @@ -447,7 +446,6 @@ public: void func_02039398(void); void func_020393a8(unk32 param_2); void func_0203a188(unk32, unk32); - void func_0203a35c(void); unk32 func_0203a3e0(void); unk32 func_0203a6d0(unk32, unk32); unk32 func_0203b0bc(void); @@ -478,6 +476,14 @@ public: void func_0203fc78(unk32*, unk32*); }; +// does it host both choices? +struct UnknownMsgChoiceStruct { + /* 0x00 */ UnkStruct_0203b264* unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ +}; + +// astruct_2 class UnkStruct_027E0C68_UnkSubClass1_Sub1 : public UnkStruct_027E0C68_UnkSubClass1_Base { public: /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_164; @@ -494,12 +500,8 @@ public: /* 0x420 */ unk16 unk_420; /* 0x420 */ unk16 unk_422; /* 0x424 */ UnkSubClass1_unk_424 unk_424; - /* 0x428 */ u16* unk_428; - /* 0x42C */ unk32 unk_42C; - /* 0x430 */ unk32 unk_430; - /* 0x434 */ u8 unk_434[0xF4]; - /* 0x528 */ u16* unk_528; - /* 0x52C */ u8 unk_52C; + /* 0x428 */ UnknownMsgChoiceStruct unk_428[0x20]; + /* 0x528 */ unk16 unk_528[4]; // number of choices? /* 0x55C */ unk32 unk_530; /* 0x55C */ unk32 unk_534; /* 0x55C */ unk32 unk_538; @@ -545,6 +547,7 @@ public: /* 0x5B4 */ UnkStruct_027E0C68_UnkSubClass1_Sub1(); + UnkStruct_027E0C68_UnkSubClass1_Sub1(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override; /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; @@ -585,15 +588,28 @@ public: void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); bool func_0203a2c0(void); unk32 func_0203a30c(void); + void func_0203a35c(void); bool func_0203a3e0(void); }; class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base { public: - /* 0x164 */ u8 unk_164[0x5C]; + /* 0x164 */ unk16 unk_164; + /* 0x166 */ unk16 unk_166; + /* 0x168 */ unk16 unk_168; + /* 0x16A */ unk16 unk_16A; + /* 0x16C */ unk16 unk_16C; + /* 0x16E */ unk16 unk_16E; + /* 0x170 */ unk16 unk_170; + /* 0x172 */ unk16 unk_172; + /* 0x174 */ unk16 unk_174; + /* 0x178 */ unk32 unk_178; + /* 0x17C */ unk32 unk_17C; + /* 0x180 */ UnkClass_func_ov000_020d0644 unk_180[4]; /* 0x1C0 */ UnkStruct_027E0C68_UnkSubClass1_Sub2(); + UnkStruct_027E0C68_UnkSubClass1_Sub2(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub2(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; @@ -625,14 +641,21 @@ public: /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ + static void func_0203c83c(void); }; class UnkStruct_027E0C68_UnkSubClass1_Sub3 : public UnkStruct_027E0C68_UnkSubClass1_Base { public: - /* 0x164 */ u8 unk_164[0xC]; + /* 0x164 */ unk16 unk_164; + /* 0x164 */ unk16 unk_166; + /* 0x164 */ unk16 unk_168; + /* 0x164 */ unk16 unk_16A; + /* 0x164 */ unk16 unk_16C; + /* 0x164 */ unk16 unk_16E; /* 0x170 */ UnkStruct_027E0C68_UnkSubClass1_Sub3(); + UnkStruct_027E0C68_UnkSubClass1_Sub3(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; @@ -672,7 +695,6 @@ extern "C" u32 func_01ff9b4c(unk32, unk32); extern "C" unk32 func_0203c084(void); extern "C" void func_ov018_02169634(UnkStruct_027E0C68_UnkSubClass1_Sub1*); extern "C" unk32 func_ov000_02079e04(void); -extern "C" unk32 func_01ff9b88(unk32, unk32); extern "C" unk32 func_02016fcc(unk32); extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); extern "C" unk32 func_0202d5b4(char*, char*, unk32, unk32, unk32); diff --git a/include/Unknown/func_ov000_020d0644.hpp b/include/Unknown/func_ov000_020d0644.hpp new file mode 100644 index 00000000..ff03d603 --- /dev/null +++ b/include/Unknown/func_ov000_020d0644.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include "global.h" +#include "System/SysNew.hpp" + +class UnkClass_func_ov000_020d0644 { +public: + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + // /* 0x0C */ unk32 unk_0C; + /* 0x10 */ + + static void func_020d060c(void); + + UnkClass_func_ov000_020d0644(); + virtual ~UnkClass_func_ov000_020d0644(); + void func_ov000_020d0644(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); +}; -- cgit v1.2.3 From 348916e3c266efd51403b9455dc1776769ec9208 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 29 Jan 2025 23:38:06 +0100 Subject: more progress --- include/DTCM/UnkStruct_027e103c.hpp | 2 ++ include/Message/MessageManager.hpp | 3 +- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 41 ++++++++++++++++------ 3 files changed, 34 insertions(+), 12 deletions(-) (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index f4a51c4a..7d3aee56 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -21,6 +21,8 @@ struct UnkStruct_027e103c { void func_ov000_020cf284(unk32, unk32); + void func_ov000_020cf224(unk32); + void func_ov000_020cf2a0(unk32); unk32 func_ov000_020cf4bc(void); unk8* func_ov000_020cef9c(void); void func_ov000_020cfb38(void); diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 988ec1cd..16120003 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -81,8 +81,7 @@ public: class UnkStruct_027E0C68 : public SysObject { public: - /* 0x00 */ unk16 unk_00; - /* 0x02 */ u8 unk_02; + /* 0x00 */ u8 unk_00[2]; /* 0x03 */ u8 unk_03; /* 0x04 */ u8 unk_04; /* 0x05 */ u8 unk_05; diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index ffe5f92e..a8ac1b28 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -3,6 +3,7 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" #include "Unknown/func_ov000_020d0644.hpp" +#include "lib/math.h" // temp #define UNK_TYPE void @@ -140,6 +141,7 @@ public: void func_0203ec34(void); void func_0203ebe0(void); void func_0203ebf8(void); + void func_0203ec4c(UnkStruct_0203b264* param_2, unk32 param_3, s32 param_4, s32 param_5); }; // same as UnkSubClass1_unk_410? @@ -152,6 +154,7 @@ public: void func_0203ef78(unk16, u16, unk8); void func_0203ef78(unk16); // overload? void func_0203ee48(void); + UnkStruct_0203b264* func_0203eeb0(unk32 param_2, unk32 param_3); }; class UnkSubClass1_unk_124 { @@ -213,7 +216,7 @@ public: /* 0x008 */ UnkSubClass1_02256FF8* unk_08; /* 0x00C */ unk32* unk_0C; /* 0x010 */ unk32 unk_10; - /* 0x014 */ unk32 unk_14; + /* 0x014 */ s32 unk_14; /* 0x018 */ s32 unk_18; /* 0x01C */ unk32 unk_1C; /* 0x020 */ unk32 unk_20; @@ -287,7 +290,8 @@ public: class UnkStruct_027E0C68_UnkSubClass1_Base_0 : public UnkStruct_027E0C68_UnkSubClass1_Base_1 { public: /* 0x052 */ unk16 unk_52; - /* 0x054 */ unk32 unk_54; + /* 0x054 */ unk16 unk_54; + /* 0x054 */ unk16 unk_56; /* 0x058 */ unk32 unk_58; /* 0x05C */ s16 unk_5C; /* 0x05E */ s16 unk_5E; @@ -333,7 +337,10 @@ public: /* 0x0FC */ unk32 unk_FC; /* 0x100 */ unk32 unk_100; /* 0x104 */ unk32 unk_104; - /* 0x108 */ unk32 unk_108; + /* 0x108 */ unk8 unk_108; + /* 0x108 */ unk8 unk_109; + /* 0x108 */ unk8 unk_10A; + /* 0x108 */ unk8 unk_10B; /* 0x10C */ unk32 unk_10C; /* 0x110 */ unk32 unk_110; /* 0x118 */ UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114* unk_114; @@ -387,8 +394,7 @@ public: /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128; /* 0x150 */ u8 unk_150[4]; /* 0x154 */ UnkSubClass1_unk_154* unk_154; - /* 0x158 */ unk16 unk_158; - /* 0x15A */ unk16 unk_15A; + /* 0x158 */ Vec2s unk_158; // textbox position? /* 0x15C */ s16 unk_15C; /* 0x15E */ s8 unk_15E; /* 0x15F */ s8 unk_15F; @@ -447,11 +453,6 @@ public: void func_020393a8(unk32 param_2); void func_0203a188(unk32, unk32); unk32 func_0203a3e0(void); - unk32 func_0203a6d0(unk32, unk32); - unk32 func_0203b0bc(void); - void func_0203b0ec(unk32 param_2); - void func_0203b764(void); - void func_0203bd8c(u16 param_2); void func_0203be08(void); void func_0203be64(void); unk32 func_0203cb5c(unk8, s16); @@ -462,6 +463,7 @@ public: void func_0203e090(void); void func_0203e0f8(void); void func_0203e1b0(unk32, unk32, unk32); + void func_02039440(unk32, unk32); // not sure it belongs to this class: void func_02032fcc(unk32, unk32); @@ -590,6 +592,13 @@ public: unk32 func_0203a30c(void); void func_0203a35c(void); bool func_0203a3e0(void); + bool func_0203a6d0(unk32 param_2, unk32 param_3); + bool func_0203b0bc(void); + unk32 func_0203b0ec(unk32 param_2); + void func_0203b764(void); + void func_0203bd8c(u16 param_2); + + unk32 func_02038cb8(unk32 param_2); }; class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base { @@ -776,3 +785,15 @@ public: void func_ov003_020f4874(void); }; extern UnkClass_027e1054 data_027e1054; + +class UnkClass_ov000_020eec9c { +public: + void func_ov000_020d77e4(unk32); +}; +extern UnkClass_ov000_020eec9c data_ov000_020eec9c; + +class UnkClass_ov000_027e0d04 { +public: + void func_0203fe60(unk32); +}; +extern UnkClass_ov000_027e0d04 data_027e0d04; -- cgit v1.2.3 From 1ef64a530850feb22e9fb6d7250c9d5f271c7e3c Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 29 Jan 2025 23:43:03 +0100 Subject: fix build issues --- include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index a8ac1b28..5b21590b 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -789,11 +789,14 @@ extern UnkClass_027e1054 data_027e1054; class UnkClass_ov000_020eec9c { public: void func_ov000_020d77e4(unk32); + unk32 func_ov000_020d7f18(unk32); }; extern UnkClass_ov000_020eec9c data_ov000_020eec9c; class UnkClass_ov000_027e0d04 { public: + /* 0x00 */ unk16 unk_00; + void func_0203fe60(unk32); }; extern UnkClass_ov000_027e0d04 data_027e0d04; -- cgit v1.2.3 From a65697ce56639332b8e8e078277d9d34bbc79bb3 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:28:49 +0100 Subject: more progress --- include/DTCM/UnkStruct_027e103c.hpp | 16 +++++--- include/Message/MessageManager.hpp | 1 + .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 47 +++++++++++++++++----- 3 files changed, 49 insertions(+), 15 deletions(-) (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index 7d3aee56..6da1a887 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -23,15 +23,21 @@ struct UnkStruct_027e103c { void func_ov000_020cf224(unk32); void func_ov000_020cf2a0(unk32); - unk32 func_ov000_020cf4bc(void); - unk8* func_ov000_020cef9c(void); - void func_ov000_020cfb38(void); + s8* func_ov000_020cef9c(void); + unk32 func_ov000_020cf0bc(void); + bool func_ov000_020cf42c(void); unk32 func_ov000_020cf488(void); + unk32 func_ov000_020cf4bc(void); void func_ov000_020cfa24(void); + void func_ov000_020cfb38(void); void func_ov000_020cfe40(unk32, unk32); - void func_ov005_02104028(unk32); - unk32 func_ov000_020cf0bc(void); void func_ov005_02103f8c(unk32*); + void func_ov005_02104028(unk32); + void func_ov000_020cfb58(u8*); + unk32 func_ov000_020cf8fc(unk32); + + //! TODO: find out if the type is always `UnkStruct_027E0C68_UnkSubClass1_Sub1*` + void func_ov000_020cfb20(void*); }; extern UnkStruct_027e103c *data_027e103c; diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 16120003..0ef665b9 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -82,6 +82,7 @@ public: class UnkStruct_027E0C68 : public SysObject { public: /* 0x00 */ u8 unk_00[2]; + /* 0x02 */ u8 unk_02; /* 0x03 */ u8 unk_03; /* 0x04 */ u8 unk_04; /* 0x05 */ u8 unk_05; diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index 5b21590b..d7b47039 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -119,12 +119,14 @@ public: /* 0x08 */ }; +typedef bool (*UnknownCallback)(class UnkStruct_027E0C68_UnkSubClass1_Sub1*); + class UnkSubClass1_UnkownClass2 : public UnkSubClass1_UnkownClass2_Base1 { public: /* 0x14 */ unk32 unk_14; /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; + /* 0x1C */ UnknownCallback unk_1C; + /* 0x20 */ class UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_20; /* 0x24 */ unk32 unk_24; /* 0x2C */ @@ -271,6 +273,8 @@ public: /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); /* 0x74 */ + + unk32 func_02032fa4(void); }; class UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114 : public SysObject { @@ -437,7 +441,6 @@ public: static void func_020387e0(u8* param_2); - unk32 func_02032fa4(void); unk32 func_02032fb4(void); unk32 func_020337d8(unk32 param_2); u16* func_02037604(u16**); @@ -453,8 +456,6 @@ public: void func_020393a8(unk32 param_2); void func_0203a188(unk32, unk32); unk32 func_0203a3e0(void); - void func_0203be08(void); - void func_0203be64(void); unk32 func_0203cb5c(unk8, s16); void func_0203dc10(u8 param_2); void func_0203dc10(u8 param_2, u8 param_3); @@ -505,16 +506,20 @@ public: /* 0x428 */ UnknownMsgChoiceStruct unk_428[0x20]; /* 0x528 */ unk16 unk_528[4]; // number of choices? /* 0x55C */ unk32 unk_530; - /* 0x55C */ unk32 unk_534; - /* 0x55C */ unk32 unk_538; + /* 0x55C */ unk16 unk_534; + /* 0x55C */ unk16 unk_536; + /* 0x55C */ unk16 unk_538; + /* 0x55C */ unk16 unk_53A; /* 0x55C */ unk32 unk_53C; /* 0x55C */ unk32 unk_540; /* 0x55C */ unk8 unk_544; /* 0x55C */ unk8 unk_545; /* 0x55C */ unk8 unk_546; /* 0x55C */ unk8 unk_547; - /* 0x55C */ unk32 unk_548; - /* 0x55C */ unk32 unk_54C; + /* 0x55C */ unk16 unk_548; + /* 0x55C */ unk16 unk_54A; + /* 0x55C */ unk16 unk_54C; + /* 0x55C */ unk16 unk_54E; /* 0x55C */ unk32 unk_550; /* 0x55C */ unk32 unk_554; /* 0x55C */ unk8 unk_558; @@ -581,6 +586,8 @@ public: /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ + static bool func_0203c25c(class UnkStruct_027E0C68_UnkSubClass1_Sub1* param_1); + void func_0203e060(u8 param_2, u8 param_3); void func_02039a3c(void); @@ -597,6 +604,11 @@ public: unk32 func_0203b0ec(unk32 param_2); void func_0203b764(void); void func_0203bd8c(u16 param_2); + void func_0203be08(void); + void func_0203be64(void); + unk32 func_0203c084(void); + bool func_0203c13c(void); + unk32 func_0203c1a0(void); unk32 func_02038cb8(unk32 param_2); }; @@ -777,12 +789,21 @@ typedef struct UnkStruct_01ffbe34 { } UnkStruct_01ffbe34; extern "C" void func_01ffbe34(UnkStruct_01ffbe34 *param1); +struct UnkClass_027e1054_unk_00_unk00 { + /* 0x00 */ u8 unk_00[0x95]; + /* 0x95 */ u8 unk_95; +}; +struct UnkClass_027e1054_unk_00 { + /* 0x00 */ unk32 unk_04; + /* 0x00 */ UnkClass_027e1054_unk_00_unk00* unk_00; +}; class UnkClass_027e1054 { public: - unk32 unk_00; + UnkClass_027e1054_unk_00* unk_00; unk32 unk_04; void func_ov003_020f4874(void); + void func_ov003_020f4760(u8, unk32); }; extern UnkClass_027e1054 data_027e1054; @@ -800,3 +821,9 @@ public: void func_0203fe60(unk32); }; extern UnkClass_ov000_027e0d04 data_027e0d04; + +class UnkClass_data_027e0f7c { +public: + u8* func_ov000_0209d90c(s8, s8); +}; +extern UnkClass_data_027e0f7c data_027e0f7c; -- cgit v1.2.3 From 1c316549d459c898b5084c89eb3e9b9a27be65a1 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:43:18 +0100 Subject: more progress --- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 64 ++++++++++++---------- 1 file changed, 36 insertions(+), 28 deletions(-) (limited to 'include') diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index d7b47039..a40d5982 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -286,8 +286,10 @@ public: UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114() override; /* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE); - /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE); + /* 0x08 */ virtual unk32 vfunc_08(void*, s16); /* 0x0C */ + + unk32 func_0203d1b4(void); }; // astruct_7 @@ -477,6 +479,8 @@ public: unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); void func_0203e2ac(unk32* param_2); void func_0203fc78(unk32*, unk32*); + s16 func_0203d318(s16, s16); + void func_02038ef4(unk32, unk32); }; // does it host both choices? @@ -679,35 +683,39 @@ public: UnkStruct_027E0C68_UnkSubClass1_Sub3(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ /* astruct_8::vfunc_24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; + /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; + /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; + /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; + /* 0x3C */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; + /* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; + /* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override; + /* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override; + /* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ + //! TODO: vfunc_4C? + void func_0203c39c(unk32 param_2, unk32 param_3); + + void func_0203c4ac(unk32, unk32); }; // TEMPORARY -- cgit v1.2.3 From 268d0822eb3eb9076e6afa7ba79f9b07867e4d8f Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 30 Jan 2025 17:36:52 +0100 Subject: renamed some classes --- include/DTCM/UnkStruct_027e103c.hpp | 2 +- include/Message/MessageManager.hpp | 20 +++---- .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 68 +++++++++++----------- 3 files changed, 45 insertions(+), 45 deletions(-) (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index 6da1a887..5a8199ed 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -36,7 +36,7 @@ struct UnkStruct_027e103c { void func_ov000_020cfb58(u8*); unk32 func_ov000_020cf8fc(unk32); - //! TODO: find out if the type is always `UnkStruct_027E0C68_UnkSubClass1_Sub1*` + //! TODO: find out if the type is always `MsgProc_Type1*` void func_ov000_020cfb20(void*); }; diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 0ef665b9..db89656b 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -24,7 +24,7 @@ public: /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2_Base1(); /* 0x08 */ virtual void vfunc_08(u32 param_1); - /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1_Sub1* param_2); + /* 0x0C */ virtual void vfunc_0C(MsgProc_Type1* param_2); /* 0x10 */ virtual void vfunc_10(void); /* 0x14 */ virtual UNK_TYPE vfunc_14(void); /* 0x18 */ virtual UNK_TYPE vfunc_18(void); @@ -66,7 +66,7 @@ public: UnkStruct_027E0C68_UnkSubClass2(); /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2() override; /* 0x08 */ virtual void vfunc_08(u32 param_1) override; - /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1_Sub1* param_2) override; + /* 0x0C */ virtual void vfunc_0C(MsgProc_Type1* param_2) override; /* 0x10 */ virtual void vfunc_10(void) override; /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; /* 0x18 */ virtual UNK_TYPE vfunc_18(void) override; @@ -87,7 +87,7 @@ public: /* 0x04 */ u8 unk_04; /* 0x05 */ u8 unk_05; /* 0x06 */ unk16 unk_06; - /* 0x08 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_08; + /* 0x08 */ MsgProc_Type1* unk_08; /* 0x0C */ u8 unk_0C; /* 0x0C */ u8 unk_0D; /* 0x0C */ unk16 unk_0E; @@ -96,8 +96,8 @@ public: /* 0x14 */ BMGGroups* pGroups; /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18[2]; /* 0x20 */ UnkStruct_027E0C68_UnkSubClass2_Base1* unk_20[2]; - /* 0x28 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_28[6]; - /* 0x40 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_40[2]; // is array size 6? + /* 0x28 */ MsgProc_Main* unk_28[6]; + /* 0x40 */ MsgProc_Type1* unk_40[2]; // is array size 6? /* 0x48 */ static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3); @@ -105,8 +105,8 @@ public: void func_0203665c(void); UnkStruct_027E0C68(); ~UnkStruct_027E0C68(); - UnkStruct_027E0C68_UnkSubClass1_Sub1* func_020366c4(void); - UnkStruct_027E0C68_UnkSubClass1_Sub1* func_02036700(void); + MsgProc_Type1* func_020366c4(void); + MsgProc_Type1* func_02036700(void); UnkStruct_027E0C68_UnkSubClass2* func_0203673c(void); bool func_02036770(u32 param_2); unk32 func_02036798(void); @@ -125,13 +125,13 @@ public: bool func_02036d30(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); void func_02036d6c(void); - UnkStruct_027E0C68_UnkSubClass1_Base* func_02036da8(u32 param_2, s16* param_3); + MsgProc_Main* func_02036da8(u32 param_2, s16* param_3); void func_02036edc(u32 param_2, u8 param_3); - UnkStruct_027E0C68_UnkSubClass1_Sub1* func_02036f68(u32 param_2, u8* param_3); + MsgProc_Type1* func_02036f68(u32 param_2, u8* param_3); UnkStruct_027E0C68_UnkSubClass2* func_020370d0(unk32 param_2, unk32 param_3); UnkStruct_027E0C68_UnkSubClass2* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); void func_02037158(UnkSubClass1_02256FF8* param_2); - UnkStruct_027E0C68_UnkSubClass1_Base* func_02037178(UnkSubClass1_02256FF8* param_2); + MsgProc_Main* func_02037178(UnkSubClass1_02256FF8* param_2); }; extern UnkStruct_027E0C68 data_027e0c68; diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp index a40d5982..3a442151 100644 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -119,14 +119,14 @@ public: /* 0x08 */ }; -typedef bool (*UnknownCallback)(class UnkStruct_027E0C68_UnkSubClass1_Sub1*); +typedef bool (*UnknownCallback)(class MsgProc_Type1*); class UnkSubClass1_UnkownClass2 : public UnkSubClass1_UnkownClass2_Base1 { public: /* 0x14 */ unk32 unk_14; /* 0x18 */ unk32 unk_18; /* 0x1C */ UnknownCallback unk_1C; - /* 0x20 */ class UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_20; + /* 0x20 */ class MsgProc_Type1* unk_20; /* 0x24 */ unk32 unk_24; /* 0x2C */ @@ -137,7 +137,7 @@ public: class UnkSubClass1_unk_410 { public: - /* 0x00 */ struct UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_00; + /* 0x00 */ struct MsgProc_Type1* unk_00; /* 0x04 */ void func_0203ec34(void); @@ -149,7 +149,7 @@ public: // same as UnkSubClass1_unk_410? class UnkSubClass1_unk_424 { public: - /* 0x00 */ struct UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_00; + /* 0x00 */ struct MsgProc_Type1* unk_00; /* 0x04 */ void func_0203ee80(unk32); @@ -161,7 +161,7 @@ public: class UnkSubClass1_unk_124 { public: - /* 0x00 */ void* unk_00; // pointer to UnkStruct_027E0C68_UnkSubClass1_Base (well, the first members of the base class) + /* 0x00 */ void* unk_00; // pointer to MsgProc_Main (well, the first members of the base class) /* 0x04 */ unk32 unk_04; /* 0x08 */ unk32 unk_08; /* 0x0C */ unk32 unk_0C; @@ -211,7 +211,7 @@ public: }; // astruct_8? -class UnkStruct_027E0C68_UnkSubClass1_Base_1 : public SysObject { +class MsgProc_Base : public SysObject { public: /* 0x000 (vtable) */ /* 0x004 */ unk32* unk_04; @@ -243,8 +243,8 @@ public: /* 0x051 */ unk8 unk_51; /* 0x052 */ - UnkStruct_027E0C68_UnkSubClass1_Base_1(); - /* 0x00*/ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_1(); + MsgProc_Base(); + /* 0x00*/ virtual ~MsgProc_Base(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? @@ -277,14 +277,14 @@ public: unk32 func_02032fa4(void); }; -class UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114 : public SysObject { +class MsgProc_Base2_unk_114 : public SysObject { public: /* 0x00 (vtable) */ /* 0x04 */ unk32* unk_04; /* 0x08 */ - UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114(); - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114() override; + MsgProc_Base2_unk_114(); + /* 0x00 */ virtual ~MsgProc_Base2_unk_114() override; /* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE); /* 0x08 */ virtual unk32 vfunc_08(void*, s16); /* 0x0C */ @@ -293,7 +293,7 @@ public: }; // astruct_7 -class UnkStruct_027E0C68_UnkSubClass1_Base_0 : public UnkStruct_027E0C68_UnkSubClass1_Base_1 { +class MsgProc_Base2 : public MsgProc_Base { public: /* 0x052 */ unk16 unk_52; /* 0x054 */ unk16 unk_54; @@ -349,7 +349,7 @@ public: /* 0x108 */ unk8 unk_10B; /* 0x10C */ unk32 unk_10C; /* 0x110 */ unk32 unk_110; - /* 0x118 */ UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114* unk_114; + /* 0x118 */ MsgProc_Base2_unk_114* unk_114; /* 0x118 */ s32 unk_118; /* 0x11C */ unk16 unk_11C; /* 0x11E */ unk8 unk_11E; @@ -360,9 +360,9 @@ public: /* 0x123 */ u8 unk_123; /* 0x124 */ - UnkStruct_027E0C68_UnkSubClass1_Base_0(unk32 param_2, unk32 param_3, unk32 param_4); + MsgProc_Base2(unk32 param_2, unk32 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0(); + /* 0x00 */ virtual ~MsgProc_Base2(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? @@ -394,7 +394,7 @@ public: }; // astruct_6 -class UnkStruct_027E0C68_UnkSubClass1_Base : public UnkStruct_027E0C68_UnkSubClass1_Base_0 { +class MsgProc_Main : public MsgProc_Base2 { public: /* 0x124 */ UnkSubClass1_unk_124* unk_124; /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128; @@ -409,9 +409,9 @@ public: /* 0x160 */ unk16 unk_162; /* 0x164 */ - UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk16 param_3, unk32 param_4); + MsgProc_Main(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base(); + /* 0x00 */ virtual ~MsgProc_Main(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? @@ -491,9 +491,9 @@ struct UnknownMsgChoiceStruct { }; // astruct_2 -class UnkStruct_027E0C68_UnkSubClass1_Sub1 : public UnkStruct_027E0C68_UnkSubClass1_Base { +class MsgProc_Type1 : public MsgProc_Main { public: - /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_164; + /* 0x164 */ MsgProc_Type1* unk_164; /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; /* 0x278 */ UnkSubClass1_UnkownClass1 unk_278; @@ -501,7 +501,7 @@ public: /* 0x388 */ UnkSubClass1_UnkownClass1 unk_388; /* 0x410 */ UnkSubClass1_unk_410 unk_410; /* 0x414 */ unk32 unk_414; - /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_418; + /* 0x418 */ MsgProc_Main* unk_418; /* 0x41C */ unk16 unk_41C; /* 0x41C */ unk16 unk_41E; /* 0x420 */ unk16 unk_420; @@ -557,10 +557,10 @@ public: /* 0x588 */ UnkSubClass1_unk_124 unk_588; /* 0x5B4 */ - UnkStruct_027E0C68_UnkSubClass1_Sub1(); - UnkStruct_027E0C68_UnkSubClass1_Sub1(unk32 param_2, unk16 param_3, unk32 param_4); + MsgProc_Type1(); + MsgProc_Type1(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override; + /* 0x00 */ virtual ~MsgProc_Type1() override; /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? @@ -590,7 +590,7 @@ public: /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ - static bool func_0203c25c(class UnkStruct_027E0C68_UnkSubClass1_Sub1* param_1); + static bool func_0203c25c(class MsgProc_Type1* param_1); void func_0203e060(u8 param_2, u8 param_3); void func_02039a3c(void); @@ -617,7 +617,7 @@ public: unk32 func_02038cb8(unk32 param_2); }; -class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base { +class MsgProc_Type3 : public MsgProc_Main { public: /* 0x164 */ unk16 unk_164; /* 0x166 */ unk16 unk_166; @@ -633,10 +633,10 @@ public: /* 0x180 */ UnkClass_func_ov000_020d0644 unk_180[4]; /* 0x1C0 */ - UnkStruct_027E0C68_UnkSubClass1_Sub2(); - UnkStruct_027E0C68_UnkSubClass1_Sub2(unk32 param_2, unk16 param_3, unk32 param_4); + MsgProc_Type3(); + MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub2(); + /* 0x00 */ virtual ~MsgProc_Type3(); /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? @@ -669,7 +669,7 @@ public: static void func_0203c83c(void); }; -class UnkStruct_027E0C68_UnkSubClass1_Sub3 : public UnkStruct_027E0C68_UnkSubClass1_Base { +class MsgProc_Type2 : public MsgProc_Main { public: /* 0x164 */ unk16 unk_164; /* 0x164 */ unk16 unk_166; @@ -679,10 +679,10 @@ public: /* 0x164 */ unk16 unk_16E; /* 0x170 */ - UnkStruct_027E0C68_UnkSubClass1_Sub3(); - UnkStruct_027E0C68_UnkSubClass1_Sub3(unk32 param_2, unk16 param_3, unk32 param_4); + MsgProc_Type2(); + MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3(); + /* 0x00 */ virtual ~MsgProc_Type2(); /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? @@ -722,7 +722,7 @@ public: extern "C" u32 func_01ff9b4c(unk32, unk32); extern "C" unk32 func_0203c084(void); -extern "C" void func_ov018_02169634(UnkStruct_027E0C68_UnkSubClass1_Sub1*); +extern "C" void func_ov018_02169634(MsgProc_Type1*); extern "C" unk32 func_ov000_02079e04(void); extern "C" unk32 func_02016fcc(unk32); extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); -- cgit v1.2.3 From 59203c7bb91e49010d576b6fac85cdff081773a7 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 30 Jan 2025 17:54:54 +0100 Subject: better splits and fixed us syms --- include/Message/MessageManager.hpp | 2 +- include/Message/MsgProc.hpp | 837 +++++++++++++++++++++ .../Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 837 --------------------- 3 files changed, 838 insertions(+), 838 deletions(-) create mode 100644 include/Message/MsgProc.hpp delete mode 100644 include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index db89656b..6628e0e7 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -5,7 +5,7 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" -#include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp" +#include "Message/MsgProc.hpp" #include "lib/math.h" // astruct_14 diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp new file mode 100644 index 00000000..3a442151 --- /dev/null +++ b/include/Message/MsgProc.hpp @@ -0,0 +1,837 @@ +#pragma once + +#include "System/SysNew.hpp" +#include "Message/BMG.hpp" +#include "Unknown/func_ov000_020d0644.hpp" +#include "lib/math.h" + +// temp +#define UNK_TYPE void + +#define ESCAPE_SEQUENCE_MARKER '\x1A' + +struct func_0203b410_param_2 { + unk32 unk_00; + unk32 unk_04; + unk32 unk_08; + unk32 unk_0C; + unk16 unk_10; + unk16 unk_12; +}; + +typedef struct UnkStruct_0203b264 { + /* 0 */ u8 mUnk_0[0x4]; + /* 4 */ u16 *mUnk_4; + /* 8 */ +} UnkStruct_0203b264; + +typedef struct UnkSubClass1_unk_154 { + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 unk_04; + u8 unk_05; + u8 unk_06; +} UnkSubClass1_unk_154; + +typedef u32 (*UnkCallback1)(void); + +// astruct_11 +class UnkSubClass1_UnkownClass1_Sub1 { +public: + /* 0x00 */ unk16 unk_00; + /* 0x02 */ unk16 unk_02; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ + + UnkSubClass1_UnkownClass1_Sub1(); +}; + +// astruct_10 +class UnkSubClass1_UnkownClass1 { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk16 unk_04; + /* 0x06 */ unk16 unk_06; + /* 0x08 */ u32* unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ u32* unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk32 unk_28; + /* 0x2C */ unk32 unk_2C; + /* 0x30 */ unk32 unk_30; + /* 0x34 */ u32* unk_34; + /* 0x38 */ u32* unk_38; + /* 0x3C */ unk32 unk_3C; + /* 0x40 */ unk32 unk_40; + /* 0x44 */ unk32 unk_44; + /* 0x48 */ unk32 unk_48; + /* 0x4C */ unk32 unk_4C; + /* 0x50 */ unk32 unk_50; + /* 0x54 */ unk32 unk_54; + /* 0x58 */ unk32 unk_58; + /* 0x5C */ UnkSubClass1_UnkownClass1_Sub1 unk_5C; + /* 0x74 */ u32* unk_74; + /* 0x78 */ u32* unk_78; + /* 0x7C */ unk32 unk_7C; + /* 0x80 */ unk16 unk_80; + /* 0x80 */ unk16 unk_82; + /* 0x84 */ unk16 unk_84; + /* 0x84 */ unk8 unk_86; + /* 0x84 */ unk8 unk_87; + /* 0x88 */ + + /* 0x00 */ virtual unk16 func_020351a8(void); + /* 0x04 */ virtual unk16 func_020351b0(void); + /* 0x08 */ + + UnkSubClass1_UnkownClass1(); + ~UnkSubClass1_UnkownClass1(); + void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); + void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); + void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); + void func_0203516c(void); + void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_020352d8(void); +}; + +class UnkSubClass1_UnkownClass2_Base1 { +public: + /* 0x00 (vtable) */ + /* 0x04 */ u16* unk_00; // pointer to the current position in the message to display + /* 0x08 */ unk16 unk_08; + /* 0x0A */ unk16 unk_0A; + /* 0x0C */ unk16 unk_0C; + /* 0x0E */ unk16 unk_0E; + /* 0x10 */ unk32 unk_10; + + UnkSubClass1_UnkownClass2_Base1(); + /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2_Base1() override; + /* 0x08 */ +}; + +typedef bool (*UnknownCallback)(class MsgProc_Type1*); + +class UnkSubClass1_UnkownClass2 : public UnkSubClass1_UnkownClass2_Base1 { +public: + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ UnknownCallback unk_1C; + /* 0x20 */ class MsgProc_Type1* unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x2C */ + + UnkSubClass1_UnkownClass2(); + /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2() override; + /* 0x08 */ +}; + +class UnkSubClass1_unk_410 { +public: + /* 0x00 */ struct MsgProc_Type1* unk_00; + /* 0x04 */ + + void func_0203ec34(void); + void func_0203ebe0(void); + void func_0203ebf8(void); + void func_0203ec4c(UnkStruct_0203b264* param_2, unk32 param_3, s32 param_4, s32 param_5); +}; + +// same as UnkSubClass1_unk_410? +class UnkSubClass1_unk_424 { +public: + /* 0x00 */ struct MsgProc_Type1* unk_00; + /* 0x04 */ + + void func_0203ee80(unk32); + void func_0203ef78(unk16, u16, unk8); + void func_0203ef78(unk16); // overload? + void func_0203ee48(void); + UnkStruct_0203b264* func_0203eeb0(unk32 param_2, unk32 param_3); +}; + +class UnkSubClass1_unk_124 { +public: + /* 0x00 */ void* unk_00; // pointer to MsgProc_Main (well, the first members of the base class) + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk8 unk_28; + /* 0x29 */ unk8 unk_29; + /* 0x2A */ unk8 unk_2A; + /* 0x2B */ unk8 unk_2B; + /* 0x2C */ + + void func_0203f020(unk32, unk32); +}; + +class UnkSubClass1_02256FF8 { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ u8 unk_1C; + /* 0x20 */ + + UnkSubClass1_02256FF8(); + /* 0x00 */ virtual ~UnkSubClass1_02256FF8() override; + /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE) override; + /* 0x0C */ virtual UNK_TYPE vfunc_0C(UNK_TYPE) override; + /* 0x10 */ virtual UNK_TYPE vfunc_10(UNK_TYPE) override; + /* 0x14 */ virtual UNK_TYPE vfunc_14(UNK_TYPE) override; + /* 0x18 */ virtual UNK_TYPE vfunc_18(UNK_TYPE) override; + /* 0x1C */ virtual UNK_TYPE vfunc_1C(UNK_TYPE) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual UNK_TYPE vfunc_28(UNK_TYPE) override; + /* 0x2C */ virtual UNK_TYPE vfunc_2C(UNK_TYPE) override; + /* 0x30 */ virtual UNK_TYPE vfunc_30(UNK_TYPE) override; + /* 0x34 */ virtual UNK_TYPE vfunc_34(UNK_TYPE) override; + /* 0x38 */ virtual UNK_TYPE vfunc_38(UNK_TYPE) override; + /* 0x3C */ +}; + +// astruct_8? +class MsgProc_Base : public SysObject { +public: + /* 0x000 (vtable) */ + /* 0x004 */ unk32* unk_04; + /* 0x008 */ UnkSubClass1_02256FF8* unk_08; + /* 0x00C */ unk32* unk_0C; + /* 0x010 */ unk32 unk_10; + /* 0x014 */ s32 unk_14; + /* 0x018 */ s32 unk_18; + /* 0x01C */ unk32 unk_1C; + /* 0x020 */ unk32 unk_20; + /* 0x024 */ unk32* unk_24; + /* 0x028 */ unk32* unk_28; + /* 0x02C */ u32* unk_2C; + /* 0x030 */ unk32 unk_30; + /* 0x034 */ unk32 unk_34; + /* 0x038 */ unk32 unk_38; + /* 0x03C */ unk16 unk_3C; + /* 0x03E */ unk16 unk_3E; + /* 0x040 */ unk32 unk_40; + /* 0x044 */ unk32 unk_44; + /* 0x048 */ u8 unk_48; + /* 0x049 */ u8 unk_49; + /* 0x04A */ unk16 unk_4A; + /* 0x04C */ unk8 unk_4C; + /* 0x04C */ unk8 unk_4D; + /* 0x04C */ unk8 unk_4E; + /* 0x04C */ unk8 unk_4F; + /* 0x050 */ u8 unk_50; + /* 0x051 */ unk8 unk_51; + /* 0x052 */ + + MsgProc_Base(); + /* 0x00*/ virtual ~MsgProc_Base(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); + /* 0x28 */ virtual bool vfunc_28(void); + /* 0x2C */ virtual void vfunc_2C(void); + /* 0x30 */ virtual void vfunc_30(void); + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); + /* 0x38 */ virtual bool vfunc_38(void); + /* 0x3C */ virtual void vfunc_3C(unk32 param_2); + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); + /* 0x48 */ virtual void vfunc_48(void); + /* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); + /* 0x54 */ virtual void vfunc_54(void); + /* 0x58 */ virtual void vfunc_58(void); + /* 0x5C */ virtual void vfunc_5C(void); + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); + /* 0x64 */ virtual void vfunc_64(unk32 param_2); + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); + /* 0x74 */ + + unk32 func_02032fa4(void); +}; + +class MsgProc_Base2_unk_114 : public SysObject { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32* unk_04; + /* 0x08 */ + + MsgProc_Base2_unk_114(); + /* 0x00 */ virtual ~MsgProc_Base2_unk_114() override; + /* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE); + /* 0x08 */ virtual unk32 vfunc_08(void*, s16); + /* 0x0C */ + + unk32 func_0203d1b4(void); +}; + +// astruct_7 +class MsgProc_Base2 : public MsgProc_Base { +public: + /* 0x052 */ unk16 unk_52; + /* 0x054 */ unk16 unk_54; + /* 0x054 */ unk16 unk_56; + /* 0x058 */ unk32 unk_58; + /* 0x05C */ s16 unk_5C; + /* 0x05E */ s16 unk_5E; + /* 0x060 */ unk32 unk_60; + /* 0x064 */ unk32 unk_64; + /* 0x068 */ unk32 unk_68; + /* 0x06C */ unk32 unk_6C; + /* 0x070 */ unk32 unk_70; + /* 0x074 */ unk32 unk_74; + /* 0x078 */ unk32 unk_78; + /* 0x07C */ unk32 unk_7C; + /* 0x080 */ unk32 unk_80; + /* 0x084 */ unk32 unk_84; + /* 0x088 */ unk32 unk_88; + /* 0x08C */ unk32 unk_8C; + /* 0x090 */ unk32 unk_90; + /* 0x094 */ unk32 unk_94; + /* 0x098 */ unk32 unk_98; + /* 0x09C */ unk32 unk_9C; + /* 0x0A0 */ unk32 unk_A0; + /* 0x0A4 */ unk32 unk_A4; + /* 0x0A8 */ unk32 unk_A8; + /* 0x0AC */ unk32 unk_AC; + /* 0x0B0 */ unk32 unk_B0; + /* 0x0B4 */ unk32 unk_B4; + /* 0x0B8 */ unk32 unk_B8; + /* 0x0BC */ unk32 unk_BC; + /* 0x0C0 */ unk32 unk_C0; + /* 0x0C4 */ unk32 unk_C4; + /* 0x0C8 */ unk32 unk_C8; + /* 0x0CC */ unk32 unk_CC; + /* 0x0D0 */ unk32 unk_D0; + /* 0x0D4 */ unk32 unk_D4; + /* 0x0D8 */ unk32 unk_D8; + /* 0x0DC */ unk32 unk_DC; + /* 0x0E0 */ unk32 unk_E0; + /* 0x0E4 */ unk32 unk_E4; + /* 0x0E8 */ unk32 unk_E8; + /* 0x0EC */ unk32 unk_EC; + /* 0x0F0 */ unk32 unk_F0; + /* 0x0F4 */ unk32 unk_F4; + /* 0x0F8 */ unk32 unk_F8; + /* 0x0FC */ unk32 unk_FC; + /* 0x100 */ unk32 unk_100; + /* 0x104 */ unk32 unk_104; + /* 0x108 */ unk8 unk_108; + /* 0x108 */ unk8 unk_109; + /* 0x108 */ unk8 unk_10A; + /* 0x108 */ unk8 unk_10B; + /* 0x10C */ unk32 unk_10C; + /* 0x110 */ unk32 unk_110; + /* 0x118 */ MsgProc_Base2_unk_114* unk_114; + /* 0x118 */ s32 unk_118; + /* 0x11C */ unk16 unk_11C; + /* 0x11E */ unk8 unk_11E; + /* 0x11F */ unk8 unk_11F; + /* 0x120 */ u8 unk_120; + /* 0x121 */ s8 unk_121; + /* 0x122 */ u8 unk_122; + /* 0x123 */ u8 unk_123; + /* 0x124 */ + + MsgProc_Base2(unk32 param_2, unk32 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~MsgProc_Base2(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ +}; + +// astruct_6 +class MsgProc_Main : public MsgProc_Base2 { +public: + /* 0x124 */ UnkSubClass1_unk_124* unk_124; + /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128; + /* 0x150 */ u8 unk_150[4]; + /* 0x154 */ UnkSubClass1_unk_154* unk_154; + /* 0x158 */ Vec2s unk_158; // textbox position? + /* 0x15C */ s16 unk_15C; + /* 0x15E */ s8 unk_15E; + /* 0x15F */ s8 unk_15F; + /* 0x160 */ unk8 unk_160; + /* 0x160 */ unk8 unk_161; + /* 0x160 */ unk16 unk_162; + /* 0x164 */ + + MsgProc_Main(unk32 param_2, unk16 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~MsgProc_Main(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + static void func_020387e0(u8* param_2); + + unk32 func_02032fb4(void); + unk32 func_020337d8(unk32 param_2); + u16* func_02037604(u16**); + void func_02038b28(void); + void func_02038b40(void); + void func_02039208(unk32 param_2); + unk32 func_02038d10(void); + void func_02038d20(void); + void func_02038f44(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5, unk32 param_6); + unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + void func_020392b4(void); + void func_02039398(void); + void func_020393a8(unk32 param_2); + void func_0203a188(unk32, unk32); + unk32 func_0203a3e0(void); + unk32 func_0203cb5c(unk8, s16); + void func_0203dc10(u8 param_2); + void func_0203dc10(u8 param_2, u8 param_3); + void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk32 func_0203de14(unk32); + void func_0203e090(void); + void func_0203e0f8(void); + void func_0203e1b0(unk32, unk32, unk32); + void func_02039440(unk32, unk32); + + // not sure it belongs to this class: + void func_02032fcc(unk32, unk32); + void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_020331c4(unk32, unk32); + unk32 func_02038cf4(void); + void func_0203947c(void); + unk32 func_0203951c(void); + void func_0203cabc(unk32); + unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); + void func_0203e2ac(unk32* param_2); + void func_0203fc78(unk32*, unk32*); + s16 func_0203d318(s16, s16); + void func_02038ef4(unk32, unk32); +}; + +// does it host both choices? +struct UnknownMsgChoiceStruct { + /* 0x00 */ UnkStruct_0203b264* unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ +}; + +// astruct_2 +class MsgProc_Type1 : public MsgProc_Main { +public: + /* 0x164 */ MsgProc_Type1* unk_164; + /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; + /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; + /* 0x278 */ UnkSubClass1_UnkownClass1 unk_278; + /* 0x300 */ UnkSubClass1_UnkownClass1 unk_300; + /* 0x388 */ UnkSubClass1_UnkownClass1 unk_388; + /* 0x410 */ UnkSubClass1_unk_410 unk_410; + /* 0x414 */ unk32 unk_414; + /* 0x418 */ MsgProc_Main* unk_418; + /* 0x41C */ unk16 unk_41C; + /* 0x41C */ unk16 unk_41E; + /* 0x420 */ unk16 unk_420; + /* 0x420 */ unk16 unk_422; + /* 0x424 */ UnkSubClass1_unk_424 unk_424; + /* 0x428 */ UnknownMsgChoiceStruct unk_428[0x20]; + /* 0x528 */ unk16 unk_528[4]; // number of choices? + /* 0x55C */ unk32 unk_530; + /* 0x55C */ unk16 unk_534; + /* 0x55C */ unk16 unk_536; + /* 0x55C */ unk16 unk_538; + /* 0x55C */ unk16 unk_53A; + /* 0x55C */ unk32 unk_53C; + /* 0x55C */ unk32 unk_540; + /* 0x55C */ unk8 unk_544; + /* 0x55C */ unk8 unk_545; + /* 0x55C */ unk8 unk_546; + /* 0x55C */ unk8 unk_547; + /* 0x55C */ unk16 unk_548; + /* 0x55C */ unk16 unk_54A; + /* 0x55C */ unk16 unk_54C; + /* 0x55C */ unk16 unk_54E; + /* 0x55C */ unk32 unk_550; + /* 0x55C */ unk32 unk_554; + /* 0x55C */ unk8 unk_558; + /* 0x55C */ unk8 unk_559; + /* 0x55C */ unk8 unk_55A; + /* 0x55C */ unk8 unk_55B; + /* 0x55C */ unk32 unk_55C; + /* 0x560 */ unk32 unk_560; + /* 0x564 */ u16 unk_564[4]; + /* 0x56C */ unk16 unk_56C; + /* 0x56E */ unk16 unk_56E; + /* 0x570 */ unk16 unk_570; + /* 0x572 */ u16 unk_572; + /* 0x574 */ s16 unk_574; + /* 0x576 */ unk16 unk_576; + /* 0x578 */ s16 unk_578; + /* 0x57A */ u8 unk_57A; + /* 0x57B */ s8 unk_57B; + /* 0x57C */ u8 unk_57C; + /* 0x57D */ u8 unk_57D; + /* 0x57E */ u8 unk_57E; + /* 0x57F */ u8 unk_57F; + /* 0x580 */ u8 unk_580; + /* 0x581 */ u8 unk_581; + /* 0x582 */ u8 unk_582; + /* 0x583 */ u8 unk_583; + /* 0x584 */ u8 unk_584; + /* 0x585 */ u8 unk_585; + /* 0x586 */ u8 unk_586; + /* 0x586 */ u8 unk_587; + /* 0x588 */ UnkSubClass1_unk_124 unk_588; + /* 0x5B4 */ + + MsgProc_Type1(); + MsgProc_Type1(unk32 param_2, unk16 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~MsgProc_Type1() override; + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + static bool func_0203c25c(class MsgProc_Type1* param_1); + + void func_0203e060(u8 param_2, u8 param_3); + void func_02039a3c(void); + + unk32 func_02038b78(void); + unk32 func_02039250(void); + void func_02039ca8(void); + void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_0203a2c0(void); + unk32 func_0203a30c(void); + void func_0203a35c(void); + bool func_0203a3e0(void); + bool func_0203a6d0(unk32 param_2, unk32 param_3); + bool func_0203b0bc(void); + unk32 func_0203b0ec(unk32 param_2); + void func_0203b764(void); + void func_0203bd8c(u16 param_2); + void func_0203be08(void); + void func_0203be64(void); + unk32 func_0203c084(void); + bool func_0203c13c(void); + unk32 func_0203c1a0(void); + + unk32 func_02038cb8(unk32 param_2); +}; + +class MsgProc_Type3 : public MsgProc_Main { +public: + /* 0x164 */ unk16 unk_164; + /* 0x166 */ unk16 unk_166; + /* 0x168 */ unk16 unk_168; + /* 0x16A */ unk16 unk_16A; + /* 0x16C */ unk16 unk_16C; + /* 0x16E */ unk16 unk_16E; + /* 0x170 */ unk16 unk_170; + /* 0x172 */ unk16 unk_172; + /* 0x174 */ unk16 unk_174; + /* 0x178 */ unk32 unk_178; + /* 0x17C */ unk32 unk_17C; + /* 0x180 */ UnkClass_func_ov000_020d0644 unk_180[4]; + /* 0x1C0 */ + + MsgProc_Type3(); + MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~MsgProc_Type3(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + static void func_0203c83c(void); +}; + +class MsgProc_Type2 : public MsgProc_Main { +public: + /* 0x164 */ unk16 unk_164; + /* 0x164 */ unk16 unk_166; + /* 0x164 */ unk16 unk_168; + /* 0x164 */ unk16 unk_16A; + /* 0x164 */ unk16 unk_16C; + /* 0x164 */ unk16 unk_16E; + /* 0x170 */ + + MsgProc_Type2(); + MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~MsgProc_Type2(); + /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x24 */ /* astruct_8::vfunc_24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; + /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; + /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; + /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; + /* 0x3C */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; + /* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; + /* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override; + /* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override; + /* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + //! TODO: vfunc_4C? + void func_0203c39c(unk32 param_2, unk32 param_3); + + void func_0203c4ac(unk32, unk32); +}; + +// TEMPORARY + +extern "C" u32 func_01ff9b4c(unk32, unk32); +extern "C" unk32 func_0203c084(void); +extern "C" void func_ov018_02169634(MsgProc_Type1*); +extern "C" unk32 func_ov000_02079e04(void); +extern "C" unk32 func_02016fcc(unk32); +extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); +extern "C" unk32 func_0202d5b4(char*, char*, unk32, unk32, unk32); +extern unk32 data_020691a0; +extern unk32* data_02068894; +extern unk32 data_02056af0; +extern unk32* data_02056a00; +extern char* data_02057f08; // "MSP" +extern char* data_02057eec; // "Menu/UI_main/opening.bin" +extern char* data_02057ed8; // "MSP:opening.nclr" + +struct Struct_027e0db0 { + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; +}; +extern Struct_027e0db0 data_027e0db0; + +// see Actor.cpp +struct UnkStruct2 { + /* 0 */ u32 mUnk_0; + /* 4 */ u32 mUnk_4; + /* 8 */ +}; +extern UnkStruct2 data_027e077c; +extern u8 data_02056be4[]; +extern u8 data_027e0618[]; + +class UnkClass_027e0cbc { +public: + unk32 func_0203d7e0(unk32); + unk32 func_0203d77c(unk32, s32, s32); +}; +extern UnkClass_027e0cbc data_027e0cbc; +extern unk16 data_02056a10[]; +extern unk16 data_02056a16[]; +extern unk32 data_02056a04[]; +extern unk32 data_027e0c38[]; +extern "C" void func_0203489c(unk32, unk16, unk32*, unk32*); +extern "C" void func_020347b0(unk32, unk16, unk32*, unk32*, unk32, unk32); +extern THUMB unk32 func_0202ab48(void); +extern "C" void func_02034984(unk32, u8, unk32, unk32); +extern "C" void func_02034698(unk32, unk32, unk32*, unk32*); +extern struct TouchControl data_027e0d78; + +class UnkClass_027e0e28 { +public: + unk32 func_ov000_0207bc48(); +}; +extern UnkClass_027e0e28* data_027e0e28; +extern u8 data_027e0c54; +extern unk32* data_ov009_0211f5b4; +extern "C" unk32 func_ov003_020f3f94(unk32*); +extern unk32* data_02057ed4; + +// see Actor.cpp +typedef struct UnkStruct_01ffbe34 { + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk8 mUnk_08; + /* 09 */ unk8 mUnk_09; + /* 0a */ unk8 mUnk_0a; + /* 0b */ unk8 mUnk_0b; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk8 mUnk_14; + /* 15 */ unk8 mUnk_15; + /* 16 */ unk16 mUnk_16; + /* 18 */ unk32 mUnk_18; + /* 1c */ unk32 mUnk_1c; + /* 20 */ +} UnkStruct_01ffbe34; +extern "C" void func_01ffbe34(UnkStruct_01ffbe34 *param1); + +struct UnkClass_027e1054_unk_00_unk00 { + /* 0x00 */ u8 unk_00[0x95]; + /* 0x95 */ u8 unk_95; +}; +struct UnkClass_027e1054_unk_00 { + /* 0x00 */ unk32 unk_04; + /* 0x00 */ UnkClass_027e1054_unk_00_unk00* unk_00; +}; +class UnkClass_027e1054 { +public: + UnkClass_027e1054_unk_00* unk_00; + unk32 unk_04; + + void func_ov003_020f4874(void); + void func_ov003_020f4760(u8, unk32); +}; +extern UnkClass_027e1054 data_027e1054; + +class UnkClass_ov000_020eec9c { +public: + void func_ov000_020d77e4(unk32); + unk32 func_ov000_020d7f18(unk32); +}; +extern UnkClass_ov000_020eec9c data_ov000_020eec9c; + +class UnkClass_ov000_027e0d04 { +public: + /* 0x00 */ unk16 unk_00; + + void func_0203fe60(unk32); +}; +extern UnkClass_ov000_027e0d04 data_027e0d04; + +class UnkClass_data_027e0f7c { +public: + u8* func_ov000_0209d90c(s8, s8); +}; +extern UnkClass_data_027e0f7c data_027e0f7c; diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp deleted file mode 100644 index 3a442151..00000000 --- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp +++ /dev/null @@ -1,837 +0,0 @@ -#pragma once - -#include "System/SysNew.hpp" -#include "Message/BMG.hpp" -#include "Unknown/func_ov000_020d0644.hpp" -#include "lib/math.h" - -// temp -#define UNK_TYPE void - -#define ESCAPE_SEQUENCE_MARKER '\x1A' - -struct func_0203b410_param_2 { - unk32 unk_00; - unk32 unk_04; - unk32 unk_08; - unk32 unk_0C; - unk16 unk_10; - unk16 unk_12; -}; - -typedef struct UnkStruct_0203b264 { - /* 0 */ u8 mUnk_0[0x4]; - /* 4 */ u16 *mUnk_4; - /* 8 */ -} UnkStruct_0203b264; - -typedef struct UnkSubClass1_unk_154 { - u8 unk_00; - u8 unk_01; - u8 unk_02; - u8 unk_03; - u8 unk_04; - u8 unk_05; - u8 unk_06; -} UnkSubClass1_unk_154; - -typedef u32 (*UnkCallback1)(void); - -// astruct_11 -class UnkSubClass1_UnkownClass1_Sub1 { -public: - /* 0x00 */ unk16 unk_00; - /* 0x02 */ unk16 unk_02; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ - - UnkSubClass1_UnkownClass1_Sub1(); -}; - -// astruct_10 -class UnkSubClass1_UnkownClass1 { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk16 unk_04; - /* 0x06 */ unk16 unk_06; - /* 0x08 */ u32* unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ u32* unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ unk32 unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ u32* unk_34; - /* 0x38 */ u32* unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ unk32 unk_48; - /* 0x4C */ unk32 unk_4C; - /* 0x50 */ unk32 unk_50; - /* 0x54 */ unk32 unk_54; - /* 0x58 */ unk32 unk_58; - /* 0x5C */ UnkSubClass1_UnkownClass1_Sub1 unk_5C; - /* 0x74 */ u32* unk_74; - /* 0x78 */ u32* unk_78; - /* 0x7C */ unk32 unk_7C; - /* 0x80 */ unk16 unk_80; - /* 0x80 */ unk16 unk_82; - /* 0x84 */ unk16 unk_84; - /* 0x84 */ unk8 unk_86; - /* 0x84 */ unk8 unk_87; - /* 0x88 */ - - /* 0x00 */ virtual unk16 func_020351a8(void); - /* 0x04 */ virtual unk16 func_020351b0(void); - /* 0x08 */ - - UnkSubClass1_UnkownClass1(); - ~UnkSubClass1_UnkownClass1(); - void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); - void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); - void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); - void func_0203516c(void); - void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - void func_020352d8(void); -}; - -class UnkSubClass1_UnkownClass2_Base1 { -public: - /* 0x00 (vtable) */ - /* 0x04 */ u16* unk_00; // pointer to the current position in the message to display - /* 0x08 */ unk16 unk_08; - /* 0x0A */ unk16 unk_0A; - /* 0x0C */ unk16 unk_0C; - /* 0x0E */ unk16 unk_0E; - /* 0x10 */ unk32 unk_10; - - UnkSubClass1_UnkownClass2_Base1(); - /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2_Base1() override; - /* 0x08 */ -}; - -typedef bool (*UnknownCallback)(class MsgProc_Type1*); - -class UnkSubClass1_UnkownClass2 : public UnkSubClass1_UnkownClass2_Base1 { -public: - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ UnknownCallback unk_1C; - /* 0x20 */ class MsgProc_Type1* unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x2C */ - - UnkSubClass1_UnkownClass2(); - /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2() override; - /* 0x08 */ -}; - -class UnkSubClass1_unk_410 { -public: - /* 0x00 */ struct MsgProc_Type1* unk_00; - /* 0x04 */ - - void func_0203ec34(void); - void func_0203ebe0(void); - void func_0203ebf8(void); - void func_0203ec4c(UnkStruct_0203b264* param_2, unk32 param_3, s32 param_4, s32 param_5); -}; - -// same as UnkSubClass1_unk_410? -class UnkSubClass1_unk_424 { -public: - /* 0x00 */ struct MsgProc_Type1* unk_00; - /* 0x04 */ - - void func_0203ee80(unk32); - void func_0203ef78(unk16, u16, unk8); - void func_0203ef78(unk16); // overload? - void func_0203ee48(void); - UnkStruct_0203b264* func_0203eeb0(unk32 param_2, unk32 param_3); -}; - -class UnkSubClass1_unk_124 { -public: - /* 0x00 */ void* unk_00; // pointer to MsgProc_Main (well, the first members of the base class) - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk8 unk_28; - /* 0x29 */ unk8 unk_29; - /* 0x2A */ unk8 unk_2A; - /* 0x2B */ unk8 unk_2B; - /* 0x2C */ - - void func_0203f020(unk32, unk32); -}; - -class UnkSubClass1_02256FF8 { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ u8 unk_1C; - /* 0x20 */ - - UnkSubClass1_02256FF8(); - /* 0x00 */ virtual ~UnkSubClass1_02256FF8() override; - /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE) override; - /* 0x0C */ virtual UNK_TYPE vfunc_0C(UNK_TYPE) override; - /* 0x10 */ virtual UNK_TYPE vfunc_10(UNK_TYPE) override; - /* 0x14 */ virtual UNK_TYPE vfunc_14(UNK_TYPE) override; - /* 0x18 */ virtual UNK_TYPE vfunc_18(UNK_TYPE) override; - /* 0x1C */ virtual UNK_TYPE vfunc_1C(UNK_TYPE) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual UNK_TYPE vfunc_28(UNK_TYPE) override; - /* 0x2C */ virtual UNK_TYPE vfunc_2C(UNK_TYPE) override; - /* 0x30 */ virtual UNK_TYPE vfunc_30(UNK_TYPE) override; - /* 0x34 */ virtual UNK_TYPE vfunc_34(UNK_TYPE) override; - /* 0x38 */ virtual UNK_TYPE vfunc_38(UNK_TYPE) override; - /* 0x3C */ -}; - -// astruct_8? -class MsgProc_Base : public SysObject { -public: - /* 0x000 (vtable) */ - /* 0x004 */ unk32* unk_04; - /* 0x008 */ UnkSubClass1_02256FF8* unk_08; - /* 0x00C */ unk32* unk_0C; - /* 0x010 */ unk32 unk_10; - /* 0x014 */ s32 unk_14; - /* 0x018 */ s32 unk_18; - /* 0x01C */ unk32 unk_1C; - /* 0x020 */ unk32 unk_20; - /* 0x024 */ unk32* unk_24; - /* 0x028 */ unk32* unk_28; - /* 0x02C */ u32* unk_2C; - /* 0x030 */ unk32 unk_30; - /* 0x034 */ unk32 unk_34; - /* 0x038 */ unk32 unk_38; - /* 0x03C */ unk16 unk_3C; - /* 0x03E */ unk16 unk_3E; - /* 0x040 */ unk32 unk_40; - /* 0x044 */ unk32 unk_44; - /* 0x048 */ u8 unk_48; - /* 0x049 */ u8 unk_49; - /* 0x04A */ unk16 unk_4A; - /* 0x04C */ unk8 unk_4C; - /* 0x04C */ unk8 unk_4D; - /* 0x04C */ unk8 unk_4E; - /* 0x04C */ unk8 unk_4F; - /* 0x050 */ u8 unk_50; - /* 0x051 */ unk8 unk_51; - /* 0x052 */ - - MsgProc_Base(); - /* 0x00*/ virtual ~MsgProc_Base(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); - /* 0x28 */ virtual bool vfunc_28(void); - /* 0x2C */ virtual void vfunc_2C(void); - /* 0x30 */ virtual void vfunc_30(void); - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); - /* 0x38 */ virtual bool vfunc_38(void); - /* 0x3C */ virtual void vfunc_3C(unk32 param_2); - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); - /* 0x48 */ virtual void vfunc_48(void); - /* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); - /* 0x54 */ virtual void vfunc_54(void); - /* 0x58 */ virtual void vfunc_58(void); - /* 0x5C */ virtual void vfunc_5C(void); - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); - /* 0x64 */ virtual void vfunc_64(unk32 param_2); - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); - /* 0x74 */ - - unk32 func_02032fa4(void); -}; - -class MsgProc_Base2_unk_114 : public SysObject { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32* unk_04; - /* 0x08 */ - - MsgProc_Base2_unk_114(); - /* 0x00 */ virtual ~MsgProc_Base2_unk_114() override; - /* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE); - /* 0x08 */ virtual unk32 vfunc_08(void*, s16); - /* 0x0C */ - - unk32 func_0203d1b4(void); -}; - -// astruct_7 -class MsgProc_Base2 : public MsgProc_Base { -public: - /* 0x052 */ unk16 unk_52; - /* 0x054 */ unk16 unk_54; - /* 0x054 */ unk16 unk_56; - /* 0x058 */ unk32 unk_58; - /* 0x05C */ s16 unk_5C; - /* 0x05E */ s16 unk_5E; - /* 0x060 */ unk32 unk_60; - /* 0x064 */ unk32 unk_64; - /* 0x068 */ unk32 unk_68; - /* 0x06C */ unk32 unk_6C; - /* 0x070 */ unk32 unk_70; - /* 0x074 */ unk32 unk_74; - /* 0x078 */ unk32 unk_78; - /* 0x07C */ unk32 unk_7C; - /* 0x080 */ unk32 unk_80; - /* 0x084 */ unk32 unk_84; - /* 0x088 */ unk32 unk_88; - /* 0x08C */ unk32 unk_8C; - /* 0x090 */ unk32 unk_90; - /* 0x094 */ unk32 unk_94; - /* 0x098 */ unk32 unk_98; - /* 0x09C */ unk32 unk_9C; - /* 0x0A0 */ unk32 unk_A0; - /* 0x0A4 */ unk32 unk_A4; - /* 0x0A8 */ unk32 unk_A8; - /* 0x0AC */ unk32 unk_AC; - /* 0x0B0 */ unk32 unk_B0; - /* 0x0B4 */ unk32 unk_B4; - /* 0x0B8 */ unk32 unk_B8; - /* 0x0BC */ unk32 unk_BC; - /* 0x0C0 */ unk32 unk_C0; - /* 0x0C4 */ unk32 unk_C4; - /* 0x0C8 */ unk32 unk_C8; - /* 0x0CC */ unk32 unk_CC; - /* 0x0D0 */ unk32 unk_D0; - /* 0x0D4 */ unk32 unk_D4; - /* 0x0D8 */ unk32 unk_D8; - /* 0x0DC */ unk32 unk_DC; - /* 0x0E0 */ unk32 unk_E0; - /* 0x0E4 */ unk32 unk_E4; - /* 0x0E8 */ unk32 unk_E8; - /* 0x0EC */ unk32 unk_EC; - /* 0x0F0 */ unk32 unk_F0; - /* 0x0F4 */ unk32 unk_F4; - /* 0x0F8 */ unk32 unk_F8; - /* 0x0FC */ unk32 unk_FC; - /* 0x100 */ unk32 unk_100; - /* 0x104 */ unk32 unk_104; - /* 0x108 */ unk8 unk_108; - /* 0x108 */ unk8 unk_109; - /* 0x108 */ unk8 unk_10A; - /* 0x108 */ unk8 unk_10B; - /* 0x10C */ unk32 unk_10C; - /* 0x110 */ unk32 unk_110; - /* 0x118 */ MsgProc_Base2_unk_114* unk_114; - /* 0x118 */ s32 unk_118; - /* 0x11C */ unk16 unk_11C; - /* 0x11E */ unk8 unk_11E; - /* 0x11F */ unk8 unk_11F; - /* 0x120 */ u8 unk_120; - /* 0x121 */ s8 unk_121; - /* 0x122 */ u8 unk_122; - /* 0x123 */ u8 unk_123; - /* 0x124 */ - - MsgProc_Base2(unk32 param_2, unk32 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Base2(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ -}; - -// astruct_6 -class MsgProc_Main : public MsgProc_Base2 { -public: - /* 0x124 */ UnkSubClass1_unk_124* unk_124; - /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128; - /* 0x150 */ u8 unk_150[4]; - /* 0x154 */ UnkSubClass1_unk_154* unk_154; - /* 0x158 */ Vec2s unk_158; // textbox position? - /* 0x15C */ s16 unk_15C; - /* 0x15E */ s8 unk_15E; - /* 0x15F */ s8 unk_15F; - /* 0x160 */ unk8 unk_160; - /* 0x160 */ unk8 unk_161; - /* 0x160 */ unk16 unk_162; - /* 0x164 */ - - MsgProc_Main(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Main(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - static void func_020387e0(u8* param_2); - - unk32 func_02032fb4(void); - unk32 func_020337d8(unk32 param_2); - u16* func_02037604(u16**); - void func_02038b28(void); - void func_02038b40(void); - void func_02039208(unk32 param_2); - unk32 func_02038d10(void); - void func_02038d20(void); - void func_02038f44(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5, unk32 param_6); - unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - void func_020392b4(void); - void func_02039398(void); - void func_020393a8(unk32 param_2); - void func_0203a188(unk32, unk32); - unk32 func_0203a3e0(void); - unk32 func_0203cb5c(unk8, s16); - void func_0203dc10(u8 param_2); - void func_0203dc10(u8 param_2, u8 param_3); - void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - unk32 func_0203de14(unk32); - void func_0203e090(void); - void func_0203e0f8(void); - void func_0203e1b0(unk32, unk32, unk32); - void func_02039440(unk32, unk32); - - // not sure it belongs to this class: - void func_02032fcc(unk32, unk32); - void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - void func_020331c4(unk32, unk32); - unk32 func_02038cf4(void); - void func_0203947c(void); - unk32 func_0203951c(void); - void func_0203cabc(unk32); - unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); - void func_0203e2ac(unk32* param_2); - void func_0203fc78(unk32*, unk32*); - s16 func_0203d318(s16, s16); - void func_02038ef4(unk32, unk32); -}; - -// does it host both choices? -struct UnknownMsgChoiceStruct { - /* 0x00 */ UnkStruct_0203b264* unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ -}; - -// astruct_2 -class MsgProc_Type1 : public MsgProc_Main { -public: - /* 0x164 */ MsgProc_Type1* unk_164; - /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; - /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; - /* 0x278 */ UnkSubClass1_UnkownClass1 unk_278; - /* 0x300 */ UnkSubClass1_UnkownClass1 unk_300; - /* 0x388 */ UnkSubClass1_UnkownClass1 unk_388; - /* 0x410 */ UnkSubClass1_unk_410 unk_410; - /* 0x414 */ unk32 unk_414; - /* 0x418 */ MsgProc_Main* unk_418; - /* 0x41C */ unk16 unk_41C; - /* 0x41C */ unk16 unk_41E; - /* 0x420 */ unk16 unk_420; - /* 0x420 */ unk16 unk_422; - /* 0x424 */ UnkSubClass1_unk_424 unk_424; - /* 0x428 */ UnknownMsgChoiceStruct unk_428[0x20]; - /* 0x528 */ unk16 unk_528[4]; // number of choices? - /* 0x55C */ unk32 unk_530; - /* 0x55C */ unk16 unk_534; - /* 0x55C */ unk16 unk_536; - /* 0x55C */ unk16 unk_538; - /* 0x55C */ unk16 unk_53A; - /* 0x55C */ unk32 unk_53C; - /* 0x55C */ unk32 unk_540; - /* 0x55C */ unk8 unk_544; - /* 0x55C */ unk8 unk_545; - /* 0x55C */ unk8 unk_546; - /* 0x55C */ unk8 unk_547; - /* 0x55C */ unk16 unk_548; - /* 0x55C */ unk16 unk_54A; - /* 0x55C */ unk16 unk_54C; - /* 0x55C */ unk16 unk_54E; - /* 0x55C */ unk32 unk_550; - /* 0x55C */ unk32 unk_554; - /* 0x55C */ unk8 unk_558; - /* 0x55C */ unk8 unk_559; - /* 0x55C */ unk8 unk_55A; - /* 0x55C */ unk8 unk_55B; - /* 0x55C */ unk32 unk_55C; - /* 0x560 */ unk32 unk_560; - /* 0x564 */ u16 unk_564[4]; - /* 0x56C */ unk16 unk_56C; - /* 0x56E */ unk16 unk_56E; - /* 0x570 */ unk16 unk_570; - /* 0x572 */ u16 unk_572; - /* 0x574 */ s16 unk_574; - /* 0x576 */ unk16 unk_576; - /* 0x578 */ s16 unk_578; - /* 0x57A */ u8 unk_57A; - /* 0x57B */ s8 unk_57B; - /* 0x57C */ u8 unk_57C; - /* 0x57D */ u8 unk_57D; - /* 0x57E */ u8 unk_57E; - /* 0x57F */ u8 unk_57F; - /* 0x580 */ u8 unk_580; - /* 0x581 */ u8 unk_581; - /* 0x582 */ u8 unk_582; - /* 0x583 */ u8 unk_583; - /* 0x584 */ u8 unk_584; - /* 0x585 */ u8 unk_585; - /* 0x586 */ u8 unk_586; - /* 0x586 */ u8 unk_587; - /* 0x588 */ UnkSubClass1_unk_124 unk_588; - /* 0x5B4 */ - - MsgProc_Type1(); - MsgProc_Type1(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type1() override; - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - static bool func_0203c25c(class MsgProc_Type1* param_1); - - void func_0203e060(u8 param_2, u8 param_3); - void func_02039a3c(void); - - unk32 func_02038b78(void); - unk32 func_02039250(void); - void func_02039ca8(void); - void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); - bool func_0203a2c0(void); - unk32 func_0203a30c(void); - void func_0203a35c(void); - bool func_0203a3e0(void); - bool func_0203a6d0(unk32 param_2, unk32 param_3); - bool func_0203b0bc(void); - unk32 func_0203b0ec(unk32 param_2); - void func_0203b764(void); - void func_0203bd8c(u16 param_2); - void func_0203be08(void); - void func_0203be64(void); - unk32 func_0203c084(void); - bool func_0203c13c(void); - unk32 func_0203c1a0(void); - - unk32 func_02038cb8(unk32 param_2); -}; - -class MsgProc_Type3 : public MsgProc_Main { -public: - /* 0x164 */ unk16 unk_164; - /* 0x166 */ unk16 unk_166; - /* 0x168 */ unk16 unk_168; - /* 0x16A */ unk16 unk_16A; - /* 0x16C */ unk16 unk_16C; - /* 0x16E */ unk16 unk_16E; - /* 0x170 */ unk16 unk_170; - /* 0x172 */ unk16 unk_172; - /* 0x174 */ unk16 unk_174; - /* 0x178 */ unk32 unk_178; - /* 0x17C */ unk32 unk_17C; - /* 0x180 */ UnkClass_func_ov000_020d0644 unk_180[4]; - /* 0x1C0 */ - - MsgProc_Type3(); - MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type3(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - static void func_0203c83c(void); -}; - -class MsgProc_Type2 : public MsgProc_Main { -public: - /* 0x164 */ unk16 unk_164; - /* 0x164 */ unk16 unk_166; - /* 0x164 */ unk16 unk_168; - /* 0x164 */ unk16 unk_16A; - /* 0x164 */ unk16 unk_16C; - /* 0x164 */ unk16 unk_16E; - /* 0x170 */ - - MsgProc_Type2(); - MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type2(); - /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ /* astruct_8::vfunc_24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; - /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; - /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; - /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; - /* 0x3C */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; - /* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; - /* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; - /* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override; - /* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override; - /* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(unk32 param_2) override; - /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - //! TODO: vfunc_4C? - void func_0203c39c(unk32 param_2, unk32 param_3); - - void func_0203c4ac(unk32, unk32); -}; - -// TEMPORARY - -extern "C" u32 func_01ff9b4c(unk32, unk32); -extern "C" unk32 func_0203c084(void); -extern "C" void func_ov018_02169634(MsgProc_Type1*); -extern "C" unk32 func_ov000_02079e04(void); -extern "C" unk32 func_02016fcc(unk32); -extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); -extern "C" unk32 func_0202d5b4(char*, char*, unk32, unk32, unk32); -extern unk32 data_020691a0; -extern unk32* data_02068894; -extern unk32 data_02056af0; -extern unk32* data_02056a00; -extern char* data_02057f08; // "MSP" -extern char* data_02057eec; // "Menu/UI_main/opening.bin" -extern char* data_02057ed8; // "MSP:opening.nclr" - -struct Struct_027e0db0 { - /* 0x00 */ unk32 unk_00; - /* 0x04 */ unk32 unk_04; -}; -extern Struct_027e0db0 data_027e0db0; - -// see Actor.cpp -struct UnkStruct2 { - /* 0 */ u32 mUnk_0; - /* 4 */ u32 mUnk_4; - /* 8 */ -}; -extern UnkStruct2 data_027e077c; -extern u8 data_02056be4[]; -extern u8 data_027e0618[]; - -class UnkClass_027e0cbc { -public: - unk32 func_0203d7e0(unk32); - unk32 func_0203d77c(unk32, s32, s32); -}; -extern UnkClass_027e0cbc data_027e0cbc; -extern unk16 data_02056a10[]; -extern unk16 data_02056a16[]; -extern unk32 data_02056a04[]; -extern unk32 data_027e0c38[]; -extern "C" void func_0203489c(unk32, unk16, unk32*, unk32*); -extern "C" void func_020347b0(unk32, unk16, unk32*, unk32*, unk32, unk32); -extern THUMB unk32 func_0202ab48(void); -extern "C" void func_02034984(unk32, u8, unk32, unk32); -extern "C" void func_02034698(unk32, unk32, unk32*, unk32*); -extern struct TouchControl data_027e0d78; - -class UnkClass_027e0e28 { -public: - unk32 func_ov000_0207bc48(); -}; -extern UnkClass_027e0e28* data_027e0e28; -extern u8 data_027e0c54; -extern unk32* data_ov009_0211f5b4; -extern "C" unk32 func_ov003_020f3f94(unk32*); -extern unk32* data_02057ed4; - -// see Actor.cpp -typedef struct UnkStruct_01ffbe34 { - /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk8 mUnk_08; - /* 09 */ unk8 mUnk_09; - /* 0a */ unk8 mUnk_0a; - /* 0b */ unk8 mUnk_0b; - /* 0c */ unk32 mUnk_0c; - /* 10 */ unk32 mUnk_10; - /* 14 */ unk8 mUnk_14; - /* 15 */ unk8 mUnk_15; - /* 16 */ unk16 mUnk_16; - /* 18 */ unk32 mUnk_18; - /* 1c */ unk32 mUnk_1c; - /* 20 */ -} UnkStruct_01ffbe34; -extern "C" void func_01ffbe34(UnkStruct_01ffbe34 *param1); - -struct UnkClass_027e1054_unk_00_unk00 { - /* 0x00 */ u8 unk_00[0x95]; - /* 0x95 */ u8 unk_95; -}; -struct UnkClass_027e1054_unk_00 { - /* 0x00 */ unk32 unk_04; - /* 0x00 */ UnkClass_027e1054_unk_00_unk00* unk_00; -}; -class UnkClass_027e1054 { -public: - UnkClass_027e1054_unk_00* unk_00; - unk32 unk_04; - - void func_ov003_020f4874(void); - void func_ov003_020f4760(u8, unk32); -}; -extern UnkClass_027e1054 data_027e1054; - -class UnkClass_ov000_020eec9c { -public: - void func_ov000_020d77e4(unk32); - unk32 func_ov000_020d7f18(unk32); -}; -extern UnkClass_ov000_020eec9c data_ov000_020eec9c; - -class UnkClass_ov000_027e0d04 { -public: - /* 0x00 */ unk16 unk_00; - - void func_0203fe60(unk32); -}; -extern UnkClass_ov000_027e0d04 data_027e0d04; - -class UnkClass_data_027e0f7c { -public: - u8* func_ov000_0209d90c(s8, s8); -}; -extern UnkClass_data_027e0f7c data_027e0f7c; -- cgit v1.2.3 From 808b6f311c65903c5efbb80e8dd6eec8881099bc Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Fri, 31 Jan 2025 02:01:55 +0100 Subject: more progress --- include/DTCM/UnkStruct_027e103c.hpp | 1 + include/Message/BMG.hpp | 5 +- include/Message/MsgProc.hpp | 103 ++++++++++++++++++++++-------------- 3 files changed, 68 insertions(+), 41 deletions(-) (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index 5a8199ed..b1f5792f 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -35,6 +35,7 @@ struct UnkStruct_027e103c { void func_ov005_02104028(unk32); void func_ov000_020cfb58(u8*); unk32 func_ov000_020cf8fc(unk32); + void func_ov000_020cfc9c(unk32, unk32); //! TODO: find out if the type is always `MsgProc_Type1*` void func_ov000_020cfb20(void*); diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 9a163559..ca855f52 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -80,7 +80,10 @@ typedef struct BMGHeader { typedef struct EntryINF1 { /* 0x00 */ u32 offset; // relative to the end of the DAT1 header - /* 0x04 */ u32 unk_04; // flags/attributes? + /* 0x04 */ u8 unk_04; // flags/attributes? (+0x04 to +0x06) + /* 0x05 */ u8 unk_05; + /* 0x06 */ u8 unk_06; + /* 0x07 */ u8 unk_07; } EntryINF1; // size = 0x8 typedef struct SectionINF1 { diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 3a442151..6636e984 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -9,6 +9,7 @@ #define UNK_TYPE void #define ESCAPE_SEQUENCE_MARKER '\x1A' +#define CHECK_UNK_FLAGS(val) (((data_02056be4[data_027e077c.mUnk_0] & (val)) != 0)) struct func_0203b410_param_2 { unk32 unk_00; @@ -25,16 +26,6 @@ typedef struct UnkStruct_0203b264 { /* 8 */ } UnkStruct_0203b264; -typedef struct UnkSubClass1_unk_154 { - u8 unk_00; - u8 unk_01; - u8 unk_02; - u8 unk_03; - u8 unk_04; - u8 unk_05; - u8 unk_06; -} UnkSubClass1_unk_154; - typedef u32 (*UnkCallback1)(void); // astruct_11 @@ -133,6 +124,8 @@ public: UnkSubClass1_UnkownClass2(); /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2() override; /* 0x08 */ + + void func_02038858(unk32); }; class UnkSubClass1_unk_410 { @@ -177,7 +170,7 @@ public: /* 0x2B */ unk8 unk_2B; /* 0x2C */ - void func_0203f020(unk32, unk32); + void func_0203f020(s16*, unk32); }; class UnkSubClass1_02256FF8 { @@ -210,6 +203,17 @@ public: /* 0x3C */ }; +struct UnkStruct_MsgProc_Base_unk_2C_2 { + /* 0x00 */ unk32 unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x00 */ u8* unk_08; + /* 0x04 */ +}; +struct UnkStruct_MsgProc_Base_unk_2C { + /* 0x08 */ UnkStruct_MsgProc_Base_unk_2C_2* unk_00; + /* 0x0C */ +}; + // astruct_8? class MsgProc_Base : public SysObject { public: @@ -224,7 +228,7 @@ public: /* 0x020 */ unk32 unk_20; /* 0x024 */ unk32* unk_24; /* 0x028 */ unk32* unk_28; - /* 0x02C */ u32* unk_2C; + /* 0x02C */ UnkStruct_MsgProc_Base_unk_2C* unk_2C; /* 0x030 */ unk32 unk_30; /* 0x034 */ unk32 unk_34; /* 0x038 */ unk32 unk_38; @@ -250,7 +254,7 @@ public: /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); /* 0x28 */ virtual bool vfunc_28(void); @@ -263,18 +267,20 @@ public: /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); /* 0x48 */ virtual void vfunc_48(void); /* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5); + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5); /* 0x54 */ virtual void vfunc_54(void); /* 0x58 */ virtual void vfunc_58(void); /* 0x5C */ virtual void vfunc_5C(void); /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); - /* 0x64 */ virtual void vfunc_64(unk32 param_2); + /* 0x64 */ virtual void vfunc_64(s16* param_2); /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); /* 0x74 */ unk32 func_02032fa4(void); + unk32 func_02033360(void); + unk32 func_020337d8(unk32 param_2); }; class MsgProc_Base2_unk_114 : public SysObject { @@ -368,7 +374,7 @@ public: /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; /* 0x28 */ virtual bool vfunc_28(void) override; @@ -381,25 +387,38 @@ public: /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ virtual void vfunc_48(void) override; /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; /* 0x54 */ virtual void vfunc_54(void) override; /* 0x58 */ virtual void vfunc_58(void) override; /* 0x5C */ virtual void vfunc_5C(void) override; /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x64 */ virtual void vfunc_64(s16* param_2) override; /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ }; +struct func_02038f44_param4 { + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + unk32 unk_04; + unk32 unk_08; + unk32 unk_0C; + unk32 unk_10; + unk8 unk_14; + u8 unk_15; +}; + // astruct_6 class MsgProc_Main : public MsgProc_Base2 { public: /* 0x124 */ UnkSubClass1_unk_124* unk_124; /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128; /* 0x150 */ u8 unk_150[4]; - /* 0x154 */ UnkSubClass1_unk_154* unk_154; + /* 0x154 */ EntryINF1* pInfoEntry; /* 0x158 */ Vec2s unk_158; // textbox position? /* 0x15C */ s16 unk_15C; /* 0x15E */ s8 unk_15E; @@ -417,7 +436,7 @@ public: /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; /* 0x28 */ virtual bool vfunc_28(void) override; @@ -430,12 +449,12 @@ public: /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ virtual void vfunc_48(void) override; /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; /* 0x54 */ virtual void vfunc_54(void) override; /* 0x58 */ virtual void vfunc_58(void) override; /* 0x5C */ virtual void vfunc_5C(void) override; /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x64 */ virtual void vfunc_64(s16* param_2) override; /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; @@ -444,18 +463,26 @@ public: static void func_020387e0(u8* param_2); unk32 func_02032fb4(void); - unk32 func_020337d8(unk32 param_2); u16* func_02037604(u16**); + void func_02038b28(void); + void func_02038b34(u8 param_2, u8 param_3); void func_02038b40(void); + void func_02038b74(void); // is this a dtor? + bool func_02038b78(void); + unk32 func_02038cb8(unk32 param_2); + void func_02038ef4(unk32 param_2, unk32 param_3); + void func_02038f40(void); + void func_02038f44(EntryINF1* param_2, u32 param_3, func_02038f44_param4* param_4, UnkSubClass1_02256FF8* param_5, unk32 param_6); + void func_02039058(void); + unk32 func_0203905c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + void func_02039208(unk32 param_2); unk32 func_02038d10(void); void func_02038d20(void); - void func_02038f44(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5, unk32 param_6); - unk32 func_0203905c(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); void func_020392b4(void); void func_02039398(void); - void func_020393a8(unk32 param_2); + void func_020393a8(s16* param_2); void func_0203a188(unk32, unk32); unk32 func_0203a3e0(void); unk32 func_0203cb5c(unk8, s16); @@ -480,7 +507,6 @@ public: void func_0203e2ac(unk32* param_2); void func_0203fc78(unk32*, unk32*); s16 func_0203d318(s16, s16); - void func_02038ef4(unk32, unk32); }; // does it host both choices? @@ -566,7 +592,7 @@ public: /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; /* 0x28 */ virtual bool vfunc_28(void) override; @@ -579,23 +605,22 @@ public: /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ virtual void vfunc_48(void) override; /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; /* 0x54 */ virtual void vfunc_54(void) override; /* 0x58 */ virtual void vfunc_58(void) override; /* 0x5C */ virtual void vfunc_5C(void) override; /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x64 */ virtual void vfunc_64(s16* param_2) override; /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ static bool func_0203c25c(class MsgProc_Type1* param_1); + static void func_0203e060(MsgProc_Main* param_1, u8 param_2, u8 param_3); - void func_0203e060(u8 param_2, u8 param_3); void func_02039a3c(void); - unk32 func_02038b78(void); unk32 func_02039250(void); void func_02039ca8(void); void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); @@ -613,8 +638,6 @@ public: unk32 func_0203c084(void); bool func_0203c13c(void); unk32 func_0203c1a0(void); - - unk32 func_02038cb8(unk32 param_2); }; class MsgProc_Type3 : public MsgProc_Main { @@ -642,7 +665,7 @@ public: /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; /* 0x28 */ virtual bool vfunc_28(void) override; @@ -655,12 +678,12 @@ public: /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ virtual void vfunc_48(void) override; /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; /* 0x54 */ virtual void vfunc_54(void) override; /* 0x58 */ virtual void vfunc_58(void) override; /* 0x5C */ virtual void vfunc_5C(void) override; /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x64 */ virtual void vfunc_64(s16* param_2) override; /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; @@ -688,7 +711,7 @@ public: /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 0x14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ /* astruct_8::vfunc_24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; @@ -701,12 +724,12 @@ public: /* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; /* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override; + /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; /* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; /* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override; /* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override; /* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(unk32 param_2) override; + /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(s16* param_2) override; /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 0x6C */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; -- cgit v1.2.3 From 91b1c854144a8e4b0c7a0e4909e9d05c5794ba2d Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sun, 2 Feb 2025 22:24:35 +0100 Subject: I don't like vfuncs --- include/Message/MsgProc.hpp | 98 ++++++++++++++++++++++++--------------------- 1 file changed, 52 insertions(+), 46 deletions(-) (limited to 'include') diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 6636e984..efb13466 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -214,7 +214,7 @@ struct UnkStruct_MsgProc_Base_unk_2C { /* 0x0C */ }; -// astruct_8? +// astruct_8 class MsgProc_Base : public SysObject { public: /* 0x000 (vtable) */ @@ -248,15 +248,17 @@ public: /* 0x052 */ MsgProc_Base(); - /* 0x00*/ virtual ~MsgProc_Base(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); - /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); + /* 0x00 */ virtual ~MsgProc_Base(); + /* 0x08 */ /* func_02033030 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); + /* 0x0C */ /* func_02033190 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); + /* 0x10 */ /* func_020331c4 */ virtual void vfunc_10(u8 param_2, u8 param_3); + /* 0x14 */ /* func_02032fcc */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); + /* 0x18 */ /* func_020332e4 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); + /* 0x1C */ /* func_02033360 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 0x20 */ /* func_020333e0 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); + /* 0x24 */ /* func_02033af4 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); + + //! TODO: fake? /* 0x28 */ virtual bool vfunc_28(void); /* 0x2C */ virtual void vfunc_2C(void); /* 0x30 */ virtual void vfunc_30(void); @@ -266,7 +268,7 @@ public: /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); /* 0x48 */ virtual void vfunc_48(void); - /* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c? + /* 0x4C */ virtual void vfunc_4C(void); /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5); /* 0x54 */ virtual void vfunc_54(void); /* 0x58 */ virtual void vfunc_58(void); @@ -369,17 +371,19 @@ public: MsgProc_Base2(unk32 param_2, unk32 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~MsgProc_Base2(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x08 */ /* func_0203e2ac */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ /* func_0203dcb4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; + /* 0x2C */ /* func_0203e19c */ virtual void vfunc_2C(void) override; + /* 0x30 */ /* func_0203e090 */ virtual void vfunc_30(void) override; + + //! TODO: fake? /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; /* 0x38 */ virtual bool vfunc_38(void) override; /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; @@ -431,19 +435,21 @@ public: MsgProc_Main(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 0x00 */ virtual ~MsgProc_Main(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; + /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; + /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; + + //! TODO: fake? /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; @@ -589,31 +595,31 @@ public: /* 0x00 */ virtual ~MsgProc_Type1() override; /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + /* 0x18 */ /* func_0203b264 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ /* func_0203b310 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ /* func_0203b814 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x2C */ /* func_02039a5c */ virtual void vfunc_2C(void) override; /* 0x30 */ virtual void vfunc_30(void) override; /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x38 */ /* func_0203c350 */ virtual bool vfunc_38(void) override; + /* 0x3C */ /* func_02039ccc */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ /* func_02039d74 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ /* func_0203a3fc */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ /* func_0203a328 */ virtual void vfunc_48(void) override; + /* 0x4C */ /* func_02039a3c */ virtual void vfunc_4C(void) override; + /* 0x50 */ /* func_0203a7f0 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 0x54 */ /* func_0203a988 */ virtual void vfunc_54(void) override; + /* 0x58 */ /* func_0203af1c */ virtual void vfunc_58(void) override; + /* 0x5C */ /* func_0203aea8 */ virtual void vfunc_5C(void) override; + /* 0x60 */ /* func_0203b410 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ /* func_0203b5d0 */ virtual void vfunc_64(s16* param_2) override; + /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ /* func_0203bdcc */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; /* 0x74 */ static bool func_0203c25c(class MsgProc_Type1* param_1); -- cgit v1.2.3 From 64e8537ba7e4d796079a7bacf23b3f5cdb9a7213 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Mon, 3 Feb 2025 23:59:33 +0100 Subject: today's progress --- include/Message/MsgProc.hpp | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index efb13466..fb167332 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -85,6 +85,8 @@ public: /* 0x04 */ virtual unk16 func_020351b0(void); /* 0x08 */ + static unk32 func_02035428(u8 param_2); + UnkSubClass1_UnkownClass1(); ~UnkSubClass1_UnkownClass1(); void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); @@ -204,13 +206,18 @@ public: }; struct UnkStruct_MsgProc_Base_unk_2C_2 { - /* 0x00 */ unk32 unk_00; + /* 0x00 */ s8 unk_00; + /* 0x00 */ s8 unk_01; + /* 0x00 */ s8 unk_02; + /* 0x00 */ s8 unk_03; /* 0x04 */ unk32 unk_04; /* 0x00 */ u8* unk_08; /* 0x04 */ }; struct UnkStruct_MsgProc_Base_unk_2C { - /* 0x08 */ UnkStruct_MsgProc_Base_unk_2C_2* unk_00; + /* 0x00 */ UnkStruct_MsgProc_Base_unk_2C_2* unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; /* 0x0C */ }; @@ -220,8 +227,8 @@ public: /* 0x000 (vtable) */ /* 0x004 */ unk32* unk_04; /* 0x008 */ UnkSubClass1_02256FF8* unk_08; - /* 0x00C */ unk32* unk_0C; - /* 0x010 */ unk32 unk_10; + /* 0x00C */ unk32 unk_0C; + /* 0x010 */ unk32* unk_10; /* 0x014 */ s32 unk_14; /* 0x018 */ s32 unk_18; /* 0x01C */ unk32 unk_1C; @@ -238,8 +245,8 @@ public: /* 0x044 */ unk32 unk_44; /* 0x048 */ u8 unk_48; /* 0x049 */ u8 unk_49; - /* 0x04A */ unk16 unk_4A; - /* 0x04C */ unk8 unk_4C; + /* 0x04A */ u16 unk_4A; + /* 0x04C */ u8 unk_4C; /* 0x04C */ unk8 unk_4D; /* 0x04C */ unk8 unk_4E; /* 0x04C */ unk8 unk_4F; @@ -252,7 +259,7 @@ public: /* 0x08 */ /* func_02033030 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); /* 0x0C */ /* func_02033190 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); /* 0x10 */ /* func_020331c4 */ virtual void vfunc_10(u8 param_2, u8 param_3); - /* 0x14 */ /* func_02032fcc */ virtual bool vfunc_14(unk32 param_2, unk32 param_3); + /* 0x14 */ /* func_02032fcc */ virtual bool vfunc_14(u16 param_2, u8 param_3); /* 0x18 */ /* func_020332e4 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); /* 0x1C */ /* func_02033360 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); /* 0x20 */ /* func_020333e0 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); @@ -280,7 +287,9 @@ public: /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); /* 0x74 */ + unk32* func_02032f98(unk32 param_2); unk32 func_02032fa4(void); + unk32 func_02032fb4(void); unk32 func_02033360(void); unk32 func_020337d8(unk32 param_2); }; -- cgit v1.2.3 From b072add9515e35d733e089b3b54af910d47d9eb1 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Tue, 4 Feb 2025 20:02:58 +0100 Subject: post-update cleanup: step 1 --- include/Message/MessageManager.hpp | 94 +---- include/Message/MsgProc.hpp | 697 +-------------------------------- include/Unknown/UnkStruct_0202e1a0.hpp | 1 + include/Unknown/UnkStruct_02032f0c.hpp | 108 ++++- include/Unknown/UnkStruct_02035064.hpp | 31 +- include/Unknown/UnkStruct_02037750.hpp | 37 +- include/Unknown/UnkStruct_02038aa0.hpp | 101 ++++- include/Unknown/UnkStruct_020397f8.hpp | 177 ++++++++- include/Unknown/UnkStruct_0203dae0.hpp | 95 ++++- 9 files changed, 510 insertions(+), 831 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index f8098ca0..c5739430 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -6,78 +6,8 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" #include "Message/MsgProc.hpp" -#include "lib/math.h" - -// astruct_14, UnkStruct_02037750 -class UnkStruct_027E0C68_UnkSubClass2_Base1 : public SysObject { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32 unk_04[4]; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ u32 unk_18; - /* 0x1C */ unk8 unk_1C; - /* 0x1D */ u8 unk_1D; - /* 0x1E */ unk16 unk_1E; - /* 0x20 */ - - UnkStruct_027E0C68_UnkSubClass2_Base1(unk32 param_2, unk32 param_3); - - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2_Base1(); - /* 0x08 */ virtual void vfunc_08(u32 param_1); - /* 0x0C */ virtual void vfunc_0C(MsgProc_Type1* param_2); - /* 0x10 */ virtual void vfunc_10(void); - /* 0x14 */ virtual UNK_TYPE vfunc_14(void); - /* 0x18 */ virtual UNK_TYPE vfunc_18(void); - /* 0x1C */ virtual UNK_TYPE vfunc_1C(void); - /* 0x20 */ virtual UNK_TYPE vfunc_20(void); - /* 0x24 */ virtual UNK_TYPE vfunc_24(void); - /* 0x28 */ virtual UNK_TYPE vfunc_28(void); - /* 0x2C */ virtual UNK_TYPE vfunc_2C(void); - /* 0x30 */ virtual UNK_TYPE vfunc_30(void); - /* 0x34 */ -}; - -class UnkStruct_027E0C68_UnkSubClass2_unk_24 { -public: - /* 0x00 */ unk32 unk_00; - /* 0x04 */ - - void func_020376c0(Vec3p param_2); -}; - -// astruct_15, UnkStruct_020386d88 -class UnkStruct_027E0C68_UnkSubClass2 : public UnkStruct_027E0C68_UnkSubClass2_Base1 { -public: - /* 0x20 */ unk8 unk_20; - /* 0x21 */ unk8 unk_21; - /* 0x22 */ unk8 unk_22; - /* 0x23 */ unk8 unk_23; - /* 0x24 */ UnkStruct_027E0C68_UnkSubClass2_unk_24 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ unk32 unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ unk16 unk_34; - /* 0x36 */ unk16 unk_36; - /* 0x38 */ u8 unk_38; - /* 0x39 */ u8 unk_39; - /* 0x3A */ unk16 unk_3A; - /* 0x3C */ - - UnkStruct_027E0C68_UnkSubClass2(); - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2() override; - /* 0x08 */ virtual void vfunc_08(u32 param_1) override; - /* 0x0C */ virtual void vfunc_0C(MsgProc_Type1* param_2) override; - /* 0x10 */ virtual void vfunc_10(void) override; - /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; - /* 0x18 */ virtual UNK_TYPE vfunc_18(void) override; - /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override; - /* 0x28 */ virtual UNK_TYPE vfunc_28(void) override; - /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override; - /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override; - /* 0x34 */ -}; +#include "libs/nds/include/nds/math.h" +#include "Unknown/UnkStruct_02037750.hpp" class UnkStruct_027E0C68 : public SysObject { public: @@ -94,8 +24,8 @@ public: /* 0x10 */ unk16 unk_10; /* 0x10 */ unk16 unk_12; /* 0x14 */ BMGGroups* pGroups; - /* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18[2]; - /* 0x20 */ UnkStruct_027E0C68_UnkSubClass2_Base1* unk_20[2]; + /* 0x18 */ UnkStruct_020386d8* unk_18[2]; + /* 0x20 */ UnkStruct_02037750* unk_20[2]; /* 0x28 */ MsgProc_Main* unk_28[6]; /* 0x40 */ MsgProc_Type1* unk_40[2]; // is array size 6? /* 0x48 */ @@ -107,7 +37,7 @@ public: ~UnkStruct_027E0C68(); MsgProc_Type1* func_020366c4(void); MsgProc_Type1* func_02036700(void); - UnkStruct_027E0C68_UnkSubClass2* func_0203673c(void); + UnkStruct_020386d8* func_0203673c(void); bool func_02036770(u32 param_2); unk32 func_02036798(void); bool func_020367dc(int param_2); @@ -115,21 +45,21 @@ public: bool func_02036808(void); bool func_02036824(void); bool func_02036850(void); - void func_02036888(UnkStruct_027E0C68_UnkSubClass2* param_2); - bool func_020368f4(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); + void func_02036888(UnkStruct_020386d8* param_2); + bool func_020368f4(UnkStruct_02037750* param_2); void func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4); void func_02036bbc(void); void func_02036c50(unk32 param_2); void func_02036ca4(unk32 param_2); - bool func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3); - bool func_02036d30(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); - bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2); + bool func_02036ce4(UnkStruct_020386d8* param_2, unk32 param_3); + bool func_02036d30(UnkStruct_02037750* param_2); + bool func_02036d4c(UnkStruct_02037750* param_2); void func_02036d6c(void); MsgProc_Main* func_02036da8(u32 param_2, s16* param_3); void func_02036edc(u32 param_2, u8 param_3); MsgProc_Type1* func_02036f68(u32 param_2, u8* param_3); - UnkStruct_027E0C68_UnkSubClass2* func_020370d0(unk32 param_2, unk32 param_3); - UnkStruct_027E0C68_UnkSubClass2* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); + UnkStruct_020386d8* func_020370d0(unk32 param_2, unk32 param_3); + UnkStruct_020386d8* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); void func_02037158(UnkSubClass1_02256FF8* param_2); MsgProc_Main* func_02037178(UnkSubClass1_02256FF8* param_2); }; diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index c2e0f68c..50dcbc60 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -3,7 +3,14 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" #include "Unknown/func_ov000_020d0644.hpp" -#include "lib/math.h" +#include "Unknown/UnkStruct_0202e1a0.hpp" +#include "Unknown/UnkStruct_0203dae0.hpp" +#include "Unknown/UnkStruct_02032f0c.hpp" +#include "Unknown/UnkStruct_02038aa0.hpp" +#include "Unknown/UnkStruct_020397f8.hpp" +#include "Unknown/UnkStruct_02035064.hpp" +#include "Unknown/UnkStruct_02037750.hpp" +#include "libs/nds/include/nds/math.h" // temp #define UNK_TYPE void @@ -11,126 +18,12 @@ #define ESCAPE_SEQUENCE_MARKER '\x1A' #define CHECK_UNK_FLAGS(val) (((data_02056be4[data_027e077c.mUnk_0] & (val)) != 0)) -struct func_0203b410_param_2 { - unk32 unk_00; - unk32 unk_04; - unk32 unk_08; - unk32 unk_0C; - unk16 unk_10; - unk16 unk_12; -}; - typedef struct UnkStruct_0203b264 { /* 0 */ u8 mUnk_0[0x4]; /* 4 */ u16 *mUnk_4; /* 8 */ } UnkStruct_0203b264; -typedef u32 (*UnkCallback1)(void); - -// astruct_11, UnkStruct_02035064 -class UnkSubClass1_UnkownClass1_Sub1 { -public: - /* 0x00 */ unk16 unk_00; - /* 0x02 */ unk16 unk_02; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ - - UnkSubClass1_UnkownClass1_Sub1(); -}; - -// astruct_10, UnkStruct_02035064 -class UnkSubClass1_UnkownClass1 { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk16 unk_04; - /* 0x06 */ unk16 unk_06; - /* 0x08 */ u32* unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ u32* unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ unk32 unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ u32* unk_34; - /* 0x38 */ u32* unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ unk32 unk_48; - /* 0x4C */ unk32 unk_4C; - /* 0x50 */ unk32 unk_50; - /* 0x54 */ unk32 unk_54; - /* 0x58 */ unk32 unk_58; - /* 0x5C */ UnkSubClass1_UnkownClass1_Sub1 unk_5C; - /* 0x74 */ u32* unk_74; - /* 0x78 */ u32* unk_78; - /* 0x7C */ unk32 unk_7C; - /* 0x80 */ unk16 unk_80; - /* 0x80 */ unk16 unk_82; - /* 0x84 */ unk16 unk_84; - /* 0x84 */ unk8 unk_86; - /* 0x84 */ unk8 unk_87; - /* 0x88 */ - - /* 0x00 */ virtual unk16 func_020351a8(void); - /* 0x04 */ virtual unk16 func_020351b0(void); - /* 0x08 */ - - static unk32 func_02035428(u8 param_2); - - UnkSubClass1_UnkownClass1(); - ~UnkSubClass1_UnkownClass1(); - void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); - void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); - void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); - void func_0203516c(void); - void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - void func_020352d8(void); -}; - -class UnkSubClass1_UnkownClass2_Base1 { -public: - /* 0x00 (vtable) */ - /* 0x04 */ u16* unk_00; // pointer to the current position in the message to display - /* 0x08 */ unk16 unk_08; - /* 0x0A */ unk16 unk_0A; - /* 0x0C */ unk16 unk_0C; - /* 0x0E */ unk16 unk_0E; - /* 0x10 */ unk32 unk_10; - - UnkSubClass1_UnkownClass2_Base1(); - /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2_Base1() override; - /* 0x08 */ -}; - -typedef bool (*UnknownCallback)(class MsgProc_Type1*); - -// UnkStruct_0203881c -class UnkSubClass1_UnkownClass2 : public UnkSubClass1_UnkownClass2_Base1 { -public: - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ UnknownCallback unk_1C; - /* 0x20 */ class MsgProc_Type1* unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x2C */ - - UnkSubClass1_UnkownClass2(); - /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2() override; - /* 0x08 */ - - void func_02038858(unk32); -}; - class UnkSubClass1_unk_410 { public: /* 0x00 */ struct MsgProc_Type1* unk_00; @@ -155,146 +48,6 @@ public: UnkStruct_0203b264* func_0203eeb0(unk32 param_2, unk32 param_3); }; -class UnkSubClass1_unk_124 { -public: - /* 0x00 */ void* unk_00; // pointer to MsgProc_Main (well, the first members of the base class) - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk8 unk_28; - /* 0x29 */ unk8 unk_29; - /* 0x2A */ unk8 unk_2A; - /* 0x2B */ unk8 unk_2B; - /* 0x2C */ - - void func_0203f020(s16*, unk32); -}; - -class UnkSubClass1_02256FF8 { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ u8 unk_1C; - /* 0x20 */ - - UnkSubClass1_02256FF8(); - /* 0x00 */ virtual ~UnkSubClass1_02256FF8() override; - /* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE) override; - /* 0x0C */ virtual UNK_TYPE vfunc_0C(UNK_TYPE) override; - /* 0x10 */ virtual UNK_TYPE vfunc_10(UNK_TYPE) override; - /* 0x14 */ virtual UNK_TYPE vfunc_14(UNK_TYPE) override; - /* 0x18 */ virtual UNK_TYPE vfunc_18(UNK_TYPE) override; - /* 0x1C */ virtual UNK_TYPE vfunc_1C(UNK_TYPE) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual UNK_TYPE vfunc_28(UNK_TYPE) override; - /* 0x2C */ virtual UNK_TYPE vfunc_2C(UNK_TYPE) override; - /* 0x30 */ virtual UNK_TYPE vfunc_30(UNK_TYPE) override; - /* 0x34 */ virtual UNK_TYPE vfunc_34(UNK_TYPE) override; - /* 0x38 */ virtual UNK_TYPE vfunc_38(UNK_TYPE) override; - /* 0x3C */ -}; - -struct UnkStruct_MsgProc_Base_unk_2C_2 { - /* 0x00 */ s8 unk_00; - /* 0x00 */ s8 unk_01; - /* 0x00 */ s8 unk_02; - /* 0x00 */ s8 unk_03; - /* 0x04 */ unk32 unk_04; - /* 0x00 */ u8* unk_08; - /* 0x04 */ -}; -struct UnkStruct_MsgProc_Base_unk_2C { - /* 0x00 */ UnkStruct_MsgProc_Base_unk_2C_2* unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ -}; - -// astruct_8, UnkStruct_02032e7c -class MsgProc_Base : public SysObject { -public: - /* 0x000 (vtable) */ - /* 0x004 */ unk32* unk_04; - /* 0x008 */ UnkSubClass1_02256FF8* unk_08; - /* 0x00C */ unk32 unk_0C; - /* 0x010 */ unk32* unk_10; - /* 0x014 */ s32 unk_14; - /* 0x018 */ s32 unk_18; - /* 0x01C */ unk32 unk_1C; - /* 0x020 */ unk32 unk_20; - /* 0x024 */ unk32* unk_24; - /* 0x028 */ unk32* unk_28; - /* 0x02C */ UnkStruct_MsgProc_Base_unk_2C* unk_2C; - /* 0x030 */ unk32 unk_30; - /* 0x034 */ unk32 unk_34; - /* 0x038 */ unk32 unk_38; - /* 0x03C */ unk16 unk_3C; - /* 0x03E */ unk16 unk_3E; - /* 0x040 */ unk32 unk_40; - /* 0x044 */ unk32 unk_44; - /* 0x048 */ u8 unk_48; - /* 0x049 */ u8 unk_49; - /* 0x04A */ u16 unk_4A; - /* 0x04C */ u8 unk_4C; - /* 0x04C */ unk8 unk_4D; - /* 0x04C */ unk8 unk_4E; - /* 0x04C */ unk8 unk_4F; - /* 0x050 */ u8 unk_50; - /* 0x051 */ unk8 unk_51; - /* 0x052 */ - - MsgProc_Base(); - /* 0x00 */ virtual ~MsgProc_Base(); - /* 0x08 */ /* func_02033030 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); - /* 0x0C */ /* func_02033190 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); - /* 0x10 */ /* func_020331c4 */ virtual void vfunc_10(u8 param_2, u8 param_3); - /* 0x14 */ /* func_02032fcc */ virtual bool vfunc_14(u16 param_2, u8 param_3); - /* 0x18 */ /* func_020332e4 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); - /* 0x1C */ /* func_02033360 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - /* 0x20 */ /* func_020333e0 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); - /* 0x24 */ /* func_02033af4 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); - - //! TODO: fake? - /* 0x28 */ virtual bool vfunc_28(void); - /* 0x2C */ virtual void vfunc_2C(void); - /* 0x30 */ virtual void vfunc_30(void); - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); - /* 0x38 */ virtual bool vfunc_38(void); - /* 0x3C */ virtual void vfunc_3C(unk32 param_2); - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); - /* 0x48 */ virtual void vfunc_48(void); - /* 0x4C */ virtual void vfunc_4C(void); - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5); - /* 0x54 */ virtual void vfunc_54(void); - /* 0x58 */ virtual void vfunc_58(void); - /* 0x5C */ virtual void vfunc_5C(void); - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); - /* 0x64 */ virtual void vfunc_64(s16* param_2); - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); - /* 0x74 */ - - unk32* func_02032f98(unk32 param_2); - unk32 func_02032fa4(void); - unk32 func_02032fb4(void); - unk32 func_02033360(void); - unk32 func_020337d8(unk32 param_2); -}; - class MsgProc_Base2_unk_114 : public SysObject { public: /* 0x00 (vtable) */ @@ -310,109 +63,6 @@ public: unk32 func_0203d1b4(void); }; -// astruct_7, UnkStruct_0203dae0 -class MsgProc_Base2 : public MsgProc_Base { -public: - /* 0x052 */ unk16 unk_52; - /* 0x054 */ unk16 unk_54; - /* 0x054 */ unk16 unk_56; - /* 0x058 */ unk32 unk_58; - /* 0x05C */ s16 unk_5C; - /* 0x05E */ s16 unk_5E; - /* 0x060 */ unk32 unk_60; - /* 0x064 */ unk32 unk_64; - /* 0x068 */ unk32 unk_68; - /* 0x06C */ unk32 unk_6C; - /* 0x070 */ unk32 unk_70; - /* 0x074 */ unk32 unk_74; - /* 0x078 */ unk32 unk_78; - /* 0x07C */ unk32 unk_7C; - /* 0x080 */ unk32 unk_80; - /* 0x084 */ unk32 unk_84; - /* 0x088 */ unk32 unk_88; - /* 0x08C */ unk32 unk_8C; - /* 0x090 */ unk32 unk_90; - /* 0x094 */ unk32 unk_94; - /* 0x098 */ unk32 unk_98; - /* 0x09C */ unk32 unk_9C; - /* 0x0A0 */ unk32 unk_A0; - /* 0x0A4 */ unk32 unk_A4; - /* 0x0A8 */ unk32 unk_A8; - /* 0x0AC */ unk32 unk_AC; - /* 0x0B0 */ unk32 unk_B0; - /* 0x0B4 */ unk32 unk_B4; - /* 0x0B8 */ unk32 unk_B8; - /* 0x0BC */ unk32 unk_BC; - /* 0x0C0 */ unk32 unk_C0; - /* 0x0C4 */ unk32 unk_C4; - /* 0x0C8 */ unk32 unk_C8; - /* 0x0CC */ unk32 unk_CC; - /* 0x0D0 */ unk32 unk_D0; - /* 0x0D4 */ unk32 unk_D4; - /* 0x0D8 */ unk32 unk_D8; - /* 0x0DC */ unk32 unk_DC; - /* 0x0E0 */ unk32 unk_E0; - /* 0x0E4 */ unk32 unk_E4; - /* 0x0E8 */ unk32 unk_E8; - /* 0x0EC */ unk32 unk_EC; - /* 0x0F0 */ unk32 unk_F0; - /* 0x0F4 */ unk32 unk_F4; - /* 0x0F8 */ unk32 unk_F8; - /* 0x0FC */ unk32 unk_FC; - /* 0x100 */ unk32 unk_100; - /* 0x104 */ unk32 unk_104; - /* 0x108 */ unk8 unk_108; - /* 0x108 */ unk8 unk_109; - /* 0x108 */ unk8 unk_10A; - /* 0x108 */ unk8 unk_10B; - /* 0x10C */ unk32 unk_10C; - /* 0x110 */ unk32 unk_110; - /* 0x118 */ MsgProc_Base2_unk_114* unk_114; - /* 0x118 */ s32 unk_118; - /* 0x11C */ unk16 unk_11C; - /* 0x11E */ unk8 unk_11E; - /* 0x11F */ unk8 unk_11F; - /* 0x120 */ u8 unk_120; - /* 0x121 */ s8 unk_121; - /* 0x122 */ u8 unk_122; - /* 0x123 */ u8 unk_123; - /* 0x124 */ - - MsgProc_Base2(unk32 param_2, unk32 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Base2(); - /* 0x08 */ /* func_0203e2ac */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ /* func_0203dcb4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; - /* 0x2C */ /* func_0203e19c */ virtual void vfunc_2C(void) override; - /* 0x30 */ /* func_0203e090 */ virtual void vfunc_30(void) override; - - //! TODO: fake? - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ -}; - struct func_02038f44_param4 { u8 unk_00; u8 unk_01; @@ -426,337 +76,6 @@ struct func_02038f44_param4 { u8 unk_15; }; -// astruct_6, UnkStruct_02038aa0 -class MsgProc_Main : public MsgProc_Base2 { -public: - /* 0x124 */ UnkSubClass1_unk_124* unk_124; - /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128; - /* 0x150 */ u8 unk_150[4]; - /* 0x154 */ EntryINF1* pInfoEntry; - /* 0x158 */ Vec2s unk_158; // textbox position? - /* 0x15C */ s16 unk_15C; - /* 0x15E */ s8 unk_15E; - /* 0x15F */ s8 unk_15F; - /* 0x160 */ unk8 unk_160; - /* 0x160 */ unk8 unk_161; - /* 0x160 */ unk16 unk_162; - /* 0x164 */ - - MsgProc_Main(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Main(); - /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; - /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; - /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; - - //! TODO: fake? - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - static void func_020387e0(u8* param_2); - - unk32 func_02032fb4(void); - u16* func_02037604(u16**); - - void func_02038b28(void); - void func_02038b34(u8 param_2, u8 param_3); - void func_02038b40(void); - void func_02038b74(void); // is this a dtor? - bool func_02038b78(void); - unk32 func_02038cb8(unk32 param_2); - void func_02038ef4(unk32 param_2, unk32 param_3); - void func_02038f40(void); - void func_02038f44(EntryINF1* param_2, u32 param_3, func_02038f44_param4* param_4, UnkSubClass1_02256FF8* param_5, unk32 param_6); - void func_02039058(void); - unk32 func_0203905c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); - - void func_02039208(unk32 param_2); - unk32 func_02038d10(void); - void func_02038d20(void); - void func_020392b4(void); - void func_02039398(void); - void func_020393a8(s16* param_2); - void func_0203a188(unk32, unk32); - unk32 func_0203a3e0(void); - unk32 func_0203cb5c(unk8, s16); - void func_0203dc10(u8 param_2); - void func_0203dc10(u8 param_2, u8 param_3); - void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - unk32 func_0203de14(unk32); - void func_0203e090(void); - void func_0203e0f8(void); - void func_0203e1b0(unk32, unk32, unk32); - void func_02039440(unk32, unk32); - - // not sure it belongs to this class: - void func_02032fcc(unk32, unk32); - void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - void func_020331c4(unk32, unk32); - unk32 func_02038cf4(void); - void func_0203947c(void); - unk32 func_0203951c(void); - void func_0203cabc(unk32); - unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); - void func_0203e2ac(unk32* param_2); - void func_0203fc78(unk32*, unk32*); - s16 func_0203d318(s16, s16); -}; - -// does it host both choices? -struct UnknownMsgChoiceStruct { - /* 0x00 */ UnkStruct_0203b264* unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ -}; - -// astruct_2, UnkStruct_020397f8 -class MsgProc_Type1 : public MsgProc_Main { -public: - /* 0x164 */ MsgProc_Type1* unk_164; - /* 0x168 */ UnkSubClass1_UnkownClass1 unk_168; - /* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0; - /* 0x278 */ UnkSubClass1_UnkownClass1 unk_278; - /* 0x300 */ UnkSubClass1_UnkownClass1 unk_300; - /* 0x388 */ UnkSubClass1_UnkownClass1 unk_388; - /* 0x410 */ UnkSubClass1_unk_410 unk_410; - /* 0x414 */ unk32 unk_414; - /* 0x418 */ MsgProc_Main* unk_418; - /* 0x41C */ unk16 unk_41C; - /* 0x41C */ unk16 unk_41E; - /* 0x420 */ unk16 unk_420; - /* 0x420 */ unk16 unk_422; - /* 0x424 */ UnkSubClass1_unk_424 unk_424; - /* 0x428 */ UnknownMsgChoiceStruct unk_428[0x20]; - /* 0x528 */ unk16 unk_528[4]; // number of choices? - /* 0x55C */ unk32 unk_530; - /* 0x55C */ unk16 unk_534; - /* 0x55C */ unk16 unk_536; - /* 0x55C */ unk16 unk_538; - /* 0x55C */ unk16 unk_53A; - /* 0x55C */ unk32 unk_53C; - /* 0x55C */ unk32 unk_540; - /* 0x55C */ unk8 unk_544; - /* 0x55C */ unk8 unk_545; - /* 0x55C */ unk8 unk_546; - /* 0x55C */ unk8 unk_547; - /* 0x55C */ unk16 unk_548; - /* 0x55C */ unk16 unk_54A; - /* 0x55C */ unk16 unk_54C; - /* 0x55C */ unk16 unk_54E; - /* 0x55C */ unk32 unk_550; - /* 0x55C */ unk32 unk_554; - /* 0x55C */ unk8 unk_558; - /* 0x55C */ unk8 unk_559; - /* 0x55C */ unk8 unk_55A; - /* 0x55C */ unk8 unk_55B; - /* 0x55C */ unk32 unk_55C; - /* 0x560 */ unk32 unk_560; - /* 0x564 */ u16 unk_564[4]; - /* 0x56C */ unk16 unk_56C; - /* 0x56E */ unk16 unk_56E; - /* 0x570 */ unk16 unk_570; - /* 0x572 */ u16 unk_572; - /* 0x574 */ s16 unk_574; - /* 0x576 */ unk16 unk_576; - /* 0x578 */ s16 unk_578; - /* 0x57A */ u8 unk_57A; - /* 0x57B */ s8 unk_57B; - /* 0x57C */ u8 unk_57C; - /* 0x57D */ u8 unk_57D; - /* 0x57E */ u8 unk_57E; - /* 0x57F */ u8 unk_57F; - /* 0x580 */ u8 unk_580; - /* 0x581 */ u8 unk_581; - /* 0x582 */ u8 unk_582; - /* 0x583 */ u8 unk_583; - /* 0x584 */ u8 unk_584; - /* 0x585 */ u8 unk_585; - /* 0x586 */ u8 unk_586; - /* 0x586 */ u8 unk_587; - /* 0x588 */ UnkSubClass1_unk_124 unk_588; - /* 0x5B4 */ - - MsgProc_Type1(); - MsgProc_Type1(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type1() override; - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ /* func_0203b264 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ /* func_0203b310 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ /* func_0203b814 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ /* func_02039a5c */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ /* func_0203c350 */ virtual bool vfunc_38(void) override; - /* 0x3C */ /* func_02039ccc */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ /* func_02039d74 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ /* func_0203a3fc */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ /* func_0203a328 */ virtual void vfunc_48(void) override; - /* 0x4C */ /* func_02039a3c */ virtual void vfunc_4C(void) override; - /* 0x50 */ /* func_0203a7f0 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ /* func_0203a988 */ virtual void vfunc_54(void) override; - /* 0x58 */ /* func_0203af1c */ virtual void vfunc_58(void) override; - /* 0x5C */ /* func_0203aea8 */ virtual void vfunc_5C(void) override; - /* 0x60 */ /* func_0203b410 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ /* func_0203b5d0 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ /* func_0203bdcc */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - static bool func_0203c25c(class MsgProc_Type1* param_1); - static void func_0203e060(MsgProc_Main* param_1, u8 param_2, u8 param_3); - - void func_02039a3c(void); - - unk32 func_02039250(void); - void func_02039ca8(void); - void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); - bool func_0203a2c0(void); - unk32 func_0203a30c(void); - void func_0203a35c(void); - bool func_0203a3e0(void); - bool func_0203a6d0(unk32 param_2, unk32 param_3); - bool func_0203b0bc(void); - unk32 func_0203b0ec(unk32 param_2); - void func_0203b764(void); - void func_0203bd8c(u16 param_2); - void func_0203be08(void); - void func_0203be64(void); - unk32 func_0203c084(void); - bool func_0203c13c(void); - unk32 func_0203c1a0(void); -}; - -class MsgProc_Type3 : public MsgProc_Main { -public: - /* 0x164 */ unk16 unk_164; - /* 0x166 */ unk16 unk_166; - /* 0x168 */ unk16 unk_168; - /* 0x16A */ unk16 unk_16A; - /* 0x16C */ unk16 unk_16C; - /* 0x16E */ unk16 unk_16E; - /* 0x170 */ unk16 unk_170; - /* 0x172 */ unk16 unk_172; - /* 0x174 */ unk16 unk_174; - /* 0x178 */ unk32 unk_178; - /* 0x17C */ unk32 unk_17C; - /* 0x180 */ UnkClass_func_ov000_020d0644 unk_180[4]; - /* 0x1C0 */ - - MsgProc_Type3(); - MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type3(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - static void func_0203c83c(void); -}; - -class MsgProc_Type2 : public MsgProc_Main { -public: - /* 0x164 */ unk16 unk_164; - /* 0x164 */ unk16 unk_166; - /* 0x164 */ unk16 unk_168; - /* 0x164 */ unk16 unk_16A; - /* 0x164 */ unk16 unk_16C; - /* 0x164 */ unk16 unk_16E; - /* 0x170 */ - - MsgProc_Type2(); - MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type2(); - /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; - /* 0x24 */ /* astruct_8::vfunc_24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; - /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; - /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; - /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; - /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; - /* 0x3C */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; - /* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; - /* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override; - /* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override; - /* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ - - //! TODO: vfunc_4C? - void func_0203c39c(unk32 param_2, unk32 param_3); - - void func_0203c4ac(unk32, unk32); -}; - // TEMPORARY extern "C" u32 func_01ff9b4c(unk32, unk32); diff --git a/include/Unknown/UnkStruct_0202e1a0.hpp b/include/Unknown/UnkStruct_0202e1a0.hpp index a99956bc..d6d6a793 100644 --- a/include/Unknown/UnkStruct_0202e1a0.hpp +++ b/include/Unknown/UnkStruct_0202e1a0.hpp @@ -3,6 +3,7 @@ #include "global.h" #include "types.h" +// astruct_11 struct UnkStruct_0202e1a0 { /* 00 */ unk16 mUnk_00; /* 02 */ unk16 mUnk_02; diff --git a/include/Unknown/UnkStruct_02032f0c.hpp b/include/Unknown/UnkStruct_02032f0c.hpp index 4907f95d..60e807ab 100644 --- a/include/Unknown/UnkStruct_02032f0c.hpp +++ b/include/Unknown/UnkStruct_02032f0c.hpp @@ -2,12 +2,12 @@ #include "global.h" #include "types.h" +#include "Message/BMG.hpp" -// MsgProc_Base class UnkStruct_02032e7c { public: /* 00 (vtable) */ - /* 04 */ unk32 mUnk_04; + /* 04 */ u16* mUnk_04; // pointer to the current position in the message to display /* 08 */ unk16 mUnk_08; /* 0a */ unk16 mUnk_0a; /* 0c */ unk16 mUnk_0c; @@ -21,20 +21,79 @@ public: UnkStruct_02032e7c(); }; +class UnkSubClass1_02256FF8 { +public: + /* 0x00 (vtable) */ + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ u8 unk_1C; + /* 0x20 */ + + UnkSubClass1_02256FF8(); + /* 0x00 */ virtual ~UnkSubClass1_02256FF8() override; + /* 0x08 */ virtual void vfunc_08(void) override; + /* 0x0C */ virtual void vfunc_0c(void) override; + /* 0x10 */ virtual void vfunc_10(void) override; + /* 0x14 */ virtual void vfunc_14(void) override; + /* 0x18 */ virtual void vfunc_18(void) override; + /* 0x1C */ virtual void vfunc_1c(void) override; + /* 0x20 */ virtual void vfunc_20(void) override; + /* 0x24 */ virtual void vfunc_24(void) override; + /* 0x28 */ virtual void vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2c(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual void vfunc_34(void) override; + /* 0x38 */ virtual void vfunc_38(void) override; + /* 0x3C */ +}; + +struct UnkStruct_MsgProc_Base_unk_2C { + /* 0x00 */ s8 unk_00; + /* 0x00 */ s8 unk_01; + /* 0x00 */ s8 unk_02; + /* 0x00 */ s8 unk_03; + /* 0x04 */ unk32 unk_04; + /* 0x00 */ u8* unk_08; + /* 0x04 */ +}; + +struct func_0203b410_param_2 { + unk32 unk_00; + unk32 unk_04; + unk32 unk_08; + unk32 unk_0C; + unk16 unk_10; + unk16 unk_12; +}; + +// astruct_8, MsgProc_Base class UnkStruct_02032f0c { public: /* 00 (vtable) */ - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; + /* 04 */ unk32* mUnk_04; + /* 08 */ UnkSubClass1_02256FF8* mUnk_08; /* 0c */ u16 *mUnk_0c; - /* 10 */ unk32 mUnk_10[6]; - /* 28 */ unk32 mUnk_28; - /* 2c */ s32 **mUnk_2c; + /* 0x010 */ unk32* unk_10; + /* 0x014 */ s32 unk_14; + /* 0x018 */ s32 unk_18; + /* 0x01C */ unk32 unk_1C; + /* 0x020 */ unk32 unk_20; + /* 0x024 */ unk32* unk_24; + /* 28 */ unk32* mUnk_28; + /* 2c */ UnkStruct_MsgProc_Base_unk_2C **mUnk_2c; /* 30 */ s32 mUnk_30; /* 34 */ s32 mUnk_34; /* 38 */ unk32 mUnk_38; /* 3c */ unk16 mUnk_3c; - /* 3e */ unk16 mUnk_3e[6]; + /* 0x03E */ unk16 unk_3E; + /* 0x040 */ unk32 unk_40; + /* 0x044 */ unk32 unk_44; + /* 0x048 */ u8 unk_48; + /* 0x049 */ u8 unk_49; /* 4a */ u16 mUnk_4a; /* 4c */ u8 mUnk_4c; /* 4d */ bool mUnk_4d; @@ -55,12 +114,45 @@ public: /* 24 */ virtual bool vfunc_24(s16 **param1); /* 28 */ + // /* 0x08 */ /* func_02033030 */ virtual void vfunc_08(unk32* param_2, unk32* param_3); + // /* 0x0C */ /* func_02033190 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); + // /* 0x10 */ /* func_020331c4 */ virtual void vfunc_10(u8 param_2, u8 param_3); + // /* 0x14 */ /* func_02032fcc */ virtual bool vfunc_14(u16 param_2, u8 param_3); + // /* 0x18 */ /* func_020332e4 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); + // /* 0x1C */ /* func_02033360 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + // /* 0x20 */ /* func_020333e0 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); + // /* 0x24 */ /* func_02033af4 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); + + //! TODO: fake? + /* 0x28 */ virtual bool vfunc_28(void); + /* 0x2C */ virtual void vfunc_2C(void); + /* 0x30 */ virtual void vfunc_30(void); + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); + /* 0x38 */ virtual bool vfunc_38(void); + /* 0x3C */ virtual void vfunc_3C(unk32 param_2); + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); + /* 0x48 */ virtual void vfunc_48(void); + /* 0x4C */ virtual void vfunc_4C(void); + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5); + /* 0x54 */ virtual void vfunc_54(void); + /* 0x58 */ virtual void vfunc_58(void); + /* 0x5C */ virtual void vfunc_5C(void); + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); + /* 0x64 */ virtual void vfunc_64(s16* param_2); + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); + /* 0x74 */ + UnkStruct_02032f0c(); void func_02032f94(); + unk32* func_02032f98(unk32 param_2); u16 **SetUnk_0c(u16 *value); u8 func_02032fa4(); s32 func_02032fb4(); void func_02033214(unk32 param1, unk32 param2, unk32 param3, u8 param4, unk32 param5); + unk32 func_02033360(void); void func_020334b4(u32 param1, s32 param2, s32 param3, s32 param4); void func_02033628(unk32 param1, u16 *param2); u32 func_0203369c(u16 *param1, s32 param2); diff --git a/include/Unknown/UnkStruct_02035064.hpp b/include/Unknown/UnkStruct_02035064.hpp index 69011e21..b48f7768 100644 --- a/include/Unknown/UnkStruct_02035064.hpp +++ b/include/Unknown/UnkStruct_02035064.hpp @@ -9,18 +9,31 @@ class UnkStruct_02035064 { public: /* 00 (vtable) */ /* 04 */ unk32 mUnk_04; - /* 08 */ unk8 mUnk_08[0xc]; + /* 0x08 */ u32* unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; /* 14 */ u32 mUnk_14; - /* 18 */ unk8 mUnk_18[0x4]; + /* 18 */ unk32 unk_18; /* 1c */ unk32 mUnk_1c; - /* 20 */ u32 mUnk_20; - /* 24 */ unk8 mUnk_24[0x28]; + /* 20 */ u32* mUnk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk32 unk_28; + /* 0x2C */ unk32 unk_2C; + /* 0x30 */ unk32 unk_30; + /* 0x34 */ u32* unk_34; + /* 0x38 */ u32* unk_38; + /* 0x3C */ unk32 unk_3C; + /* 0x40 */ unk32 unk_40; + /* 0x44 */ unk32 unk_44; + /* 0x48 */ unk32 unk_48; /* 4c */ s16 mUnk_4c; /* 4e */ s16 mUnk_4e; - /* 50 */ unk8 mUnk_50[0xc]; + /* 50 */ unk32 unk_50; + /* 0x54 */ unk32 unk_54; + /* 0x58 */ unk32 unk_58; /* 5c */ UnkStruct_0202e1a0 mUnk_5c; /* 74 */ u16 *mUnk_74; - /* 78 */ s32 mUnk_78; + /* 78 */ s32* mUnk_78; /* 7c */ u32 mUnk_7c; /* 80 */ u16 mUnk_80; /* 82 */ unk16 mUnk_82; @@ -29,13 +42,15 @@ public: /* 87 */ unk8 mUnk_87; /* 88 */ - /* 0 */ virtual s32 vfunc_0(); - /* 4 */ virtual s32 vfunc_4(); + /* 0 */ virtual s32 vfunc_0(); // func_020351a8 + /* 4 */ virtual s32 vfunc_4(); // func_020351b0 /* 8 */ UnkStruct_02035064(); ~UnkStruct_02035064(); + void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); + void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_020350b0(); void func_020350b4(s32 param1, unk32 param2, unk8 param3, unk16 param4, unk16 param5); void func_0203516c(); diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index 5fe84a89..138ae201 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -4,21 +4,25 @@ #include "types.h" #include "Player/LinkStateInteract.hpp" +#include "System/SysNew.hpp" -class UnkStruct_02037750 { +class MsgProc_Type1; + +// astruct_14 +class UnkStruct_02037750 : public SysObject { public: /* 00 (vtable) */ /* 04 */ unk32 mUnk_04[0x4]; /* 14 */ unk32 mUnk_14; - /* 18 */ unk32 mUnk_18; + /* 18 */ u32 mUnk_18; /* 1c */ u8 mUnk_1c; - /* 1d */ unk8 mUnk_1d; + /* 1d */ u8 mUnk_1d; /* 1e */ u16 mUnk_1e; /* 20 */ /* 00 */ virtual ~UnkStruct_02037750(); - /* 08 */ virtual void vfunc_08(unk32 param1); - /* 0c */ virtual void vfunc_0c(s32 param1); + /* 08 */ virtual void vfunc_08(u32 param1); + /* 0c */ virtual void vfunc_0c(class MsgProc_Type1* param1); /* 10 */ virtual void vfunc_10(); /* 14 */ virtual void vfunc_14(); /* 18 */ virtual void vfunc_18(); @@ -35,17 +39,34 @@ public: void func_020385d0(s32 param1, unk32 *param2); }; +class UnkStruct_020386d8_24 { +public: + /* 0x00 */ unk32 mUnk_00; + /* 0x04 */ + + void func_020376c0(Vec3p param_2); +}; + +// astruct_15 class UnkStruct_020386d8 : public UnkStruct_02037750 { public: /* 00 (base) */ /* 20 */ unk8 mUnk_20; /* 21 */ unk8 mUnk_21[0x3]; - /* 24 */ unk32 mUnk_24; - /* 28 */ + /* 24 */ UnkStruct_020386d8_24 mUnk_24; + /* 28 */ unk32 mUnk_28; + /* 2C */ unk32 mUnk_2C; + /* 30 */ unk32 mUnk_30; + /* 34 */ unk16 mUnk_34; + /* 36 */ unk16 mUnk_36; + /* 38 */ u8 mUnk_38; + /* 39 */ u8 mUnk_39; + /* 3A */ unk16 mUnk_3A; + /* 3C */ UnkStruct_020386d8(); /* 00 */ virtual ~UnkStruct_020386d8(); - /* 08 */ virtual void vfunc_08(unk32 param1); + /* 08 */ virtual void vfunc_08(u32 param1); /* 24 */ virtual void vfunc_24(unk32 param1); /* 28 */ virtual void vfunc_28(); /* 30 */ virtual unk32 vfunc_30(); diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index 1053b7ef..0f00c585 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -6,14 +6,15 @@ #include "Unknown/UnkStruct_0203dae0.hpp" class UnkStruct_02038aa0; +typedef bool (*UnknownCallback)(class MsgProc_Type1*); class UnkStruct_0203881c : public UnkStruct_02032e7c { public: /* 00 (base) */ /* 14 */ unk32 mUnk_14; /* 18 */ unk32 mUnk_18; - /* 1c */ unk32 mUnk_1c; - /* 20 */ unk32 mUnk_20; + /* 1c */ UnknownCallback mUnk_1c; + /* 20 */ class MsgProc_Type1* mUnk_20; /* 24 */ unk32 mUnk_24; /* 28 */ @@ -27,24 +28,40 @@ public: void func_02038a80(s32 param1); }; +class UnkSubClass1_unk_124 { +public: + /* 0x00 */ void* unk_00; // pointer to MsgProc_Main (well, the first members of the base class) + /* 0x04 */ unk32 unk_04; + /* 0x08 */ unk32 unk_08; + /* 0x0C */ unk32 unk_0C; + /* 0x10 */ unk32 unk_10; + /* 0x14 */ unk32 unk_14; + /* 0x18 */ unk32 unk_18; + /* 0x1C */ unk32 unk_1C; + /* 0x20 */ unk32 unk_20; + /* 0x24 */ unk32 unk_24; + /* 0x28 */ unk8 unk_28; + /* 0x29 */ unk8 unk_29; + /* 0x2A */ unk8 unk_2A; + /* 0x2B */ unk8 unk_2B; + /* 0x2C */ + + void func_0203f020(s16*, unk32); +}; + +// astruct_6, MsgProc_Main class UnkStruct_02038aa0 : public UnkStruct_0203dae0 { public: /* 000 (base) */ /* 123 */ unk8 mUnk_123; - /* 124 */ unk32 mUnk_124; - /* 128 */ unk32 mUnk_128; - /* 12c */ unk32 mUnk_12c; - /* 130 */ unk8 mUnk_130[0x20]; - /* 150 */ unk8 mUnk_150; - /* 151 */ unk8 mUnk_151; - /* 152 */ unk8 mUnk_152; - /* 153 */ unk8 mUnk_153; - /* 154 */ unk32 mUnk_154; - /* 158 */ unk8 mUnk_158[0x2]; - /* 15a */ unk16 mUnk_15a; - /* 15c */ unk16 mUnk_15c; - /* 15e */ u8 mUnk_15e; - /* 15f */ u8 mUnk_15f; + /* 124 */ UnkSubClass1_unk_124* mUnk_124; + /* 128 */ UnkStruct_0203881c mUnk_128; + /* 150 */ u8 unk_150[4]; + /* 154 */ EntryINF1* pInfoEntry; + /* 158 */ Vec2s unk_158; // textbox position? + /* 15c */ s16 mUnk_15c; + /* 15e */ s8 mUnk_15e; + /* 15f */ s8 mUnk_15f; /* 160 */ u8 mUnk_160; /* 161 */ @@ -73,6 +90,20 @@ public: /* 70 */ virtual void vfunc_70(s32 *param1, s32 *param2); /* 74 */ + // /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + // /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + // /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + // /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + // /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + // /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + // /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + // /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + // /* 0x28 */ virtual bool vfunc_28(void) override; + // /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; + // /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; + // /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; + // /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; + UnkStruct_02038aa0(u8 param1, u8 param2); void func_02038b34(u32 param1, unk32 param2); void func_02038b40(); @@ -85,4 +116,42 @@ public: unk32 func_02039250(); void func_02039440(unk32 param1, unk32 param2); bool func_0203951c(); + + static void func_020387e0(u8* param_2); + + unk32 func_02032fb4(void); + u16* func_02037604(u16**); + void func_02038b28(void); + void func_02038b74(void); // is this a dtor? + void func_02038f40(void); + void func_02038f44(EntryINF1* param_2, u32 param_3, func_02038f44_param4* param_4, UnkSubClass1_02256FF8* param_5, unk32 param_6); + void func_02039058(void); + unk32 func_0203905c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + void func_02038d20(void); + void func_020392b4(void); + void func_02039398(void); + void func_020393a8(s16* param_2); + void func_0203a188(unk32, unk32); + unk32 func_0203a3e0(void); + unk32 func_0203cb5c(unk8, s16); + + void func_0203dc10(u8 param_2); + void func_0203dc10(u8 param_2, u8 param_3); + + void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk32 func_0203de14(unk32); + void func_0203e090(void); + void func_0203e0f8(void); + void func_0203e1b0(unk32, unk32, unk32); + + //! TODO: not sure it belongs to this class: + void func_02032fcc(unk32, unk32); + void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_020331c4(unk32, unk32); + void func_0203947c(void); + void func_0203cabc(unk32); + unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); + void func_0203e2ac(unk32* param_2); + void func_0203fc78(unk32*, unk32*); + s16 func_0203d318(s16, s16); }; diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index 53c37017..6d1b6fdc 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -6,39 +6,65 @@ #include "Unknown/UnkStruct_02035064.hpp" #include "Unknown/UnkStruct_02038aa0.hpp" +// does it host both choices? +struct UnknownMsgChoiceStruct { + /* 0x00 */ UnkStruct_0203b264* unk_00; + /* 0x04 */ unk32 unk_04; + /* 0x08 */ +}; + +// astruct_2, MsgProc_Type1 class UnkStruct_020397f8 : public UnkStruct_02038aa0 { public: /* 000 (base) */ /* 161 */ unk8 mUnk_161[0x3]; - /* 164 */ unk32 mUnk_164; + /* 164 */ MsgProc_Type1* mUnk_164; /* 168 */ UnkStruct_02035064 mUnk_168; /* 1f0 */ UnkStruct_02035064 mUnk_1f0; /* 278 */ UnkStruct_02035064 mUnk_278; /* 300 */ UnkStruct_02035064 mUnk_300; /* 388 */ UnkStruct_02035064 mUnk_388; - /* 410 */ unk32 *mUnk_410; + /* 410 */ unk32 *mUnk_410; // UnkSubClass1_unk_410? /* 414 */ unk32 mUnk_414; - /* 418 */ unk32 mUnk_418; + /* 418 */ UnkStruct_02038aa0* mUnk_418; /* 41c */ unk16 mUnk_41c; /* 41e */ unk16 mUnk_41e; /* 420 */ unk16 mUnk_420; - /* 422 */ unk8 mUnk_422[0x2]; - /* 424 */ unk32 *mUnk_424; - /* 428 */ unk32 mUnk_428; - /* 42c */ unk8 mUnk_42c[0x124]; + /* 422 */ unk16 unk_422; + /* 424 */ unk32 *mUnk_424; // UnkSubClass1_unk_424? + /* 428 */ UnknownMsgChoiceStruct unk_428[0x20]; + /* 0x528 */ unk16 unk_528[4]; // number of choices? + /* 0x55C */ unk32 unk_530; + /* 0x55C */ unk16 unk_534; + /* 0x55C */ unk16 unk_536; + /* 0x55C */ unk16 unk_538; + /* 0x55C */ unk16 unk_53A; + /* 0x55C */ unk32 unk_53C; + /* 0x55C */ unk32 unk_540; + /* 0x55C */ unk8 unk_544; + /* 0x55C */ unk8 unk_545; + /* 0x55C */ unk8 unk_546; + /* 0x55C */ unk8 unk_547; + /* 0x55C */ unk16 unk_548; + /* 0x55C */ unk16 unk_54A; + /* 0x55C */ unk16 unk_54C; + /* 0x55C */ unk16 unk_54E; /* 550 */ unk32 mUnk_550; /* 554 */ unk32 mUnk_554; - /* 558 */ unk8 mUnk_558[0x4]; + /* 558 */ unk8 unk_558; + /* 0x55C */ unk8 unk_559; + /* 0x55C */ unk8 unk_55A; + /* 0x55C */ unk8 unk_55B; /* 55c */ unk32 mUnk_55c; /* 560 */ unk32 mUnk_560; - /* 564 */ unk8 mUnk_564[0x8]; + /* 564 */ u16 unk_564[4]; /* 56c */ unk16 mUnk_56c; /* 56e */ unk16 mUnk_56e; /* 570 */ unk16 mUnk_570; - /* 572 */ unk16 mUnk_572; - /* 574 */ unk16 mUnk_574; + /* 572 */ u16 mUnk_572; + /* 574 */ s16 mUnk_574; /* 576 */ unk16 mUnk_576; - /* 578 */ unk16 mUnk_578; + /* 578 */ s16 mUnk_578; /* 57a */ u8 mUnk_57a; /* 57b */ u8 mUnk_57b; /* 57c */ u8 mUnk_57c; @@ -53,8 +79,8 @@ public: /* 585 */ u8 mUnk_585; /* 586 */ u8 mUnk_586; /* 587 */ unk8 mUnk_587; - /* 588 */ unk32 mUnk_588; - /* 58c */ + /* 588 */ UnkSubClass1_unk_124 mUnk_588; + /* 5b4 */ UnkStruct_020397f8(); /* 4c */ virtual void vfunc_4c(); @@ -93,4 +119,127 @@ public: /* 00 */ virtual ~UnkStruct_020397f8(); /* 38 */ virtual unk32 vfunc_38(); /* 74 */ + + //! TODO: check if this is really here + static bool func_0203c25c(class MsgProc_Type1* param_1); + static void func_0203e060(MsgProc_Main* param_1, u8 param_2, u8 param_3); + void func_02039a3c(void); + unk32 func_02039250(void); + void func_02039ca8(void); + void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_0203a2c0(void); + unk32 func_0203a30c(void); + void func_0203a35c(void); + bool func_0203a3e0(void); + bool func_0203a6d0(unk32 param_2, unk32 param_3); + bool func_0203b0bc(void); + unk32 func_0203b0ec(unk32 param_2); + void func_0203b764(void); + void func_0203bd8c(u16 param_2); + void func_0203be08(void); + void func_0203be64(void); + unk32 func_0203c084(void); + bool func_0203c13c(void); + unk32 func_0203c1a0(void); +}; + +class MsgProc_Type3 : public UnkStruct_02038aa0 { +public: + /* 0x164 */ unk16 unk_164; + /* 0x166 */ unk16 unk_166; + /* 0x168 */ unk16 unk_168; + /* 0x16A */ unk16 unk_16A; + /* 0x16C */ unk16 unk_16C; + /* 0x16E */ unk16 unk_16E; + /* 0x170 */ unk16 unk_170; + /* 0x172 */ unk16 unk_172; + /* 0x174 */ unk16 unk_174; + /* 0x178 */ unk32 unk_178; + /* 0x17C */ unk32 unk_17C; + /* 0x180 */ UnkClass_func_ov000_020d0644 unk_180[4]; + /* 0x1C0 */ + + MsgProc_Type3(); + MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~MsgProc_Type3(); + /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ virtual void vfunc_20(void) override; + /* 0x24 */ virtual void vfunc_24(void) override; + /* 0x28 */ virtual bool vfunc_28(void) override; + /* 0x2C */ virtual void vfunc_2C(void) override; + /* 0x30 */ virtual void vfunc_30(void) override; + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(s16* param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + static void func_0203c83c(void); +}; + +class MsgProc_Type2 : public UnkStruct_02038aa0 { +public: + /* 0x164 */ unk16 unk_164; + /* 0x164 */ unk16 unk_166; + /* 0x164 */ unk16 unk_168; + /* 0x164 */ unk16 unk_16A; + /* 0x164 */ unk16 unk_16C; + /* 0x164 */ unk16 unk_16E; + /* 0x170 */ + + MsgProc_Type2(); + MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); + //! TODO: remove the function declarations that are not overridden + /* 0x00 */ virtual ~MsgProc_Type2(); + /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 0x14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 0x20 */ /* func_020390a4 */ virtual void vfunc_20(void) override; + /* 0x24 */ /* astruct_8::vfunc_24 */ virtual void vfunc_24(void) override; + /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; + /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; + /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; + /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; + /* 0x3C */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; + /* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; + /* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override; + /* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override; + /* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(s16* param_2) override; + /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + //! TODO: vfunc_4C? + void func_0203c39c(unk32 param_2, unk32 param_3); + + void func_0203c4ac(unk32, unk32); }; diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index cfda7368..7870c0f9 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -5,20 +5,72 @@ #include "Unknown/UnkStruct_02032f0c.hpp" +// astruct_7, MsgProc_Base2 class UnkStruct_0203dae0 : public UnkStruct_02032f0c { public: /* 000 (base) */ - /* 052 */ unk8 mUnk_052[0x2]; - /* 054 */ unk32 mUnk_054[0x30]; - /* 114 */ void *mUnk_114; - /* 118 */ unk32 mUnk_118; + /* 0x052 */ unk16 unk_52; + /* 0x054 */ unk16 unk_54; + /* 0x054 */ unk16 unk_56; + /* 0x058 */ unk32 unk_58; + /* 0x05C */ s16 unk_5C; + /* 0x05E */ s16 unk_5E; + /* 0x060 */ unk32 unk_60; + /* 0x064 */ unk32 unk_64; + /* 0x068 */ unk32 unk_68; + /* 0x06C */ unk32 unk_6C; + /* 0x070 */ unk32 unk_70; + /* 0x074 */ unk32 unk_74; + /* 0x078 */ unk32 unk_78; + /* 0x07C */ unk32 unk_7C; + /* 0x080 */ unk32 unk_80; + /* 0x084 */ unk32 unk_84; + /* 0x088 */ unk32 unk_88; + /* 0x08C */ unk32 unk_8C; + /* 0x090 */ unk32 unk_90; + /* 0x094 */ unk32 unk_94; + /* 0x098 */ unk32 unk_98; + /* 0x09C */ unk32 unk_9C; + /* 0x0A0 */ unk32 unk_A0; + /* 0x0A4 */ unk32 unk_A4; + /* 0x0A8 */ unk32 unk_A8; + /* 0x0AC */ unk32 unk_AC; + /* 0x0B0 */ unk32 unk_B0; + /* 0x0B4 */ unk32 unk_B4; + /* 0x0B8 */ unk32 unk_B8; + /* 0x0BC */ unk32 unk_BC; + /* 0x0C0 */ unk32 unk_C0; + /* 0x0C4 */ unk32 unk_C4; + /* 0x0C8 */ unk32 unk_C8; + /* 0x0CC */ unk32 unk_CC; + /* 0x0D0 */ unk32 unk_D0; + /* 0x0D4 */ unk32 unk_D4; + /* 0x0D8 */ unk32 unk_D8; + /* 0x0DC */ unk32 unk_DC; + /* 0x0E0 */ unk32 unk_E0; + /* 0x0E4 */ unk32 unk_E4; + /* 0x0E8 */ unk32 unk_E8; + /* 0x0EC */ unk32 unk_EC; + /* 0x0F0 */ unk32 unk_F0; + /* 0x0F4 */ unk32 unk_F4; + /* 0x0F8 */ unk32 unk_F8; + /* 0x0FC */ unk32 unk_FC; + /* 0x100 */ unk32 unk_100; + /* 0x104 */ unk32 unk_104; + /* 0x108 */ unk8 unk_108; + /* 0x108 */ unk8 unk_109; + /* 0x108 */ unk8 unk_10A; + /* 0x108 */ unk8 unk_10B; + /* 0x10C */ unk32 unk_10C; + /* 0x110 */ unk32 unk_110; + /* 114 */ void *mUnk_114; // MsgProc_Base2_unk_114? + /* 118 */ s32 mUnk_118; /* 11c */ unk16 mUnk_11c; /* 11e */ u8 mUnk_11e; /* 11f */ u8 mUnk_11f; /* 120 */ u8 mUnk_120; /* 121 */ u8 mUnk_121; - /* 122 */ u8 mUnk_122; - /* 123 */ + /* 123 */ u8 mUnk_122; /* 00 */ virtual ~UnkStruct_0203dae0(); /* 08 */ virtual void vfunc_08(s32 param1, unk32 param2, s16 *param3, unk32 param4); @@ -31,6 +83,37 @@ public: /* 30 */ virtual void vfunc_30(); /* 34 */ + // /* 0x08 */ /* func_0203e2ac */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + // /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + // /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + // /* 0x14 */ /* func_0203dcb4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + // /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + // /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + // /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; + // /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; + // /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; + // /* 0x2C */ /* func_0203e19c */ virtual void vfunc_2C(void) override; + // /* 0x30 */ /* func_0203e090 */ virtual void vfunc_30(void) override; + + //! TODO: fake? + /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 0x38 */ virtual bool vfunc_38(void) override; + /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; + /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void vfunc_48(void) override; + /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 0x54 */ virtual void vfunc_54(void) override; + /* 0x58 */ virtual void vfunc_58(void) override; + /* 0x5C */ virtual void vfunc_5C(void) override; + /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 0x64 */ virtual void vfunc_64(s16* param_2) override; + /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + UnkStruct_0203dae0(u8 param1); void func_0203dc10(s32 param1); bool func_0203dc74(s32 param1, s32 param2); -- cgit v1.2.3 From 7173439cd8424b562b3bc87b935e29aaaf14658e Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 00:46:13 +0100 Subject: post-update cleanup: step 2 --- include/Message/BMG.hpp | 18 +-- include/Message/MessageManager.hpp | 30 ++--- include/Message/MsgProc.hpp | 44 +++---- include/Unknown/UnkStruct_02032f0c.hpp | 137 ++++++++++----------- include/Unknown/UnkStruct_02035064.hpp | 34 +++--- include/Unknown/UnkStruct_02037750.hpp | 4 +- include/Unknown/UnkStruct_02038aa0.hpp | 34 +++--- include/Unknown/UnkStruct_020397f8.hpp | 210 ++++++++++++++++---------------- include/Unknown/UnkStruct_0203dae0.hpp | 142 ++++++++++----------- include/Unknown/func_ov000_020d0644.hpp | 8 +- 10 files changed, 330 insertions(+), 331 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index ca855f52..0b13b47f 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -80,10 +80,10 @@ typedef struct BMGHeader { typedef struct EntryINF1 { /* 0x00 */ u32 offset; // relative to the end of the DAT1 header - /* 0x04 */ u8 unk_04; // flags/attributes? (+0x04 to +0x06) - /* 0x05 */ u8 unk_05; - /* 0x06 */ u8 unk_06; - /* 0x07 */ u8 unk_07; + /* 0x04 */ u8 mUnk_04; // flags/attributes? (+0x04 to +0x06) + /* 0x05 */ u8 mUnk_05; + /* 0x06 */ u8 mUnk_06; + /* 0x07 */ u8 mUnk_07; } EntryINF1; // size = 0x8 typedef struct SectionINF1 { @@ -110,7 +110,7 @@ typedef struct InstrShowMsg { } InstrShowMsg; // size = 0x8 typedef struct InstrBranch { - /* 0x01 */ u8 unk_01; + /* 0x01 */ u8 mUnk_01; /* 0x02 */ u16 funcIndex; // index of the query function to run /* 0x04 */ u16 funcArg; // the argument to use in the function /* 0x06 */ u16 flwEntry; // the index of the second section table to be used next in the conversation. @@ -135,7 +135,7 @@ typedef struct SectionFLW1 { /* 0x00 */ SectionBase base; /* 0x04 */ u16 numInstructions; /* 0x08 */ u16 numLabels; - /* 0x0C */ u32 unk_0C; // always zero? + /* 0x0C */ u32 mUnk_0c; // always zero? /* 0x10 */ FLW1Instr* instructions; /* 0x14 */ s16* flwEntries; /* 0x18 */ s8* bmgFileIndices; @@ -150,7 +150,7 @@ typedef struct SectionFLI1 { /* 0x00 */ SectionBase base; /* 0x04 */ u16 numEntries; /* 0x08 */ u16 entrySize; - /* 0x0C */ u32 unk_0C; // always zero? + /* 0x0C */ u32 mUnk_0c; // always zero? /* 0x10 */ EntryFLI1* entries; } SectionFLI1; @@ -169,8 +169,8 @@ typedef struct BMGFileInfo { /* 0x08 */ SectionFLW1* pFLW1; // pointer to the message flow data (FLW -> flow) /* 0x0C */ SectionFLI1* pFLI1; // pointer to the message flow index table (FLI -> flow index table) /* 0x10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) - /* 0x14 */ BMGHeader* unk_14; // same as unk_00 (?) - /* 0x18 */ s16 unk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) + /* 0x14 */ BMGHeader* mUnk_14; // same as unk_00 (?) + /* 0x18 */ s16 mUnk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) /* 0x1A */ s16 groupId; // stores the group id } BMGFileInfo; // size = 0x1C diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index c5739430..c408caf7 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -6,27 +6,27 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" #include "Message/MsgProc.hpp" -#include "libs/nds/include/nds/math.h" +#include "nds/math.h" #include "Unknown/UnkStruct_02037750.hpp" class UnkStruct_027E0C68 : public SysObject { public: /* 0x00 */ u8 unk_00[2]; - /* 0x02 */ u8 unk_02; - /* 0x03 */ u8 unk_03; - /* 0x04 */ u8 unk_04; - /* 0x05 */ u8 unk_05; - /* 0x06 */ unk16 unk_06; - /* 0x08 */ MsgProc_Type1* unk_08; - /* 0x0C */ u8 unk_0C; - /* 0x0C */ u8 unk_0D; - /* 0x0C */ unk16 unk_0E; - /* 0x10 */ unk16 unk_10; - /* 0x10 */ unk16 unk_12; + /* 0x02 */ u8 mUnk_02; + /* 0x03 */ u8 mUnk_03; + /* 0x04 */ u8 mUnk_04; + /* 0x05 */ u8 mUnk_05; + /* 0x06 */ unk16 mUnk_06; + /* 0x08 */ MsgProc_Type1* mUnk_08; + /* 0x0C */ u8 mUnk_0c; + /* 0x0C */ u8 mUnk_0d; + /* 0x0C */ unk16 mUnk_0e; + /* 0x10 */ unk16 mUnk_10; + /* 0x10 */ unk16 mUnk_12; /* 0x14 */ BMGGroups* pGroups; /* 0x18 */ UnkStruct_020386d8* unk_18[2]; /* 0x20 */ UnkStruct_02037750* unk_20[2]; - /* 0x28 */ MsgProc_Main* unk_28[6]; + /* 0x28 */ UnkStruct_02038aa0* unk_28[6]; /* 0x40 */ MsgProc_Type1* unk_40[2]; // is array size 6? /* 0x48 */ @@ -55,13 +55,13 @@ public: bool func_02036d30(UnkStruct_02037750* param_2); bool func_02036d4c(UnkStruct_02037750* param_2); void func_02036d6c(void); - MsgProc_Main* func_02036da8(u32 param_2, s16* param_3); + UnkStruct_02038aa0* func_02036da8(u32 param_2, s16* param_3); void func_02036edc(u32 param_2, u8 param_3); MsgProc_Type1* func_02036f68(u32 param_2, u8* param_3); UnkStruct_020386d8* func_020370d0(unk32 param_2, unk32 param_3); UnkStruct_020386d8* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); void func_02037158(UnkSubClass1_02256FF8* param_2); - MsgProc_Main* func_02037178(UnkSubClass1_02256FF8* param_2); + UnkStruct_02038aa0* func_02037178(UnkSubClass1_02256FF8* param_2); }; extern UnkStruct_027E0C68 data_027e0c68; diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 50dcbc60..204f26c0 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -10,7 +10,7 @@ #include "Unknown/UnkStruct_020397f8.hpp" #include "Unknown/UnkStruct_02035064.hpp" #include "Unknown/UnkStruct_02037750.hpp" -#include "libs/nds/include/nds/math.h" +#include "nds/math.h" // temp #define UNK_TYPE void @@ -26,7 +26,7 @@ typedef struct UnkStruct_0203b264 { class UnkSubClass1_unk_410 { public: - /* 0x00 */ struct MsgProc_Type1* unk_00; + /* 0x00 */ struct MsgProc_Type1* mUnk_00; /* 0x04 */ void func_0203ec34(void); @@ -38,7 +38,7 @@ public: // same as UnkSubClass1_unk_410? class UnkSubClass1_unk_424 { public: - /* 0x00 */ struct MsgProc_Type1* unk_00; + /* 0x00 */ struct MsgProc_Type1* mUnk_00; /* 0x04 */ void func_0203ee80(unk32); @@ -51,7 +51,7 @@ public: class MsgProc_Base2_unk_114 : public SysObject { public: /* 0x00 (vtable) */ - /* 0x04 */ unk32* unk_04; + /* 0x04 */ unk32* mUnk_04; /* 0x08 */ MsgProc_Base2_unk_114(); @@ -64,16 +64,16 @@ public: }; struct func_02038f44_param4 { - u8 unk_00; - u8 unk_01; - u8 unk_02; - u8 unk_03; - unk32 unk_04; - unk32 unk_08; - unk32 unk_0C; - unk32 unk_10; - unk8 unk_14; - u8 unk_15; + u8 mUnk_00; + u8 mUnk_01; + u8 mUnk_02; + u8 mUnk_03; + unk32 mUnk_04; + unk32 mUnk_08; + unk32 mUnk_0c; + unk32 mUnk_10; + unk8 mUnk_14; + u8 mUnk_15; }; // TEMPORARY @@ -94,8 +94,8 @@ extern char* data_02057eec; // "Menu/UI_main/opening.bin" extern char* data_02057ed8; // "MSP:opening.nclr" struct Struct_027e0db0 { - /* 0x00 */ unk32 unk_00; - /* 0x04 */ unk32 unk_04; + /* 0x00 */ unk32 mUnk_00; + /* 0x04 */ unk32 mUnk_04; }; extern Struct_027e0db0 data_027e0db0; @@ -157,16 +157,16 @@ extern "C" void func_01ffbe34(UnkStruct_01ffbe34 *param1); struct UnkClass_027e1054_unk_00_unk00 { /* 0x00 */ u8 unk_00[0x95]; - /* 0x95 */ u8 unk_95; + /* 0x95 */ u8 mUnk_95; }; struct UnkClass_027e1054_unk_00 { - /* 0x00 */ unk32 unk_04; - /* 0x00 */ UnkClass_027e1054_unk_00_unk00* unk_00; + /* 0x00 */ unk32 mUnk_04; + /* 0x00 */ UnkClass_027e1054_unk_00_unk00* mUnk_00; }; class UnkClass_027e1054 { public: - UnkClass_027e1054_unk_00* unk_00; - unk32 unk_04; + UnkClass_027e1054_unk_00* mUnk_00; + unk32 mUnk_04; void func_ov003_020f4874(void); void func_ov003_020f4760(u8, unk32); @@ -182,7 +182,7 @@ extern UnkClass_ov000_020eec9c data_ov000_020eec9c; class UnkClass_ov000_027e0d04 { public: - /* 0x00 */ unk16 unk_00; + /* 0x00 */ unk16 mUnk_00; void func_0203fe60(unk32); }; diff --git a/include/Unknown/UnkStruct_02032f0c.hpp b/include/Unknown/UnkStruct_02032f0c.hpp index 60e807ab..2868a897 100644 --- a/include/Unknown/UnkStruct_02032f0c.hpp +++ b/include/Unknown/UnkStruct_02032f0c.hpp @@ -23,51 +23,52 @@ public: class UnkSubClass1_02256FF8 { public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ u8 unk_1C; - /* 0x20 */ + /* 00 (vtable) */ + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1c */ u8 mUnk_1c; + /* 20 */ UnkSubClass1_02256FF8(); - /* 0x00 */ virtual ~UnkSubClass1_02256FF8() override; - /* 0x08 */ virtual void vfunc_08(void) override; - /* 0x0C */ virtual void vfunc_0c(void) override; - /* 0x10 */ virtual void vfunc_10(void) override; - /* 0x14 */ virtual void vfunc_14(void) override; - /* 0x18 */ virtual void vfunc_18(void) override; - /* 0x1C */ virtual void vfunc_1c(void) override; - /* 0x20 */ virtual void vfunc_20(void) override; - /* 0x24 */ virtual void vfunc_24(void) override; - /* 0x28 */ virtual void vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2c(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual void vfunc_34(void) override; - /* 0x38 */ virtual void vfunc_38(void) override; - /* 0x3C */ + /* 00 */ virtual ~UnkSubClass1_02256FF8() override; + /* 08 */ virtual void vfunc_08(void) override; + /* 0c */ virtual void vfunc_0c(void) override; + /* 10 */ virtual void vfunc_10(void) override; + /* 14 */ virtual void vfunc_14(void) override; + /* 18 */ virtual void vfunc_18(void) override; + /* 1c */ virtual void vfunc_1c(void) override; + /* 20 */ virtual void vfunc_20(void) override; + /* 24 */ virtual void vfunc_24(void) override; + /* 28 */ virtual void vfunc_28(void) override; + /* 2c */ virtual void vfunc_2c(void) override; + /* 30 */ virtual void vfunc_30(void) override; + /* 34 */ virtual void vfunc_34(void) override; + /* 38 */ virtual void vfunc_38(void) override; + /* 3c */ }; struct UnkStruct_MsgProc_Base_unk_2C { - /* 0x00 */ s8 unk_00; - /* 0x00 */ s8 unk_01; - /* 0x00 */ s8 unk_02; - /* 0x00 */ s8 unk_03; - /* 0x04 */ unk32 unk_04; - /* 0x00 */ u8* unk_08; - /* 0x04 */ + /* 00 */ s8 mUnk_00; + /* 01 */ s8 mUnk_01; + /* 02 */ s8 mUnk_02; + /* 03 */ s8 mUnk_03; + /* 04 */ unk32 mUnk_04; + /* 08 */ u8* mUnk_08; + /* 0c */ }; struct func_0203b410_param_2 { - unk32 unk_00; - unk32 unk_04; - unk32 unk_08; - unk32 unk_0C; - unk16 unk_10; - unk16 unk_12; + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk16 mUnk_10; + /* 12 */ unk16 mUnk_12; + /* 14 */ }; // astruct_8, MsgProc_Base @@ -77,23 +78,23 @@ public: /* 04 */ unk32* mUnk_04; /* 08 */ UnkSubClass1_02256FF8* mUnk_08; /* 0c */ u16 *mUnk_0c; - /* 0x010 */ unk32* unk_10; - /* 0x014 */ s32 unk_14; - /* 0x018 */ s32 unk_18; - /* 0x01C */ unk32 unk_1C; - /* 0x020 */ unk32 unk_20; - /* 0x024 */ unk32* unk_24; + /* 10 */ unk32* mUnk_10; + /* 14 */ s32 mUnk_14; + /* 18 */ s32 mUnk_18; + /* 1c */ unk32 mUnk_1c; + /* 20 */ unk32 mUnk_20; + /* 24 */ unk32* mUnk_24; /* 28 */ unk32* mUnk_28; /* 2c */ UnkStruct_MsgProc_Base_unk_2C **mUnk_2c; /* 30 */ s32 mUnk_30; /* 34 */ s32 mUnk_34; /* 38 */ unk32 mUnk_38; /* 3c */ unk16 mUnk_3c; - /* 0x03E */ unk16 unk_3E; - /* 0x040 */ unk32 unk_40; - /* 0x044 */ unk32 unk_44; - /* 0x048 */ u8 unk_48; - /* 0x049 */ u8 unk_49; + /* 3e */ unk16 mUnk_3e; + /* 40 */ unk32 mUnk_40; + /* 44 */ unk32 mUnk_44; + /* 48 */ u8 mUnk_48; + /* 49 */ u8 mUnk_49; /* 4a */ u16 mUnk_4a; /* 4c */ u8 mUnk_4c; /* 4d */ bool mUnk_4d; @@ -124,26 +125,26 @@ public: // /* 0x24 */ /* func_02033af4 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); //! TODO: fake? - /* 0x28 */ virtual bool vfunc_28(void); - /* 0x2C */ virtual void vfunc_2C(void); - /* 0x30 */ virtual void vfunc_30(void); - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2); - /* 0x38 */ virtual bool vfunc_38(void); - /* 0x3C */ virtual void vfunc_3C(unk32 param_2); - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); - /* 0x48 */ virtual void vfunc_48(void); - /* 0x4C */ virtual void vfunc_4C(void); - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5); - /* 0x54 */ virtual void vfunc_54(void); - /* 0x58 */ virtual void vfunc_58(void); - /* 0x5C */ virtual void vfunc_5C(void); - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); - /* 0x64 */ virtual void vfunc_64(s16* param_2); - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2); - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); - /* 0x74 */ + /* 28 */ virtual bool vfunc_28(void); + /* 2c */ virtual void vfunc_2C(void); + /* 30 */ virtual void vfunc_30(void); + /* 34 */ virtual unk32 vfunc_34(unk32 param_2); + /* 38 */ virtual bool vfunc_38(void); + /* 3c */ virtual void vfunc_3C(unk32 param_2); + /* 40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3); + /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); + /* 48 */ virtual void vfunc_48(void); + /* 4c */ virtual void vfunc_4C(void); + /* 50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5); + /* 54 */ virtual void vfunc_54(void); + /* 58 */ virtual void vfunc_58(void); + /* 5c */ virtual void vfunc_5C(void); + /* 60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); + /* 64 */ virtual void vfunc_64(s16* param_2); + /* 68 */ virtual unk32 vfunc_68(unk32 param_2); + /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); + /* 70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); + /* 74 */ UnkStruct_02032f0c(); void func_02032f94(); diff --git a/include/Unknown/UnkStruct_02035064.hpp b/include/Unknown/UnkStruct_02035064.hpp index b48f7768..122c617d 100644 --- a/include/Unknown/UnkStruct_02035064.hpp +++ b/include/Unknown/UnkStruct_02035064.hpp @@ -9,28 +9,28 @@ class UnkStruct_02035064 { public: /* 00 (vtable) */ /* 04 */ unk32 mUnk_04; - /* 0x08 */ u32* unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; + /* 08 */ u32* mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; /* 14 */ u32 mUnk_14; - /* 18 */ unk32 unk_18; + /* 18 */ unk32 mUnk_18; /* 1c */ unk32 mUnk_1c; /* 20 */ u32* mUnk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ unk32 unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ u32* unk_34; - /* 0x38 */ u32* unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ unk32 unk_48; + /* 24 */ unk32 mUnk_24; + /* 28 */ unk32 mUnk_28; + /* 2c */ unk32 mUnk_2c; + /* 30 */ unk32 mUnk_30; + /* 34 */ u32* mUnk_34; + /* 38 */ u32* mUnk_38; + /* 3c */ unk32 mUnk_3c; + /* 40 */ unk32 mUnk_40; + /* 44 */ unk32 mUnk_44; + /* 48 */ unk32 mUnk_48; /* 4c */ s16 mUnk_4c; /* 4e */ s16 mUnk_4e; - /* 50 */ unk32 unk_50; - /* 0x54 */ unk32 unk_54; - /* 0x58 */ unk32 unk_58; + /* 50 */ unk32 mUnk_50; + /* 54 */ unk32 mUnk_54; + /* 58 */ unk32 mUnk_58; /* 5c */ UnkStruct_0202e1a0 mUnk_5c; /* 74 */ u16 *mUnk_74; /* 78 */ s32* mUnk_78; diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index 138ae201..57343813 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -41,8 +41,8 @@ public: class UnkStruct_020386d8_24 { public: - /* 0x00 */ unk32 mUnk_00; - /* 0x04 */ + /* 00 */ unk32 mUnk_00; + /* 04 */ void func_020376c0(Vec3p param_2); }; diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index 0f00c585..bec535d6 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -30,21 +30,21 @@ public: class UnkSubClass1_unk_124 { public: - /* 0x00 */ void* unk_00; // pointer to MsgProc_Main (well, the first members of the base class) - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ unk32 unk_14; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk8 unk_28; - /* 0x29 */ unk8 unk_29; - /* 0x2A */ unk8 unk_2A; - /* 0x2B */ unk8 unk_2B; - /* 0x2C */ + /* 00 */ void* mUnk_00; // pointer to MsgProc_Main (well, the first members of the base class) + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1c */ unk32 mUnk_1c; + /* 20 */ unk32 mUnk_20; + /* 24 */ unk32 mUnk_24; + /* 28 */ unk8 mUnk_28; + /* 29 */ unk8 mUnk_29; + /* 2a */ unk8 mUnk_2a; + /* 2b */ unk8 mUnk_2b; + /* 2c */ void func_0203f020(s16*, unk32); }; @@ -58,7 +58,7 @@ public: /* 128 */ UnkStruct_0203881c mUnk_128; /* 150 */ u8 unk_150[4]; /* 154 */ EntryINF1* pInfoEntry; - /* 158 */ Vec2s unk_158; // textbox position? + /* 158 */ Vec2s mUnk_158; // textbox position? /* 15c */ s16 mUnk_15c; /* 15e */ s8 mUnk_15e; /* 15f */ s8 mUnk_15f; @@ -73,7 +73,7 @@ public: /* 2c */ virtual void vfunc_2c(); /* 30 */ virtual void vfunc_30(); /* 34 */ virtual unk32 vfunc_34(s32 param1); - /* 38 */ virtual unk32 vfunc_38(); + /* 38 */ virtual bool vfunc_38(); /* 3c */ virtual void vfunc_3c() = 0; /* 40 */ virtual void vfunc_40() = 0; /* 44 */ virtual void vfunc_44(); diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index 6d1b6fdc..e046c518 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -8,9 +8,9 @@ // does it host both choices? struct UnknownMsgChoiceStruct { - /* 0x00 */ UnkStruct_0203b264* unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ + /* 00 */ UnkStruct_0203b264* mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ }; // astruct_2, MsgProc_Type1 @@ -30,31 +30,31 @@ public: /* 41c */ unk16 mUnk_41c; /* 41e */ unk16 mUnk_41e; /* 420 */ unk16 mUnk_420; - /* 422 */ unk16 unk_422; + /* 422 */ unk16 mUnk_422; /* 424 */ unk32 *mUnk_424; // UnkSubClass1_unk_424? /* 428 */ UnknownMsgChoiceStruct unk_428[0x20]; - /* 0x528 */ unk16 unk_528[4]; // number of choices? - /* 0x55C */ unk32 unk_530; - /* 0x55C */ unk16 unk_534; - /* 0x55C */ unk16 unk_536; - /* 0x55C */ unk16 unk_538; - /* 0x55C */ unk16 unk_53A; - /* 0x55C */ unk32 unk_53C; - /* 0x55C */ unk32 unk_540; - /* 0x55C */ unk8 unk_544; - /* 0x55C */ unk8 unk_545; - /* 0x55C */ unk8 unk_546; - /* 0x55C */ unk8 unk_547; - /* 0x55C */ unk16 unk_548; - /* 0x55C */ unk16 unk_54A; - /* 0x55C */ unk16 unk_54C; - /* 0x55C */ unk16 unk_54E; + /* 528 */ unk16 unk_528[4]; // number of choices? + /* 530 */ unk32 mUnk_530; + /* 534 */ unk16 mUnk_534; + /* 536 */ unk16 mUnk_536; + /* 538 */ unk16 mUnk_538; + /* 53a */ unk16 mUnk_53a; + /* 53c */ unk32 mUnk_53c; + /* 540 */ unk32 mUnk_540; + /* 544 */ unk8 mUnk_544; + /* 545 */ unk8 mUnk_545; + /* 546 */ unk8 mUnk_546; + /* 547 */ unk8 mUnk_547; + /* 548 */ unk16 mUnk_548; + /* 54a */ unk16 mUnk_54a; + /* 54c */ unk16 mUnk_54c; + /* 54e */ unk16 mUnk_54e; /* 550 */ unk32 mUnk_550; /* 554 */ unk32 mUnk_554; - /* 558 */ unk8 unk_558; - /* 0x55C */ unk8 unk_559; - /* 0x55C */ unk8 unk_55A; - /* 0x55C */ unk8 unk_55B; + /* 558 */ unk8 mUnk_558; + /* 559 */ unk8 mUnk_559; + /* 55a */ unk8 mUnk_55a; + /* 55b */ unk8 mUnk_55b; /* 55c */ unk32 mUnk_55c; /* 560 */ unk32 mUnk_560; /* 564 */ u16 unk_564[4]; @@ -117,12 +117,12 @@ public: bool func_0203c1a0(); bool func_0203c25c(); /* 00 */ virtual ~UnkStruct_020397f8(); - /* 38 */ virtual unk32 vfunc_38(); + /* 38 */ virtual bool vfunc_38(); /* 74 */ //! TODO: check if this is really here static bool func_0203c25c(class MsgProc_Type1* param_1); - static void func_0203e060(MsgProc_Main* param_1, u8 param_2, u8 param_3); + static void func_0203e060(UnkStruct_02038aa0* param_1, u8 param_2, u8 param_3); void func_02039a3c(void); unk32 func_02039250(void); void func_02039ca8(void); @@ -138,105 +138,103 @@ public: void func_0203bd8c(u16 param_2); void func_0203be08(void); void func_0203be64(void); - unk32 func_0203c084(void); bool func_0203c13c(void); - unk32 func_0203c1a0(void); }; class MsgProc_Type3 : public UnkStruct_02038aa0 { public: - /* 0x164 */ unk16 unk_164; - /* 0x166 */ unk16 unk_166; - /* 0x168 */ unk16 unk_168; - /* 0x16A */ unk16 unk_16A; - /* 0x16C */ unk16 unk_16C; - /* 0x16E */ unk16 unk_16E; - /* 0x170 */ unk16 unk_170; - /* 0x172 */ unk16 unk_172; - /* 0x174 */ unk16 unk_174; - /* 0x178 */ unk32 unk_178; - /* 0x17C */ unk32 unk_17C; - /* 0x180 */ UnkClass_func_ov000_020d0644 unk_180[4]; - /* 0x1C0 */ + /* 164 */ unk16 mUnk_164; + /* 166 */ unk16 mUnk_166; + /* 168 */ unk16 mUnk_168; + /* 16a */ unk16 mUnk_16a; + /* 16c */ unk16 mUnk_16c; + /* 16e */ unk16 mUnk_16e; + /* 170 */ unk16 mUnk_170; + /* 172 */ unk16 mUnk_172; + /* 174 */ unk16 mUnk_174; + /* 178 */ unk32 mUnk_178; + /* 17c */ unk32 mUnk_17c; + /* 180 */ UnkClass_func_ov000_020d0644 unk_180[4]; + /* 1c0 */ MsgProc_Type3(); MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type3(); - /* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ virtual void vfunc_20(void) override; - /* 0x24 */ virtual void vfunc_24(void) override; - /* 0x28 */ virtual bool vfunc_28(void) override; - /* 0x2C */ virtual void vfunc_2C(void) override; - /* 0x30 */ virtual void vfunc_30(void) override; - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ + /* 00 */ virtual ~MsgProc_Type3(); + /* 08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0c */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 1c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 20 */ virtual void vfunc_20(void) override; + /* 24 */ virtual void vfunc_24(void) override; + /* 28 */ virtual bool vfunc_28(void) override; + /* 2c */ virtual void vfunc_2C(void) override; + /* 30 */ virtual void vfunc_30(void) override; + /* 34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 38 */ virtual bool vfunc_38(void) override; + /* 3c */ virtual void vfunc_3C(unk32 param_2) override; + /* 40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 48 */ virtual void vfunc_48(void) override; + /* 4c */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 54 */ virtual void vfunc_54(void) override; + /* 58 */ virtual void vfunc_58(void) override; + /* 5c */ virtual void vfunc_5C(void) override; + /* 60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 64 */ virtual void vfunc_64(s16* param_2) override; + /* 68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 74 */ static void func_0203c83c(void); }; class MsgProc_Type2 : public UnkStruct_02038aa0 { public: - /* 0x164 */ unk16 unk_164; - /* 0x164 */ unk16 unk_166; - /* 0x164 */ unk16 unk_168; - /* 0x164 */ unk16 unk_16A; - /* 0x164 */ unk16 unk_16C; - /* 0x164 */ unk16 unk_16E; - /* 0x170 */ + /* 164 */ unk16 mUnk_164; + /* 166 */ unk16 mUnk_166; + /* 168 */ unk16 mUnk_168; + /* 16a */ unk16 mUnk_16a; + /* 16c */ unk16 mUnk_16c; + /* 16e */ unk16 mUnk_16e; + /* 170 */ MsgProc_Type2(); MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden - /* 0x00 */ virtual ~MsgProc_Type2(); - /* 0x08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? - /* 0x14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 0x20 */ /* func_020390a4 */ virtual void vfunc_20(void) override; - /* 0x24 */ /* astruct_8::vfunc_24 */ virtual void vfunc_24(void) override; - /* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; - /* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override; - /* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; - /* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; - /* 0x3C */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; - /* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; - /* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override; - /* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override; - /* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ + /* 00 */ virtual ~MsgProc_Type2(); + /* 08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 0c */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; + /* 10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? + /* 14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; + /* 18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + /* 1c */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 20 */ /* func_020390a4 */ virtual void vfunc_20(void) override; + /* 24 */ /* astruct_8::vfunc_24 */ virtual void vfunc_24(void) override; + /* 28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; + /* 2c */ /* func_02038d20 */ virtual void vfunc_2C(void) override; + /* 30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; + /* 34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; + /* 3c */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; + /* 40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; + /* 4c */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; + /* 58 */ /* func_02039398 */ virtual void vfunc_58(void) override; + /* 5c */ /* func_02039058 */ virtual void vfunc_5C(void) override; + /* 60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 64 */ /* func_020393a8 */ virtual void vfunc_64(s16* param_2) override; + /* 68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 6c */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 74 */ //! TODO: vfunc_4C? void func_0203c39c(unk32 param_2, unk32 param_3); diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index 7870c0f9..af1ba915 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -9,60 +9,60 @@ class UnkStruct_0203dae0 : public UnkStruct_02032f0c { public: /* 000 (base) */ - /* 0x052 */ unk16 unk_52; - /* 0x054 */ unk16 unk_54; - /* 0x054 */ unk16 unk_56; - /* 0x058 */ unk32 unk_58; - /* 0x05C */ s16 unk_5C; - /* 0x05E */ s16 unk_5E; - /* 0x060 */ unk32 unk_60; - /* 0x064 */ unk32 unk_64; - /* 0x068 */ unk32 unk_68; - /* 0x06C */ unk32 unk_6C; - /* 0x070 */ unk32 unk_70; - /* 0x074 */ unk32 unk_74; - /* 0x078 */ unk32 unk_78; - /* 0x07C */ unk32 unk_7C; - /* 0x080 */ unk32 unk_80; - /* 0x084 */ unk32 unk_84; - /* 0x088 */ unk32 unk_88; - /* 0x08C */ unk32 unk_8C; - /* 0x090 */ unk32 unk_90; - /* 0x094 */ unk32 unk_94; - /* 0x098 */ unk32 unk_98; - /* 0x09C */ unk32 unk_9C; - /* 0x0A0 */ unk32 unk_A0; - /* 0x0A4 */ unk32 unk_A4; - /* 0x0A8 */ unk32 unk_A8; - /* 0x0AC */ unk32 unk_AC; - /* 0x0B0 */ unk32 unk_B0; - /* 0x0B4 */ unk32 unk_B4; - /* 0x0B8 */ unk32 unk_B8; - /* 0x0BC */ unk32 unk_BC; - /* 0x0C0 */ unk32 unk_C0; - /* 0x0C4 */ unk32 unk_C4; - /* 0x0C8 */ unk32 unk_C8; - /* 0x0CC */ unk32 unk_CC; - /* 0x0D0 */ unk32 unk_D0; - /* 0x0D4 */ unk32 unk_D4; - /* 0x0D8 */ unk32 unk_D8; - /* 0x0DC */ unk32 unk_DC; - /* 0x0E0 */ unk32 unk_E0; - /* 0x0E4 */ unk32 unk_E4; - /* 0x0E8 */ unk32 unk_E8; - /* 0x0EC */ unk32 unk_EC; - /* 0x0F0 */ unk32 unk_F0; - /* 0x0F4 */ unk32 unk_F4; - /* 0x0F8 */ unk32 unk_F8; - /* 0x0FC */ unk32 unk_FC; - /* 0x100 */ unk32 unk_100; - /* 0x104 */ unk32 unk_104; - /* 0x108 */ unk8 unk_108; - /* 0x108 */ unk8 unk_109; - /* 0x108 */ unk8 unk_10A; - /* 0x108 */ unk8 unk_10B; - /* 0x10C */ unk32 unk_10C; - /* 0x110 */ unk32 unk_110; + /* 052 */ unk16 mUnk_52; + /* 054 */ unk16 mUnk_54; + /* 054 */ unk16 mUnk_56; + /* 058 */ unk32 mUnk_58; + /* 05c */ s16 mUnk_5c; + /* 05e */ s16 mUnk_5e; + /* 060 */ unk32 mUnk_60; + /* 064 */ unk32 mUnk_64; + /* 068 */ unk32 mUnk_68; + /* 06c */ unk32 mUnk_6c; + /* 070 */ unk32 mUnk_70; + /* 074 */ unk32 mUnk_74; + /* 078 */ unk32 mUnk_78; + /* 07c */ unk32 mUnk_7c; + /* 080 */ unk32 mUnk_80; + /* 084 */ unk32 mUnk_84; + /* 088 */ unk32 mUnk_88; + /* 08c */ unk32 mUnk_8c; + /* 090 */ unk32 mUnk_90; + /* 094 */ unk32 mUnk_94; + /* 098 */ unk32 mUnk_98; + /* 09c */ unk32 mUnk_9c; + /* 0a0 */ unk32 mUnk_a0; + /* 0a4 */ unk32 mUnk_a4; + /* 0a8 */ unk32 mUnk_a8; + /* 0ac */ unk32 mUnk_ac; + /* 0b0 */ unk32 mUnk_b0; + /* 0b4 */ unk32 mUnk_b4; + /* 0b8 */ unk32 mUnk_b8; + /* 0bc */ unk32 mUnk_bc; + /* 0c0 */ unk32 mUnk_c0; + /* 0c4 */ unk32 mUnk_c4; + /* 0c8 */ unk32 mUnk_c8; + /* 0cc */ unk32 mUnk_cc; + /* 0d0 */ unk32 mUnk_d0; + /* 0d4 */ unk32 mUnk_d4; + /* 0d8 */ unk32 mUnk_d8; + /* 0dc */ unk32 mUnk_dc; + /* 0e0 */ unk32 mUnk_e0; + /* 0e4 */ unk32 mUnk_e4; + /* 0e8 */ unk32 mUnk_e8; + /* 0ec */ unk32 mUnk_ec; + /* 0f0 */ unk32 mUnk_f0; + /* 0f4 */ unk32 mUnk_f4; + /* 0f8 */ unk32 mUnk_f8; + /* 0fc */ unk32 mUnk_fc; + /* 100 */ unk32 mUnk_100; + /* 104 */ unk32 mUnk_104; + /* 108 */ unk8 mUnk_108; + /* 108 */ unk8 mUnk_109; + /* 108 */ unk8 mUnk_10a; + /* 108 */ unk8 mUnk_10b; + /* 10c */ unk32 mUnk_10c; + /* 110 */ unk32 mUnk_110; /* 114 */ void *mUnk_114; // MsgProc_Base2_unk_114? /* 118 */ s32 mUnk_118; /* 11c */ unk16 mUnk_11c; @@ -96,23 +96,23 @@ public: // /* 0x30 */ /* func_0203e090 */ virtual void vfunc_30(void) override; //! TODO: fake? - /* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 0x38 */ virtual bool vfunc_38(void) override; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual void vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 0x54 */ virtual void vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual void vfunc_5C(void) override; - /* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; - /* 0x64 */ virtual void vfunc_64(s16* param_2) override; - /* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 0x74 */ + /* 34 */ virtual unk32 vfunc_34(unk32 param_2) override; + /* 38 */ virtual bool vfunc_38(void) override; + /* 3c */ virtual void vfunc_3C(unk32 param_2) override; + /* 40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; + /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; + /* 48 */ virtual void vfunc_48(void) override; + /* 4c */ virtual void vfunc_4C(void) override; // func_02039a3c? + /* 50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 54 */ virtual void vfunc_54(void) override; + /* 58 */ virtual void vfunc_58(void) override; + /* 5c */ virtual void vfunc_5C(void) override; + /* 60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 64 */ virtual void vfunc_64(s16* param_2) override; + /* 68 */ virtual unk32 vfunc_68(unk32 param_2) override; + /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; + /* 70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 74 */ UnkStruct_0203dae0(u8 param1); void func_0203dc10(s32 param1); diff --git a/include/Unknown/func_ov000_020d0644.hpp b/include/Unknown/func_ov000_020d0644.hpp index ff03d603..677169a4 100644 --- a/include/Unknown/func_ov000_020d0644.hpp +++ b/include/Unknown/func_ov000_020d0644.hpp @@ -5,10 +5,10 @@ class UnkClass_func_ov000_020d0644 { public: - /* 0x00 */ unk32 unk_00; - /* 0x04 */ unk32 unk_04; - /* 0x08 */ unk32 unk_08; - // /* 0x0C */ unk32 unk_0C; + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + // /* 0c */ unk32 mUnk_0c; /* 0x10 */ static void func_020d060c(void); -- cgit v1.2.3 From 5bd0f31b8bb36f54578a109a6dc6a24a2d6e4631 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 01:47:40 +0100 Subject: post-update cleanup: step 3 (1/2) --- include/DTCM/UnkStruct_027e103c.hpp | 2 +- include/Message/BMG.hpp | 2 +- include/Message/MessageManager.hpp | 16 ++++++++-------- include/Message/MsgProc.hpp | 20 ++++++++++---------- include/Unknown/UnkStruct_02032f0c.hpp | 5 ++++- include/Unknown/UnkStruct_02035064.hpp | 5 ++++- include/Unknown/UnkStruct_02037750.hpp | 4 ++-- include/Unknown/UnkStruct_02038aa0.hpp | 23 ++++++++++++----------- include/Unknown/UnkStruct_020397f8.hpp | 31 ++++++++++++++++++++----------- include/Unknown/UnkStruct_0203dae0.hpp | 3 ++- 10 files changed, 64 insertions(+), 47 deletions(-) (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index e133e876..96d7ec21 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -81,7 +81,7 @@ struct UnkStruct_027e103c { void func_ov000_020cfabc(s32 param1, s32 param2); void func_ov000_020cfae8(s32 param1, s32 param2); - //! TODO: find out if the type is always `MsgProc_Type1*` + //! TODO: find out if the type is always `UnkStruct_020397f8*` void func_ov000_020cfb20(void*); void func_ov000_020cfb38(); diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 0b13b47f..53a418ea 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -169,7 +169,7 @@ typedef struct BMGFileInfo { /* 0x08 */ SectionFLW1* pFLW1; // pointer to the message flow data (FLW -> flow) /* 0x0C */ SectionFLI1* pFLI1; // pointer to the message flow index table (FLI -> flow index table) /* 0x10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) - /* 0x14 */ BMGHeader* mUnk_14; // same as unk_00 (?) + /* 0x14 */ BMGHeader* mUnk_14; // same as pHeader (?) /* 0x18 */ s16 mUnk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) /* 0x1A */ s16 groupId; // stores the group id } BMGFileInfo; // size = 0x1C diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index c408caf7..17d8e0b2 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -17,17 +17,17 @@ public: /* 0x04 */ u8 mUnk_04; /* 0x05 */ u8 mUnk_05; /* 0x06 */ unk16 mUnk_06; - /* 0x08 */ MsgProc_Type1* mUnk_08; + /* 0x08 */ UnkStruct_020397f8* mUnk_08; /* 0x0C */ u8 mUnk_0c; /* 0x0C */ u8 mUnk_0d; /* 0x0C */ unk16 mUnk_0e; /* 0x10 */ unk16 mUnk_10; /* 0x10 */ unk16 mUnk_12; /* 0x14 */ BMGGroups* pGroups; - /* 0x18 */ UnkStruct_020386d8* unk_18[2]; - /* 0x20 */ UnkStruct_02037750* unk_20[2]; - /* 0x28 */ UnkStruct_02038aa0* unk_28[6]; - /* 0x40 */ MsgProc_Type1* unk_40[2]; // is array size 6? + /* 0x18 */ UnkStruct_020386d8* mUnk_18[2]; + /* 0x20 */ UnkStruct_02037750* mUnk_20[2]; + /* 0x28 */ UnkStruct_02038aa0* mUnk_28[6]; + /* 0x40 */ UnkStruct_020397f8* mUnk_40[2]; // is array size 6? /* 0x48 */ static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3); @@ -35,8 +35,8 @@ public: void func_0203665c(void); UnkStruct_027E0C68(); ~UnkStruct_027E0C68(); - MsgProc_Type1* func_020366c4(void); - MsgProc_Type1* func_02036700(void); + UnkStruct_020397f8* func_020366c4(void); + UnkStruct_020397f8* func_02036700(void); UnkStruct_020386d8* func_0203673c(void); bool func_02036770(u32 param_2); unk32 func_02036798(void); @@ -57,7 +57,7 @@ public: void func_02036d6c(void); UnkStruct_02038aa0* func_02036da8(u32 param_2, s16* param_3); void func_02036edc(u32 param_2, u8 param_3); - MsgProc_Type1* func_02036f68(u32 param_2, u8* param_3); + UnkStruct_020397f8* func_02036f68(u32 param_2, u8* param_3); UnkStruct_020386d8* func_020370d0(unk32 param_2, unk32 param_3); UnkStruct_020386d8* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); void func_02037158(UnkSubClass1_02256FF8* param_2); diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 204f26c0..2874fd99 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -24,9 +24,9 @@ typedef struct UnkStruct_0203b264 { /* 8 */ } UnkStruct_0203b264; -class UnkSubClass1_unk_410 { +class UnkStruct_020397f8_410 { public: - /* 0x00 */ struct MsgProc_Type1* mUnk_00; + /* 0x00 */ struct UnkStruct_020397f8* mUnk_00; /* 0x04 */ void func_0203ec34(void); @@ -35,10 +35,10 @@ public: void func_0203ec4c(UnkStruct_0203b264* param_2, unk32 param_3, s32 param_4, s32 param_5); }; -// same as UnkSubClass1_unk_410? -class UnkSubClass1_unk_424 { +// same as UnkStruct_020397f8_410? +class UnkStruct_020397f8_424 { public: - /* 0x00 */ struct MsgProc_Type1* mUnk_00; + /* 0x00 */ struct UnkStruct_020397f8* mUnk_00; /* 0x04 */ void func_0203ee80(unk32); @@ -48,19 +48,19 @@ public: UnkStruct_0203b264* func_0203eeb0(unk32 param_2, unk32 param_3); }; -class MsgProc_Base2_unk_114 : public SysObject { +class UnkStruct_0203dae0_114 : public SysObject { public: /* 0x00 (vtable) */ /* 0x04 */ unk32* mUnk_04; /* 0x08 */ - MsgProc_Base2_unk_114(); - /* 0x00 */ virtual ~MsgProc_Base2_unk_114() override; + UnkStruct_0203dae0_114(); + /* 0x00 */ virtual ~UnkStruct_0203dae0_114() override; /* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE); /* 0x08 */ virtual unk32 vfunc_08(void*, s16); /* 0x0C */ - unk32 func_0203d1b4(void); + unk32* func_0203d1b4(void); }; struct func_02038f44_param4 { @@ -80,7 +80,7 @@ struct func_02038f44_param4 { extern "C" u32 func_01ff9b4c(unk32, unk32); extern "C" unk32 func_0203c084(void); -extern "C" void func_ov018_02169634(MsgProc_Type1*); +extern "C" void func_ov018_02169634(UnkStruct_020397f8*); extern "C" unk32 func_ov000_02079e04(void); extern "C" unk32 func_02016fcc(unk32); extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); diff --git a/include/Unknown/UnkStruct_02032f0c.hpp b/include/Unknown/UnkStruct_02032f0c.hpp index 2868a897..247f8dc8 100644 --- a/include/Unknown/UnkStruct_02032f0c.hpp +++ b/include/Unknown/UnkStruct_02032f0c.hpp @@ -2,7 +2,9 @@ #include "global.h" #include "types.h" + #include "Message/BMG.hpp" +#include "System/SysNew.hpp" class UnkStruct_02032e7c { public: @@ -72,7 +74,7 @@ struct func_0203b410_param_2 { }; // astruct_8, MsgProc_Base -class UnkStruct_02032f0c { +class UnkStruct_02032f0c : public SysObject { public: /* 00 (vtable) */ /* 04 */ unk32* mUnk_04; @@ -152,6 +154,7 @@ public: u16 **SetUnk_0c(u16 *value); u8 func_02032fa4(); s32 func_02032fb4(); + void func_02032fcc(unk32, unk32); void func_02033214(unk32 param1, unk32 param2, unk32 param3, u8 param4, unk32 param5); unk32 func_02033360(void); void func_020334b4(u32 param1, s32 param2, s32 param3, s32 param4); diff --git a/include/Unknown/UnkStruct_02035064.hpp b/include/Unknown/UnkStruct_02035064.hpp index 122c617d..b2443949 100644 --- a/include/Unknown/UnkStruct_02035064.hpp +++ b/include/Unknown/UnkStruct_02035064.hpp @@ -8,7 +8,8 @@ class UnkStruct_02035064 { public: /* 00 (vtable) */ - /* 04 */ unk32 mUnk_04; + /* 04 */ unk16 mUnk_04; + /* 04 */ unk16 mUnk_06; /* 08 */ u32* mUnk_08; /* 0c */ unk32 mUnk_0c; /* 10 */ unk32 mUnk_10; @@ -49,6 +50,8 @@ public: UnkStruct_02035064(); ~UnkStruct_02035064(); + static u8 func_02035428(u8 param1); + void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_020350b0(); diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index 57343813..fe1a9740 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -6,7 +6,7 @@ #include "Player/LinkStateInteract.hpp" #include "System/SysNew.hpp" -class MsgProc_Type1; +class UnkStruct_020397f8; // astruct_14 class UnkStruct_02037750 : public SysObject { @@ -22,7 +22,7 @@ public: /* 00 */ virtual ~UnkStruct_02037750(); /* 08 */ virtual void vfunc_08(u32 param1); - /* 0c */ virtual void vfunc_0c(class MsgProc_Type1* param1); + /* 0c */ virtual void vfunc_0c(class UnkStruct_020397f8* param1); /* 10 */ virtual void vfunc_10(); /* 14 */ virtual void vfunc_14(); /* 18 */ virtual void vfunc_18(); diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index bec535d6..9969f89c 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -4,9 +4,10 @@ #include "types.h" #include "Unknown/UnkStruct_0203dae0.hpp" +#include "System/SysNew.hpp" class UnkStruct_02038aa0; -typedef bool (*UnknownCallback)(class MsgProc_Type1*); +typedef bool (*UnknownCallback)(class UnkStruct_020397f8*); class UnkStruct_0203881c : public UnkStruct_02032e7c { public: @@ -14,7 +15,7 @@ public: /* 14 */ unk32 mUnk_14; /* 18 */ unk32 mUnk_18; /* 1c */ UnknownCallback mUnk_1c; - /* 20 */ class MsgProc_Type1* mUnk_20; + /* 20 */ class UnkStruct_020397f8* mUnk_20; /* 24 */ unk32 mUnk_24; /* 28 */ @@ -56,7 +57,7 @@ public: /* 123 */ unk8 mUnk_123; /* 124 */ UnkSubClass1_unk_124* mUnk_124; /* 128 */ UnkStruct_0203881c mUnk_128; - /* 150 */ u8 unk_150[4]; + /* 150 */ u8 mUnk_150[4]; /* 154 */ EntryINF1* pInfoEntry; /* 158 */ Vec2s mUnk_158; // textbox position? /* 15c */ s16 mUnk_15c; @@ -66,7 +67,8 @@ public: /* 161 */ /* 00 */ virtual ~UnkStruct_02038aa0(); - /* 08 */ virtual void vfunc_08(s32 param1, unk32 param2, s16 *param3, unk32 param4); + /* 08 */ virtual void vfunc_08(s32 param1, unk32* param2, s16 *param3, unk32 param4); + /* 0c */ virtual void vfunc_0c(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); /* 10 */ virtual void vfunc_10(unk32 param1); /* 1c */ virtual unk32 vfunc_1c(s32 param1, unk32 *param2, unk32 param3, unk32 param4); /* 20 */ virtual unk32 vfunc_20(s32 param1, s32 *param2); @@ -74,15 +76,15 @@ public: /* 30 */ virtual void vfunc_30(); /* 34 */ virtual unk32 vfunc_34(s32 param1); /* 38 */ virtual bool vfunc_38(); - /* 3c */ virtual void vfunc_3c() = 0; - /* 40 */ virtual void vfunc_40() = 0; - /* 44 */ virtual void vfunc_44(); + /* 3c */ virtual void vfunc_3c(); + /* 40 */ virtual void vfunc_40(); + /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); /* 48 */ virtual void vfunc_48(); /* 4c */ virtual void vfunc_4c(); - /* 50 */ virtual void vfunc_50(unk32 param1, unk32 param2, s32 param3, unk32 param4); + /* 50 */ virtual void vfunc_50(EntryINF1* param1, u32 param2, s16* param3, UnkSubClass1_02256FF8* param4); /* 54 */ virtual void vfunc_54(); /* 58 */ virtual void vfunc_58(); - /* 5c */ virtual void vfunc_5c(); + /* 5c */ virtual void vfunc_5c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); /* 60 */ virtual void vfunc_60(); /* 64 */ virtual void vfunc_64(); /* 68 */ virtual s32 vfunc_68(unk32 param1); @@ -145,13 +147,12 @@ public: void func_0203e1b0(unk32, unk32, unk32); //! TODO: not sure it belongs to this class: - void func_02032fcc(unk32, unk32); + void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); void func_020331c4(unk32, unk32); void func_0203947c(void); void func_0203cabc(unk32); unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); void func_0203e2ac(unk32* param_2); - void func_0203fc78(unk32*, unk32*); s16 func_0203d318(s16, s16); }; diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index e046c518..dcbcac24 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -5,6 +5,7 @@ #include "Unknown/UnkStruct_02035064.hpp" #include "Unknown/UnkStruct_02038aa0.hpp" +#include "System/SysNew.hpp" // does it host both choices? struct UnknownMsgChoiceStruct { @@ -13,27 +14,29 @@ struct UnknownMsgChoiceStruct { /* 08 */ }; -// astruct_2, MsgProc_Type1 +class UnkStruct_020397f8_410; + +// astruct_2, UnkStruct_020397f8 class UnkStruct_020397f8 : public UnkStruct_02038aa0 { public: /* 000 (base) */ /* 161 */ unk8 mUnk_161[0x3]; - /* 164 */ MsgProc_Type1* mUnk_164; + /* 164 */ UnkStruct_020397f8* mUnk_164; /* 168 */ UnkStruct_02035064 mUnk_168; /* 1f0 */ UnkStruct_02035064 mUnk_1f0; /* 278 */ UnkStruct_02035064 mUnk_278; /* 300 */ UnkStruct_02035064 mUnk_300; /* 388 */ UnkStruct_02035064 mUnk_388; - /* 410 */ unk32 *mUnk_410; // UnkSubClass1_unk_410? + /* 410 */ UnkStruct_020397f8_410 mUnk_410; /* 414 */ unk32 mUnk_414; /* 418 */ UnkStruct_02038aa0* mUnk_418; /* 41c */ unk16 mUnk_41c; /* 41e */ unk16 mUnk_41e; /* 420 */ unk16 mUnk_420; /* 422 */ unk16 mUnk_422; - /* 424 */ unk32 *mUnk_424; // UnkSubClass1_unk_424? - /* 428 */ UnknownMsgChoiceStruct unk_428[0x20]; - /* 528 */ unk16 unk_528[4]; // number of choices? + /* 424 */ UnkStruct_020397f8_424 mUnk_424; + /* 428 */ UnknownMsgChoiceStruct mUnk_428[0x20]; + /* 528 */ unk16 mUnk_528[4]; // number of choices? /* 530 */ unk32 mUnk_530; /* 534 */ unk16 mUnk_534; /* 536 */ unk16 mUnk_536; @@ -57,7 +60,7 @@ public: /* 55b */ unk8 mUnk_55b; /* 55c */ unk32 mUnk_55c; /* 560 */ unk32 mUnk_560; - /* 564 */ u16 unk_564[4]; + /* 564 */ u16 mUnk_564[4]; /* 56c */ unk16 mUnk_56c; /* 56e */ unk16 mUnk_56e; /* 570 */ unk16 mUnk_570; @@ -94,9 +97,9 @@ public: /* 48 */ virtual void vfunc_48(); void func_0203a35c(); bool func_0203a3e0(); - /* 44 */ virtual void vfunc_44(s32 param1, s32 param2); + /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); bool func_0203a6d0(unk32 param1); - /* 50 */ virtual void vfunc_50(unk32 param1, unk32 param2, s32 param3, unk32 param4); + /* 50 */ virtual void vfunc_50(EntryINF1* param1, unk32 param2, s32 param3, unk32 param4); /* 54 */ virtual void vfunc_54(); /* 5c */ virtual void vfunc_5c(); /* 58 */ virtual void vfunc_58(); @@ -121,7 +124,7 @@ public: /* 74 */ //! TODO: check if this is really here - static bool func_0203c25c(class MsgProc_Type1* param_1); + static bool func_0203c25c(class UnkStruct_020397f8* param_1); static void func_0203e060(UnkStruct_02038aa0* param_1, u8 param_2, u8 param_3); void func_02039a3c(void); unk32 func_02039250(void); @@ -143,6 +146,9 @@ public: class MsgProc_Type3 : public UnkStruct_02038aa0 { public: + /* 000 (base) */ + /* 161 */ unk8 mUnk_161; + /* 162 */ unk16 mUnk_162; /* 164 */ unk16 mUnk_164; /* 166 */ unk16 mUnk_166; /* 168 */ unk16 mUnk_168; @@ -154,7 +160,7 @@ public: /* 174 */ unk16 mUnk_174; /* 178 */ unk32 mUnk_178; /* 17c */ unk32 mUnk_17c; - /* 180 */ UnkClass_func_ov000_020d0644 unk_180[4]; + /* 180 */ UnkClass_func_ov000_020d0644 mUnk_180[4]; /* 1c0 */ MsgProc_Type3(); @@ -195,6 +201,9 @@ public: class MsgProc_Type2 : public UnkStruct_02038aa0 { public: + /* 000 (base) */ + /* 161 */ unk8 mUnk_161; + /* 162 */ unk16 mUnk_162; /* 164 */ unk16 mUnk_164; /* 166 */ unk16 mUnk_166; /* 168 */ unk16 mUnk_168; diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index af1ba915..6d6e25ae 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -4,6 +4,7 @@ #include "types.h" #include "Unknown/UnkStruct_02032f0c.hpp" +#include "Message/MsgProc.hpp" // astruct_7, MsgProc_Base2 class UnkStruct_0203dae0 : public UnkStruct_02032f0c { @@ -63,7 +64,7 @@ public: /* 108 */ unk8 mUnk_10b; /* 10c */ unk32 mUnk_10c; /* 110 */ unk32 mUnk_110; - /* 114 */ void *mUnk_114; // MsgProc_Base2_unk_114? + /* 114 */ UnkStruct_0203dae0_114 *mUnk_114; /* 118 */ s32 mUnk_118; /* 11c */ unk16 mUnk_11c; /* 11e */ u8 mUnk_11e; -- cgit v1.2.3 From 4928bc4660791fa40233c5a37256fa7b3d8e8a01 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 12:28:21 +0100 Subject: post-update cleanup: step 3 (2/2) --- include/Message/MessageManager.hpp | 2 +- include/Message/MsgProc.hpp | 2 +- include/Unknown/UnkStruct_02032f0c.hpp | 4 ++-- include/Unknown/UnkStruct_020397f8.hpp | 23 +++++++++++------------ include/Unknown/UnkStruct_0203dae0.hpp | 2 +- 5 files changed, 16 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 17d8e0b2..53c500b1 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -11,7 +11,7 @@ class UnkStruct_027E0C68 : public SysObject { public: - /* 0x00 */ u8 unk_00[2]; + /* 0x00 */ u8 mUnk_00[2]; /* 0x02 */ u8 mUnk_02; /* 0x03 */ u8 mUnk_03; /* 0x04 */ u8 mUnk_04; diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 2874fd99..851a01a5 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -156,7 +156,7 @@ typedef struct UnkStruct_01ffbe34 { extern "C" void func_01ffbe34(UnkStruct_01ffbe34 *param1); struct UnkClass_027e1054_unk_00_unk00 { - /* 0x00 */ u8 unk_00[0x95]; + /* 0x00 */ u8 mUnk_00[0x95]; /* 0x95 */ u8 mUnk_95; }; struct UnkClass_027e1054_unk_00 { diff --git a/include/Unknown/UnkStruct_02032f0c.hpp b/include/Unknown/UnkStruct_02032f0c.hpp index 247f8dc8..84fb93f0 100644 --- a/include/Unknown/UnkStruct_02032f0c.hpp +++ b/include/Unknown/UnkStruct_02032f0c.hpp @@ -63,7 +63,7 @@ struct UnkStruct_MsgProc_Base_unk_2C { /* 0c */ }; -struct func_0203b410_param_2 { +struct func_0203b410_param1 { /* 00 */ unk32 mUnk_00; /* 04 */ unk32 mUnk_04; /* 08 */ unk32 mUnk_08; @@ -141,7 +141,7 @@ public: /* 54 */ virtual void vfunc_54(void); /* 58 */ virtual void vfunc_58(void); /* 5c */ virtual void vfunc_5C(void); - /* 60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4); + /* 60 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4); /* 64 */ virtual void vfunc_64(s16* param_2); /* 68 */ virtual unk32 vfunc_68(unk32 param_2); /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index dcbcac24..9520d681 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -16,7 +16,7 @@ struct UnknownMsgChoiceStruct { class UnkStruct_020397f8_410; -// astruct_2, UnkStruct_020397f8 +// astruct_2, MsgProc_Type1 class UnkStruct_020397f8 : public UnkStruct_02038aa0 { public: /* 000 (base) */ @@ -89,7 +89,7 @@ public: /* 4c */ virtual void vfunc_4c(); /* 2c */ virtual void vfunc_2c(); void func_02039ca8(); - /* 3c */ virtual void vfunc_3c(); + /* 3c */ virtual void vfunc_3c(unk32 param1); /* 40 */ virtual void vfunc_40(s32 param1, s32 param2); void func_0203a188(s32 param1, s32 param2); bool func_0203a2c0(); @@ -98,17 +98,17 @@ public: void func_0203a35c(); bool func_0203a3e0(); /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); - bool func_0203a6d0(unk32 param1); - /* 50 */ virtual void vfunc_50(EntryINF1* param1, unk32 param2, s32 param3, unk32 param4); + bool func_0203a6d0(unk32 param1, unk32 param2); + /* 50 */ virtual void vfunc_50(EntryINF1* param1, unk32 param2, s32* param3, unk32 param4); /* 54 */ virtual void vfunc_54(); /* 5c */ virtual void vfunc_5c(); /* 58 */ virtual void vfunc_58(); bool func_0203b0bc(); s32 func_0203b0ec(u32 param1); - /* 18 */ virtual unk32 vfunc_18(s32 param1); - /* 1c */ virtual unk32 vfunc_1c(s32 param1, unk32 *param2, unk32 param3, unk32 param4); - /* 60 */ virtual void vfunc_60(s32 param1); - /* 64 */ virtual void vfunc_64(unk32 param1); + /* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param1, unk32 param2, unk32 param3); + /* 1c */ virtual unk32 vfunc_1c(u16 *param1, UnkStruct_0203b264 *param2, unk8 param3, unk32 param4); + /* 60 */ virtual void vfunc_60(func_0203b410_param1* param1, unk32 param2, unk32 param3); + /* 64 */ virtual void vfunc_64(s16* param1); void func_0203b764(); /* 20 */ virtual unk32 vfunc_20(s32 param1, s32 *param2); void func_0203bd8c(s32 param1); @@ -118,13 +118,12 @@ public: bool func_0203c084(); bool func_0203c13c(); bool func_0203c1a0(); - bool func_0203c25c(); + static bool func_0203c25c(class UnkStruct_020397f8* param1); /* 00 */ virtual ~UnkStruct_020397f8(); /* 38 */ virtual bool vfunc_38(); /* 74 */ //! TODO: check if this is really here - static bool func_0203c25c(class UnkStruct_020397f8* param_1); static void func_0203e060(UnkStruct_02038aa0* param_1, u8 param_2, u8 param_3); void func_02039a3c(void); unk32 func_02039250(void); @@ -189,7 +188,7 @@ public: /* 54 */ virtual void vfunc_54(void) override; /* 58 */ virtual void vfunc_58(void) override; /* 5c */ virtual void vfunc_5C(void) override; - /* 60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 60 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4) override; /* 64 */ virtual void vfunc_64(s16* param_2) override; /* 68 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; @@ -238,7 +237,7 @@ public: /* 54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; /* 58 */ /* func_02039398 */ virtual void vfunc_58(void) override; /* 5c */ /* func_02039058 */ virtual void vfunc_5C(void) override; - /* 60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4) override; /* 64 */ /* func_020393a8 */ virtual void vfunc_64(s16* param_2) override; /* 68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 6c */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index 6d6e25ae..86655e55 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -108,7 +108,7 @@ public: /* 54 */ virtual void vfunc_54(void) override; /* 58 */ virtual void vfunc_58(void) override; /* 5c */ virtual void vfunc_5C(void) override; - /* 60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override; + /* 60 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4) override; /* 64 */ virtual void vfunc_64(s16* param_2) override; /* 68 */ virtual unk32 vfunc_68(unk32 param_2) override; /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; -- cgit v1.2.3 From 1f7c5be909e0dccc28b90587d12ccf5c9ab180bf Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 12:43:34 +0100 Subject: post-update cleanup: step 4 (builds properly) --- include/Item/ItemManager.hpp | 1 + include/Message/MessageManager.hpp | 7 +++++++ include/Message/MsgProc.hpp | 7 ------- include/Unknown/UnkStruct_02038aa0.hpp | 9 +++++++-- include/Unknown/UnkStruct_020397f8.hpp | 19 +++---------------- include/Unknown/UnkStruct_0203dae0.hpp | 2 ++ include/Unknown/UnkStruct_ov000_020e2f04.hpp | 2 +- 7 files changed, 21 insertions(+), 26 deletions(-) (limited to 'include') diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 5a5c8d3d..e0dbbaf2 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -15,6 +15,7 @@ extern "C" { #include "Save/SaveItemManager.hpp" #include "Sound/Sfx.hpp" #include "System/SysNew.hpp" +#include "DTCM/UnkStruct_027e0d38.hpp" #define MAX_HOURGLASS_SECONDS 1500 // 25 minutes #define MAX_AMMO_UPGRADE 2 diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 53c500b1..ddb1df59 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -7,6 +7,13 @@ #include "Message/BMG.hpp" #include "Message/MsgProc.hpp" #include "nds/math.h" + +#include "Unknown/UnkStruct_0202e1a0.hpp" +#include "Unknown/UnkStruct_0203dae0.hpp" +#include "Unknown/UnkStruct_02032f0c.hpp" +#include "Unknown/UnkStruct_02038aa0.hpp" +#include "Unknown/UnkStruct_020397f8.hpp" +#include "Unknown/UnkStruct_02035064.hpp" #include "Unknown/UnkStruct_02037750.hpp" class UnkStruct_027E0C68 : public SysObject { diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 851a01a5..f7e4608b 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -3,13 +3,6 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" #include "Unknown/func_ov000_020d0644.hpp" -#include "Unknown/UnkStruct_0202e1a0.hpp" -#include "Unknown/UnkStruct_0203dae0.hpp" -#include "Unknown/UnkStruct_02032f0c.hpp" -#include "Unknown/UnkStruct_02038aa0.hpp" -#include "Unknown/UnkStruct_020397f8.hpp" -#include "Unknown/UnkStruct_02035064.hpp" -#include "Unknown/UnkStruct_02037750.hpp" #include "nds/math.h" // temp diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index 9969f89c..9ace8473 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -5,6 +5,8 @@ #include "Unknown/UnkStruct_0203dae0.hpp" #include "System/SysNew.hpp" +#include "nds/math.h" +#include "Message/MsgProc.hpp" class UnkStruct_02038aa0; typedef bool (*UnknownCallback)(class UnkStruct_020397f8*); @@ -50,6 +52,9 @@ public: void func_0203f020(s16*, unk32); }; +struct UnkStruct_0203b264; +struct func_02038f44_param4; + // astruct_6, MsgProc_Main class UnkStruct_02038aa0 : public UnkStruct_0203dae0 { public: @@ -84,7 +89,7 @@ public: /* 50 */ virtual void vfunc_50(EntryINF1* param1, u32 param2, s16* param3, UnkSubClass1_02256FF8* param4); /* 54 */ virtual void vfunc_54(); /* 58 */ virtual void vfunc_58(); - /* 5c */ virtual void vfunc_5c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 5c */ virtual void vfunc_5c(u16* param_2, struct UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); /* 60 */ virtual void vfunc_60(); /* 64 */ virtual void vfunc_64(); /* 68 */ virtual s32 vfunc_68(unk32 param1); @@ -126,7 +131,7 @@ public: void func_02038b28(void); void func_02038b74(void); // is this a dtor? void func_02038f40(void); - void func_02038f44(EntryINF1* param_2, u32 param_3, func_02038f44_param4* param_4, UnkSubClass1_02256FF8* param_5, unk32 param_6); + void func_02038f44(EntryINF1* param_2, u32 param_3, struct func_02038f44_param4* param_4, UnkSubClass1_02256FF8* param_5, unk32 param_6); void func_02039058(void); unk32 func_0203905c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); void func_02038d20(void); diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index 9520d681..0c199b1a 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -6,6 +6,7 @@ #include "Unknown/UnkStruct_02035064.hpp" #include "Unknown/UnkStruct_02038aa0.hpp" #include "System/SysNew.hpp" +#include "Message/MsgProc.hpp" // does it host both choices? struct UnknownMsgChoiceStruct { @@ -91,7 +92,7 @@ public: void func_02039ca8(); /* 3c */ virtual void vfunc_3c(unk32 param1); /* 40 */ virtual void vfunc_40(s32 param1, s32 param2); - void func_0203a188(s32 param1, s32 param2); + void func_0203a188(s32 param1, s32 param2); // void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); bool func_0203a2c0(); unk32 func_0203a30c(); /* 48 */ virtual void vfunc_48(); @@ -111,7 +112,7 @@ public: /* 64 */ virtual void vfunc_64(s16* param1); void func_0203b764(); /* 20 */ virtual unk32 vfunc_20(s32 param1, s32 *param2); - void func_0203bd8c(s32 param1); + void func_0203bd8c(s32 param1); // void func_0203bd8c(u16 param_2); /* 6c */ virtual void vfunc_6c(s32 *param1, s32 *param2); void func_0203be08(); void func_0203be64(); @@ -127,20 +128,6 @@ public: static void func_0203e060(UnkStruct_02038aa0* param_1, u8 param_2, u8 param_3); void func_02039a3c(void); unk32 func_02039250(void); - void func_02039ca8(void); - void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); - bool func_0203a2c0(void); - unk32 func_0203a30c(void); - void func_0203a35c(void); - bool func_0203a3e0(void); - bool func_0203a6d0(unk32 param_2, unk32 param_3); - bool func_0203b0bc(void); - unk32 func_0203b0ec(unk32 param_2); - void func_0203b764(void); - void func_0203bd8c(u16 param_2); - void func_0203be08(void); - void func_0203be64(void); - bool func_0203c13c(void); }; class MsgProc_Type3 : public UnkStruct_02038aa0 { diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index 86655e55..054c8900 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -6,6 +6,8 @@ #include "Unknown/UnkStruct_02032f0c.hpp" #include "Message/MsgProc.hpp" +class UnkStruct_0203dae0_114; + // astruct_7, MsgProc_Base2 class UnkStruct_0203dae0 : public UnkStruct_02032f0c { public: diff --git a/include/Unknown/UnkStruct_ov000_020e2f04.hpp b/include/Unknown/UnkStruct_ov000_020e2f04.hpp index 74739291..b62ae550 100644 --- a/include/Unknown/UnkStruct_ov000_020e2f04.hpp +++ b/include/Unknown/UnkStruct_ov000_020e2f04.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include "Physics/AABB.hpp" #include "global.h" -- cgit v1.2.3 From 978a7532c4c0b4c756b619c2d5fcfc7cc2215fb0 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 17:52:48 +0100 Subject: more progress --- include/Message/MsgProc.hpp | 4 ++-- include/Unknown/UnkStruct_02032f0c.hpp | 2 +- include/Unknown/UnkStruct_02038aa0.hpp | 4 ---- include/Unknown/UnkStruct_0203dae0.hpp | 11 ++++++----- 4 files changed, 9 insertions(+), 12 deletions(-) (limited to 'include') diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index f7e4608b..fecdd18c 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -49,8 +49,8 @@ public: UnkStruct_0203dae0_114(); /* 0x00 */ virtual ~UnkStruct_0203dae0_114() override; - /* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE); - /* 0x08 */ virtual unk32 vfunc_08(void*, s16); + /* 0x08 */ virtual unk32 vfunc_08(void*); + /* 0x08 */ virtual unk32 vfunc_0c(void); /* 0x0C */ unk32* func_0203d1b4(void); diff --git a/include/Unknown/UnkStruct_02032f0c.hpp b/include/Unknown/UnkStruct_02032f0c.hpp index 84fb93f0..67be855a 100644 --- a/include/Unknown/UnkStruct_02032f0c.hpp +++ b/include/Unknown/UnkStruct_02032f0c.hpp @@ -6,7 +6,7 @@ #include "Message/BMG.hpp" #include "System/SysNew.hpp" -class UnkStruct_02032e7c { +class UnkStruct_02032e7c : public SysObject { public: /* 00 (vtable) */ /* 04 */ u16* mUnk_04; // pointer to the current position in the message to display diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index 9ace8473..fcb9ae0d 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -142,13 +142,9 @@ public: unk32 func_0203a3e0(void); unk32 func_0203cb5c(unk8, s16); - void func_0203dc10(u8 param_2); - void func_0203dc10(u8 param_2, u8 param_3); - void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); unk32 func_0203de14(unk32); void func_0203e090(void); - void func_0203e0f8(void); void func_0203e1b0(unk32, unk32, unk32); //! TODO: not sure it belongs to this class: diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index 054c8900..b3447c9a 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -68,11 +68,11 @@ public: /* 110 */ unk32 mUnk_110; /* 114 */ UnkStruct_0203dae0_114 *mUnk_114; /* 118 */ s32 mUnk_118; - /* 11c */ unk16 mUnk_11c; + /* 11c */ u16 mUnk_11c; /* 11e */ u8 mUnk_11e; /* 11f */ u8 mUnk_11f; /* 120 */ u8 mUnk_120; - /* 121 */ u8 mUnk_121; + /* 121 */ s8 mUnk_121; /* 123 */ u8 mUnk_122; /* 00 */ virtual ~UnkStruct_0203dae0(); @@ -118,15 +118,16 @@ public: /* 74 */ UnkStruct_0203dae0(u8 param1); - void func_0203dc10(s32 param1); + void func_0203dc10(unk32 param1); + void func_0203dc10(unk32 param_2, unk32 param_3); bool func_0203dc74(s32 param1, s32 param2); void func_0203dcfc(u8 param1, unk32 param2, unk32 param3, s32 param4); - void func_0203ddec(); + unk32 func_0203ddec(); void func_0203ddfc(); void func_0203de14(); s32 func_0203de24(); bool func_0203de58(s32 param1); - bool func_0203e0f8(unk32 param1, s32 param2); + bool func_0203e0f8(); bool func_0203e1b0(unk32 param1, unk32 param2, s32 param3); void func_0203e2e8(s32 param1, s32 param2, unk32 param3, u32 param4); void func_0203e510(s32 *param1, s32 param2, s32 param3); -- cgit v1.2.3 From 795cd8a2f9e0ae79e2c6e34042a7c2423c2286eb Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 18:19:34 +0100 Subject: more progress --- include/Unknown/UnkStruct_0203dae0.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index b3447c9a..864320ef 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -122,7 +122,7 @@ public: void func_0203dc10(unk32 param_2, unk32 param_3); bool func_0203dc74(s32 param1, s32 param2); void func_0203dcfc(u8 param1, unk32 param2, unk32 param3, s32 param4); - unk32 func_0203ddec(); + unk32* func_0203ddec(); void func_0203ddfc(); void func_0203de14(); s32 func_0203de24(); -- cgit v1.2.3 From d29bbff21fe81aac1fa6dc382ab3c6b1d085708f Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 20:53:32 +0100 Subject: more progress --- include/Player/LinkStateCutscene.hpp | 2 +- include/Unknown/UnkStruct_02037750.hpp | 29 +++++++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/Player/LinkStateCutscene.hpp b/include/Player/LinkStateCutscene.hpp index 224350fd..750f1b8a 100644 --- a/include/Player/LinkStateCutscene.hpp +++ b/include/Player/LinkStateCutscene.hpp @@ -16,7 +16,7 @@ public: /* 00 */ virtual ~UnkStruct_ov004_0210abb8() override; /* 08 */ virtual void vfunc_08(unk32 param1) override; - /* 24 */ virtual void vfunc_24(unk32 param1) override; + /* 24 */ virtual bool vfunc_24(unk32 param1) override; /* 2c */ virtual unk32 vfunc_2c(s32 param1) override; /* 34 */ }; diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index fe1a9740..bb3d2662 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -25,26 +25,29 @@ public: /* 0c */ virtual void vfunc_0c(class UnkStruct_020397f8* param1); /* 10 */ virtual void vfunc_10(); /* 14 */ virtual void vfunc_14(); - /* 18 */ virtual void vfunc_18(); - /* 1c */ virtual unk32 vfunc_1c(); + /* 18 */ virtual void vfunc_18(unk32* param1); + /* 1c */ virtual bool vfunc_1c(); /* 20 */ virtual void vfunc_20(); - /* 24 */ virtual void vfunc_24(unk32 param1); - /* 28 */ virtual void vfunc_28(s32 param1); + /* 24 */ virtual bool vfunc_24(unk32 param1); + /* 28 */ virtual unk8 vfunc_28(s32 param1); /* 2c */ virtual unk32 vfunc_2c(s32 param1); - /* 30 */ virtual unk32 vfunc_30(); + /* 30 */ virtual bool vfunc_30(); /* 34 */ UnkStruct_02037750(unk32 param1, unk32 param2); LinkStateInteract *GetLinkStateInteract(); - void func_020385d0(s32 param1, unk32 *param2); + unk32 func_020385d0(s32 param1, u8 *param2); }; class UnkStruct_020386d8_24 { public: - /* 00 */ unk32 mUnk_00; + /* 00 */ u8 mUnk_00; + /* 00 */ u8 mUnk_01; + /* 00 */ u8 mUnk_02; + /* 00 */ u8 mUnk_03; /* 04 */ - void func_020376c0(Vec3p param_2); + void func_020376c0(const Vec3p* param_2); }; // astruct_15 @@ -52,7 +55,9 @@ class UnkStruct_020386d8 : public UnkStruct_02037750 { public: /* 00 (base) */ /* 20 */ unk8 mUnk_20; - /* 21 */ unk8 mUnk_21[0x3]; + /* 21 */ unk8 mUnk_21; + /* 21 */ unk8 mUnk_22; + /* 21 */ unk8 mUnk_23; /* 24 */ UnkStruct_020386d8_24 mUnk_24; /* 28 */ unk32 mUnk_28; /* 2C */ unk32 mUnk_2C; @@ -67,8 +72,8 @@ public: UnkStruct_020386d8(); /* 00 */ virtual ~UnkStruct_020386d8(); /* 08 */ virtual void vfunc_08(u32 param1); - /* 24 */ virtual void vfunc_24(unk32 param1); - /* 28 */ virtual void vfunc_28(); - /* 30 */ virtual unk32 vfunc_30(); + /* 24 */ virtual bool vfunc_24(unk32 param1); + /* 28 */ virtual unk8 vfunc_28(s32 param1); + /* 30 */ virtual bool vfunc_30(); /* 34 */ }; -- cgit v1.2.3 From 514887962c31df98b4d934af61a4d43fd60b2458 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 5 Feb 2025 23:17:42 +0100 Subject: "progress" --- include/Item/ItemManager.hpp | 3 +++ include/Unknown/UnkStruct_02035064.hpp | 4 ++-- include/Unknown/UnkStruct_02037750.hpp | 7 ++++--- 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index e0dbbaf2..87259d74 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -197,6 +197,9 @@ public: // Rupees s32 GetMaxRupees() const; void GiveRupees(s32 amount, bool param2); + inline u16 GetNumRupees(void) { + return this->mNumRupees; + } // Potion void SetPotion(u32 index, Potion potion); diff --git a/include/Unknown/UnkStruct_02035064.hpp b/include/Unknown/UnkStruct_02035064.hpp index b2443949..36f831de 100644 --- a/include/Unknown/UnkStruct_02035064.hpp +++ b/include/Unknown/UnkStruct_02035064.hpp @@ -43,8 +43,8 @@ public: /* 87 */ unk8 mUnk_87; /* 88 */ - /* 0 */ virtual s32 vfunc_0(); // func_020351a8 - /* 4 */ virtual s32 vfunc_4(); // func_020351b0 + /* 0 */ virtual s32 vfunc_00(); // func_020351a8 + /* 4 */ virtual s32 vfunc_04(); // func_020351b0 /* 8 */ UnkStruct_02035064(); diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index bb3d2662..89877998 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -7,12 +7,13 @@ #include "System/SysNew.hpp" class UnkStruct_020397f8; +typedef unk32 (*UnkStruct_02037750_Callback1)(unk32); // astruct_14 class UnkStruct_02037750 : public SysObject { public: /* 00 (vtable) */ - /* 04 */ unk32 mUnk_04[0x4]; + /* 04 */ UnkStruct_02037750_Callback1 mUnk_04[0x4]; /* 14 */ unk32 mUnk_14; /* 18 */ u32 mUnk_18; /* 1c */ u8 mUnk_1c; @@ -29,7 +30,7 @@ public: /* 1c */ virtual bool vfunc_1c(); /* 20 */ virtual void vfunc_20(); /* 24 */ virtual bool vfunc_24(unk32 param1); - /* 28 */ virtual unk8 vfunc_28(s32 param1); + /* 28 */ virtual unk32 vfunc_28(s32 param1); /* 2c */ virtual unk32 vfunc_2c(s32 param1); /* 30 */ virtual bool vfunc_30(); /* 34 */ @@ -73,7 +74,7 @@ public: /* 00 */ virtual ~UnkStruct_020386d8(); /* 08 */ virtual void vfunc_08(u32 param1); /* 24 */ virtual bool vfunc_24(unk32 param1); - /* 28 */ virtual unk8 vfunc_28(s32 param1); + /* 28 */ virtual unk32 vfunc_28(s32 param1); /* 30 */ virtual bool vfunc_30(); /* 34 */ }; -- cgit v1.2.3 From 308b9c2340f52fe99b18b42a2f9c324331ff4ba9 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 6 Feb 2025 15:12:09 +0100 Subject: bmg improvements --- include/Message/BMG.hpp | 240 ++++++++++++++++++++++++++---------------------- 1 file changed, 129 insertions(+), 111 deletions(-) (limited to 'include') diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 53a418ea..1fd03974 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -6,26 +6,26 @@ #define BMG_MAGIC "MESGbmg1" #define BMG_TAG(a, b, c, d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) -#define BMG_GET_INF1(pGroups, flags) (func_02037258(&(pGroups)->entries[(flags) >> 0x10], (flags) & 0xFFFF)) +#define BMG_GET_INF1(pGroups, flags) ((pGroups)->entries[(flags) >> 0x10].func_02037258((flags) & 0xFFFF)) #define BMG_GET_MSG_OFFSET(pGroups, flags) (BMG_GET_INF1((pGroups), (flags))->offset) #define BMG_GET_MSG_ADDR(pGroups, flags) ((u32)(pGroups)->entries[(flags) >> 0x10].pDAT1 + (BMG_GET_MSG_OFFSET((pGroups), (flags)) & ~1)) -typedef enum BMGTag { +enum BMGTag { /* "INF1" */ BMG_TAG_INF1 = BMG_TAG('I', 'N', 'F', '1'), /* "FLW1" */ BMG_TAG_FLW1 = BMG_TAG('F', 'L', 'W', '1'), /* "FLI1" */ BMG_TAG_FLI1 = BMG_TAG('F', 'L', 'I', '1'), /* "DAT1" */ BMG_TAG_DAT1 = BMG_TAG('D', 'A', 'T', '1'), /* "MID1" */ BMG_TAG_MID1 = BMG_TAG('M', 'I', 'D', '1'), /* "MID1" */ BMG_TAG_STR1 = BMG_TAG('S', 'T', 'R', '1'), -} BMGTag; +}; -typedef enum BMGEncoding { +enum BMGEncoding { /* 1 */ BMG_ENCODING_CP1252 = 1, /* 2 */ BMG_ENCODING_UTF16_BE, /* 3 */ BMG_ENCODING_SHIFT_JIS, /* 4 */ BMG_ENCODING_UTF8, /* 5 */ BMG_ENCODING_MAX -} BMGEncoding; +}; typedef enum BMGFileIndex { /* 0 */ BMG_FILE_INDEX_SYSTEM, @@ -65,120 +65,140 @@ typedef enum BMGFileIndex { /* 34 */ BMG_FILE_INDEX_MAX } BMGFileIndex; -typedef struct SectionBase { - /* 0x00 */ u32 tag; // "INF1", "DAT1", ... - /* 0x04 */ u32 size; // the size of the section -} SectionBase; // size = 0x8 - -typedef struct BMGHeader { - /* 0x00 */ char magic[8]; // always "MESGbmg1" - /* 0x08 */ u32 fileSize; // the size of the BMG file - /* 0x0C */ u32 numSections; // the number of sections (INF1, DAT1, ...) - /* 0x10 */ u8 encoding; // see `BMGEncoding` - /* 0x11 */ u8 unk_11[0xF]; // alignment padding? -} BMGHeader; // size = 0x20 - -typedef struct EntryINF1 { - /* 0x00 */ u32 offset; // relative to the end of the DAT1 header - /* 0x04 */ u8 mUnk_04; // flags/attributes? (+0x04 to +0x06) - /* 0x05 */ u8 mUnk_05; - /* 0x06 */ u8 mUnk_06; - /* 0x07 */ u8 mUnk_07; -} EntryINF1; // size = 0x8 - -typedef struct SectionINF1 { - /* 0x00 */ SectionBase base; - /* 0x08 */ u16 numEntries; - /* 0x0A */ u16 entrySize; - /* 0x0C */ u16 groupId; - /* 0x0E */ u8 colorId; - /* 0x0F */ u8 unk_0F[0x1]; // alignment padding? - /* 0x10 */ EntryINF1* entries; -} SectionINF1; - -typedef enum InstrType { +struct SectionBase { + /* 00 */ u32 tag; // "INF1", "DAT1", ... + /* 04 */ u32 size; // the size of the section + /* 08 */ +}; + +struct BMGHeader { + /* 00 */ char magic[8]; // always "MESGbmg1" + /* 08 */ u32 fileSize; // the size of the BMG file + /* 0c */ u32 numSections; // the number of sections (INF1, DAT1, ...) + /* 10 */ u8 encoding; // see `BMGEncoding` + /* 11 */ u8 unk_11[0xF]; // alignment padding? + /* 20 */ +}; + +struct EntryINF1 { + /* 00 */ u32 offset; // relative to the end of the DAT1 header + /* 04 */ u8 mUnk_04; // flags/attributes? (+0x04 to +0x06) + /* 05 */ u8 mUnk_05; + /* 06 */ u8 mUnk_06; + /* 07 */ u8 mUnk_07; + /* 08 */ +}; + +struct SectionINF1 { + /* 00 */ SectionBase base; + /* 08 */ u16 numEntries; + /* 0a */ u16 entrySize; + /* 0c */ u16 groupId; + /* 0e */ u8 colorId; + /* 0f */ u8 mUnk_0F[0x1]; // alignment padding? + /* 10 */ EntryINF1* entries; + /* 14 */ +}; + +enum InstrType { /* 1 */ FLW1_TYPE_SHOW_MSG = 1, /* 2 */ FLW1_TYPE_BRANCH = 2, /* 3 */ FLW1_TYPE_EVENT = 3, -} InstrType; - -typedef struct InstrShowMsg { - /* 0x01 */ u8 bmgFileIndex; // index into sBMGFiles - /* 0x02 */ u16 msgIndex; // index of INF1 entry - /* 0x04 */ s16 nextIndex; // index of FLW1 entry, 0xFFFF stops the conversation - /* 0x06 */ s16 nextBMGFileIndex; // index into sBMGFiles -} InstrShowMsg; // size = 0x8 - -typedef struct InstrBranch { - /* 0x01 */ u8 mUnk_01; - /* 0x02 */ u16 funcIndex; // index of the query function to run - /* 0x04 */ u16 funcArg; // the argument to use in the function - /* 0x06 */ u16 flwEntry; // the index of the second section table to be used next in the conversation. -} InstrBranch; // size = 0x8 - -typedef struct InstrEvent { - /* 0x01 */ u8 funcIndex; // index of the query function to run - /* 0x02 */ u16 flwEntry; // the index of the second section table to be used next in the conversation. - /* 0x04 */ u32 funcArg; // the argument to use in the function -} InstrEvent; // size = 0x8 - -typedef struct FLW1Instr { - /* 0x00 */ u8 type; // see InstrType - /* 0x01 */ union { + /* 4 */ +}; + +struct InstrShowMsg { + /* 01 */ u8 bmgFileIndex; // index into sBMGFiles + /* 02 */ u16 msgIndex; // index of INF1 entry + /* 04 */ s16 nextIndex; // index of FLW1 entry, 0xFFFF stops the conversation + /* 06 */ s16 nextBMGFileIndex; // index into sBMGFiles + /* 08 */ +}; + +struct InstrBranch { + /* 01 */ u8 mUnk_01; + /* 02 */ u16 funcIndex; // index of the query function to run + /* 04 */ u16 funcArg; // the argument to use in the function + /* 06 */ u16 flwEntry; // the index of the second section table to be used next in the conversation. + /* 08 */ +}; + +struct InstrEvent { + /* 01 */ u8 funcIndex; // index of the query function to run + /* 02 */ u16 flwEntry; // the index of the second section table to be used next in the conversation. + /* 04 */ u32 funcArg; // the argument to use in the function + /* 08 */ +}; + +struct FLW1Instr { + /* 00 */ u8 type; // see InstrType + /* 01 */ union { InstrShowMsg showMsg; InstrBranch branch; InstrEvent event; }; -} FLW1Instr; // size = 0x8 - -typedef struct SectionFLW1 { - /* 0x00 */ SectionBase base; - /* 0x04 */ u16 numInstructions; - /* 0x08 */ u16 numLabels; - /* 0x0C */ u32 mUnk_0c; // always zero? - /* 0x10 */ FLW1Instr* instructions; - /* 0x14 */ s16* flwEntries; - /* 0x18 */ s8* bmgFileIndices; -} SectionFLW1; - -typedef struct EntryFLI1 { - /* 0x00 */ u32 msgFlowID; - /* 0x04 */ u32 msgFlowNodeIndex; -} EntryFLI1; // size = 0x8 - -typedef struct SectionFLI1 { - /* 0x00 */ SectionBase base; - /* 0x04 */ u16 numEntries; - /* 0x08 */ u16 entrySize; - /* 0x0C */ u32 mUnk_0c; // always zero? - /* 0x10 */ EntryFLI1* entries; -} SectionFLI1; - -typedef struct EntryDAT1 { - /* 0x00 */ char* text; -} EntryDAT1; - -typedef struct SectionDAT1 { - /* 0x00 */ SectionBase base; - /* 0x08 */ EntryDAT1* entries; -} SectionDAT1; - -typedef struct BMGFileInfo { - /* 0x00 */ BMGHeader* pHeader; // pointer to the file's header - /* 0x04 */ SectionINF1* pINF1; // pointer to the data informations (INF -> informations) - /* 0x08 */ SectionFLW1* pFLW1; // pointer to the message flow data (FLW -> flow) - /* 0x0C */ SectionFLI1* pFLI1; // pointer to the message flow index table (FLI -> flow index table) - /* 0x10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) - /* 0x14 */ BMGHeader* mUnk_14; // same as pHeader (?) - /* 0x18 */ s16 mUnk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) - /* 0x1A */ s16 groupId; // stores the group id -} BMGFileInfo; // size = 0x1C + /* 09 */ +}; + +struct SectionFLW1 { + /* 00 */ SectionBase base; + /* 04 */ u16 numInstructions; + /* 08 */ u16 numLabels; + /* 0c */ u32 mUnk_0c; // always zero? + /* 10 */ FLW1Instr* instructions; + /* 14 */ s16* flwEntries; + /* 18 */ s8* bmgFileIndices; + /* 1c */ +}; + +struct EntryFLI1 { + /* 00 */ u32 msgFlowID; + /* 04 */ u32 msgFlowNodeIndex; + /* 08 */ +}; + +struct SectionFLI1 { + /* 00 */ SectionBase base; + /* 04 */ u16 numEntries; + /* 08 */ u16 entrySize; + /* 0c */ u32 mUnk_0c; // always zero? + /* 10 */ EntryFLI1* entries; + /* 14 */ +}; + +struct EntryDAT1 { + /* 00 */ char* text; + /* 04 */ +}; + +struct SectionDAT1 { + /* 00 */ SectionBase base; + /* 08 */ EntryDAT1* entries; + /* 0c */ +}; + +struct BMGFileInfo { + /* 00 */ BMGHeader* pHeader; // pointer to the file's header + /* 04 */ SectionINF1* pINF1; // pointer to the data informations (INF -> informations) + /* 08 */ SectionFLW1* pFLW1; // pointer to the message flow data (FLW -> flow) + /* 0c */ SectionFLI1* pFLI1; // pointer to the message flow index table (FLI -> flow index table) + /* 10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) + /* 14 */ BMGHeader* mUnk_14; // same as pHeader (?) + /* 18 */ s16 mUnk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) + /* 1a */ s16 groupId; // stores the group id + /* 1c */ + + void func_020371b4(); + u16 func_020371c8(u32* pFile, s16 unk_18); + EntryINF1* func_02037258(u16 param_2); + u16 func_0203728c(unk32 param_2); +}; class BMGGroups : public SysObject { public: - /* 0x00 */ BMGFileInfo* entries; // accessed with `groupId` - /* 0x04 */ s32 numEntries; - /* 0x08 */ + /* 00 */ BMGFileInfo* entries; // accessed with `groupId` + /* 04 */ s32 numEntries; + /* 08 */ BMGGroups(); ~BMGGroups(); @@ -186,5 +206,3 @@ public: void func_020373b4(s16 unk_18); u32 func_020373ec(unk32 param_2); }; - -extern EntryINF1* func_02037258(BMGFileInfo* pFileInfo, unk32 param_2); -- cgit v1.2.3 From e109eeadba44994bee4749c40c2d85cb5288ac0e Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Thu, 6 Feb 2025 22:45:45 +0100 Subject: more progress --- include/Message/MessageManager.hpp | 4 ++-- include/Message/MsgProc.hpp | 4 +--- include/Unknown/UnkStruct_02038aa0.hpp | 4 ++-- include/Unknown/UnkStruct_020397f8.hpp | 25 ------------------------- 4 files changed, 5 insertions(+), 32 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index ddb1df59..76a6bc87 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -33,11 +33,11 @@ public: /* 0x14 */ BMGGroups* pGroups; /* 0x18 */ UnkStruct_020386d8* mUnk_18[2]; /* 0x20 */ UnkStruct_02037750* mUnk_20[2]; - /* 0x28 */ UnkStruct_02038aa0* mUnk_28[6]; + /* 0x28 */ UnkStruct_02038aa0* mUnk_28[6]; //! TODO: is it the right type? /* 0x40 */ UnkStruct_020397f8* mUnk_40[2]; // is array size 6? /* 0x48 */ - static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3); + static void func_0203643c(u32 *param_1, UnkStruct_027E0C68* param_2, u32 param_3); void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203665c(void); UnkStruct_027E0C68(); diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index fecdd18c..efe42b56 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -73,7 +73,6 @@ struct func_02038f44_param4 { extern "C" u32 func_01ff9b4c(unk32, unk32); extern "C" unk32 func_0203c084(void); -extern "C" void func_ov018_02169634(UnkStruct_020397f8*); extern "C" unk32 func_ov000_02079e04(void); extern "C" unk32 func_02016fcc(unk32); extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); @@ -100,7 +99,6 @@ struct UnkStruct2 { }; extern UnkStruct2 data_027e077c; extern u8 data_02056be4[]; -extern u8 data_027e0618[]; class UnkClass_027e0cbc { public: @@ -117,7 +115,7 @@ extern "C" void func_020347b0(unk32, unk16, unk32*, unk32*, unk32, unk32); extern THUMB unk32 func_0202ab48(void); extern "C" void func_02034984(unk32, u8, unk32, unk32); extern "C" void func_02034698(unk32, unk32, unk32*, unk32*); -extern struct TouchControl data_027e0d78; +extern struct TouchControl gTouchControl; class UnkClass_027e0e28 { public: diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index f9904674..6b53dde3 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -74,11 +74,11 @@ public: /* 00 */ virtual ~UnkStruct_02038aa0(); /* 08 */ virtual void vfunc_08(s32 param1, unk32* param2, s16 *param3, unk32 param4); /* 0c */ virtual void vfunc_0c(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); - /* 10 */ virtual void vfunc_10(unk32 param1); + /* 10 */ virtual void vfunc_10(); /* 1c */ virtual unk32 vfunc_1c(s32 param1, unk32 *param2, unk32 param3, unk32 param4); /* 20 */ virtual unk32 vfunc_20(s32 param1, s32 *param2); /* 2c */ virtual void vfunc_2c(); - /* 30 */ virtual void vfunc_30(); + /* 30 */ virtual void vfunc_30(unk32 param_2, unk32 param_3); /* 34 */ virtual unk32 vfunc_34(s32 param1); /* 38 */ virtual bool vfunc_38(); /* 3c */ virtual void vfunc_3c(); diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index ca626fec..ee969e08 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -199,36 +199,11 @@ public: MsgProc_Type2(); MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); - //! TODO: remove the function declarations that are not overridden /* 00 */ virtual ~MsgProc_Type2(); - /* 08 */ /* func_02039228 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; - /* 0c */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; - /* 10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 1c */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; - /* 20 */ /* func_020390a4 */ virtual void vfunc_20(void) override; - /* 24 */ /* astruct_8::vfunc_24 */ virtual void vfunc_24(void) override; - /* 28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override; - /* 2c */ /* func_02038d20 */ virtual void vfunc_2C(void) override; - /* 30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override; - /* 34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override; - /* 38 */ /* func_02039570 */ virtual bool vfunc_38(void) override; /* 3c */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; /* 40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; - /* 44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 48 */ /* func_02038b74 */ virtual void vfunc_48(void) override; /* 4c */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; - /* 54 */ /* func_020392b4 */ virtual void vfunc_54(void) override; - /* 58 */ /* func_02039398 */ virtual void vfunc_58(void) override; - /* 5c */ /* func_02039058 */ virtual void vfunc_5C(void) override; - /* 60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4) override; - /* 64 */ /* func_020393a8 */ virtual void vfunc_64(s16* param_2) override; - /* 68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 6c */ /* func_0203947c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; - /* 74 */ //! TODO: vfunc_4C? void func_0203c39c(unk32 param_2, unk32 param_3); -- cgit v1.2.3 From 30bd3562ab974bc479d75d7dcf6f9cb9845ba724 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Wed, 12 Feb 2025 20:20:34 +0100 Subject: format --- include/DTCM/UnkStruct_027e103c.hpp | 2 +- include/Item/ItemManager.hpp | 2 +- include/Message/BMG.hpp | 41 ++++++++++++++------------- include/Message/MessageManager.hpp | 50 ++++++++++++++++----------------- include/Message/MsgProc.hpp | 50 ++++++++++++++++----------------- include/Unknown/UnkStruct_02032f0c.hpp | 29 ++++++++++--------- include/Unknown/UnkStruct_02035064.hpp | 12 ++++---- include/Unknown/UnkStruct_02037750.hpp | 6 ++-- include/Unknown/UnkStruct_02038aa0.hpp | 42 ++++++++++++++------------- include/Unknown/UnkStruct_020397f8.hpp | 36 ++++++++++++------------ include/Unknown/UnkStruct_0203dae0.hpp | 17 +++++------ include/Unknown/func_ov000_020d0644.hpp | 2 +- 12 files changed, 147 insertions(+), 142 deletions(-) (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index 96d7ec21..02f58f4c 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -82,7 +82,7 @@ struct UnkStruct_027e103c { void func_ov000_020cfae8(s32 param1, s32 param2); //! TODO: find out if the type is always `UnkStruct_020397f8*` - void func_ov000_020cfb20(void*); + void func_ov000_020cfb20(void *); void func_ov000_020cfb38(); void func_ov000_020cfb48(); diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 87259d74..58d98e5a 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -9,13 +9,13 @@ extern "C" { #include "types.h" #include "Actor/Navi/ActorNavi.hpp" +#include "DTCM/UnkStruct_027e0d38.hpp" #include "Item/Item.hpp" #include "Player/EquipItem.hpp" #include "Render/ModelRender.hpp" #include "Save/SaveItemManager.hpp" #include "Sound/Sfx.hpp" #include "System/SysNew.hpp" -#include "DTCM/UnkStruct_027e0d38.hpp" #define MAX_HOURGLASS_SECONDS 1500 // 25 minutes #define MAX_AMMO_UPGRADE 2 diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index 1fd03974..b438a0da 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -1,14 +1,15 @@ #pragma once +#include "System/SysNew.hpp" #include "global.h" #include "types.h" -#include "System/SysNew.hpp" #define BMG_MAGIC "MESGbmg1" #define BMG_TAG(a, b, c, d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) #define BMG_GET_INF1(pGroups, flags) ((pGroups)->entries[(flags) >> 0x10].func_02037258((flags) & 0xFFFF)) #define BMG_GET_MSG_OFFSET(pGroups, flags) (BMG_GET_INF1((pGroups), (flags))->offset) -#define BMG_GET_MSG_ADDR(pGroups, flags) ((u32)(pGroups)->entries[(flags) >> 0x10].pDAT1 + (BMG_GET_MSG_OFFSET((pGroups), (flags)) & ~1)) +#define BMG_GET_MSG_ADDR(pGroups, flags) \ + ((u32) (pGroups)->entries[(flags) >> 0x10].pDAT1 + (BMG_GET_MSG_OFFSET((pGroups), (flags)) & ~1)) enum BMGTag { /* "INF1" */ BMG_TAG_INF1 = BMG_TAG('I', 'N', 'F', '1'), @@ -96,14 +97,14 @@ struct SectionINF1 { /* 0c */ u16 groupId; /* 0e */ u8 colorId; /* 0f */ u8 mUnk_0F[0x1]; // alignment padding? - /* 10 */ EntryINF1* entries; + /* 10 */ EntryINF1 *entries; /* 14 */ }; enum InstrType { /* 1 */ FLW1_TYPE_SHOW_MSG = 1, - /* 2 */ FLW1_TYPE_BRANCH = 2, - /* 3 */ FLW1_TYPE_EVENT = 3, + /* 2 */ FLW1_TYPE_BRANCH = 2, + /* 3 */ FLW1_TYPE_EVENT = 3, /* 4 */ }; @@ -145,9 +146,9 @@ struct SectionFLW1 { /* 04 */ u16 numInstructions; /* 08 */ u16 numLabels; /* 0c */ u32 mUnk_0c; // always zero? - /* 10 */ FLW1Instr* instructions; - /* 14 */ s16* flwEntries; - /* 18 */ s8* bmgFileIndices; + /* 10 */ FLW1Instr *instructions; + /* 14 */ s16 *flwEntries; + /* 18 */ s8 *bmgFileIndices; /* 1c */ }; @@ -162,41 +163,41 @@ struct SectionFLI1 { /* 04 */ u16 numEntries; /* 08 */ u16 entrySize; /* 0c */ u32 mUnk_0c; // always zero? - /* 10 */ EntryFLI1* entries; + /* 10 */ EntryFLI1 *entries; /* 14 */ }; struct EntryDAT1 { - /* 00 */ char* text; + /* 00 */ char *text; /* 04 */ }; struct SectionDAT1 { /* 00 */ SectionBase base; - /* 08 */ EntryDAT1* entries; + /* 08 */ EntryDAT1 *entries; /* 0c */ }; struct BMGFileInfo { - /* 00 */ BMGHeader* pHeader; // pointer to the file's header - /* 04 */ SectionINF1* pINF1; // pointer to the data informations (INF -> informations) - /* 08 */ SectionFLW1* pFLW1; // pointer to the message flow data (FLW -> flow) - /* 0c */ SectionFLI1* pFLI1; // pointer to the message flow index table (FLI -> flow index table) - /* 10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data) - /* 14 */ BMGHeader* mUnk_14; // same as pHeader (?) + /* 00 */ BMGHeader *pHeader; // pointer to the file's header + /* 04 */ SectionINF1 *pINF1; // pointer to the data informations (INF -> informations) + /* 08 */ SectionFLW1 *pFLW1; // pointer to the message flow data (FLW -> flow) + /* 0c */ SectionFLI1 *pFLI1; // pointer to the message flow index table (FLI -> flow index table) + /* 10 */ SectionDAT1 *pDAT1; // pointer to the data (DAT -> data) + /* 14 */ BMGHeader *mUnk_14; // same as pHeader (?) /* 18 */ s16 mUnk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose) /* 1a */ s16 groupId; // stores the group id /* 1c */ void func_020371b4(); - u16 func_020371c8(u32* pFile, s16 unk_18); - EntryINF1* func_02037258(u16 param_2); + u16 func_020371c8(u32 *pFile, s16 unk_18); + EntryINF1 *func_02037258(u16 param_2); u16 func_0203728c(unk32 param_2); }; class BMGGroups : public SysObject { public: - /* 00 */ BMGFileInfo* entries; // accessed with `groupId` + /* 00 */ BMGFileInfo *entries; // accessed with `groupId` /* 04 */ s32 numEntries; /* 08 */ diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 76a6bc87..28537830 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -3,18 +3,18 @@ #include "global.h" #include "types.h" -#include "System/SysNew.hpp" #include "Message/BMG.hpp" #include "Message/MsgProc.hpp" +#include "System/SysNew.hpp" #include "nds/math.h" #include "Unknown/UnkStruct_0202e1a0.hpp" -#include "Unknown/UnkStruct_0203dae0.hpp" #include "Unknown/UnkStruct_02032f0c.hpp" -#include "Unknown/UnkStruct_02038aa0.hpp" -#include "Unknown/UnkStruct_020397f8.hpp" #include "Unknown/UnkStruct_02035064.hpp" #include "Unknown/UnkStruct_02037750.hpp" +#include "Unknown/UnkStruct_02038aa0.hpp" +#include "Unknown/UnkStruct_020397f8.hpp" +#include "Unknown/UnkStruct_0203dae0.hpp" class UnkStruct_027E0C68 : public SysObject { public: @@ -24,27 +24,27 @@ public: /* 0x04 */ u8 mUnk_04; /* 0x05 */ u8 mUnk_05; /* 0x06 */ unk16 mUnk_06; - /* 0x08 */ UnkStruct_020397f8* mUnk_08; + /* 0x08 */ UnkStruct_020397f8 *mUnk_08; /* 0x0C */ u8 mUnk_0c; /* 0x0C */ u8 mUnk_0d; /* 0x0C */ unk16 mUnk_0e; /* 0x10 */ unk16 mUnk_10; /* 0x10 */ unk16 mUnk_12; - /* 0x14 */ BMGGroups* pGroups; - /* 0x18 */ UnkStruct_020386d8* mUnk_18[2]; - /* 0x20 */ UnkStruct_02037750* mUnk_20[2]; - /* 0x28 */ UnkStruct_02038aa0* mUnk_28[6]; //! TODO: is it the right type? - /* 0x40 */ UnkStruct_020397f8* mUnk_40[2]; // is array size 6? + /* 0x14 */ BMGGroups *pGroups; + /* 0x18 */ UnkStruct_020386d8 *mUnk_18[2]; + /* 0x20 */ UnkStruct_02037750 *mUnk_20[2]; + /* 0x28 */ UnkStruct_02038aa0 *mUnk_28[6]; //! TODO: is it the right type? + /* 0x40 */ UnkStruct_020397f8 *mUnk_40[2]; // is array size 6? /* 0x48 */ - static void func_0203643c(u32 *param_1, UnkStruct_027E0C68* param_2, u32 param_3); + static void func_0203643c(u32 *param_1, UnkStruct_027E0C68 *param_2, u32 param_3); void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203665c(void); UnkStruct_027E0C68(); ~UnkStruct_027E0C68(); - UnkStruct_020397f8* func_020366c4(void); - UnkStruct_020397f8* func_02036700(void); - UnkStruct_020386d8* func_0203673c(void); + UnkStruct_020397f8 *func_020366c4(void); + UnkStruct_020397f8 *func_02036700(void); + UnkStruct_020386d8 *func_0203673c(void); bool func_02036770(u32 param_2); unk32 func_02036798(void); bool func_020367dc(int param_2); @@ -52,23 +52,23 @@ public: bool func_02036808(void); bool func_02036824(void); bool func_02036850(void); - void func_02036888(UnkStruct_020386d8* param_2); - bool func_020368f4(UnkStruct_02037750* param_2); + void func_02036888(UnkStruct_020386d8 *param_2); + bool func_020368f4(UnkStruct_02037750 *param_2); void func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4); void func_02036bbc(void); void func_02036c50(unk32 param_2); void func_02036ca4(unk32 param_2); - bool func_02036ce4(UnkStruct_020386d8* param_2, unk32 param_3); - bool func_02036d30(UnkStruct_02037750* param_2); - bool func_02036d4c(UnkStruct_02037750* param_2); + bool func_02036ce4(UnkStruct_020386d8 *param_2, unk32 param_3); + bool func_02036d30(UnkStruct_02037750 *param_2); + bool func_02036d4c(UnkStruct_02037750 *param_2); void func_02036d6c(void); - UnkStruct_02038aa0* func_02036da8(u32 param_2, s16* param_3); + UnkStruct_02038aa0 *func_02036da8(u32 param_2, s16 *param_3); void func_02036edc(u32 param_2, u8 param_3); - UnkStruct_020397f8* func_02036f68(u32 param_2, u8* param_3); - UnkStruct_020386d8* func_020370d0(unk32 param_2, unk32 param_3); - UnkStruct_020386d8* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); - void func_02037158(UnkSubClass1_02256FF8* param_2); - UnkStruct_02038aa0* func_02037178(UnkSubClass1_02256FF8* param_2); + UnkStruct_020397f8 *func_02036f68(u32 param_2, u8 *param_3); + UnkStruct_020386d8 *func_020370d0(unk32 param_2, unk32 param_3); + UnkStruct_020386d8 *func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); + void func_02037158(UnkSubClass1_02256FF8 *param_2); + UnkStruct_02038aa0 *func_02037178(UnkSubClass1_02256FF8 *param_2); }; extern UnkStruct_027E0C68 data_027e0c68; diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index efe42b56..bfdbc86b 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -1,7 +1,7 @@ #pragma once -#include "System/SysNew.hpp" #include "Message/BMG.hpp" +#include "System/SysNew.hpp" #include "Unknown/func_ov000_020d0644.hpp" #include "nds/math.h" @@ -19,41 +19,41 @@ typedef struct UnkStruct_0203b264 { class UnkStruct_020397f8_410 { public: - /* 0x00 */ struct UnkStruct_020397f8* mUnk_00; + /* 0x00 */ struct UnkStruct_020397f8 *mUnk_00; /* 0x04 */ void func_0203ec34(void); void func_0203ebe0(void); void func_0203ebf8(void); - void func_0203ec4c(UnkStruct_0203b264* param_2, unk32 param_3, s32 param_4, s32 param_5); + void func_0203ec4c(UnkStruct_0203b264 *param_2, unk32 param_3, s32 param_4, s32 param_5); }; // same as UnkStruct_020397f8_410? class UnkStruct_020397f8_424 { public: - /* 0x00 */ struct UnkStruct_020397f8* mUnk_00; + /* 0x00 */ struct UnkStruct_020397f8 *mUnk_00; /* 0x04 */ void func_0203ee80(unk32); void func_0203ef78(unk16, u16, unk8); void func_0203ef78(unk16); // overload? void func_0203ee48(void); - UnkStruct_0203b264* func_0203eeb0(unk32 param_2, unk32 param_3); + UnkStruct_0203b264 *func_0203eeb0(unk32 param_2, unk32 param_3); }; class UnkStruct_0203dae0_114 : public SysObject { public: /* 0x00 (vtable) */ - /* 0x04 */ unk32* mUnk_04; + /* 0x04 */ unk32 *mUnk_04; /* 0x08 */ UnkStruct_0203dae0_114(); /* 0x00 */ virtual ~UnkStruct_0203dae0_114() override; - /* 0x08 */ virtual unk32 vfunc_08(void*); + /* 0x08 */ virtual unk32 vfunc_08(void *); /* 0x08 */ virtual unk32 vfunc_0c(void); /* 0x0C */ - unk32* func_0203d1b4(void); + unk32 *func_0203d1b4(void); }; struct func_02038f44_param4 { @@ -75,15 +75,15 @@ extern "C" u32 func_01ff9b4c(unk32, unk32); extern "C" unk32 func_0203c084(void); extern "C" unk32 func_ov000_02079e04(void); extern "C" unk32 func_02016fcc(unk32); -extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32); -extern "C" unk32 func_0202d5b4(char*, char*, unk32, unk32, unk32); +extern "C" void func_02032304(unk32 *, char *, unk32, unk32, unk32); +extern "C" unk32 func_0202d5b4(char *, char *, unk32, unk32, unk32); extern unk32 data_020691a0; -extern unk32* data_02068894; +extern unk32 *data_02068894; extern unk32 data_02056af0; -extern unk32* data_02056a00; -extern char* data_02057f08; // "MSP" -extern char* data_02057eec; // "Menu/UI_main/opening.bin" -extern char* data_02057ed8; // "MSP:opening.nclr" +extern unk32 *data_02056a00; +extern char *data_02057f08; // "MSP" +extern char *data_02057eec; // "Menu/UI_main/opening.bin" +extern char *data_02057ed8; // "MSP:opening.nclr" struct Struct_027e0db0 { /* 0x00 */ unk32 mUnk_00; @@ -110,22 +110,22 @@ extern unk16 data_02056a10[]; extern unk16 data_02056a16[]; extern unk32 data_02056a04[]; extern unk32 data_027e0c38[]; -extern "C" void func_0203489c(unk32, unk16, unk32*, unk32*); -extern "C" void func_020347b0(unk32, unk16, unk32*, unk32*, unk32, unk32); +extern "C" void func_0203489c(unk32, unk16, unk32 *, unk32 *); +extern "C" void func_020347b0(unk32, unk16, unk32 *, unk32 *, unk32, unk32); extern THUMB unk32 func_0202ab48(void); extern "C" void func_02034984(unk32, u8, unk32, unk32); -extern "C" void func_02034698(unk32, unk32, unk32*, unk32*); +extern "C" void func_02034698(unk32, unk32, unk32 *, unk32 *); extern struct TouchControl gTouchControl; class UnkClass_027e0e28 { public: unk32 func_ov000_0207bc48(); }; -extern UnkClass_027e0e28* data_027e0e28; +extern UnkClass_027e0e28 *data_027e0e28; extern u8 data_027e0c54; -extern unk32* data_ov009_0211f5b4; -extern "C" unk32 func_ov003_020f3f94(unk32*); -extern unk32* data_02057ed4; +extern unk32 *data_ov009_0211f5b4; +extern "C" unk32 func_ov003_020f3f94(unk32 *); +extern unk32 *data_02057ed4; // see Actor.cpp typedef struct UnkStruct_01ffbe34 { @@ -152,11 +152,11 @@ struct UnkClass_027e1054_unk_00_unk00 { }; struct UnkClass_027e1054_unk_00 { /* 0x00 */ unk32 mUnk_04; - /* 0x00 */ UnkClass_027e1054_unk_00_unk00* mUnk_00; + /* 0x00 */ UnkClass_027e1054_unk_00_unk00 *mUnk_00; }; class UnkClass_027e1054 { public: - UnkClass_027e1054_unk_00* mUnk_00; + UnkClass_027e1054_unk_00 *mUnk_00; unk32 mUnk_04; void func_ov003_020f4874(void); @@ -181,6 +181,6 @@ extern UnkClass_ov000_027e0d04 data_027e0d04; class UnkClass_data_027e0f7c { public: - u8* func_ov000_0209d90c(s8, s8); + u8 *func_ov000_0209d90c(s8, s8); }; extern UnkClass_data_027e0f7c data_027e0f7c; diff --git a/include/Unknown/UnkStruct_02032f0c.hpp b/include/Unknown/UnkStruct_02032f0c.hpp index 67be855a..ec589e51 100644 --- a/include/Unknown/UnkStruct_02032f0c.hpp +++ b/include/Unknown/UnkStruct_02032f0c.hpp @@ -9,7 +9,7 @@ class UnkStruct_02032e7c : public SysObject { public: /* 00 (vtable) */ - /* 04 */ u16* mUnk_04; // pointer to the current position in the message to display + /* 04 */ u16 *mUnk_04; // pointer to the current position in the message to display /* 08 */ unk16 mUnk_08; /* 0a */ unk16 mUnk_0a; /* 0c */ unk16 mUnk_0c; @@ -59,7 +59,7 @@ struct UnkStruct_MsgProc_Base_unk_2C { /* 02 */ s8 mUnk_02; /* 03 */ s8 mUnk_03; /* 04 */ unk32 mUnk_04; - /* 08 */ u8* mUnk_08; + /* 08 */ u8 *mUnk_08; /* 0c */ }; @@ -77,16 +77,16 @@ struct func_0203b410_param1 { class UnkStruct_02032f0c : public SysObject { public: /* 00 (vtable) */ - /* 04 */ unk32* mUnk_04; - /* 08 */ UnkSubClass1_02256FF8* mUnk_08; + /* 04 */ unk32 *mUnk_04; + /* 08 */ UnkSubClass1_02256FF8 *mUnk_08; /* 0c */ u16 *mUnk_0c; - /* 10 */ unk32* mUnk_10; + /* 10 */ unk32 *mUnk_10; /* 14 */ s32 mUnk_14; /* 18 */ s32 mUnk_18; /* 1c */ unk32 mUnk_1c; /* 20 */ unk32 mUnk_20; - /* 24 */ unk32* mUnk_24; - /* 28 */ unk32* mUnk_28; + /* 24 */ unk32 *mUnk_24; + /* 28 */ unk32 *mUnk_28; /* 2c */ UnkStruct_MsgProc_Base_unk_2C **mUnk_2c; /* 30 */ s32 mUnk_30; /* 34 */ s32 mUnk_34; @@ -122,7 +122,8 @@ public: // /* 0x10 */ /* func_020331c4 */ virtual void vfunc_10(u8 param_2, u8 param_3); // /* 0x14 */ /* func_02032fcc */ virtual bool vfunc_14(u16 param_2, u8 param_3); // /* 0x18 */ /* func_020332e4 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4); - // /* 0x1C */ /* func_02033360 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + // /* 0x1C */ /* func_02033360 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 + // param_5); // /* 0x20 */ /* func_020333e0 */ virtual UNK_TYPE vfunc_20(UNK_TYPE); // /* 0x24 */ /* func_02033af4 */ virtual UNK_TYPE vfunc_24(UNK_TYPE); @@ -137,20 +138,20 @@ public: /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); /* 48 */ virtual void vfunc_48(void); /* 4c */ virtual void vfunc_4C(void); - /* 50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5); + /* 50 */ virtual void vfunc_50(EntryINF1 *param_2, u32 param_3, s16 *param_4, UnkSubClass1_02256FF8 *param_5); /* 54 */ virtual void vfunc_54(void); /* 58 */ virtual void vfunc_58(void); /* 5c */ virtual void vfunc_5C(void); - /* 60 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4); - /* 64 */ virtual void vfunc_64(s16* param_2); + /* 60 */ virtual void vfunc_60(func_0203b410_param1 *param_2, unk32 param_3, unk32 param_4); + /* 64 */ virtual void vfunc_64(s16 *param_2); /* 68 */ virtual unk32 vfunc_68(unk32 param_2); - /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3); - /* 70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3); + /* 6c */ virtual void vfunc_6C(unk32 *param_2, unk32 *param_3); + /* 70 */ virtual void vfunc_70(unk32 *param_2, unk32 *param_3); /* 74 */ UnkStruct_02032f0c(); void func_02032f94(); - unk32* func_02032f98(unk32 param_2); + unk32 *func_02032f98(unk32 param_2); u16 **SetUnk_0c(u16 *value); u8 func_02032fa4(); s32 func_02032fb4(); diff --git a/include/Unknown/UnkStruct_02035064.hpp b/include/Unknown/UnkStruct_02035064.hpp index 36f831de..a55b8808 100644 --- a/include/Unknown/UnkStruct_02035064.hpp +++ b/include/Unknown/UnkStruct_02035064.hpp @@ -10,19 +10,19 @@ public: /* 00 (vtable) */ /* 04 */ unk16 mUnk_04; /* 04 */ unk16 mUnk_06; - /* 08 */ u32* mUnk_08; + /* 08 */ u32 *mUnk_08; /* 0c */ unk32 mUnk_0c; /* 10 */ unk32 mUnk_10; /* 14 */ u32 mUnk_14; /* 18 */ unk32 mUnk_18; /* 1c */ unk32 mUnk_1c; - /* 20 */ u32* mUnk_20; + /* 20 */ u32 *mUnk_20; /* 24 */ unk32 mUnk_24; /* 28 */ unk32 mUnk_28; /* 2c */ unk32 mUnk_2c; /* 30 */ unk32 mUnk_30; - /* 34 */ u32* mUnk_34; - /* 38 */ u32* mUnk_38; + /* 34 */ u32 *mUnk_34; + /* 38 */ u32 *mUnk_38; /* 3c */ unk32 mUnk_3c; /* 40 */ unk32 mUnk_40; /* 44 */ unk32 mUnk_44; @@ -34,7 +34,7 @@ public: /* 58 */ unk32 mUnk_58; /* 5c */ UnkStruct_0202e1a0 mUnk_5c; /* 74 */ u16 *mUnk_74; - /* 78 */ s32* mUnk_78; + /* 78 */ s32 *mUnk_78; /* 7c */ u32 mUnk_7c; /* 80 */ u16 mUnk_80; /* 82 */ unk16 mUnk_82; @@ -52,7 +52,7 @@ public: static u8 func_02035428(u8 param1); - void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*); + void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34 *); void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6); void func_020350b0(); void func_020350b4(s32 param1, unk32 param2, unk8 param3, unk16 param4, unk16 param5); diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index 89877998..56cd123e 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -23,10 +23,10 @@ public: /* 00 */ virtual ~UnkStruct_02037750(); /* 08 */ virtual void vfunc_08(u32 param1); - /* 0c */ virtual void vfunc_0c(class UnkStruct_020397f8* param1); + /* 0c */ virtual void vfunc_0c(class UnkStruct_020397f8 *param1); /* 10 */ virtual void vfunc_10(); /* 14 */ virtual void vfunc_14(); - /* 18 */ virtual void vfunc_18(unk32* param1); + /* 18 */ virtual void vfunc_18(unk32 *param1); /* 1c */ virtual bool vfunc_1c(); /* 20 */ virtual void vfunc_20(); /* 24 */ virtual bool vfunc_24(unk32 param1); @@ -48,7 +48,7 @@ public: /* 00 */ u8 mUnk_03; /* 04 */ - void func_020376c0(const Vec3p* param_2); + void func_020376c0(const Vec3p *param_2); }; // astruct_15 diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index 6b53dde3..c0f31f16 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -3,13 +3,13 @@ #include "global.h" #include "types.h" -#include "Unknown/UnkStruct_0203dae0.hpp" +#include "Message/MsgProc.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_0203dae0.hpp" #include "nds/math.h" -#include "Message/MsgProc.hpp" class UnkStruct_02038aa0; -typedef bool (*UnknownCallback)(class UnkStruct_020397f8*); +typedef bool (*UnknownCallback)(class UnkStruct_020397f8 *); class UnkStruct_0203881c : public UnkStruct_02032e7c { public: @@ -17,7 +17,7 @@ public: /* 14 */ unk32 mUnk_14; /* 18 */ unk32 mUnk_18; /* 1c */ UnknownCallback mUnk_1c; - /* 20 */ class UnkStruct_020397f8* mUnk_20; + /* 20 */ class UnkStruct_020397f8 *mUnk_20; /* 24 */ unk32 mUnk_24; /* 28 */ @@ -33,7 +33,7 @@ public: class UnkSubClass1_unk_124 { public: - /* 00 */ void* mUnk_00; // pointer to MsgProc_Main (well, the first members of the base class) + /* 00 */ void *mUnk_00; // pointer to MsgProc_Main (well, the first members of the base class) /* 04 */ unk32 mUnk_04; /* 08 */ unk32 mUnk_08; /* 0c */ unk32 mUnk_0c; @@ -49,7 +49,7 @@ public: /* 2b */ unk8 mUnk_2b; /* 2c */ - void func_0203f020(s16*, unk32); + void func_0203f020(s16 *, unk32); }; struct UnkStruct_0203b264; @@ -60,10 +60,10 @@ class UnkStruct_02038aa0 : public UnkStruct_0203dae0 { public: /* 000 (base) */ /* 123 */ unk8 mUnk_123; - /* 124 */ UnkSubClass1_unk_124* mUnk_124; + /* 124 */ UnkSubClass1_unk_124 *mUnk_124; /* 128 */ UnkStruct_0203881c mUnk_128; /* 150 */ u8 mUnk_150[4]; - /* 154 */ EntryINF1* pInfoEntry; + /* 154 */ EntryINF1 *pInfoEntry; /* 158 */ Vec2s mUnk_158; // textbox position? /* 15c */ s16 mUnk_15c; /* 15e */ s8 mUnk_15e; @@ -72,7 +72,7 @@ public: /* 161 */ /* 00 */ virtual ~UnkStruct_02038aa0(); - /* 08 */ virtual void vfunc_08(s32 param1, unk32* param2, s16 *param3, unk32 param4); + /* 08 */ virtual void vfunc_08(s32 param1, unk32 *param2, s16 *param3, unk32 param4); /* 0c */ virtual void vfunc_0c(u8 param_2, u8 param_3, u8 param_4, unk32 param_5); /* 10 */ virtual void vfunc_10(); /* 1c */ virtual unk32 vfunc_1c(s32 param1, unk32 *param2, unk32 param3, unk32 param4); @@ -86,10 +86,10 @@ public: /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); /* 48 */ virtual void vfunc_48(); /* 4c */ virtual void vfunc_4c(u32 param1, unk32 param2); - /* 50 */ virtual void vfunc_50(EntryINF1* param1, u32 param2, s16* param3, UnkSubClass1_02256FF8* param4); + /* 50 */ virtual void vfunc_50(EntryINF1 *param1, u32 param2, s16 *param3, UnkSubClass1_02256FF8 *param4); /* 54 */ virtual void vfunc_54(); /* 58 */ virtual void vfunc_58(); - /* 5c */ virtual void vfunc_5c(u16* param_2, struct UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + /* 5c */ virtual void vfunc_5c(u16 *param_2, struct UnkStruct_0203b264 *param_3, unk8 param_4, unk32 param_5); /* 60 */ virtual void vfunc_60(); /* 64 */ virtual void vfunc_64(); /* 68 */ virtual s32 vfunc_68(unk32 param1); @@ -102,7 +102,8 @@ public: // /* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? // /* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; // /* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - // /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + // /* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 + // param_5) override; // /* 0x20 */ /* func_020390a4 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; // /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; // /* 0x28 */ virtual bool vfunc_28(void) override; @@ -123,20 +124,21 @@ public: void func_02039440(unk32 param1, unk32 param2); bool func_0203951c(); - static void func_020387e0(u8* param_2); + static void func_020387e0(u8 *param_2); unk32 func_02032fb4(void); - u16* func_02037604(u16**); + u16 *func_02037604(u16 **); void func_02038b28(void); void func_02038b74(void); // is this a dtor? void func_02038f40(void); - void func_02038f44(EntryINF1* param_2, u32 param_3, struct func_02038f44_param4* param_4, UnkSubClass1_02256FF8* param_5, unk32 param_6); + void func_02038f44(EntryINF1 *param_2, u32 param_3, struct func_02038f44_param4 *param_4, UnkSubClass1_02256FF8 *param_5, + unk32 param_6); void func_02039058(void); - unk32 func_0203905c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5); + unk32 func_0203905c(u16 *param_2, UnkStruct_0203b264 *param_3, unk8 param_4, unk32 param_5); void func_02038d20(void); void func_020392b4(void); void func_02039398(void); - void func_020393a8(s16* param_2); + void func_020393a8(s16 *param_2); void func_0203a188(unk32, unk32); unk32 func_0203a3e0(void); unk32 func_0203cb5c(unk8, s16); @@ -147,12 +149,12 @@ public: void func_0203e1b0(unk32, unk32, unk32); //! TODO: not sure it belongs to this class: - + void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); void func_020331c4(unk32, unk32); void func_0203947c(void); void func_0203cabc(unk32); - unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32); - void func_0203e2ac(unk32* param_2); + unk32 func_0203e284(UnkStruct_0203b264 *, unk32, unk32); + void func_0203e2ac(unk32 *param_2); s16 func_0203d318(s16, s16); }; diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index ee969e08..668f1922 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -3,14 +3,14 @@ #include "global.h" #include "types.h" +#include "Message/MsgProc.hpp" +#include "System/SysNew.hpp" #include "Unknown/UnkStruct_02035064.hpp" #include "Unknown/UnkStruct_02038aa0.hpp" -#include "System/SysNew.hpp" -#include "Message/MsgProc.hpp" // does it host both choices? struct UnknownMsgChoiceStruct { - /* 00 */ UnkStruct_0203b264* mUnk_00; + /* 00 */ UnkStruct_0203b264 *mUnk_00; /* 04 */ unk32 mUnk_04; /* 08 */ }; @@ -22,7 +22,7 @@ class UnkStruct_020397f8 : public UnkStruct_02038aa0 { public: /* 000 (base) */ /* 161 */ unk8 mUnk_161[0x3]; - /* 164 */ UnkStruct_020397f8* mUnk_164; + /* 164 */ UnkStruct_020397f8 *mUnk_164; /* 168 */ UnkStruct_02035064 mUnk_168; /* 1f0 */ UnkStruct_02035064 mUnk_1f0; /* 278 */ UnkStruct_02035064 mUnk_278; @@ -30,7 +30,7 @@ public: /* 388 */ UnkStruct_02035064 mUnk_388; /* 410 */ UnkStruct_020397f8_410 mUnk_410; /* 414 */ unk32 mUnk_414; - /* 418 */ UnkStruct_02038aa0* mUnk_418; + /* 418 */ UnkStruct_02038aa0 *mUnk_418; /* 41c */ unk16 mUnk_41c; /* 41e */ unk16 mUnk_41e; /* 420 */ unk16 mUnk_420; @@ -100,16 +100,16 @@ public: bool func_0203a3e0(); /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY); bool func_0203a6d0(unk32 param1, unk32 param2); - /* 50 */ virtual void vfunc_50(EntryINF1* param1, unk32 param2, s32* param3, unk32 param4); + /* 50 */ virtual void vfunc_50(EntryINF1 *param1, unk32 param2, s32 *param3, unk32 param4); /* 54 */ virtual void vfunc_54(); /* 5c */ virtual void vfunc_5c(); /* 58 */ virtual void vfunc_58(); bool func_0203b0bc(); s32 func_0203b0ec(u32 param1); - /* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param1, unk32 param2, unk32 param3); + /* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264 *param1, unk32 param2, unk32 param3); /* 1c */ virtual unk32 vfunc_1c(u16 *param1, UnkStruct_0203b264 *param2, unk8 param3, unk32 param4); - /* 60 */ virtual void vfunc_60(func_0203b410_param1* param1, unk32 param2, unk32 param3); - /* 64 */ virtual void vfunc_64(s16* param1); + /* 60 */ virtual void vfunc_60(func_0203b410_param1 *param1, unk32 param2, unk32 param3); + /* 64 */ virtual void vfunc_64(s16 *param1); void func_0203b764(); /* 20 */ virtual unk32 vfunc_20(s32 param1, s32 *param2); void func_0203bd8c(s32 param1); // void func_0203bd8c(u16 param_2); @@ -119,7 +119,7 @@ public: bool func_0203c084(); bool func_0203c13c(); bool func_0203c1a0(); - static bool func_0203c25c(class UnkStruct_020397f8* param1); + static bool func_0203c25c(class UnkStruct_020397f8 *param1); /* 00 */ virtual ~UnkStruct_020397f8(); /* 38 */ virtual bool vfunc_38(); /* 74 */ @@ -152,12 +152,12 @@ public: MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4); //! TODO: remove the function declarations that are not overridden /* 00 */ virtual ~MsgProc_Type3(); - /* 08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override; + /* 08 */ virtual void vfunc_08(unk32 *param_2, unk32 *param_3) override; /* 0c */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; /* 10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? /* 14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; - /* 1c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; + /* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264 *param_2, unk32 param_3, unk32 param_4) override; + /* 1c */ virtual unk32 vfunc_1C(u16 *param_2, UnkStruct_0203b264 *param_3, unk8 param_4, unk32 param_5) override; /* 20 */ virtual void vfunc_20(void) override; /* 24 */ virtual void vfunc_24(void) override; /* 28 */ virtual bool vfunc_28(void) override; @@ -170,15 +170,15 @@ public: /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 48 */ virtual void vfunc_48(void) override; /* 4c */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 50 */ virtual void vfunc_50(EntryINF1 *param_2, u32 param_3, s16 *param_4, UnkSubClass1_02256FF8 *param_5) override; /* 54 */ virtual void vfunc_54(void) override; /* 58 */ virtual void vfunc_58(void) override; /* 5c */ virtual void vfunc_5C(void) override; - /* 60 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4) override; - /* 64 */ virtual void vfunc_64(s16* param_2) override; + /* 60 */ virtual void vfunc_60(func_0203b410_param1 *param_2, unk32 param_3, unk32 param_4) override; + /* 64 */ virtual void vfunc_64(s16 *param_2) override; /* 68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 6c */ virtual void vfunc_6C(unk32 *param_2, unk32 *param_3) override; + /* 70 */ virtual void vfunc_70(unk32 *param_2, unk32 *param_3) override; /* 74 */ static void func_0203c83c(void); diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index 864320ef..5315c958 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -3,8 +3,8 @@ #include "global.h" #include "types.h" -#include "Unknown/UnkStruct_02032f0c.hpp" #include "Message/MsgProc.hpp" +#include "Unknown/UnkStruct_02032f0c.hpp" class UnkStruct_0203dae0_114; @@ -90,7 +90,8 @@ public: // /* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override; // /* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060? // /* 0x14 */ /* func_0203dcb4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - // /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override; + // /* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) + // override; // /* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override; // /* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override; // /* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override; @@ -106,15 +107,15 @@ public: /* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; /* 48 */ virtual void vfunc_48(void) override; /* 4c */ virtual void vfunc_4C(void) override; // func_02039a3c? - /* 50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override; + /* 50 */ virtual void vfunc_50(EntryINF1 *param_2, u32 param_3, s16 *param_4, UnkSubClass1_02256FF8 *param_5) override; /* 54 */ virtual void vfunc_54(void) override; /* 58 */ virtual void vfunc_58(void) override; /* 5c */ virtual void vfunc_5C(void) override; - /* 60 */ virtual void vfunc_60(func_0203b410_param1* param_2, unk32 param_3, unk32 param_4) override; - /* 64 */ virtual void vfunc_64(s16* param_2) override; + /* 60 */ virtual void vfunc_60(func_0203b410_param1 *param_2, unk32 param_3, unk32 param_4) override; + /* 64 */ virtual void vfunc_64(s16 *param_2) override; /* 68 */ virtual unk32 vfunc_68(unk32 param_2) override; - /* 6c */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override; - /* 70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override; + /* 6c */ virtual void vfunc_6C(unk32 *param_2, unk32 *param_3) override; + /* 70 */ virtual void vfunc_70(unk32 *param_2, unk32 *param_3) override; /* 74 */ UnkStruct_0203dae0(u8 param1); @@ -122,7 +123,7 @@ public: void func_0203dc10(unk32 param_2, unk32 param_3); bool func_0203dc74(s32 param1, s32 param2); void func_0203dcfc(u8 param1, unk32 param2, unk32 param3, s32 param4); - unk32* func_0203ddec(); + unk32 *func_0203ddec(); void func_0203ddfc(); void func_0203de14(); s32 func_0203de24(); diff --git a/include/Unknown/func_ov000_020d0644.hpp b/include/Unknown/func_ov000_020d0644.hpp index 677169a4..74b88be3 100644 --- a/include/Unknown/func_ov000_020d0644.hpp +++ b/include/Unknown/func_ov000_020d0644.hpp @@ -1,7 +1,7 @@ #pragma once -#include "global.h" #include "System/SysNew.hpp" +#include "global.h" class UnkClass_func_ov000_020d0644 { public: -- cgit v1.2.3 From f8e7f9a17dd50694fbf7f318c99116bad76ae7b4 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:01:41 +0100 Subject: rename UnkStruct_027E0C68 --- include/Message/MessageManager.hpp | 20 ++++++++++++-------- include/Unknown/UnkStruct_0203dae0.hpp | 7 ++++++- 2 files changed, 18 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 28537830..28e4764e 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -7,6 +7,7 @@ #include "Message/MsgProc.hpp" #include "System/SysNew.hpp" #include "nds/math.h" +#include "Debug/DebugHierarchy.hpp" #include "Unknown/UnkStruct_0202e1a0.hpp" #include "Unknown/UnkStruct_02032f0c.hpp" @@ -16,12 +17,12 @@ #include "Unknown/UnkStruct_020397f8.hpp" #include "Unknown/UnkStruct_0203dae0.hpp" -class UnkStruct_027E0C68 : public SysObject { +class MessageManager : public SysObject { public: /* 0x00 */ u8 mUnk_00[2]; /* 0x02 */ u8 mUnk_02; /* 0x03 */ u8 mUnk_03; - /* 0x04 */ u8 mUnk_04; + /* 0x04 */ u8 mUnk_04; // halts actors and hides the item menu /* 0x05 */ u8 mUnk_05; /* 0x06 */ unk16 mUnk_06; /* 0x08 */ UnkStruct_020397f8 *mUnk_08; @@ -35,20 +36,21 @@ public: /* 0x20 */ UnkStruct_02037750 *mUnk_20[2]; /* 0x28 */ UnkStruct_02038aa0 *mUnk_28[6]; //! TODO: is it the right type? /* 0x40 */ UnkStruct_020397f8 *mUnk_40[2]; // is array size 6? - /* 0x48 */ + /* 0x48 */ DebugHierarchy* mDebug; + /* 0x4C */ - static void func_0203643c(u32 *param_1, UnkStruct_027E0C68 *param_2, u32 param_3); + static void func_0203643c(u32 *param_1, MessageManager *param_2, u32 param_3); void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); void func_0203665c(void); - UnkStruct_027E0C68(); - ~UnkStruct_027E0C68(); + MessageManager(); + ~MessageManager(); UnkStruct_020397f8 *func_020366c4(void); UnkStruct_020397f8 *func_02036700(void); UnkStruct_020386d8 *func_0203673c(void); bool func_02036770(u32 param_2); unk32 func_02036798(void); bool func_020367dc(int param_2); - bool UnkStruct_027E0C68::func_020367ec(void); + bool MessageManager::func_020367ec(void); bool func_02036808(void); bool func_02036824(void); bool func_02036850(void); @@ -69,6 +71,8 @@ public: UnkStruct_020386d8 *func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5); void func_02037158(UnkSubClass1_02256FF8 *param_2); UnkStruct_02038aa0 *func_02037178(UnkSubClass1_02256FF8 *param_2); + + void func_ov004_021069c4(void); }; -extern UnkStruct_027E0C68 data_027e0c68; +extern MessageManager gMessageManager; diff --git a/include/Unknown/UnkStruct_0203dae0.hpp b/include/Unknown/UnkStruct_0203dae0.hpp index 5315c958..7cb67a00 100644 --- a/include/Unknown/UnkStruct_0203dae0.hpp +++ b/include/Unknown/UnkStruct_0203dae0.hpp @@ -52,7 +52,10 @@ public: /* 0dc */ unk32 mUnk_dc; /* 0e0 */ unk32 mUnk_e0; /* 0e4 */ unk32 mUnk_e4; - /* 0e8 */ unk32 mUnk_e8; + /* 0e8 */ unk8 mUnk_e8; + /* 0e8 */ unk8 mUnk_e9; + /* 0e8 */ unk8 mUnk_ea; + /* 0e8 */ unk8 mUnk_eb; /* 0ec */ unk32 mUnk_ec; /* 0f0 */ unk32 mUnk_f0; /* 0f4 */ unk32 mUnk_f4; @@ -134,4 +137,6 @@ public: void func_0203e510(s32 *param1, s32 param2, s32 param3); void func_0203e62c(s32 *param1, s32 param2); bool func_0203e6e4(u32 param1, u32 param2, s32 param3); + + void func_ov003_020f13b0(unk32 param1); }; -- cgit v1.2.3 From 8003089294daef5ccb9b3a73eac8a4496457f178 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 1 Jul 2025 00:01:30 +0200 Subject: Fix match --- include/Item/ItemManager.hpp | 1 - include/Message/BMG.hpp | 13 ++++++------- include/Unknown/UnkStruct_02037750.hpp | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 3d32bbbe..3de57def 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -207,4 +207,3 @@ public: }; extern ItemManager *gItemManager; -extern UnkStruct_027e0d38 *data_027e0d38; diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index b438a0da..c3d4479d 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -5,19 +5,18 @@ #include "types.h" #define BMG_MAGIC "MESGbmg1" -#define BMG_TAG(a, b, c, d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) #define BMG_GET_INF1(pGroups, flags) ((pGroups)->entries[(flags) >> 0x10].func_02037258((flags) & 0xFFFF)) #define BMG_GET_MSG_OFFSET(pGroups, flags) (BMG_GET_INF1((pGroups), (flags))->offset) #define BMG_GET_MSG_ADDR(pGroups, flags) \ ((u32) (pGroups)->entries[(flags) >> 0x10].pDAT1 + (BMG_GET_MSG_OFFSET((pGroups), (flags)) & ~1)) enum BMGTag { - /* "INF1" */ BMG_TAG_INF1 = BMG_TAG('I', 'N', 'F', '1'), - /* "FLW1" */ BMG_TAG_FLW1 = BMG_TAG('F', 'L', 'W', '1'), - /* "FLI1" */ BMG_TAG_FLI1 = BMG_TAG('F', 'L', 'I', '1'), - /* "DAT1" */ BMG_TAG_DAT1 = BMG_TAG('D', 'A', 'T', '1'), - /* "MID1" */ BMG_TAG_MID1 = BMG_TAG('M', 'I', 'D', '1'), - /* "MID1" */ BMG_TAG_STR1 = BMG_TAG('S', 'T', 'R', '1'), + /* "INF1" */ BMG_TAG_INF1 = '1FNI', + /* "FLW1" */ BMG_TAG_FLW1 = '1WLF', + /* "FLI1" */ BMG_TAG_FLI1 = '1ILF', + /* "DAT1" */ BMG_TAG_DAT1 = '1TAD', + /* "MID1" */ BMG_TAG_MID1 = '1DIM', + /* "STR1" */ BMG_TAG_STR1 = '1RTS', }; enum BMGEncoding { diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp index 359d5fd2..a480c1a3 100644 --- a/include/Unknown/UnkStruct_02037750.hpp +++ b/include/Unknown/UnkStruct_02037750.hpp @@ -37,7 +37,7 @@ public: UnkStruct_02037750(unk32 param1, unk32 param2); static LinkStateInteract *GetLinkStateInteract(); - void func_020385d0(s32 param1, u8 *param2); + unk32 func_020385d0(s32 param1, u8 *param2); }; class UnkStruct_020386d8_24 { -- cgit v1.2.3 From 0567d5aaa59eee67d07f1ca013bee0268e038d2e Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 1 Jul 2025 00:24:41 +0200 Subject: Clang format --- include/Message/MessageManager.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index 28e4764e..ed4ddcd2 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -3,11 +3,11 @@ #include "global.h" #include "types.h" +#include "Debug/DebugHierarchy.hpp" #include "Message/BMG.hpp" #include "Message/MsgProc.hpp" #include "System/SysNew.hpp" #include "nds/math.h" -#include "Debug/DebugHierarchy.hpp" #include "Unknown/UnkStruct_0202e1a0.hpp" #include "Unknown/UnkStruct_02032f0c.hpp" @@ -36,7 +36,7 @@ public: /* 0x20 */ UnkStruct_02037750 *mUnk_20[2]; /* 0x28 */ UnkStruct_02038aa0 *mUnk_28[6]; //! TODO: is it the right type? /* 0x40 */ UnkStruct_020397f8 *mUnk_40[2]; // is array size 6? - /* 0x48 */ DebugHierarchy* mDebug; + /* 0x48 */ DebugHierarchy *mDebug; /* 0x4C */ static void func_0203643c(u32 *param_1, MessageManager *param_2, u32 param_3); -- cgit v1.2.3