mirror of
https://github.com/zeldaret/st
synced 2026-07-06 13:51:06 -04:00
Decompiling MapObject UnkTSUB (aka Pot) (#101)
* feat: begin decompilation of UnkTsub * refactor: rename mapobject * feat: delink * feat: introduce virtual functions * fix: rename map object in jp delink * feat: match 91% of the mapobject * feat: increate .data match * refactor: rename ModelRender2 with its vtable address * style: remove empty lines * refactor: change magic value
This commit is contained in:
@@ -141,7 +141,7 @@ public:
|
||||
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2);
|
||||
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3);
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2);
|
||||
/* 28 */ virtual unk32 vfunc_28();
|
||||
/* 2C */ virtual bool vfunc_2C(VecFx32 *param1);
|
||||
/* 30 */ virtual ~MapObject();
|
||||
@@ -176,7 +176,7 @@ public:
|
||||
void func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2bCpp *param3);
|
||||
void func_ov000_0209d3b4(unk32 param1, fx32 size);
|
||||
void func_ov000_0209d434(s8 *param1, UnkStruct_ov019_020d24c8_28_258_00 *param2, unk32 param3);
|
||||
void func_ov000_0209d518(unk32 param1, unk32 param2, unk32 param3, u8 param4);
|
||||
void func_ov000_0209d518(VecFx32 *param1, unk32 param2, unk32 param3, u8 param4);
|
||||
void func_ov000_0209d5c8(ActorRef ref);
|
||||
void func_ov000_0209d614(unk32 param1);
|
||||
bool func_ov000_0209d668();
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "MapObject_ov031.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectPot : public MapObjectPot_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */ ActorId mUnk_40;
|
||||
/* 44 */ STRUCT_PAD(0x44, 0x48);
|
||||
/* 48 */ ModelRender_ov000_020b198c mUnk_48;
|
||||
|
||||
MapObjectPot();
|
||||
|
||||
/* 04 */ virtual void vfunc_04() override; // func_ov031_02105088
|
||||
/* 14 */ virtual void vfunc_14() override; // func_ov031_021052cc
|
||||
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3); // func_ov031_021050b4
|
||||
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override; // func_ov031_02105348
|
||||
/* 30 */ virtual ~MapObjectPot() override;
|
||||
/* 3C */ virtual bool vfunc_3C() override; // func_ov031_021053b4
|
||||
/* 40 */ virtual bool vfunc_40() override; // func_ov031_021053fc
|
||||
/* 48 */ virtual void vfunc_48() override; // func_ov031_021051d4
|
||||
/* 54 */ virtual unk32 vfunc_54() override; // func_ov031_02105310
|
||||
};
|
||||
|
||||
class MapObjectProfilePot : public MapObjectProfilePot_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectProfilePot();
|
||||
~MapObjectProfilePot();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
|
||||
static MapObjectProfilePot *GetProfile();
|
||||
};
|
||||
@@ -1,39 +0,0 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class MapObjectUnkTSUB : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
|
||||
MapObjectUnkTSUB();
|
||||
|
||||
/* 30 */ virtual ~MapObjectUnkTSUB() override;
|
||||
|
||||
void func_ov031_02105088(void);
|
||||
void func_ov031_021050b4(void);
|
||||
void func_ov031_021051d4(void);
|
||||
void func_ov031_021052cc(void);
|
||||
void func_ov031_02105310(void);
|
||||
void func_ov031_02105348(void);
|
||||
void func_ov031_021053b4(void);
|
||||
void func_ov031_021053fc(void);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkTSUB : public MapObjectProfile {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectProfileUnkTSUB();
|
||||
~MapObjectProfileUnkTSUB();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
|
||||
static MapObjectProfileUnkTSUB *GetProfile();
|
||||
};
|
||||
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
class MapObjectPot_Base : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
|
||||
MapObjectPot_Base();
|
||||
|
||||
// data_ov000_020b35d0
|
||||
|
||||
/* 00 */ virtual bool vfunc_00(); // func_ov000_0209d780
|
||||
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override; // func_ov000_0209d8e8
|
||||
/* 28 */ virtual unk32 vfunc_28() override; // func_ov000_0209d9f8
|
||||
/* 30 */ virtual ~MapObjectPot_Base() = 0 override;
|
||||
/* 38 */ virtual void vfunc_38() override; // func_ov000_0209d9ac
|
||||
/* 3C */ virtual bool vfunc_3C() override; // func_ov000_0209db74
|
||||
/* 40 */ virtual bool vfunc_40() override; // func_ov000_0209db7c
|
||||
/* 44 */ virtual void vfunc_44(unk32, unk32) override; // func_ov000_0209d7a4
|
||||
/* 48 */ virtual void vfunc_48() override; // func_ov000_0209da60
|
||||
/* 4C */ virtual void vfunc_4C() override; // func_ov000_0209da70
|
||||
/* 50 */ virtual void vfunc_50() override; // func_ov000_0209dac0
|
||||
/* 54 */ virtual unk32 vfunc_54() override; // func_ov000_0209da64
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0209d8e8(MapObjectPot_Base *param1, fx32 param2);
|
||||
unk32 func_ov000_0209da64();
|
||||
};
|
||||
|
||||
class MapObject_10_Pot : public MapObject_10 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 24 */
|
||||
|
||||
MapObject_10_Pot() {}
|
||||
};
|
||||
|
||||
class MapObjectProfilePot_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObject_10_Pot mUnk_D4;
|
||||
|
||||
MapObjectProfilePot_Base(MapObjectId param1, MapObjectId param2) :
|
||||
MapObjectProfile_Derived2(param1, param2) {}
|
||||
};
|
||||
Reference in New Issue
Block a user