#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
/** Frames per second */
float fps;
- std::vector<Surface*> surfaces;
+ std::vector<SurfacePtr> surfaces;
};
typedef std::map <std::string, Action*> Actions;
- Actions 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;
};