gosu 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/dependencies/SDL/include/SDL.h +108 -14
  3. data/dependencies/SDL/include/SDL_assert.h +81 -50
  4. data/dependencies/SDL/include/SDL_atomic.h +135 -35
  5. data/dependencies/SDL/include/SDL_audio.h +960 -355
  6. data/dependencies/SDL/include/SDL_bits.h +11 -6
  7. data/dependencies/SDL/include/SDL_blendmode.h +91 -14
  8. data/dependencies/SDL/include/SDL_clipboard.h +30 -7
  9. data/dependencies/SDL/include/SDL_config.h +277 -27
  10. data/dependencies/SDL/include/SDL_config_android.h +13 -38
  11. data/dependencies/SDL/include/SDL_config_iphoneos.h +21 -62
  12. data/dependencies/SDL/include/SDL_config_macosx.h +23 -92
  13. data/dependencies/SDL/include/SDL_config_minimal.h +1 -4
  14. data/dependencies/SDL/include/SDL_config_pandora.h +15 -22
  15. data/dependencies/SDL/include/SDL_config_psp.h +16 -37
  16. data/dependencies/SDL/include/SDL_config_windows.h +28 -91
  17. data/dependencies/SDL/include/SDL_config_winrt.h +33 -61
  18. data/dependencies/SDL/include/SDL_config_wiz.h +28 -56
  19. data/dependencies/SDL/include/SDL_copying.h +1 -1
  20. data/dependencies/SDL/include/SDL_cpuinfo.h +331 -71
  21. data/dependencies/SDL/include/SDL_egl.h +906 -280
  22. data/dependencies/SDL/include/SDL_endian.h +101 -47
  23. data/dependencies/SDL/include/SDL_error.h +70 -19
  24. data/dependencies/SDL/include/SDL_events.h +387 -79
  25. data/dependencies/SDL/include/SDL_filesystem.h +73 -64
  26. data/dependencies/SDL/include/SDL_gamecontroller.h +585 -125
  27. data/dependencies/SDL/include/SDL_gesture.h +36 -6
  28. data/dependencies/SDL/include/SDL_haptic.h +304 -210
  29. data/dependencies/SDL/include/SDL_hidapi.h +451 -0
  30. data/dependencies/SDL/include/SDL_hints.h +1286 -897
  31. data/dependencies/SDL/include/SDL_joystick.h +577 -130
  32. data/dependencies/SDL/include/SDL_keyboard.h +162 -63
  33. data/dependencies/SDL/include/SDL_keycode.h +7 -5
  34. data/dependencies/SDL/include/SDL_loadso.h +42 -8
  35. data/dependencies/SDL/include/SDL_locale.h +34 -32
  36. data/dependencies/SDL/include/SDL_log.h +212 -19
  37. data/dependencies/SDL/include/SDL_main.h +72 -17
  38. data/dependencies/SDL/include/SDL_messagebox.h +70 -23
  39. data/dependencies/SDL/include/SDL_metal.h +27 -32
  40. data/dependencies/SDL/include/SDL_misc.h +19 -15
  41. data/dependencies/SDL/include/SDL_mouse.h +262 -110
  42. data/dependencies/SDL/include/SDL_mutex.h +286 -66
  43. data/dependencies/SDL/include/SDL_name.h +1 -1
  44. data/dependencies/SDL/include/SDL_opengl.h +1 -1
  45. data/dependencies/SDL/include/SDL_opengles.h +1 -1
  46. data/dependencies/SDL/include/SDL_opengles2.h +2 -2
  47. data/dependencies/SDL/include/SDL_pixels.h +199 -34
  48. data/dependencies/SDL/include/SDL_platform.h +39 -2
  49. data/dependencies/SDL/include/SDL_power.h +23 -10
  50. data/dependencies/SDL/include/SDL_quit.h +1 -1
  51. data/dependencies/SDL/include/SDL_rect.h +78 -28
  52. data/dependencies/SDL/include/SDL_render.h +1204 -472
  53. data/dependencies/SDL/include/SDL_revision.h +2 -2
  54. data/dependencies/SDL/include/SDL_rwops.h +605 -33
  55. data/dependencies/SDL/include/SDL_scancode.h +1 -1
  56. data/dependencies/SDL/include/SDL_sensor.h +76 -42
  57. data/dependencies/SDL/include/SDL_shape.h +38 -27
  58. data/dependencies/SDL/include/SDL_stdinc.h +96 -24
  59. data/dependencies/SDL/include/SDL_surface.h +571 -139
  60. data/dependencies/SDL/include/SDL_system.h +339 -101
  61. data/dependencies/SDL/include/SDL_syswm.h +50 -20
  62. data/dependencies/SDL/include/SDL_test.h +1 -1
  63. data/dependencies/SDL/include/SDL_test_assert.h +2 -2
  64. data/dependencies/SDL/include/SDL_test_common.h +23 -6
  65. data/dependencies/SDL/include/SDL_test_compare.h +1 -1
  66. data/dependencies/SDL/include/SDL_test_crc32.h +1 -1
  67. data/dependencies/SDL/include/SDL_test_font.h +3 -3
  68. data/dependencies/SDL/include/SDL_test_fuzzer.h +28 -26
  69. data/dependencies/SDL/include/SDL_test_harness.h +6 -6
  70. data/dependencies/SDL/include/SDL_test_images.h +1 -1
  71. data/dependencies/SDL/include/SDL_test_log.h +1 -1
  72. data/dependencies/SDL/include/SDL_test_md5.h +1 -1
  73. data/dependencies/SDL/include/SDL_test_memory.h +1 -1
  74. data/dependencies/SDL/include/SDL_test_random.h +2 -2
  75. data/dependencies/SDL/include/SDL_thread.h +226 -128
  76. data/dependencies/SDL/include/SDL_timer.h +129 -22
  77. data/dependencies/SDL/include/SDL_touch.h +48 -8
  78. data/dependencies/SDL/include/SDL_types.h +1 -1
  79. data/dependencies/SDL/include/SDL_version.h +72 -46
  80. data/dependencies/SDL/include/SDL_video.h +1266 -460
  81. data/dependencies/SDL/include/SDL_vulkan.h +100 -161
  82. data/dependencies/SDL/include/begin_code.h +22 -1
  83. data/dependencies/SDL/include/close_code.h +1 -1
  84. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  85. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  86. data/dependencies/SDL_sound/SDL_sound.c +83 -7
  87. data/dependencies/SDL_sound/SDL_sound.h +4 -4
  88. data/dependencies/SDL_sound/SDL_sound_aiff.c +9 -12
  89. data/dependencies/SDL_sound/SDL_sound_au.c +7 -7
  90. data/dependencies/SDL_sound/SDL_sound_coreaudio.c +3 -3
  91. data/dependencies/SDL_sound/SDL_sound_flac.c +1 -1
  92. data/dependencies/SDL_sound/SDL_sound_internal.h +17 -10
  93. data/dependencies/SDL_sound/SDL_sound_modplug.c +25 -27
  94. data/dependencies/SDL_sound/SDL_sound_mp3.c +5 -17
  95. data/dependencies/SDL_sound/SDL_sound_raw.c +11 -11
  96. data/dependencies/SDL_sound/SDL_sound_shn.c +8 -7
  97. data/dependencies/SDL_sound/SDL_sound_voc.c +6 -4
  98. data/dependencies/SDL_sound/SDL_sound_vorbis.c +6 -11
  99. data/dependencies/SDL_sound/SDL_sound_wav.c +35 -29
  100. data/dependencies/SDL_sound/dr_flac.h +618 -220
  101. data/dependencies/SDL_sound/dr_mp3.h +263 -94
  102. data/dependencies/SDL_sound/libmodplug/fastmix.c +58 -64
  103. data/dependencies/SDL_sound/libmodplug/libmodplug.h +25 -103
  104. data/dependencies/SDL_sound/libmodplug/load_669.c +14 -17
  105. data/dependencies/SDL_sound/libmodplug/load_amf.c +11 -7
  106. data/dependencies/SDL_sound/libmodplug/load_ams.c +65 -22
  107. data/dependencies/SDL_sound/libmodplug/load_dbm.c +8 -4
  108. data/dependencies/SDL_sound/libmodplug/load_dmf.c +55 -25
  109. data/dependencies/SDL_sound/libmodplug/load_far.c +9 -13
  110. data/dependencies/SDL_sound/libmodplug/load_gdm.c +448 -0
  111. data/dependencies/SDL_sound/libmodplug/load_it.c +45 -49
  112. data/dependencies/SDL_sound/libmodplug/load_mdl.c +80 -53
  113. data/dependencies/SDL_sound/libmodplug/load_med.c +20 -12
  114. data/dependencies/SDL_sound/libmodplug/load_mod.c +40 -15
  115. data/dependencies/SDL_sound/libmodplug/load_mt2.c +29 -17
  116. data/dependencies/SDL_sound/libmodplug/load_okt.c +12 -8
  117. data/dependencies/SDL_sound/libmodplug/load_psm.c +101 -78
  118. data/dependencies/SDL_sound/libmodplug/load_ptm.c +18 -17
  119. data/dependencies/SDL_sound/libmodplug/load_s3m.c +9 -7
  120. data/dependencies/SDL_sound/libmodplug/load_stm.c +3 -2
  121. data/dependencies/SDL_sound/libmodplug/load_ult.c +2 -2
  122. data/dependencies/SDL_sound/libmodplug/load_umx.c +315 -35
  123. data/dependencies/SDL_sound/libmodplug/load_xm.c +25 -21
  124. data/dependencies/SDL_sound/libmodplug/mmcmp.c +295 -149
  125. data/dependencies/SDL_sound/libmodplug/modplug.c +7 -123
  126. data/dependencies/SDL_sound/libmodplug/modplug.h +32 -29
  127. data/dependencies/SDL_sound/libmodplug/snd_dsp.c +0 -1
  128. data/dependencies/SDL_sound/libmodplug/snd_flt.c +2 -2
  129. data/dependencies/SDL_sound/libmodplug/snd_fx.c +24 -18
  130. data/dependencies/SDL_sound/libmodplug/sndfile.c +55 -156
  131. data/dependencies/SDL_sound/libmodplug/sndmix.c +7 -12
  132. data/dependencies/SDL_sound/libmodplug/tables.h +10 -15
  133. data/dependencies/SDL_sound/stb_vorbis.h +508 -325
  134. data/dependencies/{al_soft → mojoAL}/AL/al.h +38 -30
  135. data/dependencies/{al_soft → mojoAL}/AL/alc.h +27 -56
  136. data/dependencies/mojoAL/mojoal.c +4594 -0
  137. data/ext/gosu/extconf.rb +29 -30
  138. data/include/Gosu/Audio.hpp +70 -85
  139. data/include/Gosu/Color.hpp +19 -11
  140. data/include/Gosu/Font.hpp +40 -44
  141. data/include/Gosu/Graphics.hpp +58 -71
  142. data/include/Gosu/GraphicsBase.hpp +26 -33
  143. data/include/Gosu/Image.hpp +56 -62
  144. data/include/Gosu/ImageData.hpp +23 -27
  145. data/include/Gosu/Inspection.hpp +1 -4
  146. data/include/Gosu/TextInput.hpp +34 -40
  147. data/include/Gosu/Version.hpp +1 -1
  148. data/include/Gosu/Window.hpp +71 -70
  149. data/lib/SDL2.dll +0 -0
  150. data/lib/gosu/compat.rb +24 -37
  151. data/lib/gosu.rb +2 -2
  152. data/lib64/SDL2.dll +0 -0
  153. data/src/Audio.cpp +86 -86
  154. data/src/AudioFile.hpp +6 -6
  155. data/src/AudioFileAudioToolbox.cpp +1 -1
  156. data/src/AudioFileSDLSound.cpp +1 -1
  157. data/src/AudioImpl.hpp +5 -5
  158. data/src/BitmapIO.cpp +0 -20
  159. data/src/BlockAllocator.cpp +2 -1
  160. data/src/Channel.cpp +22 -20
  161. data/src/Color.cpp +12 -9
  162. data/src/EmptyImageData.hpp +15 -17
  163. data/src/FileUnix.cpp +1 -1
  164. data/src/FileWin.cpp +1 -1
  165. data/src/Font.cpp +48 -53
  166. data/src/Graphics.cpp +135 -143
  167. data/src/Image.cpp +41 -42
  168. data/src/Input.cpp +1 -1
  169. data/src/InputUIKit.cpp +1 -1
  170. data/src/LargeImageData.cpp +108 -101
  171. data/src/LargeImageData.hpp +17 -15
  172. data/src/Log.hpp +6 -6
  173. data/src/Macro.cpp +35 -37
  174. data/src/Macro.hpp +11 -11
  175. data/src/Math.cpp +8 -1
  176. data/src/Resolution.cpp +12 -7
  177. data/src/RubyGosu.cxx +5 -5
  178. data/src/TexChunk.cpp +50 -41
  179. data/src/TexChunk.hpp +22 -22
  180. data/src/Text.cpp +37 -37
  181. data/src/TextBuilder.cpp +60 -57
  182. data/src/TextBuilder.hpp +20 -20
  183. data/src/TextInput.cpp +127 -135
  184. data/src/TrueTypeFont.cpp +107 -107
  185. data/src/TrueTypeFont.hpp +39 -38
  186. data/src/TrueTypeFontApple.cpp +19 -22
  187. data/src/TrueTypeFontUnix.cpp +21 -26
  188. data/src/TrueTypeFontWin.cpp +30 -30
  189. data/src/Window.cpp +95 -86
  190. data/src/WindowUIKit.cpp +46 -49
  191. metadata +7 -17
  192. data/dependencies/SDL/include/SDL_config_os2.h +0 -188
  193. data/dependencies/SDL_sound/libmodplug/load_abc.c +0 -4725
  194. data/dependencies/SDL_sound/libmodplug/load_mid.c +0 -1405
  195. data/dependencies/SDL_sound/libmodplug/load_pat.c +0 -1143
  196. data/dependencies/SDL_sound/libmodplug/load_pat.h +0 -25
  197. data/dependencies/al_soft/AL/alext.h +0 -585
  198. data/dependencies/al_soft/AL/efx-creative.h +0 -3
  199. data/dependencies/al_soft/AL/efx-presets.h +0 -402
  200. data/dependencies/al_soft/AL/efx.h +0 -762
  201. data/dependencies/al_soft/x64/libOpenAL32.dll.a +0 -0
  202. data/dependencies/al_soft/x86/libOpenAL32.dll.a +0 -0
  203. data/lib/OpenAL32.dll +0 -0
  204. data/lib64/OpenAL32.dll +0 -0
