Commit Graph

12496 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
c36d6e873f Fix issue with the region subscription system not updating on view
distance changes (until the player crossed a chunk boundary and
triggered the normal update).

This introduces a `ViewDistance` struct that provides an abstraction
around limiting the rate the view distance can be cycled up and down.
This helps avoid unnecessary sending, deleting, and then resending of
synced things like entities (the client will still delete its terrain
locally and re-request it though).

The second part of this fix is storing the last view distance in the
`RegionSubscription` struct and then updating region subscriptions if
this doesn't match the current view distance in the `Presence`
component.
2022-08-25 23:24:43 -04:00
Imbris
638d91e58a Merge branch 'changelog-fix' into 'master'
put seachapel in unrealesed in changelog

See merge request veloren/veloren!3568
2022-08-26 03:20:39 +00:00
tygyh
355f916a99 Update translations 2022-08-25 20:47:13 +02:00
flo666
b1176aa9d3 set difficulty indicator to 3 2022-08-25 16:32:31 +02:00
Ben Wallis
a00a92def1 Merge branch 'juliancoffee/fix-i18n-keys' into 'master'
Fix i18n keys

See merge request veloren/veloren!3567
2022-08-25 14:15:21 +00:00
flo666
e55eaf1782 put seachapel in unrealesed in changelog 2022-08-25 15:49:48 +02:00
juliancoffee
49e8cec5eb Fix i18n keys 2022-08-25 16:30:26 +03:00
Marcel
cfec8b5e9d Merge branch 'juliancoffee/stricter-localization-tests' into 'master'
Improve i18n analytic tools

See merge request veloren/veloren!3566
2022-08-25 13:26:48 +00:00
juliancoffee
ae399b3c7c Remove cfg(feature = stat) for localization test 2022-08-25 14:23:27 +03:00
juliancoffee
f2eb1fe7c8 Make i18n csv own binary
* Put file that needs care back into csv
2022-08-25 14:23:26 +03:00
juliancoffee
9a0ac8dcce Make test_all_localizations run at unittest 2022-08-25 13:18:06 +03:00
Isse
d90ec725cf Merge branch 'remove_common_ron' into 'master'
remove common_ron

See merge request veloren/veloren!3565
2022-08-25 09:01:00 +00:00
flo
f9a31094b6 remove common_ron 2022-08-25 09:01:00 +00:00
Marcel
645b11df3f Merge branch 'floppy-seachapel-changelog' into 'master'
seachapel changelog entry

See merge request veloren/veloren!3564
2022-08-25 08:05:04 +00:00
flo666
55aebd5774 seachapel changelog entry 2022-08-25 08:38:32 +02:00
Isse
20013e17ab Merge branch 'isse/remove-print' into 'master'
Remove print

See merge request veloren/veloren!3563
2022-08-24 22:28:13 +00:00
Isse
ebe8c388e9 Merge branch 'floppy_seachapel' into 'master'
seachapel

See merge request veloren/veloren!3325
2022-08-24 21:50:54 +00:00
flo
e882e62c08 seachapel 2022-08-24 21:50:53 +00:00
IsseW
5232b6e9af remove print 2022-08-24 23:38:18 +02:00
Imbris
2f24da7339 Merge branch 'parzivale/issue-#1652-Remove-i18n-keys' into 'master'
Parzivale/issue #1652 remove i18n keys

Closes #1652

See merge request veloren/veloren!3560
2022-08-24 19:17:09 +00:00
parzivale
1fb981a09a updated header_i18n_key 2022-08-24 17:19:23 +02:00
parzivale
e456137b4c updated icon_button_tooltip to new format 2022-08-24 16:52:08 +02:00
parzivale
feca285665 ammended code quality issues from last commit 2022-08-24 16:29:42 +02:00
parzivale
06f5aa70f0 removed unecesarry .replace in dairy.rs 2022-08-24 16:16:30 +02:00
tygyh
c5b83e0166 Update swedish translations 2022-08-23 21:18:32 +02:00
parzivale
0ca2e64772 formtaed code with cargo fmt 2022-08-23 19:18:18 +02:00
Imbris
73ed0965d5 Merge branch 'imbris/fifo-default' into 'master'
Make the present mode default to Fifo instead of Immediate

See merge request veloren/veloren!3558
2022-08-23 14:30:11 +00:00
parzivale
e7f472059d tidied up code 2022-08-23 14:23:31 +02:00
parzivale
a3388bdd2e final cleanup for issue #1652 2022-08-23 13:35:16 +02:00
parzivale
cf09348306 second cleaning pass after removing i18n.get 2022-08-23 13:14:29 +02:00
Joshua Barretto
69e5c1424f Merge branch 'zesterer/automod' into 'master'
Relaxed automod somewhat

See merge request veloren/veloren!3559
2022-08-23 09:44:54 +00:00
parzivale
4a71698048 removed i18n.get 2022-08-23 11:19:39 +02:00
parzivale
9e22ae01a0 finished first pass removing i18n.get 2022-08-23 11:17:21 +02:00
Joshua Barretto
51d90707b5 Relaxed automod somewhat 2022-08-23 10:03:06 +01:00
parzivale
16a3794686 in the process of cleaning up i18n.gte calls 2022-08-23 10:04:21 +02:00
Imbris
5e8adb3c80 Make the present mode default to Fifo instead of Immediate since it uses
less power and in my own experience is generally a better experience when
the GPU is under significant load.
2022-08-23 02:17:39 -04:00
Imbris
275b17be57 Merge branch 'imbris/misc_fix' into 'master'
Trade canceling related tweaks, make kill_npcs not leave clutter (and actually remove entities in the first place), and misc tweaks

See merge request veloren/veloren!3555
2022-08-21 16:35:16 +00:00
Imbris
ce8b8b6f12 Update changelog, cargo fmt 2022-08-21 12:10:20 -04:00
Imbris
a1fd50b198 Merge branch 'DaforLynx/misc-audio-fixes' into 'master'
Miscellaneous audio fixes

See merge request veloren/veloren!3550
2022-08-21 05:32:02 +00:00
DaforLynx
656727ecbd Miscellaneous audio fixes 2022-08-21 05:32:02 +00:00
Matheus
055f40ddc6 changed/typo to generic masculine 2022-08-21 02:43:09 +00:00
Matheus
467e85dca2 typo fix 2022-08-21 02:28:36 +00:00
matheusclmb
3967501a03 Small/Cultural changes recommended by @jcezarms 2022-08-21 03:26:32 +01:00
matheusclmb
02d6090438 changed some words for better context 2022-08-21 01:42:12 +01: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
Imbris
87815b4615 Use send_fallible in notify_client implementation to document that any errors are ignored (and use if let instead of map) 2022-08-20 18:47:09 -04:00
Imbris
f1b6805c65 Remove outdated comments in handle_destroy and refactor map_err to if let Err 2022-08-20 18:47:09 -04:00
Imbris
0ee0d446f1 Make /kill_npcs delete entities instead of setting health to 0, to avoid drops or other undesired effects from occuring. 2022-08-20 18:47:09 -04:00