[Super-tux-commit] supertux/lib/special sprite.cpp,1.20,1.21
Brought to you by:
wkendrick
From: Ricardo C. <rm...@us...> - 2004-08-27 20:34:11
|
Update of /cvsroot/super-tux/supertux/lib/special In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24798/lib/special Modified Files: sprite.cpp Log Message: Added a mask to be applied to a sprite. TODO: put that inside a filter. Index: sprite.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/lib/special/sprite.cpp,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- sprite.cpp 27 Aug 2004 11:20:27 -0000 1.20 +++ sprite.cpp 27 Aug 2004 20:34:01 -0000 1.21 @@ -79,15 +79,32 @@ if(!lispreader.read_string_vector("images", images)) Termination::abort("Sprite contains no images: ", action->name.c_str()); - for(std::vector<std::string>::size_type i = 0; i < images.size(); ++i) + for(std::vector<std::string>::size_type i = 0; i < images.size(); i++) { action->surfaces.push_back( new Surface(datadir + "/images/" + images[i], true)); - } + } + + // TODO: add a top filter entry + std::vector <int> mask_color; + lispreader.read_int_vector("apply-mask", mask_color); + if(mask_color.size() == 4) + { + for(std::vector<Surface*>::iterator i = action->surfaces.begin(); + i < action->surfaces.end(); i++) + { + (*i)->apply_mask(Color(mask_color)); + } + } actions[action->name] = action; } +/*void Sprite::parse_filter(LispReader& lispreader) +{ + +}*/ + void Sprite::init_defaults(Action* act) { |