Commit Graph

24 Commits

Author SHA1 Message Date
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
scott-c
37d9acedb0 cleanup comment 2019-09-06 20:22:17 +08:00
scott-c
fcdb0843fc Cleanup unused import 2019-09-06 19:35:47 +08:00
scott-c
645debe230 Hide player hands when rolling in first person 2019-09-06 19:12:46 +08:00
scott-c
836525c33a Simplify model cache key, fixes performance issue 2019-09-06 18:59:05 +08:00
scott-c
bc1ccfc99b Fix first person weapon visible while not wielding 2019-09-06 18:22:26 +08:00
scott-c
5fd4f00012 Add first person models 2019-09-04 22:05:59 +08:00
Imbris
fc9c87878e Fix some warnings, cleanup comment 2019-09-03 23:09:29 -04:00
Imbris
8a994ada8e Remove derpy eyes :( , fix undead eye indices, fmt 2019-09-03 23:06:15 -04:00
Imbris
cc331c10b6 Remove use of empty.vox 2019-09-03 23:06:09 -04:00
Imbris
074eee06e6 Add pants coloring, chest and pants sliders 2019-09-03 23:06:06 -04:00
Imbris
0ffc534df2 Add separate eye color lists for each race 2019-09-03 23:06:02 -04:00
Imbris
c4999f5e9d adjust how figure head coloring is done 2019-09-03 23:05:58 -04:00
Imbris
9d086949d1 Add basic index based coloring for figures 2019-09-03 23:05:56 -04:00
Imbris
fd251c4d3a Fix sliders, remove uneeded method, fix aspect ratio in character creation 2019-09-03 23:05:54 -04:00
Imbris
7bebffb2af Add ron file for head offsets, segment unionizer 2019-09-03 23:05:52 -04:00
Imbris
6289ce8c7f Split up figure.rs 2019-09-03 23:05:50 -04:00
timokoesters
2ca0c62654
Cleanup 2019-06-10 22:44:03 +02:00
Cody
75ca605f5d
Changes the physics misnomer Direction to Orientation and adjusts some ECS read_storage names. 2019-05-31 16:36:24 -04:00
Cody
b05eb2b861
Changes asset filenames for consistencies. 2019-05-31 16:36:24 -04:00
Louis Pearson
5a04e98725 Change asset paths to be relative
Former-commit-id: 6c5f18484fe1b7cbf417d45c38af5ffaa8d48ac6
2019-05-18 13:37:44 -06:00
Forest Anderson
2e7984ebc3 Char selection
Former-commit-id: 8da211b00dcd9a550a8f46e79164ece8f5c193e5
2019-05-18 19:03:13 +00:00
Cody
6b09fd7c53 Pedantic comment and language fixes.
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00
jshipsey
732c43ce11 first quadruped changes
Former-commit-id: 71ad084a872c3bf96d5cbab53c376d214f3cdcd0
2019-05-13 19:43:10 -04:00