Getting rid of nasty tabs
[supertux.git] / src / worldmap / worldmap.cpp
index 45310ec..13602da 100644 (file)
@@ -54,6 +54,7 @@
 #include "main.hpp"
 #include "spawn_point.hpp"
 #include "file_system.hpp"
+#include "physfs/physfs_stream.hpp"
 #include "tile_manager.hpp"
 #include "tile_set.hpp"
 #include "gui/menu.hpp"
@@ -302,7 +303,7 @@ WorldMap::load(const std::string& filename)
 
     const lisp::Lisp* sector = level->get_lisp("sector");
     if(!sector)
-      throw std::runtime_error("No sector sepcified in worldmap file.");
+      throw std::runtime_error("No sector specified in worldmap file.");
 
     const lisp::Lisp* tilesets_lisp = level->get_lisp("tilesets");
     if(tilesets_lisp != NULL) {
@@ -510,10 +511,10 @@ WorldMap::finished_level(Level* gamelevel)
     int dirdata = available_directions_at(tux->get_tile_pos());
     // first, test for crossroads
     if (dirdata == Tile::WORLDMAP_CNSE ||
-               dirdata == Tile::WORLDMAP_CNSW ||
-               dirdata == Tile::WORLDMAP_CNEW ||
-               dirdata == Tile::WORLDMAP_CSEW ||
-               dirdata == Tile::WORLDMAP_CNSEW)
+       dirdata == Tile::WORLDMAP_CNSW ||
+       dirdata == Tile::WORLDMAP_CNEW ||
+       dirdata == Tile::WORLDMAP_CSEW ||
+       dirdata == Tile::WORLDMAP_CNSEW)
       dir = D_NONE;
     else if (dirdata & Tile::WORLDMAP_NORTH
         && tux->back_direction != D_NORTH)
@@ -661,8 +662,8 @@ WorldMap::update(float delta)
         || main_controller->pressed(Controller::MENU_SELECT)) {
       /* some people define UP and JUMP on the same key... */
       if(!main_controller->pressed(Controller::UP))
-           enter_level = true;
-       }
+        enter_level = true;
+    }
     if(main_controller->pressed(Controller::PAUSE_MENU))
       on_escape_press();
 
@@ -705,14 +706,14 @@ WorldMap::update(float delta)
         if (level->pos == tux->get_tile_pos()) {
           try {
             Vector shrinkpos = Vector(level->pos.x*32 + 16 - camera_offset.x,
-                                      level->pos.y*32 + 16 - camera_offset.y);
+                                      level->pos.y*32 +  8 - camera_offset.y);
             std::string levelfile = levels_path + level->get_name();
 
             // update state and savegame
             save_state();
 
             main_loop->push_screen(new GameSession(levelfile, &level->statistics),
-                                   new ShrinkFade(shrinkpos, 0.5));
+                                   new ShrinkFade(shrinkpos, 1.0f));
             in_level = true;
           } catch(std::exception& e) {
             log_fatal << "Couldn't load level: " << e.what() << std::endl;
@@ -939,6 +940,15 @@ WorldMap::setup()
     throw SquirrelError(global_vm, "Couldn't set worldmap in roottable");
   sq_pop(global_vm, 1);
 
+  //Run default.nut just before init script
+  try {
+    IFileStream in(levels_path + "/default.nut");
+    run_script(in, "WorldMap::default.nut");
+  } catch(std::exception& ) {
+    // doesn't exist or erroneous; do nothing
+  }
+
+
   if(init_script != "") {
     std::istringstream in(init_script);
     run_script(in, "WorldMap::init");
@@ -1014,13 +1024,13 @@ WorldMap::save_state()
     for(LevelTiles::iterator i = levels.begin(); i != levels.end(); ++i) {
       LevelTile* level = *i;
 
-         sq_pushstring(vm, level->get_name().c_str(), -1);
-         sq_newtable(vm);
+      sq_pushstring(vm, level->get_name().c_str(), -1);
+      sq_newtable(vm);
 
-         store_bool(vm, "solved", level->solved);
-         level->statistics.serialize_to_squirrel(vm);
+        store_bool(vm, "solved", level->solved);
+      level->statistics.serialize_to_squirrel(vm);
 
-         sq_createslot(vm, -3);
+      sq_createslot(vm, -3);
     }
 
     sq_createslot(vm, -3);