X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Fdecal.cpp;h=3a985a270c4dbc24a99c451198d0708419f1d68f;hb=dfaf28adf2756d68091c7e54ab16fcb174dfcc5c;hp=67d5011abb550e1cedb58e46f9f022d6b0545e2f;hpb=e8a684e712e925673c54111d0f5da21c5bd62813;p=supertux.git diff --git a/src/object/decal.cpp b/src/object/decal.cpp index 67d5011ab..3a985a270 100644 --- a/src/object/decal.cpp +++ b/src/object/decal.cpp @@ -19,39 +19,21 @@ #include "util/reader.hpp" Decal::Decal(const Reader& reader) : - pos(), - imagefile(), - layer(LAYER_OBJECTS), - image() + MovingSprite(reader, LAYER_OBJECTS, COLGROUP_DISABLED) { - float px = 0; - float py = 0; - reader.get("x", px); - reader.get("y", py); - pos = Vector(px, py); - - if(!reader.get("image", imagefile)) throw std::runtime_error("Must specify image for decal"); - image = Surface::create(imagefile); - - reader.get("layer", layer); + layer = reader_get_layer (reader, /* default = */ LAYER_OBJECTS); + + bool solid = false; + reader.get("solid", solid); + if(solid) + set_group(COLGROUP_STATIC); + std::string action; + if(reader.get("action", action)) + set_action(action, -1); } Decal::~Decal() { } -void -Decal::update(float) -{ -} - -void -Decal::draw(DrawingContext& context) -{ - if(!image.get()) return; - context.draw_surface(image.get(), pos, layer); -} - -IMPLEMENT_FACTORY(Decal, "decal"); - /* EOF */