From fe481d7445604f048f22df47ccfa3da30be6ebba Mon Sep 17 00:00:00 2001 From: alzeih Date: Sat, 14 Aug 2010 21:44:40 +1200 Subject: [PATCH] Fix #36 - add to ra - add default variant --- OpenRA.Game/GameRules/VoiceInfo.cs | 1 + OpenRA.Game/Sound.cs | 9 ++++++++- mods/ra/voices.yaml | 15 +++++++++------ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/OpenRA.Game/GameRules/VoiceInfo.cs b/OpenRA.Game/GameRules/VoiceInfo.cs index 80f3583791..80da5bb745 100644 --- a/OpenRA.Game/GameRules/VoiceInfo.cs +++ b/OpenRA.Game/GameRules/VoiceInfo.cs @@ -17,6 +17,7 @@ namespace OpenRA.GameRules public class VoiceInfo { public readonly Dictionary Variants; + public readonly string DefaultVariant = ".aud" ; public readonly string[] Select = { }; public readonly string[] Move = { }; public readonly string[] Attack = null; diff --git a/OpenRA.Game/Sound.cs b/OpenRA.Game/Sound.cs index 68f4bb8de3..49133c07ae 100644 --- a/OpenRA.Game/Sound.cs +++ b/OpenRA.Game/Sound.cs @@ -202,8 +202,15 @@ namespace OpenRA Play(clip); return true; } + + if (vi.Variants.Count == 0) + { + Play(clip + vi.DefaultVariant); + return true; + } - var variantext = vi.Variants[variant][voicedUnit.ActorID % vi.Variants.Count]; + var variantext = vi.Variants.ContainsKey(variant)? + vi.Variants[variant][voicedUnit.ActorID % vi.Variants.Count] : vi.DefaultVariant; Play(clip + variantext); return true; } diff --git a/mods/ra/voices.yaml b/mods/ra/voices.yaml index f3cb8ce2a3..f0e74c1930 100644 --- a/mods/ra/voices.yaml +++ b/mods/ra/voices.yaml @@ -1,21 +1,24 @@ # Classic Red Alert Mod -- Package Manifest GenericVoice: - SovietVariants: .r01,.r03 - AlliedVariants: .v01,.v03 + Variants: + soviet: .r01,.r03 + allies: .v01,.v03 Select: await1,ready,report1,yessir1 Move: ackno,affirm1,noprob,overout,ritaway,roger,ugotit Die: dedman1.aud,dedman2.aud,dedman3.aud,dedman4.aud,dedman5.aud,dedman6.aud,dedman7.aud,dedman8.aud,dedman10.aud VehicleVoice: - SovietVariants: .r00,.r02 - AlliedVariants: .v00,.v02 + Variants: + soviet: .r00,.r02 + allies: .v00,.v02 Select: vehic1,yessir1,report1,await1 Move: ackno,affirm1 ShipVoice: - SovietVariants: .r00,.r02 - AlliedVariants: .v00,.v02 + Variants: + soviet: .r00,.r02 + allies: .v00,.v02 Select: vehic1,yessir1,report1,await1 Move: ackno,affirm1