hedgewars/uSound.pas
changeset 2200 8192be6e3aef
parent 2194 1597710c6118
child 2210 1cb7118a77dd
equal deleted inserted replaced
2199:be265856322f 2200:8192be6e3aef
    17  *)
    17  *)
    18 
    18 
    19 unit uSound;
    19 unit uSound;
    20 interface
    20 interface
    21 
    21 
       
    22 
    22 {$IFDEF DARWIN}
    23 {$IFDEF DARWIN}
       
    24 	{$linklib openalbridge}
    23 	{$linkframework OpenAL}
    25 	{$linkframework OpenAL}
    24 	{$linkframework Ogg}
    26 	{$linkframework Ogg}
    25 	{$linkframework Vorbis}
    27 	{$linkframework Vorbis}
    26 	{$linklib openalbridge}
       
    27 {$ELSE}
    28 {$ELSE}
       
    29 {$IFDEF UNIX}
    28 	{$linklib openal}
    30 	{$linklib openal}
    29 	{$linklib ogg}
    31 	{$linklib ogg}
    30 	{$linklib vorbis}
    32 	{$linklib vorbis}
    31 	{$linklib vorbisfile}
    33 	{$linklib vorbisfile}
    32 {$ENDIF}
    34 {$ENDIF}
       
    35 {$ENDIF}
    33 
    36 
    34 uses uConsts;
    37 uses uConsts;
    35 {$INCLUDE options.inc}
    38 {$INCLUDE options.inc}
    36 
    39 
    37 type PVoicepack = ^TVoicepack;
    40 type PVoicepack = ^TVoicepack;
    38 	TVoicepack = record
    41 	TVoicepack = record
    39 		name: shortstring;
    42 		name: shortstring;
    40 		chunks: array [TSound] of LongInt;
    43 		chunks: array [TSound] of LongInt;
    41 		end;
    44 		end;
    42 
    45 
    43 const OpenALBridge = 'libopenalbridge';
    46 const OpenALBridge = 'openalbridge';
    44 
    47 
    45 procedure InitSound;
    48 procedure InitSound;
    46 procedure ReleaseSound;
    49 procedure ReleaseSound;
    47 procedure SoundLoad;
    50 procedure SoundLoad;
    48 procedure PlaySound(snd: TSound; infinite: boolean; voicepack: PVoicepack);
    51 procedure PlaySound(snd: TSound; infinite: boolean; voicepack: PVoicepack);