diff --git a/engine/FMOD/inc/fmod.cs b/engine/FMOD/inc/fmod.cs index b21ea1d..c2de18a 100644 --- a/engine/FMOD/inc/fmod.cs +++ b/engine/FMOD/inc/fmod.cs @@ -19,8 +19,8 @@ namespace FMOD */ public partial class VERSION { - public const int number = 0x00020111; -#if !UNITY_2017_4_OR_NEWER + public const int number = 0x00020203; +#if !UNITY_2019_4_OR_NEWER public const string dll = "fmod"; #endif } @@ -146,6 +146,15 @@ namespace FMOD public VECTOR up; } + [StructLayout(LayoutKind.Sequential)] + public partial struct GUID + { + public int Data1; + public int Data2; + public int Data3; + public int Data4; + } + [StructLayout(LayoutKind.Sequential)] public struct ASYNCREADINFO { @@ -187,6 +196,19 @@ namespace FMOD MAX, } + public enum PORT_TYPE : int + { + MUSIC, + COPYRIGHT_MUSIC, + VOICE, + CONTROLLER, + PERSONAL, + VIBRATION, + AUX, + + MAX + } + public enum DEBUG_MODE : int { TTY, @@ -480,6 +502,17 @@ namespace FMOD public StringWrapper functionparams; } + [StructLayout(LayoutKind.Sequential)] + public struct CPU_USAGE + { + public float dsp; /* DSP mixing CPU usage. */ + public float stream; /* Streaming engine CPU usage. */ + public float geometry; /* Geometry engine CPU usage. */ + public float update; /* System::update CPU usage. */ + public float convolution1; /* Convolution reverb processing thread #1 CPU usage */ + public float convolution2; /* Convolution reverb processing thread #2 CPU usage */ + } + [Flags] public enum SYSTEM_CALLBACK_TYPE : uint { @@ -736,6 +769,7 @@ namespace FMOD public DSP_RESAMPLER resamplerMethod; public uint randomSeed; public int maxConvolutionThreads; + public int maxOpusCodecs; } [Flags] @@ -796,7 +830,7 @@ namespace FMOD } [Flags] - public enum THREAD_AFFINITY : long // avoid ulong for Bolt compatibility + public enum THREAD_AFFINITY : long { /* Platform agnostic thread groupings */ GROUP_DEFAULT = 0x4000000000000000, @@ -865,12 +899,12 @@ namespace FMOD { public static RESULT System_Create(out System system) { - return FMOD5_System_Create(out system.handle); + return FMOD5_System_Create(out system.handle, VERSION.number); } #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Create(out IntPtr system); + private static extern RESULT FMOD5_System_Create(out IntPtr system, uint headerversion); #endregion } @@ -920,11 +954,6 @@ namespace FMOD { public static RESULT SetAttributes(THREAD_TYPE type, THREAD_AFFINITY affinity = THREAD_AFFINITY.GROUP_DEFAULT, THREAD_PRIORITY priority = THREAD_PRIORITY.DEFAULT, THREAD_STACK_SIZE stacksize = THREAD_STACK_SIZE.DEFAULT) { - if ((affinity & THREAD_AFFINITY.GROUP_DEFAULT) != 0) - { - affinity &= ~THREAD_AFFINITY.GROUP_DEFAULT; - affinity = (THREAD_AFFINITY)(((ulong)affinity) | 0x8000000000000000); - } return FMOD5_Thread_SetAttributes(type, affinity, priority, stacksize); } @@ -1209,13 +1238,9 @@ namespace FMOD { return FMOD5_System_GetChannelsPlaying(this.handle, out channels, out realchannels); } - public RESULT getCPUUsage(out float dsp, out float stream, out float geometry, out float update, out float total) - { - return FMOD5_System_GetCPUUsage(this.handle, out dsp, out stream, out geometry, out update, out total); - } - public RESULT getCPUUsageEx(out float convolutionThread1, out float convolutionThread2) + public RESULT getCPUUsage(out CPU_USAGE usage) { - return FMOD5_System_GetCPUUsageEx(this.handle, out convolutionThread1, out convolutionThread2); + return FMOD5_System_GetCPUUsage(this.handle, out usage); } public RESULT getFileUsage(out Int64 sampleBytesRead, out Int64 streamBytesRead, out Int64 otherBytesRead) { @@ -1319,7 +1344,7 @@ namespace FMOD } // Routing to ports. - public RESULT attachChannelGroupToPort(uint portType, ulong portIndex, ChannelGroup channelgroup, bool passThru = false) + public RESULT attachChannelGroupToPort(PORT_TYPE portType, ulong portIndex, ChannelGroup channelgroup, bool passThru = false) { return FMOD5_System_AttachChannelGroupToPort(this.handle, portType, portIndex, channelgroup.handle, passThru); } @@ -1562,9 +1587,7 @@ namespace FMOD [DllImport(VERSION.dll)] private static extern RESULT FMOD5_System_GetChannelsPlaying (IntPtr system, out int channels, out int realchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetCPUUsage (IntPtr system, out float dsp, out float stream, out float geometry, out float update, out float total); - [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetCPUUsageEx (IntPtr system, out float convolutionThread1, out float convolutionThread2); + private static extern RESULT FMOD5_System_GetCPUUsage (IntPtr system, out CPU_USAGE usage); [DllImport(VERSION.dll)] private static extern RESULT FMOD5_System_GetFileUsage (IntPtr system, out Int64 sampleBytesRead, out Int64 streamBytesRead, out Int64 otherBytesRead); [DllImport(VERSION.dll)] @@ -1598,7 +1621,7 @@ namespace FMOD [DllImport(VERSION.dll)] private static extern RESULT FMOD5_System_GetMasterSoundGroup (IntPtr system, out IntPtr soundgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_AttachChannelGroupToPort (IntPtr system, uint portType, ulong portIndex, IntPtr channelgroup, bool passThru); + private static extern RESULT FMOD5_System_AttachChannelGroupToPort (IntPtr system, PORT_TYPE portType, ulong portIndex, IntPtr channelgroup, bool passThru); [DllImport(VERSION.dll)] private static extern RESULT FMOD5_System_DetachChannelGroupFromPort(IntPtr system, IntPtr channelgroup); [DllImport(VERSION.dll)] diff --git a/engine/FMOD/inc/fmod.h b/engine/FMOD/inc/fmod.h index 4fc15c2..0c73298 100644 --- a/engine/FMOD/inc/fmod.h +++ b/engine/FMOD/inc/fmod.h @@ -32,7 +32,7 @@ FMOD_RESULT F_API FMOD_Thread_SetAttributes (FMOD_THREAD_TYPE type, FMOD_ /* FMOD System factory functions. Use this to create an FMOD System Instance. below you will see FMOD_System_Init/Close to get started. */ -FMOD_RESULT F_API FMOD_System_Create (FMOD_SYSTEM **system); +FMOD_RESULT F_API FMOD_System_Create (FMOD_SYSTEM **system, unsigned int headerversion); FMOD_RESULT F_API FMOD_System_Release (FMOD_SYSTEM *system); /* @@ -101,8 +101,7 @@ FMOD_RESULT F_API FMOD_System_GetSpeakerModeChannels (FMOD_SYSTEM *system, FM FMOD_RESULT F_API FMOD_System_GetVersion (FMOD_SYSTEM *system, unsigned int *version); FMOD_RESULT F_API FMOD_System_GetOutputHandle (FMOD_SYSTEM *system, void **handle); FMOD_RESULT F_API FMOD_System_GetChannelsPlaying (FMOD_SYSTEM *system, int *channels, int *realchannels); -FMOD_RESULT F_API FMOD_System_GetCPUUsage (FMOD_SYSTEM *system, float *dsp, float *stream, float *geometry, float *update, float *total); -FMOD_RESULT F_API FMOD_System_GetCPUUsageEx (FMOD_SYSTEM *system, float *convolutionThread1, float *convolutionThread2); +FMOD_RESULT F_API FMOD_System_GetCPUUsage (FMOD_SYSTEM *system, FMOD_CPU_USAGE *usage); FMOD_RESULT F_API FMOD_System_GetFileUsage (FMOD_SYSTEM *system, long long *sampleBytesRead, long long *streamBytesRead, long long *otherBytesRead); /* Sound/DSP/Channel/FX creation and retrieval. */ diff --git a/engine/FMOD/inc/fmod.hpp b/engine/FMOD/inc/fmod.hpp index a78ff31..243b270 100644 --- a/engine/FMOD/inc/fmod.hpp +++ b/engine/FMOD/inc/fmod.hpp @@ -43,7 +43,7 @@ namespace FMOD /* FMOD System factory functions. */ - inline FMOD_RESULT System_Create (System **system) { return FMOD_System_Create((FMOD_SYSTEM **)system); } + inline FMOD_RESULT System_Create (System **system, unsigned int headerversion = FMOD_VERSION) { return FMOD_System_Create((FMOD_SYSTEM **)system, headerversion); } /* 'System' API @@ -123,8 +123,7 @@ namespace FMOD FMOD_RESULT F_API getVersion (unsigned int *version); FMOD_RESULT F_API getOutputHandle (void **handle); FMOD_RESULT F_API getChannelsPlaying (int *channels, int *realchannels = 0); - FMOD_RESULT F_API getCPUUsage (float *dsp, float *stream, float *geometry, float *update, float *total); - FMOD_RESULT F_API getCPUUsageEx (float *convolutionThread1, float *convolutionThread2); + FMOD_RESULT F_API getCPUUsage (FMOD_CPU_USAGE *usage); FMOD_RESULT F_API getFileUsage (long long *sampleBytesRead, long long *streamBytesRead, long long *otherBytesRead); // Sound/DSP/Channel/FX creation and retrieval. diff --git a/engine/FMOD/inc/fmod_codec.h b/engine/FMOD/inc/fmod_codec.h index 252de40..668d9cf 100644 --- a/engine/FMOD/inc/fmod_codec.h +++ b/engine/FMOD/inc/fmod_codec.h @@ -22,7 +22,12 @@ typedef struct FMOD_CODEC_WAVEFORMAT FMOD_CODEC_WAVEFORMAT; /* Codec constants */ -#define FMOD_CODEC_WAVEFORMAT_VERSION 3 +#define FMOD_CODEC_PLUGIN_VERSION 1 + +typedef int FMOD_CODEC_SEEK_METHOD; +#define FMOD_CODEC_SEEK_METHOD_SET 0 +#define FMOD_CODEC_SEEK_METHOD_CURRENT 1 +#define FMOD_CODEC_SEEK_METHOD_END 2 /* Codec callbacks @@ -40,12 +45,21 @@ typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETWAVEFORMAT_CALLBACK)(FMOD_CODEC_S Codec functions */ typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_METADATA_FUNC) (FMOD_CODEC_STATE *codec_state, FMOD_TAGTYPE tagtype, char *name, void *data, unsigned int datalen, FMOD_TAGDATATYPE datatype, int unique); +typedef void * (F_CALLBACK *FMOD_CODEC_ALLOC_FUNC) (unsigned int size, unsigned int align, const char *file, int line); +typedef void (F_CALLBACK *FMOD_CODEC_FREE_FUNC) (void *ptr, const char *file, int line); +typedef void (F_CALLBACK *FMOD_CODEC_LOG_FUNC) (FMOD_DEBUG_FLAGS level, const char *file, int line, const char *function, const char *string, ...); + +typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_READ_FUNC) (FMOD_CODEC_STATE *codec_state, void *buffer, unsigned int sizebytes, unsigned int *bytesread); +typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_SEEK_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int pos, FMOD_CODEC_SEEK_METHOD method); +typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_TELL_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int *pos); +typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_SIZE_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int *size); /* Codec structures */ typedef struct FMOD_CODEC_DESCRIPTION { + unsigned int apiversion; const char *name; unsigned int version; int defaultasstream; @@ -77,21 +91,46 @@ struct FMOD_CODEC_WAVEFORMAT float peakvolume; }; -struct FMOD_CODEC_STATE +typedef struct FMOD_CODEC_STATE_FUNCTIONS { - int numsubsounds; - FMOD_CODEC_WAVEFORMAT *waveformat; - void *plugindata; - - void *filehandle; - unsigned int filesize; - FMOD_FILE_READ_CALLBACK fileread; - FMOD_FILE_SEEK_CALLBACK fileseek; FMOD_CODEC_METADATA_FUNC metadata; + FMOD_CODEC_ALLOC_FUNC alloc; + FMOD_CODEC_FREE_FUNC free; + FMOD_CODEC_LOG_FUNC log; + FMOD_CODEC_FILE_READ_FUNC read; + FMOD_CODEC_FILE_SEEK_FUNC seek; + FMOD_CODEC_FILE_TELL_FUNC tell; + FMOD_CODEC_FILE_SIZE_FUNC size; +} FMOD_CODEC_STATE_FUNCTIONS; - int waveformatversion; +struct FMOD_CODEC_STATE +{ + void *plugindata; + FMOD_CODEC_WAVEFORMAT *waveformat; + FMOD_CODEC_STATE_FUNCTIONS *functions; + int numsubsounds; }; +/* + Codec macros +*/ +#define FMOD_CODEC_METADATA(_state, _tagtype, _name, _data, _datalen, _datatype, _unique) \ + (_state)->functions->metadata(_size, _tagtype, _name, _data, _datalen, _datatype, _unique) +#define FMOD_CODEC_ALLOC(_state, _size, _align) \ + (_state)->functions->alloc(_size, _align, __FILE__, __LINE__) +#define FMOD_CODEC_FREE(_state, _ptr) \ + (_state)->functions->free(_ptr, __FILE__, __LINE__) +#define FMOD_CODEC_LOG(_state, _level, _location, _format, ...) \ + (_state)->functions->log(_level, __FILE__, __LINE__, _location, _format, __VA_ARGS__) +#define FMOD_CODEC_FILE_READ(_state, _buffer, _sizebytes, _bytesread) \ + (_state)->functions->read(_state, _buffer, _sizebytes, _bytesread) +#define FMOD_CODEC_FILE_SEEK(_state, _pos, _method) \ + (_state)->functions->seek(_state, _pos, _method) +#define FMOD_CODEC_FILE_TELL(_state, _pos) \ + (_state)->functions->tell(_state, _pos) +#define FMOD_CODEC_FILE_SIZE(_state, _size) \ + (_state)->functions->size(_state, _size) + #endif diff --git a/engine/FMOD/inc/fmod_common.h b/engine/FMOD/inc/fmod_common.h index 7cb465e..1d7055c 100644 --- a/engine/FMOD/inc/fmod_common.h +++ b/engine/FMOD/inc/fmod_common.h @@ -52,13 +52,12 @@ typedef struct FMOD_POLYGON FMOD_POLYGON; typedef struct FMOD_GEOMETRY FMOD_GEOMETRY; typedef struct FMOD_SYNCPOINT FMOD_SYNCPOINT; typedef struct FMOD_ASYNCREADINFO FMOD_ASYNCREADINFO; -typedef unsigned int FMOD_PORT_TYPE; typedef unsigned long long FMOD_PORT_INDEX; /* FMOD constants */ -#define FMOD_VERSION 0x00020111 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/ +#define FMOD_VERSION 0x00020203 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/ typedef unsigned int FMOD_DEBUG_FLAGS; #define FMOD_DEBUG_LEVEL_NONE 0x00000000 @@ -225,12 +224,12 @@ typedef unsigned int FMOD_THREAD_STACK_SIZE; #define FMOD_THREAD_STACK_SIZE_CONVOLUTION1 (16 * 1024) #define FMOD_THREAD_STACK_SIZE_CONVOLUTION2 (16 * 1024) -typedef unsigned long long FMOD_THREAD_AFFINITY; +typedef long long FMOD_THREAD_AFFINITY; /* Platform agnostic thread groupings */ -#define FMOD_THREAD_AFFINITY_GROUP_DEFAULT 0x8000000000000000 -#define FMOD_THREAD_AFFINITY_GROUP_A 0x8000000000000001 -#define FMOD_THREAD_AFFINITY_GROUP_B 0x8000000000000002 -#define FMOD_THREAD_AFFINITY_GROUP_C 0x8000000000000003 +#define FMOD_THREAD_AFFINITY_GROUP_DEFAULT 0x4000000000000000 +#define FMOD_THREAD_AFFINITY_GROUP_A 0x4000000000000001 +#define FMOD_THREAD_AFFINITY_GROUP_B 0x4000000000000002 +#define FMOD_THREAD_AFFINITY_GROUP_C 0x4000000000000003 /* Thread defaults */ #define FMOD_THREAD_AFFINITY_MIXER FMOD_THREAD_AFFINITY_GROUP_A #define FMOD_THREAD_AFFINITY_FEEDER FMOD_THREAD_AFFINITY_GROUP_C @@ -679,6 +678,20 @@ typedef enum FMOD_TAGDATATYPE FMOD_TAGDATATYPE_FORCEINT = 65536 } FMOD_TAGDATATYPE; +typedef enum FMOD_PORT_TYPE +{ + FMOD_PORT_TYPE_MUSIC, + FMOD_PORT_TYPE_COPYRIGHT_MUSIC, + FMOD_PORT_TYPE_VOICE, + FMOD_PORT_TYPE_CONTROLLER, + FMOD_PORT_TYPE_PERSONAL, + FMOD_PORT_TYPE_VIBRATION, + FMOD_PORT_TYPE_AUX, + + FMOD_PORT_TYPE_MAX, + FMOD_PORT_TYPE_FORCEINT = 65536 +} FMOD_PORT_TYPE; + /* FMOD callbacks */ @@ -767,6 +780,7 @@ typedef struct FMOD_ADVANCEDSETTINGS FMOD_DSP_RESAMPLER resamplerMethod; unsigned int randomSeed; int maxConvolutionThreads; + int maxOpusCodecs; } FMOD_ADVANCEDSETTINGS; typedef struct FMOD_TAG @@ -844,6 +858,17 @@ typedef struct FMOD_ERRORCALLBACK_INFO const char *functionparams; } FMOD_ERRORCALLBACK_INFO; +typedef struct FMOD_CPU_USAGE +{ + float dsp; + float stream; + float geometry; + float update; + float convolution1; + float convolution2; +} FMOD_CPU_USAGE; + + /* FMOD optional headers for plugin development */ diff --git a/engine/FMOD/inc/fmod_dsp.cs b/engine/FMOD/inc/fmod_dsp.cs index 5df37d0..92ad06d 100644 --- a/engine/FMOD/inc/fmod_dsp.cs +++ b/engine/FMOD/inc/fmod_dsp.cs @@ -231,7 +231,8 @@ namespace FMOD DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES = -2, DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3, DSP_PARAMETER_DATA_TYPE_FFT = -4, - DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5 + DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5, + DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE = -6 } [StructLayout(LayoutKind.Sequential)] @@ -327,6 +328,13 @@ namespace FMOD public float[] channelweight; } + [StructLayout(LayoutKind.Sequential)] + public struct DSP_PARAMETER_ATTENUATION_RANGE + { + public float min; + public float max; + } + [StructLayout(LayoutKind.Sequential)] public struct DSP_DESCRIPTION { @@ -515,7 +523,7 @@ namespace FMOD public enum DSP_NORMALIZE : int { FADETIME, - THRESHHOLD, + THRESHOLD, MAXAMP } @@ -702,6 +710,8 @@ namespace FMOD OVERALL_GAIN, SURROUND_SPEAKER_MODE, _2D_HEIGHT_BLEND, + ATTENUATION_RANGE, + OVERRIDE_RANGE } public enum DSP_THREE_EQ_CROSSOVERSLOPE_TYPE : int @@ -880,6 +890,8 @@ namespace FMOD _3D_SOUND_SIZE, _3D_MIN_EXTENT, OVERALL_GAIN, - OUTPUTGAIN + OUTPUTGAIN, + ATTENUATION_RANGE, + OVERRIDE_RANGE } } diff --git a/engine/FMOD/inc/fmod_dsp.h b/engine/FMOD/inc/fmod_dsp.h index c95d5ae..3e28a40 100644 --- a/engine/FMOD/inc/fmod_dsp.h +++ b/engine/FMOD/inc/fmod_dsp.h @@ -66,6 +66,7 @@ typedef enum FMOD_DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3, FMOD_DSP_PARAMETER_DATA_TYPE_FFT = -4, FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5, + FMOD_DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE = -6, } FMOD_DSP_PARAMETER_DATA_TYPE; /* @@ -207,6 +208,12 @@ typedef struct FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI FMOD_3D_ATTRIBUTES absolute; } FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI; +typedef struct FMOD_DSP_PARAMETER_ATTENUATION_RANGE +{ + float min; + float max; +} FMOD_DSP_PARAMETER_ATTENUATION_RANGE; + typedef struct FMOD_DSP_PARAMETER_SIDECHAIN { FMOD_BOOL sidechainenable; diff --git a/engine/FMOD/inc/fmod_dsp_effects.h b/engine/FMOD/inc/fmod_dsp_effects.h index 34310e8..e5645cb 100644 --- a/engine/FMOD/inc/fmod_dsp_effects.h +++ b/engine/FMOD/inc/fmod_dsp_effects.h @@ -126,7 +126,7 @@ typedef enum typedef enum { FMOD_DSP_NORMALIZE_FADETIME, - FMOD_DSP_NORMALIZE_THRESHHOLD, + FMOD_DSP_NORMALIZE_THRESHOLD, FMOD_DSP_NORMALIZE_MAXAMP } FMOD_DSP_NORMALIZE; @@ -363,6 +363,8 @@ typedef enum FMOD_DSP_PAN_OVERALL_GAIN, FMOD_DSP_PAN_SURROUND_SPEAKER_MODE, FMOD_DSP_PAN_2D_HEIGHT_BLEND, + FMOD_DSP_PAN_ATTENUATION_RANGE, + FMOD_DSP_PAN_OVERRIDE_RANGE } FMOD_DSP_PAN; @@ -566,7 +568,9 @@ typedef enum FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE, FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT, FMOD_DSP_OBJECTPAN_OVERALL_GAIN, - FMOD_DSP_OBJECTPAN_OUTPUTGAIN + FMOD_DSP_OBJECTPAN_OUTPUTGAIN, + FMOD_DSP_OBJECTPAN_ATTENUATION_RANGE, + FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE } FMOD_DSP_OBJECTPAN; #endif diff --git a/engine/FMOD/inc/fmod_output.h b/engine/FMOD/inc/fmod_output.h index 4074845..0d511a0 100644 --- a/engine/FMOD/inc/fmod_output.h +++ b/engine/FMOD/inc/fmod_output.h @@ -19,27 +19,23 @@ typedef struct FMOD_OUTPUT_OBJECT3DINFO FMOD_OUTPUT_OBJECT3DINFO; /* Output constants */ -#define FMOD_OUTPUT_PLUGIN_VERSION 4 +#define FMOD_OUTPUT_PLUGIN_VERSION 5 typedef unsigned int FMOD_OUTPUT_METHOD; #define FMOD_OUTPUT_METHOD_MIX_DIRECT 0 -#define FMOD_OUTPUT_METHOD_POLLING 1 -#define FMOD_OUTPUT_METHOD_MIX_BUFFERED 2 +#define FMOD_OUTPUT_METHOD_MIX_BUFFERED 1 /* Output callbacks */ typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETNUMDRIVERS_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int *numdrivers); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETDRIVERINFO_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int id, char *name, int namelen, FMOD_GUID *guid, int *systemrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_INIT_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int selecteddriver, FMOD_INITFLAGS flags, int *outputrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels, FMOD_SOUND_FORMAT *outputformat, int dspbufferlength, int dspnumbuffers, void *extradriverdata); +typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_INIT_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int selecteddriver, FMOD_INITFLAGS flags, int *outputrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels, FMOD_SOUND_FORMAT *outputformat, int dspbufferlength, int *dspnumbuffers, int *dspnumadditionalbuffers, void *extradriverdata); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_START_CALLBACK) (FMOD_OUTPUT_STATE *output_state); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_STOP_CALLBACK) (FMOD_OUTPUT_STATE *output_state); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_CLOSE_CALLBACK) (FMOD_OUTPUT_STATE *output_state); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_UPDATE_CALLBACK) (FMOD_OUTPUT_STATE *output_state); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETHANDLE_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void **handle); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETPOSITION_CALLBACK) (FMOD_OUTPUT_STATE *output_state, unsigned int *pcm); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_LOCK_CALLBACK) (FMOD_OUTPUT_STATE *output_state, unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_UNLOCK_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void *ptr1, void *ptr2, unsigned int len1, unsigned int len2); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_MIXER_CALLBACK) (FMOD_OUTPUT_STATE *output_state); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_OBJECT3DGETINFO_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int *maxhardwareobjects); typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_OBJECT3DALLOC_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void **object3d); @@ -76,9 +72,6 @@ typedef struct FMOD_OUTPUT_DESCRIPTION FMOD_OUTPUT_CLOSE_CALLBACK close; FMOD_OUTPUT_UPDATE_CALLBACK update; FMOD_OUTPUT_GETHANDLE_CALLBACK gethandle; - FMOD_OUTPUT_GETPOSITION_CALLBACK getposition; - FMOD_OUTPUT_LOCK_CALLBACK lock; - FMOD_OUTPUT_UNLOCK_CALLBACK unlock; FMOD_OUTPUT_MIXER_CALLBACK mixer; FMOD_OUTPUT_OBJECT3DGETINFO_CALLBACK object3dgetinfo; FMOD_OUTPUT_OBJECT3DALLOC_CALLBACK object3dalloc; diff --git a/engine/FMOD/lib/x64/fmod.dll b/engine/FMOD/lib/x64/fmod.dll index 8fd67ab..f9e38be 100644 Binary files a/engine/FMOD/lib/x64/fmod.dll and b/engine/FMOD/lib/x64/fmod.dll differ diff --git a/engine/FMOD/lib/x64/fmodL.dll b/engine/FMOD/lib/x64/fmodL.dll index 9f4586b..0394340 100644 Binary files a/engine/FMOD/lib/x64/fmodL.dll and b/engine/FMOD/lib/x64/fmodL.dll differ diff --git a/engine/FMOD/lib/x64/fmodL_vc.lib b/engine/FMOD/lib/x64/fmodL_vc.lib index 2185102..db6a830 100644 Binary files a/engine/FMOD/lib/x64/fmodL_vc.lib and b/engine/FMOD/lib/x64/fmodL_vc.lib differ diff --git a/engine/FMOD/lib/x64/fmod_vc.lib b/engine/FMOD/lib/x64/fmod_vc.lib index c2f2c6e..7f00702 100644 Binary files a/engine/FMOD/lib/x64/fmod_vc.lib and b/engine/FMOD/lib/x64/fmod_vc.lib differ diff --git a/engine/FMOD/lib/x86/fmod.dll b/engine/FMOD/lib/x86/fmod.dll index 6627820..b30885f 100644 Binary files a/engine/FMOD/lib/x86/fmod.dll and b/engine/FMOD/lib/x86/fmod.dll differ diff --git a/engine/FMOD/lib/x86/fmodL.dll b/engine/FMOD/lib/x86/fmodL.dll index e32cd4e..7c44416 100644 Binary files a/engine/FMOD/lib/x86/fmodL.dll and b/engine/FMOD/lib/x86/fmodL.dll differ diff --git a/engine/FMOD/lib/x86/fmodL_vc.lib b/engine/FMOD/lib/x86/fmodL_vc.lib index 8dbf71c..7bdb9ba 100644 Binary files a/engine/FMOD/lib/x86/fmodL_vc.lib and b/engine/FMOD/lib/x86/fmodL_vc.lib differ diff --git a/engine/FMOD/lib/x86/fmod_vc.lib b/engine/FMOD/lib/x86/fmod_vc.lib index 8df58dd..93a9915 100644 Binary files a/engine/FMOD/lib/x86/fmod_vc.lib and b/engine/FMOD/lib/x86/fmod_vc.lib differ diff --git a/engine/FMOD/lib/x86/libfmod.a b/engine/FMOD/lib/x86/libfmod.a index 363790e..a828419 100644 Binary files a/engine/FMOD/lib/x86/libfmod.a and b/engine/FMOD/lib/x86/libfmod.a differ diff --git a/engine/FMOD/lib/x86/libfmodL.a b/engine/FMOD/lib/x86/libfmodL.a index 437aa3c..8932f4f 100644 Binary files a/engine/FMOD/lib/x86/libfmodL.a and b/engine/FMOD/lib/x86/libfmodL.a differ