mirror of
https://github.com/zeldaret/st
synced 2026-05-23 15:01:41 -04:00
c3c34ebe5a
* random docs * "match" ctor * match ctor and link miniblocks * DRDS 98% * jp differences * improve MapObjectUnkDRDS::vfunc_04 * MapObjectDoorBase 78% * fix regressions * MapObjectDoorBase 98% * MapObjectUnkDRKY 98% * MapObjectUnkDRSW 100% * fix build issues * MapObjectUnkDRTC 100% * DRCK delinks * MapObjectUnkDRCK 98%
133 lines
3.7 KiB
C++
133 lines
3.7 KiB
C++
#pragma once
|
|
|
|
#include "MapObject/MapObject.hpp"
|
|
#include "Player/PlayerGet.hpp"
|
|
|
|
class MapObject_UnkStruct1 {
|
|
public:
|
|
/* 00 (vtable) */
|
|
/* 04 */ unk32 mUnk_44;
|
|
/* 08 */ unk16 mUnk_48;
|
|
/* 0A */ s16 mUnk_4A;
|
|
/* 0C */ Vec3p mUnk_4C;
|
|
/* 18 */
|
|
|
|
MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4
|
|
|
|
// data_ov000_020b2290
|
|
/* 00 */ virtual void vfunc2_00();
|
|
/* 04 */ virtual void vfunc2_04();
|
|
/* 08 */ virtual void vfunc2_08();
|
|
/* 0C */ virtual void vfunc2_0C();
|
|
};
|
|
|
|
class MapObject_UnkStruct1_Derived1 : public MapObject_UnkStruct1 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 18 */ bool mUnk_58;
|
|
/* 19 */ unk8 mUnk_59;
|
|
/* 1A */ s16 mUnk_5A;
|
|
/* 1C */ Vec3p mUnk_5C;
|
|
/* 28 */
|
|
|
|
MapObject_UnkStruct1_Derived1(); // func_ov000_02073234
|
|
|
|
// data_ov000_020b22a8
|
|
/* 0C */ virtual void vfunc2_0C() override;
|
|
};
|
|
|
|
class MapObject_UnkStruct1_Derived2 : public MapObject_UnkStruct1_Derived1 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 28 */
|
|
|
|
// data_ov031_021150a0
|
|
/* 04 */ virtual void vfunc2_04() override;
|
|
/* 08 */ virtual void vfunc2_08() override;
|
|
};
|
|
|
|
class MapObjectDoorBase : public MapObject, public MapObject_UnkStruct1_Derived2 {
|
|
public:
|
|
/* 00 (base MapObject) */
|
|
/* 40 (base MapObject_UnkStruct1_Derived2) */
|
|
/* 68 */ UnkStruct_PlayerGet_ec mUnk_68;
|
|
/* 6C */ unk32 mUnk_6C;
|
|
/* 70 */ unk32 mUnk_70;
|
|
/* 74 */ unk32 mUnk_74;
|
|
/* 78 */ u16 mUnk_78;
|
|
/* 7A */ u16 mUnk_7A;
|
|
/* 7C */ u16 mUnk_7C;
|
|
/* 7E */ u16 mUnk_7E;
|
|
/* 80 */ unk16 mUnk_80;
|
|
/* 82 */ u16 mUnk_82;
|
|
/* 84 */ u16 mUnk_84;
|
|
/* 86 */ bool mUnk_86;
|
|
/* 87 */ bool mUnk_87;
|
|
/* 88 */ bool mUnk_88;
|
|
/* 89 */ bool mUnk_89;
|
|
/* 8A */ bool mUnk_8A;
|
|
/* 8B */ bool mUnk_8B;
|
|
/* 8C */ bool mUnk_8C;
|
|
/* 8D */ bool mUnk_8D;
|
|
/* 8E */ bool mUnk_8E;
|
|
/* 8F */ bool mUnk_8F;
|
|
/* 90 */ bool mUnk_90;
|
|
/* 91 */ bool mUnk_91;
|
|
/* 91 */ unk8 mUnk_92; // pad?
|
|
/* 91 */ unk8 mUnk_93; // pad?
|
|
/* 94 */
|
|
|
|
MapObjectDoorBase();
|
|
|
|
// data_ov031_02115008 (MapObject)
|
|
/* 08 */ virtual void vfunc_08() override;
|
|
/* 0C */ virtual void vfunc_0C() override;
|
|
|
|
#ifdef DOORBASE_DTOR_NOINLINE
|
|
//! TODO: hacky trick to match function order (pch hint?)
|
|
/* 30 */ virtual ~MapObjectDoorBase() override;
|
|
#else
|
|
/* 30 */ virtual ~MapObjectDoorBase() override {}
|
|
#endif
|
|
|
|
// (MapObject_UnkStruct1_Derived2)
|
|
/* 04 */ virtual void vfunc2_04() override;
|
|
/* 08 */ virtual void vfunc2_08() override;
|
|
|
|
// (MapObject)
|
|
/* 40 */ virtual void vfunc_40();
|
|
/* 44 */ virtual void vfunc_44();
|
|
/* 48 */ virtual void vfunc_48();
|
|
/* 4C */ virtual void vfunc_4C();
|
|
/* 50 */ virtual void vfunc_50();
|
|
/* 54 */ virtual void vfunc_54();
|
|
/* 58 */ virtual void vfunc_58();
|
|
/* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2);
|
|
/* 60 */ virtual void vfunc_60();
|
|
/* 64 */ virtual bool vfunc_64();
|
|
/* 68 */ virtual bool vfunc_68();
|
|
/* 6C */ virtual bool vfunc_6C();
|
|
/* 70 */ virtual void vfunc_70();
|
|
/* 74 */ virtual void vfunc_74();
|
|
/* 78 */ virtual void vfunc_78();
|
|
/* 7C */ virtual void vfunc_7C();
|
|
/* 80 */ virtual void vfunc_80();
|
|
/* 84 */ virtual void vfunc_84(unk32 param1, Vec3p *param2, unk16 *param3);
|
|
/* 88 */ virtual bool vfunc_88();
|
|
/* 8C */ virtual unk32 vfunc_8C();
|
|
/* 90 */
|
|
|
|
void func_ov031_020fbf10(bool param1, bool param2);
|
|
void func_ov031_020fcb78(s8 *param1, s8 param2);
|
|
void func_ov031_020fcd40();
|
|
void func_ov031_020fcf0c(unk32 param1);
|
|
bool func_ov031_020fcf30();
|
|
};
|
|
|
|
struct UnkStruct_ov031_021150b0 {
|
|
/* 00 */ u32 mUnk_00;
|
|
|
|
UnkStruct_ov031_021150b0(u32 val) :
|
|
mUnk_00(val) {}
|
|
};
|