ruby2d 0.11.2 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (231) hide show
  1. checksums.yaml +4 -4
  2. data/assets/include/GLES2/gl2.h +656 -0
  3. data/assets/include/GLES2/gl2ext.h +3949 -0
  4. data/assets/include/GLES2/gl2ext_angle.h +701 -0
  5. data/assets/include/GLES2/gl2platform.h +27 -0
  6. data/assets/include/GLES3/gl3.h +1192 -0
  7. data/assets/include/GLES3/gl31.h +1507 -0
  8. data/assets/include/GLES3/gl32.h +1808 -0
  9. data/assets/include/GLES3/gl3platform.h +27 -0
  10. data/assets/include/KHR/khrplatform.h +290 -0
  11. data/assets/include/SDL2/SDL.h +1 -0
  12. data/assets/include/SDL2/SDL_assert.h +4 -2
  13. data/assets/include/SDL2/SDL_atomic.h +20 -0
  14. data/assets/include/SDL2/SDL_audio.h +40 -4
  15. data/assets/include/SDL2/SDL_blendmode.h +4 -6
  16. data/assets/include/SDL2/SDL_clipboard.h +47 -0
  17. data/assets/include/SDL2/SDL_config.h +6 -2
  18. data/assets/include/SDL2/SDL_config_android.h +2 -0
  19. data/assets/include/SDL2/SDL_config_emscripten.h +2 -0
  20. data/assets/include/SDL2/SDL_config_iphoneos.h +3 -1
  21. data/assets/include/SDL2/SDL_config_macosx.h +3 -6
  22. data/assets/include/SDL2/SDL_config_minimal.h +18 -11
  23. data/assets/include/SDL2/SDL_config_ngage.h +89 -0
  24. data/assets/include/SDL2/SDL_config_os2.h +5 -3
  25. data/assets/include/SDL2/SDL_config_pandora.h +1 -0
  26. data/assets/include/SDL2/SDL_config_windows.h +71 -45
  27. data/assets/include/SDL2/SDL_config_wingdk.h +253 -0
  28. data/assets/include/SDL2/SDL_config_winrt.h +11 -49
  29. data/assets/include/SDL2/SDL_config_xbox.h +235 -0
  30. data/assets/include/SDL2/SDL_cpuinfo.h +39 -4
  31. data/assets/include/SDL2/SDL_egl.h +59 -9
  32. data/assets/include/SDL2/SDL_endian.h +34 -3
  33. data/assets/include/SDL2/SDL_events.h +32 -1
  34. data/assets/include/SDL2/SDL_filesystem.h +5 -1
  35. data/assets/include/SDL2/SDL_gamecontroller.h +78 -5
  36. data/assets/include/SDL2/SDL_guid.h +100 -0
  37. data/assets/include/SDL2/SDL_hints.h +645 -43
  38. data/assets/include/SDL2/SDL_image.h +2045 -33
  39. data/assets/include/SDL2/SDL_joystick.h +127 -7
  40. data/assets/include/SDL2/SDL_keyboard.h +38 -1
  41. data/assets/include/SDL2/SDL_keycode.h +6 -1
  42. data/assets/include/SDL2/SDL_log.h +2 -2
  43. data/assets/include/SDL2/SDL_main.h +42 -2
  44. data/assets/include/SDL2/SDL_metal.h +2 -1
  45. data/assets/include/SDL2/SDL_mixer.h +2529 -396
  46. data/assets/include/SDL2/SDL_mouse.h +12 -1
  47. data/assets/include/SDL2/SDL_opengl.h +0 -51
  48. data/assets/include/SDL2/SDL_opengl_glext.h +2260 -231
  49. data/assets/include/SDL2/SDL_opengles2_gl2.h +374 -339
  50. data/assets/include/SDL2/SDL_opengles2_gl2ext.h +3479 -1496
  51. data/assets/include/SDL2/SDL_opengles2_gl2platform.h +6 -9
  52. data/assets/include/SDL2/SDL_opengles2_khrplatform.h +43 -14
  53. data/assets/include/SDL2/SDL_platform.h +32 -6
  54. data/assets/include/SDL2/SDL_rect.h +154 -2
  55. data/assets/include/SDL2/SDL_render.h +46 -17
  56. data/assets/include/SDL2/SDL_revision.h +4 -0
  57. data/assets/include/SDL2/SDL_rwops.h +1 -15
  58. data/assets/include/SDL2/SDL_scancode.h +46 -21
  59. data/assets/include/SDL2/SDL_sensor.h +24 -3
  60. data/assets/include/SDL2/SDL_stdinc.h +119 -8
  61. data/assets/include/SDL2/SDL_surface.h +3 -1
  62. data/assets/include/SDL2/SDL_system.h +66 -6
  63. data/assets/include/SDL2/SDL_syswm.h +2 -0
  64. data/assets/include/SDL2/SDL_test_common.h +1 -0
  65. data/assets/include/SDL2/SDL_test_font.h +90 -3
  66. data/assets/include/SDL2/SDL_thread.h +3 -3
  67. data/assets/include/SDL2/SDL_touch.h +8 -0
  68. data/assets/include/SDL2/SDL_ttf.h +2084 -155
  69. data/assets/include/SDL2/SDL_version.h +19 -3
  70. data/assets/include/SDL2/SDL_video.h +71 -9
  71. data/assets/include/SDL2/begin_code.h +4 -4
  72. data/assets/include/mrbconf.h +15 -17
  73. data/assets/include/mruby/array.h +8 -21
  74. data/assets/include/mruby/boxing_nan.h +115 -86
  75. data/assets/include/mruby/boxing_word.h +104 -78
  76. data/assets/include/mruby/common.h +6 -0
  77. data/assets/include/mruby/compile.h +3 -4
  78. data/assets/include/mruby/debug.h +4 -2
  79. data/assets/include/mruby/dump.h +5 -2
  80. data/assets/include/mruby/error.h +12 -2
  81. data/assets/include/mruby/gc.h +2 -0
  82. data/assets/include/mruby/hash.h +1 -3
  83. data/assets/include/mruby/irep.h +4 -4
  84. data/assets/include/mruby/numeric.h +21 -13
  85. data/assets/include/mruby/opcode.h +30 -0
  86. data/assets/include/mruby/ops.h +99 -101
  87. data/assets/include/mruby/presym/scanning.h +15 -9
  88. data/assets/include/mruby/proc.h +4 -2
  89. data/assets/include/mruby/string.h +3 -24
  90. data/assets/include/mruby/value.h +80 -40
  91. data/assets/include/mruby/variable.h +0 -15
  92. data/assets/include/mruby/version.h +5 -5
  93. data/assets/include/mruby.h +86 -16
  94. data/assets/macos/universal/bin/mrbc +0 -0
  95. data/assets/macos/universal/lib/libFLAC.a +0 -0
  96. data/assets/macos/universal/lib/libSDL2.a +0 -0
  97. data/assets/macos/universal/lib/libSDL2_image.a +0 -0
  98. data/assets/macos/universal/lib/libSDL2_mixer.a +0 -0
  99. data/assets/macos/universal/lib/libSDL2_ttf.a +0 -0
  100. data/assets/macos/universal/lib/libavif.a +0 -0
  101. data/assets/macos/universal/lib/libbrotlicommon-static.a +0 -0
  102. data/assets/macos/universal/lib/libbrotlidec-static.a +0 -0
  103. data/assets/macos/universal/lib/libfreetype.a +0 -0
  104. data/assets/macos/universal/lib/libgraphite2.a +0 -0
  105. data/assets/macos/universal/lib/libharfbuzz.a +0 -0
  106. data/assets/macos/universal/lib/libhwy.a +0 -0
  107. data/assets/macos/universal/lib/libjpeg.a +0 -0
  108. data/assets/macos/universal/lib/libjxl.a +0 -0
  109. data/assets/macos/universal/lib/libmodplug.a +0 -0
  110. data/assets/macos/universal/lib/libmpg123.a +0 -0
  111. data/assets/macos/universal/lib/libmruby.a +0 -0
  112. data/assets/macos/universal/lib/libogg.a +0 -0
  113. data/assets/macos/universal/lib/libpng.a +0 -0
  114. data/assets/macos/universal/lib/libtiff.a +0 -0
  115. data/assets/macos/universal/lib/libvorbis.a +0 -0
  116. data/assets/macos/universal/lib/libvorbisfile.a +0 -0
  117. data/assets/macos/universal/lib/libwebp.a +0 -0
  118. data/assets/macos/universal/lib/libzstd.a +0 -0
  119. data/assets/wasm/libmruby.a +0 -0
  120. data/assets/wasm/template.html +52 -4
  121. data/assets/windows/mingw-w64-ucrt-x86_64/bin/mrbc.exe +0 -0
  122. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libFLAC.a +0 -0
  123. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libLerc.a +0 -0
  124. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2.a +0 -0
  125. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_image.a +0 -0
  126. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_mixer.a +0 -0
  127. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_ttf.a +0 -0
  128. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlicommon.a +0 -0
  129. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlidec.a +0 -0
  130. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbz2.a +0 -0
  131. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libdeflate.a +0 -0
  132. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libfreetype.a +0 -0
  133. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libglew32.a +0 -0
  134. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libgraphite2.a +0 -0
  135. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libharfbuzz.a +0 -0
  136. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libhwy.a +0 -0
  137. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjbig.a +0 -0
  138. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjpeg.a +0 -0
  139. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjxl.a +0 -0
  140. data/assets/windows/mingw-w64-ucrt-x86_64/lib/liblzma.a +0 -0
  141. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmodplug.a +0 -0
  142. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmpg123.a +0 -0
  143. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmruby.a +0 -0
  144. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libogg.a +0 -0
  145. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopus.a +0 -0
  146. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopusfile.a +0 -0
  147. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libpng.a +0 -0
  148. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libsndfile.a +0 -0
  149. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libssp.a +1 -0
  150. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libstdc++.a +0 -0
  151. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libtiff.a +0 -0
  152. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbis.a +0 -0
  153. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbisfile.a +0 -0
  154. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libwebp.a +0 -0
  155. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libz.a +0 -0
  156. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libzstd.a +0 -0
  157. data/assets/windows/mingw-w64-x86_64/bin/mrbc.exe +0 -0
  158. data/assets/windows/mingw-w64-x86_64/lib/libFLAC.a +0 -0
  159. data/assets/windows/mingw-w64-x86_64/lib/libLerc.a +0 -0
  160. data/assets/windows/mingw-w64-x86_64/lib/libSDL2.a +0 -0
  161. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_image.a +0 -0
  162. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_mixer.a +0 -0
  163. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_ttf.a +0 -0
  164. data/assets/windows/mingw-w64-x86_64/lib/libbrotlicommon.a +0 -0
  165. data/assets/windows/mingw-w64-x86_64/lib/libbrotlidec.a +0 -0
  166. data/assets/windows/mingw-w64-x86_64/lib/libdeflate.a +0 -0
  167. data/assets/windows/mingw-w64-x86_64/lib/libfreetype.a +0 -0
  168. data/assets/windows/mingw-w64-x86_64/lib/libglew32.a +0 -0
  169. data/assets/windows/mingw-w64-x86_64/lib/libharfbuzz.a +0 -0
  170. data/assets/windows/mingw-w64-x86_64/lib/libhwy.a +0 -0
  171. data/assets/windows/mingw-w64-x86_64/lib/libjpeg.a +0 -0
  172. data/assets/windows/mingw-w64-x86_64/lib/libjxl.a +0 -0
  173. data/assets/windows/mingw-w64-x86_64/lib/liblzma.a +0 -0
  174. data/assets/windows/mingw-w64-x86_64/lib/libmpg123.a +0 -0
  175. data/assets/windows/mingw-w64-x86_64/lib/libmruby.a +0 -0
  176. data/assets/windows/mingw-w64-x86_64/lib/libopus.a +0 -0
  177. data/assets/windows/mingw-w64-x86_64/lib/libpng.a +0 -0
  178. data/assets/windows/mingw-w64-x86_64/lib/libsndfile.a +0 -0
  179. data/assets/windows/mingw-w64-x86_64/lib/libssp.a +0 -0
  180. data/assets/windows/mingw-w64-x86_64/lib/libstdc++.a +0 -0
  181. data/assets/windows/mingw-w64-x86_64/lib/libtiff.a +0 -0
  182. data/assets/windows/mingw-w64-x86_64/lib/libwebp.a +0 -0
  183. data/assets/windows/mingw-w64-x86_64/lib/libz.a +0 -0
  184. data/assets/windows/mingw-w64-x86_64/lib/libzstd.a +0 -0
  185. data/ext/ruby2d/canvas.c +540 -0
  186. data/ext/ruby2d/extconf.rb +39 -21
  187. data/ext/ruby2d/gl.c +3 -3
  188. data/ext/ruby2d/image.c +7 -7
  189. data/ext/ruby2d/ruby2d.c +741 -24
  190. data/ext/ruby2d/ruby2d.h +66 -3
  191. data/ext/ruby2d/sound.c +16 -2
  192. data/lib/ruby2d/canvas.rb +315 -0
  193. data/lib/ruby2d/circle.rb +30 -15
  194. data/lib/ruby2d/cli/build.rb +11 -4
  195. data/lib/ruby2d/cli/enable_console.rb +3 -1
  196. data/lib/ruby2d/color.rb +133 -77
  197. data/lib/ruby2d/core.rb +32 -0
  198. data/lib/ruby2d/dsl.rb +38 -32
  199. data/lib/ruby2d/exceptions.rb +2 -1
  200. data/lib/ruby2d/font.rb +97 -62
  201. data/lib/ruby2d/image.rb +48 -27
  202. data/lib/ruby2d/line.rb +84 -45
  203. data/lib/ruby2d/music.rb +33 -23
  204. data/lib/ruby2d/pixel.rb +10 -9
  205. data/lib/ruby2d/pixmap.rb +39 -0
  206. data/lib/ruby2d/pixmap_atlas.rb +56 -0
  207. data/lib/ruby2d/quad.rb +98 -49
  208. data/lib/ruby2d/rectangle.rb +35 -36
  209. data/lib/ruby2d/renderable.rb +7 -6
  210. data/lib/ruby2d/sound.rb +23 -17
  211. data/lib/ruby2d/sprite.rb +181 -140
  212. data/lib/ruby2d/square.rb +21 -20
  213. data/lib/ruby2d/text.rb +47 -19
  214. data/lib/ruby2d/texture.rb +13 -3
  215. data/lib/ruby2d/tileset.rb +97 -44
  216. data/lib/ruby2d/triangle.rb +91 -42
  217. data/lib/ruby2d/version.rb +3 -1
  218. data/lib/ruby2d/vertices.rb +81 -45
  219. data/lib/ruby2d/window.rb +508 -371
  220. data/lib/ruby2d.rb +11 -29
  221. metadata +84 -16
  222. data/assets/include/SDL2/SDL_config_psp.h +0 -165
  223. data/assets/include/SDL2/SDL_config_wiz.h +0 -154
  224. data/assets/include/glew.h +0 -23686
  225. data/assets/macos/universal/lib/libpng16.a +0 -0
  226. data/assets/wasm/build_config.rb +0 -13
  227. data/assets/windows/glew/README.md +0 -10
  228. data/assets/windows/glew/glew.h +0 -23686
  229. data/assets/windows/glew/libglew32.a +0 -0
  230. data/assets/windows/mingw-w64-x86_64/lib/libpng16.a +0 -0
  231. data/lib/ruby2d/entity.rb +0 -17
