UFO:Alien Invasion

General => Announcements => Topic started by: geever on August 21, 2009, 03:06:38 pm

Title: Compatibility Announces
Post by: geever on August 21, 2009, 03:06:38 pm
Compatibility Announces

This topic was opened for beta testers/players who are playing with the current development snapshot (at time of writing 2.3-dev).

As the game evolve we may break savegame compatibility occasionally for the greater good. The aim of this topic is to notify you about the changes and give hints about rescuing your saves if possible.

-geever
Title: Re: Compatibility Announces
Post by: geever on August 21, 2009, 03:12:30 pm
UFO Yards

Feature UFO Yards (http://ufoai.ninex.info/wiki/index.php/Proposals/Off-base_UFO_Yards) and a new, more reliable and capacity effient UFO storing method was implemented in revision r25747. At the same time the old UFO Hangar based storing method is gone. The old savegames are loadable but for saving previously recovered UFOs you need to have enough working UFO Yards. The feauture makes UFO Hangars superfluous.

If you wanna save your UFOs:
* (with old version)
* Build enough UFO Yards to store your ufos (each can store 6 of any size)
* Make sure they the're ready (takes 11 days to build up)
* Save
* Update to the latest version
* Load
* remove UFO Hangars from all bases

You can use debug_liststoredufos1 command (in game console) to check which ufos were imported.

1 only available in DEBUG builds.

-geever
Title: Re: Compatibility Announces
Post by: geever on August 25, 2009, 12:15:19 am
Savegame compatibility was broken in r25829 as the ID of the laser ammo was changed. You have to start a new campaign. The change was reasonable but unreadied. Sorry for the inconvenience.

-geever
Title: Re: Compatibility Announces
Post by: ngsupb on November 20, 2009, 09:01:17 pm
Hi geever.

Thanks for the update!

Are you going to broke it again until the release or it is the one and last time?

thanks
Title: Re: Compatibility Announces
Post by: geever on November 20, 2009, 09:07:56 pm
Are you going to broke it again until the release or it is the one and last time?

We will break it at least one more time. But we will try to do all the breaking changes in one commit.

-geever
Title: Re: Compatibility Announces
Post by: Mattn on February 06, 2010, 10:25:13 am
make sure to remove or update your keys.cfg - we've renamed some actor related commands.
Title: Re: Compatibility Announces
Post by: geever on February 06, 2010, 10:30:06 am
make sure to remove or update your keys.cfg - we've renamed some actor related commands.

it was changed in r28429. If you didn't modify the hotkeys, simply remove your keys. cfg (in user data directory (http://ufoai.ninex.info/wiki/index.php/FAQ#General)) it will be regenerated.

-geever
Title: Re: Compatibility Announces
Post by: Mattn on February 07, 2010, 01:40:29 pm
please do the same again - we've renamed some more actor related commands for the sake of completeness (and there might be even more)
Title: Re: Compatibility Announces
Post by: geever on April 29, 2010, 12:47:15 am
Big savegame break ahead!

In about a week ( most likely on May 8 ) savegame compatibility will break in trunk as I merge savegame_break branch back into it. The new version will not even see the old savegames as their extension was changed too. (Your old saves will remain on disk)

In the branch I've restructured the saved data and fixed several bugs were hidden before. The uncompressed size of an initial save is now about 75% of the old one && better structured.

Multiplayer team definitions are affected as well.

-geever



Call for Testers!

Until the deadline we should find and fix any possible bugs I've introduced/left in. Unfortunately I don't have much/any time for playing so I ask U, beta testers, to help me.

For this you should either checkout the savegame_break (https://ufoai.svn.sourceforge.net/svnroot/ufoai/ufoai/branches/savegame_break) branch or make a copy of your trunk checkout and switch (http://svnbook.red-bean.com/en/1.0/re27.html) it to the branch's url (and update).

Please, if you find any bugs, open a ticket at the tracker (http://sourceforge.net/tracker/?group_id=157793) or another topic!

Thank You!

-geever
Title: Re: Compatibility Announces
Post by: ChemBro on April 29, 2010, 08:58:58 pm
Will this be the last (planned) savegame break before 2.3-final?

And what bugs do expect in the savegame_break-branch? How can I find them? Or should I play, till something happens?
Title: Re: Compatibility Announces
Post by: geever on April 30, 2010, 12:55:31 pm
Will this be the last (planned) savegame break before 2.3-final?

Last planned savegame break in trunk before final 2.3.
Maybe we will do one more in the 2.3 branch (once it is created) when we remove unfinished/non-working items. I'll see if we can do that without breaking the saves again..

And what bugs do expect in the savegame_break-branch?
How can I find them? Or should I play, till something happens?

Maybe savegame bugs? :)

Seriously, our save system returns default values if the given property was not found so if you see that something returned to zero that's most probably a bug. I've fixed one of this type about alien interests, no UFOs came as interest levels always returned to zero on load.

Play much! I would say you can even cheat (debug commands) in missions from testing's point of view, only the result will affect savegame (if you lost team member, interest level and happiness change, looted items and alien bodies).

Do Save-Load-Save check sometimes: Save slot1, load slot1, save slot2, compare slot1.sdmp and slot2.sdmp.

Set save_compressed to 0 so We can hack the savegame to find a cure. debug_list* console commands can be useful for checking ingame data.

Unicode: There was a bug (https://sourceforge.net/tracker/index.php?func=detail&aid=2983569&group_id=157793&atid=805242) about multibyte unicode characters in saves. That's fixed in savegame_break branch too but I couldn't prove it's correctness. So playing on non-latin scripted languages (especially Russian) is welcome too.

Always check the console after loading the game. Any warnings can be important.

Use rolling-save trick: first save at slot 0, later slot1...n then from 0 again. With this technique you can hopefully provide earlier saves too in case the bug is not obvious and must be caught right when it's happening.


ps. This ended to be a big testing-idea list. I hope you don't mind and find (much?) useful info in it.

Thanks for your help!
-geever
Title: Re: Compatibility Announces
Post by: geever on May 14, 2010, 04:53:25 pm
Savegame compatibility broken!

The savegame_break branch was merged back to trunk as promised, in r29917.

The new version does not see the old saves if you find an empty list in Load menu after updating you should either go back to version r29916 (or earlier) or start a new game.

-geever
Title: Re: Compatibility Announces
Post by: Kildor on May 14, 2010, 06:04:01 pm
I want to just say hooray!!
sorry for offtopic.. :-)
Title: Re: Compatibility Announces
Post by: geever on June 04, 2010, 08:50:28 pm
Change in savegames.

Thinking of future I've changed an attribute in savegames in r30332 (trunk), r30333 (branch_2.3). I've missed this one in the big-break (http://ufoai.ninex.info/forum/index.php?topic=3963.msg37663#msg37663), sorry. Without this change we could not add for example more aliens to the game without breaking compatibility.

No worries, savegame compatibility was not broken this time, I left in the old loading code to keep it for now.

On loading your oldstyle saves you will see spam of warnings like:
Code: [Select]
No TeamDefID for .... found. Try teamDefIDX (oldsave method)
This is "normal". But please, upgrade your savegames as soon as possible by loading and resaving them with the new version. One day (let's say in a month) the compatibility code must go and then only upgraded saves will be loadable.


For details about the change see this (http://ufoai.ninex.info/forum/index.php?topic=4868.0) topic ot the changeset (http://sourceforge.net/apps/trac/ufoai/changeset/30332).

-geever
Title: Re: Compatibility Announces
Post by: geever on June 04, 2010, 11:12:09 pm
Bye, bye sdmp...

Debug versions of the game from r30337 (trunk), r30338 (branch_2.3) don't create debug savegame-dumps "slot*.sdmp" (former slot*.lint) beside the real savegame (slot*.savx).

Savegame-dumps were sometimes sent us instead of savegames on investigating issues, I wanna end this misapprehension. Dumps were raw xml export of the savegame only created but never used by the game and they are not needed anymore as we have a tool (http://ufoai.svn.sourceforge.net/viewvc/ufoai/ufoai/trunk/src/tools/savegametool.pl?view=log) for extracting their xml content.

When providing savegames slot*.savx-es are enough.

-geever
Title: Re: Compatibility Announces
Post by: geever on June 27, 2010, 12:00:18 am
Compatibility code removed

The compatibility code for the "teamDefIDX ~> teamDefID" change reported here before was removed in r30686. Games saved before r30332 cannot be loaded with the current version.

The stable release (2.3) already saved the new format, so games created with it are not affected. The stable release can also load the old format (it has the compatibility code), so you can use it to convert your old saves to new format.

-geever
Title: Re: Compatibility Announces
Post by: geever on August 08, 2010, 12:01:13 pm
Bit savegame flub-up

Unfortunately r31219 broke savegame compatibility due to a mistake by me. It was fixed in r31291 but saves created during this about four days period are corrupted, can cause asserts. Sorry for the inconvenience.

-geever
Title: Re: Compatibility Announces
Post by: geever on October 26, 2011, 11:55:22 pm
Savegame (compatibility) cleanup

On next Friday (4th of November) I remove old savegame compatibility codes from the current master.

The savegame format didn't change for months so probably you won't notice it. However if you have old savegames you should load and resave them with a recent version.

-geever 
Title: Re: Compatibility Announces
Post by: geever on November 05, 2011, 11:25:14 am
The savegame cleanup was made. Please report any issues (on the tracker) you find.

-geever