mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Pass loaded game over network too
This commit is contained in:
parent
b888e640f3
commit
8a8716ce8a
@ -541,7 +541,7 @@ void CServerHandler::startGameplay(CGameState * gameState)
|
||||
client->newGame(gameState);
|
||||
break;
|
||||
case StartInfo::LOAD_GAME:
|
||||
client->loadGame();
|
||||
client->loadGame(gameState);
|
||||
break;
|
||||
default:
|
||||
throw std::runtime_error("Invalid mode");
|
||||
|
@ -197,10 +197,17 @@ void CClient::newGame(CGameState * gameState)
|
||||
initPlayerInterfaces();
|
||||
}
|
||||
|
||||
void CClient::loadGame()
|
||||
void CClient::loadGame(CGameState * gameState)
|
||||
{
|
||||
logNetwork->info("Loading procedure started!");
|
||||
|
||||
if(gameState)
|
||||
{
|
||||
logNetwork->info("Game state was transferred over network, loading.");
|
||||
gs = gameState;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::unique_ptr<CLoadFile> loader;
|
||||
try
|
||||
{
|
||||
@ -228,6 +235,7 @@ void CClient::loadGame()
|
||||
loader = checkingLoader.decay();
|
||||
}
|
||||
|
||||
serialize(loader->serializer, loader->serializer.fileVersion);
|
||||
}
|
||||
catch(std::exception & e)
|
||||
{
|
||||
@ -235,16 +243,17 @@ void CClient::loadGame()
|
||||
throw; //obviously we cannot continue here
|
||||
}
|
||||
logNetwork->trace("Loaded common part of save %d ms", CSH->th->getDiff());
|
||||
}
|
||||
gs->preInit(VLC);
|
||||
gs->updateOnLoad(CSH->si.get());
|
||||
logNetwork->info("Game loaded, initialize interfaces.");
|
||||
|
||||
initMapHandler();
|
||||
|
||||
reinitScripting();
|
||||
|
||||
initPlayerEnvironments();
|
||||
|
||||
serialize(loader->serializer, loader->serializer.fileVersion);
|
||||
|
||||
initPlayerInterfaces();
|
||||
}
|
||||
|
||||
|
@ -151,7 +151,7 @@ public:
|
||||
events::EventBus * eventBus() const override;
|
||||
|
||||
void newGame(CGameState * gameState);
|
||||
void loadGame();
|
||||
void loadGame(CGameState * gameState);
|
||||
void serialize(BinarySerializer & h, const int version);
|
||||
void serialize(BinaryDeserializer & h, const int version);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user