WIP fixes

This commit is contained in:
Christian Semmler 2024-04-14 09:36:51 -04:00
parent 44474a44af
commit d1a7da3ac2
5 changed files with 16 additions and 10 deletions

View File

@ -63,8 +63,8 @@ class LegoPathActor : public LegoActor {
float p_srcScale, float p_srcScale,
LegoUnknown100db7f4& p_destEdge, LegoUnknown100db7f4& p_destEdge,
float p_destScale float p_destScale
); // vtable+0x88 ); // vtable+0x88
virtual MxS32 VTable0x8c(float p_time, MxMatrix& p_transform); // vtable+0x8c virtual MxS32 VTable0x8c(float p_time, Matrix4& p_transform); // vtable+0x8c
// FUNCTION: LEGO1 0x10002d40 // FUNCTION: LEGO1 0x10002d40
virtual MxU32 VTable0x90(float, Matrix4&) { return FALSE; } // vtable+0x90 virtual MxU32 VTable0x90(float, Matrix4&) { return FALSE; } // vtable+0x90

View File

@ -209,13 +209,15 @@ MxResult LegoPathActor::VTable0x84(
} }
// FUNCTION: LEGO1 0x1002e100 // FUNCTION: LEGO1 0x1002e100
MxS32 LegoPathActor::VTable0x8c(float p_time, MxMatrix& p_transform) MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform)
{ {
if (m_userNavFlag && m_state == 0) { if (m_userNavFlag && m_state == 0) {
m_lastTime = p_time; m_lastTime = p_time;
Mx3DPointFloat p1, p2, p3, p4, p5; Mx3DPointFloat p1, p2, p3, p4, p5;
p5 = Vector3(m_roi->GetWorldDirection()); p5 = Vector3(m_roi->GetWorldDirection());
p4 = Vector3(m_roi->GetWorldPosition()); p4 = Vector3(m_roi->GetWorldPosition());
LegoNavController* nav = NavController(); LegoNavController* nav = NavController();
m_worldSpeed = nav->GetLinearVel(); m_worldSpeed = nav->GetLinearVel();
@ -223,9 +225,12 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, MxMatrix& p_transform)
return -1; return -1;
} }
Mx3DPointFloat p6 = p2; Mx3DPointFloat p6;
m_unk0xe9 = m_boundary->Intersect(m_roi->GetWorldBoundingSphere().Radius(), p4, p2, p3, m_destEdge); p6 = p2;
MxS32 result = 0;
m_unk0xe9 = m_boundary->Intersect(m_roi->GetWorldBoundingSphere().Radius(), p4, p2, p3, m_destEdge);
if (m_unk0xe9 == -1) { if (m_unk0xe9 == -1) {
return -1; return -1;
} }
@ -234,7 +239,7 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, MxMatrix& p_transform)
p2 = p3; p2 = p3;
} }
MxS32 result = VTable0x68(p4, p2, p3); result = VTable0x68(p4, p2, p3);
if (result > 0) { if (result > 0) {
p2 = p4; p2 = p4;
@ -322,6 +327,7 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, MxMatrix& p_transform)
} }
} }
} }
return -1; return -1;
} }

View File

@ -27,8 +27,8 @@ void LegoUnknown::FUN_1009a140(Vector3& p_point1, Vector3& p_point2, Vector3& p_
} }
} }
// FUNCTION: LEGO1 0x1009a1e0 // STUB: LEGO1 0x1009a1e0
LegoResult LegoUnknown::FUN_1009a1e0(float, MxMatrix&, Vector3&, LegoU32) LegoResult LegoUnknown::FUN_1009a1e0(float, Matrix4&, Vector3&, LegoU32)
{ {
return FAILURE; return FAILURE;
} }

View File

@ -12,7 +12,7 @@ class LegoUnknown {
~LegoUnknown(); ~LegoUnknown();
void FUN_1009a140(Vector3& p_point1, Vector3& p_point2, Vector3& p_point3, Vector3& p_point4); void FUN_1009a140(Vector3& p_point1, Vector3& p_point2, Vector3& p_point3, Vector3& p_point4);
LegoResult FUN_1009a1e0(float, MxMatrix&, Vector3&, LegoU32); LegoResult FUN_1009a1e0(float, Matrix4&, Vector3&, LegoU32);
private: private:
Mx3DPointFloat m_unk0x00[4]; // 0x00 Mx3DPointFloat m_unk0x00[4]; // 0x00

View File

@ -18,4 +18,4 @@ VariableName:
Integer: '' Integer: ''
Bool: '' Bool: ''
Pointer: '' Pointer: ''
Pattern: '^(unk0x[a-f0-9]{1,8}$|(?!unk)[a-z][a-zA-Z0-9]*)$' Pattern: '^(unk0x[a-f0-9]{1,8}$|(?!unk)[a-z][a-zA-Z0-9]*|str[a-zA-Z0-9_]*)$'