X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscene.cpp;h=a2350355f22889b9aa77a204826ea015c3c58e9a;hb=546364c9567ef212ea9276201facf73f5ada696a;hp=fc290771e28f835b35cea35871d0dfcbc3a872d0;hpb=56e4ac91328b4b3540fd089bd143394714b8d2fe;p=supertux.git diff --git a/src/scene.cpp b/src/scene.cpp index fc290771e..a2350355f 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -17,22 +17,57 @@ // 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 + #include "scene.h" #include "defines.h" PlayerStatus player_status; PlayerStatus::PlayerStatus() - : score(0), - distros(0), + : distros(0), lives(START_LIVES), - score_multiplier(1) + bonus(NO_BONUS), + score_multiplier(1), + max_score_multiplier(1) { } -// FIXME: Move this into a view class -float scroll_x; +void PlayerStatus::reset() +{ + distros = 0; + lives = START_LIVES; + bonus = NO_BONUS; + score_multiplier = 1; + max_score_multiplier = 1; +} + +std::string bonus_to_string(PlayerStatus::BonusType b) +{ + switch (b) + { + case PlayerStatus::NO_BONUS: + return "none"; + case PlayerStatus::GROWUP_BONUS: + return "growup"; + case PlayerStatus::FLOWER_BONUS: + return "iceflower"; + default: + return "none"; + } +} + +PlayerStatus::BonusType string_to_bonus(const std::string& str) +{ + if (str == "none") + return PlayerStatus::NO_BONUS; + else if (str == "growup") + return PlayerStatus::GROWUP_BONUS; + else if (str == "iceflower") + return PlayerStatus::FLOWER_BONUS; + else + return PlayerStatus::NO_BONUS; +} unsigned int global_frame_counter;