Use standard byte counts in save file IO

This commit is contained in:
notmatthewbeshay 2026-03-10 10:20:17 +11:00
parent 8be51f6270
commit d1b2b8cedb
12 changed files with 62 additions and 62 deletions

View file

@ -535,7 +535,7 @@ bool MinecraftServer::loadLevel(LevelStorageSource *storageSource, const std::ws
ConsoleSaveFile *csf = getLevel(0)->getLevelStorage()->getSaveFile();
if( csf->doesFileExist(filepath) )
{
DWORD numberOfBytesRead;
unsigned int numberOfBytesRead;
byteArray ba_gameRules;
FileEntry *fe = csf->createFile(filepath);
@ -810,7 +810,7 @@ void MinecraftServer::saveGameRules()
ConsoleSaveFile *csf = getLevel(0)->getLevelStorage()->getSaveFile();
FileEntry *fe = csf->createFile(ConsoleSavePath(GAME_RULE_SAVENAME));
csf->setFilePointer(fe, 0, NULL, FILE_BEGIN);
DWORD length;
unsigned int length;
csf->writeFile(fe, ba.data, ba.length, &length );
delete [] ba.data;

View file

@ -307,7 +307,7 @@ void CScene_DebugOverlay::SaveLimitedFile(int chunkRadius)
//SetSpawnToPlayerPos();
FileEntry *origFileEntry = currentSave->createFile( std::wstring( L"level.dat" ) );
byteArray levelData( origFileEntry->getFileSize() );
DWORD bytesRead;
unsigned int bytesRead;
currentSave->setFilePointer(origFileEntry,0,NULL,FILE_BEGIN);
currentSave->readFile(
origFileEntry,
@ -317,7 +317,7 @@ void CScene_DebugOverlay::SaveLimitedFile(int chunkRadius)
);
FileEntry *newFileEntry = newSave.createFile( std::wstring( L"level.dat" ) );
DWORD bytesWritten;
unsigned int bytesWritten;
newSave.writeFile( newFileEntry,
levelData.data, // data buffer
origFileEntry->getFileSize(), // number of bytes to write
@ -388,4 +388,4 @@ DataOutputStream *CScene_DebugOverlay::getChunkDataOutputStream(std::unordered_m
RegionFile *r = getRegionFile(newFileCache, saveFile, prefix, chunkX, chunkZ);
return r->getChunkDataOutputStream(chunkX & 31, chunkZ & 31);
}
#endif
#endif

View file

@ -11,9 +11,9 @@ public:
virtual FileEntry *createFile( const ConsoleSavePath &fileName ) = 0;
virtual void deleteFile( FileEntry *file ) = 0;
virtual void setFilePointer( FileEntry *file,LONG lDistanceToMove, PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod) = 0;
virtual BOOL writeFile( FileEntry *file, const void *lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten) = 0;
virtual BOOL zeroFile(FileEntry *file, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten) = 0;
virtual BOOL readFile( FileEntry *file, void *lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead ) = 0;
virtual BOOL writeFile( FileEntry *file, const void *lpBuffer, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten) = 0;
virtual BOOL zeroFile(FileEntry *file, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten) = 0;
virtual BOOL readFile( FileEntry *file, void *lpBuffer, unsigned int nNumberOfBytesToRead, unsigned int *lpNumberOfBytesRead ) = 0;
virtual bool closeHandle( FileEntry *file ) = 0;
virtual void finalizeWrite() = 0;
virtual void tick() {};

View file

@ -7,8 +7,8 @@
void ConsoleSaveFileConverter::ProcessSimpleFile(ConsoleSaveFile *sourceSave, FileEntry *sourceFileEntry, ConsoleSaveFile *targetSave, FileEntry *targetFileEntry)
{
DWORD numberOfBytesRead = 0;
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesRead = 0;
unsigned int numberOfBytesWritten = 0;
uint8_t *data = new uint8_t[sourceFileEntry->getFileSize()];
@ -23,8 +23,8 @@ void ConsoleSaveFileConverter::ProcessSimpleFile(ConsoleSaveFile *sourceSave, Fi
void ConsoleSaveFileConverter::ProcessStandardRegionFile(ConsoleSaveFile *sourceSave, File sourceFile, ConsoleSaveFile *targetSave, File targetFile)
{
DWORD numberOfBytesWritten = 0;
DWORD numberOfBytesRead = 0;
unsigned int numberOfBytesWritten = 0;
unsigned int numberOfBytesRead = 0;
RegionFile sourceRegionFile(sourceSave, &sourceFile);
RegionFile targetRegionFile(targetSave, &targetFile);

View file

@ -26,7 +26,7 @@ ConsoleSaveFileInputStream::ConsoleSaveFileInputStream(ConsoleSaveFile *saveFile
int ConsoleSaveFileInputStream::read()
{
uint8_t byteRead = static_cast<uint8_t>(0);
DWORD numberOfBytesRead;
unsigned int numberOfBytesRead;
BOOL result = m_saveFile->readFile(
m_file,
@ -56,7 +56,7 @@ int ConsoleSaveFileInputStream::read()
//the total number of bytes read into the buffer, or -1 if there is no more data because the end of the file has been reached.
int ConsoleSaveFileInputStream::read(byteArray b)
{
DWORD numberOfBytesRead;
unsigned int numberOfBytesRead;
BOOL result = m_saveFile->readFile(
m_file,
@ -92,7 +92,7 @@ int ConsoleSaveFileInputStream::read(byteArray b, unsigned int offset, unsigned
// 4J Stu - We don't want to read any more than the array buffer can hold
assert( length <= ( b.length - offset ) );
DWORD numberOfBytesRead;
unsigned int numberOfBytesRead;
BOOL result = m_saveFile->readFile(
m_file,

View file

@ -314,7 +314,7 @@ void ConsoleSaveFileOriginal::setFilePointer(FileEntry *file,LONG lDistanceToMov
}
// If this file needs to grow, move the data after along
void ConsoleSaveFileOriginal::PrepareForWrite( FileEntry *file, DWORD nNumberOfBytesToWrite )
void ConsoleSaveFileOriginal::PrepareForWrite( FileEntry *file, unsigned int nNumberOfBytesToWrite )
{
int bytesToGrowBy = ( (file->currentFilePointer - file->data.startOffset) + nNumberOfBytesToWrite) - file->getFileSize();
if( bytesToGrowBy <= 0 )
@ -337,7 +337,7 @@ void ConsoleSaveFileOriginal::PrepareForWrite( FileEntry *file, DWORD nNumberOfB
finalizeWrite();
}
BOOL ConsoleSaveFileOriginal::writeFile(FileEntry *file,const void *lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten)
BOOL ConsoleSaveFileOriginal::writeFile(FileEntry *file,const void *lpBuffer, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten)
{
assert( pvSaveMem != NULL );
if( pvSaveMem == NULL )
@ -374,7 +374,7 @@ BOOL ConsoleSaveFileOriginal::writeFile(FileEntry *file,const void *lpBuffer, DW
return 1;
}
BOOL ConsoleSaveFileOriginal::zeroFile(FileEntry *file, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten)
BOOL ConsoleSaveFileOriginal::zeroFile(FileEntry *file, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten)
{
assert( pvSaveMem != NULL );
if( pvSaveMem == NULL )
@ -411,9 +411,9 @@ BOOL ConsoleSaveFileOriginal::zeroFile(FileEntry *file, DWORD nNumberOfBytesToWr
return 1;
}
BOOL ConsoleSaveFileOriginal::readFile( FileEntry *file, void *lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead)
BOOL ConsoleSaveFileOriginal::readFile( FileEntry *file, void *lpBuffer, unsigned int nNumberOfBytesToRead, unsigned int *lpNumberOfBytesRead)
{
DWORD actualBytesToRead;
unsigned int actualBytesToRead;
assert( pvSaveMem != NULL );
if( pvSaveMem == NULL )
{
@ -467,13 +467,13 @@ void ConsoleSaveFileOriginal::finalizeWrite()
ReleaseSaveAccess();
}
void ConsoleSaveFileOriginal::MoveDataBeyond(FileEntry *file, DWORD nNumberOfBytesToWrite)
void ConsoleSaveFileOriginal::MoveDataBeyond(FileEntry *file, unsigned int nNumberOfBytesToWrite)
{
DWORD numberOfBytesRead = 0;
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesRead = 0;
unsigned int numberOfBytesWritten = 0;
const DWORD bufferSize = 4096;
DWORD amountToRead = bufferSize;
const unsigned int bufferSize = 4096;
unsigned int amountToRead = bufferSize;
//assert( nNumberOfBytesToWrite <= bufferSize );
static uint8_t buffer1[bufferSize];
static uint8_t buffer2[bufferSize];

View file

@ -28,8 +28,8 @@ private:
CRITICAL_SECTION m_lock;
void PrepareForWrite( FileEntry *file, DWORD nNumberOfBytesToWrite );
void MoveDataBeyond(FileEntry *file, DWORD nNumberOfBytesToWrite);
void PrepareForWrite( FileEntry *file, unsigned int nNumberOfBytesToWrite );
void MoveDataBeyond(FileEntry *file, unsigned int nNumberOfBytesToWrite);
public:
#if (defined __PS3__ || defined __ORBIS__ || defined __PSVITA__ || defined _DURANGO || defined _WINDOWS64)
@ -44,9 +44,9 @@ public:
virtual void deleteFile( FileEntry *file );
virtual void setFilePointer(FileEntry *file,LONG lDistanceToMove,PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod);
virtual BOOL writeFile( FileEntry *file, const void *lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten );
virtual BOOL zeroFile(FileEntry *file, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten);
virtual BOOL readFile( FileEntry *file, void *lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead );
virtual BOOL writeFile( FileEntry *file, const void *lpBuffer, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten );
virtual BOOL zeroFile(FileEntry *file, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten);
virtual BOOL readFile( FileEntry *file, void *lpBuffer, unsigned int nNumberOfBytesToRead, unsigned int *lpNumberOfBytesRead );
virtual bool closeHandle( FileEntry *file );
virtual void finalizeWrite();

View file

@ -36,7 +36,7 @@ ConsoleSaveFileOutputStream::ConsoleSaveFileOutputStream(ConsoleSaveFile *saveFi
//b - the byte to be written.
void ConsoleSaveFileOutputStream::write(unsigned int b)
{
DWORD numberOfBytesWritten;
unsigned int numberOfBytesWritten;
uint8_t value = (uint8_t) b;
@ -62,7 +62,7 @@ void ConsoleSaveFileOutputStream::write(unsigned int b)
//b - the data.
void ConsoleSaveFileOutputStream::write(byteArray b)
{
DWORD numberOfBytesWritten;
unsigned int numberOfBytesWritten;
BOOL result = m_saveFile->writeFile(
m_file,
@ -91,7 +91,7 @@ void ConsoleSaveFileOutputStream::write(byteArray b, unsigned int offset, unsign
// 4J Stu - We don't want to write any more than the array buffer holds
assert( length <= ( b.length - offset ) );
DWORD numberOfBytesWritten;
unsigned int numberOfBytesWritten;
BOOL result = m_saveFile->writeFile(
m_file,

View file

@ -709,7 +709,7 @@ void ConsoleSaveFileSplit::setFilePointer(FileEntry *file,LONG lDistanceToMove,P
}
// If this file needs to grow, move the data after along
void ConsoleSaveFileSplit::PrepareForWrite( FileEntry *file, DWORD nNumberOfBytesToWrite )
void ConsoleSaveFileSplit::PrepareForWrite( FileEntry *file, unsigned int nNumberOfBytesToWrite )
{
int bytesToGrowBy = ( (file->currentFilePointer - file->data.startOffset) + nNumberOfBytesToWrite) - file->getFileSize();
if( bytesToGrowBy <= 0 )
@ -734,7 +734,7 @@ void ConsoleSaveFileSplit::PrepareForWrite( FileEntry *file, DWORD nNumberOfByte
finalizeWrite();
}
BOOL ConsoleSaveFileSplit::writeFile(FileEntry *file,const void *lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten)
BOOL ConsoleSaveFileSplit::writeFile(FileEntry *file,const void *lpBuffer, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten)
{
assert( pvSaveMem != NULL );
if( pvSaveMem == NULL )
@ -787,7 +787,7 @@ BOOL ConsoleSaveFileSplit::writeFile(FileEntry *file,const void *lpBuffer, DWORD
return 1;
}
BOOL ConsoleSaveFileSplit::zeroFile(FileEntry *file, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten)
BOOL ConsoleSaveFileSplit::zeroFile(FileEntry *file, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten)
{
assert( pvSaveMem != NULL );
if( pvSaveMem == NULL )
@ -840,9 +840,9 @@ BOOL ConsoleSaveFileSplit::zeroFile(FileEntry *file, DWORD nNumberOfBytesToWrite
return 1;
}
BOOL ConsoleSaveFileSplit::readFile( FileEntry *file, void *lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead)
BOOL ConsoleSaveFileSplit::readFile( FileEntry *file, void *lpBuffer, unsigned int nNumberOfBytesToRead, unsigned int *lpNumberOfBytesRead)
{
DWORD actualBytesToRead;
unsigned int actualBytesToRead;
assert( pvSaveMem != NULL );
if( pvSaveMem == NULL )
{
@ -1037,13 +1037,13 @@ void ConsoleSaveFileSplit::finalizeWrite()
ReleaseSaveAccess();
}
void ConsoleSaveFileSplit::MoveDataBeyond(FileEntry *file, DWORD nNumberOfBytesToWrite)
void ConsoleSaveFileSplit::MoveDataBeyond(FileEntry *file, unsigned int nNumberOfBytesToWrite)
{
DWORD numberOfBytesRead = 0;
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesRead = 0;
unsigned int numberOfBytesWritten = 0;
const DWORD bufferSize = 4096;
DWORD amountToRead = bufferSize;
const unsigned int bufferSize = 4096;
unsigned int amountToRead = bufferSize;
//assert( nNumberOfBytesToWrite <= bufferSize );
static uint8_t buffer1[bufferSize];
static uint8_t buffer2[bufferSize];

View file

@ -71,8 +71,8 @@ private:
CRITICAL_SECTION m_lock;
void PrepareForWrite( FileEntry *file, DWORD nNumberOfBytesToWrite );
void MoveDataBeyond(FileEntry *file, DWORD nNumberOfBytesToWrite);
void PrepareForWrite( FileEntry *file, unsigned int nNumberOfBytesToWrite );
void MoveDataBeyond(FileEntry *file, unsigned int nNumberOfBytesToWrite);
bool GetNumericIdentifierFromName(const std::wstring &fileName, unsigned int *idOut);
std::wstring GetNameFromNumericIdentifier(unsigned int idIn);
@ -96,9 +96,9 @@ public:
virtual void deleteFile( FileEntry *file );
virtual void setFilePointer(FileEntry *file,LONG lDistanceToMove,PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod);
virtual BOOL writeFile( FileEntry *file, const void *lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten );
virtual BOOL zeroFile(FileEntry *file, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten);
virtual BOOL readFile( FileEntry *file, void *lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead );
virtual BOOL writeFile( FileEntry *file, const void *lpBuffer, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten );
virtual BOOL zeroFile(FileEntry *file, unsigned int nNumberOfBytesToWrite, unsigned int *lpNumberOfBytesWritten);
virtual BOOL readFile( FileEntry *file, void *lpBuffer, unsigned int nNumberOfBytesToRead, unsigned int *lpNumberOfBytesRead );
virtual bool closeHandle( FileEntry *file );
virtual void finalizeWrite();

View file

@ -243,7 +243,7 @@ LevelData *DirectoryLevelStorage::prepareLevel()
#endif
if (!m_bHasLoadedMapDataMappings && !mapFile.getName().empty() && getSaveFile()->doesFileExist( mapFile ))
{
DWORD NumberOfBytesRead;
unsigned int NumberOfBytesRead;
FileEntry *fileEntry = getSaveFile()->createFile(mapFile);
#ifdef __PS3__
@ -681,7 +681,7 @@ void DirectoryLevelStorage::saveMapIdLookup()
if (!file.getName().empty())
{
DWORD NumberOfBytesWritten;
unsigned int NumberOfBytesWritten;
FileEntry *fileEntry = m_saveFile->createFile(file);
m_saveFile->setFilePointer(fileEntry,0,NULL, FILE_BEGIN);

View file

@ -58,8 +58,8 @@ RegionFile::RegionFile(ConsoleSaveFile *saveFile, File *path)
if ((fileEntry->getFileSize() & 0xfff) != 0)
{
//uint8_t zero = 0;
DWORD numberOfBytesWritten = 0;
DWORD bytesToWrite = 0x1000 - (fileEntry->getFileSize() & 0xfff);
unsigned int numberOfBytesWritten = 0;
unsigned int bytesToWrite = 0x1000 - (fileEntry->getFileSize() & 0xfff);
uint8_t *zeroBytes = new uint8_t[ bytesToWrite ];
ZeroMemory(zeroBytes, bytesToWrite);
@ -95,7 +95,7 @@ RegionFile::RegionFile(ConsoleSaveFile *saveFile, File *path)
for (int i = 0; i < SECTOR_INTS; ++i)
{
unsigned int offset = 0;
DWORD numberOfBytesRead = 0;
unsigned int numberOfBytesRead = 0;
if( !m_bIsEmpty ) // 4J added condition, don't read back if we've just created an empty file as we don't immediately write this anymore
{
m_saveFile->readFile(fileEntry, &offset, 4, &numberOfBytesRead);
@ -115,7 +115,7 @@ RegionFile::RegionFile(ConsoleSaveFile *saveFile, File *path)
for (int i = 0; i < SECTOR_INTS; ++i)
{
int lastModValue = 0;
DWORD numberOfBytesRead = 0;
unsigned int numberOfBytesRead = 0;
if( !m_bIsEmpty ) // 4J added condition, don't read back if we've just created an empty file as we don't immediately write this anymore
{
m_saveFile->readFile(fileEntry, &lastModValue, 4, &numberOfBytesRead);
@ -138,7 +138,7 @@ void RegionFile::writeAllOffsets() // used for the file ConsoleSaveFile conversi
// save all the offsets and timestamps
m_saveFile->LockSaveAccess();
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesWritten = 0;
m_saveFile->setFilePointer( fileEntry, 0, NULL, FILE_BEGIN );
m_saveFile->writeFile(fileEntry,offsets, SECTOR_BYTES ,&numberOfBytesWritten);
@ -205,7 +205,7 @@ DataInputStream *RegionFile::getChunkDataInputStream(int x, int z) // TODO - was
unsigned int decompLength;
unsigned int readDecompLength;
DWORD numberOfBytesRead = 0;
unsigned int numberOfBytesRead = 0;
// 4J - this differs a bit from the java file format. Java has length stored as an int, then a type as a byte, then length-1 bytes of data
// We store length and decompression length as ints, then length bytes of xbox LZX compressed data
@ -379,7 +379,7 @@ void RegionFile::write(int x, int z, uint8_t *data, int length) // TODO - was s
#ifndef _CONTENT_PACAKGE
//wprintf(L"Writing chunk (%d,%d) in %ls from new sector %d to %d\n", x,z, fileEntry->data.filename, sectorNumber, sectorNumber + sectorsNeeded - 1);
#endif
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesWritten = 0;
for (int i = 0; i < sectorsNeeded; ++i)
{
//WriteFile(file,emptySector.data,SECTOR_BYTES,&numberOfBytesWritten,NULL);
@ -405,7 +405,7 @@ void RegionFile::write(int x, int z, uint8_t *data, int length) // TODO - was s
/* write a chunk data to the region file at specified sector number */
void RegionFile::write(int sectorNumber, uint8_t *data, int length, unsigned int compLength)
{
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesWritten = 0;
//SetFilePointer(file,sectorNumber * SECTOR_BYTES,0,FILE_BEGIN);
m_saveFile->setFilePointer( fileEntry, sectorNumber * SECTOR_BYTES, NULL, FILE_BEGIN );
@ -424,7 +424,7 @@ void RegionFile::write(int sectorNumber, uint8_t *data, int length, unsigned int
void RegionFile::zero(int sectorNumber, int length)
{
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesWritten = 0;
//SetFilePointer(file,sectorNumber * SECTOR_BYTES,0,FILE_BEGIN);
m_saveFile->setFilePointer( fileEntry, sectorNumber * SECTOR_BYTES, NULL, FILE_BEGIN );
m_saveFile->zeroFile( fileEntry, length, &numberOfBytesWritten );
@ -450,7 +450,7 @@ bool RegionFile::hasChunk(int x, int z)
void RegionFile::insertInitialSectors()
{
m_saveFile->setFilePointer( fileEntry, 0, NULL, FILE_BEGIN );
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesWritten = 0;
uint8_t zeroBytes[ SECTOR_BYTES ];
ZeroMemory(zeroBytes, SECTOR_BYTES);
@ -470,7 +470,7 @@ void RegionFile::setOffset(int x, int z, int offset)
insertInitialSectors(); // 4J added
}
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesWritten = 0;
offsets[x + z * 32] = offset;
m_saveFile->setFilePointer( fileEntry, (x + z * 32) * 4, NULL, FILE_BEGIN );
@ -484,7 +484,7 @@ void RegionFile::setTimestamp(int x, int z, int value)
insertInitialSectors(); // 4J added
}
DWORD numberOfBytesWritten = 0;
unsigned int numberOfBytesWritten = 0;
chunkTimestamps[x + z * 32] = value;
m_saveFile->setFilePointer( fileEntry, SECTOR_BYTES + (x + z * 32) * 4, NULL, FILE_BEGIN );