mirror of
https://github.com/zeldaret/st
synced 2026-06-05 19:27:45 -04:00
Start MapObject documentation (#47)
* set the right base class size * actor and map object changes * rename id getters functions * document unknown file system used in mapobjectprofile * start to document MapObjectProfile
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "Map/MapObjectId.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "flags.h"
|
||||
@@ -10,9 +9,63 @@
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef u32 MapObjFlags;
|
||||
enum MapObjFlag_ {
|
||||
MapObjFlag_Alive = FLAG(0, 0),
|
||||
MapObjFlag_1 = FLAG(0, 1),
|
||||
MapObjFlag_2 = FLAG(0, 2),
|
||||
MapObjFlag_3 = FLAG(0, 3),
|
||||
MapObjFlag_4 = FLAG(0, 4),
|
||||
MapObjFlag_5 = FLAG(0, 5),
|
||||
MapObjFlag_6 = FLAG(0, 6),
|
||||
MapObjFlag_7 = FLAG(0, 7),
|
||||
MapObjFlag_8 = FLAG(0, 8),
|
||||
MapObjFlag_9 = FLAG(0, 9),
|
||||
MapObjFlag_10 = FLAG(0, 10),
|
||||
MapObjFlag_11 = FLAG(0, 11),
|
||||
MapObjFlag_12 = FLAG(0, 12),
|
||||
MapObjFlag_13 = FLAG(0, 13),
|
||||
MapObjFlag_14 = FLAG(0, 14),
|
||||
MapObjFlag_15 = FLAG(0, 15),
|
||||
MapObjFlag_16 = FLAG(0, 16),
|
||||
MapObjFlag_17 = FLAG(0, 17),
|
||||
MapObjFlag_18 = FLAG(0, 18),
|
||||
MapObjFlag_19 = FLAG(0, 19),
|
||||
MapObjFlag_20 = FLAG(0, 20),
|
||||
MapObjFlag_21 = FLAG(0, 21),
|
||||
MapObjFlag_22 = FLAG(0, 22),
|
||||
MapObjFlag_23 = FLAG(0, 23),
|
||||
MapObjFlag_24 = FLAG(0, 24),
|
||||
MapObjFlag_25 = FLAG(0, 25),
|
||||
MapObjFlag_26 = FLAG(0, 26),
|
||||
MapObjFlag_27 = FLAG(0, 27),
|
||||
MapObjFlag_28 = FLAG(0, 28),
|
||||
MapObjFlag_29 = FLAG(0, 29),
|
||||
MapObjFlag_30 = FLAG(0, 30),
|
||||
MapObjFlag_31 = FLAG(0, 31),
|
||||
};
|
||||
|
||||
class MapObject : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ Vec3p mPos;
|
||||
/* 10 */ void *mUnk_10;
|
||||
/* 14 */ unk16 mUnk_14;
|
||||
/* 16 */ unk16 mUnk_16;
|
||||
/* 18 */ unk8 mUnk_18; // bool? when set Link walks to the map object when touched
|
||||
/* 19 */ unk8 mUnk_19;
|
||||
/* 1A */ unk8 mUnk_1A;
|
||||
/* 1B */ unk8 mUnk_1B;
|
||||
/* 1C */ MapObjFlags mFlags[1];
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 20 */ unk32 mUnk_24;
|
||||
/* 20 */ unk32 mUnk_28;
|
||||
/* 20 */ unk32 mUnk_2C;
|
||||
/* 20 */ unk32 mUnk_30;
|
||||
/* 20 */ unk32 mUnk_34;
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3C */ MapObjectProfile *mpProfile;
|
||||
/* 40 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual bool vfunc_04();
|
||||
@@ -27,7 +80,12 @@ public:
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2c */ virtual void vfunc_2c();
|
||||
/* 30 */ virtual ~MapObject();
|
||||
/* 34 */
|
||||
/* 38 */
|
||||
|
||||
MapObject();
|
||||
|
||||
MapObjectId GetMapObjectId();
|
||||
|
||||
void func_ov000_0209d6ac(Vec3p *param1);
|
||||
void func_ov031_02103878();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user