Port to SDL2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
widelands |
Fix Released
|
High
|
Unassigned |
Bug Description
SDL2 has more features, is more stable, gives easier support for mobile platforms and is the only version of SDL that is still supported and developed. Reasons enough to port.
Martin has worked on this and seems to have done it already here: https:/
But it seems that he tried to do too much in the branch and eventually lost interest - so this was never merged. I think about a minimal evasive port - if possible swapping out each library one by one (i.e. port to SDL2 core, but keep libsdl-net at the earlier version. Not sure if this is possible though).
Looking at the features of SDL2, it seems like we can loose the dependency on sdlgfx with it too.
Related branches
- SirVer: Pending requested
-
Diff: 4248 lines (+1245/-854)94 files modifiedCMakeLists.txt (+6/-6)
CREDITS (+6/-6)
cmake/Modules/FindSDL.cmake (+0/-186)
cmake/Modules/FindSDL2.cmake (+190/-0)
cmake/Modules/FindSDL2_gfx.cmake (+60/-0)
cmake/Modules/FindSDL2_image.cmake (+88/-0)
cmake/Modules/FindSDL2_mixer.cmake (+88/-0)
cmake/Modules/FindSDL2_net.cmake (+88/-0)
cmake/Modules/FindSDL2_ttf.cmake (+88/-0)
cmake/Modules/FindSDL_gfx.cmake (+0/-64)
cmake/WlFunctions.cmake (+38/-38)
cmake/codecheck/rules/correct_include_order (+4/-4)
src/CMakeLists.txt (+4/-4)
src/base/CMakeLists.txt (+1/-1)
src/editor/CMakeLists.txt (+1/-1)
src/editor/editorinteractive.cc (+12/-12)
src/editor/editorinteractive.h (+1/-1)
src/editor/ui_menus/categorized_item_selection_menu.h (+1/-1)
src/editor/ui_menus/editor_main_menu_load_map.cc (+1/-0)
src/editor/ui_menus/editor_main_menu_save_map.cc (+1/-0)
src/editor/ui_menus/editor_tool_place_bob_options_menu.cc (+2/-2)
src/editor/ui_menus/editor_tool_place_immovable_options_menu.cc (+1/-1)
src/editor/ui_menus/editor_tool_set_terrain_options_menu.cc (+1/-1)
src/graphic/CMakeLists.txt (+10/-10)
src/graphic/font_handler.cc (+1/-1)
src/graphic/gl/surface_texture.cc (+5/-3)
src/graphic/graphic.cc (+121/-117)
src/graphic/graphic.h (+9/-13)
src/graphic/image_transformations.cc (+3/-2)
src/graphic/sdl/surface.cc (+8/-4)
src/graphic/sdl/surface.h (+2/-0)
src/graphic/surface.cc (+1/-1)
src/graphic/text/CMakeLists.txt (+3/-3)
src/graphic/text/sdl_ttf_font.cc (+5/-3)
src/io/CMakeLists.txt (+1/-1)
src/logic/CMakeLists.txt (+3/-3)
src/map_io/CMakeLists.txt (+1/-1)
src/network/CMakeLists.txt (+1/-1)
src/sound/CMakeLists.txt (+2/-2)
src/sound/songset.cc (+3/-19)
src/sound/sound_handler.cc (+2/-5)
src/ui_basic/CMakeLists.txt (+1/-1)
src/ui_basic/button.cc (+1/-0)
src/ui_basic/editbox.cc (+21/-51)
src/ui_basic/editbox.h (+2/-2)
src/ui_basic/is_printable.cc (+2/-3)
src/ui_basic/is_printable.h (+1/-1)
src/ui_basic/listselect.cc (+13/-8)
src/ui_basic/listselect.h (+2/-1)
src/ui_basic/messagebox.cc (+2/-2)
src/ui_basic/messagebox.h (+1/-1)
src/ui_basic/multilineeditbox.cc (+26/-41)
src/ui_basic/multilineeditbox.h (+3/-3)
src/ui_basic/multilinetextarea.cc (+3/-6)
src/ui_basic/multilinetextarea.h (+1/-1)
src/ui_basic/panel.cc (+116/-28)
src/ui_basic/panel.h (+19/-7)
src/ui_basic/progresswindow.cc (+2/-2)
src/ui_basic/scrollbar.cc (+10/-16)
src/ui_basic/scrollbar.h (+2/-1)
src/ui_basic/table.cc (+10/-8)
src/ui_basic/table.h (+4/-2)
src/ui_basic/window.cc (+2/-2)
src/ui_fsmenu/intro.cc (+1/-1)
src/ui_fsmenu/intro.h (+1/-1)
src/ui_fsmenu/load_map_or_game.cc (+2/-2)
src/ui_fsmenu/load_map_or_game.h (+1/-1)
src/ui_fsmenu/loadgame.cc (+2/-2)
src/ui_fsmenu/loadgame.h (+1/-1)
src/ui_fsmenu/options.cc (+18/-21)
src/ui_fsmenu/options.h (+3/-2)
src/wlapplication.cc (+34/-57)
src/wlapplication.h (+4/-2)
src/wui/CMakeLists.txt (+1/-1)
src/wui/actionconfirm.cc (+1/-1)
src/wui/building_statistics_menu.cc (+1/-0)
src/wui/buildingwindow.cc (+3/-3)
src/wui/encyclopedia_window.cc (+1/-0)
src/wui/fieldaction.cc (+4/-4)
src/wui/game_message_menu.cc (+3/-2)
src/wui/game_message_menu.h (+1/-1)
src/wui/game_options_menu.cc (+1/-1)
src/wui/game_tips.cc (+1/-1)
src/wui/interactive_base.cc (+19/-11)
src/wui/interactive_base.h (+2/-2)
src/wui/interactive_player.cc (+3/-3)
src/wui/interactive_player.h (+1/-1)
src/wui/interactive_spectator.cc (+2/-2)
src/wui/interactive_spectator.h (+1/-1)
src/wui/mapview.cc (+1/-1)
src/wui/quicknavigation.cc (+3/-3)
src/wui/quicknavigation.h (+1/-1)
src/wui/shipwindow.cc (+2/-2)
utils/macos/build_app.sh (+19/-19)
Changed in widelands: | |
status: | Confirmed → Fix Committed |
Changed in widelands: | |
assignee: | GunChleoc (gunchleoc) → nobody |
Changed in widelands: | |
status: | Fix Committed → Fix Released |
Gun, I assigned you because you are such a busy bee these days. And this is quite important :).