Fix LegoROI / add TimeROI (#572)

* Fix LegoROI / add TimeROI

* Fix order

* Remove extra fwd decl
This commit is contained in:
Christian Semmler
2024-02-17 10:07:34 -05:00
committed by GitHub
parent b47412183b
commit 332d8da695
14 changed files with 117 additions and 64 deletions

View File

@@ -71,7 +71,7 @@ MxResult LegoUnkSaveDataWriter::WriteSaveData3(LegoStorage* p_stream)
}
// STUB: LEGO1 0x10083500
AutoROI* LegoUnkSaveDataWriter::FUN_10083500(char*, undefined4)
LegoROI* LegoUnkSaveDataWriter::FUN_10083500(char*, undefined4)
{
// TODO
// involves an STL map with a _Nil node at 0x100fc508

View File

@@ -204,7 +204,7 @@ void LegoWorld::Destroy(MxBool p_fromDestructor)
}
while (!m_list0xe0.empty()) {
AutoROI* roi = m_list0xe0.front();
LegoROI* roi = m_list0xe0.front();
m_list0xe0.pop_front();
delete roi;
}

View File

@@ -132,9 +132,9 @@ void LegoModelPresenter::ParseExtra()
}
else if (KeyValueStringParse(output, g_dbCreate, buffer) != 0 && m_roi == NULL) {
LegoWorld* currentWorld = CurrentWorld();
list<AutoROI*>& roiList = currentWorld->GetUnknownList0xe0();
list<LegoROI*>& roiList = currentWorld->GetUnknownList0xe0();
for (list<AutoROI*>::iterator it = roiList.begin(); it != roiList.end(); it++) {
for (list<LegoROI*>::iterator it = roiList.begin(); it != roiList.end(); it++) {
if (!strcmpi(((LegoROI*) (*it))->GetName(), output)) {
m_roi = *it;
roiList.erase(it);

View File

@@ -183,7 +183,7 @@ MxResult LegoVideoManager::Create(MxVideoParam& p_videoParam, MxU32 p_frequencyM
}
pLODList = m_3dManager->GetViewLODListManager()->Create("CameraROI", 1);
m_viewROI = new LegoROI(m_renderer, pLODList, Timer()->GetTime());
m_viewROI = new TimeROI(m_renderer, pLODList, Timer()->GetTime());
pLODList->Release();
CalcLocalTransform(posVec, dirVec, upVec, outMatrix);