mirror of
https://github.com/zeldaret/st
synced 2026-08-15 12:58:54 -04:00
Identify model-related structures (#75)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "types.h"
|
||||
|
||||
@@ -45,7 +46,7 @@ public:
|
||||
|
||||
class ActorUnk_ov000_020a8bb0_a4 {
|
||||
public:
|
||||
/* 00 */ UnkSystem4 *mUnk_00;
|
||||
/* 00 */ ModelRender *mUnk_00;
|
||||
/* 08 */ unk16 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_06;
|
||||
/* 0A */ unk32 mUnk_08;
|
||||
@@ -135,7 +136,7 @@ public:
|
||||
/* BC */
|
||||
|
||||
void func_ov000_020a8ae0(fx32 param1);
|
||||
ActorUnk_ov000_020a8bb0(UnkSystem4 *param1, unk32 param2);
|
||||
ActorUnk_ov000_020a8bb0(ModelRender *param1, unk32 param2);
|
||||
bool func_ov000_020a8db0();
|
||||
bool func_ov000_020a8dd0();
|
||||
void func_ov000_020a8df0(ActorRef param1, unk32 param2);
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "Map/MapObjectId.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "flags.h"
|
||||
#include "global.h"
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectTreasureSpawned_74 : public UnkSystem4 {
|
||||
class MapObjectTreasureSpawned_74 : public ModelRender {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 60 */ bool mUnk_60;
|
||||
@@ -15,7 +16,7 @@ public:
|
||||
/* 63 */ unk8 mUnk_63; // pad?
|
||||
/* 64 */
|
||||
|
||||
MapObjectTreasureSpawned_74(unk32 param1);
|
||||
MapObjectTreasureSpawned_74(G3d_Model *param1);
|
||||
|
||||
// data_ov031_02115844
|
||||
/* 00 */ virtual ~MapObjectTreasureSpawned_74() override {}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectDoorBase.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "versions.h"
|
||||
@@ -10,7 +11,7 @@
|
||||
class MapObjectDoorSwitch : public MapObjectDoorBase {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 094 */ UnkSystem4 mUnk_094;
|
||||
/* 094 */ ModelRender mUnk_094;
|
||||
/* 0F4 */ MapObject_10 mUnk_0F4;
|
||||
#if IS_JP
|
||||
/* 118 */ MapObject_10 mUnk_118;
|
||||
@@ -45,7 +46,7 @@ public:
|
||||
/* 74 */ virtual void vfunc_74() override;
|
||||
|
||||
// (MapObject_UnkStruct1_Derived1)
|
||||
/* 10 */ virtual void *vfunc2_10();
|
||||
/* 10 */ virtual G3d_Model *GetModel();
|
||||
};
|
||||
|
||||
class MapObjectProfileDoorSwitch : public MapObjectProfile_Derived2 {
|
||||
|
||||
@@ -4,77 +4,18 @@
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base_18 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base_18(); // func_02016620
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base_20 {
|
||||
public:
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base_20(unk32 param1, unk32 param2, unk32 param3, unk32 param4,
|
||||
unk32 param5); // func_020153fc
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base_54 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base_54();
|
||||
~MapObjectProfile_Derived2_20_Base_54();
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ const char *mUnk_04;
|
||||
/* 08 */ const char *mUnk_08;
|
||||
/* 0C */ UnkResourceStruct_Base mUnk_0C;
|
||||
/* 18 */ MapObjectProfile_Derived2_20_Base_18 mUnk_18;
|
||||
/* 20 */ MapObjectProfile_Derived2_20_Base_20 mUnk_20;
|
||||
/* 2C */ UnkFileSystem3 mUnk_2C;
|
||||
/* 3C */ UnkFileSystem5 mUnk_3C;
|
||||
/* 50 */ UnkResourceStruct *mUnk_50;
|
||||
/* 54 */ MapObjectProfile_Derived2_20_Base_54 mUnk_54[4];
|
||||
/* 94 */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base(const char *directory, void *param2, void *param3, void *param4, unk32 param5,
|
||||
unk32 param6); // func_ov000_02058540
|
||||
|
||||
// data_ov000_020b1b14
|
||||
/* 00 */ virtual ~MapObjectProfile_Derived2_20_Base();
|
||||
/* 08 */
|
||||
|
||||
void func_ov000_020586b4(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
void func_ov000_020588f0(void);
|
||||
void func_ov000_02058900(void);
|
||||
void func_ov000_02058914(unk32 param1);
|
||||
void func_ov000_020589e4(void);
|
||||
unk32 func_ov000_02058a24();
|
||||
void unc_ov000_02058a58(void);
|
||||
unk32 func_ov000_02058a84(unk32 param1, const char *param2);
|
||||
void func_ov000_02058ab0(void);
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20 : public MapObjectProfile_Derived2_20_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */ unk16 mUnk_94;
|
||||
/* 96 */ unk16 mUnk_96;
|
||||
/* 98 */ unk16 mUnk_98;
|
||||
/* 9A */ unk16 mUnk_9A;
|
||||
/* 94 */ union {
|
||||
wchar_t mUnk_94[4];
|
||||
struct {
|
||||
u16 unk_94;
|
||||
u16 unk_96;
|
||||
u16 unk_98;
|
||||
u16 unk_9A;
|
||||
};
|
||||
};
|
||||
/* 9C */ UnkFileSystem5 mUnk_9C;
|
||||
/* B0 */ bool mUnk_B0;
|
||||
/* B1 */ unk8 mUnk_B1; // bool?
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectSwitchStep_40 : public UnkSystem4 {
|
||||
class MapObjectSwitchStep_40 : public ModelRender {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 60 */ unk16 mUnk_60;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "types.h"
|
||||
#include "versions.h"
|
||||
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
|
||||
@@ -168,7 +169,7 @@ public:
|
||||
/* 070 */ u8 mUnk_72; // probably bools
|
||||
/* 070 */ u8 mUnk_73; // probably bools
|
||||
/* 074 */ UnkStruct_PlayerGet_74 mUnk_74;
|
||||
/* 08C */ UnkSystem4 mUnk_8C;
|
||||
/* 08C */ ModelRender mUnk_8C;
|
||||
/* 0EC */ UnkStruct_PlayerGet_ec mUnk_EC[4];
|
||||
/* 0FC */ void *mUnk_FC;
|
||||
/* 100 */
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nns/g3d/g3d.h>
|
||||
|
||||
typedef void (*UnkSystem4_UnkCallback)(void);
|
||||
|
||||
class UnkSystem4_vfunc_1C_B4 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ STRUCT_PAD(0x04, 0x4C);
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
};
|
||||
|
||||
class UnkSystem4_vfunc_1C {
|
||||
public:
|
||||
/* 00 */ u8 *mUnk_00;
|
||||
/* 04 */ unk32 *mUnk_04;
|
||||
/* 08 */ STRUCT_PAD(0x08, 0xB4);
|
||||
/* B4 */ UnkSystem4_vfunc_1C_B4 *mUnk_B4;
|
||||
/* 00 */ unk32 *mUnk_B8;
|
||||
};
|
||||
|
||||
class ModelRenderBase {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ G3d_Model *mpModel;
|
||||
/* 08 */
|
||||
|
||||
ModelRenderBase(G3d_Model *pModel) :
|
||||
mpModel(pModel) {}
|
||||
|
||||
// data_ov000_020b1a98
|
||||
/* 00 */ virtual ~ModelRenderBase();
|
||||
/* 08 */ virtual void vfunc_08(G3d_Model *pModel);
|
||||
/* 0C */ virtual void vfunc_0C() = 0;
|
||||
/* 10 */ virtual void vfunc_10() = 0;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) = 0;
|
||||
/* 18 */ virtual void vfunc_18() = 0;
|
||||
/* 1C */
|
||||
};
|
||||
|
||||
class ModelRender : public ModelRenderBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 08 */ G3d_RenderObject mRenderObj;
|
||||
/* 5C */ unk32 mUnk_5C; // G3d_BoneMtxStruct?
|
||||
/* 60 */
|
||||
|
||||
ModelRender(G3d_Model *pModel);
|
||||
|
||||
// data_ov000_020b1a6c
|
||||
/* 00 */ virtual ~ModelRender();
|
||||
/* 08 */ virtual void vfunc_08(G3d_Model *pModel);
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2); // SetRotationTranslation?
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1);
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
|
||||
void func_ov000_02057c38(unk32 param1, unk32 param2);
|
||||
void func_ov000_0209a7b8(void *param1, UnkSystem4_UnkCallback param2);
|
||||
};
|
||||
|
||||
class UnkSystem6_Derived1 : public ModelRenderBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 08 */
|
||||
|
||||
UnkSystem6_Derived1(G3d_Model *pModel) :
|
||||
ModelRenderBase(pModel) {}
|
||||
|
||||
// data_ov000_020b1a48
|
||||
/* 00 */ virtual ~UnkSystem6_Derived1() override {}
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
};
|
||||
|
||||
class UnkSystem6_Derived2 : public UnkSystem6_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 08 */
|
||||
|
||||
UnkSystem6_Derived2() :
|
||||
UnkSystem6_Derived1(NULL) {}
|
||||
|
||||
UnkSystem6_Derived2(G3d_Model *pModel) :
|
||||
UnkSystem6_Derived1(pModel) {}
|
||||
|
||||
// data_ov000_020b1968
|
||||
/* 00 */ virtual ~UnkSystem6_Derived2() {}
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
};
|
||||
|
||||
class UnkSystem5 {
|
||||
public:
|
||||
/* 00 */ G3d_Model *mpModel;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */
|
||||
|
||||
UnkSystem5(void *param1, G3d_Model *pModel);
|
||||
|
||||
void func_01ffc3b4();
|
||||
|
||||
void func_ov000_020577a4(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_020577f8(unk32 param1);
|
||||
};
|
||||
+71
-180
@@ -9,6 +9,7 @@
|
||||
#include "types.h"
|
||||
#include <nitro/mi.h>
|
||||
|
||||
#include <nns/g3d/g3d.h>
|
||||
#include <nns/text.h>
|
||||
|
||||
class UnkDataStruct2;
|
||||
@@ -951,186 +952,6 @@ struct UnkStruct_StackTitleScreen {
|
||||
void func_ov000_02059288(unk32 param1, char *param2, unk32 param3);
|
||||
};
|
||||
|
||||
typedef void (*UnkSystem4_UnkCallback)(void);
|
||||
|
||||
class UnkSystem4_vfunc_1C_B4 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ STRUCT_PAD(0x04, 0x4C);
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
};
|
||||
|
||||
class UnkSystem4_vfunc_1C {
|
||||
public:
|
||||
/* 00 */ u8 *mUnk_00;
|
||||
/* 04 */ unk32 *mUnk_04;
|
||||
/* 08 */ STRUCT_PAD(0x08, 0xB4);
|
||||
/* B4 */ UnkSystem4_vfunc_1C_B4 *mUnk_B4;
|
||||
/* 00 */ unk32 *mUnk_B8;
|
||||
};
|
||||
|
||||
class UnkSystem4 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 *mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk32 *mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 *mUnk_18;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */ unk32 *mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 *mUnk_28;
|
||||
/* 2C */ unk32 mUnk_2C;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3C */ unk32 mUnk_3C;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 44 */ unk32 mUnk_44;
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ unk32 mUnk_58;
|
||||
/* 5C */ unk32 mUnk_5C;
|
||||
/* 60 */
|
||||
|
||||
UnkSystem4(unk32 param1); // func_ov000_02057b54
|
||||
|
||||
// data_ov000_020b1a6c
|
||||
/* 00 */ virtual ~UnkSystem4();
|
||||
/* 08 */ virtual void vfunc_08(void *param1); // resource thing? (GetUnkPointer1_Impl as param1)
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2);
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1);
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
|
||||
void func_ov000_02057c38(unk32 param1, unk32 param2);
|
||||
void func_ov000_0209a7b8(void *param1, UnkSystem4_UnkCallback param2);
|
||||
};
|
||||
|
||||
struct UnkResourceStruct_Base {
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ u8 mUnk_08;
|
||||
/* 09 */ u8 mUnk_09;
|
||||
/* 0A */ u8 mUnk_0A;
|
||||
/* 0B */ u8 mUnk_0B;
|
||||
/* 0C */
|
||||
};
|
||||
|
||||
struct UnkResourceStruct : public UnkResourceStruct_Base {
|
||||
/* 0C */ unk8 mUnk_0C;
|
||||
/* 0D */ unk8 mUnk_0D;
|
||||
/* 0E */ u16 mUnk_0E;
|
||||
/* 10 */
|
||||
};
|
||||
|
||||
static inline void *GetUnkPointer1_Impl(UnkResourceStruct *ptr) {
|
||||
if (ptr != NULL) {
|
||||
u8 *temp_r1 = (u8 *) ptr + 8;
|
||||
u32 *var_r0;
|
||||
u8 zero = 0;
|
||||
|
||||
if (temp_r1 != NULL && ptr->mUnk_09 > zero) {
|
||||
var_r0 = (u32 *) (temp_r1 + *(u16 *) ((u8 *) ptr + 14) + 4);
|
||||
} else {
|
||||
var_r0 = NULL;
|
||||
}
|
||||
|
||||
if (var_r0 != NULL) {
|
||||
return (void *) ((u8 *) ptr + *var_r0);
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
template <typename T> static inline void *GetUnkPointer1() {
|
||||
return GetUnkPointer1_Impl((UnkResourceStruct *) GET_PROFILE_20_50(T));
|
||||
}
|
||||
|
||||
template <typename T> static inline void *GetUnkPointer2(unk32 param1, u32 resId) {
|
||||
T *pProfile = GET_PROFILE(T);
|
||||
pProfile->func_ov000_0209ccd8(param1, resId);
|
||||
return GetUnkPointer1_Impl((UnkResourceStruct *) pProfile->mUnk_20[param1]->mUnk_50);
|
||||
}
|
||||
|
||||
class UnkSystem5 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */
|
||||
|
||||
UnkSystem5(void *param1, unk32 param2); // func_ov000_0205778c
|
||||
|
||||
void func_01ffc3b4();
|
||||
|
||||
void func_ov000_020577a4(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_020577f8(unk32 param1);
|
||||
};
|
||||
|
||||
// related to UnkSystem5?
|
||||
class UnkSystem6 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
UnkSystem6() {}
|
||||
|
||||
// data_ov000_020b1a98
|
||||
/* 00 */ virtual ~UnkSystem6();
|
||||
/* 08 */ virtual void vfunc_08(void *param1); // resource thing like UnkSystem4?
|
||||
/* 0C */ virtual void vfunc_0C() = 0;
|
||||
/* 10 */ virtual void vfunc_10() = 0;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) = 0;
|
||||
/* 18 */ virtual void vfunc_18() = 0;
|
||||
/* 1C */
|
||||
};
|
||||
|
||||
class UnkSystem6_Derived1 : public UnkSystem6 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ void *mUnk_04;
|
||||
|
||||
UnkSystem6_Derived1(void *ptr) :
|
||||
mUnk_04(ptr) {}
|
||||
|
||||
// data_ov000_020b1a48
|
||||
/* 00 */ virtual ~UnkSystem6_Derived1() override {}
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
};
|
||||
|
||||
class UnkSystem6_Derived2 : public UnkSystem6_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 08 */
|
||||
|
||||
UnkSystem6_Derived2() :
|
||||
UnkSystem6_Derived1(NULL) {}
|
||||
|
||||
UnkSystem6_Derived2(void *ptr) :
|
||||
UnkSystem6_Derived1(ptr) {}
|
||||
|
||||
// data_ov000_020b1968
|
||||
/* 00 */ virtual ~UnkSystem6_Derived2() {}
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
};
|
||||
|
||||
class MapObject;
|
||||
|
||||
struct UnkStackStruct1 {
|
||||
@@ -1283,3 +1104,73 @@ struct InputInformations {
|
||||
void *unk_08;
|
||||
void *unk_0C;
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base_18 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base_18(); // func_02016620
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base_20 {
|
||||
public:
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base_20(unk32 param1, unk32 param2, unk32 param3, unk32 param4,
|
||||
unk32 param5); // func_020153fc
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base_54 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base_54();
|
||||
~MapObjectProfile_Derived2_20_Base_54();
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived2_20_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ const char *mDirName;
|
||||
/* 08 */ const char *mArchiveName;
|
||||
/* 0C */ void *mUnk_0C;
|
||||
/* 10 */ void *mUnk_10;
|
||||
/* 14 */ u8 mUnk_14;
|
||||
/* 15 */ u8 mUnk_15;
|
||||
/* 16 */ u8 mUnk_16;
|
||||
/* 17 */ u8 mUnk_17;
|
||||
/* 18 */ MapObjectProfile_Derived2_20_Base_18 mUnk_18;
|
||||
/* 20 */ MapObjectProfile_Derived2_20_Base_20 mUnk_20;
|
||||
/* 2C */ UnkFileSystem3 mUnk_2C;
|
||||
/* 3C */ UnkFileSystem5 mUnk_3C;
|
||||
/* 50 */ BMDSectionModel *mUnk_50;
|
||||
/* 54 */ MapObjectProfile_Derived2_20_Base_54 mUnk_54[4];
|
||||
/* 94 */
|
||||
|
||||
MapObjectProfile_Derived2_20_Base(const char *directory, const char *archiveName, const char *param3, const char *param4,
|
||||
unk32 param5,
|
||||
unk32 param6); // func_ov000_02058540
|
||||
|
||||
// data_ov000_020b1b14
|
||||
/* 00 */ virtual ~MapObjectProfile_Derived2_20_Base();
|
||||
/* 08 */
|
||||
|
||||
void func_ov000_020586b4(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
void func_ov000_020588f0(void);
|
||||
void func_ov000_02058900(void);
|
||||
void func_ov000_02058914(unk32 param1);
|
||||
void func_ov000_020589e4(void);
|
||||
unk32 func_ov000_02058a24();
|
||||
void unc_ov000_02058a58(void);
|
||||
unk32 func_ov000_02058a84(unk32 param1, const char *param2);
|
||||
void func_ov000_02058ab0(void);
|
||||
};
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <nns/g3d/g3d.h>
|
||||
|
||||
#define GET_PROFILE(T) (&ProfileInstance<T>::sProfile)
|
||||
#define GET_PROFILE_20(T) (&ProfileInstance<T>::sProfile.mUnk_20)
|
||||
#define GET_PROFILE_20_50(T) (ProfileInstance<T>::sProfile.mUnk_20.mUnk_50)
|
||||
@@ -14,3 +16,13 @@
|
||||
template <typename T> struct ProfileInstance {
|
||||
static T sProfile;
|
||||
};
|
||||
|
||||
template <typename T> static inline G3d_Model *GetModelFromProfile() {
|
||||
return G3d_GetModelPtr((BMDSectionModel *) GET_PROFILE_20_50(T));
|
||||
}
|
||||
|
||||
template <typename T> static inline G3d_Model *GetModelFromProfile2(s32 param1, u32 resId) {
|
||||
T *pProfile = GET_PROFILE(T);
|
||||
pProfile->func_ov000_0209ccd8(param1, resId);
|
||||
return G3d_GetModelPtr((BMDSectionModel *) pProfile->mUnk_20[param1]->mUnk_50);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user