Commit Graph

1017 Commits

Author SHA1 Message Date
Joshua Barretto
49c713a071 Merge branch 'zesterer/rtsim' into 'master'
Beehives, Fireflies, and minor worldsim/lighting adjustments

See merge request veloren/veloren!1357
2020-09-05 17:16:08 +00:00
Joshua Yanovski
66f49d5386 Merge branch 'sharp/default-shadows' into 'master'
Create (segment, offset) just once per figure.

See merge request veloren/veloren!1360
2020-09-04 15:54:55 +00:00
Joshua Barretto
0adc57e487 Made particle code more rugged 2020-09-04 11:49:49 +01:00
Joshua Barretto
0c0f150140 fmt 2020-09-04 11:48:57 +01:00
Joshua Barretto
70f52d876a Improved lighting 2020-09-04 11:48:57 +01:00
Monty Marz
b24f5b5b24 adjustments to firefly density 2020-09-04 11:48:57 +01:00
Monty Marz
c3ae56114a added fireflies to reed and flowers, readded sunflowers 2020-09-04 11:48:57 +01:00
Joshua Barretto
032ec9ef41 Added bee hives 2020-09-04 11:48:56 +01:00
Joshua Barretto
88add8456f Added fireflies, reeds near rivers 2020-09-04 11:48:56 +01:00
Joshua Barretto
4405227ffb Made light attenuation nicer, fixed campfire light offset 2020-09-04 11:48:54 +01:00
scott-c
69e0bf2023 fix missing firework particle rng & adjust firework colors 2020-09-01 20:33:17 +08:00
Joshua Yanovski
4eeb131f4b Create (segment, offset) just once per figure. 2020-09-01 11:23:19 +02:00
Joshua Yanovski
6f3d5da6f3 Further generalize the typed module.
This enables us to automatically create configuration formats from enums
or structs.  For enums, we create a structure with a field for each
case, representing a pattern match; the configuration format can then
enter a different expression for each case.  For structs, we create an
enum with a variant for each field, representing projecting by that
field; the configuration format selects the field to project from, and
then can write a further expression on that field (for instance, it can
perform another pattern match).

So far we don't actually have anything that *uses* this functionality;
I decided to finish it for the purpose of specifying a default
lantern offset, only to discover that we already return a lantern offset
from the animation crate.  So I fixed it there instead.
2020-08-31 05:59:44 +02:00
Joshua Yanovski
8be3648a4d Move sprite data to a config file. 2020-08-28 09:23:43 +02:00
Joshua Yanovski
3a96b73b2c Move figure meshing to a background thread. 2020-08-28 05:25:31 +02:00
Imbris
4790373ab3 Add State::read_component_copied 2020-08-26 20:47:41 -04:00
Joshua Barretto
bf7afcf5c9 Merge branch 'zesterer/small-fixes' into 'master'
Better world colours, better projectiles, better aiming, many other small improvements

See merge request veloren/veloren!1332
2020-08-25 15:59:05 +00:00
notoria
2be4202d01 Corrected some spelling errors 2020-08-25 12:21:25 +00:00
Joshua Barretto
6a4c5a05d0 Fixed projectile collisions, hitboxes, better aiming 2020-08-24 18:24:44 +01:00
Niko Thees
5d11adfd4c fix unequal zoom in distance and zoom out distance 2020-08-23 23:24:24 +00:00
Monty Marz
8646c1add5 fix particles rendering before water
revert changes to campfires -> Address in another MR!
2020-08-22 00:17:44 +02:00
Monty Marz
55d126861f fix tooltips in char selection, more balancing
fix talking animals

fix critter exp, stronger villagers

biped large balancing

more villager balancing, mushroom spawning rate

more balancing

fix rebase

multiple loottables

Add tarasque and bonerattler armour

Added loot tables for different groups of weapons and armor based off relative strength. Added loot table for cultist boss.

Added loot tables for consumables and food. Trimmed down default loot table.

remove male and female sign from char creation

chest loot tables

fix loot tables

lootable crates

lantern keybinding display

more loot tables

loot table changes

fixed loot tables

fix typo
more grass

rebase fix, better lantern

re-add sprite rotation for grass

crafting window alignment fix, new streetlamps, new shopsigns, new healing staff

height change
2020-08-21 19:36:19 +02:00
Joshua Barretto
db183e607f Added particle explanation, more efficient particle pushing 2020-08-21 09:53:09 +01:00
Joshua Barretto
1b80f05e82 Centred particle meshes correctly 2020-08-20 22:34:58 +01:00
Joshua Barretto
7eff8ff0ad Added lifetime particle parameter 2020-08-20 21:38:21 +01:00
Joshua Barretto
c759c8120f Centralised particle offset, variable chunk range, better smoke offsets 2020-08-20 21:28:11 +01:00
Joshua Barretto
237d33e9aa Updated changelog 2020-08-20 21:15:38 +01:00
Joshua Barretto
d1bbfc9960 Added BlocksOfInterest and block particle emission 2020-08-20 21:15:13 +01:00
Joshua Yanovski
2dfd3b13d1 (See sharp/lod-history) LOD, shadows, greedy meshing, new lighting, perf
---

Pretty much a Veloren fork at this point.  Here's a high level overview of the changes (will be added to CHANGELOG just before merge).

At a high level this MR incorporates roughly two groups of changes.

The first group consists of new game features: more flexible map sizes, level of detail terrain, shadow maps, and a new lighting
engine.  This is "feature work" that (mostly)  only adds new things to Veloren, and mostly shouldn't affect old stuff.

