Commit Graph

692 Commits

Author SHA1 Message Date
Imbris
334937568e Add an entity view distance setting that allows limiting the distance
entities are synced from and displayed in.

NOTE: Syncing entities work at the granularity regions which are
multi-chunk squares but the display of entities in voxygen is limited in
a circle with the radiues of the supplied distance.

Additional details and changes:
* Added `ViewDistances` struct in `common` that contains separate
  terrain and entity view distances (the entity view distance will be
  clamped by the terrain view distance in uses of this).
* View distance requests from the client to the server now use this
  type.
* When requesting the character or spectate state the client now passes
  its desired view distances. This is exposed as a new parameter on
  `Client::request_character`/`Client::request_spectate`. And the client
  no longer needs to send a view distance request after entering these
  states. This also allows us to avoid needing to initialize `Presence`
  with a default view distance value on the server.
* Removed `DerefFlaggedStorage` from `Presence` and `RegionSubscription` since the
  change tracking isn't used for these components.
* Add sliders in voxygen graphics and network tabs for this new setting.
  Show the clamped value as well as the selected value next to the
  slider.
* Rename existing "Entities View Distance" slider (which AFAIK controls
  the distance at which different LOD levels apply to figures) to
  "Entities Detail Distance" so we can use the former name for this new
  slider.
2022-08-25 23:24:43 -04:00
Imbris
895d6a2d8b Impove UX of server limits on the view distance
* When client gets its view distance set by the server it stores that as
  the max view distance allowed by the server.
* This is used to avoid skip sending requests if `set_view_distance` is
  called with larger values.
* This is then also displayed in the UI via greying out the slider when
  it goes past the limit and drawing another slide at the limit.
* The server clamping the client's view distance no longer leads to
  edits in voxygen's view distance settings (the view distance setting
  is instead preserved).
2022-08-25 23:24:43 -04:00
Imbris
7439d09708 Ensure that the client clears pending trades on its side when exiting to
the character screen (and similar actions). When any entity is
deleted cancel any existing trades associated with it.
2022-08-20 18:47:09 -04:00
IsseW
689376ec70 save spectate position 2022-08-14 22:41:07 +02:00
DaforLynx
daadf3abdb Gnarling Fort music; more specific sites; fix music spacing; new sfx 2022-08-14 01:57:58 +00:00
Samuel Keiffer
a1b5f53d15 Merge branch 'craft-all' into 'master'
Craft all

