Commit Graph

790 Commits

Author SHA1 Message Date
Sophia Waggoner
7e4ea483e0 Add a ServerConstants to Client and Server structs and sync on register. 2023-03-21 20:28:08 -07:00
Sam
c295506ef9 Removed buffered inputs 2023-03-21 20:13:45 -04:00
Sam
3caa9dc529 Stances can now be left by interacting with the buff bar. 2023-03-21 20:03:22 -04:00
Sam
d0a46ed82b Inputs now remain queued even when the input is released, until the input is used. 2023-03-21 19:26:06 -04:00
Joshua Barretto
1f80b3ce47 Don't allow time to go backward 2023-03-18 10:02:11 +00:00
Imbris
61cb0ad39b Merge branch 'imbris/small-tweaks' into 'master'
Various small tweaks / fixes

Closes #1475

See merge request veloren/veloren!3817
2023-03-18 00:52:20 +00:00
Imbris
9e212935e5 Merge branch 'imbris/time-local-event-handling' into 'master'
Add metrics for timing subsections of State::tick

See merge request veloren/veloren!3825
2023-03-14 14:52:57 +00:00
Imbris
87bf44241b Add metrics for timing subsections of State::tick 2023-03-14 01:03:05 -04:00
Ben Wallis
45c8934b79 Merge branch 'xvar/queue-char-deletes' into 'master'
Changed character deletion to go via batch update

