diff --git a/LEGO1/lego/legoomni/include/legoentity.h b/LEGO1/lego/legoomni/include/legoentity.h index fc4fe6ae..4fb01d61 100644 --- a/LEGO1/lego/legoomni/include/legoentity.h +++ b/LEGO1/lego/legoomni/include/legoentity.h @@ -86,6 +86,7 @@ class LegoEntity : public MxEntity { // FUNCTION: BETA10 0x1000f2f0 LegoROI* GetROI() { return m_roi; } + MxU8 GetType() { return m_type; } MxBool GetCameraFlag() { return m_cameraFlag; } diff --git a/LEGO1/lego/legoomni/include/legopathactor.h b/LEGO1/lego/legoomni/include/legopathactor.h index fa59368f..5110c8ee 100644 --- a/LEGO1/lego/legoomni/include/legopathactor.h +++ b/LEGO1/lego/legoomni/include/legopathactor.h @@ -129,6 +129,7 @@ class LegoPathActor : public LegoActor { // FUNCTION: BETA10 0x1001c860 MxU32 GetState() { return m_state; } + LegoPathController* GetController() { return m_controller; } MxBool GetCollideBox() { return m_collideBox; } @@ -136,6 +137,7 @@ class LegoPathActor : public LegoActor { // FUNCTION: BETA10 0x10013430 void SetState(MxU32 p_state) { m_state = p_state; } + void SetController(LegoPathController* p_controller) { m_controller = p_controller; } // SYNTHETIC: LEGO1 0x1002d800 diff --git a/LEGO1/lego/sources/roi/legoroi.h b/LEGO1/lego/sources/roi/legoroi.h index 188e4424..d570ac56 100644 --- a/LEGO1/lego/sources/roi/legoroi.h +++ b/LEGO1/lego/sources/roi/legoroi.h @@ -62,6 +62,7 @@ class LegoROI : public ViewROI { // FUNCTION: BETA10 0x1000f320 const LegoChar* GetName() const { return m_name; } + LegoEntity* GetEntity() { return m_entity; } void SetEntity(LegoEntity* p_entity) { m_entity = p_entity; } diff --git a/LEGO1/mxgeometry/mxmatrix.h b/LEGO1/mxgeometry/mxmatrix.h index 3b27e805..5f471a8d 100644 --- a/LEGO1/mxgeometry/mxmatrix.h +++ b/LEGO1/mxgeometry/mxmatrix.h @@ -18,6 +18,7 @@ class MxMatrix : public Matrix4 { // FUNCTION: BETA10 0x10010860 float* operator[](int idx) { return m_data[idx]; } + const float* operator[](int idx) const { return m_data[idx]; } // FUNCTION: LEGO1 0x10002850 diff --git a/LEGO1/omni/include/mxtimer.h b/LEGO1/omni/include/mxtimer.h index a0975177..457e6e45 100644 --- a/LEGO1/omni/include/mxtimer.h +++ b/LEGO1/omni/include/mxtimer.h @@ -20,22 +20,20 @@ class MxTimer : public MxCore { return g_lastTimeTimerStarted; } else { - return GetTimeElapsed(); + return GetTimeSinceStart(); } } - MxLong GetStartTime() { return m_startTime; } - MxBool IsRunning() { return m_isRunning; } - static MxLong GetLastTimeCalculated() { return g_lastTimeCalculated; } - static MxLong GetLastTimeTimerStarted() { return g_lastTimeTimerStarted; } - - // FUNCTION: BETA10 0x10017810 - MxLong GetTimeElapsed() { return g_lastTimeCalculated - m_startTime; } - // SYNTHETIC: LEGO1 0x100ae0d0 // MxTimer::`scalar deleting destructor' private: + // This function appears to be public in BETA10; this function may also be + // an older version of GetTime() instead of a private subroutine. + // None of this matters for the release build since these functions are inlined. + // FUNCTION: BETA10 0x10017810 + MxLong GetTimeSinceStart() { return g_lastTimeCalculated - m_startTime; } + MxLong m_startTime; // 0x08 MxBool m_isRunning; // 0x0c diff --git a/LEGO1/realtime/orientableroi.h b/LEGO1/realtime/orientableroi.h index 010deccd..54059f20 100644 --- a/LEGO1/realtime/orientableroi.h +++ b/LEGO1/realtime/orientableroi.h @@ -41,6 +41,7 @@ class OrientableROI : public ROI { // FUNCTION: BETA10 0x1000fbf0 const Matrix4& GetLocal2World() const { return m_local2world; } + const float* GetWorldPosition() const { return m_local2world[3]; } const float* GetWorldDirection() const { return m_local2world[2]; } const float* GetWorldUp() const { return m_local2world[1]; }