Version 1.2.0
-
libnds:
-
videoGL:
- Add
glGetColorTablePointer()
(returns pointer in VRAM to the palette of a texture). - Add
glGetTextureExtPointer()
(returns pointer in VRAM to the additional texture data ofGL_COMPRESSED
textures). - Fix allocation of
GL_COMPRESSED
textures whenVRAM_A
is not allocated to the 3D engine. - Fix crash in
glTexImage2D()
with no active texture. - Fix error checking in
glColorTableEXT()
andglTexImage2D()
. - General code cleanup and improvements.
- Minor optimization to loading
GL_RGB
textures usingglTexImage2D()
. Note that using this format is not recommended; see documentation for additional details. TEXTURE_SIZE_INVALID
has been added to GL_TEXTURE_SIZE_ENUM.glTexImage2D()
now fails correctly when invalid sizes are used.- Some minor comment improvements.
- Add
-
GL2D:
- Improve error checking when loading textures.
- Modify sprite sets to use
uint16_t
arrays for texture coordinates.
-
Add
hw_sqrtf()
- a hardware-accelerated alternative tosqrtf()
. -
Small optimizations to functions that use the hardware accelerators of division and square root.
-
Add support for detecting stack smash canaries.
- As a result, the debug versions of libnds are now built with the stack protector enabled.
-
Add support for printing standard output to the debug console if the on-display console is not initialized.
-
Change
SOUND_FREQ
(ARM7) andTIMER_FREQ
to always return the correct frequency value, rounded to the nearest achievable one.- This has been found in user research to be the most intuitive default; if you'd like alternate options, please let us know.
-
Fix
swiSwitchToGBAMode()
. -
Improve documentation of RTC structs.
-
-
SDK:
- Add error code checks to 3D engine examples.
- Add GL2D spriteset and tileset examples.
- Add new tool: squeezer (by @huxingyi), used for generating packed textures for GL2D sprite sets. It has been forked to easily export formats used by GL2D instead of generic formats.
- Add tests for
hw_sqrtf()
. - Avoid using
GL_RGB
andTEXTURE_SIZE_n
defines in 3D engine examples. - Fix VRAM bank setup in "text over 3D" example.
- Improve timer example.
- Add a test for the videoGL functions that allocate textures and palettes.