See merge request veloren/veloren!3525
2022-08-12 00:47:48 +00:00
Julio Cezar Silva
9315482fc4 Craft all 2022-08-12 00:47:48 +00:00
Joshua Barretto
52bd7b2485 Added automod 2022-08-11 11:09:52 +01:00
IsseW
87821d5c1d force update counter 2022-08-09 19:22:09 +02:00
Isse
0471e78f41 spectate mode :D 2022-08-09 18:43:13 +02:00
Marcel Märtens
bfcc2cb802 Change the version number to 0.13 2022-07-23 14:06:08 +02:00
DaforLynx
d2710635d8 Lightning strikes are less audible; cave music restored; fixed audio permanently stopping on logout 2022-07-21 08:27:35 +00:00
tygyh
120ee6b6c0 Fix typos 2022-07-15 18:59:37 +02:00
tygyh
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
Marcel Märtens
e4909650e1 update hashbrown, specs, and tracy 2022-07-06 15:41:59 +02:00
DaforLynx
9104a07530 Code cleanup, doubled volume of leaves.ogg 2022-07-04 18:11:43 +02:00
IsseW
fd12c8abdb Remove dead shader code, clean up weather.rs 2022-07-04 18:10:06 +02:00
DaforLynx
dc8424c549 Moving audio code 2022-07-04 18:10:05 +02:00
IsseW
6215ccd522 Remove dead code 2022-07-04 18:07:24 +02:00
IsseW
3eabe24f12 base occlusion texture size of off voxels 2022-07-04 18:07:19 +02:00
IsseW
08b0989789 add slider for rain map resolution 2022-07-04 18:07:18 +02:00
IsseW
54f958acc7 more correct occlusion 2022-07-04 18:07:16 +02:00
IsseW
79cac935c8 Added rain occlusion 2022-07-04 18:07:11 +02:00
IsseW
b578f0231f Interpolate in client 2022-07-04 18:07:06 +02:00
IsseW
78c1de19cf More accurate weather sim 2022-07-04 18:04:39 +02:00
IsseW
6585ef1513 weather dependant music 2022-07-04 18:11:43 +02:00
IsseW
b7c0196129 Server weather sim 2022-07-04 18:11:41 +02:00
Marcel Märtens
50d85940d8 implement a event channel that posts regular information on events for Participants 2022-07-03 21:21:59 +02:00
Samantha W
57ab1c5767 Add a client-side mutelist 2022-06-14 20:35:01 +00:00
Benoît du Garreau
8488c7b25e Upgrade assets_manager to 0.8.0 and image to 0.24
This removes a significant number of duplicated dependencies
2022-05-28 23:18:31 +02:00
Ben Wallis
34f580dfaa Introduced loot ownership rules to combat loot stealing by players
* Added `LootOwner` component used to indicate that an `ItemDrop` entity is owned by another entity
* A loot winner is now calculated after EXP allocation using the EXP per entity for weighted chance distribution
* Used existing Inventory Full overitem text to show "Owned by {player} for {seconds}secs" when a pickup fails due to a loot ownership check
* Updated agent code to take into account loot ownership when searching for `ItemDrop` targets to pick up
* Added `loot` ECS system to clear expired loot ownerships
2022-05-28 12:06:49 +00:00
Imbris
ca1a27bd11 Merge branch 'imbris/update-tracy' into 'master'
Update tracy

See merge request veloren/veloren!3400
2022-05-27 02:50:24 +00:00
Imbris
5cf899c4fe Plot fixes in client and dynamic name fix in voxygen (tracy update) 2022-05-26 22:19:11 -04:00
Sam
afd2c8730f Addressed most review comments (no assets). 2022-05-16 15:11:32 -04:00
Sam
d436362a8d Consolidated crafting UI for the primnary component of modular weapons. 2022-05-16 15:11:21 -04:00
Sam
8fc0138e84 Initial crafting UI for modular weapons. 2022-05-16 15:11:17 -04:00
Sam
a9e9a70687 Changed ModularComponent to allow it to be more extensible. Overhauled random modular weapon function so that there is less runtime cost to generate one. NO ASSETS 2022-05-16 15:11:11 -04:00
Sam
b048179c0a Changed Item to have ItemBase instead of ItemDef. ONLY ASSETS. 2022-05-16 15:11:11 -04:00
Sam
08b7bb781f Changed Item to have ItemBase instead of ItemDef. NO ASSETS. 2022-05-16 15:11:10 -04:00
Sam
e9885140c3 Client method added for modular weapon crafting. 2022-05-16 15:11:04 -04:00
IsseW
fb7aa07b01 site command completion 2022-05-15 23:57:21 +02:00
Marcel Märtens
efe284a673 make the client request a few more chunks to compensate for the delay in serialisation 2022-05-11 20:22:24 +02:00
Joshua Barretto
01e1cb34b0 Fixed minor LoD issues 2022-05-11 15:00:44 +01:00
Joshua Barretto
894e94bb2c Made 0 LoD distance not load anything 2022-05-11 13:07:57 +01:00
Joshua Barretto
f35c98d1a1 Added LoD distance setting 2022-05-10 12:40:06 +01:00
Joshua Barretto
1db7cc7fde LoD trees in snow are white 2022-05-10 12:38:36 +01:00
Joshua Barretto
b3126ca687 Initial implementation of LoD trees 2022-05-10 12:38:36 +01:00
Marcel Märtens
697673bcca update toolchain to nightly-2022-04-25 2022-05-03 15:22:28 +02:00
Marcel Märtens
fa49248c31 switch to upstream vek again 2022-04-28 09:10:55 +02:00
Marcel Märtens
affdf3131f update a bunch of dependencies, including clap3 2022-04-04 11:43:29 +02:00
Marcel
d05cb99007 Merge branch 'unvariant/trading_fix' into 'master'
prevent glider and sneak from triggering during trade

