eliminats metodes deprecated

migracions finals a time based
migracions de jail_audio a Audio
This commit is contained in:
2025-10-31 10:32:23 +01:00
parent 1bb3d00e7c
commit 2f20ac422e
15 changed files with 50 additions and 136 deletions

View File

@@ -6,10 +6,10 @@
#include <iostream>
#include <ranges> // Para std::ranges::any_of
#include "core/audio/audio.hpp" // Para Audio
#include "core/input/input.hpp" // Para Input, InputAction
#include "core/rendering/surface_animated_sprite.hpp" // Para SAnimatedSprite
#include "core/resources/resource.hpp" // Para Resource
#include "external/jail_audio.h" // Para JA_PlaySound
#include "game/gameplay/room.hpp" // Para Room, TileType
#include "game/options.hpp" // Para Cheat, Options, options
#include "utils/defines.hpp" // Para RoomBorder::BOTTOM, RoomBorder::LEFT, RoomBorder::RIGHT
@@ -414,7 +414,7 @@ void Player::playJumpSound() {
// Solo reproduce cuando cambia de índice (nuevo hito alcanzado)
if (SOUND_INDEX != PREVIOUS_INDEX && SOUND_INDEX < static_cast<int>(jumping_sound_.size())) {
JA_PlaySound(jumping_sound_[SOUND_INDEX]);
Audio::get()->playSound(jumping_sound_[SOUND_INDEX], Audio::Group::GAME);
}
}
@@ -430,7 +430,7 @@ void Player::playFallSound() {
// Solo reproduce cuando cambia de índice (nuevo hito alcanzado)
if (SOUND_INDEX != PREVIOUS_INDEX && SOUND_INDEX < static_cast<int>(falling_sound_.size())) {
JA_PlaySound(falling_sound_[SOUND_INDEX]);
Audio::get()->playSound(falling_sound_[SOUND_INDEX], Audio::Group::GAME);
}
}

View File

