Commit Graph

1997 Commits

Author SHA1 Message Date
Joshua Yanovski
103bda2230 Removed redundant code missed in auth merge. 2020-09-22 18:21:31 +02:00
Marcel Märtens
8eec46424f switching veloren naming scheme, to either one of the following:
`stable-0.7.0 (<hash>-<datetime>)` for release versions.
And
`nightly-<date> (<hash>)` for nightly and master versions

Reason is, many players only give information that they are running `0.x.0` but are not giving us the information which day, or commit they are running. So we should make master builds less confusing.
2020-09-22 11:47:18 +02:00
Sam
b4018e7d42 Made 3rd ability interruptible. Final balance tweaks. 2020-09-21 17:40:16 -05:00
Sam
fe70b7fbce Addressed second round of feedback. 2020-09-21 17:38:53 -05:00
Sam
b06ab250cc Addressed first round of feedback on sword overhaul. 2020-09-21 17:38:52 -05:00
Joshua Barretto
0ca42857fa Addressed review issues 2020-09-21 21:10:32 +01:00
Joshua Barretto
388a899a7f Added make_sprite command 2020-09-21 16:39:20 +01:00
Joshua Barretto
49d1b3df6d Improved docs 2020-09-20 11:46:12 +01:00
Joshua Barretto
ece4a01867 Improved representation of Block for better performance, more features, and better backwards-compatibility 2020-09-20 11:46:12 +01:00
Sam
45fef87f32 Addressed comments 2020-09-19 14:40:21 -05:00
Sam
e39770d1d9 Golem now spawns in dungeon. 2020-09-19 14:40:20 -05:00
Sam
d0f068ba63 Fixed shockwave and melee crit damage bypassing infinite armor. Made knockback not be applied if infinite armor. 2020-09-19 14:40:18 -05:00
Sam
6327dd18b6 Moved knockback to a server event so that it would actually be applied to the player. 2020-09-19 14:40:17 -05:00
Sam
3e4615daea Loadouts are now generated with loadout_builder.rs. Creatures spawned naturally and via command are now spawned with the same mechanics. 2020-09-19 14:40:14 -05:00
Imbris
829d8a20d1 Add shockwave system to handle shockwaves colliding with other entities 2020-09-19 14:40:10 -05:00
Sam
717142d5ea Started to implement shockwave system. 2020-09-19 14:29:06 -05:00
Sam
68ecfba291 Projectile speed is no longer hard-coded. 2020-09-19 14:29:05 -05:00
Sam
66b0fee3c7 Separated knockback out from basicmelee. Added weapon for cyclops boss to use, and added 1 ability to it. 2020-09-19 14:29:04 -05:00
scott-c
2686598f1f Improve first-person projectile aiming 2020-09-19 19:14:23 +08:00
Snowram
f9fada87cf Addresses comments 2020-09-18 18:45:03 +02:00
jshipsey
5bb45a4861 spawn tweaks, improved odonto 2020-09-17 22:32:11 -04:00
jshipsey
cd6e1ad45f haul out the critter skele, add theropod 2020-09-17 22:32:10 -04:00
jshipsey
ecae71c016 gliders as items. anim improvements 2020-09-17 22:32:09 -04:00
Ben Wallis
712f2e9c97 * Moved migrations to beginning of server initialisation
* Added migrations for entity ID changes to existing tables
2020-09-17 23:02:14 +00:00
Marcel Märtens
cb6fa52eae fix client stats, difference client/player 2020-09-17 00:19:48 +02:00
Marcel Märtens
3c58b64689 add detailed information on state tick timings 2020-09-16 18:24:18 +02:00
Marcel Märtens
184d405f10 Better Metrics for Server
- Player online is now seperated into players connected and disconnected and is event driven
 - Metrics for ChunkGeneration: this is the server side for tracking actuall generation
 - Metrics for Chunk Network Requests
2020-09-16 18:14:04 +02:00
Joshua Yanovski
19485b6a00 Add a DisconnectReason enum. 2020-09-14 08:16:09 +02:00
tylerlowrey
bdff4bc04c Prevent client from ignoring Kicked event 2020-09-14 07:54:05 +02:00
tylerlowrey
9e7ec63800 Converted banlist to use Uuids as the key instead of the username 2020-09-14 07:54:05 +02:00
tylerlowrey
2c55afcfa9 Added username_to_uuid convenience function to LoginProvider 2020-09-14 07:54:05 +02:00
tylerlowrey
2b0c1e89f3 Refactored kicking the player into its own function + ran fmt on project 2020-09-14 07:54:05 +02:00
tylerlowrey
d57adc518e Removed unnecessary clone in ban handling function 2020-09-14 07:54:05 +02:00
tylerlowrey
4653eb63c4 Converted banlist from vector of tuples to HashMap 2020-09-14 07:54:05 +02:00
tylerlowrey
30c3146682 Added main menu kick message with kick reason after player is kicked 2020-09-14 07:52:31 +02:00
tylerlowrey
fee79720ee Added ban message with reason when banned user attempts to login to server 2020-09-14 07:52:31 +02:00
tylerlowrey
f171e4e870 Removed usage of AuthProvider as AuthProvider no longer exists 2020-09-14 07:52:31 +02:00
tylerlowrey
c3c4b88fe7 Added banlist check to try_login method 2020-09-14 07:52:31 +02:00
tylerlowrey
f402df2c56 Altered ban so that it kicks the player as well 2020-09-14 07:52:31 +02:00
tylerlowrey
e9348f2fb5 Fixed requiring a restart in order for banlist to take effect 2020-09-14 07:52:31 +02:00
tylerlowrey
ea4f9b9a36 Added unban command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
c2a7fc1586 Prevent multiple bans of same player 2020-09-14 07:52:31 +02:00
tylerlowrey
def21af02b Added ban command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
dadb1fbe12 Added kick command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
3bc57b4087 Added banlist to server settings and added default value 2020-09-14 07:52:31 +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
Matthew Martin
57c6160b72 * Set the KillType to Other for HealthSource::Healing
* Extend logic to projectiles and explosions
2020-09-09 23:34:10 +02:00
Matthew Martin
a9086b27a0 Do not make healing items deal damage 2020-09-09 23:22:49 +02:00
TheThirdSpartan
7fd673ecb2 Added localization config options for new death messages 2020-09-09 20:26:20 +00:00
Imbris
f39d1e9bb5 Use less verbose span names when the tracy feature is off 2020-09-07 00:59:16 -04:00
Imbris
0683a40741 Use finish_continuous_frame directly 2020-09-06 22:28:14 -04:00
Imbris
63d60c212c Add spans to server systems 2020-09-06 22:28:14 -04:00
Marcel Märtens
961b8a4d7c Implement the Player Timeout as config 2020-09-06 23:34:57 +02: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
b87bbaff0b Merge branch 'xMAC94x/hotfix_increase_timeout' into 'master'
tmp increase TIMEOUT from 20s to 40s.

See merge request veloren/veloren!1352
2020-09-06 17:54:59 +00:00
Imbris
dc2fc11956 Merge branch 'bag' into 'master'
Dropping a bag instead of turning entity into one

Closes #747

See merge request veloren/veloren!1362
2020-09-05 20:33:13 +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
notoria
264b5ec1c5 Avoid destroying a deleted entity
Suggested by @Imbris.
2020-09-05 18:59:14 +02:00
notoria
23021f955f Dropping a bag instead of turning entity into one 2020-09-05 11:11:19 +02:00
Imbris
fb33a5e519 Merge branch 'termac/inventory_collect_when_full_fix' into 'master'
Fix bug collecting items into full inventory

See merge request veloren/veloren!1333
2020-09-05 06:51:22 +00:00
Joshua Barretto
0c0f150140 fmt 2020-09-04 11:48:57 +01:00
Joshua Barretto
57ccf4863e Moved scatter to dedicated file 2020-09-04 11:48:57 +01:00
Joshua Barretto
032ec9ef41 Added bee hives 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
Joshua Barretto
2a64a75a0f Made boulders avoid rivers 2020-09-04 11:41:56 +01:00
termac
f05c120fab Fix bug collecting items into full inventory
When the inventory is full and a player tries to reclaim an item from a
block, collecting always failed. If the item is stackable and already
present inside the inventory it should be collected though.
The collect case now behaves more like the pickup case, using
inventory's 'push' method to add the item and implicitly check for
available space.
2020-09-02 12:47:56 +02:00
Marcel Märtens
3ee7bb5a98 tmp increase TIMEOUT from 20s to 40s.
This will not solve the StreamClose, but make it less annoying for some.
2020-09-01 23:16:11 +02:00
Capucho
6a83da0dfd Force migration text trough tracing 2020-09-01 23:03:33 +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
Imbris
dcce5641f7 Fix broken features and avoid panic if the client leaves before character data loads 2020-08-26 20:47:39 -04:00
Marcel
3a1b4fa516 Merge branch 'xMAC94x/compression' into 'master'
Propper Compression support of network.

See merge request veloren/veloren!1334
2020-08-25 22:21:05 +00:00
Marcel Märtens
144f88f811 Propper Compression support of network.
- Compression is no longer enabled always but can now be enabled per Stream.
   If a Stream is Compression enabled it will compress and decompress all msg (except for `raw` access) before handling them internally.
   You need to handle compression yourself for `raw` fn.
 - added a new feature to the network crate to enable or disable the compression
 - switched to `lz-fear` instead of `lz4-compression`
 - use `bitflags` to represent the `Promises` struct
2020-08-25 23:55:27 +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
6a4c5a05d0 Fixed projectile collisions, hitboxes, better aiming 2020-08-24 18:24:44 +01: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
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
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
Sam
924d09e46c balancing
more specific stats

Update body.rs

more balancing

non hostile catoblepas and mouflons

quad low
more adjustments
Animals with enemy alignment now deal correct damage. Made health scaling species-specific.
2020-08-21 19:36:17 +02:00
Monty Marz
b930c34d89 agent changes, sprite spawning changes, alignment changes 2020-08-21 19:36:16 +02:00
Marcel Märtens
daffe8bee3 enable veloren_network metrics 2020-08-21 18:00:21 +02:00
Marcel Märtens
42141b3aa3 remove some trace! in network which a) was only spam and b) could be replaced by a metric way better.
added a span for disconnecting on the gameserver side. also added more debug! tracing there
Just keeping a trace! all 10000ms active to have a keep alive feeling.
2020-08-21 18:00:14 +02:00
Marcel Märtens
b59fc2ff0c improve tracing and spans in network crate 2020-08-21 18:00:00 +02:00
Forest Anderson
9315ac758a Merge branch 'spyros/empty-default-admins' into 'master'
Make the default admin list an empty vec

Closes #721

See merge request veloren/veloren!1316
2020-08-20 23:41:47 +00: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
Spyros Roum
25ca7ad28d Make the default admin list an empty vec 2020-08-20 00:18:05 +03:00
Marcel Märtens
08e7063a36 no longer block when disconnecting a player 2020-08-17 16:34:02 +02:00
Marcel Märtens
1beea5967f investigate if participant mutex causes server hang 2020-08-17 14:21:52 +02:00
Marcel Märtens
8687740265 fix clippy warnings in new version 2020-08-17 11:10:18 +02:00
Marcel Märtens
ed68bff135 Change the version number to 0.7 2020-08-15 11:53:59 +02:00
Marcel Märtens
e618eeb386 Fix a isse that might occur when a participant is dropped while the remote wants to open a Stream and we get some bad time condition.
increase the slowlorris timeout. for some reason it seems to trigger alot more often since commit: `75c1d440` but i have no idea why.
My guess would be that the initial sync now sends way more data which slows down TCP to be > 10ms and trigger. Note: the fix might cause small lags when slow people try to connect to the server
2020-08-13 12:06:53 +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
6992194ad4 Better surface swimming, no underwater sprites 2020-08-12 21:15:53 +01:00
Joshua Barretto
9bb10a6d00 Various improvements to castles, dungeons and more 2020-08-12 21:15:53 +01:00
Joshua Barretto
41229b4665 Added large caves, cave scatter, removed old caves 2020-08-12 21:15:53 +01:00
Joshua Barretto
1763693f5f Added labour value to economy, castle improvements 2020-08-12 21:15:52 +01:00
Joshua Barretto
d6cdb0c433 Began adding castles 2020-08-12 21:15:52 +01:00
Joshua Barretto
1f4cec773b Added make_block command 2020-08-12 21:15:52 +01:00
Joshua Barretto
f21a50e393 Added forts to towns, began better economy sim 2020-08-12 21:15:52 +01:00
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
cae84dd4c9 fix rebase 2020-08-08 20:53:07 +08:00
scott-c
a0107d5cda fix rebase 2020-08-08 19:26:52 +08:00
scott-c
ba301696f4 change campfire cmd to spawn object instead of npc 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
1a263834e7 Add campfire command 2020-08-08 19:25:33 +08:00
scott-c
5ba4d26821 Update changelog 2020-08-08 19:25:29 +08:00
scott-c
4bc373a832 remove particle emitter component 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
42a10a6059 Add ParticleEmitter Component 2020-08-08 19:24:22 +08:00
Monty Marz
142b386628 address comments 2020-08-08 00:13:00 -04: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
a7df000a6f Fireballs no longer damage group members 2020-08-08 01:16:35 +02:00
Imbris
af8560ea36 Remove pets from the group exp division calculation but still give them exp, fix bug with group code when pets are deleted 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
def68302c7 Fixed test world to run again
Update test_world.rs
2020-08-08 01:15:58 +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
Imbris
ecf6a84b2f Don't give exp when killing self or group members 2020-08-08 01:15:58 +02:00
Imbris
03d9992b9f Distribute exp evenly and make it easier to target entities 2020-08-08 01:14:19 +02:00
Imbris
3a22b3694d New group UI functions 2020-08-08 01:14:19 +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
10c3d01466 Add basic group functionality (no voxygen wiring yet) 2020-08-08 01:09:01 +02:00
Joshua Yanovski
6d425f125e Fix various migration issues. 2020-08-07 01:35:51 +02:00
Silentium2318
1c40218de9 More weapon and hit box tweaks 2020-08-06 09:43:47 -05: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
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
Imbris
f589564760 Fix glyph to large panic 2020-07-31 01:13:31 -04:00
Marcel Märtens
7f97baca70 switch to auth that doesn't use agent 2020-07-31 01:05:01 +02:00
Marcel Märtens
0d5e61c4b6 update auth to newest version 2020-07-29 19:28:22 +02:00
Marcel Märtens
96cde882ef update auth to the newest version and remove useless dep 2020-07-29 00:05:23 +02:00
Samuel Keiffer
527e7a329e Armor fixes 2020-07-25 23:57:04 +00:00
Marcel
d25508e2df Merge branch 'lausek/admin-joining' into 'master'
fix #660; Admins should join even if they aren't on whitelist

Closes #660

