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)
endif()
# Additional include directories for both targets
# Additional include directories
include_directories("${CMAKE_SOURCE_DIR}/3rdparty/vec")
include_directories("${CMAKE_SOURCE_DIR}/3rdparty/smk")
if (ISLE_USE_SMARTHEAP)
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")
endif()
# Additional include directories
include_directories("${CMAKE_SOURCE_DIR}/3rdparty/smk")
# Link libraries
target_link_libraries(lego1 PRIVATE ddraw dsound dxguid dinput winmm)

View File

@ -13,19 +13,7 @@ MxSmkPresenter::MxSmkPresenter()
// OFFSET: LEGO1 0x100b3870
MxSmkPresenter::~MxSmkPresenter()
{
FUN_100b3900(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);
}
Destroy(TRUE);
}
// OFFSET: LEGO1 0x100b38d0
@ -37,6 +25,21 @@ void MxSmkPresenter::Init()
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
void MxSmkPresenter::VTable0x60()
{

View File

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