Commit Graph

760 Commits

Author SHA1 Message Date
Joshua Yanovski
32b2c99109 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.
2020-04-02 02:46:36 +02: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
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
7132ef4136 Rearrange some operations in the server tick to reduce clientside latency of ServerEvent mediated effects 2020-03-09 22:31:24 -04: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
Imbris
6cc07270ac improve(login): more precise error handling during login 2020-03-08 22:56:59 +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
Songtronix
50b845d1c3 :/ and reactivated the password field 2020-03-08 22:34:06 +01:00
jshipsey
d4332c3138 eagle adjustments 2020-03-07 13:26:46 -05: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
Caleb Cochran
219f9fa3be Added missed comma 2020-02-25 22:01:51 -06:00
Caleb Cochran
8479230e66 Replaced commas (fmt issue) 2020-02-25 21:59:08 -06:00
Caleb Cochran
9f7aa61fbd Fixing #504 - Enemies stop attacking after combat 2020-02-25 20:48:09 -06:00
S Handley
d87061fe14 Add a volume option to SfxEvents, and use this to dispatch movement sfx for quadripeds at a volume proportionate to their size. 2020-02-23 01:26:51 +00:00
S Handley
9ab2833056 Add weapon wield/unwield sfx support 2020-02-21 02:56:54 +00:00
Monty Marz
2180040f70 Orc hairstyles, several tiny UI fixes, fixed beard warnings 2020-02-20 10:32:03 +00: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
Ben Simpson
636bf7d343 Merge branch 'expandedreality/energy-regen' into 'master'
Energy now does not regen when climbing,gliding,and swimming

Closes #483

See merge request veloren/veloren!800
2020-02-14 01:15:47 +00:00
Ben Simpson
c427f2298e Energy now does not regen when climbing,gliding,and swimming 2020-02-13 18:46:01 -06:00
Ben Simpson
3343f8e5c0 Update common/src/sys/controller.rs, common/src/sys/movement.rs, common/src/comp/energy.rs files 2020-02-13 08:36:29 +00:00
Ben Simpson
bfd2f345b1 Update common/src/sys/movement.rs 2020-02-13 08:19:36 +00:00
Ben Simpson
0cd8150e98 Update common/src/sys/movement.rs 2020-02-13 08:13:36 +00:00
Ben Simpson
a49482503d Update common/src/sys/controller.rs, common/src/sys/movement.rs files
Deleted energy.rs, movement.rs files
2020-02-13 07:59:54 +00:00
Ben Simpson
1aa98dbb62 Update common/src/comp/energy.rs, energy.rs, common/src/sys/controller.rs, common/src/sys/movement.rs, movement.rs files 2020-02-13 07:30:32 +00:00
Marcel Märtens
8f5e409ac4 update toolchain to 2020-02-09 22:58:01 +01:00
Marcel
9f0307b926 Merge branch 'reactivate-ci' into 'master'
Reactivate Failure is allowed for benchmark and coverity

See merge request veloren/veloren!790
2020-02-09 19:31:37 +00:00
Marcel Märtens
90bcd87007 Reactivate Failure is allowed for benchmark and coverity 2020-02-09 20:01:44 +01:00
Songtronix
b8e12811bf fix(version): more robust version detection
Fixes #350
2020-02-09 18:11:40 +01:00
Imbris
fb7edd2404 Make nametag positioning slightly better 2020-02-06 17:10:52 -05: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 Märtens
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +01: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
116bc0d0b2 Fixed logic derp 2020-01-28 01:12:17 +00:00
Joshua Barretto
d87fc37aa2 Fixed watch compilation issue 2020-01-27 23:59:59 +00:00
Joshua Barretto
e391d6e4fd Added no-assets feature to common 2020-01-27 22:41:30 +00:00
Joshua Barretto
344eb9d45d Added intermittent rolling to NPCs during a chase 2020-01-27 16:18:36 +00: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
Monty Marz
981b55837a fix typo in en.ron, fixed unfinished weapons dropping from chests 2020-01-26 22:57:06 +00:00