Multiplayer: Load and display a server message of the day if present.
This commit is contained in:
parent
8dc3da6aac
commit
30ecbd1453
5 changed files with 76 additions and 0 deletions
|
@ -28,9 +28,12 @@ ClientGame_Init(float apilevel, string enginename, float engineversion)
|
|||
registercommand("chooseteam");
|
||||
}
|
||||
|
||||
void VGUI_ShowMOTD();
|
||||
|
||||
void
|
||||
ClientGame_InitDone(void)
|
||||
{
|
||||
VGUI_ShowMOTD();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -40,5 +40,6 @@ scoreboard.qc
|
|||
modelevent.qc
|
||||
|
||||
../../../src/client/include.src
|
||||
vgui_motd.qc
|
||||
../../../src/shared/include.src
|
||||
#endlist
|
||||
|
|
65
src/client/vgui_motd.qc
Normal file
65
src/client/vgui_motd.qc
Normal file
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Marco Cawthorne <marco@icculus.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
void
|
||||
VGUI_ShowMOTD(void)
|
||||
{
|
||||
static int initialized;
|
||||
static VGUIButton winMotdClose;
|
||||
static VGUIWindow winMotd;
|
||||
static VGUILabel winMotdHostname;
|
||||
static VGUILabel winMotdBody;
|
||||
|
||||
static void VGUI_ShowMOTD_Close(void)
|
||||
{
|
||||
winMotd.Hide();
|
||||
}
|
||||
|
||||
if (MOTD_GetLineCount() < 1i)
|
||||
return;
|
||||
|
||||
if (!initialized) {
|
||||
initialized = TRUE;
|
||||
winMotd = spawn(VGUIWindow);
|
||||
winMotd.SetTitle("Message Of The Day");
|
||||
winMotd.SetSize('424 312');
|
||||
winMotd.SetStyleMask(0);
|
||||
|
||||
winMotdClose = spawn(VGUIButton);
|
||||
winMotdClose.SetTitle("OK");
|
||||
winMotdClose.SetPos([16, 266]);
|
||||
winMotdClose.SetSize([160, 30]);
|
||||
winMotdClose.SetFunc(VGUI_ShowMOTD_Close);
|
||||
|
||||
winMotdHostname = spawn(VGUILabel);
|
||||
winMotdHostname.SetTitle(serverkey("hostname"));
|
||||
winMotdHostname.SetTextSize(19);
|
||||
winMotdHostname.SetPos([16, 20]);
|
||||
|
||||
winMotdBody = spawn(VGUILabel);
|
||||
winMotdBody.SetTitle(MOTD_GetTextBody());
|
||||
winMotdBody.SetPos([16, 48]);
|
||||
winMotdBody.SetSize([392, 210]);
|
||||
|
||||
g_uiDesktop.Add(winMotd);
|
||||
winMotd.Add(winMotdClose);
|
||||
winMotd.Add(winMotdHostname);
|
||||
winMotd.Add(winMotdBody);
|
||||
}
|
||||
|
||||
winMotd.Show();
|
||||
winMotd.SetPos((video_res / 2) - (winMotd.GetSize() / 2));
|
||||
}
|
|
@ -43,6 +43,8 @@ HLMultiplayerRules::IsTeamplay(void)
|
|||
void
|
||||
HLMultiplayerRules::InitPostEnts(void)
|
||||
{
|
||||
MOTD_LoadDefault();
|
||||
|
||||
if (IsTeamplay() == true) {
|
||||
int c;
|
||||
|
||||
|
|
5
zpak001.pk3dir/fonts/ui.font
Normal file
5
zpak001.pk3dir/fonts/ui.font
Normal file
|
@ -0,0 +1,5 @@
|
|||
color "255 200 0"
|
||||
alpha 255
|
||||
rendersize "12 19"
|
||||
path fonts/nimbus/NimbusSanL-Reg.otf
|
||||
size 12
|
Loading…
Reference in a new issue