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:
Mityno
2026-08-25 13:10:10 +00:00
committed by GitHub
parent db8e927982
commit 939c492b33
15 changed files with 256 additions and 86 deletions
+42 -14
View File
@@ -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();