@@ -0,0 +1,27 @@
1
+ #ifndef __gl3platform_h_
2
+ #define __gl3platform_h_
3
+
4
+ /*
5
+ ** Copyright 2017-2020 The Khronos Group Inc.
6
+ ** SPDX-License-Identifier: Apache-2.0
7
+ */
8
+
9
+ /* Platform-specific types and definitions for OpenGL ES 3.X gl3.h
10
+ *
11
+ * Adopters may modify khrplatform.h and this file to suit their platform.
12
+ * Please contribute modifications back to Khronos as pull requests on the
13
+ * public github repository:
14
+ * https://github.com/KhronosGroup/OpenGL-Registry
15
+ */
16
+
17
+ #include <KHR/khrplatform.h>
18
+
19
+ #ifndef GL_APICALL
20
+ #define GL_APICALL KHRONOS_APICALL
21
+ #endif
22
+
23
+ #ifndef GL_APIENTRY
24
+ #define GL_APIENTRY KHRONOS_APIENTRY
25
+ #endif
26
+
27
+ #endif /* __gl3platform_h_ */
@@ -0,0 +1,290 @@
1
+ #ifndef __khrplatform_h_
2
+ #define __khrplatform_h_
3
+
4
+ /*
5
+ ** Copyright (c) 2008-2018 The Khronos Group Inc.
6
+ **
7
+ ** Permission is hereby granted, free of charge, to any person obtaining a
8
+ ** copy of this software and/or associated documentation files (the
9
+ ** "Materials"), to deal in the Materials without restriction, including
10
+ ** without limitation the rights to use, copy, modify, merge, publish,
11
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
12
+ ** permit persons to whom the Materials are furnished to do so, subject to
13
+ ** the following conditions:
14
+ **
15
+ ** The above copyright notice and this permission notice shall be included
16
+ ** in all copies or substantial portions of the Materials.
17
+ **
18
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
25
+ */
26
+
27
+ /* Khronos platform-specific types and definitions.
28
+ *
29
+ * The master copy of khrplatform.h is maintained in the Khronos EGL
30
+ * Registry repository at https://github.com/KhronosGroup/EGL-Registry
31
+ * The last semantic modification to khrplatform.h was at commit ID:
32
+ * 67a3e0864c2d75ea5287b9f3d2eb74a745936692
33
+ *
34
+ * Adopters may modify this file to suit their platform. Adopters are
35
+ * encouraged to submit platform specific modifications to the Khronos
36
+ * group so that they can be included in future versions of this file.
37
+ * Please submit changes by filing pull requests or issues on
38
+ * the EGL Registry repository linked above.
39
+ *
40
+ *
41
+ * See the Implementer's Guidelines for information about where this file
42
+ * should be located on your system and for more details of its use:
43
+ * http://www.khronos.org/registry/implementers_guide.pdf
44
+ *
45
+ * This file should be included as
46
+ * #include <KHR/khrplatform.h>
47
+ * by Khronos client API header files that use its types and defines.
48
+ *
49
+ * The types in khrplatform.h should only be used to define API-specific types.
50
+ *
51
+ * Types defined in khrplatform.h:
52
+ * khronos_int8_t signed 8 bit
53
+ * khronos_uint8_t unsigned 8 bit
54
+ * khronos_int16_t signed 16 bit
55
+ * khronos_uint16_t unsigned 16 bit
56
+ * khronos_int32_t signed 32 bit
57
+ * khronos_uint32_t unsigned 32 bit
58
+ * khronos_int64_t signed 64 bit
59
+ * khronos_uint64_t unsigned 64 bit
60
+ * khronos_intptr_t signed same number of bits as a pointer
61
+ * khronos_uintptr_t unsigned same number of bits as a pointer
62
+ * khronos_ssize_t signed size
63
+ * khronos_usize_t unsigned size
64
+ * khronos_float_t signed 32 bit floating point
65
+ * khronos_time_ns_t unsigned 64 bit time in nanoseconds
66
+ * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
67
+ * nanoseconds
68
+ * khronos_stime_nanoseconds_t signed time interval in nanoseconds
69
+ * khronos_boolean_enum_t enumerated boolean type. This should
70
+ * only be used as a base type when a client API's boolean type is
71
+ * an enum. Client APIs which use an integer or other type for
72
+ * booleans cannot use this as the base type for their boolean.
73
+ *
74
+ * Tokens defined in khrplatform.h:
75
+ *
76
+ * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
77
+ *
78
+ * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
79
+ * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
80
+ *
81
+ * Calling convention macros defined in this file:
82
+ * KHRONOS_APICALL
83
+ * KHRONOS_APIENTRY
84
+ * KHRONOS_APIATTRIBUTES
85
+ *
86
+ * These may be used in function prototypes as:
87
+ *
88
+ * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
89
+ * int arg1,
90
+ * int arg2) KHRONOS_APIATTRIBUTES;
91
+ */
92
+
93
+ #if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
94
+ # define KHRONOS_STATIC 1
95
+ #endif
96
+
97
+ /*-------------------------------------------------------------------------
98
+ * Definition of KHRONOS_APICALL
99
+ *-------------------------------------------------------------------------
100
+ * This precedes the return type of the function in the function prototype.
101
+ */
102
+ #if defined(KHRONOS_STATIC)
103
+ /* If the preprocessor constant KHRONOS_STATIC is defined, make the
104
+ * header compatible with static linking. */
105
+ # define KHRONOS_APICALL
106
+ #elif defined(_WIN32)
107
+ # define KHRONOS_APICALL __declspec(dllimport)
108
+ #elif defined (__SYMBIAN32__)
109
+ # define KHRONOS_APICALL IMPORT_C
110
+ #elif defined(__ANDROID__)
111
+ # define KHRONOS_APICALL __attribute__((visibility("default")))
112
+ #else
113
+ # define KHRONOS_APICALL
114
+ #endif
115
+
116
+ /*-------------------------------------------------------------------------
117
+ * Definition of KHRONOS_APIENTRY
118
+ *-------------------------------------------------------------------------
119
+ * This follows the return type of the function and precedes the function
120
+ * name in the function prototype.
121
+ */
122
+ #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
123
+ /* Win32 but not WinCE */
124
+ # define KHRONOS_APIENTRY __stdcall
125
+ #else
126
+ # define KHRONOS_APIENTRY
127
+ #endif
128
+
129
+ /*-------------------------------------------------------------------------
130
+ * Definition of KHRONOS_APIATTRIBUTES
131
+ *-------------------------------------------------------------------------
132
+ * This follows the closing parenthesis of the function prototype arguments.
133
+ */
134
+ #if defined (__ARMCC_2__)
135
+ #define KHRONOS_APIATTRIBUTES __softfp
136
+ #else
137
+ #define KHRONOS_APIATTRIBUTES
138
+ #endif
139
+
140
+ /*-------------------------------------------------------------------------
141
+ * basic type definitions
142
+ *-----------------------------------------------------------------------*/
143
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
144
+
145
+
146
+ /*
147
+ * Using <stdint.h>
148
+ */
149
+ #include <stdint.h>
150
+ typedef int32_t khronos_int32_t;
151
+ typedef uint32_t khronos_uint32_t;
152
+ typedef int64_t khronos_int64_t;
153
+ typedef uint64_t khronos_uint64_t;
154
+ #define KHRONOS_SUPPORT_INT64 1
155
+ #define KHRONOS_SUPPORT_FLOAT 1
156
+
157
+ #elif defined(__VMS ) || defined(__sgi)
158
+
159
+ /*
160
+ * Using <inttypes.h>
161
+ */
162
+ #include <inttypes.h>
163
+ typedef int32_t khronos_int32_t;
164
+ typedef uint32_t khronos_uint32_t;
165
+ typedef int64_t khronos_int64_t;
166
+ typedef uint64_t khronos_uint64_t;
167
+ #define KHRONOS_SUPPORT_INT64 1
168
+ #define KHRONOS_SUPPORT_FLOAT 1
169
+
170
+ #elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
171
+
172
+ /*
173
+ * Win32
174
+ */
175
+ typedef __int32 khronos_int32_t;
176
+ typedef unsigned __int32 khronos_uint32_t;
177
+ typedef __int64 khronos_int64_t;
178
+ typedef unsigned __int64 khronos_uint64_t;
179
+ #define KHRONOS_SUPPORT_INT64 1
180
+ #define KHRONOS_SUPPORT_FLOAT 1
181
+
182
+ #elif defined(__sun__) || defined(__digital__)
183
+
184
+ /*
185
+ * Sun or Digital
186
+ */
187
+ typedef int khronos_int32_t;
188
+ typedef unsigned int khronos_uint32_t;
189
+ #if defined(__arch64__) || defined(_LP64)
190
+ typedef long int khronos_int64_t;
191
+ typedef unsigned long int khronos_uint64_t;
192
+ #else
193
+ typedef long long int khronos_int64_t;
194
+ typedef unsigned long long int khronos_uint64_t;
195
+ #endif /* __arch64__ */
196
+ #define KHRONOS_SUPPORT_INT64 1
197
+ #define KHRONOS_SUPPORT_FLOAT 1
198
+
199
+ #elif 0
200
+
201
+ /*
202
+ * Hypothetical platform with no float or int64 support
203
+ */
204
+ typedef int khronos_int32_t;
205
+ typedef unsigned int khronos_uint32_t;
206
+ #define KHRONOS_SUPPORT_INT64 0
207
+ #define KHRONOS_SUPPORT_FLOAT 0
208
+
209
+ #else
210
+
211
+ /*
212
+ * Generic fallback
213
+ */
214
+ #include <stdint.h>
215
+ typedef int32_t khronos_int32_t;
216
+ typedef uint32_t khronos_uint32_t;
217
+ typedef int64_t khronos_int64_t;
218
+ typedef uint64_t khronos_uint64_t;
219
+ #define KHRONOS_SUPPORT_INT64 1
220
+ #define KHRONOS_SUPPORT_FLOAT 1
221
+
222
+ #endif
223
+
224
+
225
+ /*
226
+ * Types that are (so far) the same on all platforms
227
+ */
228
+ typedef signed char khronos_int8_t;
229
+ typedef unsigned char khronos_uint8_t;
230
+ typedef signed short int khronos_int16_t;
231
+ typedef unsigned short int khronos_uint16_t;
232
+
233
+ /*
234
+ * Types that differ between LLP64 and LP64 architectures - in LLP64,
235
+ * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
236
+ * to be the only LLP64 architecture in current use.
237
+ */
238
+ #ifdef _WIN64
239
+ typedef signed long long int khronos_intptr_t;
240
+ typedef unsigned long long int khronos_uintptr_t;
241
+ typedef signed long long int khronos_ssize_t;
242
+ typedef unsigned long long int khronos_usize_t;
243
+ #else
244
+ typedef signed long int khronos_intptr_t;
245
+ typedef unsigned long int khronos_uintptr_t;
246
+ typedef signed long int khronos_ssize_t;
247
+ typedef unsigned long int khronos_usize_t;
248
+ #endif
249
+
250
+ #if KHRONOS_SUPPORT_FLOAT
251
+ /*
252
+ * Float type
253
+ */
254
+ typedef float khronos_float_t;
255
+ #endif
256
+
257
+ #if KHRONOS_SUPPORT_INT64
258
+ /* Time types
259
+ *
260
+ * These types can be used to represent a time interval in nanoseconds or
261
+ * an absolute Unadjusted System Time. Unadjusted System Time is the number
262
+ * of nanoseconds since some arbitrary system event (e.g. since the last
263
+ * time the system booted). The Unadjusted System Time is an unsigned
264
+ * 64 bit value that wraps back to 0 every 584 years. Time intervals
265
+ * may be either signed or unsigned.
266
+ */
267
+ typedef khronos_uint64_t khronos_utime_nanoseconds_t;
268
+ typedef khronos_int64_t khronos_stime_nanoseconds_t;
269
+ #endif
270
+
271
+ /*
272
+ * Dummy value used to pad enum types to 32 bits.
273
+ */
274
+ #ifndef KHRONOS_MAX_ENUM
275
+ #define KHRONOS_MAX_ENUM 0x7FFFFFFF
276
+ #endif
277
+
278
+ /*
279
+ * Enumerated boolean type
280
+ *
281
+ * Values other than zero should be considered to be true. Therefore
282
+ * comparisons should not be made against KHRONOS_TRUE.
283
+ */
284
+ typedef enum {
285
+ KHRONOS_FALSE = 0,
286
+ KHRONOS_TRUE = 1,
287
+ KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
288
+ } khronos_boolean_enum_t;
289
+
290
+ #endif /* __khrplatform_h_ */
@@ -41,6 +41,7 @@
41
41
  #include "SDL_events.h"
