Browse Source

Updated FMOD libraries to 2.02.03 (latest stable release branch)

readme
Nico de Poel 4 years ago
parent
commit
7d0795d1aa
  1. 65
      engine/FMOD/inc/fmod.cs
  2. 5
      engine/FMOD/inc/fmod.h
  3. 5
      engine/FMOD/inc/fmod.hpp
  4. 61
      engine/FMOD/inc/fmod_codec.h
  5. 39
      engine/FMOD/inc/fmod_common.h
  6. 18
      engine/FMOD/inc/fmod_dsp.cs
  7. 7
      engine/FMOD/inc/fmod_dsp.h
  8. 8
      engine/FMOD/inc/fmod_dsp_effects.h
  9. 13
      engine/FMOD/inc/fmod_output.h
  10. BIN
      engine/FMOD/lib/x64/fmod.dll
  11. BIN
      engine/FMOD/lib/x64/fmodL.dll
  12. BIN
      engine/FMOD/lib/x64/fmodL_vc.lib
  13. BIN
      engine/FMOD/lib/x64/fmod_vc.lib
  14. BIN
      engine/FMOD/lib/x86/fmod.dll
  15. BIN
      engine/FMOD/lib/x86/fmodL.dll
  16. BIN
      engine/FMOD/lib/x86/fmodL_vc.lib
  17. BIN
      engine/FMOD/lib/x86/fmod_vc.lib
  18. BIN
      engine/FMOD/lib/x86/libfmod.a
  19. BIN
      engine/FMOD/lib/x86/libfmodL.a

65
engine/FMOD/inc/fmod.cs

@ -19,8 +19,8 @@ namespace FMOD
*/ */
public partial class VERSION 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"; public const string dll = "fmod";
#endif #endif
} }
@ -146,6 +146,15 @@ namespace FMOD
public VECTOR up; 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)] [StructLayout(LayoutKind.Sequential)]
public struct ASYNCREADINFO public struct ASYNCREADINFO
{ {
@ -187,6 +196,19 @@ namespace FMOD
MAX, MAX,
} }
public enum PORT_TYPE : int
{
MUSIC,
COPYRIGHT_MUSIC,
VOICE,
CONTROLLER,
PERSONAL,
VIBRATION,
AUX,
MAX
}
public enum DEBUG_MODE : int public enum DEBUG_MODE : int
{ {
TTY, TTY,
@ -480,6 +502,17 @@ namespace FMOD
public StringWrapper functionparams; 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] [Flags]
public enum SYSTEM_CALLBACK_TYPE : uint public enum SYSTEM_CALLBACK_TYPE : uint
{ {
@ -736,6 +769,7 @@ namespace FMOD
public DSP_RESAMPLER resamplerMethod; public DSP_RESAMPLER resamplerMethod;
public uint randomSeed; public uint randomSeed;
public int maxConvolutionThreads; public int maxConvolutionThreads;
public int maxOpusCodecs;
} }
[Flags] [Flags]
@ -796,7 +830,7 @@ namespace FMOD
} }
[Flags] [Flags]
public enum THREAD_AFFINITY : long // avoid ulong for Bolt compatibility
public enum THREAD_AFFINITY : long
{ {
/* Platform agnostic thread groupings */ /* Platform agnostic thread groupings */
GROUP_DEFAULT = 0x4000000000000000, GROUP_DEFAULT = 0x4000000000000000,
@ -865,12 +899,12 @@ namespace FMOD
{ {
public static RESULT System_Create(out System system) 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 #region importfunctions
[DllImport(VERSION.dll)] [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 #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) 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); return FMOD5_Thread_SetAttributes(type, affinity, priority, stacksize);
} }
@ -1209,13 +1238,9 @@ namespace FMOD
{ {
return FMOD5_System_GetChannelsPlaying(this.handle, out channels, out realchannels); 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) public RESULT getFileUsage(out Int64 sampleBytesRead, out Int64 streamBytesRead, out Int64 otherBytesRead)
{ {
@ -1319,7 +1344,7 @@ namespace FMOD
} }
// Routing to ports. // 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); return FMOD5_System_AttachChannelGroupToPort(this.handle, portType, portIndex, channelgroup.handle, passThru);
} }
@ -1562,9 +1587,7 @@ namespace FMOD
[DllImport(VERSION.dll)] [DllImport(VERSION.dll)]
private static extern RESULT FMOD5_System_GetChannelsPlaying (IntPtr system, out int channels, out int realchannels); private static extern RESULT FMOD5_System_GetChannelsPlaying (IntPtr system, out int channels, out int realchannels);
[DllImport(VERSION.dll)] [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)] [DllImport(VERSION.dll)]
private static extern RESULT FMOD5_System_GetFileUsage (IntPtr system, out Int64 sampleBytesRead, out Int64 streamBytesRead, out Int64 otherBytesRead); private static extern RESULT FMOD5_System_GetFileUsage (IntPtr system, out Int64 sampleBytesRead, out Int64 streamBytesRead, out Int64 otherBytesRead);
[DllImport(VERSION.dll)] [DllImport(VERSION.dll)]
@ -1598,7 +1621,7 @@ namespace FMOD
[DllImport(VERSION.dll)] [DllImport(VERSION.dll)]
private static extern RESULT FMOD5_System_GetMasterSoundGroup (IntPtr system, out IntPtr soundgroup); private static extern RESULT FMOD5_System_GetMasterSoundGroup (IntPtr system, out IntPtr soundgroup);
[DllImport(VERSION.dll)] [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)] [DllImport(VERSION.dll)]
private static extern RESULT FMOD5_System_DetachChannelGroupFromPort(IntPtr system, IntPtr channelgroup); private static extern RESULT FMOD5_System_DetachChannelGroupFromPort(IntPtr system, IntPtr channelgroup);
[DllImport(VERSION.dll)] [DllImport(VERSION.dll)]

