hedgewars/uSound.pas
changeset 8168 645ee0e201a2
parent 8165 9527839ad58b
child 8191 3f03f0b6a385
equal deleted inserted replaced
8165:9527839ad58b 8168:645ee0e201a2
   417     if (not isSoundEnabled) or fastUntilLag or ((LastVoice.snd = snd) and  (LastVoice.voicepack = voicepack)) then
   417     if (not isSoundEnabled) or fastUntilLag or ((LastVoice.snd = snd) and  (LastVoice.voicepack = voicepack)) then
   418         exit;
   418         exit;
   419     if (snd = sndVictory) or (snd = sndFlawless) then
   419     if (snd = sndVictory) or (snd = sndFlawless) then
   420         begin
   420         begin
   421         Mix_FadeOutChannel(-1, 800);
   421         Mix_FadeOutChannel(-1, 800);
   422         for i:= 0 to 7 do
   422         for i:= 0 to High(VoiceList) do
   423             VoiceList[i].snd:= sndNone;
   423             VoiceList[i].snd:= sndNone;
   424         LastVoice.snd:= sndNone;
   424         LastVoice.snd:= sndNone;
   425         end;
   425         end;
   426 
   426 
   427     i:= 0;
   427     i:= 0;
   439 var i : LongInt;
   439 var i : LongInt;
   440 begin
   440 begin
   441     if (not isSoundEnabled) or fastUntilLag or ((LastVoice.snd <> sndNone) and (lastChan[LastVoice.snd] <> -1) and (Mix_Playing(lastChan[LastVoice.snd]) <> 0)) then
   441     if (not isSoundEnabled) or fastUntilLag or ((LastVoice.snd <> sndNone) and (lastChan[LastVoice.snd] <> -1) and (Mix_Playing(lastChan[LastVoice.snd]) <> 0)) then
   442         exit;
   442         exit;
   443     i:= 0;
   443     i:= 0;
   444     while (i<7) and (VoiceList[i].snd = sndNone) do
   444     while (i<High(VoiceList)) and (VoiceList[i].snd = sndNone) do
   445         inc(i);
   445         inc(i);
   446     
   446     
   447     if (VoiceList[i].snd <> sndNone) then
   447     if (VoiceList[i].snd <> sndNone) then
   448         begin
   448         begin
   449         LastVoice.snd:= VoiceList[i].snd;
   449         LastVoice.snd:= VoiceList[i].snd;
   717         if voicepacks[t].name <> '' then
   717         if voicepacks[t].name <> '' then
   718             for i:= Low(TSound) to High(TSound) do
   718             for i:= Low(TSound) to High(TSound) do
   719                 voicepacks[t].chunks[i]:= nil;
   719                 voicepacks[t].chunks[i]:= nil;
   720 
   720 
   721     (* on MOBILE SDL_mixer has to be compiled against Tremor (USE_OGG_TREMOR)
   721     (* on MOBILE SDL_mixer has to be compiled against Tremor (USE_OGG_TREMOR)
   722        or sound files bigger than 32k will lockup the game *)
   722        or sound files bigger than 32k will lockup the game on slow cpu *)
   723     for i:= Low(TSound) to High(TSound) do
   723     for i:= Low(TSound) to High(TSound) do
   724         defVoicepack^.chunks[i]:= nil;
   724         defVoicepack^.chunks[i]:= nil;
   725 
   725 
   726 end;
   726 end;
   727 
   727