# HG changeset patch # User Mike Becker # Date 1774702874 -3600 # Node ID 395542d915d7dcee3e142fa391b2bfdc3c24baf4 # Parent 58b788fd10a71197886c6eb23b6d36667dfa057d add option that disables board flip in solo games resolves #812 diff -r 58b788fd10a7 -r 395542d915d7 src/game.c --- a/src/game.c Sat Mar 28 12:57:05 2026 +0100 +++ b/src/game.c Sat Mar 28 14:01:14 2026 +0100 @@ -529,7 +529,8 @@ bool running; do { clear(); - draw_board(&gamestate, curcol, settings->unicode); + uint8_t perspective = settings->disableflip ? WHITE : curcol; + draw_board(&gamestate, perspective, settings->unicode); running = !domove_singlemachine(&gamestate, &(settings->gameinfo), curcol); curcol = opponent_color(curcol); diff -r 58b788fd10a7 -r 395542d915d7 src/game.h --- a/src/game.h Sat Mar 28 12:57:05 2026 +0100 +++ b/src/game.h Sat Mar 28 14:01:14 2026 +0100 @@ -43,6 +43,7 @@ char* serverhost; /* NULL, if we are about to start a server */ char* continuepgn; bool singlemachine; + bool disableflip; bool unicode; } Settings; diff -r 58b788fd10a7 -r 395542d915d7 src/main.c --- a/src/main.c Sat Mar 28 12:57:05 2026 +0100 +++ b/src/main.c Sat Mar 28 14:01:14 2026 +0100 @@ -44,7 +44,7 @@ uint8_t timeunit = 60; size_t len; - for (int opt ; (opt = getopt(argc, argv, "a:bc:hp:rsS:t:Uv")) != -1 ;) { + for (int opt ; (opt = getopt(argc, argv, "a:bc:Fhp:rsS:t:Uv")) != -1 ;) { switch (opt) { case 'c': settings->continuepgn = optarg; @@ -56,10 +56,13 @@ settings->gameinfo.servercolor = rand() & 1 ? WHITE : BLACK; break; case 's': - settings->singlemachine = 1; + settings->singlemachine = true; + break; + case 'F': + settings->disableflip = true; break; case 'U': - settings->unicode = 0; + settings->unicode = false; break; case 't': case 'a': @@ -114,8 +117,10 @@ " -a