shithub: puzzles

Download patch

ref: 84ec2a0a77d63450311f7c25b36d4b9f7e3c53e1
parent: 9ce0a6d93212ffc0986a2b399fd8e9e983f62904
author: Ben Harris <bjh21@bjh21.me.uk>
date: Sat Feb 4 11:18:27 EST 2023

Unequal: Don't insist that solve moves must actually solve

A corrupt save file can include an "S" move that doesn't give a valid
solution.  An assertion failure ("execute_move: Assertion `rc > 0'
failed.") at that point is rude, so now we just don't set the
"completed" flag in that case.  We still set the "cheated" flag, to
reward (lack of) effort.

Here's a trivial test case:

SAVEFILE:41:Simon Tatham's Portable Puzzle Collection
GAME    :7:Unequal
CPARAMS :1:3
PARAMS  :1:3
DESC    :17:0,0,0,0,0,0,0,0,0
NSTATES :1:2
STATEPOS:1:2
MOVE    :10:S222222222