shithub: puzzles

Download patch

ref: e080e0e3253a079ac755bb6d21ff08a6ccd96815
parent: f01b1674bd862e1792b5216bd5d832cd52a170ae
author: Simon Tatham <anakin@pobox.com>
date: Sun Apr 23 18:34:40 EDT 2023

Slant: actually check ui->swap_buttons.

Apparently I wrote the new-look code that sets up the prefs field in
the UI, but didn't remember to rewrite the code in interpret_move that
ought to read it.

--- a/slant.c
+++ b/slant.c
@@ -1716,26 +1716,12 @@
     enum { CLOCKWISE, ANTICLOCKWISE, NONE } action = NONE;
 
     if (button == LEFT_BUTTON || button == RIGHT_BUTTON) {
-	/*
-	 * This is an utterly awful hack which I should really sort out
-	 * by means of a proper configuration mechanism. One Slant
-	 * player has observed that they prefer the mouse buttons to
-	 * function exactly the opposite way round, so here's a
-	 * mechanism for environment-based configuration. I cache the
-	 * result in a global variable - yuck! - to avoid repeated
-	 * lookups.
-	 */
-	{
-	    static int swap_buttons = -1;
-	    if (swap_buttons < 0)
-                swap_buttons = getenv_bool("SLANT_SWAP_BUTTONS", false);
-	    if (swap_buttons) {
-		if (button == LEFT_BUTTON)
-		    button = RIGHT_BUTTON;
-		else
-		    button = LEFT_BUTTON;
-	    }
-	}
+        if (ui->swap_buttons) {
+            if (button == LEFT_BUTTON)
+                button = RIGHT_BUTTON;
+            else
+                button = LEFT_BUTTON;
+        }
         action = (button == LEFT_BUTTON) ? CLOCKWISE : ANTICLOCKWISE;
 
         x = FROMCOORD(x);