From 82aa0635c1fe38de84b6bb050f84553293071815 Mon Sep 17 00:00:00 2001 From: obligaron Date: Wed, 29 Nov 2023 19:55:24 +0100 Subject: [PATCH] Simplify delay player messages --- Source/interfac.cpp | 4 ++-- Source/plrmsg.cpp | 12 ++---------- Source/plrmsg.h | 2 +- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/Source/interfac.cpp b/Source/interfac.cpp index 21469bd20..40f9d90fe 100644 --- a/Source/interfac.cpp +++ b/Source/interfac.cpp @@ -288,7 +288,7 @@ void ShowProgress(interface_mode uMsg) IsProgress = true; gbSomebodyWonGameKludge = false; - plrmsg_delay(true); + uint32_t delayStart = SDL_GetTicks(); EventHandler previousHandler = SetEventHandler(DisableInputEventHandler); @@ -501,7 +501,7 @@ void ShowProgress(interface_mode uMsg) IsProgress = false; NetSendCmdLocParam2(true, CMD_PLAYER_JOINLEVEL, myPlayer.position.tile, myPlayer.plrlevel, myPlayer.plrIsOnSetLevel ? 1 : 0); - plrmsg_delay(false); + DelayPlrMessages(SDL_GetTicks() - delayStart); if (gbSomebodyWonGameKludge && myPlayer.isOnLevel(16)) { PrepDoEnding(); diff --git a/Source/plrmsg.cpp b/Source/plrmsg.cpp index 14b60fc29..df79e0a01 100644 --- a/Source/plrmsg.cpp +++ b/Source/plrmsg.cpp @@ -52,18 +52,10 @@ PlayerMessage &GetNextMessage() } // namespace -void plrmsg_delay(bool delay) +void DelayPlrMessages(uint32_t delayTime) { - static uint32_t plrmsgTicks; - - if (delay) { - plrmsgTicks = -SDL_GetTicks(); - return; - } - - plrmsgTicks += SDL_GetTicks(); for (PlayerMessage &message : Messages) - message.time += plrmsgTicks; + message.time += delayTime; } void EventPlrMsg(std::string_view text, UiFlags style) diff --git a/Source/plrmsg.h b/Source/plrmsg.h index ec0ae44a1..e8a17b6d2 100644 --- a/Source/plrmsg.h +++ b/Source/plrmsg.h @@ -17,7 +17,7 @@ namespace devilution { -void plrmsg_delay(bool delay); +void DelayPlrMessages(uint32_t delayTime); void EventPlrMsg(std::string_view text, UiFlags style = UiFlags::ColorWhitegold); void SendPlrMsg(Player &player, std::string_view text); void InitPlrMsg();