This is a pretty major new release of zenilib.
Existing code will break superficially, but not deeply.
You will need to change which functions are being called, but all changes are very systematic.
Changes:
Big Changes
Visual Studio 2005 is no longer supported.
The Linux build process has shifted from Make to SCons.
The zenilib file layout has been changed to accommodate x64 DLLs which share the same name as x86 DLLs.
Debug DLLs have been deemed unnecessary and are no longer included.
Configuration files are now understandable XML.
A launcher application has been added to zenilib to make running applications compiled with zenilib simpler.
lib3ds-2.0 is a significant improvement over lib3ds-1.0.
Work integrating Cg has begun.
Bugfixes
Color.interpolate_to(...) was fixed. It was using the wrong channel ordering.
Quaternion has been fixed. It previously handled edge cases poorly, and its yaw/pitch/roll constructor was broken.
DX9 rendering of Line_Segment/Triangle/Quadrilaterals fixed. It could segfault before.
Non-square texture loading has been slightly corrected to due to floating point error in SDL_gfx.
Font rendering is fixed in the rare case that the generated Texture was non-square.
OpenGL lighting is fixed. It was previously viewer local.
Mutex no longer attempts to verify that the locking thread is the thread unlocking it.
Mirror tooled 3ds files fixed again, for real, with the help of lib3ds-2.0.
DX9 FVFs are now set whenever anything is rendered to enable easier transitions between 2D and 3D coordinates.
Code Changes
Singleton::get_reference() has been replaced with get_Singleton uniformly throughout zenilib.
Singleton database access getters have been changed to bracket access notation.
Sound_Source is now an interface to Sound_Source_Pool which mixes Sound_Source_HW for you.
Normal vectors are automatically generated for Triangles without them.
It is now possible to better control Joystick loading and access with functions that have been added to Core.
It is now possible to get the current username and a directory in which to store per-user appdata from Core.
You can now use CTRL-HOME and CTRL-END in Text_Boxes.
Font rendering at varying resolutions has been improved.
Quaternion::Axis_Angle allows you to build a Quaternion to a specific orientation.
Chronometer added to make timing pausable events easier.