X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Ffireworks.cpp;h=d3037ea6f65ae95dc6492b18b3524c5ef4246f81;hb=ae7bd4f460fdd93934fc0abc9589758a49309bda;hp=a6ff565f80f4f0a22c1f255c7ae44df246ccc5b4;hpb=1d4f04476ae2c9e1530e48bb8881955d4a9d7238;p=supertux.git diff --git a/src/object/fireworks.cpp b/src/object/fireworks.cpp index a6ff565f8..d3037ea6f 100644 --- a/src/object/fireworks.cpp +++ b/src/object/fireworks.cpp @@ -1,19 +1,38 @@ -#include +// $Id$ +// +// 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. -#include "fireworks.h" -#include "resources.h" -#include "sector.h" -#include "camera.h" -#include "gameobjs.h" -#include "app/globals.h" -#include "video/drawing_context.h" -#include "audio/sound_manager.h" +#include -using namespace SuperTux; +#include "fireworks.hpp" +#include "resources.hpp" +#include "sector.hpp" +#include "camera.hpp" +#include "particles.hpp" +#include "main.hpp" +#include "video/drawing_context.hpp" +#include "audio/sound_manager.hpp" +#include "random_generator.hpp" Fireworks::Fireworks() { - timer.start(.2); + timer.start(.2f); + sound_manager->preload("sounds/fireworks.wav"); } Fireworks::~Fireworks() @@ -21,21 +40,25 @@ Fireworks::~Fireworks() } void -Fireworks::action(float ) +Fireworks::update(float ) { if(timer.check()) { Sector* sector = Sector::current(); Vector pos = sector->camera->get_translation(); - pos += Vector(screen->w * ((float) rand() / RAND_MAX), - screen->h/2 * ((float) rand() / RAND_MAX)); + pos += Vector(systemRandom.randf(SCREEN_WIDTH), + systemRandom.randf(SCREEN_HEIGHT/2)); - int red = rand() % 255; - int green = rand() % red; + float red = systemRandom.randf(1.0); + float green = systemRandom.randf(1.0); + //float red = 0.7; + //float green = 0.9; + (void) red; + (void) green; sector->add_object(new Particles(pos, 0, 360, Vector(140, 140), - Vector(0, 0), 45, Color(red, green, 0), 3, 1.3, + Vector(0, 0), 45, Color(red, green, 0), 3, 1.3f, LAYER_FOREGROUND1+1)); - SoundManager::get()->play_sound(IDToSound(SND_FIREWORKS)); - timer.start(((float) rand() / RAND_MAX) + .5); + sound_manager->play("sounds/fireworks.wav"); + timer.start(systemRandom.randf(1.0, 1.5)); } }