Changes:
- Font structure has been redesigned, CharInfo structure contained character rectangle within font texture, it has not much sense, considering that it was an information relative to the font atlas generated and not the character itself, so character rectangles have been moved out from CharInfo to Font.
- CharInfo included a data parameters to contain character pixel data (usually grayscale), generated on TTF font generation. It was inconsistent with other fonts types, so, now CharInfo includes directly an Image of the glyph.
- REDESIGNED: GenImageFontAtlas(), additional recs parameter added, loaded and filled inside the function to export atlas characters rectangles, instead of silently modify the input CharInfo data.
- REVIEWED: ImageTextEx(), funtion retrieved the font atlas image from the GPU, that was slow and problematic in several platforms. Now it uses directly the CharInfo image. Support for unicode codepoints has also been added.
- REDESIGNED: ImageDraw(), now it includes an additional parameter, the color tint, not only it could be useful for several situations but also function signature is more consistent with similar functions.
- ADDED: ImageFromImage() to generate a new image from a piece of another image.
- REVIEWED: GetNextCodepoint(), renamed parameters to be more clear.
Also all examples and games that were affected by those changes have been reviewed.
Fixes#899, which made apparent three issues with how static libraries
are handled in raylib-config.cmake:
- XPREFIX is set before pkg_check_modules, which causes a duplicate
STATIC in variables, e.g. PC_RAYLIB_STATIC_STATIC_.*
- raylib_static is searched for, but no library exists with that name
- raylib_LDFLAGS isn't populated properly
This commit fixes these.
This module has been completely reviewed, old structures still contained OpenAL useless data, a full module revision. Some of the changes:
- Redesigned internal MusicData structure
- Exposed MusicStream structure data
- Reviewed AudioStream structure
- Redesigned Sound structure
Still some work to do...
L235 - Increased the memory threshold size so that we can further reduce fragmentation by allocating memory blocks that is close to the requested size by 16 bytes.
* Submitting rmem memory and object pool module
* changed 'restrict' to '__restrict' so it can compile for MSVC
Added `const` to parameters for `MemPool_Realloc`
* Update and rename mempool README.txt to mempool_README.md
* Update mempool_README.md
* Update mempool_README.md
* Update and rename objpool README.txt to objpool_README.md
* implementing changes
* updating header for changes.
* forgot to change _RemoveNode to __RemoveNode
* removing l
* removing l
* Updating documentation on MemPool_CleanUp function
* Updating documentation on ObjPool_CleanUp function
* changed *_CleanUp function parameter
Replaced `void*` pointer to pointer param to `void**` so it's more explicit.
* Updating header to reflect changes to the *_CleanUp functions
* A single change for the mempool and a patch for the objpool.
Object Pool Patch: if you deplete the object pool to 0 free blocks and then free back one block, the last given block will be rejected because it was exactly at the memory holding the entire pool.
Mempool change: switched memory aligning the size from the constructor to when allocating.
* added multi channel sound replay to raudio
added -fPIC to Makefile for Linux
added simple lighting and audio multi channel to examples Makefile
* not properly reporting audio buffer pool size...