This commit is contained in:
Yanis002
2025-02-12 20:20:34 +01:00
parent bfa8a9e376
commit 30bd3562ab
24 changed files with 495 additions and 550 deletions
+1 -1
View File
@@ -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();
+1 -1
View File
@@ -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
+21 -20
View File
@@ -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 */
+25 -25
View File
@@ -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;
+25 -25
View File
@@ -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;
+15 -14
View File
@@ -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();
+6 -6
View File
@@ -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);
+3 -3
View File
@@ -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
+23 -21
View File
@@ -3,13 +3,13 @@
#include "global.h"
#include "types.h"
#include "Unknown/UnkStruct_0203dae0.hpp"
#include "System/SysNew.hpp"
#include "nds/math.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*);
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);
};
+18 -18
View File
@@ -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);
+9 -8
View File
@@ -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();
+1 -1
View File
@@ -1,7 +1,7 @@
#pragma once
#include "global.h"
#include "System/SysNew.hpp"
#include "global.h"
class UnkClass_func_ov000_020d0644 {
public:
+1 -1
View File
@@ -59,7 +59,7 @@ void UnkStruct_027e103c::func_ov000_020cfa70(s32 param1, s32 param2) {}
unk8 UnkStruct_027e103c::func_ov000_020cfab0() {}
void UnkStruct_027e103c::func_ov000_020cfabc(s32 param1, s32 param2) {}
void UnkStruct_027e103c::func_ov000_020cfae8(s32 param1, s32 param2) {}
void UnkStruct_027e103c::func_ov000_020cfb20(void* param1) {}
void UnkStruct_027e103c::func_ov000_020cfb20(void *param1) {}
void UnkStruct_027e103c::func_ov000_020cfb38() {}
void UnkStruct_027e103c::func_ov000_020cfb48() {}
void UnkStruct_027e103c::func_ov000_020cfb58() {}
+27 -31
View File
@@ -3,15 +3,15 @@ extern "C" {
}
#include "Message/BMG.hpp"
char* func_0202ab38(u32* lang);
u32* func_0202d550(int, u32*, char* path, int, int, int);
void func_0202d590(BMGHeader*);
char *func_0202ab38(u32 *lang);
u32 *func_0202d550(int, u32 *, char *path, int, int, int);
void func_0202d590(BMGHeader *);
extern u32 *data_027e0ce0[];
extern u32 data_027e05f4; // language
extern u32* data_ov002_0210016c;
extern u32 *data_ov002_0210016c;
static char* sBMGFileNames[BMG_FILE_INDEX_MAX] = {
static char *sBMGFileNames[BMG_FILE_INDEX_MAX] = {
"system", // BMG_FILE_INDEX_SYSTEM
"regular", // BMG_FILE_INDEX_REGULAR
"battle", // BMG_FILE_INDEX_BATTLE
@@ -50,26 +50,26 @@ static char* sBMGFileNames[BMG_FILE_INDEX_MAX] = {
THUMB void BMGFileInfo::func_020371b4() {
this->pHeader = NULL;
this->pINF1 = NULL;
this->pFLW1 = NULL;
this->pFLI1 = NULL;
this->pDAT1 = NULL;
this->pINF1 = NULL;
this->pFLW1 = NULL;
this->pFLI1 = NULL;
this->pDAT1 = NULL;
this->mUnk_14 = NULL;
this->mUnk_18 = 0;
}
// non-matching (equivalent)
THUMB u16 BMGFileInfo::func_020371c8(u32* pFile, s16 unk_18) {
SectionBase* pSection;
THUMB u16 BMGFileInfo::func_020371c8(u32 *pFile, s16 unk_18) {
SectionBase *pSection;
u16 groupId;
u32 i;
BMGHeader* pHeader = (BMGHeader*)pFile;
BMGHeader *pHeader = (BMGHeader *) pFile;
groupId = -1;
groupId = -1;
this->mUnk_14 = pHeader;
this->mUnk_18 = unk_18;
this->pHeader = pHeader;
pSection = (SectionBase*)((u8*)pFile + sizeof(BMGHeader));
pSection = (SectionBase *) ((u8 *) pFile + sizeof(BMGHeader));
for (i = 0; i < this->mUnk_14->numSections; i++) {
switch (pSection->tag) {
@@ -80,31 +80,27 @@ THUMB u16 BMGFileInfo::func_020371c8(u32* pFile, s16 unk_18) {
// unused
break;
case BMG_TAG_INF1:
this->pINF1 = (SectionINF1*)pSection;
groupId = this->pINF1->groupId;
this->pINF1 = (SectionINF1 *) pSection;
groupId = this->pINF1->groupId;
break;
case BMG_TAG_DAT1:
//! TODO: fake?
this->pDAT1 = (SectionDAT1*)(pSection + 1);
break;
case BMG_TAG_FLW1:
this->pFLW1 = (SectionFLW1*)pSection;
break;
case BMG_TAG_FLI1:
this->pFLI1 = (SectionFLI1*)pSection;
this->pDAT1 = (SectionDAT1 *) (pSection + 1);
break;
case BMG_TAG_FLW1: this->pFLW1 = (SectionFLW1 *) pSection; break;
case BMG_TAG_FLI1: this->pFLI1 = (SectionFLI1 *) pSection; break;
}
pSection = (SectionBase*)((u8*)pSection + pSection->size);
pSection = (SectionBase *) ((u8 *) pSection + pSection->size);
}
return groupId;
}
ARM EntryINF1* BMGFileInfo::func_02037258(u16 param_2) {
ARM EntryINF1 *BMGFileInfo::func_02037258(u16 param_2) {
if (this->pINF1 != NULL) {
if (param_2 < this->pINF1->numEntries) {
return (EntryINF1*)((u32)&this->pINF1->entries + this->pINF1->entrySize * param_2);
return (EntryINF1 *) ((u32) & this->pINF1->entries + this->pINF1->entrySize * param_2);
}
return NULL;
@@ -115,8 +111,8 @@ ARM EntryINF1* BMGFileInfo::func_02037258(u16 param_2) {
// non-matching
ARM u16 BMGFileInfo::func_0203728c(unk32 param_2) {
SectionFLI1* pFLI1;
EntryFLI1* entry;
SectionFLI1 *pFLI1;
EntryFLI1 *entry;
u32 i;
u16 j;
@@ -151,7 +147,7 @@ ARM u16 BMGFileInfo::func_0203728c(unk32 param_2) {
THUMB void BMGGroups::func_020372f0(BMGFileIndex eIndex, s16 unk_18) {
char bmgPath[64];
BMGFileInfo bmgFile;
u32* pFile;
u32 *pFile;
u16 groupId;
// path to the bmg file for the current language (i.e.: "English/Message/battle.bmg")
@@ -180,8 +176,8 @@ THUMB void BMGGroups::func_020372f0(BMGFileIndex eIndex, s16 unk_18) {
bmgFile.func_020371b4();
// assign sections and set the file info in the groups entries
groupId = bmgFile.func_020371c8(pFile, unk_18);
this->entries[groupId] = bmgFile;
groupId = bmgFile.func_020371c8(pFile, unk_18);
this->entries[groupId] = bmgFile;
this->entries[groupId].groupId = groupId;
}
+47 -46
View File
@@ -5,64 +5,65 @@ extern "C" {
#include "global.h"
#include "types.h"
THUMB void func_0202d3bc(int param_1, unsigned int* param_2, char* path, int param_4, int param_5, bool param_6, int param_7, int param_8) {
THUMB void func_0202d3bc(int param_1, unsigned int *param_2, char *path, int param_4, int param_5, bool param_6, int param_7,
int param_8) {
/*
bool bVar1;
dword dVar2;
int iVar3;
dword *pdVar4;
uint uVar5;
dword local_64;
astruct_3 aStack_60;
dword *pdStack_18;
pdVar4 = (dword *)(uint)param_4;
*(char **)PTR_DWORD_0202d46c = path;
local_64 = DWORD_0202d470;
if (pdVar4 != (dword *)0x0) {
*pdVar4 = DWORD_0202d470;
}
pdStack_18 = pdVar4;
astruct_3(&aStack_60);
bVar1 = FUN_02041e7c(&aStack_60,path);
if (bVar1) {
uVar5 = aStack_60._40_4_ - aStack_60._36_4_;
if (uVar5 != 0) {
if (param_6) {
local_64 = FUN_0202d23c(&aStack_60,param_1,param_2,param_5,0,uVar5,pdVar4,param_7,param_8);
}
else {
if (param_7 == 0) {
dVar2 = FUN_0202d1c4(param_1,param_2,uVar5,param_5);
bool bVar1;
dword dVar2;
int iVar3;
dword *pdVar4;
uint uVar5;
dword local_64;
astruct_3 aStack_60;
dword *pdStack_18;
pdVar4 = (dword *)(uint)param_4;
*(char **)PTR_DWORD_0202d46c = path;
local_64 = DWORD_0202d470;
if (pdVar4 != (dword *)0x0) {
*pdVar4 = DWORD_0202d470;
}
pdStack_18 = pdVar4;
astruct_3(&aStack_60);
bVar1 = FUN_02041e7c(&aStack_60,path);
if (bVar1) {
uVar5 = aStack_60._40_4_ - aStack_60._36_4_;
if (uVar5 != 0) {
if (param_6) {
local_64 = FUN_0202d23c(&aStack_60,param_1,param_2,param_5,0,uVar5,pdVar4,param_7,param_8);
}
else {
dVar2 = 0;
if (uVar5 <= param_8) {
dVar2 = param_7;
}
}
if (dVar2 != 0) {
iVar3 = astruct_3::FUN_02041fa4(&aStack_60,dVar2,uVar5);
if (iVar3 == -1) {
if (param_7 == 0) {
FUN_0202d21c(dVar2);
}
if (param_7 == 0) {
dVar2 = FUN_0202d1c4(param_1,param_2,uVar5,param_5);
}
else {
local_64 = dVar2;
if (pdVar4 != (dword *)0x0) {
*pdVar4 = uVar5;
dVar2 = 0;
if (uVar5 <= param_8) {
dVar2 = param_7;
}
}
if (dVar2 != 0) {
iVar3 = astruct_3::FUN_02041fa4(&aStack_60,dVar2,uVar5);
if (iVar3 == -1) {
if (param_7 == 0) {
FUN_0202d21c(dVar2);
}
}
else {
local_64 = dVar2;
if (pdVar4 != (dword *)0x0) {
*pdVar4 = uVar5;
}
}
}
}
}
astruct_3::FUN_02041ea8(&aStack_60);
}
astruct_3::FUN_02041ea8(&aStack_60);
}
return local_64;*/
return local_64;*/
}
THUMB void func_0202d550(int param_1, unsigned int* param_2, char* path, int param_4, int param_5, bool param_6) {
THUMB void func_0202d550(int param_1, unsigned int *param_2, char *path, int param_4, int param_5, bool param_6) {
func_0202d3bc(param_1, param_2, path, param_4, param_5, param_6, 0, 0);
}
+63 -70
View File
@@ -3,28 +3,29 @@
#include "Player/TouchControl.hpp"
#include "System/SysNew.hpp"
extern ARM unk32 func_ov000_020d7f18(u32*, unk32);
extern ARM unk32 func_02037628(u8*);
extern ARM unk32 func_ov000_020d7f18(u32 *, unk32);
extern ARM unk32 func_02037628(u8 *);
extern u32* data_027e0ce0[];
extern u32 *data_027e0ce0[];
extern u32 data_02056924[];
extern UnkStruct_MsgProc_Base_unk_2C* data_02068e6c;
extern UnkStruct_MsgProc_Base_unk_2C* data_02068e8c;
extern UnkStruct_MsgProc_Base_unk_2C *data_02068e6c;
extern UnkStruct_MsgProc_Base_unk_2C *data_02068e8c;
extern u16 data_02056918[];
extern ActorTypeId data_0205691c[];
struct UnkStruct_027e0ffc {
void func_ov000_020cec60(u16, Vec3p*, Actor*, unk32);
void func_ov000_020cec60(u16, Vec3p *, Actor *, unk32);
};
extern UnkStruct_027e0ffc* data_027e0ffc;
extern UnkStruct_027e0ffc *data_027e0ffc;
extern u32 data_027e0618[];
// non-matching
ARM void UnkStruct_027E0C68::func_0203643c(u32 *param_1, UnkStruct_027E0C68* param_2, u32 param_3) {
ARM void UnkStruct_027E0C68::func_0203643c(u32 *param_1, UnkStruct_027E0C68 *param_2, u32 param_3) {
BMGGroups *pBVar2 = param_2->pGroups;
*param_1 = ((u32)pBVar2->entries[param_3 >> 0x10].pDAT1 + (pBVar2->entries[param_3 >> 0x10].func_02037258(param_3 & 0xFFFF)->offset & ~1));
*param_1 = ((u32) pBVar2->entries[param_3 >> 0x10].pDAT1 +
(pBVar2->entries[param_3 >> 0x10].func_02037258(param_3 & 0xFFFF)->offset & ~1));
}
// non-matching
@@ -47,11 +48,8 @@ THUMB void UnkStruct_027E0C68::func_02036490(unk32 param_2, unk32 param_3, unk32
this->pGroups->func_020372f0(BMG_FILE_INDEX_BATTLE, 2);
this->pGroups->func_020372f0(BMG_FILE_INDEX_BATTLECOMMON, 2);
break;
case 7:
this->pGroups->func_020372f0(BMG_FILE_INDEX_MAINSELECT, 2);
break;
default:
break;
case 7: this->pGroups->func_020372f0(BMG_FILE_INDEX_MAINSELECT, 2); break;
default: break;
}
for (s32 i = 0; i < ARRAY_LEN(this->mUnk_18); i++) {
@@ -85,9 +83,7 @@ THUMB void UnkStruct_027E0C68::func_02036490(unk32 param_2, unk32 param_3, unk32
this->mUnk_28[i]->func_0203dc74(0x50, 0x60);
this->mUnk_28[i]->mUnk_2c = &data_02068e6c;
break;
case 2:
this->mUnk_28[i] = NULL;
break;
case 2: this->mUnk_28[i] = NULL; break;
case 3:
if (func_0202ab48() == 0) {
this->mUnk_28[i] = new(data_027e0ce0[1], 4) MsgProc_Type2();
@@ -97,8 +93,7 @@ THUMB void UnkStruct_027E0C68::func_02036490(unk32 param_2, unk32 param_3, unk32
this->mUnk_28[i] = NULL;
}
break;
default:
break;
default: break;
}
if (this->mUnk_28[i] != NULL) {
@@ -129,30 +124,30 @@ THUMB void UnkStruct_027E0C68::func_0203665c(void) {
}
// non-matching
ARM UnkStruct_020397f8* UnkStruct_027E0C68::func_020366c4(void) {
ARM UnkStruct_020397f8 *UnkStruct_027E0C68::func_020366c4(void) {
if ((data_02056be4[data_027e077c.mUnk_0] & 1) && !(data_02056be4[data_027e077c.mUnk_0] & 2)) {
return (UnkStruct_020397f8*)this->mUnk_28[2];
return (UnkStruct_020397f8 *) this->mUnk_28[2];
}
return (UnkStruct_020397f8*)this->mUnk_28[0];
return (UnkStruct_020397f8 *) this->mUnk_28[0];
}
// non-matching
ARM UnkStruct_020397f8* UnkStruct_027E0C68::func_02036700(void) {
ARM UnkStruct_020397f8 *UnkStruct_027E0C68::func_02036700(void) {
if ((data_02056be4[data_027e077c.mUnk_0] & 1) && !(data_02056be4[data_027e077c.mUnk_0] & 2)) {
return (UnkStruct_020397f8*)this->mUnk_28[0];
return (UnkStruct_020397f8 *) this->mUnk_28[0];
}
return (UnkStruct_020397f8*)this->mUnk_28[2];
return (UnkStruct_020397f8 *) this->mUnk_28[2];
}
ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_0203673c(void) {
ARM UnkStruct_020386d8 *UnkStruct_027E0C68::func_0203673c(void) {
bool iVar1 = this->func_02036824();
bool iVar2 = this->func_02036850();
if (iVar1) {
return this->mUnk_18[0];
}
}
if (iVar2) {
return this->mUnk_18[1];
@@ -188,21 +183,19 @@ ARM bool UnkStruct_027E0C68::func_020367dc(int param_2) {
}
ARM bool UnkStruct_027E0C68::func_020367ec(void) {
return ((UnkStruct_020397f8*)this->mUnk_28[0])->mUnk_15c > 0;
return ((UnkStruct_020397f8 *) this->mUnk_28[0])->mUnk_15c > 0;
}
ARM bool UnkStruct_027E0C68::func_02036808(void) {
return ((UnkStruct_020397f8*)this->mUnk_28[2])->mUnk_15c > 0;
return ((UnkStruct_020397f8 *) this->mUnk_28[2])->mUnk_15c > 0;
}
ARM bool UnkStruct_027E0C68::func_02036824(void) {
switch (data_027e077c.mUnk_0) {
case 0x01:
case 0x37:
case 0x3B:
return true;
default:
break;
case 0x3B: return true;
default: break;
}
return false;
@@ -213,9 +206,9 @@ ARM bool UnkStruct_027E0C68::func_02036850(void) {
return !(data_02056be4[data_027e077c.mUnk_0] & 2) && (data_02056be4[data_027e077c.mUnk_0] & 1);
}
ARM void UnkStruct_027E0C68::func_02036888(UnkStruct_020386d8* param_2) {
ARM void UnkStruct_027E0C68::func_02036888(UnkStruct_020386d8 *param_2) {
if ((param_2->mUnk_18 & ~0xFFFF) != (0x100 << 0x10)) {
UnkStruct_020397f8* iVar1 = this->func_020366c4();
UnkStruct_020397f8 *iVar1 = this->func_020366c4();
if (iVar1->mUnk_15c <= 0) {
param_2->vfunc_10();
@@ -225,7 +218,7 @@ ARM void UnkStruct_027E0C68::func_02036888(UnkStruct_020386d8* param_2) {
}
}
ARM bool UnkStruct_027E0C68::func_020368f4(UnkStruct_02037750* param_2) {
ARM bool UnkStruct_027E0C68::func_020368f4(UnkStruct_02037750 *param_2) {
if (this->mUnk_20[1] != NULL) {
return false;
}
@@ -236,11 +229,11 @@ ARM bool UnkStruct_027E0C68::func_020368f4(UnkStruct_02037750* param_2) {
// non-matching
ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4) {
UnkStruct_020397f8* unk_28_0;
UnkStruct_020397f8* unk_28_2;
UnkStruct_020397f8 *unk_28_0;
UnkStruct_020397f8 *unk_28_2;
UnkStruct_02038aa0 *pSVar4;
ActorRef actorRef;
Actor* pActor;
Actor *pActor;
bool iVar1;
bool iVar2;
s32 i;
@@ -251,10 +244,10 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p
this->mUnk_40[1] = this->mUnk_40[0];
unk_28_0 = (UnkStruct_020397f8*)this->mUnk_28[0];
unk_28_0 = (UnkStruct_020397f8 *) this->mUnk_28[0];
if (unk_28_0 != NULL && unk_28_0->mUnk_15c > 0) {
unk_28_2 = (UnkStruct_020397f8*)this->mUnk_28[2];
unk_28_2 = (UnkStruct_020397f8 *) this->mUnk_28[2];
if (unk_28_2 != NULL && unk_28_2->mUnk_15c > 0) {
this->mUnk_40[0] = this->func_020366c4();
@@ -262,7 +255,7 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p
this->mUnk_40[0] = unk_28_2;
}
} else {
unk_28_2 = (UnkStruct_020397f8*)this->mUnk_28[2];
unk_28_2 = (UnkStruct_020397f8 *) this->mUnk_28[2];
if (unk_28_2 != NULL && unk_28_2->mUnk_15c > 0) {
this->mUnk_40[0] = unk_28_0;
@@ -305,7 +298,7 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p
this->mUnk_04 = 1;
//! TODO: fake?
pSVar4 = this->func_02037178((UnkSubClass1_02256FF8*)this->mUnk_18[0]);
pSVar4 = this->func_02037178((UnkSubClass1_02256FF8 *) this->mUnk_18[0]);
if (data_027e0c54 != 0 && pSVar4 != NULL && pSVar4->mUnk_50 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) {
this->mUnk_04 = 0;
@@ -331,7 +324,7 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p
}
ARM void UnkStruct_027E0C68::func_02036bbc(void) {
UnkStruct_02038aa0* pSVar3;
UnkStruct_02038aa0 *pSVar3;
bool bVar2;
bool bVar4;
s32 i;
@@ -366,7 +359,7 @@ ARM void UnkStruct_027E0C68::func_02036ca4(unk32 param_2) {
s32 i;
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
UnkStruct_02038aa0* pSVar1 = this->mUnk_28[i];
UnkStruct_02038aa0 *pSVar1 = this->mUnk_28[i];
if (pSVar1 != NULL) {
pSVar1->vfunc_3C(param_2);
@@ -374,7 +367,7 @@ ARM void UnkStruct_027E0C68::func_02036ca4(unk32 param_2) {
}
}
ARM bool UnkStruct_027E0C68::func_02036ce4(UnkStruct_020386d8* param_2, unk32 param_3) {
ARM bool UnkStruct_027E0C68::func_02036ce4(UnkStruct_020386d8 *param_2, unk32 param_3) {
u32 uVar1;
if (param_3 == 0) {
@@ -391,7 +384,7 @@ ARM bool UnkStruct_027E0C68::func_02036ce4(UnkStruct_020386d8* param_2, unk32 pa
return false;
}
ARM bool UnkStruct_027E0C68::func_02036d30(UnkStruct_02037750* param_2) {
ARM bool UnkStruct_027E0C68::func_02036d30(UnkStruct_02037750 *param_2) {
if (this->mUnk_20[0] != NULL && this->mUnk_20[0] != param_2) {
return false;
}
@@ -400,7 +393,7 @@ ARM bool UnkStruct_027E0C68::func_02036d30(UnkStruct_02037750* param_2) {
return true;
}
ARM bool UnkStruct_027E0C68::func_02036d4c(UnkStruct_02037750* param_2) {
ARM bool UnkStruct_027E0C68::func_02036d4c(UnkStruct_02037750 *param_2) {
if (this->mUnk_20[0] == param_2) {
this->mUnk_20[0] = NULL;
return true;
@@ -420,7 +413,7 @@ ARM void UnkStruct_027E0C68::func_02036d6c(void) {
}
// non-matching
ARM UnkStruct_02038aa0* UnkStruct_027E0C68::func_02036da8(u32 param_2, s16* param_3) {
ARM UnkStruct_02038aa0 *UnkStruct_027E0C68::func_02036da8(u32 param_2, s16 *param_3) {
EntryINF1 *pEVar1;
EntryINF1 *pEVar2;
UnkStruct_02038aa0 *pSVar4;
@@ -429,7 +422,7 @@ ARM UnkStruct_02038aa0* UnkStruct_027E0C68::func_02036da8(u32 param_2, s16* para
s16 iStack_38;
int iStack_34;
int iStack_30;
pEVar1 = this->pGroups->entries[param_2 >> 0x10].func_02037258(param_2 & 0xFFFF);
if (pEVar1 == NULL) {
@@ -438,7 +431,7 @@ ARM UnkStruct_02038aa0* UnkStruct_027E0C68::func_02036da8(u32 param_2, s16* para
if ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0) {
pSVar4 = this->mUnk_28[4];
func_02037628((u8*)&iStack_38);
func_02037628((u8 *) &iStack_38);
// ???
bVar6 = (data_02056be4[data_027e077c.mUnk_0] & 1) == 0;
@@ -454,10 +447,10 @@ ARM UnkStruct_02038aa0* UnkStruct_027E0C68::func_02036da8(u32 param_2, s16* para
// iStack_30 = param_3[2];
pBVar5 = this->pGroups;
// pSVar4->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(pBVar5, param_2), (s16*)&iStack_38, 1);
BMGFileInfo* entry = &(pBVar5)->entries[(param_2) >> 0x10];
// pSVar4->vfunc_50(pEVar1,
BMGFileInfo *entry = &(pBVar5)->entries[(param_2) >> 0x10];
// pSVar4->vfunc_50(pEVar1,
// ((u32)entry->pDAT1 + (((entry.func_02037258((((param_2))) & 0xFFFF))->offset) & ~1)),
// // BMG_GET_MSG_ADDR(pBVar5, param_2),
// // BMG_GET_MSG_ADDR(pBVar5, param_2),
// (s16*)&iStack_38, 1);
data_ov000_020eec9c.func_ov000_020d77e4(0x1C);
@@ -482,7 +475,7 @@ ARM void UnkStruct_027E0C68::func_02036edc(u32 param_2, u8 param_3) {
auStack_28[21] = local_13;
auStack_28[20] = param_3;
pSVar1 = this->func_02036f68(param_2, auStack_28);
pSVar1 = this->func_02036f68(param_2, auStack_28);
if (pSVar1 != NULL) {
if (this->mUnk_04 == 0) {
@@ -492,13 +485,13 @@ ARM void UnkStruct_027E0C68::func_02036edc(u32 param_2, u8 param_3) {
}
// non-matching
ARM UnkStruct_020397f8* UnkStruct_027E0C68::func_02036f68(u32 param_2, u8* param_3) {
ARM UnkStruct_020397f8 *UnkStruct_027E0C68::func_02036f68(u32 param_2, u8 *param_3) {
EntryINF1 *pEVar1;
UnkStruct_02038aa0 *pSVar2;
EntryINF1 *pEVar3;
int iVar4;
UnkStruct_020397f8 *pSVar5;
pEVar1 = this->pGroups->entries[param_2 >> 0x10].func_02037258(param_2 & 0xffff);
if (pEVar1 == NULL) {
@@ -506,35 +499,36 @@ ARM UnkStruct_020397f8* UnkStruct_027E0C68::func_02036f68(u32 param_2, u8* param
}
if (param_3[21] != 0) {
pSVar5 = (UnkStruct_020397f8*)this->mUnk_28[2];
pSVar5 = (UnkStruct_020397f8 *) this->mUnk_28[2];
pSVar2 = this->mUnk_28[3];
} else {
pSVar5 = (UnkStruct_020397f8*)this->mUnk_28[0];
pSVar5 = (UnkStruct_020397f8 *) this->mUnk_28[0];
pSVar2 = this->mUnk_28[1];
}
//! TODO: fake?
pSVar5->mUnk_164 = (UnkStruct_020397f8*)pSVar2;
pSVar5->mUnk_164 = (UnkStruct_020397f8 *) pSVar2;
pSVar5->mUnk_418 = this->mUnk_28[5];
pSVar5->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(this->pGroups, param_2), (s32*)param_3, 0);
pSVar5->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(this->pGroups, param_2), (s32 *) param_3, 0);
if (data_ov000_020eec9c.func_ov000_020d7f18(0x19) == 0 && data_ov000_020eec9c.func_ov000_020d7f18(0x18) == 0 &&
data_ov000_020eec9c.func_ov000_020d7f18(0x34) == 0 && data_ov000_020eec9c.func_ov000_020d7f18(0x35) == 0 &&
data_ov000_020eec9c.func_ov000_020d7f18(0x1A) == 0 && data_ov000_020eec9c.func_ov000_020d7f18(0x1B) == 0 &&
(param_3[12]) != 7) {
(param_3[12]) != 7)
{
data_ov000_020eec9c.func_ov000_020d77e4(0x1C);
}
return pSVar5;
}
ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_020370d0(unk32 param_2, unk32 param_3) {
ARM UnkStruct_020386d8 *UnkStruct_027E0C68::func_020370d0(unk32 param_2, unk32 param_3) {
return this->func_020370e8(param_2, -1, -1, param_3);
}
ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5) {
UnkStruct_020386d8* puVar2;
ARM UnkStruct_020386d8 *UnkStruct_027E0C68::func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5) {
UnkStruct_020386d8 *puVar2;
if (this->func_02036824()) {
puVar2 = this->mUnk_18[0];
@@ -557,8 +551,8 @@ ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_020370e8(unk32 param_2, unk16 p
return NULL;
}
ARM void UnkStruct_027E0C68::func_02037158(UnkSubClass1_02256FF8* param_2) {
UnkStruct_02038aa0* pSVar1;
ARM void UnkStruct_027E0C68::func_02037158(UnkSubClass1_02256FF8 *param_2) {
UnkStruct_02038aa0 *pSVar1;
pSVar1 = this->func_02037178(param_2);
@@ -567,7 +561,7 @@ ARM void UnkStruct_027E0C68::func_02037158(UnkSubClass1_02256FF8* param_2) {
}
}
ARM UnkStruct_02038aa0* UnkStruct_027E0C68::func_02037178(UnkSubClass1_02256FF8* param_2) {
ARM UnkStruct_02038aa0 *UnkStruct_027E0C68::func_02037178(UnkSubClass1_02256FF8 *param_2) {
s32 i;
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
@@ -579,5 +573,4 @@ ARM UnkStruct_02038aa0* UnkStruct_027E0C68::func_02037178(UnkSubClass1_02256FF8*
return NULL;
}
ARM UnkStruct_027E0C68::~UnkStruct_027E0C68() {
}
ARM UnkStruct_027E0C68::~UnkStruct_027E0C68() {}
+13 -15
View File
@@ -1,17 +1,16 @@
#include "global.h"
#include "Message/MsgProc.hpp"
#include "Message/MessageManager.hpp"
#include "Save/AdventureFlags.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Player/TouchControl.hpp"
#include "Item/ItemManager.hpp"
#include "Message/MessageManager.hpp"
#include "Message/MsgProc.hpp"
#include "Player/TouchControl.hpp"
#include "Save/AdventureFlags.hpp"
#include "System/SysNew.hpp"
#include "global.h"
extern "C" void func_0203fc78(unk32*, unk32*);
extern "C" void func_0203fc78(unk32 *, unk32 *);
THUMB MsgProc_Type2::MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_02038aa0(0, 0)
{
UnkStruct_02038aa0(0, 0) {
this->mUnk_162 = 4;
this->mUnk_164 = 1;
this->mUnk_166 = 0;
@@ -28,21 +27,21 @@ THUMB void MsgProc_Type2::func_0203c39c(unk32 param_2, unk32 param_3) {
s16 uVar3;
s32 iVar4;
s32 local_20;
s32 local_1c [2];
s32 local_1c[2];
this->func_02038b28();
uVar3 = 0;
for (iVar4 = 0; iVar4 < 2; iVar4++) {
local_1c[0] = 0xC0;
local_20 = 0x10;
local_20 = 0x10;
if (iVar4 != 0) {
func_0203fc78(local_1c, &local_20);
}
uVar1 = this->func_0203d318((s32)(local_1c[0] + 7 + ((u32)(local_1c[0] + 7 >> 2) >> 0x1D)) >> 3,
(s32)(local_20 + 7 + ((u32)(local_20 + 7 >> 2) >> 0x1D)) >> 3);
uVar1 = this->func_0203d318((s32) (local_1c[0] + 7 + ((u32) (local_1c[0] + 7 >> 2) >> 0x1D)) >> 3,
(s32) (local_20 + 7 + ((u32) (local_20 + 7 >> 2) >> 0x1D)) >> 3);
if (uVar3 < uVar1) {
uVar3 = uVar1;
@@ -74,5 +73,4 @@ ARM bool MsgProc_Type2::vfunc_14(unk32 param_2, unk32 param_3) {
return this->UnkStruct_0203dae0::vfunc_14(param_2 + this->mUnk_162, param_3);
}
ARM MsgProc_Type2::~MsgProc_Type2() {
}
ARM MsgProc_Type2::~MsgProc_Type2() {}
+11 -13
View File
@@ -1,18 +1,17 @@
#include "global.h"
#include "Message/MsgProc.hpp"
#include "Message/MessageManager.hpp"
#include "Save/AdventureFlags.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Player/TouchControl.hpp"
#include "Item/ItemManager.hpp"
#include "Message/MessageManager.hpp"
#include "Message/MsgProc.hpp"
#include "Player/TouchControl.hpp"
#include "Save/AdventureFlags.hpp"
#include "System/SysNew.hpp"
#include "global.h"
extern "C" void func_0204f614(UnkClass_func_ov000_020d0644*, unk32, unk32, void*, void*);
extern "C" void func_0204f614(UnkClass_func_ov000_020d0644 *, unk32, unk32, void *, void *);
// non-matching
ARM MsgProc_Type3::MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_02038aa0(1, 0)
{
UnkStruct_02038aa0(1, 0) {
this->mUnk_162 = 1;
this->mUnk_164 = 0x1A;
this->mUnk_166 = 0xA6;
@@ -23,7 +22,8 @@ ARM MsgProc_Type3::MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4) :
this->mUnk_172 = -1;
this->mUnk_174 = -1;
func_0204f614(this->mUnk_180, ARRAY_LEN(this->mUnk_180), sizeof(UnkClass_func_ov000_020d0644), UnkClass_func_ov000_020d0644::func_020d060c, this->func_0203c83c);
func_0204f614(this->mUnk_180, ARRAY_LEN(this->mUnk_180), sizeof(UnkClass_func_ov000_020d0644),
UnkClass_func_ov000_020d0644::func_020d060c, this->func_0203c83c);
this->mUnk_180[0].func_ov000_020d0644(0x1E, 0, 0x8A, 0, 0);
this->mUnk_180[1].func_ov000_020d0644(0x1E, 1, 0x8B, 0, 0);
@@ -31,8 +31,6 @@ ARM MsgProc_Type3::MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4) :
this->mUnk_180[3].func_ov000_020d0644(0x1E, 3, 0x8D, 0, 0);
}
ARM void MsgProc_Type3::func_0203c83c(void) {
}
ARM void MsgProc_Type3::func_0203c83c(void) {}
ARM MsgProc_Type3::~MsgProc_Type3() {
}
ARM MsgProc_Type3::~MsgProc_Type3() {}
+8 -10
View File
@@ -1,9 +1,9 @@
#include "Unknown/UnkStruct_02032f0c.hpp"
#include "Unknown/UnkStruct_02035064.hpp"
extern "C" void Fill32(unk32, void*, unk32);
extern "C" void Fill16(unk32, void*, unk32);
extern "C" void func_020296e0(unk32**, UnkStruct_MsgProc_Base_unk_2C**, unk32, unk32, unk32, unk32);
extern "C" void Fill32(unk32, void *, unk32);
extern "C" void Fill16(unk32, void *, unk32);
extern "C" void func_020296e0(unk32 **, UnkStruct_MsgProc_Base_unk_2C **, unk32, unk32, unk32, unk32);
extern THUMB unk32 func_0202ab48(void);
ARM UnkStruct_02032e7c::UnkStruct_02032e7c() {
@@ -42,8 +42,7 @@ THUMB UnkStruct_02032f0c::UnkStruct_02032f0c() {
this->mUnk_34 = 3;
}
THUMB UnkStruct_02032f0c::~UnkStruct_02032f0c() {
}
THUMB UnkStruct_02032f0c::~UnkStruct_02032f0c() {}
ARM void UnkStruct_02032f0c::func_02032f94() {}
@@ -64,9 +63,9 @@ ARM s32 UnkStruct_02032f0c::func_02032fb4() {
ARM bool UnkStruct_02032f0c::vfunc_14(s32 param1, s32 param2) {
s16 iVar1;
s16 iVar2;
iVar1 = ((param1 + 0x7 + ((param1 + 0x7) >> 0x1D)) ) * 0x8;
iVar2 = ((param2 + 0x7 + ((param2 + 0x7) >> 0x1D)) ) * 0x8;
iVar1 = ((param1 + 0x7 + ((param1 + 0x7) >> 0x1D))) * 0x8;
iVar2 = ((param2 + 0x7 + ((param2 + 0x7) >> 0x1D))) * 0x8;
this->mUnk_4a = param1;
this->mUnk_4c = param2;
this->mUnk_14 = (iVar1 + (iVar1 >> 0x1D)) * 0x2000 >> 0x10;
@@ -107,5 +106,4 @@ ARM bool UnkStruct_02032f0c::func_02033c6c() {}
ARM unk32 UnkStruct_02032f0c::func_02033c88(u32 param1) {}
ARM s32 UnkStruct_02032f0c::func_02033cbc(s16 *param1) {}
ARM UnkStruct_02032e7c::~UnkStruct_02032e7c() {
}
ARM UnkStruct_02032e7c::~UnkStruct_02032e7c() {}
+2 -4
View File
@@ -11,11 +11,9 @@ ARM UnkStruct_02035064::UnkStruct_02035064() {
this->mUnk_87 = 0;
}
ARM UnkStruct_02035064::~UnkStruct_02035064() {
}
ARM UnkStruct_02035064::~UnkStruct_02035064() {}
ARM void UnkStruct_02035064::func_020350b0() {
}
ARM void UnkStruct_02035064::func_020350b0() {}
ARM void UnkStruct_02035064::func_020350b4(s32 param1, unk32 param2, unk8 param3, unk16 param4, unk16 param5) {}
+35 -46
View File
@@ -1,13 +1,13 @@
#include "Unknown/UnkStruct_02037750.hpp"
#include "Message/MessageManager.hpp"
#include "System/Random.hpp"
#include "Save/AdventureFlags.hpp"
#include "Actor/ActorManager.hpp"
#include "Item/ItemManager.hpp"
#include "Message/MessageManager.hpp"
#include "Save/AdventureFlags.hpp"
#include "System/Random.hpp"
extern "C" ARM unk32 func_02037628(u8*);
extern u8* data_027e0d54;
extern unk32* data_027e0cb4;
extern "C" ARM unk32 func_02037628(u8 *);
extern u8 *data_027e0d54;
extern unk32 *data_027e0cb4;
ARM UnkStruct_02037750::UnkStruct_02037750(unk32 param1, unk32 param2) {
s32 i;
@@ -34,7 +34,7 @@ ARM void UnkStruct_02037750::vfunc_08(u32 param1) {
this->mUnk_1c = 0;
}
ARM void UnkStruct_02037750::vfunc_0c(UnkStruct_020397f8* param1) {}
ARM void UnkStruct_02037750::vfunc_0c(UnkStruct_020397f8 *param1) {}
ARM void UnkStruct_02037750::vfunc_10() {}
ARM bool UnkStruct_02037750::vfunc_24(unk32 param1) {
@@ -58,13 +58,13 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
u32 uVar10;
u32 uVar11;
bool bVar12;
pRVar3 = gRandom;
uVar7 = (u32)*(u16 *)(param1 + 0x2);
uVar7 = (u32) * (u16 *) (param1 + 0x2);
if (uVar7 >= 0xF && uVar7 <= 0x2E) {
pcVar8 = this->mUnk_04[((uVar7 - 0xF) << 0x1E) >> 0x1C];
iVar9 = 0;
iVar9 = 0;
if (pcVar8 != NULL) {
iVar9 = pcVar8(this->mUnk_14);
@@ -73,11 +73,10 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
return iVar9;
}
if ((s32)uVar7 <= 0) {
switch(uVar7) {
if ((s32) uVar7 <= 0) {
switch (uVar7) {
case 0x0:
case 0x2f:
break;
case 0x2f: break;
case 0x7:
if (data_027e0d54[0xd] != 0) {
return -0x1;
@@ -87,7 +86,7 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
case 0x1:
case 0x2:
case 0x3:
UnkStruct_020397f8* ret_3 = data_027e0c68.func_020366c4();
UnkStruct_020397f8 *ret_3 = data_027e0c68.func_020366c4();
if (0x0 < ret_3->mUnk_15c) {
return -0x1;
@@ -102,7 +101,7 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
if (uVar7 == 0x0) {
uVar10 = 0x0;
} else {
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
uVar10 = gRandom->Next(lVar2);
// uVar10 = *(int *)((int)&gRandom->mAddend + 0x4) +
// *(int *)((int)&gRandom->mFactor + 0x4) *
@@ -120,30 +119,24 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
}
return uVar10;
case 0x4:
return gAdventureFlags->Get(param1 + 0x4) != false;
case 0x5:
return gActorManager->func_ov00_020c3b2c(NULL) != 0;
case 0x6:
break;
case 0x8:
return (((data_027e0cb4[(param1 + 0x4) >> 5]) & 1) << ((param1 + 0x4) & 0x1f)) == 0x0;
case 0x9:
break;
case 0xa:
break;
case 0x4: return gAdventureFlags->Get(param1 + 0x4) != false;
case 0x5: return gActorManager->func_ov00_020c3b2c(NULL) != 0;
case 0x6: break;
case 0x8: return (((data_027e0cb4[(param1 + 0x4) >> 5]) & 1) << ((param1 + 0x4) & 0x1f)) == 0x0;
case 0x9: break;
case 0xa: break;
case 0xb:
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
uVar7 = lVar2;
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
uVar7 = lVar2;
uVar10 = gRandom->Next(uVar7);
return (int)(uVar10 * 0x64 >> 0x20) < (param1 + 0x4);
return (int) (uVar10 * 0x64 >> 0x20) < (param1 + 0x4);
case 0xc:
uVar7 = (param1 + 0x1);
if (uVar7 == 0x0) {
uVar10 = 0x0;
} else {
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
uVar11 = lVar2;
uVar10 = gRandom->Next(uVar11);
@@ -151,11 +144,9 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
uVar10 = (uVar7 * uVar10 >> 0x20);
}
}
return (int)(char)uVar10;
case 0xd:
return gItemManager->GetNumRupees() != 0;
case 0xe:
return gItemManager->HasItem(param1 + 0x4) != 0;
return (int) (char) uVar10;
case 0xd: return gItemManager->GetNumRupees() != 0;
case 0xe: return gItemManager->HasItem(param1 + 0x4) != 0;
default:
if (uVar7 == 0x2f) {
return gItemManager->HasItem((param1 + 0x4) + 0x60) != 0;
@@ -168,7 +159,7 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
if (uVar7 == 0x0) {
uVar10 = 0x0;
} else {
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
lVar2 = gRandom->mRandomValue * gRandom->mFactor;
uVar11 = lVar2;
uVar10 = gRandom->Next(uVar11);
@@ -177,26 +168,25 @@ ARM unk32 UnkStruct_02037750::vfunc_28(s32 param1) {
}
}
return (int)(char)uVar10;
return (int) (char) uVar10;
}
ARM unk32 UnkStruct_02037750::vfunc_2c(s32 param1) {}
ARM LinkStateInteract *UnkStruct_02037750::GetLinkStateInteract() {
return (LinkStateInteract*)GetLinkState(2);
return (LinkStateInteract *) GetLinkState(2);
}
ARM bool UnkStruct_02037750::vfunc_30() {
return true;
}
ARM unk32 UnkStruct_02037750::func_020385d0(s32 param1, u8* param2) {}
ARM unk32 UnkStruct_02037750::func_020385d0(s32 param1, u8 *param2) {}
ARM void UnkStruct_02037750::vfunc_14() {
}
ARM void UnkStruct_02037750::vfunc_14() {}
// non-matching
ARM void UnkStruct_02037750::vfunc_18(unk32* param1) {
ARM void UnkStruct_02037750::vfunc_18(unk32 *param1) {
param1[0] = 0;
}
@@ -233,5 +223,4 @@ ARM bool UnkStruct_020386d8::vfunc_30() {
return data_027e0c68.func_020366c4()->mUnk_15c <= 0;
}
ARM UnkStruct_020386d8::~UnkStruct_020386d8() {
}
ARM UnkStruct_020386d8::~UnkStruct_020386d8() {}
+33 -43
View File
@@ -19,19 +19,19 @@ ARM void UnkStruct_0203881c::func_02038a80(s32 param1) {}
ARM UnkStruct_0203881c::~UnkStruct_0203881c() {}
THUMB UnkStruct_02038aa0::UnkStruct_02038aa0(u8 param1, u8 param2) :
UnkStruct_0203dae0(param1), mUnk_124(0) {
UnkStruct_0203dae0(param1),
mUnk_124(0) {
this->func_020387e0(this->mUnk_150);
this->pInfoEntry = 0;
this->mUnk_158.y = 0;
this->mUnk_15c = 0;
this->mUnk_15e = 0xFF;
this->mUnk_15f = 0xFF;
this->mUnk_160 = 1;
this->mUnk_11e = param2;
this->mUnk_15c = 0;
this->mUnk_15e = 0xFF;
this->mUnk_15f = 0xFF;
this->mUnk_160 = 1;
this->mUnk_11e = param2;
}
THUMB UnkStruct_02038aa0::~UnkStruct_02038aa0() {
}
THUMB UnkStruct_02038aa0::~UnkStruct_02038aa0() {}
THUMB void UnkStruct_02038aa0::func_02038b28(void) {
this->mUnk_114->mUnk_04 = NULL;
@@ -44,7 +44,7 @@ ARM void UnkStruct_02038aa0::vfunc_4c(u32 param1, unk32 param2) {
ARM void UnkStruct_02038aa0::vfunc_10() {}
ARM void UnkStruct_02038aa0::func_02038b40() {
this->mUnk_15c = -1;
this->mUnk_15c = -1;
this->mUnk_128.mUnk_04 = NULL;
this->func_0203dc10(0);
this->vfunc_48();
@@ -52,13 +52,14 @@ ARM void UnkStruct_02038aa0::func_02038b40() {
ARM void UnkStruct_02038aa0::vfunc_48() {}
ARM void UnkStruct_02038aa0::func_02038b74(void) {
}
ARM void UnkStruct_02038aa0::func_02038b74(void) {}
// non-matching
ARM bool UnkStruct_02038aa0::func_02038b78() {
if (data_027e0c54 == 0) {
if ((this->mUnk_50 != 0 && data_027e0c68.func_02036850() != 0) || (this->mUnk_50 == 0 && data_027e0c68.func_02036824() != 0)) {
if ((this->mUnk_50 != 0 && data_027e0c68.func_02036850() != 0) ||
(this->mUnk_50 == 0 && data_027e0c68.func_02036824() != 0))
{
return true;
}
@@ -96,7 +97,7 @@ ARM unk32 UnkStruct_02038aa0::vfunc_34(s32 param1) {
}
ARM s32 UnkStruct_02038aa0::func_02038cb8(s32 param1) {
u8 bVar1 = this->mUnk_2c[0]->mUnk_08[1];
u8 bVar1 = this->mUnk_2c[0]->mUnk_08[1];
unk32 iVar2 = this->func_02038cf4();
unk32 iVar1 = this->func_020337d8(param1 + 1);
return iVar2 + iVar1 - bVar1;
@@ -105,7 +106,7 @@ ARM s32 UnkStruct_02038aa0::func_02038cb8(s32 param1) {
ARM s32 UnkStruct_02038aa0::func_02038cf4() {
unk32 iVar1;
unk32 iVar2;
iVar2 = this->mUnk_18;
iVar1 = this->func_02038d10();
return (iVar2 * 8 - iVar1) / 2;
@@ -133,20 +134,19 @@ ARM bool UnkStruct_02038aa0::func_02038ef4(s32 param1, s32 param2) {
this->func_0203e1b0(local_14 + param1, local_18 + param2, 0);
}
ARM void UnkStruct_02038aa0::func_02038f40(void) {
}
ARM void UnkStruct_02038aa0::func_02038f40(void) {}
ARM void UnkStruct_02038aa0::vfunc_44(s32 touchLastX, s32 touchLastY) {}
// non-matching
ARM void UnkStruct_02038aa0::vfunc_50(EntryINF1* param1, u32 param2, s16* param3, UnkSubClass1_02256FF8* param4) {
ARM void UnkStruct_02038aa0::vfunc_50(EntryINF1 *param1, u32 param2, s16 *param3, UnkSubClass1_02256FF8 *param4) {
int iVar1;
this->pInfoEntry = param1;
this->mUnk_08 = param4;
this->mUnk_15f = -1;
this->mUnk_15c = 0x78;
this->mUnk_15e = param4->mUnk_0c;
this->mUnk_08 = param4;
this->mUnk_15f = -1;
this->mUnk_15c = 0x78;
this->mUnk_15e = param4->mUnk_0c;
this->func_0203dcfc(0, 0, this->mUnk_11e, 2);
this->mUnk_128.func_02038858(param2);
this->mUnk_30 = this->mUnk_150[4] + 5;
@@ -155,7 +155,7 @@ ARM void UnkStruct_02038aa0::vfunc_50(EntryINF1* param1, u32 param2, s16* param3
// this->vfunc_60(0, 0, (unk32)param3);
// this->vfunc_64(param3);
if (*(unk32*)data_027e0618 == 2) {
if (*(unk32 *) data_027e0618 == 2) {
if (this->func_02032fa4() == 0) {
data_027e103c->func_ov000_020cfc9c(1, 0);
} else {
@@ -167,10 +167,10 @@ ARM void UnkStruct_02038aa0::vfunc_50(EntryINF1* param1, u32 param2, s16* param3
}
// non-matching
ARM void UnkStruct_02038aa0::vfunc_5c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) {
ARM void UnkStruct_02038aa0::vfunc_5c(u16 *param_2, UnkStruct_0203b264 *param_3, unk8 param_4, unk32 param_5) {
u16 sVar1;
bool bVar5;
sVar1 = param_2[0];
bVar5 = (sVar1 == 0xA || sVar1 == 0x20) || sVar1 == 0x3000;
@@ -191,8 +191,8 @@ ARM unk32 UnkStruct_02038aa0::vfunc_20(s32 param1, s32 *param2) {}
ARM void UnkStruct_02038aa0::func_02039208(unk16 param1) {}
// non-matching
ARM void UnkStruct_02038aa0::vfunc_08(s32 param1, unk32* param2, s16 *param3, unk32 param4) {
this->mUnk_15c = 10;
ARM void UnkStruct_02038aa0::vfunc_08(s32 param1, unk32 *param2, s16 *param3, unk32 param4) {
this->mUnk_15c = 10;
this->mUnk_150[2] = 1;
this->func_0203e2ac(param2);
}
@@ -205,22 +205,12 @@ ARM void UnkStruct_02038aa0::vfunc_64() {}
ARM s32 UnkStruct_02038aa0::vfunc_68(unk32 param1) {
switch (param1) {
case 0:
break;
case 1:
this->mUnk_34 = 4;
break;
case 2:
this->mUnk_34 = 6;
break;
case 3:
this->mUnk_34 = 1;
break;
case 4:
this->mUnk_34 = 0;
break;
default:
break;
case 0: break;
case 1: this->mUnk_34 = 4; break;
case 2: this->mUnk_34 = 6; break;
case 3: this->mUnk_34 = 1; break;
case 4: this->mUnk_34 = 0; break;
default: break;
}
return ((this->mUnk_18 << 3) - this->func_020337d8(param1)) / 2;
+95 -116
View File
@@ -1,29 +1,30 @@
#include "Message/MsgProc.hpp"
#include "Message/MessageManager.hpp"
#include "Unknown/UnkStruct_020397f8.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Message/MessageManager.hpp"
#include "Message/MsgProc.hpp"
#include "Player/TouchControl.hpp"
#include "Save/AdventureFlags.hpp"
extern "C" void func_ov000_020d0460(void*);
extern "C" void func_0203efd8(void*, void*);
extern "C" void func_0203ee48(void*);
extern "C" void func_ov018_02169634(UnkStruct_020397f8*);
extern "C" void func_ov000_020d0460(void *);
extern "C" void func_0203efd8(void *, void *);
extern "C" void func_0203ee48(void *);
extern "C" void func_ov018_02169634(UnkStruct_020397f8 *);
extern unk16 data_02056a0e[];
extern u8 data_02056a08[];
extern u32 data_027e0618[];
THUMB UnkStruct_020397f8::UnkStruct_020397f8() :
UnkStruct_02038aa0(0, 0), mUnk_164(NULL) {
UnknownMsgChoiceStruct* puVar3;
UnkStruct_02038aa0(0, 0),
mUnk_164(NULL) {
UnknownMsgChoiceStruct *puVar3;
this->mUnk_410.mUnk_00 = this;
this->mUnk_414 = 0;
this->mUnk_418 = NULL;
this->mUnk_41c = 0;
this->mUnk_41e = 0;
this->mUnk_420 = 0;
this->mUnk_414 = 0;
this->mUnk_418 = NULL;
this->mUnk_41c = 0;
this->mUnk_41e = 0;
this->mUnk_420 = 0;
this->mUnk_424.mUnk_00 = this;
// ???
@@ -31,7 +32,7 @@ THUMB UnkStruct_020397f8::UnkStruct_020397f8() :
do {
puVar3->mUnk_00 = NULL;
puVar3 += 1;
} while ((unk32*)puVar3 < (unk32*)this->mUnk_528);
} while ((unk32 *) puVar3 < (unk32 *) this->mUnk_528);
func_0203ee48(&this->mUnk_424);
func_ov000_020d0460(&this->mUnk_534);
@@ -64,7 +65,7 @@ THUMB UnkStruct_020397f8::UnkStruct_020397f8() :
this->mUnk_585 = 0;
this->mUnk_586 = 0;
func_0203efd8(&this->mUnk_588, this);
this->mUnk_124 = (UnkSubClass1_unk_124*)&this->mUnk_588;
this->mUnk_124 = (UnkSubClass1_unk_124 *) &this->mUnk_588;
this->func_02039ca8();
if (this->func_02032fa4() != 0) {
@@ -112,7 +113,7 @@ ARM void UnkStruct_020397f8::vfunc_2c() {
this->func_0203be64();
this->func_0203a35c();
if (this->mUnk_580 != 0) {
this->mUnk_168.func_0203516c();
}
@@ -120,11 +121,11 @@ ARM void UnkStruct_020397f8::vfunc_2c() {
if (this->mUnk_584 != 0) {
this->mUnk_300.func_0203516c();
}
if (this->mUnk_585 != 0) {
this->mUnk_388.func_0203516c();
}
if ((this->func_0203a2c0() != 0 && this->mUnk_57f == 0) && this->mUnk_56c <= 0) {
this->mUnk_1f0.func_0203516c();
}
@@ -145,11 +146,9 @@ ARM void UnkStruct_020397f8::vfunc_2c() {
}
if (this->mUnk_15c == 1) {
if (this->mUnk_586 == ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0) ) {
if (this->mUnk_586 == ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) {
switch (this->mUnk_150[1]) {
case 0:
this->func_0203b0ec(1);
break;
case 0: this->func_0203b0ec(1); break;
case 2:
case 3:
if (this->func_0203a3e0() != 0) {
@@ -191,7 +190,7 @@ ARM void UnkStruct_020397f8::vfunc_3c(unk32 param1) {
// non-matching
ARM void UnkStruct_020397f8::vfunc_40(s32 param1, s32 param2) {
UnkStruct_02038aa0* bVar1;
UnkStruct_02038aa0 *bVar1;
s8 cVar2;
unk32 iVar4;
unk32 iVar6;
@@ -213,23 +212,24 @@ ARM void UnkStruct_020397f8::vfunc_40(s32 param1, s32 param2) {
local_8c = 0;
local_90 = 0;
bVar1 = data_027e0c68.mUnk_28[this->mUnk_50];
bVar1 = data_027e0c68.mUnk_28[this->mUnk_50];
this->vfunc_6C(&local_8c, &local_90);
this->func_0203a188(local_8c + param1, local_90 + param2);
this->func_0203e1b0(param1 + local_8c + (this->mUnk_158.x - (this->mUnk_14 << 3) / 2), param2 + local_90 + (this->mUnk_158.y - (this->mUnk_18 << 3) / 2), 0);
this->func_0203e1b0(param1 + local_8c + (this->mUnk_158.x - (this->mUnk_14 << 3) / 2),
param2 + local_90 + (this->mUnk_158.y - (this->mUnk_18 << 3) / 2), 0);
if (this->mUnk_584 != 0) {
iVar5 = this->mUnk_18 << 3;
if (this->mUnk_580 != 0) {
iVar5 = -0xC;
} else {
} else {
iVar5 = 0;
}
this->mUnk_300.func_02034a1c(param1 + local_8c + this->mUnk_55c + (this->mUnk_158.x - (this->mUnk_14 << 3) / 2),
iVar5 + param2 + local_90 + this->mUnk_560 + ((this->mUnk_158.y - (iVar5 / 2))), 0);
iVar5 + param2 + local_90 + this->mUnk_560 + ((this->mUnk_158.y - (iVar5 / 2))), 0);
}
if (this->mUnk_585 != 0 && ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0)) {
@@ -361,11 +361,13 @@ ARM void UnkStruct_020397f8::vfunc_48() {
}
ARM void UnkStruct_020397f8::func_0203a35c() {
if ((this->mUnk_57c == 1 || this->mUnk_150[3] != 0) || (this->mUnk_128.mUnk_04 == NULL || this->mUnk_128.mUnk_04[0] == 0) != 0) {
if ((this->mUnk_57c == 1 || this->mUnk_150[3] != 0) ||
(this->mUnk_128.mUnk_04 == NULL || this->mUnk_128.mUnk_04[0] == 0) != 0)
{
if (this->func_0203a3e0()) {
s16 mUnk_56e = this->mUnk_56e;
s16 mUnk_570 = this->mUnk_570;
UnkStruct_020397f8* mUnk_164 = this->mUnk_164;
s16 mUnk_56e = this->mUnk_56e;
s16 mUnk_570 = this->mUnk_570;
UnkStruct_020397f8 *mUnk_164 = this->mUnk_164;
mUnk_164->mUnk_168.mUnk_10 = mUnk_56e;
mUnk_164->mUnk_168.mUnk_14 = mUnk_570;
@@ -423,10 +425,9 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 touchLastX, s32 touchLastY) {
}
if (gTouchControl.mTouch == 0) {
switch(this->mUnk_150[1]) {
switch (this->mUnk_150[1]) {
case 3:
case 4:
break;
case 4: break;
case 5:
if (data_027e103c->mUnk_20 == 3) {
this->func_0203b0ec(1);
@@ -437,8 +438,7 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 touchLastX, s32 touchLastY) {
this->func_0203b0ec(1);
}
break;
case 7:
break;
case 7: break;
case 2:
//! TODO: fixme
// if (this->mUnk_164->mUnk_168.mUnk_06 <= 0) {
@@ -477,25 +477,24 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 touchLastX, s32 touchLastY) {
ARM bool UnkStruct_020397f8::func_0203a6d0(unk32 param1, unk32 param2) {
unk32 iVar1;
unk32 uVar2;
UnkStruct_0203b264* piVar3;
UnkStruct_0203b264 *piVar3;
if (this->mUnk_164->mUnk_168.mUnk_06 > 0 && this->mUnk_164->mUnk_15c <= 0) {
return false;
}
iVar1 = this->vfunc_34(param2);
iVar1 = this->vfunc_34(param2);
piVar3 = NULL;
if (!(iVar1 < 0) && iVar1 < 4) {
piVar3 = this->mUnk_424.func_0203eeb0(iVar1, param1);
}
if (piVar3 != NULL && ((piVar3->mUnk_0[3] << 0x10) | ((u16*)piVar3->mUnk_0)[2]) == 0x00FF0002) {
if (piVar3 != NULL && ((piVar3->mUnk_0[3] << 0x10) | ((u16 *) piVar3->mUnk_0)[2]) == 0x00FF0002) {
uVar2 = this->func_02038cb8(iVar1);
this->mUnk_410.func_0203ec4c(piVar3, uVar2,
(s16)(this->mUnk_158.x - ((this->mUnk_14 << 3) / 2)) + iVar1 + this->mUnk_56e,
(s16)(this->mUnk_158.y - ((this->mUnk_18 << 3) / 2)) + iVar1 + this->mUnk_570
);
this->mUnk_410.func_0203ec4c(piVar3, uVar2,
(s16) (this->mUnk_158.x - ((this->mUnk_14 << 3) / 2)) + iVar1 + this->mUnk_56e,
(s16) (this->mUnk_158.y - ((this->mUnk_18 << 3) / 2)) + iVar1 + this->mUnk_570);
this->mUnk_57f = 0;
return true;
@@ -505,7 +504,7 @@ ARM bool UnkStruct_020397f8::func_0203a6d0(unk32 param1, unk32 param2) {
}
// non-matching
ARM void UnkStruct_020397f8::vfunc_50(EntryINF1* param1, unk32 param2, s32* param3, unk32 param4) {
ARM void UnkStruct_020397f8::vfunc_50(EntryINF1 *param1, unk32 param2, s32 *param3, unk32 param4) {
bool bVar5;
bool bVar2;
int iVar4;
@@ -515,15 +514,17 @@ ARM void UnkStruct_020397f8::vfunc_50(EntryINF1* param1, unk32 param2, s32* para
iVar6 = param3[0];
if (data_027e0c54 != 0) {
UnkStruct_020397f8* pVar4 = data_027e0c68.func_02036700();
UnkStruct_020397f8 *pVar4 = data_027e0c68.func_02036700();
if (pVar4 != NULL && pVar4->mUnk_15c > 0) {
this->func_02038b40();
}
}
if (*((s32*)data_027e0618) == 2 && data_027e0d38->func_ov000_02078b40() == 2 && func_ov003_020f3f94(data_ov009_0211f5b4) == 0) {
UnkStruct_020397f8* pVar4 = (UnkStruct_020397f8*)data_027e0c68.mUnk_28[4];
if (*((s32 *) data_027e0618) == 2 && data_027e0d38->func_ov000_02078b40() == 2 &&
func_ov003_020f3f94(data_ov009_0211f5b4) == 0)
{
UnkStruct_020397f8 *pVar4 = (UnkStruct_020397f8 *) data_027e0c68.mUnk_28[4];
if (pVar4 != NULL && pVar4->mUnk_15c > 0) {
this->func_02038b40();
@@ -531,7 +532,7 @@ ARM void UnkStruct_020397f8::vfunc_50(EntryINF1* param1, unk32 param2, s32* para
}
this->mUnk_586 = (data_02056be4[data_027e077c.mUnk_0] & 1) != 0;
temp = param3[8];
temp = param3[8];
if (temp >= 0 && param3[9] >= 0) {
temp = param3[10];
@@ -568,19 +569,19 @@ ARM void UnkStruct_020397f8::vfunc_5c() {
// non-matching
ARM void UnkStruct_020397f8::vfunc_58() {
bool bVar1;
s8* puVar2;
s8 *puVar2;
int iVar3;
char *pcVar4;
if (this->mUnk_160 != 0) {
if (data_027e103c != NULL) {
if (data_027e103c->func_ov000_020cf4bc() != 0) {
puVar2 = (s8*)data_027e103c->func_ov000_020cef9c();
puVar2 = (s8 *) data_027e103c->func_ov000_020cef9c();
if ((puVar2 + 0x244) != NULL || (puVar2[0x250] == '\x02')) {
puVar2 = (s8*)data_027e103c->func_ov000_020cef9c();
puVar2 = (s8 *) data_027e103c->func_ov000_020cef9c();
if ((UnkStruct_020397f8*)(puVar2 + 0x244) == this) {
if ((UnkStruct_020397f8 *) (puVar2 + 0x244) == this) {
data_027e103c->func_ov000_020cfb38();
}
}
@@ -623,7 +624,7 @@ ARM s32 UnkStruct_020397f8::func_0203b0ec(u32 param1) {
u32 uVar3;
s32 unaff_r6;
bool bVar1;
iVar4 = 0;
bVar1 = false;
@@ -642,9 +643,9 @@ ARM s32 UnkStruct_020397f8::func_0203b0ec(u32 param1) {
this->mUnk_584 = 0;
if (this->mUnk_150[3] != 0) {
iVar4 = 1;
iVar4 = 1;
this->mUnk_56c = this->mUnk_578;
bVar1 = true;
bVar1 = true;
this->mUnk_15c = 0x78;
} else {
if ((this->mUnk_128.mUnk_04 == NULL || this->mUnk_128.mUnk_04[0] == 0) != 0) {
@@ -681,7 +682,7 @@ ARM s32 UnkStruct_020397f8::func_0203b0ec(u32 param1) {
}
// non-matching (regalloc)
ARM unk32 UnkStruct_020397f8::vfunc_18(UnkStruct_0203b264* param1, unk32 param2, unk32 param3) {
ARM unk32 UnkStruct_020397f8::vfunc_18(UnkStruct_0203b264 *param1, unk32 param2, unk32 param3) {
u16 sVar1;
u32 uVar4;
s32 unaff_r4;
@@ -703,7 +704,7 @@ ARM unk32 UnkStruct_020397f8::vfunc_18(UnkStruct_0203b264* param1, unk32 param2,
bVar5 = true;
if (sVar1 == 0x1A) {
uVar4 = (param1->mUnk_0[3] << 0x10) | ((u16*)param1->mUnk_0)[2];
uVar4 = (param1->mUnk_0[3] << 0x10) | ((u16 *) param1->mUnk_0)[2];
if (((uVar4 == 0x0001000A || uVar4 == 0x00020000) || uVar4 == 0x00FF0000)) {
bVar5 = false;
@@ -721,7 +722,7 @@ ARM unk32 UnkStruct_020397f8::vfunc_18(UnkStruct_0203b264* param1, unk32 param2,
// non-matching
ARM unk32 UnkStruct_020397f8::vfunc_1c(u16 *param1, UnkStruct_0203b264 *param2, unk8 param3, unk32 param4) {
int iVar1;
u16* psVar3;
u16 *psVar3;
psVar3 = param2->mUnk_4;
@@ -739,58 +740,43 @@ ARM unk32 UnkStruct_020397f8::vfunc_1c(u16 *param1, UnkStruct_0203b264 *param2,
}
switch (this->mUnk_57a) {
case 0:
return this->func_0203905c(param1, param2, param3, param4);
case 0: return this->func_0203905c(param1, param2, param3, param4);
case 1:
UnknownMsgChoiceStruct* pChoiceData;
s32 i = this->func_0203a30c();
UnknownMsgChoiceStruct *pChoiceData;
s32 i = this->func_0203a30c();
pChoiceData = &this->mUnk_428[this->mUnk_528[i]];
return this->mUnk_164->func_0203cb5c(*param1, (((pChoiceData->mUnk_00->mUnk_0[3] << 0x10) | ((u16*)pChoiceData->mUnk_00->mUnk_0)[2]) + ~0xFFFE));
default:
break;
return this->mUnk_164->func_0203cb5c(
*param1, (((pChoiceData->mUnk_00->mUnk_0[3] << 0x10) | ((u16 *) pChoiceData->mUnk_00->mUnk_0)[2]) + ~0xFFFE));
default: break;
}
return 0;
}
// non-matching
ARM void UnkStruct_020397f8::vfunc_60(func_0203b410_param1* param1, unk32 param2, unk32 param3) {
ARM void UnkStruct_020397f8::vfunc_60(func_0203b410_param1 *param1, unk32 param2, unk32 param3) {
unk16 sVar1;
unk16 uVar2;
unk32 iVar3;
unk32 iVar4;
unk32 uVar5;
u32 uVar6;
uVar6 = 0;
if (this->func_02032fa4() == 0) {
switch(param1->mUnk_0c) {
switch (param1->mUnk_0c) {
case 0:
case 1:
uVar6 = this->mUnk_580 != 0;
break;
case 2:
uVar6 = 2;
break;
case 3:
uVar6 = 3;
break;
case 5:
uVar6 = 4;
break;
case 6:
uVar6 = 5;
break;
case 1: uVar6 = this->mUnk_580 != 0; break;
case 2: uVar6 = 2; break;
case 3: uVar6 = 3; break;
case 5: uVar6 = 4; break;
case 6: uVar6 = 5; break;
default:
// why???
switch (param1->mUnk_0c) {
case 4:
uVar6 = 8;
break;
case 7:
uVar6 = 9;
break;
case 4: uVar6 = 8; break;
case 7: uVar6 = 9; break;
default:
if (this->mUnk_580 != 0) {
uVar6 = 7;
@@ -826,7 +812,7 @@ ARM void UnkStruct_020397f8::vfunc_60(func_0203b410_param1* param1, unk32 param2
}
if (param1->mUnk_10 <= 0 && iVar3 > 0) {
uVar2 = param1->mUnk_12;
uVar2 = param1->mUnk_12;
this->mUnk_158.x = param1->mUnk_10;
this->mUnk_158.y = uVar2;
} else {
@@ -835,10 +821,12 @@ ARM void UnkStruct_020397f8::vfunc_60(func_0203b410_param1* param1, unk32 param2
}
// non-matching (regalloc)
ARM void UnkStruct_020397f8::vfunc_64(s16* param1) {
ARM void UnkStruct_020397f8::vfunc_64(s16 *param1) {
unk32 uVar2;
if (this->mUnk_50 != 0 || data_027e0db0.mUnk_04 > 0 || func_0203c084() != 0 || (gAdventureFlags->Exists() && gAdventureFlags->func_ov00_02097738())) {
if (this->mUnk_50 != 0 || data_027e0db0.mUnk_04 > 0 || func_0203c084() != 0 ||
(gAdventureFlags->Exists() && gAdventureFlags->func_ov00_02097738()))
{
uVar2 = 0x16;
} else {
uVar2 = 0;
@@ -870,23 +858,15 @@ ARM void UnkStruct_020397f8::func_0203b764() {
this->func_02039440(data_02056a04[i * 0x18], data_02056a16[i]);
switch (this->mUnk_57b) {
case 1:
this->mUnk_158.y -= 38;
break;
case 1: this->mUnk_158.y -= 38; break;
case 2:
switch (this->pInfoEntry->mUnk_06) {
case 2:
this->mUnk_158.y -= 111;
break;
case 3:
this->mUnk_158.y -= 98;
break;
default:
break;
case 2: this->mUnk_158.y -= 111; break;
case 3: this->mUnk_158.y -= 98; break;
default: break;
}
break;
default:
break;
default: break;
}
}
@@ -958,8 +938,8 @@ ARM bool UnkStruct_020397f8::func_0203c13c() {
if (this->func_02032fa4() == 0) {
data_ov000_020eec9c.func_ov000_020d77e4(6);
data_027e103c->func_ov000_020cfb20(this);
this->mUnk_585 = 1;
this->mUnk_584 = 1;
this->mUnk_585 = 1;
this->mUnk_584 = 1;
this->mUnk_128.mUnk_18 = 0x00016000;
this->mUnk_128.mUnk_1c = NULL;
this->mUnk_128.mUnk_20 = 0;
@@ -973,13 +953,13 @@ ARM bool UnkStruct_020397f8::func_0203c13c() {
// non-matching
ARM bool UnkStruct_020397f8::func_0203c1a0() {
s8* pVar1;
u8* iVar3;
s8 *pVar1;
u8 *iVar3;
if ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0) {
this->mUnk_584 = 1;
pVar1 = (s8*)data_027e103c->func_ov000_020cef9c();
pVar1 = (s8 *) data_027e103c->func_ov000_020cef9c();
iVar3 = data_027e0f7c.func_ov000_0209d90c(pVar1[0x24F], 0);
data_027e1054.func_ov003_020f4760(iVar3[1], 0);
data_ov000_020eec9c.func_ov000_020d77e4(6);
@@ -996,13 +976,13 @@ ARM bool UnkStruct_020397f8::func_0203c1a0() {
return 0;
}
ARM bool UnkStruct_020397f8::func_0203c25c(UnkStruct_020397f8* param1) {
ARM bool UnkStruct_020397f8::func_0203c25c(UnkStruct_020397f8 *param1) {
if (data_027e1054.mUnk_00->mUnk_00->mUnk_95 != 0) {
return false;
}
if ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0) {
param1->mUnk_585 = 1;
param1->mUnk_585 = 1;
param1->mUnk_128.mUnk_18 = 0x00016000;
param1->mUnk_128.mUnk_1c = NULL;
param1->mUnk_128.mUnk_20 = 0;
@@ -1013,8 +993,7 @@ ARM bool UnkStruct_020397f8::func_0203c25c(UnkStruct_020397f8* param1) {
return false;
}
ARM UnkStruct_020397f8::~UnkStruct_020397f8() {
}
ARM UnkStruct_020397f8::~UnkStruct_020397f8() {}
ARM bool UnkStruct_020397f8::vfunc_38() {
return true;
+12 -12
View File
@@ -2,17 +2,17 @@
#include "System/SysNew.hpp"
extern u32 *data_027e0ce0[];
extern "C" void Fill256(unk32, unk16*, unk32, unk32);
extern "C" void func_0203fc78(u8, unk32*, unk32*);
extern "C" void Fill256(unk32, unk16 *, unk32, unk32);
extern "C" void func_0203fc78(u8, unk32 *, unk32 *);
extern "C" u16 func_0203d318(unk32, unk32);
extern "C" void func_020298b8(unk32*, unk32, unk32, unk32, unk32);
extern "C" void func_02029830(unk32*, unk32, unk32, unk32, unk32);
extern "C" void func_020298b8(unk32 *, unk32, unk32, unk32, unk32);
extern "C" void func_02029830(unk32 *, unk32, unk32, unk32, unk32);
extern "C" unk32 func_0203d400(u8);
extern "C" void func_02035440(u8);
class UnkStruct_02075dac {
public:
unk32 func_0203f9b8(void*);
unk32 func_0203f9b8(void *);
};
extern UnkStruct_02075dac data_02075dac;
@@ -71,7 +71,7 @@ ARM bool UnkStruct_0203dae0::vfunc_14(s32 param1, s32 param2) {
unk32 local_c;
unk32 local_10;
local_c = param1;
local_c = param1;
local_10 = param2;
func_0203fc78(this->func_02032fa4(), &local_c, &local_10);
@@ -82,8 +82,8 @@ ARM bool UnkStruct_0203dae0::vfunc_14(s32 param1, s32 param2) {
// non-matching
ARM void UnkStruct_0203dae0::func_0203dcfc(u8 param1, unk32 param2, unk32 param3, s32 param4) {
unk32* uVar5;
unk32 *uVar5;
this->mUnk_50 = param1;
this->vfunc_14(this->mUnk_4a, this->mUnk_4c);
this->mUnk_11c = func_0203d318(this->mUnk_10[0x1], this->mUnk_10[0x2]);
@@ -106,13 +106,13 @@ ARM void UnkStruct_0203dae0::func_0203dcfc(u8 param1, unk32 param2, unk32 param3
this->func_0203de58(param2);
}
ARM unk32* UnkStruct_0203dae0::func_0203ddec() {
ARM unk32 *UnkStruct_0203dae0::func_0203ddec() {
return this->mUnk_114->func_0203d1b4();
}
ARM void UnkStruct_0203dae0::func_0203ddfc() {
this->mUnk_114->mUnk_04 = 0;
this->mUnk_11c = 0;
this->mUnk_11c = 0;
}
ARM void UnkStruct_0203dae0::func_0203de14() {
@@ -141,7 +141,7 @@ ARM void UnkStruct_0203dae0::vfunc_10(u32 param1, unk32 param2) {
ARM void UnkStruct_0203dae0::vfunc_30() {
unk32 iVar2;
iVar2 = this->mUnk_118;
iVar2 = this->mUnk_118;
this->mUnk_118 = data_02075dac.func_0203f9b8(this);
if (this->mUnk_118 == iVar2) {
@@ -171,7 +171,7 @@ ARM bool UnkStruct_0203dae0::func_0203e1b0(unk32 param1, unk32 param2, s32 param
ARM unk32 UnkStruct_0203dae0::vfunc_18(s32 param1) {
unk32 iVar1;
iVar1 = this->UnkStruct_02032f0c::vfunc_18(param1);
if (iVar1 != 0) {