hedgewars/uSound.pas
changeset 7404 38a23771ee45
parent 7403 e8d0b21efa82
child 7423 ec8f690f3e0f
equal deleted inserted replaced
7403:e8d0b21efa82 7404:38a23771ee45
   465     Volume:= Mix_Volume(-1, -1);
   465     Volume:= Mix_Volume(-1, -1);
   466     if isMusicEnabled then
   466     if isMusicEnabled then
   467         Mix_VolumeMusic(Volume * 4 div 8);
   467         Mix_VolumeMusic(Volume * 4 div 8);
   468     ChangeVolume:= Volume * 100 div MIX_MAX_VOLUME;
   468     ChangeVolume:= Volume * 100 div MIX_MAX_VOLUME;
   469 
   469 
   470 	if (isMusicEnabled) then
   470     if (isMusicEnabled) then
   471 		if (Volume = 0) then
   471         if (Volume = 0) then
   472 			PauseMusic
   472             PauseMusic
   473 		else
   473             else
   474 			ResumeMusic;
   474             ResumeMusic;
   475 
   475 
   476 	isAudioMuted:= (Volume = 0);
   476     isAudioMuted:= (Volume = 0);
   477 end;
   477 end;
   478 
   478 
   479 procedure DampenAudio;
   479 procedure DampenAudio;
   480 begin
   480 begin
   481 	if (isAudioMuted) then
   481     if (isAudioMuted) then
   482 		exit;
   482         exit;
   483     previousVolume:= Volume;
   483     previousVolume:= Volume;
   484     ChangeVolume(-Volume * 7 div 9);
   484     ChangeVolume(-Volume * 7 div 9);
   485 end;
   485 end;
   486 
   486 
   487 procedure UndampenAudio;
   487 procedure UndampenAudio;
   488 begin
   488 begin
   489 	if (isAudioMuted) then
   489      if (isAudioMuted) then
   490 		exit;
   490         exit;
   491     ChangeVolume(previousVolume - Volume);
   491     ChangeVolume(previousVolume - Volume);
   492 end;
   492 end;
   493 
   493 
   494 procedure MuteAudio;
   494 procedure MuteAudio;
   495 begin
   495 begin
   496     if (not isSoundEnabled) then
   496     if (not isSoundEnabled) then
   497         exit;
   497     exit;
   498 	
   498 
   499 	if (isAudioMuted) then
   499     if (isAudioMuted) then
   500 	begin
   500     begin
   501 		ResumeMusic;
   501         ResumeMusic;
   502 		ChangeVolume(previousVolume);
   502         ChangeVolume(previousVolume);
   503 	end
   503     end
   504 	else
   504     else
   505 	begin
   505     begin
   506 		PauseMusic;
   506         PauseMusic;
   507 		previousVolume:= Volume;
   507         previousVolume:= Volume;
   508 		ChangeVolume(-Volume);
   508         ChangeVolume(-Volume);
   509 	end;
   509     end;
   510 	
   510 
   511 	// isAudioMuted is updated in ChangeVolume
   511     // isAudioMuted is updated in ChangeVolume
   512 end;
   512 end;
   513 
   513 
   514 procedure SetMusic(enabled: boolean);
   514 procedure SetMusic(enabled: boolean);
   515 begin
   515 begin
   516     isMusicEnabled:= enabled;
   516     isMusicEnabled:= enabled;
   573     CurrentTeam^.voicepack:= AskForVoicepack(s)
   573     CurrentTeam^.voicepack:= AskForVoicepack(s)
   574 end;
   574 end;
   575 
   575 
   576 procedure chMute(var s: shortstring);
   576 procedure chMute(var s: shortstring);
   577 begin
   577 begin
   578 	s:= s; // avoid compiler hint
   578     s:= s; // avoid compiler hint
   579 	MuteAudio;
   579     MuteAudio;
   580 end;
   580 end;
   581 
   581 
   582 procedure initModule;
   582 procedure initModule;
   583 var t: LongInt;
   583 var t: LongInt;
   584     i: TSound;
   584     i: TSound;
   585 begin
   585 begin
   586     RegisterVariable('voicepack', @chVoicepack, false);
   586     RegisterVariable('voicepack', @chVoicepack, false);
   587 	RegisterVariable('mute'     , @chMute     , true );
   587     RegisterVariable('mute'     , @chMute     , true );
   588 
   588 
   589     MusicFN:='';
   589     MusicFN:='';
   590     isMusicEnabled:= true;
   590     isMusicEnabled:= true;
   591     isSoundEnabled:= true;
   591     isSoundEnabled:= true;
   592 	isAudioMuted:= false;
   592     isAudioMuted:= false;
   593     isSEBackup:= isSoundEnabled;
   593     isSEBackup:= isSoundEnabled;
   594     cInitVolume:= 100;
   594     cInitVolume:= 100;
   595     Volume:= 0;
   595     Volume:= 0;
   596     defVoicepack:= AskForVoicepack('Default');
   596     defVoicepack:= AskForVoicepack('Default');
   597 
   597