From: Rudolf Polzer Date: Sun, 3 Oct 2010 16:36:29 +0000 (+0200) Subject: use one less poly X-Git-Tag: xonotic-v0.1.0preview~299^2~6 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=fb10ae43a94b9047a1e3fc3af3cfb173c8c1151c;p=xonotic%2Fxonotic-data.pk3dir.git use one less poly --- diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index be554c4f7..55c6dfecb 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -743,6 +743,17 @@ void CSQC_UpdateView(float w, float h) x0 = 1; y0 = 0; d = q - 1; + if(d > 0) + { + R_BeginPolygon("gfx/nex_ring.tga", DRAWFLAG_ADDITIVE); + v = ringorigin; t = '0.5 0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + + v = ringorigin; t = '0.5 0.5 0'; + v_x += x0 * 0.5 * ringsize_x; t += x0 * '0.5 0.5 0'; + v_y += y0 * 0.5 * ringsize_x; t += y0 * '0.5 -0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + } } else if(f > 0.75) { @@ -771,11 +782,12 @@ void CSQC_UpdateView(float w, float h) v = ringorigin; t = '0.5 0.5 0'; v_y -= 0.5 * ringsize_y; t -= '0.5 -0.5 0'; R_PolygonVertex(v, t, '1 1 1', 1); - R_EndPolygon(); x0 = 0; y0 = -1; d = q - 0.75; + if(d <= 0) + R_EndPolygon(); } else if(f > 0.5) { @@ -797,6 +809,17 @@ void CSQC_UpdateView(float w, float h) x0 = -1; y0 = 0; d = q - 0.5; + if(d > 0) + { + R_BeginPolygon("gfx/nex_ring.tga", DRAWFLAG_ADDITIVE); + v = ringorigin; t = '0.5 0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + + v = ringorigin; t = '0.5 0.5 0'; + v_x += x0 * 0.5 * ringsize_x; t += x0 * '0.5 0.5 0'; + v_y += y0 * 0.5 * ringsize_x; t += y0 * '0.5 -0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + } } else if(f > 0.25) { @@ -812,33 +835,37 @@ void CSQC_UpdateView(float w, float h) v = ringorigin; t = '0.5 0.5 0'; v_y += 0.5 * ringsize_y; t += '0.5 -0.5 0'; R_PolygonVertex(v, t, '1 1 1', 1); - R_EndPolygon(); x0 = 0; y0 = 1; d = q - 0.25; + if(d <= 0) + R_EndPolygon(); } else { x0 = 1; y0 = 0; + d = q; + if(d > 0) + { + R_BeginPolygon("gfx/nex_ring.tga", DRAWFLAG_ADDITIVE); + v = ringorigin; t = '0.5 0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + + v = ringorigin; t = '0.5 0.5 0'; + v_x += x0 * 0.5 * ringsize_x; t += x0 * '0.5 0.5 0'; + v_y += y0 * 0.5 * ringsize_x; t += y0 * '0.5 -0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); + } } - if(d >= 0) + if(d > 0) { - R_BeginPolygon("gfx/nex_ring.tga", DRAWFLAG_ADDITIVE); - v = ringorigin; t = '0.5 0.5 0'; - R_PolygonVertex(v, t, '1 1 1', 1); - - v = ringorigin; t = '0.5 0.5 0'; - v_x += x0 * 0.5 * ringsize_x; t += x0 * '0.5 0.5 0'; - v_y += y0 * 0.5 * ringsize_x; t += y0 * '0.5 -0.5 0'; - R_PolygonVertex(v, t, '1 1 1', 1); - - v = ringorigin; t = '0.5 0.5 0'; - v_x += x * 0.5 * ringsize_x; t += x * '0.5 0.5 0'; - v_y += y * 0.5 * ringsize_y; t += y * '0.5 -0.5 0'; - R_PolygonVertex(v, t, '1 1 1', 1); + v = ringorigin; t = '0.5 0.5 0'; + v_x += x * 0.5 * ringsize_x; t += x * '0.5 0.5 0'; + v_y += y * 0.5 * ringsize_y; t += y * '0.5 -0.5 0'; + R_PolygonVertex(v, t, '1 1 1', 1); R_EndPolygon(); } }