Преглед на файлове

Merge branch 'PlayerStateFix' into develop

This is additional fix for old saves that were corrupt after PR #202 is fixed. Should probably make them all work properly.

Background: many years ago CBonusSystemNode didn't have proper serialization or at least PlayerState had some nissues with it.
Then bonus system was refactored many times, but that hack was forgotten or everyone just decide to not touch it.

Now it's end up this code wasn't needed probably for long time so we can finally remove it.
Arseniy Shestakov преди 9 години
родител
ревизия
e16552c2c6
променени са 3 файла, в които са добавени 10 реда и са изтрити 2 реда
  1. 8 1
      lib/CPlayerState.h
  2. 1 1
      lib/Connection.h
  3. 1 0
      lib/VCMI_lib.cbp

+ 8 - 1
lib/CPlayerState.h

@@ -43,7 +43,14 @@ public:
 	{
 	{
 		h & color & human & team & resources & status;
 		h & color & human & team & resources & status;
 		h & heroes & towns & availableHeroes & dwellings & quests & visitedObjects;
 		h & heroes & towns & availableHeroes & dwellings & quests & visitedObjects;
-		h & getBonusList(); //FIXME FIXME FIXME
+
+		if(version < 760)
+		{
+			//was: h & getBonusList();
+			BonusList junk;
+			h & junk;
+		}
+
 		h & status & daysWithoutCastle;
 		h & status & daysWithoutCastle;
 		h & enteredLosingCheatCode & enteredWinningCheatCode;
 		h & enteredLosingCheatCode & enteredWinningCheatCode;
 		h & static_cast<CBonusSystemNode&>(*this);
 		h & static_cast<CBonusSystemNode&>(*this);

+ 1 - 1
lib/Connection.h

@@ -27,7 +27,7 @@
 #include "mapping/CCampaignHandler.h" //for CCampaignState
 #include "mapping/CCampaignHandler.h" //for CCampaignState
 #include "rmg/CMapGenerator.h" // for CMapGenOptions
 #include "rmg/CMapGenerator.h" // for CMapGenOptions
 
 
-const ui32 version = 759;
+const ui32 version = 760;
 const ui32 minSupportedVersion = 753;
 const ui32 minSupportedVersion = 753;
 
 
 class CISer;
 class CISer;

+ 1 - 0
lib/VCMI_lib.cbp

@@ -162,6 +162,7 @@
 		<Unit filename="CObstacleInstance.h" />
 		<Unit filename="CObstacleInstance.h" />
 		<Unit filename="CPathfinder.cpp" />
 		<Unit filename="CPathfinder.cpp" />
 		<Unit filename="CPathfinder.h" />
 		<Unit filename="CPathfinder.h" />
+		<Unit filename="CPlayerState.h" />
 		<Unit filename="CRandomGenerator.cpp" />
 		<Unit filename="CRandomGenerator.cpp" />
 		<Unit filename="CRandomGenerator.h" />
 		<Unit filename="CRandomGenerator.h" />
 		<Unit filename="CScriptingModule.h" />
 		<Unit filename="CScriptingModule.h" />