Match remaining functions

This commit is contained in:
Christian Semmler 2023-10-27 12:56:35 -04:00
parent 36fa7ef66c
commit 7cb7c2a7a8
3 changed files with 23 additions and 20 deletions

View File

@ -213,8 +213,9 @@ if (MINGW)
target_compile_definitions(lego1 PRIVATE DIRECTINPUT_VERSION=0x0500) target_compile_definitions(lego1 PRIVATE DIRECTINPUT_VERSION=0x0500)
endif() endif()
# Additional include directories for both targets # Additional include directories
include_directories("${CMAKE_SOURCE_DIR}/3rdparty/vec") include_directories("${CMAKE_SOURCE_DIR}/3rdparty/vec")
include_directories("${CMAKE_SOURCE_DIR}/3rdparty/smk")
if (ISLE_USE_SMARTHEAP) if (ISLE_USE_SMARTHEAP)
add_library(SmartHeap::SmartHeap STATIC IMPORTED) add_library(SmartHeap::SmartHeap STATIC IMPORTED)
@ -232,9 +233,6 @@ if (ISLE_USE_DX5)
target_link_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/dx5/lib") target_link_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/dx5/lib")
endif() endif()
# Additional include directories
include_directories("${CMAKE_SOURCE_DIR}/3rdparty/smk")
# Link libraries # Link libraries
target_link_libraries(lego1 PRIVATE ddraw dsound dxguid dinput winmm) target_link_libraries(lego1 PRIVATE ddraw dsound dxguid dinput winmm)

View File

@ -13,19 +13,7 @@ MxSmkPresenter::MxSmkPresenter()
// OFFSET: LEGO1 0x100b3870 // OFFSET: LEGO1 0x100b3870
MxSmkPresenter::~MxSmkPresenter() MxSmkPresenter::~MxSmkPresenter()
{ {
FUN_100b3900(TRUE); Destroy(TRUE);
}
// OFFSET: LEGO1 0x100b3900
void MxSmkPresenter::FUN_100b3900(MxBool p_fromDestructor)
{
m_criticalSection.Enter();
FUN_100c5d40(&m_mxSmack);
Init();
m_criticalSection.Leave();
if (!p_fromDestructor) {
MxVideoPresenter::Destroy(FALSE);
}
} }
// OFFSET: LEGO1 0x100b38d0 // OFFSET: LEGO1 0x100b38d0
@ -37,6 +25,21 @@ void MxSmkPresenter::Init()
m_flags &= 0xfb; m_flags &= 0xfb;
} }
// OFFSET: LEGO1 0x100b3900
void MxSmkPresenter::Destroy(MxBool p_fromDestructor)
{
m_criticalSection.Enter();
FUN_100c5d40(&m_mxSmack);
Init();
m_criticalSection.Leave();
if (!p_fromDestructor) {
MxVideoPresenter::Destroy(FALSE);
}
}
// OFFSET: LEGO1 0x100b3960 // OFFSET: LEGO1 0x100b3960
void MxSmkPresenter::VTable0x60() void MxSmkPresenter::VTable0x60()
{ {

View File

@ -11,7 +11,7 @@
class MxSmkPresenter : public MxVideoPresenter { class MxSmkPresenter : public MxVideoPresenter {
public: public:
MxSmkPresenter(); MxSmkPresenter();
~MxSmkPresenter(); virtual ~MxSmkPresenter() override;
virtual void VTable0x60() override; virtual void VTable0x60() override;
@ -35,8 +35,10 @@ class MxSmkPresenter : public MxVideoPresenter {
private: private:
void Init(); void Init();
void FUN_100b3900(MxBool p_fromDestructor); void Destroy(MxBool p_fromDestructor);
void FUN_100c5d40(MxSmack* p_mxSmack);
// This should most likely be in a separate translation unit
static void FUN_100c5d40(MxSmack* p_mxSmack);
}; };
#endif // MXSMKPRESENTER_H #endif // MXSMKPRESENTER_H