Files
st/include/MapObject/MapObjectUnkSWSW.hpp
T
Alessevan 1634c50231 Decompiling SWSW (#144)
* feat: init decompiling

* feat: increase matching

* feat: better matching

* feat: match up jp

* fix: used ifdef instand of if

* doc: more explicit comment

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* style: add brackets for switch cases which define variables

---------

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
2026-08-24 18:41:00 +02:00

96 lines
2.3 KiB
C++

#pragma once
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "global.h"
#include "types.h"
class ActorUnkNSSW;
class MapObjectUnkSWSW_40 : public ModelRender {
public:
/* 00 (base) */
/* 60 */ unk32 mUnk_60;
/* 64 */ unk32 mUnk_64;
/* 68 */ unk16 mUnk_68;
/* 6A */ unk16 mUnk_6A;
/* 6C */
MapObjectUnkSWSW_40(G3d_Model *pModel);
// data_ov032_021227ac
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
void func_ov032_021210a0(fx32 param1);
};
class MapObjectUnkSWSW : public MapObject {
public:
/* 000 (base) */
/* 040 */ MapObjectUnkSWSW_40 mUnk_040;
/* 0AC */ UnkSystem5 mUnk_0AC;
/* 0CC */ unk32 mUnk_0CC;
/* 0E0 */ STRUCT_PAD(0xD0, 0xEC);
/* 0EC */ VecFx32 mUnk_0EC;
/* 0F8 */ ActorUnkNSSW *mUnk_0F8;
/* 0FC */ unk32 mUnk_0FC;
/* 100 */ volatile u16 mUnk_100;
/* 102 */ u16 mUnk_102;
/* 104 */ u8 mUnk_104;
/* 105 */ u8 mUnk_105;
/* 106 */ STRUCT_PAD(0x106, 0x108);
/* 108 */ fx32 mUnk_108;
/* 10C */ unk16 mUnk_10C;
/* 10E */ volatile u16 mUnk_10E;
/* 110 */ u16 mUnk_110;
/* 114 */ ActorUnkNSSW *mUnk_114;
/* 118 */
MapObjectUnkSWSW();
bool IsInternalTimerOut() {
if (this->mUnk_100 < this->mUnk_102) {
++this->mUnk_100;
return false;
}
return true;
}
/* 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;
/* 38 */ virtual void vfunc_38();
/* 3C */ virtual void vfunc_3C(unk32 param1);
void func_ov032_02121b90();
ActorUnkNSSW *func_ov032_02121dc8(VecFx32 *param1);
};
class MapObject_10_SWSW : public MapObject_10 {
public:
// data_ov032_02122784
};
class MapObjectProfileUnkSWSW_Base : public MapObjectProfile_Derived2 {
public:
/* 00 (base) */
/* D4 */ MapObject_10_SWSW mUnk_D4;
/* F8 */
MapObjectProfileUnkSWSW_Base(MapObjectId id) :
MapObjectProfile_Derived2(id, id) {}
};
class MapObjectProfileUnkSWSW : public MapObjectProfileUnkSWSW_Base {
public:
/* 00 (base) */
/* F8 */
MapObjectProfileUnkSWSW();
/* 00 */ virtual MapObject *Create();
static MapObjectProfileUnkSWSW *GetProfile();
};