X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Flight.cpp;h=34ebea85b5a21061ff78567028dc083f747a9ac3;hb=dfaf28adf2756d68091c7e54ab16fcb174dfcc5c;hp=ebd8146aca869047c8c42fe0db0a930387f6c522;hpb=efc61e9d05b077f13a76982590fb0bd6a9d8dc61;p=supertux.git diff --git a/src/object/light.cpp b/src/object/light.cpp index ebd8146ac..34ebea85b 100644 --- a/src/object/light.cpp +++ b/src/object/light.cpp @@ -1,21 +1,33 @@ -#include +// SuperTux +// Copyright (C) 2006 Matthias Braun +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . -#include "light.hpp" +#include "object/light.hpp" +#include "sprite/sprite.hpp" #include "sprite/sprite_manager.hpp" -#include "resources.hpp" -#include "video/drawing_context.hpp" -#include "object_factory.hpp" -#include "player.hpp" -#include "sector.hpp" -Light::Light(const lisp::Lisp& ) +Light::Light(const Vector& center, const Color& color_) : + position(center), + color(color_), + sprite() { - sprite = sprite_manager->create("lightmap_light"); + sprite = SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light.sprite"); } Light::~Light() { - delete sprite; } void @@ -28,10 +40,13 @@ Light::draw(DrawingContext& context) { context.push_target(); context.set_target(DrawingContext::LIGHTMAP); - - sprite->draw(context, Sector::current()->player->get_pos(), 0); - + + sprite->set_color(color); + sprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); + sprite->set_angle(90); // FIXME: color won't get applied for angle=0 + sprite->draw(context, position, 0); + context.pop_target(); } -IMPLEMENT_FACTORY(Light, "light"); +/* EOF */