#include <config.h>
#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"
+#include "lisp/writer.hpp"
+#include "sprite/sprite.hpp"
Ispy::Ispy(const lisp::Lisp& reader)
: MovingSprite(reader, "images/objects/ispy/ispy.sprite", LAYER_TILES+5, COLGROUP_DISABLED), state(ISPYSTATE_IDLE), dir(AUTO)
Ispy::write(lisp::Writer& writer)
{
writer.start_list("ispy");
- writer.write_float("x", bbox.p1.x);
- writer.write_float("y", bbox.p1.y);
- writer.write_string("script", script);
+ writer.write("x", bbox.p1.x);
+ writer.write("y", bbox.p1.y);
+ writer.write("script", script);
switch (dir)
{
case DOWN:
- writer.write_string("direction", "down"); break;
+ writer.write("direction", "down"); break;
case LEFT:
- writer.write_string("direction", "left"); break;
+ writer.write("direction", "left"); break;
case RIGHT:
- writer.write_string("direction", "right"); break;
+ writer.write("direction", "right"); break;
default: break;
}
writer.end_list("ispy");
for (float test_y = lsy; test_y <= ley; test_y += 16) {
for(std::list<TileMap*>::const_iterator i = solid_tilemaps.begin(); i != solid_tilemaps.end(); i++) {
TileMap* solids = *i;
- const Tile* tile = solids->get_tile_at(Vector(test_x, test_y));
- if(!tile) continue;
+ const Tile* tile = solids->get_tile_at(Vector(test_x, test_y));
+ if(!tile) continue;
// FIXME: check collision with slope tiles
- if((tile->getAttributes() & Tile::SOLID)) return false;
+ if((tile->getAttributes() & Tile::SOLID)) return false;
}
}
}