Commit Graph

382 Commits

Author SHA1 Message Date
Marcel Märtens
631f3ab8ee fix clippy issues, WITHOUT clippy::needless_pass_by_ref_mut as we are still unsure how to proceed with it. we want to keep the &mut ref where we are actually writing. maybe we need another method support 2023-10-05 23:23:27 +02:00
Marcel Märtens
882a8d104c Revert "extended clippy from quality.sh"
This reverts commit 30ebb7f2edcf299e4886aa7de6573ef54353a8dd.
2023-10-05 22:00:49 +02:00
Marcel Märtens
df03c92741 extended clippy from quality.sh 2023-10-05 22:00:49 +02:00
Isse
f4ca60cbb6 Map selector and generation UI 2023-09-17 17:11:19 +00:00
Evgen Kot
9f213019d1 Settings for Si prefixes in the interface menu 2023-08-17 15:24:05 +00:00
Isse
91da702d66 lesser spacing with amount 2023-07-28 18:08:18 +02:00
Avi Weinstock
4669b4ab52 Show item amounts in item tooltips. 2023-07-28 11:47:05 -04:00
Avi Weinstock
2c7a9d1a7a Use SI prefixes as suffixes for shortening item quantities shown in slots, to prevent the quantity associated with large stacks from overflowing into adjacent grid cells. 2023-07-14 11:02:37 -04:00
Isse
6219b52f87 rename Vox trait to FilledVox, and change is_empty to is_filled 2023-05-09 19:43:10 +02:00
Sam
7fdfc0e71b Addressed review 2023-04-19 18:34:17 -04:00
Sam
9d503d1e1f Debug items no longer have durability 2023-04-14 18:25:24 -04:00
Imbris
54c39c03f7 Merge branch 'imbris/pixel-perfection-v2' into 'master'
Move image scaling into the UI shaders rather than precomputing it on the CPU

Closes #257

See merge request veloren/veloren!3573
2023-04-08 07:06:19 +00:00
Imbris
5881e44e61 Address review on 3573 2023-04-08 02:19:14 -04:00
Imbris
2a9a63a60e Clippy fixes 2023-04-08 00:51:50 -04:00
Imbris
9cdfb6a4aa Resolve some remaining TODOs for ui image processing changes
* Explicitly assert that neither of the requested dimensions for an
  image are 0. (I think this used to fail later on anyway)
