diff --git a/CMakeLists.txt b/CMakeLists.txt index 704dd02..ff1e561 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,8 @@ set(SOURCES ) set(ASSETS + assets/player.png + assets/tileset.png ) set(FLAGS diff --git a/assets/fxconv-metadata.txt b/assets/fxconv-metadata.txt new file mode 100644 index 0000000..b6ec420 --- /dev/null +++ b/assets/fxconv-metadata.txt @@ -0,0 +1,9 @@ +# gint bopti_image_t +player.png: + type: bopti-image + profile: p4 + name: bimg_player +tileset.png: + type: bopti-image + profile: p4 + name: bimg_tileset diff --git a/assets/player.png b/assets/player.png new file mode 100644 index 0000000..545332a Binary files /dev/null and b/assets/player.png differ diff --git a/assets/tileset.png b/assets/tileset.png new file mode 100644 index 0000000..b312dbd Binary files /dev/null and b/assets/tileset.png differ diff --git a/src/grid/draw.c b/src/grid/draw.c index f55b180..4089040 100644 --- a/src/grid/draw.c +++ b/src/grid/draw.c @@ -2,6 +2,8 @@ #include "tiles.h" #include +extern bopti_image_t bimg_tileset; + static void tile_draw(enum Tile, int x, int y); void @@ -47,37 +49,6 @@ grid_draw(struct Grid grid, int scr_x, int scr_y) static void tile_draw(enum Tile tile, int x, int y) { - color_t color; - - switch (tile) { - case TILE_VOID: - color = C_BLACK; - break; - case TILE_OBSTACLE_1: - color = C_DARK; - break; - case TILE_OBSTACLE_2: - color = C_LIGHT; - break; - case TILE_OBSTACLE_3: - color = C_WHITE; - break; - case TILE_SOLID: - color = C_BLUE; - break; - case TILE_ZONE_TRANSITION: - color = C_RGB(0, 31, 31); - break; - case TILE_CONTRACTS_SPEED_UP: - color = C_RGB(31, 31, 0); - break; - case TILE_CONTRACTS_SLOW_DOWN: - color = C_RED; - break; - default: - color = C_RGB(31, 0, 31); - break; - } - - drect(x, y, x + TILE_WIDTH - 1, y + TILE_HEIGHT - 1, color); + dsubimage(x, y, &bimg_tileset, tile * TILE_WIDTH, 0, TILE_WIDTH, + TILE_HEIGHT, DIMAGE_NONE); } diff --git a/src/player/draw.c b/src/player/draw.c index c4e5ee7..3f62819 100644 --- a/src/player/draw.c +++ b/src/player/draw.c @@ -2,6 +2,8 @@ #include "tiles.h" #include +extern bopti_image_t bimg_player; + int player_draw(struct Player player, int scr_x, int scr_y) { @@ -9,7 +11,7 @@ player_draw(struct Player player, int scr_x, int scr_y) const int y = scr_y + player.y * TILE_HEIGHT; if (x < -TILE_WIDTH * 4) return 0; - drect(x + 2, y + 2, x + TILE_WIDTH - 3, y + TILE_HEIGHT - 3, C_GREEN); + dimage(x + 2, y + 2, &bimg_player); dprint(0, 0, C_RGB(31, 31, 0), "$%d", *player.cash); return 1; }