Identify model-related structures (#75)

This commit is contained in:
Yanis
2026-06-04 21:57:16 +02:00
committed by GitHub
parent 5a892963cd
commit 14cae7cbb1
29 changed files with 354 additions and 347 deletions
+1 -1
View File
@@ -125,7 +125,7 @@ func_01ffc3d4 kind:function(arm,size=0x88) addr:0x01ffc3d4
func_01ffc45c kind:function(arm,size=0x70) addr:0x01ffc45c
func_01ffc4cc kind:function(arm,size=0x54) addr:0x01ffc4cc
func_01ffc520 kind:function(arm,size=0x5c) addr:0x01ffc520
_ZN10UnkSystem48vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
_ZN11ModelRender8vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
func_01ffc5a0 kind:function(arm,size=0x94) addr:0x01ffc5a0
func_01ffc634 kind:function(arm,size=0xa0) addr:0x01ffc634
func_01ffc6d4 kind:function(arm,size=0x70) addr:0x01ffc6d4
+18 -18
View File
@@ -66,7 +66,7 @@ _ZN19func_ov000_02057734D0Ev kind:function(arm,size=0x1c) addr:0x02057734
func_ov000_02057750 kind:function(thumb,size=0xc) addr:0x02057750
func_ov000_0205775c kind:function(thumb,size=0x20) addr:0x0205775c
func_ov000_0205777c kind:function(thumb,size=0xe) addr:0x0205777c
_ZN10UnkSystem5C1EPvi kind:function(thumb,size=0x18) addr:0x0205778c
_ZN10UnkSystem5C1EPvP10G3d_Model_ kind:function(thumb,size=0x18) addr:0x0205778c
_ZN10UnkSystem519func_ov000_020577a4Eiii kind:function(arm,size=0x54) addr:0x020577a4
_ZN10UnkSystem519func_ov000_020577f8Ei kind:function(arm,size=0x38) addr:0x020577f8
func_ov000_02057830 kind:function(arm,size=0x3c) addr:0x02057830
@@ -90,15 +90,15 @@ func_ov000_02057af4 kind:function(arm,size=0x14) addr:0x02057af4
_ZN19func_ov000_02057b08D0Ev kind:function(arm,size=0x1c) addr:0x02057b08
_ZN19func_ov000_02057b24D1Ev kind:function(arm,size=0x14) addr:0x02057b24
_ZN19func_ov000_02057b38D0Ev kind:function(arm,size=0x1c) addr:0x02057b38
_ZN10UnkSystem4C2Ei kind:function(thumb,size=0x1c) addr:0x02057b54
_ZN10UnkSystem4C1Ei kind:function(thumb,size=0x1c) addr:0x02057b70
_ZN10UnkSystem4D1Ev kind:function(thumb,size=0x20) addr:0x02057b8c
_ZN10UnkSystem4D0Ev kind:function(thumb,size=0x28) addr:0x02057bac
_ZN10UnkSystem4D2Ev kind:function(thumb,size=0x20) addr:0x02057bd4
_ZN10UnkSystem48vfunc_08Ei kind:function(arm,size=0x20) addr:0x02057bf4
_ZN11ModelRenderC2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x02057b54
_ZN11ModelRenderC1EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x02057b70
_ZN11ModelRenderD1Ev kind:function(thumb,size=0x20) addr:0x02057b8c
_ZN11ModelRenderD0Ev kind:function(thumb,size=0x28) addr:0x02057bac
_ZN11ModelRenderD2Ev kind:function(thumb,size=0x20) addr:0x02057bd4
_ZN11ModelRender8vfunc_08EP10G3d_Model_ kind:function(arm,size=0x20) addr:0x02057bf4
func_ov000_02057c14 kind:function(arm,size=0x20) addr:0x02057c14
_ZN10UnkSystem48vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x4) addr:0x02057c34
_ZN10UnkSystem419func_ov000_02057c38Eii kind:function(arm,size=0x34) addr:0x02057c38
_ZN11ModelRender8vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x4) addr:0x02057c34
_ZN11ModelRender19func_ov000_02057c38Eii kind:function(arm,size=0x34) addr:0x02057c38
func_ov000_02057c6c kind:function(arm,size=0x2c) addr:0x02057c6c
func_ov000_02057c98 kind:function(arm,size=0x18) addr:0x02057c98
func_ov000_02057cb0 kind:function(arm,size=0x18) addr:0x02057cb0
@@ -107,14 +107,14 @@ func_ov000_02057cf4 kind:function(arm,size=0x2c) addr:0x02057cf4
func_ov000_02057d20 kind:function(thumb,size=0x1c) addr:0x02057d20
func_ov000_02057d3c kind:function(arm,size=0x30) addr:0x02057d3c
func_ov000_02057d6c kind:function(arm,size=0x18) addr:0x02057d6c
_ZN10UnkSystem48vfunc_20Ev kind:function(arm,size=0x18) addr:0x02057d84
_ZN11ModelRender8vfunc_20Ev kind:function(arm,size=0x18) addr:0x02057d84
func_ov000_02057d9c kind:function(arm,size=0x2c) addr:0x02057d9c
_ZN10UnkSystem48vfunc_10Ev kind:function(arm,size=0x7c) addr:0x02057dc8
_ZN10UnkSystem48vfunc_14Ev kind:function(arm,size=0x64) addr:0x02057e44
_ZN10UnkSystem48vfunc_18Ev kind:function(arm,size=0x1c) addr:0x02057ea8
_ZN10UnkSystem6D1Ev kind:function(thumb,size=0x2) addr:0x02057ec4
_ZN10UnkSystem6D0Ev kind:function(thumb,size=0xc) addr:0x02057ec8
_ZN10UnkSystem6D2Ev kind:function(thumb,size=0x2) addr:0x02057ed4
_ZN11ModelRender8vfunc_10Ev kind:function(arm,size=0x7c) addr:0x02057dc8
_ZN11ModelRender8vfunc_14EP5Mat3pP7VecFx32 kind:function(arm,size=0x64) addr:0x02057e44
_ZN11ModelRender8vfunc_18Ev kind:function(arm,size=0x1c) addr:0x02057ea8
_ZN15ModelRenderBaseD1Ev kind:function(thumb,size=0x2) addr:0x02057ec4
_ZN15ModelRenderBaseD0Ev kind:function(thumb,size=0xc) addr:0x02057ec8
_ZN15ModelRenderBaseD2Ev kind:function(thumb,size=0x2) addr:0x02057ed4
func_ov000_02057ed8 kind:function(arm,size=0x8) addr:0x02057ed8
func_ov000_02057ee0 kind:function(arm,size=0x14) addr:0x02057ee0
func_ov000_02057ef4 kind:function(arm,size=0x24) addr:0x02057ef4
@@ -144,7 +144,7 @@ _ZN19func_ov000_02058390D0Ev kind:function(arm,size=0x1c) addr:0x02058390
_ZN19func_ov000_020583acD2Ev kind:function(arm,size=0x14) addr:0x020583ac
func_ov000_020583c0 kind:function(arm,size=0x138) addr:0x020583c0
func_ov000_020584f8 kind:function(arm,size=0x48) addr:0x020584f8
_ZN33MapObjectProfile_Derived2_20_BaseC2EPKcPvS2_S2_ii kind:function(thumb,size=0x84) addr:0x02058540
_ZN33MapObjectProfile_Derived2_20_BaseC2EPKcS1_S1_S1_ii kind:function(thumb,size=0x84) addr:0x02058540
func_ov000_020585c4 kind:function(thumb,size=0x14) addr:0x020585c4
_ZN33MapObjectProfile_Derived2_20_BaseD1Ev kind:function(thumb,size=0x48) addr:0x020585d8
_ZN33MapObjectProfile_Derived2_20_BaseD0Ev kind:function(thumb,size=0x4c) addr:0x02058620
@@ -3024,7 +3024,7 @@ _ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8ae0Ei kind:function(arm,size=0x14)
func_ov000_020a8af4 kind:function(arm,size=0x54) addr:0x020a8af4
func_ov000_020a8b48 kind:function(arm,size=0x34) addr:0x020a8b48
func_ov000_020a8b7c kind:function(arm,size=0x34) addr:0x020a8b7c
_ZN23ActorUnk_ov000_020a8bb0C1EP10UnkSystem4i kind:function(arm,size=0x110) addr:0x020a8bb0
_ZN23ActorUnk_ov000_020a8bb0C1EP11ModelRenderi kind:function(arm,size=0x110) addr:0x020a8bb0
_ZN23ActorUnk_ov000_020a8bb0D1Ev kind:function(arm,size=0x20) addr:0x020a8cc0
_ZN23ActorUnk_ov000_020a8bb0D0Ev kind:function(arm,size=0x28) addr:0x020a8ce0
_ZN23ActorUnk_ov000_020a8bb0D2Ev kind:function(arm,size=0x20) addr:0x020a8d08
+1 -1
View File
@@ -1381,7 +1381,7 @@ _ZN19MapObjectDoorSwitch8vfunc_6CEv kind:function(arm,size=0x20) addr:0x020ff110
_ZN19MapObjectDoorSwitch8vfunc_14Ev kind:function(arm,size=0x80) addr:0x020ff130
_ZN19MapObjectDoorSwitch8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x020ff1b0
_ZN19MapObjectDoorSwitch8vfunc_74Ev kind:function(arm,size=0xcc) addr:0x020ff1bc
_ZN19MapObjectDoorSwitch9vfunc2_10Ev kind:function(arm,size=0x50) addr:0x020ff288
_ZN19MapObjectDoorSwitch8GetModelEv kind:function(arm,size=0x50) addr:0x020ff288
_ZN19MapObjectDoorSwitch8vfunc_50Ev kind:function(arm,size=0x40) addr:0x020ff2d8
_ZN19MapObjectDoorSwitch8vfunc_54Ev kind:function(arm,size=0x74) addr:0x020ff318
_ZN19MapObjectDoorSwitch8vfunc_58Ev kind:function(arm,size=0x44) addr:0x020ff38c
+1 -1
View File
@@ -125,7 +125,7 @@ func_01ffc3d4 kind:function(arm,size=0x88) addr:0x01ffc3d4
func_01ffc45c kind:function(arm,size=0x70) addr:0x01ffc45c
func_01ffc4cc kind:function(arm,size=0x54) addr:0x01ffc4cc
func_01ffc520 kind:function(arm,size=0x5c) addr:0x01ffc520
_ZN10UnkSystem48vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
_ZN11ModelRender8vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
func_01ffc5a0 kind:function(arm,size=0x94) addr:0x01ffc5a0
func_01ffc634 kind:function(arm,size=0xa0) addr:0x01ffc634
func_01ffc6d4 kind:function(arm,size=0x70) addr:0x01ffc6d4
+16 -16
View File
@@ -66,7 +66,7 @@ _ZN19func_ov000_02058cb4D0Ev kind:function(arm,size=0x1c) addr:0x02058cb4
func_ov000_02058cd0 kind:function(thumb,size=0xc) addr:0x02058cd0
func_ov000_02058cdc kind:function(thumb,size=0x20) addr:0x02058cdc
func_ov000_02058cfc kind:function(thumb,size=0xe) addr:0x02058cfc
_ZN10UnkSystem5C1EPvi kind:function(thumb,size=0x18) addr:0x02058d0c
_ZN10UnkSystem5C1EPvP10G3d_Model_ kind:function(thumb,size=0x18) addr:0x02058d0c
_ZN10UnkSystem519func_ov000_020577a4Eiii kind:function(arm,size=0x54) addr:0x02058d24
_ZN10UnkSystem519func_ov000_020577f8Ei kind:function(arm,size=0x38) addr:0x02058d78
func_ov000_02058db0 kind:function(arm,size=0x3c) addr:0x02058db0
@@ -90,15 +90,15 @@ func_ov000_02059074 kind:function(arm,size=0x14) addr:0x02059074
_ZN19func_ov000_02059088D0Ev kind:function(arm,size=0x1c) addr:0x02059088
_ZN19func_ov000_020590a4D1Ev kind:function(arm,size=0x14) addr:0x020590a4
_ZN19func_ov000_020590b8D0Ev kind:function(arm,size=0x1c) addr:0x020590b8
_ZN10UnkSystem4C2Ei kind:function(thumb,size=0x1c) addr:0x020590d4
_ZN10UnkSystem4C1Ei kind:function(thumb,size=0x1c) addr:0x020590f0
_ZN10UnkSystem4D1Ev kind:function(thumb,size=0x20) addr:0x0205910c
_ZN10UnkSystem4D0Ev kind:function(thumb,size=0x28) addr:0x0205912c
_ZN10UnkSystem4D2Ev kind:function(thumb,size=0x20) addr:0x02059154
_ZN10UnkSystem48vfunc_08Ei kind:function(arm,size=0x20) addr:0x02059174
_ZN11ModelRenderC2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x020590d4
_ZN11ModelRenderC1EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x020590f0
_ZN11ModelRenderD1Ev kind:function(thumb,size=0x20) addr:0x0205910c
_ZN11ModelRenderD0Ev kind:function(thumb,size=0x28) addr:0x0205912c
_ZN11ModelRenderD2Ev kind:function(thumb,size=0x20) addr:0x02059154
_ZN11ModelRender8vfunc_08EP10G3d_Model_ kind:function(arm,size=0x20) addr:0x02059174
func_ov000_02059194 kind:function(arm,size=0x20) addr:0x02059194
_ZN10UnkSystem48vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x4) addr:0x020591b4
_ZN10UnkSystem419func_ov000_02057c38Eii kind:function(arm,size=0x34) addr:0x020591b8
_ZN11ModelRender8vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x4) addr:0x020591b4
_ZN11ModelRender19func_ov000_02057c38Eii kind:function(arm,size=0x34) addr:0x020591b8
func_ov000_020591ec kind:function(arm,size=0x2c) addr:0x020591ec
func_ov000_02059218 kind:function(arm,size=0x18) addr:0x02059218
func_ov000_02059230 kind:function(arm,size=0x18) addr:0x02059230
@@ -107,14 +107,14 @@ func_ov000_02059274 kind:function(arm,size=0x2c) addr:0x02059274
func_ov000_020592a0 kind:function(thumb,size=0x1c) addr:0x020592a0
func_ov000_020592bc kind:function(arm,size=0x30) addr:0x020592bc
func_ov000_020592ec kind:function(arm,size=0x18) addr:0x020592ec
_ZN10UnkSystem48vfunc_20Ev kind:function(arm,size=0x18) addr:0x02059304
_ZN11ModelRender8vfunc_20Ev kind:function(arm,size=0x18) addr:0x02059304
func_ov000_0205931c kind:function(arm,size=0x2c) addr:0x0205931c
_ZN10UnkSystem48vfunc_10Ev kind:function(arm,size=0x7c) addr:0x02059348
_ZN10UnkSystem48vfunc_14Ev kind:function(arm,size=0x64) addr:0x020593c4
_ZN10UnkSystem48vfunc_18Ev kind:function(arm,size=0x1c) addr:0x02059428
_ZN11ModelRender8vfunc_10Ev kind:function(arm,size=0x7c) addr:0x02059348
_ZN11ModelRender8vfunc_14EP5Mat3pP7VecFx32 kind:function(arm,size=0x64) addr:0x020593c4
_ZN11ModelRender8vfunc_18Ev kind:function(arm,size=0x1c) addr:0x02059428
func_ov000_02059444 kind:function(thumb,size=0x2) addr:0x02059444
_ZN19func_ov000_02059448D0Ev kind:function(thumb,size=0xc) addr:0x02059448
_ZN10UnkSystem6D2Ev kind:function(thumb,size=0x2) addr:0x02059454
_ZN15ModelRenderBaseD2Ev kind:function(thumb,size=0x2) addr:0x02059454
func_ov000_02059458 kind:function(arm,size=0x8) addr:0x02059458
func_ov000_02059460 kind:function(arm,size=0x14) addr:0x02059460
func_ov000_02059474 kind:function(arm,size=0x24) addr:0x02059474
@@ -144,7 +144,7 @@ _ZN19func_ov000_02059910D0Ev kind:function(arm,size=0x1c) addr:0x02059910
_ZN19func_ov000_0205992cD2Ev kind:function(arm,size=0x14) addr:0x0205992c
func_ov000_02059940 kind:function(arm,size=0x138) addr:0x02059940
func_ov000_02059a78 kind:function(arm,size=0x48) addr:0x02059a78
_ZN33MapObjectProfile_Derived2_20_BaseC2EPKcPvS2_S2_ii kind:function(thumb,size=0x84) addr:0x02059ac0
_ZN33MapObjectProfile_Derived2_20_BaseC2EPKcS1_S1_S1_ii kind:function(thumb,size=0x84) addr:0x02059ac0
func_ov000_02059b44 kind:function(thumb,size=0x14) addr:0x02059b44
_ZN33MapObjectProfile_Derived2_20_BaseD1Ev kind:function(thumb,size=0x48) addr:0x02059b58
_ZN33MapObjectProfile_Derived2_20_BaseD0Ev kind:function(thumb,size=0x4c) addr:0x02059ba0
@@ -3023,7 +3023,7 @@ _ZN23ActorUnk_ov000_020a8bb019func_ov000_020a8ae0Ei kind:function(arm,size=0x14)
func_ov000_020aa2f4 kind:function(arm,size=0x54) addr:0x020aa2f4
func_ov000_020aa348 kind:function(arm,size=0x34) addr:0x020aa348
func_ov000_020aa37c kind:function(arm,size=0x34) addr:0x020aa37c
_ZN23ActorUnk_ov000_020a8bb0C1EP10UnkSystem4i kind:function(arm,size=0x110) addr:0x020aa3b0
_ZN23ActorUnk_ov000_020a8bb0C1EP11ModelRenderi kind:function(arm,size=0x110) addr:0x020aa3b0
_ZN23ActorUnk_ov000_020a8bb0D1Ev kind:function(arm,size=0x20) addr:0x020aa4c0
_ZN23ActorUnk_ov000_020a8bb0D0Ev kind:function(arm,size=0x28) addr:0x020aa4e0
_ZN23ActorUnk_ov000_020a8bb0D2Ev kind:function(arm,size=0x20) addr:0x020aa508
+1 -1
View File
@@ -1380,7 +1380,7 @@ _ZN19MapObjectDoorSwitch8vfunc_6CEv kind:function(arm,size=0x20) addr:0x02100c38
_ZN19MapObjectDoorSwitch8vfunc_14Ev kind:function(arm,size=0x80) addr:0x02100c58
_ZN19MapObjectDoorSwitch8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x02100cd8
_ZN19MapObjectDoorSwitch8vfunc_74Ev kind:function(arm,size=0xcc) addr:0x02100ce4
_ZN19MapObjectDoorSwitch9vfunc2_10Ev kind:function(arm,size=0x50) addr:0x02100db0
_ZN19MapObjectDoorSwitch8GetModelEv kind:function(arm,size=0x50) addr:0x02100db0
_ZN19MapObjectDoorSwitch8vfunc_50Ev kind:function(arm,size=0xec) addr:0x02100e00
_ZN19MapObjectDoorSwitch8vfunc_54Ev kind:function(arm,size=0x170) addr:0x02100eec
_ZN19MapObjectDoorSwitch8vfunc_58Ev kind:function(arm,size=0xbc) addr:0x0210105c
+3 -2
View File
@@ -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);
+1
View File
@@ -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"
+3 -2
View File
@@ -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 -2
View File
@@ -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 -1
View File
@@ -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;
+2 -1
View File
@@ -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 */
+119
View File
@@ -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
View File
@@ -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);
};
+12
View File
@@ -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);
}
+59
View File
@@ -1,4 +1,11 @@
#pragma once
#include <nitro/math.h>
#include <nitro/types.h>
#ifdef __cplusplus
extern "C" {
#endif
struct G3d_RenderState_;
typedef void (*G3d_CallbackFunction)(struct G3d_RenderState_ *);
@@ -163,3 +170,55 @@ typedef struct G3d_MaterialAnimation_ {
extern void *G3d_gScaleHandlers[3];
extern void *G3d_gSRTTransformHandlers[3];
extern void *G3d_gTextureHandlers[4];
typedef struct BMDHeader {
/* 00 */ u32 type; // always 'BMD0'
/* 04 */ u16 byteOrder; // 0xFEFF
/* 06 */ u16 version; // always 2
/* 08 */ size_t fileSize;
/* 0C */ u16 headerSize; // excluding the section offsets (always 0x10)
/* 0E */ u16 numSections; // 1 for 'MDL0' or 2 for 'MDL0' + 'TEX0'
/* 10 */ u32 offsetMDL0; // from the beginning of the file
/* 14 */ u32 offsetTEX0; // from the beginning of the file
} BMDHeader;
typedef struct BMDSectionHeader {
/* 00 */ u32 type;
/* 04 */ size_t sectionSize;
} BMDSectionHeader;
typedef struct BMDSectionModel {
/* 00 */ BMDSectionHeader header; // type will be 'MDL0'
/* 08 */ G3d_NameList modelList;
} BMDSectionModel;
static inline u32 *G3d_GetModelOffsetPtr(const BMDSectionModel *pSection, u8 modelIndex) {
const G3d_NameList *pList = &pSection->modelList;
if (pList != NULL && modelIndex < pSection->modelList.numElmnts) {
G3d_NameList_Header *pHeader = (G3d_NameList_Header *) ((u8 *) pList + pSection->modelList.ofsHeader);
return (u32 *) ((u8 *) pHeader + offsetof(G3d_NameList_Header, data) + pHeader->element_size * modelIndex);
}
return NULL;
}
static inline G3d_Model *G3d_GetModelVariantPtr(const BMDSectionModel *pSection, u8 modelIndex) {
if (pSection != NULL) {
u32 *pOffset = G3d_GetModelOffsetPtr(pSection, modelIndex);
if (pOffset != NULL) {
return (G3d_Model *) ((u8 *) pSection + *pOffset);
}
}
return NULL;
}
static inline G3d_Model *G3d_GetModelPtr(const BMDSectionModel *pSection) {
return G3d_GetModelVariantPtr(pSection, 0);
}
#ifdef __cplusplus
} // extern "C"
#endif
@@ -14,7 +14,7 @@ ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ae0(fx32 param1) {
this->mVel.y = posY;
}
ARM ActorUnk_ov000_020a8bb0::ActorUnk_ov000_020a8bb0(UnkSystem4 *param1, unk32 param2) {
ARM ActorUnk_ov000_020a8bb0::ActorUnk_ov000_020a8bb0(ModelRender *param1, unk32 param2) {
unk32 uVar2;
this->mUnk_0B0 = 0;
@@ -76,30 +76,8 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
break;
}
UnkResourceStruct *ptr = GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mUnk_00[1])->mUnk_50;
void *var_r1;
if (ptr != NULL) {
u16 *temp_r1 = (u16 *) ((u8 *) ptr + 8);
u32 *var_r0;
if (temp_r1 != NULL && uVar6 < ptr->mUnk_09) {
u32 unk_0E = ptr->mUnk_0E;
u16 temp = *((u16 *) ((u8 *) temp_r1 + unk_0E));
var_r0 = (u32 *) ((u8 *) temp_r1 + unk_0E + 4 + temp * uVar6);
} else {
var_r0 = NULL;
}
if (var_r0 != NULL) {
var_r1 = (void *) ((u8 *) ptr + *var_r0);
goto next;
}
}
var_r1 = NULL;
next:
this->mUnk_40.vfunc_08(var_r1);
BMDSectionModel *pSectionModel = GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mUnk_00[1])->mUnk_50;
this->mUnk_40.vfunc_08(G3d_GetModelVariantPtr(pSectionModel, uVar6));
unk32 var_r0_2;
unk32 var_r0;
@@ -8,9 +8,10 @@ unk32 func_02012fa8(const char *);
}
ARM MapObjectProfile_Derived2_20::MapObjectProfile_Derived2_20(MapObjectId mapObjId2) :
MapObjectProfile_Derived2_20_Base("MapObj", &mUnk_94, &mUnk_94, &mUnk_94, 0, 0),
mUnk_94(0),
mUnk_98(0),
MapObjectProfile_Derived2_20_Base("MapObj", (const char *) &mUnk_94, (const char *) &mUnk_94, (const char *) &mUnk_94, 0,
0),
unk_94(0),
unk_98(0),
mUnk_B0(false),
mUnk_B1(0) {
func_02015ea8(mapObjId2, &this->mUnk_94);
@@ -31,7 +32,7 @@ ARM void MapObjectProfile_Derived2_20::func_ov000_0209cef0() {
strncpy(&path[0], "MapObj/", sizeof(path) - 1);
curLength = strlen(path);
strncpy(&path[curLength], this->mUnk_08, sizeof(path) - 1 - curLength);
strncpy(&path[curLength], this->mArchiveName, sizeof(path) - 1 - curLength);
const char *ext = ".zcb";
curLength = strlen(path);
@@ -32,13 +32,13 @@ ARM MapObjectProfileSwitchStep::MapObjectProfileSwitchStep() :
this->mUnk_D4.mUnk_18.y = FLOAT_TO_FX32(0.5f);
this->mUnk_D4.mUnk_18.z = FLOAT_TO_FX32(0.5f);
this->mUnk_06 = 1;
this->mUnk_0C = 0xC00;
this->mUnk_20.mUnk_0C.mUnk_09 = 1;
this->mUnk_06 = 1;
this->mUnk_0C = 0xC00;
this->mUnk_20.mUnk_15 = 1;
}
ARM MapObjectSwitchStep_40::MapObjectSwitchStep_40(void) :
UnkSystem4(0) {
ModelRender(NULL) {
this->mUnk_60 = 0;
this->mUnk_62 = true;
this->func_ov000_0209dde0();
@@ -81,15 +81,15 @@ ARM void MapObjectSwitchStep_40::vfunc_1C(UnkSystem4_vfunc_1C *param1) {
}
ARM MapObjectSwitchStep::MapObjectSwitchStep() :
mUnk_A4(&mUnk_C4, 0) {
mUnk_A4(&mUnk_C4, NULL) {
this->mUnk_E4 = 0;
this->mUnk_E6 = 0;
this->mUnk_E8 = 0;
this->mUnk_EA = 0;
this->mUnk_EB = 0;
this->mUnk_40.vfunc_08(GetUnkPointer1<MapObjectProfileSwitchStep>());
this->mUnk_A4.mUnk_00 = this->mUnk_40.mUnk_04;
this->mUnk_40.vfunc_08(GetModelFromProfile<MapObjectProfileSwitchStep>());
this->mUnk_A4.mpModel = this->mUnk_40.mpModel;
MapObjectProfile_Derived2_20 *temp_r6 = GET_PROFILE_20(MapObjectProfileSwitchStep);
unk32 temp_r5 = temp_r6->func_ov000_02058a24();
@@ -7,7 +7,7 @@
#pragma readonly_strings on
extern "C" unk32 func_0200f218(unk32, const char *);
extern "C" void func_0200b58c(void *);
extern "C" void func_0200b58c(G3d_RenderObject *);
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, void *);
extern "C" void func_01ffcfcc(VecFx32 *, VecFx32 *, VecFx32 *);
@@ -23,8 +23,8 @@ static const Vec2pCpp data_ov031_02115830(0x800, 0x800);
static const UnkStruct_ov031_02117c84 data_ov031_02117c84(0x3C);
static const UnkSubStruct19 data_ov031_02115c84;
ARM MapObjectTreasureSpawned_74::MapObjectTreasureSpawned_74(unk32 param1) :
UnkSystem4(param1),
ARM MapObjectTreasureSpawned_74::MapObjectTreasureSpawned_74(G3d_Model *param1) :
ModelRender(param1),
mUnk_60(1) {}
ARM void MapObjectTreasureSpawned_74::vfunc_1C(UnkSystem4_vfunc_1C *param1) {
@@ -51,7 +51,7 @@ ARM void MapObjectTreasureSpawned_74::vfunc_1C(UnkSystem4_vfunc_1C *param1) {
}
ARM void MapObjectTreasureSpawned_74::func_ov031_0210306c() {
func_0200b58c(&this->mUnk_08);
func_0200b58c(&this->mRenderObj);
}
ARM MapObjectChestBase::MapObjectChestBase(unk32 param1) :
@@ -406,7 +406,7 @@ ARM void MapObjectDoorClick::vfunc_78(void) {
ARM void MapObjectDoorClick::vfunc2_10(void) {
unk32 index = this->mUnk_20.mUnk_00[0];
this->mUnk_94.vfunc_08(GetUnkPointer2<MapObjectProfileDoorClick>(index, data_ov031_02110c1c[index]));
this->mUnk_94.vfunc_08(GetModelFromProfile2<MapObjectProfileDoorClick>(index, data_ov031_02110c1c[index]));
}
ARM void MapObjectDoorClick::vfunc_40(void) {
@@ -37,7 +37,7 @@ ARM MapObjectProfileDoorDangerSpawn::MapObjectProfileDoorDangerSpawn() :
}
ARM MapObjectDoorDangerSpawn::MapObjectDoorDangerSpawn() :
mUnk_94(GetUnkPointer1<MapObjectProfileDoorDangerSpawn>()),
mUnk_94(GetModelFromProfile<MapObjectProfileDoorDangerSpawn>()),
mUnk_9C(1),
mUnk_A0(0),
mUnk_A1(false),
+1 -1
View File
@@ -24,7 +24,7 @@ ARM MapObjectProfileDoorKey::MapObjectProfileDoorKey() :
}
ARM MapObjectDoorKey::MapObjectDoorKey() :
mUnk_94(GetUnkPointer1<MapObjectProfileDoorKey>()),
mUnk_94(GetModelFromProfile<MapObjectProfileDoorKey>()),
mUnk_9C(1),
mUnk_A0(0),
mUnk_A4(false) {
@@ -38,7 +38,7 @@ ARM MapObjectDoorSwitch::MapObjectDoorSwitch() :
}
ARM bool MapObjectDoorSwitch::vfunc_00(void) {
this->mUnk_094.vfunc_08(this->vfunc2_10());
this->mUnk_094.vfunc_08(this->GetModel());
this->func_ov031_020fbf10(true, true);
if (this->mUnk_20.mUnk_00[3] == 1) {
@@ -146,8 +146,8 @@ ARM void MapObjectDoorSwitch::vfunc_74(void) {
}
}
ARM void *MapObjectDoorSwitch::vfunc2_10(void) {
return GetUnkPointer1<MapObjectProfileDoorSwitch>();
ARM G3d_Model *MapObjectDoorSwitch::GetModel(void) {
return GetModelFromProfile<MapObjectProfileDoorSwitch>();
}
ARM void MapObjectDoorSwitch::vfunc_50(void) {
@@ -30,7 +30,7 @@ ARM bool MapObjectDoorTouch::vfunc_00(void) {
ARM void MapObjectDoorTouch::vfunc2_10(void) {
MapObjectProfileDoorTouch *p = GET_PROFILE(MapObjectProfileDoorTouch);
unk32 index = this->mUnk_20.mUnk_00[0];
this->mUnk_94.vfunc_08(GetUnkPointer2<MapObjectProfileDoorTouch>(index, data_ov031_02110c3c[index]));
this->mUnk_94.vfunc_08(GetModelFromProfile2<MapObjectProfileDoorTouch>(index, data_ov031_02110c3c[index]));
}
ARM void MapObjectDoorTouch::vfunc_40(void) {
@@ -20,7 +20,7 @@ ARM MapObjectProfileTreasureSpawned::MapObjectProfileTreasureSpawned() :
ARM MapObjectTreasureSpawned::MapObjectTreasureSpawned() :
MapObjectChestBase(1) {
this->mUnk_074.vfunc_08(GetUnkPointer1<MapObjectProfileTreasureSpawned>());
this->mUnk_074.vfunc_08(GetModelFromProfile<MapObjectProfileTreasureSpawned>());
}
ARM unk32 MapObjectTreasureSpawned::vfunc_3C() {
+5 -5
View File
@@ -35,7 +35,7 @@ extern const char *data_ov000_020aa248; // .nsbmd
extern "C" void func_ov000_0205ca74(unk32);
extern "C" void func_01ffb6e4(unk32, const void *, void *);
extern "C" void func_01ffc5a0(UnkSystem4 *, unk32, u16, void *, unk32);
extern "C" void func_01ffc5a0(ModelRender *, unk32, u16, void *, unk32);
extern "C" void func_ov000_0208f820();
extern "C" unk32 func_ov024_020d5354(unk32 *, u16 *);
extern "C" void func_ov000_02058fc4(unk32 *, UnkStruct_PlayerGet_74 *, VecFx32 *);
@@ -48,7 +48,7 @@ extern "C" void func_020156c8(char *, char *, unk32);
extern "C" void func_020156f4(char *);
extern "C" void func_02015644(char *);
extern "C" UnkResourceStruct *func_ov000_0205abcc(void *, void *, unk32, unk32, unk32);
extern "C" BMDSectionModel *func_ov000_0205abcc(void *, void *, unk32, unk32, unk32);
extern "C" unk32 func_ov000_02077590(unk32);
static const unk32 data_ov110_02185dc4[1] = {8};
@@ -612,9 +612,9 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
strncpy(modelPath + l, data_ov000_020aa240, 0x3F - l);
UnkFileSystem2 fs2(modelPath, 0);
UnkResourceStruct *res = func_ov000_0205abcc((void *) &fs4, (void *) &fs2, 0, 1, this->mUnk_30->mUnk_24);
BMDSectionModel *res = func_ov000_0205abcc((void *) &fs4, (void *) &fs2, 0, 1, this->mUnk_30->mUnk_24);
this->mUnk_8C.vfunc_08(GetUnkPointer1_Impl(res));
this->mUnk_8C.vfunc_08(G3d_GetModelPtr(res));
}
switch (this->mUnk_54.mItemId) {
@@ -1009,7 +1009,7 @@ ARM void PlayerGet::vfunc_18(unk32 param1, unk32 param2, unk32 param3) {
case 0x3A:
break;
case 0x3B:
if (param3 != 0 && this->mUnk_54.mItemId != ItemId_Nothing && this->mUnk_8C.mUnk_04 != 0) {
if (param3 != 0 && this->mUnk_54.mItemId != ItemId_Nothing && this->mUnk_8C.mpModel != NULL) {
VecFx32_Add(this->mUnk_34, (VecFx32 *) &data_ov110_021861ec.mUnk_00, &auStack_18);
func_ov000_02058fc4(data_027e0958, &this->mUnk_74, &auStack_18);
}