Reworked 586ba9ff6db85b976f074589c5dd7e2d6ff40cd1: Show player ping along with player kills/scores and made it a toggle for HUD configuration so the player can enable it permanently
This commit is contained in:
parent
649475e3bc
commit
ab89dcd366
|
@ -144,6 +144,7 @@ struct player_config : prohibit_void_ptr<player_config>
|
|||
int PRShot;
|
||||
ubyte NoRedundancy;
|
||||
ubyte MultiMessages;
|
||||
ubyte MultiPingHud;
|
||||
ubyte NoRankings;
|
||||
#if defined(DXX_BUILD_DESCENT_I)
|
||||
ubyte BombGauge;
|
||||
|
|
|
@ -464,7 +464,7 @@ static int HandleDemoKey(int key)
|
|||
case KEY_F4: Newdemo_show_percentage = !Newdemo_show_percentage; break;
|
||||
KEY_MAC(case KEY_COMMAND+KEY_7:)
|
||||
case KEY_F7:
|
||||
Show_kill_list = (Show_kill_list+1) % ((Newdemo_game_mode & GM_TEAM) ? 5 : 4);
|
||||
Show_kill_list = (Show_kill_list+1) % ((Newdemo_game_mode & GM_TEAM) ? 4 : 3);
|
||||
break;
|
||||
case KEY_ESC:
|
||||
if (CGameArg.SysAutoDemo)
|
||||
|
@ -819,7 +819,7 @@ static window_event_result HandleSystemKey(int key)
|
|||
|
||||
KEY_MAC(case KEY_COMMAND+KEY_7:)
|
||||
case KEY_F7:
|
||||
Show_kill_list = (Show_kill_list+1) % ((Game_mode & GM_TEAM) ? 5 : 4);
|
||||
Show_kill_list = (Show_kill_list+1) % ((Game_mode & GM_TEAM) ? 4 : 3);
|
||||
if (Game_mode & GM_MULTI)
|
||||
multi_sort_kill_list();
|
||||
break;
|
||||
|
|
|
@ -2822,7 +2822,7 @@ static void hud_show_kill_list()
|
|||
{
|
||||
playernum_t n_players;
|
||||
playernum_array_t player_list;
|
||||
int n_left,i,x0,x1,y,save_y;
|
||||
int n_left,i,x0,x1,x2,y,save_y;
|
||||
|
||||
if (Show_kill_list_timer > 0)
|
||||
{
|
||||
|
@ -2835,7 +2835,7 @@ static void hud_show_kill_list()
|
|||
|
||||
n_players = multi_get_kill_list(player_list);
|
||||
|
||||
if (Show_kill_list == 4)
|
||||
if (Show_kill_list == 3)
|
||||
n_players = 2;
|
||||
|
||||
if (n_players <= 4)
|
||||
|
@ -2869,6 +2869,8 @@ static void hud_show_kill_list()
|
|||
const auto &&fspacx1 = fspacx(1);
|
||||
const auto &&fspacx2 = fspacx(2);
|
||||
const auto &&fspacx18 = fspacx(18);
|
||||
const auto &&fspacx35 = fspacx(35);
|
||||
const auto &&fspacx64 = fspacx(64);
|
||||
x0 = fspacx1;
|
||||
for (i=0;i<n_players;i++) {
|
||||
playernum_t player_num;
|
||||
|
@ -2877,6 +2879,11 @@ static void hud_show_kill_list()
|
|||
if (i>=n_left) {
|
||||
x0 = bmw_x0_cockpit;
|
||||
x1 = bmw_x1_multi;
|
||||
if (PlayerCfg.MultiPingHud)
|
||||
{
|
||||
x0 -= fspacx35;
|
||||
x1 -= fspacx35;
|
||||
}
|
||||
if (i==n_left)
|
||||
y = save_y;
|
||||
|
||||
|
@ -2889,14 +2896,14 @@ static void hud_show_kill_list()
|
|||
x1 -= fspacx18;
|
||||
}
|
||||
|
||||
if (Show_kill_list == 4)
|
||||
if (Show_kill_list == 3)
|
||||
player_num = i;
|
||||
else
|
||||
player_num = player_list[i];
|
||||
|
||||
color_t fontcolor;
|
||||
rgb color;
|
||||
if (Show_kill_list == 1 || Show_kill_list==2 || Show_kill_list==3)
|
||||
if (Show_kill_list == 1 || Show_kill_list==2)
|
||||
{
|
||||
if (Players[player_num].connected != CONNECT_PLAYING)
|
||||
color.r = color.g = color.b = 12;
|
||||
|
@ -2911,7 +2918,7 @@ static void hud_show_kill_list()
|
|||
fontcolor = BM_XRGB(color.r, color.g, color.b);
|
||||
gr_set_fontcolor(fontcolor, -1);
|
||||
|
||||
if (Show_kill_list == 4)
|
||||
if (Show_kill_list == 3)
|
||||
name = Netgame.team_name[i];
|
||||
else if (Game_mode & GM_BOUNTY && player_num == Bounty_target && GameTime64&0x10000)
|
||||
{
|
||||
|
@ -2946,9 +2953,7 @@ static void hud_show_kill_list()
|
|||
);
|
||||
gr_printf(x1, y, "%i%%", eff <= 0 ? 0 : eff);
|
||||
}
|
||||
else if (Show_kill_list == 3)
|
||||
gr_printf(x1,y,"%4dms",Netgame.players[i].ping);
|
||||
else if (Show_kill_list == 4)
|
||||
else if (Show_kill_list == 3)
|
||||
gr_printf(x1,y,"%3d",team_kills[i]);
|
||||
else if (Game_mode & GM_MULTI_COOP)
|
||||
gr_printf(x1,y,"%-6d",Players[player_num].score);
|
||||
|
@ -2957,6 +2962,15 @@ static void hud_show_kill_list()
|
|||
else
|
||||
gr_printf(x1,y,"%3d",Players[player_num].net_kills_total);
|
||||
|
||||
if (PlayerCfg.MultiPingHud && Show_kill_list != 3)
|
||||
{
|
||||
if (Game_mode & GM_MULTI_COOP)
|
||||
x2 = SWIDTH - (fspacx64/2);
|
||||
else
|
||||
x2 = x0 + fspacx64;
|
||||
gr_printf(x2,y,"%4dms",Netgame.players[player_num].ping*44);
|
||||
}
|
||||
|
||||
y += line_spacing;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1442,6 +1442,7 @@ enum {
|
|||
DXX_MENUITEM(VERB, CHECK, "Screenshots without HUD",opt_screenshot,PlayerCfg.PRShot) \
|
||||
DXX_MENUITEM(VERB, CHECK, "No redundant pickup messages",opt_redundant,PlayerCfg.NoRedundancy) \
|
||||
DXX_MENUITEM(VERB, CHECK, "Show Player chat only (Multi)",opt_playerchat,PlayerCfg.MultiMessages) \
|
||||
DXX_MENUITEM(VERB, CHECK, "Show Player ping (Multi)",opt_playerping,PlayerCfg.MultiPingHud) \
|
||||
DXX_MENUITEM(VERB, CHECK, "Cloak/Invulnerability Timers",opt_cloakinvultimer,PlayerCfg.CloakInvulTimer) \
|
||||
DXX_GAME_SPECIFIC_HUDOPTIONS(VERB) \
|
||||
|
||||
|
|
|
@ -159,6 +159,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#define TOGGLES_PRSHOT_NAME_TEXT "prshot"
|
||||
#define TOGGLES_NOREDUNDANCY_NAME_TEXT "noredundancy"
|
||||
#define TOGGLES_MULTIMESSAGES_NAME_TEXT "multimessages"
|
||||
#define TOGGLES_MULTIPINGHUD_NAME_TEXT "multipinghud"
|
||||
#define TOGGLES_NORANKINGS_NAME_TEXT "norankings"
|
||||
#define TOGGLES_AUTOMAPFREEFLIGHT_NAME_TEXT "automapfreeflight"
|
||||
#define TOGGLES_NOFIREAUTOSELECT_NAME_TEXT "nofireautoselect"
|
||||
|
@ -250,6 +251,7 @@ int new_player_config()
|
|||
PlayerCfg.PRShot = 0;
|
||||
PlayerCfg.NoRedundancy = 0;
|
||||
PlayerCfg.MultiMessages = 0;
|
||||
PlayerCfg.MultiPingHud = 0;
|
||||
PlayerCfg.NoRankings = 0;
|
||||
PlayerCfg.AutomapFreeFlight = 0;
|
||||
PlayerCfg.NoFireAutoselect = FiringAutoselectMode::Immediate;
|
||||
|
@ -456,6 +458,8 @@ static void read_player_dxx(const char *filename)
|
|||
PlayerCfg.NoRedundancy = atoi(value);
|
||||
if(!strcmp(line,TOGGLES_MULTIMESSAGES_NAME_TEXT))
|
||||
PlayerCfg.MultiMessages = atoi(value);
|
||||
if(!strcmp(line,TOGGLES_MULTIPINGHUD_NAME_TEXT))
|
||||
PlayerCfg.MultiPingHud = atoi(value);
|
||||
if(!strcmp(line,TOGGLES_NORANKINGS_NAME_TEXT))
|
||||
PlayerCfg.NoRankings = atoi(value);
|
||||
if(!strcmp(line,TOGGLES_AUTOMAPFREEFLIGHT_NAME_TEXT))
|
||||
|
@ -757,6 +761,7 @@ static int write_player_dxx(const char *filename)
|
|||
PHYSFSX_printf(fout,TOGGLES_PRSHOT_NAME_TEXT "=%i\n",PlayerCfg.PRShot);
|
||||
PHYSFSX_printf(fout,TOGGLES_NOREDUNDANCY_NAME_TEXT "=%i\n",PlayerCfg.NoRedundancy);
|
||||
PHYSFSX_printf(fout,TOGGLES_MULTIMESSAGES_NAME_TEXT "=%i\n",PlayerCfg.MultiMessages);
|
||||
PHYSFSX_printf(fout,TOGGLES_MULTIPINGHUD_NAME_TEXT "=%i\n",PlayerCfg.MultiPingHud);
|
||||
PHYSFSX_printf(fout,TOGGLES_NORANKINGS_NAME_TEXT "=%i\n",PlayerCfg.NoRankings);
|
||||
PHYSFSX_printf(fout,TOGGLES_AUTOMAPFREEFLIGHT_NAME_TEXT "=%i\n",PlayerCfg.AutomapFreeFlight);
|
||||
PHYSFSX_printf(fout,TOGGLES_NOFIREAUTOSELECT_NAME_TEXT "=%i\n",static_cast<unsigned>(PlayerCfg.NoFireAutoselect));
|
||||
|
|
Loading…
Reference in a new issue