Skip to content

Commit 244d2d8

Browse files
authored
Add files via upload
1 parent c0d35c4 commit 244d2d8

File tree

12 files changed

+4015
-0
lines changed

12 files changed

+4015
-0
lines changed

docs/eaxman.pdf

499 KB
Binary file not shown.

inc/EaxMan.h

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
/*
2+
*/
3+
#ifndef __EAXMANH
4+
#define __EAXMANH
5+
6+
#define COM_NO_WINDOWS_H
7+
#include <objbase.h>
8+
#include "eax.h"
9+
10+
#ifdef __cplusplus
11+
extern "C" {
12+
#endif // __cplusplus
13+
14+
#define CLSID_EAXMANAGER CLSID_EAX20_Manager
15+
#define IID_IEaxManager IID_EAX20_Manager
16+
#define EM_MAX_NAME 32
17+
18+
#define EMFLAG_IDDEFAULT (-1)
19+
#define EMFLAG_IDNONE (-2)
20+
#define EMFLAG_LOCKPOSITION 1
21+
#define EMFLAG_LOADFROMMEMORY 2
22+
#define EMFLAG_NODIFFRACTION 4
23+
24+
typedef struct _EMPOINT {
25+
float fX;
26+
float fY;
27+
float fZ;
28+
} EMPOINT;
29+
typedef EMPOINT FAR *LPEMPOINT;
30+
31+
typedef struct _LISTENERATTRIBUTES {
32+
float fDistanceFactor;
33+
float fRolloffFactor;
34+
float fDopplerFactor;
35+
} LISTENERATTRIBUTES;
36+
typedef LISTENERATTRIBUTES FAR *LPLISTENERATTRIBUTES;
37+
38+
typedef struct _SOURCEATTRIBUTES {
39+
EAXBUFFERPROPERTIES eaxAttributes;
40+
unsigned long ulInsideConeAngle;
41+
unsigned long ulOutsideConeAngle;
42+
long lConeOutsideVolume;
43+
float fConeXdir;
44+
float fConeYdir;
45+
float fConeZdir;
46+
float fMinDistance;
47+
float fMaxDistance;
48+
long lDupCount;
49+
long lPriority;
50+
} SOURCEATTRIBUTES;
51+
typedef SOURCEATTRIBUTES FAR *LPSOURCEATTRIBUTES;
52+
53+
typedef struct _MATERIALATTRIBUTES {
54+
long lLevel;
55+
float fLFRatio;
56+
float fRoomRatio;
57+
DWORD dwFlags;
58+
} MATERIALATTRIBUTES;
59+
typedef MATERIALATTRIBUTES FAR *LPMATERIALATTRIBUTES;
60+
61+
#define EMMATERIAL_OBSTRUCTS 1
62+
#define EMMATERIAL_OCCLUDES 3
63+
64+
typedef struct _DIFFRACTIONBOX {
65+
long lSubspaceID;
66+
EMPOINT empMin;
67+
EMPOINT empMax;
68+
} DIFFRACTIONBOX;
69+
typedef DIFFRACTIONBOX FAR *LPDIFFRACTIONBOX;
70+
71+
// {7CE4D6E6-562F-11d3-8812-005004062F83}
72+
DEFINE_GUID(CLSID_EAXMANAGER, 0x60b721a1, 0xf7c8, 0x11d2, 0xa0, 0x2e, 0x0, 0x50, 0x4, 0x6, 0x18, 0xb8);
73+
74+
#ifdef __cplusplus
75+
struct IEaxManager;
76+
#endif // __cplusplus
77+
78+
typedef struct IEaxManager *LPEAXMANAGER;
79+
80+
// {7CE4D6E8-562F-11d3-8812-005004062F83}
81+
DEFINE_GUID(IID_IEaxManager, 0x60b721a2, 0xf7c8, 0x11d2, 0xa0, 0x2e, 0x0, 0x50, 0x4, 0x6, 0x18, 0xb8);
82+
83+
#undef INTERFACE
84+
#define INTERFACE IEaxManager
85+
86+
extern HRESULT __stdcall EaxManagerCreate(LPEAXMANAGER*);
87+
typedef HRESULT (__stdcall *LPEAXMANAGERCREATE)(LPEAXMANAGER*);
88+
89+
DECLARE_INTERFACE_(IEaxManager, IUnknown)
90+
{
91+
// IUnknown methods
92+
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
93+
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
94+
STDMETHOD_(ULONG,Release) (THIS) PURE;
95+
96+
STDMETHOD(GetDataSetSize) (THIS_ unsigned long*, DWORD) PURE;
97+
STDMETHOD(LoadDataSet) (THIS_ char*, DWORD) PURE;
98+
STDMETHOD(FreeDataSet) (THIS_ DWORD) PURE;
99+
STDMETHOD(GetListenerAttributes) (THIS_ LPLISTENERATTRIBUTES) PURE;
100+
STDMETHOD(GetSourceID) (THIS_ char*, long*) PURE;
101+
STDMETHOD(GetSourceAttributes) (THIS_ long, LPSOURCEATTRIBUTES) PURE;
102+
STDMETHOD(GetSourceNumInstances) (THIS_ long, long*) PURE;
103+
STDMETHOD(GetSourceInstancePos) (THIS_ long, long, LPEMPOINT) PURE;
104+
STDMETHOD(GetEnvironmentID) (THIS_ char*, long*) PURE;
105+
STDMETHOD(GetEnvironmentAttributes) (THIS_ long, LPEAXLISTENERPROPERTIES) PURE;
106+
STDMETHOD(GetMaterialID) (THIS_ char*, long*) PURE;
107+
STDMETHOD(GetMaterialAttributes) (THIS_ long, LPMATERIALATTRIBUTES) PURE;
108+
STDMETHOD(GetGeometrySetID) (THIS_ char*, long*) PURE;
109+
STDMETHOD(GetListenerDynamicAttributes) (THIS_ long, LPEMPOINT, long*, DWORD) PURE;
110+
STDMETHOD(GetSourceDynamicAttributes) (THIS_ long, LPEMPOINT, long*, float*, long*, float*, float*, LPEMPOINT, DWORD) PURE;
111+
};
112+
113+
#if !defined(__cplusplus) || defined(CINTERFACE)
114+
#define IEaxManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
115+
#define IEaxManager_AddRef(p) (p)->lpVtbl->AddRef(p)
116+
#define IEaxManager_Release(p) (p)->lpVtbl->Release(p)
117+
#define IEaxManager_GetDataSetSize(p,a,b) (p)->lpVtbl->GetDataSetSize(p,a,b)
118+
#define IEaxManager_LoadDataSet(p,a,b) (p)->lpVtbl->LoadDataSet(p,a,b)
119+
#define IEaxManager_FreeDataSet(p,a) (p)->lpVtbl->FreeDataSet(p,a)
120+
#define IEaxManager_GetListenerAttributes(p,a) (p)->lpVtbl->GetListenerAttributes(p,a)
121+
#define IEaxManager_GetSourceID(p,a,b) (p)->lpVtbl->GetSourceID(p,a,b)
122+
#define IEaxManager_GetSourceAttributes(p,a,b) (p)->lpVtbl->GetSourceAttributes(p,a,b)
123+
#define IEaxManager_GetSourceNumInstances(p,a,b) (p)->lpVtbl->GetSourceNumInstances(p,a,b)
124+
#define IEaxManager_GetSourceInstancePos(p,a,b,c) (p)->lpVtbl->GetSourceInstancePos(p,a,b,c)
125+
#define IEaxManager_GetEnvironmentID(p,a,b) (p)->lpVtbl->GetEnvironmentID(p,a,b)
126+
#define IEaxManager_GetEnvironmentAttributes(p,a,b) (p)->lpVtbl->GetEnvironmentAttributes(p,a,b)
127+
#define IEaxManager_GetMaterialID(p,a,b) (p)->lpVtbl->GetMaterialID(p,a,b)
128+
#define IEaxManager_GetMaterialAttributes(p,a,b) (p)->lpVtbl->GetMaterialAttributes(p,a,b)
129+
#define IEaxManager_GetGeometrySetID(p,a,b) (p)->lpVtbl->GetGeometrySetID(p,a,b)
130+
#define IEaxManager_GetListenerDynamicAttributes(p,a,b,c,d) (p)->lpVtbl->GetListenerDynamicAttributes(p,a,b,c,d)
131+
#define IEaxManager_GetSourceDynamicAttributes(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->GetSourceDynamicAttributes(p,a,b,c,d,e,f,g,h,i)
132+
#else
133+
#define IEaxManager_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
134+
#define IEaxManager_AddRef(p) (p)->AddRef()
135+
#define IEaxManager_Release(p) (p)->Release()
136+
#define IEaxManager_GetDataSetSize(p,a,b) (p)->GetDataSetSize(a,b)
137+
#define IEaxManager_LoadDataSet(p,a,b) (p)->LoadDataSet(a,b)
138+
#define IEaxManager_FreeDataSet(p,a) (p)->FreeDataSet(a)
139+
#define IEaxManager_GetListenerAttributes(p,a) (p)->GetListenerAttributes(a)
140+
#define IEaxManager_GetSourceID(p,a,b) (p)->GetSourceID(a,b)
141+
#define IEaxManager_GetSourceAttributes(p,a,b) (p)->GetSourceAttributes(a,b)
142+
#define IEaxManager_GetSourceNumInstances(p,a,b) (p)->GetSourceNumInstances(a,b)
143+
#define IEaxManager_GetSourceInstancePos(p,a,b,c) (p)->GetSourceInstancePos(a,b,c)
144+
#define IEaxManager_GetEnvironmentID(p,a,b) (p)->GetEnvironmentID(a,b)
145+
#define IEaxManager_GetEnvironmentAttributes(p,a,b) (p)->GetEnvironmentAttributes(a,b)
146+
#define IEaxManager_GetMaterialID(p,a,b) (p)->GetMaterialID(a,b)
147+
#define IEaxManager_GetMaterialAttributes(p,a,b) (p)->GetMaterialAttributes(a,b)
148+
#define IEaxManager_GetGeometrySetID(p,a,b) (p)->GetGeometrySetID(a,b)
149+
#define IEaxManager_GetListenerDynamicAttributes(p,a,b,c,d) (p)->GetListenerDynamicAttributes(a,b,c,d)
150+
#define IEaxManager_GetSourceDynamicAttributes(p,a,b,c,d,e,f,g,h,i) (p)->GetSourceDynamicAttributes(a,b,c,d,e,f,g,h,i)
151+
#endif
152+
153+
#define EM_OK 0
154+
#define EM_INVALIDID MAKE_HRESULT(1, FACILITY_ITF, 1)
155+
#define EM_IDNOTFOUND MAKE_HRESULT(1, FACILITY_ITF, 2)
156+
#define EM_FILENOTFOUND MAKE_HRESULT(1, FACILITY_ITF, 3)
157+
#define EM_FILEINVALID MAKE_HRESULT(1, FACILITY_ITF, 4)
158+
#define EM_VERSIONINVALID MAKE_HRESULT(1, FACILITY_ITF, 5)
159+
#define EM_INSTANCENOTFOUND MAKE_HRESULT(1, FACILITY_ITF, 6)
160+
161+
#ifdef __cplusplus
162+
};
163+
#endif // __cplusplus
164+
165+
#endif

0 commit comments

Comments
 (0)