The maintainers of the Raylib 3.0 release library have announced this tool for general availability. Users can now download it from the official repository.
This graphics library comes with a host of fixes, improvements and new features.
Highlights of changes with this release include some of the following:
All global variables from the multiple raylib modules have now been moved to a global context state. This allows for better memory management to load global context state dynamically when required, making it easy to implement a hot-reloading mechanism if desired.
All memory allocations on raylib and its dependencies now use
RL_MALLOC, RL_FREE and similar A macro or macroinstruction in computer science is a rule or pattern that specifies how a sequence of characters should be mapped to an alternate replacement output sequence characters according to a defined procedure. This is known as macro expansion. Macros may be provided as part of a software application or as a part of a programming language where they... More. This allows users to easily hook their own memory allocations mechanism if desired, having more control over how memory is allocated internally by the library. It also makes it easier to port the library to embedded devices where memory control is critical.
All I/O file accesses from raylib are being moved to memory data access. This makes all I/O file access to be centralized into just four functions:
LoadFileData(), SaveFileData(), LoadFileText(), SaveFileText().
All raylib trace log messages have been reviewed and categorized for more comprehensive Output in computer science or information technology is the response received from a computing device based on a given input. The target of the response could be the same device or another connected device. Some examples of output devices include monitors, printers, other networked computers, speakers, and storage devices among others.... More information when developing raylib Application software or app is a program or group of programs designed to run on computing devices which perform a group of functions, tasks, or activities for the end-user. These programs usually consist of system software and application software. System software interacts with computers at a basic level performing low-level. Application software resides above system software directly interacting with the... More. This ensures issues are properly reported with more detailed and visual messages.
raudio module has been adapted to the highly improved miniaudio v0.10 a single file audio playback and capture library written in C.
text module reviewed to improve fonts generation and text management functions with several improvements to better support Unicode strings with UTF-8 encoding.
This Raylib 3.0 Release now has bindings to +40 programming languages. You can check out the release notes here for more information about the many more improvements and new features. You can go ahead and download the latest version here.