diff --git a/srb2.png b/srb2.png
index 72a08f6648b8c8849d5804889977a412b35e6deb..3bbe2c3e66af543be6de806d8d893735e10e4062 100644
Binary files a/srb2.png and b/srb2.png differ
diff --git a/src/sdl/IMG_xpm.c b/src/sdl/IMG_xpm.c
index af76ec1ddd1d2dfe8ee0b02f22293c7db7696cdd..43fb4ded235ee33ac961870dcc18a7aa104a9db0 100644
--- a/src/sdl/IMG_xpm.c
+++ b/src/sdl/IMG_xpm.c
@@ -1,6 +1,6 @@
 /*
   SDL_image:  An example image loading library for use with SDL
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+  Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
 
   This software is provided 'as-is', without any express or implied
   warranty.  In no event will the authors be held liable for any damages
@@ -34,7 +34,7 @@
  *
  * Besides the standard API, also provides
  *
- *     SDL_Surface *IMG_ReadXPMFromArray(char **xpm)
+ *     SDL_Surface *IMG_ReadXPMFromArray(const char **xpm)
  *
  * that reads the image data from an XPM file included in the C source.
  *
@@ -88,8 +88,8 @@ struct color_hash {
     struct hash_entry **table;
     struct hash_entry *entries; /* array of all entries */
     struct hash_entry *next_free;
-    int size;
-    int maxnum;
+    size_t size;
+    size_t maxnum;
 };
 
 static int hash_key(const char *key, int cpp, int size)
@@ -103,14 +103,14 @@ static int hash_key(const char *key, int cpp, int size)
     return hash & (size - 1);
 }
 
