From 8d262c9eb27fefbb5a868ab25470319dd3306045 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Sun, 14 Feb 2021 00:20:32 +0100 Subject: [PATCH] Counter-Strike: Make the text-menu use the new Textmenu_Toggle call, so players can exit e.g. the team choice menu. --- cstrike/src/client/cmds.qc | 10 +++++----- src/client/textmenu.h | 4 ++++ src/client/textmenu.qc | 22 ++++++++++++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/cstrike/src/client/cmds.qc b/cstrike/src/client/cmds.qc index a030e963..de5cfca6 100644 --- a/cstrike/src/client/cmds.qc +++ b/cstrike/src/client/cmds.qc @@ -19,19 +19,19 @@ Game_ConsoleCommand(void) { switch(argv(0)) { case "chooseteam": - Textmenu_Call("TEAM_SELECT"); + Textmenu_Toggle("TEAM_SELECT"); break; case "buy": - Textmenu_Call("BUY"); + Textmenu_Toggle("BUY"); break; case "radio1": - Textmenu_Call("RADIOA"); + Textmenu_Toggle("RADIOA"); break; case "radio2": - Textmenu_Call("RADIOB"); + Textmenu_Toggle("RADIOB"); break; case "radio3": - Textmenu_Call("RADIOC"); + Textmenu_Toggle("RADIOC"); break; case "nightvision": /*Nightvision_Toggle();*/ diff --git a/src/client/textmenu.h b/src/client/textmenu.h index 52f11385..233978a1 100644 --- a/src/client/textmenu.h +++ b/src/client/textmenu.h @@ -17,5 +17,9 @@ var string g_textmenu = ""; var float g_textmenucheck = 0.0f; +void Textmenu_Call(string); +void Textmenu_Toggle(string); +int Textmenu_IsActive(void); +void Textmenu_Hide(void); void Textmenu_Input(int); void Textmenu_Draw(void); diff --git a/src/client/textmenu.qc b/src/client/textmenu.qc index 29cda953..070212fb 100644 --- a/src/client/textmenu.qc +++ b/src/client/textmenu.qc @@ -16,6 +16,20 @@ /* Old style Counter-Strike/TFC menus */ +int +Textmenu_IsActive(void) +{ + return (g_textmenu != "") ? TRUE : FALSE; +} + +void +Textmenu_Hide(void) +{ + g_textmenu = ""; + g_textchannels[5].m_flTime = 0.0f; + g_textmenucheck = 0.0f; +} + void Textmenu_Call(string menu) { @@ -23,6 +37,14 @@ Textmenu_Call(string menu) g_textchannels[5].m_flTime = 0.0f; g_textmenucheck = 0.0f; } +void +Textmenu_Toggle(string menu) +{ + if (Textmenu_IsActive()) + Textmenu_Hide(); + else + Textmenu_Call(menu); +} void Textmenu_Draw(void)