Commit Graph

1048 Commits

Author SHA1 Message Date
Avi Weinstock
3f3f8a40c5 Use SQL transactions in world_block_statistics to try to speed it up. 2021-06-28 15:50:58 -04:00
Avi Weinstock
024b6c52ef Add block statistics generator to world/examples. 2021-06-28 15:02:57 -04:00
Avi Weinstock
957ba5d218 Use new dungeons in dungeon_voxel_export, remove old dungeon sampling function, and add more of world/examples to CI. 2021-06-27 15:35:43 -04:00
Benoît du Garreau
1cba7db9b6 Update assets_manager to 0.5 2021-06-26 12:05:40 +02:00
Joshua Barretto
768e1c0d31 Merge branch 'aweinstock/site2dungeon' into 'master'
Convert dungeons to site2.

See merge request veloren/veloren!2499
2021-06-25 23:06:24 +00:00
Avi Weinstock
0ac6305dfc Rename difficulty to dungeon_difficulty. 2021-06-25 18:18:27 -04:00
Avi Weinstock
524dd02f45 Tweaks to dungeon pillars. 2021-06-25 15:54:42 -04:00
Avi Weinstock
7328b71243 Add comments to dungeon code. Fix the radius calculation (which lead to dungeons getting truncated), and fix sprites spawning above staircases. 2021-06-25 14:08:23 -04:00
Avi Weinstock
6af988b806 Fix tests and examples to point to site2 dungeons. 2021-06-24 23:21:49 -04:00
Avi Weinstock
19979413d5 Convert dungeon lights to CSG, tweak pillars, convert the magic circle from lava to glowing rock, make enemies spawn in dungeons, and fix clippy warnings. 2021-06-24 23:03:24 -04:00
Snowram
ef6d6563ea Ajust new npcs from feedback 2021-06-25 03:26:32 +02:00
Snowram
8760b69345 Husk brute animations 2021-06-24 19:31:19 +02:00
Snowram
fef0f407d3 Removes warlord and warlock armours 2021-06-24 19:30:11 +02:00
Avi Weinstock
033dbbf02a Add pillars and wall sconces to site2 dungeons. 2021-06-23 23:22:14 -04:00
Avi Weinstock
c68d79315e Add wall contours and sprites to site2 dungeon. Also add septagon decal in boss rooms. 2021-06-23 23:22:14 -04:00
Avi Weinstock
c8383aba38 Traverse the dungeon tile structure to create the rooms, and align the stairs. 2021-06-23 23:22:14 -04:00
Avi Weinstock
c6bb61f2e6 Add Primitive::Prefab and Fill::Prefab for coloring dungeon entrances. 2021-06-23 23:22:14 -04:00
Avi Weinstock
95214649db Get structures loading via sampling primitive. 2021-06-23 23:22:14 -04:00
Avi Weinstock
df4f536523 Progress on converting dungeons to site2. Adds Sampling and Translate primitives. 2021-06-23 23:22:14 -04:00
Dominik Broński
8356e2ffca Merge branch 'aweinstock/lava' into 'master'
Lava

See merge request veloren/veloren!2482
2021-06-21 20:49:44 +00:00
Marcel
b0574b4ddc Merge branch 'imbris/tracy' into 'master'
Refactor Client message handling, improve use of tracy, increase coverage of profiling spans in voxygen

See merge request veloren/veloren!2479
2021-06-20 23:17:08 +00:00
Dominik Broński
b046541b69 Merge branch 'christof/trade_optimization' into 'master'
Accelerate econsim using arrays instead of hashmaps

