Create Timer struct, improve angle usage and name known virtual functions (#154)

* name some actor vfuncs

* name some map object vfuncs

* remove angle union

* fix lots of clangd errors

* create Timer struct

* fix regressions
This commit is contained in:
Yanis
2026-10-02 20:54:43 +02:00
committed by GitHub
parent 205dc5a1ca
commit 07a5bd9fcc
204 changed files with 1851 additions and 1985 deletions
+8 -33
View File
@@ -11,6 +11,7 @@
#include "global.h"
#include "math.hpp"
#include "nitro/fx.h"
#include "timer.hpp"
#include "types.h"
#include "versions.h"
@@ -95,11 +96,6 @@ enum ActorFlag_ {
ActorFlag_31 = FLAG(0, 31),
};
// normal: 0x603B - 0110 0000 0011 1011 - Alive | Visible | Active | Flag_4 | Flag_13 | Flag_14 | Flag 5
// out of stun: 0xE03B - 1110 0000 0011 1011 - Alive | Visible | Active | Flag_4 | Flag_13 | Flag_14 | Flag 5 | Flag_15
// caught in tornado: 0xE01B - 1110 0000 0001 1011 - Alive | Visible | Active | Flag_4 | Flag_13 | Flag_14 | Flag_15
// stunned: 0xA01B - 1010 0000 0001 1011 - Alive | Visible | Active | Flag_4 | Flag_13 | Flag_15
class Actor_9C {
public:
/* 00 (vtable) */
@@ -146,8 +142,7 @@ public:
class UnkStruct_ActorUnkCANS_224 {
public:
/* 00 (base) */ UnkStruct_PlayerGet_ec mUnk_00[0x2];
/* 08 */ volatile u16 mUnk_08;
/* 0A */ u16 mUnk_0A;
/* 08 */ Timer mUnk_08;
/* 0C */ u16 mUnk_0C;
/* 0E */ u16 mUnk_0E;
/* 10 */
@@ -163,14 +158,7 @@ public:
ptr->func_ov000_020a0334();
}
this->mUnk_0A = 0;
this->mUnk_08 = 0;
}
void UpdateTimer() {
if (this->mUnk_08 < this->mUnk_0A) {
this->mUnk_08++;
}
this->mUnk_08.Init();
}
void func_ov000_020998f0(ActorRef ref, VecFx32 *pPos);
@@ -186,10 +174,7 @@ public:
/* 04 */ VecFx32 mPos;
/* 10 */ VecFx32 mPrevPos;
/* 1C */ VecFx32 mVel;
/* 28 */ union {
/* 28 */ fx16 mAngle;
/* 28 */ UnkAngleStruct mAngleStruct;
};
/* 28 */ UnkAngleStruct mAngle;
/* 2A */ unk16 mUnk_2A;
/* 2C */ unk32 mUnk_2C; // gravity?
/* 30 */ Cylinder *mUnk_30;
@@ -203,8 +188,7 @@ public:
/* 4A */ u8 mUnk_4A[2];
/* 4C */ ActorState mState;
/* 4E */ fx16 mYOffset;
/* 50 */ volatile u16 mTimer; // generic timer, used for stunned time, drop expiration, ...
/* 52 */ u16 mTimerMax; // maximum value for the above timer
/* 50 */ Timer mTimer; // generic timer, used for stunned time, drop expiration, ...
/* 54 */ UnkStruct_ActorUnkCANS_224 *mUnk_54;
/* 58 */ ActorFlags mFlags[1];
/* 5C */ ActorParams mUnk_5C;
@@ -218,9 +202,9 @@ public:
/* 0C */ virtual unk8 vfunc_0C();
/* 10 */ virtual void vfunc_10(Cylinder *param1);
/* 14 */ virtual bool vfunc_14(Cylinder *param1);
/* 18 */ virtual bool vfunc_18(unk32 param1); // Init?
/* 1C */ virtual void vfunc_1C(); // Setup
/* 20 */ virtual void vfunc_20(); // Update?
/* 18 */ virtual bool Init(unk32 param1);
/* 1C */ virtual void Setup();
/* 20 */ virtual void Update();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28(Actor_vfunc_30 *param1);
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1);
@@ -283,15 +267,6 @@ public:
ActorId GetActorId();
bool IsTimerOut() {
if (this->mTimer < this->mTimerMax) {
this->mTimer++;
return false;
}
return true;
}
// overlay 0
bool func_ov000_0205cbc4(u32 param1, VecFx32 *param2);
unk32 func_ov000_0207df88(Cylinder *param1, unk32 param2);
+3 -12
View File
@@ -24,8 +24,7 @@ class ActorBlast : public Actor {
public:
/* 00 (base) */
/* 94 */ fx32 mUnk_94;
/* 98 */ volatile u16 mUnk_98;
/* 9A */ u16 mUnk_9A;
/* 98 */ Timer mUnk_98;
/* 9C */ UnkStruct_ov031_Items_01 mUnk_9C;
/* C8 */ Cylinder mUnk_C8;
/* D8 */ Cylinder mUnk_D8;
@@ -36,18 +35,10 @@ public:
ActorBlast();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
bool IsInternalTimerOut() {
if (this->mUnk_98 < this->mUnk_9A) {
++this->mUnk_98;
return false;
}
return true;
}
fx32 func_ov031_020e3b94();
static void func_ov031_020e3b9c(Actor *spawner, unk16 param1, unk16 param2);
};
+3 -12
View File
@@ -87,8 +87,7 @@ public:
/* 1E4 */ ActorRef mUnk_1E4;
/* 1E8 */ u8 mUnk_1E8;
/* 1E8 */ u8 mUnk_1E9;
/* 1EA */ volatile u16 mUnk_1EA;
/* 1EC */ u16 mUnk_1EC;
/* 1EA */ Timer mUnk_1EA;
/* 1EE */ bool mUnk_1EE;
/* 1EF */ bool mUnk_1EF;
/* 1F0 */ bool mUnk_1F0;
@@ -103,21 +102,13 @@ public:
ActorBomb();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 38 */ virtual bool Grab(ActorGrabParams grabParams) override;
/* 3C */ virtual bool Drop(ActorGrabParams grabParams, const VecFx32 *pVel) override;
bool IsInternalTimerOut() {
if (this->mUnk_1EA < this->mUnk_1EC) {
++this->mUnk_1EA;
return false;
}
return true;
}
// check if really in ActorUnkBomb
G3d_Model *func_ov031_020e1540(u16 param1);
UnkStruct_ov000_02058a84 *func_ov031_020e15d0(u16 param1);
+2 -2
View File
@@ -15,8 +15,8 @@ public:
ActorEventIcon();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorEventIcon() override;
+2 -2
View File
@@ -75,8 +75,8 @@ public:
ActorFleeingSpinut();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorFleeingSpinut() override;
+3 -3
View File
@@ -35,7 +35,7 @@ public:
/* B8 */ s16 mUnk_B8;
/* BA */ unk16 mUnk_BA;
/* BC */ unk16 mUnk_BC;
/* BE */ s8 mUnk_BE;
/* BE */ bool mUnk_BE;
/* BF */ STRUCT_PAD(0xBF, 0xC0);
/* C0 */ ActorRef mUnk_C0;
/* C4 */ ActorRef mUnk_C4;
@@ -44,8 +44,8 @@ public:
ActorHeart();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorHeart() override {};
+2 -2
View File
@@ -82,8 +82,8 @@ public:
ActorItemBoomerang();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorItemBoomerang() override;
+3 -13
View File
@@ -46,8 +46,7 @@ public:
class ActorItemDrop : public Actor_Derived2 {
public:
/* 000 (base) */
/* 0AE */ volatile u16 mUnk_AE;
/* 0B0 */ u16 mUnk_B0;
/* 0AE */ Timer mUnk_AE;
/* 0B2 */ STRUCT_PAD(0xB2, 0xB4);
/* 0B4 */ Actor_9C mUnk_B4;
/* 0D4 */ ItemDropType mItemTypeId;
@@ -61,20 +60,11 @@ public:
/* 118 */ bool mUnk_118;
/* 119 */ bool mUnk_119;
bool IsTimerOut() {
if (this->mUnk_AE < this->mUnk_B0) {
this->mUnk_AE++;
return false;
}
return true;
}
ActorItemDrop();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
void func_ov031_020fa260();
+2 -2
View File
@@ -40,8 +40,8 @@ public:
ActorItemFlower();
/* 18 */ bool vfunc_18(unk32 param1);
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1);
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 5C */ virtual void vfunc_5C(ActorState state) override;
+2 -2
View File
@@ -50,8 +50,8 @@ public:
ActorItemTornado();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
+2 -2
View File
@@ -117,8 +117,8 @@ public:
ActorKeese();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
void func_ov032_0211e0c0();
+4 -4
View File
@@ -49,8 +49,8 @@ public:
Actor_ov031_02113fd4();
// data_ov031_02113fd4
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 38 */ virtual bool Grab(ActorGrabParams grabParams) override;
/* 3C */ virtual bool Drop(ActorGrabParams grabParams, const VecFx32 *pVel) override;
@@ -86,8 +86,8 @@ public:
ActorPot();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 5C */ virtual void vfunc_5C(ActorState state) override;
+4 -24
View File
@@ -68,10 +68,8 @@ public:
/* 138 */ unk16 mUnk_138;
/* 13C */ Cylinder mUnk_13C;
/* 14C */ unk32 mUnk_14C;
/* 150 */ volatile u16 mUnk_150;
/* 152 */ volatile u16 mUnk_152;
/* 154 */ volatile u16 mUnk_154;
/* 156 */ volatile u16 mUnk_156;
/* 150 */ Timer mUnk_150;
/* 154 */ Timer mUnk_154;
/* 158 */ bool mUnk_158;
/* 159 */ bool mUnk_159;
/* 15A */ s8 mUnk_15A;
@@ -81,29 +79,11 @@ public:
ActorRollingStone();
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020f869c
/* 20 */ virtual void vfunc_20() override; // func_ov031_020f878c
/* 18 */ virtual bool Init(unk32 param1) override; // func_ov031_020f869c
/* 20 */ virtual void Update() override; // func_ov031_020f878c
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override; // func_ov031_020f8948
/* 54 */
bool IsInternalTimerOut1() {
if (this->mUnk_150 < this->mUnk_152) {
this->mUnk_150++;
return false;
}
return true;
}
bool IsInternalTimerOut2() {
if (this->mUnk_154 < this->mUnk_156) {
this->mUnk_154++;
return false;
}
return true;
}
void SetState(ActorState state);
void func_ov031_020f8880();
void func_ov031_020f89f4();
+2 -2
View File
@@ -69,8 +69,8 @@ public:
ActorRupee();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorRupee() override;
+2 -2
View File
@@ -127,8 +127,8 @@ public:
ActorShotArrow();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorShotArrow() override;
+4 -14
View File
@@ -112,24 +112,14 @@ public:
/* 27C */ VecFx32 mUnk_27C;
/* 288 */ VecFx32 mUnk_288;
/* 294 */ bool mUnk_294;
/* 296 */ volatile u16 mUnk_296;
/* 298 */ u16 mUnk_298;
/* 296 */ Timer mUnk_296;
/* 29A */
ActorSpinut();
bool IsInternalTimerOut() {
if (this->mUnk_296 < this->mUnk_298) {
this->mUnk_296++;
return false;
}
return true;
}
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorSpinut() override;
/* 54 */ virtual void vfunc_54(unk32 param1) override;
+3 -3
View File
@@ -108,9 +108,9 @@ public:
ActorTearLight();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
+2 -2
View File
@@ -20,8 +20,8 @@ public:
ActorUnkATTG();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
void func_ov031_020f3eec(ActorState state, unk32 param2);
bool func_ov031_020f4014();
+5 -7
View File
@@ -100,10 +100,8 @@ public:
/* 1F4 */ Actor_Derived1_94 mUnk_1F4;
/* 200 */ UnkStruct_ov063_02162e88 mUnk_200;
/* 224 */ UnkStruct_ActorUnkCANS_224 mUnk_224;
/* 234 */ volatile u16 mUnk_234;
/* 236 */ u16 mUnk_236;
/* 238 */ volatile u16 mUnk_238;
/* 23A */ u16 mUnk_23A;
/* 234 */ Timer mUnk_234;
/* 238 */ Timer mUnk_238;
/* 23C */ UnkStruct_ov063_02162ea8 mUnk_23C;
/* 250 */ VecFx32 mUnk_250;
/* 25C */ unk32 mUnk_25C;
@@ -121,9 +119,9 @@ public:
ActorUnkCANS();
/* 10 */ virtual void vfunc_10(Cylinder *param1) override;
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C(void) override;
/* 20 */ virtual void vfunc_20(void) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup(void) override;
/* 20 */ virtual void Update(void) override;
/* 24 */ virtual void vfunc_24(void) override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
+2 -2
View File
@@ -86,8 +86,8 @@ public:
ActorUnkCASE();
/* 10 */ virtual void vfunc_10(Cylinder *param1) override;
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
+2 -2
View File
@@ -16,8 +16,8 @@ public:
ActorUnkEFIK();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 4C */ virtual ~ActorUnkEFIK() override;
/* 54 */ virtual void vfunc_54(unk32 param1);
+2 -2
View File
@@ -18,8 +18,8 @@ public:
ActorUnkEFSB();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 54 */ virtual void vfunc_54(unk32 param1);
+2 -2
View File
@@ -20,8 +20,8 @@ public:
ActorUnkFLEN();
/* 18 */ virtual bool vfunc_18(int param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(int param1) override;
/* 20 */ virtual void Update() override;
void SetState(ActorState state);
bool func_ov031_020f81f8();
+3 -4
View File
@@ -78,8 +78,7 @@ public:
/* B4 */ ActorUnkMLCK_A0 **mUnk_B4;
/* B8 */ unk32 mUnk_B8;
/* BC */ unk32 mUnk_BC;
/* C0 */ u16 mUnk_C0;
/* C2 */ vu16 mUnk_C2;
/* C0 */ Timer mUnk_C0;
/* C4 */ ActorUnkMLCK_C4 mUnk_C4;
/* D8 */ ActorUnkMLCK_D8 mUnk_D8;
/* E4 */ ActorUnkMLCK_D8 mUnk_E4;
@@ -93,10 +92,10 @@ public:
/// (Actor)
// overlay 31
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 18 */ virtual bool Init(unk32 param1) override;
// overlay 102
/* 20 */ virtual void vfunc_20() override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/// (FileSelectManager_UnkDrawBase)
+3 -4
View File
@@ -24,8 +24,7 @@ class ActorUnkNFSP : public Actor {
public:
/* 00 (base) */
/* 94 */ unk32 mUnk_94;
/* 98 */ volatile u16 mUnk_98;
/* 9A */ u16 mUnk_9A;
/* 98 */ Timer mUnk_98;
/* 9C */ MapObjectUnkSWFS *mUnk_9C;
/* A0 */ Actor_9C mUnk_A0;
/* C0 */ ActorUnkNFSP_C0 mUnk_C0;
@@ -34,8 +33,8 @@ public:
ActorUnkNFSP();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 54 */ virtual void vfunc_54(unk32 param1);
+1 -1
View File
@@ -12,7 +12,7 @@ public:
ActorUnkNORE();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 18 */ virtual bool Init(unk32 param1) override;
};
class ActorProfileUnkNORE : public ActorProfile {
+2 -2
View File
@@ -13,8 +13,8 @@ public:
ActorUnkNTTZ();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
void func_ov031_020f61a0();
+2 -2
View File
@@ -22,8 +22,8 @@ public:
ActorUnkOBPC();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
bool func_ov024_020d6f74(void);
+2 -2
View File
@@ -26,8 +26,8 @@ public:
ActorUnkRBLS();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20(void) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update(void) override;
/* 24 */ virtual void vfunc_24(void) override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
+3 -3
View File
@@ -16,9 +16,9 @@ public:
ActorUnkRMSBase();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 58 */ virtual G3d_Model *vfunc_58() = 0;
+2 -2
View File
@@ -17,8 +17,8 @@ public:
ActorUnkRMSD();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20(void) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update(void) override;
/* 24 */ virtual void vfunc_24(void) override;
/* 54 */ virtual G3d_Model *vfunc_54(void);
/* 58 */ virtual G3d_Model *vfunc_58(void);
+2 -2
View File
@@ -40,8 +40,8 @@ public:
ActorUnkRMSV();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20(void) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update(void) override;
/* 24 */ virtual void vfunc_24(void) override;
/* 54 */ virtual G3d_Model *vfunc_54(void) override;
/* 58 */ virtual G3d_Model *vfunc_58(void) override;
+2 -2
View File
@@ -27,8 +27,8 @@ public:
ActorUnkRMSW();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20(void) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update(void) override;
/* 24 */ virtual void vfunc_24(void) override;
/* 54 */ virtual G3d_Model *vfunc_54(void) override;
/* 58 */ virtual G3d_Model *vfunc_58(void) override;
+2 -2
View File
@@ -13,8 +13,8 @@ public:
ActorUnkRMTG();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
};
+2 -2
View File
@@ -26,8 +26,8 @@ public:
ActorUnkROCK();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 38 */ virtual bool Grab(ActorGrabParams param1) override;
/* 38 */ virtual bool Drop(ActorGrabParams param1, const VecFx32 *param2) override;
+1 -1
View File
@@ -38,7 +38,7 @@ public:
ActorUnkSCCN();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 18 */ virtual bool Init(unk32 param1) override;
};
class ActorProfileUnkSCCN : public ActorProfile {
+3 -3
View File
@@ -29,9 +29,9 @@ public:
ActorUnkSKDO();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 20 */ virtual void Update() override;
/* 54 */ virtual void vfunc_54(unk32 param1);
};
+2 -2
View File
@@ -66,8 +66,8 @@ public:
ActorUnkSWBM();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
+2 -2
View File
@@ -14,8 +14,8 @@ public:
ActorUnkSWCH();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
};
+2 -2
View File
@@ -27,8 +27,8 @@ public:
ActorUnkSWOB();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
bool func_ov000_0209a948(void);
void SetState(ActorState state);
+1 -1
View File
@@ -12,7 +12,7 @@ public:
ActorUnkSWON();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 4C */ virtual ~ActorUnkSWON() override;
};
+2 -2
View File
@@ -42,8 +42,8 @@ public:
ActorUnkSWTM();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 4C */ virtual ~ActorUnkSWTM() override;
+4 -14
View File
@@ -29,13 +29,11 @@ public:
/* 1B4 */ ActorUnkNTTZ *mUnk_1B4;
/* 1B8 */ unk32 mUnk_1B8;
/* 1BC */ unk32 mUnk_1BC;
/* 1C0 */ volatile u16 mUnk_1C0;
/* 1C2 */ u16 mUnk_1C2;
/* 1C0 */ Timer mUnk_1C0;
/* 1CC */ fx32 mUnk_1C4;
/* 1C8 */ UnkStruct_ov019_020d24c8_28_258_00 *mUnk_1C8;
/* 1CC */ unk32 mUnk_1CC;
/* 1D0 */ volatile u16 mUnk_1D0;
/* 1D2 */ u16 mUnk_1D2;
/* 1D0 */ Timer mUnk_1D0;
/* 1D4 */ u16 mUnk_1D4;
/* 1D6 */ u16 mUnk_1D6;
/* 1D8 */ bool mUnk_1D8;
@@ -44,20 +42,12 @@ public:
ActorUnkTGTZ();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 30 */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 34 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
bool IsInternalTimerOut() {
if (this->mUnk_1D0 < this->mUnk_1D2) {
++this->mUnk_1D0;
return false;
}
return true;
}
void func_ov031_020f6984();
static void func_ov031_020f6e5c(ActorRef param1);
static void func_ov031_020f6ea8(ActorRef *param0, u16 param1, const VecFx32 *param2, s16 param3, u16 param4);
+3 -3
View File
@@ -24,9 +24,9 @@ public:
ActorUnkTLKTnCLLT_Base();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 54 */ virtual void vfunc_54();
/* 58 */ virtual void vfunc_58();
+2 -2
View File
@@ -279,8 +279,8 @@ public:
// data_ov031_02113880
/* 00 */ virtual void GetOffsetPos(VecFx32 *pPos) const override;
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 20 */ virtual void Update() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorUnkZLSL() override;
/* 58 */ virtual void vfunc_58(ActorState state) override;
+5 -6
View File
@@ -92,7 +92,7 @@ public:
/* 0A */ unk32 mUnk_08;
/* 0C */
void func_01ffc6d4(u16 param1, VecFx32 *pos);
void func_01ffc6d4(UnkAngleStruct param1, VecFx32 *pos);
Actor_Derived1_a4(ModelRender *pModelRender) {
this->mpModelRender = pModelRender;
@@ -147,8 +147,7 @@ public:
/* 0E0 */ unk16 mUnk_0E0;
/* 0E0 */ unk16 mUnk_0E2;
/* 0E4 */ void (*mUnk_0E4)(); // callback
/* 0E8 */ volatile u16 mUnk_0E8;
/* 0E8 */ volatile u16 mUnk_0EA;
/* 0E8 */ Timer mUnk_0E8;
/* 0EC */ Actor_Derived1_EC mUnk_0EC;
/* 104 */ Cylinder mUnk_104;
/* 114 */ unk32 mUnk_114;
@@ -156,9 +155,9 @@ public:
/* 11C */ unk32 mUnk_11C;
/* 14 */ virtual bool vfunc_14(Cylinder *param1) override;
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 20 */ virtual void Update() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~Actor_Derived1();
-2
View File
@@ -221,5 +221,3 @@ public:
this->mUnk_0C = 0x20004;
}
};
extern const UnkStruct_ov019_020d1e70 data_ov019_020d1e70;
+4 -7
View File
@@ -126,10 +126,7 @@ public:
/* 00 (vtable) */
/* 04 */ VecFx32 mPos;
/* 10 */ MapObject_10_Base *mUnk_10;
/* 14 */ union {
s16 mAngle;
UnkAngleStruct mAngleStruct;
};
/* 14 */ UnkAngleStruct mAngle;
/* 16 */ MapObjState mState;
/* 18 */ unk8 mUnk_18[2]; // related to Link walking to the map object when touched
/* 1A */ unk8 mUnk_1A;
@@ -144,8 +141,8 @@ public:
/* 40 */
// data_ov000_020b3590
/* 00 */ virtual bool vfunc_00(); // Init
/* 04 */ virtual void vfunc_04(); // Setup
/* 00 */ virtual bool Init();
/* 04 */ virtual void Setup();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
@@ -160,7 +157,7 @@ public:
/* 38 */
u16 GetDirection() {
return (u16) (this->mAngle + DEG_TO_ANG(45)) / DEG_TO_ANG(90);
return (u16) (this->mAngle.angle_s + DEG_TO_ANG(45)) / DEG_TO_ANG(90);
}
bool IsOrientedVertically() {
+1 -11
View File
@@ -27,8 +27,7 @@ public:
/* A8 */ STRUCT_PAD(0xA8, 0xB0);
/* BC */ fx32 mUnk_B0;
/* BC */ fx32 mUnk_B4;
/* B8 */ volatile u16 mUnk_B8;
/* BA */ u16 mUnk_BA;
/* B8 */ Timer mUnk_B8;
/* BC */ bool mUnk_BC;
/* C0 */ MapObject_10_Pot mUnk_C0;
@@ -44,15 +43,6 @@ public:
/* 50 */ virtual void vfunc_50(ActorRef *param1, MapObjectPot_Base *thisx) override;
/* 58 */ virtual void vfunc_58();
bool IsInternalTimerOut() {
if (this->mUnk_B8 < this->mUnk_BA) {
++this->mUnk_B8;
return false;
}
return true;
}
void func_ov031_02102728(unk32 param1);
};
+2 -2
View File
@@ -58,8 +58,8 @@ public:
MapObjectChestBase(unk32 param1); // func_ov031_0210307c
/* 00 */ virtual bool vfunc_00() override;
/* 04 */ virtual void vfunc_04() override;
/* 00 */ virtual bool Init() override;
/* 04 */ virtual void Setup() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
+1 -1
View File
@@ -41,7 +41,7 @@ public:
MapObjectDoorClick();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
@@ -5,6 +5,7 @@
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
#include "global.h"
#include "timer.hpp"
#include "types.h"
class MapObjectDoorDangerSpawn_ov031_02116e24 : public UnkStruct_ov000_020b34c4 {
@@ -50,14 +51,13 @@ public:
/* A3 */ unk8 mUnk_A3;
/* A4 */ unk32 mUnk_A4;
/* A8 */ UnkStruct_PlayerGet_ec mUnk_A8;
/* AC */ volatile u16 mUnk_AC;
/* AE */ u16 mUnk_AE;
/* AC */ Timer mUnk_AC;
MapObjectDoorDangerSpawn();
// data_ov031_021150d8 (MapObject)
/* 00 */ virtual bool vfunc_00() override;
/* 04 */ virtual void vfunc_04() override;
/* 00 */ virtual bool Init() override;
/* 04 */ virtual void Setup() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
+1 -1
View File
@@ -32,7 +32,7 @@ public:
MapObjectDoorKey();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
+1 -1
View File
@@ -40,7 +40,7 @@ public:
MapObjectDoorSwitch();
// data_ov031_0211527c (MapObject)
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
+1 -1
View File
@@ -12,7 +12,7 @@ public:
MapObjectDoorTouch();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 30 */ virtual ~MapObjectDoorTouch() override;
/* 40 */ virtual void vfunc_40() override;
/* 44 */ virtual void vfunc_44() override;
+1 -1
View File
@@ -37,7 +37,7 @@ public:
MapObjectGrass();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
+1 -1
View File
@@ -14,7 +14,7 @@ public:
MapObjectMiniBlocks();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 30 */ virtual ~MapObjectMiniBlocks() override;
};
+1 -1
View File
@@ -13,7 +13,7 @@ public:
MapObjectPot();
/* 04 */ virtual void vfunc_04() override; // func_ov031_02105088
/* 04 */ virtual void Setup() override; // func_ov031_02105088
/* 14 */ virtual void vfunc_14(unk32 param1) override; // func_ov031_021052cc
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3); // func_ov031_021050b4
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override; // func_ov031_02105348
+1 -1
View File
@@ -20,7 +20,7 @@ public:
MapObjectPot_Base();
// data_ov000_020b35d0
/* 00 */ virtual bool vfunc_00();
/* 00 */ virtual bool Init();
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectPot_Base() = 0 override;
+3 -3
View File
@@ -5,6 +5,7 @@
#include "Render/ModelRender.hpp"
#include "Unknown/Common.hpp"
#include "global.h"
#include "timer.hpp"
#include "types.h"
class MapObjectSwitchStep_40 : public ModelRender {
@@ -39,8 +40,7 @@ public:
/* A4 */ UnkSystem5 mUnk_A4;
/* C4 */ unk32 mUnk_C4;
/* C8 */ STRUCT_PAD(0xC8, 0xE4);
/* E4 */ volatile u16 mUnk_E4;
/* E6 */ u16 mUnk_E6;
/* E4 */ Timer mUnk_E4;
/* E8 */ unk16 mUnk_E8;
/* EA */ u8 mUnk_EA; // bool?
/* EB */ unk8 mUnk_EB;
@@ -48,7 +48,7 @@ public:
MapObjectSwitchStep();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
+3 -3
View File
@@ -5,6 +5,7 @@
#include "MapObject/MapObjectProfile.hpp"
#include "Render/ModelRender.hpp"
#include "global.h"
#include "timer.hpp"
class UnkStruct_ov063_021639e4 : public ActorUnkTLKT_9C_Base {
public:
@@ -24,13 +25,12 @@ public:
/* 00 (base) */
/* 40 */ ModelRender mUnk_40;
/* A0 */ unk32 mUnk_A0;
/* A4 */ volatile u16 mUnk_A4;
/* A6 */ u16 mUnk_A6;
/* A4 */ Timer mUnk_A4;
/* A8 */ UnkStruct_ov063_021639e4 mUnk_A8;
MapObjectUnkLTRW();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
+3 -3
View File
@@ -5,6 +5,7 @@
#include "MapObject/MapObjectUnkSTAT.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/Common.hpp"
#include "timer.hpp"
#include "types.h"
class MapObjectUnkMTJR : public MapObject {
@@ -12,15 +13,14 @@ public:
/* 00 (base) */
/* 40 */ ModelRender mUnk_40;
/* A0 */ unk32 mUnk_A0;
/* A4 */ volatile u16 mUnk_A4; // Probably a counter
/* A6 */ u16 mUnk_A6; // Counter (mUnk_A4) bound
/* A4 */ Timer mUnk_A4;
/* A8 */ UnkSystem7 mUnk_A8;
/* AC */ unk32 mUnk_AC;
/* B0 */ unk32 mUnk_B0;
MapObjectUnkMTJR();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
+2 -2
View File
@@ -5,6 +5,7 @@
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "global.h"
#include "timer.hpp"
typedef MapObjState MapObjectUnkPTFLState;
enum MapObjectUnkPTFLState_ {
@@ -25,8 +26,7 @@ public:
/* 4C */ unk32 mUnk_4C;
/* 50 */ unk32 mUnk_50;
/* 54 */ fx16 mUnk_54;
/* 56 */ volatile u16 mUnk_56;
/* 58 */ volatile u16 mUnk_58;
/* 56 */ Timer mUnk_56;
/* 5A */ u8 mUnk_5A;
/* 5B */ bool mUnk_5B;
/* 5C */ bool mUnk_5C;
+4 -4
View File
@@ -5,6 +5,7 @@
#include "MapObject/MapObjectProfile.hpp"
#include "Unknown/UnkStruct_ov031_Items.hpp"
#include "global.h"
#include "timer.hpp"
#include "types.h"
enum MapObjUnkSKDIState_ {
@@ -33,15 +34,14 @@ public:
/* 0BC */ unk32 mUnk_0BC;
/* 0C0 */ STRUCT_PAD(0x0C0, 0x0D4);
/* 0D4 */ MapObject_10 mUnk_0D4;
/* 0F8 */ volatile u16 mUnk_0F8;
/* 0FA */ u16 mUnk_0FA;
/* 0F8 */ Timer mUnk_0F8;
/* 0FC */ unk32 mUnk_0FC;
/* 100 */
MapObjectUnkSKDI();
/* 00 */ virtual bool vfunc_00() override;
/* 04 */ virtual void vfunc_04() override;
/* 00 */ virtual bool Init() override;
/* 04 */ virtual void Setup() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
+3 -3
View File
@@ -4,6 +4,7 @@
#include "MapObject/MapObjectProfile.hpp"
#include "Render/ModelRender.hpp"
#include "global.h"
#include "timer.hpp"
#include "types.h"
class MapObjectUnkSTAT : public MapObject {
@@ -14,8 +15,7 @@ public:
/* 50 */ unk32 mUnk_50;
/* 54 */ unk32 mUnk_54;
/* 58 */ unk16 mUnk_58;
/* 5A */ volatile u16 mUnk_5A;
/* 5C */ u16 mUnk_5C;
/* 5A */ Timer mUnk_5A;
/* 5E */ STRUCT_PAD(0x5E, 0x60);
/* 60 */ unk32 mUnk_60;
/* 64 */ unk32 mUnk_64;
@@ -23,7 +23,7 @@ public:
MapObjectUnkSTAT();
/* 00 */ virtual bool vfunc_00() override; // Init
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
+1 -1
View File
@@ -31,7 +31,7 @@ public:
MapObjectUnkSWHT();
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
+4 -13
View File
@@ -3,6 +3,7 @@
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "global.h"
#include "timer.hpp"
#include "types.h"
class ActorUnkNSSW;
@@ -34,29 +35,19 @@ public:
/* 0EC */ VecFx32 mUnk_0EC;
/* 0F8 */ ActorUnkNSSW *mUnk_0F8;
/* 0FC */ unk32 mUnk_0FC;
/* 100 */ volatile u16 mUnk_100;
/* 102 */ u16 mUnk_102;
/* 100 */ Timer mUnk_100;
/* 104 */ u8 mUnk_104;
/* 105 */ u8 mUnk_105;
/* 106 */ STRUCT_PAD(0x106, 0x108);
/* 108 */ fx32 mUnk_108;
/* 10C */ unk16 mUnk_10C;
/* 10E */ volatile u16 mUnk_10E;
/* 110 */ u16 mUnk_110;
/* 10E */ Timer mUnk_10E;
/* 114 */ ActorUnkNSSW *mUnk_114;
/* 118 */
MapObjectUnkSWSW();
bool IsInternalTimerOut() {
if (this->mUnk_100 < this->mUnk_102) {
++this->mUnk_100;
return false;
}
return true;
}
/* 00 */ virtual bool vfunc_00() override;
/* 00 */ virtual bool Init() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
+1
View File
@@ -1,4 +1,5 @@
#pragma once
#include "MapObject.hpp"
class MapObject_10_Pot_Base : public MapObject_10_Base {
+3 -2
View File
@@ -1,5 +1,7 @@
#pragma once
#include "MapObject/MapObject.hpp"
class MapObjectPot_Base : public MapObject {
public:
/* 00 (base) */
@@ -8,8 +10,7 @@ public:
MapObjectPot_Base();
// data_ov000_020b35d0
/* 00 */ virtual bool vfunc_00(); // func_ov000_0209d780
/* 00 */ virtual bool Init(); // func_ov000_0209d780
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override; // func_ov000_0209d8e8
/* 28 */ virtual unk32 vfunc_28(unk32 param1) override; // func_ov000_0209d9f8
/* 30 */ virtual ~MapObjectPot_Base() = 0 override;
+1 -4
View File
@@ -520,10 +520,7 @@ public:
/* 0C */ VecFx32 mPrevPos;
/* 18 */ VecFx32 mVel;
/* 24 */ VecFx32 mAccel;
/* 30 */ union {
u16 mAngle;
UnkAngleStruct mAngleStruct;
};
/* 30 */ UnkAngleStruct mAngle;
/* 32 */ u8 mInvincibilityTimer;
/* 33 */ u8 mInvincibilityIconTimer; // the blinking icon on top-screen
/* 34 */ ActorRef mGrabActor;
+1 -4
View File
@@ -149,10 +149,7 @@ public:
/* 064 */ UnkStruct_PlayerGet_64_2 mUnk_64;
/* 068 */ unk32 mUnk_68;
/* 06C */ unk32 mUnk_6C; // scale
/* 070 */ union {
unk16 mAngle;
UnkAngleStruct mUnkAngleStruct;
}; // angle/rotation
/* 070 */ UnkAngleStruct mAngle;
/* 070 */ u8 mUnk_72; // probably bools
/* 070 */ u8 mUnk_73; // probably bools
/* 074 */ UnkStruct_PlayerGet_74 mUnk_74;
+3 -1
View File
@@ -1,6 +1,8 @@
#pragma once
#include "types.h"
#include "Map/MapObjectId.hpp"
#include "MapObject/MapObject.hpp"
#include "nitro/fx.h"
class UnkStruct_ov000_020b34c4 {
public:
+2 -1
View File
@@ -1,6 +1,8 @@
#pragma once
#include "MapObject/MapObject.hpp"
#include "global.h"
#include "nitro/fx.h"
#include "types.h"
class MapObject_20;
@@ -41,4 +43,3 @@ template <typename T> struct UnkStruct_ov000_020b5d34_Instance {
};
#define data_ov000_020b5d34 UnkStruct_ov000_020b5d34_Instance<UnkStruct_ov000_020b5d34>::data_ov000_020b5d34
extern UnkStruct_ov000_020b5d34 data_ov000_020b5d34;
+2 -2
View File
@@ -8,7 +8,7 @@ public:
UnkStruct_ov031_02114664();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 1C */ virtual void Setup() override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
};
+1 -1
View File
@@ -10,7 +10,7 @@ public:
UnkStruct_ov031_02114870();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 18 */ virtual bool Init(unk32 param1) override;
/* 2C */ virtual void vfunc_2C(Actor_vfunc_30 *param1) override;
/* 54 */ virtual G3d_Model *vfunc_54();
};
+24 -3
View File
@@ -405,11 +405,32 @@ union Vec3s {
struct UnkAngleStruct {
union {
u16 angle;
s16 angle_signed;
u16 angle_u;
s16 angle_s;
};
UnkAngleStruct() {}
UnkAngleStruct(s16 angle) :
angle_signed(angle) {}
angle_s(angle) {}
// clang-format off
UnkAngleStruct& operator+=(const u16 value) { this->angle_u += value; return *this; }
UnkAngleStruct& operator+=(const unsigned int value) { this->angle_u += value; return *this; }
UnkAngleStruct& operator+=(const s16 value) { this->angle_s += value; return *this; }
UnkAngleStruct& operator+=(const int value) { this->angle_s += value; return *this; }
UnkAngleStruct& operator++() { this->angle_s += 1; return *this; }
UnkAngleStruct& operator++(int) { this->angle_s += 1; return *this; }
UnkAngleStruct& operator-=(const u16 value) { this->angle_u -= value; return *this; }
UnkAngleStruct& operator-=(const unsigned int value) { this->angle_u -= value; return *this; }
UnkAngleStruct& operator-=(const s16 value) { this->angle_s -= value; return *this; }
UnkAngleStruct& operator-=(const int value) { this->angle_s -= value; return *this; }
UnkAngleStruct& operator--() { this->angle_s -= 1; return *this; }
UnkAngleStruct& operator--(int) { this->angle_s -= 1; return *this; }
UnkAngleStruct& operator=(const u16 value) { this->angle_u = value; return *this; }
UnkAngleStruct& operator=(const unsigned int value) { this->angle_u += value; return *this; }
UnkAngleStruct& operator=(const s16 value) { this->angle_s = value; return *this; }
UnkAngleStruct& operator=(const int value) { this->angle_s = value; return *this; }
// clang-format on
};
+83
View File
@@ -0,0 +1,83 @@
#pragma once
#include "nitro/types.h"
struct Timer {
/* 00 */ volatile u16 value;
/* 02 */ u16 max;
/* 04 */
Timer() {}
Timer(u16 value, u16 max) {
this->value = value;
this->max = max;
}
// advances the value until it reached the max value
void Update() {
if (this->value < this->max) {
this->value++;
}
}
// same as `Update()` except it returns true if the max value is reached
bool HasExpired() {
if (this->value < this->max) {
this->value++;
return false;
}
return true;
}
void Set(u16 value, u16 max) {
this->max = max;
this->value = value;
}
void SetAlt(u16 value, u16 max) {
this->value = value;
this->max = max;
}
void Init() {
this->Set(0, 0);
}
void Reset() {
this->Set(0, -1);
}
int GetRemainingTime() {
return this->max - this->value;
}
bool HasReachedMax() {
return this->GetValue() >= this->max;
}
bool HasReachedMaxU() {
u32 value = this->value;
return value >= this->max;
}
int GetValue() {
return this->value;
}
u32 GetValueU() {
return this->value;
}
int GetMax() {
return this->max;
}
bool Test(u16 value) {
u16 max = this->max;
u16 time = this->value;
return !(time < max && max - time != value);
}
};