Issue516

Title cannot normally exit game after loading incompatible savegame
Priority critical Status resolved
Assigned To salimiles Keywords
Linked issues Watchers salimiles

Submitted on 2011-11-03 13h47 by matthiaskrgr, last changed by matthiaskrgr.

Files
File name Uploaded Type Edit Remove
test.sav.gz matthiaskrgr, 2011-11-03.13:47:15 application/x-gzip
test.shp matthiaskrgr, 2011-11-03.13:47:34 application/octet-stream
test.thumbnail.bmp matthiaskrgr, 2011-11-03.13:47:59 image/bmp
unnamed fluzz, 2011-11-04.10:52:03 text/html
Messages
Author: matthiaskrgr Date: 2011-11-03   13h47
I accidentally tried to load an very old savegame, the screen said

"An error occurred when trying to load the savegame.
A common reason for this [.. etc bla bla]
Click to continue"

and the terminal said

"----------------------------------------------------------------------
Freedroid has encountered a problem:
In function: read_melee_shot.
FreedroidRPG package and version number: freedroidrpg 0.14.1+svn.
Field "time_to_hit" not found
The problem mentioned above is not fatal, we continue the execution.
----------------------------------------------------------------------
"

However a click didn't seem to solve anything but just made the warning pop up
once more in the terminal.

After I had written this report I clicked again and also pressed [Esc], now the
terminal said

"----------------------------------------------------------------------
Freedroid has encountered a problem:
In function: ResolveMapLabelOnShip.
FreedroidRPG package and version number: freedroidrpg 0.14.1+svn.
Resolving map label TeleporterRoom-exit-1 failed on the complete ship!
This is a severe error in the game data of Freedroid.

If you encounter this message, please inform the Freedroid developers
about the problem, by either

  sending e-mail to:
    freedroid-discussion AT lists.sourceforge.net
  mention it to someone of the developers on our IRC channel:
    channel: #freedroid on irc.freenode.net
  post on our forum at:
    https://sourceforge.net/apps/phpbb/freedroid
  report a bug on our tracker at:
    http://bugs.freedroid.org/

Thanks a lot!

Freedroid will terminate now to draw attention to the problems it could
not resolve.  Sorry if that interrupts a major game of yours...

----------------------------------------------------------------------
Termination of freedroidRPG initiated...Thank you for playing freedroidRPG.

"


and finally shut down.


In my opinion this mustn't happen, the game should easily be terminated if such
a warning occurs.

 r5117

Attached test.sav.gz.
Author: matthiaskrgr Date: 2011-11-03   13h47
Savegame attached.

Attached test.thumbnail.bmp.
Author: salimiles Date: 2011-11-03   15h13
So, should we just make the first error fatal?
Author: matthiaskrgr Date: 2011-11-03   15h19
What I expected was the window vanishing at first click and the game letting me
load a different savegame afterwards.

What would probably be the best way of handling this would probably be directly
asking if the user wants do delete the broken savegame.

Making the game crash is quite a hack in my opinion.
Author: fluzz Date: 2011-11-04   06h44
IIRC, the pop-up pops up for each warning, so you have to click several times,
and on very old savegames, "several" = "tens"...

Avoiding to load the savegame at first warning is, imho, not a good idea,
because sometimes such a warning is really a warning and the game will run
successfully.

We could however perhaps open the pop-up only once, and if there are to many
warnings tell the user that its savegame is definitely too old to be safetely
loaded.
Author: ahuillet Date: 2011-11-04   07h20
Our savegames are incompatible with the upcoming release. We can bail on the
very first  warning.
Author: matthiaskrgr Date: 2011-11-04   07h23
Yes, especially since we changed savegame format (to lua-ish stuff).
Author: fluzz Date: 2011-11-04   10h52
Mhh. savegames in "old" format should not be listed. Are they ?

----- Reply message -----
De : "Matthias Krüger - Roundup" <bugs@freedroid.org>
Date : ven., nov. 4, 2011 08:23
Objet : [issue516] cannot normally exit game after loading incompatible	savegame
Pour : <freedroid-bugs@lists.sourceforge.net>

Matthias Krüger <matthias.krueger@famsik.de> added the comment:

Yes, especially since we changed savegame format (to lua-ish stuff).

________________________________________
FreedroidRPG issues <bugs@freedroid.org>
<http://bugs.freedroid.org/b/issue516>
________________________________________

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Freedroid-bugs mailing list
Freedroid-bugs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedroid-bugs

Attached unnamed.
Author: matthiaskrgr Date: 2011-11-04   10h58
No, apparently the are not shown.
But that probably raises another "file spamming in ~/.freedroid_rpg/ issue?
What do you think?
Author: fluzz Date: 2011-11-04   18h34
ahuillet wrote:
> Our savegames are incompatible with the upcoming release. We can bail on the
> very first  warning.

What do you mean ? As I said, old savegames are not displayed.

With new savegames, after a 'minor' modification of the code, loading a
'pre-modification' savegame could generate a warning, but without making it
being really compatible with new code (a default value will be used).

So, I think that we should not reject a savegame on the first warning...
Author: fluzz Date: 2011-11-04   18h37
matthiaskrgr wrote:
> But that probably raises another "file spamming in ~/.freedroid_rpg/ issue?

Yes, indeed, but there is not a lot we can do against that...
We can not automatically remove old savegames without the player granting it (he
could possible be using 2 versions of fdrpg, an old one and a new one).
Author: ahuillet Date: 2011-11-05   17h40
So the issue is actually resolved?
Author: matthiaskrgr Date: 2011-11-05   19h29
I still find this bug quite annoying. When I load a incomatible savegame, I
sometimes have to permanently click around thirty seconds or more in order to
get the game to shut down.

