chiark / gitweb /
Format Palisade solve-type moves in sensible ASCII.
authorSimon Tatham <anakin@pobox.com>
Tue, 3 Nov 2015 06:56:47 +0000 (06:56 +0000)
committerSimon Tatham <anakin@pobox.com>
Tue, 3 Nov 2015 06:59:47 +0000 (06:59 +0000)
commitd60e348aae16e718e1e7cc2b6e090956eb7e4b52
tree4fa47810e9f1499a062022fa8b46208301773457
parentffe8639619dbccd838c5b226f84d4cf0eb99b69d
Format Palisade solve-type moves in sensible ASCII.

The solve move stored in 'aux' by new_game_desc consists of printable
characters in the range '@' to 'O', each representing a 4-bit bitmap
of edges around a cell. But the one generated on the fly by
solve_game() was missing out the 0x40 bit and just returning
characters in the range ^@ to ^O - which would not only have been
horrible if you found such a string in a save file, but also meant
that a game with any completely borderless square would have a
solution move string terminating early due to the ^@, causing
execute_move() to reject it.

Example: ./palisade --test-solve --generate 1 5x5n5#12345-37 now
succeeds, where previously it failed an assertion.
palisade.c