|
OpenTTD Source 20251104-master-g3befbdd52f
|
GUI to configure and show progress during map generation. More...
#include "stdafx.h"#include "heightmap.h"#include "debug.h"#include "genworld.h"#include "network/network.h"#include "strings_func.h"#include "window_func.h"#include "timer/timer_game_calendar.h"#include "sound_func.h"#include "fios.h"#include "string_func.h"#include "dropdown_type.h"#include "dropdown_func.h"#include "querystring_gui.h"#include "town.h"#include "core/geometry_func.hpp"#include "core/random_func.hpp"#include "saveload/saveload.h"#include "progress.h"#include "error.h"#include "newgrf_townname.h"#include "townname_type.h"#include "video/video_driver.hpp"#include "ai/ai_gui.hpp"#include "game/game_gui.hpp"#include "industry.h"#include "core/string_consumer.hpp"#include "widgets/genworld_widget.h"#include "table/strings.h"#include "dropdown_common_type.h"#include "safeguards.h"Go to the source code of this file.
Data Structures | |
| struct | GenerateLandscapeWindow |
| struct | CreateScenarioWindow |
| struct | GenWorldStatus |
| struct | GenerateProgressWindow |
Enumerations | |
| enum | GenerateLandscapeWindowMode : uint8_t { GLWM_GENERATE , GLWM_HEIGHTMAP , GLWM_SCENARIO } |
| Enum for the modes we can generate in. More... | |
Functions | |
| void | MakeNewgameSettingsLive () |
| static uint | GetMapHeightLimit () |
| Get the map height limit, or if set to "auto", the absolute limit. | |
| void | SetNewLandscapeType (LandscapeType landscape) |
| Changes landscape type and sets genworld window dirty. | |
| static void | StartGeneratingLandscape (GenerateLandscapeWindowMode mode) |
| static void | LandscapeGenerationCallback (Window *w, bool confirmed) |
| static DropDownList | BuildMapsizeDropDown () |
| static DropDownList | BuildTownNameDropDown () |
| static void | _ShowGenerateLandscape (GenerateLandscapeWindowMode mode) |
| void | ShowGenerateLandscape () |
| Start with a normal game. | |
| void | ShowHeightmapLoad () |
| Start with loading a heightmap. | |
| void | StartScenarioEditor () |
| Start with a scenario editor. | |
| void | StartNewGameWithoutGUI (uint32_t seed) |
| Start a normal game without the GUI. | |
| void | ShowCreateScenario () |
| Show the window to create a scenario. | |
| static void | AbortGeneratingWorldCallback (Window *, bool confirmed) |
| 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. | |
| static void | _SetGeneratingWorldProgress (GenWorldProgress cls, uint progress, uint total) |
| void | SetGeneratingWorldProgress (GenWorldProgress cls, uint total) |
| Set the total of a stage of the world generation. | |
| void | IncreaseGeneratingWorldProgress (GenWorldProgress cls) |
| Increases the current stage of the world generation with one. | |
Variables | |
| static constexpr std::initializer_list< NWidgetPart > | _nested_generate_landscape_widgets |
| Widgets of GenerateLandscapeWindow when generating world. | |
| static constexpr std::initializer_list< NWidgetPart > | _nested_heightmap_load_widgets |
| Widgets of GenerateLandscapeWindow when loading heightmap. | |
| static const StringID | _elevations [] = {STR_TERRAIN_TYPE_VERY_FLAT, STR_TERRAIN_TYPE_FLAT, STR_TERRAIN_TYPE_HILLY, STR_TERRAIN_TYPE_MOUNTAINOUS, STR_TERRAIN_TYPE_ALPINIST, STR_TERRAIN_TYPE_CUSTOM} |
| static const StringID | _sea_lakes [] = {STR_SEA_LEVEL_VERY_LOW, STR_SEA_LEVEL_LOW, STR_SEA_LEVEL_MEDIUM, STR_SEA_LEVEL_HIGH, STR_SEA_LEVEL_CUSTOM} |
| static const StringID | _rivers [] = {STR_RIVERS_NONE, STR_RIVERS_FEW, STR_RIVERS_MODERATE, STR_RIVERS_LOT} |
| static const StringID | _borders [] = {STR_MAPGEN_BORDER_RANDOMIZE, STR_MAPGEN_BORDER_MANUAL, STR_MAPGEN_BORDER_INFINITE_WATER} |
| static const StringID | _smoothness [] = {STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH} |
| static const StringID | _rotation [] = {STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE, STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE} |
| static const StringID | _num_towns [] = {STR_NUM_VERY_LOW, STR_NUM_LOW, STR_NUM_NORMAL, STR_NUM_HIGH, STR_NUM_CUSTOM} |
| static const StringID | _num_inds [] = {STR_FUNDING_ONLY, STR_MINIMAL, STR_NUM_VERY_LOW, STR_NUM_LOW, STR_NUM_NORMAL, STR_NUM_HIGH, STR_NUM_CUSTOM} |
| static const StringID | _variety [] = {STR_VARIETY_NONE, STR_VARIETY_VERY_LOW, STR_VARIETY_LOW, STR_VARIETY_MEDIUM, STR_VARIETY_HIGH, STR_VARIETY_VERY_HIGH} |
| static WindowDesc | _generate_landscape_desc (WDP_CENTER, {}, 0, 0, WC_GENERATE_LANDSCAPE, WC_NONE, {}, _nested_generate_landscape_widgets) |
| static WindowDesc | _heightmap_load_desc (WDP_CENTER, {}, 0, 0, WC_GENERATE_LANDSCAPE, WC_NONE, {}, _nested_heightmap_load_widgets) |
| static constexpr std::initializer_list< NWidgetPart > | _nested_create_scenario_widgets |
| static WindowDesc | _create_scenario_desc (WDP_CENTER, {}, 0, 0, WC_GENERATE_LANDSCAPE, WC_NONE, {}, _nested_create_scenario_widgets) |
| static constexpr std::initializer_list< NWidgetPart > | _nested_generate_progress_widgets |
| static WindowDesc | _generate_progress_desc (WDP_CENTER, {}, 0, 0, WC_MODAL_PROGRESS, WC_NONE, WindowDefaultFlag::NoClose, _nested_generate_progress_widgets) |
| static const StringID | _generation_class_table [] |
GUI to configure and show progress during map generation.
Definition in file genworld_gui.cpp.
| enum GenerateLandscapeWindowMode : uint8_t |
Enum for the modes we can generate in.
| Enumerator | |
|---|---|
| GLWM_GENERATE | Generate new game. |
| GLWM_HEIGHTMAP | Load from heightmap. |
| GLWM_SCENARIO | Generate flat land. |
Definition at line 50 of file genworld_gui.cpp.
|
static |
Definition at line 1458 of file genworld_gui.cpp.
|
static |
Definition at line 1013 of file genworld_gui.cpp.
|
static |
Definition at line 1364 of file genworld_gui.cpp.
|
static |
Definition at line 340 of file genworld_gui.cpp.
|
static |
Definition at line 351 of file genworld_gui.cpp.
|
static |
Get the map height limit, or if set to "auto", the absolute limit.
Definition at line 59 of file genworld_gui.cpp.
References _settings_newgame, GameSettings::construction, ConstructionSettings::map_height_limit, and MAX_MAP_HEIGHT_LIMIT.
Referenced by GenerateLandscapeWindow::OnClick(), CreateScenarioWindow::OnClick(), GenerateLandscapeWindow::OnInvalidateData(), CreateScenarioWindow::OnPaint(), GenerateLandscapeWindow::OnQueryTextFinished(), and CreateScenarioWindow::OnQueryTextFinished().
| 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 1534 of file genworld_gui.cpp.
Referenced by _GenerateWorld(), CreateRivers(), GenerateLandscape(), GenerateTerrainPerlin(), GenerateTowns(), PlaceInitialIndustry(), PlaceTreeGroups(), and PlaceTreesRandomly().
|
static |
Definition at line 335 of file genworld_gui.cpp.
|
extern |
Definition at line 352 of file openttd.cpp.
| void PrepareGenerateWorldProgress | ( | ) |
Initializes the progress counters to the starting point.
Definition at line 1441 of file genworld_gui.cpp.
Referenced by GenerateWorld().
| 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 1520 of file genworld_gui.cpp.
Referenced by _GenerateWorld(), CreateRivers(), GenerateIndustries(), GenerateLandscape(), GenerateTowns(), and GenerateTrees().
| void SetNewLandscapeType | ( | LandscapeType | landscape | ) |
Changes landscape type and sets genworld window dirty.
| landscape | new landscape type |
Definition at line 69 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(), and CreateScenarioWindow::OnClick().
| void ShowCreateScenario | ( | ) |
Show the window to create a scenario.
Definition at line 1314 of file genworld_gui.cpp.
References CloseWindowByClass(), GLWM_SCENARIO, and WC_GENERATE_LANDSCAPE.
Referenced by ScenarioEditorLandscapeGenerationWindow::OnClick().
| void ShowGenerateLandscape | ( | ) |
Start with a normal game.
Definition at line 1041 of file genworld_gui.cpp.
References GLWM_GENERATE.
Referenced by CreateScenarioWindow::OnClick(), SelectGameWindow::OnClick(), and NetworkStartServerWindow::OnClick().
| void ShowGenerateWorldProgress | ( | ) |
Show the window where a user can follow the process of the map generation.
Definition at line 1452 of file genworld_gui.cpp.
References BringWindowToFrontById(), and WC_MODAL_PROGRESS.
Referenced by GenerateWorld().
| void ShowHeightmapLoad | ( | ) |
Start with loading a heightmap.
Definition at line 1047 of file genworld_gui.cpp.
References GLWM_HEIGHTMAP.
Referenced by SaveLoadWindow::OnClick().
|
static |
Definition at line 317 of file genworld_gui.cpp.
| void StartNewGameWithoutGUI | ( | uint32_t | seed | ) |
Start a normal game without the GUI.
| seed | The seed of the new game. |
Definition at line 1062 of file genworld_gui.cpp.
References _settings_newgame, GameSettings::game_creation, GameCreationSettings::generation_seed, and GLWM_GENERATE.
Referenced by VideoDriver_Dedicated::MainLoop(), SelectGameWindow::OnClick(), and NetworkStartServerWindow::OnClick().
| void StartScenarioEditor | ( | ) |
Start with a scenario editor.
Definition at line 1053 of file genworld_gui.cpp.
References GLWM_SCENARIO.
Referenced by SelectGameWindow::OnClick().
|
static |
Definition at line 382 of file genworld_gui.cpp.
|
static |
Definition at line 379 of file genworld_gui.cpp.
|
static |
Definition at line 1346 of file genworld_gui.cpp.
|
staticconstexpr |
Definition at line 1247 of file genworld_gui.cpp.
|
staticconstexpr |
Widgets of GenerateLandscapeWindow when generating world.
Definition at line 77 of file genworld_gui.cpp.
|
staticconstexpr |
Definition at line 1320 of file genworld_gui.cpp.
|
staticconstexpr |
Widgets of GenerateLandscapeWindow when loading heightmap.
Definition at line 201 of file genworld_gui.cpp.
|
static |
Definition at line 386 of file genworld_gui.cpp.
|
static |
Definition at line 385 of file genworld_gui.cpp.
|
static |
Definition at line 381 of file genworld_gui.cpp.
|
static |
Definition at line 384 of file genworld_gui.cpp.
|
static |
Definition at line 380 of file genworld_gui.cpp.
|
static |
Definition at line 383 of file genworld_gui.cpp.
|
static |
Definition at line 387 of file genworld_gui.cpp.