42
42
  #include "SDL_filesystem.h"
43
43
  #include "SDL_gamecontroller.h"
44
+ #include "SDL_guid.h"
44
45
  #include "SDL_haptic.h"
45
46
  #include "SDL_hidapi.h"
46
47
  #include "SDL_hints.h"
@@ -22,7 +22,7 @@
22
22
  #ifndef SDL_assert_h_
23
23
  #define SDL_assert_h_
24
24
 
25
- #include "SDL_config.h"
25
+ #include "SDL_stdinc.h"
26
26
 
27
27
  #include "begin_code.h"
28
28
  /* Set up for C function definitions, even when using C++ */
@@ -51,6 +51,8 @@ assert can have unique static variables associated with it.
51
51
  /* Don't include intrin.h here because it contains C++ code */
52
52
  extern void __cdecl __debugbreak(void);
53
53
  #define SDL_TriggerBreakpoint() __debugbreak()
54
+ #elif _SDL_HAS_BUILTIN(__builtin_debugtrap)
55
+ #define SDL_TriggerBreakpoint() __builtin_debugtrap()
54
56
  #elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
55
57
  #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
56
58
  #elif ( defined(__APPLE__) && (defined(__arm64__) || defined(__aarch64__)) ) /* this might work on other ARM targets, but this is a known quantity... */
