convertit Asset i Audio
This commit is contained in:
@@ -39,8 +39,6 @@
|
||||
Game::Game(int player_id, int current_stage, bool demo)
|
||||
: renderer_(Screen::get()->getRenderer()),
|
||||
screen_(Screen::get()),
|
||||
audio_(Audio::get()),
|
||||
asset_(Asset::get()),
|
||||
input_(Input::get()),
|
||||
background_(std::make_unique<Background>()),
|
||||
canvas_(SDL_CreateTexture(renderer_, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param.game.play_area.rect.w, param.game.play_area.rect.h)),
|
||||
@@ -103,19 +101,19 @@ Game::~Game()
|
||||
// [Modo DEMO] Vuelve a activar los sonidos
|
||||
if (demo_.enabled)
|
||||
{
|
||||
audio_->enableSound();
|
||||
Audio::get().enableSound();
|
||||
}
|
||||
else
|
||||
{
|
||||
// [Modo JUEGO] Guarda puntuaciones y transita a modo título
|
||||
auto manager = std::make_unique<ManageHiScoreTable>(options.game.hi_score_table);
|
||||
manager->saveToFile(asset_->get("score.bin"));
|
||||
manager->saveToFile(Asset::get().get("score.bin"));
|
||||
section::attract_mode = section::AttractMode::TITLE_TO_DEMO;
|
||||
audio_->stopMusic();
|
||||
Audio::get().stopMusic();
|
||||
}
|
||||
|
||||
#ifdef RECORDING
|
||||
saveDemoFile(Asset::get()->get("demo1.bin"), demo_.data.at(0));
|
||||
saveDemoFile(Asset::get().get("demo1.bin"), demo_.data.at(0));
|
||||
#endif
|
||||
|
||||
Scoreboard::destroy();
|
||||
@@ -203,7 +201,7 @@ void Game::updateHiScore()
|
||||
if (hi_score_achieved_ == false)
|
||||
{
|
||||
hi_score_achieved_ = true;
|
||||
audio_->playSound("hi_score_achieved.wav");
|
||||
Audio::get().playSound("hi_score_achieved.wav");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -261,7 +259,7 @@ void Game::updateStage()
|
||||
// Cambio de fase
|
||||
Stage::power = Stage::get(Stage::number).power_to_complete - Stage::power;
|
||||
++Stage::number;
|
||||
audio_->playSound("stage_change.wav");
|
||||
Audio::get().playSound("stage_change.wav");
|
||||
balloon_manager_->resetBalloonSpeed();
|
||||
screen_->flash(FLASH_COLOR, 3);
|
||||
screen_->shake();
|
||||
@@ -313,7 +311,7 @@ void Game::updateGameStateGameOver()
|
||||
if (game_over_counter_ == GAME_OVER_COUNTER_)
|
||||
{
|
||||
createMessage({paths_.at(2), paths_.at(3)}, Resource::get()->getTexture("game_text_game_over"));
|
||||
audio_->fadeOutMusic(1000);
|
||||
Audio::get().fadeOutMusic(1000);
|
||||
balloon_manager_->setSounds(true);
|
||||
}
|
||||
|
||||
@@ -330,7 +328,7 @@ void Game::updateGameStateGameOver()
|
||||
if (options.audio.enabled)
|
||||
{
|
||||
const float VOL = static_cast<float>(64 * (100 - fade_out_->getValue())) / 100.0f;
|
||||
audio_->setSoundVolume(static_cast<int>(VOL));
|
||||
Audio::get().setSoundVolume(static_cast<int>(VOL));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -349,8 +347,8 @@ void Game::updateGameStateGameOver()
|
||||
section::options = section::Options::HI_SCORE_AFTER_PLAYING;
|
||||
if (options.audio.enabled)
|
||||
{
|
||||
audio_->stopAllSounds();
|
||||
audio_->setSoundVolume(options.audio.sound.volume);
|
||||
Audio::get().stopAllSounds();
|
||||
Audio::get().setSoundVolume(options.audio.sound.volume);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -483,7 +481,7 @@ void Game::checkPlayerItemCollision(std::shared_ptr<Player> &player)
|
||||
player->addScore(1000);
|
||||
const auto x = item->getPosX() + (item->getWidth() - game_text_textures_.at(0)->getWidth()) / 2;
|
||||
createItemText(x, game_text_textures_.at(0));
|
||||
audio_->playSound("item_pickup.wav");
|
||||
Audio::get().playSound("item_pickup.wav");
|
||||
break;
|
||||
}
|
||||
case ItemType::GAVINA:
|
||||
@@ -491,7 +489,7 @@ void Game::checkPlayerItemCollision(std::shared_ptr<Player> &player)
|
||||
player->addScore(2500);
|
||||
const auto x = item->getPosX() + (item->getWidth() - game_text_textures_.at(1)->getWidth()) / 2;
|
||||
createItemText(x, game_text_textures_.at(1));
|
||||
audio_->playSound("item_pickup.wav");
|
||||
Audio::get().playSound("item_pickup.wav");
|
||||
break;
|
||||
}
|
||||
case ItemType::PACMAR:
|
||||
@@ -499,7 +497,7 @@ void Game::checkPlayerItemCollision(std::shared_ptr<Player> &player)
|
||||
player->addScore(5000);
|
||||
const auto x = item->getPosX() + (item->getWidth() - game_text_textures_.at(2)->getWidth()) / 2;
|
||||
createItemText(x, game_text_textures_.at(2));
|
||||
audio_->playSound("item_pickup.wav");
|
||||
Audio::get().playSound("item_pickup.wav");
|
||||
break;
|
||||
}
|
||||
case ItemType::DEBIAN:
|
||||
@@ -507,7 +505,7 @@ void Game::checkPlayerItemCollision(std::shared_ptr<Player> &player)
|
||||
player->addScore(100000);
|
||||
const auto x = item->getPosX() + (item->getWidth() - game_text_textures_.at(6)->getWidth()) / 2;
|
||||
createItemText(x, game_text_textures_.at(6));
|
||||
audio_->playSound("debian_pickup.wav");
|
||||
Audio::get().playSound("debian_pickup.wav");
|
||||
break;
|
||||
}
|
||||
case ItemType::CLOCK:
|
||||
@@ -515,7 +513,7 @@ void Game::checkPlayerItemCollision(std::shared_ptr<Player> &player)
|
||||
enableTimeStopItem();
|
||||
const auto x = item->getPosX() + (item->getWidth() - game_text_textures_.at(5)->getWidth()) / 2;
|
||||
createItemText(x, game_text_textures_.at(5));
|
||||
audio_->playSound("item_pickup.wav");
|
||||
Audio::get().playSound("item_pickup.wav");
|
||||
break;
|
||||
}
|
||||
case ItemType::COFFEE:
|
||||
@@ -532,7 +530,7 @@ void Game::checkPlayerItemCollision(std::shared_ptr<Player> &player)
|
||||
const auto x = item->getPosX() + (item->getWidth() - game_text_textures_.at(4)->getWidth()) / 2;
|
||||
createItemText(x, game_text_textures_.at(4));
|
||||
}
|
||||
audio_->playSound("voice_coffee.wav");
|
||||
Audio::get().playSound("voice_coffee.wav");
|
||||
break;
|
||||
}
|
||||
case ItemType::COFFEE_MACHINE:
|
||||
@@ -541,7 +539,7 @@ void Game::checkPlayerItemCollision(std::shared_ptr<Player> &player)
|
||||
coffee_machine_enabled_ = false;
|
||||
const auto x = item->getPosX() + (item->getWidth() - game_text_textures_.at(3)->getWidth()) / 2;
|
||||
createItemText(x, game_text_textures_.at(3));
|
||||
audio_->playSound("voice_power_up.wav");
|
||||
Audio::get().playSound("voice_power_up.wav");
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -570,7 +568,7 @@ void Game::checkBulletCollision()
|
||||
if (tabe_->tryToGetBonus())
|
||||
{
|
||||
createItem(ItemType::DEBIAN, pos.x, pos.y);
|
||||
audio_->playSound("debian_drop.wav");
|
||||
Audio::get().playSound("debian_drop.wav");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -578,7 +576,7 @@ void Game::checkBulletCollision()
|
||||
{
|
||||
createItem(ItemType::COFFEE, pos.x, pos.y);
|
||||
}
|
||||
audio_->playSound("tabe_hit.wav");
|
||||
Audio::get().playSound("tabe_hit.wav");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -600,7 +598,7 @@ void Game::checkBulletCollision()
|
||||
if (dropped_item != ItemType::COFFEE_MACHINE)
|
||||
{
|
||||
createItem(dropped_item, balloon->getPosX(), balloon->getPosY());
|
||||
audio_->playSound("item_drop.wav");
|
||||
Audio::get().playSound("item_drop.wav");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -622,7 +620,7 @@ void Game::checkBulletCollision()
|
||||
updateHiScore();
|
||||
|
||||
// Sonido de explosión
|
||||
audio_->playSound("balloon.wav");
|
||||
Audio::get().playSound("balloon.wav");
|
||||
|
||||
// Deshabilita la bala
|
||||
bullet->disable();
|
||||
@@ -678,7 +676,7 @@ void Game::updateItems()
|
||||
item->update();
|
||||
if (item->isOnFloor())
|
||||
{
|
||||
audio_->playSound("title.wav");
|
||||
Audio::get().playSound("title.wav");
|
||||
screen_->shake();
|
||||
}
|
||||
}
|
||||
@@ -905,16 +903,16 @@ void Game::killPlayer(std::shared_ptr<Player> &player)
|
||||
// Lo pierde
|
||||
player->removeExtraHit();
|
||||
throwCoffee(player->getPosX() + (player->getWidth() / 2), player->getPosY() + (player->getHeight() / 2));
|
||||
audio_->playSound("coffee_out.wav");
|
||||
Audio::get().playSound("coffee_out.wav");
|
||||
screen_->shake();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Si no tiene cafes, muere
|
||||
balloon_manager_->stopAllBalloons();
|
||||
audio_->playSound("player_collision.wav");
|
||||
Audio::get().playSound("player_collision.wav");
|
||||
screen_->shake();
|
||||
audio_->playSound("voice_no.wav");
|
||||
Audio::get().playSound("voice_no.wav");
|
||||
player->setPlayingState(PlayerState::DYING);
|
||||
if (allPlayersAreNotPlaying())
|
||||
{
|
||||
@@ -934,7 +932,7 @@ void Game::updateTimeStopped()
|
||||
{
|
||||
if (time_stopped_counter_ % 30 == 0)
|
||||
{
|
||||
audio_->playSound("clock.wav");
|
||||
Audio::get().playSound("clock.wav");
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -942,12 +940,12 @@ void Game::updateTimeStopped()
|
||||
if (time_stopped_counter_ % 30 == 0)
|
||||
{
|
||||
balloon_manager_->normalColorsToAllBalloons();
|
||||
audio_->playSound("clock.wav");
|
||||
Audio::get().playSound("clock.wav");
|
||||
}
|
||||
else if (time_stopped_counter_ % 30 == 15)
|
||||
{
|
||||
balloon_manager_->reverseColorsToAllBalloons();
|
||||
audio_->playSound("clock.wav");
|
||||
Audio::get().playSound("clock.wav");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1270,7 +1268,7 @@ void Game::addScoreToScoreBoard(const std::shared_ptr<Player> &player)
|
||||
const auto entry = HiScoreEntry(trim(player->getRecordName()), player->getScore(), player->get1CC());
|
||||
auto manager = std::make_unique<ManageHiScoreTable>(options.game.hi_score_table);
|
||||
options.game.last_hi_score_entry.at(player->getId() - 1) = manager->add(entry);
|
||||
manager->saveToFile(asset_->get("score.bin"));
|
||||
manager->saveToFile(Asset::get().get("score.bin"));
|
||||
hi_score_.name = options.game.hi_score_table.front().name;
|
||||
}
|
||||
|
||||
@@ -1429,7 +1427,7 @@ void Game::handleFireInput(const std::shared_ptr<Player> &player, BulletType bul
|
||||
player->setInput(bulletType == BulletType::UP ? InputAction::FIRE_CENTER : bulletType == BulletType::LEFT ? InputAction::FIRE_LEFT
|
||||
: InputAction::FIRE_RIGHT);
|
||||
createBullet(player->getPosX() + (player->getWidth() / 2) - 6, player->getPosY() + (player->getHeight() / 2), bulletType, player->isPowerUp(), player->getId());
|
||||
audio_->playSound("bullet.wav");
|
||||
Audio::get().playSound("bullet.wav");
|
||||
|
||||
// Establece un tiempo de espera para el próximo disparo.
|
||||
const int cooldown = player->isPowerUp() ? 5 : options.game.autofire ? 10
|
||||
@@ -1631,7 +1629,7 @@ void Game::initDemo(int player_id)
|
||||
}
|
||||
|
||||
// Deshabilita los sonidos
|
||||
audio_->disableSound();
|
||||
Audio::get().disableSound();
|
||||
|
||||
// Configura los marcadores
|
||||
scoreboard_->setMode(SCOREBOARD_LEFT_PANEL, ScoreboardMode::DEMO);
|
||||
@@ -1733,7 +1731,7 @@ void Game::initPlayers(int player_id)
|
||||
// Hace sonar la música
|
||||
void Game::playMusic()
|
||||
{
|
||||
audio_->playMusic("playing.ogg");
|
||||
Audio::get().playMusic("playing.ogg");
|
||||
}
|
||||
|
||||
// Detiene la música
|
||||
@@ -1741,7 +1739,7 @@ void Game::stopMusic()
|
||||
{
|
||||
if (!demo_.enabled)
|
||||
{
|
||||
audio_->stopMusic();
|
||||
Audio::get().stopMusic();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1825,7 +1823,7 @@ void Game::updateGameStateEnteringPlayer()
|
||||
{
|
||||
setState(GameState::SHOWING_GET_READY_MESSAGE);
|
||||
createMessage({paths_.at(0), paths_.at(1)}, Resource::get()->getTexture("game_text_get_ready"));
|
||||
audio_->playSound("voice_get_ready.wav");
|
||||
Audio::get().playSound("voice_get_ready.wav");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1878,7 +1876,7 @@ void Game::updateGameStatePlaying()
|
||||
checkAndUpdateBalloonSpeed();
|
||||
checkState();
|
||||
cleanVectors();
|
||||
//playMusic();
|
||||
// playMusic();
|
||||
}
|
||||
|
||||
// Vacía los vectores de elementos deshabilitados
|
||||
|
||||
Reference in New Issue
Block a user