Commit Graph

352 Commits

Author SHA1 Message Date
Joshua Yanovski
d54f22c9fa Add a default world map.
Also adds map versioning, proper scaling, and updates sediment
rendering.  It also tones down warp.
2020-01-23 18:18:15 +01:00
Joshua Yanovski
1358f1dffa Changes to worldgen, adding more sedmient etc. 2020-01-23 18:18:14 +01:00
Joshua Yanovski
ebe0d14eab Send client 3D rendered map.
Also shares configurable rendering between map generator and server.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
9ee0cd82d0 Code restructuring for performance.
Turned a lot of for loops into for_each loops, which should be easier
for LLVM to optimize currently.  Also updated almost all the non-erosion
stuff in WorldGen to run in parallel (and take advantage of the cache,
in the case of TownGen), and hopefully improved performance somewhat for
chunk generation as well.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
53ac7c0eb1 Weight flux twice as much as beforein humidity calculation. 2020-01-23 18:18:13 +01:00
Joshua Yanovski
597bb3c526 Adding many new types of geomorphic laws:
- soil production (currently disabled).
- debris flow erosion (combined with regular stream power law).
- flow computation using multiple receivers.
- filling strategy during drainage network calculations.

Also tweaks a variety of other aspects of erosion.
2020-01-23 18:18:12 +01:00
Joshua Yanovski
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
5fd8b009a6 Gentler warp, especially for high chunk size. 2020-01-23 18:18:12 +01:00
Joshua Yanovski
8d5a5af2cb Fix overflow issue with basement. 2020-01-23 18:18:12 +01:00
Joshua Yanovski
d0cfdb34aa Fix colors on map being transferred to client. 2020-01-23 18:18:11 +01:00
Joshua Yanovski
2b38927345 Fixes for nonstandard chunk and map sizes.
Also fixes a longstanding map rendering issue.
2020-01-23 18:18:11 +01:00
Joshua Yanovski
bacc5271d4 Soil production should use ground, not basement, slope. 2020-01-23 18:18:11 +01:00
Joshua Yanovski
ee5d383c46 Map saving, soil production, speedup attempts. 2020-01-23 18:18:10 +01:00
Pfauenauge90
5fc34081bd birches and "Acalok" Trees 2020-01-23 18:18:10 +01:00
Joshua Yanovski
c92ff34e15 Fix sediment transport, add hack for sediment. 2020-01-23 18:18:09 +01:00
Joshua Yanovski
e71f145b71 Sediment transport, plus many other things. 2020-01-23 18:18:09 +01:00
Joshua Yanovski
067429d13e Use Worley noise for uplift. 2020-01-23 18:18:09 +01:00
Joshua Yanovski
72287f2041 Implement carving strategy for lake connections.
Also fix mapgen slopes and make a much more pleasing world.
2020-01-23 18:18:08 +01:00
Joshua Yanovski
e01bb8a8c9 Render sediment differently. 2020-01-23 18:18:08 +01:00
Joshua Yanovski
cc58101540 Seed elements. 2020-01-23 18:18:08 +01:00
Joshua Yanovski
69a8d5039b Adding hillslope diffusion. 2020-01-23 18:18:07 +01:00
Joshua Yanovski
825ba1b4f4 WIP fixes: more pleasing uplift generation.
Uses the exponential distribution now.
2020-01-23 18:18:07 +01:00
Joshua Yanovski
1b864887e7 Reverting changes except to humidity and temperature
noise.
2020-01-23 18:18:07 +01:00
flyingfryingpan
28d0afbfb6 wahtevermoresharp 2020-01-23 18:18:07 +01:00
flyingfryingpan
a98d4adc27 forsharp 2020-01-23 18:18:07 +01:00
Imbris
4b01c1b082 add: capability to disable blending for particular BlockKinds 2020-01-19 16:03:27 -05:00
Imbris
5666f18ded Add terrain meshing benchmark 2020-01-19 16:02:12 -05:00
Monty Marz
a4274ef8aa Charge Icon and flashing skillbar 2020-01-17 22:00:00 +00:00
Piotr Korgól
e1adf40856 Improvement: Replace all '..=b' with '..b + 1' 2020-01-12 15:46:53 +01:00
S Handley
5b65b16594 Prevent NPCs from spawnign underwater
This should be set until there are underwater NPC types.
2020-01-08 12:48:00 +00:00
Songtronix
0d919a9dc6 improve(log): adjust verbosity of some logging
fix: settings do not log due to logging being initialized to late
2019-12-20 15:45:30 +01:00
Marcel Märtens
72d8f95e8c please ci toolchain 2019-12-11 15:13:46 +01:00
soruh
e3bd152d24 update toolchain to nightly-2019-11-04 2019-11-04 18:26:32 +01:00
Joshua Yanovski
8ae2692b6e Allow canceling chunk generation.
Currently we only do this when no players are in range of the chunk.  We
also send the first client who posted the chunk a message indicating
that it's canceled, the hope being that this will be a performance win
in single player mode since you don't have to wait three seconds to
realize that the server won't generate the chunk for you.

We now check an atomic flag for every column sample in a chunk.  We
could probably do this less frequently, but since it's a relaxed load it
has essentially no performance impact on Intel architectures.
2019-10-16 11:39:41 +00:00
KyoZM
5390b1b36c format code 2019-10-10 21:00:19 -03:00
KyoZM
83a4454be5 refactor code to be smaller and clearer 2019-10-10 20:53:13 -03:00
KyoZM
6b42b1c762 remove unecessary comments 2019-10-10 20:53:13 -03:00
KyoZM
1998ed2fdd load structures from ron files / transfer static structure lists to ron files 2019-10-10 20:53:13 -03:00
Joshua Barretto
bf01069f44 Balanced chest spawning 2019-10-10 10:11:46 +01:00
Monty Marz
d82ec6715a Item icons, chests and more 2019-10-09 19:28:05 +00:00
Joshua Barretto
087bfffc8a Proper tree colour variation 2019-10-07 09:05:18 +01:00
Joshua Barretto
6fc6864e7c Better grass colours, made flora more common 2019-10-07 08:49:02 +01:00
Forest
35b9040a6f Removed now stable feature 2019-10-03 17:28:17 -04:00
Forest Anderson
6ee99786d6 Removed trailing semicolon 2019-10-03 17:19:22 -04:00
Acrimon
f39d454f93 Update fast_noise.rs 2019-10-03 17:19:22 -04:00
Acrimon
772e85fbea Update lib.rs 2019-10-03 17:19:22 -04:00
Acrimon
e151b81c11 Update lib.rs 2019-10-03 17:19:22 -04:00
Joshua Barretto
a90ceddde0 Fixed cold near oceans, faster meshing 2019-09-27 12:46:20 +01:00
Joshua Barretto
81dc77c87b Resolved warnings 2019-09-26 13:34:15 +01:00
Joshua Barretto
b1d4ae7445 Fixed cliff generation layer bug 2019-09-26 12:19:21 +01:00