X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fwaypointsprites.qc;h=7ee34672c5caa087b242ef27aad7b8d3e64f8363;hb=59ee6e0f35a47970a544835449e58ff7073d6382;hp=cde516b623dd0bbeafb6dd5b10c8382c5c491b81;hpb=02c69da4fd008a0291ebdd8b88129f86b3108e74;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/waypointsprites.qc b/qcsrc/client/waypointsprites.qc index cde516b62..7ee34672c 100644 --- a/qcsrc/client/waypointsprites.qc +++ b/qcsrc/client/waypointsprites.qc @@ -115,39 +115,31 @@ void drawhealthbar(vector org, float rot, float h, vector sz, vector hotspot, fl // returns location of sprite text vector drawspritearrow(vector o, float ang, vector rgb, float a, float t) { - float SQRT2 = 1.414; - float BORDER; BORDER = 1.5 * t; - float TSIZE; TSIZE = 8 * t; - float RLENGTH; RLENGTH = 8 * t; - float RWIDTH; RWIDTH = 4 * t; - float MLENGTH; MLENGTH = 4 * t; + float size = 9.0 * t; + float border = 1.5 * t; + float margin = 4.0 * t; + + float borderDiag = border * 1.414; + vector arrowX = eX * size; + vector arrowY = eY * (size+borderDiag); + vector borderX = eX * (size+borderDiag); + vector borderY = eY * (size+borderDiag+border); R_BeginPolygon("", DRAWFLAG_NORMAL); - R_PolygonVertex(o + rotate(eX * -(TSIZE + BORDER * (1 + SQRT2)) + eY * (TSIZE + BORDER), ang), '0 0 0', '0 0 0', a); - R_PolygonVertex(o + rotate(eX * (TSIZE + BORDER * (1 + SQRT2)) + eY * (TSIZE + BORDER), ang), '0 0 0', '0 0 0', a); - R_PolygonVertex(o + rotate(eY * -( BORDER * SQRT2), ang), '0 0 0', '0 0 0', a); - R_EndPolygon(); - R_BeginPolygon("", DRAWFLAG_NORMAL); - R_PolygonVertex(o + rotate(eX * -(RWIDTH + BORDER) + eY * (TSIZE + BORDER), ang), '0 0 0', '0 0 0', a); - R_PolygonVertex(o + rotate(eX * -(RWIDTH + BORDER) + eY * (TSIZE + RLENGTH + BORDER), ang), '0 0 0', '0 0 0', a); - R_PolygonVertex(o + rotate(eX * (RWIDTH + BORDER) + eY * (TSIZE + RLENGTH + BORDER), ang), '0 0 0', '0 0 0', a); - R_PolygonVertex(o + rotate(eX * (RWIDTH + BORDER) + eY * (TSIZE + BORDER), ang), '0 0 0', '0 0 0', a); + R_PolygonVertex(o, '0 0 0', '0 0 0', a); + R_PolygonVertex(o + rotate(arrowY - borderX, ang), '0 0 0', '0 0 0', a); + R_PolygonVertex(o + rotate(borderY - borderX, ang), '0 0 0', '0 0 0', a); + R_PolygonVertex(o + rotate(borderY + borderX, ang), '0 0 0', '0 0 0', a); + R_PolygonVertex(o + rotate(arrowY + borderX, ang), '0 0 0', '0 0 0', a); R_EndPolygon(); R_BeginPolygon("", DRAWFLAG_ADDITIVE); - R_PolygonVertex(o + rotate(eX * -TSIZE + eY * TSIZE, ang), '0 0 0', rgb, a); - R_PolygonVertex(o + rotate(eX * TSIZE + eY * TSIZE, ang), '0 0 0', rgb, a); - R_PolygonVertex(o + rotate('0 0 0', ang), '0 0 0', rgb, a); - R_EndPolygon(); - R_BeginPolygon("", DRAWFLAG_ADDITIVE); - R_PolygonVertex(o + rotate(eX * -RWIDTH + eY * TSIZE, ang), '0 0 0', rgb, a); - R_PolygonVertex(o + rotate(eX * -RWIDTH + eY * (TSIZE + RLENGTH), ang), '0 0 0', rgb, a); - R_PolygonVertex(o + rotate(eX * RWIDTH + eY * (TSIZE + RLENGTH), ang), '0 0 0', rgb, a); - R_PolygonVertex(o + rotate(eX * RWIDTH + eY * TSIZE, ang), '0 0 0', rgb, a); + R_PolygonVertex(o + rotate(eY * borderDiag, ang), '0 0 0', rgb, a); + R_PolygonVertex(o + rotate(arrowY - arrowX, ang), '0 0 0', rgb, a); + R_PolygonVertex(o + rotate(arrowY + arrowX, ang), '0 0 0', rgb, a); R_EndPolygon(); - return - o + rotate(eY * (TSIZE + RLENGTH + MLENGTH), ang); + return o + rotate(eY * (borderDiag+size+margin), ang); } // returns location of sprite healthbar @@ -249,6 +241,7 @@ vector spritelookupcolor(string s, vector def) } string spritelookuptext(string s) { + if(substring(s, 0, 5) == "buff-") { return Buff_PrettyName(Buff_Type_FromSprite(s)); } switch(s) { case "as-push": return _("Push"); @@ -285,6 +278,7 @@ string spritelookuptext(string s) case "race-finish": return _("Finish"); case "race-start": return _("Start"); case "race-start-finish": return (race_checkpointtime || race_mycheckpointtime) ? _("Finish") : _("Start"); + case "goal": return _("Goal"); case "nb-ball": return _("Ball"); case "ka-ball": return _("Ball"); case "ka-ballcarrier": return _("Ball carrier"); @@ -316,7 +310,7 @@ string spritelookuptext(string s) case "item-shield": return _("Shield"); case "item-fuelregen": return _("Fuel regen"); case "item-jetpack": return _("Jet Pack"); - case "freezetag_frozen": return _("Frozen!"); + case "frozen": return _("Frozen!"); case "tagged-target": return _("Tagged"); case "vehicle": return _("Vehicle"); default: return s;