Commit Graph

495 Commits

Author SHA1 Message Date
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Marcel Märtens
8f5e409ac4 update toolchain to 2020-02-09 22:58:01 +01:00
Monty Marz
93d7c67cdc Hack to allow minimap rotation.
Currently it just always rotates towards the camera, but it wouldn't be
hard to create a config option that swaps out the rotation of the
indicator and the map.
2020-02-06 17:34:32 +00:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Marcel Märtens
dd21235ff8 Apply prefixes to veloren source, espacially comments, so that reformating wont make it unreadable,
especially enumerations and other source code in errosions file
2020-02-01 21:37:36 +01:00
Marcel Märtens
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +01:00
Joshua Yanovski
6d5e42f10b Better is_underwater() check.
Takes rivers into account somewhat, and doesn't take up extra space in
SimChunk.
2020-01-26 16:18:51 +01:00
Joshua Barretto
4f0d27690c Patched waypoint spawning 2020-01-26 14:27:11 +00:00
Joshua Barretto
6e2784ba0e Convert to chunk positions for downhill 2020-01-26 13:21:33 +00:00
Joshua Barretto
a4573f6fb2 Use .downhill for waypoint generation 2020-01-26 13:05:28 +00:00
Joshua Barretto
631124f3fc Switched to _squared(), added comments, parallelised waypoint gen 2020-01-26 12:52:32 +00:00
Joshua Barretto
723b578378 Improved pet aggression system, made waypoints rarer 2020-01-26 12:52:32 +00:00
Joshua Barretto
7437c18b99 Various bug fixes 2020-01-26 12:52:32 +00:00
Joshua Barretto
8c7e96e313 Improved waypoint spawn locations, scaled down pathfinding cost 2020-01-26 12:52:32 +00:00
Joshua Barretto
d04a595b3f Made waypoints work, added waypoint spawning 2020-01-26 12:52:28 +00:00
Joshua Barretto
11193a692a Better neutral AI, initial waypoint objects 2020-01-26 12:52:28 +00:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
Justin Shipsey
64690279af new mobs
alligators
2020-01-26 00:22:48 +00:00
Monty Marz
b583f60326 35 new ground sprites, UI fixes 2020-01-25 11:14:02 +00:00
Joshua Yanovski
02f9c9490b Addressing MR comments. 2020-01-24 03:45:29 +01:00
Joshua Yanovski
2908843448 Erosion cleanup, part 3.
Covers world/src/sim/erosion.rs.
2020-01-23 18:18:18 +01:00
Joshua Yanovski
64d19a80e3 Make changing Alt/Compute to f32 work again. 2020-01-23 18:18:18 +01:00
Joshua Yanovski
756cc0aab4 Erosion cleanup, part 2.
Covers all remaining files touched by MR except
world/src/sim/erosion.rs.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
3383e991e7 Erosion cleanup, part 1.
Covers all files touched by MR that are not in world/src/sim.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
133ba29293 Fixing Cargo.lock after rebase. 2020-01-23 18:18:17 +01:00
Joshua Yanovski
55a96bce09 Minor fix to map generation.
Also fixes some typos and makes formatting easier for changes needed to
produce large maps.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
ba043b91a2 Screenshots with F4 in the map, that will have the full resolution of
the displayed map (hopefully).
2020-01-23 18:18:16 +01:00
Joshua Yanovski
49e7e55cd6 Fix warnings in examples and benchmarks. 2020-01-23 18:18:16 +01:00
Joshua Yanovski
1d6d0ea03d Fix all warnings. 2020-01-23 18:18:16 +01:00
Joshua Yanovski
ccd85e8907 Fixes to enable loading (relatively) large maps.
With these changes, we can successfully open, map, and play maps thare
are 16x the size of a standard (1024 x 1024 chunk) map, 4x larger in
each direction.
2020-01-23 18:18:16 +01:00
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
e289849c87 Map fixes. 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
S Handley
56f9c5d35f Fix the glider_close sfx event
This was failing to trigger since we now have a MovementState::Fall, but
the sfx mapper was still trying to work this out itself based on
velocity. We no longer need to track velocity as a result and can use
the MovementState.