-static struct color_hash *create_colorhash(int maxnum)
+static struct color_hash *create_colorhash(size_t maxnum)
 {
-    int bytes, s;
+    size_t bytes, s;
     struct color_hash *hash;
 
     /* we know how many entries we need, so we can allocate
        everything here */
-    hash = (struct color_hash *)SDL_malloc(sizeof *hash);
+    hash = (struct color_hash *)SDL_calloc(1, sizeof(*hash));
     if (!hash)
         return NULL;
 
@@ -119,15 +119,29 @@ static struct color_hash *create_colorhash(int maxnum)
         ;
     hash->size = s;
     hash->maxnum = maxnum;
+
     bytes = hash->size * sizeof(struct hash_entry **);
-    hash->entries = NULL;   /* in case malloc fails */
-    hash->table = (struct hash_entry **)SDL_malloc(bytes);
+    /* Check for overflow */
+    if ((bytes / sizeof(struct hash_entry **)) != hash->size) {
+        IMG_SetError("memory allocation overflow");
+        SDL_free(hash);
+        return NULL;
+    }
+    hash->table = (struct hash_entry **)SDL_calloc(1, bytes);
     if (!hash->table) {
         SDL_free(hash);
         return NULL;
     }
-    SDL_memset(hash->table, 0, bytes);
-    hash->entries = (struct hash_entry *)SDL_malloc(maxnum * sizeof(struct hash_entry));
+
+    bytes = maxnum * sizeof(struct hash_entry);
+    /* Check for overflow */
+    if ((bytes / sizeof(struct hash_entry)) != maxnum) {
+        IMG_SetError("memory allocation overflow");
+        SDL_free(hash->table);
+        SDL_free(hash);
+        return NULL;
+    }
+    hash->entries = (struct hash_entry *)SDL_calloc(1, bytes);
     if (!hash->entries) {
         SDL_free(hash->table);
         SDL_free(hash);
@@ -138,7 +152,7 @@ static struct color_hash *create_colorhash(int maxnum)
 }
 
 static int add_colorhash(struct color_hash *hash,
-                         char *key, int cpp, Uint32 color)
+                         const char *key, int cpp, Uint32 color)
 {
     int index = hash_key(key, cpp, hash->size);
     struct hash_entry *e = hash->next_free++;
@@ -995,10 +1009,11 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
 {
     Sint64 start = 0;
     SDL_Surface *image = NULL;
-    int index;
+    size_t index;
     int x, y;
-    int w, h, ncolors, cpp;
-    int indexed;
+    int w, h, cpp;
+    size_t ncolors;
+    size_t indexed;
     Uint8 *dst;
     struct color_hash *colors = NULL;
     SDL_Color *im_colors = NULL;
@@ -1029,12 +1044,17 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
      * Right now we don't use the hotspots but it should be handled
      * one day.
      */
-    if (SDL_sscanf(line, "%d %d %d %d", &w, &h, &ncolors, &cpp) != 4
+    if (SDL_sscanf(line, "%d %d %lu %d", &w, &h, &ncolors, &cpp) != 4
        || w <= 0 || h <= 0 || ncolors <= 0 || cpp <= 0) {
         error = "Invalid format description";
         goto done;
     }
 
+    /* Check for allocation overflow */
+    if ((size_t)(ncolors * cpp)/cpp != ncolors) {
+        error = "Invalid color specification";
+        goto done;
+    }
     keystrings = (char *)SDL_malloc(ncolors * cpp);
     if (!keystrings) {
         error = "Out of memory";
@@ -1102,8 +1122,9 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
                 c->g = (Uint8)(rgb >> 8);
                 c->b = (Uint8)(rgb);
                 pixel = index;
-            } else
+            } else {
                 pixel = rgb;
+            }
             add_colorhash(colors, nextkey, cpp, pixel);
             nextkey += cpp;
             if (rgb == 0xffffffff)
@@ -1192,7 +1213,7 @@ SDL_Surface *IMG_LoadXPM_RW(SDL_RWops *src)
     return(NULL);
 }
 
-SDL_Surface *IMG_ReadXPMFromArray(char **xpm)
+SDL_Surface *IMG_ReadXPMFromArray(const char **xpm)
 {
     return NULL;
 }
diff --git a/src/sdl/SDL_icon.xpm b/src/sdl/SDL_icon.xpm
index 1d0f9d314a98ff081671715292b5e4b26d2c54a9..2180d782c4fa1447844a68209db6da2ad005796b 100644
--- a/src/sdl/SDL_icon.xpm
+++ b/src/sdl/SDL_icon.xpm
@@ -1,163 +1,99 @@
 /* XPM */
-const char * SDL_icon_xpm[] = {
-"96 96 64 1",
+static const char *SDL_icon_xpm[] = {
+"64 64 32 1",
 " 	c None",
-".	c #040656",
-"+	c #0100B2",
-"@	c #04056E",
-"#	c #0000BD",
-"$	c #0B0C09",
-"%	c #0B0D26",
-"&	c #090C42",
-"*	c #060AA7",
-"=	c #1604DA",
-"-	c #020CD5",
-";	c #100F8D",
-">	c #040DE4",
-",	c #11129B",
-"'	c #1D1A83",
-")	c #2A10FD",
-"!	c #1318FA",
-"~	c #25225B",
-"{	c #252271",
-"]	c #312E2B",
-"^	c #33334D",
-"/	c #363775",
-"(	c #3D3B69",
-"_	c #3A3B8B",
-":	c #373AFF",
-"<	c #4142AA",
-"[	c #4B4864",
-"}	c #4D4B4A",
-"|	c #60492F",
-"1	c #4F4C57",
-"2	c #4A4A9E",
-"3	c #4F4E85",
-"4	c #474ADE",
-"5	c #4E4FFE",
-"6	c #5D5CB3",
-"7	c #686663",
-"8	c #666682",
-"9	c #676875",
-"0	c #66659E",
-"a	c #8B6538",
-"b	c #6465D5",
-"c	c #7F694F",
-"d	c #6767FF",
-"e	c #7272FF",
-"f	c #91795C",
-"g	c #7677FD",
-"h	c #828396",
-"i	c #A78153",
-"j	c #888989",
-"k	c #8D897E",
-"l	c #9190FD",
-"m	c #CA9048",
-"n	c #C09968",
-"o	c #A9A8A1",
-"p	c #A6A8B0",
-"q	c #B0B1FB",
-"r	c #EEAC61",
-"s	c #E3B478",
-"t	c #C3C4BE",
-"u	c #FFC68C",
-"v	c #FCCD90",
-"w	c #D4D7D3",
-"x	c #E3E5E0",
-"y	c #FCFFFB",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                            ttj7777777joot                                      ",
-"                                           9hh8830000088hh9                                     ",
-"                                       9888(//__<bbbb2////3[888hpp                              ",
-"                                 oj}^/_6bbbbgggggggb2///_bgbbbbb631kt                           ",
-"                                (80066bgeeegggggggb22262/bbggeggb66081                          ",
-"         p9^jj              pp8(_2bgggggeeeeeeeegb2~_bgb//6geegged5*'(hp                        ",
-"         ^2<3[7           j^/2bbggggeeeeeeeeeeggb2_({'4eb/2ggge5:!!!>-*{^kt                     ",
-"         &,5b60^         (02<beggggeeeeeeeeeegb62__7}~:5g/_bgd5!))))))=+;20k                    ",
-"         @#:egb3^     pp({4dgggeeeeeeeeeeeeegg6/__3im}+:e//bd:!)))))))))!#;87                   ",
-"        p'-!:dgb3]   7['4egeeeeeeeeeeeeeeeegg2/__[armc,-523<:!)))))))))))!>*{}                  ",
-"       tp,-)!5egb3} ~_<4dgggeeeeeeeeeeeeeegb6/_2[amusf'#!<_'>))))))))))))!)>+{~                 ",
-"        p;-))!5gb2^^'#5eggeeeeeeeeeeeeeeegg6/_23amrusi{#!+;;>))))))))))))))!!-'8p               ",
-"       tp'#!)):d6(@*>5egeeeeeeeeeeeeeeeegg6_/<(amrrvvn{+)-,;>))))))!!!!!!)))!!>,~j              ",
-"        p;#!))-'{'+-5eggeeeeeeeeeeeeeeeegb222(cmrruvvn{+)>,@>!)!!)!!>>>>======>-,/8             ",
-"         ;#)!-*.;-!5eggeeeeeeeeeeeeeeeegb2_<6|mrrsvvvn{+)!,.-!!!!>>=--######+++-#@(k            ",
-"        h@-)+@.*>!5egeeeeeeeeeeeeeeeeeegb_</]mrrruvvvn{+))*@->>--###++++++###+;@{(9j            ",
-"       kh,#+@@,>!:dggeeeeeeeeeeeeeeeeeeebbb_]mrruuvvsf'#)!*.+-###+++++++##+*;'3(&^9             ",
-"        8*,@@*)):dggeeeeeeeeeeeeeeeeeeeeggg<(|iruvvvsc,=!!*.;*++++++++###+,@&1o                 ",
-"        8@@@-!)!5eeeeeeeeeeeeeeeeeeeeeeeeeggb2[csvvvn^#)!!+@;*#+++++###*@~[                     ",
-"        9&@*!)):5geeeeeeeeeeeeeeeeeeeeeeeeegge637nsvf{>))!+;;*-######*;{.^                      ",
-"        9%;!!)):dgeeeeeeeeeeeeeeeeeeeeeeeeeeeggb_1ir7;>))!+;;,++++++*'(}                        ",
-"        9{+!))!5egeeeeeeeeeeeeeeeeeddddeeeeeeeege2}|~#!))!#;@...@@@.^hp                         ",
-"        8,=!))):dggeeeeeeeeeeeeeeeeggggeeeeeeeeggb_~,>!))!+@@@;;;;@&^o                          ",
-"       }(-)))))!:eegeeeeeeeeeeeeeegllllgeeeeeeeegd5+=))))!+;,#>--#,'/hj                         ",
-"      o8.>))))))!:dgggeeeeeeeeeeellqqqqlgeeeeggg5:!!!)))))-*+>)!:55db631                        ",
-"     p8<*!)))))))!:5deggggggeeeegqqqqqqqqlggged5:!))))))))>->!!:5ddeegb3/                       ",
-"    oh'#!))))))))))!:ddeeeeeeeeglqqqqqqqqlgedd:!)))))))))))))!:dggggeggg239                     ",
-"     ^*>!))!)))))))))!::55dddeegglll600333_4:!!)))))))))))))):dggeeeeeeggb6(9o                  ",
-"     ~+=-+#>))))))))))!!!:::::5554<3889988[/,=)))))))))))))):5gggeeeeeeeggb6087                 ",
-"     ~**@~'+>!))))))))))))))))!!>*{1kkooook7(,-!)))))))))))!:5deeeeeeeeeeeggb289                ",
-"     ~,'1o7(*>!))))))))))))))))=,[jtttwxxxwto^;>!))))))))))!!!::5deggeeeeeeegbb3]               ",
-"     ~@/oxt7'#))))))))))))))))=,3ktwxxyyyyyyxk/+!))))))))))))))!:::5degggeeegggb3^              ",
-"     ^&8xyyt^,)))))))))))))))>,3otwxyyyyyyyyyxh'>)))))))))))))))))):5ddeeeeeeeggb3^             ",
-"    771pyyyx7'=!)))))))))))!!#(jtxxyyyyyyyyyyyt3-)))))))))))))))))))!!::degggeeegb2[o           ",
-"     77tyyyxk/+!!)))))))))))-;9owxyyyyyyyyyyyywh*>)))))))))))))))))))))!::5ddgggggb68j          ",
-"      owyyyyt8;>))))))))))))*(otwyyyyyyyyyyyyyxp'-)))))))))))))))))))))))!!:5deeeggg_8j         ",
-"     jtxyyyyxh'>)))))))))!!#_ktxyyyyyyyyyyyyyyyt_+))))))))))))))))))))))))))!!:5deggg63j        ",
-"    7jwyyyyyyp/=))))))))))>,3owxyyyyyyyyyyyyyyyw/+))))))))))))))))))))))))))))!::5degb689       ",
-"     7xyyyyyyo[#))))))))))-/jtwyyyyyyyyyyyyyyyyw/*)))))))))))))))))))))))))))))))!:5dgg_/       ",
-"     }xyyyyyyt9*=))))))))=*9owyyyyyyyyyyyyyyyyyw/*)))))))))))))))))))))))))))))))))!!:5d3}      ",
-"     }xyyyyyywj'#!))))))!#@7oxyyyyyyyyyyyyyyyyyw/*)))))))))))))))))))))))))))))))))))!!:4/7     ",
-"     7xyyyyyyxj&,!!))))!!,%}oyyyyyyyyyyyyyyyyyyw/*))))))))))))))))))))))))))))))))))))))>487    ",
-"     7xyyyyyywk$@!!)))!!-.$]oyyyyyyyyyyyyyyyyyyw/+))))))))))))))))))))))))))))))!!!!))))!>'     ",
-"     }xyyyyyywj$&+!!)!)>;%$]jyyyyyyyyyyyyyyyyyyt{#)))))))))))))))))))))!!!!!!))!)!!!!!!))!#'    ",
-"     7xyyyyyyt7$%@-!)!>*[]$$jyyyyyyyyyyyyyyyyyxp;-))))))))))))))))))!!!!!!!!!!!!>>>>>>>>>>!,^   ",
-"     7xyyyyyyt}$][;-)=,(o7$$7yyyyyyyyyyyyyyyyyxp,-)))))))))))!!!!)!!!!>>>>=-----########--=+'9  ",
-"     jwyyyyyyo}$}o(';@~7wj$$7yyyyyyyyyyyyyyyyywh*>)))))))))))!>>>=>=---#####+########+++***;@17 ",
-"     otxyyyyyt}$7t7}1}7kw7$$7yyyyyyyyyyyyyyyyyt0-)))))))))!!!>--####+++++++++++++##+***,;''.&]  ",
-"    ooowyyyyyt}$}j7owwojo}$$jyyyyyyyyyyyyyyyyyp2>)))))))!!!=##++++++++++++++###+*;@.~[8[9hph    ",
-"     ojtyyyyywj$$}jwyyxo}$$]jyyyyyyyyyyyyyyyyyp'>))))))!>>-#++++++++++++####+,;'_3/&^}77kot     ",
-"      7tyyyyyxo]$$oxyyyt]$$}tyyyyyyyyyyyyyyyyx0*!)))!!!>-#++++++++++++#+##+*;.&1ko              ",
-"      7tyyyyyyx7]}xyyyyxj}]oxyyyyyyyyyyyyyyyyp<=)!!!!>-#++++++++++++####*;.(8h                  ",
-"       owxyxxyytooywptwwtppxyyyyyyyyyyyyyyyxp3,-=!)!>-#++++++++++###+*,'_{&1k                   ",
-"        jtwwttwtwwtj7kjowxyyyyyyyyyyyyyyyyxt7~'',+>=#+++++++++++###*;@&^j                       ",
-"        ]joojj7}]}]|innfc7jtwyyyyyyyyyyyxtjcfnnnf[@*#+++++++++###+@.&%%                         ",
-"       ]$}77}}$$$$]fsssnnifkkotwwwwwwwtpjkfinvvvsi}@*#++++++###*;@.@@&[                         ",
-"      o7$]]]]]$$]|isvvvvvusifckopppopok7cisvvvvvvvn(,#++++++#+*@.&@*#;3o                        ",
-"       }}$]|||fnnsvvvuvvvuuvvsniffffffnnsvvvvuuuvvvc{*+#++##*@&.@*+#--<7                        ",
-"        }]cninsuvvvvuuuuuuvvvvusnnnnnssuvvvvvuuuuvvc~*+#+++*@.@;*##=>>,^                        ",
-"         7fvvvvvvuuuuuuuuuuuuvvvvvvvvvvvuuuuuuuuuvvc~*+#+#+,.@*###->!!*~                        ",
-"         pkivvvvuuuuuuuuuuuuuuuvvvvvvvvuuuvsnsuuuvvf~*+#++++*+++->!!)!#.                        ",
-"          kfsuvvuuuuuuuuuuuuuuuuuuuuuuuuuvvnfsuvuvvc{++#++++###->!!))!-;h                       ",
-"           kisvvvuuuuuuuuuuuuuuuuuuuuuuuvvvicsvvvvs1@##+++++++#>!!))))=,ho                      ",
-"            7imuvvvuuuuuuuuuuuuuuuuuuuuvusfcivvuvvn~;##+++++++#>!!))))!#8k                      ",
-"             cimruuuuuvuuuuuuuuuuuuuuuuvsnfisuvvvsc@*#+++++++++#>!!))))-3}                      ",
-"              7amrruuuuuuuuuuuuuuuuuuuuvsnnsvvuvvi^,##++++++++++#>!!)))>/^                      ",
-"               kfamrruuuuvvvuuuuuuuuuuuuuvvvvvvvn1@+#++++++++++++#>!)))>{~                      ",
-"                7|iimrrruuuuuuuuuuuuuuuuvvvvuusn1'+#########++++++->!))>;                       ",
-"                  7cammrrrrruuuuuuvvvvvuuuuurrm|.*-#+#######+###+++->!!!*'                      ",
-"                   ookcaimmrrrrrruuuuurrrrrmi|]%.@@@@@;,*,*+########->!!*6o                     ",
-"                    p7}|ainiimmmmmmmmmmminnia|$%.....{3322_{''',,**+#=!!#6k                     ",
-"                          j7||aaiiiiiaa||7j           ookok711^&.';,*+=!><k                     ",
-"                               koooook                          hph[~@+>><k                     ",
-"                                ppppp                            tk7^3_,+<j                     ",
-"                                                                     o7^@3j                     ",
-"                                                                        9jj                     ",
-"                                                                         o                      ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                ",
-"                                                                                                "};
+".	c #000271",
+"+	c #03035D",
+"@	c #00009F",
+"#	c #0A0A1B",
+"$	c #08058E",
+"%	c #060E4C",
+"&	c #11110E",
+"*	c #101339",
+"=	c #0D11CC",
+"-	c #1B1CFD",
+";	c #342B24",
+">	c #2325EC",
+",	c #3C3883",
+"'	c #3D3A9E",
+")	c #5B5170",
+"!	c #4B4CFF",
+"~	c #795339",
+"{	c #5E5B5C",
+"]	c #5F5ED3",
+"^	c #5E5EFB",
+"/	c #7271FF",
+"(	c #B37F5D",
+"_	c #8F8883",
+":	c #8887FF",
+"<	c #D59E76",
+"[	c #ABABA9",
+"}	c #A9AAFF",
+"|	c #C1C3C1",
+"1	c #FAC296",
+"2	c #D4D6D3",
+"3	c #F9FCF8",
+"                                                                ",
+"                                                                ",
+"                              #***,,,****                       ",
+"                          *,,]]]]]]]]]]]]]',,**                 ",
+"                       *,']//////////////////]]',*              ",
+"                    *,']/////////////////////////]'%            ",
+"                  *,]////////////////////^^!!>>>>>>>$+          ",
+"                *,]////////////////////!>---------->=@%         ",
+"    *          ,]///////////////////]^>------->==@@@$.#         ",
+"   +',       *']//////////////////],,,=---->=@@@@@$.%           ",
+"  #.=^'*    ,]//////////////////],']^]$--=@@@@@@@$+#            ",
+"  %$=-^'*  ,]/////////////////],]/!>-^'=@@@@@@@$.%              ",
+"  +$=->/,*,//////////////////]'/^!,$-!,$@@@@@@$+*               ",
+"  +@=--!''/////////////////]']^!,(()->%$@@@@@$+#                ",
+"  +@=--='/////////////////]']^${(<<)->,$@@@@$%                  ",
+"  +@=->']/////////:::////]]/^'(<111)->,$@@@$%                   ",
+" #+@@>$]////////::}}}://///!,(<1111)--%$@@.%                    ",
+" #+@@$$^////////:}}}}}://^>$(<<1111)--+$@.%                     ",
+"  +@$.>^///////:}}}}}}:/^>->,(<111<'--+$$*#                     ",
+"  +$.=-!///////:}}}}}:^!-----@(111<@--+$,'],,*                  ",
+"  %+%=->^///////:}}}:!--------@(11(=--$=^////],*                ",
+"  ,]]'>->^//////^^!!-----------'<1_>--@-!//////]'*              ",
+"  '!->@--->>>>>>--->===>--------)<,-->@->^///////]',            ",
+" *$--->----------='){__{'>------>'=--=@-->!^///////],*          ",
+" %$.=---------->$)[22332[)=----------=>----->^^//////],         ",
+" %$_,--------->'_|3333333['----------=--------->!^////],#       ",
+" *'[{=--------'_2333333333_=---------------------->!^///,*      ",
+" #)[_@-------@_|33333333332,------------------------->!^/'*     ",
+" #)2[$------=)|333332|23333{>--------------------------->^'*    ",
+"  {2|,------$[233333___3333_=----------------------------->$    ",
+"  ;22)=---->)|333332{2_2333[@-------------------------------$   ",
+"  &22{@----$_233333|{2||333|'--------------------------------$  ",
+"  &|3_.----,|333333[;2|[333|'--------------------------------=+ ",
+"   [3_%=--={2333333[&___333|'-------------------->>>====>>----@ ",
+"   _3[#$=@.[2333333[&&&_333[$------------->>==@@@@@@@@@@@@@@@==+",
+"   {3|;+$$)|3333333[&&&[333_=-------->==@@@@@@@@@@@@@@@$$$$.+++%",
+"   {23{*$${23333333|;&&|332)>----->=@@@@@@@@@@@@@@$$$.++%**     ",
+";{{;[3{&*)[333333333{&&|332,=---==@@@@@@@@@@@@$$.++%*           ",
+"{22_{|[;_|2333333333_&;233_$@@@@@@@@@@@@@@@@$$+%*               ",
+"&_|2{;{{[233333333332_[33[,$@@@@@@@@@@@@@$$+%#                  ",
+" &;{&&&;~(_|3333333333332)$@@@@@@@@@@@@$.+%#                    ",
+"  &&&&&;(11([33333333332{$@@@@@@@@@@@$...$@$*                   ",
+"    &~((1111<[333333332{%.$@@@@@@@@@$$$$@=--$                   ",
+"     ~<<11111<[33333|[_(<~,$@@@@@@@@@@@@@>-->.                  ",
+"     ;(<111111<(____(11111(+@@@@@@@@@@@@=----=%                 ",
+"      ~(<11111111<11111<(<<;$@@$$@@@@@@@=-----.                 ",
+"       ~(<1111111111111(~<1{$$$.$@@@@@@@=-----=                 ",
+"        ~(<1111111<<(((<11<*$+.$@@@@@@@@@>---->+                ",
+"         ;(<1111111<<1111<~%+$@@@@@@@@@@@=-----$                ",
+"           ~(<<111111111(~&*+$$$@@@@@@@@@@=----=%               ",
+"             ;~((<<<<(~~;    *%+$$@@@@@@@@@>----+               ",
+"                 ;;;            #%+$$@@@@@@@----.               ",
+"                                   *+$$@@@@@=---@               ",
+"                                     *+$@@@@@>--=               ",
+"                                       *.$@@@@-->%              ",
+"                                        #%.$@@=->+              ",
+"                                          *+$@@>-$              ",
+"                                            %$@=-$              ",
+"                                             %.@>@              ",
+"                                               +=@              ",
+"                                                ..              ",
+"                                                 *              ",
+"                                                                ",
+"                                                                "};
diff --git a/src/sdl/Srb2SDL.ico b/src/sdl/Srb2SDL.ico
index 700276fd4b9ac2810a6981eb054921f3708c702b..3b37433dbd0aeb1315eaae48e5a2831de7e305e7 100644
Binary files a/src/sdl/Srb2SDL.ico and b/src/sdl/Srb2SDL.ico differ
diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c
index b526e612447569837d516dc7a459b5971d7db9bc..2f8bfb40ae6d2c16828030dd6f495f3060acd7d0 100644
--- a/src/sdl/i_video.c
+++ b/src/sdl/i_video.c
@@ -41,7 +41,7 @@
 
 #ifdef HAVE_IMAGE
 #include "SDL_image.h"
-#elif 1
+#elif defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON) // Windows doesn't need this, as SDL will do it for us.
 #define LOAD_XPM //I want XPM!
 #include "IMG_xpm.c" //Alam: I don't want to add SDL_Image.dll/so
 #define HAVE_IMAGE //I have SDL_Image, sortof
diff --git a/src/sdl/macosx/Srb2mac.icns b/src/sdl/macosx/Srb2mac.icns
index 96cb8a36d991818eb03b7d80343518ab168bda7d..a3e37aab3ee846900a873610f7d8d66fd34bfda3 100644
Binary files a/src/sdl/macosx/Srb2mac.icns and b/src/sdl/macosx/Srb2mac.icns differ
diff --git a/src/sdl/srb2icon.png b/src/sdl/srb2icon.png
deleted file mode 100644
index cdee18a8412313410fb4f0f0a132b710c1670c54..0000000000000000000000000000000000000000
Binary files a/src/sdl/srb2icon.png and /dev/null differ
diff --git a/src/win32/Srb2win.ico b/src/win32/Srb2win.ico
index 700276fd4b9ac2810a6981eb054921f3708c702b..3b37433dbd0aeb1315eaae48e5a2831de7e305e7 100644
Binary files a/src/win32/Srb2win.ico and b/src/win32/Srb2win.ico differ
diff --git a/src/win32/Srb2win.rc b/src/win32/Srb2win.rc
index b60ba750d06cbc8e3413a02b9aebc5f335852fd7..8e7fdccc9b08cfc9438a625a2fe6abfdaf2c50dc 100644
--- a/src/win32/Srb2win.rc
+++ b/src/win32/Srb2win.rc
@@ -1,6 +1,7 @@
 //Microsoft Developer Studio generated resource script.
 //
 #include "resource.h"
+#include "winver.h"
 
 #define APSTUDIO_READONLY_SYMBOLS
 /////////////////////////////////////////////////////////////////////////////
@@ -62,9 +63,11 @@ END
 // Version
 //
 
+#include "../doomdef.h" // Needed for version string
+
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,9,0
- PRODUCTVERSION 1,0,9,0
+ FILEVERSION 2,2,0,0
+ PRODUCTVERSION 2,2,0,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -82,14 +85,14 @@ BEGIN
             VALUE "Comments", "Visit our web site at www.srb2.org for news and updates!\0"
             VALUE "CompanyName", "Sonic Team Junior\0"
             VALUE "FileDescription", "Sonic Robo Blast 2\0"
-            VALUE "FileVersion", "1, 09\0"
+            VALUE "FileVersion", VERSIONSTRING
             VALUE "InternalName", "srb2\0"
-            VALUE "LegalCopyright", "Copyright � 1998-2018 by Sonic Team Junior\0"
+            VALUE "LegalCopyright", "Copyright 1998-2019 by Sonic Team Junior\0"
             VALUE "LegalTrademarks", "Sonic the Hedgehog and related characters are trademarks of Sega.\0"
             VALUE "OriginalFilename", "srb2win.exe\0"
             VALUE "PrivateBuild", "\0"
             VALUE "ProductName", "Sonic Robo Blast 2\0"
-            VALUE "ProductVersion", "1, 09\0"
+            VALUE "ProductVersion", VERSIONSTRING
             VALUE "SpecialBuild", "\0"
         END
     END