OpenTTD Source
20241108-master-g80f628063a
|
Functions related to world/map generation. More...
Go to the source code of this file.
Data Structures | |
struct | GenWorldInfo |
Properties of current genworld process. More... | |
Typedefs | |
typedef void | GWDoneProc() |
Procedure called when the genworld process finishes. | |
typedef void | GWAbortProc() |
Called when genworld is aborted. | |
Enumerations | |
enum | LandscapeGenerator { LG_ORIGINAL = 0 , LG_TERRAGENESIS = 1 } |
Constants related to world generation. More... | |
enum | GenWorldMode { GWM_NEWGAME = 0 , GWM_EMPTY = 1 , GWM_RANDOM = 2 , GWM_HEIGHTMAP = 3 } |
Modes for GenerateWorld. More... | |
enum | TgenSmoothness { TGEN_SMOOTHNESS_BEGIN , TGEN_SMOOTHNESS_VERY_SMOOTH = TGEN_SMOOTHNESS_BEGIN , TGEN_SMOOTHNESS_SMOOTH , TGEN_SMOOTHNESS_ROUGH , TGEN_SMOOTHNESS_VERY_ROUGH , TGEN_SMOOTHNESS_END } |
Smoothness presets. More... | |
enum | GenWorldProgress { GWP_MAP_INIT , GWP_LANDSCAPE , GWP_RIVER , GWP_ROUGH_ROCKY , GWP_TOWN , GWP_INDUSTRY , GWP_OBJECT , GWP_TREE , GWP_GAME_INIT , GWP_RUNTILELOOP , GWP_RUNSCRIPT , GWP_GAME_START , GWP_CLASS_COUNT } |
Current stage of world generation process. More... | |
Functions | |
void | GenerateWorldSetCallback (GWDoneProc *proc) |
Set here the function, if any, that you want to be called when landscape generation is done. More... | |
void | GenerateWorldSetAbortCallback (GWAbortProc *proc) |
Set here the function, if any, that you want to be called when landscape generation is aborted. More... | |
void | GenerateWorld (GenWorldMode mode, uint size_x, uint size_y, bool reset_settings=true) |
Generate a world. More... | |
void | AbortGeneratingWorld () |
Initializes the abortion process. | |
bool | IsGeneratingWorldAborted () |
Is the generation being aborted? More... | |
void | HandleGeneratingWorldAbortion () |
Really handle the abortion, i.e. More... | |
void | LoadTownData () |
Load town data from _file_to_saveload, place towns at the appropriate locations, and expand them to their target populations. | |
void | SetNewLandscapeType (uint8_t landscape) |
Changes landscape type and sets genworld window dirty. More... | |
void | SetGeneratingWorldProgress (GenWorldProgress cls, uint total) |
Set the total of a stage of the world generation. More... | |
void | IncreaseGeneratingWorldProgress (GenWorldProgress cls) |
Increases the current stage of the world generation with one. More... | |
void | PrepareGenerateWorldProgress () |
Initializes the progress counters to the starting point. | |
void | ShowGenerateWorldProgress () |
Show the window where a user can follow the process of the map generation. | |
void | StartNewGameWithoutGUI (uint32_t seed) |
Start a normal game without the GUI. More... | |
void | ShowCreateScenario () |
Show the window to create a scenario. | |
void | StartScenarioEditor () |
Start with a scenario editor. | |
Variables | |
static const uint32_t | GENERATE_NEW_SEED = UINT32_MAX |
Create a new random seed. | |
static const uint | CUSTOM_TERRAIN_TYPE_NUMBER_DIFFICULTY = 5 |
Value for custom terrain type in difficulty settings. | |
static const uint | CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY = 4 |
Value for custom sea level in difficulty settings. | |
static const uint | CUSTOM_SEA_LEVEL_MIN_PERCENTAGE = 1 |
Minimum percentage a user can specify for custom sea level. | |
static const uint | CUSTOM_SEA_LEVEL_MAX_PERCENTAGE = 90 |
Maximum percentage a user can specify for custom sea level. | |
static const uint | MAP_HEIGHT_LIMIT_AUTO_MINIMUM = 30 |
When map height limit is auto, make this the lowest possible map height limit. | |
static const uint | MAP_HEIGHT_LIMIT_AUTO_CEILING_ROOM = 15 |
When map height limit is auto, the map height limit will be the higest peak plus this value. | |
bool | _generating_world |
Whether we are generating the map or not. | |
Functions related to world/map generation.
Definition in file genworld.h.
enum GenWorldMode |
Modes for GenerateWorld.
Enumerator | |
---|---|
GWM_NEWGAME | Generate a map for a new game. |
GWM_EMPTY | Generate an empty map (sea-level) |
GWM_RANDOM | Generate a random map for SE. |
GWM_HEIGHTMAP | Generate a newgame from a heightmap. |
Definition at line 27 of file genworld.h.
enum GenWorldProgress |
Current stage of world generation process.
Definition at line 69 of file genworld.h.
enum LandscapeGenerator |
Constants related to world generation.
Enumerator | |
---|---|
LG_ORIGINAL | The original landscape generator. |
LG_TERRAGENESIS | TerraGenesis Perlin landscape generator. |
Definition at line 17 of file genworld.h.
enum TgenSmoothness |
Smoothness presets.
Definition at line 35 of file genworld.h.
void GenerateWorld | ( | GenWorldMode | mode, |
uint | size_x, | ||
uint | size_y, | ||
bool | reset_settings | ||
) |
Generate a world.
mode | The mode of world generation (see GenWorldMode). |
size_x | The X-size of the map. |
size_y | The Y-size of the map. |
reset_settings | Whether to reset the game configuration (used for restart) |
Definition at line 286 of file genworld.cpp.
References _gw, _local_company, GenWorldInfo::abort, GenWorldInfo::abortp, COMPANY_SPECTATOR, HasModalProgress(), GenWorldInfo::lc, GenWorldInfo::mode, SetLocalCompany(), SetModalProgress(), GenWorldInfo::size_x, and GenWorldInfo::size_y.
void GenerateWorldSetAbortCallback | ( | GWAbortProc * | proc | ) |
Set here the function, if any, that you want to be called when landscape generation is aborted.
proc | callback procedure |
Definition at line 244 of file genworld.cpp.
References _gw, and GenWorldInfo::abortp.
Referenced by GenerateTerrainPerlin().
void GenerateWorldSetCallback | ( | GWDoneProc * | proc | ) |
Set here the function, if any, that you want to be called when landscape generation is done.
proc | callback procedure |
Definition at line 234 of file genworld.cpp.
References _gw, and GenWorldInfo::proc.
void HandleGeneratingWorldAbortion | ( | ) |
Really handle the abortion, i.e.
clean up some of the mess
Definition at line 269 of file genworld.cpp.
References _switch_mode.
void IncreaseGeneratingWorldProgress | ( | GenWorldProgress | cls | ) |
Increases the current stage of the world generation with one.
cls | the current class we are in. |
Warning: this function isn't clever. Don't go from class 4 to 3. Go upwards, always. Also, progress works if total is zero, total works if progress is zero.
Definition at line 1547 of file genworld_gui.cpp.
Referenced by CreateRivers(), GenerateTerrainPerlin(), and PlaceInitialIndustry().
bool IsGeneratingWorldAborted | ( | ) |
Is the generation being aborted?
Definition at line 261 of file genworld.cpp.
References _gw, and GenWorldInfo::abort.
void SetGeneratingWorldProgress | ( | GenWorldProgress | cls, |
uint | total | ||
) |
Set the total of a stage of the world generation.
cls | the current class we are in. |
total | Set the total expected items for this class. |
Warning: this function isn't clever. Don't go from class 4 to 3. Go upwards, always. Also, progress works if total is zero, total works if progress is zero.
Definition at line 1533 of file genworld_gui.cpp.
Referenced by _GenerateWorld(), and CreateRivers().
void SetNewLandscapeType | ( | uint8_t | landscape | ) |
Changes landscape type and sets genworld window dirty.
landscape | new landscape type |
Definition at line 65 of file genworld_gui.cpp.
References _settings_newgame, GameSettings::game_creation, InvalidateWindowClassesData(), GameCreationSettings::landscape, WC_GENERATE_LANDSCAPE, and WC_SELECT_GAME.
Referenced by GenerateLandscapeWindow::OnClick().
void StartNewGameWithoutGUI | ( | uint32_t | seed | ) |
Start a normal game without the GUI.
seed | The seed of the new game. |
Definition at line 1066 of file genworld_gui.cpp.
References _settings_newgame, GameSettings::game_creation, and GameCreationSettings::generation_seed.
Referenced by VideoDriver_Dedicated::MainLoop().