@@ -7,12 +7,12 @@
#include <sstream> // Para basic_stringstream
#include <utility>
#include "core/audio/audio.hpp" // Para Audio
#include "core/rendering/screen.hpp" // Para Screen
#include "core/rendering/surface.hpp" // Para Surface
#include "core/rendering/surface_sprite.hpp" // Para SSprite
#include "core/resources/resource.hpp" // Para Resource
#include "core/system/debug.hpp" // Para Debug
#include "external/jail_audio.h" // Para JA_PlaySound
#include "game/gameplay/item_tracker.hpp" // Para ItemTracker
#include "game/gameplay/scoreboard.hpp" // Para ScoreboardData
#include "game/options.hpp" // Para Options, OptionsStats, options
@@ -63,7 +63,7 @@ void Room::initializeRoom(const Data& room) {
surface_ = Resource::get()->getSurface(room.tile_set_file);
tile_set_width_ = surface_->getWidth() / TILE_SIZE;
is_paused_ = false;
counter_ = 0;
time_accumulator_ = 0.0F;
// Crear los enemigos
for (const auto& enemy_data : room.enemies) {
@@ -208,8 +208,8 @@ void Room::update(float delta_time) {
return;
}
// Actualiza el contador (mantenido para compatibilidad temporalmente)
counter_++;
// Actualiza el acumulador de tiempo
time_accumulator_ += delta_time;
// Actualiza los tiles animados
updateAnimatedTiles();
@@ -309,7 +309,7 @@ auto Room::itemCollision(SDL_FRect& rect) -> bool {
if (checkCollision(rect, items_.at(i)->getCollider())) {
ItemTracker::get()->addItem(name_, items_.at(i)->getPos());
items_.erase(items_.begin() + i);
JA_PlaySound(Resource::get()->getSound("item.wav"));
Audio::get()->playSound("item.wav", Audio::Group::GAME);
data_->items++;
Options::stats.items = data_->items;
return true;
@@ -653,11 +653,16 @@ void Room::setAnimatedTiles() {
// Actualiza los tiles animados
void Room::updateAnimatedTiles() {
const int NUM_FRAMES = 4;
// Calcular frame actual basado en tiempo
const int current_frame = static_cast<int>(time_accumulator_ / CONVEYOR_FRAME_DURATION) % NUM_FRAMES;
// Calcular offset basado en dirección
int offset = 0;
if (conveyor_belt_direction_ == -1) {
offset = ((counter_ / 3) % NUM_FRAMES * TILE_SIZE);
offset = current_frame * TILE_SIZE;
} else {
offset = ((NUM_FRAMES - 1 - ((counter_ / 3) % NUM_FRAMES)) * TILE_SIZE);
offset = (NUM_FRAMES - 1 - current_frame) * TILE_SIZE;
}
for (auto& a : animated_tiles_) {

View File

@@ -128,8 +128,11 @@ class Room {
std::vector<LineVertical> right_walls_; // Lista con las superficies laterales de la parte derecha de la habitación
std::vector<LineDiagonal> left_slopes_; // Lista con todas las rampas que suben hacia la izquierda
std::vector<LineDiagonal> right_slopes_; // Lista con todas las rampas que suben hacia la derecha
int counter_ = 0; // Contador para lo que haga falta
float time_accumulator_ = 0.0F; // Acumulador de tiempo para animaciones (time-based)
bool is_paused_ = false; // Indica si el mapa esta en modo pausa
// Constantes de tiempo
static constexpr float CONVEYOR_FRAME_DURATION = 0.05F; // Duración de cada frame de conveyor belt (3 frames @ 60fps)
std::vector<AnimatedTile> animated_tiles_; // Vector con los indices de tiles animados
std::vector<LineHorizontal> conveyor_belt_floors_; // Lista con las superficies automaticas de la habitación
int tile_set_width_ = 0; // Ancho del tileset en tiles

View File

@@ -11,7 +11,7 @@
#include "core/rendering/text.hpp" // Para Text, TEXT_STROKE
#include "core/resources/resource.hpp" // Para Resource
#include "core/system/global_events.hpp" // Para check
#include "external/jail_audio.h" // Para JA_SetVolume, JA_PlayMusic, JA_StopMusic
#include "core/audio/audio.hpp" // Para Audio
#include "game/options.hpp" // Para Options, options, OptionsGame, SectionS...
#include "game/scene_manager.hpp" // Para SceneManager
#include "utils/defines.hpp" // Para GAME_SPEED
@@ -60,9 +60,6 @@ void Ending::update() {
// Actualiza las cortinillas de los elementos
updateSpriteCovers();
// Actualiza el volumen de la musica
updateMusicVolume();
// Actualiza el objeto Screen
Screen::get()->update(current_delta_);
}
@@ -423,7 +420,7 @@ void Ending::iniScenes() {
// Bucle principal
void Ending::run() {
JA_PlayMusic(Resource::get()->getMusic("ending1.ogg"));
Audio::get()->playMusic("ending1.ogg");
while (SceneManager::current == SceneManager::Scene::ENDING) {
update();
@@ -431,8 +428,7 @@ void Ending::run() {
render();
}
JA_StopMusic();
JA_SetVolume(128);
Audio::get()->stopMusic();
}
// Actualiza las cortinillas de los elementos
@@ -589,15 +585,4 @@ void Ending::renderCoverTexture() {
SDL_FRect dst_rect = {0.0F, 0.0F, 256.0F, FADEOUT_COUNTER * 2.0F};
cover_surface_->render(&src_rect, &dst_rect);
}
}
// Actualiza el volumen de la musica
void Ending::updateMusicVolume() const {
if (state_ == State::SCENE_4 && fadeout_time_ > 0.0F) {
// Convertir fadeout_time_ a equivalente de cover_counter_ @ 60fps
const float FADEOUT_COUNTER = std::min(fadeout_time_ * 60.0F, 100.0F);
const float STEP = (100.0F - FADEOUT_COUNTER) / 100.0F;
const int VOLUME = static_cast<int>(128.0F * STEP);
JA_SetVolume(VOLUME);
}
}

View File

@@ -14,7 +14,7 @@
#include "core/resources/resource.hpp" // Para ResourceRoom, Resource
#include "core/system/debug.hpp" // Para Debug
#include "core/system/global_events.hpp" // Para check
#include "external/jail_audio.h" // Para JA_PauseMusic, JA_GetMusicState, JA_P...
#include "core/audio/audio.hpp" // Para Audio
#include "game/gameplay/cheevos.hpp" // Para Cheevos
#include "game/gameplay/item_tracker.hpp" // Para ItemTracker
#include "game/gameplay/room.hpp" // Para Room, RoomData
@@ -83,7 +83,7 @@ void Game::checkEvents() {
void Game::checkInput() {
if (Input::get()->checkInput(InputAction::TOGGLE_MUSIC, INPUT_DO_NOT_ALLOW_REPEAT)) {
board_->music = !board_->music;
board_->music ? JA_ResumeMusic() : JA_PauseMusic();
board_->music ? Audio::get()->resumeMusic() : Audio::get()->pauseMusic();
Notifier::get()->show({"MUSIC " + std::string(board_->music ? "ENABLED" : "DISABLED")}, NotificationText::CENTER);
}
@@ -99,7 +99,7 @@ void Game::checkInput() {
void Game::run() {
keepMusicPlaying();
if (!board_->music && mode_ == Mode::GAME) {
JA_PauseMusic();
Audio::get()->pauseMusic();
}
while (SceneManager::current == SceneManager::Scene::GAME || SceneManager::current == SceneManager::Scene::DEMO) {
@@ -109,7 +109,7 @@ void Game::run() {
}
if (mode_ == Mode::GAME) {
JA_StopMusic();
Audio::get()->stopMusic();
}
}
@@ -220,7 +220,7 @@ void Game::checkDebugEvents(const SDL_Event& event) {
Debug::get()->toggleEnabled();
Options::cheats.invincible = static_cast<Options::Cheat::State>(Debug::get()->getEnabled());
board_->music = !Debug::get()->getEnabled();
board_->music ? JA_ResumeMusic() : JA_PauseMusic();
board_->music ? Audio::get()->resumeMusic() : Audio::get()->pauseMusic();
break;
case SDL_SCANCODE_R:
@@ -356,7 +356,7 @@ void Game::killPlayer() {
Cheevos::get()->setUnobtainable(11);
// Sonido
JA_PlaySound(Resource::get()->getSound("death.wav"));
Audio::get()->playSound("death.wav", Audio::Group::GAME);
// Pone la pantalla en negro un tiempo
setBlackScreen();
@@ -469,7 +469,7 @@ void Game::checkRestoringJail(float delta_time) {
if (jail_restore_time_ >= JAIL_RESTORE_INTERVAL) {
jail_restore_time_ -= JAIL_RESTORE_INTERVAL; // Mantiene el excedente para precisión
board_->lives++;
JA_PlaySound(Resource::get()->getSound("death.wav"));
Audio::get()->playSound("death.wav", Audio::Group::GAME);
// Invalida el logro de completar el juego sin entrar a la jail
const bool HAVE_THE_ITEMS = board_->items >= int(total_items_ * 0.9F);
@@ -587,9 +587,9 @@ void Game::keepMusicPlaying() {
const std::string MUSIC_PATH = mode_ == Mode::GAME ? "game.ogg" : "title.ogg";
// Si la música no está sonando
if (JA_GetMusicState() == JA_MUSIC_INVALID || JA_GetMusicState() == JA_MUSIC_STOPPED) {
JA_PlayMusic(Resource::get()->getMusic(MUSIC_PATH));
}
if (Audio::get()->getMusicState() == Audio::MusicState::STOPPED) {
Audio::get()->playMusic(MUSIC_PATH);
}
}
// DEMO MODE: Inicializa las variables para el modo demo

View File

@@ -11,7 +11,7 @@
#include "core/rendering/text.hpp" // Para TEXT_CENTER, TEXT_COLOR, Text
#include "core/resources/resource.hpp" // Para Resource
#include "core/system/global_events.hpp" // Para check
#include "external/jail_audio.h" // Para JA_PlayMusic
#include "core/audio/audio.hpp" // Para Audio
#include "game/options.hpp" // Para Options, options, OptionsStats, Secti...
#include "game/scene_manager.hpp" // Para SceneManager
#include "utils/defines.hpp" // Para GAMECANVAS_CENTER_X
@@ -172,7 +172,7 @@ void GameOver::updateState() {
state_ = State::FADE_IN;
elapsed_time_ = 0.0f;
// Hace sonar la música cuando termina la espera
JA_PlayMusic(Resource::get()->getMusic("game_over.ogg"), 0);
Audio::get()->playMusic("game_over.ogg", 0);
}
break;

View File

@@ -13,7 +13,7 @@
#include "core/rendering/surface_sprite.hpp" // Para SSprite
#include "core/rendering/text.hpp" // Para Text, TEXT_CENTER, TEXT_COLOR
#include "core/resources/resource.hpp" // Para Resource
#include "external/jail_audio.h" // Para JA_PlaySound
#include "core/audio/audio.hpp" // Para Audio
#include "game/options.hpp" // Para Options, options, NotificationPosition
#include "utils/delta_timer.hpp" // Para DeltaTimer
#include "utils/utils.hpp" // Para PaletteColor
@@ -240,7 +240,7 @@ void Notifier::show(std::vector<std::string> texts, NotificationText text_is, Ui
notifications_.emplace_back(n);
// Reproduce el sonido de la notificación
JA_PlaySound(Resource::get()->getSound("notify.wav"));
Audio::get()->playSound("notify.wav", Audio::Group::INTERFACE);
}
// Indica si hay notificaciones activas