X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fispy.cpp;h=09a7367a0ff057db37c648314a7c40da548f14ae;hb=ae7bd4f460fdd93934fc0abc9589758a49309bda;hp=60fbfc986d1ac60700bbe27d6b45019248f817a9;hpb=87543fa7b2b092c27b17ccb5cef228c3f990b126;p=supertux.git diff --git a/src/object/ispy.cpp b/src/object/ispy.cpp index 60fbfc986..09a7367a0 100644 --- a/src/object/ispy.cpp +++ b/src/object/ispy.cpp @@ -58,8 +58,18 @@ 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); + switch (dir) + { + case DOWN: + writer.write_string("direction", "down"); break; + case LEFT: + writer.write_string("direction", "left"); break; + case RIGHT: + writer.write_string("direction", "right"); break; + default: break; + } writer.end_list("ispy"); - // TODO: does not really write out Ispy } HitResponse @@ -133,10 +143,10 @@ Ispy::free_line_of_sight(Vector line_start, Vector line_end, const MovingObject* for (float test_y = lsy; test_y <= ley; test_y += 16) { for(std::list::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; } } }