+ action->mirror = false;
+ std::string mirror_action;
+ lispreader.read_string("mirror-action", mirror_action);
+ if(!mirror_action.empty())
+ {
+ action->mirror = true;
+ Action* act_tmp = get_action(mirror_action);
+ if(act_tmp == NULL)
+ std::cerr << "Warning: Could not mirror action. Action not found\n"
+ "Mirror actions must be defined after the real one!\n";
+ else
+ action->surfaces = act_tmp->surfaces;
+ }
+
+ // Load images
+ if(!action->mirror)
+ {
+ std::vector<std::string> images;
+ if(!lispreader.read_string_vector("images", images))
+ Termination::abort("Sprite contains no images: ", action->name);
+
+ for(std::vector<std::string>::size_type i = 0; i < images.size(); i++)
+ {
+ action->surfaces.push_back(
+ new Surface(datadir + "/images/" + images[i], true));
+ }
+ }