See merge request veloren/veloren!3264
2022-03-08 10:25:16 +00:00
ninefox
115b2875b3 prevent glider and sneak from triggering during trade 2022-03-07 20:28:38 -08:00
Imbris
e52159f638 Remove original character from game world when possessing to make persistence more robust. 2022-02-27 13:47:13 -05:00
Imbris
10803a9735 Stop using Character presence kind when possessing so that persistence doesn't get messed up. 2022-02-27 13:47:12 -05:00
Imbris
6f9ff17ce8 Properly handle cleanup of old entity controller during possession on both the client and server sides 2022-02-27 13:47:12 -05:00
Marcel
df7cd2da1a Merge branch 'isse/shared-waypoints' into 'master'
Shared and persistent waypoints

See merge request veloren/veloren!3162
2022-02-20 10:10:18 +00:00
Isidor Nielsen
a685a353cb Shared and persistent waypoints 2022-02-20 10:10:18 +00:00
Marcel Märtens
802b9e7914 Change the version number to 0.12 2022-02-18 22:36:53 +01:00
Samuel Keiffer
d89edc9357 Merge branch 'tygyh/Extract-controller-functions' into 'master'
Tygyh/extract controller functions

See merge request veloren/veloren!3151
2022-01-26 22:36:36 +00:00
Dr. Dystopia
bc0a8c7704 Create 'push_action' function 2022-01-26 19:52:19 +01:00
juliancoffee
fba89517de Move Veloren to 2021 edition 2022-01-26 16:46:40 +02:00
Joshua Barretto
043016a433 Don't try to mount unmountable entities, clippy fixes and fmt 2022-01-16 17:53:14 +00:00
Joshua Barretto
b3e2d825ed Overhauled mounting to make it more reliable 2022-01-16 17:53:13 +00:00
threadexception
3f5c9dcd13 Fix issue with chat after char selection 2022-01-16 17:22:55 +01:00
Sam
d86692c4fe Added in-memory persistence of ability sets per weapon kind pair. 2022-01-15 21:42:34 -05:00
Sam
efbc5f9b75 UI notifying player that their skillset has been invalidated. 2022-01-03 19:55:06 -05:00
Sam
27dd7b4391 Refactored skills code. 2022-01-03 19:55:01 -05:00
Imbris
e136e606a5 suppress clippy false positive, fmt 2021-12-26 14:40:50 -05:00
Imbris
b255f0ee0f put Client::tick_network function behind feature, remove unnecessary cloning of deleted entity vecs in entity sync, move prepare_send hack that avoids locking during message serialization from send_fallible to send, add job.cpu_status par mode adjustment around parallel section 2021-12-26 12:04:08 -05:00
Imbris
9788b144ec Decrease swarm movement speed 2021-12-25 19:24:12 -05:00
Imbris
6023670467 Improvements to swarm clients: space properly for the unclustered case so that regions don't overlap, advance time manually within Client::tick_network since State::tick isn't being called 2021-12-25 19:24:12 -05:00
Imbris
027f2f5719 Setup client binary that connects to the server with a group of clients positioned and moving in a few different patterns for profiling the server under network load. 2021-12-25 18:14:39 -05:00
Joshua Barretto
e3203080ed Added Calendar for temporal events based on the real-world calendar 2021-12-20 18:03:52 +00:00
Dr. Dystopia
3a52599e49 Clean up 2021-12-15 21:55:53 +01:00
Joshua Barretto
dd95d69dc4 Fixed character editing 2021-12-13 00:55:25 +00:00
Dr. Dystopia
408fe1e6b6 Begin creating character editing 2021-12-13 01:13:33 +01:00
Marcel Märtens
ef40ebe0c8 update toolchain to nightly-2021-11-24 2021-11-24 10:09:22 +01:00
Marcel Märtens
aa93b4b53c update other binaries 2021-11-20 20:19:48 +01:00
Marcel Märtens
e29ede7c97 updating dependencies,
cannot update the following dependencies:
 - vek: Sharps SIMD isnt upstream
 - tracing-subscriber: MakeWriter was adjusted and i was to lazy to fiddle with lifetimes,
 - refinery, rustsql: we have a custom refinery version which is incompatible with newer rustsql
 - equi + egui_winit + egui_wgpu_backend: i tried it in this commit but it turned out that they dependo n wgpu which we cant update
 - wgpu: cant update due new version doesnt support DX11

