hedgewars/uSound.pas
changeset 13288 ee8c6eb0ab47
parent 13287 29055da6a6cd
child 13495 f725701ca529
--- a/hedgewars/uSound.pas	Tue Mar 27 22:45:31 2018 +0200
+++ b/hedgewars/uSound.pas	Tue Mar 27 23:01:22 2018 +0200
@@ -459,10 +459,15 @@
         if (voicepack^.chunks[snd] = nil) and (Soundz[snd].Path = ptVoices) and (Soundz[snd].FileName <> '') then
             begin
             s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
-            // Fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
-            if (not pfsExists(s)) and (snd in [sndFirePunch2, sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6]) then
+            // Fallback to sndFirePunch1 / sndOw1 / sndOoff1 if a “higher-numbered” sound is missing
+            if (not pfsExists(s)) then
                 begin
-                snd := sndFirePunch1;
+                if (snd in [sndFirePunch2, sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6]) then
+                    snd := sndFirePunch1
+                else if (snd in [sndOw2, sndOw3, sndOw4]) then
+                    snd := sndOw1
+                else if (snd in [sndOoff2, sndOoff3]) then
+                    snd := sndOoff1;
                 s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
                 end;
             WriteToConsole(msgLoading + s + ' ');