/* * Copyright (C) 2021 P. J. McDermott * * This file is part of Dodge Balls * * Dodge Balls is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Dodge Balls is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Dodge Balls. If not, see . */ #ifndef DB_MAP_H_ #define DB_MAP_H_ #include #include "tileset.h" struct db_map; struct db_map_line; struct db_map *db_map_new(const char *game_id, const char *level_id); SDL_Texture *db_map_render(struct db_map *map, SDL_Renderer *renderer); int db_map_get_tilewidth(struct db_map *map) __attribute__((__pure__)); int db_map_get_tileheight(struct db_map *map) __attribute__((__pure__)); int db_map_get_framerate(struct db_map *map) __attribute__((__pure__)); struct db_tileset *db_map_get_tilesets(struct db_map *map) __attribute__((__pure__)); void db_map_get_player(struct db_map *map, int *x, int *y, int *r, int *gid); void db_map_get_target(struct db_map *map, int *x, int *y, int *r, int *gid); struct db_ball *db_map_get_balls(struct db_map *map) __attribute__((__pure__)); int db_map_tile_player_collides(struct db_map *map, int x, int y) __attribute__((__pure__)); int db_map_tile_ball_collides(struct db_map *map, int x, int y) __attribute__((__pure__)); struct db_map_line *db_map_get_lines(struct db_map *map) __attribute__((__pure__)); int db_map_line_get_coords(struct db_map_line *line, int *x1, int *y1, int *x2, int *y2); struct db_map_line *db_map_line_get_next(struct db_map_line *line) __attribute__((__pure__)); #endif /* DB_MAP_H_ */