@@ -22,7 +22,7 @@ extern "C" {
22
22
  #endif
23
23
 
24
24
 
25
- /* Deprecated macros. */
25
+ /** Deprecated macro. */
26
26
  #define OPENAL
27
27
  #define ALAPI AL_API
28
28
  #define ALAPIENTRY AL_APIENTRY
@@ -30,7 +30,7 @@ extern "C" {
30
30
  #define AL_ILLEGAL_ENUM AL_INVALID_ENUM
31
31
  #define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION
32
32
 
33
- /* Supported AL versions. */
33
+ /** Supported AL version. */
34
34
  #define AL_VERSION_1_0
35
35
  #define AL_VERSION_1_1
36
36
 
@@ -234,7 +234,7 @@ typedef void ALvoid;
234
234
  */
235
235
  #define AL_SOURCE_STATE 0x1010
236
236
 
237
- /* Source state values. */
237
+ /** Source state value. */
238
238
  #define AL_INITIAL 0x1011
239
239
  #define AL_PLAYING 0x1012
240
240
  #define AL_PAUSED 0x1013
@@ -300,7 +300,7 @@ typedef void ALvoid;
300
300
  * Source maximum distance.
301
301
  * Type: ALfloat
302
302
  * Range: [0.0 - ]
303
- * Default: FLT_MAX
303
+ * Default: +inf
304
304
  *
305
305
  * The distance above which the source is not attenuated any further with a
306
306
  * clamped distance model, or where attenuation reaches 0.0 gain for linear
@@ -330,18 +330,15 @@ typedef void ALvoid;
330
330
  */
331
331
  #define AL_SOURCE_TYPE 0x1027
332
332
 
333
- /* Source type values. */
333
+ /** Source type value. */
334
334
  #define AL_STATIC 0x1028
335
335
  #define AL_STREAMING 0x1029
336
336
  #define AL_UNDETERMINED 0x1030
337
337
 
338
- /** Unsigned 8-bit mono buffer format. */
338
+ /** Buffer format specifier. */
339
339
  #define AL_FORMAT_MONO8 0x1100
340
- /** Signed 16-bit mono buffer format. */
341
340
  #define AL_FORMAT_MONO16 0x1101
342
- /** Unsigned 8-bit stereo buffer format. */
343
341
  #define AL_FORMAT_STEREO8 0x1102
344
- /** Signed 16-bit stereo buffer format. */
345
342
  #define AL_FORMAT_STEREO16 0x1103
346
343
 
347
344
  /** Buffer frequency (query only). */
@@ -353,7 +350,11 @@ typedef void ALvoid;
353
350
  /** Buffer data size (query only). */
354
351
  #define AL_SIZE 0x2004
355
352
 
356
- /* Buffer state. Not for public use. */
353
+ /**
354
+ * Buffer state.
355
+ *
356
+ * Not for public use.
357
+ */
357
358
  #define AL_UNUSED 0x2010
358
359
  #define AL_PENDING 0x2011
359
360
  #define AL_PROCESSED 0x2012
@@ -440,7 +441,7 @@ AL_API void AL_APIENTRY alSpeedOfSound(ALfloat value);
440
441
  #define AL_DISTANCE_MODEL 0xD000
441
442
  AL_API void AL_APIENTRY alDistanceModel(ALenum distanceModel);
442
443
 
443
- /* Distance model values. */
444
+ /** Distance model value. */
444
445
  #define AL_INVERSE_DISTANCE 0xD001
445
446
  #define AL_INVERSE_DISTANCE_CLAMPED 0xD002
446
447
  #define AL_LINEAR_DISTANCE 0xD003
@@ -448,12 +449,12 @@ AL_API void AL_APIENTRY alDistanceModel(ALenum distanceModel);
448
449
  #define AL_EXPONENT_DISTANCE 0xD005
449
450
  #define AL_EXPONENT_DISTANCE_CLAMPED 0xD006
450
451
 
451
- /* Renderer State management. */
452
+ /** Renderer State management. */
452
453
  AL_API void AL_APIENTRY alEnable(ALenum capability);
453
454
  AL_API void AL_APIENTRY alDisable(ALenum capability);
454
455
  AL_API ALboolean AL_APIENTRY alIsEnabled(ALenum capability);
455
456
 
456
- /* State retrieval. */
457
+ /** State retrieval. */
457
458
  AL_API const ALchar* AL_APIENTRY alGetString(ALenum param);
458
459
  AL_API void AL_APIENTRY alGetBooleanv(ALenum param, ALboolean *values);
459
460
  AL_API void AL_APIENTRY alGetIntegerv(ALenum param, ALint *values);
@@ -464,25 +465,25 @@ AL_API ALint AL_APIENTRY alGetInteger(ALenum param);
464
465
  AL_API ALfloat AL_APIENTRY alGetFloat(ALenum param);
465
466
  AL_API ALdouble AL_APIENTRY alGetDouble(ALenum param);
466
467
 
467
- /* Error retrieval. */
468
-
469
- /** Obtain the first error generated in the AL context since the last check. */
468
+ /**
469
+ * Error retrieval.
470
+ *
471
+ * Obtain the first error generated in the AL context since the last check.
472
+ */
470
473
  AL_API ALenum AL_APIENTRY alGetError(void);
471
474
 
472
- /** Query for the presence of an extension on the AL context. */
473
- AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extname);
474
475
  /**
475
- * Retrieve the address of a function. The returned function may be context-
476
- * specific.
476
+ * Extension support.
477
+ *
478
+ * Query for the presence of an extension, and obtain any appropriate function
479
+ * pointers and enum values.
477
480
  */
481
+ AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extname);
478
482
  AL_API void* AL_APIENTRY alGetProcAddress(const ALchar *fname);
