Commit Graph

113 Commits

Author SHA1 Message Date
Gael-de-Sailly b1f4437a91 Added settings for margin, and documented in settingtypes.txt 2022-01-03 16:39:02 +01:00
Gael-de-Sailly a00c1cbd39 Added margin with a settable width near grid border
Elevation gets closer to -50 when approaching the border
2022-01-03 16:39:02 +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
Gaël C 74733549df Various bugfixes and workarounds
Now working in pure Lua!
Some parts of the code are very hacky (e.g. noise) and the way new and old codes have been glued together is sometimes to be rewritten.
But at least it works.
2021-06-03 23:30:04 +02:00
Gaël C cb297af047 Add all code for generating a grid on world creation.
Not tested ; will likely need much testing and bugfix.
2021-06-03 20:08:57 +02:00
Gaël C 19efeaaff6 Globalize modpath and worldpath 2021-06-03 20:04:08 +02:00
Gaël C 0427b42d17 Removed Python terrainlib 2021-06-02 18:56:46 +02:00
Gaël C 7495d8a690 Added grid twisting (twist.lua)
Equivalent of Python terrainlib's 'bounds.py'
2021-06-02 18:42:40 +02:00
Gaël C c99b8338e0 Lua Terrainlib: added first Lua files for erosion and flow routing
Tested, but not linked with the mod, yet.
2021-06-01 19:07:09 +02:00
Gael-de-Sailly c175f2bbf7 Document conf files 2020-12-24 14:48:17 +01:00
Gael-de-Sailly ca68738ba7 Reworked parameters, and rename 'terrain.conf' to 'terrain_default.conf' 2020-12-24 14:48:17 +01:00
Gael-de-Sailly 85e545d5ac Fixed sea level variations 2020-12-24 14:48:17 +01:00
Gael-de-Sailly e0aecdc3f3 Added a second method for local flow calculation. It is possible to switch between them using the 'flow_method' parameter. 2020-12-24 14:48:17 +01:00
Gael-de-Sailly 83728cc932 Fixed lakes elevation
There were sometimes missing water patches near a lake's edge, when the neighbour catchment area was lower.
This commit allows to divide a cell into several mini-catchment basins, to fill only a part of it with water.
2020-12-24 14:48:17 +01:00
Gael-de-Sailly 9ffa150263 Added function 'noisemap' to generate a noise map with a quite unified parameter set, and an option for logarithmic noise. For future use. 2020-12-24 14:48:17 +01:00
Gael-de-Sailly 2a9335332b Added optional sea level variations for the simulation.
This results in more varied coastline morphologies.
2020-12-24 14:48:17 +01:00
Gael-de-Sailly 9b4a9b2516 Rework default erosion parameters,
Fix ignored values of K and m,
and changed processes order.
2020-12-24 14:48:17 +01:00
Gael-de-Sailly 7529291ab4 For bounds.py (calculation of offsets), use the same data type as rivers 2020-12-24 14:48:17 +01:00
Gael-de-Sailly b4f97bec61 For noise map seed: don't go over ±4096, to prevent rounding errors on coordinates (because noise library uses 32-bit floats) 2020-12-24 14:48:17 +01:00
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