mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-10 09:32:29 +01:00
Move legacy identifier interpreting to separate file from parkfile
This commit is contained in:
@@ -9,11 +9,11 @@
|
||||
|
||||
#include "FileClassifier.h"
|
||||
|
||||
#include "ParkFile.h"
|
||||
#include "core/Console.hpp"
|
||||
#include "core/FileStream.h"
|
||||
#include "core/Path.hpp"
|
||||
#include "core/String.hpp"
|
||||
#include "park/ParkFile.h"
|
||||
#include "rct12/SawyerChunkReader.h"
|
||||
#include "scenario/Scenario.h"
|
||||
#include "util/SawyerCoding.h"
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "Game.h"
|
||||
#include "GameStateSnapshots.h"
|
||||
#include "OpenRCT2.h"
|
||||
#include "ParkFile.h"
|
||||
#include "ParkImporter.h"
|
||||
#include "PlatformEnvironment.h"
|
||||
#include "actions/FootpathPlaceAction.h"
|
||||
@@ -31,6 +30,7 @@
|
||||
#include "management/NewsItem.h"
|
||||
#include "object/ObjectManager.h"
|
||||
#include "object/ObjectRepository.h"
|
||||
#include "park/ParkFile.h"
|
||||
#include "scenario/Scenario.h"
|
||||
#include "world/Park.h"
|
||||
#include "zlib.h"
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
#include "../Context.h"
|
||||
#include "../FileClassifier.h"
|
||||
#include "../OpenRCT2.h"
|
||||
#include "../ParkFile.h"
|
||||
#include "../ParkImporter.h"
|
||||
#include "../common.h"
|
||||
#include "../core/Console.hpp"
|
||||
#include "../core/Path.hpp"
|
||||
#include "../interface/Window.h"
|
||||
#include "../object/ObjectManager.h"
|
||||
#include "../park/ParkFile.h"
|
||||
#include "../scenario/Scenario.h"
|
||||
#include "CommandLine.hpp"
|
||||
|
||||
|
||||
@@ -304,8 +304,10 @@
|
||||
<ClInclude Include="paint\tile_element\Paint.Surface.h" />
|
||||
<ClInclude Include="paint\tile_element\Paint.TileElement.h" />
|
||||
<ClInclude Include="paint\VirtualFloor.h" />
|
||||
<ClInclude Include="ParkFile.h" />
|
||||
<ClInclude Include="ParkImporter.h" />
|
||||
<ClInclude Include="park\Legacy.h" />
|
||||
<ClInclude Include="park\ParkFile.h" />
|
||||
<ClInclude Include="peep\Guest.h" />
|
||||
<ClInclude Include="peep\GuestPathfinding.h" />
|
||||
<ClInclude Include="peep\RideUseSystem.h" />
|
||||
<ClInclude Include="PlatformEnvironment.h" />
|
||||
@@ -771,8 +773,9 @@
|
||||
<ClCompile Include="paint\tile_element\Paint.TileElement.cpp" />
|
||||
<ClCompile Include="paint\tile_element\Paint.Wall.cpp" />
|
||||
<ClCompile Include="paint\VirtualFloor.cpp" />
|
||||
<ClCompile Include="ParkFile.cpp" />
|
||||
<ClCompile Include="ParkImporter.cpp" />
|
||||
<ClCompile Include="park\Legacy.cpp" />
|
||||
<ClCompile Include="park\ParkFile.cpp" />
|
||||
<ClCompile Include="peep\GuestPathfinding.cpp" />
|
||||
<ClCompile Include="peep\PeepData.cpp" />
|
||||
<ClCompile Include="peep\RideUseSystem.cpp" />
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "../Game.h"
|
||||
#include "../GameStateSnapshots.h"
|
||||
#include "../OpenRCT2.h"
|
||||
#include "../ParkFile.h"
|
||||
#include "../PlatformEnvironment.h"
|
||||
#include "../actions/LoadOrQuitAction.h"
|
||||
#include "../actions/NetworkModifyGroupAction.h"
|
||||
@@ -24,6 +23,7 @@
|
||||
#include "../entity/EntityRegistry.h"
|
||||
#include "../entity/EntityTweener.h"
|
||||
#include "../localisation/Formatting.h"
|
||||
#include "../park/ParkFile.h"
|
||||
#include "../platform/Platform2.h"
|
||||
#include "../scenario/Scenario.h"
|
||||
#include "../scripting/ScriptEngine.h"
|
||||
|
||||
@@ -1,3 +1,19 @@
|
||||
/*****************************************************************************
|
||||
* Copyright (c) 2014-2021 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 "Legacy.h"
|
||||
|
||||
#include "../object/ObjectList.h"
|
||||
#include "../rct2/RCT2.h"
|
||||
|
||||
#include <map>
|
||||
|
||||
static std::map<std::string_view, std::string_view> oldObjectIds = {
|
||||
{ "official.scgpanda", "rct2dlc.scenery_group.scgpanda" },
|
||||
{ "official.wtrpink", "rct2dlc.water.wtrpink" },
|
||||
@@ -2196,7 +2212,7 @@ static std::map<std::string_view, std::string_view> oldObjectIds = {
|
||||
{ "rct1.pathsurface.tile.brown", "rct1.footpath_surface.tiles_brown" },
|
||||
};
|
||||
|
||||
static std::string_view MapToNewObjectIdentifier(std::string_view s)
|
||||
std::string_view MapToNewObjectIdentifier(std::string_view s)
|
||||
{
|
||||
auto it = oldObjectIds.find(s);
|
||||
if (it != oldObjectIds.end())
|
||||
@@ -2214,7 +2230,7 @@ static std::map<std::string_view, std::string_view> DATPathNames = {
|
||||
{ "rct2.medipath", "MEDIPATH" }, { "rct2.mythpath", "MYTHPATH" }, { "rct2.ranbpath", "RANBPATH" },
|
||||
};
|
||||
|
||||
static std::optional<std::string_view> GetDATPathName(std::string_view newPathName)
|
||||
std::optional<std::string_view> GetDATPathName(std::string_view newPathName)
|
||||
{
|
||||
auto it = DATPathNames.find(newPathName);
|
||||
if (it != DATPathNames.end())
|
||||
@@ -2228,7 +2244,7 @@ static RCT2::FootpathMapping _extendedFootpathMappings[] = {
|
||||
{ "rct1.path.tarmac", "rct1.footpath_surface.tarmac", "rct1.footpath_surface.queue_blue", "rct2.footpath_railings.wood" },
|
||||
};
|
||||
|
||||
static const RCT2::FootpathMapping* GetFootpathMapping(const ObjectEntryDescriptor& desc)
|
||||
const RCT2::FootpathMapping* GetFootpathMapping(const ObjectEntryDescriptor& desc)
|
||||
{
|
||||
for (const auto& mapping : _extendedFootpathMappings)
|
||||
{
|
||||
@@ -2257,7 +2273,7 @@ static const RCT2::FootpathMapping* GetFootpathMapping(const ObjectEntryDescript
|
||||
return RCT2::GetFootpathSurfaceId(desc);
|
||||
}
|
||||
|
||||
static void UpdateFootpathsFromMapping(
|
||||
void UpdateFootpathsFromMapping(
|
||||
ObjectEntryIndex* pathToSurfaceMap, ObjectEntryIndex* pathToQueueSurfaceMap, ObjectEntryIndex* pathToRailingsMap,
|
||||
ObjectList& requiredObjects, ObjectEntryIndex& surfaceCount, ObjectEntryIndex& railingCount, ObjectEntryIndex entryIndex,
|
||||
const RCT2::FootpathMapping* footpathMapping)
|
||||
|
||||
28
src/openrct2/park/Legacy.h
Normal file
28
src/openrct2/park/Legacy.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*****************************************************************************
|
||||
* Copyright (c) 2014-2021 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 "../object/Object.h"
|
||||
|
||||
#include <optional>
|
||||
#include <string_view>
|
||||
|
||||
namespace RCT2
|
||||
{
|
||||
struct FootpathMapping;
|
||||
}
|
||||
struct ObjectEntryDescriptor;
|
||||
class ObjectList;
|
||||
|
||||
std::string_view MapToNewObjectIdentifier(std::string_view s);
|
||||
std::optional<std::string_view> GetDATPathName(std::string_view newPathName);
|
||||
const RCT2::FootpathMapping* GetFootpathMapping(const ObjectEntryDescriptor& desc);
|
||||
void UpdateFootpathsFromMapping(
|
||||
ObjectEntryIndex* pathToSurfaceMap, ObjectEntryIndex* pathToQueueSurfaceMap, ObjectEntryIndex* pathToRailingsMap,
|
||||
ObjectList& requiredObjects, ObjectEntryIndex& surfaceCount, ObjectEntryIndex& railingCount, ObjectEntryIndex entryIndex,
|
||||
const RCT2::FootpathMapping* footpathMapping);
|
||||
@@ -1,5 +1,5 @@
|
||||
/*****************************************************************************
|
||||
* Copyright (c) 2014-2019 OpenRCT2 developers
|
||||
* Copyright (c) 2014-2021 OpenRCT2 developers
|
||||
*
|
||||
* For a complete list of all authors, please refer to contributors.md
|
||||
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
||||
@@ -9,49 +9,50 @@
|
||||
|
||||
#include "ParkFile.h"
|
||||
|
||||
#include "Cheats.h"
|
||||
#include "Context.h"
|
||||
#include "Editor.h"
|
||||
#include "GameState.h"
|
||||
#include "OpenRCT2.h"
|
||||
#include "ParkImporter.h"
|
||||
#include "Version.h"
|
||||
#include "core/Console.hpp"
|
||||
#include "core/Crypt.h"
|
||||
#include "core/DataSerialiser.h"
|
||||
#include "core/File.h"
|
||||
#include "core/OrcaStream.hpp"
|
||||
#include "core/Path.hpp"
|
||||
#include "drawing/Drawing.h"
|
||||
#include "entity/Balloon.h"
|
||||
#include "entity/Duck.h"
|
||||
#include "entity/EntityList.h"
|
||||
#include "entity/EntityRegistry.h"
|
||||
#include "entity/Fountain.h"
|
||||
#include "entity/Litter.h"
|
||||
#include "entity/MoneyEffect.h"
|
||||
#include "entity/Particle.h"
|
||||
#include "entity/Staff.h"
|
||||
#include "interface/Viewport.h"
|
||||
#include "interface/Window.h"
|
||||
#include "localisation/Date.h"
|
||||
#include "localisation/Localisation.h"
|
||||
#include "management/Award.h"
|
||||
#include "management/Finance.h"
|
||||
#include "management/NewsItem.h"
|
||||
#include "object/Object.h"
|
||||
#include "object/ObjectManager.h"
|
||||
#include "object/ObjectRepository.h"
|
||||
#include "peep/RideUseSystem.h"
|
||||
#include "ride/ShopItem.h"
|
||||
#include "ride/Vehicle.h"
|
||||
#include "scenario/Scenario.h"
|
||||
#include "scenario/ScenarioRepository.h"
|
||||
#include "world/Climate.h"
|
||||
#include "world/Entrance.h"
|
||||
#include "world/Map.h"
|
||||
#include "world/Park.h"
|
||||
#include "world/Scenery.h"
|
||||
#include "../Cheats.h"
|
||||
#include "../Context.h"
|
||||
#include "../Editor.h"
|
||||
#include "../GameState.h"
|
||||
#include "../OpenRCT2.h"
|
||||
#include "../ParkImporter.h"
|
||||
#include "../Version.h"
|
||||
#include "../core/Console.hpp"
|
||||
#include "../core/Crypt.h"
|
||||
#include "../core/DataSerialiser.h"
|
||||
#include "../core/File.h"
|
||||
#include "../core/OrcaStream.hpp"
|
||||
#include "../core/Path.hpp"
|
||||
#include "../drawing/Drawing.h"
|
||||
#include "../entity/Balloon.h"
|
||||
#include "../entity/Duck.h"
|
||||
#include "../entity/EntityList.h"
|
||||
#include "../entity/EntityRegistry.h"
|
||||
#include "../entity/Fountain.h"
|
||||
#include "../entity/Litter.h"
|
||||
#include "../entity/MoneyEffect.h"
|
||||
#include "../entity/Particle.h"
|
||||
#include "../entity/Staff.h"
|
||||
#include "../interface/Viewport.h"
|
||||
#include "../interface/Window.h"
|
||||
#include "../localisation/Date.h"
|
||||
#include "../localisation/Localisation.h"
|
||||
#include "../management/Award.h"
|
||||
#include "../management/Finance.h"
|
||||
#include "../management/NewsItem.h"
|
||||
#include "../object/Object.h"
|
||||
#include "../object/ObjectManager.h"
|
||||
#include "../object/ObjectRepository.h"
|
||||
#include "../peep/RideUseSystem.h"
|
||||
#include "../ride/ShopItem.h"
|
||||
#include "../ride/Vehicle.h"
|
||||
#include "../scenario/Scenario.h"
|
||||
#include "../scenario/ScenarioRepository.h"
|
||||
#include "../world/Climate.h"
|
||||
#include "../world/Entrance.h"
|
||||
#include "../world/Map.h"
|
||||
#include "../world/Park.h"
|
||||
#include "../world/Scenery.h"
|
||||
#include "Legacy.h"
|
||||
|
||||
#include <cstdint>
|
||||
#include <ctime>
|
||||
@@ -62,14 +63,6 @@
|
||||
|
||||
using namespace OpenRCT2;
|
||||
|
||||
static std::string_view MapToNewObjectIdentifier(std::string_view s);
|
||||
static std::optional<std::string_view> GetDATPathName(std::string_view newPathName);
|
||||
static const RCT2::FootpathMapping* GetFootpathMapping(const ObjectEntryDescriptor& desc);
|
||||
static void UpdateFootpathsFromMapping(
|
||||
ObjectEntryIndex* pathToSurfaceMap, ObjectEntryIndex* pathToQueueSurfaceMap, ObjectEntryIndex* pathToRailingsMap,
|
||||
ObjectList& requiredObjects, ObjectEntryIndex& surfaceCount, ObjectEntryIndex& railingCount, ObjectEntryIndex entryIndex,
|
||||
const RCT2::FootpathMapping* footpathMapping);
|
||||
|
||||
namespace OpenRCT2
|
||||
{
|
||||
// Current version that is saved.
|
||||
@@ -2342,4 +2335,3 @@ std::unique_ptr<IParkImporter> ParkImporter::CreateParkFile(IObjectRepository& o
|
||||
{
|
||||
return std::make_unique<ParkFileImporter>(objectRepository);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
# include "../Context.h"
|
||||
# include "../Game.h"
|
||||
# include "../OpenRCT2.h"
|
||||
# include "../ParkFile.h"
|
||||
# include "../PlatformEnvironment.h"
|
||||
# include "../Version.h"
|
||||
# include "../config/Config.h"
|
||||
@@ -38,6 +37,7 @@
|
||||
# include "../interface/Screenshot.h"
|
||||
# include "../localisation/Language.h"
|
||||
# include "../object/ObjectManager.h"
|
||||
# include "../park/ParkFile.h"
|
||||
# include "../scenario/Scenario.h"
|
||||
# include "../util/SawyerCoding.h"
|
||||
# include "../util/Util.h"
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <openrct2/GameState.h>
|
||||
#include <openrct2/GameStateSnapshots.h>
|
||||
#include <openrct2/OpenRCT2.h>
|
||||
#include <openrct2/ParkFile.h>
|
||||
#include <openrct2/ParkImporter.h>
|
||||
#include <openrct2/audio/AudioContext.h>
|
||||
#include <openrct2/config/Config.h>
|
||||
@@ -29,6 +28,7 @@
|
||||
#include <openrct2/entity/EntityTweener.h>
|
||||
#include <openrct2/network/network.h>
|
||||
#include <openrct2/object/ObjectManager.h>
|
||||
#include <openrct2/park/ParkFile.h>
|
||||
#include <openrct2/platform/platform.h>
|
||||
#include <openrct2/ride/Ride.h>
|
||||
#include <openrct2/scenario/Scenario.h>
|
||||
|
||||
Reference in New Issue
Block a user