diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ce0e7c7..d3528636 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,6 +132,7 @@ add_library(lego1 SHARED LEGO1/lego/legoomni/src/video/legoflctexturepresenter.cpp LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp + LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp LEGO1/lego/legoomni/src/video/legometerpresenter.cpp LEGO1/lego/legoomni/src/video/legomodelpresenter.cpp LEGO1/lego/legoomni/src/video/legopalettepresenter.cpp diff --git a/LEGO1/lego/legoomni/include/legoanimmmpresenter.h b/LEGO1/lego/legoomni/include/legoanimmmpresenter.h index 520f3c09..77916eb3 100644 --- a/LEGO1/lego/legoomni/include/legoanimmmpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimmmpresenter.h @@ -22,6 +22,8 @@ class LegoAnimMMPresenter : public MxCompositePresenter { return !strcmp(p_name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(p_name); } + virtual void ReadyTickle() override; // vtable+0x18 + // SYNTHETIC: LEGO1 0x1004aa40 // LegoAnimMMPresenter::`scalar deleting destructor' }; diff --git a/LEGO1/lego/legoomni/include/legoanimpresenter.h b/LEGO1/lego/legoomni/include/legoanimpresenter.h index 5ff2f0c3..a5aa2df3 100644 --- a/LEGO1/lego/legoomni/include/legoanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimpresenter.h @@ -31,7 +31,9 @@ class LegoAnimPresenter : public MxVideoPresenter { virtual void ReadyTickle() override; // vtable+0x18 virtual void StartingTickle() override; // vtable+0x1c virtual void StreamingTickle() override; // vtable+0x20 + virtual void DoneTickle() override; // vtable+0x2c virtual void ParseExtra() override; // vtable+0x30 + virtual MxResult AddToManager() override; // vtable+0x34 virtual void Destroy() override; // vtable+0x38 virtual MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c virtual void EndAction() override; // vtable+0x40 diff --git a/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h b/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h index 8bd5ba75..e5a16822 100644 --- a/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legocarbuildanimpresenter.h @@ -23,6 +23,8 @@ class LegoCarBuildAnimPresenter : public LegoAnimPresenter { return !strcmp(p_name, LegoCarBuildAnimPresenter::ClassName()) || LegoAnimPresenter::IsA(p_name); } + virtual void ReadyTickle() override; // vtable+0x18 + // SYNTHETIC: LEGO1 0x10078660 // LegoCarBuildAnimPresenter::`scalar deleting destructor' }; diff --git a/LEGO1/lego/legoomni/include/legohideanimpresenter.h b/LEGO1/lego/legoomni/include/legohideanimpresenter.h index 59449283..b4e9e856 100644 --- a/LEGO1/lego/legoomni/include/legohideanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legohideanimpresenter.h @@ -24,7 +24,8 @@ class LegoHideAnimPresenter : public LegoLoopingAnimPresenter { return !strcmp(p_name, ClassName()) || LegoAnimPresenter::IsA(p_name); } - virtual void Destroy() override; // vtable+0x38 + virtual void ReadyTickle() override; // vtable+0x18 + virtual void Destroy() override; // vtable+0x38 private: void Init(); diff --git a/LEGO1/lego/legoomni/include/legoloadcachesoundpresenter.h b/LEGO1/lego/legoomni/include/legoloadcachesoundpresenter.h index 1c26cdec..dbfd478e 100644 --- a/LEGO1/lego/legoomni/include/legoloadcachesoundpresenter.h +++ b/LEGO1/lego/legoomni/include/legoloadcachesoundpresenter.h @@ -18,6 +18,11 @@ class LegoLoadCacheSoundPresenter : public MxWavePresenter { return "LegoLoadCacheSoundPresenter"; } + virtual void ReadyTickle() override; // vtable+0x18 + virtual void StreamingTickle() override; // vtable+0x20 + virtual void DoneTickle() override; // vtable+0x2c + virtual MxResult PutData() override; // vtable+0x4c + private: void Init(); void Destroy(MxBool p_fromDestructor); diff --git a/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h b/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h index 09370d0f..075e4df3 100644 --- a/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h @@ -21,6 +21,8 @@ class LegoLocomotionAnimPresenter : public LegoLoopingAnimPresenter { return !strcmp(p_name, ClassName()) || LegoLoopingAnimPresenter::IsA(p_name); } + virtual void ReadyTickle() override; // vtable+0x18 + // SYNTHETIC: LEGO1 0x1006cfe0 // LegoLocomotionAnimPresenter::`scalar deleting destructor' diff --git a/LEGO1/lego/legoomni/include/legoloopinganimpresenter.h b/LEGO1/lego/legoomni/include/legoloopinganimpresenter.h index 844d1586..d4f47d7e 100644 --- a/LEGO1/lego/legoomni/include/legoloopinganimpresenter.h +++ b/LEGO1/lego/legoomni/include/legoloopinganimpresenter.h @@ -19,6 +19,9 @@ class LegoLoopingAnimPresenter : public LegoAnimPresenter { { return !strcmp(p_name, ClassName()) || LegoAnimPresenter::IsA(p_name); } + + virtual void StreamingTickle() override; // vtable+0x20 + virtual void PutFrame() override; // vtable+0x6c }; // SYNTHETIC: LEGO1 0x1006d000 diff --git a/LEGO1/lego/legoomni/include/legopartpresenter.h b/LEGO1/lego/legoomni/include/legopartpresenter.h index e847d39b..bf520994 100644 --- a/LEGO1/lego/legoomni/include/legopartpresenter.h +++ b/LEGO1/lego/legoomni/include/legopartpresenter.h @@ -20,6 +20,8 @@ class LegoPartPresenter : public MxMediaPresenter { return !strcmp(p_name, LegoPartPresenter::ClassName()) || MxMediaPresenter::IsA(p_name); } + virtual void ReadyTickle() override; // vtable+0x18 + __declspec(dllexport) static void configureLegoPartPresenter(MxS32, MxS32); // SYNTHETIC: LEGO1 0x1000d060 diff --git a/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp b/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp index 41445182..9aeac8ba 100644 --- a/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp +++ b/LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp @@ -28,3 +28,28 @@ void LegoLoadCacheSoundPresenter::Destroy(MxBool p_fromDestructor) delete this->m_unk0x70; MxWavePresenter::Destroy(p_fromDestructor); } + +// STUB: LEGO1 0x10018510 +void LegoLoadCacheSoundPresenter::ReadyTickle() +{ + // TODO +} + +// STUB: LEGO1 0x100185f0 +void LegoLoadCacheSoundPresenter::StreamingTickle() +{ + // TODO +} + +// STUB: LEGO1 0x100186f0 +void LegoLoadCacheSoundPresenter::DoneTickle() +{ + // TODO +} + +// STUB: LEGO1 0x10018700 +MxResult LegoLoadCacheSoundPresenter::PutData() +{ + // TODO + return SUCCESS; +} diff --git a/LEGO1/lego/legoomni/src/video/legoanimmmpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimmmpresenter.cpp index a6e20919..905e15c6 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimmmpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimmmpresenter.cpp @@ -5,3 +5,9 @@ LegoAnimMMPresenter::LegoAnimMMPresenter() { // TODO } + +// STUB: LEGO1 0x1004b140 +void LegoAnimMMPresenter::ReadyTickle() +{ + // TODO +} diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index 31fe68b3..d5f50654 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -155,6 +155,19 @@ void LegoAnimPresenter::StreamingTickle() } } +// STUB: LEGO1 0x1006b8c0 +void LegoAnimPresenter::DoneTickle() +{ + // TODO +} + +// STUB: LEGO1 0x1006b8d0 +MxResult LegoAnimPresenter::AddToManager() +{ + // TODO + return SUCCESS; +} + // FUNCTION: LEGO1 0x1006b8e0 void LegoAnimPresenter::Destroy() { diff --git a/LEGO1/lego/legoomni/src/video/legocarbuildanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legocarbuildanimpresenter.cpp index 0b5ba549..dc935ce5 100644 --- a/LEGO1/lego/legoomni/src/video/legocarbuildanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legocarbuildanimpresenter.cpp @@ -11,3 +11,9 @@ LegoCarBuildAnimPresenter::~LegoCarBuildAnimPresenter() { // TODO } + +// STUB: LEGO1 0x100788c0 +void LegoCarBuildAnimPresenter::ReadyTickle() +{ + // TODO +} diff --git a/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp index 00718629..1084b9c4 100644 --- a/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp @@ -41,3 +41,9 @@ void LegoHideAnimPresenter::Destroy() { Destroy(FALSE); } + +// STUB: LEGO1 0x1006dae0 +void LegoHideAnimPresenter::ReadyTickle() +{ + // TODO +} diff --git a/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp index 27d6e421..94f130e4 100644 --- a/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp @@ -11,3 +11,9 @@ void LegoLocomotionAnimPresenter::Init() { // TODO } + +// STUB: LEGO1 0x1006d5d0 +void LegoLocomotionAnimPresenter::ReadyTickle() +{ + // TODO +} diff --git a/LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp new file mode 100644 index 00000000..8cfb3499 --- /dev/null +++ b/LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp @@ -0,0 +1,13 @@ +#include "legoloopinganimpresenter.h" + +// STUB: LEGO1 0x1006caa0 +void LegoLoopingAnimPresenter::StreamingTickle() +{ + // TODO +} + +// STUB: LEGO1 0x1006cb40 +void LegoLoopingAnimPresenter::PutFrame() +{ + // TODO +} diff --git a/LEGO1/lego/legoomni/src/video/legopartpresenter.cpp b/LEGO1/lego/legoomni/src/video/legopartpresenter.cpp index 1ae834f9..d03e53e7 100644 --- a/LEGO1/lego/legoomni/src/video/legopartpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legopartpresenter.cpp @@ -12,3 +12,9 @@ void LegoPartPresenter::configureLegoPartPresenter(MxS32 p_partPresenterConfig1, g_partPresenterConfig1 = p_partPresenterConfig1; g_partPresenterConfig2 = p_partPresenterConfig2; } + +// STUB: LEGO1 0x1007deb0 +void LegoPartPresenter::ReadyTickle() +{ + // TODO +}