Merge remote-tracking branch 'upstream/main' into displaytext

This commit is contained in:
Yanis002
2025-07-01 00:47:38 +02:00
35 changed files with 4054 additions and 472 deletions
+5 -2
View File
@@ -57,7 +57,7 @@ struct UnkStruct_027e103c {
void func_ov000_020cf3f0();
void func_ov000_020cf404();
void func_ov000_020cf414();
void func_ov000_020cf42c();
bool func_ov000_020cf42c();
bool func_ov000_020cf444();
bool func_ov000_020cf488();
bool func_ov000_020cf4bc();
@@ -80,7 +80,10 @@ struct UnkStruct_027e103c {
unk8 func_ov000_020cfab0();
void func_ov000_020cfabc(s32 param1, s32 param2);
void func_ov000_020cfae8(s32 param1, s32 param2);
void func_ov000_020cfb20(unk32 param1);
//! TODO: find out if the type is always `UnkStruct_020397f8*`
void func_ov000_020cfb20(void *);
void func_ov000_020cfb38();
void func_ov000_020cfb48();
void func_ov000_020cfb58();
+5 -1
View File
@@ -8,7 +8,8 @@ extern "C" {
#include "nds/math.h"
#include "types.h"
#include "Actor/Navi/ActorNaviBase.hpp"
#include "Actor/Navi/ActorNavi.hpp"
#include "DTCM/UnkStruct_027e0d38.hpp"
#include "Item/Item.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
@@ -186,6 +187,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);
+208
View File
@@ -0,0 +1,208 @@
#pragma once
#include "System/SysNew.hpp"
#include "global.h"
#include "types.h"
#define BMG_MAGIC "MESGbmg1"
#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 = '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 {
/* 1 */ BMG_ENCODING_CP1252 = 1,
/* 2 */ BMG_ENCODING_UTF16_BE,
/* 3 */ BMG_ENCODING_SHIFT_JIS,
/* 4 */ BMG_ENCODING_UTF8,
/* 5 */ BMG_ENCODING_MAX
};
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;
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,
/* 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;
};
/* 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:
/* 00 */ BMGFileInfo *entries; // accessed with `groupId`
/* 04 */ s32 numEntries;
/* 08 */
BMGGroups();
~BMGGroups();
void func_020372f0(BMGFileIndex eIndex, s16 unk_18);
void func_020373b4(s16 unk_18);
u32 func_020373ec(unk32 param_2);
};
+78
View File
@@ -0,0 +1,78 @@
#pragma once
#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 "Unknown/UnkStruct_0202e1a0.hpp"
#include "Unknown/UnkStruct_02032f0c.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 MessageManager : public SysObject {
public:
/* 0x00 */ u8 mUnk_00[2];
/* 0x02 */ u8 mUnk_02;
/* 0x03 */ u8 mUnk_03;
/* 0x04 */ u8 mUnk_04; // halts actors and hides the item menu
/* 0x05 */ u8 mUnk_05;
/* 0x06 */ unk16 mUnk_06;
/* 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?
/* 0x48 */ DebugHierarchy *mDebug;
/* 0x4C */
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);
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 MessageManager::func_020367ec(void);
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_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);
void func_02036d6c(void);
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);
void func_ov004_021069c4(void);
};
extern MessageManager gMessageManager;
+186
View File
@@ -0,0 +1,186 @@
#pragma once
#include "Message/BMG.hpp"
#include "System/SysNew.hpp"
#include "Unknown/func_ov000_020d0644.hpp"
#include "nds/math.h"
// temp
#define UNK_TYPE void
#define ESCAPE_SEQUENCE_MARKER '\x1A'
#define CHECK_UNK_FLAGS(val) (((data_02056be4[data_027e077c.mUnk_0] & (val)) != 0))
typedef struct UnkStruct_0203b264 {
/* 0 */ u8 mUnk_0[0x4];
/* 4 */ u16 *mUnk_4;
/* 8 */
} UnkStruct_0203b264;
class UnkStruct_020397f8_410 {
public:
/* 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);
};
// same as UnkStruct_020397f8_410?
class UnkStruct_020397f8_424 {
public:
/* 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);
};
class UnkStruct_0203dae0_114 : public SysObject {
public:
/* 0x00 (vtable) */
/* 0x04 */ unk32 *mUnk_04;
/* 0x08 */
UnkStruct_0203dae0_114();
/* 0x00 */ virtual ~UnkStruct_0203dae0_114() override;
/* 0x08 */ virtual unk32 vfunc_08(void *);
/* 0x08 */ virtual unk32 vfunc_0c(void);
/* 0x0C */
unk32 *func_0203d1b4(void);
};
struct func_02038f44_param4 {
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
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 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 mUnk_00;
/* 0x04 */ unk32 mUnk_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[];
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 gTouchControl;
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 mUnk_00[0x95];
/* 0x95 */ u8 mUnk_95;
};
struct UnkClass_027e1054_unk_00 {
/* 0x00 */ unk32 mUnk_04;
/* 0x00 */ UnkClass_027e1054_unk_00_unk00 *mUnk_00;
};
class UnkClass_027e1054 {
public:
UnkClass_027e1054_unk_00 *mUnk_00;
unk32 mUnk_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 mUnk_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;
+1 -1
View File
@@ -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 */
};
+1
View File
@@ -3,6 +3,7 @@
#include "global.h"
#include "types.h"
// astruct_11
struct UnkStruct_0202e1a0 {
/* 00 */ unk16 mUnk_00;
/* 02 */ unk16 mUnk_02;
+105 -7
View File
@@ -3,10 +3,13 @@
#include "global.h"
#include "types.h"
class UnkStruct_02032e7c {
#include "Message/BMG.hpp"
#include "System/SysNew.hpp"
class UnkStruct_02032e7c : public SysObject {
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;
@@ -20,20 +23,80 @@ public:
UnkStruct_02032e7c();
};
class UnkStruct_02032f0c {
class UnkSubClass1_02256FF8 {
public:
/* 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();
/* 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 {
/* 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_param1 {
/* 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
class UnkStruct_02032f0c : public SysObject {
public:
/* 00 (vtable) */
/* 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;
/* 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;
/* 3e */ unk16 mUnk_3e[6];
/* 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;
@@ -54,12 +117,47 @@ 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?
/* 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_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);
/* 74 */
UnkStruct_02032f0c();
void func_02032f94();
unk32 *func_02032f98(unk32 param_2);
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);
void func_02033628(unk32 param1, u16 *param2);
u32 func_0203369c(u16 *param1, s32 param2);
+27 -9
View File
@@ -8,19 +8,33 @@
class UnkStruct_02035064 {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 08 */ unk8 mUnk_08[0xc];
/* 04 */ unk16 mUnk_04;
/* 04 */ unk16 mUnk_06;
/* 08 */ u32 *mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
/* 14 */ u32 mUnk_14;
/* 18 */ unk8 mUnk_18[0x4];
/* 18 */ unk32 mUnk_18;
/* 1c */ unk32 mUnk_1c;
/* 20 */ u32 mUnk_20;
/* 24 */ unk8 mUnk_24[0x28];
/* 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;
/* 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 */ unk8 mUnk_50[0xc];
/* 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;
/* 78 */ s32 *mUnk_78;
/* 7c */ u32 mUnk_7c;
/* 80 */ u16 mUnk_80;
/* 82 */ unk16 mUnk_82;
@@ -29,13 +43,17 @@ public:
/* 87 */ unk8 mUnk_87;
/* 88 */
/* 0 */ virtual s32 vfunc_0();
/* 4 */ virtual s32 vfunc_4();
/* 0 */ virtual s32 vfunc_00(); // func_020351a8
/* 4 */ virtual s32 vfunc_04(); // func_020351b0
/* 8 */
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();
void func_020350b4(s32 param1, unk32 param2, unk8 param3, unk16 param4, unk16 param5);
void func_0203516c();
+46 -19
View File
@@ -4,50 +4,77 @@
#include "types.h"
#include "Player/LinkStateInteract.hpp"
#include "System/SysNew.hpp"
class UnkStruct_02037750 {
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 */ 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 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 unk32 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);
static LinkStateInteract *GetLinkStateInteract();
void func_020385d0(s32 param1, unk32 *param2);
unk32 func_020385d0(s32 param1, u8 *param2);
};
class UnkStruct_020386d8_24 {
public:
/* 00 */ u8 mUnk_00;
/* 00 */ u8 mUnk_01;
/* 00 */ u8 mUnk_02;
/* 00 */ u8 mUnk_03;
/* 04 */
void func_020376c0(const 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 */
/* 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;
/* 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);
/* 24 */ virtual void vfunc_24(unk32 param1);
/* 28 */ virtual void vfunc_28();
/* 30 */ virtual unk32 vfunc_30();
/* 08 */ virtual void vfunc_08(u32 param1);
/* 24 */ virtual bool vfunc_24(unk32 param1);
/* 28 */ virtual unk32 vfunc_28(s32 param1);
/* 30 */ virtual bool vfunc_30();
/* 34 */
};
+99 -26
View File
@@ -3,17 +3,21 @@
#include "global.h"
#include "types.h"
#include "Message/MsgProc.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_0203dae0.hpp"
#include "nds/math.h"
class UnkStruct_02038aa0;
typedef bool (*UnknownCallback)(class UnkStruct_020397f8 *);
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 UnkStruct_020397f8 *mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 28 */
@@ -27,45 +31,65 @@ public:
void func_02038a80(s32 param1);
};
class UnkSubClass1_unk_124 {
public:
/* 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);
};
struct UnkStruct_0203b264;
struct func_02038f44_param4;
// 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 mUnk_150[4];
/* 154 */ EntryINF1 *pInfoEntry;
/* 158 */ Vec2s mUnk_158; // textbox position?
/* 15c */ s16 mUnk_15c;
/* 15e */ s8 mUnk_15e;
/* 15f */ s8 mUnk_15f;
/* 160 */ u8 mUnk_160;
/* 161 */
/* 00 */ virtual ~UnkStruct_02038aa0();
/* 08 */ virtual void vfunc_08(s32 param1, unk32 param2, s16 *param3, unk32 param4);
/* 10 */ virtual void vfunc_10(unk32 param1);
/* 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);
/* 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 unk32 vfunc_38();
/* 3c */ virtual void vfunc_3c() = 0;
/* 40 */ virtual void vfunc_40() = 0;
/* 44 */ virtual void vfunc_44();
/* 38 */ virtual bool vfunc_38();
/* 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);
/* 4c */ virtual void vfunc_4c(u32 param1, unk32 param2);
/* 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, 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);
@@ -73,6 +97,21 @@ 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_02038b40();
bool func_02038b78();
@@ -84,4 +123,38 @@ 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, 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);
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_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
unk32 func_0203de14(unk32);
void func_0203e090(void);
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);
s16 func_0203d318(s16, s16);
};
+142 -26
View File
@@ -3,42 +3,72 @@
#include "global.h"
#include "types.h"
#include "Message/MsgProc.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_02035064.hpp"
#include "Unknown/UnkStruct_02038aa0.hpp"
// does it host both choices?
struct UnknownMsgChoiceStruct {
/* 00 */ UnkStruct_0203b264 *mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
};
class UnkStruct_020397f8_410;
// astruct_2, MsgProc_Type1
class UnkStruct_020397f8 : public UnkStruct_02038aa0 {
public:
/* 000 (base) */
/* 161 */ unk8 mUnk_161[0x3];
/* 164 */ unk32 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;
/* 410 */ UnkStruct_020397f8_410 mUnk_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 mUnk_422;
/* 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;
/* 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 mUnk_558[0x4];
/* 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 */ unk8 mUnk_564[0x8];
/* 564 */ u16 mUnk_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,44 +83,130 @@ 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();
/* 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);
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();
void func_0203a35c();
bool func_0203a3e0();
/* 44 */ virtual void vfunc_44(s32 param1, s32 param2);
bool func_0203a6d0(unk32 param1);
/* 50 */ virtual void vfunc_50(unk32 param1, unk32 param2, s32 param3, unk32 param4);
/* 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);
/* 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);
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();
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 unk32 vfunc_38();
/* 38 */ virtual bool vfunc_38();
/* 74 */
//! TODO: check if this is really here
void func_02039a3c(void);
unk32 func_02039250(void);
};
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;
/* 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 mUnk_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
/* 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_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;
/* 74 */
static void func_0203c83c(void);
};
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;
/* 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);
/* 00 */ virtual ~MsgProc_Type2();
/* 14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) 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;
/* 4c */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c?
//! TODO: vfunc_4C?
void func_0203c39c(unk32 param_2, unk32 param_3);
void func_0203c4ac(unk32, unk32);
};
+104 -11
View File
@@ -3,22 +3,80 @@
#include "global.h"
#include "types.h"
#include "Message/MsgProc.hpp"
#include "Unknown/UnkStruct_02032f0c.hpp"
class UnkStruct_0203dae0_114;
// 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;
/* 11c */ unk16 mUnk_11c;
/* 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 */ 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;
/* 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 */ UnkStruct_0203dae0_114 *mUnk_114;
/* 118 */ s32 mUnk_118;
/* 11c */ u16 mUnk_11c;
/* 11e */ u8 mUnk_11e;
/* 11f */ u8 mUnk_11f;
/* 120 */ u8 mUnk_120;
/* 121 */ u8 mUnk_121;
/* 122 */ u8 mUnk_122;
/* 123 */
/* 121 */ s8 mUnk_121;
/* 123 */ u8 mUnk_122;
/* 00 */ virtual ~UnkStruct_0203dae0();
/* 08 */ virtual void vfunc_08(s32 param1, unk32 param2, s16 *param3, unk32 param4);
@@ -31,19 +89,54 @@ 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?
/* 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_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;
/* 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);
void func_0203e62c(s32 *param1, s32 param2);
bool func_0203e6e4(u32 param1, u32 param2, s32 param3);
void func_ov003_020f13b0(unk32 param1);
};
+19
View File
@@ -0,0 +1,19 @@
#pragma once
#include "System/SysNew.hpp"
#include "global.h"
class UnkClass_func_ov000_020d0644 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
// /* 0c */ unk32 mUnk_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);
};