5
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 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); 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_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_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_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); 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. */ /* Sound/DSP/Channel/FX creation and retrieval. */

5
engine/FMOD/inc/fmod.hpp

@ -43,7 +43,7 @@ namespace FMOD
/* /*
FMOD System factory functions. 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 'System' API
@ -123,8 +123,7 @@ namespace FMOD
FMOD_RESULT F_API getVersion (unsigned int *version); FMOD_RESULT F_API getVersion (unsigned int *version);
FMOD_RESULT F_API getOutputHandle (void **handle); FMOD_RESULT F_API getOutputHandle (void **handle);
FMOD_RESULT F_API getChannelsPlaying (int *channels, int *realchannels = 0); 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); FMOD_RESULT F_API getFileUsage (long long *sampleBytesRead, long long *streamBytesRead, long long *otherBytesRead);
// Sound/DSP/Channel/FX creation and retrieval. // Sound/DSP/Channel/FX creation and retrieval.

61
engine/FMOD/inc/fmod_codec.h

@ -22,7 +22,12 @@ typedef struct FMOD_CODEC_WAVEFORMAT FMOD_CODEC_WAVEFORMAT;
/* /*
Codec constants 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 Codec callbacks
@ -40,12 +45,21 @@ typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETWAVEFORMAT_CALLBACK)(FMOD_CODEC_S
Codec functions 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 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 Codec structures
*/ */
typedef struct FMOD_CODEC_DESCRIPTION typedef struct FMOD_CODEC_DESCRIPTION
{ {
unsigned int apiversion;
const char *name; const char *name;
unsigned int version; unsigned int version;
int defaultasstream; int defaultasstream;
@ -77,21 +91,46 @@ struct FMOD_CODEC_WAVEFORMAT
float peakvolume; 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_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 #endif

39
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_GEOMETRY FMOD_GEOMETRY;
typedef struct FMOD_SYNCPOINT FMOD_SYNCPOINT; typedef struct FMOD_SYNCPOINT FMOD_SYNCPOINT;
typedef struct FMOD_ASYNCREADINFO FMOD_ASYNCREADINFO; typedef struct FMOD_ASYNCREADINFO FMOD_ASYNCREADINFO;
typedef unsigned int FMOD_PORT_TYPE;
typedef unsigned long long FMOD_PORT_INDEX; typedef unsigned long long FMOD_PORT_INDEX;
/* /*
FMOD constants 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; typedef unsigned int FMOD_DEBUG_FLAGS;
#define FMOD_DEBUG_LEVEL_NONE 0x00000000 #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_CONVOLUTION1 (16 * 1024)
#define FMOD_THREAD_STACK_SIZE_CONVOLUTION2 (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 */ /* 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 */ /* Thread defaults */
#define FMOD_THREAD_AFFINITY_MIXER FMOD_THREAD_AFFINITY_GROUP_A #define FMOD_THREAD_AFFINITY_MIXER FMOD_THREAD_AFFINITY_GROUP_A
#define FMOD_THREAD_AFFINITY_FEEDER FMOD_THREAD_AFFINITY_GROUP_C #define FMOD_THREAD_AFFINITY_FEEDER FMOD_THREAD_AFFINITY_GROUP_C
@ -679,6 +678,20 @@ typedef enum FMOD_TAGDATATYPE
FMOD_TAGDATATYPE_FORCEINT = 65536 FMOD_TAGDATATYPE_FORCEINT = 65536
} FMOD_TAGDATATYPE; } 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 FMOD callbacks
*/ */
@ -767,6 +780,7 @@ typedef struct FMOD_ADVANCEDSETTINGS
FMOD_DSP_RESAMPLER resamplerMethod; FMOD_DSP_RESAMPLER resamplerMethod;
unsigned int randomSeed; unsigned int randomSeed;
int maxConvolutionThreads; int maxConvolutionThreads;
int maxOpusCodecs;
} FMOD_ADVANCEDSETTINGS; } FMOD_ADVANCEDSETTINGS;
typedef struct FMOD_TAG typedef struct FMOD_TAG
@ -844,6 +858,17 @@ typedef struct FMOD_ERRORCALLBACK_INFO
const char *functionparams; const char *functionparams;
} FMOD_ERRORCALLBACK_INFO; } 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 FMOD optional headers for plugin development
*/ */