@@ -69,7 +71,7 @@ assert can have unique static variables associated with it.
69
71
 
70
72
  #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 supports __func__ as a standard. */
71
73
  # define SDL_FUNCTION __func__
72
- #elif ((__GNUC__ >= 2) || defined(_MSC_VER) || defined (__WATCOMC__))
74
+ #elif ((defined(__GNUC__) && (__GNUC__ >= 2)) || defined(_MSC_VER) || defined (__WATCOMC__))
73
75
  # define SDL_FUNCTION __FUNCTION__
74
76
  #else
75
77
  # define SDL_FUNCTION "???"
@@ -237,6 +237,26 @@ typedef void (*SDL_KernelMemoryBarrierFunc)();
237
237
  #endif
238
238
  #endif
239
239
 
240
+ /* "REP NOP" is PAUSE, coded for tools that don't know it by that name. */
241
+ #if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))
242
+ #define SDL_CPUPauseInstruction() __asm__ __volatile__("pause\n") /* Some assemblers can't do REP NOP, so go with PAUSE. */
243
+ #elif (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__)
244
+ #define SDL_CPUPauseInstruction() __asm__ __volatile__("yield" ::: "memory")
245
+ #elif (defined(__powerpc__) || defined(__powerpc64__))
246
+ #define SDL_CPUPauseInstruction() __asm__ __volatile__("or 27,27,27");
247
+ #elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))
248
+ #define SDL_CPUPauseInstruction() _mm_pause() /* this is actually "rep nop" and not a SIMD instruction. No inline asm in MSVC x86-64! */
249
+ #elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
250
+ #define SDL_CPUPauseInstruction() __yield()
251
+ #elif defined(__WATCOMC__) && defined(__386__)
252
+ /* watcom assembler rejects PAUSE if CPU < i686, and it refuses REP NOP as an invalid combination. Hardcode the bytes. */
253
+ extern __inline void SDL_CPUPauseInstruction(void);
254
+ #pragma aux SDL_CPUPauseInstruction = "db 0f3h,90h"
255
+ #else
256
+ #define SDL_CPUPauseInstruction()
257
+ #endif
258
+
259
+
240
260
  /**
241
261
  * \brief A type representing an atomic integer value. It is a struct
242
262
  * so people don't accidentally use numeric operations on it.
@@ -172,7 +172,7 @@ typedef void (SDLCALL * SDL_AudioCallback) (void *userdata, Uint8 * stream,
172
172
  * 2: FL FR (stereo)
173
173
  * 3: FL FR LFE (2.1 surround)
174
174
  * 4: FL FR BL BR (quad)
175
- * 5: FL FR FC BL BR (quad + center)
175
+ * 5: FL FR LFE BL BR (4.1 surround)
176
176
  * 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR)
177
177
  * 7: FL FR FC LFE BC SL SR (6.1 surround)
178
178
  * 8: FL FR FC LFE BL BR SL SR (7.1 surround)
@@ -487,6 +487,7 @@ extern DECLSPEC int SDLCALL SDL_GetNumAudioDevices(int iscapture);
487
487
  * \since This function is available since SDL 2.0.0.
488
488
  *
489
489
  * \sa SDL_GetNumAudioDevices
490
+ * \sa SDL_GetDefaultAudioInfo
490
491
  */
