1 #ifndef MAP_BUILDING_H
2 #define MAP_BUILDING_H
3 
4 #include "building/type.h"
5 #include "core/buffer.h"
6 
7 /**
8  * Returns the building at the given offset
9  * @param grid_offset Map offset
10  * @return Building ID of building at offset, 0 means no building
11  */
12 int map_building_at(int grid_offset);
13 
14 void map_building_set(int grid_offset, int building_id);
15 
16 /**
17  * Increases building damage by 1
18  * @param grid_offset Map offset
19  * @return New damage amount
20  */
21 int map_building_damage_increase(int grid_offset);
22 
23 void map_building_damage_clear(int grid_offset);
24 
25 int map_rubble_building_type(int grid_offset);
26 
27 void map_set_rubble_building_type(int grid_offset, building_type type);
28 
29 /**
30  * Clears the maps related to buildings
31  */
32 void map_building_clear(void);
33 
34 void map_building_save_state(buffer *buildings, buffer *damage);
35 
36 void map_building_load_state(buffer *buildings, buffer *damage);
37 
38 int map_building_is_reservoir(int x, int y);
39 
40 #endif // MAP_BUILDING_H
41