post-update cleanup: step 3 (1/2)

This commit is contained in:
Yanis002
2025-02-05 01:47:40 +01:00
parent 7173439cd8
commit 5bd0f31b8b
21 changed files with 611 additions and 583 deletions
+1 -1
View File
@@ -81,7 +81,7 @@ struct UnkStruct_027e103c {
void func_ov000_020cfabc(s32 param1, s32 param2);
void func_ov000_020cfae8(s32 param1, s32 param2);
//! TODO: find out if the type is always `MsgProc_Type1*`
//! TODO: find out if the type is always `UnkStruct_020397f8*`
void func_ov000_020cfb20(void*);
void func_ov000_020cfb38();
+1 -1
View File
@@ -169,7 +169,7 @@ typedef struct BMGFileInfo {
/* 0x08 */ SectionFLW1* pFLW1; // pointer to the message flow data (FLW -> flow)
/* 0x0C */ SectionFLI1* pFLI1; // pointer to the message flow index table (FLI -> flow index table)
/* 0x10 */ SectionDAT1* pDAT1; // pointer to the data (DAT -> data)
/* 0x14 */ BMGHeader* mUnk_14; // same as unk_00 (?)
/* 0x14 */ BMGHeader* mUnk_14; // same as pHeader (?)
/* 0x18 */ s16 mUnk_18; // stores `func_020372f0`->param_3 value (currently undetermined purpose)
/* 0x1A */ s16 groupId; // stores the group id
} BMGFileInfo; // size = 0x1C
+8 -8
View File
@@ -17,17 +17,17 @@ public:
/* 0x04 */ u8 mUnk_04;
/* 0x05 */ u8 mUnk_05;
/* 0x06 */ unk16 mUnk_06;
/* 0x08 */ MsgProc_Type1* mUnk_08;
/* 0x08 */ UnkStruct_020397f8* mUnk_08;
/* 0x0C */ u8 mUnk_0c;
/* 0x0C */ u8 mUnk_0d;
/* 0x0C */ unk16 mUnk_0e;
/* 0x10 */ unk16 mUnk_10;
/* 0x10 */ unk16 mUnk_12;
/* 0x14 */ BMGGroups* pGroups;
/* 0x18 */ UnkStruct_020386d8* unk_18[2];
/* 0x20 */ UnkStruct_02037750* unk_20[2];
/* 0x28 */ UnkStruct_02038aa0* unk_28[6];
/* 0x40 */ MsgProc_Type1* unk_40[2]; // is array size 6?
/* 0x18 */ UnkStruct_020386d8* mUnk_18[2];
/* 0x20 */ UnkStruct_02037750* mUnk_20[2];
/* 0x28 */ UnkStruct_02038aa0* mUnk_28[6];
/* 0x40 */ UnkStruct_020397f8* mUnk_40[2]; // is array size 6?
/* 0x48 */
static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3);
@@ -35,8 +35,8 @@ public:
void func_0203665c(void);
UnkStruct_027E0C68();
~UnkStruct_027E0C68();
MsgProc_Type1* func_020366c4(void);
MsgProc_Type1* func_02036700(void);
UnkStruct_020397f8* func_020366c4(void);
UnkStruct_020397f8* func_02036700(void);
UnkStruct_020386d8* func_0203673c(void);
bool func_02036770(u32 param_2);
unk32 func_02036798(void);
@@ -57,7 +57,7 @@ public:
void func_02036d6c(void);
UnkStruct_02038aa0* func_02036da8(u32 param_2, s16* param_3);
void func_02036edc(u32 param_2, u8 param_3);
MsgProc_Type1* func_02036f68(u32 param_2, u8* param_3);
UnkStruct_020397f8* func_02036f68(u32 param_2, u8* param_3);
UnkStruct_020386d8* func_020370d0(unk32 param_2, unk32 param_3);
UnkStruct_020386d8* func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5);
void func_02037158(UnkSubClass1_02256FF8* param_2);
+10 -10
View File
@@ -24,9 +24,9 @@ typedef struct UnkStruct_0203b264 {
/* 8 */
} UnkStruct_0203b264;
class UnkSubClass1_unk_410 {
class UnkStruct_020397f8_410 {
public:
/* 0x00 */ struct MsgProc_Type1* mUnk_00;
/* 0x00 */ struct UnkStruct_020397f8* mUnk_00;
/* 0x04 */
void func_0203ec34(void);
@@ -35,10 +35,10 @@ public:
void func_0203ec4c(UnkStruct_0203b264* param_2, unk32 param_3, s32 param_4, s32 param_5);
};
// same as UnkSubClass1_unk_410?
class UnkSubClass1_unk_424 {
// same as UnkStruct_020397f8_410?
class UnkStruct_020397f8_424 {
public:
/* 0x00 */ struct MsgProc_Type1* mUnk_00;
/* 0x00 */ struct UnkStruct_020397f8* mUnk_00;
/* 0x04 */
void func_0203ee80(unk32);
@@ -48,19 +48,19 @@ public:
UnkStruct_0203b264* func_0203eeb0(unk32 param_2, unk32 param_3);
};
class MsgProc_Base2_unk_114 : public SysObject {
class UnkStruct_0203dae0_114 : public SysObject {
public:
/* 0x00 (vtable) */
/* 0x04 */ unk32* mUnk_04;
/* 0x08 */
MsgProc_Base2_unk_114();
/* 0x00 */ virtual ~MsgProc_Base2_unk_114() override;
UnkStruct_0203dae0_114();
/* 0x00 */ virtual ~UnkStruct_0203dae0_114() override;
/* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE);
/* 0x08 */ virtual unk32 vfunc_08(void*, s16);
/* 0x0C */
unk32 func_0203d1b4(void);
unk32* func_0203d1b4(void);
};
struct func_02038f44_param4 {
@@ -80,7 +80,7 @@ struct func_02038f44_param4 {
extern "C" u32 func_01ff9b4c(unk32, unk32);
extern "C" unk32 func_0203c084(void);
extern "C" void func_ov018_02169634(MsgProc_Type1*);
extern "C" void func_ov018_02169634(UnkStruct_020397f8*);
extern "C" unk32 func_ov000_02079e04(void);
extern "C" unk32 func_02016fcc(unk32);
extern "C" void func_02032304(unk32*, char*, unk32, unk32, unk32);
+4 -1
View File
@@ -2,7 +2,9 @@
#include "global.h"
#include "types.h"
#include "Message/BMG.hpp"
#include "System/SysNew.hpp"
class UnkStruct_02032e7c {
public:
@@ -72,7 +74,7 @@ struct func_0203b410_param_2 {
};
// astruct_8, MsgProc_Base
class UnkStruct_02032f0c {
class UnkStruct_02032f0c : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ unk32* mUnk_04;
@@ -152,6 +154,7 @@ public:
u16 **SetUnk_0c(u16 *value);
u8 func_02032fa4();
s32 func_02032fb4();
void func_02032fcc(unk32, unk32);
void func_02033214(unk32 param1, unk32 param2, unk32 param3, u8 param4, unk32 param5);
unk32 func_02033360(void);
void func_020334b4(u32 param1, s32 param2, s32 param3, s32 param4);
+4 -1
View File
@@ -8,7 +8,8 @@
class UnkStruct_02035064 {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 04 */ unk16 mUnk_04;
/* 04 */ unk16 mUnk_06;
/* 08 */ u32* mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
@@ -49,6 +50,8 @@ public:
UnkStruct_02035064();
~UnkStruct_02035064();
static u8 func_02035428(u8 param1);
void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*);
void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6);
void func_020350b0();
+2 -2
View File
@@ -6,7 +6,7 @@
#include "Player/LinkStateInteract.hpp"
#include "System/SysNew.hpp"
class MsgProc_Type1;
class UnkStruct_020397f8;
// astruct_14
class UnkStruct_02037750 : public SysObject {
@@ -22,7 +22,7 @@ public:
/* 00 */ virtual ~UnkStruct_02037750();
/* 08 */ virtual void vfunc_08(u32 param1);
/* 0c */ virtual void vfunc_0c(class MsgProc_Type1* param1);
/* 0c */ virtual void vfunc_0c(class UnkStruct_020397f8* param1);
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
+12 -11
View File
@@ -4,9 +4,10 @@
#include "types.h"
#include "Unknown/UnkStruct_0203dae0.hpp"
#include "System/SysNew.hpp"
class UnkStruct_02038aa0;
typedef bool (*UnknownCallback)(class MsgProc_Type1*);
typedef bool (*UnknownCallback)(class UnkStruct_020397f8*);
class UnkStruct_0203881c : public UnkStruct_02032e7c {
public:
@@ -14,7 +15,7 @@ public:
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1c */ UnknownCallback mUnk_1c;
/* 20 */ class MsgProc_Type1* mUnk_20;
/* 20 */ class UnkStruct_020397f8* mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 28 */
@@ -56,7 +57,7 @@ public:
/* 123 */ unk8 mUnk_123;
/* 124 */ UnkSubClass1_unk_124* mUnk_124;
/* 128 */ UnkStruct_0203881c mUnk_128;
/* 150 */ u8 unk_150[4];
/* 150 */ u8 mUnk_150[4];
/* 154 */ EntryINF1* pInfoEntry;
/* 158 */ Vec2s mUnk_158; // textbox position?
/* 15c */ s16 mUnk_15c;
@@ -66,7 +67,8 @@ public:
/* 161 */
/* 00 */ virtual ~UnkStruct_02038aa0();
/* 08 */ virtual void vfunc_08(s32 param1, unk32 param2, s16 *param3, unk32 param4);
/* 08 */ virtual void vfunc_08(s32 param1, unk32* param2, s16 *param3, unk32 param4);
/* 0c */ virtual void vfunc_0c(u8 param_2, u8 param_3, u8 param_4, unk32 param_5);
/* 10 */ virtual void vfunc_10(unk32 param1);
/* 1c */ virtual unk32 vfunc_1c(s32 param1, unk32 *param2, unk32 param3, unk32 param4);
/* 20 */ virtual unk32 vfunc_20(s32 param1, s32 *param2);
@@ -74,15 +76,15 @@ public:
/* 30 */ virtual void vfunc_30();
/* 34 */ virtual unk32 vfunc_34(s32 param1);
/* 38 */ virtual bool vfunc_38();
/* 3c */ virtual void vfunc_3c() = 0;
/* 40 */ virtual void vfunc_40() = 0;
/* 44 */ virtual void vfunc_44();
/* 3c */ virtual void vfunc_3c();
/* 40 */ virtual void vfunc_40();
/* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY);
/* 48 */ virtual void vfunc_48();
/* 4c */ virtual void vfunc_4c();
/* 50 */ virtual void vfunc_50(unk32 param1, unk32 param2, s32 param3, unk32 param4);
/* 50 */ virtual void vfunc_50(EntryINF1* param1, u32 param2, s16* param3, UnkSubClass1_02256FF8* param4);
/* 54 */ virtual void vfunc_54();
/* 58 */ virtual void vfunc_58();
/* 5c */ virtual void vfunc_5c();
/* 5c */ virtual void vfunc_5c(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5);
/* 60 */ virtual void vfunc_60();
/* 64 */ virtual void vfunc_64();
/* 68 */ virtual s32 vfunc_68(unk32 param1);
@@ -145,13 +147,12 @@ public:
void func_0203e1b0(unk32, unk32, unk32);
//! TODO: not sure it belongs to this class:
void func_02032fcc(unk32, unk32);
void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
void func_020331c4(unk32, unk32);
void func_0203947c(void);
void func_0203cabc(unk32);
unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32);
void func_0203e2ac(unk32* param_2);
void func_0203fc78(unk32*, unk32*);
s16 func_0203d318(s16, s16);
};
+20 -11
View File
@@ -5,6 +5,7 @@
#include "Unknown/UnkStruct_02035064.hpp"
#include "Unknown/UnkStruct_02038aa0.hpp"
#include "System/SysNew.hpp"
// does it host both choices?
struct UnknownMsgChoiceStruct {
@@ -13,27 +14,29 @@ struct UnknownMsgChoiceStruct {
/* 08 */
};
// astruct_2, MsgProc_Type1
class UnkStruct_020397f8_410;
// astruct_2, UnkStruct_020397f8
class UnkStruct_020397f8 : public UnkStruct_02038aa0 {
public:
/* 000 (base) */
/* 161 */ unk8 mUnk_161[0x3];
/* 164 */ MsgProc_Type1* mUnk_164;
/* 164 */ UnkStruct_020397f8* mUnk_164;
/* 168 */ UnkStruct_02035064 mUnk_168;
/* 1f0 */ UnkStruct_02035064 mUnk_1f0;
/* 278 */ UnkStruct_02035064 mUnk_278;
/* 300 */ UnkStruct_02035064 mUnk_300;
/* 388 */ UnkStruct_02035064 mUnk_388;
/* 410 */ unk32 *mUnk_410; // UnkSubClass1_unk_410?
/* 410 */ UnkStruct_020397f8_410 mUnk_410;
/* 414 */ unk32 mUnk_414;
/* 418 */ UnkStruct_02038aa0* mUnk_418;
/* 41c */ unk16 mUnk_41c;
/* 41e */ unk16 mUnk_41e;
/* 420 */ unk16 mUnk_420;
/* 422 */ unk16 mUnk_422;
/* 424 */ unk32 *mUnk_424; // UnkSubClass1_unk_424?
/* 428 */ UnknownMsgChoiceStruct unk_428[0x20];
/* 528 */ unk16 unk_528[4]; // number of choices?
/* 424 */ UnkStruct_020397f8_424 mUnk_424;
/* 428 */ UnknownMsgChoiceStruct mUnk_428[0x20];
/* 528 */ unk16 mUnk_528[4]; // number of choices?
/* 530 */ unk32 mUnk_530;
/* 534 */ unk16 mUnk_534;
/* 536 */ unk16 mUnk_536;
@@ -57,7 +60,7 @@ public:
/* 55b */ unk8 mUnk_55b;
/* 55c */ unk32 mUnk_55c;
/* 560 */ unk32 mUnk_560;
/* 564 */ u16 unk_564[4];
/* 564 */ u16 mUnk_564[4];
/* 56c */ unk16 mUnk_56c;
/* 56e */ unk16 mUnk_56e;
/* 570 */ unk16 mUnk_570;
@@ -94,9 +97,9 @@ public:
/* 48 */ virtual void vfunc_48();
void func_0203a35c();
bool func_0203a3e0();
/* 44 */ virtual void vfunc_44(s32 param1, s32 param2);
/* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY);
bool func_0203a6d0(unk32 param1);
/* 50 */ virtual void vfunc_50(unk32 param1, unk32 param2, s32 param3, unk32 param4);
/* 50 */ virtual void vfunc_50(EntryINF1* param1, unk32 param2, s32 param3, unk32 param4);
/* 54 */ virtual void vfunc_54();
/* 5c */ virtual void vfunc_5c();
/* 58 */ virtual void vfunc_58();
@@ -121,7 +124,7 @@ public:
/* 74 */
//! TODO: check if this is really here
static bool func_0203c25c(class MsgProc_Type1* param_1);
static bool func_0203c25c(class UnkStruct_020397f8* param_1);
static void func_0203e060(UnkStruct_02038aa0* param_1, u8 param_2, u8 param_3);
void func_02039a3c(void);
unk32 func_02039250(void);
@@ -143,6 +146,9 @@ public:
class MsgProc_Type3 : public UnkStruct_02038aa0 {
public:
/* 000 (base) */
/* 161 */ unk8 mUnk_161;
/* 162 */ unk16 mUnk_162;
/* 164 */ unk16 mUnk_164;
/* 166 */ unk16 mUnk_166;
/* 168 */ unk16 mUnk_168;
@@ -154,7 +160,7 @@ public:
/* 174 */ unk16 mUnk_174;
/* 178 */ unk32 mUnk_178;
/* 17c */ unk32 mUnk_17c;
/* 180 */ UnkClass_func_ov000_020d0644 unk_180[4];
/* 180 */ UnkClass_func_ov000_020d0644 mUnk_180[4];
/* 1c0 */
MsgProc_Type3();
@@ -195,6 +201,9 @@ public:
class MsgProc_Type2 : public UnkStruct_02038aa0 {
public:
/* 000 (base) */
/* 161 */ unk8 mUnk_161;
/* 162 */ unk16 mUnk_162;
/* 164 */ unk16 mUnk_164;
/* 166 */ unk16 mUnk_166;
/* 168 */ unk16 mUnk_168;
+2 -1
View File
@@ -4,6 +4,7 @@
#include "types.h"
#include "Unknown/UnkStruct_02032f0c.hpp"
#include "Message/MsgProc.hpp"
// astruct_7, MsgProc_Base2
class UnkStruct_0203dae0 : public UnkStruct_02032f0c {
@@ -63,7 +64,7 @@ public:
/* 108 */ unk8 mUnk_10b;
/* 10c */ unk32 mUnk_10c;
/* 110 */ unk32 mUnk_110;
/* 114 */ void *mUnk_114; // MsgProc_Base2_unk_114?
/* 114 */ UnkStruct_0203dae0_114 *mUnk_114;
/* 118 */ s32 mUnk_118;
/* 11c */ unk16 mUnk_11c;
/* 11e */ u8 mUnk_11e;
+3 -3
View File
@@ -5,8 +5,8 @@ ActorTypeList sActorTypeList;
ARM ActorType::ActorType(ActorTypeId id, ActorCreateFunc create, unk32 (*unk_08)()) {
this->id = id;
this->create = create;
this->unk_08 = unk_08;
this->unk_0c = 0;
this->mUnk_08 = unk_08;
this->mUnk_0c = 0;
this->next = NULL;
this->Register();
sActorTypeList.tail = this;
@@ -17,7 +17,7 @@ ARM ActorType::~ActorType() {
}
ARM unk32 ActorType::func_0203e7c8() {
if (this->unk_08 == NULL) {
if (this->mUnk_08 == NULL) {
return 0;
}
return (*unk_08)();
+6 -6
View File
@@ -54,8 +54,8 @@ THUMB void func_020371b4(BMGFileInfo* pFileInfo) {
pFileInfo->pFLW1 = NULL;
pFileInfo->pFLI1 = NULL;
pFileInfo->pDAT1 = NULL;
pFileInfo->unk_14 = NULL;
pFileInfo->unk_18 = 0;
pFileInfo->mUnk_14 = NULL;
pFileInfo->mUnk_18 = 0;
}
THUMB u16 func_020371c8(BMGFileInfo* pFileInfo, u32* pFile, s16 unk_18) {
@@ -64,9 +64,9 @@ THUMB u16 func_020371c8(BMGFileInfo* pFileInfo, u32* pFile, s16 unk_18) {
u32 i;
groupId = -1;
pFileInfo->unk_14 = (BMGHeader*)pFile;
pFileInfo->mUnk_14 = (BMGHeader*)pFile;
pFileInfo->pHeader = (BMGHeader*)pFile;
pFileInfo->unk_18 = mUnk_18;
pFileInfo->mUnk_18 = unk_18;
pSection = (SectionBase*)((u8*)pFile + sizeof(BMGHeader));
for (i = 0; i < pFileInfo->pHeader->numSections; i++) {
@@ -173,8 +173,8 @@ THUMB void BMGGroups::func_020373b4(s16 unk_18) {
s32 i;
for (i = 0; i < this->numEntries; i++) {
if (this->entries[i].unk_18 == unk_18) {
func_0202d590(this->entries[i].unk_14);
if (this->entries[i].mUnk_18 == unk_18) {
func_0202d590(this->entries[i].mUnk_14);
func_020371b4(&this->entries[i]);
}
}
+136 -135
View File
@@ -1,10 +1,11 @@
#include "Message/MessageManager.hpp"
#include "Actor/ActorManager.hpp"
#include "Player/TouchControl.hpp"
#include "System/SysNew.hpp"
extern ARM unk32 func_ov000_020d7f18(u32*, unk32);
extern ARM unk32 func_02037628(u8*);
extern ARM void func_0203dc74(MsgProc_Main*, unk32, unk32);
extern ARM void func_0203dc74(UnkStruct_02038aa0*, unk32, unk32);
extern u32** data_027e0ce0[];
extern u32 data_02056924[];
@@ -25,8 +26,8 @@ ARM void UnkStruct_027E0C68::func_0203643c(int *param_1, UnkStruct_027E0C68* par
THUMB void UnkStruct_027E0C68::func_02036490(unk32 param_2, unk32 param_3, unk32 param_4) {
s32 i;
this->unk_03 = 0;
this->unk_0C = 0;
this->mUnk_03 = 0;
this->mUnk_0c = 0;
this->pGroups->func_020372f0(BMG_FILE_INDEX_SYSTEM, 2);
@@ -50,79 +51,79 @@ THUMB void UnkStruct_027E0C68::func_02036490(unk32 param_2, unk32 param_3, unk32
break;
}
for (i = 0; i < ARRAY_LEN(this->unk_18); i++) {
if (this->unk_18[i] != NULL) {
this->unk_18[i] = NULL;
for (i = 0; i < ARRAY_LEN(this->mUnk_18); i++) {
if (this->mUnk_18[i] != NULL) {
this->mUnk_18[i] = NULL;
}
}
for (i = 0; i < ARRAY_LEN(this->unk_28); i++) {
if (this->unk_28[i] != NULL) {
this->unk_28[i] = NULL;
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
if (this->mUnk_28[i] != NULL) {
this->mUnk_28[i] = NULL;
}
}
for (i = 0; i < ARRAY_LEN(this->unk_18); i++) {
this->unk_18[i] = new(*data_027e0ce0[0], 4) UnkStruct_020386d8();
for (i = 0; i < ARRAY_LEN(this->mUnk_18); i++) {
this->mUnk_18[i] = new(*data_027e0ce0[0], 4) UnkStruct_020386d8();
}
this->unk_18[0]->unk_39 = 0;
this->unk_18[1]->unk_39 = 1;
this->mUnk_18[0]->mUnk_39 = 0;
this->mUnk_18[1]->mUnk_39 = 1;
// switch?
if (*data_027e0618 == 2 || *data_027e0618 == 3 || *data_027e0618 == 6) {
for (i = 0; i < ARRAY_LEN(this->unk_28); i++) {
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
switch (data_02056924[i + 1]) {
case 0:
if (*data_027e0618 != 2) {
this->unk_28[i] = new(*data_027e0ce0[0], 4) MsgProc_Type1();
func_0203dc74(this->unk_28[i], 0xE0, 0x40);
this->unk_28[i]->unk_2C = data_02068e6c;
this->unk_28[i]->unk_50 = i != 0;
this->mUnk_28[i] = new(*data_027e0ce0[0], 4) UnkStruct_020397f8();
func_0203dc74(this->mUnk_28[i], 0xE0, 0x40);
this->mUnk_28[i]->mUnk_2c = &data_02068e6c;
this->mUnk_28[i]->mUnk_50 = i != 0;
}
break;
case 1:
this->unk_28[i] = new(*data_027e0ce0[0], 4) MsgProc_Type3();
func_0203dc74(this->unk_28[i], 0x50, 0x60);
this->unk_28[i]->unk_2C = data_02068e6c;
this->mUnk_28[i] = new(*data_027e0ce0[0], 4) MsgProc_Type3();
func_0203dc74(this->mUnk_28[i], 0x50, 0x60);
this->mUnk_28[i]->mUnk_2c = &data_02068e6c;
break;
case 2:
this->unk_28[i] = NULL;
this->mUnk_28[i] = NULL;
break;
case 3:
if (func_0202ab48() == 0) {
this->unk_28[i] = new(*data_027e0ce0[0], 4) MsgProc_Type2();
func_0203dc74(this->unk_28[i], 0xC0, 0x20);
this->unk_28[i]->unk_2C = data_02068e8c;
this->mUnk_28[i] = new(*data_027e0ce0[0], 4) MsgProc_Type2();
func_0203dc74(this->mUnk_28[i], 0xC0, 0x20);
this->mUnk_28[i]->mUnk_2c = &data_02068e8c;
} else {
this->unk_28[i] = NULL;
this->mUnk_28[i] = NULL;
}
break;
default:
break;
}
if (this->unk_28[i] != NULL) {
this->unk_28[i]->vfunc_4C();
if (this->mUnk_28[i] != NULL) {
this->mUnk_28[i]->vfunc_4C();
}
}
}
}
THUMB void UnkStruct_027E0C68::func_0203665c(void) {
for (s32 i = 0; i < ARRAY_LEN(this->unk_28); i++) {
if (this->unk_28[i] != NULL) {
delete this->unk_28[i];
for (s32 i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
if (this->mUnk_28[i] != NULL) {
delete this->mUnk_28[i];
this->unk_28[i] = NULL;
this->mUnk_28[i] = NULL;
}
}
for (s32 i = 0; i < ARRAY_LEN(this->unk_18); i++) {
if (this->unk_18[i] != NULL) {
delete this->unk_18[i];
for (s32 i = 0; i < ARRAY_LEN(this->mUnk_18); i++) {
if (this->mUnk_18[i] != NULL) {
delete this->mUnk_18[i];
this->unk_18[i] = NULL;
this->mUnk_18[i] = NULL;
}
}
@@ -130,21 +131,21 @@ THUMB void UnkStruct_027E0C68::func_0203665c(void) {
}
// non-matching
ARM MsgProc_Type1* 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 (MsgProc_Type1*)this->unk_28[2];
return (UnkStruct_020397f8*)this->mUnk_28[2];
}
return (MsgProc_Type1*)this->unk_28[0];
return (UnkStruct_020397f8*)this->mUnk_28[0];
}
// non-matching
ARM MsgProc_Type1* 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 (MsgProc_Type1*)this->unk_28[0];
return (UnkStruct_020397f8*)this->mUnk_28[0];
}
return (MsgProc_Type1*)this->unk_28[2];
return (UnkStruct_020397f8*)this->mUnk_28[2];
}
ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_0203673c(void) {
@@ -152,27 +153,27 @@ ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_0203673c(void) {
bool iVar2 = this->func_02036850();
if (iVar1) {
return this->unk_18[0];
return this->mUnk_18[0];
}
if (iVar2) {
return this->unk_18[1];
return this->mUnk_18[1];
}
return NULL;
}
ARM bool UnkStruct_027E0C68::func_02036770(u32 param_2) {
return (this->unk_18[param_2]->unk_18 & ~0xFFFF) == (0x100 << 0x10);
return (this->mUnk_18[param_2]->mUnk_18 & ~0xFFFF) == (0x100 << 0x10);
}
ARM unk32 UnkStruct_027E0C68::func_02036798(void) {
unk32 uVar2 = 1;
if (this->unk_04 == 0) {
if (this->mUnk_04 == 0) {
bool bVar1 = false;
if (this->unk_18[1] != NULL && (this->unk_18[1]->unk_18 & 0xFFFF0000) != 0x1000000) {
if (this->mUnk_18[1] != NULL && (this->mUnk_18[1]->mUnk_18 & 0xFFFF0000) != 0x1000000) {
bVar1 = true;
}
@@ -189,11 +190,11 @@ ARM bool UnkStruct_027E0C68::func_020367dc(int param_2) {
}
ARM bool UnkStruct_027E0C68::func_020367ec(void) {
return ((MsgProc_Type1*)this->unk_28[0])->unk_15C > 0;
return ((UnkStruct_020397f8*)this->mUnk_28[0])->mUnk_15c > 0;
}
ARM bool UnkStruct_027E0C68::func_02036808(void) {
return ((MsgProc_Type1*)this->unk_28[2])->unk_15C > 0;
return ((UnkStruct_020397f8*)this->mUnk_28[2])->mUnk_15c > 0;
}
ARM bool UnkStruct_027E0C68::func_02036824(void) {
@@ -215,31 +216,31 @@ ARM bool UnkStruct_027E0C68::func_02036850(void) {
}
ARM void UnkStruct_027E0C68::func_02036888(UnkStruct_020386d8* param_2) {
if ((param_2->unk_18 & ~0xFFFF) != (0x100 << 0x10)) {
MsgProc_Type1* iVar1 = this->func_020366c4();
if ((param_2->mUnk_18 & ~0xFFFF) != (0x100 << 0x10)) {
UnkStruct_020397f8* iVar1 = this->func_020366c4();
if (iVar1->unk_15C <= 0) {
if (iVar1->mUnk_15c <= 0) {
param_2->vfunc_10();
} else {
param_2->vfunc_0C(this->func_020366c4());
param_2->vfunc_0c(this->func_020366c4());
}
}
}
ARM bool UnkStruct_027E0C68::func_020368f4(UnkStruct_02037750* param_2) {
if (this->unk_20[1] != NULL) {
if (this->mUnk_20[1] != NULL) {
return false;
}
this->unk_20[1] = param_2;
this->mUnk_20[1] = param_2;
return true;
}
// non-matching
ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4) {
MsgProc_Type1* unk_28_0;
MsgProc_Type1* unk_28_2;
MsgProc_Main *pSVar4;
UnkStruct_020397f8* unk_28_0;
UnkStruct_020397f8* unk_28_2;
UnkStruct_02038aa0 *pSVar4;
ActorRef actorRef;
Actor* pActor;
bool iVar1;
@@ -250,104 +251,104 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p
return;
}
this->unk_40[1] = this->unk_40[0];
this->mUnk_40[1] = this->mUnk_40[0];
unk_28_0 = (MsgProc_Type1*)this->unk_28[0];
unk_28_0 = (UnkStruct_020397f8*)this->mUnk_28[0];
if (unk_28_0 != NULL && unk_28_0->unk_15C > 0) {
unk_28_2 = (MsgProc_Type1*)this->unk_28[2];
if (unk_28_0 != NULL && unk_28_0->mUnk_15c > 0) {
unk_28_2 = (UnkStruct_020397f8*)this->mUnk_28[2];
if (unk_28_2 != NULL && unk_28_2->unk_15C > 0) {
this->unk_40[0] = this->func_020366c4();
if (unk_28_2 != NULL && unk_28_2->mUnk_15c > 0) {
this->mUnk_40[0] = this->func_020366c4();
} else {
this->unk_40[0] = unk_28_2;
this->mUnk_40[0] = unk_28_2;
}
} else {
unk_28_2 = (MsgProc_Type1*)this->unk_28[2];
unk_28_2 = (UnkStruct_020397f8*)this->mUnk_28[2];
if (unk_28_2 != NULL && unk_28_2->unk_15C > 0) {
this->unk_40[0] = unk_28_0;
if (unk_28_2 != NULL && unk_28_2->mUnk_15c > 0) {
this->mUnk_40[0] = unk_28_0;
} else {
this->unk_40[0] = NULL;
this->mUnk_40[0] = NULL;
}
}
iVar1 = this->func_02036824();
iVar2 = this->func_02036850();
if (this->unk_20[1] != NULL && ((this->unk_20[1]->unk_18 & ~0xFFFF) != (0x100 << 0x10))) {
this->unk_20[1]->vfunc_10();
this->unk_20[1] = NULL;
if (this->mUnk_20[1] != NULL && ((this->mUnk_20[1]->mUnk_18 & ~0xFFFF) != (0x100 << 0x10))) {
this->mUnk_20[1]->vfunc_10();
this->mUnk_20[1] = NULL;
}
if (iVar1) {
this->func_02036888(this->unk_18[0]);
this->func_02036888(this->mUnk_18[0]);
} else if (iVar2) {
this->func_02036888(this->unk_18[1]);
this->func_02036888(this->mUnk_18[1]);
}
for (i = 0; i < ARRAY_LEN(this->unk_28); i++) {
if (this->unk_28[i] != NULL) {
this->unk_28[i]->vfunc_2C();
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
if (this->mUnk_28[i] != NULL) {
this->mUnk_28[i]->vfunc_2C();
}
}
this->unk_04 = 0;
this->mUnk_04 = 0;
if (this->unk_20[0] != NULL) {
if ((this->unk_20[0]->unk_18 & ~0xFFFF) == (0x100 << 0x10)) {
this->unk_20[0] = NULL;
if (this->mUnk_20[0] != NULL) {
if ((this->mUnk_20[0]->mUnk_18 & ~0xFFFF) == (0x100 << 0x10)) {
this->mUnk_20[0] = NULL;
} else {
this->unk_04 = 1;
this->mUnk_04 = 1;
}
}
if ((this->unk_18[0] != NULL) && ((this->unk_18[0]->unk_18 & ~0xFFFF) != (0x100 << 0x10))) {
this->unk_04 = 1;
if ((this->mUnk_18[0] != NULL) && ((this->mUnk_18[0]->mUnk_18 & ~0xFFFF) != (0x100 << 0x10))) {
this->mUnk_04 = 1;
//! TODO: fake?
pSVar4 = this->func_02037178((UnkSubClass1_02256FF8*)this->unk_18[0]);
pSVar4 = this->func_02037178((UnkSubClass1_02256FF8*)this->mUnk_18[0]);
if (data_027e0c54 != 0 && pSVar4 != NULL && pSVar4->unk_50 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) {
this->unk_04 = 0;
if (data_027e0c54 != 0 && pSVar4 != NULL && pSVar4->mUnk_50 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) {
this->mUnk_04 = 0;
}
}
if (this->unk_08 != NULL && this->unk_08->unk_15C > 0) {
this->unk_04 = 1;
if (this->mUnk_08 != NULL && this->mUnk_08->mUnk_15c > 0) {
this->mUnk_04 = 1;
} else {
this->unk_08 = NULL;
this->mUnk_08 = NULL;
}
this->func_02036bbc();
if (this->unk_10 != 0) {
ActorManager::FindActorByType(&actorRef, gActorManager, data_0205691c[this->unk_10]);
if (this->mUnk_10 != 0) {
ActorManager::FindActorByType(&actorRef, gActorManager, data_0205691c[this->mUnk_10]);
pActor = gActorManager->GetActor(&actorRef);
if (pActor != NULL) {
func_ov000_020cec60(data_027e0ffc, data_02056918[this->unk_10], &pActor->mPos, pActor, 0);
func_ov000_020cec60(data_027e0ffc, data_02056918[this->mUnk_10], &pActor->mPos, pActor, 0);
}
}
}
ARM void UnkStruct_027E0C68::func_02036bbc(void) {
MsgProc_Main* pSVar3;
UnkStruct_02038aa0* pSVar3;
bool bVar2;
bool bVar4;
s32 i;
if (data_027e0d04.unk_00 > 0) {
if (data_027e0d04.mUnk_00 > 0) {
return;
}
bVar2 = this->func_02036824();
bVar4 = this->func_02036850();
for (i = 0; i < ARRAY_LEN(this->unk_28); i++) {
pSVar3 = this->unk_28[i];
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
pSVar3 = this->mUnk_28[i];
if (pSVar3 != NULL && ((bVar2 && pSVar3->unk_50 == 0) || (bVar4 && pSVar3->unk_50 != 0))) {
if (pSVar3 != NULL && ((bVar2 && pSVar3->mUnk_50 == 0) || (bVar4 && pSVar3->mUnk_50 != 0))) {
pSVar3->vfunc_44(data_027e0d78.mTouchLastX, data_027e0d78.mTouchLastY);
}
}
@@ -356,9 +357,9 @@ ARM void UnkStruct_027E0C68::func_02036bbc(void) {
ARM void UnkStruct_027E0C68::func_02036c50(unk32 param_2) {
s32 i;
for (i = 0; i < ARRAY_LEN(this->unk_28); i++) {
if (this->unk_28[i] != NULL && this->unk_28[i]->func_0203de14(param_2) != 0) {
this->unk_28[i]->vfunc_28();
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
if (this->mUnk_28[i] != NULL && this->mUnk_28[i]->func_0203de14(param_2) != 0) {
this->mUnk_28[i]->vfunc_28();
}
}
}
@@ -366,8 +367,8 @@ ARM void UnkStruct_027E0C68::func_02036c50(unk32 param_2) {
ARM void UnkStruct_027E0C68::func_02036ca4(unk32 param_2) {
s32 i;
for (i = 0; i < ARRAY_LEN(this->unk_28); i++) {
MsgProc_Main* pSVar1 = this->unk_28[i];
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
UnkStruct_02038aa0* pSVar1 = this->mUnk_28[i];
if (pSVar1 != NULL) {
pSVar1->vfunc_3C(param_2);
@@ -393,17 +394,17 @@ ARM bool UnkStruct_027E0C68::func_02036ce4(UnkStruct_020386d8* param_2, unk32 pa
}
ARM bool UnkStruct_027E0C68::func_02036d30(UnkStruct_02037750* param_2) {
if (this->unk_20[0] != NULL && this->unk_20[0] != param_2) {
if (this->mUnk_20[0] != NULL && this->mUnk_20[0] != param_2) {
return false;
}
this->unk_20[0] = param_2;
this->mUnk_20[0] = param_2;
return true;
}
ARM bool UnkStruct_027E0C68::func_02036d4c(UnkStruct_02037750* param_2) {
if (this->unk_20[0] == param_2) {
this->unk_20[0] = NULL;
if (this->mUnk_20[0] == param_2) {
this->mUnk_20[0] = NULL;
return true;
}
@@ -413,18 +414,18 @@ ARM bool UnkStruct_027E0C68::func_02036d4c(UnkStruct_02037750* param_2) {
ARM void UnkStruct_027E0C68::func_02036d6c(void) {
s32 i;
for (i = 0; i < ARRAY_LEN(this->unk_28); i++) {
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
if (func_0202ab48() == 0 || i != 5) {
this->unk_28[i]->func_02038b40();
this->mUnk_28[i]->func_02038b40();
}
}
}
// non-matching
ARM MsgProc_Main* 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;
MsgProc_Main *pSVar4;
UnkStruct_02038aa0 *pSVar4;
BMGGroups *pBVar5;
bool bVar6;
s16 iStack_38;
@@ -438,7 +439,7 @@ ARM MsgProc_Main* UnkStruct_027E0C68::func_02036da8(u32 param_2, s16* param_3) {
}
if ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0) {
pSVar4 = this->unk_28[4];
pSVar4 = this->mUnk_28[4];
func_02037628((u8*)&iStack_38);
// ???
@@ -470,7 +471,7 @@ ARM MsgProc_Main* UnkStruct_027E0C68::func_02036da8(u32 param_2, s16* param_3) {
// non-matching
ARM void UnkStruct_027E0C68::func_02036edc(u32 param_2, u8 param_3) {
MsgProc_Type1 *pSVar1;
UnkStruct_020397f8 *pSVar1;
u8 auStack_28[24];
u8 local_13;
@@ -486,19 +487,19 @@ ARM void UnkStruct_027E0C68::func_02036edc(u32 param_2, u8 param_3) {
pSVar1 = this->func_02036f68(param_2, auStack_28);
if (pSVar1 != NULL) {
if (this->unk_04 == 0) {
this->unk_08 = pSVar1;
if (this->mUnk_04 == 0) {
this->mUnk_08 = pSVar1;
}
}
}
// non-matching
ARM MsgProc_Type1* 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;
MsgProc_Main *pSVar2;
UnkStruct_02038aa0 *pSVar2;
EntryINF1 *pEVar3;
int iVar4;
MsgProc_Type1 *pSVar5;
UnkStruct_020397f8 *pSVar5;
pEVar1 = func_02037258(&this->pGroups->entries[param_2 >> 0x10], param_2 & 0xffff);
@@ -507,18 +508,18 @@ ARM MsgProc_Type1* UnkStruct_027E0C68::func_02036f68(u32 param_2, u8* param_3) {
}
if (param_3[21] != 0) {
pSVar5 = (MsgProc_Type1*)this->unk_28[2];
pSVar2 = this->unk_28[3];
pSVar5 = (UnkStruct_020397f8*)this->mUnk_28[2];
pSVar2 = this->mUnk_28[3];
} else {
pSVar5 = (MsgProc_Type1*)this->unk_28[0];
pSVar2 = this->unk_28[1];
pSVar5 = (UnkStruct_020397f8*)this->mUnk_28[0];
pSVar2 = this->mUnk_28[1];
}
//! TODO: fake?
pSVar5->unk_164 = (MsgProc_Type1*)pSVar2;
pSVar5->unk_418 = this->unk_28[5];
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), (s16*)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 &&
@@ -538,18 +539,18 @@ ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_020370e8(unk32 param_2, unk16 p
UnkStruct_020386d8* puVar2;
if (this->func_02036824()) {
puVar2 = this->unk_18[0];
puVar2 = this->mUnk_18[0];
} else {
if (this->func_02036850()) {
puVar2 = this->unk_18[1];
puVar2 = this->mUnk_18[1];
} else {
return NULL;
}
}
puVar2->unk_30 = param_5;
puVar2->unk_34 = param_3;
puVar2->unk_36 = param_4;
puVar2->mUnk_30 = param_5;
puVar2->mUnk_34 = param_3;
puVar2->mUnk_36 = param_4;
if (this->func_02036ce4(puVar2, param_2)) {
return puVar2;
@@ -559,7 +560,7 @@ ARM UnkStruct_020386d8* UnkStruct_027E0C68::func_020370e8(unk32 param_2, unk16 p
}
ARM void UnkStruct_027E0C68::func_02037158(UnkSubClass1_02256FF8* param_2) {
MsgProc_Main* pSVar1;
UnkStruct_02038aa0* pSVar1;
pSVar1 = this->func_02037178(param_2);
@@ -568,12 +569,12 @@ ARM void UnkStruct_027E0C68::func_02037158(UnkSubClass1_02256FF8* param_2) {
}
}
ARM MsgProc_Main* 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->unk_28); i++) {
if (this->unk_28[i] != NULL && this->unk_28[i]->unk_08 == param_2) {
return this->unk_28[i];
for (i = 0; i < ARRAY_LEN(this->mUnk_28); i++) {
if (this->mUnk_28[i] != NULL && this->mUnk_28[i]->mUnk_08 == param_2) {
return this->mUnk_28[i];
}
}
+12 -12
View File
@@ -10,13 +10,13 @@
THUMB MsgProc_Type2::MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_02038aa0(0, 0)
{
this->unk_162 = 4;
this->unk_164 = 1;
this->unk_166 = 0;
this->unk_168 = -1;
this->unk_16A = 0;
this->unk_16C = 1;
this->unk_16E = 0;
this->mUnk_162 = 4;
this->mUnk_164 = 1;
this->mUnk_166 = 0;
this->mUnk_168 = -1;
this->mUnk_16a = 0;
this->mUnk_16c = 1;
this->mUnk_16e = 0;
}
// non-matching
@@ -47,13 +47,13 @@ THUMB void MsgProc_Type2::func_0203c39c(unk32 param_2, unk32 param_3) {
}
}
if (this->unk_114->vfunc_08(this, uVar3) != 0) {
this->unk_10 = this->unk_114->func_0203d1b4();
if (this->mUnk_114->vfunc_08(this, uVar3) != 0) {
this->mUnk_10 = this->mUnk_114->func_0203d1b4();
}
}
ARM void MsgProc_Type2::vfunc_3C(unk32 param_2) {
if (this->unk_15C > 0 && this->unk_122 != 1) {
if (this->mUnk_15c > 0 && this->mUnk_122 != 1) {
if (this->func_0203de14(param_2) != 0) {
this->vfunc_40(0, 0);
}
@@ -64,7 +64,7 @@ ARM void MsgProc_Type2::vfunc_40(unk32 param_2, unk32 param_3) {
param_2 += this->mUnk_166;
param_3 += this->mUnk_168;
this->func_0203c4ac(param_2 + this->unk_16A, param_3 + this->unk_16C);
this->func_0203c4ac(param_2 + this->mUnk_16a, param_3 + this->mUnk_16c);
this->func_02038ef4(param_2, param_3);
}
@@ -72,7 +72,7 @@ ARM void MsgProc_Type2::vfunc_40(unk32 param_2, unk32 param_3) {
extern "C" bool func_0203dcb4(unk32);
// non-matching
ARM bool MsgProc_Type2::vfunc_14(unk32 param_2, unk32 param_3) {
return func_0203dcb4(param_2 + this->unk_162);
return func_0203dcb4(param_2 + this->mUnk_162);
}
ARM MsgProc_Type2::~MsgProc_Type2() {
+14 -14
View File
@@ -13,22 +13,22 @@ extern "C" void func_0204f614(UnkClass_func_ov000_020d0644*, unk32, unk32, void*
ARM MsgProc_Type3::MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_02038aa0(1, 0)
{
this->unk_162 = 1;
this->unk_164 = 0x1A;
this->unk_166 = 0xA6;
this->unk_168 = 0x1D;
this->unk_16A = 0;
this->unk_16C = 1;
this->unk_170 = -1;
this->unk_172 = -1;
this->unk_174 = -1;
this->mUnk_162 = 1;
this->mUnk_164 = 0x1A;
this->mUnk_166 = 0xA6;
this->mUnk_168 = 0x1D;
this->mUnk_16a = 0;
this->mUnk_16c = 1;
this->mUnk_170 = -1;
this->mUnk_172 = -1;
this->mUnk_174 = -1;
func_0204f614(this->unk_180, ARRAY_LEN(this->unk_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->unk_180[0].func_ov000_020d0644(0x1E, 0, 0x8A, 0, 0);
this->unk_180[1].func_ov000_020d0644(0x1E, 1, 0x8B, 0, 0);
this->unk_180[2].func_ov000_020d0644(0x1E, 2, 0x8C, 0, 0);
this->unk_180[3].func_ov000_020d0644(0x1E, 3, 0x8D, 0, 0);
this->mUnk_180[0].func_ov000_020d0644(0x1E, 0, 0x8A, 0, 0);
this->mUnk_180[1].func_ov000_020d0644(0x1E, 1, 0x8B, 0, 0);
this->mUnk_180[2].func_ov000_020d0644(0x1E, 2, 0x8C, 0, 0);
this->mUnk_180[3].func_ov000_020d0644(0x1E, 3, 0x8D, 0, 0);
}
ARM void MsgProc_Type3::func_0203c83c(void) {
+37 -36
View File
@@ -1,44 +1,45 @@
#include "Unknown/UnkStruct_02032f0c.hpp"
#include "Unknown/UnkStruct_02035064.hpp"
extern "C" void func_020078f4(unk32, void*, unk32);
extern "C" void func_020078c0(unk32, void*, unk32);
extern "C" void func_020296e0(unk32**, UnkStruct_MsgProc_Base_unk_2C*, u8, u8, unk32, u8);
extern THUMB unk32 func_0202ab48(void);
ARM UnkStruct_02032e7c::UnkStruct_02032e7c() {
this->unk_00 = NULL;
this->unk_08 = 0;
this->unk_0A = 0;
this->unk_0C = 0;
this->unk_0E = 0;
this->mUnk_04 = NULL;
this->mUnk_08 = 0;
this->mUnk_0a = 0;
this->mUnk_0c = 0;
this->mUnk_0e = 0;
if (func_0202ab48() == 0) {
this->unk_10 = 2;
this->mUnk_10 = 2;
} else {
this->unk_10 = 3;
this->mUnk_10 = 3;
}
}
THUMB UnkStruct_02032f0c::UnkStruct_02032f0c() {
this->unk_04 = 0;
this->unk_08 = 0;
this->unk_0C = NULL;
this->unk_38 = 0;
this->unk_3C = 0;
this->unk_4A = 0;
this->unk_4C = 0;
this->unk_4D = 0;
this->unk_4E = 0;
this->unk_4F = 0;
this->unk_50 = 0;
this->unk_51 = 0;
func_020078f4(0, &this->unk_10, 0x18);
func_020078f4(0, &this->unk_28, 0x10);
func_020078c0(0, &this->unk_3E, 0xC);
this->unk_10 = NULL;
this->unk_2C = NULL;
this->unk_30 = 2;
this->unk_34 = 3;
this->mUnk_04 = 0;
this->mUnk_08 = 0;
this->mUnk_0c = NULL;
this->mUnk_38 = 0;
this->mUnk_3c = 0;
this->mUnk_4a = 0;
this->mUnk_4c = 0;
this->mUnk_4d = 0;
this->mUnk_4e = 0;
this->mUnk_4f = 0;
this->mUnk_50 = 0;
this->mUnk_51 = 0;
func_020078f4(0, &this->mUnk_10, 0x18);
func_020078f4(0, &this->mUnk_28, 0x10);
func_020078c0(0, &this->mUnk_3e, 0xC);
this->mUnk_10 = NULL;
this->mUnk_2c = NULL;
this->mUnk_30 = 2;
this->mUnk_34 = 3;
}
THUMB UnkStruct_02032f0c::~UnkStruct_02032f0c() {
@@ -47,16 +48,16 @@ THUMB UnkStruct_02032f0c::~UnkStruct_02032f0c() {
ARM void UnkStruct_02032f0c::func_02032f94() {}
ARM u16 **UnkStruct_02032f0c::SetUnk_0c(u16 *value) {
this->unk_0C = value;
this->mUnk_0c = value;
return &this->mUnk_0c;
}
ARM u8 UnkStruct_02032f0c::func_02032fa4() {
return UnkStruct_02035064::func_02035428(this->unk_50);
return UnkStruct_02035064::func_02035428(this->mUnk_50);
}
ARM s32 UnkStruct_02032f0c::func_02032fb4() {
return this->unk_2C[0]->unk_01 + this->mUnk_34;
return this->mUnk_2c[0]->mUnk_01 + this->mUnk_34;
}
// non-matching
@@ -66,10 +67,10 @@ ARM bool UnkStruct_02032f0c::vfunc_14(s32 param1, s32 param2) {
iVar1 = ((param1 + 0x7 + ((param1 + 0x7) >> 0x1D)) ) * 0x8;
iVar2 = ((param2 + 0x7 + ((param2 + 0x7) >> 0x1D)) ) * 0x8;
this->unk_4A = param1;
this->unk_4C = param2;
this->unk_14 = (iVar1 + (iVar1 >> 0x1D)) * 0x2000 >> 0x10;
this->unk_18 = (iVar2 + (iVar2 >> 0x1D)) * 0x2000 >> 0x10;
this->mUnk_4a = param1;
this->mUnk_4c = param2;
this->mUnk_14 = (iVar1 + (iVar1 >> 0x1D)) * 0x2000 >> 0x10;
this->mUnk_18 = (iVar2 + (iVar2 >> 0x1D)) * 0x2000 >> 0x10;
return true;
}
@@ -77,7 +78,7 @@ ARM bool UnkStruct_02032f0c::vfunc_14(s32 param1, s32 param2) {
ARM void UnkStruct_02032f0c::vfunc_08(s32 param1, unk32 param2, s16 *param3, unk32 param4) {}
ARM void UnkStruct_02032f0c::vfunc_0c(unk32 param1, unk32 param2, unk32 param3, unk32 param4) {
func_020296e0(&this->unk_10, this->unk_2C, param1, param2, param4, param3);
func_020296e0(&this->mUnk_10, *this->mUnk_2c, param1, param2, param4, param3);
}
ARM void UnkStruct_02032f0c::vfunc_10(u32 param1, unk32 param2) {}
@@ -91,7 +92,7 @@ ARM u32 UnkStruct_02032f0c::func_0203369c(u16 *param1, s32 param2) {}
ARM void UnkStruct_02032f0c::func_02033780(s32 param1) {}
ARM s32 UnkStruct_02032f0c::func_020337d8(s32 param1) {
return this->unk_2C[0]->unk_08[1] * param1 + (param1 - 1) * this->mUnk_34;
return this->mUnk_2c[0]->mUnk_08[1] * param1 + (param1 - 1) * this->mUnk_34;
}
ARM s32 UnkStruct_02032f0c::func_020337fc(s16 *param1, s32 param2) {}
+8 -8
View File
@@ -1,14 +1,14 @@
#include "Unknown/UnkStruct_02035064.hpp"
ARM UnkStruct_02035064::UnkStruct_02035064() {
this->unk_74 = NULL;
this->unk_78 = NULL;
this->unk_7C = 0;
this->unk_80 = 0;
this->unk_82 = 0;
this->unk_84 = 0;
this->unk_86 = 0;
this->unk_87 = 0;
this->mUnk_74 = NULL;
this->mUnk_78 = NULL;
this->mUnk_7c = 0;
this->mUnk_80 = 0;
this->mUnk_82 = 0;
this->mUnk_84 = 0;
this->mUnk_86 = 0;
this->mUnk_87 = 0;
}
ARM UnkStruct_02035064::~UnkStruct_02035064() {
+9 -9
View File
@@ -3,14 +3,14 @@
UnkStruct_02037750::UnkStruct_02037750(unk32 param1, unk32 param2) {
s32 i;
this->unk_14 = param_3;
this->unk_18 = param_2;
this->unk_1C = 0;
this->unk_1D = 0xFF;
this->unk_1E = 0;
this->mUnk_14 = param_3;
this->mUnk_18 = param_2;
this->mUnk_1c = 0;
this->mUnk_1d = 0xFF;
this->mUnk_1e = 0;
for (i = 0; i < ARRAY_LEN(this->unk_04); i++) {
this->unk_04[i] = 0;
for (i = 0; i < ARRAY_LEN(this->mUnk_04); i++) {
this->mUnk_04[i] = 0;
}
}
@@ -37,8 +37,8 @@ ARM void UnkStruct_02037750::vfunc_20() {}
// non-matching
ARM UnkStruct_020386d8::UnkStruct_020386d8() :
UnkStruct_02037750(0x1000000, 0) {
this->unk_20 = -1;
this->unk_24.func_020376c0(gVec3p_ZERO);
this->mUnk_20 = -1;
this->mUnk_24.func_020376c0(gVec3p_ZERO);
}
ARM void UnkStruct_020386d8::vfunc_08(unk32 param1) {}
+58 -56
View File
@@ -1,11 +1,13 @@
#include "Unknown/UnkStruct_02038aa0.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Message/MessageManager.hpp"
ARM UnkStruct_0203881c::UnkStruct_0203881c() {
this->unk_14 = 0x1000;
this->unk_18 = 0;
this->unk_1C = 0;
this->unk_20 = 0;
this->unk_24 = 0;
this->mUnk_14 = 0x1000;
this->mUnk_18 = 0;
this->mUnk_1c = 0;
this->mUnk_20 = 0;
this->mUnk_24 = 0;
}
ARM void UnkStruct_0203881c::func_02038858(unk32 param1) {}
@@ -16,33 +18,33 @@ ARM UnkStruct_0203881c::~UnkStruct_0203881c() {}
THUMB UnkStruct_02038aa0::UnkStruct_02038aa0(u8 param1, u8 param2) :
UnkStruct_0203dae0(param1), mUnk_124(0) {
this->func_020387e0(this->unk_150);
this->func_020387e0(this->mUnk_150);
this->pInfoEntry = 0;
this->unk_158.y = 0;
this->unk_15C = 0;
this->unk_15E = 0xFF;
this->unk_15F = 0xFF;
this->unk_160 = 1;
this->unk_11E = param2;
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;
}
THUMB UnkStruct_02038aa0::~UnkStruct_02038aa0() {
}
THUMB void UnkStruct_02038aa0::func_02038b28(void) {
this->unk_114->unk_04 = NULL;
this->mUnk_114->mUnk_04 = NULL;
}
ARM void UnkStruct_02038aa0::func_02038b34(u32 param1, unk32 param2) {
MsgProc_Type1::func_0203e060(this, param1, param2);
UnkStruct_020397f8::func_0203e060(this, param1, param2);
}
ARM void UnkStruct_02038aa0::vfunc_4c() {}
ARM void UnkStruct_02038aa0::vfunc_10(unk32 param1) {}
ARM void UnkStruct_02038aa0::func_02038b40() {
this->unk_15C = -1;
this->unk_128.unk_00 = NULL;
this->mUnk_15c = -1;
this->mUnk_128.mUnk_04 = NULL;
this->func_0203dc10(0);
this->vfunc_48();
}
@@ -55,7 +57,7 @@ ARM void UnkStruct_02038aa0::func_02038b74(void) {
// non-matching
ARM bool UnkStruct_02038aa0::func_02038b78() {
if (data_027e0c54 == 0) {
if ((this->unk_50 != 0 && data_027e0c68.func_02036850() != 0) || (this->unk_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;
}
@@ -63,8 +65,8 @@ ARM bool UnkStruct_02038aa0::func_02038b78() {
} else {
bool ret = CHECK_UNK_FLAGS(1);
if ((this->unk_50 == 0 || ret)) {
return (this->unk_50 != 0 && ret);
if ((this->mUnk_50 == 0 || ret)) {
return (this->mUnk_50 != 0 && ret);
}
return false;
@@ -79,7 +81,7 @@ ARM unk32 UnkStruct_02038aa0::vfunc_34(s32 param1) {
iVar2 = this->func_02038cf4();
iVar3 = this->func_02038d10();
iVar1 = ((this->unk_158.y - (this->unk_18 << 3) / 2));
iVar1 = ((this->mUnk_158.y - (this->mUnk_18 << 3) / 2));
if ((param1 < iVar2 + iVar1) || (iVar2 + iVar3 + iVar1 <= param1)) {
return -1;
@@ -93,7 +95,7 @@ ARM unk32 UnkStruct_02038aa0::vfunc_34(s32 param1) {
}
ARM s32 UnkStruct_02038aa0::func_02038cb8(s32 param1) {
u8 bVar1 = this->unk_2C[0]->unk_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;
@@ -109,16 +111,16 @@ ARM s32 UnkStruct_02038aa0::func_02038cf4() {
}
ARM s32 UnkStruct_02038aa0::func_02038d10() {
return this->func_020337d8(this->unk_150[0]);
return this->func_020337d8(this->mUnk_150[0]);
}
ARM void UnkStruct_02038aa0::vfunc_2c() {}
ARM void UnkStruct_02038aa0::vfunc_30() {
if (this->unk_15C > 0) {
if (this->mUnk_15c > 0) {
this->func_0203e090();
} else {
this->unk_118 = -1;
this->mUnk_118 = -1;
}
}
@@ -133,22 +135,24 @@ ARM bool UnkStruct_02038aa0::func_02038ef4(s32 param1, s32 param2) {
ARM void UnkStruct_02038aa0::func_02038f40(void) {
}
ARM void UnkStruct_02038aa0::vfunc_44(s32 touchLastX, s32 touchLastY) {}
// non-matching
ARM void UnkStruct_02038aa0::vfunc_44() {
ARM void UnkStruct_02038aa0::vfunc_50(EntryINF1* param1, u32 param2, s16* param3, UnkSubClass1_02256FF8* param4) {
int iVar1;
this->pInfoEntry = param_2;
this->unk_08 = param_5;
this->unk_15F = -1;
this->unk_15C = 0x78;
this->unk_15E = param_4->mUnk_0c;
this->func_0203dcfc(param_6, 0, this->unk_11E, 2);
this->unk_128.func_02038858(param_3);
this->unk_30 = this->unk_150[4] + 5;
this->pInfoEntry = param1;
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;
this->vfunc_54();
// this->vfunc_60(0, 0, (unk32)param_4);
// this->vfunc_64(param_4);
// this->vfunc_60(0, 0, (unk32)param3);
// this->vfunc_64(param3);
if (*(unk32*)data_027e0618 == 2) {
if (this->func_02032fa4() == 0) {
@@ -161,26 +165,24 @@ ARM void UnkStruct_02038aa0::vfunc_44() {
this->vfunc_5C();
}
ARM void UnkStruct_02038aa0::vfunc_50(unk32 param1, unk32 param2, s32 param3, unk32 param4) {
}
// non-matching
ARM void UnkStruct_02038aa0::vfunc_5c() {
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;
if (bVar5 && this->unk_150[2] != 0) {
this->unk_150[2] = 1;
if (bVar5 && this->mUnk_150[2] != 0) {
this->mUnk_150[2] = 1;
} else {
this->unk_150[2] = 0;
this->mUnk_150[2] = 0;
}
// this->unk_150[2] = bVar5;
// this->mUnk_150[2] = bVar5;
return this->func_02033360();
// return?
this->func_02033360();
}
ARM unk32 UnkStruct_02038aa0::vfunc_1c(s32 param1, unk32 *param2, unk32 param3, unk32 param4) {}
@@ -188,9 +190,9 @@ 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->unk_15C = 10;
this->unk_150[2] = 1;
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);
}
@@ -201,26 +203,26 @@ ARM void UnkStruct_02038aa0::vfunc_60() {}
ARM void UnkStruct_02038aa0::vfunc_64() {}
ARM s32 UnkStruct_02038aa0::vfunc_68(unk32 param1) {
switch (param_2) {
switch (param1) {
case 0:
break;
case 1:
this->unk_34 = 4;
this->mUnk_34 = 4;
break;
case 2:
this->unk_34 = 6;
this->mUnk_34 = 6;
break;
case 3:
this->unk_34 = 1;
this->mUnk_34 = 1;
break;
case 4:
this->unk_34 = 0;
this->mUnk_34 = 0;
break;
default:
break;
}
return ((this->unk_18 << 3) - this->func_020337d8(param1)) / 2;
return ((this->mUnk_18 << 3) - this->func_020337d8(param1)) / 2;
}
ARM void UnkStruct_02038aa0::func_02039440(unk32 param1, unk32 param2) {}
@@ -228,12 +230,12 @@ ARM void UnkStruct_02038aa0::vfunc_6c(s32 *param1, s32 *param2) {}
ARM void UnkStruct_02038aa0::vfunc_70(s32 *param1, s32 *param2) {
this->vfunc_6C(param1, param2);
*param1 += this->unk_158.x;
*param2 += this->unk_158.y;
*param1 += this->mUnk_158.x;
*param2 += this->mUnk_158.y;
}
ARM bool UnkStruct_02038aa0::func_0203951c() {}
ARM unk32 UnkStruct_02038aa0::vfunc_38() {}
ARM bool UnkStruct_02038aa0::vfunc_38() {}
ARM void UnkStruct_02038aa0::vfunc_0c(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) {
this->func_0203dc10(1, param_3);
+237 -233
View File
@@ -1,4 +1,8 @@
#include "Message/MsgProc.hpp"
#include "Message/MessageManager.hpp"
#include "Unknown/UnkStruct_020397f8.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Player/TouchControl.hpp"
extern "C" void func_ov000_020d0460(void*);
extern "C" void func_0203efd8(void*, void*);
@@ -11,142 +15,142 @@ THUMB UnkStruct_020397f8::UnkStruct_020397f8() :
UnkStruct_02038aa0(0, 0), mUnk_164(NULL) {
UnknownMsgChoiceStruct* puVar3;
this->unk_410.unk_00 = this;
this->unk_414 = 0;
this->unk_418 = NULL;
this->unk_41C = 0;
this->unk_41E = 0;
this->unk_420 = 0;
this->unk_424.unk_00 = this;
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_424.mUnk_00 = this;
// ???
puVar3 = this->mUnk_428;
do {
puVar3->unk_00 = NULL;
puVar3->mUnk_00 = NULL;
puVar3 += 1;
} while ((unk32*)puVar3 < (unk32*)this->unk_528);
} while ((unk32*)puVar3 < (unk32*)this->mUnk_528);
func_0203ee48(&this->unk_424);
func_ov000_020d0460(&this->unk_534);
this->unk_53C = 0;
this->unk_540 = ~0x7FFF;
this->unk_544 = 3;
func_ov000_020d0460(&this->unk_548);
this->unk_550 = 0;
this->unk_554 = 0x00016000;
this->unk_558 = 3;
this->unk_55C = -1;
this->unk_560 = -1;
this->unk_56C = 0;
this->unk_56E = 0;
this->unk_570 = 0;
this->unk_572 = 0;
this->unk_574 = 0;
this->unk_576 = 0;
this->unk_578 = 3;
this->unk_57A = 0;
this->unk_57B = -1;
this->unk_57C = 0;
this->unk_57D = 0;
this->unk_57E = 0;
this->unk_57F = 0;
this->unk_580 = 0;
this->unk_581 = 0;
this->unk_582 = 0;
this->unk_583 = 0;
this->unk_585 = 0;
this->unk_586 = 0;
func_0203efd8(&this->unk_588, this);
this->unk_124 = (UnkSubClass1_unk_124*)&this->mUnk_588;
func_0203ee48(&this->mUnk_424);
func_ov000_020d0460(&this->mUnk_534);
this->mUnk_53c = 0;
this->mUnk_540 = ~0x7FFF;
this->mUnk_544 = 3;
func_ov000_020d0460(&this->mUnk_548);
this->mUnk_550 = 0;
this->mUnk_554 = 0x00016000;
this->mUnk_558 = 3;
this->mUnk_55c = -1;
this->mUnk_560 = -1;
this->mUnk_56c = 0;
this->mUnk_56e = 0;
this->mUnk_570 = 0;
this->mUnk_572 = 0;
this->mUnk_574 = 0;
this->mUnk_576 = 0;
this->mUnk_578 = 3;
this->mUnk_57a = 0;
this->mUnk_57b = -1;
this->mUnk_57c = 0;
this->mUnk_57d = 0;
this->mUnk_57e = 0;
this->mUnk_57f = 0;
this->mUnk_580 = 0;
this->mUnk_581 = 0;
this->mUnk_582 = 0;
this->mUnk_583 = 0;
this->mUnk_585 = 0;
this->mUnk_586 = 0;
func_0203efd8(&this->mUnk_588, this);
this->mUnk_124 = (UnkSubClass1_unk_124*)&this->mUnk_588;
this->func_02039ca8();
if (this->func_02032fa4() != 0) {
this->unk_168.func_020350b4(0x39, 0, 2, 0, 0);
this->unk_1F0.func_020350b4(0x33, 0, 2, 0, 0);
this->unk_278.func_020350b4(0x33, 1, 2, 0, 0);
this->mUnk_168.func_020350b4(0x39, 0, 2, 0, 0);
this->mUnk_1f0.func_020350b4(0x33, 0, 2, 0, 0);
this->mUnk_278.func_020350b4(0x33, 1, 2, 0, 0);
} else {
this->unk_168.func_020350b4(0x34, 0, 2, 0, 0);
this->unk_1F0.func_020350b4(0x32, 0, 2, 0, 0);
this->unk_278.func_020350b4(0x32, 1, 2, 0, 0);
this->mUnk_168.func_020350b4(0x34, 0, 2, 0, 0);
this->mUnk_1f0.func_020350b4(0x32, 0, 2, 0, 0);
this->mUnk_278.func_020350b4(0x32, 1, 2, 0, 0);
}
this->unk_168.func_020351b8(true, false, false, false);
this->unk_1F0.func_020351b8(false, false, false, false);
this->unk_278.func_020351b8(false, false, false, false);
this->mUnk_168.func_020351b8(true, false, false, false);
this->mUnk_1f0.func_020351b8(false, false, false, false);
this->mUnk_278.func_020351b8(false, false, false, false);
}
THUMB void UnkStruct_020397f8::vfunc_4c() {
this->func_02038b28();
this->func_0203dcfc(this->unk_50, 0, 0, 2);
this->func_0203dcfc(this->mUnk_50, 0, 0, 2);
}
// non-matching
ARM void UnkStruct_020397f8::vfunc_2c() {
if (data_027e0618[0x101] != 0) {
if (((data_02056be4[data_027e077c.mUnk_0] & 1) != 0) != this->unk_50) {
if (((data_02056be4[data_027e077c.mUnk_0] & 1) != 0) != this->mUnk_50) {
return;
}
}
this->func_02038d20();
if (this->unk_56C > 0) {
this->unk_56C--;
if (this->mUnk_56c > 0) {
this->mUnk_56c--;
}
if (this->unk_50 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) {
this->unk_57F = 0;
if (this->mUnk_50 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) {
this->mUnk_57f = 0;
}
if (this->unk_15C > 0) {
if ((this->unk_128.unk_00 == NULL || this->unk_128.unk_00[0] == 0) != 0) {
this->unk_424.func_0203ef78(this->unk_128.unk_08);
if (this->mUnk_15c > 0) {
if ((this->mUnk_128.mUnk_04 == NULL || this->mUnk_128.mUnk_04[0] == 0) != 0) {
this->mUnk_424.func_0203ef78(this->mUnk_128.mUnk_08);
}
this->func_0203be64();
this->func_0203a35c();
if (this->unk_580 != 0) {
this->unk_168.func_0203516c();
if (this->mUnk_580 != 0) {
this->mUnk_168.func_0203516c();
}
if (this->unk_584 != 0) {
this->unk_300.func_0203516c();
if (this->mUnk_584 != 0) {
this->mUnk_300.func_0203516c();
}
if (this->unk_585 != 0) {
this->unk_388.func_0203516c();
if (this->mUnk_585 != 0) {
this->mUnk_388.func_0203516c();
}
if ((this->func_0203a2c0() != 0 && this->unk_57F == 0) && this->unk_56C <= 0) {
this->unk_1F0.func_0203516c();
if ((this->func_0203a2c0() != 0 && this->mUnk_57f == 0) && this->mUnk_56c <= 0) {
this->mUnk_1f0.func_0203516c();
}
if (this->unk_08 != NULL) {
bool value = this->unk_08->mUnk_1c;
if (this->mUnk_08 != NULL) {
bool value = this->mUnk_08->mUnk_1c;
if ((value == 1) || (value == 2)) {
this->unk_278.func_0203516c();
this->mUnk_278.func_0203516c();
}
}
if (this->unk_15E == 6) {
if (this->mUnk_15e == 6) {
func_ov018_02169634(this);
} else {
this->unk_410.func_0203ebf8();
this->mUnk_410.func_0203ebf8();
}
}
if (this->unk_15C == 1) {
if (this->unk_586 == ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0) ) {
switch (this->unk_150[1]) {
if (this->mUnk_15c == 1) {
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 2:
case 3:
if (this->func_0203a3e0() != 0) {
this->func_0203bd8c(this->unk_572);
this->func_0203bd8c(this->mUnk_572);
} else {
this->func_0203b0ec(1);
}
@@ -159,20 +163,20 @@ ARM void UnkStruct_020397f8::vfunc_2c() {
ARM void UnkStruct_020397f8::func_02039ca8() {
s32 i;
for (i = 0; i < ARRAY_LEN(this->unk_564); i++) {
this->unk_564[i] = 0x1A;
for (i = 0; i < ARRAY_LEN(this->mUnk_564); i++) {
this->mUnk_564[i] = 0x1A;
}
}
ARM void UnkStruct_020397f8::vfunc_3c() {
if (this->unk_15C > 0 && this->func_0203de14(param_2) != 0) {
if (this->unk_124->unk_29 != 3) {
if ((this->unk_50 == 0) && func_ov000_02079e04() != 0) {
if (this->mUnk_15c > 0 && this->func_0203de14(param_2) != 0) {
if (this->mUnk_124->mUnk_29 != 3) {
if ((this->mUnk_50 == 0) && func_ov000_02079e04() != 0) {
return;
}
if (data_027e0618[0x101] != 0) {
if (((data_02056be4[data_027e077c.mUnk_0] & 1) != 0) != this->unk_50) {
if (((data_02056be4[data_027e077c.mUnk_0] & 1) != 0) != this->mUnk_50) {
return;
}
}
@@ -184,7 +188,7 @@ ARM void UnkStruct_020397f8::vfunc_3c() {
// non-matching
ARM void UnkStruct_020397f8::vfunc_40(s32 param1, s32 param2) {
MsgProc_Main* bVar1;
UnkStruct_02038aa0* bVar1;
s8 cVar2;
unk32 iVar4;
unk32 iVar6;
@@ -206,35 +210,35 @@ ARM void UnkStruct_020397f8::vfunc_40(s32 param1, s32 param2) {
local_8c = 0;
local_90 = 0;
bVar1 = data_027e0c68.unk_28[this->unk_50];
bVar1 = data_027e0c68.mUnk_28[this->mUnk_50];
this->vfunc_6C(&local_8c, &local_90);
this->func_0203a188(local_8c + param_2, local_90 + param_3, 0);
this->func_0203e1b0(param_2 + local_8c + (this->unk_158.x - (this->unk_14 << 3) / 2), param_3 + local_90 + (this->unk_158.y - (this->unk_18 << 3) / 2), 0);
this->func_0203e1b0(param_2 + local_8c + (this->mUnk_158.x - (this->mUnk_14 << 3) / 2), param_3 + local_90 + (this->mUnk_158.y - (this->mUnk_18 << 3) / 2), 0);
if (this->unk_584 != 0) {
iVar5 = this->unk_18 << 3;
if (this->mUnk_584 != 0) {
iVar5 = this->mUnk_18 << 3;
if (this->unk_580 != 0) {
if (this->mUnk_580 != 0) {
iVar5 = -0xC;
} else {
iVar5 = 0;
}
this->unk_300.func_02034a1c(param_2 + local_8c + this->unk_55C + (this->unk_158.x - (this->unk_14 << 3) / 2),
iVar5 + param_3 + local_90 + this->unk_560 + ((this->unk_158.y - (iVar5 / 2))), 0);
this->mUnk_300.func_02034a1c(param_2 + local_8c + this->mUnk_55c + (this->mUnk_158.x - (this->mUnk_14 << 3) / 2),
iVar5 + param_3 + local_90 + this->mUnk_560 + ((this->mUnk_158.y - (iVar5 / 2))), 0);
}
if (this->unk_585 != 0 && ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0)) {
if (this->mUnk_585 != 0 && ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0)) {
switch (data_027e0618[0]) {
case 2:
if (data_027e0cbc.func_0203d7e0(3) != 0) {
this->unk_388.func_02034b0c(0xBE, 0, 0, 0, 0);
this->mUnk_388.func_02034b0c(0xBE, 0, 0, 0, 0);
}
break;
case 6:
if (data_027e0cbc.func_0203d7e0(0x58) != 0) {
this->unk_388.func_02034b0c(0x013B, 0, 0, 0, 0);
this->mUnk_388.func_02034b0c(0x013B, 0, 0, 0, 0);
}
break;
}
@@ -244,10 +248,10 @@ ARM void UnkStruct_020397f8::vfunc_40(s32 param1, s32 param2) {
iVar8 = bVar1->mUnk_18;
uVar9 = data_02056a04[iVar8];
// func_0203489c(uVar9, data_02056a16[iVar8], &local_94, &local_98);
iVar6 = this->unk_158.x - local_94;
iVar7 = this->unk_158.y - local_98;
iVar6 = this->mUnk_158.x - local_94;
iVar7 = this->mUnk_158.y - local_98;
if ((this->unk_15E != 7) && (this->func_0203a2c0() != 0)) {
if ((this->mUnk_15e != 7) && (this->func_0203a2c0() != 0)) {
func_01ffbe34(&aStack_48);
func_020347b0(uVar9, data_02056a10[iVar8], &local_9c, &local_a0, 4, 4);
local_9c += param_2 + local_8c + iVar6;
@@ -265,17 +269,17 @@ ARM void UnkStruct_020397f8::vfunc_40(s32 param1, s32 param2) {
local_9c = (0x108 - local_9c) + iVar8;
}
if ((this->unk_57F == 0) && (this->unk_56C <= 0)) {
if ((this->mUnk_57f == 0) && (this->mUnk_56c <= 0)) {
func_01ffbe34(&aStack_68);
aStack_68.mUnk_0a = 1;
this->unk_1F0.func_02034a1c(local_9c, local_a0, &aStack_68);
this->mUnk_1f0.func_02034a1c(local_9c, local_a0, &aStack_68);
} else {
// func_02034984(iVar5 != 0 ? 0x11F : 0x18, 0, local_9c, local_a0 + 2, 0);
}
}
if (this->unk_08 != 0) {
if ((this->unk_08->unk_1C == 1 || this->unk_08->unk_1C == 2) == 0) {
if (this->mUnk_08 != 0) {
if ((this->mUnk_08->mUnk_1c == 1 || this->mUnk_08->mUnk_1c == 2) == 0) {
return;
}
@@ -284,7 +288,7 @@ ARM void UnkStruct_020397f8::vfunc_40(s32 param1, s32 param2) {
func_02034698(iVar5 != 0 ? 0x11F : 0x18, 2, &iStack_a4, &iStack_a8);
iStack_a4 += param_2 + local_8c + iVar6;
iStack_a8 += param_3 + local_90 + iVar7;
this->unk_278.func_02034a1c(iStack_a4, iStack_a8, &aStack_88);
this->mUnk_278.func_02034a1c(iStack_a4, iStack_a8, &aStack_88);
}
}
@@ -302,29 +306,29 @@ ARM void UnkStruct_020397f8::func_0203a188(s32 param1, s32 param2) {
UnkStruct_01ffbe34 aStack_44;
unk32 uStack_24;
if (this->unk_15E == 7) {
if (this->mUnk_15e == 7) {
return;
}
// (short)(ushort)*(byte *)((int)data_027e0c68.unk_28[(this->unk_50 - 0x28) * 0x18];
// (short)(ushort)*(byte *)((int)data_027e0c68.mUnk_28[(this->mUnk_50 - 0x28) * 0x18];
iVar6 = data_027e0c68.unk_10 + this->mUnk_50;
iVar6 = data_027e0c68.mUnk_10 + this->mUnk_50;
// uStack_24 = param_4;
if (data_027e0cbc.func_0203d7e0(data_02056a00[iVar6]) != 0) {
uVar5 = data_02056a04[iVar6];
func_0203489c(uVar5, data_02056a16[iVar6], &iStack_48, &iStack_4c);
iVar3 = iStack_50 + (this->unk_158.x - iStack_48);
iVar3 = iStack_50 + (this->mUnk_158.x - iStack_48);
func_02034698(uVar5, data_02056a0e[iVar6], &iStack_50, &iStack_54);
iVar4 = iStack_54 + (this->unk_158.y - iStack_4c);
iVar4 = iStack_54 + (this->mUnk_158.y - iStack_4c);
func_01ffbe34(&aStack_44);
aStack_44.mUnk_0a = 1;
if (this->unk_580 != 0) {
this->unk_168.func_02034a1c(param_2 + iVar3, param_3 + iVar4, &aStack_44);
if (this->mUnk_580 != 0) {
this->mUnk_168.func_02034a1c(param_2 + iVar3, param_3 + iVar4, &aStack_44);
} else {
func_02034984(uVar5, data_02056a08[iVar6], param_2 + iVar3, param_3 + iVar4);
}
@@ -333,7 +337,7 @@ ARM void UnkStruct_020397f8::func_0203a188(s32 param1, s32 param2) {
// non-matching
ARM bool UnkStruct_020397f8::func_0203a2c0() {
if ((this->unk_150[1] != 1 && this->unk_150[1] != 2) && (this->func_02039250() != 0 && this->func_02038b78() != 0)) {
if ((this->mUnk_150[1] != 1 && this->mUnk_150[1] != 2) && (this->func_02039250() != 0 && this->func_02038b78() != 0)) {
return true;
}
@@ -341,46 +345,46 @@ ARM bool UnkStruct_020397f8::func_0203a2c0() {
}
ARM unk32 UnkStruct_020397f8::func_0203a30c() {
return this->unk_574 / this->pInfoEntry->mUnk_06;
return this->mUnk_574 / this->pInfoEntry->mUnk_06;
}
// non-matching (regalloc)
ARM void UnkStruct_020397f8::vfunc_48() {
if (this->unk_164 != NULL && this->unk_164->unk_15C > 0) {
if (this->mUnk_164 != NULL && this->mUnk_164->mUnk_15c > 0) {
this->func_02038b40();
}
this->unk_410.func_0203ec34();
this->mUnk_410.func_0203ec34();
}
ARM void UnkStruct_020397f8::func_0203a35c() {
if ((this->unk_57C == 1 || this->unk_150[3] != 0) || (this->unk_128.unk_00 == NULL || this->unk_128.unk_00[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 unk_56E = this->mUnk_56e;
s16 unk_570 = this->mUnk_570;
MsgProc_Type1* unk_164 = this->mUnk_164;
s16 mUnk_56e = this->mUnk_56e;
s16 mUnk_570 = this->mUnk_570;
UnkStruct_020397f8* mUnk_164 = this->mUnk_164;
unk_164->unk_168.unk_10 = mUnk_56e;
unk_164->unk_168.unk_14 = mUnk_570;
this->unk_164->func_02039208(4);
mUnk_164->mUnk_168.mUnk_10 = mUnk_56e;
mUnk_164->mUnk_168.mUnk_14 = mUnk_570;
this->mUnk_164->func_02039208(4);
}
} else {
this->unk_164->func_02038b40();
this->mUnk_164->func_02038b40();
}
}
ARM bool UnkStruct_020397f8::func_0203a3e0() {
return this->unk_164->unk_168.unk_06 > 0;
return this->mUnk_164->mUnk_168.mUnk_06 > 0;
}
// non-matching
ARM void UnkStruct_020397f8::vfunc_44(s32 param1, s32 param2) {
ARM void UnkStruct_020397f8::vfunc_44(s32 touchLastX, s32 touchLastY) {
unk32 iVar2;
unk32 iVar5;
unk32 iStack_14;
unk32 iStack_18;
if (this->unk_15C <= 0 || this->func_0203951c() == 0) {
if (this->mUnk_15c <= 0 || this->func_0203951c() == 0) {
return;
}
@@ -398,7 +402,7 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 param1, s32 param2) {
if ((data_02056be4[data_027e077c.mUnk_0] & 2) == 0) {
if ((data_027e0d78.mFlags & 1) != 0) {
if (this->unk_50 == 0 && data_027e0d38 != 0) {
if (this->mUnk_50 == 0 && data_027e0d38 != 0) {
if (func_ov000_02079e04() == 0 && data_027e0e28->func_ov000_0207bc48() == 0) {
if (data_027e0618[0x101] == 0 && data_027e103c->mUnk_24 == 0) {
return;
@@ -407,7 +411,7 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 param1, s32 param2) {
}
if (this->func_0203a6d0(iVar5, iVar2) == 0 && this->func_0203a2c0() != 0) {
this->unk_57F = 1;
this->mUnk_57f = 1;
}
} else {
if (data_027e0d78.mTouch != 0) {
@@ -416,7 +420,7 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 param1, s32 param2) {
}
if (data_027e0d78.mTouch == 0) {
switch(this->unk_150[1]) {
switch(this->mUnk_150[1]) {
case 3:
case 4:
break;
@@ -434,16 +438,16 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 param1, s32 param2) {
break;
case 2:
//! TODO: fixme
// if (this->unk_164->unk_168.unk_06 <= 0) {
// if (this->mUnk_164->mUnk_168.mUnk_06 <= 0) {
// if ((data_027e0d78.mFlags & 2) != 0) {
// this->unk_128.unk_14 = 0;
// this->mUnk_128.mUnk_14 = 0;
// if (this->func_0203b0bc() != 0) {
// this->func_0203b0ec(1);
// }
// this->unk_1F0.unk_5C.unk_08 = 0;
// this->unk_1F0.func_020352d8();
// this->mUnk_1f0.mUnk_5c.mUnk_08 = 0;
// this->mUnk_1f0.func_020352d8();
// }
// }
break;
@@ -451,14 +455,14 @@ ARM void UnkStruct_020397f8::vfunc_44(s32 param1, s32 param2) {
case 1:
default:
if ((data_027e0d78.mFlags & 2) != 0) {
this->unk_128.unk_14 = 0;
this->mUnk_128.mUnk_14 = 0;
if (this->func_0203b0bc() != 0) {
this->func_0203b0ec(1);
}
this->unk_1F0.unk_5C.unk_08 = 0;
this->unk_1F0.func_020352d8();
this->mUnk_1f0.mUnk_5c.mUnk_08 = 0;
this->mUnk_1f0.func_020352d8();
}
break;
}
@@ -472,7 +476,7 @@ ARM bool UnkStruct_020397f8::func_0203a6d0(unk32 param1) {
unk32 uVar2;
UnkStruct_0203b264* piVar3;
if (this->unk_164->unk_168.unk_06 > 0 && this->unk_164->unk_15C <= 0) {
if (this->mUnk_164->mUnk_168.mUnk_06 > 0 && this->mUnk_164->mUnk_15c <= 0) {
return false;
}
@@ -480,17 +484,17 @@ ARM bool UnkStruct_020397f8::func_0203a6d0(unk32 param1) {
piVar3 = NULL;
if (!(iVar1 < 0) && iVar1 < 4) {
piVar3 = this->unk_424.func_0203eeb0(iVar1, param_2);
piVar3 = this->mUnk_424.func_0203eeb0(iVar1, param_2);
}
if (piVar3 != NULL && ((piVar3->mUnk_0[3] << 0x10) | ((u16*)piVar3->mUnk_0)[2]) == 0x00FF0002) {
uVar2 = this->func_02038cb8(iVar1);
this->unk_410.func_0203ec4c(piVar3, uVar2,
(s16)(this->unk_158.x - ((this->unk_14 << 3) / 2)) + iVar1 + this->unk_56E,
(s16)(this->unk_158.y - ((this->unk_18 << 3) / 2)) + iVar1 + this->unk_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->unk_57F = 0;
this->mUnk_57f = 0;
return true;
}
@@ -508,22 +512,22 @@ ARM void UnkStruct_020397f8::vfunc_50(unk32 param1, unk32 param2, s32 param3, un
iVar6 = param_4[0];
if (data_027e0c54 != 0) {
MsgProc_Type1* pVar4 = data_027e0c68.func_02036700();
UnkStruct_020397f8* pVar4 = data_027e0c68.func_02036700();
if (pVar4 != NULL && pVar4->unk_15C > 0) {
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) {
MsgProc_Type1* pVar4 = (MsgProc_Type1*)data_027e0c68.unk_28[4];
UnkStruct_020397f8* pVar4 = (UnkStruct_020397f8*)data_027e0c68.mUnk_28[4];
if (pVar4 != NULL && pVar4->unk_15C > 0) {
if (pVar4 != NULL && pVar4->mUnk_15c > 0) {
this->func_02038b40();
}
}
this->unk_586 = (data_02056be4[data_027e077c.mUnk_0] & 1) != 0;
this->mUnk_586 = (data_02056be4[data_027e077c.mUnk_0] & 1) != 0;
temp = param_4[8];
if (temp >= 0 && param_4[9] >= 0) {
@@ -531,13 +535,13 @@ ARM void UnkStruct_020397f8::vfunc_50(unk32 param1, unk32 param2, s32 param3, un
}
if (temp < 0) {
this->unk_57B = temp;
this->mUnk_57b = temp;
} else {
this->unk_57B = 0;
this->mUnk_57b = 0;
}
// this->func_02038f44(param_2, param_3, param_4, param_5, iVar6);
this->unk_574 = 0;
this->mUnk_574 = 0;
if (data_027e0d38 != 0 && (data_02056be4[data_027e077c.mUnk_0] & 1) != 0 && (param_4[11])) {
data_027e103c->func_ov000_020cf284(0x80, 0);
@@ -548,13 +552,13 @@ ARM void UnkStruct_020397f8::vfunc_50(unk32 param1, unk32 param2, s32 param3, un
ARM void UnkStruct_020397f8::vfunc_54() {}
ARM void UnkStruct_020397f8::vfunc_5c() {
if (this->unk_15F == 0 || this->pInfoEntry->unk_06 <= 2) {
this->unk_168.unk_5C.unk_08 = this->unk_168.mUnk_7c;
this->unk_168.func_020352d8();
if (this->mUnk_15f == 0 || this->pInfoEntry->mUnk_06 <= 2) {
this->mUnk_168.mUnk_5c.mUnk_08 = this->mUnk_168.mUnk_7c;
this->mUnk_168.func_020352d8();
} else {
this->unk_168.unk_5C.unk_08 = 0;
this->unk_168.func_020352d8();
this->unk_168.func_020351b8(1, 0, 0, 0);
this->mUnk_168.mUnk_5c.mUnk_08 = 0;
this->mUnk_168.func_020352d8();
this->mUnk_168.func_020351b8(1, 0, 0, 0);
}
}
@@ -565,7 +569,7 @@ ARM void UnkStruct_020397f8::vfunc_58() {
int iVar3;
char *pcVar4;
if (this->unk_160 != 0) {
if (this->mUnk_160 != 0) {
if (data_027e103c != NULL) {
if (data_027e103c->func_ov000_020cf4bc() != 0) {
puVar2 = data_027e103c->func_ov000_020cef9c();
@@ -573,29 +577,29 @@ ARM void UnkStruct_020397f8::vfunc_58() {
if ((puVar2 + 0x244) != NULL || (puVar2[0x250] == '\x02')) {
puVar2 = data_027e103c->func_ov000_020cef9c();
if ((MsgProc_Type1*)(puVar2 + 0x244) == this) {
if ((UnkStruct_020397f8*)(puVar2 + 0x244) == this) {
data_027e103c->func_ov000_020cfb38();
}
}
}
if (this->unk_581 != 0 && data_027e103c->func_ov000_020cf488() != 0) {
if (this->mUnk_581 != 0 && data_027e103c->func_ov000_020cf488() != 0) {
data_027e103c->func_ov000_020cfa24();
this->unk_581 = 0;
this->mUnk_581 = 0;
}
if (this->unk_582 != 0) {
if (this->mUnk_582 != 0) {
data_027e103c->func_ov000_020cfe40(0, 2);
this->unk_582 = 0;
this->mUnk_582 = 0;
}
if (this->unk_583 != 0) {
if (this->mUnk_583 != 0) {
data_027e103c->func_ov005_02104028(0);
this->unk_583 = 0;
this->mUnk_583 = 0;
}
}
// if (data_027e0618[0] == 2 && func_ov000_02079e04() && (data_027e1054.unk_04 + 0x99) != 0 &&
// if (data_027e0618[0] == 2 && func_ov000_02079e04() && (data_027e1054.mUnk_04 + 0x99) != 0 &&
// (data_027e077c.mUnk_0 != 0x39 || data_027e103c->func_ov000_020cf0bc())) {
// data_027e1054.func_ov003_020f4874();
// data_027e103c->func_ov005_02103f8c(data_02057ed4);
@@ -606,7 +610,7 @@ ARM void UnkStruct_020397f8::vfunc_58() {
}
ARM bool UnkStruct_020397f8::func_0203b0bc() {
return this->unk_57F != 0 && data_027e077c.mUnk_0 == data_027e077c.mUnk_4;
return this->mUnk_57f != 0 && data_027e077c.mUnk_0 == data_027e077c.mUnk_4;
}
// non-matching
@@ -620,7 +624,7 @@ ARM s32 UnkStruct_020397f8::func_0203b0ec(u32 param1) {
iVar4 = 0;
bVar1 = false;
uVar3 = param_2;
uVar3 = param1;
if (((data_02056be4[data_027e077c.mUnk_0] & 1) == 0)) {
uVar3 = 0;
@@ -628,19 +632,19 @@ ARM s32 UnkStruct_020397f8::func_0203b0ec(u32 param1) {
uVar3 = 1;
}
unaff_r6 = this->unk_50 == uVar3;
unaff_r6 = this->mUnk_50 == uVar3;
this->unk_410.func_0203ec34();
this->unk_585 = 0;
this->unk_584 = 0;
this->mUnk_410.func_0203ec34();
this->mUnk_585 = 0;
this->mUnk_584 = 0;
if (this->unk_150[3] != 0) {
if (this->mUnk_150[3] != 0) {
iVar4 = 1;
this->unk_56C = this->mUnk_578;
this->mUnk_56c = this->mUnk_578;
bVar1 = true;
this->unk_15C = 0x78;
this->mUnk_15c = 0x78;
} else {
if ((this->unk_128.unk_00 == NULL || this->unk_128.unk_00[0] == 0) != 0) {
if ((this->mUnk_128.mUnk_04 == NULL || this->mUnk_128.mUnk_04[0] == 0) != 0) {
this->func_02038b40();
if (data_027e0d38 != 0) {
@@ -648,7 +652,7 @@ ARM s32 UnkStruct_020397f8::func_0203b0ec(u32 param1) {
data_027e103c->func_ov000_020cf2a0(1);
}
if (this->unk_08 == NULL) {
if (this->mUnk_08 == NULL) {
this->vfunc_58();
}
@@ -666,7 +670,7 @@ ARM s32 UnkStruct_020397f8::func_0203b0ec(u32 param1) {
}
}
if (((param_2 != 0 && iVar4 != 0) && unaff_r6 != 0) && this->unk_15E != 7) {
if (((param1 != 0 && iVar4 != 0) && unaff_r6 != 0) && this->mUnk_15e != 7) {
data_ov000_020eec9c.func_ov000_020d77e4(0x19);
}
@@ -684,7 +688,7 @@ ARM unk32 UnkStruct_020397f8::vfunc_18(s32 param1) {
return 1;
}
if (this->unk_580 != 0) {
if (this->mUnk_580 != 0) {
unaff_r4 = -0xC;
} else {
unaff_r4 = 0;
@@ -704,7 +708,7 @@ ARM unk32 UnkStruct_020397f8::vfunc_18(s32 param1) {
}
if (bVar5) {
this->unk_424.func_0203ee80(this->unk_128.unk_08);
this->mUnk_424.func_0203ee80(this->mUnk_128.mUnk_08);
}
}
@@ -719,26 +723,26 @@ ARM unk32 UnkStruct_020397f8::vfunc_1c(s32 param1, unk32 *param2, unk32 param3,
psVar3 = param_3->mUnk_4;
if (psVar3[0] == 10) {
this->unk_424.func_0203ef78(this->unk_128.unk_08, psVar3[0], param_4);
this->unk_574++;
this->mUnk_424.func_0203ef78(this->mUnk_128.mUnk_08, psVar3[0], param_4);
this->mUnk_574++;
if (this->func_0203a30c() == 0) {
this->unk_150[3] = 1;
this->mUnk_150[3] = 1;
}
}
if (this->unk_15E == 6) {
if (this->mUnk_15e == 6) {
return 1;
}
switch (this->unk_57A) {
switch (this->mUnk_57a) {
case 0:
return this->func_0203905c(param_2, param_3, param_4, param_5);
case 1:
UnknownMsgChoiceStruct* pChoiceData;
s32 i = this->func_0203a30c();
pChoiceData = &this->unk_428[this->unk_528[i]];
return this->unk_164->func_0203cb5c(*param_2, (((pChoiceData->unk_00->mUnk_0[3] << 0x10) | ((u16*)pChoiceData->unk_00->mUnk_0)[2]) + ~0xFFFE));
pChoiceData = &this->mUnk_428[this->mUnk_528[i]];
return this->mUnk_164->func_0203cb5c(*param_2, (((pChoiceData->mUnk_00->mUnk_0[3] << 0x10) | ((u16*)pChoiceData->mUnk_00->mUnk_0)[2]) + ~0xFFFE));
default:
break;
}
@@ -758,10 +762,10 @@ ARM void UnkStruct_020397f8::vfunc_60(s32 param1) {
uVar6 = 0;
if (this->func_02032fa4() == 0) {
switch(param_2->unk_0C) {
switch(param_2->mUnk_0c) {
case 0:
case 1:
uVar6 = this->unk_580 != 0;
uVar6 = this->mUnk_580 != 0;
break;
case 2:
uVar6 = 2;
@@ -777,7 +781,7 @@ ARM void UnkStruct_020397f8::vfunc_60(s32 param1) {
break;
default:
// why???
switch (param_2->unk_0C) {
switch (param_2->mUnk_0c) {
case 4:
uVar6 = 8;
break;
@@ -785,7 +789,7 @@ ARM void UnkStruct_020397f8::vfunc_60(s32 param1) {
uVar6 = 9;
break;
default:
if (this->unk_580 != 0) {
if (this->mUnk_580 != 0) {
uVar6 = 7;
} else {
uVar6 = 6;
@@ -797,9 +801,9 @@ ARM void UnkStruct_020397f8::vfunc_60(s32 param1) {
}
// PTR_PTR_0203b5ac[(byte)param_1[0x50]] = (char)uVar6;
data_027e0c68.unk_28[this->unk_50]->unk_50 = uVar6;
data_027e0c68.mUnk_28[this->mUnk_50]->mUnk_50 = uVar6;
if (this->unk_15E == 7) {
if (this->mUnk_15e == 7) {
uVar5 = func_0202d5b4(data_02057f08, data_02057eec, data_020691a0, 0xCC00, 1);
func_02032304(data_02068894, data_02057ed8, data_02056af0, 1, param_4);
iVar3 = func_02016fcc(uVar5);
@@ -814,14 +818,14 @@ ARM void UnkStruct_020397f8::vfunc_60(s32 param1) {
iVar3 = data_027e0cbc.func_0203d77c(data_02056a00[uVar6 * 0x18] - 2, 1, 1);
}
if (param_2->unk_10 < 0) {
if (param_2->mUnk_10 < 0) {
iVar3 = param_2->mUnk_12;
}
if (param_2->unk_10 <= 0 && iVar3 > 0) {
if (param_2->mUnk_10 <= 0 && iVar3 > 0) {
uVar2 = param_2->mUnk_12;
this->unk_158.x = param_2->mUnk_10;
this->unk_158.y = uVar2;
this->mUnk_158.x = param_2->mUnk_10;
this->mUnk_158.y = uVar2;
} else {
this->func_0203b764();
}
@@ -831,48 +835,48 @@ ARM void UnkStruct_020397f8::vfunc_60(s32 param1) {
ARM void UnkStruct_020397f8::vfunc_64(unk32 param1) {
unk32 uVar2;
if (this->unk_50 != 0 || data_027e0db0.unk_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;
}
this->unk_124->func_0203f020(param_2, uVar2);
this->mUnk_124->func_0203f020(param_2, uVar2);
this->func_0203be08();
if (this->func_02032fa4()) {
this->unk_168.func_020350b4(0x39, 0, 2, 0, 0);
this->unk_1F0.func_020350b4(0x33, 0, 2, 0, 0);
this->unk_278.func_020350b4(0x33, 1, 2, 0, 0);
this->mUnk_168.func_020350b4(0x39, 0, 2, 0, 0);
this->mUnk_1f0.func_020350b4(0x33, 0, 2, 0, 0);
this->mUnk_278.func_020350b4(0x33, 1, 2, 0, 0);
} else {
this->unk_168.func_020350b4(0x34, 0, 2, 0, 0);
this->unk_1F0.func_020350b4(0x32, 0, 2, 0, 0);
this->unk_278.func_020350b4(0x32, 1, 2, 0, 0);
this->mUnk_168.func_020350b4(0x34, 0, 2, 0, 0);
this->mUnk_1f0.func_020350b4(0x32, 0, 2, 0, 0);
this->mUnk_278.func_020350b4(0x32, 1, 2, 0, 0);
}
this->unk_168.func_020351b8(1, 0, 0, 0);
this->unk_1F0.func_020351b8(0, 0, 0, 0);
this->unk_278.func_020351b8(0, 0, 0, 0);
this->mUnk_168.func_020351b8(1, 0, 0, 0);
this->mUnk_1f0.func_020351b8(0, 0, 0, 0);
this->mUnk_278.func_020351b8(0, 0, 0, 0);
this->func_020393a8(param_2);
}
// non-matching
ARM void UnkStruct_020397f8::func_0203b764() {
s32 i = data_027e0c68.unk_00[this->unk_50];
s32 i = data_027e0c68.mUnk_00[this->mUnk_50];
this->func_02039440(data_02056a04[i * 0x18], data_02056a16[i]);
switch (this->unk_57B) {
switch (this->mUnk_57b) {
case 1:
this->unk_158.y -= 38;
this->mUnk_158.y -= 38;
break;
case 2:
switch (this->pInfoEntry->unk_06) {
switch (this->pInfoEntry->mUnk_06) {
case 2:
this->unk_158.y -= 111;
this->mUnk_158.y -= 111;
break;
case 3:
this->unk_158.y -= 98;
this->mUnk_158.y -= 98;
break;
default:
break;
@@ -887,10 +891,10 @@ ARM void UnkStruct_020397f8::func_0203b764() {
ARM unk32 UnkStruct_020397f8::vfunc_20(s32 param1, s32 *param2) {}
ARM void UnkStruct_020397f8::func_0203bd8c(s32 param1) {
this->unk_576 = param_2;
this->mUnk_576 = param_2;
if (this->func_0203b0ec(0) != 0) {
data_ov000_020eec9c.func_ov000_020d77e4(this->unk_564[param_2]);
data_ov000_020eec9c.func_ov000_020d77e4(this->mUnk_564[param_2]);
}
}
@@ -903,13 +907,13 @@ ARM void UnkStruct_020397f8::vfunc_6c(s32 *param1, s32 *param2) {
ARM void UnkStruct_020397f8::func_0203be08() {
if (data_027e0d38 != 0) {
if (data_027e103c->func_ov000_020cf42c() != 0) {
this->unk_534 = this->mUnk_538;
this->mUnk_534 = this->mUnk_538;
} else {
this->unk_534 = this->mUnk_536;
this->mUnk_534 = this->mUnk_536;
}
if (this->func_0203c084() != 0) {
this->unk_548 = this->mUnk_54c;
this->mUnk_548 = this->mUnk_54c;
}
}
}
@@ -925,7 +929,7 @@ ARM bool UnkStruct_020397f8::func_0203c084() {
uVar4 = 0;
if (this->unk_50 == 0) {
if (this->mUnk_50 == 0) {
bVar2 = true;
bVar1 = true;
@@ -951,12 +955,12 @@ 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->unk_585 = 1;
this->unk_584 = 1;
this->unk_128.unk_18 = 0x00016000;
this->unk_128.unk_1C = NULL;
this->unk_128.unk_20 = 0;
this->unk_128.unk_24 = 0;
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;
this->mUnk_128.mUnk_24 = 0;
return true;
}
@@ -970,7 +974,7 @@ ARM bool UnkStruct_020397f8::func_0203c1a0() {
u8* iVar3;
if ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0) {
this->unk_584 = 1;
this->mUnk_584 = 1;
pVar1 = data_027e103c->func_ov000_020cef9c();
iVar3 = data_027e0f7c.func_ov000_0209d90c(pVar1[0x24F], 0);
@@ -978,10 +982,10 @@ ARM bool UnkStruct_020397f8::func_0203c1a0() {
data_ov000_020eec9c.func_ov000_020d77e4(6);
data_027e103c->func_ov000_020cfb58(iVar3);
this->unk_128.unk_18 = 0x0000A000;
this->unk_128.unk_1C = this->func_0203c25c;
this->unk_128.unk_20 = this;
this->unk_128.unk_24 = 0;
this->mUnk_128.mUnk_18 = 0x0000A000;
this->mUnk_128.mUnk_1c = this->func_0203c25c;
this->mUnk_128.mUnk_20 = this;
this->mUnk_128.mUnk_24 = 0;
return 0;
}
@@ -990,16 +994,16 @@ ARM bool UnkStruct_020397f8::func_0203c1a0() {
}
ARM bool UnkStruct_020397f8::func_0203c25c() {
if (data_027e1054.unk_00->unk_00->unk_95 != 0) {
if (data_027e1054.mUnk_00->mUnk_00->mUnk_95 != 0) {
return false;
}
if ((data_02056be4[data_027e077c.mUnk_0] & 1) == 0) {
param_1->unk_585 = 1;
param_1->unk_128.unk_18 = 0x00016000;
param_1->unk_128.unk_1C = NULL;
param_1->unk_128.unk_20 = 0;
param_1->unk_128.unk_24 = 0;
param_1->mUnk_585 = 1;
param_1->mUnk_128.mUnk_18 = 0x00016000;
param_1->mUnk_128.mUnk_1c = NULL;
param_1->mUnk_128.mUnk_20 = 0;
param_1->mUnk_128.mUnk_24 = 0;
return true;
}
+27 -24
View File
@@ -3,31 +3,32 @@
extern u32 *data_027e0ce0[];
extern "C" void func_02007938(unk32, unk16*, unk32, unk32, unk32);
extern "C" void func_0203fc78(unk32*, unk32*);
// non-matching
THUMB UnkStruct_0203dae0::UnkStruct_0203dae0(u8 param1) {
this->unk_114 = NULL;
this->unk_118 = -1;
this->unk_11C = 0;
this->unk_11E = 0;
this->unk_11F = 0;
this->unk_120 = 1;
this->unk_121 = param_2;
this->unk_122 = 0;
this->mUnk_114 = NULL;
this->mUnk_118 = -1;
this->mUnk_11c = 0;
this->mUnk_11e = 0;
this->mUnk_11f = 0;
this->mUnk_120 = 1;
this->mUnk_121 = param1;
this->mUnk_122 = 0;
func_02007938(0, &this->unk_54, 0xC0, 1, param_4);
// func_02007938(0, &this->mUnk_54, 0xC0, 1, param_4);
if (this->unk_121 == 0) {
this->unk_114 = new(data_027e0ce0[0], 4) MsgProc_Base2_unk_114();
if (this->mUnk_121 == 0) {
this->mUnk_114 = new(data_027e0ce0[0], 4) UnkStruct_0203dae0_114();
} else {
this->unk_114 = new(data_027e0ce0[1], 4) MsgProc_Base2_unk_114();
this->mUnk_114 = new(data_027e0ce0[1], 4) UnkStruct_0203dae0_114();
}
}
THUMB UnkStruct_0203dae0::~UnkStruct_0203dae0() {
if (this->unk_114 != NULL) {
if (this->mUnk_114 != NULL) {
delete this->mUnk_114;
this->unk_114 = NULL;
this->mUnk_114 = NULL;
}
}
@@ -40,13 +41,13 @@ ARM bool UnkStruct_0203dae0::vfunc_14(s32 param1, s32 param2) {
unk32 local_c;
unk32 local_10;
local_c = param_2;
local_10 = param_3;
local_c = param1;
local_10 = param2;
this->func_02032fa4();
this->func_0203fc78(&local_c, &local_10);
func_0203fc78(&local_c, &local_10);
this->func_02032fcc(local_c, local_10);
this->unk_10 = 0;
this->mUnk_10 = 0;
return true;
}
@@ -57,18 +58,20 @@ ARM void UnkStruct_0203dae0::func_0203de14() {}
ARM s32 UnkStruct_0203dae0::func_0203de24() {}
ARM bool UnkStruct_0203dae0::func_0203de58(s32 param1) {}
// non-matching
ARM void UnkStruct_0203dae0::vfunc_10(u32 param1, unk32 param2) {
param_1->func_0203dc10(1, param_3);
param_1->unk_11E = param_2;
param_1->unk_118 = -1;
param_1->func_020331c4(param_2, -1);
// this->func_0203dc10(1, param2);
this->mUnk_11e = param1;
this->mUnk_118 = -1;
// this->func_020331c4(param1, -1);
}
ARM void UnkStruct_0203dae0::vfunc_30() {}
// non-matching?
ARM bool UnkStruct_0203dae0::vfunc_28() {
if (this->unk_122 != 0) {
this->func_0203e0f8();
if (this->mUnk_122 != 0) {
this->func_0203e0f8(0, 0);
this->func_0203dc10(0);
return true;
}