See merge request veloren/veloren!1219
2020-07-23 17:16:52 +00:00
lausek
f7a3a622e5 fix #660; Admins should join even if they aren't on whitelist 2020-07-23 17:16:52 +00:00
Monty Marz
9497d7e711 Update terrain.rs 2020-07-23 15:01:39 +02:00
Monty Marz
31cfc05123 lots of things
animation fixes by slipped
new cultist item
settings option for loading screen tips
loot table adjustments
2020-07-23 12:10:13 +00:00
Marcel Märtens
46b4c87cf3 fixed !688 2020-07-22 09:50:26 +02: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
Joshua Yanovski
51ff7cded2 Fix corrupted character inventories by adding protection.
This is a temporary bandaid until we move to our new schema, but it
should at least allow people to log in with old characters.
2020-07-20 02:34:43 +02:00
Imbris
db36578f83 Merge branch 'Menko/utility_items_fix_issue_612' into 'master'
#612 Fixed utility items not being removed from inventory/hotbar

See merge request veloren/veloren!1123
2020-07-18 02:41:45 +00:00
Nemanja
5caa6a07b0 #612 Fixed utility items not being removed from inventory/hotbar 2020-07-18 02:41:45 +00:00
Justin Shipsey
5d18fc26f5 Merge branch 'sam/armor-stats' into 'master'
Armor Protection Stat

Closes #640

See merge request veloren/veloren!1204
2020-07-18 00:05:28 +00: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
Imbris
9e880009e0 Loosen in_vd calculation on the server so that it accepts all chunks a client with the specified vd would request 2020-07-17 17:32:31 +01:00
T-Dark0
d5e9e19881 Created banned words file
By default, it's an empty list
2020-07-16 14:05:35 +00:00
Marcel Märtens
6c59caf8e1 make prometheus optional in network and fix a panic in the server
- an extra interface `new_with_regisitry` was created to make sure the interface doesn't depend on the features
2020-07-15 16:45:49 +02:00
Joshua Barretto
8d6b442193 Crafting 2020-07-14 20:11:39 +00:00
Marcel
d5bfae886e Merge branch 'xMAC94x/net-improve' into 'master'
xMac94x/net improve

See merge request veloren/veloren!1162
2020-07-14 14:09:43 +00:00
Joshua Barretto
446923f7d8 Merge branch 'zesterer/small-fixes' into 'master'
Zesterer/small fixes

See merge request veloren/veloren!1190
2020-07-14 09:54:17 +00:00
Marcel Märtens
c74e5e4b47 Changes requested in rewiew 2020-07-13 23:41:32 +02:00
Ben Wallis
a9be045cb8 Fixed suppressed clippy warnings for #587 - useless_conversion 2020-07-13 20:57:13 +01:00
Marcel Märtens
6db9c6f91b fix a followup bug, after a protocol fail now Participant is closed, including all streams, so we get the stream errors.
We MUST handle them and we are not allowed to act on a stream after it failed, as i am to lazy to change the structure to ensure the client to be imeadiatly dropped i added a AtomicBool to it.
2020-07-13 13:03:35 +02:00
Marcel Märtens
df45d35c0e tcp protocol hardening
- make it harder for the server to crash and also kill invalid sessions properly (instead of waiting for them to close)
 - introduce macros to reduce code duplication
 - added tests to check for valid handshake as well as garbage tcp
