X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscene.h;h=b8d55963cbad2fdc1d42f57f9b1250c680f6fade;hb=14f773bc3b4d25bf67f8c780e5279916c2abcafb;hp=9aa05296414b28f9448f9d09b154155cdb69d928;hpb=ec0373a227beda2c2058d9e6fb127d93469960d5;p=supertux.git diff --git a/src/scene.h b/src/scene.h index 9aa052964..b8d55963c 100644 --- a/src/scene.h +++ b/src/scene.h @@ -1,54 +1,50 @@ +// $Id$ // -// C Interface: scene +// SuperTux - A Jump'n Run +// Copyright (C) 2003 Tobias Glaesser // -// Description: -// -// -// Author: Tobias Glaesser , (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. #ifndef SUPERTUX_SCENE_H #define SUPERTUX_SCENE_H -#include "defines.h" -#include "gameloop.h" -#include "player.h" -#include "badguy.h" -#include "world.h" -#include "special.h" -#include "level.h" +#include "video/surface.h" +#include "timer.h" #define FRAME_RATE 10 // 100 Frames per second (10ms) -extern int score, distros, level, next_level, game_pause, quit, score_multiplier, endpos, counting_distros, distro_counter; -extern timer_type super_bkgd_timer; -extern float scroll_x; -extern int frame; -extern std::vector bouncy_distros; -extern std::vector broken_bricks; -extern std::vector bouncy_bricks; -extern std::vector bad_guys; -extern std::vector floating_scores; -extern std::vector upgrades; -extern std::vector bullets; -extern player_type tux; -extern texture_type img_box_full, img_box_empty, img_mints, img_coffee, img_super_bkgd, img_red_glow; -extern timer_type time_left; -extern double frame_ratio; - -void add_score(float x, float y, int s); -void set_defaults(void); -void arrays_init(void); -void arrays_free(void); - -void add_bouncy_distro(float x, float y); -void add_broken_brick(float x, float y); -void add_broken_brick_piece(float x, float y, float xm, float ym); -void add_bouncy_brick(float x, float y); -void add_bad_guy(float x, float y, int kind); -void add_upgrade(float x, float y, int dir, int kind); -void add_bullet(float x, float y, float xm, int dir); + +// Player stats +struct PlayerStatus +{ + int distros; + int lives; + enum BonusType { NO_BONUS, GROWUP_BONUS, FLOWER_BONUS }; + BonusType bonus; + + int score_multiplier; + int max_score_multiplier; + + PlayerStatus(); + void reset(); + void incLives(); + void incCoins(); +}; + +std::string bonus_to_string(PlayerStatus::BonusType b); +PlayerStatus::BonusType string_to_bonus(const std::string& str); + +extern PlayerStatus player_status; #endif /*SUPERTUX_SCENE_H*/