0e9c7ce1aab1b9b0fa334207c10a7fb5776c5496
[supertux.git] / src / supertux.cpp
1 /*
2   supertux.c
3   
4   Super Tux
5   
6   by Bill Kendrick & Tobias Glaesser <tobi.web@gmx.de>
7   bill@newbreedsoftware.com
8   http://www.newbreedsoftware.com/supertux/
9   
10   April 11, 2000 - March 15, 2004
11 */
12
13
14 #include <sys/types.h>
15 #include <ctype.h>
16
17 #include "defines.h"
18 #include "globals.h"
19 #include "setup.h"
20 #include "intro.h"
21 #include "title.h"
22 #include "gameloop.h"
23 #include "leveleditor.h"
24 #include "screen.h"
25 #include "worldmap.h"
26 #include "resources.h"
27
28 int main(int argc, char * argv[])
29 {
30   st_directory_setup();
31   parseargs(argc, argv);
32   
33   st_audio_setup();
34   st_video_setup();
35   st_joystick_setup();
36   st_general_setup();
37   st_menu();
38   loadshared();
39
40   if (launch_worldmap_mode)
41     {
42       WorldMapNS::WorldMap worldmap;
43       worldmap.display();
44     }
45   else if (level_startup_file)
46     {
47       GameSession session(level_startup_file, 1, ST_GL_LOAD_LEVEL_FILE);
48       session.run();
49     }
50   else
51     {  
52       title();
53     }
54   
55   clearscreen(0, 0, 0);
56   updatescreen();
57
58   unloadshared();
59   st_shutdown();
60   
61   return 0;
62 }