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

Fix CGBonusingObject serialization

Now state of adventure map objects that use this handler will be saved properly and they'll work as indended after save loaded. Affect following objects: Buoy, Swan Pond, Faerie Ring, etc.
ArseniyShestakov преди 10 години
родител
ревизия
5d59bbc0d4
променени са 3 файла, в които са добавени 3 реда и са изтрити 3 реда
  1. 1 1
      lib/Connection.h
  2. 1 1
      lib/mapObjects/CRewardableObject.h
  3. 1 1
      lib/registerTypes/RegisterTypes.h

+ 1 - 1
lib/Connection.h

@@ -27,7 +27,7 @@
 #include "mapping/CCampaignHandler.h" //for CCampaignState
 #include "rmg/CMapGenerator.h" // for CMapGenOptions
 
-const ui32 version = 750;
+const ui32 version = 751;
 const ui32 minSupportedVersion = version;
 
 class CConnection;

+ 1 - 1
lib/mapObjects/CRewardableObject.h

@@ -269,7 +269,7 @@ public:
 
 	template <typename Handler> void serialize(Handler &h, const int version)
 	{
-		h & static_cast<CGObjectInstance&>(*this);
+		h & static_cast<CRewardableObject&>(*this);
 	}
 };
 

+ 1 - 1
lib/registerTypes/RegisterTypes.h

@@ -38,7 +38,6 @@ void registerTypesMapObjects1(Serializer &s)
 	s.template registerType<CGObjectInstance, CGTeleport>();
 	s.template registerType<CGObjectInstance, CGSignBottle>();
 	s.template registerType<CGObjectInstance, CGScholar>();
-	s.template registerType<CGObjectInstance, CGBonusingObject>();
 	s.template registerType<CGObjectInstance, CGMagicWell>();
 	s.template registerType<CGObjectInstance, CGObservatory>();
 	s.template registerType<CGObjectInstance, CGKeys>();
@@ -142,6 +141,7 @@ void registerTypesMapObjects2(Serializer &s)
 
 	s.template registerType<CGObjectInstance, CRewardableObject>();
 		s.template registerType<CRewardableObject, CGPickable>();
+		s.template registerType<CRewardableObject, CGBonusingObject>();
 		s.template registerType<CRewardableObject, CGVisitableOPH>();
 		s.template registerType<CRewardableObject, CGVisitableOPW>();
 		s.template registerType<CRewardableObject, CGOnceVisitable>();