X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsupertux%2Fplayer_status.cpp;h=a66663bb00ca2ef2c0e5616d09c559a93a315471;hb=8f2d3b4b577297359c0cb57acb7e0782a3c35ea5;hp=2a599254ba2eadd2540c1976afdaf11f5e828251;hpb=a8057c3d1726484928a3091fdd5c7a3d810f5f63;p=supertux.git diff --git a/src/supertux/player_status.cpp b/src/supertux/player_status.cpp index 2a599254b..a66663bb0 100644 --- a/src/supertux/player_status.cpp +++ b/src/supertux/player_status.cpp @@ -47,8 +47,8 @@ PlayerStatus::PlayerStatus() : reset(); coin_surface = Surface::create("images/engine/hud/coins-0.png"); - sound_manager->preload("sounds/coin.wav"); - sound_manager->preload("sounds/lifeup.wav"); + SoundManager::current()->preload("sounds/coin.wav"); + SoundManager::current()->preload("sounds/lifeup.wav"); } PlayerStatus::~PlayerStatus() @@ -69,9 +69,9 @@ PlayerStatus::add_coins(int count, bool play_sound) coins = std::min(coins + count, MAX_COINS); if(play_sound) { if(count >= 100) - sound_manager->play("sounds/lifeup.wav"); + SoundManager::current()->play("sounds/lifeup.wav"); else if (real_time > sound_played_time + 0.010) { - sound_manager->play("sounds/coin.wav"); + SoundManager::current()->play("sounds/coin.wav"); sound_played_time = real_time; } } @@ -93,12 +93,20 @@ PlayerStatus::write(lisp::Writer& writer) case ICE_BONUS: writer.write("bonus", "iceflower"); break; + case AIR_BONUS: + writer.write("bonus", "airflower"); + break; + case EARTH_BONUS: + writer.write("bonus", "earthflower"); + break; default: log_warning << "Unknown bonus type." << std::endl; writer.write("bonus", "none"); } writer.write("fireflowers", max_fire_bullets); writer.write("iceflowers", max_ice_bullets); + writer.write("airflowers", max_air_time); + writer.write("earthflowers", max_earth_time); writer.write("coins", coins); } @@ -118,6 +126,10 @@ PlayerStatus::read(const Reader& lisp) bonus = FIRE_BONUS; } else if(bonusname == "iceflower") { bonus = ICE_BONUS; + } else if(bonusname == "airflower") { + bonus = AIR_BONUS; + } else if(bonusname == "earthflower") { + bonus = EARTH_BONUS; } else { log_warning << "Unknown bonus '" << bonusname << "' in savefile" << std::endl; bonus = NO_BONUS; @@ -125,6 +137,8 @@ PlayerStatus::read(const Reader& lisp) } lisp.get("fireflowers", max_fire_bullets); lisp.get("iceflowers", max_ice_bullets); + lisp.get("airflowers", max_air_time); + lisp.get("earthflowers", max_earth_time); lisp.get("coins", coins); }