Commit Graph

612 Commits

Author SHA1 Message Date
Joshua Yanovski
3f9b89a3ac Merge remote-tracking branch 'origin/sharp/small-fixes' into sharp/small-fixes 2020-08-20 04:29:41 +02:00
Joshua Yanovski
e2f5162e4f World colors are all hotloadable.
They live in assets/world/style/colors.ron.

Only a small handful of hardcoed colors remain in World; they are either
part of the map, or difficult to disentangle from the rest of the
computation.  Comments are made where appropriate.
2020-08-20 04:28:38 +02:00
Marcel Märtens
62c53963ab replace pretty_env_logger with tracing 2020-08-19 15:59:34 +02:00
Joshua Yanovski
a166ae0360 Addressing imbris's initial feedback.
Fixes two minor bugs: explosion particles were no longer spawning
randomly, and LOD grids were not perfectly even.
2020-08-17 05:28:05 +02:00
Joshua Yanovski
548680276a Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes 2020-08-16 19:26:06 +02:00
Joshua Yanovski
10245e0c1b Merge more models into one mesh than we did previously. 2020-08-15 21:15:02 +02:00
Marcel Märtens
ed68bff135 Change the version number to 0.7 2020-08-15 11:53:59 +02:00
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
e3cab272c3 Fixed floating sprites in towns, clippy fixes 2020-08-12 21:16:14 +01:00
Joshua Barretto
50a85853e3 Fmt and clippy lints fixes 2020-08-12 21:16:14 +01:00
Joshua Barretto
9cefaaa7af Improved spawn rates of castles and cave monsters 2020-08-12 21:16:14 +01:00
Joshua Barretto
85ed5ad356 Updated changelog, cleaned up warnings, minor fixes 2020-08-12 21:16:11 +01:00
Joshua Barretto
15b1717295 Added decals to towns 2020-08-12 21:15:53 +01:00
Joshua Barretto
6992194ad4 Better surface swimming, no underwater sprites 2020-08-12 21:15:53 +01:00
Monty Marz
c1b07465cf added grass sprites 2020-08-12 21:15:53 +01:00
Joshua Barretto
6633298722 Added terrain scatter densities 2020-08-12 21:15:53 +01:00
Joshua Barretto
9329b4ce55 Added monsters to caves 2020-08-12 21:15:53 +01:00
Joshua Barretto
a966841c5a Castle and cave tweaks 2020-08-12 21:15:53 +01:00
Joshua Barretto
9bb10a6d00 Various improvements to castles, dungeons and more 2020-08-12 21:15:53 +01:00
Joshua Barretto
c8ae5163b3 Added stalagtites 2020-08-12 21:15:53 +01:00
Joshua Barretto
c547cdd72c Fixed castle bug, better field RNG 2020-08-12 21:15:53 +01:00
Joshua Barretto
41229b4665 Added large caves, cave scatter, removed old caves 2020-08-12 21:15:53 +01:00
Joshua Barretto
10757d0325 Added experimental worldgen caves 2020-08-12 21:15:52 +01:00
Joshua Barretto
a9126f7e25 Simulation improvements, removed block glows 2020-08-12 21:15:52 +01:00
Joshua Barretto
cb660f47bb Added waypoint to dungeon staircases 2020-08-12 21:15:52 +01:00
Joshua Barretto
1763693f5f Added labour value to economy, castle improvements 2020-08-12 21:15:52 +01:00
Joshua Barretto
bdb39b8e7f Better castle variation, improved paths, multi-storey houses 2020-08-12 21:15:52 +01:00
Joshua Barretto
6a41f6aa88 Lowered path priority 2020-08-12 21:15:52 +01:00
Joshua Barretto
41916d4594 Better castles, initial light prop for lit objects 2020-08-12 21:15:52 +01:00
Joshua Barretto
b27a65fd0f Castle improvements 2020-08-12 21:15:52 +01:00
Joshua Barretto
d6cdb0c433 Began adding castles 2020-08-12 21:15:52 +01:00
Joshua Barretto
f21a50e393 Added forts to towns, began better economy sim 2020-08-12 21:15:52 +01:00
Joshua Barretto
ae8195fac9 Added simple keeps 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
Monty Marz
1eb671e1a6 Update CHANGELOG.md, german locale 2020-08-08 01:15:58 +02:00
Joshua Yanovski
3dc973e0be Major speedups with SIMD. 2020-08-07 23:50:27 +02:00
Joshua Yanovski
b44e442325 Miscellaneous performance improvements. 2020-08-06 13:40:35 +02:00
Joshua Yanovski
a428a3ebba Fix clippy warnings, part 1.
There aer still a bunch of type too complex and
function takes too many arguments warnings that I'll fix later
(or ignore, since in the one case I did fix a function takes too
many arguments warning I think it made the code *less* readable).
2020-08-02 20:41:51 +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
Joshua Yanovski
ad18ce9399 Fix continent scale hack. 2020-07-28 13:21:09 +02:00
Joshua Yanovski
36b1cb074f Enable loading different sized maps without a recompile.
We may want to tweak the effects of the continent_scale_hack.
2020-07-28 12:11:40 +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
Monty Marz
31cfc05123 lots of things
animation fixes by slipped
new cultist item
settings option for loading screen tips
loot table adjustments
2020-07-23 12:10:13 +00:00
Joshua Yanovski
2101113b46 Higher detail LOD. 2020-07-18 18:55:25 +02:00
Joshua Yanovski
add2cfae04 Revert some irrelevant stuff. 2020-07-16 01:57:39 +02:00
Joshua Barretto
8d6b442193 Crafting 2020-07-14 20:11:39 +00:00
Ben Wallis
a9be045cb8 Fixed suppressed clippy warnings for #587 - useless_conversion 2020-07-13 20:57:13 +01:00
Joshua Yanovski
be438657c3 Tweaks to shadows.
Added shadow map resolution configuration, added seamless cubemaps,
documented all existing rendering options, and fixed a few Clippy
errors.
2020-07-12 18:28:08 +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