summaryrefslogtreecommitdiff
path: root/src/genworld.cpp
AgeCommit message (Collapse)Author
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-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-10Fix: abort world generation on exiting the game as soon as possiblePatric Stout
This prevents the window from "freezing" when you close it during world generation, as it first would continue the action.
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.
2019-11-14Fix #7646: Incomplete cleanup for non-threaded world generation failure (#7805)glx22
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-29Codechange: Remove Company/OwnerByte typesCharles Pigott
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-06Codechange: Replace custom thread code with C++11 thread objects.Michael Lutz
We assume a conforming C++11 compiler environment that has a valid <thread>-header. Failure to run a real thread is handled gracefully.
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-02-08Codechange: Make the style of MakeVoid calls uniform (#7192)Gabda
2016-10-30(svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) ↵frosch
threads. (JGR)
2016-09-04(svn r27653) -Fix(r27647): Rename FileOperation enum and values to ↵alberth
SaveLoadOperation to avoid nameclash with windows compiler toolkit.
2016-09-04(svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and ↵alberth
DetailedFileType.
2016-08-15(svn r27627) -Codechange: Deduplicate some cursor magic into SetMouseCursorBusy.frosch
2014-04-28(svn r26538) -Codechange: remove double accounting of the driversrubidium
2014-04-26(svn r26518) -Change: make genworld messages on the dedicated server ↵rubidium
disable-able by using -dnet=0
2014-04-23(svn r26486) -Codechange: replace a number of snprintfs with seprintfrubidium
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
2014-02-23(svn r26371) -Fix [FS#5831]: Calling DoCommandP during the gameloop cleared ↵frosch
pending persistent storage changes.
2013-12-23(svn r26174) -Codechange: Rename BaseStorageArray to BasePersistentStorageArrayfrosch
2012-04-17(svn r24132) -Change [FS#4713]: Improve randomness of tile order in the tile ↵michi_cc
loop. (monoid)
2012-01-03(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp filesrubidium
2011-12-19(svn r23611) -Add: run the begin of the script already while generating, and ↵truebrain
don't sleep on DoCommand while doing so
2011-12-19(svn r23609) -Add: save/load all GameScript related materialtruebrain
2011-12-19(svn r23601) -Fix: fix the conflict in window numbertruebrain
2011-12-10(svn r23480) -Fix [FS#4594]: replace OS error messages with internal error ↵rubidium
messages when that's possible
2011-12-10(svn r23470) -Codechange: move declaration of SwitchToMode to a header ↵rubidium
instead of declaring it in 6 other files
2011-11-30(svn r23376) -Remove: on popular demand, remove my (revoked) name from ↵truebrain
comments in the code. It was silly to name me like that to begin with ;) (based on patch by HackaLittleBit)
2011-08-24(svn r22819) -Fix: include the header where it should be includedrubidium
2011-08-24(svn r22818) -Fix [FS#4742] (r22796, rlongago): don't spawn threads for ↵rubidium
world generation and NewGRF scanning when using the dedicated or null video driver regardless of the used blitter
2011-08-21(svn r22789) -Codechange: rename generation window class to modal progressrubidium
2011-08-21(svn r22788) -Codechange: move modal progress related functions and ↵rubidium
variables to progress.cpp/h
2011-08-21(svn r22786) -Codechange: rename genworld mutices to model_progress muticesrubidium
2011-01-22(svn r21890) -Cleanup: remove some unneeded includesrubidium
2011-01-18(svn r21833) -Fix [FS#4427]: desync debug savegames might not be actually ↵rubidium
saved in case threading is enabled, which is enabled by default
2010-09-17(svn r20822) -Fix [FS#3707]: deadlock when aborting map generation on windowsyexo
2010-08-26(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to ↵rubidium
some headers
2010-08-22(svn r20591) -Codechange: make sure _date_fract is set when SetDate is ↵rubidium
called. Some places wouldn't reset _date_fract correctly at all
2010-08-08(svn r20411) -Codechange: rename unmovables as quite a lot of them are ↵rubidium
actually movable; e.g. HQ and owned land are pretty movable.
2010-08-02(svn r20320) -Doc: Small Doxygen and normal comment fixes, and an missed ↵alberth
addition.
2010-07-19(svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be ↵rubidium
missed :)
2010-07-19(svn r20190) -Codechange: unVARDEF _generate_world and move it to genworldrubidium
2010-06-05(svn r19934) -Fix [FS#3857]: When 'pause on new game' is set, pause the game ↵frosch
before CleanupGeneration() to avoid conflicts with concurrent GUI code.
2010-06-05(svn r19933) -Fix [FS#3804]: Keep _current_company and _local_company in ↵frosch
sync during GUI operation.
2010-04-08(svn r19589) -Change: add some more useful information to the desync log and ↵rubidium
unify the formatting
2010-01-18(svn r18861) -Doc: more doxygen documentation in genworld filessmatz
2010-01-17(svn r18853) -Codechange: apply coding style to GenWorld's enums, structs ↵smatz
and typedefs
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header