X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fmain.cpp;h=c082224620e5130b7d2520a0c212a1d64c67669f;hb=85b594964cc0fe9ca9d4602a0da978d4862fa080;hp=8bf4657d6e2c664e527531e4a5b31ac7a26a3f62;hpb=924c5fa5b35ade9f90a2b6f21f55ea7630b90f49;p=supertux.git diff --git a/src/main.cpp b/src/main.cpp index 8bf4657d6..c08222462 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -54,6 +54,7 @@ #include "file_system.hpp" #include "physfs/physfs_sdl.hpp" #include "random_generator.hpp" +#include "worldmap/worldmap.hpp" SDL_Surface* screen = 0; JoystickKeyboardController* main_controller = 0; @@ -477,14 +478,20 @@ int main(int argc, char** argv) init_rand(); // play_demo sets seed, record_demo uses it - std::auto_ptr session - (new GameSession(FileSystem::basename(config->start_level))); - if(config->start_demo != "") - session->play_demo(config->start_demo); - - if(config->record_demo != "") - session->record_demo(config->record_demo); - main_loop->push_screen(session.release()); + if(config->start_level.size() > 4 && + config->start_level.compare(config->start_level.size() - 5, 4, ".stwm") == 0) { + main_loop->push_screen(new WorldMapNS::WorldMap(config->start_level)); + } else { + std::auto_ptr session ( + new GameSession(FileSystem::basename(config->start_level))); + + if(config->start_demo != "") + session->play_demo(config->start_demo); + + if(config->record_demo != "") + session->record_demo(config->record_demo); + main_loop->push_screen(session.release()); + } } else { init_rand(); main_loop->push_screen(new TitleScreen());