diff --git a/packages/misc/newchars.png b/packages/misc/chars.png similarity index 100% rename from packages/misc/newchars.png rename to packages/misc/chars.png diff --git a/packages/misc/radaroverlay.png b/packages/misc/radaroverlay.png index fc30640f..a31b5dc4 100644 Binary files a/packages/misc/radaroverlay.png and b/packages/misc/radaroverlay.png differ diff --git a/source/src/protos.h b/source/src/protos.h index 5da4d0c7..159441aa 100644 --- a/source/src/protos.h +++ b/source/src/protos.h @@ -48,7 +48,7 @@ extern void box(block &b, float z1, float z2, float z3, float z4); extern void dot(int x, int y, float z); extern void linestyle(float width, int r, int g, int b); extern void blendbox(int x1, int y1, int x2, int y2, bool border, int tex = -1); -extern void quad(GLuint tex, float x, float y, float s, float tx, float ty, float ts); +extern void quad(GLuint tex, float x, float y, float s, float tx, float ty, float tsx, float tsy = 0); extern void circle(GLuint tex, float x, float y, float r, float tx, float ty, float tr, int subdiv = 32); extern void gl_drawframe(int w, int h, float changelod, float curfps); extern void clearminimap(); diff --git a/source/src/rendergl.cpp b/source/src/rendergl.cpp index 8e069bb1..9bce1a3e 100644 --- a/source/src/rendergl.cpp +++ b/source/src/rendergl.cpp @@ -77,14 +77,15 @@ void box(block &b, float z1, float z2, float z3, float z4) xtraverts += 4; } -void quad(GLuint tex, float x, float y, float s, float tx, float ty, float ts) +void quad(GLuint tex, float x, float y, float s, float tx, float ty, float tsx, float tsy) { + if(!tsy) tsy = tsx; glBindTexture(GL_TEXTURE_2D, tex); glBegin(GL_QUADS); - glTexCoord2f(tx, ty); glVertex2f(x, y); - glTexCoord2f(tx+ts, ty); glVertex2f(x+s, y); - glTexCoord2f(tx+ts, ty+ts); glVertex2f(x+s, y+s); - glTexCoord2f(tx, ty+ts); glVertex2f(x, y+s); + glTexCoord2f(tx, ty); glVertex2f(x, y); + glTexCoord2f(tx+tsx, ty); glVertex2f(x+s, y); + glTexCoord2f(tx+tsx, ty+tsy); glVertex2f(x+s, y+s); + glTexCoord2f(tx, ty+tsy); glVertex2f(x, y+s); glEnd(); xtraverts += 4; } diff --git a/source/src/renderhud.cpp b/source/src/renderhud.cpp index 3e41fcb6..4ffa9b40 100644 --- a/source/src/renderhud.cpp +++ b/source/src/renderhud.cpp @@ -145,6 +145,8 @@ bool insideradar(const vec ¢erpos, float radius, const vec &o) return o.distxy(centerpos)<=radius; } +VAR(foop, 0, 10, 1000); + void drawradar(int w, int h) { vec center = showmap ? vec(ssize/2, ssize/2, 0) : player1->o; @@ -155,13 +157,14 @@ void drawradar(int w, int h) float radarsize = worldsize/res*radarviewsize; float iconsize = radarentsize/(float)res*radarviewsize; float coordtrans = radarsize/worldsize; + float overlaysize = radarviewsize*4.0f/3.25f; glPushMatrix(); if(showmap) glTranslatef(VIRTW/2-radarviewsize/2, 0, 0); else { - glTranslatef(VIRTW-radarviewsize-10+radarviewsize/2, 10+radarviewsize/2, 0); + glTranslatef(VIRTW-radarviewsize-(overlaysize-radarviewsize)/2-10+radarviewsize/2, 10+(overlaysize-radarviewsize)/2+radarviewsize/2, 0); glRotatef(-camera1->yaw, 0, 0, 1); glTranslatef(-radarviewsize/2, -radarviewsize/2, 0); } @@ -207,6 +210,17 @@ void drawradar(int w, int h) glEnable(GL_BLEND); glPopMatrix(); + + if(!showmap) + { + glDisable(GL_CULL_FACE); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glColor3f(1, 1, 1); + static Texture *overlaytex = NULL; + if(!overlaytex) overlaytex = textureload("packages/misc/radaroverlay.png", 3); + quad(overlaytex->id, VIRTW-overlaysize-10, 10, overlaysize, 0.5f*team_int(player1->team), 0, 0.5f, 1.0f); + glEnable(GL_CULL_FACE); + } } void gl_drawhud(int w, int h, int curfps, int nquads, int curvert, bool underwater) diff --git a/source/src/rendertext.cpp b/source/src/rendertext.cpp index e54e2eed..2c92320a 100644 --- a/source/src/rendertext.cpp +++ b/source/src/rendertext.cpp @@ -181,7 +181,7 @@ void draw_textf(const char *fstr, int left, int top, ...) void draw_text(const char *str, int left, int top) { static Texture *charstex = NULL; - if(!charstex) charstex = textureload("packages/misc/newchars.png"); + if(!charstex) charstex = textureload("packages/misc/chars.png"); glBlendFunc(GL_ONE, GL_ONE); glBindTexture(GL_TEXTURE_2D, charstex->id);