Commit Graph

613 Commits

Author SHA1 Message Date
Joshua Barretto
5229bcc8e2 Reduced crop densities 2020-04-23 18:19:41 +01:00
Monty Marz
0fb3a115da Add more crops 2020-04-23 18:19:41 +01:00
Joshua Barretto
7d4443cbcd Fixed screw-up 2020-04-23 18:19:41 +01:00
Joshua Barretto
3541305ff4 Narrower tunnels 2020-04-23 18:19:41 +01:00
Joshua Barretto
e3ebdc56b3 Fixed figure AO (still need to do sprite AO), added more control over NPC spawning, loot in dungeons 2020-04-23 18:19:41 +01:00
Joshua Barretto
3042a09dfd Disabled warping in towns 2020-04-23 18:19:41 +01:00
Joshua Barretto
866fd1992e Fixed bad AO quad flipping in dark places, bosses spawning in dungeon walls, large creatues being uncompromisingly pedantic when trying to path towards targets 2020-04-23 18:19:41 +01:00
Joshua Barretto
fd14223c33 Basic boss spawning in dungeons, better AO 2020-04-23 18:19:41 +01:00
Joshua Barretto
c4879e991d Enabled AO in darkness, better light attenuation 2020-04-23 18:19:41 +01:00
Joshua Barretto
525cba5029 Added dungeon rooms, corridors, mazes 2020-04-23 18:19:41 +01:00
Joshua Barretto
3ffc5a7d87 Added simple dungeon impl 2020-04-23 18:19:41 +01:00
Joshua Barretto
568a8ab87c Increased block rendering altitude range 2020-04-23 18:19:41 +01:00
Joshua Barretto
32d2274caf Better fields 2020-04-23 18:19:41 +01:00
Joshua Barretto
f999edffaa Fixed crop crash issues 2020-04-23 18:19:41 +01:00
Joshua Barretto
a4872c4e8d Added crop terrain sprite generation 2020-04-23 18:19:41 +01:00
Pfauenauge90
4b72a07e22 sprites 2020-04-23 18:19:41 +01:00
Joshua Barretto
a51d214c21 Fixed path irregularities, better bridges 2020-04-23 18:19:41 +01:00
Joshua Barretto
e352858c03 Fixed chimney blockage 2020-04-23 18:19:41 +01:00
Joshua Barretto
5146cc1981 More consistent bridge generation 2020-04-23 18:19:41 +01:00
Joshua Barretto
ea93353042 Fixed chimneys 2020-04-23 18:19:41 +01:00
Joshua Barretto
1b12ab0d29 Experimental house towers, wall/roof refactor 2020-04-23 18:19:41 +01:00
Joshua Barretto
a5ccfe3bc9 Significantly improved house variation 2020-04-23 18:19:41 +01:00
Joshua Barretto
c1945a1445 Added house overhangs, better per-wing generation options 2020-04-23 18:19:41 +01:00
Joshua Barretto
a754b34105 Temporarily removed fire 2020-04-23 18:19:41 +01:00
Joshua Barretto
31b2693b78 Fixed river width determination 2020-04-23 18:19:41 +01:00
Joshua Barretto
d3bf856c33 Improvements to town generation 2020-04-23 18:19:41 +01:00
Joshua Barretto
68c5612692 Innumerable minor improvements to towns, added bridges, better paths, more house variations, etc. 2020-04-23 18:19:41 +01:00
Joshua Barretto
8499143f77 Basic town house generation 2020-04-23 18:19:40 +01:00
Pfauenauge90
fd3ffdf28b pizza sprite 2020-04-23 18:19:40 +01:00
Pfauenauge
67f27ef970 ember sprite 2020-04-23 18:19:40 +01:00
Joshua Barretto
15971f0def Refactored town generation code 2020-04-23 18:19:40 +01:00
Joshua Barretto
c3e5b3057f Significantly better house generation 2020-04-23 18:19:40 +01:00
Joshua Barretto
b0f9ef5f30 Added skeleton house generation 2020-04-23 18:19:40 +01:00
Joshua Barretto
4830757bc9 Began adding building skeleton structure 2020-04-23 18:19:40 +01:00
Joshua Barretto
966f96c588 Start of layered settlement generation, better settlement terraingen 2020-04-23 18:19:40 +01:00
Joshua Barretto
9daf20e87e Fixed value rationalisation 2020-04-23 18:19:40 +01:00
Joshua Barretto
71b8cde266 Added trading to new economic model 2020-04-23 18:19:40 +01:00
Joshua Barretto
b3c9122395 Overhauled domestic economy simulation, better debug information 2020-04-23 18:19:40 +01:00
Joshua Barretto
16a175abe0 Nicer water shaders 2020-04-23 18:19:40 +01:00
Joshua Barretto
a0dae82a2b Added correctly allocated labours, fishing 2020-04-23 18:19:40 +01:00
Joshua Barretto
cee1b1f962 Basic trading simulation 2020-04-23 18:19:40 +01:00
Joshua Barretto
46190aa634 Began work on basic economic simulation 2020-04-23 18:19:40 +01:00
Joshua Barretto
348003fc1a Better track routing for civsim 2020-04-23 18:19:40 +01:00
Joshua Barretto
c1514fc37b Added initial civ generation 2020-04-23 18:19:40 +01:00
Joshua Barretto
41b77a9b10 Removed old settlement code, removed zcache from dependency of site generators for forward compatibility 2020-04-23 18:19:40 +01:00
Joshua Barretto
1c6a6cd6cf Moved settlement code to site directory, removed old town generation code 2020-04-23 18:19:40 +01:00
Joshua Barretto
9dc46c490e Better town walls, made settlements avoid rivers 2020-04-23 18:19:40 +01:00
Joshua Barretto
5d5e8e3238 Added basic wall and tower rendering 2020-04-23 18:19:40 +01:00
Joshua Barretto
085a115e2b Began work on post-generation town rendering, fixed overflow bug on large maps 2020-04-23 18:19:40 +01:00
Joshua Barretto
0021bd6452 Added new settlement generation to world, basic rendering 2020-04-23 18:19:40 +01:00
Joshua Barretto
48fb14116a Town walls, wall towers 2020-04-23 18:19:40 +01:00
Joshua Barretto
20b16d229c Added river obstacle example 2020-04-23 18:19:40 +01:00
Joshua Barretto
944a37b848 Initial settlement generation work 2020-04-23 18:19:40 +01:00
Joshua Yanovski
1015e60dee More lighting changes. 2020-04-21 18:25:19 +02:00
Joshua Yanovski
80c264abd1 Lighting experiments. 2020-04-13 00:29:59 +02:00
Treeco
542491c48d Fixed leaf lerp doing weird things 2020-04-09 21:03:17 +01:00
Joshua Yanovski
8414987e58 WIP -- lighting changes and soft shadows. 2020-04-09 02:38:40 +02:00
Joshua Yanovski
13388ee6a4 Various fixes (to coloring and to soft shadows). 2020-04-02 20:30:08 +02:00
Joshua Yanovski
fbd084a94a Merge branch 'master' of gitlab.com:veloren/veloren into sharp/map-colors 2020-04-02 18:50:38 +02:00
Songtronix
e64462ad2e Merge branch 'imbris/security' into 'master'
Update deps with security issues

