From 92982a7c62b989146cd802754aec73f2051d5be0 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Sun, 3 Apr 2011 00:15:08 +0300 Subject: [PATCH] quick implementation of shownames in the HUD. Currently networked via MSG_ONE, not sure that's such a good thing... --- _hud_descriptions.cfg | 10 +++ hud_luminos.cfg | 12 ++- hud_luminos_minimal.cfg | 2 +- hud_luminos_old.cfg | 2 +- hud_luminos_xhair_minimal.cfg | 2 +- hud_nexuiz.cfg | 2 +- qcsrc/client/Defs.qc | 5 ++ qcsrc/client/Main.qc | 14 +++ qcsrc/client/autocvars.qh | 1 + qcsrc/client/hud.qc | 84 ++++++++++++++++++ qcsrc/client/hud.qh | 23 ++++- qcsrc/common/constants.qh | 5 +- qcsrc/common/util.qh | 1 + qcsrc/menu/classes.c | 1 + qcsrc/server/cl_player.qc | 163 ++++++++-------------------------- qcsrc/server/defs.qh | 5 -- qcsrc/server/t_teleporters.qc | 9 -- 17 files changed, 189 insertions(+), 152 deletions(-) diff --git a/_hud_descriptions.cfg b/_hud_descriptions.cfg index 269b07c52..10066e8d6 100644 --- a/_hud_descriptions.cfg +++ b/_hud_descriptions.cfg @@ -215,3 +215,13 @@ seta hud_panel_infomessages_bg_alpha "" "if set to something else than \"\" = ov seta hud_panel_infomessages_bg_border "" "if set to something else than \"\" = override default size of border around the background" seta hud_panel_infomessages_bg_padding "" "if set to something else than \"\" = override default padding of contents from border" seta hud_panel_infomessages_flip "" "1 = align the items to the right" + +seta hud_panel_shownames "" "enable/disable this panel +seta hud_panel_shownames_pos "" "position of this base of the panel" +seta hud_panel_shownames_size "" "size of this panel" +seta hud_panel_shownames_bg "" "if set to something else than \"\" = override default background" +seta hud_panel_shownames_bg_color "" "if set to something else than \"\" = override default panel background color" +seta hud_panel_shownames_bg_color_team "" "override panel color with team color in team based games" +seta hud_panel_shownames_bg_alpha "" "if set to something else than \"\" = override default panel background alpha" +seta hud_panel_shownames_bg_border "" "if set to something else than \"\" = override default size of border around the background" +seta hud_panel_shownames_bg_padding "" "if set to something else than \"\" = override default padding of contents from border" diff --git a/hud_luminos.cfg b/hud_luminos.cfg index 57be0d0a7..90f18262b 100644 --- a/hud_luminos.cfg +++ b/hud_luminos.cfg @@ -20,7 +20,7 @@ seta hud_progressbar_armor_color "0 0.6 0" seta hud_progressbar_fuel_color "0.6 0.6 0" seta hud_progressbar_nexball_color "0.7 0.1 0" -seta _hud_panelorder "12 9 10 5 6 14 0 7 4 11 2 1 3 8 13 " +seta _hud_panelorder "15 12 9 10 5 6 14 0 7 4 11 2 1 3 8 13 " seta hud_configure_grid "1" seta hud_configure_grid_xsize "0.010000" @@ -215,4 +215,14 @@ seta hud_panel_infomessages_bg_border "" seta hud_panel_infomessages_bg_padding "0" seta hud_panel_infomessages_flip "1" +seta hud_panel_shownames 1 +seta hud_panel_shownames_pos "0.350000 0.700000" +seta hud_panel_shownames_size "0.300000 0.050000" +seta hud_panel_shownames_bg "0" +seta hud_panel_shownames_bg_color "" +seta hud_panel_shownames_bg_color_team "" +seta hud_panel_shownames_bg_alpha "" +seta hud_panel_shownames_bg_border "" +seta hud_panel_shownames_bg_padding "0" + menu_sync diff --git a/hud_luminos_minimal.cfg b/hud_luminos_minimal.cfg index fef69f23f..9303212b4 100644 --- a/hud_luminos_minimal.cfg +++ b/hud_luminos_minimal.cfg @@ -20,7 +20,7 @@ seta hud_progressbar_armor_color "0 0.6 0" seta hud_progressbar_fuel_color "0.6 0.6 0" seta hud_progressbar_nexball_color "0.7 0.1 0" -seta _hud_panelorder "10 3 0 14 6 9 13 4 1 2 11 12 7 5 8 " +seta _hud_panelorder "15 10 3 0 14 6 9 13 4 1 2 11 12 7 5 8 " seta hud_configure_grid "1" seta hud_configure_grid_xsize "0.010000" diff --git a/hud_luminos_old.cfg b/hud_luminos_old.cfg index ca8ea38de..1d8446511 100644 --- a/hud_luminos_old.cfg +++ b/hud_luminos_old.cfg @@ -20,7 +20,7 @@ seta hud_progressbar_armor_color "0 0.6 0" seta hud_progressbar_fuel_color "0.6 0.6 0" seta hud_progressbar_nexball_color "0.7 0.1 0" -seta _hud_panelorder "10 9 6 8 14 5 0 4 13 2 7 1 3 11 12 " +seta _hud_panelorder "15 10 9 6 8 14 5 0 4 13 2 7 1 3 11 12 " seta hud_configure_grid "1" seta hud_configure_grid_xsize "0.010000" diff --git a/hud_luminos_xhair_minimal.cfg b/hud_luminos_xhair_minimal.cfg index 80fe445e4..8ba0b58b3 100644 --- a/hud_luminos_xhair_minimal.cfg +++ b/hud_luminos_xhair_minimal.cfg @@ -20,7 +20,7 @@ seta hud_progressbar_armor_color "0 0.6 0" seta hud_progressbar_fuel_color "0.6 0.6 0" seta hud_progressbar_nexball_color "0.7 0.1 0" -seta _hud_panelorder "3 1 2 11 10 0 14 6 9 13 4 12 7 5 8 " +seta _hud_panelorder "15 3 1 2 11 10 0 14 6 9 13 4 12 7 5 8 " seta hud_configure_grid "1" seta hud_configure_grid_xsize "0.010000" diff --git a/hud_nexuiz.cfg b/hud_nexuiz.cfg index cfa50af89..1f012d78c 100644 --- a/hud_nexuiz.cfg +++ b/hud_nexuiz.cfg @@ -20,7 +20,7 @@ seta hud_progressbar_armor_color "0 0.6 0" seta hud_progressbar_fuel_color "0.6 0.6 0" seta hud_progressbar_nexball_color "0.7 0.1 0" -seta _hud_panelorder "0 11 8 5 6 14 9 13 7 2 3 1 10 12 4 " +seta _hud_panelorder "15 0 11 8 5 6 14 9 13 7 2 3 1 10 12 4 " seta hud_configure_grid "1" seta hud_configure_grid_xsize "0.01" diff --git a/qcsrc/client/Defs.qc b/qcsrc/client/Defs.qc index b3b056948..ee296aed7 100644 --- a/qcsrc/client/Defs.qc +++ b/qcsrc/client/Defs.qc @@ -273,3 +273,8 @@ float nex_charge_movingavg; float serverflags; float uid2name_dialog; + +string shownames_netname; +float shownames_health; +float shownames_armor; +float shownames_time; diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 91ce46479..d20864032 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -1329,6 +1329,16 @@ void Net_WeaponComplain() { weapontime = time; // ping the weapon panel } +void Net_ShowNames() +{ + if(shownames_netname) + strunzone(shownames_netname); + shownames_netname = strzone(ReadString()); + shownames_health = ReadByte(); + shownames_armor = ReadByte(); + shownames_time = time + 0.25; +} + // CSQC_Parse_TempEntity : Handles all temporary entity network data in the CSQC layer. // You must ALWAYS first acquire the temporary ID, which is sent as a byte. // Return value should be 1 if CSQC handled the temporary entity, otherwise return 0 to have the engine process the event. @@ -1399,6 +1409,10 @@ float CSQC_Parse_TempEntity() Net_WeaponComplain(); bHandled = true; break; + case TE_CSQC_SHOWNAMES: + Net_ShowNames(); + bHandled = true; + break; default: // No special logic for this temporary entity; return 0 so the engine can handle it bHandled = false; diff --git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh index e11266ce0..42528ef1d 100644 --- a/qcsrc/client/autocvars.qh +++ b/qcsrc/client/autocvars.qh @@ -237,6 +237,7 @@ float autocvar_hud_panel_radar_rotation; float autocvar_hud_panel_radar_scale; float autocvar_hud_panel_radar_zoommode; float autocvar_hud_panel_score; +float autocvar_hud_panel_shownames; float autocvar_hud_panel_timer; float autocvar_hud_panel_timer_increment; float autocvar_hud_panel_vote; diff --git a/qcsrc/client/hud.qc b/qcsrc/client/hud.qc index 4dfb60c2d..d68f6322d 100644 --- a/qcsrc/client/hud.qc +++ b/qcsrc/client/hud.qc @@ -5003,6 +5003,88 @@ void HUD_InfoMessages(void) } } +// ShowNames (#15) +// +float shownames_alpha; +void HUD_ShowNames(void) +{ + if(shownames_time < time && shownames_alpha == 0 && !autocvar__hud_configure) + return; + + if(autocvar__hud_configure) + { + shownames_alpha = 1; + } + else + { + if(shownames_time < time) + shownames_alpha = bound(0, shownames_alpha - 2 * frametime, 1); + else + shownames_alpha = bound(0, shownames_alpha + 4 * frametime, 1); + } + + + if(!autocvar_hud_panel_shownames && !autocvar__hud_configure) + return; + + active_panel = HUD_PANEL_SHOWNAMES; + HUD_Panel_UpdateCvars(shownames); + panel_fg_alpha *= shownames_alpha; + vector myPos, mySize; + myPos = panel_pos; + mySize = panel_size; + + HUD_Panel_DrawBg(shownames_alpha); + if(panel_bg_padding) + { + myPos += '1 1 0' * panel_bg_padding; + mySize -= '2 2 0' * panel_bg_padding; + } + + vector iconpos, iconsize; + vector namepos, namesize; + if(mySize_x/mySize_y > 6) + { + iconpos = myPos; + iconsize = eX * 2 * mySize_y + eY * mySize_y; + + namepos = myPos + eX * 2 * mySize_y; + namesize = eX * mySize_x - eX * 2 * mySize_y + eY * mySize_y; + } + else + { + iconpos = myPos + eX * 0.5 * mySize_x - eX * 0.5 * mySize_y; + iconsize = eX * mySize_y + eY * 0.5 * mySize_y; + + namepos = myPos + eY * 0.5 * mySize_y; + namesize = eX * mySize_x + eY * 0.5 * mySize_y; + } + + if(shownames_health > 0) // otherwise player is an enemy + { + // "ghost" backgrounds + drawpic_aspect_skin(iconpos, "health", '1 1 0' * iconsize_y, '0 0 0', panel_fg_alpha * 0.5, DRAWFLAG_NORMAL); + drawpic_aspect_skin(iconpos + '0.5 0 0' * iconsize_x, "armor", '1 1 0' * iconsize_y, '0 0 0', panel_fg_alpha * 0.5, DRAWFLAG_NORMAL); + + drawsetcliparea(0, myPos_y + iconsize_y - iconsize_y * min(1, shownames_health/200), vid_conwidth, myPos_y + iconsize_y); + drawpic_aspect_skin(iconpos, "health", '1 1 0' * iconsize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + + drawsetcliparea(0, myPos_y + iconsize_y - iconsize_y * min(1, shownames_armor/200), vid_conwidth, myPos_y + iconsize_y); + drawpic_aspect_skin(iconpos + '0.5 0 0' * iconsize_x, "armor", '1 1 0' * iconsize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawresetcliparea(); + } + else + { + drawpic_aspect_skin(iconpos, "health_unknown", '1 1 0' * iconsize_y, '0 0 0', panel_fg_alpha, DRAWFLAG_NORMAL); + drawpic_aspect_skin(iconpos + '0.5 0 0' * iconsize_x, "armor_unknown", '1 1 0' * iconsize_y, '0 0 0', panel_fg_alpha, DRAWFLAG_NORMAL); + } + + if(autocvar__hud_configure) + drawcolorcodedstring_aspect(namepos, "Player1234", namesize, panel_fg_alpha, DRAWFLAG_NORMAL); + else + drawcolorcodedstring_aspect(namepos, shownames_netname, namesize, panel_fg_alpha, DRAWFLAG_NORMAL); +} + /* ================== Main HUD system @@ -5143,6 +5225,8 @@ switch (id) {\ HUD_EngineInfo(); break;\ case (HUD_PANEL_INFOMESSAGES):\ HUD_InfoMessages(); break;\ + case (HUD_PANEL_SHOWNAMES):\ + HUD_ShowNames(); break;\ } ENDS_WITH_CURLY_BRACE void HUD_Main (void) diff --git a/qcsrc/client/hud.qh b/qcsrc/client/hud.qh index 21e3746b5..d0c1b1a90 100644 --- a/qcsrc/client/hud.qh +++ b/qcsrc/client/hud.qh @@ -266,7 +266,16 @@ if(menu_enabled == 2 && active_panel == highlightedPanel) {\ HUD_Panel_GetMenuPos()\ } ENDS_WITH_CURLY_BRACE +// FTEQCC I HATE YOU WHY DO YOU MAKE ME DO THIS??? :( +// max macro length is 1024 characters, I must split it up :( + // Update all common cvars of given panel id +#define HUD_Panel_UpdateCvarsForId2(id) \ +switch(id) { \ + case HUD_PANEL_INFOMESSAGES: HUD_Panel_UpdateCvars(infomessages) break; \ + case HUD_PANEL_SHOWNAMES: HUD_Panel_UpdateCvars(shownames) break; \ +} + #define HUD_Panel_UpdateCvarsForId(id) \ switch(id) { \ case HUD_PANEL_WEAPONS: HUD_Panel_UpdateCvars(weapons) break; \ @@ -283,8 +292,8 @@ switch(id) { \ case HUD_PANEL_PRESSEDKEYS: HUD_Panel_UpdateCvars(pressedkeys) break; \ case HUD_PANEL_CHAT: HUD_Panel_UpdateCvars(chat) break; \ case HUD_PANEL_ENGINEINFO: HUD_Panel_UpdateCvars(engineinfo) break; \ - case HUD_PANEL_INFOMESSAGES: HUD_Panel_UpdateCvars(infomessages) break; \ -} +} \ +HUD_Panel_UpdateCvarsForId2(id) #define HUD_Panel_UpdatePosSize(name) \ panel_pos = stov(cvar_string("hud_panel_" #name "_pos")); \ @@ -298,6 +307,12 @@ panel_bg_border_str = cvar_string("hud_panel_" #name "_bg_border"); \ HUD_Panel_GetBorder() // Update pos and size of given panel id +#define HUD_Panel_UpdatePosSizeForId2(id) \ +switch(id) { \ + case HUD_PANEL_INFOMESSAGES: HUD_Panel_UpdatePosSize(infomessages)\ + case HUD_PANEL_SHOWNAMES: HUD_Panel_UpdatePosSize(shownames)\ +} + #define HUD_Panel_UpdatePosSizeForId(id) \ switch(id) { \ case HUD_PANEL_WEAPONS: HUD_Panel_UpdatePosSize(weapons) break;\ @@ -314,5 +329,5 @@ switch(id) { \ case HUD_PANEL_PRESSEDKEYS: HUD_Panel_UpdatePosSize(pressedkeys) break;\ case HUD_PANEL_CHAT: HUD_Panel_UpdatePosSize(chat) break;\ case HUD_PANEL_ENGINEINFO: HUD_Panel_UpdatePosSize(engineinfo) break;\ - case HUD_PANEL_INFOMESSAGES: HUD_Panel_UpdatePosSize(infomessages)\ -} +} \ +HUD_Panel_UpdatePosSizeForId2(id) diff --git a/qcsrc/common/constants.qh b/qcsrc/common/constants.qh index 419ab73e8..9ea8a5e75 100644 --- a/qcsrc/common/constants.qh +++ b/qcsrc/common/constants.qh @@ -63,6 +63,7 @@ const float TE_CSQC_NOTIFY = 112; const float TE_CSQC_WEAPONCOMPLAIN = 113; const float TE_CSQC_NEX_SCOPE = 116; const float TE_CSQC_MINELAYER_MAXMINES = 117; +const float TE_CSQC_SHOWNAMES = 118; const float RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder const float RACE_NET_CHECKPOINT_CLEAR = 1; @@ -643,7 +644,8 @@ float HUD_PANEL_PRESSEDKEYS = 11; float HUD_PANEL_CHAT = 12; float HUD_PANEL_ENGINEINFO = 13; float HUD_PANEL_INFOMESSAGES = 14; -float HUD_PANEL_NUM = 15; // always last panel id + 1, please increment when adding a new panel +float HUD_PANEL_SHOWNAMES = 15; +float HUD_PANEL_NUM = 16; // always last panel id + 1, please increment when adding a new panel string HUD_PANELNAME_WEAPONS = "weapons"; string HUD_PANELNAME_AMMO = "ammo"; @@ -660,6 +662,7 @@ string HUD_PANELNAME_PRESSEDKEYS = "pressedkeys"; string HUD_PANELNAME_CHAT = "chat"; string HUD_PANELNAME_ENGINEINFO = "engineinfo"; string HUD_PANELNAME_INFOMESSAGES = "infomessages"; +string HUD_PANELNAME_SHOWNAMES = "shownames"; float HUD_MENU_ENABLE = 0; diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index a15855753..56a24e690 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -219,6 +219,7 @@ float get_model_parameters(string mod, float skn); // call with string_null to c switch(id) {\ case HUD_PANEL_ENGINEINFO: panel_name = HUD_PANELNAME_ENGINEINFO; break; \ case HUD_PANEL_INFOMESSAGES: panel_name = HUD_PANELNAME_INFOMESSAGES; break; \ + case HUD_PANEL_SHOWNAMES: panel_name = HUD_PANELNAME_SHOWNAMES; break; \ } ENDS_WITH_CURLY_BRACE // Get name of specified panel id diff --git a/qcsrc/menu/classes.c b/qcsrc/menu/classes.c index b85546569..c93fda6f9 100644 --- a/qcsrc/menu/classes.c +++ b/qcsrc/menu/classes.c @@ -102,5 +102,6 @@ #include "xonotic/dialog_hudpanel_chat.c" #include "xonotic/dialog_hudpanel_engineinfo.c" #include "xonotic/dialog_hudpanel_infomessages.c" +#include "xonotic/dialog_hudpanel_shownames.c" #include "xonotic/dialog_hudpanel_weapons.c" #include "xonotic/slider_picmip.c" diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 035114b25..2945c6efb 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -604,8 +604,6 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht { // become fully visible self.alpha = 1; - // clear selected player display - ClearSelectedPlayer(); // throw a weapon SpawnThrownWeapon (self.origin + (self.mins + self.maxs) * 0.5, self.switchweapon); } @@ -734,64 +732,28 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht } } -float UpdateSelectedPlayer_countvalue(float v) +void net_shownames(entity selected, float teammate) { - return max(0, (v - 1.0) / 0.5); -} - -// returns: -2 if no hit, otherwise cos of the angle -// uses the global v_angle -float UpdateSelectedPlayer_canSee(entity p, float mincosangle, float maxdist) -{ - vector so, d; - float c; - - if(p == self) - return -2; - - if(p.deadflag) - return -2; - - so = self.origin + self.view_ofs; - d = p.origin - so; - - // misaimed? - if(dist_point_line(d, '0 0 0', v_forward) > maxdist) - return -2; - - // now find the cos of the angle... - c = normalize(d) * v_forward; - - if(c <= mincosangle) - return -2; - - // not visible in any way? forget it - if(!checkpvs(so, p)) - return -2; - - traceline(so, p.origin, MOVE_NOMONSTERS, self); - if(trace_fraction < 1) - return -2; - - return c; -} - -void ClearSelectedPlayer() -{ - if(self.selected_player) - { - centerprint_expire(self, CENTERPRIO_POINT); - self.selected_player = world; - self.selected_player_display_needs_update = FALSE; - } + float teammate_health, teammate_armor; + if(teammate) + { + teammate_health = selected.health; + teammate_armor = selected.armorvalue; + } + + WRITESPECTATABLE_MSG_ONE({ + WriteByte(MSG_ONE, SVC_TEMPENTITY); + WriteByte(MSG_ONE, TE_CSQC_SHOWNAMES); + WriteString(MSG_ONE, playername(selected)); + WriteByte(MSG_ONE, teammate_health); + WriteByte(MSG_ONE, teammate_armor); + }); } void UpdateSelectedPlayer() { - entity selected; - float selected_score; - selected = world; - selected_score = 0.95; // 18 degrees + entity selected; + selected = world; if(!autocvar_sv_allow_shownames) return; @@ -802,84 +764,29 @@ void UpdateSelectedPlayer() if(self.cvar_cl_shownames == 0) return; - if(self.cvar_cl_shownames == 1 && !teams_matter) - return; - makevectors(self.v_angle); // sets v_forward - // 1. cursor trace is always right - WarpZone_crosshair_trace(self); - if(trace_ent && trace_ent.classname == "player" && !trace_ent.deadflag) - { - selected = trace_ent; - } - else - { - // 2. if we don't have a cursor trace, find the player which is least - // mis-aimed at - entity p; - FOR_EACH_PLAYER(p) - { - float c; - c = UpdateSelectedPlayer_canSee(p, selected_score, 100); // 100 = 2.5 meters - if(c >= -1) - { - selected = p; - selected_score = c; - } - } - } + // cursor trace + if(self.selected_player_display_timeout < time) + { + WarpZone_crosshair_trace(self); + if(trace_ent && trace_ent.classname == "player" && !trace_ent.deadflag) + { + selected = trace_ent; + self.last_selected_player = selected; + self.selected_player_display_timeout = time + 0.1; // update at 0.1s intervals + } + } if(selected) { - self.selected_player_display_timeout = time + self.cvar_scr_centertime; - } - else - { - if(time < self.selected_player_display_timeout) - if(UpdateSelectedPlayer_canSee(self.selected_player, 0.7, 200) >= -1) // 5 meters, 45 degrees - selected = self.selected_player; - } - - if(selected) - { - if(selected == self.selected_player) - { - float save; - save = UpdateSelectedPlayer_countvalue(self.selected_player_count); - self.selected_player_count = self.selected_player_count + frametime; - if(save != UpdateSelectedPlayer_countvalue(self.selected_player_count)) - { - string namestr, healthstr; - namestr = playername(selected); - if(teams_matter) - { - healthstr = ftos(floor(selected.health)); - if(self.team == selected.team) - { - namestr = strcat(namestr, " (", healthstr, "%)"); - self.selected_player_display_needs_update = TRUE; - } - } - centerprint_atprio(self, CENTERPRIO_POINT, namestr); - } - } - else - { - ClearSelectedPlayer(); - self.selected_player = selected; - self.selected_player_time = time; - self.selected_player_count = 0; - self.selected_player_display_needs_update = FALSE; - } - } - else - { - ClearSelectedPlayer(); - } - - if(self.selected_player) - self.last_selected_player = self.selected_player; + msg_entity = self; + if(teams_matter) + if(self.team == selected.team) + net_shownames(selected, 1); + else + net_shownames(selected, 0); + } } .float muted; // to be used by prvm_edictset server playernumber muted 1 diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index d7179fafe..47f4a4aea 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -363,12 +363,7 @@ float W_WeaponBit(float wpn); string W_Name(float weaponid); void UpdateSelectedPlayer(); -void ClearSelectedPlayer(); -.entity selected_player; .entity last_selected_player; -.float selected_player_time; // when this player has been selected -.float selected_player_count; // how long this player has been directly pointed to -.float selected_player_display_needs_update; // are regular updates necessary? (health) .float selected_player_display_timeout; // when the selection will time out void FixIntermissionClient(entity e); diff --git a/qcsrc/server/t_teleporters.qc b/qcsrc/server/t_teleporters.qc index 93ced8267..2e64eadd7 100644 --- a/qcsrc/server/t_teleporters.qc +++ b/qcsrc/server/t_teleporters.qc @@ -77,7 +77,6 @@ void spawn_tdeath(vector v0, entity e, vector v) #define TELEPORT_FLAGS_TELEPORTER (TELEPORT_FLAG_SOUND | TELEPORT_FLAG_PARTICLES | TELEPORT_FLAG_TDEATH) void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angles, vector to_velocity, vector telefragmin, vector telefragmax, float tflags) { - entity oldself; entity telefragger; vector from; @@ -136,14 +135,6 @@ void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angle } player.lastteleporttime = time; - - // stop player name display - { - oldself = self; - self = player; - ClearSelectedPlayer(); - self = oldself; - } } } -- 2.39.2