summaryrefslogtreecommitdiff
path: root/src/genworld_gui.cpp
AgeCommit message (Collapse)Author
2021-03-26Feature: allow setting a custom terrain type to define highest peakPatric Stout
At least, TGP will try to reach it. It heavily depends on the map if it is reachable at all. But for sure it will do its atmost to get there!
2021-03-26Add: allow setting the highest mountain for heightmapsPatric Stout
It will add some slack to the map height limit if that was set to auto.
2021-03-26Feature: auto-detect map height limit based on generated mapPatric Stout
This opens up the true power of the TGP terrain generator, as it is no longer constrainted by an arbitrary low map height limit, especially for extreme terrain types. In other words: on a 1kx1k map with "Alpinist" terrain type, the map is now really hilly with default settings. People can still manually limit the map height if they so wish, and after the terrain generation the limit is stored in the savegame as if the user set it. Cheats still allow you to change this value.
2021-03-26Change: rename setting "max_heightlevel" to "map_height_limit"Patric Stout
This better reflects what it is, and hopefully removes a bit of the confusion people are having what this setting actually does. Additionally, update the text on the setting to better inform users what it is doing exactly, so they can make an educated decision on how to change it. Next commit will introduce an "auto" value, which should be the new default. The rename has as added benefit that everyone will start out on the "auto" value.
2021-03-26Change: remove "maximum map height" from the New Game GUIPatric Stout
This setting influence the max heightlevel, and not as the name suggests: the height of the generated map. How ever you slice it, it is a very weird place to add this setting, and it is better off being only in the settings menu. Commits following this commit also make it more useful, so users no longer have to care about it.
2021-03-26Feature: setting to indicate desert coverage for tropic climatePatric Stout
This is an indication value; the game tries to get as close as it can, but due to the complex tropic rules, that is unlikely to be exact. In the end, it picks a height-level to base the desert/tropic line on. This is strictly seen not needed, as we can convert any tile to either. But it is the simplest way to get started with this without redoing all related functions.
2021-03-26Feature: setting to indicate snow coverage for arctic climate (replaces snow ↵Patric Stout
line height) Setting the snow coverage (in % of the map) makes a lot more sense to the human, while still allowing the niche player to set (by finding the correct %) a snow line height they like. This makes for easier defaults, as it decoupled terrain height from amount of snow. Maps can never be 100% snow, as we do not have sprites for coastal tiles. Internally, this calculates the best snow line height to approach this coverage as close as possible.
2021-03-25Fix: placing random trees in SE crashes the game (#8892)Patric Stout
This used to work by accident: originally the code checked if GenerateWorld was threaded. If not, it would abort the function. This worked for placing trees, because it was also returning false when it was not active. With the recent changes, that check got removed, and this crash started to happen. So now check if we have a modal window, which is a very solid indication we are generating the world.
2021-03-10Add: make modal windows update more smoothPatric Stout
Basically, modal windows had their own thread-locking for what drawing was possible. This is a bit nonsense now we have a game-thread. And it makes much more sense to do things like NewGRFScan and GenerateWorld in the game-thread, and not in a thread next to the game-thread. This commit changes that: it removes the threads for NewGRFScan and GenerateWorld, and just runs the code in the game-thread. On regular intervals it allows the draw-thread to do a tick, which gives a much smoother look and feel. It does slow down NewGRFScan and GenerateWorld ever so slightly as it spends more time on drawing. But the slowdown is not measureable on my machines (with 700+ NewGRFs / 4kx4k map and a Debug build). Running without a game-thread means NewGRFScan and GenerateWorld are now blocking.
2021-02-19Fix d437445c: also use std::chrono for the GRFFileScanner modal windowPatric Stout
For some reason I only converted one of the two modal windows we have, and completely forgot the other. While at it, synchronize the way those two modal windows work in terms of "next_update".
2021-02-19Codechange: use std::chrono to track time in modal windowsPatric Stout
Adding to _realtime_ticks in a random place is a bit of a hack, and by using modern C++, we can avoid this hack.
2021-02-14Change: move townname generator selection to mapgen GUI.frosch
2021-02-14Codechange: minor rearrangement of settings in random map and heightmap GUI.frosch
2021-02-14Change: move the 'tree placer algorithm' selection to the settings tree ↵frosch
window, and give it the same 'basic' visibility as 'in-game tree placement'.
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-12-27Codechange: Convert some more FIO functions to take std::string.Michael Lutz
2020-12-27Codechange: Replace assert_compile macro with static_assertCharles Pigott
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-09Codechange: Switch DropDownList to directly use std::vector, thus making ↵Michael Lutz
AutoDeleteSmallVector obsolete. DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate copy-free code for most situations.
2019-04-06Codechange: Replace custom mutex code with C++11 mutex'es.Michael Lutz
A conforming compiler with a valid <mutex>-header is expected. Most parts of the code assume that locking a mutex will never fail unexpectedly, which is generally true on all common platforms that don't just pretend to be C++11. The use of condition variables in driver code is checked.
2019-03-26Codechange: Replaced SmallVector::Append() with ↵Henry Wilson
std::vector::[push|emplace]_back()
2019-03-24Codechange: Use override specifier in Window-derived classes.peter1138
2018-10-11Fix #6898: Replace atoi() with strtoul()Miguel Horta
Normalize type and parsing of generation_seed across all files Add assert_compile() to ensure correct type
2018-06-15Codechange: Address some MSVC compiler warningsNiels Martin Hansen
2016-09-04(svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and ↵alberth
DetailedFileType.
2016-09-04(svn r27635) -Codechange: Move FileType and FileToSaveLoad structure ↵alberth
definitions.
2016-08-15(svn r27627) -Codechange: Deduplicate some cursor magic into SetMouseCursorBusy.frosch
2015-05-16(svn r27285) -Codechange: Use LG_ORIGINAL instead of a magic 0 to indicate ↵alberth
the original landscape generator.
2015-02-08(svn r27140) -Codechange: Fix typo in GenenerateLandscapeWindowMode (chillcore)alberth
2015-02-01(svn r27135) -Fix: Misalignment in generate world window in case of small fonts.frosch
2014-12-18(svn r27085) -Fix: Always return a valid window to the world generation gui ↵alberth
code.
2014-10-25(svn r27043) -Fix: could not enter third digit of snow line heightrubidium
2014-10-13(svn r27009) -Add: extra level of general map heightness (ChillCore)rubidium
2014-09-27(svn r26926) -Change: limit flat world height to the maximum configured map ↵rubidium
height
2014-09-22(svn r26911) -Change: increase maximum possible flat land height in scenario ↵rubidium
editor to be entered directly (ic111)
2014-09-21(svn r26890) -Cleanup: remove unneeded obfuscation via IConsoleSetSettingrubidium
2014-09-21(svn r26885) -Feature-ish: user interface for limiting the maximum height of ↵rubidium
a map
2014-09-20(svn r26862) -Codechange: Don't shrink widget size in new game window.peter1138
2014-04-27(svn r26526) -Remove: Ability to set map generation seed via GUI. If you ↵frosch
really need it, use the console.
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2013-11-24(svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for ↵rubidium
dropdowns
2013-05-26(svn r25290) -Add: Assign string names to notable windows.frosch
2013-05-26(svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window ↵frosch
after construction.
2013-03-17(svn r25089) -Codechange: Move CharSetFilter from QueryString to Textbuf.frosch
2013-01-20(svn r24925) -Fix [FS#5395]: Add a tooltip to the mapsize selection ↵frosch
mentioning possible deviations.
2012-12-23(svn r24846) -Add: Advanced settings to disable certain sound effects.frosch
2012-12-08(svn r24801) -Codechange: Add functions to set integral DParams to suitable ↵frosch
values for size computations.
2012-11-14(svn r24747) -Fix: Some editboxes had a different colour than the rest of ↵frosch
the window.
2012-11-14(svn r24742) -Codechange: Remove QueryStringBaseWindow and store ↵frosch
QueryStrings per widget instead.