mirror of
https://github.com/zeldaret/st
synced 2026-10-08 05:34:09 -04:00
07a5bd9fcc
* name some actor vfuncs * name some map object vfuncs * remove angle union * fix lots of clangd errors * create Timer struct * fix regressions
87 lines
2.2 KiB
C++
87 lines
2.2 KiB
C++
#pragma once
|
|
|
|
#include "MapObject/MapObject.hpp"
|
|
#include "MapObject/MapObjectProfile.hpp"
|
|
#include "Render/ModelRender.hpp"
|
|
#include "Unknown/Common.hpp"
|
|
#include "global.h"
|
|
#include "timer.hpp"
|
|
#include "types.h"
|
|
|
|
class MapObjectSwitchStep_40 : public ModelRender {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 60 */ unk16 mUnk_60;
|
|
/* 62 */ bool mUnk_62;
|
|
/* 63 */ unk8 mUnk_63;
|
|
/* 64 */
|
|
|
|
MapObjectSwitchStep_40();
|
|
|
|
// data_ov000_020b36e0
|
|
/* 00 */ virtual ~MapObjectSwitchStep_40() override {}
|
|
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
|
|
|
void func_ov000_0209dde0(void);
|
|
};
|
|
|
|
enum MapObjSwitchStepState_ {
|
|
MapObjSwitchStepState_0 = 0,
|
|
MapObjSwitchStepState_1 = 1,
|
|
MapObjSwitchStepState_2 = 2,
|
|
MapObjSwitchStepState_3 = 3,
|
|
MapObjSwitchStepState_MAX
|
|
};
|
|
|
|
class MapObjectSwitchStep : public MapObject {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 40 */ MapObjectSwitchStep_40 mUnk_40;
|
|
/* A4 */ UnkSystem5 mUnk_A4;
|
|
/* C4 */ unk32 mUnk_C4;
|
|
/* C8 */ STRUCT_PAD(0xC8, 0xE4);
|
|
/* E4 */ Timer mUnk_E4;
|
|
/* E8 */ unk16 mUnk_E8;
|
|
/* EA */ u8 mUnk_EA; // bool?
|
|
/* EB */ unk8 mUnk_EB;
|
|
/* EC */
|
|
|
|
MapObjectSwitchStep();
|
|
|
|
/* 00 */ virtual bool Init() override;
|
|
/* 08 */ virtual void vfunc_08() override;
|
|
/* 14 */ virtual void vfunc_14(unk32 param1) override;
|
|
/* 18 */ virtual void vfunc_18(s8 *param1) override;
|
|
/* 20 */ virtual void vfunc_20(unk32 param1) override;
|
|
/* 30 */ virtual ~MapObjectSwitchStep() override;
|
|
|
|
void func_ov000_0209dda4(void);
|
|
|
|
void func_ov000_0209e11c(MapObjState state, unk32 param2);
|
|
void func_ov000_0209e38c(void);
|
|
};
|
|
|
|
class MapObjectProfileSwitchStep_Base : public MapObjectProfile_Derived2 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* D4 */ MapObject_10 mUnk_D4;
|
|
|
|
MapObjectProfileSwitchStep_Base(MapObjectId mapObjId) :
|
|
MapObjectProfile_Derived2(mapObjId, mapObjId) {}
|
|
|
|
// data_ov000_020b369c (vtable)
|
|
};
|
|
|
|
class MapObjectProfileSwitchStep : public MapObjectProfileSwitchStep_Base {
|
|
public:
|
|
/* 00 (base) */
|
|
/* F8 */
|
|
|
|
MapObjectProfileSwitchStep();
|
|
~MapObjectProfileSwitchStep() {}
|
|
|
|
/* 00 */ virtual MapObject *Create();
|
|
|
|
static MapObjectProfileSwitchStep *GetProfile();
|
|
};
|