From 0ef29a6989162bbee3dfc9184acb514078571acb Mon Sep 17 00:00:00 2001 From: Joshua Barretto Date: Tue, 15 Jun 2021 17:57:52 +0100 Subject: [PATCH] VoiceKind for better sound effect specs --- assets/voxygen/audio/sfx.ron | 15 +++++++- .../audio/sfx/utterance/ogre_angry2.ogg | 4 +-- .../audio/sfx/utterance/ogre_angry3.ogg | 3 -- .../audio/sfx/utterance/saurok_angry.ogg | 3 ++ .../audio/sfx/utterance/wendigo_angry.mp3 | Bin 64307 -> 0 bytes common/src/comp/mod.rs | 3 +- common/systems/src/controller.rs | 7 ++-- server/src/events/interaction.rs | 9 +++-- server/src/sys/agent.rs | 2 +- voxygen/src/audio/sfx/mod.rs | 34 ++++++++++++++---- 10 files changed, 59 insertions(+), 21 deletions(-) delete mode 100644 assets/voxygen/audio/sfx/utterance/ogre_angry3.ogg create mode 100644 assets/voxygen/audio/sfx/utterance/saurok_angry.ogg delete mode 100644 assets/voxygen/audio/sfx/utterance/wendigo_angry.mp3 diff --git a/assets/voxygen/audio/sfx.ron b/assets/voxygen/audio/sfx.ron index 3eb3a6d828..cecb6f25d0 100644 --- a/assets/voxygen/audio/sfx.ron +++ b/assets/voxygen/audio/sfx.ron @@ -831,11 +831,24 @@ ], threshold: 0.2, ), - Utterance(Angry, BipedLarge((species: Wendigo, body_type: Female))): ( + Utterance(Angry, Wendigo): ( files: [ "voxygen.audio.sfx.utterance.wendigo_angry", ], threshold: 4.0, ), + Utterance(Angry, BipedLarge): ( + files: [ + "voxygen.audio.sfx.utterance.ogre_angry", + "voxygen.audio.sfx.utterance.ogre_angry2", + ], + threshold: 4.0, + ), + Utterance(Angry, Saurok): ( + files: [ + "voxygen.audio.sfx.utterance.saurok_angry", + ], + threshold: 4.0, + ), } ) diff --git a/assets/voxygen/audio/sfx/utterance/ogre_angry2.ogg b/assets/voxygen/audio/sfx/utterance/ogre_angry2.ogg index 65c67e368c..da49817cca 100644 --- a/assets/voxygen/audio/sfx/utterance/ogre_angry2.ogg +++ b/assets/voxygen/audio/sfx/utterance/ogre_angry2.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:83bbec96fb1192ac5d5c0907062242c5c37ba7f8e6f330556ee22e29423f14c6 -size 53337 +oid sha256:5c97dcb8f2ff2543a041d07147c04a74b59e43421dd7452eccb095a947bd7466 +size 52973 diff --git a/assets/voxygen/audio/sfx/utterance/ogre_angry3.ogg b/assets/voxygen/audio/sfx/utterance/ogre_angry3.ogg deleted file mode 100644 index f4080ed7c2..0000000000 --- a/assets/voxygen/audio/sfx/utterance/ogre_angry3.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9f4ad549122e5fec0722260c11309079e99e20ec9d42be3655a44a416027d3f9 -size 55056 diff --git a/assets/voxygen/audio/sfx/utterance/saurok_angry.ogg b/assets/voxygen/audio/sfx/utterance/saurok_angry.ogg new file mode 100644 index 0000000000..a550c1bbe2 --- /dev/null +++ b/assets/voxygen/audio/sfx/utterance/saurok_angry.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f859d590ac38bac163f0821eec8e2157f4f021d34d59575ccca2aeedde919ce +size 56816 diff --git a/assets/voxygen/audio/sfx/utterance/wendigo_angry.mp3 b/assets/voxygen/audio/sfx/utterance/wendigo_angry.mp3 deleted file mode 100644 index 87d5aec70f739eaa729bacb12fcb87c9a4f950a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64307 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 diff --git a/common/src/comp/mod.rs b/common/src/comp/mod.rs index c8998b4a7d..2242ad236e 100644 --- a/common/src/comp/mod.rs +++ b/common/src/comp/mod.rs @@ -67,7 +67,8 @@ pub use self::{ combo::Combo, controller::{ Climb, ControlAction, ControlEvent, Controller, ControllerInputs, GroupManip, InputAttr, - InputKind, InventoryAction, InventoryEvent, InventoryManip, MountState, Mounting, UtteranceKind, + InputKind, InventoryAction, InventoryEvent, InventoryManip, MountState, Mounting, + UtteranceKind, }, energy::{Energy, EnergyChange, EnergySource}, fluid_dynamics::Fluid, diff --git a/common/systems/src/controller.rs b/common/systems/src/controller.rs index daeb8f36e3..c576e22dc6 100644 --- a/common/systems/src/controller.rs +++ b/common/systems/src/controller.rs @@ -1,5 +1,8 @@ use common::{ - comp::{BuffChange, ControlEvent, Controller, Pos, Body, agent::{Sound, SoundKind}}, + comp::{ + agent::{Sound, SoundKind}, + Body, BuffChange, ControlEvent, Controller, Pos, + }, event::{EventBus, ServerEvent}, uid::UidAllocator, }; @@ -7,7 +10,7 @@ use common_ecs::{Job, Origin, Phase, System}; use specs::{ saveload::{Marker, MarkerAllocator}, shred::ResourceId, - Entities, Join, Read, SystemData, World, WriteStorage, ReadStorage, + Entities, Join, Read, ReadStorage, SystemData, World, WriteStorage, }; use vek::*; diff --git a/server/src/events/interaction.rs b/server/src/events/interaction.rs index f3b380f231..3a04f63aec 100644 --- a/server/src/events/interaction.rs +++ b/server/src/events/interaction.rs @@ -6,7 +6,7 @@ use common::{ assets, comp::{ self, - agent::{AgentEvent, Sound, MAX_LISTEN_DIST, SoundKind}, + agent::{AgentEvent, Sound, SoundKind, MAX_LISTEN_DIST}, dialogue::Subject, inventory::slot::EquipSlot, item, @@ -386,7 +386,8 @@ pub fn handle_sound(server: &mut Server, sound: &Sound) { let positions = &ecs.read_storage::(); let agents = &mut ecs.write_storage::(); - // TODO: Reduce the complexity of this problem by using spatial partitioning system + // TODO: Reduce the complexity of this problem by using spatial partitioning + // system for (agent, agent_pos) in (agents, positions).join() { // TODO: Use pathfinding for more dropoff around obstacles let agent_dist_sqrd = agent_pos.0.distance_squared(sound.pos); @@ -413,9 +414,7 @@ pub fn handle_sound(server: &mut Server, sound: &Sound) { }), _ => None, } { - ecs - .write_resource::>() - .push(outcome); + ecs.write_resource::>().push(outcome); } } } diff --git a/server/src/sys/agent.rs b/server/src/sys/agent.rs index 67dc39634d..b0b3d88e34 100644 --- a/server/src/sys/agent.rs +++ b/server/src/sys/agent.rs @@ -21,7 +21,7 @@ use common::{ Agent, Alignment, BehaviorCapability, BehaviorState, Body, CharacterAbility, CharacterState, ControlAction, ControlEvent, Controller, Energy, Health, HealthChange, InputKind, Inventory, InventoryAction, LightEmitter, MountState, Ori, PhysicsState, Pos, - Scale, SkillSet, Stats, UnresolvedChatMsg, Vel, UtteranceKind, + Scale, SkillSet, Stats, UnresolvedChatMsg, UtteranceKind, Vel, }, consts::GRAVITY, effect::{BuffEffect, Effect}, diff --git a/voxygen/src/audio/sfx/mod.rs b/voxygen/src/audio/sfx/mod.rs index 57198031ed..782825d0a4 100644 --- a/voxygen/src/audio/sfx/mod.rs +++ b/voxygen/src/audio/sfx/mod.rs @@ -91,12 +91,11 @@ use client::Client; use common::{ assets::{self, AssetExt, AssetHandle}, comp::{ - beam, + beam, biped_large, item::{ItemKind, ToolKind}, object, poise::PoiseState, - Body, CharacterAbilityType, InventoryUpdateEvent, - UtteranceKind, + Body, CharacterAbilityType, InventoryUpdateEvent, UtteranceKind, }, outcome::Outcome, terrain::{BlockKind, TerrainChunk}, @@ -183,7 +182,29 @@ pub enum SfxEvent { FlameThrower, PoiseChange(PoiseState), GroundSlam, - Utterance(UtteranceKind, Body), + Utterance(UtteranceKind, VoiceKind), +} + +#[derive(Clone, Debug, PartialEq, Deserialize, Hash, Eq)] +pub enum VoiceKind { + Mute, + Human, + BipedLarge, + Wendigo, + Saurok, +} + +fn body_to_voice(body: &Body) -> VoiceKind { + match body { + Body::BipedLarge(body) => match body.species { + biped_large::Species::Wendigo => VoiceKind::Wendigo, + biped_large::Species::Occultsaurok + | biped_large::Species::Mightysaurok + | biped_large::Species::Slysaurok => VoiceKind::Saurok, + _ => VoiceKind::BipedLarge, + }, + _ => VoiceKind::Mute, + } } #[derive(Clone, Debug, PartialEq, Deserialize, Hash, Eq)] @@ -455,8 +476,9 @@ impl SfxMgr { }, }, Outcome::Utterance { pos, kind, body } => { - let sfx_trigger_item = triggers.get_key_value(&SfxEvent::Utterance(*kind, *body)); - audio.emit_sfx(sfx_trigger_item, *pos, None, false); + let sfx_trigger_item = + triggers.get_key_value(&SfxEvent::Utterance(*kind, body_to_voice(body))); + audio.emit_sfx(sfx_trigger_item, *pos, Some(2.5), false); }, Outcome::ExpChange { .. } | Outcome::ComboChange { .. }