فهرست منبع

Merge pull request #1576 from vcmi/fix-campaigns

Hack to fix campaigns
Andrii Danylchenko 2 سال پیش
والد
کامیت
27ef876bd6
2فایلهای تغییر یافته به همراه8 افزوده شده و 1 حذف شده
  1. 1 1
      lib/VCMI_Lib.cpp
  2. 7 0
      lib/mapObjects/CGHeroInstance.cpp

+ 1 - 1
lib/VCMI_Lib.cpp

@@ -246,7 +246,6 @@ void LibClasses::init(bool onlyEssential)
 
 void LibClasses::clear()
 {
-	delete generaltexth;
 	delete heroh;
 	delete arth;
 	delete creh;
@@ -263,6 +262,7 @@ void LibClasses::clear()
 	delete scriptHandler;
 #endif
 	delete battlefieldsHandler;
+	delete generaltexth;
 	makeNull();
 }
 

+ 7 - 0
lib/mapObjects/CGHeroInstance.cpp

@@ -1621,6 +1621,13 @@ void CGHeroInstance::serializeJsonOptions(JsonSerializeFormat & handler)
 
 		if(!handler.saving)
 		{
+			if(!appearance)
+			{
+				// crossoverDeserialize
+				type = VLC->heroh->objects[subID];
+				appearance = VLC->objtypeh->getHandlerFor(Obj::HERO, type->heroClass->getIndex())->getTemplates().front();
+			}
+
 			patrol.patrolling = (rawPatrolRadius > NO_PATROLING);
 			patrol.initialPos = visitablePos();
 			patrol.patrolRadius = (rawPatrolRadius > NO_PATROLING) ? rawPatrolRadius : 0;