1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-06 09:09:40 +02:00

Merge pull request #2757 from IvanSavenko/filesystem_refactor

Filesystem refactor - part 1
This commit is contained in:
Ivan Savenko
2023-09-07 10:51:02 +03:00
committed by GitHub
237 changed files with 1926 additions and 1761 deletions

View File

@@ -23,7 +23,7 @@
#include "../../lib/battle/BattleInfo.h"
#include "../../lib/CStack.h"
#include "../../lib/filesystem/ResourceID.h"
#include "../../lib/filesystem/ResourcePath.h"
#include "../../lib/mapping/CMap.h"
@@ -146,7 +146,7 @@ public:
si.mode = StartInfo::NEW_GAME;
si.seedToBeUsed = 42;
std::unique_ptr<CMapHeader> header = mapService.loadMapHeader(ResourceID(si.mapname));
std::unique_ptr<CMapHeader> header = mapService.loadMapHeader(ResourcePath(si.mapname));
ASSERT_NE(header.get(), nullptr);

View File

@@ -10,7 +10,7 @@
#include "StdInc.h"
#include "../lib/filesystem/ResourceID.h"
#include "../lib/filesystem/ResourcePath.h"
#include "../lib/mapping/CMapService.h"
#include "../lib/mapping/CMap.h"
#include "../lib/TerrainHandler.h"
@@ -111,7 +111,7 @@ TEST(MapManager, DrawTerrain_View)
{
try
{
const ResourceID testMap("test/TerrainViewTest", EResType::MAP);
const ResourcePath testMap("test/TerrainViewTest", EResType::MAP);
// Load maps and json config
CMapService mapService;
const auto originalMap = mapService.loadMap(testMap);
@@ -120,7 +120,7 @@ TEST(MapManager, DrawTerrain_View)
// Validate edit manager
auto editManager = map->getEditManager();
CRandomGenerator gen;
const JsonNode viewNode(ResourceID("test/terrainViewMappings", EResType::TEXT));
const JsonNode viewNode(JsonPath::builtin("test/terrainViewMappings"));
const auto & mappingsNode = viewNode["mappings"].Vector();
for (const auto & node : mappingsNode)
{

View File

@@ -90,7 +90,7 @@ TEST(MapFormat, Random)
static JsonNode getFromArchive(CZipLoader & archive, const std::string & archiveFilename)
{
ResourceID resource(archiveFilename, EResType::TEXT);
JsonPath resource = JsonPath::builtin(archiveFilename);
if(!archive.existsResource(resource))
throw std::runtime_error(archiveFilename + " not found");
@@ -153,14 +153,14 @@ TEST(MapFormat, Objects)
{
static const std::string MAP_DATA_PATH = "test/ObjectPropertyTest/";
const JsonNode initialHeader(ResourceID(MAP_DATA_PATH + CMapFormatJson::HEADER_FILE_NAME));
const JsonNode expectedHeader(ResourceID(MAP_DATA_PATH + CMapFormatJson::HEADER_FILE_NAME));//same as initial for now
const JsonNode initialHeader(JsonPath::builtin(MAP_DATA_PATH + CMapFormatJson::HEADER_FILE_NAME));
const JsonNode expectedHeader(JsonPath::builtin(MAP_DATA_PATH + CMapFormatJson::HEADER_FILE_NAME));//same as initial for now
const JsonNode initialObjects(ResourceID(MAP_DATA_PATH + CMapFormatJson::OBJECTS_FILE_NAME));
const JsonNode expectedObjects(ResourceID(MAP_DATA_PATH + "objects.ex.json"));
const JsonNode initialObjects(JsonPath::builtin(MAP_DATA_PATH + CMapFormatJson::OBJECTS_FILE_NAME));
const JsonNode expectedObjects(JsonPath::builtin(MAP_DATA_PATH + "objects.ex.json"));
const JsonNode expectedSurface(ResourceID(MAP_DATA_PATH + "surface_terrain.json"));
const JsonNode expectedUnderground(ResourceID(MAP_DATA_PATH + "underground_terrain.json"));
const JsonNode expectedSurface(JsonPath::builtin(MAP_DATA_PATH + "surface_terrain.json"));
const JsonNode expectedUnderground(JsonPath::builtin(MAP_DATA_PATH + "underground_terrain.json"));
std::unique_ptr<CMap> originalMap = loadOriginal(initialHeader, initialObjects, expectedSurface, expectedUnderground);
@@ -192,11 +192,11 @@ TEST(MapFormat, Terrain)
{
static const std::string MAP_DATA_PATH = "test/TerrainTest/";
const JsonNode expectedHeader(ResourceID(MAP_DATA_PATH + CMapFormatJson::HEADER_FILE_NAME));
const JsonNode expectedObjects(ResourceID(MAP_DATA_PATH + CMapFormatJson::OBJECTS_FILE_NAME));
const JsonNode expectedHeader(JsonPath::builtin(MAP_DATA_PATH + CMapFormatJson::HEADER_FILE_NAME));
const JsonNode expectedObjects(JsonPath::builtin(MAP_DATA_PATH + CMapFormatJson::OBJECTS_FILE_NAME));
const JsonNode expectedSurface(ResourceID(MAP_DATA_PATH + "surface_terrain.json"));
const JsonNode expectedUnderground(ResourceID(MAP_DATA_PATH + "underground_terrain.json"));
const JsonNode expectedSurface(JsonPath::builtin(MAP_DATA_PATH + "surface_terrain.json"));
const JsonNode expectedUnderground(JsonPath::builtin(MAP_DATA_PATH + "underground_terrain.json"));
std::unique_ptr<CMap> originalMap = loadOriginal(expectedHeader, expectedObjects, expectedSurface, expectedUnderground);

View File

@@ -23,15 +23,15 @@ MapServiceMock::MapServiceMock(const std::string & path, MapListener * mapListen
CZipSaver saver(io, "_");
const JsonNode header(ResourceID(path+CMapFormatJson::HEADER_FILE_NAME));
const JsonNode objects(ResourceID(path+CMapFormatJson::OBJECTS_FILE_NAME));
const JsonNode surface(ResourceID(path+"surface_terrain.json"));
const JsonNode header(JsonPath::builtin(path+CMapFormatJson::HEADER_FILE_NAME));
const JsonNode objects(JsonPath::builtin(path+CMapFormatJson::OBJECTS_FILE_NAME));
const JsonNode surface(JsonPath::builtin(path+"surface_terrain.json"));
addToArchive(saver, header, CMapFormatJson::HEADER_FILE_NAME);
addToArchive(saver, objects, CMapFormatJson::OBJECTS_FILE_NAME);
addToArchive(saver, surface, "surface_terrain.json");
ResourceID undergroundPath(path+"underground_terrain.json");
auto undergroundPath = JsonPath::builtin(path+"underground_terrain.json");
if(CResourceHandler::get()->existsResource(undergroundPath))
{
@@ -53,12 +53,12 @@ std::unique_ptr<CMap> MapServiceMock::loadMap() const
return res;
}
std::unique_ptr<CMap> MapServiceMock::loadMap(const ResourceID & name) const
std::unique_ptr<CMap> MapServiceMock::loadMap(const ResourcePath & name) const
{
return loadMap();
}
std::unique_ptr<CMapHeader> MapServiceMock::loadMapHeader(const ResourceID & name) const
std::unique_ptr<CMapHeader> MapServiceMock::loadMapHeader(const ResourcePath & name) const
{
initialBuffer.seek(0);
CMapLoaderJson initialLoader(&initialBuffer);

View File

@@ -29,8 +29,8 @@ class MapServiceMock : public IMapService
public:
MapServiceMock(const std::string & path, MapListener * mapListener_);
std::unique_ptr<CMap> loadMap(const ResourceID & name) const override;
std::unique_ptr<CMapHeader> loadMapHeader(const ResourceID & name) const override;
std::unique_ptr<CMap> loadMap(const ResourcePath & name) const override;
std::unique_ptr<CMapHeader> loadMapHeader(const ResourcePath & name) const override;
std::unique_ptr<CMap> loadMap(const ui8 * buffer, int size, const std::string & name, const std::string & modName, const std::string & encoding) const override;
std::unique_ptr<CMapHeader> loadMapHeader(const ui8 * buffer, int size, const std::string & name, const std::string & modName, const std::string & encoding) const override;