X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fsnowball.cpp;h=22dce8e8fb6071a2117f622a6d88db9a13e26a73;hb=0222881aae90660c925ea2733cd8c80be7ac837b;hp=357c15200900197cb91b220358ec6d4b0fdd069d;hpb=ff3f2e3e93b2af69c0f686f8f636ba0d66c67f73;p=supertux.git diff --git a/src/badguy/snowball.cpp b/src/badguy/snowball.cpp index 357c15200..22dce8e8f 100644 --- a/src/badguy/snowball.cpp +++ b/src/badguy/snowball.cpp @@ -24,27 +24,19 @@ static const float WALKSPEED = 80; SnowBall::SnowBall(const lisp::Lisp& reader) + : BadGuy(reader, "images/creatures/snowball/snowball.sprite") { - reader.get("x", start_position.x); - reader.get("y", start_position.y); - //This is for a hidden badguy :) - fluffy = false; - reader.get("fluffy",fluffy); - stay_on_platform = false; - reader.get("stay-on-platform", stay_on_platform); - bbox.set_size(31.8, 31.8); - if (fluffy) sprite = sprite_manager->create("images/creatures/fluffy/fluffy.sprite"); - else sprite = sprite_manager->create("images/creatures/snowball/snowball.sprite"); set_direction = false; + reader.get("direction", direction); + if( direction != "auto" && direction != ""){ + set_direction = true; + initial_direction = str2dir( direction ); + } } -SnowBall::SnowBall(float pos_x, float pos_y, Direction d, bool stay_on_plat = false) +SnowBall::SnowBall(const Vector& pos, Direction d) + : BadGuy(pos, "images/creatures/snowball/snowball.sprite") { - start_position.x = pos_x; - start_position.y = pos_y; - stay_on_platform = stay_on_plat; - bbox.set_size(31.8, 31.8); - sprite = sprite_manager->create("images/creatures/snowball/snowball.sprite"); set_direction = true; initial_direction = d; } @@ -54,16 +46,14 @@ SnowBall::write(lisp::Writer& writer) { writer.start_list("snowball"); + writer.write_string("direction", direction); writer.write_float("x", start_position.x); writer.write_float("y", start_position.y); - + /* if (fluffy) { // don't give us away at every snowball writer.write_bool("fluffy", true); } - - if (stay_on_platform) - writer.write_bool("stay-on-platform", true); - + */ writer.end_list("snowball"); } @@ -75,17 +65,6 @@ SnowBall::activate() sprite->set_action(dir == LEFT ? "left" : "right"); } -void -SnowBall::active_update(float elapsed_time) -{ - if (stay_on_platform && may_fall_off_platform()) - { - dir = (dir == LEFT ? RIGHT : LEFT); - sprite->set_action(dir == LEFT ? "left" : "right"); - physic.set_velocity_x(-physic.get_velocity_x()); - } -} - bool SnowBall::collision_squished(Player& player) {