Announcing SDL 0.6k

The long wait is finally over. :slight_smile:

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);
    }

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

With API changes, I take it the Executor front end needs to be updated
too? Is that something you can do (adding it to our tab)? Should I
send you a tarball containing our SDL front end code? (I don’t know
if anything’s changed over here).

–Cliff
@Clifford_T_Matthews

With API changes, I take it the Executor front end needs to be updated
too? Is that something you can do (adding it to our tab)? Should I
send you a tarball containing our SDL front end code? (I don’t know
if anything’s changed over here).

I’ve already made the necessary changes, though I haven’t extensively tested
them. (There’s like 2 hours on the ARDI bill)

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

Oops. I hate it when I forget to private reply. :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/