Commit Graph

2801 Commits

Author SHA1 Message Date
Imbris
7f7ed29968 Render the UIs 2021-02-22 22:26:45 -05:00
Imbris
7b464062b7 Add generic Bound<T> type for grouping consts/other bindable things with bind groups 2021-02-22 22:26:45 -05:00
Imbris
68efb0d992 Render Ui 2021-02-22 22:26:43 -05:00
Imbris
e187566ad0 Color! 2021-02-22 22:25:37 -05:00
Imbris
15b98056c4 fixed validation errors when creating pipelines 2021-02-22 22:25:37 -05:00
Imbris
b6de6997a0 No crash on startup 2021-02-22 22:25:37 -05:00
Imbris
df955c158a Made shaders compile by adding locations and bindings and splitting textures and samplers out into two things and adding guards for double including shaders 2021-02-22 22:25:37 -05:00
Imbris
c2418fa3ed Improve shader errors by showing shader file name, reduce repetitive shader construction code 2021-02-22 22:25:37 -05:00
Imbris
7252e2b793 migrate cloud pipeline, migrate iced renderer, rebase fixes 2021-02-22 22:25:37 -05:00
Imbris
ad54831c97 Make compile through various changes, update wgpu to latest git 2021-02-22 22:25:35 -05:00
Capucho
45c6638737 More fixes 2021-02-22 22:23:09 -05:00
Capucho
cd2901a3c7 Switched from zerocopy to bytemuck
Fixing errors
2021-02-22 22:20:19 -05:00
Capucho
91454ab0f7 Made the layouts more compact 2021-02-22 22:18:22 -05:00
Capucho
4fd9567da5 Finished porting all pipelines 2021-02-22 22:18:22 -05:00
Capucho
32a78c3988 Began porting pipeline creation 2021-02-22 22:18:22 -05:00
Capucho
d21709190c ported all pipelines 2021-02-22 22:18:22 -05:00
Capucho
fc800a7d53 Ported most of the textures and models related methods 2021-02-22 22:18:22 -05:00
Capucho
a43c7c7496 Started the report of wgpu 2021-02-22 22:18:20 -05:00
Imbris
f33d3873b4 Merge branch 'aweinstock/modular-weapon-rigging' into 'master'
Support modular weapon voxel meshes being made by assembling their components.

See merge request veloren/veloren!1806
2021-02-23 00:45:26 +00:00
Avi Weinstock
c3ac8a1b51 Support modular weapon voxel meshes being made by assembling their components. 2021-02-23 00:45:26 +00:00
Marcel
72bd0f42fc Merge branch 'xMAC94x/prot_improvements' into 'master'
xMAC94x/prot_improvements

See merge request veloren/veloren!1796
2021-02-22 22:47:43 +00:00
Marcel Märtens
e3ef4422b6 cleanup ClientConnArgs 2021-02-22 21:07:20 +01:00
Snowram
684961b15c Adds look_dir to anims, humanoid heads pivot fixes 2021-02-22 20:00:06 +01:00
Marcel Märtens
3f5c64bec0 Client::new can now resolve DNS requests, better networking error messages 2021-02-22 17:35:19 +01:00
Marcel Märtens
1a7c179bbb share tokio Runtime between Client and Server, name rayon Threadpool 2021-02-22 17:35:06 +01:00
Marcel Märtens
514d5db038 Update Network Protocol
- now last digit version is compatible 0.6.0 will connect to 0.6.1
 - the TCP DATA Frames no longer contain START field, as it's not needed
 - the TCP OPENSTREAM Frames will now contain the BANDWIDTH field
 - MID is not Protocol internal

Update network
 - update API with Bandwidth

Update veloren
 - introduce better runtime and `async` things that are IO bound.
 - Remove `uvth` and instead use `tokio::runtime::Runtime::spawn_blocking`
 - remove futures_execute from client and server use tokio::runtime::Runtime instead
 - give threads a Name
2021-02-22 17:34:55 +01:00
Avi Weinstock
8bdbf4f7c9 Implement modular weapons.
- Add ItemKind::ModularComponent, Item::components.
- Add tool::StatKind::{Direct,Modular} for the modular weapons themselves.
- Move ItemConfig from ItemDesc to Item, so components' stats can be taken into account.
- Crafting stores into the components field.
- Components/recipes/placeholders are created dynamically.
- Show which components a modular weapon contains in the tooltip in voxygen.

Squashed fixes:
- `Item::duplicate` components in `Item::new_from_item_def`.
- Speed of 1.0 for now.
2021-02-20 14:30:39 -05:00
Marcel
a330d4b05c Merge branch 'clangdo/fix_macos_build' into 'master'
Backdate coreaudio-sys for OSX cross toolchain compatibility

See merge request veloren/veloren!1799
2021-02-20 09:58:59 +00:00
Samuel Keiffer
479cf9fc4e Merge branch 'sam/dual-wielding' into 'master'
Dual wielding backend

