1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-28 22:39:42 +00:00

Drop support for save game format 1

This commit is contained in:
Evil Eye 2023-12-09 17:22:11 +01:00
parent 102d2c4b43
commit 521cff08f8
3 changed files with 20 additions and 32 deletions

View file

@ -898,36 +898,27 @@ namespace MWWorld
{ {
if (ESM::REC_WTHR == type) if (ESM::REC_WTHR == type)
{ {
if (reader.getFormatVersion() <= ESM::MaxOldWeatherFormatVersion) ESM::WeatherState state;
state.load(reader);
std::swap(mCurrentRegion, state.mCurrentRegion);
mTimePassed = state.mTimePassed;
mFastForward = state.mFastForward;
mWeatherUpdateTime = state.mWeatherUpdateTime;
mTransitionFactor = state.mTransitionFactor;
mCurrentWeather = state.mCurrentWeather;
mNextWeather = state.mNextWeather;
mQueuedWeather = state.mQueuedWeather;
mRegions.clear();
importRegions();
for (auto it = state.mRegions.begin(); it != state.mRegions.end(); ++it)
{ {
// Weather state isn't really all that important, so to preserve older save games, we'll just discard auto found = mRegions.find(it->first);
// the older weather records, rather than fail to handle the record. if (found != mRegions.end())
reader.skipRecord();
}
else
{
ESM::WeatherState state;
state.load(reader);
std::swap(mCurrentRegion, state.mCurrentRegion);
mTimePassed = state.mTimePassed;
mFastForward = state.mFastForward;
mWeatherUpdateTime = state.mWeatherUpdateTime;
mTransitionFactor = state.mTransitionFactor;
mCurrentWeather = state.mCurrentWeather;
mNextWeather = state.mNextWeather;
mQueuedWeather = state.mQueuedWeather;
mRegions.clear();
importRegions();
for (auto it = state.mRegions.begin(); it != state.mRegions.end(); ++it)
{ {
auto found = mRegions.find(it->first); found->second = RegionWeather(it->second);
if (found != mRegions.end())
{
found->second = RegionWeather(it->second);
}
} }
} }

View file

@ -49,8 +49,6 @@ namespace ESM
esm.getHNOT(mTalkedTo, "TALK"); esm.getHNOT(mTalkedTo, "TALK");
esm.getHNOT(mAlarmed, "ALRM"); esm.getHNOT(mAlarmed, "ALRM");
esm.getHNOT(mAttacked, "ATKD"); esm.getHNOT(mAttacked, "ATKD");
if (esm.isNextSub("ATCK"))
esm.skipHSub(); // attackingOrSpell, no longer used
esm.getHNOT(mKnockdown, "KNCK"); esm.getHNOT(mKnockdown, "KNCK");
esm.getHNOT(mKnockdownOneFrame, "KNC1"); esm.getHNOT(mKnockdownOneFrame, "KNC1");
esm.getHNOT(mKnockdownOverOneFrame, "KNCO"); esm.getHNOT(mKnockdownOverOneFrame, "KNCO");

View file

@ -9,7 +9,6 @@ namespace ESM
inline constexpr FormatVersion DefaultFormatVersion = 0; inline constexpr FormatVersion DefaultFormatVersion = 0;
inline constexpr FormatVersion CurrentContentFormatVersion = 1; inline constexpr FormatVersion CurrentContentFormatVersion = 1;
inline constexpr FormatVersion MaxOldWeatherFormatVersion = 1;
inline constexpr FormatVersion MaxOldDeathAnimationFormatVersion = 2; inline constexpr FormatVersion MaxOldDeathAnimationFormatVersion = 2;
inline constexpr FormatVersion MaxOldFogOfWarFormatVersion = 6; inline constexpr FormatVersion MaxOldFogOfWarFormatVersion = 6;
inline constexpr FormatVersion MaxUnoptimizedCharacterDataFormatVersion = 7; inline constexpr FormatVersion MaxUnoptimizedCharacterDataFormatVersion = 7;
@ -28,7 +27,7 @@ namespace ESM
inline constexpr FormatVersion MaxActiveSpellSlotIndexFormatVersion = 27; inline constexpr FormatVersion MaxActiveSpellSlotIndexFormatVersion = 27;
inline constexpr FormatVersion CurrentSaveGameFormatVersion = 29; inline constexpr FormatVersion CurrentSaveGameFormatVersion = 29;
inline constexpr FormatVersion MinSupportedSaveGameFormatVersion = 1; inline constexpr FormatVersion MinSupportedSaveGameFormatVersion = 2;
inline constexpr FormatVersion OpenMW0_48SaveGameFormatVersion = 21; inline constexpr FormatVersion OpenMW0_48SaveGameFormatVersion = 21;
inline constexpr FormatVersion OpenMW0_49SaveGameFormatVersion = CurrentSaveGameFormatVersion; inline constexpr FormatVersion OpenMW0_49SaveGameFormatVersion = CurrentSaveGameFormatVersion;
} }