See merge request veloren/veloren!3562
2023-03-12 23:21:54 +00:00
Ben Wallis
6eedc02286 Changed character deletion to go via batch update 2023-03-12 23:21:53 +00:00
Sam
89aa934c3c Initial work 2023-03-11 16:45:10 -05:00
Imbris
3ad9297623 Ensure outcome event bus is cleared on the client since those are unused, and add a TODO about either using them or not generating them 2023-03-11 10:24:45 -05:00
Thegaming Life
5ddc55be52 replaced CHUNK_SIZE by RECT_SIZE everywhere, and change the use (and remove... 2023-03-06 21:03:35 +00:00
Thegaming Life
acbb7ccba9 Changed the chunk size to constant 2023-02-28 10:00:53 +00:00
Marcel Märtens
25906e05df Change the version number to 0.14 2023-01-06 18:41:03 +01:00
Benoît du Garreau
4fbb0b9a0b Update to `assets_manager 0.9 2022-12-14 00:54:34 +01:00
Marcel Märtens
4a1404cd71 fix leftovers from toolchain update 2022-11-30 15:14:47 +01:00
Marcel Märtens
225cbf472f update tag and fix empty maps, other bugs introduced by auto fix 2022-11-29 09:19:10 +01:00
Marcel Märtens
dad73ba2a3 fix clamp clippy errors 2022-11-28 14:26:27 +01:00
Marcel Märtens
0ab7a2543e fix clippy errors 2022-11-28 14:08:11 +01:00
Marcel Märtens
ba3747a3f0 update toolchain 2022-11-28 14:08:11 +01:00
LunarEclipse
f6e2c6885c Cargo fmt 2022-11-10 17:19:43 +01:00
pepsalt
f22a9d030d CHANGE: moved time of day interpolation logic out of Client and into Scene for semantics and accessing the settings logically 2022-11-10 17:16:48 +01:00
pepsalt
775025ac63 CHANGE, client time lerp would cause flashing lights for large discrepancies, it now no longer lerps if the flashing lights setting is not on 2022-11-10 17:16:45 +01:00
4ydx
4ae332b8d1 Fix int overflows causing crash when using /goto 2022-10-13 13:58:02 +00:00
juliancoffee
9dc07a38db Follow-up from i18n-helpers MR 2022-10-01 18:35:36 +03:00
Marcel Märtens
0fe0192a2d get rid of string replacements in template strings 2022-09-29 17:33:53 +02:00
Marcel Märtens
81cdcfc1a0 move voxygen/i18n to client/i18n to indicate that it can be used by more frontends if they want to make use of our helpers 2022-09-27 14:09:20 +02:00
Marcel Märtens
7f46bc5b78 switch name to i18n-helpers 2022-09-27 13:46:13 +02:00
Marcel Märtens
ba260e8419 translate MOD and YOU messages 2022-09-27 13:46:12 +02:00
Marcel Märtens
cc3fcfce8c initial approach of utelising chat-i18n crate by chat-cli bot 2022-09-27 13:46:12 +02:00
Marcel Märtens
a0ef3be9ac remove hardcoded localisation from client 2022-09-27 13:46:12 +02:00
Marcel Märtens
c2b453f6f1 update toolchain to 2022-09-08
This reverts commit 6c9deee491.
This reverts commit a32b269252.
2022-09-24 00:04:40 +02:00
Marcel Märtens
29d0f5b25d update dependencies 2022-09-22 11:57:55 +02:00
Joshua Yanovski
57ea753bff Merge branch 'sharp/parallel-ingame' into 'master'
Parallelize ingame messages.

See merge request veloren/veloren!3627
2022-09-21 19:44:40 +00:00
Joshua Yanovski
1c14ec7ee1 Parallelize ingame messages. 2022-09-21 10:25:57 -07:00
Joshua Yanovski
67231aff90 Remove persistence loading error from SkillSet.
This is needed (for now) in order to parallelize ingame_chat, because
one of the handled messages updates this value on the server.  It turns
out that the value is not actually used on the server, only the client,
so this was mostly a matter of threading this back to the correct place.
Additionally, we took the opportunity to modify the UI to not log you
into the game until your character was confirmed to be loaded, which
was a todo item that lets us simplify some error handling logic and
remove stuff from global state.
2022-09-21 09:29:25 -07:00
Imbris
1b48a3008c Merge branch 'Couls/TestBed' into 'master'
Extend item pickup UI to group members

Closes #1402

See merge request veloren/veloren!3521
2022-09-20 22:13:50 +00:00
Couls
4a4c061b55 Extend item pickup UI to group members 2022-09-20 22:13:50 +00:00
Joshua Yanovski
e9a463d459 Revert "Merge branch 'xMAC94x/update-deps' into 'master'"
This reverts merge request !3608
2022-09-15 18:51:48 +00:00
Joshua Yanovski
2c15d0af56 Reduce overhead of messaging systems. 2022-09-14 21:04:53 -07:00
Marcel Märtens
a32b269252 steal sharps clippy improvements to the old nightly 2022-09-11 16:10:56 +02:00
Joshua Yanovski
986d104faa Update Rust toolchain. 2022-09-08 15:43:53 -07:00
Marcel Märtens
d9e6f10688 update dependencies 2022-09-08 23:29:08 +02:00
Joshua Yanovski
f5aee1d2a7 Allow mods/admins to log in when server is full.
As a side effect, this moves the initial game server sync message into
the login code, since that's the first place we can check for admin
permissions and we want to avoid sending large messages to users who are
not authenticated (especially if the player cap has been reached;
previously, the player cap check limited the damage that could be done
by unauthenticated players).

Some fallout from this is that we don't synchronize the Player component
anymore, which had some minor effects on voxygen.  This update also
breaks Torvus, since Client::new now expects the username and password
to be provided from the getgo--an accompanying MR will be submitted to
fix it.
2022-09-06 21:42:31 -07:00
Imbris
d3c90f9078 Update changelog, update client/src/bin/* with changes in Client API 2022-08-25 23:25:58 -04:00
Imbris
4126194a5c View distances small fixes and improvement:
* Properly set view_distance field in Client when sending it to the
  server in request_character/request_spectator.
* Removed invalid check I had included in Client::set_view_distance
* ViewDistances::clamp now clamps min to 1 for both types of view distance.
2022-08-25 23:24:43 -04:00
Imbris
37caab539c Replace uses of "65" with client::MAX_SELECTABLE_VD in client and
voxygen crates.
2022-08-25 23:24:43 -04:00
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
Avi Weinstock
6ba512efc8 Add some tracy plots about network usage to the client. 2021-07-02 12:40:52 -04:00
Jonathan Berglin
85285f9b8e Tygyh/bot main refactor 2021-07-01 15:59:05 +00:00