Commit Graph

268 Commits

Author SHA1 Message Date
Joshua Yanovski
862df3c997 Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes 2020-08-13 05:52:56 +02:00
Joshua Barretto
6c3c941a49 Fixed client API 2020-08-12 21:15:52 +01:00
Joshua Barretto
1f4cec773b Added make_block command 2020-08-12 21:15:52 +01:00
Joshua Yanovski
0ed801d540 Merge remote-tracking branch 'origin/master' into sharp/small-fixes 2020-08-12 16:32:24 +02:00
IBotDEU
6b707a1ab7 implemented ability to select bit depth and refresh rate and implemented seperate setting for fullscreen resolution 2020-08-09 20:30:22 +00:00
Imbris
01ad81322d Merge branch 'yusdacra/treeculler-update' into 'master'
change treeculler crate from git to published version

See merge request veloren/veloren!1269
2020-08-09 17:21:15 +00:00
Imbris
390d289d35 Add timeout's to group invites, and configurable limit to group size
Fix a few group bugs, enable invite timeout and group limits in ui
2020-08-08 01:16:35 +02:00
Monty Marz
1eb671e1a6 Update CHANGELOG.md, german locale 2020-08-08 01:15:58 +02:00
Imbris
10c3d01466 Add basic group functionality (no voxygen wiring yet) 2020-08-08 01:09:01 +02:00
Joshua Yanovski
3dc973e0be Major speedups with SIMD. 2020-08-07 23:50:27 +02:00
Joshua Yanovski
77a8c7c267 Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes 2020-08-07 06:47:10 +02:00
Yusuf Bera Ertan
af72c46c02
change treeculler crate from git to published version 2020-08-07 01:53:49 +03:00
Silentium2318
a59438e3e4 Dis some distance and attack arc tweaking 2020-08-06 09:39:09 -05:00
Silentium2318
b0f55b3f79 Weapon balancing 2020-08-06 09:38:22 -05:00
Joshua Yanovski
b44e442325 Miscellaneous performance improvements. 2020-08-06 13:40:35 +02:00
Joshua Yanovski
d4d4956e92 Merge remote-tracking branch 'origin/master' into sharp/small-fixes 2020-08-02 20:56:54 +02:00
Samuel Keiffer
f930f52df5 Allows for weapons to have different stats. Seperates healing staff out from staffs into its own weapon type: sceptre. Splits bow weapon type into shortbow and longbow. 2020-08-01 20:08:30 +00:00
Marcel Märtens
7f97baca70 switch to auth that doesn't use agent 2020-07-31 01:05:01 +02:00
Marcel Märtens
0d5e61c4b6 update auth to newest version 2020-07-29 19:28:22 +02:00
Joshua Yanovski
56da06f7a3 Merge remote-tracking branch 'origin/master' into sharp/small-fixes 2020-07-29 18:56:52 +02:00
Joshua Yanovski
cf74d55f2e Fix map image artifacts and remove unneeded allocations.
Specifically, we address three concerns (the image stretching during
rotation, artifacts around the image due to clamping to the nearest
border color when the image is drawn to a larger space than the image
itself takes up, and potential artifacts around a rotated image which
accidentally ended up in an atlas and didn't have enough extra space to
guarantee the rotation would work).

The first concern was addressed by fixing the dimensions of the map
images drawn from the UI (so that we always use a square source
rectangle, rather than a rectangular one according to the dimensions of
the map).  We also fixed the way rotation was done in the fragment
shader for north-facing sources to make it properly handle aspect ratio
(this was already done for north-facing targets).  Together, these fix
rendering issues peculiar to rectangular maps.

