]> git.cworth.org Git - kub/blobdiff - kub.c
Add "select_mode" to determine if "selection_box.visible" is true or false
[kub] / kub.c
diff --git a/kub.c b/kub.c
index 489effb4cd77945d570c5b58bf81c2307f4a5896..530fc4133043a00606d1537f16689195127afc46 100644 (file)
--- a/kub.c
+++ b/kub.c
@@ -97,6 +97,7 @@ typedef struct game {
     RsvgHandle *blanktile;
 
     int current_tile;
+    int select_mode;
     int diff_x, diff_y;
     int click_x, click_y;
     int release_x, release_y;    /*Currently unused*/
@@ -480,9 +481,8 @@ static void game_init(game_t *game)
     if (error)
        FATAL_ERROR (error->message);
 
-    /*This line appears to be useless, has been replaced by line below*/
-    //game->current_tile = game->deck.num_tiles - 1;
-    game->current_tile = -1;
+    game->current_tile = game->deck.num_tiles - 1;
+    game->select_mode = 1;
 
     game->diff_x = game->diff_y = 0;
 }
@@ -528,7 +528,7 @@ static gboolean on_button_press_event (GtkWidget *widget, GdkEventButton *event,
            game->diff_y = event->y - tile_y;
         }
     }
-    if (game->current_tile == -1)
+    if (game->select_mode)
     {
        game->selection_box.visible = 1;
        /*These next two lines are likely to be replaced by...*/
@@ -543,8 +543,9 @@ static gboolean on_button_press_event (GtkWidget *widget, GdkEventButton *event,
 
 static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *event, game_t *game)
 {
-    if (game->current_tile == -1)
+    if (game->select_mode)
     {
+       game->select_mode = 0;
        selection_box_t *box;
        box = &game->selection_box;
 
@@ -579,7 +580,7 @@ static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *even
            tile_print(group.tiles[i]);
     }
 
-    game->current_tile = -1;
+    game->select_mode = 1;
 
     return TRUE;
 }
@@ -587,7 +588,7 @@ static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *even
 static gboolean on_button_motion_event (GtkWidget *widget, GdkEventMotion *event,
                                        game_t *game, cairo_t *cr)
 {
-    if (game->current_tile == -1)
+    if (game->select_mode)
     {
        selection_box_t *box;
        box = &game->selection_box;