491
492
  extern DECLSPEC const char *SDLCALL SDL_GetAudioDeviceName(int index,
492
493
  int iscapture);
@@ -500,9 +501,7 @@ extern DECLSPEC const char *SDLCALL SDL_GetAudioDeviceName(int index,
500
501
  * hardware.
501
502
  *
502
503
  * `spec` will be filled with the sample rate, sample format, and channel
503
- * count. All other values in the structure are filled with 0. When the
504
- * supported struct members are 0, SDL was unable to get the property from the
505
- * backend.
504
+ * count.
506
505
  *
507
506
  * \param index the index of the audio device; valid values range from 0 to
508
507
  * SDL_GetNumAudioDevices() - 1
@@ -514,12 +513,48 @@ extern DECLSPEC const char *SDLCALL SDL_GetAudioDeviceName(int index,
514
513
  * \since This function is available since SDL 2.0.16.
515
514
  *
516
515
  * \sa SDL_GetNumAudioDevices
516
+ * \sa SDL_GetDefaultAudioInfo
517
517
  */
518
518
  extern DECLSPEC int SDLCALL SDL_GetAudioDeviceSpec(int index,
519
519
  int iscapture,
520
520
  SDL_AudioSpec *spec);
521
521
 
522
522
 
523
+ /**
524
+ * Get the name and preferred format of the default audio device.
525
+ *
526
+ * Some (but not all!) platforms have an isolated mechanism to get information
527
+ * about the "default" device. This can actually be a completely different
528
+ * device that's not in the list you get from SDL_GetAudioDeviceSpec(). It can
529
+ * even be a network address! (This is discussed in SDL_OpenAudioDevice().)
530
+ *
531
+ * As a result, this call is not guaranteed to be performant, as it can query
532
+ * the sound server directly every time, unlike the other query functions. You
533
+ * should call this function sparingly!
534
+ *
535
+ * `spec` will be filled with the sample rate, sample format, and channel
536
+ * count, if a default device exists on the system. If `name` is provided,
537
+ * will be filled with either a dynamically-allocated UTF-8 string or NULL.
538
+ *
539
+ * \param name A pointer to be filled with the name of the default device (can
540
+ * be NULL). Please call SDL_free() when you are done with this
541
+ * pointer!
542
+ * \param spec The SDL_AudioSpec to be initialized by this function.
543
+ * \param iscapture non-zero to query the default recording device, zero to
544
+ * query the default output device.
545
+ * \returns 0 on success, nonzero on error
546
+ *
547
+ * \since This function is available since SDL 2.24.0.
548
+ *
549
+ * \sa SDL_GetAudioDeviceName
550
+ * \sa SDL_GetAudioDeviceSpec
551
+ * \sa SDL_OpenAudioDevice
552
+ */
553
+ extern DECLSPEC int SDLCALL SDL_GetDefaultAudioInfo(char **name,
554
+ SDL_AudioSpec *spec,
555
+ int iscapture);
556
+
557
+
523
558
  /**
524
559
  * Open a specific audio device.
525
560
  *
@@ -586,6 +621,7 @@ extern DECLSPEC int SDLCALL SDL_GetAudioDeviceSpec(int index,
586
621
  * - `SDL_AUDIO_ALLOW_FREQUENCY_CHANGE`
587
622
  * - `SDL_AUDIO_ALLOW_FORMAT_CHANGE`
588
623
  * - `SDL_AUDIO_ALLOW_CHANNELS_CHANGE`
624
+ * - `SDL_AUDIO_ALLOW_SAMPLES_CHANGE`
589
625
  * - `SDL_AUDIO_ALLOW_ANY_CHANGE`
590
626
  *
591
627
  * These flags specify how SDL should behave when a device cannot offer a
@@ -67,9 +67,8 @@ typedef enum
67
67
  SDL_BLENDOPERATION_ADD = 0x1, /**< dst + src: supported by all renderers */
68
68
  SDL_BLENDOPERATION_SUBTRACT = 0x2, /**< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES */
69
69
  SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, /**< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES */
70
- SDL_BLENDOPERATION_MINIMUM = 0x4, /**< min(dst, src) : supported by D3D11 */
71
- SDL_BLENDOPERATION_MAXIMUM = 0x5 /**< max(dst, src) : supported by D3D11 */
72
-
70
+ SDL_BLENDOPERATION_MINIMUM = 0x4, /**< min(dst, src) : supported by D3D9, D3D11 */
71
+ SDL_BLENDOPERATION_MAXIMUM = 0x5 /**< max(dst, src) : supported by D3D9, D3D11 */
73
72
  } SDL_BlendOperation;
74
73
 
75
74
  /**
@@ -87,7 +86,6 @@ typedef enum
87
86
  SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 0x8, /**< 1-dstR, 1-dstG, 1-dstB, 1-dstA */
88
87
  SDL_BLENDFACTOR_DST_ALPHA = 0x9, /**< dstA, dstA, dstA, dstA */
89
88
  SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 0xA /**< 1-dstA, 1-dstA, 1-dstA, 1-dstA */
90
-
91
89
  } SDL_BlendFactor;
