isle-portable/LEGO1/helicopter.h

49 lines
1 KiB
C
Raw Normal View History

#ifndef HELICOPTER_H
#define HELICOPTER_H
#include "helicopterstate.h"
#include "islepathactor.h"
#include "realtime/matrix.h"
// VTABLE 0x100d40f8
// SIZE 0x230
2023-10-24 19:38:27 -04:00
class Helicopter : public IslePathActor {
public:
2023-10-24 19:38:27 -04:00
Helicopter();
2023-10-24 19:38:27 -04:00
// OFFSET: LEGO1 0x10003070
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0130
return "Helicopter";
}
2023-10-24 19:38:27 -04:00
// OFFSET: LEGO1 0x10003080
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Helicopter::ClassName()) || IslePathActor::IsA(name);
}
virtual MxResult Create(MxDSObject& p_dsObject) override; // vtable+0x18
2023-10-24 19:38:27 -04:00
virtual void VTable0xe4() override;
2023-10-24 19:38:27 -04:00
// OFFSET: LEGO1 0x10003210 TEMPLATE
// Helicopter::`scalar deleting destructor'
virtual ~Helicopter() override; // vtable+0x0
protected:
Matrix4Data m_unk160;
Matrix4Data m_unk1a8;
2023-10-24 19:38:27 -04:00
undefined4 m_unk1f0;
Vector4Data m_unk1f4;
Vector4Data m_unk20c;
2023-10-24 19:38:27 -04:00
undefined4 m_unk224;
HelicopterState* m_state;
MxAtomId m_unk22c;
private:
2023-10-24 19:38:27 -04:00
void GetState();
};
#endif // HELICOPTER_H