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;
|
||||
}
|
||||
|
||||
/* 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_quadrant(int mapX, int mapY);
|
||||
|
||||
void map_clear_all_elements();
|
||||
|
||||
#endif
|
||||
|
|
|
@ -105,6 +105,8 @@ void mapgen_generate_blank(mapgen_settings *settings)
|
|||
int x, y;
|
||||
rct_map_element *mapElement;
|
||||
|
||||
map_clear_all_elements();
|
||||
|
||||
map_init(settings->mapSize);
|
||||
for (y = 1; y < settings->mapSize - 1; y++) {
|
||||
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
|
||||
map_init(mapSize);
|
||||
for (y = 1; y < mapSize - 1; y++) {
|
||||
|
|
Loading…
Reference in New Issue