isle-portable/LEGO1/legopathactor.h
Joshua Peisach 1fa2fd9737
The IslePathActor's (#113)
* pizza: fix type m_unk90

* Initial implementation of a lot of IslePathActor's

All IslePathActor's seem to have (for the most part), the same few variables in common,
probably some ID. SkateBoard, Pizza and TowTrack seem to be a bit more complicated with additional
fields surrounding it.

* Add missing ClassName(s) and IsA(s)

* Add decomp size asserts

* Fix size assertions

* Make legopathactor fields protected for now, fix a type in Pizza

* Fix TowTrack structure

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-09-10 14:01:39 +02:00

39 lines
812 B
C++

#ifndef LEGOPATHACTOR_H
#define LEGOPATHACTOR_H
#include "legoactor.h"
#include "mxtypes.h"
// VTABLE 0x100d6e28
// SIZE 0x154 (from inlined construction at 0x1000a346)
class LegoPathActor : public LegoActor
{
public:
LegoPathActor();
virtual ~LegoPathActor() override;
// OFFSET: LEGO1 0x1000c430
inline const char *ClassName() const override // vtable+0xc
{
// 0x100f0114
return "LegoPathActor";
}
// OFFSET: LEGO1 0x1000c440
inline MxBool IsA(const char *name) const override // vtable+0x10
{
return !strcmp(name, LegoPathActor::ClassName()) || LegoActor::IsA(name);
}
protected:
// TODO: the types
undefined unk78[0xc4];
MxFloat m_unk13c;
MxS32 m_unk140;
MxS32 m_unk144;
undefined m_unk148;
MxS32 m_unk14c;
MxFloat m_unk150;
};
#endif // LEGOPATHACTOR_H