Fixed Precision Issue

This commit is contained in:
GoastcraftHD 2025-04-11 22:57:09 +02:00
parent f2501fdc0b
commit 812f7e1f91
3 changed files with 13 additions and 13 deletions

View File

@ -445,11 +445,11 @@ public:
uint64_t uncompressedSize = m_writer.GetPosition();
char uncompressedSizeChar[4];
std::memcpy(uncompressedSizeChar, &uncompressedSize, 4);
std::memcpy(uncompressedSizeChar, &uncompressedSize, sizeof(uncompressedSizeChar));
const char magic[5] = {0x2A, 0x4C, 0x5A, 0x34, 0x2A};
m_stream.write(magic, 5);
m_stream.write(uncompressedSizeChar, 4);
m_stream.write(magic, sizeof(magic));
m_stream.write(uncompressedSizeChar, sizeof(uncompressedSizeChar));
m_stream.write(compressedBuffer, actualCompressedFileSize);
}
};

View File

@ -15,12 +15,12 @@ MemoryWriter::~MemoryWriter()
Close();
}
uint64_t MemoryWriter::GetLength() const
size_t MemoryWriter::GetLength() const
{
return m_dataLength;
}
uint64_t MemoryWriter::GetPosition() const
size_t MemoryWriter::GetPosition() const
{
return m_currentPosition;
}
@ -52,7 +52,7 @@ void MemoryWriter::WriteNullTerminatedString(const std::string& string)
Write(reinterpret_cast<const uint8_t*>(string.c_str()), string.size() + 1);
}
void MemoryWriter::Reallocate(uint64_t capacity)
void MemoryWriter::Reallocate(size_t capacity)
{
auto tempPtr = static_cast<int8_t*>(std::realloc(m_dataPointer, capacity));
@ -63,7 +63,7 @@ void MemoryWriter::Reallocate(uint64_t capacity)
}
}
void MemoryWriter::ValidateCapacity(uint64_t newSize)
void MemoryWriter::ValidateCapacity(size_t newSize)
{
if (newSize > m_dataLength)
{

View File

@ -9,8 +9,8 @@ public:
MemoryWriter(uint32_t capacity);
~MemoryWriter();
uint64_t GetLength() const;
uint64_t GetPosition() const;
size_t GetLength() const;
size_t GetPosition() const;
int8_t* Data() const;
void Close();
@ -23,11 +23,11 @@ public:
}
private:
void Reallocate(uint64_t capacity);
void ValidateCapacity(uint64_t size);
void Reallocate(size_t capacity);
void ValidateCapacity(size_t size);
private:
int8_t* m_dataPointer;
uint64_t m_dataLength;
uint64_t m_currentPosition;
size_t m_dataLength;
size_t m_currentPosition;
};