See merge request veloren/veloren!879
2020-04-02 05:47:50 +00:00
Joshua Yanovski
5a089863be Making maps brighter.
This is probably not the right way to do it, but oh well!
2020-04-02 03:17:49 +02:00
Joshua Yanovski
32b2c99109 Horizon mapping and "layered" map generation.
Horizon mapping is a method of shadow mapping specific to height maps.
It can handle any angle between 0 and 90 degrees from the ground, as
long as know the horizontal direction in advance, by remembering only a
single angle (the "horizon angle" of the shadow map).  More is explained
in common/src/msg/server.rs.  We also remember the approximate height of
the largest occluder, to try to be able to generate soft shadows and
create a vertical position where the shadows can't go higher.

Additionally, map generation has been reworked.  Instead of computing
everything from explicit samples, we pass in sampling functions that
return exactly what the map generator needs.  This allows us to cleanly
separate the way we sample things like altitudes and colors from the map
generation process.  We exploit this to generate maps *partially* on the
server (with colors and rivers, but not shading).  We can then send the
partially completed map to the client, which can combine it with shadow
information to generate the final map.  This is useful for two reasons:
first, it makes sure the client can apply shadow information by itself,
and second, it lets us pass the unshaded map for use with level of
detail functionality.

For similar reasons, river generation is split
out into its own layer, but for now we opt to still generate rivers on
the server (since the river wire format is more complicated to compress
and may require some extra work to make sure we have enough precision to
draw rivers well enough for LoD).

Finally, the mostly ad-hoc lighting we were performing has been (mostly)
replaced with explicit Phong reflection shading (including specular
highlights).  Regularizing this seems useful and helps clarify the
"meaning" of the various light intensities, and helps us keep a more
physically plausible basis.  However, its interaction with soft shadows
is still imperfect, and it's not yet clear to me what we need to do to
turn this into something useful for LoD.
2020-04-02 02:46:36 +02:00
Imbris
831d7c77a6 Make Asset impls avoid panics when parsing fails 2020-04-01 20:06:15 -04:00
Imbris
5ed77b5054 Fix security 2020-04-01 20:03:15 -04:00
Imbris
b3791a2b4e Upgrade vek version so that it actually uses the patch 2020-03-30 19:44:51 -04:00
timokoesters
6fd3339b75 Make apples great again 2020-03-27 17:51:35 +01:00
Joshua Yanovski
f8926a5737 Merge remote-tracking branch 'origin/master' into sharp/map-colors 2020-03-13 13:32:42 +01:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Joshua Yanovski
a1aee931e7 Adding shadows. 2020-02-21 14:52:17 +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