You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1708 lines
100 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
4 years ago
4 years ago
5 years ago
4 years ago
5 years ago
5 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
4 years ago
4 years ago
7 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
11 years ago
8 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
11 years ago
9 years ago
9 years ago
9 years ago
9 years ago
7 years ago
9 years ago
7 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
  1. changelog
  2. ---------
  3. Current Release: raylib 4.2.0 (11 August 2022)
  4. -------------------------------------------------------------------------
  5. Release: raylib 4.2 (11 August 2022)
  6. -------------------------------------------------------------------------
  7. KEY CHANGES:
  8. - REMOVED: extras libraries (raygui, physac, rrem, reasings, raudio.h) moved to independent separate repos
  9. - UPDATED: examples: Added creation and update raylib versions and assigned **DIFFICULTY LEVELS**!
  10. - rres 1.0: A custom resource-processing and packaging file format, including tooling and raylib integration examples
  11. - raygui 3.2: New version of the immediate-mode gui system for tools development with raylib
  12. - raylib_parser: Multiple improvements of the raylib parser to automatize bindings generation
  13. - ADDED: New file system API: Reviewed to be more aligned with raylib conventions and one advance function added
  14. - ADDED: New audio stream processors API (_experimental_): Allowing to add custom audio stream data processors using callbacks
  15. Detailed changes:
  16. [multi] ADDED: Frequently Asked Questions (FAQ.md)
  17. [multi] REVIEWED: Multiple trace log messages
  18. [multi] REVIEWED: Avoid some float to double promotions
  19. [multi] REVIEWED: Some functions input parametes that should be const
  20. [multi] REVIEWED: Variables initialization, all variables are initialized on declaration
  21. [multi] REVIEWED: Static array buffers are always re-initialized with memset()
  22. [multi] `WARNING`: RENAMED: Some function input parameters from "length" to "size"
  23. [core] ADDED: GetApplicatonDirectory() (#2256, #2285, #2290) by @JeffM2501
  24. [core] ADDED: raylibVersion symbol, it could be required by some bindings (#2190)
  25. [core] ADDED: SetWindowOpacity() (#2254) by @tusharsingh09
  26. [core] ADDED: GetRenderWidth() and GetRenderHeight() by @ArnaudValensi
  27. [core] ADDED: EnableEventWaiting() and DisableEventWaiting()
  28. [core] ADDED: GetFileLength()
  29. [core] ADDED: Modules info at initialization
  30. [core] ADDED: Support clipboard copy/paste on web
  31. [core] ADDED: Support OpenURL() on Android platform (#2396) by @futureapricot
  32. [core] ADDED: Support MOUSE_PASSTHROUGH (#2516)
  33. [core] ADDED: GetMouseWheelMoveV() (#2517) by @schveiguy
  34. [core] `WARNING`: REMOVED: LoadStorageValue() / SaveStorageValue(), moved to example
  35. [core] `WARNING`: RENAMED: GetDirectoryFiles() to LoadDirectoryFiles()
  36. [core] `WARNING`: RENAMED: `ClearDroppedFiles()` to `UnloadDroppedFiles()`
  37. [core] `WARNING`: RENAMED: GetDroppedFiles() to LoadDroppedFiles()
  38. [core] `WARNING`: RENAMED: `ClearDirectoryFiles()` to `UnloadDirectoryFiles()`
  39. [core] `WARNING`: REDESIGNED: WaitTime() argument from milliseconds to seconds (#2506) by @flashback-fx
  40. [core] REVIEWED: GetMonitorWidth()/GetMonitorHeight() by @gulrak
  41. [core] REVIEWED: GetDirectoryFiles(), maximum files allocation (#2126) by @ampers0x26
  42. [core] REVIEWED: Expose MAX_KEYBOARD_KEYS and MAX_MOUSE_BUTTONS (#2127)
  43. [core] REVIEWED: ExportMesh() (#2138)
  44. [core] REVIEWED: Fullscreen switch on PLATFORM_WEB
  45. [core] REVIEWED: GetMouseWheelMove(), fixed bug
  46. [core] REVIEWED: GetApplicationDirectory() on macOS (#2304)
  47. [core] REVIEWED: ToggleFullscreen()
  48. [core] REVIEWED: Initialize/reset CORE.inputs global state (#2360)
  49. [core] REVIEWED: MouseScrollCallback() (#2371)
  50. [core] REVIEWED: SwapScreenBuffers() for PLATFORM_DRM
  51. [core] REVIEWED: WaitTime(), fix regression causing video stuttering (#2503) by @flashback-fx
  52. [core] REVIEWED: Mouse device support on PLATFORM_DRM (#2381)
  53. [core] REVIEWED: Support OpenBSD timming functions
  54. [core] REVIEWED: Improved boolean definitions (#2485) by @noodlecollie
  55. [core] REVIEWED: TakeScreenshot(), use GetWindowScaleDPI() to calculate size in screenshot/recording (#2446) by @gulrak
  56. [core] REVIEWED: Remove fps requirement for drm connector selection (#2468) by @Crydsch
  57. [core] REVIEWED: IsFileExtension() (#2530)
  58. [camera] REVIEWED: Some camera improvements (#2563)
  59. [rlgl] ADDED: Premultiplied alpha blend mode (#2342) by @megagrump
  60. [rlgl] REVIEWED: VR rendering not taking render target size into account (#2424) by @FireFlyForLife
  61. [rlgl] REVIEWED: Set rlgl internal framebuffer (#2420)
  62. [rlgl] REVIEWED: rlGetCompressedFormatName()
  63. [rlgl] REVIEWED: Display OpenGL 4.3 capabilities with a compile flag (#2124) by @GithubPrankster
  64. [rlgl] REVIEWED: rlUpdateTexture()
  65. [rlgl] REVIEWED: Minimize buffer overflow probability
  66. [rlgl] REVIEWED: Fix scissor mode on macOS (#2170) by @ArnaudValensi
  67. [rlgl] REVIEWED: Clear SSBO buffers on loading (#2185)
  68. [rlgl] REVIEWED: rlLoadShaderCode(), improved shader loading code
  69. [rlgl] REVIEWED: Comment notes about custom blend modes (#2260) by @glorantq
  70. [rlgl] REVIEWED: rlGenTextureMipmaps()
  71. [rlgl] REVIEWED: rlTextureParameters()
  72. [raymath] ADDED: Wrap() (#2522) by @Tekkitslime
  73. [raymath] ADDED: Vector2Transform()
  74. [raymath] ADDED: Vector2DistanceSqr() (#2376) by @AnilBK
  75. [raymath] ADDED: Vector3DistanceSqr() (#2376) by @AnilBK
  76. [raymath] ADDED: Vector2ClampValue(), Vector3ClampValue() (#2428) by @saccharineboi
  77. [raymath] ADDED: Vector3RotateByAxisAngle() (#2590) by @Crydsch
  78. [raymath] `WARNING`: REDESIGNED: Vector2Angle() returns radians instead of degrees (#2193) by @schveiguy
  79. [raymath] `WARNING`: REMOVED: MatrixNormalize() (#2412)
  80. [raymath] REVIEWED: Fix inverse length in Vector2Normalize() (#2189) by @HarriP
  81. [raymath] REVIEWED: Vector2Angle() not working as expected (#2196) by @jdeokkim
  82. [raymath] REVIEWED: Vector2Angle() and Vector3Angle() (#2203) by @trikko
  83. [raymath] REVIEWED: QuaternionInvert(), code simplified (#2324) by @megagrump
  84. [raymath] REVIEWED: QuaternionScale() (#2419) by @tana
  85. [raymath] REVIEWED: Vector2Rotate(), optimized (#2340) by @jdeokkim
  86. [raymath] REVIEWED: QuaternionFromMatrix(), QuaternionEquals() (#2591) by @kirigirihitomi
  87. [raymath] REVIEWED: MatrixRotate*() (#2595, #2599) by @GoodNike
  88. [shapes] REVIEWED: CheckCollision*() consistency
  89. [shapes] REVIEWED: DrawRectanglePro(), support TRIANGLES drawing
  90. [textures] ADDED: Support for QOI image format
  91. [textures] REVIEWED: ImageColorTint(), GetImageColor(), ImageDrawRectangleRec(), optimized functions (#2429) by @AnilBK
  92. [textures] REVIEWED: LoadTextureFromImage(), allow texture loading with no data transfer
  93. [textures] REVIEWED: ImageDraw(), comment to note that f32bit is not supported (#2222)
  94. [textures] REVIEWED: DrawTextureNPatch(), avoid batch overflow (#2401) by @JeffM2501
  95. [textures] REVIEWED: DrawTextureTiled() (#2173)
  96. [textures] REVIEWED: GenImageCellular() (#2178)
  97. [textures] REVIEWED: LoadTextureCubemap() (#2223, #2224)
  98. [textures] REVIEWED: Export format for float 32bit
  99. [textures] REVIEWED: ExportImage(), support export ".jpeg" files
  100. [textures] REVIEWED: ColorAlphaBlend() (#2524) by @royqh1979
  101. [textures] REVIEWED: ImageResize() (#2572)
  102. [textures] REVIEWED: ImageFromImage() (#2594) by @wiertek
  103. [text] ADDED: ExportFontAsCode()
  104. [text] ADDED: DrawTextCodepoints() (#2308) by @siddharthroy12
  105. [text] REVIEWED: TextIsEqual(), protect from NULLs (#2121) by @lukekras
  106. [text] REVIEWED: LoadFontEx(), comment to specify how to get the default character set (#2221) by @JeffM2501
  107. [text] REVIEWED: GenImageFontAtlas(), increase atlas size guesstimate by @megagrump
  108. [text] REVIEWED: GetCodepoint() (#2201)
  109. [text] REVIEWED: GenImageFontAtlas() (#2556)
  110. [text] REVIEWED: ExportFontAsCode() to use given font padding (#2525) by @TheTophatDemon
  111. [models] ADDED: Reference code to load bones id and weight data for animations
  112. [models] `WARNING`: REMOVED: GetRayCollisionModel() (#2405)
  113. [models] REMOVED: GenMeshBinormals()
  114. [models] REVIEWED: External library: vox_loader.h, 64bit issue (#2186)
  115. [models] REVIEWED: Material color loading when no texture material is available (#2298) by @royqh1979
  116. [models] REVIEWED: Fix Undefined Symbol _ftelli64 in cgltf (#2319) by @audinue
  117. [models] REVIEWED: LoadGLTF(), fix memory leak (#2441, #2442) by @leomonta
  118. [models] REVIEWED: DrawTriangle3D() batch limits check (#2489)
  119. [models] REVIEWED: DrawBillboardPro() (#2494)
  120. [models] REVIEWED: DrawMesh*() issue (#2211)
  121. [models] REVIEWED: ExportMesh() (#2220)
  122. [models] REVIEWED: GenMeshCylinder() (#2225)
  123. [audio] `WARNING`: ADDED: rAudioProcessor pointer to AudioStream struct (used by Sound and Music structs)
  124. [audio] ADDED: SetSoundPan(), SetMusicPan(), SetAudioStreamPan(), panning support (#2205) by ptarabbia
  125. [audio] ADDED: Audio stream input callback (#2212) by ptarabbia
  126. [audio] ADDED: Audio stream processors support (#2212) by ptarabbia
  127. [audio] REVIEWED: GetMusicTimePlayed(), incorrect value after the stream restarted for XM audio (#2092 #2215) by @ptarabbia
  128. [audio] REVIEWED: Turn on interpolation for XM playback (#2216) by @ptarabbia
  129. [audio] REVIEWED: Fix crash with delay example (#2472) by @ptarabbia
  130. [audio] REVIEWED: PlaySoundMulti() (#2231)
  131. [audio] REVIEWED: ExportWaveAsCode()
  132. [audio] REVIEWED: UpdateMusicStream(), reduce dynamic allocations (#2532) by @dbechrd
  133. [audio] REVIEWED: UpdateMusicStream() to support proper stream looping (#2579) by @veins1
  134. [utils] ADDED: ExportDataAsCode()
  135. [utils] REVIEWED: Force flush stdout after trace messages (#2465) by @nagy
  136. [easings] ADDED: Function descriptions (#2471) by @RobLoach
  137. [camera] REVIEWED: Fix free camera panning in the wrong direction (#2347) by @DavidLyhedDanielsson
  138. [examples] ADDED: core_window_should_close
  139. [examples] ADDED: core_2d_camera_mouse_zoom (#2583) by @JeffM2501
  140. [examples] ADDED: shapes_top_down_lights (#2199) by @JeffM2501
  141. [examples] ADDED: textures_fog_of_war
  142. [examples] ADDED: textures_gif_player
  143. [examples] ADDED: text_codepoints_loading
  144. [examples] ADDED: audio_stream_effects
  145. [examples] REMOVED: core_quat_conversion, not working properly
  146. [examples] REMOVED: raudio_standalone, moved to raudio repo
  147. [examples] RENAMED: textures_rectangle -> textures_sprite_anim
  148. [examples] REVIEWED: core_input_gamepad, improve joystick visualisation (#2390) by @kristianlm
  149. [examples] REVIEWED: textures_draw_tiled
  150. [examples] REVIEWED: shaders_mesh_instancing, free allocated matrices (#2425) by @AnilBK
  151. [examples] REVIEWED: shaders_raymarching
  152. [examples] REVIEWED: audio_raw_stream (#2205) by ptarabbia
  153. [examples] REVIEWED: audio_music_stream
  154. [examples] REVIEWED: shaders_mesh_instancing, simplified
  155. [examples] REVIEWED: shaders_basic_lighting, rlights.h simplified
  156. [examples] REVIEWED: All examples descriptions, included creation/update raylib versions
  157. [parser] ADDED: Defines to parser (#2269) by @iskolbin
  158. [parser] ADDED: Aliases to parser (#2444) by @lazaray
  159. [parser] ADDED: Parse struct descriptions (#2214) by @eutro
  160. [parser] ADDED: Parse enum descriptions and value descriptions (#2208) by @eutro
  161. [parser] ADDED: Lua output format for parser by @iskolbin
  162. [parser] ADDED: Makefile for raylib_parser by @iskolbin
  163. [parser] ADDED: Support for truncating parser input (#2464) by @lazaray
  164. [parser] ADDED: Support for calculated defines to parser (#2463) by @lazaray
  165. [parser] REVIEWED: Update parser files (#2125) by @catmanl
  166. [parser] REVIEWED: Fix memory leak in parser (#2136) by @ronnieholm
  167. [parser] REVIEWED: EscapeBackslashes()
  168. [parser] REVIEWED: Parser improvements (#2461 #2462) by @lazaray
  169. [bindings] ADDED: License details for BINDINGS
  170. [bindings] ADDED: dart-raylib (#2149) by @wolfenrain
  171. [bindings] ADDED: raylib-cslo (#2169) by @jasonswearingen
  172. [bindings] ADDED: raylib-d (#2194) by @schveiguy
  173. [bindings] ADDED: raylib-guile (#2202) by @petelliott
  174. [bindings] ADDED: raylib-scopes (#2238) by @salotz
  175. [bindings] ADDED: naylib (Nim) (#2386) by @planetis-m
  176. [bindings] ADDED: raylib.jl (Julia) (#2403) by @irishgreencitrus
  177. [bindings] ADDED: raylib.zig (#2449) by @ryupold
  178. [bindings] ADDED: racket-raylib (#2454) by @eutro
  179. [bindings] ADDED: raylibr (#2611) by @ramiromagno
  180. [bindings] ADDED: Raylib.4.0.Pascal (#2617) by @sysrpl
  181. [bindings] REVIEWED: Multiple bindings updated to raylib 4.0
  182. [build] ADDED: VS2022 project
  183. [build] ADDED: Support macOS by zig build system (#2175)
  184. [build] ADDED: Support custom modules selection on compilation
  185. [build] ADDED: Minimal web shell for WebAssembly compilation
  186. [build] ADDED: BSD support for zig builds (#2332) by @zigster64
  187. [build] ADDED: Repology badge (#2367) by @jubalh
  188. [build] ADDED: Support DLL compilation with TCC compiler (#2569) by @audinue
  189. [build] ADDED: Missing examples to VS2022 examples solution
  190. [build] REMOVED: VS2019 project (unmaintained)
  191. [build] REMOVED: SUPPORT_MOUSE_CURSOR_POINT config option
  192. [build] REVIEWED: Fixed RPi make install (#2217) by @wereii
  193. [build] REVIEWED: Fix build results path on Linux and RPi (#2218) by @wereii
  194. [build] REVIEWED: Makefiles debug flag
  195. [build] REVIEWED: Fixed cross-compilation from x86-64 to RPi (#2233) by @pitpit
  196. [build] REVIEWED: All Makefiles, simplified
  197. [build] REVIEWED: All Makefiles, improve organization
  198. [build] REVIEWED: All Makefiles, support CUSTOM_CFLAGS
  199. [build] REVIEWED: Fixed compiling for Android using CMake (#2270) by @hero2002
  200. [build] REVIEWED: Make zig build functionality available to zig programs (#2271) by @Not-Nik
  201. [build] REVIEWED: Update CMake project template with docs and web (#2274) by @RobLoach
  202. [build] REVIEWED: Update VSCode project to work with latest makefile and web (#2296) by @phil-shenk
  203. [build] REVIEWED: Support audio examples compilation with external glfw (#2329) by @locriacyber
  204. [build] REVIEWED: Fix "make clean" target failing when shell is not cmd (#2338) by @Peter0x44
  205. [build] REVIEWED: Makefile linkage -latomic, required by miniaudio on ARM 32bit #2452
  206. [build] REVIEWED: Update raylib-config.cmake (#2374) by @marcogmaia
  207. [build] REVIEWED: Simplify build.zig to not require user to specify raylib path (#2383) by @Hejsil
  208. [build] REVIEWED: Fix OpenGL 4.3 graphics option in CMake (#2427) by @GoldenThumbs
  209. [extras] `WARNING`: REMOVED: physac from raylib sources/examples, use github.com/raysan5/physac
  210. [extras] `WARNING`: REMOVED: raygui from raylib/src/extras, use github.com/raysan5/raygui
  211. [extras] `WARNING`: REMOVED: rmem from raylib/src/extras, moved to github.com/raylib-extras/rmem
  212. [extras] `WARNING`: REMOVED: easings from raylib/src/extras, moved to github.com/raylib-extras/reasings
  213. [extras] `WARNING`: REMOVED: raudio.h from raylib/src, moved to github.com/raysan5/raudio
  214. [misc] REVIEWED: Update some external libraries to latest versions
  215. -------------------------------------------------------------------------
  216. Release: raylib 4.0 - 8th Anniversary Edition (05 November 2021)
  217. -------------------------------------------------------------------------
  218. KEY CHANGES:
  219. - Naming consistency and coherency: Complete review of the library: syntax, naming, comments, decriptions, logs...
  220. - Event Automation System: Support for input events recording and automatic re-playing, useful for automated testing and more!
  221. - Custom game-loop control: Intended for advance users that want to control the events polling and the timming mechanisms
  222. - rlgl 4.0: Completely decoupling from platform layer and raylib, intended for standalone usage as single-file header-only
  223. - raymath 1.5: Complete review following new conventions, to make it more portable and self-contained
  224. - raygui 3.0: Complete review and official new release, more portable and self-contained, intended for tools development
  225. - raylib_parser: New tool to parse raylib.h and extract all required info into custom output formats (TXT, XML, JSON...)
  226. - Zig and Odin official support
  227. Detailed changes:
  228. [core] ADDED: Support canvas resizing on web (#1840) by @skylersaleh
  229. [core] ADDED: GetMouseDelta() (#1832) by @adricoin2010
  230. [core] ADDED: Support additional mouse buttons (#1753) by @lambertwang
  231. [core] ADDED: SetRandomSeed() (#1994) by @TommiSinivuo
  232. [core] ADDED: GetTouchPointId() #1972
  233. [core] ADDED: EncodeDataBase64() and DecodeDataBase64()
  234. [core] REMOVED: PLATFORM_UWP, difficult to maintain
  235. [core] REMOVED: IsGamepadName()
  236. [core] RENAMED: SwapBuffers() to SwapScreenBuffer()
  237. [core] RENAMED: Wait() to WaitTime()
  238. [core] RENAMED: RayHitInfo to RayCollision (#1781)
  239. [core] RENAMED: GetRayCollisionGround() to GetRayCollisionQuad() (#1781)
  240. [core] REVIEWED: Support mouse wheel on x-axis (#1948)
  241. [core] REVIEWED: DisableCursor() on web by registering an empty mouse click event function in emscripten (#1900) by @grenappels
  242. [core] REVIEWED: LoadShader() and default locations and descriptions
  243. [core] REVIEWED: LoadShaderFromMemory() (#1851) by @Ruminant
  244. [core] REVIEWED: WaitTime(), avoid global variables dependency to make the function is self-contained (#1841)
  245. [core] REVIEWED: SetWindowSize() to work on web (#1847) by @nikki93
  246. [core] REVIEWED: Raspberry RPI/DRM keyboard blocking render loop (#1879) @luizpestana
  247. [core] REVIEWED: Android multi-touch (#1869) by @humbe
  248. [core] REVIEWED: Implemented GetGamepadName() for emscripten by @nbarkhina
  249. [core] REVIEWED: HighDPI support (#1987) by @ArnaudValensi
  250. [core] REVIEWED: KeyCallback(), register keys independently of the actions
  251. [rlgl] ADDED: GRAPHIC_API_OPENGL_43
  252. [rlgl] ADDED: rlUpdateVertexBufferElements() (#1915)
  253. [rlgl] ADDED: rlActiveDrawBuffers() (#1911)
  254. [rlgl] ADDED: rlEnableColorBlend()/rlDisableColorBlend()
  255. [rlgl] ADDED: rlGetPixelFormatName()
  256. [rlgl] REVIEWED: rlUpdateVertexBuffer (#1914) by @630Studios
  257. [rlgl] REVIEWED: rlDrawVertexArrayElements() (#1891)
  258. [rlgl] REVIEWED: Wrong normal matrix calculation (#1870)
  259. [raymath] ADDED: Vector3Angle()
  260. [raymath] REVIEWED: QuaternionFromAxisAngle() (#1892)
  261. [raymath] REVIEWED: QuaternionToMatrix() returning transposed result. (#1793) by @object71
  262. [shapes] ADDED: RenderPolyLinesEx() (#1758) by @lambertwang
  263. [shapes] ADDED: DrawLineBezierCubic() (#2021) by @SAOMDVN
  264. [textures] ADDED: GetImageColor() #2024
  265. [textures] REMOVED: GenImagePerlinNoise()
  266. [textures] RENAMED: GetTextureData() to LoadImageFromTexture()
  267. [textures] RENAMED: GetScreenData() to LoadImageFromScreen()
  268. [textures] REVIEWED: ExportImage() to use SaveFileData() (#1779)
  269. [textures] REVIEWED: LoadImageAnim() #2005
  270. [text] ADDED: Security check in case of not valid font
  271. [text] ADDED: `GetGlyphInfo()` to get glyph info for a specific codepoint
  272. [text] ADDED: `GetGlyphAtlasRec()` to get glyph rectangle within the generated font atlas
  273. [text] ADDED: DrawTextPro() with text rotation support, WARNING: DrawTextPro() requires including `rlgl.h`, before it was only dependant on `textures` module.
  274. [text] ADDED: UnloadCodepoints() to safely free loaded codepoints
  275. [text] REMOVED: DrawTextRec() and DrawTextRecEx(), moved to example, those functions could be very specific depending on user needs so it's better to give the user the full source in case of special requirements instead of allowing a function with +10 input parameters.
  276. [text] RENAMED: struct `CharInfo` to `GlyphInfo`, actually that's the correct naming for the data contained. It contains the character glyph metrics and the glyph image; in the past it also contained rectangle within the font atlas but that data has been moved to `Font` struct directly, so, `GlyphInfo` is a more correct name.
  277. [text] RENAMED: `CodepointToUtf8()` to `CodepointToUTF8()`, capitalization of UTF-8 is the correct form, it would also require de hyphen but it can be omitted in this case.
  278. [text] RENAMED: `TextToUtf8()` to `TextCodepointsToUTF8` for consistency and more detail on the functionality.
  279. [text] RENAMED: GetCodepoints() to LoadCodepoints(), now codepoint array data is loaded dynamically instead of reusing a limited static buffer.
  280. [text] RENAMED: GetNextCodepoint() to GetCodepoint()
  281. [models] ADDED: MagikaVoxel VOX models loading
  282. [models] ADDED: GenMeshCone() (#1903)
  283. [models] ADDED: GetModelBoundingBox()
  284. [models] ADDED: DrawBillboardPro() (#1759) by @nobytesgiven
  285. [models] ADDED: DrawCubeTextureRec() (#2001) by @tdgroot
  286. [models] ADDED: DrawCylinderEx() and DrawCylinderWiresEx() (#2049) by @Horrowind
  287. [models] REMOVED: DrawBillboardEx()
  288. [models] RENAMED: MeshBoundingBox() to GetMeshBoundingBox()
  289. [models] RENAMED: MeshTangents() to GenMeshTangents()
  290. [models] RENAMED: MeshBinormals() to GenMeshBinormals()
  291. [models] REVIEWED: GenMeshTangents() (#1877) by @630Studios
  292. [models] REVIEWED: CheckCollisionBoxSphere() by @Crydsch
  293. [models] REVIEWED: GetRayCollisionQuad() by @Crydsch
  294. [models] REVIEWED: LoadGLTF(), fixed missing transformations and nonroot skinning by @MrDiver
  295. [models] REVIEWED: LoadGLTF(), rewriten from scratch, removed animations support (broken)
  296. [models] REVIEWED: Decouple DrawMesh() and DrawMeshInstanced() (#1958)
  297. [models] REVIEWED: Support vertex color attribute for GLTF and IQM (#1790) by @object71
  298. [models] REVIEWED: DrawBillboardPro() (#1941) by @GithubPrankster
  299. [models] REDESIGNED: Major review of glTF loading functionality (#1849) by @object71
  300. [audio] ADDED: SeekMusicStream() (#2006) by @GithubPrankster
  301. [audio] REMOVED: GetAudioStreamBufferSizeDefault()
  302. [audio] RENAMED: InitAudioStream() to LoadAudioStream()
  303. [audio] RENAMED: CloseAudioStream() to UnloadAudioStream()
  304. [audio] RENAMED: IsMusicPlaying() to IsMusicStreamPlaying()
  305. [audio] REVIEWED: ExportWaveAsCode()
  306. [audio] REDESIGNED: Use frameCount on audio instead of sampleCount
  307. [utils] REVIEWED: exit() on LOG_FATAL instead of LOG_ERROR (#1796)
  308. [examples] ADDED: core_custom_frame_control
  309. [examples] ADDED: core_basic_screen_manager
  310. [examples] ADDED: core_split_screen (#1806) by @JeffM2501
  311. [examples] ADDED: core_smooth_pixelperfect (#1771) by @NotManyIdeasDev
  312. [examples] ADDED: shaders_texture_outline (#1883) by @GoldenThumbs
  313. [examples] ADDED: models_loading_vox (#1940) by @procfxgen
  314. [examples] ADDED: rlgl_compute_shader by @TSnake41 (#2088)
  315. [examples] REMOVED: models_material_pbr
  316. [examples] REMOVED: models_gltf_animation
  317. [examples] REVIEWED: core_3d_picking
  318. [examples] REVIEWED: core_input_mouse
  319. [examples] REVIEWED: core_vr_simulator, RenderTexture usage
  320. [examples] REVIEWED: core_window_letterbox, RenderTexture usage
  321. [examples] REVIEWED: shapes_basic_shapes
  322. [examples] REVIEWED: shapes_logo_raylib_anim
  323. [examples] REVIEWED: textures_to_image
  324. [examples] REVIEWED: text_rectangle_bounds
  325. [examples] REVIEWED: text_unicode
  326. [examples] REVIEWED: text_draw_3d
  327. [examples] REVIEWED: models_loading
  328. [examples] REVIEWED: models_skybox (#1792) (#1778)
  329. [examples] REVIEWED: models_mesh_picking
  330. [examples] REVIEWED: models_yaw_pitch_roll
  331. [examples] REVIEWED: models_rlgl_solar_system
  332. [examples] REVIEWED: shaders_custom_uniform, RenderTexture usage
  333. [examples] REVIEWED: shaders_eratosthenes, RenderTexture usage
  334. [examples] REVIEWED: shaders_julia_set, RenderTexture usage
  335. [examples] REVIEWED: shaders_postprocessing, RenderTexture usage
  336. [examples] REVIEWED: shaders_basic_lighting, simplified (#1865)
  337. [examples] REVIEWED: audio_raw_stream.c
  338. [examples] REVIEWED: raudio_standalone
  339. [examples] REVIEWED: raylib_opengl_interop
  340. [examples] REVIEWED: rlgl_standalone.c
  341. [examples] REVIEWED: Resources licenses
  342. [examples] REVIEWED: models resources reorganization
  343. [templates] REMOVED: Moved to a separate repo: https://github.com/raysan5/raylib-game-template
  344. [build] ADDED: Zig build file (#2014) by @TommiSinivuo
  345. [build] ADDED: Android VS2019 solution (#2013) by @Kronka
  346. [build] REMOVED: VS2017 project, outdated
  347. [build] RENAMED: All raylib modules prefixed with 'r' (core -> rcore)
  348. [build] RENAMED: SUPPORT_MOUSE_CURSOR_NATIVE to SUPPORT_MOUSE_CURSOR_POINT
  349. [build] REVIEWED: examples/examples_template.c
  350. [build] REVIEWED: Makefile to latest Emscripten SDK r23
  351. [build] REVIEWED: Makefile for latest Android NDK r32 LTS
  352. [build] REVIEWED: raylib resource files
  353. [build] Moved some extra raylib libraries to /extras/ directory
  354. [*] UPDATED: Multiple bindings to latest version
  355. [*] UPDATED: Most external libraries to latest versions (except GLFW)
  356. [*] Multiple code improvements and fixes by multiple contributors!
  357. -------------------------------------------------------------------------
  358. Release: raylib 3.7 (26 April 2021)
  359. -------------------------------------------------------------------------
  360. KEY CHANGES:
  361. - [rlgl] REDESIGNED: Greater abstraction level, some functionality moved to core module
  362. - [rlgl] REVIEWED: Instancing and stereo rendering
  363. - [core] REDESIGNED: VR simulator, fbo/shader exposed to user
  364. - [utils] ADDED: File access callbacks system
  365. - [models] ADDED: glTF animations support (#1551) by @object71
  366. - [audio] ADDED: Music streaming support from memory (#1606) by @nezvers
  367. - [*] RENAMED: enum types and enum values for consistency
  368. Detailed changes:
  369. [core] ADDED: LoadVrStereoConfig()
  370. [core] ADDED: UnloadVrStereoConfig()
  371. [core] ADDED: BeginVrStereoMode()
  372. [core] ADDED: EndVrStereoMode()
  373. [core] ADDED: GetCurrentMonitor() (#1485) by @object71
  374. [core] ADDED: SetGamepadMappings() (#1506)
  375. [core] RENAMED: struct Camera: camera.type to camera.projection
  376. [core] RENAMED: LoadShaderCode() to LoadShaderFromMemory() (#1690)
  377. [core] RENAMED: SetMatrixProjection() to rlSetMatrixProjection()
  378. [core] RENAMED: SetMatrixModelview() to rlSetMatrixModelview()
  379. [core] RENAMED: GetMatrixModelview() to rlGetMatrixModelview()
  380. [core] RENAMED: GetMatrixProjection() to rlGetMatrixProjection()
  381. [core] RENAMED: GetShaderDefault() to rlGetShaderDefault()
  382. [core] RENAMED: GetTextureDefault() to rlGetTextureDefault()
  383. [core] REMOVED: GetShapesTexture()
  384. [core] REMOVED: GetShapesTextureRec()
  385. [core] REMOVED: GetMouseCursor()
  386. [core] REMOVED: SetTraceLogExit()
  387. [core] REVIEWED: GetFileName() and GetDirectoryPath() (#1534) by @gilzoide
  388. [core] REVIEWED: Wait() to support FreeBSD (#1618)
  389. [core] REVIEWED: HighDPI support on macOS retina (#1510)
  390. [core] REDESIGNED: GetFileExtension(), includes the .dot
  391. [core] REDESIGNED: IsFileExtension(), includes the .dot
  392. [core] REDESIGNED: Compresion API to use sdefl/sinfl libs
  393. [rlgl] ADDED: SUPPORT_GL_DETAILS_INFO config flag
  394. [rlgl] REMOVED: GenTexture*() functions (#721)
  395. [rlgl] REVIEWED: rlLoadShaderDefault()
  396. [rlgl] REDESIGNED: rlLoadExtensions(), more details exposed
  397. [raymath] REVIEWED: QuaternionFromEuler() (#1651)
  398. [raymath] REVIEWED: MatrixRotateZYX() (#1642)
  399. [shapes] ADDED: DrawLineBezierQuad() (#1468) by @epsilon-phase
  400. [shapes] ADDED: CheckCollisionLines()
  401. [shapes] ADDED: CheckCollisionPointLine() by @mkupiec1
  402. [shapes] REVIEWED: CheckCollisionPointTriangle() by @mkupiec1
  403. [shapes] REDESIGNED: SetShapesTexture()
  404. [shapes] REDESIGNED: DrawCircleSector(), to use float params
  405. [shapes] REDESIGNED: DrawCircleSectorLines(), to use float params
  406. [shapes] REDESIGNED: DrawRing(), to use float params
  407. [shapes] REDESIGNED: DrawRingLines(), to use float params
  408. [textures] ADDED: DrawTexturePoly() and example (#1677) by @chriscamacho
  409. [textures] ADDED: UnloadImageColors() for allocs consistency
  410. [textures] RENAMED: GetImageData() to LoadImageColors()
  411. [textures] REVIEWED: ImageClearBackground() and ImageDrawRectangleRec() (#1487) by @JeffM2501
  412. [textures] REVIEWED: DrawTexturePro() and DrawRectanglePro() transformations (#1632) by @ChrisDill
  413. [text] REDESIGNED: DrawFPS()
  414. [models] ADDED: UploadMesh() (#1529)
  415. [models] ADDED: UpdateMeshBuffer()
  416. [models] ADDED: DrawMesh()
  417. [models] ADDED: DrawMeshInstanced()
  418. [models] ADDED: UnloadModelAnimations() (#1648) by @object71
  419. [models] REMOVED: DrawGizmo()
  420. [models] REMOVED: LoadMeshes()
  421. [models] REMOVED: MeshNormalsSmooth()
  422. [models] REVIEWED: DrawLine3D() (#1643)
  423. [audio] REVIEWED: Multichannel sound system (#1548)
  424. [audio] REVIEWED: jar_xm library (#1701) by @jmorel33
  425. [utils] ADDED: SetLoadFileDataCallback()
  426. [utils] ADDED: SetSaveFileDataCallback()
  427. [utils] ADDED: SetLoadFileTextCallback()
  428. [utils] ADDED: SetSaveFileTextCallback()
  429. [examples] ADDED: text_draw_3d (#1689) by @Demizdor
  430. [examples] ADDED: textures_poly (#1677) by @chriscamacho
  431. [examples] ADDED: models_gltf_model (#1551) by @object71
  432. [examples] RENAMED: shaders_rlgl_mesh_instanced to shaders_mesh_intancing
  433. [examples] REDESIGNED: shaders_rlgl_mesh_instanced by @moliad
  434. [examples] REDESIGNED: core_vr_simulator
  435. [examples] REDESIGNED: models_yaw_pitch_roll
  436. [build] ADDED: Config flag: SUPPORT_STANDARD_FILEIO
  437. [build] ADDED: Config flag: SUPPORT_WINMM_HIGHRES_TIMER (#1641)
  438. [build] ADDED: Config flag: SUPPORT_GL_DETAILS_INFO
  439. [build] ADDED: Examples projects to VS2019 solution
  440. [build] REVIEWED: Makefile to support PLATFORM_RPI (#1580)
  441. [build] REVIEWED: Multiple typecast warnings by @JeffM2501
  442. [build] REDESIGNED: VS2019 project build paths
  443. [build] REDESIGNED: CMake build system by @object71
  444. [*] RENAMED: Several functions parameters for consistency
  445. [*] UPDATED: Multiple bindings to latest version
  446. [*] UPDATED: All external libraries to latest versions
  447. [*] Multiple code improvements and fixes by multiple contributors!
  448. -------------------------------------------------------------------------
  449. Release: raylib 3.5 - 7th Anniversary Edition (25 December 2020)
  450. -------------------------------------------------------------------------
  451. KEY CHANGES:
  452. - [core] ADDED: PLATFORM_DRM to support RPI4 and other devices (#1388) by @kernelkinetic
  453. - [core] REDESIGNED: Window states management system through FLAGS
  454. - [rlgl] ADDED: RenderBatch type and related functions to allow custom batching (internal only)
  455. - [rlgl] REDESIGNED: Framebuffers API to support multiple attachment types (#721)
  456. - [textures] REDESIGNED: Image*() functions, big performance improvements (software rendering)
  457. - [*] REVIEWED: Multiple functions to replace file accesses by memory accesses
  458. - [*] ADDED: GitHub Actions CI to support multiple raylib build configurations
  459. Detailed changes:
  460. [core] ADDED: SetWindowState() / ClearWindowState() -> New flags added!
  461. [core] ADDED: IsWindowFocused()
  462. [core] ADDED: GetWindowScaleDPI()
  463. [core] ADDED: GetMonitorRefreshRate() (#1289) by @Shylie
  464. [core] ADDED: IsCursorOnScreen() (#1262) by @ChrisDill
  465. [core] ADDED: SetMouseCursor() and GetMouseCursor() for standard Desktop cursors (#1407) by @chances
  466. [core] REMOVED: struct RenderTexture2D: depthTexture variable
  467. [core] REMOVED: HideWindow() / UnhideWindow() -> Use SetWindowState()
  468. [core] REMOVED: DecorateWindow() / UndecorateWindow() -> Use SetWindowState()
  469. [core] RENAMED: GetExtension() to GetFileExtension()
  470. [core] REVIEWED: Several structs to reduce size and padding
  471. [core] REVIEWED: struct Texture maps to Texture2D and TextureCubemap
  472. [core] REVIEWED: ToggleFullscreen() (#1287)
  473. [core] REVIEWED: InitWindow(), support empty title for window (#1323)
  474. [core] REVIEWED: RPI: Mouse movements are bound to the screen resolution (#1392) (#1410) by @kernelkinetic
  475. [core] REVIEWED: GetPrevDirectoryPath() fixes on Unix-like systems (#1246) by @ivan-cx
  476. [core] REPLACED: rgif.h by msf_gif.h for automatic gif recording
  477. [core] REDESIGNED: GetMouseWheelMove() to return float movement for precise scrolling (#1397) by @Doy-lee
  478. [core] REDESIGNED: GetKeyPressed(), and added GetCharPressed() (#1336)
  479. [core] UWP rework with improvements (#1231) by @Rover656
  480. [core] Gamepad axis bug fixes and improvement (#1228) by @mmalecot
  481. [core] Updated joystick mappings with latest version of gamecontrollerdb (#1381) by @coderoth
  482. [rlgl] Corrected issue with OpenGL 1.1 support
  483. [rlgl] ADDED: rlDrawMeshInstanced() (#1318) by @seanpringle
  484. [rlgl] ADDED: rlCheckErrors (#1321) by @seanpringle
  485. [rlgl] ADDED: BLEND_SET blending mode (#1251) by @RandomErrorMessage
  486. [rlgl] ADDED: rlSetLineWidth(), rlGetLineWidth(), rlEnableSmoothLines(), rlDisableSmoothLines() (#1457) by @JeffM2501
  487. [rlgl] RENAMED: rlUnproject() to Vector3Unproject() [raymath]
  488. [rlgl] REVIEWED: Replace rlglDraw() calls by DrawRenderBatch() internal calls
  489. [rlgl] REVIEWED: GenTextureCubemap(), use rlgl functionality only
  490. [rlgl] REVIEWED: rlFramebufferAttach() to support texture layers
  491. [rlgl] REVIEWED: GenDrawCube() and GenDrawQuad()
  492. [rlgl] REVIEWED: Issues with vertex batch overflow (#1223)
  493. [rlgl] REVIEWED: rlUpdateTexture(), issue with offsets
  494. [rlgl] REDESIGNED: GenTexture*() to use the new fbo API (#721)
  495. [raymath] ADDED: Normalize() and Remap() functions (#1247) by @NoorWachid
  496. [raymath] ADDED: Vector2Reflect() (#1400) by @daniel-junior-dube
  497. [raymath] ADDED: Vector2LengthSqr() and Vector3LengthSqr() (#1248) by @ThePituLegend
  498. [raymath] ADDED: Vector2MoveTowards() function (#1233) by @anatagawa
  499. [raymath] REVIEWED: Some functions consistency (#1197) by @Not-Nik
  500. [raymath] REVIEWED: QuaternionFromVector3ToVector3() (#1263) by @jvocaturo
  501. [raymath] REVIEWED: MatrixLookAt(), optimized (#1442) by @RandomErrorMessage
  502. [shapes] ADDED: CheckCollisionLines(), by @Elkantor
  503. [text] Avoid [textures] functions dependencies
  504. [text] ADDED: Config flag: SUPPORT_TEXT_MANIPULATION
  505. [text] ADDED: LoadFontFromMemory() (TTF only) (#1327)
  506. [text] ADDED: UnloadFontData()
  507. [text] RENAMED: FormatText() -> TextFormat()
  508. [text] REVIEWED: Font struct, added charsPadding (#1432)
  509. [text] REVIEWED: TextJoin()
  510. [text] REVIEWED: TextReplace() (#1172)
  511. [text] REVIEWED: LoadBMFont() to load data from memory (#1232)
  512. [text] REVIEWED: GenImageFontAtlas(), fixed offset (#1171)
  513. [text] REDESIGNED: LoadFontData(), reviewed input parameters
  514. [text] REDESIGNED: LoadFontDefault(), some code simplifications
  515. [text] REDESIGNED: LoadFontFromImage(), avoid LoadImageEx()
  516. [text] REDESIGNED: LoadFontData(), avoid GenImageColor(), ImageFormat()
  517. [text] REDESIGNED: LoadBMFont(), avoid ImageCopy(), ImageFormat(), ImageAlphaMask()
  518. [textures] Move Color functions from [core] to [textures] module
  519. [textures] ADDED: ColorAlphaBlend()
  520. [textures] ADDED: GetPixelColor()
  521. [textures] ADDED: SetPixelColor()
  522. [textures] ADDED: LoadImageFromMemory() (#1327)
  523. [textures] ADDED: LoadImageAnim() to load animated sequence of images
  524. [textures] ADDED: DrawTextureTiled() (#1291) - @Demizdor
  525. [textures] ADDED: UpdateTextureRec()
  526. [textures] ADDED: UnloadImageColors(), UnloadImagePalette(), UnloadWaveSamples()
  527. [textures] REMOVED: Config flag: SUPPORT_IMAGE_DRAWING
  528. [textures] REMOVED: LoadImageEx()
  529. [textures] REMOVED: LoadImagePro()
  530. [textures] REMOVED: GetImageDataNormalized(), not exposed in the API
  531. [textures] RENAMED: ImageExtractPalette() to GetImagePalette()
  532. [textures] RENAMED: Fade() to ColorAlpha(), added #define for compatibility
  533. [textures] RENAMED: GetImageData() -> LoadImageColors()
  534. [textures] RENAMED: GetImagePalette() -> LoadImagePalette()
  535. [textures] RENAMED: GetWaveData() -> LoadWaveSamples()
  536. [textures] REVIEWED: GetPixelDataSize() to consider compressed data properly
  537. [textures] REVIEWED: GetTextureData(), allow retrieving 32bit float data
  538. [textures] REVIEWED: ImageDrawText*() params order
  539. [textures] REVIEWED: ColorAlphaBlend(), support tint color
  540. [textures] REVIEWED: ColorAlphaBlend(), integers-version, optimized (#1218)
  541. [textures] REVIEWED: ImageDraw(), consider negative source offset properly (#1283)
  542. [textures] REVIEWED: ImageDraw(), optimizations test (#1218)
  543. [textures] REVIEWED: ImageResizeCanvas(), optimization (#1218)
  544. [textures] REVIEWED: ExportImage(), optimized
  545. [textures] REVIEWED: ImageAlphaPremultiply(), optimization
  546. [textures] REVIEWED: ImageAlphaClear(), minor optimization
  547. [textures] REVIEWED: ImageToPOT(), renamed parameter
  548. [textures] REVIEWED: ImageCrop() (#1218)
  549. [textures] REVIEWED: ImageToPOT() (#1218)
  550. [textures] REVIEWED: ImageAlphaCrop() (#1218)
  551. [textures] REVIEWED: ExportImage(), optimized (#1218)
  552. [textures] REDESIGNED: ImageCrop(), optimized (#1218)
  553. [textures] REDESIGNED: ImageRotateCCW(), optimized (#1218)
  554. [textures] REDESIGNED: ImageRotateCW(), optimized (#1218)
  555. [textures] REDESIGNED: ImageFlipHorizontal(), optimized (#1218)
  556. [textures] REDESIGNED: ImageFlipVertical(), optimized (#1218)
  557. [textures] REDESIGNED: ImageResizeCanvas(), optimized (#1218)
  558. [textures] REDESIGNED: ImageDrawPixel(), optimized
  559. [textures] REDESIGNED: ImageDrawLine(), optimized
  560. [textures] REDESIGNED: ImageDraw(), optimized (#1218)
  561. [textures] REDESIGNED: ImageResize(), optimized (#1218)
  562. [textures] REDESIGNED: ImageFromImage(), optimized (#1218)
  563. [textures] REDESIGNED: ImageDraw(), optimization (#1218)
  564. [textures] REDESIGNED: ImageAlphaClear(), optimized (#1218)
  565. [textures] REDESIGNED: ExportImageAsCode() to use memory buffer (#1232)
  566. [textures] REDESIGNED: ColorFromHSV()
  567. [models] ADDED: DrawTriangle3D() and DrawTriangleStrip3D()
  568. [models] ADDED: UnloadModelKeepMeshes()
  569. [models] REVIEWED: LoadModel(), avoid loading texcoords and normals from model if not existent
  570. [models] REVIEWED: GenMeshCubicmap(), added comments and simplification
  571. [models] REVIEWED: GenMeshCubicmap(), fixed generated normals (#1244) by @GoldenThumbs
  572. [models] REVIEWED: GenMeshPoly(), fixed buffer overflow (#1269) by @frithrah
  573. [models] REVIEWED: LoadOBJ(): Allow for multiple materials in obj files (#1408) by @chriscamacho and @codifies
  574. [models] REVIEWED: LoadIQM() materials loading (#1227) by @sikor666
  575. [models] REVIEWED: LoadGLTF() to read from memory buffer
  576. [models] REVIEWED: UpdateMesh(), fix extra memory allocated when updating color buffer (#1271) by @4yn
  577. [models] REVIEWED: MeshNormalsSmooth() (#1317) by @seanpringle
  578. [models] REVIEWED: DrawGrid() (#1417)
  579. [models] REDESIGNED: ExportMesh() to use memory buffer (#1232)
  580. [models] REDESIGNED: LoadIQM() and LoadModelAnimations() to use memory buffers
  581. [audio] ADDED: LoadWaveFromMemory() (#1327)
  582. [audio] REMOVED: SetMusicLoopCount()
  583. [audio] REVIEWED: Several functions, sampleCount vs frameCount (#1423)
  584. [audio] REVIEWED: SaveWAV() to use memory write insted of file
  585. [audio] REVIEWED: LoadMusicStream(), support WAV music streaming (#1198)
  586. [audio] REVIEWED: Support multiple WAV sampleSize for MusicStream (#1340)
  587. [audio] REVIEWED: SetAudioBufferPitch()
  588. [audio] REDESIGNED: Audio looping system
  589. [audio] REDESIGNED: LoadSound(): Use memory loading (WAV, OGG, MP3, FLAC) (#1312)
  590. [audio] REDESIGNED: ExportWaveAsCode() to use memory buffers
  591. [utils] ADDED: MemAlloc() / MemFree() (#1440)
  592. [utils] ADDED: UnloadFileData() / UnloadFileText()
  593. [utils] REVIEWED: android_fopen() to support SDCard access
  594. [utils] REDESIGNED: SaveFile*() functions to expose file access results (#1420)
  595. [rmem] REVIEWED: MemPool and other allocators optimization (#1211) by @assyrianic
  596. [examples] ADDED: core/core_window_flags
  597. [examples] ADDED: core/core_quat_conversion by @chriscamacho and @codifies
  598. [examples] ADDED: textures/textures_blend_modes (#1261) by @accidentalrebel
  599. [examples] ADDED: textures/textures_draw_tiled (#1291) by @Demizdor
  600. [examples] ADDED: shaders/shaders_hot_reloading (#1198)
  601. [examples] ADDED: shaders/shaders_rlgl_mesh_instanced (#1318) by @seanpringle
  602. [examples] ADDED: shaders/shaders_multi_sampler2d
  603. [examples] ADDED: others/embedded_files_loading
  604. [examples] REVIEWED: textures/textures_raw_data (#1286)
  605. [examples] REVIEWED: textures/textures_sprite_explosion, replace resources
  606. [examples] REVIEWED: textures/textures_particles_blending, replace resources
  607. [examples] REVIEWED: textures/textures_image_processing, support mouse
  608. [examples] REVIEWED: models/models_skybox to work on OpenGL ES 2.0
  609. [examples] REVIEWED: audio/resources, use open license resources
  610. [examples] REVIEWED: others/raudio_standalone.c
  611. [build] ADDED: New config.h configuration options exposing multiple #define values
  612. [build] REMOVED: ANGLE VS2017 template project
  613. [build] REVIEWED: All MSVC compile warnings
  614. [build] Updated Makefile for web (#1332) by @rfaile313
  615. [build] Updated build pipelines to use latest emscripten and Android NDK
  616. [build] Updated emscriptem build script to generate .a on WebAssembly
  617. [build] Updated Android build for Linux, supporting ANDROID_NDK at compile time by @branlix3000
  618. [build] Updated VSCode project template tasks
  619. [build] Updated VS2017.UWP project template by @Rover656
  620. [build] Updated Android build pipeline
  621. [build] REMOVED: AppVeyor and Travis CI build systems
  622. [*] Moved raysan5/raylib/games to independent repo: raysan5/raylib-games
  623. [*] Replaced several examples resources with more open licensed alternatives
  624. [*] Updated BINDINGS.md with NEW bindings and added raylib version binding!
  625. [*] Updated all external libraries to latest versions
  626. [*] Multiple code improvements and small fixes
  627. -----------------------------------------------
  628. Release: raylib 3.0 (01 April 2020)
  629. -----------------------------------------------
  630. KEY CHANGES:
  631. - Global context states used on all modules.
  632. - Custom memory allocators for all modules and dependencies.
  633. - Centralized file access system and memory data loading.
  634. - Structures reviewed to reduce size and always be used as pass-by-value.
  635. - Tracelog messages completely reviewed and categorized.
  636. - raudio module reviewed to accomodate new Music struct and new miniaudio.
  637. - text module reviewed to improve fonts generation and text management functions.
  638. - Multiple new examples added and categorized examples table.
  639. - GitHub Actions CI implemented for Windows, Linux and macOS.
  640. Detailed changes:
  641. [build] ADDED: VS2017.ANGLE project, by @msmshazan
  642. [build] ADDED: VS2017 project support for x64 platform configuration
  643. [build] ADDED: Makefile for Android building on macOS, by @Yunoinsky
  644. [build] ADDED: Makefile for Android building on Linux, by @pamarcos
  645. [build] REMOVED: VS2015 project
  646. [build] REVIEWED: VSCode project
  647. [build] REVIEWED: Makefile build system
  648. [build] REVIEWED: Android building, by @NimbusFox
  649. [build] REVIEWED: Compilation with CLion IDE, by @Rover656
  650. [build] REVIEWED: Generation of web examples, by @pamarcos
  651. [build] REVIEWED: Makefiles path to 'shell.html', by @niorad
  652. [build] REVIEWED: VS2017 64bit compilation issues, by @spec-chum
  653. [build] REVIEWED: Multiple fixes on projects building, by @ChrisDill, @JuDelCo, @electronstudio
  654. [core] ADDED: Support touch/mouse indistinctly
  655. [core] ADDED: FLAG_WINDOW_ALWAYS_RUN to avoid pause on minimize
  656. [core] ADDED: Config flag SUPPORT_HALFBUSY_WAIT_LOOP
  657. [core] ADDED: RPI mouse cursor point support on native mode
  658. [core] ADDED: GetWorldToScreen2D()- Get screen space position for a 2d camera world space position, by @arvyy
  659. [core] ADDED: GetScreenToWorld2D() - Get world space position for a 2d camera screen space position, by @arvyy
  660. [core] ADDED: GetWorldToScreenEx() - Get size position for a 3d world space position
  661. [core] ADDED: DirectoryExists() - Check if a directory path exists
  662. [core] ADDED: GetPrevDirectoryPath() - Get previous directory path for a given path
  663. [core] ADDED: CompressData() - Compress data (DEFLATE algorythm)
  664. [core] ADDED: DecompressData() - Decompress data (DEFLATE algorythm)
  665. [core] ADDED: GetWindowPosition() - Get window position XY on monitor
  666. [core] ADDED: LoadFileData() - Load file data as byte array (read)
  667. [core] ADDED: SaveFileData() - Save data to file from byte array (write)
  668. [core] ADDED: LoadFileText() - Load text data from file (read), returns a '\0' terminated string
  669. [core] ADDED: SaveFileText() - Save text data to file (write), string must be '\0' terminated
  670. [core] REMOVED: Show raylib logo at initialization
  671. [core] REVIEWED: GetFileName(), security checks
  672. [core] REVIEWED: LoadStorageValue(), by @danimartin82
  673. [core] REVIEWED: SaveStorageValue(), by @danimartin82
  674. [core] REVIEWED: IsMouseButtonReleased(), when press/release events come too fast, by @oswjk
  675. [core] REVIEWED: SetWindowMonitor(), by @DropsOfSerenity
  676. [core] REVIEWED: IsFileExtension() to be case-insensitive
  677. [core] REVIEWED: IsFileExtension() when checking no-extension files
  678. [core] REVIEWED: Default font scale filter for HighDPI mode
  679. [core] REVIEWED: Touch input scaling for PLATFORM_WEB
  680. [core] REVIEWED: RPI input system, by @DarkElvenAngel
  681. [core] REVIEWED: RPI input threads issues
  682. [core] REVIEWED: OpenGL extensions loading and freeing
  683. [core] REVIEWED: GetDirectoryPath()
  684. [core] REVIEWED: Camera2D behavior, by @arvyy
  685. [core] REVIEWED: OpenGL ES 2.0 extensions check
  686. [rlgl] ADDED: Flags to allow frustrum culling near/far distance configuration at compile time
  687. [rlgl] ADDED: Flags to sllow MAX_BATCH_BUFFERING config at compile time
  688. [rlgl] ADDED: GetMatrixProjection(), by @chriscamacho
  689. [rlgl] ADDED: rlUpdateMeshAt() - Update vertex or index data on GPU, at index, by @brankoku
  690. [rlgl] REVIEWED: Vertex padding not zeroed for quads, by @kawa-yoiko
  691. [rlgl] REVIEWED: Read texture data as RGBA from FBO on GLES 2.0
  692. [rlgl] REVIEWED: LoadShaderCode() for const correctness, by @heretique
  693. [rlgl] REVIEWED: rlLoadTexture()
  694. [rlgl] REVIEWED: rlReadTexturePixels()
  695. [rlgl] REVIEWED: rlUpdateMesh() to supports updating indices, by @brankoku
  696. [rlgl] REVIEWED: GenTextureCubemap(), renamed parameters for consistency
  697. [rlgl] REVIEWED: HDR pixels loading
  698. [raymath] ADDED: MatrixRotateXYZ(), by @chriscamacho
  699. [raymath] RENAMED: Vector3Multiply() to Vector3Scale()
  700. [camera] REVIEWED: Free camera pitch, by @chriscamacho
  701. [camera] REVIEWED: Camera not working properly at z-align, by @Ushio
  702. [shapes] ADDED: DrawTriangleStrip() - Draw a triangle strip defined by points
  703. [shapes] ADDED: DrawEllipse() - Draw ellipse
  704. [shapes] ADDED: DrawEllipseLines() - Draw ellipse outline
  705. [shapes] ADDED: DrawPolyLines() - Draw a polygon outline of n sides
  706. [shapes] REVIEWED: DrawPoly() shape rendering, by @AlexHCC
  707. [textures] ADDED: LoadAnimatedGIF() - Load animated GIF file
  708. [textures] ADDED: GetImageAlphaBorder() - Get image alpha border rectangle
  709. [textures] ADDED: ImageFromImage() - Create an image from another image piece
  710. [textures] ADDED: ImageClearBackground(), by @iamsouravgupta
  711. [textures] ADDED: ImageDrawPixel(), by @iamsouravgupta
  712. [textures] ADDED: ImageDrawCircle(), by @iamsouravgupta
  713. [textures] ADDED: ImageDrawLineEx(), by @iamsouravgupta
  714. [textures] ADDED: ImageDrawPixelV(), by @RobLoach
  715. [textures] ADDED: ImageDrawCircleV(), by @RobLoach
  716. [textures] ADDED: ImageDrawLineV(), by @RobLoach
  717. [textures] ADDED: ImageDrawRectangleV(), by @RobLoach
  718. [textures] ADDED: ImageDrawRectangleRec(), by @RobLoach
  719. [textures] REVIEWED: ImageDrawPixel(), by @RobLoach
  720. [textures] REVIEWED: ImageDrawLine(), by @RobLoach
  721. [textures] REVIEWED: ImageDrawCircle(), by @RobLoach
  722. [textures] REVIEWED: ImageDrawRectangle(), by @RobLoach
  723. [textures] REVIEWED: ImageDraw(), now it supports color tint parameter
  724. [textures] REVIEWED: ImageResizeCanvas()
  725. [textures] REVIEWED: ImageCrop() with security checks
  726. [textures] REVIEWED: ImageAlphaMask()
  727. [textures] REVIEWED: ImageDrawRectangleLines()
  728. [textures] REVIEWED: GetImageData()
  729. [text] ADDED: TextCopy() - Copy one string to another, returns bytes copied
  730. [text] ADDED: GetCodepoints() - Get all codepoints in a string
  731. [text] ADDED: CodepointToUtf8() - Encode codepoint into utf8 text
  732. [text] ADDED: DrawTextCodepoint() - Draw one character (codepoint)
  733. [text] RENAMED: LoadDefaultFont() -> LoadFontDefault()
  734. [text] RENAMED: TextCountCodepoints() -> GetCodepointsCount()
  735. [text] REVIEWED: TextFormat(), to support caching, by @brankoku
  736. [text] REVIEWED: LoadFontData(), generate empty image for space character
  737. [text] REVIEWED: TextSplit()
  738. [text] REVIEWED: TextToInteger()
  739. [text] REVIEWED: GetNextCodepoint(), renamed parameters for clarity
  740. [text] REVIEWED: GenImageFontAtlas(), improved atlas size computing
  741. [text] REDESIGNED: struct Font, character rectangles have been moved out from CharInfo to Font
  742. [text] REDESIGNED: struct CharInfo, now includes directly an Image of the glyph
  743. [text] REDESIGNED: GenImageFontAtlas(), additional recs parameter added
  744. [text] REDESIGNED: ImageTextEx(), to avoid font retrieval from GPU
  745. [models] ADDED: Support rlPushMatrix() and rlPopMatrix() on mesh drawing
  746. [models] ADDED: DrawPoint3D() - Draw a point in 3D space, actually a small line, by @ProfJski
  747. [models] ADDED: Multi texture support for materials in GLTF format, by @Gamerfiend, @chriscamacho
  748. [models] REVIEWED: LoadGLTF(), fixed memory leak, by @jubalh
  749. [models] REVIEWED: LoadIQM(), support multiple animations loading, by @culacant
  750. [models] REVIEWED: GetCollisionRayModel(), to avoid pointers
  751. [models] REVIEWED: CheckCollisionRay*(), parameters renamed
  752. [models] REVIEWED: UnloadMesh(), to avoid pointers
  753. [models] REVIEWED: LoadModel(), memory initialization
  754. [models] REVIEWED: UpdateModelAnimation(), added security checks
  755. [models] REVIEWED: Multiple fixes on models loading, by @jubalh
  756. [models] REVIEWED: Normals updated when using animated meshes, by @@las3rlars
  757. [models] REVIEWED: Compilation when the SUPPORT_MESH_GENERATION not set, by @@Elkantor
  758. [raudio] ADDED: Multi-channel audio playing, by @chriscamacho
  759. [raudio] REMOVED: LoadWaveEx()
  760. [raudio] RENAMED: IsAudioBufferProcessed() to IsAudioStreamProcessed()
  761. [raudio] REVIEWED: Ensure .xm playback starts in the right place, by @illegalinstruction
  762. [raudio] REVIEWED: Fix short non-looping sounds, by @jbosh
  763. [raudio] REVIEWED: Modules playing time to full length
  764. [raudio] REDESIGNED: Replaced Music pointer by struct
  765. [raudio] REDESIGNED: Removed sampleLeft from Music struct
  766. [examples] ADDED: core_scissor_test, by @ChrisDill
  767. [examples] ADDED: core_2d_camera_platformer, by @arvyy
  768. [examples] ADDED: textures_mouse_painting, by @ChrisDill
  769. [examples] ADDED: models_waving_cubes, by @codecat
  770. [examples] ADDED: models_solar_system, by @aldrinmartoq
  771. [examples] ADDED: shaders_fog, by @chriscamacho
  772. [examples] ADDED: shaders_texture_waves, by @Anata
  773. [examples] ADDED: shaders_basic_lighting, by @chriscamacho
  774. [examples] ADDED: shaders_simple_mask, by @chriscamacho
  775. [examples] ADDED: audio_multichannel_sound, by @chriscamacho
  776. [examples] ADDED: shaders_spotlight, by @chriscamacho
  777. [examples] RENAMED: text_sprite_font > text_font_spritefont
  778. [examples] RENAMED: text_ttf_loading > text_font_filters
  779. [examples] RENAMED: text_bmfont_ttf > text_font_loading
  780. [examples] REMOVED: models_obj_viewer
  781. [examples] REMOVED: models_solar_system
  782. [examples] REVIEWED: models_obj_loading > models_loading
  783. [examples] REVIEWED: models_materials_pbr, shader issues
  784. [examples] REVIEWED: core_window_letterbox, detailed explanation, by @jotac0
  785. [examples] REVIEWED: core_window_letterbox, virtual mouse, by @anatagawa
  786. [games] ADDED: GGJ2020 game - RE-PAIR
  787. [*] Misc fixes and tweaks, by @yaram, @oraoto, @zatherz, @piecedigital, @Shylie
  788. [*] Update ALL supported projects (Notepad++, VS2017)
  789. [*] Update ALL external libraries to latest versions (29.Jan.2020)
  790. [*] Update ALL examples and games
  791. [*] Update BINDINGS list
  792. -----------------------------------------------
  793. Release: raylib 2.5 (May 2019)
  794. -----------------------------------------------
  795. KEY CHANGES:
  796. - [core] Redesigned Gamepad mechanism, now common to all platforms and gamepads
  797. - [core] HighDPI monitors support with automatic content scaling
  798. - [rlgl] Complete module redesign to use one single internal buffer
  799. - [rlgl] VR system redesign to allow custom device parameters and distortion shader
  800. - [shapes] New drawing shapes available: CircleSector, Ring and RectangleRounded
  801. - [text] New text management API (multiple functions)
  802. - [text] Full Unicode support (utf8 text)
  803. - [textures] Cubemap textures support
  804. - [textures] Quad and N-Patch drawing
  805. - [models] Skeletal model animation support
  806. - [models] Support multiple meshes per model
  807. - [models] Support glTF model loading
  808. Detailed changes:
  809. [build] REVIEWED: Default raylib and examples Makefile
  810. [build] REVIEWED: Notepad++ NppExec scripts
  811. [build] REVIEWED: VS2015 and VS2017 projects
  812. [build] REVIEWED: Android APK build pipeline
  813. [core] Converted most #defined values as enum values
  814. [core] Complete redesign of RPI input system to use evdev events
  815. [core] ADDED: IsWindowResized() - Check if window has been resized
  816. [core] ADDED: IsWindowHidden() - Check if window is currently hidden
  817. [core] ADDED: UnhideWindow() - Show the window
  818. [core] ADDED: HideWindow() - Hide the window
  819. [core] ADDED: GetWindowHandle() - Get native window handle
  820. [core] ADDED: GetMonitorCount() - Get number of connected monitors
  821. [core] ADDED: GetMonitorWidth() - Get primary monitor width
  822. [core] ADDED: GetMonitorHeight() - Get primary monitor height
  823. [core] ADDED: GetMonitorPhysicalWidth() - Get primary monitor physical width in millimetres
  824. [core] ADDED: GetMonitorPhysicalHeight() - Get primary monitor physical height in millimetres
  825. [core] ADDED: GetMonitorName() - Get the human-readable, UTF-8 encoded name of the primary monitor
  826. [core] ADDED: GetClipboardText() - Get clipboard text content
  827. [core] ADDED: SetClipboardText() - Set clipboard text content
  828. [core] ADDED: ColorFromHSV() - Returns a Color from HSV values
  829. [core] ADDED: FileExists() - Check if file exists
  830. [core] ADDED: GetFileNameWithoutExt() - Get filename string without extension (memory should be freed)
  831. [core] ADDED: GetDirectoryFiles() - Get filenames in a directory path (memory should be freed)
  832. [core] ADDED: ClearDirectoryFiles() - Clear directory files paths buffers (free memory)
  833. [core] ADDED: OpenURL() - Open URL with default system browser (if available)
  834. [core] ADDED: SetMouseOffset() - Set mouse offset
  835. [core] ADDED: SetMouseScale() - Set mouse scaling
  836. [core] REMOVED: ShowLogo() - Activate raylib logo at startup (can be done with flags)
  837. [shapes] ADDED: DrawCircleSector() - Draw a piece of a circle
  838. [shapes] ADDED: DrawCircleSectorLines() - Draw circle sector outline
  839. [shapes] ADDED: DrawRing() - Draw ring
  840. [shapes] ADDED: DrawRingLines() - Draw ring outline
  841. [shapes] ADDED: DrawRectangleRounded() - Draw rectangle with rounded edges
  842. [shapes] ADDED: DrawRectangleRoundedLines() - Draw rectangle with rounded edges outline
  843. [shapes] ADDED: SetShapesTexture() - Define default texture used to draw shapes
  844. [textures] REVIEWED: ExportImage() - Reorder function parameters
  845. [textures] REVIEWED: ImageDrawRectangle() - Remove unneeded parameter
  846. [textures] ADDED: ExportImageAsCode() - Export image as code file defining an array of bytes
  847. [textures] ADDED: LoadTextureCubemap() - Load cubemap from image, multiple image cubemap layouts supported
  848. [textures] ADDED: ImageExtractPalette() - Extract color palette from image to maximum size (memory should be freed)
  849. [textures] ADDED: ImageDrawRectangleLines() - Draw rectangle lines within an image
  850. [textures] ADDED: DrawTextureQuad() - Draw texture quad with tiling and offset parameters
  851. [textures] ADDED: DrawTextureNPatch() - Draws a texture (or part of it) that stretches or shrinks nicely
  852. [models] REVIEWED: LoadMesh() -> LoadMeshes() - Support multiple meshes loading
  853. [models] REVIEWED: LoadMaterial() -> LoadMaterials() - Support multiple materials loading
  854. [models] REVIEWED: ExportMesh() - Reorder parameters
  855. [models] ADDED: DrawCubeWiresV() - Draw cube wires (Vector version)
  856. [models] ADDED: GenMeshPoly() - Generate polygonal mesh
  857. [models] ADDED: SetMaterialTexture() - Set texture for a material map type (MAP_DIFFUSE, MAP_SPECULAR...)
  858. [models] ADDED: SetModelMeshMaterial() - Set material for a mesh
  859. [models] ADDED: LoadModelAnimations() - Load model animations from file
  860. [models] ADDED: UpdateModelAnimation() - Update model animation pose
  861. [models] ADDED: UnloadModelAnimation() - Unload animation data
  862. [models] ADDED: IsModelAnimationValid() - Check model animation skeleton match
  863. [rlgl] Improved internal batching mechanism (multibuffering support, triangle texcoords...)
  864. [rlgl] REVIEWED: rlPushMatrix()/rlPopMatrix() - Now works like OpenGL 1.1
  865. [rlgl] REVIEWED: SetShaderValue() - More generic, now requires uniform type
  866. [rlgl] REMOVED: SetShaderValuei() - Can be acoomplished with new SetShaderValue()
  867. [rlgl] ADDED: SetShaderValueV() - Set shader uniform value vector
  868. [rlgl] ADDED: SetShaderValueTexture() - Set shader uniform value for texture
  869. [rlgl] ADDED: BeginScissorMode() - Begin scissor mode (define screen area for following drawing)
  870. [rlgl] ADDED: EndScissorMode() - End scissor mode
  871. [rlgl] ADDED: SetVrConfiguration() - Set stereo rendering configuration parameters
  872. [rlgl] REVIEWED: InitVrSimulator() - No input parameter required, use SetVrConfiguration()
  873. [text] REVIEWED: LoadFontEx() - Reorder function parameters
  874. [text] REVIEWED: LoadFontData() - Reorder function parameters
  875. [text] REVIEWED: GenImageFontAtlas() - Reorder function parameters
  876. [text] RENAMED: FormatText() -> TextFormat()
  877. [text] RENAMED: SubText() -> TextSubtext()
  878. [text] ADDED: LoadFontFromImage() - Load font from Image (XNA style)
  879. [text] ADDED: DrawTextRec() - Draw text using font inside rectangle limits
  880. [text] ADDED: DrawTextRecEx() - Draw text using font inside rectangle limits with support for text selection
  881. [text] ADDED: TextIsEqual() - Check if two text string are equal
  882. [text] ADDED: TextLength() - Get text length, checks for '\0' ending
  883. [text] ADDED: TextReplace() - Replace text string (memory should be freed!)
  884. [text] ADDED: TextInsert() - Insert text in a position (memory should be freed!)
  885. [text] ADDED: TextJoin() - Join text strings with delimiter
  886. [text] ADDED: TextSplit() - Split text into multiple strings
  887. [text] ADDED: TextAppend() - Append text at specific position and move cursor!
  888. [text] ADDED: TextFindIndex() - Find first text occurrence within a string
  889. [text] ADDED: TextToUpper() - Get upper case version of provided string
  890. [text] ADDED: TextToLower() - Get lower case version of provided string
  891. [text] ADDED: TextToPascal() - Get Pascal case notation version of provided string
  892. [text] ADDED: TextToInteger() - Get integer value from text (negative values not supported)
  893. [raudio] ADDED: ExportWave() - Export wave data to file
  894. [raudio] ADDED: ExportWaveAsCode() - Export wave sample data to code (.h)
  895. [raudio] ADDED: IsAudioStreamPlaying() - Check if audio stream is playing
  896. [raudio] ADDED: SetAudioStreamVolume() - Set volume for audio stream (1.0 is max level)
  897. [raudio] ADDED: SetAudioStreamPitch() - Set pitch for audio stream (1.0 is base level)
  898. [examples] Complete review of full examples collection, many additions
  899. [examples] ADDED: core_custom_logging - Custom trace log system
  900. [examples] ADDED: core_input_multitouch - Multitouch input example
  901. [examples] ADDED: core_window_letterbox - Window adapted to screen
  902. [examples] ADDED: core_loading_thread - Data loading in second thread
  903. [examples] REVIEWED: core_input_gamepad - Adapted to new gamepad system
  904. [examples] REVIEWED: core_vr_simulator - HMD device parameters and distortion shader should be provided
  905. [examples] ADDED: core_window_scale_letterbox - Windows resizing and letterbox content
  906. [examples] ADDED: shapes_rectangle_scaling_mouse - Scale a rectangle with mouse
  907. [examples] ADDED: shapes_draw_circle_sector - Circle sector drawing
  908. [examples] ADDED: shapes_draw_ring - Ring drawing
  909. [examples] ADDED: shapes_draw_rectangle_rounded - Rounded rectangle drawing
  910. [examples] ADDED: shapes_bouncing_ball - Ball bouncing in the screen
  911. [examples] ADDED: shapes_collision_area - Collision detection and drawing
  912. [examples] ADDED: shapes_following_eyes - Some maths on eyes and mouse
  913. [examples] ADDED: shapes_easings_ball_anim - Ball animation
  914. [examples] ADDED: shapes_easings_box_anim - Box animation
  915. [examples] ADDED: shapes_easings_rectangle_array - Rectangles animation
  916. [examples] REVIEWED: shapes_colors_palette - Reviewed color selection and text displaying
  917. [examples] ADDED: textures_background_scrolling - Scrolling and parallaz background effect
  918. [examples] ADDED: textures_image_npatch - Drawing N-Patch based boxes
  919. [examples] ADDED: textures_sprite_button - Sprite button with sound
  920. [examples] ADDED: textures_sprite_explosion - Sprite explosion with sound
  921. [examples] ADDED: textures_bunnymark - Benchmarking test
  922. [examples] ADDED: text_draw_inside_rectangle - Drawing text inside a delimited rectangle box
  923. [examples] ADDED: text_unicode - Multiple languages text drawing
  924. [examples] ADDED: text_rectangle_bound - Fit text inside a rectangle
  925. [examples] REVIEWED: text_bmfont_ttf - Simplified example
  926. [examples] ADDED: models_animation - Animated models loading and animation playing
  927. [examples] ADDED: models_obj_viewer - Draw and drop models viewer
  928. [examples] ADDED: models_rlgl_solar_system - Solar system simulation using rlgl functionality
  929. [examples] ADDED: models_first_person_maze - 3D maze fps
  930. [examples] ADDED: shaders_palette_switch - Switching color palette on shader
  931. [examples] ADDED: shaders_raymarching - Raymarching shader
  932. [examples] ADDED: shaders_texture_drawing - Texture drawing on GPU
  933. [examples] ADDED: shaders_texture_waves - Texture waves on shader
  934. [examples] ADDED: shaders_julia_set - Julia set fractals
  935. [examples] ADDED: shaders_eratosthenes - Prime number visualization shader
  936. [examples] REVIEWED: audio_raw_stream - Mostly rewritten
  937. [games] ADDED: GGJ19 game - Cat vs Roomba
  938. [*] Updated external libraries to latest version
  939. [*] Multiple bugs corrected (check github issues)
  940. -----------------------------------------------
  941. Release: raylib 2.0 (July 2018)
  942. -----------------------------------------------
  943. KEY CHANGES:
  944. - Removed external dependencies (GLFW3 and OpenAL)
  945. - Complete redesign of audio module to use miniaudio library
  946. - Support AppVeyor and Travis CI (continuous integration) building
  947. - Reviewed raymath.h for better consistency and performance (inlining)
  948. - Refactor all #define SUPPORT_* into a single config.h
  949. - Support TCC compiler (32bit and 64bit)
  950. Detailed changes:
  951. [build] REMOVED: GitHub develop branch
  952. [build] REMOVED: External dependencies GLFW and OpenAL
  953. [build] ADDED: Android 64bit ARM support
  954. [build] ADDED: FreeBSD, OpenBSD, NetBSD, Dragon Fly OS support
  955. [build] ADDED: Universal Windows Platform (UWP) support
  956. [build] ADDED: Wayland Linux desktop support
  957. [build] ADDED: AppVeyor CI for automatic Windows builds
  958. [build] ADDED: Travis CI for automatic Linux/macOS builds
  959. [build] ADDED: rglfw (GLFW3 module) to avoid external dependency
  960. [build] ADDED: VS2017 UWP project
  961. [build] ADDED: Builder project template
  962. [build] ADDED: Compiler memory sanitizer for better debug
  963. [build] ADDED: CMake package target and CI auto-deploy tags
  964. [build] ADDED: DEBUG library building support
  965. [build] ADDED: Notepad++ NppExec scripts
  966. [build] REVIEWED: VS2015 and VS2017 projects
  967. [build] REVIEWED: Android APK build pipeline
  968. [core] REVIEWED: Window creation hints to support transparent windows
  969. [core] Unified InitWindow() between platforms
  970. [core] Export Android main entry point
  971. [core] RENAMED: Begin3dMode() to BeginMode3D()
  972. [core] RENAMED: End3dMode() to EndMode3D()
  973. [core] RENAMED: Begin2dMode() to BeginMode2D()
  974. [core] RENAMED: End2dMode() to EndMode2D()
  975. [core] RENAMED: struct Camera to Camera3D
  976. [core] RENAMED: struct SpriteFont to Font -> plus all required functions!
  977. [core] RENAMED: enum TextureFormat to PixelFormat
  978. [core] REVIEWED: Rectangle params int to float
  979. [core] REVIEWED: timing system for macOS
  980. [core] REMOVED: ColorToFloat()
  981. [core] ADDED: GetCurrentTime() on macOS
  982. [core] ADDED: GetTime()
  983. [core] ADDED: struct Vector4
  984. [core] ADDED: SetTraceLog() to define trace log messages type
  985. [core] ADDED: GetFileName() to get filename from path string
  986. [core] ADDED: ColorToHSV()
  987. [core] ADDED: ColorNormalize()
  988. [core] ADDED: SetWindowSize() to scale Windows in runtime
  989. [core] ADDED: SetMouseScale() to scale mouse input
  990. [core] ADDED: key definitions - KEY_GRAVE, KEY_SLASH, KEY_BACKSLASH
  991. [core] RENAMED: GetHexValue() to ColorToInt()
  992. [core] REVIEWED: Fade()
  993. [core] REVIEWED: InitWindow() to avoid void pointer (safety)
  994. [core] Support camera 3d orthographic projection mode
  995. [shapes] ADDED: DrawRectangleLinesEx()
  996. [textures] Improved pixel formats support (32bit channels)
  997. [textures] Improved textures support for OpenGL 2.1
  998. [textures] REMOVED: DrawRectangleT() --> Added support to DrawRectangle()
  999. [textures] ADDED: GetPixelDataSize(); pixel data size in bytes (image or texture)
  1000. [textures] ADDED: ImageAlphaClear() --> Clear alpha channel to desired color
  1001. [textures] ADDED: ImageAlphaCrop() --> Crop image depending on alpha value
  1002. [textures] ADDED: ImageAlphaPremultiply() --> Premultiply alpha channel
  1003. [textures] ADDED: ImageDrawRectangle()
  1004. [textures] ADDED: ImageMipmaps()
  1005. [textures] ADDED: GenImageColor()
  1006. [textures] ADDED: GetPixelDataSize()
  1007. [textures] ADDED: ImageRotateCW()
  1008. [textures] ADDED: ImageRotateCCW()
  1009. [textures] ADDED: ImageResizeCanvas()
  1010. [textures] ADDED: GetImageDataNormalized()
  1011. [textures] REVIEWED: ImageFormat() to use normalized data
  1012. [textures] REVIEWED: Manual mipmap generation
  1013. [textures] REVIEWED: LoadASTC()
  1014. [textures] REVIEWED: GenImagePerlinNoise()
  1015. [textures] REVIEWED: ImageTextEx() to support UTF8 basic characters
  1016. [textures] REVIEWED: GetTextureData() for RPI - requires some work
  1017. [textures] Added new example: text drawing on image
  1018. [text] Corrected issue with ttf font y-offset
  1019. [text] Support SDF font data generation
  1020. [text] ADDED: GenImageFontAtlas()
  1021. [text] ADDED: LoadFontData() to load data from TTF file
  1022. [text] REMOVED: LoadTTF() internal function
  1023. [text] REVIEWED: DrawTextEx() - avoid rendering SPACE character!
  1024. [text] RENAMED: GetDefaultFont() to GetFontDefault()
  1025. [rlgl] ADDED: rlCheckBufferLimit()
  1026. [rlgl] ADDED: LoadShaderCode()
  1027. [rlgl] ADDED: GetMatrixModelview()
  1028. [rlgl] ADDED: SetVrDistortionShader(Shader shader)
  1029. [rlgl] REVIEWED: rlLoadTexture() - added mipmaps support, improved compressed textures loading
  1030. [rlgl] REVIEWED: rlReadTexturePixels()
  1031. [models] Support 4 components mesh.tangent data
  1032. [models] Removed tangents generation from LoadOBJ()
  1033. [models] ADDED: MeshTangents()
  1034. [models] ADDED: MeshBinormals()
  1035. [models] ADDED: ExportMesh()
  1036. [models] ADDED: GetCollisionRayModel()
  1037. [models] RENAMED: CalculateBoundingBox() to MeshBoundingBox()
  1038. [models] REMOVED: GetCollisionRayMesh() - does not consider model transform
  1039. [models] REVIEWED: LoadMesh() - fallback to default cube mesh if loading fails
  1040. [audio] ADDED: Support for MP3 fileformat
  1041. [audio] ADDED: IsAudioStreamPlaying()
  1042. [audio] ADDED: SetAudioStreamVolume()
  1043. [audio] ADDED: SetAudioStreamPitch()
  1044. [utils] Corrected issue with SaveImageAs()
  1045. [utils] RENAMED: SaveImageAs() to ExportImage()
  1046. [utils] REMOVED: rres support - moved to external library (rres.h)
  1047. [shaders] REVIEWED: GLSL 120 shaders
  1048. [raymath] ADDED: Vector3RotateByQuaternion()
  1049. [raymath] REVIEWED: math usage to reduce temp variables
  1050. [raymath] REVIEWED: Avoid pointer-based parameters for API consistency
  1051. [physac] REVIEWED: physac.h timing system
  1052. [examples] Replaced dwarf model by brand new 3d assets: 3d medieval buildings
  1053. [examples] Assets cleaning and some replacements
  1054. [games] ADDED: GGJ18 game - transmission mission
  1055. [games] REVIEWED: Light my Ritual game - improved gameplay drawing
  1056. [*] Updated external libraries to latest version
  1057. [*] Multiple bugs corrected (check github issues)
  1058. -----------------------------------------------
  1059. Release: raylib 1.8.0 (Oct 2017)
  1060. -----------------------------------------------
  1061. NOTE:
  1062. In this release, multiple parts of the library have been reviewed (again) for consistency and simplification.
  1063. It exposes more than 30 new functions in comparison with previous version and it improves overall programming experience.
  1064. BIG CHANGES:
  1065. - New Image generation functions: Gradient, Checked, Noise, Cellular...
  1066. - New Mesh generation functions: Cube, Sphere, Cylinder, Torus, Knot...
  1067. - New Shaders and Materials systems to support PBR materials
  1068. - Custom Android APK build pipeline with simple Makefile
  1069. - Complete review of rlgl layer functionality
  1070. - Complete review of raymath functionality
  1071. detailed changes:
  1072. [rlgl] RENAMED: rlglLoadTexture() to rlLoadTexture()
  1073. [rlgl] RENAMED: rlglLoadRenderTexture() to rlLoadRenderTexture()
  1074. [rlgl] RENAMED: rlglUpdateTexture() to rlUpdateTexture()
  1075. [rlgl] RENAMED: rlglGenerateMipmaps() to rlGenerateMipmaps()
  1076. [rlgl] RENAMED: rlglReadScreenPixels() to rlReadScreenPixels()
  1077. [rlgl] RENAMED: rlglReadTexturePixels() to rlReadTexturePixels()
  1078. [rlgl] RENAMED: rlglLoadMesh() to rlLoadMesh()
  1079. [rlgl] RENAMED: rlglUpdateMesh() to rlUpdateMesh()
  1080. [rlgl] RENAMED: rlglDrawMesh() to rlDrawMesh()
  1081. [rlgl] RENAMED: rlglUnloadMesh() to rlUnloadMesh()
  1082. [rlgl] RENAMED: rlglUnproject() to rlUnproject()
  1083. [rlgl] RENAMED: LoadCompressedTexture() to LoadTextureCompressed()
  1084. [rlgl] RENAMED: GetDefaultTexture() to GetTextureDefault()
  1085. [rlgl] RENAMED: LoadDefaultShader() to LoadShaderDefault()
  1086. [rlgl] RENAMED: LoadDefaultShaderLocations() to SetShaderDefaultLocations()
  1087. [rlgl] RENAMED: UnloadDefaultShader() to UnLoadShaderDefault()
  1088. [rlgl] ADDED: rlGenMapCubemap(), Generate cubemap texture map from HDR texture
  1089. [rlgl] ADDED: rlGenMapIrradiance(), Generate irradiance texture map
  1090. [rlgl] ADDED: rlGenMapPrefilter(), Generate prefilter texture map
  1091. [rlgl] ADDED: rlGenMapBRDF(), Generate BRDF texture map
  1092. [rlgl] ADDED: GetVrDeviceInfo(), Get VR device information for some standard devices
  1093. [rlgl] REVIEWED: InitVrSimulator(), to accept device parameters as input
  1094. [core] ADDED: SetWindowTitle(), Set title for window (only PLATFORM_DESKTOP)
  1095. [core] ADDED: GetExtension(), Get file extension
  1096. [shapes] REMOVED: DrawRectangleGradient(), replaced by DrawRectangleGradientV() and DrawRectangleGradientH()
  1097. [shapes] ADDED: DrawRectangleGradientV(), Draw a vertical-gradient-filled rectangle
  1098. [shapes] ADDED: DrawRectangleGradientH(), Draw a horizontal-gradient-filled rectangle
  1099. [shapes] ADDED: DrawRectangleGradientEx(), Draw a gradient-filled rectangle with custom vertex colors
  1100. [shapes] ADDED: DrawRectangleT(), Draw rectangle using text character
  1101. [textures] ADDED: SaveImageAs(), Save image as PNG file
  1102. [textures] ADDED: GenImageGradientV(), Generate image: vertical gradient
  1103. [textures] ADDED: GenImageGradientH(), Generate image: horizontal gradient
  1104. [textures] ADDED: GenImageGradientRadial(), Generate image: radial gradient
  1105. [textures] ADDED: GenImageChecked(), Generate image: checked
  1106. [textures] ADDED: GenImageWhiteNoise(), Generate image: white noise
  1107. [textures] ADDED: GenImagePerlinNoise(), Generate image: perlin noise
  1108. [textures] ADDED: GenImageCellular(), Generate image: cellular algorithm. Bigger tileSize means bigger cells
  1109. [textures] ADDED: GenTextureCubemap(), Generate cubemap texture from HDR texture
  1110. [textures] ADDED: GenTextureIrradiance(), Generate irradiance texture using cubemap data
  1111. [textures] ADDED: GenTexturePrefilter(), Generate prefilter texture using cubemap data
  1112. [textures] ADDED: GenTextureBRDF(), Generate BRDF texture using cubemap data
  1113. [models] REMOVED: LoadMeshEx(), Mesh struct variables can be directly accessed
  1114. [models] REMOVED: UpdateMesh(), very ineficient
  1115. [models] REMOVED: LoadHeightmap(), use GenMeshHeightmap() and LoadModelFromMesh()
  1116. [models] REMOVED: LoadCubicmap(), use GenMeshCubicmap() and LoadModelFromMesh()
  1117. [models] RENAMED: LoadDefaultMaterial() to LoadMaterialDefault()
  1118. [models] ADDED: GenMeshPlane(), Generate plane mesh (with subdivisions)
  1119. [models] ADDED: GenMeshCube(), Generate cuboid mesh
  1120. [models] ADDED: GenMeshSphere(), Generate sphere mesh (standard sphere)
  1121. [models] ADDED: GenMeshHemiSphere(), Generate half-sphere mesh (no bottom cap)
  1122. [models] ADDED: GenMeshCylinder(), Generate cylinder mesh
  1123. [models] ADDED: GenMeshTorus(), Generate torus mesh
  1124. [models] ADDED: GenMeshKnot(), Generate trefoil knot mesh
  1125. [models] ADDED: GenMeshHeightmap(), Generate heightmap mesh from image data
  1126. [models] ADDED: GenMeshCubicmap(), Generate cubes-based map mesh from image data
  1127. [raymath] REVIEWED: full Matrix functionality to align with GLM in usage
  1128. [raymath] RENAMED: Vector3 functions for consistency: Vector*() renamed to Vector3*()
  1129. [build] Integrate Android APK building into examples Makefile
  1130. [build] Integrate Android APK building into templates Makefiles
  1131. [build] Improved Visual Studio 2015 project, folders, references...
  1132. [templates] Reviewed the full pack to support Android building
  1133. [examples] Reviewed full collection to adapt to raylib changes
  1134. [examples] [textures] ADDED: textures_image_generation
  1135. [examples] [models] ADDED: models_mesh_generation
  1136. [examples] [models] ADDED: models_material_pbr
  1137. [examples] [models] ADDED: models_skybox
  1138. [examples] [models] ADDED: models_yaw_pitch_roll
  1139. [examples] [others] REVIEWED: rlgl_standalone
  1140. [examples] [others] REVIEWED: audio_standalone
  1141. [github] Moved raylib webpage to own repo: github.com/raysan5/raylib.com
  1142. [games] Reviewed game: Koala Seasons
  1143. [*] Updated STB libraries to latest version
  1144. [*] Multiple bugs corrected (check github issues)
  1145. -----------------------------------------------
  1146. Release: raylib 1.7.0 (20 May 2017)
  1147. -----------------------------------------------
  1148. NOTE:
  1149. In this new raylib release, multiple parts of the library have been reviewed for consistency and simplification.
  1150. It exposes almost 300 functions, around 30 new functions in comparison with previous version and, again,
  1151. it sets a stepping stone towards raylib future.
  1152. BIG changes:
  1153. - More than 30 new functions added to the library, check list below.
  1154. - Support of configuration flags on every raylib module, to customize library build.
  1155. - Improved build system for all supported platforms with a unique Makefile to compile sources.
  1156. - Complete review of examples and sample games, added new sample material.
  1157. - Support automatic GIF recording of current window, just pressing Ctrl+F12
  1158. - Improved library consistency and organization in general.
  1159. other changes:
  1160. [core] Added function: SetWindowIcon(), to setup icon by code
  1161. [core] Added function: SetWindowMonitor(), to set current display monitor
  1162. [core] Added function: SetWindowMinSize(), to set minimum resize size
  1163. [core] Added function: TakeScreenshot(), made public to API (also launched internally with F12)
  1164. [core] Added function: GetDirectoryPath(), get directory for a given fileName (with path)
  1165. [core] Added function: GetWorkingDirectory(), get current working directory
  1166. [core] Added function: ChangeDirectory(), change working directory
  1167. [core] Added function: TraceLog(), made public to API
  1168. [core] Improved timing system to avoid busy wait loop on frame sync: Wait()
  1169. [core] Added support for gamepad on HTML5 platform
  1170. [core] Support mouse lock, useful for camera system
  1171. [core] Review functions description comments
  1172. [rlgl] Removed function: GetStandardShader(), removed internal standard shader
  1173. [rlgl] Removed function: CreateLight(), removed internal lighting system
  1174. [rlgl] Removed function: DestroyLight(), removed internal lighting system
  1175. [rlgl] Removed function: InitVrDevice(), removed VR device render, using simulator
  1176. [rlgl] Removed function: CloseVrDevice(), removed VR device render, using simulator
  1177. [rlgl] Removed function: IsVrDeviceReady(), removed VR device render, using simulator
  1178. [rlgl] Removed function: IsVrSimulator(), removed VR device render, using simulator
  1179. [rlgl] Added function: InitVrSimulator(), init VR simulator for selected device
  1180. [rlgl] Added function: CloseVrSimulator(), close VR simulator for current device
  1181. [rlgl] Added function: IsVrSimulatorReady(), detect if VR device is ready
  1182. [rlgl] Added function: BeginVrDrawing(), begin VR simulator stereo rendering
  1183. [rlgl] Added function: EndVrDrawing(), end VR simulator stereo rendering
  1184. [rlgl] Renamed function: ReadTextFile() to LoadText() and exposed to API
  1185. [rlgl] Removed internal lighting system and standard shader, moved to example
  1186. [rlgl] Removed Oculus Rift support, moved to oculus_rift example
  1187. [rlgl] Removed VR device support and replaced by VR simulator
  1188. [shapes] Added function: DrawLineEx(), draw line with QUADS, supports custom line thick
  1189. [shapes] Added function: DrawLineBezier(), draw a line using cubic-bezier curves in-out
  1190. [shapes] Added function: DrawRectanglePro(), draw a color-filled rectangle with pro parameters
  1191. [textures] Removed function: LoadImageFromRES(), redesigning custom RRES fileformat
  1192. [textures] Removed function: LoadTextureFromRES(), redesigning custom RRES fileformat
  1193. [textures] Removed function: LoadTextureEx(), use instead Image -> LoadImagePro(), LoadImageEx()
  1194. [textures] Added function: LoadImagePro()), load image from raw data with parameters
  1195. [textures] Review TraceLog() message when image file not found
  1196. [text] Renamed function: LoadSpriteFontTTF() to LoadSpriteFontEx(), for consistency
  1197. [text] Removed rBMF fileformat support, replaced by .png
  1198. [text] Refactor SpriteFont struct (better for rres custom fileformat)
  1199. [text] Renamed some variables for consistency
  1200. [models] Added function: LoadMesh(), load mesh from file
  1201. [models] Added function: LoadMeshEx(), load mesh from vertex data
  1202. [models] Added function: UnloadMesh(), unload mesh from memory (RAM and/or VRAM)
  1203. [models] Added function: GetCollisionRayMesh(), get collision info between ray and mesh
  1204. [models] Added function: GetCollisionRayTriangle(), get collision info between ray and triangle
  1205. [models] Added function: GetCollisionRayGround(), get collision info between ray and ground plane
  1206. [models] Renamed function: LoadModelEx() to LoadModelFromMesh()
  1207. [models] Removed function: DrawLight(), removed internal lighting system
  1208. [models] Renamed function: LoadModelEx() to LoadModelFromMesh() for consistency
  1209. [models] Removed function: LoadStandardMaterial(), removed internal standard shader
  1210. [models] Removed function: LoadModelFromRES(), redesigning custom RRES fileformat
  1211. [models] Renamed multiple variables for consistency
  1212. [audio] Added function: SetMasterVolume(), define listener volume
  1213. [audio] Added function: ResumeSound(), resume a paused sound
  1214. [audio] Added function: SetMusicLoopCount(), set number of repeats for a music
  1215. [audio] Added function: LoadWaveEx(), load wave from raw audio data
  1216. [audio] Added function: WaveCrop(), crop wave audio data
  1217. [audio] Added function: WaveFormat(), format audio data
  1218. [audio] Removed function: LoadSoundFromRES(), redesigning custom RRES fileformat
  1219. [audio] Added support for 32bit audio samples
  1220. [audio] Preliminary support for multichannel, limited to mono and stereo
  1221. [audio] Make sure buffers are ready for update: UpdateMusicStream()
  1222. [utils] Replaced function: GetExtension() by IsFileExtension() and made public to API
  1223. [utils] Unified function: TraceLog() between Android and other platforms
  1224. [utils] Removed internal function: GetNextPOT(), simplified implementation
  1225. [raymath] Added function: QuaternionToEuler(), to work with Euler angles
  1226. [raymath] Added function: QuaternionFromEuler(), to work with Euler angles
  1227. [raymath] Added multiple Vector2 math functions
  1228. [build] Integrate Android source building into Makefile
  1229. [example] Added example: shapes_lines_bezier
  1230. [example] Added example: text_input_box
  1231. [github] Moved gh-pages branch to master/docs
  1232. [github] Moved rlua.h and Lua examples to own repo: raylib-lua
  1233. [games] Reviewed full games collection
  1234. [games] New game added to collection: Koala Seasons
  1235. [*] Reviewed and improved examples collection (new assets)
  1236. [*] Reorganized library functions, structs, enums
  1237. [*] Updated STB libraries to latest version
  1238. -----------------------------------------------
  1239. Release: raylib 1.6.0 (20 November 2016)
  1240. -----------------------------------------------
  1241. NOTE:
  1242. This new raylib version commemorates raylib 3rd anniversary and represents another complete review of the library.
  1243. It includes some interesting new features and is a stepping stone towards raylib future.
  1244. HUGE changes:
  1245. [rlua] Lua BINDING: Complete raylib Lua binding, ALL raylib functions ported to Lua plus the +60 code examples.
  1246. [audio] COMPLETE REDESIGN: Improved music support and also raw audio data processing and playing, +20 new functions added.
  1247. [physac] COMPLETE REWRITE: Improved performance, functionality and simplified usage, moved to own repository and added multiple examples!
  1248. other changes:
  1249. [core] Corrected issue on OSX with HighDPI display
  1250. [core] Added flag to allow resizable window
  1251. [core] Allow no default font loading
  1252. [core] Corrected old issue with mouse buttons on web
  1253. [core] Improved gamepad support, unified across platforms
  1254. [core] Gamepad id functionality: GetGamepadName(), IsGamepadName()
  1255. [core] Gamepad buttons/axis checking functionality:
  1256. [core] Reviewed Android key inputs system, unified with desktop
  1257. [rlgl] Redesigned lighting shader system
  1258. [rlgl] Updated standard shader for better performance
  1259. [rlgl] Support alpha on framebuffer: rlglLoadRenderTexture()
  1260. [rlgl] Reviewed UpdateVrTracking() to update camera
  1261. [rlgl] Added IsVrSimulator() to check for VR simulator
  1262. [shapes] Corrected issue on DrawPolyEx()
  1263. [textures] Simplified supported image formats support
  1264. [textures] Improved text drawing within an image: ImageDrawText()
  1265. [textures] Support image alpha mixing: ImageAlphaMask()
  1266. [textures] Support textures filtering: SetTextureFilter()
  1267. [textures] Support textures wrap modes: SetTextureWrap()
  1268. [text] Improved TTF spritefont generation: LoadSpriteFontTTF()
  1269. [text] Improved AngelCode fonts support (unordered chars)
  1270. [text] Added TraceLog info on image spritefont loading
  1271. [text] Improved text measurement: MeasureTextEx()
  1272. [models] Improved OBJ loading flexibility
  1273. [models] Reviewed functions: DrawLine3D(), DrawCircle3D()
  1274. [models] Removed function: ResolveCollisionCubicmap()
  1275. [camera] Redesigned camera system and ported to header-only
  1276. [camera] Removed function: UpdateCameraPlayer()
  1277. [gestures] Redesigned gestures module to header-only
  1278. [audio] Simplified Music loading and playing system
  1279. [audio] Added trace on audio device closing
  1280. [audio] Reviewed Wave struct, improved flexibility
  1281. [audio] Support sound data update: UpdateSound()
  1282. [audio] Added support for FLAC audio loading/streaming
  1283. [raygui] Removed raygui from raylib repo (moved to own repo)
  1284. [build] Added OpenAL static library
  1285. [build] Added Visual Studio 2015 projects
  1286. [build] Support shared/dynamic raylib compilation
  1287. [*] Updated LibOVR to SDK version 1.8
  1288. [*] Updated games to latest raylib version
  1289. [*] Improved examples and added new ones
  1290. [*] Improved Android support
  1291. -----------------------------------------------
  1292. Release: raylib 1.5.0 (18 July 2016)
  1293. -----------------------------------------------
  1294. NOTE:
  1295. Probably this new version is the biggest boost of the library ever, lots of parts of the library have been redesigned,
  1296. lots of bugs have been solved and some **AMAZING** new features have been added.
  1297. HUGE changes:
  1298. [rlgl] OCULUS RIFT CV1: Added support for VR, not oly Oculus Rift CV1 but also stereo rendering simulator (multiplatform).
  1299. [rlgl] MATERIALS SYSTEM: Added support for Materials (.mtl) and multiple material properties: diffuse, specular, normal.
  1300. [rlgl] LIGHTING SYSTEM: Added support for up to 8 lights of 3 different types: Omni, Directional and Spot.
  1301. [physac] REDESIGNED: Improved performance and simplified usage, physic objects now are managed internally in a second thread!
  1302. [audio] CHIPTUNES: Added support for module audio music (.xm, .mod) loading and playing. Multiple mixing channels supported.
  1303. other changes:
  1304. [core] Review Android button inputs
  1305. [core] Support Android internal data storage
  1306. [core] Renamed WorldToScreen() to GetWorldToScreen()
  1307. [core] Removed function SetCustomCursor()
  1308. [core] Removed functions BeginDrawingEx(), BeginDrawingPro()
  1309. [core] Replaced functions InitDisplay() + InitGraphics() with: InitGraphicsDevice()
  1310. [core] Added support for field-of-view Y (fovy) on 3d Camera
  1311. [core] Added 2D camera mode functions: Begin2dMode() - End2dMode()
  1312. [core] Translate mouse inputs to Android touch/gestures internally
  1313. [core] Translate mouse inputs as touch inputs in HTML5
  1314. [core] Improved function GetKeyPressed() to support multiple keys (including function keys)
  1315. [core] Improved gamepad support, specially for RaspberryPi (including multiple gamepads support)
  1316. [rlgl] Support stereo rendering simulation (duplicate draw calls by viewport, optimized)
  1317. [rlgl] Added distortion shader (embeded) to support custom VR simulator: shader_distortion.h
  1318. [rlgl] Added support for OpenGL 2.1 on desktop
  1319. [rlgl] Improved 2D vs 3D drawing system (lines, triangles, quads)
  1320. [rlgl] Improved DXT-ETC1 support on HTML5
  1321. [rlgl] Review function: rlglUnproject()
  1322. [rlgl] Removed function: rlglInitGraphics(), integrated into rlglInit()
  1323. [rlgl] Updated Mesh and Shader structs
  1324. [rlgl] Simplified internal (default) dynamic buffers
  1325. [rlgl] Added support for indexed and dynamic mesh data
  1326. [rlgl] Set fixed vertex attribs location points
  1327. [rlgl] Improved mesh data loading support
  1328. [rlgl] Added standard shader (embeded) to support materials and lighting: shader_standard.h
  1329. [rlgl] Added light functions: CreateLight(), DestroyLight()
  1330. [rlgl] Added wire mode functions: rlDisableWireMode(), rlEnableWireMode()
  1331. [rlgl] Review function consistency, added: rlglLoadMesh(), rlglUpdateMesh(), rlglDrawMesh(), rlglUnloadMesh()
  1332. [rlgl] Replaced SetCustomShader() by: BeginShaderMode() - EndShaderMode()
  1333. [rlgl] Replaced SetBlendMode() by: BeginBlendMode() - EndBlendMode()
  1334. [rlgl] Added functions to customize internal matrices: SetMatrixProjection(), SetMatrixModelview()
  1335. [rlgl] Unified internal shaders to only one default shader
  1336. [rlgl] Added support for render to texture (RenderTexture2D):
  1337. LoadRenderTexture() - UnloadRenderTexture()
  1338. BeginTextureMode() - EndTextureMode()
  1339. [rlgl] Removed SetShaderMap*() functions
  1340. [rlgl] Redesigned default buffers usage functions:
  1341. LoadDefaultBuffers() - UnloadDefaultBuffers()
  1342. UpdateDefaultBuffers() - DrawDefaultBuffers()
  1343. [shapes] Corrected bug on GetCollisionRec()
  1344. [textures] Added support for Nearest-Neighbor image scaling
  1345. [textures] Added functions to draw text on image: ImageDrawText(), ImageDrawTextEx()
  1346. [text] Reorganized internal functions: Added LoadImageFont()
  1347. [text] Security check for unsupported BMFonts
  1348. [models] Split mesh creation from model loading on heightmap and cubicmap
  1349. [models] Updated BoundingBox collision detections
  1350. [models] Added color parameter to DrawBoundigBox()
  1351. [models] Removed function: DrawQuad()
  1352. [models] Removed function: SetModelTexture()
  1353. [models] Redesigned DrawPlane() to use RL_TRIANGLES
  1354. [models] Redesigned DrawRectangleV() to use RL_TRIANGLES
  1355. [models] Redesign to accomodate new materials system: LoadMaterial()
  1356. [models] Added material functions: LoadDefaultMaterial(), LoadStandardMaterial()
  1357. [models] Added MTL material loading support: LoadMTL()
  1358. [models] Added function: DrawLight()
  1359. [audio] Renamed SoundIsPlaying() to IsSoundPlaying()
  1360. [audio] Renamed MusicIsPlaying() to IsMusicPlaying()
  1361. [audio] Support multiple Music streams (indexed)
  1362. [audio] Support multiple mixing channels
  1363. [gestures] Improved and reviewed gestures system
  1364. [raymath] Added QuaternionInvert()
  1365. [raymath] Removed function: PrintMatrix()
  1366. [raygui] Ported to header-only library (https://github.com/raysan5/raygui)
  1367. [shaders] Added depth drawing shader (requires a depth texture)
  1368. [shaders] Reviewed included shaders and added comments
  1369. [OpenAL Soft] Updated to latest version (1.17.2)
  1370. [GLFW3] Updated to latest version (3.2)
  1371. [stb] Updated to latest headers versions
  1372. [GLAD] Converted to header only library and simplified to only used extensions
  1373. [*] Reorganize library folders: external libs moved to src/external folder
  1374. [*] Reorganize src folder for Android library
  1375. [*] Review external dependencies usage
  1376. [*] Improved Linux and OSX build systems
  1377. [*] Lots of tweaks and bugs corrected all around
  1378. -----------------------------------------------
  1379. Release: raylib 1.4.0 (22 February 2016)
  1380. -----------------------------------------------
  1381. NOTE:
  1382. This version supposed another big improvement for raylib, including new modules and new features.
  1383. More than 30 new functions have been added to previous raylib version.
  1384. Around 8 new examples and +10 new game samples have been added.
  1385. BIG changes:
  1386. [textures] IMAGE MANIPULATION: Functions to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image.
  1387. [text] SPRITEFONT SUPPORT: Added support for AngelCode fonts (.fnt) and TrueType fonts (.ttf).
  1388. [gestures] REDESIGN: Gestures system simplified and prepared to process generic touch events, including mouse events (multiplatform).
  1389. [physac] NEW MODULE: Basic 2D physics support, use colliders and rigidbodies; apply forces to physic objects.
  1390. other changes:
  1391. [rlgl] Removed GLEW library dependency, now using GLAD
  1392. [rlgl] Implemented alternative to glGetTexImage() on OpenGL ES
  1393. [rlgl] Using depth data on batch drawing
  1394. [rlgl] Reviewed glReadPixels() function
  1395. [core][rlgl] Reviewed raycast system, now 3D picking works
  1396. [core] Android: Reviewed Android App cycle, paused if inactive
  1397. [shaders] Implemented Blinn-Phong lighting shading model
  1398. [textures] Implemented Floyd-Steinberg dithering - ImageDither()
  1399. [text] Added line-break support to DrawText()
  1400. [text] Added TrueType Fonts support (using stb_truetype)
  1401. [models] Implement function: CalculateBoundingBox(Mesh mesh)
  1402. [models] Added functions to check Ray collisions
  1403. [models] Improve map resolution control on LoadHeightmap()
  1404. [camera] Corrected small-glitch on zoom-in with mouse-wheel
  1405. [gestures] Implemented SetGesturesEnabled() to enable only some gestures
  1406. [gestures] Implemented GetElapsedTime() on Windows system
  1407. [gestures] Support mouse gestures for desktop platforms
  1408. [raymath] Complete review of the module and converted to header-only
  1409. [easings] Added new module for easing animations
  1410. [stb] Updated to latest headers versions
  1411. [*] Lots of tweaks around
  1412. -----------------------------------------------
  1413. Release: raylib 1.3.0 (01 September 2015)
  1414. -----------------------------------------------
  1415. NOTE:
  1416. This version supposed a big boost for raylib, new modules have been added with lots of features.
  1417. Most of the modules have been completely reviewed to accomodate to the new features.
  1418. Over 50 new functions have been added to previous raylib version.
  1419. Most of the examples have been redone and +10 new advanced examples have been added.
  1420. BIG changes:
  1421. [rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
  1422. [textures] FORMATS: Support for multiple internal formats, including compressed formats
  1423. [camera] NEW MODULE: Set of cameras for 3d view: Free, Orbital, 1st person, 3rd person
  1424. [gestures] NEW MODULE: Gestures system for Android and HTML5 platforms
  1425. [raygui] NEW MODULE: Set of IMGUI elements for tools development (experimental)
  1426. other changes:
  1427. [rlgl] Added check for OpenGL supported extensions
  1428. [rlgl] Added function SetBlenMode() to select some predefined blending modes
  1429. [core] Added support for drop&drag of external files into running program
  1430. [core] Added functions ShowCursor(), HideCursor(), IsCursorHidden()
  1431. [core] Renamed function SetFlags() to SetConfigFlags()
  1432. [shapes] Simplified some functions to improve performance
  1433. [textures] Review of Image struct to support multiple data formats
  1434. [textures] Added function LoadImageEx()
  1435. [textures] Added function LoadImageRaw()
  1436. [textures] Added function LoadTextureEx()
  1437. [textures] Simplified function parameters LoadTextureFromImage()
  1438. [textures] Added function GetImageData()
  1439. [textures] Added function GetTextureData()
  1440. [textures] Renamed function ConvertToPOT() to ImageConvertToPOT()
  1441. [textures] Added function ImageConvertFormat()
  1442. [textures] Added function GenTextureMipmaps()
  1443. [text] Added support for Latin-1 Extended characters for default font
  1444. [text] Redesigned SpriteFont struct, replaced Character struct by Rectangle
  1445. [text] Removed function GetFontBaseSize(), use directly spriteFont.size
  1446. [models] Review of struct: Model (added shaders support)
  1447. [models] Added 3d collision functions (sphere vs sphere vs box vs box)
  1448. [models] Added function DrawCubeTexture()
  1449. [models] Added function DrawQuad()
  1450. [models] Added function DrawRay()
  1451. [models] Simplified funtion DrawPlane()
  1452. [models] Removed function DrawPlaneEx()
  1453. [models] Simplified funtion DrawGizmo()
  1454. [models] Removed function DrawGizmoEx()
  1455. [models] Added function LoadModelEx()
  1456. [models] Review of function LoadCubicMap()
  1457. [models] Added function ResolveCollisionCubicmap()
  1458. [audio] Decopupled from raylib, now this module can be used as standalone
  1459. [audio] Added function UpdateMusicStream()
  1460. [raymath] Complete review of the module
  1461. [stb] Updated to latest headers versions
  1462. [*] Lots of tweaks around
  1463. -----------------------------------------------
  1464. Release: raylib 1.2.2 (31 December 2014)
  1465. -----------------------------------------------
  1466. [*] Added support for HTML5 compiling (emscripten, asm.js)
  1467. [core] Corrected bug on input handling (keyboard and mouse)
  1468. [textures] Renamed function CreateTexture() to LoadTextureFromImage()
  1469. [textures] Added function ConvertToPOT()
  1470. [rlgl] Added support for color tint on models on GL 3.3+ and ES2
  1471. [rlgl] Added support for normals on models
  1472. [models] Corrected bug on DrawBillboard()
  1473. [models] Corrected bug on DrawHeightmap()
  1474. [models] Renamed LoadCubesmap() to LoadCubicmap()
  1475. [audio] Added function LoadSoundFromWave()
  1476. [makefile] Added support for Linux and OSX compiling
  1477. [stb] Updated to latest headers versions
  1478. [*] Lots of tweaks around
  1479. ---------------------------------------------------------------
  1480. Update: raylib 1.2.1 (17 October 2014) (Small Fixes Update)
  1481. ---------------------------------------------------------------
  1482. [core] Added function SetupFlags() to preconfigure raylib Window
  1483. [core] Corrected bug on fullscreen mode
  1484. [rlgl] rlglDrawmodel() - Added rotation on Y axis
  1485. [text] MeasureTextEx() - Corrected bug on measures for default font
  1486. -----------------------------------------------
  1487. Release: raylib 1.2 (16 September 2014)
  1488. -----------------------------------------------
  1489. NOTE:
  1490. This version supposed a complete redesign of the [core] module to support Android and Raspberry Pi.
  1491. Multiples modules have also been tweaked to accomodate to the new platforms, specially [rlgl]
  1492. [core] Added multiple platforms support: Android and Raspberry Pi
  1493. [core] InitWindow() - Complete rewrite and split for Android
  1494. [core] InitDisplay() - Internal function added to calculate proper display size
  1495. [core] InitGraphics() - Internal function where OpenGL graphics are initialized
  1496. [core] Complete refactoring of input functions to accomodate to new platforms
  1497. [core] Mouse and Keyboard raw data reading functions added for Raspberry Pi
  1498. [core] GetTouchX(), GetTouchY() - Added for Android
  1499. [core] Added Android callbacks to process inputs and Android activity commands
  1500. [rlgl] Adjusted buffers depending on platform
  1501. [rlgl] Added security check in case deployed vertex excess buffer size
  1502. [rlgl] Adjusted indices type depending on GL version (int or short)
  1503. [rlgl] Fallback to VBOs only usage if VAOs not supported on ES2
  1504. [rlgl] rlglLoadModel() stores vbo ids on new Model struct
  1505. [textures] Added support for PKM files (ETC1, ETC2 compression support)
  1506. [shapes] DrawRectangleV() - Modified, depending on OGL version uses TRIANGLES or QUADS
  1507. [text] LoadSpriteFont() - Modified to use LoadImage()
  1508. [models] Minor changes on models loading to accomodate to new Model struct
  1509. [audio] PauseMusicStream(), ResumeMusicStream() - Added
  1510. [audio] Reduced music buffer size to avoid stalls on Raspberry Pi
  1511. [src] Added makefile for Windows and RPI
  1512. [src] Added resources file (raylib icon and executable info)
  1513. [examples] Added makefile for Windows and RPI
  1514. [examples] Renamed and merged with test examples for coherence with module names
  1515. [templates] Added multiple templates to be use as a base-code for games
  1516. -----------------------------------------------
  1517. Release: raylib 1.1.1 (22 July 2014)
  1518. -----------------------------------------------
  1519. [core] ShowLogo() - To enable raylib logo animation at startup
  1520. [core] Corrected bug with window resizing
  1521. [rlgl] Redefined colors arrays to use byte instead of float
  1522. [rlgl] Removed double buffer system (no performance improvement)
  1523. [rlgl] rlglDraw() - Reorganized buffers drawing order
  1524. [rlgl] Corrected bug on screen resizing
  1525. [shapes] DrawRectangle() - Use QUADS instead of TRIANGLES
  1526. [models] DrawSphereWires() - Corrected some issues
  1527. [models] LoadOBJ() - Redesigned to support multiple meshes
  1528. [models] LoadCubesMap() - Loading a map as cubes (by pixel color)
  1529. [textures] Added security check if file doesn't exist
  1530. [text] Corrected bug on SpriteFont loading
  1531. [examples] Corrected some 3d examples
  1532. [test] Added cubesmap loading test
  1533. -----------------------------------------------
  1534. Release: raylib 1.1.0 (19 April 2014)
  1535. -----------------------------------------------
  1536. NOTE:
  1537. This version supposed a complete internal redesign of the library to support OpenGL 3.3+ and OpenGL ES 2.0.
  1538. New module [rlgl] has been added to 'translate' immediate mode style functions (i.e. rlVertex3f()) to GL 1.1, 3.3+ or ES2.
  1539. Another new module [raymath] has also been added with lot of useful 3D math vector-matrix-quaternion functions.
  1540. [rlgl] New module, abstracts OpenGL rendering (multiple versions support)
  1541. [raymath] New module, useful 3D math vector-matrix-quaternion functions
  1542. [core] Adapt all OpenGL code (initialization, drawing) to use [rlgl]
  1543. [shapes] Rewrite all shapes drawing functions to use [rlgl]
  1544. [textures] Adapt texture GPU loading to use [rlgl]
  1545. [textures] Added support for DDS images (compressed and uncompressed)
  1546. [textures] CreateTexture() - Redesigned to add mipmap automatic generation
  1547. [textures] DrawTexturePro() - Redesigned and corrected bugs
  1548. [models] Rewrite all 3d-shapes drawing functions to use [rlgl]
  1549. [models] Adapt model loading and drawing to use [rlgl]
  1550. [models] Model struct updated to include texture id
  1551. [models] SetModelTexture() - Added, link a texture to a model
  1552. [models] DrawModelEx() - Redesigned with extended parameters
  1553. [audio] Added music streaming support (OGG files)
  1554. [audio] Added support for OGG files as Sound
  1555. [audio] PlayMusicStream() - Added, open a new music stream and play it
  1556. [audio] StopMusicStream() - Added, stop music stream playing and close stream
  1557. [audio] PauseMusicStream() - Added, pause music stream playing
  1558. [audio] MusicIsPlaying() - Added, to check if music is playing
  1559. [audio] SetMusicVolume() - Added, set volume for music
  1560. [audio] GetMusicTimeLength() - Added, get current music time length (in seconds)
  1561. [audio] GetMusicTimePlayed() - Added, get current music time played (in seconds)
  1562. [utils] Added log tracing functionality - TraceLog(), TraceLogOpen(), TraceLogClose()
  1563. [*] Log tracing messages all around the code
  1564. -----------------------------------------------
  1565. Release: raylib 1.0.6 (16 March 2014)
  1566. -----------------------------------------------
  1567. [core] Removed unused lighting-system code
  1568. [core] Removed SetPerspective() function, calculated directly
  1569. [core] Unload and reload default font on fullscreen toggle
  1570. [core] Corrected bug gamepad buttons checking if no gamepad available
  1571. [texture] DrawTextureV() - Added, to draw using Vector2 for position
  1572. [texture] LoadTexture() - Redesigned, now uses LoadImage() + CreateTexture()
  1573. [text] FormatText() - Corrected memory leak bug
  1574. [models] Added Matrix struct and related functions
  1575. [models] DrawBillboard() - Reviewed, now it works!
  1576. [models] DrawBillboardRec() - Reviewed, now it works!
  1577. [tests] Added folder with multiple tests for new functions
  1578. -----------------------------------------------
  1579. Update: raylib 1.0.5 (28 January 2014)
  1580. -----------------------------------------------
  1581. [audio] LoadSound() - Corrected a bug, WAV file was not closed!
  1582. [core] GetMouseWheelMove() - Added, check mouse wheel Y movement
  1583. [texture] CreateTexture2D() renamed to CreateTexture()
  1584. [models] LoadHeightmap() - Added, Heightmap can be loaded as a Model
  1585. [tool] rREM updated, now supports (partially) drag and drop of files
  1586. -----------------------------------------------
  1587. Release: raylib 1.0.4 (23 January 2014)
  1588. -----------------------------------------------
  1589. [tool] Published a first alpha version of rREM tool (raylib Resource Embedder)
  1590. [core] GetRandomValue() - Bug corrected, now works right
  1591. [core] Fade() - Added, fades a color to an alpha percentadge
  1592. [core] WriteBitmap() - Moved to new module: utils.c, not used anymore
  1593. [core] TakeScreenshot() - Now uses WritePNG() (utils.c)
  1594. [utils] New module created with utility functions
  1595. [utils] WritePNG() - Write a PNG file (used by TakeScreenshot() on core)
  1596. [utils] DecompressData() - Added, used for rRES resource data decompresion
  1597. [textures] LoadImageFromRES() - Added, load an image from a rRES resource file
  1598. [textures] LoadTextureFromRES() - Added, load a texture from a rRES resource file
  1599. [audio] LoadSoundFromRES() - Added, load a sound from a rRES resource file
  1600. [audio] IsPlaying() - Added, check if a sound is currently playing
  1601. [audio] SetVolume() - Added, set the volume for a sound
  1602. [audio] SetPitch() - Added, set the pitch for a sound
  1603. [examples] ex06a_color_select completed
  1604. [examples] ex06b_logo_anim completed
  1605. [examples] ex06c_font select completed
  1606. -----------------------------------------------
  1607. Release: raylib 1.0.3 (19 December 2013)
  1608. -----------------------------------------------
  1609. [fonts] Added 8 rBMF free fonts to be used on projects!
  1610. [text] LoadSpriteFont() - Now supports rBMF file loading (raylib Bitmap Font)
  1611. [examples] ex05a_sprite_fonts completed
  1612. [examples] ex05b_rbmf_fonts completed
  1613. [core] InitWindowEx() - InitWindow with extended parameters, resizing option and custom cursor!
  1614. [core] GetRandomValue() - Added, returns a random value within a range (int)
  1615. [core] SetExitKey() - Added, sets a key to exit program (default is ESC)
  1616. [core] Custom cursor not drawn when mouse out of screen
  1617. [shapes] CheckCollisionPointRec() - Added, check collision between point and rectangle
  1618. [shapes] CheckCollisionPointCircle() - Added, check collision between point and circle
  1619. [shapes] CheckCollisionPointTriangle() - Added, check collision between point and triangle
  1620. [shapes] DrawPoly() - Added, draw regular polygons of n sides, rotation can be defined!
  1621. -----------------------------------------------
  1622. Release: raylib 1.0.2 (1 December 2013)
  1623. -----------------------------------------------
  1624. [text] GetDefaultFont() - Added, get default SpriteFont to be used on DrawTextEx()
  1625. [shapes] CheckCollisionRecs() - Added, check collision between rectangles
  1626. [shapes] CheckCollisionCircles() - Added, check collision between circles
  1627. [shapes] CheckCollisionCircleRec() - Added, check collision circle-rectangle
  1628. [shapes] GetCollisionRec() - Added, get collision rectangle
  1629. [textures] CreateTexture2D() - Added, create Texture2D from Image data
  1630. [audio] Fixed WAV loading function, now audio works!
  1631. -----------------------------------------------
  1632. Update: raylib 1.0.1 (28 November 2013)
  1633. -----------------------------------------------
  1634. [text] DrawText() - Removed spacing parameter
  1635. [text] MeasureText() - Removed spacing parameter
  1636. [text] DrawFps() - Renamed to DrawFPS() for coherence with similar function
  1637. [core] IsKeyPressed() - Change functionality, check if key pressed once
  1638. [core] IsKeyDown() - Added, check if key is being pressed
  1639. [core] IsKeyReleased() - Change functionality, check if key released once
  1640. [core] IsKeyUp() - Added, check if key is being NOT pressed
  1641. [core] IsMouseButtonDown() - Added, check if mouse button is being pressed
  1642. [core] IsMouseButtonPressed() - Change functionality, check if mouse button pressed once
  1643. [core] IsMouseButtonUp() - Added, check if mouse button is NOT being pressed
  1644. [core] IsMouseButtonReleased() - Change functionality, check if mouse button released once
  1645. [textures] DrawTexturePro() - Added, texture drawing with 'pro' parameters
  1646. [examples] Function changes applied to ALL examples
  1647. -----------------------------------------------
  1648. Release: raylib 1.0.0 (18 November 2013)
  1649. -----------------------------------------------
  1650. * Initial version
  1651. * 6 Modules provided:
  1652. - core: basic window/context creation functions, input management, timing functions
  1653. - shapes: basic shapes drawing functions
  1654. - textures: image data loading and conversion to OpenGL textures
  1655. - text: text drawing, sprite fonts loading, default font loading
  1656. - models: basic 3d shapes drawing, OBJ models loading and drawing
  1657. - audio: audio device initialization, WAV files loading and playing