106 lines
2.7 KiB
Plaintext
106 lines
2.7 KiB
Plaintext
/*
|
|
* Copyright (c) 2016-2022 Vera Visions LLC.
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
#define TFC_HUD_TEAM_COLOR_RED [1, 0.15, 0.15]
|
|
#define TFC_HUD_TEAM_COLOR_BLUE [0.15, 0.15, 1.0]
|
|
#define TFC_HUD_TEAM_COLOR_GREEN [0.15, 1.0, 0.15]
|
|
#define TFC_HUD_TEAM_COLOR_YELLOW [1.0, 1.0, 0.15]
|
|
|
|
void
|
|
ClientGame_PreDraw(void)
|
|
{
|
|
/* color the HUD according to the team we're on */
|
|
switch (getplayerkeyfloat(player_localnum, "*team")) {
|
|
case 1:
|
|
g_hud_color = TFC_HUD_TEAM_COLOR_BLUE;
|
|
break;
|
|
case 2:
|
|
g_hud_color = TFC_HUD_TEAM_COLOR_RED;
|
|
break;
|
|
case 3:
|
|
g_hud_color = TFC_HUD_TEAM_COLOR_GREEN;
|
|
break;
|
|
case 4:
|
|
g_hud_color = TFC_HUD_TEAM_COLOR_YELLOW;
|
|
break;
|
|
}
|
|
}
|
|
|
|
void
|
|
ClientGame_PostDraw(void)
|
|
{
|
|
player pl = (player)pSeat->m_ePlayer;
|
|
|
|
if (serverkeyfloat("areadefs") == 1) {
|
|
string strArea = getplayerkeyvalue(player_localnum, "*areadef");
|
|
float flOffset = Font_StringWidth(strArea, TRUE, FONT_20) / 2;
|
|
Font_DrawText_A([g_hudmins[0] + 16, g_hudmins[1] + g_hudres[1] - 70], strArea, 0.75, FONT_20);
|
|
}
|
|
|
|
if (pl.g_items & ITEM_GOALITEM) {
|
|
vector vecGoalItemPos;
|
|
int iGoalItemTeam = (int)getplayerkeyfloat(player_localnum, "*goalitem_t");
|
|
|
|
vecGoalItemPos = g_hudmins + [16, (g_hudres[1] / 2) - 32];
|
|
|
|
if (iGoalItemTeam == 1) { /* blue */
|
|
drawsubpic(
|
|
vecGoalItemPos,
|
|
[64,64],
|
|
g_tfchud1_spr,
|
|
[192/256,0/256],
|
|
[64/256, 64/256],
|
|
TFC_HUD_TEAM_COLOR_BLUE,
|
|
1.0f,
|
|
DRAWFLAG_ADDITIVE
|
|
);
|
|
} else if (iGoalItemTeam == 2) { /* red */
|
|
drawsubpic(
|
|
vecGoalItemPos,
|
|
[64,64],
|
|
g_tfchud1_spr,
|
|
[192/256, 62/256],
|
|
[64/256, 64/256],
|
|
TFC_HUD_TEAM_COLOR_RED,
|
|
1.0f,
|
|
DRAWFLAG_ADDITIVE
|
|
);
|
|
} else if (iGoalItemTeam == 3) { /* green */
|
|
drawsubpic(
|
|
vecGoalItemPos,
|
|
[64,64],
|
|
g_tfchud6_spr,
|
|
[192/256, 62/256],
|
|
[64/256, 136/256],
|
|
TFC_HUD_TEAM_COLOR_GREEN,
|
|
1.0f,
|
|
DRAWFLAG_ADDITIVE
|
|
);
|
|
} else { /* yellow */
|
|
drawsubpic(
|
|
vecGoalItemPos,
|
|
[64,64],
|
|
g_tfchud1_spr,
|
|
[0/256,136/256],
|
|
[64/256, 64/256],
|
|
TFC_HUD_TEAM_COLOR_YELLOW,
|
|
1.0f,
|
|
DRAWFLAG_ADDITIVE
|
|
);
|
|
}
|
|
}
|
|
}
|