summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Timo Gurr <tgurr@exherbo.org> 2018-09-20 13:16:07 +0200
committerAvatar Timo Gurr <tgurr@exherbo.org> 2018-09-20 13:16:07 +0200
commitd72f4bbdb5719646761a6d0f9f0a1220c62816bc (patch)
tree19faef5d680869c05b2e1db9f7f4b25404919cbb
parent28cc780360386707185a93538932db2b3b672ecc (diff)
downloadgames-d72f4bbdb5719646761a6d0f9f0a1220c62816bc.tar.gz
games-d72f4bbdb5719646761a6d0f9f0a1220c62816bc.tar.xz
Scorched3D: version bump to 44
-rw-r--r--packages/games-strategy/Scorched3D/Scorched3D-44.exheres-0 (renamed from packages/games-strategy/Scorched3D/Scorched3D-43.3d.exheres-0)51
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-43.2-OpenAL.patch65
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-43.3d-libpng-1.5.patch78
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-fix-cpp14.patch18
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-fixups.patch29
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-gcc43.patch26
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-jpeg9.patch24
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-odbc.patch20
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-pkgconfig.patch15
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-win32.patch22
-rw-r--r--packages/games-strategy/Scorched3D/files/Scorched3D-44-wxgtk.patch164
11 files changed, 360 insertions, 152 deletions
diff --git a/packages/games-strategy/Scorched3D/Scorched3D-43.3d.exheres-0 b/packages/games-strategy/Scorched3D/Scorched3D-44.exheres-0
index 3547c56..bf011ed 100644
--- a/packages/games-strategy/Scorched3D/Scorched3D-43.3d.exheres-0
+++ b/packages/games-strategy/Scorched3D/Scorched3D-44.exheres-0
@@ -1,7 +1,7 @@
# Copyright 2009 Ingmar Vanhassel
# Distributed under the terms of the GNU General Public License v2
-require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.13 1.11 1.10 ] ]
+require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.16 ] ]
SUMMARY="A modernization of the classic DOS game Scorched Earth, 'The Mother Of All Games', on which it is based"
DESCRIPTION="
@@ -22,8 +22,11 @@ DOWNLOADS="mirror://sourceforge/${PN,,}/${PNV}-src.tar.gz"
LICENCES="|| ( GPL-3 GPL-2 )"
SLOT="0"
PLATFORMS="~amd64 ~x86"
-MYOPTIONS=""
+MYOPTIONS="
+ ( providers: ijg-jpeg jpeg-turbo ) [[ number-selected = exactly-one ]]
+"
+# FIXME: Internal copy of expat, liblua, dejavu fonts, possibly more
DEPENDENCIES="
build:
virtual/pkg-config[>=0.9.0]
@@ -31,29 +34,36 @@ DEPENDENCIES="
dev-libs/expat
media-libs/freealut
media-libs/freetype:2
- media-libs/jpeg
media-libs/libogg
media-libs/libpng
media-libs/libvorbis
media-libs/openal
media-libs/SDL:0[>=1.2.5]
- media-libs/SDL_net
+ media-libs/SDL_net:0
sci-libs/fftw
sys-libs/zlib
x11-dri/freeglut
x11-dri/glu
x11-dri/mesa
- x11-libs/wxGTK:=[>=2.4.0&<3.0]
+ x11-libs/wxGTK:3.0
+ providers:ijg-jpeg? ( media-libs/jpeg:= )
+ providers:jpeg-turbo? ( media-libs/libjpeg-turbo )
"
WORK=${WORKBASE}/scorched
-# FIXME Internal copy of expat, liblua, possibly more
DEFAULT_SRC_PREPARE_PATCHES=(
- "${FILES}"/${PNV}-gcc47.patch
- "${FILES}"/${PNV}-libpng-1.5.patch
- "${FILES}"/${PNV}-fix-freetype-includes.patch
+ "${FILES}"/${PN}-44-pkgconfig.patch
+ "${FILES}"/${PN}-44-fixups.patch
+ "${FILES}"/${PN}-44-gcc43.patch
+ "${FILES}"/${PN}-44-odbc.patch
+ "${FILES}"/${PN}-44-win32.patch
+ "${FILES}"/${PN}-43.3d-fix-freetype-includes.patch
+ "${FILES}"/${PN}-44-jpeg9.patch
+ "${FILES}"/${PN}-44-fix-cpp14.patch
+ "${FILES}"/${PN}-44-wxgtk.patch
)
+
DEFAULT_SRC_CONFIGURE_PARAMS=(
--datadir=/usr/share/${PN,,}
--with-docdir=/usr/share/doc/${PNVR}
@@ -62,3 +72,26 @@ DEFAULT_SRC_CONFIGURE_PARAMS=(
--without-pgsql
)
+src_install() {
+ default
+
+ # install desktop file
+ insinto /usr/share/applications
+ hereins ${PN,,}.desktop <<EOF
+[Desktop Entry]
+Name=Scorched 3D
+Version=1.1
+Exec=${PN,,}
+Comment=A game based on the classic DOS game Scorched Earth
+Icon=/usr/share/pixmaps/${PN,,}.bmp
+Type=Application
+Terminal=false
+StartupNotify=true
+Categories=Game;ActionGame;StrategyGame;
+EOF
+
+ # install icon
+ insinto /usr/share/pixmaps
+ newins data/images/tank-old.bmp ${PN,,}.bmp
+}
+
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-43.2-OpenAL.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-43.2-OpenAL.patch
deleted file mode 100644
index c6f0979..0000000
--- a/packages/games-strategy/Scorched3D/files/Scorched3D-43.2-OpenAL.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Source: Ingmar Vanhassel
-Upstream: No(t yet)
-Reason: Build with our openal versions, which don't install openal-config
-
-From e03cc389591f18a04e644cc79469929203549d40 Mon Sep 17 00:00:00 2001
-From: Ingmar Vanhassel <ingmar@exherbo.org>
-Date: Sat, 1 Aug 2009 14:20:11 +0200
-Subject: [PATCH] Use pkg-config for finding openal, as newer versions don't install openal-config anymore
-
----
- configure-al.m4 | 33 ++++++++++++++++++++-------------
- 1 files changed, 20 insertions(+), 13 deletions(-)
-
-diff --git a/configure-al.m4 b/configure-al.m4
-index 74510bc..c178360 100644
---- a/configure-al.m4
-+++ b/configure-al.m4
-@@ -7,24 +7,31 @@ AC_ARG_ENABLE(openaltest,
- [ --disable-openaltest Do not try to compile and run a test OpenAL program],
- , enable_openaltest=yes)
- AC_MSG_CHECKING(for OpenAL support)
--AC_PATH_PROG(OPENAL_CONFIG, openal-config, no)
--if test x$OPENAL_CONFIG = xno; then
-- echo "*** The openal-config script installed by OpenAL could not be found"
-- echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG"
-- echo "*** environment variable to the full path to openal-config."
-
-- AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/])
-+PKG_CHECK_MODULES(OPENAL, openal, have_openal=yes, have_openal=no)
-+if test "x$have_openal" = "xyes" ; then
-+ AL_LIBS="${OPENAL_LIBS}"
-+ AL_CFLAGS="${OPENAL_CFLAGS}"
- else
-+ AC_PATH_PROG(OPENAL_CONFIG, openal-config, no)
-+ if test x$OPENAL_CONFIG = xno; then
-+ echo "*** The openal-config script installed by OpenAL could not be found"
-+ echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG"
-+ echo "*** environment variable to the full path to openal-config."
-
-- if test x"$use_static_openal" = x"yes"; then
-- AL_LIBS="/usr/local/lib/libopenal.a"
-+ AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/])
- else
-- AL_LIBS="`$OPENAL_CONFIG --libs`"
-- fi
--
-- AL_CFLAGS="`$OPENAL_CONFIG --cflags`"
-
-- AC_MSG_RESULT(yes)
-+ if test x"$use_static_openal" = x"yes"; then
-+ AL_LIBS="/usr/local/lib/libopenal.a"
-+ else
-+ AL_LIBS="`$OPENAL_CONFIG --libs`"
-+ fi
-+
-+ AL_CFLAGS="`$OPENAL_CONFIG --cflags`"
-+
-+ AC_MSG_RESULT(yes)
-+ fi
- fi
-
- AC_MSG_CHECKING(for Freealut support)
---
-1.6.4
-
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-43.3d-libpng-1.5.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-43.3d-libpng-1.5.patch
deleted file mode 100644
index 15246a0..0000000
--- a/packages/games-strategy/Scorched3D/files/Scorched3D-43.3d-libpng-1.5.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Upstream: yes, at least according to http://www.scorched3d.co.uk/mantisbt/view.php?id=154
-Source: Svenstaro, see above
-Reason: fix build with libpng[>=1.5]
-
---- ./src/common/image/ImagePngFactory.cpp.old 2011-09-12 12:34:30.114461019 +0200
-+++ ./src/common/image/ImagePngFactory.cpp 2011-09-12 12:39:28.566425593 +0200
-@@ -104,7 +104,7 @@
-
- static void user_png_error(png_structp png_ptr, png_const_charp msg)
- {
-- longjmp(png_ptr->jmpbuf,1);
-+ longjmp(png_jmpbuf(png_ptr),1);
- }
-
- static void user_png_warning(png_structp png_ptr, png_const_charp msg)
---- ./src/client/client/LoadPNG.cpp.old 2011-09-12 12:45:49.167380419 +0200
-+++ ./src/client/client/LoadPNG.cpp 2011-09-12 14:11:14.961772024 +0200
-@@ -28,6 +28,8 @@
- int row, i;
- volatile int ckey = -1;
- png_color_16 *transv;
-+ png_colorp png_palette;
-+ int num_palette;
-
- if ( !src ) {
- /* The error message has been set in SDL_RWFromFile */
-@@ -58,7 +60,7 @@
- * the normal method of doing things with libpng). REQUIRED unless you
- * set up your own error handlers in png_create_read_struct() earlier.
- */
-- if ( setjmp(png_ptr->jmpbuf) ) {
-+ if ( setjmp(png_jmpbuf(png_ptr)) ) {
- error = "Error reading the PNG file.";
- goto done;
- }
-@@ -127,9 +129,9 @@
- Rmask = 0x000000FF;
- Gmask = 0x0000FF00;
- Bmask = 0x00FF0000;
-- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
-+ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
- } else {
-- int s = (info_ptr->channels == 4) ? 0 : 8;
-+ int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
- Rmask = 0xFF000000 >> s;
- Gmask = 0x00FF0000 >> s;
- Bmask = 0x0000FF00 >> s;
-@@ -137,7 +139,7 @@
- }
- }
- surface = SDL_AllocSurface(SDL_SWSURFACE, width, height,
-- bit_depth*info_ptr->channels, Rmask,Gmask,Bmask,Amask);
-+ bit_depth*png_get_channels(png_ptr, info_ptr), Rmask,Gmask,Bmask,Amask);
- if ( surface == NULL ) {
- error = "Out of memory";
- goto done;
-@@ -185,12 +187,15 @@
- palette->colors[i].g = i;
- palette->colors[i].b = i;
- }
-- } else if (info_ptr->num_palette > 0 ) {
-- palette->ncolors = info_ptr->num_palette;
-- for( i=0; i<info_ptr->num_palette; ++i ) {
-- palette->colors[i].b = info_ptr->palette[i].blue;
-- palette->colors[i].g = info_ptr->palette[i].green;
-- palette->colors[i].r = info_ptr->palette[i].red;
-+ } else {
-+ png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette);
-+ if (num_palette > 0 ) {
-+ palette->ncolors = num_palette;
-+ for( i=0; i<num_palette; ++i ) {
-+ palette->colors[i].b = png_palette[i].blue;
-+ palette->colors[i].g = png_palette[i].green;
-+ palette->colors[i].r = png_palette[i].red;
-+ }
- }
- }
- }
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-fix-cpp14.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-fix-cpp14.patch
new file mode 100644
index 0000000..70750c5
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-fix-cpp14.patch
@@ -0,0 +1,18 @@
+Source: Gentoo
+Upstream: Unknown
+Reason: Fix build
+
+In C++14, bool -> T* implicit conversions are not allowed anymore.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=601890
+
+--- a/src/common/weapons/AccessoryStore.cpp
++++ b/src/common/weapons/AccessoryStore.cpp
+@@ -156,7 +156,7 @@
+ Accessory *parent, XMLNode *currentNode)
+ {
+ XMLNode *typeNode = 0;
+- if (!currentNode->getNamedParameter("type", typeNode)) return false;
++ if (!currentNode->getNamedParameter("type", typeNode)) return NULL;
+
+ AccessoryPart *accessoryPart =
+ AccessoryMetaRegistration::getNewAccessory(typeNode->getContent(), this);
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-fixups.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-fixups.patch
new file mode 100644
index 0000000..6d8943c
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-fixups.patch
@@ -0,0 +1,29 @@
+Source: Gentoo
+Upstream: Unknown
+Reason: Fix build
+
+--- scorched.orig/configure.ac
++++ scorched/configure.ac
+@@ -13,22 +13,6 @@
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+
+-LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/usr/X11R6"
+-CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include -I/usr/X11R6"
+-
+-if test `uname` == Darwin; then
+-LDFLAGS="$LDFLAGS -lmx"
+-CPPFLAGS="$CPPFLAGS -DFFTW_USE_DOUBLE -D__DARWIN__ -D__MACOSX__"
+-else
+-LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+-fi
+-
+-AC_CHECK_LIB(fridge, beer, echo "Hmm?!",[
+- echo "Warning: No beer found in fridge!";
+- echo "We highly suggest that you rectify this situation immediately."
+-])
+-
+ AC_ARG_ENABLE(serveronly,
+ [ --enable-serveronly Enable server only compilation],
+ , enable_serveronly=no,
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-gcc43.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-gcc43.patch
new file mode 100644
index 0000000..685d3c1
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-gcc43.patch
@@ -0,0 +1,26 @@
+Source: Gentoo
+Upstream: Unknown
+Reason: Fix build
+
+--- scorched.old/src/common/common/main.h
++++ scorched/src/common/common/main.h
+@@ -40,7 +40,7 @@
+ void _no_storage()
+ {
+ printf("Failed to allocate memory!!");
+- std::exit(1);
++ exit(1);
+ }
+
+ void run_main(int argc, char *argv[], OptionsParameters &params)
+--- scorched.old/src/common/porting/windows.h
++++ scorched/src/common/porting/windows.h
+@@ -20,7 +20,7 @@
+ typedef unsigned short WORD;
+ typedef unsigned char BYTE;
+
+-typedef int HWND;
++// typedef int HWND;
+ typedef void * HINSTANCE;
+ typedef int WPARAM;
+ typedef int LPARAM;
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-jpeg9.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-jpeg9.patch
new file mode 100644
index 0000000..f940342
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-jpeg9.patch
@@ -0,0 +1,24 @@
+Source: Gentoo
+Upstream: Unknown
+Reason: Fix build
+
+--- a/src/common/image/ImageJpgFactory.cpp.old 2014-12-03 09:52:03.306552513 +0100
++++ b/src/common/image/ImageJpgFactory.cpp 2014-12-03 09:53:22.117786304 +0100
+@@ -79,7 +79,7 @@
+ src->next_input_byte = FakeEOI;
+ src->bytes_in_buffer = 2;
+
+- return TRUE;
++ return (boolean)TRUE;
+ }
+
+ METHODDEF(void)
+@@ -166,7 +166,7 @@
+ src->bytes_in_buffer = buffer.getBufferUsed();
+ src->next_input_byte = (JOCTET *) buffer.getBuffer();
+
+- jpeg_read_header(&cinfo, TRUE);
++ jpeg_read_header(&cinfo, (boolean)TRUE);
+ jpeg_start_decompress(&cinfo);
+
+ if ((cinfo.output_components == 3 && !readalpha) ||
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-odbc.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-odbc.patch
new file mode 100644
index 0000000..754e045
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-odbc.patch
@@ -0,0 +1,20 @@
+Source: Gentoo
+Upstream: Unknown
+Reason: Fix build
+
+When x11-libs/wxGTK is built with the odbc use flag, scorched3d fails to build.
+bug #285384 - patch from Bob Johnson
+
+--- scorched/src/common/porting/windows.h
++++ fix_scorched/src/common/porting/windows.h
+@@ -11,8 +11,8 @@
+
+ typedef char * LPSTR;
+ typedef const char * LPCTSTR;
+-typedef unsigned int DWORD;
+-typedef unsigned int * LPDWORD;
++typedef unsigned long DWORD;
++typedef DWORD * LPDWORD;
+ typedef unsigned char * LPBYTE;
+ typedef int INT;
+ typedef long LONG;
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-pkgconfig.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-pkgconfig.patch
new file mode 100644
index 0000000..2c42e63
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-pkgconfig.patch
@@ -0,0 +1,15 @@
+Source: Exherbo
+Upstream: No (dead?)
+Reason: Fix build
+
+diff -Naur scorched-44/configure-al.m4 scorched-44.new/configure-al.m4
+--- scorched-44/configure-al.m4 2014-08-01 18:47:31.000000000 +0200
++++ scorched-44.new/configure-al.m4 2018-09-20 12:25:24.897533402 +0200
+@@ -14,7 +14,6 @@
+ echo "environment variable to the full path to openal-config."
+ echo "Trying pkg-config instead."
+
+- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ if test x$PKG_CONFIG = xno; then
+ echo "The pkg-config script could not be found"
+ echo "Make sure pkg-config is in your path, or set the PKG_CONFIG"
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-win32.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-win32.patch
new file mode 100644
index 0000000..f786433
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-win32.patch
@@ -0,0 +1,22 @@
+Source: Gentoo
+Upstream: Unknown
+Reason: Fix build
+
+--- scorched.old/src/common/porting/windows.h
++++ scorched/src/common/porting/windows.h
+@@ -9,6 +9,7 @@
+ #include <ctype.h>
+ #include <common/Defines.h>
+
++#ifdef _WIN32
+ typedef char * LPSTR;
+ typedef const char * LPCTSTR;
+ typedef unsigned int DWORD;
+@@ -27,6 +28,7 @@
+ typedef int LRESULT;
+ typedef void * HDC;
+ typedef void * HGLRC;
++#endif /* _WIN32 */
+
+ #define _strnicmp(a,b,c) strncasecmp(a,b,c)
+ #define stricmp(a,b) strcasecmp(a,b)
diff --git a/packages/games-strategy/Scorched3D/files/Scorched3D-44-wxgtk.patch b/packages/games-strategy/Scorched3D/files/Scorched3D-44-wxgtk.patch
new file mode 100644
index 0000000..d2f6dba
--- /dev/null
+++ b/packages/games-strategy/Scorched3D/files/Scorched3D-44-wxgtk.patch
@@ -0,0 +1,164 @@
+Source: Gentoo
+Upstream: Unknown
+Reason: Fix build with wxGTK >= 3.0
+
+diff -Naur scorched-44/src/launcher/wxdialogs/Display.cpp scorched-44.new/src/launcher/wxdialogs/Display.cpp
+--- scorched-44/src/launcher/wxdialogs/Display.cpp 2014-08-01 18:47:32.000000000 +0200
++++ scorched-44.new/src/launcher/wxdialogs/Display.cpp 2018-09-20 13:03:18.242812460 +0200
+@@ -26,7 +26,7 @@
+ // Display settings
+ wxStaticBox *displayBox = new wxStaticBox(parent, -1, wxT("&Display"));
+ wxStaticBoxSizer *displaySizer = new wxStaticBoxSizer(displayBox, wxVERTICAL);
+- wxFlexGridSizer *displaySizer2 = new wxFlexGridSizer(2, 3, 5, 5);
++ wxFlexGridSizer *displaySizer2 = new wxFlexGridSizer(0, 3, 5, 5);
+ wxStaticText *resText = new wxStaticText(parent, -1, wxT("&Resolution :"));
+ IDC_DISPLAY_CTRL =
+ new wxComboBox(parent, -1,
+@@ -88,7 +88,7 @@
+ // Sound settings
+ wxStaticBox *soundBox = new wxStaticBox(parent, -1, wxT("&Sound"));
+ wxStaticBoxSizer *soundSizerMain = new wxStaticBoxSizer(soundBox, wxVERTICAL);
+- wxFlexGridSizer *soundSizer1 = new wxFlexGridSizer(4, 2);
++ wxFlexGridSizer *soundSizer1 = new wxFlexGridSizer(0, 4, 2, 0);
+ wxStaticText *volumeText = new wxStaticText(parent, -1, wxT("Sound Volume :"));
+ wxStaticText *musicVolumeText = new wxStaticText(parent, -1, wxT("Music Volume :"));
+ wxStaticText *ambientVolumeText = new wxStaticText(parent, -1, wxT("Ambient Volume :"));
+@@ -137,7 +137,7 @@
+ wxT("Game Detail Options"));
+ wxStaticBoxSizer *speedSizer = new wxStaticBoxSizer(speedBox, wxHORIZONTAL);
+
+- wxGridSizer *loadSizer = new wxFlexGridSizer(2, 2);
++ wxGridSizer *loadSizer = new wxFlexGridSizer(0, 2, 2, 0);
+ IDC_LOADULTRA_CTRL = new wxButton(parent, ID_LOADULTRA, wxT("&Ultra Detail"), wxDefaultPosition, wxSize(120,-1));
+ IDC_LOADDEFAULTS_CTRL = new wxButton(parent, ID_LOADDEFAULTS, wxT("&Normal Detail"), wxDefaultPosition, wxSize(120,-1));
+ IDC_LOADMEDIUM_CTRL = new wxButton(parent, ID_LOADMEDIUM, wxT("Faster Detail"), wxDefaultPosition, wxSize(120,-1));
+@@ -256,7 +256,7 @@
+ wxStaticBox *waterDetailBox = new wxStaticBox(parent, -1,
+ wxT("Graphics Detail"));
+ wxStaticBoxSizer *waterDetailSizer = new wxStaticBoxSizer(waterDetailBox, wxHORIZONTAL);
+- wxGridSizer *waterDetailSizer2 = new wxGridSizer(3, 1, 10, 10);
++ wxGridSizer *waterDetailSizer2 = new wxGridSizer(0, 1, 10, 10);
+
+ IDC_NOWATERREF_CTRL =
+ new wxCheckBox(parent, -1, wxT("Don't draw water reflections - Large Framerate Improvement"));
+@@ -471,7 +471,7 @@
+ {
+ wxScrolledWindow *scrolledWindow = new wxScrolledWindow(parent, -1,
+ wxDefaultPosition, wxSize(480, 250));
+- wxSizer *sizer = new wxFlexGridSizer(5, 1);
++ wxSizer *sizer = new wxFlexGridSizer(0, 5, 1, 0);
+
+ keyboardKeyList.clear();
+ if (!Keyboard::instance()->loadKeyFile())
+diff -Naur scorched-44/src/launcher/wxdialogs/DisplayDialog.cpp scorched-44.new/src/launcher/wxdialogs/DisplayDialog.cpp
+--- scorched-44/src/launcher/wxdialogs/DisplayDialog.cpp 2014-08-01 18:47:32.000000000 +0200
++++ scorched-44.new/src/launcher/wxdialogs/DisplayDialog.cpp 2018-09-20 13:05:25.300066279 +0200
+@@ -449,15 +449,15 @@
+ IDC_SLIDER1_CTRL->SetValue(OptionsDisplay::instance()->getBrightness());
+ IDC_SLIDER1_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getBrightnessEntry().getDescription(), wxConvUTF8));
+ IDC_VOLUME_CTRL->SetRange(0, 128);
+- IDC_VOLUME_CTRL->SetTickFreq(4, 0);
++ IDC_VOLUME_CTRL->SetTickFreq(4);
+ IDC_VOLUME_CTRL->SetValue(OptionsDisplay::instance()->getSoundVolume());
+ IDC_VOLUME_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getSoundVolumeEntry().getDescription(), wxConvUTF8));
+ IDC_MUSICVOLUME_CTRL->SetRange(0, 128);
+- IDC_MUSICVOLUME_CTRL->SetTickFreq(4, 0);
++ IDC_MUSICVOLUME_CTRL->SetTickFreq(4);
+ IDC_MUSICVOLUME_CTRL->SetValue(OptionsDisplay::instance()->getMusicVolume());
+ IDC_MUSICVOLUME_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getMusicVolumeEntry().getDescription(), wxConvUTF8));
+ IDC_AMBIENTVOLUME_CTRL->SetRange(0, 128);
+- IDC_AMBIENTVOLUME_CTRL->SetTickFreq(4, 0);
++ IDC_AMBIENTVOLUME_CTRL->SetTickFreq(4);
+ IDC_AMBIENTVOLUME_CTRL->SetValue(OptionsDisplay::instance()->getAmbientSoundVolume());
+ IDC_AMBIENTVOLUME_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getAmbientSoundVolumeEntry().getDescription(), wxConvUTF8));
+ IDC_USERNAME_CTRL->SetValue(wxString(OptionsDisplay::instance()->getOnlineUserName(), wxConvUTF8));
+@@ -733,11 +733,7 @@
+ convertString(S3D::formatStringBuffer("%s.s3m", (const char *) (selection.mb_str(wxConvUTF8)))), // default filename
+ wxT(""), // default extension
+ wxT("*.s3m"),
+-#if wxCHECK_VERSION(2, 8, 0)
+ wxFD_SAVE);
+-#else
+- wxSAVE);
+-#endif
+ if (file.empty()) return;
+ ModFiles files;
+ if (!files.loadModFiles(std::string(selection.mb_str(wxConvUTF8)), false))
+@@ -761,11 +757,7 @@
+ wxT(""), // default filename
+ wxT(""), // default extension
+ wxT("*.s3m"),
+-#if wxCHECK_VERSION(2, 8, 0)
+ wxFD_OPEN | wxFD_FILE_MUST_EXIST);
+-#else
+- wxOPEN | wxFILE_MUST_EXIST);
+-#endif
+ if (file.empty()) return;
+ ModFiles files;
+ std::string mod;
+diff -Naur scorched-44/src/launcher/wxdialogs/SettingsDialog.cpp scorched-44.new/src/launcher/wxdialogs/SettingsDialog.cpp
+--- scorched-44/src/launcher/wxdialogs/SettingsDialog.cpp 2014-08-01 18:47:32.000000000 +0200
++++ scorched-44.new/src/launcher/wxdialogs/SettingsDialog.cpp 2018-09-20 13:06:57.700228762 +0200
+@@ -105,7 +105,7 @@
+ mainPanel_ = new wxPanel(book_, -1);
+ book_->AddPage(mainPanel_, wxT("Main"));
+ wxSizer *mainPanelSizer = new wxBoxSizer(wxVERTICAL);
+- wxSizer *sizer = new wxFlexGridSizer(2, 2);
++ wxSizer *sizer = new wxFlexGridSizer(0, 2, 2, 0);
+ mainPanelSizer->Add(sizer, 0, wxALL | wxALIGN_CENTER, 10);
+
+ setters_.push_back(
+@@ -166,7 +166,7 @@
+ {
+ moneyPanel_ = new wxPanel(book_, -1);
+ wxSizer *ecoPanelSizer = new wxBoxSizer(wxVERTICAL);
+- wxSizer *sizer = new wxFlexGridSizer(2, 2);
++ wxSizer *sizer = new wxFlexGridSizer(0, 2, 2, 0);
+ ecoPanelSizer->Add(sizer, 0, wxALL | wxALIGN_CENTER, 10);
+
+ setters_.push_back(
+@@ -215,7 +215,7 @@
+ {
+ scorePanel_ = new wxPanel(book_, -1);
+ wxSizer *ecoPanelSizer = new wxBoxSizer(wxVERTICAL);
+- wxSizer *sizer = new wxFlexGridSizer(2, 2);
++ wxSizer *sizer = new wxFlexGridSizer(0, 2, 2, 0);
+ ecoPanelSizer->Add(sizer, 0, wxALL | wxALIGN_CENTER, 10);
+
+ setters_.push_back(
+@@ -249,7 +249,7 @@
+ {
+ weaponsPanel_ = new wxPanel(book_, -1);
+ wxSizer *ecoPanelSizer = new wxBoxSizer(wxVERTICAL);
+- wxSizer *sizer = new wxFlexGridSizer(2, 2);
++ wxSizer *sizer = new wxFlexGridSizer(0, 2, 2, 0);
+ ecoPanelSizer->Add(sizer, 0, wxALL | wxALIGN_CENTER, 10);
+
+ setters_.push_back(
+@@ -286,7 +286,7 @@
+ {
+ envPanel_ = new wxPanel(book_, -1);
+ wxSizer *envPanelSizer = new wxBoxSizer(wxVERTICAL);
+- wxSizer *sizer = new wxFlexGridSizer(2, 2);
++ wxSizer *sizer = new wxFlexGridSizer(0, 2, 2, 0);
+ envPanelSizer->Add(sizer, 0, wxALL | wxALIGN_CENTER, 10);
+
+ setters_.push_back(
+@@ -337,7 +337,7 @@
+ wxScrolledWindow *scrolledWindow = new wxScrolledWindow(landPanel_, -1,
+ wxDefaultPosition, wxSize(225, 200));
+
+- wxSizer *sizer = new wxFlexGridSizer(3, 3);
++ wxSizer *sizer = new wxFlexGridSizer(0, 3, 3, 0);
+ int i = 0;
+ std::list<LandscapeDefinitionsEntry> &defns =
+ landscapeDefinitions.getAllLandscapes();
+@@ -438,7 +438,7 @@
+ wxT("Players are persistent for game"));
+ playersPanelSizer->Add(IDC_SERVER_RESIDUAL_CTRL, 0, wxALIGN_CENTER | wxTOP, 10);
+
+- wxSizer *sizer = new wxGridSizer(3, 3);
++ wxSizer *sizer = new wxGridSizer(0, 3, 3, 0);
+ playersPanelSizer->Add(sizer, 0, wxALL | wxALIGN_CENTER, 10);
+
+ for (int i=0; i<24; i++)