mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-27 10:11:15 +00:00
commit code
This commit is contained in:
parent
cc2bb16a9e
commit
af4f7becf0
@ -244,7 +244,14 @@ const char *GetNoCD_SourceName()
|
|||||||
// OFFSET: LEGO1 0x1005b5f0
|
// OFFSET: LEGO1 0x1005b5f0
|
||||||
MxLong LegoOmni::Notify(MxParam &p)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
#include "mxdiskstreamprovider.h"
|
#include "mxdiskstreamprovider.h"
|
||||||
|
|
||||||
#include "mxthread.h"
|
#include "mxthread.h"
|
||||||
|
#include "mxomni.h"
|
||||||
|
#include "mxstring.h"
|
||||||
|
#include "mxstreamcontroller.h"
|
||||||
|
|
||||||
DECOMP_SIZE_ASSERT(MxDiskStreamProvider, 0x60);
|
DECOMP_SIZE_ASSERT(MxDiskStreamProvider, 0x60);
|
||||||
|
|
||||||
@ -47,10 +50,35 @@ void MxDiskStreamProvider::PerformWork()
|
|||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100d13d0 STUB
|
// OFFSET: LEGO1 0x100d13d0
|
||||||
MxResult MxDiskStreamProvider::SetResourceToGet(void* p_resource)
|
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;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@ class MxDiskStreamProvider : public MxStreamProvider
|
|||||||
|
|
||||||
void PerformWork();
|
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 GetFileSize() override; //vtable+0x18
|
||||||
virtual MxU32 GetStreamBuffersNum() override; //vtable+0x1c
|
virtual MxU32 GetStreamBuffersNum() override; //vtable+0x1c
|
||||||
virtual void vtable0x20(undefined4 p_unknown1) override; //vtable+0x20
|
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 MxLong Seek(MxLong,int); // vtable+0x24
|
||||||
__declspec(dllexport) virtual MxULong GetBufferSize(); // vtable+0x28
|
__declspec(dllexport) virtual MxULong GetBufferSize(); // vtable+0x28
|
||||||
__declspec(dllexport) virtual MxULong GetStreamBuffersNum(); // vtable+0x2c
|
__declspec(dllexport) virtual MxULong GetStreamBuffersNum(); // vtable+0x2c
|
||||||
|
|
||||||
|
inline void SetFileName(MxString p_filename) { m_filename = p_filename; }
|
||||||
private:
|
private:
|
||||||
MxLong ReadChunks();
|
MxLong ReadChunks();
|
||||||
struct ChunkHeader {
|
struct ChunkHeader {
|
||||||
|
|||||||
@ -29,7 +29,7 @@ MxRAMStreamProvider::~MxRAMStreamProvider()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100d0ae0 STUB
|
// OFFSET: LEGO1 0x100d0ae0 STUB
|
||||||
MxResult MxRAMStreamProvider::SetResourceToGet(void* p_resource)
|
MxResult MxRAMStreamProvider::SetResourceToGet(MxStreamController* p_resource)
|
||||||
{
|
{
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ class MxRAMStreamProvider : public MxStreamProvider
|
|||||||
MxRAMStreamProvider();
|
MxRAMStreamProvider();
|
||||||
virtual ~MxRAMStreamProvider() override;
|
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 GetFileSize() override; //vtable+0x18
|
||||||
virtual MxU32 GetStreamBuffersNum() override; //vtable+0x1c
|
virtual MxU32 GetStreamBuffersNum() override; //vtable+0x1c
|
||||||
virtual MxU32 GetLengthInDWords() override; //vtable+0x24
|
virtual MxU32 GetLengthInDWords() override; //vtable+0x24
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
DECOMP_SIZE_ASSERT(MxStreamProvider, 0x10);
|
DECOMP_SIZE_ASSERT(MxStreamProvider, 0x10);
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100d07c0
|
// OFFSET: LEGO1 0x100d07c0
|
||||||
MxResult MxStreamProvider::SetResourceToGet(void* p_resource)
|
MxResult MxStreamProvider::SetResourceToGet(MxStreamController* p_resource)
|
||||||
{
|
{
|
||||||
m_pLookup = p_resource;
|
m_pLookup = p_resource;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|||||||
@ -5,6 +5,8 @@
|
|||||||
#include "mxcore.h"
|
#include "mxcore.h"
|
||||||
#include "mxdsfile.h"
|
#include "mxdsfile.h"
|
||||||
|
|
||||||
|
class MxStreamController;
|
||||||
|
|
||||||
// VTABLE 0x100dd100
|
// VTABLE 0x100dd100
|
||||||
// SIZE 0x10
|
// SIZE 0x10
|
||||||
class MxStreamProvider : public MxCore
|
class MxStreamProvider : public MxCore
|
||||||
@ -24,7 +26,7 @@ class MxStreamProvider : public MxCore
|
|||||||
return !strcmp(name, MxStreamProvider::ClassName()) || MxCore::IsA(name);
|
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 GetFileSize() = 0; //vtable+0x18
|
||||||
virtual MxU32 GetStreamBuffersNum() = 0; //vtable+0x1c
|
virtual MxU32 GetStreamBuffersNum() = 0; //vtable+0x1c
|
||||||
virtual void vtable0x20(undefined4 p_unknown1); //vtable+0x20
|
virtual void vtable0x20(undefined4 p_unknown1); //vtable+0x20
|
||||||
@ -32,7 +34,7 @@ class MxStreamProvider : public MxCore
|
|||||||
virtual MxU32* GetBufferForDWords() = 0; //vtable+0x28
|
virtual MxU32* GetBufferForDWords() = 0; //vtable+0x28
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void *m_pLookup;
|
MxStreamController *m_pLookup;
|
||||||
MxDSFile* m_pFile;
|
MxDSFile* m_pFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user