Commit Graph

246 Commits

Author SHA1 Message Date
Imbris
efe071d998 Fix panic with multibyte whitespace characters 2020-06-06 15:58:16 -04: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
Joshua Yanovski
34427373ef 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.
2020-05-21 21:43:54 +02:00
Joshua Yanovski
2670184954 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.
2020-05-21 21:20:01 +02:00
Joshua Yanovski
f8376fd5dc Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes 2020-05-21 17:53:57 +02:00
Marcel Märtens
ec03c4518a Change the version number to 0.6 2020-05-16 00:50:40 +02:00
Joshua Yanovski
243d0837b8 Merge branch 'master' of gitlab.com:veloren/veloren into sharp/small-fixes 2020-05-15 14:53:13 +02: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
Joshua Barretto
8c1fb3255c Downgraded minifb 2020-04-23 20:05:44 +01:00
Joshua Barretto
0a892e488a Updated examples 2020-04-23 18:20:34 +01:00
Joshua Yanovski
8414987e58 WIP -- lighting changes and soft shadows. 2020-04-09 02:38:40 +02:00
Joshua Yanovski
fbd084a94a Merge branch 'master' of gitlab.com:veloren/veloren into sharp/map-colors 2020-04-02 18:50:38 +02:00
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
Imbris
5ed77b5054 Fix security 2020-04-01 20:03:15 -04:00
Imbris
97148cb6bb Merge branch 'master' into 'combat'
# Conflicts:
#   CHANGELOG.md
2020-04-01 20:42:27 +00: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
Imbris
b3791a2b4e Upgrade vek version so that it actually uses the patch 2020-03-30 19:44:51 -04:00
Mckol
aa59e8715d Updated Cargo.lock to fix vek not compiling 2020-03-30 15:45:22 +02:00
Imbris
ba3fa16c33 Create Dir type for better enforcement of non NaN, normalized representations of directions 2020-03-27 22:02:07 -04:00
Capucho
7048163153 Fixed Some minor bugs on the password field 2020-03-25 12:51:43 +00:00
Capucho
7851a407b1 Fix the cursor lagging behind on password field 2020-03-24 21:41:59 +00:00
timokoesters
ea2500e7ab Add minimum prepare duration to fireball and bow 2020-03-24 14:42:31 +01:00
Pfauenauge90
466b80e8a8 added const tweaker 2020-03-19 18:11:45 +01:00
Joshua Yanovski
f8926a5737 Merge remote-tracking branch 'origin/master' into sharp/map-colors 2020-03-13 13:32:42 +01:00
Mckol
8838682f0b Added Controller support 2020-03-10 21:00:13 +00:00
Marcel Märtens
1cbd07d5e5 regenerated Cargo.lock, requiering 7 less dependent crates and greatly reducing size of cargo.lock file 2020-03-09 11:49:57 +01:00
Acrimon
bc39b78173 Rebased. 2020-03-08 23:02:15 +01:00
Imbris
8d7c454029 Hide password text 2020-03-08 23:00:34 +01:00
Imbris
0022f8464d Update auth 2020-03-08 22:59:22 +01:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +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
Imbris
4a0c474be1 Remove Client dependency from Scene types and audio managers, add an
example for using voxygen as a library to renderer images of characters
2020-03-05 23:12:51 -05:00
Joshua Yanovski
a1aee931e7 Adding shadows. 2020-02-21 14:52:17 +01:00
Rémy PHELIPOT
98c37d0b28 [i18n] Configurable fonts
- Add font configuration in internationalization files
- Scale font size using a configurable ratio
- Add a script to identify translation item statuses using Git metadata
- Execute the i18n script in a new gitlab-ci step (delayed)
- Clone haxrcorp_4089_cyrillic_altgr font (haxrcorp_4089_cyrillic_altgr_extended)
  to add some additional latin characters (mainly for French)
2020-02-16 16:02:38 +01:00
S Handley
b739623579 Split the audio channels into SFX and music channels. This makes the
Music Channel for exploration music a basic Sink without spatial audio
functionality, which is not required.
2020-02-15 21:30:44 +00:00
Marcel Märtens
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +01:00
Joshua Barretto
d87fc37aa2 Fixed watch compilation issue 2020-01-27 23:59:59 +00:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
Joshua Yanovski
53474a215a Resolving spurious Cargo.lock differences. 2020-01-23 18:18:46 +01:00
Joshua Yanovski
133ba29293 Fixing Cargo.lock after rebase. 2020-01-23 18:18:17 +01:00
Joshua Yanovski
ba043b91a2 Screenshots with F4 in the map, that will have the full resolution of
the displayed map (hopefully).
2020-01-23 18:18:16 +01:00
Joshua Yanovski
1d6d0ea03d Fix all warnings. 2020-01-23 18:18:16 +01:00
Joshua Yanovski
7f2573c561 Updating Cargo.lock. 2020-01-23 18:18:14 +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
16c24e86b3 Updating Cargo.lock for sanity. 2020-01-23 18:18:13 +01:00
Joshua Yanovski
597bb3c526 Adding many new types of geomorphic laws:
- soil production (currently disabled).
- debris flow erosion (combined with regular stream power law).
- flow computation using multiple receivers.
- filling strategy during drainage network calculations.

