X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsector.cpp;h=4972ecc0d1d41af77b430d725822a5709d1cf557;hb=576d79481d0cec9dd441b9b235a01da63584d137;hp=ce8e7e9d41cd021bf412a4cb24bb4d795aef8aee;hpb=09dfa613ae4493d2041ed155c27c139bccf803ae;p=supertux.git diff --git a/src/sector.cpp b/src/sector.cpp index ce8e7e9d4..4972ecc0d 100644 --- a/src/sector.cpp +++ b/src/sector.cpp @@ -288,6 +288,38 @@ Sector::write(LispWriter& writer) } void +Sector::do_vertical_flip() +{ + for(GameObjects::iterator i = gameobjects_new.begin(); i != gameobjects_new.end(); ++i) + { + TileMap* tilemap = dynamic_cast (*i); + if(tilemap) + { + tilemap->do_vertical_flip(); + } + + BadGuy* badguy = dynamic_cast (*i); + if(badguy) + badguy->start_position.y = solids->get_height()*32 - badguy->start_position.y - 32; + Trampoline* trampoline = dynamic_cast (*i); + if(trampoline) + trampoline->base.y = solids->get_height()*32 - trampoline->base.y - 32; + FlyingPlatform* flying_platform = dynamic_cast (*i); + if(flying_platform) + flying_platform->base.y = solids->get_height()*32 - flying_platform->base.y - 32; + Door* door = dynamic_cast (*i); + if(door) + door->set_area(door->get_area().x, solids->get_height()*32 - door->get_area().y - 32); + } + + for(SpawnPoints::iterator i = spawnpoints.begin(); i != spawnpoints.end(); + ++i) { + SpawnPoint* spawn = *i; + spawn->pos.y = solids->get_height()*32 - spawn->pos.y - 32; + } +} + +void Sector::add_object(GameObject* object) { gameobjects_new.push_back(object);