Also silenced warnings resulting from unused vars when running tests.
2019-12-09 09:50:14 +00:00
soruh
6dfa146484 Mitgated RUSTSEC-2019-0014 by updating noise and
disabling its default features, specifically `image`,
which had the vulnerability.
2019-11-05 11:14:39 +00: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
Marcel Märtens
20c520a044 Change the version number to 0.4 2019-10-10 15:48:01 +02: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
Joshua Barretto
a6d5b82ef5 Prevented pickups with full inventory 2019-09-26 00:15:07 +01:00
Joshua Barretto
7f4e587215 Made velorite rarer 2019-09-26 00:15:07 +01:00
Joshua Barretto
e22fe81a2f Added velorite 2019-09-26 00:15:07 +01:00
Joshua Barretto
a961a267f1 Added apple and mushroom collection 2019-09-26 00:15:07 +01:00
Joshua Barretto
b0a1619698 Fixed shadow distance culling 2019-09-26 00:15:07 +01:00
Joshua Barretto
499344ccab Added entity shadows 2019-09-26 00:15:07 +01:00
Joshua Barretto
50daf185a8 Resolved warnings 2019-09-26 00:15:07 +01:00
Joshua Barretto
8e2f810883 Grounded houses more 2019-09-26 00:15:07 +01:00
Joshua Barretto
ea688e725f Shorter houses 2019-09-26 00:15:07 +01:00
Joshua Barretto
b62830b8b4 Better hills 2019-09-26 00:15:07 +01:00
Joshua Barretto
2165e79971 Adjusted cliff height on mountains 2019-09-26 00:15:07 +01:00
Joshua Barretto
3979dddbc1 Faster meshing, better AO, colour correction 2019-09-26 00:15:07 +01:00
Joshua Barretto
a432cef263 Better colour correction 2019-09-26 00:15:07 +01:00
Joshua Barretto
22af0ab016 Prevented bounds mis-prediction 2019-09-26 00:15:07 +01:00
Joshua Barretto
ba7fa8b55d Prevented towns in oceans 2019-09-26 00:15:07 +01:00
Joshua Barretto
5933ae608a Applied water layer after structures layer 2019-09-26 00:15:07 +01:00
Joshua Barretto
b6e72b0075 Better warp noise 2019-09-26 00:15:07 +01:00
Joshua Barretto
a9d7cfac0b Added wells 2019-09-26 00:15:07 +01:00
Joshua Barretto
1e9eb3089e Worldgen colour tweaks, better buildings, better warping 2019-09-26 00:15:07 +01:00
Joshua Barretto
8a2dc836d8 Fixed cut-off cliff, optimised structure generation 2019-09-23 16:20:28 +01:00
Joshua Barretto
e77f165da6 Improved SmallCache 2019-09-23 15:17:06 +01:00
Imbris
f182733074 Small cache experiments 2019-09-22 22:19:07 -04:00
Imbris
debcb11e18 Simplify lerping and use smoothstep interpolation instead of cosine 2019-09-21 19:46:27 -04:00
Acrimon
7647e54858 Drastically faster diffuse 2019-09-21 17:40:27 +00:00
Joshua Barretto
542ac41e7a Merge branch 'xacrimon/rng-init-noise' into 'master'
Update some deps, fix hashbrown not compiling and rework the ad-hoc PRNG for RandomField.

See merge request veloren/veloren!500
2019-09-20 06:13:48 +00:00
Acrimon
7463db0dd9 Formatted code. 2019-09-17 20:35:53 +02:00
Acrimon
2786e28577 Fixed rng stuff. 2019-09-17 16:56:23 +02:00
Acrimon
85e6e54dc2 Fixed compile errors. 2019-09-17 16:12:17 +02:00
Acrimon
37d71cee26 Added some reasoning. 2019-09-17 16:07:24 +02:00
Acrimon
1dfbe40731 Made the worldgen noise generators seed from the RNG and got rid of zerocopy. 2019-09-17 16:05:08 +02:00
Joshua Yanovski
9ba64ca57f Addressing code review. 2019-09-16 15:11:47 +02:00
Joshua Yanovski
2abf7cd016 Fixing more rustfmt errors. 2019-09-16 04:05:36 +02:00
Joshua Yanovski
95b02912b6 Fixing rustfmt. 2019-09-16 04:01:05 +02:00
Joshua Yanovski
b9f545f97c Fixing previous commit. 2019-09-16 03:54:32 +02:00
Joshua Yanovski
9a4e5e06f2 Fixing previous commit. 2019-09-16 03:51:08 +02:00
haslersn
1796c09ca1 common: Rework volume API
See the doc comments in `common/src/vol.rs` for more information on
the API itself.

The changes include:

* Consistent `Err`/`Error` naming.
  * Types are named `...Error`.
  * `enum` variants are named `...Err`.
* Rename `VolMap{2d, 3d}` -> `VolGrid{2d, 3d}`. This is in preparation
  to an upcoming change where a “map” in the game related sense will
  be added.
* Add volume iterators. There are two types of them:
  * _Position_ iterators obtained from the trait `IntoPosIterator`
    using the method
    `fn pos_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `Vec3<i32>`.
  * _Volume_ iterators obtained from the trait `IntoVolIterator`
    using the method
    `fn vol_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `(Vec3<i32>, &Self::Vox)`.
  Those traits will usually be implemented by references to volume
  types (i.e. `impl IntoVolIterator<'a> for &'a T` where `T` is some
  type which usually implements several volume traits, such as `Chunk`).
  * _Position_ iterators iterate over the positions valid for that
    volume.
  * _Volume_ iterators do the same but return not only the position
    but also the voxel at that position, in each iteration.