Pressing [Esc] seems to be equal to a click and Ctrl+C in the terminal doesn't
affect anything.
Author: Henker Date: 2011-11-06   00h57
I agree with matthiaskrgr.

I also encountered this problem and had to use "kill -kill [PID]", since even
"kill [PID]" didn't work.
I'd  started the game in window mode and the "[X]" of the window didn't do a
thing, too - like matthiaskrgr wrote about [Esc].

I used a savegame from r5061 and another one from r5077 with freedroid being at
r5118.

I tried it another time and had to click approximately 103 times - each
producing the following output:
----------------------------------------------------------------------
Freedroid has encountered a problem:
In function: read_melee_shot.
FreedroidRPG package and version number: freedroidrpg 0.14.1+svn.
Field "time_to_hit" not found
The problem mentioned above is not fatal, we continue the execution.
----------------------------------------------------------------------

The next click killed the game:
----------------------------------------------------------------------
Freedroid has encountered a problem:
In function: ResolveMapLabelOnShip.
FreedroidRPG package and version number: freedroidrpg 0.14.1+svn.
Resolving map label SwitchOffLaserTrapMSOLobby-1 failed on the complete ship!
This is a severe error in the game data of Freedroid.

The questions coming up:
1. Is the game playable, when the savegame misses the field "time_to_hit" (for
all melee_shots)? If not, this error should be fatal.

2. Is there a reasonable way to unite non-fatal warnings of the same type - i.e.
to prevent the game from display a warning about one melee shot does not have
the field "time_to_hit" if this warning already has been displayed once (for
another melee_shot).
In the case of my example, the game should have warned me ONCE (not 103 times)
because of the missing "time_to_hit" fields and then instantly* having crashed
because of the missing label.

* instantly means without further clicking.
Author: salimiles Date: 2011-11-07   03h36
> Pressing [Esc] seems to be equal to a click and Ctrl+C in the terminal doesn't
affect anything. (Matthias)

Well, if the gamepad stuff had been included this would have been fixed :-)
See http://rb.freedroid.org/r/1606/ which addresses it.

> Mhh. savegames in "old" format should not be listed. (fluzz)

It is hard to get the version of the game without loading the game file. I made
http://rb.freedroid.org/r/1607/ so that the version will be at the top of the
.shp file.
Author: salimiles Date: 2011-11-07   04h43
IMHO, if we do  http://rb.freedroid.org/r/1606/ we can move this priority down
to "bug" level.
Author: fluzz Date: 2011-11-07   08h25
On 11/07/2011 04:36 AM, salimiles - Roundup wrote:
>
> salimiles<stinkyfishheadisred@yahoo.com>  added the comment:
>
>> Pressing [Esc] seems to be equal to a click and Ctrl+C in the terminal doesn't
> affect anything. (Matthias)
>
> Well, if the gamepad stuff had been included this would have been fixed :-)
> See http://rb.freedroid.org/r/1606/ which addresses it.
>
>> Mhh. savegames in "old" format should not be listed. (fluzz)
>
> It is hard to get the version of the game without loading the game file. I made
> http://rb.freedroid.org/r/1607/ so that the version will be at the top of the
> .shp file.

With 'old' format, I meant the one using our 'old' legacy parser.
Filename extensions were changed when the lua-based savegame has been
introduced.
Author: ahuillet Date: 2011-11-09   13h12
It's not a bug, so if priority is lowered it's "feature" and not "bug" 
that you want.
Author: matthiaskrgr Date: 2011-11-09   13h25
Fixed in r5136 Thanks!
History
Date User Action Args
2011-11-09 22:51:22salimileslinkissue529 linked
2011-11-09 22:32:10salimileslinkissue528 linked
2011-11-09 13:25:29matthiaskrgrsetstatus: open -> resolved
assignedto: salimiles
messages: + msg1949
nosy: + salimiles
2011-11-09 13:12:03ahuilletsetmessages: + msg1947
title: cannot normally exit game after loading incompatible savegame -> cannot normally exit game after loading incompatible savegame
2011-11-07 08:25:03fluzzsetmessages: + msg1937
title: cannot normally exit game after loading incompatible savegame -> cannot normally exit game after loading incompatible savegame
2011-11-07 04:43:36salimilessetmessages: + msg1933
2011-11-07 03:36:45salimilessetmessages: + msg1924
2011-11-06 00:57:23Henkersetmessages: + msg1909
2011-11-05 19:29:14matthiaskrgrsetmessages: + msg1899
2011-11-05 17:40:09ahuilletsetmessages: + msg1897
2011-11-04 18:37:50fluzzsetmessages: + msg1893
2011-11-04 18:34:21fluzzsetmessages: + msg1892
2011-11-04 10:58:10matthiaskrgrsetmessages: + msg1891
2011-11-04 10:52:03fluzzsetfiles: + unnamed
messages: + msg1890
title: cannot normally exit game after loading incompatible savegame -> cannot normally exit game after loading incompatible savegame
2011-11-04 07:23:28matthiaskrgrsetmessages: + msg1889
2011-11-04 07:20:04ahuilletsetmessages: + msg1888
2011-11-04 06:44:28fluzzsetmessages: + msg1885
2011-11-04 06:41:59matthiaskrgrsettitle: cannot normally exit game after loading incompatile savegame -> cannot normally exit game after loading incompatible savegame
2011-11-03 15:19:22matthiaskrgrsetmessages: + msg1876
2011-11-03 15:13:43salimilessetmessages: + msg1874
2011-11-03 13:47:59matthiaskrgrsetfiles: + test.thumbnail.bmp
messages: + msg1867
2011-11-03 13:47:34matthiaskrgrsetfiles: + test.shp
2011-11-03 13:47:15matthiaskrgrcreate