Now the growings animation looks pretty cool :)
[supertux.git] / src / sprite_manager.cpp
index 3a69d6e..e2343a8 100644 (file)
@@ -26,10 +26,25 @@ SpriteManager::SpriteManager(const std::string& filename)
   load_resfile(filename);
 }
 
+SpriteManager::~SpriteManager()
+{
+  for(std::map<std::string, Sprite*>::iterator i = sprites.begin();
+      i != sprites.end(); ++i) {
+    delete i->second;
+  }
+}
+
 void
 SpriteManager::load_resfile(const std::string& filename)
 {
-  lisp_object_t* cur = lisp_read_from_file(filename);
+  lisp_object_t* root_obj = lisp_read_from_file(filename);
+  if (!root_obj)
+    {
+      std::cout << "SpriteManager: Couldn't load: " << filename << std::endl;
+      return;
+    }
+
+  lisp_object_t* cur = root_obj;
 
   if (strcmp(lisp_symbol(lisp_car(cur)), "supertux-resources") != 0)
     return;
@@ -62,6 +77,8 @@ SpriteManager::load_resfile(const std::string& filename)
 
       cur = lisp_cdr(cur);
     }
+
+  lisp_free(root_obj);
 }
 
 Sprite*