See merge request veloren/veloren!1787
2021-02-20 05:12:17 +00:00
Sam
eaf3e02e39 Addressed comments
Fixed audio test
2021-02-19 19:55:23 -05:00
Caelan
82c33d9ccb Backdate coreaudio-sys for OSX cross toolchain compatibility
See https://github.com/RustAudio/coreaudio-sys/issues/48
2021-02-19 15:46:36 -08:00
Sam
d5ccc33abc Factored out duplicate code into closures, consolidated ability handling logic to a single function. 2021-02-19 18:45:48 -05:00
Sam
411b4083b1 Added 1h hammers.
Fixed audio tests.
2021-02-19 17:30:24 -05:00
Sam
12545dd372 Added handedness to weapon tooltips. 2021-02-19 17:30:23 -05:00
Sam
8f0cca074d Dual wielding now uses skillbar abilities from multiple weapons. 2021-02-19 17:30:22 -05:00
Sam
6f6a37faf2 Wielding a 1 handed weapon now correctly uses abilities when the second weapon is not also a 1 handed weapon. 2021-02-19 17:30:22 -05:00
Sam
f50fa25467 ItemConfig now stores AbilitySet directly instead of each individual ability. 2021-02-19 17:30:21 -05:00
Sam
582c3f8459 Check for prerequisite skill in using an ability is no longer hardcoded. 2021-02-19 17:30:21 -05:00
Sam
d4f509b3d0 Added hands field onto weapons. 2021-02-19 17:30:20 -05:00
Avi Weinstock
559ad7b7f5 Client-side trade improvements.
- Add item tooltips in trade.
- More localization support.
- Fix bindings (R for trade, B for bag).
2021-02-19 15:20:27 -05:00
Marcel
c6d69d1196 Merge branch 'xMAC94x/network_tokio' into 'master'
xMAC94x/network_tokio switch from `async_std` to `tokio`

See merge request veloren/veloren!1789
2021-02-17 22:47:11 +00:00
Samuel Keiffer
95fdd0fcc3 Merge branch 'cherry-pick-2ef5fb90' into 'master'
Fix missing controller actions

See merge request veloren/veloren!1786
2021-02-17 21:10:14 +00:00
Ada Lovegirls
96b8a582fe Fixed missing controller actions
(cherry picked from commit 2ef5fb90e89bf3f8f0acc84e269f6948c696c196)
2021-02-17 21:10:14 +00:00
Marcel Märtens
ea8ab1ce7a Great improvements to the codebase:
- better logging in network
 - we now notify the send of what happened in recv in participant.
 - works with veloren master servers
 - works in singleplayer, using a actual mid.
 - add `mpsc` in whole stack incl tests
 - speed up internal read/write with `Bytes` crate
 - use `prometheus-hyper` for metrics
 - use a metrics cache
2021-02-17 16:15:00 +01:00
Marcel Märtens
9884019963 COMPLETE REDESIGN of network crate
- Implementing a async non-io protocol crate
    a) no tokio / no channels
    b) I/O is based on abstraction Sink/Drain
    c) different Protocols can have a different Drain Type
       This allow MPSC to send its content without splitting up messages at all!
       It allows UDP to have internal extra frames to care for security
       It allows better abstraction for tests
       Allows benchmarks on the mpsc variant
       Custom Handshakes to allow sth like Quic protocol easily
 - reduce the participant managers to 4: channel creations, send, recv and shutdown.
   keeping the `mut data` in one manager removes the need for all RwLocks.
   reducing complexity and parallel access problems
 - more strategic participant shutdown. first send. then wait for remote side to notice recv stop, then remote side will stop send, then local side can stop recv.
 - metrics are internally abstracted to fit protocol and network layer
 - in this commit network/protocol tests work and network tests work someway, veloren compiles but does not work
 - handshake compatible to async_std
2021-02-17 12:39:47 +01:00
Marcel Märtens
5aa1940ef8 get rid of async_std::channel
switch to `tokio` and `async_channel` crate.
I wanted to do tokio first, but it doesnt feature Sender::close(), thus i included async_channel
Got rid of `futures` and only need `futures_core` and `futures_util`.

Tokio does not support `Stream` and `StreamExt` so for now i need to use `tokio-stream`, i think this will go in `std` in the future

Created `b2b_close_stream_opened_sender_r` as the shutdown procedure does not need a copy of a Sender, it just need to stop it.

Various adjustments, e.g. for `select!` which now requieres a `&mut` for oneshots.

Future things to do:
 - Use some better signalling than oneshot<()> in some cases.
 - Use a Watch for the Prio propergation (impl. it ofc)
 - Use Bounded Channels in order to improve performance
 - adjust tests coding

bring tests to work
2021-02-17 12:38:53 +01:00
Marcel Märtens
1b77b6dc41 Initial switch to tokio for network, minimum working example. 2021-02-17 12:37:59 +01:00
Caelan
dda4931f46 Clean and update dependencies
* Remove tweak feature
 * Remove const-tweaker
 * Update tiny_http
 * Update bitvec to 0.21.0
 * Downgrade euc to avoid conflict with vek 0.12.0
 * Require exactly vek 0.12.0
 * Update all other dependencies automatically based on these changes
 * Update gilrs to latest at the request of Ada Lovegirls
 * Update meshing benchmarks to new criterion API
2021-02-17 01:27:06 -08:00
Imbris
1a3e015da7 Merge branch 'huettner94/minimap_settings_persistence' into 'master'
Persist minimap settings

See merge request veloren/veloren!1785
2021-02-17 00:57:07 +00:00
Joshua Barretto
4d19308612 Merge branch 'lboklin/quat-ori' into 'master'
Redefine Ori as a quaternion

See merge request veloren/veloren!1755
2021-02-16 22:39:11 +00:00