Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bvec chcolor(0, 255, 0);
- HVARF(crosshaircolor, 0, 0x00FF00, 0xFFFFFF,
- {
- if(crosshaircolor <= 255) crosshaircolor |= (crosshaircolor<<8) | (crosshaircolor<<16);
- chcolor = bvec((crosshaircolor>>16)&0xFF, (crosshaircolor>>8)&0xFF, crosshaircolor&0xFF);
- });
- void drawcrosshair(int w, int h)
- {
- bool windowhit = g3d_windowhit(true, false);
- if(!windowhit && (hidehud || mainmenu)) return;
- float cx = 0.5f, cy = 0.5f, chsize;
- float x,y;
- if(windowhit)
- {
- static Texture *cursor;
- if(!cursor) cursor = textureload("media/interface/guicursor.png", 3, true);
- chsize = cursorsize*w/1300.0f;
- g3d_cursorpos(cx, cy);
- x = cx*w - (windowhit ? 0 : chsize/2.0f);
- y = cy*h - (windowhit ? 0 : chsize/2.0f);
- if(cursor->bpp==4) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- else glBlendFunc(GL_ONE, GL_ONE);
- glColor3f(1, 1, 1);
- glBindTexture(GL_TEXTURE_2D, cursor->id);
- glBegin(GL_TRIANGLE_STRIP);
- glTexCoord2f(0, 0); glVertex2f(x, y);
- glTexCoord2f(1, 0); glVertex2f(x + chsize, y);
- glTexCoord2f(0, 1); glVertex2f(x, y + chsize);
- glTexCoord2f(1, 1); glVertex2f(x + chsize, y + chsize);
- glEnd();
- }else if(!game::showscoreboard){
- x = cx*w;
- y = cy*h;
- int s1 = 15, s2 = 5;
- glDisable(GL_BLEND);
- glDisable(GL_TEXTURE_2D);
- lineshader->set();
- glColor3ub(chcolor.r, chcolor.g, chcolor.b);
- if(crosshairtype <= 1){
- glLineWidth(2);
- glBegin(GL_LINES);
- glVertex2i(x-s1, y); glVertex2i(x-s2, y);
- glVertex2i(x, y-s1); glVertex2i(x, y-s2);
- glVertex2i(x+s1, y); glVertex2i(x+s2, y);
- glVertex2i(x, y+s1); glVertex2i(x, y+s2);
- glEnd();
- }
- if(crosshairtype == 1)
- glPointSize(2.0f);
- else if(crosshairtype == 2)
- glPointSize(4.0f);
- if(crosshairtype >= 1){
- glBegin(GL_POINTS);
- glVertex2f(x,y);
- glVertex2f(-x,-y);
- glEnd();
- }
- glLineWidth(1);
- }
- }
Add Comment
Please, Sign In to add comment