// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
#include <config.h>
+
#include <stdexcept>
#include "moving_sprite.hpp"
}
MovingSprite::MovingSprite(const lisp::Lisp& reader, const Vector& pos, int layer, CollisionGroup collision_group)
- : MovingObject(reader), layer(layer)
+ : layer(layer)
{
bbox.set_pos(pos);
- if (!reader.get("sprite", sprite_name)) throw std::runtime_error("no sprite name set");
+ if (!reader.get("sprite", sprite_name))
+ throw std::runtime_error("no sprite name set");
+
sprite = sprite_manager->create(sprite_name);
bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height());
set_group(collision_group);
}
MovingSprite::MovingSprite(const lisp::Lisp& reader, const std::string& sprite_name, int layer, CollisionGroup collision_group)
- : MovingObject(reader), sprite_name(sprite_name), layer(layer)
+ : sprite_name(sprite_name), layer(layer)
{
- if (!reader.get("x", bbox.p1.x)) throw std::runtime_error("no x position set");
- if (!reader.get("y", bbox.p1.y)) throw std::runtime_error("no y position set");
+ if (!reader.get("x", bbox.p1.x))
+ throw std::runtime_error("no x position set");
+ if (!reader.get("y", bbox.p1.y))
+ throw std::runtime_error("no y position set");
+
sprite = sprite_manager->create(sprite_name);
bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height());
set_group(collision_group);
}
MovingSprite::MovingSprite(const lisp::Lisp& reader, int layer, CollisionGroup collision_group)
- : MovingObject(reader), layer(layer)
+ : layer(layer)
{
- if (!reader.get("x", bbox.p1.x)) throw std::runtime_error("no x position set");
- if (!reader.get("y", bbox.p1.y)) throw std::runtime_error("no y position set");
- if (!reader.get("sprite", sprite_name)) throw std::runtime_error("no sprite name set");
+ if (!reader.get("x", bbox.p1.x))
+ throw std::runtime_error("no x position set");
+ if (!reader.get("y", bbox.p1.y))
+ throw std::runtime_error("no y position set");
+ if (!reader.get("sprite", sprite_name))
+ throw std::runtime_error("no sprite name set");
+
sprite = sprite_manager->create(sprite_name);
bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height());
set_group(collision_group);
MovingSprite&
MovingSprite::operator=(const MovingSprite& other)
{
- if (this == &other) return *this;
+ if (this == &other)
+ return *this;
delete sprite;
sprite = new Sprite(*other.sprite);