diff --git a/OpenRA.Game/GameRules/MusicInfo.cs b/OpenRA.Game/GameRules/MusicInfo.cs index 68ee8c63f7..dd91bed550 100644 --- a/OpenRA.Game/GameRules/MusicInfo.cs +++ b/OpenRA.Game/GameRules/MusicInfo.cs @@ -32,21 +32,9 @@ namespace OpenRA.GameRules var ext = nd.ContainsKey("Extension") ? nd["Extension"].Value : "aud"; Filename = (nd.ContainsKey("Filename") ? nd["Filename"].Value : key) + "." + ext; - - if (!GlobalFileSystem.Exists(Filename)) - return; - - Exists = true; - using (var s = GlobalFileSystem.Open(Filename)) - { - if (Filename.ToLowerInvariant().EndsWith("wav")) - Length = (int)WavLoader.WaveLength(s); - else - Length = (int)AudLoader.SoundLength(s); - } } - public void Reload() + public void Load() { if (!GlobalFileSystem.Exists(Filename)) return; diff --git a/OpenRA.Game/ModData.cs b/OpenRA.Game/ModData.cs index 4042318503..129e8cff81 100644 --- a/OpenRA.Game/ModData.cs +++ b/OpenRA.Game/ModData.cs @@ -171,6 +171,11 @@ namespace OpenRA using (new Support.PerfTimer("Map.SequenceProvider.Preload")) map.SequenceProvider.Preload(); + // Load music with map assets mounted + using (new Support.PerfTimer("Map.Music")) + foreach (var entry in map.Rules.Music) + entry.Value.Load(); + VoxelProvider.Initialize(Manifest.VoxelSequences, map.VoxelSequenceDefinitions); VoxelLoader.Finish(); diff --git a/mods/ra/maps/fort-lonestar/map.yaml b/mods/ra/maps/fort-lonestar/map.yaml index 5c45a30526..a5ae931d70 100644 --- a/mods/ra/maps/fort-lonestar/map.yaml +++ b/mods/ra/maps/fort-lonestar/map.yaml @@ -23,7 +23,6 @@ Videos: Music: rain: Rain (ambient) Hidden: true - Filename: ./mods/ra/maps/fort-lonestar/rain Options: Fog: True