+ ScreenManager::current()->push_screen(std::unique_ptr<Screen>(new TextScroller(filename)));
+}
+
+void load_worldmap(const std::string& filename)
+{
+ using namespace worldmap;
+
+ if (!WorldMap::current())
+ {
+ throw std::runtime_error("Can't start Worldmap without active WorldMap");
+ }
+ else
+ {
+ ScreenManager::current()->push_screen(std::unique_ptr<Screen>(new WorldMap(filename, WorldMap::current()->get_savegame())));
+ }
+}
+
+void load_level(const std::string& filename)
+{
+ if (!GameSession::current())
+ {
+ throw std::runtime_error("Can't start level without active level.");
+ }
+ else
+ {
+ ScreenManager::current()->push_screen(std::unique_ptr<Screen>(new GameSession(filename, GameSession::current()->get_savegame())));
+ }