Commit Graph

147 Commits

Author SHA1 Message Date
Joshua Barretto
933e48ac3b Merge branch 'fix-jump-height' into 'master'
Fix jump height

See merge request veloren/veloren!485
2019-09-08 15:50:08 +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
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
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
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
Imbris
52d84248ec Remove all warnings 2019-09-04 19:03:49 -04:00
timokoesters
952ec35857
Remove warnings 2019-08-29 19:54:53 +02:00
timokoesters
05f2f168fd
Make falldamage local, don't use force update for local, cleanup 2019-08-26 13:12:43 +02:00
timokoesters
eb34e5bb27
fmt 2019-08-26 13:12:43 +02:00
Songtronix
814e858720
Split Events in ServerEvent and LocalEvent 2019-08-26 13:12:41 +02:00
timokoesters
0bb70d8182
Fix water 2019-08-26 13:12:36 +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
c40e15f070 Fix velocity when stuck 2019-08-21 20:17:19 +03:00
Joshua Barretto
825d8bb632 Fixed water in caves, made water reflection vary with lighting 2019-08-18 10:33:18 +01:00
Joshua Barretto
192f5d355f Switched to EventBus system 2019-08-07 16:39:16 +01:00
Joshua Barretto
98a913195b Added entity event system, fixed fall damage 2019-08-07 10:50:49 +01:00
telastrus
e4f2c73b85 undo unnecessary pub mod
fixed comments

fixed other comment
2019-08-06 22:46:25 -04:00
telastrus
0eafd42c0f fall damage + velocity debug 2019-08-06 17:51:13 -04:00
Joshua Barretto
73a44d0fb1 Collision fixes, better camera in build mode 2019-08-06 16:00:14 +01:00
Monty Marz
d180c47edc Pfau/combat 2019-08-03 21:11:57 +00:00
Joshua Barretto
c33892e8af Made entity collisions z-dependent 2019-08-03 19:09:01 +01:00
Joshua Barretto
3063546a58 Added entity pushback 2019-08-03 12:26:05 +01:00
Joshua Barretto
39fc1d6b71 Added entity pickup, changed item model 2019-08-01 09:12:00 +01:00
Joshua Barretto
fc49293874 Clickthrough on items 2019-08-01 09:09:26 +01:00
Joshua Barretto
31f8794c39 Started work on inventory manipulation 2019-08-01 09:09:26 +01: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
Joshua Barretto
d4821b8de8 Better fog 2019-07-21 00:32:36 +01:00
Joshua Barretto
bbd7f579d2 Fix for clipping 2019-07-09 15:07:53 +01:00
Joshua Barretto
9f6f9cb25f Fixed block snapping at lower framerates 2019-07-09 14:04:30 +01:00
Joshua Barretto
0f0f28284c Added 'perfect' collisions 2019-07-09 13:37:51 +01:00
Joshua Barretto
6bb48760d7 Fixed jittering collision bug 2019-07-09 11:51:00 +01:00
Justin Shipsey
1c10ff756f Holding weapon while running/jumping/standing 2019-07-06 19:00:05 +00:00
timokoesters
f5da167ce5
Fix warnings and clippy recommendations in common 2019-07-02 15:48:25 +02:00
Joshua Barretto
0de505b74c fmt 2019-06-30 23:46:55 +01:00
Joshua Barretto
14d9071670 Fixed minor physics bugs 2019-06-30 23:46:46 +01:00
Joshua Barretto
b35832c37d Prevent movement in unloaded chunks 2019-06-30 19:54:13 +01:00
Joshua Barretto
2985f94751 Prevented stalling when jumping before a block-hopping 2019-06-30 19:54:13 +01:00
Joshua Barretto
af755c0964 fmt 2019-06-29 22:47:24 +01:00
Joshua Barretto
f2df3a9d18 Block-hopping fix, better dusk shaders 2019-06-29 22:47:24 +01:00
Joshua Barretto
f1ba97ae7a Merge branch 'timo-rolling-fix' into 'master'
Rolling bugs + NPC bugs + "Impossible" bug

