Browse Source

Simplify delay player messages

pull/6846/head
obligaron 2 years ago committed by Gleb Mazovetskiy
parent
commit
82aa0635c1
  1. 4
      Source/interfac.cpp
  2. 12
      Source/plrmsg.cpp
  3. 2
      Source/plrmsg.h

4
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();

12
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)

2
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();

Loading…
Cancel
Save