- fixed problem with asyncron blinkig bonus block
[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   bool done;
31   
32   st_directory_setup();
33   parseargs(argc, argv);
34   
35   st_audio_setup();
36   st_video_setup();
37   st_joystick_setup();
38   st_general_setup();
39   st_menu();
40   loadshared();
41
42   if (launch_worldmap_mode)
43     {
44       WorldMapNS::WorldMap worldmap;
45       worldmap.display();
46     }
47   else if (level_startup_file)
48     {
49       GameSession session(level_startup_file, 1, ST_GL_LOAD_LEVEL_FILE);
50       session.run();
51     }
52   else
53     {  
54       done = false;
55       while (!done)
56         {
57           done = title();
58         }
59     }
60   
61   clearscreen(0, 0, 0);
62   updatescreen();
63
64   unloadshared();
65   st_shutdown();
66   
67   return 0;
68 }