Commit Graph

435 Commits

Author SHA1 Message Date
Marcel Märtens
8687740265 fix clippy warnings in new version 2020-08-17 11:10:18 +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
Monty Marz
6789b7ae27 Add firework hues 2020-08-12 22:29:06 +08:00
scott-c
0ace0acdcd update comment 2020-08-08 19:26:52 +08:00
scott-c
a0107d5cda fix rebase 2020-08-08 19:26:52 +08:00
scott-c
bf025df204 refactor sfx mgr outcome useage 2020-08-08 19:26:52 +08:00
scott-c
bb8ba75287 cleanup redundant function 2020-08-08 19:26:52 +08:00
Joshua Barretto
a924f9694d Explosion sound and event lights 2020-08-08 19:26:52 +08:00
Joshua Barretto
8547cdd681 Added outcome sound effects, fixed directional sound, particle outcomes 2020-08-08 19:26:52 +08:00
Joshua Barretto
7c31baef6f Added outcome system, sound effects 2020-08-08 19:26:48 +08:00
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
Snowram
fe1656931c Add legs to quadruped_medium 2020-07-05 09:38:12 -04:00
Ben Wallis
dc1844b489 Moved sfx from common to voxygen 2020-06-28 18:16:22 +01: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
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
af3af6c169 Convert voxygen to use tracing
There are several noteable changes in this commit that mean that logging
will behave differently to how it did previously.

- There are now no separate filter levels for terminal and file output.
This is a feature that is lacking in `tracing` but is set to be resolved
by https://github.com/tokio-rs/tracing/pull/508. At which point we MAY
include it.

- The default log level was previously `WARN` - it is now `INFO`.
2020-06-21 23:17:25 +08:00
Ben Wallis
6da7a11d33 Fixed suppressed clippy warnings for #587 - clone_on_copy 2020-06-18 22:25:48 +01:00
Shane Handley
825cf98a00 Fixes a bug where run sfx were being played during a roll. 2020-06-15 06:53:50 +10:00
Imbris
4901dde20d Merge branch 'shandley/docs-audio' into 'master'
Add documentation for audio module.

See merge request veloren/veloren!1060
2020-06-14 16:56:32 +00:00
S Handley
00dd75526c Add documentation for audio module. 2020-06-14 16:56:32 +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
S Handley
eda2f14940 Use empty sound data when a sound file cannot be loaded 2020-06-11 12:53:24 +00: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
Shane Handley
6a1cec8860 Docs, make adding event mappers easier for sfx, remove placeholder
sounds.
2020-06-09 00:41:46 +10:00
Shane Handley
faf04bb4f3 Fix some updated weapon references and an incomplete match after rebasing. 2020-06-08 10:19:42 +10:00
Shane Handley
987a025d36 Introduce a ToolCategory so we can ignore the specific type of weapon
when deciding on the SFX to play when wielding/attacking.
2020-06-08 10:19:42 +10:00
Shane Handley
802bce1698 Target the specific attack types, to handle TripeStrike etc...
Removed the Axe sfx until the animations show the swing
2020-06-08 10:19:41 +10:00
Shane Handley
d5cc5c8537 Add initial attack sfx code with bow shot sounds. 2020-06-08 10:19:41 +10:00
Ben Wallis
1d564f53c7 Fix #322 - Refactored audio output device enumeration to fail gracefully when audio devices with null or otherwise unusable names are encountered 2020-06-07 16:24:22 +01:00
Monty Marz
c792cc05a9 Villagers and Cultists 2020-04-30 20:43:24 +00:00
Joshua Barretto
390e46b752 Fixed unit tests 2020-04-26 18:50:21 +01:00
Shane Handley
3e4b40380f fix: Restore run SFX when the character is using a weapon other than the sword. 2020-04-02 14:47:26 +11:00
Imbris
97148cb6bb Merge branch 'master' into 'combat'
# Conflicts:
#   CHANGELOG.md
2020-04-01 20:42:27 +00:00
Imbris
87a82bb59a Fix tests 2020-04-01 11:41:26 -04:00
Marli Frost
c82d1b9316
allow the game to start without an audio device 2020-03-31 21:27:55 +01:00
Imbris
ba3fa16c33 Create Dir type for better enforcement of non NaN, normalized representations of directions 2020-03-27 22:02:07 -04:00
Shane Handley
362771be4b SFX and unit test fixes. 2020-03-27 12:06:25 +11:00
Imbris
41c424ac13 Optimized uses of emitters, cleanup 2020-03-22 00:49:46 -04:00
Adam Whitehurst
49c7143144 Clean up warnings 2020-03-07 13:03:10 -08:00
Adam Whitehurst
54a7112ad9 resolve conflicts merging master -> clientstates 2020-03-07 12:49:48 -08:00
Adam Whitehurst
096d3b691e Merge master 2020-03-07 12:49:15 -08:00
Adam Whitehurst
b1d1299fe6 Clean up character states 2020-03-07 10:15:02 -08: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
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
S Handley
daa0a10c2c Revert "Do that better, and add a TODO."
This reverts commit 9b0f11bd89.

