Ivan Savenko 1 gadu atpakaļ
vecāks
revīzija
9af7c63a26

+ 1 - 1
client/CServerHandler.cpp

@@ -642,7 +642,7 @@ void CServerHandler::startGameplay(VCMI_LIB_WRAP_NAMESPACE(CGameState) * gameSta
 	if(CMM)
 		CMM->disable();
 
-	std::swap(client, nextClient);;
+	std::swap(client, nextClient);
 
 	highScoreCalc = nullptr;
 

+ 8 - 7
lib/CHeroHandler.cpp

@@ -157,8 +157,9 @@ bool CHeroClass::isMagicHero() const
 
 int CHeroClass::tavernProbability(FactionID faction) const
 {
-	if (selectionProbability.count(faction))
-		return selectionProbability.at(faction);
+	auto it = selectionProbability.find(faction);
+	if (it != selectionProbability.end())
+		return it->second;
 	return 0;
 }
 
@@ -401,9 +402,9 @@ void CHeroClassHandler::afterLoadFinalization()
 		}
 	}
 
-	for(auto const & hc : objects)
+	for(const auto & hc : objects)
 	{
-		if (!hc->imageMapMale.empty())
+		if(!hc->imageMapMale.empty())
 		{
 			JsonNode templ;
 			templ["animation"].String() = hc->imageMapMale;
@@ -539,7 +540,7 @@ static std::vector<std::shared_ptr<Bonus>> createCreatureSpecialty(CreatureID ba
 	{
 		std::set<CreatureID> oldTargets = targets;
 
-		for (auto const & upgradeSourceID : oldTargets)
+		for(const auto & upgradeSourceID : oldTargets)
 		{
 			const CCreature * upgradeSource = upgradeSourceID.toCreature();
 			targets.insert(upgradeSource->upgrades.begin(), upgradeSource->upgrades.end());
@@ -551,7 +552,7 @@ static std::vector<std::shared_ptr<Bonus>> createCreatureSpecialty(CreatureID ba
 
 	for(CreatureID cid : targets)
 	{
-		auto const & specCreature = *cid.toCreature();
+		const auto & specCreature = *cid.toCreature();
 		int stepSize = specCreature.getLevel() ? specCreature.getLevel() : 5;
 
 		{
@@ -611,7 +612,7 @@ void CHeroHandler::beforeValidate(JsonNode & object)
 
 void CHeroHandler::afterLoadFinalization()
 {
-	for (auto const & functor : callAfterLoadFinalization)
+	for(const auto & functor : callAfterLoadFinalization)
 		functor();
 
 	callAfterLoadFinalization.clear();

+ 1 - 1
lib/VCMI_Lib.cpp

@@ -91,7 +91,7 @@ const HeroTypeService * LibClasses::heroTypes() const
 #if SCRIPTING_ENABLED
 const scripting::Service * LibClasses::scripts() const
 {
-	return scriptHandler;
+	return scriptHandler.get();
 }
 #endif
 

+ 1 - 1
lib/VCMI_Lib.h

@@ -101,7 +101,7 @@ public:
 	std::shared_ptr<GameSettings> settingsHandler;
 
 #if SCRIPTING_ENABLED
-	scripting::ScriptHandler * scriptHandler;
+	std::shared_ptr<scripting::ScriptHandler> scriptHandler;
 #endif
 
 	LibClasses(); //c-tor, loads .lods and NULLs handlers

+ 1 - 1
lib/battle/BattleInfo.cpp

@@ -1009,7 +1009,7 @@ scripting::Pool * BattleInfo::getContextPool() const
 {
 	//this is real battle, use global scripting context pool
 	//TODO: make this line not ugly
-	return IObjectInterface::cb->getGlobalContextPool();
+	return battleGetFightingHero(0)->cb->getGlobalContextPool();
 }
 #endif
 

+ 1 - 0
lib/mapObjectConstructors/DwellingInstanceConstructor.h

@@ -10,6 +10,7 @@
 #pragma once
 
 #include "CDefaultObjectTypeHandler.h"
+#include "../mapObjects/CGDwelling.h"
 
 VCMI_LIB_NAMESPACE_BEGIN
 

+ 1 - 0
lib/mapObjectConstructors/HillFortInstanceConstructor.h

@@ -10,6 +10,7 @@
 #pragma once
 
 #include "CDefaultObjectTypeHandler.h"
+#include "../mapObjects/MiscObjects.h"
 
 VCMI_LIB_NAMESPACE_BEGIN
 

+ 1 - 0
lib/mapObjectConstructors/ShipyardInstanceConstructor.h

@@ -10,6 +10,7 @@
 #pragma once
 
 #include "CDefaultObjectTypeHandler.h"
+#include "../mapObjects/MiscObjects.h"
 
 VCMI_LIB_NAMESPACE_BEGIN
 

+ 1 - 1
lib/modding/ContentTypeHandler.cpp

@@ -199,7 +199,7 @@ void CContentHandler::init()
 	handlers.insert(std::make_pair("skills", ContentTypeHandler(VLC->skillh.get(), "skill")));
 	handlers.insert(std::make_pair("templates", ContentTypeHandler(VLC->tplh.get(), "template")));
 #if SCRIPTING_ENABLED
-	handlers.insert(std::make_pair("scripts", ContentTypeHandler(VLC->scriptHandler, "script")));
+	handlers.insert(std::make_pair("scripts", ContentTypeHandler(VLC->scriptHandler.get(), "script")));
 #endif
 	handlers.insert(std::make_pair("battlefields", ContentTypeHandler(VLC->battlefieldsHandler.get(), "battlefield")));
 	handlers.insert(std::make_pair("terrains", ContentTypeHandler(VLC->terrainTypeHandler.get(), "terrain")));

+ 1 - 4
test/game/CGameStateTest.cpp

@@ -46,17 +46,14 @@ public:
 
 	void SetUp() override
 	{
-		IObjectInterface::cb = gameCallback.get();
-
 		gameState = std::make_shared<CGameState>();
 		gameCallback->setGameState(gameState.get());
-		gameState->preInit(&services);
+		gameState->preInit(&services, gameCallback.get());
 	}
 
 	void TearDown() override
 	{
 		gameState.reset();
-		IObjectInterface::cb = nullptr;
 	}
 
 	bool describeChanges() const override

+ 3 - 3
test/map/CMapEditManagerTest.cpp

@@ -25,7 +25,7 @@ TEST(MapManager, DrawTerrain_Type)
 {
 	try
 	{
-		auto map = std::make_unique<CMap>();
+		auto map = std::make_unique<CMap>(nullptr);
 		map->width = 52;
 		map->height = 52;
 		map->initTerrain();
@@ -114,8 +114,8 @@ TEST(MapManager, DrawTerrain_View)
 		const ResourcePath testMap("test/TerrainViewTest", EResType::MAP);
 		// Load maps and json config
 		CMapService mapService;
-		const auto originalMap = mapService.loadMap(testMap);
-		auto map = mapService.loadMap(testMap);
+		const auto originalMap = mapService.loadMap(testMap, nullptr);
+		auto map = mapService.loadMap(testMap, nullptr);
 
 		// Validate edit manager
 		auto editManager = map->getEditManager();

+ 3 - 3
test/map/CMapFormatTest.cpp

@@ -62,7 +62,7 @@ TEST(MapFormat, DISABLED_Random)
 	opt.setPlayerTypeForStandardPlayer(PlayerColor(2), EPlayerType::AI);
 	opt.setPlayerTypeForStandardPlayer(PlayerColor(3), EPlayerType::AI);
 
-	CMapGenerator gen(opt, TEST_RANDOM_SEED);
+	CMapGenerator gen(opt, nullptr, TEST_RANDOM_SEED);
 
 	std::unique_ptr<CMap> initialMap = gen.generate();
 	initialMap->name.appendRawString("Test");
@@ -80,7 +80,7 @@ TEST(MapFormat, DISABLED_Random)
 	serializeBuffer.seek(0);
 	{
 		CMapLoaderJson loader(&serializeBuffer);
-		std::unique_ptr<CMap> serialized = loader.loadMap();
+		std::unique_ptr<CMap> serialized = loader.loadMap(nullptr);
 
 		MapComparer c;
 		c(serialized, initialMap);
@@ -130,7 +130,7 @@ static std::unique_ptr<CMap> loadOriginal(const JsonNode & header, const JsonNod
 
 	CMapLoaderJson initialLoader(&initialBuffer);
 
-	return initialLoader.loadMap();
+	return initialLoader.loadMap(nullptr);
 }
 
 static void loadActual(CMemoryBuffer * serializeBuffer, const std::unique_ptr<CMap> & originalMap, JsonNode & header, JsonNode & objects, JsonNode & surface, JsonNode & underground)

+ 1 - 0
test/map/MapComparer.cpp

@@ -12,6 +12,7 @@
 #include "MapComparer.h"
 
 #include "../lib/mapping/CMap.h"
+#include "../lib/mapObjects/CGObjectInstance.h"
 #include "../lib/mapObjects/ObjectTemplate.h"
 
 #define VCMI_CHECK_FIELD_EQUAL_P(field) EXPECT_EQ(actual->field, expected->field)

+ 3 - 3
test/mock/mock_MapService.cpp

@@ -45,7 +45,7 @@ std::unique_ptr<CMap> MapServiceMock::loadMap() const
 	initialBuffer.seek(0);
 	CMapLoaderJson initialLoader(&initialBuffer);
 
-	std::unique_ptr<CMap> res = initialLoader.loadMap();
+	std::unique_ptr<CMap> res = initialLoader.loadMap(nullptr);
 
 	if(mapListener)
 		mapListener->mapLoaded(res.get());
@@ -53,7 +53,7 @@ std::unique_ptr<CMap> MapServiceMock::loadMap() const
 	return res;
 }
 
-std::unique_ptr<CMap> MapServiceMock::loadMap(const ResourcePath & name) const
+std::unique_ptr<CMap> MapServiceMock::loadMap(const ResourcePath & name, IGameCallback * cb) const
 {
 	return loadMap();
 }
@@ -65,7 +65,7 @@ std::unique_ptr<CMapHeader> MapServiceMock::loadMapHeader(const ResourcePath & n
 	return initialLoader.loadMapHeader();
 }
 
-std::unique_ptr<CMap> MapServiceMock::loadMap(const ui8 * buffer, int size, const std::string & name, const std::string & modName, const std::string & encoding) const
+std::unique_ptr<CMap> MapServiceMock::loadMap(const ui8 * buffer, int size, const std::string & name, const std::string & modName, const std::string & encoding, IGameCallback * cb) const
 {
 	return loadMap();
 }

+ 2 - 2
test/mock/mock_MapService.h

@@ -29,9 +29,9 @@ class MapServiceMock : public IMapService
 public:
 	MapServiceMock(const std::string & path, MapListener * mapListener_);
 
-	std::unique_ptr<CMap> loadMap(const ResourcePath & name) const override;
+	std::unique_ptr<CMap> loadMap(const ResourcePath & name, IGameCallback * cb) 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<CMap> loadMap(const ui8 * buffer, int size, const std::string & name, const std::string & modName, const std::string & encoding, IGameCallback * cb) 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;
 
 	void saveMap(const std::unique_ptr<CMap> & map, boost::filesystem::path fullPath) const override;

+ 1 - 0
test/mock/mock_spells_Mechanics.h

@@ -11,6 +11,7 @@
 #pragma once
 
 #include "../../lib/spells/ISpellMechanics.h"
+#include "../../lib/CGameInfoCallback.h"
 
 namespace spells
 {

+ 1 - 1
test/scripting/ScriptFixture.cpp

@@ -41,7 +41,7 @@ void ScriptFixture::loadScript(const JsonNode & scriptConfig)
 
 void ScriptFixture::loadScript(ModulePtr module, const std::string & scriptSource)
 {
-	subject = std::make_shared<ScriptImpl>(VLC->scriptHandler);
+	subject = std::make_shared<ScriptImpl>(VLC->scriptHandler.get());
 
 	subject->host = module;
 	subject->sourceText = scriptSource;

+ 4 - 4
test/spells/effects/CatapultTest.cpp

@@ -50,7 +50,7 @@ TEST_F(CatapultTest, NotApplicableWithoutTown)
 
 TEST_F(CatapultTest, NotApplicableInVillage)
 {
-	auto fakeTown = std::make_shared<CGTownInstance>();
+	auto fakeTown = std::make_shared<CGTownInstance>(nullptr);
 
 	EXPECT_CALL(*battleFake, getDefendedTown()).WillRepeatedly(Return(fakeTown.get()));
 	EXPECT_CALL(mechanicsMock, adaptProblem(_, _)).WillOnce(Return(false));
@@ -62,7 +62,7 @@ TEST_F(CatapultTest, NotApplicableInVillage)
 
 TEST_F(CatapultTest, NotApplicableForDefenderIfSmart)
 {
-	auto fakeTown = std::make_shared<CGTownInstance>();
+	auto fakeTown = std::make_shared<CGTownInstance>(nullptr);
 	fakeTown->builtBuildings.insert(BuildingID::FORT);
 	mechanicsMock.casterSide = BattleSide::DEFENDER;
 
@@ -76,7 +76,7 @@ TEST_F(CatapultTest, NotApplicableForDefenderIfSmart)
 
 TEST_F(CatapultTest, DISABLED_ApplicableInTown)
 {
-	auto fakeTown = std::make_shared<CGTownInstance>();
+	auto fakeTown = std::make_shared<CGTownInstance>(nullptr);
 	fakeTown->builtBuildings.insert(BuildingID::FORT);
 
 	EXPECT_CALL(*battleFake, getDefendedTown()).WillRepeatedly(Return(fakeTown.get()));
@@ -106,7 +106,7 @@ protected:
 	void SetUp() override
 	{
 		EffectFixture::setUp();
-		fakeTown = std::make_shared<CGTownInstance>();
+		fakeTown = std::make_shared<CGTownInstance>(nullptr);
 		fakeTown->builtBuildings.insert(BuildingID::FORT);
 	}
 private: