[HL25] Backport "END3" text message disconnect feature

This commit is contained in:
Joël Troch 2024-08-28 10:03:59 +02:00
parent 87ad6dedd1
commit 32b8903f58
2 changed files with 16 additions and 0 deletions

View file

@ -436,6 +436,7 @@ private:
int m_HUD_title_life;
int m_HUD_title_half;
bool m_bEndAfterMessage;
};
//

View file

@ -58,6 +58,7 @@ void CHudMessage::Reset()
memset(m_pMessages, 0, sizeof(m_pMessages[0]) * maxHUDMessages);
memset(m_startTime, 0, sizeof(m_startTime[0]) * maxHUDMessages);
m_bEndAfterMessage = false;
m_gameTitleTime = 0;
m_pGameTitle = NULL;
}
@ -403,6 +404,12 @@ bool CHudMessage::Draw(float fTime)
{
// The message is over
m_pMessages[i] = NULL;
if (m_bEndAfterMessage)
{
// leave game
gEngfuncs.pfnClientCmd("wait\nwait\nwait\nwait\nwait\nwait\nwait\ndisconnect\n");
}
}
}
}
@ -488,6 +495,14 @@ bool CHudMessage::MsgFunc_HudText(const char* pszName, int iSize, void* pbuf)
char* pString = READ_STRING();
bool bIsEnding = false;
const char* HL1_ENDING_STR = "END3";
if (strlen(pString) == strlen(HL1_ENDING_STR) && strcmp(HL1_ENDING_STR, pString) == 0)
{
m_bEndAfterMessage = true;
}
MessageAdd(pString, gHUD.m_flTime);
// Remember the time -- to fix up level transitions
m_parms.time = gHUD.m_flTime;