hedgewars/uSound.pas
changeset 5921 43cb3139cebe
parent 5673 85336f377479
child 5922 7e7774e7be8c
equal deleted inserted replaced
5920:32c0c0d37b6a 5921:43cb3139cebe
   288 end;
   288 end;
   289 
   289 
   290 procedure AddVoice(snd: TSound; voicepack: PVoicepack);
   290 procedure AddVoice(snd: TSound; voicepack: PVoicepack);
   291 var i : LongInt;
   291 var i : LongInt;
   292 begin
   292 begin
   293     if (not isSoundEnabled) or fastUntilLag then exit;
   293     if (not isSoundEnabled) or fastUntilLag or ((LastSound.snd = snd) and  (LastSound.voicepack = voicepack)) then exit;
   294     i:= 0;
   294     i:= 0;
   295     while (i<8) and (VoiceList[i].snd <> sndNone) do inc(i);
   295     while (i<8) and (VoiceList[i].snd <> sndNone) do inc(i);
   296 
   296 
       
   297     // skip playing same sound for same hog twice
       
   298     if (i>0) and (VoiceList[i-1].snd = snd) and (VoiceList[i-1].voicepack = voicepack) then exit;
   297     VoiceList[i].snd:= snd;
   299     VoiceList[i].snd:= snd;
   298     VoiceList[i].voicepack:= voicepack;
   300     VoiceList[i].voicepack:= voicepack;
   299 end;
   301 end;
   300 
   302 
   301 procedure PlayNextVoice;
   303 procedure PlayNextVoice;