479
- /**
480
- * Retrieve the value of an enum. The returned value may be context-specific.
481
- */
482
483
  AL_API ALenum AL_APIENTRY alGetEnumValue(const ALchar *ename);
483
484
 
484
485
 
485
- /* Set Listener parameters */
486
+ /** Set Listener parameters */
486
487
  AL_API void AL_APIENTRY alListenerf(ALenum param, ALfloat value);
487
488
  AL_API void AL_APIENTRY alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
488
489
  AL_API void AL_APIENTRY alListenerfv(ALenum param, const ALfloat *values);
@@ -490,7 +491,7 @@ AL_API void AL_APIENTRY alListeneri(ALenum param, ALint value);
490
491
  AL_API void AL_APIENTRY alListener3i(ALenum param, ALint value1, ALint value2, ALint value3);
491
492
  AL_API void AL_APIENTRY alListeneriv(ALenum param, const ALint *values);
492
493
 
493
- /* Get Listener parameters */
494
+ /** Get Listener parameters */
494
495
  AL_API void AL_APIENTRY alGetListenerf(ALenum param, ALfloat *value);
495
496
  AL_API void AL_APIENTRY alGetListener3f(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
496
497
  AL_API void AL_APIENTRY alGetListenerfv(ALenum param, ALfloat *values);
@@ -506,7 +507,7 @@ AL_API void AL_APIENTRY alDeleteSources(ALsizei n, const ALuint *sources);
506
507
  /** Verify a handle is a valid Source. */
507
508
  AL_API ALboolean AL_APIENTRY alIsSource(ALuint source);
508
509
 
509
- /* Set Source parameters. */
510
+ /** Set Source parameters. */
510
511
  AL_API void AL_APIENTRY alSourcef(ALuint source, ALenum param, ALfloat value);
511
512
  AL_API void AL_APIENTRY alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
512
513
  AL_API void AL_APIENTRY alSourcefv(ALuint source, ALenum param, const ALfloat *values);
@@ -514,7 +515,7 @@ AL_API void AL_APIENTRY alSourcei(ALuint source, ALenum param, ALint value);
514
515
  AL_API void AL_APIENTRY alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
515
516
  AL_API void AL_APIENTRY alSourceiv(ALuint source, ALenum param, const ALint *values);
516
517
 
517
- /* Get Source parameters. */
518
+ /** Get Source parameters. */
518
519
  AL_API void AL_APIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat *value);
