Commit Graph

36 Commits

Author SHA1 Message Date
Adam Whitehurst
4e574cb29a Inputs enhancements 2019-11-29 15:20:35 +00:00
Marcel Märtens
242a0d35bd fixing character movement to no longer fail normalization then get a zero vec and then normalize again
may this can be further simplyfied
2019-10-26 22:14:11 +02:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -04:00
Joshua Barretto
013afafba8 Made rolling less violent when changing directions 2019-10-17 12:21:22 +01:00
Joshua Barretto
707b79f2c8 Smoother movement, Space for climbing 2019-10-14 11:22:48 +01:00
Joshua Barretto
3f2e22f039 Exponential interpolation for linear damping
With an additional approximation to allow for the same size jumps given different framerates.
2019-09-09 19:11:40 +00: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
jshipsey
b81cd6a8f9 combine character.action movement blocks 2019-08-30 22:51:46 -04:00
jshipsey
78bf7a0997 slowed movement for block/attack, cleaned up code, made foot speed velocity dependent, tweaked blocking animation 2019-08-30 22:50:53 -04:00
timokoesters
952ec35857
Remove warnings 2019-08-29 19:54:53 +02:00
timokoesters
b725b0e9ea
End rolling when player is in the air 2019-08-27 11:06:55 +02:00
timokoesters
72564cf8b4
Make action durations constants 2019-08-27 11:06:54 +02:00
timokoesters
b89bfcbfc1
Remove unnecessary map 2019-08-26 13:12:44 +02:00
timokoesters
08fa6a3414
Prevent problems with no vel while rolling in the future 2019-08-26 13:12:44 +02:00
timokoesters
b96557d012
Fix roll from cliff bug 2019-08-26 13:12:42 +02:00
timokoesters
a715a84ea7
Implement unstoppable rolling 2019-08-26 13:12:42 +02:00
timokoesters
01410569a4
Use look_dir when blocking 2019-08-26 13:12:41 +02:00
timokoesters
62745c4cad
Only use look_dir for ori when wielded or attacking 2019-08-26 13:12:40 +02:00
timokoesters
0912de2a26
Make aiming more precise 2019-08-26 13:12:38 +02:00
timokoesters
e90f95bc75
Look in the direction of the camera 2019-08-26 13:12:38 +02:00
timokoesters
799c73d43a
Fix characterstate in movement.rs, not phys.rs 2019-08-26 13:12:35 +02:00
timokoesters
5d5ccd7b99
Move from state components to single CharaterState struct
This makes split animations easy and improves overall code quality
2019-08-26 13:12:34 +02:00
Vechro
c6b2303890 Fix wielding jump issue 2019-08-21 20:34:21 +03:00
jshipsey
f14a182734 removed wield slowdown by popular request 2019-08-18 03:26:52 -04:00
Joshua Barretto
a324f01a1d Improved orientation slerping 2019-08-04 15:51:17 +01:00
Joshua Barretto
f08d8bb00a Better movement lerping 2019-08-03 22:15:23 +01:00
timokoesters
6b69b24185 Make ori more precise 2019-08-03 20:41:55 +02:00
timokoesters
91b8b69186 Use slerp for ori 2019-08-03 20:33:31 +02:00
Joshua Barretto
71bf09d3b7 Better orientation in the air 2019-08-03 18:30:48 +01:00
Joshua Barretto
e52250a193 Made orientation change with move_dir, added a small amount of knockback 2019-08-03 18:24:07 +01:00
Joshua Barretto
51fa4f3cfc Merge branch 'animation-tweaks' into 'master'
animation and movement tweaks

See merge request veloren/veloren!389
2019-08-03 12:09:38 +00:00
timokoesters
3a43150bc5 Make hostile npcs back away when too close 2019-08-03 12:53:39 +01:00
jshipsey
13310ab9ca improved animations and movement 2019-08-01 23:57:26 -04:00
Joshua Barretto
123a78552a Fixed block-hopping on edges, added correct inventory slots 2019-08-01 09:09:26 +01:00
Joshua Barretto
1dc654dde7 Added object entities 2019-07-21 19:22:49 +01:00