Removed stray code from -nogl branch
[supertux.git] / src / level.cpp
index 8f1885b..f589380 100644 (file)
@@ -30,6 +30,7 @@
 #include <stdexcept>
 
 #include "video/screen.hpp"
+#include "msg.hpp"
 #include "lisp/parser.hpp"
 #include "lisp/lisp.hpp"
 #include "lisp/list_iterator.hpp"
@@ -51,7 +52,7 @@
 using namespace std;
 
 Level::Level()
-  : name("noname"), author("Mr. X")
+  : name("noname"), author("Mr. X"), extro_music("leveldone.ogg"), extro_length(7.0)
 {
 }
 
@@ -79,18 +80,29 @@ Level::load(const std::string& filepath)
       if(token == "version") {
         iter.value()->get(version);
         if(version > 2) {
-          std::cerr << "Warning: level format newer than application.\n";
+          msg_warning("level format newer than application");
         }
       } else if(token == "name") {
         iter.value()->get(name);
       } else if(token == "author") {
         iter.value()->get(author);
+      } else if(token == "extro") {
+        const lisp::Lisp* ext = iter.lisp();
+        lisp::ListIterator ext_iter(ext);
+        while(ext_iter.next()) {
+          const std::string& ext_token = ext_iter.item();
+          if(ext_token == "music") {
+            ext_iter.value()->get(extro_music);
+          } else if(ext_token == "length") {
+            ext_iter.value()->get(extro_length);
+          }
+        }
       } else if(token == "sector") {
         Sector* sector = new Sector;
         sector->parse(*(iter.lisp()));
         add_sector(sector);
       } else {
-        std::cerr << "Unknown token '" << token << "' in level file.\n";
+        msg_warning("Unknown token '" << token << "' in level file");
         continue;
       }
     }