See merge request veloren/veloren!265
2019-06-29 21:47:05 +00:00
timokoesters
d235374d8e
Fix npc and death bug 2019-06-29 22:43:44 +02:00
timokoesters
5fcf6ededa
magnitude_squared everywhere, actionstate everywhere, constant for moving 2019-06-29 22:11:21 +02:00
Joshua Barretto
324de39bfe fmt 2019-06-29 16:48:43 +01:00
Joshua Barretto
905b3d6f45 Prevented block-hopping when not on ground 2019-06-29 16:48:43 +01:00
timokoesters
5a41a58c0a
End roll when going too slow 2019-06-29 14:10:52 +02:00
Joshua Barretto
acb184e15d Made physics cheaper still 2019-06-27 15:37:33 +01:00
Joshua Barretto
6444ba1933 Made collision detection cheaper, fixed snapping bug, somewhat nerfed rolling 2019-06-27 15:21:41 +01:00
Joshua Barretto
cdb405d7b8 Made physics fps-independent 2019-06-26 22:43:47 +01:00
Joshua Barretto
7b7d843d0f Comments and fmt 2019-06-26 11:53:43 +01:00
Joshua Barretto
4a340f69b5 Camera clipping and block-hop fix 2019-06-26 11:53:43 +01:00
Joshua Barretto
5decd48db6 Used velocity bias for collision correction 2019-06-26 11:53:43 +01:00
Joshua Barretto
6258035a4d Added attempts counter to prevent infinite collision loops 2019-06-26 11:53:43 +01:00
Joshua Barretto
44f4031e58 Resolved collision bugs with prioritised collision system 2019-06-26 11:53:43 +01:00
Joshua Barretto
ae168711d7 Added configurable details 2019-06-26 11:53:43 +01:00
Joshua Barretto
0d984a5671 Fixed collision bugs 2019-06-26 11:53:43 +01:00
Joshua Barretto
2c24ba7776 Fixed block-hopping, block-snapping, added interpolation to figures 2019-06-26 11:52:36 +01:00
Joshua Barretto
7a1359961c Removed block-hopping, fixed collisions 2019-06-26 11:52:36 +01:00
Joshua Barretto
285cf2f973 Added proper 3D collisions 2019-06-26 11:52:36 +01:00
timokoesters
f0e6e76423
Don't sync animations, just sync components used to construct them 2019-06-16 19:59:15 +02:00
jshipsey
8e019cdbec
lowered roll duration 2019-06-16 19:59:14 +02:00
jshipsey
0c534efddd
adjusted v-tilt, roll speed, run animation tempo 2019-06-16 19:59:13 +02:00
jshipsey
e066d98762
slight roll tweak, altered speeds in physics 2019-06-16 19:59:13 +02:00
timokoesters
ae081b8f67
Make roll timed 2019-06-16 19:59:13 +02:00
jshipsey
ecf0d9647c
added roll physics, improved anims for roll, glide, run, attached hands to torso 2019-06-16 19:59:12 +02:00
timokoesters
7deb3da1af
Add pub use phys:: and remove most pub mods 2019-06-16 19:59:12 +02:00
timokoesters
955c20fa61
Remove crun and cidle components and inputs 2019-06-16 19:57:04 +02:00
timokoesters
e2c81dd036
Fixes for .maybe() and animation 2019-06-16 19:57:04 +02:00
jshipsey
4de5489367
groundwork for role, crun, cidle 2019-06-16 19:57:04 +02:00
Cody
1f6c1188bc
Removes input sys, moves code to combat and phys 2019-06-16 19:57:03 +02:00
timokoesters
b947d78dac
Improve organization of controls 2019-06-16 19:57:03 +02:00
Louis Pearson
4cf13cc588 Integrate forces *after* velocity is applied 2019-06-04 12:14:10 -06:00
Louis Pearson
52764376ae Use constants and normalized move direction 2019-06-04 10:09:34 -06:00
Louis Pearson
82aabf242a Add a function for integrating forces 2019-06-04 09:42:31 -06:00
Louis Pearson
e2d96cc7e0 Add CollisionShape, move friction calculations to phys
Former-commit-id: 3723a8f74bc2854aaa98357e2d0b51a1668d9030
2019-06-04 07:57:12 -06:00
Louis Pearson
afc5199b63 Remove z < 0 hack
Former-commit-id: e0e4ad6e806189cd67ac626685ce9ed1456222f0
2019-06-04 07:55:49 -06:00
timokoesters
5c48330460 Fix moving after death (again)
Former-commit-id: 1c46fed1f5d9a74bcf926354b3b4efd442f5b5bc
2019-05-28 18:37:49 +02:00
Joshua Barretto
b48b9f0141 Attempted fix of deltatime bug
Former-commit-id: d287bbf541dd318a7034f1e3ad4d9a167ac3c344
2019-05-21 22:51:41 +01:00
Cody
6b09fd7c53 Pedantic comment and language fixes.
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00
timokoesters
bdf241bf24 Add TODO comment
Former-commit-id: fdc9e6d65d9d534e238a6ba2d1c2e66f194d975e
2019-05-11 21:48:05 +02:00
timokoesters
4ce1f9ee54 Temporary fix for falling into void
Former-commit-id: 8e3d9c0c34e897f13cc60d5968f390ed0107dd76
2019-05-11 21:38:05 +02:00
Joshua Barretto
94fd0b1a22 Fixed running animation, changed movement physics
Former-commit-id: 1b4c1f63701668074874aa6efc65f883f29e2cc1
2019-05-09 18:57:47 +01:00
Joshua Barretto
e6a40bbda2 Added jumping and Jump animation state
Former-commit-id: 6ae9f7e9c9fb2bc519a0ef2c1c8195376616ed4c
2019-05-09 18:57:47 +01:00
Joshua Barretto
9ebe3c3e6f Added a delta time cap to avoid missing important physics events
Former-commit-id: e9f14ddda0963537ae6593c2dacc6a877f88c824
2019-05-09 18:57:47 +01:00
Joshua Barretto
3cd48ba468 Added lz4 compression to networking
Former-commit-id: 7910c933f110d595da70552716b6e8f0eb7544a1
2019-05-09 18:57:47 +01:00
Forest Anderson
993388e56a Ran fmt on codebase
Former-commit-id: 7fecffa1dc66fffba4f07d45fb80960dc5178f4f
2019-04-29 20:37:19 +00:00
Joshua Barretto
0b0c71592c Fixed orientation issue
Former-commit-id: 9fdeadb4c9a9ff55cbdeccbbf97ac32b4e9f4226
2019-04-25 17:52:11 +01:00
Joshua Barretto
9105bf0811 Added better terrain collisions
Former-commit-id: 38de44654d8050260a19a1da6c40c0f701602f13
2019-04-25 17:52:11 +01:00
Joshua Barretto
f210de09df Added raycasting (needs testing) and basic character terrain collision
Former-commit-id: be6bfacfd28e777a64d8157fce129f8072e20b38
2019-04-25 17:52:11 +01:00
Joshua Barretto
2c650f9cff Added basic agent AI
Former-commit-id: bb17edc8f2027c0c63c6a3ef0fc80c7a68c9aa05
2019-04-17 01:39:39 +01:00
Imbris
33b8922aa4 move/name velocity constant, rename move_vec, simplify cam rotate_by()
Former-commit-id: 0835a9e91bd0133922f5d4e9731b9f6b6b547a0b
2019-03-02 14:43:51 -05:00
Imberflur
6f5f80f749 add player movement with basic physics ecs system
Former-commit-id: f2e151971a42b25bfd1971311f5a06535a577007
2019-03-01 22:48:30 -05:00