Define MxLong/MxULong (#71)

* define MxLong/MxULong

The "long" type has different sizes on different platforms, and this may cause issues.

* use DWORD to match RegQueryValueExA arg
This commit is contained in:
MattKC
2023-07-02 01:05:49 -07:00
committed by GitHub
parent 0555e05756
commit e16249b672
85 changed files with 180 additions and 159 deletions

View File

@@ -9,7 +9,7 @@
class MxDSFile : public MxDSSource
{
public:
__declspec(dllexport) MxDSFile(const char *filename, unsigned long skipReadingChunks);
__declspec(dllexport) MxDSFile(const char *filename, MxULong skipReadingChunks);
__declspec(dllexport) virtual ~MxDSFile(); // vtable+0x0
// OFFSET: LEGO1 0x100c0120
@@ -25,14 +25,14 @@ public:
return !strcmp(name, MxDSFile::ClassName()) || MxDSSource::IsA(name);
}
__declspec(dllexport) virtual long Open(unsigned long); // vtable+0x14
__declspec(dllexport) virtual long Close(); // vtable+0x18
__declspec(dllexport) virtual long Read(unsigned char *,unsigned long); // vtable+0x20
__declspec(dllexport) virtual long Seek(long,int); // vtable+0x24
__declspec(dllexport) virtual unsigned long GetBufferSize(); // vtable+0x28
__declspec(dllexport) virtual unsigned long GetStreamBuffersNum(); // vtable+0x2c
__declspec(dllexport) virtual MxLong Open(MxULong); // vtable+0x14
__declspec(dllexport) virtual MxLong Close(); // vtable+0x18
__declspec(dllexport) virtual MxLong Read(unsigned char *,MxULong); // vtable+0x20
__declspec(dllexport) virtual MxLong Seek(MxLong,int); // vtable+0x24
__declspec(dllexport) virtual MxULong GetBufferSize(); // vtable+0x28
__declspec(dllexport) virtual MxULong GetStreamBuffersNum(); // vtable+0x2c
private:
long ReadChunks();
MxLong ReadChunks();
struct ChunkHeader {
ChunkHeader()
: majorVersion(0)
@@ -43,7 +43,7 @@ private:
unsigned short majorVersion;
unsigned short minorVersion;
unsigned long bufferSize;
MxULong bufferSize;
short streamBuffersNum;
short reserved;
};
@@ -54,7 +54,7 @@ private:
// If false, read chunks immediately on open, otherwise
// skip reading chunks until ReadChunks is explicitly called.
unsigned long m_skipReadingChunks;
MxULong m_skipReadingChunks;
};
#endif // MXDSFILE_H