Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways 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-06-03 17:30:00 +02:00
Charles Pigott
dd798d688b
Fix #8919 : Release builds with asserts enabled ( #8925 )
2021-04-01 23:57:49 +01:00
Patric Stout
fece1c57ca
Codechange: Suppress warnings when asserts are disabled ( #8917 )
2021-04-01 11:16:19 +02:00
Patric Stout
f05e2e0d40
Feature: allow setting a custom terrain type to define highest peak
...
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-26 12:22:32 +01:00
Patric Stout
422e132845
Feature: auto-detect map height limit based on generated map
...
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-26 12:22:32 +01:00
Patric Stout
1a1049bc0d
Change: rename setting "max_heightlevel" to "map_height_limit"
...
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-26 12:22:32 +01:00
Patric Stout
70bc55cfd6
Feature: setting to indicate desert coverage for tropic climate
...
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-26 12:22:32 +01:00
Patric Stout
cafe4eed6e
Feature: setting to indicate snow coverage for arctic climate (replaces snow 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-26 12:22:32 +01:00
Patric Stout
7463c46a54
Fix: for arctic and tropic, make sure we have at least a few hills ( #8513 )
...
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-08 12:02:38 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Gabda
37bb2c9308
Codechange: Make the style of MakeVoid calls uniform ( #7192 )
2019-02-08 23:05:25 +00:00
nikolas
d8ccad91f9
Fix: Some code and comment typos
...
Found with codespell
2019-01-17 22:01:07 +00:00
frosch
d77935f788
(svn r27334) -Revert (r27232) [FS#6342]: No idea what the plan was, but making the main noise coefficients the same for all smoothness types certainly wasn't.
2015-07-16 17:05:40 +00:00
frosch
be0b22c9bc
(svn r27331) -Cleanup (r26999): Make variety distribution curves more sane.
2015-07-11 11:18:24 +00:00
frosch
a11ae39437
(svn r27330) -Fix [FS#6335]: Make variety distribution not assume that sea level is at height 0.2 / 3 * TGPGetMaxHeight().
2015-07-11 10:46:25 +00:00
frosch
b303ba7505
(svn r27329) -Fix: Add more height_t type-correctness to TGP code.
2015-07-11 10:43:34 +00:00
frosch
8437726cca
(svn r27328) -Codechange: Add an assertion to check for uninitialised variables when tracing variety distribution's control curves.
2015-07-11 10:41:20 +00:00
alberth
262c3c93c8
(svn r27232) -Fix: Tweak noise generator more precisely for different map sizes (chillcore)
2015-04-11 18:46:01 +00:00
alberth
9db21f6489
(svn r27230) -Fix: Tune down terrain generation to reduce amount of long slopes (chillcore)
2015-04-11 18:44:26 +00:00
alberth
f29842316e
(svn r27229) -Change: Generate more detailed curves at the coast (chillcore)
2015-04-11 18:43:30 +00:00
alberth
79c3bc081b
(svn r27228) -Change: Slightly more water in the non-custom sea levels (chillcore)
2015-04-11 18:42:48 +00:00
alberth
8e2b3d170b
(svn r27227) -Codechange: Initialise map at level 0 instead of -32k (chillcore)
2015-04-11 18:41:41 +00:00
rubidium
b4b0b2750c
(svn r27018) -Fix [FS#6141] (r27008): the higher amplitudes needed for higher maps were not ignored properly causing much smoother maps than wanted
2014-10-14 17:49:32 +00:00
rubidium
8d90e86c2c
(svn r27009) -Add: extra level of general map heightness (ChillCore)
2014-10-13 14:22:48 +00:00
rubidium
fcdbdd6043
(svn r27008) -Change: extrapolate the amplitudes for the large wavelengths needed for much higher maps
2014-10-13 14:16:20 +00:00
rubidium
a1611de3a3
(svn r27007) -Codechange: allow for more frequencies (based on patch by ic111)
2014-10-13 14:14:04 +00:00
rubidium
344a7a0f16
(svn r27006) -Codechange: move getting of the amplitude to a seperate function
2014-10-13 14:12:06 +00:00
rubidium
a200656534
(svn r27005) -Fix (r26999): variety distribution curve map scaling did one conversion to height_t too many
2014-10-13 14:07:37 +00:00
rubidium
771dcf3b7b
(svn r27003) -Cleanup: fix the use of spaces and asterices "around" some comments
2014-10-12 18:41:53 +00:00
rubidium
b0c4a16e9d
(svn r27000) -Fix (r26999): compilation error with some versions of GCC
2014-10-12 11:53:13 +00:00
rubidium
df5d5e2b8b
(svn r26999) -Codechange: make the variety distribution automatically scale to the maximum height of the map
2014-10-12 11:28:45 +00:00
rubidium
caf3bda626
(svn r26998) -Change: account for the map size when determining the maximum 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 10:55:49 +00:00
rubidium
92553c9c6b
(svn r26997) -Fix/codechange: use signed integers for TGP's internal map size and X/Y variables due to X/Y in comparisons occasionally getting smaller than 0 due to subtractions
2014-10-12 10:49:29 +00:00
rubidium
2a786aa264
(svn r26946) -Fix (r26945): MSVC doesn't seem to have round yet
2014-10-02 17:40:45 +00:00
rubidium
a14fad13ed
(svn r26945) -Fix-ish: better scaling of the "cells" in which variety distribution happens for non-square maps (attempt to make reasonably square areas)
2014-10-02 17:32:45 +00:00
rubidium
8385e6268e
(svn r26940) -Fix (r26937): comparing values of different signedness
2014-09-29 19:21:55 +00:00
rubidium
61c3e8e848
(svn r26939) -Cleanup: some bits of coding style cleanup for TGP
2014-09-29 19:04:34 +00:00
rubidium
08aaabcbb4
(svn r26938) -Codechange: simplify RandomHeight significantly
2014-09-29 19:04:02 +00:00
rubidium
2b0a1f7beb
(svn r26937) -Cleanup: simplify the logic for heightmap generation in TGP; 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-29 18:18:21 +00:00
rubidium
135b3f635d
(svn r26932) -Codechange: replace some constants with less weird looking constants and simplify clamping by actually using Clamp
2014-09-27 20:39:32 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
rubidium
2e54c8fdfa
(svn r26056) -Fix: a number of possibly uninitialised variables
2013-11-22 21:50:43 +00:00
zuu
b35b8aa5bb
(svn r25848) -Codechange: Refactor check for if a tile is not an edge tile to new IsInnerTile method (cirdan, LordAro)
2013-10-12 22:03:13 +00:00
alberth
732e073261
(svn r24776) -Doc: Typo fixes, additions, and additional dots collected from various sources (including Eagle_rainbow, MinchinWeb)
2012-12-01 13:12:39 +00:00
alberth
0849fb8d36
(svn r24535) -Doc: Two additions, lots of small spelling fixes, and some Doxygen improvements.
2012-09-21 09:47:21 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
rubidium
df16ebd730
(svn r23595) -Codechange: add comma after last enum to get a more uniform coding style
2011-12-19 17:48:04 +00:00
alberth
7e48d85104
(svn r21060) -Doc: Improved wording of comments (mostly by __ln__)
2010-10-30 17:51:07 +00:00