Skip to content

Releases: libsdl-org/sdl12-compat

1.2.68

26 Sep 17:48
35ef746
Compare
Choose a tag to compare

sdl12-compat 1.2.68

What is this?

This is the release of version 1.2.68 of sdl12-compat. This is an official, stable release, and everyone is encouraged to upgrade. This release remains API and ABI compatible with previous releases of sdl12-compat (and, of course, with previous releases of classic SDL 1.2, as well).

TESTING IS STILL WELCOME FOR FUTURE RELEASES.

A list of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working since the last stable (1.2.64) release:

  • Trine
  • Mark of the Ninja
  • Hyperspace Delivery Boy
  • SDLmm C++ binding
  • libsdl-perl

Significant changes

  • Corrected SDL_SetPalette's return value. (#294)
  • Fixes to headers to help compiling apps against sdl12-compat (#297, #299, #302)
  • Sync dr_mp3 with upstream.
  • Fixes to SDL_LoadWAV_RW (#310, #311)
  • Reworked screen surface implementation to work more like real SDL-1.2 (#306)
  • Fixed blank screens in Mark of the Ninja and Trine (#313, #316)
  • Fixes to mouse tracking in relative mode when scaling (#318)
  • Add quirk to clamp video bitdepth (#321), which fixes Hyperspace Delivery Boy (#317).

The full list of commits:

release-1.2.64...release-1.2.68

Thanks!

Thank you to our dedicated crew: Ozkan Sezer, David Gow, Sam Lantinga, Simon McVittie, Manuel Moos, Tyler Morgan, and Joshua Root for
their hard work on this release, and many others that tested and contributed in ways not visible in the revision history!

prerelease-1.2.66

14 Sep 19:27
cd1ad69
Compare
Choose a tag to compare
prerelease-1.2.66 Pre-release
Pre-release

sdl12-compat 1.2.66 PRERELEASE

What is this?

This is a PRERELEASE version of sdl12-compat. If everything looks good, we'll ship this as 1.2.68, so you have an even number and no chance you're still on a prerelease or development version.

PLEASE TEST THIS.

A list of things of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working with this release:

  • Trine
  • Mark of the Ninja
  • Hyperspace Delivery Boy
  • SDLmm C++ binding
  • libsdl-perl

Significant changes

  • Corrected SDL_SetPalette's return value. (#294)
  • Fixes to headers to help compiling apps against sdl12-compat (#297, #299, #302)
  • Sync dr_mp3 with upstream.
  • Fixes to SDL_LoadWAV_RW (#310, #311)
  • Reworked screen surface implementation to work more like real SDL-1.2 (#306)
  • Fixed blank screens in Mark of the Ninja and Trine (#313, #316)
  • Fixes to mouse tracking in relative mode when scaling (#318)
  • Add quirk to clamp video bitdepth (#321), which fixes Hyperspace Delivery Boy (#317).

The full list of commits:

release-1.2.64...prerelease-1.2.66

Thanks!

Thank you to our dedicated crew: Ozkan Sezer, David Gow, Sam Lantinga, Simon McVittie, Manuel Moos, Tyler Morgan, and Joshua Root for
their hard work on this release, and many others that tested and contributed in ways not visible in the revision history!

1.2.64

26 May 00:43
4eda8ab
Compare
Choose a tag to compare

sdl12-compat 1.2.64

What is this?

This is the release of version 1.2.64 of sdl12-compat. This is an official, stable release, and everyone is encouraged to upgrade. This release remains API and ABI compatible with previous releases of sdl12-compat (and, of course, with previous releases of classic SDL 1.2, as well).

TESTING IS STILL WELCOME FOR FUTURE RELEASES.

A list of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working since the last stable (1.2.60) release:

  • Steel Storm: Burning Retribution
  • Maelstrom
  • Quake 2 XP
  • boswars
  • pink-pony
  • Sid Meier's Alpha Centauri (the 22-year-old binaries from Loki!)
  • xrick
  • grafx2
  • MLT
  • tuxfootball
  • freedroid

Significant changes

  • Fixed SDL12COMPAT_MAX_VIDMODE, accidentally broken in 1.2.60
  • Allow creation of surfaces with pixel depth < 8bpp (#244)
  • Fixed infinite loop in SDL_FreeYUVOverlay() (#275)
  • Add simple audio resampler for compatibility with games that incorrectly allocate buffers (#232, #234, #259)
  • Better YUV overlay compatibility (#279)
  • Better SDL_EVENTTHREAD compatibility (#278)
  • Better SDL_LoadWAV compatibility (#283)
  • Fixes for SDL_SRCALPHA (#244)
  • Better SDL_syswm compatibility on X11 (#290)
  • Added README section on getting Loki's Civilization: Call to Power binaries running on modern Linux systems (#176)
  • Other bug fixes and improvements.

The full list of commits:

release-1.2.60...release-1.2.64

Thanks!

Thank you to Ozkan Sezer, David Gow, Sam Lantinga, Joshua Root, Simon McVittie, Anonymous Maarten, and Cameron Cawley for their hard work on this release and prior releases, and many others that tested and contributed in ways not visible in the revision history!

Double-extra-special thank you to Neal Gompa and the entire Fedora team for their enthusiasm for sdl12-compat and for being ready to push updates at a moment's notice!

prerelease-1.2.62

18 May 13:41
59e3eb9
Compare
Choose a tag to compare
prerelease-1.2.62 Pre-release
Pre-release

sdl12-compat 1.2.62 PRERELEASE

What is this?

This is a PRERELEASE version of sdl12-compat. If everything looks good, we'll ship this as 1.2.64, so you have an even number and no chance you're still on a prerelease or development version.

PLEASE TEST THIS.

A list of things of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working with this release:

  • Maelstrom
  • Quake 2 XP
  • boswars
  • pink-pony
  • Sid Meier's Alpha Centauri (the 22-year-old binaries from Loki!)
  • xrick
  • grafx2
  • MLT
  • tuxfootball
  • freedroid

Significant changes

  • Fixed SDL12COMPAT_MAX_VIDMODE, accidentally broken in 1.2.60
  • Allow creation of surfaces with pixel depth < 8bpp (#244)
  • Fixed infinite loop in SDL_FreeYUVOverlay() (#275)
  • Add simple audio resampler for compatibility with games that incorrectly allocate buffers (#232, #234, #259)
  • Better YUV overlay compatibility (#279)
  • Better SDL_EVENTTHREAD compatibility (#278)
  • Better SDL_LoadWAV compatibility (#283)
  • Fixes for SDL_SRCALPHA (#244)
  • Other bug fixes and improvements.

The full list of commits:

release-1.2.60...prerelease-1.2.62

Thanks!

Thank you to Ozkan Sezer, David Gow, Sam Lantinga, Joshua Root, Simon McVittie, Anonymous Maarten, and Cameron Cawley for their hard work on this release, and many others that tested and contributed in ways not visible in the revision history!

1.2.60

24 Oct 18:17
4388700
Compare
Choose a tag to compare

sdl12-compat 1.2.60

What is this?

This is the release of version 1.2.60 of sdl12-compat. This is an official, stable release, and everyone is encouraged to upgrade. This release remains API and ABI compatible with previous releases of sdl12-compat (and, of course, with previous releases of classic SDL 1.2, as well).

TESTING IS STILL WELCOME FOR FUTURE RELEASES.

A list of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working since the last stable (1.2.56) release:

  • Civilization: Call To Power (yes, the 23-year-old binaries from Loki!)
  • OpenXcom (again!)
  • tucnak (again!)
  • Tatan
  • Out of Order
  • Scorched3d
  • Rock Dodger
  • Phlipple
  • Pachi el Marciano
  • Barrage
  • Battle Tanks
  • Bump Racer
  • crrcsim
  • The Legend of Edgar
  • Frogatto
  • Advanced Strategic Command
  • Bloboats
  • Burgerspace
  • Amoebax
  • Many, many others!

Significant changes since 1.2.56

  • macOS apps built with sdl12-compat's headers are now binary compatible with classic SDL 1.2.
  • Added SDL12COMPAT_MAX_VIDMODE hint to stop apps that misbehave at high resolutions they never imagined.
  • Thread safety fixes to rendering. (#230)
  • Fix mouse coordinates when moving into a scaled window's letterboxing.
  • We no longer provide 24-bit screen surfaces (only 16 or 32, which matches SDL 1.2 better).
  • Better support for building sdl12-compat with OpenWatcom.
  • Fixed mousewheel events always reporting a mouse position of 0,0.
  • Several CMake fixes.
  • Fixed potential crash on startup.
  • Deal with apps that expect to have either a "windib" or "directx" 1.2 video backend on Windows.
  • Updated dr_mp3 to a later revision, for faking CD-ROM audio with a directory full of MP3s.
  • SDL_MixAudio works correctly now when sdl12-compat is faking the audio format (#228)
  • SDL_VideoModeOK no longer demands exact resolutions to function, like SDL 1.2. (#228)
  • SDL_OpenAudio inits the audio subsystem if required, like SDL 1.2 (#228)
  • Several fixes to destination alpha (#230, #244)
  • Don't send SDL_VIDEOEXPOSE duing SDL_SetVideoMode (#229)
  • Fixed virtual CD Audio using wrong end position on tracks.
  • SDL_EnableKeyRepeat now matches 1.2 behavior better (#251)
  • Check for specific X11 symbols in the process at startup and force SDL2 to use X11 if so (fixes startup failures on Wayland).
  • Better handling of apps that create surfaces with bogus formats (#257, #260)
  • Don't lose colorkey state when calling SDL_DisplayFormat or SDL_ConvertSurface (#250)
  • Better handling of the dirty-rectangle style of screen refreshing (#253, #176)
  • Other fixes and improvements.

The full list of commits:

release-1.2.56...release-1.2.60

Thanks!

Thank you to Ozkan Sezer, David Gow, Sam Lantinga, Joshua Root, Simon McVittie, Anonymous Maarten, and Cameron Cawley for their hard work on this release, and many others that tested and contributed in ways not visible in the revision history!

Double-extra-special thank you to Simon McVittie, who tested sdl12-compat against every SDL 1.2 game packaged for Debian for this release! It was a herculean effort that generated a huge piles of really good fixes to the library!

1.2.58

01 Oct 01:00
e4cf630
Compare
Choose a tag to compare
1.2.58 Pre-release
Pre-release

sdl12-compat 1.2.58 PRERELEASE

What is this?

This is a PRERELEASE version of sdl12-compat. If everything looks good, we'll ship this as 1.2.60, so you have an even number and no chance you're still on a prerelease or development version.

PLEASE TEST THIS.

A list of things of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working with this release:

  • Civilization: Call To Power (yes, the 23-year-old binaries from Loki!)
  • OpenXcom (again!)
  • icculus.org Quake 2.
  • tucnak (again!)
  • Many, many others!

Significant changes

  • macOS apps built with sdl12-compat's headers are now binary compatible with classic SDL 1.2.
  • Added SDL12COMPAT_MAX_VIDMODE hint to stop apps that misbehave at high resolutions they never imagined.
  • Thread safety fixes to rendering.
  • Fixed crash while manipulating surface destination alpha.
  • Fix mouse coordinates when moving into a scaled window's letterboxing.
  • We no longer try to simulate a hardware palette (8-bit, paletted games are still supported, though!).
  • We no longer provide 24-bit screen surfaces (only 16 or 32, which matches SDL 1.2 better).
  • Better support for building sdl12-compat with OpenWatcom.
  • Fixed mousewheel events always reporting a mouse position of 0,0.
  • Several CMake fixes.
  • Fixed potential crash on startup.
  • Deal with apps that expect to have either a "windib" or "directx" 1.2 video backend on Windows.
  • Updated dr_mp3 to a later revision, for faking CD-ROM audio with a directory full of MP3s.
  • Other fixes and improvements.

The full list of commits:

release-1.2.56...prerelease-1.2.58

Thanks!

Thank you to Ozkan Sezer, David Gow, Sam Lantinga, Joshua Root, Simon McVittie, Anonymous Maarten, and Cameron Cawley for their hard work on this release, and many others that tested and contributed in ways not visible in the revision history!

1.2.56

16 Sep 16:09
d49b44d
Compare
Choose a tag to compare

sdl12-compat 1.2.56

What is this?

This is the release of version 1.2.56 of sdl12-compat. This is an official, stable release, and everyone is encouraged to upgrade. This release remains API and ABI compatible with previous releases of sdl12-compat (and, of course, with previous releases of classic SDL 1.2, as well).

TESTING IS STILL WELCOME FOR FUTURE RELEASES.

A list of things of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working with this release:

  • OpenXcom
  • DOSBox
  • Awesomenauts
  • Frogatto
  • mplayer
  • Multiwinia
  • tucnak
  • POWDER
  • schismtracker
  • BasiliskII
  • Linapple
  • netsurf-framebuffer
  • BIT.TRIP Runner2
  • Many, many others!

Significant changes since the 1.2.52 release

  • All FIXMEs in the entire project have been resolved! (#143)
  • On x86 Linux, all entry points force the stack to align to 16 bytes, which lets really old binaries call into sdl12-compat without crashing.
  • Added a SDL12COMPAT_GetWindow() entry point, for 1.2 apps that know about sdl12-compat and want the SDL2 SDL_Window pointer, which can aid in apps transitioning to SDL2, etc. (#186)
  • SDL_GetWMInfo() now works with SDL2 builds from the 2.0.xx revisions.
  • SDL_GetWMInfo() no longer asserts if used on Wayland.
  • SDL_WM_SetIcon() no longer crashes on NULL icons, to match SDL-1.2. (#208)
  • Make SDL2's OpenGL 2D renderer work with apps that update their screen surface from background threads (#104, #110, #181, #155, etc).
  • Better handling of audio and cd-rom needing the audio device in different formats. (#202)
  • macOS library install name has been fixed. (#194)
  • Fixed SDL_Flip error code for OpenGL windows (fixes OpenXcom). (#185)
  • Fake CD data tracks can now intersperse with audio tracks (put an empty trackXX.dat file in there). (#143)
  • SDL_EnableKeyRepeat now matches SDL 1.2's behavior. (#143)
  • SDL_Init/SDL_Quit pairing now matches SDL 1.2's behavior. (#143)
  • Non-fullscreen windows (software or OpenGL) can now scale like we do for fullscreen windows (#143)
  • SDL_ANYFORMAT is now supported. (#143)
  • Added basic/incomplete support for SDL_WINDOWID (#192).
  • Corrected SDL_WM_SetIcon() behavior (#191)
  • SDL_OpenAudio now respects the SDL_AUDIO_[FORMAT|FREQUENCY|CHANNELS|SAMPLES] environment variables (#143).
  • SDL_GetVideoInfo()->wm_available is usually correct now.
  • Can optionally use SDL2 Game Controllers for the 1.2 Joystick API. (#157)
  • Added a hack to let SDL 1.2 apps access the real SDL2 SysWM structure. (#186)
  • Lots of keyboard input fixes (#143, #187)
  • SDL_RemoveTimer now doesn't crash with bogus pointers, matching SDL 1.2.
  • Fixed rendering of 24-bit screen surfaces. (#183, #190, #199)
  • Updated dr_mp3 with various MP3 decoding fixes, for virtual CD audio.
  • Fixed building for ARM64 with Microsoft Visual C.
  • Now builds and runs on NetBSD and probably other non-Linux Unixes.
  • Updated list of fake fullscreen modes to match SDL2 Wayland target.
  • Several improvements to YUV overlay support (#164, #176, #143, #193, etc)
  • SDL_INIT_EVENTTHREAD support is now simulated; there's no actual thread.
  • Documentation improvements! (#173, #174, #197, #198, #188)
  • Several fixes for Awesomenauts, which now works great! (#168)
  • Implemented a "quirks" system to automatically adjust for known apps that need a little compatibility help.
  • Apps doing a "borderless fullscreen window" now convert to FULLSCREEN_DESKTOP (#168)
  • Fixed SDL_Surface refcounting.
  • SDL_GetWMInfo now works when SDL_SetVideoMode() hasn't been called. (#163)
  • "testthread.c" is now spelled correctly (#172)
  • Other fixes and improvements.

Thanks!

Thank you to Ozkan Sezer, David Gow, Sam Lantinga, Joshua Root, nia, and
Aaron Barany for their hard work on this release, and many others that
tested and contributed in ways not visible in the revision history!

1.2.54

02 Sep 19:11
ae0fb29
Compare
Choose a tag to compare
1.2.54 Pre-release
Pre-release

sdl12-compat 1.2.54 PRERELEASE

What is this?

This is a PRERELEASE version of sdl12-compat. If everything looks good, we'll ship this as 1.2.56, so you have an even number and no chance you're still on a prerelease or development version.

PLEASE TEST THIS.

A list of things of known SDL 1.2 apps is here. Some tips on testing are in HOW_TO_TEST_GAMES.md. Please jump in and try things!

What works now?

Some apps and games that have started working with this release:

  • OpenXcom
  • DOSBox
  • Awesomenauts
  • Frogatto
  • mplayer
  • Multiwinia
  • tucnak
  • schismtracker
  • BasiliskII
  • Linapple
  • netsurf-framebuffer
  • BIT.TRIP Runner2
  • Many, many others!

Significant changes

  • All FIXMEs in the entire project have been resolved! (#143)
  • Make SDL2's OpenGL 2D renderer work with apps that update their screen surface from background threads (#104, #110, #181, #155, etc).
  • Better handling of audio and cd-rom needing the audio device in different formats. (#202)
  • macOS library install name has been fixed. (#194)
  • Fixed SDL_Flip error code for OpenGL windows (fixes OpenXcom). (#185)
  • Fake CD data tracks can now intersperse with audio tracks (put an empty trackXX.dat file in there). (#143)
  • SDL_EnableKeyRepeat now matches SDL 1.2's behavior. (#143)
  • SDL_Init/SDL_Quit pairing now matches SDL 1.2's behavior. (#143)
  • Non-fullscreen windows (software or OpenGL) can now scale like we do for fullscreen windows (#143)
  • SDL_ANYFORMAT is now supported. (#143)
  • Added basic/incomplete support for SDL_WINDOWID (#192).
  • Corrected SDL_WM_SetIcon() behavior (#191)
  • SDL_OpenAudio now respects the SDL_AUDIO_[FORMAT|FREQUENCY|CHANNELS|SAMPLES] environment variables (#143).
  • SDL_GetVideoInfo()->wm_available is usually correct now.
  • Can optionally use SDL2 Game Controllers for the 1.2 Joystick API. (#157)
  • Added a hack to let SDL 1.2 apps access the real SDL2 SysWM structure. (#186)
  • Lots of keyboard input fixes (#143, #187)
  • SDL_RemoveTimer now doesn't crash with bogus pointers, matching SDL 1.2.
  • Fixed rendering of 24-bit screen surfaces. (#183, #190, #199)
  • Updated dr_mp3 with various MP3 decoding fixes, for virtual CD audio.
  • Fixed building for ARM64 with Microsoft Visual C.
  • Now builds and runs on NetBSD and probably other non-Linux Unixes.
  • Updated list of fake fullscreen modes to match SDL2 Wayland target.
  • Several improvements to YUV overlay support (#164, #176, #143, #193, etc)
  • SDL_INIT_EVENTTHREAD support is now simulated; there's no actual thread.
  • Documentation improvements! (#173, #174, #197, #198, #188)
  • Several fixes for Awesomenauts, which now works great! (#168)
  • Implemented a "quirks" system to automatically adjust for known apps that need a little compatibility help.
  • Apps doing a "borderless fullscreen window" now convert to FULLSCREEN_DESKTOP (#168)
  • Fixed SDL_Surface refcounting.
  • SDL_GetWMInfo now works when SDL_SetVideoMode() hasn't been called. (#163)
  • "testthread.c" is now spelled correctly (#172)
  • Other fixes and improvements.

Thanks!

Thank you to Ozkan Sezer, David Gow, Sam Lantinga, Joshua Root, nia, and
Aaron Barany for their hard work on this release, and many others that
tested and contributed in ways not visible in the revision history!

1.2.52

03 Mar 19:41
Compare
Choose a tag to compare

This is the initial release of sdl12-compat, a drop-in replacement for SDL 1.2, using SDL 2.0 for improved support on modern systems.