mirror of
https://github.com/zeldaret/st
synced 2026-08-27 08:27:17 -04:00
Decompiling MapObjectUnkLTRW (#142)
* feat: Start decompiling MapObjectUnkLTRW * fix: Remove unused code in ActorUnkCANS * feat: Match LTRW vfuncs * feat: Match LTRW functions * fix: Update MapObject vfunc_28 with new signature, and symbols * feat: Update a class with parent * feat: Create hollow parent class * feat: Complete sinit (non-matching) * feat: Match all of LTRW * feat: Sync jp * feat: Improve constants for their own type * Update src/063_Shrine/MapObject/MapObjectUnkLTRW.cpp Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * fix: Update some vfunc_28 with new signature * fix: Broken data * fix: More data * fix: Update vfunc 28 🤡 --------- Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
This commit is contained in:
@@ -94,6 +94,11 @@ public:
|
||||
/* 20 */
|
||||
};
|
||||
|
||||
class MapObject_10_Derived1 : public MapObject_10 {
|
||||
public:
|
||||
MapObject_10_Derived1() {}
|
||||
};
|
||||
|
||||
class MapObject_20 {
|
||||
public:
|
||||
/* 00 */ u16 mParams[4]; // parameters
|
||||
|
||||
@@ -1,36 +1,64 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorUnkTLKT.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov063_021639e4 : public ActorUnkTLKT_9C_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 08 */
|
||||
|
||||
UnkStruct_ov063_021639e4() {
|
||||
mUnk_04h = 0;
|
||||
mUnk_06 = 0;
|
||||
};
|
||||
|
||||
/* 04 */ virtual void vfunc2_04() override;
|
||||
};
|
||||
|
||||
class MapObjectUnkLTRW : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 40 */ ModelRender mUnk_40;
|
||||
/* A0 */ unk32 mUnk_A0;
|
||||
/* A4 */ volatile u16 mUnk_A4;
|
||||
/* A6 */ u16 mUnk_A6;
|
||||
/* A8 */ UnkStruct_ov063_021639e4 mUnk_A8;
|
||||
|
||||
MapObjectUnkLTRW();
|
||||
|
||||
/* 30 */ virtual ~MapObjectUnkLTRW() override;
|
||||
/* 00 */ virtual bool vfunc_00() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
|
||||
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
|
||||
void func_ov063_02160c6c(void);
|
||||
void func_ov063_02160cc8(void);
|
||||
void func_ov063_02160ce4(void);
|
||||
void func_ov063_02160d18(void);
|
||||
void func_ov063_02160d34(void);
|
||||
void func_ov063_02160df8(void);
|
||||
void func_ov063_02160e18(void);
|
||||
void func_ov063_02160d18(unk32 param1);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkLTRW : public MapObjectProfile {
|
||||
class MapObjectProfileUnkLTRW_Base_D4 : public MapObject_10 {
|
||||
public:
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkLTRW_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObjectProfileUnkLTRW_Base_D4 mUnk_D4;
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkLTRW_Base(MapObjectId mapObjId1, MapObjectId mapObjId2) :
|
||||
MapObjectProfile_Derived2(mapObjId1, mapObjId2),
|
||||
mUnk_D4() {};
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkLTRW : public MapObjectProfileUnkLTRW_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectProfileUnkLTRW();
|
||||
~MapObjectProfileUnkLTRW();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
class MapObjectPot_Base : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
|
||||
MapObjectPot_Base();
|
||||
|
||||
// data_ov000_020b35d0
|
||||
|
||||
/* 00 */ virtual bool vfunc_00(); // 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;
|
||||
/* 38 */ virtual void vfunc_38() override; // func_ov000_0209d9ac
|
||||
/* 3C */ virtual bool vfunc_3C() override; // func_ov000_0209db74
|
||||
/* 40 */ virtual bool vfunc_40() override; // func_ov000_0209db7c
|
||||
/* 44 */ virtual void vfunc_44(unk32, unk32) override; // func_ov000_0209d7a4
|
||||
/* 48 */ virtual void vfunc_48() override; // func_ov000_0209da60
|
||||
/* 4C */ virtual void vfunc_4C() override; // func_ov000_0209da70
|
||||
/* 50 */ virtual void vfunc_50() override; // func_ov000_0209dac0
|
||||
/* 54 */ virtual unk32 vfunc_54() override; // func_ov000_0209da64
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0209d8e8(MapObjectPot_Base *param1, fx32 param2);
|
||||
unk32 func_ov000_0209da64();
|
||||
};
|
||||
|
||||
class MapObject_10_Pot : public MapObject_10 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 24 */
|
||||
|
||||
MapObject_10_Pot() {}
|
||||
};
|
||||
|
||||
class MapObjectProfilePot_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObject_10_Pot mUnk_D4;
|
||||
|
||||
MapObjectProfilePot_Base(MapObjectId param1, MapObjectId param2) :
|
||||
MapObjectProfile_Derived2(param1, param2) {}
|
||||
};
|
||||
Reference in New Issue
Block a user