浏览代码

Stabilization

Ivan Savenko 1 年之前
父节点
当前提交
e50f586d8b
共有 3 个文件被更改,包括 4 次插入3 次删除
  1. 1 1
      lib/modding/CModInfo.cpp
  2. 2 2
      lib/rmg/modificators/TreasurePlacer.cpp
  3. 1 0
      server/CGameHandler.cpp

+ 1 - 1
lib/modding/CModInfo.cpp

@@ -127,7 +127,7 @@ void CModInfo::loadLocalData(const JsonNode & data)
 
 	if (config["modType"].String() == "Translation")
 	{
-		if (baseLanguage != VLC->generaltexth->getPreferredLanguage())
+		if (baseLanguage != CGeneralTextHandler::getPreferredLanguage())
 		{
 			if (identifier.find_last_of('.') == std::string::npos)
 				logGlobal->warn("Translation mod %s was not loaded: language mismatch!", verificationInfo.name);

+ 2 - 2
lib/rmg/modificators/TreasurePlacer.cpp

@@ -490,10 +490,10 @@ void TreasurePlacer::addAllPossibleObjects()
 			int randomAppearance = chooseRandomAppearance(zone.getRand(), Obj::SEER_HUT, zone.getTerrainType());
 			
 			// FIXME: Remove duplicated code for gold, exp and creaure reward
-			oi.generateObject = [creature, creaturesAmount, randomAppearance, setRandomArtifact]() -> CGObjectInstance *
+			oi.generateObject = [cb=map.mapInstance->cb, creature, creaturesAmount, randomAppearance, setRandomArtifact]() -> CGObjectInstance *
 			{
 				auto factory = VLC->objtypeh->getHandlerFor(Obj::SEER_HUT, randomAppearance);
-				auto * obj = dynamic_cast<CGSeerHut *>(factory->create(map.mapInstance->cb, nullptr));
+				auto * obj = dynamic_cast<CGSeerHut *>(factory->create(cb, nullptr));
 				
 				Rewardable::VisitInfo reward;
 				reward.reward.creatures.emplace_back(creature->getId(), creaturesAmount);

+ 1 - 0
server/CGameHandler.cpp

@@ -1800,6 +1800,7 @@ bool CGameHandler::load(const std::string & filename)
 	{
 		{
 			CLoadFile lf(*CResourceHandler::get()->getResourceName(ResourcePath(stem.to_string(), EResType::SAVEGAME)), MINIMAL_SERIALIZATION_VERSION);
+			lf.serializer.cb = this;
 			loadCommonState(lf);
 			logGlobal->info("Loading server state");
 			lf >> *this;