Commit Graph

378 Commits

Author SHA1 Message Date
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
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
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
Joshua Barretto
0db797744b Better snow noise 2019-08-23 00:31:27 +01:00
Joshua Yanovski
f687c591ca Remove out of date comment. 2019-08-23 01:16:15 +02:00
Joshua Yanovski
d7f567a862 Merge remote-tracking branch 'origin/sharp/jungle' into sharp/jungle 2019-08-23 01:10:48 +02:00
Joshua Barretto
6136edd631 Merge branch 'sharp/jungle' of gitlab.com:veloren/veloren into sharp/jungle 2019-08-23 00:09:45 +01:00
Joshua Barretto
b6cfc84810 More interesting terrain chaos 2019-08-23 00:09:14 +01:00
Joshua Yanovski
b69020b68e Fine, removing box syntax. 2019-08-23 01:08:47 +02:00
Joshua Yanovski
398c18359d Addressing concerns, for real. 2019-08-23 00:57:42 +02:00
Joshua Yanovski
2ff192021c Addressing PR issues. 2019-08-22 23:48:13 +02:00
Joshua Barretto
ba1a146cd5 Better snow, colours, more chaos 2019-08-22 22:25:17 +01:00
Joshua Yanovski
40192da977 Closest attempt. 2019-08-22 21:10:04 +02:00
Joshua Yanovski
dbeec66b2d Total chaos. 2019-08-22 21:03:42 +02:00
Joshua Yanovski
38443c173c Merge branch 'master' of gitlab.com:veloren/veloren into sharp/jungle 2019-08-22 17:47:10 +02:00
Joshua Yanovski
5caed42e4f Fix density computation. 2019-08-22 17:45:47 +02:00
Joshua Yanovski
aa4464d8f4 Adding more jungle trees. 2019-08-22 01:33:47 +02:00
Joshua Yanovski
139933194c Restore old chaos. 2019-08-22 01:01:13 +02:00
Joshua Yanovski
16ad7ba042 Fixing colors. 2019-08-22 00:15:24 +02:00
Joshua Yanovski
d174dd99b4 Fixing a few visual issues. 2019-08-21 23:36:43 +02:00
Joshua Yanovski
bd8a0be0fb Putting back splotchy mud. 2019-08-21 20:59:26 +02:00
Joshua Yanovski
91ea62a5c9 Get rid of extraneous things. 2019-08-21 20:48:51 +02:00
Joshua Yanovski
05d501632e Fixing jungle. 2019-08-21 20:41:32 +02:00
Joshua Barretto
7ceccfecc3 Added cacti 2019-08-21 19:18:16 +01:00
Joshua Barretto
6ff264d982 Better plant grouping distribution 2019-08-21 18:56:46 +01:00
Monty Marz
fade04d44e Pfauenauge/plants grass 2019-08-21 17:22:05 +00:00
Joshua Yanovski
8c644e2bb1 Distribution "fun." 2019-08-20 22:48:22 +02:00
Joshua Barretto
60544531dd More grass 2019-08-20 12:06:41 +01:00
Joshua Barretto
245c9af2e8 Patchier plants, wind swaying 2019-08-20 11:05:01 +01:00
Joshua Barretto
5f09ab3a4f Added multiple sprite block kind support 2019-08-20 00:31:11 +01:00
Joshua Barretto
7960e6ea6d Sprite distance fading, grass 2019-08-19 22:54:16 +01:00
Joshua Barretto
b31cca4bb3 Added wheat and sprite rendering 2019-08-19 21:09:35 +01:00
Joshua Yanovski
405f55d725 Smoother blending into sand. 2019-08-19 19:46:47 +02:00
Joshua Yanovski
97eaeddd78 t merge Merge branch 'master' of gitlab.com:veloren/veloren into sharp/jungle 2019-08-19 19:21:05 +02:00
Joshua Yanovski
5919f63516 Fixing visual issues. 2019-08-19 19:20:54 +02:00
Acrimon
a41cf1a83d Disabled unsafe using lint level. 2019-08-19 14:39:23 +02:00
Joshua Yanovski
fa35f9932e Smoothed some things out. 2019-08-19 05:22:39 +02:00
Joshua Yanovski
1c9be67516 Billow tweaks. 2019-08-19 03:41:32 +02:00
Joshua Yanovski
c5ffb232d4 Fixing some colors. 2019-08-19 03:01:11 +02:00
Joshua Yanovski
d8c864cf3a Making jungles work. 2019-08-19 01:52:26 +02:00
Joshua Yanovski
680b81a5e6 WIP for humidity. 2019-08-18 18:35:27 +02:00
Joshua Barretto
49426565dc Renamed normal StructureBlock variant 2019-08-18 15:33:16 +01:00
Joshua Barretto
75dbebbd05 More interesting waves 2019-08-18 10:33:18 +01:00
Vechro
71710fb091 Dungeon fixes 2019-08-18 10:33:18 +01:00
Joshua Barretto
e535537106 Added default block kind to structure loading 2019-08-18 10:33:18 +01:00
Vechro
6cf5b99857 Add water-based dungeons 2019-08-18 10:33:18 +01:00
Joshua Barretto
f0e52e6002 Better reflections and water fog 2019-08-18 10:33:18 +01:00
Joshua Barretto
825d8bb632 Fixed water in caves, made water reflection vary with lighting 2019-08-18 10:33:18 +01:00
Vechro
b5b3b980fe Add green sludge special index 2019-08-18 10:33:18 +01:00
Vechro
944067fd43 Add water special index 2019-08-18 10:33:18 +01:00
Joshua Barretto
fa6825f13b Better fluid meshing, disabled fluid backface culling and depth buffer writing 2019-08-18 10:33:18 +01:00
Joshua Barretto
42237a84e4 Added translucent meshing pass, water reflections 2019-08-18 10:33:18 +01:00
Acrimon
cb4374160c Removed unsafe. 2019-08-19 00:55:04 +02:00
Acrimon
09525bf964 Cleaner solution. 2019-08-19 00:46:24 +02:00
Acrimon
f8d14bdfd5 Ran fmt. 2019-08-19 00:20:56 +02:00
Acrimon
6b59f0bc9a Fixed seed expansion for noise seeding. 2019-08-19 00:19:51 +02:00
Imbris
d99a4f8d39 Lighter 2019-08-15 23:59:09 -04:00
Imbris
be0e0e52a8 Improve colors 2019-08-15 23:59:09 -04:00
Imbris
9dbdd51777 Increase saturation of some colors 2019-08-15 23:56:15 -04:00
Imbris
c09eb77149 Add srgb converion in shaders 2019-08-15 23:56:14 -04:00
Acrimon
ed4909670d Use hashbrown instead of fxhashmap in world. 2019-08-11 22:10:36 +02:00
Acrimon
51a4e358dd Formatted code. 2019-08-11 13:37:04 +02:00
Acrimon
7b8a7a410d Cleaned up seed generation in worldsim. 2019-08-11 13:37:04 +02:00
Acrimon
cdf4c26be7 Rewrite diffusion function. Now has potential for a full avalanche. 2019-08-11 13:37:04 +02:00
Acrimon
00b5a4a58e Greatly simplified seed expansion. 2019-08-11 13:37:04 +02:00
Acrimon
d840ca72e3 Improved some comments. 2019-08-11 13:37:04 +02:00
Acrimon
5eee2622cb Fixed comment typo. 2019-08-11 13:37:04 +02:00
Acrimon
dcc19e2d04 Added a lot of comments. 2019-08-11 13:37:04 +02:00
Acrimon
fea6b2e776 Fixed overflow in seed_expan 2019-08-11 13:36:14 +02:00
Acrimon
8cb48804c2 Fixed diffuse_field 2019-08-11 13:36:14 +02:00
Acrimon
393ac4610c Improved worldgen seed expansion 2019-08-11 13:36:14 +02:00
Vechro
595f9ac3d2 Add a new dungeon, fixes for existing ones 2019-08-06 12:51:14 +03:00
timokoesters
1227596406 Implement specifier syntax and cleanup 2019-08-06 08:31:48 +02:00
Joshua Barretto
daa9b81c69 Made boss spawning rarer 2019-08-04 10:27:08 +01:00
Joshua Barretto
7c6479a1fa More dungeons 2019-08-04 10:09:51 +01:00
Joshua Barretto
f14674ee9a Switched to UnitChooser 2019-08-03 22:15:23 +01:00
Joshua Barretto
8b9a92b30e Added dungeons 2019-08-03 22:15:23 +01:00
Joshua Barretto
677c5781ba Added bosses, improved secret object spawn rates 2019-08-02 20:10:52 +01:00
Joshua Barretto
6ff75dcf0b Removed NPCs that are outside the VD 2019-08-02 20:10:52 +01:00
Joshua Barretto
b5d10bfb3e Added worldgen npcs 2019-08-02 20:10:52 +01:00
Acrimon
a5b19935a2 Use named generator in worldgen. 2019-07-30 16:10:59 +02:00
Acrimon
ee49ebe807 Update rand, log and scan_fmt 2019-07-29 13:42:26 +00:00
Vechro
9c1b93a70a Fix pyramid spawning 2019-07-17 20:18:56 +03:00
Joshua Barretto
9d1575db3f Fixed pyramid biome bug 2019-07-10 12:57:29 +01:00
Joshua Barretto
09717f1c56 Added pyramids 2019-07-10 00:51:54 +01:00
Joshua Barretto
92d4b4dfbe Smoothed world borders 2019-07-09 21:42:27 +01:00
Joshua Barretto
9bc50ae547 Better acacia tree colours 2019-07-09 20:42:43 +01:00
Joshua Barretto
a6c9c10062 Better tree colours 2019-07-09 17:58:20 +01:00
Joshua Barretto
e7dd151833 Added fruit trees 2019-07-09 17:08:43 +01:00
Joshua Barretto
73e9dba153 Smoothed temperate/savannah border 2019-07-09 00:35:59 +01:00
Joshua Barretto
fa28c8a6c6 Made cliff detection more tolerant 2019-07-09 00:31:43 +01:00
Joshua Barretto
cfdb0209bd Better savannah colours 2019-07-09 00:09:04 +01:00
Joshua Barretto
d79f7d9714 Colour improvements 2019-07-08 22:10:48 +01:00
Joshua Barretto
879789ecc4 Fixed acacia colours 2019-07-08 20:28:48 +01:00
Joshua Barretto
8e8bad137a Re-added oceans 2019-07-08 20:08:08 +01:00
Joshua Barretto
6b415c1b87 Added large ribcages in deserts 2019-07-08 17:57:41 +01:00
Joshua Barretto
14ba09f96b Added acacia trees, desert bones, fixed minor worldgen issues 2019-07-08 17:41:20 +01:00
Joshua Barretto
f823b0c992 Fixed tree clipping and several other minor issues 2019-07-08 17:00:50 +01:00
Joshua Barretto
c2a11ed6b2 Improved worldgen performance with more precise z bound checks 2019-07-08 15:51:38 +01:00
Joshua Barretto
71f4704502 Restructured mountain profile 2019-07-08 01:49:54 +01:00
Joshua Barretto
c6e24b593e Rescaled mountains 2019-07-08 00:50:36 +01:00
Joshua Barretto
44b5473a82 Added rare structures, totally refactored structure spawning 2019-07-08 00:50:36 +01:00
Joshua Barretto
29803524fd Made temperature biomes larger, added savannah ground 2019-07-08 00:50:36 +01:00
Joshua Barretto
1d8656cb7d Fixed tree trimming 2019-07-07 00:21:32 +01:00
Joshua Barretto
abd07aea09 Improved z caching 2019-07-06 20:00:17 +01:00
Joshua Barretto
3623871775 Initial implementation of z cache 2019-07-06 20:00:17 +01:00
Joshua Barretto
6fc2096dae Reenabled towns, lighter days 2019-07-06 20:00:17 +01:00
Joshua Barretto
61568eac7c Better grass colour 2019-07-06 20:00:17 +01:00
Songtronix
863731f3ae Fix warnings from world 2019-07-01 18:40:41 +00:00
Joshua Barretto
f2df3a9d18 Block-hopping fix, better dusk shaders 2019-06-29 22:47:24 +01:00
Joshua Barretto
5839990a28 Disabled cities until a later MR 2019-06-26 19:32:26 +01:00
Joshua Barretto
e414b82d2f fmt 2019-06-26 19:14:12 +01:00
Joshua Barretto
b40d19ad0e Added settlement generation 2019-06-26 19:14:12 +01:00