We have released ClanLib 2.1.0

Find it at: http://clanlib.org/download.html

There have been various modifications since the previous release. The biggest change is to the clanSound internals, making it more reliable and faster.

These are a list of important changes since the previous release (2.0.4)

- IMPORTANT: To solve some problems with co-hosting different versions of ClanLib, and to better support breaking changes in the future, we've changed how ClanLib names its libraries under Unix.

ClanLib now creates libclan21Core.so, libclan21Display.so (and so on), instead of naming it libclanCore.so and libclanDisplay.so.

Every breaking release will increase the 2.x.0 number. Every backward compatible release will get a 2.1.x version.

- IMPORTANT: Display: CL_Sprite animation delay now uses milliseconds integers, instead of float seconds. There was a discrepancy between the documentation and what it actually did. Previously, using floats, we lost accuracy. Now the control of animation speed should now be 100% accurate.

CL_Sprite::update(int time_elapsed_ms) now refers to milliseconds instead of seconds. If you previously did sprite.update(float), you now need to feed it a number 1000 as large (or stop dividing CL_System::get_time() by 1000.0f when calculating delta time). If you don't use a time parameter to sprite.update() it is calculated automatically as before.

- IMPORTANT: ClanSDL has moved out of the main package, as clanGDI is better and faster. ClanSDL is still available in the Contrib repository - read more about it on http://clanlib.org/development.html

- Core: CL_Line::clip() function has moved to CL_LineSegment::clip(). It was placed in the wrong class in the last release. CL_Line is an line with an infinite length, thus requires a different clipping method.

- GL and GL1: CL_GraphicContext get_pixeldata() has been fixed. The image is now no longer upside-down.

- Sound: CL_SoundBuffer_Session::set_frequency() no longer returns a bool on failure. (It's now always successful).

- Sound: CL_SoundFormat::sf_8bit_signed changed to sf_8bit_unsigned.

- Sound: CL_EchoFilter "shift factor" paramter changed from int to float.

- Sound: All sound filters now use floating point sounds (-1.0f to 1.0f) instead of integer (-32768 to 32767).

- Core: CL_File no longer has a default access parameter in its constructor.
Add CL_File::access_read, CL_File::access_write or CL_File::access_read_write.

- Core: CL_VirtualDirectory get_name() renamed to get_identifier() and CL_VirtualFileSystem get_name() renamed to get_identifier().

- Display: Changed tablet input device get_type() to return
CL_InputDevice::tablet instead of CL_InputDevice::pointer.

- Display: Changed tablet buttons to use CL_KEY_TABLETN, (where N is 1-10) instead of CL_MOUSE_LEFT etc.

Other modifications to the clanlib internals can be found inside the ClanLib 2.0 SVN logs.