It wasn't better.
2020-03-01 19:45:05 +00:00
Shane Handley
0d2b26a3b8 SFX Fixes - Reinstate run, uncomment tests and make them pass, adjust
config.
2020-02-25 22:03:29 +09:00
Shane Handley
d6f72876e9 Fix tests for movement sfx. 2020-02-25 10:01:41 +09: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
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
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
timokoesters
0bc07a0835 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-03 22:02:32 +01:00
S Handley
b7ce91fead Move music under audio
Also add some blank time after each track so that we get some silence
between tracks.
2020-02-03 11:55:32 +00:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
timokoesters
7b558b4542 refactor: combine actionstate and movestate 2020-01-21 23:54:59 +01:00
S Handley
b44955ba30 Remove currently unused audio assets
This clears out about 56MB of unused audio files.

There were also some unused methods in the audio modules which
referenced a file, which has also been removed.
2020-01-20 15:07:30 +00:00
S Handley
309834df1b fix: Prevent dispatching Run SFX if an entity is not moving
This adds the entity's velocity as an argument when mapping the
movement state to an SFX event, and prevents the run SFX from being
returned if the velocity is below a threshold.

This will prevent hearing the run sfx when stuck in a corner, or running
into a surface where the character is not actually moving their feet.
2020-01-18 18:49:17 +00:00
AdamWhitehurst
976eface66 Update from MR comments 2020-01-17 08:39:21 -08:00
Adam Whitehurst
5959d2a5c7 Fix SFX and Assets 2020-01-16 05:28:45 -08:00
Adam Whitehurst
d82e93b39f Merge master and build 2020-01-16 05:27:30 -08:00
S Handley
00c1493548 Play the Run SFX when a character lands after jumping or falling
This is a small detail but makes a noticable difference.
2020-01-12 16:35:20 +00:00
AdamWhitehurst
de36e75264 Fix imports, update matches 2020-01-08 11:31:42 -08:00
Adam Whitehurst
8648641362 Grooming 2020-01-07 07:49:08 -08:00
S Handley
2644e29484 Refactor and Rename for clarity
Implements a potential structure for splitting the SFX event mapping
into smaller individual files for maintainability.

- Remove inventory events for now: For a later commit.
- No longer panic when there is a failure parsing the sfx file: log the error and not play sfx.
2020-01-01 02:55:48 +00:00
AdamWhitehurst
b67a4835f4 Update disabled state flags 2019-12-31 05:19:23 -08:00
AdamWhitehurst
ba7ca785f6 Successful build 2019-12-30 05:56:42 -08:00
AdamWhitehurst
ca44497258 Add movement_utils 2019-12-28 08:10:39 -08:00
AdamWhitehurst
8e0317e03d refactor states to handle update logic 2019-12-26 06:43:59 -08:00
AdamWhitehurst
c2ceabea0e finish movment states handle() fn logic 2019-12-22 08:08:48 -08:00
AdamWhitehurst
1ab09220b0 Rudimentary Stand State handle() move 2019-12-21 07:57:15 -08:00
Imbris
d341073a44 Upgrade to specs 0.15.1 2019-12-20 22:48:14 -05:00
S Handley
8c5320d20f Update title music and temporarily remove attack sfx
- Updated title music with a version provided by aeronic which fades out
more gracefully
- Removed attack SFX as it was included in the movement processing, but
will return later as part of a similar chunk of code which processes
combat sfx independent of movement.
2019-12-20 04:04:05 +00:00
S Handley
da2d36ed76 (fix) Set the music and sfx volumes immediately after initialising the
audio frontend.

