SDL 2 Transition

Announcements regarding Wesnoth and the Wesnoth Project.

Moderator: Forum Moderators

Post Reply
Inactive Developer
Posts: 787
Joined: March 31st, 2006, 6:55 am

SDL 2 Transition

Post by SkeletonCrew »

In the next development series (1.13.x), The Battle for Wesnoth will switch from the SDL 1.2 library to version 2.0. The SDL library is one of the main libraries used by Wesnoth:
  • It handles processing the mouse, keyboard, and joystick inputs.
  • It plays the music and sound effects.
  • And most importantly, it draws everything on the screen.
One of the most important improvements in the new version of the library is better support for mobile platforms like Android and iOS. However, supporting these platforms needs more work than just porting Wesnoth to SDL 2.0. The initial goal will be porting Wesnoth to SDL 2.0, once that is done, work can be done on porting Wesnoth to Android and iOS. (Not sure who wants to work on this part.)

The changes between SDL 1.2 and SDL 2.0 are huge, so converting Wesnoth to use the new version of the library will be a lot of work and will probably affect stability while porting. Among the things that will be entirely rewritten are the drawing routines. Currently we only redraw the parts of the screen which have changed since the last frame was drawn. We intend to move to a model where we redraw the entire screen for every frame and let the graphics card figure out what really needs to be updated. This new model is also used in OpenGL, which is used in a lot of modern games.

Wesnoth supports a lot of platforms, but some of them are no longer actively maintained, meaning there are no testers for these platforms. Since the conversion to SDL 2.0 will need a lot of testing, support for these platforms will be dropped. Of course, if somebody steps up to start maintaining one of these platforms again, we will not drop support for that platform. The affected platforms are: OS/2, AmigaOS, and BeOS.

― Mordante
Post Reply