diff --git a/src/openrct2/rct1/S4Importer.h b/src/openrct2/ParkImporter.h
similarity index 82%
rename from src/openrct2/rct1/S4Importer.h
rename to src/openrct2/ParkImporter.h
index 78a7d95037..5a3a495b46 100644
--- a/src/openrct2/rct1/S4Importer.h
+++ b/src/openrct2/ParkImporter.h
@@ -16,18 +16,18 @@
#pragma once
-#include "../common.h"
-#include "../scenario/ScenarioRepository.h"
+#include "common.h"
+#include "scenario/ScenarioRepository.h"
interface IStream;
/**
- * Interface to import RollerCoaster Tycoon 1 scenarios (*.SC4) and saved games (*.SV4).
+ * Interface to import scenarios and saved games.
*/
-interface IS4Importer
+interface IParkImporter
{
public:
- virtual ~IS4Importer() = default;
+ virtual ~IParkImporter() = default;
virtual void Load(const utf8 * path) abstract;
virtual void LoadSavedGame(const utf8 * path) abstract;
virtual void LoadScenario(const utf8 * path) abstract;
@@ -36,4 +36,5 @@ public:
virtual bool GetDetails(scenario_index_entry * dst) abstract;
};
-IS4Importer * CreateS4Importer();
+IParkImporter * CreateS4Importer();
+IParkImporter * CreateS6Importer();
diff --git a/src/openrct2/cmdline/ConvertCommand.cpp b/src/openrct2/cmdline/ConvertCommand.cpp
index 77d86057d5..8ea4ca937e 100644
--- a/src/openrct2/cmdline/ConvertCommand.cpp
+++ b/src/openrct2/cmdline/ConvertCommand.cpp
@@ -19,7 +19,7 @@
#include "../core/Exception.hpp"
#include "../core/Guard.hpp"
#include "../core/Path.hpp"
-#include "../rct1/S4Importer.h"
+#include "../ParkImporter.h"
#include "CommandLine.hpp"
extern "C"
diff --git a/src/openrct2/libopenrct2.vcxproj b/src/openrct2/libopenrct2.vcxproj
index 9cf193573e..d9c83a17b6 100644
--- a/src/openrct2/libopenrct2.vcxproj
+++ b/src/openrct2/libopenrct2.vcxproj
@@ -415,6 +415,7 @@
+
@@ -543,7 +544,6 @@
-
diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp
index 6e497d3e4f..11026d6860 100644
--- a/src/openrct2/rct1/S4Importer.cpp
+++ b/src/openrct2/rct1/S4Importer.cpp
@@ -27,8 +27,8 @@
#include "../core/String.hpp"
#include "../core/Util.hpp"
#include "../object/ObjectManager.h"
+#include "../ParkImporter.h"
#include "../scenario/ScenarioSources.h"
-#include "S4Importer.h"
#include "Tables.h"
extern "C"
@@ -91,7 +91,7 @@ public:
}
};
-class S4Importer final : public IS4Importer
+class S4Importer final : public IParkImporter
{
private:
const utf8 * _s4Path = nullptr;
@@ -126,11 +126,11 @@ public:
void Load(const utf8 * path) override
{
const utf8 * extension = Path::GetExtension(path);
- if (String::Equals(extension, ".sc4"))
+ if (String::Equals(extension, ".sc4", true))
{
LoadScenario(path);
}
- else if (String::Equals(extension, ".sv4"))
+ else if (String::Equals(extension, ".sv4", true))
{
LoadSavedGame(path);
}
@@ -2479,7 +2479,7 @@ private:
}
};
-IS4Importer * CreateS4Importer()
+IParkImporter * CreateS4Importer()
{
return new S4Importer();
}
diff --git a/src/openrct2/scenario/ScenarioRepository.cpp b/src/openrct2/scenario/ScenarioRepository.cpp
index 430ab503ac..66273a1b88 100644
--- a/src/openrct2/scenario/ScenarioRepository.cpp
+++ b/src/openrct2/scenario/ScenarioRepository.cpp
@@ -24,8 +24,8 @@
#include "../core/Path.hpp"
#include "../core/String.hpp"
#include "../core/Util.hpp"
+#include "../ParkImporter.h"
#include "../PlatformEnvironment.h"
-#include "../rct1/S4Importer.h"
#include "../rct12/SawyerEncoding.h"
#include "ScenarioRepository.h"
#include "ScenarioSources.h"
@@ -316,7 +316,7 @@ private:
{
// RCT1 scenario
bool result = false;
- IS4Importer * s4Importer = CreateS4Importer();
+ IParkImporter * s4Importer = CreateS4Importer();
try
{
s4Importer->LoadScenario(path.c_str());
diff --git a/src/openrct2/title/TitleSequencePlayer.cpp b/src/openrct2/title/TitleSequencePlayer.cpp
index 49df5c4c75..915f6a8951 100644
--- a/src/openrct2/title/TitleSequencePlayer.cpp
+++ b/src/openrct2/title/TitleSequencePlayer.cpp
@@ -22,7 +22,7 @@
#include "../core/Math.hpp"
#include "../core/Path.hpp"
#include "../core/String.hpp"
-#include "../rct1/S4Importer.h"
+#include "../ParkImporter.h"
#include "../scenario/ScenarioRepository.h"
#include "../scenario/ScenarioSources.h"
#include "TitleSequence.h"
@@ -360,7 +360,7 @@ private:
try
{
bool isScenario = String::Equals(extension, ".sc4", true);
- IS4Importer * s4Importer = CreateS4Importer();
+ IParkImporter * s4Importer = CreateS4Importer();
s4Importer->Load(path);
s4Importer->Import();
PrepareParkForPlayback(isScenario);