1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-10 22:31:40 +02:00

Merge pull request #4995 from IvanSavenko/local_state_fix

Fix serialization of selected spellbook page
This commit is contained in:
Ivan Savenko
2024-11-29 15:38:22 +02:00
committed by GitHub

View File

@@ -396,16 +396,19 @@ void PlayerLocalState::deserialize(const JsonNode & source)
} }
} }
spellbookSettings.spellbookLastPageBattle = source["spellbook"]["pageBattle"].Integer(); if (!source["spellbook"].isNull())
spellbookSettings.spellbookLastPageAdvmap = source["spellbook"]["pageAdvmap"].Integer(); {
spellbookSettings.spellbookLastTabBattle = source["spellbook"]["tabBattle"].Integer(); spellbookSettings.spellbookLastPageBattle = source["spellbook"]["pageBattle"].Integer();
spellbookSettings.spellbookLastTabAdvmap = source["spellbook"]["tabAdvmap"].Integer(); spellbookSettings.spellbookLastPageAdvmap = source["spellbook"]["pageAdvmap"].Integer();
spellbookSettings.spellbookLastTabBattle = source["spellbook"]["tabBattle"].Integer();
spellbookSettings.spellbookLastTabAdvmap = source["spellbook"]["tabAdvmap"].Integer();
}
// append any owned heroes / towns that were not present in loaded state // append any owned heroes / towns that were not present in loaded state
wanderingHeroes.insert(wanderingHeroes.end(), oldHeroes.begin(), oldHeroes.end()); wanderingHeroes.insert(wanderingHeroes.end(), oldHeroes.begin(), oldHeroes.end());
ownedTowns.insert(ownedTowns.end(), oldTowns.begin(), oldTowns.end()); ownedTowns.insert(ownedTowns.end(), oldTowns.begin(), oldTowns.end());
//FIXME: broken, anything that is selected in here will be overwritten on NewTurn pack //FIXME: broken, anything that is selected in here will be overwritten on PlayerStartsTurn pack
// ObjectInstanceID selectedObjectID(source["currentSelection"].Integer()); // ObjectInstanceID selectedObjectID(source["currentSelection"].Integer());
// const CGObjectInstance * objectPtr = owner.cb->getObjInstance(selectedObjectID); // const CGObjectInstance * objectPtr = owner.cb->getObjInstance(selectedObjectID);
// const CArmedInstance * armyPtr = dynamic_cast<const CArmedInstance*>(objectPtr); // const CArmedInstance * armyPtr = dynamic_cast<const CArmedInstance*>(objectPtr);