mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 08:41:16 +00:00
commit code
This commit is contained in:
parent
cc2bb16a9e
commit
af4f7becf0
@ -244,7 +244,14 @@ const char *GetNoCD_SourceName()
|
||||
// OFFSET: LEGO1 0x1005b5f0
|
||||
MxLong LegoOmni::Notify(MxParam &p)
|
||||
{
|
||||
// FIXME: Stub
|
||||
MxResult result;
|
||||
MxBool videoOver;
|
||||
|
||||
// check if nocd video is over, if so exit
|
||||
if (((MxNotificationParam&) p).GetType() == MXSTREAMER_UNKNOWN)
|
||||
{
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
#include "mxdiskstreamprovider.h"
|
||||
|
||||
#include "mxthread.h"
|
||||
#include "mxomni.h"
|
||||
#include "mxstring.h"
|
||||
#include "mxstreamcontroller.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(MxDiskStreamProvider, 0x60);
|
||||
|
||||
@ -47,10 +50,35 @@ void MxDiskStreamProvider::PerformWork()
|
||||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100d13d0 STUB
|
||||
MxResult MxDiskStreamProvider::SetResourceToGet(void* p_resource)
|
||||
// OFFSET: LEGO1 0x100d13d0
|
||||
MxResult MxDiskStreamProvider::SetResourceToGet(MxStreamController* p_resource)
|
||||
{
|
||||
// TODO
|
||||
m_pLookup = p_resource;
|
||||
MxString path = MxString(MxOmni::GetHD()) + p_resource->GetAtom().GetInternal() + ".si";
|
||||
|
||||
MxDSFile* file = new MxDSFile(path.GetData(), 0);
|
||||
m_pFile = file;
|
||||
if (file != NULL)
|
||||
{
|
||||
if (file->Open(0) != 0)
|
||||
{
|
||||
path = MxString(MxOmni::GetCD()) + p_resource->GetAtom().GetInternal() + ".si";
|
||||
file->SetFileName(path);
|
||||
if (file->Open(0) != 0)
|
||||
{
|
||||
return FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
m_remainingWork = 1;
|
||||
MxResult success = m_busySemaphore.Init(0, 100);
|
||||
//m_thread.Start();
|
||||
|
||||
if (success == SUCCESS && p_resource != NULL)
|
||||
{
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ class MxDiskStreamProvider : public MxStreamProvider
|
||||
|
||||
void PerformWork();
|
||||
|
||||
virtual MxResult SetResourceToGet(void* p_resource) override; //vtable+0x14
|
||||
virtual MxResult SetResourceToGet(MxStreamController* p_resource) override; //vtable+0x14
|
||||
virtual MxU32 GetFileSize() override; //vtable+0x18
|
||||
virtual MxU32 GetStreamBuffersNum() override; //vtable+0x1c
|
||||
virtual void vtable0x20(undefined4 p_unknown1) override; //vtable+0x20
|
||||
|
||||
@ -32,6 +32,8 @@ class MxDSFile : public MxDSSource
|
||||
__declspec(dllexport) virtual MxLong Seek(MxLong,int); // vtable+0x24
|
||||
__declspec(dllexport) virtual MxULong GetBufferSize(); // vtable+0x28
|
||||
__declspec(dllexport) virtual MxULong GetStreamBuffersNum(); // vtable+0x2c
|
||||
|
||||
inline void SetFileName(MxString p_filename) { m_filename = p_filename; }
|
||||
private:
|
||||
MxLong ReadChunks();
|
||||
struct ChunkHeader {
|
||||
|
||||
@ -29,7 +29,7 @@ MxRAMStreamProvider::~MxRAMStreamProvider()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100d0ae0 STUB
|
||||
MxResult MxRAMStreamProvider::SetResourceToGet(void* p_resource)
|
||||
MxResult MxRAMStreamProvider::SetResourceToGet(MxStreamController* p_resource)
|
||||
{
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ class MxRAMStreamProvider : public MxStreamProvider
|
||||
MxRAMStreamProvider();
|
||||
virtual ~MxRAMStreamProvider() override;
|
||||
|
||||
virtual MxResult SetResourceToGet(void* p_resource) override; //vtable+0x14
|
||||
virtual MxResult SetResourceToGet(MxStreamController* p_resource) override; //vtable+0x14
|
||||
virtual MxU32 GetFileSize() override; //vtable+0x18
|
||||
virtual MxU32 GetStreamBuffersNum() override; //vtable+0x1c
|
||||
virtual MxU32 GetLengthInDWords() override; //vtable+0x24
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
DECOMP_SIZE_ASSERT(MxStreamProvider, 0x10);
|
||||
|
||||
// OFFSET: LEGO1 0x100d07c0
|
||||
MxResult MxStreamProvider::SetResourceToGet(void* p_resource)
|
||||
MxResult MxStreamProvider::SetResourceToGet(MxStreamController* p_resource)
|
||||
{
|
||||
m_pLookup = p_resource;
|
||||
return SUCCESS;
|
||||
|
||||
@ -5,6 +5,8 @@
|
||||
#include "mxcore.h"
|
||||
#include "mxdsfile.h"
|
||||
|
||||
class MxStreamController;
|
||||
|
||||
// VTABLE 0x100dd100
|
||||
// SIZE 0x10
|
||||
class MxStreamProvider : public MxCore
|
||||
@ -24,7 +26,7 @@ class MxStreamProvider : public MxCore
|
||||
return !strcmp(name, MxStreamProvider::ClassName()) || MxCore::IsA(name);
|
||||
}
|
||||
|
||||
virtual MxResult SetResourceToGet(void* p_resource); //vtable+0x14
|
||||
virtual MxResult SetResourceToGet(MxStreamController* p_resource); //vtable+0x14
|
||||
virtual MxU32 GetFileSize() = 0; //vtable+0x18
|
||||
virtual MxU32 GetStreamBuffersNum() = 0; //vtable+0x1c
|
||||
virtual void vtable0x20(undefined4 p_unknown1); //vtable+0x20
|
||||
@ -32,7 +34,7 @@ class MxStreamProvider : public MxCore
|
||||
virtual MxU32* GetBufferForDWords() = 0; //vtable+0x28
|
||||
|
||||
protected:
|
||||
void *m_pLookup;
|
||||
MxStreamController *m_pLookup;
|
||||
MxDSFile* m_pFile;
|
||||
};
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user