summaryrefslogtreecommitdiff
path: root/src/tgp.cpp
AgeCommit message (Collapse)Author
2021-07-09Codechange: Remove FOR_ALL_TILES_IN_HEIGHTglx22
2021-06-03Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways ↵Patric Stout
we had While at it, replace OTTD_ASSERT with WITH_ASSERT, as this is always set if assert() is valid. No matter if NDEBUG is set or not.
2021-04-01Fix #8919: Release builds with asserts enabled (#8925)Charles Pigott
2021-04-01Codechange: Suppress warnings when asserts are disabled (#8917)Patric Stout
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-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-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-01-08Fix: for arctic and tropic, make sure we have at least a few hills (#8513)Patric Stout
Without hills, not all industries can be generated, which means that with a default configuration you get errors. This is far from optimal, of course. This now forces that there is at least some hills, even when you are using very-flat. This is a stopgap solution, but a proper solution requires a full rewrite of the terrain generator, which is not a 2 minute (or even 2 week) job. To make sure flat is still flat-ish, reduce the default snow-line-height to 10, making it look a lot better on smaller maps. This is a compromise between being able to have flat maps and still having all industries on arctic.
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-02-08Codechange: Make the style of MakeVoid calls uniform (#7192)Gabda
2019-01-17Fix: Some code and comment typosnikolas
Found with codespell
2015-07-16(svn r27334) -Revert (r27232) [FS#6342]: No idea what the plan was, but ↵frosch
making the main noise coefficients the same for all smoothness types certainly wasn't.
2015-07-11(svn r27331) -Cleanup (r26999): Make variety distribution curves more sane.frosch
2015-07-11(svn r27330) -Fix [FS#6335]: Make variety distribution not assume that sea ↵frosch
level is at height 0.2 / 3 * TGPGetMaxHeight().
2015-07-11(svn r27329) -Fix: Add more height_t type-correctness to TGP code.frosch
2015-07-11(svn r27328) -Codechange: Add an assertion to check for uninitialised ↵frosch
variables when tracing variety distribution's control curves.
2015-04-11(svn r27232) -Fix: Tweak noise generator more precisely for different map ↵alberth
sizes (chillcore)
2015-04-11(svn r27230) -Fix: Tune down terrain generation to reduce amount of long ↵alberth
slopes (chillcore)
2015-04-11(svn r27229) -Change: Generate more detailed curves at the coast (chillcore)alberth
2015-04-11(svn r27228) -Change: Slightly more water in the non-custom sea levels ↵alberth
(chillcore)
2015-04-11(svn r27227) -Codechange: Initialise map at level 0 instead of -32k (chillcore)alberth
2014-10-14(svn r27018) -Fix [FS#6141] (r27008): the higher amplitudes needed for ↵rubidium
higher maps were not ignored properly causing much smoother maps than wanted
2014-10-13(svn r27009) -Add: extra level of general map heightness (ChillCore)rubidium
2014-10-13(svn r27008) -Change: extrapolate the amplitudes for the large wavelengths ↵rubidium
needed for much higher maps
2014-10-13(svn r27007) -Codechange: allow for more frequencies (based on patch by ic111)rubidium
2014-10-13(svn r27006) -Codechange: move getting of the amplitude to a seperate functionrubidium
2014-10-13(svn r27005) -Fix (r26999): variety distribution curve map scaling did one ↵rubidium
conversion to height_t too many
2014-10-12(svn r27003) -Cleanup: fix the use of spaces and asterices "around" some ↵rubidium
comments
2014-10-12(svn r27000) -Fix (r26999): compilation error with some versions of GCCrubidium
2014-10-12(svn r26999) -Codechange: make the variety distribution automatically scale ↵rubidium
to the maximum height of the map
2014-10-12(svn r26998) -Change: account for the map size when determining the maximum ↵rubidium
height of the landscape; a 24 high mountain at 64x64 leaves barely any usable space, but on a 4096x4096 it's just a "small" bump (ic111)
2014-10-12(svn r26997) -Fix/codechange: use signed integers for TGP's internal map ↵rubidium
size and X/Y variables due to X/Y in comparisons occasionally getting smaller than 0 due to subtractions
2014-10-02(svn r26946) -Fix (r26945): MSVC doesn't seem to have round yetrubidium
2014-10-02(svn r26945) -Fix-ish: better scaling of the "cells" in which variety ↵rubidium
distribution happens for non-square maps (attempt to make reasonably square areas)
2014-09-29(svn r26940) -Fix (r26937): comparing values of different signednessrubidium
2014-09-29(svn r26939) -Cleanup: some bits of coding style cleanup for TGPrubidium
2014-09-29(svn r26938) -Codechange: simplify RandomHeight significantlyrubidium
2014-09-29(svn r26937) -Cleanup: simplify the logic for heightmap generation in TGP; ↵rubidium
instead of performing more and more loops the larger the map becomes to elaborately set the height to 0 many times, just run it for each frequency and be done with it
2014-09-27(svn r26932) -Codechange: replace some constants with less weird looking ↵rubidium
constants and simplify clamping by actually using Clamp
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-22(svn r26056) -Fix: a number of possibly uninitialised variablesrubidium
2013-10-12(svn r25848) -Codechange: Refactor check for if a tile is not an edge tile ↵zuu
to new IsInnerTile method (cirdan, LordAro)
2012-12-01(svn r24776) -Doc: Typo fixes, additions, and additional dots collected from ↵alberth
various sources (including Eagle_rainbow, MinchinWeb)
2012-09-21(svn r24535) -Doc: Two additions, lots of small spelling fixes, and some ↵alberth
Doxygen improvements.
2012-01-03(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp filesrubidium
2011-12-19(svn r23595) -Codechange: add comma after last enum to get a more uniform ↵rubidium
coding style