92
90
 
93
91
  /**
@@ -135,10 +133,10 @@ typedef enum
135
133
  * SDL 2.0.6. All renderers support the four blend modes listed in the
136
134
  * SDL_BlendMode enumeration.
137
135
  *
138
- * - **direct3d**: Supports `SDL_BLENDOPERATION_ADD` with all factors.
139
- * - **direct3d11**: Supports all operations with all factors. However, some
136
+ * - **direct3d**: Supports all operations with all factors. However, some
140
137
  * factors produce unexpected results with `SDL_BLENDOPERATION_MINIMUM` and
141
138
  * `SDL_BLENDOPERATION_MAXIMUM`.
139
+ * - **direct3d11**: Same as Direct3D 9.
142
140
  * - **opengl**: Supports the `SDL_BLENDOPERATION_ADD` operation with all
143
141
  * factors. OpenGL versions 1.1, 1.2, and 1.3 do not work correctly with SDL
144
142
  * 2.0.6.
@@ -82,6 +82,53 @@ extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void);
82
82
  */
83
83
  extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void);
84
84
 
85
+ /**
86
+ * Put UTF-8 text into the primary selection.
87
+ *
88
+ * \param text the text to store in the primary selection
89
+ * \returns 0 on success or a negative error code on failure; call
90
+ * SDL_GetError() for more information.
91
+ *
92
+ * \since This function is available since SDL 2.26.0.
93
+ *
94
+ * \sa SDL_GetPrimarySelectionText
95
+ * \sa SDL_HasPrimarySelectionText
96
+ */
97
+ extern DECLSPEC int SDLCALL SDL_SetPrimarySelectionText(const char *text);
98
+
99
+ /**
100
+ * Get UTF-8 text from the primary selection, which must be freed with
101
+ * SDL_free().
102
+ *
103
+ * This functions returns empty string if there was not enough memory left for
104
+ * a copy of the primary selection's content.
105
+ *
106
+ * \returns the primary selection text on success or an empty string on
107
+ * failure; call SDL_GetError() for more information. Caller must
108
+ * call SDL_free() on the returned pointer when done with it (even if
109
+ * there was an error).
110
+ *
111
+ * \since This function is available since SDL 2.26.0.
112
+ *
113
+ * \sa SDL_HasPrimarySelectionText
114
+ * \sa SDL_SetPrimarySelectionText
115
+ */
116
+ extern DECLSPEC char * SDLCALL SDL_GetPrimarySelectionText(void);
117
+
118
+ /**
119
+ * Query whether the primary selection exists and contains a non-empty text
120
+ * string.
121
+ *
122
+ * \returns SDL_TRUE if the primary selection has text, or SDL_FALSE if it
123
+ * does not.
124
+ *
125
+ * \since This function is available since SDL 2.26.0.
126
+ *
127
+ * \sa SDL_GetPrimarySelectionText
128
+ * \sa SDL_SetPrimarySelectionText
129
+ */
130
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasPrimarySelectionText(void);
131
+
85
132
 
