Commit Graph

152 Commits

Author SHA1 Message Date
S Handley
ea2e0d17de SFX system
This is an event based approach to SFX sounds. There is a specific
character sound event mapper which determines sfx to play based on
character or NPC state, as well as emitting sfx events for
non-character-triggers such as levelling up.
2019-11-23 08:26:39 +00:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -04:00
Imbris
b09bddda79 Make clients subscribed to nearby regions and only send physics updates from those regions. 2019-10-23 22:43:02 -04:00
Monty Marz
fdfab6a807 refactor: create_projectile doesn't take a light
It returns a builder so the caller can just do it
2019-10-17 20:59:36 +00:00
timokoesters
051a964798
fix: server side fall damage
This avoids flickering health
2019-10-08 18:55:30 +02:00
timokoesters
b20cf6c62b
fix: set minimum speed for fall damage and balance it 2019-10-08 18:55:30 +02:00
timokoesters
460a494e77
fix(bow): Don't remove vel and use sticky component instead 2019-10-04 21:30:13 +02:00
timokoesters
575f7da64d
feat(bow): Client side prediction 2019-10-04 21:02:43 +02:00
timokoesters
e3c02f8ac1
Allow projectiles to react to triggers 2019-10-04 21:02:40 +02:00
Joshua Barretto
e22fe81a2f Added velorite 2019-09-26 00:15:07 +01:00
Joshua Barretto
a961a267f1 Added apple and mushroom collection 2019-09-26 00:15:07 +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
timokoesters
ecbf7cad5b Remove old code 2019-08-31 09:00:20 +02:00
timokoesters
6e1c78e5d5
Add debug mode item giving speed boost in look_dir on click 2019-08-29 19:44:28 +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
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
Piotr Korgól
0221de484e Give singleplayer its own server settings 2019-08-14 17:51:59 +02:00
Piotr Korgól
98c0692260 Add AdminPerms component, make some commands require it 2019-08-14 17:30:36 +02:00
Acrimon
b4a46f3e6e Finished switch to hashbrown. 2019-08-11 22:38:28 +02:00
Joshua Barretto
5b62531da3 Added /explosion command 2019-08-07 18:17:04 +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
Joshua Barretto
677c5781ba Added bosses, improved secret object spawn rates 2019-08-02 20:10:52 +01:00
Dominik Broński
f644b6ab89 Revert "Merge branch 'imbris/upgrade_specs' into 'master'"
This reverts merge request !375
2019-08-01 23:32:33 +00:00
Imbris
5f56657f6c Upgrade specs to 0.15 2019-08-01 18:09:13 -04:00
Joshua Barretto
995090d2d4 Added item drops 2019-08-01 09:12:00 +01:00
Joshua Barretto
5bb7998d5a Added inventory sync messages and InventoryUpdate component 2019-08-01 09:09:26 +01:00
timokoesters
c6034bf450 Use Last<C> to check if a physics component changed 2019-07-30 08:32:03 +02:00
Joshua Barretto
5cdfb26e0d Added LightEmitter component 2019-07-21 19:22:49 +01:00
Joshua Barretto
1d21359337 Removed warning on OoB block modification 2019-07-20 19:08:28 +01:00
Joshua Barretto
ce327445a7 Send block diffs instead of entire chunks on block change 2019-07-20 16:41:03 +01:00
Piotr Korgól
04d3c077d0 Remove printlns 2019-07-03 22:38:28 +02:00
Piotr Korgól
7f08377001 Sync CanBuild component, fix /build messages 2019-07-03 21:28:07 +02:00
Piotr Korgól
bf748ae742 Add CanBuild component, Block placing client messages and build mode command 2019-07-03 21:28:07 +02:00
timokoesters
f5da167ce5
Fix warnings and clippy recommendations in common 2019-07-02 15:48:25 +02:00
Joshua Barretto
631df59083 Merge branch 'zesterer/small-fixes' into 'master'
Fixed chonk memory usage bug, added block manipulation

