- cleaned up switch code and fixed several problems:

* savegames stored an index in the switch table and performed no validation when loading a savegame.
  * setting of a random switch animation duration was broken.
  * separated the 2 values stored in the Time variable into 2 separate variables.
  * defining a switch with one texture already belonging to another switch could leave broken definitions in the switch table.
- added function for serializing switch and door animation pointers.
- bumped min. savegame versions due to changes to DButtonThinker and removed all current savegame compatibility code.


SVN r3030 (trunk)
This commit is contained in:
Christoph Oelckers 2010-12-12 15:43:35 +00:00
commit 0715b7dfc6
17 changed files with 194 additions and 344 deletions

View file

@ -826,16 +826,7 @@ void DPolyobjInterpolation::Serialize(FArchive &arc)
arc << po << oldverts;
poly = polyobjs + po;
if (SaveVersion >= 2448)
{
arc << oldcx << oldcy;
}
else
{
// This will glitch if an old savegame is loaded but at least it'll allow loading it.
oldcx = poly->CenterSpot.x;
oldcy = poly->CenterSpot.y;
}
arc << oldcx << oldcy;
if (arc.IsLoading()) bakverts.Resize(oldverts.Size());
}