more smaller fixes
authorMatthias Braun <matze@braunis.de>
Fri, 7 Apr 2006 14:12:29 +0000 (14:12 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 7 Apr 2006 14:12:29 +0000 (14:12 +0000)
SVN-Revision: 3263

data/levels/world1/de.po
data/locale/de.po
src/game_session.cpp
src/scripting/functions.cpp
src/scripting/functions.hpp
src/worldmap.cpp

index 6ce9dc6..271d7b0 100644 (file)
@@ -60,7 +60,7 @@ msgstr ""
 "#hast keine Chance! -Nolok\"\n"
 "\n"
 "#Tux blickte auf und sah Noloks Festung in\n"
-"#der Ferne. Fest entschlossen seine gelibte\n"
+"#der Ferne. Fest entschlossen seine geliebte\n"
 "#Penny zu retten machte er sich auf den Weg."
 
 #: basest/levels/world1/worldmap.stwm:4
index eb1b48d..8beef1c 100644 (file)
@@ -315,14 +315,14 @@ msgstr "OpenGL (nicht vorhanden)"
 
 #: src/misc.cpp:111
 msgid "Fullscreen"
-msgstr "Ganzer Bildschirm"
+msgstr "Vollbild"
 
 #: src/misc.cpp:114 src/misc.cpp:119
-msgid "Sound     "
+msgid "Sound"
 msgstr "Sound"
 
 #: src/misc.cpp:115 src/misc.cpp:120
-msgid "Music     "
+msgid "Music"
 msgstr "Musik"
 
 #: src/misc.cpp:122
index 7269678..5a8ad88 100644 (file)
@@ -394,13 +394,6 @@ GameSession::consoleCommand(std::string command)
     msg_info("You are at x " << tux.get_pos().x << ", y " << tux.get_pos().y);
     return true;
   }
-#if 0
-  if(command == "grid")) {
-    // toggle debug grid
-    debug_grid = !debug_grid;
-    return true;
-  }
-#endif
   if (command == "gotoend") {
     // goes to the end of the level
     tux.move(Vector(
@@ -410,15 +403,12 @@ GameSession::consoleCommand(std::string command)
     return true;
   }
   if (command == "flip") {
-       FlipLevelTransformer flip_transformer;
+    FlipLevelTransformer flip_transformer;
     flip_transformer.transform(GameSession::current()->get_current_level());
     return true;
   }
   if (command == "finish") {
-    if(WorldMap::current() != NULL) {
-      WorldMap::current()->finished_level(levelfile);
-    }
-
+    finish(true);
     return true;
   }
   if (command == "camera") {
index 050ec72..30afc98 100644 (file)
@@ -27,7 +27,7 @@ std::string translate(const std::string& text)
 void display_text_file(const std::string& filename)
 {
   std::string file 
-    = ScriptInterpreter::current()->get_working_directory() + filename;
+      = ScriptInterpreter::current()->get_working_directory() + filename;
   main_loop->push_screen(new TextScroller(file));
 }
 
index ba0d36a..7321c79 100644 (file)
@@ -18,18 +18,22 @@ static const int KEY_GOLD   = 0x010;
 
 /** displays a text file and scrolls it over the screen */
 void display_text_file(const std::string& filename);
+
 /**
  * Suspends the script execution for the specified number of seconds
  */
 void wait(float seconds) __suspend;
+
 /** translates a give text into the users language (by looking it up in the .po
  * files)
  */
 std::string translate(const std::string& text);
+
 /** load a script file and executes it 
  * This is typically used to import functions from external files.
  */
 void import(HSQUIRRELVM v, const std::string& filename);
+
 /** add a key to the inventory
  */
 void add_key(int new_key);
index 26fb7be..d1ba816 100644 (file)
@@ -45,6 +45,7 @@
 #include "worldmap.hpp"
 #include "resources.hpp"
 #include "misc.hpp"
+#include "msg.hpp"
 #include "player_status.hpp"
 #include "textscroller.hpp"
 #include "main.hpp"
@@ -440,6 +441,8 @@ WorldMap::load_map()
         parse_level_tile(iter.lisp());
       } else if(iter.item() == "special-tile") {
         parse_special_tile(iter.lisp());
+      } else if(iter.item() == "name") {
+        // skip
       } else {
         msg_warning("Unknown token '" << iter.item() << "' in worldmap");
       }
@@ -722,6 +725,26 @@ WorldMap::finished_level(const std::string& filename)
       tux->set_direction(dir);
     }
   }
+
+  if (level->extro_script != "") {
+    try {
+      std::auto_ptr<ScriptInterpreter> interpreter
+        (new ScriptInterpreter(levels_path));
+      std::istringstream in(level->extro_script);
+      interpreter->run_script(in, "level-extro-script");
+      add_object(interpreter.release());
+    } catch(std::exception& e) {
+      msg_fatal("Couldn't run level-extro-script:" << e.what());
+    }
+  }
+  
+  if (!level->next_worldmap.empty()) {
+    // Load given worldmap
+    loadmap(level->next_worldmap);
+  }
+  
+  if (level->quit_worldmap)
+    main_loop->exit_screen();
 }
 
 void
@@ -808,7 +831,6 @@ WorldMap::update(float delta)
         }
 
       /* Check level action */
-      bool level_finished = true;
       Level* level = at_level();
       if (!level) {
         msg_warning("No level to enter at: "
@@ -816,40 +838,20 @@ WorldMap::update(float delta)
         return;
       }
 
-      if (level->pos == tux->get_tile_pos())
-        {
-          // do a shriking fade to the level
-          shrink_fade(Vector((level->pos.x*32 + 16 + offset.x),
-                             (level->pos.y*32 + 16 + offset.y)), 500);
+      if (level->pos == tux->get_tile_pos()) {
+        // do a shriking fade to the level
+        shrink_fade(Vector((level->pos.x*32 + 16 + offset.x),
+                           (level->pos.y*32 + 16 + offset.y)), 500);
 
+        try {
           GameSession *session =
-              new GameSession(levels_path + level->name,
-                              ST_GL_LOAD_LEVEL_FILE, &level->statistics);
+            new GameSession(levels_path + level->name,
+                ST_GL_LOAD_LEVEL_FILE, &level->statistics);
           main_loop->push_screen(session);
+        } catch(std::exception& e) {
+          msg_fatal("Couldn't load level: " << e.what());
         }
-      /* The porpose of the next checking is that if the player lost
-         the level (in case there is one), don't show anything */
-      if(level_finished) {
-        if (level->extro_script != "") {
-          try {
-            std::auto_ptr<ScriptInterpreter> interpreter 
-              (new ScriptInterpreter(levels_path));
-            std::istringstream in(level->extro_script);
-            interpreter->run_script(in, "level-extro-script");
-            add_object(interpreter.release());
-          } catch(std::exception& e) {
-            msg_warning("Couldn't run level-extro-script:" << e.what());
-          }
-        }
-
-        if (!level->next_worldmap.empty())
-          {
-          // Load given worldmap
-          loadmap(level->next_worldmap);
-          }
-        if (level->quit_worldmap)
-          main_loop->exit_screen();
-        }
+      }
     }
   else
     {