- if (frame < surfaces.size())
- surfaces[frame]->draw_part(sx, sy, x - x_hotspot, y - y_hotspot, w, h);
+ if((int)frame >= get_frames() || (int)frame < 0)
+ std::cerr << "Warning: frame out of range: " << (int)frame
+ << "/" << get_frames() << " at sprite: " << get_name()
+ << "/" << get_action_name() << std::endl;
+ else
+ context.draw_surface_part(action->surfaces[(int)frame], source, size,
+ pos - Vector(action->x_offset, action->y_offset), layer + action->z_order,
+ drawing_effect);