X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Fispy.cpp;h=dbdce654152be1c907ad0403e4d2366279bf8bc1;hb=94e58f71029fc074b303ba91f165b1e0ceadcf56;hp=3ff6649d3454a60f2726068ffbd3ebe3aa3245c0;hpb=65a0b6f7ec1123cff959e13e1a4919dc70fe4e85;p=supertux.git diff --git a/src/object/ispy.cpp b/src/object/ispy.cpp index 3ff6649d3..dbdce6541 100644 --- a/src/object/ispy.cpp +++ b/src/object/ispy.cpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux - Ispy // Copyright (C) 2007 Christoph Sommer // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,26 +12,25 @@ // GNU General Public License for more details. // // 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 - -#include "ispy.hpp" -#include "resources.hpp" -#include "sprite/sprite_manager.hpp" -#include "video/drawing_context.hpp" -#include "player.hpp" -#include "object_factory.hpp" -#include "game_session.hpp" -#include "sector.hpp" -#include "tile.hpp" -#include "object/tilemap.hpp" -#include "random_generator.hpp" -#include "object/sprite_particle.hpp" +// along with this program. If not, see . + +#include "object/ispy.hpp" -Ispy::Ispy(const lisp::Lisp& reader) - : MovingSprite(reader, "images/objects/ispy/ispy.sprite", LAYER_TILES+5, COLGROUP_DISABLED), state(ISPYSTATE_IDLE), dir(AUTO) +#include "object/player.hpp" +#include "object/tilemap.hpp" +#include "sprite/sprite.hpp" +#include "supertux/object_factory.hpp" +#include "supertux/sector.hpp" +#include "supertux/tile.hpp" +#include "util/reader.hpp" + +#include + +Ispy::Ispy(const Reader& reader) : + MovingSprite(reader, "images/objects/ispy/ispy.sprite", LAYER_TILES+5, COLGROUP_DISABLED), + state(ISPYSTATE_IDLE), + script(), + dir(AUTO) { // read script to execute reader.get("script", script); @@ -52,26 +49,6 @@ Ispy::Ispy(const lisp::Lisp& reader) sprite->set_action((dir == DOWN) ? "idle-down" : ((dir == LEFT) ? "idle-left" : "idle-right")); } -void -Ispy::write(lisp::Writer& writer) -{ - writer.start_list("ispy"); - writer.write("x", bbox.p1.x); - writer.write("y", bbox.p1.y); - writer.write("script", script); - switch (dir) - { - case DOWN: - writer.write("direction", "down"); break; - case LEFT: - writer.write("direction", "left"); break; - case RIGHT: - writer.write("direction", "right"); break; - default: break; - } - writer.end_list("ispy"); -} - HitResponse Ispy::collision(GameObject& , const CollisionHit& ) { @@ -116,7 +93,7 @@ Ispy::line_intersects_line(Vector line1_start, Vector line1_end, Vector line2_st } bool -Ispy::intersects_line(Rect r, Vector line_start, Vector line_end) +Ispy::intersects_line(Rectf r, Vector line_start, Vector line_end) { Vector p1 = r.p1; Vector p2 = Vector(r.p2.x, r.p1.y); @@ -160,8 +137,8 @@ Ispy::free_line_of_sight(Vector line_start, Vector line_end, const MovingObject* if (moving_object == ignore_object) continue; if (!moving_object->is_valid()) continue; if ((moving_object->get_group() == COLGROUP_MOVING) - || (moving_object->get_group() == COLGROUP_MOVING_STATIC) - || (moving_object->get_group() == COLGROUP_STATIC)) { + || (moving_object->get_group() == COLGROUP_MOVING_STATIC) + || (moving_object->get_group() == COLGROUP_STATIC)) { if(intersects_line(moving_object->get_bbox(), line_start, line_end)) return false; } } @@ -222,6 +199,4 @@ Ispy::update(float ) } } -IMPLEMENT_FACTORY(Ispy, "ispy"); - - +/* EOF */