Fixes #373
2019-12-10 14:02:51 +00:00
Adam Whitehurst
20575e0aab Update controller 2019-12-09 14:45:10 +00:00
S Handley
56f9c5d35f Fix the glider_close sfx event
This was failing to trigger since we now have a MovementState::Fall, but
the sfx mapper was still trying to work this out itself based on
velocity. We no longer need to track velocity as a result and can use
the MovementState.

Also silenced warnings resulting from unused vars when running tests.
2019-12-09 09:50:14 +00:00
Adam Whitehurst
92d99af53c feat: weapon-type dependent wield and attack durations
also some controller.rs cleanup
2019-12-03 06:30:08 +00:00
S Handley
ea2e0d17de SFX system
This is an event based approach to SFX sounds. There is a specific
character sound event mapper which determines sfx to play based on
character or NPC state, as well as emitting sfx events for
non-character-triggers such as levelling up.
2019-11-23 08:26:39 +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
Monty Marz
11a022abb3 Better stepping sounds (and minor voxel model fixes) 2019-09-27 16:04:22 +00:00
Shane Handley
ef3ad3519b Update previous references to 'volume' to prevent ambiguity. Update label for audio device selection in settings dialog. I don't think it is displayed, but maybe useful for documentation. 2019-09-25 01:25:24 +09:00
Shane Handley
8cf6546dec Add an additional SFX Volume control to the in-game settings dialog and supporting events. 2019-09-25 01:18:09 +09:00
Geno
247f0818c1 Footstep volume fix 2019-09-08 15:47:52 +00:00
timokoesters
9f83130466
Fix audio 2019-09-07 11:46:21 +02:00
Louis Pearson
02af86d2d6 Change ear pos to Vec3 2019-09-06 04:44:15 -06:00
Louis Pearson
675d72a3ce Code cleanup 2019-09-06 04:36:42 -06:00
Louis Pearson
57fe89e5c8 Fix warnings 2019-09-06 04:25:17 -06:00
Louis Pearson
8e5f993a5b Format files 2019-09-05 03:11:18 -06:00
Louis Pearson
2bca20cf69 Get sound effects working 2019-09-05 03:08:09 -06:00
Louis Pearson
529cb40dc4 Add soundcache
Still getting the stuttering. Time to rethink channels
2019-09-05 03:08:09 -06:00
Louis Pearson
65008f7d54 Adds proper 3d sound?
Looks like loading the footstep files every time a sound is played
becomes a problem rather quickly.
2019-09-05 03:08:09 -06:00
Louis Pearson
00830108e9 Add positional audio
Orientation needs to be set now
2019-09-05 03:08:09 -06:00
Louis Pearson
ad3bd0b2ce Add footstep sounds, implement crude footstep sounding
Sounds are played every tick, which is not good.
2019-09-05 03:08:09 -06:00
Louis Pearson
41cd20aaf8 Add play_music call to audiofrontend 2019-09-05 03:08:09 -06:00
Louis Pearson
132d108086 Remove audio/base.rs 2019-09-05 03:08:09 -06:00
Louis Pearson
447cfec19f Add support for fading sounds 2019-09-05 03:08:09 -06:00
Louis Pearson
9dc1f8f549 Revamp AudioFrontend
audio::base had a lot of unnescessary abstractions and constructs.
The current code simplifies the API in a way that makes sense and
that will allow sound effects and fading to be added in an incremental
way.
2019-09-05 03:08:09 -06:00
Acrimon
fda47fc322 [Voxygen] Switch mutexes to parking_lot and channels to crossbeam. 2019-08-16 00:07:09 +02:00
timokoesters
1227596406 Implement specifier syntax and cleanup 2019-08-06 08:31:48 +02:00
Sheldon Knuth
c2fa8bd615 [FIX] Callback hell of AudioDevice construction while opening audio settings window. 2019-07-23 09:54:41 +00:00
Songtronix
9007f4aa5a Adjust volume on startup 2019-07-07 14:12:28 +00:00
Songtronix
61d0474e6c comment out unused structs/functions in voxygen/audio 2019-07-04 14:27:28 +00:00
timokoesters
d7c159a4e1
Fix warnings all around voxygen 2019-07-04 14:08:01 +02:00
Sheldon Knuth
6d624e96a6 fix the missing set_playing(true) in AudioPlayer::load() to prevent infinity thread loop & adopt std::sync::{Mutex, Condvar} for accurate thread blocking. 2019-07-03 17:23:24 +00:00
Sheldon Knuth
c3671590e9 Loading no-audio mode from the game start without rodio crate initialisation completely 2019-07-02 18:35:40 +00:00
Joshua Barretto
6dae0c8cd2 Revamped asset loading system 2019-07-02 14:15:53 +01:00
Sheldon Knuth
0ec240ea8e Revamping the audio system for Voxygen from #163 2019-07-02 13:52:51 +01:00
Sheldon Knuth
de9d05999d Removed send_msg in Action::Load(path) => ... due to non-existed receiver. 2019-07-02 20:04:24 +08:00
Sheldon Knuth
cdda20a1e8 hotfix on assets_folder issue by increasing the depth to 3. 2019-07-02 19:43:38 +08:00
Sheldon Knuth
ee32f752a6 add no-audio feature while constructing AudioFrontend with no_audio(). 2019-07-02 11:45:28 +08:00
Sheldon Knuth
7f7d35fe7f fix audio thread by removing PopError but use customised block function instead. 2019-07-02 11:29:00 +08:00
Sheldon Knuth
d75d632279 Add mpmc support to audio-base. 2019-07-02 11:29:00 +08:00
Mckol
b5db5b8d3d Added error logging 2019-06-28 20:22:43 +02:00
Mckol
f1b1c41d92 Added catching audio panics
You can still make it panic by poisoning some variable if you try to change the audio device in settings after launch`
2019-06-28 20:22:43 +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
Cody
a258be7aac
Fixes some typos, comment inconsistencies, and incorrect naming conventions. 2019-05-31 16:36:16 -04:00
Louis Pearson
a3dafde081 Add better version of Snowtop
Former-commit-id: ea47207ec7651d8c7eedea14f77399e96c3546b6
2019-05-28 15:01:10 -06:00
Louis Pearson
e78ae4fefc Remove hacks, clean up crufty code
Former-commit-id: 7c10103235e8d9e2967baa1f8e33d68995bdf4d5
2019-05-22 05:29:38 -06:00
Louis Pearson
affa5c081e Temporarily remove Ruination
Former-commit-id: a63df9eaf187f7786b9a2a0e50194c3a7866edbe
2019-05-22 03:00:16 -06:00
Louis Pearson
eeceef12ef Prevent framerate drop when accessing settings menu
Former-commit-id: f51d1b700cd328b8156c7df97d6524277cc0718b
2019-05-21 16:44:51 -06:00
Louis Pearson
9f1c70792f Move to using only global_state for settings menu
Former-commit-id: bb86c851f51c02af1a25d57f2be95d1947b330ad
2019-05-21 16:44:51 -06:00
Louis Pearson
c8928587dd Allow user to change audio device in the settings menu
Former-commit-id: 645b91182509da70075bb57f8ea6f9cd638c0d8e
2019-05-21 16:44:51 -06:00
Louis Pearson
0437f88601 Prevent audio crashes by blocking jack by default
Former-commit-id: 61243a38667f64d1c8f106b1191ae876fc652c63
2019-05-21 16:44:51 -06:00
Louis Pearson
8dc35b8609 Add audio to settings
Former-commit-id: 6e18b95bb3460a3b6d971b89c767045dcdbe7344
2019-05-21 16:44:51 -06:00
Louis Pearson
7cfd3ad1cd Add field_grazing.ogg
Former-commit-id: 36a5bf4a9af2d89e9acd8dd7404c0b4eb1836f5b
2019-05-21 16:44:51 -06:00
Imbris
39caf7e51b Don't allow negative volumes
Former-commit-id: 35a52235fa4194d40ffc0d8d3243d0653dcca0a5
2019-05-19 17:50:20 -04:00
Imbris
888bd65036 Add volume adjustment, lower default volume
Former-commit-id: 1b581ef16ceb4a7a26772352d24df9c84d846c88
2019-05-19 15:31:32 -04:00
Louis Pearson
b0f26633d3 Remove lewton, fix filename issue
Former-commit-id: 067f3bfe8ea4f20741107689bf55b01d7580b983
2019-05-18 14:26:16 -06:00
Louis Pearson
22286c24e6 Play random music whenever a track ends
To support this, a global_state.maintain() method was added that calls
audio.maintain().


Former-commit-id: e5d20719291ee17096070dfcacec760e45937f7a
2019-05-18 13:53:57 -06:00
Louis Pearson
315767f19f Add code to ignore jack as an audio device
Former-commit-id: 1dbaa796f82f2e9be26a3648e9aaca81f3348134
2019-05-18 13:53:57 -06:00