519
520
  AL_API void AL_APIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
520
521
  AL_API void AL_APIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat *values);
@@ -557,7 +558,7 @@ AL_API ALboolean AL_APIENTRY alIsBuffer(ALuint buffer);
557
558
  /** Specifies the data to be copied into a buffer */
558
559
  AL_API void AL_APIENTRY alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
559
560
 
560
- /* Set Buffer parameters, */
561
+ /** Set Buffer parameters, */
561
562
  AL_API void AL_APIENTRY alBufferf(ALuint buffer, ALenum param, ALfloat value);
562
563
  AL_API void AL_APIENTRY alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
563
564
  AL_API void AL_APIENTRY alBufferfv(ALuint buffer, ALenum param, const ALfloat *values);
@@ -565,7 +566,7 @@ AL_API void AL_APIENTRY alBufferi(ALuint buffer, ALenum param, ALint value);
565
566
  AL_API void AL_APIENTRY alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
566
567
  AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values);
567
568
 
568
- /* Get Buffer parameters. */
569
+ /** Get Buffer parameters. */
569
570
  AL_API void AL_APIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat *value);
570
571
  AL_API void AL_APIENTRY alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
571
572
  AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values);
@@ -573,7 +574,7 @@ AL_API void AL_APIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint *value);
573
574
  AL_API void AL_APIENTRY alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
