X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsupertux.cpp;h=ce71bc9920a2732e07485cd809486a0a657a5880;hb=2ec1be264110139466ab70422b8f4fd9c22e5c8c;hp=d43ca9eb221a80a5a6f5eb0af38eefa20f5fdf07;hpb=7bdfe568af536c2379a1c396524990e4463e5261;p=supertux.git diff --git a/src/supertux.cpp b/src/supertux.cpp index d43ca9eb2..ce71bc992 100644 --- a/src/supertux.cpp +++ b/src/supertux.cpp @@ -1,24 +1,41 @@ -/* - supertux.c - - Super Tux - - by Bill Kendrick & Tobias Glaesser - bill@newbreedsoftware.com - http://www.newbreedsoftware.com/supertux/ - - April 11, 2000 - March 15, 2004 -*/ +// $Id$ +// +// SuperTux +// Copyright (C) 2004 Tobias Glaesser +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. -#include "supertux.h" +#include +#include - -/* --- MAIN --- */ +#include "defines.h" +#include "globals.h" +#include "setup.h" +#include "intro.h" +#include "title.h" +#include "gameloop.h" +#include "leveleditor.h" +#include "screen.h" +#include "worldmap.h" +#include "resources.h" +#include "texture.h" +#include "tile.h" int main(int argc, char * argv[]) { - int done; - st_directory_setup(); parseargs(argc, argv); @@ -27,29 +44,32 @@ int main(int argc, char * argv[]) st_joystick_setup(); st_general_setup(); st_menu(); + loadshared(); if (launch_worldmap_mode) { - worldmap_run(); + WorldMapNS::WorldMap worldmap; + worldmap.display(); } else if (level_startup_file) { - gameloop(level_startup_file, 1, ST_GL_LOAD_LEVEL_FILE); + GameSession session(level_startup_file, 1, ST_GL_LOAD_LEVEL_FILE); + session.run(); } else { - done = 0; - - while (!done) - { - done = title(); - } + title(); } clearscreen(0, 0, 0); updatescreen(); + unloadshared(); + TileManager::destroy_instance(); +#ifdef DEBUG + Surface::debug_check(); +#endif st_shutdown(); - return(0); + return 0; }