86
133
  /* Ends C function definitions when using C++ */
87
134
  #ifdef __cplusplus
@@ -33,18 +33,22 @@
33
33
  #include "SDL_config_windows.h"
34
34
  #elif defined(__WINRT__)
35
35
  #include "SDL_config_winrt.h"
36
+ #elif defined(__WINGDK__)
37
+ #include "SDL_config_wingdk.h"
38
+ #elif defined(__XBOXONE__) || defined(__XBOXSERIES__)
39
+ #include "SDL_config_xbox.h"
36
40
  #elif defined(__MACOSX__)
37
41
  #include "SDL_config_macosx.h"
38
42
  #elif defined(__IPHONEOS__)
39
43
  #include "SDL_config_iphoneos.h"
40
44
  #elif defined(__ANDROID__)
41
45
  #include "SDL_config_android.h"
42
- #elif defined(__PSP__)
43
- #include "SDL_config_psp.h"
44
46
  #elif defined(__OS2__)
45
47
  #include "SDL_config_os2.h"
46
48
  #elif defined(__EMSCRIPTEN__)
47
49
  #include "SDL_config_emscripten.h"
50
+ #elif defined(__NGAGE__)
51
+ #include "SDL_config_ngage.h"
48
52
  #else
49
53
  /* This is a minimal configuration just to get SDL running on new platforms. */
