Turned a lot of other global objects into Currentons
[supertux.git] / src / sprite / sprite_data.hpp
index 85940e2..7a8945e 100644 (file)
 #define HEADER_SUPERTUX_SPRITE_SPRITE_DATA_HPP
 
 #include <map>
+#include <vector>
 
-#include "lisp/lisp.hpp"
+#include "util/reader_fwd.hpp"
 #include "video/surface.hpp"
 
 class SpriteData
 {
 public:
   /** cur has to be a pointer to data in the form of ((hitbox 5 10 0 0) ...) */
-  SpriteData(const lisp::Lisp* cur, const std::string& basedir);
+  SpriteData(const Reader& cur, const std::string& basedir);
   ~SpriteData();
 
   const std::string& get_name() const
@@ -60,14 +61,14 @@ private:
     /** Frames per second */
     float fps;
 
-    std::vector<Surface*> surfaces;
+    std::vector<SurfacePtr> surfaces;
   };
 
   typedef std::map <std::string, Action*> Actions;
 
-  void parse_action(const lisp::Lisp* lispreader, const std::string& basedir);
+  void parse_action(const Reader& lispreader, const std::string& basedir);
   /** Get an action */
-  Action* get_action(std::string act);
+  const Action* get_action(const std::string act);
 
   Actions actions;
   std::string name;