See merge request veloren/veloren!278
2019-07-01 15:22:04 +00:00
Joshua Barretto
489f5f6b2a fmt 2019-07-01 14:38:45 +01:00
Joshua Barretto
c8a2e4722c Fixed chonk memory usage bug, added block manipulation 2019-07-01 14:36:45 +01:00
jshipsey
2ce5c5881e combat run/jump/idle animation states 2019-06-30 18:53:44 -04:00
timokoesters
14400f6380
Remove Actor and use Body instead 2019-06-30 18:57:24 +02:00
timokoesters
c80351f6ca
Fix double roll bug 2019-06-29 19:49:51 +02:00
timokoesters
fe6f627d42
Clean up ecs actor body components 2019-06-29 01:49:33 +02: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
9279611d6d Added longer day/night cycle, /time command 2019-06-26 19:14:12 +01:00
Joshua Barretto
af432ec510 Calculate delta time properly, fix low fps collision issues by decreasing max dt 2019-06-26 11:53:43 +01:00
timokoesters
f0e6e76423
Don't sync animations, just sync components used to construct them 2019-06-16 19:59:15 +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
jshipsey
4de5489367
groundwork for role, crun, cidle 2019-06-16 19:57:04 +02:00
timokoesters
b947d78dac
Improve organization of controls 2019-06-16 19:57:03 +02:00
timokoesters
69cb2ed84f
Revamp control system 2019-06-16 19:57:03 +02: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
Cody
75ca605f5d
Changes the physics misnomer Direction to Orientation and adjusts some ECS read_storage names. 2019-05-31 16:36:24 -04:00
timokoesters
a6439984be Add connect, disconnect and kill messages
Former-commit-id: c25f6fb0b594e5d61a965447359536ca17173aa7
2019-05-27 19:45:43 +02:00
timokoesters
4696cd2c8b Add better inputs, input validation and more
Former-commit-id: 3227221b12a674f66b011ce0ba734e226f223f34
2019-05-25 23:46:56 +02:00
timokoesters
f4434013db Fix clear_terrain not changing Changes
Former-commit-id: da7b02939d6d0bc7dbef7d923fb880081f6e08aa
2019-05-25 23:21:40 +02:00
timokoesters
1826a2b4f9 Implement fast respawn
Former-commit-id: 17f9aceba5c40a5d3ddc2e0fd6795479487753fd
2019-05-25 23:21:39 +02:00
timokoesters
0344f3eba8 Implement hit time delay
Former-commit-id: 6c1990645fd07e23de5eb97b6fc22f34ce09a6b7
2019-05-25 23:21:39 +02:00
timokoesters
f5751d65b1 Fix terrain not loading
Former-commit-id: f9279878ab051c6083c4a1f5125531fe79151fb8
2019-05-25 23:21:39 +02:00
timokoesters
30bf1cde10 Add knockback
Former-commit-id: a703eb937ef7094a085548ca3197a575059855a0
2019-05-25 23:21:38 +02:00
timokoesters
a0918d11b6 Fix red effect
Former-commit-id: 1fd90a40aaaccb98aeb34715ee7cad5c0b3b3de7
2019-05-25 23:21:38 +02:00
timokoesters
fc39356cde Use correct time
Former-commit-id: df33e802ee46f9ebe190be705ff8d81f856024e0
2019-05-25 23:21:38 +02:00
timokoesters
b3e4ca0a5d Implement killing
Change animation history to animation
Add attack input event
Implement killing with ecs systems for damage and death
Sync attack properly
Sync deaths