2020-07-13 13:03:25 +02:00
Marcel Märtens
9d32e3f884 proper voxygen connect and code cleanups:
- voxygen abort when the server has a invalid veloren_network handshake, e.g. by outdated version instead of try again
- rename Network `Address` to `ProtocolAddr` as sugested by zest as it's a combination of Protocol and std::io::Addr
- remove the manual byte arrays in `protocols.rs` with something more nice
2020-07-13 13:03:20 +02:00
Marcel Märtens
041349be48 Switch API to return Participant rather than Arc<Participant>
- API behavior switched!
 - the `Network` no longer holds a copy of participant, thus if the return of `connect` (before `Arc<Participant>, now `Participant`) got dropped, the `Participant::Drop` is triggered!
 - you can close a Participant async via `Particiant::disconnect()`, no more need to know the network at this point
 - the `Network::Drop` will check and drop not yet disconnected Participants.
 - you can compare Participants via PartialEq, if they are true they point to the same endpoint (it checks remote_pid)
   - Note: multiple Participants are only supported in theory, wont work yet

Additionally:
 - fix some `debug!`
 - veloren-client will now drop the participant gracefully on shutdown
 - rename `error` to `debug` when 2 times Bparticipant shutdown is called, as it is to be expected in a async runtime
2020-07-13 13:03:14 +02:00
Marcel Märtens
9ae1d8474f dropping participant on client disconnect clients 2020-07-13 13:03:07 +02:00
Ben Wallis
7f6c892cf0 Added migration to fix characters unable to login due to DashMelee ability change 2020-07-11 15:42:19 +01:00
Songtronix
5b57072064 fix: use correct specs(-idvs) versions
related to torvus
2020-07-09 19:46:30 +02:00
Joshua Barretto
23c774c8da Fixed missed VD update bug 2020-07-09 16:54:10 +01:00
Samuel Keiffer
25c28f26d6 Different body types now have different health values and gain different amounts of healths on leveling. 2020-07-09 00:04:25 +00:00
Ben Wallis
ddb66ec73b Added CharacterDataError when character list fails to load due to Loadout de-serialization error 2020-07-08 09:34:20 +01:00
Ben Wallis
e83d0abd33 Added migration to create a default inventory and loadout for characters without one 2020-07-08 09:09:48 +01:00
Ben Wallis
3ac18f73ea Removed de-serialization failure tolerance to prevent player inventory/loadout wipes 2020-07-08 09:09:47 +01:00
Marcel Märtens
85a3f8637d fix specs 2020-07-07 14:28:00 +02:00
Marcel Märtens
c212de00c2 updated dependencies and fixed stuff
- replace serde_derive by feature of serde
   incl. source code modifications to compile
 - reduce futures-timer to "2.0" to be same as async_std
 - update notify
 - removed mio, bincode and lz4 compress in common as networking is now in own crate
   btw there is a better lz4 compress crate, which is newer than 2017
 - update prometheus to 0.9
 - can't update uvth yet due to usues
 - hashbrown to 7.2 to only need a single version
 - libsqlite3 update
 - image didn't change as there is a problem with `image 0.23`
 - switch old directories with newer directories-next
 - no num upgrade as we still depend on num 0.2 anyways
 - rodio and cpal upgrade
 - const-tewaker update
 - dispatch (untested) update
 - git2 update
 - iterations update
2020-07-07 09:43:49 +02:00
Joshua Barretto
3cfd8bdd3c Fixed animal loadouts and /spawn 2020-07-07 02:21:14 +01:00
Joshua Barretto
d1cdb6ea55 Updated changelog 2020-07-07 01:11:37 +01:00
Joshua Barretto
e626f6255f Prevented pet damage 2020-07-07 01:01:39 +01:00
Joshua Barretto
bdab3972c2 Fixed view distance bug 2020-07-06 16:36:13 +01:00
Marcel
e19d170b61 Merge branch 'imbris/smaller-fixes' into 'master'
Stop spamming loadout, Update specs

See merge request veloren/veloren!1165
2020-07-06 09:50:46 +00:00
Songtronix
200496d1bc fix: allow maximum view distance in singleplayer 2020-07-06 10:37:44 +02:00
Imbris
8d39f27458 Upgrade hashbrown 2020-07-06 03:15:06 -04:00
Imbris
afff8a43b9 Add some code to count how many updates will be sent for each component type (commented out) 2020-07-06 02:25:29 -04:00
Imbris
c2d6d00b00 point to github specs to access PairedStorage type, fix Loadout sync spam 2020-07-06 01:56:02 -04:00
Joshua Barretto
a9f862ee95 Fixed multiple char select bug 2020-07-05 18:05:00 +01:00
Joshua Barretto
43f75f2f54 Removed bomb timeout 2020-07-05 16:15:51 +01:00
Joshua Barretto
fd39ee97bc Added training dummies 2020-07-05 16:15:51 +01:00
Joshua Barretto
92c9db5291 Made fluids block explosions 2020-07-05 16:15:51 +01:00
Joshua Barretto
38c422bef7 Added bombs to loot table 2020-07-05 16:15:51 +01:00
Joshua Barretto
2f6a618d5a Added bombs, throwable items, more block kinds, weaker explosions 2020-07-05 16:15:48 +01:00
Marcel
2a7a8b05e6 Merge branch 'network-lockless' into 'master'
Network lockless

See merge request veloren/veloren!1153
2020-07-05 09:17:29 +00:00
Forest Anderson
7ac5876743 Merge branch 'xvar/skills' into 'master'
Initial implementation of skills and skill groups

See merge request veloren/veloren!1135
2020-07-05 00:33:11 +00:00
Forest Anderson
3e830aa0ca Merge branch 'angel/add-spawn-training-dummy' into 'master'
Added spawning test dummy

See merge request veloren/veloren!1142
2020-07-04 19:24:02 +00:00
Piotr Korgól
27440e16c4 Correctly load the loot table 2020-07-04 18:40:23 +02:00
Ben Wallis
538598eb08 Refactored Skills/SkillGroups structure and implemented JSON persistence 2020-07-04 15:25:21 +01:00
Piotr Korgól
aefa7e2f11 Make chests and enemies use the basic loot table 2020-07-04 14:07:10 +02:00
Marcel Märtens
cbfd398035 remove Mutex in server as Stream is now 'Sync' 2020-07-04 12:31:59 +02:00
Forest Anderson
954a4857c4 Added proper training dummy model 2020-07-03 16:53:04 -04:00
Forest Anderson
c525358637 Prevent xp gain from training dummy kill 2020-07-03 16:53:04 -04:00
Forest Anderson
6140555e43 Fixed clippy issues 2020-07-03 16:53:04 -04:00
Forest Anderson
e73ec7a4d2 Added spawning test dummy 2020-07-03 16:53:04 -04:00
Marcel Märtens
15ff58cd6a simple fmt in order to make the replacement commit as simple as possible 2020-07-03 13:11:44 +02:00
Marcel Märtens
4e92c0160e network layer switch, doing the stuff that might confict.
- mostly its the message handling put now in a async wrapper
 - add some fixes to pass without warnings and make clippy happy
 - some network error handling is ignored, this can be improved but is no blocker
2020-07-03 13:11:38 +02:00
Marcel Märtens
77c90b2c7c doing a simple 1:1 swap out network coding
this is the part which prob has less Merge conflics and is easy to rebase
the next commit will have prob alot of merge conflics
followed by a fmt commit
2020-07-03 13:11:31 +02:00
Monty Marz
89400264dc Loot ChatType, Update german translation, map zooming 2020-07-01 19:05:44 +00:00
Marcel Märtens
6535fa5744 fix various clippy issues 2020-07-01 00:37:06 +02:00
Samuel Keiffer
44203ab817 Adds a command that allows a username to be added or removed from the whitelist 2020-06-30 12:21:36 +00:00
Ben Wallis
48a23e5f4c Fixed inventory full message when pressing the pickup item key in quick succession (#651) 2020-06-29 07:48:44 +01:00
Forest Anderson
201f513737 Fixed meta chattype error on master 2020-06-28 17:10:01 +00:00
Forest Anderson
9246e34c1b Merge branch 'CapsizeGlimmer/chat_modes' into 'master'
Capsize glimmer/chat modes

Closes #217

See merge request veloren/veloren!1043
2020-06-28 14:35:39 +00:00
Monty Marz
f3a84e07a7 changed message type for motd 2020-06-28 16:04:55 +02:00
Forest Anderson
48f70bd088 Fixed double login message 2020-06-28 09:47:48 -04:00
Monty Marz
670d9e8736 remove unnecessary conversions to make clippy happy 2020-06-28 15:15:00 +02:00
Ben Wallis
a9d3f984f0 Implemented loot pickup chat messages and the option for playing different sounds for picked up items
* Added chat message when an item is picked up
* Changed InventoryUpdateEvent::Collected to InventoryUpdateEvent::Collected(Item) to facilitate the client being aware of what was picked up
* Added SfxInventoryEvent enum to allow different sounds to be used based on the item type. The RON mapping/de-serialization doesn't support matching on structs so we have to give it fixed enum values which are determined in TryFrom<&InventoryUpdateEvent> for SfxEvent
* Refactored InventoryManip::Pickup arm of match in inventory_manip::handle_inventory for clarity/better warning messages
* Fixed a bug that prevented the CollectFailed event from being raised when a player's inventory is full
* Added a panic for the situation where an item is pushed into the players inventory and then the deletion of the entity fails as this would indicate an item dupe bug - this could potentially be reworked to pull the item back from the player's inventory but this seems like there's be a more correct transactional way to do this.
* Added two temporary sounds to prove the per-item sound functionality (pickup sounds for Swords and Staffs)
2020-06-28 13:05:28 +01:00
Forest Anderson
2665159790 Fixing errors after rebase 2020-06-27 19:12:12 -04:00
CapsizeGlimmer
883d9acf30 cargo fmt 2020-06-27 17:43:46 -04:00
CapsizeGlimmer
3d29c3254a Add setting for displaying character names in chat. Placate cargo clippy. 2020-06-27 17:43:46 -04:00
CapsizeGlimmer
59db2fcd3b Admin status added when registering; cargo fmt 2020-06-27 17:43:45 -04:00
CapsizeGlimmer
2d2aba3a5d Chat bubble text shadows. Fix panic when re-joining a group or faction 2020-06-27 17:40:03 -04:00
CapsizeGlimmer
b04810cae5 misc chat mode changes 2020-06-27 17:40:03 -04:00
CapsizeGlimmer
5ad212b7ed Add chat types for offline, online. Implement Pfau's fixes 2020-06-27 17:40:03 -04:00
CapsizeGlimmer
b7d7696d89 Implement MR!1043 changes suggested by Imbris 2020-06-27 17:20:26 -04:00
CapsizeGlimmer
34acc4ddf3 Players are removed from social menu when logged out. 2020-06-27 17:20:26 -04:00
CapsizeGlimmer
4117f2f2a8 cargo fmt; changelog 2020-06-27 17:03:55 -04:00
CapsizeGlimmer
35ed03aa18 Implement chat mode icons in chat window 2020-06-27 17:03:30 -04:00
CapsizeGlimmer
22315a6e1d Added shortcut for chat commands /g=>/group, /s=>/say, /w=>/world, etc. 2020-06-27 17:03:30 -04:00
CapsizeGlimmer
c984bdcdf1 Implement chat filtering for /say /region /group etc. 2020-06-27 17:03:30 -04:00
CapsizeGlimmer
5cbecb29e6 Implement /join_group and /join_faction commands 2020-06-27 16:42:26 -04:00
CapsizeGlimmer
289ef5d6b2 Move message processing and chat bubbles to the client 2020-06-27 16:42:26 -04:00
CapsizeGlimmer
0b2a3ebe8b Re-implement names in chat. It is done client-side now and /alias changes are retroactive. 2020-06-27 16:42:25 -04:00
CapsizeGlimmer
b08d717eac Rework chat processing 2020-06-27 16:29:03 -04:00
CapsizeGlimmer
702a21302c Base implementation of /group /faction /say /region 2020-06-27 16:26:02 -04:00
Joshua Barretto
1cca7bf4a8 Fmt, fixed chat-cli problem 2020-06-25 19:50:04 +01:00
Joshua Barretto
d9cd37056d Added settings editing, set_motd command 2020-06-25 18:57:29 +01:00
Joshua Barretto
83a96c24ec Added MOTD on login, MOTD editing 2020-06-25 18:57:26 +01:00
Joshua Barretto
b46e080ade Added server-side maximum view distance setting 2020-06-25 18:46:04 +01:00
Imbris
6501611372 Merge branch 'shandley/character-loading' into 'master'
Move character DB ops off the main thread

See merge request veloren/veloren!1075
2020-06-25 16:16:15 +00:00
Songtronix
f44df23935 feat: add server whitelist 2020-06-24 17:36:19 +02:00
Shane Handley
255ad97289 - Move the remaining character data loading to the message/thread formatharacter list actions
- Handle/notify the client of errors during character load by returning to character select with the error, clean up client and server states
- Add player_uuid check when loading character data.
2020-06-24 11:47:41 +10:00
Shane Handley
38b146d840 Add channel setup for persistence to move character operations off the
main thread.
2020-06-23 21:07:43 +10: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
589254e4ab Convert all other veloren crates to use tracing
- Completely removed both `log` and `pretty_env_logger` and replaced
with `tracing` and `tracing_subscriber` where necessary.

- Converted all `log::info!(...)` et al. statements to just use the
shorthand macro i.e. `info!`. This was mostly to make renaming easier.
2020-06-21 23:19:41 +08:00
Ben Wallis
6da7a11d33 Fixed suppressed clippy warnings for #587 - clone_on_copy 2020-06-18 22:25:48 +01: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
Ben Wallis
4d6c553b1b Fixed suppressed clippy warnings for #587 - redundant_closure 2020-06-12 20:47:22 +01:00
Ben Wallis
8ed2109bcf Fixed suppressed clippy warnings for #587 - collapsible_if 2020-06-12 20:34:54 +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
Marcel Märtens
3324c08640 Fixing the DEADLOCK in handshake -> channel creation
- this bug was initially called imbris bug, as it happened on his runners and i couldn't reproduce it locally at fist :)
- When in a Handshake a seperate mpsc::Channel was created for (Cid, Frame) transport
  however the protocol could already catch non handshake data any more and push in into this
  mpsc::Channel.
  Then this channel got dropped and a fresh one was created for the network::Channel.
  These droped Frames are ofc a BUG!
  I tried multiple things to solve this:
   - dont create a new mpsc::Channel, but instead bind it to the Protocol itself and always use 1.
     This would work theoretically, but in bParticipant side we are using 1 mpsc::Channel<(Cid, Frame)>
     to handle ALL the network::channel.
     If now ever Protocol would have it's own, and with that every network::Channel had it's own it would no longer work out
     Bad Idea...
   - using the first method but creating the mpsc::Channel inside the scheduler instead protocol neither works, as the
     scheduler doesnt know the remote_pid yet
   - i dont want a hack to say the protocol only listen to 2 messages and then stop no matter what
  So i switched over to the simply method now:
   - Do everything like before with 2 mpsc::Channels
   - after the handshake. close the receiver and listen for all remaining (cid, frame) combinations
   - when starting the channel, reapply them to the new sender/listener combination
   - added tracing
- switched Protocol RwLock to Mutex, as it's only ever 1
- Additionally changed the layout and introduces the c2w_frame_s and w2s_cid_frame_s name schema
- Fixed a bug in scheduler which WOULD cause a DEADLOCK if handshake would fail
- fixd a but in api_send_send_main, i need to store the stream_p otherwise it's immeadiatly closed and a stream_a.send() isn't guaranteed
- add extra test to verify that a send message is received even if the Stream is already closed
- changed OutGoing to Outgoing
- fixed a bug that `metrics.tick()` was never called
- removed 2 unused nightly features and added `deny_code`
2020-06-09 01:24:21 +02:00
Marcel Märtens
8f65168506 fix workspaces and Cargo dependencies 2020-06-09 01:23:21 +02:00
Marcel Märtens
88f6b36a4e Differ Metrics to make it easier to implement your own metric coding!
Implement my own metric coding in networking
2020-06-09 01:22:48 +02:00
Shane Handley
24cdea0a4c Enable WAL and busy_timeout for each sqlite connection to mitigate db locks, 2020-06-07 22:33:48 +10:00
S Handley
e0633a238e Update CHANGELOG and a TODO, fix safer deserialisation for inventory
data.
2020-06-04 11:44:33 +00:00
Monty Marz
b34da9b07b More item drops 2020-06-03 17:59:09 +00:00
S Handley
b1d191301a Make the persistence system code more generic so that it handles all
data associated with a character, rather than individually as we were
planning to do with stats/inv/etc... This removes potential for DB locking when we deal with each individually, and we
should have plenty of room for additional writes within the transaction.
2020-06-01 21:34:52 +00:00
scott-c
2d3f81b4c1 Add character info to /players command 2020-06-01 22:04:44 +08:00
scott-c
fe20da3923 send level change event for set_level command 2020-06-01 22:04:44 +08:00
scott-c
7eb1b2c263 Add level up network event 2020-06-01 22:04:44 +08:00
scott-c
730399b5f4 Add character select network event 2020-06-01 22:04:44 +08:00
scott-c
136bf271b8 Fix social list having incorrect player count 2020-06-01 22:04:44 +08:00
scott-c
c23183b1ca Add character name and level to social window 2020-06-01 22:04:44 +08:00
scott-c
636fcafd2e Restore player alias being displayed in chat 2020-06-01 22:04:44 +08:00
scott-c
fefd643657 Fix unused variable compiler warning 2020-06-01 21:56:46 +08:00
scott-c
288c7cdbfa fix #562 Confusing chat alias 2020-06-01 21:36:39 +08:00
Shane Handley
84d0332c6d Ensure that the player uuid and character id both match in a character deletion query. 2020-06-01 02:29:05 +10:00
Prashan Dharmasena
6865894f96 Closes #573. Do not announce alias change for non-body players. 2020-05-29 18:36:52 -07:00
Monty Marz
f7d6f76a04 Added 36 Swords
I added 36 sword models to the code.
2020-05-29 18:23:00 +00:00
Monty Marz
6d1ec73b47 Merge branch '561-info-popup-for-saved-waypoints-only-appear-for-the-second-time-you-visit-one' into 'master'
Resolve "Info popup for saved waypoints only appear for the second time you visit one"

Closes #561

See merge request veloren/veloren!1014
2020-05-29 11:39:12 +00:00
CapsizeGlimmer
78a06550d0 Only NPCs speak when hit. Farm animal alignment changed from NPC to Tame 2020-05-27 13:49:18 +02:00
CapsizeGlimmer
3cea76b82f NPCs now call for help when you hit them. Redraw speech bubble dark mode. 2020-05-27 13:49:18 +02:00
CapsizeGlimmer
c65967ccdb Chatting now creates speech bubbles 2020-05-27 13:49:14 +02:00
Justin Shipsey
ea07d744a7 orientation animation 2020-05-27 06:41:55 +00:00
Prashan Dharmasena
cba403df36 Closes #450: Send update chat message to all clients on successful alias change. 2020-05-26 22:00:47 -07:00
CapsizeGlimmer
2a83e91242 Waypoint notifications have a 10 second cooldown 2020-05-25 02:56:31 -04:00
Joshua Yanovski
2f89b863e0 Merge branch 'treeco/new-map' into 'master'
Changed default map and seed, lowered site counts

See merge request veloren/veloren!992
2020-05-21 20:46:54 +00:00
Monty Marz
ecb7963730 Pfau/0.6 bg 2020-05-16 12:48:29 +00:00
Marcel Märtens
ec03c4518a Change the version number to 0.6 2020-05-16 00:50:40 +02:00
Imbris
307cbaddb3 Merge branch 'imbris/stats-updater' into 'master'
Update stats in a separate thread

See merge request veloren/veloren!997
2020-05-15 21:52:40 +00:00
Imbris
6b70354fbb Wrap updates in transaction 2020-05-15 16:40:06 -04:00
Imbris
49e2fb80e7 Update stats in a separate thread 2020-05-15 16:03:51 -04:00
Joshua Barretto
ba80f7c872 Fixed square staircases in dungeons 2020-05-15 18:34:05 +01:00
Joshua Barretto
51a4d5c402 Fixed incorrect giant names 2020-05-15 18:33:34 +01:00
Joshua Barretto
aac28d04d5 Added dungeon bosses, boss loot, boss arenas 2020-05-15 16:05:50 +01:00
Treeco
61bcfbeeb2 Changed default map and seed, lowered site counts 2020-05-15 11:36:19 +01:00
Shane Handley
a41576e767 Correctly set the exp target for the next level when spawning a character.
Removed the unwrap_or from the update method for stats persistence, and
have a dedicated method for updating single rows with a new connection.
2020-05-15 13:27:26 +10:00
Mckol
fe859fc2e1 VELOREN_SAVES_DIR envar now overrides the server persistence db path 2020-05-15 01:54:14 +02:00
Mckol
48c5d37a5d Make singleplayer use voxygen's config path for persistence path. 2020-05-15 01:54:13 +02:00
Mckol
aa69046055 Changed the default path of persistence database
Now the default is `./saves/`, it's also configurable.
2020-05-14 22:42:44 +02:00
CapsizeGlimmer
0a723614f9 Popup message when setting waypoint 2020-05-14 16:56:10 +00:00
Forest Anderson
acab072a63 Merge branch 'shandley/persistence-stats' into 'master'
Stats Persistence

See merge request veloren/veloren!970
2020-05-13 13:43:22 +00:00
Shane Handley
fa8c6418f6 Write stats to the DB when a player disconnects from the server. 2020-05-13 22:08:26 +10:00
Forest Anderson
7703bc1214 Merge branch 'imbris/entity_count' into 'master'
Fill in entity_count in metrics

See merge request veloren/veloren!983
2020-05-13 08:13:05 +00:00
Imbris
8f857e6e11 Fill in entity_count in metrics 2020-05-12 19:44:27 -04:00
Shane Handley
e852e0cfab - Update the stats of characters individually, reverting the change with
big combined updates.
- Add a timer to the stats persistence system and change the frequency
that it runs to 10s
- Seperate the loading of character data for the character list during
selection, and the full data we will grab during state creation. Ideally
additional persisted bits can get returned at the same point and added
to the ecs within the same block.
2020-05-13 09:14:09 +10:00
Shane Handley
0a6f9b860d Gather all characters stats in the system, build one big query, rather than per-character queries. 2020-05-13 09:14:08 +10:00
Shane Handley
7c6c9f4302 Stats persistence
- Update client code to use persisted stats
- Add a system for stats persistence
- Add a basic scheduler to control duration between execution of
persistence systems
2020-05-13 09:14:08 +10:00
Shane Handley
e5853dbdd4 Initial models, migration and client code for stats persistence. 2020-05-13 09:14:08 +10:00
Acrimon
0993e9e146
Fix #556 2020-05-13 01:08:33 +02:00
CapsizeGlimmer
49d1225823 Tab completion code review suggestions 2020-05-11 18:02:21 -04:00
CapsizeGlimmer
3f76d1d702 Rework tp command - "/sudo player /tp" is short for "/sudo player /tp sudoer" 2020-05-10 19:17:34 -04:00
CapsizeGlimmer
9d118b55a0 Fixed player list tab completion 2020-05-10 19:17:17 -04:00
CapsizeGlimmer
b486de28ac Implement tab completion of enums (/object /time /spawn) and numbers 2020-05-10 19:16:34 -04:00
CapsizeGlimmer
24fa23fef4 Initial client implementation of tab completion 2020-05-10 19:16:01 -04:00
CapsizeGlimmer
7ecea34f85 Server server::cmd depends on common::cmd 2020-05-09 21:50:51 -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
63826d1a50 Add optional argument to /get_items 2020-05-07 18:39:48 +00:00
Monty Marz
522e3493c5 Merge branch 'pfau/fix-animals' into 'master'
Fix animals not attacking

See merge request veloren/veloren!960
2020-05-04 16:59:33 +00:00
Monty Marz
b589c3fc71 Fix animals not attacking 2020-05-04 16:59:32 +00:00
Songtronix
1d88ec6295 server(cmd): add server version cmd 2020-05-04 17:59:53 +02:00
Monty Marz
89980284aa Merge branch 'CapsizeGlimmer/functional_lanterns' into 'master'
Equipped lanterns now provide an illumination effect.

See merge request veloren/veloren!935
2020-05-04 15:15:31 +00:00
CapsizeGlimmer
4e7f8c686a Equipped lanterns now provide an illumination effect. 2020-05-04 15:15:31 +00:00
protheory8
31c0457913 Fix #542 - Impose limits on admin commands 2020-05-04 14:50:58 +05:00
Monty Marz
c792cc05a9 Villagers and Cultists 2020-04-30 20:43:24 +00:00
Joshua Barretto
8e0f40c71e Added on_ceiling check for sticky entities 2020-04-26 17:56:09 +01:00
Joshua Barretto
eb23b0b2bd Added Colliders, made projectiles point particles 2020-04-26 17:56:09 +01:00
CapsizeGlimmer
2afa5d06b1 Fixed mutability in /sudo 2020-04-25 13:18:29 -04:00
CapsizeGlimmer
29fd45eb52 /sudo player /kill now lists the sudoer as killing the target 2020-04-24 12:17:56 -04:00
CapsizeGlimmer
bbbe03a033 Implement /sudo command 2020-04-23 22:36:19 -04:00
Joshua Barretto
2a6a19f7ef fmt 2020-04-23 18:19:42 +01:00
Joshua Barretto
44ace13d85 Stopped player spawning underground 2020-04-23 18:19:42 +01:00
Joshua Barretto
982886b3f8 Made players spawn in the nearest town to the centre of the world, delete object.zip 2020-04-23 18:19:41 +01:00
Joshua Barretto
444f2ecb45 Made /waypoint admin-only, MR cleanup 2020-04-23 18:19:41 +01:00
Joshua Barretto
0329b355ef Made civsim paths visible in-game 2020-04-23 18:19:41 +01:00
Pfauenauge90
98704a4753 turnip and window blocks 2020-04-23 18:19:41 +01:00
Joshua Barretto
6448c17110 Fixed sprite AO, overhauled entity spawning, better enemy spawning in dungeons, made agents more skilled at combat 2020-04-23 18:19:41 +01:00
Joshua Barretto
e3ebdc56b3 Fixed figure AO (still need to do sprite AO), added more control over NPC spawning, loot in dungeons 2020-04-23 18:19:41 +01:00
Songtronix
996eee0b42 change(server): rename settings file to server_settings.ron 2020-04-15 13:31:16 +02:00
Imbris
053458c2e3 Changelog and small fix 2020-04-12 18:41:09 +02:00
Imbris
c1c09dce1b Enable unequipping as well as equipping to specific slots 2020-04-12 18:41:06 +02:00
Pfauenauge90
2263b9be95 starter chest, removed unused key commands 2020-04-12 18:41:02 +02:00
Pfauenauge90
85f9f80024 starter equip 2020-04-12 18:41:00 +02:00
Pfauenauge90
ca667fd02b tooltips 2020-04-12 18:40:58 +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
Olexorus
7c0a3bafe6 Change how fall damage works 2020-04-10 12:03:15 +02:00
Imbris
a73d010f7b Point to newly released vek, add todo to reconsider empty item, remove uneeded ori slerp, remove agent from character behavior, add todos to combat sys, check if entities still exist before possessing & if possessed entity has a loadout move the active item into the second item space 2020-04-01 11:15:14 -04:00
AdamWhitehurst
e04fdd715e expose and use blocking consts 2020-04-01 07:07:10 -07:00
Imbris
b3791a2b4e Upgrade vek version so that it actually uses the patch 2020-03-30 19:44:51 -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
Imbris
ba3fa16c33 Create Dir type for better enforcement of non NaN, normalized representations of directions 2020-03-27 22:02:07 -04:00
timokoesters
c6e635c511 Increase movement speed, make npcs slower than players 2020-03-27 18:39:26 +01:00
timokoesters
fe2aa7da7b Merge remote-tracking branch 'origin/master' into combat 2020-03-26 23:43:33 +01:00
timokoesters
8010e5afb4 Better equip durations, fix roll bug, slow down while attacking, smoother gliding, stronger npcs, giants 2020-03-26 22:56:33 +01:00
timokoesters
b9c85b9beb Balancing 2020-03-26 22:56:33 +01:00
Songtronix
604a6cf169 feat: log server version 2020-03-26 12:41:30 +01:00
Imbris
3889ec7292 climbing tweaks, fix triple strike overflow, fix Last<CharacterState>
not registered
2020-03-25 02:05:28 -04:00
Imbris
6ba158b7e1 Input handling changes 2020-03-25 01:38:37 -04:00
timokoesters
2117bb05d0 Healing staff 2020-03-24 22:03:11 +01:00
timokoesters
99e7e1f785 Split staff into 3 abilities 2020-03-24 14:00:22 +01:00
timokoesters
fbb24e7c8a Even better fireballs 2020-03-23 22:52:35 +01:00
timokoesters
9d47fd8c3e Better explosions 2020-03-23 18:13:14 +01:00
timokoesters
5194cef03a Easier swimming, better damage calculation for explosions 2020-03-23 12:50:08 +01:00
timokoesters
f3ca06aa71 feat: fireball explosions 2020-03-22 20:40:16 +01:00
timokoesters
0456d3cbed Better staff M1, random +1 damage, better attackrange,angle impl 2020-03-22 16:26:32 +01:00
Imbris
41c424ac13 Optimized uses of emitters, cleanup 2020-03-22 00:49:46 -04:00
timokoesters
df858cb370 Remove all warnings 2020-03-20 15:45:36 +01:00
timokoesters
c630df7f9a Ranged weapons now give xp on kill and also make enemies angry 2020-03-20 14:26:18 +01:00
timokoesters
835f3f5fe3 Arrows shouldn't turn into loot, staff shoots fireballs again 2020-03-20 11:25:53 +01:00
timokoesters
26674390ab Hide player body after death 2020-03-19 20:36:19 +01:00
timokoesters
49b0af10a9 Regular naming scheme for armor assets 2020-03-19 17:47:37 +01:00
timokoesters
449ae22730 Add inventory stacking 2020-03-19 14:32:17 +01:00
Pfauenauge90
d863e12235 swift leather armour parts 2020-03-19 14:17:53 +01:00
timokoesters
2b22b84a33 Give bandits and travelers different armor 2020-03-19 11:21:37 +01:00
Pfauenauge90
509615c15b npc armour 2020-03-18 23:09:58 +01:00
Imbris
1a484410ca Delete Vel and Ori on the client when they are removed on the server 2020-03-18 17:01:51 -04:00
timokoesters
87c276b292 Add hard coded loot 2020-03-18 20:37:42 +01:00
timokoesters
f32eb1db75 fix dash attack angles, arrow damage and readd possession stick impl 2020-03-17 14:15:39 +01:00
timokoesters
b040e18246 Fix body parts not changing 2020-03-16 22:06:23 +01:00
timokoesters
81591fcaf7 Make npcs attack again 2020-03-16 14:27:52 +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
447617dc69 Make durations and damage depend on weapon type 2020-03-15 14:34:17 +01:00
timokoesters
598a4c6cbb Add loadout struct for info on weapon configurations 2020-03-14 22:33:20 +01:00
timokoesters
fe19698d52 Make abilities depend on weapon 2020-03-14 16:40:29 +01:00
S Handley
bc692c0101 Add audio and chat message feedback when the player attempts to collect something while thier inventory is full. 2020-03-11 10:30:59 +00:00
Imbris
a4eaeb1da6 Merge branch 'imbris/se-latency' into 'master'
Rearrange some operations in the server tick to reduce clientside latency of ServerEvent mediated effects

See merge request veloren/veloren!840
2020-03-10 23:21:57 +00:00
Acrimon
406767ae31 Merge branch 'capucho/voxygen-logout-timeout' into 'master'
FIX #513 logout timeout

See merge request veloren/veloren!837
2020-03-10 22:12:29 +00:00
Capucho
b14582d196 removed merge artifact 2020-03-10 21:09:38 +00:00
Capucho
339965f6ad Merge branch 'capucho/voxygen-logout-timeout' of gitlab.com:veloren/veloren into capucho/voxygen-logout-timeout
Fixed conflicts
2020-03-10 21:06:08 +00:00
Capucho
a9580a81bc Rebased on master and moved logout message to events 2020-03-10 21:04:13 +00:00
S Handley
b2312a0487 Check that a targeted collectible is within a certain pickup range of the character before highlighting it 2020-03-10 20:50:04 +00:00
Capucho
5fe9521233 Fix the spam on disconnect 2020-03-10 20:34:50 +00:00
Capucho
9d805a745e Proper fix to the logout timeout problem using Disconnect ACK 2020-03-10 20:34:50 +00:00
Capucho
d8ba63ffdc Janky fix of the logout timeout problem 2020-03-10 20:34:50 +00:00
Imbris
14f0b018fd Add metric for new connection handling time, move StateExt to its own module 2020-03-09 22:39:12 -04:00
Imbris
7132ef4136 Rearrange some operations in the server tick to reduce clientside latency of ServerEvent mediated effects 2020-03-09 22:31:24 -04:00
Songtronix
80dafebac5 fix: #517 2020-03-09 20:52:04 +01:00
Acrimon
bc39b78173 Rebased. 2020-03-08 23:02:15 +01:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Acrimon
b29e543089 Remove account on logout. 2020-03-08 22:57:19 +01:00
Acrimon
3995f099b0 Fix singleplayer crash. 2020-03-08 22:57:13 +01:00
Imbris
6cc07270ac improve(login): more precise error handling during login 2020-03-08 22:56:59 +01:00
Acrimon
d3412d5493 Fixed gameserver crash on authprovider error. 2020-03-08 22:56:44 +01:00
Acrimon
08b4cc5fc3 Update auth to use new hashing scheme. 2020-03-08 22:56:34 +01:00
Acrimon
7db0ff0b8c Update chat-cli to work properly.
Update reqwest to 0.10.0
2020-03-08 22:54:15 +01:00
Imbris
8ef1251dc2 Add warning prompt for untrusted auth servers, move some auth code into 2020-03-08 22:51:37 +01:00
Acrimon
403deecc6d Server auth handling improvements. 2020-03-08 22:49:47 +01:00
Acrimon
584dcddba9 Updated to latest and greatest auth version. 2020-03-08 22:46:40 +01:00
Songtronix
50b845d1c3 :/ and reactivated the password field 2020-03-08 22:34:06 +01:00
Capucho
fb4aba9bb7 Fix the spam on disconnect 2020-03-08 08:54:29 +00:00
Capucho
ca6d5ab506 Proper fix to the logout timeout problem using Disconnect ACK 2020-03-08 08:13:19 +00:00
Capucho
99e64d06b9 Janky fix of the logout timeout problem 2020-03-07 22:14:21 +00:00
Adam Whitehurst
096d3b691e Merge master 2020-03-07 12:49:15 -08:00
Capucho
a3479f6a49 Fixed the bugs in the settings tab and the character button in the escape menu and unpause when there is more than 1 player 2020-03-05 18:55:14 +00:00
S Handley
b0ca85069b Piggyback on the InventoryUpdate events and attach some additional event info so that we can detect why the inventory update was triggered, and emit an associated sfx event that matches it. 2020-03-04 10:09:48 +00:00
timokoesters
d0439fdd84 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-24 21:34:17 +01:00
timokoesters
ac611f4618 fix: sync characterstates, better energy management 2020-02-24 20:57:33 +01:00
Shane Handley
f73b5b2fcb Update max hp and refill health when a player uses the set_level command. 2020-02-23 09:08:30 +09:00
Marvin Altemeier
035d74f502 Move ServerEvents into own module 2020-02-18 20:51:10 +01:00
Marvin Altemeier
a89003cbfa resolve #481 - add /set_level command 2020-02-14 22:11:41 +01:00
Marvin Altemeier
bfdfd87d89 change order of /give_exp arguments 2020-02-14 22:11:20 +01:00
Marvin Altemeier
787e5a6e49 fix #460 - /give_exp targeting wrong player 2020-02-14 22:11:20 +01:00
Joshua Yanovski
8a9d4012fa Allow spawning individual species with /spawn.
To get the old behavior, you now need to refer to the internal keywords
(like "bird_medium" or "quadruped_small") rather than the old friendly
names (like "duck" or "pig"), as the latter generate single species now.
2020-02-14 03:12:37 +01:00
Imbris
177f331259 Fix possession 2020-02-06 17:06:49 -05: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
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Marcel Märtens
dd21235ff8 Apply prefixes to veloren source, espacially comments, so that reformating wont make it unreadable,
especially enumerations and other source code in errosions file
2020-02-01 21:37:36 +01:00
Marcel
7940ced71e Merge branch 'songtronix/add-new-admin' into 'master'
add new admin to default admin list

See merge request veloren/veloren!779
2020-01-31 21:49:01 +00:00
Marcel Märtens
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +01:00
Songtronix
145be79585 add new admin to default admin list 2020-01-30 19:01:24 +01:00
Joshua Barretto
a76740182d Prevent tamed entities constantly trying to 'return home' 2020-01-29 16:37:46 +00:00
Joshua Barretto
faa86226c7 Collars 2020-01-29 12:01:28 +00:00
Joshua Yanovski
3fa21b3dc7 Per-speces NPC names!
Is also able to refactor some of the uglier code and introduces a
framework that (suitably extended) could be useful in removing
boilerplate elsewhere.
2020-01-29 04:41:32 +01:00
Joshua Barretto
de96551f65 Resolved pet alignment issues, added ranged aggro 2020-01-27 15:51:07 +00:00
Joshua Barretto
09f0a5744f Improved NPC spawning and names, made idle NPCs stop before hitting things 2020-01-27 10:58:33 +00:00
Joshua Barretto
631124f3fc Switched to _squared(), added comments, parallelised waypoint gen 2020-01-26 12:52:32 +00:00
Joshua Barretto
7404800999 Added neutral NPC spawning 2020-01-26 12:52:32 +00:00
Joshua Barretto
8c7e96e313 Improved waypoint spawn locations, scaled down pathfinding cost 2020-01-26 12:52:32 +00:00
Joshua Barretto
b22ee24362 Cleanup 2020-01-26 12:52:32 +00:00
Joshua Barretto
feeccc2ff3 Improved patrol idling 2020-01-26 12:52:32 +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
9d7efad526 Made worldgen a default feature 2020-01-26 12:52:28 +00:00
Joshua Barretto
290cb52d0d I don't know how much I put in this commit, but it's some stuff 2020-01-26 12:52:28 +00:00
Joshua Barretto
353a0f67be Better pathfinding iteration cap 2020-01-26 12:52:28 +00:00
Joshua Barretto
f92371101c Added pauseable pathfinding, improved Chaser heuristics, etc. 2020-01-26 12:52:07 +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
Joshua Yanovski
02f9c9490b Addressing MR comments. 2020-01-24 03:45:29 +01:00
Joshua Yanovski
55a96bce09 Minor fix to map generation.
Also fixes some typos and makes formatting easier for changes needed to
produce large maps.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
49e7e55cd6 Fix warnings in examples and benchmarks. 2020-01-23 18:18:16 +01:00
Joshua Yanovski
d54f22c9fa Add a default world map.
Also adds map versioning, proper scaling, and updates sediment
rendering.  It also tones down warp.
2020-01-23 18:18:15 +01:00
Joshua Yanovski
1358f1dffa Changes to worldgen, adding more sedmient etc. 2020-01-23 18:18:14 +01:00
Joshua Yanovski
ebe0d14eab Send client 3D rendered map.
Also shares configurable rendering between map generator and server.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
9520ef4f6d Implement sending world map across the network. 2020-01-23 18:18:11 +01:00
Joshua Yanovski
ee5d383c46 Map saving, soil production, speedup attempts. 2020-01-23 18:18:10 +01:00
Joshua Yanovski
e71f145b71 Sediment transport, plus many other things. 2020-01-23 18:18:09 +01:00
Joshua Yanovski
69a8d5039b Adding hillslope diffusion. 2020-01-23 18:18:07 +01:00
Gilbert Röhrbein
4f90e6325e feat: add endurance fitness willpower to stats 2020-01-21 18:49:17 +01:00
timokoesters
2e8bf9d212 improvement: enemy balance 2020-01-20 19:15:12 +01:00
Imbris
63d74eb8ba Don't panic if a region can't be found for a deleted entity 2020-01-19 18:22:11 -05:00
timokoesters
6e651eb659 fix: make fall damage behave correctly again after changing gravity 2020-01-19 22:39:20 +01:00
timokoesters
8afe5fd1dd improvement: reset character state and energy on death 2020-01-19 22:39:19 +01:00
timokoesters
8064b51ee2 improvement: better movement 2020-01-19 22:39:18 +01:00
Adam Whitehurst
d82e93b39f Merge master and build 2020-01-16 05:27:30 -08:00
Gilbert Röhrbein
28060e7b6e fixing #405 - Energy as its own component 2020-01-12 22:25:04 +01:00
Piotr Korgól
e1adf40856 Improvement: Replace all '..=b' with '..b + 1' 2020-01-12 15:46:53 +01:00
Monty Marz
851d7858e6 Scrolling Combat Text (SCT) 2020-01-10 00:33:38 +00:00
AdamWhitehurst
de36e75264 Fix imports, update matches 2020-01-08 11:31:42 -08:00
Imbris
f52aef224e Fix typos, don't insert Controller if it doesn't already exist in the
mount system so that Controller components are not added to entities
client side
2020-01-02 05:34:27 -05:00
Imbris
c9caf14877 Fix formatting, Update CHANGELOG, turn overflow checks on for dev
profile
2019-12-31 16:38:13 -05:00
Imbris
ede05c47b0 fix(char screen induced ghosts):
Adds removing extra components and deleting entities clientside when
going back to the character screen. Also, simplifies ClientState by
removing the Dead variant and removing ClientMsg::StateRequest in favor
of more specific ClientMsg variants.
2019-12-31 16:38:13 -05:00
Monty Marz
8aff5faa83 assets update
acacia trees
updated help.png
bigger map zone name
npc levels from 0-10
boss levels from 20-50
2019-12-30 12:16:35 +00: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
Dylan Kile
badd3113d5 hierarchical pathfinding 2019-12-29 20:58:21 +00:00
Imbris
934c5d6846 Various tweaks: moved radius determination to function on , comments, simplified server Destroy event code, debug assert modified components aren't removed in change tracking, etc 2019-12-20 22:51:35 -05:00
Imbris
b2752d2419 Cutout unnecessary Resource syncing machinery and Tracker trait 2019-12-20 22:51:35 -05:00
Imbris
5813f626d1 cleanup 2019-12-20 22:48:14 -05:00
Imbris
8f7323f41b Stop syncing health change timer updates 2019-12-20 22:48:14 -05:00
Imbris
d341073a44 Upgrade to specs 0.15.1 2019-12-20 22:48:14 -05:00
Imbris
c3ac251fa8 Stop syncing Projectile component to the client 2019-12-20 22:48:14 -05:00
Imbris
e49cafafbf Actually send deletion messages 2019-12-20 22:48:14 -05:00
Imbris
71cce03f29 Move sync code into common submodule 2019-12-20 22:37:12 -05:00
Imbris
609e0f23bf Stop global syncing of entity creation 2019-12-20 22:37:12 -05:00
Songtronix
0d919a9dc6 improve(log): adjust verbosity of some logging
fix: settings do not log due to logging being initialized to late
2019-12-20 15:45:30 +01:00
Forest Anderson
d8fc7cb667 Add advanced path finding to new 'Traveler' enemy using A* algorithm 2019-12-11 05:28:45 +00:00
Songtronix
e885a78deb change(deps): enforce crossbeam version 2019-11-22 19:12:58 +01:00
Forest Anderson
5a73554aa1 Merge branch 'qwertycrackers' into 'master'
Add a `debug_items` chat command that gives all debug items.

See merge request veloren/veloren!641
2019-11-11 17:36:31 +00:00
Monty Marz
c38447a264 assets update
map image
human male hairstyles
elf male hairstyle
potion item
cheese item
removed admin items from inventory
2019-11-09 13:42:42 +00:00
Joseph Gerardot
0a44e714b4
Cargo fmt 2019-11-06 20:57:05 -05:00
Joseph Gerardot
e73884a1d4
Respond to MR feedback.
Mainly clean up code with better use of iterators, and rename the debug
    command to be just `debug`.
2019-11-06 17:57:54 -05:00
Joseph Gerardot
7325757066 cargo fmt the previous changes. 2019-11-05 15:57:08 -05:00
Joseph Gerardot
eb1b42be0f Add debug_items command
This command gives the player all debug items he does not currently
have.
2019-11-05 15:57:08 -05:00
soruh
6dfa146484 Mitgated RUSTSEC-2019-0014 by updating noise and
disabling its default features, specifically `image`,
which had the vulnerability.
2019-11-05 11:14:39 +00:00
soruh
007920a238 iterate up to max_z + 1
(because max_z could still be a soild block)
2019-11-01 00:24:18 +00:00
Justin Shipsey
a6d268e8ee Merge branch 'slipped/skeletons' into 'master'
new skeletons

See merge request veloren/veloren!620
2019-10-27 14:06:54 +00:00
Imbris
6b0e346ec4 fix: bugs in new server ecs systems fixed 2019-10-25 22:00:47 -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
timokoesters
5bff899522
fix: character now spawns with a weapon again 2019-10-25 13:14:36 +02:00
Timo Koesters
0ae15bb251 Merge branch 'timo-items-as-ron' into 'master'
feat: store items as RON files

See merge request veloren/veloren!618
2019-10-25 08:57:39 +00:00
Imbris
58ca150f63 fix: /object chat command no longer spawns invisible objects 2019-10-25 02:08:23 -04:00
pestilence
52dbfde510
add giveitem command 2019-10-25 00:14:08 +02:00
timokoesters
f1b728b89b
improvement: load_cloned returns a result 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
Imbris
a200dafd45 Fix possess bug, remove commented code, drain controller events 2019-10-24 00:00:00 -04:00
Imbris
966b2bfbff Integrate new systems with metrics 2019-10-23 23:50:06 -04:00
Imbris
8f81b69a25 Move terrain management and syncing into server side ecs systems 2019-10-23 23:50:06 -04:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -04:00
Imbris
c02cd0a730 Cleanup unused code 2019-10-23 22:43:02 -04:00
Imbris
53ddbec527 Actually fix region removal panic, update fuzzy chunk location, sync entity removal when unloading chunks, region size constant tweak 2019-10-23 22:43:02 -04:00
Imbris
ab7740f378 Fix not not sending updates outside a certain range and not sending character state when it changes due to update throttling 2019-10-23 22:43:02 -04:00
Imbris
b09bddda79 Make clients subscribed to nearby regions and only send physics updates from those regions. 2019-10-23 22:43:02 -04:00
Monty Marz
3e0ac48bd8 Multiple Assets and UI fixes and additions 2019-10-23 19:40:45 +00:00
Acrimon
57bfb302dd Formatted code. 2019-10-23 20:23:31 +02:00
Acrimon
2215f9abd7 code-style: iter instead of into_iter. 2019-10-23 16:45:47 +02:00
Acrimon
6f532a7a37 Drastically improved error messages in client and server. 2019-10-23 18:38:09 +02:00
soruh
db69bf23b8 Don't display commands that the player cannot use. 2019-10-21 18:36:35 +02:00
Songtronix
5b716515bb change(githash): provide date and hash 2019-10-18 15:32:55 +02: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 Yanovski
8ae2692b6e Allow canceling chunk generation.
Currently we only do this when no players are in range of the chunk.  We
also send the first client who posted the chunk a message indicating
that it's canceled, the hope being that this will be a performance win
in single player mode since you don't have to wait three seconds to
realize that the server won't generate the chunk for you.

We now check an atomic flag for every column sample in a chunk.  We
could probably do this less frequently, but since it's a relaxed load it
has essentially no performance impact on Intel architectures.
2019-10-16 11:39:41 +00:00
KyoZM
5be28178bd proper message on permission check failure for commands 2019-10-12 18:24:44 -03:00
Imbris
028d010624 Make bows give experience via giving projectiles an owner field 2019-10-11 19:33:01 -04:00
Imbris
2f9d8ee2e6 Add new debug item 2019-10-11 19:32:46 -04:00
Marcel Märtens
09bb908072 Make all CoreDevelopers and Admins server admins for now till we have a working auth system 2019-10-11 15:13:02 +02:00
Marcel Märtens
30c9fcc911 Fix bug that metrics took a random port always introduced in !584
also removed the duplicate port from the server creation process, using the server settings struct now
2019-10-11 14:19:55 +02:00
Wu Yu Wei
4b80f88085 Bind random port for ServerMetrics 2019-10-11 09:06:34 +00:00
Marcel Märtens
20c520a044 Change the version number to 0.4 2019-10-10 15:48:01 +02:00
Monty Marz
d82ec6715a Item icons, chests and more 2019-10-09 19:28:05 +00:00
timokoesters
be5d79b123
fix: all enemies start with lvl 1 hp 2019-10-09 17:09:25 +02:00
timokoesters
051a964798
fix: server side fall damage
This avoids flickering health
2019-10-08 18:55:30 +02:00
timokoesters
f76f74b411
fix: spawnpoint nearer to the floor
We can change this back when we have a proper spawn location system or
random seeds.
2019-10-08 18:55:29 +02:00
timokoesters
4e87f125a2
fix: fix level and health distribution 2019-10-08 18:12:08 +02:00
Songtronix
03f0024607 fix: reduce amount of network related ghosts 2019-10-07 15:15:29 +02:00
KyoZM
9ac089ae26 consume vector without calling the iterator 2019-10-07 01:49:56 -03:00
KyoZM
5abe88ecee cargo format 2019-10-07 01:38:28 -03:00
KyoZM
064f33666a removelights no longer deletes players with lanterns 2019-10-07 01:03:53 -03:00
KyoZM
ea82115656 create /removelights command 2019-10-07 00:19:46 -03:00
timokoesters
3078591060
feat(bow): arrow spawn height 2019-10-06 21:21:33 +02:00
timokoesters
a01edbe370
fix: error message for give_exp 2019-10-06 20:52:26 +02:00
timokoesters
0d1bf16e46
fix: selecting another character no longer shows a new login message 2019-10-06 18:26:51 +02:00
timokoesters
4501fef503
fix: don't show logout message when player never was ingame 2019-10-06 17:34:51 +02:00
Piotr Korgól
09429b45d1 Make /adminify admin-only and /waypoint free 2019-10-05 17:37:10 +02:00
Piotr Korgól
9e10c8b700 Make enemies spawn with different levels 2019-10-05 17:37:09 +02:00
Forest Anderson
2f1c62d2ed Merge branch 'appcrashwin7/veloren-exp-command' into 'master'
add give_exp command

See merge request veloren/veloren!536
2019-10-04 21:02:07 +00:00
timokoesters
460a494e77
fix(bow): Don't remove vel and use sticky component instead 2019-10-04 21:30:13 +02:00
timokoesters
d876215012
feat(combat): melee combat damage depends on power of the weapon
Normal NPCs have a weapon of power 5 so they do 5 damage if the attack
is not blocked. Bosses and players have power 10.
2019-10-04 21:02:44 +02:00
timokoesters
fc97c27b65
feat(bow): sticky arrows 2019-10-04 21:02:43 +02:00
timokoesters
df4c4bbd5d
fix(bow): initial orientation wrong for 1 frame 2019-10-04 21:02:42 +02:00
timokoesters
ab634f1d21
Reuse combat code 2019-10-04 21:02:41 +02:00
timokoesters
2ba143a514
Make arrows deal damage 2019-10-04 21:02:41 +02:00
timokoesters
e3c02f8ac1
Allow projectiles to react to triggers 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
appcrashwin7
1069173d83 add give_exp command 2019-10-04 17:48:14 +02:00
Acrimon
b4bca0a150 Format code. 2019-10-04 16:26:22 +02:00
Acrimon
6d6c020eab Updated to work on latest master. 2019-10-04 16:25:47 +02:00
Nicolas
6e4d556073 Add max chat message length
Fixes #115
Credit to @scorpion9979 for the previous implementation (https://gitlab.com/veloren/veloren/merge_requests/215)
2019-10-04 16:14:54 +02:00
Forest
35b9040a6f Removed now stable feature 2019-10-03 17:28:17 -04:00
Justin Shipsey
27f3bebe40 Char overhaul and asset update 2019-10-02 10:05:17 +00:00
Joshua Barretto
a6d5b82ef5 Prevented pickups with full inventory 2019-09-26 00:15:07 +01:00
Joshua Barretto
57a2313348 Don't consume unuseable items 2019-09-26 00:15:07 +01:00
Joshua Barretto
dff67e1c41 Added block collection, improved controls for it 2019-09-26 00:15:07 +01:00
Joshua Barretto
e22fe81a2f Added velorite 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
a961a267f1 Added apple and mushroom collection 2019-09-26 00:15:07 +01:00
Joshua Barretto
7e6eede740 Better sun halo colours 2019-09-26 00:15:07 +01:00
Imbris
dd8500071e Stop cpu spinning in metrics server 2019-09-20 00:41:44 -04:00
Joshua Yanovski
9ba64ca57f Addressing code review. 2019-09-16 15:11:47 +02:00
Joshua Yanovski
20f57cf7f3 Continue instead of breaking. 2019-09-16 04:18:40 +02:00
Joshua Yanovski
2abf7cd016 Fixing more rustfmt errors. 2019-09-16 04:05:36 +02:00
Joshua Yanovski
95b02912b6 Fixing rustfmt. 2019-09-16 04:01:05 +02:00
Joshua Yanovski
b4ad76372b Allow canceling chunk generation.
Currently we only do this when no players are in range of the chunk.  We
also send the first client who posted the chunk a message indicating
that it's canceled, the hope being that this will be a performance win
in single player mode since you don't have to wait three seconds to
realize that the server won't generate the chunk for you.

We now check an atomic flag for every column sample in a chunk.  We
could probably do this less frequently, but since it's a relaxed load it
has essentially no performance impact on Intel architectures.
2019-09-16 03:41:33 +02:00
Marcel Märtens
02fe9adfb7 Fix panic if starting singleplayer twice without closing the game
reduce costs for metrics by checking chunks only every 100th tick
add metrics for "server start time" and ingame "time of day"
2019-09-10 15:22:34 +02: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
Marcel Märtens
58b0b49dfe adjust metrics to rebased Chunks 2019-09-09 10:47:40 +02:00
Marcel Märtens
49b08b55c7 switch from hyper http to rouille for http server 2019-09-09 10:07:25 +02:00
Marcel Märtens
b05e51152f update version, revert from static prometheus back to normal because static doesnt supprot registries, and implement most of the metrics except for entity count 2019-09-09 09:54:30 +02:00
Marcel Märtens
8d3fb40419 first implementation of prometheus in veloren for git hash, tick times, chunks loaded, player online, entity count and light count 2019-09-09 09:48:44 +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
Christoffer Lantz
7dce9c4fb9 Added unwrap_or to obj_str_opt in handle_object in case we don't return early in the _ => match arm 2019-09-02 01:22:09 -04:00
Christoffer Lantz
c154a41c5c Changed Spawned object: to Spawned: in handle_object 2019-09-02 01:22:09 -04:00
Christoffer Lantz
8f68df2bd1 Tells the user which object was spawned 2019-09-02 01:22:08 -04:00
Monty Marz
f53904b534 More sprites, ui fixes, lianas 2019-09-01 19:04:03 +00:00
timokoesters
9a832dd56b Move std::mem::discriminant into new method 2019-08-30 22:51:46 -04:00
timokoesters
77a48c61a1 Fix rolling for the player 2019-08-30 22:50:53 -04:00
timokoesters
e674424974 Allow non player entites to be removed again 2019-08-30 22:47:39 -04:00
timokoesters
a95893e43b
Remove inventory::swap and improve inventory::insert 2019-08-31 00:09:25 +02:00
timokoesters
bd8e71c5aa
Rename activate_inventory_slot to use_inventory_slot 2019-08-30 22:46:45 +02:00
timokoesters
082ccd7c46
Avoid right-ward shift 2019-08-30 22:32:47 +02:00
timokoesters
952ec35857
Remove warnings 2019-08-29 19:54:53 +02:00
timokoesters
6e1c78e5d5
Add debug mode item giving speed boost in look_dir on click 2019-08-29 19:44:28 +02:00
timokoesters
155605841b
Use comp::Stats to store Equipment, make char weapon selection work 2019-08-29 19:44:28 +02:00
yashaslokesh
be71aea20b Changed exp type from f64 to u32 and altered exp calculations and function signatures to adhere to the new types
Signed-off-by: Yashas Lokesh <yashas.lokesh@gmail.com>
2019-08-27 22:33:14 +00:00
timokoesters
c4879307af
Update to github vek repo 2019-08-26 13:12:45 +02:00
timokoesters
05f2f168fd
Make falldamage local, don't use force update for local, cleanup 2019-08-26 13:12:43 +02:00
timokoesters
eb34e5bb27
fmt 2019-08-26 13:12:43 +02:00
timokoesters
3258fa3a3c
Add basis for projectiles
But we have no controller action to spawn them yet
2019-08-26 13:12:41 +02:00
Songtronix
814e858720
Split Events in ServerEvent and LocalEvent 2019-08-26 13:12:41 +02:00
timokoesters
e8ccbe75fa
Clean up entity spawning code 2019-08-26 13:12:39 +02:00
timokoesters
4d6a32e00f
Allow non player entites to be removed again 2019-08-26 13:12:35 +02:00
timokoesters
5d5ccd7b99
Move from state components to single CharaterState struct
This makes split animations easy and improves overall code quality
2019-08-26 13:12:34 +02:00
Joshua Yanovski
c02f2a7f9e Fixes to worldgen and adding a debug command.
Humidity and temperature are now indexed to uniform altitude *over land
chunks* (and water chunks adjacent to land) rather than over the whole
range of altitude.  This is necessary in order to satisfy the uniformity
conditions of the formula for weighted sum CDF.

Additionally, fixes the computation of whether a tree should be
generated or not.  Previously, it was using a source of randomness
scaled to use much less than the full 0-1 range; this has been resolved.
This makes for much nicer and more gradual transitions between densities
and reduces the amount of completely barren landscapes, while also
making forests larger.

Finally, this commit adds a server command, debug_column, which returns
some useful debug information about a column given an x and y
coordinate.  This is useful for debugging worldgen.
2019-08-26 11:52:25 +02:00
Acrimon
a41cf1a83d Disabled unsafe using lint level. 2019-08-19 14:39:23 +02:00
Monty Marz
29f6186139 hotbar changes
completely switched to. vox files

easier to see design

gradient and numbers on the health/mana bar
2019-08-18 18:07:21 +00:00
Piotr Korgól
586bf5faff Add adminify command to temporarily give admin perms 2019-08-17 23:35:01 +02:00
Acrimon
593deb828b [Server] Switched mpsc for crossbeam::channel. 2019-08-16 00:10:46 +02:00
Piotr Korgól
a777b67b2d Add needs_admin bool to check if the commands needs admin perms 2019-08-15 16:33:40 +02:00
Piotr Korgól
0221de484e Give singleplayer its own server settings 2019-08-14 17:51:59 +02:00
Piotr Korgól
8ec0a06bbe Fix spawn command, properly search for admins 2019-08-14 17:30:36 +02:00
Piotr Korgól
6882170d6f Add Admins field to the settings file 2019-08-14 17:30:36 +02:00
Piotr Korgól
98c0692260 Add AdminPerms component, make some commands require it 2019-08-14 17:30:36 +02:00
Acrimon
4f3b49ef8b Switched over the last std hashset. 2019-08-11 22:39:41 +02:00
Acrimon
b4a46f3e6e Finished switch to hashbrown. 2019-08-11 22:38:28 +02:00
Acrimon
4f2d99f809 Switch to hashbrown in server. 2019-08-11 21:48:02 +02:00
Acrimon
1c22f380b0 Adjusted default spawn height for now 2019-08-11 13:37:04 +02:00
Joshua Barretto
d5aee13c91 Merge branch 'zesterer/small-fixes' into 'master'
Added entity event system, fixed fall damage

See merge request veloren/veloren!418
2019-08-09 23:56:49 +00:00
Songtronix
612a3df528 fix time overflow crash 2019-08-09 09:13:28 +00:00
Joshua Barretto
2191921721 Merge branch 'telastrus/auth' into 'master'
Server-side authentication

See merge request veloren/veloren!419
2019-08-09 01:37:44 +00:00
telastrus
79b5c177cd swapped if for entry 2019-08-08 21:28:25 -04:00
telastrus
eadf3a7671 created basic AuthProvider which we can change to suit our needs 2019-08-08 18:24:14 -04:00
telastrus
35a3f67e19 ran cargo fmt 2019-08-08 12:05:38 -04:00
telastrus
58e8bd4af9 removed println statements 2019-08-08 12:03:12 -04:00
telastrus
f2ed2870c6 90% there 2019-08-08 11:23:58 -04:00
Piotr Korgól
9f2d66b025 Add a lantern strength limit to prevent shader overflows 2019-08-08 14:44:58 +02:00
telastrus
6d94d43021 still compiles 2019-08-07 23:56:02 -04:00
Joshua Barretto
e6f384fc11 Added default explosion radius 2019-08-07 18:18:32 +01:00
Joshua Barretto
5b62531da3 Added /explosion command 2019-08-07 18:17:04 +01:00
Joshua Barretto
192f5d355f Switched to EventBus system 2019-08-07 16:39:16 +01:00
Piotr Korgól
d3f2ca69a4 Change the version number to 0.3 2019-08-04 13:53:59 +02:00
Joshua Barretto
767ced8fe7 Limited entity spawning to 10 2019-08-04 11:30:05 +01:00
Joshua Barretto
ff114a83b5 Made bosses slightly more powerful 2019-08-04 10:32:50 +01:00
timokoesters
86e10c914c Adjust xp gains 2019-08-03 22:27:48 +02:00
timokoesters
74b7613cd9 Get rid of unwraps 2019-08-03 22:08:19 +02:00
timokoesters
7365dbe9e6 Give xp depending on max hp and lvl of entity killed 2019-08-03 21:30:01 +02:00
Piotr Korgól
8f86f5c483 Allow normal enemies to spawn as humanoids 2019-08-03 12:35:16 +02:00
Joshua Barretto
6ba5cf3224 More interesting enemy spawning 2019-08-02 21:31:22 +01:00
Joshua Barretto
23cfe50455 Better health accessors methods 2019-08-02 20:49:48 +01:00
Joshua Barretto
677c5781ba Added bosses, improved secret object spawn rates 2019-08-02 20:10:52 +01:00
Joshua Barretto
6ff75dcf0b Removed NPCs that are outside the VD 2019-08-02 20:10:52 +01:00
Joshua Barretto
b5d10bfb3e Added worldgen npcs 2019-08-02 20:10:52 +01:00
Dominik Broński
f644b6ab89 Revert "Merge branch 'imbris/upgrade_specs' into 'master'"
This reverts merge request !375
2019-08-01 23:32:33 +00:00
Imbris
5f56657f6c Upgrade specs to 0.15 2019-08-01 18:09:13 -04:00
Monty Marz
a5926eb40a 0.3. login bg 2019-08-01 17:53:34 +00:00
Piotr Korgól
ec550620ad Add a health bonus for level ups, fix pets 2019-08-01 18:56:08 +02:00
Joshua Barretto
2d0569c3d9 Better item throwing 2019-08-01 09:12:00 +01:00
Joshua Barretto
39fc1d6b71 Added entity pickup, changed item model 2019-08-01 09:12:00 +01:00
Joshua Barretto
331b6c8b3a Altered Item structure 2019-08-01 09:12:00 +01:00
Joshua Barretto
995090d2d4 Added item drops 2019-08-01 09:12:00 +01:00
Joshua Barretto
b3cae2f3dd Added better item manipulation 2019-08-01 09:09:26 +01:00
Joshua Barretto
31f8794c39 Started work on inventory manipulation 2019-08-01 09:09:26 +01:00
Joshua Barretto
123a78552a Fixed block-hopping on edges, added correct inventory slots 2019-08-01 09:09:26 +01:00
Joshua Barretto
5bb7998d5a Added inventory sync messages and InventoryUpdate component 2019-08-01 09:09:26 +01:00
timokoesters
040aa897c1 Fix needing all components to update physics at all 2019-07-31 20:10:52 +02:00
timokoesters
b695a63e98 Send different physics components individually 2019-07-30 13:35:16 +02:00
timokoesters
16b445c828 Fix bugs with Last<T> 2019-07-30 10:49:41 +02:00
timokoesters
03a82030ec Fix commands 2019-07-30 10:10:58 +02:00
timokoesters
c6034bf450 Use Last<C> to check if a physics component changed 2019-07-30 08:32:03 +02:00
Monty Marz
5cfc60da50 Small chat fixes 2019-07-29 14:40:46 +00:00
Acrimon
ee49ebe807 Update rand, log and scan_fmt 2019-07-29 13:42:26 +00:00
Piotr Korgól
88db83c92a Instantly level up after reaching the required exp amount 2019-07-29 14:30:38 +02:00
Joshua Barretto
4a198ca626 Numerous minor lighting fixes 2019-07-29 13:01:39 +01:00
Timo Koesters
dcb34385fd Merge branch 'update-dependencies' into 'master'
Update most dependencies

See merge request veloren/veloren!372
2019-07-28 20:52:42 +00:00
timokoesters
5aa864ee58
Update most dependencies 2019-07-28 22:47:23 +02:00
neronim66@gmail.com
2c5dc0c3ff after review 2019-07-28 16:24:47 +02:00
kacper
999b6709a3 formatting 2019-07-28 16:00:14 +02:00
kacper
fd0df4177f lantern strength and clamp values 2019-07-28 13:36:35 +02:00
Christoffer Lans
633b8a1701 Command: '/time' without any arguments; gives the client the current time 2019-07-28 11:12:17 +00:00
Monty Marz
31d9e73a52 change server startup time to 32400.0 / 9:00 AM 2019-07-28 10:46:03 +00:00
Monty Marz
33565b9480 added comment about object rotation, changed lantern spawning command, changed /tell output when you /tell yourself 2019-07-28 09:21:17 +00:00
Piotr Korgól
5c84508015 Get EXP for killing NPCs and Players, properly show EXP bar 2019-07-26 20:51:40 +02:00
Christoffer Lantz
14bee47e58 Applied cargo fmt 2019-07-26 16:38:31 +02:00
Christoffer Lantz
71347b5d11 match arms in handle_time now returns a NaiveTime object instead of f64 2019-07-26 16:16:35 +02:00
Christoffer Lantz
9d245e5edd Now tells the client what the time was changed to 2019-07-26 16:03:05 +02:00
Christoffer Lantz
dbe9c5d696 Adds the ability to change time with /time with HH:MM format. e.g. 12:43 2019-07-26 15:43:39 +02:00
tommy
75792d374b Fix chat calls 2019-07-26 07:42:10 -04:00
tommy
95b5f4acfb Added private, broadcast, and game_state messages 2019-07-26 07:29:37 -04:00
tommy
ea0bbe7e47 Rebase fixes 2019-07-26 07:29:37 -04:00
tommy
8bac6e1e72 Correct tells 2019-07-26 07:29:37 -04:00
tommy
cc6aa6f33d Adds colour to tells in chat box #194 2019-07-26 07:29:37 -04:00
Nero
53086cb3b2 Nero/light offsets 2019-07-25 20:51:20 +00:00
Pfauenauge90
7a141ad111 More objects 2019-07-24 02:50:19 +02:00
Pfauenauge90
9fd2849c6c chat warning for unknown objects 2019-07-24 02:50:19 +02:00
Pfauenauge90
85281e7e54 spawn objects by name 2019-07-24 02:50:19 +02:00
Pfauenauge90
f6e24d8161 Comand for specific model spawning part I 2019-07-24 02:50:19 +02:00
Joshua Barretto
5cdfb26e0d Added LightEmitter component 2019-07-21 19:22:49 +01:00
Joshua Barretto
16c8ecec66 Fixed light cap 2019-07-21 19:22:49 +01:00
Joshua Barretto
1dc654dde7 Added object entities 2019-07-21 19:22:49 +01:00
Jessie Mancer
4893ab5c2a fix spawn command placement to be random to improve AI responsivity and not spawn directly on player 2019-07-21 18:22:13 +00:00
Songtronix
de2dbcef45 add global git hash constant 2019-07-21 17:45:31 +00:00
Joshua Barretto
58a41d4bec Merge branch 'tell_fix' into 'master'
Fix tell command, rename to /tell

See merge request veloren/veloren!343
2019-07-20 16:10:16 +00:00
Joshua Barretto
ce327445a7 Send block diffs instead of entire chunks on block change 2019-07-20 16:41:03 +01:00
Marcel Märtens
98b0a40a22 Change default port of veloren from 59003 to 14004
TCP and UDP Ports for applications should lie in a range between 1024-49151
the ports below are used for privileged services
the ports above should be dynamicly assigned.
Port 14004 seems to be used by no other service and i like it personally, so we choose it.

Also deactivate the workaround for the secondary veloren server again
2019-07-20 13:59:35 +02:00
Tom Watson
025e0712be Update cmd.rs 2019-07-19 18:26:10 +00:00
tommy
a442371a1f Fix tell command, rename to /tell 2019-07-18 11:19:44 -04:00
tommy
e60881079f Add "You tell {}" message to sending player 2019-07-17 15:01:04 -04:00
tommy
8bb4993a79 rustfmt issue 2019-07-17 14:04:07 -04:00
tommy
3c6fb7a3ec Merge branch 'master' into 191_player_to_player_dm 2019-07-17 13:53:10 -04:00
Forest Anderson
b8993f568f Merge branch '183_add_killnpcs_command' into 'master'
/killnpcs command, closes #183

Closes #183

See merge request veloren/veloren!329
2019-07-17 17:34:36 +00:00
Songtronix
5b31c7c1f9 little cleanup 2019-07-17 19:03:37 +02:00
Songtronix
bfa6a2e2a2 add configurable TimeOfDay 2019-07-17 18:32:02 +02:00
Songtronix
bf82f5925d maybe improved setting file handling 2019-07-17 18:32:01 +02:00
Songtronix
b41508f025 generalise errors based on zests suggestion 2019-07-17 18:32:01 +02:00
Songtronix
b6c8bdc223 add configurable max player count 2019-07-17 18:32:01 +02:00
Songtronix
bbb024224d add configureable server info 2019-07-17 18:32:01 +02:00
Songtronix
1213d9844b add customizable port and worldseed 2019-07-17 18:32:00 +02:00
tommy
732eb9a0e8 Code review updates 2019-07-15 13:10:24 -04:00
tommy
bfa42dd33b Incorporated changes from Imbris 2019-07-14 16:35:22 -04:00
tommy
6d8eea5085 rustfmt issues 2019-07-14 13:39:27 -04:00
tommy
52b65d5938 Stopped 'spammy' output 2019-07-14 13:30:02 -04:00
tommy
5dee589107 Player to player DM #191 2019-07-13 00:25:44 -04:00
tommy
3c9046c5d0 rustfmt updates 2019-07-12 17:43:20 -04:00
tommy
42861541cf Updates based on code review #183 2019-07-12 17:16:07 -04:00
Acrimon
b4f2cd1547 Resolve discussion from Timo. 2019-07-12 19:56:40 +02:00
Acrimon
ccc7cb2976 Ran rustfmt 2019-07-12 21:29:16 +02:00
Acrimon
69537f7dd9 Switched threadpool impl for veloren/server. 2019-07-12 18:30:15 +02:00
Joshua Barretto
c2a11ed6b2 Improved worldgen performance with more precise z bound checks 2019-07-08 15:51:38 +01:00
timokoesters
0236e2e8f2
Show join message after selecting a character 2019-07-05 22:16:06 +02:00
Piotr Korgól
1f381cd99b Even more cleanups 2019-07-03 22:46:43 +02:00
Piotr Korgól
42a4cc8095 Add block breaking 2019-07-03 21:56:54 +02:00
Piotr Korgól
7f08377001 Sync CanBuild component, fix /build messages 2019-07-03 21:28:07 +02:00
Piotr Korgól
bf748ae742 Add CanBuild component, Block placing client messages and build mode command 2019-07-03 21:28:07 +02:00
timokoesters
f5da167ce5
Fix warnings and clippy recommendations in common 2019-07-02 15:48:25 +02:00
Piotr Korgól
a66dc9a24f Add /health command 2019-07-01 20:07:30 +00:00
Songtronix
ea340ddac7 fix warnings from server 2019-07-01 18:49:42 +00:00
Songtronix
1ee65a66cf Clean server and server-cli 2019-07-01 16:38:19 +00:00
Joshua Barretto
631df59083 Merge branch 'zesterer/small-fixes' into 'master'
Fixed chonk memory usage bug, added block manipulation

See merge request veloren/veloren!278
2019-07-01 15:22:04 +00:00
Joshua Barretto
a55bbca6e3 Only create one block with /solid 2019-07-01 15:38:40 +01:00
Joshua Barretto
489f5f6b2a fmt 2019-07-01 14:38:45 +01:00
Joshua Barretto
c8a2e4722c Fixed chonk memory usage bug, added block manipulation 2019-07-01 14:36:45 +01:00
timokoesters
370e7db1ee
Fix death 2019-06-30 22:29:00 +02:00
timokoesters
14400f6380
Remove Actor and use Body instead 2019-06-30 18:57:24 +02:00
Joshua Barretto
b1a7a61d77 Merge branch 'snok-online-players-cmd' into 'master'
Snok: Show online players cmd

See merge request veloren/veloren!264
2019-06-29 22:16:27 +00:00
Cedric Hutchings
6bda6e2025 adding a mut 2019-06-29 18:05:34 -05:00
Cedric Hutchings
5c19ddb06c fmt 2019-06-29 17:56:10 -05:00
Cedric Hutchings
0bc6b64002 implement zesterer suggestion 2019-06-29 17:49:56 -05:00
Cedric Hutchings
af0358c7c8 fix player count 2019-06-29 17:16:16 -05:00
Joshua Barretto
f1ba97ae7a Merge branch 'timo-rolling-fix' into 'master'
Rolling bugs + NPC bugs + "Impossible" bug

See merge request veloren/veloren!265
2019-06-29 21:47:05 +00:00
timokoesters
d235374d8e
Fix npc and death bug 2019-06-29 22:43:44 +02:00
timokoesters
c80351f6ca
Fix double roll bug 2019-06-29 19:49:51 +02:00
Joshua Barretto
324de39bfe fmt 2019-06-29 16:48:43 +01:00
Joshua Barretto
0c918c835f Prevented invalid username usage 2019-06-29 16:48:43 +01:00
timokoesters
b0ea959f67
Remove animation syncing (does not fix any known bug) 2019-06-29 17:09:38 +02:00
timokoesters
6289a097a5
Rename /who to /players and fmt 2019-06-29 14:05:30 +02:00
Thomas JULLIEN
7182257214
command to show the online players 2019-06-29 14:02:44 +02:00
timokoesters
fe6f627d42
Clean up ecs actor body components 2019-06-29 01:49:33 +02:00
Piotr Korgól
44862d0acc Fix spawning few entities at once 2019-06-28 18:58:47 +02:00
Piotr Korgól
888faadfab Prevent text clients from gaining position 2019-06-28 16:22:25 +02:00
Joshua Barretto
f781aca8e9 fmt 2019-06-26 19:14:12 +01:00
Joshua Barretto
9279611d6d Added longer day/night cycle, /time command 2019-06-26 19:14:12 +01:00
Joshua Barretto
692fa3f28d Above-ground spawn point, better figure dt scaling 2019-06-26 11:53:43 +01:00
Imbris
16e5b6bafd circular view distance 2019-06-23 15:49:15 -04:00
timokoesters
f0e6e76423
Don't sync animations, just sync components used to construct them 2019-06-16 19:59:15 +02:00
timokoesters
7deb3da1af
Add pub use phys:: and remove most pub mods 2019-06-16 19:59:12 +02:00
timokoesters
69cb2ed84f
Revamp control system 2019-06-16 19:57:03 +02:00
liids
e670f9b126 small fixes 2019-06-15 17:23:53 +02:00
liids
bcf7127736 make it more laconic 2019-06-15 15:42:39 +02:00
liids
6670c2b8fa fix formatting 2019-06-15 14:55:06 +02:00
liids
8b2b931c17 make minimum spawn amount higher than 0 2019-06-15 14:30:05 +02:00
liids
f726d755b7 fix formatting 2019-06-15 13:48:14 +02:00
liids
cca41a3333 fix negative spawn amounts 2019-06-15 11:32:07 +02:00
liids
2cc2a36be2 make amount optional 2019-06-15 10:22:36 +02:00
liids
c859371ddb Merge all spawn commands into one 2019-06-15 09:56:27 +02:00
Cody
14ac5babd4 Removes most unused imports; changes some unused variables to underscores or provides a leading underscore; removes some unnecessary variables and mutable declarations; and performs other miscellaneous warning fixes. 2019-06-06 14:48:41 +00:00
Joshua Barretto
76dca0b0cf Added dynamic fog growth 2019-06-05 20:52:51 +01:00
Joshua Barretto
cd630b0816 Reduced threadpool threads to keep render thread smooth 2019-06-05 20:52:51 +01:00
Forest Anderson
4548ec3bf9 Merge branch 'randomized-npc-names' into 'master'
Added randomized NPC names veloren/veloren#133

Closes #133

See merge request veloren/veloren!207
2019-06-04 05:23:25 +00:00
scorpion9979
7bfd9464c9 Added humanoid NPC type w/ names 2019-06-04 01:10:59 -04:00
scorpion9979
29f230d23e Cleaned code
Refactored code for readability
2019-06-04 01:10:59 -04:00
Ahmed Ihsan Tawfeeq
eb80459872 Added randomized NPC names veloren/veloren#133 2019-06-04 01:10:59 -04:00
Timo Koesters
930bc91174 Merge branch 'fix-server-info' into 'master'
Add server info and player list to client

See merge request veloren/veloren!197
2019-06-02 14:45:41 +00:00
Cody
75ca605f5d
Changes the physics misnomer Direction to Orientation and adjusts some ECS read_storage names. 2019-05-31 16:36:24 -04:00
Cody
6c76667356
Addresses more naming schemes and typos. 2019-05-31 16:36:24 -04:00
Imbris
942096c754 Only send physics updates for entities within vd
Former-commit-id: d3307641cd31418bf8b9831296a96d58926184e0
2019-05-28 20:47:03 -04:00
Imbris
e3e8afd99b Stop drawing entities outside the vd
Former-commit-id: 34878fb66ec22ac77a7400724b80ad7f8321f4cf
2019-05-28 20:47:01 -04:00
Imbris
045f41dae7 Use vd setting when creating client
Former-commit-id: b9a32c6b2f1a61a407991507c63ba7d708723410
2019-05-28 19:16:06 -04:00
timokoesters
c10a43f541 Add server info
Former-commit-id: 9e504c821e871d30f8ac7cd4acb7a8022bdb5710
2019-05-28 22:25:46 +02:00
Joshua Barretto
f8e18eef01 Merge branch 'fix-delay' into 'master'
Fix attack delay

See merge request veloren/veloren!194

Former-commit-id: 2846e7c2ffe0c35427a9bb7fa0c387fd6374e0c9
2019-05-28 20:23:24 +00:00
timokoesters
c96b5c45c3 Fix attack delay
Former-commit-id: 28f7a492adcc37cec15e3e3c0d46b6015b27ee04
2019-05-28 21:11:29 +02:00
Forest Anderson
2fc4e9a2f8 Merge branch 'enemies' into 'master'
Enemies

See merge request veloren/veloren!186

Former-commit-id: f920608508868119aad286cbe45599342dc1942b
2019-05-28 19:08:02 +00:00
Joshua Barretto
8407908af2 fmt
Former-commit-id: 7535fe743722967dd59e383aa93cb78cb3be6e23
2019-05-28 19:59:32 +01:00
Marcel
b5b61462ee Merge branch 'event-chat-messages' into 'master'
Event chat messages

See merge request veloren/veloren!188

Former-commit-id: 5701dd41f52f76ee5733a3580da9fab59dc539e7
2019-05-28 10:45:24 +00:00
timokoesters
2fc82dcf5e Fix singleplayer crash
Former-commit-id: afbcdfe2024befbd5a225db049ce2f9a761e6df6
2019-05-28 00:07:39 +02:00
timokoesters
d075d7874b Remove unwrap
Former-commit-id: 68d26e366450010d1455c7662dc283cc0e0d9380
2019-05-27 22:41:19 +02:00
timokoesters
2008400169 Implement killer name in chat
Former-commit-id: 5aa87529179a684d5675c33e4001806aa2040802
2019-05-27 21:47:19 +02:00
timokoesters
a6439984be Add connect, disconnect and kill messages
Former-commit-id: c25f6fb0b594e5d61a965447359536ca17173aa7
2019-05-27 19:45:43 +02:00
Joshua Barretto
baf740a289 Added enemies
Former-commit-id: 2c07c9e52a7cbfb85508e7098c528bddd9b12997
2019-05-27 12:18:14 +01:00
timokoesters
74761b7f9c Fix velocity while dead on client
Former-commit-id: e308e1b8848a38fd9fd776ddd8acb81e145429a6
2019-05-26 20:34:18 +02:00
timokoesters
2c57d898ed Fix missing gliding animation
Former-commit-id: 211f285153271cad79bfdc7aa9e33608c766345d
2019-05-26 19:24:44 +02:00
timokoesters
a7faa82aad Fix invisibility
Former-commit-id: daeed655d2af1d990eee5d03df22b8a9bcbdf011
2019-05-26 18:01:55 +02:00
timokoesters
4ebf2e13a5 Fix wolf red and dead velocity
Former-commit-id: 2d59c545d3a101e630f56cc0c96d8579508dd99d
2019-05-26 17:34:00 +02:00
jshipsey
b4e9359e3f Merge branch 'pets' of https://gitlab.com/veloren/veloren into pets
Former-commit-id: f6ab802ebcb24a6c9c5d1c4343ce6b4d68cf942d
2019-05-26 11:04:11 -04:00
jshipsey
7aab509701 rebase with combat merge
Former-commit-id: 04885878ecaffba6b9bd78b2e59512d1914be3b1
2019-05-26 11:02:01 -04:00
jshipsey
26da091b0b add wolf
Former-commit-id: b16aa2e7c382710c0705371cd36d57ddf62cf13c
2019-05-26 10:39:57 -04:00
timokoesters
64b00f41f4 Fix invisible chars
Former-commit-id: cbb93e0511100b9b66f9ea22451c99a69b50b19c
2019-05-26 16:04:44 +02:00
jshipsey
b7cbe1e67c add wolf
Former-commit-id: 49fee3e5056377966068bd690333f83192d1fd41
2019-05-25 23:31:49 -04:00
timokoesters
148c015b38 TODO comment for pet fix
Former-commit-id: 747b926a92506887bb235e9e64e2c4f286d8b31b
2019-05-26 00:08:54 +02:00
timokoesters
4696cd2c8b Add better inputs, input validation and more
Former-commit-id: 3227221b12a674f66b011ce0ba734e226f223f34
2019-05-25 23:46:56 +02:00
timokoesters
15d1a789d6 Better formatting
Former-commit-id: 22b83b6dd5ad145a39b236436a019c6b172787d7
2019-05-25 23:21:39 +02:00
timokoesters
3697c47e33 Change client_state_pending to ClientState::Pending
Former-commit-id: 4b6a304a138ccfbffc3b6e28d36feaa2693d01a7
2019-05-25 23:21:39 +02:00
timokoesters
1dbca8b994 Fix respawn position
Former-commit-id: c4dabc71a1c7af538e2c30acbf463340a4618cc9
2019-05-25 23:21:39 +02:00
timokoesters
1826a2b4f9 Implement fast respawn
Former-commit-id: 17f9aceba5c40a5d3ddc2e0fd6795479487753fd
2019-05-25 23:21:39 +02:00
timokoesters
0344f3eba8 Implement hit time delay
Former-commit-id: 6c1990645fd07e23de5eb97b6fc22f34ce09a6b7
2019-05-25 23:21:39 +02:00
timokoesters
36e890bbd8 Fix client states server-side
Former-commit-id: 701dd2a7f53bd0f1943cbeb61cc9c251228a4b5f
2019-05-25 23:21:38 +02:00
timokoesters
616b922e36 Add /kill command for easier testing
Former-commit-id: 9f27dcfd5c99327fdc6e30cac30afa5cc75cec95
2019-05-25 23:21:38 +02:00
timokoesters
69cd712ca9 Remove all outdated components when dieing
Former-commit-id: 9f320fba441998af24bf52be92260264f183f0d8
2019-05-25 23:21:38 +02:00
timokoesters
30bf1cde10 Add knockback
Former-commit-id: a703eb937ef7094a085548ca3197a575059855a0
2019-05-25 23:21:38 +02:00
timokoesters
7d683affe9 Use clients.notify()
Former-commit-id: 3921579a91033cbdf85929e172fc987a26fdcc9c
2019-05-25 23:21:38 +02:00
timokoesters
449b717777 Go back to char selection on death
Former-commit-id: a8b5ee42f432ff2da8385225b17be654420f17d1
2019-05-25 23:21:37 +02:00
timokoesters
b26f00ddfb Fix pvp
Former-commit-id: 98480aa29c882b0bf92364b39a8284355647956b
2019-05-25 23:21:37 +02:00
timokoesters
b3e4ca0a5d Implement killing
Change animation history to animation
Add attack input event
Implement killing with ecs systems for damage and death
Sync attack properly
Sync deaths


Former-commit-id: 72b5be7d65d9d3fcbef50d4836a6f06ec218d69e
2019-05-25 23:21:37 +02:00
Joshua Barretto
2f376509a3 Better spawn point
Former-commit-id: 31b4df016aea512494d419515043baa288fa9ab5
2019-05-25 06:42:26 +01:00
Joshua Barretto
fc25dc8c7f fmt
Former-commit-id: 1f7bec8da117091b3f2e8f58ce45b9caf1b6c89d
2019-05-21 23:31:38 +01:00
Joshua Barretto
0c78264ebc Added spawn point
Former-commit-id: 04ea38df61d3610d679368166de220243ef1bfba
2019-05-21 23:04:39 +01:00
Joshua Barretto
0a12147855 Fixed semicolon typo
Former-commit-id: 30dbac1bccde7a5c8ebce015e04df66e9d64f1b1
2019-05-21 22:51:41 +01:00
Pfauenauge90
c13206d82d Basic worldgen
Former-commit-id: 3ca0afa95dd1d868a84a41129e889a203e8a7cd9
2019-05-21 22:51:41 +01:00
Joshua Barretto
2548c1c31f Added worldsim API, ticking
Former-commit-id: 50a63e44557c634f2b39ef7a580cdbeec5ed0d70
2019-05-21 22:51:41 +01:00
Joshua Barretto
3508e4afcb Added view distance configuration
Former-commit-id: b3c7a21631ce0c6b058f25aede0e3e2895a16f81
2019-05-19 01:45:02 +01:00
Forest Anderson
2e7984ebc3 Char selection
Former-commit-id: 8da211b00dcd9a550a8f46e79164ece8f5c193e5
2019-05-18 19:03:13 +00:00
Joshua Barretto
7f857daa91 Colour adjustment and server crash fix
Former-commit-id: 7a1f6dcccc9869472f6044407d063ea86bb12dd3
2019-05-18 17:47:55 +01:00
Cody
6b09fd7c53 Pedantic comment and language fixes.
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00
Joshua Barretto
91184356e7 Added chonks
Former-commit-id: a62fb321dbfb7541feaa9de4e641db9887b061fd
2019-05-17 18:44:30 +01:00
Joshua Barretto
5092df0e7f Improved quadruped origin
Former-commit-id: 35a360bf285f2495dda7859cb8d376d5aa16a1af
2019-05-15 17:06:58 +01:00
Joshua Barretto
1209f0393d Added figure colour to shader and health component
Former-commit-id: 222c39bd401ad0a9707eb348d5640717004dbf96
2019-05-15 13:26:14 +01:00
jshipsey
732c43ce11 first quadruped changes
Former-commit-id: 71ad084a872c3bf96d5cbab53c376d214f3cdcd0
2019-05-13 19:43:10 -04:00
Joshua Barretto
67241fec31 Massively increased efficiency of terrain meshing, chunks generate from centre
Former-commit-id: 66217b9974a791044e4b1f3d4580761bd066113a
2019-05-13 13:08:17 +01:00
Joshua Barretto
216819ca92 fmt
Former-commit-id: 4fd53e02969d9d044367d81640a2975043c6953a
2019-05-13 11:06:58 +01:00
Joshua Barretto
761c6e9cf8 Switched to actor system
Former-commit-id: d2a482f6209aff7aaa4e747e35ce4a7c8a79cdfc
2019-05-13 11:06:58 +01:00
Forest
3d14d791cf Cleaned code
Former-commit-id: fd4ef550ff58f621a129901d142d80266fbbc534
2019-05-12 15:57:39 -04:00
Joshua Barretto
a8981378bf Improved performance and compilation speed for debug builds
Former-commit-id: 5d8b1c27a8a2ebfe63797969ee2aba7452a09dd3
2019-05-12 18:43:55 +01:00
Joshua Barretto
fc0f2f0801 Added option to not stop raycasting on error
Former-commit-id: 6e094b6514bcda2fbcdfe44dbb90900b50e939c2
2019-05-12 14:03:08 +01:00
Joshua Barretto
266101c90d Added basic pets
Former-commit-id: 1ef17505ecb11acb82541349343989128b78630f
2019-05-12 14:03:08 +01:00
Joshua Barretto
faf53ad5c9 Temporary networking issue fix
Former-commit-id: e6b47f7d8478c28d837e55b85f2f2d028e988737
2019-05-09 19:38:37 +01:00
Joshua Barretto
54cc9e137a fmt
Former-commit-id: b43b7192f7a2dd71da26182ca0c74449867381f3
2019-05-09 18:58:16 +01:00
Joshua Barretto
871767ada0 Made single-player server start on random unused port
Former-commit-id: 95ec85b9be58d0fd348144c398004a69676eb6cd
2019-05-09 18:57:47 +01:00
Joshua Barretto
3705f9a871 Added anim_time to animations
Former-commit-id: 44ec8108c41a3cad74b6f3c0a2df02e5166a5487
2019-05-09 18:57:47 +01:00
Joshua Barretto
2e3288cc29 Adjusted view distance and worldgen
Former-commit-id: 01eeb0e48bcb018111c5f32b6252beb11bccd452
2019-05-09 18:57:47 +01:00
Joshua Barretto
342ea6aa65 Significantly upped view distances
Former-commit-id: 4cd306ebfa1acd765cb68d4a6d5a026b43fafa2f
2019-05-09 18:57:47 +01:00
Joshua Barretto
3cd48ba468 Added lz4 compression to networking
Former-commit-id: 7910c933f110d595da70552716b6e8f0eb7544a1
2019-05-09 18:57:47 +01:00
Forest Anderson
993388e56a Ran fmt on codebase
Former-commit-id: 7fecffa1dc66fffba4f07d45fb80960dc5178f4f
2019-04-29 20:37:19 +00:00
timokoesters
f35e8d7b98 Fix gitignore and delete gitignores in subdirs
Former-commit-id: 4d57caa521c47d137e29d5b781abbdda6a2d8759
2019-04-29 20:43:04 +02:00
Joshua Barretto
e4d6d96afc Remove post debugging
Former-commit-id: 4a82bf8b6178fb88d5a6ea93706fb4e97ac2256d
2019-04-25 20:25:22 +01:00
Joshua Barretto
5e38eee8d4 Added chunk deletion
Former-commit-id: 63c29e43c4dc28097aaf4e0ff72977c7db5cc28f
2019-04-25 20:08:26 +01:00
Joshua Barretto
f210de09df Added raycasting (needs testing) and basic character terrain collision
Former-commit-id: be6bfacfd28e777a64d8157fce129f8072e20b38
2019-04-25 17:52:11 +01:00
Joshua Barretto
f9f434a1c2 Started work on worldgen
Former-commit-id: 277a4b2a0a5a393c590a710aebaf62e5cce2ad1d
2019-04-25 17:52:11 +01:00
timokoesters
701755a8e2 Add disconnect handling
Former-commit-id: 24a9d535101f28debc0fe5a0600a32c9b744466f
2019-04-23 14:01:16 +02:00
timokoesters
df7a145bbc Better formatting
Former-commit-id: 4316514f4f58dca8ed21dae00fad7a6df36b9ff1
2019-04-23 12:12:22 +02:00
timokoesters
7fc2b3490c Answer with WrongMessage when trying to RequestState Connected
Former-commit-id: 8384caae9f19d05f174457ab8efc6046ce30bd8c
2019-04-23 11:14:35 +02:00
timokoesters
3bf09f9f9c Handle errors with error_state instead of disconnect
Former-commit-id: cad5bbf9a5bb22dc6adf81d248d85d6a5d6aa140
2019-04-22 23:00:25 +02:00
timokoesters
06693136b6 Fixed names, debug and notify
Former-commit-id: f58dedf7c4eb9b284982588fc6b19bbe3edb0391
2019-04-22 23:00:24 +02:00
timokoesters
37367491da Cleanup ClientStates
Former-commit-id: 060cf9800dc6f09c58f41a4baaccb1a43bd97621
2019-04-22 23:00:24 +02:00
timokoesters
e9027c6433 Split connecting from registering
Former-commit-id: 56c21f72bc5b53635d6fdf00c99eb34df3b448c9
2019-04-22 23:00:24 +02:00
timokoesters
9a48e2fd42 Rename ClientState Connected -> Registered, Visitor -> Connected
Former-commit-id: 34f6726203b7d20b42937a02f48d8920ca3f1d7a
2019-04-22 23:00:23 +02:00
timokoesters
ba6ead4077 More wrong messages will be punished with disconnect
Former-commit-id: 767f3226c62d7560d26a909eed8a69b8afe11110
2019-04-22 23:00:23 +02:00
timokoesters
07a2aab8a3 Rename Disconnected to Visitor
Former-commit-id: aeb729a933cda380c03efe346347fc4dc0648dfb
2019-04-22 23:00:23 +02:00
timokoesters
fc2e6c3624 Clean up client state code
Former-commit-id: 2469a49abd23038838f6176b7f5cf0b303e8bee5
2019-04-22 23:00:22 +02:00
timokoesters
794b9cafad Implement ClientStates
Former-commit-id: f6167fd6de6fd1a3309224409cac77193be982e2
2019-04-22 23:00:22 +02:00
timokoesters
802c484a38 Make character model more variable
Former-commit-id: 331baad40c79d846290c4617ea8e359b2786c7ef
2019-04-22 23:00:21 +02:00
timokoesters
91057edfac Remove .internal and .internal_mut
Former-commit-id: 261b656ec400f6780f2be2f5a4c331cc3b2a64a2
2019-04-22 10:24:27 +02:00
timokoesters
ec16153164 Rename animationHistory to animation_history
Former-commit-id: bb2c882332fa9c3fd7f2c7fbd6143cd5f85153d8
2019-04-17 22:32:36 +02:00
timokoesters
61578b238e Sync animation states on initial connection
Former-commit-id: 4ed67b6cbf56fceb03fa6a66b25b78925b91fc8a
2019-04-17 22:30:52 +02:00
timokoesters
7e3f271838 Move code for initializing clients to new function
Former-commit-id: 55f8a9b49599b6912489c597c47a13d7657f78f1
2019-04-17 21:22:34 +02:00
timokoesters
5044fe8cb5 Simplify code
Former-commit-id: c8bdf4199c913ab43ba08fdb19384bf7fcc6653d
2019-04-17 20:06:06 +02:00
timokoesters
abf32d6229 Add comments
Former-commit-id: 950c811256b8c20f58e4bb3c998acc746c4b929d
2019-04-17 19:41:20 +02:00
timokoesters
b9607ef405 Fix #21 by checking animation history
Former-commit-id: 5272d1d7aee73fc07edeb31d9f29238d19b7d229
2019-04-17 19:39:12 +02:00
timokoesters
1ae18fecf8 Change timeout to 20s
Former-commit-id: dca0d08a06c27259cdaaf0138024f53c6c93d94e
2019-04-17 16:46:04 +02:00
Joshua Barretto
9286de1368 Added ForceUpdate component upon teleport-related commands
Former-commit-id: ff10c863466e6f4f6cc931b5980917145f38b222
2019-04-17 14:00:24 +01:00
Joshua Barretto
8029edde0b Moved animation determination to Control ECS system
Former-commit-id: 6650bc4d882d3f6779f99afea2e05155ad008282
2019-04-17 09:59:38 +01:00
Joshua Barretto
edcabfa68f Fix creation update
Former-commit-id: 3ad0f4cd3ee8f319229f85f1c0c289be9d4b5bfb
2019-04-17 01:39:39 +01:00
Joshua Barretto
2c650f9cff Added basic agent AI
Former-commit-id: bb17edc8f2027c0c63c6a3ef0fc80c7a68c9aa05
2019-04-17 01:39:39 +01:00
sxv20_
dbccb34582 replace if-let with match
Former-commit-id: ed39cbb1ccc69302cb65822ad4a4cfecd2bd8f86
2019-04-16 18:08:47 +01:00
sxv20_
4e3c97862e Update docs
Former-commit-id: 381a759ebcefb4f0fad76fe66ca2720b572849b5
2019-04-16 18:08:47 +01:00
sxv20_
447bf18a63 add documentation
Former-commit-id: 5abbbaf9b24702dffc345466b1af60ee594bf01a
2019-04-16 18:08:47 +01:00
sxv20_
cf3235d351 move chat command code to cmd.rs
Former-commit-id: 25bbcceae51024439dbf6c143a49e3d5d55e7f4b
2019-04-16 18:08:47 +01:00
sxv20_
ee47b598aa use handlers instead of hard-coding for commands
Former-commit-id: 80d693254bfbfc7ae0ea4dcbdc76301dca067468
2019-04-16 18:08:47 +01:00
sxv20_
f8d75d900e Clean up help message and if-let
Former-commit-id: 450281467a92b2b8186df74d83d108457513277a
2019-04-16 18:08:47 +01:00
Sebastian Venter
031e4b36d6 add chat commands, rustfmt
Former-commit-id: 64941127598b53c64fe2e0e7c167f0ce3f358060
2019-04-16 18:08:47 +01:00
Piotr
ddb32eec30 Animation States
Former-commit-id: 769f09dc44143b5e54623ea819db2d6149429184
2019-04-16 14:29:44 +00:00
Joshua Barretto
c98d841890 Fixed physics sync
Former-commit-id: 86d3af46c69f6566f4cab8d93ecf27636a9563cf
2019-04-15 00:29:28 +01:00
Joshua Barretto
f4260706e6 Updated package versions
Former-commit-id: bb0d1efd718ddef598fbb894498a43ad014a11c0
2019-04-14 14:23:43 +01:00
Joshua Barretto
bbc5aa1b0d Disabled informing clients of chunks temporarily
Former-commit-id: ab964ebfdae55e1fcf1002d7e7622d58e538c83b
2019-04-14 14:23:43 +01:00
Joshua Barretto
507c47e771 Rewrote netcode, added basic chunk synching
Former-commit-id: e9f76f7fa9dbe0c81cd4c998bf0f0b3eec9235cb
2019-04-14 14:23:43 +01:00
Joshua Barretto
f27b5fa975 Added server-side chunk generation
Former-commit-id: 72e02f8ec711ec4fac3111b591c4b08086dee4e3
2019-04-14 14:23:43 +01:00
Joshua Barretto
3d9f8105e6 Started work on server-side chunks
Former-commit-id: 84a6bd7358f67a77043c4b11c787538f073c8d28
2019-04-14 14:23:43 +01:00
Joshua Barretto
11630877e3 Moved figure rendering to a better place
Former-commit-id: 51ca948e131c20151c97f9f8454c80c47a9154b0
2019-04-14 14:23:43 +01:00
Joshua Barretto
62b91eb01b Integrated Sphynx
Former-commit-id: 5d96983a385bb77a2876aa7439158252b7e2f0fc
2019-04-14 14:23:43 +01:00
Joshua Barretto
8a0adab381 Fixed ping timeout logic
Former-commit-id: 080ca9d4149ec0ecddd92c475d77e4fc92f6edaa
2019-03-19 11:35:38 +00:00
Joshua Barretto
ffc4e6ebd4 Improved State API design
Former-commit-id: a32ab93409b1044fe2838f684d30ca2b963d4eb2
2019-03-19 11:35:38 +00:00
Joshua Barretto
664f28a972 Patched in netcode refactor
Former-commit-id: 34a3b9a95129edad6dc8280d9a3cb41581d4d386
2019-03-19 11:35:38 +00:00
Joshua Barretto
a8b0039898 Added networked entity updates, player entity allocation
Former-commit-id: b81d6e38a74f846d64c092d1422dc402f369100c
2019-03-19 11:35:38 +00:00
Joshua Barretto
bb93f29522 Fixed client/server comms bug
Former-commit-id: fffc9cbf59784e7e2c9c2d9a60b8f2520b6f41fb
2019-03-19 11:35:38 +00:00
Joshua Barretto
2e613178a0 Component sync + UID system
Former-commit-id: 5ecddc0e1f9c1a15f99dd167b825178c972da062
2019-03-04 19:58:58 +00:00
Joshua Barretto
dbbcc1e80e Added basic networked communications, chat communication
Former-commit-id: 06bafdf69486f4da5fbc416835e34c5bed8c2caa
2019-03-04 19:58:58 +00:00
Joshua Barretto
c16a257ae3 Added server-cli, UI tests
Former-commit-id: 93bf5b39138920aa7a4a773a8247d716866c4a05
2019-01-30 12:11:34 +00:00
Joshua Barretto
41b6672743 Added Terrain type to scene 2019-01-15 15:13:11 +00:00
Joshua Barretto
b37a6b67f9 Added time of day, tick time, basic skybox shader and client to voxygen 2019-01-12 15:57:19 +00:00
Joshua Barretto
523db9f054 Started work on adding terrain 2019-01-02 19:22:01 +00:00
Joshua Barretto
819af1594f Initial structure 2019-01-02 17:23:31 +00:00