//----------------------------------------------------------------------------- // V12 Engine // // Copyright (c) 2001 GarageGames.Com //----------------------------------------------------------------------------- #ifndef _PLATFORMAL_H_ #define _PLATFORMAL_H_ #ifndef _PLATFORM_H_ #include "Platform/platform.h" #endif //#define AL_NO_PROTOTYPES //#define ALC_NO_PROTOTYPES //#define _LIB //#include //#include //#include #include #include #define AL_FUNCTION(fn_return,fn_name,fn_args, fn_value) extern fn_return (FN_CDECL *fn_name)fn_args; #include #include #undef AL_FUNCTION /* // extra enums for win32/miles implementation enum { // error values AL_CONTEXT_ALREADY_INSTANTIATED = 0xbaadf00d, AL_ENVIRONMENT_ALREADY_INSTANTIATED, AL_UNSUPPORTED, AL_INVALID_BUFFER, AL_ERROR, // context extention ALC_PROVIDER, ALC_PROVIDER_COUNT, ALC_PROVIDER_NAME, ALC_SPEAKER, ALC_SPEAKER_COUNT, ALC_SPEAKER_NAME, ALC_BUFFER_DYNAMIC_MEMORY_SIZE, ALC_BUFFER_DYNAMIC_MEMORY_USAGE, ALC_BUFFER_DYNAMIC_COUNT, ALC_BUFFER_MEMORY_USAGE, ALC_BUFFER_COUNT, ALC_BUFFER_LATENCY, // misc 3d params AL_MIN_DISTANCE, AL_MAX_DISTANCE, AL_CONE_OUTER_GAIN, // relative with pos(0,0,0) won't work for ambient sounds with miles AL_SOURCE_AMBIENT, AL_PAN, // other extensions AL_BUFFER_KEEP_RESIDENT, AL_FORMAT_WAVE_EXT, // Environment extensions: AL_ENV_EFFECT_VOLUME_EXT, AL_ENV_FLAGS_EXT, AL_ENV_DAMPING_EXT, AL_ENV_ENVIRONMENT_SIZE_EXT, AL_ENV_ROOM_VOLUME_EXT, }; enum { // sample level environment: AL_ENV_SAMPLE_REVERB_MIX_EXT = 0, AL_ENV_SAMPLE_DIRECT_EXT, AL_ENV_SAMPLE_DIRECT_HF_EXT, AL_ENV_SAMPLE_ROOM_EXT, AL_ENV_SAMPLE_ROOM_HF_EXT, AL_ENV_SAMPLE_OBSTRUCTION_EXT, AL_ENV_SAMPLE_OBSTRUCTION_LF_RATIO_EXT, AL_ENV_SAMPLE_OCCLUSION_EXT, AL_ENV_SAMPLE_OCCLUSION_LF_RATIO_EXT, AL_ENV_SAMPLE_OCCLUSION_ROOM_RATIO_EXT, AL_ENV_SAMPLE_ROOM_ROLLOFF_EXT, AL_ENV_SAMPLE_AIR_ABSORPTION_EXT, AL_ENV_SAMPLE_OUTSIDE_VOLUME_HF_EXT, AL_ENV_SAMPLE_FLAGS_EXT, AL_ENV_SAMPLE_COUNT, }; // room types: same as miles/eax enum { AL_ENVIRONMENT_GENERIC = 0, AL_ENVIRONMENT_PADDEDCELL, AL_ENVIRONMENT_ROOM, AL_ENVIRONMENT_BATHROOM, AL_ENVIRONMENT_LIVINGROOM, AL_ENVIRONMENT_STONEROOM, AL_ENVIRONMENT_AUDITORIUM, AL_ENVIRONMENT_CONCERTHALL, AL_ENVIRONMENT_CAVE, AL_ENVIRONMENT_ARENA, AL_ENVIRONMENT_HANGAR, AL_ENVIRONMENT_CARPETEDHALLWAY, AL_ENVIRONMENT_HALLWAY, AL_ENVIRONMENT_STONECORRIDOR, AL_ENVIRONMENT_ALLEY, AL_ENVIRONMENT_FOREST, AL_ENVIRONMENT_CITY, AL_ENVIRONMENT_MOUNTAINS, AL_ENVIRONMENT_QUARRY, AL_ENVIRONMENT_PLAIN, AL_ENVIRONMENT_PARKINGLOT, AL_ENVIRONMENT_SEWERPIPE, AL_ENVIRONMENT_UNDERWATER, AL_ENVIRONMENT_DRUGGED, AL_ENVIRONMENT_DIZZY, AL_ENVIRONMENT_PSYCHOTIC, AL_ENVIRONMENT_COUNT }; */ namespace Audio { //bool libraryInit(); //void libraryInitExtensions(); //void libraryShutdown(); //inline bool doesSupportIASIG() //{ // return gDoesSupport_AL_EXT_IASIG; //} //inline bool doesSupportDynamix() //{ // return gDoesSupport_AL_EXT_DYNAMIX; //} bool OpenALInit(); void OpenALShutdown(); bool OpenALDLLInit(); void OpenALDLLShutdown(); // special alx flags #define AL_GAIN_LINEAR 0xFF01 // helpers F32 DBToLinear(F32 value); F32 linearToDB(F32 value); } // end namespace Audio #endif // _H_PLATFORMAL_