574
575
  AL_API void AL_APIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint *values);
575
576
 
576
- /* Pointer-to-function type, useful for dynamically getting AL entry points. */
577
+ /** Pointer-to-function type, useful for dynamically getting AL entry points. */
577
578
  typedef void (AL_APIENTRY *LPALENABLE)(ALenum capability);
578
579
  typedef void (AL_APIENTRY *LPALDISABLE)(ALenum capability);
579
580
  typedef ALboolean (AL_APIENTRY *LPALISENABLED)(ALenum capability);
@@ -648,6 +649,13 @@ typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)(ALfloat value);
648
649
  typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)(ALfloat value);
649
650
  typedef void (AL_APIENTRY *LPALDISTANCEMODEL)(ALenum distanceModel);
650
651
 
652
+ #define AL_EXT_TRACE_INFO 1
653
+ typedef void (AL_APIENTRY *LPALTRACEPUSHSCOPE)(const ALchar *str);
654
+ typedef void (AL_APIENTRY *LPALTRACEPOPSCOPE)(void);
655
+ typedef void (AL_APIENTRY *LPALTRACEMESSAGE)(const ALchar *str);
656
+ typedef void (AL_APIENTRY *LPALTRACEBUFFERLABEL)(ALuint name, const ALchar *str);
657
+ typedef void (AL_APIENTRY *LPALTRACESOURCELABEL)(ALuint name, const ALchar *str);
658
+
651
659
  #if defined(__cplusplus)
