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 |