BETA10: Fix reccmp regressions, match RealtimeView (#1696)

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2025-11-02 17:35:21 +01:00
committed by GitHub
parent 828254cbfe
commit dfffb873ed
9 changed files with 198 additions and 13 deletions

View File

@@ -106,4 +106,10 @@ struct LegoPathEdgeContainer : public list<LegoBoundaryEdge> {
MxU8 m_flags; // 0x38
};
// SYNTHETIC: BETA10 0x10012080
// LegoPathEdgeContainer::`scalar deleting destructor'
// SYNTHETIC: BETA10 0x100120d0
// LegoPathEdgeContainer::~LegoPathEdgeContainer
#endif // LEGOPATHEDGECONTAINER_H

View File

@@ -122,7 +122,9 @@ void Doors::ParseAction(char* p_extra)
assert(m_ltDoor == NULL && m_rtDoor == NULL);
assert(m_roi);
assert(!strncmp(m_roi->GetName(), "rcdor", 5));
// clang-format off
assert(!strncmp( m_roi->GetName(), "rcdor", 5 ));
// clang-format on
const CompoundObject* comp = m_roi->GetComp();

View File

@@ -2833,7 +2833,7 @@ void LegoAnimationManager::FUN_100648f0(LegoTranInfo* p_tranInfo, MxLong p_unk0x
actor->SetWorldSpeed(0.0f);
}
LegoLocation* location = NavController()->GetLocation(p_tranInfo->m_location);
const LegoLocation* location = NavController()->GetLocation(p_tranInfo->m_location);
if (location != NULL) {
CalcLocalTransform(location->m_position, location->m_direction, location->m_up, m_unk0x484);
m_unk0x4cc.SetStartEnd(m_unk0x43c, m_unk0x484);

View File

@@ -640,6 +640,7 @@ MxResult LegoPathActor::VTable0x9c()
case 1:
break;
default:
assert(0);
return FAILURE;
}
}
@@ -656,10 +657,14 @@ MxResult LegoPathActor::VTable0x9c()
if (local20 != 0) {
Mx3DPointFloat local78;
Vector3& v1 = *m_destEdge->CWVertex(*m_boundary);
Vector3& v2 = *m_destEdge->CCWVertex(*m_boundary);
assert(m_boundary && m_destEdge);
LERP3(local34, v1, v2, m_unk0xe4);
Vector3* v1 = m_destEdge->CWVertex(*m_boundary);
Vector3* v2 = m_destEdge->CCWVertex(*m_boundary);
assert(v1 && v2);
LERP3(local34, *v1, *v2, m_unk0xe4);
m_destEdge->GetFaceNormal(*m_boundary, local78);
local48.EqualsCross(*m_boundary->GetUp(), local78);
@@ -695,6 +700,7 @@ MxResult LegoPathActor::VTable0x9c()
}
if (VTable0x80(localc0, local84, local34, local48) != SUCCESS) {
MxTrace("Warning: m_BADuration = %g, roi = %s\n", m_BADuration, m_roi->GetName());
return FAILURE;
}