Isle
Loading...
Searching...
No Matches
mxramstreamprovider.h
Go to the documentation of this file.
1#ifndef MXRAMSTREAMPROVIDER_H
2#define MXRAMSTREAMPROVIDER_H
3
4#include "mxstreamprovider.h"
5
6// VTABLE: LEGO1 0x100dd0d0
7// VTABLE: BETA10 0x101c2ca8
8// SIZE 0x24
14public:
19
23 ~MxRAMStreamProvider() override;
24
29 const char* ClassName() const override // vtable+0x0c
30 {
31 // STRING: LEGO1 0x10102864
32 return "MxRAMStreamProvider";
33 }
34
40 MxBool IsA(const char* p_name) const override // vtable+0x10
41 {
42 return !strcmp(p_name, MxRAMStreamProvider::ClassName()) || MxStreamProvider::IsA(p_name);
43 }
44
50 MxResult SetResourceToGet(MxStreamController* p_resource) override; // vtable+0x14
51
55 MxU32 GetFileSize() override; // vtable+0x18
56
60 MxS32 GetStreamBuffersNum() override; // vtable+0x1c
61
65 MxU32 GetLengthInDWords() override; // vtable+0x24
66
70 MxU32* GetBufferForDWords() override; // vtable+0x28
71
76
77protected:
83};
84
85// SYNTHETIC: LEGO1 0x100d0a30
86// MxRAMStreamProvider::`scalar deleting destructor'
87
95MxU32 ReadData(MxU8* p_fileSizeBuffer, MxU32 p_fileSize);
96
97#endif // MXRAMSTREAMPROVIDER_H
[AI] Provides RAM-backed stream data access.
MxBool IsA(const char *p_name) const override
[AI] Runtime type check against this and parent class.
MxU32 m_fileSize
[AI] Size in bytes of the loaded resource file.
const char * ClassName() const override
[AI] Returns the runtime class name string for this object.
MxU32 m_lengthInDWords
[AI] Number of DWORD (4 byte) entries in buffer.
MxRAMStreamProvider()
[AI] Constructs a new MxRAMStreamProvider and initializes the buffer members to defaults/nullptr.
MxS32 GetStreamBuffersNum() override
[AI] Returns number of stream buffers contained (always 1 for RAM provider).
MxU32 * GetBufferForDWords() override
[AI] Returns pointer to the buffer as array of 32bit values (DWORDs), for data accessing aligned to 4...
MxU8 * m_pBufferOfFileSize
[AI] Pointer to full byte buffer with loaded SI file contents.
MxU32 * m_bufferForDWords
[AI] Pointer to DWORD buffer for 4-byte-aligned access to SI chunk data.
MxU32 GetFileSize() override
[AI] Returns the loaded file's full byte size.
MxU32 GetLengthInDWords() override
[AI] Returns length (number) of 32-bit words in buffer (DWORD units).
MxU32 m_bufferSize
[AI] Actual size in bytes of the buffer allocated for file (may match or exceed file size).
~MxRAMStreamProvider() override
[AI] Destroys the MxRAMStreamProvider, releasing all memory buffers.
MxU8 * GetBufferOfFileSize()
[AI] Returns pointer to raw file buffer as byte array.
MxResult SetResourceToGet(MxStreamController *p_resource) override
[AI] Loads the requested resource (SI file) fully into memory, prepares internal buffers for fast acc...
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
[AI] Abstract base class for stream resource providers in the LEGO Island engine.
MxBool IsA(const char *p_name) const override
[AI] Checks if this object is of the requested class name, or a subclass thereof.
#define override
Definition: compat.h:21
MxU32 ReadData(MxU8 *p_fileSizeBuffer, MxU32 p_fileSize)
[AI] Rearranges split and unordered chunks within a memory buffer for SI resource files,...
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
unsigned char MxU8
[AI]
Definition: mxtypes.h:8
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32