X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscripting%2Ffunctions.cpp;h=6c84d30027eca592fe27f536b4719ead2737b60d;hb=0b73428a8a9e9563cb196e4b13167de3ec5f6b02;hp=245feac382fe7db55025900b36cb6f5227dfffdc;hpb=4368db3bf92809c1b7751bb3ce6efeae15b329c4;p=supertux.git diff --git a/src/scripting/functions.cpp b/src/scripting/functions.cpp index 245feac38..6c84d3002 100644 --- a/src/scripting/functions.cpp +++ b/src/scripting/functions.cpp @@ -36,9 +36,7 @@ #include "scripting/squirrel_util.hpp" #include "scripting/time_scheduler.hpp" -extern float g_game_speed; - -namespace Scripting { +namespace scripting { SQInteger display(HSQUIRRELVM vm) { @@ -89,7 +87,7 @@ void abort_screenfade() std::string translate(const std::string& text) { - return dictionary_manager.get_dictionary().translate(text); + return dictionary_manager->get_dictionary().translate(text); } void display_text_file(const std::string& filename) @@ -99,24 +97,20 @@ void display_text_file(const std::string& filename) void load_worldmap(const std::string& filename) { - using namespace WorldMapNS; + using namespace worldmap; - g_screen_manager->push_screen(new WorldMap(filename)); -} + if(World::current() == NULL) + throw std::runtime_error("Can't start WorldMap without active world."); -void load_level(const std::string& filename) -{ - g_screen_manager->push_screen(new GameSession(filename)); + g_screen_manager->push_screen(new WorldMap(filename, World::current()->get_player_status())); } -static SQInteger squirrel_read_char(SQUserPointer file) +void load_level(const std::string& filename) { - std::istream* in = reinterpret_cast (file); - char c = in->get(); - if(in->eof()) - return 0; + if(GameSession::current() == NULL) + throw std::runtime_error("Can't start level without active level."); - return c; + g_screen_manager->push_screen(new GameSession(filename, GameSession::current()->get_player_status())); } void import(HSQUIRRELVM vm, const std::string& filename) @@ -152,7 +146,7 @@ void debug_draw_solids_only(bool enable) void debug_worldmap_ghost(bool enable) { - using namespace WorldMapNS; + using namespace worldmap; if(WorldMap::current() == NULL) throw std::runtime_error("Can't change ghost mode without active WorldMap"); @@ -162,7 +156,7 @@ void debug_worldmap_ghost(bool enable) void save_state() { - using namespace WorldMapNS; + using namespace worldmap; if(World::current() == NULL || WorldMap::current() == NULL) throw std::runtime_error("Can't save state without active World"); @@ -173,7 +167,7 @@ void save_state() void update_worldmap() { - using namespace WorldMapNS; + using namespace worldmap; if(WorldMap::current() == NULL) throw std::runtime_error("Can't update Worldmap: none active"); @@ -212,7 +206,7 @@ void play_sound(const std::string& filename) void grease() { if (!validate_sector_player()) return; - ::Player* tux = Sector::current()->player; // Scripting::Player != ::Player + ::Player* tux = Sector::current()->player; // scripting::Player != ::Player tux->get_physic().set_velocity_x(tux->get_physic().get_velocity_x()*3); }