Package: xsok Version: 1.02-16 The find next unsolved level command (shift-U) in xsok can cause the last level's savefiles to be overwritten if no unsolved level is found.
To reproduce: - solve last level - go to second last level - press shift-U, then s (for 'save') - this creates a savefile with the wrong level number. The same effect occurs if you now solve this level and beat the current record. Proposed fix: * do not use global variable game.level as a counter --- a/src/commands.c +++ b/src/commands.c @@ -54,9 +54,10 @@ void cmd_LevelInfo(void) { } void cmd_NextUnsolved(void) { - while (game.level < maxlevel) { - if (!highscore[++game.level]) { - NewLevel(game.level); + int level = game.level; + while (level < maxlevel) { + if (!highscore[++level]) { + NewLevel(level); cmd_LevelInfo(); return; } With kind regards, Bertram Felgenhauer -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]