1 /*****************************************************************************
2  * Copyright (c) 2014-2020 OpenRCT2 developers
3  *
4  * For a complete list of all authors, please refer to contributors.md
5  * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
6  *
7  * OpenRCT2 is licensed under the GNU General Public License version 3.
8  *****************************************************************************/
9 
10 #pragma once
11 
12 #include "../common.h"
13 
14 struct mapgen_settings
15 {
16     // Base
17     int32_t mapSize;
18     int32_t height;
19     int32_t water_level;
20     int32_t floor;
21     int32_t wall;
22 
23     // Features (e.g. tree, rivers, lakes etc.)
24     int32_t trees;
25 
26     // Simplex Noise Parameters
27     int32_t simplex_low;
28     int32_t simplex_high;
29     float simplex_base_freq;
30     int32_t simplex_octaves;
31 
32     // Height map settings
33     bool smooth;
34     bool smooth_height_map;
35     uint32_t smooth_strength;
36     bool normalize_height;
37 };
38 
39 void mapgen_generate_blank(mapgen_settings* settings);
40 void mapgen_generate(mapgen_settings* settings);
41 bool mapgen_load_heightmap(const utf8* path);
42 void mapgen_unload_heightmap();
43 void mapgen_generate_from_heightmap(mapgen_settings* settings);
44