Commit Graph

80 Commits

Author SHA1 Message Date
Acrimon
e151b81c11 Update lib.rs 2019-10-03 17:19:22 -04:00
Joshua Barretto
8a2dc836d8 Fixed cut-off cliff, optimised structure generation 2019-09-23 16:20:28 +01: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
Joshua Barretto
fe2ad92201 Initial implementation of towns 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 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
05d501632e Fixing jungle. 2019-08-21 20:41:32 +02:00
Joshua Yanovski
8c644e2bb1 Distribution "fun." 2019-08-20 22:48:22 +02:00
Acrimon
a41cf1a83d Disabled unsafe using lint level. 2019-08-19 14:39:23 +02:00
Joshua Barretto
f0e52e6002 Better reflections and water fog 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
Joshua Barretto
daa9b81c69 Made boss spawning rarer 2019-08-04 10:27:08 +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
Joshua Barretto
92d4b4dfbe Smoothed world borders 2019-07-09 21:42:27 +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
3623871775 Initial implementation of z cache 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
b40d19ad0e Added settlement generation 2019-06-26 19:14:12 +01:00
Joshua Barretto
216c2583fb Paths and smoother region borders 2019-06-26 19:14:12 +01:00
Piotr Korgól
4644199f1b Make minimap title show location names 2019-06-26 19:14:12 +01:00
Joshua Barretto
451bbe9921 Basic region generation 2019-06-26 19:14:12 +01:00
Joshua Barretto
bab7746a8a Updated and fixed world viewer example 2019-06-15 13:34:28 +01:00
Joshua Barretto
a9d30bbfb6 Adjusted tree colour variation 2019-06-15 11:36:26 +01:00
Joshua Barretto
9fed2c1534 Merged stumps, adjusted scale code 2019-06-13 11:59:05 +01:00
Joshua Barretto
e4d5476d28 Major worldgen structural refactor 2019-06-13 11:59:05 +01:00
Joshua Barretto
3285fc9b88 Added sampler clearing 2019-06-13 11:59:05 +01:00
Joshua Barretto
61dda0ea8c Separated sampler code from simulation code 2019-06-13 11:59:05 +01:00
Cody
14ac5babd4 Removes most unused imports; changes some unused variables to underscores or provides a leading underscore; removes some unnecessary variables and mutable declarations; and performs other miscellaneous warning fixes. 2019-06-06 14:48:41 +00:00
Joshua Barretto
9a8552d5fb Added rocks 2019-06-05 20:52:51 +01:00
Joshua Barretto
06201c7353 fmt 2019-06-05 20:52:51 +01:00
Joshua Barretto
92f2d36b0c Optimised sub-terrain chonk storage, fixed hash chunk bug, altered terrain base 2019-06-05 20:52:51 +01:00
Joshua Barretto
92391883a9 fmt
Former-commit-id: 689464ed1009ebfd74769fa113fc7b433ea62bbd
2019-05-25 06:54:47 +01:00
Joshua Barretto
c919f6fc83 Better tree spawning, more trees
Former-commit-id: abf4ff8a2eb005c2cd1832f5a3ae7182c4fc31f6
2019-05-25 06:38:40 +01:00
Joshua Barretto
4d73f38e6d Refactored worldgen sampling, added cache layer
Former-commit-id: 3ad5277ed0c871d6678a42629145cb722d4c76c5
2019-05-25 05:51:45 +01:00
Joshua Barretto
857315a27d Added basic structure generation
Former-commit-id: 88a6bf2e18ac4f8f9b560797c8aac82ca318afb0
2019-05-25 05:51:45 +01:00
Joshua Barretto
611b270ded Improved cache-coherency of world chunk interpolation
Former-commit-id: 2f45cf47916970185c65c701dfc63ae838f05734
2019-05-25 05:51:45 +01:00