mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge pull request #1864 from Gymnasiast/fix-map-elements-generation
Clear all map elements before generating a new map, fixes #1762
This commit is contained in:
commit
1cd2383a70
|
@ -3954,3 +3954,14 @@ bool map_surface_is_blocked(sint16 x, sint16 y){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Clears all map elements, to be used before generating a new map */
|
||||||
|
void map_clear_all_elements()
|
||||||
|
{
|
||||||
|
int mapMaxXY = RCT2_GLOBAL(RCT2_ADDRESS_MAP_MAX_XY, uint16);
|
||||||
|
|
||||||
|
for (int y = 0; y < (256 * 32); y += 32) {
|
||||||
|
for (int x = 0; x < (256 * 32); x += 32) {
|
||||||
|
sub_68AE2A(x, y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -370,4 +370,6 @@ void map_invalidate_element(int x, int y, rct_map_element *mapElement);
|
||||||
int map_get_tile_side(int mapX, int mapY);
|
int map_get_tile_side(int mapX, int mapY);
|
||||||
int map_get_tile_quadrant(int mapX, int mapY);
|
int map_get_tile_quadrant(int mapX, int mapY);
|
||||||
|
|
||||||
|
void map_clear_all_elements();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -105,6 +105,8 @@ void mapgen_generate_blank(mapgen_settings *settings)
|
||||||
int x, y;
|
int x, y;
|
||||||
rct_map_element *mapElement;
|
rct_map_element *mapElement;
|
||||||
|
|
||||||
|
map_clear_all_elements();
|
||||||
|
|
||||||
map_init(settings->mapSize);
|
map_init(settings->mapSize);
|
||||||
for (y = 1; y < settings->mapSize - 1; y++) {
|
for (y = 1; y < settings->mapSize - 1; y++) {
|
||||||
for (x = 1; x < settings->mapSize - 1; x++) {
|
for (x = 1; x < settings->mapSize - 1; x++) {
|
||||||
|
@ -149,6 +151,8 @@ void mapgen_generate(mapgen_settings *settings)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
map_clear_all_elements();
|
||||||
|
|
||||||
// Initialise the base map
|
// Initialise the base map
|
||||||
map_init(mapSize);
|
map_init(mapSize);
|
||||||
for (y = 1; y < mapSize - 1; y++) {
|
for (y = 1; y < mapSize - 1; y++) {
|
||||||
|
|
Loading…
Reference in New Issue