From 3e1eec1572f3c06cb73682e9dee8061da16aa476 Mon Sep 17 00:00:00 2001 From: LMH Date: Mon, 8 Apr 2013 21:10:03 -1000 Subject: [PATCH] Added glow and ice vulnerability to flame --- data/images/creatures/flame/flame-fade-0.png | Bin 0 -> 5117 bytes data/images/creatures/flame/flame-fade-1.png | Bin 0 -> 5079 bytes data/images/creatures/flame/flame-fade-2.png | Bin 0 -> 4800 bytes data/images/creatures/flame/flame-fade-3.png | Bin 0 -> 4712 bytes data/images/creatures/flame/flame.sprite | 9 +++++ src/badguy/flame.cpp | 53 +++++++++++++++++++++++++++ src/badguy/flame.hpp | 7 ++++ 7 files changed, 69 insertions(+) create mode 100644 data/images/creatures/flame/flame-fade-0.png create mode 100644 data/images/creatures/flame/flame-fade-1.png create mode 100644 data/images/creatures/flame/flame-fade-2.png create mode 100644 data/images/creatures/flame/flame-fade-3.png diff --git a/data/images/creatures/flame/flame-fade-0.png b/data/images/creatures/flame/flame-fade-0.png new file mode 100644 index 0000000000000000000000000000000000000000..55be7eb8d372d2294283822600650b057d9305e6 GIT binary patch literal 5117 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 #include "audio/sound_manager.hpp" +#include "math/random_generator.hpp" +#include "sprite/sprite.hpp" +#include "sprite/sprite_manager.hpp" +#include "object/sprite_particle.hpp" #include "supertux/object_factory.hpp" +#include "supertux/sector.hpp" #include "util/reader.hpp" static const std::string FLAME_SOUND = "sounds/flame.wav"; @@ -29,6 +34,9 @@ Flame::Flame(const Reader& reader) : angle(0), radius(100), speed(2), + fading(true), + light(0.0f,0.0f,0.0f), + lightsprite(sprite_manager->create("images/objects/lightmap_light/lightmap_light-tiny.sprite")), sound_source() { reader.get("radius", radius); @@ -39,6 +47,9 @@ Flame::Flame(const Reader& reader) : sound_manager->preload(FLAME_SOUND); set_colgroup_active(COLGROUP_TOUCHABLE); + + lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); + lightsprite->set_color(Color(0.21f, 0.13f, 0.08f)); } void @@ -50,6 +61,26 @@ Flame::active_update(float elapsed_time) movement = newpos - get_pos(); sound_source->set_position(get_pos()); + + if(fading) + if (sprite->animation_done()) remove_me(); +} + +void +Flame::draw(DrawingContext& context) +{ + //Draw the Sprite. + sprite->draw(context, get_pos(), LAYER_OBJECTS); + //Draw the light if dark + if(true){ + context.get_light( get_bbox().get_middle(), &light ); + if (light.red + light.green < 2.0){ + context.push_target(); + context.set_target(DrawingContext::LIGHTMAP); + lightsprite->draw(context, get_bbox().get_middle(), 0); + context.pop_target(); + } + } } void @@ -69,9 +100,31 @@ Flame::deactivate() sound_source.reset(); } + void Flame::kill_fall() { } +void +Flame::freeze() +{ + sound_manager->play("sounds/fizz.wav", get_pos()); + sprite->set_action("fade", 1); + Vector ppos = bbox.get_middle(); + Vector pspeed = Vector(0, -150); + Vector paccel = Vector(0,0); + Sector::current()->add_object(new SpriteParticle("images/objects/particles/smoke.sprite", "default", ppos, ANCHOR_MIDDLE, pspeed, paccel, LAYER_BACKGROUNDTILES+2)); + fading = true; + + // start dead-script + run_dead_script(); +} + +bool +Flame::is_freezable() const +{ + return true; +} + /* EOF */ diff --git a/src/badguy/flame.hpp b/src/badguy/flame.hpp index bc04b7e9c..4e5abd032 100644 --- a/src/badguy/flame.hpp +++ b/src/badguy/flame.hpp @@ -31,12 +31,19 @@ public: void deactivate(); void active_update(float elapsed_time); + void draw(DrawingContext& context); void kill_fall(); + void freeze(); + bool is_freezable() const; + private: float angle; float radius; float speed; + bool fading; + Color light; + SpritePtr lightsprite; std::auto_ptr sound_source; }; -- 2.11.0