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

@@ -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_) {