fix: arreglada la acceleració dels credits sense dependre de vsync

This commit is contained in:
2025-01-05 09:31:57 +01:00
parent cd806363e8
commit 4cf4c8db6f
3 changed files with 16 additions and 12 deletions

View File

@@ -80,21 +80,27 @@ void Credits::run()
// Actualiza las variables
void Credits::update()
{
if (SDL_GetTicks() - ticks_ > ticks_speed_)
constexpr Uint32 TICKS_SPEED_ = 15;
if (SDL_GetTicks() - ticks_ > TICKS_SPEED_)
{
ticks_ = SDL_GetTicks();
tiled_bg_->update();
balloon_manager_->update();
updateTextureDstRects();
throwBalloons();
for (auto &player : players_)
const int repeat = want_to_pass_ ? 4 : 1;
for (int i = 0; i < repeat; ++i)
{
player->update();
tiled_bg_->update();
balloon_manager_->update();
updateTextureDstRects();
throwBalloons();
for (auto &player : players_)
{
player->update();
}
updateAllFades();
++counter_;
}
updateAllFades();
Screen::get()->update();
globalInputs::update();
++counter_;
}
}
@@ -178,7 +184,6 @@ void Credits::checkInput()
{
// Si todavía estan los creditos en marcha, se pasan solos a toda pastilla
want_to_pass_ = true;
ticks_speed_ = 1;
}
}