The second and third concerns were jointly addressed by adding an
optional border color to every 2D image drawn by the UI.  This turns
out not to waste extra space even though we hold a full f32 color
(to avoid an extra dependency on gfx's PackedColor), since voxel
images already take up more space than Optiion<[f32; 4]> requires.
This is then implemented automatically using the "border color"
wrapping method in the attached sampler.

Since this is implemented in graphics hardware, it only works (at
least naively) if the actual image bounds match the texture bounds.
Therefore, we altered the way the graphics cache stores images
with a border color to guarantee that they are always in their own
texture, whose size exactly matches their extent.  Since the easiest
currently exposed way to set a border color is to do so for an
immutable texture, we went a bit further and added a new "immutable"
texture storage type used for these cases; currently, it is always
and automatically used only when there is a specified border color,
but in theory there's no reason we couldn't provide immutable-only
images that use the default wrapping mdoe (though clamp to border
is admittedly not a great default).

To fix the maps case specifically, we set the border color to a
translucent version of the ocean border color.  This may need
tweaking going forward, which shouldn't be hard.

As part of this process, we had to modify graphics replacement to
make sure immutable images are *removed* when invalidated, rather
than just having a validity flag unset (this is normally done by
the UI to try to reuse allocations in place if images are updated
in benign ways, since the texture atlases used for Ui do not
support deallocation; currently this is only used for item images,
so there should be no overlap with immutable image replacement,
so this was purely precautionary).

Since we were already touching the relevant code, we also updated
the image dependency to a newer version that provides more ways
to avoid allocations, and made a few other changes that should
hopefully eliminate redundant most of the intermediate buffer
allocations we were performing for what should be zero-cost
conversions.  This may slightly improve performance in some
cases.
2020-07-29 18:29:52 +02:00
Marcel Märtens
96cde882ef update auth to the newest version and remove useless dep 2020-07-29 00:05:23 +02:00
Joshua Yanovski
13b6d4d534 Removing WORLD_SIZE, part 1.
Erased almost every instance of WORLD_SIZE and replaced it with a local
power of two, map_size_lg (which respects certain invariants; see
common/src/terrain/map.rs for more details about MapSizeLg).  This also
means we can avoid a dependency on the world crate from client, as
desired.

Now that the rest of the code is not expecting a fixed WORLD_SIZE, the
next step is to arrange for maps to store their world size, and to use
that world size as a basis prior to loading the map (as well, probably,
as prior to configuring some of the noise functions).
2020-07-28 10:55:48 +02:00
Joshua Yanovski
7d56ba31b4 Merge remote-tracking branch 'origin/master' into sharp/small-fixes 2020-07-27 13:16:27 +02:00
Imbris
c8133ded43 Fix issue where client_init was not set to None after it finished, use tweaked version of winit to avoid macos link failure in the CI, small comment fixes 2020-07-17 21:26:21 -04:00
Imbris
953773e1d3 Temporarily remove voxygen character_renderer example until we move to a more actively maintained rendering backend 2020-07-17 21:26:21 -04:00
Imbris
ede0cbdfd3 Get misc conrod fixes onto winit-20 branch, add diagnostic printlns 2020-07-17 21:26:21 -04:00
Imbris
7ab4f71b83 Windows cpal conflict fix not released yet so we need to use the git version 2020-07-17 21:26:20 -04:00
Imbris
29c877cff3 Winit 0.22 released 2020-07-17 21:26:16 -04:00
Imbris
7dfb24d4a5 Clean comments, fix mistake, change dep source now that compatible version is available on crates.io 2020-07-17 21:24:28 -04:00
Imbris
70eba0c30a Update changelog 2020-07-17 21:24:28 -04:00
Imbris
21a1382850 Update to winit 0.21.0 2020-07-17 21:24:28 -04:00
Imbris
d1b635efa4 Rearrange PlayState system to work without loop control 2020-07-17 21:24:28 -04:00
Imbris
515dbc30a7 Switch to updated gfx_window_glutin 2020-07-17 21:24:28 -04:00
Joshua Barretto
807a27328c Updated to winit 20 2020-07-17 21:24:27 -04:00
Samuel Keiffer
6cce09be85 Added protection stat to admin armor hidden in debug folder. Removed blue cultist armor set from drop table as it is an admin set. 2020-07-18 00:05:28 +00:00
Joshua Yanovski
6332cbe006 Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes 2020-07-12 18:47:00 +02:00
Songtronix
5b57072064 fix: use correct specs(-idvs) versions
related to torvus
2020-07-09 19:46:30 +02:00
Joshua Yanovski
db1401a691 Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes 2020-07-07 19:34:17 +02:00
Marcel Märtens
85a3f8637d fix specs 2020-07-07 14:28:00 +02:00
Marcel Märtens
6ddd09b7b6 specs back to master 2020-07-07 12:55:06 +02:00
Marcel
b85a4493ea revert dispatch 2020-07-07 11:19:38 +02:00
Marcel Märtens
c212de00c2 updated dependencies and fixed stuff
- replace serde_derive by feature of serde
   incl. source code modifications to compile
 - reduce futures-timer to "2.0" to be same as async_std
 - update notify
 - removed mio, bincode and lz4 compress in common as networking is now in own crate
   btw there is a better lz4 compress crate, which is newer than 2017
 - update prometheus to 0.9
 - can't update uvth yet due to usues
 - hashbrown to 7.2 to only need a single version
 - libsqlite3 update
 - image didn't change as there is a problem with `image 0.23`
 - switch old directories with newer directories-next
 - no num upgrade as we still depend on num 0.2 anyways
 - rodio and cpal upgrade
 - const-tewaker update
 - dispatch (untested) update
 - git2 update
 - iterations update
2020-07-07 09:43:49 +02:00
Imbris
8d39f27458 Upgrade hashbrown 2020-07-06 03:15:06 -04:00
Imbris
c2d6d00b00 point to github specs to access PairedStorage type, fix Loadout sync spam 2020-07-06 01:56:02 -04:00
Marcel Märtens
3a6319f2f6 compress everything 2020-07-05 20:14:47 +02:00
Joshua Yanovski
4e02024670 Merge remote-tracking branch 'origin/master' into sharp/small-fixes 2020-07-04 16:17:40 +02:00
Marcel Märtens
f9895a7800 crossbeam-channel and log spam
- swap out std::mpsc with crossbeam-channel in networking crate
 - remove log spam by only logging when populating a new cache entry and not on every get
2020-07-03 22:35:29 +02:00
Marcel Märtens
77c90b2c7c doing a simple 1:1 swap out network coding
this is the part which prob has less Merge conflics and is easy to rebase
the next commit will have prob alot of merge conflics
followed by a fmt commit
2020-07-03 13:11:31 +02:00
Joshua Yanovski
618a18c998 Adding shadows, greedy meshing, and more. 2020-07-02 22:10:22 +02:00