The long wait is finally over.
SDL 0.6k is available in the usual place:
http://www.devolution.com/~slouken/SDL/develop.html
There are a couple of new example programs:
stars – a nice 3D starfield rotation program
ttflib – a TrueType font rendering library based on FreeType 1.0
draw – completely rewritten for the new screenlib API
What’s broken:
BeOS support doesn’t work yet
DirectX may have problems using window manager events (still testing)
What’s new:
The video surface is no longer thread-safe by default, except on BeOS.
The separate event handler thread has been removed -- now all event
handling occurs in the main thread when the event polling functions
are called. (The event filter may still run in a separate thread)
SDL_QuitRequested() has been removed
SDL_PushEvent(), SDL_PullEvent() and SDL_NumEvents() have been replaced
with SDL_PollEvent() and SDL_WaitEvent()
Event callback functions have been removed.
SDL_Init() takes a new flags parameter, telling it what subsystems
to initialize. The flags are documented in SDL.h
There's a new test program 'testtimer' to determine the resolution
of the SDL timer on your system.
Removed SDL_sleep.h, replaced with SDL_Delay(Uint32 ms) in SDL_timer.h
Removed SDL_StartTicks(), replaced with SDL_InitTimer()
Added new timer function SDL_SetAlarm() -- sets a callback to
be run a specified number of milliseconds away. This callback
is passed the alarm interval and returns the next interval.
If both the passed and returned interval is the same, the alarm
automatically runs on the next interval (a periodic timer), otherwise
the periodic alarm is canceled, and a new alarm is scheduled for that
interval.
Surfaces that are converted to display format do not automatically
get the SDL_THREADSAFE flag anymore (and associated safeties.) The
surfaces with this flag already set will have it set on the converted
surface.
If SDL_SetVideoMode() is passed 0 bpp, it uses the current screen
bpp, or the "best" bpp if no mode is set. This allows you to do:
SDL_SetVideoMode(640, 480, 0, 0);
instead of:
{
SDL_PixelFormat fmt;
SDL_GetDisplayFormat(&fmt);
SDL_SetVideoMode(640, 480, fmt.BitsPerPixel, 0);
}