3284 Commits

Author SHA1 Message Date
Marcel
77a7676d46 Merge branch 'lboklin/auto-glide' into 'master'
Implement auto-glide

See merge request veloren/veloren!2321
2021-05-21 09:02:59 +00:00
Ludvig Böklin
51c4b31132 Prevent auto-glide from pitching too high up 2021-05-20 17:20:49 +02:00
Ludvig Böklin
1012a22dfa Disable glider input until keys are pressed again after deploy 2021-05-20 12:13:59 +02:00
Ludvig Böklin
b1e1760bc5 Code quality 2021-05-20 10:46:39 +02:00
Ludvig Böklin
f6f075a82c Implement auto-glide 2021-05-20 09:27:41 +02:00
Joshua Yanovski
2fcf5c2b24 Various improvements to chunk load latency.
Firstly, most importantly, improves the heuristic used for deciding
which chunks to mesh (which matters more even at low view distances
with meshing being so expensive now, but has an even more obvious
improvement at large view distances).  Essentially, instead of always
prioritizing whatever chunk was fetched earliest from the server,
instead we prioritize chunks *closest* to the player first, then chunk
order.

This greatly improves the apparent latency for things like
picking up a sprite, as well as cases where the player moves out of the
loaded range but (due to slow loading from the server or a large VD
range) there are many remaining chunks left to be meshed still within
the VD but nowhere near the player.  By properly priotizing chunks near
the player, we minimize the time / likelihood of a player being on or
very near an unmeshed chunk, and make high VDs and faster travel
speeds more viable.

We make a few other minor improvements as well:

Avoid duplicate meshing of neighbors when first inserting chunks, if
they are already in the todo list and the chunk being inserted was not
directly modified.

Also avoid remeshing neighbors if only a solid block's color changed,
which could sometimes be useful for non-sprite modifications (for
example flame-induced changes to non-destructible terrain color).
2021-05-18 17:10:29 -07:00
Joshua Yanovski
b4479fe793 Make meshing work properly for rapid changes.
The previous fix accidentally caused meshing to not perform an update if
a chunk was already actively meshing; this change fixes this behavior to
go back to the old behavior.  It also fixes a subtle bug where sprites
would be using old lighting if a chunk was being actively meshed on the
same tick that a sprite change happened (this should only affect things
in a handful of circumstances and could be avoided if, e.g., only color
was changing, but this can be addressed better at another time).
2021-05-18 12:43:38 -07:00
Joshua Yanovski
20eccf597b Revert "Merge branch 'xMAC94x/quic_enablement' into 'master'"
This reverts commit 04d8ddf25ed6b1ae8dd97846c5c4b9af4ab399b8, reversing
changes made to 9dcf7a9d26f7d60020c5707fea3ed8ac5596d3dc.
2021-05-17 08:32:12 -07:00
Marcel
48208b711d 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
Marcel
8218fdd329 Revert "Merge branch 'snowram/hacky-mount' into 'master'"
This reverts merge request !2219
2021-05-14 13:43:20 +00:00
Marcel
f377c9c8a8 Merge branch 'snowram/hacky-mount' into 'master'
Allow for collars to make QuadMed npcs mountable

See merge request veloren/veloren!2219
2021-05-14 12:27:19 +00:00
hqurve
9425f212ca Added chat tabs 2021-05-14 12:27:15 +00:00
Snowram
b38c9e593b Use Body to determine mountee offsets 2021-05-14 00:11:54 +02:00
Snowram
c594e500e0 Clean unused mount offset 2021-05-14 00:11:46 +02:00
Snowram
6fb06af1c5 Anims export a transform for mounts 2021-05-14 00:11:37 +02:00
Snowram
d3b171f608 Expose the mounting bone to the mounter anims 2021-05-14 00:11:28 +02:00
Snowram
a01add2e2c Collar can make QuadMeds mountable, state + offsets 2021-05-14 00:11:15 +02:00
Joshua Yanovski
e457c3547d Don't remesh chunk vertex data on sprite update.
This results in an extremely visually noticeable improvement in latency
when adding or removing sprite data and makes the game feel more
responsive.