Former-commit-id: 72b5be7d65d9d3fcbef50d4836a6f06ec218d69e
2019-05-25 23:21:37 +02:00
Piotr Korgól
0e2b09a5f8 Create a skeleton for the Inventory system and Item system
Former-commit-id: 2579b70257ee9faa6d8614c33677ad0fc3c77a0d
2019-05-18 16:46:14 +00:00
Cody
6b09fd7c53 Pedantic comment and language fixes.
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00
Joshua Barretto
91184356e7 Added chonks
Former-commit-id: a62fb321dbfb7541feaa9de4e641db9887b061fd
2019-05-17 18:44:30 +01:00
Joshua Barretto
fa052a22b7 More lenient max deltatime to avoid physics lag
Former-commit-id: bdd4a9d634f9aa1e52ab3885e5b8a49348011760
2019-05-17 13:39:40 +01:00
Joshua Barretto
3940e73b31 Stopped syncing time
Former-commit-id: 8453a8f1c2361b1e6b5bb7f11470c33f2c0f910b
2019-05-17 00:26:18 +01:00
Joshua Barretto
db4be8e492 Updated sphynx
Former-commit-id: f81484571bda8c5e15ea2b6c0e8b9b6892b094a3
2019-05-17 00:05:46 +01:00
Joshua Barretto
1209f0393d Added figure colour to shader and health component
Former-commit-id: 222c39bd401ad0a9707eb348d5640717004dbf96
2019-05-15 13:26:14 +01:00
Joshua Barretto
edfd2290eb Massively sped up VolMap offset calculations
Former-commit-id: 8f3cdf57a77691ca60c0921bc86a79c8cfe36539
2019-05-13 11:06:58 +01:00
Joshua Barretto
761c6e9cf8 Switched to actor system
Former-commit-id: d2a482f6209aff7aaa4e747e35ce4a7c8a79cdfc
2019-05-13 11:06:58 +01:00
sxv20_
e20c2a1e00 Move VolMap to HashMap<_, Arc<Chunk>>
Former-commit-id: e209891596acbb1705876a1cb7ccce3ac2fe2d45
2019-05-13 11:03:47 +01:00
Joshua Barretto
fc0f2f0801 Added option to not stop raycasting on error
Former-commit-id: 6e094b6514bcda2fbcdfe44dbb90900b50e939c2
2019-05-12 14:03:08 +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
Imbris
f0b0b83cc8 Store thread pool in State, Remove unnecessary dep
Former-commit-id: cbce09915267f264801c174817b97ed3528715fd
2019-05-01 14:10:43 -04:00
Forest Anderson
993388e56a Ran fmt on codebase
Former-commit-id: 7fecffa1dc66fffba4f07d45fb80960dc5178f4f
2019-04-29 20:37:19 +00:00
Joshua Barretto
5e38eee8d4 Added chunk deletion
Former-commit-id: 63c29e43c4dc28097aaf4e0ff72977c7db5cc28f
2019-04-25 20:08:26 +01:00
timokoesters
91057edfac Remove .internal and .internal_mut
Former-commit-id: 261b656ec400f6780f2be2f5a4c331cc3b2a64a2
2019-04-22 10:24:27 +02:00
timokoesters
b9607ef405 Fix #21 by checking animation history
Former-commit-id: 5272d1d7aee73fc07edeb31d9f29238d19b7d229
2019-04-17 19:39:12 +02:00
Joshua Barretto
2c650f9cff Added basic agent AI
Former-commit-id: bb17edc8f2027c0c63c6a3ef0fc80c7a68c9aa05
2019-04-17 01:39:39 +01:00
Piotr
ddb32eec30 Animation States
Former-commit-id: 769f09dc44143b5e54623ea819db2d6149429184
2019-04-16 14:29:44 +00:00
Joshua Barretto
c98d841890 Fixed physics sync
Former-commit-id: 86d3af46c69f6566f4cab8d93ecf27636a9563cf
2019-04-15 00:29:28 +01:00
Joshua Barretto
3d9f8105e6 Started work on server-side chunks
Former-commit-id: 84a6bd7358f67a77043c4b11c787538f073c8d28
2019-04-14 14:23:43 +01:00
Joshua Barretto
62b91eb01b Integrated Sphynx
Former-commit-id: 5d96983a385bb77a2876aa7439158252b7e2f0fc
2019-04-14 14:23:43 +01:00
Joshua Barretto
ffc4e6ebd4 Improved State API design
Former-commit-id: a32ab93409b1044fe2838f684d30ca2b963d4eb2
2019-03-19 11:35:38 +00:00
Joshua Barretto
664f28a972 Patched in netcode refactor
Former-commit-id: 34a3b9a95129edad6dc8280d9a3cb41581d4d386
2019-03-19 11:35:38 +00:00
Joshua Barretto
a8b0039898 Added networked entity updates, player entity allocation
Former-commit-id: b81d6e38a74f846d64c092d1422dc402f369100c
2019-03-19 11:35:38 +00:00
Joshua Barretto
bb93f29522 Fixed client/server comms bug
Former-commit-id: fffc9cbf59784e7e2c9c2d9a60b8f2520b6f41fb
2019-03-19 11:35:38 +00:00
Tanner Donovan
d9f179b980 update Duration method calls
Former-commit-id: 4343e30583f74094a73365465a1d1ca912b693e6
2019-03-18 16:46:37 -07:00
Joshua Barretto
2e613178a0 Component sync + UID system
Former-commit-id: 5ecddc0e1f9c1a15f99dd167b825178c972da062
2019-03-04 19:58:58 +00:00
Joshua Barretto
dbbcc1e80e Added basic networked communications, chat communication
Former-commit-id: 06bafdf69486f4da5fbc416835e34c5bed8c2caa
2019-03-04 19:58:58 +00:00
Imberflur
6f5f80f749 add player movement with basic physics ecs system
Former-commit-id: f2e151971a42b25bfd1971311f5a06535a577007
2019-03-01 22:48:30 -05:00
Joshua Barretto
248577bdef Added test terrain loading and meshing 2019-01-23 20:01:58 +00:00
Joshua Barretto
ae4f1ae2ea Added vox trait 2019-01-14 18:49:53 +00:00
Joshua Barretto
8184bc6fc0 Added figures, segments, test .vox files, basic animation test 2019-01-13 20:53:55 +00:00