assert(INGRID(state, bx, by)); /* should not have a link off grid */
bc = by*w+bx;
-#if 0
assert(state->lines[bc] & F(dir)); /* should have reciprocal link */
-#endif
- /* TODO put above assertion back in once we stop generating partially
- * soluble puzzles. */
if (!(state->lines[bc] & F(dir))) return;
ae = dsf_canonify(dsf, ac);
for (r = 0; r < h; ++r) {
for (c = 0; c < w; ++c) {
int i = r*w + c, cell = r*ch*gw + c*cw;
- board[cell] = state->shared->clues[i]["+BW"];
+ board[cell] = "+BW"[(unsigned char)state->shared->clues[i]];
if (c < w - 1 && (state->lines[i] & R || state->lines[i+1] & L))
memset(board + cell + 1, '-', cw - 1);
if (r < h - 1 && (state->lines[i] & D || state->lines[i+w] & U))
}
}
+ if (button == 27 || button == '\b') {
+ ui->ndragcoords = -1;
+ return "";
+ }
+
if (release) {
if (ui->ndragcoords > 0) {
/* End of a drag: process the cached line data. */