50
54
  #include "SDL_config_minimal.h"
@@ -60,6 +60,7 @@
60
60
  #define HAVE_SETENV 1
61
61
  #define HAVE_UNSETENV 1
62
62
  #define HAVE_QSORT 1
63
+ #define HAVE_BSEARCH 1
63
64
  #define HAVE_ABS 1
64
65
  #define HAVE_BCOPY 1
65
66
  #define HAVE_MEMSET 1
@@ -84,6 +85,7 @@
84
85
  #define HAVE_STRNCMP 1
85
86
  #define HAVE_STRCASECMP 1
86
87
  #define HAVE_STRNCASECMP 1
88
+ #define HAVE_STRCASESTR 1
87
89
  #define HAVE_VSSCANF 1
88
90
  #define HAVE_VSNPRINTF 1
89
91
  #define HAVE_ACOS 1
@@ -69,6 +69,7 @@
69
69
  #define HAVE_PUTENV 1
70
70
  #define HAVE_UNSETENV 1
71
71
  #define HAVE_QSORT 1
72
+ #define HAVE_BSEARCH 1
72
73
  #define HAVE_ABS 1
73
74
  #define HAVE_BCOPY 1
74
75
  #define HAVE_MEMSET 1
@@ -185,6 +186,7 @@
185
186
  /* Enable various threading systems */
186
187
  #ifdef __EMSCRIPTEN_PTHREADS__
187
188
  #define SDL_THREAD_PTHREAD 1
189
+ #define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
188
190
  #endif
189
191
 
190
192
  /* Enable various timer systems */
@@ -60,6 +60,7 @@
60
60
  #define HAVE_SETENV 1
61
61
  #define HAVE_UNSETENV 1
62
62
  #define HAVE_QSORT 1
63
+ #define HAVE_BSEARCH 1
63
64
  #define HAVE_ABS 1
64
65
  #define HAVE_BCOPY 1
65
66
  #define HAVE_MEMSET 1
@@ -84,6 +85,7 @@
84
85
  #define HAVE_STRNCMP 1
85
86
  #define HAVE_STRCASECMP 1
86
87
  #define HAVE_STRNCASECMP 1
88
+ #define HAVE_STRCASESTR 1
87
89
  #define HAVE_VSSCANF 1
88
90
  #define HAVE_VSNPRINTF 1
89
91
  #define HAVE_M_PI 1
@@ -117,7 +119,7 @@
117
119
  #define HAVE_LROUNDF 1
118
120
  #define HAVE_POW 1
119
121
  #define HAVE_POWF 1
120
- #define HAVE_ROUND 1
122
+ #define HAVE_ROUND 1
121
123
  #define HAVE_ROUNDF 1
122
124
  #define HAVE_SCALBN 1
123
125
  #define HAVE_SCALBNF 1
@@ -63,6 +63,7 @@
63
63
  #define HAVE_PUTENV 1
64
64
  #define HAVE_UNSETENV 1
65
65
  #define HAVE_QSORT 1
66
+ #define HAVE_BSEARCH 1
66
67
  #define HAVE_ABS 1
67
68
  #define HAVE_BCOPY 1
68
69
  #define HAVE_MEMSET 1
@@ -87,6 +88,7 @@
87
88
  #define HAVE_STRNCMP 1
88
89
  #define HAVE_STRCASECMP 1
89
90
  #define HAVE_STRNCASECMP 1
91
+ #define HAVE_STRCASESTR 1
90
92
  #define HAVE_VSSCANF 1
91
93
  #define HAVE_VSNPRINTF 1
92
94
  #define HAVE_M_PI 1
@@ -120,7 +122,7 @@
120
122
  #define HAVE_LROUNDF 1
121
123
  #define HAVE_POW 1
122
124
  #define HAVE_POWF 1
123
- #define HAVE_ROUND 1
125
+ #define HAVE_ROUND 1
124
126
  #define HAVE_ROUNDF 1
125
127
  #define HAVE_SCALBN 1
126
128
  #define HAVE_SCALBNF 1
@@ -185,17 +187,13 @@
185
187
  #undef SDL_VIDEO_DRIVER_X11
186
188
  #define SDL_VIDEO_DRIVER_X11_DYNAMIC "/opt/X11/lib/libX11.6.dylib"
187
189
  #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "/opt/X11/lib/libXext.6.dylib"
188
- #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA "/opt/X11/lib/libXinerama.1.dylib"
189
190
  #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "/opt/X11/lib/libXi.6.dylib"
190
191
  #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "/opt/X11/lib/libXrandr.2.dylib"
191
192
  #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "/opt/X11/lib/libXss.1.dylib"
192
- #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE "/opt/X11/lib/libXxf86vm.1.dylib"
193
193
  #define SDL_VIDEO_DRIVER_X11_XDBE 1
194
- #define SDL_VIDEO_DRIVER_X11_XINERAMA 1
195
194
  #define SDL_VIDEO_DRIVER_X11_XRANDR 1
196
195
  #define SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1
197
196
  #define SDL_VIDEO_DRIVER_X11_XSHAPE 1
198
- #define SDL_VIDEO_DRIVER_X11_XVIDMODE 1
199
197
  #define SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 1
200
198
 
201
199
  #ifdef MAC_OS_X_VERSION_10_8
@@ -272,7 +270,6 @@
272
270
  #define SDL_FILESYSTEM_COCOA 1
273
271
 
274
272
  /* Enable assembly routines */
275
- #define SDL_ASSEMBLY_ROUTINES 1
276
273
  #ifdef __ppc__
277
274
  #define SDL_ALTIVEC_BLITTERS 1
278
275
  #endif