#include #include #include #include "display_engine.h" void draw_map(const struct game *game) { extern const bopti_image_t img_tileset; extern const bopti_image_t img_water; for (int i = 0; i < SCREEN_HEIGHT; i ++) { for (int j = 0; j < SCREEN_WIDTH; j++) { if ((game->world_y + i < MAP_HEIGHT && game->world_y + i >= 0 && game->world_x + j < MAP_WIDTH && game->world_x + j >= 0) && (game->map->data[game->world_y + i][game->world_x + j] != -1)) { unsigned int tile_x = (TILE_SIZE + 1) * (game->map->data[game->world_y + i][game->world_x + j] % TILESET_WIDTH); unsigned int tile_y = (TILE_SIZE + 1) * (game->map->data[game->world_y + i][game->world_x + j] / TILESET_WIDTH); if (game->map->data[game->world_y + i][game->world_x + j] != 56) dsubimage(j * TILE_SIZE, i * TILE_SIZE, &img_tileset, tile_x, tile_y, 8, 8, DIMAGE_NONE); else dsubimage(j * TILE_SIZE, i * TILE_SIZE, &img_water, 9 * game->water_frame, 0, 8, 8, DIMAGE_NONE); } } } } void draw_player(const struct game *game) { extern const bopti_image_t img_player; dsubimage(56, 35, &img_player, 9 * game->player->animation_frame, 13 * game->player->direction, 8, 12, DIMAGE_NONE); }