- moved some more level_ stuff into the levelclass
[supertux.git] / src / supertux.cpp
index 44aebe5..73991fe 100644 (file)
   April 11, 2000 - March 15, 2004
 */
 
-
 #include "supertux.h"
 
 
 /* --- MAIN --- */
 
-#ifdef WIN32
-main(int argc, char * argv[])
-#else
 int main(int argc, char * argv[])
-#endif
 {
-  int done;
+  bool done;
   
+  st_directory_setup();
   parseargs(argc, argv);
   
-  st_directory_setup();
   st_audio_setup();
   st_video_setup();
   st_joystick_setup();
   st_general_setup();
   st_menu();
-  
-  done = intro();
-  
-  done = 0;
-  
-  while (!done)
+
+  if (launch_worldmap_mode)
+    {
+      worldmap_run();
+    }
+  else if (level_startup_file)
     {
-      done = title();
+      GameSession session(level_startup_file, 1, ST_GL_LOAD_LEVEL_FILE);
+      session.run();
+    }
+  else
+    {  
+      done = false;
+      while (!done)
+        {
+          done = title();
+        }
     }
   
   clearscreen(0, 0, 0);
   updatescreen();
-  
+
   st_shutdown();
   
-  return(0);
+  return 0;
 }