Gaël C
b54f2c4546
terrainlib: More optimizations on flow routing
2024-01-22 00:33:42 +01:00
Gaël C
c723b28ec6
terrainlib/rivermapper.lua: Move checks out of the nested function
2024-01-22 00:30:07 +01:00
Gaël C
fe6e281130
terrainlib: loop only once for all singular nodes at step 2 of flow routing
2024-01-22 00:30:07 +01:00
Gaël C
2acefb2660
terrainlib: compute current queue length instead of using '#' operator.
...
Important speedup.
2024-01-22 00:30:07 +01:00
Gaël C
0bc100030c
terrainlib_lua: Hardcode flow_local for performance
...
as it is unlikely that it will be changed one day.
This results in a drastic performance improvement (x4 speed for step 1)
2024-01-22 00:30:07 +01:00
Gael-de-Sailly
d00295600d
Add a very brief description at the head of every file
2022-01-26 11:25:17 +01:00
Gael-de-Sailly
0983c27cca
Move geometry helpers back to heightmap.lua
2022-01-26 11:09:51 +01:00
Gael-de-Sailly
6564d40b85
Refactor grid loading and reorganize code
...
Move grid management functions out of polygons.lua, in a new file called gridmanager.lua
Explicitly call other files and grid management functions from init.lua
to make workflow more apparent
Move mapgen loop out of init.lua, into mapgen.lua
2022-01-26 10:54:11 +01:00
Gael-de-Sailly
cd2a77803f
Globalize some of the main functions
...
This will allow to avoid nested 'dofile's
2022-01-21 14:22:22 +01:00
Gael-de-Sailly
b0930f4d40
Fix river shape in confluences (less sharp riverbeds when a small rivers joins a big one)
...
Also cleaned and commented the code
2022-01-20 15:28:14 +01:00
Gael-de-Sailly
975ad02739
Exclude exact riverbanks from rivers
...
This avoids considering points that are exactly at the border of a polygon as rivers
2022-01-20 15:28:14 +01:00
Gael-de-Sailly
6d8ee5af1f
Added settings for margin, and documented in settingtypes.txt
2022-01-20 15:28:14 +01:00
Gael-de-Sailly
fabe107336
Added margin with a settable width near grid border
...
Elevation gets closer to -50 when approaching the border
2022-01-20 15:28:14 +01:00
Gael-de-Sailly
7e155b7076
Express map size in Minetest nodes, not in river grid nodes
...
This introduces new parameters 'map_x_size' and 'map_z_size' that default to 15K
Deprecates 'grid_x_size' and 'grid_z_size'; if they are present, corresponding
values of 'map_x_size' and 'map_z_size' are automatically written in config files.
Also rework compatibility system to better compare versions,
and bump version to 1.0.2-dev1.
2022-01-20 15:28:14 +01:00
Gael-de-Sailly
b374e8ee95
Create settings_default.json to store default values for settings
...
Move noise parameters to settings.lua
2022-01-18 15:21:14 +01:00
Gaël C
1ad8c96b8c
Remove 'default' hard dependency
2022-01-17 23:20:34 +01:00
Gael-de-Sailly
2f7098d752
Bump version (1.0.2) and add changelog
2022-01-10 12:44:33 +01:00
Gael-de-Sailly
942a869b9f
Minor fix in README
2022-01-10 12:32:38 +01:00
Gaël C
b3d79eaaf8
Added more comments in terrainlib_lua
2022-01-07 14:48:36 +01:00
Gaël C
68c19c3b94
terrainlib_lua: replaced space indents by tabs
2022-01-06 15:36:31 +01:00
Gael-de-Sailly
417ce1bcbc
Use builtin logging system and appropriate loglevels
2022-01-03 16:33:56 +01:00
Gael-de-Sailly
c3a798933f
Localize all global functions in load.lua and geometry.lua
2022-01-03 16:20:51 +01:00
Gael-de-Sailly
0c98fc0881
Skip chunks that are fully higher than ground level
2022-01-03 16:18:48 +01:00
Gael-de-Sailly
cb71f4400a
Corrected mistake in settingtypes
2022-01-03 12:04:49 +01:00
Gael-de-Sailly
f8f467ac3f
Use local variables for math.* functions
...
and remove an unnecessary index calculation
2022-01-03 11:56:16 +01:00
Gael-de-Sailly
2e29474686
Bump version (1.0.1)
2021-09-14 15:08:29 +02:00
Gael-de-Sailly
27670addb3
Switch to singlenode mapgen if not done
2021-09-07 11:59:33 +02:00
Gael-de-Sailly
54b94e6485
Updated screenshot
2021-08-01 18:43:44 +02:00
Gael-de-Sailly
09de0fd298
Added reference to scientific paper
2021-07-28 19:50:27 +02:00
Gaël C
e3cadcdbc6
Collect garbage during pre-generation to free some space and reduce OOM problems
2021-07-26 22:28:45 +02:00
Gaël C
f7bc5ee0b4
Added logs during pre-generation
2021-07-25 10:14:15 +02:00
Gaël C
2c5e0ee5af
Code style consistency: use tabs for indentation in all Lua code
2021-07-24 18:55:13 +02:00
Gaël C
95e87f8820
Updated README.md and added environment.yml
...
Switching to full Lua incredibly simplified the amount of stuff needed in README!
2021-07-24 18:49:17 +02:00
Gaël C
db33e58f0a
Make map size a setting
2021-07-24 17:41:17 +02:00
Gaël C
31c5ea1025
Python map viewing: read conf file, and take world folder as input
2021-07-24 17:21:21 +02:00
Gaël C
c2c397c2a5
Added compatibility script
...
to update parameter values coming from older versions
2021-07-24 13:21:06 +02:00
Gaël C
9386ef51f1
Changed the way river width is determined in settings
...
- min_catchment now in square nodes instead of cells
- River widening power as input instead of calculating it from max_catchment
2021-07-24 13:18:58 +02:00
Gaël C
8ce20816e1
Some changes in default settings
...
- blocksize = 15 by default
- base noise is eased
- added tectonic compensation radius in settings
2021-07-24 10:23:06 +02:00
Gaël C
32bc9561b6
Made interactive loading optional but enabled by default
2021-06-26 16:02:00 +02:00
Gaël C
7e39189368
Load data on request instead of loading everything at first.
...
Data is cached in memory in case it is reused.
Offset values have a callback that converts them to the range ±0.5
2021-06-26 13:17:09 +02:00
Gaël C
636773487a
Optimized load.lua by avoiding multi-argument packing
2021-06-26 11:49:26 +02:00
Gaël C
9cda649c93
Fixed time statistics
2021-06-26 11:26:45 +02:00
Gaël C
ecd1f0e08f
Added time statistics and removed debug prints
2021-06-25 21:05:14 +02:00
Gaël C
5898354dbe
Changed some default parameters
...
Map centered by default
Base noise higher and less wide horizontally
2021-06-25 21:05:03 +02:00
Gaël C
e14bc5216c
Removed useless and deprecated files
2021-06-23 19:56:37 +02:00
Gaël C
a313244d07
Rename generate.lua -> pregenerate.lua
2021-06-23 19:53:56 +02:00
Gaël C
0de2f746cf
Update settingtypes.txt
2021-06-06 17:17:28 +02:00
Gaël C
de8d685471
New settings system, use a conf file instead of datastorage
...
Added many missing settings, including pregeneration-related ones
TODO: update settingtypes.txt
2021-06-06 13:25:43 +02:00
Gaël C
51f3a2719d
Generate and load map after mod loading
...
This has needed to globalize map tables
2021-06-05 11:24:28 +02:00
Gaël C
b02387944d
Pre-generation: reverse X and Y directions everywhere
...
to make directions compatible with the mapgen code
2021-06-04 18:24:06 +02:00