This happens, for instance, when picking up a sprite like an apple or
flower from the environment.  We check to make sure that for items
with lighting (like Velorite) or changes that otherwise affect meshing
(like changing from fluid to nonfluid) this doesn't trigger.
2021-05-11 12:58:15 -07:00
James Melkonian
fb2cd3fd45 Make merchants /tell instead of /say 2021-05-11 17:26:22 +00:00
jshipsey
8b0a2a0199 anims 2021-05-10 18:54:03 -05:00
Sam
510c1980da Made golem laser spawn based off of orientation rather than look_dir. Additional balance tweaks. 2021-05-10 18:54:00 -05:00
Snowram
6cb67b85da Adds haniwa sentry object 2021-05-10 18:53:48 -05:00
Sam
083d3d2a6c Clay golem attacks done. 2021-05-10 18:53:01 -05:00
Illia Denysenko
3cd279df3d Refactor i18n analysis code and improve UX of testing binary 2021-05-10 22:13:00 +00:00
Joshua Barretto
4f9863e388 Prevented low FPS from limiting chunk loading performance 2021-05-10 14:23:37 +01:00
Marcel Märtens
e20f74a5f1 remove ViewDistance from Client::new() and fix tests 2021-05-10 12:59:49 +02:00
Marcel Märtens
cb845f86ba cleanup error codes 2021-05-10 12:59:44 +02:00
Marcel Märtens
869a922b2d 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
2015f34985 Merge branch 'sharp/modtools' into 'master'
Added non-admin moderators and timed bans.

See merge request veloren/veloren!2276
2021-05-10 04:54:06 +00:00
Joshua Yanovski
3f8d2f95be 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
Samuel Keiffer
f0cc0b57ed Merge branch 'aweinstock/mindflayerfixes-202105' into 'master'
Mindflayer AI improvments

See merge request veloren/veloren!2285
2021-05-10 02:54:21 +00:00
Avi Weinstock
7103467d1a Add a purple fireball to mindflayer and have it shoot it a few times before teleporting, and fix mindflayer AI's husk summons. 2021-05-09 18:09:31 -04:00
juliancoffee
d2cba0f4e5 remove ssh feature from git2 2021-05-10 00:49:45 +03:00
juliancoffee
6cfd9c24b3 Downgrade git2 to compile on windows 2021-05-10 00:09:33 +03:00
juliancoffee
7bec0bc529 add authors 2021-05-09 13:12:26 +03:00
juliancoffee
ce68d0268e Fix paths and adding tests 2021-05-09 13:12:26 +03:00
juliancoffee
04de189427 rename i18n/src/i18n.rs to i18n/src/data.rs 2021-05-09 13:12:26 +03:00
juliancoffee
5bd4dcc167 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
45af1a8446 Make fields more private 2021-05-09 13:12:26 +03:00
juliancoffee
79ab181125 remove unneeded imports 2021-05-09 13:12:26 +03:00
juliancoffee
696136fffc Use hashbrown 2021-05-09 13:12:26 +03:00
juliancoffee
53314e8961 Remove unused dependencies 2021-05-09 13:12:26 +03:00
juliancoffee
333754b2e6 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
b4bd196837 use hashbrown instead of std::collections 2021-05-09 13:12:26 +03:00
juliancoffee
1ab817b4ba Update instuction for using binary 2021-05-09 13:12:26 +03:00
juliancoffee
2d9f4d4a95 Add comments 2021-05-09 13:12:25 +03:00
juliancoffee
684f7f6e0a Integrate verification from i18n_check 2021-05-09 13:12:25 +03:00
juliancoffee
0611b166ed Integrate changes and improving code style
- Integrate voxygen/i18n-check to voxygnen/src/i18n.rs
- Make `cargo clippy` happy
2021-05-09 13:12:25 +03:00
juliancoffee
6bc6f6bbba Extract localization test to binary
- Implement `--all` option
- Implement `--lang <code>` option
- Implement `--verify` command
2021-05-09 13:12:25 +03:00
Monty Marz
e5613603e4 Merge branch 'aweinstock/small-fixes' into 'master'
Distinguish NAMETAG_MERCHANT_RANGE from NAMETAG_GROUP_RANGE.

See merge request veloren/veloren!2277
2021-05-09 09:58:44 +00:00