652
660
  } /* extern "C" */
653
661
  #endif
@@ -22,7 +22,7 @@ extern "C" {
22
22
  #endif
23
23
 
24
24
 
25
- /* Deprecated macros. */
25
+ /** Deprecated macro. */
26
26
  #define ALCAPI ALC_API
27
27
  #define ALCAPIENTRY ALC_APIENTRY
28
28
  #define ALC_INVALID 0
@@ -31,9 +31,9 @@ extern "C" {
31
31
  #define ALC_VERSION_0_1 1
32
32
 
33
33
  /** Opaque device handle */
34
- typedef struct ALCdevice ALCdevice;
34
+ typedef struct ALCdevice_struct ALCdevice;
35
35
  /** Opaque context handle */
36
- typedef struct ALCcontext ALCcontext;
36
+ typedef struct ALCcontext_struct ALCcontext;
37
37
 
38
38
  /** 8-bit boolean */
39
39
  typedef char ALCboolean;
@@ -89,7 +89,7 @@ typedef void ALCvoid;
89
89
  /** Context attribute: <int> Hz. */
90
90
  #define ALC_REFRESH 0x1008
91
91
 
92
- /** Context attribute: AL_TRUE or AL_FALSE synchronous context? */
92
+ /** Context attribute: AL_TRUE or AL_FALSE. */
93
93
  #define ALC_SYNC 0x1009
94
94
 
95
95
  /** Context attribute: <int> requested Mono (3D) Sources. */
@@ -117,14 +117,12 @@ typedef void ALCvoid;
117
117
  #define ALC_OUT_OF_MEMORY 0xA005
118
118
 
119
119
 
120
- /** Runtime ALC major version. */
120
+ /** Runtime ALC version. */
121
121
  #define ALC_MAJOR_VERSION 0x1000
122
- /** Runtime ALC minor version. */
123
122
  #define ALC_MINOR_VERSION 0x1001
124
123
 
125
- /** Context attribute list size. */
126
- #define ALC_ATTRIBUTES_SIZE 0x1002
127
124
  /** Context attribute list properties. */
125
+ #define ALC_ATTRIBUTES_SIZE 0x1002
128
126
  #define ALC_ALL_ATTRIBUTES 0x1003
129
127
 
130
128
  /** String for the default device specifier. */
@@ -168,80 +166,49 @@ typedef void ALCvoid;
168
166
  #define ALC_ALL_DEVICES_SPECIFIER 0x1013
169
167
 
170
168
 
171
- /* Context management. */
172
-
173
- /** Create and attach a context to the given device. */
174
- ALC_API ALCcontext* ALC_APIENTRY alcCreateContext(ALCdevice *device, const ALCint *attrlist);
175
- /**
176
- * Makes the given context the active process-wide context. Passing NULL clears
177
- * the active context.
178
- */
169
+ /** Context management. */
170
+ ALC_API ALCcontext* ALC_APIENTRY alcCreateContext(ALCdevice *device, const ALCint* attrlist);
179
171
  ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent(ALCcontext *context);
180
- /** Resumes processing updates for the given context. */
181
172
  ALC_API void ALC_APIENTRY alcProcessContext(ALCcontext *context);
182
- /** Suspends updates for the given context. */
183
173
  ALC_API void ALC_APIENTRY alcSuspendContext(ALCcontext *context);
184
- /** Remove a context from its device and destroys it. */
185
174
  ALC_API void ALC_APIENTRY alcDestroyContext(ALCcontext *context);
186
- /** Returns the currently active context. */
187
175
  ALC_API ALCcontext* ALC_APIENTRY alcGetCurrentContext(void);
188
- /** Returns the device that a particular context is attached to. */
189
176
  ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice(ALCcontext *context);
190
177
 
191
- /* Device management. */
192
-
193
- /** Opens the named playback device. */
178
+ /** Device management. */
194
179
  ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *devicename);
195
- /** Closes the given playback device. */
196
180
  ALC_API ALCboolean ALC_APIENTRY alcCloseDevice(ALCdevice *device);
197
181
 
198
- /* Error support. */
199
182
 
200
- /** Obtain the most recent Device error. */
183
+ /**
184
+ * Error support.
185
+ *
186
+ * Obtain the most recent Device error.
187
+ */
201
188
  ALC_API ALCenum ALC_APIENTRY alcGetError(ALCdevice *device);
202
189
 
203
- /* Extension support. */
204
-
205
190
  /**
206
- * Query for the presence of an extension on the device. Pass a NULL device to
207
- * query a device-inspecific extension.
191
+ * Extension support.
192
+ *
193
+ * Query for the presence of an extension, and obtain any appropriate
194
+ * function pointers and enum values.
208
195
  */
209
196
  ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent(ALCdevice *device, const ALCchar *extname);
210
- /**
211
- * Retrieve the address of a function. Given a non-NULL device, the returned
212
- * function may be device-specific.
213
- */
214
- ALC_API ALCvoid* ALC_APIENTRY alcGetProcAddress(ALCdevice *device, const ALCchar *funcname);
215
- /**
216
- * Retrieve the value of an enum. Given a non-NULL device, the returned value
217
- * may be device-specific.
218
- */
197
+ ALC_API void* ALC_APIENTRY alcGetProcAddress(ALCdevice *device, const ALCchar *funcname);
219
198
  ALC_API ALCenum ALC_APIENTRY alcGetEnumValue(ALCdevice *device, const ALCchar *enumname);
220
199
 
221
- /* Query functions. */
222
-
223
- /** Returns information about the device, and error strings. */
200
+ /** Query function. */
224
201
  ALC_API const ALCchar* ALC_APIENTRY alcGetString(ALCdevice *device, ALCenum param);
225
- /** Returns information about the device and the version of OpenAL. */
226
202
  ALC_API void ALC_APIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values);
