mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 17:04:17 +00:00
Fix LegoROI / add TimeROI (#572)
* Fix LegoROI / add TimeROI * Fix order * Remove extra fwd decl
This commit is contained in:
committed by
GitHub
parent
b47412183b
commit
332d8da695
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "mxvideopresenter.h"
|
||||
|
||||
class AutoROI;
|
||||
class LegoROI;
|
||||
|
||||
// VTABLE: LEGO1 0x100d4e50
|
||||
// SIZE 0x6c (discovered through inline constructor at 0x10009ae6)
|
||||
@@ -38,7 +38,7 @@ protected:
|
||||
void Destroy(MxBool p_fromDestructor);
|
||||
|
||||
private:
|
||||
AutoROI* m_roi; // 0x64
|
||||
LegoROI* m_roi; // 0x64
|
||||
MxBool m_addedToView; // 0x68
|
||||
|
||||
MxResult CreateROI(MxStreamChunk* p_chunk);
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "lego/sources/misc/legostorage.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
class AutoROI;
|
||||
class LegoROI;
|
||||
|
||||
struct LegoSaveDataEntry3 {
|
||||
@@ -39,7 +38,7 @@ public:
|
||||
LegoUnkSaveDataWriter();
|
||||
|
||||
MxResult WriteSaveData3(LegoStorage* p_stream);
|
||||
AutoROI* FUN_10083500(char*, undefined4);
|
||||
LegoROI* FUN_10083500(char*, undefined4);
|
||||
void FUN_100832a0();
|
||||
void FUN_10083db0(LegoROI* p_roi);
|
||||
void FUN_10083f10(LegoROI* p_roi);
|
||||
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
inline LegoCameraController* GetCamera() { return m_cameraController; }
|
||||
inline MxS32 GetScriptIndex() { return m_scriptIndex; }
|
||||
inline MxCoreSet& GetUnknown0xd0() { return m_set0xd0; }
|
||||
inline list<AutoROI*>& GetUnknownList0xe0() { return m_list0xe0; }
|
||||
inline list<LegoROI*>& GetUnknownList0xe0() { return m_list0xe0; }
|
||||
|
||||
inline void SetScriptIndex(MxS32 p_scriptIndex) { m_scriptIndex = p_scriptIndex; }
|
||||
|
||||
@@ -91,7 +91,7 @@ protected:
|
||||
MxCoreSet m_set0xa8; // 0xa8
|
||||
MxPresenterList m_controlPresenters; // 0xb8
|
||||
MxCoreSet m_set0xd0; // 0xd0
|
||||
list<AutoROI*> m_list0xe0; // 0xe0
|
||||
list<LegoROI*> m_list0xe0; // 0xe0
|
||||
MxS32 m_scriptIndex; // 0xec
|
||||
LegoHideAnimPresenter* m_hideAnimPresenter; // 0xf0
|
||||
MxS16 m_startupTicks; // 0xf4
|
||||
@@ -116,13 +116,13 @@ protected:
|
||||
// _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Init
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001ddf0
|
||||
// list<AutoROI *,allocator<AutoROI *> >::~list<AutoROI *,allocator<AutoROI *> >
|
||||
// list<LegoROI *,allocator<LegoROI *> >::~list<LegoROI *,allocator<LegoROI *> >
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001df50
|
||||
// List<AutoROI *>::~List<AutoROI *>
|
||||
// List<LegoROI *>::~List<LegoROI *>
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001de60
|
||||
// list<AutoROI *,allocator<AutoROI *> >::_Buynode
|
||||
// list<LegoROI *,allocator<LegoROI *> >::_Buynode
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001de90
|
||||
// set<MxCore *,CoreSetCompare,allocator<MxCore *> >::~set<MxCore *,CoreSetCompare,allocator<MxCore *> >
|
||||
@@ -131,7 +131,7 @@ protected:
|
||||
// Set<MxCore *,CoreSetCompare>::~Set<MxCore *,CoreSetCompare>
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001f590
|
||||
// list<AutoROI *,allocator<AutoROI *> >::erase
|
||||
// list<LegoROI *,allocator<LegoROI *> >::erase
|
||||
|
||||
// TEMPLATE: LEGO1 0x100208b0
|
||||
// _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::insert
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user