See merge request veloren/veloren!2216
2021-06-20 16:00:37 +00:00
Christof Petig
79d7e79776 Accelerate econsim using arrays instead of hashmaps 2021-06-20 16:00:37 +00:00
juliancoffee
0ec6a4e5ff Create distribution map for dungeons
* tl;dr T0 - 27%, T1/T2 - 22%, T3/T4 - 11%, T5 - 5%.
Before every dungeon had 16% chance to be created.
2021-06-20 00:14:54 +03:00
Avi Weinstock
f1a1160b80 Make lava solid w.r.t. rendering while still being liquid w.r.t. physics. 2021-06-19 16:52:21 -04:00
Avi Weinstock
2226a4c6a9 Add lava to caves, which sets you on fire if you swim in it. Currently requires uncommenting #define LAVA in the shaders, and only looks good with cheap fluid mode. 2021-06-19 16:31:21 -04:00
juliancoffee
e5c63b2ca7 Add config file for dungeon distribution
- Now you can specify probability of "spawn" of dungeon with specific
difficulty
2021-06-19 23:26:13 +03:00
Imbris
659b42e813 Remove tracy features that are no longer needed now that macros have been fixed 2021-06-19 04:27:50 -04:00
juliancoffee
7bf8c67808 Don't spawn enemies in boss room 2021-06-19 10:47:45 +03:00
jshipsey
a42e6e20b8 basilisk tweaks 2021-06-16 23:28:25 -04:00
jshipsey
0941f03608 buffs to stretch progression 2021-06-16 20:50:46 -04:00
Avi Weinstock
cb0566299a Make tornado (and empty models in general) work on WGPU. 2021-06-15 09:49:13 +02:00
Snowram
97ce50e5d4 Add troll variants and roc npcs 2021-06-15 09:49:13 +02:00
Marcel
bc68168801 Merge branch 'dungeon_voxel_export' into 'master'
Add dungeon shape to MagicaVoxel export example

See merge request veloren/veloren!2412
2021-06-14 15:07:25 +00:00
Marcel
b0702d792a Merge branch 'juliancoffee/asset_entity' into 'master'
EntityInfo assetization.

See merge request veloren/veloren!2382
2021-06-14 12:56:28 +00:00
Vincent Junge
a77b156cd2 Added dungeon shape to MagicaVoxel export example 2021-06-14 14:43:00 +02:00
Marcel Märtens
4167621f5d Change the version number to 0.10 2021-06-12 10:14:07 +02:00
Joshua Barretto
358f9f268d Prevent creatures spawning in the ground 2021-06-11 07:09:58 +01:00
juliancoffee
057aa7fecf Move loot tables to entityconfigs
* Moved all entities in dungeons to assets
2021-06-09 15:37:04 +03:00
juliancoffee
a4cc1e24ee Move body to EntityConfig assets
* currently works only for random and random_with, uses FromStr for
NpcKind
2021-06-09 15:37:04 +03:00
juliancoffee
0c9f05b8d1 Load skillsets from assets
Done:
    support loading from assets in skillset_builder.rs
    entity_config field with skillset asset field
    move every SkillSet config to assets
    tests for skillset assets
    tests for assets in entity configs
2021-06-09 15:37:04 +03:00
juliancoffee
c3a120c551 Post refactoring 2021-06-09 15:37:04 +03:00
juliancoffee
f5bf991eb0 Start to load EntityInfo from assets in dungeons
* All enemies in dungeons are now specify loadout_config, name and
main_tool in assets
* Add more variance to the enemies names
2021-06-09 15:37:04 +03:00
juliancoffee
5f3eaddb70 Split LodoutBuilder::build_loadout
LoadoutBuilder::build_loadout is a function which has four parameters
and 3 of them are Option<>, and although fourth (body) isn't Option<>,
it's optional too because it is used only in some combinations of
another arguments.

Because these combinations produces quirky code flow, it will be better
to split it to different methods.

So we did following changes to remove it and rewrite code that was using it
to use better methods.

* Introduce LoadoutPreset as new LoadoutConfig, currently it's only used
in Summon ability, because SummonInfo uses Copy and we can't specify
String for specifying asset path for loadout.
Everything else is rewritten to use asset path to create loadouts.

* More builder methods for LoadoutBuilder.
Namely:
    - from_default which is used in server/src/cmd.rs in "/spawn" command.
    - with_default_equipment, with_default_maintool to use default
    loadout for specific body
    - with_preset to use LoadoutPreset

* Add new make_loadout field with `fn (loadout_builder, trading_info) -> loadout_builder`
to EntityInfo which allows to lazily construct loadout without
modifying LoadoutBuilder code

* Fix Merchants not having trade site
We had heuristic that if something has Merchant LoadoutConfig - it's
merchant, which can be false, especially if we create Merchant loadout
lazily
As side note, we do same check for Guards and it fails too.

Too fix it, we introduce new agent::Mark, which explicitly specifies
kind of agent for entity

