From 639067a0038b2265e2dbca6cea2b446b945a986c Mon Sep 17 00:00:00 2001 From: ac-stef Date: Fri, 5 Aug 2016 16:26:24 +0200 Subject: [PATCH] add new ktf flag direction indicator enabled by default, disable with "hidektfindicator 1" DOCREF hidektfindicator --- config/menus_settings.cfg | 1 + source/src/geom.h | 1 + source/src/renderhud.cpp | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/config/menus_settings.cfg b/config/menus_settings.cfg index ea9136c4..cea48d0f 100644 --- a/config/menus_settings.cfg +++ b/config/menus_settings.cfg @@ -532,6 +532,7 @@ menuitemcheckbox [ Damage direction indicator ] "(= $hidedamageindicator 0)" [ menuitemcheckbox [ Damage screen flash ] "$damagescreen" [ damagescreen $arg1 ] menuitemcheckbox [ Crosshair team-sign ] "$crosshairteamsign" [ crosshairteamsign $arg1 ] menuitemcheckbox [ CTF icons ] "(= $hidectfhud 0)" [ hidectfhud (= $arg1 0) ] +menuitemcheckbox [ KTF flag direction indicator ] "(! $hidektfindicator)" [ hidektfindicator (! $arg1) ] menuitemcheckbox [ Radar ] "(= $hideradar 0)" [ hideradar (= $arg1 0) ] menuitemslider [ Radar zoom: ] 5 500 [ $radarheight ] 5 [][ radarheight $arg1 ] menuitemslider [ Votes: ] 0 2 "$hidevote" 1 ["Always show" "Show until you vote" "Never show"] [ hidevote $arg1 ] diff --git a/source/src/geom.h b/source/src/geom.h index 449ab27a..ee26013e 100644 --- a/source/src/geom.h +++ b/source/src/geom.h @@ -44,6 +44,7 @@ struct vec float distxy(const vec &e) const { float dx = e.x - x, dy = e.y - y; return sqrtf(dx*dx + dy*dy); } float magnitudexy() const { return sqrtf(x*x + y*y); } + float anglexy() const { return atan2f(x, y) / RAD; } bool reject(const vec &o, float max) const { return x>o.x+max || xo.y+max || yo; + } + if(flagpos.x > 0 && flagpos.y > 0) + { + flagpos.sub(player1->o); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glDisable(GL_TEXTURE_2D); + glPushMatrix(); + glColor4f(0.7f, 0.7f, 0.0f, 0.7f); + glTranslatef(VIRTW/2, VIRTH/2, 0); + glRotatef(180.0f - player1->yaw - flagpos.anglexy(), 0, 0, 1); + glTranslatef(0, -200.0f, 0); // dist + glBegin(GL_TRIANGLE_STRIP); + glVertex3f(20.0f, 50.0f, 0.0f); + glVertex3f(0.0f, 0.0f, 0.0f); + glVertex3f(0.0f, 40.0f, 0.0f); + glVertex3f(-20.0f, 50.0f, 0.0f); + glEnd(); + glPopMatrix(); + glEnable(GL_TEXTURE_2D); + } +} + extern int oldfashionedgunstats; void drawequipicons(playerent *p) @@ -797,6 +830,7 @@ void gl_drawhud(int w, int h, int curfps, int nquads, int curvert, bool underwat { bool drawteamwarning = crosshairteamsign && targetplayer && isteam(targetplayer->team, p->team) && targetplayer->state==CS_ALIVE; p->weaponsel->renderaimhelp(drawteamwarning); + drawktfindicator(); } drawdmgindicator();