mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-27 02:14:18 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1013 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1013 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef MXDSSOURCE_H
 | |
| #define MXDSSOURCE_H
 | |
| 
 | |
| #include "mxcore.h"
 | |
| 
 | |
| class MxDSBuffer;
 | |
| 
 | |
| // VTABLE 0x100dc8c8
 | |
| class MxDSSource : public MxCore {
 | |
| public:
 | |
| 	MxDSSource() : m_lengthInDWords(0), m_pBuffer(NULL), m_position(-1) {}
 | |
| 
 | |
| 	// OFFSET: LEGO1 0x100c0010
 | |
| 	inline virtual const char* ClassName() const override // vtable+0x0c
 | |
| 	{
 | |
| 		// 0x10102588
 | |
| 		return "MxDSSource";
 | |
| 	}
 | |
| 
 | |
| 	// OFFSET: LEGO1 0x100c0020
 | |
| 	inline virtual MxBool IsA(const char* name) const override // vtable+0x10
 | |
| 	{
 | |
| 		return !strcmp(name, MxDSSource::ClassName()) || MxCore::IsA(name);
 | |
| 	}
 | |
| 
 | |
| 	virtual MxLong Open(MxULong) = 0;
 | |
| 	virtual MxLong Close() = 0;
 | |
| 	virtual void ReadToBuffer(MxDSBuffer* p_buffer);
 | |
| 	virtual MxResult Read(unsigned char*, MxULong) = 0;
 | |
| 	virtual MxLong Seek(MxLong, int) = 0;
 | |
| 	virtual MxULong GetBufferSize() = 0;
 | |
| 	virtual MxULong GetStreamBuffersNum() = 0;
 | |
| 	virtual MxLong GetLengthInDWords();
 | |
| 	virtual MxU32* GetBuffer(); // 0x34
 | |
| 
 | |
| protected:
 | |
| 	MxULong m_lengthInDWords;
 | |
| 	MxU32* m_pBuffer;
 | |
| 	MxLong m_position;
 | |
| };
 | |
| 
 | |
| #endif // MXDSSOURCE_H
 | 
