X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_sound.pas;h=094df0f80756b710312f6c19dfdb4b1aec05e99c;hb=4f08d1293d9a8d5814ec24b45be088d04247f5c8;hp=5c2882daae9ca8ef2a22e4454bbb6be6ee5870d4;hpb=af3c404e11867c6794975f1d45dd98932d804ede;p=d2df-sdl.git diff --git a/src/game/g_sound.pas b/src/game/g_sound.pas index 5c2882d..094df0f 100644 --- a/src/game/g_sound.pas +++ b/src/game/g_sound.pas @@ -1,4 +1,19 @@ -{$MODE DELPHI} +(* Copyright (C) Doom 2D: Forever Developers + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *) +{$INCLUDE ../shared/a_modes.inc} unit g_sound; interface @@ -56,9 +71,9 @@ function g_Sound_PlayAt(ID: DWORD; X, Y: Integer): Boolean; function g_Sound_PlayExAt(SoundName: ShortString; X, Y: Integer): Boolean; function g_Sound_CreateWAD(var ID: DWORD; Resource: string; isMusic: Boolean = False): Boolean; -function g_Sound_CreateWADEx(SoundName: ShortString; Resource: string; isMusic: Boolean = False): Boolean; +function g_Sound_CreateWADEx(SoundName: ShortString; Resource: string; isMusic: Boolean = False; ForceNoLoop: Boolean = False): Boolean; function g_Sound_CreateFile(var ID: DWORD; FileName: string; isMusic: Boolean = False): Boolean; -function g_Sound_CreateFileEx(SoundName: ShortString; FileName: string; isMusic: Boolean = False): Boolean; +function g_Sound_CreateFileEx(SoundName: ShortString; FileName: string; isMusic: Boolean = False; ForceNoLoop: Boolean = False): Boolean; procedure g_Sound_Delete(SoundName: ShortString); function g_Sound_Exists(SoundName: string): Boolean; @@ -124,7 +139,7 @@ begin Exit; end; - e_WriteLog(Format(_lc[I_GAME_ERROR_SOUND], [SoundName]), MSG_WARNING); + e_WriteLog(Format(_lc[I_GAME_ERROR_SOUND], [SoundName]), TMsgType.Warning); end; function g_Sound_PlayExPanVolume(SoundName: ShortString; Pan: Single; Volume: Single): Boolean; @@ -142,7 +157,7 @@ begin Exit; end; - e_WriteLog(Format(_lc[I_GAME_ERROR_SOUND], [SoundName]), MSG_WARNING); + e_WriteLog(Format(_lc[I_GAME_ERROR_SOUND], [SoundName]), TMsgType.Warning); end; function PlaySoundAt(X, Y: Integer; var Pan: Single; var Volume: Single; InVolume: Single = 1.0): Boolean; @@ -253,7 +268,7 @@ begin Exit; end; - e_WriteLog(Format(_lc[I_GAME_ERROR_SOUND], [SoundName]), MSG_WARNING); + e_WriteLog(Format(_lc[I_GAME_ERROR_SOUND], [SoundName]), TMsgType.Warning); end; function g_Sound_CreateFile(var ID: DWORD; FileName: string; isMusic: Boolean = False): Boolean; @@ -261,7 +276,7 @@ begin Result := e_LoadSound(FileName, ID, isMusic); end; -function g_Sound_CreateFileEx(SoundName: ShortString; FileName: string; isMusic: Boolean = False): Boolean; +function g_Sound_CreateFileEx(SoundName: ShortString; FileName: string; isMusic: Boolean = False; ForceNoLoop: Boolean = False): Boolean; var find_id: DWORD; begin @@ -269,7 +284,7 @@ begin find_id := FindSound(); - if not e_LoadSound(FileName, SoundArray[find_id].ID, isMusic) then + if not e_LoadSound(FileName, SoundArray[find_id].ID, isMusic, ForceNoLoop) then Exit; SoundArray[find_id].Name := SoundName; @@ -312,16 +327,16 @@ begin begin {$IFNDEF HEADLESS} if isMusic then - e_WriteLog(Format('Error loading music %s', [Resource]), MSG_WARNING) + e_WriteLog(Format('Error loading music %s', [Resource]), TMsgType.Warning) else - e_WriteLog(Format('Error loading sound %s', [Resource]), MSG_WARNING); + e_WriteLog(Format('Error loading sound %s', [Resource]), TMsgType.Warning); Exit; {$ENDIF} end; Result := True; end; -function g_Sound_CreateWADEx(SoundName: ShortString; Resource: string; isMusic: Boolean = False): Boolean; +function g_Sound_CreateWADEx(SoundName: ShortString; Resource: string; isMusic: Boolean = False; ForceNoLoop: Boolean = False): Boolean; var WAD: TWADFile; FileName: string; @@ -343,7 +358,7 @@ begin if WAD.GetResource(g_ExtractFilePathName(Resource), SoundData, ResLength) then begin - if e_LoadSoundMem(SoundData, ResLength, SoundArray[find_id].ID, isMusic) then + if e_LoadSoundMem(SoundData, ResLength, SoundArray[find_id].ID, isMusic, ForceNoLoop) then begin SoundArray[find_id].Name := SoundName; SoundArray[find_id].IsMusic := isMusic; @@ -362,9 +377,9 @@ begin begin {$IFNDEF HEADLESS} if isMusic then - e_WriteLog(Format('Error loading music %s', [Resource]), MSG_WARNING) + e_WriteLog(Format('Error loading music %s', [Resource]), TMsgType.Warning) else - e_WriteLog(Format('Error loading sound %s', [Resource]), MSG_WARNING); + e_WriteLog(Format('Error loading sound %s', [Resource]), TMsgType.Warning); Exit; {$ENDIF} end;