Implement/match LegoPointOfViewController::Tickle (#667)

This commit is contained in:
Christian Semmler
2024-03-13 13:46:20 -04:00
committed by GitHub
parent beb30e80ea
commit 0623e6a766
8 changed files with 99 additions and 6 deletions

View File

@@ -1,9 +1,11 @@
#ifndef LEGONAVCONTROLLER_H
#define LEGONAVCONTROLLER_H
#include "decomp.h"
#include "mxcore.h"
#include "mxtimer.h"
#include "mxtypes.h"
#include "realtime/vector.h"
// VTABLE: LEGO1 0x100d85b8
// SIZE 0x70
@@ -60,6 +62,13 @@ public:
float CalculateNewTargetSpeed(int p_pos, int p_center, float p_maxSpeed);
float CalculateNewAccel(int p_pos, int p_center, float p_maxAccel, int p_minAccel);
float CalculateNewVel(float p_targetVel, float p_currentVel, float p_accel, float p_time);
MxBool CalculateNewPosDir(
const Vector3& p_curPos,
const Vector3& p_curDir,
Vector3& p_newPos,
Vector3& p_newDir,
undefined* p_und
);
inline void SetTrackDefaultParams(MxBool p_trackDefault) { m_trackDefault = p_trackDefault; }

View File

@@ -29,6 +29,10 @@ public:
virtual void RightDrag(int, int); // vtable+0x24
virtual void RightUp(int, int); // vtable+0x28
BOOL GetIsButtonDown() { return m_isButtonDown; }
MxDouble GetButtonX() { return m_buttonX; }
MxDouble GetButtonY() { return m_buttonY; }
private:
BOOL m_isButtonDown; // 0x08
undefined4 m_unk0x0c; // 0x0c

View File

@@ -11,13 +11,15 @@ public:
LegoSoundManager();
~LegoSoundManager() override;
MxResult Tickle() override; // vtable+08
void Destroy() override; // vtable+18
MxResult Tickle() override; // vtable+0x08
void Destroy() override; // vtable+0x18
MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30
// SYNTHETIC: LEGO1 0x10029920
// LegoSoundManager::`scalar deleting destructor'
void FUN_1002a410(const float* p_pos, const float* p_dir, const float* p_up, const float* p_vel);
inline LegoUnknown100d6b4c* GetUnknown0x40() { return m_unk0x40; }
private: