Commit Graph

703 Commits

Author SHA1 Message Date
Sam
23c51af437 Consolidated voxygen and server dynlibs into a common dynlib 2022-09-16 23:43:26 -04:00
Sam
b632dbffdd Hot reloading attack code in agent now functional 2022-09-16 22:13:18 -04:00
Sam
ddb56bd560 Dynamic library compiles, but still panics 2022-09-16 22:13:18 -04:00
Sam
525630c37a Moved some agent code into separate crate to facilitate hot reloading of that agent code. 2022-09-16 22:13:18 -04:00
Joshua Yanovski
5813861ab2 Fix Cargo lock 2022-09-15 12:16:32 -07: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
f481e8cd4f Unrevert fix to shaderc. 2022-09-15 17:24:47 +01:00
Joshua Yanovski
2c15d0af56 Reduce overhead of messaging systems. 2022-09-14 21:04:53 -07:00
Marcel Märtens
f653c4f36f run cargo update 2022-09-08 23:43:11 +02:00
Marcel Märtens
d9e6f10688 update dependencies 2022-09-08 23:29:08 +02:00
Imbris
1888863915 Add CLI argument to voxygen that allows specifying a value to place into the server field in the main menu. 2022-09-03 17:26:07 -04:00
Marcel
c6bcdd7a2c Merge branch 'juliancoffee/i18n-tooling-fluent' into 'master'
Implement i18n-tooling

See merge request veloren/veloren!3536
2022-08-17 20:39:00 +00:00
juliancoffee
847ee1c1b1 Implement i18n-tooling
* Working csv export
* Working i18n-check
2022-08-17 22:46:48 +03:00
AldanTanneo
ba87a405af Discord Activity 2022-08-15 15:58:37 +00:00
Joshua Barretto
52bd7b2485 Added automod 2022-08-11 11:09:52 +01:00
Imbris
d5b59c2bb7 Convert away from IdvStorage to mixture of VecStorage and DenseVecStorage 2022-08-08 00:38:20 -04:00
juliancoffee
38d3bdeeee Pre-merge activity
* Add CHANGELOG
* Remove script to convert .ron files to .ftl files
2022-08-07 20:42:33 +03:00
juliancoffee
c38d94e504 Refactor try_variaton and error handling in i18n 2022-08-07 16:21:53 +03:00
juliancoffee
8bdf63b3f7 Update fluent fork 2022-08-06 21:57:08 +03:00
juliancoffee
d000cc90a1 Migrate code to new i18n API 2022-08-06 21:56:01 +03:00
juliancoffee
8ba50e62d5 New i18n implementation based on Fluent 2022-08-06 21:45:23 +03:00
Marcel Märtens
bfcc2cb802 Change the version number to 0.13 2022-07-23 14:06:08 +02:00
Awkor
6233db8682 Bump shaderc version to 0.8.0 2022-07-10 21:46:30 +02:00
Marcel Märtens
e4909650e1 update hashbrown, specs, and tracy 2022-07-06 15:41:59 +02:00
IsseW
3eabe24f12 base occlusion texture size of off voxels 2022-07-04 18:07:19 +02:00
IsseW
273c5ed2f0 Temporary noise solution 2022-07-04 18:07:00 +02:00
Isse
16c5c657cc Fix mimalloc for hot reloading 2022-07-04 10:08:27 +00:00
IsseW
57d6b4a55f Switch to mimalloc on windows 2022-07-04 09:15:18 +02:00
Imbris
95f17a6d22 General cleanup, remove local dependency, switch to u16 from i32 in several places, avoid guillotiere types in atlas API (one spot still remains) 2022-07-01 23:47:42 -04:00
Imbris
b1f5fc01db Before removing variable size edge tiles 2022-07-01 23:47:41 -04:00
Marcel Märtens
997b330f19 add physics tests that verify the status quo 2022-06-07 22:53:34 +02: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
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
a366fc4512 Update tracy 2022-05-26 00:04:03 -04:00
Marcel Märtens
e194a2e334 export unterlying errors via network crate, to generate more detailed logs 2022-05-23 02:00:56 +02:00
Joshua Barretto
b3126ca687 Initial implementation of LoD trees 2022-05-10 12:38:36 +01:00
Marcel Märtens
fa49248c31 switch to upstream vek again 2022-04-28 09:10:55 +02:00
Marcel
50fd55daef Merge branch 'tormod-personalities' into 'master'
Give NPCs random Big Five personalities.

See merge request veloren/veloren!3280
2022-04-04 19:03:05 +00:00
Tormod G. Hellen
cb88648cca Give NPCs random Big Five personalities. 2022-04-04 20:17:50 +02:00
Marcel Märtens
64b9602760 update further dependencies, including strum and get rid of old strum_macro 2022-04-04 16:06:47 +02:00
Marcel Märtens
affdf3131f update a bunch of dependencies, including clap3 2022-04-04 11:43:29 +02:00
Marcel Märtens
802b9e7914 Change the version number to 0.12 2022-02-18 22:36:53 +01:00
Marcel Märtens
dcfde616d0 In case of IPv6 and NON Windows make sure to not listen on dualstack,
for that we need to create a socket2 socket and set_only_v6 to true.
We need to privude set_nonblocking for tokio to work and we need to set reuseaddr for it to work on linux systems
2022-02-05 13:04:16 +01:00
infrandomness
1a1acfae2c
Fix RUSTSEC-2022-0006 2022-01-26 22:08:38 +01:00
Monty Marz
7515c26d68 progress 2022-01-15 21:46:54 -05:00
Sam
8221336587 Addressed some review. 2022-01-03 19:55:04 -05:00
Sam
c8675eaf45 Added hash value to decide if we should invalidate persited skills and allow a respec. 2022-01-03 19:55:02 -05:00
Imbris
6547a6bf5e Parallelize entity sync loop over regions. 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
floppy
40c547c582 - add Polaris Lantern, created by Gemu and Uncomfy for Christmas 2021-12-20 18:06:21 +00:00
Benoît du Garreau
aca088388b Update assets_manager to 0.7 2021-12-12 22:11:47 +01:00
João Capucho
8b89903d57
Bump tracing-subscriber to 0.3.2
We were pulling two versions of it. Causing some compilation errors
2021-11-26 17:41:51 +00:00
Imbris
0beee17370 Pin cmake crate to 0.1.45, since the newer version uses the --parallel argument which is not available on our CI's cmake version 2021-11-21 09:51:39 -05:00
Marcel Märtens
aa93b4b53c update other binaries 2021-11-20 20:19:48 +01:00
Marcel Märtens
7200cc4ad7 undo egui upgrade try 2021-11-20 20:18:03 +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
Jon Nettleton
836c948086 Update crate for keyboard-keynames
This revision includes a fix for supporting Aarch64 platforms

Signed-off-by: Jon Nettleton <jon@solid-run.com>

(cherry picked from commit a5e64af199)
2021-11-02 08:49:17 +00:00
Joshua Barretto
5c0026f4a7 Performance improvements for terrain watcher 2021-10-10 13:41:56 +01:00
Imbris
645bd03142 Make sure ui draw commands are cleared if the renderer's resolution changes 2021-10-04 18:58:28 -04:00
Imbris
bb26008074 Remove explicit coreaudio-sys version since we no longer rely on having the older version pinned (in fact it was already updated to the latest version) 2021-10-04 11:15:26 -04:00
Benoît du Garreau
ef1c51332d Update assets_manager to 0.6.0 2021-10-01 21:13:01 +02:00
juliancoffee
8af4cf1a37 Make Rtsim entity config work 2021-09-27 15:09:22 +03:00
Marcel Märtens
2a82405df2 update toolchain to nightly-2021-09-24 2021-09-24 23:18:07 +02:00
Marcel Märtens
42eadb715b update toolchain to nightly-2021-09-24 2021-09-24 23:17:54 +02:00
Imbris
f1c44e1f1d Remove old textures that aren't reused when calling replace_graphic 2021-09-23 21:50:37 -04:00
Marcel Märtens
88685cc016 update crates 2021-09-20 14:39:01 +02:00
James Melkonian
9875a74640 Make RRT pathfinding a cfg feature 2021-09-17 16:01:20 -07:00
James Melkonian
c2c4429750 Disable RRT pathfinding 2021-09-17 16:01:19 -07:00
James Melkonian
7ddc229728 Initial RRT flight pathfinding 2021-09-17 16:01:19 -07:00
Marcel Märtens
7913e6a9ba Change the version number to 0.11 2021-09-10 20:19:17 +02:00
Joshua Yanovski
5500435d2f Revert "Replace shaderc with naga"
This reverts commit 446d93dda0.
2021-09-04 11:59:18 -07:00
Marcel Märtens
cf1a6b1806 switch to SharedLink and unset context 2021-09-02 12:29:01 +02:00
Imbris
16e2550e46 Merge branch 'capucho/naga' into 'master'
Replace shaderc with naga

See merge request veloren/veloren!2749
2021-08-31 22:38:17 +00:00
João Capucho
446d93dda0
Replace shaderc with naga 2021-08-31 22:53:10 +01:00
Sam
6d91bae44b Sprite interaction now uses pathfinding to check that it can be picked up. 2021-08-31 13:37:36 -04:00
Joshua Barretto
c2498d81c7 Added feature flag for terrain persistence 2021-08-12 10:48:00 +01:00
Marcel Märtens
32e58c4b17 remove futures_executor from renderer and rather pass tokio runtime to it properly. therefore the runtime is now created with Voxygen rather than with the Connect attempt 2021-08-11 00:38:03 +02:00
Imbris
e99a885bfe Merge branch 'juliancoffee/asset_tweak_v2' into 'master'
asset_tweak v2

See merge request veloren/veloren!2723
2021-08-06 17:41:54 +00:00
Yusuf Bera Ertan
aa371147e7
build: update keyboard-keynames 2021-08-03 18:16:55 +03:00
juliancoffee
2ce09af2d8 Remove redundant serial_test crate 2021-08-03 16:31:13 +03:00
Marcel Märtens
4c0b74150d remove some reexports 2021-07-29 22:18:34 +02:00
Joshua Barretto
0cb524d8d6 Properly fixed command parsing 2021-07-23 17:33:31 +01:00
schnippl0r
9e3b2a20d0 Moved GameInput to own module and made use of strum's EnumIter and AsRefStr. 2021-07-21 13:23:45 +02:00
Benoît du Garreau
286037166a Update wasmer 2021-07-10 15:06:51 +02:00
Marcel Märtens
98800c5424 update depednencies 2021-07-08 12:21:02 +02:00
Joshua Barretto
ad1f6a5304 Revert "Merge branch 'xvar/wgpu-0.9' into 'master'"
This reverts merge request !2566
2021-07-07 22:07:00 +00:00
Ben Wallis
88bb160336 Updated wgpu to 0.9.0 and egui to 0.13.0 2021-07-06 07:32:27 +01: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
Marcel
89b71dc9a9 Merge branch 'juliancoffee/merchants_ux' into 'master'
Improve Merchant loadout from UX perspective

See merge request veloren/veloren!2544
2021-07-03 20:25:49 +00:00
juliancoffee
dd2d0a98fb Improve Merchant inventory from UX perspective
Changes:
- Make it use red bags with 18 slots (2 rows * 9)
- Sort items by quality
- Stack ingredients, food, potions
- Move coins to ingedients bag and put it first
- Filter unconsumed good (case when you saw 16 rugged shirts)

Refactoring:
- Split bag creation to separate functions
2021-07-03 22:16:06 +03:00
eckso
4f66bff54a Fix #1158 - Add a test that all the .ron manifests parse 2021-07-03 18:11:04 +00:00
Avi Weinstock
f9c263faf6 Add benchmark for color quantization using the rtree crate. 2021-07-01 13:41:37 -04:00
Avi Weinstock
47b3b5e5d9 Generate palette info from block statistics, and benchmark how well it compresses. 2021-06-28 22:11:19 -04:00
Avi Weinstock
024b6c52ef Add block statistics generator to world/examples. 2021-06-28 15:02:57 -04:00
juliancoffee
a434be594c update Cargo.lock 2021-06-28 16:02:31 +03:00
Benoît du Garreau
1cba7db9b6 Update assets_manager to 0.5 2021-06-26 12:05:40 +02:00
Imbris
044b2316a6 Eliminate strange wait time of ~1 ms during message handling on the
client where nothing seemed to be occuring
2021-06-19 04:27:50 -04:00
Joshua Barretto
96cbf60c3f Made commands a distinct ClientMsg to avoid possible sanitisation problems for clients 2021-06-17 19:55:21 +01:00
Imbris
b7162ac15c Upgrade to winit 0.25 2021-06-15 22:59:54 -04:00
Imbris
3e79972061 Merge branch 'capucho/wgpu-format-fixes' into 'master'
Update wgpu and check for best swap chain format

See merge request veloren/veloren!2454
2021-06-16 01:24:05 +00:00
asumface
8568dfb38e
Bump rodio to 0.14 2021-06-14 22:04:23 +02:00
Marcel Märtens
4167621f5d Change the version number to 0.10 2021-06-12 10:14:07 +02:00
João Capucho
cc566abe5c
Update wgpu and check for best swap chain format 2021-06-09 21:15:37 +01:00
Avi Weinstock
b5b7de9532 Add graphviz diagram generator for crafting recipes. 2021-06-08 14:42:51 -04:00
juliancoffee
3c34301947 More tests, support only assets/tweak directory
- Use `serial_test` because tests can't run in parallel as both of them
are accessing fs.
- Take only filename, use hardcoded `assets/tweak` to keep it simple and
support .gitignore
2021-06-08 13:31:27 +03:00
juliancoffee
8a157b8410 New tweak_expect fn to tweak values from .ron
- Function to tweak values via temporary hot-reloaded .ron files
2021-06-08 13:31:27 +03:00
Marcel Märtens
7185dcee68 switch to hashbrown 0.11 and specs 0.16.2 2021-06-07 13:01:01 +02:00
Sam
fa0fe38699 Fixed csv tools 2021-06-07 10:58:47 +02:00
Marcel Märtens
1015af13d4 update dependencies 2021-06-04 09:44:30 +02:00
Imbris
6ffdad173d Switch to using block_on directly from futures-executor instead of the umbrella crate 2021-06-03 14:28:28 -04:00
Imbris
538677263b Enable since naga currently has issues translating our SPIRV -> metal 2021-06-03 00:10:07 -04:00
Imbris
2b8eaae572 Update wgpu, cleanup a bit of commented shader code, improve sprite LOD selection code 2021-06-03 00:10:06 -04:00
Imbris
8403e4c483 address/remove TODOs, fix comment typos, enable wgpu/trace feature by default (So no recompile is needed to collect an API trace) 2021-06-03 00:10:06 -04:00
Imbris
99998b9870 Use profling to get spans from wgpu, update wpgu & its deps for various
fixes
2021-06-03 00:10:06 -04:00
Imbris
ffdf7012bc Update wgpu to fix dx11 issue 2021-06-03 00:10:06 -04:00
Imbris
1647c9d607 Update wgpu to latest version and improve error formating 2021-06-03 00:10:06 -04:00
Imbris
76c7161364 Update wgpu to get gfx-hal update that fixes the dx12 depth cube view construction issue 2021-06-02 23:59:50 -04:00
Imbris
ceaa20c668 Update wgpu 2021-06-02 23:59:50 -04:00
Imbris
7723ce265e Update wgpu-profiler, smol rebase fix 2021-06-02 23:59:50 -04:00
Imbris
8d63446300 Almost implement instance merging for sprites (validation error), rebase
fix
2021-06-02 23:59:50 -04:00
João Capucho
f5dc871c59 Update to the most recent wgpu 2021-06-02 23:59:49 -04:00
Imbris
22d67d4cc1 Update to the latest wgpu git 2021-06-02 23:59:49 -04:00
Imbris
7a67ce87e7 Implement toggleable gpu profiling that saves the timings from a recent frame with the screenshot key, rebase fixes 2021-06-02 23:59:49 -04:00
Imbris
8c21023500 WIP gpu timer thing (not for squashing!) 2021-06-02 23:59:49 -04:00
Capucho
8c3995298b More fixes 2021-06-02 23:56:43 -04:00
Capucho
9ee71d6369 Finished porting all pipelines 2021-06-02 23:55:59 -04:00
Capucho
806f240eb5 Started the report of wgpu 2021-06-02 23:55:59 -04:00
Marcel
f988584337 Merge branch 'revert-c6e200a3' into 'master'
Add a configuration Option to opt-in Quic backend

See merge request veloren/veloren!2318
2021-06-02 14:27:13 +00:00
Avi Weinstock
5aa98d18e3 Depend on crossbeam-utils and crossbeam-channel instead of crossbeam in voxygen. 2021-06-02 00:39:58 -04:00
Avi Weinstock
523bf2be58 Fix memory leak in KeyedJobs threadpool helper. 2021-06-02 00:39:58 -04:00
Avi Weinstock
1214715c21 Use a threadpool to speed up minimap chunk rendering. Also fix ceiling height calculations and color water blue. 2021-06-02 00:39:04 -04:00
Avi Weinstock
6df2e96d25 Improve the efficiency of the voxel minimap by only updating it when crossing a chunk boundary or changing z-level. Allows making the 9 chunks nearest to the player fancier by compositing multiple z levels. 2021-06-02 00:39:04 -04:00
Avi Weinstock
937815d8c3 Make all the offsets for voxel minimap work properly for arbitrary sizes, and fix the memory leak. 2021-06-02 00:39:04 -04:00
Avi Weinstock
7980230b7f Add a minimap overlay based on voxel data. 2021-06-02 00:39:04 -04:00
Imbris
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
Avi Weinstock
3684cf0454 Fix economy data not properly being used to price trades, resulting in default prices being applied at most towns.
Also add an exporter from econsim results to sqlite to aid in debugging the economy (which revealed this bug).
2021-05-28 15:09:29 -04:00
Monty
d5883e76a9 update conrod core commit to enhance highlight colors 2021-05-22 23:22:12 +02:00
Marcel
99304ffddd Revert "Merge branch 'sharp/revert-quinn' into 'master'"
This reverts merge request !2315
2021-05-21 10:41:16 +02:00
Joshua Yanovski
3679cb75bc Revert "Merge branch 'xMAC94x/quic_enablement' into 'master'"
This reverts commit 04d8ddf25e, reversing
changes made to 9dcf7a9d26.
2021-05-17 08:32:12 -07:00
Marcel
04d8ddf25e Merge branch 'xMAC94x/quic_enablement' into 'master'
Add a configuration Option to opt-in Quic backend

See merge request veloren/veloren!2268
2021-05-17 12:02:55 +00:00
Joshua Yanovski
33494c0e29 More fixes to stdin input.
Adding tty makes sure docker attach won't be accidentally detached
by ctrl-C (there are better ways of doing this but this one works
for now)

shell-words more closely emulates Bash's tokenizer rules (but without
doing things like environment variable expansion) which allows us to use
multiline strings as reasons, etc.  Unfortunately entering newlines
still won't work the way we've written things since shell-words does not
right now give enough information to incrementally build up a valid
string, just says there was a tokenizing error; but maybe in the future
we can fix that.
2021-05-11 04:15:59 -07:00
Illia Denysenko
f626d27955 Refactor i18n analysis code and improve UX of testing binary 2021-05-10 22:13:00 +00:00
Marcel Märtens
b443e4dd31 Add Quin support, as this is not yet very much tested it needs to be activated in the settings of SERVER and CLIENT.
Server:
 provide a certificate file and key file via the settings. When provided it will then listen on TCP and QUIC, if not provided it will be TCP only.
 The certificate must be known by the client, so you might get problems with self-signed certificates.
 ```ron
 quic_files: Some((
     cert: "/home/user/veloren_cert.pem",
     key: "/home/user/veloren_key.key",
 )),
 ```

Client:
 activate the voxygen settin `use_quic: true` to try to connect to the quic backend of a server.
2021-05-10 12:59:13 +02:00
Joshua Yanovski
e7587c4d9d Added non-admin moderators and timed bans.
The security model has been updated to reflect this change (for example,
moderators cannot revert a ban by an administrator).  Ban history is
also now recorded in the ban file, and much more information about the
ban is stored (whitelists and administrators also have extra
information).

To support the new information without losing important information,
this commit also introduces a new migration path for editable settings
(both from legacy to the new format, and between versions).  Examples
of how to do this correctly, and migrate to new versions of a settings
file, are in the settings/ subdirectory.

As part of this effort, editable settings have been revamped to
guarantee atomic saves (due to the increased amount of information in
each file), some latent bugs in networking were fixed, and server-cli
has been updated to go through StructOpt for both calls through TUI
and argv, greatly simplifying parsing logic.
2021-05-09 21:19:16 -07:00
juliancoffee
93b3d12478 remove ssh feature from git2 2021-05-10 00:49:45 +03:00
juliancoffee
5e598964b1 Downgrade git2 to compile on windows 2021-05-10 00:09:33 +03:00
juliancoffee
735e8ab4ec Extract common/src/assets.rs to own crate
This gives us ability to use assets-related code in i18n without
depending on whole veloren-common
2021-05-09 13:12:26 +03:00
juliancoffee
911bf974f3 Use hashbrown 2021-05-09 13:12:26 +03:00
juliancoffee
89b6111064 Remove unused dependencies 2021-05-09 13:12:26 +03:00
juliancoffee
5573fc33b9 Extract voxygen/src/i18n.rs into own crate
- New crate (i18n), currently under voxygen directory
- Updated CI to run localization test from i18n, not from voxygen
2021-05-09 13:12:26 +03:00
juliancoffee
50e992ed0d use hashbrown instead of std::collections 2021-05-09 13:12:26 +03:00
juliancoffee
57cddb3ee3 Extract localization test to binary
- Implement `--all` option
- Implement `--lang <code>` option
- Implement `--verify` command
2021-05-09 13:12:25 +03:00
Marcel Märtens
0142cf37f0 limit tokio threads to 1/4 of num_cpus
make sure that rayon has at least 2 threads even on 1cpu systems to increase stability
2021-05-04 21:06:11 +02:00
Marcel Märtens
6e3a74b476 rayon::join creates a global threadpool, which is only used in /world
instead just use the same threadpool for everything
helps with debugging problems with GDB
using threadpool.install() to also be used when `into_par_iter()` is called
2021-05-04 21:06:07 +02:00
Samuel Keiffer
fb940ad27a Merge branch 'sam/minotaur' into 'master'
Overhauled Minotaur

See merge request veloren/veloren!2193
2021-05-04 16:26:08 +00:00
Sam
062c290e49 Made buff commands exhaustive 2021-05-04 09:54:28 -04:00
Marcel Märtens
df7b65289d fix error handling in networking and switch to hashbrown, fixing #1118 2021-05-04 15:29:42 +02:00
Marcel
3c16966721 Merge branch 'xMAC94x/quic' into 'master'
Cleanup network, remove some unwraps, add experimental (disabled) Quic support

See merge request veloren/veloren!2221
2021-05-04 00:16:05 +00:00
Avi Weinstock
b15913560b Optimize CompressedData with Vec::with_capacity, and move obsolete formats from common_net into the compression benchmark. 2021-05-03 00:09:24 -04:00
Avi Weinstock
c199d12f2d Address MR 2207 review comments.
- Add metrics for which branch of the compression heuristic was taken.
- Reduce the threshold for the heuristic.
- Deduplicate code for dealing with lazy messages.
- Make jpeg dependency only scoped to the compression benchmark.
- Remove commented code.
2021-05-03 00:09:24 -04:00
Avi Weinstock
c2fd5e807d Experiment with 256-color palette "tripng" encoding, and Lanczos interpolation for "quadpng". 2021-05-03 00:09:24 -04:00
Avi Weinstock
f81539cb00 Get PngPngPngJpeg terrain working in the actual game. 2021-05-03 00:09:24 -04:00
Avi Weinstock
a9a943c19a Move compression helpers to common_net::msg::compression and experiment with more image formats at more site kinds. 2021-05-03 00:09:24 -04:00
Avi Weinstock
71220fd624 Add JPEG, PNG, and mixed compression for terrain. 2021-05-03 00:09:24 -04:00
Marcel Märtens
1ead240ad2 switch network/protocol to hashbrown (5% perf increase) 2021-04-29 19:12:57 +02:00
Marcel Märtens
760c382ed9 protocoladdr change for listen and connect
(remove a loop in quic protocol which wasnt a actual loop)
2021-04-29 15:58:34 +02:00
Marcel Märtens
383482a36e Quic: We had the followuing problem:
- locally we open a stream, our local Drain is sending OpenStream
 - remote Sink will know this and notify remote Drain
 - remote side sends a message
 - local sink does not know about the Stream. as there is (and CANT) be a wat to notify local Sink from local Drain (it could introduce race conditions).

One of the possible solutions was, that the remote drain will copy the OpenStream Msg ON the Quic::stream before first data is send. This would work but is complicated.

Instead we now just mark such streams as "potentially open" and we listen for the first DataHeader to get it's SID.

add support for unreliable messages in quic protocol, benchmarks
2021-04-29 15:58:23 +02:00
Marcel Märtens
1842b2d6eb remove some unused deps Yuri found 2021-04-25 20:18:20 +02:00
Avi Weinstock
15e32e5655 Move terrain compression code to common_net and disable redundant LZ4 compression on the terrain stream. 2021-04-20 23:24:24 -04:00
Avi Weinstock
6d9de520f3 Compress terrain chunks with deflate. Includes a benchmark showing that this makes them around 70% smaller, and is the same speed as LZ4. 2021-04-20 23:23:53 -04:00
Imbris
26222a0a2d Rename common-sys to common-systems and rearrange common-state slightly 2021-04-20 15:25:04 -04:00
Marcel Märtens
425063e24e remove authc from common::net 2021-04-20 01:30:23 +02:00
Marcel Märtens
5862920f32 seperate sys/state 2021-04-20 01:30:17 +02:00
Yusuf Bera Ertan
198545f219
build: use git keyboard-keynames to fix nix build error 2021-04-17 21:37:22 +03:00
Imbris
30e34aad44 Use separate crate to compile anim as a cdylib to avoid compiling both all the time and improve voxygen pipelining 2021-04-16 21:58:59 -04:00
DaforLynx
f441c8c206 Normalize + shrink all sfx; tweaks to combat music; change footstep sounds 2021-04-16 00:35:13 +00:00
Ben Wallis
1de94a9979 * Replaced diesel with rusqlite and refinery
* Added "migration of migrations" to transfer the data from the __diesel_schema_migrations table to the refinery_schema_history table
* Removed all down migrations as refinery does not support down migrations
* Changed all diesel up migrations to refinery naming format
* Added --sql-log-mode parameter to veloren-server-cli to allow SQL tracing and profiling
* Added /disconnect_all_players admin command
* Added disconnectall CLI command
* Fixes for several potential persistence-related race conditions
2021-04-13 22:05:47 +00:00
Adam Blanchet
0d7d069d41
Display keys based off of scancodes
Queries the OS to translate physical keyboard scancodes into
Strings that can be shown in the UI.
Addresses issues #861 and #354
2021-04-13 11:16:47 +02:00
Marcel Märtens
655a35d128 update deps 2021-04-10 15:53:00 +02:00
Imbris
0eecc61ddf Merge branch 'vfoulon80/behavior-component' into 'master'
New Component: Behavior

See merge request veloren/veloren!2033
2021-04-08 19:16:28 +00:00
Louis Pearson
be67ba1e63 Add CustomPath to Travel enum
Defines a custom path to follow, instead of using one from the World.
Airships use this to slightly adjust their course to reduce collisions.
2021-04-08 04:19:02 -06:00
Vincent Foulon
a0157ac5f5 use bitflags instead of HashSet 2021-04-07 17:37:21 +02:00
Monty Marz
06bbb7f0ff Crafting Tabs and more item tags 2021-04-04 13:02:27 +00:00
Marcel Märtens
ccb78eeb5c move tracing code to own crate 2021-03-30 16:35:36 +02:00
João Capucho
3445ec2820
Update cpal
Fixes the alsa distortion in some configs
2021-03-29 11:33:27 +01:00
Marcel Märtens
2907850ffe update dependencies and fix audio issues
fixed #1027
fixed #1033
fixed #1020
fixed #1017
fixed #1029
fixed #1025
fixed #807
fixed #816
fixed #1004
fixed #1005
2021-03-29 09:45:00 +02:00
Marcel Märtens
6b23101fac update toolchain to nightly-2021-03-22 2021-03-22 16:41:04 +01:00
Marcel Märtens
667faca5a5 update asset_manager 2021-03-22 12:37:38 +01:00
Marcel Märtens
2940693a76 update dependencies 2021-03-21 22:53:44 +01:00
Marcel Märtens
2733ba2e27 Change the version number to 0.9 2021-03-20 13:07:09 +01:00
Imbris
9fb44e5674 More voxel collision speedups by reducing the common cases from 5 to 3 voxel iterations 2021-03-18 21:20:22 -04:00
Bryant Deters
ff5b8e440d scan_fmt -> 0.2.6 2021-03-15 17:48:21 -05:00
Avi Weinstock
a71bacdce0 Add machinery for storing component buffers for interpolation. 2021-03-14 23:20:47 -04:00
Christof Petig
15b11d9154 Implement /price_list (work in progress), stub for /buy and /sell
remove outdated economic simulation code

remove old values, document

add natural resources to economy

Remove NaturalResources from Place (now in Economy)

find closest site to each chunk

implement natural resources (the distance scale is wrong)

cargo fmt

working distance calculation

this collection of natural resources seem to make sense, too much Wheat though

use natural resources and controlled area to replenish goods

increase the amount of chunks controlled by one guard to 50

add new professions and goods to the list

implement multiple products per worker

remove the old code and rename the new code to the previous name

correctly determine which goods guards will give you access to

correctly estimate the amount of natural resources controlled

adapt to new server API

instrument tooltips

Now I just need to figure out how to store a (reference to) a closure

closures for tooltip content generation

pass site/cave id to the client

Add economic information to the client structure
(not yet exchanged with the server)

Send SiteId to the client, prepare messages for economy request
Make client::sites a HashMap

Specialize the Crafter into Brewer,Bladesmith and Blacksmith

working server request for economic info from within tooltip

fully operational economic tooltips
I need to fix the id clash between caves and towns though

fix overlapping ids between caves and sites

display stock amount

correctly handle invalid (cave) ids in the request

some initial balancing, turn off most info logging

less intrusive way of implementing the dynamic tool tips in map

further tooltip cleanup

further cleanup, dynamic tooltip not fully working as intended

correctly working tooltip visibility logic

cleanup, display labor value

separate economy info request in a separate translation unit

display values as well

nicer display format for economy

add last_exports and coin to the new economy

do not allocate natural resources to Dungeons (making town so much larger)

balancing attempt

print town size statistics

cargo fmt (dead code)

resource tweaks, csv debugging

output a more interesting town (and then all sites)

fix the labor value logic (now we have meaningful prices)

load professions from ron (WIP)

use assets manager in economy

loading professions works

use professions from ron file

fix Labor debug logic

count chunks per type separately
(preparing for better resource control)

better structured resource data

traders, more professions (WIP)

fix exception when starting the simulation

fix replenish function
TODO:
- use area_ratio for resource usage (chunks should be added to stock, ratio on usage?)
- fix trading

documentation clean up

fix merge artifact

Revise trader mechanic

start Coin with a reasonable default

remove the outdated economy code

preserve documentation from removed old structure

output neighboring sites (preparation)

pass list of neighbors to economy

add trade structures

trading stub

Description of purpose by zesterer on Discord

remember prices (needed for planning)

avoid growing the order vector unboundedly

into_iter doesn't clear the Vec, so clear it manually

use drain to process Vecs, avoid clone

fix the test server

implement a test stub (I need to get it faster than 30 seconds to be more useful)

enable info output in test

debug missing and extra goods

use the same logging extension as water, activate feature

update dependencies

determine good prices, good exchange goods

a working set of revisions

a cozy world which economy tests in 2s

first order planning version

fun with package version

buy according to value/priority, not missing amount

introduce min price constant, fix order priority

in depth debugging

with a correct sign the trading plans start to make sense

move the trade planning to a separate function

rename new function

reorganize code into subroutines (much cleaner)

each trading step now has its own function

cut down the number of debugging output

introduce RoadSecurity and Transportation

transport capacity bookkeeping

only plan to pay with valuable goods, you can no longer stockpile unused options
(which interestingly shows a huge impact, to be investigated)

Coin is now listed as a payment (although not used)

proper transportation estimation (although 0)

remove more left overs uncovered by viewing the code in a merge request

use the old default values, handle non-pileable stocks directly before increasing it
(as economy is based on last year's products)

don't order the missing good multiple times
also it uses coin to buy things!

fix warnings and use the transportation from stock again

cargo fmt

prepare evaluation of trade

don't count transportation multiple times

fix merge artifact

operational trade planning
trade itself is still misleading

make clippy happy

clean up

correct labor ratio of merchants (no need to multiply with amount produced)

incomplete merchant labor_value computation

correct last commit

make economy of scale more explicit

make clippy happy (and code cleaner)

more merchant tweaks (more pop=better)

beginning of real trading code

revert the update of dependencies

remove stale comments/unused code

trading implementation complete (but untested)

something is still strange ...

fix sign in trading

another sign fix

some bugfixes and plenty of debugging code

another bug fixed, more to go

fix another invariant (rounding will lead to very small negative value)

introduce Terrain and Territory

fix merge mistakes
2021-03-14 03:18:32 +00:00
Marcel Märtens
c1d6b1ac75 handle ticks in a seperate thread that tui on botclient 2021-03-12 11:08:24 +01:00
Marcel Märtens
e001b2cac2 move botclient to client/src/bin/bot
start it with:
 - (cd client && RUST_BACKTRACE=full RUST_LOG=trace VELOREN_USERDATA_STRATEGY=executable cargo run --bin bot --features="bin_bot")
2021-03-12 09:28:24 +01:00
Avi Weinstock
7301182695 Draft of botclient. 2021-03-12 09:28:21 +01:00
Marcel Märtens
728bff610b Allow HTTP auth servers again.
only `localhost` are allowed in a release build.
 when debug assertions are on, others are also allowed.

This change undoes the changes to the settings, so compared to master, there is no effect
2021-03-11 17:24:52 +01:00
Marcel Märtens
a98e72c391 Auth requests are now done async, the register system is fetching it, via a PendingLogin component
The auth server no longer allows the protocol to be specified. we enforce `https` for the auth server, so DO NOT provide a auth url with `https://` but without.
correct is now `auth.veloren.net`
incorrect is: `https://auth.veloren.net`
2021-03-11 17:05:02 +01:00
Marcel Märtens
b151a246c3 update specs to get rid of old deps 2021-03-10 13:22:17 +01:00