Gael-de-Sailly
3dc874a494
Added description of the algorithm + acknowledge the authors of the paper.
2020-12-24 14:48:17 +01:00
Gael-de-Sailly
f0dddee33c
Lakes map: keep initial height (reduces file size)
...
Lake height is calculated for every basin, and there is a lake if lake height is higher than ground height. If it is lower, there is no lake.
In that case, it was previously raised to ground level, but since this can be done in Lua, we can write initial lakes height in the files.
This has the advantage of reducing file size, since there are bigger areas of equal values, that are more efficiently compressed.
2020-12-24 14:48:17 +01:00
Gael-de-Sailly
ecd2c7d3f9
Completely change flow routing algorithm,
...
use a local flow calculation, determine depressions, and link them using a minimum spanning tree (Boruvka's algorithm).
This is based on a paper by Cordonnier et al, 2019.
2020-12-24 14:48:17 +01:00
Gael-de-Sailly
40098d6be3
Use standard int instead of uint8, int32, etc.
...
Much faster with NumPy.
2020-12-24 14:48:17 +01:00
Gael-de-Sailly
faef1658a9
Fixed map centering, and converted polygon coordinates to map nodes instead of grid nodes.
2020-12-22 16:38:30 +01:00
Gael-de-Sailly
d5cf4a6267
Optionally center the map around x=0 z=0
2020-12-20 22:28:54 +01:00
Gael-de-Sailly
53f88d337d
Protect map preview from exceptions
...
Since map preview is optional, an exception should not propagate to terrain calculation, so print an error message + traceback but keep the script running.
2020-11-25 13:12:24 +01:00
Gael-de-Sailly
3644965842
Fix bool settings being improperly loaded as strings
2020-11-17 20:56:02 +01:00
Gael-de-Sailly
9725979363
Fix increments for argument parsing
2020-11-17 20:45:11 +01:00
Gael-de-Sailly
ebacd3cdd4
Add license, update/improve documentation
2020-11-15 11:43:30 +01:00
Gael-de-Sailly
fc0a158385
Disable glaciers by default
2020-11-15 11:26:50 +01:00
Gael-de-Sailly
050ca3b779
Change demo data, update to a grid using new default parameters
2020-11-15 11:19:28 +01:00
Gael-de-Sailly
1f41423104
Print a clear message when grid is ready
...
Also use plt.pause before plotting, ensuring plot is updated in real time
2020-11-15 11:13:42 +01:00
Gael-de-Sailly
52766e8918
Added settingtypes
2020-11-15 11:10:19 +01:00
Gael-de-Sailly
28c674d57c
Decrease default diffusion factor
2020-11-14 19:14:09 +01:00
Gael-de-Sailly
90f60ea6fb
typo
2020-11-14 19:13:58 +01:00
Gael-de-Sailly
803114aaab
Generate data in river_data
instead of data
2020-11-14 19:12:12 +01:00
Gael-de-Sailly
9594a79f8b
Configurable output directory
...
Now relative to the directory the script is *run in*.
2020-11-14 18:26:13 +01:00
Gael-de-Sailly
d93234c9b7
Moved Python files inside a folder (package), except the 2 that are directly executable
2020-11-14 17:35:27 +01:00
Gael-de-Sailly
7acd0af550
Use biomegen.generate_all
2020-11-14 17:35:03 +01:00
Gael-de-Sailly
3792cd5dc8
Added support for biomegen mod
2020-11-14 17:35:03 +01:00
Gael-de-Sailly
6b9c091dd5
Fix file opening mode on the Lua side, to avoid crashes on Windows
2020-11-14 17:31:36 +01:00
Gael-de-Sailly
b90cecdaf7
Allow command-line options for Python processing
2020-11-14 14:30:53 +01:00
Gael-de-Sailly
c33f2d9582
Python side: rework config system.
...
Load `terrain.conf` of the script directory by default.
Add a `terrain_higher.conf` for alternative terrain.
2020-11-14 12:19:40 +01:00
Gael-de-Sailly
8a15bc924d
Dynamic map displaying
...
Map is displayed at every iteration if matplotlib library is installed
2020-11-14 12:05:52 +01:00
Gael-de-Sailly
3fda369fb5
Rewritten map viewer
...
Now displays map statistics even if there is no matplotlib
2020-11-13 11:04:27 +01:00
Gael-de-Sailly
30136bf60a
Added scale (blocksize) parameter for view_map.py
2020-11-10 13:19:20 +01:00
Gael-de-Sailly
9475b49b8d
Removed duplicate calls to 2 scripts
2020-11-10 13:18:02 +01:00
Gael-de-Sailly
36b49a7fe2
Add settings for parameters in terrain_rivers.py
2020-07-21 14:12:20 +02:00
Gaël de Sailly
103cd49d78
Optionally disable distorsion
...
by setting 'mapgen_rivers_distort = false' in minetest.conf
2020-07-21 14:01:29 +02:00
Gaël de Sailly
25c5cb2e1f
Reverse axes order for heightmaps (iterate in Z direction first instead of X)
2020-07-21 12:46:23 +02:00
Gael-de-Sailly
6f43430574
Added glaciers, and re-organized noise definitions
2020-05-24 12:09:21 +02:00
Gael-de-Sailly
625768f967
Added snow and ice in function of temperature.
...
Uses noise parameters of builtin biomegen
2020-05-23 18:13:00 +02:00
Gael-de-Sailly
4edd1a946e
Horizontal shifting according to 3D noises:
...
makes slopes more irregular and natural-looking, allows overhanging.
This is done by generating an intermediate 2D elevation map and, for each node in 3D, add a 2D offset vector to the position, and seek this position on the heightmap.
2020-05-23 15:52:16 +02:00
Gael-de-Sailly
f56857e804
Fix water not being set at lower chunk borders
2020-05-08 10:02:04 +02:00
Gael-de-Sailly
a73a0dd80b
Avoid some redundant calculation on corners
...
(not very significant, but why not)
2020-04-27 21:08:15 +02:00
Gael-de-Sailly
a9ab0e53d3
Change folder structure: data files are now in a directory.
...
Also added a demo 400x400 map, that is overriden on pre-processing.
2020-04-26 23:29:36 +02:00
Gaël de Sailly
b429b302e1
Rewritten part of code to calculate river depth
...
Fixes bathymetry problems on turns or confluences, as well as abrupt riverbanks.
2020-04-26 22:19:05 +02:00
Gael-de-Sailly
cd4b517585
terrain_rivers.py: mapsize
is now the number of intervals
...
instead of the number of nodes.
2020-04-26 19:51:21 +02:00
Gael-de-Sailly
cd90a21df4
Enhanced visualization code to display colormaps, and reuse the same code for initial and further viewing, in view_map.py
2020-04-26 18:30:29 +02:00
Gael-de-Sailly
206c68813e
Switch again to using river direction and flux instead of table of bounds
2020-04-26 18:10:23 +02:00
Gael-de-Sailly
6af6795d90
Comment and clarify
2020-04-26 17:13:38 +02:00
Gael-de-Sailly
49bc397718
Fix parameters for Simplex noise, to make sure the last octave has not a greater scale than 1
...
Also use a 401x401 grid instead of 400, so that there are 400 intervals
2020-04-26 16:52:40 +02:00
Gael-de-Sailly
9700e948b9
Position should be strictly beyond river threshold to be a river
...
Prevents some wrongly placed water pixels.
2020-04-14 21:54:05 +02:00
Gael-de-Sailly
55725ad94b
Re-organized the code. All polygon-related calculations go to polygons.lua.
2020-04-14 21:11:54 +02:00
Gael-de-Sailly
43211fc31b
Removed useless functions get_point_location and geometry.area
2020-04-14 20:26:15 +02:00
Gael-de-Sailly
14163681cc
Use settings from minetest.conf
2020-04-14 18:40:51 +02:00
Gael-de-Sailly
af7a7ce26d
Compress data files (reduces size by a factor 3-4)
2020-04-13 15:59:34 +02:00
Gael-de-Sailly
da98a538bb
Draw outer corners of river turns.
2020-04-13 15:01:54 +02:00
Gael-de-Sailly
b5db63d267
Re-added river flow data because needed for map preview
2020-04-13 15:01:44 +02:00