Got quinn updated which now require some dependencies to be explicit.
2021-11-20 20:17:49 +01:00
Sam
dfcb8c8519 Addressed review feedback. 2021-11-11 18:10:22 -05:00
Sam
b678f7f46e Added some client methods for changing abilities to hook into. 2021-11-11 01:55:32 -05:00
Sam
fbd742abdb Changed crafting to only consume items after checking that the crafting would be successful instead of consuming items first and reinserting on failure. 2021-10-27 17:02:36 -04:00
Sam
e28ca15059 Salvaging now requires a salvaging station. 2021-10-27 17:02:33 -04:00
Sam
794b072d3e Simple recipes now take a vec of slots to look in for the ingredients. 2021-10-27 17:02:30 -04:00
Sam
7a17863988 Salvage works by double clicking from inventory while salvage tab in crafting is open. 2021-10-27 17:02:30 -04:00
Sam
ed5cf8ebf9 Backend stuff for salvaging. 2021-10-27 17:02:29 -04:00
Bryant Deters
b2bd43f4d3 Sneak with weapons drawn 2021-10-18 14:53:55 -05:00
Marcel Märtens
88685cc016 update crates 2021-09-20 14:39:01 +02:00
Marcel Märtens
7913e6a9ba Change the version number to 0.11 2021-09-10 20:19:17 +02:00
Sam
538cb56b87 Sprites now go through a character state to be picked up. 2021-08-31 13:36:04 -04:00
Ludvig Böklin
400734cc0a Fix gliderwield downhill run jitter 2021-08-01 11:20:46 +00:00
Monty Marz
14eb0f9aa2 Remove sceptre, add swords 2021-07-29 22:38:35 +00:00
James Melkonian
54eb97b9de Reduce number of map layers and remove unneeded alpha channel 2021-07-24 19:54:40 -07:00
Dr. Dystopia
04700982d3 Resolve unused '#[allow(clippy::option_map_unit_fn)]' error supressions 2021-07-24 20:35:13 +02:00
Dr. Dystopia
70d0840e96 Resolve unused '#[allow(clippy::unnecessary_wraps)]' error supressions 2021-07-24 20:14:26 +02:00
Marcel Märtens
468cfe84e7 clippy fixes in tests 2021-07-12 13:35:26 +02:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Sam
04e8138b60 Fix test 2021-07-06 15:49:57 -05:00
Ben Wallis
b499cf2c58 Added egui debug UI - a 100% rust UI framework (similar to imgui) allowing for rapid development of debug interfaces to aid development. This is feature-gated behind the egui-ui feature which is enabled by default but removed for airshipper builds.
Included in the initial implementation is an entity browser which lists all entities in the client ECS, an entity component viewer which shows select components belonging to the selected entity including character state information, and a simple frame time graph.

This MR also includes an extraction of the animation hot reloading code which has been reused for egui to allow for hot-reloading of the egui interface to allow rapid development of the UI with realtime feedback upon save as is the case with aninmations. This is feature-gated behind the `hot-egui` feature which is not enabled by default due to the extra startup time that it adds.
2021-07-04 09:47:18 +00:00
Avi Weinstock
c2106e158f Use approximate byte count for the terrain recv graph. 2021-07-02 12:43:34 -04:00