From 20a94a721fdee25587d1698ff8cfd6d014b590f1 Mon Sep 17 00:00:00 2001 From: Ingo Ruhnke Date: Mon, 3 Jul 2006 04:18:08 +0000 Subject: [PATCH] - added spotlight (not working, since rotation and blend modes are missing from Sprite) SVN-Revision: 3847 --- data/images/objects/spotlight/lightcone.png | Bin 0 -> 16732 bytes data/images/objects/spotlight/lightcone.sprite | 6 ++ data/images/objects/spotlight/spotlight_base.png | Bin 0 -> 16639 bytes .../images/objects/spotlight/spotlight_base.sprite | 6 ++ data/images/objects/spotlight/spotlight_center.png | Bin 0 -> 16639 bytes .../objects/spotlight/spotlight_center.sprite | 6 ++ data/images/objects/spotlight/spotlight_lights.png | Bin 0 -> 16639 bytes .../objects/spotlight/spotlight_lights.sprite | 6 ++ src/object/spotlight.cpp | 70 +++++++++++++++++++++ src/object/spotlight.hpp | 45 +++++++++++++ 10 files changed, 139 insertions(+) create mode 100644 data/images/objects/spotlight/lightcone.png create mode 100644 data/images/objects/spotlight/lightcone.sprite create mode 100644 data/images/objects/spotlight/spotlight_base.png create mode 100644 data/images/objects/spotlight/spotlight_base.sprite create mode 100644 data/images/objects/spotlight/spotlight_center.png create mode 100644 data/images/objects/spotlight/spotlight_center.sprite create mode 100644 data/images/objects/spotlight/spotlight_lights.png create mode 100644 data/images/objects/spotlight/spotlight_lights.sprite create mode 100644 src/object/spotlight.cpp create mode 100644 src/object/spotlight.hpp diff --git a/data/images/objects/spotlight/lightcone.png b/data/images/objects/spotlight/lightcone.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7e89d52ef5220dc8ccff919ac7cd6b24155821 GIT binary patch literal 16732 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

Tx7 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

961nD~jv(im-g{&A+x^%8KH;y(BpO>-`n1 zD6ZRe!|C732fm`XZr2E=e|sPCisHIm4pYB=cxn6p?MA)_w%R7^00000NkvXXu0mjf DQrb0@ literal 0 HcmV?d00001 diff --git a/data/images/objects/spotlight/lightcone.sprite b/data/images/objects/spotlight/lightcone.sprite new file mode 100644 index 000000000..f38f20867 --- /dev/null +++ b/data/images/objects/spotlight/lightcone.sprite @@ -0,0 +1,6 @@ +(supertux-sprite + (action + (name "default") + (images "lightcone.png") + ) +) diff --git a/data/images/objects/spotlight/spotlight_base.png b/data/images/objects/spotlight/spotlight_base.png new file mode 100644 index 0000000000000000000000000000000000000000..08905a019c0ef186232d8e4a6c8621feebe9bba5 GIT binary patch literal 16639 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 literal 0 HcmV?d00001 diff --git a/data/images/objects/spotlight/spotlight_center.sprite b/data/images/objects/spotlight/spotlight_center.sprite new file mode 100644 index 000000000..996fd4446 --- /dev/null +++ b/data/images/objects/spotlight/spotlight_center.sprite @@ -0,0 +1,6 @@ +(supertux-sprite + (action + (name "default") + (images "spotlight_center.png") + ) +) diff --git a/data/images/objects/spotlight/spotlight_lights.png b/data/images/objects/spotlight/spotlight_lights.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e63710b4f14dbbfbd18ef82a19432bd9bdab0b GIT binary patch literal 16639 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 literal 0 HcmV?d00001 diff --git a/data/images/objects/spotlight/spotlight_lights.sprite b/data/images/objects/spotlight/spotlight_lights.sprite new file mode 100644 index 000000000..3ba02bbd8 --- /dev/null +++ b/data/images/objects/spotlight/spotlight_lights.sprite @@ -0,0 +1,6 @@ +(supertux-sprite + (action + (name "default") + (images "spotlight_lights.png") + ) +) diff --git a/src/object/spotlight.cpp b/src/object/spotlight.cpp new file mode 100644 index 000000000..5778b9e94 --- /dev/null +++ b/src/object/spotlight.cpp @@ -0,0 +1,70 @@ +// $Id: light.cpp 3327 2006-04-13 15:02:40Z ravu_al_hemio $ +// +// SuperTux +// Copyright (C) 2006 Ingo Ruhnke +// +// 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 2 +// 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, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#include + +#include "spotlight.hpp" +#include "sprite/sprite_manager.hpp" +#include "resources.hpp" +#include "video/drawing_context.hpp" +#include "object_factory.hpp" +#include "player.hpp" +#include "sector.hpp" + +Spotlight::Spotlight(const lisp::Lisp& ) +{ + center = sprite_manager->create("images/objects/spotlight/spotlight_center.sprite"); + base = sprite_manager->create("images/objects/spotlight/spotlight_base.sprite"); + lights = sprite_manager->create("images/objects/spotlight/spotlight_lights.sprite"); + lightcone = sprite_manager->create("images/objects/spotlight/lightcone.sprite"); +} + +Spotlight::~Spotlight() +{ + delete center; + delete base; + delete lights; + delete lightcone; +} + +void +Spotlight::update(float ) +{ + // FIXME: add rotation code +} + +void +Spotlight::draw(DrawingContext& context) +{ + context.push_target(); + context.set_target(DrawingContext::LIGHTMAP); + + Vector pos(100, 300); + lightcone->draw(context, pos, 0); + // rotate this one 180 degree + lightcone->draw(context, pos, 0); + + context.set_target(DrawingContext::NORMAL); + base->draw(context, pos, 0); + center->draw(context, pos, 0); + + context.pop_target(); +} + +IMPLEMENT_FACTORY(Spotlight, "spotlight"); diff --git a/src/object/spotlight.hpp b/src/object/spotlight.hpp new file mode 100644 index 000000000..4948fb674 --- /dev/null +++ b/src/object/spotlight.hpp @@ -0,0 +1,45 @@ +// $Id: light.hpp 3327 2006-04-13 15:02:40Z ravu_al_hemio $ +// +// 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 2 +// 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, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#ifndef __SPOTLIGHT_HPP__ +#define __SPOTLIGHT_HPP__ + +#include "game_object.hpp" +#include "lisp/lisp.hpp" + +class Sprite; + +class Spotlight : public GameObject +{ +public: + Spotlight(const lisp::Lisp& reader); + virtual ~Spotlight(); + + void update(float elapsed_time); + void draw(DrawingContext& context); + +private: + Sprite* center; + Sprite* base; + Sprite* lights; + Sprite* lightcone; +}; + +#endif + -- 2.11.0