mirror of
https://github.com/zeldaret/st
synced 2026-06-17 15:16:49 -04:00
Identify model-related structures (#75)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user