X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fspecial.cpp;h=227251270a904b90f0e7808280da9dd5e2d205cd;hb=63934f5f4c15f059c9b60499575870ebb7c923a0;hp=e21f2b5cec3cbbf56688c422502cc8039a6c98ef;hpb=46053ca6fbb70a861c529fdfe82417c4641c0214;p=supertux.git diff --git a/src/special.cpp b/src/special.cpp index e21f2b5ce..227251270 100644 --- a/src/special.cpp +++ b/src/special.cpp @@ -1,14 +1,21 @@ +// $Id$ // -// C Implementation: special +// SuperTux - A Jump'n Run +// Copyright (C) 2003 Tobias Glaesser // -// Description: -// -// -// Author: Tobias Glaesser & Bill Kendrick, (C) 2004 -// -// Copyright: See COPYING file that comes with this distribution +// 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 "SDL.h" @@ -20,18 +27,20 @@ #include "scene.h" #include "globals.h" #include "player.h" +#include "sprite_manager.h" #include "resources.h" Surface* img_bullet; -Surface* img_golden_herring; -Surface* img_growup; -Surface* img_iceflower; -Surface* img_1up; + +Sprite* img_star; +Sprite* img_growup; +Sprite* img_iceflower; +Sprite* img_1up; #define GROWUP_SPEED 1.0f void -Bullet::init(float x, float y, float xm, int dir) +Bullet::init(float x, float y, float xm, Direction dir) { base.width = 4; base.height = 4; @@ -115,7 +124,7 @@ Bullet::collision(int c_object) } void -Upgrade::init(float x_, float y_, int dir_, UpgradeKind kind_) +Upgrade::init(float x_, float y_, Direction dir_, UpgradeKind kind_) { kind = kind_; dir = dir_; @@ -237,7 +246,7 @@ Upgrade::draw() else if (kind == UPGRADE_ICEFLOWER) img_iceflower->draw_part(0,0,dest.x,dest.y,dest.w,dest.h); else if (kind == UPGRADE_HERRING) - img_golden_herring->draw_part(0,0,dest.x,dest.y,dest.w,dest.h); + img_star->draw_part(0,0,dest.x,dest.y,dest.w,dest.h); else if (kind == UPGRADE_1UP) img_1up->draw_part( 0, 0, dest.x, dest.y, dest.w, dest.h); } @@ -255,7 +264,7 @@ Upgrade::draw() } else if (kind == UPGRADE_HERRING) { - img_golden_herring->draw( + img_star->draw( base.x - scroll_x, base.y); } else if (kind == UPGRADE_1UP) @@ -324,23 +333,17 @@ Upgrade::collision(void* p_c_object, int c_object) void load_special_gfx() { - img_growup = new Surface(datadir + "/images/shared/egg.png", USE_ALPHA); - img_iceflower = new Surface(datadir + "/images/shared/iceflower.png", - USE_ALPHA); - img_golden_herring = new Surface(datadir + "/images/shared/star.png", USE_ALPHA); - img_1up = new Surface(datadir + "/images/shared/1up.png", - USE_ALPHA); - - img_bullet = new Surface(datadir + "/images/shared/bullet.png", - USE_ALPHA); + img_growup = sprite_manager->load("egg"); + img_iceflower = sprite_manager->load("iceflower"); + img_star = sprite_manager->load("star"); + img_1up = sprite_manager->load("1up"); + + img_bullet = new Surface(datadir + "/images/shared/bullet.png", + USE_ALPHA); } void free_special_gfx() { - delete img_growup; - delete img_iceflower; - delete img_1up; - delete img_golden_herring; - delete img_bullet; + delete img_bullet; }