* Introduce trait `RectSizedVol` for the use case which we have with
  `Chonk`: A `Chonk` is sized only in x and y direction.
* Introduce traits `RasterableVol`, `RectRasterableVol`
  * `RasterableVol` represents a volume that is compile-time sized and has
    its lower bound at `(0, 0, 0)`. The name `RasterableVol` was chosen
    because such a volume can be used with `VolGrid3d`.
  * `RectRasterableVol` represents a volume that is compile-time sized at
    least in x and y direction and has its lower bound at `(0, 0, z)`.
    There's no requirement on he lower bound or size in z direction.
    The name `RectRasterableVol` was chosen because such a volume can be
    used with `VolGrid2d`.
2019-09-06 15:43:31 +02:00
Imbris
52d84248ec Remove all warnings 2019-09-04 19:03:49 -04:00
Monty Marz
f53904b534 More sprites, ui fixes, lianas 2019-09-01 19:04:03 +00:00
Joshua Barretto
d0768e9858 Faster prng 2019-08-31 14:24:56 +01:00
Joshua Barretto
7321eb6999 Better town park generation 2019-08-31 11:44:52 +01:00
Joshua Barretto
1eb0720cbb Cleaned up wall generation 2019-08-31 11:44:52 +01:00
Joshua Barretto
1176fc4d07 Better loading times 2019-08-31 11:44:52 +01:00
Joshua Barretto
c433ef36d7 Sloped wall tops 2019-08-31 11:44:52 +01:00
Joshua Barretto
25d6ab03aa Removed extra foundations 2019-08-31 11:44:52 +01:00
Joshua Barretto
e3c4e34edb Added city walls 2019-08-31 11:44:52 +01:00
Joshua Barretto
144703da1c Added wall module assets 2019-08-31 11:44:52 +01:00
Joshua Barretto
5a677b9c1e Added modular building generation 2019-08-31 11:44:52 +01:00
Joshua Barretto
adb62f448e Added walls 2019-08-31 11:44:52 +01:00
Joshua Barretto
d17356fb38 Started work on modular buildings 2019-08-31 11:44:52 +01:00
Joshua Barretto
f8c5b277e3 Improved mountain slopes and cliffs 2019-08-31 11:44:52 +01:00
Joshua Barretto
4de7a064a1 Added module parts, made cell size smaller 2019-08-31 11:44:52 +01:00
Joshua Barretto
fe2ad92201 Initial implementation of towns 2019-08-31 11:44:52 +01:00
Joshua Barretto
d42485238e Added town road construction 2019-08-31 11:44:52 +01:00
Joshua Barretto
aaade23eef Better warping 2019-08-31 11:44:52 +01:00
Joshua Barretto
b0293ecce4 Switched to FastNoise 2019-08-31 11:44:52 +01:00
Joshua Barretto
4777921680 Added test generator 2019-08-31 11:44:52 +01:00
Joshua Barretto
1fcb4a0313 Added Generator trait, fixed ocean lighting 2019-08-31 11:44:52 +01:00
Joshua Barretto
75f5419571 Removed dryness 2019-08-31 11:44:52 +01:00
Joshua Barretto
4735d3d6da More interesting hills 2019-08-31 11:44:52 +01:00
timokoesters
c4879307af
Update to github vek repo 2019-08-26 13:12:45 +02:00
Joshua Yanovski
c02f2a7f9e Fixes to worldgen and adding a debug command.
Humidity and temperature are now indexed to uniform altitude *over land
chunks* (and water chunks adjacent to land) rather than over the whole
range of altitude.  This is necessary in order to satisfy the uniformity
conditions of the formula for weighted sum CDF.

Additionally, fixes the computation of whether a tree should be
generated or not.  Previously, it was using a source of randomness
scaled to use much less than the full 0-1 range; this has been resolved.
This makes for much nicer and more gradual transitions between densities
and reduces the amount of completely barren landscapes, while also
making forests larger.

Finally, this commit adds a server command, debug_column, which returns
some useful debug information about a column given an x and y
coordinate.  This is useful for debugging worldgen.
2019-08-26 11:52:25 +02:00
Joshua Yanovski
958a40b8c0 Fix clean code lints. 2019-08-25 18:17:51 +02:00
Joshua Yanovski
6f12a240de Chaos doesn't depend on temperature anymore.
Also fix some things to use a consistent coordinate system and bump up
tree density and variation around tree density in hopes of creating more
aesthetically pleasing jungles.  However, this does change worldgen a
bit, so please make sure you look through it before merging.
2019-08-25 17:49:33 +02:00
jshipsey
f02b571f7f fmt 2019-08-24 15:32:07 -04:00
Joshua Yanovski
25a02ae6e0 Make humidity ignore ocean chunks. 2019-08-24 21:13:32 +02:00
Joshua Barretto
8635982173 Merge branch 'sharp/jungle' of gitlab.com:veloren/veloren into sharp/jungle 2019-08-23 00:33:33 +01:00