1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Remove now-unused SawyerEncoding.{cpp,h}

This commit is contained in:
Gymnasiast
2022-10-08 23:09:07 +02:00
parent c33e377d7c
commit 079253e168
6 changed files with 1 additions and 138 deletions

View File

@@ -345,7 +345,6 @@
<ClInclude Include="rct12\SawyerChunk.h" />
<ClInclude Include="rct12\SawyerChunkReader.h" />
<ClInclude Include="rct12\SawyerChunkWriter.h" />
<ClInclude Include="rct12\SawyerEncoding.h" />
<ClInclude Include="rct1\Limits.h" />
<ClInclude Include="rct1\RCT1.h" />
<ClInclude Include="rct1\Tables.h" />
@@ -841,7 +840,6 @@
<ClCompile Include="rct12\SawyerChunk.cpp" />
<ClCompile Include="rct12\SawyerChunkReader.cpp" />
<ClCompile Include="rct12\SawyerChunkWriter.cpp" />
<ClCompile Include="rct12\SawyerEncoding.cpp" />
<ClCompile Include="rct1\S4Importer.cpp" />
<ClCompile Include="rct1\T4Importer.cpp" />
<ClCompile Include="rct1\Tables.cpp" />
@@ -1011,4 +1009,4 @@
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>
</Project>

View File

@@ -16,7 +16,6 @@
#include "../rct1/RCT1.h"
#include "../rct1/Tables.h"
#include "../rct12/SawyerChunkReader.h"
#include "../rct12/SawyerEncoding.h"
#include "../ride/Ride.h"
#include "../ride/RideData.h"
#include "../ride/TrackDesign.h"

View File

@@ -1,107 +0,0 @@
/*****************************************************************************
* Copyright (c) 2014-2022 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
#include "SawyerEncoding.h"
#include "../core/IStream.hpp"
#include "../core/Numerics.hpp"
#include "RCT12.h"
#include <algorithm>
namespace SawyerEncoding
{
bool ValidateChecksum(OpenRCT2::IStream* stream)
{
uint64_t initialPosition = stream->GetPosition();
uint64_t dataSize = stream->GetLength() - initialPosition;
if (dataSize < 8)
{
return false;
}
dataSize -= 4;
try
{
// Calculate checksum
uint32_t checksum = 0;
do
{
uint8_t buffer[4096];
uint64_t bufferSize = std::min<uint64_t>(dataSize, sizeof(buffer));
stream->Read(buffer, bufferSize);
for (uint64_t i = 0; i < bufferSize; i++)
{
checksum += buffer[i];
}
dataSize -= bufferSize;
} while (dataSize != 0);
// Read file checksum
uint32_t fileChecksum = stream->ReadValue<uint32_t>();
// Rewind back to original position
stream->SetPosition(initialPosition);
return checksum == fileChecksum;
}
catch (const std::exception&)
{
// Rewind back to original position
stream->SetPosition(initialPosition);
return false;
}
}
// Returns version number
RCT12TrackDesignVersion ValidateTrackChecksum(OpenRCT2::IStream* stream)
{
uint64_t initialPosition = stream->GetPosition();
uint64_t dataSize = stream->GetLength() - initialPosition;
if (dataSize < 4)
{
return RCT12TrackDesignVersion::unknown;
}
dataSize -= 4;
try
{
const auto buffer = stream->ReadArray<uint8_t>(dataSize);
const auto* data = buffer.get();
uint32_t checksum = 0;
for (size_t i = 0; i < dataSize; i++, ++data)
{
uint8_t newByte = ((checksum & 0xFF) + *data) & 0xFF;
checksum = (checksum & 0xFFFFFF00) + newByte;
checksum = Numerics::rol32(checksum, 3);
}
uint32_t fileChecksum = stream->ReadValue<uint32_t>();
// Rewind back to original position
stream->SetPosition(initialPosition);
if (checksum - 0x1D4C1 == fileChecksum)
return RCT12TrackDesignVersion::TD6;
if (checksum - 0x1A67C == fileChecksum)
return RCT12TrackDesignVersion::TD4;
if (checksum - 0x1A650 == fileChecksum)
return RCT12TrackDesignVersion::TD4;
return RCT12TrackDesignVersion::unknown;
}
catch (const std::exception&)
{
// Rewind back to original position
stream->SetPosition(initialPosition);
return RCT12TrackDesignVersion::unknown;
}
}
} // namespace SawyerEncoding

View File

@@ -1,25 +0,0 @@
/*****************************************************************************
* Copyright (c) 2014-2022 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
#pragma once
#include "../common.h"
namespace OpenRCT2
{
struct IStream;
}
enum class RCT12TrackDesignVersion : uint8_t;
namespace SawyerEncoding
{
bool ValidateChecksum(OpenRCT2::IStream* stream);
RCT12TrackDesignVersion ValidateTrackChecksum(OpenRCT2::IStream* stream);
} // namespace SawyerEncoding

View File

@@ -52,7 +52,6 @@
#include "../rct12/EntryList.h"
#include "../rct12/RCT12.h"
#include "../rct12/SawyerChunkReader.h"
#include "../rct12/SawyerEncoding.h"
#include "../rct2/RCT2.h"
#include "../ride/Ride.h"
#include "../ride/RideData.h"

View File

@@ -16,7 +16,6 @@
#include "../object/ObjectRepository.h"
#include "../object/RideObject.h"
#include "../rct12/SawyerChunkReader.h"
#include "../rct12/SawyerEncoding.h"
#include "../ride/Ride.h"
#include "../ride/RideData.h"
#include "../ride/TrackDesign.h"