From 083165f89a241d470a560cba181c071ecf81368d Mon Sep 17 00:00:00 2001 From: hgn Date: Mon, 27 Sep 2021 22:48:09 +0100 Subject: [PATCH] fix bug with rolling over output --- fishladder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fishladder.c b/fishladder.c index 49aa43a..9c57308 100644 --- a/fishladder.c +++ b/fishladder.c @@ -681,7 +681,7 @@ void vg_update(void) else { struct cell *cell_next = pcell( (v2i){ fish->pos[0]+fish->dir[0], fish->pos[1]+fish->dir[1] } ); - if( !(cell_next->state & FLAG_CANAL) ) + if( !(cell_next->state & (FLAG_CANAL|FLAG_OUTPUT)) ) { // Try other directions for valid, so down, left, right.. v2i dirs[] = {{1,0},{-1,0},{0,-1}}; @@ -692,7 +692,7 @@ void vg_update(void) if( (dirs[j][0] == -fish->dir[0]) && (dirs[j][1] == -fish->dir[1]) ) continue; - if( pcell( (v2i){ fish->pos[0]+dirs[j][0], fish->pos[1]+dirs[j][1] } )->state & FLAG_CANAL ) + if( pcell( (v2i){ fish->pos[0]+dirs[j][0], fish->pos[1]+dirs[j][1] } )->state & (FLAG_CANAL|FLAG_OUTPUT) ) { fish->dir[0] = dirs[j][0]; fish->dir[1] = dirs[j][1]; -- 2.25.1