mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-23 16:21:15 +00:00
Implement Start()
This commit is contained in:
parent
85fe4ad07a
commit
ab36a90602
@ -99,11 +99,10 @@ void SetOmniUserMessage(void (*p_userMsg)(const char *,int))
|
|||||||
g_omniUserMessage = p_userMsg;
|
g_omniUserMessage = p_userMsg;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100acf50 STUB
|
// OFFSET: LEGO1 0x100acf50
|
||||||
MxLong Start(MxDSAction *)
|
MxLong Start(MxDSAction* action)
|
||||||
{
|
{
|
||||||
// TODO
|
return MxOmni::GetInstance()->Start(action);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x1005ad10
|
// OFFSET: LEGO1 0x1005ad10
|
||||||
|
|||||||
@ -42,10 +42,16 @@ void MxOmni::Init()
|
|||||||
m_unk64 = NULL;
|
m_unk64 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100b0090 STUB
|
// OFFSET: LEGO1 0x100b0090
|
||||||
void MxOmni::vtable0x20()
|
long MxOmni::Start(MxDSAction* ds)
|
||||||
{
|
{
|
||||||
// TODO
|
MxResult result = -1;
|
||||||
|
if(ds->GetAtomId().GetInternal() != NULL && ds->GetObjectId() != -1 && m_streamer != NULL)
|
||||||
|
{
|
||||||
|
result = m_streamer->Unknown100b99b0(ds);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100b00c0 STUB
|
// OFFSET: LEGO1 0x100b00c0 STUB
|
||||||
@ -258,7 +264,7 @@ MxAtomIdCounterSet *AtomIdCounterSet()
|
|||||||
MxStreamer* Streamer()
|
MxStreamer* Streamer()
|
||||||
{
|
{
|
||||||
return MxOmni::GetInstance()->GetStreamer();
|
return MxOmni::GetInstance()->GetStreamer();
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100acf00
|
// OFFSET: LEGO1 0x100acf00
|
||||||
MxSoundManager* MSoundManager()
|
MxSoundManager* MSoundManager()
|
||||||
@ -288,4 +294,4 @@ MxMusicManager* MusicManager()
|
|||||||
MxEventManager* EventManager()
|
MxEventManager* EventManager()
|
||||||
{
|
{
|
||||||
return MxOmni::GetInstance()->GetEventManager();
|
return MxOmni::GetInstance()->GetEventManager();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ class MxOmni : public MxCore
|
|||||||
virtual void Init(); // vtable+14
|
virtual void Init(); // vtable+14
|
||||||
virtual MxResult Create(COMPAT_CONST MxOmniCreateParam &p); // vtable+18
|
virtual MxResult Create(COMPAT_CONST MxOmniCreateParam &p); // vtable+18
|
||||||
virtual void Destroy(); // vtable+1c
|
virtual void Destroy(); // vtable+1c
|
||||||
virtual void vtable0x20(); // vtable+20
|
virtual MxResult Start(MxDSAction* ds); // vtable+20
|
||||||
virtual void DeleteObject(MxDSAction &ds); // vtable+24
|
virtual void DeleteObject(MxDSAction &ds); // vtable+24
|
||||||
virtual MxBool DoesEntityExist(MxDSAction &ds); // vtable+28
|
virtual MxBool DoesEntityExist(MxDSAction &ds); // vtable+28
|
||||||
virtual void vtable0x2c(); // vtable+2c
|
virtual void vtable0x2c(); // vtable+2c
|
||||||
|
|||||||
@ -30,3 +30,22 @@ MxResult MxStreamController::Open(const char *p_filename)
|
|||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100b9400
|
||||||
|
undefined4 MxStreamController::vtable0x18(undefined4 p_unknown, undefined4 p_unknown2)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100b9410
|
||||||
|
undefined4 MxStreamController::vtable0x1C(undefined4 p_unknown, undefined4 p_unknown2)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100c1690 STUB
|
||||||
|
long MxStreamController::vtable0x20(MxDSAction* action)
|
||||||
|
{
|
||||||
|
// TODO STUB
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
#include "mxcriticalsection.h"
|
#include "mxcriticalsection.h"
|
||||||
#include "mxcore.h"
|
#include "mxcore.h"
|
||||||
#include "mxdsobject.h"
|
#include "mxdsobject.h"
|
||||||
|
#include "mxdsaction.h"
|
||||||
|
|
||||||
// VTABLE 0x100dc968
|
// VTABLE 0x100dc968
|
||||||
// SIZE 0x64
|
// SIZE 0x64
|
||||||
@ -30,6 +31,9 @@ class MxStreamController : public MxCore
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual MxResult Open(const char *p_filename); // vtable+0x14
|
virtual MxResult Open(const char *p_filename); // vtable+0x14
|
||||||
|
virtual undefined4 vtable0x18(undefined4 p_unknown, undefined4 p_unknown2); //vtable+0x18
|
||||||
|
virtual undefined4 vtable0x1C(undefined4 p_unknown, undefined4 p_unknown2); //vtable+0x1c
|
||||||
|
virtual long vtable0x20(MxDSAction* action); //vtable+0x20
|
||||||
|
|
||||||
MxBool FUN_100c20d0(MxDSObject &p_obj);
|
MxBool FUN_100c20d0(MxDSObject &p_obj);
|
||||||
|
|
||||||
|
|||||||
@ -133,6 +133,22 @@ MxResult MxStreamer::AddStreamControllerToOpenList(MxStreamController *stream)
|
|||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100b99b0
|
||||||
|
MxResult MxStreamer::Unknown100b99b0(MxDSAction* p_action)
|
||||||
|
{
|
||||||
|
MxStreamController* controller;
|
||||||
|
if (p_action != NULL && p_action->GetAtomId().GetInternal() != NULL && p_action->GetObjectId() != -1)
|
||||||
|
{
|
||||||
|
controller = GetOpenStream(p_action->GetAtomId().GetInternal());
|
||||||
|
if (controller == NULL)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return controller->vtable0x20(p_action);
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100b9b60
|
// OFFSET: LEGO1 0x100b9b60
|
||||||
MxLong MxStreamer::Notify(MxParam &p)
|
MxLong MxStreamer::Notify(MxParam &p)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -96,6 +96,8 @@ class MxStreamer : public MxCore
|
|||||||
|
|
||||||
MxResult AddStreamControllerToOpenList(MxStreamController *p_stream);
|
MxResult AddStreamControllerToOpenList(MxStreamController *p_stream);
|
||||||
|
|
||||||
|
MxResult Unknown100b99b0(MxDSAction* p_action);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
list<MxStreamController *> m_openStreams; // 0x8
|
list<MxStreamController *> m_openStreams; // 0x8
|
||||||
MxStreamerSubClass2 m_subclass1; // 0x14
|
MxStreamerSubClass2 m_subclass1; // 0x14
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user