mirror of
https://github.com/zeldaret/st
synced 2026-10-06 21:18:11 -04:00
Decompiling MapObjectUnkMTJR (#151)
* feat: Decompile ctors, vfuncs and funcs * feat: Decompile funcs * feat: Add data and deal with bss etc * feat: Sync jp * feat: Add content to empty class * feat: Match vfunc_00 * fix: Actor/MapObject Profile macro access cleanup * feat: Overlay 63 cleanup * fix: Add "non-matching" comments on functions * fix: Remove comment
This commit is contained in:
@@ -92,6 +92,7 @@ src/063_Shrine/MapObject/MapObjectUnkMTJR.cpp:
|
||||
.text start:0x02160e98 end:0x02161430
|
||||
.init start:0x02162da0 end:0x02162df0
|
||||
.ctor start:0x02162e70 end:0x02162e74
|
||||
.data start:0x02163a94 end:0x02163af0
|
||||
.bss start:0x02164800 end:0x02164904
|
||||
|
||||
src/063_Shrine/MapObject/MapObjectUnkSWCR.cpp:
|
||||
|
||||
@@ -1215,12 +1215,12 @@ from:0x02160f4c kind:load to:0x02163858 add:0x8 module:overlay(63)
|
||||
from:0x02160f50 kind:load to:0x02163a94 add:0x8 module:overlay(63)
|
||||
from:0x02160f6c kind:arm_call to:0x0209cfe0 module:overlay(0)
|
||||
from:0x02160fc4 kind:arm_call_thumb to:0x02057b70 module:overlay(0)
|
||||
from:0x02160ff4 kind:load to:0x02163ab8 module:overlay(63)
|
||||
from:0x02160ff4 kind:load to:0x02163ab0 module:overlay(63) add:0x8
|
||||
from:0x02160ff8 kind:load to:0x02164810 module:overlay(63)
|
||||
from:0x0216100c kind:arm_call to:0x0209d29c module:overlay(0)
|
||||
from:0x02161050 kind:arm_call to:0x020a0334 module:overlay(0)
|
||||
from:0x0216105c kind:arm_call to:0x02161254 module:overlay(63)
|
||||
from:0x02161068 kind:load to:0x021648e4 module:overlay(63)
|
||||
from:0x02161068 kind:load to:0x02164810 add:0xd4 module:overlay(63)
|
||||
from:0x0216117c kind:arm_call to:0x020a0220 module:overlay(0)
|
||||
from:0x021611a0 kind:load to:0x02049be4 module:main
|
||||
from:0x021611a8 kind:load to:0x027e0cec module:dtcm
|
||||
@@ -1255,7 +1255,7 @@ from:0x02161480 kind:arm_call to:0x0207c018 module:overlay(0)
|
||||
from:0x021614e0 kind:load to:0x02163820 add:0x8 module:overlay(63)
|
||||
from:0x021614e4 kind:load to:0x02163858 add:0x8 module:overlay(63)
|
||||
from:0x021614e8 kind:load to:0x02163b0c module:overlay(63)
|
||||
from:0x02161508 kind:load to:0x02163af8 module:overlay(63)
|
||||
from:0x02161508 kind:load to:0x02163af0 module:overlay(63) add:0x8
|
||||
from:0x02161518 kind:load to:0x0216153c module:overlay(63)
|
||||
from:0x02161528 kind:load to:0x021615c4 module:overlay(63)
|
||||
from:0x02161538 kind:load to:0x02161638 module:overlay(63)
|
||||
|
||||
@@ -322,13 +322,13 @@ _ZN23MapObjectProfileUnkMTJR10GetProfileEv kind:function(arm,size=0xc) addr:0x02
|
||||
_ZN23MapObjectProfileUnkMTJR6CreateEv kind:function(arm,size=0x24) addr:0x02160ea4
|
||||
_ZN23MapObjectProfileUnkMTJRC1Ev kind:function(arm,size=0x9c) addr:0x02160ec8
|
||||
_ZN16MapObjectUnkMTJRC1Ev kind:function(arm,size=0x98) addr:0x02160f64
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02160ffcEv kind:function(arm,size=0x74) addr:0x02160ffc
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161070Ev kind:function(arm,size=0x13c) addr:0x02161070
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_021611acEv kind:function(arm,size=0x14) addr:0x021611ac
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_021611c0Ev kind:function(arm,size=0x94) addr:0x021611c0
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161254Ev kind:function(arm,size=0x34) addr:0x02161254
|
||||
_ZN16MapObjectUnkMTJR8vfunc_00Ev kind:function(arm,size=0x74) addr:0x02160ffc
|
||||
_ZN16MapObjectUnkMTJR8vfunc_08Ev kind:function(arm,size=0x13c) addr:0x02161070
|
||||
_ZN16MapObjectUnkMTJR8vfunc_0CEv kind:function(arm,size=0x14) addr:0x021611ac
|
||||
_ZN16MapObjectUnkMTJR8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x94) addr:0x021611c0
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161254Ei kind:function(arm,size=0x34) addr:0x02161254
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161288Ev kind:function(arm,size=0xf8) addr:0x02161288
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161380Ev kind:function(arm,size=0x44) addr:0x02161380
|
||||
_ZN16MapObjectUnkMTJR8vfunc_14Ev kind:function(arm,size=0x44) addr:0x02161380
|
||||
_ZN16MapObjectUnkMTJRD1Ev kind:function(arm,size=0x28) addr:0x021613c4
|
||||
_ZN16MapObjectUnkMTJRD0Ev kind:function(arm,size=0x30) addr:0x021613ec
|
||||
_ZN23MapObjectProfileUnkMTJRD1Ev kind:function(arm,size=0x14) addr:0x0216141c
|
||||
@@ -490,9 +490,9 @@ _ZTV28MapObjectProfileUnkLTRW_Base kind:data(any) addr:0x021639f4
|
||||
_ZTV23MapObjectProfileUnkLTRW kind:data(any) addr:0x02163a10
|
||||
_ZTV31MapObjectProfileUnkLTRW_Base_D4 kind:data(any) addr:0x02163a2c
|
||||
_ZTV16MapObjectUnkLTRW kind:data(any) addr:0x02163a54
|
||||
data_ov063_02163a9c kind:data(any) addr:0x02163a94
|
||||
data_ov063_02163ab8 kind:data(any) addr:0x02163ab8
|
||||
data_ov063_02163af8 kind:data(any) addr:0x02163af8
|
||||
_ZTV23MapObjectProfileUnkMTJR kind:data(any) addr:0x02163a94
|
||||
_ZTV16MapObjectUnkMTJR kind:data(any) addr:0x02163ab0
|
||||
data_ov063_02163af8 kind:data(any) addr:0x02163af0
|
||||
data_ov063_02163b0c kind:data(any) addr:0x02163b0c
|
||||
data_ov063_02163b28 kind:data(any) addr:0x02163b28
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkCANSE8sProfileE kind:bss addr:0x02163b60
|
||||
@@ -539,7 +539,6 @@ _ZN15ProfileInstanceI23MapObjectProfileUnkLTRWE8sProfileE kind:bss addr:0x021647
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02164800
|
||||
@12263 kind:bss addr:0x02164804
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02164810
|
||||
data_ov063_021648e4 kind:bss addr:0x021648e4
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkSWCRE8sProfileE kind:bss addr:0x02164904
|
||||
@12269 kind:bss addr:0x02164908
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkSWCRE8sProfileE kind:bss addr:0x02164914
|
||||
|
||||
@@ -92,6 +92,7 @@ src/063_Shrine/MapObject/MapObjectUnkMTJR.cpp:
|
||||
.text start:0x02162cb0 end:0x02163248
|
||||
.init start:0x02164bb8 end:0x02164c08
|
||||
.ctor start:0x02164c88 end:0x02164c8c
|
||||
.data start:0x021658b4 end:0x02165910
|
||||
.bss start:0x02166620 end:0x02166724
|
||||
|
||||
src/063_Shrine/MapObject/MapObjectUnkSWCR.cpp:
|
||||
|
||||
@@ -1223,12 +1223,12 @@ from:0x02162d64 kind:load to:0x02165678 add:0x8 module:overlay(63)
|
||||
from:0x02162d68 kind:load to:0x021658b4 add:0x8 module:overlay(63)
|
||||
from:0x02162d84 kind:arm_call to:0x0209e7a4 module:overlay(0)
|
||||
from:0x02162ddc kind:arm_call_thumb to:0x020590f0 module:overlay(0)
|
||||
from:0x02162e0c kind:load to:0x021658d8 module:overlay(63)
|
||||
from:0x02162e0c kind:load to:0x021658d0 module:overlay(63) add:0x8
|
||||
from:0x02162e10 kind:load to:0x02166630 module:overlay(63)
|
||||
from:0x02162e24 kind:arm_call to:0x0209ea60 module:overlay(0)
|
||||
from:0x02162e68 kind:arm_call to:0x020a1b0c module:overlay(0)
|
||||
from:0x02162e74 kind:arm_call to:0x0216306c module:overlay(63)
|
||||
from:0x02162e80 kind:load to:0x02166704 module:overlay(63)
|
||||
from:0x02162e80 kind:load to:0x02166630 add:0xd4 module:overlay(63)
|
||||
from:0x02162f94 kind:arm_call to:0x020a19f8 module:overlay(0)
|
||||
from:0x02162fb8 kind:load to:0x0204b164 module:main
|
||||
from:0x02162fc0 kind:load to:0x027e0cec module:dtcm
|
||||
@@ -1263,7 +1263,7 @@ from:0x02163298 kind:arm_call to:0x0207d6d0 module:overlay(0)
|
||||
from:0x021632f8 kind:load to:0x02165640 add:0x8 module:overlay(63)
|
||||
from:0x021632fc kind:load to:0x02165678 add:0x8 module:overlay(63)
|
||||
from:0x02163300 kind:load to:0x0216592c module:overlay(63)
|
||||
from:0x02163320 kind:load to:0x02165918 module:overlay(63)
|
||||
from:0x02163320 kind:load to:0x02165910 module:overlay(63) add:0x8
|
||||
from:0x02163330 kind:load to:0x02163354 module:overlay(63)
|
||||
from:0x02163340 kind:load to:0x021633dc module:overlay(63)
|
||||
from:0x02163350 kind:load to:0x02163450 module:overlay(63)
|
||||
|
||||
@@ -324,13 +324,13 @@ _ZN23MapObjectProfileUnkMTJR10GetProfileEv kind:function(arm,size=0xc) addr:0x02
|
||||
_ZN23MapObjectProfileUnkMTJR6CreateEv kind:function(arm,size=0x24) addr:0x02162cbc
|
||||
_ZN23MapObjectProfileUnkMTJRC1Ev kind:function(arm,size=0x9c) addr:0x02162ce0
|
||||
_ZN16MapObjectUnkMTJRC1Ev kind:function(arm,size=0x98) addr:0x02162d7c
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02160ffcEv kind:function(arm,size=0x74) addr:0x02162e14
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161070Ev kind:function(arm,size=0x13c) addr:0x02162e88
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_021611acEv kind:function(arm,size=0x14) addr:0x02162fc4
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_021611c0Ev kind:function(arm,size=0x94) addr:0x02162fd8
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161254Ev kind:function(arm,size=0x34) addr:0x0216306c
|
||||
_ZN16MapObjectUnkMTJR8vfunc_00Ev kind:function(arm,size=0x74) addr:0x02162e14
|
||||
_ZN16MapObjectUnkMTJR8vfunc_08Ev kind:function(arm,size=0x13c) addr:0x02162e88
|
||||
_ZN16MapObjectUnkMTJR8vfunc_0CEv kind:function(arm,size=0x14) addr:0x02162fc4
|
||||
_ZN16MapObjectUnkMTJR8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x94) addr:0x02162fd8
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161254Ei kind:function(arm,size=0x34) addr:0x0216306c
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161288Ev kind:function(arm,size=0xf8) addr:0x021630a0
|
||||
_ZN16MapObjectUnkMTJR19func_ov063_02161380Ev kind:function(arm,size=0x44) addr:0x02163198
|
||||
_ZN16MapObjectUnkMTJR8vfunc_14Ev kind:function(arm,size=0x44) addr:0x02163198
|
||||
_ZN16MapObjectUnkMTJRD1Ev kind:function(arm,size=0x28) addr:0x021631dc
|
||||
_ZN16MapObjectUnkMTJRD0Ev kind:function(arm,size=0x30) addr:0x02163204
|
||||
_ZN23MapObjectProfileUnkMTJRD1Ev kind:function(arm,size=0x14) addr:0x02163234
|
||||
@@ -493,9 +493,9 @@ _ZTV28MapObjectProfileUnkLTRW_Base kind:data(any) addr:0x02165814
|
||||
_ZTV23MapObjectProfileUnkLTRW kind:data(any) addr:0x02165830
|
||||
_ZTV31MapObjectProfileUnkLTRW_Base_D4 kind:data(any) addr:0x0216584c
|
||||
_ZTV16MapObjectUnkLTRW kind:data(any) addr:0x02165874
|
||||
data_ov063_021658bc kind:data(any) addr:0x021658b4
|
||||
data_ov063_021658d8 kind:data(any) addr:0x021658d8
|
||||
data_ov063_02165918 kind:data(any) addr:0x02165918
|
||||
_ZTV23MapObjectProfileUnkMTJR kind:data(any) addr:0x021658b4
|
||||
_ZTV16MapObjectUnkMTJR kind:data(any) addr:0x021658d0
|
||||
data_ov063_02165918 kind:data(any) addr:0x02165910
|
||||
data_ov063_0216592c kind:data(any) addr:0x0216592c
|
||||
data_ov063_02165948 kind:data(any) addr:0x02165948
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkCANSE8sProfileE kind:bss addr:0x02165980
|
||||
@@ -544,7 +544,6 @@ _ZN15ProfileInstanceI23MapObjectProfileUnkLTRWE8sProfileE kind:bss addr:0x021665
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02166620
|
||||
@32269 kind:bss addr:0x02166624
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02166630
|
||||
data_ov063_02166704 kind:bss addr:0x02166704
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkSWCRE8sProfileE kind:bss addr:0x02166724
|
||||
@32275 kind:bss addr:0x02166728
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkSWCRE8sProfileE kind:bss addr:0x02166734
|
||||
|
||||
@@ -1,36 +1,41 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "global.h"
|
||||
#include "MapObject/MapObjectUnkSTAT.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectUnkMTJR : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 40 */ ModelRender mUnk_40;
|
||||
/* A0 */ unk32 mUnk_A0;
|
||||
/* A4 */ volatile u16 mUnk_A4; // Probably a counter
|
||||
/* A6 */ u16 mUnk_A6; // Counter (mUnk_A4) bound
|
||||
/* A8 */ UnkSystem7 mUnk_A8;
|
||||
/* AC */ unk32 mUnk_AC;
|
||||
/* B0 */ unk32 mUnk_B0;
|
||||
|
||||
MapObjectUnkMTJR();
|
||||
|
||||
/* 30 */ virtual ~MapObjectUnkMTJR() override;
|
||||
/* 00 */ virtual bool vfunc_00() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
|
||||
|
||||
void func_ov063_02160ffc(void);
|
||||
void func_ov063_02161070(void);
|
||||
void func_ov063_021611ac(void);
|
||||
void func_ov063_021611c0(void);
|
||||
void func_ov063_02161254(void);
|
||||
void func_ov063_02161254(unk32 param1);
|
||||
void func_ov063_02161288(void);
|
||||
void func_ov063_02161380(void);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkMTJR : public MapObjectProfile {
|
||||
class MapObjectProfileUnkMTJR : public MapObjectProfileUnkSTAT_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkMTJR();
|
||||
~MapObjectProfileUnkMTJR();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
|
||||
|
||||
@@ -40,6 +40,10 @@ public:
|
||||
|
||||
class MapObjectProfileUnkSTAT_Base_D4 : public MapObject_10 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 24 */
|
||||
|
||||
MapObjectProfileUnkSTAT_Base_D4() {}
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSTAT_Base : public MapObjectProfile_Derived2 {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d38.hpp"
|
||||
#include "profile.hpp"
|
||||
|
||||
extern "C" fx32 func_01ffb464(fx32);
|
||||
extern "C" void func_01ff9218(fx32 *, fx32, fx32);
|
||||
@@ -30,7 +31,7 @@ MapObjectProfileBombFlower::MapObjectProfileBombFlower() :
|
||||
|
||||
// non-matching
|
||||
MapObjectBombFlower::MapObjectBombFlower() :
|
||||
mUnk_48(G3d_GetModelPtr(GET_PROFILE(MapObjectProfileBombFlower)->mUnk_20.mUnk_50), 0x0, 0x0),
|
||||
mUnk_48(G3d_GetModelPtr(GET_PROFILE_20_50(MapObjectProfileBombFlower)), 0x0, 0x0),
|
||||
mUnk_B4(0x1000),
|
||||
mUnk_B8(0x0),
|
||||
mUnk_BA(0x0),
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "Unknown/UnkStruct_027e0d38.hpp"
|
||||
|
||||
#include "limits.h"
|
||||
#include "profile.hpp"
|
||||
|
||||
extern "C" MapObject_10_Pot data_ov031_02118010;
|
||||
|
||||
@@ -43,7 +44,7 @@ ModelRender_ov000_020b198c::ModelRender_ov000_020b198c(G3d_Model *pModel, unk8 p
|
||||
|
||||
// non-matching
|
||||
MapObjectPot::MapObjectPot() :
|
||||
mUnk_48(G3d_GetModelPtr(GET_PROFILE(MapObjectProfilePot)->mUnk_20.mUnk_50), 0x1) {
|
||||
mUnk_48(G3d_GetModelPtr(GET_PROFILE_20_50(MapObjectProfilePot)), 0x1) {
|
||||
this->mUnk_40 = ActorId_NTUB;
|
||||
this->mUnk_10 = &data_ov031_02118010;
|
||||
SET_FLAG(this->mFlags, MapObjFlag_8);
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5214.hpp"
|
||||
#include "profile.hpp"
|
||||
|
||||
extern const char data_ov031_02110ce0;
|
||||
|
||||
@@ -40,7 +41,7 @@ MapObjectUnkSWHT::MapObjectUnkSWHT() :
|
||||
mUnk_0F4(NULL),
|
||||
mUnk_0F8(-0x1),
|
||||
mUnk_0FC(0x0) {
|
||||
this->mUnk_054.vfunc_08(G3d_GetModelPtr(GET_PROFILE(MapObjectProfileUnkSWHT)->mUnk_20.mUnk_50));
|
||||
this->mUnk_054.vfunc_08(G3d_GetModelPtr(GET_PROFILE_20_50(MapObjectProfileUnkSWHT)));
|
||||
this->mUnk_0B4.mpModel = this->mUnk_054.mpModel;
|
||||
|
||||
unk32 param2 = data_ov031_021179e8.func_ov000_02058a24();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#define VECFX32_CTORS
|
||||
|
||||
#include "MapObject/MapObjectUnkSWSW.hpp"
|
||||
#include "profile.hpp"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
@@ -97,7 +98,7 @@ void MapObjectUnkSWSW_40::func_ov032_021210a0(fx32 param1) {
|
||||
}
|
||||
|
||||
MapObjectUnkSWSW::MapObjectUnkSWSW() :
|
||||
mUnk_040(G3d_GetUnkPtr(GET_PROFILE(MapObjectProfileUnkSWSW)->mUnk_20.mUnk_50, &data_ov032_02121ef4)),
|
||||
mUnk_040(G3d_GetUnkPtr(GET_PROFILE_20_50(MapObjectProfileUnkSWSW), &data_ov032_02121ef4)),
|
||||
mUnk_0AC(&this->mUnk_0CC, NULL),
|
||||
mUnk_0EC(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.5f), FLOAT_TO_FX32(-0.4202f)),
|
||||
mUnk_0F8(NULL),
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "Player/PlayerGet.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/Random.hpp"
|
||||
@@ -156,8 +155,9 @@ unk32 UnkStruct_ov063_02162e88::vfunc_04(ActorRef param1, unk32 param2, unk32 pa
|
||||
return ret1;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ActorUnkCANS::ActorUnkCANS() :
|
||||
mUnk_0B0(G3d_GetModelPtr(((MapObjectProfile_Derived2_20 *) GET_PROFILE(ActorProfileUnkCANS)->vfunc_04())->mUnk_50)),
|
||||
mUnk_0B0(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkCANS)->vfunc_04()->mUnk_50)),
|
||||
mUnk_128(&mUnk_0B0, GET_PROFILE(ActorProfileUnkCANS)->vfunc_04()),
|
||||
mUnk_1F4(),
|
||||
mUnk_200(this),
|
||||
@@ -244,6 +244,7 @@ void ActorUnkCANS::vfunc_24(void) {
|
||||
}
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::vfunc_20(void) {
|
||||
if (mUnk_238 < mUnk_23A) {
|
||||
mUnk_238++;
|
||||
@@ -252,7 +253,7 @@ void ActorUnkCANS::vfunc_20(void) {
|
||||
if (!this->func_ov017_020bef4c(0x4000) && mUnk_48 != 0 && mState != 4) {
|
||||
return;
|
||||
}
|
||||
mUnk_3C = (Actor_9C *) &mUnk_200;
|
||||
mUnk_3C = &mUnk_200;
|
||||
|
||||
CALL_PTMF(PTMF<ActorUnkCANS>, data_ov063_02162fb0[mState]);
|
||||
|
||||
@@ -295,9 +296,7 @@ void ActorUnkCANS::vfunc_20(void) {
|
||||
|
||||
if (var == 0) {
|
||||
if (mUnk_268 != NULL) {
|
||||
//! INFO: mUnk_268 is NOT an ActorUnkCANS*, this is a placeholder as mUnk_1F4 is not yet defined in
|
||||
//! ActorUnkCASE (current type of *mUnk_268)
|
||||
*(char *) &((ActorUnkCANS *) mUnk_268)->mUnk_1F4 = 0;
|
||||
mUnk_268->mUnk_1F4 = 0;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -384,7 +383,7 @@ void ActorUnkCANS::vfunc_20(void) {
|
||||
case 11:
|
||||
default:
|
||||
if (iVar5 != 0) {
|
||||
this->func_ov017_020bfb18((Actor_9C *) &mUnk_200);
|
||||
this->func_ov017_020bfb18(&mUnk_200);
|
||||
if (mState != 4) {
|
||||
this->func_ov063_02158448(5);
|
||||
}
|
||||
@@ -395,9 +394,7 @@ void ActorUnkCANS::vfunc_20(void) {
|
||||
}
|
||||
}
|
||||
if (mUnk_268 != NULL) {
|
||||
//! INFO: mUnk_268 is NOT an ActorUnkCANS*, this is a placeholder as mUnk_1F4 is not yet defined in
|
||||
//! ActorUnkCASE (current type of *mUnk_268)
|
||||
*(char *) &((ActorUnkCANS *) mUnk_268)->mUnk_1F4 = (char) iVar5;
|
||||
mUnk_268->mUnk_1F4 = iVar5;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -468,16 +465,17 @@ void ActorUnkCANS::vfunc_2C(unk32 param1) {
|
||||
}
|
||||
|
||||
void ActorUnkCANS::func_ov063_02158b0c(void) {
|
||||
mUnk_268 = NULL;
|
||||
((u16 *) mUnk_38)[4] = 1;
|
||||
mUnk_34 = (Cylinder *) &data_ov063_02162e90;
|
||||
mUnk_30 = (Cylinder *) &data_ov063_02162e90;
|
||||
mUnk_268 = NULL;
|
||||
mUnk_38->mUnk_08 = 1;
|
||||
mUnk_34 = (Cylinder *) &data_ov063_02162e90;
|
||||
mUnk_30 = (Cylinder *) &data_ov063_02162e90;
|
||||
}
|
||||
|
||||
void ActorUnkCANS::func_ov063_02158b34(void) {
|
||||
mUnk_128.vfunc_1C(data_ov063_02163068, 0x1000, 0x19A, 0);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::func_ov063_02158b98(void) {
|
||||
if (mUnk_128.vfunc_28()->func_02015080(0x1000) || mUnk_128.vfunc_28()->func_02015080(0x11000) ||
|
||||
mUnk_128.vfunc_28()->func_02015080(0x21000)) {
|
||||
@@ -514,6 +512,7 @@ void ActorUnkCANS::func_ov063_02158d40(void) {
|
||||
mUnk_238 = 0;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::func_ov063_02158db0(void) {
|
||||
if (mUnk_128.vfunc_28()->func_02015080(0x1000) || mUnk_128.vfunc_28()->func_02015080(0xD000) ||
|
||||
mUnk_128.vfunc_28()->func_02015080(0x19000) || mUnk_128.vfunc_28()->func_02015080(0x25000)) {
|
||||
@@ -572,13 +571,13 @@ void ActorUnkCANS::func_ov063_02158db0(void) {
|
||||
|
||||
void ActorUnkCANS::func_ov063_021590c8(void) {
|
||||
func_ov017_020bf634(this, (unk16 *) &mUnk_200.mUnk_10, this->func_ov063_0215a5bc(), this->func_ov063_0215a5d8());
|
||||
((Actor_9C *) &mUnk_200)->func_ov000_02097bec();
|
||||
mUnk_200.func_ov000_02097bec();
|
||||
}
|
||||
|
||||
void ActorUnkCANS::func_ov063_02159100(void) {
|
||||
func_ov017_020bf688(this);
|
||||
|
||||
if (!GET_FLAG(this->mFlags, 5)) {
|
||||
if (!GET_FLAG(this->mFlags, ActorFlag_5)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -590,7 +589,7 @@ void ActorUnkCANS::func_ov063_02159100(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
u16 *tmpArr = (u16 *) &mUnk_224.mUnk_08;
|
||||
u16 *tmpArr = &mUnk_224.mUnk_08;
|
||||
if (tmpArr[0] < tmpArr[1]) {
|
||||
this->func_ov063_02158448(4);
|
||||
return;
|
||||
@@ -653,7 +652,7 @@ void ActorUnkCANS::func_ov063_02159258(void) {
|
||||
void ActorUnkCANS::func_ov063_02159408(void) {
|
||||
this->func_ov000_02099450(&mUnk_224, &data_027e07d4, 0, data_ov000_020aecf0[0]);
|
||||
mUnk_128.vfunc_1C(data_ov063_02163068, 0, 0x19A, 0);
|
||||
((Actor_9C *) &mUnk_200)->func_ov000_02097bec();
|
||||
mUnk_200.func_ov000_02097bec();
|
||||
}
|
||||
|
||||
void ActorUnkCANS::func_ov063_02159494(void) {
|
||||
@@ -691,7 +690,7 @@ void ActorUnkCANS::func_ov063_021595a4(void) {
|
||||
mVel.z = 0;
|
||||
mUnk_270 = 0;
|
||||
mUnk_128.vfunc_1C(data_ov063_021630b0, 0x1000, 0x400, 0);
|
||||
((Actor_9C *) &mUnk_200)->func_ov000_02097bec();
|
||||
mUnk_200.func_ov000_02097bec();
|
||||
}
|
||||
|
||||
void ActorUnkCANS::func_ov063_02159618(void) {
|
||||
@@ -767,6 +766,7 @@ void ActorUnkCANS::func_ov063_021598fc(void) {
|
||||
mUnk_276 = gRandom.Next32(0) & 0x80000000 ? 1 : -1;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::func_ov063_021599e4(void) {
|
||||
if (mUnk_128.vfunc_28()->func_02015080(0x1000) || mUnk_128.vfunc_28()->func_02015080(0xA000) ||
|
||||
mUnk_128.vfunc_28()->func_02015080(0x13000) || mUnk_128.vfunc_28()->func_02015080(0x1C000)) {
|
||||
@@ -878,6 +878,7 @@ void ActorUnkCANS::func_ov063_02159e20(void) {
|
||||
mUnk_38->mUnk_08 = 3;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::func_ov063_02159ec0(void) {
|
||||
this->vfunc_44();
|
||||
|
||||
@@ -898,6 +899,7 @@ void ActorUnkCANS::func_ov063_02159ec0(void) {
|
||||
*(s16 *) &mUnk_44 |= 0x20;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
// return bool ?
|
||||
unk32 ActorUnkCANS::func_ov063_02159f3c(unk32 param1) {
|
||||
s16 var;
|
||||
@@ -940,6 +942,7 @@ unk32 ActorUnkCANS::func_ov063_02159f3c(unk32 param1) {
|
||||
return func_01ff9a5c(data_027e0ce0->func_01fff148(0), &vec1, &vec2) < param1;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
// return bool ?
|
||||
unk32 ActorUnkCANS::func_ov063_0215a0f0(void) {
|
||||
s16 var1;
|
||||
@@ -987,6 +990,7 @@ unk32 ActorUnkCANS::func_ov063_0215a0f0(void) {
|
||||
return func_01ff9a5c(data_027e0ce0->func_01fff148(0), &mPos, &vec) < 0x4CD;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
unk32 ActorUnkCANS::func_ov063_0215a2c0(void) {
|
||||
s16 var1;
|
||||
func_ov000_020986b4((s16 *) &var1, this, 0);
|
||||
@@ -1035,7 +1039,7 @@ unk32 ActorUnkCANS::func_ov063_0215a2c0(void) {
|
||||
|
||||
void ActorUnkCANS::func_ov063_0215a428(void) {
|
||||
// A not very clean code to access 22C and 22E matching the asm
|
||||
u16 *values = (u16 *) &mUnk_224.mUnk_08;
|
||||
u16 *values = &mUnk_224.mUnk_08;
|
||||
if (values[0] < values[1]) {
|
||||
this->func_ov063_02158448(4);
|
||||
} else if (mUnk_268 == NULL) {
|
||||
@@ -1081,7 +1085,7 @@ unk32 ActorUnkCANS::func_ov063_0215a514(void) {
|
||||
func_ov000_020986b4((s16 *) &var, this, 0);
|
||||
|
||||
var = (volatile s16) var - mUnk_26C;
|
||||
return 0x4AAB < ABS(var);
|
||||
return DEG_TO_ANG(105) + 1 < ABS(var);
|
||||
}
|
||||
|
||||
// return bool ?
|
||||
@@ -1093,12 +1097,13 @@ unk32 ActorUnkCANS::func_ov063_0215a56c(unk32 param1) {
|
||||
return DEG_TO_ANG(90) <= ABS((s16) (param1 - mAngle));
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::func_ov063_0215a5a0(VecFx32 *param1) {
|
||||
// Does not match instruction order
|
||||
VecFx32 vec;
|
||||
vec.x = ((VecFx32 *) &mUnk_250)->x;
|
||||
vec.y = ((VecFx32 *) &mUnk_250)->y;
|
||||
vec.z = ((VecFx32 *) &mUnk_250)->z;
|
||||
vec.x = mUnk_250.x;
|
||||
vec.y = mUnk_250.y;
|
||||
vec.z = mUnk_250.z;
|
||||
param1->z = vec.z;
|
||||
param1->x = vec.x;
|
||||
param1->y = vec.y;
|
||||
@@ -1118,6 +1123,7 @@ unk32 ActorUnkCANS::func_ov063_0215a5d8(void) {
|
||||
return data_ov000_020aecfc[0];
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::vfunc_10(Cylinder *param1) {
|
||||
Cylinder *cylinder = this->mUnk_34;
|
||||
*param1 = *cylinder;
|
||||
@@ -1132,6 +1138,7 @@ void ActorUnkCANS::vfunc_10(Cylinder *param1) {
|
||||
}
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCANS::func_ov063_0215a678(ActorUnkCANS *actor, UnkStruct_func_ov063_0215a678 *param2) {
|
||||
ModelRender *modelRender = param2->mUnk_04;
|
||||
u8 var1;
|
||||
@@ -1209,6 +1216,7 @@ UnkStruct_ov063_02162ea8::UnkStruct_ov063_02162ea8() {
|
||||
|
||||
UnkStruct_ov063_02162ea8::~UnkStruct_ov063_02162ea8() {}
|
||||
|
||||
// non-matching
|
||||
bool UnkStruct_ov063_02162ea8::vfunc_08(const UnkStruct_ov031_020f3310 *param1) {
|
||||
bool retVal = UnkStruct_ov031_Items_00::vfunc_08(param1);
|
||||
if (retVal && func_01ff9258(param1->mUnk_08.x, param1->mUnk_08.z) > 0) {
|
||||
@@ -1224,6 +1232,7 @@ bool UnkStruct_ov063_02162ea8::vfunc_08(const UnkStruct_ov031_020f3310 *param1)
|
||||
return retVal;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
bool UnkStruct_ov063_02162ea8::vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 *param2, unk32 param3) {
|
||||
UnkStruct_02162ea8_vfunc_0C *param2Struct = (UnkStruct_02162ea8_vfunc_0C *) param2;
|
||||
if ((*(u16 *) ¶m2Struct->mUnk_04 & 0x1000) != 0) {
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "Actor/ActorShotArrow.hpp"
|
||||
#include "Actor/ActorUnkCANS.hpp"
|
||||
#include "Actor/ActorUnkITWP.hpp"
|
||||
#include "MapObject/MapObjectProfile_Derived2_20.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
@@ -69,6 +68,7 @@ static PTMF<ActorUnkCASE> data_ov063_02163110[0x6] = {ActorUnkCASE::func_ov063_0
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkCASE);
|
||||
|
||||
// non-matching (profile is smaller than target)
|
||||
Actor *ActorProfileUnkCASE::Create() {
|
||||
return new(HeapIndex_2) ActorUnkCASE();
|
||||
}
|
||||
@@ -139,7 +139,7 @@ void ActorUnkCASE::func_ov063_0215acec(ActorRef *ref1, ActorRef ref2) {
|
||||
}
|
||||
|
||||
ActorUnkCASE::ActorUnkCASE() :
|
||||
mUnk_0B0(G3d_GetModelPtr(((MapObjectProfile_Derived2_20 *) GET_PROFILE(ActorProfileUnkCASE)->vfunc_04())->mUnk_50)),
|
||||
mUnk_0B0(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkCASE)->vfunc_04()->mUnk_50)),
|
||||
mUnk_120(0),
|
||||
mUnk_124(this),
|
||||
mUnk_14C(NULL),
|
||||
@@ -312,6 +312,7 @@ void ActorUnkCASE::vfunc_24() {
|
||||
this->vfunc_20();
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCASE::vfunc_20() {
|
||||
mUnk_150.mUnk_1C = 1;
|
||||
|
||||
@@ -445,6 +446,7 @@ void ActorUnkCASE::vfunc_2C(unk32 param1) {
|
||||
}
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCASE::func_ov063_0215b6c8(VecFx32 *param1, UnkAngleStruct angle) {
|
||||
VecFx32 vec = *param1;
|
||||
VecFx32_Copy(&vec, &mPos);
|
||||
@@ -460,6 +462,7 @@ void ActorUnkCASE::func_ov063_0215b724(void) {
|
||||
data_027e09a8->func_ov000_02071b30(0x9865, &mPos, 0);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCASE::vfunc_10(Cylinder *param1) {
|
||||
if (mUnk_14C != NULL) {
|
||||
((ActorUnkCASE *) mUnk_14C)->vfunc_10(param1);
|
||||
@@ -479,6 +482,7 @@ void ActorUnkCASE::func_ov063_0215b814(ActorRef ref) {
|
||||
this->func_ov063_0215aefc(1);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCASE::func_ov063_0215b854(void) {
|
||||
if (mUnk_14C != NULL) {
|
||||
ActorUnkCANS *actorCans = (ActorUnkCANS *) mUnk_14C;
|
||||
@@ -506,6 +510,7 @@ static inline bool VecFx32_IsZero(VecFx32 *vec) {
|
||||
return vec->x == 0 && vec->y == 0 && vec->z == 0;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkCASE::func_ov063_0215b8e8(VecFx32 *param1) {
|
||||
|
||||
if (mUnk_14C != NULL) {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "Actor/ActorUnkRBLS.hpp"
|
||||
#include "Actor/Actor_Derived1.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "nitro/fx.h"
|
||||
@@ -18,6 +17,7 @@ Actor *ActorProfileUnkRBLS::Create() {
|
||||
ActorProfileUnkRBLS::ActorProfileUnkRBLS() :
|
||||
ActorProfile_Derived1(ActorId_RBLS) {}
|
||||
|
||||
// non-matching
|
||||
ActorUnkRBLS::ActorUnkRBLS() :
|
||||
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkRBLS)->mUnk_3C.mUnk_50)),
|
||||
mUnk_F4(&mUnk_94, GET_PROFILE(ActorProfileUnkRBLS)->vfunc_04()) {}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "Actor/ActorUnkRMSD.hpp"
|
||||
#include "Actor/ActorUnkRMSV.hpp"
|
||||
#include "Actor/Actor_Derived1.hpp"
|
||||
#include "nns/g3d/g3d.h"
|
||||
#include "profile.hpp"
|
||||
#include "types.h"
|
||||
@@ -29,7 +28,7 @@ bool ActorUnkRMSD::vfunc_18(unk32 param1) {
|
||||
}
|
||||
|
||||
void ActorUnkRMSD::vfunc_20(void) {
|
||||
(*(Actor *) &this->mUnk_158).vfunc_34(); // Not an Actor
|
||||
this->mUnk_158.vfunc_34();
|
||||
}
|
||||
void ActorUnkRMSD::vfunc_24(void) {
|
||||
this->vfunc_20();
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "Actor/ActorUnkRMSBase.hpp"
|
||||
#include "Actor/Actor_Derived1.hpp"
|
||||
#include "nns/g3d/g3d.h"
|
||||
#include "profile.hpp"
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "Actor/ActorUnkRMSW.hpp"
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "Actor/Actor_Derived1.hpp"
|
||||
#include "nns/g3d/g3d.h"
|
||||
#include "profile.hpp"
|
||||
#include "types.h"
|
||||
@@ -29,7 +28,7 @@ bool ActorUnkRMSW::vfunc_18(unk32 param1) {
|
||||
}
|
||||
|
||||
void ActorUnkRMSW::vfunc_20(void) {
|
||||
(*(Actor *) &this->mUnk_158).vfunc_34(); // Not an Actor
|
||||
this->mUnk_158.vfunc_34();
|
||||
}
|
||||
|
||||
void ActorUnkRMSW::vfunc_24(void) {
|
||||
|
||||
@@ -48,7 +48,7 @@ MapObjectProfileUnkLTRW::MapObjectProfileUnkLTRW() :
|
||||
}
|
||||
|
||||
MapObjectUnkLTRW::MapObjectUnkLTRW() :
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE(MapObjectProfileUnkLTRW)->mUnk_20.mUnk_50)),
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE_20_50(MapObjectProfileUnkLTRW))),
|
||||
mUnk_A0(1),
|
||||
mUnk_A4(0),
|
||||
mUnk_A6(0),
|
||||
@@ -57,7 +57,7 @@ MapObjectUnkLTRW::MapObjectUnkLTRW() :
|
||||
bool MapObjectUnkLTRW::vfunc_00() {
|
||||
mPos.x -= FLOAT_TO_FX32(.5f);
|
||||
mPos.z -= FLOAT_TO_FX32(.5f);
|
||||
mUnk_10 = &GET_PROFILE(MapObjectProfileUnkLTRW)->mUnk_D4;
|
||||
mUnk_10 = GET_PROFILE_D4(MapObjectProfileUnkLTRW);
|
||||
SET_FLAG(mFlags, MapObjFlag_9);
|
||||
mUnk_18[0] = 0x10;
|
||||
mUnk_A8.mUnk_04h = mUnk_20.mUnk_08[0];
|
||||
|
||||
@@ -1,26 +1,130 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "MapObject/MapObjectUnkMTJR.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "System/Random.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "flags.h"
|
||||
#include "nitro/fx.h"
|
||||
#include "nitro/math.h"
|
||||
#include "profile.hpp"
|
||||
|
||||
// Overlay 31
|
||||
extern "C" void func_ov031_020e0f30(ActorRef);
|
||||
|
||||
DECL_PROFILE(MapObjectProfileUnkMTJR);
|
||||
|
||||
MapObject *MapObjectProfileUnkMTJR::Create() {
|
||||
return new(HeapIndex_2) MapObjectUnkMTJR();
|
||||
return new(HeapIndex_ITCM) MapObjectUnkMTJR();
|
||||
}
|
||||
|
||||
// non-matching
|
||||
MapObjectProfileUnkMTJR::MapObjectProfileUnkMTJR() :
|
||||
MapObjectProfile(MapObjectId_MTJR) {}
|
||||
MapObjectProfileUnkSTAT_Base(MapObjectId_MTJR, MapObjectId_MTJR) {
|
||||
mUnk_D4.mUnk_08 = 0x7009;
|
||||
|
||||
MapObjectUnkMTJR::MapObjectUnkMTJR() {}
|
||||
VecFx32_Init(0, 0, 0, &mUnk_D4.mUnk_0C);
|
||||
mUnk_D4.mUnk_18.x = FLOAT_TO_FX32(0.7f);
|
||||
mUnk_D4.mUnk_18.y = FLOAT_TO_FX32(2.4f);
|
||||
|
||||
void MapObjectUnkMTJR::func_ov063_02160ffc(void) {}
|
||||
void MapObjectUnkMTJR::func_ov063_02161070(void) {}
|
||||
void MapObjectUnkMTJR::func_ov063_021611ac(void) {}
|
||||
void MapObjectUnkMTJR::func_ov063_021611c0(void) {}
|
||||
void MapObjectUnkMTJR::func_ov063_02161254(void) {}
|
||||
void MapObjectUnkMTJR::func_ov063_02161288(void) {}
|
||||
void MapObjectUnkMTJR::func_ov063_02161380(void) {}
|
||||
mUnk_06 = -1;
|
||||
UNSET_FLAG2(mUnk_1E, 0x0);
|
||||
}
|
||||
|
||||
MapObjectUnkMTJR::~MapObjectUnkMTJR() {}
|
||||
MapObjectProfileUnkMTJR::~MapObjectProfileUnkMTJR() {}
|
||||
MapObjectUnkMTJR::MapObjectUnkMTJR() :
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE_20_50(MapObjectProfileUnkMTJR))),
|
||||
mUnk_A0(2),
|
||||
mUnk_A4(0),
|
||||
mUnk_A6(0),
|
||||
mUnk_A8(NULL),
|
||||
mUnk_AC(-1),
|
||||
mUnk_B0(0) {}
|
||||
|
||||
bool MapObjectUnkMTJR::vfunc_00() {
|
||||
if (!this->func_ov000_0209d29c(0)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
mPos.x += FLOAT_TO_FX32(.5f);
|
||||
mPos.z += FLOAT_TO_FX32(.5f);
|
||||
mUnk_10 = GET_PROFILE_D4(MapObjectProfileUnkMTJR);
|
||||
mUnk_AC = 0x86F;
|
||||
mUnk_B0 = 4;
|
||||
mUnk_A8.func_ov000_020a0334();
|
||||
this->func_ov063_02161254(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void MapObjectUnkMTJR::vfunc_08() {
|
||||
if (mUnk_A0 == 0) {
|
||||
fx32 tmp_x = mPos.x - FLOAT_TO_FX32(1.f) + (fx32) gRandom.Next32(0);
|
||||
fx32 tmp_y = mPos.y + (fx32) gRandom.Next32(0x1801);
|
||||
fx32 tmp_z = mPos.z - FLOAT_TO_FX32(1.f) + (fx32) gRandom.Next32(0);
|
||||
VecFx32 stack_vec = {tmp_x, tmp_y, tmp_z};
|
||||
data_027e0cec->func_ov000_020a0220(&mUnk_A8, &stack_vec);
|
||||
}
|
||||
if (mUnk_A4 < mUnk_A6) {
|
||||
mUnk_A4++;
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkMTJR::vfunc_0C() {
|
||||
this->vfunc_08();
|
||||
}
|
||||
|
||||
bool MapObjectUnkMTJR::vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) {
|
||||
switch (param2) {
|
||||
case 13:
|
||||
this->func_ov063_02161254(1);
|
||||
func_ov031_020e0f30(param1);
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 7:
|
||||
case 8:
|
||||
this->func_ov063_02161254(1);
|
||||
break;
|
||||
case 3:
|
||||
case 12:
|
||||
this->func_ov063_02161254(1);
|
||||
return false;
|
||||
break;
|
||||
case 10:
|
||||
case 11:
|
||||
this->func_ov063_02161254(1);
|
||||
break;
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 9:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void MapObjectUnkMTJR::func_ov063_02161254(unk32 param1) {
|
||||
mUnk_A0 = param1;
|
||||
mUnk_A6 = -1;
|
||||
mUnk_A4 = 0;
|
||||
if (param1 != 0 && param1 == 1) {
|
||||
this->func_ov063_02161288();
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkMTJR::func_ov063_02161288(void) {
|
||||
data_027e09a8->func_ov000_02071b30(0xFC, &mPos, 0);
|
||||
data_027e09a8->func_ov000_02071eac(&mPos);
|
||||
VecFx32 vec = mPos;
|
||||
data_027e0cec->func_ov000_0209feac(0xCC17, &vec, 4, 0, 0);
|
||||
data_027e0cec->func_ov000_0209feac(0xCC18, &vec, 4, 0, 0);
|
||||
data_027e0cec->func_ov000_0209feac(0xCC19, &vec, 4, 0, 0);
|
||||
data_027e0cec->func_ov000_0209feac(0xCC1A, &vec, 4, 0, 0);
|
||||
this->func_ov000_0209d2c4(1, true);
|
||||
UNSET_FLAG(mFlags, 0);
|
||||
}
|
||||
|
||||
void MapObjectUnkMTJR::vfunc_14() {
|
||||
this->func_ov000_0209d518(&mPos, 0xD9A, 0xD9A, 0x1F);
|
||||
mUnk_40.vfunc_18(&mPos);
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ MapObject *MapObjectProfileUnkSTAT::Create() {
|
||||
return new(HeapIndex_ITCM) MapObjectUnkSTAT();
|
||||
}
|
||||
|
||||
// non-matching
|
||||
MapObjectProfileUnkSTAT::MapObjectProfileUnkSTAT() :
|
||||
MapObjectProfileUnkSTAT_Base(MapObjectId_STAT, MapObjectId_STAT) {
|
||||
mUnk_D4.mUnk_08 = 0x7007;
|
||||
@@ -54,7 +55,7 @@ MapObjectProfileUnkSTAT::MapObjectProfileUnkSTAT() :
|
||||
}
|
||||
|
||||
MapObjectUnkSTAT::MapObjectUnkSTAT() :
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE(MapObjectProfileUnkSTAT)->mUnk_20.mUnk_50), true),
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE_20_50(MapObjectProfileUnkSTAT)), true),
|
||||
mUnk_4C(4),
|
||||
mUnk_50(-1),
|
||||
mUnk_54(0x8000),
|
||||
@@ -67,6 +68,7 @@ MapObjectUnkSTAT::MapObjectUnkSTAT() :
|
||||
mUnk_10 = GET_PROFILE_D4(MapObjectProfileUnkSTAT);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
bool MapObjectUnkSTAT::vfunc_00(void) {
|
||||
unk32 val;
|
||||
switch (mUnk_20.mParams[0]) {
|
||||
@@ -121,6 +123,7 @@ void MapObjectUnkSTAT::vfunc_14(void) {
|
||||
mUnk_40.func_01ffc6d4(mAngleStruct, &vec);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void MapObjectUnkSTAT::func_ov063_0215f7ac(void) {
|
||||
if (!this->func_ov000_0209d29c(0) || this->func_ov000_0209d29c(1)) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user