Commit Graph

2933 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
haslersn
886d554f52 common: prepend/append multiple SubChunks in a batch 2019-09-06 15:33:36 +02:00
haslersn
963c5a7785 common: Calculate magic number in Chonk 2019-09-06 15:33:36 +02:00
haslersn
8451a06804 common: Set TerrainChunk::SIZE.z = std::i32::MAX 2019-09-06 15:33:36 +02:00
haslersn
57354fb062 common: For trait ReadVol remove get_unchecked() 2019-09-06 15:33:36 +02:00
Joshua Barretto
66c58840ef Merge branch 'scott-c/first-person-model' into 'master'
Add first person models

See merge request veloren/veloren!443
2019-09-06 13:02:03 +00: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
930e075ad1 half camera height when rolling 2019-09-06 19:29:52 +08:00
Joshua Barretto
f574b1748a Merge branch 'desttinghim/sound-effects' into 'master'
Sound Effects

Closes #163 and #97

See merge request veloren/veloren!473
2019-09-06 11:19:32 +00:00
scott-c
645debe230 Hide player hands when rolling in first person 2019-09-06 19:12:46 +08:00
Louis Pearson
7f27385f95 Removed unescessary if statements 2019-09-06 05:02:29 -06:00
scott-c
836525c33a Simplify model cache key, fixes performance issue 2019-09-06 18:59:05 +08:00
Louis Pearson
02af86d2d6 Change ear pos to Vec3 2019-09-06 04:44:15 -06:00
Louis Pearson
059d968499 Cargo fmt 2019-09-06 04:38:02 -06:00
Louis Pearson
675d72a3ce Code cleanup 2019-09-06 04:36:42 -06:00
Louis Pearson
57fe89e5c8 Fix warnings 2019-09-06 04:25:17 -06:00
scott-c
bc1ccfc99b Fix first person weapon visible while not wielding 2019-09-06 18:22:26 +08:00
Louis Pearson
3fe12ee85f Fix settings move 2019-09-06 04:06:26 -06:00
Andrew Pritchard
05dff792fc Deref instead of clone vel 2019-09-06 14:22:58 +08:00
Andrew Pritchard
b4c74279b7 Vec3 is apprently *not* Copy, Set near plane to 0.1 to prevent tirangle flickering 2019-09-06 13:24:42 +08:00
Andrew Pritchard
b4d5663fed Vec3 is copy 2019-09-06 12:04:20 +08:00
Joshua Barretto
cbb0a395e9 Merge branch 'pfauenauge/flying-rod-axe-pixart' into 'master'
Pixel art for axe and flying rod, shadow for zone names and death message

See merge request veloren/veloren!478
2019-09-05 17:28:33 +00:00
Monty Marz
943495c0c5 Pixel art for axe and flying rod, shadow for zone names and death message 2019-09-05 17:28:33 +00:00
Andrew Pritchard
5b82808df0 Merge branch 'master' into 'fix-jump-height'
# Conflicts:
#   common/src/sys/phys.rs
2019-09-05 13:07:46 +00:00
Andrew Pritchard
d0b2f7565a Revert "Revert "Exponential interpolation for linear damping""
This reverts commit 8b9a3ae1df.
2019-09-05 18:24:38 +08:00
Andrew Pritchard
8b9a3ae1df Revert "Exponential interpolation for linear damping"
This reverts commit 94b9f50efa.
2019-09-05 18:24:22 +08:00
Louis Pearson
8e5f993a5b Format files 2019-09-05 03:11:18 -06:00
Louis Pearson
2bca20cf69 Get sound effects working 2019-09-05 03:08:09 -06:00
Louis Pearson
529cb40dc4 Add soundcache
Still getting the stuttering. Time to rethink channels
2019-09-05 03:08:09 -06:00
Louis Pearson
65008f7d54 Adds proper 3d sound?
Looks like loading the footstep files every time a sound is played
becomes a problem rather quickly.
2019-09-05 03:08:09 -06:00
Louis Pearson
b5a979c82e Change footstep rate 2019-09-05 03:08:09 -06:00
Louis Pearson
00830108e9 Add positional audio
Orientation needs to be set now
2019-09-05 03:08:09 -06:00
Louis Pearson
fcb141a160 Add delay to walking sounds 2019-09-05 03:08:09 -06:00
Louis Pearson
ad3bd0b2ce Add footstep sounds, implement crude footstep sounding
Sounds are played every tick, which is not good.
2019-09-05 03:08:09 -06:00
Louis Pearson
41cd20aaf8 Add play_music call to audiofrontend 2019-09-05 03:08:09 -06:00
Louis Pearson
132d108086 Remove audio/base.rs 2019-09-05 03:08:09 -06:00
Louis Pearson
447cfec19f Add support for fading sounds 2019-09-05 03:08:09 -06:00
Louis Pearson
9dc1f8f549 Revamp AudioFrontend
audio::base had a lot of unnescessary abstractions and constructs.
The current code simplifies the API in a way that makes sense and
that will allow sound effects and fading to be added in an incremental
way.
2019-09-05 03:08:09 -06:00
Andrew Pritchard
94b9f50efa Exponential interpolation for linear damping
With an additional approximation to allow for the same size jumps given different framerates.
2019-09-05 17:07:15 +08:00
Louis Pearson
0fe5b66dce Use latest version of Rodio instead of custom branch 2019-09-05 03:04:53 -06:00
Forest Anderson
4577511c39 Merge branch 'imbris/ci_updates' into 'master'
Deny all warnings, Switch to cargo check in CI

See merge request veloren/veloren!476
2019-09-05 00:19:50 +00:00
Imbris
52d84248ec Remove all warnings 2019-09-04 19:03:49 -04:00
scott-c
d045dbb2f6 Reduce first person camera interpolation time 2019-09-04 22:05:59 +08:00
scott-c
5fd4f00012 Add first person models 2019-09-04 22:05:59 +08:00
Imbris
e1eccb18fd Deny all wanings, only use check in CI 2019-09-04 01:13:18 -04:00
Imbris
1f859111c4 Merge branch 'imbris/char-creation' into 'master'
Segment combination for character creation

Closes #94

See merge request veloren/veloren!470
2019-09-04 03:25:09 +00: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
jshipsey
ca4da22c7d fixing eyes, cleanup on offsets 2019-09-03 23:06:13 -04:00