X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=kub.c;h=f77dfcbd4bdd093b556332e79f616e72c6df41f7;hb=343a6b435b5a47fc30afb603c3259b96f5e384e8;hp=489effb4cd77945d570c5b58bf81c2307f4a5896;hpb=c0722a461b9e4a048ee059876107a5f07e8941e1;p=kub diff --git a/kub.c b/kub.c index 489effb..f77dfcb 100644 --- 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; } @@ -523,12 +523,13 @@ static gboolean on_button_press_event (GtkWidget *widget, GdkEventButton *event, if (event->x >= tile_x && event->x <= (tile_x + TILE_WIDTH) && event->y >= tile_y && event->y <= (tile_y + TILE_HEIGHT) ) { + game->select_mode = 0; game->current_tile = i; game->diff_x = event->x - tile_x; 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 +544,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 +581,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 +589,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;