mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-09-28 14:41:06 -04:00
Refuse loading save games of unknown format
(cherry picked from commit 20d03c7e39ebf9f09570be0a5a3e1029a8001bd4)
This commit is contained in:
parent
05fd4e123e
commit
65bd5d8492
@ -28,9 +28,6 @@ void MWState::Character::addSlot (const boost::filesystem::path& path, const std
|
|||||||
ESM::ESMReader reader;
|
ESM::ESMReader reader;
|
||||||
reader.open (slot.mPath.string());
|
reader.open (slot.mPath.string());
|
||||||
|
|
||||||
if (reader.getFormat()>ESM::Header::CurrentFormat)
|
|
||||||
return; // format is too new -> ignore
|
|
||||||
|
|
||||||
if (reader.getRecName()!=ESM::REC_SAVE)
|
if (reader.getRecName()!=ESM::REC_SAVE)
|
||||||
return; // invalid save file -> ignore
|
return; // invalid save file -> ignore
|
||||||
|
|
||||||
|
@ -310,8 +310,6 @@ void MWState::StateManager::loadGame(const std::string& filepath)
|
|||||||
// have to peek into the save file to get the player name
|
// have to peek into the save file to get the player name
|
||||||
ESM::ESMReader reader;
|
ESM::ESMReader reader;
|
||||||
reader.open (filepath);
|
reader.open (filepath);
|
||||||
if (reader.getFormat()>ESM::Header::CurrentFormat)
|
|
||||||
return; // format is too new -> ignore
|
|
||||||
if (reader.getRecName()!=ESM::REC_SAVE)
|
if (reader.getRecName()!=ESM::REC_SAVE)
|
||||||
return; // invalid save file -> ignore
|
return; // invalid save file -> ignore
|
||||||
reader.getRecHeader();
|
reader.getRecHeader();
|
||||||
@ -333,6 +331,9 @@ void MWState::StateManager::loadGame (const Character *character, const std::str
|
|||||||
ESM::ESMReader reader;
|
ESM::ESMReader reader;
|
||||||
reader.open (filepath);
|
reader.open (filepath);
|
||||||
|
|
||||||
|
if (reader.getFormat() > ESM::SavedGame::sCurrentFormat)
|
||||||
|
throw std::runtime_error("This save file was created using a newer version of OpenMW and is thus not supported. Please upgrade to the newest OpenMW version to load this file.");
|
||||||
|
|
||||||
std::map<int, int> contentFileMap = buildContentFileIndexMap (reader);
|
std::map<int, int> contentFileMap = buildContentFileIndexMap (reader);
|
||||||
|
|
||||||
Loading::Listener& listener = *MWBase::Environment::get().getWindowManager()->getLoadingScreen();
|
Loading::Listener& listener = *MWBase::Environment::get().getWindowManager()->getLoadingScreen();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user