Commit Graph

2271 Commits

Author SHA1 Message Date
Imbris
75761b60d9 Merge branch 'imbris/fix-mesh-panic' into 'master'
Fix #746 and misc cleanup

Closes #746

See merge request veloren/veloren!1380
2020-09-13 01:48:27 +00:00
Imbris
3fbf8d7ca0 Remove chunk from mesh todo if neighbour is deleted, be more careful with z_start and z_end in terrain meshing 2020-09-12 21:02:00 -04:00
Marcel Märtens
ad63c65d2f fix windows result check 2020-09-11 16:24:15 +02:00
Imbris
c3ae641fbb Merge branch 'imbris/tracy' into 'master'
Add more tracing instrumentation and tracy support

See merge request veloren/veloren!1359
2020-09-10 05:07:51 +00:00
TheThirdSpartan
7fd673ecb2 Added localization config options for new death messages 2020-09-09 20:26:20 +00:00
Marcel Märtens
018d03d860 fix panic for macos 2020-09-09 12:11:56 +02:00
Marcel Märtens
68168b0ae4 replace heavy msgbox with light native-dialog 2020-09-08 23:49:49 +02:00
Raiyan Sayeed
906da2f0c7 added option for borderless fullscreen in setting -> graphics menu 2020-09-07 05:12:15 +00:00
Imbris
f39d1e9bb5 Use less verbose span names when the tracy feature is off 2020-09-07 00:59:16 -04:00
Imbris
7efbc74551 remove duplicate tracing filter code, fix compiling voxygen with the
tracy feature
2020-09-06 22:28:14 -04:00
Imbris
0683a40741 Use finish_continuous_frame directly 2020-09-06 22:28:14 -04:00
Imbris
4f68a6df27 Update tracy crates, reduce overhead of timing, add more misc instrumentation 2020-09-06 22:28:14 -04:00
Imbris
e37a01be9d Sprinkle instrumentation in common crate,in particular in the ecs systems 2020-09-06 22:28:14 -04:00
Imbris
50ceb1c93e Add workaround for spans with winit loop, configure filtering when the tracy feature is on, spinkle some spans in the codebase 2020-09-06 22:28:14 -04:00
Imbris
d95e539495 Intial setup of tracy 2020-09-06 22:28:14 -04:00
TheThirdSpartan
6dbd1bc132 adding feature requested in issue #153 - displaying your alias in game as 'you' 2020-09-06 19:42:32 +00:00
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
Marcel
3c4c178264 Merge branch 'snowram/issue-622' into 'master'
Add 1st and 2nd item of inventory in hotbar

See merge request veloren/veloren!1314
2020-09-05 08:45:21 +00:00
Imbris
0b9f2a5d3b Merge branch 'sharp/default-shadows-real' into 'master'
Make shadow maps the default.

See merge request veloren/veloren!1361
2020-09-05 05:47:21 +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 Yanovski
a2de759296 Make shadow maps the default. 2020-09-04 16:41:08 +02: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
7e6975d881 Merge branch 'sharp/typed-body' into 'master'
Further generalize the typed module.

See merge request veloren/veloren!1346
2020-09-01 06:29:35 +00:00
Monty Marz
a6abda391f orcs adjustment and inline_tweak crate
Adjust female orc headsize

add inline_tweak crate to voxygen and anim

