mirror of
https://github.com/zeldaret/st
synced 2026-08-29 17:02:33 -04:00
Decompiling MapObjectUnkSTAT (#134)
* feat: Match MapObjectUnkSTAT ctor and decompile its profile, rename vfuncs * feat: Decompile vfuncs (match 3/4) * feat: Start decompiling func_ov063_0215f7ac * fix: Update symbols and fix wrong behavior * feat: Improve func_ov063_0215f7ac * feat: Investigate func_ov063_0215f7ac conditions * feat: Decompile funcs, rename symbols, update .bss * feat: Improvements to functions * feat: Add .data for jp
This commit is contained in:
@@ -120,7 +120,10 @@ public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ VecFx32 mPos;
|
||||
/* 10 */ MapObject_10 *mUnk_10;
|
||||
/* 14 */ s16 mUnk_14;
|
||||
/* 14 */ union {
|
||||
s16 mUnk_14;
|
||||
UnkAngleStruct mUnk_14_AngleStruct;
|
||||
};
|
||||
/* 16 */ MapObjState mState;
|
||||
/* 18 */ unk8 mUnk_18[2]; // related to Link walking to the map object when touched
|
||||
/* 1A */ unk8 mUnk_1A;
|
||||
|
||||
@@ -4,30 +4,63 @@
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectUnkSTAT : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 40 */ UnkSystem6_Derived2 mUnk_40;
|
||||
/* 48 */ unk8 mUnk_48;
|
||||
/* 49 */ STRUCT_PAD(0x49, 0x4C);
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ unk16 mUnk_58;
|
||||
/* 5A */ volatile u16 mUnk_5A;
|
||||
/* 5C */ u16 mUnk_5C;
|
||||
/* 5E */ STRUCT_PAD(0x5E, 0x60);
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk32 mUnk_64;
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
|
||||
MapObjectUnkSTAT();
|
||||
|
||||
/* 00 */ virtual bool vfunc_00() override; // Init
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 30 */ virtual ~MapObjectUnkSTAT() override;
|
||||
|
||||
void func_ov063_0215f6d0(void);
|
||||
void func_ov063_0215f710(void);
|
||||
void func_ov063_0215f798(void);
|
||||
void func_ov063_0215f7ac(void);
|
||||
void func_ov063_0215fc40(void);
|
||||
void func_ov063_0215fc40(unk32 param1);
|
||||
void func_ov063_0215fc88(void);
|
||||
void func_ov063_0215fce0(void);
|
||||
unk32 func_ov063_0215fce0(void);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSTAT : public MapObjectProfile {
|
||||
class MapObjectProfileUnkSTAT_Base_D4 : public MapObject_10 {
|
||||
public:
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSTAT_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObjectProfileUnkSTAT_Base_D4 mUnk_D4;
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkSTAT_Base(MapObjectId mapObjId1, MapObjectId mapObjId2) :
|
||||
MapObjectProfile_Derived2(mapObjId1, mapObjId2),
|
||||
mUnk_D4() {};
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSTAT : public MapObjectProfileUnkSTAT_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkSTAT();
|
||||
~MapObjectProfileUnkSTAT();
|
||||
|
||||
Reference in New Issue
Block a user