* Don't show the UI alpha premultiply pass in GPU timings in the HUD
  debug info display since it only very transiently appears (since this
  doesn't run every frame).
2023-04-08 00:29:29 -04:00
Imbris
7205d4c275 Remove extra performance debugging code 2023-04-08 00:28:32 -04:00
Imbris
63096b2042 Complete GPU based alpha premultiplication impl and make the CPU version
even faster.

* GPU based version started in previous commit, but this fixes errors
  and bugs and gets it actually compiling and running.
* Add a way to batch together images to use the same render pass for GPU
  premultiplication if they all target the same texture.
* Pending premultiplication uploads are automatically done when calling
  `Drawer::third_pass`.
* `fast-srgb8` dep removed, we no longer convert to `f32`s to do the
  premultiplication. Two `[u16; 256]` tables are combined to compute the
  alpa premultiplied color within the same error bounds used by the
  `fast-srgb8` crate. We also no longer use explicit simd.
* Remove explicit lifetimes from `PlayState::render` since `&self` and
  `Drawer<'_>` don't need to have the same lifetime.
* Fix existing bug where invalidated cache entries were never set to
  valid when reusing them.
* `prepare_graphic` now runs some heuristics to determine whether
  premultiplication should be executed CPU side or GPU side and then
  returns a bool indicating if GPU premultiplication is needed.
2023-04-08 00:28:31 -04:00
Imbris
efd932c71e Progress on GPU premultiplication.
* General progress in setting up code paths to support GPU
  premultiplication.
* Created `PremultiplyUpload` type to represent an initiated image
  upload where the premultiply pass needs to be ran to complete it.
* Converted from compute pass to render pass since current limitations
  make it difficult to write directly to a srgb image from a compute
  shader.
* Replace `CachedDetails::Immutable` with keeping track of the
  parameters used to create the texture (i.e. the border color).
* Create `TextureRequirements`, `TextureParamters`, and `CacheKey` types
  to encode parameters that go into texture creation and image caching
  and to determine when the space in texture memory should be reused
  when replacing a graphic.
* Add custom texture creation logic for the UI textures since those need
  certain usage combinations.
2023-04-08 00:28:31 -04:00
Imbris
7538b04348 Operate on 4 pixels at a time when premultiplying alpha to speed things up a little. 2023-04-08 00:28:31 -04:00
Imbris
f62c2cde70 Use fast-srgb8 crate to efficiently convert between non-linear srgb u8 and
linear f32 values for performing alpha premultiplication on the CPU.
2023-04-08 00:28:31 -04:00
Imbris
eb6d16b02c Rename draw_graphic -> prepare_graphic since it is no longer always
specifically rendering an image at the provided dimensions. Start
working on alpha premultipication which is necessary for being able to
properly sample colors on the GPU with bilinear filtering. Various
tweaks to comments and misc changes.
2023-04-08 00:28:31 -04:00
Imbris
69a1a661b6 fixes and tweaks (various minor changes related to UI image scaling on
GPU)
2023-04-08 00:28:31 -04:00
Imbris
d62bf8a790 init (scaling UI images during sampling on the GPU instead of on the CPU) 2023-04-08 00:28:28 -04:00
Sam
e4ebd17363 Addressed feedback 2023-04-06 10:57:12 -04:00
Sam
536d88a2c7 Repair costs scale based on how damaged the item is. 2023-04-06 10:54:50 -04:00
Sam
c3f5bc13f1 Equipment can now be repaired at sprites in town. 2023-04-06 10:54:48 -04:00
Sam
a555e08d0b Added durability to item tooltips 2023-04-06 10:54:47 -04:00
Sam
df13741be9 Durability system in place 2023-04-06 10:54:46 -04:00
Christof Petig
e60aace448 realize zesterers proposal 2023-04-05 00:11:26 +02:00
Joshua Barretto
19db823092 Proper next/prev site buttons 2023-04-01 12:34:58 +01:00
Joshua Barretto
6add1b851d Simplified map drawing 2023-03-31 20:44:59 +01:00
Joshua Barretto
c28e61383d Added target to starting site map 2023-03-31 16:25:24 +01:00
Joshua Barretto
acec45b756 Initial implementation of starting site choice 2023-03-31 14:24:14 +01:00
Sam
610d47f787 Effect power now affects more than just poise 2023-03-21 20:16:55 -04:00
Isse
709b6a9aae Fixed armor stat diff display 2023-01-21 02:40:32 +01:00
Aidar Shaikhiev
cccc796d31 Items images export for wiki 2022-12-15 16:19:49 +00:00
Marcel Märtens
2812729b78 cargo clippy lifetimes 2022-11-28 15:19:57 +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
Joshua Yanovski
986d104faa Update Rust toolchain. 2022-09-08 15:43:53 -07:00
juliancoffee
34c5e95d8a Add Energy regen buff
* Fix broken i18n keys for health and energy increases
* Better handle buff descriptions
Calculate infobox lines for item stats to set correct infobox frame
dimensions
2022-09-06 15:50:04 +03: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
parzivale
0ca2e64772 formtaed code with cargo fmt 2022-08-23 19:18:18 +02:00
parzivale
cf09348306 second cleaning pass after removing i18n.get 2022-08-23 13:14:29 +02:00
parzivale
9e22ae01a0 finished first pass removing i18n.get 2022-08-23 11:17:21 +02:00
IsseW
a165bc09bc character viewpoint 2022-08-09 18:45:45 +02:00
juliancoffee
d000cc90a1 Migrate code to new i18n API 2022-08-06 21:56:01 +03:00
Sam
ea0192b7e3 Tweaked tooltips so that item name and kind are next to image, to reduce amount of empty space. 2022-07-30 11:38:28 -04:00
Sam
29dd9eac9b Remvoed CR from UI. Changed all stats in tools and armor to be same size. Cleaned up item stats UI code. 2022-07-28 19:19:20 -04:00
tygyh
fb7bdd8bf8 Fix deprecated imports 2022-07-15 16:17:19 +02:00