LoadOAL.mac.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  1. //-----------------------------------------------------------------------------
  2. // Copyright (c) 2012 GarageGames, LLC
  3. //
  4. // Permission is hereby granted, free of charge, to any person obtaining a copy
  5. // of this software and associated documentation files (the "Software"), to
  6. // deal in the Software without restriction, including without limitation the
  7. // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  8. // sell copies of the Software, and to permit persons to whom the Software is
  9. // furnished to do so, subject to the following conditions:
  10. //
  11. // The above copyright notice and this permission notice shall be included in
  12. // all copies or substantial portions of the Software.
  13. //
  14. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20. // IN THE SOFTWARE.
  21. //-----------------------------------------------------------------------------
  22. // TODO: Implement OpenAL loading code which is currently stubbed out.
  23. #if defined(__MACOSX__) && !defined(TORQUE_OS_MAC)
  24. #define TORQUE_OS_MAC
  25. #endif
  26. #include <err.h>
  27. #include <string.h>
  28. #include "sfx/openal/LoadOAL.h"
  29. ALboolean LoadOAL10Library(char *szOALFullPathName, LPOPENALFNTABLE lpOALFnTable)
  30. {
  31. // TODO: Implement this.
  32. if (!lpOALFnTable)
  33. return AL_FALSE;
  34. memset(lpOALFnTable, 0, sizeof(OPENALFNTABLE));
  35. lpOALFnTable->alEnable = (LPALENABLE)alEnable;
  36. if (lpOALFnTable->alEnable == NULL)
  37. {
  38. warn("Failed to retrieve 'alEnable' function address\n");
  39. return AL_FALSE;
  40. }
  41. lpOALFnTable->alDisable = (LPALDISABLE)alDisable;
  42. if (lpOALFnTable->alDisable == NULL)
  43. {
  44. warn("Failed to retrieve 'alDisable' function address\n");
  45. return AL_FALSE;
  46. }
  47. lpOALFnTable->alIsEnabled = (LPALISENABLED)alIsEnabled;
  48. if (lpOALFnTable->alIsEnabled == NULL)
  49. {
  50. warn("Failed to retrieve 'alIsEnabled' function address\n");
  51. return AL_FALSE;
  52. }
  53. lpOALFnTable->alGetBoolean = (LPALGETBOOLEAN)alGetBoolean;
  54. if (lpOALFnTable->alGetBoolean == NULL)
  55. {
  56. warn("Failed to retrieve 'alGetBoolean' function address\n");
  57. return AL_FALSE;
  58. }
  59. lpOALFnTable->alGetInteger = (LPALGETINTEGER)alGetInteger;
  60. if (lpOALFnTable->alGetInteger == NULL)
  61. {
  62. warn("Failed to retrieve 'alGetInteger' function address\n");
  63. return AL_FALSE;
  64. }
  65. lpOALFnTable->alGetFloat = (LPALGETFLOAT)alGetFloat;
  66. if (lpOALFnTable->alGetFloat == NULL)
  67. {
  68. warn("Failed to retrieve 'alGetFloat' function address\n");
  69. return AL_FALSE;
  70. }
  71. lpOALFnTable->alGetDouble = (LPALGETDOUBLE)alGetDouble;
  72. if (lpOALFnTable->alGetDouble == NULL)
  73. {
  74. warn("Failed to retrieve 'alGetDouble' function address\n");
  75. return AL_FALSE;
  76. }
  77. lpOALFnTable->alGetBooleanv = (LPALGETBOOLEANV)alGetBooleanv;
  78. if (lpOALFnTable->alGetBooleanv == NULL)
  79. {
  80. warn("Failed to retrieve 'alGetBooleanv' function address\n");
  81. return AL_FALSE;
  82. }
  83. lpOALFnTable->alGetIntegerv = (LPALGETINTEGERV)alGetIntegerv;
  84. if (lpOALFnTable->alGetIntegerv == NULL)
  85. {
  86. warn("Failed to retrieve 'alGetIntegerv' function address\n");
  87. return AL_FALSE;
  88. }
  89. lpOALFnTable->alGetFloatv = (LPALGETFLOATV)alGetFloatv;
  90. if (lpOALFnTable->alGetFloatv == NULL)
  91. {
  92. warn("Failed to retrieve 'alGetFloatv' function address\n");
  93. return AL_FALSE;
  94. }
  95. lpOALFnTable->alGetDoublev = (LPALGETDOUBLEV)alGetDoublev;
  96. if (lpOALFnTable->alGetDoublev == NULL)
  97. {
  98. warn("Failed to retrieve 'alGetDoublev' function address\n");
  99. return AL_FALSE;
  100. }
  101. lpOALFnTable->alGetString = (LPALGETSTRING)alGetString;
  102. if (lpOALFnTable->alGetString == NULL)
  103. {
  104. warn("Failed to retrieve 'alGetString' function address\n");
  105. return AL_FALSE;
  106. }
  107. lpOALFnTable->alGetError = (LPALGETERROR)alGetError;
  108. if (lpOALFnTable->alGetError == NULL)
  109. {
  110. warn("Failed to retrieve 'alGetError' function address\n");
  111. return AL_FALSE;
  112. }
  113. lpOALFnTable->alIsExtensionPresent = (LPALISEXTENSIONPRESENT)alIsExtensionPresent;
  114. if (lpOALFnTable->alIsExtensionPresent == NULL)
  115. {
  116. warn("Failed to retrieve 'alIsExtensionPresent' function address\n");
  117. return AL_FALSE;
  118. }
  119. lpOALFnTable->alGetProcAddress = (LPALGETPROCADDRESS)alGetProcAddress;
  120. if (lpOALFnTable->alGetProcAddress == NULL)
  121. {
  122. warn("Failed to retrieve 'alGetProcAddress' function address\n");
  123. return AL_FALSE;
  124. }
  125. lpOALFnTable->alGetEnumValue = (LPALGETENUMVALUE)alGetEnumValue;
  126. if (lpOALFnTable->alGetEnumValue == NULL)
  127. {
  128. warn("Failed to retrieve 'alGetEnumValue' function address\n");
  129. return AL_FALSE;
  130. }
  131. lpOALFnTable->alListeneri = (LPALLISTENERI)alListeneri;
  132. if (lpOALFnTable->alListeneri == NULL)
  133. {
  134. warn("Failed to retrieve 'alListeneri' function address\n");
  135. return AL_FALSE;
  136. }
  137. lpOALFnTable->alListenerf = (LPALLISTENERF)alListenerf;
  138. if (lpOALFnTable->alListenerf == NULL)
  139. {
  140. warn("Failed to retrieve 'alListenerf' function address\n");
  141. return AL_FALSE;
  142. }
  143. lpOALFnTable->alListener3f = (LPALLISTENER3F)alListener3f;
  144. if (lpOALFnTable->alListener3f == NULL)
  145. {
  146. warn("Failed to retrieve 'alListener3f' function address\n");
  147. return AL_FALSE;
  148. }
  149. lpOALFnTable->alListenerfv = (LPALLISTENERFV)alListenerfv;
  150. if (lpOALFnTable->alListenerfv == NULL)
  151. {
  152. warn("Failed to retrieve 'alListenerfv' function address\n");
  153. return AL_FALSE;
  154. }
  155. lpOALFnTable->alGetListeneri = (LPALGETLISTENERI)alGetListeneri;
  156. if (lpOALFnTable->alGetListeneri == NULL)
  157. {
  158. warn("Failed to retrieve 'alGetListeneri' function address\n");
  159. return AL_FALSE;
  160. }
  161. lpOALFnTable->alGetListenerf =(LPALGETLISTENERF)alGetListenerf;
  162. if (lpOALFnTable->alGetListenerf == NULL)
  163. {
  164. warn("Failed to retrieve 'alGetListenerf' function address\n");
  165. return AL_FALSE;
  166. }
  167. lpOALFnTable->alGetListener3f = (LPALGETLISTENER3F)alGetListener3f;
  168. if (lpOALFnTable->alGetListener3f == NULL)
  169. {
  170. warn("Failed to retrieve 'alGetListener3f' function address\n");
  171. return AL_FALSE;
  172. }
  173. lpOALFnTable->alGetListenerfv = (LPALGETLISTENERFV)alGetListenerfv;
  174. if (lpOALFnTable->alGetListenerfv == NULL)
  175. {
  176. warn("Failed to retrieve 'alGetListenerfv' function address\n");
  177. return AL_FALSE;
  178. }
  179. lpOALFnTable->alGenSources = (LPALGENSOURCES)alGenSources;
  180. if (lpOALFnTable->alGenSources == NULL)
  181. {
  182. warn("Failed to retrieve 'alGenSources' function address\n");
  183. return AL_FALSE;
  184. }
  185. lpOALFnTable->alDeleteSources = (LPALDELETESOURCES)alDeleteSources;
  186. if (lpOALFnTable->alDeleteSources == NULL)
  187. {
  188. warn("Failed to retrieve 'alDeleteSources' function address\n");
  189. return AL_FALSE;
  190. }
  191. lpOALFnTable->alIsSource = (LPALISSOURCE)alIsSource;
  192. if (lpOALFnTable->alIsSource == NULL)
  193. {
  194. warn("Failed to retrieve 'alIsSource' function address\n");
  195. return AL_FALSE;
  196. }
  197. lpOALFnTable->alSourcei = (LPALSOURCEI)alSourcei;
  198. if (lpOALFnTable->alSourcei == NULL)
  199. {
  200. warn("Failed to retrieve 'alSourcei' function address\n");
  201. return AL_FALSE;
  202. }
  203. lpOALFnTable->alSourcef = (LPALSOURCEF)alSourcef;
  204. if (lpOALFnTable->alSourcef == NULL)
  205. {
  206. warn("Failed to retrieve 'alSourcef' function address\n");
  207. return AL_FALSE;
  208. }
  209. lpOALFnTable->alSource3f = (LPALSOURCE3F)alSource3f;
  210. if (lpOALFnTable->alSource3f == NULL)
  211. {
  212. warn("Failed to retrieve 'alSource3f' function address\n");
  213. return AL_FALSE;
  214. }
  215. lpOALFnTable->alSourcefv = (LPALSOURCEFV)alSourcefv;
  216. if (lpOALFnTable->alSourcefv == NULL)
  217. {
  218. warn("Failed to retrieve 'alSourcefv' function address\n");
  219. return AL_FALSE;
  220. }
  221. lpOALFnTable->alGetSourcei = (LPALGETSOURCEI)alGetSourcei;
  222. if (lpOALFnTable->alGetSourcei == NULL)
  223. {
  224. warn("Failed to retrieve 'alGetSourcei' function address\n");
  225. return AL_FALSE;
  226. }
  227. lpOALFnTable->alGetSourcef = (LPALGETSOURCEF)alGetSourcef;
  228. if (lpOALFnTable->alGetSourcef == NULL)
  229. {
  230. warn("Failed to retrieve 'alGetSourcef' function address\n");
  231. return AL_FALSE;
  232. }
  233. lpOALFnTable->alGetSourcefv = (LPALGETSOURCEFV)alGetSourcefv;
  234. if (lpOALFnTable->alGetSourcefv == NULL)
  235. {
  236. warn("Failed to retrieve 'alGetSourcefv' function address\n");
  237. return AL_FALSE;
  238. }
  239. lpOALFnTable->alSourcePlayv = (LPALSOURCEPLAYV)alSourcePlayv;
  240. if (lpOALFnTable->alSourcePlayv == NULL)
  241. {
  242. warn("Failed to retrieve 'alSourcePlayv' function address\n");
  243. return AL_FALSE;
  244. }
  245. lpOALFnTable->alSourceStopv = (LPALSOURCESTOPV)alSourceStopv;
  246. if (lpOALFnTable->alSourceStopv == NULL)
  247. {
  248. warn("Failed to retrieve 'alSourceStopv' function address\n");
  249. return AL_FALSE;
  250. }
  251. lpOALFnTable->alSourcePlay = (LPALSOURCEPLAY)alSourcePlay;
  252. if (lpOALFnTable->alSourcePlay == NULL)
  253. {
  254. warn("Failed to retrieve 'alSourcePlay' function address\n");
  255. return AL_FALSE;
  256. }
  257. lpOALFnTable->alSourcePause = (LPALSOURCEPAUSE)alSourcePause;
  258. if (lpOALFnTable->alSourcePause == NULL)
  259. {
  260. warn("Failed to retrieve 'alSourcePause' function address\n");
  261. return AL_FALSE;
  262. }
  263. lpOALFnTable->alSourceStop = (LPALSOURCESTOP)alSourceStop;
  264. if (lpOALFnTable->alSourceStop == NULL)
  265. {
  266. warn("Failed to retrieve 'alSourceStop' function address\n");
  267. return AL_FALSE;
  268. }
  269. lpOALFnTable->alSourceRewind = (LPALSOURCEREWIND)alSourceRewind;
  270. if (lpOALFnTable->alSourceRewind == NULL)
  271. {
  272. warn("Failed to retrieve 'alSourceRewind' function address\n");
  273. return AL_FALSE;
  274. }
  275. lpOALFnTable->alGenBuffers = (LPALGENBUFFERS)alGenBuffers;
  276. if (lpOALFnTable->alGenBuffers == NULL)
  277. {
  278. warn("Failed to retrieve 'alGenBuffers' function address\n");
  279. return AL_FALSE;
  280. }
  281. lpOALFnTable->alDeleteBuffers = (LPALDELETEBUFFERS)alDeleteBuffers;
  282. if (lpOALFnTable->alDeleteBuffers == NULL)
  283. {
  284. warn("Failed to retrieve 'alDeleteBuffers' function address\n");
  285. return AL_FALSE;
  286. }
  287. lpOALFnTable->alIsBuffer = (LPALISBUFFER)alIsBuffer;
  288. if (lpOALFnTable->alIsBuffer == NULL)
  289. {
  290. warn("Failed to retrieve 'alIsBuffer' function address\n");
  291. return AL_FALSE;
  292. }
  293. lpOALFnTable->alBufferData = (LPALBUFFERDATA)alBufferData;
  294. if (lpOALFnTable->alBufferData == NULL)
  295. {
  296. warn("Failed to retrieve 'alBufferData' function address\n");
  297. return AL_FALSE;
  298. }
  299. lpOALFnTable->alGetBufferi = (LPALGETBUFFERI)alGetBufferi;
  300. if (lpOALFnTable->alGetBufferi == NULL)
  301. {
  302. warn("Failed to retrieve 'alGetBufferi' function address\n");
  303. return AL_FALSE;
  304. }
  305. lpOALFnTable->alGetBufferf = (LPALGETBUFFERF)alGetBufferf;
  306. if (lpOALFnTable->alGetBufferf == NULL)
  307. {
  308. warn("Failed to retrieve 'alGetBufferf' function address\n");
  309. return AL_FALSE;
  310. }
  311. lpOALFnTable->alSourceQueueBuffers = (LPALSOURCEQUEUEBUFFERS)alSourceQueueBuffers;
  312. if (lpOALFnTable->alSourceQueueBuffers == NULL)
  313. {
  314. warn("Failed to retrieve 'alSourceQueueBuffers' function address\n");
  315. return AL_FALSE;
  316. }
  317. lpOALFnTable->alSourceUnqueueBuffers = (LPALSOURCEUNQUEUEBUFFERS)alSourceUnqueueBuffers;
  318. if (lpOALFnTable->alSourceUnqueueBuffers == NULL)
  319. {
  320. warn("Failed to retrieve 'alSourceUnqueueBuffers' function address\n");
  321. return AL_FALSE;
  322. }
  323. lpOALFnTable->alDistanceModel = (LPALDISTANCEMODEL)alDistanceModel;
  324. if (lpOALFnTable->alDistanceModel == NULL)
  325. {
  326. warn("Failed to retrieve 'alDistanceModel' function address\n");
  327. return AL_FALSE;
  328. }
  329. lpOALFnTable->alDopplerFactor = (LPALDOPPLERFACTOR)alDopplerFactor;
  330. if (lpOALFnTable->alDopplerFactor == NULL)
  331. {
  332. warn("Failed to retrieve 'alDopplerFactor' function address\n");
  333. return AL_FALSE;
  334. }
  335. lpOALFnTable->alDopplerVelocity = (LPALDOPPLERVELOCITY)alDopplerVelocity;
  336. if (lpOALFnTable->alDopplerVelocity == NULL)
  337. {
  338. warn("Failed to retrieve 'alDopplerVelocity' function address\n");
  339. return AL_FALSE;
  340. }
  341. lpOALFnTable->alcGetString = (LPALCGETSTRING)alcGetString;
  342. if (lpOALFnTable->alcGetString == NULL)
  343. {
  344. warn("Failed to retrieve 'alcGetString' function address\n");
  345. return AL_FALSE;
  346. }
  347. lpOALFnTable->alcGetIntegerv = (LPALCGETINTEGERV)alcGetIntegerv;
  348. if (lpOALFnTable->alcGetIntegerv == NULL)
  349. {
  350. warn("Failed to retrieve 'alcGetIntegerv' function address\n");
  351. return AL_FALSE;
  352. }
  353. lpOALFnTable->alcOpenDevice = (LPALCOPENDEVICE)alcOpenDevice;
  354. if (lpOALFnTable->alcOpenDevice == NULL)
  355. {
  356. warn("Failed to retrieve 'alcOpenDevice' function address\n");
  357. return AL_FALSE;
  358. }
  359. lpOALFnTable->alcCloseDevice = (LPALCCLOSEDEVICE)alcCloseDevice;
  360. if (lpOALFnTable->alcCloseDevice == NULL)
  361. {
  362. warn("Failed to retrieve 'alcCloseDevice' function address\n");
  363. return AL_FALSE;
  364. }
  365. lpOALFnTable->alcCreateContext = (LPALCCREATECONTEXT)alcCreateContext;
  366. if (lpOALFnTable->alcCreateContext == NULL)
  367. {
  368. warn("Failed to retrieve 'alcCreateContext' function address\n");
  369. return AL_FALSE;
  370. }
  371. lpOALFnTable->alcMakeContextCurrent = (LPALCMAKECONTEXTCURRENT)alcMakeContextCurrent;
  372. if (lpOALFnTable->alcMakeContextCurrent == NULL)
  373. {
  374. warn("Failed to retrieve 'alcMakeContextCurrent' function address\n");
  375. return AL_FALSE;
  376. }
  377. lpOALFnTable->alcProcessContext = (LPALCPROCESSCONTEXT)alcProcessContext;
  378. if (lpOALFnTable->alcProcessContext == NULL)
  379. {
  380. warn("Failed to retrieve 'alcProcessContext' function address\n");
  381. return AL_FALSE;
  382. }
  383. lpOALFnTable->alcGetCurrentContext = (LPALCGETCURRENTCONTEXT)alcGetCurrentContext;
  384. if (lpOALFnTable->alcGetCurrentContext == NULL)
  385. {
  386. warn("Failed to retrieve 'alcGetCurrentContext' function address\n");
  387. return AL_FALSE;
  388. }
  389. lpOALFnTable->alcGetContextsDevice = (LPALCGETCONTEXTSDEVICE)alcGetContextsDevice;
  390. if (lpOALFnTable->alcGetContextsDevice == NULL)
  391. {
  392. warn("Failed to retrieve 'alcGetContextsDevice' function address\n");
  393. return AL_FALSE;
  394. }
  395. lpOALFnTable->alcSuspendContext = (LPALCSUSPENDCONTEXT)alcSuspendContext;
  396. if (lpOALFnTable->alcSuspendContext == NULL)
  397. {
  398. warn("Failed to retrieve 'alcSuspendContext' function address\n");
  399. return AL_FALSE;
  400. }
  401. lpOALFnTable->alcDestroyContext = (LPALCDESTROYCONTEXT)alcDestroyContext;
  402. if (lpOALFnTable->alcDestroyContext == NULL)
  403. {
  404. warn("Failed to retrieve 'alcDestroyContext' function address\n");
  405. return AL_FALSE;
  406. }
  407. lpOALFnTable->alcGetError = (LPALCGETERROR)alcGetError;
  408. if (lpOALFnTable->alcGetError == NULL)
  409. {
  410. warn("Failed to retrieve 'alcGetError' function address\n");
  411. return AL_FALSE;
  412. }
  413. lpOALFnTable->alcIsExtensionPresent = (LPALCISEXTENSIONPRESENT)alcIsExtensionPresent;
  414. if (lpOALFnTable->alcIsExtensionPresent == NULL)
  415. {
  416. warn("Failed to retrieve 'alcIsExtensionPresent' function address\n");
  417. return AL_FALSE;
  418. }
  419. lpOALFnTable->alcGetProcAddress = (LPALCGETPROCADDRESS)alcGetProcAddress;
  420. if (lpOALFnTable->alcGetProcAddress == NULL)
  421. {
  422. warn("Failed to retrieve 'alcGetProcAddress' function address\n");
  423. return AL_FALSE;
  424. }
  425. lpOALFnTable->alcGetEnumValue = (LPALCGETENUMVALUE)alcGetEnumValue;
  426. if (lpOALFnTable->alcGetEnumValue == NULL)
  427. {
  428. warn("Failed to retrieve 'alcGetEnumValue' function address\n");
  429. return AL_FALSE;
  430. }
  431. #if defined(AL_ALEXT_PROTOTYPES)
  432. //efx
  433. lpOALFnTable->alGenEffects = (LPALGENEFFECTS)alGenEffects;
  434. if (lpOALFnTable->alGenEffects == NULL)
  435. {
  436. warn("Failed to retrieve 'alGenEffects' function address\n");
  437. return AL_FALSE;
  438. }
  439. lpOALFnTable->alEffecti = (LPALEFFECTI)alEffecti;
  440. if (lpOALFnTable->alEffecti == NULL)
  441. {
  442. warn("Failed to retrieve 'alEffecti' function address\n");
  443. return AL_FALSE;
  444. }
  445. lpOALFnTable->alEffectiv = (LPALEFFECTIV)alEffectiv;
  446. if (lpOALFnTable->alEffectiv == NULL)
  447. {
  448. warn("Failed to retrieve 'alEffectiv' function address\n");
  449. return AL_FALSE;
  450. }
  451. lpOALFnTable->alEffectf = (LPALEFFECTF)alEffectf;
  452. if (lpOALFnTable->alEffectf == NULL)
  453. {
  454. warn("Failed to retrieve 'alEffectf' function address\n");
  455. return AL_FALSE;
  456. }
  457. lpOALFnTable->alEffectfv = (LPALEFFECTFV)alEffectfv;
  458. if (lpOALFnTable->alEffectfv == NULL)
  459. {
  460. warn("Failed to retrieve 'alEffectfv' function address\n");
  461. return AL_FALSE;
  462. }
  463. lpOALFnTable->alGetEffecti = (LPALGETEFFECTI)alGetEffecti;
  464. if (lpOALFnTable->alGetEffecti == NULL)
  465. {
  466. warn("Failed to retrieve 'alGetEffecti' function address\n");
  467. return AL_FALSE;
  468. }
  469. lpOALFnTable->alGetEffectiv = (LPALGETEFFECTIV)alGetEffectiv;
  470. if (lpOALFnTable->alGetEffectiv == NULL)
  471. {
  472. warn("Failed to retrieve 'alGetEffectiv' function address\n");
  473. return AL_FALSE;
  474. }
  475. lpOALFnTable->alGetEffectf = (LPALGETEFFECTF)alGetEffectf;
  476. if (lpOALFnTable->alGetEffectf == NULL)
  477. {
  478. warn("Failed to retrieve 'alGetEffectf' function address\n");
  479. return AL_FALSE;
  480. }
  481. lpOALFnTable->alGetEffectfv = (LPALGETEFFECTFV)alGetEffectfv;
  482. if (lpOALFnTable->alGetEffectfv == NULL)
  483. {
  484. warn("Failed to retrieve 'alGetEffectfv' function address\n");
  485. return AL_FALSE;
  486. }
  487. lpOALFnTable->alDeleteEffects = (LPALDELETEEFFECTS)alDeleteEffects;
  488. if (lpOALFnTable->alDeleteEffects == NULL)
  489. {
  490. warn("Failed to retrieve 'alDeleteEffects' function address\n");
  491. return AL_FALSE;
  492. }
  493. lpOALFnTable->alIsEffect = (LPALISEFFECT)alIsEffect;
  494. if (lpOALFnTable->alIsEffect == NULL)
  495. {
  496. warn("Failed to retrieve 'alIsEffect' function address\n");
  497. return AL_FALSE;
  498. }
  499. lpOALFnTable->alAuxiliaryEffectSlotf = (LPALAUXILIARYEFFECTSLOTF)alAuxiliaryEffectSlotf;
  500. if (lpOALFnTable->alAuxiliaryEffectSlotf == NULL)
  501. {
  502. warn("Failed to retrieve 'alAuxiliaryEffectSlotf' function address\n");
  503. return AL_FALSE;
  504. }
  505. lpOALFnTable->alAuxiliaryEffectSlotfv = (LPALAUXILIARYEFFECTSLOTFV)alAuxiliaryEffectSlotfv;
  506. if (lpOALFnTable->alAuxiliaryEffectSlotfv == NULL)
  507. {
  508. warn("Failed to retrieve 'alAuxiliaryEffectSlotfv' function address\n");
  509. return AL_FALSE;
  510. }
  511. lpOALFnTable->alAuxiliaryEffectSloti = (LPALAUXILIARYEFFECTSLOTI)alAuxiliaryEffectSloti;
  512. if (lpOALFnTable->alAuxiliaryEffectSloti == NULL)
  513. {
  514. warn("Failed to retrieve 'alAuxiliaryEffectSloti' function address\n");
  515. return AL_FALSE;
  516. }
  517. lpOALFnTable->alAuxiliaryEffectSlotiv = (LPALAUXILIARYEFFECTSLOTIV)alAuxiliaryEffectSlotiv;
  518. if (lpOALFnTable->alAuxiliaryEffectSlotiv == NULL)
  519. {
  520. warn("Failed to retrieve 'alAuxiliaryEffectSlotiv' function address\n");
  521. return AL_FALSE;
  522. }
  523. lpOALFnTable->alIsAuxiliaryEffectSlot = (LPALISAUXILIARYEFFECTSLOT)alIsAuxiliaryEffectSlot;
  524. if (lpOALFnTable->alIsAuxiliaryEffectSlot == NULL)
  525. {
  526. warn("Failed to retrieve 'alIsAuxiliaryEffectSlot' function address\n");
  527. return AL_FALSE;
  528. }
  529. lpOALFnTable->alGenAuxiliaryEffectSlots = (LPALGENAUXILIARYEFFECTSLOTS)alGenAuxiliaryEffectSlots;
  530. if (lpOALFnTable->alGenAuxiliaryEffectSlots == NULL)
  531. {
  532. warn("Failed to retrieve 'alGenAuxiliaryEffectSlots' function address\n");
  533. return AL_FALSE;
  534. }
  535. lpOALFnTable->alDeleteAuxiliaryEffectSlots = (LPALDELETEAUXILIARYEFFECTSLOTS)alDeleteAuxiliaryEffectSlots;
  536. if (lpOALFnTable->alDeleteAuxiliaryEffectSlots == NULL)
  537. {
  538. warn("Failed to retrieve 'alDeleteAuxiliaryEffectSlots' function address\n");
  539. return AL_FALSE;
  540. }
  541. lpOALFnTable->alGetAuxiliaryEffectSlotf = (LPALGETAUXILIARYEFFECTSLOTF)alGetAuxiliaryEffectSlotf;
  542. if (lpOALFnTable->alGetAuxiliaryEffectSlotf == NULL)
  543. {
  544. warn("Failed to retrieve 'alGetAuxiliaryEffectSlotf' function address\n");
  545. return AL_FALSE;
  546. }
  547. lpOALFnTable->alGetAuxiliaryEffectSlotfv = (LPALGETAUXILIARYEFFECTSLOTFV)alGetAuxiliaryEffectSlotfv;
  548. if (lpOALFnTable->alGetAuxiliaryEffectSlotfv == NULL)
  549. {
  550. warn("Failed to retrieve 'alGetAuxiliaryEffectSlotfv' function address\n");
  551. return AL_FALSE;
  552. }
  553. lpOALFnTable->alGetAuxiliaryEffectSloti = (LPALGETAUXILIARYEFFECTSLOTI)alGetAuxiliaryEffectSloti;
  554. if (lpOALFnTable->alGetAuxiliaryEffectSloti == NULL)
  555. {
  556. warn("Failed to retrieve 'alGetAuxiliaryEffectSloti' function address\n");
  557. return AL_FALSE;
  558. }
  559. lpOALFnTable->alGetAuxiliaryEffectSlotiv = (LPALGETAUXILIARYEFFECTSLOTIV)alGetAuxiliaryEffectSlotiv;
  560. if (lpOALFnTable->alGetAuxiliaryEffectSlotiv == NULL)
  561. {
  562. warn("Failed to retrieve 'alGetAuxiliaryEffectSlotiv' function address\n");
  563. return AL_FALSE;
  564. }
  565. lpOALFnTable->alSource3i = (LPALSOURCE3I)alSource3i;
  566. if (lpOALFnTable->alSource3i == NULL)
  567. {
  568. warn("Failed to retrieve 'alSource3i' function address\n");
  569. return AL_FALSE;
  570. }
  571. #endif
  572. return AL_TRUE;
  573. }
  574. ALvoid UnloadOAL10Library()
  575. {
  576. // TODO: Implement this.
  577. }