44
55#include " Memory/Hooks/GetLabelTextHook.h"
66
7- void HelpTextQueue::DisplayLabel (std::string_view label, std::uint8_t durationSecs)
7+ void HelpTextQueue::DisplayLabel (std::string label, std::uint8_t durationSecs)
88{
99 if (durationSecs == 0 )
1010 return ;
1111
12- m_HelpTextQueue.emplace (label, durationSecs / 1000 . f );
12+ m_HelpTextQueue.emplace (label, durationSecs);
1313}
1414
1515void HelpTextQueue::OnModPauseCleanup ()
@@ -19,14 +19,21 @@ void HelpTextQueue::OnModPauseCleanup()
1919
2020void HelpTextQueue::OnRun ()
2121{
22- if (m_HelpTextQueue.empty () || IS_HELP_MESSAGE_BEING_DISPLAYED () )
22+ if (m_HelpTextQueue.empty ())
2323 return ;
2424
2525 auto &helpText = m_HelpTextQueue.front ();
2626
27- BEGIN_TEXT_COMMAND_DISPLAY_HELP (helpText.Text .data ());
28- END_TEXT_COMMAND_DISPLAY_HELP (0 , false , false , 0 );
27+ auto text = helpText.Text ;
2928
30- if ((helpText.TimerSecs -= GET_FRAME_TIME ()) < 0 .f )
31- m_HelpTextQueue.pop ();
29+ if (!IS_HELP_MESSAGE_BEING_DISPLAYED ()
30+ || (BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED (text.data ()),
31+ END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED (0 )))
32+ {
33+ BEGIN_TEXT_COMMAND_DISPLAY_HELP (text.data ());
34+ END_TEXT_COMMAND_DISPLAY_HELP (0 , false , false , -1 );
35+
36+ if ((helpText.TimerSecs -= GET_FRAME_TIME ()) < 0 .f )
37+ m_HelpTextQueue.pop ();
38+ }
3239}
0 commit comments