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.

2599 lines
165 KiB

1 month ago
1 month ago
1 month ago
1 month 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
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
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 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
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
8 years ago
8 years ago
8 years ago
8 years ago
7 years ago
8 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 5.5 (18 November 2024)
  4. -------------------------------------------------------------------------
  5. Release: raylib 5.5 (18 November 2024)
  6. -------------------------------------------------------------------------
  7. KEY CHANGES:
  8. - New tool: raylib project creator
  9. - New rcore backends: RGFW and SDL3
  10. - New platforms supported: Dreamcast, N64, PSP, PSVita, PS4
  11. - Added GPU Skinning support (all platforms and GL versions)
  12. - Added raymath C++ operators
  13. Detailed changes:
  14. WIP: Last update with commit from 02-Nov-2024
  15. [rcore] ADDED: Working directory info at initialization by @Ray
  16. [rcore] ADDED: `GetClipboardImage()`, supported by multiple backends (#4459) by @evertonse
  17. [rcore] ADDED: `MakeDirectory()`, supporting recursive directory creation by @Ray
  18. [rcore] ADDED: `ComputeSHA1()` (#4390) by @Anthony Carbajal
  19. [rcore] ADDED: `ComputeCRC32()` and `ComputeMD5()` by @Ray
  20. [rcore] ADDED: `GetKeyName()` (#4161) by @MrScautHD
  21. [rcore] ADDED: `IsFileNameValid()` by @Ray
  22. [rcore] ADDED: `GetViewRay()`, viewport independent raycast (#3709) by @Luís Almeida
  23. [rcore] RENAMED: `GetMouseRay()` to `GetScreenToWorldRay()` (#3830) by @Ray
  24. [rcore] RENAMED: `GetViewRay()` to `GetScreenToWorldRayEx()` (#3830) by @Ray
  25. [rcore] REVIEWED: `GetApplicationDirectory()` for FreeBSD (#4318) by @base
  26. [rcore] REVIEWED: `LoadDirectoryFilesEx()`/`ScanDirectoryFiles()`, support directory on filter (#4302) by @foxblock
  27. [rcore] REVIEWED: Update comments on fullscreen and boderless window to describe what they do (#4280) by @Jeffery Myers
  28. [rcore] REVIEWED: Correct processing of mouse wheel on Automation events #4263 by @Ray
  29. [rcore] REVIEWED: Fix gamepad axis movement and its automation event recording (#4184) by @maxmutant
  30. [rcore] REVIEWED: Do not set RL_TEXTURE_FILTER_LINEAR when high dpi flag is enabled (#4189) by @Dave Green
  31. [rcore] REVIEWED: `GetScreenWidth()`/`GetScreenHeight()` (#4074) by @Anthony Carbajal
  32. [rcore] REVIEWED: Initial window dimensions checks (#3950) by @Christian Haas
  33. [rcore] REVIEWED: Set default init values for random #3954 by @Ray
  34. [rcore] REVIEWED: Window positioning, avoid out-of-screen window-bar by @Ray
  35. [rcore] REVIEWED: Fix framerate recording for .gif (#3894) by @Rob Loach
  36. [rcore] REVIEWED: Screen space related functions consistency (#3830) by @aiafrasinei
  37. [rcore] REVIEWED: `GetFileNameWithoutExt()` (#3771) by @oblerion
  38. [rcore] REVIEWED: `GetWindowScaleDPI()`, simplified (#3701) by @Karl Zylinski
  39. [rcore] REVIEWED: `UnloadAutomationEventList()` (#3658) by @Antonis Geralis
  40. [rcore] REVIEWED: Flip VR screens (#3633) by @Matthew Oros
  41. [rcore] REVIEWED: Remove unused vScreenCenter (#3632) by @Matthew Oros
  42. [rcore] REVIEWED: `LoadRandomSequence()`, issue in sequence generation #3612 by @Ray
  43. [rcore] REVIEWED: `IsMouseButtonUp()` (#3609) by @Kenneth M
  44. [rcore] REVIEWED: Fix typos in src/platforms/rcore_*.c (#3581) by @RadsammyT
  45. [rcore] REVIEWED: `ExportDataAsCode()`, change sanitization check (#3837) by @Laurentino Luna
  46. [rcore] REVIEWED: `ExportDataAsCode()`, add little sanitization to indentifier names (#3832) by @4rk
  47. [rcore] REVIEWED: `GetScreenWidth()`/`GetScreenHeight()` align with all platforms (#4451) by @Arche Washi
  48. [rcore] REVIEWED: `SetGamepadVibration()`, added duration parameter (#4410) by @Asdqwe -WARNING-
  49. [rcore] REVIEWED: `GetGamepadAxisMovement()`, fix #4405 (#4420) by @Asdqwe
  50. [rcore] REVIEWED: `GetGestureHoldDuration()` comments by @Ray
  51. [rcore][rlgl] REVIEWED: Fix scale issues when ending a view mode (#3746) by @Jeffery Myers
  52. [rcore][GLFW] REVIEWED: Keep CORE.Window.position properly in sync with glfw window position (#4190) by @Dave Green
  53. [rcore][GLFW] REVIEWED: Set AUTO_ICONIFY flag to false per default (#4188) by @Dave Green
  54. [rcore][GLFW] REVIEWED: `InitPlatform()`, add workaround for NetBSD (#4139) by @NishiOwO
  55. [rcore][GLFW] REVIEWED: Fix window not initializing on primary monitor (#3923) by @Rafael Bordoni
  56. [rcore][GLFW] REVIEWED: Set relative mouse mode when the cursor is disabled (#3874) by @Jeffery Myers
  57. [rcore][GLFW] REVIEWED: Remove GLFW mouse passthrough hack and increase GLFW version in CMake (#3852) by @Alexandre Almeida
  58. [rcore][GLFW] REVIEWED: Updated GLFW to 3.4 (#3827) by @Alexandre Almeida
  59. [rcore][GLFW] REVIEWED: Feature test macros before include (#3737) by @John
  60. [rcore][GLFW] REVIEWED: Fix inconsistent dll linkage warning on windows (#4447) by @Jeffery Myers
  61. [rcore][Web] ADDED: `SetWindowOpacity()` implementation (#4403) by @Asdqwe
  62. [rcore][Web] ADDED: `MaximizeWindow()` and `RestoreWindow()` implementations (#4397) by @Asdqwe
  63. [rcore][Web] ADDED: `ToggleFullscreen()` implementation (#3634) by @ubkp
  64. [rcore][Web] ADDED: `GetWindowPosition()` implementation (#3637) by @ubkp
  65. [rcore][Web] ADDED: `ToggleBorderlessWindowed()` implementation (#3622) by @ubkp
  66. [rcore][Web] ADDED: `GetMonitorWidth()` and `GetMonitorHeight()` implementations (#3636) by @ubkp
  67. [rcore][Web] REVIEWED: Update `SetWindowState()` and `ClearWindowState()` to handle `FLAG_WINDOW_MAXIMIZED` (#4402) by @Asdqwe
  68. [rcore][Web] REVIEWED: `WindowSizeCallback()`, do not try to handle DPI, already managed by GLFW (#4143) by @SuperUserNameMan
  69. [rcore][Web] REVIEWED: Relative mouse mode issues (#3940) by @Cemal Gönültaş
  70. [rcore][Web] REVIEWED: `ShowCursor()`, `HideCursor()` and `SetMouseCursor()` (#3647) by @ubkp
  71. [rcore][Web] REVIEWED: Fix CORE.Input.Mouse.cursorHidden with callbacks (#3644) by @ubkp
  72. [rcore][Web] REVIEWED: Fix `IsMouseButtonUp()` (#3611) by @ubkp
  73. [rcore][Web] REVIEWED: HighDPI support #3372 by @Ray
  74. [rcore][Web] REVIEWED: `SetWindowSize()` (#4452) by @Asdqwe
  75. [rcore][Web] REVIEWED: `EmscriptenResizeCallback()`, simplified (#4415) by @Asdqwe
  76. [rcore][SDL] ADDED: `IsCursorOnScreen()` (#3862) by @Peter0x44
  77. [rcore][SDL] ADDED: Gamepad rumble/vibration support (#3819) by @GideonSerf
  78. [rcore][SDL] REVIEWED: Gamepad support (#3776) by @A
  79. [rcore][SDL] REVIEWED: `GetWorkingDirectory()`, return correct path (#4392) by @Asdqwe
  80. [rcore][SDL] REVIEWED: `GetClipboardText()`, fix memory leak (#4354) by @Asdqwe
  81. [rcore][SDL] REVIEWED: Change SDL_Joystick to SDL_GameController (#4129) by @Frank Kartheuser
  82. [rcore][SDL] REVIEWED: Update storage base path, use provided SDL base path by @Ray
  83. [rcore][SDL] REVIEWED: Call SDL_GL_SetSwapInterval() after GL context creation (#3997) by @JupiterRider
  84. [rcore][SDL] REVIEWED: `GetKeyPressed()` (#3869) by @Arthur
  85. [rcore][SDL] REVIEWED: Fix SDL multitouch tracking (#3810) by @mooff
  86. [rcore][SDL] REVIEWED: Fix `SUPPORT_WINMM_HIGHRES_TIMER` (#3679) by @ubkp
  87. [rcore][SDL] REVIEWED: SDL text input to Unicode codepoints #3650 by @Ray
  88. [rcore][SDL] REVIEWED: `IsMouseButtonUp()` and add touch events (#3610) by @ubkp
  89. [rcore][SDL] REVIEWED: Fix real touch gestures (#3614) by @ubkp
  90. [rcore][SDL] REVIEWED: `IsKeyPressedRepeat()` (#3605) by @ubkp
  91. [rcore][SDL] REVIEWED: `GetKeyPressed()` and `GetCharPressed()` for SDL (#3604) by @ubkp
  92. [rcore][SDL] REVIEWED: `SetMousePosition()` for SDL (#3580) by @ubkp
  93. [rcore][SDL] REVIEWED: `SetWindowIcon()` for SDL (#3578) by @ubkp
  94. [rcore][SDL][rlgl] REVIEWED: Fix for running gles2 with SDL on desktop (#3542) by @_Tradam
  95. [rcore][Android] REVIEWED: Issue with isGpuReady flag (#4340) by @Menno van der Graaf
  96. [rcore][Android] REVIEWED: Allow main() to return it its caller on configuration changes (#4288) by @Hesham Abourgheba
  97. [rcore][Android] REVIEWED: Replace deprecated Android function ALooper_pollAll with ALooper_pollOnce (#4275) by @Menno van der Graaf
  98. [rcore][Android] REVIEWED: `PollInputEvents()`, register previous gamepad events (#3910) by @Aria
  99. [rcore][Android] REVIEWED: Fix Android keycode translation and duplicate key constants (#3733) by @Alexandre Almeida
  100. [rcore][DRM] ADDED: uConsole keys mapping (#4297) by @carverdamien
  101. [rcore][DRM] ADDED: `GetMonitorWidth/Height()` (#3956) by @gabriel-marques
  102. [rcore][DRM] REVIEWED: `IsMouseButtonUp()` (#3611) by @ubkp
  103. [rcore][DRM] REVIEWED: Optimize gesture handling (#3616) by @ubkp
  104. [rcore][DRM] REVIEWED: `IsKeyPressedRepeat()` for PLATFORM_DRM direct input (#3583) by @ubkp
  105. [rcore][DRM] REVIEWED: Fix gamepad buttons not working in drm backend (#3888) by @MrMugame
  106. [rcore][DRM] REVIEWED: DRM backend to only use one api to allow for more devices (#3879) by @MrMugame
  107. [rcore][DRM] REVIEWED: Avoid separate thread when polling for gamepad events (#3641) by @Cinghy Creations
  108. [rcore][DRM] REVIEWED: Connector status reported as UNKNOWN but should be considered as CONNECTED (#4305) by @Michał Jaskólski
  109. [rcore][RGFW] ADDED: RGFW, new rcore backend platform (#3941) by @Colleague Riley
  110. [rcore][RGFW] REVIEWED: RGFW 1.0 (#4144) by @Colleague Riley
  111. [rcore][RGFW] REVIEWED: Fix errors when compiling with mingw (#4282) by @Colleague Riley
  112. [rcore][RGFW] REVIEWED: Replace long switch with a lookup table (#4108) by @Colleague Riley
  113. [rcore][RGFW] REVIEWED: Fix MSVC build errors (#4441) by @Colleague Riley
  114. [rlgl] ADDED: More uniform data type options #4137 by @Ray
  115. [rlgl] ADDED: Vertex normals for RLGL immediate drawing mode (#3866) by @bohonghuang -WARNING-
  116. [rlgl] ADDED: `rlCullDistance*()` variables and getters (#3912) by @KotzaBoss
  117. [rlgl] ADDED: `rlSetClipPlanes()` function (#3912) by @KotzaBoss
  118. [rlgl] ADDED: `isGpuReady` flag, allow font loading with no GPU acceleration by @Ray -WARNING-
  119. [rlgl] REVIEWED: Changed RLGL_VERSION from 4.5 to 5.0 (#3914) by @Mute
  120. [rlgl] REVIEWED: Shader load failing returns 0, instead of fallback by @Ray -WARNING-
  121. [rlgl] REVIEWED: Standalone mode default flags (#4334) by @Asdqwe
  122. [rlgl] REVIEWED: Fix hardcoded index values in vboID array (#4312) by @Jett
  123. [rlgl] REVIEWED: GLint64 did not exist before OpenGL 3.2 (#4284) by @Tchan0
  124. [rlgl] REVIEWED: Extra warnings in case OpenGL 4.3 is not enabled (#4202) by @Maxim Knyazkin
  125. [rlgl] REVIEWED: Using GLint64 for glGetBufferParameteri64v() (#4197) by @Randy Palamar
  126. [rlgl] REVIEWED: Replace `glGetInteger64v()` with `glGetBufferParameteri64v()` (#4154) by @Kai Kitagawa-Jones
  127. [rlgl] REVIEWED: `rlMultMatrixf()`, fix matrix multiplication order (#3935) by @bohonghuang
  128. [rlgl] REVIEWED: `rlSetVertexAttribute()`, define last parameter as offset #3800 by @Ray
  129. [rlgl] REVIEWED: `rlDisableVertexAttribute()`, remove redundat calls for SHADER_LOC_VERTEX_COLOR (#3871) by @Kacper Zybała
  130. [rlgl] REVIEWED: `rlLoadTextureCubemap()`, load mipmaps for cubemaps (#4429) by @Nikolas
  131. [rlgl] REVIEWED: `rlLoadFramebuffer()`, parameters not required by @Ray
  132. [rlgl] REVIEWED: `rlSetUniformSampler()` (#3759) by @veins1
  133. [rlgl] REVIEWED: Renamed near/far variables (#4039) by @jgabaut
  134. [rlgl] REVIEWED: Expose OpenGL symbols (#3588) by @Peter0x44
  135. [rlgl] REVIEWED: Fix OpenGL 1.1 build issues (#3876) by @Ray
  136. [rlgl] REVIEWED: Fixed compilation for OpenGL ES (#4243) by @Maxim Knyazkin
  137. [rlgl] REVIEWED: rlgl function description and comments by @Ray
  138. [rlgl] REVIEWED: Expose glad functions when building raylib as a shared lib (#3572) by @Peter0x44
  139. [rlgl] REVIEWED: Fix version info in rlgl.h (#3558) by @Steven Schveighoffer
  140. [rlgl] REVIEWED: Use the vertex color to the base shader in GLSL330 (#4431) by @Jeffery Myers
  141. [rcamera] REVIEWED: Make camera movement independant of framerate (#4247) by @hanaxars -WARNING-
  142. [rcamera] REVIEWED: Updated camera speeds with GetFrameTime() (#4362) by @Anthony Carbajal
  143. [rcamera] REVIEWED: `UpdateCamera()`, added CAMERA_CUSTOM check (#3938) by @Tomas Fabrizio Orsi
  144. [rcamera] REVIEWED: Support mouse/keyboard and gamepad coexistence for input (#3579) by @ubkp
  145. [rcamera] REVIEWED: Cleaned away unused macros(#3762) by @Brian E
  146. [rcamera] REVIEWED: Fix for free camera mode (#3603) by @lesleyrs
  147. [rcamera] REVIEWED: `GetCameraRight()` (#3784) by @Danil
  148. [raymath] ADDED: C++ operator overloads for common math function (#4385) by @Jeffery Myers -WARNING-
  149. [raymath] ADDED: Vector4 math functions and Vector2 variants of some Vector3 functions (#3828) by @Bowserinator
  150. [raymath] REVIEWED: Fix MSVC warnings/errors in C++ (#4125) by @Jeffery Myers
  151. [raymath] REVIEWED: Add extern "C" to raymath header for C++ (#3978) by @Jeffery Myers
  152. [raymath] REVIEWED: `QuaternionFromAxisAngle()`, remove redundant axis length calculation (#3900) by @jtainer
  153. [raymath] REVIEWED: `Vector3Perpendicular()`, avoid implicit conversion from float to double (#3799) by @João Foscarini
  154. [raymath] REVIEWED: `MatrixDecompose()`, incorrect output for certain scale and rotations (#4461) by @waveydave
  155. [raymath] REVIEWED: Small code refactor (#3753) by @Idir Carlos Aliane
  156. [rshapes] ADDED: `CheckCollisionCircleLine()` (#4018) by @kai-z99
  157. [rshapes] REVIEWED: Multisegment Bezier splines (#3744) by @Santiago Pelufo
  158. [rshapes] REVIEWED: Expose shapes drawing texture and rectangle (#3677) by @Jeffery Myers
  159. [rshapes] REVIEWED: `DrawLine()` #4075 by @Ray
  160. [rshapes] REVIEWED: `DrawPixel()` drawing by @Ray
  161. [rshapes] REVIEWED: `DrawLine()` to avoid pixel rounding issues #3931 by @Ray
  162. [rshapes] REVIEWED: `DrawRectangleLines()`, considering view matrix for lines "alignment" by @Ray
  163. [rshapes] REVIEWED: `DrawRectangleLines()`, pixel offset (#4261) by @RadsammyT
  164. [rshapes] REVIEWED: `DrawRectangleLines()`, pixel offset when scaling (#3884) by @Ray
  165. [rshapes] REVIEWED: `DrawRectangleLinesEx()`, make sure accounts for square tiles (#4382) by @Jojaby
  166. [rshapes] REVIEWED: `Draw*Gradient()` color parameter names (#4270) by @Paperdomo101
  167. [rshapes] REVIEWED: `DrawGrid()`, remove duplicate color calls (#4148) by @Jeffery Myers
  168. [rshapes] REVIEWED: `DrawSplineLinear()` to `SUPPORT_SPLINE_MITERS` by @Ray
  169. [rshapes] REVIEWED: `DrawSplineLinear()`, implement miters (#3585) by @Toctave
  170. [rshapes] REVIEWED: `CheckCollisionPointRec()` by @Ray
  171. [rshapes] REVIEWED: `CheckCollisionPointCircle()`, new implementation (#4135) by @kai-z99
  172. [rshapes] REVIEWED: `CheckCollisionCircles()`, optimized (#4065) by @kai-z99
  173. [rshapes] REVIEWED: `CheckCollisionPointPoly()` (#3750) by @Antonio Raúl
  174. [rshapes] REVIEWED: `CheckCollisionCircleRec()` (#3584) by @ubkp
  175. [rshapes] REVIEWED: Add more detail to function comment (#4344) by @Jeffery Myers
  176. [rshapes] REVIEWED: Functions that draw point arrays take them as const (#4051) by @Jeffery Myers
  177. [rtextures] ADDED: `ColorIsEqual()` by @Ray
  178. [rtextures] ADDED: `ColorLerp()`, to mix 2 colors together (#4310) by @SusgUY446
  179. [rtextures] ADDED: `LoadImageAnimFromMemory()` (#3681) by @IoIxD
  180. [rtextures] ADDED: `ImageKernelConvolution()` (#3528) by @Karim
  181. [rtextures] ADDED: `ImageFromChannel()` (#4105) by @Bruno Cabral
  182. [rtextures] ADDED: `ImageDrawLineEx()` (#4097) by @Le Juez Victor
  183. [rtextures] ADDED: `ImageDrawTriangle()` (#4094) by @Le Juez Victor
  184. [rtextures] REMOVED: SVG files loading and drawing, moving it to raylib-extras by @Ray -WARNING-
  185. [rtextures] REVIEWED: `LoadImage()`, added support for 3-channel QOI images (#4384) by @R-YaTian
  186. [rtextures] REVIEWED: `LoadImageRaw()` #3926 by @Ray
  187. [rtextures] REVIEWED: `LoadImageColors()`, advance k in loop (#4120) by @Bruno Cabral
  188. [rtextures] REVIEWED: `LoadTextureCubemap()`, added `mipmaps` #3665 by @Ray
  189. [rtextures] REVIEWED: `LoadTextureCubemap()`, assign format to cubemap (#3823) by @Gary M
  190. [rtextures] REVIEWED: `LoadTextureCubemap()`, load mipmaps for cubemaps (#4429) by @Nikolas
  191. [rtextures] REVIEWED: `LoadTextureCubemap()`, avoid dangling re-allocated pointers (#4439) by @Nikolas
  192. [rtextures] REVIEWED: `LoadImageFromScreen()`, fix scaling (#3881) by @proberge-dev
  193. [rtextures] REVIEWED: `LoadImageFromMemory()`, warnings on invalid image data (#4179) by @Jutastre
  194. [rtextures] REVIEWED: `LoadImageAnimFromMemory()`, added security checks (#3924) by @Ray
  195. [rtextures] REVIEWED: `ImageColorTint()` and `ColorTint()`, optimized (#4015) by @Le Juez Victor
  196. [rtextures] REVIEWED: `ImageKernelConvolution()`, formating and warnings by @Ray
  197. [rtextures] REVIEWED: `ImageDrawRectangleRec`, fix bounds check (#3732) by @Blockguy24
  198. [rtextures] REVIEWED: `ImageResizeCanvas()`, implemented fill color (#3720) by @Lieven Petersen
  199. [rtextures] REVIEWED: `ImageDrawRectangleRec()` (#3721) by @Le Juez Victor
  200. [rtextures] REVIEWED: `ImageDraw()`, don't try to blend images without alpha (#4395) by @Nikolas
  201. [rtextures] REVIEWED: `GenImagePerlinNoise()` being stretched (#4276) by @Bugsia
  202. [rtextures] REVIEWED: `GenImageGradientLinear()`, fix some angles (#4462) by @decromo
  203. [rtextures] REVIEWED: `DrawTexturePro()` to avoid negative dest rec #4316 by @Ray
  204. [rtextures] REVIEWED: `ColorToInt()`, fix undefined behaviour (#3996) by @OetkenPurveyorOfCode
  205. [rtextures] REVIEWED: Remove panorama cubemap layout option (#4425) by @Jeffery Myers
  206. [rtextures] REVIEWED: Removed unneeded module check, `rtextures` should not depend on `rtext` by @Ray
  207. [rtextures] REVIEWED: Simplified for loop for some image manipulation functions (#3712) by @Alice Nyaa
  208. [rtext] ADDED: BDF fonts support (#3735) by @Stanley Fuller -WARNING-
  209. [rtext] ADDED: `TextToCamel()` (#4033) by @IoIxD
  210. [rtext] ADDED: `TextToSnake()` (#4033) by @IoIxD
  211. [rtext] ADDED: `TextToFloat()` (#3627) by @Benjamin Schmid Ties
  212. [rtext] REDESIGNED: `SetTextLineSpacing()` by @Ray -WARNING-
  213. [rtext] REVIEWED: `LoadFontDataBDF()` name and formating by @Ray
  214. [rtext] REVIEWED: `LoadFontDefault()`, initialize glyphs and recs to zero #4319 by @Ray
  215. [rtext] REVIEWED: `LoadFontEx()`, avoid default font fallback (#4077) by @Peter0x44 -WARNING-
  216. [rtext] REVIEWED: `LoadBMFont()`, extended functionality (#3536) by @Dongkun Lee
  217. [rtext] REVIEWED: `LoadBMFont()`, issue on not glyph data initialized by @Ray
  218. [rtext] REVIEWED: `LoadFontFromMemory()`, use strncpy() to fix buffer overflow (#3795) by @Mingjie Shen
  219. [rtext] REVIEWED: `LoadCodepoints()` returning a freed ptr when count is 0 (#4089) by @Alice Nyaa
  220. [rtext] REVIEWED: `LoadFontData()` avoid fallback glyphs by @Ray -WARNING-
  221. [rtext] REVIEWED: `LoadFontData()`, load image only if glyph has been found in font by @Ray
  222. [rtext] REVIEWED: `ExportFontAsCode()`, fix C++ compiler errors (#4013) by @DarkAssassin23
  223. [rtext] REVIEWED: `MeasureTextEx()` height calculation (#3770) by @Marrony Neris
  224. [rtext] REVIEWED: `MeasureTextEx()`, additional check for empty input string (#4448) by @mpv-enjoyer
  225. [rtext] REVIEWED: `CodepointToUTF8()`, clean static buffer #4379 by @Ray
  226. [rtext] REVIEWED: `TextToFloat()`, always multiply by sign (#4273) by @listeria
  227. [rtext] REVIEWED: `TextReplace()` const correctness (#3678) by @maverikou
  228. [rtext] REVIEWED: `TextToFloat()`, coding style (#3627) by @Benjamin Schmid Ties
  229. [rtext] REVIEWED: Some comments to align to style (#3756) by @Idir Carlos Aliane
  230. [rtext] REVIEWED: Adjust font atlas area calculation so padding area is not underestimated at small font sizes (#3719) by @Tim Romero
  231. [rmodels] ADDED: GPU skinning support for models animations (#4321) by @Daniel Holden -WARNING-
  232. [rmodels] ADDED: Support 16-bit unsigned short vec4 format for gltf joint loading (#3821) by @Gary M
  233. [rmodels] ADDED: Support animation names for the m3d model format (#3714) by @kolunmi
  234. [rmodels] ADDED: `DrawModelPoints()`, more performant point cloud rendering (#4203) by @Reese Gallagher
  235. [rmodels] ADDED: `ExportMeshAsCode()` by @Ray
  236. [rmodels] REVIEWED: Multiple updates to gltf loading, improved macro (#4373) by @Harald Scheirich
  237. [rmodels] REVIEWED: `LoadOBJ()`, correctly split obj meshes by material (#4285) by @Jeffery Myers
  238. [rmodels] REVIEWED: `LoadOBJ()`, add warning when loading an OBJ with multiple materials (#4271) by @Jeffery Myers
  239. [rmodels] REVIEWED: `LoadOBJ()`, fix bug that fragmented the loaded meshes (#4494) by @Eike Decker
  240. [rmodels] REVIEWED: `LoadIQM()`, set model.meshMaterial[] (#4092) by @SuperUserNameMan
  241. [rmodels] REVIEWED: `LoadIQM()`, attempt to load texture from IQM at loadtime (#4029) by @Jett
  242. [rmodels] REVIEWED: `LoadM3D(), fix vertex colors for m3d files (#3859) by @Jeffery Myers
  243. [rmodels] REVIEWED: `LoadGLTF()`, supporting additional vertex data formats (#3546) by @MrScautHD
  244. [rmodels] REVIEWED: `LoadGLTF()`, correctly handle the node hierarchy in a glTF file (#4037) by @Paul Melis
  245. [rmodels] REVIEWED: `LoadGLTF()`, replaced SQUAD quat interpolation with cubic hermite (gltf 2.0 specs) (#3920) by @Benji
  246. [rmodels] REVIEWED: `LoadGLTF()`, support 2nd texture coordinates loading by @Ray
  247. [rmodels] REVIEWED: `LoadGLTF()`, support additional vertex attributes data formats #3890 by @Ray
  248. [rmodels] REVIEWED: `LoadGLTF()`, set cgltf callbacks to use `LoadFileData()` and `UnloadFileData()` (#3652) by @kolunmi
  249. [rmodels] REVIEWED: `LoadGLTF()`, JOINTS loading #3836 by @Ray
  250. [rmodels] REVIEWED: `LoadImageFromCgltfImage()`, fix base64 padding support (#4112) by @SuperUserNameMan
  251. [rmodels] REVIEWED: `LoadModelAnimationsIQM()`, fix corrupted animation names (#4026) by @Jett
  252. [rmodels] REVIEWED: `LoadModelAnimationsGLTF()`, load animations with 1 frame (#3804) by @Nikita Blizniuk
  253. [rmodels] REVIEWED: `LoadModelAnimationsGLTF()`, added missing interpolation types (#3919) by @Benji
  254. [rmodels] REVIEWED: `LoadModelAnimationsGLTF()` (#4107) by @VitoTringolo
  255. [rmodels] REVIEWED: `LoadBoneInfoGLTF()`, add check for animation name being NULL (#4053) by @VitoTringolo
  256. [rmodels] REVIEWED: `GenMeshSphere()`, fix artifacts (#4460) by @MikiZX1
  257. [rmodels] REVIEWED: `GenMeshTangents()`, read uninitialized values, fix bounding case (#4066) by @kai-z99
  258. [rmodels] REVIEWED: `GenMeshTangents()`, fixed out of bounds error (#3990) by @Salvador Galindo
  259. [rmodels] REVIEWED: `UpdateModelAnimation()`, performance speedup (#4470) by @JettMonstersGoBoom
  260. [rmodels] REVIEWED: `DrawCylinder()`, fix drawing due to imprecise angle (#4034) by @Paul Melis
  261. [rmodels] REVIEWED: `DrawCylinder()`, fix drawing of cap (#4478) by @JeffM2501
  262. [rmodels] REVIEWED: `DrawMesh()`, send full matModel to shader in DrawMesh (#4005) (#4022) by @David Holland
  263. [rmodels] REVIEWED: `DrawMesh()`, fix material specular map retrieval (#3758) by @Victor Gallet
  264. [rmodels] REVIEWED: `DrawModelEx()`, simplified multiplication of colors (#4002) by @Le Juez Victor
  265. [rmodels] REVIEWED: `DrawBillboardPro()`, to be consistend with `DrawTexturePro()` (#4132) by @bohonghuang
  266. [rmodels] REVIEWED: `DrawSphereEx()` optimization (#4106) by @smalltimewizard
  267. [raudio] REVIEWED: `LoadMusicStreamFromMemory()`, support 24-bit FLACs (#4279) by @konstruktor227
  268. [raudio] REVIEWED: `LoadWaveSamples()`, fix mapping of wave data (#4062) by @listeria
  269. [raudio] REVIEWED: `LoadMusicStream()`, remove drwav_uninit() (#3986) by @FishingHacks
  270. [raudio] REVIEWED: `LoadMusicStream()` qoa and wav loading (#3966) by @veins1
  271. [raudio] REVIEWED: `ExportWaveAsCode()`, segfault (#3769) by @IoIxD
  272. [raudio] REVIEWED: `WaveCrop()`, fix issues and use frames instead of samples (#3994) by @listeria
  273. [raudio] REVIEWED: Crash from multithreading issues (#3907) by @Christian Haas
  274. [raudio] REVIEWED: Reset music.ctxType if loading wasn't succesful (#3917) by @veins1
  275. [raudio] REVIEWED: Added missing functions in "standalone" mode (#3760) by @Alessandro Nikolaev
  276. [raudio] REVIEWED: Disable unused miniaudio features (#3544) by @Alexandre Almeida
  277. [raudio] REVIEWED: Fix crash when switching playback device at runtime (#4102) by @jkaup
  278. [raudio] REVIEWED: Support 24 bits samples for FLAC format (#4058) by @Alexey Kutepov
  279. [examples] ADDED: `core_random_sequence` (#3846) by @Dalton Overmyer
  280. [examples] ADDED: `core_input_virtual_controls` (#4342) by @oblerion
  281. [examples] ADDED: `shapes_rectangle_advanced `, implementing `DrawRectangleRoundedGradientH()` (#4435) by @Everton Jr.
  282. [examples] ADDED: `models_bone_socket` (#3833) by @iP
  283. [examples] ADDED: `shaders_vertex_displacement` (#4186) by @Alex ZH
  284. [examples] ADDED: `shaders_shadowmap` (#3653) by @TheManTheMythTheGameDev
  285. [examples] REVIEWED: `core_2d_camera_platformer` by @Ray
  286. [examples] REVIEWED: `core_2d_camera_mouse_zoom`, use logarithmic scaling for a 2d zoom functionality (#3977) by @Mike Will
  287. [examples] REVIEWED: `core_input_gamepad_info`, all buttons displayed within the window (#4241) by @Asdqwe
  288. [examples] REVIEWED: `core_input_gamepad_info`, show ps3 controller (#4040) by @Konrad Gutvik Grande
  289. [examples] REVIEWED: `core_input_gamepad`, add drawing for generic gamepad (#4424) by @Asdqwe
  290. [examples] REVIEWED: `core_input_gamepad`, add deadzone handling (#4422) by @Asdqwe
  291. [examples] REVIEWED: `shapes_bouncing_ball` (#4226) by @Anthony Carbajal
  292. [examples] REVIEWED: `shapes_following_eyes` (#3710) by @Hongyu Ouyang
  293. [examples] REVIEWED: `shapes_draw_rectangle_rounded` by @Ray
  294. [examples] REVIEWED: `shapes_draw_ring`, fix other examples (#4211) by @kai-z99
  295. [examples] REVIEWED: `shapes_lines_bezier` by @Ray
  296. [examples] REVIEWED: `textures_image_kernel` #3556 by @Ray
  297. [examples] REVIEWED: `text_input_box` (#4229) by @Anthony Carbajal
  298. [examples] REVIEWED: `text_writing_anim` (#4230) by @Anthony Carbajal
  299. [examples] REVIEWED: `models_billboard` by @Ray
  300. [examples] REVIEWED: `models_cubicmap` by @Ray
  301. [examples] REVIEWED: `models_point_rendering` by @Ray
  302. [examples] REVIEWED: `models_box_collisions` (#4224) by @Anthony Carbajal
  303. [examples] REVIEWED: `models_skybox`, do not use HDR by default (#4115) by @Jeffery Myers
  304. [examples] REVIEWED: `shaders_basic_pbr` (#4225) by @Anthony Carbajal
  305. [examples] REVIEWED: `shaders_palette_switch` by @Ray
  306. [examples] REVIEWED: `shaders_hybrid_render` (#3908) by @Yousif
  307. [examples] REVIEWED: `shaders_lighting_instancing`, fix vertex shader (#4056) by @Karl Zylinski
  308. [examples] REVIEWED: `shaders_raymarching`, add `raymarching.fs` for GLSL120 (#4183) by @CDM15y
  309. [examples] REVIEWED: `shaders_shadowmap`, fix shaders for GLSL 1.20 (#4167) by @CDM15y
  310. [examples] REVIEWED: `shaders_deferred_render` (#3655) by @Jett
  311. [examples] REVIEWED: `shaders_basic_pbr` (#3621) by @devdad
  312. [examples] REVIEWED: `shaders_basic_pbr`, remove dependencies (#3649) by @TheManTheMythTheGameDev
  313. [examples] REVIEWED: `shaders_basic_pbr`, added more comments by @Ray
  314. [examples] REVIEWED: `shaders_gpu_skinning`, to work with OpenGL ES 2.0 #4412 by @Ray
  315. [examples] REVIEWED: `shaders_model_shader`, use free camera (#4428) by @IcyLeave6109
  316. [examples] REVIEWED: `audio_stream_effects` (#3618) by @lipx
  317. [examples] REVIEWED: `audio_raw_stream` (#3624) by @riadbettole
  318. [examples] REVIEWED: `audio_mixed_processor` (#4214) by @Anthony Carbajal
  319. [examples] REVIEWED: `raylib_opengl_interop`, fix building on PLATFORM_DESKTOP_SDL (#3826) by @Peter0x44
  320. [examples] REVIEWED: Update examples missing UnloadTexture() calls (#4234) by @Anthony Carbajal
  321. [examples] REVIEWED: Added GLSL 100 and 120 shaders to lightmap example (#3543) by @Jussi Viitala
  322. [examples] REVIEWED: Set FPS to always 60 in all exampels (#4235) by @Anthony Carbajal
  323. [build] REVIEWED: Makefile by @Ray
  324. [build] REVIEWED: Makefile, fix wrong flag #3593 by @Ray
  325. [build] REVIEWED: Makefile, disable wayland by default (#4369) by @Anthony Carbajal
  326. [build] REVIEWED: Makefile, VSCode, fix to support multiple .c files (#4391) by @Alan Arrecis
  327. [build] REVIEWED: Makefile, fix -Wstringop-truncation warning (#4096) by @Peter0x44
  328. [build] REVIEWED: Makefile, fix issues for RGFW on Linux/macOS (#3969) by @Colleague Riley
  329. [build] REVIEWED: Makefile, update RAYLIB_VERSION (#3901) by @Belllg
  330. [build] REVIEWED: Makefile, use mingw32-make for Windows (#4436) by @Asdqwe
  331. [build] REVIEWED: Makefile, move CUSTOM_CFLAGS for better visibility (#4054) by @Lázaro Albuquerque
  332. [build] REVIEWED: Makefile, update emsdk paths to latest versions by @Ray
  333. [build] REVIEWED: Makefile examples, align /usr/local with /src Makefile (#4286) by @Tchan0
  334. [build] REVIEWED: Makefile examples, added `textures_image_kernel` (#3555) by @Sergey Zapunidi
  335. [build] REVIEWED: Makefile examples (#4209) by @Anthony Carbajal
  336. [build] REVIEWED: Makefile examples, to work on NetBSD (#4438) by @NishiOwO
  337. [build] REVIEWED: Makefile examples, WebGL2 (OpenGL ES 3.0) backend flags #4330 by @Ray
  338. [build] REVIEWED: Makefile examples, web building (#4434) by @Asdqwe
  339. [build] REVIEWED: build.zig, fix various issues around `-Dconfig` (#4398) by @Sage Hane
  340. [build] REVIEWED: build.zig, fix type mismatch (#4383) by @yuval_dev
  341. [build] REVIEWED: build.zig, minor fixes (#4381) by @Sage Hane
  342. [build] REVIEWED: build.zig, fix @src logic and a few things (#4380) by @Sage Hane
  343. [build] REVIEWED: build.zig, improve logic (#4375) by @Sage Hane
  344. [build] REVIEWED: build.zig, issues (#4374) by @William Culver
  345. [build] REVIEWED: build.zig, issues (#4366) by @Visen
  346. [build] REVIEWED: build.zig, support desktop backend change (#4358) by @Nikolas
  347. [build] REVIEWED: build.zig, use zig fmt (#4242) by @freakmangd
  348. [build] REVIEWED: build.zig, check if wayland-scanner is installed (#4217) by @lnc3l0t
  349. [build] REVIEWED: build.zig, override config.h definitions (#4193) by @lnc3l0t
  350. [build] REVIEWED: build.zig, support GLFW platform detection (#4150) by @InventorXtreme
  351. [build] REVIEWED: build.zig, make emscripten build compatible with Zig 0.13.0 (#4121) by @Mike Will
  352. [build] REVIEWED: build.zig, pass the real build.zig file (#4113) by @InKryption
  353. [build] REVIEWED: build.zig, leverage `dependencyFromBuildZig` (#4109) by @InKryption
  354. [build] REVIEWED: build.zig, run examples from their directories (#4063) by @Mike Will
  355. [build] REVIEWED: build.zig, fix raygui build when using addRaygui externally (#4027) by @Viktor Pocedulić
  356. [build] REVIEWED: build.zig, fix emscripten build (#4012) by @Dylan
  357. [build] REVIEWED: build.zig, update to zig 0.12.0dev while keeping 0.11.0 compatibility (#3715) by @freakmangd
  358. [build] REVIEWED: build.zig, drop support for 0.11.0 and use more idiomatic build script code (#3927) by @freakmangd
  359. [build] REVIEWED: build.zig, sdd shared library build option and update to zig 0.12.0-dev.2139 (#3727) by @Andrew Lee
  360. [build] REVIEWED: build.zig, add `opengl_version` option (#3979) by @Alexei Mozaidze
  361. [build] REVIEWED: build.zig, fix local dependency break (#3913) by @freakmangd
  362. [build] REVIEWED: build.zig, fix breaking builds for Zig v0.11.0 (#3896) by @iarkn
  363. [build] REVIEWED: build.zig, update to latest version and simplify (#3905) by @freakmangd
  364. [build] REVIEWED: build.zig, remove all uses of deps/mingw (#3805) by @Peter0x44
  365. [build] REVIEWED: build.zig, fixed illegal instruction crash (#3682) by @WisonYe
  366. [build] REVIEWED: build.zig, fix broken build on #3863 (#3891) by @Nikolas Mauropoulos
  367. [build] REVIEWED: build.zig, improve cross-compilation (#4468) by @deathbeam
  368. [build] REVIEWED: CMake, update to raylib 5.0 (#3623) by @Peter0x44
  369. [build] REVIEWED: CMake, added PLATFORM option for Desktop SDL (#3809) by @mooff
  370. [build] REVIEWED: CMake, fix GRAPHICS_* check (#4359) by @Kacper Zybała
  371. [build] REVIEWED: CMake, examples projects (#4332) by @Ridge3Dproductions
  372. [build] REVIEWED: CMake, fix warnings in projects/CMake/CMakeLists.txt (#4278) by @Peter0x44
  373. [build] REVIEWED: CMake, delete BuildOptions.cmake (#4277) by @Peter0x44
  374. [build] REVIEWED: CMake, update version to 5.0 so libraries are correctly versioned (#3615) by @David Williams
  375. [build] REVIEWED: CMake, improved linkage flags to save 28KB on the final bundle (#4177) by @Lázaro Albuquerque
  376. [build] REVIEWED: CMake, support OpenGL ES3 in `LibraryConfigurations.cmake` (#4079) by @manuel5975p
  377. [build] REVIEWED: CMake, `config.h` fully available to users (#4044) by @Lázaro Albuquerque
  378. [build] REVIEWED: CMake, pass -sFULL_ES3 instead of -sFULL_ES3=1 (#4090) by @manuel5975p
  379. [build] REVIEWED: CMake, SDL build link the glfw dependency (#3860) by @Rob Loach
  380. [build] REVIEWED: CMake, infer CMAKE_MODULE_PATH in super-build (#4042) by @fruzitent
  381. [build] REVIEWED: CMake, remove USE_WAYLAND option (#3851) by @Alexandre Almeida
  382. [build] REVIEWED: CMake, disable SDL rlgl_standalone example (#3861) by @Rob Loach
  383. [build] REVIEWED: CMake, bump version required to avoid deprecated #3639 by @Ray
  384. [build] REVIEWED: CMake, fix examples linking -DPLATFORM=SDL (#3825) by @Peter0x44
  385. [build] REVIEWED: CMake, don't build for wayland by default (#4432) by @Peter0x44
  386. [build] REVIEWED: VS2022, misc improvements by @Ray
  387. [build] REVIEWED: VS2022, fix build warnings (#4095) by @Jeffery Myers
  388. [build] REVIEWED: VS2022, added new examples (#4492) by @Jeffery Myers
  389. [build] REVIEWED: Fix fix-build-paths (#3849) by @Caleb Barger
  390. [build] REVIEWED: Fix build paths (#3835) by @Steve Biedermann
  391. [build] REVIEWED: Fix VSCode sample project for macOS (#3666) by @Tim Romero
  392. [build] REVIEWED: Fix some warnings on web builds and remove some redundant flags (#4069) by @Lázaro Albuquerque
  393. [build] REVIEWED: Fix examples not building with gestures system disabled (#4020) by @Sprix
  394. [build] REVIEWED: Fix GLFW runtime platform detection (#3863) by @Alexandre Almeida
  395. [build] REVIEWED: Fix DRM cross-compile without sysroot (#3839) by @Christian W. Zuckschwerdt
  396. [build] REVIEWED: Fix cmake-built libraylib.a to properly include GLFW's object files (#3598) by @Peter0x44
  397. [build] REVIEWED: Hide unneeded internal symbols when building raylib as an so or dylib (#3573) by @Peter0x44
  398. [build] REVIEWED: Corrected the path of android ndk toolchains for OSX platforms (#3574) by @Emmanuel Méra
  399. [build][CI] ADDED: Automatic update for raylib_api.* (#3692) by @seiren
  400. [build][CI] REVIEWED: Update workflows to use latest actions/upload-artifact by @Ray
  401. [build][CI] REVIEWED: CodeQL minor tweaks to avoid some warnings by @Ray
  402. [build][CI] REVIEWED: Update linux_examples.yml by @Ray
  403. [build][CI] REVIEWED: Update linux.yml by @Ray
  404. [build][CI] REVIEWED: Update webassembly.yml by @Ray
  405. [build][CI] REVIEWED: Update cmake.yml by @Ray
  406. [build][CI] REVIEWED: Update codeql.yml, exclude src/external files by @Ray
  407. [bindings] ADDED: raylib-APL (#4253) by @Brian E
  408. [bindings] ADDED: raylib-bqn, moved rayed-bqn (#4331) by @Brian E
  409. [bindings] ADDED: brainfuck binding (#4169) by @_Tradam
  410. [bindings] ADDED: raylib-zig-bindings (#4004) by @Lionel Briand
  411. [bindings] ADDED: Raylib-CSharp wrapper (#3963) by @MrScautHD
  412. [bindings] ADDED: COBOL binding (#3661) by @glowiak
  413. [bindings] ADDED: raylib-beef binding (#3640) by @Braedon Lewis
  414. [bindings] ADDED: Raylib-CSharp-Vinculum (#3571) by @Danil
  415. [bindings] REVIEWED: Remove broken-link bindings #3899 by @Ray
  416. [bindings] REVIEWED: Updated some versions on BINDINGS.md by @Ray
  417. [bindings] REVIEWED: Removed umaintained repos (#3999) by @Antonis Geralis
  418. [bindings] REDESIGNED: Add binding link to name, instead of separate column (#3995) by @Carmine Pietroluongo
  419. [bindings] UPDATED: h-raylib (#4378) by @Anand Swaroop
  420. [bindings] UPDATED: Raylib.lean, to master version (#4337) by @Daniil Kisel
  421. [bindings] UPDATED: raybit, to latest master (#4311) by @Alex
  422. [bindings] UPDATED: dray binding (#4163) by @red thing
  423. [bindings] UPDATED: Julia (#4068) by @ShalokShalom
  424. [bindings] UPDATED: nim to latest master (#3999) by @Antonis Geralis
  425. [bindings] UPDATED: raylib-rs (#3991) by @IoIxD
  426. [bindings] UPDATED: raylib-zig version (#3902) by @Nikolas
  427. [bindings] UPDATED: raylib-odin (#3868) by @joyousblunder
  428. [bindings] UPDATED: Raylib VAPI (#3829) by @Alex Macafee
  429. [bindings] UPDATED: Raylib-cs (#3774) by @Brandon Baker
  430. [bindings] UPDATED: h-raylib (#3739) by @Anand Swaroop
  431. [bindings] UPDATED: OCaml bindings version (#3730) by @Tobias Mock
  432. [bindings] UPDATED: Raylib.c3 (#3689) by @Kenta
  433. [bindings] UPDATED: ray-cyber to 5.0 (#3654) by @fubark
  434. [bindings] UPDATED: raylib-freebasic binding (#3591) by @WIITD
  435. [bindings] UPDATED: SmallBASIC (#3562) by @Chris Warren-Smith
  436. [bindings] UPDATED: Python raylib-py v5.0.0beta1 (#3557) by @Jorge A. Gomes
  437. [bindings] UPDATED: raylib-d binding (#3561) by @Steven Schveighoffer
  438. [bindings] UPDATED: Janet (#3553) by @Dmitry Matveyev
  439. [bindings] UPDATED: Raylib.nelua (#3552) by @Auz
  440. [bindings] UPDATED: raylib-cpp to 5.0 (#3551) by @Rob Loach
  441. [bindings] UPDATED: Pascal binding (#3548) by @Gunko Vadim
  442. [external] UPDATED: stb_truetype.h to latest version by @Ray
  443. [external] UPDATED: stb_image_resize2.h to latest version by @Ray
  444. [external] UPDATED: stb_image.h to latest version by @Ray
  445. [external] UPDATED: qoa.h to latest version by @Ray
  446. [external] UPDATED: dr_wav.h to latest version by @Ray
  447. [external] UPDATED: dr_mp3.h to latest version by @Ray
  448. [external] UPDATED: cgltf.h to latest version by @Ray
  449. [external] REVIEWED: rl_gputex, correctly load mipmaps from DDS files (#4399) by @Nikolas
  450. [external] REVIEWED: stb_image_resize2, dix vld1q_f16 undeclared in arm (#4309) by @masnm
  451. [external] REVIEWED: miniaudio, fix library and Makefile for NetBSD (#4212) by @NishiOwO
  452. [external] REVIEWED: raygui, update to latest version 4.5-dev (#4238) by @Anthony Carbajal
  453. [external] REVIEWED: jar_xml, replace unicode characters by ascii characters to avoid warning in MSVC (#4196) by @Rico P
  454. [external] REVIEWED: vox_loader, normals and new voxels shader (#3843) by @johann nadalutti
  455. [parser] REVIEWED: README.md, to mirror fixed help text (#4336) by @Daniil Kisel
  456. [parser] REVIEWED: Fix seg fault with long comment lines (#4306) by @Chris Warren-Smith
  457. [parser] REVIEWED: Don't crash for files that don't end in newlines (#3981) by @Peter0x44
  458. [parser] REVIEWED: Issues in usage example help text (#4084) by @Peter0x44
  459. [parser] REVIEWED: Fix parsing of empty parentheses (#3974) by @Filyus
  460. [parser] REVIEWED: Address parsing issue when generating XML #3893 by @Ray
  461. [parser] REVIEWED: `MemoryCopy()`, prevent buffer overflow by replacing hard-coded arguments (#4011) by @avx0
  462. [misc] ADDED: Create logo/raylib.icns by @Ray
  463. [misc] ADDED: Create logo/raylib_1024x1024.png by @Ray
  464. [misc] ADDED: Default vertex/fragment shader for OpenGL ES 3.0 (#4178) by @Lázaro Albuquerque
  465. [misc] REVIEWED: README.md, fix Reddit badge (#4136) by @Ninad Sachania
  466. [misc] REVIEWED: .gitignore, ignore compiled dll binaries (#3628) by @2Bear
  467. [misc] REVIEWED: Fix undesired scrollbars on web shell files (#4104) by @jspast
  468. [misc] REVIEWED: Made comments on raylib.h match comments in rcamera.h (#3942) by @Tomas Fabrizio Orsi
  469. [misc] REVIEWED: Make raylib/raygui work better on touchscreen (#3728) by @Hongyu Ouyang
  470. [misc] REVIEWED: Update config.h by @Ray
  471. -------------------------------------------------------------------------
  472. Release: raylib 5.0 - 10th Anniversary Edition (18 November 2023)
  473. -------------------------------------------------------------------------
  474. KEY CHANGES:
  475. - REDESIGNED: rcore module platform-split, by @ubkp, @michaelfiber, @Bigfoot71, @raysan5
  476. - ADDED: New platform backend supported: SDL
  477. - ADDED: New platform backend supported: Nintendo Switch (closed source)
  478. - ADDED: New Splines drawing and evaluation API
  479. - ADDED: New pseudo-random numbers generator: rprand
  480. - ADDED: Automation Events System API
  481. - UPDATED: raygui 4.0: New version of this immediate-mode gui system for tools development with raylib
  482. Detailed changes:
  483. [rcore] ADDED: RAYLIB_VERSION_* values to raylib.h (#2856) by @RobLoach
  484. [rcore] ADDED: IsKeyPressedRepeat() on PLATFORM_DESKTOP (#3245) by @actondev
  485. [rcore] ADDED: SetWindowTitle() for PLATFORM_WEB (#3222) by @VitusVeit
  486. [rcore] ADDED: FLAG_WINDOW_RESIZABLE for web (#3305) by @Peter0x44
  487. [rcore] ADDED: SetWindowMaxSize() for desktop and web (#3309) by @ubkp
  488. [rcore] ADDED: SetMouseCursor() for PLATFORM_WEB (#3414) by @BeardedBread
  489. [rcore] ADDED: LoadRandomSequence()/UnloadRandomSequence() by @raysan5
  490. [rcore] REMOVED: PLATFORM_RPI (#3232) by @michaelfiber
  491. [rcore] REVIEWED: GetFileLength(), added comment (#3262) by @raysan5
  492. [rcore] REVIEWED: Default shaders precission issue on PLATFORM_WEB (#3261) by @branc116
  493. [rcore] REVIEWED: IsKey*() key validation checks (#3256) by @n77y
  494. [rcore] REVIEWED: SetClipboardText() for PLATFORM_WEB (#3257) by @ubkp
  495. [rcore] REVIEWED: Check if Ctrl modifier is among the currently set modifiers (#3230) by @mohad12211
  496. [rcore] REVIEWED: Android app black screen when reopening by @Bigfoot71
  497. [rcore] REVIEWED: Warnings when casting int to floats (#3218) by @JeffM2501
  498. [rcore] REVIEWED: GetCurrentMonitor() detection inconsistency issue (#3215) by @ubkp
  499. [rcore] REVIEWED: SetWindowMonitor() to no longer force fullscreen (#3209) by @ubkp
  500. [rcore] REVIEWED: Fix mouse wheel not working in PLATFORM_RPI or PLATFORM_DRM (#3193) by @ubkp
  501. [rcore] REVIEWED: GetMonitorName() description (#3184) (#3189) by @danilwhale
  502. [rcore] REVIEWED: BeginScissorMode(), identify rendering to texture (#3510) by @gulrak
  503. [rcore] REVIEWED: Window flags order (#3114) by @lesleyrs
  504. [rcore] REVIEWED: Full movement for right analog stick (#3095) by @PixelPhobicGames
  505. [rcore] REVIEWED: Fix Android app freeze after calling CloseWindow() (#3067) by @Bigfoot71
  506. [rcore] REVIEWED: Lazy loading of default font used on image drawing (no InitWindow) by @raysan5
  507. [rcore] REVIEWED: Minor tweaks to raylib events automation system @raysan5
  508. [rcore] REVIEWED: GetCurrentMonitor() bugfix (#3058) by @hamyyy
  509. [rcore] REVIEWED: Update CORE.Input.Touch.pointCount (#3024) by @raysan5
  510. [rcore] REVIEWED: Mouse offset and scaling must be considered also on web!
  511. [rcore] REVIEWED: CompressData(), possible stack overflow
  512. [rcore] REVIEWED: GetWorldToScreenEx() (#3351) by @Brian-ED
  513. [rcore] REVIEWED: Fix GetMouseDelta() issue for Android (#3404) by @Bigfoot71
  514. [rcore] REVIEWED: GetFPS(), reset FPS averages when window is inited (#3445) by @JeffM2501
  515. [rcore] REVIEWED: GetCurrentMonitor(), check window center position by @M374LX
  516. [rcore] REVIEWED: GetRender*() issue on macOS highDPI (#3367) by @raysan5
  517. [rcore] REVIEWED: ScanDirectoryFiles*(), paths building slashes sides (#3507)
  518. [rlgl] ADDED: Experimental support for OpenGL ES 3.0 by @raysan5
  519. [rlgl] ADDED: Support 16-Bit HDR textures (#3220) by @Not-Nik
  520. [rlgl] ADDED: rlEnablePointMode() (#3490) by @JettMonstersGoBoom
  521. [rlgl] ADDED: rlBlitFramebuffer(), required for deferred render
  522. [rlgl] REVIEWED: LoadModel(), removed cube fallback mechanism (#3459)
  523. [rlgl] REVIEWED: Improved support for ES3/WebGL2 (#3107) by @chemaguerra
  524. [rlgl] REVIEWED: OpenGL 2.1 half floats support as part of an extension by @Not-Nik
  525. [rlgl] REVIEWED: Avoid shader attribute not found log by @raysan5
  526. [rlgl] REVIEWED: Avoid tracelog about not found uniforms (#3003) by @raysan5
  527. [rlgl] REVIEWED: rLoadTexture() UBSAN complaints #1891 (#3321) by @Codom
  528. [rlgl] REVIEWED: glInternalFormat as unsigned int
  529. [rlgl] REVIEWED: OpenGL ES 3.0 support
  530. [rshapes] ADDED: Spline drawing functions by @raysan5
  531. [rshapes] ADDED: GetSplinePoint*() functions for spline evaluation by @raysan5
  532. [rshapes] ADDED: DrawCircleLinesV() for consistency (#3452) by @Peter0x44
  533. [rshapes] REVIEWED: DrawSplineCatmullRom() by @raysan5
  534. [rshapes] REVIEWED: Minor fix in DrawLineBezier* (#3006) by @eternalStudent
  535. [rshapes] REVIEWED: GetCollisionRec(), more performant (#3052) by @manuel5975p
  536. [rshapes] REVIEWED: Fix off-by-one error in CheckCollisionPointRec() (#3022) by @dbechrd
  537. [rtextures] ADDED: Basic SVG loading support (#2738) by @bXi
  538. [rtextures] ADDED: Support 16-Bit HDR textures (#3220) by @Not-Nik
  539. [rtextures] ADDED: ExportImageToMemory() by @raysan5
  540. [rtextures] ADDED: ImageRotate() (#3078) by @danemadsen
  541. [rtextures] ADDED: GenImageGradientSquare() (#3077) by @danemadsen
  542. [rtextures] ADDED: GenImageLinearGradient() by @danemadsen
  543. [rtextures] REMOVED: GenImageGradientH() and GenImageGradientV() by @danemadsen
  544. [rtextures] REVIEWED: LoadImageSvg() by @raysan5
  545. [rtextures] REVIEWED: Uninitialized thread-locals in stbi (#3282) (#3283) by @jbarthelmes
  546. [rtextures] REVIEWED: ImageDrawRectangleRec(), validate drawing inside bounds by @JeffM2501
  547. [rtextures] REVIEWED: LoadTextureCubemap() for manual layouts (#3204) by @Not-Nik
  548. [rtextures] REVIEWED: Optimization of ImageDrawRectangleRec() (#3185) by @smalltimewizard
  549. [rtextures] REVIEWED: ImageRotate() formatting by @raysan5
  550. [rtextures] REVIEWED: GenImagePerlinNoise(), clamp values (#3071) by @raysan5
  551. [rtextures] REVIEWED: Packing logic error in GenImageFontAtlas() (#2979) by @hanaxar
  552. [rtextures] REVIEWED: Calculate exact image size in GenImageFontAtlas() (#2963) by @hanaxar
  553. [rtextures] REVIEWED: ImageDrawRectangleRec() (#3027) by @raysan5
  554. [rtextures] REVIEWED: ImageDraw() source clipping when drawing beyond top left (#3306) by @RobLoach
  555. [rtextures] REVIEWED: UnloadRenderTexture(), additional checks
  556. [rtextures] REVIEWED: Fixed compressed DDS texture loading issues (#3483) by @JaanDev
  557. [rtext] ADDED: Font altas white rectangle and flag SUPPORT_FONT_ATLAS_WHITE_REC by @raysan5
  558. [rtext] ADDED: SetTextLineSpacing() to define line breaks text drawing spacing by @raysan5
  559. [rtext] RENAMED: LoadFont*() parameter names for consistency and coherence by @raysan5
  560. [rtext] REVIEWED: GetCodepointCount(), ignore unused return value of GetCodepointNext by @ashn-dot-dev
  561. [rtext] REVIEWED: TextFormat() warn user if buffer overflow occured (#3399) by @Murlocohol
  562. [rtext] REVIEWED: TextFormat(), added "..." for truncation (#3366) by @raysan5
  563. [rtext] REVIEWED: GetGlyphIndex() (#3000) by @raysan5
  564. [rtext] REVIEWED: GetCodepointNext() to return default value by @chocolate42
  565. [rtext] REVIEWED: TextToPascal() issue when first char is uppercase
  566. [rmodels] ADDED: ModelAnimation.name field, initially with GLTF animation names by @alfredbaudisch
  567. [rmodels] REDESIGNED: LoadOBJ(), avoid mesh splitting by materials, fix (#3398) by @raysan5
  568. [rmodels] REVIEWED: Support .vox model files version 200 (#3097) by @Bigfoot71
  569. [rmodels] REVIEWED: Materials loading (#3126) @raysan5
  570. [rmodels] REVIEWED: DrawBillboardPro() to allow source of negative size (#3197) by @bohonghuang
  571. [rmodels] REVIEWED: glTF loading segfault in animNormals memcpy by @charles-l
  572. [rmodels] REVIEWED: LoadModelAnimationsGLTF(), free fileData after use (#3065) by @crynux
  573. [rmodels] REVIEWED: GenMeshCubicmap(), correction of values (#3032) by @Bigfoot71
  574. [rmodels] REVIEWED: DrawMesh() to avoid UBSAN complaining (#1891)
  575. [rmodels] REVIEWED: GenMeshPlane() when resX != resZ (#3425) by @neyrox, @s-yablonskiy
  576. [rmodels] REVIEWED: GetModelBoundingBox() (#3485)
  577. [raudio] ADDED: LoadSoundAlias() by @JeffM2501
  578. [raudio] ADDED: Missing structure on standalone mode (#3160) by @raysan5
  579. [raudio] ADDED: GetMasterVolume() (#3434) by @rexim
  580. [raudio] REVIEWED: Comments about sample format to AttachAudioStreamProcessor() (#3188) by @AlbertoGP
  581. [raudio] REVIEWED: Documented buffer format for audio processors (#3186) by @AlbertoGP
  582. [raudio] REVIEWED: ExportWaveAsCode() file saving by @RadsammyT
  583. [raudio] REVIEWED: Fix warning on discarded const qualifier (#2967) by @RobLoach
  584. [raudio] REVIEWED: Move mutex initialization before ma_device_start() (#3325) by @Bigfoot71
  585. [raudio] REVIEWED: Fix UpdateSound() parameter name (#3405) by @KislyjKisel
  586. [raudio] REVIEWED: Fix QOA seeking (#3494) by @veins1
  587. [rcamera] REVIEWED: File-macros for consistency (#3161) by @raysan5
  588. [rcamera] REVIEWED: Support analog stick camera controls (#3066) by @PixelPhobicGames
  589. [rcamera] REVIEWED: CameraMoveToTarget(), ensure distance is greater than 0 (#3031) by @kolunmi
  590. [rcamera] REVIEWED: Exposing rcamera functions to the dll (#3355) by @JeffM2501
  591. [raymath] ADDED: Vector3Projection() and Vector3Rejection() (#3263) by @Dial0
  592. [raymath] ADDED: EPSILON macro to each function requiring it (#3330) by @Brian-ED
  593. [raymath] REVIEWED: Usage of 'sinf()' and 'cosf()' to be correct (#3181) by @RokasPuzonas
  594. [raymath] REVIEWED: Slightly optimized Vector3Normalize() (#2982) by @RicoP
  595. [raymath] REVIEWED: Comment to clarify raymath semantics by @raysan5
  596. [raymath] REVIEWED: Comment about Matrix conventions by @raysan5
  597. [raymath] REVIEWED: Vector2Angle() and Vector2LineAngle() (#3396) by @Murlocohol
  598. [rgestures] REVIEWED: Optimize and simplify the gesture system (#3190) by @ubkp
  599. [rgestures] REVIEWED: GESTURE_DRAG and GESTURE_SWIPE_* issues (mostly) for web (#3183) by @ubkp
  600. [rgestures] REVIEWED: Touch pointCount for web (#3163) by @ubkp
  601. [rgestures] REVIEWED: IsGestureDetected() parameter type
  602. [utils] ADDED: Security checks to file reading (memory allocations) by @raysan5
  603. [utils] REVIEWED: LoadFileData() potential issues with dataSize
  604. [examples] ADDED: shaders_lightmap (#3043) by @nullstare
  605. [examples] ADDED: core_2d_camera_split_screen (#3298) by @gabrielssanches
  606. [examples] ADDED: LoadSoundAlias() usage example (#3223) by @JeffM2501
  607. [examples] ADDED: textures_tiling (#3353) by @luis605
  608. [examples] ADDED: shader_deferred_render (#3496) by @27justin
  609. [examples] RENAMED: 2d_camera examples for consistency
  610. [examples] REVIEWED: Text examples SetTextLineSpacing() to multiline examples by @raysan5
  611. [examples] REVIEWED: examples/shapes/shapes_collision_area.c help instructions (#3279) by @asdqwe
  612. [examples] REVIEWED: examples/shaders/shaders_texture_outline.c help instructions (#3278) by @asdqwe
  613. [examples] REVIEWED: examples/others/easings_testbed.c help instructions and small twe… by @asdqwe
  614. [examples] REVIEWED: example/audio/audio_module_player.c help instructions and small b… by @asdqwe
  615. [examples] REVIEWED: example/models/models_loading_m3d.c controls (#3269) by @asdqwe
  616. [examples] REVIEWED: example/models/models_loading_gltf.c controls (#3268) by @asdqwe
  617. [examples] REVIEWED: text_unicode.c example crashing (#3250) by @ubkp
  618. [examples] REVIEWED: rlgl_standalone.c compilation issue (#3242) by @ubkp
  619. [examples] REVIEWED: core_input_gestures for Web (#3172) by @ubkp
  620. [examples] REVIEWED: core_input_gamepad (#3110) by @iacore
  621. [examples] REVIEWED: examples using raygui to raygui 4.0 by @raysan5
  622. [examples] REVIEWED: Julia set shader example (#3467) by @joshcol9232
  623. [build] ADDED: CMake option for SUPPORT_CUSTOM_FRAME_CONTROL (#3221) by @ubkp
  624. [build] ADDED: New BORDERLESS_WINDOWED_MODE for PLATFORM_DESKTOP (#3216) by @ubkp
  625. [build] ADDED: New examples to VS2022 solution by @raysan5
  626. [build] REVIEWED: Updated Makefile and Makefile.Web, include new examples
  627. [build] REVIEWED: Fix CMake extraneous -lglfw (#3266) by @iacore
  628. [build] REVIEWED: Add missing cmake options (#3267) by @asdqwe
  629. [build] REVIEWED: Match CMakeOptions.txt options default values (#3258) by @asdqwe
  630. [build] REVIEWED: Add build.zig options for individual modules (#3254) by @actondev
  631. [build] REVIEWED: build.zig to work with cross-compiling (#3225) by @yujiri8
  632. [build] REVIEWED: Makefile build on PLATFORM_ANDROID, soname (#3211) by @ndytts
  633. [build] REVIEWED: src/Makefile, fix misleading indentation (#3202) by @ashn-dot-dev
  634. [build] REVIEWED: build.zig: Support for building with PLAFORM_DRM (#3191) by @jakubvf
  635. [build] REVIEWED: Update CMakeOptions.txt by @raysan5
  636. [build] REVIEWED: fix: cmake option "OPENGL_VERSION" doesn't work (#3170) by @royqh1979
  637. [build] REVIEWED: Add error if raylib.h is included in a C++98 program (#3093) by @Peter0x44
  638. [build] REVIEWED: Cross compilation for PLATFORM_DRM (#3091) by @TheLastBilly
  639. [build] REVIEWED: build.zigm fixed cross-compiling from Linux (#3090)by @yujiri8
  640. [build] REVIEWED: Enhanced cmake part for OpenBSD (#3086) by @rayit
  641. [build] REVIEWED: Fixed compile on OpenBSD (#3085)by @rayit
  642. [build] REVIEWED: CMake project example: fix a couple of typos (#3014) by @benjamin-thomas
  643. [build] REVIEWED: Fix warnings in raylib for MSVC (#3004) by @JeffM2501
  644. [build] REVIEWED: Update cmake example project (#3062) by @lesleyrs
  645. [build] REVIEWED: Update build.zig be be able to build with current zig master (#3064) by @ryupold
  646. [build] REVIEWED: VSCode project template (#3048) by @Shoozza
  647. [build] REVIEWED: Fixed broken build.zig files. Now works with latest stable compiler (… by @Gamer-Kold
  648. [build] REVIEWED: Fix missing symbol when rglfw.c on BSD platforms (#2968) by @Koromix
  649. [build] REVIEWED: Update Makefile comment to indicate arm64 as a supported Linux deskto… @ashn-dot-dev
  650. [build] REVIEWED: Update Makefile : clean raygui.c & physac.c (#3296) by @SuperUserNameMan
  651. [build] REVIEWED: Update webassembly.yml and linux.yml
  652. [build] REVIEWED: Update zig build system to zig version 0.11.0 (#3393) by @purple4pur
  653. [build] REVIEWED: Fix for latest zig master (#3037) by @star-tek-mb
  654. [build] REVIEWED: Examples Makefile to use Makefile.Web when building for web (#3449) by @keithstellyes
  655. [build] REVIEWED: build.zig updates for 0.11.0 release. (#3501) by @cabarger
  656. [build] REVIEWED: Support OpenGL ES 3.0 building on Web platform
  657. [build] REVIEWED: Fix warnings in Visual Studio (#3512) by @JeffM2501
  658. [build] REVIEWED: OpenGL ES 3.0 flags on CMakeOptions (#3514) by @awfulcooking
  659. [bindings] ADDED: fortran-raylib
  660. [bindings] ADDED: raylib-raku to bindings (#3299) by @vushu
  661. [bindings] ADDED: claw-raylib to BINDINGS.md (#3310) by @bohonghuang
  662. [bindings] ADDED: vaiorabbit/raylib-bindings (#3318) by @wilsonsilva
  663. [bindings] ADDED: TurboRaylib (#3317) by @turborium
  664. [bindings] ADDED: raylib-ffi to bindings list (#3164) by @ewpratten
  665. [bindings] ADDED: raylib-pkpy-bindings (#3361) by @blueloveTH
  666. [bindings] ADDED: Raylib.lean to BINDINGS.md (#3409) by @KislyjKisel
  667. [bindings] UPDATED: BINDINGS.md (#3217) by @joseph-montanez
  668. [bindings] UPDATED: BINDINGS.md to include rayjs (#3212) by @mode777
  669. [bindings] UPDATED: latest h-raylib version (#3166) by @Anut-py
  670. [bindings] UPDATED: bindbd-raylib3 to raylib 4.5 (#3157) by @o3o
  671. [bindings] UPDATED: Janet bindings supported version update (#3083)by @archydragon
  672. [bindings] UPDATED: BINDINGS.md (raylib-py -> 4.5) (#2992) by @overdev
  673. [bindings] UPDATED: BINDINGS.md (raylib-lua -> 4.5) (#2989) by @TSnake41
  674. [bindings] UPDATED: raylib-d binding version to 4.5 (#2988) by @schveiguy
  675. [bindings] UPDATED: raylib-freebasic to 4.5 (#2986) by @WIITD
  676. [bindings] UPDATED: BINDINGS.md (#2983) by @jarroddavis68
  677. [bindings] UPDATED: BINDINGS.md for raylib Odin 4.5 (#2981) by @gingerBill
  678. [bindings] UPDATED: BINDINGS.md (#2980) by @GuvaCode
  679. [bindings] UPDATED: BINDINGS.md (#3002) by @fubark
  680. [bindings] UPDATED: BINDINGS.md (#3053) by @JupiterRider
  681. [bindings] UPDATED: BINDINGS.md (#3050) by @Its-Kenta
  682. [bindings] UPDATED: CL bindings version (#3049) by @shelvick
  683. [bindings] UPDATED: BINDINGS.md (#3026) by @ChrisDill
  684. [bindings] UPDATED: BINDINGS.md (#3023) by @sDos280
  685. [bindings] UPDATED: BINDINGS.md (#3017) by @Soutaisei
  686. [bindings] UPDATED: Various versions to 4.5 (#2974) by @RobLoach
  687. [bindings] UPDATED: raylib.zig version to 4.5 (#2971) by @ryupold
  688. [bindings] UPDATED: h-raylib version (#2970) by @Anut-py
  689. [bindings] UPDATED: Factor's raylib binding to v4.5 (#3350) by @WraithGlade
  690. [bindings] UPDATED: raylib-ocaml bindings to 4.5 version (#3322) by @tjammer
  691. [bindings] UPDATED: Jaylib binding (#3508) by @glowiak
  692. [external] UPDATED: sdefl and sinfl DEFLATE compression libraries by @raysan5
  693. [external] UPDATED: miniaudio v0.11.12 --> v0.11.19 by @raysan5
  694. [external] UPDATED: rl_gputex.h compressed images loading library by @raysan5
  695. [external] UPDATED: Replaced stb_image_resize.c by stb_image_resize2.h (#3403) by @BabakSamimi
  696. [external] UPDATED: qoi and qoa libraries
  697. [external] UPDATED: stb libraries (required ones)
  698. [external] UPDATED: cgltf and m3d libraries
  699. [external] REVIEWED: msf_gif.h, some warnings
  700. [external] REVIEWED: sinfl external library to avoid ASAN complaints (#3349) by @raysan5
  701. [misc] ADDED: New task point to issue template about checking the wiki (#3169) by @ubkp
  702. [misc] ADDED: CodeQL for static code analysis (#3476) by @b4yuan
  703. [misc] REVIEWED: Update FAQ.md by @raysan5
  704. [misc] REVIEWED: Potential code issues reported by CodeQL (#3476)
  705. [misc] REVIEWED: Fix a link in the FAQ (#3082)by @jasonliang-dev
  706. [misc] REVIEWED: New file formats to FAQ (#3079) by @Luramoth
  707. [misc] REVIEWED: Make assets loading extension case insensitive #3008 by @raysan5
  708. [misc] REVIEWED: Updated web shells open-graph info by @raysan5
  709. -------------------------------------------------------------------------
  710. Release: raylib 4.5 (18 March 2023)
  711. -------------------------------------------------------------------------
  712. KEY CHANGES:
  713. - ADDED: Improved ANGLE support on Desktop platforms
  714. - ADDED: rcamera module, simpler and more extendable
  715. - ADDED: Support for M3D models and M3D/GLTF animations
  716. - ADDED: Support QOA audio format (import/export)
  717. - ADDED: rl_gputex module for compressed textures loading
  718. - REDESIGNED: rlgl module for automatic render-batch limits checking
  719. - REDESIGNED: rshapes module to minimize the rlgl dependency
  720. Detailed changes:
  721. [core] ADDED: RAYLIB_VERSION_* values to raylib.h (#2856) by @RobLoach
  722. [core] ADDED: Basic gamepad support for Android (#2709) by @deniska
  723. [core] ADDED: Support CAPS/NUM lock keys registering if locked
  724. [core] ADDED: _GNU_SOURCE define on Linux (#2729)
  725. [core] ADDED: SetWindowIcons() to set multiple icon image sizes
  726. [core] `WARNING`: RENAMED: Exported raylib version symbol to raylib_version #2671
  727. [core] REMOVED: Touch points on touch up events on Android (#2711) by @deniska
  728. [core] REVIEWED: Window position setup on InitWindow() (#2732) by @RandomErrorMessage
  729. [core] REVIEWED: Touchscreen input related functions on Android (#2702) by @deniska
  730. [core] REVIEWED: Viewport scaling on Android after context rebind (#2703) by @deniska
  731. [core] REVIEWED: ScanDirectoryFilesRecursively() (#2704)
  732. [core] REVIEWED: Gamepad mappings with latest gamecontrollerdb (#2725)
  733. [core] REVIEWED: Monitor order check on app initialization
  734. [core] REVIEWED: Application monitor when opening (#2728, #2731) by @RandomErrorMessage
  735. [core] REVIEWED: Gestures module to use GetTime() if available (#2733) by @RobLoach
  736. [core] REVIEWED: Resolve GLFW3 some symbols re-definition of windows.h in glfw3native (#2643) by @daipom
  737. [core] REVIEWED: OpenURL(), string buffer too short sometimes
  738. [core] REVIEWED: GetRandomValue() range limit warning (#2800) by @Pere001
  739. [core] REVIEWED: UnloadDirectoryFiles()
  740. [core] REVIEWED: GetKeyPressed(), out of range issue (#2814) by @daipom
  741. [core] REVIEWED: GetTime(), renamed variable 'time' to 'nanoSeconds' (#2816) by @jtainer
  742. [core] REVIEWED: LoadShaderFromMemory(), issue with shader linkage
  743. [core] REVIEWED: Avoid possible gamepad index as -1 (#2839)
  744. [core] REVIEWED: SetShaderValue*(), avoid setup uniforms for invalid locations
  745. [core] REVIEWED: GetClipboardText() on PLATFORM_WEB, permissions issues
  746. [core] REVIEWED: Initial window position for display-sized fullscreen (#2742) by @daipom
  747. [core] REVIEWED: Sticky touches input (#2857) by @ImazighenGhost
  748. [core] REVIEWED: Enable GetWindowHandle() on macOS (#2915) by @Not-Nik
  749. [core] REVIEWED: Window position always inits centered in current monitor
  750. [core] REVIEWED: IsWindowFocused() to consider Android App state (#2935)
  751. [core] REVIEWED: GetMonitorWidth() and GetMonitorHeight() (#2934)
  752. [core] REVIEWED: GetWindowHandle() to return Linux window (#2938)
  753. [core] REVIEWED: WindowDropCallback(), additional security check (#2943)
  754. [core] REVIEWED: Security checks for emscripten_run_script() (#2954)
  755. [utils] REVIEWED: TraceLog() message size limit overflow
  756. [rcamera] REDESIGNED: New implementation from scratch (#2563) by @Crydsch
  757. [rcamera] REVIEWED: Make orbital camera work as expected (#2926) by @JeffM2501
  758. [rcamera] REVIEWED: Multiple reviews on the new implementation
  759. [rcamera] ADDED: UpdateCameraPro(), supporting custom user inputs
  760. [rlgl] ADDED: OpenGL ES 2.0 support on PLATFORM_DESKTOP (#2840) by @wtnbgo
  761. [rlgl] ADDED: Separate blending modes for color and alpha, BLEND_CUSTOM_SEPARATE (#2741)
  762. [rlgl] ADDED: rlSetBlendFactorsSeparate and custom blend mode modification checks (#2741) by @pure01fx
  763. [rlgl] ADDED: RL_TEXTURE_MIPMAP_BIAS_RATIO support to `rlTextureParameters()` for OpenGL 3.3 #2674
  764. [rlgl] ADDED: rlCubemapParameters() (#2862) by @GithubPrankster
  765. [rlgl] ADDED: rlSetCullFace() (#2797) by @jtainer
  766. [rlgl] REMOVED: Mipmaps software generation for OpenGL 1.1
  767. [rlgl] REVIEWED: Check for extensions before enabling them (#2706) by @Not-Nik
  768. [rlgl] REVIEWED: SSBO usage to avoid long long data types
  769. [rlgl] REVIEWED: Enable DXT compression on __APPLE__ targets (#2694) by @Not-Nik
  770. [rlgl] REVIEWED: enums exposed and description comments
  771. [rlgl] REVIEWED: rlBindImageTexture(), correct data types (#2808) by @planetis-m
  772. [rlgl] REVIEWED: rlMultMatrixf(), use const pointer (#2807) by @planetis-m
  773. [rlgl] REVIEWED: Expose OpenGL blending mode factors and functions/equations
  774. [rlgl] REVIEWED: rLoadTextureDepth(), issue with depth textures on WebGL (#2824)
  775. [rlgl] REVIEWED: rlUnloadFramebuffer() (#2937)
  776. [raymath] ADDED: Vector2LineAngle() (#2887)
  777. [raymath] REVIEWED: Vector2Angle() (#2829, #2832) by @AlxHnr, @planetis-m
  778. [shapes] ADDED: CheckCollisionPointPoly() (#2685) by @acejacek
  779. [shapes] REVIEWED: DrawPixel*(), use RL_QUADS/RL_TRIANGLES (#2750) by @hatkidchan
  780. [shapes] REVIEWED: DrawLineBezier*(), fix bezier line breaking (#2735, #2767) by @nobytesgiven
  781. [textures] ADDED: ColorBrightness()
  782. [textures] ADDED: ColorTint()
  783. [textures] ADDED: ColorContrast()
  784. [textures] ADDED: Support for PNM images (.ppm, .pgm)
  785. [textures] ADDED: GenImagePerlinNoise()
  786. [textures] ADDED: GenImageText(), generate grayscale image from text byte data
  787. [textures] ADDED: ImageDrawCircleLines(), ImageDrawCircleLinesV() (#2713) by @RobLoach
  788. [textures] ADDED: ImageBlurGaussian() (#2770) by @nobytesgiven
  789. [textures] REVIEWED: Image fileformat support: PIC, PNM
  790. [textures] REVIEWED: ImageTextEx() and ImageDrawTextEx() scaling (#2756) by @hatkidchan
  791. [textures] `WARNING`: REMOVED: DrawTextureQuad()
  792. [textures] `WARNING`: REMOVED: DrawTexturePoly(), function moved to example: `textures_polygon`
  793. [textures] `WARNING`: REMOVED: DrawTextureTiled(),function implementation moved to the textures_tiled.c
  794. [text] ADDED: GetCodepointPrevious()
  795. [text] ADDED: UnloadUTF8(), aligned with LoadUTF8()
  796. [text] `WARNING`: RENAMED: TextCodepointsToUTF8() to LoadUTF8()
  797. [text] `WARNING`: RENAMED: GetCodepoint() -> GetCodepointNext()
  798. [text] REDESIGNED: GetCodepointNext()
  799. [text] REVIEWED: MeasureTextEx(), avoid crash on bad data
  800. [text] REVIEWED: UnloadFontData(), avoid crash on invalid font data
  801. [models] ADDED: Support M3D model file format (meshes and materials) (#2648) by @bztsrc
  802. [models] ADDED: Support for M3D animations (#2648) by @bztsrc
  803. [models] ADDED: GLTF animation support (#2844) by @charles-l
  804. [models] ADDED: DrawCapsule() and DrawCapsuleWires() (#2761) by @IanBand
  805. [models] ADDED: LoadMaterials(), MTL files loading, same code as OBJ loader (#2872) by @JeffM2501
  806. [models] `WARNING`: REMOVED: UnloadModelKeepMeshes()
  807. [models] `WARNING`: REMOVED: DrawCubeTexture(), DrawCubeTextureRec(), functions moved to new example: `models_draw_cube_texture`
  808. [models] REVIEWED: DrawMesh(), using SHADER_LOC_COLOR_SPECULAR as a material map (#2908) by @haved
  809. [models] REVIEWED: LoadM3D() vertex color support (#2878) by @GithubPrankster, @bztsrc
  810. [models] REVIEWED: GenMeshHeightmap() (#2716)
  811. [models] REVIEWED: LoadIQM() (#2676)
  812. [models] REVIEWED: Simplify .vox signature check (#2752) by @CrezyDud
  813. [models] REVIEWED: LoadIQM(), support bone names loading if available (#2882) by @PencilAmazing
  814. [models] REVIEWED: GenMeshTangents(), avoid crash on missing texcoords data (#2927)
  815. [audio] ADDED: Full support for QOA audio file format
  816. [audio] ADDED: Mixed audio processor (#2929) by @hatkidchan
  817. [audio] ADDED: IsWaveReady()`, IsSoundReady(), IsMusicReady() (#2892) by @RobLoach
  818. [audio] `WARNING`: REMOVED: Multichannel audio API: PlaySoundMulti(), StopSoundMulti()
  819. [audio] REVIEWED: Clear PCM buffer state when closing audio device (#2736) by @veins1
  820. [audio] REVIEWED: Android backend selected (#2118, #2875) by @planetis-m
  821. [audio] REVIEWED: Change default threading model for COM objects in miniaudio
  822. [multi] ADDED: IsShaderReady(), IsImageReady(), IsFontReady() (#2892) by @RobLoach
  823. [multi] ADDED: IsModelReady(), IsMaterialReady(), IsTextureReady(), IsRenderTextureReady() (#2895) by @RobLoach
  824. [multi] REVIEWED: Multiple code/comment typos by @sDos280
  825. [multi] REVIEWED: Grammar mistakes and typos (#2914) by @stickM4N
  826. [multi] REVIEWED: Use TRACELOG() macro instead of TraceLog() in internal modules (#2881) by @RobLoach
  827. [examples] ADDED: textures_textured_curve (#2821) by @JeffM2501
  828. [examples] ADDED: models_draw_cube_texture
  829. [examples] ADDED: models_loading_m3d (#2648) by @bztsrc
  830. [examples] ADDED: shaders_write_depth (#2836) by @BugraAlptekinSari
  831. [examples] ADDED: shaders_hybrid_render (#2919) by @BugraAlptekinSari
  832. [examples] REMOVED: audio_multichannel_sound
  833. [examples] RENAMED: Several shaders for naming consistency (#2707)
  834. [examples] RENAMED: lighting_instanced.fs to lighting_instancing.fs (glsl100) (#2805) by @gtrxAC
  835. [examples] REVIEWED: core_custom_logging.c (#2692) by @hartmannathan
  836. [examples] REVIEWED: core_camera_2d_platformer (#2687) by @skylar779
  837. [examples] REVIEWED: core_input_gamepad.c (#2903) by @planetis-m
  838. [examples] REVIEWED: core_custom_frame_control
  839. [examples] REVIEWED: core_drop_files (#2943)
  840. [examples] REVIEWED: text_rectangle_bounds (#2746) by @SzieberthAdam
  841. [examples] REVIEWED: textures_image_processing, added gaussian blurring (#2775) by @nobytesgiven
  842. [examples] REVIEWED: models_billboard, highlighting rotation and draw order (#2779) by @nobytesgiven
  843. [examples] REVIEWED: core_loading_thread, join thread on completion (#2845) by @planetis-m
  844. [examples] REVIEWED: models_loading_gltf
  845. [examples] REVIEWED: Shader lighting.fs for GLSL120 (#2651)
  846. [examples] REVIEWED: text_codepoints_loading.c
  847. [parser] REVIEWED: raylib-parser Makefile (#2765) by @Peter0x44
  848. [build] ADDED: Packaging for distros with deb-based and rpm-based packages (#2877) by @KOLANICH
  849. [build] ADDED: Linkage library -latomic on Linux (only required for ARM32)
  850. [build] ADDED: Required frameworks on macOS (#2793) by @SpexGuy
  851. [build] ADDED: WASM support for Zig build (#2901) by @Not-Nik
  852. [build] ADDED: New raylib examples as VS2022 project (to raylib solution)
  853. [build] REVIEWED: config.h format and inconsistencies
  854. [build] REVIEWED: Zig build to latest master, avoid deprecated functions (#2910) by @star-tek-mb
  855. [build] REVIEWED: CMake project template to easily target raylib version (#2700) by @RobLoach
  856. [build] REVIEWED: PATH for PLATFORM_WEB target (#2647) by @futureapricot
  857. [build] REVIEWED: build.zig to let user decide how to set build mode and linker fixes by @InKryption
  858. [build] REVIEWED: Deprecation error on Android API higher than 23 (#2778) by @anggape
  859. [build] REVIEWED: Android x86 Architecture name (#2783) by @IsaacTCB
  860. [build] REVIEWED: examples/build.zig for the latest Zig version (#2786) by @RomanAkberov
  861. [utils] REVIEWED: ExportDataAsCode() data types (#2787) by @RGDTAB
  862. [build] REVIEWED: Makefile emscripten path (#2785) by @Julianiolo
  863. [build] REVIEWED: Several compilation warnings (for strict rules)
  864. [build] REVIEWED: All github workflows using deprecated actions
  865. [build] REVIEWED: CMake when compiling for web (#2820) by @object71
  866. [build] REVIEWED: DLL build on Windows (#2951) by @Skaytacium
  867. [build] REVIEWED: Avoid MSVC warnings in raylib project (#2871) by @JeffM2501
  868. [build] REVIEWED: Paths in .bat files to build examples (#2870) by @masoudd
  869. [build] REVIEWED: CMake, use GLVND for old cmake versions (#2826) by @simendsjo
  870. [build] REVIEWED: Makefile, multiple tweaks
  871. [build] REVIEWED: CI action: linux_examples.yml
  872. [build] REVIEWED: CI action: cmake.yml
  873. [bindings] ADDED: h-raylib (Haskell) by @Anut-py
  874. [bindings] ADDED: raylib-c3 (C3) by @Its-Kenta
  875. [bindings] ADDED: raylib-umka (Umka) by @RobLoach
  876. [bindings] ADDED: chez-raylib (Chez Scheme) by @Yunoinsky
  877. [bindings] ADDED: raylib-python-ctypes (Python) by @sDos280
  878. [bindings] ADDED: claylib (Common Lisp) by @shelvick
  879. [bindings] ADDED: raylib-vapi (Vala) by @lxmcf
  880. [bindings] ADDED: TurboRaylib (Object Pascal) by @turborium
  881. [bindings] ADDED: Kaylib (Kotlin/Native) by @Its-Kenta
  882. [bindings] ADDED: Raylib-Nelua (Nelua) by @Its-Kenta
  883. [bindings] ADDED: Cyber (Cyber) by @fubark
  884. [bindings] ADDED: raylib-sunder (Sunder) by @ashn-dot-dev
  885. [bindings] ADDED: raylib BQN (#2962) by @Brian-ED
  886. [misc] REVIEWED: Update external libraries to latest versions
  887. -------------------------------------------------------------------------
  888. Release: raylib 4.2 (11 August 2022)
  889. -------------------------------------------------------------------------
  890. KEY CHANGES:
  891. - REMOVED: extras libraries (raygui, physac, rrem, reasings, raudio.h) moved to independent separate repos
  892. - UPDATED: examples: Added creation and update raylib versions and assigned **DIFFICULTY LEVELS**!
  893. - rres 1.0: A custom resource-processing and packaging file format, including tooling and raylib integration examples
  894. - raygui 3.2: New version of the immediate-mode gui system for tools development with raylib
  895. - raylib_parser: Multiple improvements of the raylib parser to automatize bindings generation
  896. - ADDED: New file system API: Reviewed to be more aligned with raylib conventions and one advance function added
  897. - ADDED: New audio stream processors API (_experimental_): Allowing to add custom audio stream data processors using callbacks
  898. Detailed changes:
  899. [multi] ADDED: Frequently Asked Questions (FAQ.md)
  900. [multi] REVIEWED: Multiple trace log messages
  901. [multi] REVIEWED: Avoid some float to double promotions
  902. [multi] REVIEWED: Some functions input parametes that should be const
  903. [multi] REVIEWED: Variables initialization, all variables are initialized on declaration
  904. [multi] REVIEWED: Static array buffers are always re-initialized with memset()
  905. [multi] `WARNING`: RENAMED: Some function input parameters from "length" to "size"
  906. [core] ADDED: GetApplicatonDirectory() (#2256, #2285, #2290) by @JeffM2501
  907. [core] ADDED: raylibVersion symbol, it could be required by some bindings (#2190)
  908. [core] ADDED: SetWindowOpacity() (#2254) by @tusharsingh09
  909. [core] ADDED: GetRenderWidth() and GetRenderHeight() by @ArnaudValensi
  910. [core] ADDED: EnableEventWaiting() and DisableEventWaiting()
  911. [core] ADDED: GetFileLength()
  912. [core] ADDED: Modules info at initialization
  913. [core] ADDED: Support clipboard copy/paste on web
  914. [core] ADDED: Support OpenURL() on Android platform (#2396) by @futureapricot
  915. [core] ADDED: Support MOUSE_PASSTHROUGH (#2516)
  916. [core] ADDED: GetMouseWheelMoveV() (#2517) by @schveiguy
  917. [core] `WARNING`: REMOVED: LoadStorageValue() / SaveStorageValue(), moved to example
  918. [core] `WARNING`: RENAMED: GetDirectoryFiles() to LoadDirectoryFiles()
  919. [core] `WARNING`: RENAMED: `ClearDroppedFiles()` to `UnloadDroppedFiles()`
  920. [core] `WARNING`: RENAMED: GetDroppedFiles() to LoadDroppedFiles()
  921. [core] `WARNING`: RENAMED: `ClearDirectoryFiles()` to `UnloadDirectoryFiles()`
  922. [core] `WARNING`: REDESIGNED: WaitTime() argument from milliseconds to seconds (#2506) by @flashback-fx
  923. [core] REVIEWED: GetMonitorWidth()/GetMonitorHeight() by @gulrak
  924. [core] REVIEWED: GetDirectoryFiles(), maximum files allocation (#2126) by @ampers0x26
  925. [core] REVIEWED: Expose MAX_KEYBOARD_KEYS and MAX_MOUSE_BUTTONS (#2127)
  926. [core] REVIEWED: ExportMesh() (#2138)
  927. [core] REVIEWED: Fullscreen switch on PLATFORM_WEB
  928. [core] REVIEWED: GetMouseWheelMove(), fixed bug
  929. [core] REVIEWED: GetApplicationDirectory() on macOS (#2304)
  930. [core] REVIEWED: ToggleFullscreen()
  931. [core] REVIEWED: Initialize/reset CORE.inputs global state (#2360)
  932. [core] REVIEWED: MouseScrollCallback() (#2371)
  933. [core] REVIEWED: SwapScreenBuffers() for PLATFORM_DRM
  934. [core] REVIEWED: WaitTime(), fix regression causing video stuttering (#2503) by @flashback-fx
  935. [core] REVIEWED: Mouse device support on PLATFORM_DRM (#2381)
  936. [core] REVIEWED: Support OpenBSD timming functions
  937. [core] REVIEWED: Improved boolean definitions (#2485) by @noodlecollie
  938. [core] REVIEWED: TakeScreenshot(), use GetWindowScaleDPI() to calculate size in screenshot/recording (#2446) by @gulrak
  939. [core] REVIEWED: Remove fps requirement for drm connector selection (#2468) by @Crydsch
  940. [core] REVIEWED: IsFileExtension() (#2530)
  941. [camera] REVIEWED: Some camera improvements (#2563)
  942. [rlgl] ADDED: Premultiplied alpha blend mode (#2342) by @megagrump
  943. [rlgl] REVIEWED: VR rendering not taking render target size into account (#2424) by @FireFlyForLife
  944. [rlgl] REVIEWED: Set rlgl internal framebuffer (#2420)
  945. [rlgl] REVIEWED: rlGetCompressedFormatName()
  946. [rlgl] REVIEWED: Display OpenGL 4.3 capabilities with a compile flag (#2124) by @GithubPrankster
  947. [rlgl] REVIEWED: rlUpdateTexture()
  948. [rlgl] REVIEWED: Minimize buffer overflow probability
  949. [rlgl] REVIEWED: Fix scissor mode on macOS (#2170) by @ArnaudValensi
  950. [rlgl] REVIEWED: Clear SSBO buffers on loading (#2185)
  951. [rlgl] REVIEWED: rlLoadShaderCode(), improved shader loading code
  952. [rlgl] REVIEWED: Comment notes about custom blend modes (#2260) by @glorantq
  953. [rlgl] REVIEWED: rlGenTextureMipmaps()
  954. [rlgl] REVIEWED: rlTextureParameters()
  955. [raymath] ADDED: Wrap() (#2522) by @Tekkitslime
  956. [raymath] ADDED: Vector2Transform()
  957. [raymath] ADDED: Vector2DistanceSqr() (#2376) by @AnilBK
  958. [raymath] ADDED: Vector3DistanceSqr() (#2376) by @AnilBK
  959. [raymath] ADDED: Vector2ClampValue(), Vector3ClampValue() (#2428) by @saccharineboi
  960. [raymath] ADDED: Vector3RotateByAxisAngle() (#2590) by @Crydsch
  961. [raymath] `WARNING`: REDESIGNED: Vector2Angle() returns radians instead of degrees (#2193) by @schveiguy
  962. [raymath] `WARNING`: REMOVED: MatrixNormalize() (#2412)
  963. [raymath] REVIEWED: Fix inverse length in Vector2Normalize() (#2189) by @HarriP
  964. [raymath] REVIEWED: Vector2Angle() not working as expected (#2196) by @jdeokkim
  965. [raymath] REVIEWED: Vector2Angle() and Vector3Angle() (#2203) by @trikko
  966. [raymath] REVIEWED: QuaternionInvert(), code simplified (#2324) by @megagrump
  967. [raymath] REVIEWED: QuaternionScale() (#2419) by @tana
  968. [raymath] REVIEWED: Vector2Rotate(), optimized (#2340) by @jdeokkim
  969. [raymath] REVIEWED: QuaternionFromMatrix(), QuaternionEquals() (#2591) by @kirigirihitomi
  970. [raymath] REVIEWED: MatrixRotate*() (#2595, #2599) by @GoodNike
  971. [shapes] REVIEWED: CheckCollision*() consistency
  972. [shapes] REVIEWED: DrawRectanglePro(), support TRIANGLES drawing
  973. [textures] ADDED: Support for QOI image format
  974. [textures] REVIEWED: ImageColorTint(), GetImageColor(), ImageDrawRectangleRec(), optimized functions (#2429) by @AnilBK
  975. [textures] REVIEWED: LoadTextureFromImage(), allow texture loading with no data transfer
  976. [textures] REVIEWED: ImageDraw(), comment to note that f32bit is not supported (#2222)
  977. [textures] REVIEWED: DrawTextureNPatch(), avoid batch overflow (#2401) by @JeffM2501
  978. [textures] REVIEWED: DrawTextureTiled() (#2173)
  979. [textures] REVIEWED: GenImageCellular() (#2178)
  980. [textures] REVIEWED: LoadTextureCubemap() (#2223, #2224)
  981. [textures] REVIEWED: Export format for float 32bit
  982. [textures] REVIEWED: ExportImage(), support export ".jpeg" files
  983. [textures] REVIEWED: ColorAlphaBlend() (#2524) by @royqh1979
  984. [textures] REVIEWED: ImageResize() (#2572)
  985. [textures] REVIEWED: ImageFromImage() (#2594) by @wiertek
  986. [text] ADDED: ExportFontAsCode()
  987. [text] ADDED: DrawTextCodepoints() (#2308) by @siddharthroy12
  988. [text] REVIEWED: TextIsEqual(), protect from NULLs (#2121) by @lukekras
  989. [text] REVIEWED: LoadFontEx(), comment to specify how to get the default character set (#2221) by @JeffM2501
  990. [text] REVIEWED: GenImageFontAtlas(), increase atlas size guesstimate by @megagrump
  991. [text] REVIEWED: GetCodepoint() (#2201)
  992. [text] REVIEWED: GenImageFontAtlas() (#2556)
  993. [text] REVIEWED: ExportFontAsCode() to use given font padding (#2525) by @TheTophatDemon
  994. [models] ADDED: Reference code to load bones id and weight data for animations
  995. [models] `WARNING`: REMOVED: GetRayCollisionModel() (#2405)
  996. [models] REMOVED: GenMeshBinormals()
  997. [models] REVIEWED: External library: vox_loader.h, 64bit issue (#2186)
  998. [models] REVIEWED: Material color loading when no texture material is available (#2298) by @royqh1979
  999. [models] REVIEWED: Fix Undefined Symbol _ftelli64 in cgltf (#2319) by @audinue
  1000. [models] REVIEWED: LoadGLTF(), fix memory leak (#2441, #2442) by @leomonta
  1001. [models] REVIEWED: DrawTriangle3D() batch limits check (#2489)
  1002. [models] REVIEWED: DrawBillboardPro() (#2494)
  1003. [models] REVIEWED: DrawMesh*() issue (#2211)
  1004. [models] REVIEWED: ExportMesh() (#2220)
  1005. [models] REVIEWED: GenMeshCylinder() (#2225)
  1006. [audio] `WARNING`: ADDED: rAudioProcessor pointer to AudioStream struct (used by Sound and Music structs)
  1007. [audio] ADDED: SetSoundPan(), SetMusicPan(), SetAudioStreamPan(), panning support (#2205) by ptarabbia
  1008. [audio] ADDED: Audio stream input callback (#2212) by ptarabbia
  1009. [audio] ADDED: Audio stream processors support (#2212) by ptarabbia
  1010. [audio] REVIEWED: GetMusicTimePlayed(), incorrect value after the stream restarted for XM audio (#2092 #2215) by @ptarabbia
  1011. [audio] REVIEWED: Turn on interpolation for XM playback (#2216) by @ptarabbia
  1012. [audio] REVIEWED: Fix crash with delay example (#2472) by @ptarabbia
  1013. [audio] REVIEWED: PlaySoundMulti() (#2231)
  1014. [audio] REVIEWED: ExportWaveAsCode()
  1015. [audio] REVIEWED: UpdateMusicStream(), reduce dynamic allocations (#2532) by @dbechrd
  1016. [audio] REVIEWED: UpdateMusicStream() to support proper stream looping (#2579) by @veins1
  1017. [utils] ADDED: ExportDataAsCode()
  1018. [utils] REVIEWED: Force flush stdout after trace messages (#2465) by @nagy
  1019. [easings] ADDED: Function descriptions (#2471) by @RobLoach
  1020. [camera] REVIEWED: Fix free camera panning in the wrong direction (#2347) by @DavidLyhedDanielsson
  1021. [examples] ADDED: core_window_should_close
  1022. [examples] ADDED: core_2d_camera_mouse_zoom (#2583) by @JeffM2501
  1023. [examples] ADDED: shapes_top_down_lights (#2199) by @JeffM2501
  1024. [examples] ADDED: textures_fog_of_war
  1025. [examples] ADDED: textures_gif_player
  1026. [examples] ADDED: text_codepoints_loading
  1027. [examples] ADDED: audio_stream_effects
  1028. [examples] REMOVED: core_quat_conversion, not working properly
  1029. [examples] REMOVED: raudio_standalone, moved to raudio repo
  1030. [examples] RENAMED: textures_rectangle -> textures_sprite_anim
  1031. [examples] REVIEWED: core_input_gamepad, improve joystick visualisation (#2390) by @kristianlm
  1032. [examples] REVIEWED: textures_draw_tiled
  1033. [examples] REVIEWED: shaders_mesh_instancing, free allocated matrices (#2425) by @AnilBK
  1034. [examples] REVIEWED: shaders_raymarching
  1035. [examples] REVIEWED: audio_raw_stream (#2205) by ptarabbia
  1036. [examples] REVIEWED: audio_music_stream
  1037. [examples] REVIEWED: shaders_mesh_instancing, simplified
  1038. [examples] REVIEWED: shaders_basic_lighting, rlights.h simplified
  1039. [examples] REVIEWED: All examples descriptions, included creation/update raylib versions
  1040. [parser] ADDED: Defines to parser (#2269) by @iskolbin
  1041. [parser] ADDED: Aliases to parser (#2444) by @lazaray
  1042. [parser] ADDED: Parse struct descriptions (#2214) by @eutro
  1043. [parser] ADDED: Parse enum descriptions and value descriptions (#2208) by @eutro
  1044. [parser] ADDED: Lua output format for parser by @iskolbin
  1045. [parser] ADDED: Makefile for raylib_parser by @iskolbin
  1046. [parser] ADDED: Support for truncating parser input (#2464) by @lazaray
  1047. [parser] ADDED: Support for calculated defines to parser (#2463) by @lazaray
  1048. [parser] REVIEWED: Update parser files (#2125) by @catmanl
  1049. [parser] REVIEWED: Fix memory leak in parser (#2136) by @ronnieholm
  1050. [parser] REVIEWED: EscapeBackslashes()
  1051. [parser] REVIEWED: Parser improvements (#2461 #2462) by @lazaray
  1052. [bindings] ADDED: License details for BINDINGS
  1053. [bindings] ADDED: dart-raylib (#2149) by @wolfenrain
  1054. [bindings] ADDED: raylib-cslo (#2169) by @jasonswearingen
  1055. [bindings] ADDED: raylib-d (#2194) by @schveiguy
  1056. [bindings] ADDED: raylib-guile (#2202) by @petelliott
  1057. [bindings] ADDED: raylib-scopes (#2238) by @salotz
  1058. [bindings] ADDED: naylib (Nim) (#2386) by @planetis-m
  1059. [bindings] ADDED: raylib.jl (Julia) (#2403) by @irishgreencitrus
  1060. [bindings] ADDED: raylib.zig (#2449) by @ryupold
  1061. [bindings] ADDED: racket-raylib (#2454) by @eutro
  1062. [bindings] ADDED: raylibr (#2611) by @ramiromagno
  1063. [bindings] ADDED: Raylib.4.0.Pascal (#2617) by @sysrpl
  1064. [bindings] REVIEWED: Multiple bindings updated to raylib 4.0
  1065. [build] ADDED: VS2022 project
  1066. [build] ADDED: Support macOS by zig build system (#2175)
  1067. [build] ADDED: Support custom modules selection on compilation
  1068. [build] ADDED: Minimal web shell for WebAssembly compilation
  1069. [build] ADDED: BSD support for zig builds (#2332) by @zigster64
  1070. [build] ADDED: Repology badge (#2367) by @jubalh
  1071. [build] ADDED: Support DLL compilation with TCC compiler (#2569) by @audinue
  1072. [build] ADDED: Missing examples to VS2022 examples solution
  1073. [build] REMOVED: VS2019 project (unmaintained)
  1074. [build] REMOVED: SUPPORT_MOUSE_CURSOR_POINT config option
  1075. [build] REVIEWED: Fixed RPi make install (#2217) by @wereii
  1076. [build] REVIEWED: Fix build results path on Linux and RPi (#2218) by @wereii
  1077. [build] REVIEWED: Makefiles debug flag
  1078. [build] REVIEWED: Fixed cross-compilation from x86-64 to RPi (#2233) by @pitpit
  1079. [build] REVIEWED: All Makefiles, simplified
  1080. [build] REVIEWED: All Makefiles, improve organization
  1081. [build] REVIEWED: All Makefiles, support CUSTOM_CFLAGS
  1082. [build] REVIEWED: Fixed compiling for Android using CMake (#2270) by @hero2002
  1083. [build] REVIEWED: Make zig build functionality available to zig programs (#2271) by @Not-Nik
  1084. [build] REVIEWED: Update CMake project template with docs and web (#2274) by @RobLoach
  1085. [build] REVIEWED: Update VSCode project to work with latest makefile and web (#2296) by @phil-shenk
  1086. [build] REVIEWED: Support audio examples compilation with external glfw (#2329) by @locriacyber
  1087. [build] REVIEWED: Fix "make clean" target failing when shell is not cmd (#2338) by @Peter0x44
  1088. [build] REVIEWED: Makefile linkage -latomic, required by miniaudio on ARM 32bit #2452
  1089. [build] REVIEWED: Update raylib-config.cmake (#2374) by @marcogmaia
  1090. [build] REVIEWED: Simplify build.zig to not require user to specify raylib path (#2383) by @Hejsil
  1091. [build] REVIEWED: Fix OpenGL 4.3 graphics option in CMake (#2427) by @GoldenThumbs
  1092. [extras] `WARNING`: REMOVED: physac from raylib sources/examples, use github.com/raysan5/physac
  1093. [extras] `WARNING`: REMOVED: raygui from raylib/src/extras, use github.com/raysan5/raygui
  1094. [extras] `WARNING`: REMOVED: rmem from raylib/src/extras, moved to github.com/raylib-extras/rmem
  1095. [extras] `WARNING`: REMOVED: easings from raylib/src/extras, moved to github.com/raylib-extras/reasings
  1096. [extras] `WARNING`: REMOVED: raudio.h from raylib/src, moved to github.com/raysan5/raudio
  1097. [misc] REVIEWED: Update some external libraries to latest versions
  1098. -------------------------------------------------------------------------
  1099. Release: raylib 4.0 - 8th Anniversary Edition (05 November 2021)
  1100. -------------------------------------------------------------------------
  1101. KEY CHANGES:
  1102. - Naming consistency and coherency: Complete review of the library: syntax, naming, comments, decriptions, logs...
  1103. - Event Automation System: Support for input events recording and automatic re-playing, useful for automated testing and more!
  1104. - Custom game-loop control: Intended for advanced users that want to control the events polling and the timming mechanisms
  1105. - rlgl 4.0: Completely decoupling from platform layer and raylib, intended for standalone usage as single-file header-only
  1106. - raymath 1.5: Complete review following new conventions, to make it more portable and self-contained
  1107. - raygui 3.0: Complete review and official new release, more portable and self-contained, intended for tools development
  1108. - raylib_parser: New tool to parse raylib.h and extract all required info into custom output formats (TXT, XML, JSON...)
  1109. - Zig and Odin official support
  1110. Detailed changes:
  1111. [core] ADDED: Support canvas resizing on web (#1840) by @skylersaleh
  1112. [core] ADDED: GetMouseDelta() (#1832) by @adricoin2010
  1113. [core] ADDED: Support additional mouse buttons (#1753) by @lambertwang
  1114. [core] ADDED: SetRandomSeed() (#1994) by @TommiSinivuo
  1115. [core] ADDED: GetTouchPointId() #1972
  1116. [core] ADDED: EncodeDataBase64() and DecodeDataBase64()
  1117. [core] REMOVED: PLATFORM_UWP, difficult to maintain
  1118. [core] REMOVED: IsGamepadName()
  1119. [core] RENAMED: SwapBuffers() to SwapScreenBuffer()
  1120. [core] RENAMED: Wait() to WaitTime()
  1121. [core] RENAMED: RayHitInfo to RayCollision (#1781)
  1122. [core] RENAMED: GetRayCollisionGround() to GetRayCollisionQuad() (#1781)
  1123. [core] REVIEWED: Support mouse wheel on x-axis (#1948)
  1124. [core] REVIEWED: DisableCursor() on web by registering an empty mouse click event function in emscripten (#1900) by @grenappels
  1125. [core] REVIEWED: LoadShader() and default locations and descriptions
  1126. [core] REVIEWED: LoadShaderFromMemory() (#1851) by @Ruminant
  1127. [core] REVIEWED: WaitTime(), avoid global variables dependency to make the function is self-contained (#1841)
  1128. [core] REVIEWED: SetWindowSize() to work on web (#1847) by @nikki93
  1129. [core] REVIEWED: Raspberry RPI/DRM keyboard blocking render loop (#1879) @luizpestana
  1130. [core] REVIEWED: Android multi-touch (#1869) by @humbe
  1131. [core] REVIEWED: Implemented GetGamepadName() for emscripten by @nbarkhina
  1132. [core] REVIEWED: HighDPI support (#1987) by @ArnaudValensi
  1133. [core] REVIEWED: KeyCallback(), register keys independently of the actions
  1134. [rlgl] ADDED: GRAPHIC_API_OPENGL_43
  1135. [rlgl] ADDED: rlUpdateVertexBufferElements() (#1915)
  1136. [rlgl] ADDED: rlActiveDrawBuffers() (#1911)
  1137. [rlgl] ADDED: rlEnableColorBlend()/rlDisableColorBlend()
  1138. [rlgl] ADDED: rlGetPixelFormatName()
  1139. [rlgl] REVIEWED: rlUpdateVertexBuffer (#1914) by @630Studios
  1140. [rlgl] REVIEWED: rlDrawVertexArrayElements() (#1891)
  1141. [rlgl] REVIEWED: Wrong normal matrix calculation (#1870)
  1142. [raymath] ADDED: Vector3Angle()
  1143. [raymath] REVIEWED: QuaternionFromAxisAngle() (#1892)
  1144. [raymath] REVIEWED: QuaternionToMatrix() returning transposed result. (#1793) by @object71
  1145. [shapes] ADDED: RenderPolyLinesEx() (#1758) by @lambertwang
  1146. [shapes] ADDED: DrawSplineBezierCubic() (#2021) by @SAOMDVN
  1147. [textures] ADDED: GetImageColor() #2024
  1148. [textures] REMOVED: GenImagePerlinNoise()
  1149. [textures] RENAMED: GetTextureData() to LoadImageFromTexture()
  1150. [textures] RENAMED: GetScreenData() to LoadImageFromScreen()
  1151. [textures] REVIEWED: ExportImage() to use SaveFileData() (#1779)
  1152. [textures] REVIEWED: LoadImageAnim() #2005
  1153. [text] ADDED: Security check in case of not valid font
  1154. [text] ADDED: `GetGlyphInfo()` to get glyph info for a specific codepoint
  1155. [text] ADDED: `GetGlyphAtlasRec()` to get glyph rectangle within the generated font atlas
  1156. [text] ADDED: DrawTextPro() with text rotation support, WARNING: DrawTextPro() requires including `rlgl.h`, before it was only dependant on `textures` module.
  1157. [text] ADDED: UnloadCodepoints() to safely free loaded codepoints
  1158. [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.
  1159. [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.
  1160. [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.
  1161. [text] RENAMED: `TextToUtf8()` to `TextCodepointsToUTF8` for consistency and more detail on the functionality.
  1162. [text] RENAMED: GetCodepoints() to LoadCodepoints(), now codepoint array data is loaded dynamically instead of reusing a limited static buffer.
  1163. [text] RENAMED: GetNextCodepoint() to GetCodepoint()
  1164. [models] ADDED: MagikaVoxel VOX models loading
  1165. [models] ADDED: GenMeshCone() (#1903)
  1166. [models] ADDED: GetModelBoundingBox()
  1167. [models] ADDED: DrawBillboardPro() (#1759) by @nobytesgiven
  1168. [models] ADDED: DrawCubeTextureRec() (#2001) by @tdgroot
  1169. [models] ADDED: DrawCylinderEx() and DrawCylinderWiresEx() (#2049) by @Horrowind
  1170. [models] REMOVED: DrawBillboardEx()
  1171. [models] RENAMED: MeshBoundingBox() to GetMeshBoundingBox()
  1172. [models] RENAMED: MeshTangents() to GenMeshTangents()
  1173. [models] RENAMED: MeshBinormals() to GenMeshBinormals()
  1174. [models] REVIEWED: GenMeshTangents() (#1877) by @630Studios
  1175. [models] REVIEWED: CheckCollisionBoxSphere() by @Crydsch
  1176. [models] REVIEWED: GetRayCollisionQuad() by @Crydsch
  1177. [models] REVIEWED: LoadGLTF(), fixed missing transformations and nonroot skinning by @MrDiver
  1178. [models] REVIEWED: LoadGLTF(), rewriten from scratch, removed animations support (broken)
  1179. [models] REVIEWED: Decouple DrawMesh() and DrawMeshInstanced() (#1958)
  1180. [models] REVIEWED: Support vertex color attribute for GLTF and IQM (#1790) by @object71
  1181. [models] REVIEWED: DrawBillboardPro() (#1941) by @GithubPrankster
  1182. [models] REDESIGNED: Major review of glTF loading functionality (#1849) by @object71
  1183. [audio] ADDED: SeekMusicStream() (#2006) by @GithubPrankster
  1184. [audio] REMOVED: GetAudioStreamBufferSizeDefault()
  1185. [audio] RENAMED: InitAudioStream() to LoadAudioStream()
  1186. [audio] RENAMED: CloseAudioStream() to UnloadAudioStream()
  1187. [audio] RENAMED: IsMusicPlaying() to IsMusicStreamPlaying()
  1188. [audio] REVIEWED: ExportWaveAsCode()
  1189. [audio] REDESIGNED: Use frameCount on audio instead of sampleCount
  1190. [utils] REVIEWED: exit() on LOG_FATAL instead of LOG_ERROR (#1796)
  1191. [examples] ADDED: core_custom_frame_control
  1192. [examples] ADDED: core_basic_screen_manager
  1193. [examples] ADDED: core_split_screen (#1806) by @JeffM2501
  1194. [examples] ADDED: core_smooth_pixelperfect (#1771) by @NotManyIdeasDev
  1195. [examples] ADDED: shaders_texture_outline (#1883) by @GoldenThumbs
  1196. [examples] ADDED: models_loading_vox (#1940) by @procfxgen
  1197. [examples] ADDED: rlgl_compute_shader by @TSnake41 (#2088)
  1198. [examples] REMOVED: models_material_pbr
  1199. [examples] REMOVED: models_gltf_animation
  1200. [examples] REVIEWED: core_3d_picking
  1201. [examples] REVIEWED: core_input_mouse
  1202. [examples] REVIEWED: core_vr_simulator, RenderTexture usage
  1203. [examples] REVIEWED: core_window_letterbox, RenderTexture usage
  1204. [examples] REVIEWED: shapes_basic_shapes
  1205. [examples] REVIEWED: shapes_logo_raylib_anim
  1206. [examples] REVIEWED: textures_to_image
  1207. [examples] REVIEWED: text_rectangle_bounds
  1208. [examples] REVIEWED: text_unicode
  1209. [examples] REVIEWED: text_draw_3d
  1210. [examples] REVIEWED: models_loading
  1211. [examples] REVIEWED: models_skybox (#1792) (#1778)
  1212. [examples] REVIEWED: models_mesh_picking
  1213. [examples] REVIEWED: models_yaw_pitch_roll
  1214. [examples] REVIEWED: models_rlgl_solar_system
  1215. [examples] REVIEWED: shaders_custom_uniform, RenderTexture usage
  1216. [examples] REVIEWED: shaders_eratosthenes, RenderTexture usage
  1217. [examples] REVIEWED: shaders_julia_set, RenderTexture usage
  1218. [examples] REVIEWED: shaders_postprocessing, RenderTexture usage
  1219. [examples] REVIEWED: shaders_basic_lighting, simplified (#1865)
  1220. [examples] REVIEWED: audio_raw_stream.c
  1221. [examples] REVIEWED: raudio_standalone
  1222. [examples] REVIEWED: raylib_opengl_interop
  1223. [examples] REVIEWED: rlgl_standalone.c
  1224. [examples] REVIEWED: Resources licenses
  1225. [examples] REVIEWED: models resources reorganization
  1226. [templates] REMOVED: Moved to a separate repo: https://github.com/raysan5/raylib-game-template
  1227. [build] ADDED: Zig build file (#2014) by @TommiSinivuo
  1228. [build] ADDED: Android VS2019 solution (#2013) by @Kronka
  1229. [build] REMOVED: VS2017 project, outdated
  1230. [build] RENAMED: All raylib modules prefixed with 'r' (core -> rcore)
  1231. [build] RENAMED: SUPPORT_MOUSE_CURSOR_NATIVE to SUPPORT_MOUSE_CURSOR_POINT
  1232. [build] REVIEWED: examples/examples_template.c
  1233. [build] REVIEWED: Makefile to latest Emscripten SDK r23
  1234. [build] REVIEWED: Makefile for latest Android NDK r32 LTS
  1235. [build] REVIEWED: raylib resource files
  1236. [build] Moved some extra raylib libraries to /extras/ directory
  1237. [*] UPDATED: Multiple bindings to latest version
  1238. [*] UPDATED: Most external libraries to latest versions (except GLFW)
  1239. [*] Multiple code improvements and fixes by multiple contributors!
  1240. -------------------------------------------------------------------------
  1241. Release: raylib 3.7 (26 April 2021)
  1242. -------------------------------------------------------------------------
  1243. KEY CHANGES:
  1244. - [rlgl] REDESIGNED: Greater abstraction level, some functionality moved to core module
  1245. - [rlgl] REVIEWED: Instancing and stereo rendering
  1246. - [core] REDESIGNED: VR simulator, fbo/shader exposed to user
  1247. - [utils] ADDED: File access callbacks system
  1248. - [models] ADDED: glTF animations support (#1551) by @object71
  1249. - [audio] ADDED: Music streaming support from memory (#1606) by @nezvers
  1250. - [*] RENAMED: enum types and enum values for consistency
  1251. Detailed changes:
  1252. [core] ADDED: LoadVrStereoConfig()
  1253. [core] ADDED: UnloadVrStereoConfig()
  1254. [core] ADDED: BeginVrStereoMode()
  1255. [core] ADDED: EndVrStereoMode()
  1256. [core] ADDED: GetCurrentMonitor() (#1485) by @object71
  1257. [core] ADDED: SetGamepadMappings() (#1506)
  1258. [core] RENAMED: struct Camera: camera.type to camera.projection
  1259. [core] RENAMED: LoadShaderCode() to LoadShaderFromMemory() (#1690)
  1260. [core] RENAMED: SetMatrixProjection() to rlSetMatrixProjection()
  1261. [core] RENAMED: SetMatrixModelview() to rlSetMatrixModelview()
  1262. [core] RENAMED: GetMatrixModelview() to rlGetMatrixModelview()
  1263. [core] RENAMED: GetMatrixProjection() to rlGetMatrixProjection()
  1264. [core] RENAMED: GetShaderDefault() to rlGetShaderDefault()
  1265. [core] RENAMED: GetTextureDefault() to rlGetTextureDefault()
  1266. [core] REMOVED: GetShapesTexture()
  1267. [core] REMOVED: GetShapesTextureRec()
  1268. [core] REMOVED: GetMouseCursor()
  1269. [core] REMOVED: SetTraceLogExit()
  1270. [core] REVIEWED: GetFileName() and GetDirectoryPath() (#1534) by @gilzoide
  1271. [core] REVIEWED: Wait() to support FreeBSD (#1618)
  1272. [core] REVIEWED: HighDPI support on macOS retina (#1510)
  1273. [core] REDESIGNED: GetFileExtension(), includes the .dot
  1274. [core] REDESIGNED: IsFileExtension(), includes the .dot
  1275. [core] REDESIGNED: Compresion API to use sdefl/sinfl libs
  1276. [rlgl] ADDED: SUPPORT_GL_DETAILS_INFO config flag
  1277. [rlgl] REMOVED: GenTexture*() functions (#721)
  1278. [rlgl] REVIEWED: rlLoadShaderDefault()
  1279. [rlgl] REDESIGNED: rlLoadExtensions(), more details exposed
  1280. [raymath] REVIEWED: QuaternionFromEuler() (#1651)
  1281. [raymath] REVIEWED: MatrixRotateZYX() (#1642)
  1282. [shapes] ADDED: DrawSplineBezierQuad() (#1468) by @epsilon-phase
  1283. [shapes] ADDED: CheckCollisionLines()
  1284. [shapes] ADDED: CheckCollisionPointLine() by @mkupiec1
  1285. [shapes] REVIEWED: CheckCollisionPointTriangle() by @mkupiec1
  1286. [shapes] REDESIGNED: SetShapesTexture()
  1287. [shapes] REDESIGNED: DrawCircleSector(), to use float params
  1288. [shapes] REDESIGNED: DrawCircleSectorLines(), to use float params
  1289. [shapes] REDESIGNED: DrawRing(), to use float params
  1290. [shapes] REDESIGNED: DrawRingLines(), to use float params
  1291. [textures] ADDED: DrawTexturePoly() and example (#1677) by @chriscamacho
  1292. [textures] ADDED: UnloadImageColors() for allocs consistency
  1293. [textures] RENAMED: GetImageData() to LoadImageColors()
  1294. [textures] REVIEWED: ImageClearBackground() and ImageDrawRectangleRec() (#1487) by @JeffM2501
  1295. [textures] REVIEWED: DrawTexturePro() and DrawRectanglePro() transformations (#1632) by @ChrisDill
  1296. [text] REDESIGNED: DrawFPS()
  1297. [models] ADDED: UploadMesh() (#1529)
  1298. [models] ADDED: UpdateMeshBuffer()
  1299. [models] ADDED: DrawMesh()
  1300. [models] ADDED: DrawMeshInstanced()
  1301. [models] ADDED: UnloadModelAnimations() (#1648) by @object71
  1302. [models] REMOVED: DrawGizmo()
  1303. [models] REMOVED: LoadMeshes()
  1304. [models] REMOVED: MeshNormalsSmooth()
  1305. [models] REVIEWED: DrawLine3D() (#1643)
  1306. [audio] REVIEWED: Multichannel sound system (#1548)
  1307. [audio] REVIEWED: jar_xm library (#1701) by @jmorel33
  1308. [utils] ADDED: SetLoadFileDataCallback()
  1309. [utils] ADDED: SetSaveFileDataCallback()
  1310. [utils] ADDED: SetLoadFileTextCallback()
  1311. [utils] ADDED: SetSaveFileTextCallback()
  1312. [examples] ADDED: text_draw_3d (#1689) by @Demizdor
  1313. [examples] ADDED: textures_poly (#1677) by @chriscamacho
  1314. [examples] ADDED: models_gltf_model (#1551) by @object71
  1315. [examples] RENAMED: shaders_rlgl_mesh_instanced to shaders_mesh_intancing
  1316. [examples] REDESIGNED: shaders_rlgl_mesh_instanced by @moliad
  1317. [examples] REDESIGNED: core_vr_simulator
  1318. [examples] REDESIGNED: models_yaw_pitch_roll
  1319. [build] ADDED: Config flag: SUPPORT_STANDARD_FILEIO
  1320. [build] ADDED: Config flag: SUPPORT_WINMM_HIGHRES_TIMER (#1641)
  1321. [build] ADDED: Config flag: SUPPORT_GL_DETAILS_INFO
  1322. [build] ADDED: Examples projects to VS2019 solution
  1323. [build] REVIEWED: Makefile to support PLATFORM_RPI (#1580)
  1324. [build] REVIEWED: Multiple typecast warnings by @JeffM2501
  1325. [build] REDESIGNED: VS2019 project build paths
  1326. [build] REDESIGNED: CMake build system by @object71
  1327. [*] RENAMED: Several functions parameters for consistency
  1328. [*] UPDATED: Multiple bindings to latest version
  1329. [*] UPDATED: All external libraries to latest versions
  1330. [*] Multiple code improvements and fixes by multiple contributors!
  1331. -------------------------------------------------------------------------
  1332. Release: raylib 3.5 - 7th Anniversary Edition (25 December 2020)
  1333. -------------------------------------------------------------------------
  1334. KEY CHANGES:
  1335. - [core] ADDED: PLATFORM_DRM to support RPI4 and other devices (#1388) by @kernelkinetic
  1336. - [core] REDESIGNED: Window states management system through FLAGS
  1337. - [rlgl] ADDED: RenderBatch type and related functions to allow custom batching (internal only)
  1338. - [rlgl] REDESIGNED: Framebuffers API to support multiple attachment types (#721)
  1339. - [textures] REDESIGNED: Image*() functions, big performance improvements (software rendering)
  1340. - [*] REVIEWED: Multiple functions to replace file accesses by memory accesses
  1341. - [*] ADDED: GitHub Actions CI to support multiple raylib build configurations
  1342. Detailed changes:
  1343. [core] ADDED: SetWindowState() / ClearWindowState() -> New flags added!
  1344. [core] ADDED: IsWindowFocused()
  1345. [core] ADDED: GetWindowScaleDPI()
  1346. [core] ADDED: GetMonitorRefreshRate() (#1289) by @Shylie
  1347. [core] ADDED: IsCursorOnScreen() (#1262) by @ChrisDill
  1348. [core] ADDED: SetMouseCursor() and GetMouseCursor() for standard Desktop cursors (#1407) by @chances
  1349. [core] REMOVED: struct RenderTexture2D: depthTexture variable
  1350. [core] REMOVED: HideWindow() / UnhideWindow() -> Use SetWindowState()
  1351. [core] REMOVED: DecorateWindow() / UndecorateWindow() -> Use SetWindowState()
  1352. [core] RENAMED: GetExtension() to GetFileExtension()
  1353. [core] REVIEWED: Several structs to reduce size and padding
  1354. [core] REVIEWED: struct Texture maps to Texture2D and TextureCubemap
  1355. [core] REVIEWED: ToggleFullscreen() (#1287)
  1356. [core] REVIEWED: InitWindow(), support empty title for window (#1323)
  1357. [core] REVIEWED: RPI: Mouse movements are bound to the screen resolution (#1392) (#1410) by @kernelkinetic
  1358. [core] REVIEWED: GetPrevDirectoryPath() fixes on Unix-like systems (#1246) by @ivan-cx
  1359. [core] REPLACED: rgif.h by msf_gif.h for automatic gif recording
  1360. [core] REDESIGNED: GetMouseWheelMove() to return float movement for precise scrolling (#1397) by @Doy-lee
  1361. [core] REDESIGNED: GetKeyPressed(), and added GetCharPressed() (#1336)
  1362. [core] UWP rework with improvements (#1231) by @Rover656
  1363. [core] Gamepad axis bug fixes and improvement (#1228) by @mmalecot
  1364. [core] Updated joystick mappings with latest version of gamecontrollerdb (#1381) by @coderoth
  1365. [rlgl] Corrected issue with OpenGL 1.1 support
  1366. [rlgl] ADDED: rlDrawMeshInstanced() (#1318) by @seanpringle
  1367. [rlgl] ADDED: rlCheckErrors (#1321) by @seanpringle
  1368. [rlgl] ADDED: BLEND_SET blending mode (#1251) by @RandomErrorMessage
  1369. [rlgl] ADDED: rlSetLineWidth(), rlGetLineWidth(), rlEnableSmoothLines(), rlDisableSmoothLines() (#1457) by @JeffM2501
  1370. [rlgl] RENAMED: rlUnproject() to Vector3Unproject() [raymath]
  1371. [rlgl] REVIEWED: Replace rlglDraw() calls by DrawRenderBatch() internal calls
  1372. [rlgl] REVIEWED: GenTextureCubemap(), use rlgl functionality only
  1373. [rlgl] REVIEWED: rlFramebufferAttach() to support texture layers
  1374. [rlgl] REVIEWED: GenDrawCube() and GenDrawQuad()
  1375. [rlgl] REVIEWED: Issues with vertex batch overflow (#1223)
  1376. [rlgl] REVIEWED: rlUpdateTexture(), issue with offsets
  1377. [rlgl] REDESIGNED: GenTexture*() to use the new fbo API (#721)
  1378. [raymath] ADDED: Normalize() and Remap() functions (#1247) by @NoorWachid
  1379. [raymath] ADDED: Vector2Reflect() (#1400) by @daniel-junior-dube
  1380. [raymath] ADDED: Vector2LengthSqr() and Vector3LengthSqr() (#1248) by @ThePituLegend
  1381. [raymath] ADDED: Vector2MoveTowards() function (#1233) by @anatagawa
  1382. [raymath] REVIEWED: Some functions consistency (#1197) by @Not-Nik
  1383. [raymath] REVIEWED: QuaternionFromVector3ToVector3() (#1263) by @jvocaturo
  1384. [raymath] REVIEWED: MatrixLookAt(), optimized (#1442) by @RandomErrorMessage
  1385. [shapes] ADDED: CheckCollisionLines(), by @Elkantor
  1386. [text] Avoid [textures] functions dependencies
  1387. [text] ADDED: Config flag: SUPPORT_TEXT_MANIPULATION
  1388. [text] ADDED: LoadFontFromMemory() (TTF only) (#1327)
  1389. [text] ADDED: UnloadFontData()
  1390. [text] RENAMED: FormatText() -> TextFormat()
  1391. [text] REVIEWED: Font struct, added charsPadding (#1432)
  1392. [text] REVIEWED: TextJoin()
  1393. [text] REVIEWED: TextReplace() (#1172)
  1394. [text] REVIEWED: LoadBMFont() to load data from memory (#1232)
  1395. [text] REVIEWED: GenImageFontAtlas(), fixed offset (#1171)
  1396. [text] REDESIGNED: LoadFontData(), reviewed input parameters
  1397. [text] REDESIGNED: LoadFontDefault(), some code simplifications
  1398. [text] REDESIGNED: LoadFontFromImage(), avoid LoadImageEx()
  1399. [text] REDESIGNED: LoadFontData(), avoid GenImageColor(), ImageFormat()
  1400. [text] REDESIGNED: LoadBMFont(), avoid ImageCopy(), ImageFormat(), ImageAlphaMask()
  1401. [textures] Move Color functions from [core] to [textures] module
  1402. [textures] ADDED: ColorAlphaBlend()
  1403. [textures] ADDED: GetPixelColor()
  1404. [textures] ADDED: SetPixelColor()
  1405. [textures] ADDED: LoadImageFromMemory() (#1327)
  1406. [textures] ADDED: LoadImageAnim() to load animated sequence of images
  1407. [textures] ADDED: DrawTextureTiled() (#1291) - @Demizdor
  1408. [textures] ADDED: UpdateTextureRec()
  1409. [textures] ADDED: UnloadImageColors(), UnloadImagePalette(), UnloadWaveSamples()
  1410. [textures] REMOVED: Config flag: SUPPORT_IMAGE_DRAWING
  1411. [textures] REMOVED: LoadImageEx()
  1412. [textures] REMOVED: LoadImagePro()
  1413. [textures] REMOVED: GetImageDataNormalized(), not exposed in the API
  1414. [textures] RENAMED: ImageExtractPalette() to GetImagePalette()
  1415. [textures] RENAMED: Fade() to ColorAlpha(), added #define for compatibility
  1416. [textures] RENAMED: GetImageData() -> LoadImageColors()
  1417. [textures] RENAMED: GetImagePalette() -> LoadImagePalette()
  1418. [textures] RENAMED: GetWaveData() -> LoadWaveSamples()
  1419. [textures] REVIEWED: GetPixelDataSize() to consider compressed data properly
  1420. [textures] REVIEWED: GetTextureData(), allow retrieving 32bit float data
  1421. [textures] REVIEWED: ImageDrawText*() params order
  1422. [textures] REVIEWED: ColorAlphaBlend(), support tint color
  1423. [textures] REVIEWED: ColorAlphaBlend(), integers-version, optimized (#1218)
  1424. [textures] REVIEWED: ImageDraw(), consider negative source offset properly (#1283)
  1425. [textures] REVIEWED: ImageDraw(), optimizations test (#1218)
  1426. [textures] REVIEWED: ImageResizeCanvas(), optimization (#1218)
  1427. [textures] REVIEWED: ExportImage(), optimized
  1428. [textures] REVIEWED: ImageAlphaPremultiply(), optimization
  1429. [textures] REVIEWED: ImageAlphaClear(), minor optimization
  1430. [textures] REVIEWED: ImageToPOT(), renamed parameter
  1431. [textures] REVIEWED: ImageCrop() (#1218)
  1432. [textures] REVIEWED: ImageToPOT() (#1218)
  1433. [textures] REVIEWED: ImageAlphaCrop() (#1218)
  1434. [textures] REVIEWED: ExportImage(), optimized (#1218)
  1435. [textures] REDESIGNED: ImageCrop(), optimized (#1218)
  1436. [textures] REDESIGNED: ImageRotateCCW(), optimized (#1218)
  1437. [textures] REDESIGNED: ImageRotateCW(), optimized (#1218)
  1438. [textures] REDESIGNED: ImageFlipHorizontal(), optimized (#1218)
  1439. [textures] REDESIGNED: ImageFlipVertical(), optimized (#1218)
  1440. [textures] REDESIGNED: ImageResizeCanvas(), optimized (#1218)
  1441. [textures] REDESIGNED: ImageDrawPixel(), optimized
  1442. [textures] REDESIGNED: ImageDrawLine(), optimized
  1443. [textures] REDESIGNED: ImageDraw(), optimized (#1218)
  1444. [textures] REDESIGNED: ImageResize(), optimized (#1218)
  1445. [textures] REDESIGNED: ImageFromImage(), optimized (#1218)
  1446. [textures] REDESIGNED: ImageDraw(), optimization (#1218)
  1447. [textures] REDESIGNED: ImageAlphaClear(), optimized (#1218)
  1448. [textures] REDESIGNED: ExportImageAsCode() to use memory buffer (#1232)
  1449. [textures] REDESIGNED: ColorFromHSV()
  1450. [models] ADDED: DrawTriangle3D() and DrawTriangleStrip3D()
  1451. [models] ADDED: UnloadModelKeepMeshes()
  1452. [models] REVIEWED: LoadModel(), avoid loading texcoords and normals from model if not existent
  1453. [models] REVIEWED: GenMeshCubicmap(), added comments and simplification
  1454. [models] REVIEWED: GenMeshCubicmap(), fixed generated normals (#1244) by @GoldenThumbs
  1455. [models] REVIEWED: GenMeshPoly(), fixed buffer overflow (#1269) by @frithrah
  1456. [models] REVIEWED: LoadOBJ(): Allow for multiple materials in obj files (#1408) by @chriscamacho and @codifies
  1457. [models] REVIEWED: LoadIQM() materials loading (#1227) by @sikor666
  1458. [models] REVIEWED: LoadGLTF() to read from memory buffer
  1459. [models] REVIEWED: UpdateMesh(), fix extra memory allocated when updating color buffer (#1271) by @4yn
  1460. [models] REVIEWED: MeshNormalsSmooth() (#1317) by @seanpringle
  1461. [models] REVIEWED: DrawGrid() (#1417)
  1462. [models] REDESIGNED: ExportMesh() to use memory buffer (#1232)
  1463. [models] REDESIGNED: LoadIQM() and LoadModelAnimations() to use memory buffers
  1464. [audio] ADDED: LoadWaveFromMemory() (#1327)
  1465. [audio] REMOVED: SetMusicLoopCount()
  1466. [audio] REVIEWED: Several functions, sampleCount vs frameCount (#1423)
  1467. [audio] REVIEWED: SaveWAV() to use memory write insted of file
  1468. [audio] REVIEWED: LoadMusicStream(), support WAV music streaming (#1198)
  1469. [audio] REVIEWED: Support multiple WAV sampleSize for MusicStream (#1340)
  1470. [audio] REVIEWED: SetAudioBufferPitch()
  1471. [audio] REDESIGNED: Audio looping system
  1472. [audio] REDESIGNED: LoadSound(): Use memory loading (WAV, OGG, MP3, FLAC) (#1312)
  1473. [audio] REDESIGNED: ExportWaveAsCode() to use memory buffers
  1474. [utils] ADDED: MemAlloc() / MemFree() (#1440)
  1475. [utils] ADDED: UnloadFileData() / UnloadFileText()
  1476. [utils] REVIEWED: android_fopen() to support SDCard access
  1477. [utils] REDESIGNED: SaveFile*() functions to expose file access results (#1420)
  1478. [rmem] REVIEWED: MemPool and other allocators optimization (#1211) by @assyrianic
  1479. [examples] ADDED: core/core_window_flags
  1480. [examples] ADDED: core/core_quat_conversion by @chriscamacho and @codifies
  1481. [examples] ADDED: textures/textures_blend_modes (#1261) by @accidentalrebel
  1482. [examples] ADDED: textures/textures_draw_tiled (#1291) by @Demizdor
  1483. [examples] ADDED: shaders/shaders_hot_reloading (#1198)
  1484. [examples] ADDED: shaders/shaders_rlgl_mesh_instanced (#1318) by @seanpringle
  1485. [examples] ADDED: shaders/shaders_multi_sampler2d
  1486. [examples] ADDED: others/embedded_files_loading
  1487. [examples] REVIEWED: textures/textures_raw_data (#1286)
  1488. [examples] REVIEWED: textures/textures_sprite_explosion, replace resources
  1489. [examples] REVIEWED: textures/textures_particles_blending, replace resources
  1490. [examples] REVIEWED: textures/textures_image_processing, support mouse
  1491. [examples] REVIEWED: models/models_skybox to work on OpenGL ES 2.0
  1492. [examples] REVIEWED: audio/resources, use open license resources
  1493. [examples] REVIEWED: others/raudio_standalone.c
  1494. [build] ADDED: New config.h configuration options exposing multiple #define values
  1495. [build] REMOVED: ANGLE VS2017 template project
  1496. [build] REVIEWED: All MSVC compile warnings
  1497. [build] Updated Makefile for web (#1332) by @rfaile313
  1498. [build] Updated build pipelines to use latest emscripten and Android NDK
  1499. [build] Updated emscriptem build script to generate .a on WebAssembly
  1500. [build] Updated Android build for Linux, supporting ANDROID_NDK at compile time by @branlix3000
  1501. [build] Updated VSCode project template tasks
  1502. [build] Updated VS2017.UWP project template by @Rover656
  1503. [build] Updated Android build pipeline
  1504. [build] REMOVED: AppVeyor and Travis CI build systems
  1505. [*] Moved raysan5/raylib/games to independent repo: raysan5/raylib-games
  1506. [*] Replaced several examples resources with more open licensed alternatives
  1507. [*] Updated BINDINGS.md with NEW bindings and added raylib version binding!
  1508. [*] Updated all external libraries to latest versions
  1509. [*] Multiple code improvements and small fixes
  1510. -----------------------------------------------
  1511. Release: raylib 3.0 (01 April 2020)
  1512. -----------------------------------------------
  1513. KEY CHANGES:
  1514. - Global context states used on all modules.
  1515. - Custom memory allocators for all modules and dependencies.
  1516. - Centralized file access system and memory data loading.
  1517. - Structures reviewed to reduce size and always be used as pass-by-value.
  1518. - Tracelog messages completely reviewed and categorized.
  1519. - raudio module reviewed to accomodate new Music struct and new miniaudio.
  1520. - text module reviewed to improve fonts generation and text management functions.
  1521. - Multiple new examples added and categorized examples table.
  1522. - GitHub Actions CI implemented for Windows, Linux and macOS.
  1523. Detailed changes:
  1524. [build] ADDED: VS2017.ANGLE project, by @msmshazan
  1525. [build] ADDED: VS2017 project support for x64 platform configuration
  1526. [build] ADDED: Makefile for Android building on macOS, by @Yunoinsky
  1527. [build] ADDED: Makefile for Android building on Linux, by @pamarcos
  1528. [build] REMOVED: VS2015 project
  1529. [build] REVIEWED: VSCode project
  1530. [build] REVIEWED: Makefile build system
  1531. [build] REVIEWED: Android building, by @NimbusFox
  1532. [build] REVIEWED: Compilation with CLion IDE, by @Rover656
  1533. [build] REVIEWED: Generation of web examples, by @pamarcos
  1534. [build] REVIEWED: Makefiles path to 'shell.html', by @niorad
  1535. [build] REVIEWED: VS2017 64bit compilation issues, by @spec-chum
  1536. [build] REVIEWED: Multiple fixes on projects building, by @ChrisDill, @JuDelCo, @electronstudio
  1537. [core] ADDED: Support touch/mouse indistinctly
  1538. [core] ADDED: FLAG_WINDOW_ALWAYS_RUN to avoid pause on minimize
  1539. [core] ADDED: Config flag SUPPORT_HALFBUSY_WAIT_LOOP
  1540. [core] ADDED: RPI mouse cursor point support on native mode
  1541. [core] ADDED: GetWorldToScreen2D()- Get screen space position for a 2d camera world space position, by @arvyy
  1542. [core] ADDED: GetScreenToWorld2D() - Get world space position for a 2d camera screen space position, by @arvyy
  1543. [core] ADDED: GetWorldToScreenEx() - Get size position for a 3d world space position
  1544. [core] ADDED: DirectoryExists() - Check if a directory path exists
  1545. [core] ADDED: GetPrevDirectoryPath() - Get previous directory path for a given path
  1546. [core] ADDED: CompressData() - Compress data (DEFLATE algorythm)
  1547. [core] ADDED: DecompressData() - Decompress data (DEFLATE algorythm)
  1548. [core] ADDED: GetWindowPosition() - Get window position XY on monitor
  1549. [core] ADDED: LoadFileData() - Load file data as byte array (read)
  1550. [core] ADDED: SaveFileData() - Save data to file from byte array (write)
  1551. [core] ADDED: LoadFileText() - Load text data from file (read), returns a '\0' terminated string
  1552. [core] ADDED: SaveFileText() - Save text data to file (write), string must be '\0' terminated
  1553. [core] REMOVED: Show raylib logo at initialization
  1554. [core] REVIEWED: GetFileName(), security checks
  1555. [core] REVIEWED: LoadStorageValue(), by @danimartin82
  1556. [core] REVIEWED: SaveStorageValue(), by @danimartin82
  1557. [core] REVIEWED: IsMouseButtonReleased(), when press/release events come too fast, by @oswjk
  1558. [core] REVIEWED: SetWindowMonitor(), by @DropsOfSerenity
  1559. [core] REVIEWED: IsFileExtension() to be case-insensitive
  1560. [core] REVIEWED: IsFileExtension() when checking no-extension files
  1561. [core] REVIEWED: Default font scale filter for HighDPI mode
  1562. [core] REVIEWED: Touch input scaling for PLATFORM_WEB
  1563. [core] REVIEWED: RPI input system, by @DarkElvenAngel
  1564. [core] REVIEWED: RPI input threads issues
  1565. [core] REVIEWED: OpenGL extensions loading and freeing
  1566. [core] REVIEWED: GetDirectoryPath()
  1567. [core] REVIEWED: Camera2D behavior, by @arvyy
  1568. [core] REVIEWED: OpenGL ES 2.0 extensions check
  1569. [rlgl] ADDED: Flags to allow frustrum culling near/far distance configuration at compile time
  1570. [rlgl] ADDED: Flags to sllow MAX_BATCH_BUFFERING config at compile time
  1571. [rlgl] ADDED: GetMatrixProjection(), by @chriscamacho
  1572. [rlgl] ADDED: rlUpdateMeshAt() - Update vertex or index data on GPU, at index, by @brankoku
  1573. [rlgl] REVIEWED: Vertex padding not zeroed for quads, by @kawa-yoiko
  1574. [rlgl] REVIEWED: Read texture data as RGBA from FBO on GLES 2.0
  1575. [rlgl] REVIEWED: LoadShaderCode() for const correctness, by @heretique
  1576. [rlgl] REVIEWED: rlLoadTexture()
  1577. [rlgl] REVIEWED: rlReadTexturePixels()
  1578. [rlgl] REVIEWED: rlUpdateMesh() to supports updating indices, by @brankoku
  1579. [rlgl] REVIEWED: GenTextureCubemap(), renamed parameters for consistency
  1580. [rlgl] REVIEWED: HDR pixels loading
  1581. [raymath] ADDED: MatrixRotateXYZ(), by @chriscamacho
  1582. [raymath] RENAMED: Vector3Multiply() to Vector3Scale()
  1583. [camera] REVIEWED: Free camera pitch, by @chriscamacho
  1584. [camera] REVIEWED: Camera not working properly at z-align, by @Ushio
  1585. [shapes] ADDED: DrawTriangleStrip() - Draw a triangle strip defined by points
  1586. [shapes] ADDED: DrawEllipse() - Draw ellipse
  1587. [shapes] ADDED: DrawEllipseLines() - Draw ellipse outline
  1588. [shapes] ADDED: DrawPolyLines() - Draw a polygon outline of n sides
  1589. [shapes] REVIEWED: DrawPoly() shape rendering, by @AlexHCC
  1590. [textures] ADDED: LoadAnimatedGIF() - Load animated GIF file
  1591. [textures] ADDED: GetImageAlphaBorder() - Get image alpha border rectangle
  1592. [textures] ADDED: ImageFromImage() - Create an image from another image piece
  1593. [textures] ADDED: ImageClearBackground(), by @iamsouravgupta
  1594. [textures] ADDED: ImageDrawPixel(), by @iamsouravgupta
  1595. [textures] ADDED: ImageDrawCircle(), by @iamsouravgupta
  1596. [textures] ADDED: ImageDrawLineEx(), by @iamsouravgupta
  1597. [textures] ADDED: ImageDrawPixelV(), by @RobLoach
  1598. [textures] ADDED: ImageDrawCircleV(), by @RobLoach
  1599. [textures] ADDED: ImageDrawLineV(), by @RobLoach
  1600. [textures] ADDED: ImageDrawRectangleV(), by @RobLoach
  1601. [textures] ADDED: ImageDrawRectangleRec(), by @RobLoach
  1602. [textures] REVIEWED: ImageDrawPixel(), by @RobLoach
  1603. [textures] REVIEWED: ImageDrawLine(), by @RobLoach
  1604. [textures] REVIEWED: ImageDrawCircle(), by @RobLoach
  1605. [textures] REVIEWED: ImageDrawRectangle(), by @RobLoach
  1606. [textures] REVIEWED: ImageDraw(), now it supports color tint parameter
  1607. [textures] REVIEWED: ImageResizeCanvas()
  1608. [textures] REVIEWED: ImageCrop() with security checks
  1609. [textures] REVIEWED: ImageAlphaMask()
  1610. [textures] REVIEWED: ImageDrawRectangleLines()
  1611. [textures] REVIEWED: GetImageData()
  1612. [text] ADDED: TextCopy() - Copy one string to another, returns bytes copied
  1613. [text] ADDED: GetCodepoints() - Get all codepoints in a string
  1614. [text] ADDED: CodepointToUtf8() - Encode codepoint into utf8 text
  1615. [text] ADDED: DrawTextCodepoint() - Draw one character (codepoint)
  1616. [text] RENAMED: LoadDefaultFont() -> LoadFontDefault()
  1617. [text] RENAMED: TextCountCodepoints() -> GetCodepointsCount()
  1618. [text] REVIEWED: TextFormat(), to support caching, by @brankoku
  1619. [text] REVIEWED: LoadFontData(), generate empty image for space character
  1620. [text] REVIEWED: TextSplit()
  1621. [text] REVIEWED: TextToInteger()
  1622. [text] REVIEWED: GetNextCodepoint(), renamed parameters for clarity
  1623. [text] REVIEWED: GenImageFontAtlas(), improved atlas size computing
  1624. [text] REDESIGNED: struct Font, character rectangles have been moved out from CharInfo to Font
  1625. [text] REDESIGNED: struct CharInfo, now includes directly an Image of the glyph
  1626. [text] REDESIGNED: GenImageFontAtlas(), additional recs parameter added
  1627. [text] REDESIGNED: ImageTextEx(), to avoid font retrieval from GPU
  1628. [models] ADDED: Support rlPushMatrix() and rlPopMatrix() on mesh drawing
  1629. [models] ADDED: DrawPoint3D() - Draw a point in 3D space, actually a small line, by @ProfJski
  1630. [models] ADDED: Multi texture support for materials in GLTF format, by @Gamerfiend, @chriscamacho
  1631. [models] REVIEWED: LoadGLTF(), fixed memory leak, by @jubalh
  1632. [models] REVIEWED: LoadIQM(), support multiple animations loading, by @culacant
  1633. [models] REVIEWED: GetCollisionRayModel(), to avoid pointers
  1634. [models] REVIEWED: CheckCollisionRay*(), parameters renamed
  1635. [models] REVIEWED: UnloadMesh(), to avoid pointers
  1636. [models] REVIEWED: LoadModel(), memory initialization
  1637. [models] REVIEWED: UpdateModelAnimation(), added security checks
  1638. [models] REVIEWED: Multiple fixes on models loading, by @jubalh
  1639. [models] REVIEWED: Normals updated when using animated meshes, by @@las3rlars
  1640. [models] REVIEWED: Compilation when the SUPPORT_MESH_GENERATION not set, by @@Elkantor
  1641. [raudio] ADDED: Multi-channel audio playing, by @chriscamacho
  1642. [raudio] REMOVED: LoadWaveEx()
  1643. [raudio] RENAMED: IsAudioBufferProcessed() to IsAudioStreamProcessed()
  1644. [raudio] REVIEWED: Ensure .xm playback starts in the right place, by @illegalinstruction
  1645. [raudio] REVIEWED: Fix short non-looping sounds, by @jbosh
  1646. [raudio] REVIEWED: Modules playing time to full length
  1647. [raudio] REDESIGNED: Replaced Music pointer by struct
  1648. [raudio] REDESIGNED: Removed sampleLeft from Music struct
  1649. [examples] ADDED: core_scissor_test, by @ChrisDill
  1650. [examples] ADDED: core_2d_camera_platformer, by @arvyy
  1651. [examples] ADDED: textures_mouse_painting, by @ChrisDill
  1652. [examples] ADDED: models_waving_cubes, by @codecat
  1653. [examples] ADDED: models_solar_system, by @aldrinmartoq
  1654. [examples] ADDED: shaders_fog, by @chriscamacho
  1655. [examples] ADDED: shaders_texture_waves, by @Anata
  1656. [examples] ADDED: shaders_basic_lighting, by @chriscamacho
  1657. [examples] ADDED: shaders_simple_mask, by @chriscamacho
  1658. [examples] ADDED: audio_multichannel_sound, by @chriscamacho
  1659. [examples] ADDED: shaders_spotlight, by @chriscamacho
  1660. [examples] RENAMED: text_sprite_font > text_font_spritefont
  1661. [examples] RENAMED: text_ttf_loading > text_font_filters
  1662. [examples] RENAMED: text_bmfont_ttf > text_font_loading
  1663. [examples] REMOVED: models_obj_viewer
  1664. [examples] REMOVED: models_solar_system
  1665. [examples] REVIEWED: models_obj_loading > models_loading
  1666. [examples] REVIEWED: models_materials_pbr, shader issues
  1667. [examples] REVIEWED: core_window_letterbox, detailed explanation, by @jotac0
  1668. [examples] REVIEWED: core_window_letterbox, virtual mouse, by @anatagawa
  1669. [games] ADDED: GGJ2020 game - RE-PAIR
  1670. [*] Misc fixes and tweaks, by @yaram, @oraoto, @zatherz, @piecedigital, @Shylie
  1671. [*] Update ALL supported projects (Notepad++, VS2017)
  1672. [*] Update ALL external libraries to latest versions (29.Jan.2020)
  1673. [*] Update ALL examples and games
  1674. [*] Update BINDINGS list
  1675. -----------------------------------------------
  1676. Release: raylib 2.5 (May 2019)
  1677. -----------------------------------------------
  1678. KEY CHANGES:
  1679. - [core] Redesigned Gamepad mechanism, now common to all platforms and gamepads
  1680. - [core] HighDPI monitors support with automatic content scaling
  1681. - [rlgl] Complete module redesign to use one single internal buffer
  1682. - [rlgl] VR system redesign to allow custom device parameters and distortion shader
  1683. - [shapes] New drawing shapes available: CircleSector, Ring and RectangleRounded
  1684. - [text] New text management API (multiple functions)
  1685. - [text] Full Unicode support (utf8 text)
  1686. - [textures] Cubemap textures support
  1687. - [textures] Quad and N-Patch drawing
  1688. - [models] Skeletal model animation support
  1689. - [models] Support multiple meshes per model
  1690. - [models] Support glTF model loading
  1691. Detailed changes:
  1692. [build] REVIEWED: Default raylib and examples Makefile
  1693. [build] REVIEWED: Notepad++ NppExec scripts
  1694. [build] REVIEWED: VS2015 and VS2017 projects
  1695. [build] REVIEWED: Android APK build pipeline
  1696. [core] Converted most #defined values as enum values
  1697. [core] Complete redesign of RPI input system to use evdev events
  1698. [core] ADDED: IsWindowResized() - Check if window has been resized
  1699. [core] ADDED: IsWindowHidden() - Check if window is currently hidden
  1700. [core] ADDED: UnhideWindow() - Show the window
  1701. [core] ADDED: HideWindow() - Hide the window
  1702. [core] ADDED: GetWindowHandle() - Get native window handle
  1703. [core] ADDED: GetMonitorCount() - Get number of connected monitors
  1704. [core] ADDED: GetMonitorWidth() - Get primary monitor width
  1705. [core] ADDED: GetMonitorHeight() - Get primary monitor height
  1706. [core] ADDED: GetMonitorPhysicalWidth() - Get primary monitor physical width in millimetres
  1707. [core] ADDED: GetMonitorPhysicalHeight() - Get primary monitor physical height in millimetres
  1708. [core] ADDED: GetMonitorName() - Get the human-readable, UTF-8 encoded name of the primary monitor
  1709. [core] ADDED: GetClipboardText() - Get clipboard text content
  1710. [core] ADDED: SetClipboardText() - Set clipboard text content
  1711. [core] ADDED: ColorFromHSV() - Returns a Color from HSV values
  1712. [core] ADDED: FileExists() - Check if file exists
  1713. [core] ADDED: GetFileNameWithoutExt() - Get filename string without extension (memory should be freed)
  1714. [core] ADDED: GetDirectoryFiles() - Get filenames in a directory path (memory should be freed)
  1715. [core] ADDED: ClearDirectoryFiles() - Clear directory files paths buffers (free memory)
  1716. [core] ADDED: OpenURL() - Open URL with default system browser (if available)
  1717. [core] ADDED: SetMouseOffset() - Set mouse offset
  1718. [core] ADDED: SetMouseScale() - Set mouse scaling
  1719. [core] REMOVED: ShowLogo() - Activate raylib logo at startup (can be done with flags)
  1720. [shapes] ADDED: DrawCircleSector() - Draw a piece of a circle
  1721. [shapes] ADDED: DrawCircleSectorLines() - Draw circle sector outline
  1722. [shapes] ADDED: DrawRing() - Draw ring
  1723. [shapes] ADDED: DrawRingLines() - Draw ring outline
  1724. [shapes] ADDED: DrawRectangleRounded() - Draw rectangle with rounded edges
  1725. [shapes] ADDED: DrawRectangleRoundedLines() - Draw rectangle with rounded edges outline
  1726. [shapes] ADDED: SetShapesTexture() - Define default texture used to draw shapes
  1727. [textures] REVIEWED: ExportImage() - Reorder function parameters
  1728. [textures] REVIEWED: ImageDrawRectangle() - Remove unneeded parameter
  1729. [textures] ADDED: ExportImageAsCode() - Export image as code file defining an array of bytes
  1730. [textures] ADDED: LoadTextureCubemap() - Load cubemap from image, multiple image cubemap layouts supported
  1731. [textures] ADDED: ImageExtractPalette() - Extract color palette from image to maximum size (memory should be freed)
  1732. [textures] ADDED: ImageDrawRectangleLines() - Draw rectangle lines within an image
  1733. [textures] ADDED: DrawTextureQuad() - Draw texture quad with tiling and offset parameters
  1734. [textures] ADDED: DrawTextureNPatch() - Draws a texture (or part of it) that stretches or shrinks nicely
  1735. [models] REVIEWED: LoadMesh() -> LoadMeshes() - Support multiple meshes loading
  1736. [models] REVIEWED: LoadMaterial() -> LoadMaterials() - Support multiple materials loading
  1737. [models] REVIEWED: ExportMesh() - Reorder parameters
  1738. [models] ADDED: DrawCubeWiresV() - Draw cube wires (Vector version)
  1739. [models] ADDED: GenMeshPoly() - Generate polygonal mesh
  1740. [models] ADDED: SetMaterialTexture() - Set texture for a material map type (MAP_DIFFUSE, MAP_SPECULAR...)
  1741. [models] ADDED: SetModelMeshMaterial() - Set material for a mesh
  1742. [models] ADDED: LoadModelAnimations() - Load model animations from file
  1743. [models] ADDED: UpdateModelAnimation() - Update model animation pose
  1744. [models] ADDED: UnloadModelAnimation() - Unload animation data
  1745. [models] ADDED: IsModelAnimationValid() - Check model animation skeleton match
  1746. [rlgl] Improved internal batching mechanism (multibuffering support, triangle texcoords...)
  1747. [rlgl] REVIEWED: rlPushMatrix()/rlPopMatrix() - Now works like OpenGL 1.1
  1748. [rlgl] REVIEWED: SetShaderValue() - More generic, now requires uniform type
  1749. [rlgl] REMOVED: SetShaderValuei() - Can be acoomplished with new SetShaderValue()
  1750. [rlgl] ADDED: SetShaderValueV() - Set shader uniform value vector
  1751. [rlgl] ADDED: SetShaderValueTexture() - Set shader uniform value for texture
  1752. [rlgl] ADDED: BeginScissorMode() - Begin scissor mode (define screen area for following drawing)
  1753. [rlgl] ADDED: EndScissorMode() - End scissor mode
  1754. [rlgl] ADDED: SetVrConfiguration() - Set stereo rendering configuration parameters
  1755. [rlgl] REVIEWED: InitVrSimulator() - No input parameter required, use SetVrConfiguration()
  1756. [text] REVIEWED: LoadFontEx() - Reorder function parameters
  1757. [text] REVIEWED: LoadFontData() - Reorder function parameters
  1758. [text] REVIEWED: GenImageFontAtlas() - Reorder function parameters
  1759. [text] RENAMED: FormatText() -> TextFormat()
  1760. [text] RENAMED: SubText() -> TextSubtext()
  1761. [text] ADDED: LoadFontFromImage() - Load font from Image (XNA style)
  1762. [text] ADDED: DrawTextRec() - Draw text using font inside rectangle limits
  1763. [text] ADDED: DrawTextRecEx() - Draw text using font inside rectangle limits with support for text selection
  1764. [text] ADDED: TextIsEqual() - Check if two text string are equal
  1765. [text] ADDED: TextLength() - Get text length, checks for '\0' ending
  1766. [text] ADDED: TextReplace() - Replace text string (memory should be freed!)
  1767. [text] ADDED: TextInsert() - Insert text in a position (memory should be freed!)
  1768. [text] ADDED: TextJoin() - Join text strings with delimiter
  1769. [text] ADDED: TextSplit() - Split text into multiple strings
  1770. [text] ADDED: TextAppend() - Append text at specific position and move cursor!
  1771. [text] ADDED: TextFindIndex() - Find first text occurrence within a string
  1772. [text] ADDED: TextToUpper() - Get upper case version of provided string
  1773. [text] ADDED: TextToLower() - Get lower case version of provided string
  1774. [text] ADDED: TextToPascal() - Get Pascal case notation version of provided string
  1775. [text] ADDED: TextToInteger() - Get integer value from text (negative values not supported)
  1776. [raudio] ADDED: ExportWave() - Export wave data to file
  1777. [raudio] ADDED: ExportWaveAsCode() - Export wave sample data to code (.h)
  1778. [raudio] ADDED: IsAudioStreamPlaying() - Check if audio stream is playing
  1779. [raudio] ADDED: SetAudioStreamVolume() - Set volume for audio stream (1.0 is max level)
  1780. [raudio] ADDED: SetAudioStreamPitch() - Set pitch for audio stream (1.0 is base level)
  1781. [examples] Complete review of full examples collection, many additions
  1782. [examples] ADDED: core_custom_logging - Custom trace log system
  1783. [examples] ADDED: core_input_multitouch - Multitouch input example
  1784. [examples] ADDED: core_window_letterbox - Window adapted to screen
  1785. [examples] ADDED: core_loading_thread - Data loading in second thread
  1786. [examples] REVIEWED: core_input_gamepad - Adapted to new gamepad system
  1787. [examples] REVIEWED: core_vr_simulator - HMD device parameters and distortion shader should be provided
  1788. [examples] ADDED: core_window_scale_letterbox - Windows resizing and letterbox content
  1789. [examples] ADDED: shapes_rectangle_scaling_mouse - Scale a rectangle with mouse
  1790. [examples] ADDED: shapes_draw_circle_sector - Circle sector drawing
  1791. [examples] ADDED: shapes_draw_ring - Ring drawing
  1792. [examples] ADDED: shapes_draw_rectangle_rounded - Rounded rectangle drawing
  1793. [examples] ADDED: shapes_bouncing_ball - Ball bouncing in the screen
  1794. [examples] ADDED: shapes_collision_area - Collision detection and drawing
  1795. [examples] ADDED: shapes_following_eyes - Some maths on eyes and mouse
  1796. [examples] ADDED: shapes_easings_ball_anim - Ball animation
  1797. [examples] ADDED: shapes_easings_box_anim - Box animation
  1798. [examples] ADDED: shapes_easings_rectangle_array - Rectangles animation
  1799. [examples] REVIEWED: shapes_colors_palette - Reviewed color selection and text displaying
  1800. [examples] ADDED: textures_background_scrolling - Scrolling and parallaz background effect
  1801. [examples] ADDED: textures_image_npatch - Drawing N-Patch based boxes
  1802. [examples] ADDED: textures_sprite_button - Sprite button with sound
  1803. [examples] ADDED: textures_sprite_explosion - Sprite explosion with sound
  1804. [examples] ADDED: textures_bunnymark - Benchmarking test
  1805. [examples] ADDED: text_draw_inside_rectangle - Drawing text inside a delimited rectangle box
  1806. [examples] ADDED: text_unicode - Multiple languages text drawing
  1807. [examples] ADDED: text_rectangle_bound - Fit text inside a rectangle
  1808. [examples] REVIEWED: text_bmfont_ttf - Simplified example
  1809. [examples] ADDED: models_animation - Animated models loading and animation playing
  1810. [examples] ADDED: models_obj_viewer - Draw and drop models viewer
  1811. [examples] ADDED: models_rlgl_solar_system - Solar system simulation using rlgl functionality
  1812. [examples] ADDED: models_first_person_maze - 3D maze fps
  1813. [examples] ADDED: shaders_palette_switch - Switching color palette on shader
  1814. [examples] ADDED: shaders_raymarching - Raymarching shader
  1815. [examples] ADDED: shaders_texture_drawing - Texture drawing on GPU
  1816. [examples] ADDED: shaders_texture_waves - Texture waves on shader
  1817. [examples] ADDED: shaders_julia_set - Julia set fractals
  1818. [examples] ADDED: shaders_eratosthenes - Prime number visualization shader
  1819. [examples] REVIEWED: audio_raw_stream - Mostly rewritten
  1820. [games] ADDED: GGJ19 game - Cat vs Roomba
  1821. [*] Updated external libraries to latest version
  1822. [*] Multiple bugs corrected (check github issues)
  1823. -----------------------------------------------
  1824. Release: raylib 2.0 (July 2018)
  1825. -----------------------------------------------
  1826. KEY CHANGES:
  1827. - Removed external dependencies (GLFW3 and OpenAL)
  1828. - Complete redesign of audio module to use miniaudio library
  1829. - Support AppVeyor and Travis CI (continuous integration) building
  1830. - Reviewed raymath.h for better consistency and performance (inlining)
  1831. - Refactor all #define SUPPORT_* into a single config.h
  1832. - Support TCC compiler (32bit and 64bit)
  1833. Detailed changes:
  1834. [build] REMOVED: GitHub develop branch
  1835. [build] REMOVED: External dependencies GLFW and OpenAL
  1836. [build] ADDED: Android 64bit ARM support
  1837. [build] ADDED: FreeBSD, OpenBSD, NetBSD, Dragon Fly OS support
  1838. [build] ADDED: Universal Windows Platform (UWP) support
  1839. [build] ADDED: Wayland Linux desktop support
  1840. [build] ADDED: AppVeyor CI for automatic Windows builds
  1841. [build] ADDED: Travis CI for automatic Linux/macOS builds
  1842. [build] ADDED: rglfw (GLFW3 module) to avoid external dependency
  1843. [build] ADDED: VS2017 UWP project
  1844. [build] ADDED: Builder project template
  1845. [build] ADDED: Compiler memory sanitizer for better debug
  1846. [build] ADDED: CMake package target and CI auto-deploy tags
  1847. [build] ADDED: DEBUG library building support
  1848. [build] ADDED: Notepad++ NppExec scripts
  1849. [build] REVIEWED: VS2015 and VS2017 projects
  1850. [build] REVIEWED: Android APK build pipeline
  1851. [core] REVIEWED: Window creation hints to support transparent windows
  1852. [core] Unified InitWindow() between platforms
  1853. [core] Export Android main entry point
  1854. [core] RENAMED: Begin3dMode() to BeginMode3D()
  1855. [core] RENAMED: End3dMode() to EndMode3D()
  1856. [core] RENAMED: Begin2dMode() to BeginMode2D()
  1857. [core] RENAMED: End2dMode() to EndMode2D()
  1858. [core] RENAMED: struct Camera to Camera3D
  1859. [core] RENAMED: struct SpriteFont to Font -> plus all required functions!
  1860. [core] RENAMED: enum TextureFormat to PixelFormat
  1861. [core] REVIEWED: Rectangle params int to float
  1862. [core] REVIEWED: timing system for macOS
  1863. [core] REMOVED: ColorToFloat()
  1864. [core] ADDED: GetCurrentTime() on macOS
  1865. [core] ADDED: GetTime()
  1866. [core] ADDED: struct Vector4
  1867. [core] ADDED: SetTraceLog() to define trace log messages type
  1868. [core] ADDED: GetFileName() to get filename from path string
  1869. [core] ADDED: ColorToHSV()
  1870. [core] ADDED: ColorNormalize()
  1871. [core] ADDED: SetWindowSize() to scale Windows in runtime
  1872. [core] ADDED: SetMouseScale() to scale mouse input
  1873. [core] ADDED: key definitions - KEY_GRAVE, KEY_SLASH, KEY_BACKSLASH
  1874. [core] RENAMED: GetHexValue() to ColorToInt()
  1875. [core] REVIEWED: Fade()
  1876. [core] REVIEWED: InitWindow() to avoid void pointer (safety)
  1877. [core] Support camera 3d orthographic projection mode
  1878. [shapes] ADDED: DrawRectangleLinesEx()
  1879. [textures] Improved pixel formats support (32bit channels)
  1880. [textures] Improved textures support for OpenGL 2.1
  1881. [textures] REMOVED: DrawRectangleT() --> Added support to DrawRectangle()
  1882. [textures] ADDED: GetPixelDataSize(); pixel data size in bytes (image or texture)
  1883. [textures] ADDED: ImageAlphaClear() --> Clear alpha channel to desired color
  1884. [textures] ADDED: ImageAlphaCrop() --> Crop image depending on alpha value
  1885. [textures] ADDED: ImageAlphaPremultiply() --> Premultiply alpha channel
  1886. [textures] ADDED: ImageDrawRectangle()
  1887. [textures] ADDED: ImageMipmaps()
  1888. [textures] ADDED: GenImageColor()
  1889. [textures] ADDED: GetPixelDataSize()
  1890. [textures] ADDED: ImageRotateCW()
  1891. [textures] ADDED: ImageRotateCCW()
  1892. [textures] ADDED: ImageResizeCanvas()
  1893. [textures] ADDED: GetImageDataNormalized()
  1894. [textures] REVIEWED: ImageFormat() to use normalized data
  1895. [textures] REVIEWED: Manual mipmap generation
  1896. [textures] REVIEWED: LoadASTC()
  1897. [textures] REVIEWED: GenImagePerlinNoise()
  1898. [textures] REVIEWED: ImageTextEx() to support UTF8 basic characters
  1899. [textures] REVIEWED: GetTextureData() for RPI - requires some work
  1900. [textures] Added new example: text drawing on image
  1901. [text] Corrected issue with ttf font y-offset
  1902. [text] Support SDF font data generation
  1903. [text] ADDED: GenImageFontAtlas()
  1904. [text] ADDED: LoadFontData() to load data from TTF file
  1905. [text] REMOVED: LoadTTF() internal function
  1906. [text] REVIEWED: DrawTextEx() - avoid rendering SPACE character!
  1907. [text] RENAMED: GetDefaultFont() to GetFontDefault()
  1908. [rlgl] ADDED: rlCheckBufferLimit()
  1909. [rlgl] ADDED: LoadShaderCode()
  1910. [rlgl] ADDED: GetMatrixModelview()
  1911. [rlgl] ADDED: SetVrDistortionShader(Shader shader)
  1912. [rlgl] REVIEWED: rlLoadTexture() - added mipmaps support, improved compressed textures loading
  1913. [rlgl] REVIEWED: rlReadTexturePixels()
  1914. [models] Support 4 components mesh.tangent data
  1915. [models] Removed tangents generation from LoadOBJ()
  1916. [models] ADDED: MeshTangents()
  1917. [models] ADDED: MeshBinormals()
  1918. [models] ADDED: ExportMesh()
  1919. [models] ADDED: GetCollisionRayModel()
  1920. [models] RENAMED: CalculateBoundingBox() to MeshBoundingBox()
  1921. [models] REMOVED: GetCollisionRayMesh() - does not consider model transform
  1922. [models] REVIEWED: LoadMesh() - fallback to default cube mesh if loading fails
  1923. [audio] ADDED: Support for MP3 fileformat
  1924. [audio] ADDED: IsAudioStreamPlaying()
  1925. [audio] ADDED: SetAudioStreamVolume()
  1926. [audio] ADDED: SetAudioStreamPitch()
  1927. [utils] Corrected issue with SaveImageAs()
  1928. [utils] RENAMED: SaveImageAs() to ExportImage()
  1929. [utils] REMOVED: rres support - moved to external library (rres.h)
  1930. [shaders] REVIEWED: GLSL 120 shaders
  1931. [raymath] ADDED: Vector3RotateByQuaternion()
  1932. [raymath] REVIEWED: math usage to reduce temp variables
  1933. [raymath] REVIEWED: Avoid pointer-based parameters for API consistency
  1934. [physac] REVIEWED: physac.h timing system
  1935. [examples] Replaced dwarf model by brand new 3d assets: 3d medieval buildings
  1936. [examples] Assets cleaning and some replacements
  1937. [games] ADDED: GGJ18 game - transmission mission
  1938. [games] REVIEWED: Light my Ritual game - improved gameplay drawing
  1939. [*] Updated external libraries to latest version
  1940. [*] Multiple bugs corrected (check github issues)
  1941. -----------------------------------------------
  1942. Release: raylib 1.8.0 (Oct 2017)
  1943. -----------------------------------------------
  1944. NOTE:
  1945. In this release, multiple parts of the library have been reviewed (again) for consistency and simplification.
  1946. It exposes more than 30 new functions in comparison with previous version and it improves overall programming experience.
  1947. BIG CHANGES:
  1948. - New Image generation functions: Gradient, Checked, Noise, Cellular...
  1949. - New Mesh generation functions: Cube, Sphere, Cylinder, Torus, Knot...
  1950. - New Shaders and Materials systems to support PBR materials
  1951. - Custom Android APK build pipeline with simple Makefile
  1952. - Complete review of rlgl layer functionality
  1953. - Complete review of raymath functionality
  1954. detailed changes:
  1955. [rlgl] RENAMED: rlglLoadTexture() to rlLoadTexture()
  1956. [rlgl] RENAMED: rlglLoadRenderTexture() to rlLoadRenderTexture()
  1957. [rlgl] RENAMED: rlglUpdateTexture() to rlUpdateTexture()
  1958. [rlgl] RENAMED: rlglGenerateMipmaps() to rlGenerateMipmaps()
  1959. [rlgl] RENAMED: rlglReadScreenPixels() to rlReadScreenPixels()
  1960. [rlgl] RENAMED: rlglReadTexturePixels() to rlReadTexturePixels()
  1961. [rlgl] RENAMED: rlglLoadMesh() to rlLoadMesh()
  1962. [rlgl] RENAMED: rlglUpdateMesh() to rlUpdateMesh()
  1963. [rlgl] RENAMED: rlglDrawMesh() to rlDrawMesh()
  1964. [rlgl] RENAMED: rlglUnloadMesh() to rlUnloadMesh()
  1965. [rlgl] RENAMED: rlglUnproject() to rlUnproject()
  1966. [rlgl] RENAMED: LoadCompressedTexture() to LoadTextureCompressed()
  1967. [rlgl] RENAMED: GetDefaultTexture() to GetTextureDefault()
  1968. [rlgl] RENAMED: LoadDefaultShader() to LoadShaderDefault()
  1969. [rlgl] RENAMED: LoadDefaultShaderLocations() to SetShaderDefaultLocations()
  1970. [rlgl] RENAMED: UnloadDefaultShader() to UnLoadShaderDefault()
  1971. [rlgl] ADDED: rlGenMapCubemap(), Generate cubemap texture map from HDR texture
  1972. [rlgl] ADDED: rlGenMapIrradiance(), Generate irradiance texture map
  1973. [rlgl] ADDED: rlGenMapPrefilter(), Generate prefilter texture map
  1974. [rlgl] ADDED: rlGenMapBRDF(), Generate BRDF texture map
  1975. [rlgl] ADDED: GetVrDeviceInfo(), Get VR device information for some standard devices
  1976. [rlgl] REVIEWED: InitVrSimulator(), to accept device parameters as input
  1977. [core] ADDED: SetWindowTitle(), Set title for window (only PLATFORM_DESKTOP)
  1978. [core] ADDED: GetExtension(), Get file extension
  1979. [shapes] REMOVED: DrawRectangleGradient(), replaced by DrawRectangleGradientV() and DrawRectangleGradientH()
  1980. [shapes] ADDED: DrawRectangleGradientV(), Draw a vertical-gradient-filled rectangle
  1981. [shapes] ADDED: DrawRectangleGradientH(), Draw a horizontal-gradient-filled rectangle
  1982. [shapes] ADDED: DrawRectangleGradientEx(), Draw a gradient-filled rectangle with custom vertex colors
  1983. [shapes] ADDED: DrawRectangleT(), Draw rectangle using text character
  1984. [textures] ADDED: SaveImageAs(), Save image as PNG file
  1985. [textures] ADDED: GenImageGradientV(), Generate image: vertical gradient
  1986. [textures] ADDED: GenImageGradientH(), Generate image: horizontal gradient
  1987. [textures] ADDED: GenImageGradientRadial(), Generate image: radial gradient
  1988. [textures] ADDED: GenImageChecked(), Generate image: checked
  1989. [textures] ADDED: GenImageWhiteNoise(), Generate image: white noise
  1990. [textures] ADDED: GenImagePerlinNoise(), Generate image: perlin noise
  1991. [textures] ADDED: GenImageCellular(), Generate image: cellular algorithm. Bigger tileSize means bigger cells
  1992. [textures] ADDED: GenTextureCubemap(), Generate cubemap texture from HDR texture
  1993. [textures] ADDED: GenTextureIrradiance(), Generate irradiance texture using cubemap data
  1994. [textures] ADDED: GenTexturePrefilter(), Generate prefilter texture using cubemap data
  1995. [textures] ADDED: GenTextureBRDF(), Generate BRDF texture using cubemap data
  1996. [models] REMOVED: LoadMeshEx(), Mesh struct variables can be directly accessed
  1997. [models] REMOVED: UpdateMesh(), very ineficient
  1998. [models] REMOVED: LoadHeightmap(), use GenMeshHeightmap() and LoadModelFromMesh()
  1999. [models] REMOVED: LoadCubicmap(), use GenMeshCubicmap() and LoadModelFromMesh()
  2000. [models] RENAMED: LoadDefaultMaterial() to LoadMaterialDefault()
  2001. [models] ADDED: GenMeshPlane(), Generate plane mesh (with subdivisions)
  2002. [models] ADDED: GenMeshCube(), Generate cuboid mesh
  2003. [models] ADDED: GenMeshSphere(), Generate sphere mesh (standard sphere)
  2004. [models] ADDED: GenMeshHemiSphere(), Generate half-sphere mesh (no bottom cap)
  2005. [models] ADDED: GenMeshCylinder(), Generate cylinder mesh
  2006. [models] ADDED: GenMeshTorus(), Generate torus mesh
  2007. [models] ADDED: GenMeshKnot(), Generate trefoil knot mesh
  2008. [models] ADDED: GenMeshHeightmap(), Generate heightmap mesh from image data
  2009. [models] ADDED: GenMeshCubicmap(), Generate cubes-based map mesh from image data
  2010. [raymath] REVIEWED: full Matrix functionality to align with GLM in usage
  2011. [raymath] RENAMED: Vector3 functions for consistency: Vector*() renamed to Vector3*()
  2012. [build] Integrate Android APK building into examples Makefile
  2013. [build] Integrate Android APK building into templates Makefiles
  2014. [build] Improved Visual Studio 2015 project, folders, references...
  2015. [templates] Reviewed the full pack to support Android building
  2016. [examples] Reviewed full collection to adapt to raylib changes
  2017. [examples] [textures] ADDED: textures_image_generation
  2018. [examples] [models] ADDED: models_mesh_generation
  2019. [examples] [models] ADDED: models_material_pbr
  2020. [examples] [models] ADDED: models_skybox
  2021. [examples] [models] ADDED: models_yaw_pitch_roll
  2022. [examples] [others] REVIEWED: rlgl_standalone
  2023. [examples] [others] REVIEWED: audio_standalone
  2024. [github] Moved raylib webpage to own repo: github.com/raysan5/raylib.com
  2025. [games] Reviewed game: Koala Seasons
  2026. [*] Updated STB libraries to latest version
  2027. [*] Multiple bugs corrected (check github issues)
  2028. -----------------------------------------------
  2029. Release: raylib 1.7.0 (20 May 2017)
  2030. -----------------------------------------------
  2031. NOTE:
  2032. In this new raylib release, multiple parts of the library have been reviewed for consistency and simplification.
  2033. It exposes almost 300 functions, around 30 new functions in comparison with previous version and, again,
  2034. it sets a stepping stone towards raylib future.
  2035. BIG changes:
  2036. - More than 30 new functions added to the library, check list below.
  2037. - Support of configuration flags on every raylib module, to customize library build.
  2038. - Improved build system for all supported platforms with a unique Makefile to compile sources.
  2039. - Complete review of examples and sample games, added new sample material.
  2040. - Support automatic GIF recording of current window, just pressing Ctrl+F12
  2041. - Improved library consistency and organization in general.
  2042. other changes:
  2043. [core] Added function: SetWindowIcon(), to setup icon by code
  2044. [core] Added function: SetWindowMonitor(), to set current display monitor
  2045. [core] Added function: SetWindowMinSize(), to set minimum resize size
  2046. [core] Added function: TakeScreenshot(), made public to API (also launched internally with F12)
  2047. [core] Added function: GetDirectoryPath(), get directory for a given fileName (with path)
  2048. [core] Added function: GetWorkingDirectory(), get current working directory
  2049. [core] Added function: ChangeDirectory(), change working directory
  2050. [core] Added function: TraceLog(), made public to API
  2051. [core] Improved timing system to avoid busy wait loop on frame sync: Wait()
  2052. [core] Added support for gamepad on HTML5 platform
  2053. [core] Support mouse lock, useful for camera system
  2054. [core] Review functions description comments
  2055. [rlgl] Removed function: GetStandardShader(), removed internal standard shader
  2056. [rlgl] Removed function: CreateLight(), removed internal lighting system
  2057. [rlgl] Removed function: DestroyLight(), removed internal lighting system
  2058. [rlgl] Removed function: InitVrDevice(), removed VR device render, using simulator
  2059. [rlgl] Removed function: CloseVrDevice(), removed VR device render, using simulator
  2060. [rlgl] Removed function: IsVrDeviceReady(), removed VR device render, using simulator
  2061. [rlgl] Removed function: IsVrSimulator(), removed VR device render, using simulator
  2062. [rlgl] Added function: InitVrSimulator(), init VR simulator for selected device
  2063. [rlgl] Added function: CloseVrSimulator(), close VR simulator for current device
  2064. [rlgl] Added function: IsVrSimulatorReady(), detect if VR device is ready
  2065. [rlgl] Added function: BeginVrDrawing(), begin VR simulator stereo rendering
  2066. [rlgl] Added function: EndVrDrawing(), end VR simulator stereo rendering
  2067. [rlgl] Renamed function: ReadTextFile() to LoadText() and exposed to API
  2068. [rlgl] Removed internal lighting system and standard shader, moved to example
  2069. [rlgl] Removed Oculus Rift support, moved to oculus_rift example
  2070. [rlgl] Removed VR device support and replaced by VR simulator
  2071. [shapes] Added function: DrawLineEx(), draw line with QUADS, supports custom line thick
  2072. [shapes] Added function: DrawLineBezier(), draw a line using cubic-bezier curves in-out
  2073. [shapes] Added function: DrawRectanglePro(), draw a color-filled rectangle with pro parameters
  2074. [textures] Removed function: LoadImageFromRES(), redesigning custom RRES fileformat
  2075. [textures] Removed function: LoadTextureFromRES(), redesigning custom RRES fileformat
  2076. [textures] Removed function: LoadTextureEx(), use instead Image -> LoadImagePro(), LoadImageEx()
  2077. [textures] Added function: LoadImagePro()), load image from raw data with parameters
  2078. [textures] Review TraceLog() message when image file not found
  2079. [text] Renamed function: LoadSpriteFontTTF() to LoadSpriteFontEx(), for consistency
  2080. [text] Removed rBMF fileformat support, replaced by .png
  2081. [text] Refactor SpriteFont struct (better for rres custom fileformat)
  2082. [text] Renamed some variables for consistency
  2083. [models] Added function: LoadMesh(), load mesh from file
  2084. [models] Added function: LoadMeshEx(), load mesh from vertex data
  2085. [models] Added function: UnloadMesh(), unload mesh from memory (RAM and/or VRAM)
  2086. [models] Added function: GetCollisionRayMesh(), get collision info between ray and mesh
  2087. [models] Added function: GetCollisionRayTriangle(), get collision info between ray and triangle
  2088. [models] Added function: GetCollisionRayGround(), get collision info between ray and ground plane
  2089. [models] Renamed function: LoadModelEx() to LoadModelFromMesh()
  2090. [models] Removed function: DrawLight(), removed internal lighting system
  2091. [models] Renamed function: LoadModelEx() to LoadModelFromMesh() for consistency
  2092. [models] Removed function: LoadStandardMaterial(), removed internal standard shader
  2093. [models] Removed function: LoadModelFromRES(), redesigning custom RRES fileformat
  2094. [models] Renamed multiple variables for consistency
  2095. [audio] Added function: SetMasterVolume(), define listener volume
  2096. [audio] Added function: ResumeSound(), resume a paused sound
  2097. [audio] Added function: SetMusicLoopCount(), set number of repeats for a music
  2098. [audio] Added function: LoadWaveEx(), load wave from raw audio data
  2099. [audio] Added function: WaveCrop(), crop wave audio data
  2100. [audio] Added function: WaveFormat(), format audio data
  2101. [audio] Removed function: LoadSoundFromRES(), redesigning custom RRES fileformat
  2102. [audio] Added support for 32bit audio samples
  2103. [audio] Preliminary support for multichannel, limited to mono and stereo
  2104. [audio] Make sure buffers are ready for update: UpdateMusicStream()
  2105. [utils] Replaced function: GetExtension() by IsFileExtension() and made public to API
  2106. [utils] Unified function: TraceLog() between Android and other platforms
  2107. [utils] Removed internal function: GetNextPOT(), simplified implementation
  2108. [raymath] Added function: QuaternionToEuler(), to work with Euler angles
  2109. [raymath] Added function: QuaternionFromEuler(), to work with Euler angles
  2110. [raymath] Added multiple Vector2 math functions
  2111. [build] Integrate Android source building into Makefile
  2112. [example] Added example: shapes_lines_bezier
  2113. [example] Added example: text_input_box
  2114. [github] Moved gh-pages branch to master/docs
  2115. [github] Moved rlua.h and Lua examples to own repo: raylib-lua
  2116. [games] Reviewed full games collection
  2117. [games] New game added to collection: Koala Seasons
  2118. [*] Reviewed and improved examples collection (new assets)
  2119. [*] Reorganized library functions, structs, enums
  2120. [*] Updated STB libraries to latest version
  2121. -----------------------------------------------
  2122. Release: raylib 1.6.0 (20 November 2016)
  2123. -----------------------------------------------
  2124. NOTE:
  2125. This new raylib version commemorates raylib 3rd anniversary and represents another complete review of the library.
  2126. It includes some interesting new features and is a stepping stone towards raylib future.
  2127. HUGE changes:
  2128. [rlua] Lua BINDING: Complete raylib Lua binding, ALL raylib functions ported to Lua plus the +60 code examples.
  2129. [audio] COMPLETE REDESIGN: Improved music support and also raw audio data processing and playing, +20 new functions added.
  2130. [physac] COMPLETE REWRITE: Improved performance, functionality and simplified usage, moved to own repository and added multiple examples!
  2131. other changes:
  2132. [core] Corrected issue on OSX with HighDPI display
  2133. [core] Added flag to allow resizable window
  2134. [core] Allow no default font loading
  2135. [core] Corrected old issue with mouse buttons on web
  2136. [core] Improved gamepad support, unified across platforms
  2137. [core] Gamepad id functionality: GetGamepadName(), IsGamepadName()
  2138. [core] Gamepad buttons/axis checking functionality:
  2139. [core] Reviewed Android key inputs system, unified with desktop
  2140. [rlgl] Redesigned lighting shader system
  2141. [rlgl] Updated standard shader for better performance
  2142. [rlgl] Support alpha on framebuffer: rlglLoadRenderTexture()
  2143. [rlgl] Reviewed UpdateVrTracking() to update camera
  2144. [rlgl] Added IsVrSimulator() to check for VR simulator
  2145. [shapes] Corrected issue on DrawPolyEx()
  2146. [textures] Simplified supported image formats support
  2147. [textures] Improved text drawing within an image: ImageDrawText()
  2148. [textures] Support image alpha mixing: ImageAlphaMask()
  2149. [textures] Support textures filtering: SetTextureFilter()
  2150. [textures] Support textures wrap modes: SetTextureWrap()
  2151. [text] Improved TTF spritefont generation: LoadSpriteFontTTF()
  2152. [text] Improved AngelCode fonts support (unordered chars)
  2153. [text] Added TraceLog info on image spritefont loading
  2154. [text] Improved text measurement: MeasureTextEx()
  2155. [models] Improved OBJ loading flexibility
  2156. [models] Reviewed functions: DrawLine3D(), DrawCircle3D()
  2157. [models] Removed function: ResolveCollisionCubicmap()
  2158. [camera] Redesigned camera system and ported to header-only
  2159. [camera] Removed function: UpdateCameraPlayer()
  2160. [gestures] Redesigned gestures module to header-only
  2161. [audio] Simplified Music loading and playing system
  2162. [audio] Added trace on audio device closing
  2163. [audio] Reviewed Wave struct, improved flexibility
  2164. [audio] Support sound data update: UpdateSound()
  2165. [audio] Added support for FLAC audio loading/streaming
  2166. [raygui] Removed raygui from raylib repo (moved to own repo)
  2167. [build] Added OpenAL static library
  2168. [build] Added Visual Studio 2015 projects
  2169. [build] Support shared/dynamic raylib compilation
  2170. [*] Updated LibOVR to SDK version 1.8
  2171. [*] Updated games to latest raylib version
  2172. [*] Improved examples and added new ones
  2173. [*] Improved Android support
  2174. -----------------------------------------------
  2175. Release: raylib 1.5.0 (18 July 2016)
  2176. -----------------------------------------------
  2177. NOTE:
  2178. Probably this new version is the biggest boost of the library ever, lots of parts of the library have been redesigned,
  2179. lots of bugs have been solved and some **AMAZING** new features have been added.
  2180. HUGE changes:
  2181. [rlgl] OCULUS RIFT CV1: Added support for VR, not oly Oculus Rift CV1 but also stereo rendering simulator (multiplatform).
  2182. [rlgl] MATERIALS SYSTEM: Added support for Materials (.mtl) and multiple material properties: diffuse, specular, normal.
  2183. [rlgl] LIGHTING SYSTEM: Added support for up to 8 lights of 3 different types: Omni, Directional and Spot.
  2184. [physac] REDESIGNED: Improved performance and simplified usage, physic objects now are managed internally in a second thread!
  2185. [audio] CHIPTUNES: Added support for module audio music (.xm, .mod) loading and playing. Multiple mixing channels supported.
  2186. other changes:
  2187. [core] Review Android button inputs
  2188. [core] Support Android internal data storage
  2189. [core] Renamed WorldToScreen() to GetWorldToScreen()
  2190. [core] Removed function SetCustomCursor()
  2191. [core] Removed functions BeginDrawingEx(), BeginDrawingPro()
  2192. [core] Replaced functions InitDisplay() + InitGraphics() with: InitGraphicsDevice()
  2193. [core] Added support for field-of-view Y (fovy) on 3d Camera
  2194. [core] Added 2D camera mode functions: Begin2dMode() - End2dMode()
  2195. [core] Translate mouse inputs to Android touch/gestures internally
  2196. [core] Translate mouse inputs as touch inputs in HTML5
  2197. [core] Improved function GetKeyPressed() to support multiple keys (including function keys)
  2198. [core] Improved gamepad support, specially for RaspberryPi (including multiple gamepads support)
  2199. [rlgl] Support stereo rendering simulation (duplicate draw calls by viewport, optimized)
  2200. [rlgl] Added distortion shader (embeded) to support custom VR simulator: shader_distortion.h
  2201. [rlgl] Added support for OpenGL 2.1 on desktop
  2202. [rlgl] Improved 2D vs 3D drawing system (lines, triangles, quads)
  2203. [rlgl] Improved DXT-ETC1 support on HTML5
  2204. [rlgl] Review function: rlglUnproject()
  2205. [rlgl] Removed function: rlglInitGraphics(), integrated into rlglInit()
  2206. [rlgl] Updated Mesh and Shader structs
  2207. [rlgl] Simplified internal (default) dynamic buffers
  2208. [rlgl] Added support for indexed and dynamic mesh data
  2209. [rlgl] Set fixed vertex attribs location points
  2210. [rlgl] Improved mesh data loading support
  2211. [rlgl] Added standard shader (embeded) to support materials and lighting: shader_standard.h
  2212. [rlgl] Added light functions: CreateLight(), DestroyLight()
  2213. [rlgl] Added wire mode functions: rlDisableWireMode(), rlEnableWireMode()
  2214. [rlgl] Review function consistency, added: rlglLoadMesh(), rlglUpdateMesh(), rlglDrawMesh(), rlglUnloadMesh()
  2215. [rlgl] Replaced SetCustomShader() by: BeginShaderMode() - EndShaderMode()
  2216. [rlgl] Replaced SetBlendMode() by: BeginBlendMode() - EndBlendMode()
  2217. [rlgl] Added functions to customize internal matrices: SetMatrixProjection(), SetMatrixModelview()
  2218. [rlgl] Unified internal shaders to only one default shader
  2219. [rlgl] Added support for render to texture (RenderTexture2D):
  2220. LoadRenderTexture() - UnloadRenderTexture()
  2221. BeginTextureMode() - EndTextureMode()
  2222. [rlgl] Removed SetShaderMap*() functions
  2223. [rlgl] Redesigned default buffers usage functions:
  2224. LoadDefaultBuffers() - UnloadDefaultBuffers()
  2225. UpdateDefaultBuffers() - DrawDefaultBuffers()
  2226. [shapes] Corrected bug on GetCollisionRec()
  2227. [textures] Added support for Nearest-Neighbor image scaling
  2228. [textures] Added functions to draw text on image: ImageDrawText(), ImageDrawTextEx()
  2229. [text] Reorganized internal functions: Added LoadImageFont()
  2230. [text] Security check for unsupported BMFonts
  2231. [models] Split mesh creation from model loading on heightmap and cubicmap
  2232. [models] Updated BoundingBox collision detections
  2233. [models] Added color parameter to DrawBoundigBox()
  2234. [models] Removed function: DrawQuad()
  2235. [models] Removed function: SetModelTexture()
  2236. [models] Redesigned DrawPlane() to use RL_TRIANGLES
  2237. [models] Redesigned DrawRectangleV() to use RL_TRIANGLES
  2238. [models] Redesign to accomodate new materials system: LoadMaterial()
  2239. [models] Added material functions: LoadDefaultMaterial(), LoadStandardMaterial()
  2240. [models] Added MTL material loading support: LoadMTL()
  2241. [models] Added function: DrawLight()
  2242. [audio] Renamed SoundIsPlaying() to IsSoundPlaying()
  2243. [audio] Renamed MusicIsPlaying() to IsMusicPlaying()
  2244. [audio] Support multiple Music streams (indexed)
  2245. [audio] Support multiple mixing channels
  2246. [gestures] Improved and reviewed gestures system
  2247. [raymath] Added QuaternionInvert()
  2248. [raymath] Removed function: PrintMatrix()
  2249. [raygui] Ported to header-only library (https://github.com/raysan5/raygui)
  2250. [shaders] Added depth drawing shader (requires a depth texture)
  2251. [shaders] Reviewed included shaders and added comments
  2252. [OpenAL Soft] Updated to latest version (1.17.2)
  2253. [GLFW3] Updated to latest version (3.2)
  2254. [stb] Updated to latest headers versions
  2255. [GLAD] Converted to header only library and simplified to only used extensions
  2256. [*] Reorganize library folders: external libs moved to src/external folder
  2257. [*] Reorganize src folder for Android library
  2258. [*] Review external dependencies usage
  2259. [*] Improved Linux and OSX build systems
  2260. [*] Lots of tweaks and bugs corrected all around
  2261. -----------------------------------------------
  2262. Release: raylib 1.4.0 (22 February 2016)
  2263. -----------------------------------------------
  2264. NOTE:
  2265. This version supposed another big improvement for raylib, including new modules and new features.
  2266. More than 30 new functions have been added to previous raylib version.
  2267. Around 8 new examples and +10 new game samples have been added.
  2268. BIG changes:
  2269. [textures] IMAGE MANIPULATION: Functions to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image.
  2270. [text] SPRITEFONT SUPPORT: Added support for AngelCode fonts (.fnt) and TrueType fonts (.ttf).
  2271. [gestures] REDESIGN: Gestures system simplified and prepared to process generic touch events, including mouse events (multiplatform).
  2272. [physac] NEW MODULE: Basic 2D physics support, use colliders and rigidbodies; apply forces to physic objects.
  2273. other changes:
  2274. [rlgl] Removed GLEW library dependency, now using GLAD
  2275. [rlgl] Implemented alternative to glGetTexImage() on OpenGL ES
  2276. [rlgl] Using depth data on batch drawing
  2277. [rlgl] Reviewed glReadPixels() function
  2278. [core][rlgl] Reviewed raycast system, now 3D picking works
  2279. [core] Android: Reviewed Android App cycle, paused if inactive
  2280. [shaders] Implemented Blinn-Phong lighting shading model
  2281. [textures] Implemented Floyd-Steinberg dithering - ImageDither()
  2282. [text] Added line-break support to DrawText()
  2283. [text] Added TrueType Fonts support (using stb_truetype)
  2284. [models] Implement function: CalculateBoundingBox(Mesh mesh)
  2285. [models] Added functions to check Ray collisions
  2286. [models] Improve map resolution control on LoadHeightmap()
  2287. [camera] Corrected small-glitch on zoom-in with mouse-wheel
  2288. [gestures] Implemented SetGesturesEnabled() to enable only some gestures
  2289. [gestures] Implemented GetElapsedTime() on Windows system
  2290. [gestures] Support mouse gestures for desktop platforms
  2291. [raymath] Complete review of the module and converted to header-only
  2292. [easings] Added new module for easing animations
  2293. [stb] Updated to latest headers versions
  2294. [*] Lots of tweaks around
  2295. -----------------------------------------------
  2296. Release: raylib 1.3.0 (01 September 2015)
  2297. -----------------------------------------------
  2298. NOTE:
  2299. This version supposed a big boost for raylib, new modules have been added with lots of features.
  2300. Most of the modules have been completely reviewed to accomodate to the new features.
  2301. Over 50 new functions have been added to previous raylib version.
  2302. Most of the examples have been redone and +10 new advanced examples have been added.
  2303. BIG changes:
  2304. [rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
  2305. [textures] FORMATS: Support for multiple internal formats, including compressed formats
  2306. [camera] NEW MODULE: Set of cameras for 3d view: Free, Orbital, 1st person, 3rd person
  2307. [gestures] NEW MODULE: Gestures system for Android and HTML5 platforms
  2308. [raygui] NEW MODULE: Set of IMGUI elements for tools development (experimental)
  2309. other changes:
  2310. [rlgl] Added check for OpenGL supported extensions
  2311. [rlgl] Added function SetBlenMode() to select some predefined blending modes
  2312. [core] Added support for drop&drag of external files into running program
  2313. [core] Added functions ShowCursor(), HideCursor(), IsCursorHidden()
  2314. [core] Renamed function SetFlags() to SetConfigFlags()
  2315. [shapes] Simplified some functions to improve performance
  2316. [textures] Review of Image struct to support multiple data formats
  2317. [textures] Added function LoadImageEx()
  2318. [textures] Added function LoadImageRaw()
  2319. [textures] Added function LoadTextureEx()
  2320. [textures] Simplified function parameters LoadTextureFromImage()
  2321. [textures] Added function GetImageData()
  2322. [textures] Added function GetTextureData()
  2323. [textures] Renamed function ConvertToPOT() to ImageConvertToPOT()
  2324. [textures] Added function ImageConvertFormat()
  2325. [textures] Added function GenTextureMipmaps()
  2326. [text] Added support for Latin-1 Extended characters for default font
  2327. [text] Redesigned SpriteFont struct, replaced Character struct by Rectangle
  2328. [text] Removed function GetFontBaseSize(), use directly spriteFont.size
  2329. [models] Review of struct: Model (added shaders support)
  2330. [models] Added 3d collision functions (sphere vs sphere vs box vs box)
  2331. [models] Added function DrawCubeTexture()
  2332. [models] Added function DrawQuad()
  2333. [models] Added function DrawRay()
  2334. [models] Simplified function DrawPlane()
  2335. [models] Removed function DrawPlaneEx()
  2336. [models] Simplified function DrawGizmo()
  2337. [models] Removed function DrawGizmoEx()
  2338. [models] Added function LoadModelEx()
  2339. [models] Review of function LoadCubicMap()
  2340. [models] Added function ResolveCollisionCubicmap()
  2341. [audio] Decopupled from raylib, now this module can be used as standalone
  2342. [audio] Added function UpdateMusicStream()
  2343. [raymath] Complete review of the module
  2344. [stb] Updated to latest headers versions
  2345. [*] Lots of tweaks around
  2346. -----------------------------------------------
  2347. Release: raylib 1.2.2 (31 December 2014)
  2348. -----------------------------------------------
  2349. [*] Added support for HTML5 compiling (emscripten, asm.js)
  2350. [core] Corrected bug on input handling (keyboard and mouse)
  2351. [textures] Renamed function CreateTexture() to LoadTextureFromImage()
  2352. [textures] Added function ConvertToPOT()
  2353. [rlgl] Added support for color tint on models on GL 3.3+ and ES2
  2354. [rlgl] Added support for normals on models
  2355. [models] Corrected bug on DrawBillboard()
  2356. [models] Corrected bug on DrawHeightmap()
  2357. [models] Renamed LoadCubesmap() to LoadCubicmap()
  2358. [audio] Added function LoadSoundFromWave()
  2359. [makefile] Added support for Linux and OSX compiling
  2360. [stb] Updated to latest headers versions
  2361. [*] Lots of tweaks around
  2362. ---------------------------------------------------------------
  2363. Update: raylib 1.2.1 (17 October 2014) (Small Fixes Update)
  2364. ---------------------------------------------------------------
  2365. [core] Added function SetupFlags() to preconfigure raylib Window
  2366. [core] Corrected bug on fullscreen mode
  2367. [rlgl] rlglDrawmodel() - Added rotation on Y axis
  2368. [text] MeasureTextEx() - Corrected bug on measures for default font
  2369. -----------------------------------------------
  2370. Release: raylib 1.2 (16 September 2014)
  2371. -----------------------------------------------
  2372. NOTE:
  2373. This version supposed a complete redesign of the [core] module to support Android and Raspberry Pi.
  2374. Multiples modules have also been tweaked to accomodate to the new platforms, specially [rlgl]
  2375. [core] Added multiple platforms support: Android and Raspberry Pi
  2376. [core] InitWindow() - Complete rewrite and split for Android
  2377. [core] InitDisplay() - Internal function added to calculate proper display size
  2378. [core] InitGraphics() - Internal function where OpenGL graphics are initialized
  2379. [core] Complete refactoring of input functions to accomodate to new platforms
  2380. [core] Mouse and Keyboard raw data reading functions added for Raspberry Pi
  2381. [core] GetTouchX(), GetTouchY() - Added for Android
  2382. [core] Added Android callbacks to process inputs and Android activity commands
  2383. [rlgl] Adjusted buffers depending on platform
  2384. [rlgl] Added security check in case deployed vertex excess buffer size
  2385. [rlgl] Adjusted indices type depending on GL version (int or short)
  2386. [rlgl] Fallback to VBOs only usage if VAOs not supported on ES2
  2387. [rlgl] rlglLoadModel() stores vbo ids on new Model struct
  2388. [textures] Added support for PKM files (ETC1, ETC2 compression support)
  2389. [shapes] DrawRectangleV() - Modified, depending on OGL version uses TRIANGLES or QUADS
  2390. [text] LoadSpriteFont() - Modified to use LoadImage()
  2391. [models] Minor changes on models loading to accomodate to new Model struct
  2392. [audio] PauseMusicStream(), ResumeMusicStream() - Added
  2393. [audio] Reduced music buffer size to avoid stalls on Raspberry Pi
  2394. [src] Added makefile for Windows and RPI
  2395. [src] Added resources file (raylib icon and executable info)
  2396. [examples] Added makefile for Windows and RPI
  2397. [examples] Renamed and merged with test examples for coherence with module names
  2398. [templates] Added multiple templates to be use as a base-code for games
  2399. -----------------------------------------------
  2400. Release: raylib 1.1.1 (22 July 2014)
  2401. -----------------------------------------------
  2402. [core] ShowLogo() - To enable raylib logo animation at startup
  2403. [core] Corrected bug with window resizing
  2404. [rlgl] Redefined colors arrays to use byte instead of float
  2405. [rlgl] Removed double buffer system (no performance improvement)
  2406. [rlgl] rlglDraw() - Reorganized buffers drawing order
  2407. [rlgl] Corrected bug on screen resizing
  2408. [shapes] DrawRectangle() - Use QUADS instead of TRIANGLES
  2409. [models] DrawSphereWires() - Corrected some issues
  2410. [models] LoadOBJ() - Redesigned to support multiple meshes
  2411. [models] LoadCubesMap() - Loading a map as cubes (by pixel color)
  2412. [textures] Added security check if file doesn't exist
  2413. [text] Corrected bug on SpriteFont loading
  2414. [examples] Corrected some 3d examples
  2415. [test] Added cubesmap loading test
  2416. -----------------------------------------------
  2417. Release: raylib 1.1.0 (19 April 2014)
  2418. -----------------------------------------------
  2419. NOTE:
  2420. This version supposed a complete internal redesign of the library to support OpenGL 3.3+ and OpenGL ES 2.0.
  2421. New module [rlgl] has been added to 'translate' immediate mode style functions (i.e. rlVertex3f()) to GL 1.1, 3.3+ or ES2.
  2422. Another new module [raymath] has also been added with lot of useful 3D math vector-matrix-quaternion functions.
  2423. [rlgl] New module, abstracts OpenGL rendering (multiple versions support)
  2424. [raymath] New module, useful 3D math vector-matrix-quaternion functions
  2425. [core] Adapt all OpenGL code (initialization, drawing) to use [rlgl]
  2426. [shapes] Rewrite all shapes drawing functions to use [rlgl]
  2427. [textures] Adapt texture GPU loading to use [rlgl]
  2428. [textures] Added support for DDS images (compressed and uncompressed)
  2429. [textures] CreateTexture() - Redesigned to add mipmap automatic generation
  2430. [textures] DrawTexturePro() - Redesigned and corrected bugs
  2431. [models] Rewrite all 3d-shapes drawing functions to use [rlgl]
  2432. [models] Adapt model loading and drawing to use [rlgl]
  2433. [models] Model struct updated to include texture id
  2434. [models] SetModelTexture() - Added, link a texture to a model
  2435. [models] DrawModelEx() - Redesigned with extended parameters
  2436. [audio] Added music streaming support (OGG files)
  2437. [audio] Added support for OGG files as Sound
  2438. [audio] PlayMusicStream() - Added, open a new music stream and play it
  2439. [audio] StopMusicStream() - Added, stop music stream playing and close stream
  2440. [audio] PauseMusicStream() - Added, pause music stream playing
  2441. [audio] MusicIsPlaying() - Added, to check if music is playing
  2442. [audio] SetMusicVolume() - Added, set volume for music
  2443. [audio] GetMusicTimeLength() - Added, get current music time length (in seconds)
  2444. [audio] GetMusicTimePlayed() - Added, get current music time played (in seconds)
  2445. [utils] Added log tracing functionality - TraceLog(), TraceLogOpen(), TraceLogClose()
  2446. [*] Log tracing messages all around the code
  2447. -----------------------------------------------
  2448. Release: raylib 1.0.6 (16 March 2014)
  2449. -----------------------------------------------
  2450. [core] Removed unused lighting-system code
  2451. [core] Removed SetPerspective() function, calculated directly
  2452. [core] Unload and reload default font on fullscreen toggle
  2453. [core] Corrected bug gamepad buttons checking if no gamepad available
  2454. [texture] DrawTextureV() - Added, to draw using Vector2 for position
  2455. [texture] LoadTexture() - Redesigned, now uses LoadImage() + CreateTexture()
  2456. [text] FormatText() - Corrected memory leak bug
  2457. [models] Added Matrix struct and related functions
  2458. [models] DrawBillboard() - Reviewed, now it works!
  2459. [models] DrawBillboardRec() - Reviewed, now it works!
  2460. [tests] Added folder with multiple tests for new functions
  2461. -----------------------------------------------
  2462. Update: raylib 1.0.5 (28 January 2014)
  2463. -----------------------------------------------
  2464. [audio] LoadSound() - Corrected a bug, WAV file was not closed!
  2465. [core] GetMouseWheelMove() - Added, check mouse wheel Y movement
  2466. [texture] CreateTexture2D() renamed to CreateTexture()
  2467. [models] LoadHeightmap() - Added, Heightmap can be loaded as a Model
  2468. [tool] rREM updated, now supports (partially) drag and drop of files
  2469. -----------------------------------------------
  2470. Release: raylib 1.0.4 (23 January 2014)
  2471. -----------------------------------------------
  2472. [tool] Published a first alpha version of rREM tool (raylib Resource Embedder)
  2473. [core] GetRandomValue() - Bug corrected, now works right
  2474. [core] Fade() - Added, fades a color to an alpha percentadge
  2475. [core] WriteBitmap() - Moved to new module: utils.c, not used anymore
  2476. [core] TakeScreenshot() - Now uses WritePNG() (utils.c)
  2477. [utils] New module created with utility functions
  2478. [utils] WritePNG() - Write a PNG file (used by TakeScreenshot() on core)
  2479. [utils] DecompressData() - Added, used for rRES resource data decompresion
  2480. [textures] LoadImageFromRES() - Added, load an image from a rRES resource file
  2481. [textures] LoadTextureFromRES() - Added, load a texture from a rRES resource file
  2482. [audio] LoadSoundFromRES() - Added, load a sound from a rRES resource file
  2483. [audio] IsPlaying() - Added, check if a sound is currently playing
  2484. [audio] SetVolume() - Added, set the volume for a sound
  2485. [audio] SetPitch() - Added, set the pitch for a sound
  2486. [examples] ex06a_color_select completed
  2487. [examples] ex06b_logo_anim completed
  2488. [examples] ex06c_font select completed
  2489. -----------------------------------------------
  2490. Release: raylib 1.0.3 (19 December 2013)
  2491. -----------------------------------------------
  2492. [fonts] Added 8 rBMF free fonts to be used on projects!
  2493. [text] LoadSpriteFont() - Now supports rBMF file loading (raylib Bitmap Font)
  2494. [examples] ex05a_sprite_fonts completed
  2495. [examples] ex05b_rbmf_fonts completed
  2496. [core] InitWindowEx() - InitWindow with extended parameters, resizing option and custom cursor!
  2497. [core] GetRandomValue() - Added, returns a random value within a range (int)
  2498. [core] SetExitKey() - Added, sets a key to exit program (default is ESC)
  2499. [core] Custom cursor not drawn when mouse out of screen
  2500. [shapes] CheckCollisionPointRec() - Added, check collision between point and rectangle
  2501. [shapes] CheckCollisionPointCircle() - Added, check collision between point and circle
  2502. [shapes] CheckCollisionPointTriangle() - Added, check collision between point and triangle
  2503. [shapes] DrawPoly() - Added, draw regular polygons of n sides, rotation can be defined!
  2504. -----------------------------------------------
  2505. Release: raylib 1.0.2 (1 December 2013)
  2506. -----------------------------------------------
  2507. [text] GetDefaultFont() - Added, get default SpriteFont to be used on DrawTextEx()
  2508. [shapes] CheckCollisionRecs() - Added, check collision between rectangles
  2509. [shapes] CheckCollisionCircles() - Added, check collision between circles
  2510. [shapes] CheckCollisionCircleRec() - Added, check collision circle-rectangle
  2511. [shapes] GetCollisionRec() - Added, get collision rectangle
  2512. [textures] CreateTexture2D() - Added, create Texture2D from Image data
  2513. [audio] Fixed WAV loading function, now audio works!
  2514. -----------------------------------------------
  2515. Update: raylib 1.0.1 (28 November 2013)
  2516. -----------------------------------------------
  2517. [text] DrawText() - Removed spacing parameter
  2518. [text] MeasureText() - Removed spacing parameter
  2519. [text] DrawFps() - Renamed to DrawFPS() for coherence with similar function
  2520. [core] IsKeyPressed() - Change functionality, check if key pressed once
  2521. [core] IsKeyDown() - Added, check if key is being pressed
  2522. [core] IsKeyReleased() - Change functionality, check if key released once
  2523. [core] IsKeyUp() - Added, check if key is being NOT pressed
  2524. [core] IsMouseButtonDown() - Added, check if mouse button is being pressed
  2525. [core] IsMouseButtonPressed() - Change functionality, check if mouse button pressed once
  2526. [core] IsMouseButtonUp() - Added, check if mouse button is NOT being pressed
  2527. [core] IsMouseButtonReleased() - Change functionality, check if mouse button released once
  2528. [textures] DrawTexturePro() - Added, texture drawing with 'pro' parameters
  2529. [examples] Function changes applied to ALL examples
  2530. -----------------------------------------------
  2531. Release: raylib 1.0.0 (18 November 2013)
  2532. -----------------------------------------------
  2533. * Initial version
  2534. * 6 Modules provided:
  2535. - core: basic window/context creation functions, input management, timing functions
  2536. - shapes: basic shapes drawing functions
  2537. - textures: image data loading and conversion to OpenGL textures
  2538. - text: text drawing, sprite fonts loading, default font loading
  2539. - models: basic 3d shapes drawing, OBJ models loading and drawing
  2540. - audio: audio device initialization, WAV files loading and playing