|
@@ -1,176 +1,120 @@
|
|
|
|
+(* AL_LOKI_IMA_ADPCM_format extension *)
|
|
const
|
|
const
|
|
-
|
|
|
|
-(* format base = $10000 *)
|
|
|
|
AL_FORMAT_IMA_ADPCM_MONO16_EXT = $10000;
|
|
AL_FORMAT_IMA_ADPCM_MONO16_EXT = $10000;
|
|
AL_FORMAT_IMA_ADPCM_STEREO16_EXT = $10001;
|
|
AL_FORMAT_IMA_ADPCM_STEREO16_EXT = $10001;
|
|
|
|
+
|
|
|
|
+(* AL_LOKI_WAVE_format extension *)
|
|
|
|
+const
|
|
AL_FORMAT_WAVE_EXT = $10002;
|
|
AL_FORMAT_WAVE_EXT = $10002;
|
|
|
|
+
|
|
|
|
+(* AL_EXT_vorbis extension *)
|
|
|
|
+const
|
|
AL_FORMAT_VORBIS_EXT = $10003;
|
|
AL_FORMAT_VORBIS_EXT = $10003;
|
|
|
|
|
|
-(* four point formats *)
|
|
|
|
|
|
+(* AL_LOKI_quadriphonic extension *)
|
|
|
|
+const
|
|
AL_FORMAT_QUAD8_LOKI = $10004;
|
|
AL_FORMAT_QUAD8_LOKI = $10004;
|
|
AL_FORMAT_QUAD16_LOKI = $10005;
|
|
AL_FORMAT_QUAD16_LOKI = $10005;
|
|
|
|
|
|
-(**
|
|
|
|
- * token extensions, base = $20000
|
|
|
|
- *)
|
|
|
|
-
|
|
|
|
-(* deprecated, use AL_GAIN *)
|
|
|
|
- AL_GAIN_LINEAR_LOKI = $20000;
|
|
|
|
-
|
|
|
|
-(*
|
|
|
|
- * types for special loaders. This should be deprecated in favor
|
|
|
|
- * of the special format tags.
|
|
|
|
- *)
|
|
|
|
-type
|
|
|
|
- PWaveFMT = ^WaveFMT;
|
|
|
|
- WaveFMT = packed record
|
|
|
|
- encoding : ALushort;
|
|
|
|
- channels : ALushort; (* 1 = mono, 2 = stereo *)
|
|
|
|
- frequency : ALuint; (* One of 11025, 22050, or 44100 Hz *)
|
|
|
|
- byterate : ALuint; (* Average bytes per second *)
|
|
|
|
- blockalign : ALushort; (* Bytes per sample block *)
|
|
|
|
- bitspersample : ALushort;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
- PalWaveFMT_LOKI = ^alWaveFMT_LOKI;
|
|
|
|
- alWaveFMT_LOKI = WaveFMT;
|
|
|
|
-
|
|
|
|
- P_MS_ADPCM_decodestate = ^_MS_ADPCM_decodestate;
|
|
|
|
- _MS_ADPCM_decodestate = packed record
|
|
|
|
- hPredictor : ALubyte;
|
|
|
|
- iDelta : ALushort;
|
|
|
|
- iSamp1 : ALshort;
|
|
|
|
- iSamp2 : ALshort;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
- PalMSADPCM_decodestate_LOKI = ^alMSADPCM_decodestate_LOKI;
|
|
|
|
- alMSADPCM_decodestate_LOKI = _MS_ADPCM_decodestate;
|
|
|
|
-
|
|
|
|
- PMS_ADPCM_decoder = ^MS_ADPCM_decoder;
|
|
|
|
- MS_ADPCM_decoder = packed record
|
|
|
|
- wavefmt : alWaveFMT_LOKI;
|
|
|
|
- wSamplesPerBlock: ALushort;
|
|
|
|
- wNumCoef : ALushort;
|
|
|
|
- aCoeff : array[0..6] of array[0..1] of ALshort;
|
|
|
|
- (* * * *)
|
|
|
|
- state : array[0..1] of alMSADPCM_decodestate_LOKI;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
- PalMSADPCM_state_LOKI = ^alMSADPCM_state_LOKI;
|
|
|
|
- alMSADPCM_state_LOKI = MS_ADPCM_decoder;
|
|
|
|
-
|
|
|
|
- PIMA_ADPCM_decodestate_s = ^IMA_ADPCM_decodestate_s;
|
|
|
|
- IMA_ADPCM_decodestate_s = packed record
|
|
|
|
- valprev : ALint; (* Previous output value *)
|
|
|
|
- index : ALbyte; (* Index into stepsize table *)
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
- PalIMAADPCM_decodestate_LOKI = ^alIMAADPCM_decodestate_LOKI;
|
|
|
|
- alIMAADPCM_decodestate_LOKI = IMA_ADPCM_decodestate_s;
|
|
|
|
-
|
|
|
|
- PIMA_ADPCM_decoder = ^IMA_ADPCM_decoder;
|
|
|
|
- IMA_ADPCM_decoder = packed record
|
|
|
|
- wavefmt : alWaveFMT_LOKI;
|
|
|
|
- wSamplesPerBlock: ALushort;
|
|
|
|
- (* * * *)
|
|
|
|
- state : array[0..1] of alIMAADPCM_decodestate_LOKI;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
- PalIMAADPCM_state_LOKI = ^alIMAADPCM_state_LOKI;
|
|
|
|
- alIMAADPCM_state_LOKI = IMA_ADPCM_decoder;
|
|
|
|
|
|
+(* AL_EXT_float32 extension *)
|
|
|
|
+const
|
|
|
|
+ AL_FORMAT_MONO_FLOAT32 = $10010;
|
|
|
|
+ AL_FORMAT_STEREO_FLOAT32 = $10011;
|
|
|
|
+
|
|
|
|
+(* AL_EXT_double extension *)
|
|
|
|
+const
|
|
|
|
+ AL_FORMAT_MONO_DOUBLE_EXT = $10012;
|
|
|
|
+ AL_FORMAT_STEREO_DOUBLE_EXT = $10013;
|
|
|
|
+
|
|
|
|
+(* ALC_LOKI_audio_channel extension *)
|
|
|
|
+const
|
|
|
|
+ ALC_CHAN_MAIN_LOKI = $500001;
|
|
|
|
+ ALC_CHAN_PCM_LOKI = $500002;
|
|
|
|
+ ALC_CHAN_CD_LOKI = $500003;
|
|
|
|
+
|
|
|
|
+(* ALC_ENUMERATE_ALL_EXT extension *)
|
|
|
|
+const
|
|
|
|
+ ALC_DEFAULT_ALL_DEVICES_SPECIFIER = $1012;
|
|
|
|
+ ALC_ALL_DEVICES_SPECIFIER = $1013;
|
|
|
|
+
|
|
|
|
+(* AL_EXT_MCFORMATS extension *)
|
|
|
|
+const
|
|
|
|
+ AL_FORMAT_QUAD8 = $1204;
|
|
|
|
+ AL_FORMAT_QUAD16 = $1205;
|
|
|
|
+ AL_FORMAT_QUAD32 = $1206;
|
|
|
|
+ AL_FORMAT_REAR8 = $1207;
|
|
|
|
+ AL_FORMAT_REAR16 = $1208;
|
|
|
|
+ AL_FORMAT_REAR32 = $1209;
|
|
|
|
+ AL_FORMAT_51CHN8 = $120A;
|
|
|
|
+ AL_FORMAT_51CHN16 = $120B;
|
|
|
|
+ AL_FORMAT_51CHN32 = $120C;
|
|
|
|
+ AL_FORMAT_61CHN8 = $120D;
|
|
|
|
+ AL_FORMAT_61CHN16 = $120E;
|
|
|
|
+ AL_FORMAT_61CHN32 = $120F;
|
|
|
|
+ AL_FORMAT_71CHN8 = $1210;
|
|
|
|
+ AL_FORMAT_71CHN16 = $1211;
|
|
|
|
+ AL_FORMAT_71CHN32 = $1212;
|
|
|
|
+
|
|
|
|
+(* AL_EXT_IMA4 extension *)
|
|
|
|
+const
|
|
|
|
+ AL_FORMAT_MONO_IMA4 = $1300;
|
|
|
|
+ AL_FORMAT_STEREO_IMA4 = $1301;
|
|
|
|
+
|
|
|
|
+(* AL_EXT_buffer_sub_data extension *)
|
|
|
|
+const
|
|
|
|
+ AL_BYTE_RW_OFFSETS_EXT = $1031;
|
|
|
|
+ AL_SAMPLE_RW_OFFSETS_EXT = $1032;
|
|
|
|
+ AL_SEC_RW_OFFSETS_EXT = $1033;
|
|
|
|
+
|
|
|
|
+procedure alBufferSubDataEXT(buffer :ALuint; format :ALenum; const data :PALvoid; offset :ALsizei; length :ALsizei); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+
|
|
|
|
+(* AL_EXT_STATIC_BUFFER extension *)
|
|
|
|
+procedure alBufferDataStatic(buffer :ALint; format :ALenum; data :Pointer; size, freq :ALsizei); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+
|
|
|
|
+(* AL_EXT_sample_buffer_object extension *)
|
|
|
|
+const
|
|
|
|
+ AL_SAMPLE_SOURCE_EXT = $1040;
|
|
|
|
+ AL_SAMPLE_SINK_EXT = $1041;
|
|
|
|
+ AL_READ_ONLY_EXT = $1042;
|
|
|
|
+ AL_WRITE_ONLY_EXT = $1043;
|
|
|
|
+ AL_READ_WRITE_EXT = $1044;
|
|
|
|
+ AL_STREAM_WRITE_EXT = $1045;
|
|
|
|
+ AL_STREAM_READ_EXT = $1046;
|
|
|
|
+ AL_STREAM_COPY_EXT = $1047;
|
|
|
|
+ AL_STATIC_WRITE_EXT = $1048;
|
|
|
|
+ AL_STATIC_READ_EXT = $1049;
|
|
|
|
+ AL_STATIC_COPY_EXT = $104A;
|
|
|
|
+ AL_DYNAMIC_WRITE_EXT = $104B;
|
|
|
|
+ AL_DYNAMIC_READ_EXT = $104C;
|
|
|
|
+ AL_DYNAMIC_COPY_EXT = $104D;
|
|
|
|
+
|
|
|
|
+ procedure alGenDatabuffersEXT(n:ALsizei; puiBuffers:pALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alDeleteDatabuffersEXT(n:ALsizei; puiBuffers:pALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ function alIsDatabufferEXT(uiBuffer:ALuint):ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alDatabufferDataEXT(buffer:ALuint; data:pALvoid; size:ALsizei; usage:ALenum); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alDatabufferSubDataEXT(buffer:ALuint; start:ALuint; length:ALsizei; data:pALvoid); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alGetDatabufferSubDataEXT(buffer:ALuint; start:ALuint; length:ALsizei; data:pALvoid); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alDatabufferfEXT(buffer:ALuint; eParam:ALenum; flValue:ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alDatabufferfvEXT(buffer:ALuint; eParam:ALenum; flValues:pALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alDatabufferiEXT(buffer:ALuint; eParam:ALenum; lValue:ALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alDatabufferivEXT(buffer:ALuint; eParam:ALenum; plValues:pALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alGetDatabufferfEXT(buffer:ALuint; eParam:ALenum; pflValue:pALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alGetDatabufferfvEXT(buffer:ALuint; eParam:ALenum; pflValues:pALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alGetDatabufferiEXT(buffer:ALuint; eParam:ALenum; plValue:pALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alGetDatabufferivEXT(buffer:ALuint; eParam:ALenum; plValues:pALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alSelectDatabufferEXT(target:ALenum; uiBuffer:ALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ function alMapDatabufferEXT(uiBuffer:ALuint; start:ALuint; length:ALsizei; access:ALenum):pALvoid; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+ procedure alUnmapDatabufferEXT(uiBuffer:ALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+
|
|
|
|
+(* ALC_EXT_disconnect extension *)
|
|
|
|
+const
|
|
|
|
+ ALC_CONNECTED = $0313;
|
|
|
|
+
|
|
|
|
+(* ALC_EXT_thread_local_context extension *)
|
|
|
|
|
|
|
|
+function alcMakeCurrent(context :PALCcontext) :ALCboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
+function alcGetThreadContext() :PALCcontext; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
|
|
|
|
+(* AL_EXT_source_distance_model extension *)
|
|
const
|
|
const
|
|
-(**
|
|
|
|
- * Context creation extension tokens
|
|
|
|
- * base = $200000
|
|
|
|
- *)
|
|
|
|
-
|
|
|
|
-(**
|
|
|
|
- * followed by ### of sources
|
|
|
|
- *)
|
|
|
|
- ALC_SOURCES_LOKI = $200000;
|
|
|
|
-
|
|
|
|
-(**
|
|
|
|
- * followed by ### of buffers
|
|
|
|
- *)
|
|
|
|
- ALC_BUFFERS_LOKI = $200001;
|
|
|
|
-
|
|
|
|
-(*
|
|
|
|
- * Channel operations are probably a big no-no and destined
|
|
|
|
- * for obsolesence.
|
|
|
|
- *
|
|
|
|
- * base = $300000
|
|
|
|
- *)
|
|
|
|
- ALC_CHAN_MAIN_LOKI = $300000;
|
|
|
|
- ALC_CHAN_PCM_LOKI = $300001;
|
|
|
|
- ALC_CHAN_CD_LOKI = $300002;
|
|
|
|
-
|
|
|
|
-(* loki *)
|
|
|
|
-type
|
|
|
|
- CALLBACK_LOKI = function(a: ALuint; b: ALuint; c: PALshort; d: ALEnum; e: ALint; f: ALint): cint; cdecl;
|
|
|
|
-
|
|
|
|
-function alcGetAudioChannel_LOKI(channel: ALuint): ALfloat; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-procedure alcSetAudioChannel_LOKI(channel: ALuint; volume: ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-procedure alBombOnError_LOKI; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-procedure alBufferi_LOKI(bid: ALuint; param: ALenum; value: ALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-procedure alBufferDataWithCallback_LOKI(bid: ALuint; cb: CALLBACK_LOKI); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-procedure alBufferWriteData_LOKI(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei; internalFormat: ALenum); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-procedure alGenStreamingBuffers_LOKI(n: ALsizei; samples: PALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-function alBufferAppendData_LOKI(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-function alBufferAppendWriteData_LOKI(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei; internalFormat: ALenum): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-
|
|
|
|
-(* binary compatibility *)
|
|
|
|
-function alBufferAppendData(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-
|
|
|
|
-(*
|
|
|
|
- * Don't use these. If you're reading this, you should remove these functions
|
|
|
|
- * and all other reverb functions. Now.
|
|
|
|
- *)
|
|
|
|
-procedure alReverbScale_LOKI(sid: ALuint; param: ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-procedure alReverbDelay_LOKI(sid: ALuint; param: ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-
|
|
|
|
-(* Capture api *)
|
|
|
|
-
|
|
|
|
-function alCaptureInit_EXT(format: ALenum; rate: ALuint; bufferSize: ALsizei): ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-function alCaptureDestroy_EXT: ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-function alCaptureStart_EXT: ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-function alCaptureStop_EXT: ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-
|
|
|
|
-(* Non-blocking device read *)
|
|
|
|
-
|
|
|
|
-function alCaptureGetData_EXT(data: PALvoid; n: ALsizei; format: ALenum; rate: ALuint): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-
|
|
|
|
-(* custom loaders *)
|
|
|
|
-
|
|
|
|
-function alutLoadVorbis_LOKI(bid: ALuint; const data: PALvoid; size: ALint): ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-function alutLoadMP3_LOKI(bid: ALuint; data: PALvoid; size: ALint): ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
|
|
|
|
-
|
|
|
|
-(* function pointers *)
|
|
|
|
-{
|
|
|
|
-type
|
|
|
|
-typedef ALfloat ( ALC_APIENTRY *PFNALCGETAUDIOCHANNELPROC ) ( ALuint channel ): ALfloat; cdecl;
|
|
|
|
-typedef void ( ALC_APIENTRY *PFNALCSETAUDIOCHANNELPROC ) ( ALuint channel, ALfloat volume ); cdecl;
|
|
|
|
-typedef void ( AL_APIENTRY *PFNALBOMBONERRORPROC ) ( void ); cdecl;
|
|
|
|
-typedef void ( AL_APIENTRY *PFNALBUFFERIPROC ) ( ALuint bid, ALenum param, ALint value ); cdecl;
|
|
|
|
-typedef void ( AL_APIENTRY *PFNALBUFFERDATAWITHCALLBACKPROC ) ( ALuint bid, int ( *Callback ) ( ALuint, ALuint, ALshort *, ALenum, ALint, ALint ) ); cdecl;
|
|
|
|
-typedef void ( AL_APIENTRY *PFNALBUFFERWRITEDATAPROC ) ( ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq, ALenum internalFormat ); cdecl;
|
|
|
|
-typedef void ( AL_APIENTRY *PFNALGENSTREAMINGBUFFERSPROC ) ( ALsizei n, ALuint *samples ); cdecl;
|
|
|
|
-typedef ALsizei ( AL_APIENTRY *PFNALBUFFERAPPENDDATAPROC ) ( ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq ): ALsizei; cdecl;
|
|
|
|
-typedef ALsizei ( AL_APIENTRY *PFNALBUFFERAPPENDWRITEDATAPROC ) ( ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq, ALenum internalFormat ): ALsizei; cdecl;
|
|
|
|
-
|
|
|
|
-typedef ALboolean ( ALC_APIENTRY *PFNALCAPTUREINITPROC ) ( ALenum format, ALuint rate, ALsizei bufferSize ): ALboolean; cdecl;
|
|
|
|
-typedef ALboolean ( ALC_APIENTRY *PFNALCAPTUREDESTROYPROC ) ( void ): ALboolean; cdecl;
|
|
|
|
-typedef ALboolean ( ALC_APIENTRY *PFNALCAPTURESTARTPROC ) ( void ): ALboolean; cdecl;
|
|
|
|
-typedef ALboolean ( ALC_APIENTRY *PFNALCAPTURESTOPPROC ) ( void ): ALboolean; cdecl;
|
|
|
|
-
|
|
|
|
-typedef ALsizei ( ALC_APIENTRY *PFNALCAPTUREGETDATAPROC ) ( ALvoid *data, ALsizei n, ALenum format, ALuint rate ): ALsizei; cdecl;
|
|
|
|
-
|
|
|
|
-typedef ALboolean ( AL_APIENTRY *PFNALUTLOADVORBISPROC ) ( ALuint bid, ALvoid *data, ALint size ): ALboolean; cdecl;
|
|
|
|
-typedef ALboolean ( AL_APIENTRY *PFNALUTLOADRAW_ADPCMDATAPROC ) ( ALuint bid, ALvoid *data, ALuint size, ALuint freq, ALenum format ): ALboolean; cdecl;
|
|
|
|
-typedef ALboolean ( AL_APIENTRY *ALUTLOADIMA_ADPCMDATAPROC ) ( ALuint bid, ALvoid *data, ALuint size, alIMAADPCM_state_LOKI *ias ): ALboolean; cdecl;
|
|
|
|
-typedef ALboolean ( AL_APIENTRY *ALUTLOADMS_ADPCMDATAPROC ) ( ALuint bid, void *data, int size, alMSADPCM_state_LOKI *mss ): ALboolean; cdecl;
|
|
|
|
-
|
|
|
|
-typedef void ( AL_APIENTRY *PFNALREVERBSCALEPROC ) ( ALuint sid, ALfloat param ); cdecl;
|
|
|
|
-typedef void ( AL_APIENTRY *PFNALREVERBDELAYPROC ) ( ALuint sid, ALfloat param ); cdecl;
|
|
|
|
-}
|
|
|
|
|
|
+ AL_SOURCE_DISTANCE_MODEL = $0200;
|