mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-01 22:21:05 +00:00
Fix a bunch of ticking in hu_ drawing functions
This commit is contained in:
parent
48b3ea31c4
commit
fa12c51fcf
1 changed files with 45 additions and 38 deletions
|
@ -170,6 +170,8 @@ static INT32 cechoflags = 0;
|
||||||
// HEADS UP INIT
|
// HEADS UP INIT
|
||||||
//======================================================================
|
//======================================================================
|
||||||
|
|
||||||
|
static tic_t resynch_ticker = 0;
|
||||||
|
|
||||||
#ifndef NONET
|
#ifndef NONET
|
||||||
// just after
|
// just after
|
||||||
static void Command_Say_f(void);
|
static void Command_Say_f(void);
|
||||||
|
@ -382,12 +384,12 @@ static INT16 addy = 0; // use this to make the messages scroll smoothly when one
|
||||||
|
|
||||||
static void HU_removeChatText_Mini(void)
|
static void HU_removeChatText_Mini(void)
|
||||||
{
|
{
|
||||||
// MPC: Don't create new arrays, just iterate through an existing one
|
// MPC: Don't create new arrays, just iterate through an existing one
|
||||||
size_t i;
|
size_t i;
|
||||||
for(i=0;i<chat_nummsg_min-1;i++) {
|
for(i=0;i<chat_nummsg_min-1;i++) {
|
||||||
strcpy(chat_mini[i], chat_mini[i+1]);
|
strcpy(chat_mini[i], chat_mini[i+1]);
|
||||||
chat_timers[i] = chat_timers[i+1];
|
chat_timers[i] = chat_timers[i+1];
|
||||||
}
|
}
|
||||||
chat_nummsg_min--; // lost 1 msg.
|
chat_nummsg_min--; // lost 1 msg.
|
||||||
|
|
||||||
// use addy and make shit slide smoothly af.
|
// use addy and make shit slide smoothly af.
|
||||||
|
@ -400,10 +402,10 @@ static void HU_removeChatText_Log(void)
|
||||||
{
|
{
|
||||||
// MPC: Don't create new arrays, just iterate through an existing one
|
// MPC: Don't create new arrays, just iterate through an existing one
|
||||||
size_t i;
|
size_t i;
|
||||||
for(i=0;i<chat_nummsg_log-1;i++) {
|
for(i=0;i<chat_nummsg_log-1;i++) {
|
||||||
strcpy(chat_log[i], chat_log[i+1]);
|
strcpy(chat_log[i], chat_log[i+1]);
|
||||||
}
|
}
|
||||||
chat_nummsg_log--; // lost 1 msg.
|
chat_nummsg_log--; // lost 1 msg.
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -874,6 +876,39 @@ void HU_Ticker(void)
|
||||||
hu_showscores = !chat_on;
|
hu_showscores = !chat_on;
|
||||||
else
|
else
|
||||||
hu_showscores = false;
|
hu_showscores = false;
|
||||||
|
|
||||||
|
if (chat_on)
|
||||||
|
{
|
||||||
|
// count down the scroll timer.
|
||||||
|
if (chat_scrolltime > 0)
|
||||||
|
chat_scrolltime--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (netgame)
|
||||||
|
{
|
||||||
|
size_t i = 0;
|
||||||
|
|
||||||
|
// handle spam while we're at it:
|
||||||
|
for(; (i<MAXPLAYERS); i++)
|
||||||
|
{
|
||||||
|
if (stop_spamming[i] > 0)
|
||||||
|
stop_spamming[i]--;
|
||||||
|
}
|
||||||
|
|
||||||
|
// handle chat timers
|
||||||
|
for (i=0; (i<chat_nummsg_min); i++)
|
||||||
|
{
|
||||||
|
if (chat_timers[i] > 0)
|
||||||
|
chat_timers[i]--;
|
||||||
|
else
|
||||||
|
HU_removeChatText_Mini();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--cechotimer;
|
||||||
|
|
||||||
|
if (hu_redownloadinggamestate)
|
||||||
|
resynch_ticker++;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NONET
|
#ifndef NONET
|
||||||
|
@ -1854,8 +1889,6 @@ static void HU_DrawCEcho(void)
|
||||||
echoptr = line;
|
echoptr = line;
|
||||||
echoptr++;
|
echoptr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
--cechotimer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HU_drawGametype(void)
|
static void HU_drawGametype(void)
|
||||||
|
@ -1917,9 +1950,6 @@ void HU_Drawer(void)
|
||||||
// draw chat string plus cursor
|
// draw chat string plus cursor
|
||||||
if (chat_on)
|
if (chat_on)
|
||||||
{
|
{
|
||||||
// count down the scroll timer.
|
|
||||||
if (chat_scrolltime > 0)
|
|
||||||
chat_scrolltime--;
|
|
||||||
if (!OLDCHAT)
|
if (!OLDCHAT)
|
||||||
HU_DrawChat();
|
HU_DrawChat();
|
||||||
else
|
else
|
||||||
|
@ -1929,30 +1959,10 @@ void HU_Drawer(void)
|
||||||
{
|
{
|
||||||
typelines = 1;
|
typelines = 1;
|
||||||
chat_scrolltime = 0;
|
chat_scrolltime = 0;
|
||||||
|
|
||||||
if (!OLDCHAT && cv_consolechat.value < 2 && netgame) // Don't display minimized chat if you set the mode to Window (Hidden)
|
if (!OLDCHAT && cv_consolechat.value < 2 && netgame) // Don't display minimized chat if you set the mode to Window (Hidden)
|
||||||
HU_drawMiniChat(); // draw messages in a cool fashion.
|
HU_drawMiniChat(); // draw messages in a cool fashion.
|
||||||
}
|
}
|
||||||
|
|
||||||
if (netgame) // would handle that in hu_drawminichat, but it's actually kinda awkward when you're typing a lot of messages. (only handle that in netgames duh)
|
|
||||||
{
|
|
||||||
size_t i = 0;
|
|
||||||
|
|
||||||
// handle spam while we're at it:
|
|
||||||
for(; (i<MAXPLAYERS); i++)
|
|
||||||
{
|
|
||||||
if (stop_spamming[i] > 0)
|
|
||||||
stop_spamming[i]--;
|
|
||||||
}
|
|
||||||
|
|
||||||
// handle chat timers
|
|
||||||
for (i=0; (i<chat_nummsg_min); i++)
|
|
||||||
{
|
|
||||||
if (chat_timers[i] > 0)
|
|
||||||
chat_timers[i]--;
|
|
||||||
else
|
|
||||||
HU_removeChatText_Mini();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (cechotimer)
|
if (cechotimer)
|
||||||
|
@ -1992,12 +2002,9 @@ void HU_Drawer(void)
|
||||||
// draw desynch text
|
// draw desynch text
|
||||||
if (hu_redownloadinggamestate)
|
if (hu_redownloadinggamestate)
|
||||||
{
|
{
|
||||||
static UINT32 resynch_ticker = 0;
|
|
||||||
char resynch_text[14];
|
char resynch_text[14];
|
||||||
UINT32 i;
|
UINT32 i;
|
||||||
|
|
||||||
// Animate the dots
|
|
||||||
resynch_ticker++;
|
|
||||||
strcpy(resynch_text, "Resynching");
|
strcpy(resynch_text, "Resynching");
|
||||||
for (i = 0; i < (resynch_ticker / 16) % 4; i++)
|
for (i = 0; i < (resynch_ticker / 16) % 4; i++)
|
||||||
strcat(resynch_text, ".");
|
strcat(resynch_text, ".");
|
||||||
|
|
Loading…
Reference in a new issue