Browse Source

Merge pull request #4303 from IvanSavenko/savecompat_fix

Fix crash on loading saves made in 1.4/1.5
Ivan Savenko 1 year ago
parent
commit
5ad1c35354
2 changed files with 2 additions and 2 deletions
  1. 1 1
      server/CGameHandler.cpp
  2. 1 1
      server/CGameHandler.h

+ 1 - 1
server/CGameHandler.cpp

@@ -523,6 +523,7 @@ CGameHandler::CGameHandler(CVCMIServer * lobby)
 	, turnOrder(std::make_unique<TurnOrderProcessor>(this))
 	, queries(std::make_unique<QueriesProcessor>())
 	, playerMessages(std::make_unique<PlayerMessageProcessor>(this))
+	, randomNumberGenerator(std::make_unique<CRandomGenerator>())
 	, complainNoCreatures("No creatures to split")
 	, complainNotEnoughCreatures("Cannot split that stack, not enough creatures!")
 	, complainInvalidSlot("Invalid slot accessed!")
@@ -552,7 +553,6 @@ void CGameHandler::reinitScripting()
 
 void CGameHandler::init(StartInfo *si, Load::ProgressAccumulator & progressTracking)
 {
-	randomNumberGenerator = std::make_unique<CRandomGenerator>();
 	int requestedSeed = settings["server"]["seed"].Integer();
 	if (requestedSeed != 0)
 		randomNumberGenerator->setSeed(requestedSeed);

+ 1 - 1
server/CGameHandler.h

@@ -238,7 +238,7 @@ public:
 	template <typename Handler> void serialize(Handler &h)
 	{
 		h & QID;
-		h & randomNumberGenerator;
+		h & *randomNumberGenerator;
 		h & *battles;
 		h & *heroPool;
 		h & *playerMessages;