18
engine/FMOD/inc/fmod_dsp.cs

@ -231,7 +231,8 @@ namespace FMOD
DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES = -2, DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES = -2,
DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3, DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3,
DSP_PARAMETER_DATA_TYPE_FFT = -4, 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)] [StructLayout(LayoutKind.Sequential)]
@ -327,6 +328,13 @@ namespace FMOD
public float[] channelweight; public float[] channelweight;
} }
[StructLayout(LayoutKind.Sequential)]
public struct DSP_PARAMETER_ATTENUATION_RANGE
{
public float min;
public float max;
}
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct DSP_DESCRIPTION public struct DSP_DESCRIPTION
{ {
@ -515,7 +523,7 @@ namespace FMOD
public enum DSP_NORMALIZE : int public enum DSP_NORMALIZE : int
{ {
FADETIME, FADETIME,
THRESHHOLD,
THRESHOLD,
MAXAMP MAXAMP
} }
@ -702,6 +710,8 @@ namespace FMOD
OVERALL_GAIN, OVERALL_GAIN,
SURROUND_SPEAKER_MODE, SURROUND_SPEAKER_MODE,
_2D_HEIGHT_BLEND, _2D_HEIGHT_BLEND,
ATTENUATION_RANGE,
OVERRIDE_RANGE
} }
public enum DSP_THREE_EQ_CROSSOVERSLOPE_TYPE : int public enum DSP_THREE_EQ_CROSSOVERSLOPE_TYPE : int
@ -880,6 +890,8 @@ namespace FMOD
_3D_SOUND_SIZE, _3D_SOUND_SIZE,
_3D_MIN_EXTENT, _3D_MIN_EXTENT,
OVERALL_GAIN, OVERALL_GAIN,
OUTPUTGAIN
OUTPUTGAIN,
ATTENUATION_RANGE,
OVERRIDE_RANGE
} }
} }

7
engine/FMOD/inc/fmod_dsp.h