227
203
 
228
- /* Capture functions. */
229
-
230
- /**
231
- * Opens the named capture device with the given frequency, format, and buffer
232
- * size.
233
- */
204
+ /** Capture function. */
234
205
  ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize);
235
- /** Closes the given capture device. */
236
206
  ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice(ALCdevice *device);
237
- /** Starts capturing samples into the device buffer. */
238
207
  ALC_API void ALC_APIENTRY alcCaptureStart(ALCdevice *device);
239
- /** Stops capturing samples. Samples in the device buffer remain available. */
240
208
  ALC_API void ALC_APIENTRY alcCaptureStop(ALCdevice *device);
241
- /** Reads samples from the device buffer. */
242
209
  ALC_API void ALC_APIENTRY alcCaptureSamples(ALCdevice *device, ALCvoid *buffer, ALCsizei samples);
243
210
 
244
- /* Pointer-to-function type, useful for dynamically getting ALC entry points. */
211
+ /** Pointer-to-function type, useful for dynamically getting ALC entry points. */
245
212
  typedef ALCcontext* (ALC_APIENTRY *LPALCCREATECONTEXT)(ALCdevice *device, const ALCint *attrlist);
246
213
  typedef ALCboolean (ALC_APIENTRY *LPALCMAKECONTEXTCURRENT)(ALCcontext *context);
