mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-23 16:21:15 +00:00
MxOmni::Create: 31.44%
This commit is contained in:
parent
69957fe6dc
commit
f781da9de0
@ -93,7 +93,7 @@ void IsleApp::Close()
|
||||
Lego()->RemoveWorld(ds.GetAtomId(), ds.GetObjectId());
|
||||
Lego()->DeleteObject(ds);
|
||||
TransitionManager()->SetWaitIndicator(NULL);
|
||||
Lego()->vtable0x3c();
|
||||
Lego()->StopTimer();
|
||||
|
||||
MxLong lVar8;
|
||||
do {
|
||||
@ -232,7 +232,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||
g_reqEnableRMDevice = 0;
|
||||
VideoManager()->EnableRMDevice();
|
||||
g_rmDisabled = 0;
|
||||
Lego()->vtable0x3c();
|
||||
Lego()->StopTimer();
|
||||
}
|
||||
|
||||
if (g_closed) {
|
||||
|
||||
@ -176,7 +176,8 @@ MxResult MxOmni::Create(MxOmniCreateParam &p)
|
||||
{
|
||||
goto failure;
|
||||
}
|
||||
|
||||
m_mediaPath = p.GetMediaPath();
|
||||
m_windowHandle = p.GetWindowHandle();
|
||||
if (p.CreateFlags().CreateObjectFactory())
|
||||
{
|
||||
MxObjectFactory *objectFactory = new MxObjectFactory();
|
||||
@ -218,7 +219,7 @@ MxResult MxOmni::Create(MxOmniCreateParam &p)
|
||||
MxNotificationManager *notificationManager = new MxNotificationManager();
|
||||
this->m_notificationManager = notificationManager;
|
||||
|
||||
if (notificationManager == NULL)
|
||||
if (notificationManager == NULL || notificationManager->Create(100, 0) != SUCCESS)
|
||||
goto failure;
|
||||
}
|
||||
|
||||
@ -227,7 +228,7 @@ MxResult MxOmni::Create(MxOmniCreateParam &p)
|
||||
MxStreamer *streamer = new MxStreamer();
|
||||
this->m_streamer = streamer;
|
||||
|
||||
if (streamer == NULL)
|
||||
if (streamer == NULL || streamer->Init() != SUCCESS)
|
||||
goto failure;
|
||||
}
|
||||
|
||||
@ -236,8 +237,11 @@ MxResult MxOmni::Create(MxOmniCreateParam &p)
|
||||
MxVideoManager *videoManager = new MxVideoManager();
|
||||
this->m_videoManager = videoManager;
|
||||
|
||||
if (videoManager == NULL)
|
||||
return FAILURE;
|
||||
if (videoManager != NULL && videoManager->vtable0x2c(p.GetVideoParam(), 100, 0) != 0)
|
||||
{
|
||||
delete m_videoManager;
|
||||
m_videoManager = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (p.CreateFlags().CreateSoundManager())
|
||||
@ -246,9 +250,10 @@ MxResult MxOmni::Create(MxOmniCreateParam &p)
|
||||
this->m_soundManager = soundManager;
|
||||
|
||||
//TODO
|
||||
if (soundManager != NULL)
|
||||
if (soundManager != NULL && soundManager->StartDirectSound(10, 0) != FAILURE)
|
||||
{
|
||||
|
||||
delete m_soundManager;
|
||||
m_soundManager = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
#include "mxvariabletable.h"
|
||||
#include "mxvideomanager.h"
|
||||
#include "mxatomidcounter.h"
|
||||
#include "mxmidimanager.h"
|
||||
#include "mxautolocker.h"
|
||||
|
||||
// VTABLE 0x100dc168
|
||||
|
||||
@ -15,6 +15,10 @@ class MxOmniCreateParam : public MxOmniCreateParamBase
|
||||
|
||||
const MxOmniCreateFlags& CreateFlags() const { return this->m_createFlags; }
|
||||
|
||||
const MxString GetMediaPath() const { return m_mediaPath; }
|
||||
const HWND GetWindowHandle() const { return m_windowHandle; }
|
||||
MxVideoParam& GetVideoParam() { return m_videoParam; }
|
||||
|
||||
private:
|
||||
MxString m_mediaPath;
|
||||
HWND m_windowHandle;
|
||||
|
||||
@ -111,3 +111,15 @@ MxLong MxVideoManager::RealizePalette(MxPalette *p_palette)
|
||||
this->m_criticalSection.Leave();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100bebe0 STUB
|
||||
void MxVideoManager::vtable0x28()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100bebe0 STUB
|
||||
MxResult MxVideoManager::vtable0x2c(MxVideoParam& p_videoParam, undefined4 p_unknown1, MxU8 p_unknown2)
|
||||
{
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
@ -15,6 +15,9 @@ class MxVideoManager : public MxMediaManager
|
||||
|
||||
virtual MxResult Tickle(); // vtable+0x8
|
||||
|
||||
virtual void vtable0x28(); // vtable+0x28 (TODO ARGUMENTS)
|
||||
virtual MxResult vtable0x2c(MxVideoParam& p_videoParam, undefined4 p_unknown1, MxU8 p_unknown2); // vtable+0x2c
|
||||
|
||||
__declspec(dllexport) void InvalidateRect(MxRect32 &);
|
||||
__declspec(dllexport) virtual MxLong RealizePalette(MxPalette *); // vtable+0x30
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user