mirror of
https://github.com/zeldaret/st
synced 2026-08-06 09:53:03 -04:00
f90c7cd531
* feat: decompiling skdo * feat: update * fix: match back .data of doors * feat: fully decompiled SWCH for eur missing bss for JP * feat: increase matching code * feat: decompile most part of SCCN * feat: update * feat: progress sccn jap data * feat: progress decompiling * fix: build issues * feat: increase matching * refactor: rename BLST to Blast * feat: increase grss * refactor: rename unkgrss to grass * refactor: rename id * refactor: change to fx32 * feat: complete RMTG actor * refactor: use ARRAY_LENGTH macro
146 lines
4.0 KiB
C++
146 lines
4.0 KiB
C++
#pragma once
|
|
|
|
#include "MapObject/MapObject.hpp"
|
|
#include "Player/PlayerGet.hpp"
|
|
|
|
class MapObject_UnkStruct1 {
|
|
public:
|
|
/* 00 (vtable) */
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */
|
|
|
|
// 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) */
|
|
/* 08 */ unk16 mUnk_48;
|
|
/* 0A */ s16 mUnk_4A;
|
|
/* 0C */ VecFx32 mUnk_4C;
|
|
/* 18 */ bool mUnk_58;
|
|
/* 19 */ unk8 mUnk_59;
|
|
/* 1A */ s16 mUnk_5A;
|
|
/* 1C */ VecFx32 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;
|
|
};
|
|
|
|
enum MapObjectDoorBaseState {
|
|
MapObjDoorBaseState_0 = 0,
|
|
MapObjDoorBaseState_1 = 1,
|
|
MapObjDoorBaseState_2 = 2,
|
|
MapObjDoorBaseState_3 = 3,
|
|
MapObjDoorBaseState_4 = 4,
|
|
MapObjDoorBaseState_5 = 5,
|
|
MapObjDoorBaseState_6 = 6,
|
|
MapObjDoorBaseState_7 = 7,
|
|
MapObjDoorBaseState_8 = 8,
|
|
MapObjDoorBaseState_MAX
|
|
};
|
|
|
|
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(MapObjState state, 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, VecFx32 *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) {}
|
|
};
|