Implement/match LegoNavController::UpdateCameraLocation (#713)

* Implement/match LegoNavController::UpdateCameraLocation

* Add size assert
This commit is contained in:
Christian Semmler
2024-03-23 12:10:12 -04:00
committed by GitHub
parent 8b21e8136e
commit 18377c2f1f
6 changed files with 216 additions and 4 deletions

View File

@@ -0,0 +1,31 @@
#ifndef LEGOCAMERALOCATIONS_H
#define LEGOCAMERALOCATIONS_H
#include "decomp.h"
#include "mxtypes.h"
// SIZE 0x60
struct LegoCameraLocation {
MxU32 m_index; // 0x00
const char* m_name; // 0x04
float m_position[3]; // 0x08
float m_direction[3]; // 0x14
float m_up[3]; // 0x20
const char* m_edgeName; // 0x2c
undefined4 m_unk0x30; // 0x30
float m_unk0x34; // 0x34
undefined4 m_unk0x38; // 0x38
float m_unk0x3c; // 0x3c
undefined4 m_unk0x40; // 0x40
undefined4 m_unk0x44; // 0x44
undefined4 m_unk0x48; // 0x48
undefined4 m_unk0x4c; // 0x4c
undefined4 m_unk0x50; // 0x50
undefined4 m_unk0x54; // 0x54
undefined4 m_unk0x58; // 0x58
undefined4 m_unk0x5c; // 0x5c
};
extern LegoCameraLocation g_cameraLocations[70];
#endif // LEGOCAMERALOCATIONS_H

View File

@@ -71,7 +71,7 @@ public:
MxBool p_urs
);
static void SetLocation(MxU32 p_location);
static void UpdateCameraLocation(const char* p_location);
static MxResult UpdateCameraLocation(const char* p_location);
// SYNTHETIC: LEGO1 0x10054c10
// LegoNavController::`scalar deleting destructor'

View File

@@ -42,6 +42,7 @@ public:
inline Tgl::Renderer* GetRenderer() { return this->m_renderer; }
inline Lego3DManager* Get3DManager() { return this->m_3dManager; }
inline LegoROI* GetViewROI() { return this->m_viewROI; }
inline MxDirect3D* GetDirect3D() { return this->m_direct3d; }
inline void SetRender3D(MxBool p_render3d) { this->m_render3d = p_render3d; }
inline void SetUnk0x554(MxBool p_unk0x554) { this->m_unk0x554 = p_unk0x554; }