From f15733342cb6f1ee63a9b3894b0d8c1614e021d3 Mon Sep 17 00:00:00 2001 From: Lucas GAUTHERON Date: Sun, 23 Sep 2012 09:53:10 +0000 Subject: [PATCH] avoid command overwriting by the accuracy board git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6886 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/renderhud.cpp | 4 ++-- source/src/weapon.cpp | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/src/renderhud.cpp b/source/src/renderhud.cpp index fb378066..f1fb3c40 100644 --- a/source/src/renderhud.cpp +++ b/source/src/renderhud.cpp @@ -793,8 +793,8 @@ void gl_drawhud(int w, int h, int curfps, int nquads, int curvert, bool underwat glOrtho(0, VIRTW*2, VIRTH*2, 0, -1, 1); extern int tsens(int x); tsens(-2000); - extern void r_accuracy(); - if (!is_spect) r_accuracy(); + extern void r_accuracy(int h); + if (!is_spect) r_accuracy(commandh); if(!hideconsole) renderconsole(); formatstring(enginestateinfo)("%d %d %d %d %d", curfps, lod_factor(), nquads, curvert, xtraverts); if(showstats) diff --git a/source/src/weapon.cpp b/source/src/weapon.cpp index c033e320..e3fb290f 100644 --- a/source/src/weapon.cpp +++ b/source/src/weapon.cpp @@ -684,18 +684,18 @@ const char *weapstr(unsigned int i) VARP(accuracy,0,0,1); -void r_accuracy() +void r_accuracy(int h) { if(!accuracy) return; vector lines; - int rows=0, cols=0; - float x_offset = curfont->defaultw, y_offset = 3*VIRTH/2, spacing = curfont->defaultw*2; + int rows = 0, cols = 0; + float spacing = curfont->defaultw*2, x_offset = curfont->defaultw, y_offset = float(2*h) - 2*spacing; + loopi(NUMGUNS) if(i != GUN_CPISTOL && accuracym[i].shots) { - float acc; + float acc = 100.0f*accuracym[i].hits/(float)accuracym[i].shots; string line; rows++; - acc = 100.0f*accuracym[i].hits/(float)accuracym[i].shots; if(i == GUN_GRENADE || i == GUN_SHOTGUN) { formatstring(line)("\f5%5.1f%s (%.1f/%d) :\f0%s", acc, "%", accuracym[i].hits, (int)accuracym[i].shots, weapstr(i)); @@ -709,12 +709,12 @@ void r_accuracy() } if(rows<1) return; cols++; - blendbox(x_offset, y_offset, spacing+x_offset+curfont->defaultw*cols, spacing+y_offset+curfont->defaulth*rows, true, -1); + blendbox(x_offset, spacing+y_offset, spacing+x_offset+curfont->defaultw*cols, y_offset-curfont->defaulth*rows, true, -1); int x=0; loopv(lines) { char *line = lines[i]; - draw_textf(line,spacing*0.5+x_offset,spacing*0.5+y_offset+x*curfont->defaulth); + draw_textf(line,spacing*0.5+x_offset,y_offset-x*curfont->defaulth-0.5*spacing); x++; } }