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;
|
int PRShot;
|
||||||
ubyte NoRedundancy;
|
ubyte NoRedundancy;
|
||||||
ubyte MultiMessages;
|
ubyte MultiMessages;
|
||||||
|
ubyte MultiPingHud;
|
||||||
ubyte NoRankings;
|
ubyte NoRankings;
|
||||||
#if defined(DXX_BUILD_DESCENT_I)
|
#if defined(DXX_BUILD_DESCENT_I)
|
||||||
ubyte BombGauge;
|
ubyte BombGauge;
|
||||||
|
|
|
@ -464,7 +464,7 @@ static int HandleDemoKey(int key)
|
||||||
case KEY_F4: Newdemo_show_percentage = !Newdemo_show_percentage; break;
|
case KEY_F4: Newdemo_show_percentage = !Newdemo_show_percentage; break;
|
||||||
KEY_MAC(case KEY_COMMAND+KEY_7:)
|
KEY_MAC(case KEY_COMMAND+KEY_7:)
|
||||||
case KEY_F7:
|
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;
|
break;
|
||||||
case KEY_ESC:
|
case KEY_ESC:
|
||||||
if (CGameArg.SysAutoDemo)
|
if (CGameArg.SysAutoDemo)
|
||||||
|
@ -819,7 +819,7 @@ static window_event_result HandleSystemKey(int key)
|
||||||
|
|
||||||
KEY_MAC(case KEY_COMMAND+KEY_7:)
|
KEY_MAC(case KEY_COMMAND+KEY_7:)
|
||||||
case KEY_F7:
|
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)
|
if (Game_mode & GM_MULTI)
|
||||||
multi_sort_kill_list();
|
multi_sort_kill_list();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -2822,7 +2822,7 @@ static void hud_show_kill_list()
|
||||||
{
|
{
|
||||||
playernum_t n_players;
|
playernum_t n_players;
|
||||||
playernum_array_t player_list;
|
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)
|
if (Show_kill_list_timer > 0)
|
||||||
{
|
{
|
||||||
|
@ -2835,7 +2835,7 @@ static void hud_show_kill_list()
|
||||||
|
|
||||||
n_players = multi_get_kill_list(player_list);
|
n_players = multi_get_kill_list(player_list);
|
||||||
|
|
||||||
if (Show_kill_list == 4)
|
if (Show_kill_list == 3)
|
||||||
n_players = 2;
|
n_players = 2;
|
||||||
|
|
||||||
if (n_players <= 4)
|
if (n_players <= 4)
|
||||||
|
@ -2869,6 +2869,8 @@ static void hud_show_kill_list()
|
||||||
const auto &&fspacx1 = fspacx(1);
|
const auto &&fspacx1 = fspacx(1);
|
||||||
const auto &&fspacx2 = fspacx(2);
|
const auto &&fspacx2 = fspacx(2);
|
||||||
const auto &&fspacx18 = fspacx(18);
|
const auto &&fspacx18 = fspacx(18);
|
||||||
|
const auto &&fspacx35 = fspacx(35);
|
||||||
|
const auto &&fspacx64 = fspacx(64);
|
||||||
x0 = fspacx1;
|
x0 = fspacx1;
|
||||||
for (i=0;i<n_players;i++) {
|
for (i=0;i<n_players;i++) {
|
||||||
playernum_t player_num;
|
playernum_t player_num;
|
||||||
|
@ -2877,6 +2879,11 @@ static void hud_show_kill_list()
|
||||||
if (i>=n_left) {
|
if (i>=n_left) {
|
||||||
x0 = bmw_x0_cockpit;
|
x0 = bmw_x0_cockpit;
|
||||||
x1 = bmw_x1_multi;
|
x1 = bmw_x1_multi;
|
||||||
|
if (PlayerCfg.MultiPingHud)
|
||||||
|
{
|
||||||
|
x0 -= fspacx35;
|
||||||
|
x1 -= fspacx35;
|
||||||
|
}
|
||||||
if (i==n_left)
|
if (i==n_left)
|
||||||
y = save_y;
|
y = save_y;
|
||||||
|
|
||||||
|
@ -2889,14 +2896,14 @@ static void hud_show_kill_list()
|
||||||
x1 -= fspacx18;
|
x1 -= fspacx18;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Show_kill_list == 4)
|
if (Show_kill_list == 3)
|
||||||
player_num = i;
|
player_num = i;
|
||||||
else
|
else
|
||||||
player_num = player_list[i];
|
player_num = player_list[i];
|
||||||
|
|
||||||
color_t fontcolor;
|
color_t fontcolor;
|
||||||
rgb color;
|
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)
|
if (Players[player_num].connected != CONNECT_PLAYING)
|
||||||
color.r = color.g = color.b = 12;
|
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);
|
fontcolor = BM_XRGB(color.r, color.g, color.b);
|
||||||
gr_set_fontcolor(fontcolor, -1);
|
gr_set_fontcolor(fontcolor, -1);
|
||||||
|
|
||||||
if (Show_kill_list == 4)
|
if (Show_kill_list == 3)
|
||||||
name = Netgame.team_name[i];
|
name = Netgame.team_name[i];
|
||||||
else if (Game_mode & GM_BOUNTY && player_num == Bounty_target && GameTime64&0x10000)
|
else if (Game_mode & GM_BOUNTY && player_num == Bounty_target && GameTime64&0x10000)
|
||||||
{
|
{
|
||||||
|
@ -2947,8 +2954,6 @@ static void hud_show_kill_list()
|
||||||
gr_printf(x1, y, "%i%%", eff <= 0 ? 0 : eff);
|
gr_printf(x1, y, "%i%%", eff <= 0 ? 0 : eff);
|
||||||
}
|
}
|
||||||
else if (Show_kill_list == 3)
|
else if (Show_kill_list == 3)
|
||||||
gr_printf(x1,y,"%4dms",Netgame.players[i].ping);
|
|
||||||
else if (Show_kill_list == 4)
|
|
||||||
gr_printf(x1,y,"%3d",team_kills[i]);
|
gr_printf(x1,y,"%3d",team_kills[i]);
|
||||||
else if (Game_mode & GM_MULTI_COOP)
|
else if (Game_mode & GM_MULTI_COOP)
|
||||||
gr_printf(x1,y,"%-6d",Players[player_num].score);
|
gr_printf(x1,y,"%-6d",Players[player_num].score);
|
||||||
|
@ -2957,6 +2962,15 @@ static void hud_show_kill_list()
|
||||||
else
|
else
|
||||||
gr_printf(x1,y,"%3d",Players[player_num].net_kills_total);
|
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;
|
y += line_spacing;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1442,6 +1442,7 @@ enum {
|
||||||
DXX_MENUITEM(VERB, CHECK, "Screenshots without HUD",opt_screenshot,PlayerCfg.PRShot) \
|
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, "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 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_MENUITEM(VERB, CHECK, "Cloak/Invulnerability Timers",opt_cloakinvultimer,PlayerCfg.CloakInvulTimer) \
|
||||||
DXX_GAME_SPECIFIC_HUDOPTIONS(VERB) \
|
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_PRSHOT_NAME_TEXT "prshot"
|
||||||
#define TOGGLES_NOREDUNDANCY_NAME_TEXT "noredundancy"
|
#define TOGGLES_NOREDUNDANCY_NAME_TEXT "noredundancy"
|
||||||
#define TOGGLES_MULTIMESSAGES_NAME_TEXT "multimessages"
|
#define TOGGLES_MULTIMESSAGES_NAME_TEXT "multimessages"
|
||||||
|
#define TOGGLES_MULTIPINGHUD_NAME_TEXT "multipinghud"
|
||||||
#define TOGGLES_NORANKINGS_NAME_TEXT "norankings"
|
#define TOGGLES_NORANKINGS_NAME_TEXT "norankings"
|
||||||
#define TOGGLES_AUTOMAPFREEFLIGHT_NAME_TEXT "automapfreeflight"
|
#define TOGGLES_AUTOMAPFREEFLIGHT_NAME_TEXT "automapfreeflight"
|
||||||
#define TOGGLES_NOFIREAUTOSELECT_NAME_TEXT "nofireautoselect"
|
#define TOGGLES_NOFIREAUTOSELECT_NAME_TEXT "nofireautoselect"
|
||||||
|
@ -250,6 +251,7 @@ int new_player_config()
|
||||||
PlayerCfg.PRShot = 0;
|
PlayerCfg.PRShot = 0;
|
||||||
PlayerCfg.NoRedundancy = 0;
|
PlayerCfg.NoRedundancy = 0;
|
||||||
PlayerCfg.MultiMessages = 0;
|
PlayerCfg.MultiMessages = 0;
|
||||||
|
PlayerCfg.MultiPingHud = 0;
|
||||||
PlayerCfg.NoRankings = 0;
|
PlayerCfg.NoRankings = 0;
|
||||||
PlayerCfg.AutomapFreeFlight = 0;
|
PlayerCfg.AutomapFreeFlight = 0;
|
||||||
PlayerCfg.NoFireAutoselect = FiringAutoselectMode::Immediate;
|
PlayerCfg.NoFireAutoselect = FiringAutoselectMode::Immediate;
|
||||||
|
@ -456,6 +458,8 @@ static void read_player_dxx(const char *filename)
|
||||||
PlayerCfg.NoRedundancy = atoi(value);
|
PlayerCfg.NoRedundancy = atoi(value);
|
||||||
if(!strcmp(line,TOGGLES_MULTIMESSAGES_NAME_TEXT))
|
if(!strcmp(line,TOGGLES_MULTIMESSAGES_NAME_TEXT))
|
||||||
PlayerCfg.MultiMessages = atoi(value);
|
PlayerCfg.MultiMessages = atoi(value);
|
||||||
|
if(!strcmp(line,TOGGLES_MULTIPINGHUD_NAME_TEXT))
|
||||||
|
PlayerCfg.MultiPingHud = atoi(value);
|
||||||
if(!strcmp(line,TOGGLES_NORANKINGS_NAME_TEXT))
|
if(!strcmp(line,TOGGLES_NORANKINGS_NAME_TEXT))
|
||||||
PlayerCfg.NoRankings = atoi(value);
|
PlayerCfg.NoRankings = atoi(value);
|
||||||
if(!strcmp(line,TOGGLES_AUTOMAPFREEFLIGHT_NAME_TEXT))
|
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_PRSHOT_NAME_TEXT "=%i\n",PlayerCfg.PRShot);
|
||||||
PHYSFSX_printf(fout,TOGGLES_NOREDUNDANCY_NAME_TEXT "=%i\n",PlayerCfg.NoRedundancy);
|
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_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_NORANKINGS_NAME_TEXT "=%i\n",PlayerCfg.NoRankings);
|
||||||
PHYSFSX_printf(fout,TOGGLES_AUTOMAPFREEFLIGHT_NAME_TEXT "=%i\n",PlayerCfg.AutomapFreeFlight);
|
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));
|
PHYSFSX_printf(fout,TOGGLES_NOFIREAUTOSELECT_NAME_TEXT "=%i\n",static_cast<unsigned>(PlayerCfg.NoFireAutoselect));
|
||||||
|
|
Loading…
Reference in a new issue