X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=kub.c;fp=kub.c;h=91ca7fb1036fa0be0cc067204b119be8ddaa6047;hb=91de2ca90fc183230842aefe70f6d91bec44e60f;hp=74a37496700835deec7a47db8d802def15c43301;hpb=8b49dd4f15d5d44dae6a45278f1b202da2911032;p=kub 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);