format cargo.toml alphabetically
2020-08-31 15:26:46 +00: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
Marcel
b6c07718dc make logging easier and not as verbose on windows 2020-08-30 18:02:37 +00:00
termac
76df71ed3d small fix for handling hotbar hotkeys (fixes #687)
Send an 'ChangeHotbarState' event when a hotbar slot is assigned via
hotkey in the inventory.
2020-08-29 18:38:55 +02:00
Monty Marz
7041e490ce fix overlapping text 2020-08-28 16:10:50 +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
scott-c
d316463eb3 Add combat sfx #647 2020-08-26 19:28:00 +08:00
Monty Marz
6946de2682 fixed nametag height
fmt

fmt
2020-08-25 21:54:47 +02: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
6cf223583a Fixed failing audio tests 2020-08-24 20:37:47 +01:00
Joshua Barretto
6a4c5a05d0 Fixed projectile collisions, hitboxes, better aiming 2020-08-24 18:24:44 +01:00
Joshua Barretto
79ec8c9e22 Merge branch 'james/fix-shiny-shader-nvidia' into 'master'
Fixed NVidia shiny water shader bug and re-enabled in settings

See merge request veloren/veloren!1319
2020-08-24 07:09:48 +00:00
jiminycrick
86b4dd6ba3 set shiny water to default 2020-08-23 22:58:01 -07:00
Monty Marz
05462349e2 Merge branch 'pfau/mini-fixes' into 'master'
Various fixes

See merge request veloren/veloren!1329
2020-08-24 00:26:33 +00:00
Niko Thees
5d11adfd4c fix unequal zoom in distance and zoom out distance 2020-08-23 23:24:24 +00:00
Monty Marz
1d49186e31 various fixes
Balanced crafted weapon power

Adjusted tooltip color

Added tooltip showing account name to the social window
2020-08-24 01:16:53 +02: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
ce929d2924 Address comments, clippy and minor adjustments
first bunch of comments addressed

change order or scatter, paths and caves being applied in worldgen to avoid floating scatter objects

campfire adjustments, reduced grass density due to FPS issues

readded item descriptions to the crafting window, item desc for craftable armour

address comments
happy clippy, happy life
clippy

clippy

more clippy
fmt

revert cargo.toml formatting
remove "allow unreachable pattern"
fmt
2020-08-21 22:37:08 +02:00
jiminycrick
6b8e458027 Fixed NVidia shiny water shader bug and re-enabled in settings
missed a commented line
2020-08-21 14:59:18 -04:00
Monty Marz
e3eb34085f craftable starting set
velorite staff update

ore_nature_longbow

model fix
humanoid colours

Update agent.rs

improve rng (according to zesterer)

slower fleeing

More adjustments

fix cult leader name

more loot tables

all kinds of adjustments

smöl adjustments
2020-08-21 19:36:21 +02:00
Sam
9d2fe79a78 Changes to how critical hits function for melee attacks. Removed ability for explosions to crit. Velorite sceptre now functions as healing staff. 2020-08-21 19:36:20 +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
Monty Marz
7ab80ef367 sprite spawning rules 2020-08-21 19:36:16 +02:00
Monty Marz
b930c34d89 agent changes, sprite spawning changes, alignment changes 2020-08-21 19:36:16 +02:00
Monty Marz
0bd0de613b rounded numbers on healthbars 2020-08-21 19:36:15 +02:00
Monty Marz
962d7694bd fix social window display 2020-08-21 19:36:14 +02:00
Ryan Baker
712152740f Prefers picking up the highlighted item to the closest item 2020-08-21 14:09:48 +00:00
Joshua Barretto
e382e992bd Merge branch 'zesterer/atmospheric-particles' into 'master'
Atmospheric Particles

See merge request veloren/veloren!1310
2020-08-21 10:24:42 +00: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
a3e8cd34bc Properly remove Shiny option. 2020-08-20 22:08:25 +02: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
Snowram
df7793549c Add 1st and 2nd item of inventory in hotbar 2020-08-20 18:16:07 +02:00
Ryan Baker
3cdf7006e5 fixes #712 - where pressing N to leave Settings doesn't unpause a single player game world 2020-08-18 13:42:40 -04:00
Marcel Märtens
8687740265 fix clippy warnings in new version 2020-08-17 11:10:18 +02:00
Marcel
8f8b20c913 Merge branch 'xMAC94x/release_numbers' into 'master'
Change the version number to 0.7

See merge request veloren/veloren!1296
2020-08-15 10:27:31 +00:00
Marcel Märtens
ed68bff135 Change the version number to 0.7 2020-08-15 11:53:59 +02:00
Justin Shipsey
165c328517 fixed jump anim bug and non-attack bug for bipedlarge 2020-08-14 10:50:08 +00:00
Marcel Märtens
b8234217af fix #690 2020-08-13 10:41:34 +02: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
e3cab272c3 Fixed floating sprites in towns, clippy fixes 2020-08-12 21:16:14 +01:00
Joshua Barretto
50a85853e3 Fmt and clippy lints fixes 2020-08-12 21:16:14 +01:00
Joshua Barretto
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
IBotDEU
6b707a1ab7 implemented ability to select bit depth and refresh rate and implemented seperate setting for fullscreen resolution 2020-08-09 20:30:22 +00:00
Imbris
01ad81322d Merge branch 'yusdacra/treeculler-update' into 'master'
change treeculler crate from git to published version

See merge request veloren/veloren!1269
2020-08-09 17:21:15 +00:00
Imbris
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
37c733a067 clippy, consdensed climb, corrected some swim bugs 2020-08-08 17:04:50 -04:00
jshipsey
d7b3e84153 swim alterations to condense the body on strong turns 2020-08-08 13:47:32 -04:00
jshipsey
be3ed4b238 minor anim tweak 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
0ace0acdcd update comment 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
bb8ba75287 cleanup redundant function 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
Joshua Barretto
7c31baef6f Added outcome system, sound effects 2020-08-08 19:26:48 +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
Monty Marz
142b386628 address comments 2020-08-08 00:13:00 -04:00
Monty Marz
74ace74d5a Change to social window selection visuals 2020-08-08 01:16:35 +02:00
Imbris
2608217e83 Make clippy happy, fmt even though it is set to fmt on save in my
editor...."
2020-08-08 01:16:35 +02:00
Imbris
390d289d35 Add timeout's to group invites, and configurable limit to group size
Fix a few group bugs, enable invite timeout and group limits in ui
2020-08-08 01:16:35 +02:00
Monty Marz
14b0d9a7fe group leader colouring, offset fix when debug menu is open,
fixed social tab visuals

text width limit

group interaction wording, group window adjustments
2020-08-08 01:15:58 +02:00
Monty Marz
28a8f847cc timeout visuals, various small fixes and two new items 2020-08-08 01:15:58 +02:00
Monty Marz
3da7e27a7c overhead info improvements
overhead improvements
2020-08-08 01:15:58 +02:00
Monty Marz
1eb671e1a6 Update CHANGELOG.md, german locale 2020-08-08 01:15:58 +02:00
Imbris
1d69e85a50 Don't show own char in group menu, handle accept/decline key events 2020-08-08 01:15:58 +02:00
Monty Marz
58df00d80c Social window assets 2020-08-08 01:14:19 +02:00
Imbris
03d9992b9f Distribute exp evenly and make it easier to target entities 2020-08-08 01:14:19 +02:00
Monty Marz
f2ed7efced group button and menu logic changes
group member panels

health bar text

text shadows and scaling

cleanup, don't show the player panel

social window assets
2020-08-08 01:14:19 +02:00
Imbris
3a22b3694d New group UI functions 2020-08-08 01:14:19 +02:00
Monty Marz
9cffb61429 colors 2020-08-08 01:12:35 +02:00
Imbris
d856c20225 Integrate groups with chat groups 2020-08-08 01:12:35 +02:00
Imbris
ef4b221706 Make entity targeting easier, add EXP sharing 2020-08-08 01:12:35 +02:00
Imbris
0a8f148559 Fixes and tweaks for groups 2020-08-08 01:12:35 +02:00
Monty Marz
d9e3937a82 Basic UI
Basic ui for groups and group window
2020-08-08 01:12:35 +02:00
Imbris
6aba810517 Add key to select entities 2020-08-08 01:09:02 +02:00
Imbris
1741384d00 Add entity targeting 2020-08-08 01:09:01 +02:00
Marcel Märtens
599a9a76fc add a translation test that verifys that all language RON files are parseable (without any git involved) 2020-08-07 21:31:34 +02:00
Imbris
bdd255beb6 Tooltips now disappear when hovered and no longer appear on top of the mouse position (e.g. in the bottom of the inventory) 2020-08-07 03:30:17 -04:00
Imbris
d74a1d371e Avoid cloning armor/tool in tooltip generation, add temporary case for legacy item descriptions 2020-08-07 01:25:51 -04:00
nepo
cb65070aba nepo/dullahan 2020-08-07 03:56:59 +00:00
Yusuf Bera Ertan
af72c46c02
change treeculler crate from git to published version 2020-08-07 01:53:49 +03:00
Imbris
c2f3e1b47f Revert "Merge branch 'BottledByte/ability_design' into 'master'"
This reverts merge request !1264
2020-08-06 08:04:03 +00:00
Imbris
a0b1259b7e Merge branch 'BottledByte/ability_design' into 'master'
Add ability IDs and use them in GUI

See merge request veloren/veloren!1264
2020-08-06 04:44:51 +00:00
BottledByte
34c87d7a86 Add ability IDs and use them in GUI 2020-08-05 23:00:43 +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
Imbris
c118765477 Merge branch 'sharp/os-x-resize' into 'master'
Fix window resizing on OS X.

See merge request veloren/veloren!1256
2020-08-03 03:47:48 +00:00
BottledByte
a167ee98ee De-enumerized armor variants 2020-08-03 03:41:32 +00:00
Joshua Yanovski
4e99a3d142 Fix window resizing on OS X.
Not really clear why this was working on any platform...
2020-08-03 04:40:36 +02:00
Imbris
7d524f6062 Merge branch 'w3yden/overitem_hud' into 'master'
Voxygen/HUD: Display item name over dropped items

See merge request veloren/veloren!1240
2020-08-02 19:54:33 +00:00
w3yden
3e9cfa45bb Voxygen/HUD: Display item name over dropped items
Fix clippy warning: Removed unneeded () in fn style

Fix formatting for fn style
2020-08-02 09:49:39 +02:00
Imbris
aced5f9797 Merge branch 'shandley/collect-block-keyup-fix' into 'master'
Prevent inventory collect events from firing on keyup

See merge request veloren/veloren!1252
2020-08-02 06:49:14 +00:00
Shane Handley
1ae02244bc Prevent keyholds for collect (e) 2020-08-02 15:25:57 +10: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
Samuel Keiffer
f930f52df5 Allows for weapons to have different stats. Seperates healing staff out from staffs into its own weapon type: sceptre. Splits bow weapon type into shortbow and longbow. 2020-08-01 20:08:30 +00:00
Shane Handley
f34894087a Prevent inventory collect events from firing on keyup, which is causing item pickup actions to be called twice. 2020-08-01 20:26:44 +10:00
jshipsey
f167026889 changelog 2020-08-01 02:28:57 -04: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
Snowram
1421517f84 Add frog npc, tweak pig model 2020-08-01 02:19:45 -04:00
jshipsey
487131efb8 cyclops run anim 2020-08-01 02:19:45 -04:00
Snowram
990762ba76 Bonerattler tweaks 2020-08-01 02:19:45 -04:00
jshipsey
5d2be2240e maneater and feed anim 2020-08-01 02:19:45 -04:00
Snowram
90d7485c38 Add troll, truffler and wendigo npcs 2020-08-01 02:19:45 -04:00
jshipsey
8991b60929 catoblepas, bonerattler, rabbit, improved anims 2020-08-01 02:19:44 -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
Snowram
a0da059676 Skeleton rework with rough offsets 2020-08-01 02:19:43 -04:00
Imbris
f589564760 Fix glyph to large panic 2020-07-31 01:13:31 -04:00
Marcel Märtens
0d5e61c4b6 update auth to newest version 2020-07-29 19:28:22 +02:00
Marcel Märtens
96cde882ef update auth to the newest version and remove useless dep 2020-07-29 00:05:23 +02:00
Imbris
ba14440a49 Fix filtering out resize events in the ui 2020-07-26 18:21:20 -04:00
Samuel Keiffer
827b91d691 Bow charged shot attack 2020-07-26 03:06:53 +00:00
Imbris
6435464d00 Make video mode selection slightly better 2020-07-25 17:07:50 -04:00
Monty Marz
31cfc05123 lots of things
animation fixes by slipped
new cultist item
settings option for loading screen tips
loot table adjustments
2020-07-23 12:10:13 +00:00
Justin Shipsey
24f968d813 Merge branch 'quickfixes' into 'master'
small fixes

See merge request veloren/veloren!1221
2020-07-21 13:36:10 +00:00
T-Dark0
fd9ec8fbd0 Voxygen and server-cli no longer panic if server creation returns error
The process just exists instead
2020-07-21 09:59:00 +00:00
jshipsey
5b76ed23f4 small fixes 2020-07-20 21:37:13 -04:00
Monty Marz
e353bd3cfc Fix cut off chat 2020-07-18 21:56:45 +00:00
Imbris
d46bf03e27 Merge branch 'imbris/screenshot-tweak' into 'master'
Only screenshot and toggle fullscreen once per frame

See merge request veloren/veloren!1217
2020-07-18 19:08:42 +00:00
Imbris
14d500abbc Only screenshot and toggle fullscreen once per frame 2020-07-18 12:21:22 -04:00
Imbris
d53ad7eb43 Fix color depth selection 2020-07-18 08:17:42 -04:00
Imbris
2a9785a40c Remove supplement_events from Window, fix suppresed clippy lint, actually use exlusive fullscreen instead of a borderless window 2020-07-17 22:18:43 -04:00
Imbris
c8133ded43 Fix issue where client_init was not set to None after it finished, use tweaked version of winit to avoid macos link failure in the CI, small comment fixes 2020-07-17 21:26:21 -04:00
Imbris
953773e1d3 Temporarily remove voxygen character_renderer example until we move to a more actively maintained rendering backend 2020-07-17 21:26:21 -04:00
Imbris
0275cc9523 Tweak pausing code to reduce duplication 2020-07-17 21:26:21 -04:00
Imbris
2f5c8fa3f3 Fixes for Alt key related issues 2020-07-17 21:26:21 -04:00
Imbris
27bfc74928 small fix and refactor stop auto walk to a method 2020-07-17 21:26:21 -04:00
Imbris
9bfb1b5f00 Fix rebase mistake 2020-07-17 21:26:21 -04:00
Imbris
97364d49ed Increment glutin version in Cargo.toml file 2020-07-17 21:26:20 -04:00
Imbris
a0d88e0774 Fix mistake with event processing 2020-07-17 21:26:20 -04:00