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.

1885 lines
111 KiB

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