The second big group of changes are those addressing the fallout from all the new features.  These include performance fixes of
various sorts: the addition of multiple graphics options and optimization of the cheap ones to avoid work, switching all voxel
models to use some variant of greedy meshing, switching over much of our CPU-side vector math to exploit SIMD instructions
(coinciding with a fork of `vek`), and a rewrite of how the UI handles text rendering (coinciding with updates to our fork
of `conrod`).  Making Veloren's hardcoded colors appear correct under the new lighting engine also required considerably
changes (TODO: Fill in this section when it's complete).

The second category of changes often heavily touches code owned by other people, including frequently modified code "owned" by a
handful of people, so I recommend that this code be reviewed particularly carefully.

---

At a high level (each will be described in more detail below):
- The world map has been refactored.
  - The world size is no longer hardcoded (@zesterer).
  - The map generation code was made generic to allow using it outside of the `world` crate (@zesterer).
  - On world creation, we now compute *horizon maps* (@zesterer).
  - The way we pass the world from the server to the client has been updated (@xMAC94x).
  - Artifacts related to image rotation were fixed (@imbris).
  - Multiflow rivers were enabled (@zesterer).
  - In the process of making changes related to the world map, various incidental fixes and optimizations were required.
- The new *level of detail* feature was added (@zesterer wrote part of this and has checked out the rest).
  - A new LOD terrain rendering step was added to the pipeline.
  - The LOD terrain quality was made configurable via a graphics setting.
  - Horizon maps were used to cast shadows from LOD chunks on both LOD and non-LOD terrain.
  - A "voxelization" effect was incorporated into rendered LOD terrain to make it blend better into the world.
  - In the process of making changes related to LOD, various incidental fixes and optimizations were required.
- Veloren's lighting has been completely overhauled (@zesterer has already checked most of this out).
  - A semi-accurate index of refraction was assigned to our materials.
  - A new, more realistic, physically based approach to lighting was used using the *Ashikhmin Shirley* BRDF.
  - We emulate *atmospheric scattering* using equations designed for measuring solar panel light exposure.
  - We attempt to compute *realistic light attenuation* in water using its real material properties.
  - In the process of making changes related to LOD, various incidental fixes and optimizations were required.
- Point and directional lights now cast realistic shadows, using *shadow mapping.* (@imbris, @zesterer, @Treeco, @YuriMomo)
  - Point light shadow maps were added to the rendering pipeline, using geometry shaders and *seamless cube maps*.
  - Directional light shadows were added to the rendering pipeline, using LISPSM together with disabling *depth clamping*.
  - "Shadow-only" chunks and NPCs were added to prevent shadows from models behind you from disappearing.
  - In the process of making changes related to shadow maps, various incidental fixes and optimizations were required.

The addition of shadow maps, LOD terrain, and the new lighting all led to significant performance degradation, on top of other
changes happening in master.  Therefore, a large number of performance improvements were also needed:

- The graphics options were made much more flexible and configurable, and shaders were optimize.
  - New options were provided for how to render lights and shadows  (@Pfauenauge, @zesterer).
  - Graphic setting storage and configuration were overhauled to make adding new features easier (@Pfauenauge, @imbris).
  - Shaders were rewritten to utilize GLSL's preprocessor to avoid overhead (@zesterer, @YuriMomo).
  - In the process of making changes related to providing additional rendering options, various incidental fixes and optimizations were required.
- Voxel model creation was switched to use *greedy meshing.*
  - A new voxel meshing method, greedy meshing, was added (@imbris).
  - Uses of the older meshing methods were migrated to use greedy meshing (@imbris, @jshipsey, @Pfauenauge).
  - New restrictions were added to terrain, figure, and sprites to future proof them for further optimizations (@jshipsey, @Pfauenauge, @zesterer).
  - Most positions are now relative to either chunk or player position for better precision (@imbris, @zesterer, @scottc).
  - In the process of making changes related to greedy meshing, various incidental fixes and optimizations were required.
- Animation and terrain math were switched to use SIMD where possible.
  - Fixes were made to vek to make its SIMD feature usable for us (@zesterer, @imbris).
  - The interface and types used in bone animation were changed in various ways (@jshipsey, @Snowram, @Pfauenauge).
  - Redundant code generation for body animation is now partly taken care of by a macro (@jshipsey, @Snowram, @Pfauenauge).
  - Animation code was modified to to use vek's SIMD representation where possible (@jshipsey, @Snowram, @Pfauenauge).
  - Terrain meshing code and shadow map math were also modified to use vek's SIMD representation (@imbris).
  - SIMD instruction generation was enabled (@YuriMomo, @jshipsey, @Snowram, @imbris, @Angelonfira, @xMAC94x).
  - In the process of making changes related to greedy meshing, various incidental fixes and optimizations were required.
- The way we cache glyphs was completely refactored, fixed, and optimized.
  - Our fork of `conrod` was optimized in various ways (@imbris).
  - Our fork of `conrod` now exposes whether a widget was updated during the current frame (@imbris).
  - Our use of the glyph cache was rewritten for correctness (@imbris).
  - A *text cache* was introduced that lets us skip remeshing glyphs that have not changed (@imbris).
  - Various changes were made to reduce pressure on the glyph cache, with more planned (@imbris, @Pfauenauge).
  - In the process of making changes related to the glyph cache, various incidental fixes and optimizations were required.
- Colors were changed to keep Veloren's look consistent with master.
  - Some older tree models were brought back (@Pfauenauge).
  - TODO(@Sharp): All hardcoded colors were extracted and made hotloadable.
  - TODO(@Treeco, @Pfauenauge, @imbris, @jshipsey): Hardcoded colors were fixed to conform to Veloren's style.
  - TODO(@Treeco, @Pfauenauge, @imbris, @jshipsey): Color models were fixed to conform to Veloren's style.

A detailed description of the involved changes follows.

---

- The world size is no longer hardcoded.  All functions dependent on world size now take a `WorldSizeLg`, which holds the base 2 logarithm of each actual world dimension and is guaranteed to maintain certain properties (outlined in `common/src/terrain/map.rs`).  Additionally, many utility functions that utilize the world size were moved into `common` as well (mostly `common/src/terrain/mod.rs`).  Finally, the world map format was updated in order to store its size explicitly, with a migration path from the old format that should work whenever the old formatted map was a square (practically always).  See `world/src/sim/mod.rs` for these changes.
- The map generation code was made generic to allow using it outside of the `world` crate.  The parts of the map generating code that do not need to query the world were moved over to `common/src/terrain/map.rs`, allowing them to be used from the client without creating a dependency on `world`.  The rest of it was turned into helper functions in `world/src/sim/map.rs`, which can be passed as closures to the generic map generation code to complete its construction.  This also means that colors are now passed in separately to the map generation function.  See <https://veloren.net/devblog-78/> for more details.
- On world creation, we now compute *horizon maps*.  See the function in `world/src/sim/util.rs`.

  Given a height map and a plane intersecting that height map, our horizon maps allow us to encode enough information to reconstruct shadows for each point on the height map using only the *horizon angle* (the angle at which the sun starts to become visible).  As Veloren's sun only covers one plane, this is sufficient for encoding sun shadows for LOD terrain, by encoding two angles per chunk (one for each 90 degrees the sun covers).  We can also use this for the moon, if we want, since the moon follows the same path.  Additionally, we store the *height* of the furthest occluder, to try to make the shadows volumetric; so this means 4 bytes in total for each chunk.

  Support for horizon maps has been merged into the map functionality in common as well.
- The way we pass the world from the server to the client has been updated.  Rather than passing the prerendered map, we instead pass three maps with values for each chunk; one with the color information, a second with altitude information, and a third with horizon map information.  We then reconstruct the map on the client, together with some additional information we send from the server (like the sea level and maximum height).  See `common/src/msg/server.rs` for a detailed description of the format of `WorldMapMsg`, and `server/src/libr.rs` and `client/src/lib.rs` for details of the map construction and parsing.
- Artifacts related to image rotation were fixed.  See the commit message for commit SHA `cf74d55f2e3d2ae7d25fd68d5c73b01a6afde86e` for a detailed explanation.  This involved changes to shaders, the addition of a new type of graphic (also reflected in the graphic cache) that allows specifying a border color (which automatically makes the associated texture immutable), and some related fixes.  I reproduce the first two paragraphs of the MR description as well:

 ```
 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).
 ```
- Multiflow rivers were enabled.
  This does not really need to be part of this MR, and would be easy to revert, but since it seemed to provide a nice improvement it's currently packaged with it.
  We already computed multiple outflows from each chunk for erosion purposes long before this MR.
  However, we never modified river rendering to be able to handle this case (just a single downhill river flow is complex enough!) so this was not exposed when deciding which chunks were rivers.
  Now that
- In the process of making changes related to the world map, various incidental fixes and optimizations were required.  Some examples of fixes include making sure terrain is never lowered to below sea level (to make the shadow maps report correct values), fixing map altitudes and colors to understand things like cliffs and "block level" coloring (that doesn'te xist on the column level), and fixing a crashbug when rendering images for the UI where source pixels are strongly rectangular.  Some examples of related performance fixes include avoiding allocating a fresh vector for all the maps (i.e. copying it over to change the format from `[u32; n]` to `DynamicImage` and then copying again to convert to `RgbaImage`), and instead using the `gfx::memory::slice` function to accomplish the same thing.  These sorts of changes are spread all arond the code.

This includes the additon of a new scene, `voxygen/src/scene/lod.rs`, a new pipeline `voxygen/src/render/pipeline/lod_terrain.rs`, and new shaders `assets/vxygen/shaders/lod-terrain-vert.glsl` and `assets/vxygen/shaders/lod-terrain-frag.glsl`, as well as associated changes to the renderer in `voxygen/src/render/renderer.rs`.

The main idea behind our initial approach to LOD was to take the world data we now get from the server (altitude, color, and horizon mapping).

  - Some previously computed values were turned into shader uniforms for better prediction on weak processors. (@zesterer)
  - Calls to power or trig functions were removed or replaced with multiplications, where possible.
  - After some deliberation
  - To properly handle sprite "waving" for nearby sprites,

We explicitly designed the greedy meshing system with figures and sprites in mind.
In both cases, we want to be able to *efficiently* pack many different models into the same texture, especially in cases where we know
we will either not be removing any of the grouped-together from the models from the texture, or will remove all of them at once (so
they can be packed into some specific subtexture).
For sprites, since we know every model in advance and never intend to deallocate them, we currently pack them all as efficiently as
possible into one giant tetxure atlas.  However, in the future we might opt to pack them slightly less efficiently in exchange for
shrinking the sprite vertex size.
For figures, we pack all the textures for each *model* into the same atlas.
is a global texture atlas used for every sprite, and for figures which is why we have the ability to mesh multiple
models to the same texture area (using the simple texture atlas allocator) without requiring intermediate vector allocations.
This is accomplished by delaying the time when we actually write the color and light data to the texture until *after* all the
model vertices have been meshed; then, we can just allocate the whole color/light array at once, making the atlas we use an
exact fit.  In computer science-y terms, we accomplish this delay by, after we perform the initial greedy meshing (without
texture information), not continuing to create the texture data, but instead constructing a *continuation*--that is, a function
that, when called, will execute the rest of the computation.  We push this continuation (which in Rust terms is a `FnOnce` closure
that takes the `ColLightsInfo` that it is supposed to write to as context) onto a

onto a vector

resizing.  To allow for suspended writes to texture data, Rust pointed out to me that the continuation that would eventually write the color and light data to the texture atlas (the one that is shared by all models sharing the same greedy mesher) would have to *own* whatever data it mshed.  Because we often generate the model data to mesh as a temporary in `voxygen/src/load.rs`, the

  - Matrix multiplications in the shader were reduced for figure data (@zesterer).
  - Vertex "waves" for fluid data were removed.
  - Terrain "bending" near edges was removed.
  - Scaling was fixed to make sure empty space was not introduced in a space previously occupied by a block.  It was also changed to take ownership of its voxel data,
    rather than sharing it, to let it be used with meshing.
  - Rust's nightly version was bumped in order to use the `array_map` function, which lets us reuse more code between the simple map and `FigureModelCache`.

- PositionedGlyph::standalone.

---

I tried to cite sources in many cases[^realtime],[^lloyd],[^lispsm],[^pbrt],[^greedy],[^tjunctions]
where I needed features from elsewhere but I am particularly grateful for the following resources,
esepcially where they have accompanying source code.  I linked all of them that are accessible to the public (those that are not were
obtained through legal means).

[^realtime]: Eisemann, Elmar, Michael Schwarz, Ulf Assarsson, Michael Wimmer. Real-Time Shadows. A K Peters/CRC Press (T&F), 20160419.
[^lloyd]: Lloyd,B. 2007. [Logarithmic perspective shadow maps](http://gamma.cs.unc.edu/papers/documents/dissertations/lloyd07.pdf). PhD thesis, University of North Carolina.
[^lispsm]: Wimmer, M., Scherzer, D., and Purgathofer, W. 2004. [Light space perspective shadow maps](http://gamma.cs.unc.edu/papers/documents/dissertations/lloyd07.pdf). In Proceedings of Eurographics Symposium on Rendering 2004, pp. 143– 152.

[^pbrt]: Pharr, Matt, et al. [http://gamma.cs.unc.edu/papers/documents/dissertations/lloyd07.pdf](Physically Based Rendering: From Theory to Implementation). Third edition, Morgan Kaufmann Publishers/Elsevier, 2017.
[^greedy]: mikolalysenko. “Meshing in a Minecraft Game.” 0 FPS, 30 June 2012, <https://0fps.net/2012/06/30/meshing-in-a-minecraft-game/>.
[^tjunctions]: blackflux. “Meshing in Voxel Engines – Part 1.” Blackflux.Com, 23 Feb. 2014, <https://blackflux.wordpress.com/2014/02/23/meshing-in-voxel-engines-part-1/>.

I am also especially grateful to Khronos, Wikiepdia, and stackoverflow for answering many of my specific questions while writing the MR.

---

Squashed commit of the following:

commit 300505e730
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 18:46:25 2020 +0200

    Fixing cargo doc and typo in CHANGELOG.

commit ec0aeb18e8
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 15:38:50 2020 +0200

    Hopefully final commit for the LOD branch.

commit 5e8ea0b1ea
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 10:14:26 2020 +0200

    Falling back to power as stopgap.

commit e44a1cbf46
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 09:25:41 2020 +0200

    Address imbris feedback.

    Temporarily disables shiny water, lowers max VD.

    These restrictions will be lifted soon after merging.

commit 561e25778a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 08:31:13 2020 +0200

    Tweaking shaders a bit.

commit 7d19259078
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 07:59:43 2020 +0200

    Fix view example as well.

commit 051cd4934e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 07:29:06 2020 +0200

    Fix meshing benchmark.

commit c95e07db3b
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 05:46:22 2020 +0200

    Address MR feedback, fix scene clouds.

commit 1bfb816cab
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 04:39:36 2020 +0200

    Incorporating Pfau's figure color changes.

    New eyes and new humanoid colors.

commit 3f9b89a3ac
Merge: e2f5162e4 62c53963a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 04:29:41 2020 +0200

    Merge remote-tracking branch 'origin/sharp/small-fixes' into sharp/small-fixes

commit e2f5162e4f
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 20 04:28:38 2020 +0200

    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.

commit 62c53963ab
Author: Marcel Märtens <marcel.cochem@googlemail.com>
Date:   Wed Aug 19 15:59:00 2020 +0200

    replace pretty_env_logger with tracing

commit 5b1625f99d
Merge: d71003acd 4942b5b39
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Aug 19 05:15:56 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit d71003acda
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Aug 19 05:14:34 2020 +0200

    Hotloading colors, part 1: colors in common.

    Currently, this just entails humanoid colors.  There are only three
    colors not handled; the light emitter colors in
    common/src/comp/inventory/item/tool.rs.  These don't seem important
    enough to me to warrant making hotloadable, at least not right now, but
    if it's needed later we can always add them to the file.

commit 63b5e0e553
Merge: c32b337a4 6d2c4b9c1
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Aug 17 13:05:37 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit c32b337a46
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Aug 17 05:52:04 2020 +0200

    Fixing LOD grid, for real.

commit a166ae0360
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Aug 17 05:28:05 2020 +0200

    Addressing imbris's initial feedback.

    Fixes two minor bugs: explosion particles were no longer spawning
    randomly, and LOD grids were not perfectly even.

commit 4cbad004f4
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Aug 16 19:27:58 2020 +0200

    Bumping nightly per request.

commit 548680276a
Merge: acc098604 8f8b20c91
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Aug 16 19:26:06 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit acc0986040
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Aug 15 22:28:32 2020 +0200

    Lower resolution due to lying drivers.

commit d3b878de2a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Aug 15 22:15:38 2020 +0200

    Fix issues msh encountered with Intel 4600.

commit 10245e0c1b
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Aug 15 21:15:02 2020 +0200

    Merge more models into one mesh than we did previously.

commit 3155c31e66
Merge: 7204cc8a7 3c199280e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 13 22:35:22 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 7204cc8a7a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 13 22:34:43 2020 +0200

    Fix not yet done NPC animations.

    This forces them all to be the idle animation if not specified.

    This fixes issues where you'd have giant NPCs in water.

commit bc83360f2a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 13 19:36:37 2020 +0200

    Try to fix some bugs:

    - Z fighting with LOD terrain and water.
    - Audio SFX not playing.

commit 1fd104aa60
Merge: 862df3c99 7c2c392a3
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 13 12:02:31 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 862df3c997
Merge: 0a4218ed9 75c1d4401
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 13 05:52:56 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 0a4218ed9d
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Aug 12 22:27:14 2020 +0200

    Fix particle depth.

commit f51dfdeb44
Merge: c6251a956 5e6dc0471
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Aug 12 20:19:04 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit c6251a956a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Aug 12 20:15:46 2020 +0200

    Cache figures more intelligently.

    Cache figures for longer, and don't cache character states for the
    player except where they actually affect the rendered model.

commit 0ed801d540
Merge: c11b9bdf0 eea64f78f
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Aug 12 16:32:24 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit c11b9bdf0a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Aug 12 11:47:15 2020 +0200

    Remove unneeded Clippy annotation.

commit 16aa9ef40a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Aug 8 00:53:02 2020 +0200

    Fix hotloading and Clippy.

commit 3dc973e0be
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Aug 7 23:50:27 2020 +0200

    Major speedups with SIMD.

commit fba64a7d93
Merge: 76429d00e d1e10b178
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Aug 7 13:23:19 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 76429d00ee
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Aug 7 13:23:10 2020 +0200

    Add clippy.toml.

commit c79f512f84
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Aug 7 11:55:20 2020 +0200

    Fix all clippy issues, clean up Rust code.

commit 6f90e010b3
Merge: 77a8c7c26 5929cfa5c
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Aug 7 06:47:30 2020 +0200

    Merge remote-tracking branch 'origin/sharp/small-fixes' into sharp/small-fixes

commit 77a8c7c267
Merge: b44e44232 44febaabd
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Aug 7 06:47:10 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 5929cfa5c7
Author: jshipsey <jshipsey18@gmail.com>
Date:   Thu Aug 6 20:47:27 2020 -0400

    fixed in-hand arrow bug

commit b44e442325
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Aug 6 13:40:35 2020 +0200

    Miscellaneous performance improvements.

commit be37acf287
Merge: 125d7fc6c c11876547
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Aug 3 05:49:27 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit 125d7fc6c4
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Aug 3 04:55:31 2020 +0200

    Abstract over simd vs. repr_c vectors.

    Also some minor improvements to Event size.

commit d4d4956e92
Merge: 5f3b7294a aced5f979
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Aug 2 20:56:54 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit 5f3b7294af
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Aug 2 20:43:52 2020 +0200

    Fix formatting issues I missed before.

commit a428a3ebba
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Aug 2 20:41:51 2020 +0200

    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).

commit ba54307540
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Jul 30 13:22:42 2020 +0200

    Fix light animations so they are removed when the light turns off.

commit 7e0f4bcbf0
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 29 21:10:20 2020 +0200

    Fix crash in edge case for pixel art.

commit 56da06f7a3
Merge: cf74d55f2 9f53a4a19
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 29 18:56:52 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit cf74d55f2e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 29 18:29:52 2020 +0200

    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.

commit ad18ce9399
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Jul 28 13:21:09 2020 +0200

    Fix continent scale hack.

commit 36b1cb074f
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Jul 28 12:11:40 2020 +0200

    Enable loading different sized maps without a recompile.

    We may want to tweak the effects of the continent_scale_hack.

commit 13b6d4d534
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Jul 28 10:55:48 2020 +0200

    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).

commit 30b1d2c642
Merge: 7d56ba31b 1377b369f
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Jul 27 13:16:58 2020 +0200

    Merge remote-tracking branch 'origin/sharp/small-fixes' into sharp/small-fixes

commit 7d56ba31b4
Merge: 2101113b4 598f14b25
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Jul 27 13:16:27 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit 1377b369f6
Author: Monty Marz <m.marzouq@gmx.de>
Date:   Sun Jul 19 23:25:38 2020 +0200

    more saturated pumpkins

commit ae8d50527f
Author: Monty Marz <m.marzouq@gmx.de>
Date:   Sat Jul 18 20:29:56 2020 +0200

    acacia models

commit 2101113b46
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Jul 18 18:55:25 2020 +0200

    Higher detail LOD.

commit add2cfae04
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Jul 16 01:57:39 2020 +0200

    Revert some irrelevant stuff.

commit 2e2ab3dc1e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 15 13:30:49 2020 +0200

    Fixing various things about shadows.

    * Correcting optimal LISPSM parameter.
    * Figure shadows are cast when they're not visible.
    * Chunk shadows stay cast until you look away.
    * Seamless cubemaps for point lights.
    * Etc.

commit 6c31e6b562
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Jul 12 19:50:26 2020 +0200

    Fix shadow creation.

commit 6332cbe006
Merge: be438657c 930e0028b
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Jul 12 18:47:00 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit be438657c3
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Jul 12 18:28:08 2020 +0200

    Tweaks to shadows.

    Added shadow map resolution configuration, added seamless cubemaps,
    documented all existing rendering options, and fixed a few Clippy
    errors.

commit 23b4058906
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 8 10:11:19 2020 +0200

    Fix moon, use nonlinear noise for terrain.

    Note that the latter has a bit of performance cost.

commit 7fbe5cbfbb
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 8 02:23:02 2020 +0200

    Address lies about max texture size.

commit bcfc62b5e1
Merge: 75e3626a7 18a08e8fe
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 8 02:22:08 2020 +0200

    Merge remote-tracking branch 'origin/sharp/small-fixes' into sharp/small-fixes

commit 75e3626a78
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Jul 8 02:21:52 2020 +0200

    OpenGL 3.3 minimum.

commit 18a08e8fe2
Author: Monty Marz <m.marzouq@gmx.de>
Date:   Tue Jul 7 23:57:52 2020 +0200

    settings localization

commit 90c5d1ca36
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Jul 7 21:11:48 2020 +0200

    Lower near distance.

commit 0e66f02b25
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Jul 7 20:09:01 2020 +0200

    All sprites sway in the wind now.

commit db1401a691
Merge: 69e508d8c e8b4b29d7
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Jul 7 19:34:17 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 69e508d8c9
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Jul 7 18:41:37 2020 +0200

    Make it easy to switch to SIMD for math.

commit ffe0f5928c
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Jul 4 21:21:12 2020 +0200

    Fix some issues with underwater rendering.

commit bfda6da42f
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Jul 4 19:17:59 2020 +0200

    Fix some minor display issues.

commit 0ed752e087
Merge: ccc6a06a8 518edcb85
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Jul 4 18:14:21 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit ccc6a06a8d
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Jul 4 18:04:34 2020 +0200

    Some minor changes.

commit 4e02024670
Merge: 50a64d927 e05c9267a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Jul 4 16:17:40 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit 50a64d927e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Jul 4 13:07:03 2020 +0200

    Fix far plane.

commit 7dd06da34c
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Jul 2 22:25:35 2020 +0200

    Add shadows.glsl.

commit 618a18c998
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Jul 2 22:10:22 2020 +0200

    Adding shadows, greedy meshing, and more.

commit eaea83fe6a
Merge: 267018495 2f89b863e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu May 21 22:47:07 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 2670184954
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu May 21 21:20:01 2020 +0200

    Make civsim and sites deterministic.

    For anything in worldgen where you use a HashMap, *please* think
    carefully about which hasher you are going to use!  This is
    especially true if (for some reason) you are depending on hashmap
    iteration order remaining stable for some aspect of worldgen.

commit f8376fd5dc
Merge: 654f7e049 cdee191dd
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu May 21 17:53:57 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 654f7e0492
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed May 20 21:22:30 2020 +0200

    Correct backface culling.

commit 560501df05
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue May 19 17:22:06 2020 +0200

    Greedy messhing for shadows.

commit a4d87e1875
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun May 17 05:59:00 2020 +0200

    Shadow maps work for lantern.

commit 243d0837b8
Merge: 04382dc28 71dd520cd
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri May 15 14:53:13 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 04382dc286
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri May 15 14:22:17 2020 +0200

    WIP: better graphics config, better LOD, shadow maps.

commit 22ddbad3eb
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat May 2 18:54:09 2020 +0200

    Minor shader fixes.

commit 746a10e8d0
Merge: 0f4a0e763 40ab94673
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat May 2 04:02:09 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 0f4a0e763d
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri May 1 23:03:24 2020 +0200

    Switch back to pop-in terrain.

commit dd74fa7e4a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri May 1 22:58:55 2020 +0200

    LOD shading closer to voxel shading.

commit ef67bd58ba
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Apr 28 20:49:03 2020 +0200

    Experimental underwater lighting.

commit 2c5ad9d076
Merge: 748279835 303967a6f
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 27 22:35:24 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 7482798354
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 27 21:59:55 2020 +0200

    Replace discard in figure-frag.

commit d83b4ae69b
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 27 18:45:57 2020 +0200

    Fix sprite lighting, HDR from focus_pos.

commit 0594238004
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 27 18:14:10 2020 +0200

    Proper HDR from point lights.

commit 48c93d2b41
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 27 14:01:43 2020 +0200

    Brighter ambiance, darker LOD shadows.

commit e0452e895c
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 27 13:13:23 2020 +0200

    More proper HDR.

commit 4c6da3ed16
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 27 00:13:10 2020 +0200

    Trying LOD noise.

commit 682a3d74c8
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Apr 26 23:11:08 2020 +0200

    Fix LOD heights in towns.

commit cc39e5734e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sun Apr 26 21:01:23 2020 +0200

    More LOD fixes.

commit 8116b21c2e
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 25 23:54:43 2020 +0200

    I like this coloring.

commit bc2560ea90
Merge: 14effdd5d e690efe71
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 25 23:48:33 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit 14effdd5db
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 25 22:24:35 2020 +0200

    Re-saturate.

commit 48a643955d
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 25 22:23:57 2020 +0200

    Various fixes.

commit f7b497a0c2
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 25 03:22:49 2020 +0200

    Render figures again.

commit 44e4aad48d
Merge: e6f0a5a98 9ec319a18
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 25 02:01:04 2020 +0200

    Merge remote-tracking branch 'origin/master' into sharp/small-fixes

commit e6f0a5a981
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Apr 24 16:12:20 2020 +0200

    Add atmospheric scattering.

commit f2953087f6
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 23 00:01:20 2020 +0200

    Fix shadowing for specular reflections.

commit ddd4a67a97
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Wed Apr 22 22:56:12 2020 +0200

    HDR fixes.

commit 1015e60dee
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Tue Apr 21 18:25:19 2020 +0200

    More lighting changes.

commit 80c264abd1
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Mon Apr 13 00:29:59 2020 +0200

    Lighting experiments.

commit 8414987e58
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 9 02:38:40 2020 +0200

    WIP -- lighting changes and soft shadows.

commit 9cd2b3fb0d
Merge: c7ea687eb 8b149ad11
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 4 02:33:29 2020 +0200

    Merge branch 'sharp/new-lighting' into sharp/small-fixes

commit c7ea687ebb
Merge: 476441531 22f3319b4
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 4 02:33:02 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes

commit 8b149ad11a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Sat Apr 4 02:32:39 2020 +0200

    Trying out a new lighting model.

commit b0ac9f36f7
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Apr 3 07:56:11 2020 +0200

    Use bicubic interpolation for terrain.

commit f6fc9307a1
Merge: 33140a295 22f3319b4
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Apr 3 05:01:41 2020 +0200

    Merge remote-tracking branch 'origin/master' into zesterer/lod

commit 4764415312
Merge: ed2d0111d 13388ee6a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Apr 3 04:54:48 2020 +0200

    Merge branch 'sharp/map-colors' into sharp/small-fixes

commit 13388ee6a4
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 2 20:30:08 2020 +0200

    Various fixes (to coloring and to soft shadows).

commit fbd084a94a
Merge: 5a089863b 4fdf6896a
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 2 18:50:38 2020 +0200

    Merge branch 'master' of gitlab.com:veloren/veloren into sharp/map-colors

commit ed2d0111d9
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 2 06:49:27 2020 +0200

    Combining colors and LOD.

commit 88342640c6
Merge: 33140a295 5a089863b
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 2 04:49:20 2020 +0200

    Merge branch 'sharp/map-colors' into sharp/small-fixes

commit 33140a2951
Merge: 4c65a5aed f34d4b379
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 2 04:36:21 2020 +0200

    Merge remote-tracking branch 'origin/master' into zesterer/lod

commit 5a089863be
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 2 03:17:49 2020 +0200

    Making maps brighter.

    This is probably not the right way to do it, but oh well!

commit 32b2c99109
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Thu Apr 2 02:46:36 2020 +0200

    Horizon mapping and "layered" map generation.

    Horizon mapping is a method of shadow mapping specific to height maps.
    It can handle any angle between 0 and 90 degrees from the ground, as
    long as know the horizontal direction in advance, by remembering only a
    single angle (the "horizon angle" of the shadow map).  More is explained
    in common/src/msg/server.rs.  We also remember the approximate height of
    the largest occluder, to try to be able to generate soft shadows and
    create a vertical position where the shadows can't go higher.

    Additionally, map generation has been reworked.  Instead of computing
    everything from explicit samples, we pass in sampling functions that
    return exactly what the map generator needs.  This allows us to cleanly
    separate the way we sample things like altitudes and colors from the map
    generation process.  We exploit this to generate maps *partially* on the
    server (with colors and rivers, but not shading).  We can then send the
    partially completed map to the client, which can combine it with shadow
    information to generate the final map.  This is useful for two reasons:
    first, it makes sure the client can apply shadow information by itself,
    and second, it lets us pass the unshaded map for use with level of
    detail functionality.

    For similar reasons, river generation is split
    out into its own layer, but for now we opt to still generate rivers on
    the server (since the river wire format is more complicated to compress
    and may require some extra work to make sure we have enough precision to
    draw rivers well enough for LoD).

    Finally, the mostly ad-hoc lighting we were performing has been (mostly)
    replaced with explicit Phong reflection shading (including specular
    highlights).  Regularizing this seems useful and helps clarify the
    "meaning" of the various light intensities, and helps us keep a more
    physically plausible basis.  However, its interaction with soft shadows
    is still imperfect, and it's not yet clear to me what we need to do to
    turn this into something useful for LoD.

commit f8926a5737
Merge: a1aee931e 875ae6ced
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Mar 13 13:32:42 2020 +0100

    Merge remote-tracking branch 'origin/master' into sharp/map-colors

commit 4c65a5aed3
Author: Treeco <5021038-Treeco@users.noreply.gitlab.com>
Date:   Mon Feb 24 16:48:05 2020 +0000

    Made LOD setting slider exponential

commit 2fa7b2d20d
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Mon Feb 24 17:49:53 2020 +0000

    Added mist to LoD

commit aab059a450
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Mon Feb 24 15:14:06 2020 +0000

    Added LoD slider

commit 779c36b538
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Mon Feb 24 12:54:55 2020 +0000

    Reduced cost of vertex pushing

commit 9fea150473
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Mon Feb 24 12:38:53 2020 +0000

    Fixed maths, improved LoD resolution

commit 5481df38fe
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Mon Feb 24 11:22:50 2020 +0000

    Dynamically relocate LoD vertices to enhance details

commit a3e36a50ab
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Sun Feb 23 18:13:51 2020 +0000

    Simpler terrain spiral rendering

commit 255f450ae9
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Sun Feb 23 16:53:17 2020 +0000

    Better LoD precision

commit 3d027aebe8
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Sun Feb 23 16:04:03 2020 +0000

    Better falloff

commit be775c9484
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Sun Feb 23 15:30:45 2020 +0000

    Applied good ideas from experimental branch

commit 58587b6854
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Feb 21 16:15:13 2020 +0000

    Minor fixes to LoD merging

commit 7b42aebd70
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Feb 21 15:04:44 2020 +0000

    Capped LoD dragging

commit 8aafc559f8
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Feb 21 14:54:37 2020 +0000

    Better blending between LoD and terrain border

commit edd3455d51
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Feb 21 14:40:19 2020 +0000

    Fixed LoD z depth, added sea level offset

commit b9b0674462
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Feb 21 14:27:43 2020 +0000

    Better LoD smoothing

commit a1aee931e7
Author: Joshua Yanovski <pythonesque@gmail.com>
Date:   Fri Feb 21 14:52:17 2020 +0100

    Adding shadows.

commit 2400786c13
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Feb 21 13:48:40 2020 +0000

    Use world map as LoD source

commit dbf650f504
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Mon Jan 20 00:48:14 2020 +0000

    Better clouds at distance

commit 5e6f81b86c
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Sun Jan 19 23:59:02 2020 +0000

    sync

commit 745e7540dd
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Nov 22 12:40:48 2019 +0000

    Improved cloud falloff mist, faster noise sampling

commit f6a200d0cb
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Fri Nov 22 10:09:00 2019 +0000

    Improved long-range depth precision, removed unnecessary LoD polygons

commit 63d1b2bb22
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Thu Nov 21 20:57:46 2019 +0000

    Working LoD shader

commit f13d98ee3e
Author: Joshua Barretto <joshua.s.barretto@gmail.com>
Date:   Thu Nov 21 11:03:40 2019 +0000

    LoD first attempt (stack overflow issue)
2020-08-20 20:34:59 +02:00
Marcel Märtens
8687740265 fix clippy warnings in new version 2020-08-17 11:10:18 +02:00
Justin Shipsey
165c328517 fixed jump anim bug and non-attack bug for bipedlarge 2020-08-14 10:50:08 +00:00
Joshua Barretto
75c1d44010 Merge branch 'zesterer/worldsim' into 'master'
World simulation, generation, and pathfinding improvements (including castles and caves)

See merge request veloren/veloren!1282
2020-08-12 21:40:56 +00:00
Joshua Barretto
50a85853e3 Fmt and clippy lints fixes 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
Pfauenauge
ee83479748 drop gate parts 2020-08-12 21:15:53 +01:00
Joshua Barretto
41916d4594 Better castles, initial light prop for lit objects 2020-08-12 21:15:52 +01:00
WelshPixie
568a3e375e fixed sprite rotations 2020-08-12 21:15:52 +01:00
Monty Marz
fcdd875bff UI fixes, assets update 2020-08-12 18:10:18 +00:00
Monty Marz
6789b7ae27 Add firework hues 2020-08-12 22:29:06 +08:00
scott-c
9aab296264 Add firework item 2020-08-12 22:25:28 +08:00
scott-c
d38aab8000 fix particle de-synchronisation with paused game 2020-08-10 19:04:30 +08:00
Imbris
893da3622a Merge branch 'scott-c/particles' into 'master'
Particles

See merge request veloren/veloren!1156
2020-08-09 17:09:43 +00:00
Justin Shipsey
f050aeb273 Merge branch 'master' into 'slipped/swim'
# Conflicts:
#   voxygen/src/anim/src/character/swim.rs
2020-08-09 15:13:56 +00:00
nepo
bc1fabc41b nepo/new bones 2020-08-08 22:37:50 +00:00
jshipsey
d7b3e84153 swim alterations to condense the body on strong turns 2020-08-08 13:47:32 -04:00
jshipsey
854361cdaa changelog 2020-08-08 13:47:32 -04:00
jshipsey
316546af22 bandaid fix for swim wield 2020-08-08 13:47:32 -04:00
jshipsey
9ff5c23cf0 readd sneak 2020-08-08 13:47:32 -04:00
jshipsey
691607f398 swimming changes 2020-08-08 13:47:32 -04:00
scott-c
cae84dd4c9 fix rebase 2020-08-08 20:53:07 +08:00
scott-c
70ff8c3faa Add Copy trait to dependents 2020-08-08 19:26:52 +08:00
scott-c
dd1e89a691 Implement particle heartbeat scheduler 2020-08-08 19:26:52 +08:00
scott-c
a0107d5cda fix rebase 2020-08-08 19:26:52 +08:00
scott-c
bf025df204 refactor sfx mgr outcome useage 2020-08-08 19:26:52 +08:00
scott-c
023d465370 clear particle gpu instance buffer when disabled 2020-08-08 19:26:52 +08:00
Joshua Barretto
a924f9694d Explosion sound and event lights 2020-08-08 19:26:52 +08:00
Joshua Barretto
8547cdd681 Added outcome sound effects, fixed directional sound, particle outcomes 2020-08-08 19:26:52 +08:00
scott-c
5ba4d26821 Update changelog 2020-08-08 19:25:29 +08:00
scott-c
5acfe44cbb Add toggle particles graphics setting 2020-08-08 19:25:01 +08:00
scott-c
f9f9e9e190 Add particle count to debug info 2020-08-08 19:25:00 +08:00
scott-c
bb2a5c885b Add fireball and bomb particle effects 2020-08-08 19:25:00 +08:00
scott-c
4bc373a832 remove particle emitter component 2020-08-08 19:25:00 +08:00
scott-c
3139e85dff allow for col particles 2020-08-08 19:25:00 +08:00
scott-c
803677f0fb Add particle velocity and ability particle emitter 2020-08-08 19:25:00 +08:00
scott-c
da5f4828a5 Add particle lifespan 2020-08-08 19:25:00 +08:00
scott-c
39b676cd8f Add ParticleMgr 2020-08-08 19:24:55 +08:00
scott-c
7e35617f59 Add particle pipeline 2020-08-08 19:24:25 +08:00
Imbris
1741384d00 Add entity targeting 2020-08-08 01:09:01 +02:00
BottledByte
ab1c43be84 Dehardcoded LanternKind, Consumable and Ingredient, fixed Sceptre hotbar
Also fixed two wrong asset references and did some .ron formatting
2020-08-05 01:21:42 +02:00
BottledByte
a167ee98ee De-enumerized armor variants 2020-08-03 03:41:32 +00:00
BottledByte
dc91209a7b Removed fine-grained Item enums and replaced them with Strings
This change allows to introduce new weapons and pair them
with graphical assets without need to recompile.
2020-08-02 01:21:32 +00:00
jshipsey
bcc257f893 cleanup, last tweaks 2020-08-01 02:19:45 -04:00
jshipsey
aa3bdc42d7 arming the cyclops 2020-08-01 02:19:45 -04:00
jshipsey
5d2be2240e maneater and feed anim 2020-08-01 02:19:45 -04:00
jshipsey
baf67f303e new models, anim tweaks 2020-08-01 02:19:44 -04:00
Snowram
3524d644f5 Various changes to npcs animations
- Improved dragon run with tilting
- New run animation for quadsmall, added tilting
2020-08-01 02:19:43 -04:00
Samuel Keiffer
827b91d691 Bow charged shot attack 2020-07-26 03:06:53 +00:00
jshipsey
5b76ed23f4 small fixes 2020-07-20 21:37:13 -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 Barretto
8d6b442193 Crafting 2020-07-14 20:11:39 +00:00
Kai
6b771b8dca Add a clientside check to only allow freefly camera for admins 2020-07-11 13:59:47 -07:00
Kai
738fa34534 Add freefly camera mode and cycle camera mode keybind 2020-07-11 11:39:04 -07:00
Samuel Keiffer
fe47a14ba5 Spin attack for axe 2020-07-08 19:58:41 +00:00
scott-c
b72d817cf7 Fix 1h models in character select idle animation #662 2020-07-06 17:54:26 +08:00
scott-c
6014bd8364 fix 1h second item cache issue #661 2020-07-06 17:54:26 +08:00
jshipsey
62eb66173f tweaks and fixes 2020-07-05 09:39:55 -04:00
jshipsey
ca9ae13527 more latitude tilt, better attack anims, addressed aesthetic concerns, deleted dead assets 2020-07-05 09:38:15 -04:00
jshipsey
014cab0257 remove warnings, rebase fix 2020-07-05 09:38:14 -04:00
Joshua Barretto
177bd7a128 More tolerant pathfinding 2020-07-05 09:38:14 -04:00
Joshua Barretto
db26c10299 Run tilting, per-species running speed 2020-07-05 09:38:14 -04:00
jshipsey
e689de3c8a better everything 2020-07-05 09:38:14 -04:00
jshipsey
f164bd2280 placeholder attack anim 2020-07-05 09:38:14 -04:00
jshipsey
894a823aad orientation tilt, make run frequency proportional to species size 2020-07-05 09:38:14 -04:00
jshipsey
c5f7a60f3b more run animation work, adjusting pivots 2020-07-05 09:38:14 -04:00
Snowram
4acdc24df9 Add tarasque and grolgar improvements 2020-07-05 09:38:14 -04:00
unknown
0de4b6b7f9 Makes anim hotload work for quadlow 2020-07-05 09:38:14 -04:00
Snowram
390f516e13 Homogenizes quadmed bones names 2020-07-05 09:38:12 -04:00
Snowram
9fec5f3d14 Add tiger mob 2020-07-05 09:38:12 -04:00
jshipsey
ccf939b4fd manifests, skeleton, basic placement 2020-07-05 09:38:12 -04:00
Snowram
c527484597 Add alligator, salamander and monitor npcs 2020-07-05 09:38:12 -04:00
Snowram
fe1656931c Add legs to quadruped_medium 2020-07-05 09:38:12 -04:00
Snowram
72eb03ceb5 Add quadruped_low skeleton 2020-07-05 09:38:11 -04:00
Forest Anderson
954a4857c4 Added proper training dummy model 2020-07-03 16:53:04 -04:00
Samuel Keiffer
85d1d4b3ff Leap now actually works. In addition, leaping while next to an entity no longer interrupts the leap. 2020-07-03 15:40:12 +00:00
scott-c
d53b51954b Added ability to use 2 x 1h weapons or shields 2020-07-01 17:51:06 +08:00
Delyth Williams
6644375764 Fix sprites w/o models 2020-06-27 21:08:21 +00:00
Delyth Williams
9a79101f57 Welsh pixie/grassets 2020-06-25 21:12:31 +00:00
Shane Handley
304e06cbce Fix clippy warnings after toolchain update 2020-06-23 16:52:04 +10:00
Marcel Märtens
9485b45e70 switch to tracing stlye and enhance logs with usefull information
- Updated CHANGELOG
- reduce dependencies
- found out that we have alot of duplicate coding... alot...
2020-06-22 09:53:15 +02:00
Kevin Glasson
af3af6c169 Convert voxygen to use tracing
There are several noteable changes in this commit that mean that logging
will behave differently to how it did previously.

- There are now no separate filter levels for terminal and file output.
This is a feature that is lacking in `tracing` but is set to be resolved
by https://github.com/tokio-rs/tracing/pull/508. At which point we MAY
include it.

- The default log level was previously `WARN` - it is now `INFO`.
2020-06-21 23:17:25 +08:00
Imbris
124ed52554 Windows is weird, cargo is weird..... (also tidy up a few things) 2020-06-19 00:48:19 -04:00
Imbris
d00e88b804 Hotreload animations using libloading 2020-06-19 00:48:19 -04:00
Justin Shipsey
2f896849d4 Wield glider instead of weapon when attempting glide wield, change behavior when running into walls to not drop out of gliding 2020-06-16 21:32:39 +00:00
Delyth Williams
b73da5507e added new flora 2020-06-15 16:39:21 +00:00
Imbris
26e53409d8 Merge branch 'xvar/clippy-globally-suppress-option_map_unit_fn' into 'master'
Globally suppressed clippy lint option_map_unit_fn for #587

See merge request veloren/veloren!1071
2020-06-14 16:48:07 +00:00
Ben Wallis
c1c968f479 Globally suppressed clippy lint option_map_unit_fn for #587 2020-06-14 16:48:07 +00:00
Imbris
fb47115695 Merge branch 'xvar/clippy-fixes-redundant_closure_found' into 'master'
Fixed suppressed clippy warnings for #587 - redundant_closure

See merge request veloren/veloren!1065
2020-06-14 16:33:04 +00:00
Justin Shipsey
688f917308 asset
missing fix
2020-06-14 09:22:21 +00:00
Ben Wallis
4d6c553b1b Fixed suppressed clippy warnings for #587 - redundant_closure 2020-06-12 20:47:22 +01:00
Marcel Märtens
0e59ee901e dependency reduction:
- authc no longer uses reqwest
 - image only supports PNG
 - replace routille with tiny_http
 - several other dependencies
 - cargo upgrade
 - following improvement was measured on R7 1700X:
   before:
    - cargo build: 3076.73s user / 4:45 total / 589 dependencies
    - cargo test: 6118.38s user / 7:30 total / 959 dependencies
   after:
    - cargo build: 2680.54s user / 4:05 total / 480 dependencies
    - cargo test: 5351.81s user / 7:04 total / 791 dependencies
 - added xMAC94x to CODEOWNERS for Cargo.toml, he will protect them from now on and hit people with evil looks ;)
2020-06-11 20:55:34 +02:00
Ben Wallis
950c62efc6 Suppressed all existing clippy warnings in preparation for fixes as part of #587 2020-06-10 22:01:42 +01:00
Joshua Barretto
9a069c93dc Better physics comments, removed camera snapping 2020-06-01 21:33:20 +01:00
Justin Shipsey
3877efec50 optimization and tails 2020-06-01 00:33:24 +00:00
Monty Marz
f7d6f76a04 Added 36 Swords
I added 36 sword models to the code.
2020-05-29 18:23:00 +00:00
Justin Shipsey
ea07d744a7 orientation animation 2020-05-27 06:41:55 +00:00
Joshua Barretto
f09af7980f Fixed aiming for non-humanoids 2020-05-19 14:47:51 +01:00
Joshua Barretto
05e6df1b65 Added overhead aiming camera 2020-05-19 14:26:53 +01:00
Joshua Barretto
2f47d09af4 Comment fixes and fmt 2020-05-19 00:35:58 +01:00
Joshua Barretto
f1b166d15d Innumerable camera improvements 2020-05-18 23:40:28 +01:00
jshipsey
cf392b5a66 fmt 2020-05-09 18:11:25 -04:00
Snowram
0248c6a44e Cleanup 2020-05-09 18:09:27 -04:00
Snowram
cd452cc715 New dragon model, added jaw, splitted head into upper/lower 2020-05-09 18:09:05 -04:00
Snowram
875838ecdf Initial fly animation work 2020-05-09 18:08:35 -04:00
Snowram
7f0d1e9543 Initial idle animation work 2020-05-09 18:08:35 -04:00
Robin Gilh
40360ff149 Dragon work 2020-05-09 18:07:31 -04:00
S Handley
5a13b54cbf - Load characters after login.
- Make the character screen load with an empty character list from the server, send event to the server for character creation with data, but not yet saving them to the DB.
- Working but messy character saving to DB
- Add the character_data to the client, rather than keep it in the GLobalState.
2020-05-09 15:41:25 +00:00
CapsizeGlimmer
28c454f9ca Fix infinitys and NaNs in lights 2020-05-04 17:17:54 -04:00
CapsizeGlimmer
4e7f8c686a Equipped lanterns now provide an illumination effect. 2020-05-04 15:15:31 +00:00
Monty Marz
c792cc05a9 Villagers and Cultists 2020-04-30 20:43:24 +00:00
Justin Shipsey
b4af588a00 skel attribute transfer 2020-04-27 05:11:34 +00:00
Monty Marz
6d7cb8654d Merge branch 'pfau/ui-fixes' into 'master'
UI Fixes

See merge request veloren/veloren!946
2020-04-26 01:44:56 +00:00
Monty Marz
4521791591 UI Fixes 2020-04-26 01:44:56 +00:00
Justin Shipsey
6fa13bcb7e body/anim tweaks 2020-04-26 01:09:03 +00:00
Joshua Barretto
90de779559 Better LoD variable names 2020-04-25 21:44:23 +01:00
Joshua Barretto
93105105e0 Added extra LoD level to terrain sprites 2020-04-25 21:44:23 +01:00
Joshua Barretto
8e95444d85 Made GPU bone updates more conservative for moar fps 2020-04-25 21:44:23 +01:00
Joshua Barretto
c05f4fe009 Added configurable sprite view distance, minor bug fixes 2020-04-25 21:44:23 +01:00
Joshua Barretto
8bf5709ddf Implemented Treeco's z-only LoD suggestion 2020-04-25 21:44:23 +01:00
Joshua Barretto
1feae79243 Added reseeding for sites 2020-04-25 21:44:23 +01:00
Joshua Barretto
ebd1537769 Fixed figure update rate at a distance 2020-04-25 21:44:23 +01:00
Joshua Barretto
39b88dbcb1 Added LoD for figures and reduced update rates for far figures 2020-04-25 21:44:23 +01:00
Joshua Barretto
3e62f7edc3 Better LoD distance scaling 2020-04-25 21:44:23 +01:00
Joshua Barretto
b2c8dc0806 Added terrain sprite LoD 2020-04-25 21:44:23 +01:00
Treeco
dd08def18f Add camera smoothing setting 2020-04-23 22:59:34 +00:00
Joshua Barretto
1a4c7f46f4 Fixed second render chunk counting issue 2020-04-23 18:19:42 +01:00
Joshua Barretto
0c491bb558 Fixed incorrect chunk render counter 2020-04-23 18:19:42 +01:00
Joshua Barretto
1983fd8ec1 Cleanup, fixed clouds, removed 45-degree terrain sprites 2020-04-23 18:19:41 +01:00
Joshua Barretto
60bf396e4f Added doors to houses 2020-04-23 18:19:41 +01:00
Monty Marz
44c5002db3 Pfau/crops 2020-04-23 18:19:41 +01:00
Joshua Barretto
431e199731 Added correctly generating world paths, sub-voxel shader noise 2020-04-23 18:19:41 +01:00
Joshua Barretto
431b2ae07b Fixed window mask layering, fmt 2020-04-23 18:19:41 +01:00
Joshua Barretto
77d0292e91 Added windows to buildings and scarecrows 2020-04-23 18:19:41 +01:00
Pfauenauge90
db5311189d scarecrow 2020-04-23 18:19:41 +01:00
Pfauenauge90
98704a4753 turnip and window blocks 2020-04-23 18:19:41 +01:00
Monty Marz
0fb3a115da Add more crops 2020-04-23 18:19:41 +01:00
Joshua Barretto
f999edffaa Fixed crop crash issues 2020-04-23 18:19:41 +01:00
Pfauenauge90
d57ca371e2 fix panic 2020-04-23 18:19:41 +01:00
Pfauenauge90
4b72a07e22 sprites 2020-04-23 18:19:41 +01:00
Pfauenauge90
fd3ffdf28b pizza sprite 2020-04-23 18:19:40 +01:00
Pfauenauge
67f27ef970 ember sprite 2020-04-23 18:19:40 +01:00
Joshua Barretto
3d4a294b83 Smoothed camera motion, gentler orientation lerping 2020-04-23 18:19:40 +01:00
Joshua Barretto
5f2d0021a3 Reversed water draw order 2020-04-23 18:19:40 +01:00
Joshua Barretto
0021bd6452 Added new settlement generation to world, basic rendering 2020-04-23 18:19:40 +01:00
Joshua Barretto
944a37b848 Initial settlement generation work 2020-04-23 18:19:40 +01:00
Imbris
2c4c006396 Lantern tweaks, remove unused bones 2020-04-12 18:41:07 +02:00
Imbris
c1c09dce1b Enable unequipping as well as equipping to specific slots 2020-04-12 18:41:06 +02:00
jshipsey
e2d60b858e cape work 2020-04-12 18:41:05 +02:00
jshipsey
ea2c646df3 initial cape implementation 2020-04-12 18:40:57 +02:00
Pfauenauge90
f5a768dccf more armour types 2020-04-12 18:40:56 +02:00
Pfauenauge90
7f97fbac0b cape item 2020-04-12 18:40:56 +02:00
Pfauenauge90
771baaaae5 cape item 2020-04-12 18:40:55 +02:00
Capucho
b6078d832a Fixed the player being rendered after dying 2020-04-08 21:28:33 +01:00
Capucho
8f6686adc1 Fix the problems of players walking over water with dithering 2020-04-07 22:50:01 +00:00
Capucho
a21ae27a77 Add player transparency and silhouette 2020-04-04 19:36:55 +00:00
Imbris
831d7c77a6 Make Asset impls avoid panics when parsing fails 2020-04-01 20:06:15 -04:00
AdamWhitehurst
dcc9d44b1c remove unused timed_combo 2020-03-29 13:40:03 -07:00
Imbris
d3b5b1e637 Remove None variant fromm armor types 2020-03-28 03:51:24 -04:00
Imbris
f551c4a2c5 Move armor types to a new location, use a const for the moving cutoff in voxygen anims 2020-03-28 01:52:12 -04:00
jshipsey
8fd774f21a Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-27 23:59:45 -04:00
jshipsey
49ba196671 proper bow animation 2020-03-27 23:59:05 -04:00
Imbris
ba3fa16c33 Create Dir type for better enforcement of non NaN, normalized representations of directions 2020-03-27 22:02:07 -04:00
Pfauenauge90
0b3fb2dd3c fire bolt visuals 2020-03-27 18:31:45 +01:00
jshipsey
0ffff86e25 third attack for triple strike 2020-03-27 01:57:30 -04:00
jshipsey
1c3d1d260c small animation tweaks 2020-03-26 23:51:55 -04:00
jshipsey
175fea98ef more cleanup, WIP fake swimming 2020-03-26 01:35:25 -04:00
Imbris
3889ec7292 climbing tweaks, fix triple strike overflow, fix Last<CharacterState>
not registered
2020-03-25 02:05:28 -04:00
jshipsey
047f6b8a01 fixed swimming, better charge 2020-03-25 01:22:07 -04:00
jshipsey
a6537ed69b starting foot movement with attacks, clearing some dead code 2020-03-25 00:15:06 -04:00
timokoesters
58585e0810 Better climbing, fireball impl 2020-03-24 20:09:23 +01:00
jshipsey
7a4f0fa9ac climb fix, const tweak update, trying equip anims 2020-03-24 00:24:31 -04:00
jshipsey
9cbbe0311f rewrote the whole stupid skeleton to work much smarter 2020-03-22 16:06:53 -04:00
jshipsey
3baa0471ec Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-22 11:55:35 -04:00
jshipsey
0773524031 wield idle, wield run 2020-03-22 11:55:28 -04:00
Pfauenauge90
662f5b1037 removed warnings and item test values 2020-03-22 14:55:08 +01:00
Adam Whitehurst
db8d89a4d9 * rename CharacterState equals() -> same_variant() 2020-03-22 05:46:09 -07:00
Imbris
41c424ac13 Optimized uses of emitters, cleanup 2020-03-22 00:49:46 -04:00
Imbris
f399085974 Flip models for hands, shoulders, and feet of humanoids 2020-03-21 18:48:21 -04:00
Adam Whitehurst
c5378b7065 Better triple_strike handling 2020-03-21 14:55:04 -07:00
jshipsey
221f675217 spin attack 2020-03-21 14:54:29 -04:00
Imbris
08db424169 Add safe_slerp function that ensures that slerping returns non-NaN normalized values 2020-03-21 00:53:41 -04:00
jshipsey
514d65eb7c Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-20 18:54:54 -04:00
jshipsey
a0785e693a shooting anim state, cast anim, small tweaks 2020-03-20 18:54:27 -04:00
Adam Whitehurst
0cdb80427d better triple_strike 2020-03-20 15:03:29 -07:00
timokoesters
44ec09a8e7 Go to idle state when picking items up 2020-03-20 20:23:04 +01:00
timokoesters
df858cb370 Remove all warnings 2020-03-20 15:45:36 +01:00
Adam Whitehurst
0b7a572178 update triple_strike 2020-03-19 15:40:03 -07:00
timokoesters
1e1ce2adbf Fix weapon not updating after swapping to a weapon of the same type 2020-03-19 20:57:36 +01:00
timokoesters
26674390ab Hide player body after death 2020-03-19 20:36:19 +01:00
timokoesters
87c276b292 Add hard coded loot 2020-03-18 20:37:42 +01:00
timokoesters
4741e41230 Add support for different models per weapon type 2020-03-17 18:28:07 +01:00
timokoesters
08b44db1fc Stop first person bounce in air 2020-03-17 16:08:53 +01:00
Pfauenauge90
b9f6dfac77 fixes 2020-03-17 16:07:20 +01:00
Pfauenauge90
40910b28e4 unclothed parts 2020-03-17 15:39:29 +01:00
timokoesters
b040e18246 Fix body parts not changing 2020-03-16 22:06:23 +01:00
timokoesters
d5db1f6ca0 Add dash ability to sword M2 2020-03-16 16:34:53 +01:00
timokoesters
81591fcaf7 Make npcs attack again 2020-03-16 14:27:52 +01:00
timokoesters
1279f70184 Add shield item 2020-03-16 13:40:14 +01:00
timokoesters
4195273cf9 Adjust first person camera and underwater wield orientation 2020-03-16 13:19:51 +01:00
timokoesters
87acc01d48 Readd ranged and debug boost. Add bouncing while running in first person 2020-03-16 12:32:57 +01:00
timokoesters
1f78344d6f Move equipment from loadout into body 2020-03-15 19:44:47 +01:00
Joshua Barretto
e20feeeb0c Added armour items and equipping of armour 2020-03-15 16:42:09 +01:00
timokoesters
aa963b7686 Merge remote-tracking branch 'origin/master' into clientstates 2020-03-15 15:27:06 +01:00
timokoesters
598a4c6cbb Add loadout struct for info on weapon configurations 2020-03-14 22:33:20 +01:00
AdamWhitehurst
6fc94c22ba Update timed combo, add CharacerBehavior trait 2020-03-14 12:50:07 -06:00
Mckol
8838682f0b Added Controller support 2020-03-10 21:00:13 +00:00
jshipsey
bce9d4c24f animation corrections 2020-03-08 17:02:25 -04:00
Adam Whitehurst
54a7112ad9 resolve conflicts merging master -> clientstates 2020-03-07 12:49:48 -08:00
Adam Whitehurst
096d3b691e Merge master 2020-03-07 12:49:15 -08:00
Adam Whitehurst
b1d1299fe6 Clean up character states 2020-03-07 10:15:02 -08:00
Imbris
ed5afaec8a Fix tests 2020-03-05 23:12:51 -05:00
Imbris
4a0c474be1 Remove Client dependency from Scene types and audio managers, add an
example for using voxygen as a library to renderer images of characters
2020-03-05 23:12:51 -05:00
Justin Shipsey
86e15695fc weapon control bone 2020-03-05 14:02:11 +00:00
timokoesters
d0439fdd84 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-24 21:34:17 +01:00
timokoesters
2fa902270e fix: block 2020-02-24 18:10:42 +01:00
Treeco
abe47d8621 Gamma setting now works 2020-02-17 00:46:31 +00:00
Monty Marz
93d7c67cdc Hack to allow minimap rotation.
Currently it just always rotates towards the camera, but it wouldn't be
hard to create a config option that swaps out the rotation of the
indicator and the map.
2020-02-06 17:34:32 +00:00
timokoesters
0bc07a0835 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-03 22:02:32 +01:00
timokoesters
aa52c6fd4f fix: jumping and attacking 2020-02-03 17:03:52 +01:00
S Handley
b7ce91fead Move music under audio
Also add some blank time after each track so that we get some silence
between tracks.
2020-02-03 11:55:32 +00:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
timokoesters
76dfac7366 fix: rolling 2020-01-27 18:32:05 +01:00
Treeco
6bcab1e89b Fixed lag caused when turning the camera with large entity counts 2020-01-26 20:04:56 +00:00
Joshua Barretto
d04a595b3f Made waypoints work, added waypoint spawning 2020-01-26 12:52:28 +00:00
Joshua Barretto
11193a692a Better neutral AI, initial waypoint objects 2020-01-26 12:52:28 +00:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
Justin Shipsey
64690279af new mobs
alligators
2020-01-26 00:22:48 +00:00
Monty Marz
b583f60326 35 new ground sprites, UI fixes 2020-01-25 11:14:02 +00:00
timokoesters
6515daddce fixes 2020-01-24 16:57:24 +01:00
Joshua Yanovski
1d6d0ea03d Fix all warnings. 2020-01-23 18:18:16 +01:00
Joshua Yanovski
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
2b38927345 Fixes for nonstandard chunk and map sizes.
Also fixes a longstanding map rendering issue.
2020-01-23 18:18:11 +01:00
timokoesters
7b558b4542 refactor: combine actionstate and movestate 2020-01-21 23:54:59 +01:00
timokoesters
ae1fa5e4c4 improvement: fog doesn't go back and forth anymore 2020-01-19 16:03:27 -05:00
Imbris
b3cdde3ce9 fix: panic in terrain meshing 2020-01-19 16:03:27 -05:00
Adam Whitehurst
d82e93b39f Merge master and build 2020-01-16 05:27:30 -08:00
Imbris
2b4d4aa480 Merge branch 'yusdacra/tweaks' into 'master'
Fixes minor issues with frustum culling

See merge request veloren/veloren!712
2020-01-11 16:36:51 +00:00
Monty Marz
851d7858e6 Scrolling Combat Text (SCT) 2020-01-10 00:33:38 +00:00
Yusuf Bera Ertan
127f8fb72b Fix lpindex not being updated for culled objects, and don't
recalculate frustum for every entity
2020-01-09 22:22:06 +03:00
AdamWhitehurst
de36e75264 Fix imports, update matches 2020-01-08 11:31:42 -08:00
Yusuf Bera Ertan
4a0a2d5229 Cargo fmt 2020-01-08 20:09:54 +03:00
Yusuf Bera Ertan
24013f1a32 Use treeculler crate 2020-01-07 19:40:06 +03:00
Yusuf Bera Ertan
0b67dad4a5 Fix figure visible value not updating 2020-01-07 18:46:37 +03:00
Yusuf Bera Ertan
31d18b3381 Use temporal coherence for figure frustum culling, don't process figures if they are not in view frustum 2020-01-07 18:46:22 +03:00
Yusuf Bera Ertan
c19c222a90 Use temporal coherence for chunk frustum culling 2020-01-07 18:46:09 +03:00
Yusuf Bera Ertan
e32153e980 Improve frustum culling by using AABBs, add related debug information 2020-01-07 18:44:33 +03:00
Joshua Barretto
cfbf69ae89 Made rolling less slippy, added tilt 2019-12-30 15:16:21 +00:00
AdamWhitehurst
ba7ca785f6 Successful build 2019-12-30 05:56:42 -08:00
Imbris
ec3e075020 fix(player list): Show players not in range on the player list
fix(overflow): Stops including block updates that fail (since chunks
don't exist on the client) in `TerrainUpdates` (which would trigger
meshing of those nonexistent chunks). Furthermore, removes
remeshing of chunks with block updates if those chunks don't have all their
neighbours (since those wouldn't be meshed in the first place).
2019-12-29 20:51:05 -05:00
AdamWhitehurst
8e0317e03d refactor states to handle update logic 2019-12-26 06:43:59 -08:00
AdamWhitehurst
c2ceabea0e finish movment states handle() fn logic 2019-12-22 08:08:48 -08:00
AdamWhitehurst
1ab09220b0 Rudimentary Stand State handle() move 2019-12-21 07:57:15 -08:00
Imbris
d341073a44 Upgrade to specs 0.15.1 2019-12-20 22:48:14 -05:00
Adam Whitehurst
20575e0aab Update controller 2019-12-09 14:45:10 +00:00
Adam Whitehurst
92d99af53c feat: weapon-type dependent wield and attack durations
also some controller.rs cleanup
2019-12-03 06:30:08 +00:00
Treeco
7c17c45f47 made first person camera follow race heights, minor zoom chances 2019-12-01 19:05:28 +00:00
S Handley
ea2e0d17de SFX system
This is an event based approach to SFX sounds. There is a specific
character sound event mapper which determines sfx to play based on
character or NPC state, as well as emitting sfx events for
non-character-triggers such as levelling up.
2019-11-23 08:26:39 +00:00
Songtronix
bdcea57201 feat(log): add date to log file 2019-11-22 19:12:58 +01:00
Joshua Barretto
8745d0a3af Non-linear depth buffer 2019-11-20 09:59:27 +00:00
Joshua Barretto
28e625635f Split terrain rendering to avoid redrawing skybox 2019-11-19 19:09:22 +00:00
Joshua Barretto
5162256e45 Faster and more visually pleasing clouds 2019-11-19 19:09:22 +00:00
Joshua Barretto
aa111d34e5 Added clouds 2019-11-19 19:09:22 +00:00
Joshua Barretto
eb7b55d3ad Merge branch 'zesterer/better-water' into 'master'
Better water

See merge request veloren/veloren!643
2019-11-12 14:55:54 +00:00
Adam Whitehurst
64a0d8d91f Make character anims conditional by Tool held 2019-11-10 15:36:47 -08:00
Joshua Barretto
671313a523 Overhauled water shaders 2019-11-05 15:45:01 +00:00
Monty Marz
a0a8011d7e Updated: Help Window, Map, Item Descriptions 2019-10-27 22:22:40 +00:00
jshipsey
12f83cf270 rebase, small fixes 2019-10-25 22:20:38 -04:00
jshipsey
c5942dfcc9 purged references to npckind from anim files, removed warnings 2019-10-25 21:50:14 -04:00
jshipsey
2b5fd372c5 streamlined body part naming scheme, swapped quadruped to quadruped_small, rewrote mesh names to reflect body type instead of npckind. finally. 2019-10-25 21:50:14 -04:00
jshipsey
ada6142c1f added large bipeds, small birbs, small fish skeletons 2019-10-25 21:47:23 -04:00
jshipsey
4f5f7402f0 added dragon skeleton 2019-10-25 21:44:33 -04:00
jshipsey
e858c31b4c fish_medium and bird_medium skelingtons 2019-10-25 21:39:06 -04:00
jshipsey
574f070758 added large bipeds, small birbs, small fish skeletons 2019-10-25 21:34:29 -04:00
jshipsey
644939810f added dragon skeleton 2019-10-25 21:33:59 -04:00
jshipsey
54fc712076 fish_medium and bird_medium skelingtons 2019-10-25 21:33:02 -04:00
timokoesters
0a1e12c9ad
improvement: make debug items of type ItemKind::Tool
This way all items that can be held in a hand are tools
2019-10-24 23:55:24 +02:00
timokoesters
20248a4818
feat: store items as RON files
When a new item is created, a ron file will be used as a template
2019-10-24 23:47:26 +02:00
Monty Marz
3e0ac48bd8 Multiple Assets and UI fixes and additions 2019-10-23 19:40:45 +00:00
Imbris
39656e92be Merge branch '276-hotloading-armor' into 'master'
Resolve "Enable hotloading of different offsets for armors/weapons"

Closes #276

See merge request veloren/veloren!545
2019-10-18 00:29:09 +00:00
Adam Fogle
c41627d75f Removed the recolor property from the armor ron files. 2019-10-17 19:45:29 -04:00
Monty Marz
fdfab6a807 refactor: create_projectile doesn't take a light
It returns a builder so the caller can just do it
2019-10-17 20:59:36 +00:00
Joshua Barretto
04c64dc122 Better (and faster) water shaders 2019-10-17 17:11:55 +01:00
Joshua Barretto
c01e19fc05 Don't render water that isn't there, improved chunk render order 2019-10-16 12:40:18 +01:00
Adam Fogle
3a4c307d38 Code cleanup, formatting changes, and fixed the cloth belt's offset. 2019-10-16 00:42:57 -04:00
Joshua Barretto
707b79f2c8 Smoother movement, Space for climbing 2019-10-14 11:22:48 +01:00
Adam Fogle
8f7b4afafd Manifest file is now used to load armor.
Redid how pants renders so they can use underlying skin model/coloring,
same as chest armor.
Redid how belts render so they can use the underly skin color,
same as shoulder or foot.
Converted a manifest variable name to snake case.
2019-10-12 08:31:42 -04:00
Adam Fogle
a5db28113f Redid the mainfest files to remove race/gender.
Now based on armor slot enum.
Added color to the manifest files.
Manifest files aren't yet being used, but will load.
2019-10-12 08:31:42 -04:00
Adam Fogle
a2b2d0d493 Created Spec structs for each armor type.
Moved mesh creating code for each armor type
into matching struct.
Each Spec struct now loads the matching manifest file.
Manifest file is NOT used yet.
Warning thrown due to adding new parameter to the mesh function
for use reading the manifest file.
2019-10-12 08:31:42 -04:00
Adam Fogle
da54cf76bc Armor names now end with left/right.
Armor names no longer include their armor part.
This should be inferred from their folder.
2019-10-12 08:31:42 -04:00
Imbris
2651cb9179 Adjust far plane and bring near plane back in a bit 2019-10-10 22:24:24 +00:00
Luc Fauvel
b3697e1ea7 Increased near plane value 2019-10-09 22:23:09 -04:00
Monty Marz
d82ec6715a Item icons, chests and more 2019-10-09 19:28:05 +00:00
timokoesters
25cc1f0103
fix: orientation now supports z rotation 2019-10-06 22:03:29 +02:00
timokoesters
469349a426
fix(render): figures without vel don't render 2019-10-04 21:02:44 +02:00
Pfauenauge90
e404ea0d4f
assets, rotation, offset changes 2019-10-04 21:02:42 +02:00
Pfauenauge90
39e5530d45
made bow available in char selection 2019-10-04 21:02:40 +02:00
Pfauenauge
b5180320fb
bow position 2019-10-04 21:02:40 +02:00
timokoesters
d46f1e1859
Initial bow & arrow implementation 2019-10-04 21:02:39 +02:00
Monty Marz
4c1eba1f3e Assets update, aesthetics, minor fixes 2019-10-04 18:27:12 +00:00
S Handley
810a7e5b5d This is a re-commit of this feature from MR yarn run test where shandley had a catastrophic git cockup. 2019-10-04 09:58:58 +00:00
Justin Shipsey
27f3bebe40 Char overhaul and asset update 2019-10-02 10:05:17 +00:00
Monty Marz
11a022abb3 Better stepping sounds (and minor voxel model fixes) 2019-09-27 16:04:22 +00:00
Joshua Barretto
bef4f11536 Added sprite selection 2019-09-26 11:43:03 +01:00
Joshua Barretto
e22fe81a2f Added velorite 2019-09-26 00:15:07 +01:00
Vechro
deec1e6bca Remove player shadow on death 2019-09-26 00:15:07 +01:00
Joshua Barretto
f57c2ec453 Made consumable items have an effect, better damage animation 2019-09-26 00:15:07 +01:00
Joshua Barretto
b0a1619698 Fixed shadow distance culling 2019-09-26 00:15:07 +01:00
Joshua Barretto
499344ccab Added entity shadows 2019-09-26 00:15:07 +01:00
Joshua Barretto
46fdc87014 Animated chunk loading 2019-09-26 00:15:07 +01:00
Joshua Barretto
8bcb3c44f7 Reminder about remesh for lighting updates 2019-09-26 00:15:07 +01:00
Monty Marz
3a0131306f Character assets Part 1 2019-09-18 16:46:12 +00:00
Joshua Barretto
3f2e22f039 Exponential interpolation for linear damping
With an additional approximation to allow for the same size jumps given different framerates.
2019-09-09 19:11:40 +00:00
Joshua Barretto
933e48ac3b Merge branch 'fix-jump-height' into 'master'
Fix jump height

See merge request veloren/veloren!485
2019-09-08 15:50:08 +00:00
scott-c
2b3749d2f4 Fix performance regression; simplify FigureKey 2019-09-08 19:52:57 +08:00
Andrew Pritchard
2e63152d90 Merge branch 'fix-jump-height' into 'fix-jump-height'
Fix jump height

See merge request veloren/veloren!477
2019-09-07 12:48:49 +00:00
haslersn
d99bef6803 voxygen: Make the Terrain struct generic 2019-09-06 15:43:31 +02:00
haslersn
1796c09ca1 common: Rework volume API
See the doc comments in `common/src/vol.rs` for more information on
the API itself.

The changes include:

* Consistent `Err`/`Error` naming.
  * Types are named `...Error`.
  * `enum` variants are named `...Err`.
* Rename `VolMap{2d, 3d}` -> `VolGrid{2d, 3d}`. This is in preparation
  to an upcoming change where a “map” in the game related sense will
  be added.
* Add volume iterators. There are two types of them:
  * _Position_ iterators obtained from the trait `IntoPosIterator`
    using the method
    `fn pos_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `Vec3<i32>`.
  * _Volume_ iterators obtained from the trait `IntoVolIterator`
    using the method
    `fn vol_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `(Vec3<i32>, &Self::Vox)`.
  Those traits will usually be implemented by references to volume
  types (i.e. `impl IntoVolIterator<'a> for &'a T` where `T` is some
  type which usually implements several volume traits, such as `Chunk`).
  * _Position_ iterators iterate over the positions valid for that
    volume.
  * _Volume_ iterators do the same but return not only the position
    but also the voxel at that position, in each iteration.
* Introduce trait `RectSizedVol` for the use case which we have with
  `Chonk`: A `Chonk` is sized only in x and y direction.
* Introduce traits `RasterableVol`, `RectRasterableVol`
  * `RasterableVol` represents a volume that is compile-time sized and has
    its lower bound at `(0, 0, 0)`. The name `RasterableVol` was chosen
    because such a volume can be used with `VolGrid3d`.
  * `RectRasterableVol` represents a volume that is compile-time sized at
    least in x and y direction and has its lower bound at `(0, 0, z)`.
    There's no requirement on he lower bound or size in z direction.
    The name `RectRasterableVol` was chosen because such a volume can be
    used with `VolGrid2d`.
2019-09-06 15:43:31 +02:00
Joshua Barretto
66c58840ef Merge branch 'scott-c/first-person-model' into 'master'
Add first person models

See merge request veloren/veloren!443
2019-09-06 13:02:03 +00:00
scott-c
37d9acedb0 cleanup comment 2019-09-06 20:22:17 +08:00
scott-c
fcdb0843fc Cleanup unused import 2019-09-06 19:35:47 +08:00
scott-c
930e075ad1 half camera height when rolling 2019-09-06 19:29:52 +08:00
Joshua Barretto
f574b1748a Merge branch 'desttinghim/sound-effects' into 'master'
Sound Effects

Closes #163 and #97

See merge request veloren/veloren!473
2019-09-06 11:19:32 +00:00
scott-c
645debe230 Hide player hands when rolling in first person 2019-09-06 19:12:46 +08:00
Louis Pearson
7f27385f95 Removed unescessary if statements 2019-09-06 05:02:29 -06:00
scott-c
836525c33a Simplify model cache key, fixes performance issue 2019-09-06 18:59:05 +08:00
Louis Pearson
059d968499 Cargo fmt 2019-09-06 04:38:02 -06:00
Louis Pearson
675d72a3ce Code cleanup 2019-09-06 04:36:42 -06:00
Louis Pearson
57fe89e5c8 Fix warnings 2019-09-06 04:25:17 -06:00
scott-c
bc1ccfc99b Fix first person weapon visible while not wielding 2019-09-06 18:22:26 +08:00
Andrew Pritchard
b4c74279b7 Vec3 is apprently *not* Copy, Set near plane to 0.1 to prevent tirangle flickering 2019-09-06 13:24:42 +08:00
Monty Marz
943495c0c5 Pixel art for axe and flying rod, shadow for zone names and death message 2019-09-05 17:28:33 +00:00
Louis Pearson
65008f7d54 Adds proper 3d sound?
Looks like loading the footstep files every time a sound is played
becomes a problem rather quickly.
2019-09-05 03:08:09 -06:00
Louis Pearson
b5a979c82e Change footstep rate 2019-09-05 03:08:09 -06:00
Louis Pearson
00830108e9 Add positional audio
Orientation needs to be set now
2019-09-05 03:08:09 -06:00
Louis Pearson
fcb141a160 Add delay to walking sounds 2019-09-05 03:08:09 -06:00
Louis Pearson
ad3bd0b2ce Add footstep sounds, implement crude footstep sounding
Sounds are played every tick, which is not good.
2019-09-05 03:08:09 -06:00
scott-c
d045dbb2f6 Reduce first person camera interpolation time 2019-09-04 22:05:59 +08:00
scott-c
5fd4f00012 Add first person models 2019-09-04 22:05:59 +08:00
Imbris
fc9c87878e Fix some warnings, cleanup comment 2019-09-03 23:09:29 -04:00
Imbris
8a994ada8e Remove derpy eyes :( , fix undead eye indices, fmt 2019-09-03 23:06:15 -04:00
Imbris
cc331c10b6 Remove use of empty.vox 2019-09-03 23:06:09 -04:00
Imbris
074eee06e6 Add pants coloring, chest and pants sliders 2019-09-03 23:06:06 -04:00
Imbris
0ffc534df2 Add separate eye color lists for each race 2019-09-03 23:06:02 -04:00
Imbris
c4999f5e9d adjust how figure head coloring is done 2019-09-03 23:05:58 -04:00
Imbris
9d086949d1 Add basic index based coloring for figures 2019-09-03 23:05:56 -04:00
Imbris
fd251c4d3a Fix sliders, remove uneeded method, fix aspect ratio in character creation 2019-09-03 23:05:54 -04:00
Imbris
7bebffb2af Add ron file for head offsets, segment unionizer 2019-09-03 23:05:52 -04:00
Imbris
6289ce8c7f Split up figure.rs 2019-09-03 23:05:50 -04:00
Imbris
ab34377309 Add basic segment combination 2019-09-03 23:05:50 -04:00
Monty Marz
f53904b534 More sprites, ui fixes, lianas 2019-09-01 19:04:03 +00:00
Joshua Barretto
6919886475 Merge branch 'zesterer/worldgen' into 'master'
Worldgen improvements

See merge request veloren/veloren!457
2019-08-31 21:37:54 +00:00
Joshua Barretto
cc214982bf Fixed warnings 2019-08-31 11:44:52 +01:00
Joshua Barretto
17a61e0b7c Fixed terrain sprite transparency issue 2019-08-31 11:44:52 +01:00
Joshua Barretto
27c208d1a5 Fixed terrain sprite transparency layering 2019-08-31 11:44:52 +01:00
jshipsey
bb71bdd4a2 removing to make gitlab compiler happy 2019-08-30 23:18:56 -04:00
jshipsey
3c473d6d6c rebase 2019-08-30 23:01:29 -04:00
jshipsey
b81cd6a8f9 combine character.action movement blocks 2019-08-30 22:51:46 -04:00
timokoesters
9a832dd56b Move std::mem::discriminant into new method 2019-08-30 22:51:46 -04:00
timokoesters
d822356161 Remove warning 2019-08-30 22:51:46 -04:00
jshipsey
78bf7a0997 slowed movement for block/attack, cleaned up code, made foot speed velocity dependent, tweaked blocking animation 2019-08-30 22:50:53 -04:00
timokoesters
b99bac87db Make npcs roll correctly 2019-08-30 22:50:53 -04:00
timokoesters
77a48c61a1 Fix rolling for the player 2019-08-30 22:50:53 -04:00
jshipsey
d84c07c1cb fixed tiny feet in char creation 2019-08-30 22:50:53 -04:00
jshipsey
f8d0b1040a readded cidle 2019-08-30 22:50:53 -04:00
jshipsey
bec942753e some stuff fixed, other stuff still broken 2019-08-30 22:50:53 -04:00
timokoesters
cd3e340647 Use movement anim as base and action anim as overwrite 2019-08-30 22:50:53 -04:00
jshipsey
e6197d4c10 separate static anims for feet (run/static) 2019-08-30 22:50:53 -04:00