neoark found a better fix posted in this thread:
www.hiveworkshop.com
---
The campaign on patch 1.30 has plenty of voice lines and sounds not working, such as Maiev's Tor ilisar'thera'nal! on the 4th Night Elf X mission; footmen shouting Attack! on the 5th Human mission; meat wagon sounds during the intro cinematic and Tichondrius's voice lines when you meet him at the southern part of the 2th Undead mission; etc.
I believe to have found the needed modifications for the campaign files that restore those sounds and I have attached the end result as a zip file. Extracting the archive inside your WarCraft III folder and allowing Local Files in your registry is all you need. Unfortunately, your current saves for the campaign won't work, but all your items and hero progression will be kept.
What I've done is that I extracted the war3map.j files from each campaign map and replaced all mentions of
with
SetSoundParamsFromLabel() seems to be causing the issues and the Frozen Throne campaign files on patch 1.32 and later seem to try and avoid this function and instead use SetSoundChannel( x, 0 ), SetSoundVolume( x, 127 ), and SetSoundPitch( x, 1.0 ). It appears that sound channel 0 is always being used on patch 1.32 and later. From my initial testing on 1.30, it's voice lines and sounds that are stored inside of UnitAckSounds.slk and AmbienceSounds.slk that don't work. Removing MaievWarcry1 from UnitAckSounds.slk would restore her voice line in the cinematic, but would stop it from working during gameplay. It sounds to me that SetSoundParamsFromLabel() somehow creates a duplicate of the MaievWarcry1 variable and that somehow corrupts the sound.
It's a shame since I consider patch 1.30 to be the best way to play the classic campaign. Patch 1.29 introduced native widescreen resolutions but still had ambient sounds disabled (which add a lot to the immersion while playing the campaign! Maybe not so much during mutiplayer or custom games...). Patch 1.30 migrated the sound system to FMOD and restored the ambient sounds, but apparently caused some sounds to not play - which I hope my fix resolved. Patch 1.31, the last non-Reforged one, added a lot of campaign bugs, such as missing hero inventories. Also, patch 1.30 reaches much higher FPS easily, running close to 200 FPS on my laptop while older version barely manage 60 FPS (I assume because of older DirectX versions and the pre-FMOD sound system? Not sure.).
I'm wondering if there's a cleaner fix for this, but from my absolutely non-exhaustive testing everyting seems good so far.
Fixed sounds in the 1.30.4 campaign + Nature's Blessing bug in Ruins of Dalaran
TLDR: I've attached the fixed mission files (for the English version of the game) as a ZIP file, simply extracting the Maps folder into your WarCraft III game folder (version 1.30.4) and allowing the use of Local Files will resolve the mentioned issues. Personally for me, 1.30.4 is the best way...
---
The campaign on patch 1.30 has plenty of voice lines and sounds not working, such as Maiev's Tor ilisar'thera'nal! on the 4th Night Elf X mission; footmen shouting Attack! on the 5th Human mission; meat wagon sounds during the intro cinematic and Tichondrius's voice lines when you meet him at the southern part of the 2th Undead mission; etc.
I believe to have found the needed modifications for the campaign files that restore those sounds and I have attached the end result as a zip file. Extracting the archive inside your WarCraft III folder and allowing Local Files in your registry is all you need. Unfortunately, your current saves for the campaign won't work, but all your items and hero progression will be kept.
What I've done is that I extracted the war3map.j files from each campaign map and replaced all mentions of
JASS:
call SetSoundParamsFromLabel( gg_snd_MaievWarcry1, "MaievWarcry" )
call SetSoundDuration( gg_snd_MaievWarcry1, 1585 )
JASS:
call SetSoundDuration( gg_snd_MaievWarcry1, 1585 )
call SetSoundChannel( gg_snd_MaievWarcry1, 0 )
call SetSoundVolume( gg_snd_MaievWarcry1, 127 )
call SetSoundPitch( gg_snd_MaievWarcry1, 1.0 )
SetSoundParamsFromLabel() seems to be causing the issues and the Frozen Throne campaign files on patch 1.32 and later seem to try and avoid this function and instead use SetSoundChannel( x, 0 ), SetSoundVolume( x, 127 ), and SetSoundPitch( x, 1.0 ). It appears that sound channel 0 is always being used on patch 1.32 and later. From my initial testing on 1.30, it's voice lines and sounds that are stored inside of UnitAckSounds.slk and AmbienceSounds.slk that don't work. Removing MaievWarcry1 from UnitAckSounds.slk would restore her voice line in the cinematic, but would stop it from working during gameplay. It sounds to me that SetSoundParamsFromLabel() somehow creates a duplicate of the MaievWarcry1 variable and that somehow corrupts the sound.
It's a shame since I consider patch 1.30 to be the best way to play the classic campaign. Patch 1.29 introduced native widescreen resolutions but still had ambient sounds disabled (which add a lot to the immersion while playing the campaign! Maybe not so much during mutiplayer or custom games...). Patch 1.30 migrated the sound system to FMOD and restored the ambient sounds, but apparently caused some sounds to not play - which I hope my fix resolved. Patch 1.31, the last non-Reforged one, added a lot of campaign bugs, such as missing hero inventories. Also, patch 1.30 reaches much higher FPS easily, running close to 200 FPS on my laptop while older version barely manage 60 FPS (I assume because of older DirectX versions and the pre-FMOD sound system? Not sure.).
I'm wondering if there's a cleaner fix for this, but from my absolutely non-exhaustive testing everyting seems good so far.
Attachments
Last edited by a moderator:
