From: Kevin Worth Date: Tue, 7 Jul 2009 12:16:06 +0000 (-0400) Subject: Draw tiles owned by player in a way which differentiates them from tiles on board X-Git-Url: https://git.cworth.org/git?p=kub;a=commitdiff_plain;h=91de2ca90fc183230842aefe70f6d91bec44e60f Draw tiles owned by player in a way which differentiates them from tiles on board --- diff --git a/kub.c b/kub.c index 74a3749..91ca7fb 100644 --- a/kub.c +++ b/kub.c @@ -54,6 +54,7 @@ typedef struct tile { int x; int y; int selected; + int owned; } tile_t; #define DECK_MAX_TILES 104 @@ -97,6 +98,7 @@ typedef struct game { selection_box_t selection_box; RsvgHandle *blanktile; RsvgHandle *selectedtile; + RsvgHandle *ownedtile; int current_tile; int select_mode; @@ -128,6 +130,7 @@ static void tile_init (tile_t *tile, color_t color, int number) tile->x = 0; tile->y = 0; tile->selected = 0; + tile->owned = 0; } static void tile_set_x_y (tile_t *tile, int x, int y) @@ -163,6 +166,8 @@ static void tile_draw(game_t *game, tile_t *tile, cairo_t *cr, GdkRegion *region if (tile->selected) rsvg_handle_render_cairo (game->selectedtile, cr); + if (tile->owned) + rsvg_handle_render_cairo (game->ownedtile, cr); else rsvg_handle_render_cairo (game->blanktile, cr); @@ -364,6 +369,7 @@ static void deck_deal(game_t *game, deck_t *deck) temp = deck->tiles[rand_tile]; deck->tiles[rand_tile] = deck->tiles[deck->num_tiles - 1]; game->players[i].hand.tiles[j] = temp; + game->players[i].hand.tiles[j].owned = 1; deck->num_tiles -= 1; game->players[i].hand.num_tiles += 1; } @@ -484,11 +490,15 @@ static void game_init(game_t *game) deck_init(&game->deck); deck_shuffle(&game->deck); - game->selectedtile = rsvg_handle_new_from_file ("tiles/selectedtile.svg", &error); + game->selectedtile = rsvg_handle_new_from_file ("tiles/selected_tile.svg", &error); if (error) FATAL_ERROR (error->message); - game->blanktile = rsvg_handle_new_from_file ("tiles/blanktile.svg", &error); + game->ownedtile = rsvg_handle_new_from_file ("tiles/owned_tile.svg", &error); + if (error) + FATAL_ERROR (error->message); + + game->blanktile = rsvg_handle_new_from_file ("tiles/blank_tile.svg", &error); if (error) FATAL_ERROR (error->message); diff --git a/tiles/blank_tile.svg b/tiles/blank_tile.svg new file mode 100644 index 0000000..08080de --- /dev/null +++ b/tiles/blank_tile.svg @@ -0,0 +1,75 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/tiles/blanktile.svg b/tiles/blanktile.svg deleted file mode 100644 index 08080de..0000000 --- a/tiles/blanktile.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/tiles/owned_tile.svg b/tiles/owned_tile.svg new file mode 100644 index 0000000..cab790c --- /dev/null +++ b/tiles/owned_tile.svg @@ -0,0 +1,210 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tiles/selected_tile.svg b/tiles/selected_tile.svg new file mode 100644 index 0000000..760a627 --- /dev/null +++ b/tiles/selected_tile.svg @@ -0,0 +1,89 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/tiles/selectedtile.svg b/tiles/selectedtile.svg deleted file mode 100644 index 6b13914..0000000 --- a/tiles/selectedtile.svg +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - -