Implement Helicopter (#329)

* Implement Helicopter

* Fix names

* Fix some issues

* Disable warning

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Nathan M Gilbert
2023-12-14 11:50:29 -05:00
committed by GitHub
parent 88581420d5
commit deaed23e41
37 changed files with 628 additions and 318 deletions

View File

@@ -7,6 +7,8 @@
#include "mxpresenter.h"
#include "mxpresenterlist.h"
class IslePathActor;
// VTABLE: LEGO1 0x100d6280
// SIZE 0xf8
class LegoWorld : public LegoEntity {
@@ -15,6 +17,7 @@ public:
__declspec(dllexport) virtual ~LegoWorld(); // vtable+0x0
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8
// FUNCTION: LEGO1 0x1001d690
inline virtual const char* ClassName() const override // vtable+0x0c
@@ -33,22 +36,30 @@ public:
virtual void VTable0x54(); // vtable+54
virtual void VTable0x58(MxCore* p_object); // vtable+58
virtual MxBool VTable0x5c(); // vtable+5c
virtual void VTable0x60(); // vtable+60
virtual MxBool VTable0x64(); // vtable+64
virtual void VTable0x68(MxBool p_add); // vtable+68
// FUNCTION: LEGO1 0x100010a0
virtual void VTable0x60() {} // vtable+60
virtual MxBool VTable0x64(); // vtable+64
virtual void VTable0x68(MxBool p_add); // vtable+68
inline LegoCameraController* GetCamera() { return m_camera; }
MxResult SetAsCurrentWorld(MxDSObject& p_dsObject);
void EndAction(MxPresenter* p_presenter);
void FUN_1001fc80(IslePathActor* p_actor);
MxBool FUN_100727e0(MxU32, Vector3Data& p_loc, Vector3Data& p_dir, Vector3Data& p_up);
MxBool FUN_10072980(MxU32, Vector3Data& p_loc, Vector3Data& p_dir, Vector3Data& p_up);
void FUN_10073400();
void FUN_10073430();
protected:
LegoPathControllerList m_list0x68; // 0x68
MxPresenterList m_list0x80; // 0x80
LegoCameraController* m_camera; // 0x98
undefined m_unk0x9c[0x1c];
MxPresenterList m_list0xb8; // 0xb8
undefined m_unk0xd0[0x26];
undefined m_unk0xf6;
undefined m_unk0xf7;
undefined m_unk0x9c[0x1c]; // 0x9c
MxPresenterList m_list0xb8; // 0xb8
undefined m_unk0xd0[0x26]; // 0xd0
undefined m_unk0xf6; // 0xf6
undefined m_unk0xf7; // 0xf7
};
void FUN_10015820(MxU32, MxU32);