* `LoadoutBuilder::build_loadout` was written in a such way that depending
on main_tool you will have different loadout. Turns out it was this
way only for Adlets though and this behaviour is reproduced by specifying
different loadouts directly in world code.
2021-06-09 15:37:04 +03:00
Marcel
7e8bebdfa1 Merge branch 'xMAC94x/hashbrown' into 'master'
switch to hashbrown 0.11 and specs 0.16.2

See merge request veloren/veloren!2390
2021-06-07 14:31:58 +00:00
jshipsey
acf9111141 mig fix 2021-06-07 08:32:59 -04:00
Marcel Märtens
7185dcee68 switch to hashbrown 0.11 and specs 0.16.2 2021-06-07 13:01:01 +02:00
jshipsey
4deeb42155 cave adjustments 2021-06-07 11:02:34 +02:00
jshipsey
1d23b7aebf finalize stats
t
2021-06-07 11:02:03 +02:00
jshipsey
9034d0f25d comment addressing, cave tweaks 2021-06-07 11:01:46 +02:00
jshipsey
7a573efab7 proper recipes, tanning racks, various fixes 2021-06-07 11:00:14 +02:00
jshipsey
8acd3832e3 more loot tables, overworld ores, more items 2021-06-07 11:00:00 +02:00
jshipsey
05de96c94b ore deposits, flower drops 2021-06-07 10:59:50 +02:00
jshipsey
1c17d8fe5e cave changes 2021-06-07 10:59:44 +02:00
jshipsey
754b60d810 crafting stations 2021-06-07 10:59:35 +02:00
Imbris
23eca4c3f6 Re-disable incremental just for common-systems, small fix in plugin
crate, more new clippy fixes
2021-05-31 20:44:57 -04:00
Imbris
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
Avi Weinstock
5380fc4eac Clear the economy database when creating it. 2021-05-28 16:14:31 -04:00
Avi Weinstock
3684cf0454 Fix economy data not properly being used to price trades, resulting in default prices being applied at most towns.
Also add an exporter from econsim results to sqlite to aid in debugging the economy (which revealed this bug).
2021-05-28 15:09:29 -04:00
juliancoffee
6f0f3d1b62 Refactor enemy creation in dungeons 2021-05-26 01:39:48 +03:00
juliancoffee
940655dcb6 Adding different chests for each dungeon 2021-05-24 23:00:44 +03:00
juliancoffee
22b1880ae5 LoadoutBuilder efactoring 2021-05-23 20:29:19 +03:00
juliancoffee
12d4afd3a5 fmt 2021-05-23 01:04:11 +03:00
juliancoffee
66709c4d17 Adjust mob numbers and add /kit tier-0 2021-05-23 01:04:11 +03:00
juliancoffee
4156f373c1 Adjust loot tables
- Add regular drop to T5 miniboss
- Fixup cultist loot table
- Give own loot table to Deadwood in T0
2021-05-23 01:04:11 +03:00
juliancoffee
a1037501e2 Edit minibosses in lower tiers
- Deadwood to T0 (instead of bonerattlers)
- Rats to T1 (instead of bonerattlers)
- Bonerattlers to T3 (instead of hakulaqs, it's still placeholder)
2021-05-23 01:04:05 +03:00
Monty Marz
30bcc6aaa3 Ferocious armour for t5-dungeon minibosses 2021-05-22 10:55:36 +00:00
juliancoffee
849d51aaa3 Add note to tests 2021-05-21 19:33:31 +03:00
juliancoffee
5d86850291 fmt 2021-05-21 11:36:48 +03:00
juliancoffee
df58fa9acf Fixing loot tables
- Use quad_low and quad_medium loot table for corresponding mobs in
dungeons
- Remove cultist loot table from T3-T4 loot tables
- Use resize instead of vec[obj; len] to create different loot and not
duplicated for miniboss_1
2021-05-21 11:31:39 +03:00
juliancoffee
e48e3e11ba Give bosses own creation function and loot table
- Make goose miniboss fallback to differentiate bosses and minibosses
2021-05-21 11:01:47 +03:00
Sam
9bbdc26089 Added haniwa sentries to level 3 dungeons. 2021-05-10 18:53:50 -05:00
Sam
c67c56d194 Dungeon placement. Tweaks to melee. 2021-05-10 18:53:47 -05:00
Illia Denysenko
cb2412148b Miniboss Loot quickfix 2021-05-09 21:29:35 +00:00
Marcel
eb3cc2fd22 Merge branch 'aweinstock/heightmap_visualization' into 'master'
Add heightmap visualization to world/examples.

See merge request veloren/veloren!2246
2021-05-08 16:02:11 +00:00
Avi Weinstock
560c58663e Add max-convolution to heightmap visualization, and specify required-features for it to make CI work. 2021-05-08 11:19:37 -04:00
juliancoffee
9ed15105c5 Transer Animal Trainers to lvl5 dungeons 2021-05-07 14:50:03 +03:00
Marcel Märtens
76319cb260 cleanup some unused functions, which were exported but never used 2021-05-04 22:13:04 +02:00
Marcel Märtens
6e3a74b476 rayon::join creates a global threadpool, which is only used in /world
instead just use the same threadpool for everything
helps with debugging problems with GDB
using threadpool.install() to also be used when `into_par_iter()` is called
2021-05-04 21:06:07 +02:00
Avi Weinstock
a8a89cd6d3 Add heightmap visualization to world/examples. 2021-05-03 16:05:05 -04:00
Avi Weinstock
be39054767 Make terrain compression a checkbox instead of a bandwidth (throughput?) heuristic. 2021-05-03 00:09:44 -04:00
Avi Weinstock
f0824af80a Move chunk_compression_benchmarks from bin to examples. 2021-05-03 00:09:24 -04:00
Avi Weinstock
b15913560b Optimize CompressedData with Vec::with_capacity, and move obsolete formats from common_net into the compression benchmark. 2021-05-03 00:09:24 -04:00
Avi Weinstock
c199d12f2d Address MR 2207 review comments.
- Add metrics for which branch of the compression heuristic was taken.
- Reduce the threshold for the heuristic.
- Deduplicate code for dealing with lazy messages.
- Make jpeg dependency only scoped to the compression benchmark.
- Remove commented code.
2021-05-03 00:09:24 -04:00
Avi Weinstock
30cae40b82 Add a bandwidth-based heuristic for chunk compression. 2021-05-03 00:09:24 -04:00
Avi Weinstock
cdc2eccda8 Improve quadpng by adding WidePacking, which makes a wider image, which is faster due to PNG compressing by row. Heuristically switch between quadpng and deflate based on chunk height to reduce variance. 2021-05-03 00:09:24 -04:00
Avi Weinstock
dffc7db8f5 Add matplotlib graph generation to the compression benchmarks. 2021-05-03 00:09:24 -04:00
Avi Weinstock
c2fd5e807d Experiment with 256-color palette "tripng" encoding, and Lanczos interpolation for "quadpng". 2021-05-03 00:09:24 -04:00
Avi Weinstock
a220cc569e Add resolution downscaling to QuadPng's color channel, and use half-resolution QuadPng ingame. 2021-05-03 00:09:24 -04:00
Avi Weinstock
f81539cb00 Get PngPngPngJpeg terrain working in the actual game. 2021-05-03 00:09:24 -04:00
Avi Weinstock
a9a943c19a Move compression helpers to common_net::msg::compression and experiment with more image formats at more site kinds. 2021-05-03 00:09:24 -04:00
Avi Weinstock
71220fd624 Add JPEG, PNG, and mixed compression for terrain. 2021-05-03 00:09:24 -04:00
James Melkonian
f553700e8c Add map markers for lakes and mountains 2021-05-03 02:00:23 +00:00
DaforLynx
2e0272ce28 Town music 2021-04-28 05:07:59 +00:00
Snowram
ab26efa970 Improves bird_large anims 2021-04-25 04:07:09 +02:00
Snowram
bd84677906 Day period dependant wildlife spawns 2021-04-25 02:14:51 +02:00
Snowram
fd177c9669 Breathe and stun anims 2021-04-25 02:14:50 +02:00
Snowram
eb98360183 Cockatrice bird_large conversion 2021-04-25 02:14:50 +02:00
Marcel
e14f8b9745 Merge branch 'aweinstock/deflate-terrain' into 'master'
Compress terrain chunks with deflate. Includes a benchmark showing that this...

See merge request veloren/veloren!2166
2021-04-22 17:12:53 +00:00
Ludvig Böklin
1708b8b4cc Space wildlife group spawns apart to prevent spawnplosions 2021-04-22 08:50:20 +00:00