247
214
  typedef void (ALC_APIENTRY *LPALCPROCESSCONTEXT)(ALCcontext *context);
@@ -253,7 +220,7 @@ typedef ALCdevice* (ALC_APIENTRY *LPALCOPENDEVICE)(const ALCchar *devicename
253
220
  typedef ALCboolean (ALC_APIENTRY *LPALCCLOSEDEVICE)(ALCdevice *device);
254
221
  typedef ALCenum (ALC_APIENTRY *LPALCGETERROR)(ALCdevice *device);
255
222
  typedef ALCboolean (ALC_APIENTRY *LPALCISEXTENSIONPRESENT)(ALCdevice *device, const ALCchar *extname);
256
- typedef ALCvoid* (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname);
223
+ typedef void* (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname);
257
224
  typedef ALCenum (ALC_APIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname);
258
225
  typedef const ALCchar* (ALC_APIENTRY *LPALCGETSTRING)(ALCdevice *device, ALCenum param);
259
226
  typedef void (ALC_APIENTRY *LPALCGETINTEGERV)(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values);
@@ -263,6 +230,10 @@ typedef void (ALC_APIENTRY *LPALCCAPTURESTART)(ALCdevice *device);
263
230
  typedef void (ALC_APIENTRY *LPALCCAPTURESTOP)(ALCdevice *device);
264
231
  typedef void (ALC_APIENTRY *LPALCCAPTURESAMPLES)(ALCdevice *device, ALCvoid *buffer, ALCsizei samples);
265
232
 
233
+ #define ALC_EXT_TRACE_INFO 1
234
+ typedef void (AL_APIENTRY *LPALCTRACEDEVICELABEL)(ALCdevice *device, const ALCchar *str);
235
+ typedef void (AL_APIENTRY *LPALCTRACECONTEXTLABEL)(ALCcontext *ctx, const ALCchar *str);
236
+
266
237
  #if defined(__cplusplus)
267
238
  }
268
239
  #endif