Also tweaks a variety of other aspects of erosion.
2020-01-23 18:18:12 +01:00
Joshua Yanovski
825ba1b4f4 WIP fixes: more pleasing uplift generation.
Uses the exponential distribution now.
2020-01-23 18:18:07 +01:00
Rémy PHELIPOT
a6f9f533a5 Localization system for Voxygen
- Added a localization system in voxygen
- Support English and French languages
- Added a configuration option in the interface settings to change
  the language
2020-01-20 21:07:25 +01:00
Joshua Barretto
2c42aaf5f5 Added client-side character saving 2020-01-20 13:37:29 +00:00
Imbris
5666f18ded Add terrain meshing benchmark 2020-01-19 16:02:12 -05:00
Acrimon
71bd7f15ee
Even better conversion impl. 2020-01-13 20:54:56 +01:00
Songtronix
70eb2eed33 remove: discord rich presence 2020-01-10 17:01:50 +01:00
Monty Marz
851d7858e6 Scrolling Combat Text (SCT) 2020-01-10 00:33:38 +00:00
Yusuf Bera Ertan
24013f1a32 Use treeculler crate 2020-01-07 19:40:06 +03:00
Yusuf Bera Ertan
0b67dad4a5 Fix figure visible value not updating 2020-01-07 18:46:37 +03:00
Yusuf Bera Ertan
31d18b3381 Use temporal coherence for figure frustum culling, don't process figures if they are not in view frustum 2020-01-07 18:46:22 +03:00
Yusuf Bera Ertan
c19c222a90 Use temporal coherence for chunk frustum culling 2020-01-07 18:46:09 +03:00
Yusuf Bera Ertan
e32153e980 Improve frustum culling by using AABBs, add related debug information 2020-01-07 18:44:33 +03:00
Pierce Brooks
43febb5bf3 fix #426: Use new dispatch dependency to ensure proper thread routing of msgbox NSAlert calls ( correct MR workflow ) 2020-01-07 05:45:43 +00: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
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
fa93e35861 upgrade(dep): msgbox
Fix: FreeBSD compilation
2019-11-24 08:49:14 +01:00
Songtronix
2f93dd2c38 adjust logging level 2019-11-22 19:12:58 +01:00
Songtronix
7abf2a0fb9 change(log): switch to fern 2019-11-22 19:12:58 +01: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
Acrimon
21ceb6994b Updated lockfile. 2019-10-30 23:25:18 +01: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
2fad65c749 Merge branch 'imbris/graphic-cache' into 'master'
Rework GraphicCache to use multiple texture atlases if necessary and put large images in their own textures.

See merge request veloren/veloren!609
2019-10-24 05:27:09 +00:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -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
Imbris
24d1f6d970 Add initial region system implementation 2019-10-23 22:39:42 -04:00
Imbris
8bb54976eb Rework GraphicCache to use multiple texture atlases and put large images in their own textures. 2019-10-19 21:28:30 -04:00
Shane Handley
eb65e4411f WIP (testing) Update conrod_core
This is a `cargo update -p conrod_core` to bring in updates to
`veloren/conrod/conrod_core` to add support for copy and paste.

Ref: veloren/conrod!2

Fixes #171
2019-10-19 15:12:37 +09: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
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
KyoZM
1998ed2fdd load structures from ron files / transfer static structure lists to ron files 2019-10-10 20:53:13 -03:00
Marcel Märtens
20c520a044 Change the version number to 0.4 2019-10-10 15:48:01 +02:00
Wu Yu Wei
75df4600bd Switch portpicker dependemcy to git
A pull request to fix has been created on original repository. But
since 0.4 is coming out pretty soon, let's swithc to this fork
temporary.
2019-10-07 15:35:20 +00:00
Brian Lewis
86619d4192 Fix crashing due to error in Alsa.
This uses a more recent version of cpal (a dependency of rodio hence the
rodio change) which seems to have fixed a crash due to
'device not available: "Invalid argument"' coming from Alsa.

The change in cpal also made some functions now return `Result` instead
of a bare type which I dealt with by using `expect` to minimize how far
these changes fan out into the code but maybe this isn't ideal.

Fixing https://gitlab.com/veloren/veloren/issues/280 - Crash with ALSA
2019-10-06 11:24:42 +02:00
Forest Anderson
b13f9f37f7 Revert "Merge branch 'angelonfira/change-memory-allocator-to-jemalloc' into 'master'"
This reverts merge request !547
2019-10-06 01:31:47 +00:00
Forest Anderson
e1bab6afe0 Added jemalloc for Linux systems 2019-10-05 17:57:29 -04:00
Forest Anderson
9ef98ce1a5 Remove heaptrack 2019-10-05 17:57:29 -04:00
Songtronix
43cae5ea64 Fix discord rich presence 2019-10-05 15:35:59 +00:00
Wu Yu Wei
193ff105e2 Update client-side password hashing to argon2 2019-10-05 13:12:20 +00:00
Mckol
9aba318df2 Hash the passwords client-side 2019-10-04 16:44:31 +00:00
Forest
12bdefd146 Updated cargo.lock 2019-10-03 17:20:16 -04:00
Acrimon
03bf74f414 Updated toolchain version and a bunch of deps. 2019-10-03 17:19:22 -04:00
Songtronix
bced3cb638 feat(voxygen): add logo for windows executable 2019-10-02 16:57:08 +02:00
Imbris
f182733074 Small cache experiments 2019-09-22 22:19:07 -04:00
Acrimon
5487c8b7bc Update lockfile. 2019-09-17 16:12:26 +02:00