@ -66,6 +66,7 @@ typedef enum
FMOD_DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3, FMOD_DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3,
FMOD_DSP_PARAMETER_DATA_TYPE_FFT = -4, FMOD_DSP_PARAMETER_DATA_TYPE_FFT = -4,
FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5, FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5,
FMOD_DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE = -6,
} FMOD_DSP_PARAMETER_DATA_TYPE; } FMOD_DSP_PARAMETER_DATA_TYPE;
/* /*
@ -207,6 +208,12 @@ typedef struct FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI
FMOD_3D_ATTRIBUTES absolute; FMOD_3D_ATTRIBUTES absolute;
} FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI; } 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 typedef struct FMOD_DSP_PARAMETER_SIDECHAIN
{ {
FMOD_BOOL sidechainenable; FMOD_BOOL sidechainenable;

8
engine/FMOD/inc/fmod_dsp_effects.h

@ -126,7 +126,7 @@ typedef enum
typedef enum typedef enum
{ {
FMOD_DSP_NORMALIZE_FADETIME, FMOD_DSP_NORMALIZE_FADETIME,
FMOD_DSP_NORMALIZE_THRESHHOLD,
FMOD_DSP_NORMALIZE_THRESHOLD,
FMOD_DSP_NORMALIZE_MAXAMP FMOD_DSP_NORMALIZE_MAXAMP
} FMOD_DSP_NORMALIZE; } FMOD_DSP_NORMALIZE;
@ -363,6 +363,8 @@ typedef enum
FMOD_DSP_PAN_OVERALL_GAIN, FMOD_DSP_PAN_OVERALL_GAIN,
FMOD_DSP_PAN_SURROUND_SPEAKER_MODE, FMOD_DSP_PAN_SURROUND_SPEAKER_MODE,
FMOD_DSP_PAN_2D_HEIGHT_BLEND, FMOD_DSP_PAN_2D_HEIGHT_BLEND,
FMOD_DSP_PAN_ATTENUATION_RANGE,
FMOD_DSP_PAN_OVERRIDE_RANGE
} FMOD_DSP_PAN; } FMOD_DSP_PAN;
@ -566,7 +568,9 @@ typedef enum
FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE, FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE,
FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT, FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT,
FMOD_DSP_OBJECTPAN_OVERALL_GAIN, 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; } FMOD_DSP_OBJECTPAN;
#endif #endif

13
engine/FMOD/inc/fmod_output.h

@ -19,27 +19,23 @@ typedef struct FMOD_OUTPUT_OBJECT3DINFO FMOD_OUTPUT_OBJECT3DINFO;
/* /*
Output constants Output constants
*/ */
#define FMOD_OUTPUT_PLUGIN_VERSION 4
#define FMOD_OUTPUT_PLUGIN_VERSION 5
typedef unsigned int FMOD_OUTPUT_METHOD; typedef unsigned int FMOD_OUTPUT_METHOD;
#define FMOD_OUTPUT_METHOD_MIX_DIRECT 0 #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 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_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_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_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_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_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_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_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_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_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); 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_CLOSE_CALLBACK close;
FMOD_OUTPUT_UPDATE_CALLBACK update; FMOD_OUTPUT_UPDATE_CALLBACK update;
FMOD_OUTPUT_GETHANDLE_CALLBACK gethandle; 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_MIXER_CALLBACK mixer;
FMOD_OUTPUT_OBJECT3DGETINFO_CALLBACK object3dgetinfo; FMOD_OUTPUT_OBJECT3DGETINFO_CALLBACK object3dgetinfo;
FMOD_OUTPUT_OBJECT3DALLOC_CALLBACK object3dalloc; FMOD_OUTPUT_OBJECT3DALLOC_CALLBACK object3dalloc;

BIN
engine/FMOD/lib/x64/fmod.dll

BIN
engine/FMOD/lib/x64/fmodL.dll

BIN
engine/FMOD/lib/x64/fmodL_vc.lib

BIN
engine/FMOD/lib/x64/fmod_vc.lib

BIN
engine/FMOD/lib/x86/fmod.dll

BIN
engine/FMOD/lib/x86/fmodL.dll

BIN
engine/FMOD/lib/x86/fmodL_vc.lib

BIN
engine/FMOD/lib/x86/fmod_vc.lib

BIN
engine/FMOD/lib/x86/libfmod.a

BIN
engine/FMOD/lib/x86/libfmodL.a

Loading…
Cancel
Save