-extern int score;
-extern int distros;
-extern int level;
-extern int next_level;
-extern int game_pause;
-extern int score_multiplier;
-extern int endpos;
-extern bool counting_distros;
-extern int distro_counter;
-
-extern timer_type super_bkgd_timer;
-extern float scroll_x;
-extern unsigned int global_frame_counter;
-
-extern Player 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 set_defaults(void);
+// 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;