1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

Fix and simplify game saving / loading

This commit is contained in:
Ivan Savenko
2025-04-12 21:25:23 +03:00
parent f5f8ed192b
commit 966468f3fa
16 changed files with 128 additions and 213 deletions

View File

@@ -59,11 +59,12 @@ void CMapInfo::mapInit(const std::string & fname)
void CMapInfo::saveInit(const ResourcePath & file)
{
CLoadFile lf(*CResourceHandler::get()->getResourceName(file), ESerializationVersion::MINIMAL);
lf.checkMagicBytes(SAVEGAME_MAGIC);
CLoadFile lf(*CResourceHandler::get()->getResourceName(file), nullptr);
mapHeader = std::make_unique<CMapHeader>();
lf >> *(mapHeader) >> scenarioOptionsOfSave;
scenarioOptionsOfSave = std::make_unique<StartInfo>();
lf.load(*mapHeader);
lf.load(*scenarioOptionsOfSave);
fileURI = file.getName();
originalFileURI = file.getOriginalName();
fullFileURI = getFullFileURI(file);