mirror of
https://github.com/zeldaret/st
synced 2026-10-08 13:36:27 -04:00
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:
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,4 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#include "MapObject.hpp"
|
||||
|
||||
class MapObject_10_Pot_Base : public MapObject_10_Base {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user