Fixed game crashing when leaving the worldmap
[supertux.git] / src / main.cpp
index 2b1c025..20ea613 100644 (file)
@@ -243,6 +243,7 @@ static void print_usage(const char* argv0)
             "  -w, --window                 Run in window mode\n"
             "  -g, --geometry WIDTHxHEIGHT  Run SuperTux in given resolution\n"
             "  -a, --aspect WIDTH:HEIGHT    Run SuperTux with given aspect ratio\n"
+            "  -d, --default                Reset video settings to default values\n"
             "  --disable-sfx                Disable sound effects\n"
             "  --disable-music              Disable music\n"
             "  --help                       Show this help message\n"
@@ -286,6 +287,11 @@ static bool parse_commandline(int argc, char** argv)
       return true;
     } else if(arg == "--fullscreen" || arg == "-f") {
       config->use_fullscreen = true;
+    } else if(arg == "--default" || arg == "-d") {
+      config->use_fullscreen = false;
+      config->aspect_ratio = -1;
+      config->screenwidth = 800;
+      config->screenheight = 600;
     } else if(arg == "--window" || arg == "-w") {
       config->use_fullscreen = false;
     } else if(arg == "--geometry" || arg == "-g") {
@@ -428,15 +434,19 @@ void init_video()
   SDL_WM_SetCaption(PACKAGE_NAME " " PACKAGE_VERSION, 0);
 
   // set icon
-  SDL_Surface* icon = IMG_Load_RW(
-      get_physfs_SDLRWops("images/engine/icons/supertux.xpm"), true);
+  #ifdef MACOSX
+  const char* icon_fname = "images/engine/icons/supertux-256x256.png";
+  #else
+  const char* icon_fname = "images/engine/icons/supertux.xpm";
+  #endif
+  SDL_Surface* icon = IMG_Load_RW(get_physfs_SDLRWops(icon_fname), true);
   if(icon != 0) {
     SDL_WM_SetIcon(icon, 0);
     SDL_FreeSurface(icon);
   }
 #ifdef DEBUG
   else {
-    log_warning << "Couldn't find icon 'images/engine/icons/supertux.xpm'" << std::endl;
+    log_warning << "Couldn't find icon '" << icon_fname << "'" << std::endl;
   }
 #endif